@webiny/admin-ui 6.0.0-alpha.0 → 6.0.0-alpha.2
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/Accordion/Accordion.d.ts +1 -20
- package/Accordion/Accordion.js.map +1 -1
- package/Accordion/Accordion.mdx +11 -4
- package/Accordion/Accordion.stories.d.ts +1 -1
- package/Accordion/Accordion.stories.js +15 -9
- package/Accordion/Accordion.stories.js.map +1 -1
- package/Accordion/components/AccordionContent.js +1 -1
- package/Accordion/components/AccordionContent.js.map +1 -1
- package/Accordion/components/AccordionItem.d.ts +1 -19
- package/Accordion/components/AccordionItem.js +3 -7
- package/Accordion/components/AccordionItem.js.map +1 -1
- package/Accordion/components/AccordionItemAction.d.ts +1 -1
- package/Accordion/components/AccordionItemAction.js.map +1 -1
- package/Accordion/components/AccordionItemDragHandle.d.ts +8 -0
- package/Accordion/components/AccordionItemDragHandle.js +36 -0
- package/Accordion/components/AccordionItemDragHandle.js.map +1 -0
- package/Accordion/components/AccordionItemIcon.d.ts +1 -1
- package/Accordion/components/AccordionItemIcon.js.map +1 -1
- package/Accordion/components/AccordionTrigger.d.ts +2 -2
- package/Accordion/components/AccordionTrigger.js +5 -4
- package/Accordion/components/AccordionTrigger.js.map +1 -1
- package/Alert/Alert.d.ts +1 -1
- package/AutoComplete/AutoComplete.d.ts +2 -2
- package/AutoComplete/AutoComplete.js.map +1 -1
- package/AutoComplete/domains/AutoCompleteOption.d.ts +1 -1
- package/AutoComplete/domains/AutoCompleteOption.js.map +1 -1
- package/AutoComplete/domains/AutoCompleteOptionDto.d.ts +1 -1
- package/AutoComplete/domains/AutoCompleteOptionDto.js.map +1 -1
- package/AutoComplete/primitives/AutoCompletePrimitive.d.ts +3 -6
- package/AutoComplete/primitives/AutoCompletePrimitive.js +1 -0
- package/AutoComplete/primitives/AutoCompletePrimitive.js.map +1 -1
- package/AutoComplete/primitives/AutoCompletePrimitive.stories.d.ts +3 -0
- package/AutoComplete/primitives/AutoCompletePrimitive.stories.js +30 -0
- package/AutoComplete/primitives/AutoCompletePrimitive.stories.js.map +1 -1
- package/AutoComplete/primitives/components/AutoCompleteInputIcons.d.ts +1 -0
- package/AutoComplete/primitives/components/AutoCompleteInputIcons.js +3 -2
- package/AutoComplete/primitives/components/AutoCompleteInputIcons.js.map +1 -1
- package/AutoComplete/primitives/components/AutoCompleteList.d.ts +1 -1
- package/AutoComplete/primitives/components/AutoCompleteList.js.map +1 -1
- package/AutoComplete/primitives/presenters/AutoCompleteListOptionsPresenter.d.ts +2 -2
- package/AutoComplete/primitives/presenters/AutoCompleteListOptionsPresenter.js.map +1 -1
- package/AutoComplete/primitives/presenters/AutoCompletePresenter.d.ts +3 -3
- package/AutoComplete/primitives/presenters/AutoCompletePresenter.js.map +1 -1
- package/AutoComplete/primitives/useAutoComplete.d.ts +1 -1
- package/AutoComplete/primitives/useAutoComplete.js.map +1 -1
- package/Button/Button.js +2 -2
- package/Button/Button.js.map +1 -1
- package/Button/CopyButton.d.ts +2 -3
- package/Button/CopyButton.js.map +1 -1
- package/Button/IconButton.d.ts +1 -1
- package/Button/IconButton.js +2 -2
- package/Button/IconButton.js.map +1 -1
- package/Card/Card.d.ts +2 -1
- package/Card/Card.js.map +1 -1
- package/Card/components/CardFooter.d.ts +1 -1
- package/Card/components/CardFooter.js.map +1 -1
- package/Card/components/CardHeader.d.ts +1 -1
- package/Card/components/CardHeader.js.map +1 -1
- package/Card/components/CardRoot.d.ts +4 -4
- package/Card/components/CardRoot.js.map +1 -1
- package/Checkbox/Checkbox.d.ts +2 -2
- package/Checkbox/Checkbox.js.map +1 -1
- package/Checkbox/domains/CheckboxItem.d.ts +1 -1
- package/Checkbox/domains/CheckboxItem.js.map +1 -1
- package/Checkbox/domains/CheckboxItemDto.d.ts +1 -1
- package/Checkbox/domains/CheckboxItemDto.js.map +1 -1
- package/Checkbox/domains/CheckboxItemFormatted.d.ts +1 -1
- package/Checkbox/domains/CheckboxItemFormatted.js.map +1 -1
- package/Checkbox/domains/CheckboxItemMapper.d.ts +2 -2
- package/Checkbox/domains/CheckboxItemMapper.js.map +1 -1
- package/Checkbox/primitives/CheckboxPrimitive.d.ts +6 -0
- package/Checkbox/primitives/presenters/CheckboxPresenter.d.ts +1 -1
- package/Checkbox/primitives/presenters/CheckboxPresenter.js.map +1 -1
- package/Checkbox/primitives/useCheckbox.d.ts +1 -1
- package/Checkbox/primitives/useCheckbox.js.map +1 -1
- package/CheckboxGroup/CheckboxGroup.d.ts +2 -2
- package/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/CheckboxGroup/primitives/CheckboxGroupPrimitive.d.ts +1 -1
- package/CheckboxGroup/primitives/CheckboxGroupPrimitive.js.map +1 -1
- package/CheckboxGroup/primitives/presenters/CheckboxGroupPresenter.d.ts +1 -1
- package/CheckboxGroup/primitives/presenters/CheckboxGroupPresenter.js.map +1 -1
- package/CheckboxGroup/primitives/useCheckboxGroup.d.ts +1 -1
- package/CheckboxGroup/primitives/useCheckboxGroup.js.map +1 -1
- package/CodeEditor/CodeEditor.d.ts +2 -2
- package/CodeEditor/CodeEditor.js.map +1 -1
- package/CodeEditor/CodeEditorPrimitive.d.ts +1 -3
- package/CodeEditor/CodeEditorPrimitive.js +1 -2
- package/CodeEditor/CodeEditorPrimitive.js.map +1 -1
- package/ColorPicker/ColorPicker.d.ts +2 -2
- package/ColorPicker/ColorPicker.js.map +1 -1
- package/ColorPicker/primitives/presenters/ColorPickerPresenter.d.ts +1 -1
- package/ColorPicker/primitives/presenters/ColorPickerPresenter.js.map +1 -1
- package/ColorPicker/primitives/presenters/ColorPickerPresenter.test.js.map +1 -1
- package/ColorPicker/primitives/useColorPicker.d.ts +1 -1
- package/ColorPicker/primitives/useColorPicker.js.map +1 -1
- package/Command/Command.d.ts +5 -5
- package/Command/components/Input.d.ts +1 -1
- package/Command/components/Input.js.map +1 -1
- package/Command/domain/CommandOption.d.ts +1 -1
- package/Command/domain/CommandOption.js.map +1 -1
- package/Command/domain/CommandOptionFormatter.d.ts +2 -2
- package/Command/domain/CommandOptionFormatter.js.map +1 -1
- package/DataList/DataList.d.ts +1 -1
- package/DataList/DataList.js.map +1 -1
- package/DataList/DataListIcons.d.ts +1 -1
- package/DataList/DataListIcons.js.map +1 -1
- package/DataList/DataListWithSections.d.ts +1 -1
- package/DataList/DataListWithSections.js.map +1 -1
- package/DataList/components/Filters.d.ts +1 -1
- package/DataList/components/Filters.js.map +1 -1
- package/DataList/components/Loader.d.ts +1 -1
- package/DataList/components/Loader.js.map +1 -1
- package/DataList/components/MultiSelectActions.d.ts +1 -1
- package/DataList/components/MultiSelectActions.js.map +1 -1
- package/DataList/components/MultiSelectAll.d.ts +1 -1
- package/DataList/components/MultiSelectAll.js.map +1 -1
- package/DataList/components/Pagination.d.ts +1 -1
- package/DataList/components/Pagination.js.map +1 -1
- package/DataList/components/RefreshButton.d.ts +1 -1
- package/DataList/components/RefreshButton.js.map +1 -1
- package/DataList/components/Sorters.d.ts +1 -1
- package/DataList/components/Sorters.js.map +1 -1
- package/DataTable/DataTable.d.ts +1 -1
- package/DataTable/DataTable.js.map +1 -1
- package/DataTable/DataTable.stories.d.ts +2 -1
- package/DataTable/DataTable.stories.js.map +1 -1
- package/DataTable/components/ColumnsVisibility.d.ts +1 -1
- package/DataTable/components/ColumnsVisibility.js.map +1 -1
- package/Dialog/components/CancelButton.d.ts +1 -1
- package/Dialog/components/CancelButton.js.map +1 -1
- package/Dialog/components/ConfirmButton.d.ts +1 -1
- package/Dialog/components/ConfirmButton.js.map +1 -1
- package/Dialog/components/DialogContent.d.ts +1 -1
- package/Dialog/components/DialogFooter.d.ts +1 -1
- package/Dialog/components/DialogTitle.d.ts +1 -1
- package/Dialog/components/Icon.d.ts +1 -1
- package/Dialog/components/Icon.js.map +1 -1
- package/Drawer/components/CancelButton.d.ts +1 -1
- package/Drawer/components/CancelButton.js.map +1 -1
- package/Drawer/components/ConfirmButton.d.ts +1 -1
- package/Drawer/components/ConfirmButton.js.map +1 -1
- package/Drawer/components/Icon.d.ts +1 -1
- package/Drawer/components/Icon.js.map +1 -1
- package/DropdownMenu/components/DropdownMenuItem.d.ts +1 -1
- package/DropdownMenu/components/DropdownMenuItem.js.map +1 -1
- package/FilePicker/FilePicker.js +9 -13
- package/FilePicker/FilePicker.js.map +1 -1
- package/FilePicker/domains/FileItemFormatter.d.ts +1 -1
- package/FilePicker/domains/FileItemFormatter.js.map +1 -1
- package/FilePicker/primitives/FilePickerPrimitive.d.ts +12 -8
- package/FilePicker/primitives/FilePickerPrimitive.js +15 -5
- package/FilePicker/primitives/FilePickerPrimitive.js.map +1 -1
- package/FilePicker/primitives/components/Description.d.ts +8 -0
- package/FilePicker/primitives/components/Description.js +19 -0
- package/FilePicker/primitives/components/Description.js.map +1 -0
- package/FilePicker/primitives/components/Label.d.ts +3 -3
- package/FilePicker/primitives/components/Label.js +8 -9
- package/FilePicker/primitives/components/Label.js.map +1 -1
- package/FilePicker/primitives/components/Trigger.js +22 -16
- package/FilePicker/primitives/components/Trigger.js.map +1 -1
- package/FilePicker/primitives/components/index.d.ts +1 -0
- package/FilePicker/primitives/components/index.js +1 -0
- package/FilePicker/primitives/components/index.js.map +1 -1
- package/FilePicker/primitives/components/previews/FilePreview.d.ts +2 -2
- package/FilePicker/primitives/components/previews/FilePreview.js.map +1 -1
- package/FilePicker/primitives/components/types.d.ts +2 -2
- package/FilePicker/primitives/components/types.js.map +1 -1
- package/FormComponent/FormComponent.d.ts +2 -2
- package/FormComponent/FormComponent.js.map +1 -1
- package/FormComponent/Label.js.map +1 -1
- package/Grid/Grid.d.ts +4 -4
- package/Heading/Heading.d.ts +1 -1
- package/IconPicker/IconPicker.d.ts +2 -2
- package/IconPicker/IconPicker.js.map +1 -1
- package/IconPicker/domains/IconPickerFontAwesome.d.ts +1 -1
- package/IconPicker/domains/IconPickerFontAwesome.js.map +1 -1
- package/IconPicker/domains/IconPickerIcon.d.ts +1 -1
- package/IconPicker/domains/IconPickerIcon.js.map +1 -1
- package/IconPicker/domains/IconPickerIconFormatter.d.ts +2 -2
- package/IconPicker/domains/IconPickerIconFormatter.js.map +1 -1
- package/IconPicker/primitives/IconPickerPrimitive.d.ts +2 -2
- package/IconPicker/primitives/IconPickerPrimitive.js.map +1 -1
- package/IconPicker/primitives/components/IconPickerGrid.d.ts +1 -1
- package/IconPicker/primitives/components/IconPickerGrid.js.map +1 -1
- package/IconPicker/primitives/components/IconPickerIcon.d.ts +1 -1
- package/IconPicker/primitives/components/IconPickerIcon.js.map +1 -1
- package/IconPicker/primitives/components/IconPickerInput.js.map +1 -1
- package/IconPicker/primitives/presenters/IconPickerPresenter.d.ts +1 -1
- package/IconPicker/primitives/presenters/IconPickerPresenter.js.map +1 -1
- package/IconPicker/primitives/useIconPicker.d.ts +1 -1
- package/IconPicker/primitives/useIconPicker.js.map +1 -1
- package/Input/InputPrimitive.d.ts +5 -14
- package/Input/InputPrimitive.js +15 -124
- package/Input/InputPrimitive.js.map +1 -1
- package/Input/InputPrimitive.stories.js +19 -4
- package/Input/InputPrimitive.stories.js.map +1 -1
- package/Link/Link.d.ts +1 -1
- package/List/components/ListItemAction.d.ts +1 -1
- package/List/components/ListItemAction.js.map +1 -1
- package/List/components/ListItemHandle.d.ts +1 -1
- package/List/components/ListItemHandle.js.map +1 -1
- package/List/components/ListItemIcon.d.ts +1 -1
- package/List/components/ListItemIcon.js.map +1 -1
- package/Loader/OverlayLoader.d.ts +1 -1
- package/Loader/OverlayLoader.js.map +1 -1
- package/MultiAutoComplete/MultiAutoComplete.d.ts +2 -2
- package/MultiAutoComplete/MultiAutoComplete.js.map +1 -1
- package/MultiAutoComplete/domains/MultiAutoCompleteOption.d.ts +1 -1
- package/MultiAutoComplete/domains/MultiAutoCompleteOption.js.map +1 -1
- package/MultiAutoComplete/domains/MultiAutoCompleteOptionDto.d.ts +1 -1
- package/MultiAutoComplete/domains/MultiAutoCompleteOptionDto.js.map +1 -1
- package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.d.ts +3 -3
- package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.js +1 -0
- package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.js.map +1 -1
- package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.d.ts +3 -0
- package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.js +78 -4
- package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.js.map +1 -1
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.d.ts +2 -2
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.js +7 -13
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.js.map +1 -1
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInputIcons.d.ts +1 -0
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInputIcons.js +3 -2
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInputIcons.js.map +1 -1
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteList.d.ts +1 -1
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteList.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.d.ts +2 -2
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.d.ts +2 -2
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.d.ts +5 -5
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.js +4 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.test.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.d.ts +2 -2
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.test.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.d.ts +2 -2
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js +4 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.d.ts +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/useMultiAutoComplete.d.ts +1 -1
- package/MultiAutoComplete/primitives/useMultiAutoComplete.js.map +1 -1
- package/MultiFilePicker/MultiFilePicker.js +8 -12
- package/MultiFilePicker/MultiFilePicker.js.map +1 -1
- package/MultiFilePicker/primitives/MultiFilePickerPrimitive.d.ts +18 -10
- package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js +16 -6
- package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js.map +1 -1
- package/RadioGroup/RadioGroup.d.ts +2 -2
- package/RadioGroup/RadioGroup.js.map +1 -1
- package/RadioGroup/domains/RadioItem.d.ts +1 -1
- package/RadioGroup/domains/RadioItem.js.map +1 -1
- package/RadioGroup/domains/RadioItemFormatted.d.ts +1 -1
- package/RadioGroup/domains/RadioItemFormatted.js.map +1 -1
- package/RadioGroup/domains/RadioItemFormatter.d.ts +2 -2
- package/RadioGroup/domains/RadioItemFormatter.js.map +1 -1
- package/RadioGroup/domains/RadioItemParams.d.ts +1 -1
- package/RadioGroup/domains/RadioItemParams.js.map +1 -1
- package/RadioGroup/primitives/RadioGroupPrimitive.d.ts +1 -1
- package/RadioGroup/primitives/RadioGroupPrimitive.js +1 -1
- package/RadioGroup/primitives/RadioGroupPrimitive.js.map +1 -1
- package/RadioGroup/primitives/presenters/RadioGroupPresenter.d.ts +2 -2
- package/RadioGroup/primitives/presenters/RadioGroupPresenter.js.map +1 -1
- package/RadioGroup/primitives/useRadioGroup.d.ts +1 -1
- package/RadioGroup/primitives/useRadioGroup.js.map +1 -1
- package/RangeSlider/RangeSlider.d.ts +2 -2
- package/RangeSlider/RangeSlider.js.map +1 -1
- package/RangeSlider/primitives/RangeSliderPrimitive.d.ts +1 -1
- package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
- package/RangeSlider/primitives/presenters/RangeSliderPresenter.d.ts +1 -1
- package/RangeSlider/primitives/presenters/RangeSliderPresenter.js.map +1 -1
- package/RangeSlider/primitives/useRangeSlider.d.ts +1 -1
- package/RangeSlider/primitives/useRangeSlider.js.map +1 -1
- package/RichTextEditor/RichTextEditor.d.ts +2 -2
- package/RichTextEditor/RichTextEditor.js.map +1 -1
- package/RichTextEditor/RichTextEditorPrimitive.d.ts +1 -1
- package/RichTextEditor/RichTextEditorPrimitive.js.map +1 -1
- package/RichTextEditor/createPropsFromConfig.d.ts +1 -1
- package/RichTextEditor/createPropsFromConfig.js.map +1 -1
- package/Select/Select.d.ts +2 -2
- package/Select/Select.js.map +1 -1
- package/Select/domains/SelectOption.d.ts +1 -1
- package/Select/domains/SelectOption.js.map +1 -1
- package/Select/domains/SelectOptionMapper.d.ts +2 -2
- package/Select/domains/SelectOptionMapper.js.map +1 -1
- package/Select/primitives/SelectPrimitive.d.ts +2 -2
- package/Select/primitives/SelectPrimitive.js +4 -3
- package/Select/primitives/SelectPrimitive.js.map +1 -1
- package/Select/primitives/SelectPrimitive.stories.d.ts +3 -0
- package/Select/primitives/SelectPrimitive.stories.js +28 -0
- package/Select/primitives/SelectPrimitive.stories.js.map +1 -1
- package/Select/primitives/components/SelectTrigger.d.ts +1 -1
- package/Select/primitives/components/SelectTrigger.js +6 -1
- package/Select/primitives/components/SelectTrigger.js.map +1 -1
- package/Select/primitives/presenters/SelectPresenter.d.ts +2 -1
- package/Select/primitives/presenters/SelectPresenter.js.map +1 -1
- package/Select/primitives/useSelect.d.ts +1 -1
- package/Select/primitives/useSelect.js.map +1 -1
- package/Separator/Separator.d.ts +2 -2
- package/Sidebar/components/SidebarRoot.js +1 -4
- package/Sidebar/components/SidebarRoot.js.map +1 -1
- package/Sidebar/components/items/SidebarMenuItem.d.ts +1 -1
- package/Sidebar/components/items/SidebarMenuItem.js.map +1 -1
- package/Skeleton/Skeleton.d.ts +1 -1
- package/Slider/Slider.d.ts +2 -2
- package/Slider/Slider.js.map +1 -1
- package/Slider/primitives/SliderPrimitive.d.ts +1 -1
- package/Slider/primitives/SliderPrimitive.js.map +1 -1
- package/Slider/primitives/components/SliderThumb.d.ts +1 -1
- package/Slider/primitives/components/SliderThumb.js.map +1 -1
- package/Slider/primitives/components/SliderTooltip.d.ts +1 -1
- package/Slider/primitives/presenters/SliderPresenter.d.ts +1 -1
- package/Slider/primitives/presenters/SliderPresenter.js.map +1 -1
- package/Slider/primitives/useSlider.d.ts +1 -1
- package/Slider/primitives/useSlider.js.map +1 -1
- package/Switch/Switch.d.ts +2 -2
- package/Switch/Switch.js.map +1 -1
- package/Switch/domains/SwitchItem.d.ts +1 -1
- package/Switch/domains/SwitchItem.js.map +1 -1
- package/Switch/domains/SwitchItemDto.d.ts +1 -1
- package/Switch/domains/SwitchItemDto.js.map +1 -1
- package/Switch/domains/SwitchItemFormatted.d.ts +1 -1
- package/Switch/domains/SwitchItemFormatted.js.map +1 -1
- package/Switch/domains/SwitchItemMapper.d.ts +2 -2
- package/Switch/domains/SwitchItemMapper.js.map +1 -1
- package/Switch/primitives/SwitchPrimitive.d.ts +1 -1
- package/Switch/primitives/SwitchPrimitive.js.map +1 -1
- package/Switch/primitives/presenters/SwitchPresenter.d.ts +2 -2
- package/Switch/primitives/presenters/SwitchPresenter.js.map +1 -1
- package/Switch/primitives/useSwitch.d.ts +1 -1
- package/Switch/primitives/useSwitch.js.map +1 -1
- package/Tabs/Tabs.d.ts +1 -1
- package/Tabs/Tabs.js.map +1 -1
- package/Tabs/components/Context.d.ts +1 -1
- package/Tabs/components/Context.js.map +1 -1
- package/Tabs/components/Tab.d.ts +2 -2
- package/Tabs/components/Tab.js.map +1 -1
- package/Tag/Tag.d.ts +1 -1
- package/Tag/Tag.js.map +1 -1
- package/Tags/Tags.d.ts +24 -0
- package/Tags/Tags.js +59 -0
- package/Tags/Tags.js.map +1 -0
- package/Tags/Tags.stories.d.ts +13 -0
- package/Tags/Tags.stories.js +92 -0
- package/Tags/Tags.stories.js.map +1 -0
- package/Tags/domain/TagItem.d.ts +18 -0
- package/Tags/domain/TagItem.js +26 -0
- package/Tags/domain/TagItem.js.map +1 -0
- package/Tags/domain/TagItemDto.d.ts +5 -0
- package/Tags/domain/TagItemDto.js +3 -0
- package/Tags/domain/TagItemDto.js.map +1 -0
- package/Tags/domain/TagItemFormatted.d.ts +5 -0
- package/Tags/domain/TagItemFormatted.js +3 -0
- package/Tags/domain/TagItemFormatted.js.map +1 -0
- package/Tags/domain/TagItemMapper.d.ts +5 -0
- package/Tags/domain/TagItemMapper.js +11 -0
- package/Tags/domain/TagItemMapper.js.map +1 -0
- package/Tags/domain/index.d.ts +4 -0
- package/Tags/domain/index.js +6 -0
- package/Tags/domain/index.js.map +1 -0
- package/Tags/index.d.ts +1 -0
- package/Tags/index.js +3 -0
- package/Tags/index.js.map +1 -0
- package/Tags/primitives/TagsPrimitive.d.ts +81 -0
- package/Tags/primitives/TagsPrimitive.js +54 -0
- package/Tags/primitives/TagsPrimitive.js.map +1 -0
- package/Tags/primitives/TagsPrimitive.stories.d.ts +26 -0
- package/Tags/primitives/TagsPrimitive.stories.js +185 -0
- package/Tags/primitives/TagsPrimitive.stories.js.map +1 -0
- package/Tags/primitives/index.d.ts +1 -0
- package/Tags/primitives/index.js +3 -0
- package/Tags/primitives/index.js.map +1 -0
- package/Tags/primitives/presenters/TagsInputPresenter.d.ts +22 -0
- package/Tags/primitives/presenters/TagsInputPresenter.js +22 -0
- package/Tags/primitives/presenters/TagsInputPresenter.js.map +1 -0
- package/Tags/primitives/presenters/TagsPresenter.d.ts +42 -0
- package/Tags/primitives/presenters/TagsPresenter.js +68 -0
- package/Tags/primitives/presenters/TagsPresenter.js.map +1 -0
- package/Tags/primitives/presenters/TagsPresenter.test.d.ts +1 -0
- package/Tags/primitives/presenters/TagsPresenter.test.js +220 -0
- package/Tags/primitives/presenters/TagsPresenter.test.js.map +1 -0
- package/Tags/primitives/presenters/TagsValuesPresenter.d.ts +28 -0
- package/Tags/primitives/presenters/TagsValuesPresenter.js +41 -0
- package/Tags/primitives/presenters/TagsValuesPresenter.js.map +1 -0
- package/Tags/primitives/presenters/index.d.ts +3 -0
- package/Tags/primitives/presenters/index.js +5 -0
- package/Tags/primitives/presenters/index.js.map +1 -0
- package/Tags/primitives/useTags.d.ts +15 -0
- package/Tags/primitives/useTags.js +36 -0
- package/Tags/primitives/useTags.js.map +1 -0
- package/Textarea/Textarea.d.ts +3 -3
- package/Textarea/Textarea.js.map +1 -1
- package/Toast/Toast.d.ts +1 -1
- package/Toast/Toast.js.map +1 -1
- package/Toast/useToast.js +8 -2
- package/Toast/useToast.js.map +1 -1
- package/Tooltip/Tooltip.d.ts +1 -1
- package/Tooltip/Tooltip.js.map +1 -1
- package/Tree/components/ItemDragHandle.d.ts +2 -1
- package/Tree/components/ItemDragHandle.js.map +1 -1
- package/Tree/domains/NodeFormatter.d.ts +1 -1
- package/Tree/domains/NodeFormatter.js.map +1 -1
- package/Tree/useTree.d.ts +1 -1
- package/Tree/useTree.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +9 -8
- package/utils.d.ts +1 -1
- package/utils.js.map +1 -1
- package/Accordion/components/AccordionItemHandle.d.ts +0 -26
- package/Accordion/components/AccordionItemHandle.js +0 -29
- package/Accordion/components/AccordionItemHandle.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DropdownMenu","NextPageIcon","OptionsIcon","PreviousPageIcon","Tooltip","Pagination","props","pagination","createElement","Fragment","setNextPage","trigger","onClick","setPreviousPage","hasPreviousPage","size","content","hasNextPage","Array","isArray","perPageOptions","setPerPage","map","perPage","Item","key","text"],"sources":["Pagination.tsx"],"sourcesContent":["import React from \"react\";\nimport { DropdownMenu } from \"~/DropdownMenu\";\nimport { NextPageIcon, OptionsIcon, PreviousPageIcon } from \"../DataListIcons\";\nimport { DataListProps } from \"../types\";\nimport { Tooltip } from \"~/Tooltip\";\n\nconst Pagination = (props: DataListProps) => {\n const { pagination } = props;\n if (!pagination) {\n return null;\n }\n\n return (\n <>\n {pagination.setNextPage && (\n <>\n <Tooltip\n trigger={\n <PreviousPageIcon\n onClick={() => {\n if (pagination.setPreviousPage && pagination.hasPreviousPage) {\n pagination.setPreviousPage();\n }\n }}\n size={\"sm\"}\n />\n }\n content={\"Previous page\"}\n />\n <Tooltip\n trigger={\n <NextPageIcon\n onClick={() => {\n if (pagination.setNextPage && pagination.hasNextPage) {\n pagination.setNextPage();\n }\n }}\n size={\"sm\"}\n />\n }\n content={\"Next page\"}\n />\n </>\n )}\n\n {Array.isArray(pagination.perPageOptions) && pagination.setPerPage && (\n <DropdownMenu\n trigger={\n <Tooltip\n trigger={<OptionsIcon size={\"sm\"} />}\n content={\"Navigate to page\"}\n />\n }\n >\n {pagination.setPerPage &&\n pagination.perPageOptions.map(perPage => (\n <DropdownMenu.Item\n key={perPage}\n onClick={() =>\n pagination.setPerPage && pagination.setPerPage(perPage)\n }\n text={perPage}\n />\n ))}\n </DropdownMenu>\n )}\n </>\n );\n};\n\nexport { Pagination };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;AACrB,SAASC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB;AAEpD,SAASC,OAAO;AAEhB,MAAMC,UAAU,GAAIC,KAAoB,IAAK;EACzC,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAC5B,IAAI,CAACC,UAAU,EAAE;IACb,OAAO,IAAI;EACf;EAEA,oBACIR,KAAA,CAAAS,aAAA,CAAAT,KAAA,CAAAU,QAAA,QACKF,UAAU,CAACG,WAAW,iBACnBX,KAAA,CAAAS,aAAA,CAAAT,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAS,aAAA,CAACJ,OAAO;IACJO,OAAO,eACHZ,KAAA,CAAAS,aAAA,CAACL,gBAAgB;MACbS,OAAO,EAAEA,CAAA,KAAM;QACX,IAAIL,UAAU,CAACM,eAAe,IAAIN,UAAU,CAACO,eAAe,EAAE;UAC1DP,UAAU,CAACM,eAAe,CAAC,CAAC;QAChC;MACJ,CAAE;MACFE,IAAI,EAAE;IAAK,CACd,CACJ;IACDC,OAAO,EAAE;EAAgB,CAC5B,CAAC,eACFjB,KAAA,CAAAS,aAAA,CAACJ,OAAO;IACJO,OAAO,eACHZ,KAAA,CAAAS,aAAA,CAACP,YAAY;MACTW,OAAO,EAAEA,CAAA,KAAM;QACX,IAAIL,UAAU,CAACG,WAAW,IAAIH,UAAU,CAACU,WAAW,EAAE;UAClDV,UAAU,CAACG,WAAW,CAAC,CAAC;QAC5B;MACJ,CAAE;MACFK,IAAI,EAAE;IAAK,CACd,CACJ;IACDC,OAAO,EAAE;EAAY,CACxB,CACH,CACL,EAEAE,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,cAAc,CAAC,IAAIb,UAAU,CAACc,UAAU,iBAC9DtB,KAAA,CAAAS,aAAA,CAACR,YAAY;IACTW,OAAO,eACHZ,KAAA,CAAAS,aAAA,CAACJ,OAAO;MACJO,OAAO,eAAEZ,KAAA,CAAAS,aAAA,CAACN,WAAW;QAACa,IAAI,EAAE;MAAK,CAAE,CAAE;MACrCC,OAAO,EAAE;IAAmB,CAC/B;EACJ,GAEAT,UAAU,CAACc,UAAU,IAClBd,UAAU,CAACa,cAAc,CAACE,GAAG,CAACC,OAAO,iBACjCxB,KAAA,CAAAS,aAAA,CAACR,YAAY,CAACwB,IAAI;IACdC,GAAG,EAAEF,OAAQ;IACbX,OAAO,EAAEA,CAAA,KACLL,UAAU,CAACc,UAAU,IAAId,UAAU,CAACc,UAAU,CAACE,OAAO,CACzD;IACDG,IAAI,EAAEH;EAAQ,CACjB,CACJ,CACK,CAEpB,CAAC;AAEX,CAAC;AAED,SAASlB,UAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","DropdownMenu","NextPageIcon","OptionsIcon","PreviousPageIcon","Tooltip","Pagination","props","pagination","createElement","Fragment","setNextPage","trigger","onClick","setPreviousPage","hasPreviousPage","size","content","hasNextPage","Array","isArray","perPageOptions","setPerPage","map","perPage","Item","key","text"],"sources":["Pagination.tsx"],"sourcesContent":["import React from \"react\";\nimport { DropdownMenu } from \"~/DropdownMenu\";\nimport { NextPageIcon, OptionsIcon, PreviousPageIcon } from \"../DataListIcons\";\nimport type { DataListProps } from \"../types\";\nimport { Tooltip } from \"~/Tooltip\";\n\nconst Pagination = (props: DataListProps) => {\n const { pagination } = props;\n if (!pagination) {\n return null;\n }\n\n return (\n <>\n {pagination.setNextPage && (\n <>\n <Tooltip\n trigger={\n <PreviousPageIcon\n onClick={() => {\n if (pagination.setPreviousPage && pagination.hasPreviousPage) {\n pagination.setPreviousPage();\n }\n }}\n size={\"sm\"}\n />\n }\n content={\"Previous page\"}\n />\n <Tooltip\n trigger={\n <NextPageIcon\n onClick={() => {\n if (pagination.setNextPage && pagination.hasNextPage) {\n pagination.setNextPage();\n }\n }}\n size={\"sm\"}\n />\n }\n content={\"Next page\"}\n />\n </>\n )}\n\n {Array.isArray(pagination.perPageOptions) && pagination.setPerPage && (\n <DropdownMenu\n trigger={\n <Tooltip\n trigger={<OptionsIcon size={\"sm\"} />}\n content={\"Navigate to page\"}\n />\n }\n >\n {pagination.setPerPage &&\n pagination.perPageOptions.map(perPage => (\n <DropdownMenu.Item\n key={perPage}\n onClick={() =>\n pagination.setPerPage && pagination.setPerPage(perPage)\n }\n text={perPage}\n />\n ))}\n </DropdownMenu>\n )}\n </>\n );\n};\n\nexport { Pagination };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;AACrB,SAASC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB;AAEpD,SAASC,OAAO;AAEhB,MAAMC,UAAU,GAAIC,KAAoB,IAAK;EACzC,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAC5B,IAAI,CAACC,UAAU,EAAE;IACb,OAAO,IAAI;EACf;EAEA,oBACIR,KAAA,CAAAS,aAAA,CAAAT,KAAA,CAAAU,QAAA,QACKF,UAAU,CAACG,WAAW,iBACnBX,KAAA,CAAAS,aAAA,CAAAT,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAS,aAAA,CAACJ,OAAO;IACJO,OAAO,eACHZ,KAAA,CAAAS,aAAA,CAACL,gBAAgB;MACbS,OAAO,EAAEA,CAAA,KAAM;QACX,IAAIL,UAAU,CAACM,eAAe,IAAIN,UAAU,CAACO,eAAe,EAAE;UAC1DP,UAAU,CAACM,eAAe,CAAC,CAAC;QAChC;MACJ,CAAE;MACFE,IAAI,EAAE;IAAK,CACd,CACJ;IACDC,OAAO,EAAE;EAAgB,CAC5B,CAAC,eACFjB,KAAA,CAAAS,aAAA,CAACJ,OAAO;IACJO,OAAO,eACHZ,KAAA,CAAAS,aAAA,CAACP,YAAY;MACTW,OAAO,EAAEA,CAAA,KAAM;QACX,IAAIL,UAAU,CAACG,WAAW,IAAIH,UAAU,CAACU,WAAW,EAAE;UAClDV,UAAU,CAACG,WAAW,CAAC,CAAC;QAC5B;MACJ,CAAE;MACFK,IAAI,EAAE;IAAK,CACd,CACJ;IACDC,OAAO,EAAE;EAAY,CACxB,CACH,CACL,EAEAE,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,cAAc,CAAC,IAAIb,UAAU,CAACc,UAAU,iBAC9DtB,KAAA,CAAAS,aAAA,CAACR,YAAY;IACTW,OAAO,eACHZ,KAAA,CAAAS,aAAA,CAACJ,OAAO;MACJO,OAAO,eAAEZ,KAAA,CAAAS,aAAA,CAACN,WAAW;QAACa,IAAI,EAAE;MAAK,CAAE,CAAE;MACrCC,OAAO,EAAE;IAAmB,CAC/B;EACJ,GAEAT,UAAU,CAACc,UAAU,IAClBd,UAAU,CAACa,cAAc,CAACE,GAAG,CAACC,OAAO,iBACjCxB,KAAA,CAAAS,aAAA,CAACR,YAAY,CAACwB,IAAI;IACdC,GAAG,EAAEF,OAAQ;IACbX,OAAO,EAAEA,CAAA,KACLL,UAAU,CAACc,UAAU,IAAId,UAAU,CAACc,UAAU,CAACE,OAAO,CACzD;IACDG,IAAI,EAAEH;EAAQ,CACjB,CACJ,CACK,CAEpB,CAAC;AAEX,CAAC;AAED,SAASlB,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","RefreshIcon","Tooltip","RefreshButton","props","refresh","createElement","trigger","onClick","size","content"],"sources":["RefreshButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { RefreshIcon } from \"../DataListIcons\";\nimport { DataListProps } from \"../types\";\nimport { Tooltip } from \"~/Tooltip\";\n\nconst RefreshButton = (props: DataListProps) => {\n const refresh = props.refresh;\n if (!refresh) {\n return null;\n }\n\n return (\n <Tooltip\n trigger={<RefreshIcon onClick={() => refresh()} size={\"sm\"} />}\n content={\"Refresh list\"}\n />\n );\n};\n\nexport { RefreshButton };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW;AAEpB,SAASC,OAAO;AAEhB,MAAMC,aAAa,GAAIC,KAAoB,IAAK;EAC5C,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAO;EAC7B,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,oBACIL,KAAA,CAAAM,aAAA,CAACJ,OAAO;IACJK,OAAO,eAAEP,KAAA,CAAAM,aAAA,CAACL,WAAW;MAACO,OAAO,EAAEA,CAAA,KAAMH,OAAO,CAAC,CAAE;MAACI,IAAI,EAAE;IAAK,CAAE,CAAE;IAC/DC,OAAO,EAAE;EAAe,CAC3B,CAAC;AAEV,CAAC;AAED,SAASP,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","RefreshIcon","Tooltip","RefreshButton","props","refresh","createElement","trigger","onClick","size","content"],"sources":["RefreshButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { RefreshIcon } from \"../DataListIcons\";\nimport type { DataListProps } from \"../types\";\nimport { Tooltip } from \"~/Tooltip\";\n\nconst RefreshButton = (props: DataListProps) => {\n const refresh = props.refresh;\n if (!refresh) {\n return null;\n }\n\n return (\n <Tooltip\n trigger={<RefreshIcon onClick={() => refresh()} size={\"sm\"} />}\n content={\"Refresh list\"}\n />\n );\n};\n\nexport { RefreshButton };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW;AAEpB,SAASC,OAAO;AAEhB,MAAMC,aAAa,GAAIC,KAAoB,IAAK;EAC5C,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAO;EAC7B,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,oBACIL,KAAA,CAAAM,aAAA,CAACJ,OAAO;IACJK,OAAO,eAAEP,KAAA,CAAAM,aAAA,CAACL,WAAW;MAACO,OAAO,EAAEA,CAAA,KAAMH,OAAO,CAAC,CAAE;MAACI,IAAI,EAAE;IAAK,CAAE,CAAE;IAC/DC,OAAO,EAAE;EAAe,CAC3B,CAAC;AAEV,CAAC;AAED,SAASP,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DropdownMenu","SortIcon","Sorters","props","sorters","createElement","trigger","size","map","sorter","Item","key","label","onClick","setSorters","value","content"],"sources":["Sorters.tsx"],"sourcesContent":["import React from \"react\";\nimport { DropdownMenu } from \"~/DropdownMenu\";\nimport { SortIcon } from \"../DataListIcons\";\nimport { DataListProps } from \"../types\";\n\nconst Sorters = (props: DataListProps) => {\n const sorters = props.sorters;\n if (!sorters) {\n return null;\n }\n\n return (\n <DropdownMenu trigger={<SortIcon size={\"sm\"} />}>\n {sorters.map(sorter => (\n <DropdownMenu.Item\n key={sorter.label}\n onClick={() => {\n if (sorters && props.setSorters) {\n props.setSorters(sorter.value);\n }\n }}\n content={sorter.label}\n />\n ))}\n </DropdownMenu>\n );\n};\n\nexport { Sorters };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;AACrB,SAASC,QAAQ;AAGjB,MAAMC,OAAO,GAAIC,KAAoB,IAAK;EACtC,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAO;EAC7B,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,oBACIL,KAAA,CAAAM,aAAA,CAACL,YAAY;IAACM,OAAO,eAAEP,KAAA,CAAAM,aAAA,CAACJ,QAAQ;MAACM,IAAI,EAAE;IAAK,CAAE;EAAE,GAC3CH,OAAO,CAACI,GAAG,CAACC,MAAM,iBACfV,KAAA,CAAAM,aAAA,CAACL,YAAY,CAACU,IAAI;IACdC,GAAG,EAAEF,MAAM,CAACG,KAAM;IAClBC,OAAO,EAAEA,CAAA,KAAM;MACX,IAAIT,OAAO,IAAID,KAAK,CAACW,UAAU,EAAE;QAC7BX,KAAK,CAACW,UAAU,CAACL,MAAM,CAACM,KAAK,CAAC;MAClC;IACJ,CAAE;IACFC,OAAO,EAAEP,MAAM,CAACG;EAAM,CACzB,CACJ,CACS,CAAC;AAEvB,CAAC;AAED,SAASV,OAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","DropdownMenu","SortIcon","Sorters","props","sorters","createElement","trigger","size","map","sorter","Item","key","label","onClick","setSorters","value","content"],"sources":["Sorters.tsx"],"sourcesContent":["import React from \"react\";\nimport { DropdownMenu } from \"~/DropdownMenu\";\nimport { SortIcon } from \"../DataListIcons\";\nimport type { DataListProps } from \"../types\";\n\nconst Sorters = (props: DataListProps) => {\n const sorters = props.sorters;\n if (!sorters) {\n return null;\n }\n\n return (\n <DropdownMenu trigger={<SortIcon size={\"sm\"} />}>\n {sorters.map(sorter => (\n <DropdownMenu.Item\n key={sorter.label}\n onClick={() => {\n if (sorters && props.setSorters) {\n props.setSorters(sorter.value);\n }\n }}\n content={sorter.label}\n />\n ))}\n </DropdownMenu>\n );\n};\n\nexport { Sorters };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;AACrB,SAASC,QAAQ;AAGjB,MAAMC,OAAO,GAAIC,KAAoB,IAAK;EACtC,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAO;EAC7B,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,oBACIL,KAAA,CAAAM,aAAA,CAACL,YAAY;IAACM,OAAO,eAAEP,KAAA,CAAAM,aAAA,CAACJ,QAAQ;MAACM,IAAI,EAAE;IAAK,CAAE;EAAE,GAC3CH,OAAO,CAACI,GAAG,CAACC,MAAM,iBACfV,KAAA,CAAAM,aAAA,CAACL,YAAY,CAACU,IAAI;IACdC,GAAG,EAAEF,MAAM,CAACG,KAAM;IAClBC,OAAO,EAAEA,CAAA,KAAM;MACX,IAAIT,OAAO,IAAID,KAAK,CAACW,UAAU,EAAE;QAC7BX,KAAK,CAACW,UAAU,CAACL,MAAM,CAACM,KAAK,CAAC;MAClC;IACJ,CAAE;IACFC,OAAO,EAAEP,MAAM,CAACG;EAAM,CACzB,CACJ,CACS,CAAC;AAEvB,CAAC;AAED,SAASV,OAAO","ignoreList":[]}
|
package/DataTable/DataTable.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ColumnSort, OnChangeFn, Row, SortingState, VisibilityState } from "@tanstack/react-table";
|
|
2
|
+
import type { ColumnSort, OnChangeFn, Row, SortingState, VisibilityState } from "@tanstack/react-table";
|
|
3
3
|
interface DataTableColumn<T> {
|
|
4
4
|
header?: string | number | JSX.Element;
|
|
5
5
|
cell?: (row: T) => string | number | JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useEffect","useMemo","useRef","useState","flexRender","getCoreRowModel","getSortedRowModel","useReactTable","CheckboxPrimitive","Skeleton","Table","ColumnSorter","ColumnsVisibility","cn","makeDecoratable","defineColumns","columns","options","canSelectAllRows","onSelectRow","onToggleRow","loading","columnsList","Object","keys","map","key","id","defaults","column","cell","className","enableHiding","enableResizing","enableSorting","header","size","accessorKey","props","row","original","getValue","String","meta","columnsDefs","firstColumn","isSelectable","createElement","indeterminate","table","getIsSomeRowsSelected","checked","getIsAllRowsSelected","onChange","toggleAllPageRowsSelected","disabled","onClick","e","stopPropagation","getIsSelected","value","toggleSelected","getCanSelect","slice","type","typedMemo","TableCell","getColumnWidth","width","Cell","assign","columnDef","style","maxWidth","getContext","MemoTableCell","TableRow","selected","cells","Row","MemoTableRow","emptyArray","Array","fill","DecoratableDataTable","bordered","columnVisibility","initialColumns","data","initialData","initialSorting","isRowSelectable","onColumnVisibilityChange","onSortingChange","selectedRows","sorting","stickyHeader","tableRef","tableWidth","setTableWidth","updateElementWidth","current","clientWidth","window","addEventListener","removeEventListener","rowSelection","reduce","acc","item","recordIndex","findIndex","rec","onRowSelectionChange","updater","newSelection","toggledRows","filter","x","length","parseInt","selection","tableSorting","isArray","columnResizeMode","enableColumnResizing","enableRowSelection","enableSortingRemoval","manualSorting","state","getCanResize","getSize","tableSize","getTotalSize","columnSize","Math","ceil","tableRows","getRowModel","rows","ref","sticky","Header","getHeaderGroups","headerGroup","headers","index","isLastCell","Head","colSpan","isPlaceholder","getToggleSortingHandler","sortable","getCanSort","Direction","direction","getIsSorted","getAllColumns","Resizer","onMouseDown","getResizeHandler","onTouchStart","isResizing","getIsResizing","Body","getVisibleCells","DataTable"],"sources":["DataTable.tsx"],"sourcesContent":["import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n Cell,\n Column,\n ColumnDef,\n ColumnSort,\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n OnChangeFn,\n Row,\n RowSelectionState,\n SortingState,\n useReactTable,\n VisibilityState\n} from \"@tanstack/react-table\";\nimport { CheckboxPrimitive } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\nimport { Table } from \"~/Table\";\nimport { ColumnSorter, ColumnsVisibility } from \"./components\";\nimport { cn, makeDecoratable } from \"~/utils\";\n\ninterface DataTableColumn<T> {\n /*\n * Column header component.\n */\n header?: string | number | JSX.Element;\n /*\n * Cell renderer, receives the full row and returns the value to render inside the cell.\n */\n cell?: (row: T) => string | number | JSX.Element | null;\n /*\n * Column size.\n */\n size?: number;\n /*\n * Column class names.\n */\n className?: string;\n /*\n * Enable column sorting.\n */\n enableSorting?: boolean;\n /*\n * Enable column resizing.\n */\n enableResizing?: boolean;\n /*\n * Enable column visibility toggling.\n */\n enableHiding?: boolean;\n}\n\ntype DataTableColumns<T> = {\n [P in keyof T]?: DataTableColumn<T>;\n};\n\ntype DataTableDefaultData = {\n id: string;\n /*\n * Define if a specific row can be selected.\n */\n $selectable?: boolean;\n};\n\ntype DataTableRow<T> = Row<DataTableDefaultData & T>;\n\ntype DataTableSorting = SortingState;\n\ntype DataTableColumnSort = ColumnSort;\n\ntype OnDataTableSortingChange = OnChangeFn<DataTableSorting>;\n\ntype DataTableColumnVisibility = VisibilityState;\n\ntype OnDataTableColumnVisibilityChange = OnChangeFn<DataTableColumnVisibility>;\n\ninterface DataTableProps<TEntry> {\n /**\n * Show or hide borders.\n */\n bordered?: boolean;\n /**\n * Controls whether \"select all\" action is allowed.\n */\n canSelectAllRows?: boolean;\n /**\n * Columns definition.\n */\n columns: DataTableColumns<TEntry>;\n /**\n * The column visibility state.\n */\n columnVisibility?: DataTableColumnVisibility;\n /**\n * Callback that receives current column visibility state.\n */\n onColumnVisibilityChange?: OnDataTableColumnVisibilityChange;\n /**\n * Data to display into DataTable body.\n */\n data: TEntry[];\n /**\n * Callback that is called to determine if the row is selectable.\n */\n isRowSelectable?: (row: Row<TEntry>) => boolean;\n /**\n * Render the skeleton state while data are loading.\n */\n loading?: boolean;\n /**\n * Callback that receives the selected rows.\n */\n onSelectRow?: (rows: TEntry[]) => void;\n /**\n * Callback that receives the toggled row.\n */\n onToggleRow?: (row: TEntry) => void;\n /**\n * Callback that receives current sorting state.\n */\n onSortingChange?: OnDataTableSortingChange;\n /**\n * Selected rows.\n */\n selectedRows?: TEntry[];\n /**\n * Sorting state.\n */\n sorting?: DataTableSorting;\n /**\n * Initial sorting state.\n */\n initialSorting?: DataTableSorting;\n /**\n * Enable sticky header.\n */\n stickyHeader?: boolean;\n}\n\ninterface DefineColumnsOptions<TEntry> {\n canSelectAllRows: boolean;\n onSelectRow?: DataTableProps<TEntry>[\"onSelectRow\"];\n onToggleRow: DataTableProps<TEntry>[\"onToggleRow\"];\n loading: DataTableProps<TEntry>[\"loading\"];\n}\n\nconst defineColumns = <T,>(\n columns: DataTableProps<T>[\"columns\"],\n options: DefineColumnsOptions<T>\n): ColumnDef<T>[] => {\n const { canSelectAllRows, onSelectRow, onToggleRow, loading } = options;\n\n return useMemo(() => {\n const columnsList = Object.keys(columns).map(key => ({\n id: key,\n ...columns[key as keyof typeof columns]\n }));\n\n const defaults: ColumnDef<T>[] = columnsList.map(column => {\n const {\n cell,\n className,\n enableHiding = true,\n enableResizing = true,\n enableSorting = false,\n header,\n id,\n size = 100\n } = column;\n\n return {\n id,\n accessorKey: id,\n header: () => header,\n cell: props => {\n if (cell && typeof cell === \"function\") {\n return cell(props.row.original);\n } else {\n // Automatically convert any cell value to a string for rendering,\n // ensuring the table displays values correctly. This aligns with React's\n // rendering, which expects JSX, strings or null.\n // https://github.com/TanStack/table/issues/1042\n return props.getValue() ? String(props.getValue()) : null;\n }\n },\n enableSorting,\n meta: {\n className\n },\n enableResizing,\n size,\n enableHiding\n };\n });\n\n let columnsDefs = defaults;\n const firstColumn = defaults[0];\n const isSelectable = onToggleRow || onSelectRow;\n\n if (isSelectable && firstColumn) {\n columnsDefs = [\n {\n ...firstColumn,\n accessorKey: firstColumn.id as string,\n header: props => {\n return (\n <div className={\"wby-flex wby-items-center wby-gap-xl\"}>\n <CheckboxPrimitive\n indeterminate={props.table.getIsSomeRowsSelected()}\n checked={props.table.getIsAllRowsSelected()}\n onChange={props.table.toggleAllPageRowsSelected}\n aria-label=\"Select all\"\n disabled={!canSelectAllRows}\n onClick={e => e.stopPropagation()}\n />\n {firstColumn.header\n ? React.createElement(firstColumn.header, props)\n : null}\n </div>\n );\n },\n cell: props => {\n return (\n <div className={\"wby-flex wby-items-center wby-gap-xl\"}>\n <CheckboxPrimitive\n checked={props.row.getIsSelected()}\n onChange={value => props.row.toggleSelected(!!value)}\n disabled={!props.row.getCanSelect()}\n aria-label=\"Select row\"\n className={cn(!props.row.getCanSelect() ? \"wby-invisible\" : \"\")}\n />\n {firstColumn.cell\n ? React.createElement(firstColumn.cell, props)\n : null}\n </div>\n );\n }\n },\n ...defaults.slice(1)\n ];\n }\n\n return columnsDefs.map(column => {\n if (loading) {\n return {\n ...column,\n cell: () => <Skeleton type={\"text\"} size={\"md\"} />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, onToggleRow, loading]);\n};\n\nconst typedMemo: <T>(component: T) => T = memo;\n\ninterface TableCellProps<T> {\n cell: Cell<T, unknown>;\n getColumnWidth: (column: Column<T>) => number;\n}\n\nconst TableCell = <T,>({ cell, getColumnWidth }: TableCellProps<T>) => {\n const width = getColumnWidth(cell.column);\n\n return (\n <Table.Cell {...cell.column.columnDef.meta} style={{ width, maxWidth: width }}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n};\n\nconst MemoTableCell = typedMemo(TableCell);\n\ninterface TableRowProps<T> {\n selected: boolean;\n cells: Cell<T, unknown>[];\n getColumnWidth: (column: Column<T>) => number;\n}\n\nconst TableRow = <T,>({ selected, cells, getColumnWidth }: TableRowProps<T>) => {\n return (\n <Table.Row selected={selected}>\n {cells.map(cell => (\n <MemoTableCell<T> key={cell.id} cell={cell} getColumnWidth={getColumnWidth} />\n ))}\n </Table.Row>\n );\n};\n\nconst MemoTableRow = typedMemo(TableRow);\n\n/**\n * Empty array must be defined outside the React component so it does not force rerendering of the DataTable\n */\nconst emptyArray = Array(10).fill({});\n\nconst DecoratableDataTable = <T extends Record<string, any> & DataTableDefaultData>({\n bordered,\n canSelectAllRows = true,\n columnVisibility,\n columns: initialColumns,\n data: initialData,\n initialSorting,\n isRowSelectable,\n loading,\n onColumnVisibilityChange,\n onSelectRow,\n onSortingChange,\n onToggleRow,\n selectedRows = [],\n sorting,\n stickyHeader\n}: DataTableProps<T>) => {\n const tableRef = useRef<HTMLDivElement>(null);\n const [tableWidth, setTableWidth] = useState(1);\n\n const data = loading ? emptyArray : initialData;\n\n useEffect(() => {\n const updateElementWidth = () => {\n if (tableRef.current) {\n const width = tableRef.current.clientWidth;\n setTableWidth(width);\n }\n };\n\n updateElementWidth();\n\n window.addEventListener(\"resize\", updateElementWidth);\n\n return () => {\n window.removeEventListener(\"resize\", updateElementWidth);\n };\n }, [tableRef.current]);\n\n const rowSelection = useMemo(() => {\n return selectedRows.reduce<RowSelectionState>((acc, item) => {\n const recordIndex = data.findIndex(rec => rec.id === item.id);\n return { ...acc, [recordIndex]: true };\n }, {});\n }, [selectedRows, data]);\n\n const onRowSelectionChange: OnChangeFn<RowSelectionState> = updater => {\n const newSelection = typeof updater === \"function\" ? updater(rowSelection) : updater;\n\n /**\n * `@tanstack/react-table` isn't telling us what row was selected or deselected. It simply gives us\n * the new selection state (an object with row indexes that are currently selected).\n *\n * To figure out what row was toggled, we need to calculate the difference between the old selection\n * and the new selection. What we're doing here is:\n * - find all items that were present in the previous selection, but are no longer present in the new selection\n * - find all items that are present in the new selection, but were not present in the previous selection\n */\n const toggledRows = [\n ...Object.keys(rowSelection).filter(x => !(x in newSelection)),\n ...Object.keys(newSelection).filter(x => !(x in rowSelection))\n ];\n\n // If the difference is only 1 item, and `onToggleRow` is available, execute that.\n if (toggledRows.length === 1 && typeof onToggleRow === \"function\") {\n onToggleRow(data[parseInt(toggledRows[0])]);\n return;\n } else if (typeof onSelectRow === \"function\") {\n const selection = Object.keys(newSelection).map(key => data[parseInt(key)]);\n onSelectRow(selection);\n }\n };\n\n const tableSorting = useMemo(() => {\n if (!Array.isArray(sorting) || !sorting.length) {\n return initialSorting;\n }\n return sorting;\n }, [sorting]);\n\n const columns = defineColumns(initialColumns, {\n canSelectAllRows,\n onSelectRow,\n onToggleRow,\n loading\n });\n\n const table = useReactTable<T>({\n columnResizeMode: \"onChange\",\n columns,\n data,\n enableColumnResizing: true,\n enableHiding: !!onColumnVisibilityChange,\n enableRowSelection: isRowSelectable,\n enableSorting: !!onSortingChange,\n enableSortingRemoval: false,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n manualSorting: true,\n onColumnVisibilityChange,\n onRowSelectionChange,\n onSortingChange,\n state: {\n columnVisibility,\n rowSelection,\n sorting: tableSorting\n }\n });\n\n const getColumnWidth = useCallback(\n (column: Column<T>): number => {\n if (!column.getCanResize()) {\n return column.getSize();\n }\n\n const tableSize = table.getTotalSize();\n const columnSize = column.getSize();\n\n return Math.ceil((columnSize * tableWidth) / tableSize);\n },\n [table, tableWidth]\n );\n\n /**\n * Had to memoize the rows to avoid browser freeze.\n */\n const tableRows = useMemo(() => {\n return table.getRowModel().rows;\n }, [table, data, columns]);\n\n return (\n <div ref={tableRef}>\n <Table bordered={bordered} sticky={stickyHeader}>\n <Table.Header sticky={stickyHeader}>\n {table.getHeaderGroups().map(headerGroup => (\n <Table.Row key={headerGroup.id}>\n {headerGroup.headers.map((header, index) => {\n const isLastCell = index === headerGroup.headers.length - 1;\n const width = getColumnWidth(header.column);\n\n return (\n <Table.Head\n key={header.id}\n {...header.column.columnDef.meta}\n colSpan={header.colSpan}\n style={{ width, maxWidth: width }}\n >\n {header.isPlaceholder ? null : (\n <ColumnSorter\n onClick={header.column.getToggleSortingHandler()}\n sortable={header.column.getCanSort()}\n >\n <div className=\"wby-w-full wby-overflow-hidden wby-whitespace-nowrap wby-truncate\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </div>\n <Table.Direction\n direction={header.column.getIsSorted() || null}\n />\n {isLastCell && (\n <div className={\"wby-mr-xs wby-h-md\"}>\n <ColumnsVisibility\n columns={table.getAllColumns()}\n />\n </div>\n )}\n </ColumnSorter>\n )}\n {header.column.getCanResize() && (\n <Table.Resizer\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n isResizing={header.column.getIsResizing()}\n />\n )}\n </Table.Head>\n );\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body>\n {tableRows.map(row => {\n const id = row.original.id || row.id;\n return (\n <MemoTableRow<T>\n key={id}\n cells={row.getVisibleCells()}\n selected={row.getIsSelected()}\n getColumnWidth={getColumnWidth}\n />\n );\n })}\n </Table.Body>\n </Table>\n </div>\n );\n};\n\nconst DataTable = makeDecoratable(\"DataTable\", DecoratableDataTable);\n\nexport {\n DataTable,\n type DataTableProps,\n type DataTableColumn,\n type DataTableColumns,\n type DataTableDefaultData,\n type DataTableRow,\n type DataTableSorting,\n type DataTableColumnSort,\n type OnDataTableSortingChange,\n type DataTableColumnVisibility,\n type OnDataTableColumnVisibilityChange\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useEffect","useMemo","useRef","useState","flexRender","getCoreRowModel","getSortedRowModel","useReactTable","CheckboxPrimitive","Skeleton","Table","ColumnSorter","ColumnsVisibility","cn","makeDecoratable","defineColumns","columns","options","canSelectAllRows","onSelectRow","onToggleRow","loading","columnsList","Object","keys","map","key","id","defaults","column","cell","className","enableHiding","enableResizing","enableSorting","header","size","accessorKey","props","row","original","getValue","String","meta","columnsDefs","firstColumn","isSelectable","createElement","indeterminate","table","getIsSomeRowsSelected","checked","getIsAllRowsSelected","onChange","toggleAllPageRowsSelected","disabled","onClick","e","stopPropagation","getIsSelected","value","toggleSelected","getCanSelect","slice","type","typedMemo","TableCell","getColumnWidth","width","Cell","assign","columnDef","style","maxWidth","getContext","MemoTableCell","TableRow","selected","cells","Row","MemoTableRow","emptyArray","Array","fill","DecoratableDataTable","bordered","columnVisibility","initialColumns","data","initialData","initialSorting","isRowSelectable","onColumnVisibilityChange","onSortingChange","selectedRows","sorting","stickyHeader","tableRef","tableWidth","setTableWidth","updateElementWidth","current","clientWidth","window","addEventListener","removeEventListener","rowSelection","reduce","acc","item","recordIndex","findIndex","rec","onRowSelectionChange","updater","newSelection","toggledRows","filter","x","length","parseInt","selection","tableSorting","isArray","columnResizeMode","enableColumnResizing","enableRowSelection","enableSortingRemoval","manualSorting","state","getCanResize","getSize","tableSize","getTotalSize","columnSize","Math","ceil","tableRows","getRowModel","rows","ref","sticky","Header","getHeaderGroups","headerGroup","headers","index","isLastCell","Head","colSpan","isPlaceholder","getToggleSortingHandler","sortable","getCanSort","Direction","direction","getIsSorted","getAllColumns","Resizer","onMouseDown","getResizeHandler","onTouchStart","isResizing","getIsResizing","Body","getVisibleCells","DataTable"],"sources":["DataTable.tsx"],"sourcesContent":["import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport type {\n Cell,\n Column,\n ColumnDef,\n ColumnSort,\n OnChangeFn,\n Row,\n RowSelectionState,\n SortingState,\n VisibilityState\n} from \"@tanstack/react-table\";\nimport {\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n useReactTable\n} from \"@tanstack/react-table\";\nimport { CheckboxPrimitive } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\nimport { Table } from \"~/Table\";\nimport { ColumnSorter, ColumnsVisibility } from \"./components\";\nimport { cn, makeDecoratable } from \"~/utils\";\n\ninterface DataTableColumn<T> {\n /*\n * Column header component.\n */\n header?: string | number | JSX.Element;\n /*\n * Cell renderer, receives the full row and returns the value to render inside the cell.\n */\n cell?: (row: T) => string | number | JSX.Element | null;\n /*\n * Column size.\n */\n size?: number;\n /*\n * Column class names.\n */\n className?: string;\n /*\n * Enable column sorting.\n */\n enableSorting?: boolean;\n /*\n * Enable column resizing.\n */\n enableResizing?: boolean;\n /*\n * Enable column visibility toggling.\n */\n enableHiding?: boolean;\n}\n\ntype DataTableColumns<T> = {\n [P in keyof T]?: DataTableColumn<T>;\n};\n\ntype DataTableDefaultData = {\n id: string;\n /*\n * Define if a specific row can be selected.\n */\n $selectable?: boolean;\n};\n\ntype DataTableRow<T> = Row<DataTableDefaultData & T>;\n\ntype DataTableSorting = SortingState;\n\ntype DataTableColumnSort = ColumnSort;\n\ntype OnDataTableSortingChange = OnChangeFn<DataTableSorting>;\n\ntype DataTableColumnVisibility = VisibilityState;\n\ntype OnDataTableColumnVisibilityChange = OnChangeFn<DataTableColumnVisibility>;\n\ninterface DataTableProps<TEntry> {\n /**\n * Show or hide borders.\n */\n bordered?: boolean;\n /**\n * Controls whether \"select all\" action is allowed.\n */\n canSelectAllRows?: boolean;\n /**\n * Columns definition.\n */\n columns: DataTableColumns<TEntry>;\n /**\n * The column visibility state.\n */\n columnVisibility?: DataTableColumnVisibility;\n /**\n * Callback that receives current column visibility state.\n */\n onColumnVisibilityChange?: OnDataTableColumnVisibilityChange;\n /**\n * Data to display into DataTable body.\n */\n data: TEntry[];\n /**\n * Callback that is called to determine if the row is selectable.\n */\n isRowSelectable?: (row: Row<TEntry>) => boolean;\n /**\n * Render the skeleton state while data are loading.\n */\n loading?: boolean;\n /**\n * Callback that receives the selected rows.\n */\n onSelectRow?: (rows: TEntry[]) => void;\n /**\n * Callback that receives the toggled row.\n */\n onToggleRow?: (row: TEntry) => void;\n /**\n * Callback that receives current sorting state.\n */\n onSortingChange?: OnDataTableSortingChange;\n /**\n * Selected rows.\n */\n selectedRows?: TEntry[];\n /**\n * Sorting state.\n */\n sorting?: DataTableSorting;\n /**\n * Initial sorting state.\n */\n initialSorting?: DataTableSorting;\n /**\n * Enable sticky header.\n */\n stickyHeader?: boolean;\n}\n\ninterface DefineColumnsOptions<TEntry> {\n canSelectAllRows: boolean;\n onSelectRow?: DataTableProps<TEntry>[\"onSelectRow\"];\n onToggleRow: DataTableProps<TEntry>[\"onToggleRow\"];\n loading: DataTableProps<TEntry>[\"loading\"];\n}\n\nconst defineColumns = <T,>(\n columns: DataTableProps<T>[\"columns\"],\n options: DefineColumnsOptions<T>\n): ColumnDef<T>[] => {\n const { canSelectAllRows, onSelectRow, onToggleRow, loading } = options;\n\n return useMemo(() => {\n const columnsList = Object.keys(columns).map(key => ({\n id: key,\n ...columns[key as keyof typeof columns]\n }));\n\n const defaults: ColumnDef<T>[] = columnsList.map(column => {\n const {\n cell,\n className,\n enableHiding = true,\n enableResizing = true,\n enableSorting = false,\n header,\n id,\n size = 100\n } = column;\n\n return {\n id,\n accessorKey: id,\n header: () => header,\n cell: props => {\n if (cell && typeof cell === \"function\") {\n return cell(props.row.original);\n } else {\n // Automatically convert any cell value to a string for rendering,\n // ensuring the table displays values correctly. This aligns with React's\n // rendering, which expects JSX, strings or null.\n // https://github.com/TanStack/table/issues/1042\n return props.getValue() ? String(props.getValue()) : null;\n }\n },\n enableSorting,\n meta: {\n className\n },\n enableResizing,\n size,\n enableHiding\n };\n });\n\n let columnsDefs = defaults;\n const firstColumn = defaults[0];\n const isSelectable = onToggleRow || onSelectRow;\n\n if (isSelectable && firstColumn) {\n columnsDefs = [\n {\n ...firstColumn,\n accessorKey: firstColumn.id as string,\n header: props => {\n return (\n <div className={\"wby-flex wby-items-center wby-gap-xl\"}>\n <CheckboxPrimitive\n indeterminate={props.table.getIsSomeRowsSelected()}\n checked={props.table.getIsAllRowsSelected()}\n onChange={props.table.toggleAllPageRowsSelected}\n aria-label=\"Select all\"\n disabled={!canSelectAllRows}\n onClick={e => e.stopPropagation()}\n />\n {firstColumn.header\n ? React.createElement(firstColumn.header, props)\n : null}\n </div>\n );\n },\n cell: props => {\n return (\n <div className={\"wby-flex wby-items-center wby-gap-xl\"}>\n <CheckboxPrimitive\n checked={props.row.getIsSelected()}\n onChange={value => props.row.toggleSelected(!!value)}\n disabled={!props.row.getCanSelect()}\n aria-label=\"Select row\"\n className={cn(!props.row.getCanSelect() ? \"wby-invisible\" : \"\")}\n />\n {firstColumn.cell\n ? React.createElement(firstColumn.cell, props)\n : null}\n </div>\n );\n }\n },\n ...defaults.slice(1)\n ];\n }\n\n return columnsDefs.map(column => {\n if (loading) {\n return {\n ...column,\n cell: () => <Skeleton type={\"text\"} size={\"md\"} />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, onToggleRow, loading]);\n};\n\nconst typedMemo: <T>(component: T) => T = memo;\n\ninterface TableCellProps<T> {\n cell: Cell<T, unknown>;\n getColumnWidth: (column: Column<T>) => number;\n}\n\nconst TableCell = <T,>({ cell, getColumnWidth }: TableCellProps<T>) => {\n const width = getColumnWidth(cell.column);\n\n return (\n <Table.Cell {...cell.column.columnDef.meta} style={{ width, maxWidth: width }}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n};\n\nconst MemoTableCell = typedMemo(TableCell);\n\ninterface TableRowProps<T> {\n selected: boolean;\n cells: Cell<T, unknown>[];\n getColumnWidth: (column: Column<T>) => number;\n}\n\nconst TableRow = <T,>({ selected, cells, getColumnWidth }: TableRowProps<T>) => {\n return (\n <Table.Row selected={selected}>\n {cells.map(cell => (\n <MemoTableCell<T> key={cell.id} cell={cell} getColumnWidth={getColumnWidth} />\n ))}\n </Table.Row>\n );\n};\n\nconst MemoTableRow = typedMemo(TableRow);\n\n/**\n * Empty array must be defined outside the React component so it does not force rerendering of the DataTable\n */\nconst emptyArray = Array(10).fill({});\n\nconst DecoratableDataTable = <T extends Record<string, any> & DataTableDefaultData>({\n bordered,\n canSelectAllRows = true,\n columnVisibility,\n columns: initialColumns,\n data: initialData,\n initialSorting,\n isRowSelectable,\n loading,\n onColumnVisibilityChange,\n onSelectRow,\n onSortingChange,\n onToggleRow,\n selectedRows = [],\n sorting,\n stickyHeader\n}: DataTableProps<T>) => {\n const tableRef = useRef<HTMLDivElement>(null);\n const [tableWidth, setTableWidth] = useState(1);\n\n const data = loading ? emptyArray : initialData;\n\n useEffect(() => {\n const updateElementWidth = () => {\n if (tableRef.current) {\n const width = tableRef.current.clientWidth;\n setTableWidth(width);\n }\n };\n\n updateElementWidth();\n\n window.addEventListener(\"resize\", updateElementWidth);\n\n return () => {\n window.removeEventListener(\"resize\", updateElementWidth);\n };\n }, [tableRef.current]);\n\n const rowSelection = useMemo(() => {\n return selectedRows.reduce<RowSelectionState>((acc, item) => {\n const recordIndex = data.findIndex(rec => rec.id === item.id);\n return { ...acc, [recordIndex]: true };\n }, {});\n }, [selectedRows, data]);\n\n const onRowSelectionChange: OnChangeFn<RowSelectionState> = updater => {\n const newSelection = typeof updater === \"function\" ? updater(rowSelection) : updater;\n\n /**\n * `@tanstack/react-table` isn't telling us what row was selected or deselected. It simply gives us\n * the new selection state (an object with row indexes that are currently selected).\n *\n * To figure out what row was toggled, we need to calculate the difference between the old selection\n * and the new selection. What we're doing here is:\n * - find all items that were present in the previous selection, but are no longer present in the new selection\n * - find all items that are present in the new selection, but were not present in the previous selection\n */\n const toggledRows = [\n ...Object.keys(rowSelection).filter(x => !(x in newSelection)),\n ...Object.keys(newSelection).filter(x => !(x in rowSelection))\n ];\n\n // If the difference is only 1 item, and `onToggleRow` is available, execute that.\n if (toggledRows.length === 1 && typeof onToggleRow === \"function\") {\n onToggleRow(data[parseInt(toggledRows[0])]);\n return;\n } else if (typeof onSelectRow === \"function\") {\n const selection = Object.keys(newSelection).map(key => data[parseInt(key)]);\n onSelectRow(selection);\n }\n };\n\n const tableSorting = useMemo(() => {\n if (!Array.isArray(sorting) || !sorting.length) {\n return initialSorting;\n }\n return sorting;\n }, [sorting]);\n\n const columns = defineColumns(initialColumns, {\n canSelectAllRows,\n onSelectRow,\n onToggleRow,\n loading\n });\n\n const table = useReactTable<T>({\n columnResizeMode: \"onChange\",\n columns,\n data,\n enableColumnResizing: true,\n enableHiding: !!onColumnVisibilityChange,\n enableRowSelection: isRowSelectable,\n enableSorting: !!onSortingChange,\n enableSortingRemoval: false,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n manualSorting: true,\n onColumnVisibilityChange,\n onRowSelectionChange,\n onSortingChange,\n state: {\n columnVisibility,\n rowSelection,\n sorting: tableSorting\n }\n });\n\n const getColumnWidth = useCallback(\n (column: Column<T>): number => {\n if (!column.getCanResize()) {\n return column.getSize();\n }\n\n const tableSize = table.getTotalSize();\n const columnSize = column.getSize();\n\n return Math.ceil((columnSize * tableWidth) / tableSize);\n },\n [table, tableWidth]\n );\n\n /**\n * Had to memoize the rows to avoid browser freeze.\n */\n const tableRows = useMemo(() => {\n return table.getRowModel().rows;\n }, [table, data, columns]);\n\n return (\n <div ref={tableRef}>\n <Table bordered={bordered} sticky={stickyHeader}>\n <Table.Header sticky={stickyHeader}>\n {table.getHeaderGroups().map(headerGroup => (\n <Table.Row key={headerGroup.id}>\n {headerGroup.headers.map((header, index) => {\n const isLastCell = index === headerGroup.headers.length - 1;\n const width = getColumnWidth(header.column);\n\n return (\n <Table.Head\n key={header.id}\n {...header.column.columnDef.meta}\n colSpan={header.colSpan}\n style={{ width, maxWidth: width }}\n >\n {header.isPlaceholder ? null : (\n <ColumnSorter\n onClick={header.column.getToggleSortingHandler()}\n sortable={header.column.getCanSort()}\n >\n <div className=\"wby-w-full wby-overflow-hidden wby-whitespace-nowrap wby-truncate\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </div>\n <Table.Direction\n direction={header.column.getIsSorted() || null}\n />\n {isLastCell && (\n <div className={\"wby-mr-xs wby-h-md\"}>\n <ColumnsVisibility\n columns={table.getAllColumns()}\n />\n </div>\n )}\n </ColumnSorter>\n )}\n {header.column.getCanResize() && (\n <Table.Resizer\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n isResizing={header.column.getIsResizing()}\n />\n )}\n </Table.Head>\n );\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body>\n {tableRows.map(row => {\n const id = row.original.id || row.id;\n return (\n <MemoTableRow<T>\n key={id}\n cells={row.getVisibleCells()}\n selected={row.getIsSelected()}\n getColumnWidth={getColumnWidth}\n />\n );\n })}\n </Table.Body>\n </Table>\n </div>\n );\n};\n\nconst DataTable = makeDecoratable(\"DataTable\", DecoratableDataTable);\n\nexport {\n DataTable,\n type DataTableProps,\n type DataTableColumn,\n type DataTableColumns,\n type DataTableDefaultData,\n type DataTableRow,\n type DataTableSorting,\n type DataTableColumnSort,\n type OnDataTableSortingChange,\n type DataTableColumnVisibility,\n type OnDataTableColumnVisibilityChange\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAYtF,SACIC,UAAU,EACVC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,QACV,uBAAuB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,QAAQ;AACjB,SAASC,KAAK;AACd,SAASC,YAAY,EAAEC,iBAAiB;AACxC,SAASC,EAAE,EAAEC,eAAe;AA+H5B,MAAMC,aAAa,GAAGA,CAClBC,OAAqC,EACrCC,OAAgC,KACf;EACjB,MAAM;IAAEC,gBAAgB;IAAEC,WAAW;IAAEC,WAAW;IAAEC;EAAQ,CAAC,GAAGJ,OAAO;EAEvE,OAAOhB,OAAO,CAAC,MAAM;IACjB,MAAMqB,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACR,OAAO,CAAC,CAACS,GAAG,CAACC,GAAG,KAAK;MACjDC,EAAE,EAAED,GAAG;MACP,GAAGV,OAAO,CAACU,GAAG;IAClB,CAAC,CAAC,CAAC;IAEH,MAAME,QAAwB,GAAGN,WAAW,CAACG,GAAG,CAACI,MAAM,IAAI;MACvD,MAAM;QACFC,IAAI;QACJC,SAAS;QACTC,YAAY,GAAG,IAAI;QACnBC,cAAc,GAAG,IAAI;QACrBC,aAAa,GAAG,KAAK;QACrBC,MAAM;QACNR,EAAE;QACFS,IAAI,GAAG;MACX,CAAC,GAAGP,MAAM;MAEV,OAAO;QACHF,EAAE;QACFU,WAAW,EAAEV,EAAE;QACfQ,MAAM,EAAEA,CAAA,KAAMA,MAAM;QACpBL,IAAI,EAAEQ,KAAK,IAAI;UACX,IAAIR,IAAI,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;YACpC,OAAOA,IAAI,CAACQ,KAAK,CAACC,GAAG,CAACC,QAAQ,CAAC;UACnC,CAAC,MAAM;YACH;YACA;YACA;YACA;YACA,OAAOF,KAAK,CAACG,QAAQ,CAAC,CAAC,GAAGC,MAAM,CAACJ,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;UAC7D;QACJ,CAAC;QACDP,aAAa;QACbS,IAAI,EAAE;UACFZ;QACJ,CAAC;QACDE,cAAc;QACdG,IAAI;QACJJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,IAAIY,WAAW,GAAGhB,QAAQ;IAC1B,MAAMiB,WAAW,GAAGjB,QAAQ,CAAC,CAAC,CAAC;IAC/B,MAAMkB,YAAY,GAAG1B,WAAW,IAAID,WAAW;IAE/C,IAAI2B,YAAY,IAAID,WAAW,EAAE;MAC7BD,WAAW,GAAG,CACV;QACI,GAAGC,WAAW;QACdR,WAAW,EAAEQ,WAAW,CAAClB,EAAY;QACrCQ,MAAM,EAAEG,KAAK,IAAI;UACb,oBACIzC,KAAA,CAAAkD,aAAA;YAAKhB,SAAS,EAAE;UAAuC,gBACnDlC,KAAA,CAAAkD,aAAA,CAACvC,iBAAiB;YACdwC,aAAa,EAAEV,KAAK,CAACW,KAAK,CAACC,qBAAqB,CAAC,CAAE;YACnDC,OAAO,EAAEb,KAAK,CAACW,KAAK,CAACG,oBAAoB,CAAC,CAAE;YAC5CC,QAAQ,EAAEf,KAAK,CAACW,KAAK,CAACK,yBAA0B;YAChD,cAAW,YAAY;YACvBC,QAAQ,EAAE,CAACrC,gBAAiB;YAC5BsC,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACC,eAAe,CAAC;UAAE,CACrC,CAAC,EACDb,WAAW,CAACV,MAAM,gBACbtC,KAAK,CAACkD,aAAa,CAACF,WAAW,CAACV,MAAM,EAAEG,KAAK,CAAC,GAC9C,IACL,CAAC;QAEd,CAAC;QACDR,IAAI,EAAEQ,KAAK,IAAI;UACX,oBACIzC,KAAA,CAAAkD,aAAA;YAAKhB,SAAS,EAAE;UAAuC,gBACnDlC,KAAA,CAAAkD,aAAA,CAACvC,iBAAiB;YACd2C,OAAO,EAAEb,KAAK,CAACC,GAAG,CAACoB,aAAa,CAAC,CAAE;YACnCN,QAAQ,EAAEO,KAAK,IAAItB,KAAK,CAACC,GAAG,CAACsB,cAAc,CAAC,CAAC,CAACD,KAAK,CAAE;YACrDL,QAAQ,EAAE,CAACjB,KAAK,CAACC,GAAG,CAACuB,YAAY,CAAC,CAAE;YACpC,cAAW,YAAY;YACvB/B,SAAS,EAAElB,EAAE,CAAC,CAACyB,KAAK,CAACC,GAAG,CAACuB,YAAY,CAAC,CAAC,GAAG,eAAe,GAAG,EAAE;UAAE,CACnE,CAAC,EACDjB,WAAW,CAACf,IAAI,gBACXjC,KAAK,CAACkD,aAAa,CAACF,WAAW,CAACf,IAAI,EAAEQ,KAAK,CAAC,GAC5C,IACL,CAAC;QAEd;MACJ,CAAC,EACD,GAAGV,QAAQ,CAACmC,KAAK,CAAC,CAAC,CAAC,CACvB;IACL;IAEA,OAAOnB,WAAW,CAACnB,GAAG,CAACI,MAAM,IAAI;MAC7B,IAAIR,OAAO,EAAE;QACT,OAAO;UACH,GAAGQ,MAAM;UACTC,IAAI,EAAEA,CAAA,kBAAMjC,KAAA,CAAAkD,aAAA,CAACtC,QAAQ;YAACuD,IAAI,EAAE,MAAO;YAAC5B,IAAI,EAAE;UAAK,CAAE;QACrD,CAAC;MACL;MAEA,OAAOP,MAAM;IACjB,CAAC,CAAC;EACN,CAAC,EAAE,CAACb,OAAO,EAAEG,WAAW,EAAEC,WAAW,EAAEC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM4C,SAAiC,GAAGnE,IAAI;AAO9C,MAAMoE,SAAS,GAAGA,CAAK;EAAEpC,IAAI;EAAEqC;AAAkC,CAAC,KAAK;EACnE,MAAMC,KAAK,GAAGD,cAAc,CAACrC,IAAI,CAACD,MAAM,CAAC;EAEzC,oBACIhC,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAAC2D,IAAI,EAAA9C,MAAA,CAAA+C,MAAA,KAAKxC,IAAI,CAACD,MAAM,CAAC0C,SAAS,CAAC5B,IAAI;IAAE6B,KAAK,EAAE;MAAEJ,KAAK;MAAEK,QAAQ,EAAEL;IAAM;EAAE,IACzEhE,UAAU,CAAC0B,IAAI,CAACD,MAAM,CAAC0C,SAAS,CAACzC,IAAI,EAAEA,IAAI,CAAC4C,UAAU,CAAC,CAAC,CACjD,CAAC;AAErB,CAAC;AAED,MAAMC,aAAa,GAAGV,SAAS,CAACC,SAAS,CAAC;AAQ1C,MAAMU,QAAQ,GAAGA,CAAK;EAAEC,QAAQ;EAAEC,KAAK;EAAEX;AAAiC,CAAC,KAAK;EAC5E,oBACItE,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAACqE,GAAG;IAACF,QAAQ,EAAEA;EAAS,GACzBC,KAAK,CAACrD,GAAG,CAACK,IAAI,iBACXjC,KAAA,CAAAkD,aAAA,CAAC4B,aAAa;IAAIjD,GAAG,EAAEI,IAAI,CAACH,EAAG;IAACG,IAAI,EAAEA,IAAK;IAACqC,cAAc,EAAEA;EAAe,CAAE,CAChF,CACM,CAAC;AAEpB,CAAC;AAED,MAAMa,YAAY,GAAGf,SAAS,CAACW,QAAQ,CAAC;;AAExC;AACA;AACA;AACA,MAAMK,UAAU,GAAGC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC;AAErC,MAAMC,oBAAoB,GAAGA,CAAuD;EAChFC,QAAQ;EACRnE,gBAAgB,GAAG,IAAI;EACvBoE,gBAAgB;EAChBtE,OAAO,EAAEuE,cAAc;EACvBC,IAAI,EAAEC,WAAW;EACjBC,cAAc;EACdC,eAAe;EACftE,OAAO;EACPuE,wBAAwB;EACxBzE,WAAW;EACX0E,eAAe;EACfzE,WAAW;EACX0E,YAAY,GAAG,EAAE;EACjBC,OAAO;EACPC;AACe,CAAC,KAAK;EACrB,MAAMC,QAAQ,GAAG/F,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAM,CAACgG,UAAU,EAAEC,aAAa,CAAC,GAAGhG,QAAQ,CAAC,CAAC,CAAC;EAE/C,MAAMqF,IAAI,GAAGnE,OAAO,GAAG4D,UAAU,GAAGQ,WAAW;EAE/CzF,SAAS,CAAC,MAAM;IACZ,MAAMoG,kBAAkB,GAAGA,CAAA,KAAM;MAC7B,IAAIH,QAAQ,CAACI,OAAO,EAAE;QAClB,MAAMjC,KAAK,GAAG6B,QAAQ,CAACI,OAAO,CAACC,WAAW;QAC1CH,aAAa,CAAC/B,KAAK,CAAC;MACxB;IACJ,CAAC;IAEDgC,kBAAkB,CAAC,CAAC;IAEpBG,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEJ,kBAAkB,CAAC;IAErD,OAAO,MAAM;MACTG,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEL,kBAAkB,CAAC;IAC5D,CAAC;EACL,CAAC,EAAE,CAACH,QAAQ,CAACI,OAAO,CAAC,CAAC;EAEtB,MAAMK,YAAY,GAAGzG,OAAO,CAAC,MAAM;IAC/B,OAAO6F,YAAY,CAACa,MAAM,CAAoB,CAACC,GAAG,EAAEC,IAAI,KAAK;MACzD,MAAMC,WAAW,GAAGtB,IAAI,CAACuB,SAAS,CAACC,GAAG,IAAIA,GAAG,CAACrF,EAAE,KAAKkF,IAAI,CAAClF,EAAE,CAAC;MAC7D,OAAO;QAAE,GAAGiF,GAAG;QAAE,CAACE,WAAW,GAAG;MAAK,CAAC;IAC1C,CAAC,EAAE,CAAC,CAAC,CAAC;EACV,CAAC,EAAE,CAAChB,YAAY,EAAEN,IAAI,CAAC,CAAC;EAExB,MAAMyB,oBAAmD,GAAGC,OAAO,IAAI;IACnE,MAAMC,YAAY,GAAG,OAAOD,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACR,YAAY,CAAC,GAAGQ,OAAO;;IAEpF;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,MAAME,WAAW,GAAG,CAChB,GAAG7F,MAAM,CAACC,IAAI,CAACkF,YAAY,CAAC,CAACW,MAAM,CAACC,CAAC,IAAI,EAAEA,CAAC,IAAIH,YAAY,CAAC,CAAC,EAC9D,GAAG5F,MAAM,CAACC,IAAI,CAAC2F,YAAY,CAAC,CAACE,MAAM,CAACC,CAAC,IAAI,EAAEA,CAAC,IAAIZ,YAAY,CAAC,CAAC,CACjE;;IAED;IACA,IAAIU,WAAW,CAACG,MAAM,KAAK,CAAC,IAAI,OAAOnG,WAAW,KAAK,UAAU,EAAE;MAC/DA,WAAW,CAACoE,IAAI,CAACgC,QAAQ,CAACJ,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC3C;IACJ,CAAC,MAAM,IAAI,OAAOjG,WAAW,KAAK,UAAU,EAAE;MAC1C,MAAMsG,SAAS,GAAGlG,MAAM,CAACC,IAAI,CAAC2F,YAAY,CAAC,CAAC1F,GAAG,CAACC,GAAG,IAAI8D,IAAI,CAACgC,QAAQ,CAAC9F,GAAG,CAAC,CAAC,CAAC;MAC3EP,WAAW,CAACsG,SAAS,CAAC;IAC1B;EACJ,CAAC;EAED,MAAMC,YAAY,GAAGzH,OAAO,CAAC,MAAM;IAC/B,IAAI,CAACiF,KAAK,CAACyC,OAAO,CAAC5B,OAAO,CAAC,IAAI,CAACA,OAAO,CAACwB,MAAM,EAAE;MAC5C,OAAO7B,cAAc;IACzB;IACA,OAAOK,OAAO;EAClB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAM/E,OAAO,GAAGD,aAAa,CAACwE,cAAc,EAAE;IAC1CrE,gBAAgB;IAChBC,WAAW;IACXC,WAAW;IACXC;EACJ,CAAC,CAAC;EAEF,MAAM4B,KAAK,GAAG1C,aAAa,CAAI;IAC3BqH,gBAAgB,EAAE,UAAU;IAC5B5G,OAAO;IACPwE,IAAI;IACJqC,oBAAoB,EAAE,IAAI;IAC1B7F,YAAY,EAAE,CAAC,CAAC4D,wBAAwB;IACxCkC,kBAAkB,EAAEnC,eAAe;IACnCzD,aAAa,EAAE,CAAC,CAAC2D,eAAe;IAChCkC,oBAAoB,EAAE,KAAK;IAC3B1H,eAAe,EAAEA,eAAe,CAAC,CAAC;IAClCC,iBAAiB,EAAEA,iBAAiB,CAAC,CAAC;IACtC0H,aAAa,EAAE,IAAI;IACnBpC,wBAAwB;IACxBqB,oBAAoB;IACpBpB,eAAe;IACfoC,KAAK,EAAE;MACH3C,gBAAgB;MAChBoB,YAAY;MACZX,OAAO,EAAE2B;IACb;EACJ,CAAC,CAAC;EAEF,MAAMvD,cAAc,GAAGpE,WAAW,CAC7B8B,MAAiB,IAAa;IAC3B,IAAI,CAACA,MAAM,CAACqG,YAAY,CAAC,CAAC,EAAE;MACxB,OAAOrG,MAAM,CAACsG,OAAO,CAAC,CAAC;IAC3B;IAEA,MAAMC,SAAS,GAAGnF,KAAK,CAACoF,YAAY,CAAC,CAAC;IACtC,MAAMC,UAAU,GAAGzG,MAAM,CAACsG,OAAO,CAAC,CAAC;IAEnC,OAAOI,IAAI,CAACC,IAAI,CAAEF,UAAU,GAAGpC,UAAU,GAAIkC,SAAS,CAAC;EAC3D,CAAC,EACD,CAACnF,KAAK,EAAEiD,UAAU,CACtB,CAAC;;EAED;AACJ;AACA;EACI,MAAMuC,SAAS,GAAGxI,OAAO,CAAC,MAAM;IAC5B,OAAOgD,KAAK,CAACyF,WAAW,CAAC,CAAC,CAACC,IAAI;EACnC,CAAC,EAAE,CAAC1F,KAAK,EAAEuC,IAAI,EAAExE,OAAO,CAAC,CAAC;EAE1B,oBACInB,KAAA,CAAAkD,aAAA;IAAK6F,GAAG,EAAE3C;EAAS,gBACfpG,KAAA,CAAAkD,aAAA,CAACrC,KAAK;IAAC2E,QAAQ,EAAEA,QAAS;IAACwD,MAAM,EAAE7C;EAAa,gBAC5CnG,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAACoI,MAAM;IAACD,MAAM,EAAE7C;EAAa,GAC9B/C,KAAK,CAAC8F,eAAe,CAAC,CAAC,CAACtH,GAAG,CAACuH,WAAW,iBACpCnJ,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAACqE,GAAG;IAACrD,GAAG,EAAEsH,WAAW,CAACrH;EAAG,GAC1BqH,WAAW,CAACC,OAAO,CAACxH,GAAG,CAAC,CAACU,MAAM,EAAE+G,KAAK,KAAK;IACxC,MAAMC,UAAU,GAAGD,KAAK,KAAKF,WAAW,CAACC,OAAO,CAAC1B,MAAM,GAAG,CAAC;IAC3D,MAAMnD,KAAK,GAAGD,cAAc,CAAChC,MAAM,CAACN,MAAM,CAAC;IAE3C,oBACIhC,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAAC0I,IAAI,EAAA7H,MAAA,CAAA+C,MAAA;MACP5C,GAAG,EAAES,MAAM,CAACR;IAAG,GACXQ,MAAM,CAACN,MAAM,CAAC0C,SAAS,CAAC5B,IAAI;MAChC0G,OAAO,EAAElH,MAAM,CAACkH,OAAQ;MACxB7E,KAAK,EAAE;QAAEJ,KAAK;QAAEK,QAAQ,EAAEL;MAAM;IAAE,IAEjCjC,MAAM,CAACmH,aAAa,GAAG,IAAI,gBACxBzJ,KAAA,CAAAkD,aAAA,CAACpC,YAAY;MACT6C,OAAO,EAAErB,MAAM,CAACN,MAAM,CAAC0H,uBAAuB,CAAC,CAAE;MACjDC,QAAQ,EAAErH,MAAM,CAACN,MAAM,CAAC4H,UAAU,CAAC;IAAE,gBAErC5J,KAAA,CAAAkD,aAAA;MAAKhB,SAAS,EAAC;IAAmE,GAC7E3B,UAAU,CACP+B,MAAM,CAACN,MAAM,CAAC0C,SAAS,CAACpC,MAAM,EAC9BA,MAAM,CAACuC,UAAU,CAAC,CACtB,CACC,CAAC,eACN7E,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAACgJ,SAAS;MACZC,SAAS,EAAExH,MAAM,CAACN,MAAM,CAAC+H,WAAW,CAAC,CAAC,IAAI;IAAK,CAClD,CAAC,EACDT,UAAU,iBACPtJ,KAAA,CAAAkD,aAAA;MAAKhB,SAAS,EAAE;IAAqB,gBACjClC,KAAA,CAAAkD,aAAA,CAACnC,iBAAiB;MACdI,OAAO,EAAEiC,KAAK,CAAC4G,aAAa,CAAC;IAAE,CAClC,CACA,CAEC,CACjB,EACA1H,MAAM,CAACN,MAAM,CAACqG,YAAY,CAAC,CAAC,iBACzBrI,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAACoJ,OAAO;MACVC,WAAW,EAAE5H,MAAM,CAAC6H,gBAAgB,CAAC,CAAE;MACvCC,YAAY,EAAE9H,MAAM,CAAC6H,gBAAgB,CAAC,CAAE;MACxCE,UAAU,EAAE/H,MAAM,CAACN,MAAM,CAACsI,aAAa,CAAC;IAAE,CAC7C,CAEG,CAAC;EAErB,CAAC,CACM,CACd,CACS,CAAC,eACftK,KAAA,CAAAkD,aAAA,CAACrC,KAAK,CAAC0J,IAAI,QACN3B,SAAS,CAAChH,GAAG,CAACc,GAAG,IAAI;IAClB,MAAMZ,EAAE,GAAGY,GAAG,CAACC,QAAQ,CAACb,EAAE,IAAIY,GAAG,CAACZ,EAAE;IACpC,oBACI9B,KAAA,CAAAkD,aAAA,CAACiC,YAAY;MACTtD,GAAG,EAAEC,EAAG;MACRmD,KAAK,EAAEvC,GAAG,CAAC8H,eAAe,CAAC,CAAE;MAC7BxF,QAAQ,EAAEtC,GAAG,CAACoB,aAAa,CAAC,CAAE;MAC9BQ,cAAc,EAAEA;IAAe,CAClC,CAAC;EAEV,CAAC,CACO,CACT,CACN,CAAC;AAEd,CAAC;AAED,MAAMmG,SAAS,GAAGxJ,eAAe,CAAC,WAAW,EAAEsE,oBAAoB,CAAC;AAEpE,SACIkF,SAAS","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import {
|
|
2
|
+
import type { DataTableDefaultData } from "./DataTable";
|
|
3
|
+
import { DataTable } from "./DataTable";
|
|
3
4
|
declare const meta: Meta<typeof DataTable>;
|
|
4
5
|
export default meta;
|
|
5
6
|
type Story<T extends Record<string, any> & DataTableDefaultData> = StoryObj<typeof DataTable<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","DataTable","Avatar","Text","meta","title","component","parameters","layout","columns","name","header","createdBy","lastModified","status","data","id","Default","args","Bordered","bordered","WithStickyHeader","stickyHeader","WithSelectableRows","render","selectedRows","setSelectedRows","createElement","Object","assign","onSelectRow","rows","WithLoading","loading","setLoading","tableData","setTableData","timer","setTimeout","clearTimeout","WithLongColumnContent","map","entry","WithCustomCellRenderer","cell","className","image","Image","src","alt","fallback","Fallback","charAt","size","as","WithCustomColumnSize","WithCustomColumnClassName","WithSorting","enableSorting","sorting","desc","argsSorting","setSorting","onSortingChange","Documentation","docs","description","story","argTypes","control","defaultValue"],"sources":["DataTable.stories.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { DataTableColumns, DataTable, DataTableDefaultData, DataTableSorting } from \"./DataTable\";\nimport { Avatar } from \"~/Avatar\";\nimport { Text } from \"~/Text\";\n\nconst meta: Meta<typeof DataTable> = {\n title: \"Components/DataTable\",\n component: DataTable,\n parameters: {\n layout: \"padded\"\n }\n};\n\nexport default meta;\ntype Story<T extends Record<string, any> & DataTableDefaultData> = StoryObj<typeof DataTable<T>>;\n\n// Declare the data structure.\ninterface Entry {\n id: string;\n name: string;\n createdBy: string;\n lastModified: string;\n status: string;\n}\n\n// Define the columns structure for the table.\nconst columns: DataTableColumns<Entry> = {\n name: {\n header: \"Title\"\n },\n createdBy: {\n header: \"Author\"\n },\n lastModified: {\n header: \"Last Modified\"\n },\n status: {\n header: \"Status\"\n }\n};\n\n// Define the data to display.\nconst data = [\n {\n id: \"entry-1\",\n name: \"Getting Started Guide\",\n createdBy: \"John Doe\",\n lastModified: \"1 hour ago\",\n status: \"Published\"\n },\n {\n id: \"entry-2\",\n name: \"User Documentation\",\n createdBy: \"Jane Smith\",\n lastModified: \"3 days ago\",\n status: \"Draft\"\n },\n {\n id: \"entry-3\",\n name: \"API Reference\",\n createdBy: \"John Doe\",\n lastModified: \"1 week ago\",\n status: \"Published\"\n }\n];\n\nexport const Default: Story<Entry> = {\n args: {\n data,\n columns\n }\n};\n\nexport const Bordered: Story<Entry> = {\n args: {\n ...Default.args,\n bordered: true\n }\n};\n\nexport const WithStickyHeader: Story<Entry> = {\n args: {\n ...Default.args,\n stickyHeader: true\n }\n};\n\nexport const WithSelectableRows: Story<Entry> = {\n args: Default.args,\n render: args => {\n const [selectedRows, setSelectedRows] = useState<Entry[]>([]);\n\n return (\n <DataTable\n {...args}\n selectedRows={selectedRows}\n onSelectRow={rows => setSelectedRows(rows)}\n />\n );\n }\n};\n\nexport const WithLoading: Story<Entry> = {\n args: {\n columns\n },\n render: ({ columns }) => {\n const [loading, setLoading] = useState(true);\n const [tableData, setTableData] = useState<Entry[]>([]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setTableData(data); // your predefined data\n setLoading(false);\n }, 5000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return <DataTable columns={columns} data={tableData} loading={loading} />;\n }\n};\n\nexport const WithLongColumnContent: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n header: \"Name - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\"\n }\n },\n data: data.map(entry => ({\n ...entry,\n name: `${entry.name} - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`\n }))\n }\n};\n\nexport const WithCustomCellRenderer: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n cell: (entry: Entry) => {\n return (\n <div className={\"wby-flex wby-items-center wby-gap-sm-extra\"}>\n <Avatar\n image={\n <Avatar.Image\n src=\"https://github.com/webiny-bot.png\"\n alt=\"@webiny\"\n />\n }\n fallback={<Avatar.Fallback>{entry.name.charAt(0)}</Avatar.Fallback>}\n size={\"xl\"}\n />\n <div>\n <Text\n className={\"wby-text-neutral-primary wby-font-semibold\"}\n as={\"div\"}\n >\n {entry.name}\n </Text>\n <Text\n size={\"sm\"}\n className={\"wby-text-neutral-strong\"}\n as={\"div\"}\n >{`Last updated: ${entry.lastModified}`}</Text>\n </div>\n </div>\n );\n }\n }\n }\n }\n};\n\nexport const WithCustomColumnSize: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n size: 200\n }\n }\n }\n};\n\nexport const WithCustomColumnClassName: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n lastModified: {\n ...columns.lastModified,\n className: \"wby-bg-primary-subtle\"\n },\n status: {\n ...columns.status,\n className: \"wby-text-right\"\n }\n }\n }\n};\n\nexport const WithSorting: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n enableSorting: true\n },\n lastModified: {\n ...columns.lastModified,\n enableSorting: true\n }\n },\n sorting: [\n {\n id: \"lastModified\",\n desc: true\n }\n ]\n },\n render: ({ sorting: argsSorting = [], ...args }) => {\n const [sorting, setSorting] = useState<DataTableSorting>(argsSorting);\n return <DataTable {...args} sorting={sorting} onSortingChange={setSorting} />;\n }\n};\n\n// Add a Documentation story\nexport const Documentation: Story<Entry> = {\n args: {\n bordered: true,\n stickyHeader: true,\n columns: {\n name: {\n header: \"Title\",\n enableSorting: true\n },\n createdBy: {\n header: \"Author\"\n },\n lastModified: {\n header: \"Last Modified\",\n enableSorting: true\n },\n status: {\n header: \"Status\"\n }\n },\n data: [\n {\n id: \"entry-1\",\n name: \"Getting Started Guide\",\n createdBy: \"John Doe\",\n lastModified: \"1 hour ago\",\n status: \"Published\"\n },\n {\n id: \"entry-2\",\n name: \"User Documentation\",\n createdBy: \"Jane Smith\",\n lastModified: \"3 days ago\",\n status: \"Draft\"\n },\n {\n id: \"entry-3\",\n name: \"API Reference\",\n createdBy: \"John Doe\",\n lastModified: \"1 week ago\",\n status: \"Published\"\n }\n ]\n },\n render: args => {\n const [selectedRows, setSelectedRows] = useState<Entry[]>([]);\n const [sorting, setSorting] = useState<DataTableSorting>([]);\n\n return (\n <DataTable\n {...args}\n selectedRows={selectedRows}\n onSelectRow={rows => setSelectedRows(rows)}\n sorting={sorting}\n onSortingChange={setSorting}\n />\n );\n },\n parameters: {\n docs: {\n description: {\n story: \"This example shows a DataTable with selectable rows, sorting, and a sticky header.\"\n }\n }\n },\n argTypes: {\n bordered: {\n description: \"Show or hide borders.\",\n control: \"boolean\",\n defaultValue: true\n },\n stickyHeader: {\n description: \"Enable sticky header.\",\n control: \"boolean\",\n defaultValue: true\n },\n columns: {\n description: \"Columns definition. Please refer to the code example for details.\",\n control: false\n },\n data: {\n description:\n \"Data to display into DataTable body. Please refer to the code example for details.\",\n control: false\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","DataTable","Avatar","Text","meta","title","component","parameters","layout","columns","name","header","createdBy","lastModified","status","data","id","Default","args","Bordered","bordered","WithStickyHeader","stickyHeader","WithSelectableRows","render","selectedRows","setSelectedRows","createElement","Object","assign","onSelectRow","rows","WithLoading","loading","setLoading","tableData","setTableData","timer","setTimeout","clearTimeout","WithLongColumnContent","map","entry","WithCustomCellRenderer","cell","className","image","Image","src","alt","fallback","Fallback","charAt","size","as","WithCustomColumnSize","WithCustomColumnClassName","WithSorting","enableSorting","sorting","desc","argsSorting","setSorting","onSortingChange","Documentation","docs","description","story","argTypes","control","defaultValue"],"sources":["DataTable.stories.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport type { DataTableColumns, DataTableDefaultData, DataTableSorting } from \"./DataTable\";\nimport { DataTable } from \"./DataTable\";\nimport { Avatar } from \"~/Avatar\";\nimport { Text } from \"~/Text\";\n\nconst meta: Meta<typeof DataTable> = {\n title: \"Components/DataTable\",\n component: DataTable,\n parameters: {\n layout: \"padded\"\n }\n};\n\nexport default meta;\ntype Story<T extends Record<string, any> & DataTableDefaultData> = StoryObj<typeof DataTable<T>>;\n\n// Declare the data structure.\ninterface Entry {\n id: string;\n name: string;\n createdBy: string;\n lastModified: string;\n status: string;\n}\n\n// Define the columns structure for the table.\nconst columns: DataTableColumns<Entry> = {\n name: {\n header: \"Title\"\n },\n createdBy: {\n header: \"Author\"\n },\n lastModified: {\n header: \"Last Modified\"\n },\n status: {\n header: \"Status\"\n }\n};\n\n// Define the data to display.\nconst data = [\n {\n id: \"entry-1\",\n name: \"Getting Started Guide\",\n createdBy: \"John Doe\",\n lastModified: \"1 hour ago\",\n status: \"Published\"\n },\n {\n id: \"entry-2\",\n name: \"User Documentation\",\n createdBy: \"Jane Smith\",\n lastModified: \"3 days ago\",\n status: \"Draft\"\n },\n {\n id: \"entry-3\",\n name: \"API Reference\",\n createdBy: \"John Doe\",\n lastModified: \"1 week ago\",\n status: \"Published\"\n }\n];\n\nexport const Default: Story<Entry> = {\n args: {\n data,\n columns\n }\n};\n\nexport const Bordered: Story<Entry> = {\n args: {\n ...Default.args,\n bordered: true\n }\n};\n\nexport const WithStickyHeader: Story<Entry> = {\n args: {\n ...Default.args,\n stickyHeader: true\n }\n};\n\nexport const WithSelectableRows: Story<Entry> = {\n args: Default.args,\n render: args => {\n const [selectedRows, setSelectedRows] = useState<Entry[]>([]);\n\n return (\n <DataTable\n {...args}\n selectedRows={selectedRows}\n onSelectRow={rows => setSelectedRows(rows)}\n />\n );\n }\n};\n\nexport const WithLoading: Story<Entry> = {\n args: {\n columns\n },\n render: ({ columns }) => {\n const [loading, setLoading] = useState(true);\n const [tableData, setTableData] = useState<Entry[]>([]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setTableData(data); // your predefined data\n setLoading(false);\n }, 5000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return <DataTable columns={columns} data={tableData} loading={loading} />;\n }\n};\n\nexport const WithLongColumnContent: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n header: \"Name - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\"\n }\n },\n data: data.map(entry => ({\n ...entry,\n name: `${entry.name} - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`\n }))\n }\n};\n\nexport const WithCustomCellRenderer: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n cell: (entry: Entry) => {\n return (\n <div className={\"wby-flex wby-items-center wby-gap-sm-extra\"}>\n <Avatar\n image={\n <Avatar.Image\n src=\"https://github.com/webiny-bot.png\"\n alt=\"@webiny\"\n />\n }\n fallback={<Avatar.Fallback>{entry.name.charAt(0)}</Avatar.Fallback>}\n size={\"xl\"}\n />\n <div>\n <Text\n className={\"wby-text-neutral-primary wby-font-semibold\"}\n as={\"div\"}\n >\n {entry.name}\n </Text>\n <Text\n size={\"sm\"}\n className={\"wby-text-neutral-strong\"}\n as={\"div\"}\n >{`Last updated: ${entry.lastModified}`}</Text>\n </div>\n </div>\n );\n }\n }\n }\n }\n};\n\nexport const WithCustomColumnSize: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n size: 200\n }\n }\n }\n};\n\nexport const WithCustomColumnClassName: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n lastModified: {\n ...columns.lastModified,\n className: \"wby-bg-primary-subtle\"\n },\n status: {\n ...columns.status,\n className: \"wby-text-right\"\n }\n }\n }\n};\n\nexport const WithSorting: Story<Entry> = {\n args: {\n ...Default.args,\n columns: {\n ...columns,\n name: {\n ...columns.name,\n enableSorting: true\n },\n lastModified: {\n ...columns.lastModified,\n enableSorting: true\n }\n },\n sorting: [\n {\n id: \"lastModified\",\n desc: true\n }\n ]\n },\n render: ({ sorting: argsSorting = [], ...args }) => {\n const [sorting, setSorting] = useState<DataTableSorting>(argsSorting);\n return <DataTable {...args} sorting={sorting} onSortingChange={setSorting} />;\n }\n};\n\n// Add a Documentation story\nexport const Documentation: Story<Entry> = {\n args: {\n bordered: true,\n stickyHeader: true,\n columns: {\n name: {\n header: \"Title\",\n enableSorting: true\n },\n createdBy: {\n header: \"Author\"\n },\n lastModified: {\n header: \"Last Modified\",\n enableSorting: true\n },\n status: {\n header: \"Status\"\n }\n },\n data: [\n {\n id: \"entry-1\",\n name: \"Getting Started Guide\",\n createdBy: \"John Doe\",\n lastModified: \"1 hour ago\",\n status: \"Published\"\n },\n {\n id: \"entry-2\",\n name: \"User Documentation\",\n createdBy: \"Jane Smith\",\n lastModified: \"3 days ago\",\n status: \"Draft\"\n },\n {\n id: \"entry-3\",\n name: \"API Reference\",\n createdBy: \"John Doe\",\n lastModified: \"1 week ago\",\n status: \"Published\"\n }\n ]\n },\n render: args => {\n const [selectedRows, setSelectedRows] = useState<Entry[]>([]);\n const [sorting, setSorting] = useState<DataTableSorting>([]);\n\n return (\n <DataTable\n {...args}\n selectedRows={selectedRows}\n onSelectRow={rows => setSelectedRows(rows)}\n sorting={sorting}\n onSortingChange={setSorting}\n />\n );\n },\n parameters: {\n docs: {\n description: {\n story: \"This example shows a DataTable with selectable rows, sorting, and a sticky header.\"\n }\n }\n },\n argTypes: {\n bordered: {\n description: \"Show or hide borders.\",\n control: \"boolean\",\n defaultValue: true\n },\n stickyHeader: {\n description: \"Enable sticky header.\",\n control: \"boolean\",\n defaultValue: true\n },\n columns: {\n description: \"Columns definition. Please refer to the code example for details.\",\n control: false\n },\n data: {\n description:\n \"Data to display into DataTable body. Please refer to the code example for details.\",\n control: false\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","ReactComponent","SettingsIcon","IconButton","Checkbox","DropdownMenu","ColumnsVisibility","props","getHeaderName","column","header","columnDef","id","options","columns","filter","getCanHide","map","onChange","toggleVisibility","getValue","getIsVisible","length","createElement","trigger","icon","variant","size","Label","text","option","Item","key","label","checked"],"sources":["ColumnsVisibility.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { ReactComponent as SettingsIcon } from \"@webiny/icons/settings.svg\";\nimport { Column } from \"@tanstack/react-table\";\nimport { IconButton } from \"~/Button\";\nimport { Checkbox } from \"~/Checkbox\";\nimport { DropdownMenu } from \"~/DropdownMenu\";\n\ninterface ColumnsVisibilityProps<T> {\n columns: Column<T>[];\n}\n\ninterface Option {\n id: string;\n header: string;\n onChange: (value?: boolean | undefined) => void;\n getValue: () => boolean;\n}\n\nexport const ColumnsVisibility = <T,>(props: ColumnsVisibilityProps<T>) => {\n /**\n * `@tanstack/react-table` does not have a simple method to return the header component.\n * The only possible way is to use `flexRenderer`, but this is not working with the current implementation\n * since we don't have access to the header context.\n */\n const getHeaderName = useCallback((column: Column<T>) => {\n const { header } = column.columnDef;\n\n if (typeof header === \"string\") {\n return header;\n }\n\n if (typeof header === \"function\") {\n // @ts-expect-error\n return header();\n }\n\n return column.id;\n }, []);\n\n const options: Option[] = useMemo(() => {\n return props.columns\n .filter(column => column.getCanHide())\n .map(column => {\n return {\n id: column.id,\n header: getHeaderName(column),\n onChange: column.toggleVisibility,\n getValue: column.getIsVisible\n };\n });\n }, [props.columns]);\n\n if (options.length === 0) {\n return null;\n }\n\n return (\n <DropdownMenu\n trigger={<IconButton icon={<SettingsIcon />} variant={\"ghost\"} size={\"xs\"} />}\n >\n <DropdownMenu.Label text={\"Display columns\"} />\n {options.map(option => {\n return (\n <DropdownMenu.Item\n key={option.id}\n text={\n <Checkbox\n label={option.header}\n onChange={option.onChange}\n checked={option.getValue()}\n />\n }\n />\n );\n })}\n </DropdownMenu>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,cAAc,IAAIC,YAAY,QAAQ,4BAA4B;AAE3E,SAASC,UAAU;AACnB,SAASC,QAAQ;AACjB,SAASC,YAAY;AAarB,OAAO,MAAMC,iBAAiB,GAAQC,KAAgC,IAAK;EACvE;AACJ;AACA;AACA;AACA;EACI,MAAMC,aAAa,GAAGT,WAAW,CAAEU,MAAiB,IAAK;IACrD,MAAM;MAAEC;IAAO,CAAC,GAAGD,MAAM,CAACE,SAAS;IAEnC,IAAI,OAAOD,MAAM,KAAK,QAAQ,EAAE;MAC5B,OAAOA,MAAM;IACjB;IAEA,IAAI,OAAOA,MAAM,KAAK,UAAU,EAAE;MAC9B;MACA,OAAOA,MAAM,CAAC,CAAC;IACnB;IAEA,OAAOD,MAAM,CAACG,EAAE;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAiB,GAAGb,OAAO,CAAC,MAAM;IACpC,OAAOO,KAAK,CAACO,OAAO,CACfC,MAAM,CAACN,MAAM,IAAIA,MAAM,CAACO,UAAU,CAAC,CAAC,CAAC,CACrCC,GAAG,CAACR,MAAM,IAAI;MACX,OAAO;QACHG,EAAE,EAAEH,MAAM,CAACG,EAAE;QACbF,MAAM,EAAEF,aAAa,CAACC,MAAM,CAAC;QAC7BS,QAAQ,EAAET,MAAM,CAACU,gBAAgB;QACjCC,QAAQ,EAAEX,MAAM,CAACY;MACrB,CAAC;IACL,CAAC,CAAC;EACV,CAAC,EAAE,CAACd,KAAK,CAACO,OAAO,CAAC,CAAC;EAEnB,IAAID,OAAO,CAACS,MAAM,KAAK,CAAC,EAAE;IACtB,OAAO,IAAI;EACf;EAEA,oBACIxB,KAAA,CAAAyB,aAAA,CAAClB,YAAY;IACTmB,OAAO,eAAE1B,KAAA,CAAAyB,aAAA,CAACpB,UAAU;MAACsB,IAAI,eAAE3B,KAAA,CAAAyB,aAAA,CAACrB,YAAY,MAAE,CAAE;MAACwB,OAAO,EAAE,OAAQ;MAACC,IAAI,EAAE;IAAK,CAAE;EAAE,gBAE9E7B,KAAA,CAAAyB,aAAA,CAAClB,YAAY,CAACuB,KAAK;IAACC,IAAI,EAAE;EAAkB,CAAE,CAAC,EAC9ChB,OAAO,CAACI,GAAG,CAACa,MAAM,IAAI;IACnB,oBACIhC,KAAA,CAAAyB,aAAA,CAAClB,YAAY,CAAC0B,IAAI;MACdC,GAAG,EAAEF,MAAM,CAAClB,EAAG;MACfiB,IAAI,eACA/B,KAAA,CAAAyB,aAAA,CAACnB,QAAQ;QACL6B,KAAK,EAAEH,MAAM,CAACpB,MAAO;QACrBQ,QAAQ,EAAEY,MAAM,CAACZ,QAAS;QAC1BgB,OAAO,EAAEJ,MAAM,CAACV,QAAQ,CAAC;MAAE,CAC9B;IACJ,CACJ,CAAC;EAEV,CAAC,CACS,CAAC;AAEvB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","ReactComponent","SettingsIcon","IconButton","Checkbox","DropdownMenu","ColumnsVisibility","props","getHeaderName","column","header","columnDef","id","options","columns","filter","getCanHide","map","onChange","toggleVisibility","getValue","getIsVisible","length","createElement","trigger","icon","variant","size","Label","text","option","Item","key","label","checked"],"sources":["ColumnsVisibility.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { ReactComponent as SettingsIcon } from \"@webiny/icons/settings.svg\";\nimport type { Column } from \"@tanstack/react-table\";\nimport { IconButton } from \"~/Button\";\nimport { Checkbox } from \"~/Checkbox\";\nimport { DropdownMenu } from \"~/DropdownMenu\";\n\ninterface ColumnsVisibilityProps<T> {\n columns: Column<T>[];\n}\n\ninterface Option {\n id: string;\n header: string;\n onChange: (value?: boolean | undefined) => void;\n getValue: () => boolean;\n}\n\nexport const ColumnsVisibility = <T,>(props: ColumnsVisibilityProps<T>) => {\n /**\n * `@tanstack/react-table` does not have a simple method to return the header component.\n * The only possible way is to use `flexRenderer`, but this is not working with the current implementation\n * since we don't have access to the header context.\n */\n const getHeaderName = useCallback((column: Column<T>) => {\n const { header } = column.columnDef;\n\n if (typeof header === \"string\") {\n return header;\n }\n\n if (typeof header === \"function\") {\n // @ts-expect-error\n return header();\n }\n\n return column.id;\n }, []);\n\n const options: Option[] = useMemo(() => {\n return props.columns\n .filter(column => column.getCanHide())\n .map(column => {\n return {\n id: column.id,\n header: getHeaderName(column),\n onChange: column.toggleVisibility,\n getValue: column.getIsVisible\n };\n });\n }, [props.columns]);\n\n if (options.length === 0) {\n return null;\n }\n\n return (\n <DropdownMenu\n trigger={<IconButton icon={<SettingsIcon />} variant={\"ghost\"} size={\"xs\"} />}\n >\n <DropdownMenu.Label text={\"Display columns\"} />\n {options.map(option => {\n return (\n <DropdownMenu.Item\n key={option.id}\n text={\n <Checkbox\n label={option.header}\n onChange={option.onChange}\n checked={option.getValue()}\n />\n }\n />\n );\n })}\n </DropdownMenu>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,cAAc,IAAIC,YAAY,QAAQ,4BAA4B;AAE3E,SAASC,UAAU;AACnB,SAASC,QAAQ;AACjB,SAASC,YAAY;AAarB,OAAO,MAAMC,iBAAiB,GAAQC,KAAgC,IAAK;EACvE;AACJ;AACA;AACA;AACA;EACI,MAAMC,aAAa,GAAGT,WAAW,CAAEU,MAAiB,IAAK;IACrD,MAAM;MAAEC;IAAO,CAAC,GAAGD,MAAM,CAACE,SAAS;IAEnC,IAAI,OAAOD,MAAM,KAAK,QAAQ,EAAE;MAC5B,OAAOA,MAAM;IACjB;IAEA,IAAI,OAAOA,MAAM,KAAK,UAAU,EAAE;MAC9B;MACA,OAAOA,MAAM,CAAC,CAAC;IACnB;IAEA,OAAOD,MAAM,CAACG,EAAE;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAiB,GAAGb,OAAO,CAAC,MAAM;IACpC,OAAOO,KAAK,CAACO,OAAO,CACfC,MAAM,CAACN,MAAM,IAAIA,MAAM,CAACO,UAAU,CAAC,CAAC,CAAC,CACrCC,GAAG,CAACR,MAAM,IAAI;MACX,OAAO;QACHG,EAAE,EAAEH,MAAM,CAACG,EAAE;QACbF,MAAM,EAAEF,aAAa,CAACC,MAAM,CAAC;QAC7BS,QAAQ,EAAET,MAAM,CAACU,gBAAgB;QACjCC,QAAQ,EAAEX,MAAM,CAACY;MACrB,CAAC;IACL,CAAC,CAAC;EACV,CAAC,EAAE,CAACd,KAAK,CAACO,OAAO,CAAC,CAAC;EAEnB,IAAID,OAAO,CAACS,MAAM,KAAK,CAAC,EAAE;IACtB,OAAO,IAAI;EACf;EAEA,oBACIxB,KAAA,CAAAyB,aAAA,CAAClB,YAAY;IACTmB,OAAO,eAAE1B,KAAA,CAAAyB,aAAA,CAACpB,UAAU;MAACsB,IAAI,eAAE3B,KAAA,CAAAyB,aAAA,CAACrB,YAAY,MAAE,CAAE;MAACwB,OAAO,EAAE,OAAQ;MAACC,IAAI,EAAE;IAAK,CAAE;EAAE,gBAE9E7B,KAAA,CAAAyB,aAAA,CAAClB,YAAY,CAACuB,KAAK;IAACC,IAAI,EAAE;EAAkB,CAAE,CAAC,EAC9ChB,OAAO,CAACI,GAAG,CAACa,MAAM,IAAI;IACnB,oBACIhC,KAAA,CAAAyB,aAAA,CAAClB,YAAY,CAAC0B,IAAI;MACdC,GAAG,EAAEF,MAAM,CAAClB,EAAG;MACfiB,IAAI,eACA/B,KAAA,CAAAyB,aAAA,CAACnB,QAAQ;QACL6B,KAAK,EAAEH,MAAM,CAACpB,MAAO;QACrBQ,QAAQ,EAAEY,MAAM,CAACZ,QAAS;QAC1BgB,OAAO,EAAEJ,MAAM,CAACV,QAAQ,CAAC;MAAE,CAC9B;IACJ,CACJ,CAAC;EAEV,CAAC,CACS,CAAC;AAEvB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { ButtonProps } from "../../Button";
|
|
2
|
+
import type { ButtonProps } from "../../Button";
|
|
3
3
|
export declare const CancelButton: ((props: ButtonProps) => React.JSX.Element) & {
|
|
4
4
|
original: (props: ButtonProps) => React.JSX.Element;
|
|
5
5
|
originalName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","makeDecoratable","DialogClosePrimitive","Button","CancelButtonBase","props","createElement","asChild","Object","assign","text","variant","CancelButton"],"sources":["CancelButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport { DialogClosePrimitive } from \"./DialogClose\";\nimport { Button
|
|
1
|
+
{"version":3,"names":["React","makeDecoratable","DialogClosePrimitive","Button","CancelButtonBase","props","createElement","asChild","Object","assign","text","variant","CancelButton"],"sources":["CancelButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport { DialogClosePrimitive } from \"./DialogClose\";\nimport type { ButtonProps } from \"~/Button\";\nimport { Button } from \"~/Button\";\n\nconst CancelButtonBase = (props: ButtonProps) => (\n <DialogClosePrimitive asChild>\n <Button text={\"Cancel\"} {...props} variant=\"secondary\" />\n </DialogClosePrimitive>\n);\n\nexport const CancelButton = makeDecoratable(\"CancelButton\", CancelButtonBase);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,eAAe;AACxB,SAASC,oBAAoB;AAE7B,SAASC,MAAM;AAEf,MAAMC,gBAAgB,GAAIC,KAAkB,iBACxCL,KAAA,CAAAM,aAAA,CAACJ,oBAAoB;EAACK,OAAO;AAAA,gBACzBP,KAAA,CAAAM,aAAA,CAACH,MAAM,EAAAK,MAAA,CAAAC,MAAA;EAACC,IAAI,EAAE;AAAS,GAAKL,KAAK;EAAEM,OAAO,EAAC;AAAW,EAAE,CACtC,CACzB;AAED,OAAO,MAAMC,YAAY,GAAGX,eAAe,CAAC,cAAc,EAAEG,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { ButtonProps } from "../../Button";
|
|
2
|
+
import type { ButtonProps } from "../../Button";
|
|
3
3
|
export declare const ConfirmButton: ((props: ButtonProps) => React.JSX.Element) & {
|
|
4
4
|
original: (props: ButtonProps) => React.JSX.Element;
|
|
5
5
|
originalName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","makeDecoratable","Button","ConfirmButtonBase","props","createElement","Object","assign","text","variant","ConfirmButton"],"sources":["ConfirmButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport { Button
|
|
1
|
+
{"version":3,"names":["React","makeDecoratable","Button","ConfirmButtonBase","props","createElement","Object","assign","text","variant","ConfirmButton"],"sources":["ConfirmButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport type { ButtonProps } from \"~/Button\";\nimport { Button } from \"~/Button\";\n\nconst ConfirmButtonBase = (props: ButtonProps) => (\n <Button text={\"Confirm\"} {...props} variant=\"primary\" />\n);\n\nexport const ConfirmButton = makeDecoratable(\"ConfirmButton\", ConfirmButtonBase);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,eAAe;AAExB,SAASC,MAAM;AAEf,MAAMC,iBAAiB,GAAIC,KAAkB,iBACzCJ,KAAA,CAAAK,aAAA,CAACH,MAAM,EAAAI,MAAA,CAAAC,MAAA;EAACC,IAAI,EAAE;AAAU,GAAKJ,KAAK;EAAEK,OAAO,EAAC;AAAS,EAAE,CAC1D;AAED,OAAO,MAAMC,aAAa,GAAGT,eAAe,CAAC,eAAe,EAAEE,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { Dialog as DialogPrimitive } from "radix-ui";
|
|
3
3
|
import { type VariantProps } from "../../utils";
|
|
4
4
|
declare const dialogContentVariants: (props?: ({
|
|
5
|
-
size?: "
|
|
5
|
+
size?: "sm" | "md" | "lg" | "xl" | "full" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof dialogContentVariants> {
|
|
8
8
|
dismissible?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type VariantProps } from "../../utils";
|
|
3
3
|
declare const dialogFooterVariants: (props?: ({
|
|
4
|
-
size?: "
|
|
4
|
+
size?: "sm" | "md" | "lg" | "xl" | "full" | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
6
6
|
export interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof dialogFooterVariants> {
|
|
7
7
|
actions?: React.ReactNode;
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { Dialog as DialogPrimitive } from "radix-ui";
|
|
3
3
|
import { type VariantProps } from "../../utils";
|
|
4
4
|
declare const dialogTitleVariants: (props?: ({
|
|
5
|
-
size?: "
|
|
5
|
+
size?: "sm" | "md" | "lg" | "xl" | "full" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
7
|
export type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title> & VariantProps<typeof dialogTitleVariants>;
|
|
8
8
|
export declare const DialogTitle: ({ className, size, ...props }: DialogTitleProps) => React.JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { IconProps as IconComponentProps } from "../../Icon";
|
|
2
|
+
import type { IconProps as IconComponentProps } from "../../Icon";
|
|
3
3
|
type IconProps = IconComponentProps;
|
|
4
4
|
export declare const Icon: ((props: IconProps) => React.JSX.Element) & {
|
|
5
5
|
original: (props: IconProps) => React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Icon","IconComponent","makeDecoratable","IconBase","props","createElement","Object","assign","size","color"],"sources":["Icon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"names":["React","Icon","IconComponent","makeDecoratable","IconBase","props","createElement","Object","assign","size","color"],"sources":["Icon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type { IconProps as IconComponentProps } from \"~/Icon\";\nimport { Icon as IconComponent } from \"~/Icon\";\nimport { makeDecoratable } from \"~/utils\";\n\ntype IconProps = IconComponentProps;\n\nconst IconBase = (props: IconProps) => {\n return <IconComponent size={\"md\"} color={\"neutral-strong\"} {...props} />;\n};\n\nexport const Icon = makeDecoratable(\"Icon\", IconBase);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,IAAI,IAAIC,aAAa;AAC9B,SAASC,eAAe;AAIxB,MAAMC,QAAQ,GAAIC,KAAgB,IAAK;EACnC,oBAAOL,KAAA,CAAAM,aAAA,CAACJ,aAAa,EAAAK,MAAA,CAAAC,MAAA;IAACC,IAAI,EAAE,IAAK;IAACC,KAAK,EAAE;EAAiB,GAAKL,KAAK,CAAG,CAAC;AAC5E,CAAC;AAED,OAAO,MAAMJ,IAAI,GAAGE,eAAe,CAAC,MAAM,EAAEC,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { ButtonProps } from "../../Button";
|
|
2
|
+
import type { ButtonProps } from "../../Button";
|
|
3
3
|
export declare const CancelButton: ((props: ButtonProps) => React.JSX.Element) & {
|
|
4
4
|
original: (props: ButtonProps) => React.JSX.Element;
|
|
5
5
|
originalName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","makeDecoratable","DrawerClose","Button","CancelButtonBase","props","createElement","asChild","Object","assign","text","variant","CancelButton"],"sources":["CancelButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport { DrawerClose } from \"./DrawerClose\";\nimport { Button
|
|
1
|
+
{"version":3,"names":["React","makeDecoratable","DrawerClose","Button","CancelButtonBase","props","createElement","asChild","Object","assign","text","variant","CancelButton"],"sources":["CancelButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport { DrawerClose } from \"./DrawerClose\";\nimport type { ButtonProps } from \"~/Button\";\nimport { Button } from \"~/Button\";\n\nconst CancelButtonBase = (props: ButtonProps) => (\n <DrawerClose asChild>\n <Button text={\"Cancel\"} {...props} variant=\"secondary\" />\n </DrawerClose>\n);\n\nexport const CancelButton = makeDecoratable(\"CancelButton\", CancelButtonBase);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,eAAe;AACxB,SAASC,WAAW;AAEpB,SAASC,MAAM;AAEf,MAAMC,gBAAgB,GAAIC,KAAkB,iBACxCL,KAAA,CAAAM,aAAA,CAACJ,WAAW;EAACK,OAAO;AAAA,gBAChBP,KAAA,CAAAM,aAAA,CAACH,MAAM,EAAAK,MAAA,CAAAC,MAAA;EAACC,IAAI,EAAE;AAAS,GAAKL,KAAK;EAAEM,OAAO,EAAC;AAAW,EAAE,CAC/C,CAChB;AAED,OAAO,MAAMC,YAAY,GAAGX,eAAe,CAAC,cAAc,EAAEG,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { ButtonProps } from "../../Button";
|
|
2
|
+
import type { ButtonProps } from "../../Button";
|
|
3
3
|
export declare const ConfirmButton: ((props: ButtonProps) => React.JSX.Element) & {
|
|
4
4
|
original: (props: ButtonProps) => React.JSX.Element;
|
|
5
5
|
originalName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","makeDecoratable","Button","ConfirmButtonBase","props","createElement","Object","assign","text","variant","ConfirmButton"],"sources":["ConfirmButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport { Button
|
|
1
|
+
{"version":3,"names":["React","makeDecoratable","Button","ConfirmButtonBase","props","createElement","Object","assign","text","variant","ConfirmButton"],"sources":["ConfirmButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { makeDecoratable } from \"~/utils\";\nimport type { ButtonProps } from \"~/Button\";\nimport { Button } from \"~/Button\";\n\nconst ConfirmButtonBase = (props: ButtonProps) => (\n <Button text={\"Confirm\"} {...props} variant=\"primary\" />\n);\n\nexport const ConfirmButton = makeDecoratable(\"ConfirmButton\", ConfirmButtonBase);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,eAAe;AAExB,SAASC,MAAM;AAEf,MAAMC,iBAAiB,GAAIC,KAAkB,iBACzCJ,KAAA,CAAAK,aAAA,CAACH,MAAM,EAAAI,MAAA,CAAAC,MAAA;EAACC,IAAI,EAAE;AAAU,GAAKJ,KAAK;EAAEK,OAAO,EAAC;AAAS,EAAE,CAC1D;AAED,OAAO,MAAMC,aAAa,GAAGT,eAAe,CAAC,eAAe,EAAEE,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { IconProps as IconComponentProps } from "../../Icon";
|
|
2
|
+
import type { IconProps as IconComponentProps } from "../../Icon";
|
|
3
3
|
type IconProps = IconComponentProps;
|
|
4
4
|
export declare const Icon: (({ className, ...props }: IconProps) => React.JSX.Element) & {
|
|
5
5
|
original: ({ className, ...props }: IconProps) => React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","cn","makeDecoratable","Icon","IconComponent","IconBase","className","props","createElement","Object","assign","size","color"],"sources":["Icon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn, makeDecoratable } from \"~/utils\";\nimport {
|
|
1
|
+
{"version":3,"names":["React","cn","makeDecoratable","Icon","IconComponent","IconBase","className","props","createElement","Object","assign","size","color"],"sources":["Icon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn, makeDecoratable } from \"~/utils\";\nimport type { IconProps as IconComponentProps } from \"~/Icon\";\nimport { Icon as IconComponent } from \"~/Icon\";\n\ntype IconProps = IconComponentProps;\n\nconst IconBase = ({ className, ...props }: IconProps) => {\n return (\n <IconComponent\n size={\"lg\"}\n color={\"neutral-strong\"}\n {...props}\n className={cn(\"wby-pt-xs\", className)}\n />\n );\n};\n\nexport const Icon = makeDecoratable(\"Icon\", IconBase);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,EAAE,EAAEC,eAAe;AAE5B,SAASC,IAAI,IAAIC,aAAa;AAI9B,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,SAAS;EAAE,GAAGC;AAAiB,CAAC,KAAK;EACrD,oBACIP,KAAA,CAAAQ,aAAA,CAACJ,aAAa,EAAAK,MAAA,CAAAC,MAAA;IACVC,IAAI,EAAE,IAAK;IACXC,KAAK,EAAE;EAAiB,GACpBL,KAAK;IACTD,SAAS,EAAEL,EAAE,CAAC,WAAW,EAAEK,SAAS;EAAE,EACzC,CAAC;AAEV,CAAC;AAED,OAAO,MAAMH,IAAI,GAAGD,eAAe,CAAC,MAAM,EAAEG,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type DropdownMenuItemIconProps } from "./DropdownMenuItemIcon";
|
|
3
|
-
import { LinkProps, To } from "@webiny/react-router";
|
|
3
|
+
import type { LinkProps, To } from "@webiny/react-router";
|
|
4
4
|
interface DropdownMenuItemBaseProps {
|
|
5
5
|
icon?: React.ReactNode;
|
|
6
6
|
readOnly?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DropdownMenu","DropdownMenuPrimitive","cn","cva","makeDecoratable","DropdownMenuSubRoot","DropdownMenuSubTrigger","DropdownMenuPortal","DropdownMenuSubContent","DropdownMenuItemIcon","Link","variants","readOnly","true","defaultVariants","DropdownMenuItemBase","forwardRef","className","icon","text","disabled","onClick","children","linkProps","ref","createElement","sharedProps","content","to","Object","assign","Item","displayName","DecoratableDropdownMenuItem","DropdownMenuItem","Icon"],"sources":["DropdownMenuItem.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\nimport { cn, cva, makeDecoratable } from \"~/utils\";\nimport { DropdownMenuSubRoot } from \"./DropdownMenuSubRoot\";\nimport { DropdownMenuSubTrigger } from \"./DropdownMenuSubTrigger\";\nimport { DropdownMenuPortal } from \"./DropdownMenuPortal\";\nimport { DropdownMenuSubContent } from \"./DropdownMenuSubContent\";\nimport { DropdownMenuItemIcon, type DropdownMenuItemIconProps } from \"./DropdownMenuItemIcon\";\nimport {
|
|
1
|
+
{"version":3,"names":["React","DropdownMenu","DropdownMenuPrimitive","cn","cva","makeDecoratable","DropdownMenuSubRoot","DropdownMenuSubTrigger","DropdownMenuPortal","DropdownMenuSubContent","DropdownMenuItemIcon","Link","variants","readOnly","true","defaultVariants","DropdownMenuItemBase","forwardRef","className","icon","text","disabled","onClick","children","linkProps","ref","createElement","sharedProps","content","to","Object","assign","Item","displayName","DecoratableDropdownMenuItem","DropdownMenuItem","Icon"],"sources":["DropdownMenuItem.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\nimport { cn, cva, makeDecoratable } from \"~/utils\";\nimport { DropdownMenuSubRoot } from \"./DropdownMenuSubRoot\";\nimport { DropdownMenuSubTrigger } from \"./DropdownMenuSubTrigger\";\nimport { DropdownMenuPortal } from \"./DropdownMenuPortal\";\nimport { DropdownMenuSubContent } from \"./DropdownMenuSubContent\";\nimport { DropdownMenuItemIcon, type DropdownMenuItemIconProps } from \"./DropdownMenuItemIcon\";\nimport type { LinkProps, To } from \"@webiny/react-router\";\nimport { Link } from \"@webiny/react-router\";\n\ninterface DropdownMenuItemBaseProps {\n icon?: React.ReactNode;\n readOnly?: boolean;\n text?: React.ReactNode;\n disabled?: boolean;\n onClick?: React.MouseEventHandler;\n}\n\ntype DropdownMenuItemButtonProps = (DropdownMenuItemBaseProps &\n React.HTMLAttributes<HTMLDivElement>) & { to?: never };\ntype DropdownMenuItemLinkProps = (DropdownMenuItemBaseProps & LinkProps) & { to: To };\n\ntype DropdownMenuItemProps = DropdownMenuItemButtonProps | DropdownMenuItemLinkProps;\n\nconst variants = cva(\n [\n \"wby-group wby-relative wby-cursor-default wby-select-none wby-items-center wby-rounded-sm\",\n \"wby-text-md wby-text-neutral-primary !wby-no-underline\",\n \"wby-px-xs-plus wby-outline-none wby-transition-colors\",\n \"[&_svg]:wby-fill-neutral-xstrong [&_svg]:wby-pointer-events-none [&_svg]:wby-size-md [&_svg]:wby-shrink-0\",\n \"data-[disabled]:wby-pointer-events-none data-[disabled]:wby-text-neutral-disabled\",\n \"[&_a]:!wby-no-underline [&_a]:!wby-text-neutral-primary\"\n ],\n {\n variants: {\n readOnly: {\n true: \"wby-pointer-events-none\"\n }\n },\n defaultVariants: {\n readOnly: false\n }\n }\n);\n\nconst DropdownMenuItemBase = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n DropdownMenuItemProps\n>(({ className, icon, text, readOnly, disabled, onClick, children, ...linkProps }, ref) => {\n if (children) {\n return (\n <DropdownMenuSubRoot>\n <DropdownMenuSubTrigger>\n {icon}\n <span>{text}</span>\n </DropdownMenuSubTrigger>\n <DropdownMenuPortal>\n <DropdownMenuSubContent>{children}</DropdownMenuSubContent>\n </DropdownMenuPortal>\n </DropdownMenuSubRoot>\n );\n }\n const sharedProps = {\n className: cn(\n \"wby-flex wby-px-sm wby-py-xs-plus wby-gap-sm-extra wby-items-center wby-text-md wby-rounded-sm wby-transition-colors group-focus:wby-bg-neutral-dimmed\",\n {\n \"[&_svg]:!wby-fill-neutral-disabled\": disabled\n }\n )\n };\n\n const content = linkProps.to ? (\n <Link {...sharedProps} {...linkProps}>\n {icon}\n <span>{text}</span>\n </Link>\n ) : (\n <div {...sharedProps} onClick={onClick}>\n {icon}\n <span>{text}</span>\n </div>\n );\n\n return (\n <DropdownMenuPrimitive.Item\n disabled={disabled}\n ref={ref}\n className={cn(variants({ readOnly }), className)}\n >\n {content}\n </DropdownMenuPrimitive.Item>\n );\n});\n\nDropdownMenuItemBase.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DecoratableDropdownMenuItem = makeDecoratable(\"DropdownMenuItem\", DropdownMenuItemBase);\n\nconst DropdownMenuItem = Object.assign(DecoratableDropdownMenuItem, {\n Icon: DropdownMenuItemIcon\n});\n\nexport {\n DropdownMenuItem,\n type DropdownMenuItemProps,\n type DropdownMenuItemButtonProps,\n type DropdownMenuItemLinkProps,\n type DropdownMenuItemIconProps\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,YAAY,IAAIC,qBAAqB,QAAQ,UAAU;AAChE,SAASC,EAAE,EAAEC,GAAG,EAAEC,eAAe;AACjC,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAE7B,SAASC,IAAI,QAAQ,sBAAsB;AAgB3C,MAAMC,QAAQ,GAAGR,GAAG,CAChB,CACI,2FAA2F,EAC3F,wDAAwD,EACxD,uDAAuD,EACvD,2GAA2G,EAC3G,mFAAmF,EACnF,yDAAyD,CAC5D,EACD;EACIQ,QAAQ,EAAE;IACNC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ,CAAC;EACDC,eAAe,EAAE;IACbF,QAAQ,EAAE;EACd;AACJ,CACJ,CAAC;AAED,MAAMG,oBAAoB,gBAAGhB,KAAK,CAACiB,UAAU,CAG3C,CAAC;EAAEC,SAAS;EAAEC,IAAI;EAAEC,IAAI;EAAEP,QAAQ;EAAEQ,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAE,GAAGC;AAAU,CAAC,EAAEC,GAAG,KAAK;EACvF,IAAIF,QAAQ,EAAE;IACV,oBACIvB,KAAA,CAAA0B,aAAA,CAACpB,mBAAmB,qBAChBN,KAAA,CAAA0B,aAAA,CAACnB,sBAAsB,QAClBY,IAAI,eACLnB,KAAA,CAAA0B,aAAA,eAAON,IAAW,CACE,CAAC,eACzBpB,KAAA,CAAA0B,aAAA,CAAClB,kBAAkB,qBACfR,KAAA,CAAA0B,aAAA,CAACjB,sBAAsB,QAAEc,QAAiC,CAC1C,CACH,CAAC;EAE9B;EACA,MAAMI,WAAW,GAAG;IAChBT,SAAS,EAAEf,EAAE,CACT,wJAAwJ,EACxJ;MACI,oCAAoC,EAAEkB;IAC1C,CACJ;EACJ,CAAC;EAED,MAAMO,OAAO,GAAGJ,SAAS,CAACK,EAAE,gBACxB7B,KAAA,CAAA0B,aAAA,CAACf,IAAI,EAAAmB,MAAA,CAAAC,MAAA,KAAKJ,WAAW,EAAMH,SAAS,GAC/BL,IAAI,eACLnB,KAAA,CAAA0B,aAAA,eAAON,IAAW,CAChB,CAAC,gBAEPpB,KAAA,CAAA0B,aAAA,QAAAI,MAAA,CAAAC,MAAA,KAASJ,WAAW;IAAEL,OAAO,EAAEA;EAAQ,IAClCH,IAAI,eACLnB,KAAA,CAAA0B,aAAA,eAAON,IAAW,CACjB,CACR;EAED,oBACIpB,KAAA,CAAA0B,aAAA,CAACxB,qBAAqB,CAAC8B,IAAI;IACvBX,QAAQ,EAAEA,QAAS;IACnBI,GAAG,EAAEA,GAAI;IACTP,SAAS,EAAEf,EAAE,CAACS,QAAQ,CAAC;MAAEC;IAAS,CAAC,CAAC,EAAEK,SAAS;EAAE,GAEhDU,OACuB,CAAC;AAErC,CAAC,CAAC;AAEFZ,oBAAoB,CAACiB,WAAW,GAAG/B,qBAAqB,CAAC8B,IAAI,CAACC,WAAW;AAEzE,MAAMC,2BAA2B,GAAG7B,eAAe,CAAC,kBAAkB,EAAEW,oBAAoB,CAAC;AAE7F,MAAMmB,gBAAgB,GAAGL,MAAM,CAACC,MAAM,CAACG,2BAA2B,EAAE;EAChEE,IAAI,EAAE1B;AACV,CAAC,CAAC;AAEF,SACIyB,gBAAgB","ignoreList":[]}
|