@persona/design-system 0.5.0 → 0.6.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 (575) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/dist/{Action-C2waxwIy.d.mts → Action-C2FTJhnQ.d.mts} +3 -3
  3. package/dist/Action.d.mts +1 -1
  4. package/dist/AdvancedFilterRuleRow.d.mts +2 -2
  5. package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
  6. package/dist/ArrayValueControl.d.mts +1 -1
  7. package/dist/Attribute.d.mts +8 -6
  8. package/dist/{Badge-CM2TzkdE.mjs → Badge-BtNIvtDZ.mjs} +3 -3
  9. package/dist/{Badge-CM2TzkdE.mjs.map → Badge-BtNIvtDZ.mjs.map} +1 -1
  10. package/dist/BooleanValueControl.d.mts +1 -1
  11. package/dist/{Breadcrumb-Df06cTnA.d.mts → Breadcrumb-BlAhp45l.d.mts} +1 -1
  12. package/dist/Breadcrumb.d.mts +1 -1
  13. package/dist/{Breadcrumbs-BEYQlGbW.mjs → Breadcrumbs-CR-xdruP.mjs} +16 -15
  14. package/dist/Breadcrumbs-CR-xdruP.mjs.map +1 -0
  15. package/dist/{Breadcrumbs-D_Gzd4_J.d.mts → Breadcrumbs-DdZ14ZFw.d.mts} +2 -2
  16. package/dist/Breadcrumbs.d.mts +1 -1
  17. package/dist/{Button-CRFbWv3l.d.mts → Button-CTgyA3gc.d.mts} +5 -4
  18. package/dist/Button.d.mts +1 -1
  19. package/dist/{Calendar-DjnoZVcT.d.mts → Calendar-_gM6U5ET.d.mts} +1 -1
  20. package/dist/Calendar.d.mts +1 -1
  21. package/dist/CalendarBase.d.mts +1 -1
  22. package/dist/Card-Dorym91P.d.mts +75 -0
  23. package/dist/{Card-CKrJtn1f.mjs → Card-vQIPtdXi.mjs} +12 -10
  24. package/dist/Card-vQIPtdXi.mjs.map +1 -0
  25. package/dist/Card.d.mts +1 -1
  26. package/dist/Card2.d.mts +3 -3
  27. package/dist/{CardV2-B2wx1NE3.mjs → CardV2-CBjhsfrn.mjs} +19 -18
  28. package/dist/CardV2-CBjhsfrn.mjs.map +1 -0
  29. package/dist/{Checkbox-DwZEsi7x.mjs → Checkbox-BHZ7c7_6.mjs} +27 -23
  30. package/dist/Checkbox-BHZ7c7_6.mjs.map +1 -0
  31. package/dist/{Checkbox-CwPXPLCi.d.mts → Checkbox-DRJXDs2T.d.mts} +1 -1
  32. package/dist/Checkbox.d.mts +1 -1
  33. package/dist/CheckboxGroupField.d.mts +1 -1
  34. package/dist/ChoicesValueControl.d.mts +1 -1
  35. package/dist/CodeHighlight.d.mts +40 -0
  36. package/dist/{Combobox-CKaVX-32.mjs → Combobox-BCYLeZDP.mjs} +23 -22
  37. package/dist/Combobox-BCYLeZDP.mjs.map +1 -0
  38. package/dist/{Combobox-BQN5OwB-.d.mts → Combobox-DMN3nc7E.d.mts} +3 -3
  39. package/dist/Combobox.d.mts +2 -2
  40. package/dist/{ComboboxBase-nfHr19x-.d.mts → ComboboxBase-DBLJYQrh.d.mts} +18 -29
  41. package/dist/ComboboxBase.d.mts +1 -1
  42. package/dist/{ComboboxMultiSelect-DRNj2Mtx.d.mts → ComboboxMultiSelect-CZRLyM_y.d.mts} +2 -2
  43. package/dist/ComboboxMultiSelect.d.mts +1 -1
  44. package/dist/{ComboboxSingleSelect-BkhbEx-F.d.mts → ComboboxSingleSelect-BS6pZpU_.d.mts} +4 -4
  45. package/dist/ComboboxSingleSelect.d.mts +1 -1
  46. package/dist/{CompactBar-CyHbWTv4.d.mts → CompactBar-DEqItiZr.d.mts} +3 -3
  47. package/dist/CompactBar.d.mts +1 -1
  48. package/dist/{ConfigFormGroup-CmCRJyse.mjs → ConfigFormGroup-BnRDAs0j.mjs} +3 -3
  49. package/dist/{ConfigFormGroup-CmCRJyse.mjs.map → ConfigFormGroup-BnRDAs0j.mjs.map} +1 -1
  50. package/dist/{ControlBar-DwAhPcb5.d.mts → ControlBar-BVG5Pbvh.d.mts} +2 -2
  51. package/dist/ControlBar.d.mts +1 -1
  52. package/dist/DataTable.d.mts +17 -6
  53. package/dist/{DateField-tOyrGcx1.d.mts → DateField-CBCo8_d3.d.mts} +2 -2
  54. package/dist/DateField.d.mts +1 -1
  55. package/dist/{DatePicker-Bs9JODNg.d.mts → DatePicker-BZ4_I4Db.d.mts} +2 -2
  56. package/dist/{DatePicker-D2SfjS-N.mjs → DatePicker-BcjrAr7o.mjs} +44 -33
  57. package/dist/DatePicker-BcjrAr7o.mjs.map +1 -0
  58. package/dist/DatePicker.d.mts +1 -1
  59. package/dist/{DateRangePicker-BT6-j8V7.d.mts → DateRangePicker-BMKJquPT.d.mts} +3 -3
  60. package/dist/DateRangePicker.d.mts +1 -1
  61. package/dist/DateRangeValueControl.d.mts +2 -2
  62. package/dist/DateValueControl.d.mts +1 -1
  63. package/dist/{DropdownButton-dpGAmVlN.mjs → DropdownButton-l-fzkb5_.mjs} +3 -3
  64. package/dist/{DropdownButton-dpGAmVlN.mjs.map → DropdownButton-l-fzkb5_.mjs.map} +1 -1
  65. package/dist/DropdownButton.d.mts +2 -2
  66. package/dist/{DropdownMenu-RTxQ0Zu1.d.mts → DropdownMenu-Bg68vvxx.d.mts} +3 -3
  67. package/dist/{DropdownMenu-CyxizDxJ.mjs → DropdownMenu-C0WK4bM0.mjs} +3 -3
  68. package/dist/{DropdownMenu-CyxizDxJ.mjs.map → DropdownMenu-C0WK4bM0.mjs.map} +1 -1
  69. package/dist/DropdownMenu.d.mts +1 -1
  70. package/dist/{ErrorProps-C9T857Wk.d.mts → ErrorProps-7eWoxSes.d.mts} +1 -1
  71. package/dist/ErrorProps.d.mts +1 -1
  72. package/dist/{FieldRegistry-D6niLExM.d.mts → FieldRegistry-BslyuPZw.d.mts} +2 -2
  73. package/dist/FieldRegistry.d.mts +1 -1
  74. package/dist/{FilterBar-DfBV7yKM.d.mts → FilterBar-DjZE4PoB.d.mts} +4 -4
  75. package/dist/FilterBar.d.mts +1 -1
  76. package/dist/FilterPickerMenu.d.mts +2 -2
  77. package/dist/FilterPill.d.mts +1 -1
  78. package/dist/FilterPopover.d.mts +1 -1
  79. package/dist/FloatValueControl.d.mts +1 -1
  80. package/dist/{FormControl-DQFefbrI.mjs → FormControl-BzMbbgr0.mjs} +8 -7
  81. package/dist/FormControl-BzMbbgr0.mjs.map +1 -0
  82. package/dist/{FormControl-BMYRsFkI.d.mts → FormControl-gpLZZpNs.d.mts} +3 -3
  83. package/dist/FormControl.d.mts +1 -1
  84. package/dist/FormControlLabel.d.mts +2 -2
  85. package/dist/{FormField-C7bW-O6H.mjs → FormField-2sNS5PzN.mjs} +16 -16
  86. package/dist/{FormField-C7bW-O6H.mjs.map → FormField-2sNS5PzN.mjs.map} +1 -1
  87. package/dist/{FormField-C1DaUT5U.d.mts → FormField-CZXKvCGt.d.mts} +2 -2
  88. package/dist/FormField.d.mts +1 -1
  89. package/dist/{Header-BKk3qESS.d.mts → Header-1laYnwRP.d.mts} +2 -2
  90. package/dist/Header.d.mts +1 -1
  91. package/dist/{HelperTooltip-CD_yy7Hp.d.mts → HelperTooltip-BPJS3EwC.d.mts} +2 -2
  92. package/dist/HelperTooltip.d.mts +1 -1
  93. package/dist/{HoverCopyableField-Bgt639FR.mjs → HoverCopyableField-CeJ0UP87.mjs} +8 -8
  94. package/dist/{HoverCopyableField-Bgt639FR.mjs.map → HoverCopyableField-CeJ0UP87.mjs.map} +1 -1
  95. package/dist/{IconButton-BnSEV7eR.mjs → IconButton-CnJNIJVQ.mjs} +124 -25
  96. package/dist/IconButton-CnJNIJVQ.mjs.map +1 -0
  97. package/dist/{IconButton-Bh-JJ-0x.d.mts → IconButton-PnrnqQ1s.d.mts} +2 -2
  98. package/dist/IconButton.d.mts +1 -1
  99. package/dist/ImageTile.d.mts +1 -1
  100. package/dist/InlineCombobox.d.mts +1 -1
  101. package/dist/InlineInput.d.mts +1 -1
  102. package/dist/{Input-D7of_GtJ.mjs → Input-DGWThZlt.mjs} +12 -10
  103. package/dist/Input-DGWThZlt.mjs.map +1 -0
  104. package/dist/{Input-1bDdMAgO.d.mts → Input-Diztxhle.d.mts} +5 -9
  105. package/dist/Input.d.mts +1 -1
  106. package/dist/{InputProps-BBShwi8N.d.mts → InputProps-BILq1X-n.d.mts} +2 -2
  107. package/dist/InputProps.d.mts +1 -1
  108. package/dist/IntegerValueControl.d.mts +1 -1
  109. package/dist/{ListBox-DeFHRX2T.d.mts → ListBox-Awtw7Xy_.d.mts} +3 -3
  110. package/dist/{ListBox-jzXQDraS.mjs → ListBox-DqII8giL.mjs} +37 -29
  111. package/dist/ListBox-DqII8giL.mjs.map +1 -0
  112. package/dist/ListBox.d.mts +1 -1
  113. package/dist/ListBoxField.d.mts +2 -2
  114. package/dist/{LoadingShimmer-a2Hv0kAq.mjs → LoadingShimmer-ZyzJs5Vi.mjs} +13 -5
  115. package/dist/LoadingShimmer-ZyzJs5Vi.mjs.map +1 -0
  116. package/dist/LoadingShimmer.d.mts +2 -2
  117. package/dist/{LogicRow-BOhB0uNS.d.mts → LogicRow-DIn0gLEq.d.mts} +3 -3
  118. package/dist/LogicRow.d.mts +1 -1
  119. package/dist/MaskedInput.d.mts +2 -2
  120. package/dist/MatchHighlight.d.mts +1 -1
  121. package/dist/{Menu-DVI8l-4Q.mjs → Menu-CeV3lL2g.mjs} +42 -25
  122. package/dist/Menu-CeV3lL2g.mjs.map +1 -0
  123. package/dist/{Menu-BCVhmNEe.d.mts → Menu-DdHN-drQ.d.mts} +4 -4
  124. package/dist/Menu.d.mts +1 -1
  125. package/dist/{MiddleTruncatedText-DnF7F_1D.mjs → MiddleTruncatedText-CO58jrNF.mjs} +2 -2
  126. package/dist/{MiddleTruncatedText-DnF7F_1D.mjs.map → MiddleTruncatedText-CO58jrNF.mjs.map} +1 -1
  127. package/dist/Modal.d.mts +4 -4
  128. package/dist/{PageHeader-BpGT-BM0.mjs → PageHeader-UI_6yImi.mjs} +9 -6
  129. package/dist/PageHeader-UI_6yImi.mjs.map +1 -0
  130. package/dist/PageHeader.d.mts +2 -2
  131. package/dist/PageLayout.d.mts +1 -1
  132. package/dist/{PageSelector-D6tffcGW.d.mts → PageSelector-CIa3Zts9.d.mts} +3 -3
  133. package/dist/PageSelector.d.mts +1 -1
  134. package/dist/{Pagination-BkjmybcI.d.mts → Pagination-C2eZEM7K.d.mts} +2 -2
  135. package/dist/{Pagination-CVRTcKSG.mjs → Pagination-DgA0U1fa.mjs} +9 -8
  136. package/dist/Pagination-DgA0U1fa.mjs.map +1 -0
  137. package/dist/Pagination.d.mts +1 -1
  138. package/dist/{Pii-CA7aCuYT.mjs → Pii-bxG0qu3t.mjs} +2 -2
  139. package/dist/{Pii-CA7aCuYT.mjs.map → Pii-bxG0qu3t.mjs.map} +1 -1
  140. package/dist/{PillShell-CVqpZ5iV.d.mts → PillShell-D6dN9sWk.d.mts} +2 -2
  141. package/dist/PillShell.d.mts +1 -1
  142. package/dist/{Popover-DlXyKYL5.mjs → Popover-UiOUt5up.mjs} +9 -5
  143. package/dist/Popover-UiOUt5up.mjs.map +1 -0
  144. package/dist/{PseudoClassProps-BPdn-ofQ.d.mts → PseudoClassProps-DnlHhW5u.d.mts} +1 -1
  145. package/dist/PseudoClassProps.d.mts +1 -1
  146. package/dist/{Radio-DYGEt0FT.mjs → Radio-BrQzZhwP.mjs} +22 -18
  147. package/dist/Radio-BrQzZhwP.mjs.map +1 -0
  148. package/dist/{RadioGroup-pegXtLwD.mjs → RadioGroup-Bl9oXPIo.mjs} +3 -3
  149. package/dist/{RadioGroup-pegXtLwD.mjs.map → RadioGroup-Bl9oXPIo.mjs.map} +1 -1
  150. package/dist/{RadioGroup-DYIfRj02.d.mts → RadioGroup-Dg_gydUp.d.mts} +1 -1
  151. package/dist/RadioGroup.d.mts +1 -1
  152. package/dist/RangeCalendar.d.mts +1 -1
  153. package/dist/RangeCalendarPresets.d.mts +1 -1
  154. package/dist/RuleEditorFields.d.mts +2 -2
  155. package/dist/RulesPill.d.mts +1 -1
  156. package/dist/{SearchInput-Dc90GLTF.d.mts → SearchInput-CNg109M5.d.mts} +2 -2
  157. package/dist/SearchInput.d.mts +1 -1
  158. package/dist/SectionHeading.d.mts +1 -1
  159. package/dist/{SegmentedControl-DIHonamg.d.mts → SegmentedControl-BBIHKcvo.d.mts} +1 -1
  160. package/dist/{SegmentedControl-DwbltwDQ.mjs → SegmentedControl-BozydMtT.mjs} +10 -9
  161. package/dist/SegmentedControl-BozydMtT.mjs.map +1 -0
  162. package/dist/SegmentedControl.d.mts +1 -1
  163. package/dist/{Select-CBVvPyRJ.mjs → Select-CktsIrzf.mjs} +16 -15
  164. package/dist/Select-CktsIrzf.mjs.map +1 -0
  165. package/dist/{Select-DwqWnWBi.d.mts → Select-yPqzqe5k.d.mts} +3 -3
  166. package/dist/Select.d.mts +1 -1
  167. package/dist/{Spacer-BsK8tTwA.mjs → Spacer-D58qwuXR.mjs} +2 -2
  168. package/dist/{Spacer-BsK8tTwA.mjs.map → Spacer-D58qwuXR.mjs.map} +1 -1
  169. package/dist/{Spinner-e725Rxkd.mjs → Spinner-Dpw3-3JS.mjs} +6 -8
  170. package/dist/Spinner-Dpw3-3JS.mjs.map +1 -0
  171. package/dist/{Stack-Bre2oiov.mjs → Stack-BqQndGI9.mjs} +2 -2
  172. package/dist/{Stack-Bre2oiov.mjs.map → Stack-BqQndGI9.mjs.map} +1 -1
  173. package/dist/{Stack-6eOrxjJi.d.mts → Stack-DgC83-nw.d.mts} +2 -2
  174. package/dist/Stack.d.mts +1 -1
  175. package/dist/{Sticker-By3F8Aip.mjs → Sticker-BDyejPZa.mjs} +159 -14
  176. package/dist/Sticker-BDyejPZa.mjs.map +1 -0
  177. package/dist/{Sticker-Ep6N4Exq.d.mts → Sticker-qvWkqEMw.d.mts} +5 -5
  178. package/dist/Sticker.d.mts +1 -1
  179. package/dist/StringValueControl.d.mts +1 -1
  180. package/dist/Tab.d.mts +3 -4
  181. package/dist/{TabBar-CWF65Tv4.mjs → TabBar-Dw3xE_B-.mjs} +17 -16
  182. package/dist/TabBar-Dw3xE_B-.mjs.map +1 -0
  183. package/dist/TabBarIconButton.d.mts +1 -5
  184. package/dist/{Table-BOcWdwpv.d.mts → Table-CPvIH27_.d.mts} +1 -1
  185. package/dist/{Table-nWd5ZVbm.mjs → Table-ELLvSvH4.mjs} +86 -39
  186. package/dist/Table-ELLvSvH4.mjs.map +1 -0
  187. package/dist/Table.d.mts +1 -1
  188. package/dist/{TableBody-BFPFaZnD.d.mts → TableBody-CQYijW_3.d.mts} +1 -1
  189. package/dist/TableBody.d.mts +1 -1
  190. package/dist/{TableBox-Bd-H5oyh.mjs → TableBox-CCfha6G2.mjs} +57 -47
  191. package/dist/TableBox-CCfha6G2.mjs.map +1 -0
  192. package/dist/TableBox.d.mts +2 -2
  193. package/dist/{TableBoxCell-Cjlc_xJz.d.mts → TableBoxCell-xnzuHPV1.d.mts} +7 -7
  194. package/dist/TableBoxCell.d.mts +1 -1
  195. package/dist/TableBoxField.d.mts +3 -3
  196. package/dist/{TableBoxRow-CKDjNUsU.d.mts → TableBoxRow-BBDMh5xl.d.mts} +3 -3
  197. package/dist/TableBoxRow.d.mts +1 -1
  198. package/dist/{TableBoxRowActions-BJ8ue3Bk.d.mts → TableBoxRowActions-DCfol4GC.d.mts} +2 -2
  199. package/dist/TableBoxRowActions.d.mts +1 -1
  200. package/dist/{index-CvBvfQAY.d.mts → TableCell-BQv4ASkE.d.mts} +5 -26
  201. package/dist/TableCell.d.mts +1 -1
  202. package/dist/{TableControls-BnesnTue.mjs → TableControls-C-yb5EYU.mjs} +76 -64
  203. package/dist/TableControls-C-yb5EYU.mjs.map +1 -0
  204. package/dist/{TableControls-D8xMNgyS.d.mts → TableControls-CtEL3ioz.d.mts} +3 -3
  205. package/dist/TableControls.d.mts +1 -1
  206. package/dist/{TableControlsContext-ChFsFEjR.d.mts → TableControlsContext-X-Lupvc6.d.mts} +2 -2
  207. package/dist/TableControlsContext.d.mts +1 -1
  208. package/dist/{TableHead-CWDxuy5V.d.mts → TableHead-DLLn0zoP.d.mts} +1 -1
  209. package/dist/TableHead.d.mts +1 -1
  210. package/dist/{TableHeaderCell-C_sIU1d7.d.mts → TableHeaderCell-DiJ2jyw4.d.mts} +3 -1
  211. package/dist/TableHeaderCell.d.mts +1 -1
  212. package/dist/{TableLayout-CgGhKU_A.d.mts → TableLayout-BgnUz8NO.d.mts} +1 -1
  213. package/dist/TableLayout.d.mts +1 -1
  214. package/dist/{TableRow-B1UKlbze.d.mts → TableRow-Dgg8hGy5.d.mts} +2 -2
  215. package/dist/TableRow.d.mts +1 -1
  216. package/dist/TableTH.d.mts +1 -1
  217. package/dist/{TableViewConfigurationDropdown-BqB7pOh8.d.mts → TableViewConfigurationDropdown-DRxd562-.d.mts} +2 -2
  218. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  219. package/dist/{TechnicalSticker-Ct2WnNzJ.mjs → TechnicalSticker-CLbNA0kp.mjs} +27 -22
  220. package/dist/TechnicalSticker-CLbNA0kp.mjs.map +1 -0
  221. package/dist/{Text-B0orb-cZ.mjs → Text-Dn_p7ZvT.mjs} +16 -12
  222. package/dist/Text-Dn_p7ZvT.mjs.map +1 -0
  223. package/dist/{Text-BzzUdBdc.d.mts → Text-tgFz40XD.d.mts} +4 -4
  224. package/dist/Text.d.mts +1 -1
  225. package/dist/{TextArea-CGpY5xqX.d.mts → TextArea-BxxXQSwP.d.mts} +2 -2
  226. package/dist/{TextArea-CospIXEO.mjs → TextArea-oAK1DKId.mjs} +3 -3
  227. package/dist/{TextArea-CospIXEO.mjs.map → TextArea-oAK1DKId.mjs.map} +1 -1
  228. package/dist/TextArea.d.mts +1 -1
  229. package/dist/{TextUnderlineTooltip-DZYGjJq1.d.mts → TextUnderlineTooltip-DQVYsLqM.d.mts} +3 -3
  230. package/dist/TextUnderlineTooltip.d.mts +1 -1
  231. package/dist/Tile.d.mts +1 -1
  232. package/dist/Toast.d.mts +1 -1
  233. package/dist/{Toggle-BjAivdyX.d.mts → Toggle-BmUl78kH.d.mts} +1 -1
  234. package/dist/{Toggle-Do5z1VcO.mjs → Toggle-DZzirZ8p.mjs} +20 -11
  235. package/dist/Toggle-DZzirZ8p.mjs.map +1 -0
  236. package/dist/Toggle.d.mts +1 -1
  237. package/dist/{Tooltip-DSKGD33G.mjs → Tooltip-BsuYG0fw.mjs} +12 -9
  238. package/dist/Tooltip-BsuYG0fw.mjs.map +1 -0
  239. package/dist/{Tooltip-n3XkX4dp.d.mts → Tooltip-eSaiYjxT.d.mts} +3 -3
  240. package/dist/Tooltip.d.mts +1 -1
  241. package/dist/{TruncatedText-C-MJPIRi.d.mts → TruncatedText-B2v53Y11.d.mts} +2 -2
  242. package/dist/{codec-B0dZTwlG.d.mts → codec-D5qlDVgU.d.mts} +2 -2
  243. package/dist/codec.d.mts +1 -1
  244. package/dist/color-fQTsW4gq.d.mts +20 -0
  245. package/dist/components/Attribute/index.mjs +34 -9
  246. package/dist/components/Attribute/index.mjs.map +1 -1
  247. package/dist/components/Badge/index.mjs +1 -1
  248. package/dist/components/Banner/index.mjs +19 -8
  249. package/dist/components/Banner/index.mjs.map +1 -1
  250. package/dist/components/BottomPanel/index.mjs +4 -4
  251. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  252. package/dist/components/Breadcrumbs/index.mjs +1 -1
  253. package/dist/components/Button/index.d.mts +2 -2
  254. package/dist/components/Button/index.mjs +1 -1
  255. package/dist/components/ButtonGroup/index.mjs +13 -5
  256. package/dist/components/ButtonGroup/index.mjs.map +1 -1
  257. package/dist/components/Card/index.d.mts +2 -2
  258. package/dist/components/Card/index.mjs +1 -1
  259. package/dist/components/CardV2/index.d.mts +1 -1
  260. package/dist/components/CardV2/index.mjs +1 -1
  261. package/dist/components/Checkbox/index.d.mts +1 -1
  262. package/dist/components/Checkbox/index.mjs +1 -1
  263. package/dist/components/CodeHighlight/PrismWithLanguages.d.mts +2 -0
  264. package/dist/components/CodeHighlight/PrismWithLanguages.mjs +48 -0
  265. package/dist/components/CodeHighlight/PrismWithLanguages.mjs.map +1 -0
  266. package/dist/components/CodeHighlight/index.d.mts +2 -0
  267. package/dist/components/CodeHighlight/index.mjs +381 -0
  268. package/dist/components/CodeHighlight/index.mjs.map +1 -0
  269. package/dist/components/Combobox/index.d.mts +2 -2
  270. package/dist/components/Combobox/index.mjs +1 -1
  271. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  272. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  273. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  274. package/dist/components/DataTable/index.mjs +84 -44
  275. package/dist/components/DataTable/index.mjs.map +1 -1
  276. package/dist/components/DataTable/types.d.mts +2 -2
  277. package/dist/components/DatePicker/index.d.mts +4 -4
  278. package/dist/components/DatePicker/index.mjs +1 -1
  279. package/dist/components/DropdownButton/index.mjs +1 -1
  280. package/dist/components/DropdownMenu/index.d.mts +1 -1
  281. package/dist/components/DropdownMenu/index.mjs +1 -1
  282. package/dist/components/FloatingPanel/index.mjs +5 -5
  283. package/dist/components/FormControl/index.d.mts +2 -2
  284. package/dist/components/FormControl/index.mjs +2 -2
  285. package/dist/components/FormField/index.d.mts +1 -1
  286. package/dist/components/FormField/index.mjs +1 -1
  287. package/dist/components/Grid/index.mjs +1 -1
  288. package/dist/components/HoverCopyableField/index.mjs +1 -1
  289. package/dist/components/ImageTile/index.mjs +18 -17
  290. package/dist/components/ImageTile/index.mjs.map +1 -1
  291. package/dist/components/Input/index.d.mts +1 -1
  292. package/dist/components/Input/index.mjs +1 -1
  293. package/dist/components/Link/index.mjs +7 -8
  294. package/dist/components/Link/index.mjs.map +1 -1
  295. package/dist/components/ListBox/index.d.mts +3 -3
  296. package/dist/components/ListBox/index.mjs +1 -1
  297. package/dist/components/LoadingShimmer/index.mjs +1 -1
  298. package/dist/components/MaskedInput/index.mjs +1 -1
  299. package/dist/components/MatchHighlight/index.mjs +6 -4
  300. package/dist/components/MatchHighlight/index.mjs.map +1 -1
  301. package/dist/components/Menu/index.d.mts +1 -1
  302. package/dist/components/Menu/index.mjs +1 -1
  303. package/dist/components/Modal/index.mjs +12 -72
  304. package/dist/components/Modal/index.mjs.map +1 -1
  305. package/dist/components/PageHeader/index.mjs +1 -1
  306. package/dist/components/Pagination/index.d.mts +3 -3
  307. package/dist/components/Pagination/index.mjs +1 -1
  308. package/dist/components/Pii/index.mjs +1 -1
  309. package/dist/components/Popover/index.mjs +1 -1
  310. package/dist/components/ProgressBar/index.mjs +16 -19
  311. package/dist/components/ProgressBar/index.mjs.map +1 -1
  312. package/dist/components/ProgressIndicator/index.mjs +25 -19
  313. package/dist/components/ProgressIndicator/index.mjs.map +1 -1
  314. package/dist/components/Radio/index.mjs +1 -1
  315. package/dist/components/RadioGroup/index.d.mts +1 -1
  316. package/dist/components/RadioGroup/index.mjs +1 -1
  317. package/dist/components/RightPanel/index.mjs +5 -5
  318. package/dist/components/SegmentedControl/index.d.mts +1 -1
  319. package/dist/components/SegmentedControl/index.mjs +1 -1
  320. package/dist/components/Select/index.d.mts +1 -1
  321. package/dist/components/Select/index.mjs +1 -1
  322. package/dist/components/Slider/index.mjs +21 -12
  323. package/dist/components/Slider/index.mjs.map +1 -1
  324. package/dist/components/SmartTextInput/PillType.d.mts +10 -0
  325. package/dist/components/SmartTextInput/PillType.mjs +31 -0
  326. package/dist/components/SmartTextInput/PillType.mjs.map +1 -0
  327. package/dist/components/SmartTextInput/parser/method-chain/grammar.pegjs +219 -0
  328. package/dist/components/SmartTextInput/parser/method-chain/parser.d.mts +21 -0
  329. package/dist/components/SmartTextInput/parser/method-chain/parser.mjs +2 -0
  330. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +105 -0
  331. package/dist/components/SmartTextInput/parser/method-chain/types.mjs +31 -0
  332. package/dist/components/SmartTextInput/parser/method-chain/types.mjs.map +1 -0
  333. package/dist/components/SmartTextInput/parser/smart-text/grammar.pegjs +154 -0
  334. package/dist/components/SmartTextInput/parser/smart-text/parser.d.mts +17 -0
  335. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs +814 -0
  336. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs.map +1 -0
  337. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +72 -0
  338. package/dist/components/SmartTextInput/parser/smart-text/types.mjs +38 -0
  339. package/dist/components/SmartTextInput/parser/smart-text/types.mjs.map +1 -0
  340. package/dist/components/Spacer/index.mjs +1 -1
  341. package/dist/components/Spinner/index.mjs +1 -1
  342. package/dist/components/Stack/index.d.mts +1 -1
  343. package/dist/components/Stack/index.mjs +1 -1
  344. package/dist/components/StatusIndicator/index.mjs +112 -13
  345. package/dist/components/StatusIndicator/index.mjs.map +1 -1
  346. package/dist/components/Sticker/index.d.mts +1 -1
  347. package/dist/components/Sticker/index.mjs +1 -1
  348. package/dist/components/SwatchPicker/index.mjs +5 -4
  349. package/dist/components/SwatchPicker/index.mjs.map +1 -1
  350. package/dist/components/TabBar/index.mjs +1 -1
  351. package/dist/components/Table/index.d.mts +8 -7
  352. package/dist/components/Table/index.mjs +1 -1
  353. package/dist/components/TableBox/index.d.mts +2 -2
  354. package/dist/components/TableBox/index.mjs +1 -1
  355. package/dist/components/TechnicalSticker/index.mjs +1 -1
  356. package/dist/components/Text/index.d.mts +1 -1
  357. package/dist/components/Text/index.mjs +1 -1
  358. package/dist/components/TextArea/index.d.mts +1 -1
  359. package/dist/components/TextArea/index.mjs +1 -1
  360. package/dist/components/Tile/index.mjs +9 -8
  361. package/dist/components/Tile/index.mjs.map +1 -1
  362. package/dist/components/Toast/index.mjs +18 -12
  363. package/dist/components/Toast/index.mjs.map +1 -1
  364. package/dist/components/Toggle/index.d.mts +1 -1
  365. package/dist/components/Toggle/index.mjs +1 -1
  366. package/dist/components/Tooltip/index.d.mts +3 -3
  367. package/dist/components/Tooltip/index.mjs +1 -1
  368. package/dist/compound-expression.d.mts +1 -1
  369. package/dist/{constants-Bs94Jw4y.d.mts → constants-zZyl7QbX.d.mts} +1 -1
  370. package/dist/constants.d.mts +1 -1
  371. package/dist/{date-filter-BbWgAXy3.mjs → date-filter-DMZnJwGs.mjs} +1 -1
  372. package/dist/{date-filter-BbWgAXy3.mjs.map → date-filter-DMZnJwGs.mjs.map} +1 -1
  373. package/dist/{date-range-rule-value-DBEEWTQp.d.mts → date-range-rule-value-zJaa_jR9.d.mts} +2 -2
  374. package/dist/date-range-rule-value.d.mts +1 -1
  375. package/dist/{date-rule-intent-BArNGT2E.d.mts → date-rule-intent-CdWv68my.d.mts} +3 -3
  376. package/dist/date-rule-intent.d.mts +1 -1
  377. package/dist/display.d.mts +1 -1
  378. package/dist/fieldPickerOptions.d.mts +2 -2
  379. package/dist/fieldSchemaTypes-COEJOqYL.d.mts +39 -0
  380. package/dist/{filter-size-context-D1UhTwOG.d.mts → filter-size-context-DYkfYMkX.d.mts} +2 -2
  381. package/dist/filter-size-context.d.mts +1 -1
  382. package/dist/helpers.d.mts +1 -1
  383. package/dist/{index-DASkW991.d.mts → index-BX8dSNcy.d.mts} +2 -2
  384. package/dist/{index-I_Cy3X5R.d.mts → index-CBWvk6Ch.d.mts} +3 -3
  385. package/dist/index-DxIXll2Z.d.mts +21 -0
  386. package/dist/index.d.mts +1 -1
  387. package/dist/index2.d.mts +1 -1
  388. package/dist/index3.d.mts +3 -3
  389. package/dist/index4.d.mts +1 -1
  390. package/dist/index5.d.mts +14 -14
  391. package/dist/{input-M7BEIewR.d.mts → input-DN_8iHVD.d.mts} +3 -3
  392. package/dist/inputFields.d.mts +10 -10
  393. package/dist/{intersperse-CRUnXmnu.mjs → intersperse-vOYvFOfF.mjs} +1 -1
  394. package/dist/{intersperse-CRUnXmnu.mjs.map → intersperse-vOYvFOfF.mjs.map} +1 -1
  395. package/dist/jsonSchema-B1VonQij.d.mts +222 -0
  396. package/dist/lib/GlobalStyles.mjs +1 -1
  397. package/dist/lib/HeadlessAriaButton.d.mts +1 -2
  398. package/dist/lib/HeadlessAriaButton.mjs +1 -1
  399. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  400. package/dist/lib/PDSProvider.d.mts +1 -1
  401. package/dist/lib/PDSProvider.mjs +1 -1
  402. package/dist/lib/TruncatedText.d.mts +1 -1
  403. package/dist/lib/TruncatedText.mjs +1 -1
  404. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  405. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  406. package/dist/lib/color.d.mts +2 -0
  407. package/dist/lib/color.mjs +21 -0
  408. package/dist/lib/color.mjs.map +1 -0
  409. package/dist/lib/date-filter/index.d.mts +2 -2
  410. package/dist/lib/date-filter/index.mjs +1 -1
  411. package/dist/lib/errorReporter.d.mts +7 -0
  412. package/dist/lib/errorReporter.mjs +15 -0
  413. package/dist/lib/errorReporter.mjs.map +1 -0
  414. package/dist/lib/fieldSchemaTypes.d.mts +2 -0
  415. package/dist/lib/fieldSchemaTypes.mjs +41 -0
  416. package/dist/lib/fieldSchemaTypes.mjs.map +1 -0
  417. package/dist/lib/jsonSchema.d.mts +2 -0
  418. package/dist/lib/jsonSchema.mjs +260 -0
  419. package/dist/lib/jsonSchema.mjs.map +1 -0
  420. package/dist/lib/message.d.mts +1 -1
  421. package/dist/lib/methodChain.d.mts +66 -0
  422. package/dist/lib/methodChain.mjs +239 -0
  423. package/dist/lib/methodChain.mjs.map +1 -0
  424. package/dist/lib/methodChainNormalize.d.mts +14 -0
  425. package/dist/lib/methodChainNormalize.mjs +53 -0
  426. package/dist/lib/methodChainNormalize.mjs.map +1 -0
  427. package/dist/lib/methodChainTypes.d.mts +23 -0
  428. package/dist/lib/methodChainTypes.mjs +0 -0
  429. package/dist/lib/objectSchemaTypes.d.mts +2 -0
  430. package/dist/lib/objectSchemaTypes.mjs +0 -0
  431. package/dist/lib/pseudoClass.d.mts +1 -1
  432. package/dist/lib/selectHelper.mjs.map +1 -1
  433. package/dist/lib/semanticColor.d.mts +2 -0
  434. package/dist/lib/semanticColor.mjs +17 -0
  435. package/dist/lib/semanticColor.mjs.map +1 -0
  436. package/dist/lib/useControlled.mjs.map +1 -1
  437. package/dist/lib/useModalInsetRight.mjs +69 -0
  438. package/dist/lib/useModalInsetRight.mjs.map +1 -0
  439. package/dist/{message-CyxgAWZl.d.mts → message-DfEpU8lV.d.mts} +1 -1
  440. package/dist/mixins/focus.d.mts +4 -4
  441. package/dist/mixins/focus.mjs +7 -5
  442. package/dist/mixins/focus.mjs.map +1 -1
  443. package/dist/mixins/hoverable.d.mts +2 -2
  444. package/dist/mixins/hoverable.mjs +2 -2
  445. package/dist/mixins/input.d.mts +1 -1
  446. package/dist/mixins/input.mjs +56 -23
  447. package/dist/mixins/input.mjs.map +1 -1
  448. package/dist/mixins/menuItem.d.mts +2 -2
  449. package/dist/mixins/menuItem.mjs +78 -50
  450. package/dist/mixins/menuItem.mjs.map +1 -1
  451. package/dist/mixins/print/index.mjs +4 -2
  452. package/dist/mixins/print/index.mjs.map +1 -1
  453. package/dist/mixins/text.d.mts +1 -1
  454. package/dist/mixins/text.mjs +1 -1
  455. package/dist/{operators-CXkmvFpP.d.mts → operators-F8X0hyQB.d.mts} +2 -2
  456. package/dist/operators.d.mts +1 -1
  457. package/dist/palette-BANY1Xfs.d.mts +21 -0
  458. package/dist/palette.d.mts +2 -0
  459. package/dist/parser-Kxos6siN.mjs +2156 -0
  460. package/dist/parser-Kxos6siN.mjs.map +1 -0
  461. package/dist/patterns/LayoutLoadingShimmer/index.mjs +6 -6
  462. package/dist/patterns/LayoutLoadingSpinner/index.mjs +1 -1
  463. package/dist/patterns/PageLayout/index.mjs +1 -1
  464. package/dist/relative-date-label.d.mts +1 -1
  465. package/dist/semantic-Dy7mTyBP.d.mts +133 -0
  466. package/dist/semanticColor-DkVQjcbc.d.mts +29 -0
  467. package/dist/{styledComponentsInterop-8zScIQyC.mjs → styledComponentsInterop-NxwFjeA4.mjs} +2 -2
  468. package/dist/{styledComponentsInterop-8zScIQyC.mjs.map → styledComponentsInterop-NxwFjeA4.mjs.map} +1 -1
  469. package/dist/{text-DjTGRUM1.d.mts → text-BaQdW8qa.d.mts} +1 -1
  470. package/dist/{theme-Biwx2eJZ.d.mts → theme-D02MOaH6.d.mts} +22 -5
  471. package/dist/theme.d.mts +2 -2
  472. package/dist/theme.mjs +22 -1
  473. package/dist/theme.mjs.map +1 -1
  474. package/dist/tone.d.mts +17 -0
  475. package/dist/{types-V8UJX-rk.d.mts → types-1_JSe9Wr.d.mts} +2 -2
  476. package/dist/{types-DBBfOCX1.d.mts → types-C2s9yhgO.d.mts} +2 -2
  477. package/dist/{types-Bsf1VsW6.d.mts → types-COeginAF.d.mts} +1 -1
  478. package/dist/{types-Df0D37uh.d.mts → types-CtLY82w5.d.mts} +1 -1
  479. package/dist/{types-Ds43XULD.d.mts → types-Ok2lRZeu.d.mts} +1 -1
  480. package/dist/types.d.mts +1 -1
  481. package/dist/types2.d.mts +1 -1
  482. package/dist/types3.d.mts +1 -1
  483. package/dist/types4.d.mts +1 -1
  484. package/dist/types5.d.mts +1 -1
  485. package/dist/{url-state-M64mdtQ2.d.mts → url-state-DP78aDol.d.mts} +2 -2
  486. package/dist/url-state.d.mts +1 -1
  487. package/dist/useComboboxFooterAction.d.mts +1 -1
  488. package/dist/{useFilterStateV2-gALqONXf.d.mts → useFilterStateV2-DC2rGXHK.d.mts} +3 -3
  489. package/dist/useFilterStateV2.d.mts +1 -1
  490. package/dist/{useFormField-Bo7oHMof.d.mts → useFormField--_14te0K.d.mts} +2 -2
  491. package/dist/{useFormField-C-K1lgmv.mjs → useFormField-DhYd6bNn.mjs} +2 -2
  492. package/dist/{useFormField-C-K1lgmv.mjs.map → useFormField-DhYd6bNn.mjs.map} +1 -1
  493. package/dist/useFormField.d.mts +1 -1
  494. package/dist/{useFormGroup-y-duFylq.mjs → useFormGroup-DWVW7A9f.mjs} +1 -1
  495. package/dist/{useFormGroup-y-duFylq.mjs.map → useFormGroup-DWVW7A9f.mjs.map} +1 -1
  496. package/dist/{useTableBoxDragAndDrop-BrJFRSaG.d.mts → useTableBoxDragAndDrop-DkCxC7Mi.d.mts} +1 -1
  497. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  498. package/dist/{useToggle-Bo3yd14Y.mjs → useToggle-0zLL1E7s.mjs} +1 -1
  499. package/dist/{useToggle-Bo3yd14Y.mjs.map → useToggle-0zLL1E7s.mjs.map} +1 -1
  500. package/dist/useTruncation.d.mts +1 -1
  501. package/dist/{utilities-BHMNnJ8h.d.mts → utilities-C1hOxjt_.d.mts} +1 -1
  502. package/dist/utilities.d.mts +1 -1
  503. package/dist/utils/storybook.mjs +1 -1
  504. package/dist/utils/storybook.mjs.map +1 -1
  505. package/dist/utils/testing.mjs.map +1 -1
  506. package/dist/utils.d.mts +1 -1
  507. package/dist/{validation-BCBIvN6H.d.mts → validation-CpDsI-TM.d.mts} +3 -3
  508. package/dist/validation.d.mts +1 -1
  509. package/dist/{value-control-resolver-qKTH1ErF.d.mts → value-control-resolver-DhaqxKmK.d.mts} +2 -2
  510. package/dist/value-control-resolver.d.mts +1 -1
  511. package/dist/variables/effect.d.mts +14 -3
  512. package/dist/variables/effect.mjs +5 -3
  513. package/dist/variables/effect.mjs.map +1 -1
  514. package/dist/variables/keyframes.mjs +1 -1
  515. package/dist/variables/semantic.d.mts +2 -0
  516. package/dist/variables/semantic.mjs +241 -0
  517. package/dist/variables/semantic.mjs.map +1 -0
  518. package/llms.txt +1 -0
  519. package/package.json +70 -7
  520. package/skills/design-system-component-authoring/SKILL.md +79 -0
  521. package/skills/design-system-component-authoring/clarifying-scope.md +18 -0
  522. package/skills/design-system-component-authoring/component-conventions.md +70 -0
  523. package/skills/design-system-component-authoring/prop-interface-patterns.md +30 -0
  524. package/skills/ui-authoring/COMPONENTS.md +1 -1
  525. package/skills/ui-authoring/TOKENS.md +1 -1
  526. package/dist/Breadcrumbs-BEYQlGbW.mjs.map +0 -1
  527. package/dist/Card-BoGV5tY2.d.mts +0 -52
  528. package/dist/Card-CKrJtn1f.mjs.map +0 -1
  529. package/dist/CardV2-B2wx1NE3.mjs.map +0 -1
  530. package/dist/Checkbox-DwZEsi7x.mjs.map +0 -1
  531. package/dist/Combobox-CKaVX-32.mjs.map +0 -1
  532. package/dist/DatePicker-D2SfjS-N.mjs.map +0 -1
  533. package/dist/FormControl-DQFefbrI.mjs.map +0 -1
  534. package/dist/IconButton-BnSEV7eR.mjs.map +0 -1
  535. package/dist/Input-D7of_GtJ.mjs.map +0 -1
  536. package/dist/ListBox-jzXQDraS.mjs.map +0 -1
  537. package/dist/LoadingShimmer-a2Hv0kAq.mjs.map +0 -1
  538. package/dist/Menu-DVI8l-4Q.mjs.map +0 -1
  539. package/dist/PageHeader-BpGT-BM0.mjs.map +0 -1
  540. package/dist/Pagination-CVRTcKSG.mjs.map +0 -1
  541. package/dist/Popover-DlXyKYL5.mjs.map +0 -1
  542. package/dist/Radio-DYGEt0FT.mjs.map +0 -1
  543. package/dist/SegmentedControl-DwbltwDQ.mjs.map +0 -1
  544. package/dist/Select-CBVvPyRJ.mjs.map +0 -1
  545. package/dist/Spinner-e725Rxkd.mjs.map +0 -1
  546. package/dist/Sticker-By3F8Aip.mjs.map +0 -1
  547. package/dist/TabBar-CWF65Tv4.mjs.map +0 -1
  548. package/dist/Table-nWd5ZVbm.mjs.map +0 -1
  549. package/dist/TableBox-Bd-H5oyh.mjs.map +0 -1
  550. package/dist/TableControls-BnesnTue.mjs.map +0 -1
  551. package/dist/TechnicalSticker-Ct2WnNzJ.mjs.map +0 -1
  552. package/dist/Text-B0orb-cZ.mjs.map +0 -1
  553. package/dist/Toggle-Do5z1VcO.mjs.map +0 -1
  554. package/dist/Tooltip-DSKGD33G.mjs.map +0 -1
  555. /package/dist/{index-8SLBz2NH.d.mts → index-1-AkepUA.d.mts} +0 -0
  556. /package/dist/{index-Bt4QNofW.d.mts → index-BFnNtGdX.d.mts} +0 -0
  557. /package/dist/{index-BwAfCVZH2.d.mts → index-BO_854F2.d.mts} +0 -0
  558. /package/dist/{index-BwFl_eS0.d.mts → index-BPiqSRRl.d.mts} +0 -0
  559. /package/dist/{index-CCKHlTA4.d.mts → index-BSVhZrWN.d.mts} +0 -0
  560. /package/dist/{index-CDGG7lCB.d.mts → index-BYd3Btr1.d.mts} +0 -0
  561. /package/dist/{index-CRo77wc3.d.mts → index-B_BBnMou.d.mts} +0 -0
  562. /package/dist/{index-CX869wwk.d.mts → index-BrGZHEgX.d.mts} +0 -0
  563. /package/dist/{index-D13oYj4_.d.mts → index-Ci-uuV07.d.mts} +0 -0
  564. /package/dist/{index-D4DUvwPf.d.mts → index-CknANNvQ2.d.mts} +0 -0
  565. /package/dist/{index-D7UbuJwP.d.mts → index-CtJuGxUp.d.mts} +0 -0
  566. /package/dist/{index-DA6_cwf8.d.mts → index-CuYZJcK3.d.mts} +0 -0
  567. /package/dist/{index-DMRtRo7y.d.mts → index-DWfPppPU.d.mts} +0 -0
  568. /package/dist/{index-Dflz2i1X.d.mts → index-DYX_PQ7T2.d.mts} +0 -0
  569. /package/dist/{index-DvmLVvRD.d.mts → index-DZlqSwCF.d.mts} +0 -0
  570. /package/dist/{index-Es5nKSSL.d.mts → index-De7MV8-j.d.mts} +0 -0
  571. /package/dist/{index-Wc1llEvP.d.mts → index-Deol7ZWO.d.mts} +0 -0
  572. /package/dist/{index-dhjtMp5F.d.mts → index-N-OgGgfF.d.mts} +0 -0
  573. /package/dist/{index-e6k85DKM.d.mts → index-VWno75SQ.d.mts} +0 -0
  574. /package/dist/{index-ehD5GjMH.d.mts → index-hcx6LMSC.d.mts} +0 -0
  575. /package/dist/{useModalInsetRight.d.mts → lib/useModalInsetRight.d.mts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Slider/SliderThumb.tsx","../../../components/Slider/Slider.tsx","../../../components/Slider/SliderRHF.tsx"],"sourcesContent":["import {\n autoUpdate,\n type ElementProps,\n flip,\n type FloatingContext,\n offset,\n shift,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { useFocusRing } from '@react-aria/focus';\nimport { useSliderThumb } from '@react-aria/slider';\nimport { mergeProps } from '@react-aria/utils';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport type { SliderState } from '@react-stately/slider';\nimport { debounce } from 'lodash-es';\nimport {\n type OutputHTMLAttributes,\n type RefObject,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\nimport { FloatingTooltip } from 'design-system/components/Tooltip';\nimport { focusStyle } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst Tooltip = styled(FloatingTooltip)`\n ${paragraphMixins.sm};\n`;\n\nconst Thumb = styled('div')<{ disabled?: boolean }>`\n /* Note this will break if the element is not on a white background. Variable is provided to be able to override. */\n --background-color-behind-thumb: ${Color.PrimaryWhite};\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n background: ${(props) =>\n props.disabled ? Color.BackgroundInputDisabled : Color.BackgroundInputDefault};\n cursor: ${(props) => (props.disabled ? 'inherit' : 'pointer')};\n border-radius: 50%;\n border: 1px solid ${Color.BorderInputDisabled};\n /* Enable clicks on thumb */\n pointer-events: auto;\n\n &[data-focused] {\n ${focusStyle}\n /* Extra pixel of size to overlap into the outline, fixing a small visual bug */\n box-shadow: 0 0 0 2px var(--background-color-behind-thumb);\n }\n`;\n\ninterface SliderThumbProps {\n state: SliderState;\n trackRef: RefObject<HTMLElement>;\n index: number;\n outputProps: OutputHTMLAttributes<HTMLOutputElement>;\n hideTooltips?: boolean;\n}\n\ninterface UsePressedOptions {\n delay?: number;\n}\n\nconst usePressed = (context: FloatingContext, options?: UsePressedOptions): ElementProps => {\n const closeHandler = useMemo(\n () => debounce(() => context.onOpenChange(false), options?.delay ?? 500),\n [],\n );\n return {\n reference: {\n onPointerDown: () => {\n context.onOpenChange(true);\n },\n onPointerUp: () => {\n closeHandler();\n },\n },\n };\n};\n\nconst SliderThumb = ({ state, trackRef, index, outputProps, hideTooltips }: SliderThumbProps) => {\n const inputRef = useRef(null);\n const { thumbProps, inputProps } = useSliderThumb(\n {\n index,\n trackRef,\n inputRef,\n },\n state,\n );\n\n const { focusProps, isFocused } = useFocusRing();\n\n const [open, setOpen] = useState(false);\n\n const { x, y, refs, strategy, context } = useFloating({\n placement: 'top',\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [offset(4), flip(), shift({ padding: 4 })],\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useRole(context, { role: 'tooltip' }),\n useDismiss(context),\n usePressed(context),\n ]);\n\n useEffect(() => {\n setOpen(isFocused);\n }, [isFocused]);\n\n return (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n left: `${state.getThumbPercent(index) * 100}%`,\n }}\n >\n {open && !hideTooltips && (\n <Tooltip\n {...mergeProps(\n getFloatingProps({\n ref: refs.setFloating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n },\n }),\n outputProps,\n )}\n >\n {state.getThumbValueLabel(index)}\n </Tooltip>\n )}\n <Thumb\n {...mergeProps(\n thumbProps,\n getReferenceProps({\n ref: refs.setReference,\n }),\n isFocused ? { 'data-focused': true } : undefined,\n )}\n >\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n </Thumb>\n </div>\n );\n};\n\nexport default SliderThumb;\n","import type { NumberFormatOptions } from '@internationalized/number';\nimport { useNumberFormatter } from '@react-aria/i18n';\nimport { useSlider } from '@react-aria/slider';\nimport { useSliderState } from '@react-stately/slider';\nimport type { SliderProps as SliderPropsType } from '@react-types/slider';\nimport { type FocusEventHandler, type ReactNode, useRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport SliderThumb from 'design-system/components/Slider/SliderThumb';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SliderContainer = styled.div`\n display: flex;\n align-items: center;\n touch-action: none;\n position: relative;\n`;\n\nconst SliderLabel = styled.div`\n ${paragraphMixins.md};\n &:first-of-type {\n padding-right: ${Spacing[2]};\n }\n\n &:last-of-type {\n padding-left: ${Spacing[2]};\n }\n`;\n\ntype SliderTrackProps = {\n track?: boolean;\n percents: number[];\n disabled?: boolean;\n};\nconst SliderTrack = styled.div<SliderTrackProps>`\n position: relative;\n width: 100%;\n height: 4px;\n border-radius: 4px;\n outline: none;\n transition: background 0.2s;\n\n /* Disable clicks on slide bar */\n pointer-events: none;\n\n ${({ percents, track, disabled }) => {\n const activeColor = disabled ? Color.BorderInputDisabled : Color.CoreBlue700;\n const trackColor = Color.BorderDivider;\n\n if (track === false) {\n return css`\n background: ${Color.BorderDivider};\n `;\n }\n\n if (percents.length === 2) {\n return css`\n background: linear-gradient(\n to right,\n ${trackColor} 0%,\n ${trackColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[1] * 100}%,\n ${trackColor} ${percents[1] * 100}%,\n ${trackColor} 100%\n );\n `;\n }\n\n const leftColor = activeColor;\n const rightColor = trackColor;\n\n return css`\n background: linear-gradient(\n to right,\n ${leftColor} 0%,\n ${leftColor} ${percents[0] * 100}%,\n ${rightColor} ${percents[0] * 100}%,\n ${rightColor} 100%\n );\n `;\n }}\n`;\n\nexport interface SliderProps<T = number | number[]> {\n min?: number;\n minLabel?: ReactNode;\n max?: number;\n maxLabel?: ReactNode;\n onChange?: (value: T) => void;\n value?: T;\n defaultValue?: T;\n step?: number;\n\n /**\n * Show labels on ends of track\n */\n showLabels?: boolean;\n\n /**\n * Track style\n */\n track?: boolean;\n\n /**\n * Hide tooltips on slider thumbs\n */\n hideTooltips?: boolean;\n width?: number | 'auto';\n disabled?: boolean;\n formatOptions?: NumberFormatOptions;\n\n id?: string;\n className?: string;\n name?: string;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\nexport const Slider = ({\n minLabel,\n maxLabel,\n showLabels,\n track,\n width,\n hideTooltips,\n className,\n id,\n onBlur,\n ...elemProps\n}: SliderProps) => {\n const { min, max, value, defaultValue, disabled } = elemProps;\n const trackRef = useRef(null);\n const numberFormatter = useNumberFormatter(elemProps.formatOptions);\n\n const ariaElemProps: SliderPropsType = {\n ...elemProps,\n isDisabled: disabled,\n minValue: min,\n maxValue: max,\n value: typeof value === 'number' ? [value] : value,\n defaultValue: typeof defaultValue === 'number' ? [defaultValue] : defaultValue,\n onChange:\n typeof elemProps.onChange !== 'undefined'\n ? (v) => {\n if (Array.isArray(v) && v.length === 1) {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v[0]);\n }\n\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v);\n }\n : undefined,\n };\n\n const state = useSliderState({ ...ariaElemProps, numberFormatter });\n const { groupProps, trackProps, outputProps } = useSlider(ariaElemProps, state, trackRef);\n\n return (\n <SliderContainer\n {...groupProps}\n style={{\n position: 'relative',\n alignItems: 'center',\n width: width ?? 300,\n touchAction: 'none',\n }}\n className={className}\n id={id}\n onBlur={onBlur}\n >\n {showLabels && <SliderLabel>{minLabel ?? min}</SliderLabel>}\n <SliderTrack\n {...trackProps}\n track={track}\n ref={trackRef}\n percents={state.values.map((_v, i) => state.getThumbPercent(i))}\n disabled={disabled}\n >\n {state.values.map((_v, i) => (\n <SliderThumb\n key={`${trackProps.id}_thumb${i}`}\n index={i}\n state={state}\n trackRef={trackRef}\n hideTooltips={hideTooltips}\n outputProps={outputProps}\n />\n ))}\n </SliderTrack>\n {showLabels && <SliderLabel>{maxLabel ?? max}</SliderLabel>}\n </SliderContainer>\n );\n};\n\nexport default Slider;\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { type Control, type FieldValues, useController } from 'react-hook-form';\n\nimport Slider from './Slider';\n\ninterface SliderRHFProps extends ComponentPropsWithoutRef<typeof Slider> {\n control: Control<FieldValues, object>;\n name: string;\n}\n\nconst SliderRHF = ({ control, name: nameProp, defaultValue, ...elemProps }: SliderRHFProps) => {\n const {\n field: { onChange, onBlur, name, value },\n } = useController({\n name: nameProp,\n control,\n rules: { required: true },\n defaultValue,\n });\n\n return <Slider {...elemProps} onBlur={onBlur} onChange={onChange} value={value} name={name} />;\n};\n\nexport default SliderRHF;\n"],"mappings":";;;;;;;;;;;;;;;;;AAiCA,MAAM,UAAU,OAAO,gBAAgB;IACnC,gBAAgB,GAAG;;AAGvB,MAAM,QAAQ,OAAO,MAAM;;qCAEU,MAAM,aAAa;;;;iBAIvC,UACb,MAAM,WAAW,MAAM,0BAA0B,MAAM,uBAAuB;aACrE,UAAW,MAAM,WAAW,YAAY,UAAW;;sBAE1C,MAAM,oBAAoB;;;;;MAK1C,WAAW;;;;;AAkBjB,MAAM,cAAc,SAA0B,YAA8C;CAC1F,MAAM,eAAe,cACb,eAAe,QAAQ,aAAa,MAAM,EAAE,SAAS,SAAS,IAAI,EACxE,EAAE,CACH;AACD,QAAO,EACL,WAAW;EACT,qBAAqB;AACnB,WAAQ,aAAa,KAAK;;EAE5B,mBAAmB;AACjB,iBAAc;;EAEjB,EACF;;AAGH,MAAM,eAAe,EAAE,OAAO,UAAU,OAAO,aAAa,mBAAqC;CAC/F,MAAM,WAAW,OAAO,KAAK;CAC7B,MAAM,EAAE,YAAY,eAAe,eACjC;EACE;EACA;EACA;EACD,EACD,MACD;CAED,MAAM,EAAE,YAAY,cAAc,cAAc;CAEhD,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CAEvC,MAAM,EAAE,GAAG,GAAG,MAAM,UAAU,YAAY,YAAY;EACpD,WAAW;EACX;EACA,cAAc;EACd,sBAAsB;EACtB,YAAY;GAAC,OAAO,EAAE;GAAE,MAAM;GAAE,MAAM,EAAE,SAAS,GAAG,CAAC;GAAC;EACvD,CAAC;CACF,MAAM,EAAE,mBAAmB,qBAAqB,gBAAgB;EAC9D,QAAQ,SAAS,EAAE,MAAM,WAAW,CAAC;EACrC,WAAW,QAAQ;EACnB,WAAW,QAAQ;EACpB,CAAC;AAEF,iBAAgB;AACd,UAAQ,UAAU;IACjB,CAAC,UAAU,CAAC;AAEf,QACE,qBAAC,OAAD;EACE,OAAO;GACL,UAAU;GACV,KAAK;GACL,WAAW;GACX,MAAM,GAAG,MAAM,gBAAgB,MAAM,GAAG,IAAI;GAC7C;YANH,CAQG,QAAQ,CAAC,gBACR,oBAAC,SAAD;GACE,GAAI,WACF,iBAAiB;IACf,KAAK,KAAK;IACV,OAAO;KACL,UAAU;KACV,KAAK,KAAK;KACV,MAAM,KAAK;KACZ;IACF,CAAC,EACF,YACD;aAEA,MAAM,mBAAmB,MAAM;GACxB,CAAA,EAEZ,oBAAC,OAAD;GACE,GAAI,WACF,YACA,kBAAkB,EAChB,KAAK,KAAK,cACX,CAAC,EACF,YAAY,EAAE,gBAAgB,MAAM,GAAG,KAAA,EACxC;aAED,oBAAC,gBAAD,EAAA,UACE,oBAAC,SAAD;IAAO,KAAK;IAAU,GAAI,WAAW,YAAY,WAAW;IAAI,CAAA,EACjD,CAAA;GACX,CAAA,CACJ;;;;;AClJV,MAAM,kBAAkB,OAAO,GAAG;;;;;;AAOlC,MAAM,cAAc,OAAO,GAAG;IAC1B,gBAAgB,GAAG;;qBAEF,QAAQ,GAAG;;;;oBAIZ,QAAQ,GAAG;;;AAS/B,MAAM,cAAc,OAAO,GAAqB;;;;;;;;;;;KAW3C,EAAE,UAAU,OAAO,eAAe;CACnC,MAAM,cAAc,WAAW,MAAM,sBAAsB,MAAM;CACjE,MAAM,aAAa,MAAM;AAEzB,KAAI,UAAU,MACZ,QAAO,GAAG;sBACM,MAAM,cAAc;;AAItC,KAAI,SAAS,WAAW,EACtB,QAAO,GAAG;;;YAGJ,WAAW;YACX,WAAW,GAAG,SAAS,KAAK,IAAI;YAChC,YAAY,GAAG,SAAS,KAAK,IAAI;YACjC,YAAY,GAAG,SAAS,KAAK,IAAI;YACjC,WAAW,GAAG,SAAS,KAAK,IAAI;YAChC,WAAW;;;CAKnB,MAAM,YAAY;CAClB,MAAM,aAAa;AAEnB,QAAO,GAAG;;;UAGJ,UAAU;UACV,UAAU,GAAG,SAAS,KAAK,IAAI;UAC/B,WAAW,GAAG,SAAS,KAAK,IAAI;UAChC,WAAW;;;EAGjB;;AAuCJ,MAAa,UAAU,EACrB,UACA,UACA,YACA,OACA,OACA,cACA,WACA,IACA,QACA,GAAG,gBACc;CACjB,MAAM,EAAE,KAAK,KAAK,OAAO,cAAc,aAAa;CACpD,MAAM,WAAW,OAAO,KAAK;CAC7B,MAAM,kBAAkB,mBAAmB,UAAU,cAAc;CAEnE,MAAM,gBAAiC;EACrC,GAAG;EACH,YAAY;EACZ,UAAU;EACV,UAAU;EACV,OAAO,OAAO,UAAU,WAAW,CAAC,MAAM,GAAG;EAC7C,cAAc,OAAO,iBAAiB,WAAW,CAAC,aAAa,GAAG;EAClE,UACE,OAAO,UAAU,aAAa,eACzB,MAAM;AACL,OAAI,MAAM,QAAQ,EAAE,IAAI,EAAE,WAAW,EAEnC,QAAO,UAAU,SAAS,EAAE,GAAG;AAIjC,UAAO,UAAU,SAAS,EAAE;MAE9B,KAAA;EACP;CAED,MAAM,QAAQ,eAAe;EAAE,GAAG;EAAe;EAAiB,CAAC;CACnE,MAAM,EAAE,YAAY,YAAY,gBAAgB,UAAU,eAAe,OAAO,SAAS;AAEzF,QACE,qBAAC,iBAAD;EACE,GAAI;EACJ,OAAO;GACL,UAAU;GACV,YAAY;GACZ,OAAO,SAAS;GAChB,aAAa;GACd;EACU;EACP;EACI;YAVV;GAYG,cAAc,oBAAC,aAAD,EAAA,UAAc,YAAY,KAAkB,CAAA;GAC3D,oBAAC,aAAD;IACE,GAAI;IACG;IACP,KAAK;IACL,UAAU,MAAM,OAAO,KAAK,IAAI,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD;cAET,MAAM,OAAO,KAAK,IAAI,MACrB,oBAAC,aAAD;KAEE,OAAO;KACA;KACG;KACI;KACD;KACb,EANK,GAAG,WAAW,GAAG,QAAQ,IAM9B,CACF;IACU,CAAA;GACb,cAAc,oBAAC,aAAD,EAAA,UAAc,YAAY,KAAkB,CAAA;GAC3C;;;;;ACxLtB,MAAM,aAAa,EAAE,SAAS,MAAM,UAAU,cAAc,GAAG,gBAAgC;CAC7F,MAAM,EACJ,OAAO,EAAE,UAAU,QAAQ,MAAM,YAC/B,cAAc;EAChB,MAAM;EACN;EACA,OAAO,EAAE,UAAU,MAAM;EACzB;EACD,CAAC;AAEF,QAAO,oBAAC,QAAD;EAAQ,GAAI;EAAmB;EAAkB;EAAiB;EAAa;EAAQ,CAAA"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Slider/SliderThumb.tsx","../../../components/Slider/Slider.tsx","../../../components/Slider/SliderRHF.tsx"],"sourcesContent":["import {\n autoUpdate,\n type ElementProps,\n flip,\n type FloatingContext,\n offset,\n shift,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { useFocusRing } from '@react-aria/focus';\nimport { useSliderThumb } from '@react-aria/slider';\nimport { mergeProps } from '@react-aria/utils';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport type { SliderState } from '@react-stately/slider';\nimport { debounce } from 'lodash-es';\nimport {\n type OutputHTMLAttributes,\n type RefObject,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\nimport { FloatingTooltip } from 'design-system/components/Tooltip';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { focusStyle } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst Tooltip = styled(FloatingTooltip)`\n ${paragraphMixins.sm};\n`;\n\nconst Thumb = styled('div')<{ disabled?: boolean }>`\n /* Note this will break if the element is not on a white background. Variable is provided to be able to override. */\n --background-color-behind-thumb: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', Color.PrimaryWhite)};\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n background: ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'InputSurfaceDisabled', Color.BackgroundInputDisabled)\n : semanticColor(theme, 'InputSurfaceInverseStatic', Color.BackgroundInputDefault)};\n cursor: ${(props) => (props.disabled ? 'inherit' : 'pointer')};\n border-radius: 50%;\n border: 1px solid\n ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)\n : semanticColor(theme, 'BorderDefault', Color.BorderInputDisabled)};\n /* Enable clicks on thumb */\n pointer-events: auto;\n\n &[data-focused] {\n ${focusStyle}\n /* Extra pixel of size to overlap into the outline, fixing a small visual bug */\n box-shadow: 0 0 0 2px var(--background-color-behind-thumb);\n }\n`;\n\ninterface SliderThumbProps {\n state: SliderState;\n trackRef: RefObject<HTMLElement>;\n index: number;\n outputProps: OutputHTMLAttributes<HTMLOutputElement>;\n hideTooltips?: boolean;\n}\n\ninterface UsePressedOptions {\n delay?: number;\n}\n\nconst usePressed = (context: FloatingContext, options?: UsePressedOptions): ElementProps => {\n const closeHandler = useMemo(\n () => debounce(() => context.onOpenChange(false), options?.delay ?? 500),\n [],\n );\n return {\n reference: {\n onPointerDown: () => {\n context.onOpenChange(true);\n },\n onPointerUp: () => {\n closeHandler();\n },\n },\n };\n};\n\nconst SliderThumb = ({ state, trackRef, index, outputProps, hideTooltips }: SliderThumbProps) => {\n const inputRef = useRef(null);\n const { thumbProps, inputProps } = useSliderThumb(\n {\n index,\n trackRef,\n inputRef,\n },\n state,\n );\n\n const { focusProps, isFocused } = useFocusRing();\n\n const [open, setOpen] = useState(false);\n\n const { x, y, refs, strategy, context } = useFloating({\n placement: 'top',\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [offset(4), flip(), shift({ padding: 4 })],\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useRole(context, { role: 'tooltip' }),\n useDismiss(context),\n usePressed(context),\n ]);\n\n useEffect(() => {\n setOpen(isFocused);\n }, [isFocused]);\n\n return (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n left: `${state.getThumbPercent(index) * 100}%`,\n }}\n >\n {open && !hideTooltips && (\n <Tooltip\n {...mergeProps(\n getFloatingProps({\n ref: refs.setFloating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n },\n }),\n outputProps,\n )}\n >\n {state.getThumbValueLabel(index)}\n </Tooltip>\n )}\n <Thumb\n {...mergeProps(\n thumbProps,\n getReferenceProps({\n ref: refs.setReference,\n }),\n isFocused ? { 'data-focused': true } : undefined,\n )}\n >\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n </Thumb>\n </div>\n );\n};\n\nexport default SliderThumb;\n","import type { NumberFormatOptions } from '@internationalized/number';\nimport { useNumberFormatter } from '@react-aria/i18n';\nimport { useSlider } from '@react-aria/slider';\nimport { useSliderState } from '@react-stately/slider';\nimport type { SliderProps as SliderPropsType } from '@react-types/slider';\nimport { type FocusEventHandler, type ReactNode, useRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport SliderThumb from 'design-system/components/Slider/SliderThumb';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SliderContainer = styled.div`\n display: flex;\n align-items: center;\n touch-action: none;\n position: relative;\n`;\n\nconst SliderLabel = styled.div<{ $disabled?: boolean }>`\n ${paragraphMixins.md};\n ${({ $disabled }) =>\n semanticOnly((tokens) => `color: ${$disabled ? tokens.FgDisabled : tokens.FgPrimary};`)}\n &:first-of-type {\n padding-right: ${Spacing[2]};\n }\n\n &:last-of-type {\n padding-left: ${Spacing[2]};\n }\n`;\n\ntype SliderTrackProps = {\n track?: boolean;\n percents: number[];\n disabled?: boolean;\n};\nconst SliderTrack = styled.div<SliderTrackProps>`\n position: relative;\n width: 100%;\n height: 4px;\n border-radius: 4px;\n outline: none;\n transition: background 0.2s;\n\n /* Disable clicks on slide bar */\n pointer-events: none;\n\n ${({ theme, percents, track, disabled }) => {\n const activeColor = disabled\n ? semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)\n : semanticColor(theme, 'InputBorderAccent', Color.CoreBlue700);\n const trackColor = semanticColor(theme, 'BorderDivider', Color.BorderDivider);\n\n if (track === false) {\n return css`\n background: ${trackColor};\n `;\n }\n\n if (percents.length === 2) {\n return css`\n background: linear-gradient(\n to right,\n ${trackColor} 0%,\n ${trackColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[1] * 100}%,\n ${trackColor} ${percents[1] * 100}%,\n ${trackColor} 100%\n );\n `;\n }\n\n const leftColor = activeColor;\n const rightColor = trackColor;\n\n return css`\n background: linear-gradient(\n to right,\n ${leftColor} 0%,\n ${leftColor} ${percents[0] * 100}%,\n ${rightColor} ${percents[0] * 100}%,\n ${rightColor} 100%\n );\n `;\n }}\n`;\n\nexport interface SliderProps<T = number | number[]> {\n min?: number;\n minLabel?: ReactNode;\n max?: number;\n maxLabel?: ReactNode;\n onChange?: (value: T) => void;\n value?: T;\n defaultValue?: T;\n step?: number;\n\n /**\n * Show labels on ends of track\n */\n showLabels?: boolean;\n\n /**\n * Track style\n */\n track?: boolean;\n\n /**\n * Hide tooltips on slider thumbs\n */\n hideTooltips?: boolean;\n width?: number | 'auto';\n disabled?: boolean;\n formatOptions?: NumberFormatOptions;\n\n id?: string;\n className?: string;\n name?: string;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\nexport const Slider = ({\n minLabel,\n maxLabel,\n showLabels,\n track,\n width,\n hideTooltips,\n className,\n id,\n onBlur,\n ...elemProps\n}: SliderProps) => {\n const { min, max, value, defaultValue, disabled } = elemProps;\n const trackRef = useRef(null);\n const numberFormatter = useNumberFormatter(elemProps.formatOptions);\n\n const ariaElemProps: SliderPropsType = {\n ...elemProps,\n isDisabled: disabled,\n minValue: min,\n maxValue: max,\n value: typeof value === 'number' ? [value] : value,\n defaultValue: typeof defaultValue === 'number' ? [defaultValue] : defaultValue,\n onChange:\n typeof elemProps.onChange !== 'undefined'\n ? (v) => {\n if (Array.isArray(v) && v.length === 1) {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v[0]);\n }\n\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v);\n }\n : undefined,\n };\n\n const state = useSliderState({ ...ariaElemProps, numberFormatter });\n const { groupProps, trackProps, outputProps } = useSlider(ariaElemProps, state, trackRef);\n\n return (\n <SliderContainer\n {...groupProps}\n style={{\n position: 'relative',\n alignItems: 'center',\n width: width ?? 300,\n touchAction: 'none',\n }}\n className={className}\n id={id}\n onBlur={onBlur}\n >\n {showLabels && <SliderLabel $disabled={disabled}>{minLabel ?? min}</SliderLabel>}\n <SliderTrack\n {...trackProps}\n track={track}\n ref={trackRef}\n percents={state.values.map((_v, i) => state.getThumbPercent(i))}\n disabled={disabled}\n >\n {state.values.map((_v, i) => (\n <SliderThumb\n key={`${trackProps.id}_thumb${i}`}\n index={i}\n state={state}\n trackRef={trackRef}\n hideTooltips={hideTooltips}\n outputProps={outputProps}\n />\n ))}\n </SliderTrack>\n {showLabels && <SliderLabel $disabled={disabled}>{maxLabel ?? max}</SliderLabel>}\n </SliderContainer>\n );\n};\n\nexport default Slider;\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { type Control, type FieldValues, useController } from 'react-hook-form';\n\nimport Slider from './Slider';\n\ninterface SliderRHFProps extends ComponentPropsWithoutRef<typeof Slider> {\n control: Control<FieldValues, object>;\n name: string;\n}\n\nconst SliderRHF = ({ control, name: nameProp, defaultValue, ...elemProps }: SliderRHFProps) => {\n const {\n field: { onChange, onBlur, name, value },\n } = useController({\n name: nameProp,\n control,\n rules: { required: true },\n defaultValue,\n });\n\n return <Slider {...elemProps} onBlur={onBlur} onChange={onChange} value={value} name={name} />;\n};\n\nexport default SliderRHF;\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as _$styled_components0 from "styled-components";
2
+
3
+ //#region components/SmartTextInput/PillType.d.ts
4
+ declare const PillType: _$styled_components0.StyledComponent<"div", any, {
5
+ purple?: boolean;
6
+ error?: boolean;
7
+ }, never>;
8
+ //#endregion
9
+ export { PillType as default };
10
+ //# sourceMappingURL=PillType.d.mts.map
@@ -0,0 +1,31 @@
1
+ import { a as styled, r as css } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
3
+ //#region components/SmartTextInput/PillType.tsx
4
+ const PillType = styled.div`
5
+ padding: 0 ${Spacing[1]};
6
+ height: 16px;
7
+ ${Typography.TextExtraSmall};
8
+ font-family: ${({ theme }) => theme.text.fontFamily.mono};
9
+ background: ${Color.CoreSlate100};
10
+ color: ${({ theme }) => theme.color.text.primary};
11
+ border: 1px solid ${Color.CoreSlate300};
12
+ border-radius: ${BorderRadius.Md};
13
+ white-space: nowrap;
14
+
15
+ ${({ purple }) => {
16
+ if (purple) return css`
17
+ background: ${Color.CorePurple100};
18
+ border-color: ${Color.CorePurple300};
19
+ `;
20
+ }}
21
+
22
+ ${({ error }) => {
23
+ if (error) return css`
24
+ color: ${Color.TextDanger};
25
+ `;
26
+ }}
27
+ `;
28
+ //#endregion
29
+ export { PillType as default };
30
+
31
+ //# sourceMappingURL=PillType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillType.mjs","names":[],"sources":["../../../components/SmartTextInput/PillType.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing, Typography } from '@persona/design-tokens';\n\nconst PillType = styled.div<{ purple?: boolean; error?: boolean }>`\n padding: 0 ${Spacing[1]};\n height: 16px;\n ${Typography.TextExtraSmall};\n font-family: ${({ theme }) => theme.text.fontFamily.mono};\n background: ${Color.CoreSlate100};\n color: ${({ theme }) => theme.color.text.primary};\n border: 1px solid ${Color.CoreSlate300};\n border-radius: ${BorderRadius.Md};\n white-space: nowrap;\n\n ${({ purple }) => {\n if (purple) {\n return css`\n background: ${Color.CorePurple100};\n border-color: ${Color.CorePurple300};\n `;\n }\n }}\n\n ${({ error }) => {\n if (error) {\n return css`\n color: ${Color.TextDanger};\n `;\n }\n }}\n`;\n\nexport default PillType;\n"],"mappings":";;;AAIA,MAAM,WAAW,OAAO,GAA0C;eACnD,QAAQ,GAAG;;IAEtB,WAAW,eAAe;kBACZ,EAAE,YAAY,MAAM,KAAK,WAAW,KAAK;gBAC3C,MAAM,aAAa;YACvB,EAAE,YAAY,MAAM,MAAM,KAAK,QAAQ;sBAC7B,MAAM,aAAa;mBACtB,aAAa,GAAG;;;KAG9B,EAAE,aAAa;AAChB,KAAI,OACF,QAAO,GAAG;sBACM,MAAM,cAAc;wBAClB,MAAM,cAAc;;EAGxC;;KAEC,EAAE,YAAY;AACf,KAAI,MACF,QAAO,GAAG;iBACC,MAAM,WAAW;;EAG9B"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * ===========================================================================
3
+ * Run bin/method_chain_parser/generate.sh after making change
4
+ * See parser.js in this directory for generated output
5
+ * ===========================================================================
6
+ */
7
+
8
+ {{
9
+ function mkError(start, end, kind, extra) {
10
+ return { type: 'error', start, end, ...(kind ? { kind } : {}), ...(extra || {}) };
11
+ }
12
+ function hasErrors(node) {
13
+ if (!node || typeof node !== 'object') return false;
14
+ if (node.type === 'error') return true;
15
+ const children = node.children || [];
16
+ return children.some(hasErrors);
17
+ }
18
+ }}
19
+
20
+ Chain
21
+ = first:(SymbolIdentifier / InvalidChainStart)
22
+ rest:(Link / ErrorLink)*
23
+ {
24
+ const chain = { type: 'chain', children: [first, ...rest.flat()],
25
+ start: location().start.offset, end: location().end.offset };
26
+ if (options.strict === true && hasErrors(chain)) { error('Invalid chain'); }
27
+ return chain;
28
+ }
29
+
30
+ // Matches a non-identifier chain start. Excludes }, ,, ) to avoid consuming
31
+ // delimiters in Handlebars / param contexts. Also excludes . so trailing-dot
32
+ // ErrorLink handles dot-after-dot rather than producing two separate errors.
33
+ InvalidChainStart
34
+ = !"}" !"," !")" !SymbolIdentifier c:. {
35
+ const s = location().start.offset;
36
+ const e = location().end.offset;
37
+ return mkError(s, e, 'invalidMethodChainSyntax');
38
+ }
39
+
40
+ ErrorLink
41
+ = d:DotNode !. {
42
+ // Dot at absolute end of input — user is still typing (wip).
43
+ const e = location().end.offset;
44
+ return [d, mkError(e, e, 'trailingDot', { wip: true })];
45
+ }
46
+ / d:DotNode &("}" / "$" / "{") {
47
+ // Dot immediately before a Handlebars/Code delimiter — user is still
48
+ // typing the identifier that will follow (wip).
49
+ const e = location().end.offset;
50
+ return [d, mkError(e, e, 'trailingDot', { wip: true })];
51
+ }
52
+ / d:DotNode "@" (!. / &("}" / "$" / "{")) {
53
+ // '@' at end of input or before a delimiter — user starting a custom function name (wip).
54
+ const e = location().end.offset;
55
+ return [d, mkError(e, e, 'trailingAtSign', { wip: true })];
56
+ }
57
+ / d:DotNode !(SymbolIdentifier / "@" / "[") c:. {
58
+ // Dot followed by a character that is not a valid link start — consume
59
+ // the bad character and report it as a syntax error (not wip).
60
+ const s = d.end;
61
+ const e = location().end.offset;
62
+ return [d, mkError(s, e, 'invalidMethodChainSyntax')];
63
+ }
64
+ / [ \t]+ (!("}" / "$" / "{") .)* {
65
+ return mkError(location().start.offset, location().end.offset, 'invalidMethodChainSyntax');
66
+ }
67
+
68
+ Link
69
+ = (d:DotNode link:(CustomFunction / Function / SymbolIdentifier) { return [d, link] })
70
+ / @LiteralIdentifier
71
+
72
+ DotNode
73
+ = '.' { return { type: 'dot', start: location().start.offset, end: location().end.offset } }
74
+
75
+ CustomFunction
76
+ = '@' name:[a-z0-9_-]i+ po:ParenOpen _ params:Parameters? _ pc:ParenClose
77
+ { return { type: 'custom_function', name: name.join(''),
78
+ children: [po, ...(params || []), pc],
79
+ start: location().start.offset, end: location().end.offset } }
80
+ / '@' name:[a-z0-9_-]i+ po:ParenOpen _ params:Parameters _ &{ return options.strict !== true; }
81
+ {
82
+ const s = location().start.offset;
83
+ const e = location().end.offset;
84
+ return { type: 'custom_function', name: name.join(''), start: s, end: e,
85
+ children: [po, ...params.map(p => ({ ...p, end: e })),
86
+ mkError(e, e, 'unclosedFunctionParen', { wip: true })] };
87
+ }
88
+ / '@' name:[a-z0-9_-]i+ po:ParenOpen _ &{ return options.strict !== true; }
89
+ {
90
+ const e = location().end.offset;
91
+ return { type: 'custom_function', name: name.join(''),
92
+ start: location().start.offset, end: e,
93
+ children: [po, mkError(e, e, 'unclosedFunctionParen', { wip: true })] };
94
+ }
95
+ / '@' name:[a-z0-9_-]i+
96
+ { return { type: 'custom_function', name: name.join(''), children: [],
97
+ start: location().start.offset, end: location().end.offset } }
98
+
99
+ Function
100
+ = id:SymbolIdentifier po:ParenOpen _ params:Parameters? _ pc:ParenClose
101
+ { return { type: 'function', name: id.name,
102
+ children: [po, ...(params || []), pc],
103
+ start: location().start.offset, end: location().end.offset } }
104
+ / id:SymbolIdentifier po:ParenOpen _ params:Parameters _ "," _ &{ return options.strict !== true; }
105
+ {
106
+ const s = location().start.offset;
107
+ const e = location().end.offset;
108
+ if (params.length === 0) {
109
+ return { type: 'function', name: id.name, start: s, end: e,
110
+ children: [po, mkError(po.end, e, 'emptyFunctionParam')] };
111
+ }
112
+ return { type: 'function', name: id.name, start: s, end: e,
113
+ children: [po, ...params.map(p => ({ ...p, end: e })),
114
+ mkError(po.end, e, 'trailingFunctionComma', { wip: true })] };
115
+ }
116
+ / id:SymbolIdentifier po:ParenOpen _ ic:InvalidParamContent _ pc:ParenClose &{ return options.strict !== true; }
117
+ {
118
+ return { type: 'function', name: id.name,
119
+ start: location().start.offset, end: location().end.offset,
120
+ children: [po, ic, pc] };
121
+ }
122
+ / id:SymbolIdentifier po:ParenOpen !. &{ return options.strict !== true; }
123
+ {
124
+ return { type: 'function', name: id.name,
125
+ start: location().start.offset, end: location().end.offset,
126
+ children: [po, mkError(po.end, po.end, 'unclosedFunctionParen', { wip: true })] };
127
+ }
128
+ / id:SymbolIdentifier po:ParenOpen _ params:Parameters _ &{ return options.strict !== true; }
129
+ {
130
+ const s = location().start.offset;
131
+ const e = location().end.offset;
132
+ return { type: 'function', name: id.name, start: s, end: e,
133
+ children: [po, ...params.map(p => ({ ...p, end: e })),
134
+ mkError(e, e, 'unclosedFunctionParen', { wip: true })] };
135
+ }
136
+ / id:SymbolIdentifier po:ParenOpen _ &{ return options.strict !== true; }
137
+ {
138
+ const e = location().end.offset;
139
+ return { type: 'function', name: id.name,
140
+ start: location().start.offset, end: e,
141
+ children: [po, mkError(e, e, 'unclosedFunctionParen', { wip: true })] };
142
+ }
143
+
144
+ InvalidParamContent
145
+ = (!ParenClose .)+ {
146
+ return mkError(location().start.offset, location().end.offset, 'invalidMethodChainSyntax');
147
+ }
148
+
149
+ ParenOpen
150
+ = '(' { return { type: 'paren_open', start: location().start.offset, end: location().end.offset } }
151
+
152
+ ParenClose
153
+ = ')' { return { type: 'paren_close', start: location().start.offset, end: location().end.offset } }
154
+
155
+ Parameters
156
+ = Parameter|.., _ ',' _|
157
+
158
+ // Chain is only attempted when the input starts with a valid chain character
159
+ // (SymbolIdentifier first char, @, or [). This ensures non-identifier content
160
+ // (e.g. bare digits) falls through to InvalidParamContent rather than being
161
+ // wrapped in a Chain containing an error node.
162
+ Parameter
163
+ = (str:String { return { type: 'string', value: str, start: location().start.offset, end: location().end.offset}})
164
+ / (num:Number { return { type: 'number', value: num, start: location().start.offset, end: location().end.offset}})
165
+ / Array
166
+ / &(SymbolIdentifier / "@" / LiteralIdentifier) chain:Chain { return chain; }
167
+
168
+ LiteralIdentifier
169
+ = '[' id:NonEmptyString ']' { return { type: 'identifier', name: id,
170
+ start: location().start.offset, end: location().end.offset } }
171
+
172
+ SymbolIdentifier
173
+ = first:[a-zA-Z0-9_] rest:[a-zA-Z0-9_-]* { return { type: 'identifier', name: first + rest.join(''),
174
+ start: location().start.offset, end: location().end.offset } }
175
+
176
+ NonEmptyString
177
+ = "'" chars:StringChar+ "'" { return chars.join('') }
178
+
179
+ String
180
+ = "'" chars:StringChar* "'" { return chars.join('') }
181
+
182
+ Array
183
+ = '[' _ items:ArrayItems? _ ']' {
184
+ return {
185
+ type: 'array',
186
+ children: items || [],
187
+ start: location().start.offset,
188
+ end: location().end.offset
189
+ }
190
+ }
191
+
192
+ ArrayItems
193
+ = ArrayItem|.., _ ',' _|
194
+
195
+ ArrayItem
196
+ = (str:String { return { type: 'string', value: str}})
197
+ / (num:Number { return { type: 'number', value: num}})
198
+
199
+ StringChar
200
+ = !(Quote / "\\") char:. { return char }
201
+ / "\\" char:Escapables { return char }
202
+
203
+ Number
204
+ = _ '#'[0-9]+(Dot[0-9]+)? { return parseFloat(text().substr(1)) }
205
+
206
+ Escapables
207
+ = Escape / Quote
208
+
209
+ Escape
210
+ = '\\'
211
+
212
+ Dot
213
+ = '.'
214
+
215
+ Quote
216
+ = "'"
217
+
218
+ _ "whitespace"
219
+ = [ \t\n\r]*
@@ -0,0 +1,21 @@
1
+ import type { ASTChain } from './types';
2
+
3
+ export type ParseOptions = {
4
+ /**
5
+ * When true, Chain throws on invalid input instead of returning error nodes.
6
+ * Must be explicitly set to true for workflow/method-chain callers.
7
+ * Defaults to false (error-recovering) — SmartTextInput callers can omit this.
8
+ */
9
+ strict?: boolean;
10
+ };
11
+
12
+ export function parse(input: string, options?: ParseOptions): ASTChain;
13
+
14
+ export class SyntaxError extends Error {
15
+ expected: string[];
16
+ found: string;
17
+ location: {
18
+ start: number;
19
+ end: number;
20
+ };
21
+ }
@@ -0,0 +1,2 @@
1
+ import { i as peg$parse, n as peg$SyntaxError, r as peg$allowedStartRules } from "../../../../parser-Kxos6siN.mjs";
2
+ export { peg$allowedStartRules as StartRules, peg$SyntaxError as SyntaxError, peg$parse as parse };
@@ -0,0 +1,105 @@
1
+ //#region components/SmartTextInput/parser/method-chain/types.d.ts
2
+ declare enum ASTNodeType {
3
+ Chain = "chain",
4
+ Identifier = "identifier",
5
+ Function = "function",
6
+ CustomFunction = "custom_function",
7
+ String = "string",
8
+ Number = "number",
9
+ Array = "array",
10
+ ParenOpen = "paren_open",
11
+ ParenClose = "paren_close",
12
+ Error = "error",
13
+ Dot = "dot"
14
+ }
15
+ declare enum ErrorKind {
16
+ InvalidMethodChainSyntax = "invalidMethodChainSyntax",
17
+ EmptyFunctionParam = "emptyFunctionParam",
18
+ TrailingFunctionComma = "trailingFunctionComma",
19
+ UnclosedFunctionParen = "unclosedFunctionParen",
20
+ TrailingDot = "trailingDot"
21
+ }
22
+ type ASTMethodChainNode = ASTIdentifierNode | ASTFunctionNode | ASTCustomFunctionNode;
23
+ declare const isASTMethodChainNode: (node: {
24
+ type: string;
25
+ }) => node is ASTMethodChainNode;
26
+ declare const isAnyASTFunctionNode: (node: {
27
+ type: string;
28
+ }) => node is ASTFunctionNode | ASTCustomFunctionNode;
29
+ declare const isASTCustomFunctionNode: (node: {
30
+ type: string;
31
+ }) => node is ASTCustomFunctionNode;
32
+ type ASTFunctionParamType = ASTChain | ASTStringNode | ASTNumberNode | ASTArrayNode | ASTParenOpenNode | ASTParenCloseNode | ASTErrorNode;
33
+ declare const isRealASTFunctionParamType: (node: {
34
+ type: string;
35
+ }) => node is ASTChain | ASTStringNode | ASTNumberNode | ASTArrayNode;
36
+ interface ASTChain {
37
+ type: ASTNodeType.Chain;
38
+ children: (ASTMethodChainNode | ASTDotNode | ASTErrorNode)[];
39
+ start: number;
40
+ end: number;
41
+ }
42
+ interface ASTStringNode {
43
+ type: ASTNodeType.String;
44
+ value: string;
45
+ start: number;
46
+ end: number;
47
+ }
48
+ interface ASTNumberNode {
49
+ type: ASTNodeType.Number;
50
+ value: number;
51
+ start: number;
52
+ end: number;
53
+ }
54
+ interface ASTArrayNode {
55
+ type: ASTNodeType.Array;
56
+ children: (ASTStringNode | ASTNumberNode)[];
57
+ start: number;
58
+ end: number;
59
+ }
60
+ interface ASTIdentifierNode {
61
+ type: ASTNodeType.Identifier;
62
+ name: string;
63
+ prefix?: string;
64
+ start: number;
65
+ end: number;
66
+ }
67
+ interface ASTErrorNode {
68
+ type: ASTNodeType.Error;
69
+ start: number;
70
+ end: number;
71
+ wip?: boolean;
72
+ kind?: 'invalidMethodChainSyntax' | 'emptyFunctionParam' | 'trailingFunctionComma' | 'unclosedFunctionParen' | 'trailingDot' | 'trailingAtSign';
73
+ }
74
+ interface ASTDotNode {
75
+ type: ASTNodeType.Dot;
76
+ start: number;
77
+ end: number;
78
+ }
79
+ interface ASTParenOpenNode {
80
+ type: ASTNodeType.ParenOpen;
81
+ start: number;
82
+ end: number;
83
+ }
84
+ interface ASTParenCloseNode {
85
+ type: ASTNodeType.ParenClose;
86
+ start: number;
87
+ end: number;
88
+ }
89
+ interface ASTFunctionNode {
90
+ type: ASTNodeType.Function;
91
+ name: string;
92
+ children: ASTFunctionParamType[];
93
+ start: number;
94
+ end: number;
95
+ }
96
+ interface ASTCustomFunctionNode {
97
+ type: ASTNodeType.CustomFunction;
98
+ name: string;
99
+ children: ASTFunctionParamType[];
100
+ start: number;
101
+ end: number;
102
+ }
103
+ //#endregion
104
+ export { ASTArrayNode, ASTChain, ASTCustomFunctionNode, ASTDotNode, ASTErrorNode, ASTFunctionNode, ASTFunctionParamType, ASTIdentifierNode, ASTMethodChainNode, ASTNodeType, ASTNumberNode, ASTParenCloseNode, ASTParenOpenNode, ASTStringNode, ErrorKind, isASTCustomFunctionNode, isASTMethodChainNode, isAnyASTFunctionNode, isRealASTFunctionParamType };
105
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1,31 @@
1
+ //#region components/SmartTextInput/parser/method-chain/types.ts
2
+ let ASTNodeType = /* @__PURE__ */ function(ASTNodeType) {
3
+ ASTNodeType["Chain"] = "chain";
4
+ ASTNodeType["Identifier"] = "identifier";
5
+ ASTNodeType["Function"] = "function";
6
+ ASTNodeType["CustomFunction"] = "custom_function";
7
+ ASTNodeType["String"] = "string";
8
+ ASTNodeType["Number"] = "number";
9
+ ASTNodeType["Array"] = "array";
10
+ ASTNodeType["ParenOpen"] = "paren_open";
11
+ ASTNodeType["ParenClose"] = "paren_close";
12
+ ASTNodeType["Error"] = "error";
13
+ ASTNodeType["Dot"] = "dot";
14
+ return ASTNodeType;
15
+ }({});
16
+ let ErrorKind = /* @__PURE__ */ function(ErrorKind) {
17
+ ErrorKind["InvalidMethodChainSyntax"] = "invalidMethodChainSyntax";
18
+ ErrorKind["EmptyFunctionParam"] = "emptyFunctionParam";
19
+ ErrorKind["TrailingFunctionComma"] = "trailingFunctionComma";
20
+ ErrorKind["UnclosedFunctionParen"] = "unclosedFunctionParen";
21
+ ErrorKind["TrailingDot"] = "trailingDot";
22
+ return ErrorKind;
23
+ }({});
24
+ const isASTMethodChainNode = (node) => node.type === "identifier" || node.type === "function" || node.type === "custom_function";
25
+ const isAnyASTFunctionNode = (node) => node.type === "function" || node.type === "custom_function";
26
+ const isASTCustomFunctionNode = (node) => node.type === "custom_function";
27
+ const isRealASTFunctionParamType = (node) => node.type === "chain" || node.type === "string" || node.type === "number" || node.type === "array";
28
+ //#endregion
29
+ export { ASTNodeType, ErrorKind, isASTCustomFunctionNode, isASTMethodChainNode, isAnyASTFunctionNode, isRealASTFunctionParamType };
30
+
31
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../../../components/SmartTextInput/parser/method-chain/types.ts"],"sourcesContent":["export enum ASTNodeType {\n Chain = 'chain',\n Identifier = 'identifier',\n Function = 'function',\n CustomFunction = 'custom_function',\n String = 'string',\n Number = 'number',\n Array = 'array',\n ParenOpen = 'paren_open',\n ParenClose = 'paren_close',\n Error = 'error',\n Dot = 'dot',\n}\n\nexport enum ErrorKind {\n InvalidMethodChainSyntax = 'invalidMethodChainSyntax',\n EmptyFunctionParam = 'emptyFunctionParam',\n TrailingFunctionComma = 'trailingFunctionComma',\n UnclosedFunctionParen = 'unclosedFunctionParen',\n TrailingDot = 'trailingDot',\n}\n\nexport type ASTMethodChainNode = ASTIdentifierNode | ASTFunctionNode | ASTCustomFunctionNode;\n\nexport const isASTMethodChainNode = (node: { type: string }): node is ASTMethodChainNode =>\n node.type === ASTNodeType.Identifier ||\n node.type === ASTNodeType.Function ||\n node.type === ASTNodeType.CustomFunction;\n\nexport const isAnyASTFunctionNode = (node: {\n type: string;\n}): node is ASTFunctionNode | ASTCustomFunctionNode =>\n node.type === ASTNodeType.Function || node.type === ASTNodeType.CustomFunction;\n\nexport const isASTCustomFunctionNode = (node: { type: string }): node is ASTCustomFunctionNode =>\n node.type === ASTNodeType.CustomFunction;\n\nexport type ASTFunctionParamType =\n | ASTChain\n | ASTStringNode\n | ASTNumberNode\n | ASTArrayNode\n | ASTParenOpenNode\n | ASTParenCloseNode\n | ASTErrorNode;\n\nexport const isRealASTFunctionParamType = (node: {\n type: string;\n}): node is ASTChain | ASTStringNode | ASTNumberNode | ASTArrayNode =>\n node.type === ASTNodeType.Chain ||\n node.type === ASTNodeType.String ||\n node.type === ASTNodeType.Number ||\n node.type === ASTNodeType.Array;\n\nexport interface ASTChain {\n type: ASTNodeType.Chain;\n children: (ASTMethodChainNode | ASTDotNode | ASTErrorNode)[];\n start: number;\n end: number;\n}\n\nexport interface ASTStringNode {\n type: ASTNodeType.String;\n value: string;\n start: number;\n end: number;\n}\n\nexport interface ASTNumberNode {\n type: ASTNodeType.Number;\n value: number;\n start: number;\n end: number;\n}\n\nexport interface ASTArrayNode {\n type: ASTNodeType.Array;\n children: (ASTStringNode | ASTNumberNode)[];\n start: number;\n end: number;\n}\n\nexport interface ASTIdentifierNode {\n type: ASTNodeType.Identifier;\n name: string;\n prefix?: string;\n start: number;\n end: number;\n}\n\nexport interface ASTErrorNode {\n type: ASTNodeType.Error;\n start: number;\n end: number;\n wip?: boolean;\n kind?:\n | 'invalidMethodChainSyntax'\n | 'emptyFunctionParam'\n | 'trailingFunctionComma'\n | 'unclosedFunctionParen'\n | 'trailingDot'\n | 'trailingAtSign';\n}\n\nexport interface ASTDotNode {\n type: ASTNodeType.Dot;\n start: number;\n end: number;\n}\n\nexport interface ASTParenOpenNode {\n type: ASTNodeType.ParenOpen;\n start: number;\n end: number;\n}\n\nexport interface ASTParenCloseNode {\n type: ASTNodeType.ParenClose;\n start: number;\n end: number;\n}\n\nexport interface ASTFunctionNode {\n type: ASTNodeType.Function;\n name: string;\n children: ASTFunctionParamType[];\n start: number;\n end: number;\n}\n\nexport interface ASTCustomFunctionNode {\n type: ASTNodeType.CustomFunction;\n name: string;\n children: ASTFunctionParamType[];\n start: number;\n end: number;\n}\n"],"mappings":";AAAA,IAAY,cAAL,yBAAA,aAAA;AACL,aAAA,WAAA;AACA,aAAA,gBAAA;AACA,aAAA,cAAA;AACA,aAAA,oBAAA;AACA,aAAA,YAAA;AACA,aAAA,YAAA;AACA,aAAA,WAAA;AACA,aAAA,eAAA;AACA,aAAA,gBAAA;AACA,aAAA,WAAA;AACA,aAAA,SAAA;;KACD;AAED,IAAY,YAAL,yBAAA,WAAA;AACL,WAAA,8BAAA;AACA,WAAA,wBAAA;AACA,WAAA,2BAAA;AACA,WAAA,2BAAA;AACA,WAAA,iBAAA;;KACD;AAID,MAAa,wBAAwB,SACnC,KAAK,SAAA,gBACL,KAAK,SAAA,cACL,KAAK,SAAA;AAEP,MAAa,wBAAwB,SAGnC,KAAK,SAAA,cAAiC,KAAK,SAAA;AAE7C,MAAa,2BAA2B,SACtC,KAAK,SAAA;AAWP,MAAa,8BAA8B,SAGzC,KAAK,SAAA,WACL,KAAK,SAAA,YACL,KAAK,SAAA,YACL,KAAK,SAAA"}