@persona/design-system 0.10.4 → 0.10.5

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 (900) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/Accordion.d.mts +2 -2
  3. package/dist/AccordionItem.d.mts +2 -2
  4. package/dist/{Action-DT8WqfEg.d.mts → Action-Bmo8B-Q3.d.mts} +4 -4
  5. package/dist/Action.d.mts +1 -1
  6. package/dist/AdvancedFilterRuleRow.d.mts +3 -3
  7. package/dist/AdvancedFilterRulesPopover.d.mts +3 -3
  8. package/dist/ArrayValueControl.d.mts +2 -2
  9. package/dist/Attribute.d.mts +4 -4
  10. package/dist/AttributeGrid.d.mts +1 -1
  11. package/dist/{Badge-Bvn3afds.mjs → Badge-8YzapjWf.mjs} +4 -4
  12. package/dist/Badge-8YzapjWf.mjs.map +1 -0
  13. package/dist/Badge.d.mts +1 -1
  14. package/dist/Banner.d.mts +1 -1
  15. package/dist/BooleanValueControl.d.mts +2 -2
  16. package/dist/BottomPanel.d.mts +1 -1
  17. package/dist/{Breadcrumb-CA0vAzUN.d.mts → Breadcrumb-DnY8n3EL.d.mts} +2 -2
  18. package/dist/Breadcrumb.d.mts +1 -1
  19. package/dist/{Breadcrumbs-47jYLqNP.d.mts → Breadcrumbs-DRu_JfdI.d.mts} +3 -3
  20. package/dist/{Breadcrumbs-gRAsKF4R.mjs → Breadcrumbs-Dft2TR4v.mjs} +12 -12
  21. package/dist/Breadcrumbs-Dft2TR4v.mjs.map +1 -0
  22. package/dist/Breadcrumbs.d.mts +1 -1
  23. package/dist/{Button-CyjqQa5v.d.mts → Button-Cg8KyT5M.d.mts} +5 -5
  24. package/dist/Button.d.mts +1 -1
  25. package/dist/ButtonGroup.d.mts +1 -1
  26. package/dist/{Calendar-CkjYG7Mj.d.mts → Calendar-D-6WOLJ1.d.mts} +2 -2
  27. package/dist/Calendar.d.mts +1 -1
  28. package/dist/CalendarBase.d.mts +2 -2
  29. package/dist/CalendarCell.d.mts +1 -1
  30. package/dist/CalendarGrid.d.mts +1 -1
  31. package/dist/{Card-CzRHVUFo.d.mts → Card-CfECLwQ6.d.mts} +5 -5
  32. package/dist/{Card-BXNxWX5C.mjs → Card-DuQHyroh.mjs} +7 -7
  33. package/dist/Card-DuQHyroh.mjs.map +1 -0
  34. package/dist/Card.d.mts +1 -1
  35. package/dist/Card2.d.mts +1 -1
  36. package/dist/CardGrouping.d.mts +3 -3
  37. package/dist/{CardV2-Dp4eHSE-.mjs → CardV2-BRJbRSts.mjs} +14 -14
  38. package/dist/CardV2-BRJbRSts.mjs.map +1 -0
  39. package/dist/{Checkbox-BaJ-dGdX.mjs → Checkbox-Dr4LMKHV.mjs} +7 -7
  40. package/dist/Checkbox-Dr4LMKHV.mjs.map +1 -0
  41. package/dist/{Checkbox-B2MZShdu.d.mts → Checkbox-ZywrdT_h.d.mts} +2 -2
  42. package/dist/Checkbox.d.mts +1 -1
  43. package/dist/{CheckboxGroupField-BrPGNIyD.d.mts → CheckboxGroupField-UHpA38U5.d.mts} +4 -4
  44. package/dist/CheckboxGroupField.d.mts +1 -1
  45. package/dist/ChoicesValueControl.d.mts +2 -2
  46. package/dist/CodeHighlight.d.mts +1 -1
  47. package/dist/{Combobox-D0dMN5eY.d.mts → Combobox-BXkcQ2aY.d.mts} +4 -4
  48. package/dist/{Combobox-CBM-oY-e.mjs → Combobox-DQxaOCLA.mjs} +18 -18
  49. package/dist/Combobox-DQxaOCLA.mjs.map +1 -0
  50. package/dist/Combobox.d.mts +2 -2
  51. package/dist/{ComboboxBase-BlNi9OnF.d.mts → ComboboxBase-D2rDQHYZ.d.mts} +8 -8
  52. package/dist/ComboboxBase.d.mts +1 -1
  53. package/dist/{ComboboxMultiSelect-DbTYO-Yz.d.mts → ComboboxMultiSelect-CrvB6ap5.d.mts} +3 -3
  54. package/dist/ComboboxMultiSelect.d.mts +1 -1
  55. package/dist/{ComboboxSingleSelect-Cd6VYdwr.d.mts → ComboboxSingleSelect-Dp0iTdDO.d.mts} +5 -5
  56. package/dist/ComboboxSingleSelect.d.mts +1 -1
  57. package/dist/{CompactBar-D9egXqY_.d.mts → CompactBar-zYfXjFmn.d.mts} +4 -4
  58. package/dist/CompactBar.d.mts +1 -1
  59. package/dist/{ConfigFormGroup-CidT_cE9.mjs → ConfigFormGroup-BCTWCws5.mjs} +5 -5
  60. package/dist/ConfigFormGroup-BCTWCws5.mjs.map +1 -0
  61. package/dist/ConfigFormGroup.d.mts +1 -1
  62. package/dist/{ControlBar-RIz-xjxs.d.mts → ControlBar-kJ_eWf8f.d.mts} +3 -3
  63. package/dist/ControlBar.d.mts +1 -1
  64. package/dist/{DataTable-D15C5lfd.d.mts → DataTable-C000E74h.d.mts} +7 -7
  65. package/dist/{DataTable-DQ8axNfo.mjs → DataTable-DEJHWrsy.mjs} +25 -25
  66. package/dist/DataTable-DEJHWrsy.mjs.map +1 -0
  67. package/dist/DataTable.d.mts +1 -1
  68. package/dist/{DateField-CwSq77Ri.d.mts → DateField-g7malFm-.d.mts} +3 -3
  69. package/dist/DateField.d.mts +1 -1
  70. package/dist/{DatePicker-DRhY_0st.d.mts → DatePicker-8kUpFFh8.d.mts} +3 -3
  71. package/dist/{DatePicker-D0cvVbzq.mjs → DatePicker-D-_ibUd1.mjs} +20 -20
  72. package/dist/DatePicker-D-_ibUd1.mjs.map +1 -0
  73. package/dist/DatePicker.d.mts +1 -1
  74. package/dist/{DateRangePicker-CLuBLF1q.d.mts → DateRangePicker-Nv4uNuIW.d.mts} +4 -4
  75. package/dist/DateRangePicker.d.mts +1 -1
  76. package/dist/DateRangeValueControl.d.mts +3 -3
  77. package/dist/DateValueControl.d.mts +2 -2
  78. package/dist/{DropdownButton-5oNcpsOq.mjs → DropdownButton-BiFRlSVD.mjs} +4 -4
  79. package/dist/DropdownButton-BiFRlSVD.mjs.map +1 -0
  80. package/dist/DropdownButton.d.mts +3 -3
  81. package/dist/{DropdownMenu-nxFNS1kH.d.mts → DropdownMenu-CQbS7ML5.d.mts} +3 -3
  82. package/dist/{DropdownMenu-CedsmO5h.mjs → DropdownMenu-Q8S-9rXm.mjs} +4 -4
  83. package/dist/DropdownMenu-Q8S-9rXm.mjs.map +1 -0
  84. package/dist/DropdownMenu.d.mts +1 -1
  85. package/dist/{ErrorProps-DH0fzeGf.d.mts → ErrorProps-Cy-APmdC.d.mts} +2 -2
  86. package/dist/ErrorProps.d.mts +1 -1
  87. package/dist/{FieldRegistry-B5E-GN91.d.mts → FieldRegistry-a44G08fS.d.mts} +3 -3
  88. package/dist/FieldRegistry.d.mts +1 -1
  89. package/dist/{FilterBar-BQWpTi2b.d.mts → FilterBar-BpMguIXl.d.mts} +5 -5
  90. package/dist/FilterBar.d.mts +1 -1
  91. package/dist/FilterPickerMenu.d.mts +3 -3
  92. package/dist/FilterPill.d.mts +2 -2
  93. package/dist/FilterPopover.d.mts +2 -2
  94. package/dist/FloatValueControl.d.mts +2 -2
  95. package/dist/{FloatingActionBar-CpvLefPm.d.mts → FloatingActionBar-DPA9v_yH.d.mts} +2 -2
  96. package/dist/FloatingActionBar.d.mts +1 -1
  97. package/dist/FloatingPanel.d.mts +1 -1
  98. package/dist/FloatingPanelContext.d.mts +1 -1
  99. package/dist/FloatingPanelRenderer.d.mts +1 -1
  100. package/dist/FloatingToolbar.d.mts +27 -0
  101. package/dist/{FormControl-C4CiA0H-.mjs → FormControl-BztNXLn6.mjs} +7 -7
  102. package/dist/FormControl-BztNXLn6.mjs.map +1 -0
  103. package/dist/{FormControl-DEG_0oXt.d.mts → FormControl-TkYMZeBd.d.mts} +3 -3
  104. package/dist/FormControl.d.mts +1 -1
  105. package/dist/FormControlLabel.d.mts +2 -2
  106. package/dist/{FormField-mLbXDJ9B.d.mts → FormField-PBo1ctY8.d.mts} +3 -3
  107. package/dist/{FormField-C0cd1zVd.mjs → FormField-g1zQFM9T.mjs} +22 -22
  108. package/dist/FormField-g1zQFM9T.mjs.map +1 -0
  109. package/dist/FormField.d.mts +1 -1
  110. package/dist/{Grid-DXVkhyNQ.mjs → Grid-BtTuj5mR.mjs} +5 -5
  111. package/dist/Grid-BtTuj5mR.mjs.map +1 -0
  112. package/dist/Grid.d.mts +1 -1
  113. package/dist/GridItem.d.mts +1 -1
  114. package/dist/{Header-ayDu4VWE.d.mts → Header-fwlbzxYx.d.mts} +2 -2
  115. package/dist/Header.d.mts +1 -1
  116. package/dist/{HelperTooltip-BB9Vznnx.d.mts → HelperTooltip-BLfPfJRN.d.mts} +3 -3
  117. package/dist/HelperTooltip.d.mts +1 -1
  118. package/dist/HighlightedText.d.mts +3 -3
  119. package/dist/{HoverCopyableField-D-BubaRd.mjs → HoverCopyableField-CW7Jxmni.mjs} +8 -8
  120. package/dist/HoverCopyableField-CW7Jxmni.mjs.map +1 -0
  121. package/dist/HoverCopyableField.d.mts +1 -1
  122. package/dist/{I18nContext-TXS9M8t5.d.mts → I18nContext-EPmbUprm.d.mts} +3 -3
  123. package/dist/I18nContext.d.mts +1 -1
  124. package/dist/{IconButton-HWx5Hlmi.mjs → IconButton-DftINsp7.mjs} +8 -8
  125. package/dist/IconButton-DftINsp7.mjs.map +1 -0
  126. package/dist/{IconButton-Bigvu1Q4.d.mts → IconButton-KhCwTwPx.d.mts} +3 -3
  127. package/dist/IconButton.d.mts +1 -1
  128. package/dist/ImageThumbnail.d.mts +1 -1
  129. package/dist/ImageTile.d.mts +2 -2
  130. package/dist/IndexTableLayout.d.mts +6 -6
  131. package/dist/InlineCombobox.d.mts +2 -2
  132. package/dist/InlineInput.d.mts +2 -2
  133. package/dist/{Input-Dap055xf.mjs → Input-DtO3qMnE.mjs} +7 -7
  134. package/dist/Input-DtO3qMnE.mjs.map +1 -0
  135. package/dist/{Input-Bg4bi6VZ.d.mts → Input-QNjbGo38.d.mts} +4 -4
  136. package/dist/Input.d.mts +1 -1
  137. package/dist/{InputProps-Bl-G826g.d.mts → InputProps-BT7-RfnD.d.mts} +3 -3
  138. package/dist/InputProps.d.mts +1 -1
  139. package/dist/{Inserter-BKVrJ4M5.d.mts → Inserter-BnQVEqHV.d.mts} +2 -2
  140. package/dist/Inserter.d.mts +1 -1
  141. package/dist/IntegerValueControl.d.mts +2 -2
  142. package/dist/LayoutLoadingShimmer.d.mts +1 -1
  143. package/dist/LayoutLoadingSpinner.d.mts +1 -1
  144. package/dist/{Link-Cf__H8gD.mjs → Link-DKYmdL9t.mjs} +4 -4
  145. package/dist/Link-DKYmdL9t.mjs.map +1 -0
  146. package/dist/Link.d.mts +2 -2
  147. package/dist/{ListBox-eoyBHtnJ.mjs → ListBox-CDG0EAPg.mjs} +14 -14
  148. package/dist/ListBox-CDG0EAPg.mjs.map +1 -0
  149. package/dist/{ListBox-CXFI-0nG.d.mts → ListBox-D9SYTzOd.d.mts} +4 -4
  150. package/dist/ListBox.d.mts +1 -1
  151. package/dist/{ListBoxField-BCOrph2k.d.mts → ListBoxField-CtPDd_Aw.d.mts} +5 -5
  152. package/dist/ListBoxField.d.mts +1 -1
  153. package/dist/{LoadingShimmer-Bqjdut7i.mjs → LoadingShimmer-oPIv2ESr.mjs} +3 -3
  154. package/dist/LoadingShimmer-oPIv2ESr.mjs.map +1 -0
  155. package/dist/LoadingShimmer.d.mts +2 -2
  156. package/dist/{LogicRow-8oYRkwz5.d.mts → LogicRow-BWIZ7262.d.mts} +4 -4
  157. package/dist/LogicRow.d.mts +1 -1
  158. package/dist/MaskedInput.d.mts +2 -2
  159. package/dist/MatchHighlight.d.mts +1 -1
  160. package/dist/{Menu-DHnQZ5yN.d.mts → Menu-DizjcMbO.d.mts} +5 -5
  161. package/dist/{Menu-Dw6Rcpk6.mjs → Menu-EIT_MwK6.mjs} +7 -9
  162. package/dist/Menu-EIT_MwK6.mjs.map +1 -0
  163. package/dist/Menu.d.mts +1 -1
  164. package/dist/{MiddleTruncatedText-DoTyfMem.mjs → MiddleTruncatedText-DicQsLDG.mjs} +5 -5
  165. package/dist/MiddleTruncatedText-DicQsLDG.mjs.map +1 -0
  166. package/dist/{Modal-kjUptzg1.mjs → Modal-92O_uW8H.mjs} +10 -10
  167. package/dist/Modal-92O_uW8H.mjs.map +1 -0
  168. package/dist/{Modal-BuxggahW.d.mts → Modal-Bhwq1bQJ.d.mts} +3 -3
  169. package/dist/Modal.d.mts +1 -1
  170. package/dist/{PageHeader-D2j2XHD9.mjs → PageHeader-BzvA_NNt.mjs} +9 -6
  171. package/dist/PageHeader-BzvA_NNt.mjs.map +1 -0
  172. package/dist/{PageHeader-CnpDVOck.d.mts → PageHeader-D2QLrS7-.d.mts} +3 -3
  173. package/dist/PageHeader.d.mts +1 -1
  174. package/dist/{PageLayout-fXJW7daI.mjs → PageLayout-DCe3F76N.mjs} +9 -9
  175. package/dist/PageLayout-DCe3F76N.mjs.map +1 -0
  176. package/dist/{PageLayout-TBemv7oL.d.mts → PageLayout-DfAbeFIh.d.mts} +2 -2
  177. package/dist/PageLayout.d.mts +1 -1
  178. package/dist/{PageLayoutFrame-DzwlkNZ1.d.mts → PageLayoutFrame-CQLREOBH.d.mts} +2 -2
  179. package/dist/PageLayoutFrame.d.mts +1 -1
  180. package/dist/{PageSelector-DXCeBUoU.d.mts → PageSelector-QaKYtk6y.d.mts} +4 -4
  181. package/dist/PageSelector.d.mts +1 -1
  182. package/dist/PageSizeSelector.d.mts +1 -1
  183. package/dist/{Pagination-COcFWlha.d.mts → Pagination-DeXorbSK.d.mts} +3 -3
  184. package/dist/{Pagination-DtK-jbEY.mjs → Pagination-dTsHLVAk.mjs} +13 -13
  185. package/dist/Pagination-dTsHLVAk.mjs.map +1 -0
  186. package/dist/Pagination.d.mts +1 -1
  187. package/dist/{Pii-DueIK287.mjs → Pii-Bvh_kfGN.mjs} +4 -4
  188. package/dist/Pii-Bvh_kfGN.mjs.map +1 -0
  189. package/dist/Pii.d.mts +1 -1
  190. package/dist/{PillShell-DqglbFHe.d.mts → PillShell-B35z66jZ.d.mts} +3 -3
  191. package/dist/PillShell.d.mts +1 -1
  192. package/dist/{Popover-BcII7usF.mjs → Popover-DordjYNM.mjs} +5 -5
  193. package/dist/Popover-DordjYNM.mjs.map +1 -0
  194. package/dist/Popover.d.mts +2 -2
  195. package/dist/ProgressBar.d.mts +2 -2
  196. package/dist/{ProgressIndicator-C5sbFQcd.d.mts → ProgressIndicator-COCwRZfK.d.mts} +2 -2
  197. package/dist/{ProgressIndicator-CM37EU1B.mjs → ProgressIndicator-ISARECzW.mjs} +3 -3
  198. package/dist/ProgressIndicator-ISARECzW.mjs.map +1 -0
  199. package/dist/ProgressIndicator.d.mts +1 -1
  200. package/dist/{PseudoClassProps-BFFh2-u8.d.mts → PseudoClassProps-D_f-JUT1.d.mts} +2 -2
  201. package/dist/PseudoClassProps.d.mts +1 -1
  202. package/dist/{Radio-BstZg3DI.mjs → Radio-BlEtetrr.mjs} +5 -5
  203. package/dist/Radio-BlEtetrr.mjs.map +1 -0
  204. package/dist/Radio.d.mts +1 -1
  205. package/dist/{RadioGroup-erKerwSt.mjs → RadioGroup-CMrXmmn4.mjs} +5 -5
  206. package/dist/RadioGroup-CMrXmmn4.mjs.map +1 -0
  207. package/dist/{RadioGroup-BxEmipHa.d.mts → RadioGroup-pyGpWhhj.d.mts} +2 -2
  208. package/dist/RadioGroup.d.mts +1 -1
  209. package/dist/{RangeCalendar-CK5ArbIQ.d.mts → RangeCalendar-BiugsdSP.d.mts} +3 -3
  210. package/dist/RangeCalendar.d.mts +1 -1
  211. package/dist/RangeCalendarPresets.d.mts +2 -2
  212. package/dist/ResizableVerticalPanel.d.mts +1 -1
  213. package/dist/ResizeHandle.d.mts +1 -1
  214. package/dist/RichTextEditor.d.mts +36 -0
  215. package/dist/RightPanel.d.mts +1 -1
  216. package/dist/RightPanelLoadingContent.d.mts +1 -1
  217. package/dist/RightPanelResizeHandle.d.mts +1 -1
  218. package/dist/{RouterContext-CoDbEb_X.d.mts → RouterContext-BUdfr1it.d.mts} +3 -3
  219. package/dist/{RouterContext-nPSb55p9.mjs → RouterContext-DAQHKOv6.mjs} +2 -2
  220. package/dist/RouterContext-DAQHKOv6.mjs.map +1 -0
  221. package/dist/RouterContext.d.mts +1 -1
  222. package/dist/{RouterLink-BnIEi8d4.d.mts → RouterLink-BKbfvJcM.d.mts} +3 -3
  223. package/dist/RouterLink.d.mts +1 -1
  224. package/dist/RuleEditorFields.d.mts +3 -3
  225. package/dist/RulesPill.d.mts +2 -2
  226. package/dist/{SearchInput-DLC7-A7K.d.mts → SearchInput-BejaiGsS.d.mts} +3 -3
  227. package/dist/SearchInput.d.mts +1 -1
  228. package/dist/Section.d.mts +1 -1
  229. package/dist/SectionHeading.d.mts +2 -2
  230. package/dist/{SegmentedControl-DQjIO6iX.mjs → SegmentedControl-D_DA-MU1.mjs} +5 -5
  231. package/dist/SegmentedControl-D_DA-MU1.mjs.map +1 -0
  232. package/dist/{SegmentedControl-xjU-2IsJ.d.mts → SegmentedControl-UV03Ujqn.d.mts} +2 -2
  233. package/dist/SegmentedControl.d.mts +1 -1
  234. package/dist/{Select-CSbamhJO.d.mts → Select-Chk5WB1F.d.mts} +4 -4
  235. package/dist/{Select-BJ9ACmRD.mjs → Select-DkUMz4LG.mjs} +10 -10
  236. package/dist/Select-DkUMz4LG.mjs.map +1 -0
  237. package/dist/Select.d.mts +1 -1
  238. package/dist/SelectionCard.d.mts +1 -1
  239. package/dist/SelectionCardGroup.d.mts +1 -1
  240. package/dist/{SingleColumnLayout-CBynMc76.d.mts → SingleColumnLayout-DBo35psH.d.mts} +3 -3
  241. package/dist/SingleColumnLayout.d.mts +1 -1
  242. package/dist/Slider.d.mts +1 -1
  243. package/dist/SliderRHF.d.mts +1 -1
  244. package/dist/SliderThumb.d.mts +1 -1
  245. package/dist/SmartTextInput.d.mts +7 -7
  246. package/dist/SmartTextInputCodeDialog.d.mts +1 -1
  247. package/dist/SmartTextInputField.d.mts +3 -3
  248. package/dist/SmartTextInputFunctionDialog.d.mts +5 -5
  249. package/dist/SmartTextInputListbox.d.mts +3 -3
  250. package/dist/SmartTextInputPopover.d.mts +2 -2
  251. package/dist/{Spacer-J_HuhxX2.mjs → Spacer-C4d9Aho6.mjs} +3 -3
  252. package/dist/Spacer-C4d9Aho6.mjs.map +1 -0
  253. package/dist/Spacer.d.mts +1 -1
  254. package/dist/{Spinner-7Camx1vs.mjs → Spinner-CXb-KUs1.mjs} +3 -3
  255. package/dist/Spinner-CXb-KUs1.mjs.map +1 -0
  256. package/dist/Spinner.d.mts +1 -1
  257. package/dist/{SplitColumnLayout-BVzGbEDC.d.mts → SplitColumnLayout-C6m_mwdf.d.mts} +3 -3
  258. package/dist/SplitColumnLayout.d.mts +1 -1
  259. package/dist/{Stack-BkC7FCdF.mjs → Stack-Bzom2BTR.mjs} +3 -3
  260. package/dist/Stack-Bzom2BTR.mjs.map +1 -0
  261. package/dist/{Stack-BZyboHQl.d.mts → Stack-DrYxBkiF.d.mts} +3 -3
  262. package/dist/Stack.d.mts +1 -1
  263. package/dist/{StatusIndicator-Bunn9YLV.mjs → StatusIndicator-pWl1-FLb.mjs} +3 -3
  264. package/dist/StatusIndicator-pWl1-FLb.mjs.map +1 -0
  265. package/dist/StatusIndicator.d.mts +1 -1
  266. package/dist/{Sticker-yhxtIYH8.mjs → Sticker-Bi_fezCO.mjs} +6 -6
  267. package/dist/Sticker-Bi_fezCO.mjs.map +1 -0
  268. package/dist/{Sticker-CsUSNIH-.d.mts → Sticker-sIBnBbHD.d.mts} +5 -5
  269. package/dist/Sticker.d.mts +1 -1
  270. package/dist/StringValueControl.d.mts +2 -2
  271. package/dist/StyledIconDrag.d.mts +1 -1
  272. package/dist/SwatchPicker.d.mts +1 -1
  273. package/dist/Tab.d.mts +2 -2
  274. package/dist/{TabBar-SX8E9-Bk.mjs → TabBar-DpXYsWgS.mjs} +9 -9
  275. package/dist/TabBar-DpXYsWgS.mjs.map +1 -0
  276. package/dist/TabBar.d.mts +1 -1
  277. package/dist/TabBarContext.d.mts +1 -1
  278. package/dist/TabBarIconButton.d.mts +1 -1
  279. package/dist/{Table-CadXF71E.d.mts → Table-BJfcRpMX.d.mts} +2 -2
  280. package/dist/{Table-BIDaC0uS.mjs → Table-DPi4Dt5H.mjs} +14 -14
  281. package/dist/Table-DPi4Dt5H.mjs.map +1 -0
  282. package/dist/Table.d.mts +1 -1
  283. package/dist/{TableBody-BKSHNSTo.d.mts → TableBody-CBz2PjA-.d.mts} +2 -2
  284. package/dist/TableBody.d.mts +1 -1
  285. package/dist/{TableBox-Bn_XZEYd.mjs → TableBox-BfSF36Gy.mjs} +23 -23
  286. package/dist/TableBox-BfSF36Gy.mjs.map +1 -0
  287. package/dist/TableBox.d.mts +2 -2
  288. package/dist/{TableBoxCell-Cag3ZYRs.d.mts → TableBoxCell-CwroLAWy.d.mts} +8 -8
  289. package/dist/TableBoxCell.d.mts +1 -1
  290. package/dist/{TableBoxField-C3Cg6Lv5.d.mts → TableBoxField-B7bHv7uV.d.mts} +6 -6
  291. package/dist/TableBoxField.d.mts +1 -1
  292. package/dist/{TableBoxRow-y5ay5lMt.d.mts → TableBoxRow-Dke8B99J.d.mts} +4 -4
  293. package/dist/TableBoxRow.d.mts +1 -1
  294. package/dist/{TableBoxRowActions-CDdVjAPQ.d.mts → TableBoxRowActions-CkUDVERC.d.mts} +3 -3
  295. package/dist/TableBoxRowActions.d.mts +1 -1
  296. package/dist/TableBoxRowContext.d.mts +1 -1
  297. package/dist/{TableCell-4u5_BgTC.d.mts → TableCell-KHx5JlqZ.d.mts} +3 -3
  298. package/dist/TableCell.d.mts +1 -1
  299. package/dist/{TableControls-qxoq5abn.mjs → TableControls-BDXOQMr7.mjs} +69 -69
  300. package/dist/TableControls-BDXOQMr7.mjs.map +1 -0
  301. package/dist/{TableControls-ETB0Xk5X.d.mts → TableControls-DAjx1TYG.d.mts} +6 -6
  302. package/dist/TableControls.d.mts +1 -1
  303. package/dist/{TableControlsContext-CzJCMrSe.d.mts → TableControlsContext-BEIvE9qN.d.mts} +3 -3
  304. package/dist/TableControlsContext.d.mts +1 -1
  305. package/dist/{TableHead-BuCQeDAq.d.mts → TableHead-D5A3bOwt.d.mts} +2 -2
  306. package/dist/TableHead.d.mts +1 -1
  307. package/dist/{TableHeaderCell-DIcQlZps.d.mts → TableHeaderCell-BXgnxPpX.d.mts} +2 -2
  308. package/dist/TableHeaderCell.d.mts +1 -1
  309. package/dist/{TableLayout-ScEVdvvA.d.mts → TableLayout-Dy5ht8KO.d.mts} +2 -2
  310. package/dist/TableLayout.d.mts +1 -1
  311. package/dist/{TableRow-lCsvG0a-.d.mts → TableRow-C1iGbNjZ.d.mts} +3 -3
  312. package/dist/TableRow.d.mts +1 -1
  313. package/dist/TableTH.d.mts +1 -1
  314. package/dist/{TableViewConfigurationDropdown-BvOlDkJy.d.mts → TableViewConfigurationDropdown-vYnU0d4k.d.mts} +3 -3
  315. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  316. package/dist/{TechnicalSticker-CALVwnrT.mjs → TechnicalSticker-B_JlBkXZ.mjs} +7 -7
  317. package/dist/TechnicalSticker-B_JlBkXZ.mjs.map +1 -0
  318. package/dist/TechnicalSticker.d.mts +1 -1
  319. package/dist/{Text-CSwFifQF.mjs → Text-D0vEReED.mjs} +3 -3
  320. package/dist/Text-D0vEReED.mjs.map +1 -0
  321. package/dist/{Text-RSzei6Se.d.mts → Text-SaoRBdB6.d.mts} +4 -4
  322. package/dist/Text.d.mts +1 -1
  323. package/dist/{TextArea-CaIEBz8d.mjs → TextArea-Dro-HH8O.mjs} +4 -4
  324. package/dist/TextArea-Dro-HH8O.mjs.map +1 -0
  325. package/dist/{TextArea-DFn4XuG-.d.mts → TextArea-gtSlghjy.d.mts} +3 -3
  326. package/dist/TextArea.d.mts +1 -1
  327. package/dist/{TextUnderlineTooltip-B0iYaPM1.d.mts → TextUnderlineTooltip-DV61avLv.d.mts} +3 -3
  328. package/dist/TextUnderlineTooltip.d.mts +1 -1
  329. package/dist/Tile.d.mts +2 -2
  330. package/dist/Toast.d.mts +2 -2
  331. package/dist/{Toggle-xtPgGaGD.d.mts → Toggle-BlvrM-Cw.d.mts} +2 -2
  332. package/dist/{Toggle-BsqSNYok.mjs → Toggle-D9MzTIZs.mjs} +7 -7
  333. package/dist/Toggle-D9MzTIZs.mjs.map +1 -0
  334. package/dist/Toggle.d.mts +1 -1
  335. package/dist/{Tooltip-Blfhi2gT.d.mts → Tooltip-CysnLwST.d.mts} +3 -3
  336. package/dist/{Tooltip-B-0VRuKT.mjs → Tooltip-YViXzMdm.mjs} +7 -7
  337. package/dist/Tooltip-YViXzMdm.mjs.map +1 -0
  338. package/dist/Tooltip.d.mts +1 -1
  339. package/dist/{TruncatedText-BMQmveJG.d.mts → TruncatedText-YcjNG-zP.d.mts} +2 -2
  340. package/dist/VersionHistory.d.mts +2 -2
  341. package/dist/{VersionHistoryItem-BExp7oSr.d.mts → VersionHistoryItem-Px3ylMMq.d.mts} +2 -2
  342. package/dist/VersionHistoryItem.d.mts +1 -1
  343. package/dist/WizardModal.d.mts +3 -3
  344. package/dist/{accordionTitleTypography-PMKnfoy0.d.mts → accordionTitleTypography-Dlo2YyWd.d.mts} +3 -3
  345. package/dist/accordionTitleTypography.d.mts +1 -1
  346. package/dist/assertNever.d.mts +1 -1
  347. package/dist/chainTypes-aF5rWav-.d.mts +17 -0
  348. package/dist/{clientFilterUtils-BqDn44aM.d.mts → clientFilterUtils-DYKgw2Yq.d.mts} +3 -3
  349. package/dist/clientFilterUtils.d.mts +1 -1
  350. package/dist/{codec-KAvQRjTW.d.mts → codec-D8ZKFLgs.d.mts} +3 -3
  351. package/dist/codec.d.mts +1 -1
  352. package/dist/{color-C5B1pN1D.d.mts → color-Cy_0z4IY.d.mts} +3 -3
  353. package/dist/common.d.mts +1 -1
  354. package/dist/complete-typography.d.mts +7 -0
  355. package/dist/components/Accordion/index.d.mts +1 -1
  356. package/dist/components/Accordion/index.mjs +8 -8
  357. package/dist/components/Accordion/index.mjs.map +1 -1
  358. package/dist/components/Attribute/index.mjs +8 -8
  359. package/dist/components/Attribute/index.mjs.map +1 -1
  360. package/dist/components/Badge/index.mjs +1 -1
  361. package/dist/components/Banner/index.mjs +3 -3
  362. package/dist/components/Banner/index.mjs.map +1 -1
  363. package/dist/components/BottomPanel/index.mjs +8 -8
  364. package/dist/components/BottomPanel/index.mjs.map +1 -1
  365. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  366. package/dist/components/Breadcrumbs/index.mjs +1 -1
  367. package/dist/components/Button/index.d.mts +2 -2
  368. package/dist/components/Button/index.mjs +1 -1
  369. package/dist/components/ButtonGroup/index.mjs +5 -5
  370. package/dist/components/ButtonGroup/index.mjs.map +1 -1
  371. package/dist/components/Card/index.d.mts +2 -2
  372. package/dist/components/Card/index.mjs +1 -1
  373. package/dist/components/CardV2/index.d.mts +1 -1
  374. package/dist/components/CardV2/index.mjs +1 -1
  375. package/dist/components/Checkbox/index.d.mts +1 -1
  376. package/dist/components/Checkbox/index.mjs +1 -1
  377. package/dist/components/CodeHighlight/PrismWithLanguages.mjs +1 -1
  378. package/dist/components/CodeHighlight/PrismWithLanguages.mjs.map +1 -1
  379. package/dist/components/CodeHighlight/index.mjs +6 -6
  380. package/dist/components/CodeHighlight/index.mjs.map +1 -1
  381. package/dist/components/Combobox/index.d.mts +2 -2
  382. package/dist/components/Combobox/index.mjs +1 -1
  383. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  384. package/dist/components/DataTable/TableControls/index.d.mts +21 -21
  385. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  386. package/dist/components/DataTable/index.d.mts +8 -8
  387. package/dist/components/DataTable/index.mjs +1 -1
  388. package/dist/components/DataTable/types.d.mts +1 -1
  389. package/dist/components/DatePicker/index.d.mts +5 -5
  390. package/dist/components/DatePicker/index.mjs +1 -1
  391. package/dist/components/DropdownButton/index.mjs +1 -1
  392. package/dist/components/DropdownMenu/index.d.mts +1 -1
  393. package/dist/components/DropdownMenu/index.mjs +1 -1
  394. package/dist/components/FloatingPanel/index.mjs +9 -9
  395. package/dist/components/FloatingPanel/index.mjs.map +1 -1
  396. package/dist/components/FormControl/index.d.mts +2 -2
  397. package/dist/components/FormControl/index.mjs +2 -2
  398. package/dist/components/FormField/index.d.mts +5 -5
  399. package/dist/components/FormField/index.mjs +1 -1
  400. package/dist/components/Grid/index.mjs +1 -1
  401. package/dist/components/HoverCopyableField/index.mjs +1 -1
  402. package/dist/components/ImageTile/index.mjs +11 -11
  403. package/dist/components/ImageTile/index.mjs.map +1 -1
  404. package/dist/components/Input/index.d.mts +1 -1
  405. package/dist/components/Input/index.mjs +2 -2
  406. package/dist/components/Input/index.mjs.map +1 -1
  407. package/dist/components/Link/index.mjs +1 -1
  408. package/dist/components/ListBox/index.d.mts +3 -3
  409. package/dist/components/ListBox/index.mjs +1 -1
  410. package/dist/components/LoadingShimmer/index.mjs +1 -1
  411. package/dist/components/MaskedInput/index.mjs +3 -3
  412. package/dist/components/MaskedInput/index.mjs.map +1 -1
  413. package/dist/components/MatchHighlight/index.mjs +2 -2
  414. package/dist/components/MatchHighlight/index.mjs.map +1 -1
  415. package/dist/components/Menu/index.d.mts +1 -1
  416. package/dist/components/Menu/index.mjs +1 -1
  417. package/dist/components/Modal/index.d.mts +1 -1
  418. package/dist/components/Modal/index.mjs +1 -1
  419. package/dist/components/PageHeader/index.d.mts +1 -1
  420. package/dist/components/PageHeader/index.mjs +1 -1
  421. package/dist/components/Pagination/index.d.mts +3 -3
  422. package/dist/components/Pagination/index.mjs +1 -1
  423. package/dist/components/Pii/index.mjs +1 -1
  424. package/dist/components/Popover/index.mjs +1 -1
  425. package/dist/components/ProgressBar/index.mjs +4 -4
  426. package/dist/components/ProgressBar/index.mjs.map +1 -1
  427. package/dist/components/ProgressIndicator/index.d.mts +1 -1
  428. package/dist/components/ProgressIndicator/index.mjs +1 -1
  429. package/dist/components/Radio/index.mjs +1 -1
  430. package/dist/components/RadioGroup/index.d.mts +1 -1
  431. package/dist/components/RadioGroup/index.mjs +1 -1
  432. package/dist/components/RichTextEditor/index.d.mts +5 -0
  433. package/dist/components/RichTextEditor/index.mjs +1050 -0
  434. package/dist/components/RichTextEditor/index.mjs.map +1 -0
  435. package/dist/components/RightPanel/index.mjs +9 -9
  436. package/dist/components/RightPanel/index.mjs.map +1 -1
  437. package/dist/components/SegmentedControl/index.d.mts +1 -1
  438. package/dist/components/SegmentedControl/index.mjs +1 -1
  439. package/dist/components/Select/index.d.mts +1 -1
  440. package/dist/components/Select/index.mjs +1 -1
  441. package/dist/components/SelectionCard/index.mjs +9 -9
  442. package/dist/components/SelectionCard/index.mjs.map +1 -1
  443. package/dist/components/Slider/index.mjs +6 -6
  444. package/dist/components/Slider/index.mjs.map +1 -1
  445. package/dist/components/SmartTextInput/PillType.d.mts +1 -1
  446. package/dist/components/SmartTextInput/PillType.mjs +2 -2
  447. package/dist/components/SmartTextInput/PillType.mjs.map +1 -1
  448. package/dist/components/SmartTextInput/index.d.mts +2 -2
  449. package/dist/components/SmartTextInput/index.mjs +25 -25
  450. package/dist/components/SmartTextInput/index.mjs.map +1 -1
  451. package/dist/components/SmartTextInput/parser/method-chain/parser.mjs +1 -1
  452. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +1 -1
  453. package/dist/components/SmartTextInput/parser/method-chain/types.mjs +1 -1
  454. package/dist/components/SmartTextInput/parser/method-chain/types.mjs.map +1 -1
  455. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs +2 -2
  456. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs.map +1 -1
  457. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +2 -2
  458. package/dist/components/SmartTextInput/parser/smart-text/types.mjs +1 -1
  459. package/dist/components/SmartTextInput/parser/smart-text/types.mjs.map +1 -1
  460. package/dist/components/Spacer/index.mjs +1 -1
  461. package/dist/components/Spinner/index.mjs +1 -1
  462. package/dist/components/Stack/index.d.mts +1 -1
  463. package/dist/components/Stack/index.mjs +1 -1
  464. package/dist/components/StatusIndicator/index.mjs +1 -1
  465. package/dist/components/Sticker/index.d.mts +1 -1
  466. package/dist/components/Sticker/index.mjs +1 -1
  467. package/dist/components/SwatchPicker/index.mjs +2 -2
  468. package/dist/components/SwatchPicker/index.mjs.map +1 -1
  469. package/dist/components/TabBar/index.mjs +1 -1
  470. package/dist/components/Table/index.d.mts +8 -8
  471. package/dist/components/Table/index.mjs +1 -1
  472. package/dist/components/TableBox/index.d.mts +2 -2
  473. package/dist/components/TableBox/index.mjs +1 -1
  474. package/dist/components/TechnicalSticker/index.mjs +1 -1
  475. package/dist/components/Text/index.d.mts +1 -1
  476. package/dist/components/Text/index.mjs +1 -1
  477. package/dist/components/TextArea/index.d.mts +1 -1
  478. package/dist/components/TextArea/index.mjs +1 -1
  479. package/dist/components/Tile/index.mjs +6 -6
  480. package/dist/components/Tile/index.mjs.map +1 -1
  481. package/dist/components/Toast/index.mjs +3 -3
  482. package/dist/components/Toast/index.mjs.map +1 -1
  483. package/dist/components/Toggle/index.d.mts +1 -1
  484. package/dist/components/Toggle/index.mjs +1 -1
  485. package/dist/components/Tooltip/index.d.mts +3 -3
  486. package/dist/components/Tooltip/index.mjs +1 -1
  487. package/dist/components/VersionHistory/index.d.mts +1 -1
  488. package/dist/components/VersionHistory/index.mjs +12 -12
  489. package/dist/components/VersionHistory/index.mjs.map +1 -1
  490. package/dist/compound-expression.d.mts +2 -2
  491. package/dist/{constants-4rSh8e5G.d.mts → constants-CW1DRgwi.d.mts} +2 -2
  492. package/dist/{constants-BaMvTUbS.d.mts → constants-D1hoZ5LO.d.mts} +2 -2
  493. package/dist/constants.d.mts +1 -1
  494. package/dist/constants2.d.mts +1 -1
  495. package/dist/containers.d.mts +1 -1
  496. package/dist/createPath-C4ZFkt93.d.mts +7 -0
  497. package/dist/createPath.d.mts +1 -1
  498. package/dist/{date-filter-D0ys8s0D.mjs → date-filter-Bj4XkwkT.mjs} +3 -3
  499. package/dist/date-filter-Bj4XkwkT.mjs.map +1 -0
  500. package/dist/{date-range-rule-value-Dk6pZHnD.d.mts → date-range-rule-value-CrVBpQcf.d.mts} +3 -3
  501. package/dist/date-range-rule-value.d.mts +1 -1
  502. package/dist/{date-rule-intent-C5C8HB1v.d.mts → date-rule-intent-C1aptAoX.d.mts} +4 -4
  503. package/dist/date-rule-intent.d.mts +1 -1
  504. package/dist/display.d.mts +3 -3
  505. package/dist/fieldPickerOptions.d.mts +3 -3
  506. package/dist/{filter-size-context-5xQ3ycnC.d.mts → filter-size-context-CbT4pi3S.d.mts} +3 -3
  507. package/dist/filter-size-context.d.mts +1 -1
  508. package/dist/{filters-jG9Y3UKb.d.mts → filters-DjXkx8GJ.d.mts} +3 -3
  509. package/dist/filters.d.mts +1 -1
  510. package/dist/format-date-value.d.mts +1 -1
  511. package/dist/{formatDateTime-Dd9inM5H.d.mts → formatDateTime-BikGGrvq.d.mts} +2 -2
  512. package/dist/formatDateTime.d.mts +1 -1
  513. package/dist/{helpers-DCIto6aY.d.mts → helpers-CdxEL7ri.d.mts} +5 -5
  514. package/dist/helpers.d.mts +1 -1
  515. package/dist/{i18n-BscB9FUy.mjs → i18n-BLyCaSdJ.mjs} +4 -4
  516. package/dist/i18n-BLyCaSdJ.mjs.map +1 -0
  517. package/dist/index-BWAycP6L.d.mts +4025 -0
  518. package/dist/{index-EGvEhP1j.d.mts → index-D2YFHdsf.d.mts} +3 -3
  519. package/dist/{index-C3uFHTo0.d.mts → index-DX5Zu9JU.d.mts} +4 -4
  520. package/dist/index-FgIOTuJ4.d.mts +7 -0
  521. package/dist/index.d.mts +1 -2
  522. package/dist/index2.d.mts +2 -2
  523. package/dist/index3.d.mts +2 -4
  524. package/dist/index4.d.mts +4 -2
  525. package/dist/index5.d.mts +2 -15
  526. package/dist/index6.d.mts +15 -1
  527. package/dist/{input-CKhARTlS.d.mts → input-gtTnb9M8.d.mts} +4 -4
  528. package/dist/{inputFields-mUsms2tO.d.mts → inputFields-CYttsz5M.d.mts} +12 -12
  529. package/dist/inputFields.d.mts +1 -1
  530. package/dist/{intersperse-ObkRVOag.mjs → intersperse-DvJsBw5D.mjs} +2 -2
  531. package/dist/intersperse-DvJsBw5D.mjs.map +1 -0
  532. package/dist/intersperse.d.mts +1 -1
  533. package/dist/{jsonSchema-DmOA0Lnu.d.mts → jsonSchema-DUkfAip_.d.mts} +3 -3
  534. package/dist/lib/ConfigContext.d.mts +1 -1
  535. package/dist/lib/ConfigContext.mjs +1 -1
  536. package/dist/lib/ConfigContext.mjs.map +1 -1
  537. package/dist/lib/GlobalStyles.d.mts +1 -1
  538. package/dist/lib/GlobalStyles.mjs +2 -2
  539. package/dist/lib/GlobalStyles.mjs.map +1 -1
  540. package/dist/lib/HeadlessAriaButton.d.mts +1 -1
  541. package/dist/lib/HeadlessAriaButton.mjs +2 -2
  542. package/dist/lib/HeadlessAriaButton.mjs.map +1 -1
  543. package/dist/lib/MiddleTruncatedText.d.mts +1 -1
  544. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  545. package/dist/lib/PDSProvider.d.mts +4 -4
  546. package/dist/lib/PDSProvider.mjs +4 -4
  547. package/dist/lib/PDSProvider.mjs.map +1 -1
  548. package/dist/lib/TruncatedText.d.mts +1 -1
  549. package/dist/lib/TruncatedText.mjs +2 -2
  550. package/dist/lib/TruncatedText.mjs.map +1 -1
  551. package/dist/lib/TruncatedTextWithTooltip.d.mts +2 -2
  552. package/dist/lib/TruncatedTextWithTooltip.mjs +2 -2
  553. package/dist/lib/TruncatedTextWithTooltip.mjs.map +1 -1
  554. package/dist/lib/chainTypes.d.mts +1 -1
  555. package/dist/lib/color.d.mts +1 -1
  556. package/dist/lib/color.mjs +1 -1
  557. package/dist/lib/color.mjs.map +1 -1
  558. package/dist/lib/colorMode.d.mts +3 -3
  559. package/dist/lib/colorMode.mjs +2 -2
  560. package/dist/lib/colorMode.mjs.map +1 -1
  561. package/dist/lib/comboboxHelper.d.mts +1 -1
  562. package/dist/lib/comboboxHelper.mjs +1 -1
  563. package/dist/lib/comboboxHelper.mjs.map +1 -1
  564. package/dist/lib/copyTextToClipboard.d.mts +1 -1
  565. package/dist/lib/copyTextToClipboard.mjs +1 -1
  566. package/dist/lib/copyTextToClipboard.mjs.map +1 -1
  567. package/dist/lib/customFunctionSchema.d.mts +2 -2
  568. package/dist/lib/customFunctionSchema.mjs +1 -1
  569. package/dist/lib/customFunctionSchema.mjs.map +1 -1
  570. package/dist/lib/date-filter/index.d.mts +2 -2
  571. package/dist/lib/date-filter/index.mjs +1 -1
  572. package/dist/lib/datePickerHelper.d.mts +1 -1
  573. package/dist/lib/datePickerHelper.mjs +1 -1
  574. package/dist/lib/datePickerHelper.mjs.map +1 -1
  575. package/dist/lib/embeddedSurfaceProtocol.d.mts +1 -1
  576. package/dist/lib/embeddedSurfaceProtocol.mjs +1 -1
  577. package/dist/lib/embeddedSurfaceProtocol.mjs.map +1 -1
  578. package/dist/lib/embeddedSurfaceRegistry.d.mts +1 -1
  579. package/dist/lib/embeddedSurfaceRegistry.mjs +1 -1
  580. package/dist/lib/embeddedSurfaceRegistry.mjs.map +1 -1
  581. package/dist/lib/errorReporter.d.mts +1 -1
  582. package/dist/lib/errorReporter.mjs +1 -1
  583. package/dist/lib/errorReporter.mjs.map +1 -1
  584. package/dist/lib/i18n/index.d.mts +3 -3
  585. package/dist/lib/i18n/index.mjs +1 -1
  586. package/dist/lib/jsonSchema.d.mts +1 -1
  587. package/dist/lib/jsonSchema.mjs +1 -1
  588. package/dist/lib/jsonSchema.mjs.map +1 -1
  589. package/dist/lib/jsonSchemaType.d.mts +2 -2
  590. package/dist/lib/jsonSchemaType.mjs +1 -1
  591. package/dist/lib/jsonSchemaType.mjs.map +1 -1
  592. package/dist/lib/letPointerDownReachDocument.d.mts +1 -1
  593. package/dist/lib/letPointerDownReachDocument.mjs +1 -1
  594. package/dist/lib/letPointerDownReachDocument.mjs.map +1 -1
  595. package/dist/lib/message.d.mts +1 -1
  596. package/dist/lib/message.mjs +1 -1
  597. package/dist/lib/message.mjs.map +1 -1
  598. package/dist/lib/methodChain.d.mts +2 -2
  599. package/dist/lib/methodChain.mjs +1 -1
  600. package/dist/lib/methodChainNormalize.d.mts +3 -3
  601. package/dist/lib/methodChainNormalize.mjs +1 -1
  602. package/dist/lib/methodChainNormalize.mjs.map +1 -1
  603. package/dist/lib/methodChainTypes.d.mts +1 -1
  604. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  605. package/dist/lib/platformObject.d.mts +2 -2
  606. package/dist/lib/platformObject.mjs +1 -1
  607. package/dist/lib/platformObject.mjs.map +1 -1
  608. package/dist/lib/pseudoClass.d.mts +2 -2
  609. package/dist/lib/pseudoClass.mjs +1 -1
  610. package/dist/lib/pseudoClass.mjs.map +1 -1
  611. package/dist/lib/reorderItems.d.mts +1 -1
  612. package/dist/lib/reorderItems.mjs +1 -1
  613. package/dist/lib/reorderItems.mjs.map +1 -1
  614. package/dist/lib/router/adapters/reactRouter.d.mts +2 -2
  615. package/dist/lib/router/adapters/reactRouter.mjs +2 -2
  616. package/dist/lib/router/adapters/reactRouter.mjs.map +1 -1
  617. package/dist/lib/router/adapters/tanstack.d.mts +2 -2
  618. package/dist/lib/router/adapters/tanstack.mjs +2 -2
  619. package/dist/lib/router/adapters/tanstack.mjs.map +1 -1
  620. package/dist/lib/router/index.d.mts +5 -5
  621. package/dist/lib/router/index.mjs +2 -2
  622. package/dist/lib/schemaOptions.d.mts +1 -1
  623. package/dist/lib/schemaOptions.mjs +2 -2
  624. package/dist/lib/schemaOptions.mjs.map +1 -1
  625. package/dist/lib/selectHelper.d.mts +1 -1
  626. package/dist/lib/selectHelper.mjs +1 -1
  627. package/dist/lib/selectHelper.mjs.map +1 -1
  628. package/dist/lib/semanticColor.d.mts +1 -1
  629. package/dist/lib/semanticColor.mjs +1 -1
  630. package/dist/lib/semanticColor.mjs.map +1 -1
  631. package/dist/lib/snakifyPath.d.mts +1 -1
  632. package/dist/lib/snakifyPath.mjs +1 -1
  633. package/dist/lib/snakifyPath.mjs.map +1 -1
  634. package/dist/lib/useChain.d.mts +1 -1
  635. package/dist/lib/useChain.mjs +1 -1
  636. package/dist/lib/useControlled.d.mts +1 -1
  637. package/dist/lib/useControlled.mjs +1 -1
  638. package/dist/lib/useControlled.mjs.map +1 -1
  639. package/dist/lib/useEmbeddedSurface.d.mts +1 -1
  640. package/dist/lib/useEmbeddedSurface.mjs +1 -1
  641. package/dist/lib/useEmbeddedSurface.mjs.map +1 -1
  642. package/dist/lib/useIsOverflow.d.mts +1 -1
  643. package/dist/lib/useIsOverflow.mjs +1 -1
  644. package/dist/lib/useIsOverflow.mjs.map +1 -1
  645. package/dist/lib/useModalInsetRight.d.mts +1 -1
  646. package/dist/lib/useModalInsetRight.mjs +1 -1
  647. package/dist/lib/useModalInsetRight.mjs.map +1 -1
  648. package/dist/lib/useOutsideClick.d.mts +1 -1
  649. package/dist/lib/useOutsideClick.mjs +1 -1
  650. package/dist/lib/useOutsideClick.mjs.map +1 -1
  651. package/dist/lib/useResizablePanel.d.mts +1 -1
  652. package/dist/lib/useResizablePanel.mjs +1 -1
  653. package/dist/lib/useResizablePanel.mjs.map +1 -1
  654. package/dist/lib/useScrollOverflow.d.mts +1 -1
  655. package/dist/lib/useScrollOverflow.mjs +1 -1
  656. package/dist/lib/useScrollOverflow.mjs.map +1 -1
  657. package/dist/lib/zindex.d.mts +1 -1
  658. package/dist/lib/zindex.mjs +1 -1
  659. package/dist/lib/zindex.mjs.map +1 -1
  660. package/dist/lint/index.d.mts +11 -0
  661. package/dist/lint/index.mjs +399 -0
  662. package/dist/lint/index.mjs.map +1 -0
  663. package/dist/lint/recommended.json +10 -0
  664. package/dist/{listbox-options-DCmqWWgy.d.mts → listbox-options-CkwENvff.d.mts} +4 -4
  665. package/dist/listbox-options.d.mts +1 -1
  666. package/dist/markdownUtils.d.mts +23 -0
  667. package/dist/{message-Dti22dmx.d.mts → message-klSuXfNN.d.mts} +2 -2
  668. package/dist/{methodChain-DaDvXsHF.d.mts → methodChain-CRYRDa1k.d.mts} +6 -6
  669. package/dist/{methodChain-xZ1_vhbz.mjs → methodChain-LVNHiGPB.mjs} +4 -4
  670. package/dist/methodChain-LVNHiGPB.mjs.map +1 -0
  671. package/dist/{methodChainTypes-a7kHYhs7.d.mts → methodChainTypes-BtbYWrdP.d.mts} +3 -3
  672. package/dist/middleTruncateText.d.mts +1 -1
  673. package/dist/min-copy-size.d.mts +7 -0
  674. package/dist/mixins/focus.d.mts +2 -2
  675. package/dist/mixins/focus.mjs +2 -2
  676. package/dist/mixins/focus.mjs.map +1 -1
  677. package/dist/mixins/hoverable.d.mts +3 -3
  678. package/dist/mixins/hoverable.mjs +2 -2
  679. package/dist/mixins/hoverable.mjs.map +1 -1
  680. package/dist/mixins/input.d.mts +1 -1
  681. package/dist/mixins/input.mjs +2 -2
  682. package/dist/mixins/input.mjs.map +1 -1
  683. package/dist/mixins/menuItem.d.mts +3 -3
  684. package/dist/mixins/menuItem.mjs +2 -2
  685. package/dist/mixins/menuItem.mjs.map +1 -1
  686. package/dist/mixins/print/index.d.mts +1 -1
  687. package/dist/mixins/print/index.mjs +2 -2
  688. package/dist/mixins/print/index.mjs.map +1 -1
  689. package/dist/mixins/scrollbar.d.mts +2 -2
  690. package/dist/mixins/scrollbar.mjs +2 -2
  691. package/dist/mixins/scrollbar.mjs.map +1 -1
  692. package/dist/mixins/text.d.mts +1 -1
  693. package/dist/mixins/text.mjs +6 -2
  694. package/dist/mixins/text.mjs.map +1 -1
  695. package/dist/navigationEvents.d.mts +1 -1
  696. package/dist/no-raw-table.d.mts +7 -0
  697. package/dist/{operators-Seez5p9U.d.mts → operators-gCG7uZ6y.d.mts} +4 -4
  698. package/dist/operators.d.mts +1 -1
  699. package/dist/{palette-Bp5G-S_5.d.mts → palette-C1gBbxLO.d.mts} +4 -4
  700. package/dist/palette.d.mts +1 -1
  701. package/dist/{parser-BeTiVjRs.mjs → parser-BQ2aDi7S.mjs} +2 -2
  702. package/dist/parser-BQ2aDi7S.mjs.map +1 -0
  703. package/dist/patterns/CardGrouping/index.mjs +11 -11
  704. package/dist/patterns/CardGrouping/index.mjs.map +1 -1
  705. package/dist/patterns/IndexTableLayout/index.mjs +6 -6
  706. package/dist/patterns/IndexTableLayout/index.mjs.map +1 -1
  707. package/dist/patterns/LayoutLoadingShimmer/index.mjs +8 -8
  708. package/dist/patterns/LayoutLoadingShimmer/index.mjs.map +1 -1
  709. package/dist/patterns/LayoutLoadingSpinner/index.mjs +2 -2
  710. package/dist/patterns/LayoutLoadingSpinner/index.mjs.map +1 -1
  711. package/dist/patterns/PageLayout/index.d.mts +4 -4
  712. package/dist/patterns/PageLayout/index.mjs +1 -1
  713. package/dist/patterns/WizardModal/index.mjs +7 -7
  714. package/dist/patterns/WizardModal/index.mjs.map +1 -1
  715. package/dist/positioning.d.mts +1 -1
  716. package/dist/reactRouterFallback.d.mts +2 -2
  717. package/dist/reduced-motion.d.mts +7 -0
  718. package/dist/relative-date-label.d.mts +2 -2
  719. package/dist/{router-COrZcVkf.mjs → router-BxmA940v.mjs} +7 -7
  720. package/dist/router-BxmA940v.mjs.map +1 -0
  721. package/dist/safe-parse.d.mts +3 -3
  722. package/dist/{schemaOptions-BQgLOgtD.d.mts → schemaOptions-C_JM2-sg.d.mts} +4 -4
  723. package/dist/scrollExpandedItemIntoView.d.mts +1 -1
  724. package/dist/{semantic-DjKvtUi8.d.mts → semantic-BLaQSW1r.d.mts} +2 -2
  725. package/dist/semantic-color.d.mts +7 -0
  726. package/dist/{semanticColor-CmGmGRj8.d.mts → semanticColor-Bxufk3ZO.d.mts} +4 -4
  727. package/dist/shared.d.mts +30 -0
  728. package/dist/{strings-FWNWdSn1.d.mts → strings-CK9n6b65.d.mts} +2 -2
  729. package/dist/strings.d.mts +1 -1
  730. package/dist/{styledComponentsInterop-NxwFjeA4.mjs → styledComponentsInterop-Cs5CCPRy.mjs} +2 -2
  731. package/dist/styledComponentsInterop-Cs5CCPRy.mjs.map +1 -0
  732. package/dist/styles.d.mts +8 -0
  733. package/dist/tableBoxKeyboardNavigation.d.mts +1 -1
  734. package/dist/{text-BNfECpa5.d.mts → text-Csytfclh.d.mts} +3 -3
  735. package/dist/{theme-VNhXxAF3.d.mts → theme-mQ4WkH90.d.mts} +4 -4
  736. package/dist/theme.d.mts +1 -1
  737. package/dist/theme.mjs +1 -1
  738. package/dist/theme.mjs.map +1 -1
  739. package/dist/time-range.d.mts +1 -1
  740. package/dist/tone.d.mts +4 -4
  741. package/dist/tree.d.mts +2 -2
  742. package/dist/{types-CFe4tA8Q.d.mts → types-6L0ptM6-.d.mts} +2 -2
  743. package/dist/{types-SOkNtcBq.d.mts → types-B4KbdEDc.d.mts} +3 -3
  744. package/dist/{types-Kmnood9Y.d.mts → types-C2RhHxbE.d.mts} +2 -2
  745. package/dist/{types-CrRWZ0Ia.d.mts → types-CayYd8EX.d.mts} +4 -4
  746. package/dist/{types-DxJyE_U8.d.mts → types-DJobO07d.d.mts} +4 -4
  747. package/dist/{types-EodOhsjw.d.mts → types-DbOD5vE_.d.mts} +3 -3
  748. package/dist/{types-HxiGiwQN.d.mts → types-Dhz6VMKx.d.mts} +2 -2
  749. package/dist/{types-DWU0Dmy9.d.mts → types-XjJqUj-p.d.mts} +5 -5
  750. package/dist/{types-DfpVVjso.d.mts → types-dmItSshr.d.mts} +3 -3
  751. package/dist/{types-39QvBZuZ.d.mts → types-rDQg74j-.d.mts} +2 -2
  752. package/dist/types.d.mts +1 -1
  753. package/dist/types2.d.mts +1 -1
  754. package/dist/types3.d.mts +1 -1
  755. package/dist/types4.d.mts +1 -1
  756. package/dist/types5.d.mts +1 -1
  757. package/dist/types6.d.mts +1 -1
  758. package/dist/types7.d.mts +14 -2
  759. package/dist/types8.d.mts +2 -0
  760. package/dist/{url-state-CwaRVyXR.d.mts → url-state-CmgyDnG7.d.mts} +3 -3
  761. package/dist/url-state.d.mts +1 -1
  762. package/dist/use-rules-popover-selection.d.mts +1 -1
  763. package/dist/{useChain-DXkKKe-J.d.mts → useChain-7ztbfujM.d.mts} +7 -7
  764. package/dist/{useChain-Cu4KDfFk.mjs → useChain-D1aNsdvn.mjs} +4 -4
  765. package/dist/useChain-D1aNsdvn.mjs.map +1 -0
  766. package/dist/useChainAtCursor.d.mts +7 -7
  767. package/dist/useCodeChainFunctionPanel.d.mts +2 -2
  768. package/dist/useColumnConfiguration.d.mts +3 -3
  769. package/dist/useColumnWidthLock.d.mts +1 -1
  770. package/dist/useComboboxFooterAction.d.mts +2 -2
  771. package/dist/useDelayedInlineEditError.d.mts +1 -1
  772. package/dist/{useFilterStateV2-Bzo27PR-.d.mts → useFilterStateV2-CPBt0qwc.d.mts} +4 -4
  773. package/dist/useFilterStateV2.d.mts +1 -1
  774. package/dist/{useFormField-Ba8rh1CH.d.mts → useFormField-CmEJCqse.d.mts} +3 -3
  775. package/dist/{useFormField-CbNYbDdp.mjs → useFormField-pOVkb5BK.mjs} +3 -3
  776. package/dist/useFormField-pOVkb5BK.mjs.map +1 -0
  777. package/dist/useFormField.d.mts +1 -1
  778. package/dist/{useFormGroup-CsKC93Pt.mjs → useFormGroup-DSQkoWLh.mjs} +2 -2
  779. package/dist/useFormGroup-DSQkoWLh.mjs.map +1 -0
  780. package/dist/useFormGroup.d.mts +1 -1
  781. package/dist/useLocationPathname-Cnqj8pf4.d.mts +5 -0
  782. package/dist/useLocationPathname.d.mts +1 -1
  783. package/dist/{useTableBoxDragAndDrop-CKPIY98e.d.mts → useTableBoxDragAndDrop-8NS4JBuI.d.mts} +2 -2
  784. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  785. package/dist/{useTableColumns-DSXRInPb.d.mts → useTableColumns-BK-KYY0L.d.mts} +3 -3
  786. package/dist/useTableColumns.d.mts +1 -1
  787. package/dist/{useToggle-DRzCDqrc.mjs → useToggle-1z8JE7Ym.mjs} +2 -2
  788. package/dist/useToggle-1z8JE7Ym.mjs.map +1 -0
  789. package/dist/useToggle.d.mts +1 -1
  790. package/dist/useTruncation.d.mts +2 -2
  791. package/dist/{utilities-BrEUGFGq.d.mts → utilities-CXoc5Cyr.d.mts} +2 -2
  792. package/dist/utilities.d.mts +1 -1
  793. package/dist/utils/storybook.mjs +2 -2
  794. package/dist/utils/storybook.mjs.map +1 -1
  795. package/dist/utils/testing.d.mts +2 -2
  796. package/dist/utils/testing.mjs +1 -1
  797. package/dist/utils/testing.mjs.map +1 -1
  798. package/dist/utils.d.mts +2 -2
  799. package/dist/utils2.d.mts +1 -1
  800. package/dist/utils3.d.mts +1 -1
  801. package/dist/utils4.d.mts +6 -6
  802. package/dist/{validation-D6NPueNk.d.mts → validation-BaqPVG1C.d.mts} +4 -4
  803. package/dist/validation.d.mts +1 -1
  804. package/dist/validation2.d.mts +5 -5
  805. package/dist/{value-control-resolver-C-UrXVlB.d.mts → value-control-resolver-CMyFwEY7.d.mts} +3 -3
  806. package/dist/value-control-resolver.d.mts +1 -1
  807. package/dist/variables/color.d.mts +1 -1
  808. package/dist/variables/color.mjs +1 -1
  809. package/dist/variables/color.mjs.map +1 -1
  810. package/dist/variables/effect.d.mts +2 -2
  811. package/dist/variables/effect.mjs +1 -1
  812. package/dist/variables/effect.mjs.map +1 -1
  813. package/dist/variables/keyframes.d.mts +1 -1
  814. package/dist/variables/keyframes.mjs +2 -2
  815. package/dist/variables/keyframes.mjs.map +1 -1
  816. package/dist/variables/semantic.d.mts +1 -1
  817. package/dist/variables/semantic.mjs +1 -1
  818. package/dist/variables/semantic.mjs.map +1 -1
  819. package/dist/variables/spacing.d.mts +1 -1
  820. package/dist/variables/spacing.mjs +1 -1
  821. package/dist/variables/spacing.mjs.map +1 -1
  822. package/dist/variables/text.d.mts +1 -1
  823. package/dist/variables/text.mjs +1 -1
  824. package/dist/variables/text.mjs.map +1 -1
  825. package/dist/variables/transitions.d.mts +1 -1
  826. package/dist/variables/transitions.mjs +1 -1
  827. package/dist/variables/transitions.mjs.map +1 -1
  828. package/llms.txt +2 -2
  829. package/package.json +32 -8
  830. package/skills/design-system-component-authoring/SKILL.md +4 -4
  831. package/skills/design-system-component-authoring/component-conventions.md +2 -2
  832. package/skills/new-screen/SKILL.md +56 -0
  833. package/skills/ui-authoring/COMPONENTS.md +2 -1
  834. package/skills/ui-authoring/SKILL.md +5 -3
  835. package/skills/ui-authoring/STANDARD.md +65 -50
  836. package/dist/Badge-Bvn3afds.mjs.map +0 -1
  837. package/dist/Breadcrumbs-gRAsKF4R.mjs.map +0 -1
  838. package/dist/Card-BXNxWX5C.mjs.map +0 -1
  839. package/dist/CardV2-Dp4eHSE-.mjs.map +0 -1
  840. package/dist/Checkbox-BaJ-dGdX.mjs.map +0 -1
  841. package/dist/Combobox-CBM-oY-e.mjs.map +0 -1
  842. package/dist/ConfigFormGroup-CidT_cE9.mjs.map +0 -1
  843. package/dist/DataTable-DQ8axNfo.mjs.map +0 -1
  844. package/dist/DatePicker-D0cvVbzq.mjs.map +0 -1
  845. package/dist/DropdownButton-5oNcpsOq.mjs.map +0 -1
  846. package/dist/DropdownMenu-CedsmO5h.mjs.map +0 -1
  847. package/dist/FormControl-C4CiA0H-.mjs.map +0 -1
  848. package/dist/FormField-C0cd1zVd.mjs.map +0 -1
  849. package/dist/Grid-DXVkhyNQ.mjs.map +0 -1
  850. package/dist/HoverCopyableField-D-BubaRd.mjs.map +0 -1
  851. package/dist/IconButton-HWx5Hlmi.mjs.map +0 -1
  852. package/dist/Input-Dap055xf.mjs.map +0 -1
  853. package/dist/Link-Cf__H8gD.mjs.map +0 -1
  854. package/dist/ListBox-eoyBHtnJ.mjs.map +0 -1
  855. package/dist/LoadingShimmer-Bqjdut7i.mjs.map +0 -1
  856. package/dist/Menu-Dw6Rcpk6.mjs.map +0 -1
  857. package/dist/MiddleTruncatedText-DoTyfMem.mjs.map +0 -1
  858. package/dist/Modal-kjUptzg1.mjs.map +0 -1
  859. package/dist/PageHeader-D2j2XHD9.mjs.map +0 -1
  860. package/dist/PageLayout-fXJW7daI.mjs.map +0 -1
  861. package/dist/Pagination-DtK-jbEY.mjs.map +0 -1
  862. package/dist/Pii-DueIK287.mjs.map +0 -1
  863. package/dist/Popover-BcII7usF.mjs.map +0 -1
  864. package/dist/ProgressIndicator-CM37EU1B.mjs.map +0 -1
  865. package/dist/Radio-BstZg3DI.mjs.map +0 -1
  866. package/dist/RadioGroup-erKerwSt.mjs.map +0 -1
  867. package/dist/RouterContext-nPSb55p9.mjs.map +0 -1
  868. package/dist/SegmentedControl-DQjIO6iX.mjs.map +0 -1
  869. package/dist/Select-BJ9ACmRD.mjs.map +0 -1
  870. package/dist/Spacer-J_HuhxX2.mjs.map +0 -1
  871. package/dist/Spinner-7Camx1vs.mjs.map +0 -1
  872. package/dist/Stack-BkC7FCdF.mjs.map +0 -1
  873. package/dist/StatusIndicator-Bunn9YLV.mjs.map +0 -1
  874. package/dist/Sticker-yhxtIYH8.mjs.map +0 -1
  875. package/dist/TabBar-SX8E9-Bk.mjs.map +0 -1
  876. package/dist/Table-BIDaC0uS.mjs.map +0 -1
  877. package/dist/TableBox-Bn_XZEYd.mjs.map +0 -1
  878. package/dist/TableControls-qxoq5abn.mjs.map +0 -1
  879. package/dist/TechnicalSticker-CALVwnrT.mjs.map +0 -1
  880. package/dist/Text-CSwFifQF.mjs.map +0 -1
  881. package/dist/TextArea-CaIEBz8d.mjs.map +0 -1
  882. package/dist/Toggle-BsqSNYok.mjs.map +0 -1
  883. package/dist/Tooltip-B-0VRuKT.mjs.map +0 -1
  884. package/dist/chainTypes-Cjp0zZ4E.d.mts +0 -17
  885. package/dist/createPath-B_CLq82C.d.mts +0 -7
  886. package/dist/date-filter-D0ys8s0D.mjs.map +0 -1
  887. package/dist/i18n-BscB9FUy.mjs.map +0 -1
  888. package/dist/index-DTAcGzW4.d.mts +0 -7
  889. package/dist/intersperse-ObkRVOag.mjs.map +0 -1
  890. package/dist/methodChain-xZ1_vhbz.mjs.map +0 -1
  891. package/dist/parser-BeTiVjRs.mjs.map +0 -1
  892. package/dist/router-COrZcVkf.mjs.map +0 -1
  893. package/dist/styledComponentsInterop-NxwFjeA4.mjs.map +0 -1
  894. package/dist/useChain-Cu4KDfFk.mjs.map +0 -1
  895. package/dist/useFormField-CbNYbDdp.mjs.map +0 -1
  896. package/dist/useFormGroup-CsKC93Pt.mjs.map +0 -1
  897. package/dist/useLocationPathname-OsvI7mH5.d.mts +0 -5
  898. package/dist/useToggle-DRzCDqrc.mjs.map +0 -1
  899. package/skills/ui-authoring/lanes.json +0 -22
  900. /package/dist/{index-BOaE2xDE.d.mts → index-Bq9Ub6MB.d.mts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/BottomPanel/ResizeHandle.tsx","../../../components/BottomPanel/ResizableVerticalPanel.tsx","../../../components/BottomPanel/BottomPanel.tsx"],"sourcesContent":["import { type FC, type RefObject, useEffect, useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { Z_INDICES } from '@persona/design-system/lib/zindex';\nimport { Spacing } from '@persona/design-tokens';\n\nconst DRAGGING_CLASSNAME = 'dragging';\n\ninterface ResizeHandleProps {\n ariaLabel: string;\n /** Fires on double-click or Enter/Space so the host can toggle/reset the size. */\n onDoubleClick?: () => void;\n /** Called on each pointer move with the new top edge position (clientY) in px. */\n onMoveTo: (position: number) => void;\n /** Called once when the drag ends (pointerup, cancel, or lost capture). */\n onRelease?: () => void;\n /** The panel being resized; its edge seeds the grab offset so the handle doesn't jump. */\n panelRef: RefObject<HTMLDivElement>;\n}\n\n// The visible line is 2px tall on the panel's top border; the hitbox is Spacing[2] tall and\n// straddles that border so it is easy to grab without covering the header row's controls.\nconst ResizeHandleContainer = styled.div`\n cursor: row-resize;\n position: absolute;\n height: ${Spacing[2]};\n top: -${Spacing[1]};\n left: 0;\n right: 0;\n z-index: ${Z_INDICES.dropdown};\n touch-action: none;\n\n &::after {\n content: '';\n position: absolute;\n top: ${Spacing[1]};\n left: 0;\n right: 0;\n height: 2px;\n background-color: transparent;\n transition: background-color 0.15s ease-in;\n transition-delay: 0.025s;\n }\n\n &:hover::after,\n &.${DRAGGING_CLASSNAME}::after {\n background-color: ${({ theme }) => theme.color.border.active};\n }\n`;\n\n/** Vertical resize handle pinned to the top edge of a bottom-anchored panel. */\nexport const ResizeHandle: FC<ResizeHandleProps> = ({\n ariaLabel,\n onDoubleClick,\n onMoveTo,\n onRelease,\n panelRef,\n}) => {\n const resizeHandleRef = useRef<HTMLDivElement>(null);\n const panelOffsetRef = useRef(0);\n const activePointerIdRef = useRef<number | null>(null);\n const documentListenersRef = useRef<{\n handleEnd: (event: PointerEvent) => void;\n handleMove: (event: PointerEvent) => void;\n } | null>(null);\n // Document listeners are registered once per drag; reading the callbacks through\n // refs keeps them on the latest props without re-registering mid-drag.\n const onMoveToRef = useRef(onMoveTo);\n const onReleaseRef = useRef(onRelease);\n onMoveToRef.current = onMoveTo;\n onReleaseRef.current = onRelease;\n\n const removeDocumentListeners = () => {\n const listeners = documentListenersRef.current;\n if (!listeners) {\n return;\n }\n\n document.removeEventListener('pointermove', listeners.handleMove);\n document.removeEventListener('pointerup', listeners.handleEnd);\n document.removeEventListener('pointercancel', listeners.handleEnd);\n documentListenersRef.current = null;\n };\n\n // Pointer capture routes events through the handle (including over iframes), but\n // some surfaces still drop pointerup. Document-level listeners during an active\n // drag are the release safety net. Only the pointer that started the drag may\n // move or end it.\n const endDrag = (pointerId: number) => {\n if (activePointerIdRef.current !== pointerId) {\n return;\n }\n\n activePointerIdRef.current = null;\n removeDocumentListeners();\n try {\n resizeHandleRef.current?.releasePointerCapture(pointerId);\n } catch {\n // No active capture (or unsupported, e.g. jsdom) — nothing to release.\n }\n\n resizeHandleRef.current?.classList.remove(DRAGGING_CLASSNAME);\n panelOffsetRef.current = 0;\n onReleaseRef.current?.();\n };\n\n const handleDocumentPointerMove = (event: PointerEvent) => {\n if (activePointerIdRef.current !== event.pointerId) {\n return;\n }\n\n onMoveToRef.current(event.clientY + panelOffsetRef.current);\n };\n\n const addDocumentListeners = () => {\n removeDocumentListeners();\n\n const listeners = {\n handleEnd: (event: PointerEvent) => endDrag(event.pointerId),\n handleMove: handleDocumentPointerMove,\n };\n documentListenersRef.current = listeners;\n document.addEventListener('pointermove', listeners.handleMove);\n document.addEventListener('pointerup', listeners.handleEnd);\n document.addEventListener('pointercancel', listeners.handleEnd);\n };\n\n const endDragRef = useRef(endDrag);\n endDragRef.current = endDrag;\n useEffect(() => {\n return () => {\n const activePointerId = activePointerIdRef.current;\n if (activePointerId != null) {\n endDragRef.current(activePointerId);\n }\n };\n }, []);\n\n return (\n <ResizeHandleContainer\n aria-label={ariaLabel}\n onDoubleClick={onDoubleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n onDoubleClick?.();\n e.preventDefault();\n }\n }}\n onLostPointerCapture={(e) => endDrag(e.pointerId)}\n onPointerCancel={(e) => endDrag(e.pointerId)}\n onPointerDown={(e) => {\n // Primary button / touch / pen only; ignore secondary and middle clicks,\n // and a second pointer while a drag is already active.\n if (e.button !== 0 || activePointerIdRef.current != null) {\n return;\n }\n const panelRect = panelRef.current?.getBoundingClientRect();\n panelOffsetRef.current = panelRect ? panelRect.top - e.clientY : 0;\n activePointerIdRef.current = e.pointerId;\n resizeHandleRef.current?.classList.add(DRAGGING_CLASSNAME);\n addDocumentListeners();\n try {\n resizeHandleRef.current?.setPointerCapture(e.pointerId);\n } catch {\n // Pointer capture unsupported (e.g. jsdom) — document listeners still\n // route move/up events for the duration of the drag.\n }\n e.preventDefault();\n e.stopPropagation();\n }}\n onPointerUp={(e) => endDrag(e.pointerId)}\n ref={resizeHandleRef}\n role='button'\n tabIndex={0}\n />\n );\n};\n","import { type FC, type ReactNode, useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { IconButton } from '@persona/design-system/components/Button';\nimport { PanelState, type ResizablePanelState } from '@persona/design-system/lib/useResizablePanel';\nimport { Z_INDICES } from '@persona/design-system/lib/zindex';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { ArrowCollapseIcon, ArrowExpandIcon, XIcon } from '@persona/icons';\nimport { semanticScrollbar } from 'design-system/mixins/scrollbar';\n\nimport { ResizeHandle } from './ResizeHandle';\n\ninterface ResizableVerticalPanelProps {\n /** Panel body, rendered in the scrollable content area below the header. */\n children: ReactNode;\n /** Content for the header row, left of the maximize/minimize/close buttons. */\n headerContent?: ReactNode;\n /** State and drag/resize handlers from `useResizablePanel`. */\n hookState: ResizablePanelState;\n /** Minimum panel height in px. */\n minHeight: number;\n}\n\nconst TriStatePanel = styled.div.attrs<{\n customHeight: number | null;\n minHeight: number;\n panelState: PanelState;\n}>(({ customHeight, minHeight, panelState }) => ({\n style: {\n height: panelState === PanelState.Maximized ? '100%' : `${customHeight ?? minHeight}px`,\n },\n}))<{\n customHeight: number | null;\n minHeight: number;\n panelState: PanelState;\n}>`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n background-color: ${({ theme }) => theme.color.background.primary};\n position: relative;\n min-height: ${({ minHeight }) => minHeight}px;\n width: 100%;\n border-top: 1px solid ${Color.BorderDivider};\n z-index: ${Z_INDICES.topNav};\n`;\n\nconst TopRowContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n box-shadow: inset 0px -1px 0px 0px ${Color.BorderDivider};\n`;\n\nconst TopRightIconsContainer = styled.div`\n display: flex;\n align-items: center;\n padding: 0 ${Spacing[2]};\n gap: ${Spacing[2]};\n flex-direction: row;\n`;\n\nconst ContentContainer = styled.div`\n /* offset by the top row container height */\n height: calc(100% - ${Spacing[6]});\n overflow: auto;\n ${semanticScrollbar}\n display: flex;\n flex-direction: column;\n min-height: 0;\n`;\n\n/**\n * Bottom-anchored panel with a drag-to-resize top edge, a header row, and\n * maximize/minimize/close controls.\n */\nexport const ResizableVerticalPanel: FC<ResizableVerticalPanelProps> = ({\n children,\n headerContent,\n hookState,\n minHeight,\n}) => {\n const {\n collapse,\n handleDragMove: handlePanelDragMove,\n handleDragRelease,\n maximize,\n panelState,\n restore,\n size,\n toggleMaximized,\n } = hookState;\n const panelRef = useRef<HTMLDivElement>(null);\n // Controls only make sense once the drawer is taller than its collapsed header.\n const showControls = (size != null && size > minHeight) || panelState === PanelState.Maximized;\n // Converts the dragged top edge (clientY) into a panel height bounded by the\n // panel's container.\n const handleDragMove = (clientY: number) => {\n const panel = panelRef.current;\n const container = panel?.parentElement;\n if (!panel || !container) {\n return;\n }\n const panelBottom = panel.getBoundingClientRect().bottom;\n const containerTop = container.getBoundingClientRect().top;\n handlePanelDragMove(panelBottom - clientY, panelBottom - containerTop);\n };\n\n return (\n <TriStatePanel\n aria-label='Bottom panel'\n customHeight={size}\n minHeight={minHeight}\n panelState={panelState}\n ref={panelRef}\n role='region'\n >\n <ResizeHandle\n ariaLabel='Drag to resize bottom panel'\n onDoubleClick={toggleMaximized}\n onMoveTo={handleDragMove}\n onRelease={handleDragRelease}\n panelRef={panelRef}\n />\n\n <TopRowContainer>\n {headerContent}\n\n {showControls && (\n <TopRightIconsContainer>\n {panelState === PanelState.Maximized ? (\n <IconButton aria-label='Restore the bottom panel' onClick={restore} size='sm'>\n <ArrowCollapseIcon />\n </IconButton>\n ) : (\n <IconButton aria-label='Maximize the bottom panel' onClick={maximize} size='sm'>\n <ArrowExpandIcon />\n </IconButton>\n )}\n <IconButton aria-label='Close bottom panel' onClick={collapse} size='sm'>\n <XIcon />\n </IconButton>\n </TopRightIconsContainer>\n )}\n </TopRowContainer>\n\n <ContentContainer>{children}</ContentContainer>\n </TriStatePanel>\n );\n};\n","import {\n forwardRef,\n type ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useState,\n} from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport Badge from '@persona/design-system/components/Badge';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { PanelState, useResizablePanel } from '@persona/design-system/lib/useResizablePanel';\nimport { Spacing } from '@persona/design-tokens';\n\nimport { ResizableVerticalPanel } from './ResizableVerticalPanel';\n\n// One-pixel panel top border plus the 32px header row sets the collapsed drawer height.\nconst PANEL_MIN_HEIGHT = 33;\n// Where the drawer opens to when a collapsed tab is selected; the user can drag from there.\nconst OPEN_HEIGHT = 200;\n\nexport interface BottomPanelItemProps {\n /** Tab text; also the key `openPanel(label)` looks up. Unique per BottomPanel. */\n label: string;\n /**\n * Tab body. Every panel stays mounted while another tab is selected, so local\n * state (scroll, expanded rows) survives a switch.\n */\n content: ReactNode;\n /** Count shown as a badge on the tab. `0`/`undefined` hides it. */\n badge?: number;\n}\n\nexport interface BottomPanelHandle {\n /** Select the tab and expand the drawer if collapsed. No-op for an unknown label. */\n openPanel: (label: string) => void;\n}\n\nexport interface BottomPanelProps {\n /** Tabs to show, in order. */\n panels: BottomPanelItemProps[];\n}\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n padding-left: ${Spacing[4]};\n`;\n\n// The header row draws the divider edge to edge; the tab bar must not add its own.\nconst HeaderTabBar = styled(TabBar)`\n border-bottom: none;\n`;\n\nconst PanelContent = styled.div<{ $hidden: boolean }>`\n ${({ $hidden }) =>\n $hidden\n ? css`\n position: absolute;\n inset: 0;\n overflow: hidden;\n visibility: hidden;\n pointer-events: none;\n `\n : css`\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n `}\n`;\n\n/**\n * Resizable drawer anchored to the bottom of its container with one tab per\n * panel. Owns the tab bar, expand/collapse/resize, and always-mounted content;\n * the caller owns what each panel shows.\n */\nconst BottomPanel = forwardRef<BottomPanelHandle, BottomPanelProps>(function BottomPanel(\n { panels },\n ref,\n) {\n const baseId = useId();\n const [selected, setSelected] = useState<string | undefined>(panels[0]?.label);\n // Falls back to the first panel when the selected label has left `panels`, and\n // commits the fallback so the old label does not regain selection if it returns.\n const hasSelected = panels.some((panel) => panel.label === selected);\n const selectedLabel = hasSelected ? selected : panels[0]?.label;\n useEffect(() => {\n if (!hasSelected) {\n setSelected(selectedLabel);\n }\n }, [hasSelected, selectedLabel]);\n\n const resizablePanelState = useResizablePanel({\n initialSize: PANEL_MIN_HEIGHT,\n minSize: PANEL_MIN_HEIGHT,\n });\n const { expandTo, panelState, size } = resizablePanelState;\n\n // Selecting a tab opens a collapsed drawer but leaves a maximized one as is.\n const openPanel = useCallback(\n (label: string) => {\n if (panelState === PanelState.Drawer && (size == null || size <= PANEL_MIN_HEIGHT)) {\n expandTo(OPEN_HEIGHT);\n }\n setSelected(label);\n },\n [expandTo, panelState, size],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n openPanel: (label: string) => {\n if (panels.some((panel) => panel.label === label)) {\n openPanel(label);\n }\n },\n }),\n [openPanel, panels],\n );\n\n return (\n <ResizableVerticalPanel\n headerContent={\n <Header>\n <HeaderTabBar>\n {panels.map((panel, index) => (\n <Tab\n aria-controls={`${baseId}-panel-${index}`}\n badge={panel.badge ? <Badge>{panel.badge}</Badge> : undefined}\n id={`${baseId}-tab-${index}`}\n key={panel.label}\n onClick={() => openPanel(panel.label)}\n selected={selectedLabel === panel.label}\n >\n {panel.label}\n </Tab>\n ))}\n </HeaderTabBar>\n </Header>\n }\n hookState={resizablePanelState}\n minHeight={PANEL_MIN_HEIGHT}\n >\n {panels.map((panel, index) => {\n const isSelected = selectedLabel === panel.label;\n return (\n <PanelContent\n $hidden={!isSelected}\n aria-hidden={!isSelected}\n aria-labelledby={`${baseId}-tab-${index}`}\n id={`${baseId}-panel-${index}`}\n key={panel.label}\n role='tabpanel'\n >\n {panel.content}\n </PanelContent>\n );\n })}\n </ResizableVerticalPanel>\n );\n});\n\nexport default BottomPanel;\n"],"mappings":";;;;;;;;;;;;;AAMA,MAAM,qBAAqB;AAgB3B,MAAM,wBAAwB,OAAO,GAAG;;;YAG5B,QAAQ,GAAG;UACb,QAAQ,GAAG;;;aAGR,UAAU,SAAS;;;;;;WAMrB,QAAQ,GAAG;;;;;;;;;;MAUhB,mBAAmB;yBACA,EAAE,YAAY,MAAM,MAAM,OAAO,OAAO;;;;AAKjE,MAAa,gBAAuC,EAClD,WACA,eACA,UACA,WACA,eACI;CACJ,MAAM,kBAAkB,OAAuB,KAAK;CACpD,MAAM,iBAAiB,OAAO,EAAE;CAChC,MAAM,qBAAqB,OAAsB,KAAK;CACtD,MAAM,uBAAuB,OAGnB,KAAK;CAGf,MAAM,cAAc,OAAO,SAAS;CACpC,MAAM,eAAe,OAAO,UAAU;AACtC,aAAY,UAAU;AACtB,cAAa,UAAU;CAEvB,MAAM,gCAAgC;EACpC,MAAM,YAAY,qBAAqB;AACvC,MAAI,CAAC,UACH;AAGF,WAAS,oBAAoB,eAAe,UAAU,WAAW;AACjE,WAAS,oBAAoB,aAAa,UAAU,UAAU;AAC9D,WAAS,oBAAoB,iBAAiB,UAAU,UAAU;AAClE,uBAAqB,UAAU;;CAOjC,MAAM,WAAW,cAAsB;AACrC,MAAI,mBAAmB,YAAY,UACjC;AAGF,qBAAmB,UAAU;AAC7B,2BAAyB;AACzB,MAAI;AACF,mBAAgB,SAAS,sBAAsB,UAAU;UACnD;AAIR,kBAAgB,SAAS,UAAU,OAAO,mBAAmB;AAC7D,iBAAe,UAAU;AACzB,eAAa,WAAW;;CAG1B,MAAM,6BAA6B,UAAwB;AACzD,MAAI,mBAAmB,YAAY,MAAM,UACvC;AAGF,cAAY,QAAQ,MAAM,UAAU,eAAe,QAAQ;;CAG7D,MAAM,6BAA6B;AACjC,2BAAyB;EAEzB,MAAM,YAAY;GAChB,YAAY,UAAwB,QAAQ,MAAM,UAAU;GAC5D,YAAY;GACb;AACD,uBAAqB,UAAU;AAC/B,WAAS,iBAAiB,eAAe,UAAU,WAAW;AAC9D,WAAS,iBAAiB,aAAa,UAAU,UAAU;AAC3D,WAAS,iBAAiB,iBAAiB,UAAU,UAAU;;CAGjE,MAAM,aAAa,OAAO,QAAQ;AAClC,YAAW,UAAU;AACrB,iBAAgB;AACd,eAAa;GACX,MAAM,kBAAkB,mBAAmB;AAC3C,OAAI,mBAAmB,KACrB,YAAW,QAAQ,gBAAgB;;IAGtC,EAAE,CAAC;AAEN,QACE,oBAAC,uBAAD;EACE,cAAY;EACG;EACf,YAAY,MAAM;AAChB,OAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,qBAAiB;AACjB,MAAE,gBAAgB;;;EAGtB,uBAAuB,MAAM,QAAQ,EAAE,UAAU;EACjD,kBAAkB,MAAM,QAAQ,EAAE,UAAU;EAC5C,gBAAgB,MAAM;AAGpB,OAAI,EAAE,WAAW,KAAK,mBAAmB,WAAW,KAClD;GAEF,MAAM,YAAY,SAAS,SAAS,uBAAuB;AAC3D,kBAAe,UAAU,YAAY,UAAU,MAAM,EAAE,UAAU;AACjE,sBAAmB,UAAU,EAAE;AAC/B,mBAAgB,SAAS,UAAU,IAAI,mBAAmB;AAC1D,yBAAsB;AACtB,OAAI;AACF,oBAAgB,SAAS,kBAAkB,EAAE,UAAU;WACjD;AAIR,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;;EAErB,cAAc,MAAM,QAAQ,EAAE,UAAU;EACxC,KAAK;EACL,MAAK;EACL,UAAU;EACV,CAAA;;;;ACvJN,MAAM,gBAAgB,OAAO,IAAI,OAI7B,EAAE,cAAc,WAAW,kBAAkB,EAC/C,OAAO,EACL,QAAQ,eAAA,cAAsC,SAAS,GAAG,gBAAgB,UAAU,KACrF,EACF,EAAE;;;;;uBASoB,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;;iBAEnD,EAAE,gBAAgB,UAAU;;0BAEnB,MAAM,cAAc;aACjC,UAAU,OAAO;;AAG9B,MAAM,kBAAkB,OAAO,GAAG;;;;uCAIK,MAAM,cAAc;;AAG3D,MAAM,yBAAyB,OAAO,GAAG;;;eAG1B,QAAQ,GAAG;SACjB,QAAQ,GAAG;;;AAIpB,MAAM,mBAAmB,OAAO,GAAG;;wBAEX,QAAQ,GAAG;;IAE/B,kBAAkB;;;;;;;;;AAUtB,MAAa,0BAA2D,EACtE,UACA,eACA,WACA,gBACI;CACJ,MAAM,EACJ,UACA,gBAAgB,qBAChB,mBACA,UACA,YACA,SACA,MACA,oBACE;CACJ,MAAM,WAAW,OAAuB,KAAK;CAE7C,MAAM,eAAgB,QAAQ,QAAQ,OAAO,aAAc,eAAA;CAG3D,MAAM,kBAAkB,YAAoB;EAC1C,MAAM,QAAQ,SAAS;EACvB,MAAM,YAAY,OAAO;AACzB,MAAI,CAAC,SAAS,CAAC,UACb;EAEF,MAAM,cAAc,MAAM,uBAAuB,CAAC;EAClD,MAAM,eAAe,UAAU,uBAAuB,CAAC;AACvD,sBAAoB,cAAc,SAAS,cAAc,aAAa;;AAGxE,QACE,qBAAC,eAAD;EACE,cAAW;EACX,cAAc;EACH;EACC;EACZ,KAAK;EACL,MAAK;YANP;GAQE,oBAAC,cAAD;IACE,WAAU;IACV,eAAe;IACf,UAAU;IACV,WAAW;IACD;IACV,CAAA;GAEF,qBAAC,iBAAD,EAAA,UAAA,CACG,eAEA,gBACC,qBAAC,wBAAD,EAAA,UAAA,CACG,eAAA,cACC,oBAAC,YAAD;IAAY,cAAW;IAA2B,SAAS;IAAS,MAAK;cACvE,oBAAC,mBAAD,EAAqB,CAAA;IACV,CAAA,GAEb,oBAAC,YAAD;IAAY,cAAW;IAA4B,SAAS;IAAU,MAAK;cACzE,oBAAC,iBAAD,EAAmB,CAAA;IACR,CAAA,EAEf,oBAAC,YAAD;IAAY,cAAW;IAAqB,SAAS;IAAU,MAAK;cAClE,oBAAC,OAAD,EAAS,CAAA;IACE,CAAA,CACU,EAAA,CAAA,CAEX,EAAA,CAAA;GAElB,oBAAC,kBAAD,EAAmB,UAA4B,CAAA;GACjC;;;;;ACjIpB,MAAM,mBAAmB;AAEzB,MAAM,cAAc;AAwBpB,MAAM,SAAS,OAAO,GAAG;;;;;kBAKP,QAAQ,GAAG;;AAI7B,MAAM,eAAe,OAAO,OAAO;;;AAInC,MAAM,eAAe,OAAO,GAAyB;KAChD,EAAE,cACH,UACI,GAAG;;;;;;YAOH,GAAG;;;;;UAKD;;;;;;;AAQV,MAAM,cAAc,WAAgD,SAAS,YAC3E,EAAE,UACF,KACA;CACA,MAAM,SAAS,OAAO;CACtB,MAAM,CAAC,UAAU,eAAe,SAA6B,OAAO,IAAI,MAAM;CAG9E,MAAM,cAAc,OAAO,MAAM,UAAU,MAAM,UAAU,SAAS;CACpE,MAAM,gBAAgB,cAAc,WAAW,OAAO,IAAI;AAC1D,iBAAgB;AACd,MAAI,CAAC,YACH,aAAY,cAAc;IAE3B,CAAC,aAAa,cAAc,CAAC;CAEhC,MAAM,sBAAsB,kBAAkB;EAC5C,aAAa;EACb,SAAS;EACV,CAAC;CACF,MAAM,EAAE,UAAU,YAAY,SAAS;CAGvC,MAAM,YAAY,aACf,UAAkB;AACjB,MAAI,eAAA,aAAqC,QAAQ,QAAQ,QAAQ,kBAC/D,UAAS,YAAY;AAEvB,cAAY,MAAM;IAEpB;EAAC;EAAU;EAAY;EAAK,CAC7B;AAED,qBACE,YACO,EACL,YAAY,UAAkB;AAC5B,MAAI,OAAO,MAAM,UAAU,MAAM,UAAU,MAAM,CAC/C,WAAU,MAAM;IAGrB,GACD,CAAC,WAAW,OAAO,CACpB;AAED,QACE,oBAAC,wBAAD;EACE,eACE,oBAAC,QAAD,EAAA,UACE,oBAAC,cAAD,EAAA,UACG,OAAO,KAAK,OAAO,UAClB,oBAAC,KAAD;GACE,iBAAe,GAAG,OAAO,SAAS;GAClC,OAAO,MAAM,QAAQ,oBAAC,OAAD,EAAA,UAAQ,MAAM,OAAc,CAAA,GAAG,KAAA;GACpD,IAAI,GAAG,OAAO,OAAO;GAErB,eAAe,UAAU,MAAM,MAAM;GACrC,UAAU,kBAAkB,MAAM;aAEjC,MAAM;GACH,EALC,MAAM,MAKP,CACN,EACW,CAAA,EACR,CAAA;EAEX,WAAW;EACX,WAAW;YAEV,OAAO,KAAK,OAAO,UAAU;GAC5B,MAAM,aAAa,kBAAkB,MAAM;AAC3C,UACE,oBAAC,cAAD;IACE,SAAS,CAAC;IACV,eAAa,CAAC;IACd,mBAAiB,GAAG,OAAO,OAAO;IAClC,IAAI,GAAG,OAAO,SAAS;IAEvB,MAAK;cAEJ,MAAM;IACM,EAJR,MAAM,MAIE;IAEjB;EACqB,CAAA;EAE3B"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/BottomPanel/ResizeHandle.tsx","../../../src/components/BottomPanel/ResizableVerticalPanel.tsx","../../../src/components/BottomPanel/BottomPanel.tsx"],"sourcesContent":["import { type FC, type RefObject, useEffect, useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { Z_INDICES } from '@persona/design-system/lib/zindex';\nimport { Spacing } from '@persona/design-tokens';\n\nconst DRAGGING_CLASSNAME = 'dragging';\n\ninterface ResizeHandleProps {\n ariaLabel: string;\n /** Fires on double-click or Enter/Space so the host can toggle/reset the size. */\n onDoubleClick?: () => void;\n /** Called on each pointer move with the new top edge position (clientY) in px. */\n onMoveTo: (position: number) => void;\n /** Called once when the drag ends (pointerup, cancel, or lost capture). */\n onRelease?: () => void;\n /** The panel being resized; its edge seeds the grab offset so the handle doesn't jump. */\n panelRef: RefObject<HTMLDivElement>;\n}\n\n// The visible line is 2px tall on the panel's top border; the hitbox is Spacing[2] tall and\n// straddles that border so it is easy to grab without covering the header row's controls.\nconst ResizeHandleContainer = styled.div`\n cursor: row-resize;\n position: absolute;\n height: ${Spacing[2]};\n top: -${Spacing[1]};\n left: 0;\n right: 0;\n z-index: ${Z_INDICES.dropdown};\n touch-action: none;\n\n &::after {\n content: '';\n position: absolute;\n top: ${Spacing[1]};\n left: 0;\n right: 0;\n height: 2px;\n background-color: transparent;\n transition: background-color 0.15s ease-in;\n transition-delay: 0.025s;\n }\n\n &:hover::after,\n &.${DRAGGING_CLASSNAME}::after {\n background-color: ${({ theme }) => theme.color.border.active};\n }\n`;\n\n/** Vertical resize handle pinned to the top edge of a bottom-anchored panel. */\nexport const ResizeHandle: FC<ResizeHandleProps> = ({\n ariaLabel,\n onDoubleClick,\n onMoveTo,\n onRelease,\n panelRef,\n}) => {\n const resizeHandleRef = useRef<HTMLDivElement>(null);\n const panelOffsetRef = useRef(0);\n const activePointerIdRef = useRef<number | null>(null);\n const documentListenersRef = useRef<{\n handleEnd: (event: PointerEvent) => void;\n handleMove: (event: PointerEvent) => void;\n } | null>(null);\n // Document listeners are registered once per drag; reading the callbacks through\n // refs keeps them on the latest props without re-registering mid-drag.\n const onMoveToRef = useRef(onMoveTo);\n const onReleaseRef = useRef(onRelease);\n onMoveToRef.current = onMoveTo;\n onReleaseRef.current = onRelease;\n\n const removeDocumentListeners = () => {\n const listeners = documentListenersRef.current;\n if (!listeners) {\n return;\n }\n\n document.removeEventListener('pointermove', listeners.handleMove);\n document.removeEventListener('pointerup', listeners.handleEnd);\n document.removeEventListener('pointercancel', listeners.handleEnd);\n documentListenersRef.current = null;\n };\n\n // Pointer capture routes events through the handle (including over iframes), but\n // some surfaces still drop pointerup. Document-level listeners during an active\n // drag are the release safety net. Only the pointer that started the drag may\n // move or end it.\n const endDrag = (pointerId: number) => {\n if (activePointerIdRef.current !== pointerId) {\n return;\n }\n\n activePointerIdRef.current = null;\n removeDocumentListeners();\n try {\n resizeHandleRef.current?.releasePointerCapture(pointerId);\n } catch {\n // No active capture (or unsupported, e.g. jsdom) — nothing to release.\n }\n\n resizeHandleRef.current?.classList.remove(DRAGGING_CLASSNAME);\n panelOffsetRef.current = 0;\n onReleaseRef.current?.();\n };\n\n const handleDocumentPointerMove = (event: PointerEvent) => {\n if (activePointerIdRef.current !== event.pointerId) {\n return;\n }\n\n onMoveToRef.current(event.clientY + panelOffsetRef.current);\n };\n\n const addDocumentListeners = () => {\n removeDocumentListeners();\n\n const listeners = {\n handleEnd: (event: PointerEvent) => endDrag(event.pointerId),\n handleMove: handleDocumentPointerMove,\n };\n documentListenersRef.current = listeners;\n document.addEventListener('pointermove', listeners.handleMove);\n document.addEventListener('pointerup', listeners.handleEnd);\n document.addEventListener('pointercancel', listeners.handleEnd);\n };\n\n const endDragRef = useRef(endDrag);\n endDragRef.current = endDrag;\n useEffect(() => {\n return () => {\n const activePointerId = activePointerIdRef.current;\n if (activePointerId != null) {\n endDragRef.current(activePointerId);\n }\n };\n }, []);\n\n return (\n <ResizeHandleContainer\n aria-label={ariaLabel}\n onDoubleClick={onDoubleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n onDoubleClick?.();\n e.preventDefault();\n }\n }}\n onLostPointerCapture={(e) => endDrag(e.pointerId)}\n onPointerCancel={(e) => endDrag(e.pointerId)}\n onPointerDown={(e) => {\n // Primary button / touch / pen only; ignore secondary and middle clicks,\n // and a second pointer while a drag is already active.\n if (e.button !== 0 || activePointerIdRef.current != null) {\n return;\n }\n const panelRect = panelRef.current?.getBoundingClientRect();\n panelOffsetRef.current = panelRect ? panelRect.top - e.clientY : 0;\n activePointerIdRef.current = e.pointerId;\n resizeHandleRef.current?.classList.add(DRAGGING_CLASSNAME);\n addDocumentListeners();\n try {\n resizeHandleRef.current?.setPointerCapture(e.pointerId);\n } catch {\n // Pointer capture unsupported (e.g. jsdom) — document listeners still\n // route move/up events for the duration of the drag.\n }\n e.preventDefault();\n e.stopPropagation();\n }}\n onPointerUp={(e) => endDrag(e.pointerId)}\n ref={resizeHandleRef}\n role='button'\n tabIndex={0}\n />\n );\n};\n","import { type FC, type ReactNode, useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { IconButton } from '@persona/design-system/components/Button';\nimport { PanelState, type ResizablePanelState } from '@persona/design-system/lib/useResizablePanel';\nimport { Z_INDICES } from '@persona/design-system/lib/zindex';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { ArrowCollapseIcon, ArrowExpandIcon, XIcon } from '@persona/icons';\nimport { semanticScrollbar } from 'design-system/mixins/scrollbar';\n\nimport { ResizeHandle } from './ResizeHandle';\n\ninterface ResizableVerticalPanelProps {\n /** Panel body, rendered in the scrollable content area below the header. */\n children: ReactNode;\n /** Content for the header row, left of the maximize/minimize/close buttons. */\n headerContent?: ReactNode;\n /** State and drag/resize handlers from `useResizablePanel`. */\n hookState: ResizablePanelState;\n /** Minimum panel height in px. */\n minHeight: number;\n}\n\nconst TriStatePanel = styled.div.attrs<{\n customHeight: number | null;\n minHeight: number;\n panelState: PanelState;\n}>(({ customHeight, minHeight, panelState }) => ({\n style: {\n height: panelState === PanelState.Maximized ? '100%' : `${customHeight ?? minHeight}px`,\n },\n}))<{\n customHeight: number | null;\n minHeight: number;\n panelState: PanelState;\n}>`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n background-color: ${({ theme }) => theme.color.background.primary};\n position: relative;\n min-height: ${({ minHeight }) => minHeight}px;\n width: 100%;\n border-top: 1px solid ${Color.BorderDivider};\n z-index: ${Z_INDICES.topNav};\n`;\n\nconst TopRowContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n box-shadow: inset 0px -1px 0px 0px ${Color.BorderDivider};\n`;\n\nconst TopRightIconsContainer = styled.div`\n display: flex;\n align-items: center;\n padding: 0 ${Spacing[2]};\n gap: ${Spacing[2]};\n flex-direction: row;\n`;\n\nconst ContentContainer = styled.div`\n /* offset by the top row container height */\n height: calc(100% - ${Spacing[6]});\n overflow: auto;\n ${semanticScrollbar}\n display: flex;\n flex-direction: column;\n min-height: 0;\n`;\n\n/**\n * Bottom-anchored panel with a drag-to-resize top edge, a header row, and\n * maximize/minimize/close controls.\n */\nexport const ResizableVerticalPanel: FC<ResizableVerticalPanelProps> = ({\n children,\n headerContent,\n hookState,\n minHeight,\n}) => {\n const {\n collapse,\n handleDragMove: handlePanelDragMove,\n handleDragRelease,\n maximize,\n panelState,\n restore,\n size,\n toggleMaximized,\n } = hookState;\n const panelRef = useRef<HTMLDivElement>(null);\n // Controls only make sense once the drawer is taller than its collapsed header.\n const showControls = (size != null && size > minHeight) || panelState === PanelState.Maximized;\n // Converts the dragged top edge (clientY) into a panel height bounded by the\n // panel's container.\n const handleDragMove = (clientY: number) => {\n const panel = panelRef.current;\n const container = panel?.parentElement;\n if (!panel || !container) {\n return;\n }\n const panelBottom = panel.getBoundingClientRect().bottom;\n const containerTop = container.getBoundingClientRect().top;\n handlePanelDragMove(panelBottom - clientY, panelBottom - containerTop);\n };\n\n return (\n <TriStatePanel\n aria-label='Bottom panel'\n customHeight={size}\n minHeight={minHeight}\n panelState={panelState}\n ref={panelRef}\n role='region'\n >\n <ResizeHandle\n ariaLabel='Drag to resize bottom panel'\n onDoubleClick={toggleMaximized}\n onMoveTo={handleDragMove}\n onRelease={handleDragRelease}\n panelRef={panelRef}\n />\n\n <TopRowContainer>\n {headerContent}\n\n {showControls && (\n <TopRightIconsContainer>\n {panelState === PanelState.Maximized ? (\n <IconButton aria-label='Restore the bottom panel' onClick={restore} size='sm'>\n <ArrowCollapseIcon />\n </IconButton>\n ) : (\n <IconButton aria-label='Maximize the bottom panel' onClick={maximize} size='sm'>\n <ArrowExpandIcon />\n </IconButton>\n )}\n <IconButton aria-label='Close bottom panel' onClick={collapse} size='sm'>\n <XIcon />\n </IconButton>\n </TopRightIconsContainer>\n )}\n </TopRowContainer>\n\n <ContentContainer>{children}</ContentContainer>\n </TriStatePanel>\n );\n};\n","import {\n forwardRef,\n type ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useState,\n} from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport Badge from '@persona/design-system/components/Badge';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { PanelState, useResizablePanel } from '@persona/design-system/lib/useResizablePanel';\nimport { Spacing } from '@persona/design-tokens';\n\nimport { ResizableVerticalPanel } from './ResizableVerticalPanel';\n\n// One-pixel panel top border plus the 32px header row sets the collapsed drawer height.\nconst PANEL_MIN_HEIGHT = 33;\n// Where the drawer opens to when a collapsed tab is selected; the user can drag from there.\nconst OPEN_HEIGHT = 200;\n\nexport interface BottomPanelItemProps {\n /** Tab text; also the key `openPanel(label)` looks up. Unique per BottomPanel. */\n label: string;\n /**\n * Tab body. Every panel stays mounted while another tab is selected, so local\n * state (scroll, expanded rows) survives a switch.\n */\n content: ReactNode;\n /** Count shown as a badge on the tab. `0`/`undefined` hides it. */\n badge?: number;\n}\n\nexport interface BottomPanelHandle {\n /** Select the tab and expand the drawer if collapsed. No-op for an unknown label. */\n openPanel: (label: string) => void;\n}\n\nexport interface BottomPanelProps {\n /** Tabs to show, in order. */\n panels: BottomPanelItemProps[];\n}\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n padding-left: ${Spacing[4]};\n`;\n\n// The header row draws the divider edge to edge; the tab bar must not add its own.\nconst HeaderTabBar = styled(TabBar)`\n border-bottom: none;\n`;\n\nconst PanelContent = styled.div<{ $hidden: boolean }>`\n ${({ $hidden }) =>\n $hidden\n ? css`\n position: absolute;\n inset: 0;\n overflow: hidden;\n visibility: hidden;\n pointer-events: none;\n `\n : css`\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n `}\n`;\n\n/**\n * Resizable drawer anchored to the bottom of its container with one tab per\n * panel. Owns the tab bar, expand/collapse/resize, and always-mounted content;\n * the caller owns what each panel shows.\n */\nconst BottomPanel = forwardRef<BottomPanelHandle, BottomPanelProps>(function BottomPanel(\n { panels },\n ref,\n) {\n const baseId = useId();\n const [selected, setSelected] = useState<string | undefined>(panels[0]?.label);\n // Falls back to the first panel when the selected label has left `panels`, and\n // commits the fallback so the old label does not regain selection if it returns.\n const hasSelected = panels.some((panel) => panel.label === selected);\n const selectedLabel = hasSelected ? selected : panels[0]?.label;\n useEffect(() => {\n if (!hasSelected) {\n setSelected(selectedLabel);\n }\n }, [hasSelected, selectedLabel]);\n\n const resizablePanelState = useResizablePanel({\n initialSize: PANEL_MIN_HEIGHT,\n minSize: PANEL_MIN_HEIGHT,\n });\n const { expandTo, panelState, size } = resizablePanelState;\n\n // Selecting a tab opens a collapsed drawer but leaves a maximized one as is.\n const openPanel = useCallback(\n (label: string) => {\n if (panelState === PanelState.Drawer && (size == null || size <= PANEL_MIN_HEIGHT)) {\n expandTo(OPEN_HEIGHT);\n }\n setSelected(label);\n },\n [expandTo, panelState, size],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n openPanel: (label: string) => {\n if (panels.some((panel) => panel.label === label)) {\n openPanel(label);\n }\n },\n }),\n [openPanel, panels],\n );\n\n return (\n <ResizableVerticalPanel\n headerContent={\n <Header>\n <HeaderTabBar>\n {panels.map((panel, index) => (\n <Tab\n aria-controls={`${baseId}-panel-${index}`}\n badge={panel.badge ? <Badge>{panel.badge}</Badge> : undefined}\n id={`${baseId}-tab-${index}`}\n key={panel.label}\n onClick={() => openPanel(panel.label)}\n selected={selectedLabel === panel.label}\n >\n {panel.label}\n </Tab>\n ))}\n </HeaderTabBar>\n </Header>\n }\n hookState={resizablePanelState}\n minHeight={PANEL_MIN_HEIGHT}\n >\n {panels.map((panel, index) => {\n const isSelected = selectedLabel === panel.label;\n return (\n <PanelContent\n $hidden={!isSelected}\n aria-hidden={!isSelected}\n aria-labelledby={`${baseId}-tab-${index}`}\n id={`${baseId}-panel-${index}`}\n key={panel.label}\n role='tabpanel'\n >\n {panel.content}\n </PanelContent>\n );\n })}\n </ResizableVerticalPanel>\n );\n});\n\nexport default BottomPanel;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "../../Breadcrumbs-47jYLqNP.mjs";
1
+ import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "../../Breadcrumbs-DRu_JfdI.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default, BreadcrumbsItemProps, BreadcrumbsProps };
@@ -1,2 +1,2 @@
1
- import { t as Breadcrumbs } from "../../Breadcrumbs-gRAsKF4R.mjs";
1
+ import { t as Breadcrumbs } from "../../Breadcrumbs-Dft2TR4v.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default };
@@ -1,3 +1,3 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "../../Button-CyjqQa5v.mjs";
2
- import { t as IconButton } from "../../IconButton-Bigvu1Q4.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "../../Button-Cg8KyT5M.mjs";
2
+ import { t as IconButton } from "../../IconButton-KhCwTwPx.mjs";
3
3
  export { Button, Button as default, ButtonChildren, ButtonProps, IconButton, StyledButton, SuffixIconContainer };
@@ -1,2 +1,2 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as Button, r as ButtonChildren, t as IconButton } from "../../IconButton-HWx5Hlmi.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as Button, r as ButtonChildren, t as IconButton } from "../../IconButton-DftINsp7.mjs";
2
2
  export { Button, Button as default, ButtonChildren, IconButton, StyledButton, SuffixIconContainer };
@@ -1,13 +1,13 @@
1
- import { a as styled, r as css } from "../../styledComponentsInterop-NxwFjeA4.mjs";
1
+ import { a as styled, r as css } from "../../styledComponentsInterop-Cs5CCPRy.mjs";
2
2
  import { semanticOnly } from "../../lib/semanticColor.mjs";
3
3
  import { withAlpha } from "../../lib/color.mjs";
4
- import { o as buttonPalette, t as IconButton } from "../../IconButton-HWx5Hlmi.mjs";
5
- import { n as useFormField } from "../../useFormField-CbNYbDdp.mjs";
6
- import { BorderRadius } from "@persona/design-tokens";
4
+ import { o as buttonPalette, t as IconButton } from "../../IconButton-DftINsp7.mjs";
5
+ import { n as useFormField } from "../../useFormField-pOVkb5BK.mjs";
7
6
  import { forwardRef } from "react";
7
+ import { BorderRadius } from "@persona/design-tokens";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
10
- //#region components/ButtonGroup/ButtonGroup.tsx
10
+ //#region src/components/ButtonGroup/ButtonGroup.tsx
11
11
  const OptionItem = styled(IconButton)`
12
12
  display: flex;
13
13
  justify-content: center;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport type {\n ToggleGroupMultipleProps,\n ToggleGroupSingleProps,\n} from '@radix-ui/react-toggle-group';\nimport { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius } from '@persona/design-tokens';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport { buttonPalette } from 'design-system/components/Button/palette';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { withAlpha } from 'design-system/lib/color';\nimport { semanticOnly } from 'design-system/lib/semanticColor';\n\nexport interface ButtonGroupProps {\n id?: string;\n className?: string;\n fullWidth?: boolean;\n}\n\nconst OptionItem = styled(IconButton)`\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n flex: 1;\n border-radius: ${BorderRadius.Md};\n width: 32px;\n height: 32px;\n background-color: ${({ theme }) => buttonPalette(theme, 'basic').default};\n white-space: nowrap;\n\n // radix-toggle-group adds a wrapping div to the options, so this is to\n // make sure the content is always center-aligned\n & > div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &[data-state='on'] {\n background-color: ${({ theme }) => buttonPalette(theme, 'basic').active};\n }\n\n ${semanticOnly(\n (tokens) => css`\n &:disabled {\n background-color: ${withAlpha(tokens.ActionNeutral, tokens.Opacity65)};\n }\n `,\n )}\n\n &:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n &[tabindex='0'] {\n z-index: 1;\n }\n`;\n\nconst ButtonGroupContainer = styled.div<{ fullWidth?: boolean }>`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 4px;\n width: ${({ fullWidth }) => (fullWidth ? `100%` : `max-content`)};\n gap: 1px;\n\n > * {\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n flex: 1;\n `}\n }\n`;\n\nexport const ButtonGroup = ({\n children,\n fullWidth,\n ...props\n}: (ToggleGroupSingleProps | ToggleGroupMultipleProps) & ButtonGroupProps) => {\n const { disabled } = props;\n const field = useFormField({ inputId: props.id, disabled });\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n disabled={field.disabled}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n >\n <ButtonGroupContainer fullWidth={fullWidth} {...props}>\n {children}\n </ButtonGroupContainer>\n </ToggleGroupPrimitive.Root>\n );\n};\n\nexport default ButtonGroup;\n\nconst ButtonItem = forwardRef<HTMLButtonElement, ToggleGroupPrimitive.ToggleGroupItemProps>(\n function ButtonItem(props: ToggleGroupPrimitive.ToggleGroupItemProps, forwardedRef) {\n return <OptionItem ref={forwardedRef} {...props} />;\n },\n);\n\nexport const ButtonGroupItem = forwardRef<\n HTMLButtonElement,\n ToggleGroupPrimitive.ToggleGroupItemProps\n>(function ButtonGroupItem({ children, ...props }, forwardedRef) {\n return (\n <ToggleGroupPrimitive.Item {...props} ref={forwardedRef} asChild>\n <ButtonItem {...props}>{children}</ButtonItem>\n </ToggleGroupPrimitive.Item>\n );\n});\n"],"mappings":";;;;;;;;;;AAqBA,MAAM,aAAa,OAAO,WAAW;;;;;;mBAMlB,aAAa,GAAG;;;uBAGZ,EAAE,YAAY,cAAc,OAAO,QAAQ,CAAC,QAAQ;;;;;;;;;;;;yBAYlD,EAAE,YAAY,cAAc,OAAO,QAAQ,CAAC,OAAO;;;IAGxE,cACC,WAAW,GAAG;;4BAES,UAAU,OAAO,eAAe,OAAO,UAAU,CAAC;;MAG3E,CAAC;;;;;;;;;;;;;;;;;;;;AAqBJ,MAAM,uBAAuB,OAAO,GAA4B;;;;YAIpD,EAAE,gBAAiB,YAAY,SAAS,cAAe;;;;OAI5D,EAAE,gBACH,aACA,GAAG;;QAED;;;AAIR,MAAa,eAAe,EAC1B,UACA,WACA,GAAG,YACyE;CAC5E,MAAM,EAAE,aAAa;CACrB,MAAM,QAAQ,aAAa;EAAE,SAAS,MAAM;EAAI;EAAU,CAAC;AAE3D,QACE,oBAAC,qBAAqB,MAAtB;EACE,GAAI;EACJ,UAAU,MAAM;EAChB,oBAAkB,MAAM;EACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;EACzD,gBAAc,MAAM;YAEpB,oBAAC,sBAAD;GAAiC;GAAW,GAAI;GAC7C;GACoB,CAAA;EACG,CAAA;;AAMhC,MAAM,aAAa,WACjB,SAAS,WAAW,OAAkD,cAAc;AAClF,QAAO,oBAAC,YAAD;EAAY,KAAK;EAAc,GAAI;EAAS,CAAA;EAEtD;AAED,MAAa,kBAAkB,WAG7B,SAAS,gBAAgB,EAAE,UAAU,GAAG,SAAS,cAAc;AAC/D,QACE,oBAAC,qBAAqB,MAAtB;EAA2B,GAAI;EAAO,KAAK;EAAc,SAAA;YACvD,oBAAC,YAAD;GAAY,GAAI;GAAQ;GAAsB,CAAA;EACpB,CAAA;EAE9B"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport type {\n ToggleGroupMultipleProps,\n ToggleGroupSingleProps,\n} from '@radix-ui/react-toggle-group';\nimport { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius } from '@persona/design-tokens';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport { buttonPalette } from 'design-system/components/Button/palette';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { withAlpha } from 'design-system/lib/color';\nimport { semanticOnly } from 'design-system/lib/semanticColor';\n\nexport interface ButtonGroupProps {\n id?: string;\n className?: string;\n fullWidth?: boolean;\n}\n\nconst OptionItem = styled(IconButton)`\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n flex: 1;\n border-radius: ${BorderRadius.Md};\n width: 32px;\n height: 32px;\n background-color: ${({ theme }) => buttonPalette(theme, 'basic').default};\n white-space: nowrap;\n\n // radix-toggle-group adds a wrapping div to the options, so this is to\n // make sure the content is always center-aligned\n & > div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &[data-state='on'] {\n background-color: ${({ theme }) => buttonPalette(theme, 'basic').active};\n }\n\n ${semanticOnly(\n (tokens) => css`\n &:disabled {\n background-color: ${withAlpha(tokens.ActionNeutral, tokens.Opacity65)};\n }\n `,\n )}\n\n &:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n &[tabindex='0'] {\n z-index: 1;\n }\n`;\n\nconst ButtonGroupContainer = styled.div<{ fullWidth?: boolean }>`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 4px;\n width: ${({ fullWidth }) => (fullWidth ? `100%` : `max-content`)};\n gap: 1px;\n\n > * {\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n flex: 1;\n `}\n }\n`;\n\nexport const ButtonGroup = ({\n children,\n fullWidth,\n ...props\n}: (ToggleGroupSingleProps | ToggleGroupMultipleProps) & ButtonGroupProps) => {\n const { disabled } = props;\n const field = useFormField({ inputId: props.id, disabled });\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n disabled={field.disabled}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n >\n <ButtonGroupContainer fullWidth={fullWidth} {...props}>\n {children}\n </ButtonGroupContainer>\n </ToggleGroupPrimitive.Root>\n );\n};\n\nexport default ButtonGroup;\n\nconst ButtonItem = forwardRef<HTMLButtonElement, ToggleGroupPrimitive.ToggleGroupItemProps>(\n function ButtonItem(props: ToggleGroupPrimitive.ToggleGroupItemProps, forwardedRef) {\n return <OptionItem ref={forwardedRef} {...props} />;\n },\n);\n\nexport const ButtonGroupItem = forwardRef<\n HTMLButtonElement,\n ToggleGroupPrimitive.ToggleGroupItemProps\n>(function ButtonGroupItem({ children, ...props }, forwardedRef) {\n return (\n <ToggleGroupPrimitive.Item {...props} ref={forwardedRef} asChild>\n <ButtonItem {...props}>{children}</ButtonItem>\n </ToggleGroupPrimitive.Item>\n );\n});\n"],"mappings":";;;;;;;;;;AAqBA,MAAM,aAAa,OAAO,WAAW;;;;;;mBAMlB,aAAa,GAAG;;;uBAGZ,EAAE,YAAY,cAAc,OAAO,QAAQ,CAAC,QAAQ;;;;;;;;;;;;yBAYlD,EAAE,YAAY,cAAc,OAAO,QAAQ,CAAC,OAAO;;;IAGxE,cACC,WAAW,GAAG;;4BAES,UAAU,OAAO,eAAe,OAAO,UAAU,CAAC;;MAG3E,CAAC;;;;;;;;;;;;;;;;;;;;AAqBJ,MAAM,uBAAuB,OAAO,GAA4B;;;;YAIpD,EAAE,gBAAiB,YAAY,SAAS,cAAe;;;;OAI5D,EAAE,gBACH,aACA,GAAG;;QAED;;;AAIR,MAAa,eAAe,EAC1B,UACA,WACA,GAAG,YACyE;CAC5E,MAAM,EAAE,aAAa;CACrB,MAAM,QAAQ,aAAa;EAAE,SAAS,MAAM;EAAI;EAAU,CAAC;AAE3D,QACE,oBAAC,qBAAqB,MAAtB;EACE,GAAI;EACJ,UAAU,MAAM;EAChB,oBAAkB,MAAM;EACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;EACzD,gBAAc,MAAM;YAEpB,oBAAC,sBAAD;GAAiC;GAAW,GAAI;GAC7C;GACoB,CAAA;EACG,CAAA;;AAMhC,MAAM,aAAa,WACjB,SAAS,WAAW,OAAkD,cAAc;AAClF,QAAO,oBAAC,YAAD;EAAY,KAAK;EAAc,GAAI;EAAS,CAAA;EAEtD;AAED,MAAa,kBAAkB,WAG7B,SAAS,gBAAgB,EAAE,UAAU,GAAG,SAAS,cAAc;AAC/D,QACE,oBAAC,qBAAqB,MAAtB;EAA2B,GAAI;EAAO,KAAK;EAAc,SAAA;YACvD,oBAAC,YAAD;GAAY,GAAI;GAAQ;GAAsB,CAAA;EACpB,CAAA;EAE9B"}
@@ -1,3 +1,3 @@
1
- import { a as Root, i as HeaderProps, n as Header, o as Title, r as HeaderContainer, s as TitleContainer, t as ActionsContainer } from "../../Header-ayDu4VWE.mjs";
2
- import { n as SectionProps, r as _default, t as CardProps } from "../../Card-CzRHVUFo.mjs";
1
+ import { a as Root, i as HeaderProps, n as Header, o as Title, r as HeaderContainer, s as TitleContainer, t as ActionsContainer } from "../../Header-fwlbzxYx.mjs";
2
+ import { n as SectionProps, r as _default, t as CardProps } from "../../Card-CfECLwQ6.mjs";
3
3
  export { ActionsContainer, CardProps, Header, HeaderContainer, HeaderProps, Root, SectionProps, Title, TitleContainer, _default as default };
@@ -1,2 +1,2 @@
1
- import { a as Root, i as HeaderContainer, n as ActionsContainer, o as Title, r as Header, s as TitleContainer, t as Card_default } from "../../Card-BXNxWX5C.mjs";
1
+ import { a as Root, i as HeaderContainer, n as ActionsContainer, o as Title, r as Header, s as TitleContainer, t as Card_default } from "../../Card-DuQHyroh.mjs";
2
2
  export { ActionsContainer, Header, HeaderContainer, Root, Title, TitleContainer, Card_default as default };
@@ -1,4 +1,4 @@
1
- import { i as TextAction, n as IconAction, r as MenuAction } from "../../Action-DT8WqfEg.mjs";
1
+ import { i as TextAction, n as IconAction, r as MenuAction } from "../../Action-Bmo8B-Q3.mjs";
2
2
  import { CARD_HEADING_STICKY_OFFSET } from "../../SectionHeading.mjs";
3
3
  import _default from "../../Card2.mjs";
4
4
  export { CARD_HEADING_STICKY_OFFSET, _default as Card, _default as default, type IconAction, type MenuAction, type TextAction };
@@ -1,2 +1,2 @@
1
- import { n as CARD_HEADING_STICKY_OFFSET, t as Card_default } from "../../CardV2-Dp4eHSE-.mjs";
1
+ import { n as CARD_HEADING_STICKY_OFFSET, t as Card_default } from "../../CardV2-BRJbRSts.mjs";
2
2
  export { CARD_HEADING_STICKY_OFFSET, Card_default as Card, Card_default as default };
@@ -1,2 +1,2 @@
1
- import { n as CheckboxProps, t as Checkbox } from "../../Checkbox-B2MZShdu.mjs";
1
+ import { n as CheckboxProps, t as Checkbox } from "../../Checkbox-ZywrdT_h.mjs";
2
2
  export { Checkbox, Checkbox as default, CheckboxProps };
@@ -1,2 +1,2 @@
1
- import { t as Checkbox } from "../../Checkbox-BaJ-dGdX.mjs";
1
+ import { t as Checkbox } from "../../Checkbox-Dr4LMKHV.mjs";
2
2
  export { Checkbox, Checkbox as default };
@@ -1,5 +1,5 @@
1
1
  import { Prism } from "prism-react-renderer";
2
- //#region components/CodeHighlight/PrismWithLanguages.tsx
2
+ //#region src/components/CodeHighlight/PrismWithLanguages.tsx
3
3
  Prism.languages.handlebars = {
4
4
  comment: /\{\{![\s\S]*?\}\}/,
5
5
  delimiter: {
@@ -1 +1 @@
1
- {"version":3,"file":"PrismWithLanguages.mjs","names":[],"sources":["../../../components/CodeHighlight/PrismWithLanguages.tsx"],"sourcesContent":["import { Prism } from 'prism-react-renderer';\n\nPrism.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n alias: 'punctuation',\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:false|true)\\b/,\n block: {\n pattern: /^(\\s*(?:~\\s*)?)[#/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n lookbehind: true,\n alias: 'keyword',\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/,\n },\n },\n punctuation: /[!\"#%&':()*+,./;<=>@[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,/;<=>@[\\\\\\]^`{|}~\\s]+/,\n};\n\n// Fallback only: a build that bundles the real bash grammar keeps it. String precedes comment so\n// that a `#` inside quotes stays part of the string.\nPrism.languages.bash ??= {\n string: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true,\n },\n variable: /\\$(?:[\\w#?*!@-]+|\\{[^}]*\\})/,\n function: {\n pattern: /(^|[|&;]\\s*)[\\w./-]+/,\n lookbehind: true,\n },\n operator: /\\|\\||&&|\\d?>>?|<<[-<]?|[|&<>]/,\n number: /\\b\\d+\\b/,\n punctuation: /[{}[\\];()]/,\n};\n\nPrism.languages.shell ??= Prism.languages.bash;\n\nPrism.languages.mustache = Prism.languages.handlebars;\n\nexport default Prism;\n"],"mappings":";;AAEA,MAAM,UAAU,aAAa;CAC3B,SAAS;CACT,WAAW;EACT,SAAS;EACT,OAAO;EACR;CACD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,OAAO;EACL,SAAS;EACT,YAAY;EACZ,OAAO;EACR;CACD,UAAU;EACR,SAAS;EACT,QAAQ;GACN,aAAa;GACb,UAAU;GACX;EACF;CACD,aAAa;CACb,UAAU;CACX;AAID,MAAM,UAAU,SAAS;CACvB,QAAQ;CACR,SAAS;EACP,SAAS;EACT,YAAY;EACb;CACD,UAAU;CACV,UAAU;EACR,SAAS;EACT,YAAY;EACb;CACD,UAAU;CACV,QAAQ;CACR,aAAa;CACd;AAED,MAAM,UAAU,UAAU,MAAM,UAAU;AAE1C,MAAM,UAAU,WAAW,MAAM,UAAU;AAE3C,IAAA,6BAAe"}
1
+ {"version":3,"file":"PrismWithLanguages.mjs","names":[],"sources":["../../../src/components/CodeHighlight/PrismWithLanguages.tsx"],"sourcesContent":["import { Prism } from 'prism-react-renderer';\n\nPrism.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n alias: 'punctuation',\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:false|true)\\b/,\n block: {\n pattern: /^(\\s*(?:~\\s*)?)[#/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n lookbehind: true,\n alias: 'keyword',\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/,\n },\n },\n punctuation: /[!\"#%&':()*+,./;<=>@[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,/;<=>@[\\\\\\]^`{|}~\\s]+/,\n};\n\n// Fallback only: a build that bundles the real bash grammar keeps it. String precedes comment so\n// that a `#` inside quotes stays part of the string.\nPrism.languages.bash ??= {\n string: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true,\n },\n variable: /\\$(?:[\\w#?*!@-]+|\\{[^}]*\\})/,\n function: {\n pattern: /(^|[|&;]\\s*)[\\w./-]+/,\n lookbehind: true,\n },\n operator: /\\|\\||&&|\\d?>>?|<<[-<]?|[|&<>]/,\n number: /\\b\\d+\\b/,\n punctuation: /[{}[\\];()]/,\n};\n\nPrism.languages.shell ??= Prism.languages.bash;\n\nPrism.languages.mustache = Prism.languages.handlebars;\n\nexport default Prism;\n"],"mappings":";;AAEA,MAAM,UAAU,aAAa;CAC3B,SAAS;CACT,WAAW;EACT,SAAS;EACT,OAAO;EACR;CACD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,OAAO;EACL,SAAS;EACT,YAAY;EACZ,OAAO;EACR;CACD,UAAU;EACR,SAAS;EACT,QAAQ;GACN,aAAa;GACb,UAAU;GACX;EACF;CACD,aAAa;CACb,UAAU;CACX;AAID,MAAM,UAAU,SAAS;CACvB,QAAQ;CACR,SAAS;EACP,SAAS;EACT,YAAY;EACb;CACD,UAAU;CACV,UAAU;EACR,SAAS;EACT,YAAY;EACb;CACD,UAAU;CACV,QAAQ;CACR,aAAa;CACd;AAED,MAAM,UAAU,UAAU,MAAM,UAAU;AAE1C,MAAM,UAAU,WAAW,MAAM,UAAU;AAE3C,IAAA,6BAAe"}
@@ -1,18 +1,18 @@
1
- import { a as styled } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
- import { t as useToggle } from "../../useToggle-DRzCDqrc.mjs";
1
+ import { a as styled } from "../../styledComponentsInterop-Cs5CCPRy.mjs";
2
+ import { t as useToggle } from "../../useToggle-1z8JE7Ym.mjs";
3
3
  import { Z_INDICES } from "../../lib/zindex.mjs";
4
4
  import { focusOutline } from "../../mixins/focus.mjs";
5
5
  import { semanticScrollbar } from "../../mixins/scrollbar.mjs";
6
- import { n as Button } from "../../IconButton-HWx5Hlmi.mjs";
6
+ import { n as Button } from "../../IconButton-DftINsp7.mjs";
7
7
  import PrismWithLanguages_default from "./PrismWithLanguages.mjs";
8
- import { Color, Spacing } from "@persona/design-tokens";
9
8
  import { useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
9
+ import { Color, Spacing } from "@persona/design-tokens";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { Link } from "react-router-dom";
12
12
  import { ArrowCollapseIcon, ArrowExpandIcon } from "@persona/icons";
13
13
  import { ChevronDownIcon as ChevronDownIcon$1, ChevronRightIcon as ChevronRightIcon$1 } from "@persona/icons/12px";
14
14
  import { Highlight, themes } from "prism-react-renderer";
15
- //#region components/CodeHighlight/CodeHighlight.tsx
15
+ //#region src/components/CodeHighlight/CodeHighlight.tsx
16
16
  const LINE_HEIGHT = 1.5;
17
17
  const Wrapper = styled.div`
18
18
  font-family: ${({ theme }) => theme.text.fontFamily.mono};
@@ -375,7 +375,7 @@ const THEME = {
375
375
  ]
376
376
  };
377
377
  //#endregion
378
- //#region components/CodeHighlight/index.ts
378
+ //#region src/components/CodeHighlight/index.ts
379
379
  var CodeHighlight_default = CodeHighlight;
380
380
  //#endregion
381
381
  export { CodeHighlight_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Prism","ChevronRightIcon","ChevronDownIcon"],"sources":["../../../components/CodeHighlight/CodeHighlight.tsx","../../../components/CodeHighlight/index.ts"],"sourcesContent":["import { Highlight, type Language, type PrismTheme, themes } from 'prism-react-renderer';\nimport { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport Button from '@persona/design-system/components/Button';\nimport { Z_INDICES } from '@persona/design-system/lib/zindex';\nimport { focusOutline } from '@persona/design-system/mixins/focus';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { ArrowCollapseIcon, ArrowExpandIcon } from '@persona/icons';\nimport { ChevronDownIcon, ChevronRightIcon } from '@persona/icons/12px';\nimport useToggle from 'design-system/lib/useToggle';\nimport { semanticScrollbar } from 'design-system/mixins/scrollbar';\n\nimport Prism from './PrismWithLanguages';\n\nconst LINE_HEIGHT = 1.5;\n\nexport const Wrapper = styled.div`\n font-family: ${({ theme }) => theme.text.fontFamily.mono};\n font-size: ${({ theme }) => theme.text.paragraph.sm.fontSize};\n line-height: ${LINE_HEIGHT};\n text-align: center;\n position: relative;\n`;\n\nexport const ExpandButtonContainer = styled.div`\n position: absolute;\n top: ${Spacing[2]};\n right: ${Spacing[4]};\n display: flex;\n gap: ${Spacing[1]};\n z-index: ${Z_INDICES.withShadow};\n`;\n\nexport const CollapseTriangle = styled.button<{ $isCollapsed: boolean }>`\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n margin-right: ${Spacing[1]};\n color: ${Color.TextSecondary};\n background: none;\n border: none;\n padding: 0;\n\n &:hover {\n color: ${Color.TextActive};\n }\n\n ${focusOutline}\n`;\n\nexport const Pre = styled.pre<{ expanded: boolean; rowsToShow?: number }>`\n max-height: ${({ theme, expanded, rowsToShow }) => {\n if (expanded || rowsToShow == null) {\n return 'unset';\n }\n\n const charHeight = parseFloat(theme.text.paragraph.sm.fontSize);\n const rowHeight = charHeight * LINE_HEIGHT;\n const marginHeight = charHeight * 2; // margin is 1rem\n // Row height + top/bottom padding\n return `${rowsToShow * rowHeight + marginHeight}px`;\n }};\n\n border-radius: ${({ theme }) => theme.element.borderRadius};\n font-family: inherit;\n text-align: left;\n padding: 1rem; // Custom padding to match typical code block formatting\n overflow: auto;\n ${semanticScrollbar}\n\n a {\n /* overwrite dashboard global styles */\n font-size: inherit;\n line-height: inherit;\n text-decoration: underline;\n }\n`;\n\nexport const Line = styled.div`\n display: table-row;\n`;\n\nexport const LineNo = styled.span`\n display: table-cell;\n text-align: right;\n padding-right: 1rem; // Custom padding for line number gutter spacing\n user-select: none;\n opacity: 0.5;\n`;\n\nexport const LineContent = styled.span`\n display: table-cell;\n`;\n\nexport const IndentSpacer = styled.span`\n display: inline-block;\n width: 16px; // Match collapse triangle icon (12px) + margin (4px) for alignment\n`;\n\nexport const CollapsedItemCount = styled.span`\n color: ${Color.TextSecondary};\n`;\n\n// mirrored from lib -- not exported\ntype Token = {\n types: string[];\n content: string;\n empty?: boolean;\n};\n\ntype CollapsibleRegion = {\n startLine: number;\n endLine: number;\n type: 'object' | 'array';\n itemCount: number;\n};\n\n// Analyzes JSON structure from Prism tokens to find collapsible regions\n// This correctly handles brackets/braces inside strings by using tokenization\nconst analyzeJsonStructure = (\n tokens: Token[][],\n jsonString: string,\n): Map<number, CollapsibleRegion> => {\n const collapsibleRegions = new Map<number, CollapsibleRegion>();\n\n try {\n // Validate JSON is parseable\n const parsed = JSON.parse(jsonString);\n\n // Use a stack to track opening brackets/braces with their line numbers\n const stack: Array<{ line: number; char: '{' | '['; depth: number }> = [];\n let depth = 0;\n\n tokens.forEach((line, lineNum) => {\n line.forEach((token) => {\n // Only process punctuation tokens (not strings)\n if (token.types.includes('punctuation')) {\n if (token.content === '{' || token.content === '[') {\n stack.push({ line: lineNum, char: token.content, depth });\n depth++;\n } else if (token.content === '}' || token.content === ']') {\n depth--;\n const opening = stack.pop();\n\n if (opening && opening.line < lineNum) {\n // This is a multi-line object/array\n const startLine = opening.line;\n const endLine = lineNum;\n\n // Skip root-level (depth 0) regions\n if (opening.depth === 0) {\n return;\n }\n\n // Count items in this region\n const itemCount = countItemsInRegion(\n parsed,\n tokens,\n startLine,\n endLine,\n opening.char,\n );\n\n // Only add regions with items (skip empty objects/arrays)\n if (itemCount > 0) {\n collapsibleRegions.set(startLine, {\n startLine,\n endLine,\n type: opening.char === '{' ? 'object' : 'array',\n itemCount,\n });\n }\n }\n }\n }\n });\n });\n } catch {\n // If JSON is invalid, return empty map\n return new Map();\n }\n\n return collapsibleRegions;\n};\n\n// Count items in a collapsible region by counting commas at the same depth\nconst countItemsInRegion = (\n _parsed: unknown,\n tokens: Token[][],\n startLine: number,\n endLine: number,\n openChar: '{' | '[',\n): number => {\n let itemCount = 0;\n let depth = 0;\n\n // Iterate through lines in the region\n for (let i = startLine; i <= endLine; i++) {\n tokens[i]?.forEach((token) => {\n if (!token.types.includes('punctuation')) {\n return;\n }\n\n // Track depth\n if (token.content === openChar) {\n depth++;\n } else if (token.content === (openChar === '{' ? '}' : ']')) {\n depth--;\n }\n\n // Count commas at depth 1 (immediate children)\n if (token.content === ',' && depth === 1) {\n itemCount++;\n }\n });\n }\n\n // Items = commas + 1 (if any content exists)\n return itemCount > 0 ? itemCount + 1 : 0;\n};\n\ninterface CodeHighlightProps {\n id?: string;\n children: string;\n language?: Language;\n rowsToShow?: number;\n light?: boolean;\n className?: string;\n resolveEntityLink?: (token: string) => string | undefined;\n}\n\nconst CodeHighlight = ({\n id,\n children = '',\n language = 'markup',\n rowsToShow,\n light = false,\n className,\n resolveEntityLink,\n}: CodeHighlightProps) => {\n const [expanded, { toggle: toggleExpanded }] = useToggle();\n const rowCount = useMemo(() => children.match(/\\n/g)?.length ?? 0, [children]);\n\n // JSON folding state\n const [collapsedLines, setCollapsedLines] = useState<Set<number>>(new Set());\n const [hasCollapsibleRegions, setHasCollapsibleRegions] = useState(false);\n const collapsibleRegionsRef = useRef<Map<number, CollapsibleRegion>>(new Map());\n\n // Sync hasCollapsibleRegions state from ref after render (avoids state update during render)\n useLayoutEffect(() => {\n if (language !== 'json') {\n if (hasCollapsibleRegions) {\n setHasCollapsibleRegions(false);\n }\n return;\n }\n\n const hasRegions = collapsibleRegionsRef.current.size > 0;\n if (hasRegions !== hasCollapsibleRegions) {\n setHasCollapsibleRegions(hasRegions);\n }\n });\n\n const toggleLineCollapse = useCallback(\n (lineNumber: number, event?: React.KeyboardEvent | React.MouseEvent) => {\n // Prevent default if it's a keyboard event to avoid page scrolling\n if (event && 'key' in event) {\n event.preventDefault();\n }\n\n setCollapsedLines((prev) => {\n const next = new Set(prev);\n if (next.has(lineNumber)) {\n next.delete(lineNumber);\n } else {\n next.add(lineNumber);\n }\n return next;\n });\n },\n [],\n );\n\n const collapseAll = useCallback(() => {\n setCollapsedLines(new Set(collapsibleRegionsRef.current.keys()));\n }, []);\n\n const expandAll = useCallback(() => {\n setCollapsedLines(new Set());\n }, []);\n\n const allowExpanding = rowsToShow != null && rowsToShow < rowCount;\n\n return (\n <Wrapper className={className}>\n {(allowExpanding || hasCollapsibleRegions) && (\n <ExpandButtonContainer>\n {hasCollapsibleRegions && (\n <>\n <Button\n id={`code-highlight__${id}__collapse-all`}\n size='sm'\n variant='inverse'\n onClick={collapseAll}\n aria-label='Collapse all JSON regions'\n data-test='code-highlight__collapse-all'\n >\n Collapse All\n </Button>\n <Button\n id={`code-highlight__${id}__expand-all`}\n size='sm'\n variant='inverse'\n onClick={expandAll}\n aria-label='Expand all JSON regions'\n data-test='code-highlight__expand-all'\n >\n Expand All\n </Button>\n </>\n )}\n {allowExpanding && (\n <Button\n id={`code-highlight__${id}__expand-button`}\n size='sm'\n width='icon'\n onClick={toggleExpanded}\n variant='inverse'\n data-test='code-highlight__expand'\n >\n {expanded ? <ArrowCollapseIcon /> : <ArrowExpandIcon />}\n </Button>\n )}\n </ExpandButtonContainer>\n )}\n <Highlight\n data-test='code-highlight'\n theme={light ? themes.nightOwlLight : THEME}\n code={children}\n prism={Prism}\n language={language}\n >\n {({ className, style, tokens, getLineProps, getTokenProps }) => {\n // Compute collapsible regions from tokens (only for JSON)\n const collapsibleRegions =\n language === 'json' ? analyzeJsonStructure(tokens, children) : new Map();\n\n // Update ref (state will be synced in useLayoutEffect)\n collapsibleRegionsRef.current = collapsibleRegions;\n\n const isJsonFoldingEnabled = collapsibleRegions.size > 0;\n\n // Determine which lines should be hidden based on collapsed state\n const hiddenLines = new Set<number>();\n collapsedLines.forEach((collapsedLine) => {\n const region = collapsibleRegions.get(collapsedLine);\n if (region) {\n // Hide all lines between start and end (exclusive)\n for (let i = region.startLine + 1; i <= region.endLine; i++) {\n hiddenLines.add(i);\n }\n }\n });\n\n return (\n <Pre\n className={className}\n style={style}\n data-test={id}\n expanded={expanded}\n rowsToShow={rowsToShow}\n >\n {tokens.map((line, i) => {\n // Skip hidden lines\n if (hiddenLines.has(i)) {\n return null;\n }\n\n const region = collapsibleRegions.get(i);\n const isCollapsed = collapsedLines.has(i);\n const isCollapsible = region != null;\n\n return (\n <Line key={i} {...getLineProps({ line, key: i })}>\n <LineNo>{i + 1}</LineNo>\n <LineContent>\n {isCollapsible && (\n <CollapseTriangle\n $isCollapsed={isCollapsed}\n onClick={(e) => toggleLineCollapse(i, e)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n toggleLineCollapse(i, e);\n }\n }}\n aria-expanded={!isCollapsed}\n aria-label={`${isCollapsed ? 'Expand' : 'Collapse'} JSON ${region?.type} with ${region?.itemCount} items`}\n type='button'\n tabIndex={0}\n data-test={`code-highlight__collapse-toggle__${i}`}\n >\n {isCollapsed ? <ChevronRightIcon /> : <ChevronDownIcon />}\n </CollapseTriangle>\n )}\n {!isCollapsible && isJsonFoldingEnabled && <IndentSpacer />}\n {isCollapsed && region ? (\n // Render collapsed representation\n <>\n {line.map((token, key) => {\n const tokenProps = getTokenProps({ token, key });\n // Only render up to the opening bracket\n if (token.content === '{' || token.content === '[') {\n return (\n <span key={key}>\n <span {...tokenProps} />\n <CollapsedItemCount>\n {` ${region.itemCount} ${region.itemCount === 1 ? 'item' : 'items'} `}\n </CollapsedItemCount>\n <span {...tokenProps}>\n {region.type === 'object' ? '}' : ']'}\n </span>\n </span>\n );\n }\n // Render tokens before the bracket\n return <span key={key} {...tokenProps} />;\n })}\n </>\n ) : (\n // Render normal line\n <>\n {line.map((token, key) => {\n const tokenProps = getTokenProps({ token, key });\n const tokenLink =\n resolveEntityLink != null && token.types[0] === 'string'\n ? resolveEntityLink(\n token.content.slice(1, token.content.length - 1),\n )\n : undefined;\n\n return tokenLink != null ? (\n <span {...tokenProps}>\n &quot;\n <Link to={tokenLink} {...tokenProps}>\n {tokenProps.children.slice(1, tokenProps.children.length - 1)}\n </Link>\n &quot;\n </span>\n ) : (\n <span key={key} {...tokenProps} />\n );\n })}\n </>\n )}\n </LineContent>\n </Line>\n );\n })}\n </Pre>\n );\n }}\n </Highlight>\n </Wrapper>\n );\n};\n\nexport default CodeHighlight;\n\n// Based off of https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/themes/duotoneDark.js\n// NOTE: This theme uses hardcoded hex colors instead of design tokens because it's a specialized\n// syntax highlighting theme for the prism-react-renderer library. The colors are carefully chosen\n// for code readability and are not semantic UI colors from our design system.\nconst THEME: PrismTheme = {\n plain: {\n backgroundColor: '#161320', // edited\n color: '#9a86fd',\n },\n styles: [\n {\n types: ['comment', 'prolog', 'doctype', 'cdata', 'punctuation'],\n style: {\n color: '#6c6783',\n },\n },\n {\n types: ['namespace'],\n style: {\n opacity: 0.7,\n },\n },\n {\n types: ['tag', 'operator', 'number', 'keyword'],\n style: {\n color: '#e09142',\n fontWeight: 'bold', // added for more contrast\n },\n },\n {\n types: ['property', 'function'],\n style: {\n color: '#9a86fd',\n },\n },\n {\n types: ['tag-id', 'selector', 'atrule-id'],\n style: {\n color: '#eeebff',\n },\n },\n {\n types: ['attr-name'],\n style: {\n color: '#c4b9fe',\n },\n },\n {\n types: [\n 'boolean',\n 'string',\n 'entity',\n 'url',\n 'attr-value',\n 'control',\n 'directive',\n 'unit',\n 'statement',\n 'regex',\n 'at-rule',\n 'placeholder',\n 'variable',\n ],\n style: {\n color: '#ffcc99',\n },\n },\n {\n types: ['deleted'],\n style: {\n textDecorationLine: 'line-through',\n },\n },\n {\n types: ['inserted'],\n style: {\n textDecorationLine: 'underline',\n },\n },\n {\n types: ['italic'],\n style: {\n fontStyle: 'italic',\n },\n },\n {\n types: ['important', 'bold'],\n style: {\n fontWeight: 'bold',\n },\n },\n {\n types: ['important'],\n style: {\n color: '#c4b9fe',\n },\n },\n ],\n};\n","import CodeHighlight from './CodeHighlight';\n\nexport default CodeHighlight;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["Prism","ChevronRightIcon","ChevronDownIcon"],"sources":["../../../src/components/CodeHighlight/CodeHighlight.tsx","../../../src/components/CodeHighlight/index.ts"],"sourcesContent":["import { Highlight, type Language, type PrismTheme, themes } from 'prism-react-renderer';\nimport { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport Button from '@persona/design-system/components/Button';\nimport { Z_INDICES } from '@persona/design-system/lib/zindex';\nimport { focusOutline } from '@persona/design-system/mixins/focus';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { ArrowCollapseIcon, ArrowExpandIcon } from '@persona/icons';\nimport { ChevronDownIcon, ChevronRightIcon } from '@persona/icons/12px';\nimport useToggle from 'design-system/lib/useToggle';\nimport { semanticScrollbar } from 'design-system/mixins/scrollbar';\n\nimport Prism from './PrismWithLanguages';\n\nconst LINE_HEIGHT = 1.5;\n\nexport const Wrapper = styled.div`\n font-family: ${({ theme }) => theme.text.fontFamily.mono};\n font-size: ${({ theme }) => theme.text.paragraph.sm.fontSize};\n line-height: ${LINE_HEIGHT};\n text-align: center;\n position: relative;\n`;\n\nexport const ExpandButtonContainer = styled.div`\n position: absolute;\n top: ${Spacing[2]};\n right: ${Spacing[4]};\n display: flex;\n gap: ${Spacing[1]};\n z-index: ${Z_INDICES.withShadow};\n`;\n\nexport const CollapseTriangle = styled.button<{ $isCollapsed: boolean }>`\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n margin-right: ${Spacing[1]};\n color: ${Color.TextSecondary};\n background: none;\n border: none;\n padding: 0;\n\n &:hover {\n color: ${Color.TextActive};\n }\n\n ${focusOutline}\n`;\n\nexport const Pre = styled.pre<{ expanded: boolean; rowsToShow?: number }>`\n max-height: ${({ theme, expanded, rowsToShow }) => {\n if (expanded || rowsToShow == null) {\n return 'unset';\n }\n\n const charHeight = parseFloat(theme.text.paragraph.sm.fontSize);\n const rowHeight = charHeight * LINE_HEIGHT;\n const marginHeight = charHeight * 2; // margin is 1rem\n // Row height + top/bottom padding\n return `${rowsToShow * rowHeight + marginHeight}px`;\n }};\n\n border-radius: ${({ theme }) => theme.element.borderRadius};\n font-family: inherit;\n text-align: left;\n padding: 1rem; // Custom padding to match typical code block formatting\n overflow: auto;\n ${semanticScrollbar}\n\n a {\n /* overwrite dashboard global styles */\n font-size: inherit;\n line-height: inherit;\n text-decoration: underline;\n }\n`;\n\nexport const Line = styled.div`\n display: table-row;\n`;\n\nexport const LineNo = styled.span`\n display: table-cell;\n text-align: right;\n padding-right: 1rem; // Custom padding for line number gutter spacing\n user-select: none;\n opacity: 0.5;\n`;\n\nexport const LineContent = styled.span`\n display: table-cell;\n`;\n\nexport const IndentSpacer = styled.span`\n display: inline-block;\n width: 16px; // Match collapse triangle icon (12px) + margin (4px) for alignment\n`;\n\nexport const CollapsedItemCount = styled.span`\n color: ${Color.TextSecondary};\n`;\n\n// mirrored from lib -- not exported\ntype Token = {\n types: string[];\n content: string;\n empty?: boolean;\n};\n\ntype CollapsibleRegion = {\n startLine: number;\n endLine: number;\n type: 'object' | 'array';\n itemCount: number;\n};\n\n// Analyzes JSON structure from Prism tokens to find collapsible regions\n// This correctly handles brackets/braces inside strings by using tokenization\nconst analyzeJsonStructure = (\n tokens: Token[][],\n jsonString: string,\n): Map<number, CollapsibleRegion> => {\n const collapsibleRegions = new Map<number, CollapsibleRegion>();\n\n try {\n // Validate JSON is parseable\n const parsed = JSON.parse(jsonString);\n\n // Use a stack to track opening brackets/braces with their line numbers\n const stack: Array<{ line: number; char: '{' | '['; depth: number }> = [];\n let depth = 0;\n\n tokens.forEach((line, lineNum) => {\n line.forEach((token) => {\n // Only process punctuation tokens (not strings)\n if (token.types.includes('punctuation')) {\n if (token.content === '{' || token.content === '[') {\n stack.push({ line: lineNum, char: token.content, depth });\n depth++;\n } else if (token.content === '}' || token.content === ']') {\n depth--;\n const opening = stack.pop();\n\n if (opening && opening.line < lineNum) {\n // This is a multi-line object/array\n const startLine = opening.line;\n const endLine = lineNum;\n\n // Skip root-level (depth 0) regions\n if (opening.depth === 0) {\n return;\n }\n\n // Count items in this region\n const itemCount = countItemsInRegion(\n parsed,\n tokens,\n startLine,\n endLine,\n opening.char,\n );\n\n // Only add regions with items (skip empty objects/arrays)\n if (itemCount > 0) {\n collapsibleRegions.set(startLine, {\n startLine,\n endLine,\n type: opening.char === '{' ? 'object' : 'array',\n itemCount,\n });\n }\n }\n }\n }\n });\n });\n } catch {\n // If JSON is invalid, return empty map\n return new Map();\n }\n\n return collapsibleRegions;\n};\n\n// Count items in a collapsible region by counting commas at the same depth\nconst countItemsInRegion = (\n _parsed: unknown,\n tokens: Token[][],\n startLine: number,\n endLine: number,\n openChar: '{' | '[',\n): number => {\n let itemCount = 0;\n let depth = 0;\n\n // Iterate through lines in the region\n for (let i = startLine; i <= endLine; i++) {\n tokens[i]?.forEach((token) => {\n if (!token.types.includes('punctuation')) {\n return;\n }\n\n // Track depth\n if (token.content === openChar) {\n depth++;\n } else if (token.content === (openChar === '{' ? '}' : ']')) {\n depth--;\n }\n\n // Count commas at depth 1 (immediate children)\n if (token.content === ',' && depth === 1) {\n itemCount++;\n }\n });\n }\n\n // Items = commas + 1 (if any content exists)\n return itemCount > 0 ? itemCount + 1 : 0;\n};\n\ninterface CodeHighlightProps {\n id?: string;\n children: string;\n language?: Language;\n rowsToShow?: number;\n light?: boolean;\n className?: string;\n resolveEntityLink?: (token: string) => string | undefined;\n}\n\nconst CodeHighlight = ({\n id,\n children = '',\n language = 'markup',\n rowsToShow,\n light = false,\n className,\n resolveEntityLink,\n}: CodeHighlightProps) => {\n const [expanded, { toggle: toggleExpanded }] = useToggle();\n const rowCount = useMemo(() => children.match(/\\n/g)?.length ?? 0, [children]);\n\n // JSON folding state\n const [collapsedLines, setCollapsedLines] = useState<Set<number>>(new Set());\n const [hasCollapsibleRegions, setHasCollapsibleRegions] = useState(false);\n const collapsibleRegionsRef = useRef<Map<number, CollapsibleRegion>>(new Map());\n\n // Sync hasCollapsibleRegions state from ref after render (avoids state update during render)\n useLayoutEffect(() => {\n if (language !== 'json') {\n if (hasCollapsibleRegions) {\n setHasCollapsibleRegions(false);\n }\n return;\n }\n\n const hasRegions = collapsibleRegionsRef.current.size > 0;\n if (hasRegions !== hasCollapsibleRegions) {\n setHasCollapsibleRegions(hasRegions);\n }\n });\n\n const toggleLineCollapse = useCallback(\n (lineNumber: number, event?: React.KeyboardEvent | React.MouseEvent) => {\n // Prevent default if it's a keyboard event to avoid page scrolling\n if (event && 'key' in event) {\n event.preventDefault();\n }\n\n setCollapsedLines((prev) => {\n const next = new Set(prev);\n if (next.has(lineNumber)) {\n next.delete(lineNumber);\n } else {\n next.add(lineNumber);\n }\n return next;\n });\n },\n [],\n );\n\n const collapseAll = useCallback(() => {\n setCollapsedLines(new Set(collapsibleRegionsRef.current.keys()));\n }, []);\n\n const expandAll = useCallback(() => {\n setCollapsedLines(new Set());\n }, []);\n\n const allowExpanding = rowsToShow != null && rowsToShow < rowCount;\n\n return (\n <Wrapper className={className}>\n {(allowExpanding || hasCollapsibleRegions) && (\n <ExpandButtonContainer>\n {hasCollapsibleRegions && (\n <>\n <Button\n id={`code-highlight__${id}__collapse-all`}\n size='sm'\n variant='inverse'\n onClick={collapseAll}\n aria-label='Collapse all JSON regions'\n data-test='code-highlight__collapse-all'\n >\n Collapse All\n </Button>\n <Button\n id={`code-highlight__${id}__expand-all`}\n size='sm'\n variant='inverse'\n onClick={expandAll}\n aria-label='Expand all JSON regions'\n data-test='code-highlight__expand-all'\n >\n Expand All\n </Button>\n </>\n )}\n {allowExpanding && (\n <Button\n id={`code-highlight__${id}__expand-button`}\n size='sm'\n width='icon'\n onClick={toggleExpanded}\n variant='inverse'\n data-test='code-highlight__expand'\n >\n {expanded ? <ArrowCollapseIcon /> : <ArrowExpandIcon />}\n </Button>\n )}\n </ExpandButtonContainer>\n )}\n <Highlight\n data-test='code-highlight'\n theme={light ? themes.nightOwlLight : THEME}\n code={children}\n prism={Prism}\n language={language}\n >\n {({ className, style, tokens, getLineProps, getTokenProps }) => {\n // Compute collapsible regions from tokens (only for JSON)\n const collapsibleRegions =\n language === 'json' ? analyzeJsonStructure(tokens, children) : new Map();\n\n // Update ref (state will be synced in useLayoutEffect)\n collapsibleRegionsRef.current = collapsibleRegions;\n\n const isJsonFoldingEnabled = collapsibleRegions.size > 0;\n\n // Determine which lines should be hidden based on collapsed state\n const hiddenLines = new Set<number>();\n collapsedLines.forEach((collapsedLine) => {\n const region = collapsibleRegions.get(collapsedLine);\n if (region) {\n // Hide all lines between start and end (exclusive)\n for (let i = region.startLine + 1; i <= region.endLine; i++) {\n hiddenLines.add(i);\n }\n }\n });\n\n return (\n <Pre\n className={className}\n style={style}\n data-test={id}\n expanded={expanded}\n rowsToShow={rowsToShow}\n >\n {tokens.map((line, i) => {\n // Skip hidden lines\n if (hiddenLines.has(i)) {\n return null;\n }\n\n const region = collapsibleRegions.get(i);\n const isCollapsed = collapsedLines.has(i);\n const isCollapsible = region != null;\n\n return (\n <Line key={i} {...getLineProps({ line, key: i })}>\n <LineNo>{i + 1}</LineNo>\n <LineContent>\n {isCollapsible && (\n <CollapseTriangle\n $isCollapsed={isCollapsed}\n onClick={(e) => toggleLineCollapse(i, e)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n toggleLineCollapse(i, e);\n }\n }}\n aria-expanded={!isCollapsed}\n aria-label={`${isCollapsed ? 'Expand' : 'Collapse'} JSON ${region?.type} with ${region?.itemCount} items`}\n type='button'\n tabIndex={0}\n data-test={`code-highlight__collapse-toggle__${i}`}\n >\n {isCollapsed ? <ChevronRightIcon /> : <ChevronDownIcon />}\n </CollapseTriangle>\n )}\n {!isCollapsible && isJsonFoldingEnabled && <IndentSpacer />}\n {isCollapsed && region ? (\n // Render collapsed representation\n <>\n {line.map((token, key) => {\n const tokenProps = getTokenProps({ token, key });\n // Only render up to the opening bracket\n if (token.content === '{' || token.content === '[') {\n return (\n <span key={key}>\n <span {...tokenProps} />\n <CollapsedItemCount>\n {` ${region.itemCount} ${region.itemCount === 1 ? 'item' : 'items'} `}\n </CollapsedItemCount>\n <span {...tokenProps}>\n {region.type === 'object' ? '}' : ']'}\n </span>\n </span>\n );\n }\n // Render tokens before the bracket\n return <span key={key} {...tokenProps} />;\n })}\n </>\n ) : (\n // Render normal line\n <>\n {line.map((token, key) => {\n const tokenProps = getTokenProps({ token, key });\n const tokenLink =\n resolveEntityLink != null && token.types[0] === 'string'\n ? resolveEntityLink(\n token.content.slice(1, token.content.length - 1),\n )\n : undefined;\n\n return tokenLink != null ? (\n <span {...tokenProps}>\n &quot;\n <Link to={tokenLink} {...tokenProps}>\n {tokenProps.children.slice(1, tokenProps.children.length - 1)}\n </Link>\n &quot;\n </span>\n ) : (\n <span key={key} {...tokenProps} />\n );\n })}\n </>\n )}\n </LineContent>\n </Line>\n );\n })}\n </Pre>\n );\n }}\n </Highlight>\n </Wrapper>\n );\n};\n\nexport default CodeHighlight;\n\n// Based off of https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/themes/duotoneDark.js\n// NOTE: This theme uses hardcoded hex colors instead of design tokens because it's a specialized\n// syntax highlighting theme for the prism-react-renderer library. The colors are carefully chosen\n// for code readability and are not semantic UI colors from our design system.\nconst THEME: PrismTheme = {\n plain: {\n backgroundColor: '#161320', // edited\n color: '#9a86fd',\n },\n styles: [\n {\n types: ['comment', 'prolog', 'doctype', 'cdata', 'punctuation'],\n style: {\n color: '#6c6783',\n },\n },\n {\n types: ['namespace'],\n style: {\n opacity: 0.7,\n },\n },\n {\n types: ['tag', 'operator', 'number', 'keyword'],\n style: {\n color: '#e09142',\n fontWeight: 'bold', // added for more contrast\n },\n },\n {\n types: ['property', 'function'],\n style: {\n color: '#9a86fd',\n },\n },\n {\n types: ['tag-id', 'selector', 'atrule-id'],\n style: {\n color: '#eeebff',\n },\n },\n {\n types: ['attr-name'],\n style: {\n color: '#c4b9fe',\n },\n },\n {\n types: [\n 'boolean',\n 'string',\n 'entity',\n 'url',\n 'attr-value',\n 'control',\n 'directive',\n 'unit',\n 'statement',\n 'regex',\n 'at-rule',\n 'placeholder',\n 'variable',\n ],\n style: {\n color: '#ffcc99',\n },\n },\n {\n types: ['deleted'],\n style: {\n textDecorationLine: 'line-through',\n },\n },\n {\n types: ['inserted'],\n style: {\n textDecorationLine: 'underline',\n },\n },\n {\n types: ['italic'],\n style: {\n fontStyle: 'italic',\n },\n },\n {\n types: ['important', 'bold'],\n style: {\n fontWeight: 'bold',\n },\n },\n {\n types: ['important'],\n style: {\n color: '#c4b9fe',\n },\n },\n ],\n};\n","import CodeHighlight from './CodeHighlight';\n\nexport default CodeHighlight;\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { D as flattenOptions, a as ComboboxOptionGroup, i as ComboboxOption, o as ComboboxOptionsOrGroups, t as CaretButton } from "../../ComboboxBase-BlNi9OnF.mjs";
2
- import { n as ComboboxProps, t as Combobox } from "../../Combobox-D0dMN5eY.mjs";
1
+ import { D as flattenOptions, a as ComboboxOptionGroup, i as ComboboxOption, o as ComboboxOptionsOrGroups, t as CaretButton } from "../../ComboboxBase-D2rDQHYZ.mjs";
2
+ import { n as ComboboxProps, t as Combobox } from "../../Combobox-BXkcQ2aY.mjs";
3
3
  export { CaretButton, Combobox, Combobox as default, ComboboxOption, ComboboxOptionGroup, ComboboxOptionsOrGroups, ComboboxProps, flattenOptions };
@@ -1,2 +1,2 @@
1
- import { n as CaretButton, r as flattenOptions, t as Combobox } from "../../Combobox-CBM-oY-e.mjs";
1
+ import { n as CaretButton, r as flattenOptions, t as Combobox } from "../../Combobox-DQxaOCLA.mjs";
2
2
  export { CaretButton, Combobox, Combobox as default, flattenOptions };
@@ -1,3 +1,3 @@
1
- import { n as useFormGroup, t as FormGroupContext } from "../../useFormGroup-CsKC93Pt.mjs";
2
- import { t as ConfigFormGroup } from "../../ConfigFormGroup-CidT_cE9.mjs";
1
+ import { n as useFormGroup, t as FormGroupContext } from "../../useFormGroup-DSQkoWLh.mjs";
2
+ import { t as ConfigFormGroup } from "../../ConfigFormGroup-BCTWCws5.mjs";
3
3
  export { ConfigFormGroup, ConfigFormGroup as default, FormGroupContext, useFormGroup };
@@ -1,22 +1,22 @@
1
- import { n as ControlBarProps, t as ControlBar } from "../../../ControlBar-RIz-xjxs.mjs";
2
- import { a as FilterConditionOperator, c as FilterFieldType, d as FilterRuleValue, f as FilterRuleValueChange, g as isEmptyState, h as TopLevelFilterRule, i as EMPTY_FILTER_STATE, l as FilterOperator, m as FilterStateV2, n as CompoundExpression, o as FilterField, p as FilterSize, r as DateRangeFilterValue, s as FilterFieldSource, t as AndGroup, u as FilterRule } from "../../../types-EodOhsjw.mjs";
3
- import { n as RawFieldInfo, r as buildFieldRegistry, t as FieldRegistry } from "../../../FieldRegistry-B5E-GN91.mjs";
4
- import { n as ValueControlResolver, r as resolveValueControl, t as ResolveValueControlOptions } from "../../../value-control-resolver-C-UrXVlB.mjs";
5
- import { t as FilterBar } from "../../../FilterBar-BQWpTi2b.mjs";
6
- import { a as ComboboxFilterConfig, c as FilterRenderOptions, d as InputFilterConfig, f as MultiSelectFilterConfig, i as BaseFilterConfig, l as FilterTypeDefinition, o as DateRangeFilterConfig, p as SelectFilterConfig, r as BaseActiveFilter, s as FilterConfig, t as ActiveFilter, u as FilterTypeResolver } from "../../../types-CrRWZ0Ia.mjs";
7
- import { i as TableViewConfigurationProps, n as TableViewConfigurationDropdown, r as TableViewConfigurationDropdownProps, t as TableViewConfiguration } from "../../../TableViewConfigurationDropdown-BvOlDkJy.mjs";
8
- import { n as TableControlsFiltersV2Props, r as TableControlsProps, t as TableControls } from "../../../TableControls-ETB0Xk5X.mjs";
9
- import { n as DataTableCompactBar } from "../../../CompactBar-D9egXqY_.mjs";
10
- import { i as useTableControls, n as TableControlsContextProps, r as TableControlsProvider, t as TableControlsContext } from "../../../TableControlsContext-CzJCMrSe.mjs";
11
- import { a as resolveFilterTypeDefinition, i as isFilterActive, n as FiltersContainer, r as getActiveFilters } from "../../../filters-jG9Y3UKb.mjs";
12
- import { t as dateRuleIntent } from "../../../date-rule-intent-C5C8HB1v.mjs";
13
- import { t as resolveDateRangeRuleValue } from "../../../date-range-rule-value-Dk6pZHnD.mjs";
14
- import { t as FilterBarProps } from "../../../index-DTAcGzW4.mjs";
15
- import { a as useFilterBarSize, i as FilterSizeTokens, t as FILTER_SIZE_TOKENS } from "../../../filter-size-context-5xQ3ycnC.mjs";
16
- import { n as PillShellProps, t as PillShell } from "../../../PillShell-DqglbFHe.mjs";
17
- import { _ as isNumericComparisonOperator, a as emptyValueForRule, b as reconcileValueForOperator, c as getDefaultOperatorForType, d as getOperatorsForType, n as NumericComparisonOperator, p as isCompleteDateRange, t as NUMERIC_COMPARISON_OPERATORS, u as getOperatorsForField, v as isRangeOperator, y as isValuelessOperator } from "../../../operators-Seez5p9U.mjs";
18
- import { a as decodeFilterStateFromUrl, i as decodeFilterStateFromString, n as UrlStateCodecResult, o as encodeFilterStateToUrlParam, r as applyFilterStateToSearchParams, t as FILTER_STATE_URL_PARAM } from "../../../url-state-CwaRVyXR.mjs";
19
- import { n as UseFilterStateV2Result, r as useFilterStateV2, t as UseFilterStateV2Options } from "../../../useFilterStateV2-Bzo27PR-.mjs";
20
- import { n as isFilterStateV2, r as pruneToRegistry, t as hasCompleteValue } from "../../../validation-D6NPueNk.mjs";
21
- import { t as ValueControlProps } from "../../../types-SOkNtcBq.mjs";
1
+ import { n as ControlBarProps, t as ControlBar } from "../../../ControlBar-kJ_eWf8f.mjs";
2
+ import { a as FilterConditionOperator, c as FilterFieldType, d as FilterRuleValue, f as FilterRuleValueChange, g as isEmptyState, h as TopLevelFilterRule, i as EMPTY_FILTER_STATE, l as FilterOperator, m as FilterStateV2, n as CompoundExpression, o as FilterField, p as FilterSize, r as DateRangeFilterValue, s as FilterFieldSource, t as AndGroup, u as FilterRule } from "../../../types-DbOD5vE_.mjs";
3
+ import { n as RawFieldInfo, r as buildFieldRegistry, t as FieldRegistry } from "../../../FieldRegistry-a44G08fS.mjs";
4
+ import { n as ValueControlResolver, r as resolveValueControl, t as ResolveValueControlOptions } from "../../../value-control-resolver-CMyFwEY7.mjs";
5
+ import { t as FilterBar } from "../../../FilterBar-BpMguIXl.mjs";
6
+ import { a as ComboboxFilterConfig, c as FilterRenderOptions, d as InputFilterConfig, f as MultiSelectFilterConfig, i as BaseFilterConfig, l as FilterTypeDefinition, o as DateRangeFilterConfig, p as SelectFilterConfig, r as BaseActiveFilter, s as FilterConfig, t as ActiveFilter, u as FilterTypeResolver } from "../../../types-CayYd8EX.mjs";
7
+ import { i as TableViewConfigurationProps, n as TableViewConfigurationDropdown, r as TableViewConfigurationDropdownProps, t as TableViewConfiguration } from "../../../TableViewConfigurationDropdown-vYnU0d4k.mjs";
8
+ import { n as TableControlsFiltersV2Props, r as TableControlsProps, t as TableControls } from "../../../TableControls-DAjx1TYG.mjs";
9
+ import { n as DataTableCompactBar } from "../../../CompactBar-zYfXjFmn.mjs";
10
+ import { i as useTableControls, n as TableControlsContextProps, r as TableControlsProvider, t as TableControlsContext } from "../../../TableControlsContext-BEIvE9qN.mjs";
11
+ import { a as resolveFilterTypeDefinition, i as isFilterActive, n as FiltersContainer, r as getActiveFilters } from "../../../filters-DjXkx8GJ.mjs";
12
+ import { t as dateRuleIntent } from "../../../date-rule-intent-C1aptAoX.mjs";
13
+ import { t as resolveDateRangeRuleValue } from "../../../date-range-rule-value-CrVBpQcf.mjs";
14
+ import { t as FilterBarProps } from "../../../index-FgIOTuJ4.mjs";
15
+ import { a as useFilterBarSize, i as FilterSizeTokens, t as FILTER_SIZE_TOKENS } from "../../../filter-size-context-CbT4pi3S.mjs";
16
+ import { n as PillShellProps, t as PillShell } from "../../../PillShell-B35z66jZ.mjs";
17
+ import { _ as isNumericComparisonOperator, a as emptyValueForRule, b as reconcileValueForOperator, c as getDefaultOperatorForType, d as getOperatorsForType, n as NumericComparisonOperator, p as isCompleteDateRange, t as NUMERIC_COMPARISON_OPERATORS, u as getOperatorsForField, v as isRangeOperator, y as isValuelessOperator } from "../../../operators-gCG7uZ6y.mjs";
18
+ import { a as decodeFilterStateFromUrl, i as decodeFilterStateFromString, n as UrlStateCodecResult, o as encodeFilterStateToUrlParam, r as applyFilterStateToSearchParams, t as FILTER_STATE_URL_PARAM } from "../../../url-state-CmgyDnG7.mjs";
19
+ import { n as UseFilterStateV2Result, r as useFilterStateV2, t as UseFilterStateV2Options } from "../../../useFilterStateV2-CPBt0qwc.mjs";
20
+ import { n as isFilterStateV2, r as pruneToRegistry, t as hasCompleteValue } from "../../../validation-BaqPVG1C.mjs";
21
+ import { t as ValueControlProps } from "../../../types-B4KbdEDc.mjs";
22
22
  export { ActiveFilter, AndGroup, BaseActiveFilter, BaseFilterConfig, ComboboxFilterConfig, CompoundExpression, ControlBar, ControlBarProps, DataTableCompactBar, DateRangeFilterConfig, DateRangeFilterValue, EMPTY_FILTER_STATE, FILTER_SIZE_TOKENS, FILTER_STATE_URL_PARAM, FieldRegistry, FilterBar, FilterBarProps, FilterConditionOperator, FilterConfig, FilterField, FilterFieldSource, FilterFieldType, FilterOperator, FilterRenderOptions, FilterRule, FilterRuleValue, FilterRuleValueChange, FilterSize, FilterSizeTokens, FilterStateV2, FilterTypeDefinition, FilterTypeResolver, FiltersContainer, InputFilterConfig, MultiSelectFilterConfig, NUMERIC_COMPARISON_OPERATORS, NumericComparisonOperator, PillShell, PillShellProps, RawFieldInfo, ResolveValueControlOptions, SelectFilterConfig, TableControlsContext, TableControlsContextProps, TableControlsFiltersV2Props, TableControlsProps, TableControlsProvider, TableViewConfiguration, TableViewConfigurationDropdown, TableViewConfigurationDropdownProps, TableViewConfigurationProps, TopLevelFilterRule, UrlStateCodecResult, UseFilterStateV2Options, UseFilterStateV2Result, ValueControlProps, ValueControlResolver, applyFilterStateToSearchParams, buildFieldRegistry, dateRuleIntent, decodeFilterStateFromString, decodeFilterStateFromUrl, TableControls as default, emptyValueForRule, encodeFilterStateToUrlParam, getActiveFilters, getDefaultOperatorForType, getOperatorsForField, getOperatorsForType, hasCompleteValue, isCompleteDateRange, isEmptyState, isFilterActive, isFilterStateV2, isNumericComparisonOperator, isRangeOperator, isValuelessOperator, pruneToRegistry, reconcileValueForOperator, resolveDateRangeRuleValue, resolveFilterTypeDefinition, resolveValueControl, useFilterBarSize, useFilterStateV2, useTableControls };
@@ -1,2 +1,2 @@
1
- import { A as isNumericComparisonOperator, B as useTableControls, C as useFilterBarSize, D as getOperatorsForField, E as getDefaultOperatorForType, F as getActiveFilters, H as DataTableCompactBar, I as isFilterActive, L as resolveFilterTypeDefinition, M as isValuelessOperator, N as reconcileValueForOperator, O as getOperatorsForType, P as FiltersContainer, R as TableControlsContext, S as FILTER_SIZE_TOKENS, T as emptyValueForRule, V as ControlBar, _ as EMPTY_FILTER_STATE, a as encodeFilterStateToUrlParam, b as resolveValueControl, c as FilterBar_default, d as TableViewConfiguration, f as TableViewConfigurationDropdown, g as pruneToRegistry, h as isFilterStateV2, i as decodeFilterStateFromUrl, j as isRangeOperator, k as isCompleteDateRange, l as resolveDateRangeRuleValue, m as hasCompleteValue, n as applyFilterStateToSearchParams, o as FieldRegistry, p as useFilterStateV2, r as decodeFilterStateFromString, s as buildFieldRegistry, t as FILTER_STATE_URL_PARAM, u as TableControls, v as isEmptyState, w as NUMERIC_COMPARISON_OPERATORS, x as dateRuleIntent, y as PillShell, z as TableControlsProvider } from "../../../TableControls-qxoq5abn.mjs";
1
+ import { A as isNumericComparisonOperator, B as useTableControls, C as useFilterBarSize, D as getOperatorsForField, E as getDefaultOperatorForType, F as getActiveFilters, H as DataTableCompactBar, I as isFilterActive, L as resolveFilterTypeDefinition, M as isValuelessOperator, N as reconcileValueForOperator, O as getOperatorsForType, P as FiltersContainer, R as TableControlsContext, S as FILTER_SIZE_TOKENS, T as emptyValueForRule, V as ControlBar, _ as EMPTY_FILTER_STATE, a as encodeFilterStateToUrlParam, b as resolveValueControl, c as FilterBar_default, d as TableViewConfiguration, f as TableViewConfigurationDropdown, g as pruneToRegistry, h as isFilterStateV2, i as decodeFilterStateFromUrl, j as isRangeOperator, k as isCompleteDateRange, l as resolveDateRangeRuleValue, m as hasCompleteValue, n as applyFilterStateToSearchParams, o as FieldRegistry, p as useFilterStateV2, r as decodeFilterStateFromString, s as buildFieldRegistry, t as FILTER_STATE_URL_PARAM, u as TableControls, v as isEmptyState, w as NUMERIC_COMPARISON_OPERATORS, x as dateRuleIntent, y as PillShell, z as TableControlsProvider } from "../../../TableControls-BDXOQMr7.mjs";
2
2
  export { ControlBar, DataTableCompactBar, EMPTY_FILTER_STATE, FILTER_SIZE_TOKENS, FILTER_STATE_URL_PARAM, FieldRegistry, FilterBar_default as FilterBar, FiltersContainer, NUMERIC_COMPARISON_OPERATORS, PillShell, TableControlsContext, TableControlsProvider, TableViewConfiguration, TableViewConfigurationDropdown, applyFilterStateToSearchParams, buildFieldRegistry, dateRuleIntent, decodeFilterStateFromString, decodeFilterStateFromUrl, TableControls as default, emptyValueForRule, encodeFilterStateToUrlParam, getActiveFilters, getDefaultOperatorForType, getOperatorsForField, getOperatorsForType, hasCompleteValue, isCompleteDateRange, isEmptyState, isFilterActive, isFilterStateV2, isNumericComparisonOperator, isRangeOperator, isValuelessOperator, pruneToRegistry, reconcileValueForOperator, resolveDateRangeRuleValue, resolveFilterTypeDefinition, resolveValueControl, useFilterBarSize, useFilterStateV2, useTableControls };
@@ -1,9 +1,9 @@
1
- import { C as RowAction, D as RowDataWithTourTarget, E as RowDataWithSubrowsToAlwaysShowIds, O as SortProps, S as RenderValueStickerFormatConfig, T as RowDataWithSubrows, _ as DataTableColumns, a as DataTableColumnBaseFormat, b as DatetimeConfig, c as DataTableColumnDatetimeFormat, d as DataTableColumnImageFormat, f as DataTableColumnNumberFormat, g as DataTableColumnURLFormat, h as DataTableColumnStringFormat, i as ColumnConfig, k as StickerMapping, l as DataTableColumnFormat, m as DataTableColumnStickerFormat, n as ClientFilterConfig, o as DataTableColumnCheckboxFormat, p as DataTableColumnPiiFormat, r as ClientFilterType, s as DataTableColumnDateFormat, t as BulkAction, u as DataTableColumnIDFormat, v as DataTableVariables, w as RowDataWithDetails, x as HeadlessFilterConfig, y as DateConfig } from "../../types-DxJyE_U8.mjs";
2
- import { r as useTableColumns, t as RenderFormatFn } from "../../useTableColumns-DSXRInPb.mjs";
3
- import { a as FloatingActionBarContainer, i as DataTableProps, n as DataTableContainer, r as DataTableControls, t as DataTable } from "../../DataTable-D15C5lfd.mjs";
4
- import { t as FloatingActionBar } from "../../FloatingActionBar-CpvLefPm.mjs";
5
- import { t as Inserter } from "../../Inserter-BKVrJ4M5.mjs";
6
- import { n as getFilterFnName, t as generateClientFilters } from "../../clientFilterUtils-BqDn44aM.mjs";
7
- import { t as getColumnWidths } from "../../constants-BaMvTUbS.mjs";
8
- import { a as renderAsDate, c as renderAsNumber, d as renderAsSticker, f as renderAsString, i as renderAsCopyableString, l as renderAsPDSFormat, n as renderAsCheckbox, o as renderAsDatetime, p as renderAsURL, r as renderAsCheckboxHeader, s as renderAsLightweightImage, t as PDSFormatOptions, u as renderAsPii } from "../../helpers-DCIto6aY.mjs";
1
+ import { C as RowAction, D as RowDataWithTourTarget, E as RowDataWithSubrowsToAlwaysShowIds, O as SortProps, S as RenderValueStickerFormatConfig, T as RowDataWithSubrows, _ as DataTableColumns, a as DataTableColumnBaseFormat, b as DatetimeConfig, c as DataTableColumnDatetimeFormat, d as DataTableColumnImageFormat, f as DataTableColumnNumberFormat, g as DataTableColumnURLFormat, h as DataTableColumnStringFormat, i as ColumnConfig, k as StickerMapping, l as DataTableColumnFormat, m as DataTableColumnStickerFormat, n as ClientFilterConfig, o as DataTableColumnCheckboxFormat, p as DataTableColumnPiiFormat, r as ClientFilterType, s as DataTableColumnDateFormat, t as BulkAction, u as DataTableColumnIDFormat, v as DataTableVariables, w as RowDataWithDetails, x as HeadlessFilterConfig, y as DateConfig } from "../../types-DJobO07d.mjs";
2
+ import { r as useTableColumns, t as RenderFormatFn } from "../../useTableColumns-BK-KYY0L.mjs";
3
+ import { a as FloatingActionBarContainer, i as DataTableProps, n as DataTableContainer, r as DataTableControls, t as DataTable } from "../../DataTable-C000E74h.mjs";
4
+ import { t as FloatingActionBar } from "../../FloatingActionBar-DPA9v_yH.mjs";
5
+ import { t as Inserter } from "../../Inserter-BnQVEqHV.mjs";
6
+ import { n as getFilterFnName, t as generateClientFilters } from "../../clientFilterUtils-DYKgw2Yq.mjs";
7
+ import { t as getColumnWidths } from "../../constants-D1hoZ5LO.mjs";
8
+ import { a as renderAsDate, c as renderAsNumber, d as renderAsSticker, f as renderAsString, i as renderAsCopyableString, l as renderAsPDSFormat, n as renderAsCheckbox, o as renderAsDatetime, p as renderAsURL, r as renderAsCheckboxHeader, s as renderAsLightweightImage, t as PDSFormatOptions, u as renderAsPii } from "../../helpers-CdxEL7ri.mjs";
9
9
  export { BulkAction, ClientFilterConfig, ClientFilterType, ColumnConfig, DataTable, DataTable as default, DataTableColumnBaseFormat, DataTableColumnCheckboxFormat, DataTableColumnDateFormat, DataTableColumnDatetimeFormat, DataTableColumnFormat, DataTableColumnIDFormat, DataTableColumnImageFormat, DataTableColumnNumberFormat, DataTableColumnPiiFormat, DataTableColumnStickerFormat, DataTableColumnStringFormat, DataTableColumnURLFormat, DataTableColumns, DataTableContainer, DataTableControls, DataTableProps, DataTableVariables, DateConfig, DatetimeConfig, FloatingActionBar, FloatingActionBarContainer, HeadlessFilterConfig, Inserter, PDSFormatOptions, RenderFormatFn, RenderValueStickerFormatConfig, RowAction, RowDataWithDetails, RowDataWithSubrows, RowDataWithSubrowsToAlwaysShowIds, RowDataWithTourTarget, SortProps, StickerMapping, generateClientFilters, getColumnWidths, getFilterFnName, renderAsCheckbox, renderAsCheckboxHeader, renderAsCopyableString, renderAsDate, renderAsDatetime, renderAsLightweightImage, renderAsNumber, renderAsPDSFormat, renderAsPii, renderAsSticker, renderAsString, renderAsURL, useTableColumns };
@@ -1,2 +1,2 @@
1
- import { S as getFilterFnName, _ as renderAsString, a as useTableColumns, b as getColumnWidths, c as renderAsCheckboxHeader, d as renderAsDatetime, f as renderAsLightweightImage, g as renderAsSticker, h as renderAsPii, i as FloatingActionBarContainer, l as renderAsCopyableString, m as renderAsPDSFormat, n as DataTableContainer, o as Inserter, p as renderAsNumber, r as DataTableControls, s as renderAsCheckbox, t as DataTable, u as renderAsDate, v as renderAsURL, x as generateClientFilters, y as FloatingActionBar } from "../../DataTable-DQ8axNfo.mjs";
1
+ import { S as getFilterFnName, _ as renderAsString, a as useTableColumns, b as getColumnWidths, c as renderAsCheckboxHeader, d as renderAsDatetime, f as renderAsLightweightImage, g as renderAsSticker, h as renderAsPii, i as FloatingActionBarContainer, l as renderAsCopyableString, m as renderAsPDSFormat, n as DataTableContainer, o as Inserter, p as renderAsNumber, r as DataTableControls, s as renderAsCheckbox, t as DataTable, u as renderAsDate, v as renderAsURL, x as generateClientFilters, y as FloatingActionBar } from "../../DataTable-DEJHWrsy.mjs";
2
2
  export { DataTable, DataTable as default, DataTableContainer, DataTableControls, FloatingActionBar, FloatingActionBarContainer, Inserter, generateClientFilters, getColumnWidths, getFilterFnName, renderAsCheckbox, renderAsCheckboxHeader, renderAsCopyableString, renderAsDate, renderAsDatetime, renderAsLightweightImage, renderAsNumber, renderAsPDSFormat, renderAsPii, renderAsSticker, renderAsString, renderAsURL, useTableColumns };
@@ -1,2 +1,2 @@
1
- import { C as RowAction, D as RowDataWithTourTarget, E as RowDataWithSubrowsToAlwaysShowIds, O as SortProps, S as RenderValueStickerFormatConfig, T as RowDataWithSubrows, _ as DataTableColumns, a as DataTableColumnBaseFormat, b as DatetimeConfig, c as DataTableColumnDatetimeFormat, d as DataTableColumnImageFormat, f as DataTableColumnNumberFormat, g as DataTableColumnURLFormat, h as DataTableColumnStringFormat, i as ColumnConfig, k as StickerMapping, l as DataTableColumnFormat, m as DataTableColumnStickerFormat, n as ClientFilterConfig, o as DataTableColumnCheckboxFormat, p as DataTableColumnPiiFormat, r as ClientFilterType, s as DataTableColumnDateFormat, t as BulkAction, u as DataTableColumnIDFormat, v as DataTableVariables, w as RowDataWithDetails, x as HeadlessFilterConfig, y as DateConfig } from "../../types-DxJyE_U8.mjs";
1
+ import { C as RowAction, D as RowDataWithTourTarget, E as RowDataWithSubrowsToAlwaysShowIds, O as SortProps, S as RenderValueStickerFormatConfig, T as RowDataWithSubrows, _ as DataTableColumns, a as DataTableColumnBaseFormat, b as DatetimeConfig, c as DataTableColumnDatetimeFormat, d as DataTableColumnImageFormat, f as DataTableColumnNumberFormat, g as DataTableColumnURLFormat, h as DataTableColumnStringFormat, i as ColumnConfig, k as StickerMapping, l as DataTableColumnFormat, m as DataTableColumnStickerFormat, n as ClientFilterConfig, o as DataTableColumnCheckboxFormat, p as DataTableColumnPiiFormat, r as ClientFilterType, s as DataTableColumnDateFormat, t as BulkAction, u as DataTableColumnIDFormat, v as DataTableVariables, w as RowDataWithDetails, x as HeadlessFilterConfig, y as DateConfig } from "../../types-DJobO07d.mjs";
2
2
  export { BulkAction, ClientFilterConfig, ClientFilterType, ColumnConfig, DataTableColumnBaseFormat, DataTableColumnCheckboxFormat, DataTableColumnDateFormat, DataTableColumnDatetimeFormat, DataTableColumnFormat, DataTableColumnIDFormat, DataTableColumnImageFormat, DataTableColumnNumberFormat, DataTableColumnPiiFormat, DataTableColumnStickerFormat, DataTableColumnStringFormat, DataTableColumnURLFormat, DataTableColumns, DataTableVariables, DateConfig, DatetimeConfig, HeadlessFilterConfig, RenderValueStickerFormatConfig, RowAction, RowDataWithDetails, RowDataWithSubrows, RowDataWithSubrowsToAlwaysShowIds, RowDataWithTourTarget, SortProps, StickerMapping };
@@ -1,6 +1,6 @@
1
- import { n as DatePickerProps, t as DatePicker } from "../../DatePicker-DRhY_0st.mjs";
2
- import { i as DateRangePickerProps, n as DateRange, r as DateRangePicker, t as DateFilterChange } from "../../DateRangePicker-CLuBLF1q.mjs";
3
- import { t as DateField } from "../../DateField-CwSq77Ri.mjs";
4
- import { t as Calendar } from "../../Calendar-CkjYG7Mj.mjs";
5
- import { n as RangeCalendarProps, t as RangeCalendar } from "../../RangeCalendar-CK5ArbIQ.mjs";
1
+ import { n as DatePickerProps, t as DatePicker } from "../../DatePicker-8kUpFFh8.mjs";
2
+ import { i as DateRangePickerProps, n as DateRange, r as DateRangePicker, t as DateFilterChange } from "../../DateRangePicker-Nv4uNuIW.mjs";
3
+ import { t as DateField } from "../../DateField-g7malFm-.mjs";
4
+ import { t as Calendar } from "../../Calendar-D-6WOLJ1.mjs";
5
+ import { n as RangeCalendarProps, t as RangeCalendar } from "../../RangeCalendar-BiugsdSP.mjs";
6
6
  export { Calendar, DateField, DateFilterChange, DatePicker, DatePicker as default, DatePickerProps, DateRange, DateRangePicker, DateRangePickerProps, RangeCalendar, RangeCalendarProps };
@@ -1,2 +1,2 @@
1
- import { a as RangeCalendar, i as DateField, n as Calendar, r as DateRangePicker, t as DatePicker } from "../../DatePicker-D0cvVbzq.mjs";
1
+ import { a as RangeCalendar, i as DateField, n as Calendar, r as DateRangePicker, t as DatePicker } from "../../DatePicker-D-_ibUd1.mjs";
2
2
  export { Calendar, DateField, DatePicker, DatePicker as default, DateRangePicker, RangeCalendar };
@@ -1,2 +1,2 @@
1
- import { t as DropdownButton } from "../../DropdownButton-5oNcpsOq.mjs";
1
+ import { t as DropdownButton } from "../../DropdownButton-BiFRlSVD.mjs";
2
2
  export { DropdownButton, DropdownButton as default };
@@ -1,2 +1,2 @@
1
- import { n as DropdownMenuProps, r as _default, t as DropdownMenu } from "../../DropdownMenu-nxFNS1kH.mjs";
1
+ import { n as DropdownMenuProps, r as _default, t as DropdownMenu } from "../../DropdownMenu-CQbS7ML5.mjs";
2
2
  export { DropdownMenu, DropdownMenuProps, _default as default };
@@ -1,2 +1,2 @@
1
- import { n as DropdownMenu_default, t as DropdownMenu } from "../../DropdownMenu-CedsmO5h.mjs";
1
+ import { n as DropdownMenu_default, t as DropdownMenu } from "../../DropdownMenu-Q8S-9rXm.mjs";
2
2
  export { DropdownMenu, DropdownMenu_default as default };