ท่อไซเลอร์ (Syler Pipe)
ภาพรวม
ท่อไซเลอร์ (Syler Pipe) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ ระบบดับเพลิงและสปริงเกลอร์ ท่อมีความทนทานสูง ทนแรงดันได้ถึง 50 บาร์
diff --git a/dist/terms-and-conditions/index.html b/dist/terms-and-conditions/index.html
index b3c317523..90536fc61 100644
--- a/dist/terms-and-conditions/index.html
+++ b/dist/terms-and-conditions/index.html
@@ -1,2 +1 @@
-
ข้อกำหนดการใช้งาน | ดีล พลัส เทค ข้อกำหนดและเงื่อนไข
Terms & Conditions
Version: 1.0.0 | 12 มีนาคม 2569
1. การยอมรับ
การใช้เว็บไซต์แสดงว่ายอมรับข้อกำหนดนี้
2. บริการ
จำหน่ายและให้คำปรึกษาเกี่ยวกับ:
- ท่อ PPR, ท่อ HDPE
- อุปกรณ์ระบบน้ำและ HVAC
- บริการหลังการขาย
3. ทรัพย์สินทางปัญญา
เนื้อหาทั้งหมดเป็นทรัพย์สินของบริษัทฯ ห้ามคัดลอกโดยไม่ได้รับอนุญาต
4. ข้อผูกพันผู้ใช้
- ใช้งานเพื่อวัตถุประสงค์ที่ชอบด้วยกฎหมาย
- ไม่ให้ข้อมูลที่เป็นเท็จ
- ไม่พยายามเข้าถึงระบบโดยไม่ได้รับอนุญาต
5. ข้อจำกัดความรับผิด
บริษัทฯ ไม่รับผิดชอบต่อความเสียหายใดๆ ที่เกิดจากการใช้เว็บไซต์
6. กฎหมายที่ใช้บังคับ
อยู่ภายใต้กฎหมายราชอาณาจักรไทย
7. ติดต่อ
บริษัท ดีล พลัส เทค จำกัด
อีเมล: info@dealplustech.co.th
โทร: 090-555-1415
\ No newline at end of file
+
ข้อกำหนดการใช้งาน | ดีล พลัส เทค ข้อกำหนดและเงื่อนไข
Terms & Conditions
Version: 1.0.0 | 12 มีนาคม 2569
1. การยอมรับ
การใช้เว็บไซต์แสดงว่ายอมรับข้อกำหนดนี้
2. บริการ
จำหน่ายและให้คำปรึกษาเกี่ยวกับ:
- ท่อ PPR, ท่อ HDPE
- อุปกรณ์ระบบน้ำและ HVAC
- บริการหลังการขาย
3. ทรัพย์สินทางปัญญา
เนื้อหาทั้งหมดเป็นทรัพย์สินของบริษัทฯ ห้ามคัดลอกโดยไม่ได้รับอนุญาต
4. ข้อผูกพันผู้ใช้
- ใช้งานเพื่อวัตถุประสงค์ที่ชอบด้วยกฎหมาย
- ไม่ให้ข้อมูลที่เป็นเท็จ
- ไม่พยายามเข้าถึงระบบโดยไม่ได้รับอนุญาต
5. ข้อจำกัดความรับผิด
บริษัทฯ ไม่รับผิดชอบต่อความเสียหายใดๆ ที่เกิดจากการใช้เว็บไซต์
6. กฎหมายที่ใช้บังคับ
อยู่ภายใต้กฎหมายราชอาณาจักรไทย
7. ติดต่อ
บริษัท ดีล พลัส เทค จำกัด
อีเมล: info@dealplustech.co.th
โทร: 090-555-1415
\ No newline at end of file
diff --git a/node_modules/.astro/data-store.json b/node_modules/.astro/data-store.json
index 67121d640..322183869 100644
--- a/node_modules/.astro/data-store.json
+++ b/node_modules/.astro/data-store.json
@@ -1 +1 @@
-[["Map",1,2,7,8,670,671],"meta::meta",["Map",3,4,5,6],"astro-version","5.18.0","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}","products",["Map",9,10,173,174,288,289,398,399,503,504,594,595],"ท่อhdpe",{"id":9,"data":11,"body":114,"filePath":115,"digest":116,"rendered":117,"legacyId":172},{"id":12,"name":13,"nameEn":14,"slug":9,"description":15,"shortDescription":16,"image":17,"keywords":18,"seoContent":33,"specifications":34,"features":70,"applications":81,"certifications":90,"faq":94,"relatedProductIds":107,"schemaData":110},"hdpe","ท่อ HDPE","HDPE Pipe","ท่อ HDPE PE80/PE100 ทนแรงดัน PN25 อายุการใช้งาน 50 ปี มอก. สำหรับประปาและชลประทาน","ท่อเอชดีพีอี PE80/PE100 มาตรฐาน มอก.","/images/2021/03/hdpe_welding2.jpg",[13,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"ท่อเอชดีพีอี","ท่อ PE","ท่อน้ำ HDPE","PE80","PE100","ท่อ PE100","ท่อ PE80","ท่อพีอี","High Density Polyethylene","ท่อชลประทาน","ท่อประปา HDPE","ท่อดำ PE","ท่อน้ำดำ","SDR pipe","ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อพลาสติกคุณภาพสูงที่มีความทนทานและยืดหยุ่นสูง ผลิตจากเม็ดพลาสติก HDPE เกรด PE80 และ PE100 ท่อ HDPE สามารถทนแรงดันได้สูงถึง PN25 บาร์",[35,38,41,44,48,51,55,59,62,66],{"label":36,"value":37},"วัสดุ","HDPE (High Density Polyethylene)",{"label":39,"value":40},"เกรด","PE80, PE100",{"label":42,"value":43},"มาตรฐาน","มอก. 827-2547, ISO 4427",{"label":45,"value":46,"unit":47},"แรงดันทนทาน","PN4 - PN25","bar",{"label":49,"value":50},"SDR","SDR 9, 11, 13.6, 17, 21, 26",{"label":52,"value":53,"unit":54},"อุณหภูมิทนทาน","-40 ถึง 60","°C",{"label":56,"value":57,"unit":58},"ขนาดท่อ","20, 32, 50, 63, 75, 90, 110, 160, 200, 250, 315, 400, 500, 630","mm",{"label":60,"value":61},"สี","ดำ, น้ำเงิน (Blue Stripe)",{"label":63,"value":64,"unit":65},"ความหนาแน่น","0.941-0.965","g/cm³",{"label":67,"value":68,"unit":69},"อายุการใช้งาน","50","ปี",[71,72,73,74,75,76,77,78,79,80],"ทนแรงดันสูงถึง PN25 บาร์","ทนทานต่อแรงกระแทกและการกัดกร่อน","ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน","ไม่เกิดสนิม ไม่เปรอะเปื้อน","น้ำหนักเบา ขนส่งและติดตั้งง่าย","รอยต่อแน่นหนาด้วย Butt Fusion","ทนทานต่อสารเคมีและกรดด่าง","อายุการใช้งานยาวนาน 50 ปี","ผ่านมาตรฐาน มอก. 827-2547","เหมาะสำหรับงานฝังดิน",[82,83,84,85,86,87,88,89],"ระบบประปา","ระบบชลประทาน","ระบบน้ำเสีย","ท่อส่งก๊าซ","งานอุตสาหกรรม","ท่อส่งสารเคมี","ระบบระบายน้ำ","งานเหมืองแร่",[91,92,93],"มอก. 827-2547","ISO 4427","ISO 9001",[95,98,101,104],{"question":96,"answer":97},"ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?","ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa ทำให้ PE100 สามารถทนแรงดันสูงกว่าในขนาดผนังที่เท่ากัน",{"question":99,"answer":100},"ท่อ HDPE มีอายุการใช้งานกี่ปี?","ท่อ HDPE มีอายุการใช้งานยาวนานกว่า 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":102,"answer":103},"วิธีติดตั้งท่อ HDPE ทำอย่างไร?","ท่อ HDPE ติดตั้งโดยใช้วิธี Butt Fusion (เชื่อมปลายต่อ) หรือ Electrofusion (เชื่อมด้วยไฟฟ้า) โดยใช้อุปกรณ์เชื่อมท่อ HDPE เฉพาะทาง",{"question":105,"answer":106},"SDR ในท่อ HDPE คืออะไร?","SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า ทนแรงดันได้สูงกว่า",[108,109],"hdpe-welder","ppr-elephant",{"brand":111,"material":112,"category":113},"Thai HDPE","High Density Polyethylene (HDPE)","Water Pipe - HDPE","# ท่อ HDPE (High Density Polyethylene)\n\n## ภาพรวม\n\nท่อ HDPE (High Density Polyethylene) หรือ **ท่อเอชดีพีอี** เป็นท่อพลาสติกคุณภาพสูงที่มีความ **ทนทานและยืดหยุ่นสูง** ผลิตจากเม็ดพลาสติก HDPE เกรด **PE80 และ PE100**\n\n## คุณสมบัติเด่น\n\nท่อ HDPE สามารถทนแรงดันได้สูงถึง **PN25 บาร์** ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า **50 ปี**\n\n### ข้อดีของท่อ HDPE\n\n1. **ทนแรงดันสูง** - สูงถึง PN25 บาร์\n2. **ทนแรงกระแทก** - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\n3. **ไม่เกิดสนิม** - ทนสารเคมีและกรดด่าง\n4. **น้ำหนักเบา** - ขนส่งและติดตั้งง่าย\n5. **รอยต่อแน่นหนา** - ระบบ Butt Fusion ไม่รั่วซึม\n6. **อายุการใช้งานยาว** - มากกว่า 50 ปี\n7. **มาตรฐาน มอก.** - รับรองคุณภาพ\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบประปา** - งานผลิตน้ำประปา\n- **ระบบชลประทาน** - ส่งน้ำทางการเกษตร\n- **ระบบน้ำเสีย** - ท่อระบายน้ำ\n- **ท่อส่งก๊าซ** - ท่อส่งก๊าซธรรมชาติ\n- **งานอุตสาหกรรม** - ท่อส่งสารเคมี\n- **ระบบระบายน้ำ** - งานเทศบาลและเมือง\n\n## มาตรฐานและรับรอง\n\nท่อ HDPE ผ่านมาตรฐาน:\n\n- ✅ **มอก. 827-2547** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n- ✅ **ISO 4427** - มาตรฐานสากล\n- ✅ **ISO 9001** - ระบบบริหารคุณภาพ\n\n## เกรดของท่อ HDPE\n\n### PE80 vs PE100\n\n| คุณสมบัติ | PE80 | PE100 |\n|-----------|------|-------|\n| **MRS** | 8 MPa | 10 MPa |\n| **ทนแรงดัน** | สูง | สูงกว่า |\n| **ราคา** | ประหยัด | สูงกว่า |\n| **การใช้งาน** | ทั่วไป | แรงดันสูง |\n\n## SDR (Standard Dimension Ratio)\n\n**SDR** คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\n\n- **SDR น้อย** = ผนังหนา = ทนแรงดันสูง\n- **SDR มาก** = ผนังบาง = ทนแรงดันต่ำ\n\nตัวอย่าง:\n- SDR 9 = ทนแรงดันสูงสุด\n- SDR 11 = ทนแรงดันสูง\n- SDR 17 = ทนแรงดันปานกลาง\n- SDR 26 = ทนแรงดันต่ำ\n\n## การติดตั้ง\n\n### วิธี Butt Fusion\n- เหมาะสำหรับท่อ **63-1200 mm**\n- ใช้ความร้อนหลอมปลายท่อ\n- กดต่อกันจนเป็นชิ้นเดียว\n\n### วิธี Electrofusion\n- เหมาะสำหรับท่อ **20-630 mm**\n- ใช้ข้อต่อที่มีขดลวดความร้อน\n- สะดวกในพื้นที่จำกัด\n\n## คำถามที่พบบ่อย\n\n### ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\n\nท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\n\n### ท่อ HDPE มีอายุการใช้งานกี่ปี?\n\nท่อ HDPE มีอายุการใช้งานยาวนานกว่า **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### วิธีติดตั้งท่อ HDPE ทำอย่างไร?\n\nท่อ HDPE ติดตั้งโดยใช้วิธี **Butt Fusion** (เชื่อมปลายต่อ) หรือ **Electrofusion** (เชื่อมด้วยไฟฟ้า)\n\n### SDR ในท่อ HDPE คืออะไร?\n\nSDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\n\n## สินค้าที่เกี่ยวข้อง\n\n- [เครื่องเชื่อม HDPE](/เครื่องเชื่อม-hdpe/)\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)","src/content/products/hdpe.md","a3244742bb928e97",{"html":118,"metadata":119},"\u003Ch1 id=\"ท่อ-hdpe-high-density-polyethylene\">ท่อ HDPE (High Density Polyethylene)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือ \u003Cstrong>ท่อเอชดีพีอี\u003C/strong> เป็นท่อพลาสติกคุณภาพสูงที่มีความ \u003Cstrong>ทนทานและยืดหยุ่นสูง\u003C/strong> ผลิตจากเม็ดพลาสติก HDPE เกรด \u003Cstrong>PE80 และ PE100\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ HDPE สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25 บาร์\u003C/strong> ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง PN25 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงกระแทก\u003C/strong> - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ทนสารเคมีและกรดด่าง\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งง่าย\u003C/li>\n\u003Cli>\u003Cstrong>รอยต่อแน่นหนา\u003C/strong> - ระบบ Butt Fusion ไม่รั่วซึม\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - มากกว่า 50 ปี\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบประปา\u003C/strong> - งานผลิตน้ำประปา\u003C/li>\n\u003Cli>\u003Cstrong>ระบบชลประทาน\u003C/strong> - ส่งน้ำทางการเกษตร\u003C/li>\n\u003Cli>\u003Cstrong>ระบบน้ำเสีย\u003C/strong> - ท่อระบายน้ำ\u003C/li>\n\u003Cli>\u003Cstrong>ท่อส่งก๊าซ\u003C/strong> - ท่อส่งก๊าซธรรมชาติ\u003C/li>\n\u003Cli>\u003Cstrong>งานอุตสาหกรรม\u003C/strong> - ท่อส่งสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำ\u003C/strong> - งานเทศบาลและเมือง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ HDPE ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 827-2547\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 4427\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 9001\u003C/strong> - ระบบบริหารคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80-vs-pe100\">PE80 vs PE100\u003C/h3>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>คุณสมบัติ\u003C/th>\u003Cth>PE80\u003C/th>\u003Cth>PE100\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>MRS\u003C/strong>\u003C/td>\u003Ctd>8 MPa\u003C/td>\u003Ctd>10 MPa\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ทนแรงดัน\u003C/strong>\u003C/td>\u003Ctd>สูง\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ราคา\u003C/strong>\u003C/td>\u003Ctd>ประหยัด\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>การใช้งาน\u003C/strong>\u003C/td>\u003Ctd>ทั่วไป\u003C/td>\u003Ctd>แรงดันสูง\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"sdr-standard-dimension-ratio\">SDR (Standard Dimension Ratio)\u003C/h2>\n\u003Cp>\u003Cstrong>SDR\u003C/strong> คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>SDR น้อย\u003C/strong> = ผนังหนา = ทนแรงดันสูง\u003C/li>\n\u003Cli>\u003Cstrong>SDR มาก\u003C/strong> = ผนังบาง = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Cp>ตัวอย่าง:\u003C/p>\n\u003Cul>\n\u003Cli>SDR 9 = ทนแรงดันสูงสุด\u003C/li>\n\u003Cli>SDR 11 = ทนแรงดันสูง\u003C/li>\n\u003Cli>SDR 17 = ทนแรงดันปานกลาง\u003C/li>\n\u003Cli>SDR 26 = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>63-1200 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ความร้อนหลอมปลายท่อ\u003C/li>\n\u003Cli>กดต่อกันจนเป็นชิ้นเดียว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>20-630 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ข้อต่อที่มีขดลวดความร้อน\u003C/li>\n\u003Cli>สะดวกในพื้นที่จำกัด\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร\">ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\u003C/p>\n\u003Ch3 id=\"ท่อ-hdpe-มีอายุการใช้งานกี่ปี\">ท่อ HDPE มีอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร\">วิธีติดตั้งท่อ HDPE ทำอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE ติดตั้งโดยใช้วิธี \u003Cstrong>Butt Fusion\u003C/strong> (เชื่อมปลายต่อ) หรือ \u003Cstrong>Electrofusion\u003C/strong> (เชื่อมด้วยไฟฟ้า)\u003C/p>\n\u003Ch3 id=\"sdr-ในท่อ-hdpe-คืออะไร\">SDR ในท่อ HDPE คืออะไร?\u003C/h3>\n\u003Cp>SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1-hdpe/\">เครื่องเชื่อม HDPE\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":120,"localImagePaths":169,"remoteImagePaths":170,"frontmatter":11,"imagePaths":171},[121,125,128,130,134,136,138,140,143,146,149,151,154,157,159,161,163,165,167],{"depth":122,"slug":123,"text":124},1,"ท่อ-hdpe-high-density-polyethylene","ท่อ HDPE (High Density Polyethylene)",{"depth":126,"slug":127,"text":127},2,"ภาพรวม",{"depth":126,"slug":129,"text":129},"คุณสมบัติเด่น",{"depth":131,"slug":132,"text":133},3,"ข้อดีของท่อ-hdpe","ข้อดีของท่อ HDPE",{"depth":126,"slug":135,"text":135},"การใช้งาน",{"depth":131,"slug":137,"text":137},"เหมาะสำหรับ",{"depth":126,"slug":139,"text":139},"มาตรฐานและรับรอง",{"depth":126,"slug":141,"text":142},"เกรดของท่อ-hdpe","เกรดของท่อ HDPE",{"depth":131,"slug":144,"text":145},"pe80-vs-pe100","PE80 vs PE100",{"depth":126,"slug":147,"text":148},"sdr-standard-dimension-ratio","SDR (Standard Dimension Ratio)",{"depth":126,"slug":150,"text":150},"การติดตั้ง",{"depth":131,"slug":152,"text":153},"วิธี-butt-fusion","วิธี Butt Fusion",{"depth":131,"slug":155,"text":156},"วิธี-electrofusion","วิธี Electrofusion",{"depth":126,"slug":158,"text":158},"คำถามที่พบบ่อย",{"depth":131,"slug":160,"text":96},"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร",{"depth":131,"slug":162,"text":99},"ท่อ-hdpe-มีอายุการใช้งานกี่ปี",{"depth":131,"slug":164,"text":102},"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร",{"depth":131,"slug":166,"text":105},"sdr-ในท่อ-hdpe-คืออะไร",{"depth":126,"slug":168,"text":168},"สินค้าที่เกี่ยวข้อง",[],[],[],"hdpe.md","pp-r-pp-rct-poloplast",{"id":173,"data":175,"body":256,"filePath":257,"digest":258,"rendered":259,"legacyId":287},{"id":176,"name":177,"nameEn":178,"slug":173,"description":179,"shortDescription":180,"image":181,"keywords":182,"seoContent":194,"specifications":195,"features":216,"applications":227,"certifications":235,"faq":239,"relatedProductIds":249,"schemaData":252},"poloplast","ท่อ PP-R/PP-RCT POLOPLAST","POLOPLAST PP-R Pipe","ท่อพีพีอาร์ POLOPLAST จากเยอรมนี มาตรฐาน DVGW และ SKZ ทนอุณหภูมิ 95°C รับประกัน 10 ปี","ท่อ PP-R/PP-RCT POLOPLAST คุณภาพเยอรมัน","/images/2021/03/hdpe001.jpg",[183,184,185,186,187,188,189,190,191,192,193],"POLOPLAST","ท่อเยอรมัน","PP-RCT","ท่อพีพีอาร์เกรดสูง","ท่อ POLOPLAST","ท่อ PP-R เยอรมัน","ท่อน้ำร้อนเยอรมัน","DVGW","SKZ","ท่อ PP-RCT","Poloplast Thailand","ท่อพีพีอาร์ POLOPLAST เป็นผลิตภัณฑ์ระดับพรีเมียมจากเยอรมนี มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล มีความทนทานสูงสุด ทนอุณหภูมิได้ถึง 95°C และทนแรงดันสูง รับประกันคุณภาพ 10 ปี",[196,198,200,202,204,206,210,212,213],{"label":36,"value":197},"PP-R / PP-RCT (Polypropylene Random Copolymer)",{"label":42,"value":199},"DIN 8077/8078, ISO 15874, DVGW, SKZ",{"label":45,"value":201,"unit":47},"PN10, PN16, PN20, PN25",{"label":52,"value":203,"unit":54},"-20 ถึง 95",{"label":56,"value":205,"unit":58},"20, 25, 32, 40, 50, 63, 75, 90, 110, 125, 160",{"label":207,"value":208,"unit":209},"ค่าสัมประสิทธิ์การนำความร้อน","0.15","W/mK",{"label":60,"value":211},"ขาว, เขียว, ส้ม",{"label":67,"value":68,"unit":69},{"label":214,"value":215,"unit":69},"รับประกัน","10",[217,218,219,220,221,222,223,224,225,226],"ผลิตในเยอรมนี คุณภาพระดับพรีเมียม","มาตรฐาน DVGW และ SKZ ระดับสากล","ทนอุณหภูมิสูงสุด 95°C","ทนแรงดันสูงถึง PN25","ค่านำความร้อนต่ำ 0.15 W/mK","ฉนวนความร้อนยอดเยี่ยม","ไม่เกิดสนิมและการกัดกร่อน","อายุการใช้งาน 50 ปี","รับประกัน 10 ปี","เหมาะสำหรับงานที่ต้องการคุณภาพสูงสุด",[228,229,230,231,232,233,234],"ระบบประปาน้ำร้อนอุณหภูมิสูง","ระบบทำความร้อน (Heating)","ระบบแอร์แช่ (Chilled Water)","โรงแรม 5 ดาว","โรงพยาบาลและศูนย์การแพทย์","โครงการระดับพรีเมียม","โรงงานอุตสาหกรรม",[236,237,190,191,238],"DIN 8077/8078","ISO 15874","Hygienic Certificate",[240,243,246],{"question":241,"answer":242},"ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?","ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป",{"question":244,"answer":245},"PP-RCT คืออะไร?","PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25",{"question":247,"answer":248},"ท่อ POLOPLAST รับประกันกี่ปี?","ท่อ POLOPLAST มีการรับประกันคุณภาพ 10 ปี สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์",[109,250,251],"thai-ppr","ppr-welder",{"brand":183,"manufacturer":253,"material":254,"category":255},"POLOPLAST GmbH (Germany)","PP-R / PP-RCT","Plumbing Pipe - Premium PPR","# ท่อ PP-R/PP-RCT POLOPLAST\n\n## ภาพรวม\n\nท่อพีพีอาร์ **POLOPLAST** เป็นผลิตภัณฑ์ **ระดับพรีเมียมจากเยอรมนี** มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\n\n## คุณสมบัติเด่น\n\nมีความทนทานสูงสุด **ทนอุณหภูมิได้ถึง 95°C** และ **ทนแรงดันสูงถึง PN25** รับประกันคุณภาพ **10 ปี**\n\n### ข้อดีของท่อ POLOPLAST\n\n1. **ผลิตในเยอรมนี** - คุณภาพระดับพรีเมียม\n2. **มาตรฐานสูงสุด** - DVGW และ SKZ\n3. **ทนแรงดัน PN25** - สูงที่สุดในตลาด\n4. **ฉนวนความร้อนดีเยี่ยม** - ค่าการนำความร้อน 0.15 W/mK\n5. **ทนอุณหภูมิ 95°C** - เหมาะกับน้ำร้อนอุณหภูมิสูง\n6. **รับประกัน 10 ปี** - มั่นใจในคุณภาพ\n7. **อายุการใช้งาน 50 ปี** - ลงทุนครั้งเดียว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาน้ำร้อนอุณหภูมิสูง\n- ระบบทำความร้อน (Heating)\n- ระบบแอร์แช่ (Chilled Water)\n- **โรงแรม 5 ดาว**\n- **โรงพยาบาลและศูนย์การแพทย์**\n- **โครงการระดับพรีเมียม**\n- โรงงานอุตสาหกรรม\n\n## มาตรฐานและรับรอง\n\nท่อ POLOPLAST ได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **DVGW** - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\n- ✅ **SKZ** - ศูนย์เซาท์เยอรมันพลาสติก\n- ✅ **Hygienic Certificate** - รับรองความปลอดภัยน้ำดื่ม\n\n## PP-RCT Technology\n\n**PP-RCT** (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง **PN25**\n\n## คำถามที่พบบ่อย\n\n### ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\n\nท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\n\n### PP-RCT คืออะไร?\n\nPP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\n\n### ท่อ POLOPLAST รับประกันกี่ปี?\n\nท่อ POLOPLAST มีการรับประกันคุณภาพ **10 ปี** สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/poloplast.md","056107deaa777cd1",{"html":260,"metadata":261},"\u003Ch1 id=\"ท่อ-pp-rpp-rct-poloplast\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ \u003Cstrong>POLOPLAST\u003C/strong> เป็นผลิตภัณฑ์ \u003Cstrong>ระดับพรีเมียมจากเยอรมนี\u003C/strong> มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>มีความทนทานสูงสุด \u003Cstrong>ทนอุณหภูมิได้ถึง 95°C\u003C/strong> และ \u003Cstrong>ทนแรงดันสูงถึง PN25\u003C/strong> รับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-poloplast\">ข้อดีของท่อ POLOPLAST\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในเยอรมนี\u003C/strong> - คุณภาพระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสูงสุด\u003C/strong> - DVGW และ SKZ\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน PN25\u003C/strong> - สูงที่สุดในตลาด\u003C/li>\n\u003Cli>\u003Cstrong>ฉนวนความร้อนดีเยี่ยม\u003C/strong> - ค่าการนำความร้อน 0.15 W/mK\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ 95°C\u003C/strong> - เหมาะกับน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>\u003Cstrong>รับประกัน 10 ปี\u003C/strong> - มั่นใจในคุณภาพ\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งาน 50 ปี\u003C/strong> - ลงทุนครั้งเดียว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating)\u003C/li>\n\u003Cli>ระบบแอร์แช่ (Chilled Water)\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรม 5 ดาว\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาลและศูนย์การแพทย์\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โครงการระดับพรีเมียม\u003C/strong>\u003C/li>\n\u003Cli>โรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ POLOPLAST ได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>DVGW\u003C/strong> - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>SKZ\u003C/strong> - ศูนย์เซาท์เยอรมันพลาสติก\u003C/li>\n\u003Cli>✅ \u003Cstrong>Hygienic Certificate\u003C/strong> - รับรองความปลอดภัยน้ำดื่ม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"pp-rct-technology\">PP-RCT Technology\u003C/h2>\n\u003Cp>\u003Cstrong>PP-RCT\u003C/strong> (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร\">ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\u003C/p>\n\u003Ch3 id=\"pp-rct-คืออะไร\">PP-RCT คืออะไร?\u003C/h3>\n\u003Cp>PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\u003C/p>\n\u003Ch3 id=\"ท่อ-poloplast-รับประกันกี่ปี\">ท่อ POLOPLAST รับประกันกี่ปี?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST มีการรับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong> สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":262,"localImagePaths":284,"remoteImagePaths":285,"frontmatter":175,"imagePaths":286},[263,265,266,267,270,271,272,273,276,277,279,281,283],{"depth":122,"slug":264,"text":177},"ท่อ-pp-rpp-rct-poloplast",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":268,"text":269},"ข้อดีของท่อ-poloplast","ข้อดีของท่อ POLOPLAST",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":274,"text":275},"pp-rct-technology","PP-RCT Technology",{"depth":126,"slug":158,"text":158},{"depth":131,"slug":278,"text":241},"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร",{"depth":131,"slug":280,"text":244},"pp-rct-คืออะไร",{"depth":131,"slug":282,"text":247},"ท่อ-poloplast-รับประกันกี่ปี",{"depth":126,"slug":168,"text":168},[],[],[],"poloplast.md","ท่อพีพีอาร์ตราช้าง",{"id":288,"data":290,"body":363,"filePath":364,"digest":365,"rendered":366,"legacyId":397},{"id":109,"name":288,"nameEn":291,"slug":288,"description":292,"shortDescription":293,"image":294,"seoContent":295,"keywords":296,"specifications":305,"features":321,"applications":330,"certifications":338,"faq":341,"relatedProductIds":357,"schemaData":358},"PPR Elephant Pipe","ท่อพีพีอาร์ตราช้าง (SCG) คุณภาพระดับสากล ทนอุณหภูมิสูง 95°C ทนความดัน 20 บาร์ อายุการใช้งาน 50 ปี","ท่อพีพีอาร์ตราช้าง SCG มาตรฐาน DIN 8077/8078","/images/2021/03/hdpe_pipe_main.jpg","ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท Polypropylene Random Copolymer (PP-R) ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล",[297,298,299,300,301,302,303,304],"ท่อ PPR","ท่อพีพีอาร์","ท่อน้ำ PPR","ท่อประปา PPR","ราคาท่อ PPR","ท่อตราช้าง","SCG PPR","ท่อ PPR SCG",[306,308,310,312,313,315,318,320],{"label":36,"value":307},"PP-R (Polypropylene Random Copolymer)",{"label":42,"value":309},"DIN 8077/8078, ISO 15874",{"label":45,"value":311,"unit":47},"PN10, PN16, PN20",{"label":52,"value":203,"unit":54},{"label":56,"value":314,"unit":58},"20, 25, 32, 40, 50, 63, 75, 90, 110",{"label":316,"value":317},"ความหนาผนัง","SDR 7.4, 11, 17.6",{"label":60,"value":319},"ขาว, เขียว",{"label":67,"value":68,"unit":69},[322,323,223,324,325,326,327,78,328,329],"ทนอุณหภูมิสูงสุด 95°C เหมาะกับน้ำร้อน","ทนความดัน PN20 (20 บาร์)","ผิวภายในเรียบลดการสะสมของตะกรัน","ติดตั้งด้วยการเชื่อมความร้อน ไม่ต้องใช้กาว","ปลอดภัยสำหรับน้ำดื่ม ไม่ปนเปื้อนสารพิษ","ฉนวนความร้อนดี ลดการสูญเสียความร้อน","บำรุงรักษาต่ำ ไม่ต้องทาสี","น้ำหนักเบา ติดตั้งง่าย",[331,332,229,333,334,335,336,337,234],"ระบบประปาน้ำร้อน","ระบบประปาน้ำเย็น","ระบบน้ำแรงดันสูง","โรงแรมและรีสอร์ท","โรงพยาบาลและสถานพยาบาล","อาคารพาณิชย์และสำนักงาน","โครงการบ้านจัดสรร",[236,237,339,340],"มอก. 248-2549","SCG Quality Certified",[342,345,348,351,354],{"question":343,"answer":344},"ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?","ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด 95°C ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน",{"question":346,"answer":347},"ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?","ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":349,"answer":350},"ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?","ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า",{"question":352,"answer":353},"วิธีติดตั้งท่อ PPR ตราช้างทำอย่างไร?","ติดตั้งโดยใช้เครื่องเชื่อมท่อ PPR อุณหภูมิ 260°C โดยเชื่อมท่อกับข้อต่อด้วยความร้อนจนกลายเป็นชิ้นเดียวกัน",{"question":355,"answer":356},"ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?","ได้ ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ",[250,176,251],{"brand":359,"manufacturer":360,"material":361,"category":362},"SCG Elephant","SCG Chemicals","Polypropylene Random Copolymer (PP-R)","Plumbing Pipe - PPR","# ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\n\n## ภาพรวม\n\nท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท **Polypropylene Random Copolymer (PP-R)** ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\n\n## คุณสมบัติเด่น\n\nท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด **95°C** และทนความดันได้ถึง **20 บาร์ (PN20)** เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\n\n### ข้อดีของท่อ PPR ตราช้าง\n\n1. **ทนความร้อนสูง** - ใช้งานกับน้ำร้อนได้ถึง 95°C\n2. **ทนแรงดัน** - รับแรงดันได้สูงสุด 20 บาร์\n3. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n4. **ผิวเรียบ** - ลดการสะสมของตะกรันในท่อ\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\n7. **อายุยาวนาน** - ใช้งานได้นาน 50 ปี\n\n## การใช้งาน\n\n### เหมาะสำหรัก\n\n- ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\n- ระบบน้ำเย็นในอาคารพาณิชย์\n- ระบบทำความร้อน (Heating System)\n- ระบบน้ำแรงดันสูงในโรงงาน\n- โรงพยาบาลและสถานพยาบาล\n- โครงการบ้านจัดสรร\n\n## มาตรฐานและรับรอง\n\nท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\n- ✅ **SCG Quality Certified** - รับรองคุณภาพโดย SCG\n\n## วิธีการติดตั้ง\n\nการติดตั้งท่อ PPR ตราช้างใช้ระบบ **เชื่อมความร้อน (Heat Fusion)**:\n\n1. ตั้งเครื่องเชื่อมที่อุณหภูมิ **260°C**\n2. เสียบท่อและข้อต่อเข้าในแม่พิมพ์\n3. รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\n4. ดึงออกและเชื่อมท่อกับข้อต่อทันที\n5. รอให้เย็นตัว (ประมาณ 2-3 นาที)\n\n## คำถามที่พบบ่อย\n\n### ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\n\nท่อ PPR ตราช้างทนอุณหภูมิสูงสุด **95°C** ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\n\n### ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\n\nท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\n\nท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\n\n### ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\n\n**ได้** ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/ppr-elephant.md","04a2bb1fd366b429",{"html":367,"metadata":368},"\u003Ch1 id=\"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe\">ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท \u003Cstrong>Polypropylene Random Copolymer (PP-R)\u003C/strong> ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> และทนความดันได้ถึง \u003Cstrong>20 บาร์ (PN20)\u003C/strong> เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-ppr-ตราช้าง\">ข้อดีของท่อ PPR ตราช้าง\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนความร้อนสูง\u003C/strong> - ใช้งานกับน้ำร้อนได้ถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน\u003C/strong> - รับแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ผิวเรียบ\u003C/strong> - ลดการสะสมของตะกรันในท่อ\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\u003C/li>\n\u003Cli>\u003Cstrong>อายุยาวนาน\u003C/strong> - ใช้งานได้นาน 50 ปี\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรัก\">เหมาะสำหรัก\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\u003C/li>\n\u003Cli>ระบบน้ำเย็นในอาคารพาณิชย์\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating System)\u003C/li>\n\u003Cli>ระบบน้ำแรงดันสูงในโรงงาน\u003C/li>\n\u003Cli>โรงพยาบาลและสถานพยาบาล\u003C/li>\n\u003Cli>โครงการบ้านจัดสรร\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\u003C/li>\n\u003Cli>✅ \u003Cstrong>SCG Quality Certified\u003C/strong> - รับรองคุณภาพโดย SCG\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"วิธีการติดตั้ง\">วิธีการติดตั้ง\u003C/h2>\n\u003Cp>การติดตั้งท่อ PPR ตราช้างใช้ระบบ \u003Cstrong>เชื่อมความร้อน (Heat Fusion)\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>ตั้งเครื่องเชื่อมที่อุณหภูมิ \u003Cstrong>260°C\u003C/strong>\u003C/li>\n\u003Cli>เสียบท่อและข้อต่อเข้าในแม่พิมพ์\u003C/li>\n\u003Cli>รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\u003C/li>\n\u003Cli>ดึงออกและเชื่อมท่อกับข้อต่อทันที\u003C/li>\n\u003Cli>รอให้เย็นตัว (ประมาณ 2-3 นาที)\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร\">ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี\">ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร\">ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\u003C/h3>\n\u003Cp>ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่\">ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\u003C/h3>\n\u003Cp>\u003Cstrong>ได้\u003C/strong> ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":369,"localImagePaths":394,"remoteImagePaths":395,"frontmatter":290,"imagePaths":396},[370,373,374,375,378,379,381,382,384,385,387,389,391,393],{"depth":122,"slug":371,"text":372},"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe","ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":376,"text":377},"ข้อดีของท่อ-ppr-ตราช้าง","ข้อดีของท่อ PPR ตราช้าง",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":380,"text":380},"เหมาะสำหรัก",{"depth":126,"slug":139,"text":139},{"depth":126,"slug":383,"text":383},"วิธีการติดตั้ง",{"depth":126,"slug":158,"text":158},{"depth":131,"slug":386,"text":343},"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร",{"depth":131,"slug":388,"text":346},"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี",{"depth":131,"slug":390,"text":349},"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร",{"depth":131,"slug":392,"text":355},"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่",{"depth":126,"slug":168,"text":168},[],[],[],"ppr-elephant.md","ท่อระบายน้ำ-3-ชั้น-ไซเลนท",{"id":398,"data":400,"body":469,"filePath":470,"digest":471,"rendered":472,"legacyId":502},{"id":401,"name":402,"nameEn":403,"slug":398,"description":404,"shortDescription":405,"image":406,"keywords":407,"seoContent":419,"specifications":420,"features":438,"applications":446,"certifications":451,"faq":455,"relatedProductIds":462,"schemaData":464},"xylent","ท่อระบายน้ำ 3 ชั้น ไซเลนท์","XYLENT Silent Pipe","ท่อระบายน้ำ XYLENT 3 ชั้น ลดเสียง 22dB ระบบ Push Fit ติดตั้งง่าย จาก Poloplast ยุโรป","ท่อระบายน้ำไซเลนท์ 22dB Push Fit","/images/2021/03/hdpe_product.jpg",[408,409,410,411,412,413,414,415,416,417,418],"ท่อ XYLENT","22 dB","ท่อระบายน้ำ 3 ชั้น","ท่อไซเลนท์","silent pipe","ท่อลดเสียง","Push Fit pipe","ท่อระบายน้ำไซเลนท์","Poloplast","ท่อ PP","ท่อระบายน้ำอาคาร","ท่อระบายน้ำ XYLENT เป็นท่อระบายน้ำระดับพรีเมียมจาก Poloplast ประเทศออสเตรีย มีโครงสร้าง 3 ชั้น (Triple Layer) ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ระบบ Push Fit ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ",[421,423,425,429,430,432,435,437],{"label":36,"value":422},"PP (Polypropylene) 3 ชั้น",{"label":42,"value":424},"EN 1451, DIN 19560",{"label":426,"value":427,"unit":428},"การลดเสียง","22","dB",{"label":52,"value":203,"unit":54},{"label":56,"value":431,"unit":58},"32, 40, 50, 75, 90, 110, 125, 160",{"label":433,"value":434},"ระบบติดตั้ง","Push Fit (Push-Fit)",{"label":60,"value":436},"เทาอ่อน",{"label":67,"value":68,"unit":69},[439,440,441,442,443,444,445,224],"ลดเสียงรบกวน 22 dB","โครงสร้าง 3 ชั้น (Triple Layer)","ระบบ Push Fit ติดตั้งง่าย","ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ","ผลิตในออสเตรีย คุณภาพยุโรป","ทนอุณหภูมิสูง 95°C","ไม่แตกหักง่าย",[447,334,448,449,450],"ระบบระบายน้ำอาคาร","โรงพยาบาล","อาคารพักอาศัยระดับสูง","อาคารสำนักงาน",[452,453,454],"EN 1451","DIN 19560","DIBt Approved",[456,459],{"question":457,"answer":458},"ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?","ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ",{"question":460,"answer":461},"ระบบ Push Fit คืออะไร?","ระบบ Push Fit เป็นระบบติดตั้งที่ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว",[176,463],"upvc",{"brand":465,"manufacturer":466,"material":467,"category":468},"XYLENT by Poloplast","Poloplast (Austria)","Polypropylene (PP) - Triple Layer","Drainage Pipe - Silent","# ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\n\n## ภาพรวม\n\nท่อระบายน้ำ **XYLENT** เป็นท่อระบายน้ำระดับพรีเมียมจาก **Poloplast ประเทศออสเตรีย** มีโครงสร้าง **3 ชั้น (Triple Layer)** ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล**\n\n## คุณสมบัติเด่น\n\nระบบ **Push Fit** ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ข้อดีของท่อ XYLENT\n\n1. **ลดเสียง 22 dB** - เงียบกว่าท่อทั่วไป\n2. **3 ชั้น** - Triple Layer Structure\n3. **Push Fit** - ติดตั้งง่าย ไม่ต้องใช้กาว\n4. **คุณภาพยุโรป** - ผลิตในออสเตรีย\n5. **ทนอุณหภูมิ** - สูงถึง 95°C\n6. **ไม่แตกหัก** - PP เกรดสูง\n7. **อายุ 50 ปี** - ทนทานยาวนาน\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบระบายน้ำอาคาร** - ท่อระบายน้ำทิ้ง\n- **โรงแรมและรีสอร์ท** - ต้องการความเงียบ\n- **โรงพยาบาล** - สถานที่ต้องการความสงบ\n- **อาคารพักอาศัยระดับสูง** - คอนโดระดับพรีเมียม\n- **อาคารสำนักงาน** - สำนักงานเกรด A\n\n## มาตรฐานและรับรอง\n\nท่อ XYLENT ผ่านมาตรฐาน:\n\n- ✅ **EN 1451** - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\n- ✅ **DIN 19560** - มาตรฐานเยอรมัน\n- ✅ **DIBt Approved** - รับรองโดยสถาบันก่อสร้างเยอรมัน\n\n## โครงสร้าง 3 ชั้น\n\nท่อ XYLENT มีโครงสร้าง **Triple Layer**:\n\n1. **ชั้นใน** - PP เรียบ ลดแรงเสียดทาน\n2. **ชั้นกลาง** - PP แร่ เพิ่มความแข็งแรง\n3. **ชั้นนอก** - PP เรียบ ป้องกันรอยขีดข่วน\n\nโครงสร้างนี้ช่วย **ลดเสียงรบกวน** ได้ถึง **22 dB**\n\n## ระบบ Push Fit\n\n**Push Fit** คือระบบติดตั้งที่:\n- ไม่ต้องใช้กาว\n- ไม่ต้องใช้เครื่องมือพิเศษ\n- แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\n- ประหยัดเวลาและค่าแรง\n\n## คำถามที่พบบ่อย\n\n### ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\n\nท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล** ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ระบบ Push Fit คืออะไร?\n\nระบบ Push Fit เป็นระบบติดตั้งที่ **ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ** เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [ท่อ uPVC](/ท่อupvc/)","src/content/products/xylent.md","2453e135aa434442",{"html":473,"metadata":474},"\u003Ch1 id=\"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe\">ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อระบายน้ำ \u003Cstrong>XYLENT\u003C/strong> เป็นท่อระบายน้ำระดับพรีเมียมจาก \u003Cstrong>Poloplast ประเทศออสเตรีย\u003C/strong> มีโครงสร้าง \u003Cstrong>3 ชั้น (Triple Layer)\u003C/strong> ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ระบบ \u003Cstrong>Push Fit\u003C/strong> ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-xylent\">ข้อดีของท่อ XYLENT\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ลดเสียง 22 dB\u003C/strong> - เงียบกว่าท่อทั่วไป\u003C/li>\n\u003Cli>\u003Cstrong>3 ชั้น\u003C/strong> - Triple Layer Structure\u003C/li>\n\u003Cli>\u003Cstrong>Push Fit\u003C/strong> - ติดตั้งง่าย ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>คุณภาพยุโรป\u003C/strong> - ผลิตในออสเตรีย\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ\u003C/strong> - สูงถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่แตกหัก\u003C/strong> - PP เกรดสูง\u003C/li>\n\u003Cli>\u003Cstrong>อายุ 50 ปี\u003C/strong> - ทนทานยาวนาน\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำอาคาร\u003C/strong> - ท่อระบายน้ำทิ้ง\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและรีสอร์ท\u003C/strong> - ต้องการความเงียบ\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาล\u003C/strong> - สถานที่ต้องการความสงบ\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพักอาศัยระดับสูง\u003C/strong> - คอนโดระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>อาคารสำนักงาน\u003C/strong> - สำนักงานเกรด A\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ XYLENT ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>EN 1451\u003C/strong> - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIN 19560\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIBt Approved\u003C/strong> - รับรองโดยสถาบันก่อสร้างเยอรมัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"โครงสร้าง-3-ชั้น\">โครงสร้าง 3 ชั้น\u003C/h2>\n\u003Cp>ท่อ XYLENT มีโครงสร้าง \u003Cstrong>Triple Layer\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>ชั้นใน\u003C/strong> - PP เรียบ ลดแรงเสียดทาน\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นกลาง\u003C/strong> - PP แร่ เพิ่มความแข็งแรง\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นนอก\u003C/strong> - PP เรียบ ป้องกันรอยขีดข่วน\u003C/li>\n\u003C/ol>\n\u003Cp>โครงสร้างนี้ช่วย \u003Cstrong>ลดเสียงรบกวน\u003C/strong> ได้ถึง \u003Cstrong>22 dB\u003C/strong>\u003C/p>\n\u003Ch2 id=\"ระบบ-push-fit\">ระบบ Push Fit\u003C/h2>\n\u003Cp>\u003Cstrong>Push Fit\u003C/strong> คือระบบติดตั้งที่:\u003C/p>\n\u003Cul>\n\u003Cli>ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องมือพิเศษ\u003C/li>\n\u003Cli>แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\u003C/li>\n\u003Cli>ประหยัดเวลาและค่าแรง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล\">ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\u003C/h3>\n\u003Cp>ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong> ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ระบบ-push-fit-คืออะไร\">ระบบ Push Fit คืออะไร?\u003C/h3>\n\u003Cp>ระบบ Push Fit เป็นระบบติดตั้งที่ \u003Cstrong>ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ\u003C/strong> เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADupvc/\">ท่อ uPVC\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":475,"localImagePaths":499,"remoteImagePaths":500,"frontmatter":400,"imagePaths":501},[476,479,480,481,484,485,486,487,490,493,494,496,498],{"depth":122,"slug":477,"text":478},"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe","ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":482,"text":483},"ข้อดีของท่อ-xylent","ข้อดีของท่อ XYLENT",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":488,"text":489},"โครงสร้าง-3-ชั้น","โครงสร้าง 3 ชั้น",{"depth":126,"slug":491,"text":492},"ระบบ-push-fit","ระบบ Push Fit",{"depth":126,"slug":158,"text":158},{"depth":131,"slug":495,"text":457},"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล",{"depth":131,"slug":497,"text":460},"ระบบ-push-fit-คืออะไร",{"depth":126,"slug":168,"text":168},[],[],[],"xylent.md","ท่อไซเลอร์",{"id":503,"data":505,"body":566,"filePath":567,"digest":568,"rendered":569,"legacyId":593},{"id":506,"name":503,"nameEn":507,"slug":503,"description":508,"shortDescription":509,"image":510,"keywords":511,"seoContent":520,"specifications":521,"features":537,"applications":545,"certifications":550,"faq":552,"relatedProductIds":559,"schemaData":562},"syler","Syler Pipe","ท่อไซเลอร์ ท่อเหล็กบุ PE ทนแรงดัน 50 bar มาตรฐาน BS1387 FM APPROVED สำหรับระบบดับเพลิง","ท่อเหล็กบุ PE BS1387 FM APPROVED","/images/2021/03/hdpe002.jpg",[503,507,512,513,514,515,516,517,518,519],"ท่อเหล็กบุ PE","FM APPROVED","ท่อดับเพลิง","ท่อสปริงเกลอร์","BS1387","ท่อเหล็กชุบ PE","fire protection pipe","ท่อน้ำดับเพลิง","ท่อไซเลอร์ (Syler Pipe) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ท่อมีความทนทานสูง ทนแรงดันได้ถึง 50 บาร์ ผ่านมาตรฐาน BS1387 จากอังกฤษและ FM APPROVED จาก Factory Mutual",[522,524,526,527,529,531,535],{"label":36,"value":523},"เหล็กบุ PE (Steel with PE lining)",{"label":42,"value":525},"BS1387, FM APPROVED",{"label":45,"value":68,"unit":47},{"label":56,"value":528,"unit":58},"25, 32, 40, 50, 65, 80, 100, 150, 200",{"label":316,"value":530},"Schedule 40, 80",{"label":532,"value":533,"unit":534},"ความยาว","6","เมตร",{"label":60,"value":536},"แดง (Red) - Fire Protection",[538,539,540,541,542,543,544],"ทนแรงดันสูง 50 บาร์","ผ่านมาตรฐาน BS1387 และ FM APPROVED","บุ PE ป้องกันสนิมและการกัดกร่อน","อายุการใช้งานยาวนาน","เหมาะสำหรับระบบดับเพลิง","ติดตั้งด้วย Groove Coupling","ทนทานต่อความร้อน",[546,547,234,548,549],"ระบบสปริงเกลอร์","ระบบดับเพลิง","อาคารพาณิชย์สูง","โรงแรมและโรงพยาบาล",[516,513,551],"UL Listed",[553,556],{"question":554,"answer":555},"ท่อไซเลอร์เหมาะกับงานอะไร?","ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย",{"question":557,"answer":558},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?","ท่อไซเลอร์มีการบุ PE ภายในท่อ ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป",[560,561],"realflex","groove-coupling",{"brand":563,"material":564,"category":565},"Syler","Steel with PE Lining","Fire Protection Pipe","# ท่อไซเลอร์ (Syler Pipe)\n\n## ภาพรวม\n\nท่อไซเลอร์ (**Syler Pipe**) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ท่อมีความทนทานสูง ทนแรงดันได้ถึง **50 บาร์**\n\n## คุณสมบัติเด่น\n\nผ่านมาตรฐาน **BS1387** จากอังกฤษและ **FM APPROVED** จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\n\n### ข้อดีของท่อไซเลอร์\n\n1. **ทนแรงดันสูง** - สูงถึง 50 บาร์\n2. **มาตรฐานสากล** - BS1387, FM APPROVED, UL Listed\n3. **บุ PE** - ป้องกันสนิมและการกัดกร่อน\n4. **เหมาะสำหรับดับเพลิง** - ออกแบบมาเฉพาะงานนี้\n5. **ติดตั้งง่าย** - ใช้ Groove Coupling\n6. **ทนความร้อน** - เหมาะกับระบบสปริงเกลอร์\n7. **อายุการใช้งานยาว** - ทนทานในระยะยาว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบสปริงเกลอร์** - งานดับเพลิงอัตโนมัติ\n- **ระบบดับเพลิง** - งานป้องกันอัคคีภัย\n- **โรงงานอุตสาหกรรม** - ระบบความปลอดภัย\n- **อาคารพาณิชย์สูง** - อาคารสูง คอนโด\n- **โรงแรมและโรงพยาบาล** - สถานที่สาธารณะ\n\n## มาตรฐานและรับรอง\n\nท่อไซเลอร์ผ่านมาตรฐาน:\n\n- ✅ **BS1387** - มาตรฐานอังกฤษสำหรับท่อเหล็ก\n- ✅ **FM APPROVED** - Factory Mutual รับรองสำหรับระบบดับเพลิง\n- ✅ **UL Listed** - รับรองความปลอดภัย\n\n## การติดตั้ง\n\nท่อไซเลอร์ติดตั้งโดยใช้ **Groove Coupling** ซึ่งเป็นระบบต่อท่อที่:\n- ติดตั้งรวดเร็ว\n- ไม่ต้องใช้เครื่องเชื่อม\n- รองรับแรงดันสูง\n- ถอดประกอบได้สะดวก\n\n## คำถามที่พบบ่อย\n\n### ท่อไซเลอร์เหมาะกับงานอะไร?\n\nท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\n\n### ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\n\nท่อไซเลอร์มีการ **บุ PE ภายในท่อ** ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\n\n## สินค้าที่เกี่ยวข้อง\n\n- [Realflex](/realflex/)\n- [ท่อและข้อต่อ Groove](/อุปกรณ์ท่อกรูฟ/)","src/content/products/syler.md","e49886d315c31394",{"html":570,"metadata":571},"\u003Ch1 id=\"ท่อไซเลอร์-syler-pipe\">ท่อไซเลอร์ (Syler Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อไซเลอร์ (\u003Cstrong>Syler Pipe\u003C/strong>) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ท่อมีความทนทานสูง ทนแรงดันได้ถึง \u003Cstrong>50 บาร์\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ผ่านมาตรฐาน \u003Cstrong>BS1387\u003C/strong> จากอังกฤษและ \u003Cstrong>FM APPROVED\u003C/strong> จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อไซเลอร์\">ข้อดีของท่อไซเลอร์\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง 50 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสากล\u003C/strong> - BS1387, FM APPROVED, UL Listed\u003C/li>\n\u003Cli>\u003Cstrong>บุ PE\u003C/strong> - ป้องกันสนิมและการกัดกร่อน\u003C/li>\n\u003Cli>\u003Cstrong>เหมาะสำหรับดับเพลิง\u003C/strong> - ออกแบบมาเฉพาะงานนี้\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - ใช้ Groove Coupling\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - เหมาะกับระบบสปริงเกลอร์\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - ทนทานในระยะยาว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบสปริงเกลอร์\u003C/strong> - งานดับเพลิงอัตโนมัติ\u003C/li>\n\u003Cli>\u003Cstrong>ระบบดับเพลิง\u003C/strong> - งานป้องกันอัคคีภัย\u003C/li>\n\u003Cli>\u003Cstrong>โรงงานอุตสาหกรรม\u003C/strong> - ระบบความปลอดภัย\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพาณิชย์สูง\u003C/strong> - อาคารสูง คอนโด\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและโรงพยาบาล\u003C/strong> - สถานที่สาธารณะ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>BS1387\u003C/strong> - มาตรฐานอังกฤษสำหรับท่อเหล็ก\u003C/li>\n\u003Cli>✅ \u003Cstrong>FM APPROVED\u003C/strong> - Factory Mutual รับรองสำหรับระบบดับเพลิง\u003C/li>\n\u003Cli>✅ \u003Cstrong>UL Listed\u003C/strong> - รับรองความปลอดภัย\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ติดตั้งโดยใช้ \u003Cstrong>Groove Coupling\u003C/strong> ซึ่งเป็นระบบต่อท่อที่:\u003C/p>\n\u003Cul>\n\u003Cli>ติดตั้งรวดเร็ว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องเชื่อม\u003C/li>\n\u003Cli>รองรับแรงดันสูง\u003C/li>\n\u003Cli>ถอดประกอบได้สะดวก\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อไซเลอร์เหมาะกับงานอะไร\">ท่อไซเลอร์เหมาะกับงานอะไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\u003C/p>\n\u003Ch3 id=\"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร\">ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์มีการ \u003Cstrong>บุ PE ภายในท่อ\u003C/strong> ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/realflex/\">Realflex\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%AD%E0%B8%B8%E0%B8%9B%E0%B8%81%E0%B8%A3%E0%B8%93%E0%B9%8C%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%81%E0%B8%A3%E0%B8%B9%E0%B8%9F/\">ท่อและข้อต่อ Groove\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":572,"localImagePaths":590,"remoteImagePaths":591,"frontmatter":505,"imagePaths":592},[573,576,577,578,580,581,582,583,584,585,587,589],{"depth":122,"slug":574,"text":575},"ท่อไซเลอร์-syler-pipe","ท่อไซเลอร์ (Syler Pipe)",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":579,"text":579},"ข้อดีของท่อไซเลอร์",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":150,"text":150},{"depth":126,"slug":158,"text":158},{"depth":131,"slug":586,"text":554},"ท่อไซเลอร์เหมาะกับงานอะไร",{"depth":131,"slug":588,"text":557},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร",{"depth":126,"slug":168,"text":168},[],[],[],"syler.md","ท่อppr-thaippr",{"id":594,"data":596,"body":643,"filePath":644,"digest":645,"rendered":646,"legacyId":669},{"id":250,"name":597,"nameEn":598,"slug":594,"description":599,"shortDescription":600,"image":294,"keywords":601,"seoContent":608,"specifications":609,"features":620,"applications":627,"certifications":633,"faq":634,"relatedProductIds":641,"schemaData":642},"ท่อ PPR Thai PPR","Thai PPR Pipe","ท่อ PPR Thai PPR คุณภาพสูง มาตรฐาน มอก. เหมาะสำหรับงานประปาและระบบน้ำ","ท่อ PPR Thai PPR มาตรฐาน มอก.",[297,602,603,604,299,300,605,606,607],"Thai PPR","ท่อพีพีอาร์ไทย","ท่อ PPR ไทย","ราคาท่อ PPR ไทย","ท่อพีพีอาร์มาตรฐาน มอก.","ท่อ PPR ราคาถูก","ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ผลิตในประเทศไทย ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด",[610,611,612,613,615,616,618],{"label":36,"value":307},{"label":42,"value":339},{"label":45,"value":311,"unit":47},{"label":52,"value":614,"unit":54},"0-70",{"label":56,"value":314,"unit":58},{"label":60,"value":617},"ขาว, เขียว, เทา",{"label":67,"value":619,"unit":69},"30-50",[621,622,623,223,624,625,626],"ผลิตในประเทศไทย ราคาประหยัด","ผ่านมาตรฐาน มอก. สามารถตรวจสอบได้","ทนอุณหภูมิสูงสุด 70°C","ติดตั้งด้วยการเชื่อมความร้อน","ปลอดภัยสำหรับน้ำดื่ม","น้ำหนักเบา ขนส่งง่าย",[628,629,630,631,632],"ระบบประปาภายในอาคาร","ระบบน้ำเย็น","งานก่อสร้างที่อยู่อาศัย","โครงการจัดสรร","งานประปาขนาดเล็กและกลาง",[339],[635,638],{"question":636,"answer":637},"ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?","ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า",{"question":639,"answer":640},"ท่อ Thai PPR รับประกันคุณภาพหรือไม่?","ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้",[109,176,251],{"brand":602,"manufacturer":602,"material":361,"category":362},"# ท่อ PPR Thai PPR\n\n## ภาพรวม\n\nท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ **ผลิตในประเทศไทย** ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\n\n## คุณสมบัติเด่น\n\nด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\n\n### ข้อดีของท่อ Thai PPR\n\n1. **ผลิตในไทย** - ราคาประหยัด สนับสนุนสินค้าไทย\n2. **มาตรฐาน มอก.** - รับรองคุณภาพ ตรวจสอบได้\n3. **ทนความร้อน** - ใช้งานได้สูงถึง 70°C\n4. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้\n7. **น้ำหนักเบา** - ขนส่งและติดตั้งสะดวก\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาภายในอาคาร\n- ระบบน้ำเย็น\n- งานก่อสร้างที่อยู่อาศัย\n- โครงการจัดสรร\n- งานประปาขนาดเล็กและกลาง\n\n## มาตรฐานและรับรอง\n\nท่อ PPR Thai PPR ผ่านมาตรฐาน:\n\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n\n## คำถามที่พบบ่อย\n\n### ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\n\nท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\n\n### ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\n\nได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/thai-ppr.md","dff07efbdc251762",{"html":647,"metadata":648},"\u003Ch1 id=\"ท่อ-ppr-thai-ppr\">ท่อ PPR Thai PPR\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ \u003Cstrong>ผลิตในประเทศไทย\u003C/strong> ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-thai-ppr\">ข้อดีของท่อ Thai PPR\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในไทย\u003C/strong> - ราคาประหยัด สนับสนุนสินค้าไทย\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ ตรวจสอบได้\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - ใช้งานได้สูงถึง 70°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งสะดวก\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาภายในอาคาร\u003C/li>\n\u003Cli>ระบบน้ำเย็น\u003C/li>\n\u003Cli>งานก่อสร้างที่อยู่อาศัย\u003C/li>\n\u003Cli>โครงการจัดสรร\u003C/li>\n\u003Cli>งานประปาขนาดเล็กและกลาง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร\">ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\u003C/h3>\n\u003Cp>ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่\">ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\u003C/h3>\n\u003Cp>ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":649,"localImagePaths":666,"remoteImagePaths":667,"frontmatter":596,"imagePaths":668},[650,652,653,654,657,658,659,660,661,663,665],{"depth":122,"slug":651,"text":597},"ท่อ-ppr-thai-ppr",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":655,"text":656},"ข้อดีของท่อ-thai-ppr","ข้อดีของท่อ Thai PPR",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":158,"text":158},{"depth":131,"slug":662,"text":636},"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร",{"depth":131,"slug":664,"text":639},"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่",{"depth":126,"slug":168,"text":168},[],[],[],"thai-ppr.md","blog",["Map",672,673,734,735,801,802],"บำรุงรักษาปั๊มน้ำ",{"id":672,"data":674,"body":685,"filePath":686,"digest":687,"rendered":688,"legacyId":733},{"id":675,"title":676,"excerpt":677,"date":678,"author":679,"categories":680,"featuredImage":684},"water-pump-maintenance","การบำรุงรักษาปั๊มน้ำให้มีอายุการใช้งานยาวนาน","ปั๊มน้ำเป็นอุปกรณ์สำคัญในระบบน้ำทุกบ้าน การบำรุงรักษาที่ถูกต้องจะช่วยยืดอายุการใช้งานและประหยัดค่าไฟฟ้า","2024-01-05","Deal Plus Tech",[681,682,683],"ปั๊มน้ำ","บำรุงรักษา","เคล็ดลับ","/images/2021/02/Water-Pump1.jpg","## ความสำคัญของการบำรุงรักษาปั๊มน้ำ\n\nปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:\n- ยืดอายุการใช้งานของปั๊มน้ำ\n- ลดปัญหาการเสีย\n- ประหยัดค่าไฟฟ้า\n- ป้องกันอุบัติเหตุจากการรั่วซึม\n\n## การบำรุงรักษาปั๊มน้ำแบบทำเอง\n\n### 1. ตรวจสอบสายไฟและสวิตช์\n- ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่\n- ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่\n- หากพบความผิดปกติควรเรียกช่าง\n\n### 2. ทำความสะอาดตัวกรอง\n- ปิดวาล์วน้ำเข้าก่อนทำความสะอาด\n- ถอดตัวกรองออกมาล้าง\n- ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่\n- ติดตั้งกลับเข้าที่เดิม\n\n### 3. ตรวจสอบแรงดันน้ำ\n- สังเกตแรงดันน้ำว่าลดลงหรือไม่\n- ตรวจสอบว่ามีเสียงผิดปกติหรือไม่\n- หากแรงดันลดลงอาจมีการรั่วซึม\n\n### 4. ตรวจสอบถังแรงดัน (Pressure Tank)\n- ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่\n- หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ\n- ควรตรวจสอบทุก 6 เดือน\n\n## ปัญหาที่พบบ่อยและวิธีแก้ไข\n\n### ปั๊มไม่ทำงาน\n**สาเหตุ:**\n- ไฟดับหรือสายไฟขาด\n- สวิตช์เสีย\n- มอเตอร์เสีย\n\n**วิธีแก้:**\n- ตรวจสอบไฟและสายไฟ\n- เปลี่ยนสวิตช์\n- เรียกช่างซ่อมมอเตอร์\n\n### แรงดันน้ำต่ำ\n**สาเหตุ:**\n- ตัวกรองอุดตัน\n- ท่อรั่ว\n- ใบพัดสึกหรอ\n\n**วิธีแก้:**\n- ทำความสะอาดตัวกรอง\n- ตรวจสอบและซ่อมท่อ\n- เปลี่ยนใบพัด\n\n### ปั๊มเปิด-ปิดบ่อย\n**สาเหตุ:**\n- ถังแรงดันอากาศรั่ว\n- แผ่นไดอะแฟรมแตก\n- วาล์วตรวจสอบแรงดันเสีย\n\n**วิธีแก้:**\n- เติมอากาศในถัง\n- เปลี่ยนแผ่นไดอะแฟรม\n- เปลี่ยนวาล์ว\n\n### ปั๊มมีเสียงดังผิดปกติ\n**สาเหตุ:**\n- ลูกปืนเสีย\n- ใบพัดชำรุด\n- การติดตั้งไม่แน่นหนา\n\n**วิธีแก้:**\n- เปลี่ยนลูกปืน\n- เปลี่ยนใบพัด\n- ตรวจสอบการยึดแน่น\n\n## ตารางการบำรุงรักษา\n\n| รายการ | ความถี่ | หมายเหตุ |\n|--------|---------|----------|\n| ตรวจสอบสายไฟ | ทุกเดือน | มองหารอยชำรุด |\n| ทำความสะอาดตัวกรอง | ทุก 3 เดือน | หรือเมื่อแรงดันลด |\n| ตรวจสอบถังแรงดัน | ทุก 6 เดือน | เติมอากาศหากจำเป็น |\n| ตรวจสอบสวิตช์ | ทุกปี | เปลี่ยนหากเสีย |\n| ตรวจสอบใบพัด | ทุก 2 ปี | โดยช่างผู้เชี่ยวชาญ |\n\n## เคล็ดลับการใช้งานปั๊มน้ำ\n\n### ประหยัดไฟฟ้า\n- เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน\n- ติดตั้งถังแรงดันขนาดเหมาะสม\n- หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย\n\n### ป้องกันปัญหา\n- อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)\n- ตรวจสอบรอยรั่วอย่างสม่ำเสมอ\n- ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก\n\n### เมื่อต้องเปลี่ยนปั๊ม\n- เลือกปั๊มที่มีคุณภาพ\n- พิจารณาขนาดและกำลังที่เหมาะสม\n- ติดตั้งโดยช่างผู้เชี่ยวชาญ\n\n## สรุป\n\nการบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ\n\n---\n\n**ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n\n[ดูสินค้าปั๊มน้ำทั้งหมด](/ปั๊มน้ำ-pump)","src/content/blog/บำรุงรักษาปั๊มน้ำ.md","c257fd34f1815ecb",{"html":689,"metadata":690},"\u003Ch2 id=\"ความสำคัญของการบำรุงรักษาปั๊มน้ำ\">ความสำคัญของการบำรุงรักษาปั๊มน้ำ\u003C/h2>\n\u003Cp>ปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:\u003C/p>\n\u003Cul>\n\u003Cli>ยืดอายุการใช้งานของปั๊มน้ำ\u003C/li>\n\u003Cli>ลดปัญหาการเสีย\u003C/li>\n\u003Cli>ประหยัดค่าไฟฟ้า\u003C/li>\n\u003Cli>ป้องกันอุบัติเหตุจากการรั่วซึม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การบำรุงรักษาปั๊มน้ำแบบทำเอง\">การบำรุงรักษาปั๊มน้ำแบบทำเอง\u003C/h2>\n\u003Ch3 id=\"1-ตรวจสอบสายไฟและสวิตช์\">1. ตรวจสอบสายไฟและสวิตช์\u003C/h3>\n\u003Cul>\n\u003Cli>ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่\u003C/li>\n\u003Cli>ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่\u003C/li>\n\u003Cli>หากพบความผิดปกติควรเรียกช่าง\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"2-ทำความสะอาดตัวกรอง\">2. ทำความสะอาดตัวกรอง\u003C/h3>\n\u003Cul>\n\u003Cli>ปิดวาล์วน้ำเข้าก่อนทำความสะอาด\u003C/li>\n\u003Cli>ถอดตัวกรองออกมาล้าง\u003C/li>\n\u003Cli>ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่\u003C/li>\n\u003Cli>ติดตั้งกลับเข้าที่เดิม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"3-ตรวจสอบแรงดันน้ำ\">3. ตรวจสอบแรงดันน้ำ\u003C/h3>\n\u003Cul>\n\u003Cli>สังเกตแรงดันน้ำว่าลดลงหรือไม่\u003C/li>\n\u003Cli>ตรวจสอบว่ามีเสียงผิดปกติหรือไม่\u003C/li>\n\u003Cli>หากแรงดันลดลงอาจมีการรั่วซึม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"4-ตรวจสอบถังแรงดัน-pressure-tank\">4. ตรวจสอบถังแรงดัน (Pressure Tank)\u003C/h3>\n\u003Cul>\n\u003Cli>ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่\u003C/li>\n\u003Cli>หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ\u003C/li>\n\u003Cli>ควรตรวจสอบทุก 6 เดือน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ปัญหาที่พบบ่อยและวิธีแก้ไข\">ปัญหาที่พบบ่อยและวิธีแก้ไข\u003C/h2>\n\u003Ch3 id=\"ปั๊มไม่ทำงาน\">ปั๊มไม่ทำงาน\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ไฟดับหรือสายไฟขาด\u003C/li>\n\u003Cli>สวิตช์เสีย\u003C/li>\n\u003Cli>มอเตอร์เสีย\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ตรวจสอบไฟและสายไฟ\u003C/li>\n\u003Cli>เปลี่ยนสวิตช์\u003C/li>\n\u003Cli>เรียกช่างซ่อมมอเตอร์\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"แรงดันน้ำต่ำ\">แรงดันน้ำต่ำ\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ตัวกรองอุดตัน\u003C/li>\n\u003Cli>ท่อรั่ว\u003C/li>\n\u003Cli>ใบพัดสึกหรอ\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ทำความสะอาดตัวกรอง\u003C/li>\n\u003Cli>ตรวจสอบและซ่อมท่อ\u003C/li>\n\u003Cli>เปลี่ยนใบพัด\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ปั๊มเปิด-ปิดบ่อย\">ปั๊มเปิด-ปิดบ่อย\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ถังแรงดันอากาศรั่ว\u003C/li>\n\u003Cli>แผ่นไดอะแฟรมแตก\u003C/li>\n\u003Cli>วาล์วตรวจสอบแรงดันเสีย\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>เติมอากาศในถัง\u003C/li>\n\u003Cli>เปลี่ยนแผ่นไดอะแฟรม\u003C/li>\n\u003Cli>เปลี่ยนวาล์ว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ปั๊มมีเสียงดังผิดปกติ\">ปั๊มมีเสียงดังผิดปกติ\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ลูกปืนเสีย\u003C/li>\n\u003Cli>ใบพัดชำรุด\u003C/li>\n\u003Cli>การติดตั้งไม่แน่นหนา\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>เปลี่ยนลูกปืน\u003C/li>\n\u003Cli>เปลี่ยนใบพัด\u003C/li>\n\u003Cli>ตรวจสอบการยึดแน่น\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ตารางการบำรุงรักษา\">ตารางการบำรุงรักษา\u003C/h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>รายการ\u003C/th>\u003Cth>ความถี่\u003C/th>\u003Cth>หมายเหตุ\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>ตรวจสอบสายไฟ\u003C/td>\u003Ctd>ทุกเดือน\u003C/td>\u003Ctd>มองหารอยชำรุด\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ทำความสะอาดตัวกรอง\u003C/td>\u003Ctd>ทุก 3 เดือน\u003C/td>\u003Ctd>หรือเมื่อแรงดันลด\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบถังแรงดัน\u003C/td>\u003Ctd>ทุก 6 เดือน\u003C/td>\u003Ctd>เติมอากาศหากจำเป็น\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบสวิตช์\u003C/td>\u003Ctd>ทุกปี\u003C/td>\u003Ctd>เปลี่ยนหากเสีย\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบใบพัด\u003C/td>\u003Ctd>ทุก 2 ปี\u003C/td>\u003Ctd>โดยช่างผู้เชี่ยวชาญ\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"เคล็ดลับการใช้งานปั๊มน้ำ\">เคล็ดลับการใช้งานปั๊มน้ำ\u003C/h2>\n\u003Ch3 id=\"ประหยัดไฟฟ้า\">ประหยัดไฟฟ้า\u003C/h3>\n\u003Cul>\n\u003Cli>เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน\u003C/li>\n\u003Cli>ติดตั้งถังแรงดันขนาดเหมาะสม\u003C/li>\n\u003Cli>หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ป้องกันปัญหา\">ป้องกันปัญหา\u003C/h3>\n\u003Cul>\n\u003Cli>อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)\u003C/li>\n\u003Cli>ตรวจสอบรอยรั่วอย่างสม่ำเสมอ\u003C/li>\n\u003Cli>ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"เมื่อต้องเปลี่ยนปั๊ม\">เมื่อต้องเปลี่ยนปั๊ม\u003C/h3>\n\u003Cul>\n\u003Cli>เลือกปั๊มที่มีคุณภาพ\u003C/li>\n\u003Cli>พิจารณาขนาดและกำลังที่เหมาะสม\u003C/li>\n\u003Cli>ติดตั้งโดยช่างผู้เชี่ยวชาญ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>การบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%9B%E0%B8%B1%E0%B9%8A%E0%B8%A1%E0%B8%99%E0%B9%89%E0%B8%B3-pump\">ดูสินค้าปั๊มน้ำทั้งหมด\u003C/a>\u003C/p>",{"headings":691,"localImagePaths":730,"remoteImagePaths":731,"frontmatter":674,"imagePaths":732},[692,694,696,699,702,705,708,710,712,714,716,718,720,722,724,726,728],{"depth":126,"slug":693,"text":693},"ความสำคัญของการบำรุงรักษาปั๊มน้ำ",{"depth":126,"slug":695,"text":695},"การบำรุงรักษาปั๊มน้ำแบบทำเอง",{"depth":131,"slug":697,"text":698},"1-ตรวจสอบสายไฟและสวิตช์","1. ตรวจสอบสายไฟและสวิตช์",{"depth":131,"slug":700,"text":701},"2-ทำความสะอาดตัวกรอง","2. ทำความสะอาดตัวกรอง",{"depth":131,"slug":703,"text":704},"3-ตรวจสอบแรงดันน้ำ","3. ตรวจสอบแรงดันน้ำ",{"depth":131,"slug":706,"text":707},"4-ตรวจสอบถังแรงดัน-pressure-tank","4. ตรวจสอบถังแรงดัน (Pressure Tank)",{"depth":126,"slug":709,"text":709},"ปัญหาที่พบบ่อยและวิธีแก้ไข",{"depth":131,"slug":711,"text":711},"ปั๊มไม่ทำงาน",{"depth":131,"slug":713,"text":713},"แรงดันน้ำต่ำ",{"depth":131,"slug":715,"text":715},"ปั๊มเปิด-ปิดบ่อย",{"depth":131,"slug":717,"text":717},"ปั๊มมีเสียงดังผิดปกติ",{"depth":126,"slug":719,"text":719},"ตารางการบำรุงรักษา",{"depth":126,"slug":721,"text":721},"เคล็ดลับการใช้งานปั๊มน้ำ",{"depth":131,"slug":723,"text":723},"ประหยัดไฟฟ้า",{"depth":131,"slug":725,"text":725},"ป้องกันปัญหา",{"depth":131,"slug":727,"text":727},"เมื่อต้องเปลี่ยนปั๊ม",{"depth":126,"slug":729,"text":729},"สรุป",[],[],[],"บำรุงรักษาปั๊มน้ำ.md","ข้อดี-ท่อ-hdpe",{"id":734,"data":736,"body":744,"filePath":745,"digest":746,"rendered":747,"legacyId":800},{"id":737,"title":738,"excerpt":739,"date":740,"author":679,"categories":741,"featuredImage":743},"hdpe-pipe-advantages","ข้อดีของท่อ HDPE ในงานระบบน้ำ ทำไมถึงเป็นตัวเลือกยอดนิยม","ท่อ HDPE (High Density Polyethylene) เป็นท่อที่ได้รับความนิยมสูงในงานระบบน้ำ เนื่องจากความทนทานและความยืดหยุ่นที่เหนือกว่าท่อชนิดอื่น","2024-01-10",[13,742],"ความรู้","/images/2021/03/hdpe-pipe_000C.jpg","## ท่อ HDPE คืออะไร?\n\nท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก\n\n## ข้อดีของท่อ HDPE\n\n### 1. ความยืดหยุ่นสูง\nท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี\n\n### 2. ทนทานต่อสารเคมี\nท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม\n\n### 3. อายุการใช้งานยาวนาน\nท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง\n\n### 4. น้ำหนักเบา\nท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง\n\n### 5. การเชื่อมต่อที่แน่นหนา\nการเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม\n\n### 6. ปลอดภัยต่อสุขภาพ\nท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม\n\n## การใช้งานท่อ HDPE\n\n### งานประปา\n- ท่อส่งน้ำประปา\n- ระบบประปาในบ้านเรือน\n- ระบบประปาในอาคาร\n\n### งานเกษตร\n- ระบบน้ำหยด\n- ระบบสปริงเกลอร์\n- ระบบน้ำเพื่อการเกษตร\n\n### งานอุตสาหกรรม\n- ท่อส่งสารเคมี\n- ระบบบำบัดน้ำเสีย\n- งานโรงงานอุตสาหกรรม\n\n### งานโครงสร้างพื้นฐาน\n- งานท่อใต้ดิน\n- ท่อร้อยสายไฟ\n- งานสาธารณูปโภค\n\n## ขนาดท่อ HDPE ที่นิยมใช้\n\n| ขนาด (มม.) | การใช้งาน |\n|------------|-----------|\n| 16-32 | งานประปาภายในบ้าน |\n| 40-63 | งานประปาอาคารขนาดเล็ก |\n| 75-110 | งานประปาอาคารขนาดใหญ่ |\n| 125-315 | งานท่อส่งน้ำหลัก |\n| 355-1200 | งานโครงสร้างพื้นฐาน |\n\n## เกรดของท่อ HDPE\n\n### PE80\n- เหมาะสำหรับงานทั่วไป\n- ทนแรงดันสูงสุด 8 MPa\n\n### PE100\n- เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง\n- ทนแรงดันสูงสุด 10 MPa\n- เป็นเกรดที่นิยมใช้ในปัจจุบัน\n\n## การติดตั้งท่อ HDPE\n\n### วิธี Butt Fusion\n1. ตัดท่อให้ตรง\n2. ทำความสะอาดผิวท่อ\n3. ใช้เครื่องเชื่อมท่อ HDPE\n4. ให้ความร้อนจนผิวท่อละลาย\n5. กดท่อเข้าด้วยกัน\n6. รอให้เย็นตัวลง\n\n### วิธี Electrofusion\n1. ใช้ข้อต่อแบบ Electrofusion\n2. เสียบปลั๊กไฟเข้ากับข้อต่อ\n3. รอจนกระบวนการเชื่อมเสร็จสิ้น\n\n## สรุป\n\nท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน\n\n---\n\n**สนใจสินค้าท่อ HDPE?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n\n[ดูสินค้าท่อ HDPE ทั้งหมด](/ท่อhdpe)","src/content/blog/ข้อดี-ท่อ-hdpe.md","db9b3d046434d90e",{"html":748,"metadata":749},"\u003Ch2 id=\"ท่อ-hdpe-คืออะไร\">ท่อ HDPE คืออะไร?\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก\u003C/p>\n\u003Ch2 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"1-ความยืดหยุ่นสูง\">1. ความยืดหยุ่นสูง\u003C/h3>\n\u003Cp>ท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี\u003C/p>\n\u003Ch3 id=\"2-ทนทานต่อสารเคมี\">2. ทนทานต่อสารเคมี\u003C/h3>\n\u003Cp>ท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม\u003C/p>\n\u003Ch3 id=\"3-อายุการใช้งานยาวนาน\">3. อายุการใช้งานยาวนาน\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง\u003C/p>\n\u003Ch3 id=\"4-น้ำหนักเบา\">4. น้ำหนักเบา\u003C/h3>\n\u003Cp>ท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง\u003C/p>\n\u003Ch3 id=\"5-การเชื่อมต่อที่แน่นหนา\">5. การเชื่อมต่อที่แน่นหนา\u003C/h3>\n\u003Cp>การเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม\u003C/p>\n\u003Ch3 id=\"6-ปลอดภัยต่อสุขภาพ\">6. ปลอดภัยต่อสุขภาพ\u003C/h3>\n\u003Cp>ท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม\u003C/p>\n\u003Ch2 id=\"การใช้งานท่อ-hdpe\">การใช้งานท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"งานประปา\">งานประปา\u003C/h3>\n\u003Cul>\n\u003Cli>ท่อส่งน้ำประปา\u003C/li>\n\u003Cli>ระบบประปาในบ้านเรือน\u003C/li>\n\u003Cli>ระบบประปาในอาคาร\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานเกษตร\">งานเกษตร\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบน้ำหยด\u003C/li>\n\u003Cli>ระบบสปริงเกลอร์\u003C/li>\n\u003Cli>ระบบน้ำเพื่อการเกษตร\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานอุตสาหกรรม\">งานอุตสาหกรรม\u003C/h3>\n\u003Cul>\n\u003Cli>ท่อส่งสารเคมี\u003C/li>\n\u003Cli>ระบบบำบัดน้ำเสีย\u003C/li>\n\u003Cli>งานโรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานโครงสร้างพื้นฐาน\">งานโครงสร้างพื้นฐาน\u003C/h3>\n\u003Cul>\n\u003Cli>งานท่อใต้ดิน\u003C/li>\n\u003Cli>ท่อร้อยสายไฟ\u003C/li>\n\u003Cli>งานสาธารณูปโภค\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ขนาดท่อ-hdpe-ที่นิยมใช้\">ขนาดท่อ HDPE ที่นิยมใช้\u003C/h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>ขนาด (มม.)\u003C/th>\u003Cth>การใช้งาน\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>16-32\u003C/td>\u003Ctd>งานประปาภายในบ้าน\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>40-63\u003C/td>\u003Ctd>งานประปาอาคารขนาดเล็ก\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>75-110\u003C/td>\u003Ctd>งานประปาอาคารขนาดใหญ่\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>125-315\u003C/td>\u003Ctd>งานท่อส่งน้ำหลัก\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>355-1200\u003C/td>\u003Ctd>งานโครงสร้างพื้นฐาน\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80\">PE80\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับงานทั่วไป\u003C/li>\n\u003Cli>ทนแรงดันสูงสุด 8 MPa\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"pe100\">PE100\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง\u003C/li>\n\u003Cli>ทนแรงดันสูงสุด 10 MPa\u003C/li>\n\u003Cli>เป็นเกรดที่นิยมใช้ในปัจจุบัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้งท่อ-hdpe\">การติดตั้งท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Col>\n\u003Cli>ตัดท่อให้ตรง\u003C/li>\n\u003Cli>ทำความสะอาดผิวท่อ\u003C/li>\n\u003Cli>ใช้เครื่องเชื่อมท่อ HDPE\u003C/li>\n\u003Cli>ให้ความร้อนจนผิวท่อละลาย\u003C/li>\n\u003Cli>กดท่อเข้าด้วยกัน\u003C/li>\n\u003Cli>รอให้เย็นตัวลง\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Col>\n\u003Cli>ใช้ข้อต่อแบบ Electrofusion\u003C/li>\n\u003Cli>เสียบปลั๊กไฟเข้ากับข้อต่อ\u003C/li>\n\u003Cli>รอจนกระบวนการเชื่อมเสร็จสิ้น\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>ท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>สนใจสินค้าท่อ HDPE?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADhdpe\">ดูสินค้าท่อ HDPE ทั้งหมด\u003C/a>\u003C/p>",{"headings":750,"localImagePaths":797,"remoteImagePaths":798,"frontmatter":736,"imagePaths":799},[751,754,755,758,761,764,767,770,773,776,778,780,781,783,786,787,789,791,794,795,796],{"depth":126,"slug":752,"text":753},"ท่อ-hdpe-คืออะไร","ท่อ HDPE คืออะไร?",{"depth":126,"slug":132,"text":133},{"depth":131,"slug":756,"text":757},"1-ความยืดหยุ่นสูง","1. ความยืดหยุ่นสูง",{"depth":131,"slug":759,"text":760},"2-ทนทานต่อสารเคมี","2. ทนทานต่อสารเคมี",{"depth":131,"slug":762,"text":763},"3-อายุการใช้งานยาวนาน","3. อายุการใช้งานยาวนาน",{"depth":131,"slug":765,"text":766},"4-น้ำหนักเบา","4. น้ำหนักเบา",{"depth":131,"slug":768,"text":769},"5-การเชื่อมต่อที่แน่นหนา","5. การเชื่อมต่อที่แน่นหนา",{"depth":131,"slug":771,"text":772},"6-ปลอดภัยต่อสุขภาพ","6. ปลอดภัยต่อสุขภาพ",{"depth":126,"slug":774,"text":775},"การใช้งานท่อ-hdpe","การใช้งานท่อ HDPE",{"depth":131,"slug":777,"text":777},"งานประปา",{"depth":131,"slug":779,"text":779},"งานเกษตร",{"depth":131,"slug":86,"text":86},{"depth":131,"slug":782,"text":782},"งานโครงสร้างพื้นฐาน",{"depth":126,"slug":784,"text":785},"ขนาดท่อ-hdpe-ที่นิยมใช้","ขนาดท่อ HDPE ที่นิยมใช้",{"depth":126,"slug":141,"text":142},{"depth":131,"slug":788,"text":22},"pe80",{"depth":131,"slug":790,"text":23},"pe100",{"depth":126,"slug":792,"text":793},"การติดตั้งท่อ-hdpe","การติดตั้งท่อ HDPE",{"depth":131,"slug":152,"text":153},{"depth":131,"slug":155,"text":156},{"depth":126,"slug":729,"text":729},[],[],[],"ข้อดี-ท่อ-hdpe.md","ท่อ-ppr-คืออะไร",{"id":801,"data":803,"body":810,"filePath":811,"digest":812,"rendered":813,"legacyId":855},{"id":804,"title":805,"excerpt":806,"date":807,"author":679,"categories":808,"featuredImage":294},"ppr-pipe-guide","ท่อ PPR คืออะไร? คู่มือฉบับสมบูรณ์สำหรับการเลือกใช้งาน","ท่อ PPR (Polypropylene Random Copolymer) เป็นท่อพลาสติกที่ได้รับความนิยมสูงในการใช้งานระบบประปา บทความนี้จะอธิบายทุกสิ่งที่คุณต้องรู้เกี่ยวกับท่อ PPR","2024-01-15",[297,742,809],"คู่มือ","## ท่อ PPR คืออะไร?\n\nท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี\n\n## ข้อดีของท่อ PPR\n\n### 1. ทนแรงดันและอุณหภูมิสูง\nท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน\n\n### 2. สะอาดและปลอดภัย\nท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค\n\n### 3. อายุการใช้งานยาวนาน\nด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี\n\n### 4. ติดตั้งง่าย\nการเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม\n\n### 5. ประหยัดพลังงาน\nท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ\n\n## การเลือกท่อ PPR ที่เหมาะสม\n\n### ขนาดท่อ\nเลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:\n- ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป\n- ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่\n\n### เกรดของท่อ\n- **PN10** - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์\n- **PN16** - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์\n- **PN20** - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์\n\n## การติดตั้งท่อ PPR\n\n### ขั้นตอนการเชื่อมท่อ\n1. ตัดท่อให้ตรงและเรียบ\n2. ทำความสะอาดผิวท่อและข้อต่อ\n3. ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C\n4. สอดท่อและข้อต่อเข้าด้วยกัน\n5. รอให้เย็นตัวลงประมาณ 2-3 นาที\n\n### ข้อควรระวัง\n- หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง\n- ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ\n- ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน\n\n## ท่อ PPR ตราช้าง\n\nท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell\n\n**คุณสมบัติเด่น:**\n- ทนแรงดันได้สูงสุด 20 บาร์\n- ทนต่ออุณหภูมิได้สูงถึง 95°C\n- ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน\n- รับประกันคุณภาพ\n\n## สรุป\n\nท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม\n\n---\n\n**สนใจสินค้าท่อ PPR?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n- อีเมล: dealplustech@gmail.com\n\n[ดูสินค้าท่อ PPR ทั้งหมด](/ท่อพีพีอาร์ตราช้าง)","src/content/blog/ท่อ-ppr-คืออะไร.md","204d0ab9e386d817",{"html":814,"metadata":815},"\u003Ch2 id=\"ท่อ-ppr-คืออะไร\">ท่อ PPR คืออะไร?\u003C/h2>\n\u003Cp>ท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี\u003C/p>\n\u003Ch2 id=\"ข้อดีของท่อ-ppr\">ข้อดีของท่อ PPR\u003C/h2>\n\u003Ch3 id=\"1-ทนแรงดันและอุณหภูมิสูง\">1. ทนแรงดันและอุณหภูมิสูง\u003C/h3>\n\u003Cp>ท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch3 id=\"2-สะอาดและปลอดภัย\">2. สะอาดและปลอดภัย\u003C/h3>\n\u003Cp>ท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค\u003C/p>\n\u003Ch3 id=\"3-อายุการใช้งานยาวนาน\">3. อายุการใช้งานยาวนาน\u003C/h3>\n\u003Cp>ด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี\u003C/p>\n\u003Ch3 id=\"4-ติดตั้งง่าย\">4. ติดตั้งง่าย\u003C/h3>\n\u003Cp>การเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม\u003C/p>\n\u003Ch3 id=\"5-ประหยัดพลังงาน\">5. ประหยัดพลังงาน\u003C/h3>\n\u003Cp>ท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ\u003C/p>\n\u003Ch2 id=\"การเลือกท่อ-ppr-ที่เหมาะสม\">การเลือกท่อ PPR ที่เหมาะสม\u003C/h2>\n\u003Ch3 id=\"ขนาดท่อ\">ขนาดท่อ\u003C/h3>\n\u003Cp>เลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:\u003C/p>\n\u003Cul>\n\u003Cli>ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป\u003C/li>\n\u003Cli>ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"เกรดของท่อ\">เกรดของท่อ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>PN10\u003C/strong> - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>PN16\u003C/strong> - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>PN20\u003C/strong> - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้งท่อ-ppr\">การติดตั้งท่อ PPR\u003C/h2>\n\u003Ch3 id=\"ขั้นตอนการเชื่อมท่อ\">ขั้นตอนการเชื่อมท่อ\u003C/h3>\n\u003Col>\n\u003Cli>ตัดท่อให้ตรงและเรียบ\u003C/li>\n\u003Cli>ทำความสะอาดผิวท่อและข้อต่อ\u003C/li>\n\u003Cli>ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C\u003C/li>\n\u003Cli>สอดท่อและข้อต่อเข้าด้วยกัน\u003C/li>\n\u003Cli>รอให้เย็นตัวลงประมาณ 2-3 นาที\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"ข้อควรระวัง\">ข้อควรระวัง\u003C/h3>\n\u003Cul>\n\u003Cli>หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง\u003C/li>\n\u003Cli>ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ\u003C/li>\n\u003Cli>ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ท่อ-ppr-ตราช้าง\">ท่อ PPR ตราช้าง\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell\u003C/p>\n\u003Cp>\u003Cstrong>คุณสมบัติเด่น:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ทนแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>ทนต่ออุณหภูมิได้สูงถึง 95°C\u003C/li>\n\u003Cli>ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน\u003C/li>\n\u003Cli>รับประกันคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>ท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>สนใจสินค้าท่อ PPR?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003Cli>อีเมล: \u003Ca href=\"mailto:dealplustech@gmail.com\">dealplustech@gmail.com\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87\">ดูสินค้าท่อ PPR ทั้งหมด\u003C/a>\u003C/p>",{"headings":816,"localImagePaths":852,"remoteImagePaths":853,"frontmatter":803,"imagePaths":854},[817,819,822,825,828,829,832,835,838,839,841,844,846,848,851],{"depth":126,"slug":801,"text":818},"ท่อ PPR คืออะไร?",{"depth":126,"slug":820,"text":821},"ข้อดีของท่อ-ppr","ข้อดีของท่อ PPR",{"depth":131,"slug":823,"text":824},"1-ทนแรงดันและอุณหภูมิสูง","1. ทนแรงดันและอุณหภูมิสูง",{"depth":131,"slug":826,"text":827},"2-สะอาดและปลอดภัย","2. สะอาดและปลอดภัย",{"depth":131,"slug":762,"text":763},{"depth":131,"slug":830,"text":831},"4-ติดตั้งง่าย","4. ติดตั้งง่าย",{"depth":131,"slug":833,"text":834},"5-ประหยัดพลังงาน","5. ประหยัดพลังงาน",{"depth":126,"slug":836,"text":837},"การเลือกท่อ-ppr-ที่เหมาะสม","การเลือกท่อ PPR ที่เหมาะสม",{"depth":131,"slug":56,"text":56},{"depth":131,"slug":840,"text":840},"เกรดของท่อ",{"depth":126,"slug":842,"text":843},"การติดตั้งท่อ-ppr","การติดตั้งท่อ PPR",{"depth":131,"slug":845,"text":845},"ขั้นตอนการเชื่อมท่อ",{"depth":131,"slug":847,"text":847},"ข้อควรระวัง",{"depth":126,"slug":849,"text":850},"ท่อ-ppr-ตราช้าง","ท่อ PPR ตราช้าง",{"depth":126,"slug":729,"text":729},[],[],[],"ท่อ-ppr-คืออะไร.md"]
\ No newline at end of file
+[["Map",1,2,7,8,670,671],"meta::meta",["Map",3,4,5,6],"astro-version","5.18.0","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}","products",["Map",9,10,147,148,288,289,398,399,489,490,565,566],"pp-r-pp-rct-poloplast",{"id":9,"data":11,"body":105,"filePath":106,"digest":107,"rendered":108,"legacyId":146},{"id":12,"name":13,"nameEn":14,"slug":9,"description":15,"shortDescription":16,"image":17,"keywords":18,"seoContent":30,"specifications":31,"features":64,"applications":75,"certifications":83,"faq":87,"relatedProductIds":97,"schemaData":101},"poloplast","ท่อ PP-R/PP-RCT POLOPLAST","POLOPLAST PP-R Pipe","ท่อพีพีอาร์ POLOPLAST จากเยอรมนี มาตรฐาน DVGW และ SKZ ทนอุณหภูมิ 95°C รับประกัน 10 ปี","ท่อ PP-R/PP-RCT POLOPLAST คุณภาพเยอรมัน","/images/2021/03/hdpe001.jpg",[19,20,21,22,23,24,25,26,27,28,29],"POLOPLAST","ท่อเยอรมัน","PP-RCT","ท่อพีพีอาร์เกรดสูง","ท่อ POLOPLAST","ท่อ PP-R เยอรมัน","ท่อน้ำร้อนเยอรมัน","DVGW","SKZ","ท่อ PP-RCT","Poloplast Thailand","ท่อพีพีอาร์ POLOPLAST เป็นผลิตภัณฑ์ระดับพรีเมียมจากเยอรมนี มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล มีความทนทานสูงสุด ทนอุณหภูมิได้ถึง 95°C และทนแรงดันสูง รับประกันคุณภาพ 10 ปี",[32,35,38,42,46,50,54,57,61],{"label":33,"value":34},"วัสดุ","PP-R / PP-RCT (Polypropylene Random Copolymer)",{"label":36,"value":37},"มาตรฐาน","DIN 8077/8078, ISO 15874, DVGW, SKZ",{"label":39,"value":40,"unit":41},"แรงดันทนทาน","PN10, PN16, PN20, PN25","bar",{"label":43,"value":44,"unit":45},"อุณหภูมิทนทาน","-20 ถึง 95","°C",{"label":47,"value":48,"unit":49},"ขนาดท่อ","20, 25, 32, 40, 50, 63, 75, 90, 110, 125, 160","mm",{"label":51,"value":52,"unit":53},"ค่าสัมประสิทธิ์การนำความร้อน","0.15","W/mK",{"label":55,"value":56},"สี","ขาว, เขียว, ส้ม",{"label":58,"value":59,"unit":60},"อายุการใช้งาน","50","ปี",{"label":62,"value":63,"unit":60},"รับประกัน","10",[65,66,67,68,69,70,71,72,73,74],"ผลิตในเยอรมนี คุณภาพระดับพรีเมียม","มาตรฐาน DVGW และ SKZ ระดับสากล","ทนอุณหภูมิสูงสุด 95°C","ทนแรงดันสูงถึง PN25","ค่านำความร้อนต่ำ 0.15 W/mK","ฉนวนความร้อนยอดเยี่ยม","ไม่เกิดสนิมและการกัดกร่อน","อายุการใช้งาน 50 ปี","รับประกัน 10 ปี","เหมาะสำหรับงานที่ต้องการคุณภาพสูงสุด",[76,77,78,79,80,81,82],"ระบบประปาน้ำร้อนอุณหภูมิสูง","ระบบทำความร้อน (Heating)","ระบบแอร์แช่ (Chilled Water)","โรงแรม 5 ดาว","โรงพยาบาลและศูนย์การแพทย์","โครงการระดับพรีเมียม","โรงงานอุตสาหกรรม",[84,85,26,27,86],"DIN 8077/8078","ISO 15874","Hygienic Certificate",[88,91,94],{"question":89,"answer":90},"ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?","ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป",{"question":92,"answer":93},"PP-RCT คืออะไร?","PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25",{"question":95,"answer":96},"ท่อ POLOPLAST รับประกันกี่ปี?","ท่อ POLOPLAST มีการรับประกันคุณภาพ 10 ปี สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์",[98,99,100],"ppr-elephant","thai-ppr","ppr-welder",{"brand":19,"manufacturer":102,"material":103,"category":104},"POLOPLAST GmbH (Germany)","PP-R / PP-RCT","Plumbing Pipe - Premium PPR","# ท่อ PP-R/PP-RCT POLOPLAST\n\n## ภาพรวม\n\nท่อพีพีอาร์ **POLOPLAST** เป็นผลิตภัณฑ์ **ระดับพรีเมียมจากเยอรมนี** มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\n\n## คุณสมบัติเด่น\n\nมีความทนทานสูงสุด **ทนอุณหภูมิได้ถึง 95°C** และ **ทนแรงดันสูงถึง PN25** รับประกันคุณภาพ **10 ปี**\n\n### ข้อดีของท่อ POLOPLAST\n\n1. **ผลิตในเยอรมนี** - คุณภาพระดับพรีเมียม\n2. **มาตรฐานสูงสุด** - DVGW และ SKZ\n3. **ทนแรงดัน PN25** - สูงที่สุดในตลาด\n4. **ฉนวนความร้อนดีเยี่ยม** - ค่าการนำความร้อน 0.15 W/mK\n5. **ทนอุณหภูมิ 95°C** - เหมาะกับน้ำร้อนอุณหภูมิสูง\n6. **รับประกัน 10 ปี** - มั่นใจในคุณภาพ\n7. **อายุการใช้งาน 50 ปี** - ลงทุนครั้งเดียว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาน้ำร้อนอุณหภูมิสูง\n- ระบบทำความร้อน (Heating)\n- ระบบแอร์แช่ (Chilled Water)\n- **โรงแรม 5 ดาว**\n- **โรงพยาบาลและศูนย์การแพทย์**\n- **โครงการระดับพรีเมียม**\n- โรงงานอุตสาหกรรม\n\n## มาตรฐานและรับรอง\n\nท่อ POLOPLAST ได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **DVGW** - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\n- ✅ **SKZ** - ศูนย์เซาท์เยอรมันพลาสติก\n- ✅ **Hygienic Certificate** - รับรองความปลอดภัยน้ำดื่ม\n\n## PP-RCT Technology\n\n**PP-RCT** (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง **PN25**\n\n## คำถามที่พบบ่อย\n\n### ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\n\nท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\n\n### PP-RCT คืออะไร?\n\nPP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\n\n### ท่อ POLOPLAST รับประกันกี่ปี?\n\nท่อ POLOPLAST มีการรับประกันคุณภาพ **10 ปี** สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/poloplast.md","056107deaa777cd1",{"html":109,"metadata":110},"\u003Ch1 id=\"ท่อ-pp-rpp-rct-poloplast\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ \u003Cstrong>POLOPLAST\u003C/strong> เป็นผลิตภัณฑ์ \u003Cstrong>ระดับพรีเมียมจากเยอรมนี\u003C/strong> มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>มีความทนทานสูงสุด \u003Cstrong>ทนอุณหภูมิได้ถึง 95°C\u003C/strong> และ \u003Cstrong>ทนแรงดันสูงถึง PN25\u003C/strong> รับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-poloplast\">ข้อดีของท่อ POLOPLAST\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในเยอรมนี\u003C/strong> - คุณภาพระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสูงสุด\u003C/strong> - DVGW และ SKZ\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน PN25\u003C/strong> - สูงที่สุดในตลาด\u003C/li>\n\u003Cli>\u003Cstrong>ฉนวนความร้อนดีเยี่ยม\u003C/strong> - ค่าการนำความร้อน 0.15 W/mK\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ 95°C\u003C/strong> - เหมาะกับน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>\u003Cstrong>รับประกัน 10 ปี\u003C/strong> - มั่นใจในคุณภาพ\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งาน 50 ปี\u003C/strong> - ลงทุนครั้งเดียว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating)\u003C/li>\n\u003Cli>ระบบแอร์แช่ (Chilled Water)\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรม 5 ดาว\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาลและศูนย์การแพทย์\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โครงการระดับพรีเมียม\u003C/strong>\u003C/li>\n\u003Cli>โรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ POLOPLAST ได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>DVGW\u003C/strong> - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>SKZ\u003C/strong> - ศูนย์เซาท์เยอรมันพลาสติก\u003C/li>\n\u003Cli>✅ \u003Cstrong>Hygienic Certificate\u003C/strong> - รับรองความปลอดภัยน้ำดื่ม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"pp-rct-technology\">PP-RCT Technology\u003C/h2>\n\u003Cp>\u003Cstrong>PP-RCT\u003C/strong> (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร\">ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\u003C/p>\n\u003Ch3 id=\"pp-rct-คืออะไร\">PP-RCT คืออะไร?\u003C/h3>\n\u003Cp>PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\u003C/p>\n\u003Ch3 id=\"ท่อ-poloplast-รับประกันกี่ปี\">ท่อ POLOPLAST รับประกันกี่ปี?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST มีการรับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong> สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":111,"localImagePaths":143,"remoteImagePaths":144,"frontmatter":11,"imagePaths":145},[112,115,118,120,124,126,128,130,133,135,137,139,141],{"depth":113,"slug":114,"text":13},1,"ท่อ-pp-rpp-rct-poloplast",{"depth":116,"slug":117,"text":117},2,"ภาพรวม",{"depth":116,"slug":119,"text":119},"คุณสมบัติเด่น",{"depth":121,"slug":122,"text":123},3,"ข้อดีของท่อ-poloplast","ข้อดีของท่อ POLOPLAST",{"depth":116,"slug":125,"text":125},"การใช้งาน",{"depth":121,"slug":127,"text":127},"เหมาะสำหรับ",{"depth":116,"slug":129,"text":129},"มาตรฐานและรับรอง",{"depth":116,"slug":131,"text":132},"pp-rct-technology","PP-RCT Technology",{"depth":116,"slug":134,"text":134},"คำถามที่พบบ่อย",{"depth":121,"slug":136,"text":89},"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร",{"depth":121,"slug":138,"text":92},"pp-rct-คืออะไร",{"depth":121,"slug":140,"text":95},"ท่อ-poloplast-รับประกันกี่ปี",{"depth":116,"slug":142,"text":142},"สินค้าที่เกี่ยวข้อง",[],[],[],"poloplast.md","ท่อhdpe",{"id":147,"data":149,"body":239,"filePath":240,"digest":241,"rendered":242,"legacyId":287},{"id":150,"name":151,"nameEn":152,"slug":147,"description":153,"shortDescription":154,"image":155,"keywords":156,"seoContent":171,"specifications":172,"features":196,"applications":207,"certifications":216,"faq":220,"relatedProductIds":233,"schemaData":235},"hdpe","ท่อ HDPE","HDPE Pipe","ท่อ HDPE PE80/PE100 ทนแรงดัน PN25 อายุการใช้งาน 50 ปี มอก. สำหรับประปาและชลประทาน","ท่อเอชดีพีอี PE80/PE100 มาตรฐาน มอก.","/images/2021/03/hdpe_welding2.jpg",[151,157,158,159,160,161,162,163,164,165,166,167,168,169,170],"ท่อเอชดีพีอี","ท่อ PE","ท่อน้ำ HDPE","PE80","PE100","ท่อ PE100","ท่อ PE80","ท่อพีอี","High Density Polyethylene","ท่อชลประทาน","ท่อประปา HDPE","ท่อดำ PE","ท่อน้ำดำ","SDR pipe","ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อพลาสติกคุณภาพสูงที่มีความทนทานและยืดหยุ่นสูง ผลิตจากเม็ดพลาสติก HDPE เกรด PE80 และ PE100 ท่อ HDPE สามารถทนแรงดันได้สูงถึง PN25 บาร์",[173,175,178,180,182,185,187,189,191,195],{"label":33,"value":174},"HDPE (High Density Polyethylene)",{"label":176,"value":177},"เกรด","PE80, PE100",{"label":36,"value":179},"มอก. 827-2547, ISO 4427",{"label":39,"value":181,"unit":41},"PN4 - PN25",{"label":183,"value":184},"SDR","SDR 9, 11, 13.6, 17, 21, 26",{"label":43,"value":186,"unit":45},"-40 ถึง 60",{"label":47,"value":188,"unit":49},"20, 32, 50, 63, 75, 90, 110, 160, 200, 250, 315, 400, 500, 630",{"label":55,"value":190},"ดำ, น้ำเงิน (Blue Stripe)",{"label":192,"value":193,"unit":194},"ความหนาแน่น","0.941-0.965","g/cm³",{"label":58,"value":59,"unit":60},[197,198,199,200,201,202,203,204,205,206],"ทนแรงดันสูงถึง PN25 บาร์","ทนทานต่อแรงกระแทกและการกัดกร่อน","ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน","ไม่เกิดสนิม ไม่เปรอะเปื้อน","น้ำหนักเบา ขนส่งและติดตั้งง่าย","รอยต่อแน่นหนาด้วย Butt Fusion","ทนทานต่อสารเคมีและกรดด่าง","อายุการใช้งานยาวนาน 50 ปี","ผ่านมาตรฐาน มอก. 827-2547","เหมาะสำหรับงานฝังดิน",[208,209,210,211,212,213,214,215],"ระบบประปา","ระบบชลประทาน","ระบบน้ำเสีย","ท่อส่งก๊าซ","งานอุตสาหกรรม","ท่อส่งสารเคมี","ระบบระบายน้ำ","งานเหมืองแร่",[217,218,219],"มอก. 827-2547","ISO 4427","ISO 9001",[221,224,227,230],{"question":222,"answer":223},"ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?","ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa ทำให้ PE100 สามารถทนแรงดันสูงกว่าในขนาดผนังที่เท่ากัน",{"question":225,"answer":226},"ท่อ HDPE มีอายุการใช้งานกี่ปี?","ท่อ HDPE มีอายุการใช้งานยาวนานกว่า 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":228,"answer":229},"วิธีติดตั้งท่อ HDPE ทำอย่างไร?","ท่อ HDPE ติดตั้งโดยใช้วิธี Butt Fusion (เชื่อมปลายต่อ) หรือ Electrofusion (เชื่อมด้วยไฟฟ้า) โดยใช้อุปกรณ์เชื่อมท่อ HDPE เฉพาะทาง",{"question":231,"answer":232},"SDR ในท่อ HDPE คืออะไร?","SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า ทนแรงดันได้สูงกว่า",[234,98],"hdpe-welder",{"brand":236,"material":237,"category":238},"Thai HDPE","High Density Polyethylene (HDPE)","Water Pipe - HDPE","# ท่อ HDPE (High Density Polyethylene)\n\n## ภาพรวม\n\nท่อ HDPE (High Density Polyethylene) หรือ **ท่อเอชดีพีอี** เป็นท่อพลาสติกคุณภาพสูงที่มีความ **ทนทานและยืดหยุ่นสูง** ผลิตจากเม็ดพลาสติก HDPE เกรด **PE80 และ PE100**\n\n## คุณสมบัติเด่น\n\nท่อ HDPE สามารถทนแรงดันได้สูงถึง **PN25 บาร์** ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า **50 ปี**\n\n### ข้อดีของท่อ HDPE\n\n1. **ทนแรงดันสูง** - สูงถึง PN25 บาร์\n2. **ทนแรงกระแทก** - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\n3. **ไม่เกิดสนิม** - ทนสารเคมีและกรดด่าง\n4. **น้ำหนักเบา** - ขนส่งและติดตั้งง่าย\n5. **รอยต่อแน่นหนา** - ระบบ Butt Fusion ไม่รั่วซึม\n6. **อายุการใช้งานยาว** - มากกว่า 50 ปี\n7. **มาตรฐาน มอก.** - รับรองคุณภาพ\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบประปา** - งานผลิตน้ำประปา\n- **ระบบชลประทาน** - ส่งน้ำทางการเกษตร\n- **ระบบน้ำเสีย** - ท่อระบายน้ำ\n- **ท่อส่งก๊าซ** - ท่อส่งก๊าซธรรมชาติ\n- **งานอุตสาหกรรม** - ท่อส่งสารเคมี\n- **ระบบระบายน้ำ** - งานเทศบาลและเมือง\n\n## มาตรฐานและรับรอง\n\nท่อ HDPE ผ่านมาตรฐาน:\n\n- ✅ **มอก. 827-2547** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n- ✅ **ISO 4427** - มาตรฐานสากล\n- ✅ **ISO 9001** - ระบบบริหารคุณภาพ\n\n## เกรดของท่อ HDPE\n\n### PE80 vs PE100\n\n| คุณสมบัติ | PE80 | PE100 |\n|-----------|------|-------|\n| **MRS** | 8 MPa | 10 MPa |\n| **ทนแรงดัน** | สูง | สูงกว่า |\n| **ราคา** | ประหยัด | สูงกว่า |\n| **การใช้งาน** | ทั่วไป | แรงดันสูง |\n\n## SDR (Standard Dimension Ratio)\n\n**SDR** คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\n\n- **SDR น้อย** = ผนังหนา = ทนแรงดันสูง\n- **SDR มาก** = ผนังบาง = ทนแรงดันต่ำ\n\nตัวอย่าง:\n- SDR 9 = ทนแรงดันสูงสุด\n- SDR 11 = ทนแรงดันสูง\n- SDR 17 = ทนแรงดันปานกลาง\n- SDR 26 = ทนแรงดันต่ำ\n\n## การติดตั้ง\n\n### วิธี Butt Fusion\n- เหมาะสำหรับท่อ **63-1200 mm**\n- ใช้ความร้อนหลอมปลายท่อ\n- กดต่อกันจนเป็นชิ้นเดียว\n\n### วิธี Electrofusion\n- เหมาะสำหรับท่อ **20-630 mm**\n- ใช้ข้อต่อที่มีขดลวดความร้อน\n- สะดวกในพื้นที่จำกัด\n\n## คำถามที่พบบ่อย\n\n### ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\n\nท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\n\n### ท่อ HDPE มีอายุการใช้งานกี่ปี?\n\nท่อ HDPE มีอายุการใช้งานยาวนานกว่า **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### วิธีติดตั้งท่อ HDPE ทำอย่างไร?\n\nท่อ HDPE ติดตั้งโดยใช้วิธี **Butt Fusion** (เชื่อมปลายต่อ) หรือ **Electrofusion** (เชื่อมด้วยไฟฟ้า)\n\n### SDR ในท่อ HDPE คืออะไร?\n\nSDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\n\n## สินค้าที่เกี่ยวข้อง\n\n- [เครื่องเชื่อม HDPE](/เครื่องเชื่อม-hdpe/)\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)","src/content/products/hdpe.md","a3244742bb928e97",{"html":243,"metadata":244},"\u003Ch1 id=\"ท่อ-hdpe-high-density-polyethylene\">ท่อ HDPE (High Density Polyethylene)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือ \u003Cstrong>ท่อเอชดีพีอี\u003C/strong> เป็นท่อพลาสติกคุณภาพสูงที่มีความ \u003Cstrong>ทนทานและยืดหยุ่นสูง\u003C/strong> ผลิตจากเม็ดพลาสติก HDPE เกรด \u003Cstrong>PE80 และ PE100\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ HDPE สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25 บาร์\u003C/strong> ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง PN25 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงกระแทก\u003C/strong> - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ทนสารเคมีและกรดด่าง\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งง่าย\u003C/li>\n\u003Cli>\u003Cstrong>รอยต่อแน่นหนา\u003C/strong> - ระบบ Butt Fusion ไม่รั่วซึม\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - มากกว่า 50 ปี\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบประปา\u003C/strong> - งานผลิตน้ำประปา\u003C/li>\n\u003Cli>\u003Cstrong>ระบบชลประทาน\u003C/strong> - ส่งน้ำทางการเกษตร\u003C/li>\n\u003Cli>\u003Cstrong>ระบบน้ำเสีย\u003C/strong> - ท่อระบายน้ำ\u003C/li>\n\u003Cli>\u003Cstrong>ท่อส่งก๊าซ\u003C/strong> - ท่อส่งก๊าซธรรมชาติ\u003C/li>\n\u003Cli>\u003Cstrong>งานอุตสาหกรรม\u003C/strong> - ท่อส่งสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำ\u003C/strong> - งานเทศบาลและเมือง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ HDPE ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 827-2547\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 4427\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 9001\u003C/strong> - ระบบบริหารคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80-vs-pe100\">PE80 vs PE100\u003C/h3>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>คุณสมบัติ\u003C/th>\u003Cth>PE80\u003C/th>\u003Cth>PE100\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>MRS\u003C/strong>\u003C/td>\u003Ctd>8 MPa\u003C/td>\u003Ctd>10 MPa\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ทนแรงดัน\u003C/strong>\u003C/td>\u003Ctd>สูง\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ราคา\u003C/strong>\u003C/td>\u003Ctd>ประหยัด\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>การใช้งาน\u003C/strong>\u003C/td>\u003Ctd>ทั่วไป\u003C/td>\u003Ctd>แรงดันสูง\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"sdr-standard-dimension-ratio\">SDR (Standard Dimension Ratio)\u003C/h2>\n\u003Cp>\u003Cstrong>SDR\u003C/strong> คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>SDR น้อย\u003C/strong> = ผนังหนา = ทนแรงดันสูง\u003C/li>\n\u003Cli>\u003Cstrong>SDR มาก\u003C/strong> = ผนังบาง = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Cp>ตัวอย่าง:\u003C/p>\n\u003Cul>\n\u003Cli>SDR 9 = ทนแรงดันสูงสุด\u003C/li>\n\u003Cli>SDR 11 = ทนแรงดันสูง\u003C/li>\n\u003Cli>SDR 17 = ทนแรงดันปานกลาง\u003C/li>\n\u003Cli>SDR 26 = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>63-1200 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ความร้อนหลอมปลายท่อ\u003C/li>\n\u003Cli>กดต่อกันจนเป็นชิ้นเดียว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>20-630 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ข้อต่อที่มีขดลวดความร้อน\u003C/li>\n\u003Cli>สะดวกในพื้นที่จำกัด\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร\">ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\u003C/p>\n\u003Ch3 id=\"ท่อ-hdpe-มีอายุการใช้งานกี่ปี\">ท่อ HDPE มีอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร\">วิธีติดตั้งท่อ HDPE ทำอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE ติดตั้งโดยใช้วิธี \u003Cstrong>Butt Fusion\u003C/strong> (เชื่อมปลายต่อ) หรือ \u003Cstrong>Electrofusion\u003C/strong> (เชื่อมด้วยไฟฟ้า)\u003C/p>\n\u003Ch3 id=\"sdr-ในท่อ-hdpe-คืออะไร\">SDR ในท่อ HDPE คืออะไร?\u003C/h3>\n\u003Cp>SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1-hdpe/\">เครื่องเชื่อม HDPE\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":245,"localImagePaths":284,"remoteImagePaths":285,"frontmatter":149,"imagePaths":286},[246,249,250,251,254,255,256,257,260,263,266,268,271,274,275,277,279,281,283],{"depth":113,"slug":247,"text":248},"ท่อ-hdpe-high-density-polyethylene","ท่อ HDPE (High Density Polyethylene)",{"depth":116,"slug":117,"text":117},{"depth":116,"slug":119,"text":119},{"depth":121,"slug":252,"text":253},"ข้อดีของท่อ-hdpe","ข้อดีของท่อ HDPE",{"depth":116,"slug":125,"text":125},{"depth":121,"slug":127,"text":127},{"depth":116,"slug":129,"text":129},{"depth":116,"slug":258,"text":259},"เกรดของท่อ-hdpe","เกรดของท่อ HDPE",{"depth":121,"slug":261,"text":262},"pe80-vs-pe100","PE80 vs PE100",{"depth":116,"slug":264,"text":265},"sdr-standard-dimension-ratio","SDR (Standard Dimension Ratio)",{"depth":116,"slug":267,"text":267},"การติดตั้ง",{"depth":121,"slug":269,"text":270},"วิธี-butt-fusion","วิธี Butt Fusion",{"depth":121,"slug":272,"text":273},"วิธี-electrofusion","วิธี Electrofusion",{"depth":116,"slug":134,"text":134},{"depth":121,"slug":276,"text":222},"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร",{"depth":121,"slug":278,"text":225},"ท่อ-hdpe-มีอายุการใช้งานกี่ปี",{"depth":121,"slug":280,"text":228},"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร",{"depth":121,"slug":282,"text":231},"sdr-ในท่อ-hdpe-คืออะไร",{"depth":116,"slug":142,"text":142},[],[],[],"hdpe.md","ท่อพีพีอาร์ตราช้าง",{"id":288,"data":290,"body":363,"filePath":364,"digest":365,"rendered":366,"legacyId":397},{"id":98,"name":288,"nameEn":291,"slug":288,"description":292,"shortDescription":293,"image":294,"seoContent":295,"keywords":296,"specifications":305,"features":321,"applications":330,"certifications":338,"faq":341,"relatedProductIds":357,"schemaData":358},"PPR Elephant Pipe","ท่อพีพีอาร์ตราช้าง (SCG) คุณภาพระดับสากล ทนอุณหภูมิสูง 95°C ทนความดัน 20 บาร์ อายุการใช้งาน 50 ปี","ท่อพีพีอาร์ตราช้าง SCG มาตรฐาน DIN 8077/8078","/images/2021/03/hdpe_pipe_main.jpg","ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท Polypropylene Random Copolymer (PP-R) ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล",[297,298,299,300,301,302,303,304],"ท่อ PPR","ท่อพีพีอาร์","ท่อน้ำ PPR","ท่อประปา PPR","ราคาท่อ PPR","ท่อตราช้าง","SCG PPR","ท่อ PPR SCG",[306,308,310,312,313,315,318,320],{"label":33,"value":307},"PP-R (Polypropylene Random Copolymer)",{"label":36,"value":309},"DIN 8077/8078, ISO 15874",{"label":39,"value":311,"unit":41},"PN10, PN16, PN20",{"label":43,"value":44,"unit":45},{"label":47,"value":314,"unit":49},"20, 25, 32, 40, 50, 63, 75, 90, 110",{"label":316,"value":317},"ความหนาผนัง","SDR 7.4, 11, 17.6",{"label":55,"value":319},"ขาว, เขียว",{"label":58,"value":59,"unit":60},[322,323,71,324,325,326,327,204,328,329],"ทนอุณหภูมิสูงสุด 95°C เหมาะกับน้ำร้อน","ทนความดัน PN20 (20 บาร์)","ผิวภายในเรียบลดการสะสมของตะกรัน","ติดตั้งด้วยการเชื่อมความร้อน ไม่ต้องใช้กาว","ปลอดภัยสำหรับน้ำดื่ม ไม่ปนเปื้อนสารพิษ","ฉนวนความร้อนดี ลดการสูญเสียความร้อน","บำรุงรักษาต่ำ ไม่ต้องทาสี","น้ำหนักเบา ติดตั้งง่าย",[331,332,77,333,334,335,336,337,82],"ระบบประปาน้ำร้อน","ระบบประปาน้ำเย็น","ระบบน้ำแรงดันสูง","โรงแรมและรีสอร์ท","โรงพยาบาลและสถานพยาบาล","อาคารพาณิชย์และสำนักงาน","โครงการบ้านจัดสรร",[84,85,339,340],"มอก. 248-2549","SCG Quality Certified",[342,345,348,351,354],{"question":343,"answer":344},"ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?","ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด 95°C ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน",{"question":346,"answer":347},"ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?","ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":349,"answer":350},"ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?","ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า",{"question":352,"answer":353},"วิธีติดตั้งท่อ PPR ตราช้างทำอย่างไร?","ติดตั้งโดยใช้เครื่องเชื่อมท่อ PPR อุณหภูมิ 260°C โดยเชื่อมท่อกับข้อต่อด้วยความร้อนจนกลายเป็นชิ้นเดียวกัน",{"question":355,"answer":356},"ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?","ได้ ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ",[99,12,100],{"brand":359,"manufacturer":360,"material":361,"category":362},"SCG Elephant","SCG Chemicals","Polypropylene Random Copolymer (PP-R)","Plumbing Pipe - PPR","# ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\n\n## ภาพรวม\n\nท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท **Polypropylene Random Copolymer (PP-R)** ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\n\n## คุณสมบัติเด่น\n\nท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด **95°C** และทนความดันได้ถึง **20 บาร์ (PN20)** เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\n\n### ข้อดีของท่อ PPR ตราช้าง\n\n1. **ทนความร้อนสูง** - ใช้งานกับน้ำร้อนได้ถึง 95°C\n2. **ทนแรงดัน** - รับแรงดันได้สูงสุด 20 บาร์\n3. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n4. **ผิวเรียบ** - ลดการสะสมของตะกรันในท่อ\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\n7. **อายุยาวนาน** - ใช้งานได้นาน 50 ปี\n\n## การใช้งาน\n\n### เหมาะสำหรัก\n\n- ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\n- ระบบน้ำเย็นในอาคารพาณิชย์\n- ระบบทำความร้อน (Heating System)\n- ระบบน้ำแรงดันสูงในโรงงาน\n- โรงพยาบาลและสถานพยาบาล\n- โครงการบ้านจัดสรร\n\n## มาตรฐานและรับรอง\n\nท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\n- ✅ **SCG Quality Certified** - รับรองคุณภาพโดย SCG\n\n## วิธีการติดตั้ง\n\nการติดตั้งท่อ PPR ตราช้างใช้ระบบ **เชื่อมความร้อน (Heat Fusion)**:\n\n1. ตั้งเครื่องเชื่อมที่อุณหภูมิ **260°C**\n2. เสียบท่อและข้อต่อเข้าในแม่พิมพ์\n3. รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\n4. ดึงออกและเชื่อมท่อกับข้อต่อทันที\n5. รอให้เย็นตัว (ประมาณ 2-3 นาที)\n\n## คำถามที่พบบ่อย\n\n### ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\n\nท่อ PPR ตราช้างทนอุณหภูมิสูงสุด **95°C** ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\n\n### ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\n\nท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\n\nท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\n\n### ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\n\n**ได้** ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/ppr-elephant.md","04a2bb1fd366b429",{"html":367,"metadata":368},"\u003Ch1 id=\"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe\">ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท \u003Cstrong>Polypropylene Random Copolymer (PP-R)\u003C/strong> ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> และทนความดันได้ถึง \u003Cstrong>20 บาร์ (PN20)\u003C/strong> เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-ppr-ตราช้าง\">ข้อดีของท่อ PPR ตราช้าง\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนความร้อนสูง\u003C/strong> - ใช้งานกับน้ำร้อนได้ถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน\u003C/strong> - รับแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ผิวเรียบ\u003C/strong> - ลดการสะสมของตะกรันในท่อ\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\u003C/li>\n\u003Cli>\u003Cstrong>อายุยาวนาน\u003C/strong> - ใช้งานได้นาน 50 ปี\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรัก\">เหมาะสำหรัก\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\u003C/li>\n\u003Cli>ระบบน้ำเย็นในอาคารพาณิชย์\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating System)\u003C/li>\n\u003Cli>ระบบน้ำแรงดันสูงในโรงงาน\u003C/li>\n\u003Cli>โรงพยาบาลและสถานพยาบาล\u003C/li>\n\u003Cli>โครงการบ้านจัดสรร\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\u003C/li>\n\u003Cli>✅ \u003Cstrong>SCG Quality Certified\u003C/strong> - รับรองคุณภาพโดย SCG\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"วิธีการติดตั้ง\">วิธีการติดตั้ง\u003C/h2>\n\u003Cp>การติดตั้งท่อ PPR ตราช้างใช้ระบบ \u003Cstrong>เชื่อมความร้อน (Heat Fusion)\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>ตั้งเครื่องเชื่อมที่อุณหภูมิ \u003Cstrong>260°C\u003C/strong>\u003C/li>\n\u003Cli>เสียบท่อและข้อต่อเข้าในแม่พิมพ์\u003C/li>\n\u003Cli>รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\u003C/li>\n\u003Cli>ดึงออกและเชื่อมท่อกับข้อต่อทันที\u003C/li>\n\u003Cli>รอให้เย็นตัว (ประมาณ 2-3 นาที)\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร\">ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี\">ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร\">ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\u003C/h3>\n\u003Cp>ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่\">ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\u003C/h3>\n\u003Cp>\u003Cstrong>ได้\u003C/strong> ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":369,"localImagePaths":394,"remoteImagePaths":395,"frontmatter":290,"imagePaths":396},[370,373,374,375,378,379,381,382,384,385,387,389,391,393],{"depth":113,"slug":371,"text":372},"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe","ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)",{"depth":116,"slug":117,"text":117},{"depth":116,"slug":119,"text":119},{"depth":121,"slug":376,"text":377},"ข้อดีของท่อ-ppr-ตราช้าง","ข้อดีของท่อ PPR ตราช้าง",{"depth":116,"slug":125,"text":125},{"depth":121,"slug":380,"text":380},"เหมาะสำหรัก",{"depth":116,"slug":129,"text":129},{"depth":116,"slug":383,"text":383},"วิธีการติดตั้ง",{"depth":116,"slug":134,"text":134},{"depth":121,"slug":386,"text":343},"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร",{"depth":121,"slug":388,"text":346},"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี",{"depth":121,"slug":390,"text":349},"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร",{"depth":121,"slug":392,"text":355},"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่",{"depth":116,"slug":142,"text":142},[],[],[],"ppr-elephant.md","ท่อไซเลอร์",{"id":398,"data":400,"body":461,"filePath":462,"digest":463,"rendered":464,"legacyId":488},{"id":401,"name":398,"nameEn":402,"slug":398,"description":403,"shortDescription":404,"image":405,"keywords":406,"seoContent":415,"specifications":416,"features":432,"applications":440,"certifications":445,"faq":447,"relatedProductIds":454,"schemaData":457},"syler","Syler Pipe","ท่อไซเลอร์ ท่อเหล็กบุ PE ทนแรงดัน 50 bar มาตรฐาน BS1387 FM APPROVED สำหรับระบบดับเพลิง","ท่อเหล็กบุ PE BS1387 FM APPROVED","/images/2021/03/hdpe002.jpg",[398,402,407,408,409,410,411,412,413,414],"ท่อเหล็กบุ PE","FM APPROVED","ท่อดับเพลิง","ท่อสปริงเกลอร์","BS1387","ท่อเหล็กชุบ PE","fire protection pipe","ท่อน้ำดับเพลิง","ท่อไซเลอร์ (Syler Pipe) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ท่อมีความทนทานสูง ทนแรงดันได้ถึง 50 บาร์ ผ่านมาตรฐาน BS1387 จากอังกฤษและ FM APPROVED จาก Factory Mutual",[417,419,421,422,424,426,430],{"label":33,"value":418},"เหล็กบุ PE (Steel with PE lining)",{"label":36,"value":420},"BS1387, FM APPROVED",{"label":39,"value":59,"unit":41},{"label":47,"value":423,"unit":49},"25, 32, 40, 50, 65, 80, 100, 150, 200",{"label":316,"value":425},"Schedule 40, 80",{"label":427,"value":428,"unit":429},"ความยาว","6","เมตร",{"label":55,"value":431},"แดง (Red) - Fire Protection",[433,434,435,436,437,438,439],"ทนแรงดันสูง 50 บาร์","ผ่านมาตรฐาน BS1387 และ FM APPROVED","บุ PE ป้องกันสนิมและการกัดกร่อน","อายุการใช้งานยาวนาน","เหมาะสำหรับระบบดับเพลิง","ติดตั้งด้วย Groove Coupling","ทนทานต่อความร้อน",[441,442,82,443,444],"ระบบสปริงเกลอร์","ระบบดับเพลิง","อาคารพาณิชย์สูง","โรงแรมและโรงพยาบาล",[411,408,446],"UL Listed",[448,451],{"question":449,"answer":450},"ท่อไซเลอร์เหมาะกับงานอะไร?","ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย",{"question":452,"answer":453},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?","ท่อไซเลอร์มีการบุ PE ภายในท่อ ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป",[455,456],"realflex","groove-coupling",{"brand":458,"material":459,"category":460},"Syler","Steel with PE Lining","Fire Protection Pipe","# ท่อไซเลอร์ (Syler Pipe)\n\n## ภาพรวม\n\nท่อไซเลอร์ (**Syler Pipe**) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ท่อมีความทนทานสูง ทนแรงดันได้ถึง **50 บาร์**\n\n## คุณสมบัติเด่น\n\nผ่านมาตรฐาน **BS1387** จากอังกฤษและ **FM APPROVED** จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\n\n### ข้อดีของท่อไซเลอร์\n\n1. **ทนแรงดันสูง** - สูงถึง 50 บาร์\n2. **มาตรฐานสากล** - BS1387, FM APPROVED, UL Listed\n3. **บุ PE** - ป้องกันสนิมและการกัดกร่อน\n4. **เหมาะสำหรับดับเพลิง** - ออกแบบมาเฉพาะงานนี้\n5. **ติดตั้งง่าย** - ใช้ Groove Coupling\n6. **ทนความร้อน** - เหมาะกับระบบสปริงเกลอร์\n7. **อายุการใช้งานยาว** - ทนทานในระยะยาว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบสปริงเกลอร์** - งานดับเพลิงอัตโนมัติ\n- **ระบบดับเพลิง** - งานป้องกันอัคคีภัย\n- **โรงงานอุตสาหกรรม** - ระบบความปลอดภัย\n- **อาคารพาณิชย์สูง** - อาคารสูง คอนโด\n- **โรงแรมและโรงพยาบาล** - สถานที่สาธารณะ\n\n## มาตรฐานและรับรอง\n\nท่อไซเลอร์ผ่านมาตรฐาน:\n\n- ✅ **BS1387** - มาตรฐานอังกฤษสำหรับท่อเหล็ก\n- ✅ **FM APPROVED** - Factory Mutual รับรองสำหรับระบบดับเพลิง\n- ✅ **UL Listed** - รับรองความปลอดภัย\n\n## การติดตั้ง\n\nท่อไซเลอร์ติดตั้งโดยใช้ **Groove Coupling** ซึ่งเป็นระบบต่อท่อที่:\n- ติดตั้งรวดเร็ว\n- ไม่ต้องใช้เครื่องเชื่อม\n- รองรับแรงดันสูง\n- ถอดประกอบได้สะดวก\n\n## คำถามที่พบบ่อย\n\n### ท่อไซเลอร์เหมาะกับงานอะไร?\n\nท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\n\n### ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\n\nท่อไซเลอร์มีการ **บุ PE ภายในท่อ** ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\n\n## สินค้าที่เกี่ยวข้อง\n\n- [Realflex](/realflex/)\n- [ท่อและข้อต่อ Groove](/อุปกรณ์ท่อกรูฟ/)","src/content/products/syler.md","e49886d315c31394",{"html":465,"metadata":466},"\u003Ch1 id=\"ท่อไซเลอร์-syler-pipe\">ท่อไซเลอร์ (Syler Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อไซเลอร์ (\u003Cstrong>Syler Pipe\u003C/strong>) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ท่อมีความทนทานสูง ทนแรงดันได้ถึง \u003Cstrong>50 บาร์\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ผ่านมาตรฐาน \u003Cstrong>BS1387\u003C/strong> จากอังกฤษและ \u003Cstrong>FM APPROVED\u003C/strong> จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อไซเลอร์\">ข้อดีของท่อไซเลอร์\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง 50 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสากล\u003C/strong> - BS1387, FM APPROVED, UL Listed\u003C/li>\n\u003Cli>\u003Cstrong>บุ PE\u003C/strong> - ป้องกันสนิมและการกัดกร่อน\u003C/li>\n\u003Cli>\u003Cstrong>เหมาะสำหรับดับเพลิง\u003C/strong> - ออกแบบมาเฉพาะงานนี้\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - ใช้ Groove Coupling\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - เหมาะกับระบบสปริงเกลอร์\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - ทนทานในระยะยาว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบสปริงเกลอร์\u003C/strong> - งานดับเพลิงอัตโนมัติ\u003C/li>\n\u003Cli>\u003Cstrong>ระบบดับเพลิง\u003C/strong> - งานป้องกันอัคคีภัย\u003C/li>\n\u003Cli>\u003Cstrong>โรงงานอุตสาหกรรม\u003C/strong> - ระบบความปลอดภัย\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพาณิชย์สูง\u003C/strong> - อาคารสูง คอนโด\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและโรงพยาบาล\u003C/strong> - สถานที่สาธารณะ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>BS1387\u003C/strong> - มาตรฐานอังกฤษสำหรับท่อเหล็ก\u003C/li>\n\u003Cli>✅ \u003Cstrong>FM APPROVED\u003C/strong> - Factory Mutual รับรองสำหรับระบบดับเพลิง\u003C/li>\n\u003Cli>✅ \u003Cstrong>UL Listed\u003C/strong> - รับรองความปลอดภัย\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ติดตั้งโดยใช้ \u003Cstrong>Groove Coupling\u003C/strong> ซึ่งเป็นระบบต่อท่อที่:\u003C/p>\n\u003Cul>\n\u003Cli>ติดตั้งรวดเร็ว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องเชื่อม\u003C/li>\n\u003Cli>รองรับแรงดันสูง\u003C/li>\n\u003Cli>ถอดประกอบได้สะดวก\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อไซเลอร์เหมาะกับงานอะไร\">ท่อไซเลอร์เหมาะกับงานอะไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\u003C/p>\n\u003Ch3 id=\"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร\">ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์มีการ \u003Cstrong>บุ PE ภายในท่อ\u003C/strong> ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/realflex/\">Realflex\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%AD%E0%B8%B8%E0%B8%9B%E0%B8%81%E0%B8%A3%E0%B8%93%E0%B9%8C%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%81%E0%B8%A3%E0%B8%B9%E0%B8%9F/\">ท่อและข้อต่อ Groove\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":467,"localImagePaths":485,"remoteImagePaths":486,"frontmatter":400,"imagePaths":487},[468,471,472,473,475,476,477,478,479,480,482,484],{"depth":113,"slug":469,"text":470},"ท่อไซเลอร์-syler-pipe","ท่อไซเลอร์ (Syler Pipe)",{"depth":116,"slug":117,"text":117},{"depth":116,"slug":119,"text":119},{"depth":121,"slug":474,"text":474},"ข้อดีของท่อไซเลอร์",{"depth":116,"slug":125,"text":125},{"depth":121,"slug":127,"text":127},{"depth":116,"slug":129,"text":129},{"depth":116,"slug":267,"text":267},{"depth":116,"slug":134,"text":134},{"depth":121,"slug":481,"text":449},"ท่อไซเลอร์เหมาะกับงานอะไร",{"depth":121,"slug":483,"text":452},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร",{"depth":116,"slug":142,"text":142},[],[],[],"syler.md","ท่อppr-thaippr",{"id":489,"data":491,"body":538,"filePath":539,"digest":540,"rendered":541,"legacyId":564},{"id":99,"name":492,"nameEn":493,"slug":489,"description":494,"shortDescription":495,"image":294,"keywords":496,"seoContent":503,"specifications":504,"features":515,"applications":522,"certifications":528,"faq":529,"relatedProductIds":536,"schemaData":537},"ท่อ PPR Thai PPR","Thai PPR Pipe","ท่อ PPR Thai PPR คุณภาพสูง มาตรฐาน มอก. เหมาะสำหรับงานประปาและระบบน้ำ","ท่อ PPR Thai PPR มาตรฐาน มอก.",[297,497,498,499,299,300,500,501,502],"Thai PPR","ท่อพีพีอาร์ไทย","ท่อ PPR ไทย","ราคาท่อ PPR ไทย","ท่อพีพีอาร์มาตรฐาน มอก.","ท่อ PPR ราคาถูก","ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ผลิตในประเทศไทย ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด",[505,506,507,508,510,511,513],{"label":33,"value":307},{"label":36,"value":339},{"label":39,"value":311,"unit":41},{"label":43,"value":509,"unit":45},"0-70",{"label":47,"value":314,"unit":49},{"label":55,"value":512},"ขาว, เขียว, เทา",{"label":58,"value":514,"unit":60},"30-50",[516,517,518,71,519,520,521],"ผลิตในประเทศไทย ราคาประหยัด","ผ่านมาตรฐาน มอก. สามารถตรวจสอบได้","ทนอุณหภูมิสูงสุด 70°C","ติดตั้งด้วยการเชื่อมความร้อน","ปลอดภัยสำหรับน้ำดื่ม","น้ำหนักเบา ขนส่งง่าย",[523,524,525,526,527],"ระบบประปาภายในอาคาร","ระบบน้ำเย็น","งานก่อสร้างที่อยู่อาศัย","โครงการจัดสรร","งานประปาขนาดเล็กและกลาง",[339],[530,533],{"question":531,"answer":532},"ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?","ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า",{"question":534,"answer":535},"ท่อ Thai PPR รับประกันคุณภาพหรือไม่?","ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้",[98,12,100],{"brand":497,"manufacturer":497,"material":361,"category":362},"# ท่อ PPR Thai PPR\n\n## ภาพรวม\n\nท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ **ผลิตในประเทศไทย** ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\n\n## คุณสมบัติเด่น\n\nด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\n\n### ข้อดีของท่อ Thai PPR\n\n1. **ผลิตในไทย** - ราคาประหยัด สนับสนุนสินค้าไทย\n2. **มาตรฐาน มอก.** - รับรองคุณภาพ ตรวจสอบได้\n3. **ทนความร้อน** - ใช้งานได้สูงถึง 70°C\n4. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้\n7. **น้ำหนักเบา** - ขนส่งและติดตั้งสะดวก\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาภายในอาคาร\n- ระบบน้ำเย็น\n- งานก่อสร้างที่อยู่อาศัย\n- โครงการจัดสรร\n- งานประปาขนาดเล็กและกลาง\n\n## มาตรฐานและรับรอง\n\nท่อ PPR Thai PPR ผ่านมาตรฐาน:\n\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n\n## คำถามที่พบบ่อย\n\n### ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\n\nท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\n\n### ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\n\nได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/thai-ppr.md","dff07efbdc251762",{"html":542,"metadata":543},"\u003Ch1 id=\"ท่อ-ppr-thai-ppr\">ท่อ PPR Thai PPR\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ \u003Cstrong>ผลิตในประเทศไทย\u003C/strong> ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-thai-ppr\">ข้อดีของท่อ Thai PPR\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในไทย\u003C/strong> - ราคาประหยัด สนับสนุนสินค้าไทย\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ ตรวจสอบได้\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - ใช้งานได้สูงถึง 70°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งสะดวก\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาภายในอาคาร\u003C/li>\n\u003Cli>ระบบน้ำเย็น\u003C/li>\n\u003Cli>งานก่อสร้างที่อยู่อาศัย\u003C/li>\n\u003Cli>โครงการจัดสรร\u003C/li>\n\u003Cli>งานประปาขนาดเล็กและกลาง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร\">ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\u003C/h3>\n\u003Cp>ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่\">ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\u003C/h3>\n\u003Cp>ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":544,"localImagePaths":561,"remoteImagePaths":562,"frontmatter":491,"imagePaths":563},[545,547,548,549,552,553,554,555,556,558,560],{"depth":113,"slug":546,"text":492},"ท่อ-ppr-thai-ppr",{"depth":116,"slug":117,"text":117},{"depth":116,"slug":119,"text":119},{"depth":121,"slug":550,"text":551},"ข้อดีของท่อ-thai-ppr","ข้อดีของท่อ Thai PPR",{"depth":116,"slug":125,"text":125},{"depth":121,"slug":127,"text":127},{"depth":116,"slug":129,"text":129},{"depth":116,"slug":134,"text":134},{"depth":121,"slug":557,"text":531},"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร",{"depth":121,"slug":559,"text":534},"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่",{"depth":116,"slug":142,"text":142},[],[],[],"thai-ppr.md","ท่อระบายน้ำ-3-ชั้น-ไซเลนท",{"id":565,"data":567,"body":636,"filePath":637,"digest":638,"rendered":639,"legacyId":669},{"id":568,"name":569,"nameEn":570,"slug":565,"description":571,"shortDescription":572,"image":573,"keywords":574,"seoContent":586,"specifications":587,"features":605,"applications":613,"certifications":618,"faq":622,"relatedProductIds":629,"schemaData":631},"xylent","ท่อระบายน้ำ 3 ชั้น ไซเลนท์","XYLENT Silent Pipe","ท่อระบายน้ำ XYLENT 3 ชั้น ลดเสียง 22dB ระบบ Push Fit ติดตั้งง่าย จาก Poloplast ยุโรป","ท่อระบายน้ำไซเลนท์ 22dB Push Fit","/images/2021/03/hdpe_product.jpg",[575,576,577,578,579,580,581,582,583,584,585],"ท่อ XYLENT","22 dB","ท่อระบายน้ำ 3 ชั้น","ท่อไซเลนท์","silent pipe","ท่อลดเสียง","Push Fit pipe","ท่อระบายน้ำไซเลนท์","Poloplast","ท่อ PP","ท่อระบายน้ำอาคาร","ท่อระบายน้ำ XYLENT เป็นท่อระบายน้ำระดับพรีเมียมจาก Poloplast ประเทศออสเตรีย มีโครงสร้าง 3 ชั้น (Triple Layer) ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ระบบ Push Fit ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ",[588,590,592,596,597,599,602,604],{"label":33,"value":589},"PP (Polypropylene) 3 ชั้น",{"label":36,"value":591},"EN 1451, DIN 19560",{"label":593,"value":594,"unit":595},"การลดเสียง","22","dB",{"label":43,"value":44,"unit":45},{"label":47,"value":598,"unit":49},"32, 40, 50, 75, 90, 110, 125, 160",{"label":600,"value":601},"ระบบติดตั้ง","Push Fit (Push-Fit)",{"label":55,"value":603},"เทาอ่อน",{"label":58,"value":59,"unit":60},[606,607,608,609,610,611,612,72],"ลดเสียงรบกวน 22 dB","โครงสร้าง 3 ชั้น (Triple Layer)","ระบบ Push Fit ติดตั้งง่าย","ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ","ผลิตในออสเตรีย คุณภาพยุโรป","ทนอุณหภูมิสูง 95°C","ไม่แตกหักง่าย",[614,334,615,616,617],"ระบบระบายน้ำอาคาร","โรงพยาบาล","อาคารพักอาศัยระดับสูง","อาคารสำนักงาน",[619,620,621],"EN 1451","DIN 19560","DIBt Approved",[623,626],{"question":624,"answer":625},"ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?","ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ",{"question":627,"answer":628},"ระบบ Push Fit คืออะไร?","ระบบ Push Fit เป็นระบบติดตั้งที่ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว",[12,630],"upvc",{"brand":632,"manufacturer":633,"material":634,"category":635},"XYLENT by Poloplast","Poloplast (Austria)","Polypropylene (PP) - Triple Layer","Drainage Pipe - Silent","# ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\n\n## ภาพรวม\n\nท่อระบายน้ำ **XYLENT** เป็นท่อระบายน้ำระดับพรีเมียมจาก **Poloplast ประเทศออสเตรีย** มีโครงสร้าง **3 ชั้น (Triple Layer)** ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล**\n\n## คุณสมบัติเด่น\n\nระบบ **Push Fit** ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ข้อดีของท่อ XYLENT\n\n1. **ลดเสียง 22 dB** - เงียบกว่าท่อทั่วไป\n2. **3 ชั้น** - Triple Layer Structure\n3. **Push Fit** - ติดตั้งง่าย ไม่ต้องใช้กาว\n4. **คุณภาพยุโรป** - ผลิตในออสเตรีย\n5. **ทนอุณหภูมิ** - สูงถึง 95°C\n6. **ไม่แตกหัก** - PP เกรดสูง\n7. **อายุ 50 ปี** - ทนทานยาวนาน\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบระบายน้ำอาคาร** - ท่อระบายน้ำทิ้ง\n- **โรงแรมและรีสอร์ท** - ต้องการความเงียบ\n- **โรงพยาบาล** - สถานที่ต้องการความสงบ\n- **อาคารพักอาศัยระดับสูง** - คอนโดระดับพรีเมียม\n- **อาคารสำนักงาน** - สำนักงานเกรด A\n\n## มาตรฐานและรับรอง\n\nท่อ XYLENT ผ่านมาตรฐาน:\n\n- ✅ **EN 1451** - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\n- ✅ **DIN 19560** - มาตรฐานเยอรมัน\n- ✅ **DIBt Approved** - รับรองโดยสถาบันก่อสร้างเยอรมัน\n\n## โครงสร้าง 3 ชั้น\n\nท่อ XYLENT มีโครงสร้าง **Triple Layer**:\n\n1. **ชั้นใน** - PP เรียบ ลดแรงเสียดทาน\n2. **ชั้นกลาง** - PP แร่ เพิ่มความแข็งแรง\n3. **ชั้นนอก** - PP เรียบ ป้องกันรอยขีดข่วน\n\nโครงสร้างนี้ช่วย **ลดเสียงรบกวน** ได้ถึง **22 dB**\n\n## ระบบ Push Fit\n\n**Push Fit** คือระบบติดตั้งที่:\n- ไม่ต้องใช้กาว\n- ไม่ต้องใช้เครื่องมือพิเศษ\n- แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\n- ประหยัดเวลาและค่าแรง\n\n## คำถามที่พบบ่อย\n\n### ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\n\nท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล** ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ระบบ Push Fit คืออะไร?\n\nระบบ Push Fit เป็นระบบติดตั้งที่ **ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ** เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [ท่อ uPVC](/ท่อupvc/)","src/content/products/xylent.md","2453e135aa434442",{"html":640,"metadata":641},"\u003Ch1 id=\"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe\">ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อระบายน้ำ \u003Cstrong>XYLENT\u003C/strong> เป็นท่อระบายน้ำระดับพรีเมียมจาก \u003Cstrong>Poloplast ประเทศออสเตรีย\u003C/strong> มีโครงสร้าง \u003Cstrong>3 ชั้น (Triple Layer)\u003C/strong> ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ระบบ \u003Cstrong>Push Fit\u003C/strong> ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-xylent\">ข้อดีของท่อ XYLENT\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ลดเสียง 22 dB\u003C/strong> - เงียบกว่าท่อทั่วไป\u003C/li>\n\u003Cli>\u003Cstrong>3 ชั้น\u003C/strong> - Triple Layer Structure\u003C/li>\n\u003Cli>\u003Cstrong>Push Fit\u003C/strong> - ติดตั้งง่าย ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>คุณภาพยุโรป\u003C/strong> - ผลิตในออสเตรีย\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ\u003C/strong> - สูงถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่แตกหัก\u003C/strong> - PP เกรดสูง\u003C/li>\n\u003Cli>\u003Cstrong>อายุ 50 ปี\u003C/strong> - ทนทานยาวนาน\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำอาคาร\u003C/strong> - ท่อระบายน้ำทิ้ง\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและรีสอร์ท\u003C/strong> - ต้องการความเงียบ\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาล\u003C/strong> - สถานที่ต้องการความสงบ\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพักอาศัยระดับสูง\u003C/strong> - คอนโดระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>อาคารสำนักงาน\u003C/strong> - สำนักงานเกรด A\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ XYLENT ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>EN 1451\u003C/strong> - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIN 19560\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIBt Approved\u003C/strong> - รับรองโดยสถาบันก่อสร้างเยอรมัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"โครงสร้าง-3-ชั้น\">โครงสร้าง 3 ชั้น\u003C/h2>\n\u003Cp>ท่อ XYLENT มีโครงสร้าง \u003Cstrong>Triple Layer\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>ชั้นใน\u003C/strong> - PP เรียบ ลดแรงเสียดทาน\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นกลาง\u003C/strong> - PP แร่ เพิ่มความแข็งแรง\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นนอก\u003C/strong> - PP เรียบ ป้องกันรอยขีดข่วน\u003C/li>\n\u003C/ol>\n\u003Cp>โครงสร้างนี้ช่วย \u003Cstrong>ลดเสียงรบกวน\u003C/strong> ได้ถึง \u003Cstrong>22 dB\u003C/strong>\u003C/p>\n\u003Ch2 id=\"ระบบ-push-fit\">ระบบ Push Fit\u003C/h2>\n\u003Cp>\u003Cstrong>Push Fit\u003C/strong> คือระบบติดตั้งที่:\u003C/p>\n\u003Cul>\n\u003Cli>ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องมือพิเศษ\u003C/li>\n\u003Cli>แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\u003C/li>\n\u003Cli>ประหยัดเวลาและค่าแรง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล\">ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\u003C/h3>\n\u003Cp>ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong> ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ระบบ-push-fit-คืออะไร\">ระบบ Push Fit คืออะไร?\u003C/h3>\n\u003Cp>ระบบ Push Fit เป็นระบบติดตั้งที่ \u003Cstrong>ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ\u003C/strong> เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADupvc/\">ท่อ uPVC\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":642,"localImagePaths":666,"remoteImagePaths":667,"frontmatter":567,"imagePaths":668},[643,646,647,648,651,652,653,654,657,660,661,663,665],{"depth":113,"slug":644,"text":645},"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe","ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)",{"depth":116,"slug":117,"text":117},{"depth":116,"slug":119,"text":119},{"depth":121,"slug":649,"text":650},"ข้อดีของท่อ-xylent","ข้อดีของท่อ XYLENT",{"depth":116,"slug":125,"text":125},{"depth":121,"slug":127,"text":127},{"depth":116,"slug":129,"text":129},{"depth":116,"slug":655,"text":656},"โครงสร้าง-3-ชั้น","โครงสร้าง 3 ชั้น",{"depth":116,"slug":658,"text":659},"ระบบ-push-fit","ระบบ Push Fit",{"depth":116,"slug":134,"text":134},{"depth":121,"slug":662,"text":624},"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล",{"depth":121,"slug":664,"text":627},"ระบบ-push-fit-คืออะไร",{"depth":116,"slug":142,"text":142},[],[],[],"xylent.md","blog",["Map",672,673,741,742,796,797],"ข้อดี-ท่อ-hdpe",{"id":672,"data":674,"body":683,"filePath":684,"digest":685,"rendered":686,"legacyId":740},{"id":675,"title":676,"excerpt":677,"date":678,"author":679,"categories":680,"featuredImage":682},"hdpe-pipe-advantages","ข้อดีของท่อ HDPE ในงานระบบน้ำ ทำไมถึงเป็นตัวเลือกยอดนิยม","ท่อ HDPE (High Density Polyethylene) เป็นท่อที่ได้รับความนิยมสูงในงานระบบน้ำ เนื่องจากความทนทานและความยืดหยุ่นที่เหนือกว่าท่อชนิดอื่น","2024-01-10","Deal Plus Tech",[151,681],"ความรู้","/images/2021/03/hdpe-pipe_000C.jpg","## ท่อ HDPE คืออะไร?\n\nท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก\n\n## ข้อดีของท่อ HDPE\n\n### 1. ความยืดหยุ่นสูง\nท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี\n\n### 2. ทนทานต่อสารเคมี\nท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม\n\n### 3. อายุการใช้งานยาวนาน\nท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง\n\n### 4. น้ำหนักเบา\nท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง\n\n### 5. การเชื่อมต่อที่แน่นหนา\nการเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม\n\n### 6. ปลอดภัยต่อสุขภาพ\nท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม\n\n## การใช้งานท่อ HDPE\n\n### งานประปา\n- ท่อส่งน้ำประปา\n- ระบบประปาในบ้านเรือน\n- ระบบประปาในอาคาร\n\n### งานเกษตร\n- ระบบน้ำหยด\n- ระบบสปริงเกลอร์\n- ระบบน้ำเพื่อการเกษตร\n\n### งานอุตสาหกรรม\n- ท่อส่งสารเคมี\n- ระบบบำบัดน้ำเสีย\n- งานโรงงานอุตสาหกรรม\n\n### งานโครงสร้างพื้นฐาน\n- งานท่อใต้ดิน\n- ท่อร้อยสายไฟ\n- งานสาธารณูปโภค\n\n## ขนาดท่อ HDPE ที่นิยมใช้\n\n| ขนาด (มม.) | การใช้งาน |\n|------------|-----------|\n| 16-32 | งานประปาภายในบ้าน |\n| 40-63 | งานประปาอาคารขนาดเล็ก |\n| 75-110 | งานประปาอาคารขนาดใหญ่ |\n| 125-315 | งานท่อส่งน้ำหลัก |\n| 355-1200 | งานโครงสร้างพื้นฐาน |\n\n## เกรดของท่อ HDPE\n\n### PE80\n- เหมาะสำหรับงานทั่วไป\n- ทนแรงดันสูงสุด 8 MPa\n\n### PE100\n- เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง\n- ทนแรงดันสูงสุด 10 MPa\n- เป็นเกรดที่นิยมใช้ในปัจจุบัน\n\n## การติดตั้งท่อ HDPE\n\n### วิธี Butt Fusion\n1. ตัดท่อให้ตรง\n2. ทำความสะอาดผิวท่อ\n3. ใช้เครื่องเชื่อมท่อ HDPE\n4. ให้ความร้อนจนผิวท่อละลาย\n5. กดท่อเข้าด้วยกัน\n6. รอให้เย็นตัวลง\n\n### วิธี Electrofusion\n1. ใช้ข้อต่อแบบ Electrofusion\n2. เสียบปลั๊กไฟเข้ากับข้อต่อ\n3. รอจนกระบวนการเชื่อมเสร็จสิ้น\n\n## สรุป\n\nท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน\n\n---\n\n**สนใจสินค้าท่อ HDPE?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n\n[ดูสินค้าท่อ HDPE ทั้งหมด](/ท่อhdpe)","src/content/blog/ข้อดี-ท่อ-hdpe.md","db9b3d046434d90e",{"html":687,"metadata":688},"\u003Ch2 id=\"ท่อ-hdpe-คืออะไร\">ท่อ HDPE คืออะไร?\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก\u003C/p>\n\u003Ch2 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"1-ความยืดหยุ่นสูง\">1. ความยืดหยุ่นสูง\u003C/h3>\n\u003Cp>ท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี\u003C/p>\n\u003Ch3 id=\"2-ทนทานต่อสารเคมี\">2. ทนทานต่อสารเคมี\u003C/h3>\n\u003Cp>ท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม\u003C/p>\n\u003Ch3 id=\"3-อายุการใช้งานยาวนาน\">3. อายุการใช้งานยาวนาน\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง\u003C/p>\n\u003Ch3 id=\"4-น้ำหนักเบา\">4. น้ำหนักเบา\u003C/h3>\n\u003Cp>ท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง\u003C/p>\n\u003Ch3 id=\"5-การเชื่อมต่อที่แน่นหนา\">5. การเชื่อมต่อที่แน่นหนา\u003C/h3>\n\u003Cp>การเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม\u003C/p>\n\u003Ch3 id=\"6-ปลอดภัยต่อสุขภาพ\">6. ปลอดภัยต่อสุขภาพ\u003C/h3>\n\u003Cp>ท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม\u003C/p>\n\u003Ch2 id=\"การใช้งานท่อ-hdpe\">การใช้งานท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"งานประปา\">งานประปา\u003C/h3>\n\u003Cul>\n\u003Cli>ท่อส่งน้ำประปา\u003C/li>\n\u003Cli>ระบบประปาในบ้านเรือน\u003C/li>\n\u003Cli>ระบบประปาในอาคาร\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานเกษตร\">งานเกษตร\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบน้ำหยด\u003C/li>\n\u003Cli>ระบบสปริงเกลอร์\u003C/li>\n\u003Cli>ระบบน้ำเพื่อการเกษตร\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานอุตสาหกรรม\">งานอุตสาหกรรม\u003C/h3>\n\u003Cul>\n\u003Cli>ท่อส่งสารเคมี\u003C/li>\n\u003Cli>ระบบบำบัดน้ำเสีย\u003C/li>\n\u003Cli>งานโรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานโครงสร้างพื้นฐาน\">งานโครงสร้างพื้นฐาน\u003C/h3>\n\u003Cul>\n\u003Cli>งานท่อใต้ดิน\u003C/li>\n\u003Cli>ท่อร้อยสายไฟ\u003C/li>\n\u003Cli>งานสาธารณูปโภค\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ขนาดท่อ-hdpe-ที่นิยมใช้\">ขนาดท่อ HDPE ที่นิยมใช้\u003C/h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>ขนาด (มม.)\u003C/th>\u003Cth>การใช้งาน\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>16-32\u003C/td>\u003Ctd>งานประปาภายในบ้าน\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>40-63\u003C/td>\u003Ctd>งานประปาอาคารขนาดเล็ก\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>75-110\u003C/td>\u003Ctd>งานประปาอาคารขนาดใหญ่\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>125-315\u003C/td>\u003Ctd>งานท่อส่งน้ำหลัก\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>355-1200\u003C/td>\u003Ctd>งานโครงสร้างพื้นฐาน\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80\">PE80\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับงานทั่วไป\u003C/li>\n\u003Cli>ทนแรงดันสูงสุด 8 MPa\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"pe100\">PE100\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง\u003C/li>\n\u003Cli>ทนแรงดันสูงสุด 10 MPa\u003C/li>\n\u003Cli>เป็นเกรดที่นิยมใช้ในปัจจุบัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้งท่อ-hdpe\">การติดตั้งท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Col>\n\u003Cli>ตัดท่อให้ตรง\u003C/li>\n\u003Cli>ทำความสะอาดผิวท่อ\u003C/li>\n\u003Cli>ใช้เครื่องเชื่อมท่อ HDPE\u003C/li>\n\u003Cli>ให้ความร้อนจนผิวท่อละลาย\u003C/li>\n\u003Cli>กดท่อเข้าด้วยกัน\u003C/li>\n\u003Cli>รอให้เย็นตัวลง\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Col>\n\u003Cli>ใช้ข้อต่อแบบ Electrofusion\u003C/li>\n\u003Cli>เสียบปลั๊กไฟเข้ากับข้อต่อ\u003C/li>\n\u003Cli>รอจนกระบวนการเชื่อมเสร็จสิ้น\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>ท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>สนใจสินค้าท่อ HDPE?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADhdpe\">ดูสินค้าท่อ HDPE ทั้งหมด\u003C/a>\u003C/p>",{"headings":689,"localImagePaths":737,"remoteImagePaths":738,"frontmatter":674,"imagePaths":739},[690,693,694,697,700,703,706,709,712,715,717,719,720,722,725,726,728,730,733,734,735],{"depth":116,"slug":691,"text":692},"ท่อ-hdpe-คืออะไร","ท่อ HDPE คืออะไร?",{"depth":116,"slug":252,"text":253},{"depth":121,"slug":695,"text":696},"1-ความยืดหยุ่นสูง","1. ความยืดหยุ่นสูง",{"depth":121,"slug":698,"text":699},"2-ทนทานต่อสารเคมี","2. ทนทานต่อสารเคมี",{"depth":121,"slug":701,"text":702},"3-อายุการใช้งานยาวนาน","3. อายุการใช้งานยาวนาน",{"depth":121,"slug":704,"text":705},"4-น้ำหนักเบา","4. น้ำหนักเบา",{"depth":121,"slug":707,"text":708},"5-การเชื่อมต่อที่แน่นหนา","5. การเชื่อมต่อที่แน่นหนา",{"depth":121,"slug":710,"text":711},"6-ปลอดภัยต่อสุขภาพ","6. ปลอดภัยต่อสุขภาพ",{"depth":116,"slug":713,"text":714},"การใช้งานท่อ-hdpe","การใช้งานท่อ HDPE",{"depth":121,"slug":716,"text":716},"งานประปา",{"depth":121,"slug":718,"text":718},"งานเกษตร",{"depth":121,"slug":212,"text":212},{"depth":121,"slug":721,"text":721},"งานโครงสร้างพื้นฐาน",{"depth":116,"slug":723,"text":724},"ขนาดท่อ-hdpe-ที่นิยมใช้","ขนาดท่อ HDPE ที่นิยมใช้",{"depth":116,"slug":258,"text":259},{"depth":121,"slug":727,"text":160},"pe80",{"depth":121,"slug":729,"text":161},"pe100",{"depth":116,"slug":731,"text":732},"การติดตั้งท่อ-hdpe","การติดตั้งท่อ HDPE",{"depth":121,"slug":269,"text":270},{"depth":121,"slug":272,"text":273},{"depth":116,"slug":736,"text":736},"สรุป",[],[],[],"ข้อดี-ท่อ-hdpe.md","ท่อ-ppr-คืออะไร",{"id":741,"data":743,"body":750,"filePath":751,"digest":752,"rendered":753,"legacyId":795},{"id":744,"title":745,"excerpt":746,"date":747,"author":679,"categories":748,"featuredImage":294},"ppr-pipe-guide","ท่อ PPR คืออะไร? คู่มือฉบับสมบูรณ์สำหรับการเลือกใช้งาน","ท่อ PPR (Polypropylene Random Copolymer) เป็นท่อพลาสติกที่ได้รับความนิยมสูงในการใช้งานระบบประปา บทความนี้จะอธิบายทุกสิ่งที่คุณต้องรู้เกี่ยวกับท่อ PPR","2024-01-15",[297,681,749],"คู่มือ","## ท่อ PPR คืออะไร?\n\nท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี\n\n## ข้อดีของท่อ PPR\n\n### 1. ทนแรงดันและอุณหภูมิสูง\nท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน\n\n### 2. สะอาดและปลอดภัย\nท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค\n\n### 3. อายุการใช้งานยาวนาน\nด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี\n\n### 4. ติดตั้งง่าย\nการเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม\n\n### 5. ประหยัดพลังงาน\nท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ\n\n## การเลือกท่อ PPR ที่เหมาะสม\n\n### ขนาดท่อ\nเลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:\n- ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป\n- ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่\n\n### เกรดของท่อ\n- **PN10** - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์\n- **PN16** - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์\n- **PN20** - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์\n\n## การติดตั้งท่อ PPR\n\n### ขั้นตอนการเชื่อมท่อ\n1. ตัดท่อให้ตรงและเรียบ\n2. ทำความสะอาดผิวท่อและข้อต่อ\n3. ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C\n4. สอดท่อและข้อต่อเข้าด้วยกัน\n5. รอให้เย็นตัวลงประมาณ 2-3 นาที\n\n### ข้อควรระวัง\n- หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง\n- ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ\n- ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน\n\n## ท่อ PPR ตราช้าง\n\nท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell\n\n**คุณสมบัติเด่น:**\n- ทนแรงดันได้สูงสุด 20 บาร์\n- ทนต่ออุณหภูมิได้สูงถึง 95°C\n- ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน\n- รับประกันคุณภาพ\n\n## สรุป\n\nท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม\n\n---\n\n**สนใจสินค้าท่อ PPR?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n- อีเมล: dealplustech@gmail.com\n\n[ดูสินค้าท่อ PPR ทั้งหมด](/ท่อพีพีอาร์ตราช้าง)","src/content/blog/ท่อ-ppr-คืออะไร.md","204d0ab9e386d817",{"html":754,"metadata":755},"\u003Ch2 id=\"ท่อ-ppr-คืออะไร\">ท่อ PPR คืออะไร?\u003C/h2>\n\u003Cp>ท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี\u003C/p>\n\u003Ch2 id=\"ข้อดีของท่อ-ppr\">ข้อดีของท่อ PPR\u003C/h2>\n\u003Ch3 id=\"1-ทนแรงดันและอุณหภูมิสูง\">1. ทนแรงดันและอุณหภูมิสูง\u003C/h3>\n\u003Cp>ท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch3 id=\"2-สะอาดและปลอดภัย\">2. สะอาดและปลอดภัย\u003C/h3>\n\u003Cp>ท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค\u003C/p>\n\u003Ch3 id=\"3-อายุการใช้งานยาวนาน\">3. อายุการใช้งานยาวนาน\u003C/h3>\n\u003Cp>ด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี\u003C/p>\n\u003Ch3 id=\"4-ติดตั้งง่าย\">4. ติดตั้งง่าย\u003C/h3>\n\u003Cp>การเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม\u003C/p>\n\u003Ch3 id=\"5-ประหยัดพลังงาน\">5. ประหยัดพลังงาน\u003C/h3>\n\u003Cp>ท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ\u003C/p>\n\u003Ch2 id=\"การเลือกท่อ-ppr-ที่เหมาะสม\">การเลือกท่อ PPR ที่เหมาะสม\u003C/h2>\n\u003Ch3 id=\"ขนาดท่อ\">ขนาดท่อ\u003C/h3>\n\u003Cp>เลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:\u003C/p>\n\u003Cul>\n\u003Cli>ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป\u003C/li>\n\u003Cli>ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"เกรดของท่อ\">เกรดของท่อ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>PN10\u003C/strong> - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>PN16\u003C/strong> - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>PN20\u003C/strong> - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้งท่อ-ppr\">การติดตั้งท่อ PPR\u003C/h2>\n\u003Ch3 id=\"ขั้นตอนการเชื่อมท่อ\">ขั้นตอนการเชื่อมท่อ\u003C/h3>\n\u003Col>\n\u003Cli>ตัดท่อให้ตรงและเรียบ\u003C/li>\n\u003Cli>ทำความสะอาดผิวท่อและข้อต่อ\u003C/li>\n\u003Cli>ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C\u003C/li>\n\u003Cli>สอดท่อและข้อต่อเข้าด้วยกัน\u003C/li>\n\u003Cli>รอให้เย็นตัวลงประมาณ 2-3 นาที\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"ข้อควรระวัง\">ข้อควรระวัง\u003C/h3>\n\u003Cul>\n\u003Cli>หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง\u003C/li>\n\u003Cli>ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ\u003C/li>\n\u003Cli>ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ท่อ-ppr-ตราช้าง\">ท่อ PPR ตราช้าง\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell\u003C/p>\n\u003Cp>\u003Cstrong>คุณสมบัติเด่น:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ทนแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>ทนต่ออุณหภูมิได้สูงถึง 95°C\u003C/li>\n\u003Cli>ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน\u003C/li>\n\u003Cli>รับประกันคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>ท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>สนใจสินค้าท่อ PPR?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003Cli>อีเมล: \u003Ca href=\"mailto:dealplustech@gmail.com\">dealplustech@gmail.com\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87\">ดูสินค้าท่อ PPR ทั้งหมด\u003C/a>\u003C/p>",{"headings":756,"localImagePaths":792,"remoteImagePaths":793,"frontmatter":743,"imagePaths":794},[757,759,762,765,768,769,772,775,778,779,781,784,786,788,791],{"depth":116,"slug":741,"text":758},"ท่อ PPR คืออะไร?",{"depth":116,"slug":760,"text":761},"ข้อดีของท่อ-ppr","ข้อดีของท่อ PPR",{"depth":121,"slug":763,"text":764},"1-ทนแรงดันและอุณหภูมิสูง","1. ทนแรงดันและอุณหภูมิสูง",{"depth":121,"slug":766,"text":767},"2-สะอาดและปลอดภัย","2. สะอาดและปลอดภัย",{"depth":121,"slug":701,"text":702},{"depth":121,"slug":770,"text":771},"4-ติดตั้งง่าย","4. ติดตั้งง่าย",{"depth":121,"slug":773,"text":774},"5-ประหยัดพลังงาน","5. ประหยัดพลังงาน",{"depth":116,"slug":776,"text":777},"การเลือกท่อ-ppr-ที่เหมาะสม","การเลือกท่อ PPR ที่เหมาะสม",{"depth":121,"slug":47,"text":47},{"depth":121,"slug":780,"text":780},"เกรดของท่อ",{"depth":116,"slug":782,"text":783},"การติดตั้งท่อ-ppr","การติดตั้งท่อ PPR",{"depth":121,"slug":785,"text":785},"ขั้นตอนการเชื่อมท่อ",{"depth":121,"slug":787,"text":787},"ข้อควรระวัง",{"depth":116,"slug":789,"text":790},"ท่อ-ppr-ตราช้าง","ท่อ PPR ตราช้าง",{"depth":116,"slug":736,"text":736},[],[],[],"ท่อ-ppr-คืออะไร.md","บำรุงรักษาปั๊มน้ำ",{"id":796,"data":798,"body":808,"filePath":809,"digest":810,"rendered":811,"legacyId":855},{"id":799,"title":800,"excerpt":801,"date":802,"author":679,"categories":803,"featuredImage":807},"water-pump-maintenance","การบำรุงรักษาปั๊มน้ำให้มีอายุการใช้งานยาวนาน","ปั๊มน้ำเป็นอุปกรณ์สำคัญในระบบน้ำทุกบ้าน การบำรุงรักษาที่ถูกต้องจะช่วยยืดอายุการใช้งานและประหยัดค่าไฟฟ้า","2024-01-05",[804,805,806],"ปั๊มน้ำ","บำรุงรักษา","เคล็ดลับ","/images/2021/02/Water-Pump1.jpg","## ความสำคัญของการบำรุงรักษาปั๊มน้ำ\n\nปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:\n- ยืดอายุการใช้งานของปั๊มน้ำ\n- ลดปัญหาการเสีย\n- ประหยัดค่าไฟฟ้า\n- ป้องกันอุบัติเหตุจากการรั่วซึม\n\n## การบำรุงรักษาปั๊มน้ำแบบทำเอง\n\n### 1. ตรวจสอบสายไฟและสวิตช์\n- ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่\n- ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่\n- หากพบความผิดปกติควรเรียกช่าง\n\n### 2. ทำความสะอาดตัวกรอง\n- ปิดวาล์วน้ำเข้าก่อนทำความสะอาด\n- ถอดตัวกรองออกมาล้าง\n- ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่\n- ติดตั้งกลับเข้าที่เดิม\n\n### 3. ตรวจสอบแรงดันน้ำ\n- สังเกตแรงดันน้ำว่าลดลงหรือไม่\n- ตรวจสอบว่ามีเสียงผิดปกติหรือไม่\n- หากแรงดันลดลงอาจมีการรั่วซึม\n\n### 4. ตรวจสอบถังแรงดัน (Pressure Tank)\n- ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่\n- หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ\n- ควรตรวจสอบทุก 6 เดือน\n\n## ปัญหาที่พบบ่อยและวิธีแก้ไข\n\n### ปั๊มไม่ทำงาน\n**สาเหตุ:**\n- ไฟดับหรือสายไฟขาด\n- สวิตช์เสีย\n- มอเตอร์เสีย\n\n**วิธีแก้:**\n- ตรวจสอบไฟและสายไฟ\n- เปลี่ยนสวิตช์\n- เรียกช่างซ่อมมอเตอร์\n\n### แรงดันน้ำต่ำ\n**สาเหตุ:**\n- ตัวกรองอุดตัน\n- ท่อรั่ว\n- ใบพัดสึกหรอ\n\n**วิธีแก้:**\n- ทำความสะอาดตัวกรอง\n- ตรวจสอบและซ่อมท่อ\n- เปลี่ยนใบพัด\n\n### ปั๊มเปิด-ปิดบ่อย\n**สาเหตุ:**\n- ถังแรงดันอากาศรั่ว\n- แผ่นไดอะแฟรมแตก\n- วาล์วตรวจสอบแรงดันเสีย\n\n**วิธีแก้:**\n- เติมอากาศในถัง\n- เปลี่ยนแผ่นไดอะแฟรม\n- เปลี่ยนวาล์ว\n\n### ปั๊มมีเสียงดังผิดปกติ\n**สาเหตุ:**\n- ลูกปืนเสีย\n- ใบพัดชำรุด\n- การติดตั้งไม่แน่นหนา\n\n**วิธีแก้:**\n- เปลี่ยนลูกปืน\n- เปลี่ยนใบพัด\n- ตรวจสอบการยึดแน่น\n\n## ตารางการบำรุงรักษา\n\n| รายการ | ความถี่ | หมายเหตุ |\n|--------|---------|----------|\n| ตรวจสอบสายไฟ | ทุกเดือน | มองหารอยชำรุด |\n| ทำความสะอาดตัวกรอง | ทุก 3 เดือน | หรือเมื่อแรงดันลด |\n| ตรวจสอบถังแรงดัน | ทุก 6 เดือน | เติมอากาศหากจำเป็น |\n| ตรวจสอบสวิตช์ | ทุกปี | เปลี่ยนหากเสีย |\n| ตรวจสอบใบพัด | ทุก 2 ปี | โดยช่างผู้เชี่ยวชาญ |\n\n## เคล็ดลับการใช้งานปั๊มน้ำ\n\n### ประหยัดไฟฟ้า\n- เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน\n- ติดตั้งถังแรงดันขนาดเหมาะสม\n- หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย\n\n### ป้องกันปัญหา\n- อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)\n- ตรวจสอบรอยรั่วอย่างสม่ำเสมอ\n- ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก\n\n### เมื่อต้องเปลี่ยนปั๊ม\n- เลือกปั๊มที่มีคุณภาพ\n- พิจารณาขนาดและกำลังที่เหมาะสม\n- ติดตั้งโดยช่างผู้เชี่ยวชาญ\n\n## สรุป\n\nการบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ\n\n---\n\n**ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n\n[ดูสินค้าปั๊มน้ำทั้งหมด](/ปั๊มน้ำ-pump)","src/content/blog/บำรุงรักษาปั๊มน้ำ.md","c257fd34f1815ecb",{"html":812,"metadata":813},"\u003Ch2 id=\"ความสำคัญของการบำรุงรักษาปั๊มน้ำ\">ความสำคัญของการบำรุงรักษาปั๊มน้ำ\u003C/h2>\n\u003Cp>ปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:\u003C/p>\n\u003Cul>\n\u003Cli>ยืดอายุการใช้งานของปั๊มน้ำ\u003C/li>\n\u003Cli>ลดปัญหาการเสีย\u003C/li>\n\u003Cli>ประหยัดค่าไฟฟ้า\u003C/li>\n\u003Cli>ป้องกันอุบัติเหตุจากการรั่วซึม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การบำรุงรักษาปั๊มน้ำแบบทำเอง\">การบำรุงรักษาปั๊มน้ำแบบทำเอง\u003C/h2>\n\u003Ch3 id=\"1-ตรวจสอบสายไฟและสวิตช์\">1. ตรวจสอบสายไฟและสวิตช์\u003C/h3>\n\u003Cul>\n\u003Cli>ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่\u003C/li>\n\u003Cli>ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่\u003C/li>\n\u003Cli>หากพบความผิดปกติควรเรียกช่าง\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"2-ทำความสะอาดตัวกรอง\">2. ทำความสะอาดตัวกรอง\u003C/h3>\n\u003Cul>\n\u003Cli>ปิดวาล์วน้ำเข้าก่อนทำความสะอาด\u003C/li>\n\u003Cli>ถอดตัวกรองออกมาล้าง\u003C/li>\n\u003Cli>ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่\u003C/li>\n\u003Cli>ติดตั้งกลับเข้าที่เดิม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"3-ตรวจสอบแรงดันน้ำ\">3. ตรวจสอบแรงดันน้ำ\u003C/h3>\n\u003Cul>\n\u003Cli>สังเกตแรงดันน้ำว่าลดลงหรือไม่\u003C/li>\n\u003Cli>ตรวจสอบว่ามีเสียงผิดปกติหรือไม่\u003C/li>\n\u003Cli>หากแรงดันลดลงอาจมีการรั่วซึม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"4-ตรวจสอบถังแรงดัน-pressure-tank\">4. ตรวจสอบถังแรงดัน (Pressure Tank)\u003C/h3>\n\u003Cul>\n\u003Cli>ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่\u003C/li>\n\u003Cli>หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ\u003C/li>\n\u003Cli>ควรตรวจสอบทุก 6 เดือน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ปัญหาที่พบบ่อยและวิธีแก้ไข\">ปัญหาที่พบบ่อยและวิธีแก้ไข\u003C/h2>\n\u003Ch3 id=\"ปั๊มไม่ทำงาน\">ปั๊มไม่ทำงาน\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ไฟดับหรือสายไฟขาด\u003C/li>\n\u003Cli>สวิตช์เสีย\u003C/li>\n\u003Cli>มอเตอร์เสีย\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ตรวจสอบไฟและสายไฟ\u003C/li>\n\u003Cli>เปลี่ยนสวิตช์\u003C/li>\n\u003Cli>เรียกช่างซ่อมมอเตอร์\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"แรงดันน้ำต่ำ\">แรงดันน้ำต่ำ\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ตัวกรองอุดตัน\u003C/li>\n\u003Cli>ท่อรั่ว\u003C/li>\n\u003Cli>ใบพัดสึกหรอ\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ทำความสะอาดตัวกรอง\u003C/li>\n\u003Cli>ตรวจสอบและซ่อมท่อ\u003C/li>\n\u003Cli>เปลี่ยนใบพัด\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ปั๊มเปิด-ปิดบ่อย\">ปั๊มเปิด-ปิดบ่อย\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ถังแรงดันอากาศรั่ว\u003C/li>\n\u003Cli>แผ่นไดอะแฟรมแตก\u003C/li>\n\u003Cli>วาล์วตรวจสอบแรงดันเสีย\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>เติมอากาศในถัง\u003C/li>\n\u003Cli>เปลี่ยนแผ่นไดอะแฟรม\u003C/li>\n\u003Cli>เปลี่ยนวาล์ว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ปั๊มมีเสียงดังผิดปกติ\">ปั๊มมีเสียงดังผิดปกติ\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ลูกปืนเสีย\u003C/li>\n\u003Cli>ใบพัดชำรุด\u003C/li>\n\u003Cli>การติดตั้งไม่แน่นหนา\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>เปลี่ยนลูกปืน\u003C/li>\n\u003Cli>เปลี่ยนใบพัด\u003C/li>\n\u003Cli>ตรวจสอบการยึดแน่น\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ตารางการบำรุงรักษา\">ตารางการบำรุงรักษา\u003C/h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>รายการ\u003C/th>\u003Cth>ความถี่\u003C/th>\u003Cth>หมายเหตุ\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>ตรวจสอบสายไฟ\u003C/td>\u003Ctd>ทุกเดือน\u003C/td>\u003Ctd>มองหารอยชำรุด\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ทำความสะอาดตัวกรอง\u003C/td>\u003Ctd>ทุก 3 เดือน\u003C/td>\u003Ctd>หรือเมื่อแรงดันลด\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบถังแรงดัน\u003C/td>\u003Ctd>ทุก 6 เดือน\u003C/td>\u003Ctd>เติมอากาศหากจำเป็น\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบสวิตช์\u003C/td>\u003Ctd>ทุกปี\u003C/td>\u003Ctd>เปลี่ยนหากเสีย\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบใบพัด\u003C/td>\u003Ctd>ทุก 2 ปี\u003C/td>\u003Ctd>โดยช่างผู้เชี่ยวชาญ\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"เคล็ดลับการใช้งานปั๊มน้ำ\">เคล็ดลับการใช้งานปั๊มน้ำ\u003C/h2>\n\u003Ch3 id=\"ประหยัดไฟฟ้า\">ประหยัดไฟฟ้า\u003C/h3>\n\u003Cul>\n\u003Cli>เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน\u003C/li>\n\u003Cli>ติดตั้งถังแรงดันขนาดเหมาะสม\u003C/li>\n\u003Cli>หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ป้องกันปัญหา\">ป้องกันปัญหา\u003C/h3>\n\u003Cul>\n\u003Cli>อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)\u003C/li>\n\u003Cli>ตรวจสอบรอยรั่วอย่างสม่ำเสมอ\u003C/li>\n\u003Cli>ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"เมื่อต้องเปลี่ยนปั๊ม\">เมื่อต้องเปลี่ยนปั๊ม\u003C/h3>\n\u003Cul>\n\u003Cli>เลือกปั๊มที่มีคุณภาพ\u003C/li>\n\u003Cli>พิจารณาขนาดและกำลังที่เหมาะสม\u003C/li>\n\u003Cli>ติดตั้งโดยช่างผู้เชี่ยวชาญ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>การบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%9B%E0%B8%B1%E0%B9%8A%E0%B8%A1%E0%B8%99%E0%B9%89%E0%B8%B3-pump\">ดูสินค้าปั๊มน้ำทั้งหมด\u003C/a>\u003C/p>",{"headings":814,"localImagePaths":852,"remoteImagePaths":853,"frontmatter":798,"imagePaths":854},[815,817,819,822,825,828,831,833,835,837,839,841,843,845,847,849,851],{"depth":116,"slug":816,"text":816},"ความสำคัญของการบำรุงรักษาปั๊มน้ำ",{"depth":116,"slug":818,"text":818},"การบำรุงรักษาปั๊มน้ำแบบทำเอง",{"depth":121,"slug":820,"text":821},"1-ตรวจสอบสายไฟและสวิตช์","1. ตรวจสอบสายไฟและสวิตช์",{"depth":121,"slug":823,"text":824},"2-ทำความสะอาดตัวกรอง","2. ทำความสะอาดตัวกรอง",{"depth":121,"slug":826,"text":827},"3-ตรวจสอบแรงดันน้ำ","3. ตรวจสอบแรงดันน้ำ",{"depth":121,"slug":829,"text":830},"4-ตรวจสอบถังแรงดัน-pressure-tank","4. ตรวจสอบถังแรงดัน (Pressure Tank)",{"depth":116,"slug":832,"text":832},"ปัญหาที่พบบ่อยและวิธีแก้ไข",{"depth":121,"slug":834,"text":834},"ปั๊มไม่ทำงาน",{"depth":121,"slug":836,"text":836},"แรงดันน้ำต่ำ",{"depth":121,"slug":838,"text":838},"ปั๊มเปิด-ปิดบ่อย",{"depth":121,"slug":840,"text":840},"ปั๊มมีเสียงดังผิดปกติ",{"depth":116,"slug":842,"text":842},"ตารางการบำรุงรักษา",{"depth":116,"slug":844,"text":844},"เคล็ดลับการใช้งานปั๊มน้ำ",{"depth":121,"slug":846,"text":846},"ประหยัดไฟฟ้า",{"depth":121,"slug":848,"text":848},"ป้องกันปัญหา",{"depth":121,"slug":850,"text":850},"เมื่อต้องเปลี่ยนปั๊ม",{"depth":116,"slug":736,"text":736},[],[],[],"บำรุงรักษาปั๊มน้ำ.md"]
\ No newline at end of file
diff --git a/node_modules/.bin/autoprefixer b/node_modules/.bin/autoprefixer
new file mode 120000
index 000000000..e876d81c3
--- /dev/null
+++ b/node_modules/.bin/autoprefixer
@@ -0,0 +1 @@
+../autoprefixer/bin/autoprefixer
\ No newline at end of file
diff --git a/node_modules/.bin/baseline-browser-mapping b/node_modules/.bin/baseline-browser-mapping
new file mode 120000
index 000000000..8e9a12d9b
--- /dev/null
+++ b/node_modules/.bin/baseline-browser-mapping
@@ -0,0 +1 @@
+../baseline-browser-mapping/dist/cli.cjs
\ No newline at end of file
diff --git a/node_modules/.bin/browserslist b/node_modules/.bin/browserslist
new file mode 120000
index 000000000..3cd991b25
--- /dev/null
+++ b/node_modules/.bin/browserslist
@@ -0,0 +1 @@
+../browserslist/cli.js
\ No newline at end of file
diff --git a/node_modules/.bin/jiti b/node_modules/.bin/jiti
index 18f28cf34..031ee3fde 120000
--- a/node_modules/.bin/jiti
+++ b/node_modules/.bin/jiti
@@ -1 +1 @@
-../jiti/lib/jiti-cli.mjs
\ No newline at end of file
+../jiti/bin/jiti.js
\ No newline at end of file
diff --git a/node_modules/.bin/node-which b/node_modules/.bin/node-which
new file mode 120000
index 000000000..6f8415ec5
--- /dev/null
+++ b/node_modules/.bin/node-which
@@ -0,0 +1 @@
+../which/bin/node-which
\ No newline at end of file
diff --git a/node_modules/.bin/rc b/node_modules/.bin/rc
new file mode 120000
index 000000000..48b3cda74
--- /dev/null
+++ b/node_modules/.bin/rc
@@ -0,0 +1 @@
+../rc/cli.js
\ No newline at end of file
diff --git a/node_modules/.bin/resolve b/node_modules/.bin/resolve
new file mode 120000
index 000000000..b6afda6c7
--- /dev/null
+++ b/node_modules/.bin/resolve
@@ -0,0 +1 @@
+../resolve/bin/resolve
\ No newline at end of file
diff --git a/node_modules/.bin/serve b/node_modules/.bin/serve
new file mode 120000
index 000000000..f3deda9a9
--- /dev/null
+++ b/node_modules/.bin/serve
@@ -0,0 +1 @@
+../serve/build/main.js
\ No newline at end of file
diff --git a/node_modules/.bin/sucrase b/node_modules/.bin/sucrase
new file mode 120000
index 000000000..0ac7e775b
--- /dev/null
+++ b/node_modules/.bin/sucrase
@@ -0,0 +1 @@
+../sucrase/bin/sucrase
\ No newline at end of file
diff --git a/node_modules/.bin/sucrase-node b/node_modules/.bin/sucrase-node
new file mode 120000
index 000000000..8b96fae25
--- /dev/null
+++ b/node_modules/.bin/sucrase-node
@@ -0,0 +1 @@
+../sucrase/bin/sucrase-node
\ No newline at end of file
diff --git a/node_modules/.bin/tailwind b/node_modules/.bin/tailwind
new file mode 120000
index 000000000..d49779753
--- /dev/null
+++ b/node_modules/.bin/tailwind
@@ -0,0 +1 @@
+../tailwindcss/lib/cli.js
\ No newline at end of file
diff --git a/node_modules/.bin/tailwindcss b/node_modules/.bin/tailwindcss
new file mode 120000
index 000000000..d49779753
--- /dev/null
+++ b/node_modules/.bin/tailwindcss
@@ -0,0 +1 @@
+../tailwindcss/lib/cli.js
\ No newline at end of file
diff --git a/node_modules/.bin/update-browserslist-db b/node_modules/.bin/update-browserslist-db
new file mode 120000
index 000000000..b11e16f3d
--- /dev/null
+++ b/node_modules/.bin/update-browserslist-db
@@ -0,0 +1 @@
+../update-browserslist-db/cli.js
\ No newline at end of file
diff --git a/node_modules/.bin/yaml b/node_modules/.bin/yaml
new file mode 120000
index 000000000..036832479
--- /dev/null
+++ b/node_modules/.bin/yaml
@@ -0,0 +1 @@
+../yaml/bin.mjs
\ No newline at end of file
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
index f2c648e90..d8b0f41f0 100644
--- a/node_modules/.package-lock.json
+++ b/node_modules/.package-lock.json
@@ -4,6 +4,18 @@
"lockfileVersion": 3,
"requires": true,
"packages": {
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@astrojs/compiler": {
"version": "2.13.1",
"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz",
@@ -57,6 +69,21 @@
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
},
+ "node_modules/@astrojs/tailwind": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-6.0.2.tgz",
+ "integrity": "sha512-j3mhLNeugZq6A8dMNXVarUa8K6X9AW+QHU9u3lKNrPLMHhOQ0S7VeWhHwEeJFpEK1BTKEUY1U78VQv2gN6hNGg==",
+ "license": "MIT",
+ "dependencies": {
+ "autoprefixer": "^10.4.21",
+ "postcss": "^8.5.3",
+ "postcss-load-config": "^4.0.2"
+ },
+ "peerDependencies": {
+ "astro": "^3.0.0 || ^4.0.0 || ^5.0.0",
+ "tailwindcss": "^3.0.24"
+ }
+ },
"node_modules/@astrojs/telemetry": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz",
@@ -137,6 +164,7 @@
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
"integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
+ "ideallyInert": true,
"license": "MIT",
"optional": true,
"dependencies": {
@@ -1082,16 +1110,6 @@
"@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@jridgewell/remapping": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
@@ -1292,6 +1310,41 @@
"integrity": "sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==",
"license": "MIT"
},
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/@oslojs/encoding": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz",
@@ -1742,274 +1795,6 @@
"integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
"license": "MIT"
},
- "node_modules/@tailwindcss/node": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz",
- "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/remapping": "^2.3.5",
- "enhanced-resolve": "^5.19.0",
- "jiti": "^2.6.1",
- "lightningcss": "1.31.1",
- "magic-string": "^0.30.21",
- "source-map-js": "^1.2.1",
- "tailwindcss": "4.2.1"
- }
- },
- "node_modules/@tailwindcss/oxide": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz",
- "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==",
- "license": "MIT",
- "engines": {
- "node": ">= 20"
- },
- "optionalDependencies": {
- "@tailwindcss/oxide-android-arm64": "4.2.1",
- "@tailwindcss/oxide-darwin-arm64": "4.2.1",
- "@tailwindcss/oxide-darwin-x64": "4.2.1",
- "@tailwindcss/oxide-freebsd-x64": "4.2.1",
- "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1",
- "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1",
- "@tailwindcss/oxide-linux-arm64-musl": "4.2.1",
- "@tailwindcss/oxide-linux-x64-gnu": "4.2.1",
- "@tailwindcss/oxide-linux-x64-musl": "4.2.1",
- "@tailwindcss/oxide-wasm32-wasi": "4.2.1",
- "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1",
- "@tailwindcss/oxide-win32-x64-msvc": "4.2.1"
- }
- },
- "node_modules/@tailwindcss/oxide-android-arm64": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz",
- "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-darwin-arm64": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz",
- "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-darwin-x64": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz",
- "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-freebsd-x64": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz",
- "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz",
- "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==",
- "cpu": [
- "arm"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz",
- "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz",
- "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz",
- "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-x64-musl": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz",
- "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-wasm32-wasi": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz",
- "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==",
- "bundleDependencies": [
- "@napi-rs/wasm-runtime",
- "@emnapi/core",
- "@emnapi/runtime",
- "@tybys/wasm-util",
- "@emnapi/wasi-threads",
- "tslib"
- ],
- "cpu": [
- "wasm32"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.8.1",
- "@emnapi/runtime": "^1.8.1",
- "@emnapi/wasi-threads": "^1.1.0",
- "@napi-rs/wasm-runtime": "^1.1.1",
- "@tybys/wasm-util": "^0.10.1",
- "tslib": "^2.8.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz",
- "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz",
- "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/vite": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.1.tgz",
- "integrity": "sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==",
- "license": "MIT",
- "dependencies": {
- "@tailwindcss/node": "4.2.1",
- "@tailwindcss/oxide": "4.2.1",
- "tailwindcss": "4.2.1"
- },
- "peerDependencies": {
- "vite": "^5.2.0 || ^6 || ^7"
- }
- },
"node_modules/@types/debug": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
@@ -2088,6 +1873,12 @@
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
"license": "ISC"
},
+ "node_modules/@zeit/schemas": {
+ "version": "2.36.0",
+ "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz",
+ "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==",
+ "license": "MIT"
+ },
"node_modules/acorn": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
@@ -2100,6 +1891,22 @@
"node": ">=0.4.0"
}
},
+ "node_modules/ajv": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
+ "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
"node_modules/ansi-align": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
@@ -2174,6 +1981,12 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "license": "MIT"
+ },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -2199,6 +2012,32 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/arch": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
+ "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "license": "MIT"
+ },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -2325,6 +2164,42 @@
"astro": "^4.0.0 || ^5.0.0"
}
},
+ "node_modules/autoprefixer": {
+ "version": "10.4.27",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz",
+ "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.28.1",
+ "caniuse-lite": "^1.0.30001774",
+ "fraction.js": "^5.3.4",
+ "picocolors": "^1.1.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
"node_modules/axobject-query": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
@@ -2344,12 +2219,42 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "license": "MIT"
+ },
"node_modules/base-64": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
"integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==",
"license": "MIT"
},
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz",
+ "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==",
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -2378,6 +2283,70 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/camelcase": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz",
@@ -2390,6 +2359,35 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001778",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001778.tgz",
+ "integrity": "sha512-PN7uxFL+ExFJO61aVmP1aIEG4i9whQd4eoSCebav62UwDyp5OHh06zN4jqKSMePVgxHifCw1QJxdRkA1Pisekg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
"node_modules/ccount": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
@@ -2412,6 +2410,52 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/chalk-template": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz",
+ "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk-template?sponsor=1"
+ }
+ },
+ "node_modules/chalk-template/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/chalk-template/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
"node_modules/character-entities": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
@@ -2484,6 +2528,50 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/clipboardy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz",
+ "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==",
+ "license": "MIT",
+ "dependencies": {
+ "arch": "^2.2.0",
+ "execa": "^5.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/clipboardy/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/clipboardy/node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/clsx": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
@@ -2493,6 +2581,24 @@
"node": ">=6"
}
},
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
+ },
"node_modules/comma-separated-tokens": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
@@ -2518,6 +2624,66 @@
"integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==",
"license": "ISC"
},
+ "node_modules/compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/compression": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
+ "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "compressible": "~2.0.18",
+ "debug": "2.6.9",
+ "negotiator": "~0.6.4",
+ "on-headers": "~1.1.0",
+ "safe-buffer": "5.2.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/compression/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/compression/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "license": "MIT"
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/cookie": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
@@ -2566,6 +2732,20 @@
}
}
},
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/crossws": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz",
@@ -2700,6 +2880,15 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
@@ -2726,6 +2915,7 @@
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"license": "Apache-2.0",
+ "optional": true,
"engines": {
"node": ">=8"
}
@@ -2761,6 +2951,12 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "license": "Apache-2.0"
+ },
"node_modules/diff": {
"version": "8.0.3",
"resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz",
@@ -2977,25 +3173,24 @@
"node": ">=4"
}
},
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "license": "MIT"
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.313",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz",
+ "integrity": "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==",
+ "license": "ISC"
+ },
"node_modules/emoji-regex": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"license": "MIT"
},
- "node_modules/enhanced-resolve": {
- "version": "5.20.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz",
- "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.3.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/entities": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
@@ -3055,6 +3250,15 @@
"@esbuild/win32-x64": "0.27.3"
}
},
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
@@ -3082,12 +3286,94 @@
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
"license": "MIT"
},
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"license": "MIT"
},
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
"node_modules/fdir": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
@@ -3128,6 +3414,18 @@
"node": "^12.20 || >= 14.13"
}
},
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/flattie": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz",
@@ -3170,6 +3468,19 @@
"node": ">=12.20.0"
}
},
+ "node_modules/fraction.js": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
+ "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/rawify"
+ }
+ },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -3184,6 +3495,15 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/get-east-asian-width": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
@@ -3196,17 +3516,35 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/github-slugger": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
"integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
"license": "ISC"
},
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "license": "ISC"
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
},
"node_modules/h3": {
"version": "1.15.5",
@@ -3225,6 +3563,27 @@
"uncrypto": "^0.1.3"
}
},
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/hast-util-from-html": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz",
@@ -3424,6 +3783,15 @@
"integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==",
"license": "BSD-2-Clause"
},
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
"node_modules/import-meta-resolve": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
@@ -3434,6 +3802,12 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "license": "ISC"
+ },
"node_modules/iron-webcrypto": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz",
@@ -3443,6 +3817,33 @@
"url": "https://github.com/sponsors/brc-dd"
}
},
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-docker": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
@@ -3458,6 +3859,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -3467,6 +3877,18 @@
"node": ">=8"
}
},
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-inside-container": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -3485,6 +3907,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
@@ -3497,6 +3928,30 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-port-reachable": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz",
+ "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-wsl": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
@@ -3512,13 +3967,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "license": "ISC"
+ },
"node_modules/jiti": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
- "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
"license": "MIT",
"bin": {
- "jiti": "lib/jiti-cli.mjs"
+ "jiti": "bin/jiti.js"
}
},
"node_modules/js-base64": {
@@ -3539,6 +4000,12 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "license": "MIT"
+ },
"node_modules/kleur": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
@@ -3589,264 +4056,23 @@
"node": ">=8"
}
},
- "node_modules/lightningcss": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz",
- "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==",
- "license": "MPL-2.0",
- "dependencies": {
- "detect-libc": "^2.0.3"
- },
+ "node_modules/lilconfig": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
+ "license": "MIT",
"engines": {
- "node": ">= 12.0.0"
+ "node": ">=14"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "optionalDependencies": {
- "lightningcss-android-arm64": "1.31.1",
- "lightningcss-darwin-arm64": "1.31.1",
- "lightningcss-darwin-x64": "1.31.1",
- "lightningcss-freebsd-x64": "1.31.1",
- "lightningcss-linux-arm-gnueabihf": "1.31.1",
- "lightningcss-linux-arm64-gnu": "1.31.1",
- "lightningcss-linux-arm64-musl": "1.31.1",
- "lightningcss-linux-x64-gnu": "1.31.1",
- "lightningcss-linux-x64-musl": "1.31.1",
- "lightningcss-win32-arm64-msvc": "1.31.1",
- "lightningcss-win32-x64-msvc": "1.31.1"
+ "url": "https://github.com/sponsors/antonk52"
}
},
- "node_modules/lightningcss-android-arm64": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz",
- "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-darwin-arm64": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz",
- "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==",
- "cpu": [
- "arm64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-darwin-x64": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz",
- "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-freebsd-x64": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz",
- "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm-gnueabihf": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz",
- "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==",
- "cpu": [
- "arm"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm64-gnu": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz",
- "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm64-musl": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz",
- "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-x64-gnu": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz",
- "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-x64-musl": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz",
- "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-win32-arm64-msvc": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz",
- "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==",
- "cpu": [
- "arm64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-win32-x64-msvc": {
- "version": "1.31.1",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz",
- "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==",
- "cpu": [
- "x64"
- ],
- "ideallyInert": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "license": "MIT"
},
"node_modules/longest-streak": {
"version": "3.1.0",
@@ -4128,6 +4354,21 @@
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
"license": "CC0-1.0"
},
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/micromark": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
@@ -4691,6 +4932,91 @@
],
"license": "MIT"
},
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/micromatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "~1.33.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types/node_modules/mime-db": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/mrmime": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
@@ -4706,6 +5032,17 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
@@ -4724,6 +5061,15 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
+ "node_modules/negotiator": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+ "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/neotraverse": {
"version": "0.6.18",
"resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz",
@@ -4796,6 +5142,12 @@
"integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==",
"license": "MIT"
},
+ "node_modules/node-releases": {
+ "version": "2.0.36",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz",
+ "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==",
+ "license": "MIT"
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -4805,6 +5157,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
@@ -4817,6 +5181,24 @@
"url": "https://github.com/fb55/nth-check?sponsor=1"
}
},
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/ofetch": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz",
@@ -4834,6 +5216,30 @@
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
"license": "MIT"
},
+ "node_modules/on-headers": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
+ "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/oniguruma-parser": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz",
@@ -4930,6 +5336,33 @@
"url": "https://github.com/inikulin/parse5?sponsor=1"
}
},
+ "node_modules/path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==",
+ "license": "(WTFPL OR MIT)"
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "license": "MIT"
+ },
+ "node_modules/path-to-regexp": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz",
+ "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==",
+ "license": "MIT"
+ },
"node_modules/piccolore": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz",
@@ -4954,10 +5387,28 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "version": "8.5.8",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
+ "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
"funding": [
{
"type": "opencollective",
@@ -4982,6 +5433,127 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/postcss-import": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz",
+ "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
+ "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.1.1"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "license": "MIT"
+ },
"node_modules/prismjs": {
"version": "1.30.0",
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
@@ -5020,12 +5592,65 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/radix3": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz",
"integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==",
"license": "MIT"
},
+ "node_modules/range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
+ "dependencies": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "bin": {
+ "rc": "cli.js"
+ }
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
"node_modules/readdirp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
@@ -5063,6 +5688,28 @@
"integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
"license": "MIT"
},
+ "node_modules/registry-auth-token": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
+ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
+ "license": "MIT",
+ "dependencies": {
+ "rc": "^1.1.6",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/registry-url": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
+ "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==",
+ "license": "MIT",
+ "dependencies": {
+ "rc": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/rehype": {
"version": "13.0.2",
"resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz",
@@ -5205,6 +5852,35 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/retext": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz",
@@ -5266,6 +5942,16 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/rollup": {
"version": "4.59.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz",
@@ -5310,6 +5996,49 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/sax": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz",
@@ -5331,6 +6060,168 @@
"node": ">=10"
}
},
+ "node_modules/serve": {
+ "version": "14.2.6",
+ "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz",
+ "integrity": "sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@zeit/schemas": "2.36.0",
+ "ajv": "8.18.0",
+ "arg": "5.0.2",
+ "boxen": "7.0.0",
+ "chalk": "5.0.1",
+ "chalk-template": "0.4.0",
+ "clipboardy": "3.0.0",
+ "compression": "1.8.1",
+ "is-port-reachable": "4.0.0",
+ "serve-handler": "6.1.7",
+ "update-check": "1.5.4"
+ },
+ "bin": {
+ "serve": "build/main.js"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/serve-handler": {
+ "version": "6.1.7",
+ "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz",
+ "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==",
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "3.0.0",
+ "content-disposition": "0.5.2",
+ "mime-types": "2.1.18",
+ "minimatch": "3.1.5",
+ "path-is-inside": "1.0.2",
+ "path-to-regexp": "3.3.0",
+ "range-parser": "1.2.0"
+ }
+ },
+ "node_modules/serve-handler/node_modules/bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serve/node_modules/boxen": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz",
+ "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-align": "^3.0.1",
+ "camelcase": "^7.0.0",
+ "chalk": "^5.0.1",
+ "cli-boxes": "^3.0.0",
+ "string-width": "^5.1.2",
+ "type-fest": "^2.13.0",
+ "widest-line": "^4.0.1",
+ "wrap-ansi": "^8.0.1"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/serve/node_modules/camelcase": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz",
+ "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/serve/node_modules/chalk": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz",
+ "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/serve/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "license": "MIT"
+ },
+ "node_modules/serve/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/serve/node_modules/type-fest": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/serve/node_modules/widest-line": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz",
+ "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==",
+ "license": "MIT",
+ "dependencies": {
+ "string-width": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/serve/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/sharp": {
"version": "0.34.5",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
@@ -5376,6 +6267,27 @@
"@img/sharp-win32-x64": "0.34.5"
}
},
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/shiki": {
"version": "3.23.0",
"resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz",
@@ -5392,6 +6304,12 @@
"@types/hast": "^3.0.4"
}
},
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "license": "ISC"
+ },
"node_modules/sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@@ -5475,6 +6393,79 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sucrase": {
+ "version": "3.35.1",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz",
+ "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "tinyglobby": "^0.2.11",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/sucrase/node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/svgo": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz",
@@ -5501,22 +6492,130 @@
}
},
"node_modules/tailwindcss": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz",
- "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==",
- "license": "MIT"
- },
- "node_modules/tapable": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
- "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz",
+ "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==",
"license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.19.1",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "license": "MIT",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
}
},
"node_modules/tiny-inflate": {
@@ -5550,6 +6649,18 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -5576,6 +6687,12 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+ "license": "Apache-2.0"
+ },
"node_modules/tsconfck": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
@@ -5600,6 +6717,7 @@
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "ideallyInert": true,
"license": "0BSD",
"optional": true
},
@@ -5902,6 +7020,61 @@
}
}
},
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/update-check": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz",
+ "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "registry-auth-token": "3.3.2",
+ "registry-url": "3.1.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "license": "MIT"
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/vfile": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
@@ -6554,6 +7727,21 @@
"webidl-conversions": "^3.0.0"
}
},
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/which-pm-runs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
@@ -6622,6 +7810,21 @@
"integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==",
"license": "MIT"
},
+ "node_modules/yaml": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
+ "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
+ }
+ },
"node_modules/yargs-parser": {
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json
index 91d828cb6..b0abaca3c 100644
--- a/node_modules/.vite/deps/_metadata.json
+++ b/node_modules/.vite/deps/_metadata.json
@@ -1,25 +1,25 @@
{
- "hash": "4fe7beb6",
- "configHash": "0447bcbf",
- "lockfileHash": "746a67c5",
- "browserHash": "6b663b28",
+ "hash": "d42f017f",
+ "configHash": "af375ec6",
+ "lockfileHash": "ff2d2eea",
+ "browserHash": "41bf6e33",
"optimized": {
"astro > cssesc": {
"src": "../../cssesc/cssesc.js",
"file": "astro___cssesc.js",
- "fileHash": "f71ee3cc",
+ "fileHash": "e8d02241",
"needsInterop": true
},
"astro > aria-query": {
"src": "../../aria-query/lib/index.js",
"file": "astro___aria-query.js",
- "fileHash": "802b04fa",
+ "fileHash": "6f05959a",
"needsInterop": true
},
"astro > axobject-query": {
"src": "../../axobject-query/lib/index.js",
"file": "astro___axobject-query.js",
- "fileHash": "5fe72762",
+ "fileHash": "84d4262b",
"needsInterop": true
}
},
diff --git a/node_modules/@alloc/quick-lru/index.d.ts b/node_modules/@alloc/quick-lru/index.d.ts
new file mode 100644
index 000000000..eb819bad0
--- /dev/null
+++ b/node_modules/@alloc/quick-lru/index.d.ts
@@ -0,0 +1,128 @@
+declare namespace QuickLRU {
+ interface Options
{
+ /**
+ The maximum number of milliseconds an item should remain in the cache.
+
+ @default Infinity
+
+ By default, `maxAge` will be `Infinity`, which means that items will never expire.
+ Lazy expiration upon the next write or read call.
+
+ Individual expiration of an item can be specified by the `set(key, value, maxAge)` method.
+ */
+ readonly maxAge?: number;
+
+ /**
+ The maximum number of items before evicting the least recently used items.
+ */
+ readonly maxSize: number;
+
+ /**
+ Called right before an item is evicted from the cache.
+
+ Useful for side effects or for items like object URLs that need explicit cleanup (`revokeObjectURL`).
+ */
+ onEviction?: (key: KeyType, value: ValueType) => void;
+ }
+}
+
+declare class QuickLRU
+ implements Iterable<[KeyType, ValueType]> {
+ /**
+ The stored item count.
+ */
+ readonly size: number;
+
+ /**
+ Simple ["Least Recently Used" (LRU) cache](https://en.m.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29).
+
+ The instance is [`iterable`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols) so you can use it directly in a [`for…of`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) loop.
+
+ @example
+ ```
+ import QuickLRU = require('quick-lru');
+
+ const lru = new QuickLRU({maxSize: 1000});
+
+ lru.set('🦄', '🌈');
+
+ lru.has('🦄');
+ //=> true
+
+ lru.get('🦄');
+ //=> '🌈'
+ ```
+ */
+ constructor(options: QuickLRU.Options);
+
+ [Symbol.iterator](): IterableIterator<[KeyType, ValueType]>;
+
+ /**
+ Set an item. Returns the instance.
+
+ Individual expiration of an item can be specified with the `maxAge` option. If not specified, the global `maxAge` value will be used in case it is specified in the constructor, otherwise the item will never expire.
+
+ @returns The list instance.
+ */
+ set(key: KeyType, value: ValueType, options?: {maxAge?: number}): this;
+
+ /**
+ Get an item.
+
+ @returns The stored item or `undefined`.
+ */
+ get(key: KeyType): ValueType | undefined;
+
+ /**
+ Check if an item exists.
+ */
+ has(key: KeyType): boolean;
+
+ /**
+ Get an item without marking it as recently used.
+
+ @returns The stored item or `undefined`.
+ */
+ peek(key: KeyType): ValueType | undefined;
+
+ /**
+ Delete an item.
+
+ @returns `true` if the item is removed or `false` if the item doesn't exist.
+ */
+ delete(key: KeyType): boolean;
+
+ /**
+ Delete all items.
+ */
+ clear(): void;
+
+ /**
+ Update the `maxSize` in-place, discarding items as necessary. Insertion order is mostly preserved, though this is not a strong guarantee.
+
+ Useful for on-the-fly tuning of cache sizes in live systems.
+ */
+ resize(maxSize: number): void;
+
+ /**
+ Iterable for all the keys.
+ */
+ keys(): IterableIterator;
+
+ /**
+ Iterable for all the values.
+ */
+ values(): IterableIterator;
+
+ /**
+ Iterable for all entries, starting with the oldest (ascending in recency).
+ */
+ entriesAscending(): IterableIterator<[KeyType, ValueType]>;
+
+ /**
+ Iterable for all entries, starting with the newest (descending in recency).
+ */
+ entriesDescending(): IterableIterator<[KeyType, ValueType]>;
+}
+
+export = QuickLRU;
diff --git a/node_modules/@alloc/quick-lru/index.js b/node_modules/@alloc/quick-lru/index.js
new file mode 100644
index 000000000..7eeced23e
--- /dev/null
+++ b/node_modules/@alloc/quick-lru/index.js
@@ -0,0 +1,263 @@
+'use strict';
+
+class QuickLRU {
+ constructor(options = {}) {
+ if (!(options.maxSize && options.maxSize > 0)) {
+ throw new TypeError('`maxSize` must be a number greater than 0');
+ }
+
+ if (typeof options.maxAge === 'number' && options.maxAge === 0) {
+ throw new TypeError('`maxAge` must be a number greater than 0');
+ }
+
+ this.maxSize = options.maxSize;
+ this.maxAge = options.maxAge || Infinity;
+ this.onEviction = options.onEviction;
+ this.cache = new Map();
+ this.oldCache = new Map();
+ this._size = 0;
+ }
+
+ _emitEvictions(cache) {
+ if (typeof this.onEviction !== 'function') {
+ return;
+ }
+
+ for (const [key, item] of cache) {
+ this.onEviction(key, item.value);
+ }
+ }
+
+ _deleteIfExpired(key, item) {
+ if (typeof item.expiry === 'number' && item.expiry <= Date.now()) {
+ if (typeof this.onEviction === 'function') {
+ this.onEviction(key, item.value);
+ }
+
+ return this.delete(key);
+ }
+
+ return false;
+ }
+
+ _getOrDeleteIfExpired(key, item) {
+ const deleted = this._deleteIfExpired(key, item);
+ if (deleted === false) {
+ return item.value;
+ }
+ }
+
+ _getItemValue(key, item) {
+ return item.expiry ? this._getOrDeleteIfExpired(key, item) : item.value;
+ }
+
+ _peek(key, cache) {
+ const item = cache.get(key);
+
+ return this._getItemValue(key, item);
+ }
+
+ _set(key, value) {
+ this.cache.set(key, value);
+ this._size++;
+
+ if (this._size >= this.maxSize) {
+ this._size = 0;
+ this._emitEvictions(this.oldCache);
+ this.oldCache = this.cache;
+ this.cache = new Map();
+ }
+ }
+
+ _moveToRecent(key, item) {
+ this.oldCache.delete(key);
+ this._set(key, item);
+ }
+
+ * _entriesAscending() {
+ for (const item of this.oldCache) {
+ const [key, value] = item;
+ if (!this.cache.has(key)) {
+ const deleted = this._deleteIfExpired(key, value);
+ if (deleted === false) {
+ yield item;
+ }
+ }
+ }
+
+ for (const item of this.cache) {
+ const [key, value] = item;
+ const deleted = this._deleteIfExpired(key, value);
+ if (deleted === false) {
+ yield item;
+ }
+ }
+ }
+
+ get(key) {
+ if (this.cache.has(key)) {
+ const item = this.cache.get(key);
+
+ return this._getItemValue(key, item);
+ }
+
+ if (this.oldCache.has(key)) {
+ const item = this.oldCache.get(key);
+ if (this._deleteIfExpired(key, item) === false) {
+ this._moveToRecent(key, item);
+ return item.value;
+ }
+ }
+ }
+
+ set(key, value, {maxAge = this.maxAge === Infinity ? undefined : Date.now() + this.maxAge} = {}) {
+ if (this.cache.has(key)) {
+ this.cache.set(key, {
+ value,
+ maxAge
+ });
+ } else {
+ this._set(key, {value, expiry: maxAge});
+ }
+ }
+
+ has(key) {
+ if (this.cache.has(key)) {
+ return !this._deleteIfExpired(key, this.cache.get(key));
+ }
+
+ if (this.oldCache.has(key)) {
+ return !this._deleteIfExpired(key, this.oldCache.get(key));
+ }
+
+ return false;
+ }
+
+ peek(key) {
+ if (this.cache.has(key)) {
+ return this._peek(key, this.cache);
+ }
+
+ if (this.oldCache.has(key)) {
+ return this._peek(key, this.oldCache);
+ }
+ }
+
+ delete(key) {
+ const deleted = this.cache.delete(key);
+ if (deleted) {
+ this._size--;
+ }
+
+ return this.oldCache.delete(key) || deleted;
+ }
+
+ clear() {
+ this.cache.clear();
+ this.oldCache.clear();
+ this._size = 0;
+ }
+
+ resize(newSize) {
+ if (!(newSize && newSize > 0)) {
+ throw new TypeError('`maxSize` must be a number greater than 0');
+ }
+
+ const items = [...this._entriesAscending()];
+ const removeCount = items.length - newSize;
+ if (removeCount < 0) {
+ this.cache = new Map(items);
+ this.oldCache = new Map();
+ this._size = items.length;
+ } else {
+ if (removeCount > 0) {
+ this._emitEvictions(items.slice(0, removeCount));
+ }
+
+ this.oldCache = new Map(items.slice(removeCount));
+ this.cache = new Map();
+ this._size = 0;
+ }
+
+ this.maxSize = newSize;
+ }
+
+ * keys() {
+ for (const [key] of this) {
+ yield key;
+ }
+ }
+
+ * values() {
+ for (const [, value] of this) {
+ yield value;
+ }
+ }
+
+ * [Symbol.iterator]() {
+ for (const item of this.cache) {
+ const [key, value] = item;
+ const deleted = this._deleteIfExpired(key, value);
+ if (deleted === false) {
+ yield [key, value.value];
+ }
+ }
+
+ for (const item of this.oldCache) {
+ const [key, value] = item;
+ if (!this.cache.has(key)) {
+ const deleted = this._deleteIfExpired(key, value);
+ if (deleted === false) {
+ yield [key, value.value];
+ }
+ }
+ }
+ }
+
+ * entriesDescending() {
+ let items = [...this.cache];
+ for (let i = items.length - 1; i >= 0; --i) {
+ const item = items[i];
+ const [key, value] = item;
+ const deleted = this._deleteIfExpired(key, value);
+ if (deleted === false) {
+ yield [key, value.value];
+ }
+ }
+
+ items = [...this.oldCache];
+ for (let i = items.length - 1; i >= 0; --i) {
+ const item = items[i];
+ const [key, value] = item;
+ if (!this.cache.has(key)) {
+ const deleted = this._deleteIfExpired(key, value);
+ if (deleted === false) {
+ yield [key, value.value];
+ }
+ }
+ }
+ }
+
+ * entriesAscending() {
+ for (const [key, value] of this._entriesAscending()) {
+ yield [key, value.value];
+ }
+ }
+
+ get size() {
+ if (!this._size) {
+ return this.oldCache.size;
+ }
+
+ let oldCacheSize = 0;
+ for (const key of this.oldCache.keys()) {
+ if (!this.cache.has(key)) {
+ oldCacheSize++;
+ }
+ }
+
+ return Math.min(this._size + oldCacheSize, this.maxSize);
+ }
+}
+
+module.exports = QuickLRU;
diff --git a/node_modules/@alloc/quick-lru/license b/node_modules/@alloc/quick-lru/license
new file mode 100644
index 000000000..e7af2f771
--- /dev/null
+++ b/node_modules/@alloc/quick-lru/license
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/@alloc/quick-lru/package.json b/node_modules/@alloc/quick-lru/package.json
new file mode 100644
index 000000000..21f107267
--- /dev/null
+++ b/node_modules/@alloc/quick-lru/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "@alloc/quick-lru",
+ "version": "5.2.0",
+ "description": "Simple “Least Recently Used” (LRU) cache",
+ "license": "MIT",
+ "repository": "sindresorhus/quick-lru",
+ "funding": "https://github.com/sponsors/sindresorhus",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "https://sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "scripts": {
+ "test": "xo && nyc ava && tsd"
+ },
+ "files": [
+ "index.js",
+ "index.d.ts"
+ ],
+ "keywords": [
+ "lru",
+ "quick",
+ "cache",
+ "caching",
+ "least",
+ "recently",
+ "used",
+ "fast",
+ "map",
+ "hash",
+ "buffer"
+ ],
+ "devDependencies": {
+ "ava": "^2.0.0",
+ "coveralls": "^3.0.3",
+ "nyc": "^15.0.0",
+ "tsd": "^0.11.0",
+ "xo": "^0.26.0"
+ }
+}
diff --git a/node_modules/@alloc/quick-lru/readme.md b/node_modules/@alloc/quick-lru/readme.md
new file mode 100644
index 000000000..7187ba598
--- /dev/null
+++ b/node_modules/@alloc/quick-lru/readme.md
@@ -0,0 +1,139 @@
+# quick-lru [](https://travis-ci.org/sindresorhus/quick-lru) [](https://coveralls.io/github/sindresorhus/quick-lru?branch=master)
+
+> Simple [“Least Recently Used” (LRU) cache](https://en.m.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29)
+
+Useful when you need to cache something and limit memory usage.
+
+Inspired by the [`hashlru` algorithm](https://github.com/dominictarr/hashlru#algorithm), but instead uses [`Map`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map) to support keys of any type, not just strings, and values can be `undefined`.
+
+## Install
+
+```
+$ npm install quick-lru
+```
+
+## Usage
+
+```js
+const QuickLRU = require('quick-lru');
+
+const lru = new QuickLRU({maxSize: 1000});
+
+lru.set('🦄', '🌈');
+
+lru.has('🦄');
+//=> true
+
+lru.get('🦄');
+//=> '🌈'
+```
+
+## API
+
+### new QuickLRU(options?)
+
+Returns a new instance.
+
+### options
+
+Type: `object`
+
+#### maxSize
+
+*Required*\
+Type: `number`
+
+The maximum number of items before evicting the least recently used items.
+
+#### maxAge
+
+Type: `number`\
+Default: `Infinity`
+
+The maximum number of milliseconds an item should remain in cache.
+By default maxAge will be Infinity, which means that items will never expire.
+
+Lazy expiration happens upon the next `write` or `read` call.
+
+Individual expiration of an item can be specified by the `set(key, value, options)` method.
+
+#### onEviction
+
+*Optional*\
+Type: `(key, value) => void`
+
+Called right before an item is evicted from the cache.
+
+Useful for side effects or for items like object URLs that need explicit cleanup (`revokeObjectURL`).
+
+### Instance
+
+The instance is [`iterable`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols) so you can use it directly in a [`for…of`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) loop.
+
+Both `key` and `value` can be of any type.
+
+#### .set(key, value, options?)
+
+Set an item. Returns the instance.
+
+Individual expiration of an item can be specified with the `maxAge` option. If not specified, the global `maxAge` value will be used in case it is specified on the constructor, otherwise the item will never expire.
+
+#### .get(key)
+
+Get an item.
+
+#### .has(key)
+
+Check if an item exists.
+
+#### .peek(key)
+
+Get an item without marking it as recently used.
+
+#### .delete(key)
+
+Delete an item.
+
+Returns `true` if the item is removed or `false` if the item doesn't exist.
+
+#### .clear()
+
+Delete all items.
+
+#### .resize(maxSize)
+
+Update the `maxSize`, discarding items as necessary. Insertion order is mostly preserved, though this is not a strong guarantee.
+
+Useful for on-the-fly tuning of cache sizes in live systems.
+
+#### .keys()
+
+Iterable for all the keys.
+
+#### .values()
+
+Iterable for all the values.
+
+#### .entriesAscending()
+
+Iterable for all entries, starting with the oldest (ascending in recency).
+
+#### .entriesDescending()
+
+Iterable for all entries, starting with the newest (descending in recency).
+
+#### .size
+
+The stored item count.
+
+---
+
+
diff --git a/node_modules/@astrojs/tailwind/LICENSE b/node_modules/@astrojs/tailwind/LICENSE
new file mode 100644
index 000000000..b3cd0c0f0
--- /dev/null
+++ b/node_modules/@astrojs/tailwind/LICENSE
@@ -0,0 +1,59 @@
+MIT License
+
+Copyright (c) 2021 Fred K. Schott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+"""
+This license applies to parts of the `packages/create-astro` and `packages/astro` subdirectories originating from the https://github.com/sveltejs/kit repository:
+
+Copyright (c) 2020 [these people](https://github.com/sveltejs/kit/graphs/contributors)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+"""
+
+"""
+This license applies to parts of the `packages/create-astro` and `packages/astro` subdirectories originating from the https://github.com/vitejs/vite repository:
+
+MIT License
+
+Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+"""
diff --git a/node_modules/@astrojs/tailwind/README.md b/node_modules/@astrojs/tailwind/README.md
new file mode 100644
index 000000000..8ceec6747
--- /dev/null
+++ b/node_modules/@astrojs/tailwind/README.md
@@ -0,0 +1,38 @@
+# @astrojs/tailwind 💨
+
+> ⚠️ **This integration is deprecated**
+>
+> [Tailwind CSS now offers a Vite plugin](https://tailwindcss.com/docs/installation/framework-guides/astro) which is the preferred way to use Tailwind 4 in Astro.
+>
+> Learn how to use Tailwind in your project in the Astro [“Styles and CSS”][docs] guide.
+
+## Support
+
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
+
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
+
+- Submit bug reports and feature requests as [GitHub issues][issues].
+
+## Contributing
+
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
+
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
+
+## License
+
+MIT
+
+Copyright (c) 2023–present [Astro][astro]
+
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/styling/#tailwind
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
diff --git a/node_modules/@astrojs/tailwind/base.css b/node_modules/@astrojs/tailwind/base.css
new file mode 100644
index 000000000..b5c61c956
--- /dev/null
+++ b/node_modules/@astrojs/tailwind/base.css
@@ -0,0 +1,3 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
diff --git a/node_modules/@astrojs/tailwind/dist/index.d.ts b/node_modules/@astrojs/tailwind/dist/index.d.ts
new file mode 100644
index 000000000..d67a74d63
--- /dev/null
+++ b/node_modules/@astrojs/tailwind/dist/index.d.ts
@@ -0,0 +1,23 @@
+import type { AstroIntegration } from 'astro';
+type TailwindOptions = {
+ /**
+ * Path to your tailwind config file
+ * @default 'tailwind.config.mjs'
+ */
+ configFile?: string;
+ /**
+ * Apply Tailwind's base styles
+ * Disabling this is useful when further customization of Tailwind styles
+ * and directives is required. See {@link https://tailwindcss.com/docs/functions-and-directives#tailwind Tailwind's docs}
+ * for more details on directives and customization.
+ * @default true
+ */
+ applyBaseStyles?: boolean;
+ /**
+ * Add CSS nesting support using `tailwindcss/nesting`. See {@link https://tailwindcss.com/docs/using-with-preprocessors#nesting Tailwind's docs}
+ * for how this works with `postcss-nesting` and `postcss-nested`.
+ */
+ nesting?: boolean;
+};
+export default function tailwindIntegration(options?: TailwindOptions): AstroIntegration;
+export {};
diff --git a/node_modules/@astrojs/tailwind/dist/index.js b/node_modules/@astrojs/tailwind/dist/index.js
new file mode 100644
index 000000000..780074bfa
--- /dev/null
+++ b/node_modules/@astrojs/tailwind/dist/index.js
@@ -0,0 +1,61 @@
+import { fileURLToPath } from "node:url";
+import autoprefixerPlugin from "autoprefixer";
+import tailwindPlugin from "tailwindcss";
+async function getPostCssConfig(root, postcssInlineOptions) {
+ let postcssConfigResult;
+ if (!(typeof postcssInlineOptions === "object" && postcssInlineOptions !== null)) {
+ let { default: postcssrc } = await import("postcss-load-config");
+ const searchPath = typeof postcssInlineOptions === "string" ? postcssInlineOptions : root;
+ try {
+ postcssConfigResult = await postcssrc({}, searchPath);
+ } catch {
+ postcssConfigResult = null;
+ }
+ }
+ return postcssConfigResult;
+}
+async function getViteConfiguration(tailwindConfigPath, nesting, root, postcssInlineOptions) {
+ const postcssConfigResult = await getPostCssConfig(root, postcssInlineOptions);
+ const postcssOptions = postcssConfigResult?.options ?? {};
+ const postcssPlugins = postcssConfigResult?.plugins?.slice() ?? [];
+ if (nesting) {
+ const tailwindcssNestingPlugin = (await import("tailwindcss/nesting/index.js")).default;
+ postcssPlugins.push(tailwindcssNestingPlugin());
+ }
+ postcssPlugins.push(tailwindPlugin(tailwindConfigPath));
+ postcssPlugins.push(autoprefixerPlugin());
+ return {
+ css: {
+ postcss: {
+ ...postcssOptions,
+ plugins: postcssPlugins
+ }
+ }
+ };
+}
+function tailwindIntegration(options) {
+ const applyBaseStyles = options?.applyBaseStyles ?? true;
+ const customConfigPath = options?.configFile;
+ const nesting = options?.nesting ?? false;
+ return {
+ name: "@astrojs/tailwind",
+ hooks: {
+ "astro:config:setup": async ({ config, updateConfig, injectScript }) => {
+ updateConfig({
+ vite: await getViteConfiguration(
+ customConfigPath,
+ nesting,
+ fileURLToPath(config.root),
+ config.vite.css?.postcss
+ )
+ });
+ if (applyBaseStyles) {
+ injectScript("page-ssr", `import '@astrojs/tailwind/base.css';`);
+ }
+ }
+ }
+ };
+}
+export {
+ tailwindIntegration as default
+};
diff --git a/node_modules/@astrojs/tailwind/package.json b/node_modules/@astrojs/tailwind/package.json
new file mode 100644
index 000000000..42786bb78
--- /dev/null
+++ b/node_modules/@astrojs/tailwind/package.json
@@ -0,0 +1,55 @@
+{
+ "name": "@astrojs/tailwind",
+ "description": "Use Tailwind CSS to style your Astro site",
+ "version": "6.0.2",
+ "type": "module",
+ "types": "./dist/index.d.ts",
+ "author": "withastro",
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/withastro/astro.git",
+ "directory": "packages/integrations/tailwind"
+ },
+ "keywords": [
+ "astro-integration",
+ "withastro",
+ "css",
+ "tailwindcss"
+ ],
+ "bugs": "https://github.com/withastro/astro/issues",
+ "homepage": "https://docs.astro.build/en/guides/integrations-guide/tailwind/",
+ "exports": {
+ ".": "./dist/index.js",
+ "./base.css": "./base.css",
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "dist",
+ "base.css"
+ ],
+ "dependencies": {
+ "autoprefixer": "^10.4.21",
+ "postcss": "^8.5.3",
+ "postcss-load-config": "^4.0.2"
+ },
+ "devDependencies": {
+ "tailwindcss": "^3.4.17",
+ "vite": "^6.2.3",
+ "astro-scripts": "0.0.14",
+ "astro": "5.5.5"
+ },
+ "peerDependencies": {
+ "astro": "^3.0.0 || ^4.0.0 || ^5.0.0",
+ "tailwindcss": "^3.0.24"
+ },
+ "publishConfig": {
+ "provenance": true
+ },
+ "scripts": {
+ "build": "astro-scripts build \"src/**/*.ts\" && tsc",
+ "build:ci": "astro-scripts build \"src/**/*.ts\"",
+ "dev": "astro-scripts dev \"src/**/*.ts\"",
+ "test": "astro-scripts test \"test/**/*.test.js\""
+ }
+}
\ No newline at end of file
diff --git a/node_modules/@emnapi/runtime/README.md b/node_modules/@emnapi/runtime/README.md
deleted file mode 100644
index c98dddca6..000000000
--- a/node_modules/@emnapi/runtime/README.md
+++ /dev/null
@@ -1 +0,0 @@
-See [https://github.com/toyobayashi/emnapi](https://github.com/toyobayashi/emnapi)
diff --git a/node_modules/@emnapi/runtime/dist/emnapi.cjs.js b/node_modules/@emnapi/runtime/dist/emnapi.cjs.js
deleted file mode 100644
index 9b2105cfe..000000000
--- a/node_modules/@emnapi/runtime/dist/emnapi.cjs.js
+++ /dev/null
@@ -1,1354 +0,0 @@
-const externalValue = new WeakMap();
-function isExternal(object) {
- return externalValue.has(object);
-}
-const External = (() => {
- function External(value) {
- Object.setPrototypeOf(this, null);
- externalValue.set(this, value);
- }
- External.prototype = null;
- return External;
-})();
-function getExternalValue(external) {
- if (!isExternal(external)) {
- throw new TypeError('not external');
- }
- return externalValue.get(external);
-}
-
-const supportNewFunction = (function () {
- let f;
- try {
- f = new Function();
- }
- catch (_) {
- return false;
- }
- return typeof f === 'function';
-})();
-const _global = (function () {
- if (typeof globalThis !== 'undefined')
- return globalThis;
- let g = (function () { return this; })();
- if (!g && supportNewFunction) {
- try {
- g = new Function('return this')();
- }
- catch (_) { }
- }
- if (!g) {
- if (typeof __webpack_public_path__ === 'undefined') {
- if (typeof global !== 'undefined')
- return global;
- }
- if (typeof window !== 'undefined')
- return window;
- if (typeof self !== 'undefined')
- return self;
- }
- return g;
-})();
-class TryCatch {
- constructor() {
- this._exception = undefined;
- this._caught = false;
- }
- isEmpty() {
- return !this._caught;
- }
- hasCaught() {
- return this._caught;
- }
- exception() {
- return this._exception;
- }
- setError(err) {
- this._caught = true;
- this._exception = err;
- }
- reset() {
- this._caught = false;
- this._exception = undefined;
- }
- extractException() {
- const e = this._exception;
- this.reset();
- return e;
- }
-}
-const canSetFunctionName = (function () {
- var _a;
- try {
- return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable);
- }
- catch (_) {
- return false;
- }
-})();
-const supportReflect = typeof Reflect === 'object';
-const supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined');
-const supportWeakSymbol = (function () {
- try {
- const sym = Symbol();
- new WeakRef(sym);
- new WeakMap().set(sym, undefined);
- }
- catch (_) {
- return false;
- }
- return true;
-})();
-const supportBigInt = typeof BigInt !== 'undefined';
-function isReferenceType(v) {
- return (typeof v === 'object' && v !== null) || typeof v === 'function';
-}
-const _require = (function () {
- let nativeRequire;
- if (typeof __webpack_public_path__ !== 'undefined') {
- nativeRequire = (function () {
- return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined;
- })();
- }
- else {
- nativeRequire = (function () {
- return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined);
- })();
- }
- return nativeRequire;
-})();
-const _MessageChannel = typeof MessageChannel === 'function'
- ? MessageChannel
- : (function () {
- try {
- return _require('worker_threads').MessageChannel;
- }
- catch (_) { }
- return undefined;
- })();
-const _setImmediate = typeof setImmediate === 'function'
- ? setImmediate
- : function (callback) {
- if (typeof callback !== 'function') {
- throw new TypeError('The "callback" argument must be of type function');
- }
- if (_MessageChannel) {
- let channel = new _MessageChannel();
- channel.port1.onmessage = function () {
- channel.port1.onmessage = null;
- channel = undefined;
- callback();
- };
- channel.port2.postMessage(null);
- }
- else {
- setTimeout(callback, 0);
- }
- };
-const _Buffer = typeof Buffer === 'function'
- ? Buffer
- : (function () {
- try {
- return _require('buffer').Buffer;
- }
- catch (_) { }
- return undefined;
- })();
-const version = "1.8.1";
-const NODE_API_SUPPORTED_VERSION_MIN = 1;
-const NODE_API_SUPPORTED_VERSION_MAX = 10;
-const NAPI_VERSION_EXPERIMENTAL = 2147483647;
-const NODE_API_DEFAULT_MODULE_API_VERSION = 8;
-
-class Handle {
- constructor(id, value) {
- this.id = id;
- this.value = value;
- }
- data() {
- return getExternalValue(this.value);
- }
- isNumber() {
- return typeof this.value === 'number';
- }
- isBigInt() {
- return typeof this.value === 'bigint';
- }
- isString() {
- return typeof this.value === 'string';
- }
- isFunction() {
- return typeof this.value === 'function';
- }
- isExternal() {
- return isExternal(this.value);
- }
- isObject() {
- return typeof this.value === 'object' && this.value !== null;
- }
- isArray() {
- return Array.isArray(this.value);
- }
- isArrayBuffer() {
- return (this.value instanceof ArrayBuffer);
- }
- isTypedArray() {
- return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView);
- }
- isBuffer(BufferConstructor) {
- if (ArrayBuffer.isView(this.value))
- return true;
- BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer);
- return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value);
- }
- isDataView() {
- return (this.value instanceof DataView);
- }
- isDate() {
- return (this.value instanceof Date);
- }
- isPromise() {
- return (this.value instanceof Promise);
- }
- isBoolean() {
- return typeof this.value === 'boolean';
- }
- isUndefined() {
- return this.value === undefined;
- }
- isSymbol() {
- return typeof this.value === 'symbol';
- }
- isNull() {
- return this.value === null;
- }
- dispose() {
- this.value = undefined;
- }
-}
-class ConstHandle extends Handle {
- constructor(id, value) {
- super(id, value);
- }
- dispose() { }
-}
-class HandleStore {
- constructor() {
- this._values = [
- undefined,
- HandleStore.UNDEFINED,
- HandleStore.NULL,
- HandleStore.FALSE,
- HandleStore.TRUE,
- HandleStore.GLOBAL
- ];
- this._next = HandleStore.MIN_ID;
- }
- push(value) {
- let h;
- const next = this._next;
- const values = this._values;
- if (next < values.length) {
- h = values[next];
- h.value = value;
- }
- else {
- h = new Handle(next, value);
- values[next] = h;
- }
- this._next++;
- return h;
- }
- erase(start, end) {
- this._next = start;
- const values = this._values;
- for (let i = start; i < end; ++i) {
- values[i].dispose();
- }
- }
- get(id) {
- return this._values[id];
- }
- swap(a, b) {
- const values = this._values;
- const h = values[a];
- values[a] = values[b];
- values[a].id = Number(a);
- values[b] = h;
- h.id = Number(b);
- }
- dispose() {
- this._values.length = HandleStore.MIN_ID;
- this._next = HandleStore.MIN_ID;
- }
-}
-HandleStore.UNDEFINED = new ConstHandle(1, undefined);
-HandleStore.NULL = new ConstHandle(2, null);
-HandleStore.FALSE = new ConstHandle(3, false);
-HandleStore.TRUE = new ConstHandle(4, true);
-HandleStore.GLOBAL = new ConstHandle(5, _global);
-HandleStore.MIN_ID = 6;
-
-class HandleScope {
- constructor(handleStore, id, parentScope, start, end = start) {
- this.handleStore = handleStore;
- this.id = id;
- this.parent = parentScope;
- this.child = null;
- if (parentScope !== null)
- parentScope.child = this;
- this.start = start;
- this.end = end;
- this._escapeCalled = false;
- this.callbackInfo = {
- thiz: undefined,
- data: 0,
- args: undefined,
- fn: undefined
- };
- }
- add(value) {
- const h = this.handleStore.push(value);
- this.end++;
- return h;
- }
- addExternal(data) {
- return this.add(new External(data));
- }
- dispose() {
- if (this._escapeCalled)
- this._escapeCalled = false;
- if (this.start === this.end)
- return;
- this.handleStore.erase(this.start, this.end);
- }
- escape(handle) {
- if (this._escapeCalled)
- return null;
- this._escapeCalled = true;
- if (handle < this.start || handle >= this.end) {
- return null;
- }
- this.handleStore.swap(handle, this.start);
- const h = this.handleStore.get(this.start);
- this.start++;
- this.parent.end++;
- return h;
- }
- escapeCalled() {
- return this._escapeCalled;
- }
-}
-
-class ScopeStore {
- constructor() {
- this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID);
- this.currentScope = this._rootScope;
- this._values = [undefined];
- }
- get(id) {
- return this._values[id];
- }
- openScope(handleStore) {
- const currentScope = this.currentScope;
- let scope = currentScope.child;
- if (scope !== null) {
- scope.start = scope.end = currentScope.end;
- }
- else {
- const id = currentScope.id + 1;
- scope = new HandleScope(handleStore, id, currentScope, currentScope.end);
- this._values[id] = scope;
- }
- this.currentScope = scope;
- return scope;
- }
- closeScope() {
- const scope = this.currentScope;
- this.currentScope = scope.parent;
- scope.dispose();
- }
- dispose() {
- this.currentScope = this._rootScope;
- this._values.length = 1;
- }
-}
-
-class RefTracker {
- constructor() {
- this._next = null;
- this._prev = null;
- }
- dispose() { }
- finalize() { }
- link(list) {
- this._prev = list;
- this._next = list._next;
- if (this._next !== null) {
- this._next._prev = this;
- }
- list._next = this;
- }
- unlink() {
- if (this._prev !== null) {
- this._prev._next = this._next;
- }
- if (this._next !== null) {
- this._next._prev = this._prev;
- }
- this._prev = null;
- this._next = null;
- }
- static finalizeAll(list) {
- while (list._next !== null) {
- list._next.finalize();
- }
- }
-}
-
-class Finalizer {
- constructor(envObject, _finalizeCallback = 0, _finalizeData = 0, _finalizeHint = 0) {
- this.envObject = envObject;
- this._finalizeCallback = _finalizeCallback;
- this._finalizeData = _finalizeData;
- this._finalizeHint = _finalizeHint;
- this._makeDynCall_vppp = envObject.makeDynCall_vppp;
- }
- callback() { return this._finalizeCallback; }
- data() { return this._finalizeData; }
- hint() { return this._finalizeHint; }
- resetEnv() {
- this.envObject = undefined;
- }
- resetFinalizer() {
- this._finalizeCallback = 0;
- this._finalizeData = 0;
- this._finalizeHint = 0;
- }
- callFinalizer() {
- const finalize_callback = this._finalizeCallback;
- const finalize_data = this._finalizeData;
- const finalize_hint = this._finalizeHint;
- this.resetFinalizer();
- if (!finalize_callback)
- return;
- const fini = Number(finalize_callback);
- if (!this.envObject) {
- this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint);
- }
- else {
- this.envObject.callFinalizer(fini, finalize_data, finalize_hint);
- }
- }
- dispose() {
- this.envObject = undefined;
- this._makeDynCall_vppp = undefined;
- }
-}
-
-class TrackedFinalizer extends RefTracker {
- static create(envObject, finalize_callback, finalize_data, finalize_hint) {
- const finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint);
- finalizer.link(envObject.finalizing_reflist);
- return finalizer;
- }
- constructor(envObject, finalize_callback, finalize_data, finalize_hint) {
- super();
- this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint);
- }
- data() {
- return this._finalizer.data();
- }
- dispose() {
- if (!this._finalizer)
- return;
- this.unlink();
- this._finalizer.envObject.dequeueFinalizer(this);
- this._finalizer.dispose();
- this._finalizer = undefined;
- super.dispose();
- }
- finalize() {
- this.unlink();
- let error;
- let caught = false;
- try {
- this._finalizer.callFinalizer();
- }
- catch (err) {
- caught = true;
- error = err;
- }
- this.dispose();
- if (caught) {
- throw error;
- }
- }
-}
-
-function throwNodeApiVersionError(moduleName, moduleApiVersion) {
- const errorMessage = `${moduleName} requires Node-API version ${moduleApiVersion}, but this version of Node.js only supports version ${NODE_API_SUPPORTED_VERSION_MAX} add-ons.`;
- throw new Error(errorMessage);
-}
-function handleThrow(envObject, value) {
- if (envObject.terminatedOrTerminating()) {
- return;
- }
- throw value;
-}
-class Env {
- constructor(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) {
- this.ctx = ctx;
- this.moduleApiVersion = moduleApiVersion;
- this.makeDynCall_vppp = makeDynCall_vppp;
- this.makeDynCall_vp = makeDynCall_vp;
- this.abort = abort;
- this.openHandleScopes = 0;
- this.instanceData = null;
- this.tryCatch = new TryCatch();
- this.refs = 1;
- this.reflist = new RefTracker();
- this.finalizing_reflist = new RefTracker();
- this.pendingFinalizers = [];
- this.lastError = {
- errorCode: 0,
- engineErrorCode: 0,
- engineReserved: 0
- };
- this.inGcFinalizer = false;
- this._bindingMap = new WeakMap();
- this.id = 0;
- }
- canCallIntoJs() {
- return true;
- }
- terminatedOrTerminating() {
- return !this.canCallIntoJs();
- }
- ref() {
- this.refs++;
- }
- unref() {
- this.refs--;
- if (this.refs === 0) {
- this.dispose();
- }
- }
- ensureHandle(value) {
- return this.ctx.ensureHandle(value);
- }
- ensureHandleId(value) {
- return this.ensureHandle(value).id;
- }
- clearLastError() {
- const lastError = this.lastError;
- if (lastError.errorCode !== 0)
- lastError.errorCode = 0;
- if (lastError.engineErrorCode !== 0)
- lastError.engineErrorCode = 0;
- if (lastError.engineReserved !== 0)
- lastError.engineReserved = 0;
- return 0;
- }
- setLastError(error_code, engine_error_code = 0, engine_reserved = 0) {
- const lastError = this.lastError;
- if (lastError.errorCode !== error_code)
- lastError.errorCode = error_code;
- if (lastError.engineErrorCode !== engine_error_code)
- lastError.engineErrorCode = engine_error_code;
- if (lastError.engineReserved !== engine_reserved)
- lastError.engineReserved = engine_reserved;
- return error_code;
- }
- getReturnStatus() {
- return !this.tryCatch.hasCaught() ? 0 : this.setLastError(10);
- }
- callIntoModule(fn, handleException = handleThrow) {
- const openHandleScopesBefore = this.openHandleScopes;
- this.clearLastError();
- const r = fn(this);
- if (openHandleScopesBefore !== this.openHandleScopes) {
- this.abort('open_handle_scopes != open_handle_scopes_before');
- }
- if (this.tryCatch.hasCaught()) {
- const err = this.tryCatch.extractException();
- handleException(this, err);
- }
- return r;
- }
- invokeFinalizerFromGC(finalizer) {
- if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) {
- this.enqueueFinalizer(finalizer);
- }
- else {
- const saved = this.inGcFinalizer;
- this.inGcFinalizer = true;
- try {
- finalizer.finalize();
- }
- finally {
- this.inGcFinalizer = saved;
- }
- }
- }
- checkGCAccess() {
- if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) {
- this.abort('Finalizer is calling a function that may affect GC state.\n' +
- 'The finalizers are run directly from GC and must not affect GC ' +
- 'state.\n' +
- 'Use `node_api_post_finalizer` from inside of the finalizer to work ' +
- 'around this issue.\n' +
- 'It schedules the call as a new task in the event loop.');
- }
- }
- enqueueFinalizer(finalizer) {
- if (this.pendingFinalizers.indexOf(finalizer) === -1) {
- this.pendingFinalizers.push(finalizer);
- }
- }
- dequeueFinalizer(finalizer) {
- const index = this.pendingFinalizers.indexOf(finalizer);
- if (index !== -1) {
- this.pendingFinalizers.splice(index, 1);
- }
- }
- deleteMe() {
- RefTracker.finalizeAll(this.finalizing_reflist);
- RefTracker.finalizeAll(this.reflist);
- this.tryCatch.extractException();
- this.ctx.envStore.remove(this.id);
- }
- dispose() {
- if (this.id === 0)
- return;
- this.deleteMe();
- this.finalizing_reflist.dispose();
- this.reflist.dispose();
- this.id = 0;
- }
- initObjectBinding(value) {
- const binding = {
- wrapped: 0,
- tag: null
- };
- this._bindingMap.set(value, binding);
- return binding;
- }
- getObjectBinding(value) {
- if (this._bindingMap.has(value)) {
- return this._bindingMap.get(value);
- }
- return this.initObjectBinding(value);
- }
- setInstanceData(data, finalize_cb, finalize_hint) {
- if (this.instanceData) {
- this.instanceData.dispose();
- }
- this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint);
- }
- getInstanceData() {
- return this.instanceData ? this.instanceData.data() : 0;
- }
-}
-class NodeEnv extends Env {
- constructor(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
- super(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort);
- this.filename = filename;
- this.nodeBinding = nodeBinding;
- this.destructing = false;
- this.finalizationScheduled = false;
- }
- deleteMe() {
- this.destructing = true;
- this.drainFinalizerQueue();
- super.deleteMe();
- }
- canCallIntoJs() {
- return super.canCallIntoJs() && this.ctx.canCallIntoJs();
- }
- triggerFatalException(err) {
- if (this.nodeBinding) {
- this.nodeBinding.napi.fatalException(err);
- }
- else {
- if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') {
- const handled = process._fatalException(err);
- if (!handled) {
- console.error(err);
- process.exit(1);
- }
- }
- else {
- throw err;
- }
- }
- }
- callbackIntoModule(enforceUncaughtExceptionPolicy, fn) {
- return this.callIntoModule(fn, (envObject, err) => {
- if (envObject.terminatedOrTerminating()) {
- return;
- }
- const hasProcess = typeof process === 'object' && process !== null;
- const hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false;
- if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) {
- const warn = hasProcess && typeof process.emitWarning === 'function'
- ? process.emitWarning
- : function (warning, type, code) {
- if (warning instanceof Error) {
- console.warn(warning.toString());
- }
- else {
- const prefix = code ? `[${code}] ` : '';
- console.warn(`${prefix}${type || 'Warning'}: ${warning}`);
- }
- };
- warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168');
- return;
- }
- envObject.triggerFatalException(err);
- });
- }
- callFinalizer(cb, data, hint) {
- this.callFinalizerInternal(1, cb, data, hint);
- }
- callFinalizerInternal(forceUncaught, cb, data, hint) {
- const f = this.makeDynCall_vppp(cb);
- const env = this.id;
- const scope = this.ctx.openScope(this);
- try {
- this.callbackIntoModule(Boolean(forceUncaught), () => { f(env, data, hint); });
- }
- finally {
- this.ctx.closeScope(this, scope);
- }
- }
- enqueueFinalizer(finalizer) {
- super.enqueueFinalizer(finalizer);
- if (!this.finalizationScheduled && !this.destructing) {
- this.finalizationScheduled = true;
- this.ref();
- _setImmediate(() => {
- this.finalizationScheduled = false;
- this.unref();
- this.drainFinalizerQueue();
- });
- }
- }
- drainFinalizerQueue() {
- while (this.pendingFinalizers.length > 0) {
- const refTracker = this.pendingFinalizers.shift();
- refTracker.finalize();
- }
- }
-}
-function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
- moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion;
- if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) {
- moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION;
- }
- else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) {
- throwNodeApiVersionError(filename, moduleApiVersion);
- }
- const env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding);
- ctx.envStore.add(env);
- ctx.addCleanupHook(env, () => { env.unref(); }, 0);
- return env;
-}
-
-class EmnapiError extends Error {
- constructor(message) {
- super(message);
- const ErrorConstructor = new.target;
- const proto = ErrorConstructor.prototype;
- if (!(this instanceof EmnapiError)) {
- const setPrototypeOf = Object.setPrototypeOf;
- if (typeof setPrototypeOf === 'function') {
- setPrototypeOf.call(Object, this, proto);
- }
- else {
- this.__proto__ = proto;
- }
- if (typeof Error.captureStackTrace === 'function') {
- Error.captureStackTrace(this, ErrorConstructor);
- }
- }
- }
-}
-Object.defineProperty(EmnapiError.prototype, 'name', {
- configurable: true,
- writable: true,
- value: 'EmnapiError'
-});
-class NotSupportWeakRefError extends EmnapiError {
- constructor(api, message) {
- super(`${api}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${message ? ` ${message}` : ''}`);
- }
-}
-Object.defineProperty(NotSupportWeakRefError.prototype, 'name', {
- configurable: true,
- writable: true,
- value: 'NotSupportWeakRefError'
-});
-class NotSupportBufferError extends EmnapiError {
- constructor(api, message) {
- super(`${api}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${message ? ` ${message}` : ''}`);
- }
-}
-Object.defineProperty(NotSupportBufferError.prototype, 'name', {
- configurable: true,
- writable: true,
- value: 'NotSupportBufferError'
-});
-
-class StrongRef {
- constructor(value) {
- this._value = value;
- }
- deref() {
- return this._value;
- }
- dispose() {
- this._value = undefined;
- }
-}
-class Persistent {
- constructor(value) {
- this._ref = new StrongRef(value);
- }
- setWeak(param, callback) {
- if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef)
- return;
- const value = this._ref.deref();
- try {
- Persistent._registry.register(value, this, this);
- const weakRef = new WeakRef(value);
- this._ref.dispose();
- this._ref = weakRef;
- this._param = param;
- this._callback = callback;
- }
- catch (err) {
- if (typeof value === 'symbol') ;
- else {
- throw err;
- }
- }
- }
- clearWeak() {
- if (!supportFinalizer || this._ref === undefined)
- return;
- if (this._ref instanceof WeakRef) {
- try {
- Persistent._registry.unregister(this);
- }
- catch (_) { }
- this._param = undefined;
- this._callback = undefined;
- const value = this._ref.deref();
- if (value === undefined) {
- this._ref = value;
- }
- else {
- this._ref = new StrongRef(value);
- }
- }
- }
- reset() {
- if (supportFinalizer) {
- try {
- Persistent._registry.unregister(this);
- }
- catch (_) { }
- }
- this._param = undefined;
- this._callback = undefined;
- if (this._ref instanceof StrongRef) {
- this._ref.dispose();
- }
- this._ref = undefined;
- }
- isEmpty() {
- return this._ref === undefined;
- }
- deref() {
- if (this._ref === undefined)
- return undefined;
- return this._ref.deref();
- }
-}
-Persistent._registry = supportFinalizer
- ? new FinalizationRegistry((value) => {
- value._ref = undefined;
- const callback = value._callback;
- const param = value._param;
- value._callback = undefined;
- value._param = undefined;
- if (typeof callback === 'function') {
- callback(param);
- }
- })
- : undefined;
-
-exports.ReferenceOwnership = void 0;
-(function (ReferenceOwnership) {
- ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime";
- ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland";
-})(exports.ReferenceOwnership || (exports.ReferenceOwnership = {}));
-function canBeHeldWeakly(value) {
- return value.isObject() || value.isFunction() || value.isSymbol();
-}
-class Reference extends RefTracker {
- static weakCallback(ref) {
- ref.persistent.reset();
- ref.invokeFinalizerFromGC();
- }
- static create(envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) {
- const ref = new Reference(envObject, handle_id, initialRefcount, ownership);
- envObject.ctx.refStore.add(ref);
- ref.link(envObject.reflist);
- return ref;
- }
- constructor(envObject, handle_id, initialRefcount, ownership) {
- super();
- this.envObject = envObject;
- this._refcount = initialRefcount;
- this._ownership = ownership;
- const handle = envObject.ctx.handleStore.get(handle_id);
- this.canBeWeak = canBeHeldWeakly(handle);
- this.persistent = new Persistent(handle.value);
- this.id = 0;
- if (initialRefcount === 0) {
- this._setWeak();
- }
- }
- ref() {
- if (this.persistent.isEmpty()) {
- return 0;
- }
- if (++this._refcount === 1 && this.canBeWeak) {
- this.persistent.clearWeak();
- }
- return this._refcount;
- }
- unref() {
- if (this.persistent.isEmpty() || this._refcount === 0) {
- return 0;
- }
- if (--this._refcount === 0) {
- this._setWeak();
- }
- return this._refcount;
- }
- get(envObject = this.envObject) {
- if (this.persistent.isEmpty()) {
- return 0;
- }
- const obj = this.persistent.deref();
- const handle = envObject.ensureHandle(obj);
- return handle.id;
- }
- resetFinalizer() { }
- data() { return 0; }
- refcount() { return this._refcount; }
- ownership() { return this._ownership; }
- callUserFinalizer() { }
- invokeFinalizerFromGC() {
- this.finalize();
- }
- _setWeak() {
- if (this.canBeWeak) {
- this.persistent.setWeak(this, Reference.weakCallback);
- }
- else {
- this.persistent.reset();
- }
- }
- finalize() {
- this.persistent.reset();
- const deleteMe = this._ownership === exports.ReferenceOwnership.kRuntime;
- this.unlink();
- this.callUserFinalizer();
- if (deleteMe) {
- this.dispose();
- }
- }
- dispose() {
- if (this.id === 0)
- return;
- this.unlink();
- this.persistent.reset();
- this.envObject.ctx.refStore.remove(this.id);
- super.dispose();
- this.envObject = undefined;
- this.id = 0;
- }
-}
-class ReferenceWithData extends Reference {
- static create(envObject, value, initialRefcount, ownership, data) {
- const reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data);
- envObject.ctx.refStore.add(reference);
- reference.link(envObject.reflist);
- return reference;
- }
- constructor(envObject, value, initialRefcount, ownership, _data) {
- super(envObject, value, initialRefcount, ownership);
- this._data = _data;
- }
- data() {
- return this._data;
- }
-}
-class ReferenceWithFinalizer extends Reference {
- static create(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) {
- const reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint);
- envObject.ctx.refStore.add(reference);
- reference.link(envObject.finalizing_reflist);
- return reference;
- }
- constructor(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) {
- super(envObject, value, initialRefcount, ownership);
- this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint);
- }
- resetFinalizer() {
- this._finalizer.resetFinalizer();
- }
- data() {
- return this._finalizer.data();
- }
- callUserFinalizer() {
- this._finalizer.callFinalizer();
- }
- invokeFinalizerFromGC() {
- this._finalizer.envObject.invokeFinalizerFromGC(this);
- }
- dispose() {
- if (!this._finalizer)
- return;
- this._finalizer.envObject.dequeueFinalizer(this);
- this._finalizer.dispose();
- super.dispose();
- this._finalizer = undefined;
- }
-}
-
-class Deferred {
- static create(ctx, value) {
- const deferred = new Deferred(ctx, value);
- ctx.deferredStore.add(deferred);
- return deferred;
- }
- constructor(ctx, value) {
- this.id = 0;
- this.ctx = ctx;
- this.value = value;
- }
- resolve(value) {
- this.value.resolve(value);
- this.dispose();
- }
- reject(reason) {
- this.value.reject(reason);
- this.dispose();
- }
- dispose() {
- this.ctx.deferredStore.remove(this.id);
- this.id = 0;
- this.value = null;
- this.ctx = null;
- }
-}
-
-class Store {
- constructor() {
- this._values = [undefined];
- this._values.length = 4;
- this._size = 1;
- this._freeList = [];
- }
- add(value) {
- let id;
- if (this._freeList.length) {
- id = this._freeList.shift();
- }
- else {
- id = this._size;
- this._size++;
- const capacity = this._values.length;
- if (id >= capacity) {
- this._values.length = capacity + (capacity >> 1) + 16;
- }
- }
- value.id = id;
- this._values[id] = value;
- }
- get(id) {
- return this._values[id];
- }
- has(id) {
- return this._values[id] !== undefined;
- }
- remove(id) {
- const value = this._values[id];
- if (value) {
- value.id = 0;
- this._values[id] = undefined;
- this._freeList.push(Number(id));
- }
- }
- dispose() {
- for (let i = 1; i < this._size; ++i) {
- const value = this._values[i];
- value === null || value === void 0 ? void 0 : value.dispose();
- }
- this._values = [undefined];
- this._size = 1;
- this._freeList = [];
- }
-}
-
-class CleanupHookCallback {
- constructor(envObject, fn, arg, order) {
- this.envObject = envObject;
- this.fn = fn;
- this.arg = arg;
- this.order = order;
- }
-}
-class CleanupQueue {
- constructor() {
- this._cleanupHooks = [];
- this._cleanupHookCounter = 0;
- }
- empty() {
- return this._cleanupHooks.length === 0;
- }
- add(envObject, fn, arg) {
- if (this._cleanupHooks.filter((hook) => (hook.envObject === envObject && hook.fn === fn && hook.arg === arg)).length > 0) {
- throw new Error('Can not add same fn and arg twice');
- }
- this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++));
- }
- remove(envObject, fn, arg) {
- for (let i = 0; i < this._cleanupHooks.length; ++i) {
- const hook = this._cleanupHooks[i];
- if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) {
- this._cleanupHooks.splice(i, 1);
- return;
- }
- }
- }
- drain() {
- const hooks = this._cleanupHooks.slice();
- hooks.sort((a, b) => (b.order - a.order));
- for (let i = 0; i < hooks.length; ++i) {
- const cb = hooks[i];
- if (typeof cb.fn === 'number') {
- cb.envObject.makeDynCall_vp(cb.fn)(cb.arg);
- }
- else {
- cb.fn(cb.arg);
- }
- this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1);
- }
- }
- dispose() {
- this._cleanupHooks.length = 0;
- this._cleanupHookCounter = 0;
- }
-}
-class NodejsWaitingRequestCounter {
- constructor() {
- this.refHandle = new _MessageChannel().port1;
- this.count = 0;
- }
- increase() {
- if (this.count === 0) {
- if (this.refHandle.ref) {
- this.refHandle.ref();
- }
- }
- this.count++;
- }
- decrease() {
- if (this.count === 0)
- return;
- if (this.count === 1) {
- if (this.refHandle.unref) {
- this.refHandle.unref();
- }
- }
- this.count--;
- }
-}
-class Context {
- constructor() {
- this._isStopping = false;
- this._canCallIntoJs = true;
- this._suppressDestroy = false;
- this.envStore = new Store();
- this.scopeStore = new ScopeStore();
- this.refStore = new Store();
- this.deferredStore = new Store();
- this.handleStore = new HandleStore();
- this.feature = {
- supportReflect,
- supportFinalizer,
- supportWeakSymbol,
- supportBigInt,
- supportNewFunction,
- canSetFunctionName,
- setImmediate: _setImmediate,
- Buffer: _Buffer,
- MessageChannel: _MessageChannel
- };
- this.cleanupQueue = new CleanupQueue();
- if (typeof process === 'object' && process !== null && typeof process.once === 'function') {
- this.refCounter = new NodejsWaitingRequestCounter();
- process.once('beforeExit', () => {
- if (!this._suppressDestroy) {
- this.destroy();
- }
- });
- }
- }
- suppressDestroy() {
- this._suppressDestroy = true;
- }
- getRuntimeVersions() {
- return {
- version,
- NODE_API_SUPPORTED_VERSION_MAX,
- NAPI_VERSION_EXPERIMENTAL,
- NODE_API_DEFAULT_MODULE_API_VERSION
- };
- }
- createNotSupportWeakRefError(api, message) {
- return new NotSupportWeakRefError(api, message);
- }
- createNotSupportBufferError(api, message) {
- return new NotSupportBufferError(api, message);
- }
- createReference(envObject, handle_id, initialRefcount, ownership) {
- return Reference.create(envObject, handle_id, initialRefcount, ownership);
- }
- createReferenceWithData(envObject, handle_id, initialRefcount, ownership, data) {
- return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data);
- }
- createReferenceWithFinalizer(envObject, handle_id, initialRefcount, ownership, finalize_callback = 0, finalize_data = 0, finalize_hint = 0) {
- return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint);
- }
- createDeferred(value) {
- return Deferred.create(this, value);
- }
- createEnv(filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
- return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding);
- }
- createTrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) {
- return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint);
- }
- getCurrentScope() {
- return this.scopeStore.currentScope;
- }
- addToCurrentScope(value) {
- return this.scopeStore.currentScope.add(value);
- }
- openScope(envObject) {
- const scope = this.scopeStore.openScope(this.handleStore);
- if (envObject)
- envObject.openHandleScopes++;
- return scope;
- }
- closeScope(envObject, _scope) {
- if (envObject && envObject.openHandleScopes === 0)
- return;
- this.scopeStore.closeScope();
- if (envObject)
- envObject.openHandleScopes--;
- }
- ensureHandle(value) {
- switch (value) {
- case undefined: return HandleStore.UNDEFINED;
- case null: return HandleStore.NULL;
- case true: return HandleStore.TRUE;
- case false: return HandleStore.FALSE;
- case _global: return HandleStore.GLOBAL;
- }
- return this.addToCurrentScope(value);
- }
- addCleanupHook(envObject, fn, arg) {
- this.cleanupQueue.add(envObject, fn, arg);
- }
- removeCleanupHook(envObject, fn, arg) {
- this.cleanupQueue.remove(envObject, fn, arg);
- }
- runCleanup() {
- while (!this.cleanupQueue.empty()) {
- this.cleanupQueue.drain();
- }
- }
- increaseWaitingRequestCounter() {
- var _a;
- (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase();
- }
- decreaseWaitingRequestCounter() {
- var _a;
- (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease();
- }
- setCanCallIntoJs(value) {
- this._canCallIntoJs = value;
- }
- setStopping(value) {
- this._isStopping = value;
- }
- canCallIntoJs() {
- return this._canCallIntoJs && !this._isStopping;
- }
- destroy() {
- this.setStopping(true);
- this.setCanCallIntoJs(false);
- this.runCleanup();
- }
-}
-let defaultContext;
-function createContext() {
- return new Context();
-}
-function getDefaultContext() {
- if (!defaultContext) {
- defaultContext = createContext();
- }
- return defaultContext;
-}
-
-exports.ConstHandle = ConstHandle;
-exports.Context = Context;
-exports.Deferred = Deferred;
-exports.EmnapiError = EmnapiError;
-exports.Env = Env;
-exports.External = External;
-exports.Finalizer = Finalizer;
-exports.Handle = Handle;
-exports.HandleScope = HandleScope;
-exports.HandleStore = HandleStore;
-exports.NAPI_VERSION_EXPERIMENTAL = NAPI_VERSION_EXPERIMENTAL;
-exports.NODE_API_DEFAULT_MODULE_API_VERSION = NODE_API_DEFAULT_MODULE_API_VERSION;
-exports.NODE_API_SUPPORTED_VERSION_MAX = NODE_API_SUPPORTED_VERSION_MAX;
-exports.NODE_API_SUPPORTED_VERSION_MIN = NODE_API_SUPPORTED_VERSION_MIN;
-exports.NodeEnv = NodeEnv;
-exports.NotSupportBufferError = NotSupportBufferError;
-exports.NotSupportWeakRefError = NotSupportWeakRefError;
-exports.Persistent = Persistent;
-exports.RefTracker = RefTracker;
-exports.Reference = Reference;
-exports.ReferenceWithData = ReferenceWithData;
-exports.ReferenceWithFinalizer = ReferenceWithFinalizer;
-exports.ScopeStore = ScopeStore;
-exports.Store = Store;
-exports.TrackedFinalizer = TrackedFinalizer;
-exports.TryCatch = TryCatch;
-exports.createContext = createContext;
-exports.getDefaultContext = getDefaultContext;
-exports.getExternalValue = getExternalValue;
-exports.isExternal = isExternal;
-exports.isReferenceType = isReferenceType;
-exports.version = version;
diff --git a/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts b/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts
deleted file mode 100644
index d75787f6f..000000000
--- a/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts
+++ /dev/null
@@ -1,665 +0,0 @@
-export declare type Ptr = number | bigint
-
-export declare interface IBuffer extends Uint8Array {}
-export declare interface BufferCtor {
- readonly prototype: IBuffer
- /** @deprecated */
- new (...args: any[]): IBuffer
- from: {
- (buffer: ArrayBufferLike): IBuffer
- (buffer: ArrayBufferLike, byteOffset: number, length: number): IBuffer
- }
- alloc: (size: number) => IBuffer
- isBuffer: (obj: unknown) => obj is IBuffer
-}
-
-export declare const enum GlobalHandle {
- UNDEFINED = 1,
- NULL,
- FALSE,
- TRUE,
- GLOBAL
-}
-
-export declare const enum Version {
- NODE_API_SUPPORTED_VERSION_MIN = 1,
- NODE_API_DEFAULT_MODULE_API_VERSION = 8,
- NODE_API_SUPPORTED_VERSION_MAX = 10,
- NAPI_VERSION_EXPERIMENTAL = 2147483647 // INT_MAX
-}
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-export declare type Pointer = number
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-export declare type PointerPointer = number
-export declare type FunctionPointer any> = Pointer
-export declare type Const = T
-
-export declare type void_p = Pointer
-export declare type void_pp = Pointer
-export declare type bool = number
-export declare type char = number
-export declare type char_p = Pointer
-export declare type unsigned_char = number
-export declare type const_char = Const
-export declare type const_char_p = Pointer
-export declare type char16_t_p = number
-export declare type const_char16_t_p = number
-
-export declare type short = number
-export declare type unsigned_short = number
-export declare type int = number
-export declare type unsigned_int = number
-export declare type long = number
-export declare type unsigned_long = number
-export declare type long_long = bigint
-export declare type unsigned_long_long = bigint
-export declare type float = number
-export declare type double = number
-export declare type long_double = number
-export declare type size_t = number
-
-export declare type int8_t = number
-export declare type uint8_t = number
-export declare type int16_t = number
-export declare type uint16_t = number
-export declare type int32_t = number
-export declare type uint32_t = number
-export declare type int64_t = bigint
-export declare type uint64_t = bigint
-export declare type napi_env = Pointer
-
-export declare type napi_value = Pointer
-export declare type napi_ref = Pointer
-export declare type napi_deferred = Pointer
-export declare type napi_handle_scope = Pointer
-export declare type napi_escapable_handle_scope = Pointer
-
-export declare type napi_addon_register_func = FunctionPointer<(env: napi_env, exports: napi_value) => napi_value>
-
-export declare type napi_callback_info = Pointer
-export declare type napi_callback = FunctionPointer<(env: napi_env, info: napi_callback_info) => napi_value>
-
-export declare interface napi_extended_error_info {
- error_message: const_char_p
- engine_reserved: void_p
- engine_error_code: uint32_t
- error_code: napi_status
-}
-
-export declare interface napi_property_descriptor {
- // One of utf8name or name should be NULL.
- utf8name: const_char_p
- name: napi_value
-
- method: napi_callback
- getter: napi_callback
- setter: napi_callback
- value: napi_value
- /* napi_property_attributes */
- attributes: number
- data: void_p
-}
-
-export declare type napi_finalize = FunctionPointer<(
- env: napi_env,
- finalize_data: void_p,
- finalize_hint: void_p
-) => void>
-
-export declare interface node_module {
- nm_version: int32_t
- nm_flags: uint32_t
- nm_filename: Pointer
- nm_register_func: napi_addon_register_func
- nm_modname: Pointer
- nm_priv: Pointer
- reserved: PointerPointer
-}
-
-export declare interface napi_node_version {
- major: uint32_t
- minor: uint32_t
- patch: uint32_t
- release: const_char_p
-}
-
-export declare interface emnapi_emscripten_version {
- major: uint32_t
- minor: uint32_t
- patch: uint32_t
-}
-
-export declare const enum napi_status {
- napi_ok,
- napi_invalid_arg,
- napi_object_expected,
- napi_string_expected,
- napi_name_expected,
- napi_function_expected,
- napi_number_expected,
- napi_boolean_expected,
- napi_array_expected,
- napi_generic_failure,
- napi_pending_exception,
- napi_cancelled,
- napi_escape_called_twice,
- napi_handle_scope_mismatch,
- napi_callback_scope_mismatch,
- napi_queue_full,
- napi_closing,
- napi_bigint_expected,
- napi_date_expected,
- napi_arraybuffer_expected,
- napi_detachable_arraybuffer_expected,
- napi_would_deadlock, // unused
- napi_no_external_buffers_allowed,
- napi_cannot_run_js
-}
-
-export declare const enum napi_property_attributes {
- napi_default = 0,
- napi_writable = 1 << 0,
- napi_enumerable = 1 << 1,
- napi_configurable = 1 << 2,
-
- // Used with napi_define_class to distinguish static properties
- // from instance properties. Ignored by napi_define_properties.
- napi_static = 1 << 10,
-
- /// #ifdef NAPI_EXPERIMENTAL
- // Default for class methods.
- napi_default_method = napi_writable | napi_configurable,
-
- // Default for object properties, like in JS obj[prop].
- napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable
- /// #endif // NAPI_EXPERIMENTAL
-}
-
-export declare const enum napi_valuetype {
- napi_undefined,
- napi_null,
- napi_boolean,
- napi_number,
- napi_string,
- napi_symbol,
- napi_object,
- napi_function,
- napi_external,
- napi_bigint
-}
-
-export declare const enum napi_typedarray_type {
- napi_int8_array,
- napi_uint8_array,
- napi_uint8_clamped_array,
- napi_int16_array,
- napi_uint16_array,
- napi_int32_array,
- napi_uint32_array,
- napi_float32_array,
- napi_float64_array,
- napi_bigint64_array,
- napi_biguint64_array,
- napi_float16_array,
-}
-
-export declare const enum napi_key_collection_mode {
- napi_key_include_prototypes,
- napi_key_own_only
-}
-
-export declare const enum napi_key_filter {
- napi_key_all_properties = 0,
- napi_key_writable = 1,
- napi_key_enumerable = 1 << 1,
- napi_key_configurable = 1 << 2,
- napi_key_skip_strings = 1 << 3,
- napi_key_skip_symbols = 1 << 4
-}
-
-export declare const enum napi_key_conversion {
- napi_key_keep_numbers,
- napi_key_numbers_to_strings
-}
-
-export declare const enum emnapi_memory_view_type {
- emnapi_int8_array,
- emnapi_uint8_array,
- emnapi_uint8_clamped_array,
- emnapi_int16_array,
- emnapi_uint16_array,
- emnapi_int32_array,
- emnapi_uint32_array,
- emnapi_float32_array,
- emnapi_float64_array,
- emnapi_bigint64_array,
- emnapi_biguint64_array,
- emnapi_float16_array,
- emnapi_data_view = -1,
- emnapi_buffer = -2
-}
-
-export declare const enum napi_threadsafe_function_call_mode {
- napi_tsfn_nonblocking,
- napi_tsfn_blocking
-}
-
-export declare const enum napi_threadsafe_function_release_mode {
- napi_tsfn_release,
- napi_tsfn_abort
-}
-export declare type CleanupHookCallbackFunction = number | ((arg: number) => void);
-
-export declare class ConstHandle extends Handle {
- constructor(id: number, value: S);
- dispose(): void;
-}
-
-export declare class Context {
- private _isStopping;
- private _canCallIntoJs;
- private _suppressDestroy;
- envStore: Store;
- scopeStore: ScopeStore;
- refStore: Store;
- deferredStore: Store>;
- handleStore: HandleStore;
- private readonly refCounter?;
- private readonly cleanupQueue;
- feature: {
- supportReflect: boolean;
- supportFinalizer: boolean;
- supportWeakSymbol: boolean;
- supportBigInt: boolean;
- supportNewFunction: boolean;
- canSetFunctionName: boolean;
- setImmediate: (callback: () => void) => void;
- Buffer: BufferCtor | undefined;
- MessageChannel: {
- new (): MessageChannel;
- prototype: MessageChannel;
- } | undefined;
- };
- constructor();
- /**
- * Suppress the destroy on `beforeExit` event in Node.js.
- * Call this method if you want to keep the context and
- * all associated {@link Env | Env} alive,
- * this also means that cleanup hooks will not be called.
- * After call this method, you should call
- * {@link Context.destroy | `Context.prototype.destroy`} method manually.
- */
- suppressDestroy(): void;
- getRuntimeVersions(): {
- version: string;
- NODE_API_SUPPORTED_VERSION_MAX: Version;
- NAPI_VERSION_EXPERIMENTAL: Version;
- NODE_API_DEFAULT_MODULE_API_VERSION: Version;
- };
- createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError;
- createNotSupportBufferError(api: string, message: string): NotSupportBufferError;
- createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference;
- createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference;
- createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference;
- createDeferred(value: IDeferrdValue): Deferred;
- createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env;
- createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer;
- getCurrentScope(): HandleScope | null;
- addToCurrentScope(value: V): Handle;
- openScope(envObject?: Env): HandleScope;
- closeScope(envObject?: Env, _scope?: HandleScope): void;
- ensureHandle(value: S): Handle;
- addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
- removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
- runCleanup(): void;
- increaseWaitingRequestCounter(): void;
- decreaseWaitingRequestCounter(): void;
- setCanCallIntoJs(value: boolean): void;
- setStopping(value: boolean): void;
- canCallIntoJs(): boolean;
- /**
- * Destroy the context and call cleanup hooks.
- * Associated {@link Env | Env} will be destroyed.
- */
- destroy(): void;
-}
-
-export declare function createContext(): Context;
-
-export declare class Deferred implements IStoreValue {
- static create(ctx: Context, value: IDeferrdValue): Deferred;
- id: number;
- ctx: Context;
- value: IDeferrdValue;
- constructor(ctx: Context, value: IDeferrdValue);
- resolve(value: T): void;
- reject(reason?: any): void;
- dispose(): void;
-}
-
-export declare class EmnapiError extends Error {
- constructor(message?: string);
-}
-
-export declare abstract class Env implements IStoreValue {
- readonly ctx: Context;
- moduleApiVersion: number;
- makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void;
- makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void;
- abort: (msg?: string) => never;
- id: number;
- openHandleScopes: number;
- instanceData: TrackedFinalizer | null;
- tryCatch: TryCatch;
- refs: number;
- reflist: RefTracker;
- finalizing_reflist: RefTracker;
- pendingFinalizers: RefTracker[];
- lastError: {
- errorCode: napi_status;
- engineErrorCode: number;
- engineReserved: Ptr;
- };
- inGcFinalizer: boolean;
- constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never);
- /** @virtual */
- canCallIntoJs(): boolean;
- terminatedOrTerminating(): boolean;
- ref(): void;
- unref(): void;
- ensureHandle(value: S): Handle;
- ensureHandleId(value: any): napi_value;
- clearLastError(): napi_status;
- setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status;
- getReturnStatus(): napi_status;
- callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T;
- /** @virtual */
- abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void;
- invokeFinalizerFromGC(finalizer: RefTracker): void;
- checkGCAccess(): void;
- /** @virtual */
- enqueueFinalizer(finalizer: RefTracker): void;
- /** @virtual */
- dequeueFinalizer(finalizer: RefTracker): void;
- /** @virtual */
- deleteMe(): void;
- dispose(): void;
- private readonly _bindingMap;
- initObjectBinding(value: S): IReferenceBinding;
- getObjectBinding(value: S): IReferenceBinding;
- setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void;
- getInstanceData(): number;
-}
-
-/** @public */
-declare interface External_2 extends Record {
-}
-
-/** @public */
-declare const External_2: {
- new (value: number | bigint): External_2;
- prototype: null;
-};
-export { External_2 as External }
-
-export declare class Finalizer {
- envObject: Env;
- private _finalizeCallback;
- private _finalizeData;
- private _finalizeHint;
- private _makeDynCall_vppp;
- constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p);
- callback(): napi_finalize;
- data(): void_p;
- hint(): void_p;
- resetEnv(): void;
- resetFinalizer(): void;
- callFinalizer(): void;
- dispose(): void;
-}
-
-export declare function getDefaultContext(): Context;
-
-/** @public */
-export declare function getExternalValue(external: External_2): number | bigint;
-
-export declare class Handle {
- id: number;
- value: S;
- constructor(id: number, value: S);
- data(): void_p;
- isNumber(): boolean;
- isBigInt(): boolean;
- isString(): boolean;
- isFunction(): boolean;
- isExternal(): boolean;
- isObject(): boolean;
- isArray(): boolean;
- isArrayBuffer(): boolean;
- isTypedArray(): boolean;
- isBuffer(BufferConstructor?: BufferCtor): boolean;
- isDataView(): boolean;
- isDate(): boolean;
- isPromise(): boolean;
- isBoolean(): boolean;
- isUndefined(): boolean;
- isSymbol(): boolean;
- isNull(): boolean;
- dispose(): void;
-}
-
-export declare class HandleScope {
- handleStore: HandleStore;
- id: number;
- parent: HandleScope | null;
- child: HandleScope | null;
- start: number;
- end: number;
- private _escapeCalled;
- callbackInfo: ICallbackInfo;
- constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number);
- add(value: V): Handle;
- addExternal(data: void_p): Handle