@hypen-space/web 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/chunk-2s02mkzs.js +32 -0
  2. package/dist/chunk-2s02mkzs.js.map +9 -0
  3. package/dist/src/canvas/accessibility.js +152 -0
  4. package/dist/src/canvas/accessibility.js.map +10 -0
  5. package/dist/src/canvas/events.js +198 -0
  6. package/dist/src/canvas/events.js.map +10 -0
  7. package/dist/src/canvas/index.js +28 -0
  8. package/dist/src/canvas/index.js.map +9 -0
  9. package/dist/src/canvas/input.js +132 -0
  10. package/dist/src/canvas/input.js.map +10 -0
  11. package/dist/src/canvas/layout.js +309 -0
  12. package/dist/src/canvas/layout.js.map +10 -0
  13. package/dist/src/canvas/paint.js +878 -0
  14. package/dist/src/canvas/paint.js.map +10 -0
  15. package/dist/src/canvas/renderer.js +276 -0
  16. package/dist/src/canvas/renderer.js.map +10 -0
  17. package/dist/src/canvas/text.js +118 -0
  18. package/dist/src/canvas/text.js.map +10 -0
  19. package/dist/src/canvas/types.js +2 -0
  20. package/dist/src/canvas/types.js.map +9 -0
  21. package/dist/src/canvas/utils.js +139 -0
  22. package/dist/src/canvas/utils.js.map +10 -0
  23. package/dist/src/dom/applicators/advanced-layout.js +111 -0
  24. package/dist/src/dom/applicators/advanced-layout.js.map +10 -0
  25. package/dist/src/dom/applicators/background.js +54 -0
  26. package/dist/src/dom/applicators/background.js.map +10 -0
  27. package/dist/src/dom/applicators/border.js +33 -0
  28. package/dist/src/dom/applicators/border.js.map +10 -0
  29. package/dist/src/dom/applicators/color.js +36 -0
  30. package/dist/src/dom/applicators/color.js.map +10 -0
  31. package/dist/src/dom/applicators/display.js +57 -0
  32. package/dist/src/dom/applicators/display.js.map +10 -0
  33. package/dist/src/dom/applicators/effects.js +89 -0
  34. package/dist/src/dom/applicators/effects.js.map +10 -0
  35. package/dist/src/dom/applicators/events.js +518 -0
  36. package/dist/src/dom/applicators/events.js.map +10 -0
  37. package/dist/src/dom/applicators/font.js +39 -0
  38. package/dist/src/dom/applicators/font.js.map +10 -0
  39. package/dist/src/dom/applicators/index.js +296 -0
  40. package/dist/src/dom/applicators/index.js.map +10 -0
  41. package/dist/src/dom/applicators/layout.js +86 -0
  42. package/dist/src/dom/applicators/layout.js.map +10 -0
  43. package/dist/src/dom/applicators/margin.js +32 -0
  44. package/dist/src/dom/applicators/margin.js.map +10 -0
  45. package/dist/src/dom/applicators/padding.js +35 -0
  46. package/dist/src/dom/applicators/padding.js.map +10 -0
  47. package/dist/src/dom/applicators/size.js +42 -0
  48. package/dist/src/dom/applicators/size.js.map +10 -0
  49. package/dist/src/dom/applicators/transform.js +92 -0
  50. package/dist/src/dom/applicators/transform.js.map +10 -0
  51. package/dist/src/dom/applicators/transition.js +66 -0
  52. package/dist/src/dom/applicators/transition.js.map +10 -0
  53. package/dist/src/dom/applicators/typography.js +87 -0
  54. package/dist/src/dom/applicators/typography.js.map +10 -0
  55. package/dist/src/dom/canvas/index.js +50 -0
  56. package/dist/src/dom/canvas/index.js.map +10 -0
  57. package/dist/src/dom/components/audio.js +48 -0
  58. package/dist/src/dom/components/audio.js.map +10 -0
  59. package/dist/src/dom/components/avatar.js +58 -0
  60. package/dist/src/dom/components/avatar.js.map +10 -0
  61. package/dist/src/dom/components/badge.js +55 -0
  62. package/dist/src/dom/components/badge.js.map +10 -0
  63. package/dist/src/dom/components/button.js +29 -0
  64. package/dist/src/dom/components/button.js.map +10 -0
  65. package/dist/src/dom/components/card.js +33 -0
  66. package/dist/src/dom/components/card.js.map +10 -0
  67. package/dist/src/dom/components/center.js +32 -0
  68. package/dist/src/dom/components/center.js.map +10 -0
  69. package/dist/src/dom/components/checkbox.js +54 -0
  70. package/dist/src/dom/components/checkbox.js.map +10 -0
  71. package/dist/src/dom/components/column.js +31 -0
  72. package/dist/src/dom/components/column.js.map +10 -0
  73. package/dist/src/dom/components/container.js +29 -0
  74. package/dist/src/dom/components/container.js.map +10 -0
  75. package/dist/src/dom/components/divider.js +45 -0
  76. package/dist/src/dom/components/divider.js.map +10 -0
  77. package/dist/src/dom/components/grid.js +44 -0
  78. package/dist/src/dom/components/grid.js.map +10 -0
  79. package/dist/src/dom/components/heading.js +47 -0
  80. package/dist/src/dom/components/heading.js.map +10 -0
  81. package/dist/src/dom/components/image.js +39 -0
  82. package/dist/src/dom/components/image.js.map +10 -0
  83. package/dist/src/dom/components/index.js +217 -0
  84. package/dist/src/dom/components/index.js.map +10 -0
  85. package/dist/src/dom/components/input.js +41 -0
  86. package/dist/src/dom/components/input.js.map +10 -0
  87. package/dist/src/dom/components/link.js +42 -0
  88. package/dist/src/dom/components/link.js.map +10 -0
  89. package/dist/src/dom/components/list.js +42 -0
  90. package/dist/src/dom/components/list.js.map +10 -0
  91. package/dist/src/dom/components/paragraph.js +35 -0
  92. package/dist/src/dom/components/paragraph.js.map +10 -0
  93. package/dist/src/dom/components/progressbar.js +57 -0
  94. package/dist/src/dom/components/progressbar.js.map +10 -0
  95. package/dist/src/dom/components/route.js +44 -0
  96. package/dist/src/dom/components/route.js.map +10 -0
  97. package/dist/src/dom/components/router.js +33 -0
  98. package/dist/src/dom/components/router.js.map +10 -0
  99. package/dist/src/dom/components/row.js +31 -0
  100. package/dist/src/dom/components/row.js.map +10 -0
  101. package/dist/src/dom/components/select.js +57 -0
  102. package/dist/src/dom/components/select.js.map +10 -0
  103. package/dist/src/dom/components/slider.js +48 -0
  104. package/dist/src/dom/components/slider.js.map +10 -0
  105. package/dist/src/dom/components/spacer.js +30 -0
  106. package/dist/src/dom/components/spacer.js.map +10 -0
  107. package/dist/src/dom/components/spinner.js +65 -0
  108. package/dist/src/dom/components/spinner.js.map +10 -0
  109. package/dist/src/dom/components/stack.js +45 -0
  110. package/dist/src/dom/components/stack.js.map +10 -0
  111. package/dist/src/dom/components/switch.js +83 -0
  112. package/dist/src/dom/components/switch.js.map +10 -0
  113. package/dist/src/dom/components/text.js +37 -0
  114. package/dist/src/dom/components/text.js.map +10 -0
  115. package/dist/src/dom/components/textarea.js +51 -0
  116. package/dist/src/dom/components/textarea.js.map +10 -0
  117. package/dist/src/dom/components/video.js +51 -0
  118. package/dist/src/dom/components/video.js.map +10 -0
  119. package/dist/src/dom/debug.js +170 -0
  120. package/dist/src/dom/debug.js.map +10 -0
  121. package/dist/src/dom/events.js +112 -0
  122. package/dist/src/dom/events.js.map +10 -0
  123. package/dist/src/dom/index.js +73 -0
  124. package/dist/src/dom/index.js.map +9 -0
  125. package/dist/src/dom/renderer.js +277 -0
  126. package/dist/src/dom/renderer.js.map +10 -0
  127. package/dist/src/index.js +89 -0
  128. package/dist/src/index.js.map +9 -0
  129. package/package.json +84 -0
  130. package/src/canvas/QUICKSTART.md +421 -0
  131. package/src/canvas/README.md +376 -0
  132. package/src/canvas/accessibility.ts +218 -0
  133. package/src/canvas/events.ts +307 -0
  134. package/src/canvas/index.ts +35 -0
  135. package/src/canvas/input.ts +210 -0
  136. package/src/canvas/layout.ts +401 -0
  137. package/src/canvas/paint.ts +1321 -0
  138. package/src/canvas/renderer.ts +422 -0
  139. package/src/canvas/text.ts +182 -0
  140. package/src/canvas/types.ts +137 -0
  141. package/src/canvas/utils.ts +218 -0
  142. package/src/dom/README.md +265 -0
  143. package/src/dom/applicators/advanced-layout.ts +128 -0
  144. package/src/dom/applicators/background.ts +50 -0
  145. package/src/dom/applicators/border.ts +19 -0
  146. package/src/dom/applicators/color.ts +23 -0
  147. package/src/dom/applicators/display.ts +54 -0
  148. package/src/dom/applicators/effects.ts +97 -0
  149. package/src/dom/applicators/events.ts +689 -0
  150. package/src/dom/applicators/font.ts +27 -0
  151. package/src/dom/applicators/index.ts +354 -0
  152. package/src/dom/applicators/layout.ts +92 -0
  153. package/src/dom/applicators/margin.ts +18 -0
  154. package/src/dom/applicators/padding.ts +18 -0
  155. package/src/dom/applicators/size.ts +31 -0
  156. package/src/dom/applicators/transform.ts +93 -0
  157. package/src/dom/applicators/transition.ts +65 -0
  158. package/src/dom/applicators/typography.ts +91 -0
  159. package/src/dom/canvas/index.ts +60 -0
  160. package/src/dom/components/audio.ts +45 -0
  161. package/src/dom/components/avatar.ts +49 -0
  162. package/src/dom/components/badge.ts +45 -0
  163. package/src/dom/components/button.ts +13 -0
  164. package/src/dom/components/card.ts +19 -0
  165. package/src/dom/components/center.ts +16 -0
  166. package/src/dom/components/checkbox.ts +54 -0
  167. package/src/dom/components/column.ts +15 -0
  168. package/src/dom/components/container.ts +13 -0
  169. package/src/dom/components/divider.ts +37 -0
  170. package/src/dom/components/grid.ts +40 -0
  171. package/src/dom/components/heading.ts +41 -0
  172. package/src/dom/components/image.ts +27 -0
  173. package/src/dom/components/index.ts +115 -0
  174. package/src/dom/components/input.ts +29 -0
  175. package/src/dom/components/link.ts +35 -0
  176. package/src/dom/components/list.ts +30 -0
  177. package/src/dom/components/paragraph.ts +23 -0
  178. package/src/dom/components/progressbar.ts +51 -0
  179. package/src/dom/components/route.ts +37 -0
  180. package/src/dom/components/router.ts +22 -0
  181. package/src/dom/components/row.ts +15 -0
  182. package/src/dom/components/select.ts +56 -0
  183. package/src/dom/components/slider.ts +45 -0
  184. package/src/dom/components/spacer.ts +16 -0
  185. package/src/dom/components/spinner.ts +60 -0
  186. package/src/dom/components/stack.ts +34 -0
  187. package/src/dom/components/switch.ts +86 -0
  188. package/src/dom/components/text.ts +24 -0
  189. package/src/dom/components/textarea.ts +50 -0
  190. package/src/dom/components/video.ts +50 -0
  191. package/src/dom/debug.ts +247 -0
  192. package/src/dom/events.ts +168 -0
  193. package/src/dom/index.ts +11 -0
  194. package/src/dom/renderer.ts +327 -0
  195. package/src/index.ts +56 -0
@@ -0,0 +1,32 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/center.ts
7
+ var exports_center = {};
8
+ __export(exports_center, {
9
+ centerHandler: () => centerHandler
10
+ });
11
+ var centerHandler;
12
+ var init_center = __esm(() => {
13
+ centerHandler = {
14
+ create() {
15
+ const el = document.createElement("div");
16
+ el.style.display = "flex";
17
+ el.style.alignItems = "center";
18
+ el.style.justifyContent = "center";
19
+ el.dataset.hypenType = "center";
20
+ return el;
21
+ }
22
+ };
23
+ });
24
+ init_center();
25
+
26
+ export {
27
+ centerHandler
28
+ };
29
+
30
+ export { exports_center, init_center };
31
+
32
+ //# debugId=7FC1DBC55B39CF4564756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/center.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Center Component - Centers content\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const centerHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.alignItems = \"center\";\n el.style.justifyContent = \"center\";\n el.dataset.hypenType = \"center\";\n return el;\n },\n};\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,kBAAkC;AAAA,IAC7C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MACvC,GAAG,MAAM,UAAU;AAAA,MACnB,GAAG,MAAM,aAAa;AAAA,MACtB,GAAG,MAAM,iBAAiB;AAAA,MAC1B,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,EAEX;AAAA;",
8
+ "debugId": "7FC1DBC55B39CF4564756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,54 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/checkbox.ts
7
+ var exports_checkbox = {};
8
+ __export(exports_checkbox, {
9
+ checkboxHandler: () => checkboxHandler
10
+ });
11
+ var checkboxHandler;
12
+ var init_checkbox = __esm(() => {
13
+ checkboxHandler = {
14
+ create() {
15
+ const wrapper = document.createElement("label");
16
+ wrapper.dataset.hypenType = "checkbox";
17
+ wrapper.style.display = "inline-flex";
18
+ wrapper.style.alignItems = "center";
19
+ wrapper.style.gap = "8px";
20
+ wrapper.style.cursor = "pointer";
21
+ const input = document.createElement("input");
22
+ input.type = "checkbox";
23
+ input.dataset.hypenCheckbox = "true";
24
+ wrapper.appendChild(input);
25
+ return wrapper;
26
+ },
27
+ applyProps(el, props) {
28
+ const input = el.querySelector('input[type="checkbox"]');
29
+ if (!input)
30
+ return;
31
+ if (props.checked !== undefined) {
32
+ input.checked = Boolean(props.checked);
33
+ }
34
+ if (props.disabled !== undefined) {
35
+ input.disabled = Boolean(props.disabled);
36
+ }
37
+ const label = props["0"] || props.label;
38
+ if (label !== undefined) {
39
+ const textNodes = Array.from(el.childNodes).filter((node) => node.nodeType === Node.TEXT_NODE);
40
+ textNodes.forEach((node) => node.remove());
41
+ el.appendChild(document.createTextNode(String(label)));
42
+ }
43
+ }
44
+ };
45
+ });
46
+ init_checkbox();
47
+
48
+ export {
49
+ checkboxHandler
50
+ };
51
+
52
+ export { exports_checkbox, init_checkbox };
53
+
54
+ //# debugId=1AC390FE9F560E8F64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/checkbox.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Checkbox Component\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const checkboxHandler: ComponentHandler = {\n create(): HTMLElement {\n const wrapper = document.createElement(\"label\");\n wrapper.dataset.hypenType = \"checkbox\";\n wrapper.style.display = \"inline-flex\";\n wrapper.style.alignItems = \"center\";\n wrapper.style.gap = \"8px\";\n wrapper.style.cursor = \"pointer\";\n\n const input = document.createElement(\"input\");\n input.type = \"checkbox\";\n input.dataset.hypenCheckbox = \"true\";\n \n wrapper.appendChild(input);\n \n return wrapper;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n const input = el.querySelector('input[type=\"checkbox\"]') as HTMLInputElement;\n if (!input) return;\n\n // Checked state\n if (props.checked !== undefined) {\n input.checked = Boolean(props.checked);\n }\n\n // Disabled\n if (props.disabled !== undefined) {\n input.disabled = Boolean(props.disabled);\n }\n\n // Label text\n const label = props[\"0\"] || props.label;\n if (label !== undefined) {\n // Remove existing text node if any\n const textNodes = Array.from(el.childNodes).filter(\n node => node.nodeType === Node.TEXT_NODE\n );\n textNodes.forEach(node => node.remove());\n \n // Add new label text\n el.appendChild(document.createTextNode(String(label)));\n }\n },\n};\n\n\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,oBAAoC;AAAA,IAC/C,MAAM,GAAgB;AAAA,MACpB,MAAM,UAAU,SAAS,cAAc,OAAO;AAAA,MAC9C,QAAQ,QAAQ,YAAY;AAAA,MAC5B,QAAQ,MAAM,UAAU;AAAA,MACxB,QAAQ,MAAM,aAAa;AAAA,MAC3B,QAAQ,MAAM,MAAM;AAAA,MACpB,QAAQ,MAAM,SAAS;AAAA,MAEvB,MAAM,QAAQ,SAAS,cAAc,OAAO;AAAA,MAC5C,MAAM,OAAO;AAAA,MACb,MAAM,QAAQ,gBAAgB;AAAA,MAE9B,QAAQ,YAAY,KAAK;AAAA,MAEzB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAC5D,MAAM,QAAQ,GAAG,cAAc,wBAAwB;AAAA,MACvD,IAAI,CAAC;AAAA,QAAO;AAAA,MAGZ,IAAI,MAAM,YAAY,WAAW;AAAA,QAC/B,MAAM,UAAU,QAAQ,MAAM,OAAO;AAAA,MACvC;AAAA,MAGA,IAAI,MAAM,aAAa,WAAW;AAAA,QAChC,MAAM,WAAW,QAAQ,MAAM,QAAQ;AAAA,MACzC;AAAA,MAGA,MAAM,QAAQ,MAAM,QAAQ,MAAM;AAAA,MAClC,IAAI,UAAU,WAAW;AAAA,QAEvB,MAAM,YAAY,MAAM,KAAK,GAAG,UAAU,EAAE,OAC1C,UAAQ,KAAK,aAAa,KAAK,SACjC;AAAA,QACA,UAAU,QAAQ,UAAQ,KAAK,OAAO,CAAC;AAAA,QAGvC,GAAG,YAAY,SAAS,eAAe,OAAO,KAAK,CAAC,CAAC;AAAA,MACvD;AAAA;AAAA,EAEJ;AAAA;",
8
+ "debugId": "1AC390FE9F560E8F64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,31 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/column.ts
7
+ var exports_column = {};
8
+ __export(exports_column, {
9
+ columnHandler: () => columnHandler
10
+ });
11
+ var columnHandler;
12
+ var init_column = __esm(() => {
13
+ columnHandler = {
14
+ create() {
15
+ const el = document.createElement("div");
16
+ el.style.display = "flex";
17
+ el.style.flexDirection = "column";
18
+ el.dataset.hypenType = "column";
19
+ return el;
20
+ }
21
+ };
22
+ });
23
+ init_column();
24
+
25
+ export {
26
+ columnHandler
27
+ };
28
+
29
+ export { exports_column, init_column };
30
+
31
+ //# debugId=9DD121C0F8A1BFDD64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/column.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Column Component - Vertical Stack\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const columnHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n el.dataset.hypenType = \"column\";\n return el;\n },\n};\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,kBAAkC;AAAA,IAC7C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MACvC,GAAG,MAAM,UAAU;AAAA,MACnB,GAAG,MAAM,gBAAgB;AAAA,MACzB,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,EAEX;AAAA;",
8
+ "debugId": "9DD121C0F8A1BFDD64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,29 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/container.ts
7
+ var exports_container = {};
8
+ __export(exports_container, {
9
+ containerHandler: () => containerHandler
10
+ });
11
+ var containerHandler;
12
+ var init_container = __esm(() => {
13
+ containerHandler = {
14
+ create() {
15
+ const el = document.createElement("div");
16
+ el.dataset.hypenType = "container";
17
+ return el;
18
+ }
19
+ };
20
+ });
21
+ init_container();
22
+
23
+ export {
24
+ containerHandler
25
+ };
26
+
27
+ export { exports_container, init_container };
28
+
29
+ //# debugId=79B298802801EA8F64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/container.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Container/Box Component\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const containerHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.dataset.hypenType = \"container\";\n return el;\n },\n};\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,qBAAqC;AAAA,IAChD,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MACvC,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,EAEX;AAAA;",
8
+ "debugId": "79B298802801EA8F64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,45 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/divider.ts
7
+ var exports_divider = {};
8
+ __export(exports_divider, {
9
+ dividerHandler: () => dividerHandler
10
+ });
11
+ var dividerHandler;
12
+ var init_divider = __esm(() => {
13
+ dividerHandler = {
14
+ create() {
15
+ const el = document.createElement("hr");
16
+ el.dataset.hypenType = "divider";
17
+ el.style.border = "none";
18
+ el.style.borderTop = "1px solid #e0e0e0";
19
+ el.style.margin = "0";
20
+ return el;
21
+ },
22
+ applyProps(el, props) {
23
+ if (props.thickness !== undefined) {
24
+ const thickness = typeof props.thickness === "number" ? `${props.thickness}px` : String(props.thickness);
25
+ el.style.borderTopWidth = thickness;
26
+ }
27
+ if (props.orientation === "vertical") {
28
+ el.style.borderTop = "none";
29
+ el.style.borderLeft = "1px solid #e0e0e0";
30
+ el.style.height = "100%";
31
+ el.style.width = "0";
32
+ el.style.display = "inline-block";
33
+ }
34
+ }
35
+ };
36
+ });
37
+ init_divider();
38
+
39
+ export {
40
+ dividerHandler
41
+ };
42
+
43
+ export { exports_divider, init_divider };
44
+
45
+ //# debugId=2257FF52F429686364756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/divider.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Divider Component - Visual separator\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const dividerHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"hr\");\n el.dataset.hypenType = \"divider\";\n el.style.border = \"none\";\n el.style.borderTop = \"1px solid #e0e0e0\";\n el.style.margin = \"0\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Thickness\n if (props.thickness !== undefined) {\n const thickness = typeof props.thickness === \"number\" \n ? `${props.thickness}px` \n : String(props.thickness);\n el.style.borderTopWidth = thickness;\n }\n\n // Orientation\n if (props.orientation === \"vertical\") {\n el.style.borderTop = \"none\";\n el.style.borderLeft = \"1px solid #e0e0e0\";\n el.style.height = \"100%\";\n el.style.width = \"0\";\n el.style.display = \"inline-block\";\n }\n },\n};\n\n\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,mBAAmC;AAAA,IAC9C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,IAAI;AAAA,MACtC,GAAG,QAAQ,YAAY;AAAA,MACvB,GAAG,MAAM,SAAS;AAAA,MAClB,GAAG,MAAM,YAAY;AAAA,MACrB,GAAG,MAAM,SAAS;AAAA,MAClB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAE5D,IAAI,MAAM,cAAc,WAAW;AAAA,QACjC,MAAM,YAAY,OAAO,MAAM,cAAc,WACzC,GAAG,MAAM,gBACT,OAAO,MAAM,SAAS;AAAA,QAC1B,GAAG,MAAM,iBAAiB;AAAA,MAC5B;AAAA,MAGA,IAAI,MAAM,gBAAgB,YAAY;AAAA,QACpC,GAAG,MAAM,YAAY;AAAA,QACrB,GAAG,MAAM,aAAa;AAAA,QACtB,GAAG,MAAM,SAAS;AAAA,QAClB,GAAG,MAAM,QAAQ;AAAA,QACjB,GAAG,MAAM,UAAU;AAAA,MACrB;AAAA;AAAA,EAEJ;AAAA;",
8
+ "debugId": "2257FF52F429686364756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,44 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/grid.ts
7
+ var exports_grid = {};
8
+ __export(exports_grid, {
9
+ gridHandler: () => gridHandler
10
+ });
11
+ var gridHandler;
12
+ var init_grid = __esm(() => {
13
+ gridHandler = {
14
+ create() {
15
+ const el = document.createElement("div");
16
+ el.style.display = "grid";
17
+ el.dataset.hypenType = "grid";
18
+ return el;
19
+ },
20
+ applyProps(el, props) {
21
+ if (props.columns !== undefined) {
22
+ const columns = typeof props.columns === "number" ? `repeat(${props.columns}, 1fr)` : String(props.columns);
23
+ el.style.gridTemplateColumns = columns;
24
+ }
25
+ if (props.rows !== undefined) {
26
+ const rows = typeof props.rows === "number" ? `repeat(${props.rows}, 1fr)` : String(props.rows);
27
+ el.style.gridTemplateRows = rows;
28
+ }
29
+ if (props.gap !== undefined) {
30
+ const gap = typeof props.gap === "number" ? `${props.gap}px` : String(props.gap);
31
+ el.style.gap = gap;
32
+ }
33
+ }
34
+ };
35
+ });
36
+ init_grid();
37
+
38
+ export {
39
+ gridHandler
40
+ };
41
+
42
+ export { exports_grid, init_grid };
43
+
44
+ //# debugId=B3844D598AB703BF64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/grid.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Grid Component - CSS Grid Layout\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const gridHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"grid\";\n el.dataset.hypenType = \"grid\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Columns\n if (props.columns !== undefined) {\n const columns = typeof props.columns === \"number\"\n ? `repeat(${props.columns}, 1fr)`\n : String(props.columns);\n el.style.gridTemplateColumns = columns;\n }\n\n // Rows\n if (props.rows !== undefined) {\n const rows = typeof props.rows === \"number\"\n ? `repeat(${props.rows}, 1fr)`\n : String(props.rows);\n el.style.gridTemplateRows = rows;\n }\n\n // Gap\n if (props.gap !== undefined) {\n const gap = typeof props.gap === \"number\" ? `${props.gap}px` : String(props.gap);\n el.style.gap = gap;\n }\n },\n};\n\n\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,gBAAgC;AAAA,IAC3C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MACvC,GAAG,MAAM,UAAU;AAAA,MACnB,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAE5D,IAAI,MAAM,YAAY,WAAW;AAAA,QAC/B,MAAM,UAAU,OAAO,MAAM,YAAY,WACrC,UAAU,MAAM,kBAChB,OAAO,MAAM,OAAO;AAAA,QACxB,GAAG,MAAM,sBAAsB;AAAA,MACjC;AAAA,MAGA,IAAI,MAAM,SAAS,WAAW;AAAA,QAC5B,MAAM,OAAO,OAAO,MAAM,SAAS,WAC/B,UAAU,MAAM,eAChB,OAAO,MAAM,IAAI;AAAA,QACrB,GAAG,MAAM,mBAAmB;AAAA,MAC9B;AAAA,MAGA,IAAI,MAAM,QAAQ,WAAW;AAAA,QAC3B,MAAM,MAAM,OAAO,MAAM,QAAQ,WAAW,GAAG,MAAM,UAAU,OAAO,MAAM,GAAG;AAAA,QAC/E,GAAG,MAAM,MAAM;AAAA,MACjB;AAAA;AAAA,EAEJ;AAAA;",
8
+ "debugId": "B3844D598AB703BF64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,47 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/heading.ts
7
+ var exports_heading = {};
8
+ __export(exports_heading, {
9
+ headingHandler: () => headingHandler
10
+ });
11
+ var headingHandler;
12
+ var init_heading = __esm(() => {
13
+ headingHandler = {
14
+ create() {
15
+ const el = document.createElement("h2");
16
+ el.dataset.hypenType = "heading";
17
+ return el;
18
+ },
19
+ applyProps(el, props) {
20
+ if (props.level !== undefined) {
21
+ const level = Math.max(1, Math.min(6, Number(props.level)));
22
+ const newEl = document.createElement(`h${level}`);
23
+ newEl.dataset.hypenType = "heading";
24
+ newEl.innerHTML = el.innerHTML;
25
+ Array.from(el.attributes).forEach((attr) => {
26
+ newEl.setAttribute(attr.name, attr.value);
27
+ });
28
+ if (el.parentNode) {
29
+ el.parentNode.replaceChild(newEl, el);
30
+ }
31
+ }
32
+ const text = props["0"] || props.text;
33
+ if (text !== undefined) {
34
+ el.textContent = String(text);
35
+ }
36
+ }
37
+ };
38
+ });
39
+ init_heading();
40
+
41
+ export {
42
+ headingHandler
43
+ };
44
+
45
+ export { exports_heading, init_heading };
46
+
47
+ //# debugId=57A7AFC5B8A3B8B864756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/heading.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Heading Component - Semantic headings (h1-h6)\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const headingHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"h2\");\n el.dataset.hypenType = \"heading\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Level property (1-6)\n if (props.level !== undefined) {\n const level = Math.max(1, Math.min(6, Number(props.level)));\n const newEl = document.createElement(`h${level}`);\n newEl.dataset.hypenType = \"heading\";\n \n // Copy content and attributes\n newEl.innerHTML = el.innerHTML;\n Array.from(el.attributes).forEach(attr => {\n newEl.setAttribute(attr.name, attr.value);\n });\n \n // Replace the element\n if (el.parentNode) {\n el.parentNode.replaceChild(newEl, el);\n }\n }\n\n // Text content\n const text = props[\"0\"] || props.text;\n if (text !== undefined) {\n el.textContent = String(text);\n }\n },\n};\n\n\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,mBAAmC;AAAA,IAC9C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,IAAI;AAAA,MACtC,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAE5D,IAAI,MAAM,UAAU,WAAW;AAAA,QAC7B,MAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,OAAO,MAAM,KAAK,CAAC,CAAC;AAAA,QAC1D,MAAM,QAAQ,SAAS,cAAc,IAAI,OAAO;AAAA,QAChD,MAAM,QAAQ,YAAY;AAAA,QAG1B,MAAM,YAAY,GAAG;AAAA,QACrB,MAAM,KAAK,GAAG,UAAU,EAAE,QAAQ,UAAQ;AAAA,UACxC,MAAM,aAAa,KAAK,MAAM,KAAK,KAAK;AAAA,SACzC;AAAA,QAGD,IAAI,GAAG,YAAY;AAAA,UACjB,GAAG,WAAW,aAAa,OAAO,EAAE;AAAA,QACtC;AAAA,MACF;AAAA,MAGA,MAAM,OAAO,MAAM,QAAQ,MAAM;AAAA,MACjC,IAAI,SAAS,WAAW;AAAA,QACtB,GAAG,cAAc,OAAO,IAAI;AAAA,MAC9B;AAAA;AAAA,EAEJ;AAAA;",
8
+ "debugId": "57A7AFC5B8A3B8B864756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,39 @@
1
+ import {
2
+ __esm,
3
+ __export
4
+ } from "../../../chunk-2s02mkzs.js";
5
+
6
+ // src/dom/components/image.ts
7
+ var exports_image = {};
8
+ __export(exports_image, {
9
+ imageHandler: () => imageHandler
10
+ });
11
+ var imageHandler;
12
+ var init_image = __esm(() => {
13
+ imageHandler = {
14
+ create() {
15
+ const el = document.createElement("img");
16
+ el.dataset.hypenType = "image";
17
+ return el;
18
+ },
19
+ applyProps(el, props) {
20
+ const img = el;
21
+ const src = props["0"] || props.url || props.src;
22
+ if (src !== undefined) {
23
+ img.src = String(src);
24
+ }
25
+ if (props.alt !== undefined) {
26
+ img.alt = String(props.alt);
27
+ }
28
+ }
29
+ };
30
+ });
31
+ init_image();
32
+
33
+ export {
34
+ imageHandler
35
+ };
36
+
37
+ export { exports_image, init_image };
38
+
39
+ //# debugId=20E9875428BBBCEF64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/dom/components/image.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Image Component\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const imageHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"img\");\n el.dataset.hypenType = \"image\";\n return el as any as HTMLElement;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n const img = el as HTMLImageElement;\n\n // Support url, src, or first positional argument\n const src = props[\"0\"] || props.url || props.src;\n if (src !== undefined) {\n img.src = String(src);\n }\n\n if (props.alt !== undefined) {\n img.alt = String(props.alt);\n }\n },\n};\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,iBAAiC;AAAA,IAC5C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MACvC,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAC5D,MAAM,MAAM;AAAA,MAGZ,MAAM,MAAM,MAAM,QAAQ,MAAM,OAAO,MAAM;AAAA,MAC7C,IAAI,QAAQ,WAAW;AAAA,QACrB,IAAI,MAAM,OAAO,GAAG;AAAA,MACtB;AAAA,MAEA,IAAI,MAAM,QAAQ,WAAW;AAAA,QAC3B,IAAI,MAAM,OAAO,MAAM,GAAG;AAAA,MAC5B;AAAA;AAAA,EAEJ;AAAA;",
8
+ "debugId": "20E9875428BBBCEF64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,217 @@
1
+ import {
2
+ exports_list,
3
+ init_list
4
+ } from "./list.js";
5
+ import {
6
+ exports_textarea,
7
+ init_textarea
8
+ } from "./textarea.js";
9
+ import {
10
+ exports_grid,
11
+ init_grid
12
+ } from "./grid.js";
13
+ import {
14
+ exports_link,
15
+ init_link
16
+ } from "./link.js";
17
+ import {
18
+ exports_avatar,
19
+ init_avatar
20
+ } from "./avatar.js";
21
+ import {
22
+ exports_switch,
23
+ init_switch
24
+ } from "./switch.js";
25
+ import {
26
+ exports_badge,
27
+ init_badge
28
+ } from "./badge.js";
29
+ import {
30
+ exports_route,
31
+ init_route
32
+ } from "./route.js";
33
+ import {
34
+ exports_center,
35
+ init_center
36
+ } from "./center.js";
37
+ import {
38
+ exports_divider,
39
+ init_divider
40
+ } from "./divider.js";
41
+ import {
42
+ exports_spacer,
43
+ init_spacer
44
+ } from "./spacer.js";
45
+ import {
46
+ exports_input,
47
+ init_input
48
+ } from "./input.js";
49
+ import {
50
+ exports_stack,
51
+ init_stack
52
+ } from "./stack.js";
53
+ import {
54
+ exports_progressbar,
55
+ init_progressbar
56
+ } from "./progressbar.js";
57
+ import {
58
+ exports_button,
59
+ init_button
60
+ } from "./button.js";
61
+ import {
62
+ exports_heading,
63
+ init_heading
64
+ } from "./heading.js";
65
+ import {
66
+ exports_slider,
67
+ init_slider
68
+ } from "./slider.js";
69
+ import {
70
+ exports_card,
71
+ init_card
72
+ } from "./card.js";
73
+ import {
74
+ exports_container,
75
+ init_container
76
+ } from "./container.js";
77
+ import {
78
+ exports_video,
79
+ init_video
80
+ } from "./video.js";
81
+ import {
82
+ exports_spinner,
83
+ init_spinner
84
+ } from "./spinner.js";
85
+ import {
86
+ exports_row,
87
+ init_row
88
+ } from "./row.js";
89
+ import {
90
+ exports_select,
91
+ init_select
92
+ } from "./select.js";
93
+ import {
94
+ exports_router,
95
+ init_router
96
+ } from "./router.js";
97
+ import {
98
+ exports_audio,
99
+ init_audio
100
+ } from "./audio.js";
101
+ import {
102
+ exports_paragraph,
103
+ init_paragraph
104
+ } from "./paragraph.js";
105
+ import {
106
+ exports_text,
107
+ init_text
108
+ } from "./text.js";
109
+ import {
110
+ exports_checkbox,
111
+ init_checkbox
112
+ } from "./checkbox.js";
113
+ import {
114
+ exports_column,
115
+ init_column
116
+ } from "./column.js";
117
+ import {
118
+ exports_image,
119
+ init_image
120
+ } from "./image.js";
121
+ import {
122
+ __toCommonJS
123
+ } from "../../../chunk-2s02mkzs.js";
124
+
125
+ // src/dom/components/index.ts
126
+ class ComponentRegistry {
127
+ handlers = new Map;
128
+ constructor() {
129
+ this.registerDefaults();
130
+ }
131
+ register(type, handler) {
132
+ this.handlers.set(type.toLowerCase(), handler);
133
+ }
134
+ get(type) {
135
+ return this.handlers.get(type.toLowerCase());
136
+ }
137
+ createElement(type, props = {}) {
138
+ const handler = this.get(type);
139
+ if (!handler)
140
+ return null;
141
+ const element = handler.create();
142
+ if (handler.applyProps) {
143
+ handler.applyProps(element, props);
144
+ }
145
+ return element;
146
+ }
147
+ registerDefaults() {
148
+ const { columnHandler } = (init_column(), __toCommonJS(exports_column));
149
+ const { rowHandler } = (init_row(), __toCommonJS(exports_row));
150
+ const { textHandler } = (init_text(), __toCommonJS(exports_text));
151
+ const { imageHandler } = (init_image(), __toCommonJS(exports_image));
152
+ const { buttonHandler } = (init_button(), __toCommonJS(exports_button));
153
+ const { containerHandler } = (init_container(), __toCommonJS(exports_container));
154
+ const { centerHandler } = (init_center(), __toCommonJS(exports_center));
155
+ const { listHandler } = (init_list(), __toCommonJS(exports_list));
156
+ const { inputHandler } = (init_input(), __toCommonJS(exports_input));
157
+ const { linkHandler } = (init_link(), __toCommonJS(exports_link));
158
+ const { textareaHandler } = (init_textarea(), __toCommonJS(exports_textarea));
159
+ const { checkboxHandler } = (init_checkbox(), __toCommonJS(exports_checkbox));
160
+ const { selectHandler } = (init_select(), __toCommonJS(exports_select));
161
+ const { spacerHandler } = (init_spacer(), __toCommonJS(exports_spacer));
162
+ const { stackHandler } = (init_stack(), __toCommonJS(exports_stack));
163
+ const { dividerHandler } = (init_divider(), __toCommonJS(exports_divider));
164
+ const { gridHandler } = (init_grid(), __toCommonJS(exports_grid));
165
+ const { cardHandler } = (init_card(), __toCommonJS(exports_card));
166
+ const { headingHandler } = (init_heading(), __toCommonJS(exports_heading));
167
+ const { switchHandler } = (init_switch(), __toCommonJS(exports_switch));
168
+ const { sliderHandler } = (init_slider(), __toCommonJS(exports_slider));
169
+ const { spinnerHandler } = (init_spinner(), __toCommonJS(exports_spinner));
170
+ const { badgeHandler } = (init_badge(), __toCommonJS(exports_badge));
171
+ const { avatarHandler } = (init_avatar(), __toCommonJS(exports_avatar));
172
+ const { progressBarHandler } = (init_progressbar(), __toCommonJS(exports_progressbar));
173
+ const { videoHandler } = (init_video(), __toCommonJS(exports_video));
174
+ const { audioHandler } = (init_audio(), __toCommonJS(exports_audio));
175
+ const { paragraphHandler } = (init_paragraph(), __toCommonJS(exports_paragraph));
176
+ const { routerHandler } = (init_router(), __toCommonJS(exports_router));
177
+ const { routeHandler } = (init_route(), __toCommonJS(exports_route));
178
+ this.register("column", columnHandler);
179
+ this.register("row", rowHandler);
180
+ this.register("text", textHandler);
181
+ this.register("image", imageHandler);
182
+ this.register("button", buttonHandler);
183
+ this.register("container", containerHandler);
184
+ this.register("box", containerHandler);
185
+ this.register("center", centerHandler);
186
+ this.register("list", listHandler);
187
+ this.register("input", inputHandler);
188
+ this.register("link", linkHandler);
189
+ this.register("textarea", textareaHandler);
190
+ this.register("checkbox", checkboxHandler);
191
+ this.register("select", selectHandler);
192
+ this.register("spacer", spacerHandler);
193
+ this.register("stack", stackHandler);
194
+ this.register("divider", dividerHandler);
195
+ this.register("grid", gridHandler);
196
+ this.register("card", cardHandler);
197
+ this.register("heading", headingHandler);
198
+ this.register("switch", switchHandler);
199
+ this.register("slider", sliderHandler);
200
+ this.register("spinner", spinnerHandler);
201
+ this.register("badge", badgeHandler);
202
+ this.register("avatar", avatarHandler);
203
+ this.register("progressbar", progressBarHandler);
204
+ this.register("video", videoHandler);
205
+ this.register("audio", audioHandler);
206
+ this.register("paragraph", paragraphHandler);
207
+ this.register("router", routerHandler);
208
+ this.register("route", routeHandler);
209
+ }
210
+ }
211
+ export {
212
+ ComponentRegistry
213
+ };
214
+
215
+ export { ComponentRegistry };
216
+
217
+ //# debugId=65DAAC739196799D64756E2164756E21