@diwacopilot/components 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +11 -9
  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
@@ -153,7 +153,7 @@ export class DiwaModal {
153
153
  // ──────────────────────────────────────────────────────────────
154
154
  render() {
155
155
  const { open, heading, dismissButton, backdrop, _hasFooter, _hasHeader } = this;
156
- return (h(Host, { key: 'c1acc99174aa04a60711f8e96c6097d55b9efd14', "data-theme": this.theme }, h("style", { key: '21667f36c24c814ea163defa911f038684563d9c' }, getComponentCss(open, backdrop, dismissButton, _hasFooter)), h("div", { key: 'a393f68968ef8eca8007af0204831627114f0150', class: "backdrop", "aria-hidden": "true", onClick: this.handleBackdropClick }), h("div", { key: '34e2f0b1ceffc8f1e8255198714ee1273cafb945', class: "modal", role: "dialog", "aria-modal": "true", "aria-labelledby": heading ? this._headingId : undefined, "aria-label": !heading ? 'Dialog' : undefined, "aria-hidden": open ? undefined : 'true', tabIndex: -1, ref: (el) => { this._modalEl = el; } }, h("div", { key: 'b7f3afe1849b84edd7689bf854bfb88724b80126', class: "header" }, h("div", { key: 'c149b170f6b9fc010c7095b72393a6c52786cc56', class: "header-top" }, heading && (h("h2", { key: '8766cbba30a6baec983d76c2ea2103a0ce72d8cd', class: "heading", id: this._headingId }, heading)), dismissButton && (h("button", { key: '33427160a356fa8d5d6fb80ac386f4aaa2086bb9', class: "dismiss", type: "button", "aria-label": "Close dialog", onClick: this.handleDismiss }, h("svg", { key: 'c0a8aa78dadf6146151f24193eb06bae00ba9291', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", width: "16", height: "16", "aria-hidden": "true" }, h("path", { key: '21b404d32024b640a2687a9589c4783357a22aa6', d: "M18 6 6 18M6 6l12 12" }))))), _hasHeader && (h("div", { key: 'cd981d16141149103a2309b20d49fc6a01b5570b', class: "header-sub" }, h("slot", { key: '108ead5c96a73eeb0afae549d8ee3bcf6b06d305', name: "header" })))), h("div", { key: '56aa2c8ce6090086af76f4f039637e4d3274c9ca', class: "body" }, h("slot", { key: '784eb1571c6d68bdc6f01e413f3d549bc70ad2ea' })), _hasFooter && (h("div", { key: '1aa5c7bbdb0cfc86a3319bd9faa778da78a18a98', class: "footer" }, h("slot", { key: 'ada3b858cf5e2f6c46c175518773398e519d5aff', name: "footer" }))))));
156
+ return (h(Host, { key: 'a7c4c46ac2022eff1f585955d327e8b5614b268a', "data-theme": this.theme }, h("style", { key: 'd4fd6c7649e8a6cacef20de25e1545dde2a7c89e' }, getComponentCss(open, backdrop, dismissButton, _hasFooter)), h("div", { key: '2aa898b9fc1136a36f8e2f9b15180d7f0573002c', class: "backdrop", "aria-hidden": "true", onClick: this.handleBackdropClick }), h("div", { key: '0c61a254601a455b6082e15d797d15f09b7d0393', class: "modal", role: "dialog", "aria-modal": "true", "aria-labelledby": heading ? this._headingId : undefined, "aria-label": !heading ? 'Dialog' : undefined, "aria-hidden": open ? undefined : 'true', tabIndex: -1, ref: (el) => { this._modalEl = el; } }, h("div", { key: '7dd4938654021ff4e7002e0944bb3c630fa475a0', class: "header" }, h("div", { key: 'd2b1302f27595ba0cac1284486bc9a4ae2d4f6e2', class: "header-top" }, heading && (h("h2", { key: '35ee9c3a96497b3ab7787bdcb22758b5225db485', class: "heading", id: this._headingId }, heading)), dismissButton && (h("button", { key: '83452c628da2141bada1153e6cea6224027a2862', class: "dismiss", type: "button", "aria-label": "Close dialog", onClick: this.handleDismiss }, h("svg", { key: '87ce4e4636ab5a191b4f6928b78ad75ef31ffa3b', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", width: "16", height: "16", "aria-hidden": "true" }, h("path", { key: '940d065be71549f24cfc2f94b9407b80f8819f08', d: "M18 6 6 18M6 6l12 12" }))))), _hasHeader && (h("div", { key: '65484bca3079d7707c52da339291dddbf1d3f427', class: "header-sub" }, h("slot", { key: '4653c0604f79201777fdb247562da2b712ef67d7', name: "header" })))), h("div", { key: '1516ef5894e7bd58708c63dffca0bd0cd83b250f', class: "body" }, h("slot", { key: '0f5692e741ddc5ba6c68e556efbcec420339890e' })), _hasFooter && (h("div", { key: '96eba8b23a345cecb3a18356cae02dd257daa185', class: "footer" }, h("slot", { key: 'ac9d27e700733b3124392cc7ee9331d2b864f5b4', name: "footer" }))))));
157
157
  }
158
158
  static get is() { return "diwa-modal"; }
159
159
  static get encapsulation() { return "shadow"; }
@@ -343,10 +343,10 @@ export class DiwaMultiSelect {
343
343
  const hintId = `${this.internalId}-hint`;
344
344
  const hasMessage = !!this.message && this.state !== 'none';
345
345
  const hasValue = this.value.length > 0;
346
- return (h(Host, { key: 'b64a8c41ae771f58d8ca8778ddb3f943f1e2cac4', "data-theme": this.theme }, h("style", { key: 'd8cc4112b8378f11e5a91874adc6ae3f1e422fa4', innerHTML: getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up')) }), (this.label || this.host.querySelector('[slot="label"]')) && (h("span", { key: '53f49aa986fd9f05e73314cc650995afa8b97bb2', class: "label", id: labelId, part: "label" }, h("slot", { key: '7c2f4c19f4d25ca64bfa28f4a4a3f5234594c763', name: "label" }, this.label), this.required && h("span", { key: 'bbd11f3b58d7821ca7ab7ebc8eb0a05e3618a5e9', class: "label__required", "aria-hidden": "true" }, "*"))), (this.description || this.host.querySelector('[slot="description"]')) && (h("span", { key: '92a55e0597c3802a2f986d0b9ba10d41ed33356a', class: "description", part: "description" }, h("slot", { key: '0365a7975834cb125e1b65ce482874d99f69af2a', name: "description" }, this.description))), h("div", { key: '293c6bd35a70f57a7e2b0efa930fa61578ab3752', class: "trigger", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId, "aria-labelledby": this.label ? labelId : undefined, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.state === 'error' ? 'true' : undefined, "aria-describedby": hasMessage ? hintId : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown, ref: (el) => (this.triggerEl = el), part: "trigger" }, h("span", { key: '146365e26a7513974361dfa9dc26410e5e174fd8', class: `trigger__value${!hasValue ? ' trigger__placeholder' : ''}`, part: "value" }, this.hasCustomSelectedSlot ? (h("slot", { name: "selected" })) : hasValue ? (this.selectedLabels) : (this.label || 'Select options')), hasValue && (h("button", { key: 'b1a5018fb507d2d4d4d822af191bef24c6fa558e', class: "trigger__reset", type: "button", "aria-label": "Reset selection", onClick: this.onResetClick, onKeyDown: (e) => {
346
+ return (h(Host, { key: 'd1870eb6329fdced85adc9165c58e7060370c5ac', "data-theme": this.theme }, h("style", { key: 'f7c5db3277aab64cdfb0457133ed1d6da7a345c7', innerHTML: getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up')) }), (this.label || this.host.querySelector('[slot="label"]')) && (h("span", { key: '07d54b9aff11c23e21f656b0d2d045bdd0998e60', class: "label", id: labelId, part: "label" }, h("slot", { key: '8bf102a8b193fd0273726309615ea722fcce0b14', name: "label" }, this.label), this.required && h("span", { key: '07ac8efaae3785897ca2537961acb4bded9e8d40', class: "label__required", "aria-hidden": "true" }, "*"))), (this.description || this.host.querySelector('[slot="description"]')) && (h("span", { key: '9f105c5c644b0d9c5c8f560e2bc7f28b76adc944', class: "description", part: "description" }, h("slot", { key: 'f90b49ec602ed3b50ecbdadd51860d08a71878cb', name: "description" }, this.description))), h("div", { key: '32b0d40cfd3ff3704a2133ddb49b19f2e65fea0c', class: "trigger", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId, "aria-labelledby": this.label ? labelId : undefined, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.state === 'error' ? 'true' : undefined, "aria-describedby": hasMessage ? hintId : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown, ref: (el) => (this.triggerEl = el), part: "trigger" }, h("span", { key: '746b9ef493c0d06da003282805cb5dfee6526761', class: `trigger__value${!hasValue ? ' trigger__placeholder' : ''}`, part: "value" }, this.hasCustomSelectedSlot ? (h("slot", { name: "selected" })) : hasValue ? (this.selectedLabels) : (this.label || 'Select options')), hasValue && (h("button", { key: '482962199782f1b35ee38cded409ca99592a314d', class: "trigger__reset", type: "button", "aria-label": "Reset selection", onClick: this.onResetClick, onKeyDown: (e) => {
347
347
  if (e.key === 'Tab')
348
348
  this.isOpen = false;
349
- }, part: "reset" }, "\u2715")), h("span", { key: '4dbbf50468fc96323e3bd9c92b25e3f34e2ad344', class: "trigger__chevron", "aria-hidden": "true", part: "chevron" }, h("svg", { key: '0b4f50afe6b0cd6d1ffccb3a8acf5709a8734477', viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '1c582d3bcf18af529b1d8b2a581f9ef7ad13858e', d: "M4 6L8 10L12 6", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'f98fd7dd9d6325a2eafb21880d10d12f4517dc4e', class: this.dropdownClass, role: "dialog", "aria-label": this.label, "aria-hidden": this.isOpen ? undefined : 'true', part: "dropdown" }, this.hasCustomFilterSlot ? (h("div", { class: "filter" }, h("slot", { name: "filter" }))) : (h("div", { class: "filter" }, h("input", { class: "filter__input", type: "text", placeholder: "Filter options\u2026", "aria-label": "Filter options", autocomplete: "off", value: this.filterText, onInput: this.onFilterInput, onKeyDown: this.onTriggerKeyDown, ref: (el) => (this.filterInputEl = el), part: "filter-input" }))), h("div", { key: 'edd1c19900c332574d972424a62d117d10cbcda6', class: "options", id: listboxId, role: "listbox", "aria-label": this.label, "aria-multiselectable": "true", part: "options" }, !this.hasFilterResults && (h("div", { key: 'e03ac0ea8790a73bcc15f71fee27c773a1e323f9', class: "no-results", role: "alert", "aria-live": "polite" }, "No results found")), h("slot", { key: '71bd34a1ca8e20245f7bf87bf4cd7be8c5814556', name: "options-status" }), h("slot", { key: 'a7c8ebb35860740c3c19b5f8910b18bf923bc7ff', onSlotchange: () => this.onSlotChange() }))), hasMessage && (h("span", { key: '671515ab8d44ac2fef5cd5f5a398c945de4b2b6e', id: hintId, class: "message", part: "message", "aria-live": this.state === 'error' ? 'polite' : undefined }, h("slot", { key: 'f93922457797ae8cfeb378b3338b537907267c93', name: "message" }, this.message)))));
349
+ }, part: "reset" }, "\u2715")), h("span", { key: 'd045c0e7d87ae202687241504a0544047e68f986', class: "trigger__chevron", "aria-hidden": "true", part: "chevron" }, h("svg", { key: '987e79ae7ef8f316dd50513e3cc6b910596fdc33', viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '8c38ce669650bdb480c242a9c7ea0aa2a1926207', d: "M4 6L8 10L12 6", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'bdeeca7bb9bb54446af37bbf83a64bdacac380cb', class: this.dropdownClass, role: "dialog", "aria-label": this.label, "aria-hidden": this.isOpen ? undefined : 'true', part: "dropdown" }, this.hasCustomFilterSlot ? (h("div", { class: "filter" }, h("slot", { name: "filter" }))) : (h("div", { class: "filter" }, h("input", { class: "filter__input", type: "text", placeholder: "Filter options\u2026", "aria-label": "Filter options", autocomplete: "off", value: this.filterText, onInput: this.onFilterInput, onKeyDown: this.onTriggerKeyDown, ref: (el) => (this.filterInputEl = el), part: "filter-input" }))), h("div", { key: '4073abc69ecf2e4204aae127fc07662d4f6d663a', class: "options", id: listboxId, role: "listbox", "aria-label": this.label, "aria-multiselectable": "true", part: "options" }, !this.hasFilterResults && (h("div", { key: 'b4415ca3b2e043bab5a01835bb6097c15ecada81', class: "no-results", role: "alert", "aria-live": "polite" }, "No results found")), h("slot", { key: '9362401ed428d356b65d4506d38ea23470b8ab0c', name: "options-status" }), h("slot", { key: '3aa042ec8c156478053fa1dd36c7cecf09ff2151', onSlotchange: () => this.onSlotChange() }))), hasMessage && (h("span", { key: '07652c69895dbbd71f4cab8fa05122a74ddc2be5', id: hintId, class: "message", part: "message", "aria-live": this.state === 'error' ? 'polite' : undefined }, h("slot", { key: '9e0180e1cc8f2757371a3a10e1e12d236e4c07ed', name: "message" }, this.message)))));
350
350
  }
351
351
  static get is() { return "diwa-multi-select"; }
352
352
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class DiwaMultiSelectOption {
56
56
  (_a = this.optionEl) === null || _a === void 0 ? void 0 : _a.focus();
57
57
  }
58
58
  render() {
59
- return (h(Host, { key: 'b4d48c6bb6968502a8ae2a6c1981db145332ce83', "data-theme": this.theme }, h("style", { key: 'c69088cc9414ff1b6edc4fa064abc6fded70226b', innerHTML: getComponentCss(this.compact) }), h("div", { key: 'f5ecb4d1dda04a18735594105ee436544f210c95', class: "option", role: "option", "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: (el) => (this.optionEl = el), part: "option" }, h("span", { key: '3d2e4211d015355332a3ac44204d7a907659a465', class: "checkbox", "aria-hidden": "true", part: "checkbox" }), h("span", { key: '86ca6452ad32e685f944511f4c862c848d0bf493', class: "label", part: "label" }, h("slot", { key: '3caa3fafd6bdb4c3426d8ef989f8de34fc05a853' })))));
59
+ return (h(Host, { key: 'cd154bf05b1c5524ef8757d49a538f5b71dcf0f7', "data-theme": this.theme }, h("style", { key: 'e79192f92ab4f5a3965a5c41617208d5ba0586bb', innerHTML: getComponentCss(this.compact) }), h("div", { key: 'bdb6539019761a38a79c825d0c10eb035da493d1', class: "option", role: "option", "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: (el) => (this.optionEl = el), part: "option" }, h("span", { key: '778df214b22f9e64859f56fe25cb4ed71ad4896f', class: "checkbox", "aria-hidden": "true", part: "checkbox" }), h("span", { key: '153a68043083905a2c2b328e6e00504a312cf659', class: "label", part: "label" }, h("slot", { key: '803a21e44bdc6162c648f1fbd90267f9bc3d4c89' })))));
60
60
  }
61
61
  static get is() { return "diwa-multi-select-option"; }
62
62
  static get encapsulation() { return "shadow"; }
@@ -77,7 +77,7 @@ export class DiwaPagination {
77
77
  const prevLabel = (_c = intl.prev) !== null && _c !== void 0 ? _c : 'Previous page';
78
78
  const nextLabel = (_d = intl.next) !== null && _d !== void 0 ? _d : 'Next page';
79
79
  const pageLabel = (_e = intl.page) !== null && _e !== void 0 ? _e : 'Page';
80
- return (h(Host, { key: '5ab4f9042518982631f8b0276acc3de703344ab7', "data-theme": this.theme }, h("style", { key: '83777127af3cd7fba90bcf359c0727ecb478019d', innerHTML: getComponentCss() }), h("nav", { key: '9ba68ea091b61589dd7ef2b9bda3fab01f841efd', "aria-label": rootLabel, class: "nav" }, h("ul", { key: '819b9d7b344ec50b2a15241278438e18bb20cdfb', class: "list" }, items.map((item, index) => {
80
+ return (h(Host, { key: '4fa5cadb5296b7e23cc779e5ec159244fcde6c4a', "data-theme": this.theme }, h("style", { key: '64ecd996a2a54cad3762f31430dfc1c8ef6a8b8f', innerHTML: getComponentCss() }), h("nav", { key: 'a8ff37dbf716a7c270e5493539418da43ae94b5f', "aria-label": rootLabel, class: "nav" }, h("ul", { key: '3a980124988ec73d6a4c0becbe76351b66522544', class: "list" }, items.map((item, index) => {
81
81
  const { type, isActive, value } = item;
82
82
  if (type === ItemType.PREVIOUS) {
83
83
  return (h("li", { key: "prev" }, h("button", { class: "btn", disabled: !isActive, "aria-label": prevLabel, onClick: () => isActive && this.handleClick(value) }, h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("polyline", { points: "15 18 9 12 15 6" })))));
@@ -93,10 +93,10 @@ export class DiwaPinCode {
93
93
  const valueChars = this.value.padEnd(safeLength, '').slice(0, safeLength);
94
94
  const descId = 'desc';
95
95
  const msgId = 'msg';
96
- return (h(Host, { key: 'ce75d110bb3a2805f659bcb7134d5d634dcc70de', "data-theme": this.theme }, h("style", { key: 'e9c07d76495bdec903746bd91eda7837c9c295f1', innerHTML: getComponentCss(this.state, this.disabled, this.compact) }), h("div", { key: 'f592254bd71d2ee7f9146343c5da9313c7078478', class: "root" }, !this.hideLabel && this.label && (h("div", { key: 'cc40bfd72a5b9e338778de362fbe544748e0fc51', class: "label-row" }, h("span", { key: '18abb5940e763b390be780d465ac5c97daecc73e', class: "label" }, this.label, this.required && h("span", { key: '5d1fb8d02a8f774840338a52a3db1b8ca82b667b', class: "required", "aria-hidden": "true" }, " *")))), h("div", { key: 'b47022b7e3c7b04b13918c534b39ed67aea6855b', class: "boxes", role: "group", "aria-label": this.hideLabel && this.label ? this.label : undefined }, Array.from({ length: safeLength }).map((_, i) => {
96
+ return (h(Host, { key: 'fd84239857264ac7ff2d70388a1b57ed28c139e1', "data-theme": this.theme }, h("style", { key: '8ca52e841f42b85be9b805443f76636e67108b00', innerHTML: getComponentCss(this.state, this.disabled, this.compact) }), h("div", { key: 'b9295c2b897c58294b87e069e874682f6882c526', class: "root" }, !this.hideLabel && this.label && (h("div", { key: 'f53aa0736441db633eb7756c57091f5c86932781', class: "label-row" }, h("span", { key: '95e0e0bf33034fe78d914046450a5eaddfdefadc', class: "label" }, this.label, this.required && h("span", { key: '8197798944a90f35349b68537d90670949451034', class: "required", "aria-hidden": "true" }, " *")))), h("div", { key: '8e7638e8c78f0f1b4ae673828d8c14682d39a76a', class: "boxes", role: "group", "aria-label": this.hideLabel && this.label ? this.label : undefined }, Array.from({ length: safeLength }).map((_, i) => {
97
97
  var _a;
98
98
  return (h("input", { key: i, class: "box", type: this.type === 'password' ? 'password' : 'text', inputMode: this.type === 'number' ? 'numeric' : 'text', maxLength: 1, value: (_a = valueChars[i]) !== null && _a !== void 0 ? _a : '', disabled: this.disabled, required: this.required && i === 0, "aria-label": `Digit ${i + 1} of ${safeLength}`, "aria-describedby": i === 0 ? (this.message ? msgId : this.description ? descId : undefined) : undefined, onInput: (e) => this.handleInput(e, i), onKeyDown: (e) => this.handleKeyDown(e, i), onPaste: i === 0 ? this.handlePaste : undefined, onFocus: (e) => e.target.select(), autocomplete: i === 0 ? 'one-time-code' : 'off' }));
99
- })), !this.message && this.description && (h("p", { key: '81acb4b960a629cccf26db9cbab200acdbbd4079', id: descId, class: "description" }, this.description)), this.message && (h("p", { key: 'fb3b87870b07324e635a8442c1e68959f23e3b4b', id: msgId, class: "message" }, this.message)))));
99
+ })), !this.message && this.description && (h("p", { key: 'e596640dd57e61edcc854a19671d417c3fd1bf1d', id: descId, class: "description" }, this.description)), this.message && (h("p", { key: '33741de2a6c5fa2e7d1072d5bf8d846cc54b6ddf', id: msgId, class: "message" }, this.message)))));
100
100
  }
101
101
  static get is() { return "diwa-pin-code"; }
102
102
  static get encapsulation() { return "shadow"; }
@@ -29,7 +29,7 @@ export class DiwaPopover {
29
29
  }
30
30
  }
31
31
  render() {
32
- return (h(Host, { key: '29f28c2151f2472cd116e14239de1aeeb9d046c5', "data-theme": this.theme }, h("style", { key: '35ba788b9f4c625e864a8aa6ca0b4b4366b13d30', innerHTML: getComponentCss(this.isOpen, this.direction) }), h("slot", { key: 'd253876442f93e392b63bd1345dd39ea72c56926', name: "button" }, h("button", { key: '756b2d3b46770bea764bb3e29de4421c20f58523', class: "trigger", type: "button", "aria-expanded": String(this.isOpen), "aria-haspopup": "true", onClick: this.toggle }, h("svg", { key: '79808b6b95b48df821d2f73a75c25acc91c93e25', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("circle", { key: 'f1ae6d761a15e38ea29d0a3fb41edde1022fd1af', cx: "12", cy: "12", r: "10" }), h("line", { key: '2d115de15f3558053fe928470262235a0740990f', x1: "12", y1: "8", x2: "12", y2: "12" }), h("line", { key: '5e59843ffa9c7eb1e7f536b4dbcefa83686fa19e', x1: "12", y1: "16", x2: "12.01", y2: "16" })))), h("div", { key: '58abbaa997097e8ba2b6394cdb7e4f34a516f027', class: "panel", role: "tooltip", "aria-hidden": String(!this.isOpen) }, this.description && h("p", { key: '7a2dcca65d61ad04e8bffc3b6af4dc5759f88449' }, this.description), h("slot", { key: '8dcc3f2f287fa5a194decb4d6585cd64e58a00ca' }))));
32
+ return (h(Host, { key: '706d73f1ad8a20082daca4acfc0758ba50542169', "data-theme": this.theme }, h("style", { key: '331793aabac4e2555201b5242133f7d28e7fd484', innerHTML: getComponentCss(this.isOpen, this.direction) }), h("slot", { key: 'f79a4057076d939012b8e27c92e9883f3335a40f', name: "button" }, h("button", { key: 'c42272766f4a5c80b5120ce5f53a1f0d8634e2e1', class: "trigger", type: "button", "aria-expanded": String(this.isOpen), "aria-haspopup": "true", onClick: this.toggle }, h("svg", { key: 'a93a6cb15e2ea6c146129a3373e9a2e69b71dde2', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("circle", { key: '62d9118c2f344d2fbb5ca97989f336e9e1368d90', cx: "12", cy: "12", r: "10" }), h("line", { key: '2f31265ac9c896eb36f53ee73271340543b5cba4', x1: "12", y1: "8", x2: "12", y2: "12" }), h("line", { key: 'a9c6ff1a17ecd8694d0fef23dc3c5b79bab49b20', x1: "12", y1: "16", x2: "12.01", y2: "16" })))), h("div", { key: '0da742535b53bd3c40a6ee20e611c7740ce53e75', class: "panel", role: "tooltip", "aria-hidden": String(!this.isOpen) }, this.description && h("p", { key: '8fcbb3c865aa604e9d1c13aa814ed453903fc341' }, this.description), h("slot", { key: '51c6c0d6ca50f4a6444e8768d88203fa54cf4132' }))));
33
33
  }
34
34
  static get is() { return "diwa-popover"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -68,7 +68,7 @@ export class DiwaRadioGroup {
68
68
  const id = `diwa-rg-${this.host.id || Math.random().toString(36).slice(2, 7)}`;
69
69
  const descId = this.description ? `${id}-desc` : undefined;
70
70
  const msgId = this.message && this.state !== 'none' ? `${id}-msg` : undefined;
71
- return (h(Host, { key: '1d941ee37ba22144fb183834b0936c7b067a2178', "data-theme": this.theme }, h("style", { key: 'a7c6eab2f362a5f9f1db1a4b2afc7acb34316932', innerHTML: getComponentCss(this.state, this.direction, this.disabled, this.compact) }), h("div", { key: '35948be2f142b22241ebdce442610a92c4562638', class: "root", role: "radiogroup", "aria-labelledby": this.label ? `${id}-label` : undefined, "aria-describedby": [descId, msgId].filter(Boolean).join(' ') || undefined, "aria-required": this.required ? 'true' : undefined }, this.label && (h("span", { key: '8a8bc2e1aa6bae52d8d61b2a079e7e92680f9490', id: `${id}-label`, class: `label${this.hideLabel ? ' label-visually-hidden' : ''}` }, this.label, this.required && h("span", { key: '3274f34ca78ac7d9fee78d77d1de04852d49fa32', class: "label-required", "aria-hidden": "true" }, " *"))), this.description && (h("span", { key: 'c77537f4956c41d4ad526ea665550b17c7b9181c', id: descId, class: "description" }, this.description)), h("div", { key: 'e80a0285ea5ab1272c8df3c86fdf1495e5337107', class: "options" }, h("slot", { key: '73933e21541199a09c92e3ddf1d0cb250a941b1e' })), h("span", { key: '55f8cf4fd5145c9798dfe0a3f81099b38b611432', id: msgId, class: "message", hidden: !msgId }, this.message))));
71
+ return (h(Host, { key: '32637e2660123b9ab13929e9f6bf72ecd1c62ea3', "data-theme": this.theme }, h("style", { key: '56e3db8486007a85e2c6c2541247f5c95ce5d000', innerHTML: getComponentCss(this.state, this.direction, this.disabled, this.compact) }), h("div", { key: '2353868f8aa1d4c507e7b9a39abc80a42e43a746', class: "root", role: "radiogroup", "aria-labelledby": this.label ? `${id}-label` : undefined, "aria-describedby": [descId, msgId].filter(Boolean).join(' ') || undefined, "aria-required": this.required ? 'true' : undefined }, this.label && (h("span", { key: 'be82c40317e75d25bf7a301b0c558fbae3462197', id: `${id}-label`, class: `label${this.hideLabel ? ' label-visually-hidden' : ''}` }, this.label, this.required && h("span", { key: 'a971a5fa7153287a91b7f5285963b5d209e90a20', class: "label-required", "aria-hidden": "true" }, " *"))), this.description && (h("span", { key: 'cc429975145668e59143f3eb8418b9e0e18bf9a7', id: descId, class: "description" }, this.description)), h("div", { key: 'df706b4c3265b81adc189299a3745d024c584622', class: "options" }, h("slot", { key: 'ce4b20e7f9a24885887d0b6b660da8a3a6440e25' })), h("span", { key: '84182d0942ee8b3561b943e940053da9e8f756d5', id: msgId, class: "message", hidden: !msgId }, this.message))));
72
72
  }
73
73
  static get is() { return "diwa-radio-group"; }
74
74
  static get encapsulation() { return "shadow"; }
@@ -15,7 +15,7 @@ export const getComponentCss = (checked, disabled, compact) => {
15
15
 
16
16
  .wrapper {
17
17
  display: inline-flex;
18
- align-items: flex-start;
18
+ align-items: center;
19
19
  gap: var(--diwa-space-3);
20
20
  cursor: pointer;
21
21
  }
@@ -29,7 +29,6 @@ export const getComponentCss = (checked, disabled, compact) => {
29
29
  flex-shrink: 0;
30
30
  width: ${boxSize};
31
31
  height: ${boxSize};
32
- margin-top: calc((1.5em - ${boxSize}) / 2);
33
32
  }
34
33
 
35
34
  input[type="radio"] {
@@ -1 +1 @@
1
- {"version":3,"file":"diwa-radio-group-item-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-radio-group-item/diwa-radio-group-item-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,QAAiB,EACjB,OAAgB,EACR,EAAE;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAExC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;aAyBI,OAAO;cACN,OAAO;gCACW,OAAO;;;;;;;;;;;;;;oDAca,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB;kBACvF,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa;;;;;;;;;IAS5D,aAAa,CAAC,qBAAqB,CAAC;;;;;;;;;aAS3B,OAAO;cACN,OAAO;;;eAGN,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;;;;;;;;;;;;;IAgB9B,qBAAqB,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;GACxE,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n checked: boolean,\r\n disabled: boolean,\r\n compact: boolean,\r\n): string => {\r\n const boxSize = compact ? '14px' : '18px';\r\n const dotSize = compact ? '6px' : '8px';\r\n\r\n return `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .wrapper {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: var(--diwa-space-3);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .wrapper {\r\n cursor: not-allowed;\r\n }\r\n\r\n .input-container {\r\n position: relative;\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n margin-top: calc((1.5em - ${boxSize}) / 2);\r\n }\r\n\r\n input[type=\"radio\"] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n border-radius: 50%;\r\n border: var(--diwa-border-width-medium) solid ${checked ? 'var(--diwa-accent)' : 'var(--diwa-border)'};\r\n background: ${checked ? 'var(--diwa-accent)' : 'transparent'};\r\n transition: border-color var(--diwa-transition-base), background var(--diwa-transition-base);\r\n }\r\n\r\n input[type=\"radio\"]:disabled {\r\n cursor: not-allowed;\r\n opacity: 0.4;\r\n }\r\n\r\n ${getFocusStyle('input[type=\"radio\"]')}\r\n\r\n /* Dot indicator when checked */\r\n .input-container::after {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: ${dotSize};\r\n height: ${dotSize};\r\n border-radius: 50%;\r\n background: var(--diwa-text-on-accent, #fff);\r\n opacity: ${checked ? '1' : '0'};\r\n pointer-events: none;\r\n transition: opacity var(--diwa-transition-base);\r\n }\r\n\r\n .label-text {\r\n font-size: var(--diwa-font-size-base);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.5;\r\n user-select: none;\r\n }\r\n\r\n :host([disabled]) .label-text {\r\n color: var(--diwa-text-muted);\r\n }\r\n\r\n ${getReducedMotionStyle('input[type=\"radio\"]', '.input-container::after')}\r\n `;\r\n};\r\n"]}
1
+ {"version":3,"file":"diwa-radio-group-item-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-radio-group-item/diwa-radio-group-item-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,QAAiB,EACjB,OAAgB,EACR,EAAE;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAExC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;aAyBI,OAAO;cACN,OAAO;;;;;;;;;;;;;;oDAc+B,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB;kBACvF,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa;;;;;;;;;IAS5D,aAAa,CAAC,qBAAqB,CAAC;;;;;;;;;aAS3B,OAAO;cACN,OAAO;;;eAGN,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;;;;;;;;;;;;;IAgB9B,qBAAqB,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;GACxE,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n checked: boolean,\r\n disabled: boolean,\r\n compact: boolean,\r\n): string => {\r\n const boxSize = compact ? '14px' : '18px';\r\n const dotSize = compact ? '6px' : '8px';\r\n\r\n return `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .wrapper {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .wrapper {\r\n cursor: not-allowed;\r\n }\r\n\r\n .input-container {\r\n position: relative;\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n }\r\n\r\n input[type=\"radio\"] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n border-radius: 50%;\r\n border: var(--diwa-border-width-medium) solid ${checked ? 'var(--diwa-accent)' : 'var(--diwa-border)'};\r\n background: ${checked ? 'var(--diwa-accent)' : 'transparent'};\r\n transition: border-color var(--diwa-transition-base), background var(--diwa-transition-base);\r\n }\r\n\r\n input[type=\"radio\"]:disabled {\r\n cursor: not-allowed;\r\n opacity: 0.4;\r\n }\r\n\r\n ${getFocusStyle('input[type=\"radio\"]')}\r\n\r\n /* Dot indicator when checked */\r\n .input-container::after {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: ${dotSize};\r\n height: ${dotSize};\r\n border-radius: 50%;\r\n background: var(--diwa-text-on-accent, #fff);\r\n opacity: ${checked ? '1' : '0'};\r\n pointer-events: none;\r\n transition: opacity var(--diwa-transition-base);\r\n }\r\n\r\n .label-text {\r\n font-size: var(--diwa-font-size-base);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.5;\r\n user-select: none;\r\n }\r\n\r\n :host([disabled]) .label-text {\r\n color: var(--diwa-text-muted);\r\n }\r\n\r\n ${getReducedMotionStyle('input[type=\"radio\"]', '.input-container::after')}\r\n `;\r\n};\r\n"]}
@@ -39,7 +39,7 @@ export class DiwaRadioGroupItem {
39
39
  }
40
40
  render() {
41
41
  const labelId = `diwa-rgi-${this.value || Math.random().toString(36).slice(2, 7)}`;
42
- return (h(Host, { key: '601466853aeddd1ff2903f879e7231e408434bf3' }, h("style", { key: '81305a16ccf6c2c50384dc6f1fa5055f4a529a66', innerHTML: getComponentCss(this.checked, this.disabled, this.compact) }), h("label", { key: '19ac3315bb5f8505001633e1fe1f9463f2d5df63', class: "wrapper" }, h("span", { key: 'f24bb10f78a1096212bd8fb49c164e21f64d6d28', class: "input-container" }, h("input", { key: '95e29f346d1ef84f50ca00565394580ec57f8473', id: labelId, type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.handleChange, "aria-checked": this.checked ? 'true' : 'false' })), h("span", { key: '5d0e84e14ae2778bdf5bc3a1c80be6aa41cbe098', class: "label-text" }, h("slot", { key: '20243975c3f1c7f372e1e0c081fd92f2067c0b47' })))));
42
+ return (h(Host, { key: 'd8bc41d5cf9885195ca2e1579aa74abcf93c9fb2' }, h("style", { key: 'b303d2b29a49f4445eaed221470ccb6bd1020150', innerHTML: getComponentCss(this.checked, this.disabled, this.compact) }), h("label", { key: 'd2a931fd4754cb93c02dcc833a5f08fa1ce5f1ea', class: "wrapper" }, h("span", { key: '237f63b74e3aa3be54cdfc1f8027b819b93c8276', class: "input-container" }, h("input", { key: '37e09b73b7d904847fa8e4194a97309e9e07a4de', id: labelId, type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.handleChange, "aria-checked": this.checked ? 'true' : 'false' })), h("span", { key: '85a9799f4ac065d7d8167b44a0dc3d667511730d', class: "label-text" }, h("slot", { key: '8fda0f7afd5dbffee2047668f1245439c4650b3e' })))));
43
43
  }
44
44
  static get is() { return "diwa-radio-group-item"; }
45
45
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@ const ALIGN_MAP = {
4
4
  center: 'center',
5
5
  bottom: 'flex-end',
6
6
  };
7
- export const getComponentCss = (scrollbar, alignScrollIndicator, hasOverflow) => {
7
+ export const getComponentCss = (scrollbar, alignScrollIndicator, hasOverflow, canScrollLeft, canScrollRight) => {
8
8
  const alignItems = ALIGN_MAP[alignScrollIndicator];
9
9
  return `
10
10
  :host {
@@ -47,9 +47,14 @@ export const getComponentCss = (scrollbar, alignScrollIndicator, hasOverflow) =>
47
47
  display: none;
48
48
  }
49
49
  ${getFocusStyle('.scroll-button')}
50
+ ${getFocusStyle('.scroll-area')}
51
+ .scroll-wrapper {
52
+ position: relative;
53
+ min-width: 0;
54
+ overflow: hidden;
55
+ }
50
56
  .scroll-area {
51
57
  display: flex;
52
- position: relative;
53
58
  align-items: ${alignItems};
54
59
  overflow-x: auto;
55
60
  overflow-y: hidden;
@@ -65,25 +70,25 @@ export const getComponentCss = (scrollbar, alignScrollIndicator, hasOverflow) =>
65
70
  display: none;
66
71
  }
67
72
  ` : ''}
68
- /* Fade-out gradient masks at the edges */
69
- .scroll-area::before,
70
- .scroll-area::after {
71
- content: '';
73
+ /* Fade-out gradient masks — fixed at the visible edges via scroll-wrapper */
74
+ .fade {
72
75
  position: absolute;
73
76
  top: 0;
74
77
  bottom: 0;
75
78
  width: var(--diwa-scroller-fade-width);
76
79
  pointer-events: none;
77
80
  z-index: 1;
78
- opacity: ${hasOverflow ? '1' : '0'};
81
+ transition: opacity var(--diwa-transition-fast);
79
82
  }
80
- .scroll-area::before {
83
+ .fade--start {
81
84
  left: 0;
82
85
  background: var(--diwa-gradient-scrim-right);
86
+ opacity: ${canScrollLeft ? '1' : '0'};
83
87
  }
84
- .scroll-area::after {
88
+ .fade--end {
85
89
  right: 0;
86
90
  background: var(--diwa-gradient-scrim-left);
91
+ opacity: ${canScrollRight ? '1' : '0'};
87
92
  }
88
93
  `;
89
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"diwa-scroller-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-scroller/diwa-scroller-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,SAAS,GAAoD;IACjE,GAAG,EAAE,YAAY;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,SAAkB,EAClB,oBAAqD,EACrD,WAAoB,EACZ,EAAE;IACV,MAAM,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAEnD,OAAO;;;;;;;;;;+BAUsB,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,gBAAgB;qBACrE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BzB,aAAa,CAAC,gBAAgB,CAAC;;;;qBAIhB,UAAU;;;;;QAKvB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;;;;;MAK3C,CAAC,SAAS,CAAC,CAAC,CAAC;;;;KAId,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;iBAWO,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;;;;;;;GAUrC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { getFocusStyle } from '../../utils/styles';\r\nimport type { ScrollerScrollIndicatorPosition } from './types';\r\n\r\nconst ALIGN_MAP: Record<ScrollerScrollIndicatorPosition, string> = {\r\n top: 'flex-start',\r\n center: 'center',\r\n bottom: 'flex-end',\r\n};\r\n\r\nexport const getComponentCss = (\r\n scrollbar: boolean,\r\n alignScrollIndicator: ScrollerScrollIndicatorPosition,\r\n hasOverflow: boolean,\r\n): string => {\r\n const alignItems = ALIGN_MAP[alignScrollIndicator];\r\n\r\n return `\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .scroller {\r\n display: grid;\r\n grid-template-columns: ${hasOverflow ? 'auto minmax(0, 1fr) auto' : 'minmax(0, 1fr)'};\r\n align-items: ${alignItems};\r\n gap: var(--diwa-space-2);\r\n }\r\n .scroll-button {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-space-8);\r\n height: var(--diwa-space-8);\r\n padding: 0;\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n border-radius: var(--diwa-radius-full);\r\n background: var(--diwa-bg-surface);\r\n color: var(--diwa-text-secondary);\r\n cursor: pointer;\r\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\r\n flex-shrink: 0;\r\n }\r\n .scroll-button:hover:not(:disabled) {\r\n color: var(--diwa-text-primary);\r\n background: var(--diwa-bg-hover);\r\n }\r\n .scroll-button:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n .scroll-button[hidden] {\r\n display: none;\r\n }\r\n ${getFocusStyle('.scroll-button')}\r\n .scroll-area {\r\n display: flex;\r\n position: relative;\r\n align-items: ${alignItems};\r\n overflow-x: auto;\r\n overflow-y: hidden;\r\n scroll-behavior: smooth;\r\n -webkit-overflow-scrolling: touch;\r\n ${scrollbar ? '' : 'scrollbar-width: none;'}\r\n }\r\n ::slotted(*) {\r\n flex: 0 0 auto;\r\n }\r\n ${!scrollbar ? `\r\n .scroll-area::-webkit-scrollbar {\r\n display: none;\r\n }\r\n ` : ''}\r\n /* Fade-out gradient masks at the edges */\r\n .scroll-area::before,\r\n .scroll-area::after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n width: var(--diwa-scroller-fade-width);\r\n pointer-events: none;\r\n z-index: 1;\r\n opacity: ${hasOverflow ? '1' : '0'};\r\n }\r\n .scroll-area::before {\r\n left: 0;\r\n background: var(--diwa-gradient-scrim-right);\r\n }\r\n .scroll-area::after {\r\n right: 0;\r\n background: var(--diwa-gradient-scrim-left);\r\n }\r\n `;\r\n};\r\n"]}
1
+ {"version":3,"file":"diwa-scroller-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-scroller/diwa-scroller-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,SAAS,GAAoD;IACjE,GAAG,EAAE,YAAY;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,SAAkB,EAClB,oBAAqD,EACrD,WAAoB,EACpB,aAAsB,EACtB,cAAuB,EACf,EAAE;IACV,MAAM,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAEnD,OAAO;;;;;;;;;;+BAUsB,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,gBAAgB;qBACrE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BzB,aAAa,CAAC,gBAAgB,CAAC;MAC/B,aAAa,CAAC,cAAc,CAAC;;;;;;;;qBAQd,UAAU;;;;;QAKvB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;;;;;MAK3C,CAAC,SAAS,CAAC,CAAC,CAAC;;;;KAId,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;iBAcO,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;;iBAKzB,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;GAExC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { getFocusStyle } from '../../utils/styles';\r\nimport type { ScrollerScrollIndicatorPosition } from './types';\r\n\r\nconst ALIGN_MAP: Record<ScrollerScrollIndicatorPosition, string> = {\r\n top: 'flex-start',\r\n center: 'center',\r\n bottom: 'flex-end',\r\n};\r\n\r\nexport const getComponentCss = (\r\n scrollbar: boolean,\r\n alignScrollIndicator: ScrollerScrollIndicatorPosition,\r\n hasOverflow: boolean,\r\n canScrollLeft: boolean,\r\n canScrollRight: boolean,\r\n): string => {\r\n const alignItems = ALIGN_MAP[alignScrollIndicator];\r\n\r\n return `\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .scroller {\r\n display: grid;\r\n grid-template-columns: ${hasOverflow ? 'auto minmax(0, 1fr) auto' : 'minmax(0, 1fr)'};\r\n align-items: ${alignItems};\r\n gap: var(--diwa-space-2);\r\n }\r\n .scroll-button {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-space-8);\r\n height: var(--diwa-space-8);\r\n padding: 0;\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n border-radius: var(--diwa-radius-full);\r\n background: var(--diwa-bg-surface);\r\n color: var(--diwa-text-secondary);\r\n cursor: pointer;\r\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\r\n flex-shrink: 0;\r\n }\r\n .scroll-button:hover:not(:disabled) {\r\n color: var(--diwa-text-primary);\r\n background: var(--diwa-bg-hover);\r\n }\r\n .scroll-button:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n .scroll-button[hidden] {\r\n display: none;\r\n }\r\n ${getFocusStyle('.scroll-button')}\r\n ${getFocusStyle('.scroll-area')}\r\n .scroll-wrapper {\r\n position: relative;\r\n min-width: 0;\r\n overflow: hidden;\r\n }\r\n .scroll-area {\r\n display: flex;\r\n align-items: ${alignItems};\r\n overflow-x: auto;\r\n overflow-y: hidden;\r\n scroll-behavior: smooth;\r\n -webkit-overflow-scrolling: touch;\r\n ${scrollbar ? '' : 'scrollbar-width: none;'}\r\n }\r\n ::slotted(*) {\r\n flex: 0 0 auto;\r\n }\r\n ${!scrollbar ? `\r\n .scroll-area::-webkit-scrollbar {\r\n display: none;\r\n }\r\n ` : ''}\r\n /* Fade-out gradient masks — fixed at the visible edges via scroll-wrapper */\r\n .fade {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n width: var(--diwa-scroller-fade-width);\r\n pointer-events: none;\r\n z-index: 1;\r\n transition: opacity var(--diwa-transition-fast);\r\n }\r\n .fade--start {\r\n left: 0;\r\n background: var(--diwa-gradient-scrim-right);\r\n opacity: ${canScrollLeft ? '1' : '0'};\r\n }\r\n .fade--end {\r\n right: 0;\r\n background: var(--diwa-gradient-scrim-left);\r\n opacity: ${canScrollRight ? '1' : '0'};\r\n }\r\n `;\r\n};\r\n"]}
@@ -34,11 +34,16 @@ export class DiwaScroller {
34
34
  });
35
35
  };
36
36
  }
37
- handleWindowResize() {
38
- this.updateScrollState();
39
- }
40
37
  componentDidLoad() {
41
38
  this.updateScrollState();
39
+ if (this.scrollAreaEl) {
40
+ this.resizeObserver = new ResizeObserver(() => this.updateScrollState());
41
+ this.resizeObserver.observe(this.scrollAreaEl);
42
+ }
43
+ }
44
+ disconnectedCallback() {
45
+ var _a;
46
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
42
47
  }
43
48
  updateScrollState() {
44
49
  const el = this.scrollAreaEl;
@@ -52,7 +57,7 @@ export class DiwaScroller {
52
57
  this.canScrollRight = currentScrollLeft < maxScrollLeft - epsilon;
53
58
  }
54
59
  render() {
55
- return (h(Host, { key: '643614f02efd65645b30e84ca2e2df2d54dba30c', "data-theme": this.theme }, h("style", { key: '4cef13fba65f9343955f1a183fd09a2ddd7d322b', innerHTML: getComponentCss(this.scrollbar, this.alignScrollIndicator, this.hasOverflow) }), h("div", { key: '441066c0c3f32216a5c6a0c43e0edb205e559356', class: "scroller" }, h("button", { key: '9839234ed27ab6d8f0afe9679dfe190a56055bff', type: "button", class: "scroll-button scroll-button--start", "aria-label": "Scroll left", disabled: !this.canScrollLeft, hidden: !this.hasOverflow, onClick: () => this.scrollByPage('start') }, h("svg", { key: '896a859726a6e3c576e76e565eceb67a1f48ad0a', viewBox: "0 0 16 16", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { key: 'f986a71e860fe2c2a36c1dea537e4e506e0c6441', d: "M10 3.5 5 8l5 4.5" }))), h("div", { key: 'f719058341223bc9fea62b6769a86e0f2a238a06', class: "scroll-area", onScroll: this.handleScroll, ref: this.setScrollAreaRef }, h("slot", { key: 'c4139a8885d3fa7fba2ecb4c911a87d31a692b85', onSlotchange: this.handleSlotChange })), h("button", { key: '5ea25f1b0b0f45b73c1c775a06546b33815510d8', type: "button", class: "scroll-button scroll-button--end", "aria-label": "Scroll right", disabled: !this.canScrollRight, hidden: !this.hasOverflow, onClick: () => this.scrollByPage('end') }, h("svg", { key: '37b414293ec9cc708bdece7d9884202a2ba842f6', viewBox: "0 0 16 16", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { key: 'bac8253b0e9e7c7ea88da607a7f47b505082916a', d: "M6 3.5 11 8l-5 4.5" }))))));
60
+ return (h(Host, { key: '45f4f99a3620911a3c082174ca774e45ea873e4d', "data-theme": this.theme }, h("style", { key: 'c8ef4daca35a71b53e14fc7bfebbff0675924fca', innerHTML: getComponentCss(this.scrollbar, this.alignScrollIndicator, this.hasOverflow, this.canScrollLeft, this.canScrollRight) }), h("div", { key: '5238cd797598390d8f9dc4dee119a40415dbfc4a', class: "scroller" }, h("button", { key: '6518c1d1a3afaebf619b6c8eae48c4e382c6a9d9', type: "button", class: "scroll-button scroll-button--start", "aria-label": "Scroll left", disabled: !this.canScrollLeft, hidden: !this.hasOverflow, onClick: () => this.scrollByPage('start') }, h("svg", { key: '7f9fb5f92a32bd36262d92a8d91f91dd9f2c0944', viewBox: "0 0 16 16", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { key: '0a7a19e7be0d4522042f19a316dc95eb1a6eaab3', d: "M10 3.5 5 8l5 4.5" }))), h("div", { key: '7388a4c9a666c5d0427af95a1ff7f1f614042f44', class: "scroll-wrapper" }, h("div", { key: '74dde4823c6bb81ae2709c3c605c9670f29ca5b2', class: "scroll-area", tabIndex: this.hasOverflow ? 0 : undefined, role: this.hasOverflow ? 'region' : undefined, "aria-label": this.hasOverflow ? 'Scrollable content' : undefined, onScroll: this.handleScroll, ref: this.setScrollAreaRef }, h("slot", { key: '88077bcfbeeefdb356b3b9dd4fa4f8fe49cb33ec', onSlotchange: this.handleSlotChange })), h("div", { key: '6058d245a910c7edc139789b10627c55366b0767', class: "fade fade--start", "aria-hidden": "true" }), h("div", { key: '2353970bea7c49c8d689ee7115cbbf0c580ef065', class: "fade fade--end", "aria-hidden": "true" })), h("button", { key: '0f51472148bf56d3a1f24406fe8a8b9b560be666', type: "button", class: "scroll-button scroll-button--end", "aria-label": "Scroll right", disabled: !this.canScrollRight, hidden: !this.hasOverflow, onClick: () => this.scrollByPage('end') }, h("svg", { key: 'c74842bea946222b5939bc85336315e276daf4d0', viewBox: "0 0 16 16", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { key: 'cdf90c5eb1036fb911153f3f2fc6adda2ced7afc', d: "M6 3.5 11 8l-5 4.5" }))))));
56
61
  }
57
62
  static get is() { return "diwa-scroller"; }
58
63
  static get encapsulation() { return "shadow"; }
@@ -139,14 +144,5 @@ export class DiwaScroller {
139
144
  "canScrollRight": {}
140
145
  };
141
146
  }
142
- static get listeners() {
143
- return [{
144
- "name": "resize",
145
- "method": "handleWindowResize",
146
- "target": "window",
147
- "capture": false,
148
- "passive": true
149
- }];
150
- }
151
147
  }
152
148
  //# sourceMappingURL=diwa-scroller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diwa-scroller.js","sourceRoot":"","sources":["../../../src/components/diwa-scroller/diwa-scroller.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Listen, Prop, State, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { ScrollerScrollIndicatorPosition } from './types';\r\nimport { getComponentCss } from './diwa-scroller-styles';\r\n\r\n/**\r\n * @slot default — Items to be scrolled horizontally.\r\n */\r\n@Component({\r\n tag: 'diwa-scroller',\r\n shadow: true,\r\n})\r\nexport class DiwaScroller {\r\n /** Position of gradient fade indicators relative to the scroll area. */\r\n @Prop() alignScrollIndicator: ScrollerScrollIndicatorPosition = 'center';\r\n\r\n /** Whether to show the native horizontal scrollbar. */\r\n @Prop() scrollbar: boolean = false;\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n @State() private hasOverflow: boolean = false;\r\n @State() private canScrollLeft: boolean = false;\r\n @State() private canScrollRight: boolean = false;\r\n\r\n private scrollAreaEl?: HTMLDivElement;\r\n\r\n @Listen('resize', { target: 'window' })\r\n handleWindowResize(): void {\r\n this.updateScrollState();\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.updateScrollState();\r\n }\r\n\r\n private setScrollAreaRef = (el?: HTMLDivElement): void => {\r\n this.scrollAreaEl = el;\r\n };\r\n\r\n private handleScroll = (): void => {\r\n this.updateScrollState();\r\n };\r\n\r\n private handleSlotChange = (): void => {\r\n requestAnimationFrame(() => this.updateScrollState());\r\n };\r\n\r\n private updateScrollState(): void {\r\n const el = this.scrollAreaEl;\r\n if (!el) return;\r\n\r\n const maxScrollLeft = Math.max(0, el.scrollWidth - el.clientWidth);\r\n const currentScrollLeft = el.scrollLeft;\r\n const epsilon = 1;\r\n\r\n this.hasOverflow = maxScrollLeft > epsilon;\r\n this.canScrollLeft = currentScrollLeft > epsilon;\r\n this.canScrollRight = currentScrollLeft < maxScrollLeft - epsilon;\r\n }\r\n\r\n private scrollByPage = (direction: 'start' | 'end'): void => {\r\n const el = this.scrollAreaEl;\r\n if (!el) return;\r\n\r\n const distance = Math.max(el.clientWidth * 0.8, 1);\r\n el.scrollBy({\r\n left: direction === 'start' ? -distance : distance,\r\n behavior: 'smooth',\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.scrollbar, this.alignScrollIndicator, this.hasOverflow)} />\r\n <div class=\"scroller\">\r\n <button\r\n type=\"button\"\r\n class=\"scroll-button scroll-button--start\"\r\n aria-label=\"Scroll left\"\r\n disabled={!this.canScrollLeft}\r\n hidden={!this.hasOverflow}\r\n onClick={() => this.scrollByPage('start')}\r\n >\r\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n <path d=\"M10 3.5 5 8l5 4.5\" />\r\n </svg>\r\n </button>\r\n\r\n <div class=\"scroll-area\" onScroll={this.handleScroll} ref={this.setScrollAreaRef}>\r\n <slot onSlotchange={this.handleSlotChange} />\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"scroll-button scroll-button--end\"\r\n aria-label=\"Scroll right\"\r\n disabled={!this.canScrollRight}\r\n hidden={!this.hasOverflow}\r\n onClick={() => this.scrollByPage('end')}\r\n >\r\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n <path d=\"M6 3.5 11 8l-5 4.5\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"diwa-scroller.js","sourceRoot":"","sources":["../../../src/components/diwa-scroller/diwa-scroller.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, State, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { ScrollerScrollIndicatorPosition } from './types';\r\nimport { getComponentCss } from './diwa-scroller-styles';\r\n\r\n/**\r\n * @slot default — Items to be scrolled horizontally.\r\n */\r\n@Component({\r\n tag: 'diwa-scroller',\r\n shadow: true,\r\n})\r\nexport class DiwaScroller {\r\n /** Position of gradient fade indicators relative to the scroll area. */\r\n @Prop() alignScrollIndicator: ScrollerScrollIndicatorPosition = 'center';\r\n\r\n /** Whether to show the native horizontal scrollbar. */\r\n @Prop() scrollbar: boolean = false;\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n @State() private hasOverflow: boolean = false;\r\n @State() private canScrollLeft: boolean = false;\r\n @State() private canScrollRight: boolean = false;\r\n\r\n private scrollAreaEl?: HTMLDivElement;\r\n private resizeObserver?: ResizeObserver;\r\n\r\n componentDidLoad(): void {\r\n this.updateScrollState();\r\n if (this.scrollAreaEl) {\r\n this.resizeObserver = new ResizeObserver(() => this.updateScrollState());\r\n this.resizeObserver.observe(this.scrollAreaEl);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private setScrollAreaRef = (el?: HTMLDivElement): void => {\r\n this.scrollAreaEl = el;\r\n };\r\n\r\n private handleScroll = (): void => {\r\n this.updateScrollState();\r\n };\r\n\r\n private handleSlotChange = (): void => {\r\n requestAnimationFrame(() => this.updateScrollState());\r\n };\r\n\r\n private updateScrollState(): void {\r\n const el = this.scrollAreaEl;\r\n if (!el) return;\r\n\r\n const maxScrollLeft = Math.max(0, el.scrollWidth - el.clientWidth);\r\n const currentScrollLeft = el.scrollLeft;\r\n const epsilon = 1;\r\n\r\n this.hasOverflow = maxScrollLeft > epsilon;\r\n this.canScrollLeft = currentScrollLeft > epsilon;\r\n this.canScrollRight = currentScrollLeft < maxScrollLeft - epsilon;\r\n }\r\n\r\n private scrollByPage = (direction: 'start' | 'end'): void => {\r\n const el = this.scrollAreaEl;\r\n if (!el) return;\r\n\r\n const distance = Math.max(el.clientWidth * 0.8, 1);\r\n el.scrollBy({\r\n left: direction === 'start' ? -distance : distance,\r\n behavior: 'smooth',\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(\r\n this.scrollbar,\r\n this.alignScrollIndicator,\r\n this.hasOverflow,\r\n this.canScrollLeft,\r\n this.canScrollRight,\r\n )} />\r\n <div class=\"scroller\">\r\n <button\r\n type=\"button\"\r\n class=\"scroll-button scroll-button--start\"\r\n aria-label=\"Scroll left\"\r\n disabled={!this.canScrollLeft}\r\n hidden={!this.hasOverflow}\r\n onClick={() => this.scrollByPage('start')}\r\n >\r\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n <path d=\"M10 3.5 5 8l5 4.5\" />\r\n </svg>\r\n </button>\r\n\r\n <div class=\"scroll-wrapper\">\r\n <div\r\n class=\"scroll-area\"\r\n tabIndex={this.hasOverflow ? 0 : undefined}\r\n role={this.hasOverflow ? 'region' : undefined}\r\n aria-label={this.hasOverflow ? 'Scrollable content' : undefined}\r\n onScroll={this.handleScroll}\r\n ref={this.setScrollAreaRef}\r\n >\r\n <slot onSlotchange={this.handleSlotChange} />\r\n </div>\r\n <div class=\"fade fade--start\" aria-hidden=\"true\" />\r\n <div class=\"fade fade--end\" aria-hidden=\"true\" />\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"scroll-button scroll-button--end\"\r\n aria-label=\"Scroll right\"\r\n disabled={!this.canScrollRight}\r\n hidden={!this.hasOverflow}\r\n onClick={() => this.scrollByPage('end')}\r\n >\r\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n <path d=\"M6 3.5 11 8l-5 4.5\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -45,7 +45,7 @@ export class DiwaSegmentedControl {
45
45
  });
46
46
  }
47
47
  render() {
48
- return (h(Host, { key: '76204fa4c9d01d59662b63db9f210070ddce8ccd', role: "group", "data-theme": this.theme }, h("style", { key: '3da53b702c0488e0748df0d1930d81a3898abfee', innerHTML: getComponentCss() }), h("div", { key: '1ac0445d78a3c27f3db0bb979ff3d6a2aa3cafa3', class: "track" }, h("slot", { key: '21dd1e37da86b714671f6dabac080bee4e1e1abb' }))));
48
+ return (h(Host, { key: 'a234c388f48d3c866ffdab8c6eadc9b8bb5af4c8', role: "group", "data-theme": this.theme }, h("style", { key: 'bfad2e8a1da5a8395b9dcc3662913ff13f4607fe', innerHTML: getComponentCss() }), h("div", { key: 'f08d1b1bdd31d095333e51ac72ae3f40ebd27812', class: "track" }, h("slot", { key: 'b5ff001d635e09aa097cd8b3b6b32500490a19da' }))));
49
49
  }
50
50
  static get is() { return "diwa-segmented-control"; }
51
51
  static get encapsulation() { return "shadow"; }
@@ -29,7 +29,7 @@ export class DiwaSegmentedControlItem {
29
29
  };
30
30
  }
31
31
  render() {
32
- return (h(Host, { key: '197c164463018b07f0dd5561dabaff80b1017d55' }, h("style", { key: '2d89019033de3d1bc1e818806af44aa0737aa7f4', innerHTML: getComponentCss(this.selected, this.disabled, this.compact) }), h("button", { key: 'ef28f2800562f06d42d772d35fd7ce4815b067cd', class: "btn", type: "button", disabled: this.disabled, "aria-pressed": this.selected ? 'true' : 'false', onClick: this.handleClick }, h("slot", { key: '6ec68f67dfd5b386c24eeeb4108a84d94e933dd4' }))));
32
+ return (h(Host, { key: '2a0ee21e2203bc962d2cb1156ebe70b0cbc30d1e' }, h("style", { key: 'e8ff2c5b70860cc872cad97d689e16cf9c82c064', innerHTML: getComponentCss(this.selected, this.disabled, this.compact) }), h("button", { key: '112f93b906318888f5113417fdfddf0ce1aad3a8', class: "btn", type: "button", disabled: this.disabled, "aria-pressed": this.selected ? 'true' : 'false', onClick: this.handleClick }, h("slot", { key: 'bd6ef60d2fc09a59cfd8108377f1981aaefc991c' }))));
33
33
  }
34
34
  static get is() { return "diwa-segmented-control-item"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -149,6 +149,9 @@ export class DiwaSelect {
149
149
  onThemeChange() {
150
150
  this.syncChildThemes();
151
151
  }
152
+ onCompactChange() {
153
+ this.syncChildCompact();
154
+ }
152
155
  onValueChange() {
153
156
  this.syncSelectionFromValue();
154
157
  }
@@ -182,6 +185,7 @@ export class DiwaSelect {
182
185
  this.collectOptions();
183
186
  this.syncSelectionFromValue();
184
187
  this.syncChildThemes();
188
+ this.syncChildCompact();
185
189
  }
186
190
  // ──────────────────────────────────────────────────────────────
187
191
  // Public methods
@@ -213,6 +217,7 @@ export class DiwaSelect {
213
217
  this.collectOptions();
214
218
  this.syncSelectionFromValue();
215
219
  this.syncChildThemes();
220
+ this.syncChildCompact();
216
221
  }
217
222
  // ──────────────────────────────────────────────────────────────
218
223
  // Private helpers
@@ -237,6 +242,14 @@ export class DiwaSelect {
237
242
  }
238
243
  }
239
244
  }
245
+ syncChildCompact() {
246
+ for (const opt of this.options) {
247
+ if (opt.compact !== this.compact) {
248
+ opt.compact = this.compact;
249
+ forceUpdate(opt);
250
+ }
251
+ }
252
+ }
240
253
  getVisibleOptions() {
241
254
  return this.options.filter((o) => !o.disabled && o.style.display !== 'none');
242
255
  }
@@ -293,7 +306,7 @@ export class DiwaSelect {
293
306
  const hasMessage = !!this.message && this.state !== 'none';
294
307
  const hasValue = this.value !== undefined && this.value !== '';
295
308
  const displayLabel = hasValue ? this.selectedLabel : undefined;
296
- return (h(Host, { key: '6ac13f8139797b9a4802dbb2ca5c0f2efef83b03', "data-theme": this.theme }, h("style", { key: 'f686db5aa753249a2d4f9b5b315dd47e3ddc26a8', innerHTML: getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up')) }), (this.label || this.host.querySelector('[slot="label"]')) && (h("span", { key: 'cdf62e4a62423bb2a36d009e9ad9b3c6269b3e12', class: "label", id: labelId, part: "label" }, h("slot", { key: '3e935b34db20515e579b493fbf59530f7c696756', name: "label" }, this.label), this.required && h("span", { key: 'd85f9b81784e63695460dc80c8569363fb35ef98', class: "label__required", "aria-hidden": "true" }, "*"))), (this.description || this.host.querySelector('[slot="description"]')) && (h("span", { key: '48858e2fdb26f2e4004f4e0a6e269a672e4b195b', class: "description", part: "description" }, h("slot", { key: '0ccb1b9edf46c77d66d216a543807c21cd44496d', name: "description" }, this.description))), h("div", { key: '0a937903a8ddafc0a56fb6ccf727a5f802c77580', class: "trigger", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId, "aria-labelledby": this.label ? labelId : undefined, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.state === 'error' ? 'true' : undefined, "aria-describedby": hasMessage ? hintId : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown, ref: (el) => (this.triggerEl = el), part: "trigger" }, h("span", { key: '48a00505d9cd62e4f3a4070655917c706b4ee2e3', class: `trigger__value${!displayLabel ? ' trigger__placeholder' : ''}`, part: "value" }, displayLabel !== null && displayLabel !== void 0 ? displayLabel : (this.label || 'Select an option')), h("span", { key: '4d5c0157792d93dffe4473bbb5adc7c5982fc996', class: "trigger__chevron", "aria-hidden": "true", part: "chevron" }, h("svg", { key: '802726305d35207d83d2c6ee3d0dd087dd6a33ee', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("polyline", { key: '658cb6b58e2505e6859b631541aa1b5bd2e76449', points: "6 9 12 15 18 9" })))), h("div", { key: 'b5f575565ed95ecf1a6111f527b1d6d0841e5076', class: this.dropdownClass, role: "listbox", id: listboxId, "aria-multiselectable": "false", "aria-labelledby": this.label ? labelId : undefined, part: "dropdown" }, h("div", { key: 'b51dc6327202a6d0113e03529fe76c52273b3023', class: "filter", part: "filter" }, h("input", { key: '1ad613a67c9c29086688016be3ccce2b260024d8', class: "filter__input", type: "text", placeholder: "Filter options\u2026", "aria-label": "Filter options", onInput: this.onFilterInput, ref: (el) => (this.filterInputEl = el), part: "filter-input" })), h("div", { key: 'abf099e79d273e293cc554cb50b139181af2da8b', class: "options", part: "options" }, !this.hasFilterResults && (h("div", { key: '9f7ffcd99df289bd35549fb548aa835bffbd4af1', class: "no-results", "aria-live": "polite" }, "No options found")), h("slot", { key: '1a56431405d701e4a89d66eb7918ba85245b189b' }))), hasMessage && (h("span", { key: '0a361efb6406ec19bf8ad8e94c4397c78cf5b32c', class: "message", id: hintId, role: "status", part: "message" }, h("slot", { key: 'f114d282d9785713e489a3f3b0fa96480569e184', name: "message" }, this.message)))));
309
+ return (h(Host, { key: '78cb284c75c35d7a8c9c55c65a1b2da507cb3825', "data-theme": this.theme }, h("style", { key: '56535329000ff0addc23203c53161262d077d0ae', innerHTML: getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up')) }), (this.label || this.host.querySelector('[slot="label"]')) && (h("span", { key: 'a50ee541c02fddefb765c9e8be397bc5fd8fdbe3', class: "label", id: labelId, part: "label" }, h("slot", { key: '5acac4fc52daaa0a7e8137f41bd0b5e91ba4be86', name: "label" }, this.label), this.required && h("span", { key: '1f61ca50a28561365e8491e108268680b0e1ccf1', class: "label__required", "aria-hidden": "true" }, "*"))), (this.description || this.host.querySelector('[slot="description"]')) && (h("span", { key: '41e461a959513a8dafe4a8fd6d7c7c0597dd11be', class: "description", part: "description" }, h("slot", { key: '33f083c62405b70fd4df87ccd5770946778a168c', name: "description" }, this.description))), h("div", { key: '88a408a5abaa1f4c48f54b8dda240a3ee8ed3a5e', class: "trigger", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId, "aria-labelledby": this.label ? labelId : undefined, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.state === 'error' ? 'true' : undefined, "aria-describedby": hasMessage ? hintId : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown, ref: (el) => (this.triggerEl = el), part: "trigger" }, h("span", { key: 'c397c30576a9396ca26a150d4b31686b34324c50', class: `trigger__value${!displayLabel ? ' trigger__placeholder' : ''}`, part: "value" }, displayLabel !== null && displayLabel !== void 0 ? displayLabel : (this.label || 'Select an option')), h("span", { key: '3c4c6ba3dfc5e53102754e8c8f99b01041cb034c', class: "trigger__chevron", "aria-hidden": "true", part: "chevron" }, h("svg", { key: '9d7a5b129826e3d448c3cebb41cd1c6cba9af980', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("polyline", { key: '6c4b2336e5e0968cb79034a17c12ef7f1475d1d4', points: "6 9 12 15 18 9" })))), h("div", { key: '9a004e9726798f987e73de928cff74aae2192eba', class: this.dropdownClass, role: "listbox", id: listboxId, "aria-multiselectable": "false", "aria-labelledby": this.label ? labelId : undefined, part: "dropdown" }, h("div", { key: 'be02228e7c2763174b84c98665e43c1b41be96c4', class: "filter", part: "filter" }, h("input", { key: 'df2a97b9017bf0fa550ddd7edf81bb5b63daa567', class: "filter__input", type: "text", placeholder: "Filter options\u2026", "aria-label": "Filter options", onInput: this.onFilterInput, ref: (el) => (this.filterInputEl = el), part: "filter-input" })), h("div", { key: 'f1b7dff287feb28cacea9353263a3efb530d77f2', class: "options", part: "options" }, !this.hasFilterResults && (h("div", { key: '11c5108f2e3e2e1ae36e2f4f15f5da49b5e4f645', class: "no-results", "aria-live": "polite" }, "No options found")), h("slot", { key: 'f220f388ef3964448427dd45943193bce7419f88' }))), hasMessage && (h("span", { key: '8ceca0f175af448577d629581d39a44dfd39f63f', class: "message", id: hintId, role: "status", part: "message" }, h("slot", { key: '91c7a0c99fa7a642ba0987cbab196d61e61cea9e', name: "message" }, this.message)))));
297
310
  }
298
311
  static get is() { return "diwa-select"; }
299
312
  static get encapsulation() { return "shadow"; }
@@ -666,6 +679,9 @@ export class DiwaSelect {
666
679
  return [{
667
680
  "propName": "theme",
668
681
  "methodName": "onThemeChange"
682
+ }, {
683
+ "propName": "compact",
684
+ "methodName": "onCompactChange"
669
685
  }, {
670
686
  "propName": "value",
671
687
  "methodName": "onValueChange"