@povio/ui 5.0.0-rc.2 → 5.0.0-rc.4

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 (436) hide show
  1. package/.rulesync/rules/ui-buttons-and-content.md +3 -1
  2. package/README.md +50 -7
  3. package/dist/{Accordion-CzFKi8Bp.js → Accordion-BzwO4_ml.js} +20 -136
  4. package/dist/{Alert-T25LY8ZL.js → Alert-CnvEb1D_.js} +16 -12
  5. package/dist/{Alert-f1dG-4Uy.d.ts → Alert-DfiJbKH0.d.ts} +2 -1
  6. package/dist/{AlertDialog-B6R2MbNg.d.ts → AlertDialog-OWTbR4km.d.ts} +3 -3
  7. package/dist/{Autocomplete-CQ63Cynd.d.ts → Autocomplete-BwNHp8fy.d.ts} +1 -1
  8. package/dist/{Badge-YKlKz-Jy.d.ts → Badge-CBNpj823.d.ts} +8 -5
  9. package/dist/BadgeButton-Ccgt3oGO.d.ts +15 -0
  10. package/dist/{BottomSheet-DvqBvth_.js → BottomSheet-BXLE3161.js} +7 -6
  11. package/dist/{BottomSheet-xaymO7aQ.d.ts → BottomSheet-DbQuzfAB.d.ts} +1 -1
  12. package/dist/{BottomSheet.lazy-CGBRPve_.d.ts → BottomSheet.lazy-D9LCEo7s.d.ts} +1 -1
  13. package/dist/{Breadcrumbs-DyriI-Bi.d.ts → Breadcrumbs-CUV6CU8Q.d.ts} +1 -1
  14. package/dist/{Breadcrumbs-DiIYJAWf.js → Breadcrumbs-FF8hMfXd.js} +24 -38
  15. package/dist/Button-C5rv4Cr2.js +506 -0
  16. package/dist/{Button-BZ3is6IU.d.ts → Button-D-4qb0IR.d.ts} +3 -3
  17. package/dist/{ButtonContent-B2_dZ6vA.js → ButtonContent-c7lJayVQ.js} +10 -8
  18. package/dist/{Calendar-DzQApBCy.js → Calendar-BTjajO6i.js} +25 -148
  19. package/dist/{CheckContent-DZ7Gk8GS.js → CheckContent-D7sZPmzx.js} +2 -2
  20. package/dist/{Checkbox-BepzfVfK.js → Checkbox-CV1ILXXO.js} +6 -6
  21. package/dist/{Checkbox-CHpgW3fI.d.ts → Checkbox-DVTWaMKa.d.ts} +1 -1
  22. package/dist/{CheckboxCheckmark-B3lnOjsU.js → CheckboxCheckmark-CpC3wlMs.js} +11 -11
  23. package/dist/{CheckboxGroup-CXrR3A-c.d.ts → CheckboxGroup-DGF12cmB.d.ts} +3 -3
  24. package/dist/ComponentGallery-BWiPGUL8.js +3665 -0
  25. package/dist/{DatePicker-B3l9TEjW.d.ts → DatePicker-8xSs_jNd.d.ts} +3 -3
  26. package/dist/{DatePicker-CI87jC4_.js → DatePicker-DOLL7mkc.js} +17 -16
  27. package/dist/{DatePickerInput-UBZcTmdv.js → DatePickerInput-BLBcySA2.js} +16 -26
  28. package/dist/{DatePickerInput-CZTEsrS0.d.ts → DatePickerInput-D81ZJ3fT.d.ts} +3 -3
  29. package/dist/{DateRangePicker-BX2O5zA8.js → DateRangePicker-BF-1CztH.js} +23 -194
  30. package/dist/{DateRangePicker-DKkc2B3n.d.ts → DateRangePicker-Bfq-yDm7.d.ts} +3 -3
  31. package/dist/{DateTimePicker-CVfkp45w.js → DateTimePicker-Cj0qvJUz.js} +16 -15
  32. package/dist/{DateTimePicker-IHr-wPq8.d.ts → DateTimePicker-D4lHyf6P.d.ts} +3 -3
  33. package/dist/{Dialog-DdRP4YFC.js → Dialog-9manOgMA.js} +4 -4
  34. package/dist/{Dialog-CXoVeIkU.js → Dialog-CKLkS00H.js} +10 -2
  35. package/dist/{Dialog-DEbI_9S-.d.ts → Dialog-CW93T9X1.d.ts} +3 -2
  36. package/dist/{DropdownMenu-zrodtd44.js → DropdownMenu-5jmtgLXd.js} +8 -6
  37. package/dist/{DropdownMenu-CWDhk3XA.d.ts → DropdownMenu-JNpYT4-3.d.ts} +3 -2
  38. package/dist/{DropdownMenuDesktop-CGYxsavQ.js → DropdownMenuDesktop-Cl9gZVq0.js} +9 -38
  39. package/dist/{FileInput-Dz1eESr_.js → FileInput-Br5DQaGQ.js} +10 -9
  40. package/dist/{FileInput-BQbn77bE.d.ts → FileInput-C4CE5kuP.d.ts} +5 -4
  41. package/dist/{FileTrigger-CDXcQthK.js → FileTrigger-Cthk5_Wp.js} +1 -30
  42. package/dist/{FileUpload-D3Io7Is5.js → FileUpload--7ub3EZO.js} +53 -140
  43. package/dist/{FileUpload-qySCMcLn.d.ts → FileUpload-CR7bZxV1.d.ts} +1 -1
  44. package/dist/{FileUploadContainer-qOyGvb5J.d.ts → FileUploadContainer-042ztsaL.d.ts} +1 -1
  45. package/dist/{Form-u_N_6mwo.d.ts → Form-BJ12MjE-.d.ts} +1 -1
  46. package/dist/{FormField-CHD4OJOt.js → FormField-B99dLt8o.js} +9 -9
  47. package/dist/{FormField-B0miX3gu.d.ts → FormField-Byiehm9y.d.ts} +1 -1
  48. package/dist/{FormFieldError-QRAFHUTt.js → FormFieldError-DeOHHLo2.js} +1 -1
  49. package/dist/FormFieldHeaderTooltip-BV2Ju4oB.js +17 -0
  50. package/dist/{IconButton-KXecZgYX.d.ts → IconButton-D4thBurp.d.ts} +2 -2
  51. package/dist/IconSlot-DSK7qNxc.js +79 -0
  52. package/dist/{InlineIconButton-CbKZ2U_a.d.ts → InlineIconButton-BeJCjl-q.d.ts} +2 -2
  53. package/dist/{InlineTooltipWrapper-g5yoeH1B.js → InlineTooltipWrapper-BpApaGXV.js} +3 -3
  54. package/dist/{Input-efmPwk8f.d.ts → Input-DOanwj3l.d.ts} +3 -3
  55. package/dist/{InputContent-DuBa9FuI.d.ts → InputContent-CXuP1ghQ.d.ts} +3 -3
  56. package/dist/{InputItem-2zf6QI5L.js → InputItem-CIxbTxZu.js} +11 -11
  57. package/dist/{Inputs-C-w03Q_F.d.ts → Inputs-DA73LmLc.d.ts} +1 -1
  58. package/dist/{Inputs-BceDTmdT.js → Inputs-DJSKiaWY.js} +1 -1
  59. package/dist/{Link-QYpprkN1.d.ts → Link-Ow9H7kNv.d.ts} +3 -2
  60. package/dist/{ListBox-B7DW1S7n.js → ListBox-CL8Ar4Q_.js} +5 -4
  61. package/dist/{MenuItem--Mjd_yK8.d.ts → MenuItem-DHyqOqln.d.ts} +1 -1
  62. package/dist/{Modal-CoFt5PGP.js → Modal-w60dVQcb.js} +1 -1
  63. package/dist/{NumberField-z2JatYK0.d.ts → NumberField-Cb9Gf6QJ.d.ts} +3 -3
  64. package/dist/NumberFormatter-CLDS_LRZ.js +265 -0
  65. package/dist/{NumberRangeInput-BxVrHq8R.js → NumberRangeInput-B8-LHfg3.js} +9 -8
  66. package/dist/{NumberRangeInput-Chai3iEi.d.ts → NumberRangeInput-BfbJQqzn.d.ts} +2 -2
  67. package/dist/{Pagination-CXtIDclf.d.ts → Pagination-CwQu5Py8.d.ts} +1 -1
  68. package/dist/{PaginationList-CXG4jWFD.d.ts → PaginationList-DMRUGtf8.d.ts} +1 -1
  69. package/dist/{PaginationList-0bAmvXC0.js → PaginationList-DtvuP63b.js} +2 -2
  70. package/dist/{PasswordInput-ub2TQxef.d.ts → PasswordInput-CLwFUgl0.d.ts} +1 -1
  71. package/dist/{Popover-DUKH0q9u.d.ts → Popover-BTHPteIh.d.ts} +2 -2
  72. package/dist/{Progress-DQWiFP0L.js → Progress-B3mY9rIP.js} +2 -2
  73. package/dist/{Progress-Dho39FDs.d.ts → Progress-CjWOR38H.d.ts} +2 -1
  74. package/dist/{QuerySelect-Bo1K6gi_.d.ts → QuerySelect-BGxb6Y0K.d.ts} +2 -2
  75. package/dist/{RadioGroup-B_zJdn4y.d.ts → RadioGroup-CZg2kIMk.d.ts} +3 -3
  76. package/dist/{RadioGroup-SSZYch-J.js → RadioGroup-DOw3PRoX.js} +13 -13
  77. package/dist/{RichTextEditor-D6RewmRj.js → RichTextEditor-D4yN7Wj7.js} +52 -133
  78. package/dist/{RichTextEditor-B_JX3nor.d.ts → RichTextEditor-YxuRUlI7.d.ts} +1 -1
  79. package/dist/{Select-CuZDkeQs.js → Select-UR0ec2Ux.js} +5 -4
  80. package/dist/{Select-DeapZMYx.d.ts → Select-pHbyJdZJ.d.ts} +1 -1
  81. package/dist/{SelectBase-7SE9Za2r.d.ts → SelectBase-Omiq2D3M.d.ts} +3 -3
  82. package/dist/{Slider-DJ9K_a-x.js → Slider-CzEmKYBF.js} +11 -11
  83. package/dist/{Slider-BFViQmM3.d.ts → Slider-EYlGCLWe.d.ts} +1 -1
  84. package/dist/{Spinner-BEYBu85B.js → Spinner-BeVTUzzx.js} +1 -1
  85. package/dist/{Spinner-BbcI6IOb.d.ts → Spinner-DbXeDOa2.d.ts} +2 -1
  86. package/dist/{SplitButton-lL87EcBL.d.ts → SplitButton-D9ngY1rJ.d.ts} +3 -3
  87. package/dist/{Stepper-C1YPgTBG.js → Stepper-Cp5vbL5g.js} +4 -117
  88. package/dist/{Stepper-hlhViuaK.d.ts → Stepper-TATlHZhQ.d.ts} +9 -8
  89. package/dist/{Switch-JxRmH1dX.js → Switch-CqnGEdeD.js} +11 -11
  90. package/dist/{Switch-DPftmB1b.d.ts → Switch-s_EPn0Jz.d.ts} +1 -1
  91. package/dist/Table-piX1SWvN.js +689 -0
  92. package/dist/Tag-AHfV_XSf.d.ts +44 -0
  93. package/dist/{Tag-HiDH438e.js → Tag-DPg5sL1Z.js} +22 -21
  94. package/dist/{TextArea-gikUKKDl.js → TextArea-D8WkKsGn.js} +7 -7
  95. package/dist/{TextArea-BhrCBGbq.d.ts → TextArea-l_keyLK7.d.ts} +2 -2
  96. package/dist/{TextButton-DnXRykhF.d.ts → TextButton-XUhV_1s0.d.ts} +4 -4
  97. package/dist/{TimePicker-CmT89X7v.d.ts → TimePicker-B1POvGWs.d.ts} +2 -2
  98. package/dist/{TimePicker-DtNTOOGr.js → TimePicker-C4taAOFQ.js} +15 -14
  99. package/dist/Toast-DtG3pA61.js +53 -0
  100. package/dist/{Toast-B4cXs2rj.d.ts → Toast-ruXqONDA.d.ts} +1 -1
  101. package/dist/{ToastContainer-BbsMIwtC.js → ToastContainer-qgpzMFD4.js} +4 -3
  102. package/dist/{ToggleButton-BGuzPJDO.d.ts → ToggleButton-7aP8Jb11.d.ts} +2 -2
  103. package/dist/{ToggleGroup-D9CFdM5-.d.ts → ToggleGroup-CRFDIPGZ.d.ts} +1 -1
  104. package/dist/{ToggleGroup-Cl0NS3fe.js → ToggleGroup-DOk27fgI.js} +29 -123
  105. package/dist/{Tooltip-aE1Vswxz.js → Tooltip-CpG1nz7Y.js} +8 -49
  106. package/dist/{Tooltip-D7dNwGy9.d.ts → Tooltip-DHv6vAqW.d.ts} +6 -5
  107. package/dist/{TooltipWrapper-CRf-JFeo.js → TooltipWrapper-3jyN0Wss.js} +4 -4
  108. package/dist/{Typography-B0Gp1lpc.js → Typography-LU4z2pR1.js} +2 -2
  109. package/dist/{Typography-BiuidzDC.d.ts → Typography-XljT9s02.d.ts} +1 -1
  110. package/dist/accordion.cva-CL1bVscW.js +129 -0
  111. package/dist/{autocomplete-BJ7rqWa4.d.ts → autocomplete-DeERHN8W.d.ts} +2 -2
  112. package/dist/badgeButton.cva-B2bgCQP6.d.ts +41 -0
  113. package/dist/badgeButton.cva-CvN4CTx5.js +300 -0
  114. package/dist/breadcrumbs.cva-7zzdDhVR.js +27 -0
  115. package/dist/{button.cva-BvRI-3Gn.d.ts → button.cva-C7kEhgoA.d.ts} +7 -6
  116. package/dist/{buttonContent.cva-BDT_CReI.d.ts → buttonContent.cva-DPIlROA9.d.ts} +2 -2
  117. package/dist/{checkbox-BfcE8J5P.d.ts → checkbox-DxIPDTK5.d.ts} +1 -1
  118. package/dist/{checkbox-group-CHs2wFHS.d.ts → checkbox-group-B3BOVshI.d.ts} +1 -1
  119. package/dist/{checkbox.cva-gv87kr1W.d.ts → checkbox.cva-t1Ox50hy.d.ts} +4 -3
  120. package/dist/components/accordion.js +1 -1
  121. package/dist/components/alert-dialog.d.ts +1 -1
  122. package/dist/components/alert-dialog.js +4 -4
  123. package/dist/components/alert.d.ts +1 -1
  124. package/dist/components/alert.js +1 -1
  125. package/dist/components/autocomplete.d.ts +1 -1
  126. package/dist/components/autocomplete.js +5 -4
  127. package/dist/components/badge-button.d.ts +2 -0
  128. package/dist/components/{pill-button.js → badge-button.js} +13 -12
  129. package/dist/components/badge.d.ts +1 -1
  130. package/dist/components/badge.js +56 -37
  131. package/dist/components/bottom-sheet.d.ts +2 -2
  132. package/dist/components/bottom-sheet.js +2 -2
  133. package/dist/components/breadcrumbs.d.ts +1 -1
  134. package/dist/components/breadcrumbs.js +1 -1
  135. package/dist/components/button.d.ts +2 -2
  136. package/dist/components/button.js +1 -1
  137. package/dist/components/checkbox-group.d.ts +1 -1
  138. package/dist/components/checkbox-group.js +6 -6
  139. package/dist/components/checkbox.d.ts +1 -1
  140. package/dist/components/checkbox.js +1 -1
  141. package/dist/components/date-picker.d.ts +1 -1
  142. package/dist/components/date-picker.js +1 -1
  143. package/dist/components/date-range-picker.d.ts +1 -1
  144. package/dist/components/date-range-picker.js +1 -1
  145. package/dist/components/date-time-picker.d.ts +1 -1
  146. package/dist/components/date-time-picker.js +1 -1
  147. package/dist/components/dialog.d.ts +1 -1
  148. package/dist/components/dialog.js +1 -1
  149. package/dist/components/drawer.js +3 -3
  150. package/dist/components/dropdown-menu.d.ts +2 -2
  151. package/dist/components/dropdown-menu.js +2 -2
  152. package/dist/components/file-input.d.ts +1 -1
  153. package/dist/components/file-input.js +1 -1
  154. package/dist/components/file-upload-container.d.ts +2 -2
  155. package/dist/components/file-upload-container.js +1 -1
  156. package/dist/components/file-upload.d.ts +2 -2
  157. package/dist/components/file-upload.js +1 -1
  158. package/dist/components/form-field.d.ts +1 -1
  159. package/dist/components/form-field.js +1 -1
  160. package/dist/components/icon-button.d.ts +1 -1
  161. package/dist/components/icon-button.js +2 -2
  162. package/dist/components/icon-slot.d.ts +2 -0
  163. package/dist/components/icon-slot.js +2 -0
  164. package/dist/components/inline-icon-button.d.ts +1 -1
  165. package/dist/components/inline-icon-button.js +1 -1
  166. package/dist/components/input.d.ts +1 -1
  167. package/dist/components/input.js +7 -7
  168. package/dist/components/link.d.ts +1 -1
  169. package/dist/components/link.js +32 -1
  170. package/dist/components/number-field.d.ts +1 -1
  171. package/dist/components/number-field.js +10 -9
  172. package/dist/components/number-range-input.d.ts +1 -1
  173. package/dist/components/number-range-input.js +1 -1
  174. package/dist/components/pagination-list.d.ts +1 -1
  175. package/dist/components/pagination-list.js +1 -1
  176. package/dist/components/pagination.d.ts +1 -1
  177. package/dist/components/pagination.js +34 -30
  178. package/dist/components/password-input.d.ts +1 -1
  179. package/dist/components/popover.d.ts +1 -1
  180. package/dist/components/popover.js +6 -5
  181. package/dist/components/progress.d.ts +1 -1
  182. package/dist/components/progress.js +1 -1
  183. package/dist/components/query-autocomplete.d.ts +2 -2
  184. package/dist/components/query-autocomplete.js +2 -2
  185. package/dist/components/query-select.d.ts +1 -1
  186. package/dist/components/query-select.js +3 -3
  187. package/dist/components/radio-group.d.ts +1 -1
  188. package/dist/components/radio-group.js +1 -1
  189. package/dist/components/select.d.ts +2 -2
  190. package/dist/components/select.js +1 -1
  191. package/dist/components/slider.d.ts +1 -1
  192. package/dist/components/slider.js +1 -1
  193. package/dist/components/spinner.d.ts +1 -1
  194. package/dist/components/spinner.js +1 -1
  195. package/dist/components/split-button.d.ts +1 -1
  196. package/dist/components/split-button.js +3 -3
  197. package/dist/components/stepper.d.ts +1 -1
  198. package/dist/components/stepper.js +1 -1
  199. package/dist/components/switch.d.ts +1 -1
  200. package/dist/components/switch.js +1 -1
  201. package/dist/components/tag.d.ts +1 -1
  202. package/dist/components/tag.js +1 -1
  203. package/dist/components/text-area.d.ts +1 -1
  204. package/dist/components/text-area.js +1 -1
  205. package/dist/components/text-button.d.ts +1 -1
  206. package/dist/components/text-button.js +1 -1
  207. package/dist/components/time-picker.d.ts +1 -1
  208. package/dist/components/time-picker.js +1 -1
  209. package/dist/components/toast.d.ts +2 -2
  210. package/dist/components/toast.js +2 -2
  211. package/dist/components/toggle-button.d.ts +1 -1
  212. package/dist/components/toggle-button.js +1 -1
  213. package/dist/components/toggle-group.d.ts +2 -2
  214. package/dist/components/toggle-group.js +1 -1
  215. package/dist/components/tooltip-ellipsis.js +1 -1
  216. package/dist/components/tooltip.d.ts +1 -1
  217. package/dist/components/tooltip.js +1 -1
  218. package/dist/components/typography.d.ts +2 -2
  219. package/dist/components/typography.js +1 -1
  220. package/dist/components/use-toast.d.ts +1 -1
  221. package/dist/components/use-toast.js +2 -2
  222. package/dist/config/confirmation.d.ts +1 -1
  223. package/dist/config/link-context.d.ts +2 -2
  224. package/dist/config/ui-config.d.ts +2 -2
  225. package/dist/config/ui-config.js +1 -1
  226. package/dist/config/ui-configurator-theme.d.ts +2 -0
  227. package/dist/config/ui-configurator-theme.js +2 -0
  228. package/dist/config/ui-configurator-vite.d.ts +10 -0
  229. package/dist/config/ui-configurator-vite.js +174 -0
  230. package/dist/config/ui-configurator.d.ts +934 -0
  231. package/dist/config/ui-configurator.js +4555 -0
  232. package/dist/config/ui-overrides.d.ts +1 -1
  233. package/dist/config/ui-overrides.js +1 -1
  234. package/dist/config/ui-router.js +1 -1
  235. package/dist/{confirmation.context-DPAKsLYl.d.ts → confirmation.context-BOeEVczb.d.ts} +1 -1
  236. package/dist/{date-picker-BYFWSbN8.d.ts → date-picker-DnxDmlOW.d.ts} +1 -1
  237. package/dist/{date-range-picker-BaaXOObm.d.ts → date-range-picker-DHDOSvHN.d.ts} +1 -1
  238. package/dist/{date-time-picker-D42cTCgx.d.ts → date-time-picker-UkTa0OJ8.d.ts} +1 -1
  239. package/dist/datePickerInput.cva-Cd7UUN61.js +14 -0
  240. package/dist/{datePickerValue.utils-CFCY-fRJ.js → datePickerValue.utils-DCgoSrP3.js} +9 -9
  241. package/dist/{dialog.cva---xiOXMQ.js → dialog.cva-COhDZaVl.js} +4 -4
  242. package/dist/{dist-B8h0VT0E.js → dist-CAdwxJbe.js} +1 -208
  243. package/dist/{dom.utils-DjuRTR6U.js → dom.utils-D1AopHx9.js} +1 -1
  244. package/dist/dropdownMenu.cva-DvEmX0bs.js +34 -0
  245. package/dist/{dynamicInputs-wEEikYeg.d.ts → dynamicInputs-iP39lVKf.d.ts} +102 -100
  246. package/dist/{fieldAdapter-C0lCFmf0.js → fieldAdapter-DjYls12j.js} +1 -1
  247. package/dist/{file-input-C56GXRwz.d.ts → file-input-DkbkdI7l.d.ts} +1 -1
  248. package/dist/{file-upload-Bx0X534g.d.ts → file-upload-CTsPhxJk.d.ts} +2 -2
  249. package/dist/fileUpload.cva-ujmStxB1.js +42 -0
  250. package/dist/{fileUpload.types-DWuQKA2l.d.ts → fileUpload.types-n5FxK_F-.d.ts} +2 -2
  251. package/dist/hooks/use-filters.js +1 -1
  252. package/dist/iconSlot.cva-CnpFzAOR.d.ts +21 -0
  253. package/dist/icons.d.ts +2 -1
  254. package/dist/icons.js +2 -1
  255. package/dist/index.d.ts +87 -86
  256. package/dist/index.js +57 -46
  257. package/dist/info-iUmX3uDk.js +32 -0
  258. package/dist/{input-D2kGX0hW.d.ts → input-CdQNCPgH.d.ts} +1 -1
  259. package/dist/{input.cva-BhDJxc7r.d.ts → input.cva-BsHgYa-L.d.ts} +3 -2
  260. package/dist/{input.cva-BcXyC1vZ.js → input.cva-DJA8ovm_.js} +9 -9
  261. package/dist/{link.context-CDZn6oL2.d.ts → link.context-D5qyz9Rf.d.ts} +1 -1
  262. package/dist/link.cva-DMTHZiJG.js +12 -0
  263. package/dist/{number-field-Bw2GKr0s.d.ts → number-field-CUDbenNV.d.ts} +1 -1
  264. package/dist/{number-range-input-Dqe6x2dR.d.ts → number-range-input-DZGrcvjL.d.ts} +1 -1
  265. package/dist/numberStatic.utils-BX50PSee.js +421 -0
  266. package/dist/{password-input-DepKyhh3.d.ts → password-input-fYN20cQO.d.ts} +1 -1
  267. package/dist/{popover.cva-BJSkLndY.js → popover.cva-Bhud1wnp.js} +1 -1
  268. package/dist/popoverAnimation-DEZSvKP8.js +4 -0
  269. package/dist/{query-autocomplete-BSpHin_R.d.ts → query-autocomplete-CfuQeiYG.d.ts} +2 -2
  270. package/dist/{query-select-m1DCp4UF.d.ts → query-select-CuT_sE6a.d.ts} +2 -2
  271. package/dist/{queryAutocomplete.types-CrbVUmvl.d.ts → queryAutocomplete.types-tl3r6iaY.d.ts} +2 -2
  272. package/dist/{radio-group-Civ3Fb70.d.ts → radio-group-B3ccPf0p.d.ts} +1 -1
  273. package/dist/{radio.cva-BlOrmxzf.d.ts → radio.cva-DN9VQ3Kb.d.ts} +4 -3
  274. package/dist/rhf/autocomplete.d.ts +2 -2
  275. package/dist/rhf/autocomplete.js +1 -1
  276. package/dist/rhf/checkbox-group.d.ts +2 -2
  277. package/dist/rhf/checkbox-group.js +1 -1
  278. package/dist/rhf/checkbox.d.ts +2 -2
  279. package/dist/rhf/checkbox.js +2 -2
  280. package/dist/rhf/date-picker.d.ts +2 -2
  281. package/dist/rhf/date-picker.js +2 -2
  282. package/dist/rhf/date-range-picker.d.ts +2 -2
  283. package/dist/rhf/date-range-picker.js +2 -2
  284. package/dist/rhf/date-time-picker.d.ts +2 -2
  285. package/dist/rhf/date-time-picker.js +2 -2
  286. package/dist/rhf/file-input.d.ts +2 -2
  287. package/dist/rhf/file-input.js +2 -2
  288. package/dist/rhf/file-upload.d.ts +2 -2
  289. package/dist/rhf/file-upload.js +2 -2
  290. package/dist/rhf/input.d.ts +2 -2
  291. package/dist/rhf/input.js +1 -1
  292. package/dist/rhf/inputs.d.ts +2 -2
  293. package/dist/rhf/number-field.d.ts +2 -2
  294. package/dist/rhf/number-field.js +1 -1
  295. package/dist/rhf/number-range-input.d.ts +2 -2
  296. package/dist/rhf/number-range-input.js +2 -2
  297. package/dist/rhf/password-input.d.ts +2 -2
  298. package/dist/rhf/password-input.js +1 -1
  299. package/dist/rhf/query-autocomplete.d.ts +1 -1
  300. package/dist/rhf/query-autocomplete.js +1 -1
  301. package/dist/rhf/query-select.d.ts +1 -1
  302. package/dist/rhf/query-select.js +1 -1
  303. package/dist/rhf/radio-group.d.ts +2 -2
  304. package/dist/rhf/radio-group.js +2 -2
  305. package/dist/rhf/rich-text-editor.d.ts +2 -2
  306. package/dist/rhf/rich-text-editor.js +2 -2
  307. package/dist/rhf/select.d.ts +2 -2
  308. package/dist/rhf/select.js +2 -2
  309. package/dist/rhf/slider.d.ts +2 -2
  310. package/dist/rhf/slider.js +2 -2
  311. package/dist/rhf/switch.d.ts +2 -2
  312. package/dist/rhf/switch.js +2 -2
  313. package/dist/rhf/text-area.d.ts +2 -2
  314. package/dist/rhf/text-area.js +2 -2
  315. package/dist/rhf/time-picker.d.ts +2 -2
  316. package/dist/rhf/time-picker.js +2 -2
  317. package/dist/rhf/toggle-group.d.ts +2 -2
  318. package/dist/rhf/toggle-group.js +2 -2
  319. package/dist/{rhf-D8B7mLO1.js → rhf-t348TCCL.js} +1 -1
  320. package/dist/rhf.d.ts +87 -86
  321. package/dist/rhf.js +57 -46
  322. package/dist/{rich-text-editor-DvNEOIux.d.ts → rich-text-editor-B-Onl7T8.d.ts} +1 -1
  323. package/dist/rich-text-editor.d.ts +1 -1
  324. package/dist/rich-text-editor.js +1 -1
  325. package/dist/{router.context-B0jTMtE0.js → router.context-B4FvsTim.js} +2 -2
  326. package/dist/{select-DY5QtwqI.d.ts → select-B4a52eWW.d.ts} +2 -2
  327. package/dist/selectDesktop.cva-CHAMxhfO.js +69 -0
  328. package/dist/{slider-CrB-Gkcv.d.ts → slider-dNj9jruO.d.ts} +1 -1
  329. package/dist/staticDateTimeSegments-DtU63_dw.js +1764 -0
  330. package/dist/{staticSelect.utils-Cm7MoDVG.js → staticSelect.utils-uHa8f_c6.js} +33 -231
  331. package/dist/stepper.cva-CZ0Kj-s7.js +116 -0
  332. package/dist/style-merge.util-zLimKwt6.d.ts +40 -0
  333. package/dist/styles/color-utilities.css +13 -25
  334. package/dist/styles/configurator.css +2365 -0
  335. package/dist/styles/input.d.ts +1 -1
  336. package/dist/{switch-8WzXfTS8.d.ts → switch-C--iWnY8.d.ts} +1 -1
  337. package/dist/switch.cva-CWNzmdRc.d.ts +16 -0
  338. package/dist/table.cva-DlMT-zLD.js +48 -0
  339. package/dist/tanstack/autocomplete.d.ts +1 -1
  340. package/dist/tanstack/checkbox-group.d.ts +1 -1
  341. package/dist/tanstack/checkbox.d.ts +1 -1
  342. package/dist/tanstack/checkbox.js +1 -1
  343. package/dist/tanstack/date-picker.d.ts +1 -1
  344. package/dist/tanstack/date-picker.js +1 -1
  345. package/dist/tanstack/date-range-picker.d.ts +1 -1
  346. package/dist/tanstack/date-range-picker.js +1 -1
  347. package/dist/tanstack/date-time-picker.d.ts +1 -1
  348. package/dist/tanstack/date-time-picker.js +1 -1
  349. package/dist/tanstack/file-input.d.ts +1 -1
  350. package/dist/tanstack/file-input.js +1 -1
  351. package/dist/tanstack/file-upload.d.ts +2 -2
  352. package/dist/tanstack/file-upload.js +1 -1
  353. package/dist/tanstack/form.d.ts +1 -1
  354. package/dist/tanstack/form.js +1 -1
  355. package/dist/tanstack/input.d.ts +1 -1
  356. package/dist/tanstack/inputs.d.ts +3 -3
  357. package/dist/tanstack/inputs.js +1 -1
  358. package/dist/tanstack/number-field.d.ts +1 -1
  359. package/dist/tanstack/number-range-input.d.ts +1 -1
  360. package/dist/tanstack/number-range-input.js +1 -1
  361. package/dist/tanstack/password-input.d.ts +1 -1
  362. package/dist/tanstack/query-select.d.ts +1 -1
  363. package/dist/tanstack/radio-group.d.ts +1 -1
  364. package/dist/tanstack/radio-group.js +1 -1
  365. package/dist/tanstack/rich-text-editor.d.ts +1 -1
  366. package/dist/tanstack/rich-text-editor.js +1 -1
  367. package/dist/tanstack/select.d.ts +1 -1
  368. package/dist/tanstack/select.js +1 -1
  369. package/dist/tanstack/slider.d.ts +1 -1
  370. package/dist/tanstack/slider.js +1 -1
  371. package/dist/tanstack/switch.d.ts +1 -1
  372. package/dist/tanstack/switch.js +1 -1
  373. package/dist/tanstack/table.d.ts +1 -1
  374. package/dist/tanstack/table.js +2 -1
  375. package/dist/tanstack/text-area.d.ts +1 -1
  376. package/dist/tanstack/text-area.js +1 -1
  377. package/dist/tanstack/time-picker.d.ts +1 -1
  378. package/dist/tanstack/time-picker.js +1 -1
  379. package/dist/tanstack/toggle-group.d.ts +2 -2
  380. package/dist/tanstack/toggle-group.js +1 -1
  381. package/dist/tanstack.d.ts +71 -70
  382. package/dist/tanstack.js +68 -55
  383. package/dist/{text-area-CqnKRWKq.d.ts → text-area-DQAtpOQp.d.ts} +1 -1
  384. package/dist/theme-model-DtYPxNvH.js +406 -0
  385. package/dist/theme-model-T1zIdBg8.d.ts +12 -0
  386. package/dist/{time-picker-Cz1GIzpF.d.ts → time-picker-DoGfbil6.d.ts} +1 -1
  387. package/dist/{toast.cva-Cj6o2Rmu.d.ts → toast.cva-By5lvAfr.d.ts} +3 -2
  388. package/dist/toast.cva-C_L_RffH.js +163 -0
  389. package/dist/{toast.runtime-CIKvmkjo.js → toast.runtime-cxex9e4E.js} +2 -1
  390. package/dist/{toggle-group-CPkKHm1t.d.ts → toggle-group-C1nMDOwz.d.ts} +1 -1
  391. package/dist/toggleGroup.cva-MbpaEBg1.js +35 -0
  392. package/dist/{toggleGroup.types-DD6uRI5G.d.ts → toggleGroup.types-Bp43zbSQ.d.ts} +2 -1
  393. package/dist/tooltip.cva-BIzlOXHH.js +48 -0
  394. package/dist/{tooltipWrapper.cva-CUu8pI-a.js → tooltipWrapper.cva-BBQ4ic3D.js} +1 -1
  395. package/dist/{typography.cva-jtp6WWUH.d.ts → typography.cva-D1JOEYl-.d.ts} +2 -1
  396. package/dist/{typography.cva-CJZZSGXW.js → typography.cva-iD15k56p.js} +1 -1
  397. package/dist/{uiConfig.context-D2eUIPHn.js → uiConfig.context-BS3r_kTS.js} +1 -1
  398. package/dist/{uiConfig.context-aoarCLYX.d.ts → uiConfig.context-DeBX2beU.d.ts} +8 -8
  399. package/dist/{uiOverrides.context-Bfm2n-n8.js → uiOverrides.context-BTCH9y5a.js} +2 -2
  400. package/dist/{uiOverrides.context-C3xb4Ttq.d.ts → uiOverrides.context-DEp139He.d.ts} +11 -44
  401. package/dist/underline-66hmELxa.js +81 -0
  402. package/dist/upload-CXU83BJ4.js +30 -0
  403. package/dist/{useBreakpoint-BOA-MyoT.js → useBreakpoint-DQoMN-BG.js} +1 -1
  404. package/dist/useControlledState-CzXkZCX8.js +30 -0
  405. package/dist/{useFieldAccessibility-D2_Qm26-.js → useFieldAccessibility-ScC6Mtd5.js} +15 -8
  406. package/dist/{useFilters-kkEUFKmQ.js → useFilters-XNH27Md2.js} +1 -1
  407. package/dist/{useFormAutosave-BYFn3LH8.js → useFormAutosave-DfuP7drj.js} +2 -2
  408. package/dist/{useStaticInputHandoff-DB9PgioW.js → useStaticInputHandoff-NeZVnci-.js} +14 -11
  409. package/dist/useTableColumnConfig-BTGZiluz.js +892 -0
  410. package/dist/{useTableNav-D9mICzNW.d.ts → useTableNav-Ckj5PBRk.d.ts} +3 -2
  411. package/dist/{useToast-DMSm59Y6.d.ts → useToast-yreVCUer.d.ts} +1 -1
  412. package/package.json +31 -5
  413. package/src/configurator/README.md +71 -0
  414. package/dist/Button-sn52l1Yv.js +0 -506
  415. package/dist/FocusScope-CO9oJ1sc.js +0 -343
  416. package/dist/FormFieldHeaderTooltip-Dl24v4_j.js +0 -45
  417. package/dist/Link-Btxj2gzg.js +0 -42
  418. package/dist/PillButton-DASBXLFB.d.ts +0 -15
  419. package/dist/Tag-Cch_68QO.d.ts +0 -43
  420. package/dist/chain-DIXr2VAT.js +0 -10
  421. package/dist/components/pill-button.d.ts +0 -2
  422. package/dist/focusSafely-DCGrr2bb.js +0 -447
  423. package/dist/getScrollParent-kSR7EtoT.js +0 -47
  424. package/dist/numberStatic.utils-BMgRzyd3.js +0 -902
  425. package/dist/openLink-CQhMhfzO.js +0 -121
  426. package/dist/pillButton.cva-BEWuu0qm.d.ts +0 -34
  427. package/dist/pillButton.cva-DlP5tOT5.js +0 -197
  428. package/dist/platform-BXNIIAfU.js +0 -42
  429. package/dist/staticDateTimeSegments-DR8bJw-F.js +0 -3605
  430. package/dist/switch.cva-8T0fw31t.d.ts +0 -15
  431. package/dist/useControlledState-DQxX6LMN.js +0 -189
  432. package/dist/useFocusable-Bd0UsrQ7.js +0 -63
  433. package/dist/useFormValidationState-D3z-gafz.js +0 -1341
  434. package/dist/useLayoutEffect-B2-1tbPJ.js +0 -83
  435. package/dist/useSyncRef-RGMv0rXK.js +0 -338
  436. package/dist/useTableColumnConfig-CcJxu14U.js +0 -1625
@@ -24,13 +24,14 @@ Use `Button` for an action. Its content is `children`; use `link` only when it n
24
24
  - Use `ToggleButton` for one independently toggled state (`isSelected`, `defaultSelected`, `onChange`). It defaults to outlined primary but honors supplied `variant` and `color`.
25
25
  - Use `SplitButton` only for a primary action with menu alternatives; use `ButtonGroup` for peer actions.
26
26
  - `variant`, `size`, and other CVA props belong to the active override. Never normalize their values inside a component; define default compatibility aliases as CVA entries instead.
27
- - `PillButton` has its own CVA but follows the same variant contract: `solid` and `outline` are default aliases and are passed unchanged to `pillButton.cva` overrides.
27
+ - Use `BadgeButton` from `@povio/ui/badge-button` for a compact, badge-styled action. It has its own CVA but follows the same variant contract: `solid` and `outline` are default aliases and are passed unchanged to `badgeButton.cva` overrides.
28
28
 
29
29
  ## Tags, links, typography
30
30
 
31
31
  Typography sizes are `headline-l`, `h1`–`h4`, `lead`, `body`, `large`, and `small`; There is no typography `variant`; use `className="font-bold"` or `className="italic"` for emphasis. `large` and `small` do not add font weight; use explicit emphasis when needed. Use the same size on mobile and desktop unless explicitly overridden.
32
32
 
33
33
  - `Badge` and `Tag` are display components, not generic buttons. Use `dismissible` and `onRemove` for removal; `dismissable` and `onDismiss` are legacy forms.
34
+ - `Badge` and `BadgeButton` support primary, secondary, success, warning, and error colors with contained, outlined, and subtle variants. Their padding is 2px vertically and 8px horizontally, or 6px horizontally when an icon/dismiss control is present. `Badge isSelected` displays the toggled state; use `BadgeButton toggle` for an interactive toggle. Toggled colors use the same state modifiers as buttons.
34
35
  - Pass remove-button behavior through `dismissButtonProps`; arbitrary button props do not belong on the display container.
35
36
  - Use `Link` for navigation and `Button` for actions.
36
37
  - Use `Typography` with semantic `as` elements (`h1`, `h2`, `p`, `span`) and library typography variants/sizes. Token changes belong in UI overrides, not consumers.
@@ -39,6 +40,7 @@ Typography sizes are `headline-l`, `h1`–`h4`, `lead`, `body`, `large`, and `sm
39
40
 
40
41
  - Use `Alert` for persistent inline status, `Toast`/`useToast` for transient notifications, `Spinner` for indeterminate progress, and `Progress` for numeric progress.
41
42
  - For alerts and toasts, keep `variant` (`contained`/`outlined`) separate from semantic `color` (`neutral`, `success`, `warning`, `error`).
43
+ - Alert and Toast message text uses `large` typography. Outlined messages use `surface-default-card-foreground` text and primary text-button actions. Contained messages use `surface-inverted-card-foreground` for neutral, `surface-success-inverted-base` for success, `surface-warning-inverted-base` for warning, and `surface-destructive-inverted-base` for error; actions use inverted primary text buttons. Actions use `size="none"`, with `toast-gap-action` spacing between them. Alert's `rightContent` is caller supplied, so configure its actions with `TextButton size="none" color="primary" inverted={variant === "contained"}`.
42
44
  - Toast actions are `{ text, onPress }`; keep them short and non-destructive.
43
45
 
44
46
  ## Reference
package/README.md CHANGED
@@ -12,6 +12,7 @@ Use component and feature subpaths in application code. Each subpath resolves to
12
12
 
13
13
  ```tsx
14
14
  import { Button } from "@povio/ui/button";
15
+ import { BadgeButton } from "@povio/ui/badge-button";
15
16
  import { Dialog } from "@povio/ui/dialog";
16
17
  import { Select } from "@povio/ui/tanstack/select";
17
18
  import { useForm } from "@povio/ui/tanstack/form";
@@ -25,7 +26,7 @@ The broad `@povio/ui`, `@povio/ui/rhf`, and `@povio/ui/tanstack` entries remain
25
26
 
26
27
  Feature dependencies are optional peers. Install the matching packages when using date/calendar entries, `@povio/ui/tanstack/table`, RHF/TanStack Form inputs, or the rich text editor. Basic components such as Button, Typography, and Dialog do not require table, drag-and-drop, calendar, or TipTap packages.
27
28
 
28
- React Aria is an internal `@povio/ui` dependency and does not need to be installed separately. Povio component entries include the React Aria implementation they use. Component-scoped escape-hatch entries expose only the corresponding React Aria primitive and its types for custom implementations:
29
+ React Aria is an internal `@povio/ui` dependency and does not need to be installed separately. The build keeps `react-aria` and all its subpaths external so providers and Povio components share the installed module contexts. Component-scoped escape-hatch entries expose only the corresponding React Aria primitive and its types for custom implementations:
29
30
 
30
31
  ```tsx
31
32
  import { Link, type LinkProps } from "@povio/ui/link/react-aria";
@@ -40,6 +41,23 @@ The React Aria hooks used by Povio are similarly isolated under `use-text-field`
40
41
 
41
42
  Each emitted entry is independently bundled and tree-shaken; it does not forward React Aria's aggregate barrel or share a generated aggregate chunk with unrelated controls. Ordinary Povio component imports do not include the escape-hatch entries.
42
43
 
44
+ Use `Badge` for display content, `BadgeButton` for a compact, badge-styled action, and `ToggleButton` or `ToggleGroup` for selection. `BadgeButton` uses the theme's `badge-*` spacing and radius tokens; customize its recipe through `UIOverrides.badgeButton`.
45
+
46
+ ## Theme configurator
47
+
48
+ The live theme editor ships separately as `@povio/ui/ui-configurator`, with its stylesheet at `@povio/ui/ui-configurator/styles`. It is independent of Storybook and is excluded from ordinary component imports. For only the `parseThemeCss` / `exportCss` helpers and token types, use the lightweight `@povio/ui/ui-configurator/theme` entry.
49
+
50
+ To save its Tailwind CSS export directly to your app's theme during development, add the bundled Vite plugin:
51
+
52
+ ```ts
53
+ import { uiConfigurator } from "@povio/ui/ui-configurator/vite";
54
+
55
+ // In your Vite plugins array:
56
+ uiConfigurator({ themeFile: "src/styles/theme.css" });
57
+ ```
58
+
59
+ The path defaults to `src/styles/theme.css` relative to this app's Vite root. **Advanced → Export → Tailwind CSS → Save theme** updates that file's token declarations and lets Vite reload the CSS. Each app writes only its own configured theme. Apply remains session-only; Cancel does not undo a file save. The plugin and save action are absent from builds and preview servers. See [the configurator guide](./src/configurator/README.md) for provider setup, preview behavior, and supported theme blocks.
60
+
43
61
  ## Button sizes
44
62
 
45
63
  `Button` supports `sm` (with `s` as an equivalent alias), `default`, and `none` (zero padding). Omitting `size` uses `default`. The same sizes apply to `IconButton`, `InlineIconButton`, `TextButton`, `ToggleButton`, and `SplitButton`.
@@ -54,6 +72,10 @@ Inputs support `size="small"` and `default`. Omit `size` for the default. This a
54
72
 
55
73
  Replace `size="extra-small"` with `size="small"`, and remove `size="large"` or `size="default"` to use the default. Small and default retain their existing spacing.
56
74
 
75
+ ## Built-package tests
76
+
77
+ From `packages/ui`, run `bun run test:package` to build the publishable package and run its Chromium regressions. The tests resolve public imports through `dist/package.json`, covering both date pickers with empty and populated values in static and editable modes, including locale switches without remounting.
78
+
57
79
  ## Versioning
58
80
 
59
81
  `^2.1` still corresponds to Atlas 2.1. All versions after that currently target Atlas 2.2 and follow semantic versioning — breaking changes bump the major version.
@@ -124,9 +146,9 @@ We also use a custom tailwind plugin to shorten some selectors inside the @povio
124
146
  @plugin "@povio/ui/tw-ui-plugin";
125
147
  ```
126
148
 
127
- ### Background tint utility
149
+ ### State color utilities
128
150
 
129
- Import the color utilities in your application's Tailwind stylesheet. This import is required because `@povio/ui` button styles use these utilities:
151
+ Import the color utilities in your application's Tailwind stylesheet. This import is required because `@povio/ui` components use these utilities:
130
152
 
131
153
  ```css
132
154
  @import "tailwindcss";
@@ -134,18 +156,39 @@ Import the color utilities in your application's Tailwind stylesheet. This impor
134
156
  @import "@povio/ui/color-utilities";
135
157
  ```
136
158
 
137
- Use `bg-tint-<color>/<percentage>` to mix a theme color with white in sRGB. The color name resolves to your theme's `--color-<color>` token. The required modifier is an integer from `0` to `100`: `/80` keeps 80% of the original color and adds 20% white, `/100` keeps the original color, and `/0` produces white. Lower numbers produce lighter tints.
159
+ Use `bg-state-<color>/<state>`, `border-state-<color>/<state>`, `border-b-state-<color>/<state>`, or `text-state-<color>/<state>` to mix a theme color with a named state color in sRGB. The color resolves to `--color-<color>`. For each state, define `--states-<state>-color` and `--states-<state>-opacity` in the light and dark themes, then expose them as `--state-color-<state>` and `--state-opacity-<state>` in `@theme inline`. The theme export supplies these aliases, so additional state names require no change to the utilities.
138
160
 
139
161
  ```tsx
140
162
  <button
141
163
  type="button"
142
- className="bg-interactive-primary-background text-interactive-primary-foreground hover:bg-tint-interactive-primary-background/80"
164
+ className="bg-interactive-primary-background border-interactive-primary-background text-interactive-primary-foreground hover:bg-state-interactive-primary-background/hover hover:border-state-interactive-primary-background/hover"
143
165
  >
144
- Hover to lighten
166
+ Hover to change state color
145
167
  </button>
146
168
  ```
147
169
 
148
- The utility supports standard Tailwind variants such as `hover:`, `focus-visible:`, and `dark:`. With an opaque starting color, the result remains fully opaque and does not depend on the background behind the element. This differs from the standard `bg-<color>/80` opacity modifier. It mixes with white rather than adjusting OKLCH lightness, and only changes the background color; text and children are unaffected.
170
+ The utilities support standard Tailwind variants such as `hover:`, `focus-visible:`, and `dark:`. With an opaque starting color and state mix color, the result remains opaque. Using the same base color and state for background and border gives them exactly the same result. The state mix color can be white, black, or another color supplied by the theme.
171
+
172
+ ### Icon slots
173
+
174
+ `IconSlot` reserves the Figma `icons-size` spacing token (`--spacing-icons-size`, exposed as `size-icons-size`) and centers an SVG at 80% of that size. Buttons and input icon props use it automatically, whether you pass a component reference or an element. Export this token in your Tailwind theme alongside the other Figma spacing tokens.
175
+
176
+ ```tsx
177
+ import { Plus } from "lucide-react";
178
+ import { IconSlot } from "@povio/ui/icon-slot";
179
+
180
+ <IconSlot icon={Plus} />;
181
+ <IconSlot
182
+ icon={<Plus strokeWidth={1.5} />}
183
+ scale={0.8}
184
+ />;
185
+ ```
186
+
187
+ `IconSlot` is also exported from `@povio/ui`, `@povio/ui/rhf`, `@povio/ui/tanstack`, and `@povio/ui/icons`. `className` styles the outer slot; `iconClassName` styles the SVG. The slot controls SVG dimensions, including supplied SVGs with their own size classes. Use the inherited CSS variable `--icons-scale` to change the default ratio throughout a theme, or `scale` to override one slot. A 20px token at `0.8` produces a 16px SVG; a 24px token produces a 19.2px SVG. Stroke width continues to follow the icon's own configuration.
188
+
189
+ Override the shared recipe through `UIOverrides` at `iconSlot.cva`. Component-specific icon recipes, such as `button.iconSize`, now style the outer slot. An explicitly configured slot passed to a button or input keeps its configuration without nesting another slot.
190
+
191
+ Storybook's **UI / Components / Icons / IconSlot** page includes a playground, raw-versus-slotted comparisons, and button/input examples. Adjust `tokenSize` and `scale` in Controls and enable slot outlines to compare against the Figma frame at 100% browser zoom.
149
192
 
150
193
  ### Z-Index
151
194
 
@@ -1,12 +1,15 @@
1
1
  import { t as ChevronDown } from "./chevron-down-B4Pr8bD3.js";
2
2
  import { t as clsx } from "./clsx-CnD0nOiA.js";
3
+ import { t as UIOverrides } from "./uiOverrides.context-BTCH9y5a.js";
4
+ import { t as IconSlot } from "./IconSlot-DSK7qNxc.js";
3
5
  import { n as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, o as $7230ffa83bc0c2cf$export$c62b8e45d58ddad9, r as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, s as $7230ffa83bc0c2cf$export$df3a06d6289f983e, t as $7230ffa83bc0c2cf$export$2881499e37b75b9a } from "./utils-Czcqspm7.js";
4
6
  import { n as $7705c033048f6da7$export$353f5b6fc5456de1, t as $7705c033048f6da7$export$24d547caef80ccd1 } from "./Button-D6KlWSFL.js";
5
7
  import { t as $2ec61d1d4f780267$export$a8a3e93435678ff9 } from "./Heading-nI1_VOaE.js";
6
- import { t as UIOverrides } from "./uiOverrides.context-Bfm2n-n8.js";
7
- import { t as Typography } from "./Typography-B0Gp1lpc.js";
8
+ import { t as Typography } from "./Typography-LU4z2pR1.js";
9
+ import { a as accordionHeadingTitleDefinition, c as accordionPanelContentDefinition, i as accordionHeadingSubtitleDefinition, l as accordionPanelDefinition, n as accordionDefinition, o as accordionIconDefinition, r as accordionHeadingDefinition, s as accordionItemDefinition, t as accordionChevronDefinition, u as accordionTriggerDefinition } from "./accordion.cva-CL1bVscW.js";
8
10
  import $ahdqC$react, { createContext, forwardRef, useContext } from "react";
9
11
  import { c } from "react/compiler-runtime";
12
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
13
  import { mergeProps } from "react-aria/mergeProps";
11
14
  import { mergeRefs } from "react-aria/mergeRefs";
12
15
  import { filterDOMProps } from "react-aria/filterDOMProps";
@@ -15,7 +18,6 @@ import { useId as useId$1 } from "react-aria/useId";
15
18
  import { useDisclosure } from "react-aria/useDisclosure";
16
19
  import { useDisclosureGroupState } from "react-stately/useDisclosureGroupState";
17
20
  import { useDisclosureState } from "react-stately/useDisclosureState";
18
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
19
21
  //#region ../../node_modules/.bun/react-aria-components@1.21.1+67f6792bdf102c28/node_modules/react-aria-components/dist/private/Disclosure.mjs
20
22
  const $a3e16eab0ea4036c$export$1d40e3e0cc4d5de = /*#__PURE__*/ createContext(null);
21
23
  const $a3e16eab0ea4036c$export$944aceb4f8c89f10 = /*#__PURE__*/ forwardRef(function DisclosureGroup(props, ref) {
@@ -113,133 +115,6 @@ const $a3e16eab0ea4036c$export$feabaa331e1d464c = /*#__PURE__*/ forwardRef(funct
113
115
  }, /*#__PURE__*/ $ahdqC$react.createElement($7230ffa83bc0c2cf$export$2881499e37b75b9a, { values: [[$7705c033048f6da7$export$24d547caef80ccd1, null]] }, props.children));
114
116
  });
115
117
  //#endregion
116
- //#region src/components/navigation/Accordion/accordion.cva.ts
117
- const accordionDefinition = UIOverrides.defineConfig({
118
- base: ["flex w-full flex-col"],
119
- config: {
120
- variants: {
121
- variant: {
122
- filled: "gap-1",
123
- outlined: ""
124
- },
125
- singleItem: {
126
- true: "",
127
- false: ""
128
- }
129
- },
130
- defaultVariants: {
131
- variant: "filled",
132
- singleItem: false
133
- },
134
- compoundVariants: [{
135
- variant: "outlined",
136
- singleItem: false,
137
- className: "rounded-global-rounding-s border border-border-default-subtle"
138
- }]
139
- }
140
- });
141
- const accordionItemDefinition = UIOverrides.defineConfig({
142
- base: ["flex w-full flex-col"],
143
- config: {
144
- variants: {
145
- variant: {
146
- filled: "rounded-accordion-rounding-filled bg-surface-default-background",
147
- outlined: ""
148
- },
149
- singleItem: {
150
- true: "",
151
- false: ""
152
- }
153
- },
154
- defaultVariants: {
155
- variant: "filled",
156
- singleItem: false
157
- },
158
- compoundVariants: [{
159
- singleItem: true,
160
- variant: "outlined",
161
- className: "border-border-default-subtle border-b"
162
- }, {
163
- singleItem: false,
164
- variant: "outlined",
165
- className: "not-last:border-border-default-subtle not-last:border-b"
166
- }]
167
- }
168
- });
169
- const accordionTriggerDefinition = UIOverrides.defineConfig({
170
- base: [
171
- "group flex w-full items-center gap-accordion-gap-content-to-arrow",
172
- "px-accordion-side-accordion py-accordion-height-accordion",
173
- "outline-none focus-visible:ring-2 focus-visible:ring-interactive-ring"
174
- ],
175
- config: {
176
- variants: {
177
- variant: {
178
- outlined: "rounded-accordion-rounding-outlined hover:bg-tint-surface-default-popover/80",
179
- filled: "rounded-accordion-rounding-filled bg-surface-default-background hover:bg-tint-surface-default-popover/80"
180
- },
181
- actionPosition: {
182
- left: "flex-row-reverse",
183
- right: "flex-row"
184
- },
185
- disabled: { true: "opacity-50" }
186
- },
187
- defaultVariants: {
188
- variant: "filled",
189
- actionPosition: "right"
190
- }
191
- }
192
- });
193
- const accordionHeadingDefinition = UIOverrides.defineConfig({
194
- base: ["flex flex-1 items-center justify-between gap-accordion-gap-content-to-arrow"],
195
- config: {
196
- variants: {},
197
- defaultVariants: {}
198
- }
199
- });
200
- const accordionHeadingTitleDefinition = UIOverrides.defineConfig({
201
- base: ["flex-1 text-left text-surface-default-card-foreground"],
202
- config: {
203
- variants: {},
204
- defaultVariants: {}
205
- }
206
- });
207
- const accordionHeadingSubtitleDefinition = UIOverrides.defineConfig({
208
- base: ["flex-1 text-left text-surface-default-foreground"],
209
- config: {
210
- variants: {},
211
- defaultVariants: {}
212
- }
213
- });
214
- const accordionChevronDefinition = UIOverrides.defineConfig({
215
- base: ["size-6 shrink-0 text-surface-default-popover-foreground transition-transform duration-200"],
216
- config: {
217
- variants: { isExpanded: {
218
- true: "rotate-180",
219
- false: "rotate-0"
220
- } },
221
- defaultVariants: { isExpanded: false }
222
- }
223
- });
224
- const accordionIconDefinition = UIOverrides.defineConfig({
225
- base: ["size-6 shrink-0 text-surface-default-popover-foreground"],
226
- config: {
227
- variants: {},
228
- defaultVariants: {}
229
- }
230
- });
231
- const accordionPanelDefinition = UIOverrides.defineConfig({
232
- base: [""],
233
- config: { variants: { isExpanded: { true: "px-accordion-side-accordion pt-0 pb-accordion-height-accordion" } } }
234
- });
235
- const accordionPanelContentDefinition = UIOverrides.defineConfig({
236
- base: ["py-accordion-height-content"],
237
- config: {
238
- variants: {},
239
- defaultVariants: {}
240
- }
241
- });
242
- //#endregion
243
118
  //#region src/components/navigation/Accordion/AccordionItem.tsx
244
119
  const AccordionItem = (t0) => {
245
120
  const $ = c(25);
@@ -282,7 +157,10 @@ const AccordionItem = (t0) => {
282
157
  children: /* @__PURE__ */ jsxs("div", {
283
158
  className: "flex flex-1 items-center gap-accordion-gap-icon-to-text",
284
159
  children: [
285
- Icon && /* @__PURE__ */ jsx(Icon, { className: iconCva({}) }),
160
+ Icon && /* @__PURE__ */ jsx(IconSlot, {
161
+ icon: Icon,
162
+ className: iconCva({})
163
+ }),
286
164
  /* @__PURE__ */ jsx(Typography, {
287
165
  size: "small",
288
166
  className: headingTitleCva({}),
@@ -295,12 +173,18 @@ const AccordionItem = (t0) => {
295
173
  })
296
174
  ]
297
175
  })
298
- }), /* @__PURE__ */ jsx(ChevronDown, { className: chevronCva({ isExpanded }) })]
176
+ }), /* @__PURE__ */ jsx(IconSlot, {
177
+ icon: ChevronDown,
178
+ className: chevronCva({ isExpanded })
179
+ })]
299
180
  }) }), /* @__PURE__ */ jsx($a3e16eab0ea4036c$export$feabaa331e1d464c, {
300
- className: panelCva({ isExpanded }),
181
+ className: clsx("h-(--disclosure-panel-height) overflow-clip transition-[height,opacity] duration-200 ease-out motion-reduce:transition-none", isExpanded ? "opacity-100" : "opacity-0"),
301
182
  children: /* @__PURE__ */ jsx("div", {
302
- className: panelContentCva({}),
303
- children
183
+ className: panelCva({ isExpanded }),
184
+ children: /* @__PURE__ */ jsx("div", {
185
+ className: panelContentCva({}),
186
+ children
187
+ })
304
188
  })
305
189
  })] });
306
190
  };
@@ -411,4 +295,4 @@ const Accordion = (t0) => {
411
295
  return t7;
412
296
  };
413
297
  //#endregion
414
- export { accordionHeadingSubtitleDefinition as a, accordionItemDefinition as c, accordionTriggerDefinition as d, accordionHeadingDefinition as i, accordionPanelContentDefinition as l, accordionChevronDefinition as n, accordionHeadingTitleDefinition as o, accordionDefinition as r, accordionIconDefinition as s, Accordion as t, accordionPanelDefinition as u };
298
+ export { Accordion as t };
@@ -1,11 +1,12 @@
1
- import { t as UIOverrides } from "./uiOverrides.context-Bfm2n-n8.js";
2
- import { t as Typography } from "./Typography-B0Gp1lpc.js";
3
- import { t as Spinner } from "./Spinner-BEYBu85B.js";
1
+ import { t as UIOverrides } from "./uiOverrides.context-BTCH9y5a.js";
2
+ import { t as IconSlot } from "./IconSlot-DSK7qNxc.js";
3
+ import { t as Typography } from "./Typography-LU4z2pR1.js";
4
+ import { t as Spinner } from "./Spinner-BeVTUzzx.js";
4
5
  import { c } from "react/compiler-runtime";
5
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
7
  //#region src/components/status/Alert/alert.cva.ts
7
8
  const alertDefinition = UIOverrides.defineConfig({
8
- base: ["min-h-0 overflow-hidden rounded-alert-rounding-default p-0"],
9
+ base: ["min-h-0 overflow-hidden rounded-alert-rounding-default p-0 shadow-4"],
9
10
  config: {
10
11
  variants: {
11
12
  variant: {
@@ -38,7 +39,7 @@ const alertDefinition = UIOverrides.defineConfig({
38
39
  {
39
40
  variant: "outlined",
40
41
  color: "error",
41
- className: "border-surface-destructive-base"
42
+ className: "border-border-destructive-base"
42
43
  },
43
44
  {
44
45
  variant: "contained",
@@ -70,7 +71,7 @@ const alertDefinition = UIOverrides.defineConfig({
70
71
  //#endregion
71
72
  //#region src/components/status/shared/status.cva.ts
72
73
  const statusIconDefinition = UIOverrides.defineConfig({
73
- base: ["size-6 shrink-0"],
74
+ base: ["size-icons-size shrink-0"],
74
75
  config: {
75
76
  variants: {
76
77
  variant: {
@@ -163,10 +164,13 @@ const Alert = (t0) => {
163
164
  } else t3 = $[6];
164
165
  let t4;
165
166
  if ($[7] !== Icon || $[8] !== color || $[9] !== iconCva || $[10] !== isLoading || $[11] !== variant) {
166
- t4 = !isLoading && Icon && /* @__PURE__ */ jsx(Icon, { className: iconCva({
167
- variant,
168
- color
169
- }) });
167
+ t4 = !isLoading && Icon && /* @__PURE__ */ jsx(IconSlot, {
168
+ icon: Icon,
169
+ className: iconCva({
170
+ variant,
171
+ color
172
+ })
173
+ });
170
174
  $[7] = Icon;
171
175
  $[8] = color;
172
176
  $[9] = iconCva;
@@ -177,7 +181,7 @@ const Alert = (t0) => {
177
181
  let t5;
178
182
  if ($[13] !== text) {
179
183
  t5 = /* @__PURE__ */ jsx(Typography, {
180
- size: "small",
184
+ size: "large",
181
185
  children: text
182
186
  });
183
187
  $[13] = text;
@@ -204,7 +208,7 @@ const Alert = (t0) => {
204
208
  variant,
205
209
  color
206
210
  }) }), /* @__PURE__ */ jsx("div", {
207
- className: "flex w-full shrink-0 flex-wrap items-center justify-end gap-alert-gap-action px-alert-side-default py-alert-height-actions-mobile md:w-auto md:justify-center md:py-alert-height-actions-desktop",
211
+ className: "flex w-full shrink-0 flex-wrap items-center justify-end gap-toast-gap-action px-alert-side-default py-alert-height-actions-mobile md:w-auto md:justify-center md:py-alert-height-actions-desktop",
208
212
  children: rightContent
209
213
  })] });
210
214
  $[19] = color;
@@ -1,4 +1,5 @@
1
- import { n as StyleMergeUtils, t as UIOverrides } from "./uiOverrides.context-C3xb4Ttq.js";
1
+ import { t as StyleMergeUtils } from "./style-merge.util-zLimKwt6.js";
2
+ import { t as UIOverrides } from "./uiOverrides.context-DEp139He.js";
2
3
  import { FC, ReactNode, SVGProps } from "react";
3
4
  //#region src/components/status/Alert/alert.cva.d.ts
4
5
  declare const alertDefinition: {
@@ -1,6 +1,6 @@
1
- import { n as ButtonVariantProps } from "./button.cva-BvRI-3Gn.js";
2
- import { n as DialogProps } from "./Dialog-DEbI_9S-.js";
3
- import { r as TypographyPropsCva } from "./Typography-BiuidzDC.js";
1
+ import { n as ButtonVariantProps } from "./button.cva-C7kEhgoA.js";
2
+ import { n as DialogProps } from "./Dialog-CW93T9X1.js";
3
+ import { r as TypographyPropsCva } from "./Typography-XljT9s02.js";
4
4
  //#region src/components/overlays/AlertDialog/AlertDialog.d.ts
5
5
  interface AlertDialogAction {
6
6
  label: string;
@@ -1,5 +1,5 @@
1
1
  import { n as FieldValues } from "./form.binding-DVJ5F0JE.js";
2
- import { n as GroupedSelectControlProps, o as SelectBaseProps, r as GroupedSelectProps, t as DefaultInitialSelectItem } from "./SelectBase-7SE9Za2r.js";
2
+ import { n as GroupedSelectControlProps, o as SelectBaseProps, r as GroupedSelectProps, t as DefaultInitialSelectItem } from "./SelectBase-Omiq2D3M.js";
3
3
  import { s as OmitDiscriminatedUnion } from "./common-UBFya8WY.js";
4
4
  import { ReactElement } from "react";
5
5
  import { Key } from "react-aria-components";
@@ -1,9 +1,9 @@
1
- import { t as PillButtonVariants } from "./pillButton.cva-BEWuu0qm.js";
2
- import { n as TypographyProps } from "./Typography-BiuidzDC.js";
3
- import { Ref } from "react";
1
+ import { t as BadgeButtonVariants } from "./badgeButton.cva-B2bgCQP6.js";
2
+ import { n as TypographyProps } from "./Typography-XljT9s02.js";
3
+ import { FC, Ref, SVGProps } from "react";
4
4
  import { ButtonProps } from "react-aria-components";
5
5
  //#region src/components/text/Badge/Badge.d.ts
6
- interface BadgeProps extends PillButtonVariants {
6
+ interface BadgeProps extends BadgeButtonVariants {
7
7
  className?: string;
8
8
  children: string;
9
9
  /** Preferred spelling. `dismissable` remains supported. */
@@ -11,6 +11,9 @@ interface BadgeProps extends PillButtonVariants {
11
11
  dismissable?: boolean;
12
12
  isDisabled?: boolean;
13
13
  disabled?: boolean;
14
+ /** Display the toggled appearance without making the badge interactive. */
15
+ isSelected?: boolean;
16
+ icon?: FC<SVGProps<SVGSVGElement>>;
14
17
  contentRef?: Ref<HTMLElement>;
15
18
  textSize?: TypographyProps["size"];
16
19
  /** Preferred callback name. */
@@ -22,6 +25,6 @@ interface BadgeProps extends PillButtonVariants {
22
25
  /** Compatibility callback for the historical button-like prop surface. */
23
26
  onPress?: ButtonProps["onPress"];
24
27
  }
25
- declare const Badge: ({ className, children, dismissible, dismissable, isDisabled, disabled, onRemove, onDismiss, dismissButtonProps, excludeFromTabOrder, onPress, contentRef, variant, textSize: textSizeProp, ...appearanceProps }: BadgeProps) => import("react").JSX.Element;
28
+ declare const Badge: ({ className, children, dismissible, dismissable, isDisabled, disabled, isSelected, icon: Icon, onRemove, onDismiss, dismissButtonProps, excludeFromTabOrder, onPress, contentRef, variant, textSize: textSizeProp, ...appearanceProps }: BadgeProps) => import("react").JSX.Element;
26
29
  //#endregion
27
30
  export { BadgeProps as n, Badge as t };
@@ -0,0 +1,15 @@
1
+ import { t as BadgeButtonVariants } from "./badgeButton.cva-B2bgCQP6.js";
2
+ import { t as ButtonContentVariantProps } from "./buttonContent.cva-DPIlROA9.js";
3
+ import { FC, ReactNode, Ref, SVGProps } from "react";
4
+ import { ButtonProps, ToggleButtonProps } from "react-aria-components";
5
+ //#region src/components/buttons/BadgeButton/BadgeButton.d.ts
6
+ interface BadgeButtonProps extends ButtonProps, Omit<ToggleButtonProps, keyof ButtonProps>, ButtonContentVariantProps, BadgeButtonVariants {
7
+ children: ReactNode;
8
+ dismissable?: boolean;
9
+ toggle?: boolean;
10
+ icon?: FC<SVGProps<SVGSVGElement>>;
11
+ contentRef?: Ref<HTMLElement>;
12
+ }
13
+ declare const BadgeButton: ({ children, dismissable, toggle, icon, iconPosition, contentRef, ...props }: BadgeButtonProps) => import("react").JSX.Element;
14
+ //#endregion
15
+ export { BadgeButtonProps as n, BadgeButton as t };
@@ -1,13 +1,14 @@
1
- import { t as UIConfig } from "./uiConfig.context-D2eUIPHn.js";
1
+ import { t as UIConfig } from "./uiConfig.context-BS3r_kTS.js";
2
2
  import { t as X } from "./x-B6vfz8Ps.js";
3
3
  import { t as clsx } from "./clsx-CnD0nOiA.js";
4
- import { n as $f2ff30fde7b014be$export$3ddf2d174ce01153, t as $f2ff30fde7b014be$export$2e1e1122cf0cba88 } from "./Dialog-CXoVeIkU.js";
4
+ import { t as IconSlot } from "./IconSlot-DSK7qNxc.js";
5
+ import { n as $f2ff30fde7b014be$export$3ddf2d174ce01153, t as $f2ff30fde7b014be$export$2e1e1122cf0cba88 } from "./Dialog-CKLkS00H.js";
5
6
  import { n as $7705c033048f6da7$export$353f5b6fc5456de1 } from "./Button-D6KlWSFL.js";
6
- import { n as $8b8d26808cb8cb53$export$8948f78d83984c69, t as $8b8d26808cb8cb53$export$2b77a92f1a5ad772 } from "./Modal-CoFt5PGP.js";
7
- import { t as Typography } from "./Typography-B0Gp1lpc.js";
7
+ import { n as $8b8d26808cb8cb53$export$8948f78d83984c69, t as $8b8d26808cb8cb53$export$2b77a92f1a5ad772 } from "./Modal-w60dVQcb.js";
8
+ import { t as Typography } from "./Typography-LU4z2pR1.js";
8
9
  import { a as $a8ea2faf2ebe4d2f$re_export$useResizeObserver, o as $a8ea2faf2ebe4d2f$re_export$useViewportSize } from "./import-BE0r63d8.js";
9
10
  import "./i18n-CX2EjhJI.js";
10
- import { n as useStateAndRef, t as DomUtils } from "./dom.utils-DjuRTR6U.js";
11
+ import { n as useStateAndRef, t as DomUtils } from "./dom.utils-D1AopHx9.js";
11
12
  import { useEffect, useMemo, useRef, useState } from "react";
12
13
  import { c } from "react/compiler-runtime";
13
14
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -54,7 +55,7 @@ const BottomSheetHeader = (t0) => {
54
55
  onPress: onClose,
55
56
  "aria-label": t(_temp),
56
57
  className: "-m-2 shrink-0 p-2 text-surface-default-foreground focus-visible:outline-interactive-ring",
57
- children: /* @__PURE__ */ jsx(X, { className: "size-6" })
58
+ children: /* @__PURE__ */ jsx(IconSlot, { icon: X })
58
59
  })]
59
60
  });
60
61
  $[6] = headerTypography;
@@ -1,4 +1,4 @@
1
- import { t as TypographyVariantProps } from "./typography.cva-jtp6WWUH.js";
1
+ import { t as TypographyVariantProps } from "./typography.cva-D1JOEYl-.js";
2
2
  import { ReactNode, RefObject } from "react";
3
3
  //#region src/components/overlays/BottomSheet/BottomSheet.d.ts
4
4
  type BottomSheetState = "closed" | "opening" | "opened" | "closing";
@@ -1,4 +1,4 @@
1
- import { t as BottomSheetProps } from "./BottomSheet-xaymO7aQ.js";
1
+ import { t as BottomSheetProps } from "./BottomSheet-DbQuzfAB.js";
2
2
  //#region src/components/overlays/BottomSheet/BottomSheet.lazy.d.ts
3
3
  declare const BottomSheet: ({ isOpen, onOpenChange, trigger, ...props }: BottomSheetProps) => import("react").JSX.Element;
4
4
  //#endregion
@@ -1,4 +1,4 @@
1
- import { n as LinkNavigationProps } from "./Link-QYpprkN1.js";
1
+ import { n as LinkNavigationProps } from "./Link-Ow9H7kNv.js";
2
2
  import { FC, SVGProps } from "react";
3
3
  import { Key } from "react-aria-components";
4
4
  //#region src/components/Breadcrumbs/Breadcrumbs.d.ts