@diwacopilot/components 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/dist/cjs/diwa-badge.cjs.entry.js +45 -3
  2. package/dist/cjs/diwa-badge.cjs.entry.js.map +1 -1
  3. package/dist/cjs/diwa-button-pure.cjs.entry.js +1 -1
  4. package/dist/cjs/diwa-button.cjs.entry.js +1 -1
  5. package/dist/cjs/diwa-checkbox.cjs.entry.js +1 -1
  6. package/dist/cjs/diwa-components.cjs.js +1 -1
  7. package/dist/cjs/diwa-divider.cjs.entry.js +1 -1
  8. package/dist/cjs/diwa-flyout.cjs.entry.js +1 -1
  9. package/dist/cjs/diwa-heading.cjs.entry.js +1 -1
  10. package/dist/cjs/diwa-icon.cjs.entry.js +1 -1
  11. package/dist/cjs/diwa-inline-notification.cjs.entry.js +1 -1
  12. package/dist/cjs/diwa-input-date.cjs.entry.js +1 -1
  13. package/dist/cjs/diwa-input-email.cjs.entry.js +1 -1
  14. package/dist/cjs/diwa-input-month.cjs.entry.js +1 -1
  15. package/dist/cjs/diwa-input-number.cjs.entry.js +1 -1
  16. package/dist/cjs/diwa-input-password.cjs.entry.js +1 -1
  17. package/dist/cjs/diwa-input-search.cjs.entry.js +1 -1
  18. package/dist/cjs/diwa-input-tel.cjs.entry.js +1 -1
  19. package/dist/cjs/diwa-input-text.cjs.entry.js +1 -1
  20. package/dist/cjs/diwa-input-time.cjs.entry.js +1 -1
  21. package/dist/cjs/diwa-input-url.cjs.entry.js +1 -1
  22. package/dist/cjs/diwa-input-week.cjs.entry.js +1 -1
  23. package/dist/cjs/diwa-input.cjs.entry.js +1 -1
  24. package/dist/cjs/diwa-link-pure.cjs.entry.js +1 -1
  25. package/dist/cjs/diwa-link.cjs.entry.js +1 -1
  26. package/dist/cjs/diwa-modal.cjs.entry.js +1 -1
  27. package/dist/cjs/diwa-multi-select-option.cjs.entry.js +1 -1
  28. package/dist/cjs/diwa-multi-select.cjs.entry.js +2 -2
  29. package/dist/cjs/diwa-pagination.cjs.entry.js +1 -1
  30. package/dist/cjs/diwa-pin-code.cjs.entry.js +2 -2
  31. package/dist/cjs/diwa-popover.cjs.entry.js +1 -1
  32. package/dist/cjs/diwa-radio-group-item.cjs.entry.js +1 -1
  33. package/dist/cjs/diwa-radio-group.cjs.entry.js +1 -1
  34. package/dist/cjs/diwa-scroller.cjs.entry.js +1 -1
  35. package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +1 -1
  36. package/dist/cjs/diwa-segmented-control.cjs.entry.js +1 -1
  37. package/dist/cjs/diwa-select-option.cjs.entry.js +1 -1
  38. package/dist/cjs/diwa-select.cjs.entry.js +1 -1
  39. package/dist/cjs/diwa-spinner.cjs.entry.js +1 -1
  40. package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js +1 -1
  41. package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js +1 -1
  42. package/dist/cjs/diwa-switch.cjs.entry.js +1 -1
  43. package/dist/cjs/diwa-table-body.cjs.entry.js +1 -1
  44. package/dist/cjs/diwa-table-cell.cjs.entry.js +1 -1
  45. package/dist/cjs/diwa-table-head-cell.cjs.entry.js +4 -4
  46. package/dist/cjs/diwa-table-head.cjs.entry.js +1 -1
  47. package/dist/cjs/diwa-table-row.cjs.entry.js +1 -1
  48. package/dist/cjs/diwa-table.cjs.entry.js +1 -1
  49. package/dist/cjs/diwa-tabs-bar.cjs.entry.js +1 -1
  50. package/dist/cjs/diwa-tabs-item.cjs.entry.js +1 -1
  51. package/dist/cjs/diwa-tabs.cjs.entry.js +1 -1
  52. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +1 -1
  53. package/dist/cjs/diwa-tag.cjs.entry.js +1 -1
  54. package/dist/cjs/diwa-text-list-item.cjs.entry.js +1 -1
  55. package/dist/cjs/diwa-text-list.cjs.entry.js +1 -1
  56. package/dist/cjs/diwa-text.cjs.entry.js +1 -1
  57. package/dist/cjs/diwa-textarea.cjs.entry.js +1 -1
  58. package/dist/cjs/diwa-toast-item.cjs.entry.js +1 -1
  59. package/dist/cjs/diwa-toast.cjs.entry.js +1 -1
  60. package/dist/cjs/loader.cjs.js +1 -1
  61. package/dist/collection/components/diwa-badge/diwa-badge-styles.js +39 -2
  62. package/dist/collection/components/diwa-badge/diwa-badge-styles.js.map +1 -1
  63. package/dist/collection/components/diwa-badge/diwa-badge.js +32 -4
  64. package/dist/collection/components/diwa-badge/diwa-badge.js.map +1 -1
  65. package/dist/collection/components/diwa-button/diwa-button.js +1 -1
  66. package/dist/collection/components/diwa-button-pure/diwa-button-pure.js +1 -1
  67. package/dist/collection/components/diwa-checkbox/diwa-checkbox.js +1 -1
  68. package/dist/collection/components/diwa-divider/diwa-divider.js +1 -1
  69. package/dist/collection/components/diwa-flyout/diwa-flyout.js +1 -1
  70. package/dist/collection/components/diwa-heading/diwa-heading.js +1 -1
  71. package/dist/collection/components/diwa-icon/diwa-icon.js +1 -1
  72. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js +1 -1
  73. package/dist/collection/components/diwa-input/diwa-input.js +1 -1
  74. package/dist/collection/components/diwa-input-date/diwa-input-date.js +1 -1
  75. package/dist/collection/components/diwa-input-email/diwa-input-email.js +1 -1
  76. package/dist/collection/components/diwa-input-month/diwa-input-month.js +1 -1
  77. package/dist/collection/components/diwa-input-number/diwa-input-number.js +1 -1
  78. package/dist/collection/components/diwa-input-password/diwa-input-password.js +1 -1
  79. package/dist/collection/components/diwa-input-search/diwa-input-search.js +1 -1
  80. package/dist/collection/components/diwa-input-tel/diwa-input-tel.js +1 -1
  81. package/dist/collection/components/diwa-input-text/diwa-input-text.js +1 -1
  82. package/dist/collection/components/diwa-input-time/diwa-input-time.js +1 -1
  83. package/dist/collection/components/diwa-input-url/diwa-input-url.js +1 -1
  84. package/dist/collection/components/diwa-input-week/diwa-input-week.js +1 -1
  85. package/dist/collection/components/diwa-link/diwa-link.js +1 -1
  86. package/dist/collection/components/diwa-link-pure/diwa-link-pure.js +1 -1
  87. package/dist/collection/components/diwa-modal/diwa-modal.js +1 -1
  88. package/dist/collection/components/diwa-multi-select/diwa-multi-select.js +2 -2
  89. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js +1 -1
  90. package/dist/collection/components/diwa-pagination/diwa-pagination.js +1 -1
  91. package/dist/collection/components/diwa-pin-code/diwa-pin-code.js +2 -2
  92. package/dist/collection/components/diwa-popover/diwa-popover.js +1 -1
  93. package/dist/collection/components/diwa-radio-group/diwa-radio-group.js +1 -1
  94. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js +1 -1
  95. package/dist/collection/components/diwa-scroller/diwa-scroller.js +1 -1
  96. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js +1 -1
  97. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js +1 -1
  98. package/dist/collection/components/diwa-select/diwa-select.js +1 -1
  99. package/dist/collection/components/diwa-select-option/diwa-select-option.js +1 -1
  100. package/dist/collection/components/diwa-spinner/diwa-spinner.js +1 -1
  101. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js +1 -1
  102. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js +1 -1
  103. package/dist/collection/components/diwa-switch/diwa-switch.js +1 -1
  104. package/dist/collection/components/diwa-table/diwa-table.js +1 -1
  105. package/dist/collection/components/diwa-table-body/diwa-table-body.js +1 -1
  106. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js +1 -1
  107. package/dist/collection/components/diwa-table-head/diwa-table-head.js +1 -1
  108. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js +4 -4
  109. package/dist/collection/components/diwa-table-row/diwa-table-row.js +1 -1
  110. package/dist/collection/components/diwa-tabs/diwa-tabs.js +1 -1
  111. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js +1 -1
  112. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js +1 -1
  113. package/dist/collection/components/diwa-tag/diwa-tag.js +1 -1
  114. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js +1 -1
  115. package/dist/collection/components/diwa-text/diwa-text.js +1 -1
  116. package/dist/collection/components/diwa-text-list/diwa-text-list.js +1 -1
  117. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js +1 -1
  118. package/dist/collection/components/diwa-textarea/diwa-textarea.js +1 -1
  119. package/dist/collection/components/diwa-toast/diwa-toast.js +1 -1
  120. package/dist/collection/components/diwa-toast-item/diwa-toast-item.js +1 -1
  121. package/dist/diwa-components/diwa-components.esm.js +1 -1
  122. package/dist/diwa-components/diwa-components.esm.js.map +1 -1
  123. package/dist/diwa-components/{p-c78591ce.entry.js → p-0028e799.entry.js} +2 -2
  124. package/dist/diwa-components/{p-3fb5cc30.entry.js → p-008bdfa4.entry.js} +2 -2
  125. package/dist/diwa-components/{p-95b0fdea.entry.js → p-027e5299.entry.js} +2 -2
  126. package/dist/diwa-components/{p-3660b09a.entry.js → p-03a4902e.entry.js} +2 -2
  127. package/dist/diwa-components/p-05a02076.entry.js +2 -0
  128. package/dist/diwa-components/{p-230692aa.entry.js → p-090f557b.entry.js} +2 -2
  129. package/dist/diwa-components/{p-9ade0403.entry.js → p-0b6aa730.entry.js} +2 -2
  130. package/dist/diwa-components/{p-d917625e.entry.js → p-0c2776f7.entry.js} +2 -2
  131. package/dist/diwa-components/{p-cc0e1662.entry.js → p-11aae5f1.entry.js} +2 -2
  132. package/dist/diwa-components/{p-9eef4779.entry.js → p-13aeda0b.entry.js} +2 -2
  133. package/dist/diwa-components/{p-36b004e9.entry.js → p-145e5281.entry.js} +2 -2
  134. package/dist/diwa-components/{p-35b69160.entry.js → p-20332312.entry.js} +2 -2
  135. package/dist/diwa-components/{p-3b38fa01.entry.js → p-247210ec.entry.js} +2 -2
  136. package/dist/diwa-components/p-24c10d6e.entry.js +2 -0
  137. package/dist/diwa-components/{p-78b16866.entry.js → p-2c3cff37.entry.js} +2 -2
  138. package/dist/diwa-components/{p-1830772d.entry.js → p-310a22ca.entry.js} +2 -2
  139. package/dist/diwa-components/{p-7a99a2aa.entry.js → p-335e06ab.entry.js} +2 -2
  140. package/dist/diwa-components/{p-def36bc4.entry.js → p-33b49ced.entry.js} +2 -2
  141. package/dist/diwa-components/{p-37e1bea3.entry.js → p-36056450.entry.js} +2 -2
  142. package/dist/diwa-components/{p-8369c48e.entry.js → p-3a992d7e.entry.js} +2 -2
  143. package/dist/diwa-components/p-3e68a752.entry.js +2 -0
  144. package/dist/diwa-components/{p-bbede25d.entry.js → p-4332671a.entry.js} +2 -2
  145. package/dist/diwa-components/p-454aa95f.entry.js +2 -0
  146. package/dist/diwa-components/{p-238da82a.entry.js → p-46a8a0a7.entry.js} +2 -2
  147. package/dist/diwa-components/{p-3269a4b7.entry.js → p-50420bc6.entry.js} +2 -2
  148. package/dist/diwa-components/{p-13e71247.entry.js → p-52f32ba8.entry.js} +2 -2
  149. package/dist/diwa-components/{p-e19ad9fa.entry.js → p-5e75b7b3.entry.js} +2 -2
  150. package/dist/diwa-components/{p-1250d0c7.entry.js → p-630b5003.entry.js} +2 -2
  151. package/dist/diwa-components/{p-952af214.entry.js → p-645e5f9a.entry.js} +2 -2
  152. package/dist/diwa-components/{p-db70e030.entry.js → p-6dcf2862.entry.js} +2 -2
  153. package/dist/diwa-components/p-6f639ee0.entry.js +2 -0
  154. package/dist/diwa-components/p-76f75cb3.entry.js +2 -0
  155. package/dist/diwa-components/p-76f75cb3.entry.js.map +1 -0
  156. package/dist/diwa-components/{p-bd501daa.entry.js → p-8285e16e.entry.js} +2 -2
  157. package/dist/diwa-components/p-82be1b3a.entry.js +2 -0
  158. package/dist/diwa-components/{p-9910d570.entry.js → p-845b2a42.entry.js} +2 -2
  159. package/dist/diwa-components/p-851e4c86.entry.js +2 -0
  160. package/dist/diwa-components/{p-f44d4091.entry.js.map → p-851e4c86.entry.js.map} +1 -1
  161. package/dist/diwa-components/{p-87932af2.entry.js → p-878039a1.entry.js} +2 -2
  162. package/dist/diwa-components/{p-c6ca8d8b.entry.js → p-887e0cb5.entry.js} +2 -2
  163. package/dist/diwa-components/{p-926e283b.entry.js → p-8b210952.entry.js} +2 -2
  164. package/dist/diwa-components/{p-66c53adc.entry.js → p-90504a91.entry.js} +2 -2
  165. package/dist/diwa-components/p-90d0db67.entry.js +2 -0
  166. package/dist/diwa-components/{p-117dc41d.entry.js → p-a446b615.entry.js} +2 -2
  167. package/dist/diwa-components/{p-71c45961.entry.js → p-b33f4993.entry.js} +2 -2
  168. package/dist/diwa-components/p-b595f330.entry.js +2 -0
  169. package/dist/diwa-components/{p-50866c5a.entry.js → p-bcc6545a.entry.js} +2 -2
  170. package/dist/diwa-components/{p-1d708e1e.entry.js → p-c2557813.entry.js} +2 -2
  171. package/dist/diwa-components/p-c3535eb8.entry.js +2 -0
  172. package/dist/diwa-components/p-c4083a76.entry.js +2 -0
  173. package/dist/diwa-components/{p-429c596d.entry.js.map → p-c4083a76.entry.js.map} +1 -1
  174. package/dist/diwa-components/{p-e9673253.entry.js → p-c427acf5.entry.js} +2 -2
  175. package/dist/diwa-components/{p-b072ff72.entry.js → p-c862863d.entry.js} +2 -2
  176. package/dist/diwa-components/{p-66c15f66.entry.js → p-c9ec0829.entry.js} +2 -2
  177. package/dist/diwa-components/{p-9c89e586.entry.js → p-d57421af.entry.js} +2 -2
  178. package/dist/diwa-components/{p-998dd88e.entry.js → p-e23fbe5f.entry.js} +2 -2
  179. package/dist/diwa-components/{p-863c88a4.entry.js → p-e6f7dd21.entry.js} +2 -2
  180. package/dist/diwa-components/p-ecb1eabd.entry.js +2 -0
  181. package/dist/diwa-components/{p-29419c9a.entry.js → p-f842df14.entry.js} +2 -2
  182. package/dist/diwa-components/{p-5f9139bc.entry.js → p-fa3f0cb0.entry.js} +2 -2
  183. package/dist/esm/diwa-badge.entry.js +45 -3
  184. package/dist/esm/diwa-badge.entry.js.map +1 -1
  185. package/dist/esm/diwa-button-pure.entry.js +1 -1
  186. package/dist/esm/diwa-button.entry.js +1 -1
  187. package/dist/esm/diwa-checkbox.entry.js +1 -1
  188. package/dist/esm/diwa-components.js +1 -1
  189. package/dist/esm/diwa-divider.entry.js +1 -1
  190. package/dist/esm/diwa-flyout.entry.js +1 -1
  191. package/dist/esm/diwa-heading.entry.js +1 -1
  192. package/dist/esm/diwa-icon.entry.js +1 -1
  193. package/dist/esm/diwa-inline-notification.entry.js +1 -1
  194. package/dist/esm/diwa-input-date.entry.js +1 -1
  195. package/dist/esm/diwa-input-email.entry.js +1 -1
  196. package/dist/esm/diwa-input-month.entry.js +1 -1
  197. package/dist/esm/diwa-input-number.entry.js +1 -1
  198. package/dist/esm/diwa-input-password.entry.js +1 -1
  199. package/dist/esm/diwa-input-search.entry.js +1 -1
  200. package/dist/esm/diwa-input-tel.entry.js +1 -1
  201. package/dist/esm/diwa-input-text.entry.js +1 -1
  202. package/dist/esm/diwa-input-time.entry.js +1 -1
  203. package/dist/esm/diwa-input-url.entry.js +1 -1
  204. package/dist/esm/diwa-input-week.entry.js +1 -1
  205. package/dist/esm/diwa-input.entry.js +1 -1
  206. package/dist/esm/diwa-link-pure.entry.js +1 -1
  207. package/dist/esm/diwa-link.entry.js +1 -1
  208. package/dist/esm/diwa-modal.entry.js +1 -1
  209. package/dist/esm/diwa-multi-select-option.entry.js +1 -1
  210. package/dist/esm/diwa-multi-select.entry.js +2 -2
  211. package/dist/esm/diwa-pagination.entry.js +1 -1
  212. package/dist/esm/diwa-pin-code.entry.js +2 -2
  213. package/dist/esm/diwa-popover.entry.js +1 -1
  214. package/dist/esm/diwa-radio-group-item.entry.js +1 -1
  215. package/dist/esm/diwa-radio-group.entry.js +1 -1
  216. package/dist/esm/diwa-scroller.entry.js +1 -1
  217. package/dist/esm/diwa-segmented-control-item.entry.js +1 -1
  218. package/dist/esm/diwa-segmented-control.entry.js +1 -1
  219. package/dist/esm/diwa-select-option.entry.js +1 -1
  220. package/dist/esm/diwa-select.entry.js +1 -1
  221. package/dist/esm/diwa-spinner.entry.js +1 -1
  222. package/dist/esm/diwa-stepper-horizontal-item.entry.js +1 -1
  223. package/dist/esm/diwa-stepper-horizontal.entry.js +1 -1
  224. package/dist/esm/diwa-switch.entry.js +1 -1
  225. package/dist/esm/diwa-table-body.entry.js +1 -1
  226. package/dist/esm/diwa-table-cell.entry.js +1 -1
  227. package/dist/esm/diwa-table-head-cell.entry.js +4 -4
  228. package/dist/esm/diwa-table-head.entry.js +1 -1
  229. package/dist/esm/diwa-table-row.entry.js +1 -1
  230. package/dist/esm/diwa-table.entry.js +1 -1
  231. package/dist/esm/diwa-tabs-bar.entry.js +1 -1
  232. package/dist/esm/diwa-tabs-item.entry.js +1 -1
  233. package/dist/esm/diwa-tabs.entry.js +1 -1
  234. package/dist/esm/diwa-tag-dismissible.entry.js +1 -1
  235. package/dist/esm/diwa-tag.entry.js +1 -1
  236. package/dist/esm/diwa-text-list-item.entry.js +1 -1
  237. package/dist/esm/diwa-text-list.entry.js +1 -1
  238. package/dist/esm/diwa-text.entry.js +1 -1
  239. package/dist/esm/diwa-textarea.entry.js +1 -1
  240. package/dist/esm/diwa-toast-item.entry.js +1 -1
  241. package/dist/esm/diwa-toast.entry.js +1 -1
  242. package/dist/esm/loader.js +1 -1
  243. package/dist/types/components/diwa-badge/diwa-badge.d.ts +11 -3
  244. package/dist/types/components.d.ts +32 -12
  245. package/dist-custom-elements/diwa-accordion.js +1 -1
  246. package/dist-custom-elements/diwa-badge.js +46 -3
  247. package/dist-custom-elements/diwa-badge.js.map +1 -1
  248. package/dist-custom-elements/diwa-button-pure.js +1 -1
  249. package/dist-custom-elements/diwa-button.js +2 -2
  250. package/dist-custom-elements/diwa-checkbox.js +1 -1
  251. package/dist-custom-elements/diwa-divider.js +1 -1
  252. package/dist-custom-elements/diwa-flyout.js +3 -3
  253. package/dist-custom-elements/diwa-heading.js +1 -1
  254. package/dist-custom-elements/diwa-icon.js +1 -1
  255. package/dist-custom-elements/diwa-inline-notification.js +3 -3
  256. package/dist-custom-elements/diwa-input-date.js +1 -1
  257. package/dist-custom-elements/diwa-input-email.js +1 -1
  258. package/dist-custom-elements/diwa-input-month.js +1 -1
  259. package/dist-custom-elements/diwa-input-number.js +1 -1
  260. package/dist-custom-elements/diwa-input-password.js +2 -2
  261. package/dist-custom-elements/diwa-input-search.js +2 -2
  262. package/dist-custom-elements/diwa-input-tel.js +1 -1
  263. package/dist-custom-elements/diwa-input-text.js +1 -1
  264. package/dist-custom-elements/diwa-input-time.js +1 -1
  265. package/dist-custom-elements/diwa-input-url.js +1 -1
  266. package/dist-custom-elements/diwa-input-week.js +1 -1
  267. package/dist-custom-elements/diwa-input.js +1 -1
  268. package/dist-custom-elements/diwa-link-pure.js +2 -2
  269. package/dist-custom-elements/diwa-link.js +2 -2
  270. package/dist-custom-elements/diwa-modal.js +1 -1
  271. package/dist-custom-elements/diwa-multi-select-option.js +1 -1
  272. package/dist-custom-elements/diwa-multi-select.js +2 -2
  273. package/dist-custom-elements/diwa-pagination.js +1 -1
  274. package/dist-custom-elements/diwa-pin-code.js +2 -2
  275. package/dist-custom-elements/diwa-popover.js +1 -1
  276. package/dist-custom-elements/diwa-radio-group-item.js +1 -1
  277. package/dist-custom-elements/diwa-radio-group.js +1 -1
  278. package/dist-custom-elements/diwa-scroller.js +1 -1
  279. package/dist-custom-elements/diwa-segmented-control-item.js +1 -1
  280. package/dist-custom-elements/diwa-segmented-control.js +1 -1
  281. package/dist-custom-elements/diwa-select-option.js +1 -1
  282. package/dist-custom-elements/diwa-select.js +1 -1
  283. package/dist-custom-elements/diwa-spinner.js +1 -1
  284. package/dist-custom-elements/diwa-stepper-horizontal-item.js +1 -1
  285. package/dist-custom-elements/diwa-stepper-horizontal.js +1 -1
  286. package/dist-custom-elements/diwa-switch.js +2 -2
  287. package/dist-custom-elements/diwa-table-body.js +1 -1
  288. package/dist-custom-elements/diwa-table-cell.js +1 -1
  289. package/dist-custom-elements/diwa-table-head-cell.js +4 -4
  290. package/dist-custom-elements/diwa-table-head.js +1 -1
  291. package/dist-custom-elements/diwa-table-row.js +1 -1
  292. package/dist-custom-elements/diwa-table.js +1 -1
  293. package/dist-custom-elements/diwa-tabs-bar.js +1 -1
  294. package/dist-custom-elements/diwa-tabs-item.js +1 -1
  295. package/dist-custom-elements/diwa-tabs.js +1 -1
  296. package/dist-custom-elements/diwa-tag-dismissible.js +1 -1
  297. package/dist-custom-elements/diwa-tag.js +2 -2
  298. package/dist-custom-elements/diwa-text-list-item.js +1 -1
  299. package/dist-custom-elements/diwa-text-list.js +1 -1
  300. package/dist-custom-elements/diwa-text.js +1 -1
  301. package/dist-custom-elements/diwa-textarea.js +1 -1
  302. package/dist-custom-elements/diwa-toast-item.js +1 -1
  303. package/dist-custom-elements/diwa-toast.js +2 -2
  304. package/dist-custom-elements/{p-7c951f7f.js → p-0e219692.js} +2 -2
  305. package/dist-custom-elements/{p-7c951f7f.js.map → p-0e219692.js.map} +1 -1
  306. package/dist-custom-elements/{p-105f3f97.js → p-236fbbdd.js} +3 -3
  307. package/dist-custom-elements/{p-105f3f97.js.map → p-236fbbdd.js.map} +1 -1
  308. package/dist-custom-elements/{p-b7255dc4.js → p-3fce050e.js} +2 -2
  309. package/dist-custom-elements/{p-b7255dc4.js.map → p-3fce050e.js.map} +1 -1
  310. package/dist-custom-elements/{p-8972ae69.js → p-473ec48f.js} +2 -2
  311. package/dist-custom-elements/{p-8972ae69.js.map → p-473ec48f.js.map} +1 -1
  312. package/package.json +3 -2
  313. package/dist/diwa-components/p-084204ab.entry.js +0 -2
  314. package/dist/diwa-components/p-084204ab.entry.js.map +0 -1
  315. package/dist/diwa-components/p-09f2e643.entry.js +0 -2
  316. package/dist/diwa-components/p-429c596d.entry.js +0 -2
  317. package/dist/diwa-components/p-5a597e27.entry.js +0 -2
  318. package/dist/diwa-components/p-7dc7291f.entry.js +0 -2
  319. package/dist/diwa-components/p-8506ea0c.entry.js +0 -2
  320. package/dist/diwa-components/p-d25377eb.entry.js +0 -2
  321. package/dist/diwa-components/p-e137afc9.entry.js +0 -2
  322. package/dist/diwa-components/p-e1935375.entry.js +0 -2
  323. package/dist/diwa-components/p-e602c199.entry.js +0 -2
  324. package/dist/diwa-components/p-f44d4091.entry.js +0 -2
  325. package/dist/diwa-components/p-f60f1d81.entry.js +0 -2
  326. package/dist/diwa-components/p-fae653f7.entry.js +0 -2
  327. /package/dist/diwa-components/{p-c78591ce.entry.js.map → p-0028e799.entry.js.map} +0 -0
  328. /package/dist/diwa-components/{p-3fb5cc30.entry.js.map → p-008bdfa4.entry.js.map} +0 -0
  329. /package/dist/diwa-components/{p-95b0fdea.entry.js.map → p-027e5299.entry.js.map} +0 -0
  330. /package/dist/diwa-components/{p-3660b09a.entry.js.map → p-03a4902e.entry.js.map} +0 -0
  331. /package/dist/diwa-components/{p-e602c199.entry.js.map → p-05a02076.entry.js.map} +0 -0
  332. /package/dist/diwa-components/{p-230692aa.entry.js.map → p-090f557b.entry.js.map} +0 -0
  333. /package/dist/diwa-components/{p-9ade0403.entry.js.map → p-0b6aa730.entry.js.map} +0 -0
  334. /package/dist/diwa-components/{p-d917625e.entry.js.map → p-0c2776f7.entry.js.map} +0 -0
  335. /package/dist/diwa-components/{p-cc0e1662.entry.js.map → p-11aae5f1.entry.js.map} +0 -0
  336. /package/dist/diwa-components/{p-9eef4779.entry.js.map → p-13aeda0b.entry.js.map} +0 -0
  337. /package/dist/diwa-components/{p-36b004e9.entry.js.map → p-145e5281.entry.js.map} +0 -0
  338. /package/dist/diwa-components/{p-35b69160.entry.js.map → p-20332312.entry.js.map} +0 -0
  339. /package/dist/diwa-components/{p-3b38fa01.entry.js.map → p-247210ec.entry.js.map} +0 -0
  340. /package/dist/diwa-components/{p-f60f1d81.entry.js.map → p-24c10d6e.entry.js.map} +0 -0
  341. /package/dist/diwa-components/{p-78b16866.entry.js.map → p-2c3cff37.entry.js.map} +0 -0
  342. /package/dist/diwa-components/{p-d25377eb.entry.js.map → p-310a22ca.entry.js.map} +0 -0
  343. /package/dist/diwa-components/{p-7a99a2aa.entry.js.map → p-335e06ab.entry.js.map} +0 -0
  344. /package/dist/diwa-components/{p-def36bc4.entry.js.map → p-33b49ced.entry.js.map} +0 -0
  345. /package/dist/diwa-components/{p-37e1bea3.entry.js.map → p-36056450.entry.js.map} +0 -0
  346. /package/dist/diwa-components/{p-8369c48e.entry.js.map → p-3a992d7e.entry.js.map} +0 -0
  347. /package/dist/diwa-components/{p-e137afc9.entry.js.map → p-3e68a752.entry.js.map} +0 -0
  348. /package/dist/diwa-components/{p-bbede25d.entry.js.map → p-4332671a.entry.js.map} +0 -0
  349. /package/dist/diwa-components/{p-09f2e643.entry.js.map → p-454aa95f.entry.js.map} +0 -0
  350. /package/dist/diwa-components/{p-238da82a.entry.js.map → p-46a8a0a7.entry.js.map} +0 -0
  351. /package/dist/diwa-components/{p-3269a4b7.entry.js.map → p-50420bc6.entry.js.map} +0 -0
  352. /package/dist/diwa-components/{p-13e71247.entry.js.map → p-52f32ba8.entry.js.map} +0 -0
  353. /package/dist/diwa-components/{p-e19ad9fa.entry.js.map → p-5e75b7b3.entry.js.map} +0 -0
  354. /package/dist/diwa-components/{p-1250d0c7.entry.js.map → p-630b5003.entry.js.map} +0 -0
  355. /package/dist/diwa-components/{p-952af214.entry.js.map → p-645e5f9a.entry.js.map} +0 -0
  356. /package/dist/diwa-components/{p-db70e030.entry.js.map → p-6dcf2862.entry.js.map} +0 -0
  357. /package/dist/diwa-components/{p-e1935375.entry.js.map → p-6f639ee0.entry.js.map} +0 -0
  358. /package/dist/diwa-components/{p-bd501daa.entry.js.map → p-8285e16e.entry.js.map} +0 -0
  359. /package/dist/diwa-components/{p-fae653f7.entry.js.map → p-82be1b3a.entry.js.map} +0 -0
  360. /package/dist/diwa-components/{p-9910d570.entry.js.map → p-845b2a42.entry.js.map} +0 -0
  361. /package/dist/diwa-components/{p-87932af2.entry.js.map → p-878039a1.entry.js.map} +0 -0
  362. /package/dist/diwa-components/{p-c6ca8d8b.entry.js.map → p-887e0cb5.entry.js.map} +0 -0
  363. /package/dist/diwa-components/{p-926e283b.entry.js.map → p-8b210952.entry.js.map} +0 -0
  364. /package/dist/diwa-components/{p-66c53adc.entry.js.map → p-90504a91.entry.js.map} +0 -0
  365. /package/dist/diwa-components/{p-8506ea0c.entry.js.map → p-90d0db67.entry.js.map} +0 -0
  366. /package/dist/diwa-components/{p-117dc41d.entry.js.map → p-a446b615.entry.js.map} +0 -0
  367. /package/dist/diwa-components/{p-71c45961.entry.js.map → p-b33f4993.entry.js.map} +0 -0
  368. /package/dist/diwa-components/{p-1830772d.entry.js.map → p-b595f330.entry.js.map} +0 -0
  369. /package/dist/diwa-components/{p-50866c5a.entry.js.map → p-bcc6545a.entry.js.map} +0 -0
  370. /package/dist/diwa-components/{p-1d708e1e.entry.js.map → p-c2557813.entry.js.map} +0 -0
  371. /package/dist/diwa-components/{p-5a597e27.entry.js.map → p-c3535eb8.entry.js.map} +0 -0
  372. /package/dist/diwa-components/{p-e9673253.entry.js.map → p-c427acf5.entry.js.map} +0 -0
  373. /package/dist/diwa-components/{p-b072ff72.entry.js.map → p-c862863d.entry.js.map} +0 -0
  374. /package/dist/diwa-components/{p-66c15f66.entry.js.map → p-c9ec0829.entry.js.map} +0 -0
  375. /package/dist/diwa-components/{p-9c89e586.entry.js.map → p-d57421af.entry.js.map} +0 -0
  376. /package/dist/diwa-components/{p-998dd88e.entry.js.map → p-e23fbe5f.entry.js.map} +0 -0
  377. /package/dist/diwa-components/{p-863c88a4.entry.js.map → p-e6f7dd21.entry.js.map} +0 -0
  378. /package/dist/diwa-components/{p-7dc7291f.entry.js.map → p-ecb1eabd.entry.js.map} +0 -0
  379. /package/dist/diwa-components/{p-29419c9a.entry.js.map → p-f842df14.entry.js.map} +0 -0
  380. /package/dist/diwa-components/{p-5f9139bc.entry.js.map → p-fa3f0cb0.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { D as DiwaSpinner$1, d as defineCustomElement$1 } from './p-b7255dc4.js';
1
+ import { D as DiwaSpinner$1, d as defineCustomElement$1 } from './p-3fce050e.js';
2
2
 
3
3
  const DiwaSpinner = DiwaSpinner$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -106,7 +106,7 @@ const DiwaStepperHorizontalItem$1 = /*@__PURE__*/ proxyCustomElement(class DiwaS
106
106
  return h("span", { class: "circle-inner" }, this.stepNumber);
107
107
  }
108
108
  render() {
109
- return (h(Host, { key: '1bd4bdda83dd199b36592765be08ae2e25707589', role: "listitem", "aria-current": this.state === 'current' ? 'step' : undefined }, h("style", { key: 'd40d2b5fe94ba5c056cab3d01b1c43d4c9a55c5e', innerHTML: getComponentCss(this.state, this.isLast) }), h("div", { key: 'b5fddb4aef4467af7a902bc4d41431f744b10dbc', class: "item" }, h("div", { key: '6382f98df1fb9eca76507b0741c39959ba8ea63c', class: "circle" }, this.renderIcon()), h("div", { key: 'f950e7b8b8463312c72ccee15394914b0d24dbf4', class: "connector", "aria-hidden": "true" }), this.label && h("span", { key: '9d38f213ba5cf9b4c390b674247ac42b5ebef455', class: "label" }, this.label), this.sublabel && h("span", { key: '14a4c997f533e697cc58ee8d9b1a997e306e9bec', class: "sublabel" }, this.sublabel))));
109
+ return (h(Host, { key: 'd11b7dd7e030ab412668905ce3a0dfb5f2025ad4', role: "listitem", "aria-current": this.state === 'current' ? 'step' : undefined }, h("style", { key: 'b98a5924354cfae2dace22dde1173eb638873693', innerHTML: getComponentCss(this.state, this.isLast) }), h("div", { key: 'bd51d2326d1981355da09a3bc2cc6a1e0fcf1821', class: "item" }, h("div", { key: '5743051e93e4a32992d55452dbaa7c2fae61b539', class: "circle" }, this.renderIcon()), h("div", { key: '1603b51edc94ab77d7f0dbea4f821e39661475ba', class: "connector", "aria-hidden": "true" }), this.label && h("span", { key: 'be03753d722f189919f0e2dd7fd3adebb6de2928', class: "label" }, this.label), this.sublabel && h("span", { key: '42e900cc2e384ac193497434ba9fe4e86bc90a74', class: "sublabel" }, this.sublabel))));
110
110
  }
111
111
  get host() { return this; }
112
112
  }, [1, "diwa-stepper-horizontal-item", {
@@ -63,7 +63,7 @@ const DiwaStepperHorizontal$1 = /*@__PURE__*/ proxyCustomElement(class DiwaStepp
63
63
  });
64
64
  }
65
65
  render() {
66
- return (h(Host, { key: '52f3578b5ad1f46b649ff00de8fd081451c9df70', "data-theme": this.theme }, h("style", { key: '493175498aa8d24ba2744853e951a26569e3372f', innerHTML: getComponentCss() }), h("div", { key: 'f143d785d7934b688102764de95c4c5a77aa9a87', class: "stepper", role: "list", "aria-label": "Progress" }, h("slot", { key: 'ff914a761531cadf1f56cbdfde003e9a230ed4f7' }))));
66
+ return (h(Host, { key: '2f3e3ab9f5968923e59b4d11016a034a44936165', "data-theme": this.theme }, h("style", { key: 'ec8979d4bd2b04cd3b416fabf6f03d1f997842e9', innerHTML: getComponentCss() }), h("div", { key: '77a3700aeded2ff1b69d8dd94482e55aeb48531d', class: "stepper", role: "list", "aria-label": "Progress" }, h("slot", { key: '29b9e4804e4451b008f602cc205a1532b663b2f9' }))));
67
67
  }
68
68
  get host() { return this; }
69
69
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-5eacc7d0.js';
2
2
  import { g as getFocusStyle, a as getReducedMotionStyle } from './p-70bbb21a.js';
3
- import { d as defineCustomElement$2 } from './p-b7255dc4.js';
3
+ import { d as defineCustomElement$2 } from './p-3fce050e.js';
4
4
 
5
5
  const getComponentCss = (checked, disabled, loading, alignLabel, compact) => {
6
6
  // Subtract border-width from inset: `top` on an absolutely-positioned child
@@ -123,7 +123,7 @@ const DiwaSwitch$1 = /*@__PURE__*/ proxyCustomElement(class DiwaSwitch extends H
123
123
  };
124
124
  }
125
125
  render() {
126
- return (h(Host, { key: '0e96affd5a3e280b06eb48e7feb2a0df542a19c9', "data-theme": this.theme }, h("style", { key: '3aa55f784774591f5f85a3655af25e2f664b634e', innerHTML: getComponentCss(this.checked, this.disabled, this.loading, this.alignLabel, this.compact) }), h("span", { key: '427803e1b7d578ed2a7be907ce2220ea19a4f497', class: "wrapper", onClick: this.handleClick }, h("span", { key: '34eafe8af538941ac7957f44360ccfec84c452a8', class: "track", role: "switch", "aria-checked": String(this.checked), "aria-disabled": this.disabled || this.loading ? 'true' : undefined, tabIndex: this.disabled || this.loading ? -1 : 0, onKeyDown: this.handleKeyDown }, !this.loading && h("span", { key: 'e03e1e78d4002ab82a87d80ba68f173b0d576df9', class: "thumb" }), this.loading && (h("span", { key: '467b9b651be875cf9b4be6c06dc491071e50f455', class: "loading-indicator", "aria-hidden": "true" }, h("diwa-spinner", { key: '6f2510961e02ada5f837a8251ce2219d3e71ad3b', size: "sm" })))), h("span", { key: 'e9fabaed9eb4fe909d073967a46216c249eb59e3', class: "label" }, h("slot", { key: '681bbbf5c64154f5c846869286544959ca4aa7e7' })))));
126
+ return (h(Host, { key: 'c6b0baae527682b7fb1fedf325313ab069cd0954', "data-theme": this.theme }, h("style", { key: '2436ea48c102aa6f3aae71136c713c9dadb881c2', innerHTML: getComponentCss(this.checked, this.disabled, this.loading, this.alignLabel, this.compact) }), h("span", { key: '78305942636540d14f49d3f8a84a166dd04a1004', class: "wrapper", onClick: this.handleClick }, h("span", { key: '4230dc3c39be578dbe97d9aed6cf29f53343ff97', class: "track", role: "switch", "aria-checked": String(this.checked), "aria-disabled": this.disabled || this.loading ? 'true' : undefined, tabIndex: this.disabled || this.loading ? -1 : 0, onKeyDown: this.handleKeyDown }, !this.loading && h("span", { key: '8e994b990b591d23e0c70bd7d6d731695673e14d', class: "thumb" }), this.loading && (h("span", { key: '621a6e985a3b8bb8a2a4622541d57d823dfbb53d', class: "loading-indicator", "aria-hidden": "true" }, h("diwa-spinner", { key: '442ea0df62cc4584843fde69be0fd90828655165', size: "sm" })))), h("span", { key: '022e8db4854c28e515c01aafddd56c6a2d1cc7ec', class: "label" }, h("slot", { key: '47f4b3744afc1fecc2d92c00c42b7f40268bb16b' })))));
127
127
  }
128
128
  static get delegatesFocus() { return true; }
129
129
  }, [17, "diwa-switch", {
@@ -16,7 +16,7 @@ const DiwaTableBody$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTableBody ext
16
16
  this.theme = 'dark';
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '4a79b101f25908a4c8d952a6cabeba242d361d45', role: "rowgroup", "data-theme": this.theme }, h("style", { key: '2fe92018084cd53e3eecfa6fa7cfcd314609d383', innerHTML: getComponentCss() }), h("slot", { key: 'f9d45fc32ddc9eb5532dd8e85fadac06df35cfb3' })));
19
+ return (h(Host, { key: '060d3016c96ac3c29b5265450828f0c2770696c8', role: "rowgroup", "data-theme": this.theme }, h("style", { key: '025471a64af1c06620e36d273bbe27afc5b70d1b', innerHTML: getComponentCss() }), h("slot", { key: 'a0b770fa75b04264b919a63b55846c7941931fc8' })));
20
20
  }
21
21
  }, [1, "diwa-table-body", {
22
22
  "theme": [513]
@@ -25,7 +25,7 @@ const DiwaTableCell$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTableCell ext
25
25
  this.multiline = false;
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '06e9e7b9644a399b4bf3392cafd2ce1906034c56', role: "cell" }, h("style", { key: '2aec2e9dda9ee32ec47628dd7eb7aa9d378e91be', innerHTML: getComponentCss(this.multiline) }), h("slot", { key: '9391683948fd415551ae1ae08dc53b1801380a69' })));
28
+ return (h(Host, { key: '70f68af8b28744b825c139f341c0815e11e5f08e', role: "cell" }, h("style", { key: '53bf58da9f8e9d9f0ee8ccc566cf4607b3b1d0b3', innerHTML: getComponentCss(this.multiline) }), h("slot", { key: '8089efa5309487c4c0682c4781d3ebcd8bb6a48b' })));
29
29
  }
30
30
  }, [1, "diwa-table-cell", {
31
31
  "theme": [513],
@@ -91,15 +91,15 @@ const DiwaTableHeadCell$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTableHead
91
91
  : sort.active
92
92
  ? sort.direction === 'asc' ? 'ascending' : 'descending'
93
93
  : 'none';
94
- const labelEl = h("span", { key: '40a5b63a8d14852144b04f50f5de06f18c3cb7a5', class: hideLabel ? 'sr-only' : undefined }, h("slot", { key: 'f765ee500707bfdd4c720aff27ef9f0eb33111fe' }));
95
- const sortIcon = (h("svg", { key: '99c9b4265ce25ea53e3c31109be2da6741d44c48', width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", style: {
94
+ const labelEl = h("span", { key: 'a2e2dd130b1dae02512d95e6dfbddb8c3df83ca0', class: hideLabel ? 'sr-only' : undefined }, h("slot", { key: '6aa36f19db6cf80ac99511ee38aec8f12c3e1fd6' }));
95
+ const sortIcon = (h("svg", { key: 'd21e881edfb0e87db3d20086a380033fb656392a', width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", style: {
96
96
  opacity: (sort === null || sort === void 0 ? void 0 : sort.active) ? '1' : '0.4',
97
97
  transform: (sort === null || sort === void 0 ? void 0 : sort.direction) === 'desc' ? 'rotate(180deg)' : 'none',
98
98
  transition: 'opacity 150ms ease, transform 150ms ease',
99
99
  flexShrink: '0',
100
100
  display: 'block',
101
- } }, h("path", { key: '7fbf420dbc69c8e13d5d99f28d2271ccab2a48b9', d: "M4 10L8 6L12 10", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
102
- return (h(Host, { key: '9e37a53dda74f54f91a90519b8feda3a24d75fb1', role: "columnheader", "aria-sort": ariaSort }, h("style", { key: '85fd59f90284e4b6daf740f21b687f564f5cc7d7', innerHTML: getComponentCss(isSortable, multiline) }), isSortable ? (h("button", { type: "button", class: "sort-btn", onClick: this.handleSort }, h("span", { class: "sort-label" }, labelEl), sortIcon)) : (labelEl)));
101
+ } }, h("path", { key: 'fd12f7b9559b4c371f041c0050201b5897dbe65b', d: "M4 10L8 6L12 10", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
102
+ return (h(Host, { key: '3f94ad099ad07643adbb68a6d9b60506627e331f', role: "columnheader", "aria-sort": ariaSort }, h("style", { key: '1816c6ada4b56007b674ff2f100347c0190141b4', innerHTML: getComponentCss(isSortable, multiline) }), isSortable ? (h("button", { type: "button", class: "sort-btn", onClick: this.handleSort }, h("span", { class: "sort-label" }, labelEl), sortIcon)) : (labelEl)));
103
103
  }
104
104
  get host() { return this; }
105
105
  }, [1, "diwa-table-head-cell", {
@@ -25,7 +25,7 @@ const DiwaTableHead$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTableHead ext
25
25
  this.theme = 'dark';
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '8b9ea28317fea6188af61dad423fe63058910913', role: "rowgroup", "data-theme": this.theme }, h("style", { key: '70d40b87e2b9a76d20424845492cd6d2addb775a', innerHTML: getComponentCss() }), h("slot", { key: 'af8f4b4e1e404c7c23a3d6d35b8b961167047c3c' })));
28
+ return (h(Host, { key: '519ba227e1dedb0b5e1d9e80bd4dffe07d30ecb2', role: "rowgroup", "data-theme": this.theme }, h("style", { key: '4688cc17dc1fdfbbbcd3fc6a47061ce47bc840a5', innerHTML: getComponentCss() }), h("slot", { key: '856a4751d4e1a3df7209bac4ac4eb7dceb362b0e' })));
29
29
  }
30
30
  }, [1, "diwa-table-head", {
31
31
  "theme": [513]
@@ -20,7 +20,7 @@ const DiwaTableRow$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTableRow exten
20
20
  this.theme = 'dark';
21
21
  }
22
22
  render() {
23
- return (h(Host, { key: '7f50afcd2d670ddfce8c868977c8662984e8a92d', role: "row", "data-theme": this.theme }, h("style", { key: '95d0cc4eb479e1ad4e3e03b87c82e8c7f99be540', innerHTML: getComponentCss() }), h("slot", { key: '8d02b0f44a1b06304bcfa7e1b7d582c0ec2b2db8' })));
23
+ return (h(Host, { key: '45310520a3e662442e44a2c1ef97aed5aab249ef', role: "row", "data-theme": this.theme }, h("style", { key: 'ebd5e2f8a71726d4c77b66a5be6acb7b4efe372f', innerHTML: getComponentCss() }), h("slot", { key: '2e28c9bb411bc76c3c17094d91daa3b7f541d697' })));
24
24
  }
25
25
  }, [1, "diwa-table-row", {
26
26
  "theme": [513]
@@ -102,7 +102,7 @@ const DiwaTable$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTable extends H {
102
102
  }
103
103
  render() {
104
104
  const tableLabel = this.caption || undefined;
105
- return (h(Host, { key: 'dcecc9c66f8edbe62c2f7d705ffda0a1f2d76f97', "data-theme": this.theme }, h("style", { key: '183ada7a6f59ba400c6c6132dfb7685718ee2a40', innerHTML: getComponentCss(this.compact, this.layout, this.bordered, this.striped) }), h("div", { key: '707f325328eba674677122a67f737bb47843d6ed', class: "table", role: "table", "aria-label": tableLabel }, h("slot", { key: '00a709c094a8a06a85dff9ad388cfdf8c5a8a7cf' }))));
105
+ return (h(Host, { key: 'ba6d8dc15f1b749d17d551f1d7da68b265e089f1', "data-theme": this.theme }, h("style", { key: '18ab26b2b3416c3fcaa363f9c6d4964ee2ea07ed', innerHTML: getComponentCss(this.compact, this.layout, this.bordered, this.striped) }), h("div", { key: '9e3ceb6c632cd27c08b19d8208826e3f233c966b', class: "table", role: "table", "aria-label": tableLabel }, h("slot", { key: '6575fad2e3ff1aa77111f6d9363171ae80eeef41' }))));
106
106
  }
107
107
  }, [1, "diwa-table", {
108
108
  "theme": [513],
@@ -216,7 +216,7 @@ const DiwaTabsBar$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTabsBar extends
216
216
  });
217
217
  }
218
218
  render() {
219
- return (h(Host, { key: '0dc13736a3b995d469880639e2af554544c5e5ea', role: "tablist", "data-theme": this.theme }, h("style", { key: '7792f75ccf668f4ab60ad8817bd504507b025797', innerHTML: getComponentCss() }), h("div", { key: '728725f33c758c38a6e99335d4b7741ea4064b76', class: "bar" }, h("slot", { key: '87f09b4877890425b2b2c5187d62f9fc41ecd5d7' }))));
219
+ return (h(Host, { key: 'b7928b347830dfeb7ad98d5a6b75c19969913c11', role: "tablist", "data-theme": this.theme }, h("style", { key: '8dbf7f2a0bfc3078e936e36bcb05d732b59138a3', innerHTML: getComponentCss() }), h("div", { key: 'a86af72d154d26b7d60a46d04ce593d969e385d1', class: "bar" }, h("slot", { key: '18a056c3d26fe95185da2e9662dd1efd0de086fa' }))));
220
220
  }
221
221
  get host() { return this; }
222
222
  static get watchers() { return {
@@ -25,7 +25,7 @@ const DiwaTabsItem$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTabsItem exten
25
25
  this.active = false;
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '28fc39ff87fcb65a40522bf64eb5a0e9e2c0ed2b', role: "tabpanel", "aria-hidden": this.active ? 'false' : 'true', "data-theme": this.theme }, h("style", { key: '3cc6d2b31959fd573f8abde754b66ee99824f298', innerHTML: getComponentCss(this.active) }), h("slot", { key: 'b71bbd0c4836013b48c588e6c74670292fa2c36c' })));
28
+ return (h(Host, { key: '907d3de8cd0892975e3e09c9a27b3d28e919b7c0', role: "tabpanel", "aria-hidden": this.active ? 'false' : 'true', "data-theme": this.theme }, h("style", { key: '3ad85637ea21fd79a52134273cc2c4935ce739b2', innerHTML: getComponentCss(this.active) }), h("slot", { key: '99113255d8bc769b7d6bfd35841525fd8cef5256' })));
29
29
  }
30
30
  get host() { return this; }
31
31
  }, [1, "diwa-tabs-item", {
@@ -102,7 +102,7 @@ const DiwaTabs$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTabs extends H {
102
102
  }
103
103
  render() {
104
104
  const items = this.getItems();
105
- return (h(Host, { key: '58e19e00620feeab361bb40e4b8ae53a5aae0bd4', "data-theme": this.theme }, h("style", { key: '3ff3a46b7df5caeaf1c670f72ca725f8218618c7', innerHTML: getComponentCss() }), h("div", { key: 'a1473f8f9bb7d88176d8825879985eed0a3fabba', class: "bar", role: "tablist" }, items.map((item, i) => (h("button", { class: "tab-btn", key: i, role: "tab", type: "button", "aria-selected": i === this.activeTabIndex ? 'true' : 'false', "aria-controls": `panel-${i}`, tabindex: i === this.activeTabIndex ? 0 : -1, onClick: () => this.handleTabClick(i) }, item.label || `Tab ${i + 1}`)))), h("div", { key: '49a664dd1f219421c05963cea3c4172e118b280a', class: "panels" }, h("slot", { key: '41c47202452a8de31d9e64c20cb4728047a53b5a' }))));
105
+ return (h(Host, { key: '812e11bc6b4aa5a659fd65ff6bcfcc7d5bd4b2d3', "data-theme": this.theme }, h("style", { key: 'ab330530c33fa7af8ff48d1daa43b0b950520a66', innerHTML: getComponentCss() }), h("div", { key: '9771b96e88954ad75dfac1b8d32c607e4b37e0e2', class: "bar", role: "tablist" }, items.map((item, i) => (h("button", { class: "tab-btn", key: i, role: "tab", type: "button", "aria-selected": i === this.activeTabIndex ? 'true' : 'false', "aria-controls": `panel-${i}`, tabindex: i === this.activeTabIndex ? 0 : -1, onClick: () => this.handleTabClick(i) }, item.label || `Tab ${i + 1}`)))), h("div", { key: '12613d9a3365b21d9feefe0cd60af4e1bdc30794', class: "panels" }, h("slot", { key: '5643338d524a9504f1b091e872f23909eedac42b' }))));
106
106
  }
107
107
  get host() { return this; }
108
108
  static get watchers() { return {
@@ -100,7 +100,7 @@ const DiwaTagDismissible$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTagDismi
100
100
  };
101
101
  }
102
102
  render() {
103
- return (h(Host, { key: 'e38cfaa8ab96522f4fe516b64efcadd9a8c12661', "data-theme": this.theme }, h("style", { key: '3e8c178617ab71f172ee6878ad8f1260f6389aa7', innerHTML: getComponentCss(this.variant, this.compact) }), h("span", { key: '5b3f671bdb71327e7f2fb227ce29b6d9c8dea36f', class: "tag" }, h("slot", { key: 'e8372472821b469f1e3a262415595c3bd58345c5' }), h("button", { key: '093dfd628497cac1a886543eeb48927e68753822', class: "dismiss", type: "button", "aria-label": this.label, onClick: this.handleDismiss }, h("svg", { key: 'd56cdca4db4fbd9144a9c06eb4d12c44478fa3af', xmlns: "http://www.w3.org/2000/svg", width: 12, height: 12, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("line", { key: '047c1338afb7d612853d76c468ab926d810e77de', x1: "18", y1: "6", x2: "6", y2: "18" }), h("line", { key: 'f2576ea09474cb17cb4dbe74b878ccf62debf03e', x1: "6", y1: "6", x2: "18", y2: "18" }))))));
103
+ return (h(Host, { key: '9f4c4377ebc43cf3745e6b3b76c1a0515735fe14', "data-theme": this.theme }, h("style", { key: '7a4a1ee00d78c00caedf46b2e4ed00703dc2a025', innerHTML: getComponentCss(this.variant, this.compact) }), h("span", { key: '58e2d5628247acb7e1e1c319cbab3ddee3e0fc17', class: "tag" }, h("slot", { key: '073b4608fbb5cbe95e1ad6be7fd9604110c07470' }), h("button", { key: 'd82542c1f55263710d8d9664e678492dbdf83552', class: "dismiss", type: "button", "aria-label": this.label, onClick: this.handleDismiss }, h("svg", { key: '69df9a94062c0e50440ba6da4aff447c37f9dca5', xmlns: "http://www.w3.org/2000/svg", width: 12, height: 12, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("line", { key: '79fa0ae0e865ca7b2c81fc681e74b4dd7ad7975b', x1: "18", y1: "6", x2: "6", y2: "18" }), h("line", { key: '144d7a3756922d470d2583aa53b911137d6436f3', x1: "6", y1: "6", x2: "18", y2: "18" }))))));
104
104
  }
105
105
  static get delegatesFocus() { return true; }
106
106
  }, [17, "diwa-tag-dismissible", {
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-5eacc7d0.js';
2
- import { d as defineCustomElement$2 } from './p-8972ae69.js';
2
+ import { d as defineCustomElement$2 } from './p-473ec48f.js';
3
3
 
4
4
  const VARIANT_MAP = {
5
5
  neutral: {
@@ -82,7 +82,7 @@ const DiwaTag$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTag extends H {
82
82
  this.theme = 'dark';
83
83
  }
84
84
  render() {
85
- return (h(Host, { key: 'd42fb54eff16c99a228aadb0705555b46f12e32f', "data-theme": this.theme }, h("style", { key: '5a970176294cd830196d20211c3de04bafe432cb', innerHTML: getComponentCss(this.variant, this.compact) }), h("span", { key: 'cf96cb76fd620897df59dab8cd85c49b2905112c', class: "tag" }, this.icon && (h("span", { key: 'e5f269560d17a45c0072dadeab04018592b13f1a', class: "icon" }, h("diwa-icon", { key: '355758d40a0a2539b0ec7eba9710e57a308e510e', name: this.icon, size: this.compact ? 12 : 14 }))), h("slot", { key: '640ad0e5c11ecaebd98fe846f48b81938c7c9db2' }))));
85
+ return (h(Host, { key: '7988f2df7bb610e4740f66cd99d39585db3593f5', "data-theme": this.theme }, h("style", { key: 'd7537b4b976e5883dff1c3007abef68a85a54947', innerHTML: getComponentCss(this.variant, this.compact) }), h("span", { key: '7fe4f78c4cf1d3ab50d2075e6117da2442ec5402', class: "tag" }, this.icon && (h("span", { key: 'a92d37891d45e530112838df6261a5fc54fe7da5', class: "icon" }, h("diwa-icon", { key: 'c361b75471c8744b1b6d34b581055b1b7dbaeb7e', name: this.icon, size: this.compact ? 12 : 14 }))), h("slot", { key: 'b5f82c669e5568ec3f9d538f140f7e0b903bd647' }))));
86
86
  }
87
87
  }, [1, "diwa-tag", {
88
88
  "variant": [513],
@@ -23,7 +23,7 @@ const DiwaTextListItem$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTextListIt
23
23
  this.theme = 'dark';
24
24
  }
25
25
  render() {
26
- return (h(Host, { key: 'ca389afc2ee236afaf0ef1aa73da52621300309c', "data-theme": this.theme }, h("style", { key: '0b89865d665c4abc37ed2d6e044b7160480acf79', innerHTML: getItemCss() }), h("slot", { key: 'd49ee74ef96e916912a16889b33b05a08fd4027b' })));
26
+ return (h(Host, { key: 'f92036198ef850cc2b40eaa57ad7e314fcef91e4', "data-theme": this.theme }, h("style", { key: 'c3bb2e489866ebeefb744cf401a7a1ceeb6fd24a', innerHTML: getItemCss() }), h("slot", { key: '37757b08e12b6fe3e88dd9a7e915ebd58df15fac' })));
27
27
  }
28
28
  }, [1, "diwa-text-list-item", {
29
29
  "theme": [513]
@@ -38,7 +38,7 @@ const DiwaTextList$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTextList exten
38
38
  }
39
39
  render() {
40
40
  const Tag = this.type === 'ordered' ? 'ol' : 'ul';
41
- return (h(Host, { key: '46a42d0fad4e36c43294095336094028eba05e28', "data-theme": this.theme }, h("style", { key: 'fac6f5dfc2f131e718e808465e7bac609cf46665', innerHTML: getComponentCss(this.type) }), h(Tag, { key: '40e9fc80b433d58834b3b1465a49c53ed968f171', class: "list" }, h("slot", { key: '25af80ba0ae2f8dc8ff98e5fc5321fa271b52ebb' }))));
41
+ return (h(Host, { key: 'c7fa29c59cb816732f14a435da9766dd6a888986', "data-theme": this.theme }, h("style", { key: '32358a312591f433febdc699b9400c897e57b48c', innerHTML: getComponentCss(this.type) }), h(Tag, { key: 'fbe6590f1088ebf717de49fb2c94a884eb7347c2', class: "list" }, h("slot", { key: '2e76f4e0b16e2a7361fe09f9b553554f22a4341f' }))));
42
42
  }
43
43
  }, [1, "diwa-text-list", {
44
44
  "theme": [513],
@@ -76,7 +76,7 @@ const DiwaText$1 = /*@__PURE__*/ proxyCustomElement(class DiwaText extends H {
76
76
  // ──────────────────────────────────────────────────────────────
77
77
  render() {
78
78
  const Tag = this.tag; // eslint-disable-line @typescript-eslint/no-explicit-any
79
- return (h(Host, { key: '78b4446a7e87098e2b5c91eeafa452af9746b3f4', "data-theme": this.theme }, h("style", { key: '4d35e7cd05ba8b6169481a3e29562e606eb11504', innerHTML: getComponentCss(this.size, this.weight, this.align, this.color, this.ellipsis) }), h(Tag, { key: '0c9634ebb578a91e3abf14957ad588f3350070cf', class: "text" }, h("slot", { key: '1a173a8d617c7f903da682122dbd96767d3af2b3' }))));
79
+ return (h(Host, { key: '49d18cf4a1cde0bf2d76da600ae75986c5ee037c', "data-theme": this.theme }, h("style", { key: '731258511e5767af1d62598367bd10d46f09c6c6', innerHTML: getComponentCss(this.size, this.weight, this.align, this.color, this.ellipsis) }), h(Tag, { key: '87a7f719ba0298cd1c502c04ac98f7f15d428e8b', class: "text" }, h("slot", { key: '20d0fb364bfd92432ff603327ba3b1d057b6129d' }))));
80
80
  }
81
81
  }, [1, "diwa-text", {
82
82
  "theme": [513],
@@ -146,7 +146,7 @@ const DiwaTextarea$1 = /*@__PURE__*/ proxyCustomElement(class DiwaTextarea exten
146
146
  const taId = 'textarea';
147
147
  const descId = 'desc';
148
148
  const msgId = 'msg';
149
- return (h(Host, { key: 'bc8c28e4261d600dcd7279fbf83f3c69598bede9', "data-theme": this.theme }, h("style", { key: '6424b2957223222e398afbd46110e7da11e074d0', innerHTML: getComponentCss(this.state, this.disabled, this.readOnly, this.resize, this.compact) }), h("div", { key: 'f99c09858acafd13e43389f0fdeef23352016658', class: "root" }, !this.hideLabel && this.label && (h("div", { key: '19062e869778b9f486c110a8a501fbdd77c7a629', class: "label-row" }, h("label", { key: '6b7e15fd5794920731f84abb408f4c73c212a03a', class: "label", htmlFor: taId }, this.label, this.required && h("span", { key: '2fce6e00c084737d175057e6d0fe291962152f9f', class: "required", "aria-hidden": "true" }, " *")), h("slot", { key: '20de835c3283696e786370a8b9e667ad14811f65', name: "label-after" }))), h("div", { key: '5ce3c0798d9085266c19623aec5c84809e8abe2f', class: "textarea-wrapper" }, h("textarea", { key: '76b21ac80b5f7609692af0dd78badc4bbdc1c8c2', class: "ta", id: taId, name: this.name || undefined, value: this.value, placeholder: this.placeholder || undefined, disabled: this.disabled, required: this.required, readOnly: this.readOnly, rows: this.rows, maxLength: this.maxLength, minLength: this.minLength, "aria-label": this.hideLabel && this.label ? this.label : undefined, "aria-invalid": this.state === 'error' ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-describedby": this.message ? msgId : this.description ? descId : undefined, onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur })), !this.message && this.description && (h("p", { key: '8b8914744e47cedda2ceeea9dc004cfb8712fa15', id: descId, class: "description" }, this.description)), this.message && (h("p", { key: 'f3678d9d8eeb81e12bd98aac8186df07c7b17369', id: msgId, class: "message" }, this.message)))));
149
+ return (h(Host, { key: 'e05a6d6fddcf9b67e3450bddd47a817ead8a819d', "data-theme": this.theme }, h("style", { key: '7b439749933a1e71fdc90dbde478c2a13438ab9e', innerHTML: getComponentCss(this.state, this.disabled, this.readOnly, this.resize, this.compact) }), h("div", { key: '797b3ab869e20dd4d1aaa9f819c3ec7db2e5141a', class: "root" }, !this.hideLabel && this.label && (h("div", { key: 'c4e9ae80e3c1109e79ace701fe3511a5c228970a', class: "label-row" }, h("label", { key: '16d522f2b8d16179aecef5f8a9b2eefca39927e0', class: "label", htmlFor: taId }, this.label, this.required && h("span", { key: '2590e00516606e193a90eb90bf1259f783314b23', class: "required", "aria-hidden": "true" }, " *")), h("slot", { key: 'fdc720df4600d86bc4e3c4a914bc1c2ced36b44b', name: "label-after" }))), h("div", { key: 'd7116130ea846260e94e9d6600bbe48aa774fed6', class: "textarea-wrapper" }, h("textarea", { key: '786904c37ae83072d0946cdc8cd9c82674fd16fb', class: "ta", id: taId, name: this.name || undefined, value: this.value, placeholder: this.placeholder || undefined, disabled: this.disabled, required: this.required, readOnly: this.readOnly, rows: this.rows, maxLength: this.maxLength, minLength: this.minLength, "aria-label": this.hideLabel && this.label ? this.label : undefined, "aria-invalid": this.state === 'error' ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-describedby": this.message ? msgId : this.description ? descId : undefined, onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur })), !this.message && this.description && (h("p", { key: '784e0e6b81f8725f5b4b8c802e53483912538bb2', id: descId, class: "description" }, this.description)), this.message && (h("p", { key: '4e922e262bceabe0ad91ff13850ec96a8db2cf2f', id: msgId, class: "message" }, this.message)))));
150
150
  }
151
151
  static get delegatesFocus() { return true; }
152
152
  }, [17, "diwa-textarea", {
@@ -1,4 +1,4 @@
1
- import { D as DiwaToastItem$1, d as defineCustomElement$1 } from './p-7c951f7f.js';
1
+ import { D as DiwaToastItem$1, d as defineCustomElement$1 } from './p-0e219692.js';
2
2
 
3
3
  const DiwaToastItem = DiwaToastItem$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-5eacc7d0.js';
2
- import { d as defineCustomElement$2 } from './p-7c951f7f.js';
2
+ import { d as defineCustomElement$2 } from './p-0e219692.js';
3
3
 
4
4
  const getComponentCss = () => `
5
5
  :host {
@@ -155,7 +155,7 @@ const DiwaToast$1 = /*@__PURE__*/ proxyCustomElement(class DiwaToast extends H {
155
155
  }
156
156
  render() {
157
157
  var _a;
158
- return (h(Host, { key: 'b670220ae7a15fd466b439895fd36bb5e3107f38', role: "status", "aria-live": "polite", "aria-atomic": "false", "data-theme": this.theme }, h("style", { key: '621b6332123edfc2078ba87d184036746176aa93', innerHTML: getComponentCss() }), this.currentMsg && (h("diwa-toast-item", { key: this.currentMsg.id, text: this.currentMsg.text, state: (_a = this.currentMsg.state) !== null && _a !== void 0 ? _a : 'neutral', theme: this.theme, onDismiss: () => toastManager.dismiss() }))));
158
+ return (h(Host, { key: 'f082064e5989efc9f043e55ad71a56b80eb0d8e6', role: "status", "aria-live": "polite", "aria-atomic": "false", "data-theme": this.theme }, h("style", { key: '26ba9be7c067d1fb19a43a6081334c782809d91b', innerHTML: getComponentCss() }), this.currentMsg && (h("diwa-toast-item", { key: this.currentMsg.id, text: this.currentMsg.text, state: (_a = this.currentMsg.state) !== null && _a !== void 0 ? _a : 'neutral', theme: this.theme, onDismiss: () => toastManager.dismiss() }))));
159
159
  }
160
160
  get host() { return this; }
161
161
  }, [1, "diwa-toast", {
@@ -113,7 +113,7 @@ const DiwaToastItem = /*@__PURE__*/ proxyCustomElement(class DiwaToastItem exten
113
113
  };
114
114
  }
115
115
  render() {
116
- return (h(Host, { key: '333dc3ff2ce58d508fb129b7d415c431ca1c7090', "data-theme": this.theme }, h("style", { key: '33587d5ee1d57a09e175b3c6563fe04d57986ec2', innerHTML: getComponentCss(this.state) }), h("div", { key: 'f613e6c5351afcf85eeee2423b9c67fb4691e543', class: "toast" }, h("span", { key: '6f2c5d046eef9c9c37ddb74e711e91a196fd89b6', class: "icon", "aria-hidden": "true", innerHTML: STATE_ICONS[this.state] }), h("span", { key: 'ed412934617f70359b612d6e220410be69f47575', class: "text" }, this.text), h("button", { key: 'a71b252002e9573792860b6b068ccbd71dfa210e', type: "button", class: "close", "aria-label": "Dismiss notification", onClick: this.handleClose, innerHTML: CLOSE_ICON }))));
116
+ return (h(Host, { key: 'ac3356dce41b1ac82ce382cde9124ca1cbd9c898', "data-theme": this.theme }, h("style", { key: '44040474045678ea79593ba6053397bd6b3630ae', innerHTML: getComponentCss(this.state) }), h("div", { key: '820679f0b38a44423bfda716b37713f0499a97c1', class: "toast" }, h("span", { key: 'b9a8da840cdd18267948cb651b1356ed822c36fd', class: "icon", "aria-hidden": "true", innerHTML: STATE_ICONS[this.state] }), h("span", { key: '628088dc4193bebb1f574eab30d9ea17f543f22e', class: "text" }, this.text), h("button", { key: '51bb1b6d997d2a1e990480ffbf34f0d1b1a0a278', type: "button", class: "close", "aria-label": "Dismiss notification", onClick: this.handleClose, innerHTML: CLOSE_ICON }))));
117
117
  }
118
118
  static get delegatesFocus() { return true; }
119
119
  }, [17, "diwa-toast-item", {
@@ -138,4 +138,4 @@ defineCustomElement();
138
138
 
139
139
  export { DiwaToastItem as D, defineCustomElement as d };
140
140
 
141
- //# sourceMappingURL=p-7c951f7f.js.map
141
+ //# sourceMappingURL=p-0e219692.js.map
@@ -1 +1 @@
1
- {"file":"p-7c951f7f.js","mappings":";;;AAGO,MAAM,eAAe,GAAG,CAAC,KAAiB;IAC/C,MAAM,UAAU,GACd,KAAK,KAAK,SAAS;UACf,kCAAkC;UAClC,KAAK,KAAK,OAAO;cACf,gCAAgC;cAChC,KAAK,KAAK,SAAS;kBACjB,kCAAkC;kBAClC,KAAK,KAAK,MAAM;sBACd,+BAA+B;sBAC/B,4BAA4B,CAAC;IAEzC,MAAM,OAAO,GACX,KAAK,KAAK,SAAS;UACf,uCAAuC;UACvC,KAAK,KAAK,OAAO;cACf,qCAAqC;cACrC,KAAK,KAAK,SAAS;kBACjB,uCAAuC;kBACvC,KAAK,KAAK,MAAM;sBACd,oCAAoC;sBACpC,yBAAyB,CAAC;IAEtC,OAAO;;;;;;;;;;;;;;;;;;;kBAmBS,OAAO;kDACyB,UAAU;;;;;;;;;;;;;;aAc/C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BnB,oBAAoB,CAAC,QAAQ,EAAE,kCAAkC,CAAC;;IAElE,aAAa,CAAC,QAAQ,CAAC;;IAEvB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC;GAC1C,CAAC;AACJ,CAAC;;ACvFD,MAAM,WAAW,GAA+B;IAC9C,OAAO,EAAE,2QAA2Q;IACpR,IAAI,EAAE,2QAA2Q;IACjR,OAAO,EAAE,6NAA6N;IACtO,OAAO,EAAE,iRAAiR;IAC1R,KAAK,EAAE,6PAA6P;CACrQ,CAAC;AAEF,MAAM,UAAU,GAAG,8MAA8M,CAAC;MAYrN,aAAa;IAJ1B;;;;;;QAM2B,UAAK,GAAU,MAAM,CAAC;;QAGvC,SAAI,GAAW,EAAE,CAAC;;QAGD,UAAK,GAAe,SAAS,CAAC;QAQ/C,gBAAW,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB,CAAC;KAoBH;IAlBC,MAAM;QACJ,QACE,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK,IAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,EACjD,4DAAK,KAAK,EAAC,OAAO,IAChB,6DAAM,KAAK,EAAC,MAAM,iBAAa,MAAM,EAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,EAC5E,6DAAM,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAQ,EACrC,+DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,OAAO,gBACF,sBAAsB,EACjC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,UAAU,GACrB,CACE,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/diwa-toast-item/diwa-toast-item-styles.ts","src/components/diwa-toast-item/diwa-toast-item.tsx"],"sourcesContent":["import type { ToastState } from './types';\r\nimport { getFocusStyle, getHoverCapableStyle, getReducedMotionStyle } from '../../utils/styles';\n\r\nexport const getComponentCss = (state: ToastState): string => {\r\n const stateColor =\r\n state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'warning'\r\n ? 'var(--diwa-notification-warning)'\r\n : state === 'info'\r\n ? 'var(--diwa-notification-info)'\r\n : 'var(--diwa-text-secondary)';\r\n\r\n const stateBg =\r\n state === 'success'\r\n ? 'var(--diwa-notification-success-soft)'\r\n : state === 'error'\r\n ? 'var(--diwa-notification-error-soft)'\r\n : state === 'warning'\r\n ? 'var(--diwa-notification-warning-soft)'\r\n : state === 'info'\r\n ? 'var(--diwa-notification-info-soft)'\r\n : 'var(--diwa-bg-elevated)';\r\n\r\n return `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n pointer-events: all;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .toast {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n min-width: var(--diwa-toast-min-width);\r\n max-width: var(--diwa-toast-max-width);\r\n padding: var(--diwa-space-4);\r\n border-radius: var(--diwa-radius-md);\r\n background: ${stateBg};\r\n border: var(--diwa-border-width-thin) solid ${stateColor};\r\n box-shadow: var(--diwa-shadow-md);\r\n animation: slideIn var(--diwa-motion-duration-short) var(--diwa-motion-easing-out);\r\n }\r\n\r\n @keyframes slideIn {\r\n from { opacity: 0; transform: translateY(8px); }\r\n to { opacity: 1; transform: translateY(0); }\r\n }\r\n\r\n .icon {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n color: ${stateColor};\r\n }\r\n\r\n .text {\r\n flex: 1;\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-touch-target-min-size, 44px);\n height: var(--diwa-touch-target-min-size, 44px);\n border: none;\r\n background: transparent;\r\n color: var(--diwa-text-secondary);\r\n cursor: pointer;\r\n border-radius: var(--diwa-radius-sm);\r\n padding: 0;\r\n transition: color var(--diwa-transition-base);\n }\n\n ${getHoverCapableStyle('.close', 'color: var(--diwa-text-primary);')}\n\r\n ${getFocusStyle('.close')}\r\n\r\n ${getReducedMotionStyle('.toast', '.close')}\n `;\n};\n","import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { ToastState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-toast-item-styles';\r\n\r\nconst STATE_ICONS: Record<ToastState, string> = {\r\n neutral: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"8\" y1=\"5\" x2=\"8\" y2=\"8.5\"/><circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n info: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"8\" y1=\"5\" x2=\"8\" y2=\"8.5\"/><circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n success: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><polyline points=\"5,8 7,10 11,6\"/></svg>`,\r\n warning: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M8 2.5L14 13H2L8 2.5Z\"/><line x1=\"8\" y1=\"6.5\" x2=\"8\" y2=\"9.5\"/><circle cx=\"8\" cy=\"11.5\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n error: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"5.5\" y1=\"5.5\" x2=\"10.5\" y2=\"10.5\"/><line x1=\"10.5\" y1=\"5.5\" x2=\"5.5\" y2=\"10.5\"/></svg>`,\r\n};\r\n\r\nconst CLOSE_ICON = `<svg viewBox=\"0 0 16 16\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>`;\r\n\r\n/**\r\n * @component diwa-toast-item\r\n *\r\n * Renders a single toast notification. Managed by `diwa-toast` — do not\r\n * use this component directly; use `diwa-toast.addMessage()` instead.\r\n */\r\n@Component({\r\n tag: 'diwa-toast-item',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaToastItem {\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Message text to display. */\r\n @Prop() text: string = '';\r\n\r\n /** Visual state affecting icon and colour. */\r\n @Prop({ reflect: true }) state: ToastState = 'neutral';\r\n\r\n /**\r\n * Emitted when the user dismisses the toast or the auto-dismiss timer fires.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n dismiss!: EventEmitter<void>;\r\n\r\n private handleClose = () => {\r\n this.dismiss.emit();\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state)} />\r\n <div class=\"toast\">\r\n <span class=\"icon\" aria-hidden=\"true\" innerHTML={STATE_ICONS[this.state]} />\r\n <span class=\"text\">{this.text}</span>\r\n <button\r\n type=\"button\"\r\n class=\"close\"\r\n aria-label=\"Dismiss notification\"\r\n onClick={this.handleClose}\r\n innerHTML={CLOSE_ICON}\r\n />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"p-0e219692.js","mappings":";;;AAGO,MAAM,eAAe,GAAG,CAAC,KAAiB;IAC/C,MAAM,UAAU,GACd,KAAK,KAAK,SAAS;UACf,kCAAkC;UAClC,KAAK,KAAK,OAAO;cACf,gCAAgC;cAChC,KAAK,KAAK,SAAS;kBACjB,kCAAkC;kBAClC,KAAK,KAAK,MAAM;sBACd,+BAA+B;sBAC/B,4BAA4B,CAAC;IAEzC,MAAM,OAAO,GACX,KAAK,KAAK,SAAS;UACf,uCAAuC;UACvC,KAAK,KAAK,OAAO;cACf,qCAAqC;cACrC,KAAK,KAAK,SAAS;kBACjB,uCAAuC;kBACvC,KAAK,KAAK,MAAM;sBACd,oCAAoC;sBACpC,yBAAyB,CAAC;IAEtC,OAAO;;;;;;;;;;;;;;;;;;;kBAmBS,OAAO;kDACyB,UAAU;;;;;;;;;;;;;;aAc/C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BnB,oBAAoB,CAAC,QAAQ,EAAE,kCAAkC,CAAC;;IAElE,aAAa,CAAC,QAAQ,CAAC;;IAEvB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC;GAC1C,CAAC;AACJ,CAAC;;ACvFD,MAAM,WAAW,GAA+B;IAC9C,OAAO,EAAE,2QAA2Q;IACpR,IAAI,EAAE,2QAA2Q;IACjR,OAAO,EAAE,6NAA6N;IACtO,OAAO,EAAE,iRAAiR;IAC1R,KAAK,EAAE,6PAA6P;CACrQ,CAAC;AAEF,MAAM,UAAU,GAAG,8MAA8M,CAAC;MAYrN,aAAa;IAJ1B;;;;;;QAM2B,UAAK,GAAU,MAAM,CAAC;;QAGvC,SAAI,GAAW,EAAE,CAAC;;QAGD,UAAK,GAAe,SAAS,CAAC;QAQ/C,gBAAW,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB,CAAC;KAoBH;IAlBC,MAAM;QACJ,QACE,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK,IAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,EACjD,4DAAK,KAAK,EAAC,OAAO,IAChB,6DAAM,KAAK,EAAC,MAAM,iBAAa,MAAM,EAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,EAC5E,6DAAM,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAQ,EACrC,+DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,OAAO,gBACF,sBAAsB,EACjC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,UAAU,GACrB,CACE,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/diwa-toast-item/diwa-toast-item-styles.ts","src/components/diwa-toast-item/diwa-toast-item.tsx"],"sourcesContent":["import type { ToastState } from './types';\r\nimport { getFocusStyle, getHoverCapableStyle, getReducedMotionStyle } from '../../utils/styles';\n\r\nexport const getComponentCss = (state: ToastState): string => {\r\n const stateColor =\r\n state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'warning'\r\n ? 'var(--diwa-notification-warning)'\r\n : state === 'info'\r\n ? 'var(--diwa-notification-info)'\r\n : 'var(--diwa-text-secondary)';\r\n\r\n const stateBg =\r\n state === 'success'\r\n ? 'var(--diwa-notification-success-soft)'\r\n : state === 'error'\r\n ? 'var(--diwa-notification-error-soft)'\r\n : state === 'warning'\r\n ? 'var(--diwa-notification-warning-soft)'\r\n : state === 'info'\r\n ? 'var(--diwa-notification-info-soft)'\r\n : 'var(--diwa-bg-elevated)';\r\n\r\n return `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n pointer-events: all;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .toast {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n min-width: var(--diwa-toast-min-width);\r\n max-width: var(--diwa-toast-max-width);\r\n padding: var(--diwa-space-4);\r\n border-radius: var(--diwa-radius-md);\r\n background: ${stateBg};\r\n border: var(--diwa-border-width-thin) solid ${stateColor};\r\n box-shadow: var(--diwa-shadow-md);\r\n animation: slideIn var(--diwa-motion-duration-short) var(--diwa-motion-easing-out);\r\n }\r\n\r\n @keyframes slideIn {\r\n from { opacity: 0; transform: translateY(8px); }\r\n to { opacity: 1; transform: translateY(0); }\r\n }\r\n\r\n .icon {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n color: ${stateColor};\r\n }\r\n\r\n .text {\r\n flex: 1;\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-touch-target-min-size, 44px);\n height: var(--diwa-touch-target-min-size, 44px);\n border: none;\r\n background: transparent;\r\n color: var(--diwa-text-secondary);\r\n cursor: pointer;\r\n border-radius: var(--diwa-radius-sm);\r\n padding: 0;\r\n transition: color var(--diwa-transition-base);\n }\n\n ${getHoverCapableStyle('.close', 'color: var(--diwa-text-primary);')}\n\r\n ${getFocusStyle('.close')}\r\n\r\n ${getReducedMotionStyle('.toast', '.close')}\n `;\n};\n","import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { ToastState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-toast-item-styles';\r\n\r\nconst STATE_ICONS: Record<ToastState, string> = {\r\n neutral: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"8\" y1=\"5\" x2=\"8\" y2=\"8.5\"/><circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n info: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"8\" y1=\"5\" x2=\"8\" y2=\"8.5\"/><circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n success: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><polyline points=\"5,8 7,10 11,6\"/></svg>`,\r\n warning: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M8 2.5L14 13H2L8 2.5Z\"/><line x1=\"8\" y1=\"6.5\" x2=\"8\" y2=\"9.5\"/><circle cx=\"8\" cy=\"11.5\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n error: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"5.5\" y1=\"5.5\" x2=\"10.5\" y2=\"10.5\"/><line x1=\"10.5\" y1=\"5.5\" x2=\"5.5\" y2=\"10.5\"/></svg>`,\r\n};\r\n\r\nconst CLOSE_ICON = `<svg viewBox=\"0 0 16 16\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>`;\r\n\r\n/**\r\n * @component diwa-toast-item\r\n *\r\n * Renders a single toast notification. Managed by `diwa-toast` — do not\r\n * use this component directly; use `diwa-toast.addMessage()` instead.\r\n */\r\n@Component({\r\n tag: 'diwa-toast-item',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaToastItem {\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Message text to display. */\r\n @Prop() text: string = '';\r\n\r\n /** Visual state affecting icon and colour. */\r\n @Prop({ reflect: true }) state: ToastState = 'neutral';\r\n\r\n /**\r\n * Emitted when the user dismisses the toast or the auto-dismiss timer fires.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n dismiss!: EventEmitter<void>;\r\n\r\n private handleClose = () => {\r\n this.dismiss.emit();\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state)} />\r\n <div class=\"toast\">\r\n <span class=\"icon\" aria-hidden=\"true\" innerHTML={STATE_ICONS[this.state]} />\r\n <span class=\"text\">{this.text}</span>\r\n <button\r\n type=\"button\"\r\n class=\"close\"\r\n aria-label=\"Dismiss notification\"\r\n onClick={this.handleClose}\r\n innerHTML={CLOSE_ICON}\r\n />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-5eacc7d0.js';
2
2
  import { g as getFocusStyle, a as getReducedMotionStyle } from './p-70bbb21a.js';
3
- import { d as defineCustomElement$1 } from './p-8972ae69.js';
3
+ import { d as defineCustomElement$1 } from './p-473ec48f.js';
4
4
 
5
5
  /**
6
6
  * diwa-button-pure-styles.ts
@@ -274,7 +274,7 @@ const DiwaButtonPure = /*@__PURE__*/ proxyCustomElement(class DiwaButtonPure ext
274
274
  disabled: this.disabled || this.loading,
275
275
  };
276
276
  const hasIcon = this.icon !== "none";
277
- return (h(Host, { key: 'e5e00513cc1ceafdf7291b57d8458e52e187c527', "data-theme": this.theme }, h("style", { key: 'af00274b62bdfd75958eeb1b03f4b951b8cbf987', innerHTML: getComponentCss() }), h(Tag, Object.assign({ key: 'ec7e751f5f9190a525cf9d9bae61a6ea62c01a88' }, commonProps, buttonProps, { part: "base" }), this.loading ? (h("span", { class: "spinner", "aria-hidden": "true", part: "spinner" })) : (hasIcon && (h("span", { class: "icon", "aria-hidden": "true" }, h("diwa-icon", { name: this.icon, size: this.iconSize })))), h("span", { key: '2fcb3075fee28a67f9c4379b01cf5f16baeed26b', class: `label${this.hideLabel ? " label--hidden" : ""}`, part: "label" }, h("slot", { key: 'e53e29638f01d75ee33e331fe43212ee7e569fcf' })))));
277
+ return (h(Host, { key: 'c2973f6b92898d2f804ccc623ae5558b1a7a819c', "data-theme": this.theme }, h("style", { key: '09bdb4d13b2ccd3dcfedc19fab5335a353a8a12f', innerHTML: getComponentCss() }), h(Tag, Object.assign({ key: '9ca133bf89b66a3ee40c17012e1ace540717b5e9' }, commonProps, buttonProps, { part: "base" }), this.loading ? (h("span", { class: "spinner", "aria-hidden": "true", part: "spinner" })) : (hasIcon && (h("span", { class: "icon", "aria-hidden": "true" }, h("diwa-icon", { name: this.icon, size: this.iconSize })))), h("span", { key: '937f66a27ed22abca84415df5261808e306dea0f', class: `label${this.hideLabel ? " label--hidden" : ""}`, part: "label" }, h("slot", { key: 'a3e2ae2111fe1258e380de6fc7919b40bd562bb4' })))));
278
278
  }
279
279
  static get delegatesFocus() { return true; }
280
280
  get host() { return this; }
@@ -318,4 +318,4 @@ defineCustomElement();
318
318
 
319
319
  export { DiwaButtonPure as D, defineCustomElement as d };
320
320
 
321
- //# sourceMappingURL=p-105f3f97.js.map
321
+ //# sourceMappingURL=p-236fbbdd.js.map
@@ -1 +1 @@
1
- {"file":"p-105f3f97.js","mappings":"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","names":[],"sources":["src/components/diwa-button-pure/diwa-button-pure-styles.ts","src/components/diwa-button-pure/diwa-button-pure-utils.ts","src/components/diwa-button-pure/diwa-button-pure.tsx"],"sourcesContent":["/**\r\n * diwa-button-pure-styles.ts\r\n * ===========================\r\n * CSS-in-JS styles for <diwa-button-pure>.\r\n *\r\n * A minimal, transparent button: icon + label only, no background or border.\r\n * Mirrors the PDS p-button-pure aesthetic.\r\n *\r\n * Layout rules:\r\n * alignLabel='end' (default) → icon label\r\n * alignLabel='start' → label icon (via flex-direction: row-reverse)\r\n * stretch=true → fills container width, gap between icon and label\r\n */\r\n\r\nimport type { ButtonPureSize, ButtonPureAlignLabel } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n _size: ButtonPureSize,\r\n _disabled: boolean,\r\n _loading: boolean,\r\n _underline: boolean,\r\n _active: boolean,\r\n _hideLabel: boolean,\r\n _alignLabel: ButtonPureAlignLabel,\r\n _stretch: boolean,\r\n): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-flex;\r\n position: relative;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* Stretch: fill the parent's inline axis */\r\n :host([stretch]) {\r\n display: flex;\r\n width: 100%;\r\n }\r\n\r\n /* ── Root element (<button> or <a>) ─────────────────────────────────── */\r\n\r\n .root {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n flex-direction: row; /* overridden by alignLabel=start below */\r\n\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n margin: 0;\r\n cursor: pointer;\r\n\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1;\r\n color: var(--diwa-text-primary);\r\n text-decoration: none;\r\n white-space: nowrap;\r\n\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n /* Stretch: push icon and label to opposite edges */\r\n :host([stretch]) .root {\r\n width: 100%;\r\n justify-content: space-between;\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.root')}\r\n\r\n /* ── Size ───────────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .root {\r\n font-size: var(--diwa-font-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) .root {\r\n font-size: var(--diwa-font-size-lg);\r\n }\r\n\r\n /* ── Hover / Active ─────────────────────────────────────────────────── */\r\n\r\n .root:hover:not(:disabled) {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\r\n\r\n :host([active]) .root,\r\n .root:active:not(:disabled) {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .root,\r\n .root:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Loading ────────────────────────────────────────────────────────── */\r\n\r\n :host([loading]) .root {\r\n cursor: wait;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\r\n\r\n :host([align-label=\"start\"]) .root {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n /* ── Underline label text ───────────────────────────────────────────── */\r\n\r\n :host([underline]) .label {\r\n text-decoration: underline;\r\n }\r\n\r\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\r\n\r\n .icon {\r\n display: contents;\r\n flex-shrink: 0;\r\n line-height: 0;\r\n }\r\n\r\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\r\n\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* ── Spinner ────────────────────────────────────────────────────────── */\r\n\r\n .spinner {\r\n /* Size relative to current font-size so it scales with the button size tier */\r\n width: 1em;\r\n height: 1em;\r\n flex-shrink: 0;\r\n border: var(--diwa-border-width-base) solid currentColor;\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n animation: diwa-bp-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\r\n }\r\n\r\n @keyframes diwa-bp-spin {\r\n to { transform: rotate(360deg); }\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.root', '.spinner')}\r\n`;\r\n","/**\r\n * diwa-button-pure-utils.ts\r\n * ==========================\r\n * ARIA helpers for <diwa-button-pure>.\r\n */\r\n\r\nexport interface ButtonPureAriaAttributes {\r\n 'aria-label'?: string;\r\n 'aria-busy'?: 'true';\r\n 'aria-disabled'?: 'true';\r\n}\r\n\r\nexport const getButtonPureAriaAttributes = (\r\n disabled: boolean,\r\n loading: boolean,\r\n label: string | undefined,\r\n isLink: boolean,\r\n): ButtonPureAriaAttributes => {\r\n const attrs: ButtonPureAriaAttributes = {};\r\n\r\n if (label) {\r\n attrs['aria-label'] = label;\r\n }\r\n\r\n if (loading) {\r\n attrs['aria-busy'] = 'true';\r\n }\r\n\r\n if (isLink && (disabled || loading)) {\r\n attrs['aria-disabled'] = 'true';\r\n }\r\n\r\n return attrs;\r\n};\r\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\r\nimport type { ButtonPureSize, ButtonPureAlignLabel, ButtonPureType } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from \"./diwa-button-pure-styles\";\r\nimport { getButtonPureAriaAttributes } from \"./diwa-button-pure-utils\";\r\n\r\n/**\r\n * @component diwa-button-pure\r\n *\r\n * A transparent, text+icon action button — no background or border.\r\n * Mirrors the PDS `p-button-pure` component.\r\n *\r\n * Default layout: [icon] [label] (alignLabel=\"end\")\r\n * Reversed layout: [label] [icon] (alignLabel=\"start\")\r\n * Stretched layout: [icon] ····· [label] (stretch + alignLabel=\"end\")\r\n *\r\n * Usage:\r\n * <diwa-button-pure>Read more</diwa-button-pure>\r\n * <diwa-button-pure icon=\"arrow-left\" align-label=\"start\">Back</diwa-button-pure>\r\n * <diwa-button-pure hide-label label=\"Close\" icon=\"x\" />\r\n *\r\n * @slot default — Button label text\r\n */\r\n@Component({\r\n tag: \"diwa-button-pure\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaButtonPure {\r\n @Element() host!: HTMLDiwaButtonPureElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (light / dark). */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /** Text size tier. Controls both font-size and icon size. */\r\n @Prop({ reflect: true }) size: ButtonPureSize = \"md\";\r\n\r\n /**\r\n * Lucide icon name in kebab-case (e.g. `\"arrow-right\"`, `\"star\"`), or `\"none\"`\r\n * to render with no icon. Defaults to `\"arrow-right\"` — matching PDS.\r\n */\r\n @Prop() icon: string = \"arrow-right\";\r\n\r\n /** Disabled state. Blocks all pointer and keyboard interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Loading state. Replaces the icon with a spinner, blocks interaction,\r\n * and announces aria-busy to screen readers.\r\n */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n\r\n /**\r\n * When `true`, the label slot is visually hidden (icon-only mode).\r\n * Always pair with the `label` prop for screen-reader accessible name.\r\n */\r\n @Prop({ reflect: true }) hideLabel: boolean = false;\r\n\r\n /** Forces the button into its active/pressed visual state. */\r\n @Prop({ reflect: true }) active: boolean = false;\r\n\r\n /** Adds an underline decoration to the label text. */\r\n @Prop({ reflect: true }) underline: boolean = false;\r\n\r\n /**\r\n * Controls which side the label appears on relative to the icon.\r\n * - `\"end\"` (default): [icon] [label]\r\n * - `\"start\"`: [label] [icon]\r\n */\r\n @Prop({ reflect: true }) alignLabel: ButtonPureAlignLabel = \"end\";\r\n\r\n /**\r\n * When `true`, the button stretches to fill its container and the space\r\n * between icon and label expands to fill remaining width.\r\n */\r\n @Prop({ reflect: true }) stretch: boolean = false;\r\n\r\n /** Native button type. Only applies when rendered as `<button>`. */\r\n @Prop() type: ButtonPureType = \"button\";\r\n\r\n /** Native button name — submitted with form data. */\r\n @Prop() name?: string;\r\n\r\n /** Native button value — submitted with form data. */\r\n @Prop() value?: string;\r\n\r\n /**\r\n * When set, renders as an `<a>` element (link semantics).\r\n * Pair with `target` for external links.\r\n */\r\n @Prop() href?: string;\r\n\r\n /** Link target — only meaningful when `href` is set. */\r\n @Prop() target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\r\n\r\n /**\r\n * Accessible label for icon-only buttons.\r\n * Required when `hideLabel` is `true`.\r\n */\r\n @Prop() label?: string;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get isInteractive(): boolean {\r\n return !this.disabled && !this.loading;\r\n }\r\n\r\n /** Icon pixel size scaled to the current size tier. */\r\n private get iconSize(): number {\r\n return this.size === \"sm\" ? 14 : this.size === \"lg\" ? 20 : 16;\r\n }\r\n\r\n private readonly handleClick = (e: MouseEvent): void => {\r\n if (!this.isInteractive) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const isLink = !!this.href;\r\n const Tag = isLink ? \"a\" : \"button\";\r\n\r\n const ariaAttrs = getButtonPureAriaAttributes(\r\n this.disabled,\r\n this.loading,\r\n this.label,\r\n isLink,\r\n );\r\n\r\n const commonProps = {\r\n class: \"root\",\r\n onClick: this.handleClick,\r\n ...ariaAttrs,\r\n };\r\n\r\n const buttonProps = isLink\r\n ? {\r\n href: this.href,\r\n target: this.target,\r\n rel: this.target === \"_blank\" ? \"noopener noreferrer\" : undefined,\r\n tabIndex: this.disabled || this.loading ? -1 : undefined,\r\n }\r\n : {\r\n type: this.type,\r\n name: this.name,\r\n value: this.value,\r\n disabled: this.disabled || this.loading,\r\n };\r\n\r\n const hasIcon = this.icon !== \"none\";\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.size,\r\n this.disabled,\r\n this.loading,\r\n this.underline,\r\n this.active,\r\n this.hideLabel,\r\n this.alignLabel,\r\n this.stretch,\r\n )}\r\n />\r\n\r\n <Tag {...commonProps} {...buttonProps} part=\"base\">\r\n {/* Spinner replaces the icon during loading */}\r\n {this.loading ? (\r\n <span class=\"spinner\" aria-hidden=\"true\" part=\"spinner\" />\r\n ) : (\r\n hasIcon && (\r\n <span class=\"icon\" aria-hidden=\"true\">\r\n <diwa-icon name={this.icon} size={this.iconSize} />\r\n </span>\r\n )\r\n )}\r\n\r\n {/* Label — visually hidden when hideLabel=true but kept for AT */}\r\n <span\r\n class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`}\r\n part=\"label\"\r\n >\r\n <slot />\r\n </span>\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"p-236fbbdd.js","mappings":"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","names":[],"sources":["src/components/diwa-button-pure/diwa-button-pure-styles.ts","src/components/diwa-button-pure/diwa-button-pure-utils.ts","src/components/diwa-button-pure/diwa-button-pure.tsx"],"sourcesContent":["/**\r\n * diwa-button-pure-styles.ts\r\n * ===========================\r\n * CSS-in-JS styles for <diwa-button-pure>.\r\n *\r\n * A minimal, transparent button: icon + label only, no background or border.\r\n * Mirrors the PDS p-button-pure aesthetic.\r\n *\r\n * Layout rules:\r\n * alignLabel='end' (default) → icon label\r\n * alignLabel='start' → label icon (via flex-direction: row-reverse)\r\n * stretch=true → fills container width, gap between icon and label\r\n */\r\n\r\nimport type { ButtonPureSize, ButtonPureAlignLabel } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n _size: ButtonPureSize,\r\n _disabled: boolean,\r\n _loading: boolean,\r\n _underline: boolean,\r\n _active: boolean,\r\n _hideLabel: boolean,\r\n _alignLabel: ButtonPureAlignLabel,\r\n _stretch: boolean,\r\n): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-flex;\r\n position: relative;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* Stretch: fill the parent's inline axis */\r\n :host([stretch]) {\r\n display: flex;\r\n width: 100%;\r\n }\r\n\r\n /* ── Root element (<button> or <a>) ─────────────────────────────────── */\r\n\r\n .root {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n flex-direction: row; /* overridden by alignLabel=start below */\r\n\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n margin: 0;\r\n cursor: pointer;\r\n\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1;\r\n color: var(--diwa-text-primary);\r\n text-decoration: none;\r\n white-space: nowrap;\r\n\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n /* Stretch: push icon and label to opposite edges */\r\n :host([stretch]) .root {\r\n width: 100%;\r\n justify-content: space-between;\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.root')}\r\n\r\n /* ── Size ───────────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .root {\r\n font-size: var(--diwa-font-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) .root {\r\n font-size: var(--diwa-font-size-lg);\r\n }\r\n\r\n /* ── Hover / Active ─────────────────────────────────────────────────── */\r\n\r\n .root:hover:not(:disabled) {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\r\n\r\n :host([active]) .root,\r\n .root:active:not(:disabled) {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .root,\r\n .root:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Loading ────────────────────────────────────────────────────────── */\r\n\r\n :host([loading]) .root {\r\n cursor: wait;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\r\n\r\n :host([align-label=\"start\"]) .root {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n /* ── Underline label text ───────────────────────────────────────────── */\r\n\r\n :host([underline]) .label {\r\n text-decoration: underline;\r\n }\r\n\r\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\r\n\r\n .icon {\r\n display: contents;\r\n flex-shrink: 0;\r\n line-height: 0;\r\n }\r\n\r\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\r\n\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* ── Spinner ────────────────────────────────────────────────────────── */\r\n\r\n .spinner {\r\n /* Size relative to current font-size so it scales with the button size tier */\r\n width: 1em;\r\n height: 1em;\r\n flex-shrink: 0;\r\n border: var(--diwa-border-width-base) solid currentColor;\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n animation: diwa-bp-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\r\n }\r\n\r\n @keyframes diwa-bp-spin {\r\n to { transform: rotate(360deg); }\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.root', '.spinner')}\r\n`;\r\n","/**\r\n * diwa-button-pure-utils.ts\r\n * ==========================\r\n * ARIA helpers for <diwa-button-pure>.\r\n */\r\n\r\nexport interface ButtonPureAriaAttributes {\r\n 'aria-label'?: string;\r\n 'aria-busy'?: 'true';\r\n 'aria-disabled'?: 'true';\r\n}\r\n\r\nexport const getButtonPureAriaAttributes = (\r\n disabled: boolean,\r\n loading: boolean,\r\n label: string | undefined,\r\n isLink: boolean,\r\n): ButtonPureAriaAttributes => {\r\n const attrs: ButtonPureAriaAttributes = {};\r\n\r\n if (label) {\r\n attrs['aria-label'] = label;\r\n }\r\n\r\n if (loading) {\r\n attrs['aria-busy'] = 'true';\r\n }\r\n\r\n if (isLink && (disabled || loading)) {\r\n attrs['aria-disabled'] = 'true';\r\n }\r\n\r\n return attrs;\r\n};\r\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\r\nimport type { ButtonPureSize, ButtonPureAlignLabel, ButtonPureType } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from \"./diwa-button-pure-styles\";\r\nimport { getButtonPureAriaAttributes } from \"./diwa-button-pure-utils\";\r\n\r\n/**\r\n * @component diwa-button-pure\r\n *\r\n * A transparent, text+icon action button — no background or border.\r\n * Mirrors the PDS `p-button-pure` component.\r\n *\r\n * Default layout: [icon] [label] (alignLabel=\"end\")\r\n * Reversed layout: [label] [icon] (alignLabel=\"start\")\r\n * Stretched layout: [icon] ····· [label] (stretch + alignLabel=\"end\")\r\n *\r\n * Usage:\r\n * <diwa-button-pure>Read more</diwa-button-pure>\r\n * <diwa-button-pure icon=\"arrow-left\" align-label=\"start\">Back</diwa-button-pure>\r\n * <diwa-button-pure hide-label label=\"Close\" icon=\"x\" />\r\n *\r\n * @slot default — Button label text\r\n */\r\n@Component({\r\n tag: \"diwa-button-pure\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaButtonPure {\r\n @Element() host!: HTMLDiwaButtonPureElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (light / dark). */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /** Text size tier. Controls both font-size and icon size. */\r\n @Prop({ reflect: true }) size: ButtonPureSize = \"md\";\r\n\r\n /**\r\n * Lucide icon name in kebab-case (e.g. `\"arrow-right\"`, `\"star\"`), or `\"none\"`\r\n * to render with no icon. Defaults to `\"arrow-right\"` — matching PDS.\r\n */\r\n @Prop() icon: string = \"arrow-right\";\r\n\r\n /** Disabled state. Blocks all pointer and keyboard interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Loading state. Replaces the icon with a spinner, blocks interaction,\r\n * and announces aria-busy to screen readers.\r\n */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n\r\n /**\r\n * When `true`, the label slot is visually hidden (icon-only mode).\r\n * Always pair with the `label` prop for screen-reader accessible name.\r\n */\r\n @Prop({ reflect: true }) hideLabel: boolean = false;\r\n\r\n /** Forces the button into its active/pressed visual state. */\r\n @Prop({ reflect: true }) active: boolean = false;\r\n\r\n /** Adds an underline decoration to the label text. */\r\n @Prop({ reflect: true }) underline: boolean = false;\r\n\r\n /**\r\n * Controls which side the label appears on relative to the icon.\r\n * - `\"end\"` (default): [icon] [label]\r\n * - `\"start\"`: [label] [icon]\r\n */\r\n @Prop({ reflect: true }) alignLabel: ButtonPureAlignLabel = \"end\";\r\n\r\n /**\r\n * When `true`, the button stretches to fill its container and the space\r\n * between icon and label expands to fill remaining width.\r\n */\r\n @Prop({ reflect: true }) stretch: boolean = false;\r\n\r\n /** Native button type. Only applies when rendered as `<button>`. */\r\n @Prop() type: ButtonPureType = \"button\";\r\n\r\n /** Native button name — submitted with form data. */\r\n @Prop() name?: string;\r\n\r\n /** Native button value — submitted with form data. */\r\n @Prop() value?: string;\r\n\r\n /**\r\n * When set, renders as an `<a>` element (link semantics).\r\n * Pair with `target` for external links.\r\n */\r\n @Prop() href?: string;\r\n\r\n /** Link target — only meaningful when `href` is set. */\r\n @Prop() target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\r\n\r\n /**\r\n * Accessible label for icon-only buttons.\r\n * Required when `hideLabel` is `true`.\r\n */\r\n @Prop() label?: string;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get isInteractive(): boolean {\r\n return !this.disabled && !this.loading;\r\n }\r\n\r\n /** Icon pixel size scaled to the current size tier. */\r\n private get iconSize(): number {\r\n return this.size === \"sm\" ? 14 : this.size === \"lg\" ? 20 : 16;\r\n }\r\n\r\n private readonly handleClick = (e: MouseEvent): void => {\r\n if (!this.isInteractive) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const isLink = !!this.href;\r\n const Tag = isLink ? \"a\" : \"button\";\r\n\r\n const ariaAttrs = getButtonPureAriaAttributes(\r\n this.disabled,\r\n this.loading,\r\n this.label,\r\n isLink,\r\n );\r\n\r\n const commonProps = {\r\n class: \"root\",\r\n onClick: this.handleClick,\r\n ...ariaAttrs,\r\n };\r\n\r\n const buttonProps = isLink\r\n ? {\r\n href: this.href,\r\n target: this.target,\r\n rel: this.target === \"_blank\" ? \"noopener noreferrer\" : undefined,\r\n tabIndex: this.disabled || this.loading ? -1 : undefined,\r\n }\r\n : {\r\n type: this.type,\r\n name: this.name,\r\n value: this.value,\r\n disabled: this.disabled || this.loading,\r\n };\r\n\r\n const hasIcon = this.icon !== \"none\";\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.size,\r\n this.disabled,\r\n this.loading,\r\n this.underline,\r\n this.active,\r\n this.hideLabel,\r\n this.alignLabel,\r\n this.stretch,\r\n )}\r\n />\r\n\r\n <Tag {...commonProps} {...buttonProps} part=\"base\">\r\n {/* Spinner replaces the icon during loading */}\r\n {this.loading ? (\r\n <span class=\"spinner\" aria-hidden=\"true\" part=\"spinner\" />\r\n ) : (\r\n hasIcon && (\r\n <span class=\"icon\" aria-hidden=\"true\">\r\n <diwa-icon name={this.icon} size={this.iconSize} />\r\n </span>\r\n )\r\n )}\r\n\r\n {/* Label — visually hidden when hideLabel=true but kept for AT */}\r\n <span\r\n class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`}\r\n part=\"label\"\r\n >\r\n <slot />\r\n </span>\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -90,7 +90,7 @@ const DiwaSpinner = /*@__PURE__*/ proxyCustomElement(class DiwaSpinner extends H
90
90
  * when the spinner appears without stealing focus (live region,
91
91
  * polite by default). aria-label provides the announcement text.
92
92
  */
93
- h(Host, { key: 'a706f0d4b8ca5581f7375e4f0d36f46166974fbe', role: "status", "aria-label": this.label, "data-theme": this.theme }, h("style", { key: 'b01e2dc30f9b3c4c5422fc9f58055b4e29e660c0', innerHTML: getComponentCss() }), h("svg", { key: 'dae9e1f32d62abf2e5918c8841bb25a590b0e385', ref: (el) => (this.svgEl = el), class: "glyph", "aria-hidden": "true", part: "ring", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
93
+ h(Host, { key: '5a130b11797c45cf6c3e9d1e1493f35cbef40ed6', role: "status", "aria-label": this.label, "data-theme": this.theme }, h("style", { key: 'b1f1c14a660db1ec56afbf814c6bfc5b21e4cf24', innerHTML: getComponentCss() }), h("svg", { key: '3e30e5ce78a52ba9904f808641fda6b0a3f5131f', ref: (el) => (this.svgEl = el), class: "glyph", "aria-hidden": "true", part: "ring", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
94
94
  }
95
95
  }, [1, "diwa-spinner", {
96
96
  "size": [513],
@@ -114,4 +114,4 @@ defineCustomElement();
114
114
 
115
115
  export { DiwaSpinner as D, defineCustomElement as d };
116
116
 
117
- //# sourceMappingURL=p-b7255dc4.js.map
117
+ //# sourceMappingURL=p-3fce050e.js.map
@@ -1 +1 @@
1
- {"file":"p-b7255dc4.js","mappings":";;;;AAEO,MAAM,eAAe,GAAG,MAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCzC,qBAAqB,CAAC,QAAQ,CAAC;CAClC;;;ACnCD,SAAS,UAAU,CAAC,KAAe;IACjC,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;aAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,CAAC;KAC/B,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,eAAe,GAAG,UAAU,CAAC,MAACA,YAA+C,mCAAI,EAAE,CAAC,CAAC;MA0B9E,WAAW;IAJxB;;;;;;;;QAY2B,SAAI,GAAgB,IAAI,CAAC;;QAGzB,UAAK,GAAU,MAAM,CAAC;;;;;QAMvC,UAAK,GAAW,SAAS,CAAC;KAqCnC;;;;IA/BC,kBAAkB;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;SACxC;KACF;IAED,MAAM;QACJ;;;;;;QAME,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,gBAAa,IAAI,CAAC,KAAK,gBAAc,IAAI,CAAC,KAAK,IAChE,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI,EACvC,4DACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAmB,CAAC,EAC/C,KAAK,EAAC,OAAO,iBACD,MAAM,EAClB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,kBACR,GAAG,oBACD,OAAO,qBACN,OAAO,GACvB,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":["icons.LoaderCircle"],"sources":["src/components/diwa-spinner/diwa-spinner-styles.ts","src/components/diwa-spinner/diwa-spinner.tsx"],"sourcesContent":["import { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n :host {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n align-self: center;\r\n width: var(--diwa-spinner-size-md);\r\n height: var(--diwa-spinner-size-md);\r\n }\r\n\r\n :host([size=\"sm\"]) {\r\n width: var(--diwa-spinner-size-sm);\r\n height: var(--diwa-spinner-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) {\r\n width: var(--diwa-spinner-size-lg);\r\n height: var(--diwa-spinner-size-lg);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .glyph {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n color: var(--diwa-spinner-color, currentColor);\r\n animation: diwa-spinner-spin var(--diwa-spinner-duration) linear infinite;\r\n transform-origin: center;\r\n }\r\n\r\n @keyframes diwa-spinner-spin {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n ${getReducedMotionStyle('.glyph')}\r\n`;\r\n","import { Component, Host, Prop, h } from \"@stencil/core\";\r\nimport { icons } from 'lucide';\r\nimport type { SpinnerSize } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from './diwa-spinner-styles';\r\n\r\ntype IconNode = ReadonlyArray<readonly [string, Record<string, string>]>;\r\n\r\nfunction toInnerSvg(nodes: IconNode): string {\r\n return nodes\r\n .map(([tag, attrs]) => {\r\n const attrStr = Object.entries(attrs)\r\n .map(([k, v]) => `${k}=\"${v}\"`)\r\n .join(' ');\r\n return `<${tag} ${attrStr}/>`;\r\n })\r\n .join('');\r\n}\r\n\r\nconst loaderCircleSvg = toInnerSvg((icons as Record<string, IconNode>).LoaderCircle ?? []);\r\n\r\n/**\r\n * @component diwa-spinner\r\n *\r\n * An animated loading indicator based on a Lucide circular spinner glyph.\r\n * Communicates asynchronous activity to both sighted users and screen readers\r\n * via role=\"status\" and an accessible label.\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-spinner-size-sm Diameter for the sm tier (default 14px)\r\n * --diwa-spinner-size-md Diameter for the md tier (default 16px)\r\n * --diwa-spinner-size-lg Diameter for the lg tier (default 20px)\r\n * --diwa-spinner-color Spinner stroke colour (defaults to currentColor)\r\n *\r\n * Usage:\r\n * <diwa-spinner></diwa-spinner>\r\n * <diwa-spinner size=\"lg\" label=\"Saving changes…\"></diwa-spinner>\r\n *\r\n * Parity: mirrors stateless/stateful spinner behavior with consistent\n * aria-label propagation and size variants.\n */\r\n@Component({\r\n tag: \"diwa-spinner\",\r\n shadow: true,\r\n})\r\nexport class DiwaSpinner {\r\n private svgEl?: SVGSVGElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Size tier — controls diameter of the spinner ring. */\r\n @Prop({ reflect: true }) size: SpinnerSize = \"md\";\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /**\r\n * Accessible label announced by screen readers.\r\n * Defaults to \"Loading\" when omitted.\r\n */\r\n @Prop() label: string = \"Loading\";\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n componentDidRender() {\r\n if (this.svgEl) {\r\n this.svgEl.innerHTML = loaderCircleSvg;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n /**\r\n * role=\"status\" on the Host allows screen readers to announce\r\n * when the spinner appears without stealing focus (live region,\r\n * polite by default). aria-label provides the announcement text.\r\n */\r\n <Host role=\"status\" aria-label={this.label} data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <svg\r\n ref={(el) => (this.svgEl = el as SVGSVGElement)}\r\n class=\"glyph\"\r\n aria-hidden=\"true\"\r\n part=\"ring\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"p-3fce050e.js","mappings":";;;;AAEO,MAAM,eAAe,GAAG,MAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCzC,qBAAqB,CAAC,QAAQ,CAAC;CAClC;;;ACnCD,SAAS,UAAU,CAAC,KAAe;IACjC,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;aAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,CAAC;KAC/B,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,eAAe,GAAG,UAAU,CAAC,MAACA,YAA+C,mCAAI,EAAE,CAAC,CAAC;MA0B9E,WAAW;IAJxB;;;;;;;;QAY2B,SAAI,GAAgB,IAAI,CAAC;;QAGzB,UAAK,GAAU,MAAM,CAAC;;;;;QAMvC,UAAK,GAAW,SAAS,CAAC;KAqCnC;;;;IA/BC,kBAAkB;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;SACxC;KACF;IAED,MAAM;QACJ;;;;;;QAME,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,gBAAa,IAAI,CAAC,KAAK,gBAAc,IAAI,CAAC,KAAK,IAChE,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI,EACvC,4DACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAmB,CAAC,EAC/C,KAAK,EAAC,OAAO,iBACD,MAAM,EAClB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,kBACR,GAAG,oBACD,OAAO,qBACN,OAAO,GACvB,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":["icons.LoaderCircle"],"sources":["src/components/diwa-spinner/diwa-spinner-styles.ts","src/components/diwa-spinner/diwa-spinner.tsx"],"sourcesContent":["import { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n :host {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n align-self: center;\r\n width: var(--diwa-spinner-size-md);\r\n height: var(--diwa-spinner-size-md);\r\n }\r\n\r\n :host([size=\"sm\"]) {\r\n width: var(--diwa-spinner-size-sm);\r\n height: var(--diwa-spinner-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) {\r\n width: var(--diwa-spinner-size-lg);\r\n height: var(--diwa-spinner-size-lg);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .glyph {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n color: var(--diwa-spinner-color, currentColor);\r\n animation: diwa-spinner-spin var(--diwa-spinner-duration) linear infinite;\r\n transform-origin: center;\r\n }\r\n\r\n @keyframes diwa-spinner-spin {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n ${getReducedMotionStyle('.glyph')}\r\n`;\r\n","import { Component, Host, Prop, h } from \"@stencil/core\";\r\nimport { icons } from 'lucide';\r\nimport type { SpinnerSize } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from './diwa-spinner-styles';\r\n\r\ntype IconNode = ReadonlyArray<readonly [string, Record<string, string>]>;\r\n\r\nfunction toInnerSvg(nodes: IconNode): string {\r\n return nodes\r\n .map(([tag, attrs]) => {\r\n const attrStr = Object.entries(attrs)\r\n .map(([k, v]) => `${k}=\"${v}\"`)\r\n .join(' ');\r\n return `<${tag} ${attrStr}/>`;\r\n })\r\n .join('');\r\n}\r\n\r\nconst loaderCircleSvg = toInnerSvg((icons as Record<string, IconNode>).LoaderCircle ?? []);\r\n\r\n/**\r\n * @component diwa-spinner\r\n *\r\n * An animated loading indicator based on a Lucide circular spinner glyph.\r\n * Communicates asynchronous activity to both sighted users and screen readers\r\n * via role=\"status\" and an accessible label.\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-spinner-size-sm Diameter for the sm tier (default 14px)\r\n * --diwa-spinner-size-md Diameter for the md tier (default 16px)\r\n * --diwa-spinner-size-lg Diameter for the lg tier (default 20px)\r\n * --diwa-spinner-color Spinner stroke colour (defaults to currentColor)\r\n *\r\n * Usage:\r\n * <diwa-spinner></diwa-spinner>\r\n * <diwa-spinner size=\"lg\" label=\"Saving changes…\"></diwa-spinner>\r\n *\r\n * Parity: mirrors stateless/stateful spinner behavior with consistent\n * aria-label propagation and size variants.\n */\r\n@Component({\r\n tag: \"diwa-spinner\",\r\n shadow: true,\r\n})\r\nexport class DiwaSpinner {\r\n private svgEl?: SVGSVGElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Size tier — controls diameter of the spinner ring. */\r\n @Prop({ reflect: true }) size: SpinnerSize = \"md\";\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /**\r\n * Accessible label announced by screen readers.\r\n * Defaults to \"Loading\" when omitted.\r\n */\r\n @Prop() label: string = \"Loading\";\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n componentDidRender() {\r\n if (this.svgEl) {\r\n this.svgEl.innerHTML = loaderCircleSvg;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n /**\r\n * role=\"status\" on the Host allows screen readers to announce\r\n * when the spinner appears without stealing focus (live region,\r\n * polite by default). aria-label provides the announcement text.\r\n */\r\n <Host role=\"status\" aria-label={this.label} data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <svg\r\n ref={(el) => (this.svgEl = el as SVGSVGElement)}\r\n class=\"glyph\"\r\n aria-hidden=\"true\"\r\n part=\"ring\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -29183,7 +29183,7 @@ const DiwaIcon = /*@__PURE__*/ proxyCustomElement(class DiwaIcon extends H {
29183
29183
  render() {
29184
29184
  var _a;
29185
29185
  const isDecorative = !this.label;
29186
- return (h(Host, { key: '480e247dd569c171693a4f1e7e2f10ebf9c86f95', "data-theme": this.theme }, h("style", { key: '9596aed7c1183970dd2b5848d93097511119a41b', innerHTML: getComponentCss() }), h("svg", { key: '02f276d6dd076d812ab6d2d8f2c790c9fe06023f', ref: (el) => (this.svgEl = el), xmlns: "http://www.w3.org/2000/svg", width: this.size, height: this.size, viewBox: "0 0 24 24", fill: "none", stroke: this.color, "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": isDecorative ? 'true' : undefined, role: isDecorative ? undefined : 'img', "aria-label": (_a = this.label) !== null && _a !== void 0 ? _a : undefined })));
29186
+ return (h(Host, { key: 'f694b586097118942daed75ed19702f07d6db71a', "data-theme": this.theme }, h("style", { key: '95991c134ed30c1484fc235a1ece49c573e13415', innerHTML: getComponentCss() }), h("svg", { key: 'f2ecd79bd8458fce14cfa00f4d0a6b184b5fd98d', ref: (el) => (this.svgEl = el), xmlns: "http://www.w3.org/2000/svg", width: this.size, height: this.size, viewBox: "0 0 24 24", fill: "none", stroke: this.color, "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": isDecorative ? 'true' : undefined, role: isDecorative ? undefined : 'img', "aria-label": (_a = this.label) !== null && _a !== void 0 ? _a : undefined })));
29187
29187
  }
29188
29188
  get host() { return this; }
29189
29189
  }, [1, "diwa-icon", {
@@ -29210,4 +29210,4 @@ defineCustomElement();
29210
29210
 
29211
29211
  export { DiwaIcon as D, defineCustomElement as d };
29212
29212
 
29213
- //# sourceMappingURL=p-8972ae69.js.map
29213
+ //# sourceMappingURL=p-473ec48f.js.map