@economic/taco 12.0.0 → 14.0.0-tanstack-virtual-update.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/dist/charts/components/Area/AreaChart.cjs.map +1 -1
- package/dist/charts/components/Area/AreaChart.js.map +1 -1
- package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
- package/dist/charts/components/Bar/BarChart.js.map +1 -1
- package/dist/charts/components/Composed/BarLineChart.cjs.map +1 -1
- package/dist/charts/components/Composed/BarLineChart.js.map +1 -1
- package/dist/charts/components/Donut/DonutChart.cjs +1 -1
- package/dist/charts/components/Donut/DonutChart.cjs.map +1 -1
- package/dist/charts/components/Donut/DonutChart.js +1 -1
- package/dist/charts/components/Donut/DonutChart.js.map +1 -1
- package/dist/charts/components/LegacyDonut/ActiveShape.cjs.map +1 -1
- package/dist/charts/components/LegacyDonut/ActiveShape.js.map +1 -1
- package/dist/charts/components/LegacyDonut/LegacyDonutChart.cjs.map +1 -1
- package/dist/charts/components/LegacyDonut/LegacyDonutChart.js.map +1 -1
- package/dist/charts/components/LegacyDonut/Legend.cjs.map +1 -1
- package/dist/charts/components/LegacyDonut/Legend.js.map +1 -1
- package/dist/charts/components/Legend.cjs +3 -3
- package/dist/charts/components/Legend.cjs.map +1 -1
- package/dist/charts/components/Legend.js +3 -3
- package/dist/charts/components/Legend.js.map +1 -1
- package/dist/charts/components/Line/LineChart.cjs.map +1 -1
- package/dist/charts/components/Line/LineChart.js.map +1 -1
- package/dist/charts/components/Pie/PieChart.cjs.map +1 -1
- package/dist/charts/components/Pie/PieChart.js.map +1 -1
- package/dist/charts/components/useChartData.cjs +1 -1
- package/dist/charts/components/useChartData.cjs.map +1 -1
- package/dist/charts/components/useChartData.js +1 -1
- package/dist/charts/components/useChartData.js.map +1 -1
- package/dist/charts/utils/color.cjs.map +1 -1
- package/dist/charts/utils/color.js.map +1 -1
- package/dist/charts/utils/common.cjs.map +1 -1
- package/dist/charts/utils/common.d.ts +1 -1
- package/dist/charts/utils/common.js.map +1 -1
- package/dist/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Actions/Button/Button.cjs +2 -2
- package/dist/components/Actions/Button/Button.cjs.map +1 -1
- package/dist/components/Actions/Button/Button.d.ts +2 -2
- package/dist/components/Actions/Button/Button.js +2 -2
- package/dist/components/Actions/Button/Button.js.map +1 -1
- package/dist/components/Actions/Link/Link.cjs.map +1 -1
- package/dist/components/Actions/Link/Link.js.map +1 -1
- package/dist/components/Actions/LinkButton/LinkButton.cjs +1 -1
- package/dist/components/Actions/LinkButton/LinkButton.cjs.map +1 -1
- package/dist/components/Actions/LinkButton/LinkButton.d.ts +2 -2
- package/dist/components/Actions/LinkButton/LinkButton.js +1 -1
- package/dist/components/Actions/LinkButton/LinkButton.js.map +1 -1
- package/dist/components/Alert/Alert.cjs.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AlertDialog/components/Content.cjs +2 -2
- package/dist/components/AlertDialog/components/Content.cjs.map +1 -1
- package/dist/components/AlertDialog/components/Content.js +2 -2
- package/dist/components/AlertDialog/components/Content.js.map +1 -1
- package/dist/components/AlertDialog/components/Trigger.cjs.map +1 -1
- package/dist/components/AlertDialog/components/Trigger.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.cjs.map +1 -1
- package/dist/components/Backdrop/Backdrop.js.map +1 -1
- package/dist/components/Badge/Badge.cjs +1 -1
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.js +1 -1
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/BadgeIcon/BadgeIcon.cjs.map +1 -1
- package/dist/components/BadgeIcon/BadgeIcon.d.ts +1 -1
- package/dist/components/BadgeIcon/BadgeIcon.js.map +1 -1
- package/dist/components/Banner/Banner.cjs +2 -2
- package/dist/components/Banner/Banner.cjs.map +1 -1
- package/dist/components/Banner/Banner.js +2 -2
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Banner/util.cjs.map +1 -1
- package/dist/components/Banner/util.js.map +1 -1
- package/dist/components/Calendar/Calendar.cjs +2 -2
- package/dist/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/components/Calendar/Calendar.js +2 -2
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/Card/Card.cjs +2 -2
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +2 -2
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Combobox/Combobox.cjs +4 -4
- package/dist/components/Combobox/Combobox.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.d.ts +1 -2
- package/dist/components/Combobox/Combobox.js +4 -4
- package/dist/components/Combobox/Combobox.js.map +1 -1
- package/dist/components/Combobox/useCombobox.cjs +3 -3
- package/dist/components/Combobox/useCombobox.cjs.map +1 -1
- package/dist/components/Combobox/useCombobox.d.ts +1 -1
- package/dist/components/Combobox/useCombobox.js +3 -3
- package/dist/components/Combobox/useCombobox.js.map +1 -1
- package/dist/components/Datepicker/Datepicker.cjs +3 -3
- package/dist/components/Datepicker/Datepicker.cjs.map +1 -1
- package/dist/components/Datepicker/Datepicker.d.ts +1 -2
- package/dist/components/Datepicker/Datepicker.js +3 -3
- package/dist/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/components/Datepicker/useDatepicker.cjs.map +1 -1
- package/dist/components/Datepicker/useDatepicker.d.ts +1 -2
- package/dist/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/components/Dialog/components/Content.cjs +3 -3
- package/dist/components/Dialog/components/Content.cjs.map +1 -1
- package/dist/components/Dialog/components/Content.js +3 -3
- package/dist/components/Dialog/components/Content.js.map +1 -1
- package/dist/components/Dialog/components/Trigger.cjs.map +1 -1
- package/dist/components/Dialog/components/Trigger.js.map +1 -1
- package/dist/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.d.ts +1 -1
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/components/Content.cjs +3 -3
- package/dist/components/Drawer/components/Content.cjs.map +1 -1
- package/dist/components/Drawer/components/Content.js +3 -3
- package/dist/components/Drawer/components/Content.js.map +1 -1
- package/dist/components/Field/Field.cjs +1 -1
- package/dist/components/Field/Field.cjs.map +1 -1
- package/dist/components/Field/Field.js +1 -1
- package/dist/components/Field/Field.js.map +1 -1
- package/dist/components/Form/Form.cjs.map +1 -1
- package/dist/components/Form/Form.d.ts +1 -1
- package/dist/components/Form/Form.js.map +1 -1
- package/dist/components/Group/Group.cjs.map +1 -1
- package/dist/components/Group/Group.d.ts +2 -1
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Hanger/Hanger.cjs +2 -2
- package/dist/components/Hanger/Hanger.cjs.map +1 -1
- package/dist/components/Hanger/Hanger.d.ts +1 -1
- package/dist/components/Hanger/Hanger.js +2 -2
- package/dist/components/Hanger/Hanger.js.map +1 -1
- package/dist/components/Header/components/Agreement/Badge.cjs.map +1 -1
- package/dist/components/Header/components/Agreement/Badge.js.map +1 -1
- package/dist/components/Header/components/Agreement/Display.cjs.map +1 -1
- package/dist/components/Header/components/Agreement/Display.js.map +1 -1
- package/dist/components/Header/components/Agreement/Item.cjs +1 -1
- package/dist/components/Header/components/Agreement/Item.cjs.map +1 -1
- package/dist/components/Header/components/Agreement/Item.js +1 -1
- package/dist/components/Header/components/Agreement/Item.js.map +1 -1
- package/dist/components/Header/components/AgreementSelector.cjs +3 -3
- package/dist/components/Header/components/AgreementSelector.cjs.map +1 -1
- package/dist/components/Header/components/AgreementSelector.js +3 -3
- package/dist/components/Header/components/AgreementSelector.js.map +1 -1
- package/dist/components/Header/components/Button.cjs.map +1 -1
- package/dist/components/Header/components/Button.d.ts +1 -1
- package/dist/components/Header/components/Button.js.map +1 -1
- package/dist/components/Header/components/Link.cjs +2 -2
- package/dist/components/Header/components/Link.cjs.map +1 -1
- package/dist/components/Header/components/Link.d.ts +1 -1
- package/dist/components/Header/components/Link.js +2 -2
- package/dist/components/Header/components/Link.js.map +1 -1
- package/dist/components/Header/components/MenuButton.cjs +1 -1
- package/dist/components/Header/components/MenuButton.cjs.map +1 -1
- package/dist/components/Header/components/MenuButton.js +1 -1
- package/dist/components/Header/components/MenuButton.js.map +1 -1
- package/dist/components/Header/components/PrimaryNavigation.cjs +3 -3
- package/dist/components/Header/components/PrimaryNavigation.cjs.map +1 -1
- package/dist/components/Header/components/PrimaryNavigation.js +3 -3
- package/dist/components/Header/components/PrimaryNavigation.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
- package/dist/components/HoverCard/HoverCard.d.ts +1 -1
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/Inline/Inline.cjs +2 -6
- package/dist/components/Inline/Inline.cjs.map +1 -1
- package/dist/components/Inline/Inline.d.ts +1 -1
- package/dist/components/Inline/Inline.js +2 -6
- package/dist/components/Inline/Inline.js.map +1 -1
- package/dist/components/Input/Input.cjs +1 -1
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Layout/components/Sidebar.cjs.map +1 -1
- package/dist/components/Layout/components/Sidebar.js.map +1 -1
- package/dist/components/LegacyComponents/Button/Button.cjs +1 -1
- package/dist/components/LegacyComponents/Button/Button.cjs.map +1 -1
- package/dist/components/LegacyComponents/Button/Button.d.ts +3 -7
- package/dist/components/LegacyComponents/Button/Button.js +1 -1
- package/dist/components/LegacyComponents/Button/Button.js.map +1 -1
- package/dist/components/LegacyComponents/Button/util.cjs.map +1 -1
- package/dist/components/LegacyComponents/Button/util.js.map +1 -1
- package/dist/components/LegacyComponents/IconButton/IconButton.cjs +1 -1
- package/dist/components/LegacyComponents/IconButton/IconButton.cjs.map +1 -1
- package/dist/components/LegacyComponents/IconButton/IconButton.d.ts +4 -8
- package/dist/components/LegacyComponents/IconButton/IconButton.js +1 -1
- package/dist/components/LegacyComponents/IconButton/IconButton.js.map +1 -1
- package/dist/components/List/components/Collapsible.cjs +1 -1
- package/dist/components/List/components/Collapsible.cjs.map +1 -1
- package/dist/components/List/components/Collapsible.js +1 -1
- package/dist/components/List/components/Collapsible.js.map +1 -1
- package/dist/components/List/components/Item.cjs.map +1 -1
- package/dist/components/List/components/Item.d.ts +1 -1
- package/dist/components/List/components/Item.js.map +1 -1
- package/dist/components/List/components/Link.cjs +1 -1
- package/dist/components/List/components/Link.cjs.map +1 -1
- package/dist/components/List/components/Link.js +1 -1
- package/dist/components/List/components/Link.js.map +1 -1
- package/dist/components/List/components/Toggle.cjs +2 -2
- package/dist/components/List/components/Toggle.cjs.map +1 -1
- package/dist/components/List/components/Toggle.d.ts +1 -2
- package/dist/components/List/components/Toggle.js +2 -2
- package/dist/components/List/components/Toggle.js.map +1 -1
- package/dist/components/Listbox/Listbox.d.ts +2 -2
- package/dist/components/Listbox/ScrollableList.cjs +3 -3
- package/dist/components/Listbox/ScrollableList.cjs.map +1 -1
- package/dist/components/Listbox/ScrollableList.d.ts +1 -1
- package/dist/components/Listbox/ScrollableList.js +3 -3
- package/dist/components/Listbox/ScrollableList.js.map +1 -1
- package/dist/components/Listbox/useListbox.cjs.map +1 -1
- package/dist/components/Listbox/useListbox.js.map +1 -1
- package/dist/components/Listbox/useMultiListbox.cjs +1 -1
- package/dist/components/Listbox/useMultiListbox.cjs.map +1 -1
- package/dist/components/Listbox/useMultiListbox.js +1 -1
- package/dist/components/Listbox/useMultiListbox.js.map +1 -1
- package/dist/components/Listbox/useTypeahead.cjs.map +1 -1
- package/dist/components/Listbox/useTypeahead.js.map +1 -1
- package/dist/components/Listbox/util.cjs.map +1 -1
- package/dist/components/Listbox/util.js.map +1 -1
- package/dist/components/Menu/Menu.cjs.map +1 -1
- package/dist/components/Menu/Menu.js.map +1 -1
- package/dist/components/Menu/components/Checkbox.cjs +1 -1
- package/dist/components/Menu/components/Checkbox.cjs.map +1 -1
- package/dist/components/Menu/components/Checkbox.js +1 -1
- package/dist/components/Menu/components/Checkbox.js.map +1 -1
- package/dist/components/Menu/components/Content.cjs.map +1 -1
- package/dist/components/Menu/components/Content.js.map +1 -1
- package/dist/components/Menu/components/Item.cjs +1 -1
- package/dist/components/Menu/components/Item.cjs.map +1 -1
- package/dist/components/Menu/components/Item.d.ts +1 -2
- package/dist/components/Menu/components/Item.js +1 -1
- package/dist/components/Menu/components/Item.js.map +1 -1
- package/dist/components/Menu/components/Link.cjs.map +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/Link.js.map +1 -1
- package/dist/components/Menu/components/RadioGroup.cjs.map +1 -1
- package/dist/components/Menu/components/RadioGroup.d.ts +1 -1
- package/dist/components/Menu/components/RadioGroup.js.map +1 -1
- package/dist/components/Menu/components/SubMenu.cjs.map +1 -1
- package/dist/components/Menu/components/SubMenu.js.map +1 -1
- package/dist/components/Menu/components/Trigger.cjs.map +1 -1
- package/dist/components/Menu/components/Trigger.js.map +1 -1
- package/dist/components/Navigation2/components/Group.cjs.map +1 -1
- package/dist/components/Navigation2/components/Group.js.map +1 -1
- package/dist/components/Navigation2/components/Link.cjs +2 -2
- package/dist/components/Navigation2/components/Link.cjs.map +1 -1
- package/dist/components/Navigation2/components/Link.d.ts +1 -2
- package/dist/components/Navigation2/components/Link.js +2 -2
- package/dist/components/Navigation2/components/Link.js.map +1 -1
- package/dist/components/OverflowGroup/OverflowGroup.cjs +1 -1
- package/dist/components/OverflowGroup/OverflowGroup.cjs.map +1 -1
- package/dist/components/OverflowGroup/OverflowGroup.d.ts +1 -1
- package/dist/components/OverflowGroup/OverflowGroup.js +1 -1
- package/dist/components/OverflowGroup/OverflowGroup.js.map +1 -1
- package/dist/components/Pagination/PageNumbers.cjs +1 -1
- package/dist/components/Pagination/PageNumbers.cjs.map +1 -1
- package/dist/components/Pagination/PageNumbers.js +1 -1
- package/dist/components/Pagination/PageNumbers.js.map +1 -1
- package/dist/components/Pagination/Pagination.cjs +4 -4
- package/dist/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/components/Pagination/Pagination.js +4 -4
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Provider/Localization.cjs.map +1 -1
- package/dist/components/Provider/Localization.d.ts +1 -1
- package/dist/components/Provider/Localization.js.map +1 -1
- package/dist/components/Provider/Provider.cjs +1 -1
- package/dist/components/Provider/Provider.cjs.map +1 -1
- package/dist/components/Provider/Provider.js +1 -1
- package/dist/components/Provider/Provider.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/Report/Report.cjs.map +1 -1
- package/dist/components/Report/Report.js.map +1 -1
- package/dist/components/Report/useReport.cjs.map +1 -1
- package/dist/components/Report/useReport.js.map +1 -1
- package/dist/components/SearchInput/SearchInput.cjs +1 -1
- package/dist/components/SearchInput/SearchInput.cjs.map +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +5 -5
- package/dist/components/SearchInput/SearchInput.js +1 -1
- package/dist/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/SearchInput2/SearchInput2.cjs +3 -3
- package/dist/components/SearchInput2/SearchInput2.cjs.map +1 -1
- package/dist/components/SearchInput2/SearchInput2.js +3 -3
- package/dist/components/SearchInput2/SearchInput2.js.map +1 -1
- package/dist/components/Select/Select.cjs +4 -4
- package/dist/components/Select/Select.cjs.map +1 -1
- package/dist/components/Select/Select.d.ts +5 -5
- package/dist/components/Select/Select.js +4 -4
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/useSelect.cjs +1 -1
- package/dist/components/Select/useSelect.cjs.map +1 -1
- package/dist/components/Select/useSelect.js +1 -1
- package/dist/components/Select/useSelect.js.map +1 -1
- package/dist/components/Select2/Select2.cjs +4 -4
- package/dist/components/Select2/Select2.cjs.map +1 -1
- package/dist/components/Select2/Select2.d.ts +2 -2
- package/dist/components/Select2/Select2.js +4 -4
- package/dist/components/Select2/Select2.js.map +1 -1
- package/dist/components/Select2/components/Collection.cjs.map +1 -1
- package/dist/components/Select2/components/Collection.js.map +1 -1
- package/dist/components/Select2/components/Context.cjs.map +1 -1
- package/dist/components/Select2/components/Context.js.map +1 -1
- package/dist/components/Select2/components/Create.cjs +4 -4
- package/dist/components/Select2/components/Create.cjs.map +1 -1
- package/dist/components/Select2/components/Create.js +4 -4
- package/dist/components/Select2/components/Create.js.map +1 -1
- package/dist/components/Select2/components/Edit.cjs +5 -5
- package/dist/components/Select2/components/Edit.cjs.map +1 -1
- package/dist/components/Select2/components/Edit.d.ts +1 -1
- package/dist/components/Select2/components/Edit.js +5 -5
- package/dist/components/Select2/components/Edit.js.map +1 -1
- package/dist/components/Select2/components/Group.cjs +1 -1
- package/dist/components/Select2/components/Group.cjs.map +1 -1
- package/dist/components/Select2/components/Group.js +1 -1
- package/dist/components/Select2/components/Group.js.map +1 -1
- package/dist/components/Select2/components/Option.cjs +4 -4
- package/dist/components/Select2/components/Option.cjs.map +1 -1
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Option.js +4 -4
- package/dist/components/Select2/components/Option.js.map +1 -1
- package/dist/components/Select2/components/Search.cjs +1 -1
- package/dist/components/Select2/components/Search.cjs.map +1 -1
- package/dist/components/Select2/components/Search.js +1 -1
- package/dist/components/Select2/components/Search.js.map +1 -1
- package/dist/components/Select2/components/Title.cjs.map +1 -1
- package/dist/components/Select2/components/Title.js.map +1 -1
- package/dist/components/Select2/components/Trigger.cjs +6 -6
- package/dist/components/Select2/components/Trigger.cjs.map +1 -1
- package/dist/components/Select2/components/Trigger.d.ts +1 -1
- package/dist/components/Select2/components/Trigger.js +6 -6
- package/dist/components/Select2/components/Trigger.js.map +1 -1
- package/dist/components/Select2/types.d.ts +1 -1
- package/dist/components/Select2/utilities.cjs.map +1 -1
- package/dist/components/Select2/utilities.js.map +1 -1
- package/dist/components/Shortcut/Shortcut.cjs.map +1 -1
- package/dist/components/Shortcut/Shortcut.js.map +1 -1
- package/dist/components/Stack/Stack.cjs +2 -6
- package/dist/components/Stack/Stack.cjs.map +1 -1
- package/dist/components/Stack/Stack.d.ts +1 -1
- package/dist/components/Stack/Stack.js +2 -6
- package/dist/components/Stack/Stack.js.map +1 -1
- package/dist/components/Switch/Switch.cjs.map +1 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Table3/Table3.cjs +1 -3
- package/dist/components/Table3/Table3.cjs.map +1 -1
- package/dist/components/Table3/Table3.d.ts +1 -4
- package/dist/components/Table3/Table3.js +1 -3
- package/dist/components/Table3/Table3.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Cell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Cell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.d.ts +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs +6 -6
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js +6 -6
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/util.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/util.js.map +1 -1
- package/dist/components/Table3/components/Editing/Alert.cjs +3 -3
- package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
- package/dist/components/Table3/components/Editing/Alert.d.ts +1 -1
- package/dist/components/Table3/components/Editing/Alert.js +3 -3
- package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
- package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.cjs +3 -3
- package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.cjs.map +1 -1
- package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.d.ts +1 -1
- package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +3 -3
- package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +1 -1
- package/dist/components/Table3/components/Row/Editing/CreateNewRow.cjs +2 -2
- package/dist/components/Table3/components/Row/Editing/CreateNewRow.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Editing/CreateNewRow.js +2 -2
- package/dist/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs +2 -2
- package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.js +2 -2
- package/dist/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
- package/dist/components/Table3/components/Row/Editing/TemporaryRow.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Editing/TemporaryRow.js.map +1 -1
- package/dist/components/Table3/components/Row/Row.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Row.js.map +1 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs +2 -2
- package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs.map +1 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.js +2 -2
- package/dist/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
- package/dist/components/Table3/features/useEditingState.cjs +1 -1
- package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
- package/dist/components/Table3/features/useEditingState.d.ts +18 -5
- package/dist/components/Table3/features/useEditingState.js +1 -1
- package/dist/components/Table3/features/useEditingState.js.map +1 -1
- package/dist/components/Table3/features/useTableEditing.cjs +1 -1
- package/dist/components/Table3/features/useTableEditing.cjs.map +1 -1
- package/dist/components/Table3/features/useTableEditing.d.ts +23 -6
- package/dist/components/Table3/features/useTableEditing.js +1 -1
- package/dist/components/Table3/features/useTableEditing.js.map +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.cjs +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.cjs.map +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.js +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.js.map +1 -1
- package/dist/components/Table3/useTable3.cjs +2 -2
- package/dist/components/Table3/useTable3.cjs.map +1 -1
- package/dist/components/Table3/useTable3.js +2 -2
- package/dist/components/Table3/useTable3.js.map +1 -1
- package/dist/components/Table3/util/editing.cjs.map +1 -1
- package/dist/components/Table3/util/editing.d.ts +2 -2
- package/dist/components/Table3/util/editing.js.map +1 -1
- package/dist/components/Tabs/Context.cjs.map +1 -1
- package/dist/components/Tabs/Context.js.map +1 -1
- package/dist/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/components/TabList.cjs +2 -2
- package/dist/components/Tabs/components/TabList.cjs.map +1 -1
- package/dist/components/Tabs/components/TabList.js +2 -2
- package/dist/components/Tabs/components/TabList.js.map +1 -1
- package/dist/components/Tabs/components/Trigger.cjs +3 -3
- package/dist/components/Tabs/components/Trigger.cjs.map +1 -1
- package/dist/components/Tabs/components/Trigger.js +3 -3
- package/dist/components/Tabs/components/Trigger.js.map +1 -1
- package/dist/components/Tag/Tag.cjs.map +1 -1
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Textarea/Textarea.cjs +1 -1
- package/dist/components/Textarea/Textarea.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.js +1 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Toast/Toast.cjs +2 -2
- package/dist/components/Toast/Toast.cjs.map +1 -1
- package/dist/components/Toast/Toast.js +2 -2
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/util.cjs +1 -1
- package/dist/components/Toast/util.cjs.map +1 -1
- package/dist/components/Toast/util.js +1 -1
- package/dist/components/Toast/util.js.map +1 -1
- package/dist/components/Tour/Tour.cjs +2 -2
- package/dist/components/Tour/Tour.cjs.map +1 -1
- package/dist/components/Tour/Tour.js +2 -2
- package/dist/components/Tour/Tour.js.map +1 -1
- package/dist/components/Truncate/Truncate.cjs.map +1 -1
- package/dist/components/Truncate/Truncate.js.map +1 -1
- package/dist/components/Typography/Heading.cjs.map +1 -1
- package/dist/components/Typography/Heading.d.ts +1 -1
- package/dist/components/Typography/Heading.js.map +1 -1
- package/dist/components/Typography/Text.cjs.map +1 -1
- package/dist/components/Typography/Text.d.ts +1 -1
- package/dist/components/Typography/Text.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/hooks/useBoundaryOverflowDetection.cjs.map +1 -1
- package/dist/hooks/useBoundaryOverflowDetection.js.map +1 -1
- package/dist/hooks/useBoundingClientRectListener.cjs.map +1 -1
- package/dist/hooks/useBoundingClientRectListener.js.map +1 -1
- package/dist/hooks/useGlobalKeyDown.cjs.map +1 -1
- package/dist/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/hooks/useTacoSettings.cjs.map +1 -1
- package/dist/hooks/useTacoSettings.d.ts +1 -1
- package/dist/hooks/useTacoSettings.js.map +1 -1
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/primitives/BubbleSelect.cjs.map +1 -1
- package/dist/primitives/BubbleSelect.js.map +1 -1
- package/dist/primitives/Button.cjs.map +1 -1
- package/dist/primitives/Button.js.map +1 -1
- package/dist/primitives/Collection/components/Root.cjs.map +1 -1
- package/dist/primitives/Collection/components/Root.js.map +1 -1
- package/dist/primitives/Listbox2/components/Option.cjs.map +1 -1
- package/dist/primitives/Listbox2/components/Option.js.map +1 -1
- package/dist/primitives/Listbox2/components/Root.cjs.map +1 -1
- package/dist/primitives/Listbox2/components/Root.js.map +1 -1
- package/dist/primitives/Listbox2/components/Title.cjs.map +1 -1
- package/dist/primitives/Listbox2/components/Title.js.map +1 -1
- package/dist/primitives/Table/Core/components/Body/Body.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Body/Body.js.map +1 -1
- package/dist/primitives/Table/Core/components/Body/EmptyStateBody.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
- package/dist/primitives/Table/Core/components/Body/util.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Body/util.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.js +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs +3 -3
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js +3 -3
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Drag.cjs +2 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Drag.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Drag.js +2 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Drag.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs +3 -3
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js +3 -3
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs +4 -4
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js +4 -4
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.cjs +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.js +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Goto.cjs +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Goto.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Goto.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Goto.js +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Goto.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Menu.cjs +4 -6
- package/dist/primitives/Table/Core/components/Header/components/Menu.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Menu.js +4 -6
- package/dist/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Resizer.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Resizer.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/SortIndicator.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/components/SortIndicator.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs +3 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +3 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs +5 -5
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js +5 -5
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +4 -4
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +4 -4
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.cjs +3 -3
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js +3 -3
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.cjs +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.cjs +5 -5
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js +5 -5
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +4 -4
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +4 -4
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.cjs +6 -6
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.d.ts +1 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js +6 -6
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs +7 -7
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js +7 -7
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs +3 -3
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +3 -3
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs.map +1 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
- package/dist/primitives/Table/Core/types.d.ts +1 -1
- package/dist/primitives/Table/Core/useTable.cjs.map +1 -1
- package/dist/primitives/Table/Core/useTable.js.map +1 -1
- package/dist/primitives/Table/types.cjs.map +1 -1
- package/dist/primitives/Table/types.d.ts +1 -1
- package/dist/primitives/Table/types.js.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableFontSize.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableFontSize.js.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTablePrinting.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTablePrinting.js.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowActive.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableSettings.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableSettings.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFilterListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFilterListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSortingListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSortingListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.cjs +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.js +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/columns.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/columns.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/util/columns.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/dataTypes.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/filtering.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/filtering.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/util/filtering.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/search.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/search.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/util/search.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/setup.cjs +11 -1
- package/dist/primitives/Table/useTableManager/util/setup.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/setup.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/util/setup.js +12 -2
- package/dist/primitives/Table/useTableManager/util/setup.js.map +1 -1
- package/dist/utils/dom.cjs.map +1 -1
- package/dist/utils/dom.js.map +1 -1
- package/dist/utils/flattenChildren.cjs +12 -0
- package/dist/utils/flattenChildren.cjs.map +1 -0
- package/dist/utils/flattenChildren.d.ts +6 -0
- package/dist/utils/flattenChildren.js +12 -0
- package/dist/utils/flattenChildren.js.map +1 -0
- package/dist/utils/hooks/useListKeyboardNavigation.cjs.map +1 -1
- package/dist/utils/hooks/useListKeyboardNavigation.js.map +1 -1
- package/dist/utils/storyutils.d.ts +1 -1
- package/dist/utils/tailwind.cjs.map +1 -1
- package/dist/utils/tailwind.js.map +1 -1
- package/package.json +10 -9
- package/dist/components/Treeview/Treeview.cjs +0 -52
- package/dist/components/Treeview/Treeview.cjs.map +0 -1
- package/dist/components/Treeview/Treeview.d.ts +0 -25
- package/dist/components/Treeview/Treeview.js +0 -52
- package/dist/components/Treeview/Treeview.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortIndicator.js","sources":["../../../../../../../src/primitives/Table/Core/components/Header/components/SortIndicator.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '
|
|
1
|
+
{"version":3,"file":"SortIndicator.js","sources":["../../../../../../../src/primitives/Table/Core/components/Header/components/SortIndicator.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '@/components';\n\nimport type { TableColumnSortDirection } from '../../../../types';\n\ntype SortIndicatorProps = {\n direction: false | TableColumnSortDirection;\n};\n\nconst indicators = {\n asc: <Icon name=\"chevron-up-solid\" className=\"pointer-events-none -my-0.5\" />,\n desc: <Icon name=\"chevron-down-solid\" className=\"pointer-events-none -my-0.5\" />,\n};\n\nexport function SortIndicator(props: SortIndicatorProps) {\n return indicators[props.direction as TableColumnSortDirection] ?? null;\n}\n\nconst ariaSort = {\n asc: 'ascending' as const,\n desc: 'descending' as const,\n};\n\nexport function getSortAttributes(\n canSort: boolean,\n toggleSorting?: (event: unknown) => void,\n sortDirection?: false | TableColumnSortDirection\n) {\n if (!canSort) {\n return {};\n }\n\n const handleClick = (event: React.MouseEvent) => {\n if (event.isDefaultPrevented() || !event.currentTarget.contains(event.target as any)) {\n return;\n }\n\n event.preventDefault();\n toggleSorting?.(event);\n };\n\n return {\n 'aria-sort': ariaSort[sortDirection as TableColumnSortDirection] ?? 'none',\n onClick: handleClick,\n };\n}\n"],"names":["React"],"mappings":";;AAUA,MAAM,aAAa;AAAA,EACf,KAAKA,+BAAA,cAAC,MAAA,EAAK,MAAK,oBAAmB,WAAU,+BAA8B;AAAA,EAC3E,MAAMA,+BAAA,cAAC,MAAA,EAAK,MAAK,sBAAqB,WAAU,8BAAA,CAA8B;AAClF;AAEO,SAAS,cAAc,OAA2B;AACrD,SAAO,WAAW,MAAM,SAAqC,KAAK;AACtE;AAEA,MAAM,WAAW;AAAA,EACb,KAAK;AAAA,EACL,MAAM;AACV;AAEO,SAAS,kBACZ,SACA,eACA,eACF;AACE,MAAI,CAAC,SAAS;AACV,WAAO,CAAA;AAAA,EACX;AAEA,QAAM,cAAc,CAAC,UAA4B;AAC7C,QAAI,MAAM,wBAAwB,CAAC,MAAM,cAAc,SAAS,MAAM,MAAa,GAAG;AAClF;AAAA,IACJ;AAEA,UAAM,eAAA;AACN,oBAAgB,KAAK;AAAA,EACzB;AAEA,SAAO;AAAA,IACH,aAAa,SAAS,aAAyC,KAAK;AAAA,IACpE,SAAS;AAAA,EAAA;AAEjB;"}
|
|
@@ -105,7 +105,9 @@ const DisplayRow = React.memo(
|
|
|
105
105
|
React.useEffect(() => {
|
|
106
106
|
const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;
|
|
107
107
|
const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;
|
|
108
|
-
|
|
108
|
+
requestAnimationFrame(() => {
|
|
109
|
+
measureRow(rowHeight + expansionHeight);
|
|
110
|
+
});
|
|
109
111
|
}, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);
|
|
110
112
|
const className = cn("group/row", otherAttributes.className, {
|
|
111
113
|
"hover:cursor-grab": tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== "function",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayRow.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '../../../../../../hooks/useResizeObserver';\nimport { isElementInteractive } from '../../../../../../utils/dom';\nimport { useDropTarget } from '../../../../../../utils/hooks/useDropTarget';\nimport { mergeRefs } from '../../../../../../utils/mergeRefs';\nimport type { TableRowWithMetaData } from '../../../../types';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n measureRow(rowHeight + expansionHeight);\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["DisplayRow","isElementInteractive","row","useDropTarget","useResizeObserver","mergeRefs","Cell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DisplayRow.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '@/hooks/useResizeObserver';\nimport { isElementInteractive } from '@/utils/dom';\nimport { useDropTarget } from '@/utils/hooks/useDropTarget';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport type { TableRowWithMetaData } from '../../../../types';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n // Deferred a frame — resizeItem can trigger a synchronous flushSync, which React\n // rejects when called straight from this effect while still committing.\n requestAnimationFrame(() => {\n measureRow(rowHeight + expansionHeight);\n });\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["DisplayRow","isElementInteractive","row","useDropTarget","useResizeObserver","mergeRefs","Cell"],"mappings":"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"}
|
|
@@ -103,7 +103,9 @@ const DisplayRow = React__default.memo(
|
|
|
103
103
|
React__default.useEffect(() => {
|
|
104
104
|
const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;
|
|
105
105
|
const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;
|
|
106
|
-
|
|
106
|
+
requestAnimationFrame(() => {
|
|
107
|
+
measureRow(rowHeight + expansionHeight);
|
|
108
|
+
});
|
|
107
109
|
}, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);
|
|
108
110
|
const className = cn("group/row", otherAttributes.className, {
|
|
109
111
|
"hover:cursor-grab": tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== "function",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayRow.js","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '../../../../../../hooks/useResizeObserver';\nimport { isElementInteractive } from '../../../../../../utils/dom';\nimport { useDropTarget } from '../../../../../../utils/hooks/useDropTarget';\nimport { mergeRefs } from '../../../../../../utils/mergeRefs';\nimport type { TableRowWithMetaData } from '../../../../types';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n measureRow(rowHeight + expansionHeight);\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["React","DisplayRow","row"],"mappings":";;;;;;;AAiBO,MAAM,aAAaA,eAAM;AAAA,EAC5BA,eAAM,WAAiD,SAASC,YAC5D,OACA,aACF;AACE,UAAM;AAAA,MACF;AAAA,MACA,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,wBAAwB,CAAA;AAAA,MACxB,GAAG;AAAA,IAAA,IACH;AACJ,UAAM,YAAY,MAAM,QAAQ;AAEhC,UAAM,aAAkB;AAAA,MACpB,GAAG;AAAA,MACH,eAAe,IAAI;AAAA,MACnB,kBAAkB;AAAA,MAClB,UAAU;AAAA,IAAA;AAGd,UAAM,cAAcD,eAAM;AAAA,MACtB,CAAC,UAAiD;AAC9C,cAAM,iBAAiB,MAAM;AAE7B,YAAI,CAAC,MAAM,eAAe,SAAS,MAAM,MAAqB,KAAK,qBAAqB,cAAc,GAAG;AACrG;AAAA,QACJ;AAEA,kBAAU,SAAS,YAAY,OAAO,IAAI,QAAQ;AAAA,MACtD;AAAA,MACA,CAAC,IAAI,QAAQ;AAAA,IAAA;AAEjB,UAAM,oBAAoBA,eAAM,YAAY,MAAM;AAC9C,4BAAsB,MAAM,UAAU,UAAU,kBAAkB,KAAK,CAAC;AAAA,IAC5E,GAAG,CAAC,KAAK,CAAC;AAGV,QAAI,UAAU,UAAU,WAAW;AAC/B,iBAAW,iBAAiB,IAAI,UAAU,UAAU,mBAAmB,QAAQ,OAAO;AAEtF,iBAAW,gBAAgB;AAAA,IAC/B;AAGA,QAAI,UAAU,SAAS,UAAU,IAAI,QAAQ,GAAG;AAC5C,iBAAW,UAAU;AAAA,IACzB;AAGA,QAAI,UAAU,QAAQ,WAAW;AAC7B,iBAAW,cAAc,IAAI,CAAC,CAAC,UAAU,QAAQ,SAAS,IAAI,EAAE;AAChE,iBAAW,YAAY;AACvB,YAAM,mBAAmB;AAEzB,iBAAW,cAAc,CAAC,UAAiC;AACvD,YAAI,OAAO,CAAC,GAAG;AAEf,YAAI,IAAI,gBAAgB;AACpB,iBAAO,IAAI,kBAAkB,MAAM,oBAAA,EAAsB,OAAO,CAAC,KAAK,GAAG,MAAM,oBAAA,EAAsB,IAAI;AAAA,QAC7G;AAEA,cAAM,OAAO,KAAK,IAAI,CAAAE,SAAOA,KAAI,QAAQ;AAEzC,kBAAU,QAAQ;AAAA,UACd,KAAK,OAAO,CAAC,UAAU,qBAAqB,EAAE,GAAG,UAAU,CAAC,gBAAgB,EAAE,GAAG,KAAA,IAAS,CAAA,CAAE;AAAA,QAAA;AAIhG,cAAM,aAAa,QAAQ,QAAQ,KAAK,UAAU,IAAI,CAAC;AAEvD,cAAM,kBAAkB,CAAC,SAAiB;AACtC,gBAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,gBAAM,KAAK;AACX,gBAAM,YAAY;AAClB,gBAAM,YAAY;AAClB,mBAAS,KAAK,OAAO,KAAK;AAC1B,gBAAM,aAAa,aAAa,OAAO,GAAG,CAAC;AAAA,QAC/C;AAEA,cAAM,kBAAkB,CAAC,SAAiB,MAAM,aAAa,QAAQ,QAAQ,IAAI;AAEjF,kBAAU,QAAQ,gBAAgB,MAAM,iBAAiB,eAAe;AAAA,MAC5E;AAEA,iBAAW,YAAY,MAAY;AAC/B,iBAAS,eAAe,gBAAgB,GAAG,OAAA;AAC3C,kBAAU,QAAQ,cAAc,EAAE;AAAA,MACtC;AAAA,IACJ;AAGA,UAAM,CAAC,eAAe,eAAe,IAAI,cAAc,CAAA,UAAS,UAAU,QAAQ,aAAa,OAAO,IAAI,QAAQ,CAAC;AAEnH,QAAI,UAAU,QAAQ,WAAW;AAC7B,iBAAW,cAAc,iBAAiB;AAC1C,iBAAW,cAAc,iBAAiB;AAC1C,iBAAW,aAAa,iBAAiB;AACzC,iBAAW,SAAS,iBAAiB;AACrC,iBAAW,uBAAuB,IAAI;AAAA,IAC1C;AAGA,QAAI,MAAM,QAAQ,gBAAgB;AAC9B,iBAAW,gBAAgB,IAAI,IAAI,aAAA,IAAiB,OAAO;AAAA,IAC/D;AAGA,QAAI,IAAI,gBAAgB;AACpB,iBAAW,mBAAmB,IAAI,IAAI,cAAA,KAAmB,IAAI,4BAA4B,OAAO;AAAA,IACpG;AAMA,QAAI;AAEJ,QAAI,UAAU,aAAa,aAAa,IAAI,mBAAmB,CAAC,IAAI,gBAAgB;AAChF,iBAAW,mBAAmB,IAAI;AAClC,oBAAc,UAAU,aAAa,uBAAuB,IAAI,QAAQ,IAAA;AAAA,IAC5E;AAEA,UAAM,UAAW,IAAI,SAAyC;AAE9D,QAAI,SAAS,QAAQ;AACjB,iBAAW,sBAAsB,IAAI,QAAQ;AAAA,IACjD;AAEA,UAAM,MAAMF,eAAM,OAA4B,IAAI;AAClD,UAAM,eAAeA,eAAM,OAA4B,IAAI;AAC3D,UAAM,kBAAkB,kBAAkB,cAAc,CAAC,CAAC,WAAW;AAErEA,mBAAM,UAAU,MAAM;AAClB,YAAM,YAAY,IAAI,SAAS,sBAAA,EAAwB,UAAU;AACjE,YAAM,kBAAkB,aAAa,SAAS,sBAAA,EAAwB,UAAU;AAEhF,iBAAW,YAAY,eAAe;AAAA,IAC1C,GAAG,CAAC,aAAa,SAAS,iBAAiB,QAAQ,GAAG,qBAAqB,CAAC;AAE5E,UAAM,YAAY,GAAG,aAAa,gBAAgB,WAAW;AAAA,MACzD,qBAAqB,UAAU,QAAQ,aAAa,OAAO,WAAW,YAAY;AAAA,MAClF,wBAAwB,OAAO,WAAW,YAAY;AAAA,IAAA,CACzD;AAED,UAAM,YAAY,IAAI,aAAA;AAEtB,UAAM,YAAY,UAAU,CAAC,KAAK,WAAW,CAAC;AAE9C,WACIA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA,cAAC,MAAA,EAAI,GAAG,YAAY,WAAsB,KAAK,UAAA,GAC1C,UACA,IACI,gBAAA,EAEA,OAAO,CAAA,SAAQ,EAAE,aAAa,KAAK,OAAO,OAAO,YAAY,EAC7D,IAAI,CAAC,MAAM,cACRA,+BAAA,cAAC,QAAK,KAAK,KAAK,IAAI,MAAY,OAAO,WAAW,UAAU,aAAA,CAAc,CAC7E,CACT,GACC,cACGA,+BAAA,cAAC,QAAG,sBAAoB,IAAI,IAAI,KAAK,aAAA,GACjCA,+BAAA,cAAC,MAAA,EAAG,WAAU,gBAAA,GAAiB,WAAY,CAC/C,IACA,IACR;AAAA,EAER,CAAC;AACL;"}
|
|
1
|
+
{"version":3,"file":"DisplayRow.js","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '@/hooks/useResizeObserver';\nimport { isElementInteractive } from '@/utils/dom';\nimport { useDropTarget } from '@/utils/hooks/useDropTarget';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport type { TableRowWithMetaData } from '../../../../types';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n // Deferred a frame — resizeItem can trigger a synchronous flushSync, which React\n // rejects when called straight from this effect while still committing.\n requestAnimationFrame(() => {\n measureRow(rowHeight + expansionHeight);\n });\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["React","DisplayRow","row"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const Icon = require("../../../../../../../components/Icon/Icon.cjs");
|
|
5
|
-
const Button = require("../../../../../../../components/LegacyComponents/Button/Button.cjs");
|
|
6
|
-
const IconButton = require("../../../../../../../components/LegacyComponents/IconButton/IconButton.cjs");
|
|
7
|
-
const Localization = require("../../../../../../../components/Provider/Localization.cjs");
|
|
8
|
-
const Shortcut = require("../../../../../../../components/Shortcut/Shortcut.cjs");
|
|
9
4
|
const useIsLargeScreen = require("../../../../../../../hooks/useIsLargeScreen.cjs");
|
|
10
5
|
const ManageFiltersPopover = require("./ManageFiltersPopover.cjs");
|
|
11
6
|
const util = require("./util.cjs");
|
|
7
|
+
const Localization = require("../../../../../../../components/Provider/Localization.cjs");
|
|
8
|
+
const Shortcut = require("../../../../../../../components/Shortcut/Shortcut.cjs");
|
|
9
|
+
const IconButton = require("../../../../../../../components/LegacyComponents/IconButton/IconButton.cjs");
|
|
10
|
+
const Button = require("../../../../../../../components/LegacyComponents/Button/Button.cjs");
|
|
11
|
+
const Icon = require("../../../../../../../components/Icon/Icon.cjs");
|
|
12
12
|
function Filters(props) {
|
|
13
13
|
const { length, tableId, table } = props;
|
|
14
14
|
const { texts } = Localization.useLocalization();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"Filters.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Icon, LegacyButton, LegacyIconButton, Shortcut, useLocalization } from '@/components';\nimport { useIsLargeScreen } from '@/hooks/useIsLargeScreen';\n\nimport type { TableFilter } from '../../../../../types';\n\nimport { ManageFiltersPopover } from './ManageFiltersPopover';\nimport { isEmptyFilter } from './util';\n\nexport type FiltersProps<TType = unknown> = {\n length: number;\n tableId: string;\n table: ReactTable<TType>;\n};\n\nexport function Filters<TType = unknown>(props: FiltersProps<TType>) {\n const { length, tableId, table } = props;\n const { texts } = useLocalization();\n const isLargeScreen = useIsLargeScreen();\n const columnFilters = table.getState().columnFilters as TableFilter[];\n const appliedFilters = columnFilters.filter(f => !isEmptyFilter(f));\n const ref = React.useRef<HTMLButtonElement>(null);\n\n const shortcut = { key: 'f', meta: true, shift: true };\n\n const buttonProps = {\n 'aria-label': texts.table.filters.tooltip,\n className: appliedFilters.length ? '!bg-blue-100 !text-blue-900' : undefined,\n 'data-taco': `${tableId}-toolbar-filters`,\n popover: (popoverProps: PopoverProps) => <ManageFiltersPopover {...popoverProps} length={length} table={table} />,\n shortcut,\n ref,\n tooltip: (\n <>\n {texts.table.filters.tooltip}\n <Shortcut className=\"ml-2\" keys={shortcut} />\n </>\n ),\n };\n\n React.useEffect(() => {\n const emptyFilter = columnFilters.find(isEmptyFilter);\n\n // we set an empty filter when adding a filter through a column header.\n if (emptyFilter) {\n ref.current?.click();\n }\n }, [columnFilters]);\n\n if (!isLargeScreen && !appliedFilters.length) {\n return <LegacyIconButton {...buttonProps} icon=\"filter\" />;\n }\n\n return (\n <LegacyButton {...buttonProps}>\n <Icon className={isLargeScreen ? undefined : '-mr-1.5'} name={appliedFilters.length ? 'filter-solid' : 'filter'} />\n {isLargeScreen ? texts.table.filters.button : ''}\n {appliedFilters.length ? `(${appliedFilters.length})` : ''}\n </LegacyButton>\n );\n}\n"],"names":["useLocalization","useIsLargeScreen","isEmptyFilter","ManageFiltersPopover","Shortcut","LegacyIconButton","LegacyButton","Icon"],"mappings":";;;;;;;;;;;AAkBO,SAAS,QAAyB,OAA4B;AACjE,QAAM,EAAE,QAAQ,SAAS,MAAA,IAAU;AACnC,QAAM,EAAE,MAAA,IAAUA,6BAAA;AAClB,QAAM,gBAAgBC,iBAAAA,iBAAA;AACtB,QAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,QAAM,iBAAiB,cAAc,OAAO,OAAK,CAACC,KAAAA,cAAc,CAAC,CAAC;AAClE,QAAM,MAAM,MAAM,OAA0B,IAAI;AAEhD,QAAM,WAAW,EAAE,KAAK,KAAK,MAAM,MAAM,OAAO,KAAA;AAEhD,QAAM,cAAc;AAAA,IAChB,cAAc,MAAM,MAAM,QAAQ;AAAA,IAClC,WAAW,eAAe,SAAS,gCAAgC;AAAA,IACnE,aAAa,GAAG,OAAO;AAAA,IACvB,SAAS,CAAC,iBAA+B,sBAAA,cAACC,6CAAsB,GAAG,cAAc,QAAgB,OAAc;AAAA,IAC/G;AAAA,IACA;AAAA,IACA,SACI,sBAAA,cAAA,MAAA,UAAA,MACK,MAAM,MAAM,QAAQ,SACrB,sBAAA,cAACC,mBAAA,EAAS,WAAU,QAAO,MAAM,UAAU,CAC/C;AAAA,EAAA;AAIR,QAAM,UAAU,MAAM;AAClB,UAAM,cAAc,cAAc,KAAKF,kBAAa;AAGpD,QAAI,aAAa;AACb,UAAI,SAAS,MAAA;AAAA,IACjB;AAAA,EACJ,GAAG,CAAC,aAAa,CAAC;AAElB,MAAI,CAAC,iBAAiB,CAAC,eAAe,QAAQ;AAC1C,WAAO,sBAAA,cAACG,WAAAA,kBAAA,EAAkB,GAAG,aAAa,MAAK,UAAS;AAAA,EAC5D;AAEA,SACI,sBAAA,cAACC,OAAAA,cAAA,EAAc,GAAG,YAAA,GACd,sBAAA,cAACC,KAAAA,MAAA,EAAK,WAAW,gBAAgB,SAAY,WAAW,MAAM,eAAe,SAAS,iBAAiB,SAAA,CAAU,GAChH,gBAAgB,MAAM,MAAM,QAAQ,SAAS,IAC7C,eAAe,SAAS,IAAI,eAAe,MAAM,MAAM,EAC5D;AAER;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
|
-
import { Icon } from "../../../../../../../components/Icon/Icon.js";
|
|
3
|
-
import { LegacyButton } from "../../../../../../../components/LegacyComponents/Button/Button.js";
|
|
4
|
-
import { LegacyIconButton } from "../../../../../../../components/LegacyComponents/IconButton/IconButton.js";
|
|
5
|
-
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
6
|
-
import { Shortcut } from "../../../../../../../components/Shortcut/Shortcut.js";
|
|
7
2
|
import { useIsLargeScreen } from "../../../../../../../hooks/useIsLargeScreen.js";
|
|
8
3
|
import { ManageFiltersPopover } from "./ManageFiltersPopover.js";
|
|
9
4
|
import { isEmptyFilter } from "./util.js";
|
|
5
|
+
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
6
|
+
import { Shortcut } from "../../../../../../../components/Shortcut/Shortcut.js";
|
|
7
|
+
import { LegacyIconButton } from "../../../../../../../components/LegacyComponents/IconButton/IconButton.js";
|
|
8
|
+
import { LegacyButton } from "../../../../../../../components/LegacyComponents/Button/Button.js";
|
|
9
|
+
import { Icon } from "../../../../../../../components/Icon/Icon.js";
|
|
10
10
|
function Filters(props) {
|
|
11
11
|
const { length, tableId, table } = props;
|
|
12
12
|
const { texts } = useLocalization();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"Filters.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Icon, LegacyButton, LegacyIconButton, Shortcut, useLocalization } from '@/components';\nimport { useIsLargeScreen } from '@/hooks/useIsLargeScreen';\n\nimport type { TableFilter } from '../../../../../types';\n\nimport { ManageFiltersPopover } from './ManageFiltersPopover';\nimport { isEmptyFilter } from './util';\n\nexport type FiltersProps<TType = unknown> = {\n length: number;\n tableId: string;\n table: ReactTable<TType>;\n};\n\nexport function Filters<TType = unknown>(props: FiltersProps<TType>) {\n const { length, tableId, table } = props;\n const { texts } = useLocalization();\n const isLargeScreen = useIsLargeScreen();\n const columnFilters = table.getState().columnFilters as TableFilter[];\n const appliedFilters = columnFilters.filter(f => !isEmptyFilter(f));\n const ref = React.useRef<HTMLButtonElement>(null);\n\n const shortcut = { key: 'f', meta: true, shift: true };\n\n const buttonProps = {\n 'aria-label': texts.table.filters.tooltip,\n className: appliedFilters.length ? '!bg-blue-100 !text-blue-900' : undefined,\n 'data-taco': `${tableId}-toolbar-filters`,\n popover: (popoverProps: PopoverProps) => <ManageFiltersPopover {...popoverProps} length={length} table={table} />,\n shortcut,\n ref,\n tooltip: (\n <>\n {texts.table.filters.tooltip}\n <Shortcut className=\"ml-2\" keys={shortcut} />\n </>\n ),\n };\n\n React.useEffect(() => {\n const emptyFilter = columnFilters.find(isEmptyFilter);\n\n // we set an empty filter when adding a filter through a column header.\n if (emptyFilter) {\n ref.current?.click();\n }\n }, [columnFilters]);\n\n if (!isLargeScreen && !appliedFilters.length) {\n return <LegacyIconButton {...buttonProps} icon=\"filter\" />;\n }\n\n return (\n <LegacyButton {...buttonProps}>\n <Icon className={isLargeScreen ? undefined : '-mr-1.5'} name={appliedFilters.length ? 'filter-solid' : 'filter'} />\n {isLargeScreen ? texts.table.filters.button : ''}\n {appliedFilters.length ? `(${appliedFilters.length})` : ''}\n </LegacyButton>\n );\n}\n"],"names":["React"],"mappings":";;;;;;;;;AAkBO,SAAS,QAAyB,OAA4B;AACjE,QAAM,EAAE,QAAQ,SAAS,MAAA,IAAU;AACnC,QAAM,EAAE,MAAA,IAAU,gBAAA;AAClB,QAAM,gBAAgB,iBAAA;AACtB,QAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,QAAM,iBAAiB,cAAc,OAAO,OAAK,CAAC,cAAc,CAAC,CAAC;AAClE,QAAM,MAAMA,eAAM,OAA0B,IAAI;AAEhD,QAAM,WAAW,EAAE,KAAK,KAAK,MAAM,MAAM,OAAO,KAAA;AAEhD,QAAM,cAAc;AAAA,IAChB,cAAc,MAAM,MAAM,QAAQ;AAAA,IAClC,WAAW,eAAe,SAAS,gCAAgC;AAAA,IACnE,aAAa,GAAG,OAAO;AAAA,IACvB,SAAS,CAAC,iBAA+BA,+BAAA,cAAC,wBAAsB,GAAG,cAAc,QAAgB,OAAc;AAAA,IAC/G;AAAA,IACA;AAAA,IACA,SACIA,+BAAA,cAAAA,eAAA,UAAA,MACK,MAAM,MAAM,QAAQ,SACrBA,+BAAA,cAAC,UAAA,EAAS,WAAU,QAAO,MAAM,UAAU,CAC/C;AAAA,EAAA;AAIRA,iBAAM,UAAU,MAAM;AAClB,UAAM,cAAc,cAAc,KAAK,aAAa;AAGpD,QAAI,aAAa;AACb,UAAI,SAAS,MAAA;AAAA,IACjB;AAAA,EACJ,GAAG,CAAC,aAAa,CAAC;AAElB,MAAI,CAAC,iBAAiB,CAAC,eAAe,QAAQ;AAC1C,WAAOA,+BAAA,cAAC,kBAAA,EAAkB,GAAG,aAAa,MAAK,UAAS;AAAA,EAC5D;AAEA,SACIA,+BAAA,cAAC,cAAA,EAAc,GAAG,YAAA,GACdA,+BAAA,cAAC,MAAA,EAAK,WAAW,gBAAgB,SAAY,WAAW,MAAM,eAAe,SAAS,iBAAiB,SAAA,CAAU,GAChH,gBAAgB,MAAM,MAAM,QAAQ,SAAS,IAC7C,eAAe,SAAS,IAAI,eAAe,MAAM,MAAM,EAC5D;AAER;"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const Button = require("../../../../../../../components/Actions/Button/Button.cjs");
|
|
5
|
-
const Inline = require("../../../../../../../components/Inline/Inline.cjs");
|
|
6
|
-
const Popover = require("../../../../../../../components/Popover/Popover.cjs");
|
|
7
|
-
const Localization = require("../../../../../../../components/Provider/Localization.cjs");
|
|
8
4
|
const types = require("../../../../../types.cjs");
|
|
9
5
|
const columns = require("../../../../../useTableManager/util/columns.cjs");
|
|
10
6
|
const Filter = require("./components/Filter.cjs");
|
|
11
7
|
const FilterContext = require("./FilterContext.cjs");
|
|
12
8
|
const util = require("./util.cjs");
|
|
9
|
+
const Localization = require("../../../../../../../components/Provider/Localization.cjs");
|
|
10
|
+
const Popover = require("../../../../../../../components/Popover/Popover.cjs");
|
|
11
|
+
const Button = require("../../../../../../../components/Actions/Button/Button.cjs");
|
|
12
|
+
const Inline = require("../../../../../../../components/Inline/Inline.cjs");
|
|
13
13
|
const placeholderFilter = { id: "", value: { comparator: types.TableFilterComparator.Contains, value: void 0 } };
|
|
14
14
|
function ManageFiltersPopover(props) {
|
|
15
15
|
const { length, table, ...popoverProps } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageFiltersPopover.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Button } from '../../../../../../../components/Actions/Button/Button';\nimport { Inline } from '../../../../../../../components/Inline/Inline';\nimport { Popover } from '../../../../../../../components/Popover/Popover';\nimport { useLocalization } from '../../../../../../../components/Provider/Localization';\nimport type { TableFilter, TableFilterValue } from '../../../../../types';\nimport { TableFilterComparator } from '../../../../../types';\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\n\nimport { Filter } from './components/Filter';\nimport { FilterContext } from './FilterContext';\nimport { isEmptyFilter, sortByHeader } from './util';\n\nexport type ManageFiltersPopoverProps<TType = unknown> = {\n length: number;\n table: ReactTable<TType>;\n};\n\nconst placeholderFilter: TableFilter = { id: '', value: { comparator: TableFilterComparator.Contains, value: undefined } };\n\nexport function ManageFiltersPopover<TType = unknown>(props: ManageFiltersPopoverProps<TType>) {\n const { length, table, ...popoverProps } = props;\n const { locale, texts } = useLocalization();\n\n const allColumns = table\n .getAllLeafColumns()\n .filter(column => !isInternalColumn(column.id))\n .sort(sortByHeader);\n\n const columnFilters = table.getState().columnFilters as TableFilter[];\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n // state, since we \"apply\" filters - our filter values have a special shape, so we force to our type\n const [filters, setFilters] = React.useState<TableFilter[]>(columnFilters.length ? columnFilters : [placeholderFilter]);\n\n // this runs if filters are set outside (e.g. through column header)\n React.useEffect(() => {\n setFilters(columnFilters.length === 0 ? [placeholderFilter] : columnFilters);\n\n // focus the filter value, as we preset the column/comparator.\n requestAnimationFrame(() => {\n const filterValues = document.querySelectorAll('[data-query-selector=\"filter-value\"]');\n const lastFilter = filterValues.length ? filterValues[filterValues.length - 1] : undefined;\n\n (lastFilter as HTMLElement)?.focus();\n });\n }, [columnFilters]);\n\n // filters\n const handleChangeFilter = (position: number, filter: { id: string; value: TableFilterValue }) => {\n setFilters(currentFilters => {\n return currentFilters.map((current, index) => {\n if (index === position) {\n return filter;\n }\n return current;\n });\n });\n };\n\n const handleRemoveFilter = (position: number) => {\n if (filters.length === 1) {\n setFilters([placeholderFilter]);\n return;\n }\n\n setFilters(currentFilters => currentFilters.filter((_, index) => index !== position));\n };\n\n const handleCreate = () => {\n setFilters(filters.concat(placeholderFilter));\n };\n\n //\n const handleApply = () => {\n table.setColumnFilters(() => {\n const newFilters = filters.filter(f => {\n if (f.id === null || f.id === '') {\n return false;\n }\n\n const controlRenderer = allColumns.find(column => column.id === f.id)?.columnDef.meta?.control;\n\n if (\n f.value.comparator === TableFilterComparator.IsEmpty ||\n f.value.comparator === TableFilterComparator.IsNotEmpty ||\n controlRenderer === 'switch'\n ) {\n return true;\n }\n\n const value = f.value.value;\n\n return value !== undefined && value !== null && value !== '';\n });\n\n return newFilters;\n });\n };\n\n const handleClear = () => {\n table.resetColumnFilters();\n setFilters([placeholderFilter]);\n };\n\n const handleClose = (open: boolean) => {\n if (!open) {\n const nonEmptyFilters = columnFilters.filter(f => !isEmptyFilter(f));\n table.setColumnFilters(nonEmptyFilters);\n setFilters(nonEmptyFilters.length === 0 ? [placeholderFilter] : nonEmptyFilters);\n }\n };\n\n return (\n <Popover {...popoverProps} onChange={handleClose}>\n <Popover.Content>\n <FilterContext.Provider value={filters}>\n <div className=\"flex w-[40rem] flex-col gap-4\">\n <div className=\"flex h-8\">\n <div className=\"flex w-full items-center gap-2\">\n <h4 className=\"mb-0 inline-flex\">{texts.table.filters.button}</h4>\n <p className=\"mb-0 mr-auto mt-px inline-flex text-gray-700\">\n {texts.table.filters.total\n .replace(\n '[CURRENT]',\n new Intl.NumberFormat(locale).format(\n tableMeta.server._experimentalDataLoader2\n ? length // dataloader2 doesn't fill in the data array with undefined like the standard dataloader, so we need to show the full length.\n : table.getFilteredRowModel().rows.length\n )\n )\n .replace('[TOTAL]', new Intl.NumberFormat(locale).format(length))}\n </p>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n {filters.map((filter, index) => (\n <Filter\n key={`filter_${index}`}\n allColumns={allColumns}\n filter={filter}\n position={index}\n onChange={handleChangeFilter}\n onRemove={filters.some(f => f.id) || filters.length > 1 ? handleRemoveFilter : undefined}\n />\n ))}\n <div className=\"justify-start\">\n <Button icon=\"circle-plus\" variant=\"tertiary\" onClick={handleCreate} name=\"add-filter\">\n {texts.table.filters.buttons.addFilter}\n </Button>\n </div>\n </div>\n <Inline spacing={8} alignInline=\"end\">\n <Popover.Close>\n <Button name=\"close-filters\">{texts.table.filters.buttons.cancel}</Button>\n </Popover.Close>\n <Button name=\"clear-filters\" onClick={handleClear}>\n {texts.table.filters.buttons.clear}\n </Button>\n <Button variant=\"primary\" name=\"apply-filters\" onClick={handleApply}>\n {texts.table.filters.buttons.apply}\n </Button>\n </Inline>\n </div>\n </FilterContext.Provider>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["TableFilterComparator","useLocalization","isInternalColumn","sortByHeader","isEmptyFilter","Popover","FilterContext","Filter","Button","Inline"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManageFiltersPopover.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Button, Inline, Popover, useLocalization } from '@/components';\n\nimport type { TableFilter, TableFilterValue } from '../../../../../types';\nimport { TableFilterComparator } from '../../../../../types';\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\n\nimport { Filter } from './components/Filter';\nimport { FilterContext } from './FilterContext';\nimport { isEmptyFilter, sortByHeader } from './util';\n\nexport type ManageFiltersPopoverProps<TType = unknown> = {\n length: number;\n table: ReactTable<TType>;\n};\n\nconst placeholderFilter: TableFilter = { id: '', value: { comparator: TableFilterComparator.Contains, value: undefined } };\n\nexport function ManageFiltersPopover<TType = unknown>(props: ManageFiltersPopoverProps<TType>) {\n const { length, table, ...popoverProps } = props;\n const { locale, texts } = useLocalization();\n\n const allColumns = table\n .getAllLeafColumns()\n .filter(column => !isInternalColumn(column.id))\n .sort(sortByHeader);\n\n const columnFilters = table.getState().columnFilters as TableFilter[];\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n // state, since we \"apply\" filters - our filter values have a special shape, so we force to our type\n const [filters, setFilters] = React.useState<TableFilter[]>(columnFilters.length ? columnFilters : [placeholderFilter]);\n\n // this runs if filters are set outside (e.g. through column header)\n React.useEffect(() => {\n setFilters(columnFilters.length === 0 ? [placeholderFilter] : columnFilters);\n\n // focus the filter value, as we preset the column/comparator.\n requestAnimationFrame(() => {\n const filterValues = document.querySelectorAll('[data-query-selector=\"filter-value\"]');\n const lastFilter = filterValues.length ? filterValues[filterValues.length - 1] : undefined;\n\n (lastFilter as HTMLElement)?.focus();\n });\n }, [columnFilters]);\n\n // filters\n const handleChangeFilter = (position: number, filter: { id: string; value: TableFilterValue }) => {\n setFilters(currentFilters => {\n return currentFilters.map((current, index) => {\n if (index === position) {\n return filter;\n }\n return current;\n });\n });\n };\n\n const handleRemoveFilter = (position: number) => {\n if (filters.length === 1) {\n setFilters([placeholderFilter]);\n return;\n }\n\n setFilters(currentFilters => currentFilters.filter((_, index) => index !== position));\n };\n\n const handleCreate = () => {\n setFilters(filters.concat(placeholderFilter));\n };\n\n //\n const handleApply = () => {\n table.setColumnFilters(() => {\n const newFilters = filters.filter(f => {\n if (f.id === null || f.id === '') {\n return false;\n }\n\n const controlRenderer = allColumns.find(column => column.id === f.id)?.columnDef.meta?.control;\n\n if (\n f.value.comparator === TableFilterComparator.IsEmpty ||\n f.value.comparator === TableFilterComparator.IsNotEmpty ||\n controlRenderer === 'switch'\n ) {\n return true;\n }\n\n const value = f.value.value;\n\n return value !== undefined && value !== null && value !== '';\n });\n\n return newFilters;\n });\n };\n\n const handleClear = () => {\n table.resetColumnFilters();\n setFilters([placeholderFilter]);\n };\n\n const handleClose = (open: boolean) => {\n if (!open) {\n const nonEmptyFilters = columnFilters.filter(f => !isEmptyFilter(f));\n table.setColumnFilters(nonEmptyFilters);\n setFilters(nonEmptyFilters.length === 0 ? [placeholderFilter] : nonEmptyFilters);\n }\n };\n\n return (\n <Popover {...popoverProps} onChange={handleClose}>\n <Popover.Content>\n <FilterContext.Provider value={filters}>\n <div className=\"flex w-[40rem] flex-col gap-4\">\n <div className=\"flex h-8\">\n <div className=\"flex w-full items-center gap-2\">\n <h4 className=\"mb-0 inline-flex\">{texts.table.filters.button}</h4>\n <p className=\"mb-0 mr-auto mt-px inline-flex text-gray-700\">\n {texts.table.filters.total\n .replace(\n '[CURRENT]',\n new Intl.NumberFormat(locale).format(\n tableMeta.server._experimentalDataLoader2\n ? length // dataloader2 doesn't fill in the data array with undefined like the standard dataloader, so we need to show the full length.\n : table.getFilteredRowModel().rows.length\n )\n )\n .replace('[TOTAL]', new Intl.NumberFormat(locale).format(length))}\n </p>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n {filters.map((filter, index) => (\n <Filter\n key={`filter_${index}`}\n allColumns={allColumns}\n filter={filter}\n position={index}\n onChange={handleChangeFilter}\n onRemove={filters.some(f => f.id) || filters.length > 1 ? handleRemoveFilter : undefined}\n />\n ))}\n <div className=\"justify-start\">\n <Button icon=\"circle-plus\" variant=\"tertiary\" onClick={handleCreate} name=\"add-filter\">\n {texts.table.filters.buttons.addFilter}\n </Button>\n </div>\n </div>\n <Inline spacing={8} alignInline=\"end\">\n <Popover.Close>\n <Button name=\"close-filters\">{texts.table.filters.buttons.cancel}</Button>\n </Popover.Close>\n <Button name=\"clear-filters\" onClick={handleClear}>\n {texts.table.filters.buttons.clear}\n </Button>\n <Button variant=\"primary\" name=\"apply-filters\" onClick={handleApply}>\n {texts.table.filters.buttons.apply}\n </Button>\n </Inline>\n </div>\n </FilterContext.Provider>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["TableFilterComparator","useLocalization","isInternalColumn","sortByHeader","isEmptyFilter","Popover","FilterContext","Filter","Button","Inline"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,oBAAiC,EAAE,IAAI,IAAI,OAAO,EAAE,YAAYA,MAAAA,sBAAsB,UAAU,OAAO,SAAU;AAEhH,SAAS,qBAAsC,OAAyC;AAC3F,QAAM,EAAE,QAAQ,OAAO,GAAG,iBAAiB;AAC3C,QAAM,EAAE,QAAQ,MAAA,IAAUC,6BAAA;AAE1B,QAAM,aAAa,MACd,kBAAA,EACA,OAAO,CAAA,WAAU,CAACC,QAAAA,iBAAiB,OAAO,EAAE,CAAC,EAC7C,KAAKC,KAAAA,YAAY;AAEtB,QAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,QAAM,YAAY,MAAM,QAAQ;AAGhC,QAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAwB,cAAc,SAAS,gBAAgB,CAAC,iBAAiB,CAAC;AAGtH,QAAM,UAAU,MAAM;AAClB,eAAW,cAAc,WAAW,IAAI,CAAC,iBAAiB,IAAI,aAAa;AAG3E,0BAAsB,MAAM;AACxB,YAAM,eAAe,SAAS,iBAAiB,sCAAsC;AACrF,YAAM,aAAa,aAAa,SAAS,aAAa,aAAa,SAAS,CAAC,IAAI;AAEhF,kBAA4B,MAAA;AAAA,IACjC,CAAC;AAAA,EACL,GAAG,CAAC,aAAa,CAAC;AAGlB,QAAM,qBAAqB,CAAC,UAAkB,WAAoD;AAC9F,eAAW,CAAA,mBAAkB;AACzB,aAAO,eAAe,IAAI,CAAC,SAAS,UAAU;AAC1C,YAAI,UAAU,UAAU;AACpB,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAEA,QAAM,qBAAqB,CAAC,aAAqB;AAC7C,QAAI,QAAQ,WAAW,GAAG;AACtB,iBAAW,CAAC,iBAAiB,CAAC;AAC9B;AAAA,IACJ;AAEA,eAAW,CAAA,mBAAkB,eAAe,OAAO,CAAC,GAAG,UAAU,UAAU,QAAQ,CAAC;AAAA,EACxF;AAEA,QAAM,eAAe,MAAM;AACvB,eAAW,QAAQ,OAAO,iBAAiB,CAAC;AAAA,EAChD;AAGA,QAAM,cAAc,MAAM;AACtB,UAAM,iBAAiB,MAAM;AACzB,YAAM,aAAa,QAAQ,OAAO,CAAA,MAAK;AACnC,YAAI,EAAE,OAAO,QAAQ,EAAE,OAAO,IAAI;AAC9B,iBAAO;AAAA,QACX;AAEA,cAAM,kBAAkB,WAAW,KAAK,CAAA,WAAU,OAAO,OAAO,EAAE,EAAE,GAAG,UAAU,MAAM;AAEvF,YACI,EAAE,MAAM,eAAeH,MAAAA,sBAAsB,WAC7C,EAAE,MAAM,eAAeA,MAAAA,sBAAsB,cAC7C,oBAAoB,UACtB;AACE,iBAAO;AAAA,QACX;AAEA,cAAM,QAAQ,EAAE,MAAM;AAEtB,eAAO,UAAU,UAAa,UAAU,QAAQ,UAAU;AAAA,MAC9D,CAAC;AAED,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AAEA,QAAM,cAAc,MAAM;AACtB,UAAM,mBAAA;AACN,eAAW,CAAC,iBAAiB,CAAC;AAAA,EAClC;AAEA,QAAM,cAAc,CAAC,SAAkB;AACnC,QAAI,CAAC,MAAM;AACP,YAAM,kBAAkB,cAAc,OAAO,OAAK,CAACI,KAAAA,cAAc,CAAC,CAAC;AACnE,YAAM,iBAAiB,eAAe;AACtC,iBAAW,gBAAgB,WAAW,IAAI,CAAC,iBAAiB,IAAI,eAAe;AAAA,IACnF;AAAA,EACJ;AAEA,SACI,sBAAA,cAACC,QAAAA,WAAS,GAAG,cAAc,UAAU,YAAA,GACjC,sBAAA,cAACA,QAAAA,QAAQ,SAAR,0CACIC,cAAAA,cAAc,UAAd,EAAuB,OAAO,QAAA,uCAC1B,OAAA,EAAI,WAAU,mCACX,sBAAA,cAAC,OAAA,EAAI,WAAU,WAAA,GACX,sBAAA,cAAC,SAAI,WAAU,iCAAA,uCACV,MAAA,EAAG,WAAU,sBAAoB,MAAM,MAAM,QAAQ,MAAO,uCAC5D,KAAA,EAAE,WAAU,kDACR,MAAM,MAAM,QAAQ,MAChB;AAAA,IACG;AAAA,IACA,IAAI,KAAK,aAAa,MAAM,EAAE;AAAA,MAC1B,UAAU,OAAO,2BACX,SACA,MAAM,oBAAA,EAAsB,KAAK;AAAA,IAAA;AAAA,EAC3C,EAEH,QAAQ,WAAW,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAC,CACxE,CACJ,CACJ,GACA,sBAAA,cAAC,OAAA,EAAI,WAAU,yBACV,QAAQ,IAAI,CAAC,QAAQ,UAClB,sBAAA;AAAA,IAACC,OAAAA;AAAAA,IAAA;AAAA,MACG,KAAK,UAAU,KAAK;AAAA,MACpB;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU,QAAQ,KAAK,CAAA,MAAK,EAAE,EAAE,KAAK,QAAQ,SAAS,IAAI,qBAAqB;AAAA,IAAA;AAAA,EAAA,CAEtF,GACD,sBAAA,cAAC,OAAA,EAAI,WAAU,gBAAA,GACX,sBAAA,cAACC,OAAAA,QAAA,EAAO,MAAK,eAAc,SAAQ,YAAW,SAAS,cAAc,MAAK,gBACrE,MAAM,MAAM,QAAQ,QAAQ,SACjC,CACJ,CACJ,uCACCC,OAAAA,QAAA,EAAO,SAAS,GAAG,aAAY,SAC5B,sBAAA,cAACJ,QAAAA,QAAQ,OAAR,0CACIG,OAAAA,QAAA,EAAO,MAAK,gBAAA,GAAiB,MAAM,MAAM,QAAQ,QAAQ,MAAO,CACrE,GACA,sBAAA,cAACA,OAAAA,QAAA,EAAO,MAAK,iBAAgB,SAAS,YAAA,GACjC,MAAM,MAAM,QAAQ,QAAQ,KACjC,GACA,sBAAA,cAACA,OAAAA,UAAO,SAAQ,WAAU,MAAK,iBAAgB,SAAS,YAAA,GACnD,MAAM,MAAM,QAAQ,QAAQ,KACjC,CACJ,CACJ,CACJ,CACJ,CACJ;AAER;;"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
|
-
import { Button } from "../../../../../../../components/Actions/Button/Button.js";
|
|
3
|
-
import { Inline } from "../../../../../../../components/Inline/Inline.js";
|
|
4
|
-
import { Popover } from "../../../../../../../components/Popover/Popover.js";
|
|
5
|
-
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
6
2
|
import { TableFilterComparator } from "../../../../../types.js";
|
|
7
3
|
import { isInternalColumn } from "../../../../../useTableManager/util/columns.js";
|
|
8
4
|
import { Filter } from "./components/Filter.js";
|
|
9
5
|
import { FilterContext } from "./FilterContext.js";
|
|
10
6
|
import { sortByHeader, isEmptyFilter } from "./util.js";
|
|
7
|
+
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
8
|
+
import { Popover } from "../../../../../../../components/Popover/Popover.js";
|
|
9
|
+
import { Button } from "../../../../../../../components/Actions/Button/Button.js";
|
|
10
|
+
import { Inline } from "../../../../../../../components/Inline/Inline.js";
|
|
11
11
|
const placeholderFilter = { id: "", value: { comparator: TableFilterComparator.Contains, value: void 0 } };
|
|
12
12
|
function ManageFiltersPopover(props) {
|
|
13
13
|
const { length, table, ...popoverProps } = props;
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageFiltersPopover.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Button } from '../../../../../../../components/Actions/Button/Button';\nimport { Inline } from '../../../../../../../components/Inline/Inline';\nimport { Popover } from '../../../../../../../components/Popover/Popover';\nimport { useLocalization } from '../../../../../../../components/Provider/Localization';\nimport type { TableFilter, TableFilterValue } from '../../../../../types';\nimport { TableFilterComparator } from '../../../../../types';\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\n\nimport { Filter } from './components/Filter';\nimport { FilterContext } from './FilterContext';\nimport { isEmptyFilter, sortByHeader } from './util';\n\nexport type ManageFiltersPopoverProps<TType = unknown> = {\n length: number;\n table: ReactTable<TType>;\n};\n\nconst placeholderFilter: TableFilter = { id: '', value: { comparator: TableFilterComparator.Contains, value: undefined } };\n\nexport function ManageFiltersPopover<TType = unknown>(props: ManageFiltersPopoverProps<TType>) {\n const { length, table, ...popoverProps } = props;\n const { locale, texts } = useLocalization();\n\n const allColumns = table\n .getAllLeafColumns()\n .filter(column => !isInternalColumn(column.id))\n .sort(sortByHeader);\n\n const columnFilters = table.getState().columnFilters as TableFilter[];\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n // state, since we \"apply\" filters - our filter values have a special shape, so we force to our type\n const [filters, setFilters] = React.useState<TableFilter[]>(columnFilters.length ? columnFilters : [placeholderFilter]);\n\n // this runs if filters are set outside (e.g. through column header)\n React.useEffect(() => {\n setFilters(columnFilters.length === 0 ? [placeholderFilter] : columnFilters);\n\n // focus the filter value, as we preset the column/comparator.\n requestAnimationFrame(() => {\n const filterValues = document.querySelectorAll('[data-query-selector=\"filter-value\"]');\n const lastFilter = filterValues.length ? filterValues[filterValues.length - 1] : undefined;\n\n (lastFilter as HTMLElement)?.focus();\n });\n }, [columnFilters]);\n\n // filters\n const handleChangeFilter = (position: number, filter: { id: string; value: TableFilterValue }) => {\n setFilters(currentFilters => {\n return currentFilters.map((current, index) => {\n if (index === position) {\n return filter;\n }\n return current;\n });\n });\n };\n\n const handleRemoveFilter = (position: number) => {\n if (filters.length === 1) {\n setFilters([placeholderFilter]);\n return;\n }\n\n setFilters(currentFilters => currentFilters.filter((_, index) => index !== position));\n };\n\n const handleCreate = () => {\n setFilters(filters.concat(placeholderFilter));\n };\n\n //\n const handleApply = () => {\n table.setColumnFilters(() => {\n const newFilters = filters.filter(f => {\n if (f.id === null || f.id === '') {\n return false;\n }\n\n const controlRenderer = allColumns.find(column => column.id === f.id)?.columnDef.meta?.control;\n\n if (\n f.value.comparator === TableFilterComparator.IsEmpty ||\n f.value.comparator === TableFilterComparator.IsNotEmpty ||\n controlRenderer === 'switch'\n ) {\n return true;\n }\n\n const value = f.value.value;\n\n return value !== undefined && value !== null && value !== '';\n });\n\n return newFilters;\n });\n };\n\n const handleClear = () => {\n table.resetColumnFilters();\n setFilters([placeholderFilter]);\n };\n\n const handleClose = (open: boolean) => {\n if (!open) {\n const nonEmptyFilters = columnFilters.filter(f => !isEmptyFilter(f));\n table.setColumnFilters(nonEmptyFilters);\n setFilters(nonEmptyFilters.length === 0 ? [placeholderFilter] : nonEmptyFilters);\n }\n };\n\n return (\n <Popover {...popoverProps} onChange={handleClose}>\n <Popover.Content>\n <FilterContext.Provider value={filters}>\n <div className=\"flex w-[40rem] flex-col gap-4\">\n <div className=\"flex h-8\">\n <div className=\"flex w-full items-center gap-2\">\n <h4 className=\"mb-0 inline-flex\">{texts.table.filters.button}</h4>\n <p className=\"mb-0 mr-auto mt-px inline-flex text-gray-700\">\n {texts.table.filters.total\n .replace(\n '[CURRENT]',\n new Intl.NumberFormat(locale).format(\n tableMeta.server._experimentalDataLoader2\n ? length // dataloader2 doesn't fill in the data array with undefined like the standard dataloader, so we need to show the full length.\n : table.getFilteredRowModel().rows.length\n )\n )\n .replace('[TOTAL]', new Intl.NumberFormat(locale).format(length))}\n </p>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n {filters.map((filter, index) => (\n <Filter\n key={`filter_${index}`}\n allColumns={allColumns}\n filter={filter}\n position={index}\n onChange={handleChangeFilter}\n onRemove={filters.some(f => f.id) || filters.length > 1 ? handleRemoveFilter : undefined}\n />\n ))}\n <div className=\"justify-start\">\n <Button icon=\"circle-plus\" variant=\"tertiary\" onClick={handleCreate} name=\"add-filter\">\n {texts.table.filters.buttons.addFilter}\n </Button>\n </div>\n </div>\n <Inline spacing={8} alignInline=\"end\">\n <Popover.Close>\n <Button name=\"close-filters\">{texts.table.filters.buttons.cancel}</Button>\n </Popover.Close>\n <Button name=\"clear-filters\" onClick={handleClear}>\n {texts.table.filters.buttons.clear}\n </Button>\n <Button variant=\"primary\" name=\"apply-filters\" onClick={handleApply}>\n {texts.table.filters.buttons.apply}\n </Button>\n </Inline>\n </div>\n </FilterContext.Provider>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManageFiltersPopover.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Button, Inline, Popover, useLocalization } from '@/components';\n\nimport type { TableFilter, TableFilterValue } from '../../../../../types';\nimport { TableFilterComparator } from '../../../../../types';\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\n\nimport { Filter } from './components/Filter';\nimport { FilterContext } from './FilterContext';\nimport { isEmptyFilter, sortByHeader } from './util';\n\nexport type ManageFiltersPopoverProps<TType = unknown> = {\n length: number;\n table: ReactTable<TType>;\n};\n\nconst placeholderFilter: TableFilter = { id: '', value: { comparator: TableFilterComparator.Contains, value: undefined } };\n\nexport function ManageFiltersPopover<TType = unknown>(props: ManageFiltersPopoverProps<TType>) {\n const { length, table, ...popoverProps } = props;\n const { locale, texts } = useLocalization();\n\n const allColumns = table\n .getAllLeafColumns()\n .filter(column => !isInternalColumn(column.id))\n .sort(sortByHeader);\n\n const columnFilters = table.getState().columnFilters as TableFilter[];\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n // state, since we \"apply\" filters - our filter values have a special shape, so we force to our type\n const [filters, setFilters] = React.useState<TableFilter[]>(columnFilters.length ? columnFilters : [placeholderFilter]);\n\n // this runs if filters are set outside (e.g. through column header)\n React.useEffect(() => {\n setFilters(columnFilters.length === 0 ? [placeholderFilter] : columnFilters);\n\n // focus the filter value, as we preset the column/comparator.\n requestAnimationFrame(() => {\n const filterValues = document.querySelectorAll('[data-query-selector=\"filter-value\"]');\n const lastFilter = filterValues.length ? filterValues[filterValues.length - 1] : undefined;\n\n (lastFilter as HTMLElement)?.focus();\n });\n }, [columnFilters]);\n\n // filters\n const handleChangeFilter = (position: number, filter: { id: string; value: TableFilterValue }) => {\n setFilters(currentFilters => {\n return currentFilters.map((current, index) => {\n if (index === position) {\n return filter;\n }\n return current;\n });\n });\n };\n\n const handleRemoveFilter = (position: number) => {\n if (filters.length === 1) {\n setFilters([placeholderFilter]);\n return;\n }\n\n setFilters(currentFilters => currentFilters.filter((_, index) => index !== position));\n };\n\n const handleCreate = () => {\n setFilters(filters.concat(placeholderFilter));\n };\n\n //\n const handleApply = () => {\n table.setColumnFilters(() => {\n const newFilters = filters.filter(f => {\n if (f.id === null || f.id === '') {\n return false;\n }\n\n const controlRenderer = allColumns.find(column => column.id === f.id)?.columnDef.meta?.control;\n\n if (\n f.value.comparator === TableFilterComparator.IsEmpty ||\n f.value.comparator === TableFilterComparator.IsNotEmpty ||\n controlRenderer === 'switch'\n ) {\n return true;\n }\n\n const value = f.value.value;\n\n return value !== undefined && value !== null && value !== '';\n });\n\n return newFilters;\n });\n };\n\n const handleClear = () => {\n table.resetColumnFilters();\n setFilters([placeholderFilter]);\n };\n\n const handleClose = (open: boolean) => {\n if (!open) {\n const nonEmptyFilters = columnFilters.filter(f => !isEmptyFilter(f));\n table.setColumnFilters(nonEmptyFilters);\n setFilters(nonEmptyFilters.length === 0 ? [placeholderFilter] : nonEmptyFilters);\n }\n };\n\n return (\n <Popover {...popoverProps} onChange={handleClose}>\n <Popover.Content>\n <FilterContext.Provider value={filters}>\n <div className=\"flex w-[40rem] flex-col gap-4\">\n <div className=\"flex h-8\">\n <div className=\"flex w-full items-center gap-2\">\n <h4 className=\"mb-0 inline-flex\">{texts.table.filters.button}</h4>\n <p className=\"mb-0 mr-auto mt-px inline-flex text-gray-700\">\n {texts.table.filters.total\n .replace(\n '[CURRENT]',\n new Intl.NumberFormat(locale).format(\n tableMeta.server._experimentalDataLoader2\n ? length // dataloader2 doesn't fill in the data array with undefined like the standard dataloader, so we need to show the full length.\n : table.getFilteredRowModel().rows.length\n )\n )\n .replace('[TOTAL]', new Intl.NumberFormat(locale).format(length))}\n </p>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n {filters.map((filter, index) => (\n <Filter\n key={`filter_${index}`}\n allColumns={allColumns}\n filter={filter}\n position={index}\n onChange={handleChangeFilter}\n onRemove={filters.some(f => f.id) || filters.length > 1 ? handleRemoveFilter : undefined}\n />\n ))}\n <div className=\"justify-start\">\n <Button icon=\"circle-plus\" variant=\"tertiary\" onClick={handleCreate} name=\"add-filter\">\n {texts.table.filters.buttons.addFilter}\n </Button>\n </div>\n </div>\n <Inline spacing={8} alignInline=\"end\">\n <Popover.Close>\n <Button name=\"close-filters\">{texts.table.filters.buttons.cancel}</Button>\n </Popover.Close>\n <Button name=\"clear-filters\" onClick={handleClear}>\n {texts.table.filters.buttons.clear}\n </Button>\n <Button variant=\"primary\" name=\"apply-filters\" onClick={handleApply}>\n {texts.table.filters.buttons.apply}\n </Button>\n </Inline>\n </div>\n </FilterContext.Provider>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["React"],"mappings":"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"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const IconButton = require("../../../../../../../../components/LegacyComponents/IconButton/IconButton.cjs");
|
|
5
|
-
const Localization = require("../../../../../../../../components/Provider/Localization.cjs");
|
|
6
4
|
const types = require("../../../../../../types.cjs");
|
|
7
5
|
const util = require("../util.cjs");
|
|
8
6
|
const FilterColumn = require("./FilterColumn.cjs");
|
|
9
7
|
const FilterComparator = require("./FilterComparator.cjs");
|
|
10
8
|
const FilterValue = require("./FilterValue.cjs");
|
|
9
|
+
const Localization = require("../../../../../../../../components/Provider/Localization.cjs");
|
|
10
|
+
const IconButton = require("../../../../../../../../components/LegacyComponents/IconButton/IconButton.cjs");
|
|
11
11
|
function Filter(props) {
|
|
12
12
|
const { allColumns, filter, onChange: handleChange, onRemove, position } = props;
|
|
13
13
|
const { texts } = Localization.useLocalization();
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.cjs","sources":["../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.tsx"],"sourcesContent":["import type { Column as ReactTableColumn } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { LegacyIconButton
|
|
1
|
+
{"version":3,"file":"Filter.cjs","sources":["../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.tsx"],"sourcesContent":["import type { Column as ReactTableColumn } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { LegacyIconButton, useLocalization } from '@/components';\n\nimport type { TableFilter } from '../../../../../../types';\nimport { TableFilterComparator } from '../../../../../../types';\nimport { guessComparatorsBasedOnControl } from '../util';\n\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { FilterValue } from './FilterValue';\n\nexport type FilterProps<TType = unknown> = {\n allColumns: ReactTableColumn<TType, unknown>[];\n filter: TableFilter;\n position: number;\n onChange: (position: number, value: TableFilter) => void;\n onRemove?: (position: number) => void;\n};\n\nexport function Filter<TType = unknown>(props: FilterProps<TType>) {\n const { allColumns, filter, onChange: handleChange, onRemove, position } = props;\n const { texts } = useLocalization();\n const column = allColumns.find(column => column.id === filter.id);\n const ref = React.useRef<HTMLButtonElement>(null);\n\n const {\n id,\n value: { comparator, value },\n } = filter;\n\n const handleChangeColumn = (columnId: string) => {\n const previousColumn = allColumns.find(column => column.id === id);\n const nextColumn = allColumns.find(column => column.id === columnId);\n // UX requirement: if old column data type is the same as next column data type,\n // then we applying the same filter value for the next column,\n // but when data types are different, we're reseting comparator ans value for the next column\n if (\n previousColumn?.columnDef.meta?.dataType &&\n previousColumn?.columnDef.meta?.dataType === nextColumn?.columnDef.meta?.dataType\n ) {\n handleChange(position, { id: columnId, value: filter.value });\n return;\n }\n const validComparators = guessComparatorsBasedOnControl(nextColumn);\n\n const value = {\n comparator: validComparators[0] ?? filter.value.comparator,\n value: undefined,\n };\n\n handleChange(position, { id: columnId, value });\n };\n\n const handleChangeComparator = (comparator: TableFilterComparator) => {\n let nextValue = filter.value.value;\n\n if (comparator === TableFilterComparator.IsEmpty || comparator === TableFilterComparator.IsNotEmpty) {\n nextValue = undefined;\n }\n handleChange(position, { id, value: { comparator, value: nextValue } });\n };\n\n const handleChangeValue = (value: any) => {\n handleChange(position, { id, value: { ...filter.value, value } });\n };\n\n const handleRemove = () => onRemove?.(position);\n\n React.useEffect(() => {\n if (ref.current && !id) {\n ref.current.focus(); // after adding a new filter placeholder, we want to focus it right way.\n }\n }, [id]);\n\n return (\n <div className=\"flex items-start gap-2\" data-taco=\"filter-row\">\n <div className=\"flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right\">\n {position > 0 ? texts.table.filters.conditions.and : texts.table.filters.conditions.where}\n </div>\n <FilterColumn allColumns={allColumns as any} onChange={handleChangeColumn as any} value={id} ref={ref} />\n <FilterComparator column={column} onChange={handleChangeComparator as any} value={comparator} />\n <FilterValue column={column} comparator={comparator} onChange={handleChangeValue} value={value} />\n {onRemove ? (\n <LegacyIconButton appearance=\"discrete\" className=\"ml-auto\" icon=\"remove\" onClick={handleRemove} />\n ) : null}\n </div>\n );\n}\n"],"names":["useLocalization","column","guessComparatorsBasedOnControl","value","comparator","TableFilterComparator","FilterColumn","FilterComparator","FilterValue","LegacyIconButton"],"mappings":";;;;;;;;;;AAqBO,SAAS,OAAwB,OAA2B;AAC/D,QAAM,EAAE,YAAY,QAAQ,UAAU,cAAc,UAAU,aAAa;AAC3E,QAAM,EAAE,MAAA,IAAUA,6BAAA;AAClB,QAAM,SAAS,WAAW,KAAK,CAAAC,YAAUA,QAAO,OAAO,OAAO,EAAE;AAChE,QAAM,MAAM,MAAM,OAA0B,IAAI;AAEhD,QAAM;AAAA,IACF;AAAA,IACA,OAAO,EAAE,YAAY,MAAA;AAAA,EAAM,IAC3B;AAEJ,QAAM,qBAAqB,CAAC,aAAqB;AAC7C,UAAM,iBAAiB,WAAW,KAAK,CAAAA,YAAUA,QAAO,OAAO,EAAE;AACjE,UAAM,aAAa,WAAW,KAAK,CAAAA,YAAUA,QAAO,OAAO,QAAQ;AAInE,QACI,gBAAgB,UAAU,MAAM,YAChC,gBAAgB,UAAU,MAAM,aAAa,YAAY,UAAU,MAAM,UAC3E;AACE,mBAAa,UAAU,EAAE,IAAI,UAAU,OAAO,OAAO,OAAO;AAC5D;AAAA,IACJ;AACA,UAAM,mBAAmBC,KAAAA,+BAA+B,UAAU;AAElE,UAAMC,SAAQ;AAAA,MACV,YAAY,iBAAiB,CAAC,KAAK,OAAO,MAAM;AAAA,MAChD,OAAO;AAAA,IAAA;AAGX,iBAAa,UAAU,EAAE,IAAI,UAAU,OAAAA,QAAO;AAAA,EAClD;AAEA,QAAM,yBAAyB,CAACC,gBAAsC;AAClE,QAAI,YAAY,OAAO,MAAM;AAE7B,QAAIA,gBAAeC,MAAAA,sBAAsB,WAAWD,gBAAeC,MAAAA,sBAAsB,YAAY;AACjG,kBAAY;AAAA,IAChB;AACA,iBAAa,UAAU,EAAE,IAAI,OAAO,EAAE,YAAAD,aAAY,OAAO,UAAA,GAAa;AAAA,EAC1E;AAEA,QAAM,oBAAoB,CAACD,WAAe;AACtC,iBAAa,UAAU,EAAE,IAAI,OAAO,EAAE,GAAG,OAAO,OAAO,OAAAA,OAAAA,GAAS;AAAA,EACpE;AAEA,QAAM,eAAe,MAAM,WAAW,QAAQ;AAE9C,QAAM,UAAU,MAAM;AAClB,QAAI,IAAI,WAAW,CAAC,IAAI;AACpB,UAAI,QAAQ,MAAA;AAAA,IAChB;AAAA,EACJ,GAAG,CAAC,EAAE,CAAC;AAEP,SACI,sBAAA,cAAC,OAAA,EAAI,WAAU,0BAAyB,aAAU,aAAA,GAC9C,sBAAA,cAAC,OAAA,EAAI,WAAU,4FAAA,GACV,WAAW,IAAI,MAAM,MAAM,QAAQ,WAAW,MAAM,MAAM,MAAM,QAAQ,WAAW,KACxF,GACA,sBAAA,cAACG,2BAAA,EAAa,YAA+B,UAAU,oBAA2B,OAAO,IAAI,IAAA,CAAU,GACvG,sBAAA,cAACC,iBAAAA,kBAAA,EAAiB,QAAgB,UAAU,wBAA+B,OAAO,WAAA,CAAY,GAC9F,sBAAA,cAACC,YAAAA,aAAA,EAAY,QAAgB,YAAwB,UAAU,mBAAmB,MAAA,CAAc,GAC/F,WACG,sBAAA,cAACC,WAAAA,kBAAA,EAAiB,YAAW,YAAW,WAAU,WAAU,MAAK,UAAS,SAAS,aAAA,CAAc,IACjG,IACR;AAER;;"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
|
-
import { LegacyIconButton } from "../../../../../../../../components/LegacyComponents/IconButton/IconButton.js";
|
|
3
|
-
import { useLocalization } from "../../../../../../../../components/Provider/Localization.js";
|
|
4
2
|
import { TableFilterComparator } from "../../../../../../types.js";
|
|
5
3
|
import { guessComparatorsBasedOnControl } from "../util.js";
|
|
6
4
|
import { FilterColumn } from "./FilterColumn.js";
|
|
7
5
|
import { FilterComparator } from "./FilterComparator.js";
|
|
8
6
|
import { FilterValue } from "./FilterValue.js";
|
|
7
|
+
import { useLocalization } from "../../../../../../../../components/Provider/Localization.js";
|
|
8
|
+
import { LegacyIconButton } from "../../../../../../../../components/LegacyComponents/IconButton/IconButton.js";
|
|
9
9
|
function Filter(props) {
|
|
10
10
|
const { allColumns, filter, onChange: handleChange, onRemove, position } = props;
|
|
11
11
|
const { texts } = useLocalization();
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.js","sources":["../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.tsx"],"sourcesContent":["import type { Column as ReactTableColumn } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { LegacyIconButton
|
|
1
|
+
{"version":3,"file":"Filter.js","sources":["../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.tsx"],"sourcesContent":["import type { Column as ReactTableColumn } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { LegacyIconButton, useLocalization } from '@/components';\n\nimport type { TableFilter } from '../../../../../../types';\nimport { TableFilterComparator } from '../../../../../../types';\nimport { guessComparatorsBasedOnControl } from '../util';\n\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { FilterValue } from './FilterValue';\n\nexport type FilterProps<TType = unknown> = {\n allColumns: ReactTableColumn<TType, unknown>[];\n filter: TableFilter;\n position: number;\n onChange: (position: number, value: TableFilter) => void;\n onRemove?: (position: number) => void;\n};\n\nexport function Filter<TType = unknown>(props: FilterProps<TType>) {\n const { allColumns, filter, onChange: handleChange, onRemove, position } = props;\n const { texts } = useLocalization();\n const column = allColumns.find(column => column.id === filter.id);\n const ref = React.useRef<HTMLButtonElement>(null);\n\n const {\n id,\n value: { comparator, value },\n } = filter;\n\n const handleChangeColumn = (columnId: string) => {\n const previousColumn = allColumns.find(column => column.id === id);\n const nextColumn = allColumns.find(column => column.id === columnId);\n // UX requirement: if old column data type is the same as next column data type,\n // then we applying the same filter value for the next column,\n // but when data types are different, we're reseting comparator ans value for the next column\n if (\n previousColumn?.columnDef.meta?.dataType &&\n previousColumn?.columnDef.meta?.dataType === nextColumn?.columnDef.meta?.dataType\n ) {\n handleChange(position, { id: columnId, value: filter.value });\n return;\n }\n const validComparators = guessComparatorsBasedOnControl(nextColumn);\n\n const value = {\n comparator: validComparators[0] ?? filter.value.comparator,\n value: undefined,\n };\n\n handleChange(position, { id: columnId, value });\n };\n\n const handleChangeComparator = (comparator: TableFilterComparator) => {\n let nextValue = filter.value.value;\n\n if (comparator === TableFilterComparator.IsEmpty || comparator === TableFilterComparator.IsNotEmpty) {\n nextValue = undefined;\n }\n handleChange(position, { id, value: { comparator, value: nextValue } });\n };\n\n const handleChangeValue = (value: any) => {\n handleChange(position, { id, value: { ...filter.value, value } });\n };\n\n const handleRemove = () => onRemove?.(position);\n\n React.useEffect(() => {\n if (ref.current && !id) {\n ref.current.focus(); // after adding a new filter placeholder, we want to focus it right way.\n }\n }, [id]);\n\n return (\n <div className=\"flex items-start gap-2\" data-taco=\"filter-row\">\n <div className=\"flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right\">\n {position > 0 ? texts.table.filters.conditions.and : texts.table.filters.conditions.where}\n </div>\n <FilterColumn allColumns={allColumns as any} onChange={handleChangeColumn as any} value={id} ref={ref} />\n <FilterComparator column={column} onChange={handleChangeComparator as any} value={comparator} />\n <FilterValue column={column} comparator={comparator} onChange={handleChangeValue} value={value} />\n {onRemove ? (\n <LegacyIconButton appearance=\"discrete\" className=\"ml-auto\" icon=\"remove\" onClick={handleRemove} />\n ) : null}\n </div>\n );\n}\n"],"names":["column","React","value","comparator"],"mappings":";;;;;;;;AAqBO,SAAS,OAAwB,OAA2B;AAC/D,QAAM,EAAE,YAAY,QAAQ,UAAU,cAAc,UAAU,aAAa;AAC3E,QAAM,EAAE,MAAA,IAAU,gBAAA;AAClB,QAAM,SAAS,WAAW,KAAK,CAAAA,YAAUA,QAAO,OAAO,OAAO,EAAE;AAChE,QAAM,MAAMC,eAAM,OAA0B,IAAI;AAEhD,QAAM;AAAA,IACF;AAAA,IACA,OAAO,EAAE,YAAY,MAAA;AAAA,EAAM,IAC3B;AAEJ,QAAM,qBAAqB,CAAC,aAAqB;AAC7C,UAAM,iBAAiB,WAAW,KAAK,CAAAD,YAAUA,QAAO,OAAO,EAAE;AACjE,UAAM,aAAa,WAAW,KAAK,CAAAA,YAAUA,QAAO,OAAO,QAAQ;AAInE,QACI,gBAAgB,UAAU,MAAM,YAChC,gBAAgB,UAAU,MAAM,aAAa,YAAY,UAAU,MAAM,UAC3E;AACE,mBAAa,UAAU,EAAE,IAAI,UAAU,OAAO,OAAO,OAAO;AAC5D;AAAA,IACJ;AACA,UAAM,mBAAmB,+BAA+B,UAAU;AAElE,UAAME,SAAQ;AAAA,MACV,YAAY,iBAAiB,CAAC,KAAK,OAAO,MAAM;AAAA,MAChD,OAAO;AAAA,IAAA;AAGX,iBAAa,UAAU,EAAE,IAAI,UAAU,OAAAA,QAAO;AAAA,EAClD;AAEA,QAAM,yBAAyB,CAACC,gBAAsC;AAClE,QAAI,YAAY,OAAO,MAAM;AAE7B,QAAIA,gBAAe,sBAAsB,WAAWA,gBAAe,sBAAsB,YAAY;AACjG,kBAAY;AAAA,IAChB;AACA,iBAAa,UAAU,EAAE,IAAI,OAAO,EAAE,YAAAA,aAAY,OAAO,UAAA,GAAa;AAAA,EAC1E;AAEA,QAAM,oBAAoB,CAACD,WAAe;AACtC,iBAAa,UAAU,EAAE,IAAI,OAAO,EAAE,GAAG,OAAO,OAAO,OAAAA,OAAAA,GAAS;AAAA,EACpE;AAEA,QAAM,eAAe,MAAM,WAAW,QAAQ;AAE9CD,iBAAM,UAAU,MAAM;AAClB,QAAI,IAAI,WAAW,CAAC,IAAI;AACpB,UAAI,QAAQ,MAAA;AAAA,IAChB;AAAA,EACJ,GAAG,CAAC,EAAE,CAAC;AAEP,SACIA,+BAAA,cAAC,OAAA,EAAI,WAAU,0BAAyB,aAAU,aAAA,GAC9CA,+BAAA,cAAC,OAAA,EAAI,WAAU,4FAAA,GACV,WAAW,IAAI,MAAM,MAAM,QAAQ,WAAW,MAAM,MAAM,MAAM,QAAQ,WAAW,KACxF,GACAA,+BAAA,cAAC,cAAA,EAAa,YAA+B,UAAU,oBAA2B,OAAO,IAAI,IAAA,CAAU,GACvGA,+BAAA,cAAC,kBAAA,EAAiB,QAAgB,UAAU,wBAA+B,OAAO,WAAA,CAAY,GAC9FA,+BAAA,cAAC,aAAA,EAAY,QAAgB,YAAwB,UAAU,mBAAmB,MAAA,CAAc,GAC/F,WACGA,+BAAA,cAAC,kBAAA,EAAiB,YAAW,YAAW,WAAU,WAAU,MAAK,UAAS,SAAS,aAAA,CAAc,IACjG,IACR;AAER;"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.cjs
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const reactTable = require("@tanstack/react-table");
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const
|
|
6
|
-
const Icon = require("../../../../../../../../components/Icon/Icon.cjs");
|
|
5
|
+
const FilterContext = require("../FilterContext.cjs");
|
|
7
6
|
const Localization = require("../../../../../../../../components/Provider/Localization.cjs");
|
|
7
|
+
const Field = require("../../../../../../../../components/Field/Field.cjs");
|
|
8
8
|
const Select2 = require("../../../../../../../../components/Select2/Select2.cjs");
|
|
9
9
|
const Tooltip = require("../../../../../../../../components/Tooltip/Tooltip.cjs");
|
|
10
|
-
const
|
|
10
|
+
const Icon = require("../../../../../../../../components/Icon/Icon.cjs");
|
|
11
11
|
const FilterColumn = React.forwardRef((props, ref) => {
|
|
12
12
|
const { allColumns, onChange: handleChange, value = null, ...attributes } = props;
|
|
13
13
|
const { texts } = Localization.useLocalization();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterColumn.cjs","sources":["../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.tsx"],"sourcesContent":["import type { Column as ReactTableColumn } from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport React from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"FilterColumn.cjs","sources":["../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.tsx"],"sourcesContent":["import type { Column as ReactTableColumn } from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { Select2Props } from '@/components';\nimport { Field, Icon, useLocalization, Select2, Tooltip } from '@/components';\n\nimport { FilterContext } from '../FilterContext';\n\nexport type FilterColumnProps<TType = unknown> = Omit<Select2Props, 'children'> & {\n allColumns: ReactTableColumn<TType, unknown>[];\n};\n\nexport const FilterColumn = React.forwardRef<HTMLButtonElement, FilterColumnProps>((props, ref) => {\n const { allColumns, onChange: handleChange, value = null, ...attributes } = props;\n const { texts } = useLocalization();\n const filters = React.useContext(FilterContext);\n const selectedColumn = allColumns.find(column => column.id === value);\n const warning = selectedColumn && !selectedColumn.getIsVisible();\n\n return (\n <div className=\"flex flex-col\">\n <Field\n message={warning ? texts.table.filters.hiddenColumn : undefined}\n warning={warning}\n className=\"min-h-[theme(spacing.8)]\">\n <Select2\n {...attributes}\n ref={ref}\n className=\"!w-32 flex-shrink-0 focus:yt-focus\"\n emptyValue={null}\n onChange={handleChange}\n value={value}>\n {allColumns.map(column => (\n <Select2.Option\n key={column.id}\n value={column.id}\n disabled={column.id !== value && (!column.getCanFilter() || !!filters.some(f => f.id === column.id))}>\n {/* Eye-off icon rendered as part of children instead of postfix because\n Select2.Option postfix only works when children is a string, not JSX, and we are currently allowing JSX headers */}\n <span className=\"flex w-full justify-between\">\n <span className=\"flex flex-col\">\n {flexRender(column.columnDef.header, { column } as any)}\n {column.parent ? flexRender(column.parent?.columnDef.meta?.header, { column } as any) : ''}\n </span>\n <span className=\"flex flex-col self-center\">\n {!column.getIsVisible() || column.getIsGrouped() ? (\n <Tooltip\n title={\n column.getIsGrouped()\n ? texts.table.filters.hiddenGroupedColumn\n : texts.table.filters.hiddenColumn\n }>\n <Icon name=\"eye-off\" className=\"!h-5 !w-5 text-gray-500\" />\n </Tooltip>\n ) : undefined}\n </span>\n </span>\n </Select2.Option>\n ))}\n </Select2>\n </Field>\n </div>\n );\n});\n"],"names":["useLocalization","FilterContext","Field","Select2","flexRender","Tooltip","Icon"],"mappings":";;;;;;;;;;AAaO,MAAM,eAAe,MAAM,WAAiD,CAAC,OAAO,QAAQ;AAC/F,QAAM,EAAE,YAAY,UAAU,cAAc,QAAQ,MAAM,GAAG,eAAe;AAC5E,QAAM,EAAE,MAAA,IAAUA,6BAAA;AAClB,QAAM,UAAU,MAAM,WAAWC,2BAAa;AAC9C,QAAM,iBAAiB,WAAW,KAAK,CAAA,WAAU,OAAO,OAAO,KAAK;AACpE,QAAM,UAAU,kBAAkB,CAAC,eAAe,aAAA;AAElD,SACI,sBAAA,cAAC,OAAA,EAAI,WAAU,gBAAA,GACX,sBAAA;AAAA,IAACC,MAAAA;AAAAA,IAAA;AAAA,MACG,SAAS,UAAU,MAAM,MAAM,QAAQ,eAAe;AAAA,MACtD;AAAA,MACA,WAAU;AAAA,IAAA;AAAA,IACV,sBAAA;AAAA,MAACC,QAAAA;AAAAA,MAAA;AAAA,QACI,GAAG;AAAA,QACJ;AAAA,QACA,WAAU;AAAA,QACV,YAAY;AAAA,QACZ,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,MACC,WAAW,IAAI,CAAA,WACZ,sBAAA;AAAA,QAACA,QAAAA,QAAQ;AAAA,QAAR;AAAA,UACG,KAAK,OAAO;AAAA,UACZ,OAAO,OAAO;AAAA,UACd,UAAU,OAAO,OAAO,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,QAAQ,KAAK,CAAA,MAAK,EAAE,OAAO,OAAO,EAAE;AAAA,QAAA;AAAA,4CAGjG,QAAA,EAAK,WAAU,iCACZ,sBAAA,cAAC,QAAA,EAAK,WAAU,mBACXC,WAAAA,WAAW,OAAO,UAAU,QAAQ,EAAE,QAAe,GACrD,OAAO,SAASA,WAAAA,WAAW,OAAO,QAAQ,UAAU,MAAM,QAAQ,EAAE,QAAe,IAAI,EAC5F,GACA,sBAAA,cAAC,QAAA,EAAK,WAAU,+BACX,CAAC,OAAO,kBAAkB,OAAO,iBAC9B,sBAAA;AAAA,UAACC,QAAAA;AAAAA,UAAA;AAAA,YACG,OACI,OAAO,aAAA,IACD,MAAM,MAAM,QAAQ,sBACpB,MAAM,MAAM,QAAQ;AAAA,UAAA;AAAA,UAE9B,sBAAA,cAACC,WAAA,EAAK,MAAK,WAAU,WAAU,0BAAA,CAA0B;AAAA,QAAA,IAE7D,MACR,CACJ;AAAA,MAAA,CAEP;AAAA,IAAA;AAAA,EACL,CAER;AAER,CAAC;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Column as ReactTableColumn } from '@tanstack/react-table';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
|
-
import { Select2Props } from '../../../../../../../../components
|
|
3
|
+
import { Select2Props } from '../../../../../../../../components';
|
|
4
4
|
export type FilterColumnProps<TType = unknown> = Omit<Select2Props, 'children'> & {
|
|
5
5
|
allColumns: ReactTableColumn<TType, unknown>[];
|
|
6
6
|
};
|