@diwacopilot/components 1.2.0 → 1.2.2

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 (944) hide show
  1. package/README.md +4 -0
  2. package/dist/cjs/{checkbox-mark-06d56fe2.js → checkbox-mark-CtRWZxo8.js} +0 -2
  3. package/dist/cjs/diwa-accordion.cjs.entry.js +2 -6
  4. package/dist/cjs/diwa-badge.cjs.entry.js +2 -6
  5. package/dist/cjs/diwa-button-pure.cjs.entry.js +2 -6
  6. package/dist/cjs/diwa-button.cjs.entry.js +2 -6
  7. package/dist/cjs/diwa-checkbox.cjs.entry.js +6 -8
  8. package/dist/cjs/diwa-components.cjs.js +7 -10
  9. package/dist/cjs/diwa-divider.cjs.entry.js +1 -5
  10. package/dist/cjs/diwa-flyout.cjs.entry.js +5 -7
  11. package/dist/cjs/diwa-heading.cjs.entry.js +1 -5
  12. package/dist/cjs/diwa-icon.cjs.entry.js +553 -557
  13. package/dist/cjs/diwa-inline-notification.cjs.entry.js +1 -5
  14. package/dist/cjs/diwa-input-date.cjs.entry.js +3 -7
  15. package/dist/cjs/diwa-input-email.cjs.entry.js +3 -7
  16. package/dist/cjs/diwa-input-month.cjs.entry.js +3 -7
  17. package/dist/cjs/diwa-input-number.cjs.entry.js +3 -7
  18. package/dist/cjs/diwa-input-password.cjs.entry.js +3 -7
  19. package/dist/cjs/diwa-input-search.cjs.entry.js +3 -7
  20. package/dist/cjs/diwa-input-tel.cjs.entry.js +3 -7
  21. package/dist/cjs/diwa-input-text.cjs.entry.js +3 -7
  22. package/dist/cjs/diwa-input-time.cjs.entry.js +3 -7
  23. package/dist/cjs/diwa-input-url.cjs.entry.js +3 -7
  24. package/dist/cjs/diwa-input-week.cjs.entry.js +3 -7
  25. package/dist/cjs/diwa-input.cjs.entry.js +2 -6
  26. package/dist/cjs/diwa-link-pure.cjs.entry.js +2 -6
  27. package/dist/cjs/diwa-link.cjs.entry.js +2 -6
  28. package/dist/cjs/diwa-modal.cjs.entry.js +5 -7
  29. package/dist/cjs/diwa-multi-select-option.cjs.entry.js +12 -10
  30. package/dist/cjs/diwa-multi-select.cjs.entry.js +14 -10
  31. package/dist/cjs/diwa-pagination.cjs.entry.js +2 -6
  32. package/dist/cjs/diwa-pin-code.cjs.entry.js +2 -6
  33. package/dist/cjs/diwa-popover.cjs.entry.js +2 -6
  34. package/dist/cjs/diwa-radio-group-item.cjs.entry.js +5 -7
  35. package/dist/cjs/diwa-radio-group.cjs.entry.js +1 -5
  36. package/dist/cjs/diwa-scroller.cjs.entry.js +2 -6
  37. package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +2 -6
  38. package/dist/cjs/diwa-segmented-control.cjs.entry.js +1 -5
  39. package/dist/cjs/diwa-select-option.cjs.entry.js +2 -6
  40. package/dist/cjs/diwa-select.cjs.entry.js +14 -10
  41. package/dist/cjs/diwa-spinner.cjs.entry.js +3 -7
  42. package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js +1 -5
  43. package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js +4 -6
  44. package/dist/cjs/diwa-switch.cjs.entry.js +2 -6
  45. package/dist/cjs/diwa-table-body.cjs.entry.js +1 -5
  46. package/dist/cjs/diwa-table-cell.cjs.entry.js +1 -5
  47. package/dist/cjs/diwa-table-head-cell.cjs.entry.js +1 -5
  48. package/dist/cjs/diwa-table-head.cjs.entry.js +1 -5
  49. package/dist/cjs/diwa-table-row.cjs.entry.js +1 -5
  50. package/dist/cjs/diwa-table.cjs.entry.js +1 -5
  51. package/dist/cjs/diwa-tabs-bar.cjs.entry.js +5 -7
  52. package/dist/cjs/diwa-tabs-item.cjs.entry.js +1 -5
  53. package/dist/cjs/diwa-tabs.cjs.entry.js +5 -7
  54. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +2 -6
  55. package/dist/cjs/diwa-tag.cjs.entry.js +1 -5
  56. package/dist/cjs/diwa-text-list-item.cjs.entry.js +1 -5
  57. package/dist/cjs/diwa-text-list.cjs.entry.js +1 -5
  58. package/dist/cjs/diwa-text.cjs.entry.js +1 -5
  59. package/dist/cjs/diwa-textarea.cjs.entry.js +2 -6
  60. package/dist/cjs/diwa-toast-item.cjs.entry.js +2 -6
  61. package/dist/cjs/diwa-toast.cjs.entry.js +1 -5
  62. package/dist/cjs/index-Bq2UsXlc.js +1633 -0
  63. package/dist/cjs/index.cjs.js +0 -2
  64. package/dist/cjs/{input-styles-bac68ebc.js → input-styles-6kXkwbQg.js} +1 -3
  65. package/dist/cjs/{loader-circle-938f782b.js → loader-circle-ffvGKJXL.js} +0 -2
  66. package/dist/cjs/loader.cjs.js +3 -8
  67. package/dist/cjs/{styles-6342300d.js → styles-5PsdHYbv.js} +0 -2
  68. package/dist/collection/collection-manifest.json +3 -2
  69. package/dist/collection/components/diwa-accordion/diwa-accordion-styles.js +0 -1
  70. package/dist/collection/components/diwa-accordion/diwa-accordion.js +9 -8
  71. package/dist/collection/components/diwa-accordion/types.js +0 -1
  72. package/dist/collection/components/diwa-badge/diwa-badge-styles.js +0 -1
  73. package/dist/collection/components/diwa-badge/diwa-badge.js +12 -10
  74. package/dist/collection/components/diwa-badge/types.js +0 -1
  75. package/dist/collection/components/diwa-button/diwa-button-styles.js +0 -1
  76. package/dist/collection/components/diwa-button/diwa-button-utils.js +0 -1
  77. package/dist/collection/components/diwa-button/diwa-button.js +26 -23
  78. package/dist/collection/components/diwa-button/types.js +0 -1
  79. package/dist/collection/components/diwa-button-pure/diwa-button-pure-styles.js +0 -1
  80. package/dist/collection/components/diwa-button-pure/diwa-button-pure-utils.js +0 -1
  81. package/dist/collection/components/diwa-button-pure/diwa-button-pure.js +29 -26
  82. package/dist/collection/components/diwa-button-pure/types.js +0 -1
  83. package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js +0 -1
  84. package/dist/collection/components/diwa-checkbox/diwa-checkbox.js +16 -15
  85. package/dist/collection/components/diwa-checkbox/types.js +0 -1
  86. package/dist/collection/components/diwa-divider/diwa-divider-styles.js +0 -1
  87. package/dist/collection/components/diwa-divider/diwa-divider.js +6 -5
  88. package/dist/collection/components/diwa-divider/types.js +0 -1
  89. package/dist/collection/components/diwa-flyout/diwa-flyout-styles.js +0 -1
  90. package/dist/collection/components/diwa-flyout/diwa-flyout.js +11 -9
  91. package/dist/collection/components/diwa-flyout/types.js +0 -1
  92. package/dist/collection/components/diwa-heading/diwa-heading-styles.js +0 -1
  93. package/dist/collection/components/diwa-heading/diwa-heading-utils.js +0 -1
  94. package/dist/collection/components/diwa-heading/diwa-heading.js +20 -15
  95. package/dist/collection/components/diwa-heading/types.js +0 -1
  96. package/dist/collection/components/diwa-icon/diwa-icon-styles.js +0 -1
  97. package/dist/collection/components/diwa-icon/diwa-icon.js +8 -8
  98. package/dist/collection/components/diwa-icon/types.js +0 -1
  99. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js +0 -1
  100. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js +12 -11
  101. package/dist/collection/components/diwa-inline-notification/types.js +0 -1
  102. package/dist/collection/components/diwa-input/diwa-input-styles.js +0 -1
  103. package/dist/collection/components/diwa-input/diwa-input.js +25 -23
  104. package/dist/collection/components/diwa-input/input-styles.js +0 -1
  105. package/dist/collection/components/diwa-input/types.js +0 -1
  106. package/dist/collection/components/diwa-input-date/diwa-input-date-styles.js +0 -1
  107. package/dist/collection/components/diwa-input-date/diwa-input-date.js +23 -22
  108. package/dist/collection/components/diwa-input-email/diwa-input-email-styles.js +0 -1
  109. package/dist/collection/components/diwa-input-email/diwa-input-email.js +19 -18
  110. package/dist/collection/components/diwa-input-month/diwa-input-month-styles.js +0 -1
  111. package/dist/collection/components/diwa-input-month/diwa-input-month.js +23 -22
  112. package/dist/collection/components/diwa-input-number/diwa-input-number-styles.js +0 -1
  113. package/dist/collection/components/diwa-input-number/diwa-input-number.js +25 -24
  114. package/dist/collection/components/diwa-input-password/diwa-input-password-styles.js +0 -1
  115. package/dist/collection/components/diwa-input-password/diwa-input-password.js +20 -19
  116. package/dist/collection/components/diwa-input-search/diwa-input-search-styles.js +0 -1
  117. package/dist/collection/components/diwa-input-search/diwa-input-search.js +20 -19
  118. package/dist/collection/components/diwa-input-tel/diwa-input-tel-styles.js +0 -1
  119. package/dist/collection/components/diwa-input-tel/diwa-input-tel.js +19 -18
  120. package/dist/collection/components/diwa-input-text/diwa-input-text-styles.js +0 -1
  121. package/dist/collection/components/diwa-input-text/diwa-input-text.js +25 -24
  122. package/dist/collection/components/diwa-input-time/diwa-input-time-styles.js +0 -1
  123. package/dist/collection/components/diwa-input-time/diwa-input-time.js +25 -24
  124. package/dist/collection/components/diwa-input-url/diwa-input-url-styles.js +0 -1
  125. package/dist/collection/components/diwa-input-url/diwa-input-url.js +19 -18
  126. package/dist/collection/components/diwa-input-week/diwa-input-week-styles.js +0 -1
  127. package/dist/collection/components/diwa-input-week/diwa-input-week.js +23 -22
  128. package/dist/collection/components/diwa-link/diwa-link-styles.js +0 -1
  129. package/dist/collection/components/diwa-link/diwa-link.js +21 -19
  130. package/dist/collection/components/diwa-link/types.js +0 -1
  131. package/dist/collection/components/diwa-link-pure/diwa-link-pure-styles.js +0 -1
  132. package/dist/collection/components/diwa-link-pure/diwa-link-pure.js +25 -22
  133. package/dist/collection/components/diwa-link-pure/types.js +0 -1
  134. package/dist/collection/components/diwa-modal/diwa-modal-styles.js +0 -1
  135. package/dist/collection/components/diwa-modal/diwa-modal-utils.js +0 -1
  136. package/dist/collection/components/diwa-modal/diwa-modal.js +11 -10
  137. package/dist/collection/components/diwa-modal/types.js +0 -1
  138. package/dist/collection/components/diwa-multi-select/diwa-multi-select-styles.js +0 -1
  139. package/dist/collection/components/diwa-multi-select/diwa-multi-select.js +24 -20
  140. package/dist/collection/components/diwa-multi-select/types.js +0 -1
  141. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option-styles.js +0 -1
  142. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js +9 -9
  143. package/dist/collection/components/diwa-multi-select-option/types.js +0 -1
  144. package/dist/collection/components/diwa-pagination/diwa-pagination-styles.js +0 -1
  145. package/dist/collection/components/diwa-pagination/diwa-pagination-utils.js +0 -1
  146. package/dist/collection/components/diwa-pagination/diwa-pagination.js +12 -10
  147. package/dist/collection/components/diwa-pagination/types.js +0 -1
  148. package/dist/collection/components/diwa-pin-code/diwa-pin-code-styles.js +0 -1
  149. package/dist/collection/components/diwa-pin-code/diwa-pin-code.js +20 -17
  150. package/dist/collection/components/diwa-pin-code/types.js +0 -1
  151. package/dist/collection/components/diwa-popover/diwa-popover-styles.js +0 -1
  152. package/dist/collection/components/diwa-popover/diwa-popover.js +8 -7
  153. package/dist/collection/components/diwa-popover/types.js +0 -1
  154. package/dist/collection/components/diwa-radio-group/diwa-radio-group-styles.js +0 -1
  155. package/dist/collection/components/diwa-radio-group/diwa-radio-group.js +20 -17
  156. package/dist/collection/components/diwa-radio-group/types.js +0 -1
  157. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js +0 -1
  158. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js +8 -8
  159. package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js +0 -1
  160. package/dist/collection/components/diwa-scroller/diwa-scroller.js +7 -6
  161. package/dist/collection/components/diwa-scroller/types.js +0 -1
  162. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control-styles.js +0 -1
  163. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js +8 -7
  164. package/dist/collection/components/diwa-segmented-control/types.js +0 -1
  165. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.js +0 -1
  166. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js +7 -7
  167. package/dist/collection/components/diwa-select/diwa-select-styles.js +0 -1
  168. package/dist/collection/components/diwa-select/diwa-select.js +26 -22
  169. package/dist/collection/components/diwa-select/types.js +0 -1
  170. package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js +0 -1
  171. package/dist/collection/components/diwa-select-option/diwa-select-option.js +9 -9
  172. package/dist/collection/components/diwa-select-option/types.js +0 -1
  173. package/dist/collection/components/diwa-spinner/diwa-spinner-styles.js +0 -1
  174. package/dist/collection/components/diwa-spinner/diwa-spinner.js +7 -6
  175. package/dist/collection/components/diwa-spinner/types.js +0 -1
  176. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.js +0 -1
  177. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js +6 -5
  178. package/dist/collection/components/diwa-stepper-horizontal/types.js +0 -1
  179. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item-styles.js +0 -1
  180. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js +10 -9
  181. package/dist/collection/components/diwa-stepper-horizontal-item/types.js +0 -1
  182. package/dist/collection/components/diwa-switch/diwa-switch-styles.js +0 -1
  183. package/dist/collection/components/diwa-switch/diwa-switch.js +12 -10
  184. package/dist/collection/components/diwa-switch/types.js +0 -1
  185. package/dist/collection/components/diwa-table/diwa-table-styles.js +0 -1
  186. package/dist/collection/components/diwa-table/diwa-table.js +10 -9
  187. package/dist/collection/components/diwa-table-body/diwa-table-body-styles.js +0 -1
  188. package/dist/collection/components/diwa-table-body/diwa-table-body.js +3 -3
  189. package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js +0 -1
  190. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js +4 -4
  191. package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js +0 -1
  192. package/dist/collection/components/diwa-table-head/diwa-table-head.js +3 -3
  193. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js +0 -1
  194. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js +7 -6
  195. package/dist/collection/components/diwa-table-head-cell/types.js +0 -1
  196. package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js +0 -1
  197. package/dist/collection/components/diwa-table-row/diwa-table-row.js +3 -3
  198. package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js +0 -1
  199. package/dist/collection/components/diwa-tabs/diwa-tabs.js +6 -5
  200. package/dist/collection/components/diwa-tabs/types.js +0 -1
  201. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar-styles.js +0 -1
  202. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js +6 -5
  203. package/dist/collection/components/diwa-tabs-bar/types.js +0 -1
  204. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item-styles.js +0 -1
  205. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js +5 -5
  206. package/dist/collection/components/diwa-tag/diwa-tag-styles.js +0 -1
  207. package/dist/collection/components/diwa-tag/diwa-tag.js +9 -8
  208. package/dist/collection/components/diwa-tag/types.js +0 -1
  209. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js +0 -1
  210. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js +8 -7
  211. package/dist/collection/components/diwa-tag-dismissible/types.js +0 -1
  212. package/dist/collection/components/diwa-text/diwa-text-styles.js +0 -1
  213. package/dist/collection/components/diwa-text/diwa-text.js +19 -14
  214. package/dist/collection/components/diwa-text/types.js +0 -1
  215. package/dist/collection/components/diwa-text-list/diwa-text-list-styles.js +0 -1
  216. package/dist/collection/components/diwa-text-list/diwa-text-list.js +6 -5
  217. package/dist/collection/components/diwa-text-list/types.js +0 -1
  218. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item-styles.js +0 -1
  219. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js +3 -3
  220. package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js +0 -1
  221. package/dist/collection/components/diwa-textarea/diwa-textarea.js +25 -23
  222. package/dist/collection/components/diwa-textarea/types.js +0 -1
  223. package/dist/collection/components/diwa-toast/diwa-toast-manager.js +0 -1
  224. package/dist/collection/components/diwa-toast/diwa-toast-styles.js +0 -1
  225. package/dist/collection/components/diwa-toast/diwa-toast.js +5 -4
  226. package/dist/collection/components/diwa-toast/types.js +0 -1
  227. package/dist/collection/components/diwa-toast-item/diwa-toast-item-styles.js +0 -1
  228. package/dist/collection/components/diwa-toast-item/diwa-toast-item.js +7 -6
  229. package/dist/collection/components/diwa-toast-item/types.js +0 -1
  230. package/dist/collection/styles/index.js +0 -1
  231. package/dist/collection/utils/checkbox-mark.js +0 -1
  232. package/dist/collection/utils/styles.js +0 -1
  233. package/dist/diwa-components/diwa-components.esm.js +1 -2
  234. package/dist/diwa-components/index.esm.js +0 -2
  235. package/dist/diwa-components/p-0464bec9.entry.js +1 -0
  236. package/dist/diwa-components/p-0b64284f.entry.js +1 -0
  237. package/dist/diwa-components/p-1444a9ab.entry.js +1 -0
  238. package/dist/diwa-components/p-1477c011.entry.js +1 -0
  239. package/dist/diwa-components/p-1fd1e80f.entry.js +1 -0
  240. package/dist/diwa-components/p-2c91a89f.entry.js +1 -0
  241. package/dist/diwa-components/p-2df54c74.entry.js +1 -0
  242. package/dist/diwa-components/p-31a1a9d0.entry.js +1 -0
  243. package/dist/diwa-components/p-32f6f60f.entry.js +1 -0
  244. package/dist/diwa-components/p-3470cacf.entry.js +1 -0
  245. package/dist/diwa-components/p-3646d89c.entry.js +1 -0
  246. package/dist/diwa-components/p-381a9636.entry.js +1 -0
  247. package/dist/diwa-components/p-42c2e78f.entry.js +1 -0
  248. package/dist/diwa-components/p-441b5572.entry.js +20 -0
  249. package/dist/diwa-components/p-4eb10d53.entry.js +1 -0
  250. package/dist/diwa-components/p-56065aae.entry.js +1 -0
  251. package/dist/diwa-components/p-5ac35f24.entry.js +1 -0
  252. package/dist/diwa-components/p-5f3eb06c.entry.js +1 -0
  253. package/dist/diwa-components/p-5f6acee8.entry.js +1 -0
  254. package/dist/diwa-components/p-60b7d800.entry.js +1 -0
  255. package/dist/diwa-components/p-62ceff1c.entry.js +1 -0
  256. package/dist/diwa-components/p-64eba4ff.entry.js +1 -0
  257. package/dist/diwa-components/p-666a454d.entry.js +1 -0
  258. package/dist/diwa-components/p-66e52853.entry.js +1 -0
  259. package/dist/diwa-components/p-6854dbc2.entry.js +1 -0
  260. package/dist/diwa-components/p-705e3591.entry.js +1 -0
  261. package/dist/diwa-components/p-751c1cec.entry.js +1 -0
  262. package/dist/diwa-components/p-75fc7b78.entry.js +1 -0
  263. package/dist/diwa-components/p-7685a36c.entry.js +1 -0
  264. package/dist/diwa-components/p-79285ede.entry.js +1 -0
  265. package/dist/diwa-components/p-7f8b0415.entry.js +1 -0
  266. package/dist/diwa-components/p-8382b5c1.entry.js +1 -0
  267. package/dist/diwa-components/p-83f30c46.entry.js +1 -0
  268. package/dist/diwa-components/p-8935224c.entry.js +1 -0
  269. package/dist/diwa-components/p-8dc451e9.entry.js +1 -0
  270. package/dist/diwa-components/{p-878039a1.entry.js → p-90908708.entry.js} +1 -2
  271. package/dist/diwa-components/p-93c272e7.entry.js +1 -0
  272. package/dist/diwa-components/p-BwlWwC6a.js +1 -0
  273. package/dist/diwa-components/p-Bxp9mYAq.js +1 -0
  274. package/dist/{esm/loader-circle-300f00a4.js → diwa-components/p-C2RYv3Oc.js} +1 -6
  275. package/dist/diwa-components/p-C8h0Vfqp.js +1 -0
  276. package/dist/diwa-components/p-aca3021c.entry.js +1 -0
  277. package/dist/diwa-components/p-af3c7852.entry.js +1 -0
  278. package/dist/diwa-components/p-af5ea6ca.entry.js +1 -0
  279. package/dist/diwa-components/p-b6ac25e9.entry.js +1 -0
  280. package/dist/diwa-components/p-b703e5ba.entry.js +1 -0
  281. package/dist/diwa-components/p-b731e0ff.entry.js +1 -0
  282. package/dist/diwa-components/p-b8033105.entry.js +1 -0
  283. package/dist/diwa-components/p-b9405336.entry.js +1 -0
  284. package/dist/diwa-components/p-beddaf7c.entry.js +1 -0
  285. package/dist/diwa-components/p-c3f84fe0.entry.js +1 -0
  286. package/dist/diwa-components/p-c976a4f6.entry.js +1 -0
  287. package/dist/diwa-components/p-cf210625.entry.js +1 -0
  288. package/dist/diwa-components/p-d2bbb7e5.entry.js +1 -0
  289. package/dist/diwa-components/p-d5854ff6.entry.js +1 -0
  290. package/dist/diwa-components/p-da77bfd3.entry.js +1 -0
  291. package/dist/diwa-components/p-e4899408.entry.js +1 -0
  292. package/dist/diwa-components/p-e9087552.entry.js +1 -0
  293. package/dist/diwa-components/p-eecd810e.entry.js +1 -0
  294. package/dist/diwa-components/p-f1f5912b.entry.js +1 -0
  295. package/dist/diwa-components/p-f3d75c79.entry.js +1 -0
  296. package/dist/diwa-components/p-faa007fa.entry.js +1 -0
  297. package/dist/diwa-components/p-rIMpxxZG.js +2 -0
  298. package/{dist-custom-elements/p-332838f8.js → dist/esm/checkbox-mark-Bxp9mYAq.js} +0 -2
  299. package/dist/esm/diwa-accordion.entry.js +2 -4
  300. package/dist/esm/diwa-badge.entry.js +2 -4
  301. package/dist/esm/diwa-button-pure.entry.js +2 -4
  302. package/dist/esm/diwa-button.entry.js +2 -4
  303. package/dist/esm/diwa-checkbox.entry.js +6 -6
  304. package/dist/esm/diwa-components.js +5 -7
  305. package/dist/esm/diwa-divider.entry.js +1 -3
  306. package/dist/esm/diwa-flyout.entry.js +5 -5
  307. package/dist/esm/diwa-heading.entry.js +1 -3
  308. package/dist/esm/diwa-icon.entry.js +553 -555
  309. package/dist/esm/diwa-inline-notification.entry.js +1 -3
  310. package/dist/esm/diwa-input-date.entry.js +3 -5
  311. package/dist/esm/diwa-input-email.entry.js +3 -5
  312. package/dist/esm/diwa-input-month.entry.js +3 -5
  313. package/dist/esm/diwa-input-number.entry.js +3 -5
  314. package/dist/esm/diwa-input-password.entry.js +3 -5
  315. package/dist/esm/diwa-input-search.entry.js +3 -5
  316. package/dist/esm/diwa-input-tel.entry.js +3 -5
  317. package/dist/esm/diwa-input-text.entry.js +3 -5
  318. package/dist/esm/diwa-input-time.entry.js +3 -5
  319. package/dist/esm/diwa-input-url.entry.js +3 -5
  320. package/dist/esm/diwa-input-week.entry.js +3 -5
  321. package/dist/esm/diwa-input.entry.js +2 -4
  322. package/dist/esm/diwa-link-pure.entry.js +2 -4
  323. package/dist/esm/diwa-link.entry.js +2 -4
  324. package/dist/esm/diwa-modal.entry.js +5 -5
  325. package/dist/esm/diwa-multi-select-option.entry.js +12 -8
  326. package/dist/esm/diwa-multi-select.entry.js +14 -8
  327. package/dist/esm/diwa-pagination.entry.js +2 -4
  328. package/dist/esm/diwa-pin-code.entry.js +2 -4
  329. package/dist/esm/diwa-popover.entry.js +2 -4
  330. package/dist/esm/diwa-radio-group-item.entry.js +5 -5
  331. package/dist/esm/diwa-radio-group.entry.js +1 -3
  332. package/dist/esm/diwa-scroller.entry.js +2 -4
  333. package/dist/esm/diwa-segmented-control-item.entry.js +2 -4
  334. package/dist/esm/diwa-segmented-control.entry.js +1 -3
  335. package/dist/esm/diwa-select-option.entry.js +2 -4
  336. package/dist/esm/diwa-select.entry.js +14 -8
  337. package/dist/esm/diwa-spinner.entry.js +3 -5
  338. package/dist/esm/diwa-stepper-horizontal-item.entry.js +1 -3
  339. package/dist/esm/diwa-stepper-horizontal.entry.js +4 -4
  340. package/dist/esm/diwa-switch.entry.js +2 -4
  341. package/dist/esm/diwa-table-body.entry.js +1 -3
  342. package/dist/esm/diwa-table-cell.entry.js +1 -3
  343. package/dist/esm/diwa-table-head-cell.entry.js +1 -3
  344. package/dist/esm/diwa-table-head.entry.js +1 -3
  345. package/dist/esm/diwa-table-row.entry.js +1 -3
  346. package/dist/esm/diwa-table.entry.js +1 -3
  347. package/dist/esm/diwa-tabs-bar.entry.js +5 -5
  348. package/dist/esm/diwa-tabs-item.entry.js +1 -3
  349. package/dist/esm/diwa-tabs.entry.js +5 -5
  350. package/dist/esm/diwa-tag-dismissible.entry.js +2 -4
  351. package/dist/esm/diwa-tag.entry.js +1 -3
  352. package/dist/esm/diwa-text-list-item.entry.js +1 -3
  353. package/dist/esm/diwa-text-list.entry.js +1 -3
  354. package/dist/esm/diwa-text.entry.js +1 -3
  355. package/dist/esm/diwa-textarea.entry.js +2 -4
  356. package/dist/esm/diwa-toast-item.entry.js +2 -4
  357. package/dist/esm/diwa-toast.entry.js +1 -3
  358. package/dist/esm/index-rIMpxxZG.js +1622 -0
  359. package/dist/esm/index.js +0 -2
  360. package/{dist-custom-elements/p-35c7c864.js → dist/esm/input-styles-C-F9Vg7B.js} +1 -3
  361. package/{dist-custom-elements/p-ac8e14be.js → dist/esm/loader-circle-C2RYv3Oc.js} +0 -2
  362. package/dist/esm/loader.js +3 -6
  363. package/{dist-custom-elements/p-70bbb21a.js → dist/esm/styles-C8h0Vfqp.js} +1 -3
  364. package/dist/types/components.d.ts +2091 -116
  365. package/dist/types/stencil-public-runtime.d.ts +192 -12
  366. package/dist-custom-elements/diwa-accordion.js +1 -244
  367. package/dist-custom-elements/diwa-badge.js +1 -166
  368. package/dist-custom-elements/diwa-button-pure.js +1 -8
  369. package/dist-custom-elements/diwa-button.js +1 -455
  370. package/dist-custom-elements/diwa-checkbox.js +1 -315
  371. package/dist-custom-elements/diwa-divider.js +1 -85
  372. package/dist-custom-elements/diwa-flyout.js +1 -238
  373. package/dist-custom-elements/diwa-heading.js +1 -149
  374. package/dist-custom-elements/diwa-icon.js +1 -8
  375. package/dist-custom-elements/diwa-inline-notification.js +1 -214
  376. package/dist-custom-elements/diwa-input-date.js +1 -91
  377. package/dist-custom-elements/diwa-input-email.js +1 -89
  378. package/dist-custom-elements/diwa-input-month.js +1 -91
  379. package/dist-custom-elements/diwa-input-number.js +1 -92
  380. package/dist-custom-elements/diwa-input-password.js +1 -105
  381. package/dist-custom-elements/diwa-input-search.js +1 -104
  382. package/dist-custom-elements/diwa-input-tel.js +1 -89
  383. package/dist-custom-elements/diwa-input-text.js +1 -94
  384. package/dist-custom-elements/diwa-input-time.js +1 -92
  385. package/dist-custom-elements/diwa-input-url.js +1 -89
  386. package/dist-custom-elements/diwa-input-week.js +1 -91
  387. package/dist-custom-elements/diwa-input.js +1 -268
  388. package/dist-custom-elements/diwa-link-pure.js +1 -217
  389. package/dist-custom-elements/diwa-link.js +1 -258
  390. package/dist-custom-elements/diwa-modal.js +1 -431
  391. package/dist-custom-elements/diwa-multi-select-option.js +1 -199
  392. package/dist-custom-elements/diwa-multi-select.js +1 -683
  393. package/dist-custom-elements/diwa-pagination.js +1 -329
  394. package/dist-custom-elements/diwa-pin-code.js +1 -220
  395. package/dist-custom-elements/diwa-popover.js +1 -122
  396. package/dist-custom-elements/diwa-radio-group-item.js +1 -160
  397. package/dist-custom-elements/diwa-radio-group.js +1 -178
  398. package/dist-custom-elements/diwa-scroller.js +1 -185
  399. package/dist-custom-elements/diwa-segmented-control-item.js +1 -98
  400. package/dist-custom-elements/diwa-segmented-control.js +1 -88
  401. package/dist-custom-elements/diwa-select-option.js +1 -185
  402. package/dist-custom-elements/diwa-select.js +1 -614
  403. package/dist-custom-elements/diwa-spinner.js +1 -8
  404. package/dist-custom-elements/diwa-stepper-horizontal-item.js +1 -140
  405. package/dist-custom-elements/diwa-stepper-horizontal.js +1 -98
  406. package/dist-custom-elements/diwa-switch.js +1 -162
  407. package/dist-custom-elements/diwa-table-body.js +1 -44
  408. package/dist-custom-elements/diwa-table-cell.js +1 -54
  409. package/dist-custom-elements/diwa-table-head-cell.js +1 -131
  410. package/dist-custom-elements/diwa-table-head.js +1 -53
  411. package/dist-custom-elements/diwa-table-row.js +1 -48
  412. package/dist-custom-elements/diwa-table.js +1 -135
  413. package/dist-custom-elements/diwa-tabs-bar.js +1 -251
  414. package/dist-custom-elements/diwa-tabs-item.js +1 -56
  415. package/dist-custom-elements/diwa-tabs.js +1 -137
  416. package/dist-custom-elements/diwa-tag-dismissible.js +1 -132
  417. package/dist-custom-elements/diwa-tag.js +1 -118
  418. package/dist-custom-elements/diwa-text-list-item.js +1 -51
  419. package/dist-custom-elements/diwa-text-list.js +1 -67
  420. package/dist-custom-elements/diwa-text.js +1 -110
  421. package/dist-custom-elements/diwa-textarea.js +1 -191
  422. package/dist-custom-elements/diwa-toast-item.js +1 -8
  423. package/dist-custom-elements/diwa-toast.js +1 -191
  424. package/dist-custom-elements/index.js +1 -3
  425. package/dist-custom-elements/p--KdL_8_k.js +1 -0
  426. package/dist-custom-elements/p-BwlWwC6a.js +1 -0
  427. package/dist-custom-elements/p-Bxp9mYAq.js +1 -0
  428. package/{dist/diwa-components/p-ac8e14be.js → dist-custom-elements/p-C2RYv3Oc.js} +1 -2
  429. package/dist-custom-elements/p-C3hNpgqg.js +1 -0
  430. package/dist-custom-elements/p-C8h0Vfqp.js +1 -0
  431. package/dist-custom-elements/p-DOo0FY37.js +20 -0
  432. package/dist-custom-elements/p-DzqnTNg7.js +1 -0
  433. package/package.json +3 -3
  434. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  435. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  436. package/dist/cjs/checkbox-mark-06d56fe2.js.map +0 -1
  437. package/dist/cjs/diwa-accordion.cjs.entry.js.map +0 -1
  438. package/dist/cjs/diwa-badge.cjs.entry.js.map +0 -1
  439. package/dist/cjs/diwa-button-pure.cjs.entry.js.map +0 -1
  440. package/dist/cjs/diwa-button.cjs.entry.js.map +0 -1
  441. package/dist/cjs/diwa-checkbox.cjs.entry.js.map +0 -1
  442. package/dist/cjs/diwa-components.cjs.js.map +0 -1
  443. package/dist/cjs/diwa-divider.cjs.entry.js.map +0 -1
  444. package/dist/cjs/diwa-flyout.cjs.entry.js.map +0 -1
  445. package/dist/cjs/diwa-heading.cjs.entry.js.map +0 -1
  446. package/dist/cjs/diwa-icon.cjs.entry.js.map +0 -1
  447. package/dist/cjs/diwa-inline-notification.cjs.entry.js.map +0 -1
  448. package/dist/cjs/diwa-input-date.cjs.entry.js.map +0 -1
  449. package/dist/cjs/diwa-input-email.cjs.entry.js.map +0 -1
  450. package/dist/cjs/diwa-input-month.cjs.entry.js.map +0 -1
  451. package/dist/cjs/diwa-input-number.cjs.entry.js.map +0 -1
  452. package/dist/cjs/diwa-input-password.cjs.entry.js.map +0 -1
  453. package/dist/cjs/diwa-input-search.cjs.entry.js.map +0 -1
  454. package/dist/cjs/diwa-input-tel.cjs.entry.js.map +0 -1
  455. package/dist/cjs/diwa-input-text.cjs.entry.js.map +0 -1
  456. package/dist/cjs/diwa-input-time.cjs.entry.js.map +0 -1
  457. package/dist/cjs/diwa-input-url.cjs.entry.js.map +0 -1
  458. package/dist/cjs/diwa-input-week.cjs.entry.js.map +0 -1
  459. package/dist/cjs/diwa-input.cjs.entry.js.map +0 -1
  460. package/dist/cjs/diwa-link-pure.cjs.entry.js.map +0 -1
  461. package/dist/cjs/diwa-link.cjs.entry.js.map +0 -1
  462. package/dist/cjs/diwa-modal.cjs.entry.js.map +0 -1
  463. package/dist/cjs/diwa-multi-select-option.cjs.entry.js.map +0 -1
  464. package/dist/cjs/diwa-multi-select.cjs.entry.js.map +0 -1
  465. package/dist/cjs/diwa-pagination.cjs.entry.js.map +0 -1
  466. package/dist/cjs/diwa-pin-code.cjs.entry.js.map +0 -1
  467. package/dist/cjs/diwa-popover.cjs.entry.js.map +0 -1
  468. package/dist/cjs/diwa-radio-group-item.cjs.entry.js.map +0 -1
  469. package/dist/cjs/diwa-radio-group.cjs.entry.js.map +0 -1
  470. package/dist/cjs/diwa-scroller.cjs.entry.js.map +0 -1
  471. package/dist/cjs/diwa-segmented-control-item.cjs.entry.js.map +0 -1
  472. package/dist/cjs/diwa-segmented-control.cjs.entry.js.map +0 -1
  473. package/dist/cjs/diwa-select-option.cjs.entry.js.map +0 -1
  474. package/dist/cjs/diwa-select.cjs.entry.js.map +0 -1
  475. package/dist/cjs/diwa-spinner.cjs.entry.js.map +0 -1
  476. package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js.map +0 -1
  477. package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js.map +0 -1
  478. package/dist/cjs/diwa-switch.cjs.entry.js.map +0 -1
  479. package/dist/cjs/diwa-table-body.cjs.entry.js.map +0 -1
  480. package/dist/cjs/diwa-table-cell.cjs.entry.js.map +0 -1
  481. package/dist/cjs/diwa-table-head-cell.cjs.entry.js.map +0 -1
  482. package/dist/cjs/diwa-table-head.cjs.entry.js.map +0 -1
  483. package/dist/cjs/diwa-table-row.cjs.entry.js.map +0 -1
  484. package/dist/cjs/diwa-table.cjs.entry.js.map +0 -1
  485. package/dist/cjs/diwa-tabs-bar.cjs.entry.js.map +0 -1
  486. package/dist/cjs/diwa-tabs-item.cjs.entry.js.map +0 -1
  487. package/dist/cjs/diwa-tabs.cjs.entry.js.map +0 -1
  488. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js.map +0 -1
  489. package/dist/cjs/diwa-tag.cjs.entry.js.map +0 -1
  490. package/dist/cjs/diwa-text-list-item.cjs.entry.js.map +0 -1
  491. package/dist/cjs/diwa-text-list.cjs.entry.js.map +0 -1
  492. package/dist/cjs/diwa-text.cjs.entry.js.map +0 -1
  493. package/dist/cjs/diwa-textarea.cjs.entry.js.map +0 -1
  494. package/dist/cjs/diwa-toast-item.cjs.entry.js.map +0 -1
  495. package/dist/cjs/diwa-toast.cjs.entry.js.map +0 -1
  496. package/dist/cjs/index-d665fd57.js +0 -1409
  497. package/dist/cjs/index-d665fd57.js.map +0 -1
  498. package/dist/cjs/index.cjs.js.map +0 -1
  499. package/dist/cjs/input-styles-bac68ebc.js.map +0 -1
  500. package/dist/cjs/loader-circle-938f782b.js.map +0 -1
  501. package/dist/cjs/loader.cjs.js.map +0 -1
  502. package/dist/cjs/styles-6342300d.js.map +0 -1
  503. package/dist/collection/components/diwa-accordion/diwa-accordion-styles.js.map +0 -1
  504. package/dist/collection/components/diwa-accordion/diwa-accordion.js.map +0 -1
  505. package/dist/collection/components/diwa-accordion/types.js.map +0 -1
  506. package/dist/collection/components/diwa-badge/diwa-badge-styles.js.map +0 -1
  507. package/dist/collection/components/diwa-badge/diwa-badge.js.map +0 -1
  508. package/dist/collection/components/diwa-badge/types.js.map +0 -1
  509. package/dist/collection/components/diwa-button/diwa-button-styles.js.map +0 -1
  510. package/dist/collection/components/diwa-button/diwa-button-utils.js.map +0 -1
  511. package/dist/collection/components/diwa-button/diwa-button.js.map +0 -1
  512. package/dist/collection/components/diwa-button/types.js.map +0 -1
  513. package/dist/collection/components/diwa-button-pure/diwa-button-pure-styles.js.map +0 -1
  514. package/dist/collection/components/diwa-button-pure/diwa-button-pure-utils.js.map +0 -1
  515. package/dist/collection/components/diwa-button-pure/diwa-button-pure.js.map +0 -1
  516. package/dist/collection/components/diwa-button-pure/types.js.map +0 -1
  517. package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js.map +0 -1
  518. package/dist/collection/components/diwa-checkbox/diwa-checkbox.js.map +0 -1
  519. package/dist/collection/components/diwa-checkbox/types.js.map +0 -1
  520. package/dist/collection/components/diwa-divider/diwa-divider-styles.js.map +0 -1
  521. package/dist/collection/components/diwa-divider/diwa-divider.js.map +0 -1
  522. package/dist/collection/components/diwa-divider/types.js.map +0 -1
  523. package/dist/collection/components/diwa-flyout/diwa-flyout-styles.js.map +0 -1
  524. package/dist/collection/components/diwa-flyout/diwa-flyout.js.map +0 -1
  525. package/dist/collection/components/diwa-flyout/types.js.map +0 -1
  526. package/dist/collection/components/diwa-heading/diwa-heading-styles.js.map +0 -1
  527. package/dist/collection/components/diwa-heading/diwa-heading-utils.js.map +0 -1
  528. package/dist/collection/components/diwa-heading/diwa-heading.js.map +0 -1
  529. package/dist/collection/components/diwa-heading/types.js.map +0 -1
  530. package/dist/collection/components/diwa-icon/diwa-icon-styles.js.map +0 -1
  531. package/dist/collection/components/diwa-icon/diwa-icon.js.map +0 -1
  532. package/dist/collection/components/diwa-icon/types.js.map +0 -1
  533. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js.map +0 -1
  534. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js.map +0 -1
  535. package/dist/collection/components/diwa-inline-notification/types.js.map +0 -1
  536. package/dist/collection/components/diwa-input/diwa-input-styles.js.map +0 -1
  537. package/dist/collection/components/diwa-input/diwa-input.js.map +0 -1
  538. package/dist/collection/components/diwa-input/input-styles.js.map +0 -1
  539. package/dist/collection/components/diwa-input/types.js.map +0 -1
  540. package/dist/collection/components/diwa-input-date/diwa-input-date-styles.js.map +0 -1
  541. package/dist/collection/components/diwa-input-date/diwa-input-date.js.map +0 -1
  542. package/dist/collection/components/diwa-input-email/diwa-input-email-styles.js.map +0 -1
  543. package/dist/collection/components/diwa-input-email/diwa-input-email.js.map +0 -1
  544. package/dist/collection/components/diwa-input-month/diwa-input-month-styles.js.map +0 -1
  545. package/dist/collection/components/diwa-input-month/diwa-input-month.js.map +0 -1
  546. package/dist/collection/components/diwa-input-number/diwa-input-number-styles.js.map +0 -1
  547. package/dist/collection/components/diwa-input-number/diwa-input-number.js.map +0 -1
  548. package/dist/collection/components/diwa-input-password/diwa-input-password-styles.js.map +0 -1
  549. package/dist/collection/components/diwa-input-password/diwa-input-password.js.map +0 -1
  550. package/dist/collection/components/diwa-input-search/diwa-input-search-styles.js.map +0 -1
  551. package/dist/collection/components/diwa-input-search/diwa-input-search.js.map +0 -1
  552. package/dist/collection/components/diwa-input-tel/diwa-input-tel-styles.js.map +0 -1
  553. package/dist/collection/components/diwa-input-tel/diwa-input-tel.js.map +0 -1
  554. package/dist/collection/components/diwa-input-text/diwa-input-text-styles.js.map +0 -1
  555. package/dist/collection/components/diwa-input-text/diwa-input-text.js.map +0 -1
  556. package/dist/collection/components/diwa-input-time/diwa-input-time-styles.js.map +0 -1
  557. package/dist/collection/components/diwa-input-time/diwa-input-time.js.map +0 -1
  558. package/dist/collection/components/diwa-input-url/diwa-input-url-styles.js.map +0 -1
  559. package/dist/collection/components/diwa-input-url/diwa-input-url.js.map +0 -1
  560. package/dist/collection/components/diwa-input-week/diwa-input-week-styles.js.map +0 -1
  561. package/dist/collection/components/diwa-input-week/diwa-input-week.js.map +0 -1
  562. package/dist/collection/components/diwa-link/diwa-link-styles.js.map +0 -1
  563. package/dist/collection/components/diwa-link/diwa-link.js.map +0 -1
  564. package/dist/collection/components/diwa-link/types.js.map +0 -1
  565. package/dist/collection/components/diwa-link-pure/diwa-link-pure-styles.js.map +0 -1
  566. package/dist/collection/components/diwa-link-pure/diwa-link-pure.js.map +0 -1
  567. package/dist/collection/components/diwa-link-pure/types.js.map +0 -1
  568. package/dist/collection/components/diwa-modal/diwa-modal-styles.js.map +0 -1
  569. package/dist/collection/components/diwa-modal/diwa-modal-utils.js.map +0 -1
  570. package/dist/collection/components/diwa-modal/diwa-modal.js.map +0 -1
  571. package/dist/collection/components/diwa-modal/types.js.map +0 -1
  572. package/dist/collection/components/diwa-multi-select/diwa-multi-select-styles.js.map +0 -1
  573. package/dist/collection/components/diwa-multi-select/diwa-multi-select.js.map +0 -1
  574. package/dist/collection/components/diwa-multi-select/types.js.map +0 -1
  575. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option-styles.js.map +0 -1
  576. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js.map +0 -1
  577. package/dist/collection/components/diwa-multi-select-option/types.js.map +0 -1
  578. package/dist/collection/components/diwa-pagination/diwa-pagination-styles.js.map +0 -1
  579. package/dist/collection/components/diwa-pagination/diwa-pagination-utils.js.map +0 -1
  580. package/dist/collection/components/diwa-pagination/diwa-pagination.js.map +0 -1
  581. package/dist/collection/components/diwa-pagination/types.js.map +0 -1
  582. package/dist/collection/components/diwa-pin-code/diwa-pin-code-styles.js.map +0 -1
  583. package/dist/collection/components/diwa-pin-code/diwa-pin-code.js.map +0 -1
  584. package/dist/collection/components/diwa-pin-code/types.js.map +0 -1
  585. package/dist/collection/components/diwa-popover/diwa-popover-styles.js.map +0 -1
  586. package/dist/collection/components/diwa-popover/diwa-popover.js.map +0 -1
  587. package/dist/collection/components/diwa-popover/types.js.map +0 -1
  588. package/dist/collection/components/diwa-radio-group/diwa-radio-group-styles.js.map +0 -1
  589. package/dist/collection/components/diwa-radio-group/diwa-radio-group.js.map +0 -1
  590. package/dist/collection/components/diwa-radio-group/types.js.map +0 -1
  591. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js.map +0 -1
  592. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js.map +0 -1
  593. package/dist/collection/components/diwa-radio-group-item/types.js.map +0 -1
  594. package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js.map +0 -1
  595. package/dist/collection/components/diwa-scroller/diwa-scroller.js.map +0 -1
  596. package/dist/collection/components/diwa-scroller/types.js.map +0 -1
  597. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control-styles.js.map +0 -1
  598. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js.map +0 -1
  599. package/dist/collection/components/diwa-segmented-control/types.js.map +0 -1
  600. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.js.map +0 -1
  601. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js.map +0 -1
  602. package/dist/collection/components/diwa-segmented-control-item/types.js.map +0 -1
  603. package/dist/collection/components/diwa-select/diwa-select-styles.js.map +0 -1
  604. package/dist/collection/components/diwa-select/diwa-select.js.map +0 -1
  605. package/dist/collection/components/diwa-select/types.js.map +0 -1
  606. package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js.map +0 -1
  607. package/dist/collection/components/diwa-select-option/diwa-select-option.js.map +0 -1
  608. package/dist/collection/components/diwa-select-option/types.js.map +0 -1
  609. package/dist/collection/components/diwa-spinner/diwa-spinner-styles.js.map +0 -1
  610. package/dist/collection/components/diwa-spinner/diwa-spinner.js.map +0 -1
  611. package/dist/collection/components/diwa-spinner/types.js.map +0 -1
  612. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.js.map +0 -1
  613. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js.map +0 -1
  614. package/dist/collection/components/diwa-stepper-horizontal/types.js.map +0 -1
  615. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item-styles.js.map +0 -1
  616. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js.map +0 -1
  617. package/dist/collection/components/diwa-stepper-horizontal-item/types.js.map +0 -1
  618. package/dist/collection/components/diwa-switch/diwa-switch-styles.js.map +0 -1
  619. package/dist/collection/components/diwa-switch/diwa-switch.js.map +0 -1
  620. package/dist/collection/components/diwa-switch/types.js.map +0 -1
  621. package/dist/collection/components/diwa-table/diwa-table-styles.js.map +0 -1
  622. package/dist/collection/components/diwa-table/diwa-table.js.map +0 -1
  623. package/dist/collection/components/diwa-table-body/diwa-table-body-styles.js.map +0 -1
  624. package/dist/collection/components/diwa-table-body/diwa-table-body.js.map +0 -1
  625. package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js.map +0 -1
  626. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js.map +0 -1
  627. package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js.map +0 -1
  628. package/dist/collection/components/diwa-table-head/diwa-table-head.js.map +0 -1
  629. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js.map +0 -1
  630. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js.map +0 -1
  631. package/dist/collection/components/diwa-table-head-cell/types.js.map +0 -1
  632. package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js.map +0 -1
  633. package/dist/collection/components/diwa-table-row/diwa-table-row.js.map +0 -1
  634. package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js.map +0 -1
  635. package/dist/collection/components/diwa-tabs/diwa-tabs.js.map +0 -1
  636. package/dist/collection/components/diwa-tabs/types.js.map +0 -1
  637. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar-styles.js.map +0 -1
  638. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js.map +0 -1
  639. package/dist/collection/components/diwa-tabs-bar/types.js.map +0 -1
  640. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item-styles.js.map +0 -1
  641. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js.map +0 -1
  642. package/dist/collection/components/diwa-tabs-item/types.js.map +0 -1
  643. package/dist/collection/components/diwa-tag/diwa-tag-styles.js.map +0 -1
  644. package/dist/collection/components/diwa-tag/diwa-tag.js.map +0 -1
  645. package/dist/collection/components/diwa-tag/types.js.map +0 -1
  646. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js.map +0 -1
  647. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js.map +0 -1
  648. package/dist/collection/components/diwa-tag-dismissible/types.js.map +0 -1
  649. package/dist/collection/components/diwa-text/diwa-text-styles.js.map +0 -1
  650. package/dist/collection/components/diwa-text/diwa-text.js.map +0 -1
  651. package/dist/collection/components/diwa-text/types.js.map +0 -1
  652. package/dist/collection/components/diwa-text-list/diwa-text-list-styles.js.map +0 -1
  653. package/dist/collection/components/diwa-text-list/diwa-text-list.js.map +0 -1
  654. package/dist/collection/components/diwa-text-list/types.js.map +0 -1
  655. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item-styles.js.map +0 -1
  656. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js.map +0 -1
  657. package/dist/collection/components/diwa-text-list-item/types.js.map +0 -1
  658. package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js.map +0 -1
  659. package/dist/collection/components/diwa-textarea/diwa-textarea.js.map +0 -1
  660. package/dist/collection/components/diwa-textarea/types.js.map +0 -1
  661. package/dist/collection/components/diwa-toast/diwa-toast-manager.js.map +0 -1
  662. package/dist/collection/components/diwa-toast/diwa-toast-styles.js.map +0 -1
  663. package/dist/collection/components/diwa-toast/diwa-toast.js.map +0 -1
  664. package/dist/collection/components/diwa-toast/types.js.map +0 -1
  665. package/dist/collection/components/diwa-toast-item/diwa-toast-item-styles.js.map +0 -1
  666. package/dist/collection/components/diwa-toast-item/diwa-toast-item.js.map +0 -1
  667. package/dist/collection/components/diwa-toast-item/types.js.map +0 -1
  668. package/dist/collection/styles/index.js.map +0 -1
  669. package/dist/collection/utils/checkbox-mark.js.map +0 -1
  670. package/dist/collection/utils/styles.js.map +0 -1
  671. package/dist/diwa-components/diwa-components.esm.js.map +0 -1
  672. package/dist/diwa-components/index.esm.js.map +0 -1
  673. package/dist/diwa-components/p-0028e799.entry.js +0 -2
  674. package/dist/diwa-components/p-0028e799.entry.js.map +0 -1
  675. package/dist/diwa-components/p-008bdfa4.entry.js +0 -2
  676. package/dist/diwa-components/p-008bdfa4.entry.js.map +0 -1
  677. package/dist/diwa-components/p-027e5299.entry.js +0 -2
  678. package/dist/diwa-components/p-027e5299.entry.js.map +0 -1
  679. package/dist/diwa-components/p-03a4902e.entry.js +0 -2
  680. package/dist/diwa-components/p-03a4902e.entry.js.map +0 -1
  681. package/dist/diwa-components/p-05a02076.entry.js +0 -2
  682. package/dist/diwa-components/p-05a02076.entry.js.map +0 -1
  683. package/dist/diwa-components/p-090f557b.entry.js +0 -2
  684. package/dist/diwa-components/p-090f557b.entry.js.map +0 -1
  685. package/dist/diwa-components/p-0b6aa730.entry.js +0 -2
  686. package/dist/diwa-components/p-0b6aa730.entry.js.map +0 -1
  687. package/dist/diwa-components/p-0c2776f7.entry.js +0 -2
  688. package/dist/diwa-components/p-0c2776f7.entry.js.map +0 -1
  689. package/dist/diwa-components/p-11aae5f1.entry.js +0 -2
  690. package/dist/diwa-components/p-11aae5f1.entry.js.map +0 -1
  691. package/dist/diwa-components/p-13aeda0b.entry.js +0 -2
  692. package/dist/diwa-components/p-13aeda0b.entry.js.map +0 -1
  693. package/dist/diwa-components/p-145e5281.entry.js +0 -2
  694. package/dist/diwa-components/p-145e5281.entry.js.map +0 -1
  695. package/dist/diwa-components/p-20332312.entry.js +0 -2
  696. package/dist/diwa-components/p-20332312.entry.js.map +0 -1
  697. package/dist/diwa-components/p-247210ec.entry.js +0 -2
  698. package/dist/diwa-components/p-247210ec.entry.js.map +0 -1
  699. package/dist/diwa-components/p-24c10d6e.entry.js +0 -2
  700. package/dist/diwa-components/p-24c10d6e.entry.js.map +0 -1
  701. package/dist/diwa-components/p-2c3cff37.entry.js +0 -2
  702. package/dist/diwa-components/p-2c3cff37.entry.js.map +0 -1
  703. package/dist/diwa-components/p-310a22ca.entry.js +0 -2
  704. package/dist/diwa-components/p-310a22ca.entry.js.map +0 -1
  705. package/dist/diwa-components/p-332838f8.js +0 -2
  706. package/dist/diwa-components/p-332838f8.js.map +0 -1
  707. package/dist/diwa-components/p-335e06ab.entry.js +0 -2
  708. package/dist/diwa-components/p-335e06ab.entry.js.map +0 -1
  709. package/dist/diwa-components/p-33b49ced.entry.js +0 -2
  710. package/dist/diwa-components/p-33b49ced.entry.js.map +0 -1
  711. package/dist/diwa-components/p-35c7c864.js +0 -2
  712. package/dist/diwa-components/p-35c7c864.js.map +0 -1
  713. package/dist/diwa-components/p-36056450.entry.js +0 -2
  714. package/dist/diwa-components/p-36056450.entry.js.map +0 -1
  715. package/dist/diwa-components/p-3a992d7e.entry.js +0 -2
  716. package/dist/diwa-components/p-3a992d7e.entry.js.map +0 -1
  717. package/dist/diwa-components/p-3e68a752.entry.js +0 -2
  718. package/dist/diwa-components/p-3e68a752.entry.js.map +0 -1
  719. package/dist/diwa-components/p-4332671a.entry.js +0 -2
  720. package/dist/diwa-components/p-4332671a.entry.js.map +0 -1
  721. package/dist/diwa-components/p-454aa95f.entry.js +0 -2
  722. package/dist/diwa-components/p-454aa95f.entry.js.map +0 -1
  723. package/dist/diwa-components/p-46a8a0a7.entry.js +0 -2
  724. package/dist/diwa-components/p-46a8a0a7.entry.js.map +0 -1
  725. package/dist/diwa-components/p-50420bc6.entry.js +0 -10220
  726. package/dist/diwa-components/p-50420bc6.entry.js.map +0 -1
  727. package/dist/diwa-components/p-52f32ba8.entry.js +0 -2
  728. package/dist/diwa-components/p-52f32ba8.entry.js.map +0 -1
  729. package/dist/diwa-components/p-5e75b7b3.entry.js +0 -2
  730. package/dist/diwa-components/p-5e75b7b3.entry.js.map +0 -1
  731. package/dist/diwa-components/p-630b5003.entry.js +0 -2
  732. package/dist/diwa-components/p-630b5003.entry.js.map +0 -1
  733. package/dist/diwa-components/p-645e5f9a.entry.js +0 -2
  734. package/dist/diwa-components/p-645e5f9a.entry.js.map +0 -1
  735. package/dist/diwa-components/p-6dcf2862.entry.js +0 -2
  736. package/dist/diwa-components/p-6dcf2862.entry.js.map +0 -1
  737. package/dist/diwa-components/p-6f639ee0.entry.js +0 -2
  738. package/dist/diwa-components/p-6f639ee0.entry.js.map +0 -1
  739. package/dist/diwa-components/p-70bbb21a.js +0 -2
  740. package/dist/diwa-components/p-70bbb21a.js.map +0 -1
  741. package/dist/diwa-components/p-76f75cb3.entry.js +0 -2
  742. package/dist/diwa-components/p-76f75cb3.entry.js.map +0 -1
  743. package/dist/diwa-components/p-8285e16e.entry.js +0 -2
  744. package/dist/diwa-components/p-8285e16e.entry.js.map +0 -1
  745. package/dist/diwa-components/p-82be1b3a.entry.js +0 -2
  746. package/dist/diwa-components/p-82be1b3a.entry.js.map +0 -1
  747. package/dist/diwa-components/p-845b2a42.entry.js +0 -2
  748. package/dist/diwa-components/p-845b2a42.entry.js.map +0 -1
  749. package/dist/diwa-components/p-851e4c86.entry.js +0 -2
  750. package/dist/diwa-components/p-851e4c86.entry.js.map +0 -1
  751. package/dist/diwa-components/p-878039a1.entry.js.map +0 -1
  752. package/dist/diwa-components/p-887e0cb5.entry.js +0 -2
  753. package/dist/diwa-components/p-887e0cb5.entry.js.map +0 -1
  754. package/dist/diwa-components/p-8afa6931.entry.js +0 -2
  755. package/dist/diwa-components/p-8afa6931.entry.js.map +0 -1
  756. package/dist/diwa-components/p-8b210952.entry.js +0 -2
  757. package/dist/diwa-components/p-8b210952.entry.js.map +0 -1
  758. package/dist/diwa-components/p-90504a91.entry.js +0 -2
  759. package/dist/diwa-components/p-90504a91.entry.js.map +0 -1
  760. package/dist/diwa-components/p-90d0db67.entry.js +0 -2
  761. package/dist/diwa-components/p-90d0db67.entry.js.map +0 -1
  762. package/dist/diwa-components/p-a446b615.entry.js +0 -2
  763. package/dist/diwa-components/p-a446b615.entry.js.map +0 -1
  764. package/dist/diwa-components/p-ac8e14be.js.map +0 -1
  765. package/dist/diwa-components/p-b33f4993.entry.js +0 -2
  766. package/dist/diwa-components/p-b33f4993.entry.js.map +0 -1
  767. package/dist/diwa-components/p-b595f330.entry.js +0 -2
  768. package/dist/diwa-components/p-b595f330.entry.js.map +0 -1
  769. package/dist/diwa-components/p-bcc6545a.entry.js +0 -2
  770. package/dist/diwa-components/p-bcc6545a.entry.js.map +0 -1
  771. package/dist/diwa-components/p-c2557813.entry.js +0 -2
  772. package/dist/diwa-components/p-c2557813.entry.js.map +0 -1
  773. package/dist/diwa-components/p-c3535eb8.entry.js +0 -2
  774. package/dist/diwa-components/p-c3535eb8.entry.js.map +0 -1
  775. package/dist/diwa-components/p-c4083a76.entry.js +0 -2
  776. package/dist/diwa-components/p-c4083a76.entry.js.map +0 -1
  777. package/dist/diwa-components/p-c427acf5.entry.js +0 -2
  778. package/dist/diwa-components/p-c427acf5.entry.js.map +0 -1
  779. package/dist/diwa-components/p-c862863d.entry.js +0 -2
  780. package/dist/diwa-components/p-c862863d.entry.js.map +0 -1
  781. package/dist/diwa-components/p-c9ec0829.entry.js +0 -2
  782. package/dist/diwa-components/p-c9ec0829.entry.js.map +0 -1
  783. package/dist/diwa-components/p-d57421af.entry.js +0 -2
  784. package/dist/diwa-components/p-d57421af.entry.js.map +0 -1
  785. package/dist/diwa-components/p-e1255160.js +0 -2
  786. package/dist/diwa-components/p-e1255160.js.map +0 -1
  787. package/dist/diwa-components/p-e23fbe5f.entry.js +0 -2
  788. package/dist/diwa-components/p-e23fbe5f.entry.js.map +0 -1
  789. package/dist/diwa-components/p-e6f7dd21.entry.js +0 -2
  790. package/dist/diwa-components/p-e6f7dd21.entry.js.map +0 -1
  791. package/dist/diwa-components/p-ecb1eabd.entry.js +0 -2
  792. package/dist/diwa-components/p-ecb1eabd.entry.js.map +0 -1
  793. package/dist/diwa-components/p-ed4017f0.js +0 -3
  794. package/dist/diwa-components/p-ed4017f0.js.map +0 -1
  795. package/dist/diwa-components/p-f842df14.entry.js +0 -2
  796. package/dist/diwa-components/p-f842df14.entry.js.map +0 -1
  797. package/dist/diwa-components/p-fa3f0cb0.entry.js +0 -2
  798. package/dist/diwa-components/p-fa3f0cb0.entry.js.map +0 -1
  799. package/dist/esm/app-globals-0f993ce5.js +0 -5
  800. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  801. package/dist/esm/checkbox-mark-37be8b2e.js +0 -26
  802. package/dist/esm/checkbox-mark-37be8b2e.js.map +0 -1
  803. package/dist/esm/diwa-accordion.entry.js.map +0 -1
  804. package/dist/esm/diwa-badge.entry.js.map +0 -1
  805. package/dist/esm/diwa-button-pure.entry.js.map +0 -1
  806. package/dist/esm/diwa-button.entry.js.map +0 -1
  807. package/dist/esm/diwa-checkbox.entry.js.map +0 -1
  808. package/dist/esm/diwa-components.js.map +0 -1
  809. package/dist/esm/diwa-divider.entry.js.map +0 -1
  810. package/dist/esm/diwa-flyout.entry.js.map +0 -1
  811. package/dist/esm/diwa-heading.entry.js.map +0 -1
  812. package/dist/esm/diwa-icon.entry.js.map +0 -1
  813. package/dist/esm/diwa-inline-notification.entry.js.map +0 -1
  814. package/dist/esm/diwa-input-date.entry.js.map +0 -1
  815. package/dist/esm/diwa-input-email.entry.js.map +0 -1
  816. package/dist/esm/diwa-input-month.entry.js.map +0 -1
  817. package/dist/esm/diwa-input-number.entry.js.map +0 -1
  818. package/dist/esm/diwa-input-password.entry.js.map +0 -1
  819. package/dist/esm/diwa-input-search.entry.js.map +0 -1
  820. package/dist/esm/diwa-input-tel.entry.js.map +0 -1
  821. package/dist/esm/diwa-input-text.entry.js.map +0 -1
  822. package/dist/esm/diwa-input-time.entry.js.map +0 -1
  823. package/dist/esm/diwa-input-url.entry.js.map +0 -1
  824. package/dist/esm/diwa-input-week.entry.js.map +0 -1
  825. package/dist/esm/diwa-input.entry.js.map +0 -1
  826. package/dist/esm/diwa-link-pure.entry.js.map +0 -1
  827. package/dist/esm/diwa-link.entry.js.map +0 -1
  828. package/dist/esm/diwa-modal.entry.js.map +0 -1
  829. package/dist/esm/diwa-multi-select-option.entry.js.map +0 -1
  830. package/dist/esm/diwa-multi-select.entry.js.map +0 -1
  831. package/dist/esm/diwa-pagination.entry.js.map +0 -1
  832. package/dist/esm/diwa-pin-code.entry.js.map +0 -1
  833. package/dist/esm/diwa-popover.entry.js.map +0 -1
  834. package/dist/esm/diwa-radio-group-item.entry.js.map +0 -1
  835. package/dist/esm/diwa-radio-group.entry.js.map +0 -1
  836. package/dist/esm/diwa-scroller.entry.js.map +0 -1
  837. package/dist/esm/diwa-segmented-control-item.entry.js.map +0 -1
  838. package/dist/esm/diwa-segmented-control.entry.js.map +0 -1
  839. package/dist/esm/diwa-select-option.entry.js.map +0 -1
  840. package/dist/esm/diwa-select.entry.js.map +0 -1
  841. package/dist/esm/diwa-spinner.entry.js.map +0 -1
  842. package/dist/esm/diwa-stepper-horizontal-item.entry.js.map +0 -1
  843. package/dist/esm/diwa-stepper-horizontal.entry.js.map +0 -1
  844. package/dist/esm/diwa-switch.entry.js.map +0 -1
  845. package/dist/esm/diwa-table-body.entry.js.map +0 -1
  846. package/dist/esm/diwa-table-cell.entry.js.map +0 -1
  847. package/dist/esm/diwa-table-head-cell.entry.js.map +0 -1
  848. package/dist/esm/diwa-table-head.entry.js.map +0 -1
  849. package/dist/esm/diwa-table-row.entry.js.map +0 -1
  850. package/dist/esm/diwa-table.entry.js.map +0 -1
  851. package/dist/esm/diwa-tabs-bar.entry.js.map +0 -1
  852. package/dist/esm/diwa-tabs-item.entry.js.map +0 -1
  853. package/dist/esm/diwa-tabs.entry.js.map +0 -1
  854. package/dist/esm/diwa-tag-dismissible.entry.js.map +0 -1
  855. package/dist/esm/diwa-tag.entry.js.map +0 -1
  856. package/dist/esm/diwa-text-list-item.entry.js.map +0 -1
  857. package/dist/esm/diwa-text-list.entry.js.map +0 -1
  858. package/dist/esm/diwa-text.entry.js.map +0 -1
  859. package/dist/esm/diwa-textarea.entry.js.map +0 -1
  860. package/dist/esm/diwa-toast-item.entry.js.map +0 -1
  861. package/dist/esm/diwa-toast.entry.js.map +0 -1
  862. package/dist/esm/index-3fa02c74.js +0 -1379
  863. package/dist/esm/index-3fa02c74.js.map +0 -1
  864. package/dist/esm/index.js.map +0 -1
  865. package/dist/esm/input-styles-c4f4fa96.js +0 -222
  866. package/dist/esm/input-styles-c4f4fa96.js.map +0 -1
  867. package/dist/esm/loader-circle-300f00a4.js.map +0 -1
  868. package/dist/esm/loader.js.map +0 -1
  869. package/dist/esm/styles-e5a47a2d.js +0 -73
  870. package/dist/esm/styles-e5a47a2d.js.map +0 -1
  871. package/dist-custom-elements/diwa-accordion.js.map +0 -1
  872. package/dist-custom-elements/diwa-badge.js.map +0 -1
  873. package/dist-custom-elements/diwa-button-pure.js.map +0 -1
  874. package/dist-custom-elements/diwa-button.js.map +0 -1
  875. package/dist-custom-elements/diwa-checkbox.js.map +0 -1
  876. package/dist-custom-elements/diwa-divider.js.map +0 -1
  877. package/dist-custom-elements/diwa-flyout.js.map +0 -1
  878. package/dist-custom-elements/diwa-heading.js.map +0 -1
  879. package/dist-custom-elements/diwa-icon.js.map +0 -1
  880. package/dist-custom-elements/diwa-inline-notification.js.map +0 -1
  881. package/dist-custom-elements/diwa-input-date.js.map +0 -1
  882. package/dist-custom-elements/diwa-input-email.js.map +0 -1
  883. package/dist-custom-elements/diwa-input-month.js.map +0 -1
  884. package/dist-custom-elements/diwa-input-number.js.map +0 -1
  885. package/dist-custom-elements/diwa-input-password.js.map +0 -1
  886. package/dist-custom-elements/diwa-input-search.js.map +0 -1
  887. package/dist-custom-elements/diwa-input-tel.js.map +0 -1
  888. package/dist-custom-elements/diwa-input-text.js.map +0 -1
  889. package/dist-custom-elements/diwa-input-time.js.map +0 -1
  890. package/dist-custom-elements/diwa-input-url.js.map +0 -1
  891. package/dist-custom-elements/diwa-input-week.js.map +0 -1
  892. package/dist-custom-elements/diwa-input.js.map +0 -1
  893. package/dist-custom-elements/diwa-link-pure.js.map +0 -1
  894. package/dist-custom-elements/diwa-link.js.map +0 -1
  895. package/dist-custom-elements/diwa-modal.js.map +0 -1
  896. package/dist-custom-elements/diwa-multi-select-option.js.map +0 -1
  897. package/dist-custom-elements/diwa-multi-select.js.map +0 -1
  898. package/dist-custom-elements/diwa-pagination.js.map +0 -1
  899. package/dist-custom-elements/diwa-pin-code.js.map +0 -1
  900. package/dist-custom-elements/diwa-popover.js.map +0 -1
  901. package/dist-custom-elements/diwa-radio-group-item.js.map +0 -1
  902. package/dist-custom-elements/diwa-radio-group.js.map +0 -1
  903. package/dist-custom-elements/diwa-scroller.js.map +0 -1
  904. package/dist-custom-elements/diwa-segmented-control-item.js.map +0 -1
  905. package/dist-custom-elements/diwa-segmented-control.js.map +0 -1
  906. package/dist-custom-elements/diwa-select-option.js.map +0 -1
  907. package/dist-custom-elements/diwa-select.js.map +0 -1
  908. package/dist-custom-elements/diwa-spinner.js.map +0 -1
  909. package/dist-custom-elements/diwa-stepper-horizontal-item.js.map +0 -1
  910. package/dist-custom-elements/diwa-stepper-horizontal.js.map +0 -1
  911. package/dist-custom-elements/diwa-switch.js.map +0 -1
  912. package/dist-custom-elements/diwa-table-body.js.map +0 -1
  913. package/dist-custom-elements/diwa-table-cell.js.map +0 -1
  914. package/dist-custom-elements/diwa-table-head-cell.js.map +0 -1
  915. package/dist-custom-elements/diwa-table-head.js.map +0 -1
  916. package/dist-custom-elements/diwa-table-row.js.map +0 -1
  917. package/dist-custom-elements/diwa-table.js.map +0 -1
  918. package/dist-custom-elements/diwa-tabs-bar.js.map +0 -1
  919. package/dist-custom-elements/diwa-tabs-item.js.map +0 -1
  920. package/dist-custom-elements/diwa-tabs.js.map +0 -1
  921. package/dist-custom-elements/diwa-tag-dismissible.js.map +0 -1
  922. package/dist-custom-elements/diwa-tag.js.map +0 -1
  923. package/dist-custom-elements/diwa-text-list-item.js.map +0 -1
  924. package/dist-custom-elements/diwa-text-list.js.map +0 -1
  925. package/dist-custom-elements/diwa-text.js.map +0 -1
  926. package/dist-custom-elements/diwa-textarea.js.map +0 -1
  927. package/dist-custom-elements/diwa-toast-item.js.map +0 -1
  928. package/dist-custom-elements/diwa-toast.js.map +0 -1
  929. package/dist-custom-elements/index.js.map +0 -1
  930. package/dist-custom-elements/p-0e219692.js +0 -141
  931. package/dist-custom-elements/p-0e219692.js.map +0 -1
  932. package/dist-custom-elements/p-236fbbdd.js +0 -321
  933. package/dist-custom-elements/p-236fbbdd.js.map +0 -1
  934. package/dist-custom-elements/p-332838f8.js.map +0 -1
  935. package/dist-custom-elements/p-35c7c864.js.map +0 -1
  936. package/dist-custom-elements/p-3fce050e.js +0 -117
  937. package/dist-custom-elements/p-3fce050e.js.map +0 -1
  938. package/dist-custom-elements/p-473ec48f.js +0 -29213
  939. package/dist-custom-elements/p-473ec48f.js.map +0 -1
  940. package/dist-custom-elements/p-5eacc7d0.js +0 -1187
  941. package/dist-custom-elements/p-5eacc7d0.js.map +0 -1
  942. package/dist-custom-elements/p-70bbb21a.js.map +0 -1
  943. package/dist-custom-elements/p-ac8e14be.js.map +0 -1
  944. package/loader/package.json +0 -11
@@ -1,2 +0,0 @@
1
- import{r as a,c as n,h as e,H as t,g as i}from"./p-ed4017f0.js";import{g as s,a as r}from"./p-70bbb21a.js";const o=(a,n,e)=>`\n :host {\n display: inline-block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .btn {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-2);\n padding: ${e?"var(--diwa-space-1) var(--diwa-space-3)":"var(--diwa-space-2) var(--diwa-space-4)"};\n border: none;\n border-radius: calc(var(--diwa-radius-md) - var(--diwa-border-width-base));\n background: ${a?"var(--diwa-bg-elevated)":"transparent"};\n color: ${a?"var(--diwa-text-primary)":"var(--diwa-text-secondary)"};\n font-size: ${e?"var(--diwa-font-size-sm)":"var(--diwa-font-size-base)"};\n font-weight: ${a?"var(--diwa-font-weight-medium)":"var(--diwa-font-weight-normal, 400)"};\n font-family: inherit;\n cursor: ${n?"not-allowed":"pointer"};\n opacity: ${n?.4:1};\n white-space: nowrap;\n transition: background 150ms ease, color 150ms ease;\n box-shadow: ${a?"var(--diwa-shadow-sm)":"none"};\n }\n\n ${s(".btn")}\n\n .btn:hover:not(:disabled) {\n color: var(--diwa-text-primary);\n background: ${a?"var(--diwa-bg-elevated)":"var(--diwa-bg-input)"};\n }\n\n ${r(".btn")}\n`;const d=class{constructor(e){a(this,e);this.segmentSelect=n(this,"diwa-segment-select",7);this.theme="dark";this.value="";this.selected=false;this.disabled=false;this.compact=false;this.handleClick=()=>{if(this.disabled||this.selected)return;this.segmentSelect.emit({value:this.value})}}render(){return e(t,{key:"f3db1aeca532bd4acf5fa3ae0b1a4e549b60e973"},e("style",{key:"829f2b2395967cc90ac37e045e06544b96bb8658",innerHTML:o(this.selected,this.disabled,this.compact)}),e("button",{key:"e1e5836b27393ba06b76f53f7a76671bc1565d5f",class:"btn",type:"button",disabled:this.disabled,"aria-pressed":this.selected?"true":"false",onClick:this.handleClick},e("slot",{key:"6d854105c0a6f0a2787a309c9506713eab38f885"})))}static get delegatesFocus(){return true}get host(){return i(this)}};export{d as diwa_segmented_control_item};
2
- //# sourceMappingURL=p-52f32ba8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","selected","disabled","compact","getFocusStyle","getReducedMotionStyle","DiwaSegmentedControlItem","constructor","hostRef","this","theme","value","handleClick","segmentSelect","emit","render","h","Host","key","innerHTML","class","type","onClick"],"sources":["src/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.ts","src/components/diwa-segmented-control-item/diwa-segmented-control-item.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (selected: boolean, disabled: boolean, compact: boolean): string => `\r\n :host {\r\n display: inline-block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .btn {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n padding: ${compact ? 'var(--diwa-space-1) var(--diwa-space-3)' : 'var(--diwa-space-2) var(--diwa-space-4)'};\r\n border: none;\r\n border-radius: calc(var(--diwa-radius-md) - var(--diwa-border-width-base));\r\n background: ${selected ? 'var(--diwa-bg-elevated)' : 'transparent'};\r\n color: ${selected ? 'var(--diwa-text-primary)' : 'var(--diwa-text-secondary)'};\r\n font-size: ${compact ? 'var(--diwa-font-size-sm)' : 'var(--diwa-font-size-base)'};\r\n font-weight: ${selected ? 'var(--diwa-font-weight-medium)' : 'var(--diwa-font-weight-normal, 400)'};\r\n font-family: inherit;\r\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\r\n opacity: ${disabled ? 0.4 : 1};\r\n white-space: nowrap;\r\n transition: background 150ms ease, color 150ms ease;\r\n box-shadow: ${selected ? 'var(--diwa-shadow-sm)' : 'none'};\r\n }\r\n\r\n ${getFocusStyle('.btn')}\r\n\r\n .btn:hover:not(:disabled) {\r\n color: var(--diwa-text-primary);\r\n background: ${selected ? 'var(--diwa-bg-elevated)' : 'var(--diwa-bg-input)'};\r\n }\r\n\r\n ${getReducedMotionStyle('.btn')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-segmented-control-item-styles';\r\n\r\n/**\r\n * @component diwa-segmented-control-item\r\n *\r\n * A single segment used inside `diwa-segmented-control`.\r\n * The parent manages `selected`, `disabled`, and `compact` automatically.\r\n * You only need to supply `value` and label content via the default slot.\r\n *\r\n * Usage:\r\n * <diwa-segmented-control-item value=\"week\">Week</diwa-segmented-control-item>\r\n */\r\n@Component({\r\n tag: 'diwa-segmented-control-item',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSegmentedControlItem {\r\n @Element() host!: HTMLDiwaSegmentedControlItemElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** The value emitted when this segment is activated. */\r\n @Prop({ reflect: true }) value: string = '';\r\n\r\n /** Whether this segment is currently selected. Set by the parent. */\r\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\r\n\r\n /** Whether this segment is disabled. Also set by the parent when the group is disabled. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Smaller sizing. Also set by the parent when compact is enabled. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Internal event — dispatched to the parent control when clicked.\r\n * Consumers should listen to the parent's `update` event.\r\n */\r\n @Event({ bubbles: true, composed: true, eventName: 'diwa-segment-select' })\r\n segmentSelect!: EventEmitter<{ value: string }>;\r\n\r\n private handleClick = () => {\r\n if (this.disabled || this.selected) return;\r\n this.segmentSelect.emit({ value: this.value });\r\n };\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <style innerHTML={getComponentCss(this.selected, this.disabled, this.compact)} />\r\n <button\r\n class=\"btn\"\r\n type=\"button\"\r\n disabled={this.disabled}\r\n aria-pressed={this.selected ? 'true' : 'false'}\r\n onClick={this.handleClick}\r\n >\r\n <slot />\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAEO,MAAMA,EAAkB,CAACC,EAAmBC,EAAmBC,IAA6B,kRAepFA,EAAU,0CAA4C,mKAGnDF,EAAW,0BAA4B,8BAC5CA,EAAW,2BAA6B,iDACpCE,EAAU,2BAA6B,mDACrCF,EAAW,iCAAmC,kFAEnDC,EAAW,cAAgB,4BAC1BA,EAAW,GAAM,2GAGdD,EAAW,wBAA0B,qBAGnDG,EAAc,mGAIAH,EAAW,0BAA4B,qCAGrDI,EAAsB,Y,MCrBbC,EAAwB,MAJrC,WAAAC,CAAAC,G,6DAQ2BC,KAAAC,MAAe,OAGfD,KAAAE,MAAgB,GAGDF,KAAAR,SAAoB,MAGnCQ,KAAAP,SAAoB,MAGpBO,KAAAN,QAAmB,MASpCM,KAAAG,YAAc,KACpB,GAAIH,KAAKP,UAAYO,KAAKR,SAAU,OACpCQ,KAAKI,cAAcC,KAAK,CAAEH,MAAOF,KAAKE,OAAQ,C,CAGhD,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,SAAAE,IAAA,2CAAOC,UAAWnB,EAAgBS,KAAKR,SAAUQ,KAAKP,SAAUO,KAAKN,WACrEa,EAAA,UAAAE,IAAA,2CACEE,MAAM,MACNC,KAAK,SACLnB,SAAUO,KAAKP,SAAQ,eACTO,KAAKR,SAAW,OAAS,QACvCqB,QAASb,KAAKG,aAEdI,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as n,h as e,H as t,g as i}from"./p-ed4017f0.js";import{g as a,a as o}from"./p-70bbb21a.js";const s=(n,e,t,i,s,r,d,l)=>`\n\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-flex;\n position: relative;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* Stretch: fill the parent's inline axis */\n :host([stretch]) {\n display: flex;\n width: 100%;\n }\n\n /* ── Root element (<button> or <a>) ─────────────────────────────────── */\n\n .root {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-2);\n flex-direction: row; /* overridden by alignLabel=start below */\n\n background: transparent;\n border: none;\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\n margin: 0;\n cursor: pointer;\n\n font-family: inherit;\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-regular);\n line-height: 1;\n color: var(--diwa-text-primary);\n text-decoration: none;\n white-space: nowrap;\n\n -webkit-appearance: none;\n appearance: none;\n -webkit-font-smoothing: antialiased;\n\n border-radius: var(--diwa-radius-sm);\n }\n\n /* Stretch: push icon and label to opposite edges */\n :host([stretch]) .root {\n width: 100%;\n justify-content: space-between;\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────────── */\n\n ${a(".root")}\n\n /* ── Size ───────────────────────────────────────────────────────────── */\n\n :host([size="sm"]) .root {\n font-size: var(--diwa-font-size-sm);\n }\n\n :host([size="lg"]) .root {\n font-size: var(--diwa-font-size-lg);\n }\n\n /* ── Hover / Active ─────────────────────────────────────────────────── */\n\n .root:hover:not(:disabled) {\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\n\n :host([active]) .root,\n .root:active:not(:disabled) {\n background-color: var(--diwa-bg-active);\n }\n\n /* ── Disabled ───────────────────────────────────────────────────────── */\n\n :host([disabled]) .root,\n .root:disabled {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* ── Loading ────────────────────────────────────────────────────────── */\n\n :host([loading]) .root {\n cursor: wait;\n pointer-events: none;\n }\n\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\n\n :host([align-label="start"]) .root {\n flex-direction: row-reverse;\n }\n\n /* ── Underline label text ───────────────────────────────────────────── */\n\n :host([underline]) .label {\n text-decoration: underline;\n }\n\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\n\n .icon {\n display: contents;\n flex-shrink: 0;\n line-height: 0;\n }\n\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\n\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* ── Spinner ────────────────────────────────────────────────────────── */\n\n .spinner {\n /* Size relative to current font-size so it scales with the button size tier */\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n border: var(--diwa-border-width-base) solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: diwa-bp-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\n }\n\n @keyframes diwa-bp-spin {\n to { transform: rotate(360deg); }\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${o(".root",".spinner")}\n`;const r=(n,e,t,i)=>{const a={};if(t){a["aria-label"]=t}if(e){a["aria-busy"]="true"}if(i&&(n||e)){a["aria-disabled"]="true"}return a};const d=class{constructor(e){n(this,e);this.theme="dark";this.size="md";this.icon="arrow-right";this.disabled=false;this.loading=false;this.hideLabel=false;this.active=false;this.underline=false;this.alignLabel="end";this.stretch=false;this.type="button";this.handleClick=n=>{if(!this.isInteractive){n.preventDefault();n.stopPropagation()}}}get isInteractive(){return!this.disabled&&!this.loading}get iconSize(){return this.size==="sm"?14:this.size==="lg"?20:16}render(){const n=!!this.href;const i=n?"a":"button";const a=r(this.disabled,this.loading,this.label,n);const o=Object.assign({class:"root",onClick:this.handleClick},a);const d=n?{href:this.href,target:this.target,rel:this.target==="_blank"?"noopener noreferrer":undefined,tabIndex:this.disabled||this.loading?-1:undefined}:{type:this.type,name:this.name,value:this.value,disabled:this.disabled||this.loading};const l=this.icon!=="none";return e(t,{key:"c2973f6b92898d2f804ccc623ae5558b1a7a819c","data-theme":this.theme},e("style",{key:"09bdb4d13b2ccd3dcfedc19fab5335a353a8a12f",innerHTML:s()}),e(i,Object.assign({key:"9ca133bf89b66a3ee40c17012e1ace540717b5e9"},o,d,{part:"base"}),this.loading?e("span",{class:"spinner","aria-hidden":"true",part:"spinner"}):l&&e("span",{class:"icon","aria-hidden":"true"},e("diwa-icon",{name:this.icon,size:this.iconSize})),e("span",{key:"937f66a27ed22abca84415df5261808e306dea0f",class:`label${this.hideLabel?" label--hidden":""}`,part:"label"},e("slot",{key:"a3e2ae2111fe1258e380de6fc7919b40bd562bb4"}))))}static get delegatesFocus(){return true}get host(){return i(this)}};export{d as diwa_button_pure};
2
- //# sourceMappingURL=p-5e75b7b3.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","_size","_disabled","_loading","_underline","_active","_hideLabel","_alignLabel","_stretch","getFocusStyle","getReducedMotionStyle","getButtonPureAriaAttributes","disabled","loading","label","isLink","attrs","DiwaButtonPure","constructor","hostRef","this","theme","size","icon","hideLabel","active","underline","alignLabel","stretch","type","handleClick","e","isInteractive","preventDefault","stopPropagation","iconSize","render","href","Tag","ariaAttrs","commonProps","Object","assign","class","onClick","buttonProps","target","rel","undefined","tabIndex","name","value","hasIcon","h","Host","key","innerHTML","part"],"sources":["src/components/diwa-button-pure/diwa-button-pure-styles.ts","src/components/diwa-button-pure/diwa-button-pure-utils.ts","src/components/diwa-button-pure/diwa-button-pure.tsx"],"sourcesContent":["/**\r\n * diwa-button-pure-styles.ts\r\n * ===========================\r\n * CSS-in-JS styles for <diwa-button-pure>.\r\n *\r\n * A minimal, transparent button: icon + label only, no background or border.\r\n * Mirrors the PDS p-button-pure aesthetic.\r\n *\r\n * Layout rules:\r\n * alignLabel='end' (default) → icon label\r\n * alignLabel='start' → label icon (via flex-direction: row-reverse)\r\n * stretch=true → fills container width, gap between icon and label\r\n */\r\n\r\nimport type { ButtonPureSize, ButtonPureAlignLabel } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n _size: ButtonPureSize,\r\n _disabled: boolean,\r\n _loading: boolean,\r\n _underline: boolean,\r\n _active: boolean,\r\n _hideLabel: boolean,\r\n _alignLabel: ButtonPureAlignLabel,\r\n _stretch: boolean,\r\n): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-flex;\r\n position: relative;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* Stretch: fill the parent's inline axis */\r\n :host([stretch]) {\r\n display: flex;\r\n width: 100%;\r\n }\r\n\r\n /* ── Root element (<button> or <a>) ─────────────────────────────────── */\r\n\r\n .root {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n flex-direction: row; /* overridden by alignLabel=start below */\r\n\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n margin: 0;\r\n cursor: pointer;\r\n\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1;\r\n color: var(--diwa-text-primary);\r\n text-decoration: none;\r\n white-space: nowrap;\r\n\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n /* Stretch: push icon and label to opposite edges */\r\n :host([stretch]) .root {\r\n width: 100%;\r\n justify-content: space-between;\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.root')}\r\n\r\n /* ── Size ───────────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .root {\r\n font-size: var(--diwa-font-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) .root {\r\n font-size: var(--diwa-font-size-lg);\r\n }\r\n\r\n /* ── Hover / Active ─────────────────────────────────────────────────── */\r\n\r\n .root:hover:not(:disabled) {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\r\n\r\n :host([active]) .root,\r\n .root:active:not(:disabled) {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .root,\r\n .root:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Loading ────────────────────────────────────────────────────────── */\r\n\r\n :host([loading]) .root {\r\n cursor: wait;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\r\n\r\n :host([align-label=\"start\"]) .root {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n /* ── Underline label text ───────────────────────────────────────────── */\r\n\r\n :host([underline]) .label {\r\n text-decoration: underline;\r\n }\r\n\r\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\r\n\r\n .icon {\r\n display: contents;\r\n flex-shrink: 0;\r\n line-height: 0;\r\n }\r\n\r\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\r\n\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* ── Spinner ────────────────────────────────────────────────────────── */\r\n\r\n .spinner {\r\n /* Size relative to current font-size so it scales with the button size tier */\r\n width: 1em;\r\n height: 1em;\r\n flex-shrink: 0;\r\n border: var(--diwa-border-width-base) solid currentColor;\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n animation: diwa-bp-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\r\n }\r\n\r\n @keyframes diwa-bp-spin {\r\n to { transform: rotate(360deg); }\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.root', '.spinner')}\r\n`;\r\n","/**\r\n * diwa-button-pure-utils.ts\r\n * ==========================\r\n * ARIA helpers for <diwa-button-pure>.\r\n */\r\n\r\nexport interface ButtonPureAriaAttributes {\r\n 'aria-label'?: string;\r\n 'aria-busy'?: 'true';\r\n 'aria-disabled'?: 'true';\r\n}\r\n\r\nexport const getButtonPureAriaAttributes = (\r\n disabled: boolean,\r\n loading: boolean,\r\n label: string | undefined,\r\n isLink: boolean,\r\n): ButtonPureAriaAttributes => {\r\n const attrs: ButtonPureAriaAttributes = {};\r\n\r\n if (label) {\r\n attrs['aria-label'] = label;\r\n }\r\n\r\n if (loading) {\r\n attrs['aria-busy'] = 'true';\r\n }\r\n\r\n if (isLink && (disabled || loading)) {\r\n attrs['aria-disabled'] = 'true';\r\n }\r\n\r\n return attrs;\r\n};\r\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\r\nimport type { ButtonPureSize, ButtonPureAlignLabel, ButtonPureType } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from \"./diwa-button-pure-styles\";\r\nimport { getButtonPureAriaAttributes } from \"./diwa-button-pure-utils\";\r\n\r\n/**\r\n * @component diwa-button-pure\r\n *\r\n * A transparent, text+icon action button — no background or border.\r\n * Mirrors the PDS `p-button-pure` component.\r\n *\r\n * Default layout: [icon] [label] (alignLabel=\"end\")\r\n * Reversed layout: [label] [icon] (alignLabel=\"start\")\r\n * Stretched layout: [icon] ····· [label] (stretch + alignLabel=\"end\")\r\n *\r\n * Usage:\r\n * <diwa-button-pure>Read more</diwa-button-pure>\r\n * <diwa-button-pure icon=\"arrow-left\" align-label=\"start\">Back</diwa-button-pure>\r\n * <diwa-button-pure hide-label label=\"Close\" icon=\"x\" />\r\n *\r\n * @slot default — Button label text\r\n */\r\n@Component({\r\n tag: \"diwa-button-pure\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaButtonPure {\r\n @Element() host!: HTMLDiwaButtonPureElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (light / dark). */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /** Text size tier. Controls both font-size and icon size. */\r\n @Prop({ reflect: true }) size: ButtonPureSize = \"md\";\r\n\r\n /**\r\n * Lucide icon name in kebab-case (e.g. `\"arrow-right\"`, `\"star\"`), or `\"none\"`\r\n * to render with no icon. Defaults to `\"arrow-right\"` — matching PDS.\r\n */\r\n @Prop() icon: string = \"arrow-right\";\r\n\r\n /** Disabled state. Blocks all pointer and keyboard interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Loading state. Replaces the icon with a spinner, blocks interaction,\r\n * and announces aria-busy to screen readers.\r\n */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n\r\n /**\r\n * When `true`, the label slot is visually hidden (icon-only mode).\r\n * Always pair with the `label` prop for screen-reader accessible name.\r\n */\r\n @Prop({ reflect: true }) hideLabel: boolean = false;\r\n\r\n /** Forces the button into its active/pressed visual state. */\r\n @Prop({ reflect: true }) active: boolean = false;\r\n\r\n /** Adds an underline decoration to the label text. */\r\n @Prop({ reflect: true }) underline: boolean = false;\r\n\r\n /**\r\n * Controls which side the label appears on relative to the icon.\r\n * - `\"end\"` (default): [icon] [label]\r\n * - `\"start\"`: [label] [icon]\r\n */\r\n @Prop({ reflect: true }) alignLabel: ButtonPureAlignLabel = \"end\";\r\n\r\n /**\r\n * When `true`, the button stretches to fill its container and the space\r\n * between icon and label expands to fill remaining width.\r\n */\r\n @Prop({ reflect: true }) stretch: boolean = false;\r\n\r\n /** Native button type. Only applies when rendered as `<button>`. */\r\n @Prop() type: ButtonPureType = \"button\";\r\n\r\n /** Native button name — submitted with form data. */\r\n @Prop() name?: string;\r\n\r\n /** Native button value — submitted with form data. */\r\n @Prop() value?: string;\r\n\r\n /**\r\n * When set, renders as an `<a>` element (link semantics).\r\n * Pair with `target` for external links.\r\n */\r\n @Prop() href?: string;\r\n\r\n /** Link target — only meaningful when `href` is set. */\r\n @Prop() target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\r\n\r\n /**\r\n * Accessible label for icon-only buttons.\r\n * Required when `hideLabel` is `true`.\r\n */\r\n @Prop() label?: string;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get isInteractive(): boolean {\r\n return !this.disabled && !this.loading;\r\n }\r\n\r\n /** Icon pixel size scaled to the current size tier. */\r\n private get iconSize(): number {\r\n return this.size === \"sm\" ? 14 : this.size === \"lg\" ? 20 : 16;\r\n }\r\n\r\n private readonly handleClick = (e: MouseEvent): void => {\r\n if (!this.isInteractive) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const isLink = !!this.href;\r\n const Tag = isLink ? \"a\" : \"button\";\r\n\r\n const ariaAttrs = getButtonPureAriaAttributes(\r\n this.disabled,\r\n this.loading,\r\n this.label,\r\n isLink,\r\n );\r\n\r\n const commonProps = {\r\n class: \"root\",\r\n onClick: this.handleClick,\r\n ...ariaAttrs,\r\n };\r\n\r\n const buttonProps = isLink\r\n ? {\r\n href: this.href,\r\n target: this.target,\r\n rel: this.target === \"_blank\" ? \"noopener noreferrer\" : undefined,\r\n tabIndex: this.disabled || this.loading ? -1 : undefined,\r\n }\r\n : {\r\n type: this.type,\r\n name: this.name,\r\n value: this.value,\r\n disabled: this.disabled || this.loading,\r\n };\r\n\r\n const hasIcon = this.icon !== \"none\";\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.size,\r\n this.disabled,\r\n this.loading,\r\n this.underline,\r\n this.active,\r\n this.hideLabel,\r\n this.alignLabel,\r\n this.stretch,\r\n )}\r\n />\r\n\r\n <Tag {...commonProps} {...buttonProps} part=\"base\">\r\n {/* Spinner replaces the icon during loading */}\r\n {this.loading ? (\r\n <span class=\"spinner\" aria-hidden=\"true\" part=\"spinner\" />\r\n ) : (\r\n hasIcon && (\r\n <span class=\"icon\" aria-hidden=\"true\">\r\n <diwa-icon name={this.icon} size={this.iconSize} />\r\n </span>\r\n )\r\n )}\r\n\r\n {/* Label — visually hidden when hideLabel=true but kept for AT */}\r\n <span\r\n class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`}\r\n part=\"label\"\r\n >\r\n <slot />\r\n </span>\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"oGAiBO,MAAMA,EAAkB,CAC7BC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACW,m3CA0DTC,EAAc,q1EA8FdC,EAAsB,QAAS,gBCtK5B,MAAMC,EAA8B,CACzCC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAkC,GAExC,GAAIF,EAAO,CACTE,EAAM,cAAgBF,C,CAGxB,GAAID,EAAS,CACXG,EAAM,aAAe,M,CAGvB,GAAID,IAAWH,GAAYC,GAAU,CACnCG,EAAM,iBAAmB,M,CAG3B,OAAOA,CAAK,E,MCLDC,EAAc,MAJ3B,WAAAC,CAAAC,G,UAY2BC,KAAAC,MAAe,OAGfD,KAAAE,KAAuB,KAMxCF,KAAAG,KAAe,cAGEH,KAAAR,SAAoB,MAMpBQ,KAAAP,QAAmB,MAMnBO,KAAAI,UAAqB,MAGrBJ,KAAAK,OAAkB,MAGlBL,KAAAM,UAAqB,MAOrBN,KAAAO,WAAmC,MAMnCP,KAAAQ,QAAmB,MAGpCR,KAAAS,KAAuB,SAoCdT,KAAAU,YAAeC,IAC9B,IAAKX,KAAKY,cAAe,CACvBD,EAAEE,iBACFF,EAAEG,iB,GAZN,iBAAYF,GACV,OAAQZ,KAAKR,WAAaQ,KAAKP,O,CAIjC,YAAYsB,GACV,OAAOf,KAAKE,OAAS,KAAO,GAAKF,KAAKE,OAAS,KAAO,GAAK,E,CAc7D,MAAAc,GACE,MAAMrB,IAAWK,KAAKiB,KACtB,MAAMC,EAAMvB,EAAS,IAAM,SAE3B,MAAMwB,EAAY5B,EAChBS,KAAKR,SACLQ,KAAKP,QACLO,KAAKN,MACLC,GAGF,MAAMyB,EAAWC,OAAAC,OAAA,CACfC,MAAO,OACPC,QAASxB,KAAKU,aACXS,GAGL,MAAMM,EAAc9B,EAChB,CACEsB,KAAMjB,KAAKiB,KACXS,OAAQ1B,KAAK0B,OACbC,IAAK3B,KAAK0B,SAAW,SAAW,sBAAwBE,UACxDC,SAAU7B,KAAKR,UAAYQ,KAAKP,SAAW,EAAImC,WAEjD,CACEnB,KAAMT,KAAKS,KACXqB,KAAM9B,KAAK8B,KACXC,MAAO/B,KAAK+B,MACZvC,SAAUQ,KAAKR,UAAYQ,KAAKP,SAGtC,MAAMuC,EAAUhC,KAAKG,OAAS,OAE9B,OACE8B,EAACC,EAAI,CAAAC,IAAA,wDAAanC,KAAKC,OACrBgC,EAAA,SAAAE,IAAA,2CACEC,UAAWxD,MAYbqD,EAACf,EAAGG,OAAAC,OAAA,CAAAa,IAAA,4CAAKf,EAAiBK,EAAW,CAAEY,KAAK,SAEzCrC,KAAKP,QACJwC,EAAA,QAAMV,MAAM,UAAS,cAAa,OAAOc,KAAK,YAE9CL,GACEC,EAAA,QAAMV,MAAM,OAAM,cAAa,QAC7BU,EAAA,aAAWH,KAAM9B,KAAKG,KAAMD,KAAMF,KAAKe,YAM7CkB,EAAA,QAAAE,IAAA,2CACEZ,MAAO,QAAQvB,KAAKI,UAAY,iBAAmB,KACnDiC,KAAK,SAELJ,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as n,h as e,H as a,g as i}from"./p-ed4017f0.js";import{a as r}from"./p-70bbb21a.js";const o=()=>`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n color: var(--diwa-text-primary);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .bar {\n display: flex;\n align-items: stretch;\n gap: 0;\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n .bar::-webkit-scrollbar {\n display: none;\n }\n\n ::slotted(a),\n ::slotted(button) {\n /* !important guards against light-DOM author styles (e.g. Tailwind preflight\n padding: 0 on button) overriding ::slotted() rules per the CSS shadow-DOM\n cascade spec where light-DOM author styles win over ::slotted(). */\n display: inline-flex !important;\n align-items: center;\n min-height: var(--diwa-touch-target-min-size, 44px) !important;\n gap: var(--diwa-space-2);\n padding: var(--diwa-space-4) var(--diwa-space-7) !important;\n border: none !important;\n border-bottom: var(--diwa-border-width-base) solid transparent !important;\n background: transparent !important;\n color: var(--diwa-text-secondary) !important;\n font-size: var(--diwa-font-size-base) !important;\n font-family: inherit !important;\n font-weight: var(--diwa-font-weight-medium) !important;\n text-decoration: none !important;\n white-space: nowrap !important;\n cursor: pointer !important;\n transition:\n color var(--diwa-transition-base),\n border-color var(--diwa-transition-base);\n margin-bottom: -1px;\n outline: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ::slotted(a:hover),\n ::slotted(button:hover) {\n color: var(--diwa-text-primary) !important;\n }\n }\n\n ::slotted(a[data-active]),\n ::slotted(button[data-active]),\n ::slotted(a.active),\n ::slotted(button.active),\n ::slotted([aria-selected="true"]) {\n color: var(--diwa-accent) !important;\n border-bottom-color: var(--diwa-accent) !important;\n font-weight: var(--diwa-font-weight-medium) !important;\n }\n\n ::slotted(a:focus-visible),\n ::slotted(button:focus-visible) {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: var(--diwa-focus-ring-offset);\n }\n\n ::slotted(a:focus:not(:focus-visible)),\n ::slotted(button:focus:not(:focus-visible)) {\n outline: none;\n }\n\n ::slotted(button:disabled) {\n background: transparent !important;\n color: var(--diwa-text-muted) !important;\n opacity: 0.5 !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n }\n\n ${r("::slotted(a)","::slotted(button)")}\n`;const s=class{constructor(e){t(this,e);this.update=n(this,"update",1);this.theme="dark";this.activeTabIndex=0}handleIndexChange(){this.syncTabs()}componentDidLoad(){this.syncTabs()}handleClick(t){const n=this.getTabElements();const e=this.getTabIndexFromEventTarget(t.target,n);if(e===-1||e===this.activeTabIndex||this.isTabDisabled(n[e])){return}this.setActiveTab(e)}handleKeydown(t){var n;const e=this.getTabElements();const a=this.getTabIndexFromEventTarget(t.target,e);if(a===-1){return}let i=-1;switch(t.key){case"ArrowLeft":case"ArrowUp":i=this.getNextEnabledIndex(a,-1,e);break;case"ArrowRight":case"ArrowDown":i=this.getNextEnabledIndex(a,1,e);break;case"Home":i=this.getBoundaryEnabledIndex("start",e);break;case"End":i=this.getBoundaryEnabledIndex("end",e);break;default:return}if(i===-1){return}t.preventDefault();this.setActiveTab(i);(n=e[i])===null||n===void 0?void 0:n.focus()}getTabElements(){var t;const n=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");if(!n)return[];return n.assignedElements({flatten:true}).filter((t=>t instanceof HTMLElement))}getTabIndexFromEventTarget(t,n){if(!(t instanceof Node)){return-1}return n.findIndex((n=>n===t||n.contains(t)))}isTabDisabled(t){if(!t){return true}return t.hasAttribute("disabled")||t.getAttribute("aria-disabled")==="true"}getNextEnabledIndex(t,n,e){for(let a=1;a<=e.length;a+=1){const i=(t+n*a+e.length)%e.length;if(!this.isTabDisabled(e[i])){return i}}return-1}getBoundaryEnabledIndex(t,n){const e=t==="start"?n:[...n].reverse();const a=e.find((t=>!this.isTabDisabled(t)));if(!a){return-1}return n.indexOf(a)}setActiveTab(t){this.activeTabIndex=t;this.update.emit({activeTabIndex:this.activeTabIndex});this.syncTabs()}syncTabs(){const t=this.getTabElements();t.forEach(((t,n)=>{const e=n===this.activeTabIndex;t.setAttribute("role","tab");t.setAttribute("aria-selected",e?"true":"false");if(this.isTabDisabled(t)){t.setAttribute("aria-disabled","true");t.setAttribute("tabindex","-1");t.removeAttribute("data-active");return}t.removeAttribute("aria-disabled");if(e){t.setAttribute("data-active","");t.setAttribute("tabindex","0")}else{t.removeAttribute("data-active");t.setAttribute("tabindex","-1")}}))}render(){return e(a,{key:"b7928b347830dfeb7ad98d5a6b75c19969913c11",role:"tablist","data-theme":this.theme},e("style",{key:"8dbf7f2a0bfc3078e936e36bcb05d732b59138a3",innerHTML:o()}),e("div",{key:"a86af72d154d26b7d60a46d04ce593d969e385d1",class:"bar"},e("slot",{key:"18a056c3d26fe95185da2e9662dd1efd0de086fa"})))}get host(){return i(this)}static get watchers(){return{activeTabIndex:["handleIndexChange"]}}};export{s as diwa_tabs_bar};
2
- //# sourceMappingURL=p-630b5003.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","getReducedMotionStyle","DiwaTabsBar","constructor","hostRef","this","theme","activeTabIndex","handleIndexChange","syncTabs","componentDidLoad","handleClick","event","tabs","getTabElements","idx","getTabIndexFromEventTarget","target","isTabDisabled","setActiveTab","handleKeydown","currentIndex","nextIndex","key","getNextEnabledIndex","getBoundaryEnabledIndex","preventDefault","_a","focus","slot","host","shadowRoot","querySelector","assignedElements","flatten","filter","el","HTMLElement","Node","findIndex","tab","contains","hasAttribute","getAttribute","direction","step","length","candidateIndex","edge","candidates","reverse","match","find","indexOf","index","update","emit","forEach","i","isActive","setAttribute","removeAttribute","render","h","Host","role","innerHTML","class"],"sources":["src/components/diwa-tabs-bar/diwa-tabs-bar-styles.ts","src/components/diwa-tabs-bar/diwa-tabs-bar.tsx"],"sourcesContent":["import { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n color: var(--diwa-text-primary);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .bar {\r\n display: flex;\r\n align-items: stretch;\r\n gap: 0;\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n overflow-x: auto;\r\n scrollbar-width: none;\r\n }\r\n\r\n .bar::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ::slotted(a),\n ::slotted(button) {\n /* !important guards against light-DOM author styles (e.g. Tailwind preflight\r\n padding: 0 on button) overriding ::slotted() rules per the CSS shadow-DOM\r\n cascade spec where light-DOM author styles win over ::slotted(). */\r\n display: inline-flex !important;\n align-items: center;\n min-height: var(--diwa-touch-target-min-size, 44px) !important;\n gap: var(--diwa-space-2);\n padding: var(--diwa-space-4) var(--diwa-space-7) !important;\r\n border: none !important;\r\n border-bottom: var(--diwa-border-width-base) solid transparent !important;\r\n background: transparent !important;\r\n color: var(--diwa-text-secondary) !important;\r\n font-size: var(--diwa-font-size-base) !important;\r\n font-family: inherit !important;\r\n font-weight: var(--diwa-font-weight-medium) !important;\r\n text-decoration: none !important;\r\n white-space: nowrap !important;\r\n cursor: pointer !important;\r\n transition:\r\n color var(--diwa-transition-base),\r\n border-color var(--diwa-transition-base);\r\n margin-bottom: -1px;\r\n outline: none;\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\n ::slotted(a:hover),\n ::slotted(button:hover) {\n color: var(--diwa-text-primary) !important;\n }\n }\n\r\n ::slotted(a[data-active]),\r\n ::slotted(button[data-active]),\r\n ::slotted(a.active),\r\n ::slotted(button.active),\r\n ::slotted([aria-selected=\"true\"]) {\r\n color: var(--diwa-accent) !important;\r\n border-bottom-color: var(--diwa-accent) !important;\r\n font-weight: var(--diwa-font-weight-medium) !important;\r\n }\r\n\r\n ::slotted(a:focus-visible),\r\n ::slotted(button:focus-visible) {\r\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\r\n outline-offset: var(--diwa-focus-ring-offset);\r\n }\r\n\r\n ::slotted(a:focus:not(:focus-visible)),\r\n ::slotted(button:focus:not(:focus-visible)) {\r\n outline: none;\r\n }\r\n\r\n ::slotted(button:disabled) {\r\n background: transparent !important;\r\n color: var(--diwa-text-muted) !important;\r\n opacity: 0.5 !important;\r\n cursor: not-allowed !important;\r\n pointer-events: none !important;\r\n }\r\n\r\n ${getReducedMotionStyle('::slotted(a)', '::slotted(button)')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Listen, Prop, Watch, h } from '@stencil/core';\r\nimport type { TabsBarUpdateEventDetail } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-tabs-bar-styles';\r\n\r\n/**\r\n * @component diwa-tabs-bar\r\n *\r\n * A styled tab navigation bar. Accepts `<a>` or `<button>` elements in the\r\n * default slot and tracks the active index. Mark the active tab with the\r\n * `data-active` attribute or the `active` CSS class, or let the component\r\n * manage it by providing `activeTabIndex`.\r\n *\r\n * Usage:\r\n * <diwa-tabs-bar active-tab-index={1} onupdate={e => setTab(e.detail.activeTabIndex)}>\r\n * <button>Tab 1</button>\r\n * <button>Tab 2</button>\r\n * <button>Tab 3</button>\r\n * </diwa-tabs-bar>\r\n */\r\n@Component({\r\n tag: 'diwa-tabs-bar',\r\n shadow: true,\r\n})\r\nexport class DiwaTabsBar {\r\n @Element() host!: HTMLDiwaTabsBarElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Zero-based index of the active tab. */\r\n @Prop({ mutable: true, attribute: 'active-tab-index' })\r\n activeTabIndex: number = 0;\r\n\r\n /**\r\n * Emitted when the active tab changes.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<TabsBarUpdateEventDetail>;\r\n\r\n @Watch('activeTabIndex')\r\n handleIndexChange() {\r\n this.syncTabs();\r\n }\r\n\r\n componentDidLoad() {\r\n this.syncTabs();\r\n }\r\n\r\n @Listen('click')\r\n handleClick(event: Event) {\r\n const tabs = this.getTabElements();\r\n const idx = this.getTabIndexFromEventTarget(event.target, tabs);\r\n\r\n if (idx === -1 || idx === this.activeTabIndex || this.isTabDisabled(tabs[idx])) {\r\n return;\r\n }\r\n\r\n this.setActiveTab(idx);\r\n }\r\n\r\n @Listen('keydown')\r\n handleKeydown(event: KeyboardEvent) {\r\n const tabs = this.getTabElements();\r\n const currentIndex = this.getTabIndexFromEventTarget(event.target, tabs);\r\n\r\n if (currentIndex === -1) {\r\n return;\r\n }\r\n\r\n let nextIndex = -1;\r\n\r\n switch (event.key) {\r\n case 'ArrowLeft':\r\n case 'ArrowUp':\r\n nextIndex = this.getNextEnabledIndex(currentIndex, -1, tabs);\r\n break;\r\n case 'ArrowRight':\r\n case 'ArrowDown':\r\n nextIndex = this.getNextEnabledIndex(currentIndex, 1, tabs);\r\n break;\r\n case 'Home':\r\n nextIndex = this.getBoundaryEnabledIndex('start', tabs);\r\n break;\r\n case 'End':\r\n nextIndex = this.getBoundaryEnabledIndex('end', tabs);\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n if (nextIndex === -1) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n this.setActiveTab(nextIndex);\r\n tabs[nextIndex]?.focus();\r\n }\r\n\r\n private getTabElements(): HTMLElement[] {\r\n const slot = this.host.shadowRoot?.querySelector('slot') as HTMLSlotElement | null;\r\n if (!slot) return [];\r\n return slot\r\n .assignedElements({ flatten: true })\r\n .filter((el): el is HTMLElement => el instanceof HTMLElement);\r\n }\r\n\r\n private getTabIndexFromEventTarget(target: EventTarget | null, tabs: HTMLElement[]): number {\r\n if (!(target instanceof Node)) {\r\n return -1;\r\n }\r\n\r\n return tabs.findIndex((tab) => tab === target || tab.contains(target));\r\n }\r\n\r\n private isTabDisabled(tab: HTMLElement | undefined): boolean {\r\n if (!tab) {\r\n return true;\r\n }\r\n\r\n return tab.hasAttribute('disabled') || tab.getAttribute('aria-disabled') === 'true';\r\n }\r\n\r\n private getNextEnabledIndex(\r\n currentIndex: number,\r\n direction: -1 | 1,\r\n tabs: HTMLElement[],\r\n ): number {\r\n for (let step = 1; step <= tabs.length; step += 1) {\r\n const candidateIndex = (currentIndex + direction * step + tabs.length) % tabs.length;\r\n if (!this.isTabDisabled(tabs[candidateIndex])) {\r\n return candidateIndex;\r\n }\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n private getBoundaryEnabledIndex(edge: 'start' | 'end', tabs: HTMLElement[]): number {\r\n const candidates = edge === 'start' ? tabs : [...tabs].reverse();\r\n const match = candidates.find((tab) => !this.isTabDisabled(tab));\r\n\r\n if (!match) {\r\n return -1;\r\n }\r\n\r\n return tabs.indexOf(match);\r\n }\r\n\r\n private setActiveTab(index: number) {\r\n this.activeTabIndex = index;\r\n this.update.emit({ activeTabIndex: this.activeTabIndex });\r\n this.syncTabs();\r\n }\r\n\r\n private syncTabs() {\r\n const tabs = this.getTabElements();\r\n tabs.forEach((tab, i) => {\r\n const isActive = i === this.activeTabIndex;\r\n tab.setAttribute('role', 'tab');\r\n tab.setAttribute('aria-selected', isActive ? 'true' : 'false');\r\n\r\n if (this.isTabDisabled(tab)) {\r\n tab.setAttribute('aria-disabled', 'true');\r\n tab.setAttribute('tabindex', '-1');\r\n tab.removeAttribute('data-active');\r\n return;\r\n }\r\n\r\n tab.removeAttribute('aria-disabled');\r\n\r\n if (isActive) {\r\n tab.setAttribute('data-active', '');\r\n tab.setAttribute('tabindex', '0');\r\n } else {\r\n tab.removeAttribute('data-active');\r\n tab.setAttribute('tabindex', '-1');\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host role=\"tablist\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <div class=\"bar\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as s,H as i,g as e}from"./p-ed4017f0.js";const n=()=>`\n :host {\n position: fixed;\n bottom: var(--diwa-space-6);\n right: var(--diwa-space-6);\n z-index: var(--diwa-z-toast);\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--diwa-space-3);\n pointer-events: none;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n ::slotted(*) {\n pointer-events: all;\n }\n\n @media (max-width: 480px) {\n :host {\n left: var(--diwa-space-3);\n right: var(--diwa-space-3);\n bottom: var(--diwa-space-3);\n align-items: stretch;\n }\n }\n`;const a=6e3;const l=200;class o{constructor(){this.queue=[];this.current=null;this.toastEl=null;this.refreshFn=null;this.timeout=null;this.nextId=0}register(t,s){if(this.toastEl){console.error("[diwa-toast] Only one <diwa-toast> may exist per page. Multiple instances detected.");return}this.toastEl=t;this.refreshFn=s}unregister(){this.clearTimeout();this.queue=[];this.current=null;this.toastEl=null;this.refreshFn=null}addMessage(t){var s;if(!this.toastEl){console.warn("[diwa-toast] addMessage() called but no <diwa-toast> element is mounted in the page.");return}if(!((s=t.text)===null||s===void 0?void 0:s.trim())){console.warn("[diwa-toast] addMessage() called with empty text.");return}const i=Object.assign(Object.assign({state:"neutral"},t),{id:this.nextId++});if(this.current===null){this.show(i)}else{this.queue.push(i)}}dismiss(){var t;this.clearTimeout();this.current=null;(t=this.refreshFn)===null||t===void 0?void 0:t.call(this,null);setTimeout((()=>{const t=this.queue.shift();if(t){this.show(t)}}),l)}getCurrent(){return this.current}show(t){var s;this.current=t;(s=this.refreshFn)===null||s===void 0?void 0:s.call(this,t);this.scheduleTimeout(t)}scheduleTimeout(t){var s;const i=(s=t.duration)!==null&&s!==void 0?s:a;if(i>0){this.timeout=setTimeout((()=>this.dismiss()),i)}}clearTimeout(){if(this.timeout!==null){clearTimeout(this.timeout);this.timeout=null}}}const h=new o;const d=class{constructor(s){t(this,s);this.theme="dark";this.currentMsg=null}connectedCallback(){h.register(this.host,(t=>{this.currentMsg=t}))}disconnectedCallback(){h.unregister()}async addMessage(t){h.addMessage(t)}render(){var t;return s(i,{key:"f082064e5989efc9f043e55ad71a56b80eb0d8e6",role:"status","aria-live":"polite","aria-atomic":"false","data-theme":this.theme},s("style",{key:"26ba9be7c067d1fb19a43a6081334c782809d91b",innerHTML:n()}),this.currentMsg&&s("diwa-toast-item",{key:this.currentMsg.id,text:this.currentMsg.text,state:(t=this.currentMsg.state)!==null&&t!==void 0?t:"neutral",theme:this.theme,onDismiss:()=>h.dismiss()}))}get host(){return e(this)}};export{d as diwa_toast};
2
- //# sourceMappingURL=p-645e5f9a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","DEFAULT_TIMEOUT","DISMISS_DELAY","ToastManagerClass","constructor","this","queue","current","toastEl","refreshFn","timeout","nextId","register","host","console","error","unregister","clearTimeout","addMessage","message","warn","_a","text","trim","entry","Object","assign","state","id","show","push","dismiss","call","setTimeout","next","shift","getCurrent","scheduleTimeout","duration","toastManager","DiwaToast","hostRef","theme","currentMsg","connectedCallback","msg","disconnectedCallback","render","h","Host","key","role","innerHTML","onDismiss"],"sources":["src/components/diwa-toast/diwa-toast-styles.ts","src/components/diwa-toast/diwa-toast-manager.ts","src/components/diwa-toast/diwa-toast.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\n position: fixed;\n bottom: var(--diwa-space-6);\n right: var(--diwa-space-6);\n z-index: var(--diwa-z-toast);\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--diwa-space-3);\n pointer-events: none;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n ::slotted(*) {\n pointer-events: all;\n }\n\n @media (max-width: 480px) {\n :host {\n left: var(--diwa-space-3);\n right: var(--diwa-space-3);\n bottom: var(--diwa-space-3);\n align-items: stretch;\n }\n }\n`;\n","import type { ToastMessage } from './types';\r\n\r\nconst DEFAULT_TIMEOUT = 6000;\r\n/** Duration to wait after dismiss before showing the next queued message (matches slideIn animation). */\r\nconst DISMISS_DELAY = 200;\r\n\r\nexport type ToastEntry = ToastMessage & { id: number };\r\ntype RefreshFn = (entry: ToastEntry | null) => void;\r\n\r\n/**\r\n * ToastManagerClass — singleton service that owns the toast queue.\r\n *\r\n * Only one `<diwa-toast>` element may be registered at a time.\r\n * The component registers a `refreshFn` callback on `connectedCallback`\r\n * and unregisters on `disconnectedCallback`.\r\n *\r\n * Consumers call `element.addMessage()` (which delegates here) OR import\r\n * `toastManager` directly and call `toastManager.addMessage()`.\r\n */\r\nexport class ToastManagerClass {\r\n private queue: ToastEntry[] = [];\r\n private current: ToastEntry | null = null;\r\n private toastEl: HTMLElement | null = null;\r\n private refreshFn: RefreshFn | null = null;\r\n private timeout: ReturnType<typeof setTimeout> | null = null;\r\n private nextId = 0;\r\n\r\n // ── Registration ──────────────────────────────────────────────────────────\r\n\r\n register(host: HTMLElement, refreshFn: RefreshFn): void {\r\n if (this.toastEl) {\r\n console.error('[diwa-toast] Only one <diwa-toast> may exist per page. Multiple instances detected.');\r\n return;\r\n }\r\n this.toastEl = host;\r\n this.refreshFn = refreshFn;\r\n }\r\n\r\n unregister(): void {\r\n this.clearTimeout();\r\n this.queue = [];\r\n this.current = null;\r\n this.toastEl = null;\r\n this.refreshFn = null;\r\n }\r\n\r\n // ── Public API ────────────────────────────────────────────────────────────\r\n\r\n addMessage(message: ToastMessage): void {\r\n if (!this.toastEl) {\r\n console.warn('[diwa-toast] addMessage() called but no <diwa-toast> element is mounted in the page.');\r\n return;\r\n }\r\n if (!message.text?.trim()) {\r\n console.warn('[diwa-toast] addMessage() called with empty text.');\r\n return;\r\n }\r\n\r\n const entry: ToastEntry = {\r\n state: 'neutral',\r\n ...message,\r\n id: this.nextId++,\r\n };\r\n\r\n if (this.current === null) {\r\n this.show(entry);\r\n } else {\r\n this.queue.push(entry);\r\n }\r\n }\r\n\r\n dismiss(): void {\r\n this.clearTimeout();\r\n this.current = null;\r\n this.refreshFn?.(null);\r\n\r\n // Wait for the dismiss animation, then show next queued item\r\n setTimeout(() => {\r\n const next = this.queue.shift();\r\n if (next) {\r\n this.show(next);\r\n }\r\n }, DISMISS_DELAY);\r\n }\r\n\r\n getCurrent(): ToastEntry | null {\r\n return this.current;\r\n }\r\n\r\n // ── Private helpers ───────────────────────────────────────────────────────\r\n\r\n private show(entry: ToastEntry): void {\r\n this.current = entry;\r\n this.refreshFn?.(entry);\r\n this.scheduleTimeout(entry);\r\n }\r\n\r\n private scheduleTimeout(entry: ToastEntry): void {\r\n const duration = entry.duration ?? DEFAULT_TIMEOUT;\r\n if (duration > 0) {\r\n this.timeout = setTimeout(() => this.dismiss(), duration);\r\n }\r\n }\r\n\r\n private clearTimeout(): void {\r\n if (this.timeout !== null) {\r\n clearTimeout(this.timeout);\r\n this.timeout = null;\r\n }\r\n }\r\n}\r\n\r\nexport const toastManager = new ToastManagerClass();\r\n","import { Component, Element, Host, Method, Prop, State, h } from '@stencil/core';\r\nimport type { ToastMessage } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-toast-styles';\r\nimport { toastManager } from './diwa-toast-manager';\r\nimport type { ToastEntry } from './diwa-toast-manager';\r\n\r\n/**\r\n * @component diwa-toast\r\n *\r\n * Singleton container that queues and displays toast notifications one at a\r\n * time. Call `addMessage()` to enqueue a toast — only one toast is visible at\r\n * a given moment; additional messages are shown in FIFO order as each one is\r\n * dismissed or times out.\r\n *\r\n * Only one `<diwa-toast>` element should exist per page.\r\n *\r\n * Usage:\r\n * const toast = document.querySelector('diwa-toast');\r\n * toast.addMessage({ text: 'Saved!', state: 'success' });\r\n */\r\n@Component({\r\n tag: 'diwa-toast',\r\n shadow: true,\r\n})\r\nexport class DiwaToast {\r\n @Element() host!: HTMLDiwaToastElement;\r\n\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n @State() private currentMsg: ToastEntry | null = null;\r\n\r\n connectedCallback(): void {\r\n toastManager.register(this.host, (msg) => {\r\n this.currentMsg = msg;\r\n });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n toastManager.unregister();\r\n }\r\n\r\n /**\r\n * Enqueues a toast message. If no toast is currently visible it is shown\r\n * immediately; otherwise it is placed in the FIFO queue and shown after all\r\n * preceding messages have been dismissed.\r\n */\r\n @Method()\r\n async addMessage(message: ToastMessage): Promise<void> {\r\n toastManager.addMessage(message);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host role=\"status\" aria-live=\"polite\" aria-atomic=\"false\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n {this.currentMsg && (\r\n <diwa-toast-item\r\n key={this.currentMsg.id}\r\n text={this.currentMsg.text}\r\n state={this.currentMsg.state ?? 'neutral'}\r\n theme={this.theme}\r\n onDismiss={() => toastManager.dismiss()}\r\n />\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAO,MAAMA,EAAkB,IAAc,2mBCE7C,MAAMC,EAAkB,IAExB,MAAMC,EAAgB,I,MAeTC,EAAb,WAAAC,GACUC,KAAAC,MAAsB,GACtBD,KAAAE,QAA6B,KAC7BF,KAAAG,QAA8B,KAC9BH,KAAAI,UAA8B,KAC9BJ,KAAAK,QAAgD,KAChDL,KAAAM,OAAS,C,CAIjB,QAAAC,CAASC,EAAmBJ,GAC1B,GAAIJ,KAAKG,QAAS,CAChBM,QAAQC,MAAM,uFACd,M,CAEFV,KAAKG,QAAUK,EACfR,KAAKI,UAAYA,C,CAGnB,UAAAO,GACEX,KAAKY,eACLZ,KAAKC,MAAQ,GACbD,KAAKE,QAAU,KACfF,KAAKG,QAAU,KACfH,KAAKI,UAAY,I,CAKnB,UAAAS,CAAWC,G,MACT,IAAKd,KAAKG,QAAS,CACjBM,QAAQM,KAAK,wFACb,M,CAEF,MAAKC,EAAAF,EAAQG,QAAI,MAAAD,SAAA,SAAAA,EAAEE,QAAQ,CACzBT,QAAQM,KAAK,qDACb,M,CAGF,MAAMI,EAAKC,OAAAC,OAAAD,OAAAC,OAAA,CACTC,MAAO,WACJR,GAAO,CACVS,GAAIvB,KAAKM,WAGX,GAAIN,KAAKE,UAAY,KAAM,CACzBF,KAAKwB,KAAKL,E,KACL,CACLnB,KAAKC,MAAMwB,KAAKN,E,EAIpB,OAAAO,G,MACE1B,KAAKY,eACLZ,KAAKE,QAAU,MACfc,EAAAhB,KAAKI,aAAS,MAAAY,SAAA,SAAAA,EAAAW,KAAA3B,KAAG,MAGjB4B,YAAW,KACT,MAAMC,EAAO7B,KAAKC,MAAM6B,QACxB,GAAID,EAAM,CACR7B,KAAKwB,KAAKK,E,IAEXhC,E,CAGL,UAAAkC,GACE,OAAO/B,KAAKE,O,CAKN,IAAAsB,CAAKL,G,MACXnB,KAAKE,QAAUiB,GACfH,EAAAhB,KAAKI,aAAS,MAAAY,SAAA,SAAAA,EAAAW,KAAA3B,KAAGmB,GACjBnB,KAAKgC,gBAAgBb,E,CAGf,eAAAa,CAAgBb,G,MACtB,MAAMc,GAAWjB,EAAAG,EAAMc,YAAQ,MAAAjB,SAAA,EAAAA,EAAIpB,EACnC,GAAIqC,EAAW,EAAG,CAChBjC,KAAKK,QAAUuB,YAAW,IAAM5B,KAAK0B,WAAWO,E,EAI5C,YAAArB,GACN,GAAIZ,KAAKK,UAAY,KAAM,CACzBO,aAAaZ,KAAKK,SAClBL,KAAKK,QAAU,I,GAKd,MAAM6B,EAAe,IAAIpC,E,MCvFnBqC,EAAS,MAJtB,WAAApC,CAAAqC,G,UAO2BpC,KAAAqC,MAAe,OAEvBrC,KAAAsC,WAAgC,I,CAEjD,iBAAAC,GACEL,EAAa3B,SAASP,KAAKQ,MAAOgC,IAChCxC,KAAKsC,WAAaE,CAAG,G,CAIzB,oBAAAC,GACEP,EAAavB,Y,CASf,gBAAME,CAAWC,GACfoB,EAAarB,WAAWC,E,CAG1B,MAAA4B,G,MACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,SAAQ,YAAW,SAAQ,cAAa,QAAO,aAAa9C,KAAKqC,OAC1EM,EAAA,SAAAE,IAAA,2CAAOE,UAAWpD,MACjBK,KAAKsC,YACJK,EAAA,mBACEE,IAAK7C,KAAKsC,WAAWf,GACrBN,KAAMjB,KAAKsC,WAAWrB,KACtBK,OAAON,EAAAhB,KAAKsC,WAAWhB,SAAK,MAAAN,SAAA,EAAAA,EAAI,UAChCqB,MAAOrC,KAAKqC,MACZW,UAAW,IAAMd,EAAaR,Y","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as n,f as t,h as e,H as a,g as r}from"./p-ed4017f0.js";import{g as s,a as o}from"./p-70bbb21a.js";const d=(i,n,t,e,a=false)=>`\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: block;\n position: relative;\n width: 100%;\n min-width: 0;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Label ──────────────────────────────────────────────────────────── */\n\n .label {\n display: block;\n margin-bottom: var(--diwa-space-1);\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n color: var(--diwa-text-secondary);\n line-height: var(--diwa-line-height-normal);\n cursor: default;\n }\n\n :host([hide-label]) .label {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n .label__required {\n color: var(--diwa-notification-error);\n font-weight: var(--diwa-font-weight-semibold);\n margin-left: var(--diwa-space-1);\n }\n\n /* ── Description ────────────────────────────────────────────────────── */\n\n .description {\n display: block;\n margin-bottom: var(--diwa-space-2);\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-secondary);\n line-height: var(--diwa-line-height-normal);\n }\n\n /* ── Trigger ────────────────────────────────────────────────────────── */\n\n .trigger {\n display: flex;\n align-items: center;\n width: 100%;\n min-height: var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px));\n padding: 0 var(--diwa-space-3);\n box-sizing: border-box;\n gap: var(--diwa-space-2);\n\n background: var(--diwa-input-bg, var(--diwa-bg-input));\n border: var(--diwa-border-width-thin) solid var(--diwa-input-border);\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\n\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-normal);\n font-family: inherit;\n color: var(--diwa-text-primary);\n text-align: left;\n line-height: 1;\n\n cursor: pointer;\n user-select: none;\n -webkit-font-smoothing: antialiased;\n\n transition: border-color var(--diwa-transition-fast), background var(--diwa-transition-fast);\n appearance: none;\n -webkit-appearance: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n :host(:not([disabled])) .trigger:hover {\n border-color: var(--diwa-border-hover);\n }\n }\n\n ${i&&!a?".trigger { border-color: var(--diwa-border-focus); border-radius: var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)) 0 0; }":""}\n ${i&&a?".trigger { border-color: var(--diwa-border-focus); border-radius: 0 0 var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)); }":""}\n\n /* ── Focus ring on trigger itself ───────────────────────────────────── */\n\n ${s(".trigger")}\n\n /* ── Selected text ──────────────────────────────────────────────────── */\n\n .trigger__value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .trigger__placeholder {\n color: var(--diwa-text-secondary);\n }\n\n /* ── Chevron icon ───────────────────────────────────────────────────── */\n\n .trigger__chevron {\n flex-shrink: 0;\n width: var(--diwa-icon-size-md);\n height: var(--diwa-icon-size-md);\n color: var(--diwa-text-secondary);\n transition: transform var(--diwa-transition-fast);\n ${i?"transform: rotate(180deg);":""}\n }\n\n .trigger__chevron svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n /* ── Dropdown panel ─────────────────────────────────────────────────── */\n\n .dropdown {\n position: absolute;\n left: 0;\n right: 0;\n z-index: var(--diwa-z-dropdown);\n background-color: var(--diwa-bg-elevated);\n border: var(--diwa-border-width-thin) solid var(--diwa-border-focus);\n border-top: none;\n border-radius: 0 0 var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md));\n overflow: hidden;\n box-shadow: var(--diwa-shadow-lg);\n display: ${i?"block":"none"};\n }\n\n .dropdown--up {\n top: auto;\n bottom: 100%;\n border-top: var(--diwa-border-width-thin) solid var(--diwa-border-focus);\n border-bottom: none;\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)) 0 0;\n margin-bottom: -1px;\n }\n\n /* ── Filter input ───────────────────────────────────────────────────── */\n\n .filter {\n padding: var(--diwa-space-2) var(--diwa-space-2) var(--diwa-space-1);\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-input-border);\n }\n\n .filter__input {\n width: 100%;\n box-sizing: border-box;\n padding: var(--diwa-space-2) var(--diwa-space-3);\n background: var(--diwa-input-bg, var(--diwa-bg-input));\n border: var(--diwa-border-width-thin) solid var(--diwa-input-border);\n border-radius: var(--diwa-radius-sm);\n color: var(--diwa-text-primary);\n font-size: var(--diwa-font-size-sm);\n font-family: inherit;\n outline: none;\n transition: border-color var(--diwa-transition-fast);\n }\n\n .filter__input::placeholder {\n color: var(--diwa-text-secondary);\n }\n\n .filter__input:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: var(--diwa-focus-ring-offset);\n }\n\n .filter__input:focus:not(:focus-visible) {\n outline: none;\n }\n\n /* ── Options list ───────────────────────────────────────────────────── */\n\n .options {\n max-height: var(--diwa-select-dropdown-max-height);\n overflow-y: auto;\n padding: var(--diwa-space-1);\n }\n\n .options::-webkit-scrollbar {\n width: var(--diwa-scrollbar-width);\n }\n\n .options::-webkit-scrollbar-track {\n background: transparent;\n }\n\n .options::-webkit-scrollbar-thumb {\n background-color: var(--diwa-border);\n border-radius: var(--diwa-radius-sm);\n }\n\n /* ── Compact ────────────────────────────────────────────────────────── */\n\n :host([compact]) .trigger {\n min-height: var(--diwa-touch-target-min-size-compact, 32px);\n font-size: var(--diwa-font-size-md);\n padding: 0 var(--diwa-space-2);\n }\n\n /* ── States: error / success ────────────────────────────────────────── */\n\n :host([state="error"]) .trigger {\n border-color: var(--diwa-notification-error);\n }\n\n :host([state="success"]) .trigger {\n border-color: var(--diwa-notification-success);\n }\n\n /* ── Message ────────────────────────────────────────────────────────── */\n\n .message {\n display: block;\n margin-top: var(--diwa-space-1);\n font-size: var(--diwa-font-size-sm);\n line-height: var(--diwa-line-height-normal);\n color: var(--diwa-text-secondary);\n }\n\n :host([state="error"]) .message {\n color: var(--diwa-notification-error);\n }\n\n :host([state="success"]) .message {\n color: var(--diwa-notification-success);\n }\n\n /* ── Disabled ───────────────────────────────────────────────────────── */\n\n :host([disabled]) .trigger {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n :host([disabled]) .label {\n opacity: var(--diwa-opacity-disabled);\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${o(".trigger",".trigger__chevron",".filter__input")}\n`;let h=0;const c=class{constructor(t){i(this,t);this.change=n(this,"change",7);this.toggle=n(this,"toggle",3);this.blur=n(this,"blur",3);this.theme="dark";this.name="";this.state="none";this.hideLabel=false;this.disabled=false;this.required=false;this.compact=false;this.dropdownDirection="auto";this.isOpen=false;this.hasFilterResults=true;this.dropdownClass="dropdown";this.internalId=`diwa-s-${++h}`;this.options=[];this.highlightedIndex=-1;this.onClickOutside=i=>{if(!this.isOpen)return;const n=i.composedPath();if(!n.includes(this.host)){this.isOpen=false;this.blur.emit()}};this.onTriggerClick=()=>{if(this.disabled)return;this.isOpen=!this.isOpen};this.onTriggerKeyDown=i=>{if(this.disabled)return;if(!this.isOpen){if(i.key==="ArrowDown"||i.key==="ArrowUp"||i.key==="Enter"||i.key===" "){i.preventDefault();this.isOpen=true}return}switch(i.key){case"Escape":case"Tab":{i.preventDefault();this.isOpen=false;this.triggerEl.focus();break}case"ArrowDown":{i.preventDefault();const n=this.getVisibleOptions();this.highlightedIndex=Math.min(this.highlightedIndex+1,n.length-1);this.applyHighlight();break}case"ArrowUp":{i.preventDefault();this.highlightedIndex=Math.max(this.highlightedIndex-1,0);this.applyHighlight();break}case"Home":{i.preventDefault();this.highlightedIndex=0;this.applyHighlight();break}case"End":{i.preventDefault();const n=this.getVisibleOptions();this.highlightedIndex=n.length-1;this.applyHighlight();break}case"Enter":case" ":{i.preventDefault();const n=this.getVisibleOptions()[this.highlightedIndex];if(n&&!n.disabled){n.dispatchEvent(new MouseEvent("click",{bubbles:true,composed:true}))}break}}};this.onFilterInput=i=>{var n;const t=i.target.value.toLowerCase();let e=false;for(const i of this.options){const a=((n=i.textContent)!==null&&n!==void 0?n:"").toLowerCase();const r=a.includes(t);i.style.display=r?"":"none";if(r)e=true}this.hasFilterResults=e;this.highlightedIndex=0;this.applyHighlight()}}onThemeChange(){this.syncChildThemes()}onCompactChange(){this.syncChildCompact()}onValueChange(){this.syncSelectionFromValue()}onIsOpenChange(i){this.toggle.emit({open:i});if(i){this.updateDropdownDirection();this.highlightedIndex=this.getFirstHighlightIndex();this.applyHighlight();requestAnimationFrame((()=>{var i;(i=this.filterInputEl)===null||i===void 0?void 0:i.focus()}))}else{this.clearHighlight();this.highlightedIndex=-1;this.resetFilter()}}connectedCallback(){document.addEventListener("mousedown",this.onClickOutside,true)}disconnectedCallback(){document.removeEventListener("mousedown",this.onClickOutside,true)}componentDidLoad(){this.collectOptions();this.syncSelectionFromValue();this.syncChildThemes();this.syncChildCompact()}async open(){this.isOpen=true}async close(){this.isOpen=false}onOptionUpdate(i){var n;i.stopPropagation();this.value=i.detail.value;this.syncSelectionFromValue();this.change.emit({name:this.name,value:(n=this.value)!==null&&n!==void 0?n:""});this.isOpen=false;t(this.host);requestAnimationFrame((()=>{this.triggerEl.focus()}))}onSlotChange(){this.collectOptions();this.syncSelectionFromValue();this.syncChildThemes();this.syncChildCompact()}collectOptions(){this.options=Array.from(this.host.querySelectorAll("diwa-select-option"))}syncSelectionFromValue(){for(const i of this.options){const n=i.value!==undefined&&i.value===this.value;if(i.selected!==n){i.selected=n;t(i)}}}syncChildThemes(){for(const i of this.options){if(i.theme!==this.theme){i.theme=this.theme;t(i)}}}syncChildCompact(){for(const i of this.options){if(i.compact!==this.compact){i.compact=this.compact;t(i)}}}getVisibleOptions(){return this.options.filter((i=>!i.disabled&&i.style.display!=="none"))}getFirstHighlightIndex(){const i=this.getVisibleOptions();const n=i.findIndex((i=>i.selected));return n>=0?n:0}applyHighlight(){const i=this.getVisibleOptions();i.forEach(((i,n)=>{i.highlighted=n===this.highlightedIndex}))}clearHighlight(){for(const i of this.options){if(i.highlighted)i.highlighted=false}this.highlightedIndex=-1}updateDropdownDirection(){if(this.dropdownDirection!=="auto"){this.dropdownClass=this.dropdownDirection==="up"?"dropdown dropdown--up":"dropdown";return}const i=this.triggerEl.getBoundingClientRect();const n=window.innerHeight-i.bottom;this.dropdownClass=n<260?"dropdown dropdown--up":"dropdown"}resetFilter(){if(this.filterInputEl)this.filterInputEl.value="";this.hasFilterResults=true;for(const i of this.options){i.style.display=""}}get selectedLabel(){var i;const n=this.options.find((i=>i.value!==undefined&&i.value===this.value));return((i=n===null||n===void 0?void 0:n.textContent)!==null&&i!==void 0?i:"").trim()}render(){const i=`${this.internalId}-label`;const n=`${this.internalId}-listbox`;const t=`${this.internalId}-hint`;const r=!!this.message&&this.state!=="none";const s=this.value!==undefined&&this.value!=="";const o=s?this.selectedLabel:undefined;return e(a,{key:"3ddf86c6e8e2cf807768ca8b209aad8a5c8da5fc","data-theme":this.theme},e("style",{key:"c0244dc80bc55386fbb8b5a87c5130f94b287008",innerHTML:d(this.isOpen,this.disabled,this.state,this.compact,this.dropdownClass.includes("--up"))}),(this.label||this.host.querySelector('[slot="label"]'))&&e("span",{key:"8ba197493fd4514a3f53b7e8d7f64da5adc4ef39",class:"label",id:i,part:"label"},e("slot",{key:"994d35d52e2dbb6c402a0a0bea42032367aa31b9",name:"label"},this.label),this.required&&e("span",{key:"5c5c38c33bd4452270378f556204dece249b48eb",class:"label__required","aria-hidden":"true"},"*")),(this.description||this.host.querySelector('[slot="description"]'))&&e("span",{key:"addd8e741c169b88210f9b7ac93acd4450a02279",class:"description",part:"description"},e("slot",{key:"a36853c06f747e2d1e67b633ffc749881261f697",name:"description"},this.description)),e("div",{key:"8f281c76cb95f7908c258e4c268199e98bb26702",class:"trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false","aria-controls":n,"aria-labelledby":this.label?i:undefined,"aria-required":this.required?"true":undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-describedby":r?t:undefined,tabIndex:this.disabled?-1:0,onClick:this.onTriggerClick,onKeyDown:this.onTriggerKeyDown,ref:i=>this.triggerEl=i,part:"trigger"},e("span",{key:"fbf9388b481d492ae2c1a9dceca6e0144d99f7a7",class:`trigger__value${!o?" trigger__placeholder":""}`,part:"value"},o!==null&&o!==void 0?o:this.label||"Select an option"),e("span",{key:"df535dcb6ad2ab76f910fd5c04ac6138e7f3759d",class:"trigger__chevron","aria-hidden":"true",part:"chevron"},e("svg",{key:"d21f5ea814c41c59ab2b3d2abc1c14f839619f4e",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},e("polyline",{key:"08b69903e085e0ec9379bfb552dd058b293924f1",points:"6 9 12 15 18 9"})))),e("div",{key:"89f3400afb3e4ab984e42f413b0f34434155b0ff",class:this.dropdownClass,role:"listbox",id:n,"aria-multiselectable":"false","aria-labelledby":this.label?i:undefined,part:"dropdown"},e("div",{key:"a4242becefb0417a2c70c39bcd7cd4c523961046",class:"filter",part:"filter"},e("input",{key:"79b965331aed2dd3d7607fe00dfc329c88aa6edd",class:"filter__input",type:"text",placeholder:"Filter options…","aria-label":"Filter options",onInput:this.onFilterInput,ref:i=>this.filterInputEl=i,part:"filter-input"})),e("div",{key:"06e022229e36d9214590809c201b2665e9a36152",class:"options",part:"options"},!this.hasFilterResults&&e("div",{key:"67b8e26c137b2abbe03dde407d784e6caa915245",class:"no-results","aria-live":"polite"},"No options found"),e("slot",{key:"a6cfe5c0249767c1b3537d4413760a2d66b63e5f"}))),r&&e("span",{key:"e3093360156dab2d6f9a04cb9209d969f43dacd0",class:"message",id:t,role:"status",part:"message"},e("slot",{key:"dd9b2b269840618318506de2e6b85496faa167a3",name:"message"},this.message)))}static get delegatesFocus(){return true}get host(){return r(this)}static get watchers(){return{theme:["onThemeChange"],compact:["onCompactChange"],value:["onValueChange"],isOpen:["onIsOpenChange"]}}};export{c as diwa_select};
2
- //# sourceMappingURL=p-6dcf2862.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","isOpen","_disabled","_state","_compact","isUp","getFocusStyle","getReducedMotionStyle","selectIdCounter","DiwaSelect","constructor","hostRef","this","theme","name","state","hideLabel","disabled","required","compact","dropdownDirection","hasFilterResults","dropdownClass","internalId","options","highlightedIndex","onClickOutside","e","path","composedPath","includes","host","blur","emit","onTriggerClick","onTriggerKeyDown","key","preventDefault","triggerEl","focus","visible","getVisibleOptions","Math","min","length","applyHighlight","max","vis","current","dispatchEvent","MouseEvent","bubbles","composed","onFilterInput","term","target","value","toLowerCase","anyVisible","opt","text","_a","textContent","match","style","display","onThemeChange","syncChildThemes","onCompactChange","syncChildCompact","onValueChange","syncSelectionFromValue","onIsOpenChange","open","toggle","updateDropdownDirection","getFirstHighlightIndex","requestAnimationFrame","filterInputEl","clearHighlight","resetFilter","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","componentDidLoad","collectOptions","close","onOptionUpdate","stopPropagation","detail","change","forceUpdate","onSlotChange","Array","from","querySelectorAll","shouldBeSelected","undefined","selected","filter","o","firstSelected","findIndex","forEach","i","highlighted","rect","getBoundingClientRect","spaceBelow","window","innerHeight","bottom","selectedLabel","find","trim","render","labelId","listboxId","hintId","hasMessage","message","hasValue","displayLabel","h","Host","innerHTML","label","querySelector","class","id","part","description","role","tabIndex","onClick","onKeyDown","ref","el","viewBox","fill","stroke","points","type","placeholder","onInput"],"sources":["src/components/diwa-select/diwa-select-styles.ts","src/components/diwa-select/diwa-select.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\nimport type { SelectState } from './types';\r\n\r\nexport const getComponentCss = (\r\n isOpen: boolean,\r\n _disabled: boolean,\r\n _state: SelectState,\r\n _compact: boolean,\r\n isUp: boolean = false,\r\n): string => `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n position: relative;\r\n width: 100%;\r\n min-width: 0;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Label ──────────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n display: block;\r\n margin-bottom: var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-sm);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n cursor: default;\r\n }\r\n\r\n :host([hide-label]) .label {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n .label__required {\r\n color: var(--diwa-notification-error);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n margin-left: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Description ────────────────────────────────────────────────────── */\r\n\r\n .description {\r\n display: block;\r\n margin-bottom: var(--diwa-space-2);\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n\r\n /* ── Trigger ────────────────────────────────────────────────────────── */\r\n\r\n .trigger {\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n min-height: var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px));\n padding: 0 var(--diwa-space-3);\r\n box-sizing: border-box;\r\n gap: var(--diwa-space-2);\r\n\r\n background: var(--diwa-input-bg, var(--diwa-bg-input));\r\n border: var(--diwa-border-width-thin) solid var(--diwa-input-border);\r\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\r\n\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-normal);\r\n font-family: inherit;\r\n color: var(--diwa-text-primary);\r\n text-align: left;\r\n line-height: 1;\r\n\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n\r\n transition: border-color var(--diwa-transition-fast), background var(--diwa-transition-fast);\r\n appearance: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\n :host(:not([disabled])) .trigger:hover {\n border-color: var(--diwa-border-hover);\n }\n }\n\r\n ${isOpen && !isUp ? '.trigger { border-color: var(--diwa-border-focus); border-radius: var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)) 0 0; }' : ''}\r\n ${isOpen && isUp ? '.trigger { border-color: var(--diwa-border-focus); border-radius: 0 0 var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)); }' : ''}\r\n\r\n /* ── Focus ring on trigger itself ───────────────────────────────────── */\r\n\r\n ${getFocusStyle('.trigger')}\r\n\r\n /* ── Selected text ──────────────────────────────────────────────────── */\r\n\r\n .trigger__value {\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n .trigger__placeholder {\r\n color: var(--diwa-text-secondary);\r\n }\r\n\r\n /* ── Chevron icon ───────────────────────────────────────────────────── */\r\n\r\n .trigger__chevron {\r\n flex-shrink: 0;\r\n width: var(--diwa-icon-size-md);\r\n height: var(--diwa-icon-size-md);\r\n color: var(--diwa-text-secondary);\r\n transition: transform var(--diwa-transition-fast);\r\n ${isOpen ? 'transform: rotate(180deg);' : ''}\r\n }\r\n\r\n .trigger__chevron svg {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* ── Dropdown panel ─────────────────────────────────────────────────── */\r\n\r\n .dropdown {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n z-index: var(--diwa-z-dropdown);\r\n background-color: var(--diwa-bg-elevated);\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border-focus);\r\n border-top: none;\r\n border-radius: 0 0 var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md));\r\n overflow: hidden;\r\n box-shadow: var(--diwa-shadow-lg);\r\n display: ${isOpen ? 'block' : 'none'};\r\n }\r\n\r\n .dropdown--up {\r\n top: auto;\r\n bottom: 100%;\r\n border-top: var(--diwa-border-width-thin) solid var(--diwa-border-focus);\r\n border-bottom: none;\r\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)) 0 0;\r\n margin-bottom: -1px;\r\n }\r\n\r\n /* ── Filter input ───────────────────────────────────────────────────── */\r\n\r\n .filter {\r\n padding: var(--diwa-space-2) var(--diwa-space-2) var(--diwa-space-1);\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-input-border);\r\n }\r\n\r\n .filter__input {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: var(--diwa-space-2) var(--diwa-space-3);\r\n background: var(--diwa-input-bg, var(--diwa-bg-input));\r\n border: var(--diwa-border-width-thin) solid var(--diwa-input-border);\r\n border-radius: var(--diwa-radius-sm);\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-sm);\r\n font-family: inherit;\r\n outline: none;\r\n transition: border-color var(--diwa-transition-fast);\r\n }\r\n\r\n .filter__input::placeholder {\n color: var(--diwa-text-secondary);\n }\n\n .filter__input:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: var(--diwa-focus-ring-offset);\n }\n\n .filter__input:focus:not(:focus-visible) {\n outline: none;\n }\n\r\n /* ── Options list ───────────────────────────────────────────────────── */\r\n\r\n .options {\r\n max-height: var(--diwa-select-dropdown-max-height);\r\n overflow-y: auto;\r\n padding: var(--diwa-space-1);\r\n }\r\n\r\n .options::-webkit-scrollbar {\r\n width: var(--diwa-scrollbar-width);\r\n }\r\n\r\n .options::-webkit-scrollbar-track {\r\n background: transparent;\r\n }\r\n\r\n .options::-webkit-scrollbar-thumb {\r\n background-color: var(--diwa-border);\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n /* ── Compact ────────────────────────────────────────────────────────── */\r\n\r\n :host([compact]) .trigger {\n min-height: var(--diwa-touch-target-min-size-compact, 32px);\n font-size: var(--diwa-font-size-md);\n padding: 0 var(--diwa-space-2);\n }\n\r\n /* ── States: error / success ────────────────────────────────────────── */\r\n\r\n :host([state=\"error\"]) .trigger {\r\n border-color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"success\"]) .trigger {\r\n border-color: var(--diwa-notification-success);\r\n }\r\n\r\n /* ── Message ────────────────────────────────────────────────────────── */\r\n\r\n .message {\r\n display: block;\r\n margin-top: var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-sm);\r\n line-height: var(--diwa-line-height-normal);\r\n color: var(--diwa-text-secondary);\r\n }\r\n\r\n :host([state=\"error\"]) .message {\r\n color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"success\"]) .message {\r\n color: var(--diwa-notification-success);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .trigger {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .label {\r\n opacity: var(--diwa-opacity-disabled);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.trigger', '.trigger__chevron', '.filter__input')}\r\n`;\r\n\r\n\r\n","import {\r\n Component,\r\n Element,\r\n Event,\r\n type EventEmitter,\r\n Host,\r\n Listen,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from '@stencil/core';\r\nimport type {\r\n SelectChangeEventDetail,\r\n SelectDropdownDirection,\r\n SelectState,\r\n SelectTheme,\r\n SelectToggleEventDetail,\r\n} from './types';\r\nimport { getComponentCss } from './diwa-select-styles';\r\n\r\n/** Module-level counter for unique IDs. */\r\nlet selectIdCounter = 0;\r\n\r\n/**\r\n * @component diwa-select\r\n *\r\n * A fully accessible single-select dropdown with built-in text filter,\r\n * keyboard navigation, and form integration.\r\n *\r\n * Based on the Diwa select API contract.\r\n *\r\n * Usage:\r\n * <diwa-select name=\"fruit\" label=\"Favourite fruit\">\r\n * <diwa-select-option>Please select…</diwa-select-option>\r\n * <diwa-select-option value=\"apple\">Apple</diwa-select-option>\r\n * <diwa-select-option value=\"banana\">Banana</diwa-select-option>\r\n * </diwa-select>\r\n *\r\n * @slot default — diwa-select-option elements\r\n * @slot label — Custom label content (overrides the label prop)\r\n * @slot description — Custom description content\r\n * @slot message — Custom message content\r\n */\r\n@Component({\r\n tag: 'diwa-select',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSelect {\r\n @Element() host!: HTMLElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Theme — cascades down to child options. */\r\n @Prop({ reflect: true }) theme: SelectTheme = 'dark';\r\n\r\n /** Visible label text. */\r\n @Prop() label?: string;\r\n\r\n /** Optional description shown below the label. */\r\n @Prop() description?: string;\r\n\r\n /** HTML name attribute — identifies the field in form submissions. */\r\n @Prop() name: string = '';\r\n\r\n /** Currently selected value. Mutable — updated on user interaction. */\r\n @Prop({ mutable: true }) value?: string;\r\n\r\n /** Validation state. */\r\n @Prop({ reflect: true }) state: SelectState = 'none';\r\n\r\n /** Helper / validation message shown below the trigger. */\r\n @Prop() message?: string;\r\n\r\n /** Hides the label visually while keeping it accessible. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n /** Disables interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Compact variant — reduces the trigger height. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Preferred direction for the dropdown panel.\r\n * `'auto'` detects viewport space and flips upward if needed.\r\n */\r\n @Prop() dropdownDirection: SelectDropdownDirection = 'auto';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Emitted when the selection changes. */\r\n @Event({ bubbles: true })\r\n change!: EventEmitter<SelectChangeEventDetail>;\r\n\r\n /** Emitted when the dropdown opens or closes. */\r\n @Event({ bubbles: false })\r\n toggle!: EventEmitter<SelectToggleEventDetail>;\r\n\r\n /** Emitted when the component loses focus (dropdown closes via click-outside). */\r\n @Event({ bubbles: false })\r\n blur!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Internal state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @State() private isOpen: boolean = false;\r\n @State() private hasFilterResults: boolean = true;\r\n @State() private dropdownClass: string = 'dropdown';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private refs / tracking\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private internalId: string = `diwa-s-${++selectIdCounter}`;\r\n private triggerEl!: HTMLDivElement;\r\n private filterInputEl?: HTMLInputElement;\r\n private options: HTMLDiwaSelectOptionElement[] = [];\r\n private highlightedIndex: number = -1;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Watch('theme')\r\n onThemeChange(): void {\r\n this.syncChildThemes();\r\n }\r\n\r\n @Watch('compact')\r\n onCompactChange(): void {\r\n this.syncChildCompact();\r\n }\r\n\r\n @Watch('value')\r\n onValueChange(): void {\r\n this.syncSelectionFromValue();\r\n }\r\n\r\n @Watch('isOpen')\r\n onIsOpenChange(open: boolean): void {\r\n this.toggle.emit({ open });\r\n if (open) {\r\n this.updateDropdownDirection();\r\n this.highlightedIndex = this.getFirstHighlightIndex();\r\n this.applyHighlight();\r\n requestAnimationFrame(() => {\r\n this.filterInputEl?.focus();\r\n });\r\n } else {\r\n this.clearHighlight();\r\n this.highlightedIndex = -1;\r\n this.resetFilter();\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Lifecycle\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n connectedCallback(): void {\r\n document.addEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.removeEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n this.syncChildCompact();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Public methods\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Programmatically opens the dropdown. */\r\n @Method()\r\n async open(): Promise<void> {\r\n this.isOpen = true;\r\n }\r\n\r\n /** Programmatically closes the dropdown. */\r\n @Method()\r\n async close(): Promise<void> {\r\n this.isOpen = false;\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Event listeners\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Listen('diwaSelectOptionUpdate')\r\n onOptionUpdate(e: CustomEvent<{ value: string | undefined }>): void {\r\n e.stopPropagation();\r\n this.value = e.detail.value;\r\n this.syncSelectionFromValue();\r\n this.change.emit({ name: this.name, value: this.value ?? '' });\r\n this.isOpen = false;\r\n forceUpdate(this.host);\r\n requestAnimationFrame(() => {\r\n this.triggerEl.focus();\r\n });\r\n }\r\n\r\n @Listen('slotchange')\r\n onSlotChange(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n this.syncChildCompact();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private collectOptions(): void {\r\n this.options = Array.from(\r\n this.host.querySelectorAll<HTMLDiwaSelectOptionElement>('diwa-select-option'),\r\n );\r\n }\r\n\r\n private syncSelectionFromValue(): void {\r\n for (const opt of this.options) {\r\n const shouldBeSelected = opt.value !== undefined && opt.value === this.value;\r\n if (opt.selected !== shouldBeSelected) {\r\n opt.selected = shouldBeSelected;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private syncChildThemes(): void {\r\n for (const opt of this.options) {\r\n if (opt.theme !== this.theme) {\r\n opt.theme = this.theme;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private syncChildCompact(): void {\r\n for (const opt of this.options) {\r\n if (opt.compact !== this.compact) {\r\n opt.compact = this.compact;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private getVisibleOptions(): HTMLDiwaSelectOptionElement[] {\r\n return this.options.filter((o) => !o.disabled && o.style.display !== 'none');\r\n }\r\n\r\n private getFirstHighlightIndex(): number {\r\n const visible = this.getVisibleOptions();\r\n const firstSelected = visible.findIndex((o) => o.selected);\r\n return firstSelected >= 0 ? firstSelected : 0;\r\n }\r\n\r\n private applyHighlight(): void {\r\n const visible = this.getVisibleOptions();\r\n visible.forEach((opt, i) => {\r\n opt.highlighted = i === this.highlightedIndex;\r\n });\r\n }\r\n\r\n private clearHighlight(): void {\r\n for (const opt of this.options) {\r\n if (opt.highlighted) opt.highlighted = false;\r\n }\r\n this.highlightedIndex = -1;\r\n }\r\n\r\n private updateDropdownDirection(): void {\r\n if (this.dropdownDirection !== 'auto') {\r\n this.dropdownClass = this.dropdownDirection === 'up' ? 'dropdown dropdown--up' : 'dropdown';\r\n return;\r\n }\r\n const rect = this.triggerEl.getBoundingClientRect();\r\n const spaceBelow = window.innerHeight - rect.bottom;\r\n this.dropdownClass = spaceBelow < 260 ? 'dropdown dropdown--up' : 'dropdown';\r\n }\r\n\r\n private resetFilter(): void {\r\n if (this.filterInputEl) this.filterInputEl.value = '';\r\n this.hasFilterResults = true;\r\n for (const opt of this.options) {\r\n opt.style.display = '';\r\n }\r\n }\r\n\r\n private onClickOutside = (e: MouseEvent): void => {\r\n if (!this.isOpen) return;\r\n const path = e.composedPath();\r\n if (!path.includes(this.host)) {\r\n this.isOpen = false;\r\n this.blur.emit();\r\n }\r\n };\r\n\r\n private onTriggerClick = (): void => {\r\n if (this.disabled) return;\r\n this.isOpen = !this.isOpen;\r\n };\r\n\r\n private onTriggerKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n\r\n if (!this.isOpen) {\r\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.isOpen = true;\r\n }\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case 'Escape':\r\n case 'Tab': {\r\n e.preventDefault();\r\n this.isOpen = false;\r\n this.triggerEl.focus();\r\n break;\r\n }\r\n case 'ArrowDown': {\r\n e.preventDefault();\r\n const visible = this.getVisibleOptions();\r\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, visible.length - 1);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'ArrowUp': {\r\n e.preventDefault();\r\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Home': {\r\n e.preventDefault();\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'End': {\r\n e.preventDefault();\r\n const vis = this.getVisibleOptions();\r\n this.highlightedIndex = vis.length - 1;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Enter':\r\n case ' ': {\r\n e.preventDefault();\r\n const current = this.getVisibleOptions()[this.highlightedIndex];\r\n if (current && !current.disabled) {\r\n current.dispatchEvent(new MouseEvent('click', { bubbles: true, composed: true }));\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n\r\n private onFilterInput = (e: Event): void => {\r\n const term = (e.target as HTMLInputElement).value.toLowerCase();\r\n\r\n let anyVisible = false;\r\n for (const opt of this.options) {\r\n const text = (opt.textContent ?? '').toLowerCase();\r\n const match = text.includes(term);\r\n opt.style.display = match ? '' : 'none';\r\n if (match) anyVisible = true;\r\n }\r\n this.hasFilterResults = anyVisible;\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Computed display values\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get selectedLabel(): string {\r\n const selected = this.options.find((o) => o.value !== undefined && o.value === this.value);\r\n return (selected?.textContent ?? '').trim();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const labelId = `${this.internalId}-label`;\r\n const listboxId = `${this.internalId}-listbox`;\r\n const hintId = `${this.internalId}-hint`;\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n const hasValue = this.value !== undefined && this.value !== '';\r\n const displayLabel = hasValue ? this.selectedLabel : undefined;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up'))} />\r\n\r\n {/* Label */}\r\n {(this.label || this.host.querySelector('[slot=\"label\"]')) && (\r\n <span class=\"label\" id={labelId} part=\"label\">\r\n <slot name=\"label\">{this.label}</slot>\r\n {this.required && <span class=\"label__required\" aria-hidden=\"true\">*</span>}\r\n </span>\r\n )}\r\n\r\n {/* Description */}\r\n {(this.description || this.host.querySelector('[slot=\"description\"]')) && (\r\n <span class=\"description\" part=\"description\">\r\n <slot name=\"description\">{this.description}</slot>\r\n </span>\r\n )}\r\n\r\n {/* Trigger */}\r\n <div\r\n class=\"trigger\"\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={this.isOpen ? 'true' : 'false'}\r\n aria-controls={listboxId}\r\n aria-labelledby={this.label ? labelId : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-describedby={hasMessage ? hintId : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.onTriggerClick}\r\n onKeyDown={this.onTriggerKeyDown}\r\n ref={(el) => (this.triggerEl = el as HTMLDivElement)}\r\n part=\"trigger\"\r\n >\r\n <span class={`trigger__value${!displayLabel ? ' trigger__placeholder' : ''}`} part=\"value\">\r\n {displayLabel ?? (this.label || 'Select an option')}\r\n </span>\r\n\r\n {/* Chevron */}\r\n <span class=\"trigger__chevron\" aria-hidden=\"true\" part=\"chevron\">\r\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polyline points=\"6 9 12 15 18 9\" />\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n {/* Dropdown */}\r\n <div\r\n class={this.dropdownClass}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-multiselectable=\"false\"\r\n aria-labelledby={this.label ? labelId : undefined}\r\n part=\"dropdown\"\r\n >\r\n {/* Filter */}\r\n <div class=\"filter\" part=\"filter\">\r\n <input\r\n class=\"filter__input\"\r\n type=\"text\"\r\n placeholder=\"Filter options…\"\r\n aria-label=\"Filter options\"\r\n onInput={this.onFilterInput}\r\n ref={(el) => (this.filterInputEl = el as HTMLInputElement)}\r\n part=\"filter-input\"\r\n />\r\n </div>\r\n\r\n {/* Options */}\r\n <div class=\"options\" part=\"options\">\r\n {!this.hasFilterResults && (\r\n <div class=\"no-results\" aria-live=\"polite\">No options found</div>\r\n )}\r\n <slot />\r\n </div>\r\n </div>\r\n\r\n {/* Message */}\r\n {hasMessage && (\r\n <span class=\"message\" id={hintId} role=\"status\" part=\"message\">\r\n <slot name=\"message\">{this.message}</slot>\r\n </span>\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as a,H as t}from"./p-ed4017f0.js";const n=()=>`\n :host {\n display: list-item;\n font-family: var(--diwa-font-family-base);\n font-size: var(--diwa-font-size-base);\n line-height: var(--diwa-line-height-normal);\n color: var(--diwa-text-primary);\n }\n\n :host([hidden]) {\n display: none;\n }\n`;const i=class{constructor(a){e(this,a);this.theme="dark"}render(){return a(t,{key:"f92036198ef850cc2b40eaa57ad7e314fcef91e4","data-theme":this.theme},a("style",{key:"c3bb2e489866ebeefb744cf401a7a1ceeb6fd24a",innerHTML:n()}),a("slot",{key:"37757b08e12b6fe3e88dd9a7e915ebd58df15fac"}))}};export{i as diwa_text_list_item};
2
- //# sourceMappingURL=p-6f639ee0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getItemCss","DiwaTextListItem","constructor","hostRef","this","theme","render","h","Host","key","innerHTML"],"sources":["src/components/diwa-text-list-item/diwa-text-list-item-styles.ts","src/components/diwa-text-list-item/diwa-text-list-item.tsx"],"sourcesContent":["export const getItemCss = (): string => `\r\n :host {\r\n display: list-item;\r\n font-family: var(--diwa-font-family-base);\r\n font-size: var(--diwa-font-size-base);\r\n line-height: var(--diwa-line-height-normal);\r\n color: var(--diwa-text-primary);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n`;\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getItemCss } from './diwa-text-list-item-styles';\r\n\r\n/**\r\n * @component diwa-text-list-item\r\n *\r\n * A single item within a `diwa-text-list`. Renders as a `<li>` (display: list-item)\r\n * so it inherits the list-style-type and indentation from its parent list.\r\n *\r\n * Usage:\r\n * <diwa-text-list>\r\n * <diwa-text-list-item>Item text</diwa-text-list-item>\r\n * </diwa-text-list>\r\n *\r\n * @slot default — Item text or inline content.\r\n */\r\n@Component({\r\n tag: 'diwa-text-list-item',\r\n shadow: true,\r\n})\r\nexport class DiwaTextListItem {\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getItemCss()} />\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAO,MAAMA,EAAa,IAAc,kR,MCqB3BC,EAAgB,MAJ7B,WAAAC,CAAAC,G,UAM2BC,KAAAC,MAAe,M,CAExC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaL,KAAKC,OACrBE,EAAA,SAAAE,IAAA,2CAAOC,UAAWV,MAClBO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- const n=n=>`\n :host(:focus-visible) ${n},\n ${n}:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: var(--diwa-focus-ring-offset);\n }\n\n ${n}:focus:not(:focus-visible) {\n outline: none;\n }\n`;const o=(n,o)=>`\n @media (hover: hover) and (pointer: fine) {\n ${n}:hover {\n ${o}\n }\n }\n`;const i=(...n)=>{const o=n.join(", ");return`\n @media (prefers-reduced-motion: reduce) {\n ${o} {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n }\n }\n`};export{i as a,o as b,n as g};
2
- //# sourceMappingURL=p-70bbb21a.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getFocusStyle","selector","getHoverCapableStyle","declarations","getReducedMotionStyle","selectors","selList","join"],"sources":["src/utils/styles.ts"],"sourcesContent":["/**\r\n * src/utils/styles.ts\r\n * ===================\r\n * Shared CSS-in-JS utilities reused across all Diwa web components.\r\n *\r\n * Mirrors the PDS shared style-building helper pattern found in:\r\n * packages/components/src/styles/\r\n *\r\n * Every exported function returns a CSS string fragment.\r\n * Compose them inside a component's getComponentCss() function.\r\n */\r\n\r\n/** Theme identifiers — match the [data-theme] values used in app.css. */\r\nexport type Theme = 'light' | 'dark';\r\n\r\n/**\r\n * Returns standard focus-visible ring CSS for the given inner selector.\r\n *\r\n * Used inside Shadow DOM <style> tags where :host selectors are scoped.\r\n * Provides both the :host(:focus-visible) path (keyboard delegation via\r\n * shadow.delegatesFocus) and the direct :focus-visible path on the element.\r\n *\r\n * WCAG 2.4.7 (AA) — all interactive elements must have a visible focus indicator.\r\n * WCAG 2.4.11 (AA 2.2) — focus must be at least 2px with ≥3:1 contrast ratio.\r\n *\r\n * @param selector — CSS selector for the inner interactive element (e.g. '.inner')\r\n */\r\nexport const getFocusStyle = (selector: string): string => `\n :host(:focus-visible) ${selector},\n ${selector}:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: var(--diwa-focus-ring-offset);\n }\n\n ${selector}:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\n/**\n * Returns a hover rule that only applies on pointer-capable devices.\n *\n * Prevents hover-only visuals from leaking onto touch-only devices where\n * :hover can get \"stuck\" after tap.\n */\nexport const getHoverCapableStyle = (selector: string, declarations: string): string => `\n @media (hover: hover) and (pointer: fine) {\n ${selector}:hover {\n ${declarations}\n }\n }\n`;\n\r\n/**\r\n * Returns a @media (prefers-reduced-motion) override block for the given selectors.\r\n *\r\n * WCAG 2.3.3 (AAA) / WCAG 2.2.2 (AA): each animated component must include its\r\n * own reduced-motion block because the global reset in app.css cannot cross the\r\n * Shadow DOM boundary.\r\n *\r\n * @param selectors — one or more CSS selectors whose transitions/animations should\r\n * be suppressed when the user requests reduced motion.\r\n */\r\nexport const getReducedMotionStyle = (...selectors: string[]): string => {\r\n const selList = selectors.join(', ');\r\n return `\r\n @media (prefers-reduced-motion: reduce) {\r\n ${selList} {\r\n animation-duration: 0.01ms !important;\r\n animation-iteration-count: 1 !important;\r\n transition-duration: 0.01ms !important;\r\n }\r\n }\r\n`;\r\n};\r\n"],"mappings":"MA2BaA,EAAiBC,GAA6B,6BACjCA,SACtBA,8JAKAA,2D,MAWSC,EAAuB,CAACD,EAAkBE,IAAiC,wDAElFF,oBACEE,kB,MAeKC,EAAwB,IAAIC,KACvC,MAAMC,EAAUD,EAAUE,KAAK,MAC/B,MAAO,sDAEHD,gKAML,S","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as a,h as n,H as r}from"./p-ed4017f0.js";import{a as d}from"./p-70bbb21a.js";const e=()=>`\n @keyframes diwa-badge-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.3; }\n }\n\n :host {\n display: inline-flex;\n align-items: center;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .badge {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-1-5, 6px);\n padding: var(--diwa-badge-padding-y, var(--diwa-space-0-5)) var(--diwa-badge-padding-x, var(--diwa-space-2));\n border-radius: var(--diwa-badge-radius, var(--diwa-radius-full));\n border: var(--diwa-border-width-thin, 1px) solid var(--diwa-badge-border-color, var(--diwa-border));\n font-size: var(--diwa-badge-font-size, var(--diwa-font-size-md));\n font-weight: var(--diwa-badge-font-weight, var(--diwa-font-weight-medium));\n line-height: var(--diwa-line-height-tight);\n white-space: nowrap;\n background-color: var(--diwa-bg-hover);\n color: var(--diwa-text-secondary);\n transition: var(--diwa-transition-colors);\n }\n\n /* ── Pulsing dot indicator ──────────────────────────────────────────── */\n\n .dot {\n display: none;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--_badge-dot-color, currentColor);\n flex-shrink: 0;\n animation: diwa-badge-pulse 2s ease-in-out infinite;\n }\n\n :host([dot]) .dot {\n display: block;\n }\n\n ${d(".badge",".dot")}\n\n /* ── Size: sm ──────────────────────────────────────────────────────── */\n\n :host([size="sm"]) .badge {\n padding: var(--diwa-badge-padding-y-sm, var(--diwa-space-px)) var(--diwa-badge-padding-x-sm, var(--diwa-space-1-5, 6px));\n font-size: var(--diwa-badge-font-size-sm, var(--diwa-font-size-xs));\n }\n\n :host([size="sm"]) .dot {\n width: 5px;\n height: 5px;\n }\n\n /* ── Variant: neutral (default) ────────────────────────────────────── */\n\n :host([variant="neutral"]) .badge {\n --diwa-badge-border-color: var(--diwa-border);\n --_badge-dot-color: var(--diwa-text-muted);\n background-color: var(--diwa-bg-hover);\n color: var(--diwa-text-secondary);\n }\n\n /* ── Variant: accent ───────────────────────────────────────────────── */\n\n :host([variant="accent"]) .badge {\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-accent) 25%, transparent);\n --_badge-dot-color: var(--diwa-accent);\n background-color: var(--diwa-accent-bg);\n color: var(--diwa-accent);\n }\n\n /* ── Variant: success ──────────────────────────────────────────────── */\n\n :host([variant="success"]) .badge {\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-success-text) 25%, transparent);\n --_badge-dot-color: var(--diwa-success-text);\n background-color: var(--diwa-success-bg);\n color: var(--diwa-success-text);\n }\n\n /* ── Variant: warning ──────────────────────────────────────────────── */\n\n :host([variant="warning"]) .badge {\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-warning-text) 25%, transparent);\n --_badge-dot-color: var(--diwa-warning-text);\n background-color: var(--diwa-warning-bg);\n color: var(--diwa-warning-text);\n }\n\n /* ── Variant: danger ───────────────────────────────────────────────── */\n\n :host([variant="danger"]) .badge {\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-danger-text) 25%, transparent);\n --_badge-dot-color: var(--diwa-danger-text);\n background-color: var(--diwa-danger-bg);\n color: var(--diwa-danger-text);\n }\n`;const i=class{constructor(n){a(this,n);this.variant="neutral";this.size="md";this.dot=false;this.theme="dark"}render(){var a;return n(r,{key:"b305c163c262aee55c46a7d69ede81bda62ac56f","data-theme":this.theme},n("style",{key:"40a4c220bcf3847f8e894bf5f05896d1c4c21f17",innerHTML:e()}),n("span",{key:"c642e078977a843580ef50d3a4fb942601e84ad7",class:"badge",part:"base","aria-label":(a=this.label)!==null&&a!==void 0?a:undefined,role:this.label?"status":undefined},this.dot&&n("span",{key:"74ff1195c0aa5e28c16fafef5d11b79236e92ec6",class:"dot","aria-hidden":"true"}),n("slot",{key:"c429093035124e22ba2a03e98238407345c60d3b"})))}};export{i as diwa_badge};
2
- //# sourceMappingURL=p-76f75cb3.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","getReducedMotionStyle","DiwaBadge","constructor","hostRef","this","variant","size","dot","theme","render","h","Host","key","innerHTML","class","part","_a","label","undefined","role"],"sources":["src/components/diwa-badge/diwa-badge-styles.ts","src/components/diwa-badge/diwa-badge.tsx"],"sourcesContent":["import { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n @keyframes diwa-badge-pulse {\r\n 0%, 100% { opacity: 1; }\r\n 50% { opacity: 0.3; }\r\n }\r\n\r\n :host {\r\n display: inline-flex;\r\n align-items: center;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1-5, 6px);\r\n padding: var(--diwa-badge-padding-y, var(--diwa-space-0-5)) var(--diwa-badge-padding-x, var(--diwa-space-2));\r\n border-radius: var(--diwa-badge-radius, var(--diwa-radius-full));\r\n border: var(--diwa-border-width-thin, 1px) solid var(--diwa-badge-border-color, var(--diwa-border));\r\n font-size: var(--diwa-badge-font-size, var(--diwa-font-size-md));\r\n font-weight: var(--diwa-badge-font-weight, var(--diwa-font-weight-medium));\r\n line-height: var(--diwa-line-height-tight);\r\n white-space: nowrap;\r\n background-color: var(--diwa-bg-hover);\r\n color: var(--diwa-text-secondary);\r\n transition: var(--diwa-transition-colors);\r\n }\r\n\r\n /* ── Pulsing dot indicator ──────────────────────────────────────────── */\r\n\r\n .dot {\r\n display: none;\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 50%;\r\n background-color: var(--_badge-dot-color, currentColor);\r\n flex-shrink: 0;\r\n animation: diwa-badge-pulse 2s ease-in-out infinite;\r\n }\r\n\r\n :host([dot]) .dot {\r\n display: block;\r\n }\r\n\r\n ${getReducedMotionStyle('.badge', '.dot')}\r\n\r\n /* ── Size: sm ──────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .badge {\r\n padding: var(--diwa-badge-padding-y-sm, var(--diwa-space-px)) var(--diwa-badge-padding-x-sm, var(--diwa-space-1-5, 6px));\r\n font-size: var(--diwa-badge-font-size-sm, var(--diwa-font-size-xs));\r\n }\r\n\r\n :host([size=\"sm\"]) .dot {\r\n width: 5px;\r\n height: 5px;\r\n }\r\n\r\n /* ── Variant: neutral (default) ────────────────────────────────────── */\r\n\r\n :host([variant=\"neutral\"]) .badge {\r\n --diwa-badge-border-color: var(--diwa-border);\r\n --_badge-dot-color: var(--diwa-text-muted);\r\n background-color: var(--diwa-bg-hover);\r\n color: var(--diwa-text-secondary);\r\n }\r\n\r\n /* ── Variant: accent ───────────────────────────────────────────────── */\r\n\r\n :host([variant=\"accent\"]) .badge {\r\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-accent) 25%, transparent);\r\n --_badge-dot-color: var(--diwa-accent);\r\n background-color: var(--diwa-accent-bg);\r\n color: var(--diwa-accent);\r\n }\r\n\r\n /* ── Variant: success ──────────────────────────────────────────────── */\r\n\r\n :host([variant=\"success\"]) .badge {\r\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-success-text) 25%, transparent);\r\n --_badge-dot-color: var(--diwa-success-text);\r\n background-color: var(--diwa-success-bg);\r\n color: var(--diwa-success-text);\r\n }\r\n\r\n /* ── Variant: warning ──────────────────────────────────────────────── */\r\n\r\n :host([variant=\"warning\"]) .badge {\r\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-warning-text) 25%, transparent);\r\n --_badge-dot-color: var(--diwa-warning-text);\r\n background-color: var(--diwa-warning-bg);\r\n color: var(--diwa-warning-text);\r\n }\r\n\r\n /* ── Variant: danger ───────────────────────────────────────────────── */\r\n\r\n :host([variant=\"danger\"]) .badge {\r\n --diwa-badge-border-color: color-mix(in srgb, var(--diwa-danger-text) 25%, transparent);\r\n --_badge-dot-color: var(--diwa-danger-text);\r\n background-color: var(--diwa-danger-bg);\r\n color: var(--diwa-danger-text);\r\n }\r\n`;\r\n","import { Component, Host, Prop, h } from \"@stencil/core\";\r\nimport type { BadgeSize, BadgeVariant } from \"./types\";\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-badge-styles';\r\n\r\n/**\r\n * @component diwa-badge\r\n *\r\n * A compact, pill-shaped status indicator with an optional animated dot.\r\n * Use for live status, counts, counts, and key callouts.\r\n * Prefer DiwaTag for category labels and filters — Tag has square corners and a\r\n * visible border; Badge is always fully rounded with a subtler, muted border.\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-badge-radius Border radius (defaults to --diwa-radius-full)\r\n * --diwa-badge-border-color Override the auto-computed border colour\r\n * --diwa-badge-padding-x Horizontal padding for md size\r\n * --diwa-badge-padding-x-sm Horizontal padding for sm size\r\n * --diwa-badge-font-size Font size for md size\r\n * --diwa-badge-font-size-sm Font size for sm size\r\n * --diwa-badge-font-weight Font weight\r\n *\r\n * Usage:\r\n * <diwa-badge variant=\"success\" dot>Live</diwa-badge>\r\n * <diwa-badge variant=\"danger\" size=\"sm\">3 errors</diwa-badge>\r\n * <diwa-badge variant=\"neutral\">Draft</diwa-badge>\r\n *\r\n * @slot default — Badge label content (text or mixed inline content)\r\n */\r\n@Component({\r\n tag: \"diwa-badge\",\r\n shadow: true,\r\n})\r\nexport class DiwaBadge {\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Semantic colour variant. Determines background and text colour. */\r\n @Prop({ reflect: true }) variant: BadgeVariant = \"neutral\";\r\n\r\n /** Size tier — controls height, padding, and font-size. */\r\n @Prop({ reflect: true }) size: BadgeSize = \"md\";\r\n\r\n /**\r\n * Accessible label. Use when slot content alone is insufficient\r\n * (e.g., a numeric count without surrounding context).\r\n */\r\n @Prop() label?: string;\r\n\r\n /**\r\n * When true, renders a small animated pulsing dot before the slot content.\r\n * Use to indicate live status or active processes.\r\n */\r\n @Prop({ reflect: true }) dot: boolean = false;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <span\r\n class=\"badge\"\r\n part=\"base\"\r\n aria-label={this.label ?? undefined}\r\n role={this.label ? \"status\" : undefined}\r\n >\r\n {this.dot && <span class=\"dot\" aria-hidden=\"true\" />}\r\n <slot />\r\n </span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"sFAEO,MAAMA,EAAkB,IAAc,i4CAgDzCC,EAAsB,SAAU,qkE,MCjBvBC,EAAS,MAJtB,WAAAC,CAAAC,G,UAU2BC,KAAAC,QAAwB,UAGxBD,KAAAE,KAAkB,KAYlBF,KAAAG,IAAe,MAGfH,KAAAI,MAAe,M,CAMxC,MAAAC,G,MACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaR,KAAKI,OACrBE,EAAA,SAAAE,IAAA,2CAAOC,UAAWd,MAClBW,EAAA,QAAAE,IAAA,2CACEE,MAAM,QACNC,KAAK,OAAM,cACCC,EAAAZ,KAAKa,SAAK,MAAAD,SAAA,EAAAA,EAAIE,UAC1BC,KAAMf,KAAKa,MAAQ,SAAWC,WAE7Bd,KAAKG,KAAOG,EAAA,QAAAE,IAAA,2CAAME,MAAM,MAAK,cAAa,SAC3CJ,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as a,h as i,H as n}from"./p-ed4017f0.js";import{a as t}from"./p-70bbb21a.js";const r=(e,a,i,n,r)=>{const s=e==="error"?"var(--diwa-notification-error)":e==="success"?"var(--diwa-notification-success)":"var(--diwa-input-border, var(--diwa-border))";const d=e==="error"?"var(--diwa-notification-error)":e==="success"?"var(--diwa-notification-success)":"var(--diwa-text-secondary)";return`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n :host([hidden]) {\n display: none;\n }\n .root {\n display: flex;\n flex-direction: column;\n gap: var(--diwa-space-2);\n }\n .label-row {\n display: flex;\n align-items: baseline;\n gap: var(--diwa-space-1);\n }\n .label {\n display: block;\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n color: var(--diwa-text-secondary);\n line-height: var(--diwa-line-height-normal);\n }\n .required {\n color: var(--diwa-notification-error);\n font-weight: var(--diwa-font-weight-semibold);\n }\n .textarea-wrapper {\n position: relative;\n display: flex;\n background: var(--diwa-input-bg, var(--diwa-bg-input));\n border: var(--diwa-border-width-thin) solid ${s};\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\n box-sizing: border-box;\n transition: border-color var(--diwa-transition-base);\n ${a?"opacity: 0.5; pointer-events: none;":""}\n }\n .textarea-wrapper:not(:has(textarea:disabled)):not(:has(textarea[readonly])):hover {\n border-color: ${e==="none"?"var(--diwa-border-hover)":s};\n }\n .textarea-wrapper:focus-within {\n border-color: var(--diwa-border-focus);\n }\n ${i?`.textarea-wrapper { background: var(--diwa-bg-surface); border-style: dashed; }`:""}\n .ta {\n width: 100%;\n min-height: ${r?"64px":"96px"};\n padding: ${r?"6px 10px":"10px 12px"};\n background: transparent;\n border: none;\n outline: none;\n font-family: var(--diwa-font-family-base);\n font-size: ${r?"var(--diwa-font-size-sm)":"var(--diwa-font-size-base)"};\n color: var(--diwa-text-primary);\n resize: ${n};\n box-sizing: border-box;\n }\n .ta::placeholder {\n color: var(--diwa-text-muted);\n }\n .description {\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-secondary);\n line-height: var(--diwa-line-height-normal);\n margin: 0;\n }\n .message {\n font-size: var(--diwa-font-size-sm);\n color: ${d};\n line-height: var(--diwa-line-height-normal);\n margin: 0;\n }\n\n ${t(".textarea-wrapper")}\n `};const s=class{constructor(i){e(this,i);this.input=a(this,"input",7);this.change=a(this,"change",7);this.blur=a(this,"blur",1);this.label="";this.description="";this.state="none";this.message="";this.name="";this.value="";this.placeholder="";this.required=false;this.disabled=false;this.readOnly=false;this.rows=4;this.resize="vertical";this.compact=false;this.hideLabel=false;this.theme="dark";this.handleInput=e=>{this.value=e.target.value;this.input.emit(this.value)};this.handleChange=e=>{this.value=e.target.value;this.change.emit(this.value)};this.handleBlur=e=>{this.blur.emit(e)}}render(){const e="textarea";const a="desc";const t="msg";return i(n,{key:"e05a6d6fddcf9b67e3450bddd47a817ead8a819d","data-theme":this.theme},i("style",{key:"7b439749933a1e71fdc90dbde478c2a13438ab9e",innerHTML:r(this.state,this.disabled,this.readOnly,this.resize,this.compact)}),i("div",{key:"797b3ab869e20dd4d1aaa9f819c3ec7db2e5141a",class:"root"},!this.hideLabel&&this.label&&i("div",{key:"c4e9ae80e3c1109e79ace701fe3511a5c228970a",class:"label-row"},i("label",{key:"16d522f2b8d16179aecef5f8a9b2eefca39927e0",class:"label",htmlFor:e},this.label,this.required&&i("span",{key:"2590e00516606e193a90eb90bf1259f783314b23",class:"required","aria-hidden":"true"}," *")),i("slot",{key:"fdc720df4600d86bc4e3c4a914bc1c2ced36b44b",name:"label-after"})),i("div",{key:"d7116130ea846260e94e9d6600bbe48aa774fed6",class:"textarea-wrapper"},i("textarea",{key:"786904c37ae83072d0946cdc8cd9c82674fd16fb",class:"ta",id:e,name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readOnly,rows:this.rows,maxLength:this.maxLength,minLength:this.minLength,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?t:this.description?a:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur})),!this.message&&this.description&&i("p",{key:"784e0e6b81f8725f5b4b8c802e53483912538bb2",id:a,class:"description"},this.description),this.message&&i("p",{key:"4e922e262bceabe0ad91ff13850ec96a8db2cf2f",id:t,class:"message"},this.message)))}static get delegatesFocus(){return true}};export{s as diwa_textarea};
2
- //# sourceMappingURL=p-8285e16e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","state","disabled","readOnly","resize","compact","borderColor","messageColor","getReducedMotionStyle","DiwaTextarea","constructor","hostRef","this","label","description","message","name","value","placeholder","required","rows","hideLabel","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","render","taId","descId","msgId","h","Host","key","innerHTML","class","htmlFor","id","undefined","maxLength","minLength","onInput","onChange","onBlur"],"sources":["src/components/diwa-textarea/diwa-textarea-styles.ts","src/components/diwa-textarea/diwa-textarea.tsx"],"sourcesContent":["import type { InputFieldState } from '../diwa-input/types';\r\nimport type { TextareaResize } from './types';\r\nimport { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport type { TextareaResize } from './types';\r\n\r\nexport const getComponentCss = (\r\n state: InputFieldState,\r\n disabled: boolean,\r\n readOnly: boolean,\r\n resize: TextareaResize,\r\n compact: boolean,\r\n): string => {\r\n const borderColor =\r\n state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : 'var(--diwa-input-border, var(--diwa-border))';\r\n\r\n const messageColor =\r\n state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : 'var(--diwa-text-secondary)';\r\n\r\n return `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .root {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--diwa-space-2);\r\n }\r\n .label-row {\r\n display: flex;\r\n align-items: baseline;\r\n gap: var(--diwa-space-1);\r\n }\r\n .label {\r\n display: block;\r\n font-size: var(--diwa-font-size-sm);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n .required {\r\n color: var(--diwa-notification-error);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n }\r\n .textarea-wrapper {\r\n position: relative;\r\n display: flex;\r\n background: var(--diwa-input-bg, var(--diwa-bg-input));\r\n border: var(--diwa-border-width-thin) solid ${borderColor};\r\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\r\n box-sizing: border-box;\r\n transition: border-color var(--diwa-transition-base);\r\n ${disabled ? 'opacity: 0.5; pointer-events: none;' : ''}\r\n }\r\n .textarea-wrapper:not(:has(textarea:disabled)):not(:has(textarea[readonly])):hover {\r\n border-color: ${state === 'none' ? 'var(--diwa-border-hover)' : borderColor};\r\n }\r\n .textarea-wrapper:focus-within {\r\n border-color: var(--diwa-border-focus);\r\n }\r\n ${readOnly ? `.textarea-wrapper { background: var(--diwa-bg-surface); border-style: dashed; }` : ''}\r\n .ta {\r\n width: 100%;\r\n min-height: ${compact ? '64px' : '96px'};\r\n padding: ${compact ? '6px 10px' : '10px 12px'};\r\n background: transparent;\r\n border: none;\r\n outline: none;\r\n font-family: var(--diwa-font-family-base);\r\n font-size: ${compact ? 'var(--diwa-font-size-sm)' : 'var(--diwa-font-size-base)'};\r\n color: var(--diwa-text-primary);\r\n resize: ${resize};\r\n box-sizing: border-box;\r\n }\r\n .ta::placeholder {\r\n color: var(--diwa-text-muted);\r\n }\r\n .description {\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n margin: 0;\r\n }\r\n .message {\r\n font-size: var(--diwa-font-size-sm);\r\n color: ${messageColor};\r\n line-height: var(--diwa-line-height-normal);\r\n margin: 0;\r\n }\r\n\r\n ${getReducedMotionStyle('.textarea-wrapper')}\r\n `;\r\n};\r\n","import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { TextareaResize } from './types';\r\nimport { getComponentCss } from './diwa-textarea-styles';\r\n\r\n/**\r\n * @slot label-after — Content placed after the label (e.g. a diwa-popover).\r\n *\r\n * @controlled {\"props\": [\"value\"], \"event\": \"input\"}\r\n */\r\n@Component({\r\n tag: 'diwa-textarea',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaTextarea {\r\n /** Visible label text. */\r\n @Prop() label: string = '';\r\n\r\n /** Supplementary description shown below the label. */\r\n @Prop() description: string = '';\r\n\r\n /** Validation state affecting border colour and message colour. */\r\n @Prop() state: InputFieldState = 'none';\r\n\r\n /** Feedback message shown when state is \"error\" or \"success\". */\r\n @Prop() message: string = '';\r\n\r\n /** The name attribute forwarded to the native textarea. */\r\n @Prop() name: string = '';\r\n\r\n /** Current value. Update in response to the input event. */\r\n @Prop({ mutable: true }) value: string = '';\r\n\r\n /** Placeholder text shown when the textarea is empty. */\r\n @Prop() placeholder: string = '';\r\n\r\n /** Whether the textarea is required. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Whether the textarea is disabled. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Whether the textarea is read-only. */\r\n @Prop({ reflect: true }) readOnly: boolean = false;\r\n\r\n /** Maximum character length. */\r\n @Prop() maxLength?: number;\r\n\r\n /** Minimum character length. */\r\n @Prop() minLength?: number;\r\n\r\n /** Number of visible text rows. */\r\n @Prop() rows: number = 4;\r\n\r\n /** Controls which dimensions can be resized by the user. */\r\n @Prop() resize: TextareaResize = 'vertical';\r\n\r\n /** Renders a compact version with reduced padding and font size. */\r\n @Prop() compact: boolean = false;\r\n\r\n /** Hides the label visually (label is still in the DOM for screen readers). */\r\n @Prop() hideLabel: boolean = false;\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Emitted on every keystroke. Detail contains the current value string. */\r\n @Event({ bubbles: true }) input!: EventEmitter<string>;\r\n\r\n /** Emitted when the textarea loses focus after value changes. */\r\n @Event({ bubbles: true }) change!: EventEmitter<string>;\r\n\r\n /** Emitted when the textarea loses focus. */\r\n @Event({ bubbles: false, composed: false }) blur!: EventEmitter<FocusEvent>;\r\n\r\n private handleInput = (e: Event): void => {\r\n this.value = (e.target as HTMLTextAreaElement).value;\r\n this.input.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n this.value = (e.target as HTMLTextAreaElement).value;\r\n this.change.emit(this.value);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => {\r\n this.blur.emit(e);\r\n };\r\n\r\n render() {\r\n const taId = 'textarea';\r\n const descId = 'desc';\r\n const msgId = 'msg';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.disabled, this.readOnly, this.resize, this.compact)} />\r\n <div class=\"root\">\r\n {!this.hideLabel && this.label && (\r\n <div class=\"label-row\">\r\n <label class=\"label\" htmlFor={taId}>\r\n {this.label}\r\n {this.required && <span class=\"required\" aria-hidden=\"true\"> *</span>}\r\n </label>\r\n <slot name=\"label-after\" />\r\n </div>\r\n )}\r\n <div class=\"textarea-wrapper\">\r\n <textarea\r\n class=\"ta\"\r\n id={taId}\r\n name={this.name || undefined}\r\n value={this.value}\r\n placeholder={this.placeholder || undefined}\r\n disabled={this.disabled}\r\n required={this.required}\r\n readOnly={this.readOnly}\r\n rows={this.rows}\r\n maxLength={this.maxLength}\r\n minLength={this.minLength}\r\n aria-label={this.hideLabel && this.label ? this.label : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-describedby={this.message ? msgId : this.description ? descId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onBlur={this.handleBlur}\r\n />\r\n </div>\r\n {!this.message && this.description && (\r\n <p id={descId} class=\"description\">{this.description}</p>\r\n )}\r\n {this.message && (\r\n <p id={msgId} class=\"message\">{this.message}</p>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAMO,MAAMA,EAAkB,CAC7BC,EACAC,EACAC,EACAC,EACAC,KAEA,MAAMC,EACJL,IAAU,QACN,iCACAA,IAAU,UACR,mCACA,+CAER,MAAMM,EACJN,IAAU,QACN,iCACAA,IAAU,UACR,mCACA,6BAER,MAAO,u6BAkC2CK,gLAI5CJ,EAAW,sCAAwC,4HAGrCD,IAAU,OAAS,2BAA6BK,8GAKhEH,EAAW,kFAAoF,wDAGjFE,EAAU,OAAS,2BACtBA,EAAU,WAAa,+JAKrBA,EAAU,2BAA6B,wFAE1CD,kXAcDG,0FAKTC,EAAsB,0BACzB,E,MCzFUC,EAAY,MAJzB,WAAAC,CAAAC,G,iGAMUC,KAAAC,MAAgB,GAGhBD,KAAAE,YAAsB,GAGtBF,KAAAX,MAAyB,OAGzBW,KAAAG,QAAkB,GAGlBH,KAAAI,KAAe,GAGEJ,KAAAK,MAAgB,GAGjCL,KAAAM,YAAsB,GAGtBN,KAAAO,SAAoB,MAGHP,KAAAV,SAAoB,MAGpBU,KAAAT,SAAoB,MASrCS,KAAAQ,KAAe,EAGfR,KAAAR,OAAyB,WAGzBQ,KAAAP,QAAmB,MAGnBO,KAAAS,UAAqB,MAGJT,KAAAU,MAAe,OAWhCV,KAAAW,YAAeC,IACrBZ,KAAKK,MAASO,EAAEC,OAA+BR,MAC/CL,KAAKc,MAAMC,KAAKf,KAAKK,MAAM,EAGrBL,KAAAgB,aAAgBJ,IACtBZ,KAAKK,MAASO,EAAEC,OAA+BR,MAC/CL,KAAKiB,OAAOF,KAAKf,KAAKK,MAAM,EAGtBL,KAAAkB,WAAcN,IACpBZ,KAAKmB,KAAKJ,KAAKH,EAAE,C,CAGnB,MAAAQ,GACE,MAAMC,EAAO,WACb,MAAMC,EAAS,OACf,MAAMC,EAAQ,MAEd,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAa1B,KAAKU,OACrBc,EAAA,SAAAE,IAAA,2CAAOC,UAAWvC,EAAgBY,KAAKX,MAAOW,KAAKV,SAAUU,KAAKT,SAAUS,KAAKR,OAAQQ,KAAKP,WAC9F+B,EAAA,OAAAE,IAAA,2CAAKE,MAAM,SACP5B,KAAKS,WAAaT,KAAKC,OACvBuB,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACTJ,EAAA,SAAAE,IAAA,2CAAOE,MAAM,QAAQC,QAASR,GAC3BrB,KAAKC,MACLD,KAAKO,UAAYiB,EAAA,QAAAE,IAAA,2CAAME,MAAM,WAAU,cAAa,QAAM,OAE7DJ,EAAA,QAAAE,IAAA,2CAAMtB,KAAK,iBAGfoB,EAAA,OAAAE,IAAA,2CAAKE,MAAM,oBACTJ,EAAA,YAAAE,IAAA,2CACEE,MAAM,KACNE,GAAIT,EACJjB,KAAMJ,KAAKI,MAAQ2B,UACnB1B,MAAOL,KAAKK,MACZC,YAAaN,KAAKM,aAAeyB,UACjCzC,SAAUU,KAAKV,SACfiB,SAAUP,KAAKO,SACfhB,SAAUS,KAAKT,SACfiB,KAAMR,KAAKQ,KACXwB,UAAWhC,KAAKgC,UAChBC,UAAWjC,KAAKiC,UAAS,aACbjC,KAAKS,WAAaT,KAAKC,MAAQD,KAAKC,MAAQ8B,UAAS,eACnD/B,KAAKX,QAAU,QAAU,OAAS0C,UAAS,gBAC1C/B,KAAKO,SAAW,OAASwB,UAAS,mBAC/B/B,KAAKG,QAAUoB,EAAQvB,KAAKE,YAAcoB,EAASS,UACrEG,QAASlC,KAAKW,YACdwB,SAAUnC,KAAKgB,aACfoB,OAAQpC,KAAKkB,eAGflB,KAAKG,SAAWH,KAAKE,aACrBsB,EAAA,KAAAE,IAAA,2CAAGI,GAAIR,EAAQM,MAAM,eAAe5B,KAAKE,aAE1CF,KAAKG,SACJqB,EAAA,KAAAE,IAAA,2CAAGI,GAAIP,EAAOK,MAAM,WAAW5B,KAAKG,U","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as s,c as e,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(t){s(this,t);this.change=e(this,"change",7);this.input=e(this,"input",7);this.blur=e(this,"blur",3);this.focus=e(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const e="desc";const a="msg";return t(i,{key:"79daf083047c2e7a2e23de8d288345cc994cf110","data-theme":this.theme},t("style",{key:"857a3da85e5a2ca16c0011770744d358d978f660",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"e8d7a0e0f423cb820dde4740d301110f6b28539b",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"7b98f4f850e0e606fc42108c8153ccc297b698a2",class:"label-row"},t("label",{key:"0e51f7a41550c08999d3d85a0f4fc3655608a943",class:"label",htmlFor:s},this.label,this.required&&t("span",{key:"d2e5916985c1db129bcd2a1d0c4b8c199fe72250",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"41422293e1d83c437977d9506070b2e1fd0f05a7",name:"label-after"})),t("div",{key:"f6e9e59d67c3008b52ecfe92032fe6759d2065d8",class:"input-wrapper"},this._hasStart&&t("div",{key:"3890e2c3bafa98d500a3288b8a5e6123514d6a34",class:"slot-start"},t("slot",{key:"71aef0b13bb7dc7c500a4d4949049eda9523ca83",name:"start"})),t("input",{key:"3dcbc559ed5578ac4f4c0748d1e7ecc02773c7f9",id:s,class:"input",type:"url",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"8f1d081727a1207023e3dccf8af75d30da0986c2",class:"slot-end"},t("slot",{key:"47e00c738bcdf1516e53199178d2742f8b30946e",name:"end"}))),!this.message&&this.description&&t("p",{key:"c0861105c46b18b1abe5a5de5a3a99f075b4aaf0",id:e,class:"description"},this.description),this.message&&t("p",{key:"240aea2a88f53150806f04a7f7468cef9d0738af",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_url};
2
- //# sourceMappingURL=p-82be1b3a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DiwaInputUrl","constructor","hostRef","this","_hasStart","_hasEnd","label","description","message","state","name","value","placeholder","disabled","required","readonly","hideLabel","compact","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","connectedCallback","el","querySelector","render","inputId","descId","msgId","h","Host","key","innerHTML","getComponentCss","class","htmlFor","id","type","undefined","readOnly","autocomplete","autoComplete","onInput","onChange","onBlur","onFocus"],"sources":["src/components/diwa-input-url/diwa-input-url.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-url-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-url',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputUrl {\r\n @Element() el!: HTMLElement;\r\n @State() private _hasStart = false;\r\n @State() private _hasEnd = false;\r\n\r\n @Prop() label: string = '';\r\n @Prop() description: string = '';\r\n @Prop() message: string = '';\r\n @Prop() state: InputFieldState = 'none';\r\n @Prop() name: string = '';\r\n @Prop({ mutable: true, reflect: false }) value: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop({ reflect: true }) required: boolean = false;\r\n @Prop({ reflect: true }) readonly: boolean = false;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() compact: boolean = false;\r\n @Prop() autoComplete?: string;\r\n @Prop() theme: Theme = 'dark';\r\n\r\n @Event({ bubbles: true }) change!: EventEmitter<string>;\r\n @Event({ bubbles: true }) input!: EventEmitter<string>;\r\n @Event({ bubbles: false }) blur!: EventEmitter<FocusEvent>;\r\n @Event({ bubbles: false }) focus!: EventEmitter<FocusEvent>;\r\n\r\n connectedCallback(): void {\r\n this._hasStart = !!this.el.querySelector('[slot=\"start\"]');\r\n this._hasEnd = !!this.el.querySelector('[slot=\"end\"]');\r\n }\r\n\r\n private handleInput = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.input.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.change.emit(this.value);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => { this.blur.emit(e); };\r\n private handleFocus = (e: FocusEvent): void => { this.focus.emit(e); };\r\n\r\n render() {\r\n const inputId = 'input';\r\n const descId = 'desc';\r\n const msgId = 'msg';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.disabled, this.readonly, this.compact, this._hasStart, this._hasEnd, false)} />\r\n <div class=\"root\">\r\n {!this.hideLabel && this.label && (\r\n <div class=\"label-row\">\r\n <label class=\"label\" htmlFor={inputId}>\r\n {this.label}\r\n {this.required && <span class=\"required\" aria-hidden=\"true\"> *</span>}\r\n </label>\r\n <slot name=\"label-after\" />\r\n </div>\r\n )}\r\n <div class=\"input-wrapper\">\r\n {this._hasStart && <div class=\"slot-start\"><slot name=\"start\" /></div>}\r\n <input\r\n id={inputId}\r\n class=\"input\"\r\n type=\"url\"\r\n name={this.name || undefined}\r\n value={this.value}\r\n placeholder={this.placeholder || undefined}\r\n disabled={this.disabled}\r\n required={this.required}\r\n readOnly={this.readonly}\r\n autocomplete={this.autoComplete}\r\n aria-label={this.hideLabel && this.label ? this.label : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-describedby={this.message ? msgId : this.description ? descId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n />\r\n {this._hasEnd && <div class=\"slot-end\"><slot name=\"end\" /></div>}\r\n </div>\r\n {!this.message && this.description && (\r\n <p id={descId} class=\"description\">{this.description}</p>\r\n )}\r\n {this.message && (\r\n <p id={msgId} class=\"message\">{this.message}</p>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as a,h as e,H as n}from"./p-ed4017f0.js";const t=a=>`\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px) !important;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n border-right: var(--diwa-table-column-border, none) !important;\n vertical-align: middle;\n line-height: var(--diwa-line-height-normal);\n white-space: ${a?"normal":"nowrap"} !important;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n`;const r=class{constructor(e){a(this,e);this.theme="dark";this.multiline=false}render(){return e(n,{key:"70f68af8b28744b825c139f341c0815e11e5f08e",role:"cell"},e("style",{key:"53bf58da9f8e9d9f0ee8ccc566cf4607b3b1d0b3",innerHTML:t(this.multiline)}),e("slot",{key:"8089efa5309487c4c0682c4781d3ebcd8bb6a48b"}))}};export{r as diwa_table_cell};
2
- //# sourceMappingURL=p-845b2a42.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","multiline","DiwaTableCell","constructor","hostRef","this","theme","render","h","Host","key","role","innerHTML"],"sources":["src/components/diwa-table-cell/diwa-table-cell-styles.ts","src/components/diwa-table-cell/diwa-table-cell.tsx"],"sourcesContent":["export const getComponentCss = (multiline: boolean): string => `\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px) !important;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n border-right: var(--diwa-table-column-border, none) !important;\n vertical-align: middle;\n line-height: var(--diwa-line-height-normal);\n white-space: ${multiline ? 'normal' : 'nowrap'} !important;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n`;\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport type { Theme } from '../../utils/styles';\nimport { getComponentCss } from './diwa-table-cell-styles';\n\n/** @component diwa-table-cell — Maps to <td> inside a diwa-table-row. */\n@Component({ tag: 'diwa-table-cell', shadow: true })\nexport class DiwaTableCell {\n @Prop({ reflect: true }) theme: Theme = 'dark';\n @Prop() multiline: boolean = false;\n\n render() {\n return (\n <Host role=\"cell\">\n <style innerHTML={getComponentCss(this.multiline)} />\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAO,MAAMA,EAAmBC,GAA+B,wZAU5CA,EAAY,SAAW,kH,MCJ7BC,EAAa,MAD1B,WAAAC,CAAAC,G,UAE2BC,KAAAC,MAAe,OAChCD,KAAAJ,UAAqB,K,CAE7B,MAAAM,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QACTH,EAAA,SAAAE,IAAA,2CAAOE,UAAWZ,EAAgBK,KAAKJ,aACvCO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as n,c as e,h as t,H as a,g as i}from"./p-ed4017f0.js";import{g as o,a as r}from"./p-70bbb21a.js";import{g as s,c}from"./p-332838f8.js";const d=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='5.25' width='7' height='1.5' rx='0.75' fill='white'/%3E%3C/svg%3E")`;const h=(n,e,t,a)=>{const i=t?"14px":"20px";const h=n==="error"?"var(--diwa-notification-error)":n==="success"?"var(--diwa-notification-success)":"var(--diwa-text-secondary)";return`\n\n /* ── Host ─────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Root layout ──────────────────────────────────────────────────── */\n\n .root {\n display: flex;\n flex-direction: column;\n gap: var(--diwa-space-1);\n }\n\n /* ── Wrapper: checkbox + label side by side ───────────────────────── */\n\n .wrapper {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-3);\n cursor: pointer;\n }\n\n :host([disabled]) .wrapper {\n cursor: not-allowed;\n }\n\n /* ── Input container ──────────────────────────────────────────────── */\n\n .input-container {\n position: relative;\n flex-shrink: 0;\n width: ${i};\n height: ${i};\n }\n\n /* ── Native checkbox ──────────────────────────────────────────────── */\n\n input[type="checkbox"] {\n appearance: none;\n -webkit-appearance: none;\n display: block;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n cursor: pointer;\n\n ${s()}\n }\n\n input[type="checkbox"]:disabled {\n cursor: not-allowed;\n }\n\n /* ── Focus ring ───────────────────────────────────────────────────── */\n\n ${o('input[type="checkbox"]')}\n\n /* ── Hover ────────────────────────────────────────────────────────── */\n\n input[type="checkbox"]:hover:not(:disabled) {\n border-color: var(--diwa-accent);\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Checked state ────────────────────────────────────────────────── */\n\n input[type="checkbox"]:checked {\n background-color: var(--diwa-accent);\n border-color: var(--diwa-accent);\n background-image: ${c};\n }\n\n input[type="checkbox"]:checked:hover:not(:disabled) {\n background-color: var(--diwa-accent-hover);\n border-color: var(--diwa-accent-hover);\n }\n\n /* ── Indeterminate state ──────────────────────────────────────────── */\n\n input[type="checkbox"]:indeterminate {\n background-color: var(--diwa-accent);\n border-color: var(--diwa-accent);\n background-image: ${d};\n }\n\n input[type="checkbox"]:indeterminate:hover:not(:disabled) {\n background-color: var(--diwa-accent-hover);\n border-color: var(--diwa-accent-hover);\n }\n\n /* ── Validation states ────────────────────────────────────────────── */\n\n :host([state="error"]) input[type="checkbox"]:not(:checked):not(:indeterminate) {\n border-color: var(--diwa-notification-error);\n }\n\n :host([state="error"]) input[type="checkbox"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\n border-color: var(--diwa-notification-error);\n background-color: var(--diwa-bg-hover);\n }\n\n :host([state="success"]) input[type="checkbox"]:not(:checked):not(:indeterminate) {\n border-color: var(--diwa-notification-success);\n }\n\n :host([state="success"]) input[type="checkbox"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\n border-color: var(--diwa-notification-success);\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Disabled ─────────────────────────────────────────────────────── */\n\n :host([disabled]) {\n opacity: var(--diwa-opacity-disabled);\n pointer-events: none;\n }\n\n /* ── Label ────────────────────────────────────────────────────────── */\n\n .label {\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-regular);\n line-height: 1.5;\n color: var(--diwa-text-primary);\n cursor: pointer;\n }\n\n :host([disabled]) .label {\n cursor: not-allowed;\n }\n\n /* Visually-hidden label (still read by screen readers) */\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* Required asterisk */\n .required {\n color: var(--diwa-notification-error);\n margin-left: var(--diwa-space-0-5);\n }\n\n /* ── Message ──────────────────────────────────────────────────────── */\n\n .message {\n display: block;\n font-size: var(--diwa-font-size-sm);\n line-height: 1.4;\n color: ${h};\n /* Indent to align under the label, not the checkbox */\n padding-left: calc(${i} + var(--diwa-space-3));\n }\n\n /* ── Reduced motion ───────────────────────────────────────────────── */\n\n ${r('input[type="checkbox"]')}\n`};const l=class{constructor(t){n(this,t);this.update=e(this,"update",1);this.theme="dark";this.label="";this.name="";this.value="on";this.checked=false;this.indeterminate=false;this.disabled=false;this.required=false;this.state="none";this.message="";this.compact=false;this.hideLabel=false;this.handleChange=n=>{const e=n.target;this.checked=e.checked;if(this.indeterminate){this.host.removeAttribute("indeterminate")}this.update.emit({checked:this.checked,name:this.name,value:this.value})};this.setCheckboxRef=n=>{this.checkboxEl=n;if(n){n.indeterminate=this.indeterminate}}}watchIndeterminate(n){if(this.checkboxEl){this.checkboxEl.indeterminate=n}}render(){const n="diwa-checkbox-msg";const e=!!this.message&&this.state!=="none";return t(a,{key:"4a275738fb178f5ca410adf8385d68a274cf8d93","data-theme":this.theme},t("style",{key:"13e8d7ac361c165947f5a2e25bb06ecb66440704",innerHTML:h(this.state,this.disabled,this.compact)}),t("div",{key:"f35a19d3d08107f69d16b3b6b488526849d2d87b",class:"root"},t("div",{key:"28d6619129ccc4aea2424abe2a9c423331772e5e",class:"wrapper"},t("div",{key:"bf5025023183026f918e5b704fe1d15cf796012e",class:"input-container"},t("input",{key:"6a2ddb4a178a42c5201e2e23a6b44f9d34b8d3c4",type:"checkbox",id:"cb",checked:this.checked,disabled:this.disabled,required:this.required,name:this.name,value:this.value,"aria-checked":this.indeterminate?"mixed":undefined,"aria-describedby":e?n:undefined,onChange:this.handleChange,ref:this.setCheckboxRef})),this.label&&t("label",{key:"fd1131c140a407f03372e926eef701d90ad6ead6",class:`label${this.hideLabel?" label--hidden":""}`,htmlFor:"cb"},this.label,this.required&&t("span",{key:"4aacf002203ea4338455d1bd8df93f892a3175a6",class:"required","aria-hidden":"true"}," ","*"))),e&&t("span",{key:"d99ead9fd47dd27adde24cf87d24bce86431aa40",id:n,class:"message"},this.message)))}static get delegatesFocus(){return true}get host(){return i(this)}static get watchers(){return{indeterminate:["watchIndeterminate"]}}};export{l as diwa_checkbox};
2
- //# sourceMappingURL=p-851e4c86.entry.js.map