@12-apps/ui 6.36.0 → 6.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
  2. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
  3. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
  4. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +36 -36
  5. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +48 -48
  6. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  7. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +4 -4
  8. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +9 -9
  9. package/dist/_internal/components/data-display/DataViews/base-card.js +2 -2
  10. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
  11. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +2 -2
  12. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +6 -6
  13. package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -10
  14. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +11 -11
  15. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
  16. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +9 -9
  17. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +5 -5
  18. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +3 -3
  19. package/dist/_internal/components/data-display/DataViews/data-views-export.js +3 -3
  20. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
  21. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +10 -10
  22. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
  23. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +33 -33
  24. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +15 -15
  25. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +4 -4
  26. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +3 -3
  27. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +5 -5
  28. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +3 -3
  29. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +13 -13
  30. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +12 -12
  31. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +12 -12
  32. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +3 -3
  33. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +5 -5
  34. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
  35. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +2 -2
  36. package/dist/_internal/components/data-display/index.js +2 -2
  37. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  38. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
  39. package/dist/_internal/components/feedback/index.js +4 -4
  40. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
  41. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -4
  42. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +3 -2
  43. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +3 -2
  44. package/dist/_internal/components/form/AddressAutocomplete/AddressSuggestionsPaper.js +2 -1
  45. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +2 -1
  46. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +3 -2
  47. package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +2 -1
  48. package/dist/_internal/components/form/Button/Button.js +2 -2
  49. package/dist/_internal/components/form/Button/Button.styles.js +1 -1
  50. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +6 -6
  51. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +2 -2
  52. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +2 -2
  53. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  54. package/dist/_internal/components/form/CategorySelect/CategoryPanelSurface.js +2 -1
  55. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  56. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +10 -10
  57. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
  58. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +2 -2
  59. package/dist/_internal/components/form/CepField/CepField.js +4 -4
  60. package/dist/_internal/components/form/Checkbox/Checkbox.js +1 -1
  61. package/dist/_internal/components/form/CodeEditor/CodeEditor.helpers.js +1 -1
  62. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
  63. package/dist/_internal/components/form/Command/Command.hooks.js +1 -1
  64. package/dist/_internal/components/form/Command/Command.js +4 -4
  65. package/dist/_internal/components/form/Command/Command.parts.js +2 -1
  66. package/dist/_internal/components/form/Command/Command.styles.js +1 -1
  67. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +2 -2
  68. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +2 -2
  69. package/dist/_internal/components/form/DateRangePicker/DateRangePickerQuickList.js +1 -1
  70. package/dist/_internal/components/form/Form/Form.js +1 -1
  71. package/dist/_internal/components/form/HeaderActions/HeaderActions.js +1 -1
  72. package/dist/_internal/components/form/Input/Input.js +3 -2
  73. package/dist/_internal/components/form/Input/Input.styles.js +2 -1
  74. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  75. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
  76. package/dist/_internal/components/form/Label/Label.js +2 -2
  77. package/dist/_internal/components/form/Label/Label.styles.js +1 -1
  78. package/dist/_internal/components/form/Menubar/Menubar.item.js +2 -2
  79. package/dist/_internal/components/form/Menubar/Menubar.js +4 -4
  80. package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
  81. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +3 -3
  82. package/dist/_internal/components/form/PasswordStrength/PasswordStrength.js +1 -1
  83. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
  84. package/dist/_internal/components/form/RadioGroup/RadioGroup.animations.js +2 -1
  85. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +4 -4
  86. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +2 -2
  87. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +3 -3
  88. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  89. package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +2 -1
  90. package/dist/_internal/components/form/SearchPalette/SearchPalette.js +2 -2
  91. package/dist/_internal/components/form/SearchPalette/SearchPalette.parts.js +1 -1
  92. package/dist/_internal/components/form/Select/Select.js +2 -1
  93. package/dist/_internal/components/form/Slider/Slider.animations.js +2 -1
  94. package/dist/_internal/components/form/Slider/Slider.js +3 -3
  95. package/dist/_internal/components/form/Slider/Slider.styles.js +2 -2
  96. package/dist/_internal/components/form/Switch/Switch.animations.js +2 -1
  97. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  98. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  99. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  100. package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
  101. package/dist/_internal/components/form/Textarea/Textarea.styles.js +2 -1
  102. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +12 -11
  103. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  104. package/dist/_internal/components/form/Toggle/Toggle.js +2 -2
  105. package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
  106. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
  107. package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
  108. package/dist/_internal/components/form/UploadButton/UploadButton.parts.js +1 -1
  109. package/dist/_internal/components/form/index.js +56 -56
  110. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +11 -11
  111. package/dist/_internal/components/form/total-form/Fields/CepField.js +5 -5
  112. package/dist/_internal/components/form/total-form/Fields/SelectField.js +3 -3
  113. package/dist/_internal/components/form/total-form/Fields/TextField.js +4 -4
  114. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +3 -3
  115. package/dist/_internal/components/form/total-form/Fields/index.js +21 -21
  116. package/dist/_internal/components/form/total-form/FormContainer.js +2 -2
  117. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  118. package/dist/_internal/components/index.js +63 -63
  119. package/dist/_internal/components/layout/Dashboard/Dashboard.js +3 -3
  120. package/dist/_internal/components/layout/Dashboard/DashboardParts.js +2 -2
  121. package/dist/_internal/components/layout/index.js +3 -3
  122. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +3 -3
  123. package/dist/_internal/components/navigation/index.js +3 -3
  124. package/dist/_internal/social-login-button/social-login-button.js +3 -3
  125. package/dist/_internal/user-avatar/user-avatar.js +3 -3
  126. package/dist/{chunk-343OLRFT.js → chunk-2BIVCYTO.js} +4 -4
  127. package/dist/{chunk-KH25WUSX.js → chunk-2EAAWOZ2.js} +4 -4
  128. package/dist/chunk-2EAAWOZ2.js.map +1 -0
  129. package/dist/{chunk-PNLM35GU.js → chunk-2JNHWKQK.js} +5 -5
  130. package/dist/{chunk-IWOVENC3.js → chunk-2XX45PC5.js} +2 -2
  131. package/dist/{chunk-RZ2C5CAW.js → chunk-2ZIHZLF5.js} +2 -2
  132. package/dist/{chunk-ZW5K4XCQ.js → chunk-34BZXJGT.js} +6 -6
  133. package/dist/{chunk-CHFHILTM.js → chunk-35S6QI5G.js} +2 -2
  134. package/dist/{chunk-KCAW6HRO.js → chunk-3AOQBR7N.js} +2 -2
  135. package/dist/{chunk-GVLZZCSX.js → chunk-4B5XUQQS.js} +3 -3
  136. package/dist/{chunk-ADHMNIWS.js → chunk-4CXEWFKO.js} +2 -2
  137. package/dist/{chunk-J4NXTSJY.js → chunk-4JFL62K3.js} +4 -4
  138. package/dist/chunk-4JFL62K3.js.map +1 -0
  139. package/dist/{chunk-XLYFOBBT.js → chunk-4PRZLII7.js} +19 -16
  140. package/dist/chunk-4PRZLII7.js.map +1 -0
  141. package/dist/{chunk-AMTFP7QA.js → chunk-4RDJMIWL.js} +16 -13
  142. package/dist/chunk-4RDJMIWL.js.map +1 -0
  143. package/dist/{chunk-PYIASGI7.js → chunk-4RWPGWJW.js} +39 -39
  144. package/dist/chunk-4RWPGWJW.js.map +1 -0
  145. package/dist/chunk-4T6UIYJB.js +77 -0
  146. package/dist/chunk-4T6UIYJB.js.map +1 -0
  147. package/dist/{chunk-HBICO6AX.js → chunk-4WNFOBTH.js} +26 -24
  148. package/dist/chunk-4WNFOBTH.js.map +1 -0
  149. package/dist/{chunk-JJSZP3TW.js → chunk-57JLS55D.js} +5 -5
  150. package/dist/{chunk-ZZM3DOEK.js → chunk-5HDYTTE7.js} +2 -2
  151. package/dist/{chunk-GEXM6DNR.js → chunk-5KGABAQB.js} +2 -2
  152. package/dist/{chunk-3A22SBIU.js → chunk-67O4GPJJ.js} +8 -4
  153. package/dist/chunk-67O4GPJJ.js.map +1 -0
  154. package/dist/{chunk-D5X4FRYX.js → chunk-6JNQLW5L.js} +2 -2
  155. package/dist/{chunk-NSJVQ5YJ.js → chunk-6KKQHJE7.js} +9 -4
  156. package/dist/chunk-6KKQHJE7.js.map +1 -0
  157. package/dist/{chunk-D2HKCPEH.js → chunk-6LOGBWLG.js} +9 -5
  158. package/dist/chunk-6LOGBWLG.js.map +1 -0
  159. package/dist/{chunk-TOXTJ7MU.js → chunk-6RLCBNDV.js} +8 -5
  160. package/dist/chunk-6RLCBNDV.js.map +1 -0
  161. package/dist/{chunk-K7WSPGI7.js → chunk-6WLHEZXI.js} +7 -7
  162. package/dist/chunk-6WLHEZXI.js.map +1 -0
  163. package/dist/{chunk-KJK2Q35C.js → chunk-75LOTMSN.js} +2 -2
  164. package/dist/{chunk-A6AKFPIQ.js → chunk-7EH4D6FU.js} +2 -2
  165. package/dist/{chunk-6SKXV236.js → chunk-7EM4THID.js} +9 -8
  166. package/dist/chunk-7EM4THID.js.map +1 -0
  167. package/dist/{chunk-7ZG7T2YN.js → chunk-7GHYCQCJ.js} +3 -3
  168. package/dist/{chunk-U4H6MGVE.js → chunk-A5UYPUS2.js} +7 -5
  169. package/dist/chunk-A5UYPUS2.js.map +1 -0
  170. package/dist/{chunk-QIKPGMMO.js → chunk-AER4245J.js} +2 -2
  171. package/dist/{chunk-2PBT2HQH.js → chunk-AUSUCZYR.js} +25 -24
  172. package/dist/chunk-AUSUCZYR.js.map +1 -0
  173. package/dist/{chunk-4CTLEUK3.js → chunk-AYLEZM6T.js} +2 -2
  174. package/dist/{chunk-JFBEZXNL.js → chunk-BAQBUKDU.js} +2 -2
  175. package/dist/{chunk-RQ5HZDBV.js → chunk-BN742L2M.js} +14 -8
  176. package/dist/chunk-BN742L2M.js.map +1 -0
  177. package/dist/{chunk-RKI3MRKX.js → chunk-BW62QQAG.js} +2 -2
  178. package/dist/{chunk-7EQCZO56.js → chunk-C3LZ3OGJ.js} +11 -11
  179. package/dist/chunk-C3LZ3OGJ.js.map +1 -0
  180. package/dist/{chunk-UL7L6MFT.js → chunk-C55AWF3U.js} +4 -4
  181. package/dist/{chunk-ST4YYVUK.js → chunk-C5RQBTRZ.js} +7 -3
  182. package/dist/chunk-C5RQBTRZ.js.map +1 -0
  183. package/dist/{chunk-GGWICBJD.js → chunk-CPAJYJUD.js} +2 -2
  184. package/dist/{chunk-5TJRJSJY.js → chunk-CQLPDY2J.js} +3 -3
  185. package/dist/{chunk-5UTAEHSB.js → chunk-CQPFSEJB.js} +2 -2
  186. package/dist/{chunk-SN2YMCTL.js → chunk-CS3KOKL3.js} +2 -2
  187. package/dist/{chunk-2HVNPWFV.js → chunk-D6KL74KI.js} +4 -10
  188. package/dist/chunk-D6KL74KI.js.map +1 -0
  189. package/dist/{chunk-TTAP5XFX.js → chunk-DJYL2LC6.js} +8 -3
  190. package/dist/chunk-DJYL2LC6.js.map +1 -0
  191. package/dist/{chunk-TQ2557I5.js → chunk-DUNG7D4B.js} +23 -25
  192. package/dist/chunk-DUNG7D4B.js.map +1 -0
  193. package/dist/{chunk-LWRI6HGT.js → chunk-ECNJGROX.js} +21 -19
  194. package/dist/chunk-ECNJGROX.js.map +1 -0
  195. package/dist/{chunk-FXNYV5Z6.js → chunk-F6D6HXZU.js} +3 -3
  196. package/dist/{chunk-7DN4UXJ3.js → chunk-FERUQ7OB.js} +14 -14
  197. package/dist/chunk-FERUQ7OB.js.map +1 -0
  198. package/dist/{chunk-TQBRWZA4.js → chunk-FFOQZRFC.js} +2 -2
  199. package/dist/{chunk-GXCOXJS3.js → chunk-FNG33MKA.js} +3 -3
  200. package/dist/{chunk-YH37X6JT.js → chunk-FNRPQE2D.js} +26 -25
  201. package/dist/chunk-FNRPQE2D.js.map +1 -0
  202. package/dist/{chunk-5SJWDABY.js → chunk-G3XLFQ2Z.js} +44 -43
  203. package/dist/chunk-G3XLFQ2Z.js.map +1 -0
  204. package/dist/{chunk-GW64UQXI.js → chunk-GHXFCMFP.js} +2 -2
  205. package/dist/{chunk-L3B36HA5.js → chunk-GRDPGHQJ.js} +2 -2
  206. package/dist/{chunk-6SS5C74Q.js → chunk-GS3RP2QE.js} +2 -2
  207. package/dist/{chunk-B2VXP2B2.js → chunk-GZT7MLLO.js} +2 -2
  208. package/dist/{chunk-AK2HOD6B.js → chunk-H5BEWPEY.js} +2 -2
  209. package/dist/{chunk-DY4BP5WA.js → chunk-HNPWZ3W2.js} +4 -4
  210. package/dist/{chunk-SYVNWXVW.js → chunk-HU7TX7RB.js} +3 -3
  211. package/dist/{chunk-WNUZK7NS.js → chunk-HVXIOIM5.js} +10 -8
  212. package/dist/chunk-HVXIOIM5.js.map +1 -0
  213. package/dist/{chunk-WPA26LXA.js → chunk-IKLOIONQ.js} +3 -3
  214. package/dist/{chunk-BXAL7OIS.js → chunk-JC22FNFA.js} +89 -88
  215. package/dist/chunk-JC22FNFA.js.map +1 -0
  216. package/dist/{chunk-DMWSXWCZ.js → chunk-JL75FJRG.js} +4 -4
  217. package/dist/{chunk-ZAFFKQQU.js → chunk-JLQGRZMN.js} +2 -2
  218. package/dist/{chunk-ZMC3N23A.js → chunk-JSD5TFDK.js} +6 -6
  219. package/dist/{chunk-NE6XUN5Z.js → chunk-JU4MSYYH.js} +2 -2
  220. package/dist/{chunk-OWA7GPWR.js → chunk-KN5J3NEZ.js} +6 -5
  221. package/dist/chunk-KN5J3NEZ.js.map +1 -0
  222. package/dist/{chunk-4GYEIWQP.js → chunk-LNHYBA4B.js} +11 -10
  223. package/dist/chunk-LNHYBA4B.js.map +1 -0
  224. package/dist/{chunk-QY4XNTNG.js → chunk-LP3JCXER.js} +4 -4
  225. package/dist/chunk-LP3JCXER.js.map +1 -0
  226. package/dist/{chunk-YBTC4XNO.js → chunk-LT4NEKXB.js} +3 -3
  227. package/dist/{chunk-WVC3BG6J.js → chunk-LXT3X33C.js} +11 -6
  228. package/dist/chunk-LXT3X33C.js.map +1 -0
  229. package/dist/{chunk-6KL2CJBO.js → chunk-MNHIK2OR.js} +2 -2
  230. package/dist/{chunk-CWDV64TD.js → chunk-N5GVW6RO.js} +5 -4
  231. package/dist/chunk-N5GVW6RO.js.map +1 -0
  232. package/dist/{chunk-JFEEV3XI.js → chunk-NB3FGWU4.js} +2 -2
  233. package/dist/{chunk-2UCLUDEB.js → chunk-NCPWLHZT.js} +2 -2
  234. package/dist/{chunk-DZNMS2SH.js → chunk-NDNYD4FG.js} +5 -5
  235. package/dist/{chunk-5IXHJXJX.js → chunk-NIF4IXQU.js} +5 -2
  236. package/dist/chunk-NIF4IXQU.js.map +1 -0
  237. package/dist/{chunk-EFV5QJNM.js → chunk-ORRI6FMN.js} +17 -14
  238. package/dist/chunk-ORRI6FMN.js.map +1 -0
  239. package/dist/{chunk-UFLTL2RJ.js → chunk-PH36XEB3.js} +2 -2
  240. package/dist/{chunk-4LQZH4PU.js → chunk-PMOEG36E.js} +2 -2
  241. package/dist/{chunk-EXZSHZRS.js → chunk-PWZHCBG3.js} +3 -3
  242. package/dist/{chunk-EFVOT3G5.js → chunk-PZ7PU4AP.js} +2 -2
  243. package/dist/{chunk-I62ALI7F.js → chunk-Q73PTVNO.js} +2 -2
  244. package/dist/{chunk-V74PXUQN.js → chunk-QEG3P5D4.js} +9 -9
  245. package/dist/{chunk-7LIXQZBG.js → chunk-QI5CRSOW.js} +3 -3
  246. package/dist/{chunk-V3LOHY4N.js → chunk-QKPD322X.js} +2 -2
  247. package/dist/{chunk-HAQMKV5P.js → chunk-QXSW3CNN.js} +15 -9
  248. package/dist/chunk-QXSW3CNN.js.map +1 -0
  249. package/dist/{chunk-LMXWI3DD.js → chunk-QYY37ECA.js} +5 -2
  250. package/dist/chunk-QYY37ECA.js.map +1 -0
  251. package/dist/{chunk-VECWMANF.js → chunk-RDCHT2WN.js} +7 -4
  252. package/dist/chunk-RDCHT2WN.js.map +1 -0
  253. package/dist/{chunk-35ETD7ML.js → chunk-RIEV4VXF.js} +9 -5
  254. package/dist/chunk-RIEV4VXF.js.map +1 -0
  255. package/dist/{chunk-PWF32ILG.js → chunk-SJO3K7SB.js} +3 -3
  256. package/dist/{chunk-TU3EGIKB.js → chunk-SSS64KYB.js} +3 -3
  257. package/dist/{chunk-SQYC57ZN.js → chunk-SYN46YL6.js} +2 -2
  258. package/dist/{chunk-DHBYO7AO.js → chunk-TCV3N44E.js} +2 -2
  259. package/dist/{chunk-E6RYO4QZ.js → chunk-THMT3G3L.js} +21 -15
  260. package/dist/chunk-THMT3G3L.js.map +1 -0
  261. package/dist/{chunk-JCBIPBGZ.js → chunk-TU5A2CV7.js} +19 -12
  262. package/dist/chunk-TU5A2CV7.js.map +1 -0
  263. package/dist/{chunk-YESTO24O.js → chunk-TXEN3QJ4.js} +8 -3
  264. package/dist/chunk-TXEN3QJ4.js.map +1 -0
  265. package/dist/{chunk-DVGBFT6O.js → chunk-UAVSBSV5.js} +2 -2
  266. package/dist/{chunk-B7BNNSM2.js → chunk-UZ6AUTE6.js} +4 -4
  267. package/dist/{chunk-4WQ3YXQL.js → chunk-VT5HQ2AD.js} +2 -2
  268. package/dist/{chunk-IBGX6H4J.js → chunk-VURQZBFH.js} +8 -4
  269. package/dist/chunk-VURQZBFH.js.map +1 -0
  270. package/dist/{chunk-7BZTZ2WG.js → chunk-VY2BMSHN.js} +8 -7
  271. package/dist/chunk-VY2BMSHN.js.map +1 -0
  272. package/dist/{chunk-SX3MEC3Q.js → chunk-VZIB5W5L.js} +2 -2
  273. package/dist/{chunk-HC5ZSCRG.js → chunk-W5TI46QN.js} +18 -14
  274. package/dist/chunk-W5TI46QN.js.map +1 -0
  275. package/dist/{chunk-X2AKLDPW.js → chunk-WE3LJPRN.js} +2 -2
  276. package/dist/{chunk-SE6ERQY5.js → chunk-WVZBYTIK.js} +6 -2
  277. package/dist/chunk-WVZBYTIK.js.map +1 -0
  278. package/dist/{chunk-CSSCGM27.js → chunk-X3OWMTLO.js} +1 -2
  279. package/dist/chunk-X3OWMTLO.js.map +1 -0
  280. package/dist/{chunk-CMK4DJDR.js → chunk-XLTHZI5W.js} +28 -20
  281. package/dist/chunk-XLTHZI5W.js.map +1 -0
  282. package/dist/{chunk-FZ4YTEP2.js → chunk-XR46FSOH.js} +2 -2
  283. package/dist/{chunk-CJHP6E34.js → chunk-YAFBUYVW.js} +9 -6
  284. package/dist/chunk-YAFBUYVW.js.map +1 -0
  285. package/dist/{chunk-6DN4ZULV.js → chunk-YOKUDQIJ.js} +1 -2
  286. package/dist/chunk-YOKUDQIJ.js.map +1 -0
  287. package/dist/{chunk-GE2EKMDT.js → chunk-YZ2DMP23.js} +4 -4
  288. package/dist/{chunk-GE2EKMDT.js.map → chunk-YZ2DMP23.js.map} +1 -1
  289. package/dist/{chunk-65CEXQ4L.js → chunk-Z6WSW6B4.js} +11 -7
  290. package/dist/chunk-Z6WSW6B4.js.map +1 -0
  291. package/dist/{chunk-XWWFBH2G.js → chunk-ZXSWXE6U.js} +8 -5
  292. package/dist/chunk-ZXSWXE6U.js.map +1 -0
  293. package/dist/data-display/CardKit.js +4 -4
  294. package/dist/data-display/DataViews.js +54 -54
  295. package/dist/data-display/FleetMap.js +2 -2
  296. package/dist/feedback/ConfirmAction.js +3 -3
  297. package/dist/feedback/NotificationStatusNotice.js +3 -3
  298. package/dist/form/AddressAutocomplete.js +6 -6
  299. package/dist/form/Autocomplete.js +3 -2
  300. package/dist/form/Button.js +2 -2
  301. package/dist/form/CategorySelect.js +10 -10
  302. package/dist/form/CepField.js +4 -4
  303. package/dist/form/Checkbox.js +1 -1
  304. package/dist/form/CodeEditor.js +2 -2
  305. package/dist/form/Command.js +4 -4
  306. package/dist/form/CreatableSelect.js +2 -2
  307. package/dist/form/DateRangePicker.js +2 -2
  308. package/dist/form/Form.js +1 -1
  309. package/dist/form/HeaderActions.js +1 -1
  310. package/dist/form/Input.js +3 -2
  311. package/dist/form/InputOTP.js +2 -2
  312. package/dist/form/Label.js +2 -2
  313. package/dist/form/Menubar.js +4 -4
  314. package/dist/form/PasswordStrength.js +1 -1
  315. package/dist/form/PhoneInput.js +1 -1
  316. package/dist/form/RadioGroup.js +4 -4
  317. package/dist/form/RichTextEditor.js +2 -2
  318. package/dist/form/SearchPalette.js +2 -2
  319. package/dist/form/Select.js +2 -1
  320. package/dist/form/Slider.js +3 -3
  321. package/dist/form/Switch.js +4 -4
  322. package/dist/form/Textarea.js +2 -2
  323. package/dist/form/Toggle.js +2 -2
  324. package/dist/form/ToggleGroup.js +1 -1
  325. package/dist/form/UploadButton.js +2 -2
  326. package/dist/form/total-form.js +25 -25
  327. package/dist/layout/Dashboard.js +3 -3
  328. package/dist/navigation/AppHeader.js +3 -3
  329. package/dist/social-login-button.js +3 -3
  330. package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts.map +1 -1
  331. package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts.map +1 -1
  332. package/dist/types/components/form/AddressAutocomplete/AddressSuggestionsPaper.d.ts.map +1 -1
  333. package/dist/types/components/form/AddressAutocomplete/AddressTextField.d.ts.map +1 -1
  334. package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts.map +1 -1
  335. package/dist/types/components/form/Button/Button.styles.d.ts +1 -1
  336. package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
  337. package/dist/types/components/form/CategorySelect/CategoryPanelFoot.d.ts.map +1 -1
  338. package/dist/types/components/form/CategorySelect/CategoryPanelHead.d.ts.map +1 -1
  339. package/dist/types/components/form/CategorySelect/CategoryPanelList.d.ts.map +1 -1
  340. package/dist/types/components/form/CategorySelect/CategoryPanelSurface.d.ts.map +1 -1
  341. package/dist/types/components/form/CategorySelect/CategoryRows.d.ts.map +1 -1
  342. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +26 -24
  343. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
  344. package/dist/types/components/form/CategorySelect/CategoryTrigger.d.ts.map +1 -1
  345. package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  346. package/dist/types/components/form/CodeEditor/CodeEditor.helpers.d.ts +1 -1
  347. package/dist/types/components/form/CodeEditor/CodeEditor.helpers.d.ts.map +1 -1
  348. package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts +1 -1
  349. package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts.map +1 -1
  350. package/dist/types/components/form/Command/Command.d.ts.map +1 -1
  351. package/dist/types/components/form/Command/Command.hooks.d.ts +1 -1
  352. package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
  353. package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
  354. package/dist/types/components/form/CreatableSelect/CreatableSelect.d.ts.map +1 -1
  355. package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  356. package/dist/types/components/form/DateRangePicker/DateRangePickerQuickList.d.ts.map +1 -1
  357. package/dist/types/components/form/Form/Form.d.ts.map +1 -1
  358. package/dist/types/components/form/HeaderActions/HeaderActions.d.ts.map +1 -1
  359. package/dist/types/components/form/Input/Input.d.ts.map +1 -1
  360. package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
  361. package/dist/types/components/form/Label/Label.styles.d.ts +2 -2
  362. package/dist/types/components/form/Label/Label.styles.d.ts.map +1 -1
  363. package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts +1 -1
  364. package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts.map +1 -1
  365. package/dist/types/components/form/PasswordStrength/PasswordStrength.d.ts.map +1 -1
  366. package/dist/types/components/form/RadioGroup/RadioGroup.animations.d.ts +3 -2
  367. package/dist/types/components/form/RadioGroup/RadioGroup.animations.d.ts.map +1 -1
  368. package/dist/types/components/form/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
  369. package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  370. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
  371. package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts +1 -1
  372. package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts.map +1 -1
  373. package/dist/types/components/form/Select/Select.d.ts.map +1 -1
  374. package/dist/types/components/form/Slider/Slider.animations.d.ts +2 -1
  375. package/dist/types/components/form/Slider/Slider.animations.d.ts.map +1 -1
  376. package/dist/types/components/form/Slider/Slider.styles.d.ts.map +1 -1
  377. package/dist/types/components/form/Switch/Switch.animations.d.ts +2 -1
  378. package/dist/types/components/form/Switch/Switch.animations.d.ts.map +1 -1
  379. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  380. package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
  381. package/dist/types/components/form/Textarea/Textarea.styles.d.ts +1 -1
  382. package/dist/types/components/form/Textarea/Textarea.styles.d.ts.map +1 -1
  383. package/dist/types/components/form/Toggle/Toggle.d.ts.map +1 -1
  384. package/dist/types/components/form/Toggle/Toggle.styles.d.ts.map +1 -1
  385. package/dist/types/components/form/ToggleGroup/ToggleGroup.d.ts.map +1 -1
  386. package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts.map +1 -1
  387. package/dist/user-avatar.js +3 -3
  388. package/package.json +1 -1
  389. package/src/components/form/AddressAutocomplete/AddressFallbackField.tsx +5 -1
  390. package/src/components/form/AddressAutocomplete/AddressInputField.tsx +36 -29
  391. package/src/components/form/AddressAutocomplete/AddressSuggestionsPaper.tsx +4 -2
  392. package/src/components/form/AddressAutocomplete/AddressTextField.tsx +4 -3
  393. package/src/components/form/Autocomplete/Autocomplete.parts.tsx +10 -7
  394. package/src/components/form/Button/Button.styles.ts +28 -25
  395. package/src/components/form/Button/Button.tsx +2 -2
  396. package/src/components/form/CategorySelect/CategoryPanelFoot.tsx +5 -4
  397. package/src/components/form/CategorySelect/CategoryPanelHead.tsx +13 -12
  398. package/src/components/form/CategorySelect/CategoryPanelList.tsx +3 -2
  399. package/src/components/form/CategorySelect/CategoryPanelSurface.tsx +2 -1
  400. package/src/components/form/CategorySelect/CategoryRows.tsx +4 -3
  401. package/src/components/form/CategorySelect/CategorySelect.styles.ts +98 -96
  402. package/src/components/form/CategorySelect/CategoryTrigger.tsx +5 -2
  403. package/src/components/form/Checkbox/Checkbox.tsx +21 -15
  404. package/src/components/form/CodeEditor/CodeEditor.helpers.ts +0 -2
  405. package/src/components/form/CodeEditor/CodeEditor.md +1 -1
  406. package/src/components/form/CodeEditor/CodeEditor.tsx +5 -5
  407. package/src/components/form/CodeEditor/CodeEditor.types.ts +1 -1
  408. package/src/components/form/Command/Command.hooks.ts +0 -2
  409. package/src/components/form/Command/Command.parts.tsx +7 -2
  410. package/src/components/form/Command/Command.styles.ts +11 -11
  411. package/src/components/form/Command/Command.tsx +14 -5
  412. package/src/components/form/CreatableSelect/CreatableSelect.tsx +12 -8
  413. package/src/components/form/DateRangePicker/DateRangePicker.tsx +10 -8
  414. package/src/components/form/DateRangePicker/DateRangePickerQuickList.tsx +8 -4
  415. package/src/components/form/Form/Form.tsx +6 -10
  416. package/src/components/form/HeaderActions/HeaderActions.tsx +2 -1
  417. package/src/components/form/Input/Input.styles.ts +17 -16
  418. package/src/components/form/Input/Input.tsx +4 -2
  419. package/src/components/form/InputOTP/InputOTP.styles.ts +3 -3
  420. package/src/components/form/Label/Label.styles.ts +8 -8
  421. package/src/components/form/Menubar/Menubar.item.tsx +2 -2
  422. package/src/components/form/Menubar/Menubar.styles.ts +13 -13
  423. package/src/components/form/Menubar/Menubar.toolbar.tsx +4 -2
  424. package/src/components/form/PasswordStrength/PasswordStrength.tsx +19 -18
  425. package/src/components/form/PhoneInput/PhoneInput.tsx +9 -9
  426. package/src/components/form/RadioGroup/RadioGroup.animations.ts +9 -6
  427. package/src/components/form/RadioGroup/RadioGroup.styles.ts +45 -43
  428. package/src/components/form/RichTextEditor/RichTextEditor.tsx +7 -6
  429. package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +3 -1
  430. package/src/components/form/SearchPalette/SearchPalette.parts.tsx +8 -6
  431. package/src/components/form/Select/Select.tsx +14 -12
  432. package/src/components/form/Slider/Slider.animations.ts +7 -4
  433. package/src/components/form/Slider/Slider.styles.ts +43 -42
  434. package/src/components/form/Switch/Switch.animations.ts +7 -4
  435. package/src/components/form/Switch/Switch.parts.tsx +2 -2
  436. package/src/components/form/Switch/Switch.styles.ts +26 -22
  437. package/src/components/form/Textarea/Textarea.styles.ts +13 -12
  438. package/src/components/form/Textarea/Textarea.tsx +28 -22
  439. package/src/components/form/Textarea/TextareaRichEditor.tsx +10 -10
  440. package/src/components/form/Toggle/Toggle.styles.ts +29 -26
  441. package/src/components/form/Toggle/Toggle.tsx +5 -2
  442. package/src/components/form/ToggleGroup/ToggleGroup.tsx +18 -15
  443. package/src/components/form/UploadButton/UploadButton.parts.tsx +6 -5
  444. package/dist/chunk-2HVNPWFV.js.map +0 -1
  445. package/dist/chunk-2PBT2HQH.js.map +0 -1
  446. package/dist/chunk-35ETD7ML.js.map +0 -1
  447. package/dist/chunk-3A22SBIU.js.map +0 -1
  448. package/dist/chunk-4GYEIWQP.js.map +0 -1
  449. package/dist/chunk-5IXHJXJX.js.map +0 -1
  450. package/dist/chunk-5SJWDABY.js.map +0 -1
  451. package/dist/chunk-65CEXQ4L.js.map +0 -1
  452. package/dist/chunk-6DN4ZULV.js.map +0 -1
  453. package/dist/chunk-6M33XQLZ.js +0 -70
  454. package/dist/chunk-6M33XQLZ.js.map +0 -1
  455. package/dist/chunk-6SKXV236.js.map +0 -1
  456. package/dist/chunk-7BZTZ2WG.js.map +0 -1
  457. package/dist/chunk-7DN4UXJ3.js.map +0 -1
  458. package/dist/chunk-7EQCZO56.js.map +0 -1
  459. package/dist/chunk-AMTFP7QA.js.map +0 -1
  460. package/dist/chunk-BXAL7OIS.js.map +0 -1
  461. package/dist/chunk-CJHP6E34.js.map +0 -1
  462. package/dist/chunk-CMK4DJDR.js.map +0 -1
  463. package/dist/chunk-CSSCGM27.js.map +0 -1
  464. package/dist/chunk-CWDV64TD.js.map +0 -1
  465. package/dist/chunk-D2HKCPEH.js.map +0 -1
  466. package/dist/chunk-E6RYO4QZ.js.map +0 -1
  467. package/dist/chunk-EFV5QJNM.js.map +0 -1
  468. package/dist/chunk-HAQMKV5P.js.map +0 -1
  469. package/dist/chunk-HBICO6AX.js.map +0 -1
  470. package/dist/chunk-HC5ZSCRG.js.map +0 -1
  471. package/dist/chunk-IBGX6H4J.js.map +0 -1
  472. package/dist/chunk-J4NXTSJY.js.map +0 -1
  473. package/dist/chunk-JCBIPBGZ.js.map +0 -1
  474. package/dist/chunk-K7WSPGI7.js.map +0 -1
  475. package/dist/chunk-KH25WUSX.js.map +0 -1
  476. package/dist/chunk-LMXWI3DD.js.map +0 -1
  477. package/dist/chunk-LWRI6HGT.js.map +0 -1
  478. package/dist/chunk-NSJVQ5YJ.js.map +0 -1
  479. package/dist/chunk-OWA7GPWR.js.map +0 -1
  480. package/dist/chunk-PYIASGI7.js.map +0 -1
  481. package/dist/chunk-QY4XNTNG.js.map +0 -1
  482. package/dist/chunk-RQ5HZDBV.js.map +0 -1
  483. package/dist/chunk-SE6ERQY5.js.map +0 -1
  484. package/dist/chunk-ST4YYVUK.js.map +0 -1
  485. package/dist/chunk-TOXTJ7MU.js.map +0 -1
  486. package/dist/chunk-TQ2557I5.js.map +0 -1
  487. package/dist/chunk-TTAP5XFX.js.map +0 -1
  488. package/dist/chunk-U4H6MGVE.js.map +0 -1
  489. package/dist/chunk-VECWMANF.js.map +0 -1
  490. package/dist/chunk-WNUZK7NS.js.map +0 -1
  491. package/dist/chunk-WVC3BG6J.js.map +0 -1
  492. package/dist/chunk-XLYFOBBT.js.map +0 -1
  493. package/dist/chunk-XWWFBH2G.js.map +0 -1
  494. package/dist/chunk-YESTO24O.js.map +0 -1
  495. package/dist/chunk-YH37X6JT.js.map +0 -1
  496. /package/dist/{chunk-343OLRFT.js.map → chunk-2BIVCYTO.js.map} +0 -0
  497. /package/dist/{chunk-PNLM35GU.js.map → chunk-2JNHWKQK.js.map} +0 -0
  498. /package/dist/{chunk-IWOVENC3.js.map → chunk-2XX45PC5.js.map} +0 -0
  499. /package/dist/{chunk-RZ2C5CAW.js.map → chunk-2ZIHZLF5.js.map} +0 -0
  500. /package/dist/{chunk-ZW5K4XCQ.js.map → chunk-34BZXJGT.js.map} +0 -0
  501. /package/dist/{chunk-CHFHILTM.js.map → chunk-35S6QI5G.js.map} +0 -0
  502. /package/dist/{chunk-KCAW6HRO.js.map → chunk-3AOQBR7N.js.map} +0 -0
  503. /package/dist/{chunk-GVLZZCSX.js.map → chunk-4B5XUQQS.js.map} +0 -0
  504. /package/dist/{chunk-ADHMNIWS.js.map → chunk-4CXEWFKO.js.map} +0 -0
  505. /package/dist/{chunk-JJSZP3TW.js.map → chunk-57JLS55D.js.map} +0 -0
  506. /package/dist/{chunk-ZZM3DOEK.js.map → chunk-5HDYTTE7.js.map} +0 -0
  507. /package/dist/{chunk-GEXM6DNR.js.map → chunk-5KGABAQB.js.map} +0 -0
  508. /package/dist/{chunk-D5X4FRYX.js.map → chunk-6JNQLW5L.js.map} +0 -0
  509. /package/dist/{chunk-KJK2Q35C.js.map → chunk-75LOTMSN.js.map} +0 -0
  510. /package/dist/{chunk-A6AKFPIQ.js.map → chunk-7EH4D6FU.js.map} +0 -0
  511. /package/dist/{chunk-7ZG7T2YN.js.map → chunk-7GHYCQCJ.js.map} +0 -0
  512. /package/dist/{chunk-QIKPGMMO.js.map → chunk-AER4245J.js.map} +0 -0
  513. /package/dist/{chunk-4CTLEUK3.js.map → chunk-AYLEZM6T.js.map} +0 -0
  514. /package/dist/{chunk-JFBEZXNL.js.map → chunk-BAQBUKDU.js.map} +0 -0
  515. /package/dist/{chunk-RKI3MRKX.js.map → chunk-BW62QQAG.js.map} +0 -0
  516. /package/dist/{chunk-UL7L6MFT.js.map → chunk-C55AWF3U.js.map} +0 -0
  517. /package/dist/{chunk-GGWICBJD.js.map → chunk-CPAJYJUD.js.map} +0 -0
  518. /package/dist/{chunk-5TJRJSJY.js.map → chunk-CQLPDY2J.js.map} +0 -0
  519. /package/dist/{chunk-5UTAEHSB.js.map → chunk-CQPFSEJB.js.map} +0 -0
  520. /package/dist/{chunk-SN2YMCTL.js.map → chunk-CS3KOKL3.js.map} +0 -0
  521. /package/dist/{chunk-FXNYV5Z6.js.map → chunk-F6D6HXZU.js.map} +0 -0
  522. /package/dist/{chunk-TQBRWZA4.js.map → chunk-FFOQZRFC.js.map} +0 -0
  523. /package/dist/{chunk-GXCOXJS3.js.map → chunk-FNG33MKA.js.map} +0 -0
  524. /package/dist/{chunk-GW64UQXI.js.map → chunk-GHXFCMFP.js.map} +0 -0
  525. /package/dist/{chunk-L3B36HA5.js.map → chunk-GRDPGHQJ.js.map} +0 -0
  526. /package/dist/{chunk-6SS5C74Q.js.map → chunk-GS3RP2QE.js.map} +0 -0
  527. /package/dist/{chunk-B2VXP2B2.js.map → chunk-GZT7MLLO.js.map} +0 -0
  528. /package/dist/{chunk-AK2HOD6B.js.map → chunk-H5BEWPEY.js.map} +0 -0
  529. /package/dist/{chunk-DY4BP5WA.js.map → chunk-HNPWZ3W2.js.map} +0 -0
  530. /package/dist/{chunk-SYVNWXVW.js.map → chunk-HU7TX7RB.js.map} +0 -0
  531. /package/dist/{chunk-WPA26LXA.js.map → chunk-IKLOIONQ.js.map} +0 -0
  532. /package/dist/{chunk-DMWSXWCZ.js.map → chunk-JL75FJRG.js.map} +0 -0
  533. /package/dist/{chunk-ZAFFKQQU.js.map → chunk-JLQGRZMN.js.map} +0 -0
  534. /package/dist/{chunk-ZMC3N23A.js.map → chunk-JSD5TFDK.js.map} +0 -0
  535. /package/dist/{chunk-NE6XUN5Z.js.map → chunk-JU4MSYYH.js.map} +0 -0
  536. /package/dist/{chunk-YBTC4XNO.js.map → chunk-LT4NEKXB.js.map} +0 -0
  537. /package/dist/{chunk-6KL2CJBO.js.map → chunk-MNHIK2OR.js.map} +0 -0
  538. /package/dist/{chunk-JFEEV3XI.js.map → chunk-NB3FGWU4.js.map} +0 -0
  539. /package/dist/{chunk-2UCLUDEB.js.map → chunk-NCPWLHZT.js.map} +0 -0
  540. /package/dist/{chunk-DZNMS2SH.js.map → chunk-NDNYD4FG.js.map} +0 -0
  541. /package/dist/{chunk-UFLTL2RJ.js.map → chunk-PH36XEB3.js.map} +0 -0
  542. /package/dist/{chunk-4LQZH4PU.js.map → chunk-PMOEG36E.js.map} +0 -0
  543. /package/dist/{chunk-EXZSHZRS.js.map → chunk-PWZHCBG3.js.map} +0 -0
  544. /package/dist/{chunk-EFVOT3G5.js.map → chunk-PZ7PU4AP.js.map} +0 -0
  545. /package/dist/{chunk-I62ALI7F.js.map → chunk-Q73PTVNO.js.map} +0 -0
  546. /package/dist/{chunk-V74PXUQN.js.map → chunk-QEG3P5D4.js.map} +0 -0
  547. /package/dist/{chunk-7LIXQZBG.js.map → chunk-QI5CRSOW.js.map} +0 -0
  548. /package/dist/{chunk-V3LOHY4N.js.map → chunk-QKPD322X.js.map} +0 -0
  549. /package/dist/{chunk-PWF32ILG.js.map → chunk-SJO3K7SB.js.map} +0 -0
  550. /package/dist/{chunk-TU3EGIKB.js.map → chunk-SSS64KYB.js.map} +0 -0
  551. /package/dist/{chunk-SQYC57ZN.js.map → chunk-SYN46YL6.js.map} +0 -0
  552. /package/dist/{chunk-DHBYO7AO.js.map → chunk-TCV3N44E.js.map} +0 -0
  553. /package/dist/{chunk-DVGBFT6O.js.map → chunk-UAVSBSV5.js.map} +0 -0
  554. /package/dist/{chunk-B7BNNSM2.js.map → chunk-UZ6AUTE6.js.map} +0 -0
  555. /package/dist/{chunk-4WQ3YXQL.js.map → chunk-VT5HQ2AD.js.map} +0 -0
  556. /package/dist/{chunk-SX3MEC3Q.js.map → chunk-VZIB5W5L.js.map} +0 -0
  557. /package/dist/{chunk-X2AKLDPW.js.map → chunk-WE3LJPRN.js.map} +0 -0
  558. /package/dist/{chunk-FZ4YTEP2.js.map → chunk-XR46FSOH.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressSuggestionsPaper.tsx"],"sourcesContent":["import type { PaperProps } from '@mui/material/Paper/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\n// The dropdown surface, frosted to match the glass field.\nexport const AddressSuggestionsPaper: FC<PaperProps> = (props) => {\n const theme = useTheme();\n\n return (\n <Paper\n {...props}\n elevation={8}\n data-testid=\"address-suggestions-dropdown\"\n sx={{\n mt: 1,\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.98)} 0%, ${alpha(theme.palette.background.paper, 0.95)} 100%)`,\n backdropFilter: 'blur(20px)',\n WebkitBackdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n }}\n />\n );\n};\n"],"mappings":";AACA,OAAO,WAAW;AAClB,SAAS,OAAO,gBAAgB;AAS5B;AAJG,IAAM,0BAA0C,CAAC,UAAU;AAChE,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW;AAAA,MACX,eAAY;AAAA,MACZ,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,IAAI,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,IAAI,CAAC;AAAA,QACrI,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,QAAQ,aAAa,MAAM,MAAM,QAAQ,SAAS,IAAI,CAAC;AAAA,MACzD;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/CategorySelect/CategoryPanelList.tsx"],"sourcesContent":["'use client';\n\nimport type { CategorySelectCopy } from \"../../../copy\";\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\n\nimport { categoryCheckState, isLeafCategory, leavesOf } from './category-tree';\nimport { CategorySectionHeading, CategoryTreeRow } from './CategoryRows';\nimport { emptySx, listSx, skeletonSx } from './CategorySelect.styles';\nimport type { CategoryGroup } from './CategorySelect.types';\n\n/** The design sets these labels in sentence case, not MUI's default caps. */\nconst SENTENCE_CASE = { textTransform: 'none' } as const;\n\n/** How many skeleton rows stand in for the catalogue while it loads. */\nconst SKELETON_ROWS = 6;\n\ninterface PanelListProps {\n /** The words this panel renders. REQUIRED — no default copy. */\n copy: CategorySelectCopy;\n groups: CategoryGroup[];\n query: string;\n draft: ReadonlySet<string>;\n rowIds: string[];\n activeIndex: number;\n sheet: boolean;\n single: boolean;\n loading: boolean;\n showCounts: boolean;\n allowParentSelection: boolean;\n /**\n * True when the tree has a level BELOW the subcategories. It turns the\n * section-heading treatment off — see {@link CategoryNodeRows}. Derived from\n * the options the panel state already holds, never a caller's decision.\n */\n deepTree: boolean;\n isExpanded: (categoryId: string) => boolean;\n onToggleExpanded: (categoryId: string) => void;\n onActivateCategory: (group: CategoryGroup) => void;\n onActivateSubcategory: (id: string) => void;\n onClearQuery: () => void;\n onCreateCategory?: (name?: string) => void;\n listRef: React.RefObject<HTMLDivElement | null>;\n dataTestId: string;\n}\n\nfunction LoadingRows(): React.JSX.Element {\n return (\n <>\n {Array.from({ length: SKELETON_ROWS }, (_unused, index) => (\n <Skeleton key={index} variant=\"rounded\" sx={skeletonSx} />\n ))}\n </>\n );\n}\n\n/** No categories exist at all — an onboarding moment, not an error. */\nfunction EmptyCatalogue({\n onCreateCategory,\n dataTestId,\n copy,\n}: {\n onCreateCategory?: (name?: string) => void;\n dataTestId: string;\n copy: CategorySelectCopy;\n}): React.JSX.Element {\n return (\n <Box sx={emptySx} data-testid={`${dataTestId}-empty-catalogue`}>\n <strong>{copy.emptyTitle}</strong>\n <p>{copy.purpose}</p>\n {onCreateCategory && (\n <Button variant=\"contained\" size=\"small\" sx={SENTENCE_CASE} onClick={() => onCreateCategory()}>\n {copy.createCategory}\n </Button>\n )}\n </Box>\n );\n}\n\n/** The search found nothing — offer creation, or the way back. */\nfunction NoResults({\n query,\n onClearQuery,\n onCreateCategory,\n dataTestId,\n copy,\n}: {\n query: string;\n onClearQuery: () => void;\n onCreateCategory?: (name?: string) => void;\n dataTestId: string;\n copy: CategorySelectCopy;\n}): React.JSX.Element {\n return (\n <Box sx={emptySx} data-testid={`${dataTestId}-no-results`}>\n <strong>{copy.noResults.title(query)}</strong>\n <p>{copy.noResults.hint}</p>\n <Box sx={{ display: 'flex', gap: '6px', justifyContent: 'center' }}>\n <Button variant=\"outlined\" size=\"small\" sx={SENTENCE_CASE} onClick={onClearQuery}>\n {copy.noResults.clearSearch}\n </Button>\n {onCreateCategory && (\n <Button\n variant=\"contained\"\n size=\"small\"\n sx={SENTENCE_CASE}\n data-testid={`${dataTestId}-create`}\n onClick={() => onCreateCategory(query.trim())}\n >\n {copy.noResults.create(query.trim())}\n </Button>\n )}\n </Box>\n </Box>\n );\n}\n\n/**\n * One node: its heading or its row, then whichever children are visible.\n *\n * The SECTION-HEADING treatment — an inert uppercase label with its children\n * always on show — belongs to a two-level tree and only there. It is what makes\n * the \"mover para…\" picker read as \"category, then the subcategory you pick\",\n * and it works because a two-level category has nothing to fold TO: everything\n * under it is already the thing you came for. A third level breaks both halves\n * at once — the heading has no chevron, so the panel opens onto every item in\n * the catalogue, which is the flat list this component exists to replace. So a\n * deep tree drops the treatment and every frame becomes a foldable row instead.\n */\nfunction CategoryNodeRows({\n node,\n depth,\n props,\n}: {\n node: CategoryGroup;\n depth: number;\n props: PanelListProps;\n}): React.JSX.Element {\n const { draft, query, single, allowParentSelection, rowIds, activeIndex, sheet } = props;\n const categoryId = node.category.id;\n const leaf = isLeafCategory(node);\n const expanded = props.isExpanded(categoryId);\n // A childless category is the leaf, so it is selectable whatever the mode says\n // — the heading reading has no subcategory to point at, and would leave the\n // row inert.\n const selectable = allowParentSelection || leaf;\n const asHeading = single && !selectable && !props.deepTree;\n const selectedCount = leaf ? 0 : leavesOf(node).filter((id) => draft.has(id)).length;\n\n return (\n <>\n {asHeading ? (\n <CategorySectionHeading option={node.category} query={query} />\n ) : (\n <CategoryTreeRow\n option={node.category}\n query={query}\n depth={depth}\n branch={!leaf}\n expanded={expanded}\n active={rowIds[activeIndex] === categoryId}\n sheet={sheet}\n {...(selectable ? { checkState: categoryCheckState(node, draft) } : {})}\n single={single}\n selectedCount={selectedCount}\n showCounts={props.showCounts}\n onToggleExpanded={() => props.onToggleExpanded(categoryId)}\n onActivate={() =>\n leaf ? props.onActivateSubcategory(categoryId) : props.onActivateCategory(node)\n }\n dataTestId={props.dataTestId}\n copy={props.copy}\n />\n )}\n {(expanded || asHeading) &&\n node.subcategories.map((sub) => (\n <CategoryNodeRows key={sub.category.id} node={sub} depth={depth + 1} props={props} />\n ))}\n </>\n );\n}\n\n/** The scrolling body of the panel, including its three non-list states. */\nexport function CategoryPanelList(props: PanelListProps): React.JSX.Element {\n const { groups, loading, query, listRef, sheet, dataTestId, copy } = props;\n\n const body = (): React.JSX.Element => {\n if (loading) return <LoadingRows />;\n if (groups.length === 0 && query.trim().length > 0) {\n return (\n <NoResults copy={copy}\n query={query}\n onClearQuery={props.onClearQuery}\n onCreateCategory={props.onCreateCategory}\n dataTestId={dataTestId}\n />\n );\n }\n if (groups.length === 0) {\n return (\n <EmptyCatalogue copy={copy}\n onCreateCategory={props.onCreateCategory}\n dataTestId={dataTestId}\n />\n );\n }\n return (\n <>\n {groups.map((group) => (\n <CategoryNodeRows key={group.category.id} node={group} depth={0} props={props} />\n ))}\n </>\n );\n };\n\n return (\n <Box\n ref={listRef}\n role=\"listbox\"\n aria-multiselectable={props.single ? undefined : true}\n tabIndex={-1}\n data-testid={`${dataTestId}-list`}\n sx={listSx(sheet)}\n >\n {body()}\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Textarea/Textarea.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport FormHelperText from '@mui/material/FormHelperText/index.js';\nimport InputLabel from '@mui/material/InputLabel/index.js';\nimport TextareaAutosize from '@mui/material/TextareaAutosize/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React, { lazy, Suspense, useState } from 'react';\n\nimport {\n getColorFromTheme,\n textareaEmphasisStyles } from './Textarea.styles';\n\n/**\n * The rich editor is LOADED ON DEMAND, not imported (12-51 follow-up).\n *\n * It renders only for `variant === 'rich'`, but a static import made every\n * consumer of a plain `<Textarea>` pay for it — 387 lines of toolbar plus the\n * MUI `Tooltip`, `IconButton` and `Divider` its formatting buttons need. That\n * is not theoretical: an adopting storefront imports this entry for a one-line\n * order note, and `Tooltip` (8.7 KiB) reached its EAGER chunk through here\n * while nothing on that critical path renders a tooltip at all.\n *\n * `variant` is a prop, so the branch cannot be decided at build time and no\n * amount of tree-shaking removes it. A lazy boundary is what expresses \"only\n * the rich variant pays\", and it costs the rich variant one microtask it can\n * afford — it is a text editor a user has already chosen to open, never a\n * first-paint element.\n */\nconst TextareaRichEditor = lazy(async () => ({\n default: (await import('./TextareaRichEditor')).TextareaRichEditor }));\nimport type { TextareaProps } from './Textarea.types';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { FIELD_BORDER_WIDTH, fieldBorder } from '../../../tokens/field-height';\nimport { rem } from '../../../tokens/relative';\n\n// Interface for styled component props\ninterface StyledTextareaProps {\n customVariant?: string;\n customColor?: string;\n customSize?: string;\n glow?: boolean;\n glass?: boolean;\n gradient?: boolean;\n error?: boolean;\n theme?: Theme;\n}\n\n// Glow animation for enhanced visual effects\nconst StyledTextarea = styled(TextareaAutosize, {\n shouldForwardProp: (prop) =>\n !['customVariant', 'customColor', 'customSize', 'glow', 'glass', 'gradient', 'error'].includes(\n prop as string,\n ) })<StyledTextareaProps>(({\n theme,\n customVariant,\n customColor = 'primary',\n customSize = 'md',\n glow,\n glass,\n gradient,\n error }) => {\n if (!theme) return {};\n const colorPalette = getColorFromTheme(theme, customColor);\n const errorColor = theme.palette.error;\n\n const sizeMap = {\n xs: { padding: '6px 8px', fontSize: rem(theme, 12), minHeight: '60px' },\n sm: { padding: '8px 10px', fontSize: rem(theme, 14), minHeight: '80px' },\n md: { padding: '10px 12px', fontSize: rem(theme, 16), minHeight: '100px' },\n lg: { padding: '12px 14px', fontSize: rem(theme, 18), minHeight: '120px' },\n xl: { padding: '14px 16px', fontSize: rem(theme, 20), minHeight: '140px' } };\n\n const baseStyles = {\n width: '100%',\n fontFamily: theme.typography.fontFamily,\n borderRadius: fieldRadius(theme),\n border: error ? `${FIELD_BORDER_WIDTH}px solid ${errorColor.main}` : fieldBorder(theme),\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n transition: 'all 0.3s ease',\n resize: customVariant === 'resizable' ? 'vertical' : 'none',\n outline: 'none',\n ...sizeMap[customSize as keyof typeof sizeMap],\n\n '&::placeholder': {\n color: theme.palette.text.secondary,\n opacity: 0.7 },\n\n '&:hover': {\n borderColor: error ? errorColor.dark : colorPalette.main,\n backgroundColor: alpha(theme.palette.background.paper, 0.8) },\n\n // Focus is two pixels, like every other field's: the second is an inset\n // shadow, so the 1px resting border can thicken without the box moving.\n '&:focus': {\n borderColor: error ? errorColor.main : colorPalette.main,\n backgroundColor: theme.palette.background.paper,\n boxShadow: `inset 0 0 0 1px ${error ? errorColor.main : colorPalette.main}, 0 0 0 3px ${alpha(error ? errorColor.main : colorPalette.main, 0.1)}` } };\n\n // Glass morphism effect\n return {\n ...baseStyles,\n ...textareaEmphasisStyles({ theme, colorPalette, glass, gradient, glow }) };\n});\n\nconst StyledLabel = styled(InputLabel, {\n shouldForwardProp: (prop) => !['glass', 'error'].includes(prop as string) })<{ glass?: boolean; error?: boolean }>(({ theme, glass, error }) => ({\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n color: error ? theme.palette.error.main : theme.palette.text.primary,\n ...(glass && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(10px)',\n padding: '4px 8px',\n borderRadius: '4px',\n border: `1px solid ${fieldEdge(theme)}`,\n display: 'inline-block' }) }));\n\n// IconWrapper - replaced with inline Box component for better TypeScript compatibility\n// const IconWrapper = styled(Box)<{ position: 'start' | 'end' }>(({ theme, position }) => {\n// const positionStyles = position === 'start' ? { left: '12px' } : { right: '12px' };\n// return {\n// position: 'absolute' as const,\n// top: '12px',\n// ...positionStyles,\n// color: theme.palette.text.secondary,\n// pointerEvents: 'none' as const,\n// zIndex: 1,\n// };\n// });\n\n// Rich text toolbar styling\n\nconst ICON_GUTTER = '40px';\n\nconst TEXTAREA_DEFAULTS = {\n variant: 'default',\n color: 'primary',\n size: 'md',\n error: false,\n glassLabel: false,\n glow: false,\n glass: false,\n gradient: false,\n iconPosition: 'start',\n minRows: 3 } satisfies Partial<TextareaProps>;\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}`\n// still falls back to the default as a destructuring default would.\nconst definedProps = (props: TextareaProps): Partial<TextareaProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<TextareaProps>;\n\n// Label above, helper text below — identical for the plain and rich variants,\n// which previously duplicated both.\nconst TextareaShell: React.FC<{\n testId?: string;\n label?: React.ReactNode;\n glassLabel: boolean;\n error: boolean;\n helperText?: React.ReactNode;\n children: React.ReactNode;\n}> = ({ testId, label, glassLabel, error, helperText, children }) => (\n <Box\n sx={{ position: 'relative', width: '100%' }}\n data-testid={testId ? `${testId}-wrapper` : undefined}\n >\n {label && (\n <StyledLabel glass={glassLabel} error={error}>\n {label}\n </StyledLabel>\n )}\n\n {children}\n\n {helperText && (\n <FormHelperText error={error} sx={{ mt: 1 }}>\n {helperText}\n </FormHelperText>\n )}\n </Box>\n);\n\nconst TextareaIcon: React.FC<{\n icon?: React.ReactNode;\n iconPosition: 'start' | 'end';\n}> = ({ icon, iconPosition }) => (\n <Box\n sx={{\n position: 'absolute',\n top: '12px',\n ...(iconPosition === 'start' ? { left: '12px' } : { right: '12px' }),\n color: 'text.secondary',\n pointerEvents: 'none',\n zIndex: 1 }}\n >\n {icon}\n </Box>\n);\n\n/**\n * The rich variant, kept out of the main component's body.\n *\n * Two reasons rather than one: the `Suspense` boundary and its props belong\n * together with the lazy import above, and the component that renders every\n * OTHER variant stays inside the size the complexity gate allows without\n * anything being suppressed.\n */\nfunction RichVariant({\n shell,\n editor }: {\n shell: Omit<React.ComponentProps<typeof TextareaShell>, 'children'>;\n editor: React.ComponentProps<typeof TextareaRichEditor>;\n}): React.JSX.Element {\n return (\n <TextareaShell {...shell}>\n {/*\n `null` rather than a spinner: the editor resolves from the same document\n the caller is already rendering, so a fallback would flash for a frame\n and read as a glitch rather than as loading.\n */}\n <Suspense fallback={null}>\n <TextareaRichEditor {...editor} />\n </Suspense>\n </TextareaShell>\n );\n}\n\nexport const Textarea: React.FC<TextareaProps> = (textareaProps) => {\n const {\n variant,\n color,\n size,\n error,\n helperText,\n label,\n glassLabel,\n glow,\n glass,\n gradient,\n icon,\n iconPosition,\n minRows,\n maxRows,\n style,\n 'data-testid': dataTestId,\n dataTestId: dataTestIdCamelCase,\n ...props\n } = { ...TEXTAREA_DEFAULTS, ...definedProps(textareaProps) };\n\n // Read off the props rather than the merged object: the spread widens every\n // key to optional, which would lose what the variant union already proved.\n const { richEditorCopy } = textareaProps;\n\n const [richTextValue, setRichTextValue] = useState('');\n const hasIcon = Boolean(icon);\n const testId = dataTestId || dataTestIdCamelCase;\n\n const textareaStyle = {\n ...style,\n // Same gap either side; only which side it applies to changes. The previous\n // version had `iconPosition === 'start' ? '40px' : '40px'`, a ternary whose\n // two branches were identical.\n ...(hasIcon && {\n [iconPosition === 'start' ? 'paddingLeft' : 'paddingRight']: ICON_GUTTER }) };\n\n // If rich text variant, use the rich text editor\n if (variant === 'rich' && richEditorCopy) {\n return (\n <RichVariant\n shell={{ testId, label, glassLabel, error, helperText }}\n editor={{\n copy: richEditorCopy,\n value: richTextValue,\n onChange: setRichTextValue,\n placeholder: props.placeholder,\n error,\n glass,\n color,\n characterLimit: props.maxLength }}\n />\n );\n }\n\n return (\n <TextareaShell testId={testId} label={label} glassLabel={glassLabel} error={error} helperText={helperText}>\n <Box sx={{ position: 'relative' }}>\n {hasIcon && <TextareaIcon icon={icon} iconPosition={iconPosition} />}\n\n <StyledTextarea\n customVariant={variant}\n customColor={color}\n customSize={size}\n glow={glow}\n glass={glass}\n gradient={gradient}\n error={error}\n minRows={variant === 'autosize' ? minRows : undefined}\n maxRows={variant === 'autosize' ? maxRows : undefined}\n style={textareaStyle}\n aria-label={label || props['aria-label']}\n data-testid={testId}\n {...props}\n />\n </Box>\n </TextareaShell>\n );\n};\n\nTextarea.displayName = 'Textarea';\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Menubar/Menubar.toolbar.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Toolbar from '@mui/material/Toolbar/index.js';\nimport type { CSSObject } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { MenubarItemView } from './Menubar.item';\nimport { MenubarSeparator } from './Menubar.separator';\nimport type { MenubarItem, MenubarProps } from './Menubar.types';\n\nexport interface MenubarToolbarProps {\n ariaLabel: string;\n barSx: CSSObject;\n items: MenubarItem[];\n size: NonNullable<MenubarProps['size']>;\n orientation: NonNullable<MenubarProps['orientation']>;\n disabled: boolean;\n loading: boolean;\n logo?: React.ReactNode;\n endContent?: React.ReactNode;\n fullWidth: boolean;\n activeMenu: string | null;\n menuRefs: React.MutableRefObject<{ [key: string]: HTMLElement | null }>;\n onOpen: (itemId: string, anchorEl: HTMLElement) => void;\n onActivate: (item: MenubarItem) => void;\n onClose: () => void;\n onFocus?: React.FocusEventHandler;\n onBlur?: React.FocusEventHandler;\n}\n\n/**\n * The bar's contents: an optional logo, the entries themselves, and whatever the\n * caller hangs off the end. Shared by both orientations — only the element\n * wrapping it differs.\n */\nexport const MenubarToolbar: React.FC<MenubarToolbarProps> = ({\n ariaLabel,\n barSx,\n items,\n size,\n orientation,\n disabled,\n loading,\n logo,\n endContent,\n fullWidth,\n activeMenu,\n menuRefs,\n onOpen,\n onActivate,\n onClose,\n onFocus,\n onBlur,\n}) => {\n const isVertical = orientation === 'vertical';\n\n return (\n <Toolbar\n role=\"toolbar\"\n aria-label={ariaLabel}\n sx={{\n ...barSx,\n width: fullWidth ? '100%' : 'auto',\n flexDirection: isVertical ? 'column' : 'row',\n alignItems: isVertical ? 'flex-start' : 'center',\n gap: 1,\n }}\n >\n {logo && <Box sx={{ mr: 2, display: 'flex', alignItems: 'center' }}>{logo}</Box>}\n\n {loading ? (\n <CircularProgress size={20} color=\"inherit\" />\n ) : (\n <Box\n sx={{\n display: 'flex',\n flexDirection: isVertical ? 'column' : 'row',\n gap: isVertical ? 0.5 : 1,\n flex: 1,\n }}\n >\n {items.map((item) =>\n item.divider ? (\n <MenubarSeparator key={item.id} orientation={orientation} />\n ) : (\n <MenubarItemView\n key={item.id}\n item={item}\n size={size}\n disabled={disabled}\n isOpen={activeMenu === item.id}\n anchorEl={menuRefs.current[item.id] ?? null}\n onOpen={onOpen}\n onActivate={onActivate}\n onClose={onClose}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n ),\n )}\n </Box>\n )}\n\n {endContent && <Box sx={{ ml: 'auto' }}>{endContent}</Box>}\n </Toolbar>\n );\n};\n"],"mappings":";;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,aAAa;AAuDhB,SAWW,KAXX;AAtBG,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,gBAAgB;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAY;AAAA,MACZ,IAAI;AAAA,QACF,GAAG;AAAA,QACH,OAAO,YAAY,SAAS;AAAA,QAC5B,eAAe,aAAa,WAAW;AAAA,QACvC,YAAY,aAAa,eAAe;AAAA,QACxC,KAAK;AAAA,MACP;AAAA,MAEC;AAAA,gBAAQ,oBAAC,OAAI,IAAI,EAAE,IAAI,GAAG,SAAS,QAAQ,YAAY,SAAS,GAAI,gBAAK;AAAA,QAEzE,UACC,oBAAC,oBAAiB,MAAM,IAAI,OAAM,WAAU,IAE5C;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,SAAS;AAAA,cACT,eAAe,aAAa,WAAW;AAAA,cACvC,KAAK,aAAa,MAAM;AAAA,cACxB,MAAM;AAAA,YACR;AAAA,YAEC,gBAAM;AAAA,cAAI,CAAC,SACV,KAAK,UACH,oBAAC,oBAA+B,eAAT,KAAK,EAA8B,IAE1D;AAAA,gBAAC;AAAA;AAAA,kBAEC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA,QAAQ,eAAe,KAAK;AAAA,kBAC5B,UAAU,SAAS,QAAQ,KAAK,EAAE,KAAK;AAAA,kBACvC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA;AAAA,gBAVK,KAAK;AAAA,cAWZ;AAAA,YAEJ;AAAA;AAAA,QACF;AAAA,QAGD,cAAc,oBAAC,OAAI,IAAI,EAAE,IAAI,OAAO,GAAI,sBAAW;AAAA;AAAA;AAAA,EACtD;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/UploadButton/UploadButton.parts.tsx"],"sourcesContent":["import AttachFileOutlined from '@mui/icons-material/AttachFileOutlined';\nimport CloudUploadOutlined from '@mui/icons-material/CloudUploadOutlined';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport LinearProgress from '@mui/material/LinearProgress/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type React from 'react';\n\nimport type { DragHandlers } from './UploadButton.hooks';\n\n/*\n * The tints the dropzone and the ghost button have always drawn — 0x0A, 0x05\n * and 0x08 out of 0xFF — as `alpha()` opacities. They were hex-alpha suffixes\n * glued onto `palette.primary.main`, which only works while the palette colour\n * is a six-digit hex: an `rgb(…)` primary produced an invalid colour and no\n * tint at all.\n */\nconst DRAG_OVER_TINT = 0x0a / 0xff;\nconst HOVER_TINT = 0x05 / 0xff;\nconst GHOST_HOVER_TINT = 0x08 / 0xff;\nimport type { UploadButtonCopy } from '../../../copy';\nimport type { UploadButtonProps } from './UploadButton.types';\nimport { sxRem } from '../../../tokens/relative';\n\n/** Shared shape for the two trigger variants. */\nexport interface TriggerProps {\n copy: UploadButtonCopy;\n label: string;\n icon?: React.ReactNode;\n disabled: boolean;\n className?: string;\n dataTestId?: string;\n describedBy?: string;\n onOpen: () => void;\n}\n\n/** The drag-and-drop surface. */\nexport function UploadDropzone({\n copy,\n label,\n icon,\n disabled,\n className,\n dataTestId,\n describedBy,\n onOpen,\n isDragOver,\n drag,\n}: TriggerProps & { isDragOver: boolean; drag: DragHandlers }): React.ReactElement {\n const theme = useTheme();\n return (\n <Box\n component=\"div\"\n {...drag}\n onClick={onOpen}\n sx={{\n border: `2px dashed ${isDragOver ? theme.palette.primary.main : theme.palette.divider}`,\n borderRadius: 2,\n padding: 3,\n textAlign: 'center',\n cursor: disabled ? 'not-allowed' : 'pointer',\n backgroundColor: isDragOver ? alpha(theme.palette.primary.main, DRAG_OVER_TINT) : 'transparent',\n transition: 'all 0.2s ease-in-out',\n ...(!disabled && {\n '&:hover': {\n borderColor: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, HOVER_TINT),\n },\n }),\n opacity: disabled ? 0.6 : 1,\n }}\n className={className}\n data-testid={dataTestId}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n onKeyDown={(event) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n onOpen();\n }}\n aria-describedby={describedBy}\n aria-label={copy.dropzoneRole(label)}\n >\n <Box sx={{ mb: 2 }}>\n {icon || <CloudUploadOutlined sx={{ fontSize: sxRem(48), color: 'text.secondary' }} />}\n </Box>\n <Typography variant=\"body1\" sx={{ mb: 1 }}>\n {label}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {copy.dropzoneHint}\n </Typography>\n </Box>\n );\n}\n\n/** MUI variant for each non-dropzone appearance. */\nconst MUI_VARIANT = { outline: 'outlined', ghost: 'text' } as const;\n\n/** The plain-button trigger. */\nexport function UploadTrigger({\n copy,\n label,\n icon,\n disabled,\n className,\n dataTestId,\n describedBy,\n onOpen,\n variant,\n isUploading,\n}: TriggerProps & {\n variant: NonNullable<UploadButtonProps['variant']>;\n isUploading: boolean;\n}): React.ReactElement {\n const theme = useTheme();\n return (\n <Button\n variant={MUI_VARIANT[variant as keyof typeof MUI_VARIANT] ?? 'contained'}\n disabled={disabled || isUploading}\n onClick={onOpen}\n startIcon={icon || <AttachFileOutlined />}\n className={className}\n data-testid={dataTestId}\n aria-describedby={describedBy}\n sx={{\n ...(variant === 'ghost' && {\n '&:hover': { backgroundColor: alpha(theme.palette.primary.main, GHOST_HOVER_TINT) },\n }),\n }}\n >\n {isUploading ? copy.uploading : label}\n </Button>\n );\n}\n\n/** The screen-reader live region — drag, progress and error announcements. */\nfunction UploadAnnouncer({\n copy,\n announceDragOver,\n isUploading,\n progress,\n error,\n}: {\n copy: UploadButtonCopy;\n announceDragOver: boolean;\n isUploading: boolean;\n progress: number;\n error: string | null;\n}): React.ReactElement {\n return (\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"sr-only\"\n style={{\n position: 'absolute',\n left: '-10000px',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n }}\n >\n {announceDragOver && copy.dropReady}\n {isUploading && copy.uploadInProgress(Math.round(progress))}\n {error && copy.errorAnnouncement(error)}\n </div>\n );\n}\n\n/** Progress bar, helper text, error text and the live region. */\nexport function UploadFeedback({\n copy,\n isUploading,\n progress,\n helperText,\n helperId,\n error,\n errorId,\n announceDragOver,\n}: {\n copy: UploadButtonCopy;\n isUploading: boolean;\n progress: number;\n helperText?: string;\n helperId?: string;\n error: string | null;\n errorId?: string;\n announceDragOver: boolean;\n}): React.ReactElement {\n return (\n <>\n {isUploading && progress > 0 && (\n <Box sx={{ mt: 1 }}>\n <LinearProgress variant=\"determinate\" value={progress} sx={{ borderRadius: 1 }} />\n <Typography variant=\"caption\" sx={{ mt: 0.5, display: 'block' }}>\n {copy.percentUploaded(Math.round(progress))}\n </Typography>\n </Box>\n )}\n\n {helperText && !error && (\n <Typography\n id={helperId}\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{ display: 'block', mt: 0.5 }}\n >\n {helperText}\n </Typography>\n )}\n\n {error && (\n <Typography\n id={errorId}\n variant=\"caption\"\n color=\"error\"\n sx={{ display: 'block', mt: 0.5 }}\n role=\"alert\"\n >\n {error}\n </Typography>\n )}\n\n <UploadAnnouncer\n copy={copy}\n announceDragOver={announceDragOver}\n isUploading={isUploading}\n progress={progress}\n error={error}\n />\n </>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressTextField.tsx"],"sourcesContent":["import type { TextFieldProps } from '@mui/material/TextField/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport type { AddressAutocompleteProps } from './AddressAutocomplete.types';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { fieldControlStyles, fieldTextFieldStyles } from '../../../tokens/field-height';\n\n// Kept module-local on purpose: the inferred type of a styled() component cannot\n// be named across a module boundary here (TS2742), so the plain component below\n// is what the rest of the folder imports.\nconst GlassTextField = styled(TextField)(({ theme }) => ({\n ...fieldControlStyles(theme),\n '& .MuiOutlinedInput-root': {\n borderRadius: fieldRadius(theme),\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.8)} 0%, ${alpha(theme.palette.background.paper, 0.6)} 100%)`,\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n border: `1px solid ${fieldEdge(theme)}`,\n transition: theme.transitions.create(['border-color', 'box-shadow', 'background']),\n '&:hover': {\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.9)} 0%, ${alpha(theme.palette.background.paper, 0.7)} 100%)`,\n borderColor: theme.palette.primary.main,\n },\n '&.Mui-focused': {\n background: theme.palette.background.paper,\n boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.25)}`,\n },\n '& fieldset': {\n border: 'none',\n },\n },\n}));\n\n/** The plain variants: MUI's own field, on the theme's field radius. */\nconst FieldTextField = styled(TextField)(({ theme }) => fieldTextFieldStyles(theme));\n\nexport type AddressTextFieldProps = Omit<TextFieldProps, 'variant'> & {\n addressVariant: AddressAutocompleteProps['variant'];\n};\n\n// 'glass' is not a MUI variant: it renders the outlined field with the frosted\n// treatment on top.\nexport const AddressTextField: FC<AddressTextFieldProps> = ({ addressVariant, ...props }) =>\n addressVariant === 'glass' ? (\n <GlassTextField variant=\"outlined\" {...props} />\n ) : (\n <FieldTextField variant={addressVariant} {...props} />\n );\n"],"mappings":";;;;;;;;;;;;AACA,OAAO,eAAe;AACtB,SAAS,OAAO,cAAc;AA+C1B;AAlCJ,IAAM,iBAAiB,OAAO,SAAS,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACvD,GAAG,mBAAmB,KAAK;AAAA,EAC3B,4BAA4B;AAAA,IAC1B,cAAc,YAAY,KAAK;AAAA,IAC/B,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC;AAAA,IACnI,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,QAAQ,aAAa,UAAU,KAAK,CAAC;AAAA,IACrC,YAAY,MAAM,YAAY,OAAO,CAAC,gBAAgB,cAAc,YAAY,CAAC;AAAA,IACjF,WAAW;AAAA,MACT,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC;AAAA,MACnI,aAAa,MAAM,QAAQ,QAAQ;AAAA,IACrC;AAAA,IACA,iBAAiB;AAAA,MACf,YAAY,MAAM,QAAQ,WAAW;AAAA,MACrC,WAAW,aAAa,MAAM,MAAM,QAAQ,QAAQ,MAAM,IAAI,CAAC;AAAA,IACjE;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,IACV;AAAA,EACF;AACF,EAAE;AAGF,IAAM,iBAAiB,OAAO,SAAS,EAAE,CAAC,EAAE,MAAM,MAAM,qBAAqB,KAAK,CAAC;AAQ5E,IAAM,mBAA8C,CAAC,EAAE,gBAAgB,GAAG,MAAM,MACrF,mBAAmB,UACjB,oBAAC,kBAAe,SAAQ,YAAY,GAAG,OAAO,IAE9C,oBAAC,kBAAe,SAAS,gBAAiB,GAAG,OAAO;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Command/Command.tsx"],"sourcesContent":["import CloseIcon from '@mui/icons-material/Close';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Chip from '@mui/material/Chip/index.js';\nimport Dialog from '@mui/material/Dialog/index.js';\nimport DialogContent from '@mui/material/DialogContent/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport Grow from '@mui/material/Grow/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport List from '@mui/material/List/index.js';\nimport ListItemButton from '@mui/material/ListItemButton/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React, { useMemo } from 'react';\n\nimport { resolveCommandProps, useCommandPalette } from './Command.hooks';\nimport { CommandEmpty, CommandLoading } from './Command.parts';\nimport { commandPaperStyles, commandSizeStyles } from './Command.styles';\nimport type {\n CommandGroupProps,\n CommandInputProps,\n CommandItem,\n CommandItemProps,\n CommandListProps,\n CommandProps,\n} from './Command.types';\nimport { rem } from '../../../tokens/relative';\n\nexport { CommandEmpty, CommandLoading, CommandSeparator } from './Command.parts';\n\nconst makeTestId = (dataTestId?: string) => (suffix: string) =>\n dataTestId ? `${dataTestId}-${suffix}` : undefined;\n\nexport const Command: React.FC<CommandProps> = (rawProps) => {\n const props = resolveCommandProps(rawProps);\n const { open, onOpenChange, variant, dataTestId } = props;\n const theme = useTheme();\n const testId = makeTestId(dataTestId);\n\n const { internalValue, filteredItems, highlightedId, handleValueChange, handleSelect, handleKeyDown } =\n useCommandPalette(props);\n\n return (\n <Dialog\n open={open}\n onClose={() => onOpenChange?.(false)}\n maxWidth={false}\n PaperProps={{\n sx: {\n ...commandPaperStyles(theme, props),\n ...commandSizeStyles(theme, props.size),\n overflow: 'hidden',\n ...props.style,\n },\n className: props.className,\n 'data-testid': dataTestId,\n }}\n TransitionComponent={variant === 'glass' ? Fade : Grow}\n onClick={props.onClick}\n >\n <Box sx={{ p: 0 }}>\n <CommandInput\n placeholder={props.placeholder}\n value={internalValue}\n onChange={handleValueChange}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n disabled={props.disabled}\n autoFocus={props.autoFocus}\n onKeyDown={handleKeyDown}\n dataTestId={testId('input')}\n />\n\n <Divider />\n\n <DialogContent sx={{ p: 0, maxHeight: props.maxHeight, overflow: 'auto' }}>\n <CommandBody\n loading={props.loading}\n items={filteredItems}\n value={internalValue}\n emptyMessage={props.emptyMessage}\n onSelect={handleSelect}\n selectedId={highlightedId}\n showCategories={props.showCategories}\n showShortcuts={props.showShortcuts}\n showDescriptions={props.showDescriptions}\n testId={testId}\n />\n {props.children}\n </DialogContent>\n </Box>\n </Dialog>\n );\n};\n\ntype CommandBodyProps = Pick<\n CommandListProps,\n 'items' | 'value' | 'onSelect' | 'selectedId' | 'showCategories' | 'showShortcuts' | 'showDescriptions'\n> & {\n loading: boolean;\n emptyMessage: string;\n testId: (suffix: string) => string | undefined;\n};\n\n/** Three mutually exclusive states share the scrolling area: busy, empty, or a list. */\nconst CommandBody: React.FC<CommandBodyProps> = ({ loading, emptyMessage, testId, ...list }) => {\n if (loading) {\n return <CommandLoading dataTestId={testId('loading')} />;\n }\n\n if (!list.items?.length) {\n return <CommandEmpty message={emptyMessage} dataTestId={testId('empty')} />;\n }\n\n return <CommandList {...list} dataTestId={testId('list')} />;\n};\n\nexport const CommandInput: React.FC<CommandInputProps> = ({\n placeholder,\n value,\n onChange,\n onFocus,\n onBlur,\n disabled,\n autoFocus,\n onKeyDown,\n className,\n style,\n dataTestId,\n}) => (\n <TextField\n fullWidth\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus={autoFocus}\n variant=\"standard\"\n className={className}\n inputProps={{\n 'data-testid': dataTestId,\n }}\n sx={{\n p: 2,\n '& .MuiInput-underline:before': { border: 'none' },\n '& .MuiInput-underline:after': { border: 'none' },\n ...style,\n }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon />\n </InputAdornment>\n ),\n endAdornment: value && (\n <InputAdornment position=\"end\">\n <IconButton size=\"small\" onClick={() => onChange?.('')}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n );\n\nexport const CommandList: React.FC<CommandListProps> = ({\n items = [],\n onSelect,\n selectedId,\n emptyMessage,\n showCategories,\n showShortcuts,\n showDescriptions,\n loading,\n className,\n style,\n dataTestId,\n}) => {\n const groupedItems = useMemo(() => {\n if (!showCategories) return { '': items };\n\n const groups: Record<string, CommandItem[]> = {};\n items.forEach(item => {\n const category = item.category || '';\n if (!groups[category]) groups[category] = [];\n groups[category].push(item);\n });\n return groups;\n }, [items, showCategories]);\n\n if (loading) return <CommandLoading dataTestId={dataTestId ? `${dataTestId}-loading` : undefined} />;\n if (items.length === 0) return <CommandEmpty message={emptyMessage} dataTestId={dataTestId ? `${dataTestId}-empty` : undefined} />;\n\n return (\n <List className={className} sx={style} data-testid={dataTestId}>\n {Object.entries(groupedItems).map(([category, categoryItems]) => (\n <CommandGroup\n key={category}\n heading={category}\n items={categoryItems}\n onSelect={onSelect}\n selectedId={selectedId}\n showShortcuts={showShortcuts}\n showDescriptions={showDescriptions}\n />\n ))}\n </List>\n );\n};\n\nexport const CommandGroup: React.FC<CommandGroupProps> = ({\n heading,\n items = [],\n onSelect,\n selectedId,\n showShortcuts,\n showDescriptions,\n className,\n style,\n dataTestId,\n}) => {\n const groupTestId = dataTestId || (heading ? `command-group-${heading}` : undefined);\n\n return (\n <Box className={className} sx={style} data-testid={groupTestId}>\n {heading && (\n <Typography\n variant=\"caption\"\n sx={{\n px: 2,\n py: 1,\n display: 'block',\n color: 'text.secondary',\n fontWeight: 600,\n textTransform: 'uppercase',\n }}\n >\n {heading}\n </Typography>\n )}\n {items.map((item) => (\n <CommandItemComponent\n key={item.id}\n {...item}\n selected={selectedId === item.id}\n onSelect={() => onSelect?.(item)}\n showShortcut={showShortcuts}\n showDescription={showDescriptions}\n dataTestId={`command-item-${item.id}`}\n />\n ))}\n </Box>\n );\n};\n\nconst CommandItemComponent: React.FC<CommandItemProps> = ({\n label,\n description,\n icon,\n shortcut,\n disabled,\n selected,\n onSelect,\n showShortcut,\n showDescription,\n className,\n style,\n dataTestId,\n}) => {\n const theme = useTheme();\n\n return (\n <ListItemButton\n onClick={onSelect}\n disabled={disabled}\n selected={selected}\n className={className}\n data-testid={dataTestId}\n sx={{\n py: 1.5,\n px: 2,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n },\n '&.Mui-selected': {\n backgroundColor: alpha(theme.palette.primary.main, 0.12),\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.16),\n },\n },\n ...style,\n }}\n >\n {icon && (\n <ListItemIcon sx={{ minWidth: 40 }}>\n {icon}\n </ListItemIcon>\n )}\n\n <ListItemText\n primary={label}\n secondary={showDescription && description}\n primaryTypographyProps={{\n fontSize: rem(theme, 14),\n fontWeight: selected ? 600 : 400,\n }}\n secondaryTypographyProps={{\n fontSize: rem(theme, 12),\n }}\n />\n\n {showShortcut && shortcut && (\n <Chip\n label={shortcut}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n height: 20,\n fontSize: rem(theme, 11.2),\n ml: 1,\n }}\n />\n )}\n </ListItemButton>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/CategorySelect/CategoryTrigger.tsx"],"sourcesContent":["'use client';\n\nimport type { CategorySelectCopy } from \"../../../copy\";\nimport Box from '@mui/material/Box/index.js';\n\nimport { CaretGlyph } from './CategoryIcons';\nimport {\n triggerChevronSx,\n triggerClearSx,\n triggerCountSx,\n triggerSx,\n} from './CategorySelect.styles';\n\ninterface CategoryTriggerProps {\n /** The words this renders. REQUIRED — this package ships no default copy. */\n copy: CategorySelectCopy;\n /** Text shown when nothing is selected. */\n placeholder: string;\n /** Resolved label when there IS a selection (single mode shows \"Pai › Filha\"). */\n selectionLabel?: string;\n /** Selection size — rendered as the count pill in multi-select. */\n count?: number;\n open: boolean;\n disabled?: boolean;\n fullWidth: boolean;\n onOpen: () => void;\n /** Absent when there is nothing to clear. */\n onClear?: () => void;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n dataTestId: string;\n}\n\n/**\n * The closed control.\n *\n * The clear (×) is a real button nested in the trigger button, so \"remove the\n * filter\" is one click from the closed state — without it, clearing means open,\n * find Clear, apply. Its click is stopped from reaching the trigger, which would\n * otherwise open the panel on the way out.\n */\nexport function CategoryTrigger({\n placeholder,\n selectionLabel,\n count,\n open,\n disabled,\n fullWidth,\n onOpen,\n onClear,\n triggerRef,\n dataTestId,\n copy,\n}: CategoryTriggerProps): React.JSX.Element {\n const hasSelection = Boolean(selectionLabel) || (count ?? 0) > 0;\n return (\n <Box\n component=\"button\"\n type=\"button\"\n ref={triggerRef}\n disabled={disabled}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n data-testid={`${dataTestId}-trigger`}\n onClick={onOpen}\n sx={(theme) => ({\n ...triggerSx(theme, hasSelection, open),\n width: fullWidth ? '100%' : 'auto',\n })}\n >\n <Box\n component=\"span\"\n sx={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 190,\n flex: fullWidth ? 1 : '0 1 auto',\n textAlign: 'left',\n }}\n >\n {selectionLabel ?? placeholder}\n </Box>\n {count !== undefined && count > 0 && (\n <Box component=\"span\" sx={triggerCountSx} data-testid={`${dataTestId}-count`}>\n {count}\n </Box>\n )}\n {hasSelection && onClear && (\n <Box\n component=\"span\"\n role=\"button\"\n tabIndex={0}\n aria-label={copy.clearSelection}\n data-testid={`${dataTestId}-clear-trigger`}\n sx={triggerClearSx}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation();\n onClear();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n event.stopPropagation();\n onClear();\n }}\n >\n ×\n </Box>\n )}\n <CaretGlyph style={triggerChevronSx(open) as React.CSSProperties} />\n </Box>\n );\n}\n"],"mappings":";;;;;;;;;;;AAGA,OAAO,SAAS;AAoDZ,SAcE,KAdF;AAfG,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4C;AAC1C,QAAM,eAAe,QAAQ,cAAc,MAAM,SAAS,KAAK;AAC/D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA,iBAAc;AAAA,MACd,iBAAe;AAAA,MACf,eAAa,GAAG,UAAU;AAAA,MAC1B,SAAS;AAAA,MACT,IAAI,CAAC,WAAW;AAAA,QACd,GAAG,UAAU,OAAO,cAAc,IAAI;AAAA,QACtC,OAAO,YAAY,SAAS;AAAA,MAC9B;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,cAAc;AAAA,cACd,UAAU;AAAA,cACV,MAAM,YAAY,IAAI;AAAA,cACtB,WAAW;AAAA,YACb;AAAA,YAEC,4BAAkB;AAAA;AAAA,QACrB;AAAA,QACC,UAAU,UAAa,QAAQ,KAC9B,oBAAC,OAAI,WAAU,QAAO,IAAI,gBAAgB,eAAa,GAAG,UAAU,UACjE,iBACH;AAAA,QAED,gBAAgB,WACf;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,UAAU;AAAA,YACV,cAAY,KAAK;AAAA,YACjB,eAAa,GAAG,UAAU;AAAA,YAC1B,IAAI;AAAA,YACJ,SAAS,CAAC,UAA4B;AACpC,oBAAM,gBAAgB;AACtB,sBAAQ;AAAA,YACV;AAAA,YACA,WAAW,CAAC,UAA+B;AACzC,kBAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,IAAK;AAChD,oBAAM,eAAe;AACrB,oBAAM,gBAAgB;AACtB,sBAAQ;AAAA,YACV;AAAA,YACD;AAAA;AAAA,QAED;AAAA,QAEF,oBAAC,cAAW,OAAO,iBAAiB,IAAI,GAA0B;AAAA;AAAA;AAAA,EACpE;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Checkbox/Checkbox.tsx"],"sourcesContent":["import MuiCheckbox from '@mui/material/Checkbox/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport FormHelperText from '@mui/material/FormHelperText/index.js';\nimport { alpha, keyframes, styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { makeTestId, resolveCheckboxProps } from './Checkbox.helpers';\nimport {\n CHECKBOX_GLOW,\n CHECKBOX_HELPER,\n CHECKBOX_HOVER_ALPHA,\n CHECKBOX_LABEL,\n CHECKBOX_PULSE,\n CHECKBOX_SPINNER,\n CHECKBOX_TRANSITION_MS,\n CHECKBOX_VARIANT,\n effectInk,\n} from './Checkbox.metrics';\nimport type { CheckboxProps } from './Checkbox.types';\nimport { splitTestId } from '../../../platform/test-id';\nimport { rem } from '../../../tokens/relative';\n\nconst pulse = keyframes`\n 0% {\n box-shadow: 0 0 0 0 ${effectInk(CHECKBOX_PULSE.alpha)};\n }\n 70% {\n box-shadow: 0 0 0 ${CHECKBOX_PULSE.spread}px ${effectInk(0)};\n }\n 100% {\n box-shadow: 0 0 0 0 ${effectInk(0)};\n }\n`;\n\nconst glow = keyframes`\n 0%, 100% {\n box-shadow: 0 0 ${CHECKBOX_GLOW.blur.from}px ${effectInk(CHECKBOX_GLOW.alpha.from)};\n }\n 50% {\n box-shadow: 0 0 ${CHECKBOX_GLOW.blur.to}px ${effectInk(CHECKBOX_GLOW.alpha.to)};\n }\n`;\n\nconst StyledCheckbox = styled(MuiCheckbox, {\n shouldForwardProp: (prop) => !['customVariant', 'ripple', 'glow', 'pulse'].includes(prop as string),\n})<{ \n customVariant?: CheckboxProps['variant'];\n ripple?: boolean;\n glow?: boolean;\n pulse?: boolean;\n}>(\n ({ theme, customVariant, ripple, glow: glowProp, pulse: pulseProp }) => ({\n ...(customVariant === 'rounded' && {\n '& .MuiSvgIcon-root': {\n borderRadius: CHECKBOX_VARIANT.rounded.radius,\n },\n }),\n \n ...(customVariant === 'toggle' && {\n '& .MuiSvgIcon-root': {\n borderRadius: `${CHECKBOX_VARIANT.toggle.radius}px`,\n transform: `scale(${CHECKBOX_VARIANT.toggle.scale})`,\n },\n }),\n \n '&.MuiCheckbox-root': {\n transition: `all ${CHECKBOX_TRANSITION_MS / 1000}s ease`,\n ...(ripple === false && {\n '& .MuiTouchRipple-root': {\n display: 'none',\n },\n }),\n ...(glowProp && {\n animation: `${glow} ${CHECKBOX_GLOW.ms / 1000}s ease-in-out infinite`,\n }),\n ...(pulseProp && {\n animation: `${pulse} ${CHECKBOX_PULSE.ms / 1000}s infinite`,\n }),\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, CHECKBOX_HOVER_ALPHA),\n },\n },\n \n '&.Mui-checked': {\n color: theme.palette.primary.main,\n },\n \n '&.MuiCheckbox-indeterminate': {\n color: theme.palette.primary.main,\n },\n })\n);\n\nconst StyledFormControlLabel = styled(FormControlLabel, {\n shouldForwardProp: (prop) => prop !== 'error',\n})<{ error?: boolean }>(\n ({ theme, error }) => ({\n marginLeft: CHECKBOX_LABEL.marginLeft,\n '& .MuiFormControlLabel-label': {\n color: error ? theme.palette.error.main : theme.palette.text.primary,\n fontSize: rem(theme, CHECKBOX_LABEL.fontSize),\n },\n })\n);\n\nconst StyledFormHelperText = styled(FormHelperText)(({ theme }) => ({\n marginLeft: theme.spacing(CHECKBOX_HELPER.marginLeftUnits),\n marginTop: theme.spacing(CHECKBOX_HELPER.marginTopUnits),\n}));\n\nexport const Checkbox = React.forwardRef<HTMLButtonElement, CheckboxProps>(\n (rawProps, ref) => {\n const {\n variant,\n label,\n error,\n helperText,\n loading,\n ripple,\n glow,\n pulse,\n disabled,\n ...others\n } = resolveCheckboxProps(rawProps);\n const isDisabled = disabled || loading;\n const { testId: dataTestId, rest: props } = splitTestId(others);\n const testId = makeTestId(dataTestId);\n\n const checkbox = (\n <div style={{ position: 'relative', display: 'inline-flex' }}>\n <StyledCheckbox\n ref={ref}\n customVariant={variant}\n ripple={ripple}\n glow={glow}\n pulse={pulse}\n disabled={isDisabled}\n data-testid={dataTestId || 'checkbox'}\n {...props}\n />\n {loading && (\n <CircularProgress\n size={CHECKBOX_SPINNER.size}\n sx={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: `${CHECKBOX_SPINNER.offset}px`,\n marginLeft: `${CHECKBOX_SPINNER.offset}px`,\n color: 'primary.main',\n }}\n />\n )}\n </div>\n );\n \n if (label) {\n return (\n <div data-testid={testId('container')}>\n <StyledFormControlLabel\n control={checkbox}\n label={label}\n error={error}\n disabled={isDisabled}\n />\n {helperText && (\n <StyledFormHelperText \n error={error}\n data-testid={testId('helper')}\n >\n {helperText}\n </StyledFormHelperText>\n )}\n </div>\n );\n }\n \n return checkbox;\n }\n);\n\nCheckbox.displayName = 'Checkbox';"],"mappings":"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","names":["glow","pulse"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/CategorySelect/CategoryRows.tsx"],"sourcesContent":["'use client';\n\nimport Box from '@mui/material/Box/index.js';\n\nimport type { CategorySelectCopy } from '../../../copy';\nimport { CheckGlyph, DisclosureGlyph } from './CategoryIcons';\nimport { highlightSegments, type CategoryCheckState } from './category-tree';\nimport {\n checkboxBarSx,\n checkboxSx,\n chevronButtonSx,\n markSx,\n METRICS,\n radioSx,\n rowIndent,\n rowMetaSx,\n rowNameSx,\n rowSx,\n sectionHeadSx,\n} from './CategorySelect.styles';\nimport type { CategorySelectOption } from './CategorySelect.types';\n\n/** A label with the search hit marked. */\nexport function HighlightedName({\n text,\n query,\n}: {\n text: string;\n query: string;\n}): React.JSX.Element {\n const segments = highlightSegments(text, query);\n return (\n <>\n {segments.map((segment, index) =>\n segment.match ? (\n <Box component=\"mark\" key={`${segment.text}-${index}`} sx={markSx}>\n {segment.text}\n </Box>\n ) : (\n <span key={`${segment.text}-${index}`}>{segment.text}</span>\n ),\n )}\n </>\n );\n}\n\n/** Tri-state checkbox. `partial` draws the bar the prototype uses for \"some\". */\nexport function CategoryCheckbox({ state }: { state: CategoryCheckState }): React.JSX.Element {\n return (\n <Box sx={(theme) => checkboxSx(theme, state)} aria-hidden=\"true\">\n {state === 'on' && <CheckGlyph />}\n {state === 'partial' && <Box sx={checkboxBarSx} />}\n </Box>\n );\n}\n\nexport function CategoryRadio({ on }: { on: boolean }): React.JSX.Element {\n return <Box sx={(theme) => radioSx(theme, on)} aria-hidden=\"true\" />;\n}\n\ninterface CategoryTreeRowProps {\n option: CategorySelectOption;\n query: string;\n /** 0 for a top-level category; each level below indents one more step. */\n depth: number;\n /** True when there is something under this row to fold. */\n branch: boolean;\n expanded: boolean;\n active: boolean;\n sheet: boolean;\n /** Absent where the row cannot be picked — a category acting as a frame. */\n checkState?: CategoryCheckState;\n /** Single-select draws a radio for the control: choosing a row is exclusive. */\n single: boolean;\n selectedCount: number;\n showCounts: boolean;\n onToggleExpanded: () => void;\n onActivate: () => void;\n dataTestId: string;\n copy: CategorySelectCopy;\n}\n\n/** The trailing number: how many leaves are picked below, else the item count. */\nfunction rowMeta(\n selectedCount: number,\n showCounts: boolean,\n count: number | undefined,\n): { text: string; selected: boolean } | null {\n if (selectedCount > 0) return { text: String(selectedCount), selected: true };\n if (showCounts && count !== undefined) return { text: String(count), selected: false };\n return null;\n}\n\n/** The disclosure chevron, or the space it would have taken on a leaf row. */\nfunction RowDisclosure({\n option,\n expanded,\n branch,\n onToggleExpanded,\n dataTestId,\n copy,\n}: Pick<\n CategoryTreeRowProps,\n 'option' | 'expanded' | 'branch' | 'onToggleExpanded' | 'dataTestId' | 'copy'\n>): React.JSX.Element {\n if (!branch) {\n return <Box sx={{ width: METRICS.chevronButton, flex: '0 0 auto' }} />;\n }\n return (\n <Box\n component=\"button\"\n type=\"button\"\n tabIndex={-1}\n aria-label={expanded ? copy.collapseCategory(option.name) : copy.expandCategory(option.name)}\n data-testid={`${dataTestId}-expand-${option.id}`}\n sx={(theme) => chevronButtonSx(theme, expanded)}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation();\n onToggleExpanded();\n }}\n >\n <DisclosureGlyph />\n </Box>\n );\n}\n\n/** The row's selection control, or the space it would have taken on a frame. */\nfunction RowControl({\n checkState,\n single,\n}: Pick<CategoryTreeRowProps, 'checkState' | 'single'>): React.JSX.Element {\n if (!checkState) return <Box sx={{ width: METRICS.boxSize, flex: '0 0 auto' }} />;\n // Single-select commits the moment a row is chosen, so the control is a radio\n // there: a checkbox would promise the accumulation this mode does not do.\n if (single) return <CategoryRadio on={checkState === 'on'} />;\n return <CategoryCheckbox state={checkState} />;\n}\n\n/**\n * The test id a row answers to.\n *\n * Keyed on DEPTH rather than on whether the row has children, because that is\n * what the ids meant when the tree was two levels and specs were written against\n * them: `-category-<id>` is a top-level row — childless or not — and `-option-`\n * is anything filed under one.\n */\nfunction rowTestId(dataTestId: string, depth: number, id: string): string {\n return depth === 0 ? `${dataTestId}-category-${id}` : `${dataTestId}-option-${id}`;\n}\n\n/**\n * One row of the tree: disclosure chevron, optional control, name, meta.\n *\n * The chevron is its OWN button inside the row — clicking it only folds, while\n * clicking the row does the row's job (expand as a frame, or mark when the row\n * is selectable). A LEAF has neither a fold nor a frame to be: it draws no\n * chevron, and it always carries the control, because it is what you pick.\n */\nexport function CategoryTreeRow({\n option,\n query,\n depth,\n branch,\n expanded,\n active,\n sheet,\n checkState,\n single,\n selectedCount,\n showCounts,\n onToggleExpanded,\n onActivate,\n dataTestId,\n copy,\n}: CategoryTreeRowProps): React.JSX.Element {\n const meta = rowMeta(selectedCount, showCounts, option.count);\n return (\n <Box\n component=\"div\"\n role={checkState ? 'option' : 'button'}\n aria-selected={checkState ? checkState === 'on' : undefined}\n aria-expanded={branch ? expanded : undefined}\n data-testid={rowTestId(dataTestId, depth, option.id)}\n sx={(theme) => ({ ...rowSx(theme, active, sheet), ...rowIndent(depth) })}\n onClick={onActivate}\n >\n <RowDisclosure\n option={option}\n expanded={expanded}\n branch={branch}\n onToggleExpanded={onToggleExpanded}\n dataTestId={dataTestId}\n copy={copy}\n />\n <RowControl checkState={checkState} single={single} />\n <Box component=\"span\" sx={(theme) => rowNameSx(theme, depth === 0)}>\n <HighlightedName text={option.name} query={query} />\n </Box>\n {meta && (\n <Box component=\"span\" sx={(theme) => rowMetaSx(theme, meta.selected)}>\n {meta.text}\n </Box>\n )}\n </Box>\n );\n}\n\n/** The category as a non-interactive heading (single-select, leaf-only). */\nexport function CategorySectionHeading({\n option,\n query,\n}: {\n option: CategorySelectOption;\n query: string;\n}): React.JSX.Element {\n return (\n <Box sx={sectionHeadSx}>\n <HighlightedName text={option.name} query={query} />\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressFallbackField.tsx"],"sourcesContent":["import Alert from '@mui/material/Alert/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport type { FC, ReactNode } from 'react';\nimport React from 'react';\n\nimport type { AddressAutocompleteProps } from './AddressAutocomplete.types';\nimport { AddressTextField } from './AddressTextField';\n\nexport interface AddressFallbackFieldProps {\n copy: AddressAutocompleteProps['copy'];\n variant: AddressAutocompleteProps['variant'];\n label?: string;\n placeholder?: string;\n icon?: ReactNode;\n floating: boolean;\n fullWidth: boolean;\n mapsError: string | null;\n}\n\n// Stands in for the Autocomplete before Google Maps is usable: a disabled field\n// that either spins or explains why it never loaded.\nexport const AddressFallbackField: FC<AddressFallbackFieldProps> = ({\n copy,\n variant,\n label,\n placeholder,\n icon,\n floating,\n fullWidth,\n mapsError,\n}) => {\n const startAdornment = icon ? <InputAdornment position=\"start\">{icon}</InputAdornment> : undefined;\n\n if (!mapsError) {\n return (\n <AddressTextField\n addressVariant={variant}\n label={floating ? undefined : label}\n placeholder={copy.loadingMaps}\n disabled\n fullWidth={fullWidth}\n InputProps={{\n startAdornment,\n endAdornment: <CircularProgress color=\"inherit\" size={20} />,\n }}\n />\n );\n }\n\n return (\n <Box>\n <AddressTextField\n addressVariant={variant}\n label={floating ? undefined : label}\n placeholder={placeholder}\n error\n disabled\n fullWidth={fullWidth}\n helperText={mapsError}\n InputProps={{ startAdornment }}\n />\n <Alert severity=\"error\" sx={{ mt: 1 }}>\n {copy.mapsLoadFailed}\n </Alert>\n </Box>\n );\n};\n"],"mappings":";;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AA8BK,cAmB5B,YAnB4B;AAVzB,IAAM,uBAAsD,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,iBAAiB,OAAO,oBAAC,kBAAe,UAAS,SAAS,gBAAK,IAAoB;AAEzF,MAAI,CAAC,WAAW;AACd,WACE;AAAA,MAAC;AAAA;AAAA,QACC,gBAAgB;AAAA,QAChB,OAAO,WAAW,SAAY;AAAA,QAC9B,aAAa,KAAK;AAAA,QAClB,UAAQ;AAAA,QACR;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA,cAAc,oBAAC,oBAAiB,OAAM,WAAU,MAAM,IAAI;AAAA,QAC5D;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SACE,qBAAC,OACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAgB;AAAA,QAChB,OAAO,WAAW,SAAY;AAAA,QAC9B;AAAA,QACA,OAAK;AAAA,QACL,UAAQ;AAAA,QACR;AAAA,QACA,YAAY;AAAA,QACZ,YAAY,EAAE,eAAe;AAAA;AAAA,IAC/B;AAAA,IACA,oBAAC,SAAM,UAAS,SAAQ,IAAI,EAAE,IAAI,EAAE,GACjC,eAAK,gBACR;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Toggle/Toggle.styles.ts"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, PaletteColor, Theme } from '@mui/material/styles/index.js';\n\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { asFieldSize, fieldBorder, fieldHeight } from '../../../tokens/field-height';\nimport { absoluteInk, controlNeutral, sheen } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\nconst glowAnimation = keyframes`\n 0% { box-shadow: 0 0 5px currentColor; }\n 50% { box-shadow: 0 0 15px currentColor, 0 0 25px currentColor; }\n 100% { box-shadow: 0 0 5px currentColor; }\n`;\n\nconst floatAnimation = keyframes`\n 0%, 100% { transform: translateY(0px); }\n 50% { transform: translateY(-2px); }\n`;\n\ninterface TogglePalette {\n main: string;\n dark: string;\n light: string;\n contrastText: string;\n}\n\nconst neutralPalette = (theme: Theme): TogglePalette => controlNeutral(theme);\n\n// A theme can be handed to us with shades missing, so each one falls back through\n// the palette's own main colour before reaching for primary.\nconst shade = (\n palette: PaletteColor | undefined,\n key: 'dark' | 'light',\n fallback: PaletteColor,\n): string => palette?.[key] || palette?.main || fallback[key];\n\nexport const getColorFromTheme = (theme: Theme, color: string): TogglePalette => {\n if (color === 'neutral') return neutralPalette(theme);\n\n const colorMap: Record<string, PaletteColor> = {\n primary: theme.palette.primary,\n secondary: theme.palette.secondary,\n success: theme.palette.success,\n warning: theme.palette.warning,\n info: theme.palette.info,\n danger: theme.palette.error,\n };\n\n const fallback = theme.palette.primary;\n const palette = colorMap[color] || fallback;\n\n return {\n main: palette?.main || fallback.main,\n dark: shade(palette, 'dark', fallback),\n light: shade(palette, 'light', fallback),\n contrastText: palette?.contrastText || absoluteInk(theme).white,\n };\n};\n\n/** Each size's padding and type; the type is design px, read through the type scale. */\nconst SIZE_MAP: Record<string, { padding: string; fontPx: number }> = {\n xs: { padding: '4px 8px', fontPx: 12 },\n sm: { padding: '6px 12px', fontPx: 14 },\n md: { padding: '8px 16px', fontPx: 16 },\n lg: { padding: '10px 20px', fontPx: 18 },\n xl: { padding: '12px 24px', fontPx: 20 },\n};\n\nconst sizeStyles = (theme: Theme, customSize: string): CSSObject => {\n const size = SIZE_MAP[customSize];\n return size ? { padding: size.padding, fontSize: rem(theme, size.fontPx) } : {};\n};\n\nexport const baseStyles = (\n theme: Theme,\n colorPalette: TogglePalette,\n customSize: string,\n): CSSObject => ({\n textTransform: 'none',\n fontWeight: 500,\n borderRadius: fieldRadius(theme),\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n border: fieldBorder(theme),\n color: theme.palette.text.primary,\n backgroundColor: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n\n // A zero-sized circle that grows to fill the button on hover.\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: 0,\n height: 0,\n borderRadius: '50%',\n backgroundColor: alpha(colorPalette.main, 0.2),\n transform: 'translate(-50%, -50%)',\n transition: 'width 0.4s, height 0.4s',\n },\n\n '&:hover': {\n backgroundColor: alpha(colorPalette.main, 0.08),\n borderColor: colorPalette.main,\n transform: 'translateY(-1px)',\n boxShadow: `0 4px 8px ${alpha(colorPalette.main, 0.15)}`,\n animation: `${floatAnimation} 2s ease-in-out infinite`,\n\n '&::before': {\n width: '100%',\n height: '100%',\n },\n },\n\n '&:active': {\n transform: 'scale(0.98)',\n },\n\n '&.Mui-selected': {\n backgroundColor: colorPalette.main,\n color: colorPalette.contrastText || absoluteInk(theme).white,\n borderColor: colorPalette.main,\n boxShadow: `0 2px 8px ${alpha(colorPalette.main, 0.3)}`,\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(135deg, transparent, ${sheen(theme, 0.1)})`,\n pointerEvents: 'none',\n },\n\n '&:hover': {\n backgroundColor: colorPalette.dark,\n transform: 'translateY(-2px) scale(1.02)',\n boxShadow: `0 6px 20px ${alpha(colorPalette.main, 0.4)}`,\n },\n },\n\n // Size wins over everything above it — its font and horizontal padding; the\n // height is the theme's field height for the size.\n ...sizeStyles(theme, customSize),\n minHeight: fieldHeight(theme, asFieldSize(customSize)),\n paddingTop: 0,\n paddingBottom: 0,\n});\n\nexport const variantStyles = (\n theme: Theme,\n customVariant: string | undefined,\n colorPalette: TogglePalette,\n): CSSObject => {\n switch (customVariant) {\n case 'outline':\n return {\n backgroundColor: 'transparent',\n border: `2px solid ${colorPalette.main}`,\n color: colorPalette.main,\n\n '&.Mui-selected': {\n backgroundColor: colorPalette.main,\n color: colorPalette.contrastText || absoluteInk(theme).white,\n },\n };\n case 'soft':\n return {\n backgroundColor: alpha(colorPalette.main, 0.1),\n border: 'none',\n color: colorPalette.main,\n\n '&.Mui-selected': {\n backgroundColor: alpha(colorPalette.main, 0.2),\n color: colorPalette.main,\n },\n };\n default:\n return {};\n }\n};\n\ninterface ToggleEffects {\n glass?: boolean;\n gradient?: boolean;\n glow?: boolean;\n}\n\n// gradient and glow both target `.Mui-selected`; with both on, the later spread\n// wins, so glow's animation replaces gradient's.\nexport const effectStyles = (\n theme: Theme,\n colorPalette: TogglePalette,\n { glass, gradient, glow }: ToggleEffects,\n): CSSObject => ({\n ...(glass && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n }),\n\n ...(gradient && {\n '&.Mui-selected': {\n background: `linear-gradient(135deg, ${colorPalette.light}, ${colorPalette.main}, ${colorPalette.dark})`,\n backgroundSize: '200% 200%',\n animation: `${floatAnimation} 3s ease-in-out infinite`,\n border: 'none',\n\n '&:hover': {\n backgroundPosition: '100% 100%',\n },\n },\n }),\n\n ...(glow && {\n '&.Mui-selected': {\n animation: `${glowAnimation} 2s ease-in-out infinite`,\n boxShadow: `0 0 15px ${alpha(colorPalette.main, 0.6)}`,\n },\n }),\n});\n"],"mappings":"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","names":[]}