tyrell-components 1.0.0-TC7

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 (330) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +221 -0
  3. package/css/tyrell.css +1783 -0
  4. package/dist/tyrell.css +1783 -0
  5. package/dist/tyrell.js +2 -0
  6. package/lib/base/ty-component.d.ts +133 -0
  7. package/lib/base/ty-component.d.ts.map +1 -0
  8. package/lib/base/ty-component.js +297 -0
  9. package/lib/base/ty-component.js.map +1 -0
  10. package/lib/components/button.d.ts +126 -0
  11. package/lib/components/button.d.ts.map +1 -0
  12. package/lib/components/button.js +244 -0
  13. package/lib/components/button.js.map +1 -0
  14. package/lib/components/calendar-month.d.ts +132 -0
  15. package/lib/components/calendar-month.d.ts.map +1 -0
  16. package/lib/components/calendar-month.js +440 -0
  17. package/lib/components/calendar-month.js.map +1 -0
  18. package/lib/components/calendar-navigation.d.ts +137 -0
  19. package/lib/components/calendar-navigation.d.ts.map +1 -0
  20. package/lib/components/calendar-navigation.js +366 -0
  21. package/lib/components/calendar-navigation.js.map +1 -0
  22. package/lib/components/calendar.d.ts +166 -0
  23. package/lib/components/calendar.d.ts.map +1 -0
  24. package/lib/components/calendar.js +774 -0
  25. package/lib/components/calendar.js.map +1 -0
  26. package/lib/components/checkbox.d.ts +189 -0
  27. package/lib/components/checkbox.d.ts.map +1 -0
  28. package/lib/components/checkbox.js +400 -0
  29. package/lib/components/checkbox.js.map +1 -0
  30. package/lib/components/copy.d.ts +180 -0
  31. package/lib/components/copy.d.ts.map +1 -0
  32. package/lib/components/copy.js +393 -0
  33. package/lib/components/copy.js.map +1 -0
  34. package/lib/components/date-picker.d.ts +379 -0
  35. package/lib/components/date-picker.d.ts.map +1 -0
  36. package/lib/components/date-picker.js +1586 -0
  37. package/lib/components/date-picker.js.map +1 -0
  38. package/lib/components/dropdown.d.ts +402 -0
  39. package/lib/components/dropdown.d.ts.map +1 -0
  40. package/lib/components/dropdown.js +1564 -0
  41. package/lib/components/dropdown.js.map +1 -0
  42. package/lib/components/icon.d.ts +107 -0
  43. package/lib/components/icon.d.ts.map +1 -0
  44. package/lib/components/icon.js +230 -0
  45. package/lib/components/icon.js.map +1 -0
  46. package/lib/components/input.d.ts +270 -0
  47. package/lib/components/input.d.ts.map +1 -0
  48. package/lib/components/input.js +721 -0
  49. package/lib/components/input.js.map +1 -0
  50. package/lib/components/modal.d.ts +58 -0
  51. package/lib/components/modal.d.ts.map +1 -0
  52. package/lib/components/modal.js +473 -0
  53. package/lib/components/modal.js.map +1 -0
  54. package/lib/components/multiselect.d.ts +397 -0
  55. package/lib/components/multiselect.d.ts.map +1 -0
  56. package/lib/components/multiselect.js +1580 -0
  57. package/lib/components/multiselect.js.map +1 -0
  58. package/lib/components/option.d.ts +66 -0
  59. package/lib/components/option.d.ts.map +1 -0
  60. package/lib/components/option.js +314 -0
  61. package/lib/components/option.js.map +1 -0
  62. package/lib/components/popup.d.ts +43 -0
  63. package/lib/components/popup.d.ts.map +1 -0
  64. package/lib/components/popup.js +380 -0
  65. package/lib/components/popup.js.map +1 -0
  66. package/lib/components/radio.d.ts +198 -0
  67. package/lib/components/radio.d.ts.map +1 -0
  68. package/lib/components/radio.js +437 -0
  69. package/lib/components/radio.js.map +1 -0
  70. package/lib/components/resize-observer.d.ts +48 -0
  71. package/lib/components/resize-observer.d.ts.map +1 -0
  72. package/lib/components/resize-observer.js +108 -0
  73. package/lib/components/resize-observer.js.map +1 -0
  74. package/lib/components/scroll-container.d.ts +51 -0
  75. package/lib/components/scroll-container.d.ts.map +1 -0
  76. package/lib/components/scroll-container.js +239 -0
  77. package/lib/components/scroll-container.js.map +1 -0
  78. package/lib/components/step.d.ts +26 -0
  79. package/lib/components/step.d.ts.map +1 -0
  80. package/lib/components/step.js +75 -0
  81. package/lib/components/step.js.map +1 -0
  82. package/lib/components/switch.d.ts +111 -0
  83. package/lib/components/switch.d.ts.map +1 -0
  84. package/lib/components/switch.js +240 -0
  85. package/lib/components/switch.js.map +1 -0
  86. package/lib/components/tab.d.ts +23 -0
  87. package/lib/components/tab.d.ts.map +1 -0
  88. package/lib/components/tab.js +76 -0
  89. package/lib/components/tab.js.map +1 -0
  90. package/lib/components/tabs.d.ts +93 -0
  91. package/lib/components/tabs.d.ts.map +1 -0
  92. package/lib/components/tabs.js +653 -0
  93. package/lib/components/tabs.js.map +1 -0
  94. package/lib/components/tag.d.ts +144 -0
  95. package/lib/components/tag.d.ts.map +1 -0
  96. package/lib/components/tag.js +314 -0
  97. package/lib/components/tag.js.map +1 -0
  98. package/lib/components/textarea.d.ts +241 -0
  99. package/lib/components/textarea.d.ts.map +1 -0
  100. package/lib/components/textarea.js +585 -0
  101. package/lib/components/textarea.js.map +1 -0
  102. package/lib/components/tooltip.d.ts +40 -0
  103. package/lib/components/tooltip.d.ts.map +1 -0
  104. package/lib/components/tooltip.js +439 -0
  105. package/lib/components/tooltip.js.map +1 -0
  106. package/lib/components/wizard.d.ts +86 -0
  107. package/lib/components/wizard.d.ts.map +1 -0
  108. package/lib/components/wizard.js +636 -0
  109. package/lib/components/wizard.js.map +1 -0
  110. package/lib/icons/fontawesome/brands.d.ts +557 -0
  111. package/lib/icons/fontawesome/brands.d.ts.map +1 -0
  112. package/lib/icons/fontawesome/brands.js +557 -0
  113. package/lib/icons/fontawesome/brands.js.map +1 -0
  114. package/lib/icons/fontawesome/regular.d.ts +281 -0
  115. package/lib/icons/fontawesome/regular.d.ts.map +1 -0
  116. package/lib/icons/fontawesome/regular.js +281 -0
  117. package/lib/icons/fontawesome/regular.js.map +1 -0
  118. package/lib/icons/fontawesome/solid.d.ts +1992 -0
  119. package/lib/icons/fontawesome/solid.d.ts.map +1 -0
  120. package/lib/icons/fontawesome/solid.js +1992 -0
  121. package/lib/icons/fontawesome/solid.js.map +1 -0
  122. package/lib/icons/heroicons/micro.d.ts +324 -0
  123. package/lib/icons/heroicons/micro.d.ts.map +1 -0
  124. package/lib/icons/heroicons/micro.js +1032 -0
  125. package/lib/icons/heroicons/micro.js.map +1 -0
  126. package/lib/icons/heroicons/mini.d.ts +332 -0
  127. package/lib/icons/heroicons/mini.d.ts.map +1 -0
  128. package/lib/icons/heroicons/mini.js +1038 -0
  129. package/lib/icons/heroicons/mini.js.map +1 -0
  130. package/lib/icons/heroicons/outline.d.ts +332 -0
  131. package/lib/icons/heroicons/outline.d.ts.map +1 -0
  132. package/lib/icons/heroicons/outline.js +993 -0
  133. package/lib/icons/heroicons/outline.js.map +1 -0
  134. package/lib/icons/heroicons/solid.d.ts +332 -0
  135. package/lib/icons/heroicons/solid.d.ts.map +1 -0
  136. package/lib/icons/heroicons/solid.js +1063 -0
  137. package/lib/icons/heroicons/solid.js.map +1 -0
  138. package/lib/icons/lucide.d.ts +1872 -0
  139. package/lib/icons/lucide.d.ts.map +1 -0
  140. package/lib/icons/lucide.js +28212 -0
  141. package/lib/icons/lucide.js.map +1 -0
  142. package/lib/icons/material/filled.d.ts +2180 -0
  143. package/lib/icons/material/filled.d.ts.map +1 -0
  144. package/lib/icons/material/filled.js +14003 -0
  145. package/lib/icons/material/filled.js.map +1 -0
  146. package/lib/icons/material/outlined.d.ts +2142 -0
  147. package/lib/icons/material/outlined.d.ts.map +1 -0
  148. package/lib/icons/material/outlined.js +14545 -0
  149. package/lib/icons/material/outlined.js.map +1 -0
  150. package/lib/icons/material/round.d.ts +2147 -0
  151. package/lib/icons/material/round.d.ts.map +1 -0
  152. package/lib/icons/material/round.js +14779 -0
  153. package/lib/icons/material/round.js.map +1 -0
  154. package/lib/icons/material/sharp.d.ts +2147 -0
  155. package/lib/icons/material/sharp.d.ts.map +1 -0
  156. package/lib/icons/material/sharp.js +14189 -0
  157. package/lib/icons/material/sharp.js.map +1 -0
  158. package/lib/icons/material/two-tone.d.ts +2185 -0
  159. package/lib/icons/material/two-tone.d.ts.map +1 -0
  160. package/lib/icons/material/two-tone.js +17152 -0
  161. package/lib/icons/material/two-tone.js.map +1 -0
  162. package/lib/index.d.ts +78 -0
  163. package/lib/index.d.ts.map +1 -0
  164. package/lib/index.js +71 -0
  165. package/lib/index.js.map +1 -0
  166. package/lib/styles/button.d.ts +14 -0
  167. package/lib/styles/button.d.ts.map +1 -0
  168. package/lib/styles/button.js +457 -0
  169. package/lib/styles/button.js.map +1 -0
  170. package/lib/styles/calendar-month.d.ts +6 -0
  171. package/lib/styles/calendar-month.d.ts.map +1 -0
  172. package/lib/styles/calendar-month.js +229 -0
  173. package/lib/styles/calendar-month.js.map +1 -0
  174. package/lib/styles/calendar-navigation.d.ts +6 -0
  175. package/lib/styles/calendar-navigation.d.ts.map +1 -0
  176. package/lib/styles/calendar-navigation.js +125 -0
  177. package/lib/styles/calendar-navigation.js.map +1 -0
  178. package/lib/styles/calendar.d.ts +6 -0
  179. package/lib/styles/calendar.d.ts.map +1 -0
  180. package/lib/styles/calendar.js +28 -0
  181. package/lib/styles/calendar.js.map +1 -0
  182. package/lib/styles/checkbox.d.ts +9 -0
  183. package/lib/styles/checkbox.d.ts.map +1 -0
  184. package/lib/styles/checkbox.js +19 -0
  185. package/lib/styles/checkbox.js.map +1 -0
  186. package/lib/styles/copy.d.ts +7 -0
  187. package/lib/styles/copy.d.ts.map +1 -0
  188. package/lib/styles/copy.js +94 -0
  189. package/lib/styles/copy.js.map +1 -0
  190. package/lib/styles/custom-scrollbar.d.ts +6 -0
  191. package/lib/styles/custom-scrollbar.d.ts.map +1 -0
  192. package/lib/styles/custom-scrollbar.js +157 -0
  193. package/lib/styles/custom-scrollbar.js.map +1 -0
  194. package/lib/styles/date-picker.d.ts +6 -0
  195. package/lib/styles/date-picker.d.ts.map +1 -0
  196. package/lib/styles/date-picker.js +400 -0
  197. package/lib/styles/date-picker.js.map +1 -0
  198. package/lib/styles/dropdown.d.ts +12 -0
  199. package/lib/styles/dropdown.d.ts.map +1 -0
  200. package/lib/styles/dropdown.js +983 -0
  201. package/lib/styles/dropdown.js.map +1 -0
  202. package/lib/styles/icon.d.ts +6 -0
  203. package/lib/styles/icon.d.ts.map +1 -0
  204. package/lib/styles/icon.js +231 -0
  205. package/lib/styles/icon.js.map +1 -0
  206. package/lib/styles/input.d.ts +7 -0
  207. package/lib/styles/input.d.ts.map +1 -0
  208. package/lib/styles/input.js +685 -0
  209. package/lib/styles/input.js.map +1 -0
  210. package/lib/styles/modal.d.ts +8 -0
  211. package/lib/styles/modal.d.ts.map +1 -0
  212. package/lib/styles/modal.js +134 -0
  213. package/lib/styles/modal.js.map +1 -0
  214. package/lib/styles/multiselect.d.ts +6 -0
  215. package/lib/styles/multiselect.d.ts.map +1 -0
  216. package/lib/styles/multiselect.js +774 -0
  217. package/lib/styles/multiselect.js.map +1 -0
  218. package/lib/styles/option.d.ts +6 -0
  219. package/lib/styles/option.d.ts.map +1 -0
  220. package/lib/styles/option.js +116 -0
  221. package/lib/styles/option.js.map +1 -0
  222. package/lib/styles/popup.d.ts +8 -0
  223. package/lib/styles/popup.d.ts.map +1 -0
  224. package/lib/styles/popup.js +95 -0
  225. package/lib/styles/popup.js.map +1 -0
  226. package/lib/styles/radio.d.ts +8 -0
  227. package/lib/styles/radio.d.ts.map +1 -0
  228. package/lib/styles/radio.js +160 -0
  229. package/lib/styles/radio.js.map +1 -0
  230. package/lib/styles/resize-observer.d.ts +6 -0
  231. package/lib/styles/resize-observer.d.ts.map +1 -0
  232. package/lib/styles/resize-observer.js +18 -0
  233. package/lib/styles/resize-observer.js.map +1 -0
  234. package/lib/styles/scroll-container.d.ts +6 -0
  235. package/lib/styles/scroll-container.d.ts.map +1 -0
  236. package/lib/styles/scroll-container.js +198 -0
  237. package/lib/styles/scroll-container.js.map +1 -0
  238. package/lib/styles/step.d.ts +5 -0
  239. package/lib/styles/step.d.ts.map +1 -0
  240. package/lib/styles/step.js +50 -0
  241. package/lib/styles/step.js.map +1 -0
  242. package/lib/styles/switch.d.ts +9 -0
  243. package/lib/styles/switch.d.ts.map +1 -0
  244. package/lib/styles/switch.js +100 -0
  245. package/lib/styles/switch.js.map +1 -0
  246. package/lib/styles/tab.d.ts +5 -0
  247. package/lib/styles/tab.d.ts.map +1 -0
  248. package/lib/styles/tab.js +51 -0
  249. package/lib/styles/tab.js.map +1 -0
  250. package/lib/styles/tabs.d.ts +13 -0
  251. package/lib/styles/tabs.d.ts.map +1 -0
  252. package/lib/styles/tabs.js +184 -0
  253. package/lib/styles/tabs.js.map +1 -0
  254. package/lib/styles/tag.d.ts +6 -0
  255. package/lib/styles/tag.d.ts.map +1 -0
  256. package/lib/styles/tag.js +415 -0
  257. package/lib/styles/tag.js.map +1 -0
  258. package/lib/styles/textarea.d.ts +6 -0
  259. package/lib/styles/textarea.d.ts.map +1 -0
  260. package/lib/styles/textarea.js +350 -0
  261. package/lib/styles/textarea.js.map +1 -0
  262. package/lib/styles/tooltip.d.ts +9 -0
  263. package/lib/styles/tooltip.d.ts.map +1 -0
  264. package/lib/styles/tooltip.js +136 -0
  265. package/lib/styles/tooltip.js.map +1 -0
  266. package/lib/styles/wizard.d.ts +25 -0
  267. package/lib/styles/wizard.d.ts.map +1 -0
  268. package/lib/styles/wizard.js +325 -0
  269. package/lib/styles/wizard.js.map +1 -0
  270. package/lib/types/common.d.ts +143 -0
  271. package/lib/types/common.d.ts.map +1 -0
  272. package/lib/types/common.js +5 -0
  273. package/lib/types/common.js.map +1 -0
  274. package/lib/utils/calendar-utils.d.ts +176 -0
  275. package/lib/utils/calendar-utils.d.ts.map +1 -0
  276. package/lib/utils/calendar-utils.js +370 -0
  277. package/lib/utils/calendar-utils.js.map +1 -0
  278. package/lib/utils/custom-scrollbar.d.ts +82 -0
  279. package/lib/utils/custom-scrollbar.d.ts.map +1 -0
  280. package/lib/utils/custom-scrollbar.js +320 -0
  281. package/lib/utils/custom-scrollbar.js.map +1 -0
  282. package/lib/utils/icon-registry.d.ts +78 -0
  283. package/lib/utils/icon-registry.d.ts.map +1 -0
  284. package/lib/utils/icon-registry.js +304 -0
  285. package/lib/utils/icon-registry.js.map +1 -0
  286. package/lib/utils/locale.d.ts +136 -0
  287. package/lib/utils/locale.d.ts.map +1 -0
  288. package/lib/utils/locale.js +213 -0
  289. package/lib/utils/locale.js.map +1 -0
  290. package/lib/utils/mobile.d.ts +14 -0
  291. package/lib/utils/mobile.d.ts.map +1 -0
  292. package/lib/utils/mobile.js +21 -0
  293. package/lib/utils/mobile.js.map +1 -0
  294. package/lib/utils/number-format.d.ts +83 -0
  295. package/lib/utils/number-format.d.ts.map +1 -0
  296. package/lib/utils/number-format.js +143 -0
  297. package/lib/utils/number-format.js.map +1 -0
  298. package/lib/utils/parse-boolean.d.ts +39 -0
  299. package/lib/utils/parse-boolean.d.ts.map +1 -0
  300. package/lib/utils/parse-boolean.js +58 -0
  301. package/lib/utils/parse-boolean.js.map +1 -0
  302. package/lib/utils/positioning.d.ts +143 -0
  303. package/lib/utils/positioning.d.ts.map +1 -0
  304. package/lib/utils/positioning.js +308 -0
  305. package/lib/utils/positioning.js.map +1 -0
  306. package/lib/utils/property-capture.d.ts +132 -0
  307. package/lib/utils/property-capture.d.ts.map +1 -0
  308. package/lib/utils/property-capture.js +152 -0
  309. package/lib/utils/property-capture.js.map +1 -0
  310. package/lib/utils/property-manager.d.ts +90 -0
  311. package/lib/utils/property-manager.d.ts.map +1 -0
  312. package/lib/utils/property-manager.js +197 -0
  313. package/lib/utils/property-manager.js.map +1 -0
  314. package/lib/utils/resize-observer.d.ts +42 -0
  315. package/lib/utils/resize-observer.d.ts.map +1 -0
  316. package/lib/utils/resize-observer.js +71 -0
  317. package/lib/utils/resize-observer.js.map +1 -0
  318. package/lib/utils/scroll-lock.d.ts +79 -0
  319. package/lib/utils/scroll-lock.d.ts.map +1 -0
  320. package/lib/utils/scroll-lock.js +197 -0
  321. package/lib/utils/scroll-lock.js.map +1 -0
  322. package/lib/utils/styles.d.ts +27 -0
  323. package/lib/utils/styles.d.ts.map +1 -0
  324. package/lib/utils/styles.js +53 -0
  325. package/lib/utils/styles.js.map +1 -0
  326. package/lib/version.d.ts +8 -0
  327. package/lib/version.d.ts.map +1 -0
  328. package/lib/version.js +11 -0
  329. package/lib/version.js.map +1 -0
  330. package/package.json +159 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Modal Component
3
+ *
4
+ * Pure wrapper for modal dialogs using the native <dialog> element.
5
+ * Provides backdrop, focus management, scroll locking, and keyboard interaction
6
+ * without imposing any styling on content.
7
+ *
8
+ * Features:
9
+ * - Native dialog element wrapper
10
+ * - Dual API: declarative (open attribute) and imperative (show/hide methods)
11
+ * - Protected mode with confirmation dialog
12
+ * - Auto-hiding close button on hover (desktop only)
13
+ * - Scroll locking with unique modal IDs
14
+ * - Customizable backdrop via CSS variables
15
+ *
16
+ * @example
17
+ * <ty-modal id="my-modal">
18
+ * <div class="ty-elevated p-6 rounded-lg max-w-md">
19
+ * <h3 class="text-lg font-semibold mb-4">Modal Title</h3>
20
+ * <p class="ty-text- mb-4">Modal content here</p>
21
+ * <ty-button onclick="this.closest('ty-modal').hide()">
22
+ * Close
23
+ * </ty-button>
24
+ * </div>
25
+ * </ty-modal>
26
+ */
27
+ /**
28
+ * Modal attributes configuration
29
+ */
30
+ export interface ModalAttributes {
31
+ open: boolean;
32
+ backdrop: boolean;
33
+ closeOnOutsideClick: boolean;
34
+ closeOnEscape: boolean;
35
+ protected: boolean;
36
+ }
37
+ /**
38
+ * Modal close event detail
39
+ */
40
+ export interface ModalCloseDetail {
41
+ reason: 'programmatic' | 'native';
42
+ returnValue?: string;
43
+ }
44
+ /**
45
+ * TyModal Web Component
46
+ */
47
+ export declare class TyModal extends HTMLElement {
48
+ /** Programmatic API methods */
49
+ show?: () => void;
50
+ hide?: () => void;
51
+ /** Observed attributes */
52
+ static get observedAttributes(): string[];
53
+ constructor();
54
+ connectedCallback(): void;
55
+ disconnectedCallback(): void;
56
+ attributeChangedCallback(_name: string, _oldValue: string | null, _newValue: string | null): void;
57
+ }
58
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAUH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8dD;;GAEG;AACH,qBAAa,OAAQ,SAAQ,WAAW;IACtC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAElB,0BAA0B;IAC1B,MAAM,KAAK,kBAAkB,aAE5B;;IAOD,iBAAiB;IAQjB,oBAAoB;IAIpB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAI3F"}
@@ -0,0 +1,473 @@
1
+ /**
2
+ * Modal Component
3
+ *
4
+ * Pure wrapper for modal dialogs using the native <dialog> element.
5
+ * Provides backdrop, focus management, scroll locking, and keyboard interaction
6
+ * without imposing any styling on content.
7
+ *
8
+ * Features:
9
+ * - Native dialog element wrapper
10
+ * - Dual API: declarative (open attribute) and imperative (show/hide methods)
11
+ * - Protected mode with confirmation dialog
12
+ * - Auto-hiding close button on hover (desktop only)
13
+ * - Scroll locking with unique modal IDs
14
+ * - Customizable backdrop via CSS variables
15
+ *
16
+ * @example
17
+ * <ty-modal id="my-modal">
18
+ * <div class="ty-elevated p-6 rounded-lg max-w-md">
19
+ * <h3 class="text-lg font-semibold mb-4">Modal Title</h3>
20
+ * <p class="ty-text- mb-4">Modal content here</p>
21
+ * <ty-button onclick="this.closest('ty-modal').hide()">
22
+ * Close
23
+ * </ty-button>
24
+ * </div>
25
+ * </ty-modal>
26
+ */
27
+ import { lockScroll, unlockScroll } from '../utils/scroll-lock.js';
28
+ import { ensureStyles } from '../utils/styles.js';
29
+ import { modalStyles } from '../styles/modal.js';
30
+ // ============================================================================
31
+ // WeakMaps for State Management
32
+ // ============================================================================
33
+ const backdropClickHandlers = new WeakMap();
34
+ const escapeKeyHandlers = new WeakMap();
35
+ const closeButtonHandlers = new WeakMap();
36
+ const hoverEnterHandlers = new WeakMap();
37
+ const hoverLeaveHandlers = new WeakMap();
38
+ const modalIds = new WeakMap(); // Store unique modal ID for scroll locking
39
+ // ============================================================================
40
+ // Constants
41
+ // ============================================================================
42
+ /**
43
+ * SVG icon for the close button (Lucide X icon)
44
+ */
45
+ const CLOSE_ICON = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>`;
46
+ // ============================================================================
47
+ // Helper Functions
48
+ // ============================================================================
49
+ /**
50
+ * Parse boolean attribute
51
+ * Boolean attribute semantics: presence -> true, explicit 'false' -> false
52
+ * Matches ClojureScript implementation
53
+ */
54
+ function parseBoolAttr(el, name) {
55
+ if (!el.hasAttribute(name)) {
56
+ return false;
57
+ }
58
+ const value = el.getAttribute(name);
59
+ // Explicit "false" string means false
60
+ if (value !== null && value.toLowerCase() === 'false') {
61
+ return false;
62
+ }
63
+ // Attribute present (even empty) means true
64
+ return true;
65
+ }
66
+ /**
67
+ * Read modal attributes with defaults
68
+ */
69
+ function getModalAttributes(el) {
70
+ return {
71
+ open: parseBoolAttr(el, 'open'),
72
+ backdrop: el.hasAttribute('backdrop') ? parseBoolAttr(el, 'backdrop') : true,
73
+ closeOnOutsideClick: el.hasAttribute('close-on-outside-click')
74
+ ? parseBoolAttr(el, 'close-on-outside-click')
75
+ : true,
76
+ closeOnEscape: el.hasAttribute('close-on-escape')
77
+ ? parseBoolAttr(el, 'close-on-escape')
78
+ : true,
79
+ protected: parseBoolAttr(el, 'protected'),
80
+ };
81
+ }
82
+ /**
83
+ * Get the modal dialog element from shadow root
84
+ */
85
+ function getModalDialog(shadowRoot) {
86
+ return shadowRoot.querySelector('.ty-modal-dialog');
87
+ }
88
+ /**
89
+ * Get or create a unique modal ID for scroll locking
90
+ */
91
+ function getModalId(el) {
92
+ let id = modalIds.get(el);
93
+ if (!id) {
94
+ id = `modal-${el.id || Math.random().toString(36).substr(2, 9)}`;
95
+ modalIds.set(el, id);
96
+ }
97
+ return id;
98
+ }
99
+ /**
100
+ * Check if device is mobile (for hover behavior)
101
+ */
102
+ function isMobile() {
103
+ return window.innerWidth < 768 || navigator.maxTouchPoints > 0;
104
+ }
105
+ /**
106
+ * Dispatch custom modal event
107
+ */
108
+ function dispatchModalEvent(el, eventType, detail) {
109
+ const event = new CustomEvent(eventType, {
110
+ detail,
111
+ bubbles: true,
112
+ cancelable: true,
113
+ });
114
+ el.dispatchEvent(event);
115
+ }
116
+ // ============================================================================
117
+ // Dialog Structure Creation
118
+ // ============================================================================
119
+ /**
120
+ * Ensure the internal dialog structure exists in shadow DOM
121
+ */
122
+ function ensureInternalDialog(shadowRoot) {
123
+ let dialog = getModalDialog(shadowRoot);
124
+ if (!dialog) {
125
+ dialog = document.createElement('dialog');
126
+ const closeButton = document.createElement('button');
127
+ const contentDiv = document.createElement('div');
128
+ const slot = document.createElement('slot');
129
+ // Setup dialog structure
130
+ dialog.className = 'ty-modal-dialog';
131
+ // Setup close button with SVG icon
132
+ closeButton.className = 'close-button';
133
+ closeButton.type = 'button';
134
+ closeButton.setAttribute('aria-label', 'Close modal');
135
+ closeButton.innerHTML = CLOSE_ICON;
136
+ // Setup content container
137
+ contentDiv.className = 'modal-content';
138
+ contentDiv.appendChild(slot);
139
+ // Assemble: dialog > [close-button, content-div]
140
+ dialog.appendChild(closeButton);
141
+ dialog.appendChild(contentDiv);
142
+ shadowRoot.appendChild(dialog);
143
+ }
144
+ return dialog;
145
+ }
146
+ // ============================================================================
147
+ // Event Handlers
148
+ // ============================================================================
149
+ /**
150
+ * Close modal with protection check
151
+ */
152
+ function closeModal(el) {
153
+ const { protected: isProtected } = getModalAttributes(el);
154
+ const shadowRoot = el.shadowRoot;
155
+ const dialog = shadowRoot ? getModalDialog(shadowRoot) : null;
156
+ if (!dialog || !dialog.open)
157
+ return;
158
+ // Check if protected mode is enabled
159
+ if (isProtected) {
160
+ const confirmed = confirm('You have unsaved changes. Are you sure you want to close?');
161
+ if (!confirmed)
162
+ return;
163
+ }
164
+ // Remove open attribute
165
+ el.removeAttribute('open');
166
+ }
167
+ /**
168
+ * Open modal programmatically
169
+ */
170
+ function openModal(el) {
171
+ el.setAttribute('open', 'true');
172
+ }
173
+ /**
174
+ * Handle backdrop click
175
+ */
176
+ function handleBackdropClick(el, event) {
177
+ event.stopPropagation();
178
+ const shadowRoot = el.shadowRoot;
179
+ const dialog = shadowRoot ? getModalDialog(shadowRoot) : null;
180
+ // Only close if clicking on dialog backdrop (not content)
181
+ if (dialog && event.target === dialog) {
182
+ event.preventDefault();
183
+ closeModal(el);
184
+ }
185
+ }
186
+ /**
187
+ * Handle escape key press
188
+ */
189
+ function handleEscapeKey(el, event) {
190
+ event.stopPropagation();
191
+ if (event.key === 'Escape') {
192
+ event.preventDefault();
193
+ closeModal(el);
194
+ }
195
+ }
196
+ /**
197
+ * Handle close button click
198
+ */
199
+ function handleCloseButtonClick(el, event) {
200
+ event.preventDefault();
201
+ event.stopPropagation();
202
+ closeModal(el);
203
+ }
204
+ /**
205
+ * Handle hover enter on modal content (hide close button)
206
+ */
207
+ function handleHoverEnter(_el, event) {
208
+ const content = event.currentTarget;
209
+ const dialog = content.closest('.ty-modal-dialog');
210
+ if (dialog) {
211
+ const closeButton = dialog.querySelector('.close-button');
212
+ if (closeButton) {
213
+ closeButton.classList.add('hide');
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Handle hover leave on modal content (show close button)
219
+ */
220
+ function handleHoverLeave(_el, event) {
221
+ const content = event.currentTarget;
222
+ const dialog = content.closest('.ty-modal-dialog');
223
+ if (dialog) {
224
+ const closeButton = dialog.querySelector('.close-button');
225
+ if (closeButton) {
226
+ closeButton.classList.remove('hide');
227
+ }
228
+ }
229
+ }
230
+ /**
231
+ * Setup backdrop click handling
232
+ */
233
+ function setupBackdropClick(el, dialog, enabled) {
234
+ // Remove existing listener
235
+ const existingHandler = backdropClickHandlers.get(el);
236
+ if (existingHandler) {
237
+ dialog.removeEventListener('click', existingHandler);
238
+ backdropClickHandlers.delete(el);
239
+ }
240
+ // Add new listener if enabled
241
+ if (enabled) {
242
+ const handler = (e) => handleBackdropClick(el, e);
243
+ backdropClickHandlers.set(el, handler);
244
+ dialog.addEventListener('click', handler);
245
+ }
246
+ }
247
+ /**
248
+ * Setup escape key handling
249
+ */
250
+ function setupEscapeKey(el, dialog, enabled) {
251
+ // Remove existing listener
252
+ const existingHandler = escapeKeyHandlers.get(el);
253
+ if (existingHandler) {
254
+ dialog.removeEventListener('keydown', existingHandler);
255
+ escapeKeyHandlers.delete(el);
256
+ }
257
+ // Add new listener if enabled
258
+ if (enabled) {
259
+ const handler = (e) => handleEscapeKey(el, e);
260
+ escapeKeyHandlers.set(el, handler);
261
+ dialog.addEventListener('keydown', handler);
262
+ }
263
+ }
264
+ /**
265
+ * Setup close button click handling and visibility
266
+ */
267
+ function setupCloseButton(el, dialog, showButton) {
268
+ const closeButton = dialog.querySelector('.close-button');
269
+ if (!closeButton)
270
+ return;
271
+ // Show or hide close button based on close-on-outside-click setting
272
+ if (showButton) {
273
+ closeButton.style.display = '';
274
+ }
275
+ else {
276
+ closeButton.style.display = 'none';
277
+ }
278
+ // Remove existing listener
279
+ const existingHandler = closeButtonHandlers.get(el);
280
+ if (existingHandler) {
281
+ closeButton.removeEventListener('click', existingHandler);
282
+ closeButtonHandlers.delete(el);
283
+ }
284
+ // Add click listener only if button is visible
285
+ if (showButton) {
286
+ const handler = (e) => handleCloseButtonClick(el, e);
287
+ closeButtonHandlers.set(el, handler);
288
+ closeButton.addEventListener('click', handler);
289
+ }
290
+ }
291
+ /**
292
+ * Setup close button hover handlers (desktop only)
293
+ */
294
+ function setupCloseButtonHover(el, dialog) {
295
+ const modalContent = dialog.querySelector('.modal-content');
296
+ if (!modalContent)
297
+ return;
298
+ // Remove existing listeners
299
+ const existingEnterHandler = hoverEnterHandlers.get(el);
300
+ const existingLeaveHandler = hoverLeaveHandlers.get(el);
301
+ if (existingEnterHandler) {
302
+ modalContent.removeEventListener('mouseenter', existingEnterHandler);
303
+ hoverEnterHandlers.delete(el);
304
+ }
305
+ if (existingLeaveHandler) {
306
+ modalContent.removeEventListener('mouseleave', existingLeaveHandler);
307
+ hoverLeaveHandlers.delete(el);
308
+ }
309
+ // Add hover listeners only on desktop
310
+ if (!isMobile()) {
311
+ const enterHandler = (e) => handleHoverEnter(el, e);
312
+ const leaveHandler = (e) => handleHoverLeave(el, e);
313
+ hoverEnterHandlers.set(el, enterHandler);
314
+ hoverLeaveHandlers.set(el, leaveHandler);
315
+ modalContent.addEventListener('mouseenter', enterHandler);
316
+ modalContent.addEventListener('mouseleave', leaveHandler);
317
+ }
318
+ }
319
+ // ============================================================================
320
+ // Core Render Function
321
+ // ============================================================================
322
+ /**
323
+ * Render the modal structure and sync state
324
+ */
325
+ function render(el) {
326
+ const shadowRoot = el.shadowRoot;
327
+ if (!shadowRoot)
328
+ return;
329
+ const attributes = getModalAttributes(el);
330
+ const dialog = ensureInternalDialog(shadowRoot);
331
+ const modalId = getModalId(el);
332
+ // Ensure styles are loaded
333
+ ensureStyles(shadowRoot, { css: modalStyles, id: 'ty-modal' });
334
+ // Apply dialog class
335
+ dialog.className = 'ty-modal-dialog';
336
+ // Apply backdrop attribute
337
+ if (attributes.backdrop) {
338
+ dialog.setAttribute('data-backdrop', 'true');
339
+ }
340
+ else {
341
+ dialog.removeAttribute('data-backdrop');
342
+ }
343
+ // Setup event handlers
344
+ setupBackdropClick(el, dialog, attributes.closeOnOutsideClick);
345
+ setupEscapeKey(el, dialog, attributes.closeOnEscape);
346
+ setupCloseButton(el, dialog, attributes.closeOnOutsideClick);
347
+ setupCloseButtonHover(el, dialog);
348
+ // Sync open state with native dialog
349
+ if (attributes.open) {
350
+ if (!dialog.open) {
351
+ // Lock scroll
352
+ lockScroll(modalId);
353
+ // Show dialog
354
+ if (attributes.backdrop) {
355
+ dialog.showModal();
356
+ }
357
+ else {
358
+ dialog.show();
359
+ }
360
+ // Dispatch open event
361
+ dispatchModalEvent(el, 'open', {});
362
+ }
363
+ }
364
+ else {
365
+ if (dialog.open) {
366
+ // Unlock scroll
367
+ unlockScroll(modalId);
368
+ // Close dialog
369
+ dialog.close();
370
+ // Dispatch close event
371
+ dispatchModalEvent(el, 'close', {
372
+ reason: 'programmatic'
373
+ });
374
+ }
375
+ }
376
+ // Handle dialog's native close event
377
+ dialog.onclose = () => {
378
+ // Ensure scroll is unlocked
379
+ unlockScroll(modalId);
380
+ // Sync the open attribute
381
+ if (el.hasAttribute('open')) {
382
+ el.removeAttribute('open');
383
+ dispatchModalEvent(el, 'close', {
384
+ reason: 'native',
385
+ returnValue: dialog.returnValue || undefined
386
+ });
387
+ }
388
+ };
389
+ }
390
+ /**
391
+ * Cleanup all resources when component disconnects
392
+ */
393
+ function cleanup(el) {
394
+ const modalId = modalIds.get(el);
395
+ const shadowRoot = el.shadowRoot;
396
+ const dialog = shadowRoot ? getModalDialog(shadowRoot) : null;
397
+ // Force unlock scroll if modal removed while open
398
+ if (modalId) {
399
+ unlockScroll(modalId);
400
+ modalIds.delete(el);
401
+ }
402
+ if (!dialog)
403
+ return;
404
+ // Cleanup backdrop click handler
405
+ const backdropHandler = backdropClickHandlers.get(el);
406
+ if (backdropHandler) {
407
+ dialog.removeEventListener('click', backdropHandler);
408
+ backdropClickHandlers.delete(el);
409
+ }
410
+ // Cleanup escape key handler
411
+ const escapeHandler = escapeKeyHandlers.get(el);
412
+ if (escapeHandler) {
413
+ dialog.removeEventListener('keydown', escapeHandler);
414
+ escapeKeyHandlers.delete(el);
415
+ }
416
+ // Cleanup close button handler
417
+ const closeButton = dialog.querySelector('.close-button');
418
+ if (closeButton) {
419
+ const closeHandler = closeButtonHandlers.get(el);
420
+ if (closeHandler) {
421
+ closeButton.removeEventListener('click', closeHandler);
422
+ closeButtonHandlers.delete(el);
423
+ }
424
+ }
425
+ // Cleanup hover handlers
426
+ const modalContent = dialog.querySelector('.modal-content');
427
+ if (modalContent) {
428
+ const enterHandler = hoverEnterHandlers.get(el);
429
+ const leaveHandler = hoverLeaveHandlers.get(el);
430
+ if (enterHandler) {
431
+ modalContent.removeEventListener('mouseenter', enterHandler);
432
+ hoverEnterHandlers.delete(el);
433
+ }
434
+ if (leaveHandler) {
435
+ modalContent.removeEventListener('mouseleave', leaveHandler);
436
+ hoverLeaveHandlers.delete(el);
437
+ }
438
+ }
439
+ }
440
+ // ============================================================================
441
+ // Component Definition
442
+ // ============================================================================
443
+ /**
444
+ * TyModal Web Component
445
+ */
446
+ export class TyModal extends HTMLElement {
447
+ /** Observed attributes */
448
+ static get observedAttributes() {
449
+ return ['open', 'backdrop', 'close-on-outside-click', 'close-on-escape', 'protected'];
450
+ }
451
+ constructor() {
452
+ super();
453
+ this.attachShadow({ mode: 'open' });
454
+ }
455
+ connectedCallback() {
456
+ render(this);
457
+ // Add public API methods
458
+ this.show = () => openModal(this);
459
+ this.hide = () => closeModal(this);
460
+ }
461
+ disconnectedCallback() {
462
+ cleanup(this);
463
+ }
464
+ attributeChangedCallback(_name, _oldValue, _newValue) {
465
+ // Re-render on attribute changes
466
+ render(this);
467
+ }
468
+ }
469
+ // Register the custom element
470
+ if (!customElements.get('ty-modal')) {
471
+ customElements.define('ty-modal', TyModal);
472
+ }
473
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"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"}