@persona/design-system 0.9.1 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -0
- package/README.md +1 -1
- package/dist/Accordion.d.mts +1 -1
- package/dist/AccordionItem.d.mts +1 -1
- package/dist/{Action-BleGvmsy.d.mts → Action-DT8WqfEg.d.mts} +3 -3
- package/dist/Action.d.mts +1 -1
- package/dist/AdvancedFilterRuleRow.d.mts +2 -2
- package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
- package/dist/ArrayValueControl.d.mts +1 -1
- package/dist/Attribute.d.mts +4 -4
- package/dist/{Badge-BYa-iqNE.mjs → Badge-Bvn3afds.mjs} +2 -2
- package/dist/{Badge-BYa-iqNE.mjs.map → Badge-Bvn3afds.mjs.map} +1 -1
- package/dist/BooleanValueControl.d.mts +1 -1
- package/dist/{Breadcrumb-CEHEUe8l.d.mts → Breadcrumb-BDbY1Ffu.d.mts} +1 -1
- package/dist/Breadcrumb.d.mts +1 -1
- package/dist/{Breadcrumbs-BQ-Gj6UV.d.mts → Breadcrumbs-C2ThOYJ-.d.mts} +2 -2
- package/dist/{Breadcrumbs-BmlndU4V.mjs → Breadcrumbs-CQUe9VTM.mjs} +8 -8
- package/dist/{Breadcrumbs-BmlndU4V.mjs.map → Breadcrumbs-CQUe9VTM.mjs.map} +1 -1
- package/dist/Breadcrumbs.d.mts +1 -1
- package/dist/{Button-Dx7mHjWC.d.mts → Button-CyjqQa5v.d.mts} +5 -5
- package/dist/Button.d.mts +1 -1
- package/dist/{Calendar-BvsTQ3e1.d.mts → Calendar-CkjYG7Mj.d.mts} +1 -1
- package/dist/Calendar.d.mts +1 -1
- package/dist/CalendarBase.d.mts +1 -1
- package/dist/{Card-BPY0OU7e.d.mts → Card-CzRHVUFo.d.mts} +4 -4
- package/dist/Card.d.mts +1 -1
- package/dist/Card2.d.mts +1 -1
- package/dist/CardGrouping.d.mts +2 -2
- package/dist/{CardV2-Cq4QODeE.mjs → CardV2-Dp4eHSE-.mjs} +11 -11
- package/dist/{CardV2-Cq4QODeE.mjs.map → CardV2-Dp4eHSE-.mjs.map} +1 -1
- package/dist/{Checkbox-CVa8WOf2.d.mts → Checkbox-B2MZShdu.d.mts} +1 -1
- package/dist/{Checkbox-Cttn1t8T.mjs → Checkbox-BaJ-dGdX.mjs} +5 -5
- package/dist/{Checkbox-Cttn1t8T.mjs.map → Checkbox-BaJ-dGdX.mjs.map} +1 -1
- package/dist/Checkbox.d.mts +1 -1
- package/dist/{CheckboxGroupField-BpHN_2QP.d.mts → CheckboxGroupField-4dc7YXJY.d.mts} +3 -3
- package/dist/CheckboxGroupField.d.mts +1 -1
- package/dist/ChoicesValueControl.d.mts +1 -1
- package/dist/{Combobox-C4C2P8lF.d.mts → Combobox-Bm2eSg56.d.mts} +3 -3
- package/dist/{Combobox-CsXnJKvB.mjs → Combobox-CcFJo68g.mjs} +19 -11
- package/dist/Combobox-CcFJo68g.mjs.map +1 -0
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-2nVpt8oj.d.mts → ComboboxBase-B7ZcqU9p.d.mts} +7 -7
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-BvJ--m6z.d.mts → ComboboxMultiSelect-BkdRrH6K.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-BWrnRA2x.d.mts → ComboboxSingleSelect-DIBRZmvS.d.mts} +4 -4
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/{CompactBar-CmTT9iuT.d.mts → CompactBar-CfrrZ69k.d.mts} +3 -3
- package/dist/CompactBar.d.mts +1 -1
- package/dist/{ConfigFormGroup-C0orlWwb.mjs → ConfigFormGroup-CidT_cE9.mjs} +2 -2
- package/dist/{ConfigFormGroup-C0orlWwb.mjs.map → ConfigFormGroup-CidT_cE9.mjs.map} +1 -1
- package/dist/{ControlBar-Cg36sjz3.d.mts → ControlBar-D9KflqmH.d.mts} +22 -9
- package/dist/ControlBar.d.mts +1 -1
- package/dist/DataTable--_f1Obhj.d.mts +441 -0
- package/dist/DataTable-BoAAKhVH.mjs +1547 -0
- package/dist/DataTable-BoAAKhVH.mjs.map +1 -0
- package/dist/DataTable.d.mts +2 -396
- package/dist/{DateField-BXUuqbnb.d.mts → DateField-CwSq77Ri.d.mts} +2 -2
- package/dist/DateField.d.mts +1 -1
- package/dist/{DatePicker-DQHVCGnP.mjs → DatePicker-D0cvVbzq.mjs} +374 -374
- package/dist/DatePicker-D0cvVbzq.mjs.map +1 -0
- package/dist/{DatePicker-Cmn1vViU.d.mts → DatePicker-DRhY_0st.d.mts} +2 -2
- package/dist/DatePicker.d.mts +1 -1
- package/dist/{DateRangePicker-CKhp9Obv.d.mts → DateRangePicker-CLuBLF1q.d.mts} +3 -3
- package/dist/DateRangePicker.d.mts +1 -1
- package/dist/DateRangeValueControl.d.mts +2 -2
- package/dist/DateValueControl.d.mts +1 -1
- package/dist/{DropdownButton-C9wWnB5w.mjs → DropdownButton-5oNcpsOq.mjs} +3 -3
- package/dist/{DropdownButton-C9wWnB5w.mjs.map → DropdownButton-5oNcpsOq.mjs.map} +1 -1
- package/dist/DropdownButton.d.mts +2 -2
- package/dist/{DropdownMenu-BZ62b8Cv.d.mts → DropdownMenu-Bie2cWjb.d.mts} +3 -3
- package/dist/{DropdownMenu-CPE8Q56k.mjs → DropdownMenu-CedsmO5h.mjs} +2 -2
- package/dist/{DropdownMenu-CPE8Q56k.mjs.map → DropdownMenu-CedsmO5h.mjs.map} +1 -1
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{ErrorProps-oCHtJzEB.d.mts → ErrorProps-DH0fzeGf.d.mts} +1 -1
- package/dist/ErrorProps.d.mts +1 -1
- package/dist/{FieldRegistry-DAk_3PhH.d.mts → FieldRegistry-B5E-GN91.d.mts} +2 -2
- package/dist/FieldRegistry.d.mts +1 -1
- package/dist/{FilterBar-C7ch6kYM.d.mts → FilterBar-BQWpTi2b.d.mts} +4 -4
- package/dist/FilterBar.d.mts +1 -1
- package/dist/FilterPickerMenu.d.mts +2 -2
- package/dist/FilterPill.d.mts +1 -1
- package/dist/FilterPopover.d.mts +1 -1
- package/dist/FloatValueControl.d.mts +1 -1
- package/dist/FloatingActionBar-CpvLefPm.d.mts +41 -0
- package/dist/FloatingActionBar.d.mts +2 -41
- package/dist/{FormControl-CD_FdAXA.mjs → FormControl-C4CiA0H-.mjs} +4 -4
- package/dist/{FormControl-CD_FdAXA.mjs.map → FormControl-C4CiA0H-.mjs.map} +1 -1
- package/dist/{FormControl-DX4vtUp6.d.mts → FormControl-DEG_0oXt.d.mts} +3 -3
- package/dist/FormControl.d.mts +1 -1
- package/dist/FormControlLabel.d.mts +2 -2
- package/dist/{FormField-DjysBTKn.mjs → FormField-C4B2qFgh.mjs} +15 -15
- package/dist/{FormField-DjysBTKn.mjs.map → FormField-C4B2qFgh.mjs.map} +1 -1
- package/dist/{FormField-C80kGAIV.d.mts → FormField-mLbXDJ9B.d.mts} +2 -2
- package/dist/FormField.d.mts +1 -1
- package/dist/{Grid-D0mlxk8_.mjs → Grid-DXVkhyNQ.mjs} +1 -1
- package/dist/{Grid-D0mlxk8_.mjs.map → Grid-DXVkhyNQ.mjs.map} +1 -1
- package/dist/{Header-C-a5fL3k.d.mts → Header-ayDu4VWE.d.mts} +2 -2
- package/dist/Header.d.mts +1 -1
- package/dist/{HelperTooltip-hhMFkKmn.d.mts → HelperTooltip-BB9Vznnx.d.mts} +2 -2
- package/dist/HelperTooltip.d.mts +1 -1
- package/dist/HighlightedText.d.mts +3 -3
- package/dist/{HoverCopyableField-Cgu3W31s.mjs → HoverCopyableField-D-BubaRd.mjs} +4 -4
- package/dist/{HoverCopyableField-Cgu3W31s.mjs.map → HoverCopyableField-D-BubaRd.mjs.map} +1 -1
- package/dist/{I18nContext-ioYM_vqG.d.mts → I18nContext-TXS9M8t5.d.mts} +2 -2
- package/dist/I18nContext.d.mts +1 -1
- package/dist/{IconButton-DJ3L_ZqN.d.mts → IconButton-Bigvu1Q4.d.mts} +2 -2
- package/dist/{IconButton-D4awF770.mjs → IconButton-HWx5Hlmi.mjs} +14 -11
- package/dist/{IconButton-D4awF770.mjs.map → IconButton-HWx5Hlmi.mjs.map} +1 -1
- package/dist/IconButton.d.mts +1 -1
- package/dist/ImageTile.d.mts +4 -3
- package/dist/IndexTableLayout.d.mts +45 -0
- package/dist/InlineCombobox.d.mts +1 -1
- package/dist/InlineInput.d.mts +1 -1
- package/dist/{Input-D3lXfJHq.d.mts → Input-Bg4bi6VZ.d.mts} +4 -4
- package/dist/{Input-DD4jzJhK.mjs → Input-Dap055xf.mjs} +5 -5
- package/dist/{Input-DD4jzJhK.mjs.map → Input-Dap055xf.mjs.map} +1 -1
- package/dist/Input.d.mts +1 -1
- package/dist/{InputProps-BU9iiBBz.d.mts → InputProps-Bl-G826g.d.mts} +2 -2
- package/dist/InputProps.d.mts +1 -1
- package/dist/Inserter-BKVrJ4M5.d.mts +12 -0
- package/dist/Inserter.d.mts +2 -12
- package/dist/IntegerValueControl.d.mts +1 -1
- package/dist/{Link-DGZu4J0x.mjs → Link-Cf__H8gD.mjs} +4 -4
- package/dist/{Link-DGZu4J0x.mjs.map → Link-Cf__H8gD.mjs.map} +1 -1
- package/dist/Link.d.mts +1 -1
- package/dist/{ListBox-CjGb0mMY.d.mts → ListBox-DIk8suJM.d.mts} +3 -3
- package/dist/{ListBox-BhWLad_L.mjs → ListBox-eoyBHtnJ.mjs} +12 -12
- package/dist/{ListBox-BhWLad_L.mjs.map → ListBox-eoyBHtnJ.mjs.map} +1 -1
- package/dist/ListBox.d.mts +1 -1
- package/dist/{ListBoxField-BUkPeLiB.d.mts → ListBoxField-DF8rqPsu.d.mts} +4 -4
- package/dist/ListBoxField.d.mts +1 -1
- package/dist/LoadingShimmer.d.mts +2 -2
- package/dist/{LogicRow-Bt6NPLOd.d.mts → LogicRow-uxpe1vZ1.d.mts} +3 -3
- package/dist/LogicRow.d.mts +1 -1
- package/dist/MaskedInput.d.mts +2 -2
- package/dist/MatchHighlight.d.mts +1 -1
- package/dist/{Menu-BMrsN-Jz.d.mts → Menu-CrThaUX2.d.mts} +4 -4
- package/dist/{Menu-DlN0A5Nb.mjs → Menu-Dw6Rcpk6.mjs} +4 -4
- package/dist/{Menu-DlN0A5Nb.mjs.map → Menu-Dw6Rcpk6.mjs.map} +1 -1
- package/dist/Menu.d.mts +1 -1
- package/dist/{Modal-BoeGuR-h.d.mts → Modal-BuxggahW.d.mts} +7 -3
- package/dist/{Modal-Cs5cZpEr.mjs → Modal-kjUptzg1.mjs} +8 -6
- package/dist/Modal-kjUptzg1.mjs.map +1 -0
- package/dist/Modal.d.mts +1 -1
- package/dist/PageHeader-Czj42pyK.d.mts +40 -0
- package/dist/{PageHeader-CCoAJUwJ.mjs → PageHeader-DJF7nxgN.mjs} +2 -2
- package/dist/{PageHeader-CCoAJUwJ.mjs.map → PageHeader-DJF7nxgN.mjs.map} +1 -1
- package/dist/PageHeader.d.mts +2 -40
- package/dist/{PageLayout-BlCo4hN4.d.mts → PageLayout-TBemv7oL.d.mts} +2 -2
- package/dist/{PageLayout-C7ZC7GBA.mjs → PageLayout-fXJW7daI.mjs} +2 -2
- package/dist/{PageLayout-C7ZC7GBA.mjs.map → PageLayout-fXJW7daI.mjs.map} +1 -1
- package/dist/PageLayout.d.mts +1 -1
- package/dist/{PageLayoutFrame--HlvI4Pp.d.mts → PageLayoutFrame-DzwlkNZ1.d.mts} +1 -1
- package/dist/PageLayoutFrame.d.mts +1 -1
- package/dist/{PageSelector-BmevrorJ.d.mts → PageSelector-DXCeBUoU.d.mts} +3 -3
- package/dist/PageSelector.d.mts +1 -1
- package/dist/{Pagination-C67fsrxl.d.mts → Pagination-COcFWlha.d.mts} +2 -2
- package/dist/{Pagination-Du2CPW2l.mjs → Pagination-DtK-jbEY.mjs} +5 -5
- package/dist/{Pagination-Du2CPW2l.mjs.map → Pagination-DtK-jbEY.mjs.map} +1 -1
- package/dist/Pagination.d.mts +1 -1
- package/dist/{Pii-CFVWZ_Yx.mjs → Pii-DueIK287.mjs} +2 -2
- package/dist/{Pii-CFVWZ_Yx.mjs.map → Pii-DueIK287.mjs.map} +1 -1
- package/dist/{PillShell-jr6OyAd3.d.mts → PillShell-DqglbFHe.d.mts} +2 -2
- package/dist/PillShell.d.mts +1 -1
- package/dist/{Popover-DewrGOJB.mjs → Popover-BcII7usF.mjs} +2 -2
- package/dist/{Popover-DewrGOJB.mjs.map → Popover-BcII7usF.mjs.map} +1 -1
- package/dist/{ProgressIndicator-CdhC2LVI.d.mts → ProgressIndicator-C5sbFQcd.d.mts} +1 -1
- package/dist/{ProgressIndicator-xV5Cl2Bw.mjs → ProgressIndicator-CM37EU1B.mjs} +3 -3
- package/dist/{ProgressIndicator-xV5Cl2Bw.mjs.map → ProgressIndicator-CM37EU1B.mjs.map} +1 -1
- package/dist/ProgressIndicator.d.mts +1 -1
- package/dist/{PseudoClassProps-CverE9Ni.d.mts → PseudoClassProps-BFFh2-u8.d.mts} +1 -1
- package/dist/PseudoClassProps.d.mts +1 -1
- package/dist/{Radio-i7AEQZHb.mjs → Radio-BstZg3DI.mjs} +4 -4
- package/dist/{Radio-i7AEQZHb.mjs.map → Radio-BstZg3DI.mjs.map} +1 -1
- package/dist/{RadioGroup-CDEfCg-b.d.mts → RadioGroup-BxEmipHa.d.mts} +1 -1
- package/dist/{RadioGroup-B0KcQpS7.mjs → RadioGroup-erKerwSt.mjs} +2 -2
- package/dist/{RadioGroup-B0KcQpS7.mjs.map → RadioGroup-erKerwSt.mjs.map} +1 -1
- package/dist/RadioGroup.d.mts +1 -1
- package/dist/{RangeCalendar-BOt59kTG.d.mts → RangeCalendar-CK5ArbIQ.d.mts} +2 -2
- package/dist/RangeCalendar.d.mts +1 -1
- package/dist/RangeCalendarPresets.d.mts +1 -1
- package/dist/{RouterContext-D7HBESqO.d.mts → RouterContext-CoDbEb_X.d.mts} +2 -2
- package/dist/RouterContext.d.mts +1 -1
- package/dist/{RouterLink-dppNWLgP.d.mts → RouterLink-BnIEi8d4.d.mts} +2 -2
- package/dist/RouterLink.d.mts +1 -1
- package/dist/RuleEditorFields.d.mts +2 -2
- package/dist/RulesPill.d.mts +1 -1
- package/dist/{SearchInput-B7JYHJZI.d.mts → SearchInput-DLC7-A7K.d.mts} +2 -2
- package/dist/SearchInput.d.mts +1 -1
- package/dist/SectionHeading.d.mts +1 -1
- package/dist/{SegmentedControl-B2_bS806.mjs → SegmentedControl-DQjIO6iX.mjs} +2 -2
- package/dist/{SegmentedControl-B2_bS806.mjs.map → SegmentedControl-DQjIO6iX.mjs.map} +1 -1
- package/dist/{SegmentedControl-C_7mTcuL.d.mts → SegmentedControl-xjU-2IsJ.d.mts} +1 -1
- package/dist/SegmentedControl.d.mts +1 -1
- package/dist/{Select-oVJ0uLa7.mjs → Select-BJ9ACmRD.mjs} +8 -8
- package/dist/{Select-oVJ0uLa7.mjs.map → Select-BJ9ACmRD.mjs.map} +1 -1
- package/dist/{Select-BpAA5ETS.d.mts → Select-CsxK6A5m.d.mts} +3 -3
- package/dist/Select.d.mts +1 -1
- package/dist/{SingleColumnLayout-ByWxiD7d.d.mts → SingleColumnLayout-CBynMc76.d.mts} +2 -2
- package/dist/SingleColumnLayout.d.mts +1 -1
- package/dist/SmartTextInput.d.mts +23 -6
- package/dist/SmartTextInputField.d.mts +2 -2
- package/dist/SmartTextInputFunctionDialog.d.mts +4 -4
- package/dist/SmartTextInputListbox.d.mts +2 -2
- package/dist/SmartTextInputPopover.d.mts +2 -2
- package/dist/{Spinner-0Vqw_68r.mjs → Spinner-uVZyOh1T.mjs} +2 -2
- package/dist/{Spinner-0Vqw_68r.mjs.map → Spinner-uVZyOh1T.mjs.map} +1 -1
- package/dist/{SplitColumnLayout-DYyJabQ3.d.mts → SplitColumnLayout-BVzGbEDC.d.mts} +2 -2
- package/dist/SplitColumnLayout.d.mts +1 -1
- package/dist/{Stack-DpWl6orU.d.mts → Stack-BZyboHQl.d.mts} +2 -2
- package/dist/Stack.d.mts +1 -1
- package/dist/{StatusIndicator-QsVgjRrt.mjs → StatusIndicator-Bunn9YLV.mjs} +3 -3
- package/dist/{StatusIndicator-QsVgjRrt.mjs.map → StatusIndicator-Bunn9YLV.mjs.map} +1 -1
- package/dist/{Sticker-C260e6kl.d.mts → Sticker-CsUSNIH-.d.mts} +5 -5
- package/dist/{Sticker-CUqHa9Mo.mjs → Sticker-yhxtIYH8.mjs} +5 -5
- package/dist/{Sticker-CUqHa9Mo.mjs.map → Sticker-yhxtIYH8.mjs.map} +1 -1
- package/dist/Sticker.d.mts +1 -1
- package/dist/StringValueControl.d.mts +1 -1
- package/dist/Tab.d.mts +2 -2
- package/dist/{TabBar-w_gxXSwA.mjs → TabBar-SX8E9-Bk.mjs} +5 -5
- package/dist/{TabBar-w_gxXSwA.mjs.map → TabBar-SX8E9-Bk.mjs.map} +1 -1
- package/dist/{Table-PbYGf3PG.mjs → Table--o4ZLRbb.mjs} +8 -8
- package/dist/{Table-PbYGf3PG.mjs.map → Table--o4ZLRbb.mjs.map} +1 -1
- package/dist/{Table-BtNYI6QX.d.mts → Table-CadXF71E.d.mts} +1 -1
- package/dist/Table.d.mts +1 -1
- package/dist/{TableBody-DQ7pivxP.d.mts → TableBody-BKSHNSTo.d.mts} +1 -1
- package/dist/TableBody.d.mts +1 -1
- package/dist/{TableBox-DMYLTIpr.mjs → TableBox-3qunC9Nl.mjs} +13 -13
- package/dist/{TableBox-DMYLTIpr.mjs.map → TableBox-3qunC9Nl.mjs.map} +1 -1
- package/dist/TableBox.d.mts +2 -2
- package/dist/{TableBoxCell-DwAOA-oO.d.mts → TableBoxCell-okcOQ5Ec.d.mts} +7 -7
- package/dist/TableBoxCell.d.mts +1 -1
- package/dist/{TableBoxField-Bdj_nY7j.d.mts → TableBoxField-DR-SJY9z.d.mts} +5 -5
- package/dist/TableBoxField.d.mts +1 -1
- package/dist/{TableBoxRow-5WBwyAyn.d.mts → TableBoxRow-DiuAB_rV.d.mts} +3 -3
- package/dist/TableBoxRow.d.mts +1 -1
- package/dist/{TableBoxRowActions-Dq_Z2ted.d.mts → TableBoxRowActions-Cm4KJsAD.d.mts} +2 -2
- package/dist/TableBoxRowActions.d.mts +1 -1
- package/dist/{TableCell-DXBHZ52E.d.mts → TableCell-4u5_BgTC.d.mts} +3 -3
- package/dist/TableCell.d.mts +1 -1
- package/dist/{TableControls-Cw7LDHWj.d.mts → TableControls-B9bvsNUc.d.mts} +20 -8
- package/dist/{TableControls-C1MF2JvY.mjs → TableControls-n16XKO9S.mjs} +973 -469
- package/dist/TableControls-n16XKO9S.mjs.map +1 -0
- package/dist/TableControls.d.mts +2 -2
- package/dist/{TableControlsContext-DgoZhMpQ.d.mts → TableControlsContext-CZThYoj5.d.mts} +4 -4
- package/dist/TableControlsContext.d.mts +1 -1
- package/dist/{TableHead-BGUg_aXc.d.mts → TableHead-BuCQeDAq.d.mts} +1 -1
- package/dist/TableHead.d.mts +1 -1
- package/dist/{TableHeaderCell-DcZcMQyR.d.mts → TableHeaderCell-DIcQlZps.d.mts} +1 -1
- package/dist/TableHeaderCell.d.mts +1 -1
- package/dist/{TableLayout-CwYQaZlA.d.mts → TableLayout-ScEVdvvA.d.mts} +1 -1
- package/dist/TableLayout.d.mts +1 -1
- package/dist/{TableRow-Dad6_CoD.d.mts → TableRow-lCsvG0a-.d.mts} +2 -2
- package/dist/TableRow.d.mts +1 -1
- package/dist/TableTH.d.mts +1 -1
- package/dist/{TableViewConfigurationDropdown-BGuWAarQ.d.mts → TableViewConfigurationDropdown-CvN7tE98.d.mts} +2 -2
- package/dist/TableViewConfigurationDropdown.d.mts +1 -1
- package/dist/{TechnicalSticker-RQ-4_Tdr.mjs → TechnicalSticker-CALVwnrT.mjs} +5 -5
- package/dist/{TechnicalSticker-RQ-4_Tdr.mjs.map → TechnicalSticker-CALVwnrT.mjs.map} +1 -1
- package/dist/{Text-BBMau410.d.mts → Text-RSzei6Se.d.mts} +4 -4
- package/dist/Text.d.mts +1 -1
- package/dist/{TextArea-BaA8H7s7.mjs → TextArea-CaIEBz8d.mjs} +2 -2
- package/dist/{TextArea-BaA8H7s7.mjs.map → TextArea-CaIEBz8d.mjs.map} +1 -1
- package/dist/{TextArea-Djd1uT3B.d.mts → TextArea-DFn4XuG-.d.mts} +2 -2
- package/dist/TextArea.d.mts +1 -1
- package/dist/{TextUnderlineTooltip-C4N0bqbh.d.mts → TextUnderlineTooltip-B0iYaPM1.d.mts} +3 -3
- package/dist/TextUnderlineTooltip.d.mts +1 -1
- package/dist/Tile.d.mts +1 -1
- package/dist/Toast.d.mts +1 -1
- package/dist/{Toggle-C9cZnajR.mjs → Toggle-BsqSNYok.mjs} +6 -6
- package/dist/{Toggle-C9cZnajR.mjs.map → Toggle-BsqSNYok.mjs.map} +1 -1
- package/dist/{Toggle-EYpW34LO.d.mts → Toggle-xtPgGaGD.d.mts} +1 -1
- package/dist/Toggle.d.mts +1 -1
- package/dist/{Tooltip-DogEteGl.mjs → Tooltip-B-0VRuKT.mjs} +2 -2
- package/dist/{Tooltip-DogEteGl.mjs.map → Tooltip-B-0VRuKT.mjs.map} +1 -1
- package/dist/{Tooltip-Dj-DtGKz.d.mts → Tooltip-Blfhi2gT.d.mts} +3 -3
- package/dist/Tooltip.d.mts +1 -1
- package/dist/{TruncatedText-BDNFUuhG.d.mts → TruncatedText-BMQmveJG.d.mts} +2 -2
- package/dist/VersionHistory.d.mts +1 -1
- package/dist/{VersionHistoryItem-iUabmk_y.d.mts → VersionHistoryItem-BExp7oSr.d.mts} +1 -1
- package/dist/VersionHistoryItem.d.mts +1 -1
- package/dist/WizardModal.d.mts +2 -2
- package/dist/{accordionTitleTypography-C7VVJvlx.d.mts → accordionTitleTypography-PMKnfoy0.d.mts} +2 -2
- package/dist/accordionTitleTypography.d.mts +1 -1
- package/dist/{chainTypes-DT-9j_sG.d.mts → chainTypes-Cjp0zZ4E.d.mts} +4 -4
- package/dist/clientFilterUtils-BXEpzorX.d.mts +20 -0
- package/dist/clientFilterUtils.d.mts +2 -0
- package/dist/{codec-CGj8cwcj.d.mts → codec-KAvQRjTW.d.mts} +2 -2
- package/dist/codec.d.mts +1 -1
- package/dist/{color-BOm5A1Si.d.mts → color-C5B1pN1D.d.mts} +2 -2
- package/dist/components/Accordion/index.d.mts +1 -1
- package/dist/components/Accordion/index.mjs +4 -4
- package/dist/components/Attribute/index.mjs +4 -4
- package/dist/components/Badge/index.mjs +1 -1
- package/dist/components/Banner/index.mjs +3 -3
- package/dist/components/BottomPanel/index.mjs +4 -4
- package/dist/components/Breadcrumbs/index.d.mts +1 -1
- package/dist/components/Breadcrumbs/index.mjs +1 -1
- package/dist/components/Button/index.d.mts +2 -2
- package/dist/components/Button/index.mjs +1 -1
- package/dist/components/ButtonGroup/index.mjs +2 -2
- package/dist/components/Card/index.d.mts +2 -2
- package/dist/components/CardV2/index.d.mts +1 -1
- package/dist/components/CardV2/index.mjs +1 -1
- package/dist/components/Checkbox/index.d.mts +1 -1
- package/dist/components/Checkbox/index.mjs +1 -1
- package/dist/components/CodeHighlight/index.mjs +3 -3
- package/dist/components/Combobox/index.d.mts +2 -2
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/ConfigFormGroup/index.mjs +2 -2
- package/dist/components/DataTable/TableControls/index.d.mts +22 -20
- package/dist/components/DataTable/TableControls/index.mjs +2 -2
- package/dist/components/DataTable/index.d.mts +9 -8
- package/dist/components/DataTable/index.mjs +2 -1474
- package/dist/components/DataTable/types.d.mts +2 -166
- package/dist/components/DatePicker/index.d.mts +5 -5
- package/dist/components/DatePicker/index.mjs +1 -1
- package/dist/components/DropdownButton/index.mjs +1 -1
- package/dist/components/DropdownMenu/index.d.mts +1 -1
- package/dist/components/DropdownMenu/index.mjs +1 -1
- package/dist/components/FloatingPanel/index.mjs +5 -5
- package/dist/components/FormControl/index.d.mts +2 -2
- package/dist/components/FormControl/index.mjs +2 -2
- package/dist/components/FormField/index.d.mts +5 -5
- package/dist/components/FormField/index.mjs +1 -1
- package/dist/components/Grid/index.mjs +1 -1
- package/dist/components/HoverCopyableField/index.mjs +1 -1
- package/dist/components/ImageTile/index.mjs +30 -17
- package/dist/components/ImageTile/index.mjs.map +1 -1
- package/dist/components/Input/index.d.mts +1 -1
- package/dist/components/Input/index.mjs +1 -1
- package/dist/components/Link/index.mjs +1 -1
- package/dist/components/ListBox/index.d.mts +3 -3
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/MaskedInput/index.mjs +1 -1
- package/dist/components/Menu/index.d.mts +1 -1
- package/dist/components/Menu/index.mjs +1 -1
- package/dist/components/Modal/index.d.mts +1 -1
- package/dist/components/Modal/index.mjs +1 -1
- package/dist/components/PageHeader/index.d.mts +1 -1
- package/dist/components/PageHeader/index.mjs +1 -1
- package/dist/components/Pagination/index.d.mts +3 -3
- package/dist/components/Pagination/index.mjs +1 -1
- package/dist/components/Pii/index.mjs +1 -1
- package/dist/components/Popover/index.mjs +1 -1
- package/dist/components/ProgressBar/index.mjs +1 -1
- package/dist/components/ProgressIndicator/index.d.mts +1 -1
- package/dist/components/ProgressIndicator/index.mjs +1 -1
- package/dist/components/Radio/index.mjs +1 -1
- package/dist/components/RadioGroup/index.d.mts +1 -1
- package/dist/components/RadioGroup/index.mjs +1 -1
- package/dist/components/RightPanel/index.mjs +2 -2
- package/dist/components/SegmentedControl/index.d.mts +1 -1
- package/dist/components/SegmentedControl/index.mjs +1 -1
- package/dist/components/Select/index.d.mts +1 -1
- package/dist/components/Select/index.mjs +1 -1
- package/dist/components/Slider/index.mjs +2 -2
- package/dist/components/SmartTextInput/index.d.mts +2 -2
- package/dist/components/SmartTextInput/index.mjs +17 -8
- package/dist/components/SmartTextInput/index.mjs.map +1 -1
- package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +1 -1
- package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +2 -2
- package/dist/components/Spinner/index.mjs +1 -1
- package/dist/components/Stack/index.d.mts +1 -1
- package/dist/components/StatusIndicator/index.mjs +1 -1
- package/dist/components/Sticker/index.d.mts +1 -1
- package/dist/components/Sticker/index.mjs +1 -1
- package/dist/components/TabBar/index.mjs +1 -1
- package/dist/components/Table/index.d.mts +8 -8
- package/dist/components/Table/index.mjs +1 -1
- package/dist/components/TableBox/index.d.mts +2 -2
- package/dist/components/TableBox/index.mjs +1 -1
- package/dist/components/TechnicalSticker/index.mjs +1 -1
- package/dist/components/Text/index.d.mts +1 -1
- package/dist/components/TextArea/index.d.mts +1 -1
- package/dist/components/TextArea/index.mjs +1 -1
- package/dist/components/Tile/index.mjs +2 -2
- package/dist/components/Toast/index.mjs +4 -4
- package/dist/components/Toggle/index.d.mts +1 -1
- package/dist/components/Toggle/index.mjs +1 -1
- package/dist/components/Tooltip/index.d.mts +3 -3
- package/dist/components/Tooltip/index.mjs +1 -1
- package/dist/components/VersionHistory/index.d.mts +1 -1
- package/dist/components/VersionHistory/index.mjs +7 -7
- package/dist/compound-expression.d.mts +1 -1
- package/dist/{constants-CwzbyAdc.d.mts → constants-4rSh8e5G.d.mts} +1 -1
- package/dist/constants-BaMvTUbS.d.mts +10 -0
- package/dist/constants.d.mts +1 -1
- package/dist/constants2.d.mts +2 -10
- package/dist/{createPath-C4jIHe68.d.mts → createPath-B_CLq82C.d.mts} +2 -2
- package/dist/createPath.d.mts +1 -1
- package/dist/{date-filter-CWgCXz85.mjs → date-filter-D0ys8s0D.mjs} +1 -1
- package/dist/{date-filter-CWgCXz85.mjs.map → date-filter-D0ys8s0D.mjs.map} +1 -1
- package/dist/{date-range-rule-value-BkbGpLNH.d.mts → date-range-rule-value-Dk6pZHnD.d.mts} +2 -2
- package/dist/date-range-rule-value.d.mts +1 -1
- package/dist/{date-rule-intent-zdKP-tW_.d.mts → date-rule-intent-C5C8HB1v.d.mts} +3 -3
- package/dist/date-rule-intent.d.mts +1 -1
- package/dist/display.d.mts +2 -2
- package/dist/fieldPickerOptions.d.mts +2 -2
- package/dist/{filter-size-context-CW1guBfI.d.mts → filter-size-context-5xQ3ycnC.d.mts} +2 -2
- package/dist/filter-size-context.d.mts +1 -1
- package/dist/filters-ogUUmLEf.d.mts +22 -0
- package/dist/filters.d.mts +2 -0
- package/dist/{formatDateTime-zyRMjfH8.d.mts → formatDateTime-Dd9inM5H.d.mts} +1 -1
- package/dist/formatDateTime.d.mts +1 -1
- package/dist/helpers-Dqw5PEva.d.mts +90 -0
- package/dist/helpers.d.mts +2 -90
- package/dist/{i18n-CeRarJIa.mjs → i18n-BscB9FUy.mjs} +14 -2
- package/dist/i18n-BscB9FUy.mjs.map +1 -0
- package/dist/{index-DxFh2ArY.d.mts → index-Ck939aXd.d.mts} +3 -3
- package/dist/{index-C7hEdRqK.d.mts → index-DTAcGzW4.d.mts} +2 -2
- package/dist/{index-B7KIL3U6.d.mts → index-EGvEhP1j.d.mts} +2 -2
- package/dist/index-NKYLt_R9.d.mts +1 -0
- package/dist/index-VWno75SQ.d.mts +1 -0
- package/dist/index-uMNhmxEh.d.mts +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index2.d.mts +1 -1
- package/dist/index3.d.mts +3 -3
- package/dist/index4.d.mts +1 -1
- package/dist/index5.d.mts +14 -14
- package/dist/{input-DMPo8gRT.d.mts → input-CKhARTlS.d.mts} +3 -3
- package/dist/{inputFields-BCNC1FWx.d.mts → inputFields-DVLg_2wz.d.mts} +11 -11
- package/dist/inputFields.d.mts +1 -1
- package/dist/{intersperse-B8s6clcc.mjs → intersperse-ObkRVOag.mjs} +1 -1
- package/dist/{intersperse-B8s6clcc.mjs.map → intersperse-ObkRVOag.mjs.map} +1 -1
- package/dist/{jsonSchema-6mcLrVG3.d.mts → jsonSchema-DmOA0Lnu.d.mts} +2 -2
- package/dist/lib/PDSProvider.d.mts +11 -3
- package/dist/lib/PDSProvider.mjs +16 -12
- package/dist/lib/PDSProvider.mjs.map +1 -1
- package/dist/lib/TruncatedText.d.mts +1 -1
- package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
- package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
- package/dist/lib/chainTypes.d.mts +1 -1
- package/dist/lib/color.d.mts +1 -1
- package/dist/lib/colorMode.d.mts +30 -0
- package/dist/lib/colorMode.mjs +71 -0
- package/dist/lib/colorMode.mjs.map +1 -0
- package/dist/lib/customFunctionSchema.d.mts +1 -1
- package/dist/lib/date-filter/index.d.mts +2 -2
- package/dist/lib/date-filter/index.mjs +1 -1
- package/dist/lib/i18n/index.d.mts +3 -3
- package/dist/lib/i18n/index.mjs +1 -1
- package/dist/lib/jsonSchema.d.mts +1 -1
- package/dist/lib/jsonSchema.mjs.map +1 -1
- package/dist/lib/jsonSchemaType.d.mts +1 -1
- package/dist/lib/message.d.mts +1 -1
- package/dist/lib/methodChain.d.mts +2 -2
- package/dist/lib/methodChainNormalize.d.mts +2 -2
- package/dist/lib/methodChainTypes.d.mts +1 -1
- package/dist/lib/objectSchemaTypes.d.mts +1 -1
- package/dist/lib/platformObject.d.mts +1 -1
- package/dist/lib/pseudoClass.d.mts +1 -1
- package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
- package/dist/lib/router/adapters/tanstack.d.mts +1 -1
- package/dist/lib/router/index.d.mts +5 -5
- package/dist/lib/schemaOptions.d.mts +2 -2
- package/dist/lib/schemaOptions.mjs +20 -2
- package/dist/lib/schemaOptions.mjs.map +1 -1
- package/dist/lib/semanticColor.d.mts +1 -1
- package/dist/lib/useChain.d.mts +1 -1
- package/dist/{listbox-options-yLjqZp4H.d.mts → listbox-options-DCmqWWgy.d.mts} +3 -3
- package/dist/listbox-options.d.mts +1 -1
- package/dist/{message-C5n7wFiN.d.mts → message-Dti22dmx.d.mts} +1 -1
- package/dist/{methodChain-BNDytoaD.d.mts → methodChain-DaDvXsHF.d.mts} +4 -4
- package/dist/{methodChainTypes-BuwpPC73.d.mts → methodChainTypes-a7kHYhs7.d.mts} +2 -2
- package/dist/mixins/focus.d.mts +1 -1
- package/dist/mixins/focus.mjs +1 -1
- package/dist/mixins/hoverable.d.mts +2 -2
- package/dist/mixins/hoverable.mjs +1 -1
- package/dist/mixins/input.d.mts +1 -1
- package/dist/mixins/input.mjs +2 -2
- package/dist/mixins/menuItem.d.mts +2 -2
- package/dist/mixins/scrollbar.d.mts +1 -1
- package/dist/mixins/text.d.mts +1 -1
- package/dist/{operators-C34nhBuK.d.mts → operators-Seez5p9U.d.mts} +3 -3
- package/dist/operators.d.mts +1 -1
- package/dist/{palette-BCszfY7I.d.mts → palette-Bp5G-S_5.d.mts} +3 -3
- package/dist/palette.d.mts +1 -1
- package/dist/patterns/CardGrouping/index.mjs +8 -8
- package/dist/patterns/IndexTableLayout/index.d.mts +3 -0
- package/dist/patterns/IndexTableLayout/index.mjs +87 -0
- package/dist/patterns/IndexTableLayout/index.mjs.map +1 -0
- package/dist/patterns/LayoutLoadingShimmer/index.mjs +3 -3
- package/dist/patterns/PageLayout/index.d.mts +4 -4
- package/dist/patterns/PageLayout/index.mjs +1 -1
- package/dist/patterns/WizardModal/index.mjs +3 -3
- package/dist/reactRouterFallback.d.mts +1 -1
- package/dist/relative-date-label.d.mts +1 -1
- package/dist/safe-parse.d.mts +1 -1
- package/dist/{schemaOptions-DBOUChxi.d.mts → schemaOptions-BQgLOgtD.d.mts} +9 -4
- package/dist/{semantic-Duoh2Pxp.d.mts → semantic-DjKvtUi8.d.mts} +1 -1
- package/dist/{semanticColor-BuG977_M.d.mts → semanticColor-CmGmGRj8.d.mts} +3 -3
- package/dist/{strings-CUZrwL-Q.d.mts → strings-FWNWdSn1.d.mts} +14 -2
- package/dist/strings.d.mts +1 -1
- package/dist/{text-B7hx6G99.d.mts → text-BNfECpa5.d.mts} +1 -1
- package/dist/{theme-BKg55Zk1.d.mts → theme-VNhXxAF3.d.mts} +3 -3
- package/dist/theme.d.mts +1 -1
- package/dist/tone.d.mts +3 -3
- package/dist/tree.d.mts +1 -1
- package/dist/{types-BjMJFNYH.d.mts → types-39QvBZuZ.d.mts} +1 -1
- package/dist/types-BQP14Fng.d.mts +180 -0
- package/dist/types-Bdi8Y7ll.d.mts +95 -0
- package/dist/{types-6QeQmbFm.d.mts → types-CFe4tA8Q.d.mts} +1 -1
- package/dist/{types-CEQWndtF.d.mts → types-DWU0Dmy9.d.mts} +4 -4
- package/dist/{types-VgGkS4JB.d.mts → types-DfpVVjso.d.mts} +2 -2
- package/dist/{types-DEzlAdZW.d.mts → types-EodOhsjw.d.mts} +2 -2
- package/dist/{types-CgKSEQyB.d.mts → types-HxiGiwQN.d.mts} +1 -1
- package/dist/{types-4wnr5R9P.d.mts → types-Kmnood9Y.d.mts} +1 -1
- package/dist/{types-C_ZEgHNa.d.mts → types-SOkNtcBq.d.mts} +2 -2
- package/dist/types.d.mts +1 -1
- package/dist/types2.d.mts +2 -2
- package/dist/types3.d.mts +1 -1
- package/dist/types4.d.mts +1 -1
- package/dist/types5.d.mts +2 -2
- package/dist/types6.d.mts +2 -2
- package/dist/types7.d.mts +1 -1
- package/dist/{url-state-B_gTQ9uu.d.mts → url-state-CwaRVyXR.d.mts} +2 -2
- package/dist/url-state.d.mts +1 -1
- package/dist/{useChain-DPRVMwX8.d.mts → useChain-DXkKKe-J.d.mts} +6 -6
- package/dist/useChainAtCursor.d.mts +6 -6
- package/dist/useCodeChainFunctionPanel.d.mts +1 -1
- package/dist/useColumnConfiguration.d.mts +34 -0
- package/dist/useComboboxFooterAction.d.mts +1 -1
- package/dist/{useFilterStateV2-BQZppUR0.d.mts → useFilterStateV2-Bzo27PR-.d.mts} +3 -3
- package/dist/useFilterStateV2.d.mts +1 -1
- package/dist/{useFormField-DAwApAKK.d.mts → useFormField-Ba8rh1CH.d.mts} +2 -2
- package/dist/{useFormField-BAmkdxtA.mjs → useFormField-CbNYbDdp.mjs} +2 -2
- package/dist/{useFormField-BAmkdxtA.mjs.map → useFormField-CbNYbDdp.mjs.map} +1 -1
- package/dist/useFormField.d.mts +1 -1
- package/dist/{useFormGroup-BZayb9fZ.mjs → useFormGroup-CsKC93Pt.mjs} +1 -1
- package/dist/{useFormGroup-BZayb9fZ.mjs.map → useFormGroup-CsKC93Pt.mjs.map} +1 -1
- package/dist/{useLocationPathname-BHL0pgiu.d.mts → useLocationPathname-OsvI7mH5.d.mts} +1 -1
- package/dist/useLocationPathname.d.mts +1 -1
- package/dist/{useTableBoxDragAndDrop-Dq30b6yY.d.mts → useTableBoxDragAndDrop-CKPIY98e.d.mts} +1 -1
- package/dist/useTableBoxDragAndDrop.d.mts +1 -1
- package/dist/useTableColumns-DdU0CLcU.d.mts +72 -0
- package/dist/useTableColumns.d.mts +2 -72
- package/dist/useTruncation.d.mts +1 -1
- package/dist/{utilities-B2ry7_20.d.mts → utilities-BrEUGFGq.d.mts} +1 -1
- package/dist/utilities.d.mts +1 -1
- package/dist/utils/testing.d.mts +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils4.d.mts +5 -5
- package/dist/{validation-BODkbEvr.d.mts → validation-D6NPueNk.d.mts} +3 -3
- package/dist/validation.d.mts +1 -1
- package/dist/validation2.d.mts +4 -4
- package/dist/{value-control-resolver-BcZiReQ7.d.mts → value-control-resolver-C-UrXVlB.d.mts} +2 -2
- package/dist/value-control-resolver.d.mts +1 -1
- package/dist/variables/effect.d.mts +1 -1
- package/dist/variables/semantic.d.mts +1 -1
- package/llms.txt +14 -2
- package/package.json +7 -3
- package/skills/ui-authoring/COMPONENTS.md +2 -1
- package/skills/ui-authoring/PATTERNS.md +4 -2
- package/skills/ui-authoring/SKILL.md +9 -2
- package/skills/ui-authoring/TOKENS.md +467 -119
- package/dist/Combobox-CsXnJKvB.mjs.map +0 -1
- package/dist/DatePicker-DQHVCGnP.mjs.map +0 -1
- package/dist/Modal-Cs5cZpEr.mjs.map +0 -1
- package/dist/TableControls-C1MF2JvY.mjs.map +0 -1
- package/dist/components/DataTable/index.mjs.map +0 -1
- package/dist/i18n-CeRarJIa.mjs.map +0 -1
- package/dist/types-CwzwClJx.d.mts +0 -27
- /package/dist/{index-7in8TPrM.d.mts → index-AnhM47-e2.d.mts} +0 -0
- /package/dist/{index-8SLBz2NH.d.mts → index-B33elXxm.d.mts} +0 -0
- /package/dist/{index-B24gUwOx.d.mts → index-B4woaFSm.d.mts} +0 -0
- /package/dist/{index-B8M0Grl_2.d.mts → index-B6T7ov8p.d.mts} +0 -0
- /package/dist/{index-BFnNtGdX.d.mts → index-BNRXMhlr.d.mts} +0 -0
- /package/dist/{index-BjgW3E7y.d.mts → index-BOaE2xDE.d.mts} +0 -0
- /package/dist/{index-BwFl_eS0.d.mts → index-BPiqSRRl.d.mts} +0 -0
- /package/dist/{index-C3kE54DD.d.mts → index-BcsXXrHq.d.mts} +0 -0
- /package/dist/{index-C3usUse7.d.mts → index-Bo9LXG4r.d.mts} +0 -0
- /package/dist/{index-C6HcjJiY.d.mts → index-BrGZHEgX.d.mts} +0 -0
- /package/dist/{index-CP2eJYlK.d.mts → index-Bt4QNofW.d.mts} +0 -0
- /package/dist/{index-CSf15oCd.d.mts → index-CFuHCx9T.d.mts} +0 -0
- /package/dist/{index-CX869wwk.d.mts → index-CLTQPxoD.d.mts} +0 -0
- /package/dist/{index-CXaDbCtw.d.mts → index-CaqYCRmZ.d.mts} +0 -0
- /package/dist/{index-D4DUvwPf.d.mts → index-CjDodOH2.d.mts} +0 -0
- /package/dist/{index-DB7t8whN.d.mts → index-CjmAoxrR2.d.mts} +0 -0
- /package/dist/{index-Deol7ZWO.d.mts → index-Cx0vQ6ld.d.mts} +0 -0
- /package/dist/{index-DhiymMxa.d.mts → index-CzItj62a.d.mts} +0 -0
- /package/dist/{index-DjOaHFU3.d.mts → index-CzUpNo0e.d.mts} +0 -0
- /package/dist/{index-DkrC-i1D.d.mts → index-DBGd4WeR.d.mts} +0 -0
- /package/dist/{index-DvwPIy8X.d.mts → index-DMRtRo7y.d.mts} +0 -0
- /package/dist/{index-Oio5ygqN.d.mts → index-DNjQe1D8.d.mts} +0 -0
- /package/dist/{index-Wc1llEvP.d.mts → index-DW3xeuzq.d.mts} +0 -0
- /package/dist/{index-bHnO4ZKt.d.mts → index-DZlqSwCF.d.mts} +0 -0
- /package/dist/{index-dzI_9J-Z.d.mts → index-De7MV8-j.d.mts} +0 -0
- /package/dist/{index-gpCH5158.d.mts → index-DjG1RCY5.d.mts} +0 -0
- /package/dist/{index-lIMqGGJz.d.mts → index-Dlcv6Ku22.d.mts} +0 -0
- /package/dist/{index-luywJTzJ.d.mts → index-DrK1_jKY.d.mts} +0 -0
- /package/dist/{index-sViox9YW.d.mts → index-DztUdPP_.d.mts} +0 -0
- /package/dist/{index-xAZnxq0d2.d.mts → index-K614ZhWK.d.mts} +0 -0
|
@@ -1,36 +1,37 @@
|
|
|
1
1
|
import { a as styled, n as createGlobalStyle, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { c as usePDSLocale, i as formatDateTime, l as usePDSStrings, u as DEFAULT_COMMON_STRINGS } from "./i18n-BscB9FUy.mjs";
|
|
3
|
+
import { TruncatedText } from "./lib/TruncatedText.mjs";
|
|
3
4
|
import { semanticColor, semanticOnly, semanticTokens } from "./lib/semanticColor.mjs";
|
|
4
|
-
import { focusOutline, focusWithinOutline } from "./mixins/focus.mjs";
|
|
5
|
-
import "./variables/transitions.mjs";
|
|
6
|
-
import { transparent, withAlpha } from "./lib/color.mjs";
|
|
7
|
-
import { semanticScrollbar } from "./mixins/scrollbar.mjs";
|
|
8
5
|
import { paragraphMixins } from "./mixins/text.mjs";
|
|
9
|
-
import { c as usePDSLocale, i as formatDateTime, l as usePDSStrings, u as DEFAULT_COMMON_STRINGS } from "./i18n-CeRarJIa.mjs";
|
|
10
|
-
import { TruncatedText } from "./lib/TruncatedText.mjs";
|
|
11
6
|
import { t as Card_default } from "./Card-BXNxWX5C.mjs";
|
|
12
7
|
import { t as Spacer_default } from "./Spacer-J_HuhxX2.mjs";
|
|
13
8
|
import { i as Paragraph, r as Label$1 } from "./Text-CSwFifQF.mjs";
|
|
14
|
-
import
|
|
9
|
+
import "./variables/transitions.mjs";
|
|
10
|
+
import { a as Tooltip } from "./Tooltip-B-0VRuKT.mjs";
|
|
11
|
+
import { transparent, withAlpha } from "./lib/color.mjs";
|
|
15
12
|
import { letPointerDownReachDocument } from "./lib/letPointerDownReachDocument.mjs";
|
|
13
|
+
import { isActive, isDisabled, isFocused, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
|
|
16
14
|
import { moveItemByIndex } from "./lib/reorderItems.mjs";
|
|
17
15
|
import { useScrollOverflow } from "./lib/useScrollOverflow.mjs";
|
|
18
16
|
import { Z_INDICES } from "./lib/zindex.mjs";
|
|
17
|
+
import { focusOutline, focusWithinOutline } from "./mixins/focus.mjs";
|
|
18
|
+
import { semanticScrollbar } from "./mixins/scrollbar.mjs";
|
|
19
19
|
import { n as Stack, t as HStack } from "./Stack-BkC7FCdF.mjs";
|
|
20
|
-
import { n as Button, t as IconButton } from "./IconButton-
|
|
21
|
-
import { i as TabBar, n as StyledTab, r as Tab } from "./TabBar-
|
|
22
|
-
import { r as InputGroup } from "./Input-
|
|
20
|
+
import { n as Button, t as IconButton } from "./IconButton-HWx5Hlmi.mjs";
|
|
21
|
+
import { i as TabBar, n as StyledTab, r as Tab } from "./TabBar-SX8E9-Bk.mjs";
|
|
22
|
+
import { r as InputGroup } from "./Input-Dap055xf.mjs";
|
|
23
23
|
import Input_default from "./components/Input/index.mjs";
|
|
24
|
-
import { c as MenuList, s as MenuItem } from "./Menu-
|
|
25
|
-
import { n as DropdownMenu_default } from "./DropdownMenu-
|
|
26
|
-
import { t as Combobox } from "./Combobox-
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { t as ListBox } from "./ListBox-
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
24
|
+
import { c as MenuList, s as MenuItem } from "./Menu-Dw6Rcpk6.mjs";
|
|
25
|
+
import { n as DropdownMenu_default } from "./DropdownMenu-CedsmO5h.mjs";
|
|
26
|
+
import { t as Combobox } from "./Combobox-CcFJo68g.mjs";
|
|
27
|
+
import { n as Select, r as SelectHeader, t as Option } from "./Select-BJ9ACmRD.mjs";
|
|
28
|
+
import { s as Popover_default } from "./Popover-BcII7usF.mjs";
|
|
29
|
+
import { i as Modal_default } from "./Modal-kjUptzg1.mjs";
|
|
30
|
+
import { r as DateRangePicker, t as DatePicker } from "./DatePicker-D0cvVbzq.mjs";
|
|
31
|
+
import { t as ListBox } from "./ListBox-eoyBHtnJ.mjs";
|
|
32
|
+
import { i as selectedPresetFor, n as parseDateFilterValue, r as resolveDateFilterValue, t as formatDateFilterValue } from "./date-filter-D0ys8s0D.mjs";
|
|
33
|
+
import { m as FormField, o as ComboboxField } from "./FormField-C4B2qFgh.mjs";
|
|
34
|
+
import { t as Toggle } from "./Toggle-BsqSNYok.mjs";
|
|
34
35
|
import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
|
|
35
36
|
import { Fragment, createContext, createElement, forwardRef, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
36
37
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -45,9 +46,9 @@ import { DragIcon as DragIcon$1 } from "@persona/icons/24px";
|
|
|
45
46
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
46
47
|
import { DndContext, PointerSensor, closestCenter, pointerWithin, useSensor, useSensors } from "@dnd-kit/core";
|
|
47
48
|
import { SortableContext, horizontalListSortingStrategy, useSortable } from "@dnd-kit/sortable";
|
|
48
|
-
import { DragDropContext, Draggable, Droppable } from "@hello-pangea/dnd";
|
|
49
49
|
import { parseAbsolute, parseDate, toCalendarDate, toZoned } from "@internationalized/date";
|
|
50
50
|
import { v4 } from "uuid";
|
|
51
|
+
import { DragDropContext, Draggable, Droppable } from "@hello-pangea/dnd";
|
|
51
52
|
//#region components/DataTable/FormControlLabel/FormControlLabel.ts
|
|
52
53
|
const FormControlLabel = styled(Label$1).attrs(() => ({
|
|
53
54
|
size: "md",
|
|
@@ -403,9 +404,10 @@ const TabOverflowContainer = styled.div`
|
|
|
403
404
|
position: absolute;
|
|
404
405
|
height: 32px;
|
|
405
406
|
`;
|
|
406
|
-
const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditViews, handleNameChange, onDuplicateView, onRequestDeleteView, onSelectView, onResetCurrentView, onSaveView,
|
|
407
|
+
const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditViews, handleNameChange, onDuplicateView, onRequestDeleteView, onSelectView, onResetCurrentView, onSaveView, onRequestSetDefaultView, onRequestUnsetDefaultView, onViewHiddenChange, onHideView, onKeyboardMove, isHidden = false, isViewDirty, showTabContextMenu, setShowTabContextMenu, className, ...rest }) => {
|
|
407
408
|
const strings = usePDSStrings();
|
|
408
409
|
const showMenu = selected && (canEditViews || !!onViewHiddenChange);
|
|
410
|
+
const onRequestDefaultViewChange = view.isDefault ? onRequestUnsetDefaultView : onRequestSetDefaultView;
|
|
409
411
|
const inputRef = useRef(null);
|
|
410
412
|
const lastSubmittedNameRef = useRef(null);
|
|
411
413
|
const submitNameChange = (newName) => {
|
|
@@ -491,16 +493,15 @@ const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditView
|
|
|
491
493
|
onKeyDown: enterProxiesClick,
|
|
492
494
|
children: strings.saveViewMenuItem
|
|
493
495
|
}),
|
|
494
|
-
canEditViews &&
|
|
495
|
-
id:
|
|
496
|
+
canEditViews && onRequestDefaultViewChange && /* @__PURE__ */ jsx(MenuItem, {
|
|
497
|
+
id: `table-controls__view__menu-${view.isDefault ? "unset" : "set"}-default`,
|
|
496
498
|
prefixIcon: /* @__PURE__ */ jsx(StarIcon, {}),
|
|
497
|
-
|
|
498
|
-
onClick: async () => {
|
|
499
|
-
await onSetDefaultView(view.id);
|
|
499
|
+
onClick: () => {
|
|
500
500
|
setShowTabContextMenu(false);
|
|
501
|
+
onRequestDefaultViewChange(view);
|
|
501
502
|
},
|
|
502
503
|
onKeyDown: enterProxiesClick,
|
|
503
|
-
children: view.isDefault ? strings.
|
|
504
|
+
children: view.isDefault ? strings.unsetDefaultView : strings.setAsDefaultView
|
|
504
505
|
}),
|
|
505
506
|
onViewHiddenChange && /* @__PURE__ */ jsx(MenuItem, {
|
|
506
507
|
id: "table-controls__view__menu-toggle-hidden",
|
|
@@ -670,24 +671,26 @@ const ProductTourStyles = createGlobalStyle`
|
|
|
670
671
|
}
|
|
671
672
|
}
|
|
672
673
|
`;
|
|
673
|
-
const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewIds, onAddView, onDuplicateView, onDeleteView, onViewNameChange, onReorderViews, onViewHiddenChange, onSaveView, onSetDefaultView, isViewDirty, canEditViews, showFilters, setShowFilters, searchProps, filtersId, propertiesButton, tableActions, isLoading, isFilterPanelLoading, showViews, selectedRows = [], bulkActions, onResetCurrentView, onClearSelection, title, "data-tour-target": dataTourTarget, compact, onError, filterPanel }) => {
|
|
674
|
+
const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewIds, onAddView, onDuplicateView, onDeleteView, onViewNameChange, onReorderViews, onViewHiddenChange, onSaveView, onSetDefaultView, onUnsetDefaultView, isViewDirty, canEditViews, showFilters, setShowFilters, searchProps, filtersId, propertiesButton, tableActions, isLoading, isFilterPanelLoading, showViews, selectedRows = [], bulkActions, onResetCurrentView, onClearSelection, title, "data-tour-target": dataTourTarget, compact, onError, filterPanel }) => {
|
|
674
675
|
const strings = usePDSStrings();
|
|
675
676
|
const tabListRef = useRef(null);
|
|
676
677
|
const tabOverflowRef = useRef(null);
|
|
677
678
|
const [overflowViews, setOverflowViews] = useState([]);
|
|
678
679
|
const [showTabContextMenu, setShowTabContextMenu] = useState(false);
|
|
679
|
-
const [
|
|
680
|
-
const
|
|
681
|
-
const
|
|
680
|
+
const [viewAction, setViewAction] = useState(null);
|
|
681
|
+
const pendingViewAction = viewAction?.isOpen ? viewAction : null;
|
|
682
|
+
const previousPendingViewRef = useRef(null);
|
|
683
|
+
const isChangingViewRef = useRef(false);
|
|
684
|
+
const [isChangingView, setIsChangingView] = useState(false);
|
|
682
685
|
const [isAddingView, setIsAddingView] = useState(false);
|
|
683
686
|
const [overflowLeft, setOverflowLeft] = useState(null);
|
|
684
687
|
const [tabOverflowWidth, setTabOverflowWidth] = useState(null);
|
|
685
688
|
const [isAddViewOverflowing, setIsAddViewOverflowing] = useState(false);
|
|
686
689
|
useEffect(() => {
|
|
687
|
-
const
|
|
688
|
-
if (!
|
|
689
|
-
|
|
690
|
-
}, [
|
|
690
|
+
const previousPendingView = previousPendingViewRef.current;
|
|
691
|
+
if (!pendingViewAction && previousPendingView) (document.getElementById(`${OVERFLOW_TAB_ID_PREFIX}${previousPendingView.id}`) ?? document.getElementById(`${TAB_ID_PREFIX}${previousPendingView.id}`))?.focus({ preventScroll: true });
|
|
692
|
+
previousPendingViewRef.current = pendingViewAction?.view ?? null;
|
|
693
|
+
}, [pendingViewAction]);
|
|
691
694
|
const [shownViews, hiddenViews] = useMemo(() => {
|
|
692
695
|
const hiddenIds = new Set(hiddenViewIds);
|
|
693
696
|
const allViews = views ?? [];
|
|
@@ -826,15 +829,65 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
826
829
|
const handleNameChange = (view, newName) => {
|
|
827
830
|
if (canEditViews && view.name !== newName) onViewNameChange?.(view.id, newName);
|
|
828
831
|
};
|
|
829
|
-
const onRequestDeleteView = onDeleteView ? (view) =>
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
832
|
+
const onRequestDeleteView = onDeleteView ? (view) => setViewAction({
|
|
833
|
+
view,
|
|
834
|
+
action: "delete",
|
|
835
|
+
isOpen: true
|
|
836
|
+
}) : void 0;
|
|
837
|
+
const onRequestSetDefaultView = onSetDefaultView ? (view) => setViewAction({
|
|
838
|
+
view,
|
|
839
|
+
action: "set-default",
|
|
840
|
+
isOpen: true
|
|
841
|
+
}) : void 0;
|
|
842
|
+
const onRequestUnsetDefaultView = onUnsetDefaultView ? (view) => setViewAction({
|
|
843
|
+
view,
|
|
844
|
+
action: "unset-default",
|
|
845
|
+
isOpen: true
|
|
846
|
+
}) : void 0;
|
|
847
|
+
const getViewActionConfig = (action) => {
|
|
848
|
+
switch (action) {
|
|
849
|
+
case "set-default": return {
|
|
850
|
+
title: strings.setDefaultViewTitle,
|
|
851
|
+
confirmation: strings.setDefaultViewConfirmation,
|
|
852
|
+
label: strings.setAsDefaultView,
|
|
853
|
+
onConfirm: onSetDefaultView
|
|
854
|
+
};
|
|
855
|
+
case "unset-default": return {
|
|
856
|
+
title: strings.unsetDefaultViewTitle,
|
|
857
|
+
confirmation: strings.unsetDefaultViewConfirmation,
|
|
858
|
+
label: strings.unsetDefaultView,
|
|
859
|
+
onConfirm: onUnsetDefaultView
|
|
860
|
+
};
|
|
861
|
+
case "delete": return {
|
|
862
|
+
title: strings.deleteViewTitle,
|
|
863
|
+
confirmation: strings.deleteViewConfirmation,
|
|
864
|
+
label: strings.delete,
|
|
865
|
+
onConfirm: onDeleteView
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
};
|
|
869
|
+
const displayedActionConfig = getViewActionConfig(viewAction?.action ?? "delete");
|
|
870
|
+
const closeViewAction = () => {
|
|
871
|
+
setViewAction((previous) => previous && {
|
|
872
|
+
...previous,
|
|
873
|
+
isOpen: false
|
|
874
|
+
});
|
|
875
|
+
};
|
|
876
|
+
const confirmViewAction = async () => {
|
|
877
|
+
if (!pendingViewAction || isChangingViewRef.current) return;
|
|
878
|
+
const onConfirm = getViewActionConfig(pendingViewAction.action).onConfirm;
|
|
879
|
+
if (!onConfirm) {
|
|
880
|
+
closeViewAction();
|
|
881
|
+
return;
|
|
882
|
+
}
|
|
883
|
+
isChangingViewRef.current = true;
|
|
884
|
+
setIsChangingView(true);
|
|
833
885
|
try {
|
|
834
|
-
await
|
|
835
|
-
|
|
886
|
+
await onConfirm(pendingViewAction.view.id);
|
|
887
|
+
closeViewAction();
|
|
836
888
|
} catch {} finally {
|
|
837
|
-
|
|
889
|
+
isChangingViewRef.current = false;
|
|
890
|
+
setIsChangingView(false);
|
|
838
891
|
}
|
|
839
892
|
};
|
|
840
893
|
if (compact) return /* @__PURE__ */ jsx(CompactBar, {
|
|
@@ -891,7 +944,8 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
891
944
|
onSelectView,
|
|
892
945
|
onResetCurrentView,
|
|
893
946
|
onSaveView,
|
|
894
|
-
|
|
947
|
+
onRequestSetDefaultView,
|
|
948
|
+
onRequestUnsetDefaultView,
|
|
895
949
|
onViewHiddenChange,
|
|
896
950
|
isViewDirty: isViewDirty ?? false,
|
|
897
951
|
selected: view.id === currentView,
|
|
@@ -968,7 +1022,8 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
968
1022
|
onRequestDeleteView,
|
|
969
1023
|
onResetCurrentView,
|
|
970
1024
|
onSaveView,
|
|
971
|
-
|
|
1025
|
+
onRequestSetDefaultView,
|
|
1026
|
+
onRequestUnsetDefaultView,
|
|
972
1027
|
onViewHiddenChange,
|
|
973
1028
|
onHideView: hideView,
|
|
974
1029
|
isViewDirty: isViewDirty ?? false,
|
|
@@ -1019,444 +1074,438 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
1019
1074
|
}),
|
|
1020
1075
|
showFilters && filterPanel,
|
|
1021
1076
|
/* @__PURE__ */ jsx(Modal_default, {
|
|
1022
|
-
open:
|
|
1077
|
+
open: pendingViewAction != null,
|
|
1023
1078
|
onOpenChange: (open) => {
|
|
1024
|
-
if (!open && !
|
|
1079
|
+
if (!open && !isChangingViewRef.current) closeViewAction();
|
|
1025
1080
|
},
|
|
1026
|
-
isKeyboardDismissDisabled:
|
|
1027
|
-
contentProps:
|
|
1028
|
-
title:
|
|
1081
|
+
isKeyboardDismissDisabled: isChangingView,
|
|
1082
|
+
contentProps: isChangingView ? { showCloseButton: false } : void 0,
|
|
1083
|
+
title: displayedActionConfig.title,
|
|
1029
1084
|
footer: /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Button, {
|
|
1030
1085
|
variant: "basic",
|
|
1031
1086
|
width: "auto",
|
|
1032
|
-
disabled:
|
|
1033
|
-
onClick: () =>
|
|
1087
|
+
disabled: isChangingView,
|
|
1088
|
+
onClick: () => {
|
|
1089
|
+
if (!isChangingViewRef.current) closeViewAction();
|
|
1090
|
+
},
|
|
1034
1091
|
children: strings.cancel
|
|
1035
1092
|
}), /* @__PURE__ */ jsx(Button, {
|
|
1036
|
-
id:
|
|
1037
|
-
variant: "danger",
|
|
1093
|
+
id: `table-controls__view__${viewAction?.action ?? "delete"}-confirm`,
|
|
1094
|
+
variant: viewAction?.action === "delete" ? "danger" : "primary",
|
|
1038
1095
|
width: "auto",
|
|
1039
|
-
isPending:
|
|
1040
|
-
onClick:
|
|
1041
|
-
children:
|
|
1096
|
+
isPending: isChangingView,
|
|
1097
|
+
onClick: confirmViewAction,
|
|
1098
|
+
children: displayedActionConfig.label
|
|
1042
1099
|
})] }),
|
|
1043
|
-
children: /* @__PURE__ */ jsx(Paragraph, { children:
|
|
1100
|
+
children: /* @__PURE__ */ jsx(Paragraph, { children: displayedActionConfig.confirmation(viewAction?.view.name ?? "") })
|
|
1044
1101
|
})
|
|
1045
1102
|
] });
|
|
1046
1103
|
};
|
|
1047
1104
|
//#endregion
|
|
1048
|
-
//#region components/DataTable/TableControls/
|
|
1049
|
-
const
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
...columnConfigurationProps
|
|
1061
|
-
}, "column-config"));
|
|
1062
|
-
if (elements.length === 1) return elements[0];
|
|
1063
|
-
return /* @__PURE__ */ jsx(StyledEnhancedPropertiesButton, { children: elements });
|
|
1064
|
-
}, [columnConfigurationProps, propertiesButton]);
|
|
1065
|
-
return /* @__PURE__ */ jsx(Container, {
|
|
1066
|
-
className,
|
|
1067
|
-
children: /* @__PURE__ */ jsx(ControlBar, {
|
|
1068
|
-
showViews: compact ? false : showViews,
|
|
1069
|
-
views: compact ? void 0 : views,
|
|
1070
|
-
hiddenViewIds: compact ? void 0 : hiddenViewIds,
|
|
1071
|
-
onSelectView: compact ? void 0 : onSelectView,
|
|
1072
|
-
currentView: compact ? void 0 : currentView,
|
|
1073
|
-
onAddView: compact ? void 0 : onAddView,
|
|
1074
|
-
onDeleteView: compact ? void 0 : onDeleteView,
|
|
1075
|
-
onDuplicateView: compact ? void 0 : onDuplicateView,
|
|
1076
|
-
onViewNameChange: compact ? void 0 : onViewNameChange,
|
|
1077
|
-
onReorderViews: compact ? void 0 : onReorderViews,
|
|
1078
|
-
onViewHiddenChange: compact ? void 0 : onViewHiddenChange,
|
|
1079
|
-
onSaveView: compact ? void 0 : onSaveView,
|
|
1080
|
-
onSetDefaultView: compact ? void 0 : onSetDefaultView,
|
|
1081
|
-
isViewDirty,
|
|
1082
|
-
canEditViews: compact ? false : canEditViews,
|
|
1083
|
-
showFilters: showFilters && (showFiltersAlways || !isFilterPanelLoading),
|
|
1084
|
-
setShowFilters: (filterPanel != null || isFilterPanelLoading) && !showFiltersAlways ? setShowFilters : void 0,
|
|
1085
|
-
filtersId,
|
|
1086
|
-
searchProps,
|
|
1087
|
-
propertiesButton: enhancedPropertiesButton,
|
|
1088
|
-
tableActions,
|
|
1089
|
-
isLoading,
|
|
1090
|
-
isFilterPanelLoading,
|
|
1091
|
-
selectedRows,
|
|
1092
|
-
bulkActions,
|
|
1093
|
-
onClearSelection,
|
|
1094
|
-
title,
|
|
1095
|
-
"data-tour-target": dataTourTarget,
|
|
1096
|
-
presetViews: compact ? void 0 : presetViews,
|
|
1097
|
-
compact,
|
|
1098
|
-
onError,
|
|
1099
|
-
filterPanel
|
|
1100
|
-
})
|
|
1101
|
-
});
|
|
1102
|
-
};
|
|
1103
|
-
const Container = styled(Stack)`
|
|
1104
|
-
margin-bottom: ${Spacing[2]};
|
|
1105
|
-
`;
|
|
1106
|
-
const StyledEnhancedPropertiesButton = styled.div`
|
|
1107
|
-
display: flex;
|
|
1108
|
-
gap: ${Spacing[1]};
|
|
1109
|
-
`;
|
|
1105
|
+
//#region components/DataTable/TableControls/TableControlsContext.ts
|
|
1106
|
+
const TableControlsContext = createContext({
|
|
1107
|
+
filters: [],
|
|
1108
|
+
activeFilters: [],
|
|
1109
|
+
setActiveFilters: () => {}
|
|
1110
|
+
});
|
|
1111
|
+
function useTableControls() {
|
|
1112
|
+
return useContext(TableControlsContext);
|
|
1113
|
+
}
|
|
1114
|
+
function TableControlsProvider({ children, ...value }) {
|
|
1115
|
+
return createElement(TableControlsContext.Provider, { value }, children);
|
|
1116
|
+
}
|
|
1110
1117
|
//#endregion
|
|
1111
|
-
//#region components/DataTable/
|
|
1112
|
-
const
|
|
1113
|
-
display:
|
|
1114
|
-
|
|
1115
|
-
${({ $horizontal = false }) => $horizontal ? css`
|
|
1116
|
-
transform: rotate(90deg);
|
|
1117
|
-
` : ""}
|
|
1118
|
+
//#region components/DataTable/TableControls/filters.tsx
|
|
1119
|
+
const SegmentedControl = styled.div`
|
|
1120
|
+
display: grid;
|
|
1121
|
+
grid-template-columns: min-content minmax(auto, max-content);
|
|
1118
1122
|
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
cursor: grab;
|
|
1124
|
-
opacity: 1;
|
|
1125
|
-
` : css`
|
|
1126
|
-
cursor: normal;
|
|
1127
|
-
opacity: 0.4;
|
|
1128
|
-
`}
|
|
1123
|
+
> *:first-child:not(:last-child) {
|
|
1124
|
+
border-top-right-radius: 0;
|
|
1125
|
+
border-bottom-right-radius: 0;
|
|
1126
|
+
}
|
|
1129
1127
|
|
|
1130
|
-
|
|
1128
|
+
> *:last-child:not(:first-child) {
|
|
1129
|
+
border-top-left-radius: 0;
|
|
1130
|
+
border-bottom-left-radius: 0;
|
|
1131
|
+
margin-left: -1px;
|
|
1132
|
+
}
|
|
1131
1133
|
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1134
|
+
/* Segments overlap by a pixel, so lift the focused one to keep its outline on top. */
|
|
1135
|
+
> *:focus-visible,
|
|
1136
|
+
> *:has(:focus-visible) {
|
|
1137
|
+
position: relative;
|
|
1138
|
+
z-index: 1;
|
|
1135
1139
|
}
|
|
1136
1140
|
`;
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
* reorder returns a reordered version of the inputed list by swapping the element
|
|
1141
|
-
* at startIndex with the one at endIndex
|
|
1142
|
-
*/
|
|
1143
|
-
function reorder(list, startIndex, endIndex) {
|
|
1144
|
-
const result = Array.from(list);
|
|
1145
|
-
const [removed] = result.splice(startIndex, 1);
|
|
1146
|
-
result.splice(endIndex, 0, removed);
|
|
1147
|
-
return result;
|
|
1148
|
-
}
|
|
1149
|
-
/**
|
|
1150
|
-
* Translates a drag result into indices into the full list. dnd reports positions among the
|
|
1151
|
-
* rendered rows, which diverge from the full list as soon as the view is filtered.
|
|
1152
|
-
*
|
|
1153
|
-
* Returns null when either end cannot be resolved, in which case the drag should be ignored
|
|
1154
|
-
* rather than applied at the wrong position.
|
|
1155
|
-
*/
|
|
1156
|
-
function resolveDragIndices(listKeys, renderedKeys, draggableId, destinationIndex) {
|
|
1157
|
-
const destinationKey = renderedKeys[destinationIndex];
|
|
1158
|
-
if (destinationKey == null) return null;
|
|
1159
|
-
const from = listKeys.indexOf(draggableId);
|
|
1160
|
-
const to = listKeys.indexOf(destinationKey);
|
|
1161
|
-
return from === -1 || to === -1 ? null : {
|
|
1162
|
-
from,
|
|
1163
|
-
to
|
|
1164
|
-
};
|
|
1165
|
-
}
|
|
1166
|
-
//#endregion
|
|
1167
|
-
//#region components/DataTable/TableControls/TableViewConfigurationDropdown.tsx
|
|
1168
|
-
const SHOWN_DROPPABLE_ID = "cases-view__configure-shown-columns";
|
|
1169
|
-
const startsCapitalized = (label) => {
|
|
1170
|
-
const first = label.charAt(0);
|
|
1171
|
-
return first !== "" && first === first.toUpperCase() && first !== first.toLowerCase();
|
|
1172
|
-
};
|
|
1173
|
-
const byLabel = (a, b) => {
|
|
1174
|
-
const aCapitalized = startsCapitalized(a.label);
|
|
1175
|
-
if (aCapitalized !== startsCapitalized(b.label)) return aCapitalized ? -1 : 1;
|
|
1176
|
-
return a.label.localeCompare(b.label, void 0, { numeric: true });
|
|
1177
|
-
};
|
|
1178
|
-
const DndSection = styled("div")`
|
|
1179
|
-
max-height: 400px;
|
|
1141
|
+
const AddFilterButton = styled(Button)`
|
|
1142
|
+
opacity: 0;
|
|
1143
|
+
color: ${({ theme }) => theme.color.text.secondary};
|
|
1180
1144
|
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
display: none;
|
|
1145
|
+
@media (hover: none) {
|
|
1146
|
+
opacity: 1;
|
|
1184
1147
|
}
|
|
1185
|
-
`;
|
|
1186
|
-
const DndItemWrapper = styled("div")`
|
|
1187
|
-
background: white;
|
|
1188
|
-
${semanticOnly((tokens) => `background: ${tokens.SurfacePrimary};`)}
|
|
1189
|
-
width: 100%;
|
|
1190
|
-
border-bottom: 1px solid ${({ theme }) => semanticColor(theme, "BorderSubtle", theme.color.border.secondary)};
|
|
1191
|
-
padding: ${Spacing[2]} ${Spacing[2]};
|
|
1192
1148
|
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
justify-content: left;
|
|
1197
|
-
`;
|
|
1198
|
-
const SuffixContainer = styled("div")`
|
|
1199
|
-
padding-left: ${Spacing[2]};
|
|
1200
|
-
margin-left: auto;
|
|
1201
|
-
align-self: center;
|
|
1149
|
+
&:focus-visible {
|
|
1150
|
+
opacity: 1;
|
|
1151
|
+
}
|
|
1202
1152
|
`;
|
|
1203
|
-
const
|
|
1153
|
+
const FiltersContainer = styled.div`
|
|
1204
1154
|
display: flex;
|
|
1205
|
-
|
|
1206
|
-
|
|
1155
|
+
flex-wrap: wrap;
|
|
1156
|
+
gap: ${Spacing[2]};
|
|
1207
1157
|
width: 100%;
|
|
1158
|
+
|
|
1159
|
+
&:hover {
|
|
1160
|
+
${AddFilterButton} {
|
|
1161
|
+
opacity: 1;
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1208
1164
|
`;
|
|
1209
|
-
const
|
|
1210
|
-
width:
|
|
1211
|
-
|
|
1165
|
+
const FilterCombobox = styled.div`
|
|
1166
|
+
min-width: ${({ $compact }) => $compact ? "150px" : "200px"};
|
|
1167
|
+
max-width: ${({ $compact, $multiple }) => $compact && !$multiple ? "150px" : "250px"};
|
|
1168
|
+
|
|
1169
|
+
${({ $isFilterSelectSibling }) => $isFilterSelectSibling && css`
|
|
1170
|
+
input[role='combobox'] {
|
|
1171
|
+
border-top-left-radius: 0;
|
|
1172
|
+
border-bottom-left-radius: 0;
|
|
1173
|
+
}
|
|
1174
|
+
`}
|
|
1212
1175
|
`;
|
|
1213
|
-
const
|
|
1214
|
-
const
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1176
|
+
const InputFilter = ({ config, compact, onActiveChange }) => {
|
|
1177
|
+
const [value, setValue] = useState(config.value);
|
|
1178
|
+
const onChangeRef = useRef(config.onChange);
|
|
1179
|
+
onChangeRef.current = config.onChange;
|
|
1180
|
+
const onActiveChangeRef = useRef(onActiveChange);
|
|
1181
|
+
onActiveChangeRef.current = onActiveChange;
|
|
1182
|
+
const debouncedOnChange = useMemo(() => debounce((nextValue) => {
|
|
1183
|
+
onActiveChangeRef.current(nextValue.length > 0);
|
|
1184
|
+
onChangeRef.current(nextValue);
|
|
1185
|
+
}, 300), []);
|
|
1186
|
+
useEffect(() => setValue(config.value), [config.value]);
|
|
1187
|
+
useEffect(() => () => debouncedOnChange.cancel(), [debouncedOnChange]);
|
|
1188
|
+
return /* @__PURE__ */ jsx(Input_default, {
|
|
1189
|
+
"aria-label": config.name,
|
|
1190
|
+
placeholder: config.placeholder,
|
|
1191
|
+
size: compact ? "sm" : void 0,
|
|
1192
|
+
value,
|
|
1193
|
+
onChange: ({ target: { value: nextValue } }) => {
|
|
1194
|
+
setValue(nextValue);
|
|
1195
|
+
debouncedOnChange(nextValue);
|
|
1196
|
+
}
|
|
1225
1197
|
});
|
|
1226
|
-
});
|
|
1227
|
-
const TooltipButtonWrapper = styled("div")`
|
|
1228
|
-
display: inline-block;
|
|
1229
|
-
`;
|
|
1230
|
-
const TableViewConfigurationDropdown = ({ disabled = false, disabledTooltipMessage, size = "md", variant = "basic", ...props }) => {
|
|
1231
|
-
const strings = usePDSStrings();
|
|
1232
|
-
return disabled ? /* @__PURE__ */ jsx(Tooltip, {
|
|
1233
|
-
trigger: /* @__PURE__ */ jsx(TooltipButtonWrapper, { children: /* @__PURE__ */ jsx(TriggerIconButton, {
|
|
1234
|
-
disabled: true,
|
|
1235
|
-
size,
|
|
1236
|
-
variant
|
|
1237
|
-
}) }),
|
|
1238
|
-
children: disabledTooltipMessage ?? strings.configureViewPermissionDenied
|
|
1239
|
-
}) : /* @__PURE__ */ jsxs(Popover_default, { children: [/* @__PURE__ */ jsx(Popover_default.Trigger, {
|
|
1240
|
-
asChild: true,
|
|
1241
|
-
children: /* @__PURE__ */ jsx(TriggerIconButton, {
|
|
1242
|
-
disabled: false,
|
|
1243
|
-
size,
|
|
1244
|
-
variant
|
|
1245
|
-
})
|
|
1246
|
-
}), /* @__PURE__ */ jsx(Popover_default.Content, {
|
|
1247
|
-
style: { zIndex: Z_INDICES.dropdown },
|
|
1248
|
-
sideOffset: 8,
|
|
1249
|
-
side: "bottom",
|
|
1250
|
-
align: "end",
|
|
1251
|
-
children: /* @__PURE__ */ jsx(PopoverCard$1, {
|
|
1252
|
-
elevated: true,
|
|
1253
|
-
children: /* @__PURE__ */ jsx(TableViewConfiguration, { ...props })
|
|
1254
|
-
})
|
|
1255
|
-
})] });
|
|
1256
1198
|
};
|
|
1257
|
-
const
|
|
1199
|
+
const SelectFilter = ({ config, compact, onActiveChange }) => {
|
|
1258
1200
|
const strings = usePDSStrings();
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1201
|
+
return /* @__PURE__ */ jsx(Select, {
|
|
1202
|
+
"aria-label": config.name,
|
|
1203
|
+
placeholder: config.placeholder ?? strings.selectFilterOption,
|
|
1204
|
+
value: config.value,
|
|
1205
|
+
width: "auto",
|
|
1206
|
+
minWidth: 150,
|
|
1207
|
+
size: compact ? "sm" : void 0,
|
|
1208
|
+
onValueChange: (value) => {
|
|
1209
|
+
onActiveChange(Boolean(value));
|
|
1210
|
+
config.onChange(value);
|
|
1211
|
+
},
|
|
1212
|
+
portal: true,
|
|
1213
|
+
children: config.options.map((option) => /* @__PURE__ */ jsx(Option, {
|
|
1214
|
+
value: option.value,
|
|
1215
|
+
children: option.label ?? option.value
|
|
1216
|
+
}, option.value))
|
|
1217
|
+
});
|
|
1218
|
+
};
|
|
1219
|
+
const builtInDefinitions = {
|
|
1220
|
+
input: {
|
|
1221
|
+
render: ({ config, compact, onActiveChange }) => {
|
|
1222
|
+
if (config.type !== "input") return null;
|
|
1223
|
+
return /* @__PURE__ */ jsx(InputFilter, {
|
|
1224
|
+
config,
|
|
1225
|
+
compact,
|
|
1226
|
+
onActiveChange
|
|
1227
|
+
}, config.id);
|
|
1228
|
+
},
|
|
1229
|
+
isActive: (config) => config.type === "input" && Boolean(config.value),
|
|
1230
|
+
clear: (config) => {
|
|
1231
|
+
if (config.type === "input") if (config.onDelete) config.onDelete();
|
|
1232
|
+
else config.onChange("");
|
|
1233
|
+
}
|
|
1234
|
+
},
|
|
1235
|
+
select: {
|
|
1236
|
+
render: ({ config, compact, onActiveChange }) => {
|
|
1237
|
+
if (config.type !== "select") return null;
|
|
1238
|
+
return /* @__PURE__ */ jsx(SelectFilter, {
|
|
1239
|
+
config,
|
|
1240
|
+
compact,
|
|
1241
|
+
onActiveChange
|
|
1242
|
+
});
|
|
1243
|
+
},
|
|
1244
|
+
isActive: (config) => config.type === "select" && Boolean(config.value),
|
|
1245
|
+
clear: (config) => config.type === "select" && config.onChange("")
|
|
1246
|
+
},
|
|
1247
|
+
multiselect: {
|
|
1248
|
+
render: ({ config, compact, isFilterSelectSibling, onActiveChange }) => {
|
|
1249
|
+
if (config.type !== "multiselect") return null;
|
|
1250
|
+
return /* @__PURE__ */ jsx(FilterCombobox, {
|
|
1251
|
+
$compact: compact,
|
|
1252
|
+
$isFilterSelectSibling: isFilterSelectSibling,
|
|
1253
|
+
$multiple: true,
|
|
1254
|
+
children: /* @__PURE__ */ jsx(Combobox, {
|
|
1255
|
+
"aria-label": config.name,
|
|
1256
|
+
multiple: true,
|
|
1257
|
+
options: config.options.map((option) => ({
|
|
1258
|
+
...option,
|
|
1259
|
+
label: option.label ?? option.value
|
|
1260
|
+
})),
|
|
1261
|
+
values: config.value,
|
|
1262
|
+
onValuesChange: (values) => {
|
|
1263
|
+
onActiveChange(values.length > 0);
|
|
1264
|
+
config.onChange(values);
|
|
1265
|
+
},
|
|
1266
|
+
placeholder: config.placeholder,
|
|
1267
|
+
size: compact ? "sm" : void 0,
|
|
1268
|
+
truncate: true
|
|
1269
|
+
})
|
|
1270
|
+
});
|
|
1271
|
+
},
|
|
1272
|
+
isActive: (config) => config.type === "multiselect" && config.value.length > 0,
|
|
1273
|
+
clear: (config) => config.type === "multiselect" && config.onChange([])
|
|
1274
|
+
},
|
|
1275
|
+
combobox: {
|
|
1276
|
+
render: ({ config, compact, isFilterSelectSibling, onActiveChange }) => {
|
|
1277
|
+
if (config.type !== "combobox") return null;
|
|
1278
|
+
return /* @__PURE__ */ jsx(ComboboxFilter, {
|
|
1279
|
+
config,
|
|
1280
|
+
compact,
|
|
1281
|
+
isFilterSelectSibling,
|
|
1282
|
+
onActiveChange
|
|
1283
|
+
});
|
|
1284
|
+
},
|
|
1285
|
+
isActive: (config) => config.type === "combobox" && (config.multiple ? Boolean(config.values?.length) : Boolean(config.value)),
|
|
1286
|
+
clear: (config) => {
|
|
1287
|
+
if (config.type === "combobox") if (config.multiple) config.onValuesChange?.([]);
|
|
1288
|
+
else config.onChange?.(null);
|
|
1289
|
+
}
|
|
1290
|
+
},
|
|
1291
|
+
daterange: {
|
|
1292
|
+
render: ({ config, compact, onActiveChange }) => {
|
|
1293
|
+
if (config.type !== "daterange") return null;
|
|
1294
|
+
return /* @__PURE__ */ jsx(DateRangePicker, {
|
|
1295
|
+
"aria-label": config.name,
|
|
1296
|
+
dateRange: config.value,
|
|
1297
|
+
label: null,
|
|
1298
|
+
onChange: (range) => {
|
|
1299
|
+
onActiveChange(range != null);
|
|
1300
|
+
config.onChange(range);
|
|
1301
|
+
},
|
|
1302
|
+
showClear: false,
|
|
1303
|
+
size: compact ? "sm" : void 0
|
|
1304
|
+
});
|
|
1305
|
+
},
|
|
1306
|
+
isActive: (config) => config.type === "daterange" && Boolean(config.value?.startDate || config.value?.endDate),
|
|
1307
|
+
clear: (config) => config.type === "daterange" && config.onChange(null)
|
|
1308
|
+
}
|
|
1309
|
+
};
|
|
1310
|
+
const ComboboxFilter = ({ config, compact, isFilterSelectSibling, onActiveChange }) => {
|
|
1311
|
+
if (config.multiple) {
|
|
1312
|
+
const { id: _id, name: _name, type: _type, enabled: _enabled, disabledReason: _disabledReason, required: _required, onFilterSelect: _onFilterSelect, defaultVisible: _defaultVisible, group: _group, htmlId: _htmlId, ...comboboxProps } = config;
|
|
1313
|
+
return /* @__PURE__ */ jsx(FilterCombobox, {
|
|
1314
|
+
$compact: compact,
|
|
1315
|
+
$isFilterSelectSibling: isFilterSelectSibling,
|
|
1316
|
+
$multiple: true,
|
|
1317
|
+
children: /* @__PURE__ */ jsx(Combobox, {
|
|
1318
|
+
...comboboxProps,
|
|
1319
|
+
"aria-label": config.name,
|
|
1320
|
+
size: compact ? "sm" : void 0,
|
|
1321
|
+
onValuesChange: (values) => {
|
|
1322
|
+
onActiveChange(values.length > 0);
|
|
1323
|
+
config.onValuesChange?.(values);
|
|
1324
|
+
}
|
|
1325
|
+
})
|
|
1281
1326
|
});
|
|
1282
|
-
}
|
|
1283
|
-
const
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
const hidden = filteredSearchOptions.filter((attribute) => !columnConfigurationKeys.has(attribute.key));
|
|
1298
|
-
if (!sortByRelevance || searchTerm !== "") return hidden;
|
|
1299
|
-
const [systemColumns, customFields] = partition(hidden, (a) => !a.isCustomField);
|
|
1300
|
-
return [...systemColumns, ...[...customFields].sort(byLabel)];
|
|
1301
|
-
}, [
|
|
1302
|
-
columnConfiguration,
|
|
1303
|
-
filteredSearchOptions,
|
|
1304
|
-
sortByRelevance,
|
|
1305
|
-
searchTerm
|
|
1306
|
-
]);
|
|
1307
|
-
const filteredShownAttributes = useMemo(() => {
|
|
1308
|
-
return columnConfiguration.filter((column) => filteredSearchOptions.map((o) => o.key).includes(column.key));
|
|
1309
|
-
}, [columnConfiguration, filteredSearchOptions]);
|
|
1310
|
-
const handleDragEnd = (result, _provided) => {
|
|
1311
|
-
const { destination, source } = result;
|
|
1312
|
-
if (!destination || destination.droppableId === source.droppableId && destination.index === source.index) return;
|
|
1313
|
-
const indices = resolveDragIndices(columnConfiguration.map((c) => c.key), filteredShownAttributes.map((c) => c.key), result.draggableId, destination.index);
|
|
1314
|
-
if (!indices) return;
|
|
1315
|
-
updateColumnConfiguration(reorder(columnConfiguration, indices.from, indices.to));
|
|
1316
|
-
};
|
|
1317
|
-
const generateShownAttributesToggle = (column) => () => {
|
|
1318
|
-
updateColumnConfiguration(columnConfiguration.filter((a) => a.key !== column.key));
|
|
1319
|
-
};
|
|
1320
|
-
const generateHiddenAttributesToggle = (column) => () => {
|
|
1321
|
-
updateColumnConfiguration(columnConfiguration.concat({
|
|
1322
|
-
key: column.key,
|
|
1323
|
-
label: column.label
|
|
1324
|
-
}));
|
|
1325
|
-
};
|
|
1326
|
-
const shownColumnIds = useMemo(() => {
|
|
1327
|
-
return columnConfiguration.map((c) => c.key);
|
|
1328
|
-
}, [columnConfiguration]);
|
|
1329
|
-
const shownDndItemProps = filteredShownAttributes.map((column, index) => {
|
|
1330
|
-
const isDisabledByDefault = columnConfiguration.length === 1;
|
|
1331
|
-
const isDisabledByCustom = getColumnDisabled?.(column.key, shownColumnIds) ?? false;
|
|
1332
|
-
const shouldDisableDragForColumn = isDisabledByCustom && index === filteredShownAttributes.length - 1;
|
|
1333
|
-
return {
|
|
1334
|
-
column,
|
|
1335
|
-
index,
|
|
1336
|
-
isDisabled: isDisabledByDefault || isDisabledByCustom,
|
|
1337
|
-
isToggled: true,
|
|
1338
|
-
shouldDisableDrag: shouldDisableDragForColumn,
|
|
1339
|
-
handleToggle: generateShownAttributesToggle(column)
|
|
1340
|
-
};
|
|
1327
|
+
}
|
|
1328
|
+
const { id: _id, name: _name, type: _type, enabled: _enabled, disabledReason: _disabledReason, required: _required, onFilterSelect: _onFilterSelect, defaultVisible: _defaultVisible, group: _group, htmlId: _htmlId, ...comboboxProps } = config;
|
|
1329
|
+
return /* @__PURE__ */ jsx(FilterCombobox, {
|
|
1330
|
+
$compact: compact,
|
|
1331
|
+
$isFilterSelectSibling: isFilterSelectSibling,
|
|
1332
|
+
$multiple: false,
|
|
1333
|
+
children: /* @__PURE__ */ jsx(Combobox, {
|
|
1334
|
+
...comboboxProps,
|
|
1335
|
+
"aria-label": config.name,
|
|
1336
|
+
size: compact ? "sm" : void 0,
|
|
1337
|
+
onChange: (value) => {
|
|
1338
|
+
onActiveChange(Boolean(value));
|
|
1339
|
+
config.onChange?.(value);
|
|
1340
|
+
}
|
|
1341
|
+
})
|
|
1341
1342
|
});
|
|
1342
|
-
|
|
1343
|
+
};
|
|
1344
|
+
function resolveFilterTypeDefinition(config, filterResolver) {
|
|
1345
|
+
return filterResolver?.(config) ?? builtInDefinitions[config.type];
|
|
1346
|
+
}
|
|
1347
|
+
function isFilterActive(config, filterResolver) {
|
|
1348
|
+
return config.required === true || resolveFilterTypeDefinition(config, filterResolver)?.isActive(config) === true;
|
|
1349
|
+
}
|
|
1350
|
+
const getHighestId = (activeFilters) => activeFilters.reduce((highestId, filter) => Math.max(highestId, filter.id), 0);
|
|
1351
|
+
const getActiveFilters = (filters, activeFilters = [], includeDefaultVisible = false, filterResolver) => {
|
|
1352
|
+
let currentId = getHighestId(activeFilters);
|
|
1353
|
+
const activeByConfigId = new Map(activeFilters.flatMap((filter) => filter.config ? [[filter.config.id, filter]] : []));
|
|
1354
|
+
return filters.filter((filter) => isFilterActive(filter, filterResolver) || includeDefaultVisible && filter.defaultVisible).map((filter) => {
|
|
1343
1355
|
return {
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
shouldDisableDrag: true,
|
|
1348
|
-
handleToggle: generateHiddenAttributesToggle(column)
|
|
1356
|
+
id: activeByConfigId.get(filter.id)?.id ?? ++currentId,
|
|
1357
|
+
config: filter,
|
|
1358
|
+
isConfiguring: false
|
|
1349
1359
|
};
|
|
1360
|
+
}).sort((first, second) => first.id - second.id);
|
|
1361
|
+
};
|
|
1362
|
+
const createUnsetFilter = (activeFilters) => ({
|
|
1363
|
+
id: getHighestId(activeFilters) + 1,
|
|
1364
|
+
isConfiguring: true
|
|
1365
|
+
});
|
|
1366
|
+
const synchronizeActiveFilters = (filters, activeFilters, filterResolver) => {
|
|
1367
|
+
if (filters.length === 0) return activeFilters.length === 0 ? activeFilters : [];
|
|
1368
|
+
const refreshed = activeFilters.flatMap((active) => {
|
|
1369
|
+
if (!active.config) return [active];
|
|
1370
|
+
const config = filters.find((filter) => filter.id === active.config?.id);
|
|
1371
|
+
if (config) return [{
|
|
1372
|
+
...active,
|
|
1373
|
+
config
|
|
1374
|
+
}];
|
|
1375
|
+
return active.isConfiguring ? [active] : [];
|
|
1350
1376
|
});
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
handleInput: setSearchTerm,
|
|
1362
|
-
size: "md",
|
|
1363
|
-
placeholder: strings.searchColumns,
|
|
1364
|
-
dataTest: "checklist-item-panel-item-table__search"
|
|
1365
|
-
}) }),
|
|
1366
|
-
/* @__PURE__ */ jsx(Spacer_default, { height: 2 }),
|
|
1367
|
-
shownDndItemProps.length > 0 || hiddenDndItemProps.length > 0 ? /* @__PURE__ */ jsxs(DndSection, { children: [
|
|
1368
|
-
shownDndItemProps.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Paragraph, { children: strings.shownColumns }), /* @__PURE__ */ jsx(DragDropContext, {
|
|
1369
|
-
onDragEnd: handleDragEnd,
|
|
1370
|
-
children: /* @__PURE__ */ jsx(Droppable, {
|
|
1371
|
-
droppableId: SHOWN_DROPPABLE_ID,
|
|
1372
|
-
renderClone: (provided, _snapshot, rubric) => {
|
|
1373
|
-
return /* @__PURE__ */ jsx("div", {
|
|
1374
|
-
...provided.draggableProps,
|
|
1375
|
-
...provided.dragHandleProps,
|
|
1376
|
-
ref: provided.innerRef,
|
|
1377
|
-
children: /* @__PURE__ */ jsx(AttributeDnd, { ...shownDndItemProps[rubric.source.index] })
|
|
1378
|
-
});
|
|
1379
|
-
},
|
|
1380
|
-
children: (provided) => {
|
|
1381
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
1382
|
-
ref: provided.innerRef,
|
|
1383
|
-
...provided.droppableProps,
|
|
1384
|
-
children: [shownDndItemProps.map((props, idx) => {
|
|
1385
|
-
return /* @__PURE__ */ jsx(Draggable, {
|
|
1386
|
-
draggableId: props.column.key,
|
|
1387
|
-
index: idx,
|
|
1388
|
-
isDragDisabled: props.shouldDisableDrag,
|
|
1389
|
-
children: (provided) => {
|
|
1390
|
-
return /* @__PURE__ */ jsx("div", {
|
|
1391
|
-
ref: provided.innerRef,
|
|
1392
|
-
...provided.draggableProps,
|
|
1393
|
-
...provided.dragHandleProps,
|
|
1394
|
-
children: /* @__PURE__ */ jsx(AttributeDnd, { ...props })
|
|
1395
|
-
});
|
|
1396
|
-
}
|
|
1397
|
-
}, `${props.column.key}`);
|
|
1398
|
-
}), provided.placeholder]
|
|
1399
|
-
});
|
|
1400
|
-
}
|
|
1401
|
-
})
|
|
1402
|
-
})] }),
|
|
1403
|
-
/* @__PURE__ */ jsx(Spacer_default, { height: 2 }),
|
|
1404
|
-
hiddenDndItemProps.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Paragraph, { children: strings.hiddenColumns }), hiddenDndItemProps.map((props) => /* @__PURE__ */ jsx(AttributeDnd, { ...props }, props.column.key))] })
|
|
1405
|
-
] }) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Paragraph, { children: strings.noMatchingColumns }) })
|
|
1406
|
-
] });
|
|
1377
|
+
const activeFromConfig = getActiveFilters(filters, refreshed, false, filterResolver);
|
|
1378
|
+
const activeConfigIds = new Set(activeFromConfig.flatMap((active) => active.config ? [active.config.id] : []));
|
|
1379
|
+
const retainedDefaultVisible = refreshed.filter((active) => active.config?.defaultVisible && !activeConfigIds.has(active.config.id));
|
|
1380
|
+
const configuring = refreshed.filter((active) => active.isConfiguring && (!active.config || !activeConfigIds.has(active.config.id)));
|
|
1381
|
+
const next = [
|
|
1382
|
+
...activeFromConfig,
|
|
1383
|
+
...retainedDefaultVisible,
|
|
1384
|
+
...configuring
|
|
1385
|
+
].sort((first, second) => first.id - second.id);
|
|
1386
|
+
return next.length === 0 ? [createUnsetFilter(activeFilters)] : next;
|
|
1407
1387
|
};
|
|
1408
|
-
const
|
|
1409
|
-
|
|
1410
|
-
flex-wrap: wrap;
|
|
1411
|
-
display: flex;
|
|
1412
|
-
`;
|
|
1413
|
-
const AttributeDnd = ({ column, index, isDisabled = false, isToggled, shouldDisableDrag, handleToggle }) => {
|
|
1388
|
+
const Filter = ({ config, compact, hideFilterSelection, filterResolver }) => {
|
|
1389
|
+
const { activeFilters, setActiveFilters } = useTableControls();
|
|
1414
1390
|
const strings = usePDSStrings();
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1391
|
+
const definition = config ? resolveFilterTypeDefinition(config, filterResolver) : void 0;
|
|
1392
|
+
const onActiveChange = (active) => {
|
|
1393
|
+
setActiveFilters(activeFilters.map((filter) => filter.config?.id === config?.id ? {
|
|
1394
|
+
...filter,
|
|
1395
|
+
isConfiguring: !active
|
|
1396
|
+
} : filter));
|
|
1397
|
+
};
|
|
1398
|
+
const content = config && definition?.render({
|
|
1399
|
+
config,
|
|
1400
|
+
compact,
|
|
1401
|
+
isFilterSelectSibling: !hideFilterSelection,
|
|
1402
|
+
onActiveChange
|
|
1403
|
+
});
|
|
1404
|
+
if (hideFilterSelection) return /* @__PURE__ */ jsx(Fragment$1, { children: content });
|
|
1405
|
+
return /* @__PURE__ */ jsxs(SegmentedControl, {
|
|
1406
|
+
id: config?.htmlId,
|
|
1407
|
+
role: "group",
|
|
1408
|
+
"aria-label": config?.name ? strings.filterGroupLabel(config.name) : strings.filter,
|
|
1409
|
+
children: [/* @__PURE__ */ jsx(FilterSelection, {
|
|
1410
|
+
value: config?.id,
|
|
1411
|
+
disabled: config?.required,
|
|
1412
|
+
compact,
|
|
1413
|
+
filterResolver
|
|
1414
|
+
}), content]
|
|
1415
|
+
});
|
|
1432
1416
|
};
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
const
|
|
1436
|
-
filters
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1417
|
+
const FilterSelection = ({ value, disabled, compact, filterResolver }) => {
|
|
1418
|
+
const strings = usePDSStrings();
|
|
1419
|
+
const { filters, activeFilters, setActiveFilters } = useTableControls();
|
|
1420
|
+
const options = useMemo(() => filters.filter((filter) => filter.id === value || !activeFilters.some((active) => active.config?.id === filter.id)).filter((filter) => !filter.group || filter.id === value || !activeFilters.some((active) => active.config?.group === filter.group && active.config?.id !== value)), [
|
|
1421
|
+
activeFilters,
|
|
1422
|
+
filters,
|
|
1423
|
+
value
|
|
1424
|
+
]);
|
|
1425
|
+
const replaceFilter = (nextId) => {
|
|
1426
|
+
const next = filters.find((filter) => filter.id === nextId);
|
|
1427
|
+
const previous = filters.find((filter) => filter.id === value);
|
|
1428
|
+
if (!next) return;
|
|
1429
|
+
if (!value) {
|
|
1430
|
+
setActiveFilters(activeFilters.map((active) => active.config ? active : {
|
|
1431
|
+
...active,
|
|
1432
|
+
config: next
|
|
1433
|
+
}));
|
|
1434
|
+
next.onFilterSelect?.();
|
|
1435
|
+
return;
|
|
1436
|
+
}
|
|
1437
|
+
if (previous) resolveFilterTypeDefinition(previous, filterResolver)?.clear(previous);
|
|
1438
|
+
setActiveFilters(activeFilters.map((active) => active.config?.id === value ? {
|
|
1439
|
+
...active,
|
|
1440
|
+
config: next,
|
|
1441
|
+
isConfiguring: true
|
|
1442
|
+
} : active));
|
|
1443
|
+
next.onFilterSelect?.();
|
|
1453
1444
|
};
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1445
|
+
const removeFilter = () => {
|
|
1446
|
+
const current = filters.find((filter) => filter.id === value);
|
|
1447
|
+
if (current) resolveFilterTypeDefinition(current, filterResolver)?.clear(current);
|
|
1448
|
+
setActiveFilters(activeFilters.filter((active) => active.config?.id !== value));
|
|
1458
1449
|
};
|
|
1459
|
-
|
|
1450
|
+
return /* @__PURE__ */ jsx(Select, {
|
|
1451
|
+
"aria-label": strings.filterType,
|
|
1452
|
+
width: "auto",
|
|
1453
|
+
minWidth: 120,
|
|
1454
|
+
placeholder: strings.selectFilterType,
|
|
1455
|
+
value,
|
|
1456
|
+
size: compact ? "sm" : void 0,
|
|
1457
|
+
disabled,
|
|
1458
|
+
onValueChange: replaceFilter,
|
|
1459
|
+
portal: true,
|
|
1460
|
+
header: /* @__PURE__ */ jsx(SelectHeader, {
|
|
1461
|
+
title: strings.filterType,
|
|
1462
|
+
menuTriggerLabel: strings.filterActions,
|
|
1463
|
+
menuItems: /* @__PURE__ */ jsx(DropdownMenu_default.Item, {
|
|
1464
|
+
onClick: removeFilter,
|
|
1465
|
+
children: strings.deleteFilter
|
|
1466
|
+
})
|
|
1467
|
+
}),
|
|
1468
|
+
children: options.map((filter) => {
|
|
1469
|
+
const isDisabled = Boolean(filter.disabledReason) && filter.id !== value;
|
|
1470
|
+
const option = /* @__PURE__ */ jsx(Option, {
|
|
1471
|
+
value: filter.id,
|
|
1472
|
+
disabled: isDisabled,
|
|
1473
|
+
style: isDisabled ? { pointerEvents: "auto" } : void 0,
|
|
1474
|
+
children: filter.name
|
|
1475
|
+
}, filter.id);
|
|
1476
|
+
return isDisabled ? /* @__PURE__ */ jsx(Tooltip, {
|
|
1477
|
+
trigger: option,
|
|
1478
|
+
side: "top",
|
|
1479
|
+
children: filter.disabledReason
|
|
1480
|
+
}, filter.id) : option;
|
|
1481
|
+
})
|
|
1482
|
+
});
|
|
1483
|
+
};
|
|
1484
|
+
const Filters = ({ compact, filterResolver, ...props }) => {
|
|
1485
|
+
const strings = usePDSStrings();
|
|
1486
|
+
const { filters, activeFilters, setActiveFilters } = useTableControls();
|
|
1487
|
+
const hasNewFilter = activeFilters.some((filter) => !filter.config);
|
|
1488
|
+
const hideFilterSelection = Boolean(compact && filters.length > 0 && filters.every((filter) => filter.required));
|
|
1489
|
+
return /* @__PURE__ */ jsxs(FiltersContainer, {
|
|
1490
|
+
...props,
|
|
1491
|
+
children: [activeFilters.map((filter) => /* @__PURE__ */ jsx(Filter, {
|
|
1492
|
+
config: filter.config,
|
|
1493
|
+
compact,
|
|
1494
|
+
hideFilterSelection,
|
|
1495
|
+
filterResolver
|
|
1496
|
+
}, filter.id)), /* @__PURE__ */ jsx(AddFilterButton, {
|
|
1497
|
+
id: "table-controls__add-filter-button",
|
|
1498
|
+
type: "button",
|
|
1499
|
+
variant: "text",
|
|
1500
|
+
width: "icon",
|
|
1501
|
+
size: compact ? "sm" : "md",
|
|
1502
|
+
"aria-label": strings.addFilter,
|
|
1503
|
+
disabled: hasNewFilter || activeFilters.length >= filters.length,
|
|
1504
|
+
onClick: () => setActiveFilters([...activeFilters, createUnsetFilter(activeFilters)]),
|
|
1505
|
+
children: /* @__PURE__ */ jsx(CirclePlusIcon, {})
|
|
1506
|
+
})]
|
|
1507
|
+
});
|
|
1508
|
+
};
|
|
1460
1509
|
//#endregion
|
|
1461
1510
|
//#region components/DataTable/TableControls/FiltersV2/operators.ts
|
|
1462
1511
|
/**
|
|
@@ -1799,27 +1848,8 @@ function reconcileValueForOperator(field, nextOperator, previousOperator, value)
|
|
|
1799
1848
|
return value ?? emptyValueForRule(field, nextOperator);
|
|
1800
1849
|
}
|
|
1801
1850
|
//#endregion
|
|
1802
|
-
//#region components/DataTable/TableControls/FiltersV2/date-
|
|
1803
|
-
|
|
1804
|
-
* The absolute bounds a rule should be queried with, or `null` when it does not
|
|
1805
|
-
* carry a date range.
|
|
1806
|
-
*
|
|
1807
|
-
* Relative metadata wins over the stored snapshot: the snapshot is a picture of
|
|
1808
|
-
* the window when it was saved, and the point of a relative rule is that the
|
|
1809
|
-
* window moves. The operator gate is part of this rather than the caller's job —
|
|
1810
|
-
* metadata only ever describes a range, so resolving it onto a scalar rule
|
|
1811
|
-
* would put a `{ startDate, endDate }` object where the wire expects a day.
|
|
1812
|
-
*/
|
|
1813
|
-
function resolveDateRangeRuleValue(rule, fieldType) {
|
|
1814
|
-
if (!carriesDateRange(rule.operator, fieldType)) return null;
|
|
1815
|
-
const relative = parseDateFilterValue(rule.relativeDate);
|
|
1816
|
-
if (relative?.kind === "relative") return resolveDateFilterValue(relative);
|
|
1817
|
-
const parsed = parseDateFilterValue(rule.value);
|
|
1818
|
-
return parsed ? resolveDateFilterValue(parsed) : null;
|
|
1819
|
-
}
|
|
1820
|
-
//#endregion
|
|
1821
|
-
//#region components/DataTable/TableControls/FiltersV2/format-date-value.ts
|
|
1822
|
-
const TIME_COMPONENT = /T\d{2}:\d{2}/;
|
|
1851
|
+
//#region components/DataTable/TableControls/FiltersV2/format-date-value.ts
|
|
1852
|
+
const TIME_COMPONENT = /T\d{2}:\d{2}/;
|
|
1823
1853
|
/**
|
|
1824
1854
|
* Display form of a minute-precision filter value ("Oct 5, 2011 2:48 PM"). Date-only values are
|
|
1825
1855
|
* returned untouched. Pass the `PDSProvider` locale (`usePDSLocale()`) to follow it; omitted or
|
|
@@ -2246,7 +2276,7 @@ const FILTER_SIZE_TOKENS = {
|
|
|
2246
2276
|
const PopoverContent = styled(PopoverPrimitive.Content)`
|
|
2247
2277
|
z-index: ${Z_INDICES.modalDropdown};
|
|
2248
2278
|
`;
|
|
2249
|
-
const PopoverCard = styled(Card_default)`
|
|
2279
|
+
const PopoverCard$1 = styled(Card_default)`
|
|
2250
2280
|
width: ${({ $wide }) => $wide ? "520px" : "384px"};
|
|
2251
2281
|
max-width: calc(100vw - ${Spacing[4]});
|
|
2252
2282
|
margin-bottom: 0;
|
|
@@ -2480,7 +2510,7 @@ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, ope
|
|
|
2480
2510
|
event.preventDefault();
|
|
2481
2511
|
handleOpenChange(false);
|
|
2482
2512
|
},
|
|
2483
|
-
children: /* @__PURE__ */ jsxs(PopoverCard, {
|
|
2513
|
+
children: /* @__PURE__ */ jsxs(PopoverCard$1, {
|
|
2484
2514
|
elevated: true,
|
|
2485
2515
|
$wide: wide,
|
|
2486
2516
|
children: [/* @__PURE__ */ jsx(Header, { children: /* @__PURE__ */ jsx(Paragraph, {
|
|
@@ -2772,6 +2802,20 @@ function ChoicesValueControl({ field, operator, value, onChange, onCommit, ariaL
|
|
|
2772
2802
|
});
|
|
2773
2803
|
}
|
|
2774
2804
|
//#endregion
|
|
2805
|
+
//#region components/DataTable/TableControls/FiltersV2/date-rule-intent.ts
|
|
2806
|
+
function dateRuleIntent(change, writesEnabled) {
|
|
2807
|
+
if (change.source === "clear") return { kind: "clear" };
|
|
2808
|
+
if (change.source === "calendar" || !writesEnabled) return change.range == null ? { kind: "clear" } : {
|
|
2809
|
+
kind: "absolute",
|
|
2810
|
+
range: change.range
|
|
2811
|
+
};
|
|
2812
|
+
return {
|
|
2813
|
+
kind: "relative",
|
|
2814
|
+
preset: change.preset,
|
|
2815
|
+
range: change.range
|
|
2816
|
+
};
|
|
2817
|
+
}
|
|
2818
|
+
//#endregion
|
|
2775
2819
|
//#region components/DataTable/TableControls/FiltersV2/value-controls/DateRangeValueControl/DateRangeValueControl.tsx
|
|
2776
2820
|
const CALENDAR_DATE = /^(\d{4}-\d{2}-\d{2})/;
|
|
2777
2821
|
const DATE_ONLY$1 = /^\d{4}-\d{2}-\d{2}$/;
|
|
@@ -4726,6 +4770,466 @@ function deriveVisibleCustomFieldParents(registry, topLevelRules) {
|
|
|
4726
4770
|
return hasActiveSelectorRule ? Array.from(allowedParents) : void 0;
|
|
4727
4771
|
}
|
|
4728
4772
|
//#endregion
|
|
4773
|
+
//#region components/DataTable/dnd/StyledIconDrag.tsx
|
|
4774
|
+
const StyledIconDrag = styled(DragIcon$1)`
|
|
4775
|
+
display: ${({ $shouldHide = false }) => $shouldHide ? "none" : "inline"};
|
|
4776
|
+
|
|
4777
|
+
${({ $horizontal = false }) => $horizontal ? css`
|
|
4778
|
+
transform: rotate(90deg);
|
|
4779
|
+
` : ""}
|
|
4780
|
+
|
|
4781
|
+
${({ $active = false, $hover = false }) => $active ? css`
|
|
4782
|
+
cursor: grabbing;
|
|
4783
|
+
opacity: 1;
|
|
4784
|
+
` : $hover ? css`
|
|
4785
|
+
cursor: grab;
|
|
4786
|
+
opacity: 1;
|
|
4787
|
+
` : css`
|
|
4788
|
+
cursor: normal;
|
|
4789
|
+
opacity: 0.4;
|
|
4790
|
+
`}
|
|
4791
|
+
|
|
4792
|
+
transition: opacity 0.2s ease-in-out;
|
|
4793
|
+
|
|
4794
|
+
path {
|
|
4795
|
+
stroke: ${({ theme }) => semanticColor(theme, "FgPrimary", Color.CoreSlate1000)};
|
|
4796
|
+
stroke-width: 1px;
|
|
4797
|
+
}
|
|
4798
|
+
`;
|
|
4799
|
+
//#endregion
|
|
4800
|
+
//#region components/DataTable/dnd/utils.ts
|
|
4801
|
+
/**
|
|
4802
|
+
* reorder returns a reordered version of the inputed list by swapping the element
|
|
4803
|
+
* at startIndex with the one at endIndex
|
|
4804
|
+
*/
|
|
4805
|
+
function reorder(list, startIndex, endIndex) {
|
|
4806
|
+
const result = Array.from(list);
|
|
4807
|
+
const [removed] = result.splice(startIndex, 1);
|
|
4808
|
+
result.splice(endIndex, 0, removed);
|
|
4809
|
+
return result;
|
|
4810
|
+
}
|
|
4811
|
+
/**
|
|
4812
|
+
* Translates a drag result into indices into the full list. dnd reports positions among the
|
|
4813
|
+
* rendered rows, which diverge from the full list as soon as the view is filtered.
|
|
4814
|
+
*
|
|
4815
|
+
* Returns null when either end cannot be resolved, in which case the drag should be ignored
|
|
4816
|
+
* rather than applied at the wrong position.
|
|
4817
|
+
*/
|
|
4818
|
+
function resolveDragIndices(listKeys, renderedKeys, draggableId, destinationIndex) {
|
|
4819
|
+
const destinationKey = renderedKeys[destinationIndex];
|
|
4820
|
+
if (destinationKey == null) return null;
|
|
4821
|
+
const from = listKeys.indexOf(draggableId);
|
|
4822
|
+
const to = listKeys.indexOf(destinationKey);
|
|
4823
|
+
return from === -1 || to === -1 ? null : {
|
|
4824
|
+
from,
|
|
4825
|
+
to
|
|
4826
|
+
};
|
|
4827
|
+
}
|
|
4828
|
+
//#endregion
|
|
4829
|
+
//#region components/DataTable/TableControls/TableViewConfigurationDropdown.tsx
|
|
4830
|
+
const SHOWN_DROPPABLE_ID = "cases-view__configure-shown-columns";
|
|
4831
|
+
const startsCapitalized = (label) => {
|
|
4832
|
+
const first = label.charAt(0);
|
|
4833
|
+
return first !== "" && first === first.toUpperCase() && first !== first.toLowerCase();
|
|
4834
|
+
};
|
|
4835
|
+
const byLabel = (a, b) => {
|
|
4836
|
+
const aCapitalized = startsCapitalized(a.label);
|
|
4837
|
+
if (aCapitalized !== startsCapitalized(b.label)) return aCapitalized ? -1 : 1;
|
|
4838
|
+
return a.label.localeCompare(b.label, void 0, { numeric: true });
|
|
4839
|
+
};
|
|
4840
|
+
const DndSection = styled("div")`
|
|
4841
|
+
max-height: 400px;
|
|
4842
|
+
|
|
4843
|
+
overflow: scroll;
|
|
4844
|
+
::-webkit-scrollbar {
|
|
4845
|
+
display: none;
|
|
4846
|
+
}
|
|
4847
|
+
`;
|
|
4848
|
+
const DndItemWrapper = styled("div")`
|
|
4849
|
+
background: white;
|
|
4850
|
+
${semanticOnly((tokens) => `background: ${tokens.SurfacePrimary};`)}
|
|
4851
|
+
width: 100%;
|
|
4852
|
+
border-bottom: 1px solid ${({ theme }) => semanticColor(theme, "BorderSubtle", theme.color.border.secondary)};
|
|
4853
|
+
padding: ${Spacing[2]} ${Spacing[2]};
|
|
4854
|
+
|
|
4855
|
+
display: flex;
|
|
4856
|
+
flex-direction: row;
|
|
4857
|
+
align-items: center;
|
|
4858
|
+
justify-content: left;
|
|
4859
|
+
`;
|
|
4860
|
+
const SuffixContainer = styled("div")`
|
|
4861
|
+
padding-left: ${Spacing[2]};
|
|
4862
|
+
margin-left: auto;
|
|
4863
|
+
align-self: center;
|
|
4864
|
+
`;
|
|
4865
|
+
const SearchContainer = styled.div`
|
|
4866
|
+
display: flex;
|
|
4867
|
+
`;
|
|
4868
|
+
const StyledSearchInput = styled(SearchInput)`
|
|
4869
|
+
width: 100%;
|
|
4870
|
+
`;
|
|
4871
|
+
const PopoverCard = styled(Card_default)`
|
|
4872
|
+
width: 300px;
|
|
4873
|
+
padding: ${Spacing[4]};
|
|
4874
|
+
`;
|
|
4875
|
+
const TriggerIconButton = forwardRef(function TriggerIconButton({ disabled, ...elemProps }, ref) {
|
|
4876
|
+
const strings = usePDSStrings();
|
|
4877
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
4878
|
+
disabled,
|
|
4879
|
+
width: "icon",
|
|
4880
|
+
variant: "basic",
|
|
4881
|
+
size: "md",
|
|
4882
|
+
...elemProps,
|
|
4883
|
+
ref,
|
|
4884
|
+
"data-tour-target": "table-properties-button",
|
|
4885
|
+
"aria-label": strings.tableProperties,
|
|
4886
|
+
children: /* @__PURE__ */ jsx(SettingsIcon, {})
|
|
4887
|
+
});
|
|
4888
|
+
});
|
|
4889
|
+
const TooltipButtonWrapper = styled("div")`
|
|
4890
|
+
display: inline-block;
|
|
4891
|
+
`;
|
|
4892
|
+
const TableViewConfigurationDropdown = ({ disabled = false, disabledTooltipMessage, size = "md", variant = "basic", ...props }) => {
|
|
4893
|
+
const strings = usePDSStrings();
|
|
4894
|
+
return disabled ? /* @__PURE__ */ jsx(Tooltip, {
|
|
4895
|
+
trigger: /* @__PURE__ */ jsx(TooltipButtonWrapper, { children: /* @__PURE__ */ jsx(TriggerIconButton, {
|
|
4896
|
+
disabled: true,
|
|
4897
|
+
size,
|
|
4898
|
+
variant
|
|
4899
|
+
}) }),
|
|
4900
|
+
children: disabledTooltipMessage ?? strings.configureViewPermissionDenied
|
|
4901
|
+
}) : /* @__PURE__ */ jsxs(Popover_default, { children: [/* @__PURE__ */ jsx(Popover_default.Trigger, {
|
|
4902
|
+
asChild: true,
|
|
4903
|
+
children: /* @__PURE__ */ jsx(TriggerIconButton, {
|
|
4904
|
+
disabled: false,
|
|
4905
|
+
size,
|
|
4906
|
+
variant
|
|
4907
|
+
})
|
|
4908
|
+
}), /* @__PURE__ */ jsx(Popover_default.Content, {
|
|
4909
|
+
style: { zIndex: Z_INDICES.dropdown },
|
|
4910
|
+
sideOffset: 8,
|
|
4911
|
+
side: "bottom",
|
|
4912
|
+
align: "end",
|
|
4913
|
+
children: /* @__PURE__ */ jsx(PopoverCard, {
|
|
4914
|
+
elevated: true,
|
|
4915
|
+
children: /* @__PURE__ */ jsx(TableViewConfiguration, { ...props })
|
|
4916
|
+
})
|
|
4917
|
+
})] });
|
|
4918
|
+
};
|
|
4919
|
+
const TableViewConfiguration = ({ columnConfiguration, attributeOptions, updateColumnConfiguration, getColumnDisabled, sortByRelevance = false }) => {
|
|
4920
|
+
const strings = usePDSStrings();
|
|
4921
|
+
const [searchTerm, setSearchTerm] = useState("");
|
|
4922
|
+
const fuse = useMemo(() => {
|
|
4923
|
+
return new Fuse(attributeOptions, sortByRelevance ? {
|
|
4924
|
+
shouldSort: true,
|
|
4925
|
+
threshold: .3,
|
|
4926
|
+
ignoreLocation: true,
|
|
4927
|
+
includeScore: true,
|
|
4928
|
+
minMatchCharLength: 1,
|
|
4929
|
+
keys: [{
|
|
4930
|
+
name: "label",
|
|
4931
|
+
weight: 1
|
|
4932
|
+
}]
|
|
4933
|
+
} : {
|
|
4934
|
+
shouldSort: false,
|
|
4935
|
+
threshold: .4,
|
|
4936
|
+
location: 0,
|
|
4937
|
+
distance: 100,
|
|
4938
|
+
minMatchCharLength: 1,
|
|
4939
|
+
keys: [{
|
|
4940
|
+
name: "label",
|
|
4941
|
+
weight: 1
|
|
4942
|
+
}]
|
|
4943
|
+
});
|
|
4944
|
+
}, [attributeOptions, sortByRelevance]);
|
|
4945
|
+
const allOptions = useMemo(() => union(attributeOptions, columnConfiguration), [attributeOptions, columnConfiguration]);
|
|
4946
|
+
const filteredSearchOptions = useMemo(() => {
|
|
4947
|
+
if (searchTerm === "") return allOptions;
|
|
4948
|
+
const results = fuse.search(searchTerm);
|
|
4949
|
+
if (!sortByRelevance) return results.map(({ item }) => item);
|
|
4950
|
+
return [...results].sort((a, b) => (a.score ?? 0) - (b.score ?? 0) || byLabel(a.item, b.item)).map(({ item }) => item);
|
|
4951
|
+
}, [
|
|
4952
|
+
allOptions,
|
|
4953
|
+
fuse,
|
|
4954
|
+
searchTerm,
|
|
4955
|
+
sortByRelevance
|
|
4956
|
+
]);
|
|
4957
|
+
const hiddenAttributes = useMemo(() => {
|
|
4958
|
+
const columnConfigurationKeys = new Set(columnConfiguration.map((c) => c.key));
|
|
4959
|
+
const hidden = filteredSearchOptions.filter((attribute) => !columnConfigurationKeys.has(attribute.key));
|
|
4960
|
+
if (!sortByRelevance || searchTerm !== "") return hidden;
|
|
4961
|
+
const [systemColumns, customFields] = partition(hidden, (a) => !a.isCustomField);
|
|
4962
|
+
return [...systemColumns, ...[...customFields].sort(byLabel)];
|
|
4963
|
+
}, [
|
|
4964
|
+
columnConfiguration,
|
|
4965
|
+
filteredSearchOptions,
|
|
4966
|
+
sortByRelevance,
|
|
4967
|
+
searchTerm
|
|
4968
|
+
]);
|
|
4969
|
+
const filteredShownAttributes = useMemo(() => {
|
|
4970
|
+
return columnConfiguration.filter((column) => filteredSearchOptions.map((o) => o.key).includes(column.key));
|
|
4971
|
+
}, [columnConfiguration, filteredSearchOptions]);
|
|
4972
|
+
const handleDragEnd = (result, _provided) => {
|
|
4973
|
+
const { destination, source } = result;
|
|
4974
|
+
if (!destination || destination.droppableId === source.droppableId && destination.index === source.index) return;
|
|
4975
|
+
const indices = resolveDragIndices(columnConfiguration.map((c) => c.key), filteredShownAttributes.map((c) => c.key), result.draggableId, destination.index);
|
|
4976
|
+
if (!indices) return;
|
|
4977
|
+
updateColumnConfiguration(reorder(columnConfiguration, indices.from, indices.to));
|
|
4978
|
+
};
|
|
4979
|
+
const generateShownAttributesToggle = (column) => () => {
|
|
4980
|
+
updateColumnConfiguration(columnConfiguration.filter((a) => a.key !== column.key));
|
|
4981
|
+
};
|
|
4982
|
+
const generateHiddenAttributesToggle = (column) => () => {
|
|
4983
|
+
updateColumnConfiguration(columnConfiguration.concat({
|
|
4984
|
+
key: column.key,
|
|
4985
|
+
label: column.label
|
|
4986
|
+
}));
|
|
4987
|
+
};
|
|
4988
|
+
const shownColumnIds = useMemo(() => {
|
|
4989
|
+
return columnConfiguration.map((c) => c.key);
|
|
4990
|
+
}, [columnConfiguration]);
|
|
4991
|
+
const shownDndItemProps = filteredShownAttributes.map((column, index) => {
|
|
4992
|
+
const isDisabledByDefault = columnConfiguration.length === 1;
|
|
4993
|
+
const isDisabledByCustom = getColumnDisabled?.(column.key, shownColumnIds) ?? false;
|
|
4994
|
+
const shouldDisableDragForColumn = isDisabledByCustom && index === filteredShownAttributes.length - 1;
|
|
4995
|
+
return {
|
|
4996
|
+
column,
|
|
4997
|
+
index,
|
|
4998
|
+
isDisabled: isDisabledByDefault || isDisabledByCustom,
|
|
4999
|
+
isToggled: true,
|
|
5000
|
+
shouldDisableDrag: shouldDisableDragForColumn,
|
|
5001
|
+
handleToggle: generateShownAttributesToggle(column)
|
|
5002
|
+
};
|
|
5003
|
+
});
|
|
5004
|
+
const hiddenDndItemProps = hiddenAttributes.map((column, index) => {
|
|
5005
|
+
return {
|
|
5006
|
+
column,
|
|
5007
|
+
index,
|
|
5008
|
+
isToggled: false,
|
|
5009
|
+
shouldDisableDrag: true,
|
|
5010
|
+
handleToggle: generateHiddenAttributesToggle(column)
|
|
5011
|
+
};
|
|
5012
|
+
});
|
|
5013
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
5014
|
+
/* @__PURE__ */ jsx(Label$1, {
|
|
5015
|
+
size: "lg",
|
|
5016
|
+
weight: "bold",
|
|
5017
|
+
children: strings.configureColumns
|
|
5018
|
+
}),
|
|
5019
|
+
/* @__PURE__ */ jsx(Spacer_default, { height: 2 }),
|
|
5020
|
+
/* @__PURE__ */ jsx(SearchContainer, { children: /* @__PURE__ */ jsx(StyledSearchInput, {
|
|
5021
|
+
title: null,
|
|
5022
|
+
value: searchTerm,
|
|
5023
|
+
handleInput: setSearchTerm,
|
|
5024
|
+
size: "md",
|
|
5025
|
+
placeholder: strings.searchColumns,
|
|
5026
|
+
dataTest: "checklist-item-panel-item-table__search"
|
|
5027
|
+
}) }),
|
|
5028
|
+
/* @__PURE__ */ jsx(Spacer_default, { height: 2 }),
|
|
5029
|
+
shownDndItemProps.length > 0 || hiddenDndItemProps.length > 0 ? /* @__PURE__ */ jsxs(DndSection, { children: [
|
|
5030
|
+
shownDndItemProps.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Paragraph, { children: strings.shownColumns }), /* @__PURE__ */ jsx(DragDropContext, {
|
|
5031
|
+
onDragEnd: handleDragEnd,
|
|
5032
|
+
children: /* @__PURE__ */ jsx(Droppable, {
|
|
5033
|
+
droppableId: SHOWN_DROPPABLE_ID,
|
|
5034
|
+
renderClone: (provided, _snapshot, rubric) => {
|
|
5035
|
+
return /* @__PURE__ */ jsx("div", {
|
|
5036
|
+
...provided.draggableProps,
|
|
5037
|
+
...provided.dragHandleProps,
|
|
5038
|
+
ref: provided.innerRef,
|
|
5039
|
+
children: /* @__PURE__ */ jsx(AttributeDnd, { ...shownDndItemProps[rubric.source.index] })
|
|
5040
|
+
});
|
|
5041
|
+
},
|
|
5042
|
+
children: (provided) => {
|
|
5043
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
5044
|
+
ref: provided.innerRef,
|
|
5045
|
+
...provided.droppableProps,
|
|
5046
|
+
children: [shownDndItemProps.map((props, idx) => {
|
|
5047
|
+
return /* @__PURE__ */ jsx(Draggable, {
|
|
5048
|
+
draggableId: props.column.key,
|
|
5049
|
+
index: idx,
|
|
5050
|
+
isDragDisabled: props.shouldDisableDrag,
|
|
5051
|
+
children: (provided) => {
|
|
5052
|
+
return /* @__PURE__ */ jsx("div", {
|
|
5053
|
+
ref: provided.innerRef,
|
|
5054
|
+
...provided.draggableProps,
|
|
5055
|
+
...provided.dragHandleProps,
|
|
5056
|
+
children: /* @__PURE__ */ jsx(AttributeDnd, { ...props })
|
|
5057
|
+
});
|
|
5058
|
+
}
|
|
5059
|
+
}, `${props.column.key}`);
|
|
5060
|
+
}), provided.placeholder]
|
|
5061
|
+
});
|
|
5062
|
+
}
|
|
5063
|
+
})
|
|
5064
|
+
})] }),
|
|
5065
|
+
/* @__PURE__ */ jsx(Spacer_default, { height: 2 }),
|
|
5066
|
+
hiddenDndItemProps.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Paragraph, { children: strings.hiddenColumns }), hiddenDndItemProps.map((props) => /* @__PURE__ */ jsx(AttributeDnd, { ...props }, props.column.key))] })
|
|
5067
|
+
] }) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Paragraph, { children: strings.noMatchingColumns }) })
|
|
5068
|
+
] });
|
|
5069
|
+
};
|
|
5070
|
+
const OverflowText = styled("div")`
|
|
5071
|
+
max-width: 160px;
|
|
5072
|
+
flex-wrap: wrap;
|
|
5073
|
+
display: flex;
|
|
5074
|
+
`;
|
|
5075
|
+
const AttributeDnd = ({ column, index, isDisabled = false, isToggled, shouldDisableDrag, handleToggle }) => {
|
|
5076
|
+
const strings = usePDSStrings();
|
|
5077
|
+
return /* @__PURE__ */ jsxs(DndItemWrapper, { children: [
|
|
5078
|
+
/* @__PURE__ */ jsx(StyledIconDrag, {
|
|
5079
|
+
$active: true,
|
|
5080
|
+
$shouldHide: shouldDisableDrag
|
|
5081
|
+
}),
|
|
5082
|
+
/* @__PURE__ */ jsx(OverflowText, { children: /* @__PURE__ */ jsx(Paragraph, {
|
|
5083
|
+
color: "primary",
|
|
5084
|
+
size: "sm",
|
|
5085
|
+
children: column.label
|
|
5086
|
+
}) }),
|
|
5087
|
+
/* @__PURE__ */ jsx(SuffixContainer, { children: /* @__PURE__ */ jsx(Toggle, {
|
|
5088
|
+
value: isToggled,
|
|
5089
|
+
disabled: isDisabled,
|
|
5090
|
+
onChange: handleToggle,
|
|
5091
|
+
"aria-label": isToggled ? strings.hideColumn(column.label) : strings.showColumn(column.label)
|
|
5092
|
+
}) })
|
|
5093
|
+
] }, `${column.key}-${index}`);
|
|
5094
|
+
};
|
|
5095
|
+
//#endregion
|
|
5096
|
+
//#region components/DataTable/TableControls/TableControls.tsx
|
|
5097
|
+
const EMPTY_FILTERS = [];
|
|
5098
|
+
const resolveFilterArea = (filterPanel, filtersV2Panel, configuredFilterPanel) => filterPanel ?? filtersV2Panel ?? configuredFilterPanel;
|
|
5099
|
+
const hasNewFilterId = (currentIds, previousIds) => {
|
|
5100
|
+
const previous = new Set(previousIds.split("\0").filter(Boolean));
|
|
5101
|
+
return currentIds.split("\0").some((id) => id !== "" && !previous.has(id));
|
|
5102
|
+
};
|
|
5103
|
+
const TableControls = ({ filters = EMPTY_FILTERS, filterResolver, filtersV2, filterPanel, searchProps, defaultShowFilters, showFilters: controlledShowFilters, setShowFilters: controlledSetShowFilters, className, tableActions, propertiesButton, isLoading, isFilterPanelLoading, showViews, canEditViews, onSelectView, views, hiddenViewIds, currentView, onAddView, onViewNameChange, onReorderViews, onViewHiddenChange, onDuplicateView, onDeleteView, onSaveView, onSetDefaultView, onUnsetDefaultView, isViewDirty, selectedRows, bulkActions, onClearSelection, title, presetViews, compact, columnConfigurationProps, showFiltersAlways = false, onError, "data-tour-target": dataTourTarget }) => {
|
|
5104
|
+
const filtersId = useId();
|
|
5105
|
+
const enabledFilters = useMemo(() => filtersV2 != null ? EMPTY_FILTERS : filters.filter((filter) => filter.enabled !== false), [filters, filtersV2]);
|
|
5106
|
+
const [activeFilters, setActiveFilters] = useState(() => getActiveFilters(enabledFilters, [], true, filterResolver));
|
|
5107
|
+
const generatedFilterPanel = enabledFilters.length > 0 ? /* @__PURE__ */ jsx(TableControlsProvider, {
|
|
5108
|
+
filters: enabledFilters,
|
|
5109
|
+
activeFilters,
|
|
5110
|
+
setActiveFilters,
|
|
5111
|
+
children: /* @__PURE__ */ jsx(Filters, {
|
|
5112
|
+
id: filtersId,
|
|
5113
|
+
compact,
|
|
5114
|
+
filterResolver
|
|
5115
|
+
})
|
|
5116
|
+
}) : void 0;
|
|
5117
|
+
const usesFiltersV2 = filterPanel == null && filtersV2 != null;
|
|
5118
|
+
const resolvedFilterPanel = resolveFilterArea(filterPanel, filtersV2 != null ? /* @__PURE__ */ jsx("div", {
|
|
5119
|
+
id: filtersId,
|
|
5120
|
+
children: /* @__PURE__ */ jsx(FilterBar, {
|
|
5121
|
+
...filtersV2,
|
|
5122
|
+
size: filtersV2.size ?? (compact ? "sm" : "md")
|
|
5123
|
+
})
|
|
5124
|
+
}) : void 0, generatedFilterPanel);
|
|
5125
|
+
const [internalShowFilters, internalSetShowFilters] = useState(defaultShowFilters ?? (filterPanel == null && (usesFiltersV2 || activeFilters.length > 0)));
|
|
5126
|
+
useEffect(() => {
|
|
5127
|
+
setActiveFilters((current) => synchronizeActiveFilters(enabledFilters, current, filterResolver));
|
|
5128
|
+
}, [enabledFilters, filterResolver]);
|
|
5129
|
+
const activeFilterIds = enabledFilters.filter((filter) => isFilterActive(filter, filterResolver)).map((filter) => filter.id).sort().join("\0");
|
|
5130
|
+
const configuredFilterIds = activeFilters.flatMap((filter) => filter.config ? [filter.config.id] : []).sort().join("\0");
|
|
5131
|
+
const previousActiveFilterIds = useRef(activeFilterIds);
|
|
5132
|
+
const previousConfiguredFilterIds = useRef(configuredFilterIds);
|
|
5133
|
+
const previouslyUsedFiltersV2 = useRef(usesFiltersV2);
|
|
5134
|
+
useEffect(() => {
|
|
5135
|
+
const becameActive = hasNewFilterId(activeFilterIds, previousActiveFilterIds.current);
|
|
5136
|
+
const newlyConfigured = hasNewFilterId(configuredFilterIds, previousConfiguredFilterIds.current);
|
|
5137
|
+
const enabledFiltersV2 = usesFiltersV2 && !previouslyUsedFiltersV2.current;
|
|
5138
|
+
previousActiveFilterIds.current = activeFilterIds;
|
|
5139
|
+
previousConfiguredFilterIds.current = configuredFilterIds;
|
|
5140
|
+
previouslyUsedFiltersV2.current = usesFiltersV2;
|
|
5141
|
+
if (defaultShowFilters == null && filterPanel == null && (enabledFiltersV2 || !usesFiltersV2 && (becameActive || newlyConfigured))) internalSetShowFilters(true);
|
|
5142
|
+
}, [
|
|
5143
|
+
activeFilterIds,
|
|
5144
|
+
configuredFilterIds,
|
|
5145
|
+
defaultShowFilters,
|
|
5146
|
+
filterPanel,
|
|
5147
|
+
usesFiltersV2
|
|
5148
|
+
]);
|
|
5149
|
+
const showFilters = controlledShowFilters != null ? controlledShowFilters : internalShowFilters;
|
|
5150
|
+
const setShowFilters = controlledSetShowFilters != null ? controlledSetShowFilters : internalSetShowFilters;
|
|
5151
|
+
const enhancedPropertiesButton = useMemo(() => {
|
|
5152
|
+
if (!columnConfigurationProps && !propertiesButton) return;
|
|
5153
|
+
const elements = [];
|
|
5154
|
+
if (propertiesButton) elements.push(propertiesButton);
|
|
5155
|
+
if (columnConfigurationProps) elements.push(/* @__PURE__ */ jsx(TableViewConfigurationDropdown, {
|
|
5156
|
+
disabled: false,
|
|
5157
|
+
...columnConfigurationProps
|
|
5158
|
+
}, "column-config"));
|
|
5159
|
+
if (elements.length === 1) return elements[0];
|
|
5160
|
+
return /* @__PURE__ */ jsx(StyledEnhancedPropertiesButton, { children: elements });
|
|
5161
|
+
}, [columnConfigurationProps, propertiesButton]);
|
|
5162
|
+
return /* @__PURE__ */ jsx(Container, {
|
|
5163
|
+
className,
|
|
5164
|
+
children: /* @__PURE__ */ jsx(ControlBar, {
|
|
5165
|
+
showViews: compact ? false : showViews,
|
|
5166
|
+
views: compact ? void 0 : views,
|
|
5167
|
+
hiddenViewIds: compact ? void 0 : hiddenViewIds,
|
|
5168
|
+
onSelectView: compact ? void 0 : onSelectView,
|
|
5169
|
+
currentView: compact ? void 0 : currentView,
|
|
5170
|
+
onAddView: compact ? void 0 : onAddView,
|
|
5171
|
+
onDeleteView: compact ? void 0 : onDeleteView,
|
|
5172
|
+
onDuplicateView: compact ? void 0 : onDuplicateView,
|
|
5173
|
+
onViewNameChange: compact ? void 0 : onViewNameChange,
|
|
5174
|
+
onReorderViews: compact ? void 0 : onReorderViews,
|
|
5175
|
+
onViewHiddenChange: compact ? void 0 : onViewHiddenChange,
|
|
5176
|
+
onSaveView: compact ? void 0 : onSaveView,
|
|
5177
|
+
...!compact && onSetDefaultView ? {
|
|
5178
|
+
onSetDefaultView,
|
|
5179
|
+
onUnsetDefaultView
|
|
5180
|
+
} : {
|
|
5181
|
+
onSetDefaultView: void 0,
|
|
5182
|
+
onUnsetDefaultView: void 0
|
|
5183
|
+
},
|
|
5184
|
+
isViewDirty,
|
|
5185
|
+
canEditViews: compact ? false : canEditViews,
|
|
5186
|
+
showFilters: showFilters && (showFiltersAlways || !isFilterPanelLoading),
|
|
5187
|
+
setShowFilters: (resolvedFilterPanel != null || isFilterPanelLoading) && !showFiltersAlways ? setShowFilters : void 0,
|
|
5188
|
+
filtersId,
|
|
5189
|
+
searchProps,
|
|
5190
|
+
propertiesButton: enhancedPropertiesButton,
|
|
5191
|
+
tableActions,
|
|
5192
|
+
isLoading,
|
|
5193
|
+
isFilterPanelLoading,
|
|
5194
|
+
selectedRows,
|
|
5195
|
+
bulkActions,
|
|
5196
|
+
onClearSelection,
|
|
5197
|
+
title,
|
|
5198
|
+
"data-tour-target": dataTourTarget,
|
|
5199
|
+
presetViews: compact ? void 0 : presetViews,
|
|
5200
|
+
compact,
|
|
5201
|
+
onError,
|
|
5202
|
+
filterPanel: resolvedFilterPanel
|
|
5203
|
+
})
|
|
5204
|
+
});
|
|
5205
|
+
};
|
|
5206
|
+
const Container = styled(Stack)`
|
|
5207
|
+
margin-bottom: ${Spacing[2]};
|
|
5208
|
+
`;
|
|
5209
|
+
const StyledEnhancedPropertiesButton = styled.div`
|
|
5210
|
+
display: flex;
|
|
5211
|
+
gap: ${Spacing[1]};
|
|
5212
|
+
`;
|
|
5213
|
+
//#endregion
|
|
5214
|
+
//#region components/DataTable/TableControls/FiltersV2/date-range-rule-value.ts
|
|
5215
|
+
/**
|
|
5216
|
+
* The absolute bounds a rule should be queried with, or `null` when it does not
|
|
5217
|
+
* carry a date range.
|
|
5218
|
+
*
|
|
5219
|
+
* Relative metadata wins over the stored snapshot: the snapshot is a picture of
|
|
5220
|
+
* the window when it was saved, and the point of a relative rule is that the
|
|
5221
|
+
* window moves. The operator gate is part of this rather than the caller's job —
|
|
5222
|
+
* metadata only ever describes a range, so resolving it onto a scalar rule
|
|
5223
|
+
* would put a `{ startDate, endDate }` object where the wire expects a day.
|
|
5224
|
+
*/
|
|
5225
|
+
function resolveDateRangeRuleValue(rule, fieldType) {
|
|
5226
|
+
if (!carriesDateRange(rule.operator, fieldType)) return null;
|
|
5227
|
+
const relative = parseDateFilterValue(rule.relativeDate);
|
|
5228
|
+
if (relative?.kind === "relative") return resolveDateFilterValue(relative);
|
|
5229
|
+
const parsed = parseDateFilterValue(rule.value);
|
|
5230
|
+
return parsed ? resolveDateFilterValue(parsed) : null;
|
|
5231
|
+
}
|
|
5232
|
+
//#endregion
|
|
4729
5233
|
//#region components/DataTable/TableControls/FiltersV2/FilterBar/index.ts
|
|
4730
5234
|
var FilterBar_default = FilterBar;
|
|
4731
5235
|
//#endregion
|
|
@@ -4998,6 +5502,6 @@ function decodeBase64(input) {
|
|
|
4998
5502
|
return decodeURIComponent(escape(atob(input)));
|
|
4999
5503
|
}
|
|
5000
5504
|
//#endregion
|
|
5001
|
-
export {
|
|
5505
|
+
export { isNumericComparisonOperator as A, useTableControls as B, useFilterBarSize as C, getOperatorsForField as D, getDefaultOperatorForType as E, getActiveFilters as F, DataTableCompactBar as H, isFilterActive as I, resolveFilterTypeDefinition as L, isValuelessOperator as M, reconcileValueForOperator as N, getOperatorsForType as O, FiltersContainer as P, TableControlsContext as R, FILTER_SIZE_TOKENS as S, emptyValueForRule as T, ControlBar as V, EMPTY_FILTER_STATE as _, encodeFilterStateToUrlParam as a, resolveValueControl as b, FilterBar_default as c, TableViewConfiguration as d, TableViewConfigurationDropdown as f, pruneToRegistry as g, isFilterStateV2 as h, decodeFilterStateFromUrl as i, isRangeOperator as j, isCompleteDateRange as k, resolveDateRangeRuleValue as l, hasCompleteValue as m, applyFilterStateToSearchParams as n, FieldRegistry as o, useFilterStateV2 as p, decodeFilterStateFromString as r, buildFieldRegistry as s, FILTER_STATE_URL_PARAM as t, TableControls as u, isEmptyState as v, NUMERIC_COMPARISON_OPERATORS as w, dateRuleIntent as x, PillShell as y, TableControlsProvider as z };
|
|
5002
5506
|
|
|
5003
|
-
//# sourceMappingURL=TableControls-
|
|
5507
|
+
//# sourceMappingURL=TableControls-n16XKO9S.mjs.map
|