@persona/design-system 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +1 -1
- package/dist/{Action-DL3kHI9Z.d.mts → Action-CcAyQpYN.d.mts} +3 -3
- package/dist/Action.d.mts +1 -1
- package/dist/AdvancedFilterRuleRow.d.mts +4 -4
- package/dist/AdvancedFilterRulesPopover.d.mts +3 -3
- package/dist/ArrayValueControl.d.mts +1 -1
- package/dist/Attribute.d.mts +3 -3
- package/dist/BooleanValueControl.d.mts +1 -1
- package/dist/BottomPanel.d.mts +32 -0
- package/dist/{Breadcrumb-Czgdi0xf.d.mts → Breadcrumb-Df06cTnA.d.mts} +1 -1
- package/dist/Breadcrumb.d.mts +1 -1
- package/dist/{Breadcrumbs-zei-cpdU.d.mts → Breadcrumbs-D_Gzd4_J.d.mts} +2 -2
- package/dist/{Breadcrumbs-ed4wRDS7.mjs → Breadcrumbs-Zi5p0HDR.mjs} +3 -3
- package/dist/{Breadcrumbs-ed4wRDS7.mjs.map → Breadcrumbs-Zi5p0HDR.mjs.map} +1 -1
- package/dist/Breadcrumbs.d.mts +1 -1
- package/dist/{Button-CKzNTpPL.d.mts → Button-BrI1s2-r.d.mts} +2 -2
- package/dist/Button.d.mts +1 -1
- package/dist/{Calendar-CcxN7y3e.d.mts → Calendar-DjnoZVcT.d.mts} +1 -1
- package/dist/Calendar.d.mts +1 -1
- package/dist/CalendarBase.d.mts +1 -1
- package/dist/{Card-pr4FQWjn.d.mts → Card-mZDNFaJy.d.mts} +3 -3
- package/dist/Card.d.mts +1 -1
- package/dist/{CardV2-D3m5EKlp.mjs → CardV2-CXxzl1EZ.mjs} +6 -6
- package/dist/{CardV2-D3m5EKlp.mjs.map → CardV2-CXxzl1EZ.mjs.map} +1 -1
- package/dist/{Checkbox-Bmm-r5ei.d.mts → Checkbox-CwPXPLCi.d.mts} +1 -1
- package/dist/{Checkbox-Ccuicmlo.mjs → Checkbox-DxNHp59y.mjs} +1 -1
- package/dist/{Checkbox-Ccuicmlo.mjs.map → Checkbox-DxNHp59y.mjs.map} +1 -1
- package/dist/Checkbox.d.mts +1 -1
- package/dist/CheckboxGroupField.d.mts +1 -1
- package/dist/ChoicesValueControl.d.mts +1 -1
- package/dist/{Combobox-BGRyr_-L.mjs → Combobox-BUtqtzKl.mjs} +5 -5
- package/dist/{Combobox-BGRyr_-L.mjs.map → Combobox-BUtqtzKl.mjs.map} +1 -1
- package/dist/{Combobox-Bf_Xe1BG.d.mts → Combobox-C9QBItsc.d.mts} +3 -3
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-CWzN8GML.d.mts → ComboboxBase-BkSpdmsT.d.mts} +6 -6
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-iSuvyOx2.d.mts → ComboboxMultiSelect-DkVfwSKH.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-DVRFKPi1.d.mts → ComboboxSingleSelect-CpumBcDn.d.mts} +4 -4
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/{CompactBar-C_61pgp7.d.mts → CompactBar-COxu_FDd.d.mts} +3 -3
- package/dist/CompactBar.d.mts +1 -1
- package/dist/{ConfigFormGroup-DGCTW3by.mjs → ConfigFormGroup-aSdn2r6Z.mjs} +1 -1
- package/dist/{ConfigFormGroup-DGCTW3by.mjs.map → ConfigFormGroup-aSdn2r6Z.mjs.map} +1 -1
- package/dist/{ControlBar-0XwbM4yC.d.mts → ControlBar-DwAhPcb5.d.mts} +12 -2
- package/dist/ControlBar.d.mts +1 -1
- package/dist/DataTable.d.mts +4 -3
- package/dist/{DateField-CKeSIhGy.d.mts → DateField-tOyrGcx1.d.mts} +2 -2
- package/dist/DateField.d.mts +1 -1
- package/dist/{DatePicker-B1iWrqR5.d.mts → DatePicker-Bs9JODNg.d.mts} +2 -2
- package/dist/{DatePicker-BNnZ6L1y.mjs → DatePicker-CLP-ajza.mjs} +71 -16
- package/dist/DatePicker-CLP-ajza.mjs.map +1 -0
- package/dist/DatePicker.d.mts +1 -1
- package/dist/{DateRangePicker-BmF9eH9R.d.mts → DateRangePicker-BT6-j8V7.d.mts} +24 -4
- package/dist/DateRangePicker.d.mts +2 -2
- package/dist/DateRangeValueControl.d.mts +8 -4
- package/dist/DateValueControl.d.mts +1 -1
- package/dist/{DropdownButton-BlVeFbJ0.mjs → DropdownButton-CCAfNZ9h.mjs} +2 -2
- package/dist/{DropdownButton-BlVeFbJ0.mjs.map → DropdownButton-CCAfNZ9h.mjs.map} +1 -1
- package/dist/DropdownButton.d.mts +2 -2
- package/dist/{DropdownMenu-DuTnq9j7.d.mts → DropdownMenu-BoatixlO.d.mts} +2 -2
- package/dist/{DropdownMenu-82xH1AZr.mjs → DropdownMenu-CUnf420M.mjs} +2 -2
- package/dist/{DropdownMenu-82xH1AZr.mjs.map → DropdownMenu-CUnf420M.mjs.map} +1 -1
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{ErrorProps-DX50vo-U.d.mts → ErrorProps-C9T857Wk.d.mts} +1 -1
- package/dist/ErrorProps.d.mts +1 -1
- package/dist/{FieldRegistry-D1vghSC_.d.mts → FieldRegistry-D6niLExM.d.mts} +2 -2
- package/dist/FieldRegistry.d.mts +1 -1
- package/dist/{FilterBar-Ck085Dic.d.mts → FilterBar-DfBV7yKM.d.mts} +10 -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/{FormControl-CfpwZGlD.d.mts → FormControl-0H0Jeind.d.mts} +2 -2
- package/dist/{FormControl-D1HIqDKm.mjs → FormControl-1BmoYFCu.mjs} +1 -1
- package/dist/{FormControl-D1HIqDKm.mjs.map → FormControl-1BmoYFCu.mjs.map} +1 -1
- package/dist/FormControl.d.mts +1 -1
- package/dist/FormControlLabel.d.mts +1 -1
- package/dist/{FormField-0p4y0sS5.d.mts → FormField-BcaFdmo5.d.mts} +2 -2
- package/dist/{FormField-CVnbsNvU.mjs → FormField-oBKH25qf.mjs} +11 -11
- package/dist/{FormField-CVnbsNvU.mjs.map → FormField-oBKH25qf.mjs.map} +1 -1
- package/dist/FormField.d.mts +1 -1
- package/dist/Grid.d.mts +38 -0
- package/dist/GridItem.d.mts +17 -0
- package/dist/{Header-gDUTQgWj.d.mts → Header-BjSoTEX_.d.mts} +1 -1
- package/dist/Header.d.mts +1 -1
- package/dist/{HelperTooltip-CqhiRb5g.d.mts → HelperTooltip-S20wVFCS.d.mts} +2 -2
- package/dist/HelperTooltip.d.mts +1 -1
- package/dist/{HoverCopyableField-HWshrU_1.mjs → HoverCopyableField-GMXeF-3J.mjs} +2 -2
- package/dist/{HoverCopyableField-HWshrU_1.mjs.map → HoverCopyableField-GMXeF-3J.mjs.map} +1 -1
- package/dist/{IconButton-CLsHdYm7.d.mts → IconButton-BpyOr8Ev.d.mts} +2 -2
- package/dist/IconButton.d.mts +1 -1
- package/dist/ImageTile.d.mts +1 -1
- package/dist/InlineCombobox.d.mts +1 -1
- package/dist/InlineInput.d.mts +1 -1
- package/dist/{Input-DoB8YswA.mjs → Input-BWlvBYB3.mjs} +1 -1
- package/dist/{Input-DoB8YswA.mjs.map → Input-BWlvBYB3.mjs.map} +1 -1
- package/dist/{Input-BHHWpSKN.d.mts → Input-qlQVD5h0.d.mts} +5 -5
- package/dist/Input.d.mts +1 -1
- package/dist/{InputProps-sHxlDiss.d.mts → InputProps-D_7MnQfE.d.mts} +2 -2
- package/dist/InputProps.d.mts +1 -1
- package/dist/IntegerValueControl.d.mts +1 -1
- package/dist/{ListBox-B9uuMt2R.mjs → ListBox-9jHHEaqW.mjs} +5 -5
- package/dist/{ListBox-B9uuMt2R.mjs.map → ListBox-9jHHEaqW.mjs.map} +1 -1
- package/dist/{ListBox-BrY1bQ5-.d.mts → ListBox-ZE3MYMt6.d.mts} +3 -3
- package/dist/ListBox.d.mts +1 -1
- package/dist/ListBoxField.d.mts +2 -2
- package/dist/{LoadingShimmer-dsBWRdTU.mjs → LoadingShimmer-a2Hv0kAq.mjs} +1 -1
- package/dist/{LoadingShimmer-dsBWRdTU.mjs.map → LoadingShimmer-a2Hv0kAq.mjs.map} +1 -1
- package/dist/LoadingShimmer.d.mts +1 -1
- package/dist/{LogicRow-9a_klV2v.d.mts → LogicRow-CbMmaWXU.d.mts} +3 -3
- package/dist/LogicRow.d.mts +1 -1
- package/dist/MaskedInput.d.mts +2 -2
- package/dist/{Menu-CHbUf9PQ.mjs → Menu-38UCGcte.mjs} +1 -1
- package/dist/{Menu-CHbUf9PQ.mjs.map → Menu-38UCGcte.mjs.map} +1 -1
- package/dist/{Menu-D4Y_J-QI.d.mts → Menu-ZShdhNd7.d.mts} +3 -3
- package/dist/Menu.d.mts +1 -1
- package/dist/Modal.d.mts +1 -1
- package/dist/{PageHeader-XxGsFLHb.mjs → PageHeader-B2-Slzhl.mjs} +2 -2
- package/dist/{PageHeader-XxGsFLHb.mjs.map → PageHeader-B2-Slzhl.mjs.map} +1 -1
- package/dist/PageHeader.d.mts +1 -1
- package/dist/{PageSelector-BDo3ge1E.d.mts → PageSelector-BcZx4nqe.d.mts} +3 -3
- package/dist/PageSelector.d.mts +1 -1
- package/dist/{Pagination-DvVKQLdC.mjs → Pagination-CtUz0gdA.mjs} +3 -3
- package/dist/{Pagination-DvVKQLdC.mjs.map → Pagination-CtUz0gdA.mjs.map} +1 -1
- package/dist/{Pagination-Dcmv7bVe.d.mts → Pagination-j4hF7GOk.d.mts} +2 -2
- package/dist/Pagination.d.mts +1 -1
- package/dist/{Pii-BD48BtZ0.mjs → Pii-RwKn-K84.mjs} +1 -1
- package/dist/{Pii-BD48BtZ0.mjs.map → Pii-RwKn-K84.mjs.map} +1 -1
- package/dist/PillShell.d.mts +1 -1
- package/dist/{Popover-DNH8Jx1-.mjs → Popover-DlXyKYL5.mjs} +1 -1
- package/dist/{Popover-DNH8Jx1-.mjs.map → Popover-DlXyKYL5.mjs.map} +1 -1
- package/dist/ProgressIndicator.d.mts +5 -3
- package/dist/{PseudoClassProps-DgT5G_z5.d.mts → PseudoClassProps-BPdn-ofQ.d.mts} +1 -1
- package/dist/PseudoClassProps.d.mts +1 -1
- package/dist/{Radio-DSMPX5_2.mjs → Radio-cLL9oatf.mjs} +1 -1
- package/dist/{Radio-DSMPX5_2.mjs.map → Radio-cLL9oatf.mjs.map} +1 -1
- package/dist/{RadioGroup-D5IITQLz.mjs → RadioGroup-BGo_kXKh.mjs} +2 -2
- package/dist/{RadioGroup-D5IITQLz.mjs.map → RadioGroup-BGo_kXKh.mjs.map} +1 -1
- package/dist/{RadioGroup-Jl1yAvGu.d.mts → RadioGroup-BqULCH-D.d.mts} +1 -1
- package/dist/RadioGroup.d.mts +1 -1
- package/dist/RangeCalendar.d.mts +5 -0
- package/dist/RangeCalendarPresets.d.mts +12 -2
- package/dist/ResizableVerticalPanel.d.mts +22 -0
- package/dist/ResizeHandle.d.mts +19 -0
- package/dist/RightPanel.d.mts +41 -0
- package/dist/RightPanelLoadingContent.d.mts +7 -0
- package/dist/RightPanelResizeHandle.d.mts +14 -0
- package/dist/RuleEditorFields.d.mts +4 -4
- package/dist/RulesPill.d.mts +1 -1
- package/dist/{SearchInput-CaKHRC_s.d.mts → SearchInput-Dc90GLTF.d.mts} +2 -2
- package/dist/SearchInput.d.mts +1 -1
- package/dist/SectionHeading.d.mts +1 -1
- package/dist/{SegmentedControl-JUgRw_M-.mjs → SegmentedControl-CvWJGhwy.mjs} +1 -1
- package/dist/{SegmentedControl-JUgRw_M-.mjs.map → SegmentedControl-CvWJGhwy.mjs.map} +1 -1
- package/dist/{SegmentedControl-e6xDtoHC.d.mts → SegmentedControl-Db78Pzo_.d.mts} +1 -1
- package/dist/SegmentedControl.d.mts +1 -1
- package/dist/{Select-DX3toj6M.mjs → Select-U_vQhK1A.mjs} +3 -4
- package/dist/Select-U_vQhK1A.mjs.map +1 -0
- package/dist/{Select-CPYztD4m.d.mts → Select-bafAe2wd.d.mts} +3 -3
- package/dist/Select.d.mts +1 -1
- package/dist/{Spinner-D3wXIoXN.mjs → Spinner-BTyc6glU.mjs} +1 -1
- package/dist/{Spinner-D3wXIoXN.mjs.map → Spinner-BTyc6glU.mjs.map} +1 -1
- package/dist/{Stack-DHaK1-dw.d.mts → Stack-_JcvIE31.d.mts} +1 -1
- package/dist/Stack.d.mts +1 -1
- package/dist/{Sticker-DnSemOcW.d.mts → Sticker-OKVOQt_C.d.mts} +4 -4
- package/dist/Sticker.d.mts +1 -1
- package/dist/StringValueControl.d.mts +1 -1
- package/dist/Tab.d.mts +1 -1
- package/dist/{TabBar-sYllYizt.mjs → TabBar-B5NtgtgC.mjs} +1 -1
- package/dist/{TabBar-sYllYizt.mjs.map → TabBar-B5NtgtgC.mjs.map} +1 -1
- package/dist/TabBarIconButton.d.mts +1 -1
- package/dist/{Table-CFbPINKr.d.mts → Table-BcAgCIWq.d.mts} +1 -1
- package/dist/{Table-C2pkP5Xg.mjs → Table-DfUD3I2s.mjs} +2 -2
- package/dist/{Table-C2pkP5Xg.mjs.map → Table-DfUD3I2s.mjs.map} +1 -1
- package/dist/Table.d.mts +1 -1
- package/dist/{TableBody-BQsGc4Lw.d.mts → TableBody-D-RDBun9.d.mts} +1 -1
- package/dist/TableBody.d.mts +1 -1
- package/dist/{TableBox-CaTHcR4F.mjs → TableBox-0GvWjRln.mjs} +18 -12
- package/dist/{TableBox-CaTHcR4F.mjs.map → TableBox-0GvWjRln.mjs.map} +1 -1
- package/dist/TableBox.d.mts +2 -2
- package/dist/{TableBoxCell-52g97gEg.d.mts → TableBoxCell-WXc57DwN.d.mts} +10 -7
- package/dist/TableBoxCell.d.mts +1 -1
- package/dist/TableBoxField.d.mts +3 -3
- package/dist/{TableBoxRow-DnoumHIE.d.mts → TableBoxRow-BQz0a9vr.d.mts} +3 -3
- package/dist/TableBoxRow.d.mts +1 -1
- package/dist/{TableBoxRowActions-CDcREhP4.d.mts → TableBoxRowActions-DfewtLrn.d.mts} +2 -2
- package/dist/TableBoxRowActions.d.mts +1 -1
- package/dist/TableCell.d.mts +1 -1
- package/dist/{TableControls-CrGGlkEG.d.mts → TableControls-C26vGkWZ.d.mts} +4 -3
- package/dist/{TableControls-3bXyd8gS.mjs → TableControls-WUNbzSNq.mjs} +238 -45
- package/dist/TableControls-WUNbzSNq.mjs.map +1 -0
- package/dist/TableControls.d.mts +1 -1
- package/dist/{TableControlsContext-BKZt2Jid.d.mts → TableControlsContext-ChFsFEjR.d.mts} +2 -2
- package/dist/TableControlsContext.d.mts +1 -1
- package/dist/{TableHead-CqVIJfjh.d.mts → TableHead-PPaqXC0K.d.mts} +1 -1
- package/dist/TableHead.d.mts +1 -1
- package/dist/{TableHeaderCell-DK4R8vdK.d.mts → TableHeaderCell-K_avn-rR.d.mts} +1 -1
- package/dist/TableHeaderCell.d.mts +1 -1
- package/dist/{TableLayout-BcIazRB-.d.mts → TableLayout-_Hd-Tvto.d.mts} +1 -1
- package/dist/TableLayout.d.mts +1 -1
- package/dist/{TableRow-DdJcjG2b.d.mts → TableRow-BTWf9xVC.d.mts} +2 -2
- package/dist/TableRow.d.mts +1 -1
- package/dist/TableTH.d.mts +1 -1
- package/dist/{TableViewConfigurationDropdown-CHBOjw7O.d.mts → TableViewConfigurationDropdown-BqB7pOh8.d.mts} +2 -2
- package/dist/TableViewConfigurationDropdown.d.mts +1 -1
- package/dist/{TechnicalSticker-D3eeGMDR.mjs → TechnicalSticker-ClRR_6Ly.mjs} +1 -1
- package/dist/{TechnicalSticker-D3eeGMDR.mjs.map → TechnicalSticker-ClRR_6Ly.mjs.map} +1 -1
- package/dist/{Text-BIgrwIdS.d.mts → Text-CAKHcXSd.d.mts} +3 -3
- package/dist/Text.d.mts +1 -1
- package/dist/{TextArea-CiLttt0s.d.mts → TextArea-NjdArapc.d.mts} +2 -2
- package/dist/{TextArea-DWXuV2aZ.mjs → TextArea-n4IKHJKo.mjs} +1 -1
- package/dist/{TextArea-DWXuV2aZ.mjs.map → TextArea-n4IKHJKo.mjs.map} +1 -1
- package/dist/TextArea.d.mts +1 -1
- package/dist/{TextUnderlineTooltip-_7mIrZ2-.d.mts → TextUnderlineTooltip-Duzxfc_r.d.mts} +2 -2
- package/dist/TextUnderlineTooltip.d.mts +1 -1
- package/dist/Tile.d.mts +1 -1
- package/dist/Toast.d.mts +1 -1
- package/dist/{Toggle-Cav7bMxg.d.mts → Toggle-fh80PA8P.d.mts} +1 -1
- package/dist/Toggle.d.mts +1 -1
- package/dist/{Tooltip-DX-N-szt.d.mts → Tooltip-DabloV0o.d.mts} +2 -2
- package/dist/Tooltip.d.mts +1 -1
- package/dist/{TruncatedText-D2R7uy_y.d.mts → TruncatedText-B1W4BivL.d.mts} +1 -1
- package/dist/codec-B0dZTwlG.d.mts +29 -0
- package/dist/codec.d.mts +2 -0
- package/dist/components/BottomPanel/index.d.mts +2 -0
- package/dist/components/BottomPanel/index.mjs +293 -0
- package/dist/components/BottomPanel/index.mjs.map +1 -0
- 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/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/Combobox/index.d.mts +2 -2
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/ConfigFormGroup/index.mjs +1 -1
- package/dist/components/DataTable/TableControls/index.d.mts +19 -16
- package/dist/components/DataTable/TableControls/index.mjs +2 -2
- package/dist/components/DataTable/index.mjs +7 -7
- package/dist/components/DataTable/types.d.mts +2 -2
- 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/FormControl/index.d.mts +2 -2
- package/dist/components/FormControl/index.mjs +1 -1
- package/dist/components/FormField/index.d.mts +1 -1
- package/dist/components/FormField/index.mjs +1 -1
- package/dist/components/Grid/index.d.mts +3 -0
- package/dist/components/Grid/index.mjs +85 -0
- package/dist/components/Grid/index.mjs.map +1 -0
- package/dist/components/HoverCopyableField/index.mjs +1 -1
- package/dist/components/ImageTile/index.mjs +3 -3
- package/dist/components/Input/index.d.mts +1 -1
- package/dist/components/Input/index.mjs +1 -1
- package/dist/components/ListBox/index.d.mts +3 -3
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/LoadingShimmer/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.mjs +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/ProgressIndicator/index.mjs +12 -8
- package/dist/components/ProgressIndicator/index.mjs.map +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.d.mts +2 -0
- package/dist/components/RightPanel/index.mjs +294 -0
- package/dist/components/RightPanel/index.mjs.map +1 -0
- 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/Spinner/index.mjs +1 -1
- package/dist/components/Stack/index.d.mts +1 -1
- package/dist/components/Sticker/index.d.mts +1 -1
- package/dist/components/TabBar/index.mjs +1 -1
- package/dist/components/Table/index.d.mts +7 -7
- 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/Toggle/index.d.mts +1 -1
- package/dist/components/Tooltip/index.d.mts +3 -3
- package/dist/compound-expression.d.mts +1 -1
- package/dist/{constants-bA9kCzRQ.d.mts → constants-DcJ3tnwY.d.mts} +1 -1
- package/dist/constants.d.mts +1 -1
- package/dist/date-filter-BbWgAXy3.mjs +176 -0
- package/dist/date-filter-BbWgAXy3.mjs.map +1 -0
- package/dist/date-range-rule-value-DBEEWTQp.d.mts +17 -0
- package/dist/date-range-rule-value.d.mts +2 -0
- package/dist/date-rule-intent-BArNGT2E.d.mts +20 -0
- package/dist/date-rule-intent.d.mts +2 -0
- package/dist/display.d.mts +2 -2
- package/dist/fieldPickerOptions.d.mts +2 -2
- package/dist/{filter-size-context-C7injfBh.d.mts → filter-size-context-D1UhTwOG.d.mts} +2 -2
- package/dist/filter-size-context.d.mts +1 -1
- package/dist/helpers.d.mts +1 -1
- package/dist/{index-BPfK-u7y.d.mts → index-DASkW991.d.mts} +2 -2
- package/dist/{index-d_fTFuMM.d.mts → index-Dc_BgmPv.d.mts} +3 -3
- package/dist/{index-BxBsQi2S.d.mts → index-Dpo-RP6S.d.mts} +3 -3
- package/dist/index-e6k85DKM.d.mts +1 -0
- package/dist/index-uY8Qbwfx.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 +14 -11
- package/dist/{input-D9FuQmlI.d.mts → input-M7BEIewR.d.mts} +3 -3
- package/dist/inputFields.d.mts +10 -10
- package/dist/{intersperse-CLkblj9A.mjs → intersperse-DQAyfeEw.mjs} +1 -1
- package/dist/{intersperse-CLkblj9A.mjs.map → intersperse-DQAyfeEw.mjs.map} +1 -1
- package/dist/lib/PDSProvider.d.mts +1 -1
- package/dist/lib/TruncatedText.d.mts +1 -1
- package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
- package/dist/lib/date-filter/index.d.mts +3 -0
- package/dist/lib/date-filter/index.mjs +2 -0
- package/dist/lib/message.d.mts +1 -1
- package/dist/lib/pseudoClass.d.mts +1 -1
- package/dist/lib/useResizablePanel.d.mts +49 -0
- package/dist/lib/useResizablePanel.mjs +75 -0
- package/dist/lib/useResizablePanel.mjs.map +1 -0
- package/dist/{message-CqKB5mko.d.mts → message-DaiDXonE.d.mts} +1 -1
- package/dist/mixins/focus.d.mts +1 -1
- package/dist/mixins/hoverable.d.mts +2 -2
- package/dist/mixins/input.d.mts +1 -1
- package/dist/mixins/menuItem.d.mts +2 -2
- package/dist/mixins/text.d.mts +1 -1
- package/dist/{operators-CgcsYzfy.d.mts → operators-BsSl7gPE.d.mts} +10 -3
- package/dist/operators.d.mts +2 -2
- package/dist/patterns/LayoutLoadingShimmer/index.mjs +4 -4
- package/dist/relative-date-label.d.mts +15 -0
- package/dist/{text-xwtyWIbE.d.mts → text-DjTGRUM1.d.mts} +1 -1
- package/dist/{theme-Ftogn9Wo.d.mts → theme-Biwx2eJZ.d.mts} +1 -1
- package/dist/theme.d.mts +1 -1
- package/dist/{types-BrNreYUU.d.mts → types-B5VmRRMR.d.mts} +5 -3
- package/dist/types-Bsf1VsW6.d.mts +24 -0
- package/dist/{types-DVsBRqjZ.d.mts → types-Cg3aXHUh2.d.mts} +1 -1
- package/dist/{types-0_9G0kWg.d.mts → types-Df0D37uh.d.mts} +1 -1
- package/dist/{types-D55MZSyx.d.mts → types-V8UJX-rk.d.mts} +14 -2
- package/dist/types.d.mts +1 -1
- package/dist/types2.d.mts +2 -2
- package/dist/types3.d.mts +2 -2
- package/dist/types4.d.mts +2 -2
- package/dist/types5.d.mts +2 -0
- package/dist/url-state-ektb0HnB.d.mts +42 -0
- package/dist/url-state.d.mts +2 -0
- package/dist/useComboboxFooterAction.d.mts +1 -1
- package/dist/{useFilterStateV2-D8Q8QKhS.d.mts → useFilterStateV2-BB14vCC-.d.mts} +3 -3
- package/dist/useFilterStateV2.d.mts +1 -1
- package/dist/{useFormField-BBbq1izo.d.mts → useFormField-CQo08dR4.d.mts} +2 -2
- package/dist/useFormField.d.mts +1 -1
- package/dist/{useTableBoxDragAndDrop-Bye8gJTl.d.mts → useTableBoxDragAndDrop-B-Dev5D6.d.mts} +1 -1
- package/dist/useTableBoxDragAndDrop.d.mts +1 -1
- package/dist/useTruncation.d.mts +1 -1
- package/dist/{utilities-Bmwk_DRn.d.mts → utilities-BHMNnJ8h.d.mts} +1 -1
- package/dist/utilities.d.mts +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/{validation-CAtTuHO9.d.mts → validation-B22QjCrV.d.mts} +3 -3
- package/dist/validation.d.mts +1 -1
- package/dist/{value-control-resolver-DadI8r9a.d.mts → value-control-resolver-qKTH1ErF.d.mts} +5 -3
- package/dist/value-control-resolver.d.mts +1 -1
- package/llms.txt +3 -3
- package/package.json +11 -1
- package/skills/ui-authoring/COMPONENTS.md +2 -0
- package/skills/ui-authoring/PATTERNS.md +3 -1
- package/skills/ui-authoring/SKILL.md +2 -2
- package/dist/DatePicker-BNnZ6L1y.mjs.map +0 -1
- package/dist/Select-DX3toj6M.mjs.map +0 -1
- package/dist/TableControls-3bXyd8gS.mjs.map +0 -1
- /package/dist/{index-0-W_aPej.d.mts → index-7rWKHdox.d.mts} +0 -0
- /package/dist/{index-7in8TPrM.d.mts → index-8SLBz2NH.d.mts} +0 -0
- /package/dist/{index-BNRXMhlr.d.mts → index-B_BBnMou.d.mts} +0 -0
- /package/dist/{index-BO_854F2.d.mts → index-BcsXXrHq.d.mts} +0 -0
- /package/dist/{index-BSVhZrWN.d.mts → index-Bt4QNofW.d.mts} +0 -0
- /package/dist/{index-BrGZHEgX.d.mts → index-BwFl_eS0.d.mts} +0 -0
- /package/dist/{index-BwAfCVZH2.d.mts → index-CMuRFTR3.d.mts} +0 -0
- /package/dist/{index-CCt0lwyI.d.mts → index-CRo77wc3.d.mts} +0 -0
- /package/dist/{index-CFhUdAHM.d.mts → index-CX869wwk.d.mts} +0 -0
- /package/dist/{index-CREkvfw9.d.mts → index-CliqZ9rj.d.mts} +0 -0
- /package/dist/{index-CROz1VSV.d.mts → index-CuheJfs-.d.mts} +0 -0
- /package/dist/{index-CsuikFeJ.d.mts → index-D4DUvwPf.d.mts} +0 -0
- /package/dist/{index-CzUpNo0e.d.mts → index-DBGd4WeR.d.mts} +0 -0
- /package/dist/{index-DA6_cwf8.d.mts → index-DDdPqD_H.d.mts} +0 -0
- /package/dist/{index-DM6vVDZD.d.mts → index-DMRtRo7y.d.mts} +0 -0
- /package/dist/{index-DeVKzGce.d.mts → index-Dflz2i1X.d.mts} +0 -0
- /package/dist/{index-Jh0C5PIG.d.mts → index-DvmLVvRD.d.mts} +0 -0
- /package/dist/{index-Oio5ygqN.d.mts → index-DztUdPP_.d.mts} +0 -0
- /package/dist/{index-PWQavSPf.d.mts → index-Wc1llEvP.d.mts} +0 -0
- /package/dist/{index-sViox9YW.d.mts → index-dhjtMp5F.d.mts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { o as ComboboxOptionsOrGroups } from "./ComboboxBase-
|
|
2
|
-
import { a as TableCellProps, i as TableCell } from "./index-
|
|
3
|
-
import { r as TableBoxRowProps } from "./TableBoxRow-
|
|
4
|
-
import { n as ReorderConfig, t as DragDirection } from "./useTableBoxDragAndDrop-
|
|
5
|
-
import { t as RowAction } from "./TableBoxRowActions-
|
|
1
|
+
import { o as ComboboxOptionsOrGroups } from "./ComboboxBase-BkSpdmsT.mjs";
|
|
2
|
+
import { a as TableCellProps, i as TableCell } from "./index-Dc_BgmPv.mjs";
|
|
3
|
+
import { r as TableBoxRowProps } from "./TableBoxRow-BQz0a9vr.mjs";
|
|
4
|
+
import { n as ReorderConfig, t as DragDirection } from "./useTableBoxDragAndDrop-B-Dev5D6.mjs";
|
|
5
|
+
import { t as RowAction } from "./TableBoxRowActions-DfewtLrn.mjs";
|
|
6
6
|
import * as _$react from "react";
|
|
7
7
|
import { ComponentPropsWithoutRef, PropsWithChildren } from "react";
|
|
8
8
|
import * as _$styled_components0 from "styled-components";
|
|
@@ -11,6 +11,7 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
11
11
|
//#region components/TableBox/TableBox.d.ts
|
|
12
12
|
interface InlineEditConfig {
|
|
13
13
|
type: 'text' | 'combobox';
|
|
14
|
+
readOnly?: boolean;
|
|
14
15
|
options?: ComboboxOptionsOrGroups;
|
|
15
16
|
/**
|
|
16
17
|
* Whether to render the combobox dropdown in a portal (breaks out of overflow containers)
|
|
@@ -41,6 +42,7 @@ interface TableBoxContextValue {
|
|
|
41
42
|
columns: Array<{
|
|
42
43
|
key: string;
|
|
43
44
|
title: string;
|
|
45
|
+
tooltip?: string;
|
|
44
46
|
inlineEditConfig?: InlineEditConfig;
|
|
45
47
|
}>;
|
|
46
48
|
selectedKey: string | null;
|
|
@@ -113,7 +115,8 @@ interface TableBoxProps<T extends object = object> {
|
|
|
113
115
|
/** Column definitions for the table headers. */
|
|
114
116
|
columns: Array<{
|
|
115
117
|
key: string;
|
|
116
|
-
title: string; /**
|
|
118
|
+
title: string; /** Explanatory tooltip shown on hover of a dashed-underlined header title */
|
|
119
|
+
tooltip?: string; /** Inline edit configuration for this column */
|
|
117
120
|
inlineEditConfig?: InlineEditConfig;
|
|
118
121
|
}>;
|
|
119
122
|
/** ID of the newly created row that should be focused */
|
|
@@ -270,4 +273,4 @@ declare const TableBoxCell: ({
|
|
|
270
273
|
}: TableBoxCellProps) => _$react_jsx_runtime0.JSX.Element;
|
|
271
274
|
//#endregion
|
|
272
275
|
export { TableBox as a, PinnedActionsCell as i, TableBoxCellProps as n, TableBoxContext as o, InlineEditConfig as r, TableBoxProps as s, TableBoxCell as t };
|
|
273
|
-
//# sourceMappingURL=TableBoxCell-
|
|
276
|
+
//# sourceMappingURL=TableBoxCell-WXc57DwN.d.mts.map
|
package/dist/TableBoxCell.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TableBoxCellProps, t as TableBoxCell } from "./TableBoxCell-
|
|
1
|
+
import { n as TableBoxCellProps, t as TableBoxCell } from "./TableBoxCell-WXc57DwN.mjs";
|
|
2
2
|
export { TableBoxCellProps, TableBoxCell as default };
|
package/dist/TableBoxField.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-ZShdhNd7.mjs";
|
|
2
2
|
import { ImplementsFormField } from "./inputFields.mjs";
|
|
3
|
-
import { r as TableBoxRowProps } from "./TableBoxRow-
|
|
4
|
-
import { n as TableBoxCellProps, s as TableBoxProps } from "./TableBoxCell-
|
|
3
|
+
import { r as TableBoxRowProps } from "./TableBoxRow-BQz0a9vr.mjs";
|
|
4
|
+
import { n as TableBoxCellProps, s as TableBoxProps } from "./TableBoxCell-WXc57DwN.mjs";
|
|
5
5
|
import { MouseEvent, ReactNode } from "react";
|
|
6
6
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
2
|
-
import { t as TableRow } from "./TableRow-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-ZShdhNd7.mjs";
|
|
2
|
+
import { t as TableRow } from "./TableRow-BTWf9xVC.mjs";
|
|
3
3
|
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
4
4
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
@@ -83,4 +83,4 @@ declare const TableBoxRowOverlay: ({
|
|
|
83
83
|
}) => _$react_jsx_runtime0.JSX.Element;
|
|
84
84
|
//#endregion
|
|
85
85
|
export { TableBoxRowOverlay as n, TableBoxRowProps as r, TableBoxRow as t };
|
|
86
|
-
//# sourceMappingURL=TableBoxRow-
|
|
86
|
+
//# sourceMappingURL=TableBoxRow-BQz0a9vr.d.mts.map
|
package/dist/TableBoxRow.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TableBoxRowOverlay, r as TableBoxRowProps, t as TableBoxRow } from "./TableBoxRow-
|
|
1
|
+
import { n as TableBoxRowOverlay, r as TableBoxRowProps, t as TableBoxRow } from "./TableBoxRow-BQz0a9vr.mjs";
|
|
2
2
|
export { TableBoxRowOverlay, TableBoxRowProps, TableBoxRow as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-ZShdhNd7.mjs";
|
|
2
2
|
import * as _$styled_components0 from "styled-components";
|
|
3
3
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
@@ -54,4 +54,4 @@ declare const RowActions: ({
|
|
|
54
54
|
}: RowActionsProps) => _$react_jsx_runtime0.JSX.Element | null;
|
|
55
55
|
//#endregion
|
|
56
56
|
export { RowActionsContainerWithFadeWidth as i, RowActions as n, RowActionsContainer as r, RowAction as t };
|
|
57
|
-
//# sourceMappingURL=TableBoxRowActions-
|
|
57
|
+
//# sourceMappingURL=TableBoxRowActions-DfewtLrn.d.mts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as RowActionsContainerWithFadeWidth, n as RowActions, r as RowActionsContainer, t as RowAction } from "./TableBoxRowActions-
|
|
1
|
+
import { i as RowActionsContainerWithFadeWidth, n as RowActions, r as RowActionsContainer, t as RowAction } from "./TableBoxRowActions-DfewtLrn.mjs";
|
|
2
2
|
export { RowAction, RowActions, RowActionsContainer, RowActionsContainerWithFadeWidth };
|
package/dist/TableCell.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TableCellProps, c as TableTD, i as TableCell, l as TableTR, n as StickyTH, o as TableCellTitle, r as TableActionTD, s as TableIconTD, t as StickyTD } from "./index-
|
|
1
|
+
import { a as TableCellProps, c as TableTD, i as TableCell, l as TableTR, n as StickyTH, o as TableCellTitle, r as TableActionTD, s as TableIconTD, t as StickyTD } from "./index-Dc_BgmPv.mjs";
|
|
2
2
|
export { StickyTD, StickyTH, TableActionTD, TableCellProps, TableCellTitle, TableIconTD, TableTD, TableTR, TableCell as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as ControlBarProps } from "./ControlBar-
|
|
2
|
-
import { i as TableViewConfigurationProps } from "./TableViewConfigurationDropdown-
|
|
1
|
+
import { n as ControlBarProps } from "./ControlBar-DwAhPcb5.mjs";
|
|
2
|
+
import { i as TableViewConfigurationProps } from "./TableViewConfigurationDropdown-BqB7pOh8.mjs";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
@@ -49,6 +49,7 @@ declare const TableControls: ({
|
|
|
49
49
|
onDuplicateView,
|
|
50
50
|
onDeleteView,
|
|
51
51
|
onSaveView,
|
|
52
|
+
onSetDefaultView,
|
|
52
53
|
isViewDirty,
|
|
53
54
|
selectedRows,
|
|
54
55
|
bulkActions,
|
|
@@ -63,4 +64,4 @@ declare const TableControls: ({
|
|
|
63
64
|
}: TableControlsProps) => _$react_jsx_runtime0.JSX.Element;
|
|
64
65
|
//#endregion
|
|
65
66
|
export { TableControlsProps as n, TableControls as t };
|
|
66
|
-
//# sourceMappingURL=TableControls-
|
|
67
|
+
//# sourceMappingURL=TableControls-C26vGkWZ.d.mts.map
|
|
@@ -12,21 +12,22 @@ import { Z_INDICES } from "./lib/zindex.mjs";
|
|
|
12
12
|
import { focusOutline, focusWithinOutline } from "./mixins/focus.mjs";
|
|
13
13
|
import { n as Stack, t as HStack } from "./Stack-Bre2oiov.mjs";
|
|
14
14
|
import { n as Button, t as IconButton } from "./IconButton-BgL3QUVO.mjs";
|
|
15
|
-
import { r as
|
|
15
|
+
import { i as TabBar, n as StyledTab, r as Tab } from "./TabBar-B5NtgtgC.mjs";
|
|
16
|
+
import { r as InputGroup } from "./Input-BWlvBYB3.mjs";
|
|
16
17
|
import Input_default from "./components/Input/index.mjs";
|
|
17
|
-
import { c as MenuList, s as MenuItem } from "./Menu-
|
|
18
|
-
import { n as DropdownMenu_default } from "./DropdownMenu-
|
|
19
|
-
import { t as Combobox } from "./Combobox-
|
|
20
|
-
import { s as Popover_default } from "./Popover-
|
|
21
|
-
import { i as TabBar, n as StyledTab, r as Tab } from "./TabBar-sYllYizt.mjs";
|
|
18
|
+
import { c as MenuList, s as MenuItem } from "./Menu-38UCGcte.mjs";
|
|
19
|
+
import { n as DropdownMenu_default } from "./DropdownMenu-CUnf420M.mjs";
|
|
20
|
+
import { t as Combobox } from "./Combobox-BUtqtzKl.mjs";
|
|
21
|
+
import { s as Popover_default } from "./Popover-DlXyKYL5.mjs";
|
|
22
22
|
import { t as Toggle } from "./Toggle-e8DCYa6i.mjs";
|
|
23
|
-
import { t as
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
23
|
+
import { i as selectedPresetFor, n as parseDateFilterValue, r as resolveDateFilterValue, t as formatDateFilterValue } from "./date-filter-BbWgAXy3.mjs";
|
|
24
|
+
import { t as ListBox } from "./ListBox-9jHHEaqW.mjs";
|
|
25
|
+
import { m as FormField, o as ComboboxField } from "./FormField-oBKH25qf.mjs";
|
|
26
|
+
import { n as DatePicker, t as DateRangePicker } from "./DatePicker-CLP-ajza.mjs";
|
|
26
27
|
import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
|
|
27
28
|
import { Fragment, createContext, createElement, forwardRef, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
28
29
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
29
|
-
import { CaretDownIcon, CheckIcon, CircleInfoIcon, CirclePlusIcon, CopyIcon, FilterIcon, MoreIcon, PlusIcon, RotateCcwIcon, SaveIcon, SearchIcon, SettingsIcon, TrashIcon, XIcon } from "@persona/icons";
|
|
30
|
+
import { CaretDownIcon, CheckIcon, CircleInfoIcon, CirclePlusIcon, CopyIcon, FilterIcon, MoreIcon, PlusIcon, RotateCcwIcon, SaveIcon, SearchIcon, SettingsIcon, StarIcon, TrashIcon, XIcon } from "@persona/icons";
|
|
30
31
|
import { CaretDownIcon as CaretDownIcon$1, CircleInfoIcon as CircleInfoIcon$1, LockedIcon as LockedIcon$1, MoreIcon as MoreIcon$1, PlusIcon as PlusIcon$1, SearchIcon as SearchIcon$1, XIcon as XIcon$1 } from "@persona/icons/12px";
|
|
31
32
|
import { debounce, isEqual, noop, partition, startCase, union, uniqueId } from "lodash-es";
|
|
32
33
|
import { useId } from "react-aria";
|
|
@@ -327,7 +328,7 @@ const TabOverflowContainer = styled.div`
|
|
|
327
328
|
position: absolute;
|
|
328
329
|
height: 32px;
|
|
329
330
|
`;
|
|
330
|
-
const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditViews, handleNameChange, onDuplicateView, onDeleteView, onSelectView, onResetCurrentView, onSaveView, isViewDirty, showTabContextMenu, setShowTabContextMenu, className, ...rest }) => {
|
|
331
|
+
const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditViews, handleNameChange, onDuplicateView, onDeleteView, onSelectView, onResetCurrentView, onSaveView, onSetDefaultView, isViewDirty, showTabContextMenu, setShowTabContextMenu, className, ...rest }) => {
|
|
331
332
|
const inputRef = useRef(null);
|
|
332
333
|
const tab = /* @__PURE__ */ jsx(StyledTab, {
|
|
333
334
|
id: `${tabIdPrefix}${view.id}`,
|
|
@@ -398,6 +399,17 @@ const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditView
|
|
|
398
399
|
onKeyDown: enterProxiesClick,
|
|
399
400
|
children: "Save"
|
|
400
401
|
}),
|
|
402
|
+
onSetDefaultView && /* @__PURE__ */ jsx(MenuItem, {
|
|
403
|
+
id: "table-controls__view__menu-set-default",
|
|
404
|
+
prefixIcon: /* @__PURE__ */ jsx(StarIcon, {}),
|
|
405
|
+
disabled: view.isDefault,
|
|
406
|
+
onClick: async () => {
|
|
407
|
+
await onSetDefaultView(view.id);
|
|
408
|
+
setShowTabContextMenu(false);
|
|
409
|
+
},
|
|
410
|
+
onKeyDown: enterProxiesClick,
|
|
411
|
+
children: view.isDefault ? "Already the default" : "Set as default"
|
|
412
|
+
}),
|
|
401
413
|
onDeleteView && /* @__PURE__ */ jsx(MenuItem, {
|
|
402
414
|
id: "table-controls__view__menu-delete",
|
|
403
415
|
prefixIcon: /* @__PURE__ */ jsx(TrashIcon, {}),
|
|
@@ -510,7 +522,7 @@ const ProductTourStyles = createGlobalStyle`
|
|
|
510
522
|
}
|
|
511
523
|
}
|
|
512
524
|
`;
|
|
513
|
-
const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView, onDuplicateView, onDeleteView, onViewNameChange, onSaveView, isViewDirty, canEditViews, showFilters, setShowFilters, searchProps, filtersId, propertiesButton, tableActions, isLoading, showViews, selectedRows = [], bulkActions, onResetCurrentView, onClearSelection, title, "data-tour-target": dataTourTarget, compact, onError, filterPanel }) => {
|
|
525
|
+
const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView, onDuplicateView, onDeleteView, onViewNameChange, onSaveView, onSetDefaultView, isViewDirty, canEditViews, showFilters, setShowFilters, searchProps, filtersId, propertiesButton, tableActions, isLoading, showViews, selectedRows = [], bulkActions, onResetCurrentView, onClearSelection, title, "data-tour-target": dataTourTarget, compact, onError, filterPanel }) => {
|
|
514
526
|
const tabListRef = useRef(null);
|
|
515
527
|
const tabOverflowRef = useRef(null);
|
|
516
528
|
const [hiddenViews, setHiddenViews] = useState([]);
|
|
@@ -672,6 +684,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
|
|
|
672
684
|
onSelectView,
|
|
673
685
|
onResetCurrentView,
|
|
674
686
|
onSaveView,
|
|
687
|
+
onSetDefaultView,
|
|
675
688
|
isViewDirty: isViewDirty ?? false,
|
|
676
689
|
selected: view.id === currentView,
|
|
677
690
|
showTabContextMenu: showTabContextMenu && !currentViewHidden,
|
|
@@ -699,6 +712,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
|
|
|
699
712
|
onDeleteView,
|
|
700
713
|
onResetCurrentView,
|
|
701
714
|
onSaveView,
|
|
715
|
+
onSetDefaultView,
|
|
702
716
|
isViewDirty: isViewDirty ?? false,
|
|
703
717
|
showTabContextMenu: showTabContextMenu && currentViewHidden,
|
|
704
718
|
setShowTabContextMenu,
|
|
@@ -739,7 +753,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
|
|
|
739
753
|
};
|
|
740
754
|
//#endregion
|
|
741
755
|
//#region components/DataTable/TableControls/TableControls.tsx
|
|
742
|
-
const TableControls = ({ filterPanel, searchProps, defaultShowFilters, showFilters: controlledShowFilters, setShowFilters: controlledSetShowFilters, className, tableActions, propertiesButton, isLoading, showViews, canEditViews, onSelectView, views, currentView, onAddView, onViewNameChange, onDuplicateView, onDeleteView, onSaveView, isViewDirty, selectedRows, bulkActions, onClearSelection, title, presetViews, compact, columnConfigurationProps, showFiltersAlways = false, onError, "data-tour-target": dataTourTarget }) => {
|
|
756
|
+
const TableControls = ({ filterPanel, searchProps, defaultShowFilters, showFilters: controlledShowFilters, setShowFilters: controlledSetShowFilters, className, tableActions, propertiesButton, isLoading, showViews, canEditViews, onSelectView, views, currentView, onAddView, onViewNameChange, onDuplicateView, onDeleteView, onSaveView, onSetDefaultView, isViewDirty, selectedRows, bulkActions, onClearSelection, title, presetViews, compact, columnConfigurationProps, showFiltersAlways = false, onError, "data-tour-target": dataTourTarget }) => {
|
|
743
757
|
const filtersId = useId();
|
|
744
758
|
const [internalShowFilters, internalSetShowFilters] = useState(defaultShowFilters ?? false);
|
|
745
759
|
const showFilters = controlledShowFilters != null ? controlledShowFilters : internalShowFilters;
|
|
@@ -767,6 +781,7 @@ const TableControls = ({ filterPanel, searchProps, defaultShowFilters, showFilte
|
|
|
767
781
|
onDuplicateView: compact ? void 0 : onDuplicateView,
|
|
768
782
|
onViewNameChange: compact ? void 0 : onViewNameChange,
|
|
769
783
|
onSaveView: compact ? void 0 : onSaveView,
|
|
784
|
+
onSetDefaultView: compact ? void 0 : onSetDefaultView,
|
|
770
785
|
isViewDirty,
|
|
771
786
|
canEditViews: compact ? false : canEditViews,
|
|
772
787
|
showFilters,
|
|
@@ -1127,6 +1142,20 @@ function TableControlsProvider({ children, ...value }) {
|
|
|
1127
1142
|
return createElement(TableControlsContext.Provider, { value }, children);
|
|
1128
1143
|
}
|
|
1129
1144
|
//#endregion
|
|
1145
|
+
//#region components/DataTable/TableControls/FiltersV2/date-rule-intent.ts
|
|
1146
|
+
function dateRuleIntent(change, writesEnabled) {
|
|
1147
|
+
if (change.source === "clear") return { kind: "clear" };
|
|
1148
|
+
if (change.source === "calendar" || !writesEnabled) return change.range == null ? { kind: "clear" } : {
|
|
1149
|
+
kind: "absolute",
|
|
1150
|
+
range: change.range
|
|
1151
|
+
};
|
|
1152
|
+
return {
|
|
1153
|
+
kind: "relative",
|
|
1154
|
+
preset: change.preset,
|
|
1155
|
+
range: change.range
|
|
1156
|
+
};
|
|
1157
|
+
}
|
|
1158
|
+
//#endregion
|
|
1130
1159
|
//#region components/DataTable/TableControls/FiltersV2/operators.ts
|
|
1131
1160
|
/**
|
|
1132
1161
|
* Operator vocabulary per field type. The UI uses this to populate the
|
|
@@ -1233,6 +1262,15 @@ function getDefaultOperatorForType(type) {
|
|
|
1233
1262
|
function isValuelessOperator(operator) {
|
|
1234
1263
|
return VALUELESS_OPERATORS.has(operator);
|
|
1235
1264
|
}
|
|
1265
|
+
/**
|
|
1266
|
+
* Whether a rule's value is a date range: a range operator, or a field that is
|
|
1267
|
+
* one by type. Relative metadata only describes a range, so resolving or
|
|
1268
|
+
* labelling it on a scalar rule would put a `{ startDate, endDate }` object
|
|
1269
|
+
* where the wire expects a day string.
|
|
1270
|
+
*/
|
|
1271
|
+
function carriesDateRange(operator, fieldType) {
|
|
1272
|
+
return isRangeOperator(operator) || fieldType === "date_range";
|
|
1273
|
+
}
|
|
1236
1274
|
function isRangeOperator(operator) {
|
|
1237
1275
|
return RANGE_OPERATORS.has(operator);
|
|
1238
1276
|
}
|
|
@@ -1336,9 +1374,45 @@ function reconcileValueForOperator(field, nextOperator, previousOperator, value)
|
|
|
1336
1374
|
return value ?? emptyValueForRule(field, nextOperator);
|
|
1337
1375
|
}
|
|
1338
1376
|
//#endregion
|
|
1377
|
+
//#region components/DataTable/TableControls/FiltersV2/date-range-rule-value.ts
|
|
1378
|
+
/**
|
|
1379
|
+
* The absolute bounds a rule should be queried with, or `null` when it does not
|
|
1380
|
+
* carry a date range.
|
|
1381
|
+
*
|
|
1382
|
+
* Relative metadata wins over the stored snapshot: the snapshot is a picture of
|
|
1383
|
+
* the window when it was saved, and the point of a relative rule is that the
|
|
1384
|
+
* window moves. The operator gate is part of this rather than the caller's job —
|
|
1385
|
+
* metadata only ever describes a range, so resolving it onto a scalar rule
|
|
1386
|
+
* would put a `{ startDate, endDate }` object where the wire expects a day.
|
|
1387
|
+
*/
|
|
1388
|
+
function resolveDateRangeRuleValue(rule, fieldType) {
|
|
1389
|
+
if (!carriesDateRange(rule.operator, fieldType)) return null;
|
|
1390
|
+
const relative = parseDateFilterValue(rule.relativeDate);
|
|
1391
|
+
if (relative?.kind === "relative") return resolveDateFilterValue(relative);
|
|
1392
|
+
const parsed = parseDateFilterValue(rule.value);
|
|
1393
|
+
return parsed ? resolveDateFilterValue(parsed) : null;
|
|
1394
|
+
}
|
|
1395
|
+
//#endregion
|
|
1396
|
+
//#region components/DataTable/TableControls/FiltersV2/relative-date-label.ts
|
|
1397
|
+
/**
|
|
1398
|
+
* The preset name a rule should display instead of its dates, or `undefined`
|
|
1399
|
+
* when it has none and the caller should fall back to rendering the value.
|
|
1400
|
+
*
|
|
1401
|
+
* Completeness is checked against the same predicate the serialize boundary
|
|
1402
|
+
* uses: labelling a rule `hasCompleteValue` drops would advertise a filter the
|
|
1403
|
+
* request never carries.
|
|
1404
|
+
*/
|
|
1405
|
+
function relativePresetLabel(value, relativeDate) {
|
|
1406
|
+
const parsed = relativeDate ? parseDateFilterValue(relativeDate) : null;
|
|
1407
|
+
if (parsed?.kind !== "relative" || !isCompleteDateRange(value)) return;
|
|
1408
|
+
return formatDateFilterValue(parsed) ?? void 0;
|
|
1409
|
+
}
|
|
1410
|
+
//#endregion
|
|
1339
1411
|
//#region components/DataTable/TableControls/FiltersV2/AdvancedFilterRulesPopover/display.ts
|
|
1340
|
-
function valueDisplayString(value, optionLabels) {
|
|
1412
|
+
function valueDisplayString(value, optionLabels, relativeDate) {
|
|
1341
1413
|
if (value == null) return;
|
|
1414
|
+
const relativeLabel = relativePresetLabel(value, relativeDate);
|
|
1415
|
+
if (relativeLabel) return relativeLabel;
|
|
1342
1416
|
const display = (raw) => optionLabels?.[raw] ?? raw;
|
|
1343
1417
|
if (Array.isArray(value)) {
|
|
1344
1418
|
if (value.length === 0) return;
|
|
@@ -1510,7 +1584,7 @@ function RuleEditorFields({ registry, field, groupIndex, ruleIndex, rule, size,
|
|
|
1510
1584
|
field && !isValuelessOperator(rule.operator) ? /* @__PURE__ */ jsx(FormField, {
|
|
1511
1585
|
label: "Value",
|
|
1512
1586
|
labelProps: { size },
|
|
1513
|
-
children: /* @__PURE__ */ jsx(Fragment$1, { children: renderValueControl(field, rule.operator, rule.value, (next) => onValueChange(groupIndex, ruleIndex, next)) })
|
|
1587
|
+
children: /* @__PURE__ */ jsx(Fragment$1, { children: renderValueControl(field, rule.operator, rule.value, (next, relativeDate) => onValueChange(groupIndex, ruleIndex, next, relativeDate), rule.relativeDate) })
|
|
1514
1588
|
}) : null
|
|
1515
1589
|
] });
|
|
1516
1590
|
}
|
|
@@ -1522,7 +1596,7 @@ function AdvancedFilterRuleRow({ registry, groupIndex, ruleIndex, rule, size, is
|
|
|
1522
1596
|
const operatorConfigurable = field ? fieldHasMultipleOperators(field) : true;
|
|
1523
1597
|
const condition = ruleIndex === 0 ? "If" : "And";
|
|
1524
1598
|
const rowId = `${groupIndex}-${ruleIndex}`;
|
|
1525
|
-
const valueDisplay = isValuelessOperator(rule.operator) ? void 0 : valueDisplayString(rule.value, registry.optionLabelsFor(rule.fieldId));
|
|
1599
|
+
const valueDisplay = isValuelessOperator(rule.operator) ? void 0 : valueDisplayString(rule.value, registry.optionLabelsFor(rule.fieldId), carriesDateRange(rule.operator, field?.type) ? rule.relativeDate : void 0);
|
|
1526
1600
|
const textValue = [
|
|
1527
1601
|
condition,
|
|
1528
1602
|
field?.label ?? rule.fieldId,
|
|
@@ -1844,13 +1918,14 @@ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, ope
|
|
|
1844
1918
|
onChange,
|
|
1845
1919
|
registry
|
|
1846
1920
|
]);
|
|
1847
|
-
const handleValueChange = useCallback((groupIndex, ruleIndex, nextValue) => {
|
|
1921
|
+
const handleValueChange = useCallback((groupIndex, ruleIndex, nextValue, relativeDate) => {
|
|
1848
1922
|
const prev = compound.groups[groupIndex]?.rules[ruleIndex];
|
|
1849
1923
|
if (!prev) return;
|
|
1924
|
+
const { relativeDate: _previousRelativeDate, ...rest } = prev;
|
|
1850
1925
|
onChange(setRuleInGroup(compound, groupIndex, ruleIndex, {
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1926
|
+
...rest,
|
|
1927
|
+
value: nextValue,
|
|
1928
|
+
...relativeDate ? { relativeDate } : {}
|
|
1854
1929
|
}));
|
|
1855
1930
|
}, [compound, onChange]);
|
|
1856
1931
|
return /* @__PURE__ */ jsxs(PopoverPrimitive.Root, {
|
|
@@ -2184,20 +2259,19 @@ const parseIsoDate$1 = (value) => {
|
|
|
2184
2259
|
return;
|
|
2185
2260
|
}
|
|
2186
2261
|
};
|
|
2187
|
-
const
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
const useDateRange = (value) => {
|
|
2192
|
-
const { startDate, endDate } = readIsoEndpoints(value);
|
|
2262
|
+
const useDateRange = (value, relativeDate) => {
|
|
2263
|
+
const parsedRelativeDate = parseDateFilterValue(relativeDate);
|
|
2264
|
+
const parsed = parsedRelativeDate?.kind === "relative" ? parsedRelativeDate : parseDateFilterValue(value);
|
|
2265
|
+
const resolved = parsed ? resolveDateFilterValue(parsed) : void 0;
|
|
2193
2266
|
return useMemo(() => ({
|
|
2194
|
-
startDate: parseIsoDate$1(startDate),
|
|
2195
|
-
endDate: parseIsoDate$1(endDate)
|
|
2196
|
-
}), [startDate, endDate]);
|
|
2267
|
+
startDate: parseIsoDate$1(resolved?.startDate),
|
|
2268
|
+
endDate: parseIsoDate$1(resolved?.endDate)
|
|
2269
|
+
}), [resolved?.startDate, resolved?.endDate]);
|
|
2197
2270
|
};
|
|
2198
|
-
const DateRangeValueControl = ({ field, operator, value, onChange, ariaLabel, hidePresets, portalContainer, visibleMonths }) => {
|
|
2271
|
+
const DateRangeValueControl = ({ field, operator, value, relativeDate, onChange, ariaLabel, hidePresets, portalContainer, visibleMonths, relativeDatesEnabled = false }) => {
|
|
2199
2272
|
const size = useFilterBarSize();
|
|
2200
|
-
const dateRange = useDateRange(value);
|
|
2273
|
+
const dateRange = useDateRange(value, relativeDate);
|
|
2274
|
+
const noopChange = useCallback(() => void 0, []);
|
|
2201
2275
|
const handleChange = useCallback((range) => {
|
|
2202
2276
|
if (!range?.start || !range.end || range.start.compare(range.end) > 0) {
|
|
2203
2277
|
onChange(null);
|
|
@@ -2208,6 +2282,29 @@ const DateRangeValueControl = ({ field, operator, value, onChange, ariaLabel, hi
|
|
|
2208
2282
|
endDate: range.end.toString()
|
|
2209
2283
|
});
|
|
2210
2284
|
}, [onChange]);
|
|
2285
|
+
const handleDateFilterChange = useCallback((change) => {
|
|
2286
|
+
const intent = dateRuleIntent(change, relativeDatesEnabled);
|
|
2287
|
+
if (intent.kind === "clear") {
|
|
2288
|
+
handleChange(null);
|
|
2289
|
+
return;
|
|
2290
|
+
}
|
|
2291
|
+
if (intent.kind === "absolute") {
|
|
2292
|
+
handleChange(intent.range);
|
|
2293
|
+
return;
|
|
2294
|
+
}
|
|
2295
|
+
onChange({
|
|
2296
|
+
startDate: intent.range.start.toString(),
|
|
2297
|
+
endDate: intent.range.end.toString()
|
|
2298
|
+
}, {
|
|
2299
|
+
kind: "relative",
|
|
2300
|
+
preset: intent.preset
|
|
2301
|
+
});
|
|
2302
|
+
}, [
|
|
2303
|
+
handleChange,
|
|
2304
|
+
onChange,
|
|
2305
|
+
relativeDatesEnabled
|
|
2306
|
+
]);
|
|
2307
|
+
const relativePreset = selectedPresetFor(parseDateFilterValue(relativeDate), relativeDatesEnabled);
|
|
2211
2308
|
if (isValuelessOperator(operator)) return null;
|
|
2212
2309
|
const hasCompleteRange = dateRange.startDate != null && dateRange.endDate != null;
|
|
2213
2310
|
return /* @__PURE__ */ jsx(DateRangePicker, {
|
|
@@ -2216,7 +2313,9 @@ const DateRangeValueControl = ({ field, operator, value, onChange, ariaLabel, hi
|
|
|
2216
2313
|
dateRange,
|
|
2217
2314
|
hidePresets,
|
|
2218
2315
|
label: null,
|
|
2219
|
-
onChange:
|
|
2316
|
+
onChange: noopChange,
|
|
2317
|
+
onDateFilterChange: handleDateFilterChange,
|
|
2318
|
+
selectedPreset: relativePreset,
|
|
2220
2319
|
portalContainer,
|
|
2221
2320
|
showClear: false,
|
|
2222
2321
|
size,
|
|
@@ -2761,8 +2860,10 @@ const OverflowTooltipList = styled(Stack).attrs({
|
|
|
2761
2860
|
* `optionLabels` lookup so the pill renders human-readable option labels
|
|
2762
2861
|
* instead of raw option ids. Null / undefined collapses to an empty list.
|
|
2763
2862
|
*/
|
|
2764
|
-
function normalizeValueToDisplay(value, optionLabels) {
|
|
2863
|
+
function normalizeValueToDisplay(value, optionLabels, relativeDate) {
|
|
2765
2864
|
if (value == null) return [];
|
|
2865
|
+
const relativeLabel = relativePresetLabel(value, relativeDate);
|
|
2866
|
+
if (relativeLabel) return [relativeLabel];
|
|
2766
2867
|
const lookup = (raw) => optionLabels?.[raw] ?? raw;
|
|
2767
2868
|
if (Array.isArray(value)) {
|
|
2768
2869
|
if (value.length > 0 && Array.isArray(value[0])) return [`${value.length} group${value.length === 1 ? "" : "s"}`];
|
|
@@ -2794,7 +2895,11 @@ function buildAccessibleName(field, rule, displayedValues) {
|
|
|
2794
2895
|
const FilterPill = forwardRef(function FilterPill({ field, rule, onClick, onDismiss, variant = "default", optionLabels, size, ...rest }, ref) {
|
|
2795
2896
|
const reactId = useMemo(() => uniqueId("filter-pill-"), []);
|
|
2796
2897
|
const resolvedSize = useFilterBarSize(size);
|
|
2797
|
-
const displayedValues = useMemo(() => rule && !isValuelessOperator(rule.operator) ? normalizeValueToDisplay(rule.value, optionLabels) : [], [
|
|
2898
|
+
const displayedValues = useMemo(() => rule && !isValuelessOperator(rule.operator) ? normalizeValueToDisplay(rule.value, optionLabels, carriesDateRange(rule.operator, field?.type) ? rule.relativeDate : void 0) : [], [
|
|
2899
|
+
rule,
|
|
2900
|
+
optionLabels,
|
|
2901
|
+
field?.type
|
|
2902
|
+
]);
|
|
2798
2903
|
const accessibleName = buildAccessibleName(field, rule, displayedValues);
|
|
2799
2904
|
const hasRule = rule != null;
|
|
2800
2905
|
const isComplete = hasRule && (isValuelessOperator(rule.operator) || displayedValues.length > 0);
|
|
@@ -3115,6 +3220,10 @@ const EMPTY_FILTER_STATE = Object.freeze({
|
|
|
3115
3220
|
topLevelRules: [],
|
|
3116
3221
|
compound: Object.freeze({ groups: [] })
|
|
3117
3222
|
});
|
|
3223
|
+
/** True when no filters are applied — no pills and no compound groups. */
|
|
3224
|
+
function isEmptyState(state) {
|
|
3225
|
+
return state.topLevelRules.length === 0 && state.compound.groups.length === 0;
|
|
3226
|
+
}
|
|
3118
3227
|
//#endregion
|
|
3119
3228
|
//#region components/DataTable/TableControls/FiltersV2/validation.ts
|
|
3120
3229
|
/**
|
|
@@ -3640,7 +3749,7 @@ function useStableFieldIds(fieldIds) {
|
|
|
3640
3749
|
if (previous == null || fieldIds == null || previous.length !== fieldIds.length || fieldIds.some((id, index) => previous[index] !== id)) stable.current = fieldIds;
|
|
3641
3750
|
return stable.current;
|
|
3642
3751
|
}
|
|
3643
|
-
function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = true, singleUseFields = false, size = "md", valueControlResolver }) {
|
|
3752
|
+
function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = true, relativeDatesEnabled = false, singleUseFields = false, size = "md", valueControlResolver }) {
|
|
3644
3753
|
const filterState = useFilterStateV2({
|
|
3645
3754
|
registry,
|
|
3646
3755
|
initialState,
|
|
@@ -3755,12 +3864,14 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
|
|
|
3755
3864
|
onChange: (compound) => {
|
|
3756
3865
|
filterState.setCompound(compound);
|
|
3757
3866
|
},
|
|
3758
|
-
renderValueControl: (field, operator, value, onChange) => resolveValueControl({
|
|
3867
|
+
renderValueControl: (field, operator, value, onChange, relativeDate) => resolveValueControl({
|
|
3759
3868
|
field,
|
|
3760
3869
|
operator,
|
|
3761
3870
|
value,
|
|
3871
|
+
relativeDate,
|
|
3762
3872
|
onChange,
|
|
3763
|
-
layout: "inline"
|
|
3873
|
+
layout: "inline",
|
|
3874
|
+
relativeDatesEnabled
|
|
3764
3875
|
}, valueControlResolver),
|
|
3765
3876
|
trigger: /* @__PURE__ */ jsx(RulesPill, {
|
|
3766
3877
|
compound: filterState.state.compound,
|
|
@@ -3786,8 +3897,9 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
|
|
|
3786
3897
|
field,
|
|
3787
3898
|
operator: rule.operator,
|
|
3788
3899
|
onChangeOperator: (op) => {
|
|
3900
|
+
const { relativeDate: _staleRelativeDate, ...rest } = rule;
|
|
3789
3901
|
filterState.updateTopLevelRule(rule.id, {
|
|
3790
|
-
...
|
|
3902
|
+
...rest,
|
|
3791
3903
|
operator: op,
|
|
3792
3904
|
value: reconcileValueForOperator(field, op, rule.operator, rule.value)
|
|
3793
3905
|
});
|
|
@@ -3796,11 +3908,17 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
|
|
|
3796
3908
|
field,
|
|
3797
3909
|
operator: rule.operator,
|
|
3798
3910
|
value: rule.value,
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3911
|
+
relativeDate: rule.relativeDate,
|
|
3912
|
+
onChange: (value, relativeDate) => {
|
|
3913
|
+
const { relativeDate: _staleRelativeDate, ...rest } = rule;
|
|
3914
|
+
filterState.updateTopLevelRule(rule.id, {
|
|
3915
|
+
...rest,
|
|
3916
|
+
value,
|
|
3917
|
+
...relativeDate ? { relativeDate } : {}
|
|
3918
|
+
});
|
|
3919
|
+
},
|
|
3920
|
+
onCommit: () => setEditingRuleId(null),
|
|
3921
|
+
relativeDatesEnabled
|
|
3804
3922
|
}, valueControlResolver),
|
|
3805
3923
|
onClose: () => setEditingRuleId(null),
|
|
3806
3924
|
open: isOpen,
|
|
@@ -4070,6 +4188,81 @@ function normalizeFieldSource(raw) {
|
|
|
4070
4188
|
return raw === "system" ? "system" : "custom";
|
|
4071
4189
|
}
|
|
4072
4190
|
//#endregion
|
|
4073
|
-
|
|
4191
|
+
//#region components/DataTable/TableControls/FiltersV2/url-state.ts
|
|
4192
|
+
/**
|
|
4193
|
+
* URL state encoding/decoding for the `fv2=` namespace.
|
|
4194
|
+
*
|
|
4195
|
+
* v2 URL state is base64'd JSON of `FilterStateV2`. Encoding is a lossless
|
|
4196
|
+
* mirror of the in-memory shape — no schema migrations required when the
|
|
4197
|
+
* vocabulary grows because the type already models OR-of-AND.
|
|
4198
|
+
*
|
|
4199
|
+
* Hosts that persist filter state elsewhere (saved views, session storage)
|
|
4200
|
+
* store the same encoded string the URL carries; see
|
|
4201
|
+
* {@link decodeFilterStateFromString}.
|
|
4202
|
+
*/
|
|
4203
|
+
/** The query param the FilterBar's full rule state travels in. */
|
|
4204
|
+
const FILTER_STATE_URL_PARAM = "fv2";
|
|
4205
|
+
/** Read `fv2=…` from a query string and return the decoded state. */
|
|
4206
|
+
function decodeFilterStateFromUrl(search) {
|
|
4207
|
+
const raw = (typeof search === "string" ? new URLSearchParams(search) : search).get("fv2");
|
|
4208
|
+
if (raw == null) return {
|
|
4209
|
+
state: EMPTY_FILTER_STATE,
|
|
4210
|
+
hadParam: false,
|
|
4211
|
+
invalid: false
|
|
4212
|
+
};
|
|
4213
|
+
const decoded = tryDecode(raw);
|
|
4214
|
+
if (decoded == null) return {
|
|
4215
|
+
state: EMPTY_FILTER_STATE,
|
|
4216
|
+
hadParam: true,
|
|
4217
|
+
invalid: true
|
|
4218
|
+
};
|
|
4219
|
+
return {
|
|
4220
|
+
state: decoded,
|
|
4221
|
+
hadParam: true,
|
|
4222
|
+
invalid: false
|
|
4223
|
+
};
|
|
4224
|
+
}
|
|
4225
|
+
/**
|
|
4226
|
+
* Produce a `fv2=…` segment for the given state. Returns `null` when the
|
|
4227
|
+
* state is empty — callers should treat that as "no param at all" so URLs
|
|
4228
|
+
* stay clean in the common case of no filters.
|
|
4229
|
+
*/
|
|
4230
|
+
function encodeFilterStateToUrlParam(state) {
|
|
4231
|
+
if (isEmptyState(state)) return null;
|
|
4232
|
+
return encodeBase64(JSON.stringify(state));
|
|
4233
|
+
}
|
|
4234
|
+
function applyFilterStateToSearchParams(params, state) {
|
|
4235
|
+
const encoded = encodeFilterStateToUrlParam(state);
|
|
4236
|
+
if (encoded == null) params.delete("fv2");
|
|
4237
|
+
else params.set("fv2", encoded);
|
|
4238
|
+
return params;
|
|
4239
|
+
}
|
|
4240
|
+
/**
|
|
4241
|
+
* Decode a bare base64 string (as produced by {@link encodeFilterStateToUrlParam})
|
|
4242
|
+
* back into a {@link FilterStateV2}, or `null` when it is absent/corrupt/from a
|
|
4243
|
+
* future vocabulary.
|
|
4244
|
+
*/
|
|
4245
|
+
function decodeFilterStateFromString(raw) {
|
|
4246
|
+
if (raw == null || raw === "") return null;
|
|
4247
|
+
return tryDecode(raw);
|
|
4248
|
+
}
|
|
4249
|
+
function tryDecode(raw) {
|
|
4250
|
+
try {
|
|
4251
|
+
const json = decodeBase64(raw);
|
|
4252
|
+
const parsed = JSON.parse(json);
|
|
4253
|
+
if (!isFilterStateV2(parsed)) return null;
|
|
4254
|
+
return parsed;
|
|
4255
|
+
} catch {
|
|
4256
|
+
return null;
|
|
4257
|
+
}
|
|
4258
|
+
}
|
|
4259
|
+
function encodeBase64(input) {
|
|
4260
|
+
return btoa(unescape(encodeURIComponent(input)));
|
|
4261
|
+
}
|
|
4262
|
+
function decodeBase64(input) {
|
|
4263
|
+
return decodeURIComponent(escape(atob(input)));
|
|
4264
|
+
}
|
|
4265
|
+
//#endregion
|
|
4266
|
+
export { TableViewConfiguration as A, isRangeOperator as C, TableControlsContext as D, dateRuleIntent as E, TableControls as M, ControlBar as N, TableControlsProvider as O, DataTableCompactBar as P, isCompleteDateRange as S, reconcileValueForOperator as T, resolveDateRangeRuleValue as _, encodeFilterStateToUrlParam as a, getOperatorsForField as b, FilterBar_default as c, isFilterStateV2 as d, pruneToRegistry as f, useFilterBarSize as g, resolveValueControl as h, decodeFilterStateFromUrl as i, TableViewConfigurationDropdown as j, useTableControls as k, useFilterStateV2 as l, isEmptyState as m, applyFilterStateToSearchParams as n, FieldRegistry as o, EMPTY_FILTER_STATE as p, decodeFilterStateFromString as r, buildFieldRegistry as s, FILTER_STATE_URL_PARAM as t, hasCompleteValue as u, emptyValueForRule as v, isValuelessOperator as w, getOperatorsForType as x, getDefaultOperatorForType as y };
|
|
4074
4267
|
|
|
4075
|
-
//# sourceMappingURL=TableControls-
|
|
4268
|
+
//# sourceMappingURL=TableControls-WUNbzSNq.mjs.map
|