@diwacopilot/components 1.0.0 → 1.1.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 (467) hide show
  1. package/dist/cjs/diwa-checkbox.cjs.entry.js +1 -3
  2. package/dist/cjs/diwa-checkbox.cjs.entry.js.map +1 -1
  3. package/dist/cjs/diwa-components.cjs.js +1 -1
  4. package/dist/cjs/diwa-heading.cjs.entry.js +126 -0
  5. package/dist/cjs/diwa-heading.cjs.entry.js.map +1 -0
  6. package/dist/cjs/diwa-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/diwa-inline-notification.cjs.entry.js +1 -1
  8. package/dist/cjs/diwa-input-date.cjs.entry.js +1 -1
  9. package/dist/cjs/diwa-input-email.cjs.entry.js +1 -1
  10. package/dist/cjs/diwa-input-month.cjs.entry.js +1 -1
  11. package/dist/cjs/diwa-input-number.cjs.entry.js +1 -1
  12. package/dist/cjs/diwa-input-password.cjs.entry.js +1 -1
  13. package/dist/cjs/diwa-input-search.cjs.entry.js +1 -1
  14. package/dist/cjs/diwa-input-tel.cjs.entry.js +1 -1
  15. package/dist/cjs/diwa-input-text.cjs.entry.js +1 -1
  16. package/dist/cjs/diwa-input-time.cjs.entry.js +1 -1
  17. package/dist/cjs/diwa-input-url.cjs.entry.js +1 -1
  18. package/dist/cjs/diwa-input-week.cjs.entry.js +1 -1
  19. package/dist/cjs/diwa-input.cjs.entry.js +1 -1
  20. package/dist/cjs/diwa-link-pure.cjs.entry.js +1 -1
  21. package/dist/cjs/diwa-link.cjs.entry.js +1 -1
  22. package/dist/cjs/diwa-modal.cjs.entry.js +1 -1
  23. package/dist/cjs/diwa-multi-select-option.cjs.entry.js +1 -1
  24. package/dist/cjs/diwa-multi-select.cjs.entry.js +2 -2
  25. package/dist/cjs/diwa-pagination.cjs.entry.js +1 -1
  26. package/dist/cjs/diwa-pin-code.cjs.entry.js +2 -2
  27. package/dist/cjs/diwa-popover.cjs.entry.js +1 -1
  28. package/dist/cjs/diwa-radio-group-item.cjs.entry.js +2 -3
  29. package/dist/cjs/diwa-radio-group-item.cjs.entry.js.map +1 -1
  30. package/dist/cjs/diwa-radio-group.cjs.entry.js +1 -1
  31. package/dist/cjs/diwa-scroller.cjs.entry.js +23 -13
  32. package/dist/cjs/diwa-scroller.cjs.entry.js.map +1 -1
  33. package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +1 -1
  34. package/dist/cjs/diwa-segmented-control.cjs.entry.js +1 -1
  35. package/dist/cjs/diwa-select-option.cjs.entry.js +24 -10
  36. package/dist/cjs/diwa-select-option.cjs.entry.js.map +1 -1
  37. package/dist/cjs/diwa-select.cjs.entry.js +15 -1
  38. package/dist/cjs/diwa-select.cjs.entry.js.map +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 +15 -15
  45. package/dist/cjs/diwa-table-cell.cjs.entry.js.map +1 -1
  46. package/dist/cjs/diwa-table-head-cell.cjs.entry.js +64 -53
  47. package/dist/cjs/diwa-table-head-cell.cjs.entry.js.map +1 -1
  48. package/dist/cjs/diwa-table-head.cjs.entry.js +16 -11
  49. package/dist/cjs/diwa-table-head.cjs.entry.js.map +1 -1
  50. package/dist/cjs/diwa-table-row.cjs.entry.js +11 -10
  51. package/dist/cjs/diwa-table-row.cjs.entry.js.map +1 -1
  52. package/dist/cjs/diwa-table.cjs.entry.js +83 -43
  53. package/dist/cjs/diwa-table.cjs.entry.js.map +1 -1
  54. package/dist/cjs/diwa-tabs-bar.cjs.entry.js +1 -1
  55. package/dist/cjs/diwa-tabs-item.cjs.entry.js +1 -1
  56. package/dist/cjs/diwa-tabs.cjs.entry.js +12 -12
  57. package/dist/cjs/diwa-tabs.cjs.entry.js.map +1 -1
  58. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +6 -8
  59. package/dist/cjs/diwa-tag-dismissible.cjs.entry.js.map +1 -1
  60. package/dist/cjs/diwa-tag.cjs.entry.js +2 -2
  61. package/dist/cjs/diwa-tag.cjs.entry.js.map +1 -1
  62. package/dist/cjs/diwa-text-list-item.cjs.entry.js +1 -1
  63. package/dist/cjs/diwa-text-list.cjs.entry.js +1 -1
  64. package/dist/cjs/diwa-text.cjs.entry.js +1 -1
  65. package/dist/cjs/diwa-textarea.cjs.entry.js +1 -1
  66. package/dist/cjs/diwa-toast-item.cjs.entry.js +1 -1
  67. package/dist/cjs/diwa-toast.cjs.entry.js +111 -17
  68. package/dist/cjs/diwa-toast.cjs.entry.js.map +1 -1
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/collection/collection-manifest.json +1 -0
  71. package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js +1 -3
  72. package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js.map +1 -1
  73. package/dist/collection/components/diwa-heading/diwa-heading-styles.js +53 -0
  74. package/dist/collection/components/diwa-heading/diwa-heading-styles.js.map +1 -0
  75. package/dist/collection/components/diwa-heading/diwa-heading-utils.js +26 -0
  76. package/dist/collection/components/diwa-heading/diwa-heading-utils.js.map +1 -0
  77. package/dist/collection/components/diwa-heading/diwa-heading.js +235 -0
  78. package/dist/collection/components/diwa-heading/diwa-heading.js.map +1 -0
  79. package/dist/collection/components/diwa-heading/types.js +2 -0
  80. package/dist/collection/components/diwa-heading/types.js.map +1 -0
  81. package/dist/collection/components/diwa-icon/diwa-icon.js +1 -1
  82. package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js +1 -1
  83. package/dist/collection/components/diwa-input/diwa-input.js +1 -1
  84. package/dist/collection/components/diwa-input-date/diwa-input-date.js +1 -1
  85. package/dist/collection/components/diwa-input-email/diwa-input-email.js +1 -1
  86. package/dist/collection/components/diwa-input-month/diwa-input-month.js +1 -1
  87. package/dist/collection/components/diwa-input-number/diwa-input-number.js +1 -1
  88. package/dist/collection/components/diwa-input-password/diwa-input-password.js +1 -1
  89. package/dist/collection/components/diwa-input-search/diwa-input-search.js +1 -1
  90. package/dist/collection/components/diwa-input-tel/diwa-input-tel.js +1 -1
  91. package/dist/collection/components/diwa-input-text/diwa-input-text.js +1 -1
  92. package/dist/collection/components/diwa-input-time/diwa-input-time.js +1 -1
  93. package/dist/collection/components/diwa-input-url/diwa-input-url.js +1 -1
  94. package/dist/collection/components/diwa-input-week/diwa-input-week.js +1 -1
  95. package/dist/collection/components/diwa-link/diwa-link.js +1 -1
  96. package/dist/collection/components/diwa-link-pure/diwa-link-pure.js +1 -1
  97. package/dist/collection/components/diwa-modal/diwa-modal.js +1 -1
  98. package/dist/collection/components/diwa-multi-select/diwa-multi-select.js +2 -2
  99. package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js +1 -1
  100. package/dist/collection/components/diwa-pagination/diwa-pagination.js +1 -1
  101. package/dist/collection/components/diwa-pin-code/diwa-pin-code.js +2 -2
  102. package/dist/collection/components/diwa-popover/diwa-popover.js +1 -1
  103. package/dist/collection/components/diwa-radio-group/diwa-radio-group.js +1 -1
  104. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js +1 -2
  105. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js.map +1 -1
  106. package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js +1 -1
  107. package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js +14 -9
  108. package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js.map +1 -1
  109. package/dist/collection/components/diwa-scroller/diwa-scroller.js +9 -13
  110. package/dist/collection/components/diwa-scroller/diwa-scroller.js.map +1 -1
  111. package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js +1 -1
  112. package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js +1 -1
  113. package/dist/collection/components/diwa-select/diwa-select.js +17 -1
  114. package/dist/collection/components/diwa-select/diwa-select.js.map +1 -1
  115. package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js +21 -9
  116. package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js.map +1 -1
  117. package/dist/collection/components/diwa-select-option/diwa-select-option.js +23 -1
  118. package/dist/collection/components/diwa-select-option/diwa-select-option.js.map +1 -1
  119. package/dist/collection/components/diwa-spinner/diwa-spinner.js +1 -1
  120. package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js +1 -1
  121. package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js +1 -1
  122. package/dist/collection/components/diwa-switch/diwa-switch.js +1 -1
  123. package/dist/collection/components/diwa-table/diwa-table-styles.js +81 -42
  124. package/dist/collection/components/diwa-table/diwa-table-styles.js.map +1 -1
  125. package/dist/collection/components/diwa-table/diwa-table.js +3 -2
  126. package/dist/collection/components/diwa-table/diwa-table.js.map +1 -1
  127. package/dist/collection/components/diwa-table-body/diwa-table-body.js +1 -1
  128. package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js +14 -14
  129. package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js.map +1 -1
  130. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js +1 -1
  131. package/dist/collection/components/diwa-table-cell/diwa-table-cell.js.map +1 -1
  132. package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js +15 -10
  133. package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js.map +1 -1
  134. package/dist/collection/components/diwa-table-head/diwa-table-head.js +1 -1
  135. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js +60 -49
  136. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js.map +1 -1
  137. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js +4 -4
  138. package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js.map +1 -1
  139. package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js +10 -9
  140. package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js.map +1 -1
  141. package/dist/collection/components/diwa-table-row/diwa-table-row.js +1 -1
  142. package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js +11 -11
  143. package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js.map +1 -1
  144. package/dist/collection/components/diwa-tabs/diwa-tabs.js +1 -1
  145. package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js +1 -1
  146. package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js +1 -1
  147. package/dist/collection/components/diwa-tag/diwa-tag-styles.js +1 -1
  148. package/dist/collection/components/diwa-tag/diwa-tag-styles.js.map +1 -1
  149. package/dist/collection/components/diwa-tag/diwa-tag.js +1 -1
  150. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js +5 -6
  151. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js.map +1 -1
  152. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js +1 -2
  153. package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js.map +1 -1
  154. package/dist/collection/components/diwa-text/diwa-text.js +1 -1
  155. package/dist/collection/components/diwa-text-list/diwa-text-list.js +1 -1
  156. package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js +1 -1
  157. package/dist/collection/components/diwa-textarea/diwa-textarea.js +1 -1
  158. package/dist/collection/components/diwa-toast/diwa-toast-manager.js +96 -0
  159. package/dist/collection/components/diwa-toast/diwa-toast-manager.js.map +1 -0
  160. package/dist/collection/components/diwa-toast/diwa-toast.js +24 -25
  161. package/dist/collection/components/diwa-toast/diwa-toast.js.map +1 -1
  162. package/dist/collection/components/diwa-toast-item/diwa-toast-item.js +1 -1
  163. package/dist/diwa-components/diwa-components.css +2 -2
  164. package/dist/diwa-components/diwa-components.esm.js +1 -1
  165. package/dist/diwa-components/diwa-components.esm.js.map +1 -1
  166. package/dist/diwa-components/{p-2b54c761.entry.js → p-09f2e643.entry.js} +2 -2
  167. package/dist/diwa-components/{p-4ac5a26e.entry.js → p-117dc41d.entry.js} +2 -2
  168. package/dist/diwa-components/p-117dc41d.entry.js.map +1 -0
  169. package/dist/diwa-components/{p-1022a474.entry.js → p-1250d0c7.entry.js} +2 -2
  170. package/dist/diwa-components/{p-1a1bd7ed.entry.js → p-13e71247.entry.js} +2 -2
  171. package/dist/diwa-components/p-1830772d.entry.js +2 -0
  172. package/dist/diwa-components/{p-f4a589b5.entry.js → p-1d708e1e.entry.js} +2 -2
  173. package/dist/diwa-components/{p-bb04cdd6.entry.js → p-238da82a.entry.js} +2 -2
  174. package/dist/diwa-components/p-29419c9a.entry.js +2 -0
  175. package/dist/diwa-components/p-29419c9a.entry.js.map +1 -0
  176. package/dist/diwa-components/{p-c896dfa5.entry.js → p-3269a4b7.entry.js} +2 -2
  177. package/dist/diwa-components/p-35b69160.entry.js +2 -0
  178. package/dist/diwa-components/p-35b69160.entry.js.map +1 -0
  179. package/dist/diwa-components/{p-fbe73240.entry.js → p-3660b09a.entry.js} +2 -2
  180. package/dist/diwa-components/{p-c37374ab.entry.js → p-36b004e9.entry.js} +2 -2
  181. package/dist/diwa-components/p-37e1bea3.entry.js +2 -0
  182. package/dist/diwa-components/p-37e1bea3.entry.js.map +1 -0
  183. package/dist/diwa-components/{p-851cbfb8.entry.js → p-3b38fa01.entry.js} +2 -2
  184. package/dist/diwa-components/p-3fb5cc30.entry.js +2 -0
  185. package/dist/diwa-components/p-429c596d.entry.js +2 -0
  186. package/dist/diwa-components/p-429c596d.entry.js.map +1 -0
  187. package/dist/diwa-components/p-50866c5a.entry.js +2 -0
  188. package/dist/diwa-components/p-50866c5a.entry.js.map +1 -0
  189. package/dist/diwa-components/p-5a597e27.entry.js +2 -0
  190. package/dist/diwa-components/p-5f9139bc.entry.js +2 -0
  191. package/dist/diwa-components/p-5f9139bc.entry.js.map +1 -0
  192. package/dist/diwa-components/p-66c15f66.entry.js +2 -0
  193. package/dist/diwa-components/p-66c53adc.entry.js +2 -0
  194. package/dist/diwa-components/p-66c53adc.entry.js.map +1 -0
  195. package/dist/diwa-components/{p-6253fff6.entry.js → p-71c45961.entry.js} +2 -2
  196. package/dist/diwa-components/{p-358e1177.entry.js → p-78b16866.entry.js} +2 -2
  197. package/dist/diwa-components/p-7a99a2aa.entry.js +2 -0
  198. package/dist/diwa-components/p-7a99a2aa.entry.js.map +1 -0
  199. package/dist/diwa-components/p-7dc7291f.entry.js +2 -0
  200. package/dist/diwa-components/{p-09a9e0a0.entry.js → p-8369c48e.entry.js} +2 -2
  201. package/dist/diwa-components/{p-c0614fb1.entry.js → p-8506ea0c.entry.js} +2 -2
  202. package/dist/diwa-components/p-863c88a4.entry.js +2 -0
  203. package/dist/diwa-components/{p-339f6ba7.entry.js.map → p-863c88a4.entry.js.map} +1 -1
  204. package/dist/diwa-components/{p-ba1ffa71.entry.js → p-87932af2.entry.js} +2 -2
  205. package/dist/diwa-components/{p-48009a79.entry.js → p-926e283b.entry.js} +2 -2
  206. package/dist/diwa-components/p-952af214.entry.js +2 -0
  207. package/dist/diwa-components/p-952af214.entry.js.map +1 -0
  208. package/dist/diwa-components/{p-4ff58224.entry.js → p-95b0fdea.entry.js} +2 -2
  209. package/dist/diwa-components/p-9910d570.entry.js +2 -0
  210. package/dist/diwa-components/p-9910d570.entry.js.map +1 -0
  211. package/dist/diwa-components/{p-20fd1505.entry.js → p-998dd88e.entry.js} +2 -2
  212. package/dist/diwa-components/p-9ade0403.entry.js +2 -0
  213. package/dist/diwa-components/{p-57db0c31.entry.js → p-9c89e586.entry.js} +2 -2
  214. package/dist/diwa-components/p-b072ff72.entry.js +2 -0
  215. package/dist/diwa-components/p-b072ff72.entry.js.map +1 -0
  216. package/dist/diwa-components/{p-565f623e.entry.js → p-bd501daa.entry.js} +2 -2
  217. package/dist/diwa-components/{p-c1c85f9e.entry.js → p-c6ca8d8b.entry.js} +2 -2
  218. package/dist/diwa-components/{p-53e21a74.entry.js → p-c78591ce.entry.js} +2 -2
  219. package/dist/diwa-components/{p-996f7110.entry.js → p-cc0e1662.entry.js} +2 -2
  220. package/dist/diwa-components/{p-711e295e.entry.js → p-d25377eb.entry.js} +2 -2
  221. package/dist/diwa-components/{p-7f0ce623.entry.js → p-d917625e.entry.js} +2 -2
  222. package/dist/diwa-components/{p-d0762292.entry.js → p-db70e030.entry.js} +2 -2
  223. package/dist/diwa-components/p-db70e030.entry.js.map +1 -0
  224. package/dist/diwa-components/p-def36bc4.entry.js +2 -0
  225. package/dist/diwa-components/p-def36bc4.entry.js.map +1 -0
  226. package/dist/diwa-components/p-e137afc9.entry.js +2 -0
  227. package/dist/diwa-components/{p-666844e0.entry.js → p-e1935375.entry.js} +2 -2
  228. package/dist/diwa-components/{p-87ea8001.entry.js → p-e602c199.entry.js} +2 -2
  229. package/dist/diwa-components/{p-9f140e14.entry.js → p-e9673253.entry.js} +2 -2
  230. package/dist/diwa-components/p-f44d4091.entry.js +2 -0
  231. package/dist/diwa-components/p-f44d4091.entry.js.map +1 -0
  232. package/dist/diwa-components/p-f60f1d81.entry.js +2 -0
  233. package/dist/diwa-components/p-fae653f7.entry.js +2 -0
  234. package/dist/esm/diwa-checkbox.entry.js +1 -3
  235. package/dist/esm/diwa-checkbox.entry.js.map +1 -1
  236. package/dist/esm/diwa-components.js +1 -1
  237. package/dist/esm/diwa-heading.entry.js +122 -0
  238. package/dist/esm/diwa-heading.entry.js.map +1 -0
  239. package/dist/esm/diwa-icon.entry.js +1 -1
  240. package/dist/esm/diwa-inline-notification.entry.js +1 -1
  241. package/dist/esm/diwa-input-date.entry.js +1 -1
  242. package/dist/esm/diwa-input-email.entry.js +1 -1
  243. package/dist/esm/diwa-input-month.entry.js +1 -1
  244. package/dist/esm/diwa-input-number.entry.js +1 -1
  245. package/dist/esm/diwa-input-password.entry.js +1 -1
  246. package/dist/esm/diwa-input-search.entry.js +1 -1
  247. package/dist/esm/diwa-input-tel.entry.js +1 -1
  248. package/dist/esm/diwa-input-text.entry.js +1 -1
  249. package/dist/esm/diwa-input-time.entry.js +1 -1
  250. package/dist/esm/diwa-input-url.entry.js +1 -1
  251. package/dist/esm/diwa-input-week.entry.js +1 -1
  252. package/dist/esm/diwa-input.entry.js +1 -1
  253. package/dist/esm/diwa-link-pure.entry.js +1 -1
  254. package/dist/esm/diwa-link.entry.js +1 -1
  255. package/dist/esm/diwa-modal.entry.js +1 -1
  256. package/dist/esm/diwa-multi-select-option.entry.js +1 -1
  257. package/dist/esm/diwa-multi-select.entry.js +2 -2
  258. package/dist/esm/diwa-pagination.entry.js +1 -1
  259. package/dist/esm/diwa-pin-code.entry.js +2 -2
  260. package/dist/esm/diwa-popover.entry.js +1 -1
  261. package/dist/esm/diwa-radio-group-item.entry.js +2 -3
  262. package/dist/esm/diwa-radio-group-item.entry.js.map +1 -1
  263. package/dist/esm/diwa-radio-group.entry.js +1 -1
  264. package/dist/esm/diwa-scroller.entry.js +23 -13
  265. package/dist/esm/diwa-scroller.entry.js.map +1 -1
  266. package/dist/esm/diwa-segmented-control-item.entry.js +1 -1
  267. package/dist/esm/diwa-segmented-control.entry.js +1 -1
  268. package/dist/esm/diwa-select-option.entry.js +24 -10
  269. package/dist/esm/diwa-select-option.entry.js.map +1 -1
  270. package/dist/esm/diwa-select.entry.js +15 -1
  271. package/dist/esm/diwa-select.entry.js.map +1 -1
  272. package/dist/esm/diwa-spinner.entry.js +1 -1
  273. package/dist/esm/diwa-stepper-horizontal-item.entry.js +1 -1
  274. package/dist/esm/diwa-stepper-horizontal.entry.js +1 -1
  275. package/dist/esm/diwa-switch.entry.js +1 -1
  276. package/dist/esm/diwa-table-body.entry.js +1 -1
  277. package/dist/esm/diwa-table-cell.entry.js +15 -15
  278. package/dist/esm/diwa-table-cell.entry.js.map +1 -1
  279. package/dist/esm/diwa-table-head-cell.entry.js +64 -53
  280. package/dist/esm/diwa-table-head-cell.entry.js.map +1 -1
  281. package/dist/esm/diwa-table-head.entry.js +16 -11
  282. package/dist/esm/diwa-table-head.entry.js.map +1 -1
  283. package/dist/esm/diwa-table-row.entry.js +11 -10
  284. package/dist/esm/diwa-table-row.entry.js.map +1 -1
  285. package/dist/esm/diwa-table.entry.js +83 -43
  286. package/dist/esm/diwa-table.entry.js.map +1 -1
  287. package/dist/esm/diwa-tabs-bar.entry.js +1 -1
  288. package/dist/esm/diwa-tabs-item.entry.js +1 -1
  289. package/dist/esm/diwa-tabs.entry.js +12 -12
  290. package/dist/esm/diwa-tabs.entry.js.map +1 -1
  291. package/dist/esm/diwa-tag-dismissible.entry.js +6 -8
  292. package/dist/esm/diwa-tag-dismissible.entry.js.map +1 -1
  293. package/dist/esm/diwa-tag.entry.js +2 -2
  294. package/dist/esm/diwa-tag.entry.js.map +1 -1
  295. package/dist/esm/diwa-text-list-item.entry.js +1 -1
  296. package/dist/esm/diwa-text-list.entry.js +1 -1
  297. package/dist/esm/diwa-text.entry.js +1 -1
  298. package/dist/esm/diwa-textarea.entry.js +1 -1
  299. package/dist/esm/diwa-toast-item.entry.js +1 -1
  300. package/dist/esm/diwa-toast.entry.js +111 -17
  301. package/dist/esm/diwa-toast.entry.js.map +1 -1
  302. package/dist/esm/loader.js +1 -1
  303. package/dist/types/components/diwa-heading/diwa-heading-styles.d.ts +3 -0
  304. package/dist/types/components/diwa-heading/diwa-heading-utils.d.ts +10 -0
  305. package/dist/types/components/diwa-heading/diwa-heading.d.ts +49 -0
  306. package/dist/types/components/diwa-heading/types.d.ts +17 -0
  307. package/dist/types/components/diwa-scroller/diwa-scroller-styles.d.ts +1 -1
  308. package/dist/types/components/diwa-scroller/diwa-scroller.d.ts +2 -1
  309. package/dist/types/components/diwa-select/diwa-select.d.ts +2 -0
  310. package/dist/types/components/diwa-select-option/diwa-select-option.d.ts +2 -0
  311. package/dist/types/components/diwa-table/diwa-table.d.ts +1 -1
  312. package/dist/types/components/diwa-toast/diwa-toast-manager.d.ts +34 -0
  313. package/dist/types/components/diwa-toast/diwa-toast.d.ts +12 -12
  314. package/dist/types/components.d.ts +144 -25
  315. package/dist-custom-elements/diwa-accordion.js +1 -1
  316. package/dist-custom-elements/diwa-button-pure.js +1 -1
  317. package/dist-custom-elements/diwa-button.js +1 -1
  318. package/dist-custom-elements/diwa-checkbox.js +1 -3
  319. package/dist-custom-elements/diwa-checkbox.js.map +1 -1
  320. package/dist-custom-elements/diwa-flyout.js +2 -2
  321. package/dist-custom-elements/diwa-heading.d.ts +11 -0
  322. package/dist-custom-elements/diwa-heading.js +149 -0
  323. package/dist-custom-elements/diwa-heading.js.map +1 -0
  324. package/dist-custom-elements/diwa-icon.js +1 -1
  325. package/dist-custom-elements/diwa-inline-notification.js +3 -3
  326. package/dist-custom-elements/diwa-input-date.js +1 -1
  327. package/dist-custom-elements/diwa-input-email.js +1 -1
  328. package/dist-custom-elements/diwa-input-month.js +1 -1
  329. package/dist-custom-elements/diwa-input-number.js +1 -1
  330. package/dist-custom-elements/diwa-input-password.js +2 -2
  331. package/dist-custom-elements/diwa-input-search.js +2 -2
  332. package/dist-custom-elements/diwa-input-tel.js +1 -1
  333. package/dist-custom-elements/diwa-input-text.js +1 -1
  334. package/dist-custom-elements/diwa-input-time.js +1 -1
  335. package/dist-custom-elements/diwa-input-url.js +1 -1
  336. package/dist-custom-elements/diwa-input-week.js +1 -1
  337. package/dist-custom-elements/diwa-input.js +1 -1
  338. package/dist-custom-elements/diwa-link-pure.js +2 -2
  339. package/dist-custom-elements/diwa-link.js +2 -2
  340. package/dist-custom-elements/diwa-modal.js +1 -1
  341. package/dist-custom-elements/diwa-multi-select-option.js +1 -1
  342. package/dist-custom-elements/diwa-multi-select.js +2 -2
  343. package/dist-custom-elements/diwa-pagination.js +1 -1
  344. package/dist-custom-elements/diwa-pin-code.js +2 -2
  345. package/dist-custom-elements/diwa-popover.js +1 -1
  346. package/dist-custom-elements/diwa-radio-group-item.js +2 -3
  347. package/dist-custom-elements/diwa-radio-group-item.js.map +1 -1
  348. package/dist-custom-elements/diwa-radio-group.js +1 -1
  349. package/dist-custom-elements/diwa-scroller.js +24 -14
  350. package/dist-custom-elements/diwa-scroller.js.map +1 -1
  351. package/dist-custom-elements/diwa-segmented-control-item.js +1 -1
  352. package/dist-custom-elements/diwa-segmented-control.js +1 -1
  353. package/dist-custom-elements/diwa-select-option.js +25 -10
  354. package/dist-custom-elements/diwa-select-option.js.map +1 -1
  355. package/dist-custom-elements/diwa-select.js +16 -1
  356. package/dist-custom-elements/diwa-select.js.map +1 -1
  357. package/dist-custom-elements/diwa-spinner.js +1 -1
  358. package/dist-custom-elements/diwa-stepper-horizontal-item.js +1 -1
  359. package/dist-custom-elements/diwa-stepper-horizontal.js +1 -1
  360. package/dist-custom-elements/diwa-switch.js +2 -2
  361. package/dist-custom-elements/diwa-table-body.js +1 -1
  362. package/dist-custom-elements/diwa-table-cell.js +15 -15
  363. package/dist-custom-elements/diwa-table-cell.js.map +1 -1
  364. package/dist-custom-elements/diwa-table-head-cell.js +64 -53
  365. package/dist-custom-elements/diwa-table-head-cell.js.map +1 -1
  366. package/dist-custom-elements/diwa-table-head.js +16 -11
  367. package/dist-custom-elements/diwa-table-head.js.map +1 -1
  368. package/dist-custom-elements/diwa-table-row.js +11 -10
  369. package/dist-custom-elements/diwa-table-row.js.map +1 -1
  370. package/dist-custom-elements/diwa-table.js +83 -43
  371. package/dist-custom-elements/diwa-table.js.map +1 -1
  372. package/dist-custom-elements/diwa-tabs-bar.js +1 -1
  373. package/dist-custom-elements/diwa-tabs-item.js +1 -1
  374. package/dist-custom-elements/diwa-tabs.js +12 -12
  375. package/dist-custom-elements/diwa-tabs.js.map +1 -1
  376. package/dist-custom-elements/diwa-tag-dismissible.js +6 -8
  377. package/dist-custom-elements/diwa-tag-dismissible.js.map +1 -1
  378. package/dist-custom-elements/diwa-tag.js +3 -3
  379. package/dist-custom-elements/diwa-tag.js.map +1 -1
  380. package/dist-custom-elements/diwa-text-list-item.js +1 -1
  381. package/dist-custom-elements/diwa-text-list.js +1 -1
  382. package/dist-custom-elements/diwa-text.js +1 -1
  383. package/dist-custom-elements/diwa-textarea.js +1 -1
  384. package/dist-custom-elements/diwa-toast-item.js +1 -1
  385. package/dist-custom-elements/diwa-toast.js +113 -19
  386. package/dist-custom-elements/diwa-toast.js.map +1 -1
  387. package/dist-custom-elements/{p-54e5b3fb.js → p-105f3f97.js} +2 -2
  388. package/dist-custom-elements/{p-54e5b3fb.js.map → p-105f3f97.js.map} +1 -1
  389. package/dist-custom-elements/{p-f480bce8.js → p-7c951f7f.js} +2 -2
  390. package/dist-custom-elements/{p-f480bce8.js.map → p-7c951f7f.js.map} +1 -1
  391. package/dist-custom-elements/{p-302af10d.js → p-8972ae69.js} +2 -2
  392. package/dist-custom-elements/{p-302af10d.js.map → p-8972ae69.js.map} +1 -1
  393. package/dist-custom-elements/{p-ed901570.js → p-b7255dc4.js} +2 -2
  394. package/dist-custom-elements/{p-ed901570.js.map → p-b7255dc4.js.map} +1 -1
  395. package/package.json +9 -8
  396. package/dist/diwa-components/p-043e3e19.entry.js +0 -2
  397. package/dist/diwa-components/p-05988905.entry.js +0 -2
  398. package/dist/diwa-components/p-08c584fb.entry.js +0 -2
  399. package/dist/diwa-components/p-08c584fb.entry.js.map +0 -1
  400. package/dist/diwa-components/p-0cbe8ed4.entry.js +0 -2
  401. package/dist/diwa-components/p-0cbe8ed4.entry.js.map +0 -1
  402. package/dist/diwa-components/p-139f619d.entry.js +0 -2
  403. package/dist/diwa-components/p-139f619d.entry.js.map +0 -1
  404. package/dist/diwa-components/p-178d18c2.entry.js +0 -2
  405. package/dist/diwa-components/p-178d18c2.entry.js.map +0 -1
  406. package/dist/diwa-components/p-2b72a324.entry.js +0 -2
  407. package/dist/diwa-components/p-339f6ba7.entry.js +0 -2
  408. package/dist/diwa-components/p-3b7a1431.entry.js +0 -2
  409. package/dist/diwa-components/p-3b7a1431.entry.js.map +0 -1
  410. package/dist/diwa-components/p-4a84fee8.entry.js +0 -2
  411. package/dist/diwa-components/p-4ac5a26e.entry.js.map +0 -1
  412. package/dist/diwa-components/p-51673c06.entry.js +0 -2
  413. package/dist/diwa-components/p-51673c06.entry.js.map +0 -1
  414. package/dist/diwa-components/p-5c2325aa.entry.js +0 -2
  415. package/dist/diwa-components/p-5cd79382.entry.js +0 -2
  416. package/dist/diwa-components/p-67950f59.entry.js +0 -2
  417. package/dist/diwa-components/p-67950f59.entry.js.map +0 -1
  418. package/dist/diwa-components/p-8012c384.entry.js +0 -2
  419. package/dist/diwa-components/p-8012c384.entry.js.map +0 -1
  420. package/dist/diwa-components/p-9088f057.entry.js +0 -2
  421. package/dist/diwa-components/p-94f603c2.entry.js +0 -2
  422. package/dist/diwa-components/p-94f603c2.entry.js.map +0 -1
  423. package/dist/diwa-components/p-b7132ea7.entry.js +0 -2
  424. package/dist/diwa-components/p-b7132ea7.entry.js.map +0 -1
  425. package/dist/diwa-components/p-b988c5b3.entry.js +0 -2
  426. package/dist/diwa-components/p-b988c5b3.entry.js.map +0 -1
  427. package/dist/diwa-components/p-bc2eecd2.entry.js +0 -2
  428. package/dist/diwa-components/p-cf960cf6.entry.js +0 -2
  429. package/dist/diwa-components/p-d0762292.entry.js.map +0 -1
  430. package/dist/diwa-components/p-f22b6145.entry.js +0 -2
  431. package/dist/diwa-components/p-f22b6145.entry.js.map +0 -1
  432. /package/dist/diwa-components/{p-2b54c761.entry.js.map → p-09f2e643.entry.js.map} +0 -0
  433. /package/dist/diwa-components/{p-1022a474.entry.js.map → p-1250d0c7.entry.js.map} +0 -0
  434. /package/dist/diwa-components/{p-1a1bd7ed.entry.js.map → p-13e71247.entry.js.map} +0 -0
  435. /package/dist/diwa-components/{p-711e295e.entry.js.map → p-1830772d.entry.js.map} +0 -0
  436. /package/dist/diwa-components/{p-f4a589b5.entry.js.map → p-1d708e1e.entry.js.map} +0 -0
  437. /package/dist/diwa-components/{p-bb04cdd6.entry.js.map → p-238da82a.entry.js.map} +0 -0
  438. /package/dist/diwa-components/{p-c896dfa5.entry.js.map → p-3269a4b7.entry.js.map} +0 -0
  439. /package/dist/diwa-components/{p-fbe73240.entry.js.map → p-3660b09a.entry.js.map} +0 -0
  440. /package/dist/diwa-components/{p-c37374ab.entry.js.map → p-36b004e9.entry.js.map} +0 -0
  441. /package/dist/diwa-components/{p-851cbfb8.entry.js.map → p-3b38fa01.entry.js.map} +0 -0
  442. /package/dist/diwa-components/{p-4a84fee8.entry.js.map → p-3fb5cc30.entry.js.map} +0 -0
  443. /package/dist/diwa-components/{p-5cd79382.entry.js.map → p-5a597e27.entry.js.map} +0 -0
  444. /package/dist/diwa-components/{p-043e3e19.entry.js.map → p-66c15f66.entry.js.map} +0 -0
  445. /package/dist/diwa-components/{p-6253fff6.entry.js.map → p-71c45961.entry.js.map} +0 -0
  446. /package/dist/diwa-components/{p-358e1177.entry.js.map → p-78b16866.entry.js.map} +0 -0
  447. /package/dist/diwa-components/{p-05988905.entry.js.map → p-7dc7291f.entry.js.map} +0 -0
  448. /package/dist/diwa-components/{p-09a9e0a0.entry.js.map → p-8369c48e.entry.js.map} +0 -0
  449. /package/dist/diwa-components/{p-bc2eecd2.entry.js.map → p-8506ea0c.entry.js.map} +0 -0
  450. /package/dist/diwa-components/{p-ba1ffa71.entry.js.map → p-87932af2.entry.js.map} +0 -0
  451. /package/dist/diwa-components/{p-48009a79.entry.js.map → p-926e283b.entry.js.map} +0 -0
  452. /package/dist/diwa-components/{p-4ff58224.entry.js.map → p-95b0fdea.entry.js.map} +0 -0
  453. /package/dist/diwa-components/{p-20fd1505.entry.js.map → p-998dd88e.entry.js.map} +0 -0
  454. /package/dist/diwa-components/{p-5c2325aa.entry.js.map → p-9ade0403.entry.js.map} +0 -0
  455. /package/dist/diwa-components/{p-57db0c31.entry.js.map → p-9c89e586.entry.js.map} +0 -0
  456. /package/dist/diwa-components/{p-565f623e.entry.js.map → p-bd501daa.entry.js.map} +0 -0
  457. /package/dist/diwa-components/{p-c1c85f9e.entry.js.map → p-c6ca8d8b.entry.js.map} +0 -0
  458. /package/dist/diwa-components/{p-53e21a74.entry.js.map → p-c78591ce.entry.js.map} +0 -0
  459. /package/dist/diwa-components/{p-996f7110.entry.js.map → p-cc0e1662.entry.js.map} +0 -0
  460. /package/dist/diwa-components/{p-9088f057.entry.js.map → p-d25377eb.entry.js.map} +0 -0
  461. /package/dist/diwa-components/{p-7f0ce623.entry.js.map → p-d917625e.entry.js.map} +0 -0
  462. /package/dist/diwa-components/{p-2b72a324.entry.js.map → p-e137afc9.entry.js.map} +0 -0
  463. /package/dist/diwa-components/{p-666844e0.entry.js.map → p-e1935375.entry.js.map} +0 -0
  464. /package/dist/diwa-components/{p-87ea8001.entry.js.map → p-e602c199.entry.js.map} +0 -0
  465. /package/dist/diwa-components/{p-9f140e14.entry.js.map → p-e9673253.entry.js.map} +0 -0
  466. /package/dist/diwa-components/{p-cf960cf6.entry.js.map → p-f60f1d81.entry.js.map} +0 -0
  467. /package/dist/diwa-components/{p-c0614fb1.entry.js.map → p-fae653f7.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["getComponentCss","isOpen","_disabled","_state","_compact","isUp","getFocusStyle","getReducedMotionStyle","selectIdCounter","DiwaSelect","constructor","hostRef","this","theme","name","state","hideLabel","disabled","required","compact","dropdownDirection","hasFilterResults","dropdownClass","internalId","options","highlightedIndex","onClickOutside","e","path","composedPath","includes","host","blur","emit","onTriggerClick","onTriggerKeyDown","key","preventDefault","triggerEl","focus","visible","getVisibleOptions","Math","min","length","applyHighlight","max","vis","current","dispatchEvent","MouseEvent","bubbles","composed","onFilterInput","term","target","value","toLowerCase","anyVisible","opt","text","_a","textContent","match","style","display","onThemeChange","syncChildThemes","onValueChange","syncSelectionFromValue","onIsOpenChange","open","toggle","updateDropdownDirection","getFirstHighlightIndex","requestAnimationFrame","filterInputEl","clearHighlight","resetFilter","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","componentDidLoad","collectOptions","close","onOptionUpdate","stopPropagation","detail","change","forceUpdate","onSlotChange","Array","from","querySelectorAll","shouldBeSelected","undefined","selected","filter","o","firstSelected","findIndex","forEach","i","highlighted","rect","getBoundingClientRect","spaceBelow","window","innerHeight","bottom","selectedLabel","find","trim","render","labelId","listboxId","hintId","hasMessage","message","hasValue","displayLabel","h","Host","innerHTML","label","querySelector","class","id","part","description","role","tabIndex","onClick","onKeyDown","ref","el","viewBox","fill","stroke","points","type","placeholder","onInput"],"sources":["src/components/diwa-select/diwa-select-styles.ts","src/components/diwa-select/diwa-select.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\nimport type { SelectState } from './types';\r\n\r\nexport const getComponentCss = (\r\n isOpen: boolean,\r\n _disabled: boolean,\r\n _state: SelectState,\r\n _compact: boolean,\r\n isUp: boolean = false,\r\n): string => `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n position: relative;\r\n width: 100%;\r\n min-width: 0;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Label ──────────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n display: block;\r\n margin-bottom: var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-sm);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n cursor: default;\r\n }\r\n\r\n :host([hide-label]) .label {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n .label__required {\r\n color: var(--diwa-notification-error);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n margin-left: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Description ────────────────────────────────────────────────────── */\r\n\r\n .description {\r\n display: block;\r\n margin-bottom: var(--diwa-space-2);\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n\r\n /* ── Trigger ────────────────────────────────────────────────────────── */\r\n\r\n .trigger {\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n min-height: var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px));\n padding: 0 var(--diwa-space-3);\r\n box-sizing: border-box;\r\n gap: var(--diwa-space-2);\r\n\r\n background: var(--diwa-input-bg, var(--diwa-bg-input));\r\n border: var(--diwa-border-width-thin) solid var(--diwa-input-border);\r\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\r\n\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-normal);\r\n font-family: inherit;\r\n color: var(--diwa-text-primary);\r\n text-align: left;\r\n line-height: 1;\r\n\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n\r\n transition: border-color var(--diwa-transition-fast), background var(--diwa-transition-fast);\r\n appearance: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\n :host(:not([disabled])) .trigger:hover {\n border-color: var(--diwa-border-hover);\n }\n }\n\r\n ${isOpen && !isUp ? '.trigger { border-color: var(--diwa-border-focus); border-radius: var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)) 0 0; }' : ''}\r\n ${isOpen && isUp ? '.trigger { border-color: var(--diwa-border-focus); border-radius: 0 0 var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)); }' : ''}\r\n\r\n /* ── Focus ring on trigger itself ───────────────────────────────────── */\r\n\r\n ${getFocusStyle('.trigger')}\r\n\r\n /* ── Selected text ──────────────────────────────────────────────────── */\r\n\r\n .trigger__value {\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n .trigger__placeholder {\r\n color: var(--diwa-text-secondary);\r\n }\r\n\r\n /* ── Chevron icon ───────────────────────────────────────────────────── */\r\n\r\n .trigger__chevron {\r\n flex-shrink: 0;\r\n width: var(--diwa-icon-size-md);\r\n height: var(--diwa-icon-size-md);\r\n color: var(--diwa-text-secondary);\r\n transition: transform var(--diwa-transition-fast);\r\n ${isOpen ? 'transform: rotate(180deg);' : ''}\r\n }\r\n\r\n .trigger__chevron svg {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* ── Dropdown panel ─────────────────────────────────────────────────── */\r\n\r\n .dropdown {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n z-index: var(--diwa-z-dropdown);\r\n background-color: var(--diwa-bg-elevated);\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border-focus);\r\n border-top: none;\r\n border-radius: 0 0 var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md));\r\n overflow: hidden;\r\n box-shadow: var(--diwa-shadow-lg);\r\n display: ${isOpen ? 'block' : 'none'};\r\n }\r\n\r\n .dropdown--up {\r\n top: auto;\r\n bottom: 100%;\r\n border-top: var(--diwa-border-width-thin) solid var(--diwa-border-focus);\r\n border-bottom: none;\r\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md)) var(--diwa-input-radius, var(--diwa-radius-md)) 0 0;\r\n margin-bottom: -1px;\r\n }\r\n\r\n /* ── Filter input ───────────────────────────────────────────────────── */\r\n\r\n .filter {\r\n padding: var(--diwa-space-2) var(--diwa-space-2) var(--diwa-space-1);\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-input-border);\r\n }\r\n\r\n .filter__input {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: var(--diwa-space-2) var(--diwa-space-3);\r\n background: var(--diwa-input-bg, var(--diwa-bg-input));\r\n border: var(--diwa-border-width-thin) solid var(--diwa-input-border);\r\n border-radius: var(--diwa-radius-sm);\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-sm);\r\n font-family: inherit;\r\n outline: none;\r\n transition: border-color var(--diwa-transition-fast);\r\n }\r\n\r\n .filter__input::placeholder {\n color: var(--diwa-text-secondary);\n }\n\n .filter__input:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: var(--diwa-focus-ring-offset);\n }\n\n .filter__input:focus:not(:focus-visible) {\n outline: none;\n }\n\r\n /* ── Options list ───────────────────────────────────────────────────── */\r\n\r\n .options {\r\n max-height: var(--diwa-select-dropdown-max-height);\r\n overflow-y: auto;\r\n padding: var(--diwa-space-1);\r\n }\r\n\r\n .options::-webkit-scrollbar {\r\n width: var(--diwa-scrollbar-width);\r\n }\r\n\r\n .options::-webkit-scrollbar-track {\r\n background: transparent;\r\n }\r\n\r\n .options::-webkit-scrollbar-thumb {\r\n background-color: var(--diwa-border);\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n /* ── Compact ────────────────────────────────────────────────────────── */\r\n\r\n :host([compact]) .trigger {\n min-height: var(--diwa-touch-target-min-size-compact, 32px);\n font-size: var(--diwa-font-size-md);\n padding: 0 var(--diwa-space-2);\n }\n\r\n /* ── States: error / success ────────────────────────────────────────── */\r\n\r\n :host([state=\"error\"]) .trigger {\r\n border-color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"success\"]) .trigger {\r\n border-color: var(--diwa-notification-success);\r\n }\r\n\r\n /* ── Message ────────────────────────────────────────────────────────── */\r\n\r\n .message {\r\n display: block;\r\n margin-top: var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-sm);\r\n line-height: var(--diwa-line-height-normal);\r\n color: var(--diwa-text-secondary);\r\n }\r\n\r\n :host([state=\"error\"]) .message {\r\n color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"success\"]) .message {\r\n color: var(--diwa-notification-success);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .trigger {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .label {\r\n opacity: var(--diwa-opacity-disabled);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.trigger', '.trigger__chevron', '.filter__input')}\r\n`;\r\n\r\n\r\n","import {\r\n Component,\r\n Element,\r\n Event,\r\n type EventEmitter,\r\n Host,\r\n Listen,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from '@stencil/core';\r\nimport type {\r\n SelectChangeEventDetail,\r\n SelectDropdownDirection,\r\n SelectState,\r\n SelectTheme,\r\n SelectToggleEventDetail,\r\n} from './types';\r\nimport { getComponentCss } from './diwa-select-styles';\r\n\r\n/** Module-level counter for unique IDs. */\r\nlet selectIdCounter = 0;\r\n\r\n/**\r\n * @component diwa-select\r\n *\r\n * A fully accessible single-select dropdown with built-in text filter,\r\n * keyboard navigation, and form integration.\r\n *\r\n * Based on the Diwa select API contract.\n *\r\n * Usage:\r\n * <diwa-select name=\"fruit\" label=\"Favourite fruit\">\r\n * <diwa-select-option>Please select…</diwa-select-option>\r\n * <diwa-select-option value=\"apple\">Apple</diwa-select-option>\r\n * <diwa-select-option value=\"banana\">Banana</diwa-select-option>\r\n * </diwa-select>\r\n *\r\n * @slot default — diwa-select-option elements\r\n * @slot label — Custom label content (overrides the label prop)\r\n * @slot description — Custom description content\r\n * @slot message — Custom message content\r\n */\r\n@Component({\r\n tag: 'diwa-select',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSelect {\r\n @Element() host!: HTMLElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Theme — cascades down to child options. */\r\n @Prop({ reflect: true }) theme: SelectTheme = 'dark';\r\n\r\n /** Visible label text. */\r\n @Prop() label?: string;\r\n\r\n /** Optional description shown below the label. */\r\n @Prop() description?: string;\r\n\r\n /** HTML name attribute — identifies the field in form submissions. */\r\n @Prop() name: string = '';\r\n\r\n /** Currently selected value. Mutable — updated on user interaction. */\r\n @Prop({ mutable: true }) value?: string;\r\n\r\n /** Validation state. */\r\n @Prop({ reflect: true }) state: SelectState = 'none';\r\n\r\n /** Helper / validation message shown below the trigger. */\r\n @Prop() message?: string;\r\n\r\n /** Hides the label visually while keeping it accessible. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n /** Disables interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Compact variant — reduces the trigger height. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Preferred direction for the dropdown panel.\r\n * `'auto'` detects viewport space and flips upward if needed.\r\n */\r\n @Prop() dropdownDirection: SelectDropdownDirection = 'auto';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Emitted when the selection changes. */\r\n @Event({ bubbles: true })\r\n change!: EventEmitter<SelectChangeEventDetail>;\r\n\r\n /** Emitted when the dropdown opens or closes. */\r\n @Event({ bubbles: false })\r\n toggle!: EventEmitter<SelectToggleEventDetail>;\r\n\r\n /** Emitted when the component loses focus (dropdown closes via click-outside). */\r\n @Event({ bubbles: false })\r\n blur!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Internal state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @State() private isOpen: boolean = false;\r\n @State() private hasFilterResults: boolean = true;\r\n @State() private dropdownClass: string = 'dropdown';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private refs / tracking\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private internalId: string = `diwa-s-${++selectIdCounter}`;\r\n private triggerEl!: HTMLDivElement;\r\n private filterInputEl?: HTMLInputElement;\r\n private options: HTMLDiwaSelectOptionElement[] = [];\r\n private highlightedIndex: number = -1;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Watch('theme')\r\n onThemeChange(): void {\r\n this.syncChildThemes();\r\n }\r\n\r\n @Watch('value')\r\n onValueChange(): void {\r\n this.syncSelectionFromValue();\r\n }\r\n\r\n @Watch('isOpen')\r\n onIsOpenChange(open: boolean): void {\r\n this.toggle.emit({ open });\r\n if (open) {\r\n this.updateDropdownDirection();\r\n this.highlightedIndex = this.getFirstHighlightIndex();\r\n this.applyHighlight();\r\n requestAnimationFrame(() => {\r\n this.filterInputEl?.focus();\r\n });\r\n } else {\r\n this.clearHighlight();\r\n this.highlightedIndex = -1;\r\n this.resetFilter();\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Lifecycle\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n connectedCallback(): void {\r\n document.addEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.removeEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Public methods\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Programmatically opens the dropdown. */\r\n @Method()\r\n async open(): Promise<void> {\r\n this.isOpen = true;\r\n }\r\n\r\n /** Programmatically closes the dropdown. */\r\n @Method()\r\n async close(): Promise<void> {\r\n this.isOpen = false;\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Event listeners\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Listen('diwaSelectOptionUpdate')\r\n onOptionUpdate(e: CustomEvent<{ value: string | undefined }>): void {\r\n e.stopPropagation();\r\n this.value = e.detail.value;\r\n this.syncSelectionFromValue();\r\n this.change.emit({ name: this.name, value: this.value ?? '' });\r\n this.isOpen = false;\r\n forceUpdate(this.host);\r\n requestAnimationFrame(() => {\r\n this.triggerEl.focus();\r\n });\r\n }\r\n\r\n @Listen('slotchange')\r\n onSlotChange(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private collectOptions(): void {\r\n this.options = Array.from(\r\n this.host.querySelectorAll<HTMLDiwaSelectOptionElement>('diwa-select-option'),\r\n );\r\n }\r\n\r\n private syncSelectionFromValue(): void {\r\n for (const opt of this.options) {\r\n const shouldBeSelected = opt.value !== undefined && opt.value === this.value;\r\n if (opt.selected !== shouldBeSelected) {\r\n opt.selected = shouldBeSelected;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private syncChildThemes(): void {\r\n for (const opt of this.options) {\r\n if (opt.theme !== this.theme) {\r\n opt.theme = this.theme;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private getVisibleOptions(): HTMLDiwaSelectOptionElement[] {\r\n return this.options.filter((o) => !o.disabled && o.style.display !== 'none');\r\n }\r\n\r\n private getFirstHighlightIndex(): number {\r\n const visible = this.getVisibleOptions();\r\n const firstSelected = visible.findIndex((o) => o.selected);\r\n return firstSelected >= 0 ? firstSelected : 0;\r\n }\r\n\r\n private applyHighlight(): void {\r\n const visible = this.getVisibleOptions();\r\n visible.forEach((opt, i) => {\r\n opt.highlighted = i === this.highlightedIndex;\r\n });\r\n }\r\n\r\n private clearHighlight(): void {\r\n for (const opt of this.options) {\r\n if (opt.highlighted) opt.highlighted = false;\r\n }\r\n this.highlightedIndex = -1;\r\n }\r\n\r\n private updateDropdownDirection(): void {\r\n if (this.dropdownDirection !== 'auto') {\r\n this.dropdownClass = this.dropdownDirection === 'up' ? 'dropdown dropdown--up' : 'dropdown';\r\n return;\r\n }\r\n const rect = this.triggerEl.getBoundingClientRect();\r\n const spaceBelow = window.innerHeight - rect.bottom;\r\n this.dropdownClass = spaceBelow < 260 ? 'dropdown dropdown--up' : 'dropdown';\r\n }\r\n\r\n private resetFilter(): void {\r\n if (this.filterInputEl) this.filterInputEl.value = '';\r\n this.hasFilterResults = true;\r\n for (const opt of this.options) {\r\n opt.style.display = '';\r\n }\r\n }\r\n\r\n private onClickOutside = (e: MouseEvent): void => {\r\n if (!this.isOpen) return;\r\n const path = e.composedPath();\r\n if (!path.includes(this.host)) {\r\n this.isOpen = false;\r\n this.blur.emit();\r\n }\r\n };\r\n\r\n private onTriggerClick = (): void => {\r\n if (this.disabled) return;\r\n this.isOpen = !this.isOpen;\r\n };\r\n\r\n private onTriggerKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n\r\n if (!this.isOpen) {\r\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.isOpen = true;\r\n }\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case 'Escape':\r\n case 'Tab': {\r\n e.preventDefault();\r\n this.isOpen = false;\r\n this.triggerEl.focus();\r\n break;\r\n }\r\n case 'ArrowDown': {\r\n e.preventDefault();\r\n const visible = this.getVisibleOptions();\r\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, visible.length - 1);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'ArrowUp': {\r\n e.preventDefault();\r\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Home': {\r\n e.preventDefault();\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'End': {\r\n e.preventDefault();\r\n const vis = this.getVisibleOptions();\r\n this.highlightedIndex = vis.length - 1;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Enter':\r\n case ' ': {\r\n e.preventDefault();\r\n const current = this.getVisibleOptions()[this.highlightedIndex];\r\n if (current && !current.disabled) {\r\n current.dispatchEvent(new MouseEvent('click', { bubbles: true, composed: true }));\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n\r\n private onFilterInput = (e: Event): void => {\r\n const term = (e.target as HTMLInputElement).value.toLowerCase();\r\n\r\n let anyVisible = false;\r\n for (const opt of this.options) {\r\n const text = (opt.textContent ?? '').toLowerCase();\r\n const match = text.includes(term);\r\n opt.style.display = match ? '' : 'none';\r\n if (match) anyVisible = true;\r\n }\r\n this.hasFilterResults = anyVisible;\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Computed display values\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get selectedLabel(): string {\r\n const selected = this.options.find((o) => o.value !== undefined && o.value === this.value);\r\n return (selected?.textContent ?? '').trim();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const labelId = `${this.internalId}-label`;\r\n const listboxId = `${this.internalId}-listbox`;\r\n const hintId = `${this.internalId}-hint`;\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n const hasValue = this.value !== undefined && this.value !== '';\r\n const displayLabel = hasValue ? this.selectedLabel : undefined;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up'))} />\r\n\r\n {/* Label */}\r\n {(this.label || this.host.querySelector('[slot=\"label\"]')) && (\r\n <span class=\"label\" id={labelId} part=\"label\">\r\n <slot name=\"label\">{this.label}</slot>\r\n {this.required && <span class=\"label__required\" aria-hidden=\"true\">*</span>}\r\n </span>\r\n )}\r\n\r\n {/* Description */}\r\n {(this.description || this.host.querySelector('[slot=\"description\"]')) && (\r\n <span class=\"description\" part=\"description\">\r\n <slot name=\"description\">{this.description}</slot>\r\n </span>\r\n )}\r\n\r\n {/* Trigger */}\r\n <div\r\n class=\"trigger\"\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={this.isOpen ? 'true' : 'false'}\r\n aria-controls={listboxId}\r\n aria-labelledby={this.label ? labelId : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-describedby={hasMessage ? hintId : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.onTriggerClick}\r\n onKeyDown={this.onTriggerKeyDown}\r\n ref={(el) => (this.triggerEl = el as HTMLDivElement)}\r\n part=\"trigger\"\r\n >\r\n <span class={`trigger__value${!displayLabel ? ' trigger__placeholder' : ''}`} part=\"value\">\r\n {displayLabel ?? (this.label || 'Select an option')}\r\n </span>\r\n\r\n {/* Chevron */}\r\n <span class=\"trigger__chevron\" aria-hidden=\"true\" part=\"chevron\">\r\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polyline points=\"6 9 12 15 18 9\" />\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n {/* Dropdown */}\r\n <div\r\n class={this.dropdownClass}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-multiselectable=\"false\"\r\n aria-labelledby={this.label ? labelId : undefined}\r\n part=\"dropdown\"\r\n >\r\n {/* Filter */}\r\n <div class=\"filter\" part=\"filter\">\r\n <input\r\n class=\"filter__input\"\r\n type=\"text\"\r\n placeholder=\"Filter options…\"\r\n aria-label=\"Filter options\"\r\n onInput={this.onFilterInput}\r\n ref={(el) => (this.filterInputEl = el as HTMLInputElement)}\r\n part=\"filter-input\"\r\n />\r\n </div>\r\n\r\n {/* Options */}\r\n <div class=\"options\" part=\"options\">\r\n {!this.hasFilterResults && (\r\n <div class=\"no-results\" aria-live=\"polite\">No options found</div>\r\n )}\r\n <slot />\r\n </div>\r\n </div>\r\n\r\n {/* Message */}\r\n {hasMessage && (\r\n <span class=\"message\" id={hintId} role=\"status\" part=\"message\">\r\n <slot name=\"message\">{this.message}</slot>\r\n </span>\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as a,h as n,H as i}from"./p-ed4017f0.js";const r={neutral:{bg:"var(--diwa-bg-surface)",color:"var(--diwa-text-primary)",border:"var(--diwa-border)"},primary:{bg:"var(--diwa-accent-bg)",color:"var(--diwa-accent)",border:"var(--diwa-accent)"},info:{bg:"var(--diwa-notification-info-soft)",color:"var(--diwa-notification-info)",border:"var(--diwa-color-info-300)"},success:{bg:"var(--diwa-notification-success-soft)",color:"var(--diwa-notification-success)",border:"transparent"},warning:{bg:"var(--diwa-notification-warning-soft)",color:"var(--diwa-notification-warning)",border:"transparent"},error:{bg:"var(--diwa-notification-error-soft)",color:"var(--diwa-notification-error)",border:"transparent"}};const e=(a,n)=>{const{bg:i,color:e,border:o}=r[a];const t=n?"1px":"2px";const d=n?"6px":"10px";const s=n?"var(--diwa-font-size-sm)":"var(--diwa-font-size-md)";return`\n :host {\n display: inline-flex;\n }\n :host([hidden]) {\n display: none;\n }\n .tag {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-1);\n padding: ${t} ${d};\n font-family: var(--diwa-font-family-base);\n font-size: ${s};\n font-weight: var(--diwa-font-weight-medium);\n line-height: var(--diwa-line-height-tight);\n color: ${e};\n background: ${i};\n border: var(--diwa-border-width-thin) solid ${o};\n border-radius: var(--diwa-radius-sm);\n white-space: nowrap;\n user-select: none;\n }\n .icon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n }\n `};const o=class{constructor(n){a(this,n);this.variant="neutral";this.compact=false;this.theme="dark"}render(){return n(i,{key:"dfa84844b35c6b8235c98e808a9b9dd6d477d1fa","data-theme":this.theme},n("style",{key:"8e4f31a14ed706ab4ed23f29b1cc2e0f62ad2574",innerHTML:e(this.variant,this.compact)}),n("span",{key:"6114522f5907c57eb3431943cd54d74cda2efc2b",class:"tag"},this.icon&&n("span",{key:"a5ab13a007c58c6ad70b3d50f3432513a6c50158",class:"icon"},n("diwa-icon",{key:"d8a27e315e5cd715bb6eddd17fe776d9ac2b04a2",name:this.icon,size:this.compact?12:14})),n("slot",{key:"a0009c67eb1a12d3fb4de706b22d15cc68f17942"})))}};export{o as diwa_tag};
2
- //# sourceMappingURL=p-f22b6145.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["VARIANT_MAP","neutral","bg","color","border","primary","info","success","warning","error","getComponentCss","variant","compact","paddingY","paddingX","fontSize","DiwaTag","constructor","hostRef","this","theme","render","h","Host","key","innerHTML","class","icon","name","size"],"sources":["src/components/diwa-tag/diwa-tag-styles.ts","src/components/diwa-tag/diwa-tag.tsx"],"sourcesContent":["import type { TagVariant } from './types';\r\n\r\nconst VARIANT_MAP: Record<TagVariant, { bg: string; color: string; border: string }> = {\r\n neutral: {\r\n bg: 'var(--diwa-bg-surface)',\r\n color: 'var(--diwa-text-primary)',\r\n border: 'var(--diwa-border)',\r\n },\r\n primary: {\r\n bg: 'var(--diwa-accent-bg)',\r\n color: 'var(--diwa-accent)',\r\n border: 'var(--diwa-accent)',\r\n },\r\n info: {\r\n bg: 'var(--diwa-notification-info-soft)',\r\n color: 'var(--diwa-notification-info)',\r\n border: 'var(--diwa-color-info-300)',\r\n },\r\n success: {\r\n bg: 'var(--diwa-notification-success-soft)',\r\n color: 'var(--diwa-notification-success)',\r\n border: 'transparent',\r\n },\r\n warning: {\r\n bg: 'var(--diwa-notification-warning-soft)',\r\n color: 'var(--diwa-notification-warning)',\r\n border: 'transparent',\r\n },\r\n error: {\r\n bg: 'var(--diwa-notification-error-soft)',\r\n color: 'var(--diwa-notification-error)',\r\n border: 'transparent',\r\n },\r\n};\r\n\r\nexport const getComponentCss = (variant: TagVariant, compact: boolean): string => {\r\n const { bg, color, border } = VARIANT_MAP[variant];\r\n const paddingY = compact ? '1px' : '2px';\r\n const paddingX = compact ? '6px' : '10px';\r\n const fontSize = compact ? 'var(--diwa-font-size-sm)' : 'var(--diwa-font-size-md)';\r\n\r\n return `\r\n :host {\r\n display: inline-flex;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .tag {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1);\r\n padding: ${paddingY} ${paddingX};\r\n font-family: var(--diwa-font-family-base);\r\n font-size: ${fontSize};\r\n font-weight: var(--diwa-font-weight-medium);\r\n line-height: var(--diwa-line-height-tight);\r\n color: ${color};\r\n background: ${bg};\r\n border: var(--diwa-border-width-thin) solid ${border};\r\n border-radius: var(--diwa-radius-sm);\r\n white-space: nowrap;\r\n user-select: none;\r\n }\r\n .icon {\r\n display: flex;\r\n align-items: center;\r\n flex-shrink: 0;\r\n }\r\n `;\r\n};\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { TagVariant } from './types';\r\nimport { getComponentCss } from './diwa-tag-styles';\r\n\r\n/**\r\n * @slot default — Tag label content.\r\n */\r\n@Component({\r\n tag: 'diwa-tag',\r\n shadow: true,\r\n})\r\nexport class DiwaTag {\r\n /** Visual style variant. */\r\n @Prop({ reflect: true }) variant: TagVariant = 'neutral';\r\n\r\n /** Renders a compact (smaller) version of the tag. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Lucide icon name to display before the label, or omit for no icon. */\r\n @Prop() icon?: string;\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.variant, this.compact)} />\r\n <span class=\"tag\">\r\n {this.icon && (\r\n <span class=\"icon\">\r\n <diwa-icon name={this.icon} size={this.compact ? 12 : 14} />\r\n </span>\r\n )}\r\n <slot />\r\n </span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAEA,MAAMA,EAAiF,CACrFC,QAAS,CACPC,GAAI,yBACJC,MAAO,2BACPC,OAAQ,sBAEVC,QAAS,CACPH,GAAI,wBACJC,MAAO,qBACPC,OAAQ,sBAEVE,KAAM,CACJJ,GAAI,qCACJC,MAAO,gCACPC,OAAQ,8BAEVG,QAAS,CACPL,GAAI,wCACJC,MAAO,mCACPC,OAAQ,eAEVI,QAAS,CACPN,GAAI,wCACJC,MAAO,mCACPC,OAAQ,eAEVK,MAAO,CACLP,GAAI,sCACJC,MAAO,iCACPC,OAAQ,gBAIL,MAAMM,EAAkB,CAACC,EAAqBC,KACnD,MAAMV,GAAEA,EAAEC,MAAEA,EAAKC,OAAEA,GAAWJ,EAAYW,GAC1C,MAAME,EAAWD,EAAU,MAAQ,MACnC,MAAME,EAAWF,EAAU,MAAQ,OACnC,MAAMG,EAAWH,EAAU,2BAA6B,2BAExD,MAAO,+NAWQC,KAAYC,0EAEVC,2HAGJZ,yBACKD,yDACgCE,+MAUjD,E,MCzDUY,EAAO,MAJpB,WAAAC,CAAAC,G,UAM2BC,KAAAR,QAAsB,UAGtBQ,KAAAP,QAAmB,MAMnBO,KAAAC,MAAe,M,CAExC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaL,KAAKC,OACrBE,EAAA,SAAAE,IAAA,2CAAOC,UAAWf,EAAgBS,KAAKR,QAASQ,KAAKP,WACrDU,EAAA,QAAAE,IAAA,2CAAME,MAAM,OACTP,KAAKQ,MACJL,EAAA,QAAAE,IAAA,2CAAME,MAAM,QACVJ,EAAA,aAAAE,IAAA,2CAAWI,KAAMT,KAAKQ,KAAME,KAAMV,KAAKP,QAAU,GAAK,MAG1DU,EAAA,QAAAE,IAAA,8C","ignoreList":[]}