@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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface TagsInputPresenterParams {
|
|
2
|
+
placeholder?: string;
|
|
3
|
+
}
|
|
4
|
+
export interface ITagsInputPresenter {
|
|
5
|
+
vm: {
|
|
6
|
+
placeholder: string;
|
|
7
|
+
value: string;
|
|
8
|
+
};
|
|
9
|
+
init: (params: TagsInputPresenterParams) => void;
|
|
10
|
+
setValue: (query: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare class TagsInputPresenter implements ITagsInputPresenter {
|
|
13
|
+
private value?;
|
|
14
|
+
private placeholder?;
|
|
15
|
+
constructor();
|
|
16
|
+
init(params?: TagsInputPresenterParams): void;
|
|
17
|
+
get vm(): {
|
|
18
|
+
placeholder: string;
|
|
19
|
+
value: string;
|
|
20
|
+
};
|
|
21
|
+
setValue: (value: string) => void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { makeAutoObservable } from "mobx";
|
|
2
|
+
export class TagsInputPresenter {
|
|
3
|
+
value = undefined;
|
|
4
|
+
placeholder = undefined;
|
|
5
|
+
constructor() {
|
|
6
|
+
makeAutoObservable(this);
|
|
7
|
+
}
|
|
8
|
+
init(params) {
|
|
9
|
+
this.placeholder = params?.placeholder;
|
|
10
|
+
}
|
|
11
|
+
get vm() {
|
|
12
|
+
return {
|
|
13
|
+
placeholder: this.placeholder || "",
|
|
14
|
+
value: this.value || ""
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
setValue = value => {
|
|
18
|
+
this.value = value;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=TagsInputPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","TagsInputPresenter","value","undefined","placeholder","constructor","init","params","vm","setValue"],"sources":["TagsInputPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nexport interface TagsInputPresenterParams {\n placeholder?: string;\n}\n\nexport interface ITagsInputPresenter {\n vm: {\n placeholder: string;\n value: string;\n };\n init: (params: TagsInputPresenterParams) => void;\n setValue: (query: string) => void;\n}\n\nexport class TagsInputPresenter implements ITagsInputPresenter {\n private value?: string = undefined;\n private placeholder?: string = undefined;\n\n constructor() {\n makeAutoObservable(this);\n }\n\n init(params?: TagsInputPresenterParams) {\n this.placeholder = params?.placeholder;\n }\n\n get vm() {\n return {\n placeholder: this.placeholder || \"\",\n value: this.value || \"\"\n };\n }\n\n public setValue = (value: string) => {\n this.value = value;\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAezC,OAAO,MAAMC,kBAAkB,CAAgC;EACnDC,KAAK,GAAYC,SAAS;EAC1BC,WAAW,GAAYD,SAAS;EAExCE,WAAWA,CAAA,EAAG;IACVL,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAM,IAAIA,CAACC,MAAiC,EAAE;IACpC,IAAI,CAACH,WAAW,GAAGG,MAAM,EAAEH,WAAW;EAC1C;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO;MACHJ,WAAW,EAAE,IAAI,CAACA,WAAW,IAAI,EAAE;MACnCF,KAAK,EAAE,IAAI,CAACA,KAAK,IAAI;IACzB,CAAC;EACL;EAEOO,QAAQ,GAAIP,KAAa,IAAK;IACjC,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type ITagsInputPresenter } from "./TagsInputPresenter";
|
|
2
|
+
import { type ITagsValuesPresenter } from "./TagsValuesPresenter";
|
|
3
|
+
interface TagsPresenterParams {
|
|
4
|
+
values?: string[];
|
|
5
|
+
protectedValues?: string[];
|
|
6
|
+
onValueChange?: (values: string[]) => void;
|
|
7
|
+
onValueInput?: (value: string) => void;
|
|
8
|
+
onValueAdd?: (value: string) => void;
|
|
9
|
+
onValueRemove?: (value: string) => void;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
}
|
|
12
|
+
interface ITagsPresenter {
|
|
13
|
+
vm: {
|
|
14
|
+
inputVm: ITagsInputPresenter["vm"];
|
|
15
|
+
valuesVm: ITagsValuesPresenter["vm"];
|
|
16
|
+
};
|
|
17
|
+
init: (params: TagsPresenterParams) => void;
|
|
18
|
+
inputValue: (value: string) => void;
|
|
19
|
+
addValue: (value: string) => void;
|
|
20
|
+
removeValue: (value: string) => void;
|
|
21
|
+
}
|
|
22
|
+
declare class TagsPresenter implements ITagsPresenter {
|
|
23
|
+
private params?;
|
|
24
|
+
private inputPresenter;
|
|
25
|
+
private valuesPresenter;
|
|
26
|
+
constructor(inputPresenter: ITagsInputPresenter, valuesPresenter: ITagsValuesPresenter);
|
|
27
|
+
init(params: TagsPresenterParams): void;
|
|
28
|
+
get vm(): {
|
|
29
|
+
inputVm: {
|
|
30
|
+
placeholder: string;
|
|
31
|
+
value: string;
|
|
32
|
+
};
|
|
33
|
+
valuesVm: {
|
|
34
|
+
values: import("../../domain").TagItemFormatted[];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
inputValue: (value: string) => void;
|
|
38
|
+
addValue: () => void;
|
|
39
|
+
removeValue: (value: string) => void;
|
|
40
|
+
private getValues;
|
|
41
|
+
}
|
|
42
|
+
export { TagsPresenter, type ITagsPresenter, type TagsPresenterParams };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { makeAutoObservable } from "mobx";
|
|
2
|
+
class TagsPresenter {
|
|
3
|
+
params = undefined;
|
|
4
|
+
constructor(inputPresenter, valuesPresenter) {
|
|
5
|
+
this.inputPresenter = inputPresenter;
|
|
6
|
+
this.valuesPresenter = valuesPresenter;
|
|
7
|
+
makeAutoObservable(this);
|
|
8
|
+
}
|
|
9
|
+
init(params) {
|
|
10
|
+
this.params = params;
|
|
11
|
+
this.inputPresenter.init({
|
|
12
|
+
placeholder: params.placeholder
|
|
13
|
+
});
|
|
14
|
+
this.valuesPresenter.init({
|
|
15
|
+
values: params.values,
|
|
16
|
+
protectedValues: params.protectedValues
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
get vm() {
|
|
20
|
+
return {
|
|
21
|
+
inputVm: this.inputPresenter.vm,
|
|
22
|
+
valuesVm: this.valuesPresenter.vm
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
inputValue = value => {
|
|
26
|
+
this.inputPresenter.setValue(value);
|
|
27
|
+
if (this.params?.onValueInput) {
|
|
28
|
+
this.params.onValueInput(value);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
addValue = () => {
|
|
32
|
+
const value = this.vm.inputVm.value.trim();
|
|
33
|
+
if (!value) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.inputPresenter.setValue("");
|
|
37
|
+
if (this.valuesPresenter.hasValue(value)) {
|
|
38
|
+
// If the value already exists, do not add it again
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.valuesPresenter.addValue(value);
|
|
42
|
+
if (this.params?.onValueAdd) {
|
|
43
|
+
this.params.onValueAdd(value);
|
|
44
|
+
}
|
|
45
|
+
if (this.params?.onValueChange) {
|
|
46
|
+
this.params.onValueChange(this.getValues());
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
removeValue = value => {
|
|
50
|
+
this.valuesPresenter.removeValue(value);
|
|
51
|
+
if (this.valuesPresenter.isValueProtected(value)) {
|
|
52
|
+
// If the value is protected, do not remove it
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (this.params?.onValueRemove) {
|
|
56
|
+
this.params.onValueRemove(value);
|
|
57
|
+
}
|
|
58
|
+
if (this.params?.onValueChange) {
|
|
59
|
+
this.params.onValueChange(this.getValues());
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
getValues = () => {
|
|
63
|
+
return this.valuesPresenter.vm.values.map(tag => tag.label);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export { TagsPresenter };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=TagsPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","TagsPresenter","params","undefined","constructor","inputPresenter","valuesPresenter","init","placeholder","values","protectedValues","vm","inputVm","valuesVm","inputValue","value","setValue","onValueInput","addValue","trim","hasValue","onValueAdd","onValueChange","getValues","removeValue","isValueProtected","onValueRemove","map","tag","label"],"sources":["TagsPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport { type ITagsInputPresenter } from \"./TagsInputPresenter\";\nimport { type ITagsValuesPresenter } from \"./TagsValuesPresenter\";\n\ninterface TagsPresenterParams {\n values?: string[];\n protectedValues?: string[];\n onValueChange?: (values: string[]) => void;\n onValueInput?: (value: string) => void;\n onValueAdd?: (value: string) => void;\n onValueRemove?: (value: string) => void;\n placeholder?: string;\n}\n\ninterface ITagsPresenter {\n vm: {\n inputVm: ITagsInputPresenter[\"vm\"];\n valuesVm: ITagsValuesPresenter[\"vm\"];\n };\n init: (params: TagsPresenterParams) => void;\n inputValue: (value: string) => void;\n addValue: (value: string) => void;\n removeValue: (value: string) => void;\n}\n\nclass TagsPresenter implements ITagsPresenter {\n private params?: TagsPresenterParams = undefined;\n private inputPresenter: ITagsInputPresenter;\n private valuesPresenter: ITagsValuesPresenter;\n\n constructor(inputPresenter: ITagsInputPresenter, valuesPresenter: ITagsValuesPresenter) {\n this.inputPresenter = inputPresenter;\n this.valuesPresenter = valuesPresenter;\n makeAutoObservable(this);\n }\n\n init(params: TagsPresenterParams) {\n this.params = params;\n this.inputPresenter.init({ placeholder: params.placeholder });\n this.valuesPresenter.init({\n values: params.values,\n protectedValues: params.protectedValues\n });\n }\n\n get vm() {\n return {\n inputVm: this.inputPresenter.vm,\n valuesVm: this.valuesPresenter.vm\n };\n }\n\n public inputValue = (value: string) => {\n this.inputPresenter.setValue(value);\n if (this.params?.onValueInput) {\n this.params.onValueInput(value);\n }\n };\n\n public addValue = () => {\n const value = this.vm.inputVm.value.trim();\n\n if (!value) {\n return;\n }\n\n this.inputPresenter.setValue(\"\");\n\n if (this.valuesPresenter.hasValue(value)) {\n // If the value already exists, do not add it again\n return;\n }\n\n this.valuesPresenter.addValue(value);\n\n if (this.params?.onValueAdd) {\n this.params.onValueAdd(value);\n }\n\n if (this.params?.onValueChange) {\n this.params.onValueChange(this.getValues());\n }\n };\n\n public removeValue = (value: string) => {\n this.valuesPresenter.removeValue(value);\n\n if (this.valuesPresenter.isValueProtected(value)) {\n // If the value is protected, do not remove it\n return;\n }\n\n if (this.params?.onValueRemove) {\n this.params.onValueRemove(value);\n }\n\n if (this.params?.onValueChange) {\n this.params.onValueChange(this.getValues());\n }\n };\n\n private getValues = () => {\n return this.valuesPresenter.vm.values.map(tag => tag.label);\n };\n}\n\nexport { TagsPresenter, type ITagsPresenter, type TagsPresenterParams };\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAyBzC,MAAMC,aAAa,CAA2B;EAClCC,MAAM,GAAyBC,SAAS;EAIhDC,WAAWA,CAACC,cAAmC,EAAEC,eAAqC,EAAE;IACpF,IAAI,CAACD,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtCN,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAO,IAAIA,CAACL,MAA2B,EAAE;IAC9B,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACG,cAAc,CAACE,IAAI,CAAC;MAAEC,WAAW,EAAEN,MAAM,CAACM;IAAY,CAAC,CAAC;IAC7D,IAAI,CAACF,eAAe,CAACC,IAAI,CAAC;MACtBE,MAAM,EAAEP,MAAM,CAACO,MAAM;MACrBC,eAAe,EAAER,MAAM,CAACQ;IAC5B,CAAC,CAAC;EACN;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACL,OAAO;MACHC,OAAO,EAAE,IAAI,CAACP,cAAc,CAACM,EAAE;MAC/BE,QAAQ,EAAE,IAAI,CAACP,eAAe,CAACK;IACnC,CAAC;EACL;EAEOG,UAAU,GAAIC,KAAa,IAAK;IACnC,IAAI,CAACV,cAAc,CAACW,QAAQ,CAACD,KAAK,CAAC;IACnC,IAAI,IAAI,CAACb,MAAM,EAAEe,YAAY,EAAE;MAC3B,IAAI,CAACf,MAAM,CAACe,YAAY,CAACF,KAAK,CAAC;IACnC;EACJ,CAAC;EAEMG,QAAQ,GAAGA,CAAA,KAAM;IACpB,MAAMH,KAAK,GAAG,IAAI,CAACJ,EAAE,CAACC,OAAO,CAACG,KAAK,CAACI,IAAI,CAAC,CAAC;IAE1C,IAAI,CAACJ,KAAK,EAAE;MACR;IACJ;IAEA,IAAI,CAACV,cAAc,CAACW,QAAQ,CAAC,EAAE,CAAC;IAEhC,IAAI,IAAI,CAACV,eAAe,CAACc,QAAQ,CAACL,KAAK,CAAC,EAAE;MACtC;MACA;IACJ;IAEA,IAAI,CAACT,eAAe,CAACY,QAAQ,CAACH,KAAK,CAAC;IAEpC,IAAI,IAAI,CAACb,MAAM,EAAEmB,UAAU,EAAE;MACzB,IAAI,CAACnB,MAAM,CAACmB,UAAU,CAACN,KAAK,CAAC;IACjC;IAEA,IAAI,IAAI,CAACb,MAAM,EAAEoB,aAAa,EAAE;MAC5B,IAAI,CAACpB,MAAM,CAACoB,aAAa,CAAC,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC;IAC/C;EACJ,CAAC;EAEMC,WAAW,GAAIT,KAAa,IAAK;IACpC,IAAI,CAACT,eAAe,CAACkB,WAAW,CAACT,KAAK,CAAC;IAEvC,IAAI,IAAI,CAACT,eAAe,CAACmB,gBAAgB,CAACV,KAAK,CAAC,EAAE;MAC9C;MACA;IACJ;IAEA,IAAI,IAAI,CAACb,MAAM,EAAEwB,aAAa,EAAE;MAC5B,IAAI,CAACxB,MAAM,CAACwB,aAAa,CAACX,KAAK,CAAC;IACpC;IAEA,IAAI,IAAI,CAACb,MAAM,EAAEoB,aAAa,EAAE;MAC5B,IAAI,CAACpB,MAAM,CAACoB,aAAa,CAAC,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC;IAC/C;EACJ,CAAC;EAEOA,SAAS,GAAGA,CAAA,KAAM;IACtB,OAAO,IAAI,CAACjB,eAAe,CAACK,EAAE,CAACF,MAAM,CAACkB,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,KAAK,CAAC;EAC/D,CAAC;AACL;AAEA,SAAS5B,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { TagsPresenter } from "./TagsPresenter";
|
|
2
|
+
import { TagsValuesPresenter } from "./TagsValuesPresenter";
|
|
3
|
+
import { TagsInputPresenter } from "./TagsInputPresenter";
|
|
4
|
+
describe("TagsPresenter", () => {
|
|
5
|
+
let presenter;
|
|
6
|
+
const onValueChange = jest.fn();
|
|
7
|
+
const onValueInput = jest.fn();
|
|
8
|
+
const onValueAdd = jest.fn();
|
|
9
|
+
const onValueRemove = jest.fn();
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
const tagsInputPresenter = new TagsInputPresenter();
|
|
12
|
+
const tagsValuesPresenter = new TagsValuesPresenter();
|
|
13
|
+
presenter = new TagsPresenter(tagsInputPresenter, tagsValuesPresenter);
|
|
14
|
+
});
|
|
15
|
+
it("should return the compatible `vm.inputVm` based on", () => {
|
|
16
|
+
presenter.init({
|
|
17
|
+
placeholder: "Custom placeholder"
|
|
18
|
+
});
|
|
19
|
+
expect(presenter.vm.inputVm.placeholder).toBe("Custom placeholder");
|
|
20
|
+
});
|
|
21
|
+
it("should return the compatible `vm.valuesVm` based on", () => {
|
|
22
|
+
presenter.init({
|
|
23
|
+
values: ["tag1", "tag2"]
|
|
24
|
+
});
|
|
25
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
26
|
+
id: expect.any(String),
|
|
27
|
+
label: "tag1",
|
|
28
|
+
protected: false
|
|
29
|
+
}, {
|
|
30
|
+
id: expect.any(String),
|
|
31
|
+
label: "tag2",
|
|
32
|
+
protected: false
|
|
33
|
+
}]);
|
|
34
|
+
});
|
|
35
|
+
it("should call `onValueInput` and add the new value when input a value", () => {
|
|
36
|
+
presenter.init({
|
|
37
|
+
onValueInput
|
|
38
|
+
});
|
|
39
|
+
const value1 = "value 1";
|
|
40
|
+
presenter.inputValue(value1);
|
|
41
|
+
expect(onValueInput).toHaveBeenCalledWith(value1);
|
|
42
|
+
expect(presenter.vm.inputVm.value).toBe(value1);
|
|
43
|
+
const value2 = "value 2";
|
|
44
|
+
presenter.inputValue(value2);
|
|
45
|
+
expect(onValueInput).toHaveBeenCalledWith(value2);
|
|
46
|
+
expect(presenter.vm.inputVm.value).toBe(value2);
|
|
47
|
+
});
|
|
48
|
+
it("should call `onValueAdd` and add the new value when adding a value", () => {
|
|
49
|
+
presenter.init({
|
|
50
|
+
onValueAdd,
|
|
51
|
+
onValueChange
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// It should add a value and call `onValueAdd` and `onValueChange`
|
|
55
|
+
const value1 = "value 1";
|
|
56
|
+
presenter.inputValue(value1);
|
|
57
|
+
presenter.addValue(value1);
|
|
58
|
+
expect(onValueAdd).toHaveBeenCalledWith(value1);
|
|
59
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
60
|
+
id: expect.any(String),
|
|
61
|
+
label: value1,
|
|
62
|
+
protected: false
|
|
63
|
+
}]);
|
|
64
|
+
expect(onValueChange).toHaveBeenCalledWith([value1]);
|
|
65
|
+
|
|
66
|
+
// It should add another value and call `onValueAdd` and `onValueChange`
|
|
67
|
+
const value2 = "value 2";
|
|
68
|
+
presenter.inputValue(value2);
|
|
69
|
+
presenter.addValue(value2);
|
|
70
|
+
expect(onValueAdd).toHaveBeenCalledWith(value2);
|
|
71
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
72
|
+
id: expect.any(String),
|
|
73
|
+
label: value1,
|
|
74
|
+
protected: false
|
|
75
|
+
}, {
|
|
76
|
+
id: expect.any(String),
|
|
77
|
+
label: value2,
|
|
78
|
+
protected: false
|
|
79
|
+
}]);
|
|
80
|
+
expect(onValueChange).toHaveBeenCalledWith([value1, value2]);
|
|
81
|
+
|
|
82
|
+
// It should not add an empty value
|
|
83
|
+
const emptyValue = " ";
|
|
84
|
+
presenter.inputValue(emptyValue);
|
|
85
|
+
presenter.addValue(emptyValue);
|
|
86
|
+
expect(onValueAdd).not.toHaveBeenCalledWith(emptyValue);
|
|
87
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
88
|
+
id: expect.any(String),
|
|
89
|
+
label: value1,
|
|
90
|
+
protected: false
|
|
91
|
+
}, {
|
|
92
|
+
id: expect.any(String),
|
|
93
|
+
label: value2,
|
|
94
|
+
protected: false
|
|
95
|
+
}]);
|
|
96
|
+
expect(onValueChange).toHaveBeenCalledWith([value1, value2]);
|
|
97
|
+
|
|
98
|
+
// It should not add a duplicate value
|
|
99
|
+
presenter.inputValue(value1);
|
|
100
|
+
presenter.addValue(value1);
|
|
101
|
+
expect(onValueAdd).not.toHaveBeenLastCalledWith(value1);
|
|
102
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
103
|
+
id: expect.any(String),
|
|
104
|
+
label: value1,
|
|
105
|
+
protected: false
|
|
106
|
+
}, {
|
|
107
|
+
id: expect.any(String),
|
|
108
|
+
label: value2,
|
|
109
|
+
protected: false
|
|
110
|
+
}]);
|
|
111
|
+
});
|
|
112
|
+
it("should call `onValueRemove` and remove the value when removing a value", () => {
|
|
113
|
+
const initialValues = ["tag1", "tag2"];
|
|
114
|
+
presenter.init({
|
|
115
|
+
values: initialValues,
|
|
116
|
+
onValueRemove,
|
|
117
|
+
onValueChange
|
|
118
|
+
});
|
|
119
|
+
const valueToRemove = "tag1";
|
|
120
|
+
presenter.removeValue(valueToRemove);
|
|
121
|
+
expect(onValueRemove).toHaveBeenCalledWith(valueToRemove);
|
|
122
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
123
|
+
id: expect.any(String),
|
|
124
|
+
label: "tag2",
|
|
125
|
+
protected: false
|
|
126
|
+
}]);
|
|
127
|
+
expect(onValueChange).toHaveBeenCalledWith(["tag2"]);
|
|
128
|
+
});
|
|
129
|
+
it("should not remove a protected value", () => {
|
|
130
|
+
const initialValues = ["tag1", "tag2"];
|
|
131
|
+
const protectedValues = ["tag1"];
|
|
132
|
+
presenter.init({
|
|
133
|
+
values: initialValues,
|
|
134
|
+
protectedValues,
|
|
135
|
+
onValueRemove,
|
|
136
|
+
onValueChange
|
|
137
|
+
});
|
|
138
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
139
|
+
id: expect.any(String),
|
|
140
|
+
label: "tag1",
|
|
141
|
+
protected: true
|
|
142
|
+
}, {
|
|
143
|
+
id: expect.any(String),
|
|
144
|
+
label: "tag2",
|
|
145
|
+
protected: false
|
|
146
|
+
}]);
|
|
147
|
+
const valueToRemove = "tag1";
|
|
148
|
+
presenter.removeValue(valueToRemove);
|
|
149
|
+
expect(onValueRemove).not.toHaveBeenCalled();
|
|
150
|
+
expect(onValueChange).not.toHaveBeenCalled();
|
|
151
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
152
|
+
id: expect.any(String),
|
|
153
|
+
label: "tag1",
|
|
154
|
+
protected: true
|
|
155
|
+
}, {
|
|
156
|
+
id: expect.any(String),
|
|
157
|
+
label: "tag2",
|
|
158
|
+
protected: false
|
|
159
|
+
}]);
|
|
160
|
+
});
|
|
161
|
+
it("should not remove a value based on a pattern", () => {
|
|
162
|
+
const initialValues = ["tag1", "tag2", "another-tag"];
|
|
163
|
+
const protectedValues = ["tag*"];
|
|
164
|
+
presenter.init({
|
|
165
|
+
values: initialValues,
|
|
166
|
+
protectedValues,
|
|
167
|
+
onValueRemove,
|
|
168
|
+
onValueChange
|
|
169
|
+
});
|
|
170
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
171
|
+
id: expect.any(String),
|
|
172
|
+
label: "tag1",
|
|
173
|
+
protected: true
|
|
174
|
+
}, {
|
|
175
|
+
id: expect.any(String),
|
|
176
|
+
label: "tag2",
|
|
177
|
+
protected: true
|
|
178
|
+
}, {
|
|
179
|
+
id: expect.any(String),
|
|
180
|
+
label: "another-tag",
|
|
181
|
+
protected: false
|
|
182
|
+
}]);
|
|
183
|
+
|
|
184
|
+
// Try to remove a protected value
|
|
185
|
+
const valueToRemove = "tag1";
|
|
186
|
+
presenter.removeValue(valueToRemove);
|
|
187
|
+
expect(onValueRemove).not.toHaveBeenCalled();
|
|
188
|
+
expect(onValueChange).not.toHaveBeenCalled();
|
|
189
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
190
|
+
id: expect.any(String),
|
|
191
|
+
label: "tag1",
|
|
192
|
+
protected: true
|
|
193
|
+
}, {
|
|
194
|
+
id: expect.any(String),
|
|
195
|
+
label: "tag2",
|
|
196
|
+
protected: true
|
|
197
|
+
}, {
|
|
198
|
+
id: expect.any(String),
|
|
199
|
+
label: "another-tag",
|
|
200
|
+
protected: false
|
|
201
|
+
}]);
|
|
202
|
+
|
|
203
|
+
// Try to remove a non-protected value
|
|
204
|
+
const anotherValueToRemove = "another-tag";
|
|
205
|
+
presenter.removeValue(anotherValueToRemove);
|
|
206
|
+
expect(onValueRemove).toHaveBeenCalledWith(anotherValueToRemove);
|
|
207
|
+
expect(onValueChange).toHaveBeenCalledWith(["tag1", "tag2"]);
|
|
208
|
+
expect(presenter.vm.valuesVm.values).toEqual([{
|
|
209
|
+
id: expect.any(String),
|
|
210
|
+
label: "tag1",
|
|
211
|
+
protected: true
|
|
212
|
+
}, {
|
|
213
|
+
id: expect.any(String),
|
|
214
|
+
label: "tag2",
|
|
215
|
+
protected: true
|
|
216
|
+
}]);
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
//# sourceMappingURL=TagsPresenter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TagsPresenter","TagsValuesPresenter","TagsInputPresenter","describe","presenter","onValueChange","jest","fn","onValueInput","onValueAdd","onValueRemove","beforeEach","tagsInputPresenter","tagsValuesPresenter","it","init","placeholder","expect","vm","inputVm","toBe","values","valuesVm","toEqual","id","any","String","label","protected","value1","inputValue","toHaveBeenCalledWith","value","value2","addValue","emptyValue","not","toHaveBeenLastCalledWith","initialValues","valueToRemove","removeValue","protectedValues","toHaveBeenCalled","anotherValueToRemove"],"sources":["TagsPresenter.test.ts"],"sourcesContent":["import { type ITagsPresenter, TagsPresenter } from \"./TagsPresenter\";\nimport { TagsValuesPresenter } from \"./TagsValuesPresenter\";\nimport { TagsInputPresenter } from \"./TagsInputPresenter\";\n\ndescribe(\"TagsPresenter\", () => {\n let presenter: ITagsPresenter;\n const onValueChange = jest.fn();\n const onValueInput = jest.fn();\n const onValueAdd = jest.fn();\n const onValueRemove = jest.fn();\n\n beforeEach(() => {\n const tagsInputPresenter = new TagsInputPresenter();\n const tagsValuesPresenter = new TagsValuesPresenter();\n presenter = new TagsPresenter(tagsInputPresenter, tagsValuesPresenter);\n });\n\n it(\"should return the compatible `vm.inputVm` based on\", () => {\n presenter.init({\n placeholder: \"Custom placeholder\"\n });\n\n expect(presenter.vm.inputVm.placeholder).toBe(\"Custom placeholder\");\n });\n\n it(\"should return the compatible `vm.valuesVm` based on\", () => {\n presenter.init({\n values: [\"tag1\", \"tag2\"]\n });\n\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: false\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n });\n\n it(\"should call `onValueInput` and add the new value when input a value\", () => {\n presenter.init({\n onValueInput\n });\n\n const value1 = \"value 1\";\n presenter.inputValue(value1);\n\n expect(onValueInput).toHaveBeenCalledWith(value1);\n expect(presenter.vm.inputVm.value).toBe(value1);\n\n const value2 = \"value 2\";\n presenter.inputValue(value2);\n expect(onValueInput).toHaveBeenCalledWith(value2);\n expect(presenter.vm.inputVm.value).toBe(value2);\n });\n\n it(\"should call `onValueAdd` and add the new value when adding a value\", () => {\n presenter.init({\n onValueAdd,\n onValueChange\n });\n\n // It should add a value and call `onValueAdd` and `onValueChange`\n const value1 = \"value 1\";\n presenter.inputValue(value1);\n presenter.addValue(value1);\n\n expect(onValueAdd).toHaveBeenCalledWith(value1);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([value1]);\n\n // It should add another value and call `onValueAdd` and `onValueChange`\n const value2 = \"value 2\";\n presenter.inputValue(value2);\n presenter.addValue(value2);\n\n expect(onValueAdd).toHaveBeenCalledWith(value2);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n },\n {\n id: expect.any(String),\n label: value2,\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([value1, value2]);\n\n // It should not add an empty value\n const emptyValue = \" \";\n presenter.inputValue(emptyValue);\n presenter.addValue(emptyValue);\n\n expect(onValueAdd).not.toHaveBeenCalledWith(emptyValue);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n },\n {\n id: expect.any(String),\n label: value2,\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([value1, value2]);\n\n // It should not add a duplicate value\n presenter.inputValue(value1);\n presenter.addValue(value1);\n\n expect(onValueAdd).not.toHaveBeenLastCalledWith(value1);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n },\n {\n id: expect.any(String),\n label: value2,\n protected: false\n }\n ]);\n });\n\n it(\"should call `onValueRemove` and remove the value when removing a value\", () => {\n const initialValues = [\"tag1\", \"tag2\"];\n presenter.init({\n values: initialValues,\n onValueRemove,\n onValueChange\n });\n\n const valueToRemove = \"tag1\";\n presenter.removeValue(valueToRemove);\n\n expect(onValueRemove).toHaveBeenCalledWith(valueToRemove);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([\"tag2\"]);\n });\n\n it(\"should not remove a protected value\", () => {\n const initialValues = [\"tag1\", \"tag2\"];\n const protectedValues = [\"tag1\"];\n presenter.init({\n values: initialValues,\n protectedValues,\n onValueRemove,\n onValueChange\n });\n\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n\n const valueToRemove = \"tag1\";\n presenter.removeValue(valueToRemove);\n\n expect(onValueRemove).not.toHaveBeenCalled();\n expect(onValueChange).not.toHaveBeenCalled();\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n });\n\n it(\"should not remove a value based on a pattern\", () => {\n const initialValues = [\"tag1\", \"tag2\", \"another-tag\"];\n const protectedValues = [\"tag*\"];\n presenter.init({\n values: initialValues,\n protectedValues,\n onValueRemove,\n onValueChange\n });\n\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"another-tag\",\n protected: false\n }\n ]);\n\n // Try to remove a protected value\n const valueToRemove = \"tag1\";\n presenter.removeValue(valueToRemove);\n\n expect(onValueRemove).not.toHaveBeenCalled();\n expect(onValueChange).not.toHaveBeenCalled();\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"another-tag\",\n protected: false\n }\n ]);\n\n // Try to remove a non-protected value\n const anotherValueToRemove = \"another-tag\";\n presenter.removeValue(anotherValueToRemove);\n\n expect(onValueRemove).toHaveBeenCalledWith(anotherValueToRemove);\n expect(onValueChange).toHaveBeenCalledWith([\"tag1\", \"tag2\"]);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: true\n }\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type TagItemFormatted } from "../../domain";
|
|
2
|
+
interface TagsValuesPresenterParams {
|
|
3
|
+
values?: string[];
|
|
4
|
+
protectedValues?: string[];
|
|
5
|
+
}
|
|
6
|
+
interface ITagsValuesPresenter {
|
|
7
|
+
vm: {
|
|
8
|
+
values: TagItemFormatted[];
|
|
9
|
+
};
|
|
10
|
+
init: (params: TagsValuesPresenterParams) => void;
|
|
11
|
+
addValue: (value: string) => void;
|
|
12
|
+
removeValue: (value: string) => void;
|
|
13
|
+
hasValue: (value: string) => boolean;
|
|
14
|
+
isValueProtected: (value: string) => boolean;
|
|
15
|
+
}
|
|
16
|
+
declare class TagsValuesPresenter implements ITagsValuesPresenter {
|
|
17
|
+
private values;
|
|
18
|
+
constructor();
|
|
19
|
+
init(params: TagsValuesPresenterParams): void;
|
|
20
|
+
get vm(): {
|
|
21
|
+
values: TagItemFormatted[];
|
|
22
|
+
};
|
|
23
|
+
addValue: (value: string) => void;
|
|
24
|
+
removeValue: (value: string) => void;
|
|
25
|
+
hasValue: (value: string) => boolean;
|
|
26
|
+
isValueProtected: (value: string) => boolean;
|
|
27
|
+
}
|
|
28
|
+
export { TagsValuesPresenter, type ITagsValuesPresenter, type TagsValuesPresenterParams };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { makeAutoObservable } from "mobx";
|
|
2
|
+
import minimatch from "minimatch";
|
|
3
|
+
import { TagItem, TagItemMapper } from "../../domain";
|
|
4
|
+
class TagsValuesPresenter {
|
|
5
|
+
values = [];
|
|
6
|
+
constructor() {
|
|
7
|
+
makeAutoObservable(this);
|
|
8
|
+
}
|
|
9
|
+
init(params) {
|
|
10
|
+
this.values = params.values?.map(value => TagItem.create({
|
|
11
|
+
label: value,
|
|
12
|
+
protected: params.protectedValues ? params.protectedValues.some(pattern => minimatch(value, pattern)) : false
|
|
13
|
+
})) ?? [];
|
|
14
|
+
}
|
|
15
|
+
get vm() {
|
|
16
|
+
return {
|
|
17
|
+
values: this.values.map(value => TagItemMapper.toFormatted(value))
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
addValue = value => {
|
|
21
|
+
if (!value || this.values.find(tag => tag.label === value)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const tagItem = TagItem.create({
|
|
25
|
+
label: value
|
|
26
|
+
});
|
|
27
|
+
this.values.push(tagItem);
|
|
28
|
+
};
|
|
29
|
+
removeValue = value => {
|
|
30
|
+
this.values = this.values.filter(tagItem => tagItem.label !== value || this.isValueProtected(tagItem.label));
|
|
31
|
+
};
|
|
32
|
+
hasValue = value => {
|
|
33
|
+
return !!this.values.find(tag => tag.label === value);
|
|
34
|
+
};
|
|
35
|
+
isValueProtected = value => {
|
|
36
|
+
return !!this.values.find(tag => tag.label === value && tag.protected);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export { TagsValuesPresenter };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=TagsValuesPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","minimatch","TagItem","TagItemMapper","TagsValuesPresenter","values","constructor","init","params","map","value","create","label","protected","protectedValues","some","pattern","vm","toFormatted","addValue","find","tag","tagItem","push","removeValue","filter","isValueProtected","hasValue"],"sources":["TagsValuesPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport minimatch from \"minimatch\";\nimport { TagItem, type TagItemFormatted, TagItemMapper } from \"~/Tags/domain\";\n\ninterface TagsValuesPresenterParams {\n values?: string[];\n protectedValues?: string[];\n}\n\ninterface ITagsValuesPresenter {\n vm: {\n values: TagItemFormatted[];\n };\n init: (params: TagsValuesPresenterParams) => void;\n addValue: (value: string) => void;\n removeValue: (value: string) => void;\n hasValue: (value: string) => boolean;\n isValueProtected: (value: string) => boolean;\n}\n\nclass TagsValuesPresenter implements ITagsValuesPresenter {\n private values: TagItem[] = [];\n\n constructor() {\n makeAutoObservable(this);\n }\n\n init(params: TagsValuesPresenterParams) {\n this.values =\n params.values?.map(value =>\n TagItem.create({\n label: value,\n protected: params.protectedValues\n ? params.protectedValues.some(pattern => minimatch(value, pattern))\n : false\n })\n ) ?? [];\n }\n\n get vm() {\n return {\n values: this.values.map(value => TagItemMapper.toFormatted(value))\n };\n }\n\n public addValue = (value: string) => {\n if (!value || this.values.find(tag => tag.label === value)) {\n return;\n }\n const tagItem = TagItem.create({ label: value });\n this.values.push(tagItem);\n };\n\n public removeValue = (value: string) => {\n this.values = this.values.filter(\n tagItem => tagItem.label !== value || this.isValueProtected(tagItem.label)\n );\n };\n\n public hasValue = (value: string) => {\n return !!this.values.find(tag => tag.label === value);\n };\n\n public isValueProtected = (value: string) => {\n return !!this.values.find(tag => tag.label === value && tag.protected);\n };\n}\n\nexport { TagsValuesPresenter, type ITagsValuesPresenter, type TagsValuesPresenterParams };\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AACzC,OAAOC,SAAS,MAAM,WAAW;AACjC,SAASC,OAAO,EAAyBC,aAAa;AAkBtD,MAAMC,mBAAmB,CAAiC;EAC9CC,MAAM,GAAc,EAAE;EAE9BC,WAAWA,CAAA,EAAG;IACVN,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAO,IAAIA,CAACC,MAAiC,EAAE;IACpC,IAAI,CAACH,MAAM,GACPG,MAAM,CAACH,MAAM,EAAEI,GAAG,CAACC,KAAK,IACpBR,OAAO,CAACS,MAAM,CAAC;MACXC,KAAK,EAAEF,KAAK;MACZG,SAAS,EAAEL,MAAM,CAACM,eAAe,GAC3BN,MAAM,CAACM,eAAe,CAACC,IAAI,CAACC,OAAO,IAAIf,SAAS,CAACS,KAAK,EAAEM,OAAO,CAAC,CAAC,GACjE;IACV,CAAC,CACL,CAAC,IAAI,EAAE;EACf;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACL,OAAO;MACHZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACI,GAAG,CAACC,KAAK,IAAIP,aAAa,CAACe,WAAW,CAACR,KAAK,CAAC;IACrE,CAAC;EACL;EAEOS,QAAQ,GAAIT,KAAa,IAAK;IACjC,IAAI,CAACA,KAAK,IAAI,IAAI,CAACL,MAAM,CAACe,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACT,KAAK,KAAKF,KAAK,CAAC,EAAE;MACxD;IACJ;IACA,MAAMY,OAAO,GAAGpB,OAAO,CAACS,MAAM,CAAC;MAAEC,KAAK,EAAEF;IAAM,CAAC,CAAC;IAChD,IAAI,CAACL,MAAM,CAACkB,IAAI,CAACD,OAAO,CAAC;EAC7B,CAAC;EAEME,WAAW,GAAId,KAAa,IAAK;IACpC,IAAI,CAACL,MAAM,GAAG,IAAI,CAACA,MAAM,CAACoB,MAAM,CAC5BH,OAAO,IAAIA,OAAO,CAACV,KAAK,KAAKF,KAAK,IAAI,IAAI,CAACgB,gBAAgB,CAACJ,OAAO,CAACV,KAAK,CAC7E,CAAC;EACL,CAAC;EAEMe,QAAQ,GAAIjB,KAAa,IAAK;IACjC,OAAO,CAAC,CAAC,IAAI,CAACL,MAAM,CAACe,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACT,KAAK,KAAKF,KAAK,CAAC;EACzD,CAAC;EAEMgB,gBAAgB,GAAIhB,KAAa,IAAK;IACzC,OAAO,CAAC,CAAC,IAAI,CAACL,MAAM,CAACe,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACT,KAAK,KAAKF,KAAK,IAAIW,GAAG,CAACR,SAAS,CAAC;EAC1E,CAAC;AACL;AAEA,SAAST,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./TagsPresenter\";\nexport * from \"./TagsInputPresenter\";\nexport * from \"./TagsValuesPresenter\";\n"],"mappings":"AAAA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TagsPrimitiveProps } from "./TagsPrimitive";
|
|
2
|
+
export declare const useTags: (props: TagsPrimitiveProps) => {
|
|
3
|
+
vm: {
|
|
4
|
+
inputVm: {
|
|
5
|
+
placeholder: string;
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
valuesVm: {
|
|
9
|
+
values: import("../domain").TagItemFormatted[];
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
inputValue: (value: string) => void;
|
|
13
|
+
addValue: () => void;
|
|
14
|
+
removeValue: (value: string) => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { autorun } from "mobx";
|
|
3
|
+
import { TagsInputPresenter, TagsPresenter, TagsValuesPresenter } from "./presenters";
|
|
4
|
+
export const useTags = props => {
|
|
5
|
+
const params = useMemo(() => ({
|
|
6
|
+
values: props.value,
|
|
7
|
+
protectedValues: props.protectedValues,
|
|
8
|
+
placeholder: props.placeholder,
|
|
9
|
+
onValueChange: props.onChange,
|
|
10
|
+
onValueInput: props.onValueInput,
|
|
11
|
+
onValueAdd: props.onValueAdd,
|
|
12
|
+
onValueRemove: props.onValueRemove
|
|
13
|
+
}), [props.value, props.protectedValues, props.placeholder, props.onChange, props.onValueInput, props.onValueAdd, props.onValueRemove]);
|
|
14
|
+
const presenter = useMemo(() => {
|
|
15
|
+
const inputPresenter = new TagsInputPresenter();
|
|
16
|
+
const valuesPresenter = new TagsValuesPresenter();
|
|
17
|
+
return new TagsPresenter(inputPresenter, valuesPresenter);
|
|
18
|
+
}, []);
|
|
19
|
+
const [vm, setVm] = useState(presenter.vm);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
presenter.init(params);
|
|
22
|
+
}, [params, presenter]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
return autorun(() => {
|
|
25
|
+
setVm(presenter.vm);
|
|
26
|
+
});
|
|
27
|
+
}, [presenter]);
|
|
28
|
+
return {
|
|
29
|
+
vm,
|
|
30
|
+
inputValue: presenter.inputValue,
|
|
31
|
+
addValue: presenter.addValue,
|
|
32
|
+
removeValue: presenter.removeValue
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=useTags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useState","autorun","TagsInputPresenter","TagsPresenter","TagsValuesPresenter","useTags","props","params","values","value","protectedValues","placeholder","onValueChange","onChange","onValueInput","onValueAdd","onValueRemove","presenter","inputPresenter","valuesPresenter","vm","setVm","init","inputValue","addValue","removeValue"],"sources":["useTags.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport {\n TagsInputPresenter,\n TagsPresenter,\n type TagsPresenterParams,\n TagsValuesPresenter\n} from \"./presenters\";\nimport type { TagsPrimitiveProps } from \"./TagsPrimitive\";\n\nexport const useTags = (props: TagsPrimitiveProps) => {\n const params: TagsPresenterParams = useMemo(\n () => ({\n values: props.value,\n protectedValues: props.protectedValues,\n placeholder: props.placeholder,\n onValueChange: props.onChange,\n onValueInput: props.onValueInput,\n onValueAdd: props.onValueAdd,\n onValueRemove: props.onValueRemove\n }),\n [\n props.value,\n props.protectedValues,\n props.placeholder,\n props.onChange,\n props.onValueInput,\n props.onValueAdd,\n props.onValueRemove\n ]\n );\n\n const presenter = useMemo(() => {\n const inputPresenter = new TagsInputPresenter();\n const valuesPresenter = new TagsValuesPresenter();\n\n return new TagsPresenter(inputPresenter, valuesPresenter);\n }, []);\n\n const [vm, setVm] = useState(presenter.vm);\n\n useEffect(() => {\n presenter.init(params);\n }, [params, presenter]);\n\n useEffect(() => {\n return autorun(() => {\n setVm(presenter.vm);\n });\n }, [presenter]);\n\n return {\n vm,\n inputValue: presenter.inputValue,\n addValue: presenter.addValue,\n removeValue: presenter.removeValue\n };\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACpD,SAASC,OAAO,QAAQ,MAAM;AAC9B,SACIC,kBAAkB,EAClBC,aAAa,EAEbC,mBAAmB;AAIvB,OAAO,MAAMC,OAAO,GAAIC,KAAyB,IAAK;EAClD,MAAMC,MAA2B,GAAGR,OAAO,CACvC,OAAO;IACHS,MAAM,EAAEF,KAAK,CAACG,KAAK;IACnBC,eAAe,EAAEJ,KAAK,CAACI,eAAe;IACtCC,WAAW,EAAEL,KAAK,CAACK,WAAW;IAC9BC,aAAa,EAAEN,KAAK,CAACO,QAAQ;IAC7BC,YAAY,EAAER,KAAK,CAACQ,YAAY;IAChCC,UAAU,EAAET,KAAK,CAACS,UAAU;IAC5BC,aAAa,EAAEV,KAAK,CAACU;EACzB,CAAC,CAAC,EACF,CACIV,KAAK,CAACG,KAAK,EACXH,KAAK,CAACI,eAAe,EACrBJ,KAAK,CAACK,WAAW,EACjBL,KAAK,CAACO,QAAQ,EACdP,KAAK,CAACQ,YAAY,EAClBR,KAAK,CAACS,UAAU,EAChBT,KAAK,CAACU,aAAa,CAE3B,CAAC;EAED,MAAMC,SAAS,GAAGlB,OAAO,CAAC,MAAM;IAC5B,MAAMmB,cAAc,GAAG,IAAIhB,kBAAkB,CAAC,CAAC;IAC/C,MAAMiB,eAAe,GAAG,IAAIf,mBAAmB,CAAC,CAAC;IAEjD,OAAO,IAAID,aAAa,CAACe,cAAc,EAAEC,eAAe,CAAC;EAC7D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM,CAACC,EAAE,EAAEC,KAAK,CAAC,GAAGrB,QAAQ,CAACiB,SAAS,CAACG,EAAE,CAAC;EAE1CtB,SAAS,CAAC,MAAM;IACZmB,SAAS,CAACK,IAAI,CAACf,MAAM,CAAC;EAC1B,CAAC,EAAE,CAACA,MAAM,EAAEU,SAAS,CAAC,CAAC;EAEvBnB,SAAS,CAAC,MAAM;IACZ,OAAOG,OAAO,CAAC,MAAM;MACjBoB,KAAK,CAACJ,SAAS,CAACG,EAAE,CAAC;IACvB,CAAC,CAAC;EACN,CAAC,EAAE,CAACH,SAAS,CAAC,CAAC;EAEf,OAAO;IACHG,EAAE;IACFG,UAAU,EAAEN,SAAS,CAACM,UAAU;IAChCC,QAAQ,EAAEP,SAAS,CAACO,QAAQ;IAC5BC,WAAW,EAAER,SAAS,CAACQ;EAC3B,CAAC;AACL,CAAC","ignoreList":[]}
|
package/Textarea/Textarea.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { TextareaPrimitiveProps } from "./TextareaPrimitive";
|
|
3
|
-
import { FormComponentProps } from "../FormComponent";
|
|
4
|
-
type TextareaGroupProps = TextareaPrimitiveProps & FormComponentProps;
|
|
2
|
+
import type { TextareaPrimitiveProps } from "./TextareaPrimitive";
|
|
3
|
+
import type { FormComponentProps } from "../FormComponent";
|
|
4
|
+
type TextareaGroupProps = Omit<TextareaPrimitiveProps, "onChange"> & FormComponentProps;
|
|
5
5
|
declare const Textarea: (({ label, description, note, required, disabled, validation, validate, onBlur: originalOnBlur, ...props }: TextareaGroupProps) => React.JSX.Element) & {
|
|
6
6
|
original: ({ label, description, note, required, disabled, validation, validate, onBlur: originalOnBlur, ...props }: TextareaGroupProps) => React.JSX.Element;
|
|
7
7
|
originalName: string;
|
package/Textarea/Textarea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","generateId","makeDecoratable","TextareaPrimitive","FormComponentDescription","FormComponentErrorMessage","FormComponentLabel","FormComponentNote","DecoratableTextarea","label","description","note","required","disabled","validation","validate","onBlur","originalOnBlur","props","isValid","validationIsValid","message","validationMessage","id","invalid","e","persist","createElement","className","htmlFor","text","Object","assign","Textarea"],"sources":["Textarea.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { generateId, makeDecoratable } from \"~/utils\";\nimport { TextareaPrimitive
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","generateId","makeDecoratable","TextareaPrimitive","FormComponentDescription","FormComponentErrorMessage","FormComponentLabel","FormComponentNote","DecoratableTextarea","label","description","note","required","disabled","validation","validate","onBlur","originalOnBlur","props","isValid","validationIsValid","message","validationMessage","id","invalid","e","persist","createElement","className","htmlFor","text","Object","assign","Textarea"],"sources":["Textarea.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { generateId, makeDecoratable } from \"~/utils\";\nimport type { TextareaPrimitiveProps } from \"./TextareaPrimitive\";\nimport { TextareaPrimitive } from \"./TextareaPrimitive\";\nimport type { FormComponentProps } from \"~/FormComponent\";\nimport {\n FormComponentDescription,\n FormComponentErrorMessage,\n FormComponentLabel,\n FormComponentNote\n} from \"~/FormComponent\";\n\ntype TextareaGroupProps = Omit<TextareaPrimitiveProps, \"onChange\"> & FormComponentProps;\n\nconst DecoratableTextarea = ({\n label,\n description,\n note,\n required,\n disabled,\n validation,\n validate,\n onBlur: originalOnBlur,\n ...props\n}: TextareaGroupProps) => {\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n const id = useMemo(() => generateId(props.id), [props.id]);\n const invalid = useMemo(() => validationIsValid === false, [validationIsValid]);\n\n const onBlur = useCallback(\n async (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (validate) {\n // Since we are accessing event in an async operation, we need to persist it.\n // See https://reactjs.org/docs/events.html#event-pooling.\n e.persist();\n await validate();\n }\n originalOnBlur && originalOnBlur(e);\n },\n [validate, originalOnBlur]\n );\n\n return (\n <div className={\"wby-w-full\"}>\n <FormComponentLabel\n htmlFor={id}\n text={label}\n required={required}\n disabled={disabled}\n invalid={invalid}\n />\n <FormComponentDescription text={description} disabled={disabled} />\n <TextareaPrimitive\n {...props}\n id={id}\n disabled={disabled}\n invalid={invalid}\n onBlur={onBlur}\n />\n <FormComponentErrorMessage\n text={validationMessage}\n invalid={invalid}\n disabled={disabled}\n />\n <FormComponentNote text={note} disabled={disabled} />\n </div>\n );\n};\nconst Textarea = makeDecoratable(\"Textarea\", DecoratableTextarea);\n\nexport { Textarea };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,UAAU,EAAEC,eAAe;AAEpC,SAASC,iBAAiB;AAE1B,SACIC,wBAAwB,EACxBC,yBAAyB,EACzBC,kBAAkB,EAClBC,iBAAiB;AAKrB,MAAMC,mBAAmB,GAAGA,CAAC;EACzBC,KAAK;EACLC,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,QAAQ;EACRC,MAAM,EAAEC,cAAc;EACtB,GAAGC;AACa,CAAC,KAAK;EACtB,MAAM;IAAEC,OAAO,EAAEC,iBAAiB;IAAEC,OAAO,EAAEC;EAAkB,CAAC,GAAGR,UAAU,IAAI,CAAC,CAAC;EACnF,MAAMS,EAAE,GAAGvB,OAAO,CAAC,MAAMC,UAAU,CAACiB,KAAK,CAACK,EAAE,CAAC,EAAE,CAACL,KAAK,CAACK,EAAE,CAAC,CAAC;EAC1D,MAAMC,OAAO,GAAGxB,OAAO,CAAC,MAAMoB,iBAAiB,KAAK,KAAK,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAE/E,MAAMJ,MAAM,GAAGjB,WAAW,CACtB,MAAO0B,CAAwC,IAAK;IAChD,IAAIV,QAAQ,EAAE;MACV;MACA;MACAU,CAAC,CAACC,OAAO,CAAC,CAAC;MACX,MAAMX,QAAQ,CAAC,CAAC;IACpB;IACAE,cAAc,IAAIA,cAAc,CAACQ,CAAC,CAAC;EACvC,CAAC,EACD,CAACV,QAAQ,EAAEE,cAAc,CAC7B,CAAC;EAED,oBACInB,KAAA,CAAA6B,aAAA;IAAKC,SAAS,EAAE;EAAa,gBACzB9B,KAAA,CAAA6B,aAAA,CAACrB,kBAAkB;IACfuB,OAAO,EAAEN,EAAG;IACZO,IAAI,EAAErB,KAAM;IACZG,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA;EAAQ,CACpB,CAAC,eACF1B,KAAA,CAAA6B,aAAA,CAACvB,wBAAwB;IAAC0B,IAAI,EAAEpB,WAAY;IAACG,QAAQ,EAAEA;EAAS,CAAE,CAAC,eACnEf,KAAA,CAAA6B,aAAA,CAACxB,iBAAiB,EAAA4B,MAAA,CAAAC,MAAA,KACVd,KAAK;IACTK,EAAE,EAAEA,EAAG;IACPV,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA,OAAQ;IACjBR,MAAM,EAAEA;EAAO,EAClB,CAAC,eACFlB,KAAA,CAAA6B,aAAA,CAACtB,yBAAyB;IACtByB,IAAI,EAAER,iBAAkB;IACxBE,OAAO,EAAEA,OAAQ;IACjBX,QAAQ,EAAEA;EAAS,CACtB,CAAC,eACFf,KAAA,CAAA6B,aAAA,CAACpB,iBAAiB;IAACuB,IAAI,EAAEnB,IAAK;IAACE,QAAQ,EAAEA;EAAS,CAAE,CACnD,CAAC;AAEd,CAAC;AACD,MAAMoB,QAAQ,GAAG/B,eAAe,CAAC,UAAU,EAAEM,mBAAmB,CAAC;AAEjE,SAASyB,QAAQ","ignoreList":[]}
|
package/Toast/Toast.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type ToasterProps } from "sonner";
|
|
3
|
-
import { Icon as BaseIcon } from "../Icon";
|
|
3
|
+
import type { Icon as BaseIcon } from "../Icon";
|
|
4
4
|
import { ToastActions, ToastDescription, ToastTitle, type ToastRootProps } from "./components";
|
|
5
5
|
interface ToastProps extends Omit<ToastRootProps, "title" | "content" | "children"> {
|
|
6
6
|
title: React.ReactElement<typeof ToastTitle>;
|