@persona/design-system 0.7.2 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/CHANGELOG.md +273 -0
  2. package/dist/Accordion.d.mts +1 -1
  3. package/dist/AccordionItem.d.mts +1 -1
  4. package/dist/{Action-Cyo6KCsS.d.mts → Action-BwYS9qaG.d.mts} +3 -3
  5. package/dist/Action.d.mts +1 -1
  6. package/dist/AdvancedFilterRuleRow.d.mts +4 -2
  7. package/dist/AdvancedFilterRulesPopover.d.mts +5 -3
  8. package/dist/ArrayValueControl.d.mts +1 -1
  9. package/dist/Attribute.d.mts +3 -3
  10. package/dist/{Badge-BD0Ut46g.mjs → Badge-D-5tbZDw.mjs} +2 -2
  11. package/dist/{Badge-BD0Ut46g.mjs.map → Badge-D-5tbZDw.mjs.map} +1 -1
  12. package/dist/BooleanValueControl.d.mts +1 -1
  13. package/dist/{Breadcrumb-CYXkrKXl.d.mts → Breadcrumb-BADja8tn.d.mts} +1 -1
  14. package/dist/Breadcrumb.d.mts +1 -1
  15. package/dist/{Breadcrumbs-CrXfUK1V.mjs → Breadcrumbs-CNpM0aXm.mjs} +5 -5
  16. package/dist/{Breadcrumbs-CrXfUK1V.mjs.map → Breadcrumbs-CNpM0aXm.mjs.map} +1 -1
  17. package/dist/{Breadcrumbs-CP7eUYUy.d.mts → Breadcrumbs-CxP7ktfM.d.mts} +2 -2
  18. package/dist/Breadcrumbs.d.mts +1 -1
  19. package/dist/{Button-Dhiund3f.d.mts → Button-CnswHEJ2.d.mts} +4 -4
  20. package/dist/Button.d.mts +1 -1
  21. package/dist/{Calendar-CMeIZ0BO.d.mts → Calendar-Cke5IlMI.d.mts} +1 -1
  22. package/dist/Calendar.d.mts +1 -1
  23. package/dist/CalendarBase.d.mts +1 -1
  24. package/dist/{Card-DCYB_mtR.d.mts → Card-Bp6L08H4.d.mts} +3 -3
  25. package/dist/Card.d.mts +1 -1
  26. package/dist/{CardV2-M3o4BELp.mjs → CardV2-DEW6mw_o.mjs} +9 -7
  27. package/dist/{CardV2-M3o4BELp.mjs.map → CardV2-DEW6mw_o.mjs.map} +1 -1
  28. package/dist/{Checkbox-fWj7GkBl.d.mts → Checkbox-DUXws1Os.d.mts} +1 -1
  29. package/dist/{Checkbox-AjL7ucoR.mjs → Checkbox-GibG2pg5.mjs} +3 -3
  30. package/dist/{Checkbox-AjL7ucoR.mjs.map → Checkbox-GibG2pg5.mjs.map} +1 -1
  31. package/dist/Checkbox.d.mts +1 -1
  32. package/dist/CheckboxGroupField-DzdOYIjo.d.mts +25 -0
  33. package/dist/CheckboxGroupField.d.mts +2 -25
  34. package/dist/ChoicesValueControl.d.mts +1 -1
  35. package/dist/{Combobox-C2b9u955.mjs → Combobox-CCDoNF9Y.mjs} +23 -10
  36. package/dist/Combobox-CCDoNF9Y.mjs.map +1 -0
  37. package/dist/{Combobox-CC-Osr57.d.mts → Combobox-CnxmKUQf.d.mts} +3 -3
  38. package/dist/Combobox.d.mts +2 -2
  39. package/dist/{ComboboxBase-Evo0FRxP.d.mts → ComboboxBase-CtNrsPO9.d.mts} +8 -5
  40. package/dist/ComboboxBase.d.mts +1 -1
  41. package/dist/{ComboboxMultiSelect-CvAc0FT3.d.mts → ComboboxMultiSelect-CMH6iVu4.d.mts} +2 -2
  42. package/dist/ComboboxMultiSelect.d.mts +1 -1
  43. package/dist/{ComboboxSingleSelect-CBm7x0oh.d.mts → ComboboxSingleSelect-BLPbLmMY.d.mts} +4 -4
  44. package/dist/ComboboxSingleSelect.d.mts +1 -1
  45. package/dist/{CompactBar-D_2qMK4y.d.mts → CompactBar-BwKIIlWz.d.mts} +4 -4
  46. package/dist/CompactBar.d.mts +1 -1
  47. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs → ConfigFormGroup-BQXN2Pgj.mjs} +2 -2
  48. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs.map → ConfigFormGroup-BQXN2Pgj.mjs.map} +1 -1
  49. package/dist/{ControlBar-B7j9sOr9.d.mts → ControlBar-BJUY6GOX.d.mts} +7 -2
  50. package/dist/ControlBar.d.mts +1 -1
  51. package/dist/DataTable.d.mts +4 -3
  52. package/dist/{DateField-BamAk9_w.d.mts → DateField-BojOHfrv.d.mts} +2 -2
  53. package/dist/DateField.d.mts +1 -1
  54. package/dist/{DatePicker-C3xNSkPG.d.mts → DatePicker-BHVx_i_F.d.mts} +2 -2
  55. package/dist/{DatePicker-IgiUI3Wj.mjs → DatePicker-LPIJrc0n.mjs} +77 -42
  56. package/dist/DatePicker-LPIJrc0n.mjs.map +1 -0
  57. package/dist/DatePicker.d.mts +1 -1
  58. package/dist/{DateRangePicker-C4QKMo2a.d.mts → DateRangePicker-CelDK_44.d.mts} +3 -3
  59. package/dist/DateRangePicker.d.mts +1 -1
  60. package/dist/DateRangeValueControl.d.mts +5 -3
  61. package/dist/DateValueControl.d.mts +8 -5
  62. package/dist/{DropdownButton-BWiXLMfD.mjs → DropdownButton-i5Dmxiq1.mjs} +3 -3
  63. package/dist/{DropdownButton-BWiXLMfD.mjs.map → DropdownButton-i5Dmxiq1.mjs.map} +1 -1
  64. package/dist/DropdownButton.d.mts +2 -2
  65. package/dist/{DropdownMenu-DL5ye-0m.d.mts → DropdownMenu-YtLxcNWt.d.mts} +2 -2
  66. package/dist/{DropdownMenu-CuKSNxc9.mjs → DropdownMenu-j8NWbAvM.mjs} +7 -2
  67. package/dist/DropdownMenu-j8NWbAvM.mjs.map +1 -0
  68. package/dist/DropdownMenu.d.mts +1 -1
  69. package/dist/{ErrorProps-BA0-m_Wp.d.mts → ErrorProps-6dRdJ4QQ.d.mts} +1 -1
  70. package/dist/ErrorProps.d.mts +1 -1
  71. package/dist/{FieldRegistry-bKxrF1gC.d.mts → FieldRegistry-DqO8HiYb.d.mts} +2 -2
  72. package/dist/FieldRegistry.d.mts +1 -1
  73. package/dist/{FilterBar-DhlBLWxw.d.mts → FilterBar-CpAA2Ozk.d.mts} +11 -4
  74. package/dist/FilterBar.d.mts +1 -1
  75. package/dist/FilterPickerMenu.d.mts +2 -2
  76. package/dist/FilterPill.d.mts +1 -1
  77. package/dist/FilterPopover.d.mts +8 -2
  78. package/dist/FloatValueControl.d.mts +1 -1
  79. package/dist/{FormControl-D5xyPkST.d.mts → FormControl-B-s6G9mp.d.mts} +2 -2
  80. package/dist/{FormControl-DnfZTli_.mjs → FormControl-bDxFF0hl.mjs} +3 -3
  81. package/dist/{FormControl-DnfZTli_.mjs.map → FormControl-bDxFF0hl.mjs.map} +1 -1
  82. package/dist/FormControl.d.mts +1 -1
  83. package/dist/FormControlLabel.d.mts +1 -1
  84. package/dist/{FormField-BJZUj6jg.d.mts → FormField-D3k-f3-f.d.mts} +2 -2
  85. package/dist/{FormField-74TPV8-8.mjs → FormField-DbcqNcx2.mjs} +16 -16
  86. package/dist/{FormField-74TPV8-8.mjs.map → FormField-DbcqNcx2.mjs.map} +1 -1
  87. package/dist/FormField.d.mts +1 -1
  88. package/dist/{Grid-DOyYYsvk.mjs → Grid-CeH9E5Ai.mjs} +1 -1
  89. package/dist/{Grid-DOyYYsvk.mjs.map → Grid-CeH9E5Ai.mjs.map} +1 -1
  90. package/dist/{Header-BqEKkEp5.d.mts → Header-2K49LYkR.d.mts} +1 -1
  91. package/dist/Header.d.mts +1 -1
  92. package/dist/{HelperTooltip-mOVSuEB8.d.mts → HelperTooltip-CTHUM2nC.d.mts} +2 -2
  93. package/dist/HelperTooltip.d.mts +1 -1
  94. package/dist/HighlightedText.d.mts +61 -0
  95. package/dist/{HoverCopyableField-CN3gl0ny.mjs → HoverCopyableField-BARZLhfO.mjs} +3 -3
  96. package/dist/{HoverCopyableField-CN3gl0ny.mjs.map → HoverCopyableField-BARZLhfO.mjs.map} +1 -1
  97. package/dist/{IconButton-CqTPMhjV.mjs → IconButton-BHFCjvzs.mjs} +1 -1
  98. package/dist/{IconButton-CqTPMhjV.mjs.map → IconButton-BHFCjvzs.mjs.map} +1 -1
  99. package/dist/{IconButton-CjPFhpVG.d.mts → IconButton-D5hx405r.d.mts} +2 -2
  100. package/dist/IconButton.d.mts +1 -1
  101. package/dist/ImageTile.d.mts +1 -1
  102. package/dist/InlineCombobox.d.mts +1 -1
  103. package/dist/InlineInput.d.mts +1 -1
  104. package/dist/{Input-C_3QwAAt.mjs → Input-BQN97Hzm.mjs} +7 -3
  105. package/dist/Input-BQN97Hzm.mjs.map +1 -0
  106. package/dist/{Input-CZ_6KWDN.d.mts → Input-BQbcIiVj.d.mts} +3 -3
  107. package/dist/Input.d.mts +1 -1
  108. package/dist/{InputProps-lag6BM5h.d.mts → InputProps-DT1ZReZS.d.mts} +2 -2
  109. package/dist/InputProps.d.mts +1 -1
  110. package/dist/IntegerValueControl.d.mts +1 -1
  111. package/dist/Link-Bzm4AL5J.mjs +79 -0
  112. package/dist/Link-Bzm4AL5J.mjs.map +1 -0
  113. package/dist/Link.d.mts +1 -1
  114. package/dist/{ListBox-nYAdYVQx.d.mts → ListBox-CdqRwBvA.d.mts} +7 -7
  115. package/dist/{ListBox-D4j4LCT3.mjs → ListBox-DOqN9DNl.mjs} +33 -16
  116. package/dist/ListBox-DOqN9DNl.mjs.map +1 -0
  117. package/dist/ListBox.d.mts +1 -1
  118. package/dist/ListBoxField-Bl2WLplO.d.mts +51 -0
  119. package/dist/ListBoxField.d.mts +2 -51
  120. package/dist/{LoadingShimmer-Dizk2sZu.mjs → LoadingShimmer-Ds7rvIUN.mjs} +13 -8
  121. package/dist/LoadingShimmer-Ds7rvIUN.mjs.map +1 -0
  122. package/dist/LoadingShimmer.d.mts +1 -1
  123. package/dist/{LogicRow-k4ZPtjN0.d.mts → LogicRow-CwMAn1sh.d.mts} +3 -3
  124. package/dist/LogicRow.d.mts +1 -1
  125. package/dist/MaskedInput.d.mts +1 -1
  126. package/dist/{Menu-Bu7-KBhp.d.mts → Menu-CUN9bmc1.d.mts} +3 -3
  127. package/dist/{Menu-Cd6oxjAe.mjs → Menu-DjW2b3Wk.mjs} +1 -1
  128. package/dist/{Menu-Cd6oxjAe.mjs.map → Menu-DjW2b3Wk.mjs.map} +1 -1
  129. package/dist/Menu.d.mts +1 -1
  130. package/dist/{MiddleTruncatedText-CO58jrNF.mjs → MiddleTruncatedText-DoTyfMem.mjs} +2 -2
  131. package/dist/{MiddleTruncatedText-CO58jrNF.mjs.map → MiddleTruncatedText-DoTyfMem.mjs.map} +1 -1
  132. package/dist/{Modal-Dwq-QBw_.d.mts → Modal-CGXJGrKg.d.mts} +2 -2
  133. package/dist/{Modal-BN0K8QXi.mjs → Modal-DHLPK65-.mjs} +6 -4
  134. package/dist/Modal-DHLPK65-.mjs.map +1 -0
  135. package/dist/Modal.d.mts +1 -1
  136. package/dist/{PageHeader-BTtm3hRQ.mjs → PageHeader-eI4RM_uL.mjs} +2 -2
  137. package/dist/{PageHeader-BTtm3hRQ.mjs.map → PageHeader-eI4RM_uL.mjs.map} +1 -1
  138. package/dist/PageHeader.d.mts +1 -1
  139. package/dist/{PageSelector-CeGC84N1.d.mts → PageSelector-kAfYxEky.d.mts} +3 -3
  140. package/dist/PageSelector.d.mts +1 -1
  141. package/dist/{Pagination-CPd4mSnw.mjs → Pagination-6BDOn9bX.mjs} +6 -6
  142. package/dist/Pagination-6BDOn9bX.mjs.map +1 -0
  143. package/dist/{Pagination-H-CcXrCD.d.mts → Pagination-Bhr7xyd2.d.mts} +2 -2
  144. package/dist/Pagination.d.mts +1 -1
  145. package/dist/{Pii-Dz4woKd8.mjs → Pii-DhL1gblz.mjs} +2 -2
  146. package/dist/{Pii-Dz4woKd8.mjs.map → Pii-DhL1gblz.mjs.map} +1 -1
  147. package/dist/{PillShell-BQC-k7Rl.d.mts → PillShell-CVJL1k5I.d.mts} +2 -2
  148. package/dist/PillShell.d.mts +1 -1
  149. package/dist/{Popover-opVa9Xhc.mjs → Popover-CbYaWrAy.mjs} +15 -2
  150. package/dist/Popover-CbYaWrAy.mjs.map +1 -0
  151. package/dist/{ProgressIndicator-3A4Aqci6.mjs → ProgressIndicator-BpF3XLn3.mjs} +3 -3
  152. package/dist/ProgressIndicator-BpF3XLn3.mjs.map +1 -0
  153. package/dist/{ProgressIndicator-DbOLOaxJ.d.mts → ProgressIndicator-CYyM6OSx.d.mts} +1 -1
  154. package/dist/ProgressIndicator.d.mts +1 -1
  155. package/dist/{PseudoClassProps-CHtBNv8B.d.mts → PseudoClassProps-BOVN6Etr.d.mts} +1 -1
  156. package/dist/PseudoClassProps.d.mts +1 -1
  157. package/dist/{Radio-Cxt89w8s.mjs → Radio-DPaX-9LH.mjs} +2 -2
  158. package/dist/{Radio-Cxt89w8s.mjs.map → Radio-DPaX-9LH.mjs.map} +1 -1
  159. package/dist/{RadioGroup-BjrfVPZQ.d.mts → RadioGroup-C0l0pdEt.d.mts} +1 -1
  160. package/dist/{RadioGroup-B6Cg1kdm.mjs → RadioGroup-D7f4m2Uc.mjs} +2 -2
  161. package/dist/{RadioGroup-B6Cg1kdm.mjs.map → RadioGroup-D7f4m2Uc.mjs.map} +1 -1
  162. package/dist/RadioGroup.d.mts +1 -1
  163. package/dist/{RangeCalendar-CPnLaM-J.d.mts → RangeCalendar-BJn9V3iN.d.mts} +2 -2
  164. package/dist/RangeCalendar.d.mts +1 -1
  165. package/dist/RangeCalendarPresets.d.mts +1 -1
  166. package/dist/{RouterContext-CbvHIl4K.d.mts → RouterContext-BLrzYlJ_.d.mts} +2 -2
  167. package/dist/RouterContext.d.mts +1 -1
  168. package/dist/{RouterLink-v9AG9fYa.d.mts → RouterLink-BHXjhqps.d.mts} +2 -2
  169. package/dist/RouterLink.d.mts +1 -1
  170. package/dist/RuleEditorFields.d.mts +4 -2
  171. package/dist/RulesPill.d.mts +1 -1
  172. package/dist/{SearchInput-CIjwmT8R.d.mts → SearchInput-Buh8LdIL.d.mts} +2 -2
  173. package/dist/SearchInput.d.mts +1 -1
  174. package/dist/SectionHeading.d.mts +1 -1
  175. package/dist/{SegmentedControl-Crr_aHAs.d.mts → SegmentedControl-B9qLyIIW.d.mts} +1 -1
  176. package/dist/{SegmentedControl-BcwfLuHA.mjs → SegmentedControl-zEvBtVj0.mjs} +3 -3
  177. package/dist/SegmentedControl-zEvBtVj0.mjs.map +1 -0
  178. package/dist/SegmentedControl.d.mts +1 -1
  179. package/dist/{Select-BstCz8P1.mjs → Select-BoZuM_e9.mjs} +10 -8
  180. package/dist/Select-BoZuM_e9.mjs.map +1 -0
  181. package/dist/{Select-CJQeuCiF.d.mts → Select-Cv_9PLOt.d.mts} +3 -3
  182. package/dist/Select.d.mts +1 -1
  183. package/dist/SmartTextInput.d.mts +107 -0
  184. package/dist/SmartTextInputCodeDialog.d.mts +18 -0
  185. package/dist/SmartTextInputField.d.mts +25 -0
  186. package/dist/SmartTextInputFunctionDialog.d.mts +37 -0
  187. package/dist/SmartTextInputListbox.d.mts +26 -0
  188. package/dist/SmartTextInputPopover.d.mts +45 -0
  189. package/dist/{Spinner-DplDSBqf.mjs → Spinner-CarSRiBF.mjs} +1 -1
  190. package/dist/{Spinner-DplDSBqf.mjs.map → Spinner-CarSRiBF.mjs.map} +1 -1
  191. package/dist/{Stack-ChsImaEY.mjs → Stack-CEPzs4Pb.mjs} +1 -1
  192. package/dist/{Stack-ChsImaEY.mjs.map → Stack-CEPzs4Pb.mjs.map} +1 -1
  193. package/dist/{Stack-RVptVTVi.d.mts → Stack-XzBzPvSV.d.mts} +1 -1
  194. package/dist/Stack.d.mts +1 -1
  195. package/dist/StatusIndicator-bEnMWV_S.mjs +315 -0
  196. package/dist/StatusIndicator-bEnMWV_S.mjs.map +1 -0
  197. package/dist/{Sticker-C3Eb13OQ.mjs → Sticker-B-fU8lgu.mjs} +5 -8
  198. package/dist/Sticker-B-fU8lgu.mjs.map +1 -0
  199. package/dist/{Sticker-BVX38LKi.d.mts → Sticker-DGfNuxUK.d.mts} +4 -4
  200. package/dist/Sticker.d.mts +1 -1
  201. package/dist/StringValueControl.d.mts +1 -1
  202. package/dist/Tab.d.mts +1 -1
  203. package/dist/{TabBar-BepWbJHz.mjs → TabBar-BSl5v5aa.mjs} +4 -7
  204. package/dist/{TabBar-BepWbJHz.mjs.map → TabBar-BSl5v5aa.mjs.map} +1 -1
  205. package/dist/{Table-DFiSWroB.d.mts → Table-B2V5tlfA.d.mts} +1 -1
  206. package/dist/{Table-B1gRr2XT.mjs → Table-msXj0glu.mjs} +22 -3
  207. package/dist/Table-msXj0glu.mjs.map +1 -0
  208. package/dist/Table.d.mts +1 -1
  209. package/dist/{TableBody-Di9JYHDN.d.mts → TableBody-SlQe4Jyp.d.mts} +1 -1
  210. package/dist/TableBody.d.mts +1 -1
  211. package/dist/{TableBox-DAQ3Plqx.mjs → TableBox-CF1_Fk0j.mjs} +22 -17
  212. package/dist/TableBox-CF1_Fk0j.mjs.map +1 -0
  213. package/dist/TableBox.d.mts +2 -2
  214. package/dist/{TableBoxCell-D6h1X5ph.d.mts → TableBoxCell-BRhGeUnO.d.mts} +6 -6
  215. package/dist/TableBoxCell.d.mts +1 -1
  216. package/dist/TableBoxField-Cq9M1upV.d.mts +103 -0
  217. package/dist/TableBoxField.d.mts +2 -103
  218. package/dist/{TableBoxRow-C6l6J4mq.d.mts → TableBoxRow-DZzRYoID.d.mts} +3 -3
  219. package/dist/TableBoxRow.d.mts +1 -1
  220. package/dist/{TableBoxRowActions-CsLN1b1J.d.mts → TableBoxRowActions-4-j3flJq.d.mts} +2 -2
  221. package/dist/TableBoxRowActions.d.mts +1 -1
  222. package/dist/{TableCell-WSDXw79Q.d.mts → TableCell-D5Sqb6iO.d.mts} +2 -2
  223. package/dist/TableCell.d.mts +1 -1
  224. package/dist/{TableControls-cswMgBAr.d.mts → TableControls-B-LakH-8.d.mts} +4 -3
  225. package/dist/{TableControls-BxuPCUQS.mjs → TableControls-CqW_nyBY.mjs} +286 -78
  226. package/dist/TableControls-CqW_nyBY.mjs.map +1 -0
  227. package/dist/TableControls.d.mts +1 -1
  228. package/dist/{TableControlsContext-Cbh8wear.d.mts → TableControlsContext-Dh1YVmBM.d.mts} +2 -2
  229. package/dist/TableControlsContext.d.mts +1 -1
  230. package/dist/{TableHead-CkL1fEg2.d.mts → TableHead-BCrVa0BY.d.mts} +1 -1
  231. package/dist/TableHead.d.mts +1 -1
  232. package/dist/{TableHeaderCell-K9Ry6YqO.d.mts → TableHeaderCell-CcEkDozs.d.mts} +1 -1
  233. package/dist/TableHeaderCell.d.mts +1 -1
  234. package/dist/{TableLayout-CYRGIFEl.d.mts → TableLayout-Bhj1QBBz.d.mts} +1 -1
  235. package/dist/TableLayout.d.mts +1 -1
  236. package/dist/{TableRow-DMHlo1eg.d.mts → TableRow-Cy1y7b9S.d.mts} +2 -2
  237. package/dist/TableRow.d.mts +1 -1
  238. package/dist/TableTH.d.mts +1 -1
  239. package/dist/{TableViewConfigurationDropdown-BRbOcVNc.d.mts → TableViewConfigurationDropdown-BzygLtGm.d.mts} +2 -2
  240. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  241. package/dist/{TechnicalSticker-_LtE-PRY.mjs → TechnicalSticker-B6T7cHHc.mjs} +2 -2
  242. package/dist/{TechnicalSticker-_LtE-PRY.mjs.map → TechnicalSticker-B6T7cHHc.mjs.map} +1 -1
  243. package/dist/{Text-B69gp3X_.d.mts → Text-BVGJ-Nlw.d.mts} +3 -3
  244. package/dist/Text.d.mts +1 -1
  245. package/dist/{TextArea-Cjsdl07-.d.mts → TextArea-Bzj593VO.d.mts} +2 -2
  246. package/dist/{TextArea-CcxltuBh.mjs → TextArea-C1CmFRiz.mjs} +2 -2
  247. package/dist/{TextArea-CcxltuBh.mjs.map → TextArea-C1CmFRiz.mjs.map} +1 -1
  248. package/dist/TextArea.d.mts +1 -1
  249. package/dist/{TextUnderlineTooltip-DDzKLCeX.d.mts → TextUnderlineTooltip-CgFmtqF_.d.mts} +2 -2
  250. package/dist/TextUnderlineTooltip.d.mts +1 -1
  251. package/dist/Tile.d.mts +1 -1
  252. package/dist/Toast.d.mts +1 -1
  253. package/dist/{Toggle-DWbJOwf3.mjs → Toggle-CntyMUPJ.mjs} +9 -4
  254. package/dist/Toggle-CntyMUPJ.mjs.map +1 -0
  255. package/dist/{Toggle-B5sSdb_q.d.mts → Toggle-bSu1xAaq.d.mts} +1 -1
  256. package/dist/Toggle.d.mts +1 -1
  257. package/dist/{Tooltip-x1pFf-Mj.d.mts → Tooltip-Duw4Fz1t.d.mts} +2 -2
  258. package/dist/Tooltip.d.mts +1 -1
  259. package/dist/{TruncatedText-BE8FuEQm.d.mts → TruncatedText-CbTpX_R1.d.mts} +1 -1
  260. package/dist/VersionHistory.d.mts +23 -0
  261. package/dist/VersionHistoryItem-D05QYej7.d.mts +54 -0
  262. package/dist/VersionHistoryItem.d.mts +2 -0
  263. package/dist/WizardModal.d.mts +3 -3
  264. package/dist/{accordionTitleTypography-BYhjSN9t.d.mts → accordionTitleTypography-Leehcmb3.d.mts} +2 -2
  265. package/dist/accordionTitleTypography.d.mts +1 -1
  266. package/dist/assertNever.d.mts +5 -0
  267. package/dist/chainTypes-D8SGRGba.d.mts +17 -0
  268. package/dist/{codec-BcgsGCHE.d.mts → codec-Vsztf4fe.d.mts} +2 -2
  269. package/dist/codec.d.mts +1 -1
  270. package/dist/{color-LH7zKfKo.d.mts → color-CrlF3pba.d.mts} +9 -4
  271. package/dist/components/Accordion/index.d.mts +1 -1
  272. package/dist/components/Accordion/index.mjs +1 -1
  273. package/dist/components/Attribute/index.mjs +2 -2
  274. package/dist/components/Badge/index.mjs +1 -1
  275. package/dist/components/Banner/index.mjs +1 -1
  276. package/dist/components/BottomPanel/index.mjs +5 -3
  277. package/dist/components/BottomPanel/index.mjs.map +1 -1
  278. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  279. package/dist/components/Breadcrumbs/index.mjs +1 -1
  280. package/dist/components/Button/index.d.mts +2 -2
  281. package/dist/components/Button/index.mjs +1 -1
  282. package/dist/components/ButtonGroup/index.mjs +2 -2
  283. package/dist/components/Card/index.d.mts +2 -2
  284. package/dist/components/CardV2/index.d.mts +1 -1
  285. package/dist/components/CardV2/index.mjs +1 -1
  286. package/dist/components/Checkbox/index.d.mts +1 -1
  287. package/dist/components/Checkbox/index.mjs +1 -1
  288. package/dist/components/CodeHighlight/index.mjs +3 -1
  289. package/dist/components/CodeHighlight/index.mjs.map +1 -1
  290. package/dist/components/Combobox/index.d.mts +2 -2
  291. package/dist/components/Combobox/index.mjs +1 -1
  292. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  293. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  294. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  295. package/dist/components/DataTable/index.mjs +27 -16
  296. package/dist/components/DataTable/index.mjs.map +1 -1
  297. package/dist/components/DataTable/types.d.mts +2 -2
  298. package/dist/components/DatePicker/index.d.mts +5 -5
  299. package/dist/components/DatePicker/index.mjs +1 -1
  300. package/dist/components/DropdownButton/index.mjs +1 -1
  301. package/dist/components/DropdownMenu/index.d.mts +1 -1
  302. package/dist/components/DropdownMenu/index.mjs +1 -1
  303. package/dist/components/FloatingPanel/index.mjs +10 -7
  304. package/dist/components/FloatingPanel/index.mjs.map +1 -1
  305. package/dist/components/FormControl/index.d.mts +2 -2
  306. package/dist/components/FormControl/index.mjs +2 -2
  307. package/dist/components/FormField/index.d.mts +6 -6
  308. package/dist/components/FormField/index.mjs +1 -1
  309. package/dist/components/Grid/index.mjs +1 -1
  310. package/dist/components/HoverCopyableField/index.mjs +1 -1
  311. package/dist/components/ImageTile/index.mjs +13 -9
  312. package/dist/components/ImageTile/index.mjs.map +1 -1
  313. package/dist/components/Input/index.d.mts +1 -1
  314. package/dist/components/Input/index.mjs +1 -1
  315. package/dist/components/Link/index.mjs +1 -78
  316. package/dist/components/ListBox/index.d.mts +3 -3
  317. package/dist/components/ListBox/index.mjs +1 -1
  318. package/dist/components/LoadingShimmer/index.mjs +1 -1
  319. package/dist/components/MaskedInput/index.mjs +1 -1
  320. package/dist/components/Menu/index.d.mts +1 -1
  321. package/dist/components/Menu/index.mjs +1 -1
  322. package/dist/components/Modal/index.d.mts +1 -1
  323. package/dist/components/Modal/index.mjs +1 -1
  324. package/dist/components/PageHeader/index.mjs +1 -1
  325. package/dist/components/Pagination/index.d.mts +3 -3
  326. package/dist/components/Pagination/index.mjs +1 -1
  327. package/dist/components/Pii/index.mjs +1 -1
  328. package/dist/components/Popover/index.mjs +1 -1
  329. package/dist/components/ProgressBar/index.mjs +1 -2
  330. package/dist/components/ProgressBar/index.mjs.map +1 -1
  331. package/dist/components/ProgressIndicator/index.d.mts +1 -1
  332. package/dist/components/ProgressIndicator/index.mjs +1 -1
  333. package/dist/components/Radio/index.mjs +1 -1
  334. package/dist/components/RadioGroup/index.d.mts +1 -1
  335. package/dist/components/RadioGroup/index.mjs +1 -1
  336. package/dist/components/RightPanel/index.mjs +10 -7
  337. package/dist/components/RightPanel/index.mjs.map +1 -1
  338. package/dist/components/SegmentedControl/index.d.mts +1 -1
  339. package/dist/components/SegmentedControl/index.mjs +1 -1
  340. package/dist/components/Select/index.d.mts +1 -1
  341. package/dist/components/Select/index.mjs +1 -1
  342. package/dist/components/Slider/index.mjs +1 -1
  343. package/dist/components/Slider/index.mjs.map +1 -1
  344. package/dist/components/SmartTextInput/index.d.mts +5 -0
  345. package/dist/components/SmartTextInput/index.mjs +2035 -0
  346. package/dist/components/SmartTextInput/index.mjs.map +1 -0
  347. package/dist/components/SmartTextInput/parser/method-chain/parser.mjs +1 -1
  348. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +2 -105
  349. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs +1 -1
  350. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +3 -72
  351. package/dist/components/Spinner/index.mjs +1 -1
  352. package/dist/components/Stack/index.d.mts +1 -1
  353. package/dist/components/Stack/index.mjs +1 -1
  354. package/dist/components/StatusIndicator/index.mjs +1 -314
  355. package/dist/components/Sticker/index.d.mts +1 -1
  356. package/dist/components/Sticker/index.mjs +1 -1
  357. package/dist/components/TabBar/index.mjs +1 -1
  358. package/dist/components/Table/index.d.mts +8 -8
  359. package/dist/components/Table/index.mjs +1 -1
  360. package/dist/components/TableBox/index.d.mts +2 -2
  361. package/dist/components/TableBox/index.mjs +1 -1
  362. package/dist/components/TechnicalSticker/index.mjs +1 -1
  363. package/dist/components/Text/index.d.mts +1 -1
  364. package/dist/components/TextArea/index.d.mts +1 -1
  365. package/dist/components/TextArea/index.mjs +1 -1
  366. package/dist/components/Tile/index.mjs +2 -2
  367. package/dist/components/Toast/index.mjs +2 -2
  368. package/dist/components/Toast/index.mjs.map +1 -1
  369. package/dist/components/Toggle/index.d.mts +1 -1
  370. package/dist/components/Toggle/index.mjs +1 -1
  371. package/dist/components/Tooltip/index.d.mts +3 -3
  372. package/dist/components/VersionHistory/index.d.mts +3 -0
  373. package/dist/components/VersionHistory/index.mjs +389 -0
  374. package/dist/components/VersionHistory/index.mjs.map +1 -0
  375. package/dist/compound-expression.d.mts +1 -1
  376. package/dist/{constants-BpwnTzcv.d.mts → constants-CQUCM6__.d.mts} +1 -1
  377. package/dist/constants.d.mts +1 -1
  378. package/dist/{createPath-Bst12Uxr.d.mts → createPath-Bq7wYGt_.d.mts} +2 -2
  379. package/dist/createPath.d.mts +1 -1
  380. package/dist/{date-filter-CZeChs9T.mjs → date-filter-D6IfCkwp.mjs} +1 -1
  381. package/dist/{date-filter-CZeChs9T.mjs.map → date-filter-D6IfCkwp.mjs.map} +1 -1
  382. package/dist/{date-range-rule-value-C4ir2Y8W.d.mts → date-range-rule-value-DVhMQP4-.d.mts} +2 -2
  383. package/dist/date-range-rule-value.d.mts +1 -1
  384. package/dist/{date-rule-intent-gKmuxMVA.d.mts → date-rule-intent-BwQ6OTVD.d.mts} +3 -3
  385. package/dist/date-rule-intent.d.mts +1 -1
  386. package/dist/display.d.mts +2 -2
  387. package/dist/fieldPickerOptions.d.mts +2 -2
  388. package/dist/{filter-size-context-BOpH6pBm.d.mts → filter-size-context-BjTzcZwZ.d.mts} +2 -2
  389. package/dist/filter-size-context.d.mts +1 -1
  390. package/dist/format-date-value.d.mts +5 -0
  391. package/dist/helpers.d.mts +1 -1
  392. package/dist/{index-C2-PBfN3.d.mts → index-BFIFjR7Q.d.mts} +2 -2
  393. package/dist/{index-BXdrzR0c.d.mts → index-BhDvrF4l.d.mts} +4 -4
  394. package/dist/{index-c0aXmZV9.d.mts → index-C-xpEL8b.d.mts} +2 -2
  395. package/dist/index-irNqT1qQ2.d.mts +1 -0
  396. package/dist/index.d.mts +1 -1
  397. package/dist/index2.d.mts +1 -1
  398. package/dist/index3.d.mts +3 -3
  399. package/dist/index4.d.mts +1 -1
  400. package/dist/index5.d.mts +14 -14
  401. package/dist/{input-DVJhMlxU.d.mts → input-DpHBIUpP.d.mts} +3 -3
  402. package/dist/inputFields-BVDurw3L.d.mts +71 -0
  403. package/dist/inputFields.d.mts +2 -71
  404. package/dist/{intersperse-Bxcrxj2Q.mjs → intersperse-bvY2gibK.mjs} +1 -1
  405. package/dist/{intersperse-Bxcrxj2Q.mjs.map → intersperse-bvY2gibK.mjs.map} +1 -1
  406. package/dist/{jsonSchema-DmdZYC4a.d.mts → jsonSchema-Bl-qzgrr.d.mts} +34 -2
  407. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  408. package/dist/lib/PDSProvider.d.mts +2 -2
  409. package/dist/lib/TruncatedText.d.mts +1 -1
  410. package/dist/lib/TruncatedText.mjs +1 -1
  411. package/dist/lib/TruncatedText.mjs.map +1 -1
  412. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  413. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  414. package/dist/lib/TruncatedTextWithTooltip.mjs.map +1 -1
  415. package/dist/lib/chainTypes.d.mts +2 -0
  416. package/dist/lib/chainTypes.mjs +0 -0
  417. package/dist/lib/color.d.mts +2 -2
  418. package/dist/lib/color.mjs +18 -11
  419. package/dist/lib/color.mjs.map +1 -1
  420. package/dist/lib/customFunctionSchema.d.mts +49 -0
  421. package/dist/lib/customFunctionSchema.mjs +299 -0
  422. package/dist/lib/customFunctionSchema.mjs.map +1 -0
  423. package/dist/lib/date-filter/index.d.mts +2 -2
  424. package/dist/lib/date-filter/index.mjs +1 -1
  425. package/dist/lib/jsonSchema.d.mts +2 -2
  426. package/dist/lib/jsonSchema.mjs +26 -1
  427. package/dist/lib/jsonSchema.mjs.map +1 -1
  428. package/dist/lib/jsonSchemaType.d.mts +7 -0
  429. package/dist/lib/jsonSchemaType.mjs +31 -0
  430. package/dist/lib/jsonSchemaType.mjs.map +1 -0
  431. package/dist/lib/letPointerDownReachDocument.d.mts +22 -0
  432. package/dist/lib/letPointerDownReachDocument.mjs +25 -0
  433. package/dist/lib/letPointerDownReachDocument.mjs.map +1 -0
  434. package/dist/lib/message.d.mts +1 -1
  435. package/dist/lib/methodChain.d.mts +3 -66
  436. package/dist/lib/methodChain.mjs +1 -238
  437. package/dist/lib/methodChainNormalize.d.mts +2 -2
  438. package/dist/lib/methodChainTypes.d.mts +2 -23
  439. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  440. package/dist/lib/platformObject.d.mts +38 -0
  441. package/dist/lib/platformObject.mjs +79 -0
  442. package/dist/lib/platformObject.mjs.map +1 -0
  443. package/dist/lib/pseudoClass.d.mts +1 -1
  444. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  445. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  446. package/dist/lib/router/index.d.mts +5 -5
  447. package/dist/lib/schemaOptions.d.mts +2 -0
  448. package/dist/lib/schemaOptions.mjs +481 -0
  449. package/dist/lib/schemaOptions.mjs.map +1 -0
  450. package/dist/lib/semanticColor.d.mts +1 -1
  451. package/dist/lib/snakifyPath.d.mts +5 -0
  452. package/dist/lib/snakifyPath.mjs +11 -0
  453. package/dist/lib/snakifyPath.mjs.map +1 -0
  454. package/dist/lib/useChain.d.mts +2 -0
  455. package/dist/lib/useChain.mjs +2 -0
  456. package/dist/listbox-options-BjOkovND.d.mts +38 -0
  457. package/dist/listbox-options.d.mts +2 -0
  458. package/dist/{message-CKSLIKF0.d.mts → message-w_1-kTDE.d.mts} +1 -1
  459. package/dist/methodChain-B5vZEOff.d.mts +66 -0
  460. package/dist/methodChain-L_h8Z8Bx.mjs +241 -0
  461. package/dist/methodChain-L_h8Z8Bx.mjs.map +1 -0
  462. package/dist/methodChainTypes-BVkTI8MX.d.mts +23 -0
  463. package/dist/mixins/focus.d.mts +1 -1
  464. package/dist/mixins/hoverable.d.mts +2 -2
  465. package/dist/mixins/input.d.mts +1 -1
  466. package/dist/mixins/input.mjs +6 -14
  467. package/dist/mixins/input.mjs.map +1 -1
  468. package/dist/mixins/menuItem.d.mts +2 -2
  469. package/dist/mixins/scrollbar.d.mts +10 -0
  470. package/dist/mixins/scrollbar.mjs +31 -0
  471. package/dist/mixins/scrollbar.mjs.map +1 -0
  472. package/dist/mixins/text.d.mts +1 -1
  473. package/dist/{operators-1_jTgYRX.d.mts → operators-BG82-g3M.d.mts} +9 -3
  474. package/dist/operators.d.mts +2 -2
  475. package/dist/{palette-CMOEyNPH.d.mts → palette-C8tyI81D.d.mts} +3 -3
  476. package/dist/palette.d.mts +1 -1
  477. package/dist/{parser-Kxos6siN.mjs → parser-BeTiVjRs.mjs} +3 -2
  478. package/dist/{parser-Kxos6siN.mjs.map → parser-BeTiVjRs.mjs.map} +1 -1
  479. package/dist/patterns/LayoutLoadingShimmer/index.mjs +5 -5
  480. package/dist/patterns/PageLayout/index.mjs +2 -2
  481. package/dist/{components → patterns}/WizardModal/index.mjs +5 -5
  482. package/dist/patterns/WizardModal/index.mjs.map +1 -0
  483. package/dist/reactRouterFallback.d.mts +1 -1
  484. package/dist/relative-date-label.d.mts +1 -1
  485. package/dist/safe-parse.d.mts +23 -0
  486. package/dist/schemaOptions-DGca6x7E.d.mts +173 -0
  487. package/dist/{semantic-BXwNUd4a.d.mts → semantic-D1661f_6.d.mts} +2 -2
  488. package/dist/{semanticColor-Cru2gSys.d.mts → semanticColor-Bg0H3RUL.d.mts} +3 -3
  489. package/dist/{text-CxIup7HJ.d.mts → text-Iw9DKpbZ.d.mts} +1 -1
  490. package/dist/{theme-CW6qlONZ.d.mts → theme-BB1B6Wkz.d.mts} +3 -3
  491. package/dist/theme.d.mts +1 -1
  492. package/dist/time-range.d.mts +7 -0
  493. package/dist/tone.d.mts +3 -3
  494. package/dist/tree.d.mts +9 -0
  495. package/dist/{types-3iEDsymE.d.mts → types-B0ilOIfE.d.mts} +2 -2
  496. package/dist/types-BYRTxB0a.d.mts +72 -0
  497. package/dist/{types-ChkiGhjQ.d.mts → types-CI2bPi02.d.mts} +1 -1
  498. package/dist/types-Cs6CdZCO.d.mts +83 -0
  499. package/dist/{types-B-stjYNc.d.mts → types-D1DijcJv.d.mts} +1 -1
  500. package/dist/{types-YojUycQK.d.mts → types-DZTbvdpO.d.mts} +1 -1
  501. package/dist/{types-g-aqbnek.d.mts → types-DdTu747j.d.mts} +1 -1
  502. package/dist/{types-BEjWTkZV.d.mts → types-Dy3lZv9z.d.mts} +7 -2
  503. package/dist/types-M-rsm1Km.d.mts +105 -0
  504. package/dist/types.d.mts +1 -1
  505. package/dist/types2.d.mts +1 -1
  506. package/dist/types3.d.mts +1 -1
  507. package/dist/types4.d.mts +1 -1
  508. package/dist/types5.d.mts +1 -1
  509. package/dist/types6.d.mts +1 -1
  510. package/dist/types7.d.mts +2 -0
  511. package/dist/{url-state-CHK2N2fA.d.mts → url-state-DWA7UFxS.d.mts} +2 -2
  512. package/dist/url-state.d.mts +1 -1
  513. package/dist/useChain-CEsXE2Bx.d.mts +77 -0
  514. package/dist/useChain-CKqYGdx4.mjs +4589 -0
  515. package/dist/useChain-CKqYGdx4.mjs.map +1 -0
  516. package/dist/useChainAtCursor.d.mts +87 -0
  517. package/dist/useCodeChainFunctionPanel.d.mts +26 -0
  518. package/dist/useComboboxFooterAction.d.mts +1 -1
  519. package/dist/{useFilterStateV2-B26e5iUx.d.mts → useFilterStateV2-DoJ9lyJx.d.mts} +3 -3
  520. package/dist/useFilterStateV2.d.mts +1 -1
  521. package/dist/{useFormField-BzhMbl5P.mjs → useFormField-BAmkdxtA.mjs} +2 -2
  522. package/dist/{useFormField-BzhMbl5P.mjs.map → useFormField-BAmkdxtA.mjs.map} +1 -1
  523. package/dist/{useFormField-DPFClB5h.d.mts → useFormField-BtnAYcHV.d.mts} +2 -2
  524. package/dist/useFormField.d.mts +1 -1
  525. package/dist/{useFormGroup-CH3kiXoa.mjs → useFormGroup-BZayb9fZ.mjs} +1 -1
  526. package/dist/{useFormGroup-CH3kiXoa.mjs.map → useFormGroup-BZayb9fZ.mjs.map} +1 -1
  527. package/dist/{useLocationPathname-CnRd_Rzn.d.mts → useLocationPathname-pLyLOrAi.d.mts} +1 -1
  528. package/dist/useLocationPathname.d.mts +1 -1
  529. package/dist/{useTableBoxDragAndDrop-DWlG5vhl.d.mts → useTableBoxDragAndDrop-wjc_LCpC.d.mts} +1 -1
  530. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  531. package/dist/useTruncation.d.mts +1 -1
  532. package/dist/{utilities-BcGuP8Fd.d.mts → utilities-DL18UdPs.d.mts} +1 -1
  533. package/dist/utilities.d.mts +1 -1
  534. package/dist/utils/storybook.mjs +1 -1
  535. package/dist/utils/testing.d.mts +1 -1
  536. package/dist/utils.d.mts +1 -1
  537. package/dist/utils4.d.mts +111 -0
  538. package/dist/{validation-B-Om4ANo.d.mts → validation-PeVTwtd-.d.mts} +3 -3
  539. package/dist/validation.d.mts +1 -1
  540. package/dist/validation2.d.mts +64 -0
  541. package/dist/{value-control-resolver-BiyhB8zt.d.mts → value-control-resolver-Cx_wXQFv.d.mts} +3 -2
  542. package/dist/value-control-resolver.d.mts +1 -1
  543. package/dist/variables/effect.d.mts +1 -1
  544. package/dist/variables/semantic.d.mts +1 -1
  545. package/dist/variables/semantic.mjs +15 -18
  546. package/dist/variables/semantic.mjs.map +1 -1
  547. package/llms.txt +1 -1
  548. package/package.json +32 -6
  549. package/skills/ui-authoring/COMPONENTS.md +1 -1
  550. package/skills/ui-authoring/PATTERNS.md +1 -0
  551. package/dist/Combobox-C2b9u955.mjs.map +0 -1
  552. package/dist/DatePicker-IgiUI3Wj.mjs.map +0 -1
  553. package/dist/DropdownMenu-CuKSNxc9.mjs.map +0 -1
  554. package/dist/Input-C_3QwAAt.mjs.map +0 -1
  555. package/dist/ListBox-D4j4LCT3.mjs.map +0 -1
  556. package/dist/LoadingShimmer-Dizk2sZu.mjs.map +0 -1
  557. package/dist/Modal-BN0K8QXi.mjs.map +0 -1
  558. package/dist/Pagination-CPd4mSnw.mjs.map +0 -1
  559. package/dist/Popover-opVa9Xhc.mjs.map +0 -1
  560. package/dist/ProgressIndicator-3A4Aqci6.mjs.map +0 -1
  561. package/dist/SegmentedControl-BcwfLuHA.mjs.map +0 -1
  562. package/dist/Select-BstCz8P1.mjs.map +0 -1
  563. package/dist/Sticker-C3Eb13OQ.mjs.map +0 -1
  564. package/dist/Table-B1gRr2XT.mjs.map +0 -1
  565. package/dist/TableBox-DAQ3Plqx.mjs.map +0 -1
  566. package/dist/TableControls-BxuPCUQS.mjs.map +0 -1
  567. package/dist/Toggle-DWbJOwf3.mjs.map +0 -1
  568. package/dist/components/Link/index.mjs.map +0 -1
  569. package/dist/components/StatusIndicator/index.mjs.map +0 -1
  570. package/dist/components/WizardModal/index.mjs.map +0 -1
  571. package/dist/lib/methodChain.mjs.map +0 -1
  572. /package/dist/{index--p6oQT9I.d.mts → index-7in8TPrM.d.mts} +0 -0
  573. /package/dist/{index-BCh-G39Y2.d.mts → index-BCq_fh4A2.d.mts} +0 -0
  574. /package/dist/{index-BO_854F2.d.mts → index-BINnViIh.d.mts} +0 -0
  575. /package/dist/{index-BwFl_eS0.d.mts → index-BjgW3E7y.d.mts} +0 -0
  576. /package/dist/{index-C-lwXyQ6.d.mts → index-BwXb5CoQ.d.mts} +0 -0
  577. /package/dist/{index-C1o2TFfS.d.mts → index-C3usUse7.d.mts} +0 -0
  578. /package/dist/{index-C3kE54DD.d.mts → index-C9achTF6.d.mts} +0 -0
  579. /package/dist/{index-CREkvfw9.d.mts → index-CCKHlTA4.d.mts} +0 -0
  580. /package/dist/{index-CRo77wc3.d.mts → index-CFuHCx9T.d.mts} +0 -0
  581. /package/dist/{index-CfCYi7PF.d.mts → index-CP2eJYlK.d.mts} +0 -0
  582. /package/dist/{index-CoUVmp_Q.d.mts → index-CWB6exYm.d.mts} +0 -0
  583. /package/dist/{index-DCTy4zg0.d.mts → index-CryTAIZM.d.mts} +0 -0
  584. /package/dist/{index-DWIh4oP5.d.mts → index-CuheJfs-.d.mts} +0 -0
  585. /package/dist/{index-De7MV8-j.d.mts → index-D-9tW2r5.d.mts} +0 -0
  586. /package/dist/{index-DgJfEygr.d.mts → index-D9XihFV1.d.mts} +0 -0
  587. /package/dist/{index-Es5nKSSL.d.mts → index-Deol7ZWO.d.mts} +0 -0
  588. /package/dist/{index-Qwqzz3XM.d.mts → index-DjOaHFU3.d.mts} +0 -0
  589. /package/dist/{index-Wc1llEvP.d.mts → index-Iujpc9_6.d.mts} +0 -0
  590. /package/dist/{index-bHnO4ZKt.d.mts → index-e6k85DKM.d.mts} +0 -0
  591. /package/dist/{index-dhjtMp5F.d.mts → index-gpCH5158.d.mts} +0 -0
  592. /package/dist/{components → patterns}/WizardModal/index.d.mts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toggle-DWbJOwf3.mjs","names":[],"sources":["../components/Toggle/Toggle.tsx"],"sourcesContent":["import { forwardRef, type ReactNode, useCallback, useRef } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { Label } from 'design-system/components/Text';\nimport { isDisabled, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { semanticColor, semanticTokens } from 'design-system/lib/semanticColor';\nimport useToggle from 'design-system/lib/useToggle';\nimport { focusOutlineControlled } from 'design-system/mixins/focus';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype ToggleSize = 'md' | 'sm';\n\ninterface SwitchSizes {\n width: number;\n height: number;\n}\n\nconst SWITCH_SIZES: Record<ToggleSize, SwitchSizes> = {\n md: { width: 32, height: 18 },\n sm: { width: 28, height: parseInt(Spacing[4], 10) }, // 16px height from tokens\n};\n\ninterface SliderSizes {\n diameter: number;\n offset: number;\n}\n\nconst SLIDER_SIZES: Record<ToggleSize, SliderSizes> = {\n md: { diameter: 14, offset: 2 },\n sm: { diameter: parseInt(Spacing[3], 10), offset: 2 }, // 12px diameter from tokens\n};\n\nconst Container = styled.div`\n display: inline-flex;\n align-items: center;\n position: relative;\n`;\n\ntype SwitchProps = Pick<ToggleProps, 'disabled'> & {\n checked: boolean;\n focused: boolean;\n size: ToggleSize;\n};\nconst Switch = styled.div<SwitchProps>`\n transition: box-shadow ${TransitionDuration.Fast};\n position: relative;\n display: inline-flex;\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n border-radius: 1000px;\n cursor: pointer;\n &${isDisabled} {\n cursor: not-allowed;\n }\n\n ${focusOutlineControlled}\n\n /* Background */\n &:before {\n position: absolute;\n content: '';\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ theme, checked, disabled }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n if (disabled) {\n return checked ? tokens.InputSurfaceAccentDisabled : tokens.InputSurfaceDisabled;\n }\n return checked ? tokens.InputSurfaceAccent : tokens.InputBorderStrong;\n }\n if (disabled) {\n return checked ? Color.BackgroundInputActiveDisabled : Color.BackgroundInputDisabled;\n }\n return checked ? Color.BackgroundInputActive : Color.BackgroundInputToggle;\n }};\n\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n }\n\n &${isHovered}${isNotDisabled}:before {\n background-color: ${({ theme, checked }) =>\n checked\n ? semanticColor(theme, 'InputSurfaceAccentHover', Color.BackgroundInputActiveHover)\n : semanticColor(theme, 'InputBorderHoverStrong', Color.BackgroundInputToggleHover)};\n }\n\n /* Slider thumb */\n &:after {\n position: absolute;\n content: '';\n height: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n width: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n bottom: ${({ size }) => SLIDER_SIZES[size].offset}px;\n background-color: ${({ theme }) => semanticColor(theme, 'InputSurfaceInverseStatic', Color.BackgroundInputDefault)};\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n\n right: ${({ size }) => SLIDER_SIZES[size].offset}px;\n\n ${({ checked, size }) =>\n !checked &&\n css`\n transform: translateX(-${getSlideDistance(size)}px);\n `}\n }\n`;\n\nconst ToggleLabel = styled(Label)<Pick<ToggleProps, 'disabled' | 'size'>>`\n cursor: ${({ disabled }) => (disabled ? 'initial' : 'pointer')};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', Color.TextSecondary)};\n\n padding: 0 ${Spacing[2]};\n white-space: nowrap;\n line-height: ${({ size = 'md' }) => `${SWITCH_SIZES[size].height}px`};\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n color: ${semanticColor(theme, 'FgDisabled', theme.color.text.disabled)};\n `}\n`;\n\nfunction getSlideDistance(size: ToggleSize) {\n const switchSize = SWITCH_SIZES[size];\n const sliderSize = SLIDER_SIZES[size];\n return switchSize.width - sliderSize.diameter - sliderSize.offset * 2;\n}\n\nconst HiddenInput = styled.input`\n height: 0;\n width: 0;\n margin: -1px;\n border: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n position: absolute;\n`;\n\nexport interface ToggleProps {\n className?: string;\n /** Disables interaction and renders the toggle in a muted style. */\n disabled?: boolean;\n /** Marks the switch as required (sets aria-required). */\n required?: boolean;\n /**\n * Tooltip / title shown on the root element when the toggle is off.\n * @defaultValue 'Off'\n */\n titleOff?: string;\n /**\n * Tooltip / title shown on the root element when the toggle is on.\n * @defaultValue 'On'\n */\n titleOn?: string;\n /**\n * Called with the new boolean value when the user clicks the toggle.\n * The component is fully controlled — you must update `value` in response.\n */\n onChange?: (value: boolean) => void;\n /**\n * Current on/off state. Falsy values (`false`, `null`, `undefined`, `''`)\n * are treated as off; `true` is treated as on.\n */\n value: boolean | null | undefined | '';\n /** `id` forwarded to the visible switch element. */\n id?: string;\n /** Label node rendered to the left of the switch when the toggle is on. */\n labelOn?: ReactNode;\n /**\n * Label node rendered to the left of the switch when the toggle is off.\n * Falls back to `labelOn` when not provided.\n */\n labelOff?: ReactNode;\n 'data-test'?: string;\n /**\n * Accessible label for the hidden `<input role=\"switch\">`.\n * Required when no visible label is provided via `labelOn` / `labelOff`.\n */\n 'aria-label'?: string;\n /**\n * Size of the toggle switch.\n * @defaultValue 'md'\n */\n size?: ToggleSize;\n}\n\nexport const Toggle = forwardRef<HTMLDivElement, ToggleProps>(function Toggle(\n {\n className,\n disabled,\n required,\n titleOff = 'Off',\n titleOn = 'On',\n onChange = () => undefined,\n value,\n id,\n labelOn,\n labelOff,\n 'data-test': dataTest,\n 'aria-label': ariaLabel,\n size = 'md',\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const generatedId = useId();\n const label = value ? labelOn : labelOff || labelOn;\n\n const [focused, { enable: setFocus, disable: clearFocus }] = useToggle();\n\n const handleChange = useCallback(() => {\n onChange(!value);\n inputRef.current?.focus();\n }, [onChange, value]);\n\n const inputRef = useRef<HTMLInputElement>();\n\n return (\n <Container\n className={className}\n data-test={dataTest}\n title={value ? titleOn : titleOff}\n ref={ref}\n >\n {label != null && (\n <ToggleLabel htmlFor={generatedId} disabled={field.disabled} size={size}>\n {label}\n </ToggleLabel>\n )}\n <Switch\n id={id}\n checked={!!value}\n disabled={field.disabled}\n focused={focused}\n onClick={field.disabled ? undefined : handleChange}\n size={size}\n />\n <HiddenInput\n id={generatedId}\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n ref={inputRef}\n data-test-toggle-status={value ? 'on' : 'off'}\n disabled={field.disabled}\n type='checkbox'\n checked={!!value}\n readOnly={true}\n onChange={disabled ? undefined : handleChange}\n onFocus={setFocus}\n onBlur={clearFocus}\n aria-checked={!!value}\n role='switch'\n aria-readonly={field.disabled}\n aria-required={required || undefined}\n {...(label\n ? { 'aria-labelledby': generatedId }\n : { 'aria-label': ariaLabel ?? (value ? 'Toggle on' : 'Toggle off') })}\n />\n </Container>\n );\n});\n\nexport default Toggle;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Link/Link.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { LinkExternalIcon } from '@persona/icons';\nimport { RouterLink, type RouterLinkComponentProps } from 'design-system/lib/router';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { focusOutline } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype Target = '_blank' | '_self' | '_parent' | '_top';\n\ninterface BaseLinkProps {\n /**\n * The content to display inside the link.\n *\n */\n children?: ReactNode;\n /**\n * Provides an accessible name for the link when the visible text alone\n * isn't descriptive enough for screen reader users\n */\n 'aria-label'?: string;\n}\n\ninterface ExternalLinkProps extends BaseLinkProps, AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * The URL to navigate to. Can be internal (e.g., \"/settings\") or external (e.g., \"https://example.com\").\n */\n url: string;\n\n /**\n * Where to open the link. Use \"_blank\" for external links to open in a new tab.\n */\n target?: Target;\n}\n\ninterface InternalLinkProps\n extends BaseLinkProps, Omit<RouterLinkComponentProps, 'to' | 'children'> {\n /**\n * The URL to navigate to. Should be an internal route (e.g., \"/settings\").\n */\n url: string;\n}\n\nexport type LinkProps = ExternalLinkProps | InternalLinkProps;\n\nconst IconContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n /* Uses padding here since we can't define flex on the element for multiline support */\n padding-left: 2px;\n /* Needed to reset the height of the container for SVG */\n line-height: 0;\n position: relative;\n /* Optical alignment adjustments */\n bottom: 1px;\n`;\n\nconst baseLinkStyles = css`\n ${paragraphMixins.md};\n color: ${({ theme }) => semanticColor(theme, 'FgAccent', Color.CorePurple600)};\n width: fit-content;\n position: relative;\n overflow: hidden;\n text-decoration: underline;\n\n transition:\n color ${TransitionDuration.ExtraFast} ease-out,\n text-underline-offset ${TransitionDuration.ExtraFast} ease-out;\n text-underline-offset: 2px;\n\n &:hover {\n color: ${({ theme }) => semanticColor(theme, 'FgAccentHover', Color.CorePurple800)};\n text-underline-offset: ${Spacing[1]};\n }\n\n border-radius: ${({ theme }) => theme.button.borderRadius};\n ${focusOutline}\n\n &:active {\n color: ${({ theme }) => semanticColor(theme, 'FgAccentActive', Color.CorePurple900)};\n }\n`;\n\nconst StyledAnchor = styled.a`\n ${baseLinkStyles}\n`;\n\nconst StyledRouterLink = styled(RouterLink)`\n ${baseLinkStyles}\n`;\n\nexport const Link = ({ children, url, ...props }: LinkProps) => {\n // Check if the URL is external by looking at the protocol or if target is _blank\n const isAbsoluteUrl = /^https?:\\/\\//.test(url);\n const hasBlankTarget = props.target === '_blank';\n const isExternal = isAbsoluteUrl || hasBlankTarget;\n\n if (isExternal) {\n const { 'aria-label': ariaLabel, ...anchorProps } = props;\n const externalProps = {\n href: url,\n target: '_blank',\n rel: 'noopener noreferrer',\n 'aria-label': ariaLabel,\n // Automatically inform screen readers that link opens in new window\n title: ariaLabel ? undefined : 'Opens in new window',\n ...anchorProps,\n };\n\n return (\n <StyledAnchor {...externalProps}>\n {children}\n <IconContainer>\n <LinkExternalIcon size={12} />\n </IconContainer>\n </StyledAnchor>\n );\n }\n\n const { 'aria-label': ariaLabel, ...routerProps } = props;\n const internalProps = {\n to: url,\n 'aria-label': ariaLabel,\n\n ...routerProps,\n };\n\n return <StyledRouterLink {...internalProps}>{children}</StyledRouterLink>;\n};\n\nexport default Link;\n"],"mappings":";;;;;;;;;;AAgDA,MAAM,gBAAgB,OAAO,IAAI;;;;;;;;;;;AAYjC,MAAM,iBAAiB,GAAG;IACtB,gBAAgB,GAAG;YACX,EAAE,YAAY,cAAc,OAAO,YAAY,MAAM,cAAc,CAAC;;;;;;;oBAOvC;oCACgB;;;;cAI3C,EAAE,YAAY,cAAc,OAAO,iBAAiB,MAAM,cAAc,CAAC;6BAC1D,QAAQ,GAAG;;;oBAGpB,EAAE,YAAY,MAAM,OAAO,aAAa;IACxD,aAAa;;;cAGH,EAAE,YAAY,cAAc,OAAO,kBAAkB,MAAM,cAAc,CAAC;;;AAIxF,MAAM,eAAe,OAAO,CAAC;IACzB,eAAe;;AAGnB,MAAM,mBAAmB,OAAO,WAAW;IACvC,eAAe;;AAGnB,MAAa,QAAQ,EAAE,UAAU,KAAK,GAAG,YAAuB;CAE9D,MAAM,gBAAgB,eAAe,KAAK,IAAI;CAC9C,MAAM,iBAAiB,MAAM,WAAW;AAGxC,KAFmB,iBAAiB,gBAEpB;EACd,MAAM,EAAE,cAAc,WAAW,GAAG,gBAAgB;AAWpD,SACE,qBAAC,cAAD;GAVA,MAAM;GACN,QAAQ;GACR,KAAK;GACL,cAAc;GAEd,OAAO,YAAY,KAAA,IAAY;GAC/B,GAAG;aAIH,CACG,UACD,oBAAC,eAAD,EAAA,UACE,oBAAC,kBAAD,EAAkB,MAAM,IAAM,CAAA,EAChB,CAAA,CACH;;;CAInB,MAAM,EAAE,cAAc,WAAW,GAAG,gBAAgB;AAQpD,QAAO,oBAAC,kBAAD;EANL,IAAI;EACJ,cAAc;EAEd,GAAG;EAGwC;EAA4B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/StatusIndicator/StatusIndicator.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing } from '@persona/design-tokens';\nimport {\n CircleCheckFillIcon,\n CircleFillIcon,\n CircleHalfIcon,\n CircleNullIcon,\n CircleSlashIcon,\n WarningFillIcon,\n} from '@persona/icons/12px';\nimport { withAlpha } from 'design-system/lib/color';\nimport { type MaybeSemanticTheme, semanticTokens } from 'design-system/lib/semanticColor';\nimport { TruncatedText } from 'design-system/lib/TruncatedText';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport type { SemanticTokens } from 'design-system/variables/semantic';\n\nexport type StatusType =\n | 'neutral'\n | 'attention'\n | 'warning'\n | 'critical'\n | 'success'\n | 'feature'\n | 'informational'\n | 'miscellaneous';\nexport type BackgroundType = 'filled' | 'none';\n\n/**\n * Narrow set of status presets — one value per type+icon combination.\n * Override color with `type` or icon with `leadingIcon` when needed.\n */\nexport type Status =\n | 'open'\n | 'pending'\n | 'completed'\n | 'active'\n | 'failed'\n | 'needs_review'\n | 'canceled'\n | 'archived';\n\nconst STATUS_CONFIG: Record<Status, { type: StatusType; icon: ReactNode }> = {\n open: { type: 'neutral', icon: <CircleNullIcon /> },\n pending: { type: 'neutral', icon: <CircleHalfIcon /> },\n completed: { type: 'success', icon: <CircleFillIcon /> },\n active: { type: 'success', icon: <CircleCheckFillIcon /> },\n failed: { type: 'critical', icon: <CircleSlashIcon /> },\n needs_review: { type: 'warning', icon: <WarningFillIcon /> },\n canceled: { type: 'attention', icon: <CircleSlashIcon /> },\n archived: { type: 'informational', icon: <CircleSlashIcon /> },\n};\n\n/** All supported `status` preset keys, derived from the config map. */\nexport const STATUSES = Object.keys(STATUS_CONFIG) as Status[];\n\nexport interface StatusIndicatorProps extends ComponentPropsWithoutRef<'div'> {\n /**\n * Preset that sets a default semantic type and icon.\n * Explicit `type` and `leadingIcon` override the preset.\n */\n status?: Status;\n\n /**\n * The semantic status type to display. Overrides `status` when both are set.\n */\n type?: StatusType;\n\n /**\n * Whether to show filled background or transparent\n */\n background?: BackgroundType;\n\n /**\n * Whether to show the icon. When false, displays label-only variant\n * @default true\n */\n showIcon?: boolean;\n\n /**\n * Optional custom icon to replace the default icon indicator (12px recommended)\n * - undefined (default): Uses `status` icon when set, otherwise CircleNullIcon\n * - null: Hides the icon completely\n * - ReactNode: Shows the provided custom icon\n * Note: showIcon must be true for this to take effect\n */\n leadingIcon?: ReactNode | null;\n\n /**\n * Truncate the label with an ellipsis instead of letting it overflow its container. Adds a\n * title tooltip with the full text when it doesn't fit.\n * @default false\n */\n truncate?: boolean;\n\n /**\n * Render the label exactly as given instead of capitalizing each word. Use for labels that are\n * authored outside the product, where the casing is not ours to change.\n * @default false\n */\n preserveCase?: boolean;\n\n /**\n * The text label to display\n */\n children?: ReactNode;\n}\n\ninterface StatusColors {\n background: string;\n text: string;\n icon: string;\n}\n\nconst FILLED_STATUS_COLORS: Record<StatusType, StatusColors> = {\n neutral: {\n background: Color.BackgroundStatusIndicatorDefault,\n text: Color.TextStatusIndicatorDefault,\n icon: Color.BorderIconLabelGrey,\n },\n attention: {\n background: Color.BackgroundStatusIndicatorAttention,\n text: Color.TextStatusIndicatorAttention,\n icon: Color.BorderIconLabelYellow,\n },\n warning: {\n background: Color.BackgroundStatusIndicatorWarning,\n text: Color.TextStatusIndicatorWarning,\n icon: Color.BorderIconLabelOrange,\n },\n critical: {\n background: Color.BackgroundStatusIndicatorCritical,\n text: Color.TextStatusIndicatorCritical,\n icon: Color.BorderIconLabelRed,\n },\n success: {\n background: Color.BackgroundStatusIndicatorSuccess,\n text: Color.TextStatusIndicatorSuccess,\n icon: Color.BorderIconLabelGreen,\n },\n feature: {\n background: Color.BackgroundStatusIndicatorFeature,\n text: Color.TextStatusIndicatorFeature,\n icon: Color.BorderIconLabelPurple,\n },\n informational: {\n background: Color.BackgroundStatusIndicatorInformational,\n text: Color.TextStatusIndicatorInformational,\n icon: Color.BorderIconLabelBlue,\n },\n miscellaneous: {\n background: Color.BackgroundStatusIndicatorMiscellaneous,\n text: Color.TextStatusIndicatorMiscellaneous,\n icon: Color.BorderIconLabelTeal,\n },\n};\n\nconst TRANSPARENT_STATUS_COLORS: Record<StatusType, StatusColors> = {\n neutral: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconSecondary,\n },\n attention: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconWarning,\n },\n warning: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconWarning,\n },\n critical: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconDanger,\n },\n success: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconSuccess,\n },\n feature: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconActive,\n },\n informational: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconLabelBlue,\n },\n miscellaneous: {\n background: 'transparent',\n text: Color.TextPrimary,\n icon: Color.BorderIconLabelTeal,\n },\n};\n\nconst semanticFilledStatusColors = (t: SemanticTokens): Record<StatusType, StatusColors> => ({\n neutral: { background: t.StatusNeutral, text: t.FgPrimary, icon: t.FgPrimary },\n attention: {\n background: withAlpha(t.StatusHighlight, t.Opacity15),\n text: t.FgHighlight,\n icon: t.FgHighlight,\n },\n warning: {\n background: withAlpha(t.StatusWarning, t.Opacity15),\n text: t.FgWarning2,\n icon: t.FgWarning2,\n },\n critical: {\n background: withAlpha(t.StatusDanger3, t.Opacity15),\n text: t.FgDanger2,\n icon: t.FgDanger2,\n },\n success: {\n background: withAlpha(t.StatusSuccess2, t.Opacity15),\n text: t.FgSuccess,\n icon: t.FgSuccess,\n },\n feature: {\n background: withAlpha(t.StatusFeature, t.Opacity25),\n text: t.FgFeature,\n icon: t.FgFeature,\n },\n informational: {\n background: withAlpha(t.StatusInfo2, t.Opacity25),\n text: t.FgInfo,\n icon: t.FgInfo,\n },\n miscellaneous: {\n background: withAlpha(t.StatusMisc, t.Opacity15),\n text: t.FgMisc,\n icon: t.FgMisc,\n },\n});\n\nconst semanticTransparentStatusColors = (t: SemanticTokens): Record<StatusType, StatusColors> => ({\n neutral: { background: 'transparent', text: t.FgPrimary, icon: t.FgSecondary },\n // Transparent attention intentionally shares warning orange; yellow is reserved for filled attention.\n attention: { background: 'transparent', text: t.FgPrimary, icon: t.FgWarning1 },\n warning: { background: 'transparent', text: t.FgPrimary, icon: t.FgWarning1 },\n critical: { background: 'transparent', text: t.FgPrimary, icon: t.FgDanger1 },\n success: { background: 'transparent', text: t.FgPrimary, icon: t.FgSuccess },\n feature: { background: 'transparent', text: t.FgPrimary, icon: t.FgAccent },\n informational: { background: 'transparent', text: t.FgPrimary, icon: t.FgInfo },\n miscellaneous: { background: 'transparent', text: t.FgPrimary, icon: t.FgMisc },\n});\n\nconst semanticStatusColorCache = new WeakMap<\n SemanticTokens,\n Record<BackgroundType, Record<StatusType, StatusColors>>\n>();\n\nconst semanticStatusColors = (tokens: SemanticTokens) => {\n let colors = semanticStatusColorCache.get(tokens);\n if (!colors) {\n colors = {\n filled: semanticFilledStatusColors(tokens),\n none: semanticTransparentStatusColors(tokens),\n };\n semanticStatusColorCache.set(tokens, colors);\n }\n return colors;\n};\n\nconst statusColors = (theme: MaybeSemanticTheme, background: BackgroundType) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n return semanticStatusColors(tokens)[background];\n }\n return background === 'filled' ? FILLED_STATUS_COLORS : TRANSPARENT_STATUS_COLORS;\n};\n\nconst Label = styled.div<{\n $type: StatusType;\n $background: BackgroundType;\n $truncate: boolean;\n $preserveCase: boolean;\n}>`\n ${paragraphMixins.sm}\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex-shrink: ${({ $truncate }) => ($truncate ? 1 : 0)};\n min-width: ${({ $truncate }) => ($truncate ? '0' : 'auto')};\n /* Line box hugs the font so pill height is driven by padding alone, and clipping an overflowing\n label can't cut into descenders. Matches Sticker. */\n line-height: 1;\n white-space: nowrap;\n text-transform: ${({ $preserveCase }) => ($preserveCase ? 'none' : 'capitalize')};\n /* Slight optical centering adjustment */\n transform: translateY(0.5px);\n color: ${({ theme, $type, $background }) => statusColors(theme, $background)[$type].text};\n`;\n\nconst IconContainer = styled.span<{ $type: StatusType; $background: BackgroundType }>`\n line-height: 0;\n color: ${({ theme, $type, $background }) => statusColors(theme, $background)[$type].icon};\n`;\n\nconst LabelContainer = styled.div<{ $hasIcon: boolean; $truncate: boolean }>`\n display: flex;\n align-items: center;\n gap: ${Spacing[1]};\n padding: ${({ $hasIcon }) =>\n `${Spacing[1]} ${Spacing[2]} ${Spacing[1]} ${$hasIcon ? Spacing[1] : Spacing[2]}`};\n position: relative;\n flex-shrink: ${({ $truncate }) => ($truncate ? 1 : 0)};\n min-width: ${({ $truncate }) => ($truncate ? '0' : 'auto')};\n`;\n\nconst StyledStatusIndicator = styled.div<{\n $type: StatusType;\n $background: BackgroundType;\n $truncate: boolean;\n}>`\n display: inline-flex;\n align-items: center;\n border-radius: ${BorderRadius.Xl};\n width: fit-content;\n max-width: ${({ $truncate }) => ($truncate ? '100%' : 'none')};\n\n ${({ theme, $type, $background }) => css`\n background-color: ${statusColors(theme, $background)[$type].background};\n `}\n`;\n\n/**\n * StatusIndicator displays semantic status information with a colored icon and label.\n * Supports both filled backgrounds and transparent styles.\n *\n * @example\n * ```tsx\n * <StatusIndicator status=\"active\">Active</StatusIndicator>\n * <StatusIndicator type=\"success\" background=\"filled\">Approved</StatusIndicator>\n * <StatusIndicator type=\"critical\" background=\"none\">Failed</StatusIndicator>\n * ```\n */\nexport const StatusIndicator = ({\n status,\n type,\n background = 'filled',\n showIcon = true,\n leadingIcon,\n truncate = false,\n preserveCase = false,\n children,\n ...props\n}: StatusIndicatorProps) => {\n const resolvedType = type ?? (status != null ? STATUS_CONFIG[status].type : 'neutral');\n\n // Determine which icon to show:\n // - showIcon=false with background='filled': label-only variant (no icon)\n // - leadingIcon set (including null): explicit override\n // - status set: use preset icon\n // - otherwise: default CircleNullIcon\n // - background='none' always shows icon (showIcon is ignored for none background)\n let iconToRender;\n if (!showIcon && background === 'filled') {\n iconToRender = null;\n } else if (typeof leadingIcon !== 'undefined') {\n iconToRender = leadingIcon;\n } else if (status != null) {\n iconToRender = STATUS_CONFIG[status].icon;\n } else {\n iconToRender = <CircleNullIcon />;\n }\n const hasIcon = iconToRender != null;\n\n return (\n <StyledStatusIndicator\n $type={resolvedType}\n $background={background}\n $truncate={truncate}\n {...props}\n >\n <LabelContainer $hasIcon={hasIcon} $truncate={truncate}>\n {hasIcon && (\n <IconContainer $type={resolvedType} $background={background}>\n {iconToRender}\n </IconContainer>\n )}\n <Label\n $type={resolvedType}\n $background={background}\n $truncate={truncate}\n $preserveCase={preserveCase}\n >\n {truncate ? <TruncatedText>{children}</TruncatedText> : children}\n </Label>\n </LabelContainer>\n </StyledStatusIndicator>\n );\n};\n\nexport default StatusIndicator;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":["Modal"],"sources":["../../../components/WizardModal/WizardModal.tsx"],"sourcesContent":["import { type ComponentProps, type ReactNode, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Button from '@persona/design-system/components/Button';\nimport Modal, { type ModalRenderProps } from '@persona/design-system/components/Modal';\nimport ProgressIndicator, {\n type ProgressIndicatorStep,\n type StepStatus,\n} from '@persona/design-system/components/ProgressIndicator';\nimport { HStack } from '@persona/design-system/components/Stack';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { semanticColor } from 'design-system/lib/semanticColor';\n\ntype ModalChromeProps = Pick<\n ComponentProps<typeof Modal>,\n | 'title'\n | 'open'\n | 'defaultOpen'\n | 'onOpenChange'\n | 'size'\n | 'trigger'\n | 'isDismissable'\n | 'isKeyboardDismissDisabled'\n>;\n\nexport type WizardProceedResult = 'valid' | Extract<StepStatus, 'warning' | 'error'>;\n\nexport const statusFromProceed = (result: WizardProceedResult): StepStatus =>\n result === 'valid' ? 'completed' : result;\n\nexport type WizardModalSteps = [\n ProgressIndicatorStep,\n ProgressIndicatorStep,\n ...ProgressIndicatorStep[],\n];\n\nexport interface WizardModalProps extends ModalChromeProps {\n steps: WizardModalSteps;\n activeStepId: string;\n onActiveStepChange: (stepId: string) => void;\n onProceed?: () => WizardProceedResult;\n onComplete: () => void | Promise<void>;\n confirmLabel?: string;\n layout?: 'vertical' | 'horizontal';\n children: ReactNode | ((props: ModalRenderProps) => ReactNode);\n}\n\nconst VERTICAL_STEPPER_RAIL_WIDTH = '240px';\n\nconst BodyShell = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n height: 100%;\n overflow: hidden;\n`;\n\nconst VerticalBody = styled(HStack)`\n flex: 1;\n min-height: 0;\n align-items: stretch;\n width: 100%;\n`;\n\nconst VerticalRail = styled.div`\n flex: 0 0 ${VERTICAL_STEPPER_RAIL_WIDTH};\n width: ${VERTICAL_STEPPER_RAIL_WIDTH};\n padding: ${Spacing[4]};\n overflow-y: auto;\n border-right: 1px solid\n ${({ theme }) => semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n`;\n\nconst HorizontalProgress = styled.div`\n flex: 0 0 auto;\n padding: ${Spacing[4]} ${Spacing[4]} 0;\n`;\n\nconst StepBody = styled.div`\n flex: 1;\n min-width: 0;\n min-height: 0;\n overflow-y: auto;\n padding: ${Spacing[5]} ${Spacing[4]};\n`;\n\nexport const WizardModal = ({\n steps,\n activeStepId,\n onActiveStepChange,\n onProceed,\n onComplete,\n confirmLabel = 'Confirm',\n layout = 'vertical',\n children,\n title,\n open,\n defaultOpen,\n onOpenChange,\n size = 'lg',\n trigger,\n isDismissable,\n isKeyboardDismissDisabled,\n}: WizardModalProps) => {\n const [isSubmitting, setIsSubmitting] = useState(false);\n const foundIndex = steps.findIndex((step) => step.id === activeStepId);\n const activeIndex = foundIndex === -1 ? 0 : foundIndex;\n const activeId = steps[activeIndex]?.id;\n const previousStepId = activeIndex > 0 ? steps[activeIndex - 1]?.id : undefined;\n const nextStepId = activeIndex < steps.length - 1 ? steps[activeIndex + 1]?.id : undefined;\n\n const handlePrimary = () => {\n if (steps.length < 2) {\n return;\n }\n const result = onProceed?.() ?? 'valid';\n if (result === 'error') {\n return;\n }\n if (nextStepId) {\n onActiveStepChange(nextStepId);\n return;\n }\n setIsSubmitting(true);\n return Promise.resolve()\n .then(() => onComplete())\n .catch(() => undefined)\n .finally(() => setIsSubmitting(false));\n };\n\n const progress = (\n <ProgressIndicator\n steps={steps}\n activeStepId={activeId}\n layout={layout}\n onStepClick={isSubmitting ? undefined : onActiveStepChange}\n />\n );\n\n const renderBody = (renderProps: ModalRenderProps) => {\n const stepBody = (\n <StepBody>{typeof children === 'function' ? children(renderProps) : children}</StepBody>\n );\n\n return (\n <BodyShell>\n {layout === 'horizontal' ? (\n <>\n <HorizontalProgress>{progress}</HorizontalProgress>\n {stepBody}\n </>\n ) : (\n <VerticalBody spacing={Spacing[0]}>\n <VerticalRail>{progress}</VerticalRail>\n {stepBody}\n </VerticalBody>\n )}\n </BodyShell>\n );\n };\n\n return (\n <Modal\n title={title}\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n size={size}\n trigger={trigger}\n isDismissable={isSubmitting ? false : isDismissable}\n isKeyboardDismissDisabled={isSubmitting || isKeyboardDismissDisabled}\n contentProps={isSubmitting ? { showCloseButton: false } : undefined}\n noBodyPadding\n footer={\n <>\n <Button\n width='auto'\n variant='basic'\n disabled={!previousStepId || isSubmitting}\n onClick={() => previousStepId && onActiveStepChange(previousStepId)}\n >\n Previous\n </Button>\n <Button width='auto' variant='primary' isPending={isSubmitting} onClick={handlePrimary}>\n {nextStepId ? 'Next' : confirmLabel}\n </Button>\n </>\n }\n >\n {renderBody}\n </Modal>\n );\n};\n\nexport default WizardModal;\n"],"mappings":";;;;;;;;;;AA2BA,MAAa,qBAAqB,WAChC,WAAW,UAAU,cAAc;AAmBrC,MAAM,8BAA8B;AAEpC,MAAM,YAAY,OAAO,GAAG;;;;;;;;AAS5B,MAAM,eAAe,OAAO,OAAO;;;;;;AAOnC,MAAM,eAAe,OAAO,GAAG;cACjB,4BAA4B;WAC/B,4BAA4B;aAC1B,QAAQ,GAAG;;;OAGjB,EAAE,YAAY,cAAc,OAAO,gBAAgB,MAAM,cAAc,CAAC;;AAG/E,MAAM,qBAAqB,OAAO,GAAG;;aAExB,QAAQ,GAAG,GAAG,QAAQ,GAAG;;AAGtC,MAAM,WAAW,OAAO,GAAG;;;;;aAKd,QAAQ,GAAG,GAAG,QAAQ,GAAG;;AAGtC,MAAa,eAAe,EAC1B,OACA,cACA,oBACA,WACA,YACA,eAAe,WACf,SAAS,YACT,UACA,OACA,MACA,aACA,cACA,OAAO,MACP,SACA,eACA,gCACsB;CACtB,MAAM,CAAC,cAAc,mBAAmB,SAAS,MAAM;CACvD,MAAM,aAAa,MAAM,WAAW,SAAS,KAAK,OAAO,aAAa;CACtE,MAAM,cAAc,eAAe,KAAK,IAAI;CAC5C,MAAM,WAAW,MAAM,cAAc;CACrC,MAAM,iBAAiB,cAAc,IAAI,MAAM,cAAc,IAAI,KAAK,KAAA;CACtE,MAAM,aAAa,cAAc,MAAM,SAAS,IAAI,MAAM,cAAc,IAAI,KAAK,KAAA;CAEjF,MAAM,sBAAsB;AAC1B,MAAI,MAAM,SAAS,EACjB;AAGF,OADe,aAAa,IAAI,aACjB,QACb;AAEF,MAAI,YAAY;AACd,sBAAmB,WAAW;AAC9B;;AAEF,kBAAgB,KAAK;AACrB,SAAO,QAAQ,SAAS,CACrB,WAAW,YAAY,CAAC,CACxB,YAAY,KAAA,EAAU,CACtB,cAAc,gBAAgB,MAAM,CAAC;;CAG1C,MAAM,WACJ,oBAAC,mBAAD;EACS;EACP,cAAc;EACN;EACR,aAAa,eAAe,KAAA,IAAY;EACxC,CAAA;CAGJ,MAAM,cAAc,gBAAkC;EACpD,MAAM,WACJ,oBAAC,UAAD,EAAA,UAAW,OAAO,aAAa,aAAa,SAAS,YAAY,GAAG,UAAoB,CAAA;AAG1F,SACE,oBAAC,WAAD,EAAA,UACG,WAAW,eACV,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,oBAAD,EAAA,UAAqB,UAA8B,CAAA,EAClD,SACA,EAAA,CAAA,GAEH,qBAAC,cAAD;GAAc,SAAS,QAAQ;aAA/B,CACE,oBAAC,cAAD,EAAA,UAAe,UAAwB,CAAA,EACtC,SACY;MAEP,CAAA;;AAIhB,QACE,oBAACA,eAAD;EACS;EACD;EACO;EACC;EACR;EACG;EACT,eAAe,eAAe,QAAQ;EACtC,2BAA2B,gBAAgB;EAC3C,cAAc,eAAe,EAAE,iBAAiB,OAAO,GAAG,KAAA;EAC1D,eAAA;EACA,QACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,QAAD;GACE,OAAM;GACN,SAAQ;GACR,UAAU,CAAC,kBAAkB;GAC7B,eAAe,kBAAkB,mBAAmB,eAAe;aACpE;GAEQ,CAAA,EACT,oBAAC,QAAD;GAAQ,OAAM;GAAO,SAAQ;GAAU,WAAW;GAAc,SAAS;aACtE,aAAa,SAAS;GAChB,CAAA,CACR,EAAA,CAAA;YAGJ;EACK,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"methodChain.mjs","names":["updatedParse","UpdatedSyntaxError"],"sources":["../../lib/methodChain.ts"],"sourcesContent":["import { last } from 'lodash-es';\n\nimport {\n parse as updatedParse,\n SyntaxError as UpdatedSyntaxError,\n} from '@persona/design-system/components/SmartTextInput/parser/method-chain/parser';\nimport { ASTNodeType } from '@persona/design-system/components/SmartTextInput/parser/method-chain/types';\n\nimport { reportError } from './errorReporter';\nimport { type JsonSchema, JsonSchemaTypes } from './jsonSchema';\nimport { normalizeChain } from './methodChainNormalize';\nimport type {\n Chain,\n FunctionNode,\n CustomFunctionNode,\n IdentifierNode,\n StringNode,\n NumberNode,\n ArrayNode,\n FunctionParamType,\n MethodChainNode,\n} from './methodChainTypes';\n\n// @ts-expect-error Returns never so the compiler checks exhaustiveness, but doesn't throw so a malformed\n// chain degrades instead of breaking render.\nfunction assertNever(value: never): never {\n const dump = typeof value === 'object' ? JSON.stringify(value) : value;\n reportError(new TypeError(`assertNever non-exhaustive match: ${dump}`));\n}\n\n// Re-export types for backward compatibility\nexport {\n Chain,\n FunctionNode,\n CustomFunctionNode,\n IdentifierNode,\n StringNode,\n NumberNode,\n ArrayNode,\n FunctionParamType,\n MethodChainNode,\n};\n\nexport const methodChainCache: { [key: string]: Chain } = {};\n\nexport const MethodChainNodeTypes = {\n Chain: ASTNodeType.Chain,\n String: ASTNodeType.String,\n Number: ASTNodeType.Number,\n Identifier: ASTNodeType.Identifier,\n Function: ASTNodeType.Function,\n CustomFunction: ASTNodeType.CustomFunction,\n Array: ASTNodeType.Array,\n} as const;\n\nexport const EMPTY_METHOD_CHAIN: Chain = {\n type: MethodChainNodeTypes.Chain,\n links: [],\n};\n\ntype MethodChainLiteral = string | number | (string | number)[];\n\nexport const isFunctionNode = (node: MethodChainNode): node is FunctionNode =>\n node.type === MethodChainNodeTypes.Function;\n\nexport const isCustomFunctionNode = (node: MethodChainNode): node is CustomFunctionNode =>\n node.type === MethodChainNodeTypes.CustomFunction;\n\nexport const isIdentifierNode = (node: MethodChainNode): node is IdentifierNode =>\n node.type === MethodChainNodeTypes.Identifier;\n\nexport const isStringNode = (node: FunctionParamType): node is StringNode =>\n node.type === MethodChainNodeTypes.String;\n\nexport const isArrayNode = (node: FunctionParamType): node is ArrayNode =>\n node.type === MethodChainNodeTypes.Array;\n\nexport const containsFunctionNode = (methodChain: Chain, ...functionNames: string[]): boolean =>\n methodChain.links.some((link) => isFunctionNode(link) && functionNames.includes(link.name));\n\n/**\n * Returns true if the string contains any function node (e.g. `.at(...)`) when parsed\n * as a method chain. Use this to detect whether a field path must be treated as an\n * opaque key rather than split on `.` for Lodash set/get operations.\n */\nexport const pathContainsFunctionNode = (path: string): boolean => {\n try {\n const chain = parseMethodChain(path);\n return chain.links.some(\n (link) =>\n link.type === MethodChainNodeTypes.Function ||\n link.type === MethodChainNodeTypes.CustomFunction,\n );\n } catch {\n return false;\n }\n};\n\nexport const isEmpty = (methodChain: Chain): boolean => methodChain.links.length === 0;\n\nexport const getFunctionParams = (\n methodChain: Chain,\n ...functionNames: string[]\n): Record<string, MethodChainLiteral[]> => {\n return Object.fromEntries(\n methodChain.links\n .filter((link) => isFunctionNode(link))\n .filter((link) => functionNames.includes(link.name))\n .map((link) => [link.name, flattenParamsToString(link.params)]),\n );\n};\n\nexport const removeFunctionNode = (methodChain: Chain, functionName: string): Chain => {\n return {\n type: MethodChainNodeTypes.Chain,\n links: methodChain.links.filter(\n (link) => link.type !== MethodChainNodeTypes.Function || link.name !== functionName,\n ),\n };\n};\n\nconst flattenParamsToString = (params: FunctionParamType[]): MethodChainLiteral[] => {\n const result: MethodChainLiteral[] = [];\n\n for (const param of params) {\n switch (param.type) {\n case MethodChainNodeTypes.Chain:\n result.push(...flattenChainToString(param));\n break;\n case MethodChainNodeTypes.String:\n case MethodChainNodeTypes.Number:\n result.push(param.value);\n break;\n case MethodChainNodeTypes.Array:\n result.push(param.items.map((item) => item.value));\n break;\n }\n }\n\n return result;\n};\n\nconst flattenChainToString = (methodChain: Chain): MethodChainLiteral[] =>\n methodChain.links\n .map((link) => {\n switch (link.type) {\n case MethodChainNodeTypes.Function:\n case MethodChainNodeTypes.CustomFunction:\n return flattenParamsToString(link.params);\n case MethodChainNodeTypes.Identifier:\n return link.name;\n }\n })\n .flat();\n\nexport const isValid = (methodChain: string): boolean => {\n try {\n parseMethodChain(methodChain);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * The parsed chain, or undefined when it will not parse. Callers that read a chain while it is being\n * authored hold half-typed input, where a throw is noise rather than an error.\n */\nexport const tryParseMethodChain = (methodChain: string): Chain | undefined => {\n try {\n return parseMethodChain(methodChain);\n } catch {\n return undefined;\n }\n};\n\n/** The object a chain is rooted at: `current_case.inquiries` -> `current_case`. */\nexport const methodChainRootName = (methodChain: string): string | undefined => {\n const [root] = tryParseMethodChain(methodChain)?.links ?? [];\n return root && isIdentifierNode(root) ? root.name : undefined;\n};\n\nexport const parseMethodChain = (methodChain: string): Chain => {\n if (!methodChain || methodChain === '') {\n return EMPTY_METHOD_CHAIN;\n }\n\n if (!methodChainCache[methodChain]) {\n methodChainCache[methodChain] = normalizeChain(updatedParse(methodChain, { strict: true }));\n }\n return methodChainCache[methodChain];\n};\n\nconst memberToString = (value: string): string => {\n return `'${value.replace(/'/g, \"\\\\'\")}'`;\n};\n\n// Number#toString gives the shortest decimal string that round-trips back to the same\n// float64, but for magnitudes below 1e-6 (or above 1e21) it switches to exponential\n// notation (e.g. `0.0000001` -> \"1e-7\"), which the method chain grammar's plain-decimal\n// literal can't parse. Expand that exponential form back into plain decimal by shifting\n// its digits, rather than capping fraction digits (e.g. via toLocaleString), which silently\n// rounds magnitudes below the cap to \"0\" instead of reproducing them.\nconst expandExponentialNotation = (str: string): string => {\n const match = /^(-?)(\\d)(?:\\.(\\d+))?e([+-]\\d+)$/.exec(str);\n if (!match) {\n return str;\n }\n const [, sign, leadingDigit, fractionDigits = '', exponentStr] = match;\n const digits = leadingDigit + fractionDigits;\n const exponent = Number(exponentStr);\n\n if (exponent < 0) {\n return `${sign}0.${'0'.repeat(-exponent - 1)}${digits}`;\n }\n // Positive exponential notation only appears at exponent >= 21 (Number#toString's own\n // threshold), while a double's mantissa never carries more than 17 significant digits,\n // so the exponent always reaches past the end of `digits` — there's no case where the\n // decimal point lands inside them.\n return `${sign}${digits}${'0'.repeat(exponent - fractionDigits.length)}`;\n};\n\nconst numberLiteralToString = (value: number): string => {\n // The grammar has no literal for Infinity/NaN; render/label call sites have no way to\n // recover from a throw, so fall back to JS's own string form instead of crashing them.\n if (!Number.isFinite(value)) {\n return `${value}`;\n }\n\n const str = value.toString();\n return /e/i.test(str) ? expandExponentialNotation(str) : str;\n};\n\nexport const methodChainToString = (\n methodChain: Chain | StringNode | NumberNode | ArrayNode,\n): string => {\n switch (methodChain.type) {\n case MethodChainNodeTypes.String:\n return methodChain.value;\n case MethodChainNodeTypes.Number:\n return numberLiteralToString(methodChain.value);\n case MethodChainNodeTypes.Array:\n return `[${methodChain.items\n .map((item) =>\n item.type === MethodChainNodeTypes.String\n ? memberToString(item.value)\n : `#${numberLiteralToString(item.value)}`,\n )\n .join(', ')}]`;\n default: {\n const regex = new RegExp('^@?[a-zA-Z0-9_-]+$');\n return methodChain.links\n .map((link, index) => {\n switch (link.type) {\n case MethodChainNodeTypes.Identifier: {\n const fullName = `${link.prefix ?? ''}${link.name}`;\n return index === 0\n ? fullName\n : regex.test(fullName)\n ? `.${fullName}`\n : `['${fullName.replace(/'/g, \"\\\\'\")}']`;\n }\n case MethodChainNodeTypes.Function: {\n return `.${link.name}(${link.params\n .map((param) => {\n switch (param.type) {\n case MethodChainNodeTypes.String:\n return memberToString(param.value);\n case MethodChainNodeTypes.Number:\n return `#${numberLiteralToString(param.value)}`;\n case MethodChainNodeTypes.Chain:\n case MethodChainNodeTypes.Array:\n return methodChainToString(param);\n }\n })\n .join(', ')})`;\n }\n case MethodChainNodeTypes.CustomFunction: {\n const paramStr = link.params\n .map((param) => {\n switch (param.type) {\n case MethodChainNodeTypes.String:\n return memberToString(param.value);\n case MethodChainNodeTypes.Number:\n return `#${numberLiteralToString(param.value)}`;\n case MethodChainNodeTypes.Chain:\n case MethodChainNodeTypes.Array:\n return methodChainToString(param);\n }\n })\n .join(', ');\n return [\n index === 0 ? '' : '.',\n `@${link.name}`,\n link.params.length === 0 ? '' : `(${paramStr})`,\n ].join('');\n }\n default:\n assertNever(link);\n }\n })\n .join('');\n }\n }\n};\n\nexport const appendedMethodChain = (\n parentChain: Chain,\n appended: string | MethodChainNode,\n): Chain => {\n const buildNode = (name: string): MethodChainNode => {\n if (name.startsWith('@')) {\n return { type: MethodChainNodeTypes.CustomFunction, name: name.slice(1), params: [] };\n }\n return { type: MethodChainNodeTypes.Identifier, name };\n };\n\n return {\n type: MethodChainNodeTypes.Chain,\n links: [...parentChain.links, typeof appended === 'string' ? buildNode(appended) : appended],\n };\n};\n\nexport const parseWithPartialOption = (\n path: string,\n): { methodChain: Chain; partial: string; valid: boolean } => {\n if (isValid(path)) {\n const methodChain = parseMethodChain(path);\n\n return {\n methodChain: {\n type: MethodChainNodeTypes.Chain,\n links: methodChain.links.slice(0, methodChain.links.length - 1),\n },\n partial: last(methodChain.links)?.name || '',\n valid: true,\n };\n }\n\n const rawParse = (input: string): Chain => {\n return normalizeChain(updatedParse(input, { strict: true }));\n };\n\n try {\n if (path.endsWith('.')) {\n return {\n methodChain: rawParse(path.slice(0, -1)),\n partial: '',\n valid: true,\n };\n }\n\n if (path.lastIndexOf('[') > path.lastIndexOf(']')) {\n const partialString = path.slice(path.lastIndexOf('[') + 2);\n const partialValue = partialString.endsWith(\"'\") ? partialString.slice(0, -1) : partialString;\n return {\n methodChain: rawParse(path.slice(0, path.lastIndexOf('['))),\n partial: partialValue,\n valid: true,\n };\n }\n } catch {\n /* empty */\n }\n\n return {\n methodChain: EMPTY_METHOD_CHAIN,\n partial: path,\n valid: false,\n };\n};\n\n// Check if the path can be parsed as legacy method chain format.\n// Normative means all the name parts are\n// 1. delimited by only dots and\n// 2. only contain alphanumeric characters, underscores, and hyphens.\nexport const pathIsNormative = (path: string): boolean => {\n return path.split('.').every((part) => /^[a-zA-Z0-9_-]+$/.test(part));\n};\nexport const getSyntaxError = (): typeof UpdatedSyntaxError => UpdatedSyntaxError;\n\nexport const methodChainNodeToJsonSchema = (\n node: StringNode | NumberNode | ArrayNode,\n): JsonSchema | null => {\n if (node.type === MethodChainNodeTypes.String) {\n return {\n type: JsonSchemaTypes.String,\n };\n } else if (node.type === MethodChainNodeTypes.Number) {\n return {\n type: JsonSchemaTypes.Number,\n };\n } else if (node.type === MethodChainNodeTypes.Array) {\n // Determine the items schema based on the first item type\n // For simplicity, assume all items are the same type\n if (node.items.length > 0) {\n const firstItem = node.items[0];\n const itemSchema: JsonSchema =\n firstItem.type === MethodChainNodeTypes.String\n ? { type: JsonSchemaTypes.String }\n : { type: JsonSchemaTypes.Number };\n\n return {\n type: JsonSchemaTypes.Array,\n items: itemSchema,\n };\n } else {\n return {\n type: JsonSchemaTypes.Array,\n items: { type: JsonSchemaTypes.String },\n };\n }\n }\n\n return null;\n};\n"],"mappings":"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"}