@diwacopilot/components 1.2.0 → 1.2.1

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 (943) hide show
  1. package/dist/cjs/{checkbox-mark-06d56fe2.js → checkbox-mark-CtRWZxo8.js} +0 -2
  2. package/dist/cjs/diwa-accordion.cjs.entry.js +2 -6
  3. package/dist/cjs/diwa-badge.cjs.entry.js +2 -6
  4. package/dist/cjs/diwa-button-pure.cjs.entry.js +2 -6
  5. package/dist/cjs/diwa-button.cjs.entry.js +2 -6
  6. package/dist/cjs/diwa-checkbox.cjs.entry.js +6 -8
  7. package/dist/cjs/diwa-components.cjs.js +7 -10
  8. package/dist/cjs/diwa-divider.cjs.entry.js +1 -5
  9. package/dist/cjs/diwa-flyout.cjs.entry.js +5 -7
  10. package/dist/cjs/diwa-heading.cjs.entry.js +1 -5
  11. package/dist/cjs/diwa-icon.cjs.entry.js +553 -557
  12. package/dist/cjs/diwa-inline-notification.cjs.entry.js +1 -5
  13. package/dist/cjs/diwa-input-date.cjs.entry.js +3 -7
  14. package/dist/cjs/diwa-input-email.cjs.entry.js +3 -7
  15. package/dist/cjs/diwa-input-month.cjs.entry.js +3 -7
  16. package/dist/cjs/diwa-input-number.cjs.entry.js +3 -7
  17. package/dist/cjs/diwa-input-password.cjs.entry.js +3 -7
  18. package/dist/cjs/diwa-input-search.cjs.entry.js +3 -7
  19. package/dist/cjs/diwa-input-tel.cjs.entry.js +3 -7
  20. package/dist/cjs/diwa-input-text.cjs.entry.js +3 -7
  21. package/dist/cjs/diwa-input-time.cjs.entry.js +3 -7
  22. package/dist/cjs/diwa-input-url.cjs.entry.js +3 -7
  23. package/dist/cjs/diwa-input-week.cjs.entry.js +3 -7
  24. package/dist/cjs/diwa-input.cjs.entry.js +2 -6
  25. package/dist/cjs/diwa-link-pure.cjs.entry.js +2 -6
  26. package/dist/cjs/diwa-link.cjs.entry.js +2 -6
  27. package/dist/cjs/diwa-modal.cjs.entry.js +5 -7
  28. package/dist/cjs/diwa-multi-select-option.cjs.entry.js +12 -10
  29. package/dist/cjs/diwa-multi-select.cjs.entry.js +14 -10
  30. package/dist/cjs/diwa-pagination.cjs.entry.js +2 -6
  31. package/dist/cjs/diwa-pin-code.cjs.entry.js +2 -6
  32. package/dist/cjs/diwa-popover.cjs.entry.js +2 -6
  33. package/dist/cjs/diwa-radio-group-item.cjs.entry.js +5 -7
  34. package/dist/cjs/diwa-radio-group.cjs.entry.js +1 -5
  35. package/dist/cjs/diwa-scroller.cjs.entry.js +2 -6
  36. package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +2 -6
  37. package/dist/cjs/diwa-segmented-control.cjs.entry.js +1 -5
  38. package/dist/cjs/diwa-select-option.cjs.entry.js +2 -6
  39. package/dist/cjs/diwa-select.cjs.entry.js +14 -10
  40. package/dist/cjs/diwa-spinner.cjs.entry.js +3 -7
  41. package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js +1 -5
  42. package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js +4 -6
  43. package/dist/cjs/diwa-switch.cjs.entry.js +2 -6
  44. package/dist/cjs/diwa-table-body.cjs.entry.js +1 -5
  45. package/dist/cjs/diwa-table-cell.cjs.entry.js +1 -5
  46. package/dist/cjs/diwa-table-head-cell.cjs.entry.js +1 -5
  47. package/dist/cjs/diwa-table-head.cjs.entry.js +1 -5
  48. package/dist/cjs/diwa-table-row.cjs.entry.js +1 -5
  49. package/dist/cjs/diwa-table.cjs.entry.js +1 -5
  50. package/dist/cjs/diwa-tabs-bar.cjs.entry.js +5 -7
  51. package/dist/cjs/diwa-tabs-item.cjs.entry.js +1 -5
  52. package/dist/cjs/diwa-tabs.cjs.entry.js +5 -7
  53. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +2 -6
  54. package/dist/cjs/diwa-tag.cjs.entry.js +1 -5
  55. package/dist/cjs/diwa-text-list-item.cjs.entry.js +1 -5
  56. package/dist/cjs/diwa-text-list.cjs.entry.js +1 -5
  57. package/dist/cjs/diwa-text.cjs.entry.js +1 -5
  58. package/dist/cjs/diwa-textarea.cjs.entry.js +2 -6
  59. package/dist/cjs/diwa-toast-item.cjs.entry.js +2 -6
  60. package/dist/cjs/diwa-toast.cjs.entry.js +1 -5
  61. package/dist/cjs/index-Bq2UsXlc.js +1633 -0
  62. package/dist/cjs/index.cjs.js +0 -2
  63. package/dist/cjs/{input-styles-bac68ebc.js → input-styles-6kXkwbQg.js} +1 -3
  64. package/dist/cjs/{loader-circle-938f782b.js → loader-circle-ffvGKJXL.js} +0 -2
  65. package/dist/cjs/loader.cjs.js +3 -8
  66. package/dist/cjs/{styles-6342300d.js → styles-5PsdHYbv.js} +0 -2
  67. package/dist/collection/collection-manifest.json +3 -2
  68. package/dist/collection/components/diwa-accordion/diwa-accordion-styles.js +0 -1
  69. package/dist/collection/components/diwa-accordion/diwa-accordion.js +9 -8
  70. package/dist/collection/components/diwa-accordion/types.js +0 -1
  71. package/dist/collection/components/diwa-badge/diwa-badge-styles.js +0 -1
  72. package/dist/collection/components/diwa-badge/diwa-badge.js +12 -10
  73. package/dist/collection/components/diwa-badge/types.js +0 -1
  74. package/dist/collection/components/diwa-button/diwa-button-styles.js +0 -1
  75. package/dist/collection/components/diwa-button/diwa-button-utils.js +0 -1
  76. package/dist/collection/components/diwa-button/diwa-button.js +26 -23
  77. package/dist/collection/components/diwa-button/types.js +0 -1
  78. package/dist/collection/components/diwa-button-pure/diwa-button-pure-styles.js +0 -1
  79. package/dist/collection/components/diwa-button-pure/diwa-button-pure-utils.js +0 -1
  80. package/dist/collection/components/diwa-button-pure/diwa-button-pure.js +29 -26
  81. package/dist/collection/components/diwa-button-pure/types.js +0 -1
  82. package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js +0 -1
  83. package/dist/collection/components/diwa-checkbox/diwa-checkbox.js +16 -15
  84. package/dist/collection/components/diwa-checkbox/types.js +0 -1
  85. package/dist/collection/components/diwa-divider/diwa-divider-styles.js +0 -1
  86. package/dist/collection/components/diwa-divider/diwa-divider.js +6 -5
  87. package/dist/collection/components/diwa-divider/types.js +0 -1
  88. package/dist/collection/components/diwa-flyout/diwa-flyout-styles.js +0 -1
  89. package/dist/collection/components/diwa-flyout/diwa-flyout.js +11 -9
  90. package/dist/collection/components/diwa-flyout/types.js +0 -1
  91. package/dist/collection/components/diwa-heading/diwa-heading-styles.js +0 -1
  92. package/dist/collection/components/diwa-heading/diwa-heading-utils.js +0 -1
  93. package/dist/collection/components/diwa-heading/diwa-heading.js +20 -15
  94. package/dist/collection/components/diwa-heading/types.js +0 -1
  95. package/dist/collection/components/diwa-icon/diwa-icon-styles.js +0 -1
  96. package/dist/collection/components/diwa-icon/diwa-icon.js +8 -8
  97. package/dist/collection/components/diwa-icon/types.js +0 -1
  98. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js +0 -1
  99. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js +12 -11
  100. package/dist/collection/components/diwa-inline-notification/types.js +0 -1
  101. package/dist/collection/components/diwa-input/diwa-input-styles.js +0 -1
  102. package/dist/collection/components/diwa-input/diwa-input.js +25 -23
  103. package/dist/collection/components/diwa-input/input-styles.js +0 -1
  104. package/dist/collection/components/diwa-input/types.js +0 -1
  105. package/dist/collection/components/diwa-input-date/diwa-input-date-styles.js +0 -1
  106. package/dist/collection/components/diwa-input-date/diwa-input-date.js +23 -22
  107. package/dist/collection/components/diwa-input-email/diwa-input-email-styles.js +0 -1
  108. package/dist/collection/components/diwa-input-email/diwa-input-email.js +19 -18
  109. package/dist/collection/components/diwa-input-month/diwa-input-month-styles.js +0 -1
  110. package/dist/collection/components/diwa-input-month/diwa-input-month.js +23 -22
  111. package/dist/collection/components/diwa-input-number/diwa-input-number-styles.js +0 -1
  112. package/dist/collection/components/diwa-input-number/diwa-input-number.js +25 -24
  113. package/dist/collection/components/diwa-input-password/diwa-input-password-styles.js +0 -1
  114. package/dist/collection/components/diwa-input-password/diwa-input-password.js +20 -19
  115. package/dist/collection/components/diwa-input-search/diwa-input-search-styles.js +0 -1
  116. package/dist/collection/components/diwa-input-search/diwa-input-search.js +20 -19
  117. package/dist/collection/components/diwa-input-tel/diwa-input-tel-styles.js +0 -1
  118. package/dist/collection/components/diwa-input-tel/diwa-input-tel.js +19 -18
  119. package/dist/collection/components/diwa-input-text/diwa-input-text-styles.js +0 -1
  120. package/dist/collection/components/diwa-input-text/diwa-input-text.js +25 -24
  121. package/dist/collection/components/diwa-input-time/diwa-input-time-styles.js +0 -1
  122. package/dist/collection/components/diwa-input-time/diwa-input-time.js +25 -24
  123. package/dist/collection/components/diwa-input-url/diwa-input-url-styles.js +0 -1
  124. package/dist/collection/components/diwa-input-url/diwa-input-url.js +19 -18
  125. package/dist/collection/components/diwa-input-week/diwa-input-week-styles.js +0 -1
  126. package/dist/collection/components/diwa-input-week/diwa-input-week.js +23 -22
  127. package/dist/collection/components/diwa-link/diwa-link-styles.js +0 -1
  128. package/dist/collection/components/diwa-link/diwa-link.js +21 -19
  129. package/dist/collection/components/diwa-link/types.js +0 -1
  130. package/dist/collection/components/diwa-link-pure/diwa-link-pure-styles.js +0 -1
  131. package/dist/collection/components/diwa-link-pure/diwa-link-pure.js +25 -22
  132. package/dist/collection/components/diwa-link-pure/types.js +0 -1
  133. package/dist/collection/components/diwa-modal/diwa-modal-styles.js +0 -1
  134. package/dist/collection/components/diwa-modal/diwa-modal-utils.js +0 -1
  135. package/dist/collection/components/diwa-modal/diwa-modal.js +11 -10
  136. package/dist/collection/components/diwa-modal/types.js +0 -1
  137. package/dist/collection/components/diwa-multi-select/diwa-multi-select-styles.js +0 -1
  138. package/dist/collection/components/diwa-multi-select/diwa-multi-select.js +24 -20
  139. package/dist/collection/components/diwa-multi-select/types.js +0 -1
  140. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option-styles.js +0 -1
  141. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js +9 -9
  142. package/dist/collection/components/diwa-multi-select-option/types.js +0 -1
  143. package/dist/collection/components/diwa-pagination/diwa-pagination-styles.js +0 -1
  144. package/dist/collection/components/diwa-pagination/diwa-pagination-utils.js +0 -1
  145. package/dist/collection/components/diwa-pagination/diwa-pagination.js +12 -10
  146. package/dist/collection/components/diwa-pagination/types.js +0 -1
  147. package/dist/collection/components/diwa-pin-code/diwa-pin-code-styles.js +0 -1
  148. package/dist/collection/components/diwa-pin-code/diwa-pin-code.js +20 -17
  149. package/dist/collection/components/diwa-pin-code/types.js +0 -1
  150. package/dist/collection/components/diwa-popover/diwa-popover-styles.js +0 -1
  151. package/dist/collection/components/diwa-popover/diwa-popover.js +8 -7
  152. package/dist/collection/components/diwa-popover/types.js +0 -1
  153. package/dist/collection/components/diwa-radio-group/diwa-radio-group-styles.js +0 -1
  154. package/dist/collection/components/diwa-radio-group/diwa-radio-group.js +20 -17
  155. package/dist/collection/components/diwa-radio-group/types.js +0 -1
  156. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js +0 -1
  157. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js +8 -8
  158. package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js +0 -1
  159. package/dist/collection/components/diwa-scroller/diwa-scroller.js +7 -6
  160. package/dist/collection/components/diwa-scroller/types.js +0 -1
  161. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control-styles.js +0 -1
  162. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js +8 -7
  163. package/dist/collection/components/diwa-segmented-control/types.js +0 -1
  164. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.js +0 -1
  165. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js +7 -7
  166. package/dist/collection/components/diwa-select/diwa-select-styles.js +0 -1
  167. package/dist/collection/components/diwa-select/diwa-select.js +26 -22
  168. package/dist/collection/components/diwa-select/types.js +0 -1
  169. package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js +0 -1
  170. package/dist/collection/components/diwa-select-option/diwa-select-option.js +9 -9
  171. package/dist/collection/components/diwa-select-option/types.js +0 -1
  172. package/dist/collection/components/diwa-spinner/diwa-spinner-styles.js +0 -1
  173. package/dist/collection/components/diwa-spinner/diwa-spinner.js +7 -6
  174. package/dist/collection/components/diwa-spinner/types.js +0 -1
  175. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.js +0 -1
  176. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js +6 -5
  177. package/dist/collection/components/diwa-stepper-horizontal/types.js +0 -1
  178. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item-styles.js +0 -1
  179. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js +10 -9
  180. package/dist/collection/components/diwa-stepper-horizontal-item/types.js +0 -1
  181. package/dist/collection/components/diwa-switch/diwa-switch-styles.js +0 -1
  182. package/dist/collection/components/diwa-switch/diwa-switch.js +12 -10
  183. package/dist/collection/components/diwa-switch/types.js +0 -1
  184. package/dist/collection/components/diwa-table/diwa-table-styles.js +0 -1
  185. package/dist/collection/components/diwa-table/diwa-table.js +10 -9
  186. package/dist/collection/components/diwa-table-body/diwa-table-body-styles.js +0 -1
  187. package/dist/collection/components/diwa-table-body/diwa-table-body.js +3 -3
  188. package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js +0 -1
  189. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js +4 -4
  190. package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js +0 -1
  191. package/dist/collection/components/diwa-table-head/diwa-table-head.js +3 -3
  192. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js +0 -1
  193. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js +7 -6
  194. package/dist/collection/components/diwa-table-head-cell/types.js +0 -1
  195. package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js +0 -1
  196. package/dist/collection/components/diwa-table-row/diwa-table-row.js +3 -3
  197. package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js +0 -1
  198. package/dist/collection/components/diwa-tabs/diwa-tabs.js +6 -5
  199. package/dist/collection/components/diwa-tabs/types.js +0 -1
  200. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar-styles.js +0 -1
  201. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js +6 -5
  202. package/dist/collection/components/diwa-tabs-bar/types.js +0 -1
  203. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item-styles.js +0 -1
  204. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js +5 -5
  205. package/dist/collection/components/diwa-tag/diwa-tag-styles.js +0 -1
  206. package/dist/collection/components/diwa-tag/diwa-tag.js +9 -8
  207. package/dist/collection/components/diwa-tag/types.js +0 -1
  208. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js +0 -1
  209. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js +8 -7
  210. package/dist/collection/components/diwa-tag-dismissible/types.js +0 -1
  211. package/dist/collection/components/diwa-text/diwa-text-styles.js +0 -1
  212. package/dist/collection/components/diwa-text/diwa-text.js +19 -14
  213. package/dist/collection/components/diwa-text/types.js +0 -1
  214. package/dist/collection/components/diwa-text-list/diwa-text-list-styles.js +0 -1
  215. package/dist/collection/components/diwa-text-list/diwa-text-list.js +6 -5
  216. package/dist/collection/components/diwa-text-list/types.js +0 -1
  217. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item-styles.js +0 -1
  218. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js +3 -3
  219. package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js +0 -1
  220. package/dist/collection/components/diwa-textarea/diwa-textarea.js +25 -23
  221. package/dist/collection/components/diwa-textarea/types.js +0 -1
  222. package/dist/collection/components/diwa-toast/diwa-toast-manager.js +0 -1
  223. package/dist/collection/components/diwa-toast/diwa-toast-styles.js +0 -1
  224. package/dist/collection/components/diwa-toast/diwa-toast.js +5 -4
  225. package/dist/collection/components/diwa-toast/types.js +0 -1
  226. package/dist/collection/components/diwa-toast-item/diwa-toast-item-styles.js +0 -1
  227. package/dist/collection/components/diwa-toast-item/diwa-toast-item.js +7 -6
  228. package/dist/collection/components/diwa-toast-item/types.js +0 -1
  229. package/dist/collection/styles/index.js +0 -1
  230. package/dist/collection/utils/checkbox-mark.js +0 -1
  231. package/dist/collection/utils/styles.js +0 -1
  232. package/dist/diwa-components/diwa-components.esm.js +1 -2
  233. package/dist/diwa-components/index.esm.js +0 -2
  234. package/dist/diwa-components/p-0464bec9.entry.js +1 -0
  235. package/dist/diwa-components/p-0b64284f.entry.js +1 -0
  236. package/dist/diwa-components/p-1444a9ab.entry.js +1 -0
  237. package/dist/diwa-components/p-1477c011.entry.js +1 -0
  238. package/dist/diwa-components/p-1fd1e80f.entry.js +1 -0
  239. package/dist/diwa-components/p-2c91a89f.entry.js +1 -0
  240. package/dist/diwa-components/p-2df54c74.entry.js +1 -0
  241. package/dist/diwa-components/p-31a1a9d0.entry.js +1 -0
  242. package/dist/diwa-components/p-32f6f60f.entry.js +1 -0
  243. package/dist/diwa-components/p-3470cacf.entry.js +1 -0
  244. package/dist/diwa-components/p-3646d89c.entry.js +1 -0
  245. package/dist/diwa-components/p-381a9636.entry.js +1 -0
  246. package/dist/diwa-components/p-42c2e78f.entry.js +1 -0
  247. package/dist/diwa-components/p-441b5572.entry.js +20 -0
  248. package/dist/diwa-components/p-4eb10d53.entry.js +1 -0
  249. package/dist/diwa-components/p-56065aae.entry.js +1 -0
  250. package/dist/diwa-components/p-5ac35f24.entry.js +1 -0
  251. package/dist/diwa-components/p-5f3eb06c.entry.js +1 -0
  252. package/dist/diwa-components/p-5f6acee8.entry.js +1 -0
  253. package/dist/diwa-components/p-60b7d800.entry.js +1 -0
  254. package/dist/diwa-components/p-62ceff1c.entry.js +1 -0
  255. package/dist/diwa-components/p-64eba4ff.entry.js +1 -0
  256. package/dist/diwa-components/p-666a454d.entry.js +1 -0
  257. package/dist/diwa-components/p-66e52853.entry.js +1 -0
  258. package/dist/diwa-components/p-6854dbc2.entry.js +1 -0
  259. package/dist/diwa-components/p-705e3591.entry.js +1 -0
  260. package/dist/diwa-components/p-751c1cec.entry.js +1 -0
  261. package/dist/diwa-components/p-75fc7b78.entry.js +1 -0
  262. package/dist/diwa-components/p-7685a36c.entry.js +1 -0
  263. package/dist/diwa-components/p-79285ede.entry.js +1 -0
  264. package/dist/diwa-components/p-7f8b0415.entry.js +1 -0
  265. package/dist/diwa-components/p-8382b5c1.entry.js +1 -0
  266. package/dist/diwa-components/p-83f30c46.entry.js +1 -0
  267. package/dist/diwa-components/p-8935224c.entry.js +1 -0
  268. package/dist/diwa-components/p-8dc451e9.entry.js +1 -0
  269. package/dist/diwa-components/{p-878039a1.entry.js → p-90908708.entry.js} +1 -2
  270. package/dist/diwa-components/p-93c272e7.entry.js +1 -0
  271. package/dist/diwa-components/p-BwlWwC6a.js +1 -0
  272. package/dist/diwa-components/p-Bxp9mYAq.js +1 -0
  273. package/dist/{esm/loader-circle-300f00a4.js → diwa-components/p-C2RYv3Oc.js} +1 -6
  274. package/dist/diwa-components/p-C8h0Vfqp.js +1 -0
  275. package/dist/diwa-components/p-aca3021c.entry.js +1 -0
  276. package/dist/diwa-components/p-af3c7852.entry.js +1 -0
  277. package/dist/diwa-components/p-af5ea6ca.entry.js +1 -0
  278. package/dist/diwa-components/p-b6ac25e9.entry.js +1 -0
  279. package/dist/diwa-components/p-b703e5ba.entry.js +1 -0
  280. package/dist/diwa-components/p-b731e0ff.entry.js +1 -0
  281. package/dist/diwa-components/p-b8033105.entry.js +1 -0
  282. package/dist/diwa-components/p-b9405336.entry.js +1 -0
  283. package/dist/diwa-components/p-beddaf7c.entry.js +1 -0
  284. package/dist/diwa-components/p-c3f84fe0.entry.js +1 -0
  285. package/dist/diwa-components/p-c976a4f6.entry.js +1 -0
  286. package/dist/diwa-components/p-cf210625.entry.js +1 -0
  287. package/dist/diwa-components/p-d2bbb7e5.entry.js +1 -0
  288. package/dist/diwa-components/p-d5854ff6.entry.js +1 -0
  289. package/dist/diwa-components/p-da77bfd3.entry.js +1 -0
  290. package/dist/diwa-components/p-e4899408.entry.js +1 -0
  291. package/dist/diwa-components/p-e9087552.entry.js +1 -0
  292. package/dist/diwa-components/p-eecd810e.entry.js +1 -0
  293. package/dist/diwa-components/p-f1f5912b.entry.js +1 -0
  294. package/dist/diwa-components/p-f3d75c79.entry.js +1 -0
  295. package/dist/diwa-components/p-faa007fa.entry.js +1 -0
  296. package/dist/diwa-components/p-rIMpxxZG.js +2 -0
  297. package/{dist-custom-elements/p-332838f8.js → dist/esm/checkbox-mark-Bxp9mYAq.js} +0 -2
  298. package/dist/esm/diwa-accordion.entry.js +2 -4
  299. package/dist/esm/diwa-badge.entry.js +2 -4
  300. package/dist/esm/diwa-button-pure.entry.js +2 -4
  301. package/dist/esm/diwa-button.entry.js +2 -4
  302. package/dist/esm/diwa-checkbox.entry.js +6 -6
  303. package/dist/esm/diwa-components.js +5 -7
  304. package/dist/esm/diwa-divider.entry.js +1 -3
  305. package/dist/esm/diwa-flyout.entry.js +5 -5
  306. package/dist/esm/diwa-heading.entry.js +1 -3
  307. package/dist/esm/diwa-icon.entry.js +553 -555
  308. package/dist/esm/diwa-inline-notification.entry.js +1 -3
  309. package/dist/esm/diwa-input-date.entry.js +3 -5
  310. package/dist/esm/diwa-input-email.entry.js +3 -5
  311. package/dist/esm/diwa-input-month.entry.js +3 -5
  312. package/dist/esm/diwa-input-number.entry.js +3 -5
  313. package/dist/esm/diwa-input-password.entry.js +3 -5
  314. package/dist/esm/diwa-input-search.entry.js +3 -5
  315. package/dist/esm/diwa-input-tel.entry.js +3 -5
  316. package/dist/esm/diwa-input-text.entry.js +3 -5
  317. package/dist/esm/diwa-input-time.entry.js +3 -5
  318. package/dist/esm/diwa-input-url.entry.js +3 -5
  319. package/dist/esm/diwa-input-week.entry.js +3 -5
  320. package/dist/esm/diwa-input.entry.js +2 -4
  321. package/dist/esm/diwa-link-pure.entry.js +2 -4
  322. package/dist/esm/diwa-link.entry.js +2 -4
  323. package/dist/esm/diwa-modal.entry.js +5 -5
  324. package/dist/esm/diwa-multi-select-option.entry.js +12 -8
  325. package/dist/esm/diwa-multi-select.entry.js +14 -8
  326. package/dist/esm/diwa-pagination.entry.js +2 -4
  327. package/dist/esm/diwa-pin-code.entry.js +2 -4
  328. package/dist/esm/diwa-popover.entry.js +2 -4
  329. package/dist/esm/diwa-radio-group-item.entry.js +5 -5
  330. package/dist/esm/diwa-radio-group.entry.js +1 -3
  331. package/dist/esm/diwa-scroller.entry.js +2 -4
  332. package/dist/esm/diwa-segmented-control-item.entry.js +2 -4
  333. package/dist/esm/diwa-segmented-control.entry.js +1 -3
  334. package/dist/esm/diwa-select-option.entry.js +2 -4
  335. package/dist/esm/diwa-select.entry.js +14 -8
  336. package/dist/esm/diwa-spinner.entry.js +3 -5
  337. package/dist/esm/diwa-stepper-horizontal-item.entry.js +1 -3
  338. package/dist/esm/diwa-stepper-horizontal.entry.js +4 -4
  339. package/dist/esm/diwa-switch.entry.js +2 -4
  340. package/dist/esm/diwa-table-body.entry.js +1 -3
  341. package/dist/esm/diwa-table-cell.entry.js +1 -3
  342. package/dist/esm/diwa-table-head-cell.entry.js +1 -3
  343. package/dist/esm/diwa-table-head.entry.js +1 -3
  344. package/dist/esm/diwa-table-row.entry.js +1 -3
  345. package/dist/esm/diwa-table.entry.js +1 -3
  346. package/dist/esm/diwa-tabs-bar.entry.js +5 -5
  347. package/dist/esm/diwa-tabs-item.entry.js +1 -3
  348. package/dist/esm/diwa-tabs.entry.js +5 -5
  349. package/dist/esm/diwa-tag-dismissible.entry.js +2 -4
  350. package/dist/esm/diwa-tag.entry.js +1 -3
  351. package/dist/esm/diwa-text-list-item.entry.js +1 -3
  352. package/dist/esm/diwa-text-list.entry.js +1 -3
  353. package/dist/esm/diwa-text.entry.js +1 -3
  354. package/dist/esm/diwa-textarea.entry.js +2 -4
  355. package/dist/esm/diwa-toast-item.entry.js +2 -4
  356. package/dist/esm/diwa-toast.entry.js +1 -3
  357. package/dist/esm/index-rIMpxxZG.js +1622 -0
  358. package/dist/esm/index.js +0 -2
  359. package/{dist-custom-elements/p-35c7c864.js → dist/esm/input-styles-C-F9Vg7B.js} +1 -3
  360. package/{dist-custom-elements/p-ac8e14be.js → dist/esm/loader-circle-C2RYv3Oc.js} +0 -2
  361. package/dist/esm/loader.js +3 -6
  362. package/{dist-custom-elements/p-70bbb21a.js → dist/esm/styles-C8h0Vfqp.js} +1 -3
  363. package/dist/types/components.d.ts +2091 -116
  364. package/dist/types/stencil-public-runtime.d.ts +192 -12
  365. package/dist-custom-elements/diwa-accordion.js +1 -244
  366. package/dist-custom-elements/diwa-badge.js +1 -166
  367. package/dist-custom-elements/diwa-button-pure.js +1 -8
  368. package/dist-custom-elements/diwa-button.js +1 -455
  369. package/dist-custom-elements/diwa-checkbox.js +1 -315
  370. package/dist-custom-elements/diwa-divider.js +1 -85
  371. package/dist-custom-elements/diwa-flyout.js +1 -238
  372. package/dist-custom-elements/diwa-heading.js +1 -149
  373. package/dist-custom-elements/diwa-icon.js +1 -8
  374. package/dist-custom-elements/diwa-inline-notification.js +1 -214
  375. package/dist-custom-elements/diwa-input-date.js +1 -91
  376. package/dist-custom-elements/diwa-input-email.js +1 -89
  377. package/dist-custom-elements/diwa-input-month.js +1 -91
  378. package/dist-custom-elements/diwa-input-number.js +1 -92
  379. package/dist-custom-elements/diwa-input-password.js +1 -105
  380. package/dist-custom-elements/diwa-input-search.js +1 -104
  381. package/dist-custom-elements/diwa-input-tel.js +1 -89
  382. package/dist-custom-elements/diwa-input-text.js +1 -94
  383. package/dist-custom-elements/diwa-input-time.js +1 -92
  384. package/dist-custom-elements/diwa-input-url.js +1 -89
  385. package/dist-custom-elements/diwa-input-week.js +1 -91
  386. package/dist-custom-elements/diwa-input.js +1 -268
  387. package/dist-custom-elements/diwa-link-pure.js +1 -217
  388. package/dist-custom-elements/diwa-link.js +1 -258
  389. package/dist-custom-elements/diwa-modal.js +1 -431
  390. package/dist-custom-elements/diwa-multi-select-option.js +1 -199
  391. package/dist-custom-elements/diwa-multi-select.js +1 -683
  392. package/dist-custom-elements/diwa-pagination.js +1 -329
  393. package/dist-custom-elements/diwa-pin-code.js +1 -220
  394. package/dist-custom-elements/diwa-popover.js +1 -122
  395. package/dist-custom-elements/diwa-radio-group-item.js +1 -160
  396. package/dist-custom-elements/diwa-radio-group.js +1 -178
  397. package/dist-custom-elements/diwa-scroller.js +1 -185
  398. package/dist-custom-elements/diwa-segmented-control-item.js +1 -98
  399. package/dist-custom-elements/diwa-segmented-control.js +1 -88
  400. package/dist-custom-elements/diwa-select-option.js +1 -185
  401. package/dist-custom-elements/diwa-select.js +1 -614
  402. package/dist-custom-elements/diwa-spinner.js +1 -8
  403. package/dist-custom-elements/diwa-stepper-horizontal-item.js +1 -140
  404. package/dist-custom-elements/diwa-stepper-horizontal.js +1 -98
  405. package/dist-custom-elements/diwa-switch.js +1 -162
  406. package/dist-custom-elements/diwa-table-body.js +1 -44
  407. package/dist-custom-elements/diwa-table-cell.js +1 -54
  408. package/dist-custom-elements/diwa-table-head-cell.js +1 -131
  409. package/dist-custom-elements/diwa-table-head.js +1 -53
  410. package/dist-custom-elements/diwa-table-row.js +1 -48
  411. package/dist-custom-elements/diwa-table.js +1 -135
  412. package/dist-custom-elements/diwa-tabs-bar.js +1 -251
  413. package/dist-custom-elements/diwa-tabs-item.js +1 -56
  414. package/dist-custom-elements/diwa-tabs.js +1 -137
  415. package/dist-custom-elements/diwa-tag-dismissible.js +1 -132
  416. package/dist-custom-elements/diwa-tag.js +1 -118
  417. package/dist-custom-elements/diwa-text-list-item.js +1 -51
  418. package/dist-custom-elements/diwa-text-list.js +1 -67
  419. package/dist-custom-elements/diwa-text.js +1 -110
  420. package/dist-custom-elements/diwa-textarea.js +1 -191
  421. package/dist-custom-elements/diwa-toast-item.js +1 -8
  422. package/dist-custom-elements/diwa-toast.js +1 -191
  423. package/dist-custom-elements/index.js +1 -3
  424. package/dist-custom-elements/p--KdL_8_k.js +1 -0
  425. package/dist-custom-elements/p-BwlWwC6a.js +1 -0
  426. package/dist-custom-elements/p-Bxp9mYAq.js +1 -0
  427. package/{dist/diwa-components/p-ac8e14be.js → dist-custom-elements/p-C2RYv3Oc.js} +1 -2
  428. package/dist-custom-elements/p-C3hNpgqg.js +1 -0
  429. package/dist-custom-elements/p-C8h0Vfqp.js +1 -0
  430. package/dist-custom-elements/p-DOo0FY37.js +20 -0
  431. package/dist-custom-elements/p-DzqnTNg7.js +1 -0
  432. package/package.json +3 -3
  433. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  434. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  435. package/dist/cjs/checkbox-mark-06d56fe2.js.map +0 -1
  436. package/dist/cjs/diwa-accordion.cjs.entry.js.map +0 -1
  437. package/dist/cjs/diwa-badge.cjs.entry.js.map +0 -1
  438. package/dist/cjs/diwa-button-pure.cjs.entry.js.map +0 -1
  439. package/dist/cjs/diwa-button.cjs.entry.js.map +0 -1
  440. package/dist/cjs/diwa-checkbox.cjs.entry.js.map +0 -1
  441. package/dist/cjs/diwa-components.cjs.js.map +0 -1
  442. package/dist/cjs/diwa-divider.cjs.entry.js.map +0 -1
  443. package/dist/cjs/diwa-flyout.cjs.entry.js.map +0 -1
  444. package/dist/cjs/diwa-heading.cjs.entry.js.map +0 -1
  445. package/dist/cjs/diwa-icon.cjs.entry.js.map +0 -1
  446. package/dist/cjs/diwa-inline-notification.cjs.entry.js.map +0 -1
  447. package/dist/cjs/diwa-input-date.cjs.entry.js.map +0 -1
  448. package/dist/cjs/diwa-input-email.cjs.entry.js.map +0 -1
  449. package/dist/cjs/diwa-input-month.cjs.entry.js.map +0 -1
  450. package/dist/cjs/diwa-input-number.cjs.entry.js.map +0 -1
  451. package/dist/cjs/diwa-input-password.cjs.entry.js.map +0 -1
  452. package/dist/cjs/diwa-input-search.cjs.entry.js.map +0 -1
  453. package/dist/cjs/diwa-input-tel.cjs.entry.js.map +0 -1
  454. package/dist/cjs/diwa-input-text.cjs.entry.js.map +0 -1
  455. package/dist/cjs/diwa-input-time.cjs.entry.js.map +0 -1
  456. package/dist/cjs/diwa-input-url.cjs.entry.js.map +0 -1
  457. package/dist/cjs/diwa-input-week.cjs.entry.js.map +0 -1
  458. package/dist/cjs/diwa-input.cjs.entry.js.map +0 -1
  459. package/dist/cjs/diwa-link-pure.cjs.entry.js.map +0 -1
  460. package/dist/cjs/diwa-link.cjs.entry.js.map +0 -1
  461. package/dist/cjs/diwa-modal.cjs.entry.js.map +0 -1
  462. package/dist/cjs/diwa-multi-select-option.cjs.entry.js.map +0 -1
  463. package/dist/cjs/diwa-multi-select.cjs.entry.js.map +0 -1
  464. package/dist/cjs/diwa-pagination.cjs.entry.js.map +0 -1
  465. package/dist/cjs/diwa-pin-code.cjs.entry.js.map +0 -1
  466. package/dist/cjs/diwa-popover.cjs.entry.js.map +0 -1
  467. package/dist/cjs/diwa-radio-group-item.cjs.entry.js.map +0 -1
  468. package/dist/cjs/diwa-radio-group.cjs.entry.js.map +0 -1
  469. package/dist/cjs/diwa-scroller.cjs.entry.js.map +0 -1
  470. package/dist/cjs/diwa-segmented-control-item.cjs.entry.js.map +0 -1
  471. package/dist/cjs/diwa-segmented-control.cjs.entry.js.map +0 -1
  472. package/dist/cjs/diwa-select-option.cjs.entry.js.map +0 -1
  473. package/dist/cjs/diwa-select.cjs.entry.js.map +0 -1
  474. package/dist/cjs/diwa-spinner.cjs.entry.js.map +0 -1
  475. package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js.map +0 -1
  476. package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js.map +0 -1
  477. package/dist/cjs/diwa-switch.cjs.entry.js.map +0 -1
  478. package/dist/cjs/diwa-table-body.cjs.entry.js.map +0 -1
  479. package/dist/cjs/diwa-table-cell.cjs.entry.js.map +0 -1
  480. package/dist/cjs/diwa-table-head-cell.cjs.entry.js.map +0 -1
  481. package/dist/cjs/diwa-table-head.cjs.entry.js.map +0 -1
  482. package/dist/cjs/diwa-table-row.cjs.entry.js.map +0 -1
  483. package/dist/cjs/diwa-table.cjs.entry.js.map +0 -1
  484. package/dist/cjs/diwa-tabs-bar.cjs.entry.js.map +0 -1
  485. package/dist/cjs/diwa-tabs-item.cjs.entry.js.map +0 -1
  486. package/dist/cjs/diwa-tabs.cjs.entry.js.map +0 -1
  487. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js.map +0 -1
  488. package/dist/cjs/diwa-tag.cjs.entry.js.map +0 -1
  489. package/dist/cjs/diwa-text-list-item.cjs.entry.js.map +0 -1
  490. package/dist/cjs/diwa-text-list.cjs.entry.js.map +0 -1
  491. package/dist/cjs/diwa-text.cjs.entry.js.map +0 -1
  492. package/dist/cjs/diwa-textarea.cjs.entry.js.map +0 -1
  493. package/dist/cjs/diwa-toast-item.cjs.entry.js.map +0 -1
  494. package/dist/cjs/diwa-toast.cjs.entry.js.map +0 -1
  495. package/dist/cjs/index-d665fd57.js +0 -1409
  496. package/dist/cjs/index-d665fd57.js.map +0 -1
  497. package/dist/cjs/index.cjs.js.map +0 -1
  498. package/dist/cjs/input-styles-bac68ebc.js.map +0 -1
  499. package/dist/cjs/loader-circle-938f782b.js.map +0 -1
  500. package/dist/cjs/loader.cjs.js.map +0 -1
  501. package/dist/cjs/styles-6342300d.js.map +0 -1
  502. package/dist/collection/components/diwa-accordion/diwa-accordion-styles.js.map +0 -1
  503. package/dist/collection/components/diwa-accordion/diwa-accordion.js.map +0 -1
  504. package/dist/collection/components/diwa-accordion/types.js.map +0 -1
  505. package/dist/collection/components/diwa-badge/diwa-badge-styles.js.map +0 -1
  506. package/dist/collection/components/diwa-badge/diwa-badge.js.map +0 -1
  507. package/dist/collection/components/diwa-badge/types.js.map +0 -1
  508. package/dist/collection/components/diwa-button/diwa-button-styles.js.map +0 -1
  509. package/dist/collection/components/diwa-button/diwa-button-utils.js.map +0 -1
  510. package/dist/collection/components/diwa-button/diwa-button.js.map +0 -1
  511. package/dist/collection/components/diwa-button/types.js.map +0 -1
  512. package/dist/collection/components/diwa-button-pure/diwa-button-pure-styles.js.map +0 -1
  513. package/dist/collection/components/diwa-button-pure/diwa-button-pure-utils.js.map +0 -1
  514. package/dist/collection/components/diwa-button-pure/diwa-button-pure.js.map +0 -1
  515. package/dist/collection/components/diwa-button-pure/types.js.map +0 -1
  516. package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js.map +0 -1
  517. package/dist/collection/components/diwa-checkbox/diwa-checkbox.js.map +0 -1
  518. package/dist/collection/components/diwa-checkbox/types.js.map +0 -1
  519. package/dist/collection/components/diwa-divider/diwa-divider-styles.js.map +0 -1
  520. package/dist/collection/components/diwa-divider/diwa-divider.js.map +0 -1
  521. package/dist/collection/components/diwa-divider/types.js.map +0 -1
  522. package/dist/collection/components/diwa-flyout/diwa-flyout-styles.js.map +0 -1
  523. package/dist/collection/components/diwa-flyout/diwa-flyout.js.map +0 -1
  524. package/dist/collection/components/diwa-flyout/types.js.map +0 -1
  525. package/dist/collection/components/diwa-heading/diwa-heading-styles.js.map +0 -1
  526. package/dist/collection/components/diwa-heading/diwa-heading-utils.js.map +0 -1
  527. package/dist/collection/components/diwa-heading/diwa-heading.js.map +0 -1
  528. package/dist/collection/components/diwa-heading/types.js.map +0 -1
  529. package/dist/collection/components/diwa-icon/diwa-icon-styles.js.map +0 -1
  530. package/dist/collection/components/diwa-icon/diwa-icon.js.map +0 -1
  531. package/dist/collection/components/diwa-icon/types.js.map +0 -1
  532. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js.map +0 -1
  533. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js.map +0 -1
  534. package/dist/collection/components/diwa-inline-notification/types.js.map +0 -1
  535. package/dist/collection/components/diwa-input/diwa-input-styles.js.map +0 -1
  536. package/dist/collection/components/diwa-input/diwa-input.js.map +0 -1
  537. package/dist/collection/components/diwa-input/input-styles.js.map +0 -1
  538. package/dist/collection/components/diwa-input/types.js.map +0 -1
  539. package/dist/collection/components/diwa-input-date/diwa-input-date-styles.js.map +0 -1
  540. package/dist/collection/components/diwa-input-date/diwa-input-date.js.map +0 -1
  541. package/dist/collection/components/diwa-input-email/diwa-input-email-styles.js.map +0 -1
  542. package/dist/collection/components/diwa-input-email/diwa-input-email.js.map +0 -1
  543. package/dist/collection/components/diwa-input-month/diwa-input-month-styles.js.map +0 -1
  544. package/dist/collection/components/diwa-input-month/diwa-input-month.js.map +0 -1
  545. package/dist/collection/components/diwa-input-number/diwa-input-number-styles.js.map +0 -1
  546. package/dist/collection/components/diwa-input-number/diwa-input-number.js.map +0 -1
  547. package/dist/collection/components/diwa-input-password/diwa-input-password-styles.js.map +0 -1
  548. package/dist/collection/components/diwa-input-password/diwa-input-password.js.map +0 -1
  549. package/dist/collection/components/diwa-input-search/diwa-input-search-styles.js.map +0 -1
  550. package/dist/collection/components/diwa-input-search/diwa-input-search.js.map +0 -1
  551. package/dist/collection/components/diwa-input-tel/diwa-input-tel-styles.js.map +0 -1
  552. package/dist/collection/components/diwa-input-tel/diwa-input-tel.js.map +0 -1
  553. package/dist/collection/components/diwa-input-text/diwa-input-text-styles.js.map +0 -1
  554. package/dist/collection/components/diwa-input-text/diwa-input-text.js.map +0 -1
  555. package/dist/collection/components/diwa-input-time/diwa-input-time-styles.js.map +0 -1
  556. package/dist/collection/components/diwa-input-time/diwa-input-time.js.map +0 -1
  557. package/dist/collection/components/diwa-input-url/diwa-input-url-styles.js.map +0 -1
  558. package/dist/collection/components/diwa-input-url/diwa-input-url.js.map +0 -1
  559. package/dist/collection/components/diwa-input-week/diwa-input-week-styles.js.map +0 -1
  560. package/dist/collection/components/diwa-input-week/diwa-input-week.js.map +0 -1
  561. package/dist/collection/components/diwa-link/diwa-link-styles.js.map +0 -1
  562. package/dist/collection/components/diwa-link/diwa-link.js.map +0 -1
  563. package/dist/collection/components/diwa-link/types.js.map +0 -1
  564. package/dist/collection/components/diwa-link-pure/diwa-link-pure-styles.js.map +0 -1
  565. package/dist/collection/components/diwa-link-pure/diwa-link-pure.js.map +0 -1
  566. package/dist/collection/components/diwa-link-pure/types.js.map +0 -1
  567. package/dist/collection/components/diwa-modal/diwa-modal-styles.js.map +0 -1
  568. package/dist/collection/components/diwa-modal/diwa-modal-utils.js.map +0 -1
  569. package/dist/collection/components/diwa-modal/diwa-modal.js.map +0 -1
  570. package/dist/collection/components/diwa-modal/types.js.map +0 -1
  571. package/dist/collection/components/diwa-multi-select/diwa-multi-select-styles.js.map +0 -1
  572. package/dist/collection/components/diwa-multi-select/diwa-multi-select.js.map +0 -1
  573. package/dist/collection/components/diwa-multi-select/types.js.map +0 -1
  574. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option-styles.js.map +0 -1
  575. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js.map +0 -1
  576. package/dist/collection/components/diwa-multi-select-option/types.js.map +0 -1
  577. package/dist/collection/components/diwa-pagination/diwa-pagination-styles.js.map +0 -1
  578. package/dist/collection/components/diwa-pagination/diwa-pagination-utils.js.map +0 -1
  579. package/dist/collection/components/diwa-pagination/diwa-pagination.js.map +0 -1
  580. package/dist/collection/components/diwa-pagination/types.js.map +0 -1
  581. package/dist/collection/components/diwa-pin-code/diwa-pin-code-styles.js.map +0 -1
  582. package/dist/collection/components/diwa-pin-code/diwa-pin-code.js.map +0 -1
  583. package/dist/collection/components/diwa-pin-code/types.js.map +0 -1
  584. package/dist/collection/components/diwa-popover/diwa-popover-styles.js.map +0 -1
  585. package/dist/collection/components/diwa-popover/diwa-popover.js.map +0 -1
  586. package/dist/collection/components/diwa-popover/types.js.map +0 -1
  587. package/dist/collection/components/diwa-radio-group/diwa-radio-group-styles.js.map +0 -1
  588. package/dist/collection/components/diwa-radio-group/diwa-radio-group.js.map +0 -1
  589. package/dist/collection/components/diwa-radio-group/types.js.map +0 -1
  590. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js.map +0 -1
  591. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js.map +0 -1
  592. package/dist/collection/components/diwa-radio-group-item/types.js.map +0 -1
  593. package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js.map +0 -1
  594. package/dist/collection/components/diwa-scroller/diwa-scroller.js.map +0 -1
  595. package/dist/collection/components/diwa-scroller/types.js.map +0 -1
  596. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control-styles.js.map +0 -1
  597. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js.map +0 -1
  598. package/dist/collection/components/diwa-segmented-control/types.js.map +0 -1
  599. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.js.map +0 -1
  600. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js.map +0 -1
  601. package/dist/collection/components/diwa-segmented-control-item/types.js.map +0 -1
  602. package/dist/collection/components/diwa-select/diwa-select-styles.js.map +0 -1
  603. package/dist/collection/components/diwa-select/diwa-select.js.map +0 -1
  604. package/dist/collection/components/diwa-select/types.js.map +0 -1
  605. package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js.map +0 -1
  606. package/dist/collection/components/diwa-select-option/diwa-select-option.js.map +0 -1
  607. package/dist/collection/components/diwa-select-option/types.js.map +0 -1
  608. package/dist/collection/components/diwa-spinner/diwa-spinner-styles.js.map +0 -1
  609. package/dist/collection/components/diwa-spinner/diwa-spinner.js.map +0 -1
  610. package/dist/collection/components/diwa-spinner/types.js.map +0 -1
  611. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.js.map +0 -1
  612. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js.map +0 -1
  613. package/dist/collection/components/diwa-stepper-horizontal/types.js.map +0 -1
  614. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item-styles.js.map +0 -1
  615. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js.map +0 -1
  616. package/dist/collection/components/diwa-stepper-horizontal-item/types.js.map +0 -1
  617. package/dist/collection/components/diwa-switch/diwa-switch-styles.js.map +0 -1
  618. package/dist/collection/components/diwa-switch/diwa-switch.js.map +0 -1
  619. package/dist/collection/components/diwa-switch/types.js.map +0 -1
  620. package/dist/collection/components/diwa-table/diwa-table-styles.js.map +0 -1
  621. package/dist/collection/components/diwa-table/diwa-table.js.map +0 -1
  622. package/dist/collection/components/diwa-table-body/diwa-table-body-styles.js.map +0 -1
  623. package/dist/collection/components/diwa-table-body/diwa-table-body.js.map +0 -1
  624. package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js.map +0 -1
  625. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js.map +0 -1
  626. package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js.map +0 -1
  627. package/dist/collection/components/diwa-table-head/diwa-table-head.js.map +0 -1
  628. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js.map +0 -1
  629. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js.map +0 -1
  630. package/dist/collection/components/diwa-table-head-cell/types.js.map +0 -1
  631. package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js.map +0 -1
  632. package/dist/collection/components/diwa-table-row/diwa-table-row.js.map +0 -1
  633. package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js.map +0 -1
  634. package/dist/collection/components/diwa-tabs/diwa-tabs.js.map +0 -1
  635. package/dist/collection/components/diwa-tabs/types.js.map +0 -1
  636. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar-styles.js.map +0 -1
  637. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js.map +0 -1
  638. package/dist/collection/components/diwa-tabs-bar/types.js.map +0 -1
  639. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item-styles.js.map +0 -1
  640. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js.map +0 -1
  641. package/dist/collection/components/diwa-tabs-item/types.js.map +0 -1
  642. package/dist/collection/components/diwa-tag/diwa-tag-styles.js.map +0 -1
  643. package/dist/collection/components/diwa-tag/diwa-tag.js.map +0 -1
  644. package/dist/collection/components/diwa-tag/types.js.map +0 -1
  645. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js.map +0 -1
  646. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js.map +0 -1
  647. package/dist/collection/components/diwa-tag-dismissible/types.js.map +0 -1
  648. package/dist/collection/components/diwa-text/diwa-text-styles.js.map +0 -1
  649. package/dist/collection/components/diwa-text/diwa-text.js.map +0 -1
  650. package/dist/collection/components/diwa-text/types.js.map +0 -1
  651. package/dist/collection/components/diwa-text-list/diwa-text-list-styles.js.map +0 -1
  652. package/dist/collection/components/diwa-text-list/diwa-text-list.js.map +0 -1
  653. package/dist/collection/components/diwa-text-list/types.js.map +0 -1
  654. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item-styles.js.map +0 -1
  655. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js.map +0 -1
  656. package/dist/collection/components/diwa-text-list-item/types.js.map +0 -1
  657. package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js.map +0 -1
  658. package/dist/collection/components/diwa-textarea/diwa-textarea.js.map +0 -1
  659. package/dist/collection/components/diwa-textarea/types.js.map +0 -1
  660. package/dist/collection/components/diwa-toast/diwa-toast-manager.js.map +0 -1
  661. package/dist/collection/components/diwa-toast/diwa-toast-styles.js.map +0 -1
  662. package/dist/collection/components/diwa-toast/diwa-toast.js.map +0 -1
  663. package/dist/collection/components/diwa-toast/types.js.map +0 -1
  664. package/dist/collection/components/diwa-toast-item/diwa-toast-item-styles.js.map +0 -1
  665. package/dist/collection/components/diwa-toast-item/diwa-toast-item.js.map +0 -1
  666. package/dist/collection/components/diwa-toast-item/types.js.map +0 -1
  667. package/dist/collection/styles/index.js.map +0 -1
  668. package/dist/collection/utils/checkbox-mark.js.map +0 -1
  669. package/dist/collection/utils/styles.js.map +0 -1
  670. package/dist/diwa-components/diwa-components.esm.js.map +0 -1
  671. package/dist/diwa-components/index.esm.js.map +0 -1
  672. package/dist/diwa-components/p-0028e799.entry.js +0 -2
  673. package/dist/diwa-components/p-0028e799.entry.js.map +0 -1
  674. package/dist/diwa-components/p-008bdfa4.entry.js +0 -2
  675. package/dist/diwa-components/p-008bdfa4.entry.js.map +0 -1
  676. package/dist/diwa-components/p-027e5299.entry.js +0 -2
  677. package/dist/diwa-components/p-027e5299.entry.js.map +0 -1
  678. package/dist/diwa-components/p-03a4902e.entry.js +0 -2
  679. package/dist/diwa-components/p-03a4902e.entry.js.map +0 -1
  680. package/dist/diwa-components/p-05a02076.entry.js +0 -2
  681. package/dist/diwa-components/p-05a02076.entry.js.map +0 -1
  682. package/dist/diwa-components/p-090f557b.entry.js +0 -2
  683. package/dist/diwa-components/p-090f557b.entry.js.map +0 -1
  684. package/dist/diwa-components/p-0b6aa730.entry.js +0 -2
  685. package/dist/diwa-components/p-0b6aa730.entry.js.map +0 -1
  686. package/dist/diwa-components/p-0c2776f7.entry.js +0 -2
  687. package/dist/diwa-components/p-0c2776f7.entry.js.map +0 -1
  688. package/dist/diwa-components/p-11aae5f1.entry.js +0 -2
  689. package/dist/diwa-components/p-11aae5f1.entry.js.map +0 -1
  690. package/dist/diwa-components/p-13aeda0b.entry.js +0 -2
  691. package/dist/diwa-components/p-13aeda0b.entry.js.map +0 -1
  692. package/dist/diwa-components/p-145e5281.entry.js +0 -2
  693. package/dist/diwa-components/p-145e5281.entry.js.map +0 -1
  694. package/dist/diwa-components/p-20332312.entry.js +0 -2
  695. package/dist/diwa-components/p-20332312.entry.js.map +0 -1
  696. package/dist/diwa-components/p-247210ec.entry.js +0 -2
  697. package/dist/diwa-components/p-247210ec.entry.js.map +0 -1
  698. package/dist/diwa-components/p-24c10d6e.entry.js +0 -2
  699. package/dist/diwa-components/p-24c10d6e.entry.js.map +0 -1
  700. package/dist/diwa-components/p-2c3cff37.entry.js +0 -2
  701. package/dist/diwa-components/p-2c3cff37.entry.js.map +0 -1
  702. package/dist/diwa-components/p-310a22ca.entry.js +0 -2
  703. package/dist/diwa-components/p-310a22ca.entry.js.map +0 -1
  704. package/dist/diwa-components/p-332838f8.js +0 -2
  705. package/dist/diwa-components/p-332838f8.js.map +0 -1
  706. package/dist/diwa-components/p-335e06ab.entry.js +0 -2
  707. package/dist/diwa-components/p-335e06ab.entry.js.map +0 -1
  708. package/dist/diwa-components/p-33b49ced.entry.js +0 -2
  709. package/dist/diwa-components/p-33b49ced.entry.js.map +0 -1
  710. package/dist/diwa-components/p-35c7c864.js +0 -2
  711. package/dist/diwa-components/p-35c7c864.js.map +0 -1
  712. package/dist/diwa-components/p-36056450.entry.js +0 -2
  713. package/dist/diwa-components/p-36056450.entry.js.map +0 -1
  714. package/dist/diwa-components/p-3a992d7e.entry.js +0 -2
  715. package/dist/diwa-components/p-3a992d7e.entry.js.map +0 -1
  716. package/dist/diwa-components/p-3e68a752.entry.js +0 -2
  717. package/dist/diwa-components/p-3e68a752.entry.js.map +0 -1
  718. package/dist/diwa-components/p-4332671a.entry.js +0 -2
  719. package/dist/diwa-components/p-4332671a.entry.js.map +0 -1
  720. package/dist/diwa-components/p-454aa95f.entry.js +0 -2
  721. package/dist/diwa-components/p-454aa95f.entry.js.map +0 -1
  722. package/dist/diwa-components/p-46a8a0a7.entry.js +0 -2
  723. package/dist/diwa-components/p-46a8a0a7.entry.js.map +0 -1
  724. package/dist/diwa-components/p-50420bc6.entry.js +0 -10220
  725. package/dist/diwa-components/p-50420bc6.entry.js.map +0 -1
  726. package/dist/diwa-components/p-52f32ba8.entry.js +0 -2
  727. package/dist/diwa-components/p-52f32ba8.entry.js.map +0 -1
  728. package/dist/diwa-components/p-5e75b7b3.entry.js +0 -2
  729. package/dist/diwa-components/p-5e75b7b3.entry.js.map +0 -1
  730. package/dist/diwa-components/p-630b5003.entry.js +0 -2
  731. package/dist/diwa-components/p-630b5003.entry.js.map +0 -1
  732. package/dist/diwa-components/p-645e5f9a.entry.js +0 -2
  733. package/dist/diwa-components/p-645e5f9a.entry.js.map +0 -1
  734. package/dist/diwa-components/p-6dcf2862.entry.js +0 -2
  735. package/dist/diwa-components/p-6dcf2862.entry.js.map +0 -1
  736. package/dist/diwa-components/p-6f639ee0.entry.js +0 -2
  737. package/dist/diwa-components/p-6f639ee0.entry.js.map +0 -1
  738. package/dist/diwa-components/p-70bbb21a.js +0 -2
  739. package/dist/diwa-components/p-70bbb21a.js.map +0 -1
  740. package/dist/diwa-components/p-76f75cb3.entry.js +0 -2
  741. package/dist/diwa-components/p-76f75cb3.entry.js.map +0 -1
  742. package/dist/diwa-components/p-8285e16e.entry.js +0 -2
  743. package/dist/diwa-components/p-8285e16e.entry.js.map +0 -1
  744. package/dist/diwa-components/p-82be1b3a.entry.js +0 -2
  745. package/dist/diwa-components/p-82be1b3a.entry.js.map +0 -1
  746. package/dist/diwa-components/p-845b2a42.entry.js +0 -2
  747. package/dist/diwa-components/p-845b2a42.entry.js.map +0 -1
  748. package/dist/diwa-components/p-851e4c86.entry.js +0 -2
  749. package/dist/diwa-components/p-851e4c86.entry.js.map +0 -1
  750. package/dist/diwa-components/p-878039a1.entry.js.map +0 -1
  751. package/dist/diwa-components/p-887e0cb5.entry.js +0 -2
  752. package/dist/diwa-components/p-887e0cb5.entry.js.map +0 -1
  753. package/dist/diwa-components/p-8afa6931.entry.js +0 -2
  754. package/dist/diwa-components/p-8afa6931.entry.js.map +0 -1
  755. package/dist/diwa-components/p-8b210952.entry.js +0 -2
  756. package/dist/diwa-components/p-8b210952.entry.js.map +0 -1
  757. package/dist/diwa-components/p-90504a91.entry.js +0 -2
  758. package/dist/diwa-components/p-90504a91.entry.js.map +0 -1
  759. package/dist/diwa-components/p-90d0db67.entry.js +0 -2
  760. package/dist/diwa-components/p-90d0db67.entry.js.map +0 -1
  761. package/dist/diwa-components/p-a446b615.entry.js +0 -2
  762. package/dist/diwa-components/p-a446b615.entry.js.map +0 -1
  763. package/dist/diwa-components/p-ac8e14be.js.map +0 -1
  764. package/dist/diwa-components/p-b33f4993.entry.js +0 -2
  765. package/dist/diwa-components/p-b33f4993.entry.js.map +0 -1
  766. package/dist/diwa-components/p-b595f330.entry.js +0 -2
  767. package/dist/diwa-components/p-b595f330.entry.js.map +0 -1
  768. package/dist/diwa-components/p-bcc6545a.entry.js +0 -2
  769. package/dist/diwa-components/p-bcc6545a.entry.js.map +0 -1
  770. package/dist/diwa-components/p-c2557813.entry.js +0 -2
  771. package/dist/diwa-components/p-c2557813.entry.js.map +0 -1
  772. package/dist/diwa-components/p-c3535eb8.entry.js +0 -2
  773. package/dist/diwa-components/p-c3535eb8.entry.js.map +0 -1
  774. package/dist/diwa-components/p-c4083a76.entry.js +0 -2
  775. package/dist/diwa-components/p-c4083a76.entry.js.map +0 -1
  776. package/dist/diwa-components/p-c427acf5.entry.js +0 -2
  777. package/dist/diwa-components/p-c427acf5.entry.js.map +0 -1
  778. package/dist/diwa-components/p-c862863d.entry.js +0 -2
  779. package/dist/diwa-components/p-c862863d.entry.js.map +0 -1
  780. package/dist/diwa-components/p-c9ec0829.entry.js +0 -2
  781. package/dist/diwa-components/p-c9ec0829.entry.js.map +0 -1
  782. package/dist/diwa-components/p-d57421af.entry.js +0 -2
  783. package/dist/diwa-components/p-d57421af.entry.js.map +0 -1
  784. package/dist/diwa-components/p-e1255160.js +0 -2
  785. package/dist/diwa-components/p-e1255160.js.map +0 -1
  786. package/dist/diwa-components/p-e23fbe5f.entry.js +0 -2
  787. package/dist/diwa-components/p-e23fbe5f.entry.js.map +0 -1
  788. package/dist/diwa-components/p-e6f7dd21.entry.js +0 -2
  789. package/dist/diwa-components/p-e6f7dd21.entry.js.map +0 -1
  790. package/dist/diwa-components/p-ecb1eabd.entry.js +0 -2
  791. package/dist/diwa-components/p-ecb1eabd.entry.js.map +0 -1
  792. package/dist/diwa-components/p-ed4017f0.js +0 -3
  793. package/dist/diwa-components/p-ed4017f0.js.map +0 -1
  794. package/dist/diwa-components/p-f842df14.entry.js +0 -2
  795. package/dist/diwa-components/p-f842df14.entry.js.map +0 -1
  796. package/dist/diwa-components/p-fa3f0cb0.entry.js +0 -2
  797. package/dist/diwa-components/p-fa3f0cb0.entry.js.map +0 -1
  798. package/dist/esm/app-globals-0f993ce5.js +0 -5
  799. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  800. package/dist/esm/checkbox-mark-37be8b2e.js +0 -26
  801. package/dist/esm/checkbox-mark-37be8b2e.js.map +0 -1
  802. package/dist/esm/diwa-accordion.entry.js.map +0 -1
  803. package/dist/esm/diwa-badge.entry.js.map +0 -1
  804. package/dist/esm/diwa-button-pure.entry.js.map +0 -1
  805. package/dist/esm/diwa-button.entry.js.map +0 -1
  806. package/dist/esm/diwa-checkbox.entry.js.map +0 -1
  807. package/dist/esm/diwa-components.js.map +0 -1
  808. package/dist/esm/diwa-divider.entry.js.map +0 -1
  809. package/dist/esm/diwa-flyout.entry.js.map +0 -1
  810. package/dist/esm/diwa-heading.entry.js.map +0 -1
  811. package/dist/esm/diwa-icon.entry.js.map +0 -1
  812. package/dist/esm/diwa-inline-notification.entry.js.map +0 -1
  813. package/dist/esm/diwa-input-date.entry.js.map +0 -1
  814. package/dist/esm/diwa-input-email.entry.js.map +0 -1
  815. package/dist/esm/diwa-input-month.entry.js.map +0 -1
  816. package/dist/esm/diwa-input-number.entry.js.map +0 -1
  817. package/dist/esm/diwa-input-password.entry.js.map +0 -1
  818. package/dist/esm/diwa-input-search.entry.js.map +0 -1
  819. package/dist/esm/diwa-input-tel.entry.js.map +0 -1
  820. package/dist/esm/diwa-input-text.entry.js.map +0 -1
  821. package/dist/esm/diwa-input-time.entry.js.map +0 -1
  822. package/dist/esm/diwa-input-url.entry.js.map +0 -1
  823. package/dist/esm/diwa-input-week.entry.js.map +0 -1
  824. package/dist/esm/diwa-input.entry.js.map +0 -1
  825. package/dist/esm/diwa-link-pure.entry.js.map +0 -1
  826. package/dist/esm/diwa-link.entry.js.map +0 -1
  827. package/dist/esm/diwa-modal.entry.js.map +0 -1
  828. package/dist/esm/diwa-multi-select-option.entry.js.map +0 -1
  829. package/dist/esm/diwa-multi-select.entry.js.map +0 -1
  830. package/dist/esm/diwa-pagination.entry.js.map +0 -1
  831. package/dist/esm/diwa-pin-code.entry.js.map +0 -1
  832. package/dist/esm/diwa-popover.entry.js.map +0 -1
  833. package/dist/esm/diwa-radio-group-item.entry.js.map +0 -1
  834. package/dist/esm/diwa-radio-group.entry.js.map +0 -1
  835. package/dist/esm/diwa-scroller.entry.js.map +0 -1
  836. package/dist/esm/diwa-segmented-control-item.entry.js.map +0 -1
  837. package/dist/esm/diwa-segmented-control.entry.js.map +0 -1
  838. package/dist/esm/diwa-select-option.entry.js.map +0 -1
  839. package/dist/esm/diwa-select.entry.js.map +0 -1
  840. package/dist/esm/diwa-spinner.entry.js.map +0 -1
  841. package/dist/esm/diwa-stepper-horizontal-item.entry.js.map +0 -1
  842. package/dist/esm/diwa-stepper-horizontal.entry.js.map +0 -1
  843. package/dist/esm/diwa-switch.entry.js.map +0 -1
  844. package/dist/esm/diwa-table-body.entry.js.map +0 -1
  845. package/dist/esm/diwa-table-cell.entry.js.map +0 -1
  846. package/dist/esm/diwa-table-head-cell.entry.js.map +0 -1
  847. package/dist/esm/diwa-table-head.entry.js.map +0 -1
  848. package/dist/esm/diwa-table-row.entry.js.map +0 -1
  849. package/dist/esm/diwa-table.entry.js.map +0 -1
  850. package/dist/esm/diwa-tabs-bar.entry.js.map +0 -1
  851. package/dist/esm/diwa-tabs-item.entry.js.map +0 -1
  852. package/dist/esm/diwa-tabs.entry.js.map +0 -1
  853. package/dist/esm/diwa-tag-dismissible.entry.js.map +0 -1
  854. package/dist/esm/diwa-tag.entry.js.map +0 -1
  855. package/dist/esm/diwa-text-list-item.entry.js.map +0 -1
  856. package/dist/esm/diwa-text-list.entry.js.map +0 -1
  857. package/dist/esm/diwa-text.entry.js.map +0 -1
  858. package/dist/esm/diwa-textarea.entry.js.map +0 -1
  859. package/dist/esm/diwa-toast-item.entry.js.map +0 -1
  860. package/dist/esm/diwa-toast.entry.js.map +0 -1
  861. package/dist/esm/index-3fa02c74.js +0 -1379
  862. package/dist/esm/index-3fa02c74.js.map +0 -1
  863. package/dist/esm/index.js.map +0 -1
  864. package/dist/esm/input-styles-c4f4fa96.js +0 -222
  865. package/dist/esm/input-styles-c4f4fa96.js.map +0 -1
  866. package/dist/esm/loader-circle-300f00a4.js.map +0 -1
  867. package/dist/esm/loader.js.map +0 -1
  868. package/dist/esm/styles-e5a47a2d.js +0 -73
  869. package/dist/esm/styles-e5a47a2d.js.map +0 -1
  870. package/dist-custom-elements/diwa-accordion.js.map +0 -1
  871. package/dist-custom-elements/diwa-badge.js.map +0 -1
  872. package/dist-custom-elements/diwa-button-pure.js.map +0 -1
  873. package/dist-custom-elements/diwa-button.js.map +0 -1
  874. package/dist-custom-elements/diwa-checkbox.js.map +0 -1
  875. package/dist-custom-elements/diwa-divider.js.map +0 -1
  876. package/dist-custom-elements/diwa-flyout.js.map +0 -1
  877. package/dist-custom-elements/diwa-heading.js.map +0 -1
  878. package/dist-custom-elements/diwa-icon.js.map +0 -1
  879. package/dist-custom-elements/diwa-inline-notification.js.map +0 -1
  880. package/dist-custom-elements/diwa-input-date.js.map +0 -1
  881. package/dist-custom-elements/diwa-input-email.js.map +0 -1
  882. package/dist-custom-elements/diwa-input-month.js.map +0 -1
  883. package/dist-custom-elements/diwa-input-number.js.map +0 -1
  884. package/dist-custom-elements/diwa-input-password.js.map +0 -1
  885. package/dist-custom-elements/diwa-input-search.js.map +0 -1
  886. package/dist-custom-elements/diwa-input-tel.js.map +0 -1
  887. package/dist-custom-elements/diwa-input-text.js.map +0 -1
  888. package/dist-custom-elements/diwa-input-time.js.map +0 -1
  889. package/dist-custom-elements/diwa-input-url.js.map +0 -1
  890. package/dist-custom-elements/diwa-input-week.js.map +0 -1
  891. package/dist-custom-elements/diwa-input.js.map +0 -1
  892. package/dist-custom-elements/diwa-link-pure.js.map +0 -1
  893. package/dist-custom-elements/diwa-link.js.map +0 -1
  894. package/dist-custom-elements/diwa-modal.js.map +0 -1
  895. package/dist-custom-elements/diwa-multi-select-option.js.map +0 -1
  896. package/dist-custom-elements/diwa-multi-select.js.map +0 -1
  897. package/dist-custom-elements/diwa-pagination.js.map +0 -1
  898. package/dist-custom-elements/diwa-pin-code.js.map +0 -1
  899. package/dist-custom-elements/diwa-popover.js.map +0 -1
  900. package/dist-custom-elements/diwa-radio-group-item.js.map +0 -1
  901. package/dist-custom-elements/diwa-radio-group.js.map +0 -1
  902. package/dist-custom-elements/diwa-scroller.js.map +0 -1
  903. package/dist-custom-elements/diwa-segmented-control-item.js.map +0 -1
  904. package/dist-custom-elements/diwa-segmented-control.js.map +0 -1
  905. package/dist-custom-elements/diwa-select-option.js.map +0 -1
  906. package/dist-custom-elements/diwa-select.js.map +0 -1
  907. package/dist-custom-elements/diwa-spinner.js.map +0 -1
  908. package/dist-custom-elements/diwa-stepper-horizontal-item.js.map +0 -1
  909. package/dist-custom-elements/diwa-stepper-horizontal.js.map +0 -1
  910. package/dist-custom-elements/diwa-switch.js.map +0 -1
  911. package/dist-custom-elements/diwa-table-body.js.map +0 -1
  912. package/dist-custom-elements/diwa-table-cell.js.map +0 -1
  913. package/dist-custom-elements/diwa-table-head-cell.js.map +0 -1
  914. package/dist-custom-elements/diwa-table-head.js.map +0 -1
  915. package/dist-custom-elements/diwa-table-row.js.map +0 -1
  916. package/dist-custom-elements/diwa-table.js.map +0 -1
  917. package/dist-custom-elements/diwa-tabs-bar.js.map +0 -1
  918. package/dist-custom-elements/diwa-tabs-item.js.map +0 -1
  919. package/dist-custom-elements/diwa-tabs.js.map +0 -1
  920. package/dist-custom-elements/diwa-tag-dismissible.js.map +0 -1
  921. package/dist-custom-elements/diwa-tag.js.map +0 -1
  922. package/dist-custom-elements/diwa-text-list-item.js.map +0 -1
  923. package/dist-custom-elements/diwa-text-list.js.map +0 -1
  924. package/dist-custom-elements/diwa-text.js.map +0 -1
  925. package/dist-custom-elements/diwa-textarea.js.map +0 -1
  926. package/dist-custom-elements/diwa-toast-item.js.map +0 -1
  927. package/dist-custom-elements/diwa-toast.js.map +0 -1
  928. package/dist-custom-elements/index.js.map +0 -1
  929. package/dist-custom-elements/p-0e219692.js +0 -141
  930. package/dist-custom-elements/p-0e219692.js.map +0 -1
  931. package/dist-custom-elements/p-236fbbdd.js +0 -321
  932. package/dist-custom-elements/p-236fbbdd.js.map +0 -1
  933. package/dist-custom-elements/p-332838f8.js.map +0 -1
  934. package/dist-custom-elements/p-35c7c864.js.map +0 -1
  935. package/dist-custom-elements/p-3fce050e.js +0 -117
  936. package/dist-custom-elements/p-3fce050e.js.map +0 -1
  937. package/dist-custom-elements/p-473ec48f.js +0 -29213
  938. package/dist-custom-elements/p-473ec48f.js.map +0 -1
  939. package/dist-custom-elements/p-5eacc7d0.js +0 -1187
  940. package/dist-custom-elements/p-5eacc7d0.js.map +0 -1
  941. package/dist-custom-elements/p-70bbb21a.js.map +0 -1
  942. package/dist-custom-elements/p-ac8e14be.js.map +0 -1
  943. package/loader/package.json +0 -11
@@ -1,222 +0,0 @@
1
- import { b as getHoverCapableStyle, a as getReducedMotionStyle } from './styles-e5a47a2d.js';
2
-
3
- /**
4
- * Returns the shared Shadow DOM CSS for all diwa-input-* components.
5
- *
6
- * NOTE: Border and background live on .input-wrapper so start/end slot content
7
- * shares the same bordered box as the native input. This also prevents Tailwind
8
- * v4 preflight from stripping padding set directly on :host.
9
- */
10
- const getInputCss = (state, _disabled, _readonly, compact, hasStart, hasEnd, hasSuffix) => {
11
- const borderColor = state === 'error'
12
- ? 'var(--diwa-notification-error)'
13
- : state === 'success'
14
- ? 'var(--diwa-notification-success)'
15
- : 'var(--diwa-input-border)';
16
- const messageColor = state === 'error'
17
- ? 'var(--diwa-notification-error)'
18
- : state === 'success'
19
- ? 'var(--diwa-notification-success)'
20
- : 'var(--diwa-text-secondary)';
21
- const inputHeight = compact
22
- ? 'var(--diwa-touch-target-min-size-compact, 32px)'
23
- : 'var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px))';
24
- const paddingLeft = hasStart ? '4px' : 'var(--diwa-input-padding-x, 12px)';
25
- const paddingRight = (hasEnd || hasSuffix) ? '4px' : 'var(--diwa-input-padding-x, 12px)';
26
- return `
27
- /* ── Host ──────────────────────────────────────────────────────────── */
28
-
29
- :host {
30
- display: block;
31
- font-family: var(--diwa-font-family-base);
32
- outline: none;
33
- }
34
-
35
- :host([hidden]) {
36
- display: none;
37
- }
38
-
39
- /* ── Root layout ────────────────────────────────────────────────────── */
40
-
41
- .root {
42
- display: flex;
43
- flex-direction: column;
44
- gap: var(--diwa-space-2);
45
- }
46
-
47
- /* ── Label row ──────────────────────────────────────────────────────── */
48
-
49
- .label-row {
50
- display: flex;
51
- align-items: baseline;
52
- gap: var(--diwa-space-1);
53
- }
54
-
55
- .label {
56
- display: block;
57
- font-size: var(--diwa-font-size-sm);
58
- font-weight: var(--diwa-font-weight-semibold);
59
- color: var(--diwa-text-secondary);
60
- line-height: var(--diwa-line-height-normal);
61
- cursor: default;
62
- }
63
-
64
- .required {
65
- color: var(--diwa-notification-error);
66
- font-weight: var(--diwa-font-weight-semibold);
67
- }
68
-
69
- /* ── Input wrapper (owns border + background) ───────────────────────── */
70
-
71
- .input-wrapper {
72
- position: relative;
73
- display: flex;
74
- align-items: center;
75
- height: ${inputHeight};
76
- background: var(--diwa-input-bg, var(--diwa-bg-input));
77
- border: var(--diwa-border-width-thin) solid ${borderColor};
78
- border-radius: var(--diwa-input-radius, var(--diwa-radius-md));
79
- box-sizing: border-box;
80
- overflow: hidden;
81
- transition: border-color var(--diwa-transition-fast), background var(--diwa-transition-fast), box-shadow var(--diwa-transition-fast);
82
- }
83
-
84
- ${getHoverCapableStyle('.input-wrapper:not(:has(input:disabled)):not(:has(input[readonly]))', `border-color: ${state === 'none' ? 'var(--diwa-border-hover)' : borderColor};`)}
85
-
86
- /* Focus — border and ring become visible on keyboard navigation */
87
- .input-wrapper:focus-within {
88
- border-color: var(--diwa-border-focus);
89
- box-shadow: 0 0 0 var(--diwa-focus-ring-width) var(--diwa-border-focus);
90
- }
91
-
92
- /* Disabled */
93
- .input-wrapper:has(input:disabled) {
94
- opacity: var(--diwa-opacity-disabled);
95
- cursor: not-allowed;
96
- pointer-events: none;
97
- }
98
-
99
- /* Read-only */
100
- .input-wrapper:has(input[readonly]) {
101
- background: var(--diwa-bg-surface);
102
- border-style: dashed;
103
- cursor: default;
104
- }
105
-
106
- /* ── Start / End slot containers ────────────────────────────────────── */
107
-
108
- .slot-start {
109
- display: flex;
110
- align-items: center;
111
- padding-left: var(--diwa-input-padding-x, 12px);
112
- color: var(--diwa-text-secondary);
113
- flex-shrink: 0;
114
- }
115
-
116
- .slot-end {
117
- display: flex;
118
- align-items: center;
119
- padding-right: var(--diwa-input-padding-x, 12px);
120
- color: var(--diwa-text-secondary);
121
- flex-shrink: 0;
122
- }
123
-
124
- /* ── Native input ───────────────────────────────────────────────────── */
125
-
126
- input.input {
127
- flex: 1;
128
- min-width: 0;
129
- height: 100%;
130
- padding: 0 ${paddingRight} 0 ${paddingLeft};
131
- background: transparent;
132
- border: none;
133
- box-sizing: border-box;
134
- appearance: none;
135
- -webkit-appearance: none;
136
- outline: none;
137
- margin: 0;
138
- font-family: inherit;
139
- font-size: var(--diwa-font-size-base);
140
- color: var(--diwa-text-primary);
141
- line-height: var(--diwa-line-height-normal);
142
- }
143
-
144
- input.input::placeholder {
145
- color: var(--diwa-text-disabled);
146
- opacity: 1;
147
- }
148
-
149
- /* Number — hide native spinners */
150
- input.input[type="number"]::-webkit-inner-spin-button,
151
- input.input[type="number"]::-webkit-outer-spin-button {
152
- -webkit-appearance: none;
153
- margin: 0;
154
- }
155
- input.input[type="number"] { -moz-appearance: textfield; }
156
-
157
- /* Search — hide browser-native clear button */
158
- input.input[type="search"]::-webkit-search-cancel-button {
159
- -webkit-appearance: none;
160
- appearance: none;
161
- }
162
-
163
- /* Date / time — hide native picker icon in webkit */
164
- input.input[type="date"]::-webkit-calendar-picker-indicator,
165
- input.input[type="time"]::-webkit-calendar-picker-indicator,
166
- input.input[type="month"]::-webkit-calendar-picker-indicator,
167
- input.input[type="week"]::-webkit-calendar-picker-indicator {
168
- opacity: 0.5;
169
- cursor: pointer;
170
- }
171
-
172
- /* ── Suffix button (password toggle / search clear) ─────────────────── */
173
-
174
- .suffix-btn {
175
- display: flex;
176
- align-items: center;
177
- justify-content: center;
178
- flex-shrink: 0;
179
- height: 100%;
180
- min-width: ${compact ? 'var(--diwa-touch-target-min-size-compact, 32px)' : 'var(--diwa-touch-target-min-size, 44px)'};
181
- padding: 0 var(--diwa-space-3);
182
- background: none;
183
- border: none;
184
- margin: 0;
185
- cursor: pointer;
186
- color: var(--diwa-text-secondary);
187
- line-height: 0;
188
- transition: color var(--diwa-transition-fast);
189
- }
190
-
191
- ${getHoverCapableStyle('.suffix-btn', 'color: var(--diwa-text-primary);')}
192
-
193
- .suffix-btn:focus-visible {
194
- outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);
195
- outline-offset: -2px;
196
- }
197
-
198
- /* ── Description ────────────────────────────────────────────────── */
199
-
200
- .description {
201
- font-size: var(--diwa-font-size-sm);
202
- color: var(--diwa-text-secondary);
203
- margin: 0;
204
- line-height: var(--diwa-line-height-normal);
205
- }
206
-
207
- /* ── Message (state-coloured) ───────────────────────────────────── */
208
-
209
- .message {
210
- font-size: var(--diwa-font-size-sm);
211
- color: ${messageColor};
212
- margin: 0;
213
- line-height: var(--diwa-line-height-normal);
214
- }
215
-
216
- ${getReducedMotionStyle('.input-wrapper', '.suffix-btn')}
217
- `;
218
- };
219
-
220
- export { getInputCss as g };
221
-
222
- //# sourceMappingURL=input-styles-c4f4fa96.js.map
@@ -1 +0,0 @@
1
- {"file":"input-styles-c4f4fa96.js","mappings":";;AAGA;;;;;;;MAOa,WAAW,GAAG,CACzB,KAAsB,EACtB,SAAkB,EAClB,SAAkB,EAClB,OAAgB,EAChB,QAAiB,EACjB,MAAe,EACf,SAAkB;IAElB,MAAM,WAAW,GACf,KAAK,KAAK,OAAO;UACb,gCAAgC;UAChC,KAAK,KAAK,SAAS;cACjB,kCAAkC;cAClC,0BAA0B,CAAC;IAEnC,MAAM,YAAY,GAChB,KAAK,KAAK,OAAO;UACb,gCAAgC;UAChC,KAAK,KAAK,SAAS;cACjB,kCAAkC;cAClC,4BAA4B,CAAC;IAErC,MAAM,WAAW,GAAG,OAAO;UACvB,iDAAiD;UACjD,mEAAmE,CAAC;IACxE,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,mCAAmC,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,GAAG,mCAAmC,CAAC;IAEzF,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDK,WAAW;;kDAEyB,WAAW;;;;;;;IAOzD,oBAAoB,CACpB,qEAAqE,EACrE,iBAAiB,KAAK,KAAK,MAAM,GAAG,0BAA0B,GAAG,WAAW,GAAG,CAChF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8Cc,YAAY,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkD7B,OAAO,GAAG,iDAAiD,GAAG,yCAAyC;;;;;;;;;;;IAWpH,oBAAoB,CAAC,aAAa,EAAE,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;aAoB9D,YAAY;;;;;IAKrB,qBAAqB,CAAC,gBAAgB,EAAE,aAAa,CAAC;CACzD,CAAC;AACF;;;;","names":[],"sources":["src/components/diwa-input/input-styles.ts"],"sourcesContent":["import type { InputFieldState } from './types';\nimport { getHoverCapableStyle, getReducedMotionStyle } from '../../utils/styles';\n\n/**\n * Returns the shared Shadow DOM CSS for all diwa-input-* components.\n *\n * NOTE: Border and background live on .input-wrapper so start/end slot content\n * shares the same bordered box as the native input. This also prevents Tailwind\n * v4 preflight from stripping padding set directly on :host.\n */\nexport const getInputCss = (\n state: InputFieldState,\n _disabled: boolean,\n _readonly: boolean,\n compact: boolean,\n hasStart: boolean,\n hasEnd: boolean,\n hasSuffix: boolean,\n): string => {\n const borderColor =\n state === 'error'\n ? 'var(--diwa-notification-error)'\n : state === 'success'\n ? 'var(--diwa-notification-success)'\n : 'var(--diwa-input-border)';\n\n const messageColor =\n state === 'error'\n ? 'var(--diwa-notification-error)'\n : state === 'success'\n ? 'var(--diwa-notification-success)'\n : 'var(--diwa-text-secondary)';\n\n const inputHeight = compact\n ? 'var(--diwa-touch-target-min-size-compact, 32px)'\n : 'var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px))';\n const paddingLeft = hasStart ? '4px' : 'var(--diwa-input-padding-x, 12px)';\n const paddingRight = (hasEnd || hasSuffix) ? '4px' : 'var(--diwa-input-padding-x, 12px)';\n\n return `\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: 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-2);\n }\n\n /* ── Label row ──────────────────────────────────────────────────────── */\n\n .label-row {\n display: flex;\n align-items: baseline;\n gap: var(--diwa-space-1);\n }\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 cursor: default;\n }\n\n .required {\n color: var(--diwa-notification-error);\n font-weight: var(--diwa-font-weight-semibold);\n }\n\n /* ── Input wrapper (owns border + background) ───────────────────────── */\n\n .input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n height: ${inputHeight};\n background: var(--diwa-input-bg, var(--diwa-bg-input));\n border: var(--diwa-border-width-thin) solid ${borderColor};\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\n box-sizing: border-box;\n overflow: hidden;\n transition: border-color var(--diwa-transition-fast), background var(--diwa-transition-fast), box-shadow var(--diwa-transition-fast);\n }\n\n ${getHoverCapableStyle(\n '.input-wrapper:not(:has(input:disabled)):not(:has(input[readonly]))',\n `border-color: ${state === 'none' ? 'var(--diwa-border-hover)' : borderColor};`,\n )}\n\n /* Focus — border and ring become visible on keyboard navigation */\n .input-wrapper:focus-within {\n border-color: var(--diwa-border-focus);\n box-shadow: 0 0 0 var(--diwa-focus-ring-width) var(--diwa-border-focus);\n }\n\n /* Disabled */\n .input-wrapper:has(input:disabled) {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* Read-only */\n .input-wrapper:has(input[readonly]) {\n background: var(--diwa-bg-surface);\n border-style: dashed;\n cursor: default;\n }\n\n /* ── Start / End slot containers ────────────────────────────────────── */\n\n .slot-start {\n display: flex;\n align-items: center;\n padding-left: var(--diwa-input-padding-x, 12px);\n color: var(--diwa-text-secondary);\n flex-shrink: 0;\n }\n\n .slot-end {\n display: flex;\n align-items: center;\n padding-right: var(--diwa-input-padding-x, 12px);\n color: var(--diwa-text-secondary);\n flex-shrink: 0;\n }\n\n /* ── Native input ───────────────────────────────────────────────────── */\n\n input.input {\n flex: 1;\n min-width: 0;\n height: 100%;\n padding: 0 ${paddingRight} 0 ${paddingLeft};\n background: transparent;\n border: none;\n box-sizing: border-box;\n appearance: none;\n -webkit-appearance: none;\n outline: none;\n margin: 0;\n font-family: inherit;\n font-size: var(--diwa-font-size-base);\n color: var(--diwa-text-primary);\n line-height: var(--diwa-line-height-normal);\n }\n\n input.input::placeholder {\n color: var(--diwa-text-disabled);\n opacity: 1;\n }\n\n /* Number — hide native spinners */\n input.input[type=\"number\"]::-webkit-inner-spin-button,\n input.input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n input.input[type=\"number\"] { -moz-appearance: textfield; }\n\n /* Search — hide browser-native clear button */\n input.input[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: none;\n appearance: none;\n }\n\n /* Date / time — hide native picker icon in webkit */\n input.input[type=\"date\"]::-webkit-calendar-picker-indicator,\n input.input[type=\"time\"]::-webkit-calendar-picker-indicator,\n input.input[type=\"month\"]::-webkit-calendar-picker-indicator,\n input.input[type=\"week\"]::-webkit-calendar-picker-indicator {\n opacity: 0.5;\n cursor: pointer;\n }\n\n /* ── Suffix button (password toggle / search clear) ─────────────────── */\n\n .suffix-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n height: 100%;\n min-width: ${compact ? 'var(--diwa-touch-target-min-size-compact, 32px)' : 'var(--diwa-touch-target-min-size, 44px)'};\n padding: 0 var(--diwa-space-3);\n background: none;\n border: none;\n margin: 0;\n cursor: pointer;\n color: var(--diwa-text-secondary);\n line-height: 0;\n transition: color var(--diwa-transition-fast);\n }\n\n ${getHoverCapableStyle('.suffix-btn', 'color: var(--diwa-text-primary);')}\n\n .suffix-btn:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: -2px;\n }\n\n /* ── Description ────────────────────────────────────────────────── */\n\n .description {\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-secondary);\n margin: 0;\n line-height: var(--diwa-line-height-normal);\n }\n\n /* ── Message (state-coloured) ───────────────────────────────────── */\n\n .message {\n font-size: var(--diwa-font-size-sm);\n color: ${messageColor};\n margin: 0;\n line-height: var(--diwa-line-height-normal);\n }\n\n ${getReducedMotionStyle('.input-wrapper', '.suffix-btn')}\n`;\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"loader-circle-300f00a4.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACK,MAAC,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,6BAA6B,EAAE,CAAC;;;;","names":[],"sources":["../node_modules/lucide/dist/esm/icons/loader-circle.js"],"sourcesContent":["/**\n * @license lucide v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst LoaderCircle = [[\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\" }]];\n\nexport { LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"loader.js","mappings":";;;;AAGY,MAAC,oBAAoB,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS,CAAC;AACtD,EAAE,MAAM,aAAa,EAAE,CAAC;AACxB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAC9D;;;;","names":[],"sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"version":3}
@@ -1,73 +0,0 @@
1
- /**
2
- * src/utils/styles.ts
3
- * ===================
4
- * Shared CSS-in-JS utilities reused across all Diwa web components.
5
- *
6
- * Mirrors the PDS shared style-building helper pattern found in:
7
- * packages/components/src/styles/
8
- *
9
- * Every exported function returns a CSS string fragment.
10
- * Compose them inside a component's getComponentCss() function.
11
- */
12
- /**
13
- * Returns standard focus-visible ring CSS for the given inner selector.
14
- *
15
- * Used inside Shadow DOM <style> tags where :host selectors are scoped.
16
- * Provides both the :host(:focus-visible) path (keyboard delegation via
17
- * shadow.delegatesFocus) and the direct :focus-visible path on the element.
18
- *
19
- * WCAG 2.4.7 (AA) — all interactive elements must have a visible focus indicator.
20
- * WCAG 2.4.11 (AA 2.2) — focus must be at least 2px with ≥3:1 contrast ratio.
21
- *
22
- * @param selector — CSS selector for the inner interactive element (e.g. '.inner')
23
- */
24
- const getFocusStyle = (selector) => `
25
- :host(:focus-visible) ${selector},
26
- ${selector}:focus-visible {
27
- outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);
28
- outline-offset: var(--diwa-focus-ring-offset);
29
- }
30
-
31
- ${selector}:focus:not(:focus-visible) {
32
- outline: none;
33
- }
34
- `;
35
- /**
36
- * Returns a hover rule that only applies on pointer-capable devices.
37
- *
38
- * Prevents hover-only visuals from leaking onto touch-only devices where
39
- * :hover can get "stuck" after tap.
40
- */
41
- const getHoverCapableStyle = (selector, declarations) => `
42
- @media (hover: hover) and (pointer: fine) {
43
- ${selector}:hover {
44
- ${declarations}
45
- }
46
- }
47
- `;
48
- /**
49
- * Returns a @media (prefers-reduced-motion) override block for the given selectors.
50
- *
51
- * WCAG 2.3.3 (AAA) / WCAG 2.2.2 (AA): each animated component must include its
52
- * own reduced-motion block because the global reset in app.css cannot cross the
53
- * Shadow DOM boundary.
54
- *
55
- * @param selectors — one or more CSS selectors whose transitions/animations should
56
- * be suppressed when the user requests reduced motion.
57
- */
58
- const getReducedMotionStyle = (...selectors) => {
59
- const selList = selectors.join(', ');
60
- return `
61
- @media (prefers-reduced-motion: reduce) {
62
- ${selList} {
63
- animation-duration: 0.01ms !important;
64
- animation-iteration-count: 1 !important;
65
- transition-duration: 0.01ms !important;
66
- }
67
- }
68
- `;
69
- };
70
-
71
- export { getReducedMotionStyle as a, getHoverCapableStyle as b, getFocusStyle as g };
72
-
73
- //# sourceMappingURL=styles-e5a47a2d.js.map
@@ -1 +0,0 @@
1
- {"file":"styles-e5a47a2d.js","mappings":"AAAA;;;;;;;;;;;AAeA;;;;;;;;;;;;MAYa,aAAa,GAAG,CAAC,QAAgB,KAAa;0BACjC,QAAQ;IAC9B,QAAQ;;;;;IAKR,QAAQ;;;EAGV;AAEF;;;;;;MAMa,oBAAoB,GAAG,CAAC,QAAgB,EAAE,YAAoB,KAAa;;MAElF,QAAQ;QACN,YAAY;;;EAGlB;AAEF;;;;;;;;;;MAUa,qBAAqB,GAAG,CAAC,GAAG,SAAmB;IAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO;;MAEH,OAAO;;;;;;CAMZ,CAAC;AACF;;;;","names":[],"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"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-accordion.js","mappings":";;;;AAAA;;;;;;;;;;;AAcO,MAAM,eAAe,GAAG,MAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDzC,aAAa,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsFxB,qBAAqB,CAAC,oBAAoB,EAAE,cAAc,EAAE,QAAQ,CAAC;CACxE;;ACzJD;AACA,IAAI,cAAc,GAAG,CAAC,CAAC;MA2BVA,eAAa;IAJ1B;;;;;;;;QAWmB,QAAG,GAAG,kBAAkB,EAAE,cAAc,EAAE,CAAC;;;;;QASnC,UAAK,GAAU,MAAM,CAAC;;QAGvC,YAAO,GAAW,EAAE,CAAC;;QAGrB,eAAU,GAAwB,IAAI,CAAC;;;;;;;;QAStB,SAAI,GAAY,KAAK,CAAC;;QAGtB,YAAO,GAAY,KAAK,CAAC;;;;QAuB1C,iBAAY,GAAG;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACxC,CAAC;KA4CH;IA/FC,IAAY,QAAQ,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE;IACpD,IAAY,OAAO,KAAM,OAAO,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE;;;;IAwDtD,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAyC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;QAExC,QACE,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK,IAC1B,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI,EAEvC,EAAC,UAAU,qDAAC,KAAK,EAAC,SAAS,IACzB,+DACE,KAAK,EAAC,QAAQ,EACd,EAAE,EAAE,IAAI,CAAC,QAAQ,mBACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBACjB,IAAI,CAAC,OAAO,EAC3B,OAAO,EAAE,IAAI,CAAC,YAAY,IAE1B,6DAAM,KAAK,EAAC,cAAc,IAAE,IAAI,CAAC,OAAO,CAAQ,EAChD,6DAAM,KAAK,EAAC,mBAAmB,IAC7B,kEAAW,IAAI,EAAC,cAAc,EAAC,IAAI,EAAE,QAAQ,GAAI,CAC5C,CACA,CACE,EAEb,4DACE,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,QAAQ,qBACI,IAAI,CAAC,QAAQ,IAE9B,4DAAK,KAAK,EAAC,OAAO,IAChB,4DAAK,KAAK,EAAC,SAAS,IAClB,8DAAQ,CACJ,CACF,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["DiwaAccordion"],"sources":["src/components/diwa-accordion/diwa-accordion-styles.ts","src/components/diwa-accordion/diwa-accordion.tsx"],"sourcesContent":["/**\r\n * diwa-accordion-styles.ts\r\n * =========================\r\n * CSS-in-JS styles for <diwa-accordion>.\r\n *\r\n * Animation technique: CSS `grid-template-rows: 0fr ↔ 1fr` — smoothly\r\n * collapses/expands the content without requiring fixed heights.\r\n *\r\n * The inner wrapper uses `visibility: hidden` when closed so keyboard focus\r\n * cannot reach interactive content inside a collapsed panel.\r\n */\r\n\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Heading wrapper (h2…h6) ─────────────────────────────────────── */\r\n\r\n .heading {\r\n margin: 0;\r\n padding: 0;\r\n font-size: inherit;\r\n font-weight: inherit;\r\n }\r\n\r\n /* ── Toggle button ───────────────────────────────────────────────── */\r\n\r\n .header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: var(--diwa-space-9);\r\n width: 100%;\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-4) var(--diwa-space-2);\r\n margin: 0;\r\n cursor: pointer;\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-lg, 16px);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n line-height: 1.3;\r\n color: var(--diwa-text-primary);\r\n text-align: start;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n outline: none;\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n :host([compact]) .header {\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-medium);\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.header')}\r\n\r\n /* ── Hover / active ─────────────────────────────────────────────── */\r\n\r\n .header:hover {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n .header:active {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* Heading text sits above ::before */\r\n .heading-text {\r\n position: relative;\r\n flex: 1;\r\n min-width: 0;\r\n }\r\n\r\n /* ── Chevron container ──────────────────────────────────────────── */\r\n\r\n /* Wrap the icon so we can apply the rotation transform to a real DOM\r\n element rather than to the shadow host of diwa-icon itself. */\r\n .chevron-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n position: relative;\r\n transition: transform var(--diwa-transition-slow, 0.25s ease);\r\n }\r\n\r\n :host([open]) .chevron-container {\r\n transform: rotate(180deg);\r\n }\r\n\r\n /* ── Collapsible panel ──────────────────────────────────────────── */\r\n\r\n /* grid trick: 0fr collapses the row to zero height without display:none,\r\n so CSS transitions can animate smoothly between 0fr and 1fr. */\r\n .collapsible {\r\n display: grid;\r\n grid-template-rows: 0fr;\r\n visibility: hidden;\r\n transition:\r\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\r\n visibility 0s linear var(--diwa-transition-slow, 0.25s);\r\n }\r\n\r\n :host([open]) .collapsible {\r\n grid-template-rows: 1fr;\r\n visibility: inherit;\r\n transition:\r\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\r\n visibility 0s;\r\n }\r\n\r\n /* Inner must have overflow: hidden and min-height: 0 for the grid trick.\r\n Negative margin/padding ensures focus rings from slotted content are\r\n fully visible (matching PDS accordion inner div treatment). */\r\n .inner {\r\n overflow: hidden;\r\n min-height: 0;\r\n padding: var(--diwa-space-1);\r\n margin: calc(-1 * var(--diwa-space-1));\r\n }\r\n\r\n /* Switch to overflow: visible when panel is open so slotted content\r\n like dropdowns and select menus are not clipped. Use an animation\r\n to keep overflow hidden for the duration of the closing transition. */\r\n :host([open]) .inner {\r\n overflow: visible;\r\n }\r\n\r\n .content {\r\n padding-bottom: var(--diwa-space-9);\r\n padding-inline: var(--diwa-space-2);\r\n }\r\n\r\n :host([compact]) .content {\r\n padding-bottom: var(--diwa-space-5);\r\n padding-inline: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.chevron-container', '.collapsible', '.inner')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { AccordionHeadingTag } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-accordion-styles';\r\n\r\n/** Monotonically increasing counter to guarantee unique IDs per instance. */\r\nlet accordionCount = 0;\r\n\r\n/**\r\n * @component diwa-accordion\r\n *\r\n * A controlled, animated accordion panel. The consumer is responsible\r\n * for toggling the `open` prop in response to the `update` event —\r\n * the same controlled pattern used throughout PDS.\r\n *\r\n * Accessibility:\r\n * - Heading tag wraps the toggle button (ARIA Authoring Practices §3.1)\r\n * - Button has `aria-expanded` and `aria-controls` pointing to the panel\r\n * - Panel has `role=\"region\"` and `aria-labelledby` the button id\r\n * - `visibility: hidden` when closed keeps interactive slot content\r\n * out of the keyboard tab order\r\n *\r\n * Usage:\r\n * <diwa-accordion heading=\"What is this?\" open={false} onUpdate={e => open = e.detail.open}>\r\n * Content here.\r\n * </diwa-accordion>\r\n *\r\n * @slot default — Collapsible content rendered inside the panel.\r\n */\r\n@Component({\r\n tag: 'diwa-accordion',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaAccordion {\r\n @Element() host!: HTMLDiwaAccordionElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Instance identity\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private readonly uid = `diwa-accordion-${++accordionCount}`;\r\n private get buttonId() { return `${this.uid}-btn`; }\r\n private get panelId() { return `${this.uid}-panel`; }\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 /** Visible heading text rendered inside the toggle button. */\r\n @Prop() heading: string = '';\r\n\r\n /** Semantic heading level for the toggle button wrapper. */\r\n @Prop() headingTag: AccordionHeadingTag = 'h2';\r\n\r\n /**\r\n * Whether the accordion panel is currently open.\r\n *\r\n * This is a **controlled** prop: the component always reflects\r\n * its `open` state outward via the `update` event, but never\r\n * mutates the prop internally. The consumer must update it.\r\n */\r\n @Prop({ reflect: true }) open: boolean = false;\r\n\r\n /** Reduces padding and font size for denser UI contexts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user clicks the header toggle button.\r\n *\r\n * `event.detail.open` is the **requested** next state.\r\n * The consumer must set the `open` prop accordingly:\r\n *\r\n * ```html\r\n * <diwa-accordion onUpdate={e => this.open = e.detail.open} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<{ open: boolean }>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleToggle = (): void => {\r\n this.update.emit({ open: !this.open });\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const HeadingTag = this.headingTag as keyof HTMLElementTagNameMap;\r\n const iconSize = this.compact ? 16 : 20;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n\r\n <HeadingTag class=\"heading\">\r\n <button\r\n class=\"header\"\r\n id={this.buttonId}\r\n aria-expanded={String(this.open)}\r\n aria-controls={this.panelId}\r\n onClick={this.handleToggle}\r\n >\r\n <span class=\"heading-text\">{this.heading}</span>\r\n <span class=\"chevron-container\">\r\n <diwa-icon name=\"chevron-down\" size={iconSize} />\r\n </span>\r\n </button>\r\n </HeadingTag>\r\n\r\n <div\r\n id={this.panelId}\r\n class=\"collapsible\"\r\n role=\"region\"\r\n aria-labelledby={this.buttonId}\r\n >\r\n <div class=\"inner\">\r\n <div class=\"content\">\r\n <slot />\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-badge.js","mappings":";;;AAEO,MAAM,eAAe,GAAG,MAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgDzC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D1C;;MC3EYA,WAAS;IAJtB;;;;;;;;QAU2B,YAAO,GAAiB,SAAS,CAAC;;QAGlC,SAAI,GAAc,IAAI,CAAC;;;;;QAYvB,QAAG,GAAY,KAAK,CAAC;;QAGrB,UAAK,GAAU,MAAM,CAAC;KAsBhD;;;;IAhBC,MAAM;;QACJ,QACE,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK,IAC1B,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI,EACvC,6DACE,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,MAAM,gBACC,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS,EACnC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,SAAS,IAEtC,IAAI,CAAC,GAAG,IAAI,6DAAM,KAAK,EAAC,KAAK,iBAAa,MAAM,GAAG,EACpD,8DAAQ,CACH,CACF,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["DiwaBadge"],"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"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-button-pure.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-button.js","mappings":"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","names":["DiwaButton"],"sources":["src/components/diwa-button/diwa-button-styles.ts","src/components/diwa-button/diwa-button-utils.ts","src/components/diwa-button/diwa-button.tsx"],"sourcesContent":["/**\r\n * diwa-button-styles.ts\r\n * ======================\r\n * CSS-in-JS style function for <diwa-button>.\r\n *\r\n * Returns a complete, scoped CSS string injected into the component's Shadow DOM\r\n * via a <style innerHTML={...}> element in render(). This follows the shared\n * Diwa component styling architecture used across web components.\n *\r\n * All colour values use CSS custom properties (--diwa-*) — raw values are never\r\n * hardcoded. This means theming is entirely handled by the token cascade: when the\r\n * host element carries data-theme=\"light\", the [data-theme=\"light\"] overrides\r\n * defined in app.css cascade into the Shadow DOM via custom property inheritance.\r\n *\r\n * The function accepts the full prop surface for future conditional optimisation\r\n * (e.g. generating only variant- or size-specific CSS to reduce payload), but\r\n * currently outputs the complete ruleset regardless of prop values.\r\n */\r\n\r\nimport type { ButtonSize, ButtonVariant } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\n/**\r\n * Generates scoped CSS for the <diwa-button> shadow tree.\r\n *\r\n * @param _variant — current ButtonVariant (reserved for conditional CSS)\r\n * @param _size — current ButtonSize (reserved for conditional CSS)\r\n * @param _disabled — disabled state (reserved for conditional CSS)\r\n * @param _loading — loading state (reserved for conditional CSS)\r\n */\r\nexport const getComponentCss = (\r\n _variant: ButtonVariant,\r\n _size: ButtonSize,\r\n _disabled: boolean,\r\n _loading: boolean,\r\n): string => `\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 /* ── Inner element (the real <button> or <a> in Shadow DOM) ─────────── */\r\n\r\n .inner {\r\n /* Layout */\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--diwa-space-2);\r\n\r\n /* Sizing defaults (md) */\r\n height: var(--diwa-button-height, 40px);\r\n padding: 0 var(--diwa-button-padding-x, 16px);\r\n box-sizing: border-box;\r\n width: 100%;\r\n\r\n /* Shape */\r\n border-radius: var(--diwa-button-radius, var(--diwa-radius-md));\r\n border: var(--diwa-border-width-thin) solid transparent;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-button-font-weight, var(--diwa-font-weight-medium));\r\n font-family: inherit;\r\n line-height: 1;\r\n white-space: nowrap;\r\n text-decoration: none;\r\n\r\n /* Interaction */\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n position: relative;\r\n\r\n /* Motion */\r\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\r\n\r\n /* Reset native button styles */\r\n appearance: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.inner')}\r\n\r\n /* ── Variant: primary ───────────────────────────────────────────────── */\r\n\r\n :host([variant=\"primary\"]) .inner {\r\n background-color: var(--diwa-button-bg, var(--diwa-accent));\r\n color: var(--diwa-button-color, var(--diwa-text-inverse));\r\n border-color: transparent;\r\n }\r\n\r\n :host([variant=\"primary\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-button-bg-hover, var(--diwa-accent-hover));\r\n }\r\n\r\n :host([variant=\"primary\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-accent-active);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Variant: secondary ─────────────────────────────────────────────── */\r\n\r\n :host([variant=\"secondary\"]) .inner {\r\n background-color: transparent;\r\n color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n }\r\n\r\n :host([variant=\"secondary\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-bg);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n :host([variant=\"secondary\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-accent-muted);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Variant: ghost ─────────────────────────────────────────────────── */\r\n\r\n :host([variant=\"ghost\"]) .inner {\r\n background-color: transparent;\r\n color: var(--diwa-text-secondary);\r\n border-color: transparent;\r\n }\r\n\r\n :host([variant=\"ghost\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-bg-hover);\r\n color: var(--diwa-text-primary);\r\n }\r\n\r\n :host([variant=\"ghost\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-bg-active);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Variant: danger ────────────────────────────────────────────────── */\r\n\r\n :host([variant=\"danger\"]) .inner {\r\n background-color: var(--diwa-danger);\r\n color: var(--diwa-text-inverse);\r\n border-color: transparent;\r\n }\r\n\r\n :host([variant=\"danger\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-danger-hover);\r\n }\r\n\r\n :host([variant=\"danger\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-danger-active);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Size: sm ───────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .inner {\r\n height: var(--diwa-button-height-sm, 32px);\r\n padding: 0 var(--diwa-button-padding-x-sm, 10px);\r\n font-size: var(--diwa-font-size-md);\r\n }\r\n\r\n /* ── Size: lg ───────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"lg\"]) .inner {\r\n height: var(--diwa-button-height-lg, 44px);\r\n padding: 0 var(--diwa-space-10);\r\n font-size: var(--diwa-font-size-lg);\r\n }\r\n\r\n /* ── State: disabled ────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .inner,\r\n .inner:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── State: loading ─────────────────────────────────────────────────── */\r\n\r\n :host([loading]) .inner {\r\n cursor: wait;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Spinner ────────────────────────────────────────────────────────── */\r\n\r\n .spinner {\r\n width: var(--diwa-spinner-size-sm);\r\n height: var(--diwa-spinner-size-sm);\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-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\r\n }\r\n\r\n @keyframes diwa-spin {\r\n to { transform: rotate(360deg); }\r\n }\r\n\r\n /* ── Icon slots ─────────────────────────────────────────────────────── */\r\n\r\n .icon-start,\r\n .icon-end {\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 /* ── Icon-only mode ─────────────────────────────────────────────────── */\r\n\r\n :host([hide-label]) .inner {\r\n width: var(--diwa-button-height, 40px);\r\n padding: 0;\r\n }\r\n\r\n :host([hide-label][size=\"sm\"]) .inner {\r\n width: var(--diwa-button-height-sm, 32px);\r\n }\r\n\r\n :host([hide-label][size=\"lg\"]) .inner {\r\n width: var(--diwa-button-height-lg, 44px);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.inner', '.label', '.spinner')}\r\n`;\r\n","/**\r\n * diwa-button-utils.ts\r\n * =====================\r\n * Utility types and helper functions for <diwa-button>.\r\n *\r\n * Mirrors the PDS pattern used in:\r\n * packages/components/src/components/button/button-utils.ts\r\n *\r\n * Separating ARIA logic into a dedicated utility file keeps the main component\r\n * lean and makes the accessibility mapping independently testable.\r\n */\r\n\r\n/**\r\n * ARIA attributes applied to the inner interactive element (<button> or <a>).\r\n * All keys are optional — only set when semantically appropriate.\r\n */\r\nexport interface ButtonAriaAttributes {\r\n /** Accessible text label — overrides slot content for AT. */\r\n 'aria-label'?: string;\r\n /** Signals that the button is performing an async operation. */\r\n 'aria-busy'?: 'true';\r\n /** Used on <a> elements (which have no native disabled attribute). */\r\n 'aria-disabled'?: 'true';\r\n}\r\n\r\n/**\r\n * Assembles ARIA attributes for the inner interactive element.\r\n *\r\n * Decision table:\r\n * - `aria-label` → set when `label` prop is provided (icon-only or supplemental name)\r\n * - `aria-busy` → set when `loading` is true (announces async activity to AT)\r\n * - `aria-disabled` → set when disabled **and** the element is an <a> (links have no\r\n * native disabled — we simulate it with aria + tabIndex=-1)\r\n *\r\n * For native <button>: disabled/loading are expressed via the `disabled` HTML attribute\r\n * (handled in the calling component's render), so `aria-disabled` is not needed there.\r\n *\r\n * @param disabled — whether the button interaction is blocked\r\n * @param loading — whether the button is performing an async operation\r\n * @param label — accessible label string (optional)\r\n * @param isLink — true when the component renders as <a> (href is provided)\r\n */\r\nexport const getButtonAriaAttributes = (\r\n disabled: boolean,\r\n loading: boolean,\r\n label: string | undefined,\r\n isLink: boolean,\r\n): ButtonAriaAttributes => {\r\n const attrs: ButtonAriaAttributes = {};\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 // <a> elements have no native `disabled` attribute — express it via ARIA.\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 { ButtonSize, ButtonType, ButtonVariant } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from \"./diwa-button-styles\";\r\nimport { getButtonAriaAttributes } from \"./diwa-button-utils\";\r\n\r\n/**\r\n * @component diwa-button\r\n *\r\n * A fully encapsulated, accessible button primitive.\r\n * Renders as a native <button> (or <a> when `href` is supplied).\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-button-bg Background color (primary variant default)\r\n * --diwa-button-bg-hover Hover background\r\n * --diwa-button-color Foreground / text color\r\n * --diwa-button-radius Border radius\r\n * --diwa-button-height Height for md size\r\n * --diwa-button-height-sm Height for sm size\r\n * --diwa-button-height-lg Height for lg size\r\n * --diwa-button-padding-x Horizontal padding for md/lg\r\n * --diwa-button-padding-x-sm Horizontal padding for sm\r\n *\r\n * Usage:\r\n * <diwa-button variant=\"primary\">Get Started</diwa-button>\r\n * <diwa-button variant=\"secondary\" size=\"sm\" disabled>Cancel</diwa-button>\r\n * <diwa-button href=\"/dashboard\" target=\"_blank\">Open Panel</diwa-button>\r\n *\r\n * @slot default — Button label content (text, icons, or mixed)\r\n */\r\n@Component({\r\n tag: \"diwa-button\",\r\n /**\r\n * No styleUrl — styles are injected dynamically via getComponentCss().\r\n * This follows the PDS CSS-in-JS pattern, enabling per-component theming\r\n * and keeping style logic co-located with the component.\r\n *\r\n * shadow.delegatesFocus = true:\r\n * Forwards focus from the host element (<diwa-button>) to the first\r\n * focusable element inside the Shadow DOM (<button> or <a>).\r\n * This ensures keyboard navigation and :focus-visible work correctly\r\n * when host-app code calls .focus() on the custom element.\r\n */\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaButton {\r\n @Element() host!: HTMLDiwaButtonElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props — each @Prop generates a corresponding argType in Storybook\r\n // and an HTML attribute on the custom element.\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Per-component theme override.\r\n *\r\n * Setting this reflects data-theme onto the host element, causing the light/dark\r\n * token overrides in app.css to cascade into the Shadow DOM automatically.\r\n * Mirrors the `theme` prop on every PDS component.\r\n */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /** Visual style variant. */\r\n @Prop({ reflect: true }) variant: ButtonVariant = \"primary\";\r\n\r\n /** Size tier — controls height and padding. */\r\n @Prop({ reflect: true }) size: ButtonSize = \"md\";\r\n\r\n /**\r\n * Native button type. Only applies when rendered as <button>\r\n * (i.e., no `href` prop is set).\r\n */\r\n @Prop() type: ButtonType = \"button\";\r\n\r\n /**\r\n * Disabled state. Blocks all pointer and keyboard interaction.\r\n * When rendered as <a>, sets aria-disabled instead of disabled\r\n * (the `disabled` attribute is not valid on anchor elements).\r\n */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Loading state. Shows an inline spinner, disables the button,\r\n * and sets aria-busy=\"true\" to communicate async activity to\r\n * screen readers.\r\n */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n\r\n /**\r\n * When set, the button 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 /** 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 * Accessible label. Use when the visible slot content is not\r\n * descriptive enough (e.g., icon-only buttons).\r\n */\r\n @Prop() label?: string;\r\n\r\n /**\r\n * When `true`, the default label slot is visually hidden so the button\r\n * renders as a compact square (icon-only mode). The slot text is kept in\r\n * the DOM for screen-reader accessible-name calculation.\r\n *\r\n * For best accessibility, always pair with the `label` prop **or** ensure\r\n * the default slot contains descriptive text, so the button has a name.\r\n *\r\n * Usage:\r\n * <diwa-button hide-label label=\"Save\">\r\n * <svg slot=\"icon-start\">…</svg>\r\n * </diwa-button>\r\n */\r\n @Prop({ reflect: true }) hideLabel: boolean = false;\r\n\r\n /**\r\n * Lucide icon name in kebab-case (e.g. `\"star\"`, `\"arrow-right\"`), or `'none'`\r\n * to show no icon. When set to any value other than `'none'`, renders a\r\n * `<diwa-icon>` in the leading (icon-start) position.\r\n *\r\n * The `icon-start` slot still works alongside this prop — the prop-rendered\r\n * icon comes first, followed by any slotted content.\r\n */\r\n @Prop() icon: string = 'none';\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 private get iconSize(): number {\r\n return this.size === 'sm' ? 16 : this.size === 'lg' ? 24 : 20;\r\n }\r\n\r\n private handleClick = (e: MouseEvent): void => {\r\n if (!this.isInteractive) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n // When interactive, allow the native click to retarget to the host element.\r\n // Framework wrappers expose it as onClick (React) / @click (Vue) / (click) (Angular).\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n /**\r\n * Render as <a> when href is provided (link semantics).\r\n * Render as <button> for all interactive / form scenarios.\r\n */\r\n const isLink = !!this.href;\r\n const Tag = isLink ? \"a\" : \"button\";\r\n\r\n // Consolidate all ARIA attributes via the utility — mirrors PDS getButtonAriaAttributes()\r\n const ariaAttrs = getButtonAriaAttributes(this.disabled, this.loading, this.label, isLink);\r\n\r\n const commonProps = {\r\n class: \"inner\",\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 // Disabled links have no native mechanism — suppress tab stop too\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 return (\r\n /**\r\n * <Host> renders the outer custom element tag itself.\r\n *\r\n * data-theme is set from the `theme` prop so that the [data-theme=\"light\"]\r\n * CSS variable overrides in app.css cascade into this Shadow DOM tree via\r\n * custom property inheritance — no colour values are hardcoded here.\r\n *\r\n * Reflecting `variant` and `size` as attributes allows CSS consumers to\r\n * target the host from outside: diwa-button[variant=\"primary\"] { ... }\r\n *\r\n * The part=\"base\" exposes internals for ::part() in host-app stylesheets.\r\n */\r\n <Host\r\n data-theme={this.theme}\r\n role={isLink ? undefined : \"button\"}\r\n aria-disabled={\r\n (this.disabled || this.loading) && isLink ? \"true\" : undefined\r\n }\r\n >\r\n {/* CSS-in-JS styles — injected into Shadow DOM, scoped automatically */}\r\n <style innerHTML={getComponentCss(this.variant, this.size, this.disabled, this.loading)} />\r\n\r\n <Tag\r\n {...commonProps}\r\n {...buttonProps}\r\n part=\"base\" /* ::part(base) hook for consumers */\r\n >\r\n {/* Loading spinner — visually hidden from AT via aria-hidden */}\r\n {this.loading && (\r\n <span class=\"spinner\" aria-hidden=\"true\" part=\"spinner\" />\r\n )}\r\n\r\n {/* Leading icon slot — decorative; aria-hidden keeps AT focused on label */}\r\n <span class=\"icon-start\" part=\"icon-start\" aria-hidden=\"true\">\r\n {this.icon !== 'none' && !this.loading && <diwa-icon name={this.icon} size={this.iconSize} />}\r\n <slot name=\"icon-start\" />\r\n </span>\r\n\r\n {/* Slot — content projection. Text, icons, or mixed content. */}\r\n <span class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`} part=\"label\">\r\n <slot />\r\n </span>\r\n\r\n {/* Trailing icon slot */}\r\n <span class=\"icon-end\" part=\"icon-end\" aria-hidden=\"true\">\r\n <slot name=\"icon-end\" />\r\n </span>\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-checkbox.js","mappings":"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","names":["DiwaCheckbox"],"sources":["src/components/diwa-checkbox/diwa-checkbox-styles.ts","src/components/diwa-checkbox/diwa-checkbox.tsx"],"sourcesContent":["import type { CheckboxState } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\nimport { checkmarkSvg, getCheckboxBoxCss } from '../../utils/checkbox-mark';\r\n\r\n/** White horizontal dash for indeterminate state on a 12×12 viewBox */\r\nconst indeterminateSvg = `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\")`;\r\n\r\nexport const getComponentCss = (\r\n state: CheckboxState,\r\n _disabled: boolean,\r\n compact: boolean,\r\n _hideLabel: boolean,\r\n): string => {\r\n const boxSize = compact ? '14px' : '20px';\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\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\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 /* ── Root layout ──────────────────────────────────────────────────── */\r\n\r\n .root {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Wrapper: checkbox + label side by side ───────────────────────── */\r\n\r\n .wrapper {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .wrapper {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Input container ──────────────────────────────────────────────── */\r\n\r\n .input-container {\r\n position: relative;\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n }\r\n\r\n /* ── Native checkbox ──────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n\r\n ${getCheckboxBoxCss()}\r\n }\r\n\r\n input[type=\"checkbox\"]:disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Focus ring ───────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('input[type=\"checkbox\"]')}\r\n\r\n /* ── Hover ────────────────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:hover:not(:disabled) {\r\n border-color: var(--diwa-accent);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Checked state ────────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:checked {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${checkmarkSvg};\r\n }\r\n\r\n input[type=\"checkbox\"]:checked:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-hover);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n /* ── Indeterminate state ──────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:indeterminate {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${indeterminateSvg};\r\n }\r\n\r\n input[type=\"checkbox\"]:indeterminate:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-hover);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n /* ── Validation states ────────────────────────────────────────────── */\r\n\r\n :host([state=\"error\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate) {\r\n border-color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"error\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\r\n border-color: var(--diwa-notification-error);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n :host([state=\"success\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate) {\r\n border-color: var(--diwa-notification-success);\r\n }\r\n\r\n :host([state=\"success\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\r\n border-color: var(--diwa-notification-success);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Disabled ─────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n opacity: var(--diwa-opacity-disabled);\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Label ────────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1.5;\r\n color: var(--diwa-text-primary);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .label {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* Visually-hidden label (still read by screen readers) */\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 /* Required asterisk */\r\n .required {\r\n color: var(--diwa-notification-error);\r\n margin-left: var(--diwa-space-0-5);\r\n }\r\n\r\n /* ── Message ──────────────────────────────────────────────────────── */\r\n\r\n .message {\r\n display: block;\r\n font-size: var(--diwa-font-size-sm);\r\n line-height: 1.4;\r\n color: ${messageColor};\r\n /* Indent to align under the label, not the checkbox */\r\n padding-left: calc(${boxSize} + var(--diwa-space-3));\r\n }\r\n\r\n /* ── Reduced motion ───────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('input[type=\"checkbox\"]')}\r\n`;\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { CheckboxState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-checkbox-styles';\r\n\r\n/**\r\n * @component diwa-checkbox\r\n *\r\n * A fully accessible checkbox control with label, validation state,\r\n * and indeterminate support. Mirrors the PDS p-checkbox API.\r\n *\r\n * Semi-controlled: the `checked` prop is mutable — the component\r\n * updates it internally AND emits an `update` event. The consumer can\r\n * either listen to `update` to manage state externally, or use it\r\n * standalone without any event wiring.\r\n *\r\n * Accessibility:\r\n * - Native `<input type=\"checkbox\">` inside Shadow DOM with delegatesFocus\r\n * - `aria-checked=\"mixed\"` set automatically when `indeterminate` is true\r\n * - `aria-describedby` wires the message element when state is error/success\r\n * - `role` is implicit from native input — no extra ARIA needed\r\n *\r\n * Usage:\r\n * <diwa-checkbox label=\"Accept terms\" checked={accepted}\r\n * onupdate={e => setAccepted(e.detail.checked)} />\r\n *\r\n * Note (V1): The inner <input name> is inside Shadow DOM and is therefore\r\n * not visible to ancestor <form> elements for native form submission.\r\n * Use ElementInternals (V2) or submit via JavaScript instead.\r\n */\r\n@Component({\r\n tag: 'diwa-checkbox',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaCheckbox {\r\n @Element() host!: HTMLDiwaCheckboxElement;\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 /** Visible label text rendered next to the checkbox. */\r\n @Prop() label: string = '';\r\n\r\n /** Native name attribute (identifies the field in JS / form data). */\r\n @Prop() name: string = '';\r\n\r\n /** Value submitted/emitted when the checkbox is checked. */\r\n @Prop() value: string = 'on';\r\n\r\n /**\r\n * Whether the checkbox is checked.\r\n *\r\n * Semi-controlled: mutates internally on user interaction and\r\n * also emits an `update` event so the consumer can sync their state.\r\n */\r\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\r\n\r\n /**\r\n * Indeterminate state — renders a dash icon and sets `aria-checked=\"mixed\"`.\r\n * Setting this to `true` takes visual precedence over `checked`.\r\n * The consumer is responsible for clearing it once the user toggles.\r\n */\r\n @Prop({ reflect: true }) indeterminate: boolean = false;\r\n\r\n /** Puts the checkbox in a disabled state. Blocks interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. Shows a visual asterisk in the label. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Validation state: `'none'` (default), `'error'`, or `'success'`. */\r\n @Prop({ reflect: true }) state: CheckboxState = 'none';\r\n\r\n /** Helper / validation message shown below the checkbox. Only shown when state ≠ 'none'. */\r\n @Prop() message: string = '';\r\n\r\n /** Reduces the checkbox size from 20 px to 14 px for denser layouts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Hides the label visually while keeping it accessible to screen readers. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user toggles the checkbox.\r\n * `event.detail.checked` is the new checked state.\r\n *\r\n * React consumers: use the lowercase `onupdate` prop:\r\n * ```jsx\r\n * <diwa-checkbox onupdate={e => setChecked(e.detail.checked)} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<{ checked: boolean; name: string; value: string }>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private checkboxEl?: HTMLInputElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Keep the native input's non-reflected .indeterminate property in sync. */\r\n @Watch('indeterminate')\r\n watchIndeterminate(value: boolean) {\r\n if (this.checkboxEl) {\r\n this.checkboxEl.indeterminate = value;\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleChange = (e: Event): void => {\r\n const input = e.target as HTMLInputElement;\r\n this.checked = input.checked;\r\n // Clear indeterminate on user interaction (standard browser behaviour)\r\n if (this.indeterminate) {\r\n this.host.removeAttribute('indeterminate');\r\n }\r\n this.update.emit({\r\n checked: this.checked,\r\n name: this.name,\r\n value: this.value,\r\n });\r\n };\r\n\r\n private setCheckboxRef = (el?: HTMLInputElement): void => {\r\n this.checkboxEl = el;\r\n if (el) {\r\n el.indeterminate = this.indeterminate;\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const msgId = 'diwa-checkbox-msg';\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.state,\r\n this.disabled,\r\n this.compact,\r\n this.hideLabel,\r\n )}\r\n />\r\n\r\n <div class=\"root\">\r\n <div class=\"wrapper\">\r\n <div class=\"input-container\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"cb\"\r\n checked={this.checked}\r\n disabled={this.disabled}\r\n required={this.required}\r\n name={this.name}\r\n value={this.value}\r\n aria-checked={this.indeterminate ? 'mixed' : undefined}\r\n aria-describedby={hasMessage ? msgId : undefined}\r\n onChange={this.handleChange}\r\n ref={this.setCheckboxRef}\r\n />\r\n </div>\r\n\r\n {this.label && (\r\n <label\r\n class={`label${this.hideLabel ? ' label--hidden' : ''}`}\r\n htmlFor=\"cb\"\r\n >\r\n {this.label}\r\n {this.required && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n {' '}*\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n </div>\r\n\r\n {hasMessage && (\r\n <span id={msgId} class=\"message\">\r\n {this.message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-divider.js","mappings":";;AAEO,MAAM,eAAe,GAAG,CAAC,WAA+B;IAC7D,MAAM,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;IAE9C,OAAO;;;;;eAKM,UAAU,GAAG,aAAa,GAAG,OAAO;MAC7C,UAAU,GAAG,sBAAsB,GAAG,cAAc;;;;;;;;;;;;;;;;MAgBpD,UAAU;UACR;;qBAEa;UACb;2CACmC;;CAE1C,CAAC;AACF,CAAC;;MCJYA,aAAW;IAJxB;;;;;;;;QAU2B,UAAK,GAAU,MAAM,CAAC;;;;;;;QAQtB,gBAAW,GAAuB,YAAY,CAAC;KAkBzE;;;;IAZC,MAAM;QACJ,QACE,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK,IAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,GAAI,EACvD,2DACE,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,WAAW,sBACE,IAAI,CAAC,WAAW,GAClC,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":["DiwaDivider"],"sources":["src/components/diwa-divider/diwa-divider-styles.ts","src/components/diwa-divider/diwa-divider.tsx"],"sourcesContent":["import type { DividerOrientation } from './types';\r\n\r\nexport const getComponentCss = (orientation: DividerOrientation): string => {\r\n const isVertical = orientation === 'vertical';\r\n\r\n return `\r\n\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: ${isVertical ? 'inline-flex' : 'block'};\r\n ${isVertical ? 'align-self: stretch;' : 'width: 100%;'}\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Rule ─────────────────────────────────────────────────────────── */\r\n\r\n .root {\r\n display: block;\r\n margin: 0;\r\n padding: 0;\r\n border: none;\r\n background-color: var(--diwa-border);\r\n ${isVertical\r\n ? `width: var(--diwa-border-width-thin);\r\n height: 100%;\r\n min-height: 1em;`\r\n : `width: 100%;\r\n height: var(--diwa-border-width-thin);`}\r\n }\r\n`;\r\n};\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { DividerOrientation } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-divider-styles';\r\n\r\n/**\r\n * @component diwa-divider\r\n *\r\n * A purely presentational separator line. Renders a native `<hr>` element\r\n * styled via CSS-in-JS. Supports horizontal (default) and vertical orientations.\r\n *\r\n * Accessibility:\r\n * - Renders as `role=\"separator\"` (implicit from `<hr>`)\r\n * - `aria-orientation` is set automatically from the `orientation` prop\r\n * - Non-interactive — no focus, no keyboard handling\r\n *\r\n * Usage:\r\n * <!-- Horizontal (default) -->\r\n * <diwa-divider />\r\n *\r\n * <!-- Vertical — requires a flex or grid parent with a defined height -->\r\n * <div style=\"display:flex; height:40px\">\r\n * <span>Left</span>\r\n * <diwa-divider orientation=\"vertical\" />\r\n * <span>Right</span>\r\n * </div>\r\n */\r\n@Component({\r\n tag: 'diwa-divider',\r\n shadow: true,\r\n})\r\nexport class DiwaDivider {\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 /**\r\n * Orientation of the divider line.\r\n * - `'horizontal'` (default) — a full-width 1 px horizontal rule.\r\n * - `'vertical'` — a 1 px vertical rule that stretches to the parent's height.\r\n * The parent must be a flex or grid container with a defined height.\r\n */\r\n @Prop({ reflect: true }) orientation: DividerOrientation = 'horizontal';\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(this.orientation)} />\r\n <hr\r\n class=\"root\"\r\n role=\"separator\"\r\n aria-orientation={this.orientation}\r\n />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-flyout.js","mappings":"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","names":["DiwaFlyout"],"sources":["src/components/diwa-flyout/diwa-flyout-styles.ts","src/components/diwa-flyout/diwa-flyout.tsx"],"sourcesContent":["/**\r\n * diwa-flyout-styles.ts\r\n * ======================\r\n * CSS-in-JS styles for <diwa-flyout>.\r\n *\r\n * The flyout is a fixed-position overlay consisting of:\r\n * - A semi-transparent backdrop that covers the viewport.\r\n * - A panel that slides in from the start (left) or end (right) edge.\r\n *\r\n * Both the backdrop and panel animate on open/close. Because all values are\r\n * passed as template literal expressions, the <style> tag is re-emitted on\r\n * every render — which happens whenever `open` or `position` changes.\r\n *\r\n * Visibility technique: `:host` uses `visibility: hidden` with a delayed\r\n * transition when closing so the panel is invisible after the slide-out\r\n * animation completes, while still being `visibility: visible` during the\r\n * opening animation so it animates in correctly.\r\n */\r\n\r\nimport { getReducedMotionStyle } from '../../utils/styles';\r\nimport type { FlyoutBackdrop, FlyoutPosition } from './types';\r\n\r\nexport const getComponentCss = (\r\n open: boolean,\r\n position: FlyoutPosition,\r\n backdrop: FlyoutBackdrop,\r\n): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n position: fixed;\r\n inset: 0;\r\n z-index: var(--diwa-z-overlay);\r\n pointer-events: ${open ? 'auto' : 'none'};\r\n visibility: ${open ? 'visible' : 'hidden'};\r\n transition: visibility 0s linear ${open ? '0s' : 'var(--diwa-motion-duration-moderate)'};\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Backdrop ──────────────────────────────────────────────────────── */\r\n\r\n .backdrop {\r\n position: absolute;\r\n inset: 0;\r\n ${\r\n backdrop === 'blur'\r\n ? `\r\n background: var(--diwa-bg-frosted);\r\n backdrop-filter: blur(var(--diwa-blur-lg));\r\n -webkit-backdrop-filter: blur(var(--diwa-blur-lg));`\r\n : `\r\n background: var(--diwa-bg-shading);`\r\n }\r\n opacity: ${open ? '1' : '0'};\r\n transition: opacity var(--diwa-motion-duration-moderate) var(--diwa-motion-easing-out);\r\n cursor: pointer;\r\n }\r\n\r\n /* ── Panel ─────────────────────────────────────────────────────────── */\r\n\r\n .panel {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n ${position === 'start' ? 'left: 0;' : 'right: 0;'}\r\n width: var(--diwa-flyout-width, 480px);\r\n min-width: var(--diwa-flyout-min-width);\r\n max-width: 100vw;\r\n display: flex;\r\n flex-direction: column;\r\n background: var(--diwa-bg-surface);\r\n border-${position === 'start' ? 'right' : 'left'}: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n transform: translateX(${open ? '0' : position === 'start' ? '-100%' : '100%'});\r\n transition: transform var(--diwa-motion-duration-moderate) var(--diwa-motion-easing-base);\r\n overflow: hidden;\r\n outline: none;\r\n }\r\n\r\n /* ── Header ────────────────────────────────────────────────────────── */\r\n\r\n .header {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-5) var(--diwa-space-6);\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n }\r\n\r\n .heading-text {\r\n flex: 1;\r\n min-width: 0;\r\n font-family: var(--diwa-font-family-base);\r\n font-size: var(--diwa-font-size-xl);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-primary);\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n /* ── Scrollable content ────────────────────────────────────────────── */\r\n\r\n .content {\r\n flex: 1;\r\n overflow-y: auto;\r\n padding: var(--diwa-space-6);\r\n overscroll-behavior: contain;\r\n }\r\n\r\n /* ── Sticky footer ─────────────────────────────────────────────────── */\r\n\r\n .footer {\r\n flex-shrink: 0;\r\n padding: var(--diwa-space-4) var(--diwa-space-6);\r\n border-top: var(--diwa-border-width-thin) solid var(--diwa-border); {\r\n display: none;\r\n }\r\n\r\n ${getReducedMotionStyle('.panel', '.backdrop')}\r\n`;\r\n","import {\r\n Component,\r\n Event,\r\n type EventEmitter,\r\n Host,\r\n Listen,\r\n Prop,\r\n Watch,\r\n h,\r\n} from '@stencil/core';\r\nimport type { FlyoutBackdrop, FlyoutPosition } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-flyout-styles';\r\n\r\n/**\r\n * @component diwa-flyout\r\n *\r\n * A full-height overlay panel that slides in from the start or end edge of\r\n * the viewport. Follows the controlled component pattern — the consumer\r\n * manages `open` state in response to the `dismiss` event.\r\n *\r\n * Accessibility:\r\n * - Panel has `role=\"dialog\"` and `aria-modal=\"true\"`\r\n * - Clicking the backdrop, pressing Escape, or clicking the dismiss button\r\n * emits the `dismiss` event; the consumer sets `open={false}`\r\n * - Focus moves to the panel when opened and returns to the trigger element\r\n * when closed\r\n * - Body scroll is locked (`overflow: hidden`) while the flyout is open\r\n *\r\n * V1 limitations:\r\n * - No focus trap: Tab can navigate outside the panel. A full focus trap\r\n * will be added in V2.\r\n *\r\n * Usage:\r\n * <diwa-flyout heading=\"Settings\" open={isOpen} onDismiss={() => setIsOpen(false)}>\r\n * <p>Flyout body content.</p>\r\n * <div slot=\"footer\">\r\n * <diwa-button onClick={() => setIsOpen(false)}>Save</diwa-button>\r\n * </div>\r\n * </diwa-flyout>\r\n *\r\n * @slot default — Scrollable body content of the flyout.\r\n * @slot header — Extra content in the header row, inserted after the heading text.\r\n * @slot footer — Sticky footer content (e.g. action buttons). Auto-hides when empty.\r\n */\r\n@Component({\r\n tag: 'diwa-flyout',\r\n shadow: true,\r\n})\r\nexport class DiwaFlyout {\r\n private panelEl?: HTMLDivElement;\r\n private savedFocusEl: HTMLElement | null = null;\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 /**\r\n * Whether the flyout is currently open.\r\n *\r\n * Controlled prop — the consumer must set this to `false` in response to\r\n * the `dismiss` event (backdrop click, Escape key, or dismiss button).\r\n */\r\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\r\n\r\n /** Which edge of the viewport the panel slides in from (`start` = left, `end` = right). */\r\n @Prop({ reflect: true }) position: FlyoutPosition = 'end';\r\n\r\n /**\r\n * Controls the visual style of the backdrop overlay.\r\n * `blur` — frosted glass (default; use when opened by user interaction).\r\n * `shading` — solid dark scrim (use for system-triggered flyouts).\r\n */\r\n @Prop() backdrop: FlyoutBackdrop = 'blur';\r\n\r\n /** Heading text displayed in the flyout header. */\r\n @Prop() heading: string = '';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user requests the flyout to close (backdrop click,\r\n * Escape key press, or dismiss button click).\r\n *\r\n * The consumer must set `open={false}` in response:\r\n * ```html\r\n * <diwa-flyout onDismiss={() => this.open = false} />\r\n * ```\r\n * Not bubbles, not composed.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n dismiss!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Lifecycle\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Watch('open')\r\n onOpenChange(nextOpen: boolean): void {\r\n if (nextOpen) {\r\n document.body.style.overflow = 'hidden';\r\n this.savedFocusEl = document.activeElement as HTMLElement;\r\n requestAnimationFrame(() => {\r\n this.panelEl?.focus();\r\n });\r\n } else {\r\n document.body.style.overflow = '';\r\n this.savedFocusEl?.focus();\r\n this.savedFocusEl = null;\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.body.style.overflow = '';\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Keyboard handling\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Close on Escape key while the flyout is open. */\r\n @Listen('keydown', { target: 'window' })\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (this.open && e.key === 'Escape') {\r\n e.preventDefault();\r\n this.dismiss.emit();\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleDismiss = (): void => {\r\n this.dismiss.emit();\r\n };\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>{getComponentCss(this.open, this.position, this.backdrop)}</style>\r\n\r\n {/* Backdrop — clicking it emits dismiss */}\r\n <div\r\n class=\"backdrop\"\r\n aria-hidden=\"true\"\r\n onClick={this.handleDismiss}\r\n />\r\n\r\n {/* Dialog panel */}\r\n <div\r\n class=\"panel\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={this.heading || 'Flyout'}\r\n tabIndex={-1}\r\n ref={(el) => { this.panelEl = el as HTMLDivElement; }}\r\n >\r\n <div class=\"header\">\r\n <span class=\"heading-text\">{this.heading}</span>\r\n <slot name=\"header\" />\r\n <diwa-button-pure\r\n icon=\"x\"\r\n label=\"Close flyout\"\r\n size=\"sm\"\r\n hideLabel={true}\r\n onClick={this.handleDismiss}\r\n />\r\n </div>\r\n\r\n <div class=\"content\">\r\n <slot />\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-heading.js","mappings":"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","names":["DiwaHeading"],"sources":["src/components/diwa-heading/diwa-heading-styles.ts","src/components/diwa-heading/diwa-heading-utils.ts","src/components/diwa-heading/diwa-heading.tsx"],"sourcesContent":["import type { HeadingAlign, HeadingColor, HeadingSize, HeadingWeight } from './types';\r\n\r\nconst FONT_SIZE: Record<HeadingSize, string> = {\r\n 'display': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-4xl))',\r\n 'h1': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-3xl))',\r\n 'h2': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-2xl))',\r\n 'h3': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-xl))',\r\n 'h4': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-lg))',\r\n 'h5': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-base))',\r\n 'h6': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-sm))',\r\n 'inherit': 'var(--diwa-heading-font-size, inherit)',\r\n};\r\n\r\nconst LETTER_SPACING: Record<HeadingSize, string> = {\r\n 'display': 'var(--diwa-heading-letter-spacing, -0.03em)',\r\n 'h1': 'var(--diwa-heading-letter-spacing, -0.03em)',\r\n 'h2': 'var(--diwa-heading-letter-spacing, -0.015em)',\r\n 'h3': 'var(--diwa-heading-letter-spacing, -0.015em)',\r\n 'h4': 'var(--diwa-heading-letter-spacing, 0)',\r\n 'h5': 'var(--diwa-heading-letter-spacing, 0)',\r\n 'h6': 'var(--diwa-heading-letter-spacing, 0)',\r\n 'inherit': 'var(--diwa-heading-letter-spacing, inherit)',\r\n};\r\n\r\nconst FONT_WEIGHT: Record<HeadingWeight, string> = {\r\n semibold: 'var(--diwa-font-weight-semibold)',\r\n bold: 'var(--diwa-font-weight-bold)',\r\n};\r\n\r\nconst COLOR: Record<HeadingColor, string> = {\r\n primary: 'var(--diwa-heading-color, var(--diwa-text-primary))',\r\n secondary: 'var(--diwa-heading-color, var(--diwa-text-secondary))',\r\n inherit: 'var(--diwa-heading-color, inherit)',\r\n};\r\n\r\nexport const getComponentCss = (\r\n size: HeadingSize,\r\n weight: HeadingWeight,\r\n align: HeadingAlign,\r\n color: HeadingColor,\r\n ellipsis: boolean,\r\n): string => `\r\n\r\n :host {\r\n display: block;\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 .heading {\r\n margin: 0;\r\n padding: 0;\r\n font-size: ${FONT_SIZE[size]};\r\n font-weight: ${FONT_WEIGHT[weight]};\r\n line-height: var(--diwa-heading-line-height, var(--diwa-line-height-tight));\r\n letter-spacing: ${LETTER_SPACING[size]};\r\n text-align: ${align};\r\n color: ${COLOR[color]};\r\n ${ellipsis ? 'overflow: hidden; text-overflow: ellipsis; white-space: nowrap;' : ''}\r\n }\r\n`;\r\n","import type { HeadingSize, HeadingTag } from './types';\r\n\r\nconst H_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']);\r\n\r\nexport const SIZE_TO_TAG: Record<HeadingSize, HeadingTag> = {\r\n display: 'h1',\r\n h1: 'h1',\r\n h2: 'h2',\r\n h3: 'h3',\r\n h4: 'h4',\r\n h5: 'h5',\r\n h6: 'h6',\r\n inherit: 'h2',\r\n};\r\n\r\n/**\r\n * Resolves the HTML tag to render:\r\n * 1. If any direct slotted child is an h1–h6 element → return 'div' (avoids invalid nesting).\r\n * 2. If an explicit `tag` prop is provided → use it.\r\n * 3. Otherwise → infer from the `size` prop.\r\n */\r\nexport function getHeadingTag(\r\n host: HTMLElement | null,\r\n size: HeadingSize,\r\n tag: HeadingTag | undefined,\r\n): HeadingTag {\r\n if (host && Array.from(host.children).some((el) => H_TAGS.has(el.tagName.toLowerCase()))) {\r\n return 'div';\r\n }\r\n if (tag) return tag;\r\n return SIZE_TO_TAG[size];\r\n}\r\n","import { Component, Element, Host, Prop, h } from '@stencil/core';\r\nimport type { HeadingAlign, HeadingColor, HeadingSize, HeadingTag, HeadingWeight } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-heading-styles';\r\nimport { getHeadingTag } from './diwa-heading-utils';\r\n\r\n/**\r\n * @component diwa-heading\r\n *\r\n * A responsive heading renderer that maps a visual size scale onto the\r\n * correct semantic HTML heading element. Font sizes use fluid type tokens\r\n * that scale between viewport sizes.\r\n *\r\n * Usage:\r\n * <diwa-heading size=\"h1\">Page title</diwa-heading>\r\n * <diwa-heading size=\"display\" color=\"secondary\">Hero headline</diwa-heading>\r\n * <diwa-heading size=\"h3\" tag=\"h2\">Visual h3, semantic h2</diwa-heading>\r\n *\r\n * @slot default — Heading text content. Inline elements are allowed; block elements are not.\r\n */\r\n@Component({\r\n tag: 'diwa-heading',\r\n shadow: true,\r\n})\r\nexport class DiwaHeading {\r\n @Element() private host!: HTMLElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /**\r\n * Visual size and inferred semantic heading level.\r\n * Determines the rendered HTML tag when no explicit `tag` prop is given.\r\n */\r\n @Prop({ reflect: true }) size: HeadingSize = 'h2';\r\n\r\n /**\r\n * Override the rendered HTML tag.\r\n * Use when the visual size must differ from the semantic level —\r\n * e.g. a visually-large `h3` inside a section that already has an `h2`.\r\n * If omitted, the tag is inferred from `size`.\r\n */\r\n @Prop({ reflect: true }) tag?: HeadingTag;\r\n\r\n /** Font weight. */\r\n @Prop({ reflect: true }) weight: HeadingWeight = 'bold';\r\n\r\n /** Horizontal alignment. `start` and `end` are RTL-aware. */\r\n @Prop({ reflect: true }) align: HeadingAlign = 'start';\r\n\r\n /**\r\n * Colour alias. Use `inherit` to pass through the surrounding colour unchanged —\r\n * useful inside cards, hero sections, or other styled containers.\r\n */\r\n @Prop({ reflect: true }) color: HeadingColor = 'primary';\r\n\r\n /**\r\n * Clip overflow to a single line with a trailing ellipsis.\r\n * The host element must have a defined width for this to take effect.\r\n */\r\n @Prop({ reflect: true }) ellipsis: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const Tag = getHeadingTag(this.host, this.size, this.tag) as any; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.size, this.weight, this.align, this.color, this.ellipsis)} />\r\n <Tag class=\"heading\">\r\n <slot />\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"diwa-icon.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}