react-restyle-components 0.4.36 → 0.4.38
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/lib/index.d.ts +0 -1
- package/lib/index.js +1 -3
- package/lib/src/core-components/index.d.ts +0 -1
- package/lib/src/core-components/index.js +1 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.js +1 -15
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.js +1 -6
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.js +1 -39
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.js +1 -39
- package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.js +57 -94
- package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.js +1 -13
- package/lib/src/core-components/src/components/Accordion/AccordionSection/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/index.js +1 -3
- package/lib/src/core-components/src/components/Accordion/AccordionSection/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/types.js +1 -9
- package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.js +1 -249
- package/lib/src/core-components/src/components/Action/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Action/types.js +1 -8
- package/lib/src/core-components/src/components/AlertBanner/AlertBanner.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +1 -45
- package/lib/src/core-components/src/components/AlertBanner/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/elements.js +45 -120
- package/lib/src/core-components/src/components/AlertBanner/index.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/index.js +1 -2
- package/lib/src/core-components/src/components/AlertBanner/types.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/types.js +1 -10
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.js +1 -334
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-multi-fields-display-drag-drop/auto-complete-filter-multi-select-multi-fields-display-drag-drop.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-multi-fields-display-drag-drop/auto-complete-filter-multi-select-multi-fields-display-drag-drop.component.js +1 -229
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-selected-top-display/auto-complete-filter-multi-select-selected-top-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-selected-top-display/auto-complete-filter-multi-select-selected-top-display.component.js +1 -174
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +2 -129
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.js +1 -55
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +2 -308
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.js +1 -115
- package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.js +2 -442
- package/lib/src/core-components/src/components/AutoComplete/index.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/index.js +1 -8
- package/lib/src/core-components/src/components/Avatar/Avatar.d.ts +0 -1
- package/lib/src/core-components/src/components/Avatar/Avatar.js +14 -148
- package/lib/src/core-components/src/components/Badge/Badge.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/Badge.js +2 -25
- package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.js +1 -25
- package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.js +1 -25
- package/lib/src/core-components/src/components/Badge/InnerBadge/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/elements.js +32 -78
- package/lib/src/core-components/src/components/Badge/InnerBadge/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/index.js +1 -1
- package/lib/src/core-components/src/components/Badge/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/index.js +1 -1
- package/lib/src/core-components/src/components/Badge/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/types.js +1 -5
- package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +1 -83
- package/lib/src/core-components/src/components/Breadcrumb/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/elements.js +94 -166
- package/lib/src/core-components/src/components/Breadcrumb/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/index.js +1 -3
- package/lib/src/core-components/src/components/Breadcrumb/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/types.js +1 -3
- package/lib/src/core-components/src/components/Button/button.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/button.component.js +1 -18
- package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.js +1 -4
- package/lib/src/core-components/src/components/Button/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/index.js +1 -2
- package/lib/src/core-components/src/components/Button/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/types.js +1 -1
- package/lib/src/core-components/src/components/Chip/Chip.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/Chip.js +1 -64
- package/lib/src/core-components/src/components/Chip/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/elements.js +48 -148
- package/lib/src/core-components/src/components/Chip/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/index.js +1 -2
- package/lib/src/core-components/src/components/Chip/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/types.js +1 -4
- package/lib/src/core-components/src/components/Divider/Divider.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/Divider.js +1 -25
- package/lib/src/core-components/src/components/Divider/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/elements.js +31 -68
- package/lib/src/core-components/src/components/Divider/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/index.js +1 -2
- package/lib/src/core-components/src/components/Divider/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/types.js +1 -4
- package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +1 -147
- package/lib/src/core-components/src/components/DynamicGrid/GridContainer.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +17 -24
- package/lib/src/core-components/src/components/DynamicGrid/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/elements.js +100 -162
- package/lib/src/core-components/src/components/DynamicGrid/index.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/index.js +1 -3
- package/lib/src/core-components/src/components/DynamicGrid/types.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/types.js +1 -28
- package/lib/src/core-components/src/components/DynamicGrid/utils.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/utils.js +1 -193
- package/lib/src/core-components/src/components/FormField/FormField.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/FormField.js +1 -103
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.js +1 -37
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.js +1 -8
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.js +1 -192
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.js +1 -99
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.js +1 -70
- package/lib/src/core-components/src/components/FormField/components/OtpInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/OtpInput.js +1 -81
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.js +1 -40
- package/lib/src/core-components/src/components/FormField/components/PinInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/PinInput.js +1 -75
- package/lib/src/core-components/src/components/FormField/components/RadioInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/RadioInput.js +1 -54
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.js +1 -94
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.js +1 -36
- package/lib/src/core-components/src/components/FormField/components/index.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/index.js +1 -11
- package/lib/src/core-components/src/components/FormField/css-properties.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/css-properties.js +1 -161
- package/lib/src/core-components/src/components/FormField/index.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/index.js +1 -2
- package/lib/src/core-components/src/components/Icon/Icon.d.ts +0 -1
- package/lib/src/core-components/src/components/Icon/Icon.js +1 -79
- package/lib/src/core-components/src/components/Icon/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Icon/index.js +1 -2
- package/lib/src/core-components/src/components/Icon/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Icon/types.js +1 -9
- package/lib/src/core-components/src/components/Loader/loader.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Loader/loader.component.js +2 -215
- package/lib/src/core-components/src/components/Masonry/Masonry.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/Masonry.js +1 -73
- package/lib/src/core-components/src/components/Masonry/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/elements.js +29 -46
- package/lib/src/core-components/src/components/Masonry/hooks.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/hooks.js +1 -100
- package/lib/src/core-components/src/components/Masonry/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/index.js +1 -3
- package/lib/src/core-components/src/components/Masonry/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/types.js +1 -1
- package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.js +1 -116
- package/lib/src/core-components/src/components/Modal/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Modal/index.js +1 -2
- package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js +1 -147
- package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js +1 -12
- package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +1 -40
- package/lib/src/core-components/src/components/Picker/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Picker/index.js +1 -2
- package/lib/src/core-components/src/components/Selection/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/index.js +1 -4
- package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js +1 -49
- package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.js +1 -58
- package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.js +1 -43
- package/lib/src/core-components/src/components/Selection/single-select/single-select.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/single-select/single-select.component.js +1 -87
- package/lib/src/core-components/src/components/Skeleton/Skeleton.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/Skeleton.js +1 -51
- package/lib/src/core-components/src/components/Skeleton/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/elements.js +54 -143
- package/lib/src/core-components/src/components/Skeleton/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/index.js +1 -2
- package/lib/src/core-components/src/components/Skeleton/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/types.js +1 -4
- package/lib/src/core-components/src/components/SpeedDial/SpeedDial.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +1 -128
- package/lib/src/core-components/src/components/SpeedDial/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/elements.js +62 -132
- package/lib/src/core-components/src/components/SpeedDial/index.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/index.js +1 -2
- package/lib/src/core-components/src/components/SpeedDial/types.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/types.js +1 -3
- package/lib/src/core-components/src/components/Stepper2/stepper.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Stepper2/stepper.component.js +1 -139
- package/lib/src/core-components/src/components/Switch/Switch.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/Switch.js +1 -26
- package/lib/src/core-components/src/components/Switch/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/elements.js +34 -103
- package/lib/src/core-components/src/components/Switch/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/index.js +1 -2
- package/lib/src/core-components/src/components/Switch/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/types.js +1 -3
- package/lib/src/core-components/src/components/Table/Table.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/Table.js +1 -1100
- package/lib/src/core-components/src/components/Table/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/elements.js +153 -240
- package/lib/src/core-components/src/components/Table/filters.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/filters.js +30 -555
- package/lib/src/core-components/src/components/Table/hooks.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/hooks.js +2 -536
- package/lib/src/core-components/src/components/Table/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/index.js +1 -4
- package/lib/src/core-components/src/components/Table/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/types.js +1 -1
- package/lib/src/core-components/src/components/Tabs/tabs.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Tabs/tabs.component.js +1 -22
- package/lib/src/core-components/src/components/Tags1/Tags.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Tags1/Tags.component.js +1 -118
- package/lib/src/core-components/src/components/Tags1/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Tags1/types.js +1 -20
- package/lib/src/core-components/src/components/Timer1/timer.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Timer1/timer.component.js +1 -76
- package/lib/src/core-components/src/components/Toast/Toast.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/Toast.js +1 -50
- package/lib/src/core-components/src/components/Toast/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/elements.js +41 -122
- package/lib/src/core-components/src/components/Toast/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/index.js +1 -2
- package/lib/src/core-components/src/components/Toast/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/types.js +1 -9
- package/lib/src/core-components/src/components/Tooltip/Tooltip.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/Tooltip.js +1 -200
- package/lib/src/core-components/src/components/Tooltip/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/elements.js +55 -117
- package/lib/src/core-components/src/components/Tooltip/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/index.js +1 -2
- package/lib/src/core-components/src/components/Tooltip/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/types.js +1 -17
- package/lib/src/core-components/src/components/Tooltip/utils.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/utils.js +1 -140
- package/lib/src/core-components/src/components/TreeSelect/TreeSelect.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +1 -303
- package/lib/src/core-components/src/components/TreeSelect/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/elements.js +117 -216
- package/lib/src/core-components/src/components/TreeSelect/hooks.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/hooks.js +1 -252
- package/lib/src/core-components/src/components/TreeSelect/index.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/index.js +1 -3
- package/lib/src/core-components/src/components/TreeSelect/types.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/types.js +1 -1
- package/lib/src/core-components/src/components/index.d.ts +0 -1
- package/lib/src/core-components/src/components/index.js +1 -30
- package/lib/src/core-components/src/components/pdf/pdf-images.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-images.components.js +1 -7
- package/lib/src/core-components/src/components/pdf/pdf-table.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-table.components.js +5 -48
- package/lib/src/core-components/src/components/pdf/pdf-typography.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-typography.components.js +1 -70
- package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.js +1 -50
- package/lib/src/core-components/src/core-components/Avatar.d.ts +0 -1
- package/lib/src/core-components/src/core-components/Avatar.js +4 -33
- package/lib/src/core-components/src/core-components/CoreButton/CoreButton.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/CoreButton.js +1 -10
- package/lib/src/core-components/src/core-components/CoreButton/elements.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/elements.js +67 -176
- package/lib/src/core-components/src/core-components/CoreButton/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/index.js +1 -3
- package/lib/src/core-components/src/core-components/CoreButton/types.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/types.js +1 -6
- package/lib/src/core-components/src/core-components/CoreButton/utils.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/utils.js +1 -12
- package/lib/src/core-components/src/core-components/Divider/Divider.d.ts +0 -1
- package/lib/src/core-components/src/core-components/Divider/Divider.js +4 -19
- package/lib/src/core-components/src/core-components/Divider/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/Divider/index.js +1 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/index.js +1 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.d.ts +0 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.js +10 -33
- package/lib/src/core-components/src/core-components/StateLayer.d.ts +0 -1
- package/lib/src/core-components/src/core-components/StateLayer.js +3 -5
- package/lib/src/core-components/src/core-components/ToggleCore/elements.d.ts +0 -1
- package/lib/src/core-components/src/core-components/ToggleCore/elements.js +25 -50
- package/lib/src/core-components/src/core-components/ToggleCore/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/ToggleCore/index.js +1 -2
- package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.d.ts +0 -1
- package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.js +1 -14
- package/lib/src/core-components/src/core-components/atoms/Input/Input.d.ts +0 -1
- package/lib/src/core-components/src/core-components/atoms/Input/Input.js +1 -22
- package/lib/src/core-components/src/core-components/atoms/Label/Label.d.ts +0 -1
- package/lib/src/core-components/src/core-components/atoms/Label/Label.js +1 -21
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.d.ts +0 -1
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.js +1 -19
- package/lib/src/core-components/src/core-components/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/index.js +1 -3
- package/lib/src/core-components/src/helpers/constants.d.ts +0 -1
- package/lib/src/core-components/src/helpers/constants.js +1 -11
- package/lib/src/core-components/src/hooks/index.d.ts +0 -1
- package/lib/src/core-components/src/hooks/index.js +1 -1
- package/lib/src/core-components/src/hooks/outside.hook.d.ts +0 -1
- package/lib/src/core-components/src/hooks/outside.hook.js +1 -28
- package/lib/src/core-components/src/index.d.ts +0 -1
- package/lib/src/core-components/src/index.js +1 -12
- package/lib/src/core-components/src/tc.global.css +2 -0
- package/lib/src/core-components/src/utils/abstracts/breakpoints/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/breakpoints/index.js +1 -28
- package/lib/src/core-components/src/utils/abstracts/colors/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/colors/index.js +1 -49
- package/lib/src/core-components/src/utils/abstracts/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/index.js +1 -5
- package/lib/src/core-components/src/utils/abstracts/space/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/space/index.js +1 -26
- package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.js +1 -8
- package/lib/src/core-components/src/utils/abstracts/theme/default-themes.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/default-themes.js +1 -30
- package/lib/src/core-components/src/utils/abstracts/theme/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/index.js +1 -3
- package/lib/src/core-components/src/utils/abstracts/theme/theme.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/theme.js +1 -30
- package/lib/src/core-components/src/utils/abstracts/theme/types.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/types.js +1 -1
- package/lib/src/core-components/src/utils/abstracts/theme/useTheme.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/useTheme.js +1 -17
- package/lib/src/core-components/src/utils/abstracts/typography/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/typography/index.js +1 -25
- package/lib/src/core-components/src/utils/context/DefaultsProvider.d.ts +0 -1
- package/lib/src/core-components/src/utils/context/DefaultsProvider.js +1 -8
- package/lib/src/core-components/src/utils/context/InternalProvider.d.ts +0 -1
- package/lib/src/core-components/src/utils/context/InternalProvider.js +1 -24
- package/lib/src/core-components/src/utils/context/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/context/index.js +1 -2
- package/lib/src/core-components/src/utils/designTokens.d.ts +0 -1
- package/lib/src/core-components/src/utils/designTokens.js +1 -125
- package/lib/src/core-components/src/utils/helpers/attachSubComponents.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/attachSubComponents.js +1 -23
- package/lib/src/core-components/src/utils/helpers/flattenChildren.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/flattenChildren.js +1 -11
- package/lib/src/core-components/src/utils/helpers/getChildByType.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/getChildByType.js +1 -3
- package/lib/src/core-components/src/utils/helpers/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/index.js +1 -5
- package/lib/src/core-components/src/utils/helpers/isComponentType.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/isComponentType.js +1 -16
- package/lib/src/core-components/src/utils/helpers/separateChildrenByType.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/separateChildrenByType.js +1 -12
- package/lib/src/core-components/src/utils/hooks/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/index.js +1 -18
- package/lib/src/core-components/src/utils/hooks/useClickOutside.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useClickOutside.js +1 -18
- package/lib/src/core-components/src/utils/hooks/useCombinedRefs.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useCombinedRefs.js +1 -17
- package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.js +1 -12
- package/lib/src/core-components/src/utils/hooks/useDebouncedValue.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDebouncedValue.js +1 -20
- package/lib/src/core-components/src/utils/hooks/useDeprecation.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDeprecation.js +1 -40
- package/lib/src/core-components/src/utils/hooks/useDeviceDetect.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDeviceDetect.js +1 -10
- package/lib/src/core-components/src/utils/hooks/useDeviceForm.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDeviceForm.js +1 -24
- package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.js +1 -16
- package/lib/src/core-components/src/utils/hooks/useHoverState.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useHoverState.js +1 -36
- package/lib/src/core-components/src/utils/hooks/useId.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useId.js +1 -7
- package/lib/src/core-components/src/utils/hooks/useIsBrowser.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useIsBrowser.js +1 -11
- package/lib/src/core-components/src/utils/hooks/useMediaQuery.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useMediaQuery.js +1 -16
- package/lib/src/core-components/src/utils/hooks/useOverflow.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useOverflow.js +1 -22
- package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.js +1 -5
- package/lib/src/core-components/src/utils/hooks/useScrollingUp.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useScrollingUp.js +1 -18
- package/lib/src/core-components/src/utils/hooks/useTrapFocus.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useTrapFocus.js +1 -30
- package/lib/src/core-components/src/utils/hooks/useWindowDimensions.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useWindowDimensions.js +1 -23
- package/lib/src/core-components/src/utils/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/index.js +1 -9
- package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.js +1 -5
- package/lib/src/core-components/src/utils/styling/createGridContainer.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/createGridContainer.js +6 -12
- package/lib/src/core-components/src/utils/styling/createTransition.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/createTransition.js +2 -7
- package/lib/src/core-components/src/utils/styling/forwardProps.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/forwardProps.js +1 -10
- package/lib/src/core-components/src/utils/styling/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/index.js +1 -5
- package/lib/src/core-components/src/utils/styling/pxToRem.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/pxToRem.js +1 -6
- package/lib/src/core-components/src/utils/utility.util.d.ts +0 -1
- package/lib/src/core-components/src/utils/utility.util.js +1 -14
- package/lib/src/core-hooks/index.d.ts +0 -1
- package/lib/src/core-hooks/index.js +1 -3
- package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.d.ts +0 -1
- package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.js +1 -46
- package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.d.ts +0 -1
- package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.js +1 -30
- package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.d.ts +0 -1
- package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.js +1 -8
- package/lib/src/core-utils/index.d.ts +0 -1
- package/lib/src/core-utils/index.js +1 -7
- package/lib/src/core-utils/src/calculation/calculation.util.d.ts +0 -1
- package/lib/src/core-utils/src/calculation/calculation.util.js +1 -89
- package/lib/src/core-utils/src/colors/color.util.d.ts +0 -1
- package/lib/src/core-utils/src/colors/color.util.js +1 -15
- package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.d.ts +0 -1
- package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.js +1 -145
- package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.d.ts +0 -1
- package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.js +1 -5
- package/lib/src/core-utils/src/form-helper/form-helper.util.d.ts +0 -1
- package/lib/src/core-utils/src/form-helper/form-helper.util.js +1 -82
- package/lib/src/core-utils/src/index.d.ts +0 -1
- package/lib/src/core-utils/src/index.js +1 -7
- package/lib/src/core-utils/src/utility/utility.util.d.ts +0 -1
- package/lib/src/core-utils/src/utility/utility.util.js +1 -12
- package/lib/src/core-utils/src/uuid/uuid.util.d.ts +0 -1
- package/lib/src/core-utils/src/uuid/uuid.util.js +1 -8
- package/package.json +2 -1
- package/lib/src/core-components/src/assets/styles/fontface.css +0 -17
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionTestData.d.ts +0 -5
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionTestData.js +0 -4
- package/lib/src/core-components/src/library/assets/fonts/arima/arima-bold.ttf +0 -0
- package/lib/src/core-components/src/library/assets/fonts/arima/arima-regular.ttf +0 -0
- package/lib/src/core-components/src/utils/stories/Wrappers.d.ts +0 -13
- package/lib/src/core-components/src/utils/stories/Wrappers.js +0 -47
- package/lib/src/core-components/src/utils/stories/cleanProps.d.ts +0 -2
- package/lib/src/core-components/src/utils/stories/cleanProps.js +0 -5
- package/lib/src/core-components/src/utils/stories/index.d.ts +0 -5
- package/lib/src/core-components/src/utils/stories/index.js +0 -4
- package/lib/src/core-components/src/utils/stories/sleep.d.ts +0 -2
- package/lib/src/core-components/src/utils/stories/sleep.js +0 -4
- package/lib/src/core-components/src/utils/stories/view-ports.d.ts +0 -51
- package/lib/src/core-components/src/utils/stories/view-ports.js +0 -50
- package/lib/src/core-components/src/utils/testing/getComputedStyle.d.ts +0 -2
- package/lib/src/core-components/src/utils/testing/getComputedStyle.js +0 -3
- package/lib/src/core-components/src/utils/testing/index.d.ts +0 -2
- package/lib/src/core-components/src/utils/testing/index.js +0 -1
- package/lib/src/core-components/tailwind.config.js +0 -233
|
@@ -1,74 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
4
|
-
import { styled, css } from 'styled-components';
|
|
5
|
-
import { tokens } from '../../utils/designTokens';
|
|
6
|
-
import { useDebouncedValue } from '../../utils/hooks/useDebouncedValue';
|
|
7
|
-
// Styled components for filters
|
|
8
|
-
const FilterContainer = styled.div `
|
|
1
|
+
"use strict";"use client";import{jsx as c,jsxs as G,Fragment as Q}from"react/jsx-runtime";import{useState as _,useCallback as B,useEffect as d,useRef as f}from"react";import{styled as M,css as U}from"styled-components";import{tokens as i}from"../../utils/designTokens";import{useDebouncedValue as H}from"../../utils/hooks/useDebouncedValue";const X=M.div`
|
|
9
2
|
display: flex;
|
|
10
3
|
align-items: center;
|
|
11
4
|
gap: 3px;
|
|
12
|
-
|
|
13
|
-
const FilterInputBase = styled.input `
|
|
5
|
+
`,Y=M.input`
|
|
14
6
|
width: 100%;
|
|
15
7
|
height: 22px;
|
|
16
8
|
padding: 0 5px;
|
|
17
9
|
font-size: 10px;
|
|
18
10
|
font-weight: normal;
|
|
19
11
|
color: #000000;
|
|
20
|
-
border: 1px solid ${
|
|
12
|
+
border: 1px solid ${i.outline||"#e2e8f0"};
|
|
21
13
|
border-radius: 2px;
|
|
22
14
|
background: white;
|
|
23
15
|
transition: all 0.15s ease;
|
|
24
16
|
|
|
25
17
|
&:hover {
|
|
26
|
-
border-color: ${
|
|
18
|
+
border-color: ${i.primary||"#94a3b8"};
|
|
27
19
|
}
|
|
28
20
|
|
|
29
21
|
&:focus {
|
|
30
22
|
outline: none;
|
|
31
|
-
border-color: ${
|
|
23
|
+
border-color: ${i.primary||"#3b82f6"};
|
|
32
24
|
box-shadow: 0 0 0 1px
|
|
33
|
-
${
|
|
25
|
+
${i.primary?`${i.primary}20`:"#3b82f620"};
|
|
34
26
|
}
|
|
35
27
|
|
|
36
28
|
&::placeholder {
|
|
37
|
-
color: ${
|
|
29
|
+
color: ${i.onSurface?`${i.onSurface}50`:"#94a3af"};
|
|
38
30
|
font-size: 9px;
|
|
39
31
|
}
|
|
40
|
-
|
|
41
|
-
const FilterSelectBase = styled.select `
|
|
32
|
+
`,ne=M.select`
|
|
42
33
|
width: 100%;
|
|
43
34
|
height: 22px;
|
|
44
35
|
padding: 0 5px;
|
|
45
36
|
font-size: 10px;
|
|
46
37
|
font-weight: normal;
|
|
47
38
|
color: #000000;
|
|
48
|
-
border: 1px solid ${
|
|
39
|
+
border: 1px solid ${i.outline||"#e2e8f0"};
|
|
49
40
|
border-radius: 2px;
|
|
50
41
|
background: white;
|
|
51
42
|
cursor: pointer;
|
|
52
43
|
transition: all 0.15s ease;
|
|
53
44
|
|
|
54
45
|
&:hover {
|
|
55
|
-
border-color: ${
|
|
46
|
+
border-color: ${i.primary||"#94a3b8"};
|
|
56
47
|
}
|
|
57
48
|
|
|
58
49
|
&:focus {
|
|
59
50
|
outline: none;
|
|
60
|
-
border-color: ${
|
|
51
|
+
border-color: ${i.primary||"#3b82f6"};
|
|
61
52
|
box-shadow: 0 0 0 1px
|
|
62
|
-
${
|
|
53
|
+
${i.primary?`${i.primary}20`:"#3b82f620"};
|
|
63
54
|
}
|
|
64
|
-
|
|
65
|
-
const ComparatorSelect = styled.select `
|
|
55
|
+
`,Z=M.select`
|
|
66
56
|
width: 38px;
|
|
67
57
|
height: 22px;
|
|
68
58
|
padding: 0 2px;
|
|
69
59
|
font-size: 9px;
|
|
70
60
|
font-weight: normal;
|
|
71
|
-
border: 1px solid ${
|
|
61
|
+
border: 1px solid ${i.outline||"#e2e8f0"};
|
|
72
62
|
border-radius: 2px;
|
|
73
63
|
background: white;
|
|
74
64
|
cursor: pointer;
|
|
@@ -77,571 +67,56 @@ const ComparatorSelect = styled.select `
|
|
|
77
67
|
transition: all 0.15s ease;
|
|
78
68
|
|
|
79
69
|
&:hover {
|
|
80
|
-
border-color: ${
|
|
70
|
+
border-color: ${i.primary||"#94a3b8"};
|
|
81
71
|
}
|
|
82
72
|
|
|
83
73
|
&:focus {
|
|
84
74
|
outline: none;
|
|
85
|
-
border-color: ${
|
|
75
|
+
border-color: ${i.primary||"#3b82f6"};
|
|
86
76
|
}
|
|
87
|
-
|
|
88
|
-
const DateInput = styled.input `
|
|
77
|
+
`,O=M.input`
|
|
89
78
|
flex: 1;
|
|
90
79
|
height: 22px;
|
|
91
80
|
padding: 0 4px;
|
|
92
81
|
font-size: 10px;
|
|
93
|
-
border: 1px solid ${
|
|
82
|
+
border: 1px solid ${i.outline||"#e2e8f0"};
|
|
94
83
|
border-radius: 2px;
|
|
95
84
|
background: white;
|
|
96
85
|
min-width: 80px;
|
|
97
86
|
transition: all 0.15s ease;
|
|
98
87
|
|
|
99
88
|
&:hover {
|
|
100
|
-
border-color: ${
|
|
89
|
+
border-color: ${i.primary||"#94a3b8"};
|
|
101
90
|
}
|
|
102
91
|
|
|
103
92
|
&:focus {
|
|
104
93
|
outline: none;
|
|
105
|
-
border-color: ${
|
|
94
|
+
border-color: ${i.primary||"#3b82f6"};
|
|
106
95
|
box-shadow: 0 0 0 1px
|
|
107
|
-
${
|
|
96
|
+
${i.primary?`${i.primary}20`:"#3b82f620"};
|
|
108
97
|
}
|
|
109
|
-
|
|
110
|
-
const ToggleButton = styled.button `
|
|
98
|
+
`,ae=M.button`
|
|
111
99
|
height: 22px;
|
|
112
100
|
padding: 0 5px;
|
|
113
101
|
font-size: 9px;
|
|
114
102
|
font-weight: normal;
|
|
115
|
-
border: 1px solid ${
|
|
103
|
+
border: 1px solid ${i.outline||"#e2e8f0"};
|
|
116
104
|
border-radius: 2px;
|
|
117
105
|
cursor: pointer;
|
|
118
106
|
transition: all 0.15s ease;
|
|
119
107
|
white-space: nowrap;
|
|
120
108
|
|
|
121
|
-
${({
|
|
122
|
-
|
|
123
|
-
background: ${tokens.primary || '#3b82f6'};
|
|
109
|
+
${({$active:e})=>e?U`
|
|
110
|
+
background: ${i.primary||"#3b82f6"};
|
|
124
111
|
color: white;
|
|
125
|
-
border-color: ${
|
|
126
|
-
`
|
|
127
|
-
: css `
|
|
112
|
+
border-color: ${i.primary||"#3b82f6"};
|
|
113
|
+
`:U`
|
|
128
114
|
background: white;
|
|
129
|
-
color: ${
|
|
115
|
+
color: ${i.onSurface||"#374151"};
|
|
130
116
|
|
|
131
117
|
&:hover {
|
|
132
118
|
background: #f8fafc;
|
|
133
|
-
border-color: ${
|
|
119
|
+
border-color: ${i.primary||"#94a3b8"};
|
|
134
120
|
}
|
|
135
121
|
`}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Internal Text filter component with options support
|
|
139
|
-
*/
|
|
140
|
-
const TextFilterComponent = ({ column, value, onChange, options }) => {
|
|
141
|
-
const { placeholder, className, style, defaultValue, delay = 500, getFilter, onFilter, id, disabled, } = options || {};
|
|
142
|
-
// Local state for immediate input updates (maintains focus)
|
|
143
|
-
const [internalValue, setInternalValue] = useState(value || defaultValue || '');
|
|
144
|
-
const internalValueRef = useRef(internalValue);
|
|
145
|
-
const inputRef = useRef(null);
|
|
146
|
-
const onChangeRef = useRef(onChange);
|
|
147
|
-
const onFilterRef = useRef(onFilter);
|
|
148
|
-
// Track if the last change was from user input (internal) vs external (e.g., clear all)
|
|
149
|
-
const lastInternalValueRef = useRef(internalValue);
|
|
150
|
-
// Keep refs in sync
|
|
151
|
-
useEffect(() => {
|
|
152
|
-
internalValueRef.current = internalValue;
|
|
153
|
-
}, [internalValue]);
|
|
154
|
-
useEffect(() => {
|
|
155
|
-
onChangeRef.current = onChange;
|
|
156
|
-
onFilterRef.current = onFilter;
|
|
157
|
-
}, [onChange, onFilter]);
|
|
158
|
-
// Sync internal value when external value changes (e.g., from clear all filters)
|
|
159
|
-
// Only sync when external value differs from what we last sent to parent
|
|
160
|
-
useEffect(() => {
|
|
161
|
-
const externalValue = value || '';
|
|
162
|
-
// Only sync if external value is different from what we last propagated
|
|
163
|
-
// This prevents overwriting user input while they're typing
|
|
164
|
-
if (externalValue !== lastInternalValueRef.current) {
|
|
165
|
-
setInternalValue(externalValue);
|
|
166
|
-
lastInternalValueRef.current = externalValue;
|
|
167
|
-
}
|
|
168
|
-
}, [value]);
|
|
169
|
-
// Debounce the internal value
|
|
170
|
-
const [debouncedValue] = useDebouncedValue(internalValue, { wait: delay });
|
|
171
|
-
// Propagate debounced value to parent
|
|
172
|
-
useEffect(() => {
|
|
173
|
-
// Update the ref to track what we're sending to parent
|
|
174
|
-
lastInternalValueRef.current = debouncedValue || '';
|
|
175
|
-
onChangeRef.current(debouncedValue || null);
|
|
176
|
-
onFilterRef.current?.(debouncedValue);
|
|
177
|
-
}, [debouncedValue]);
|
|
178
|
-
// Provide filter instance via getFilter callback - only on mount
|
|
179
|
-
useEffect(() => {
|
|
180
|
-
if (getFilter) {
|
|
181
|
-
getFilter({
|
|
182
|
-
get value() {
|
|
183
|
-
return internalValueRef.current;
|
|
184
|
-
},
|
|
185
|
-
setValue: (newValue) => {
|
|
186
|
-
setInternalValue(newValue);
|
|
187
|
-
onChangeRef.current(newValue || null);
|
|
188
|
-
onFilterRef.current?.(newValue);
|
|
189
|
-
},
|
|
190
|
-
clear: () => {
|
|
191
|
-
setInternalValue('');
|
|
192
|
-
onChangeRef.current(null);
|
|
193
|
-
onFilterRef.current?.('');
|
|
194
|
-
},
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
198
|
-
}, [getFilter]);
|
|
199
|
-
// Track if input should be focused (user is actively typing)
|
|
200
|
-
const hasFocusRef = useRef(false);
|
|
201
|
-
// Simple change handler - just update local state
|
|
202
|
-
const handleChange = useCallback((e) => {
|
|
203
|
-
setInternalValue(e.target.value);
|
|
204
|
-
}, []);
|
|
205
|
-
// Track focus state
|
|
206
|
-
const handleFocus = useCallback(() => {
|
|
207
|
-
hasFocusRef.current = true;
|
|
208
|
-
}, []);
|
|
209
|
-
const handleBlur = useCallback(() => {
|
|
210
|
-
hasFocusRef.current = false;
|
|
211
|
-
}, []);
|
|
212
|
-
// Restore focus after re-renders if it was focused
|
|
213
|
-
useEffect(() => {
|
|
214
|
-
if (hasFocusRef.current && inputRef.current) {
|
|
215
|
-
// Use requestAnimationFrame to ensure DOM is ready
|
|
216
|
-
requestAnimationFrame(() => {
|
|
217
|
-
if (hasFocusRef.current && inputRef.current) {
|
|
218
|
-
inputRef.current.focus();
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
const inputStyle = {
|
|
224
|
-
fontWeight: 400,
|
|
225
|
-
...style,
|
|
226
|
-
};
|
|
227
|
-
// If custom className is provided, use plain input to allow full CSS control
|
|
228
|
-
if (className) {
|
|
229
|
-
return (_jsx("input", { ref: inputRef, type: "text", id: id, "data-filter-field": column.dataField, value: internalValue, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, placeholder: placeholder || column.filterPlaceholder || `Filter ${column.text}...`, className: className, style: {
|
|
230
|
-
width: '100%',
|
|
231
|
-
fontWeight: 400,
|
|
232
|
-
...style,
|
|
233
|
-
}, disabled: disabled }));
|
|
234
|
-
}
|
|
235
|
-
return (_jsx(FilterInputBase, { ref: inputRef, type: "text", id: id, "data-filter-field": column.dataField, value: internalValue, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, placeholder: placeholder || column.filterPlaceholder || `Filter ${column.text}...`, style: inputStyle, disabled: disabled }));
|
|
236
|
-
};
|
|
237
|
-
export function TextFilter(optionsOrProps) {
|
|
238
|
-
// Check if it's being used as a factory function (options object without column/value/onChange)
|
|
239
|
-
if (!('column' in optionsOrProps) &&
|
|
240
|
-
!('value' in optionsOrProps) &&
|
|
241
|
-
!('onChange' in optionsOrProps)) {
|
|
242
|
-
// Factory function usage - return a component
|
|
243
|
-
const options = optionsOrProps;
|
|
244
|
-
const FilterWithOptions = (props) => (_jsx(TextFilterComponent, { ...props, options: options }));
|
|
245
|
-
FilterWithOptions.displayName = 'TextFilter';
|
|
246
|
-
return FilterWithOptions;
|
|
247
|
-
}
|
|
248
|
-
// Direct component usage
|
|
249
|
-
const props = optionsOrProps;
|
|
250
|
-
return _jsx(TextFilterComponent, { ...props });
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Internal Number filter component with options support
|
|
254
|
-
*/
|
|
255
|
-
const NumberFilterComponent = ({ column, value, onChange, options }) => {
|
|
256
|
-
const { placeholder, className, style, defaultValue, delay = 500, defaultComparator = '=', allowDecimal = true, getFilter, onFilter, id, disabled, hideComparator, comparators = ['=', '!=', '>', '>=', '<', '<='], } = options || {};
|
|
257
|
-
// Local state for immediate input updates (maintains focus)
|
|
258
|
-
const [number, setNumber] = useState(value?.number || defaultValue?.number || '');
|
|
259
|
-
const [comparator, setComparator] = useState(value?.comparator || defaultValue?.comparator || defaultComparator);
|
|
260
|
-
const numberRef = useRef(number);
|
|
261
|
-
const comparatorRef = useRef(comparator);
|
|
262
|
-
const inputRef = useRef(null);
|
|
263
|
-
const onChangeRef = useRef(onChange);
|
|
264
|
-
const onFilterRef = useRef(onFilter);
|
|
265
|
-
// Track last value sent to parent to prevent sync loops
|
|
266
|
-
const lastNumberRef = useRef(number);
|
|
267
|
-
const lastComparatorRef = useRef(comparator);
|
|
268
|
-
// Keep refs in sync with state
|
|
269
|
-
useEffect(() => {
|
|
270
|
-
numberRef.current = number;
|
|
271
|
-
comparatorRef.current = comparator;
|
|
272
|
-
}, [number, comparator]);
|
|
273
|
-
useEffect(() => {
|
|
274
|
-
onChangeRef.current = onChange;
|
|
275
|
-
onFilterRef.current = onFilter;
|
|
276
|
-
}, [onChange, onFilter]);
|
|
277
|
-
// Sync internal value when external value changes (e.g., from clear all filters)
|
|
278
|
-
useEffect(() => {
|
|
279
|
-
const externalNumber = value?.number || '';
|
|
280
|
-
const externalComparator = value?.comparator || defaultComparator;
|
|
281
|
-
// Only sync if different from what we last sent to parent
|
|
282
|
-
if (externalNumber !== lastNumberRef.current) {
|
|
283
|
-
setNumber(externalNumber);
|
|
284
|
-
lastNumberRef.current = externalNumber;
|
|
285
|
-
}
|
|
286
|
-
if (externalComparator !== lastComparatorRef.current) {
|
|
287
|
-
setComparator(externalComparator);
|
|
288
|
-
lastComparatorRef.current = externalComparator;
|
|
289
|
-
}
|
|
290
|
-
}, [value, defaultComparator]);
|
|
291
|
-
// Debounce the number value
|
|
292
|
-
const [debouncedNumber] = useDebouncedValue(number, { wait: delay });
|
|
293
|
-
// Propagate debounced value to parent
|
|
294
|
-
useEffect(() => {
|
|
295
|
-
// Update refs to track what we're sending to parent
|
|
296
|
-
lastNumberRef.current = debouncedNumber || '';
|
|
297
|
-
lastComparatorRef.current = comparatorRef.current;
|
|
298
|
-
const newValue = debouncedNumber
|
|
299
|
-
? { number: debouncedNumber, comparator: comparatorRef.current }
|
|
300
|
-
: null;
|
|
301
|
-
onChangeRef.current(newValue);
|
|
302
|
-
onFilterRef.current?.(newValue);
|
|
303
|
-
}, [debouncedNumber]);
|
|
304
|
-
// Provide filter instance via getFilter callback - only on mount
|
|
305
|
-
useEffect(() => {
|
|
306
|
-
if (getFilter) {
|
|
307
|
-
getFilter({
|
|
308
|
-
get value() {
|
|
309
|
-
return numberRef.current
|
|
310
|
-
? { number: numberRef.current, comparator: comparatorRef.current }
|
|
311
|
-
: null;
|
|
312
|
-
},
|
|
313
|
-
setValue: (newValue) => {
|
|
314
|
-
if (newValue) {
|
|
315
|
-
setNumber(newValue.number);
|
|
316
|
-
setComparator(newValue.comparator);
|
|
317
|
-
onChangeRef.current(newValue);
|
|
318
|
-
onFilterRef.current?.(newValue);
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
setNumber('');
|
|
322
|
-
onChangeRef.current(null);
|
|
323
|
-
onFilterRef.current?.(null);
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
clear: () => {
|
|
327
|
-
setNumber('');
|
|
328
|
-
setComparator(defaultComparator);
|
|
329
|
-
onChangeRef.current(null);
|
|
330
|
-
onFilterRef.current?.(null);
|
|
331
|
-
},
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
335
|
-
}, [getFilter]);
|
|
336
|
-
// Track if input should be focused
|
|
337
|
-
const hasFocusRef = useRef(false);
|
|
338
|
-
// Track focus state
|
|
339
|
-
const handleFocus = useCallback(() => {
|
|
340
|
-
hasFocusRef.current = true;
|
|
341
|
-
}, []);
|
|
342
|
-
const handleBlur = useCallback(() => {
|
|
343
|
-
hasFocusRef.current = false;
|
|
344
|
-
}, []);
|
|
345
|
-
// Restore focus after re-renders if it was focused
|
|
346
|
-
useEffect(() => {
|
|
347
|
-
if (hasFocusRef.current && inputRef.current) {
|
|
348
|
-
requestAnimationFrame(() => {
|
|
349
|
-
if (hasFocusRef.current && inputRef.current) {
|
|
350
|
-
inputRef.current.focus();
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
// Handle comparator change - trigger immediate filter update
|
|
356
|
-
const handleComparatorChange = useCallback((newComparator) => {
|
|
357
|
-
setComparator(newComparator);
|
|
358
|
-
if (number) {
|
|
359
|
-
const newValue = { number, comparator: newComparator };
|
|
360
|
-
onChangeRef.current(newValue);
|
|
361
|
-
onFilterRef.current?.(newValue);
|
|
362
|
-
}
|
|
363
|
-
}, [number]);
|
|
364
|
-
const comparatorSymbols = {
|
|
365
|
-
'=': '=',
|
|
366
|
-
'!=': '≠',
|
|
367
|
-
'>': '>',
|
|
368
|
-
'>=': '≥',
|
|
369
|
-
'<': '<',
|
|
370
|
-
'<=': '≤',
|
|
371
|
-
};
|
|
372
|
-
const inputStyle = {
|
|
373
|
-
flex: 1,
|
|
374
|
-
fontWeight: 400,
|
|
375
|
-
...style,
|
|
376
|
-
};
|
|
377
|
-
const inputProps = {
|
|
378
|
-
type: 'text',
|
|
379
|
-
id,
|
|
380
|
-
'data-filter-field': column.dataField,
|
|
381
|
-
value: number,
|
|
382
|
-
onChange: (e) => {
|
|
383
|
-
const val = e.target.value;
|
|
384
|
-
const pattern = allowDecimal ? /^[0-9.,]*$/ : /^[0-9]*$/;
|
|
385
|
-
if (pattern.test(val)) {
|
|
386
|
-
setNumber(val);
|
|
387
|
-
}
|
|
388
|
-
},
|
|
389
|
-
onFocus: handleFocus,
|
|
390
|
-
onBlur: handleBlur,
|
|
391
|
-
placeholder: placeholder || column.filterPlaceholder || 'Number...',
|
|
392
|
-
disabled,
|
|
393
|
-
};
|
|
394
|
-
return (_jsxs(FilterContainer, { children: [!hideComparator && (_jsx(ComparatorSelect, { value: comparator, onChange: (e) => handleComparatorChange(e.target.value), disabled: disabled, children: comparators.map((comp) => (_jsx("option", { value: comp, children: comparatorSymbols[comp] || comp }, comp))) })), className ? (_jsx("input", { ref: inputRef, ...inputProps, className: className, style: { flex: 1, width: '100%', fontWeight: 400, ...style } })) : (_jsx(FilterInputBase, { ref: inputRef, ...inputProps, style: inputStyle }))] }));
|
|
395
|
-
};
|
|
396
|
-
export function NumberFilter(optionsOrProps) {
|
|
397
|
-
if (!('column' in optionsOrProps) &&
|
|
398
|
-
!('value' in optionsOrProps) &&
|
|
399
|
-
!('onChange' in optionsOrProps)) {
|
|
400
|
-
const options = optionsOrProps;
|
|
401
|
-
const FilterWithOptions = (props) => (_jsx(NumberFilterComponent, { ...props, options: options }));
|
|
402
|
-
FilterWithOptions.displayName = 'NumberFilter';
|
|
403
|
-
return FilterWithOptions;
|
|
404
|
-
}
|
|
405
|
-
const props = optionsOrProps;
|
|
406
|
-
return _jsx(NumberFilterComponent, { ...props });
|
|
407
|
-
}
|
|
408
|
-
/**
|
|
409
|
-
* Internal Date filter component with options support
|
|
410
|
-
*/
|
|
411
|
-
const DateFilterComponent = ({ column, value, onChange, options }) => {
|
|
412
|
-
const { className, style, defaultValue, defaultComparator = '=', defaultRangeMode = false, getFilter, onFilter, id, disabled, minDate, maxDate, } = options || {};
|
|
413
|
-
// Local state for immediate updates
|
|
414
|
-
const [startDate, setStartDate] = useState(value?.startDate || defaultValue?.startDate || '');
|
|
415
|
-
const [endDate, setEndDate] = useState(value?.endDate || defaultValue?.endDate || '');
|
|
416
|
-
const [diffFlag, setDiffFlag] = useState(value?.diffFlag ?? defaultValue?.diffFlag ?? defaultRangeMode);
|
|
417
|
-
const [comparator, setComparator] = useState(value?.comparator || defaultValue?.comparator || defaultComparator);
|
|
418
|
-
const stateRef = useRef({ startDate, endDate, diffFlag, comparator });
|
|
419
|
-
const onChangeRef = useRef(onChange);
|
|
420
|
-
const onFilterRef = useRef(onFilter);
|
|
421
|
-
// Track last values sent to parent to prevent sync loops
|
|
422
|
-
const lastValuesRef = useRef({
|
|
423
|
-
startDate,
|
|
424
|
-
endDate,
|
|
425
|
-
diffFlag,
|
|
426
|
-
comparator,
|
|
427
|
-
});
|
|
428
|
-
// Keep refs in sync with state
|
|
429
|
-
useEffect(() => {
|
|
430
|
-
stateRef.current = { startDate, endDate, diffFlag, comparator };
|
|
431
|
-
}, [startDate, endDate, diffFlag, comparator]);
|
|
432
|
-
useEffect(() => {
|
|
433
|
-
onChangeRef.current = onChange;
|
|
434
|
-
onFilterRef.current = onFilter;
|
|
435
|
-
}, [onChange, onFilter]);
|
|
436
|
-
// Sync internal value when external value changes (e.g., from clear all filters)
|
|
437
|
-
useEffect(() => {
|
|
438
|
-
const externalStartDate = value?.startDate || '';
|
|
439
|
-
const externalEndDate = value?.endDate || '';
|
|
440
|
-
const externalDiffFlag = value?.diffFlag ?? defaultRangeMode;
|
|
441
|
-
const externalComparator = value?.comparator || defaultComparator;
|
|
442
|
-
// Only sync if different from what we last sent to parent
|
|
443
|
-
if (externalStartDate !== lastValuesRef.current.startDate) {
|
|
444
|
-
setStartDate(externalStartDate);
|
|
445
|
-
lastValuesRef.current.startDate = externalStartDate;
|
|
446
|
-
}
|
|
447
|
-
if (externalEndDate !== lastValuesRef.current.endDate) {
|
|
448
|
-
setEndDate(externalEndDate);
|
|
449
|
-
lastValuesRef.current.endDate = externalEndDate;
|
|
450
|
-
}
|
|
451
|
-
if (externalDiffFlag !== lastValuesRef.current.diffFlag) {
|
|
452
|
-
setDiffFlag(externalDiffFlag);
|
|
453
|
-
lastValuesRef.current.diffFlag = externalDiffFlag;
|
|
454
|
-
}
|
|
455
|
-
if (externalComparator !== lastValuesRef.current.comparator) {
|
|
456
|
-
setComparator(externalComparator);
|
|
457
|
-
lastValuesRef.current.comparator = externalComparator;
|
|
458
|
-
}
|
|
459
|
-
}, [value, defaultRangeMode, defaultComparator]);
|
|
460
|
-
// Debounce the date values
|
|
461
|
-
const [debouncedStartDate] = useDebouncedValue(startDate, { wait: 500 });
|
|
462
|
-
const [debouncedEndDate] = useDebouncedValue(endDate, { wait: 500 });
|
|
463
|
-
// Propagate debounced value to parent
|
|
464
|
-
useEffect(() => {
|
|
465
|
-
// Update refs to track what we're sending to parent
|
|
466
|
-
lastValuesRef.current = {
|
|
467
|
-
startDate: debouncedStartDate,
|
|
468
|
-
endDate: debouncedEndDate,
|
|
469
|
-
diffFlag,
|
|
470
|
-
comparator,
|
|
471
|
-
};
|
|
472
|
-
const newValue = debouncedStartDate || debouncedEndDate
|
|
473
|
-
? {
|
|
474
|
-
startDate: debouncedStartDate,
|
|
475
|
-
endDate: debouncedEndDate,
|
|
476
|
-
diffFlag,
|
|
477
|
-
comparator,
|
|
478
|
-
}
|
|
479
|
-
: null;
|
|
480
|
-
onChangeRef.current(newValue);
|
|
481
|
-
onFilterRef.current?.(newValue);
|
|
482
|
-
}, [debouncedStartDate, debouncedEndDate, diffFlag, comparator]);
|
|
483
|
-
// Provide filter instance via getFilter callback - only on mount
|
|
484
|
-
useEffect(() => {
|
|
485
|
-
if (getFilter) {
|
|
486
|
-
getFilter({
|
|
487
|
-
get value() {
|
|
488
|
-
const { startDate: s, endDate: e, diffFlag: d, comparator: c, } = stateRef.current;
|
|
489
|
-
return s || e
|
|
490
|
-
? { startDate: s, endDate: e, diffFlag: d, comparator: c }
|
|
491
|
-
: null;
|
|
492
|
-
},
|
|
493
|
-
setValue: (newValue) => {
|
|
494
|
-
if (newValue) {
|
|
495
|
-
setStartDate(newValue.startDate || '');
|
|
496
|
-
setEndDate(newValue.endDate || '');
|
|
497
|
-
setDiffFlag(newValue.diffFlag ?? defaultRangeMode);
|
|
498
|
-
setComparator(newValue.comparator || defaultComparator);
|
|
499
|
-
onChangeRef.current(newValue);
|
|
500
|
-
onFilterRef.current?.(newValue);
|
|
501
|
-
}
|
|
502
|
-
else {
|
|
503
|
-
setStartDate('');
|
|
504
|
-
setEndDate('');
|
|
505
|
-
onChangeRef.current(null);
|
|
506
|
-
onFilterRef.current?.(null);
|
|
507
|
-
}
|
|
508
|
-
},
|
|
509
|
-
clear: () => {
|
|
510
|
-
setStartDate('');
|
|
511
|
-
setEndDate('');
|
|
512
|
-
setDiffFlag(defaultRangeMode);
|
|
513
|
-
setComparator(defaultComparator);
|
|
514
|
-
onChangeRef.current(null);
|
|
515
|
-
onFilterRef.current?.(null);
|
|
516
|
-
},
|
|
517
|
-
});
|
|
518
|
-
}
|
|
519
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
520
|
-
}, [getFilter]);
|
|
521
|
-
// Simple change handlers - just update local state
|
|
522
|
-
const handleStartDateChange = useCallback((e) => {
|
|
523
|
-
setStartDate(e.target.value);
|
|
524
|
-
}, []);
|
|
525
|
-
const handleEndDateChange = useCallback((e) => {
|
|
526
|
-
setEndDate(e.target.value);
|
|
527
|
-
}, []);
|
|
528
|
-
const handleDiffFlagChange = useCallback(() => {
|
|
529
|
-
setDiffFlag((prev) => !prev);
|
|
530
|
-
}, []);
|
|
531
|
-
const handleComparatorChange = useCallback((e) => {
|
|
532
|
-
setComparator(e.target.value);
|
|
533
|
-
}, []);
|
|
534
|
-
return (_jsxs(FilterContainer, { className: className, style: style, children: [_jsx(ToggleButton, { "$active": diffFlag, onClick: handleDiffFlagChange, title: "Date range mode", disabled: disabled, children: diffFlag ? 'Range' : 'Single' }), !diffFlag && (_jsxs(ComparatorSelect, { value: comparator, onChange: handleComparatorChange, disabled: disabled, style: { fontWeight: 400 }, children: [_jsx("option", { value: "=", children: "=" }), _jsx("option", { value: ">=", children: "\u2265" }), _jsx("option", { value: "<", children: "<" })] })), _jsx(DateInput, { type: "date", id: id, value: startDate, onChange: handleStartDateChange, disabled: disabled, min: minDate, max: maxDate, style: { fontWeight: 400 } }), diffFlag && (_jsxs(_Fragment, { children: [_jsx("span", { style: { color: '#6b7280', fontSize: 12, fontWeight: 400 }, children: "to" }), _jsx(DateInput, { type: "date", value: endDate, onChange: handleEndDateChange, disabled: disabled, min: minDate, max: maxDate, style: { fontWeight: 400 } })] }))] }));
|
|
535
|
-
};
|
|
536
|
-
export function DateFilter(optionsOrProps) {
|
|
537
|
-
if (!('column' in optionsOrProps) &&
|
|
538
|
-
!('value' in optionsOrProps) &&
|
|
539
|
-
!('onChange' in optionsOrProps)) {
|
|
540
|
-
const options = optionsOrProps;
|
|
541
|
-
const FilterWithOptions = (props) => (_jsx(DateFilterComponent, { ...props, options: options }));
|
|
542
|
-
FilterWithOptions.displayName = 'DateFilter';
|
|
543
|
-
return FilterWithOptions;
|
|
544
|
-
}
|
|
545
|
-
const props = optionsOrProps;
|
|
546
|
-
return _jsx(DateFilterComponent, { ...props });
|
|
547
|
-
}
|
|
548
|
-
/**
|
|
549
|
-
* Internal Select filter component with options support
|
|
550
|
-
*/
|
|
551
|
-
const SelectFilterComponent = ({ column, value, onChange, options }) => {
|
|
552
|
-
const { placeholder = 'All', className, style, defaultValue, delay = 300, options: customOptions, getFilter, onFilter, id, disabled, } = options || {};
|
|
553
|
-
// Local state for immediate updates
|
|
554
|
-
const [selectedValue, setSelectedValue] = useState(value || defaultValue || '');
|
|
555
|
-
const selectedValueRef = useRef(selectedValue);
|
|
556
|
-
const onChangeRef = useRef(onChange);
|
|
557
|
-
const onFilterRef = useRef(onFilter);
|
|
558
|
-
// Track last value sent to parent to prevent sync loops
|
|
559
|
-
const lastValueRef = useRef(selectedValue);
|
|
560
|
-
// Keep refs in sync with state
|
|
561
|
-
useEffect(() => {
|
|
562
|
-
selectedValueRef.current = selectedValue;
|
|
563
|
-
}, [selectedValue]);
|
|
564
|
-
useEffect(() => {
|
|
565
|
-
onChangeRef.current = onChange;
|
|
566
|
-
onFilterRef.current = onFilter;
|
|
567
|
-
}, [onChange, onFilter]);
|
|
568
|
-
// Sync internal value when external value changes (e.g., from clear all filters)
|
|
569
|
-
useEffect(() => {
|
|
570
|
-
const externalValue = value || '';
|
|
571
|
-
// Only sync if different from what we last sent to parent
|
|
572
|
-
if (externalValue !== lastValueRef.current) {
|
|
573
|
-
setSelectedValue(externalValue);
|
|
574
|
-
lastValueRef.current = externalValue;
|
|
575
|
-
}
|
|
576
|
-
}, [value]);
|
|
577
|
-
// Debounce the selected value
|
|
578
|
-
const [debouncedValue] = useDebouncedValue(selectedValue, { wait: delay });
|
|
579
|
-
// Propagate debounced value to parent
|
|
580
|
-
useEffect(() => {
|
|
581
|
-
// Update ref to track what we're sending to parent
|
|
582
|
-
lastValueRef.current = debouncedValue || '';
|
|
583
|
-
onChangeRef.current(debouncedValue || null);
|
|
584
|
-
onFilterRef.current?.(debouncedValue || null);
|
|
585
|
-
}, [debouncedValue]);
|
|
586
|
-
// Provide filter instance via getFilter callback - only on mount
|
|
587
|
-
useEffect(() => {
|
|
588
|
-
if (getFilter) {
|
|
589
|
-
getFilter({
|
|
590
|
-
get value() {
|
|
591
|
-
return selectedValueRef.current || null;
|
|
592
|
-
},
|
|
593
|
-
setValue: (newValue) => {
|
|
594
|
-
setSelectedValue(newValue || '');
|
|
595
|
-
onChangeRef.current(newValue);
|
|
596
|
-
onFilterRef.current?.(newValue);
|
|
597
|
-
},
|
|
598
|
-
clear: () => {
|
|
599
|
-
setSelectedValue('');
|
|
600
|
-
onChangeRef.current(null);
|
|
601
|
-
onFilterRef.current?.(null);
|
|
602
|
-
},
|
|
603
|
-
});
|
|
604
|
-
}
|
|
605
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
606
|
-
}, [getFilter]);
|
|
607
|
-
// Simple change handler - just update local state
|
|
608
|
-
const handleChange = useCallback((e) => {
|
|
609
|
-
setSelectedValue(e.target.value);
|
|
610
|
-
}, []);
|
|
611
|
-
// Use custom options if provided, otherwise fall back to column.filterOptions
|
|
612
|
-
const selectOptions = customOptions || column.filterOptions || [];
|
|
613
|
-
const selectContent = (_jsxs(_Fragment, { children: [_jsx("option", { value: "", children: placeholder }), selectOptions.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value)))] }));
|
|
614
|
-
// If custom className is provided, use plain select to allow full CSS control
|
|
615
|
-
if (className) {
|
|
616
|
-
return (_jsx("select", { id: id, value: selectedValue, onChange: handleChange, className: className, style: { width: '100%', fontWeight: 400, ...style }, disabled: disabled, children: selectContent }));
|
|
617
|
-
}
|
|
618
|
-
return (_jsx(FilterSelectBase, { id: id, value: selectedValue, onChange: handleChange, style: { fontWeight: 400, ...style }, disabled: disabled, children: selectContent }));
|
|
619
|
-
};
|
|
620
|
-
export function SelectFilter(optionsOrProps) {
|
|
621
|
-
if (!('column' in optionsOrProps) &&
|
|
622
|
-
!('value' in optionsOrProps) &&
|
|
623
|
-
!('onChange' in optionsOrProps)) {
|
|
624
|
-
const options = optionsOrProps;
|
|
625
|
-
const FilterWithOptions = (props) => (_jsx(SelectFilterComponent, { ...props, options: options }));
|
|
626
|
-
FilterWithOptions.displayName = 'SelectFilter';
|
|
627
|
-
return FilterWithOptions;
|
|
628
|
-
}
|
|
629
|
-
const props = optionsOrProps;
|
|
630
|
-
return _jsx(SelectFilterComponent, { ...props });
|
|
631
|
-
}
|
|
632
|
-
/**
|
|
633
|
-
* Get filter component based on type
|
|
634
|
-
*/
|
|
635
|
-
export const getFilterComponent = (type) => {
|
|
636
|
-
switch (type) {
|
|
637
|
-
case 'number':
|
|
638
|
-
return NumberFilter;
|
|
639
|
-
case 'date':
|
|
640
|
-
case 'dateRange':
|
|
641
|
-
return DateFilter;
|
|
642
|
-
case 'select':
|
|
643
|
-
return SelectFilter;
|
|
644
|
-
default:
|
|
645
|
-
return TextFilter;
|
|
646
|
-
}
|
|
647
|
-
};
|
|
122
|
+
`,P=({column:e,value:n,onChange:s,options:h})=>{const{placeholder:x,className:z,style:S,defaultValue:W,delay:V=500,getFilter:C,onFilter:w,id:k,disabled:$}=h||{},[D,b]=_(n||W||""),F=f(D),y=f(null),o=f(s),p=f(w),l=f(D);d(()=>{F.current=D},[D]),d(()=>{o.current=s,p.current=w},[s,w]),d(()=>{const u=n||"";u!==l.current&&(b(u),l.current=u)},[n]);const[g]=H(D,{wait:V});d(()=>{l.current=g||"",o.current(g||null),p.current?.(g)},[g]),d(()=>{C&&C({get value(){return F.current},setValue:u=>{b(u),o.current(u||null),p.current?.(u)},clear:()=>{b(""),o.current(null),p.current?.("")}})},[C]);const m=f(!1),R=B(u=>{b(u.target.value)},[]),v=B(()=>{m.current=!0},[]),r=B(()=>{m.current=!1},[]);d(()=>{m.current&&y.current&&requestAnimationFrame(()=>{m.current&&y.current&&y.current.focus()})});const N={fontWeight:400,...S};return z?c("input",{ref:y,type:"text",id:k,"data-filter-field":e.dataField,value:D,onChange:R,onFocus:v,onBlur:r,placeholder:x||e.filterPlaceholder||`Filter ${e.text}...`,className:z,style:{width:"100%",fontWeight:400,...S},disabled:$}):c(Y,{ref:y,type:"text",id:k,"data-filter-field":e.dataField,value:D,onChange:R,onFocus:v,onBlur:r,placeholder:x||e.filterPlaceholder||`Filter ${e.text}...`,style:N,disabled:$})};export function TextFilter(e){if(!("column"in e)&&!("value"in e)&&!("onChange"in e)){const s=e,h=x=>c(P,{...x,options:s});return h.displayName="TextFilter",h}return c(P,{...e})}const ee=({column:e,value:n,onChange:s,options:h})=>{const{placeholder:x,className:z,style:S,defaultValue:W,delay:V=500,defaultComparator:C="=",allowDecimal:w=!0,getFilter:k,onFilter:$,id:D,disabled:b,hideComparator:F,comparators:y=["=","!=",">",">=","<","<="]}=h||{},[o,p]=_(n?.number||W?.number||""),[l,g]=_(n?.comparator||W?.comparator||C),m=f(o),R=f(l),v=f(null),r=f(s),N=f($),u=f(o),I=f(l);d(()=>{m.current=o,R.current=l},[o,l]),d(()=>{r.current=s,N.current=$},[s,$]),d(()=>{const t=n?.number||"",j=n?.comparator||C;t!==u.current&&(p(t),u.current=t),j!==I.current&&(g(j),I.current=j)},[n,C]);const[E]=H(o,{wait:V});d(()=>{u.current=E||"",I.current=R.current;const t=E?{number:E,comparator:R.current}:null;r.current(t),N.current?.(t)},[E]),d(()=>{k&&k({get value(){return m.current?{number:m.current,comparator:R.current}:null},setValue:t=>{t?(p(t.number),g(t.comparator),r.current(t),N.current?.(t)):(p(""),r.current(null),N.current?.(null))},clear:()=>{p(""),g(C),r.current(null),N.current?.(null)}})},[k]);const q=f(!1),J=B(()=>{q.current=!0},[]),K=B(()=>{q.current=!1},[]);d(()=>{q.current&&v.current&&requestAnimationFrame(()=>{q.current&&v.current&&v.current.focus()})});const L=B(t=>{if(g(t),o){const j={number:o,comparator:t};r.current(j),N.current?.(j)}},[o]),a={"=":"=","!=":"\u2260",">":">",">=":"\u2265","<":"<","<=":"\u2264"},T={flex:1,fontWeight:400,...S},A={type:"text",id:D,"data-filter-field":e.dataField,value:o,onChange:t=>{const j=t.target.value;(w?/^[0-9.,]*$/:/^[0-9]*$/).test(j)&&p(j)},onFocus:J,onBlur:K,placeholder:x||e.filterPlaceholder||"Number...",disabled:b};return G(X,{children:[!F&&c(Z,{value:l,onChange:t=>L(t.target.value),disabled:b,children:y.map(t=>c("option",{value:t,children:a[t]||t},t))}),z?c("input",{ref:v,...A,className:z,style:{flex:1,width:"100%",fontWeight:400,...S}}):c(Y,{ref:v,...A,style:T})]})};export function NumberFilter(e){if(!("column"in e)&&!("value"in e)&&!("onChange"in e)){const s=e,h=x=>c(ee,{...x,options:s});return h.displayName="NumberFilter",h}return c(ee,{...e})}const te=({column:e,value:n,onChange:s,options:h})=>{const{className:x,style:z,defaultValue:S,defaultComparator:W="=",defaultRangeMode:V=!1,getFilter:C,onFilter:w,id:k,disabled:$,minDate:D,maxDate:b}=h||{},[F,y]=_(n?.startDate||S?.startDate||""),[o,p]=_(n?.endDate||S?.endDate||""),[l,g]=_(n?.diffFlag??S?.diffFlag??V),[m,R]=_(n?.comparator||S?.comparator||W),v=f({startDate:F,endDate:o,diffFlag:l,comparator:m}),r=f(s),N=f(w),u=f({startDate:F,endDate:o,diffFlag:l,comparator:m});d(()=>{v.current={startDate:F,endDate:o,diffFlag:l,comparator:m}},[F,o,l,m]),d(()=>{r.current=s,N.current=w},[s,w]),d(()=>{const a=n?.startDate||"",T=n?.endDate||"",A=n?.diffFlag??V,t=n?.comparator||W;a!==u.current.startDate&&(y(a),u.current.startDate=a),T!==u.current.endDate&&(p(T),u.current.endDate=T),A!==u.current.diffFlag&&(g(A),u.current.diffFlag=A),t!==u.current.comparator&&(R(t),u.current.comparator=t)},[n,V,W]);const[I]=H(F,{wait:500}),[E]=H(o,{wait:500});d(()=>{u.current={startDate:I,endDate:E,diffFlag:l,comparator:m};const a=I||E?{startDate:I,endDate:E,diffFlag:l,comparator:m}:null;r.current(a),N.current?.(a)},[I,E,l,m]),d(()=>{C&&C({get value(){const{startDate:a,endDate:T,diffFlag:A,comparator:t}=v.current;return a||T?{startDate:a,endDate:T,diffFlag:A,comparator:t}:null},setValue:a=>{a?(y(a.startDate||""),p(a.endDate||""),g(a.diffFlag??V),R(a.comparator||W),r.current(a),N.current?.(a)):(y(""),p(""),r.current(null),N.current?.(null))},clear:()=>{y(""),p(""),g(V),R(W),r.current(null),N.current?.(null)}})},[C]);const q=B(a=>{y(a.target.value)},[]),J=B(a=>{p(a.target.value)},[]),K=B(()=>{g(a=>!a)},[]),L=B(a=>{R(a.target.value)},[]);return G(X,{className:x,style:z,children:[c(ae,{$active:l,onClick:K,title:"Date range mode",disabled:$,children:l?"Range":"Single"}),!l&&G(Z,{value:m,onChange:L,disabled:$,style:{fontWeight:400},children:[c("option",{value:"=",children:"="}),c("option",{value:">=",children:"\u2265"}),c("option",{value:"<",children:"<"})]}),c(O,{type:"date",id:k,value:F,onChange:q,disabled:$,min:D,max:b,style:{fontWeight:400}}),l&&G(Q,{children:[c("span",{style:{color:"#6b7280",fontSize:12,fontWeight:400},children:"to"}),c(O,{type:"date",value:o,onChange:J,disabled:$,min:D,max:b,style:{fontWeight:400}})]})]})};export function DateFilter(e){if(!("column"in e)&&!("value"in e)&&!("onChange"in e)){const s=e,h=x=>c(te,{...x,options:s});return h.displayName="DateFilter",h}return c(te,{...e})}const re=({column:e,value:n,onChange:s,options:h})=>{const{placeholder:x="All",className:z,style:S,defaultValue:W,delay:V=300,options:C,getFilter:w,onFilter:k,id:$,disabled:D}=h||{},[b,F]=_(n||W||""),y=f(b),o=f(s),p=f(k),l=f(b);d(()=>{y.current=b},[b]),d(()=>{o.current=s,p.current=k},[s,k]),d(()=>{const r=n||"";r!==l.current&&(F(r),l.current=r)},[n]);const[g]=H(b,{wait:V});d(()=>{l.current=g||"",o.current(g||null),p.current?.(g||null)},[g]),d(()=>{w&&w({get value(){return y.current||null},setValue:r=>{F(r||""),o.current(r),p.current?.(r)},clear:()=>{F(""),o.current(null),p.current?.(null)}})},[w]);const m=B(r=>{F(r.target.value)},[]),R=C||e.filterOptions||[],v=G(Q,{children:[c("option",{value:"",children:x}),R.map(r=>c("option",{value:r.value,children:r.label},r.value))]});return z?c("select",{id:$,value:b,onChange:m,className:z,style:{width:"100%",fontWeight:400,...S},disabled:D,children:v}):c(ne,{id:$,value:b,onChange:m,style:{fontWeight:400,...S},disabled:D,children:v})};export function SelectFilter(e){if(!("column"in e)&&!("value"in e)&&!("onChange"in e)){const s=e,h=x=>c(re,{...x,options:s});return h.displayName="SelectFilter",h}return c(re,{...e})}export const getFilterComponent=e=>{switch(e){case"number":return NumberFilter;case"date":case"dateRange":return DateFilter;case"select":return SelectFilter;default:return TextFilter}};
|