@weavix/tracker-components 0.0.1
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/README.md +54 -0
- package/build/cjs/assets/icons/issue-type/bug.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/bug.js +23 -0
- package/build/cjs/assets/icons/issue-type/bug.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/design.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/design.js +23 -0
- package/build/cjs/assets/icons/issue-type/design.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/epic.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/epic.js +23 -0
- package/build/cjs/assets/icons/issue-type/epic.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/improvement.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/improvement.js +23 -0
- package/build/cjs/assets/icons/issue-type/improvement.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/incident.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/incident.js +23 -0
- package/build/cjs/assets/icons/issue-type/incident.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/info.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/info.js +23 -0
- package/build/cjs/assets/icons/issue-type/info.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/milestone.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/milestone.js +27 -0
- package/build/cjs/assets/icons/issue-type/milestone.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/new-feature.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/new-feature.js +23 -0
- package/build/cjs/assets/icons/issue-type/new-feature.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/query.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/query.js +23 -0
- package/build/cjs/assets/icons/issue-type/query.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/refactoring.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/refactoring.js +23 -0
- package/build/cjs/assets/icons/issue-type/refactoring.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/release.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/release.js +23 -0
- package/build/cjs/assets/icons/issue-type/release.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/research.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/research.js +23 -0
- package/build/cjs/assets/icons/issue-type/research.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/service-request.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/service-request.js +23 -0
- package/build/cjs/assets/icons/issue-type/service-request.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/story.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/story.js +23 -0
- package/build/cjs/assets/icons/issue-type/story.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/subbug.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/subbug.js +23 -0
- package/build/cjs/assets/icons/issue-type/subbug.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/subtask.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/subtask.js +23 -0
- package/build/cjs/assets/icons/issue-type/subtask.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/task.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/task.js +23 -0
- package/build/cjs/assets/icons/issue-type/task.js.map +1 -0
- package/build/cjs/assets/icons/issue-type/technical-debt.d.ts +4 -0
- package/build/cjs/assets/icons/issue-type/technical-debt.js +23 -0
- package/build/cjs/assets/icons/issue-type/technical-debt.js.map +1 -0
- package/build/cjs/assets/icons/portfolio.d.ts +4 -0
- package/build/cjs/assets/icons/portfolio.js +27 -0
- package/build/cjs/assets/icons/portfolio.js.map +1 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.classname.d.ts +1 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.classname.js +9 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.classname.js.map +1 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.css +41 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.css.map +1 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.d.ts +29 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.js +281 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.js.map +1 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/FieldsActions.d.ts +7 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/FieldsActions.js +38 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/FieldsActions.js.map +1 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/constants.d.ts +2 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/constants.js +8 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/constants.js.map +1 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/i18n.d.ts +244 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/i18n.js +251 -0
- package/build/cjs/components/FieldsSelect/components/FieldsActions/i18n.js.map +1 -0
- package/build/cjs/components/FieldsSelect/hooks/useSearch.d.ts +8 -0
- package/build/cjs/components/FieldsSelect/hooks/useSearch.js +34 -0
- package/build/cjs/components/FieldsSelect/hooks/useSearch.js.map +1 -0
- package/build/cjs/components/FieldsSelect/i18n.d.ts +14 -0
- package/build/cjs/components/FieldsSelect/i18n.js +21 -0
- package/build/cjs/components/FieldsSelect/i18n.js.map +1 -0
- package/build/cjs/components/FieldsSelect/index.d.ts +2 -0
- package/build/cjs/components/FieldsSelect/index.js +13 -0
- package/build/cjs/components/FieldsSelect/index.js.map +1 -0
- package/build/cjs/components/FieldsSelect/utils/filterGroups.d.ts +6 -0
- package/build/cjs/components/FieldsSelect/utils/filterGroups.js +48 -0
- package/build/cjs/components/FieldsSelect/utils/filterGroups.js.map +1 -0
- package/build/cjs/components/FieldsSelect/utils/getGroupId.d.ts +5 -0
- package/build/cjs/components/FieldsSelect/utils/getGroupId.js +15 -0
- package/build/cjs/components/FieldsSelect/utils/getGroupId.js.map +1 -0
- package/build/cjs/components/FieldsSelect/utils/getGroupName.d.ts +5 -0
- package/build/cjs/components/FieldsSelect/utils/getGroupName.js +16 -0
- package/build/cjs/components/FieldsSelect/utils/getGroupName.js.map +1 -0
- package/build/cjs/components/FieldsSelect/utils/splitGroupsByTags.d.ts +7 -0
- package/build/cjs/components/FieldsSelect/utils/splitGroupsByTags.js +116 -0
- package/build/cjs/components/FieldsSelect/utils/splitGroupsByTags.js.map +1 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.d.ts +1 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.js +9 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.css +7 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.css.map +1 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.d.ts +16 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.js +59 -0
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.js.map +1 -0
- package/build/cjs/components/Icon/EntityIcon/index.d.ts +2 -0
- package/build/cjs/components/Icon/EntityIcon/index.js +13 -0
- package/build/cjs/components/Icon/EntityIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/Icon.classname.d.ts +1 -0
- package/build/cjs/components/Icon/Icon.classname.js +9 -0
- package/build/cjs/components/Icon/Icon.classname.js.map +1 -0
- package/build/cjs/components/Icon/Icon.css +33 -0
- package/build/cjs/components/Icon/Icon.css.map +1 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.d.ts +1 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js +9 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.css +19 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.css.map +1 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.d.ts +9 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.js +55 -0
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.js.map +1 -0
- package/build/cjs/components/Icon/IconRefuge/index.d.ts +2 -0
- package/build/cjs/components/Icon/IconRefuge/index.js +13 -0
- package/build/cjs/components/Icon/IconRefuge/index.js.map +1 -0
- package/build/cjs/components/Icon/IconRefuge/types.d.ts +11 -0
- package/build/cjs/components/Icon/IconRefuge/types.js +6 -0
- package/build/cjs/components/Icon/IconRefuge/types.js.map +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.d.ts +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +9 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.css +4 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.css.map +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.d.ts +10 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.js +102 -0
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.js.map +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/README.md +40 -0
- package/build/cjs/components/Icon/IssueTypeIcon/i18n.d.ts +6 -0
- package/build/cjs/components/Icon/IssueTypeIcon/i18n.js +13 -0
- package/build/cjs/components/Icon/IssueTypeIcon/i18n.js.map +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/index.d.ts +3 -0
- package/build/cjs/components/Icon/IssueTypeIcon/index.js +13 -0
- package/build/cjs/components/Icon/IssueTypeIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/types.d.ts +1 -0
- package/build/cjs/components/Icon/IssueTypeIcon/types.js +6 -0
- package/build/cjs/components/Icon/IssueTypeIcon/types.js.map +1 -0
- package/build/cjs/components/Icon/PortfolioIcon/PortfolioIcon.d.ts +6 -0
- package/build/cjs/components/Icon/PortfolioIcon/PortfolioIcon.js +26 -0
- package/build/cjs/components/Icon/PortfolioIcon/PortfolioIcon.js.map +1 -0
- package/build/cjs/components/Icon/PortfolioIcon/README.md +51 -0
- package/build/cjs/components/Icon/ProjectIcon/ProjectIcon.d.ts +6 -0
- package/build/cjs/components/Icon/ProjectIcon/ProjectIcon.js +24 -0
- package/build/cjs/components/Icon/ProjectIcon/ProjectIcon.js.map +1 -0
- package/build/cjs/components/Icon/ProjectIcon/README.md +51 -0
- package/build/cjs/components/Icon/index.d.ts +3 -0
- package/build/cjs/components/Icon/index.js +39 -0
- package/build/cjs/components/Icon/index.js.map +1 -0
- package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +13 -0
- package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.js +50 -0
- package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -0
- package/build/cjs/components/PluginFieldsSelect/README.md +486 -0
- package/build/cjs/components/PluginFieldsSelect/index.d.ts +2 -0
- package/build/cjs/components/PluginFieldsSelect/index.js +13 -0
- package/build/cjs/components/PluginFieldsSelect/index.js.map +1 -0
- package/build/cjs/components/QueueIcon/QueueIcon.classname.d.ts +1 -0
- package/build/cjs/components/QueueIcon/QueueIcon.classname.js +9 -0
- package/build/cjs/components/QueueIcon/QueueIcon.classname.js.map +1 -0
- package/build/cjs/components/QueueIcon/QueueIcon.css +8 -0
- package/build/cjs/components/QueueIcon/QueueIcon.css.map +1 -0
- package/build/cjs/components/QueueIcon/QueueIcon.d.ts +9 -0
- package/build/cjs/components/QueueIcon/QueueIcon.js +44 -0
- package/build/cjs/components/QueueIcon/QueueIcon.js.map +1 -0
- package/build/cjs/components/QueueIcon/index.d.ts +2 -0
- package/build/cjs/components/QueueIcon/index.js +13 -0
- package/build/cjs/components/QueueIcon/index.js.map +1 -0
- package/build/cjs/components/QueueSelect/QueueSelect.classname.d.ts +1 -0
- package/build/cjs/components/QueueSelect/QueueSelect.classname.js +9 -0
- package/build/cjs/components/QueueSelect/QueueSelect.classname.js.map +1 -0
- package/build/cjs/components/QueueSelect/QueueSelect.css +113 -0
- package/build/cjs/components/QueueSelect/QueueSelect.css.map +1 -0
- package/build/cjs/components/QueueSelect/QueueSelect.d.ts +32 -0
- package/build/cjs/components/QueueSelect/QueueSelect.js +254 -0
- package/build/cjs/components/QueueSelect/QueueSelect.js.map +1 -0
- package/build/cjs/components/QueueSelect/README.md +249 -0
- package/build/cjs/components/QueueSelect/constants.d.ts +2 -0
- package/build/cjs/components/QueueSelect/constants.js +14 -0
- package/build/cjs/components/QueueSelect/constants.js.map +1 -0
- package/build/cjs/components/QueueSelect/i18n.d.ts +34 -0
- package/build/cjs/components/QueueSelect/i18n.js +41 -0
- package/build/cjs/components/QueueSelect/i18n.js.map +1 -0
- package/build/cjs/components/QueueSelect/index.d.ts +3 -0
- package/build/cjs/components/QueueSelect/index.js +13 -0
- package/build/cjs/components/QueueSelect/index.js.map +1 -0
- package/build/cjs/components/QueueSelect/types.d.ts +12 -0
- package/build/cjs/components/QueueSelect/types.js +6 -0
- package/build/cjs/components/QueueSelect/types.js.map +1 -0
- package/build/cjs/components/QueueSelect/utils/filterQueues.d.ts +2 -0
- package/build/cjs/components/QueueSelect/utils/filterQueues.js +22 -0
- package/build/cjs/components/QueueSelect/utils/filterQueues.js.map +1 -0
- package/build/cjs/components/QueueSelect/utils/mapQueueToSelectItem.d.ts +8 -0
- package/build/cjs/components/QueueSelect/utils/mapQueueToSelectItem.js +42 -0
- package/build/cjs/components/QueueSelect/utils/mapQueueToSelectItem.js.map +1 -0
- package/build/cjs/components/QueueSelect/utils/normalizeQueue.d.ts +2 -0
- package/build/cjs/components/QueueSelect/utils/normalizeQueue.js +15 -0
- package/build/cjs/components/QueueSelect/utils/normalizeQueue.js.map +1 -0
- package/build/cjs/components/QueueSelect/utils/renderDisplayValue.d.ts +5 -0
- package/build/cjs/components/QueueSelect/utils/renderDisplayValue.js +42 -0
- package/build/cjs/components/QueueSelect/utils/renderDisplayValue.js.map +1 -0
- package/build/cjs/components/Select/Autocomplete.d.ts +11 -0
- package/build/cjs/components/Select/Autocomplete.js +36 -0
- package/build/cjs/components/Select/Autocomplete.js.map +1 -0
- package/build/cjs/components/Select/MultiAutocomplete.d.ts +13 -0
- package/build/cjs/components/Select/MultiAutocomplete.js +69 -0
- package/build/cjs/components/Select/MultiAutocomplete.js.map +1 -0
- package/build/cjs/components/Select/MultiSelect.d.ts +22 -0
- package/build/cjs/components/Select/MultiSelect.js +279 -0
- package/build/cjs/components/Select/MultiSelect.js.map +1 -0
- package/build/cjs/components/Select/Select.classname.d.ts +1 -0
- package/build/cjs/components/Select/Select.classname.js +9 -0
- package/build/cjs/components/Select/Select.classname.js.map +1 -0
- package/build/cjs/components/Select/Select.css +121 -0
- package/build/cjs/components/Select/Select.css.map +1 -0
- package/build/cjs/components/Select/Select.d.ts +10 -0
- package/build/cjs/components/Select/Select.js +33 -0
- package/build/cjs/components/Select/Select.js.map +1 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.d.ts +1 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js +9 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.css +50 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.css.map +1 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.d.ts +20 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.js +63 -0
- package/build/cjs/components/Select/SelectSearch/SelectSearch.js.map +1 -0
- package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +11 -0
- package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.js +50 -0
- package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -0
- package/build/cjs/components/Select/SelectSearch/types.d.ts +5 -0
- package/build/cjs/components/Select/SelectSearch/types.js +6 -0
- package/build/cjs/components/Select/SelectSearch/types.js.map +1 -0
- package/build/cjs/components/Select/TagsList/TagsList.d.ts +17 -0
- package/build/cjs/components/Select/TagsList/TagsList.js +65 -0
- package/build/cjs/components/Select/TagsList/TagsList.js.map +1 -0
- package/build/cjs/components/Select/TagsList/types.d.ts +4 -0
- package/build/cjs/components/Select/TagsList/types.js +6 -0
- package/build/cjs/components/Select/TagsList/types.js.map +1 -0
- package/build/cjs/components/Select/TagsList/utils/getRemainingTagsOption.d.ts +8 -0
- package/build/cjs/components/Select/TagsList/utils/getRemainingTagsOption.js +32 -0
- package/build/cjs/components/Select/TagsList/utils/getRemainingTagsOption.js.map +1 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.d.ts +1 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js +9 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.css +11 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.css.map +1 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.d.ts +6 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.js +133 -0
- package/build/cjs/components/Select/TagsSelect/TagsSelect.js.map +1 -0
- package/build/cjs/components/Select/TagsSelect/i18n.d.ts +6 -0
- package/build/cjs/components/Select/TagsSelect/i18n.js +13 -0
- package/build/cjs/components/Select/TagsSelect/i18n.js.map +1 -0
- package/build/cjs/components/Select/hooks/useAutocomplete.d.ts +9 -0
- package/build/cjs/components/Select/hooks/useAutocomplete.js +90 -0
- package/build/cjs/components/Select/hooks/useAutocomplete.js.map +1 -0
- package/build/cjs/components/Select/i18n.d.ts +22 -0
- package/build/cjs/components/Select/i18n.js +29 -0
- package/build/cjs/components/Select/i18n.js.map +1 -0
- package/build/cjs/components/Select/index.d.ts +8 -0
- package/build/cjs/components/Select/index.js +34 -0
- package/build/cjs/components/Select/index.js.map +1 -0
- package/build/cjs/components/Select/utils/filterAutocompleteOption.d.ts +1 -0
- package/build/cjs/components/Select/utils/filterAutocompleteOption.js +10 -0
- package/build/cjs/components/Select/utils/filterAutocompleteOption.js.map +1 -0
- package/build/cjs/components/Select/utils/filterOption.d.ts +2 -0
- package/build/cjs/components/Select/utils/filterOption.js +13 -0
- package/build/cjs/components/Select/utils/filterOption.js.map +1 -0
- package/build/cjs/components/Select/utils/getValueOption.d.ts +2 -0
- package/build/cjs/components/Select/utils/getValueOption.js +32 -0
- package/build/cjs/components/Select/utils/getValueOption.js.map +1 -0
- package/build/cjs/components/Select/utils/isGroupOption.d.ts +2 -0
- package/build/cjs/components/Select/utils/isGroupOption.js +10 -0
- package/build/cjs/components/Select/utils/isGroupOption.js.map +1 -0
- package/build/cjs/components/Select/utils/renderOption.d.ts +3 -0
- package/build/cjs/components/Select/utils/renderOption.js +22 -0
- package/build/cjs/components/Select/utils/renderOption.js.map +1 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.d.ts +1 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js +9 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.css +31 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.css.map +1 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.d.ts +11 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.js +64 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.js.map +1 -0
- package/build/cjs/components/TrackerDisclosure/index.d.ts +2 -0
- package/build/cjs/components/TrackerDisclosure/index.js +13 -0
- package/build/cjs/components/TrackerDisclosure/index.js.map +1 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.classname.d.ts +1 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js +9 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js.map +1 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.css +277 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.css.map +1 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.d.ts +25 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.js +170 -0
- package/build/cjs/components/TrackerSelect/TrackerSelect.js.map +1 -0
- package/build/cjs/components/TrackerSelect/components/ItemsList.d.ts +23 -0
- package/build/cjs/components/TrackerSelect/components/ItemsList.js +239 -0
- package/build/cjs/components/TrackerSelect/components/ItemsList.js.map +1 -0
- package/build/cjs/components/TrackerSelect/components/Search.d.ts +14 -0
- package/build/cjs/components/TrackerSelect/components/Search.js +44 -0
- package/build/cjs/components/TrackerSelect/components/Search.js.map +1 -0
- package/build/cjs/components/TrackerSelect/components/SelectGroup.d.ts +20 -0
- package/build/cjs/components/TrackerSelect/components/SelectGroup.js +108 -0
- package/build/cjs/components/TrackerSelect/components/SelectGroup.js.map +1 -0
- package/build/cjs/components/TrackerSelect/components/SelectItem.d.ts +27 -0
- package/build/cjs/components/TrackerSelect/components/SelectItem.js +150 -0
- package/build/cjs/components/TrackerSelect/components/SelectItem.js.map +1 -0
- package/build/cjs/components/TrackerSelect/components/SelectItems.d.ts +18 -0
- package/build/cjs/components/TrackerSelect/components/SelectItems.js +92 -0
- package/build/cjs/components/TrackerSelect/components/SelectItems.js.map +1 -0
- package/build/cjs/components/TrackerSelect/constants.d.ts +2 -0
- package/build/cjs/components/TrackerSelect/constants.js +9 -0
- package/build/cjs/components/TrackerSelect/constants.js.map +1 -0
- package/build/cjs/components/TrackerSelect/hooks/useExpandedGroups.d.ts +6 -0
- package/build/cjs/components/TrackerSelect/hooks/useExpandedGroups.js +58 -0
- package/build/cjs/components/TrackerSelect/hooks/useExpandedGroups.js.map +1 -0
- package/build/cjs/components/TrackerSelect/hooks/useHint.d.ts +4 -0
- package/build/cjs/components/TrackerSelect/hooks/useHint.js +25 -0
- package/build/cjs/components/TrackerSelect/hooks/useHint.js.map +1 -0
- package/build/cjs/components/TrackerSelect/hooks/useListActiveElementScroll.d.ts +7 -0
- package/build/cjs/components/TrackerSelect/hooks/useListActiveElementScroll.js +39 -0
- package/build/cjs/components/TrackerSelect/hooks/useListActiveElementScroll.js.map +1 -0
- package/build/cjs/components/TrackerSelect/hooks/usePopupHeight.d.ts +3 -0
- package/build/cjs/components/TrackerSelect/hooks/usePopupHeight.js +61 -0
- package/build/cjs/components/TrackerSelect/hooks/usePopupHeight.js.map +1 -0
- package/build/cjs/components/TrackerSelect/hooks/useSelectedItemsIds.d.ts +2 -0
- package/build/cjs/components/TrackerSelect/hooks/useSelectedItemsIds.js +19 -0
- package/build/cjs/components/TrackerSelect/hooks/useSelectedItemsIds.js.map +1 -0
- package/build/cjs/components/TrackerSelect/hooks/useSubmitHotkey.d.ts +1 -0
- package/build/cjs/components/TrackerSelect/hooks/useSubmitHotkey.js +28 -0
- package/build/cjs/components/TrackerSelect/hooks/useSubmitHotkey.js.map +1 -0
- package/build/cjs/components/TrackerSelect/i18n.d.ts +70 -0
- package/build/cjs/components/TrackerSelect/i18n.js +77 -0
- package/build/cjs/components/TrackerSelect/i18n.js.map +1 -0
- package/build/cjs/components/TrackerSelect/index.d.ts +4 -0
- package/build/cjs/components/TrackerSelect/index.js +20 -0
- package/build/cjs/components/TrackerSelect/index.js.map +1 -0
- package/build/cjs/components/TrackerSelect/types.d.ts +36 -0
- package/build/cjs/components/TrackerSelect/types.js +6 -0
- package/build/cjs/components/TrackerSelect/types.js.map +1 -0
- package/build/cjs/components/TrackerSelect/utils/getElementId.d.ts +1 -0
- package/build/cjs/components/TrackerSelect/utils/getElementId.js +20 -0
- package/build/cjs/components/TrackerSelect/utils/getElementId.js.map +1 -0
- package/build/cjs/components/TrackerSelect/utils/keyboard.d.ts +17 -0
- package/build/cjs/components/TrackerSelect/utils/keyboard.js +48 -0
- package/build/cjs/components/TrackerSelect/utils/keyboard.js.map +1 -0
- package/build/cjs/components/TrackerSelect/utils/moveItemInArray.d.ts +1 -0
- package/build/cjs/components/TrackerSelect/utils/moveItemInArray.js +21 -0
- package/build/cjs/components/TrackerSelect/utils/moveItemInArray.js.map +1 -0
- package/build/cjs/components/cn.d.ts +4 -0
- package/build/cjs/components/cn.js +18 -0
- package/build/cjs/components/cn.js.map +1 -0
- package/build/cjs/hooks/useAutoFocus.d.ts +7 -0
- package/build/cjs/hooks/useAutoFocus.js +26 -0
- package/build/cjs/hooks/useAutoFocus.js.map +1 -0
- package/build/cjs/hooks/useLocalizedString.d.ts +4 -0
- package/build/cjs/hooks/useLocalizedString.js +38 -0
- package/build/cjs/hooks/useLocalizedString.js.map +1 -0
- package/build/cjs/index.d.ts +6 -0
- package/build/cjs/index.js +78 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/typings/assets.svg.d.ts +7 -0
- package/build/cjs/utils/focusWithoutScroll.d.ts +1 -0
- package/build/cjs/utils/focusWithoutScroll.js +15 -0
- package/build/cjs/utils/focusWithoutScroll.js.map +1 -0
- package/build/esm/assets/icons/issue-type/bug.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/bug.js +15 -0
- package/build/esm/assets/icons/issue-type/design.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/design.js +15 -0
- package/build/esm/assets/icons/issue-type/epic.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/epic.js +15 -0
- package/build/esm/assets/icons/issue-type/improvement.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/improvement.js +15 -0
- package/build/esm/assets/icons/issue-type/incident.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/incident.js +15 -0
- package/build/esm/assets/icons/issue-type/info.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/info.js +15 -0
- package/build/esm/assets/icons/issue-type/milestone.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/milestone.js +19 -0
- package/build/esm/assets/icons/issue-type/new-feature.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/new-feature.js +15 -0
- package/build/esm/assets/icons/issue-type/query.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/query.js +15 -0
- package/build/esm/assets/icons/issue-type/refactoring.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/refactoring.js +15 -0
- package/build/esm/assets/icons/issue-type/release.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/release.js +15 -0
- package/build/esm/assets/icons/issue-type/research.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/research.js +15 -0
- package/build/esm/assets/icons/issue-type/service-request.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/service-request.js +15 -0
- package/build/esm/assets/icons/issue-type/story.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/story.js +15 -0
- package/build/esm/assets/icons/issue-type/subbug.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/subbug.js +15 -0
- package/build/esm/assets/icons/issue-type/subtask.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/subtask.js +15 -0
- package/build/esm/assets/icons/issue-type/task.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/task.js +15 -0
- package/build/esm/assets/icons/issue-type/technical-debt.d.ts +4 -0
- package/build/esm/assets/icons/issue-type/technical-debt.js +15 -0
- package/build/esm/assets/icons/portfolio.d.ts +4 -0
- package/build/esm/assets/icons/portfolio.js +19 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.classname.d.ts +1 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.classname.js +3 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.classname.js.map +1 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.css +41 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.css.map +1 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.d.ts +29 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.js +273 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.js.map +1 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.scss +54 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/FieldsActions.d.ts +7 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/FieldsActions.js +31 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/FieldsActions.js.map +1 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/constants.d.ts +2 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/constants.js +2 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/constants.js.map +1 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/i18n.d.ts +244 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/i18n.js +245 -0
- package/build/esm/components/FieldsSelect/components/FieldsActions/i18n.js.map +1 -0
- package/build/esm/components/FieldsSelect/hooks/useSearch.d.ts +8 -0
- package/build/esm/components/FieldsSelect/hooks/useSearch.js +27 -0
- package/build/esm/components/FieldsSelect/hooks/useSearch.js.map +1 -0
- package/build/esm/components/FieldsSelect/i18n.d.ts +14 -0
- package/build/esm/components/FieldsSelect/i18n.js +15 -0
- package/build/esm/components/FieldsSelect/i18n.js.map +1 -0
- package/build/esm/components/FieldsSelect/index.d.ts +2 -0
- package/build/esm/components/FieldsSelect/index.js +2 -0
- package/build/esm/components/FieldsSelect/index.js.map +1 -0
- package/build/esm/components/FieldsSelect/utils/filterGroups.d.ts +6 -0
- package/build/esm/components/FieldsSelect/utils/filterGroups.js +41 -0
- package/build/esm/components/FieldsSelect/utils/filterGroups.js.map +1 -0
- package/build/esm/components/FieldsSelect/utils/getGroupId.d.ts +5 -0
- package/build/esm/components/FieldsSelect/utils/getGroupId.js +9 -0
- package/build/esm/components/FieldsSelect/utils/getGroupId.js.map +1 -0
- package/build/esm/components/FieldsSelect/utils/getGroupName.d.ts +5 -0
- package/build/esm/components/FieldsSelect/utils/getGroupName.js +10 -0
- package/build/esm/components/FieldsSelect/utils/getGroupName.js.map +1 -0
- package/build/esm/components/FieldsSelect/utils/splitGroupsByTags.d.ts +7 -0
- package/build/esm/components/FieldsSelect/utils/splitGroupsByTags.js +109 -0
- package/build/esm/components/FieldsSelect/utils/splitGroupsByTags.js.map +1 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.d.ts +1 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js +3 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.css +7 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.css.map +1 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.d.ts +16 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.js +52 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.js.map +1 -0
- package/build/esm/components/Icon/EntityIcon/EntityIcon.scss +9 -0
- package/build/esm/components/Icon/EntityIcon/index.d.ts +2 -0
- package/build/esm/components/Icon/EntityIcon/index.js +2 -0
- package/build/esm/components/Icon/EntityIcon/index.js.map +1 -0
- package/build/esm/components/Icon/Icon.classname.d.ts +1 -0
- package/build/esm/components/Icon/Icon.classname.js +3 -0
- package/build/esm/components/Icon/Icon.classname.js.map +1 -0
- package/build/esm/components/Icon/Icon.css +33 -0
- package/build/esm/components/Icon/Icon.css.map +1 -0
- package/build/esm/components/Icon/Icon.scss +46 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.d.ts +1 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js +3 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.css +19 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.css.map +1 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.d.ts +9 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.js +47 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.js.map +1 -0
- package/build/esm/components/Icon/IconRefuge/IconRefuge.scss +23 -0
- package/build/esm/components/Icon/IconRefuge/index.d.ts +2 -0
- package/build/esm/components/Icon/IconRefuge/index.js +2 -0
- package/build/esm/components/Icon/IconRefuge/index.js.map +1 -0
- package/build/esm/components/Icon/IconRefuge/types.d.ts +11 -0
- package/build/esm/components/Icon/IconRefuge/types.js +2 -0
- package/build/esm/components/Icon/IconRefuge/types.js.map +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.d.ts +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +3 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.css +4 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.css.map +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.d.ts +10 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.js +95 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.js.map +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.scss +3 -0
- package/build/esm/components/Icon/IssueTypeIcon/README.md +40 -0
- package/build/esm/components/Icon/IssueTypeIcon/i18n.d.ts +6 -0
- package/build/esm/components/Icon/IssueTypeIcon/i18n.js +7 -0
- package/build/esm/components/Icon/IssueTypeIcon/i18n.js.map +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/index.d.ts +3 -0
- package/build/esm/components/Icon/IssueTypeIcon/index.js +2 -0
- package/build/esm/components/Icon/IssueTypeIcon/index.js.map +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/types.d.ts +1 -0
- package/build/esm/components/Icon/IssueTypeIcon/types.js +2 -0
- package/build/esm/components/Icon/IssueTypeIcon/types.js.map +1 -0
- package/build/esm/components/Icon/PortfolioIcon/PortfolioIcon.d.ts +6 -0
- package/build/esm/components/Icon/PortfolioIcon/PortfolioIcon.js +19 -0
- package/build/esm/components/Icon/PortfolioIcon/PortfolioIcon.js.map +1 -0
- package/build/esm/components/Icon/PortfolioIcon/README.md +51 -0
- package/build/esm/components/Icon/ProjectIcon/ProjectIcon.d.ts +6 -0
- package/build/esm/components/Icon/ProjectIcon/ProjectIcon.js +17 -0
- package/build/esm/components/Icon/ProjectIcon/ProjectIcon.js.map +1 -0
- package/build/esm/components/Icon/ProjectIcon/README.md +51 -0
- package/build/esm/components/Icon/index.d.ts +3 -0
- package/build/esm/components/Icon/index.js +4 -0
- package/build/esm/components/Icon/index.js.map +1 -0
- package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +13 -0
- package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.js +42 -0
- package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -0
- package/build/esm/components/PluginFieldsSelect/README.md +486 -0
- package/build/esm/components/PluginFieldsSelect/index.d.ts +2 -0
- package/build/esm/components/PluginFieldsSelect/index.js +2 -0
- package/build/esm/components/PluginFieldsSelect/index.js.map +1 -0
- package/build/esm/components/QueueIcon/QueueIcon.classname.d.ts +1 -0
- package/build/esm/components/QueueIcon/QueueIcon.classname.js +3 -0
- package/build/esm/components/QueueIcon/QueueIcon.classname.js.map +1 -0
- package/build/esm/components/QueueIcon/QueueIcon.css +8 -0
- package/build/esm/components/QueueIcon/QueueIcon.css.map +1 -0
- package/build/esm/components/QueueIcon/QueueIcon.d.ts +9 -0
- package/build/esm/components/QueueIcon/QueueIcon.js +37 -0
- package/build/esm/components/QueueIcon/QueueIcon.js.map +1 -0
- package/build/esm/components/QueueIcon/QueueIcon.scss +9 -0
- package/build/esm/components/QueueIcon/index.d.ts +2 -0
- package/build/esm/components/QueueIcon/index.js +2 -0
- package/build/esm/components/QueueIcon/index.js.map +1 -0
- package/build/esm/components/QueueSelect/QueueSelect.classname.d.ts +1 -0
- package/build/esm/components/QueueSelect/QueueSelect.classname.js +3 -0
- package/build/esm/components/QueueSelect/QueueSelect.classname.js.map +1 -0
- package/build/esm/components/QueueSelect/QueueSelect.css +113 -0
- package/build/esm/components/QueueSelect/QueueSelect.css.map +1 -0
- package/build/esm/components/QueueSelect/QueueSelect.d.ts +32 -0
- package/build/esm/components/QueueSelect/QueueSelect.js +246 -0
- package/build/esm/components/QueueSelect/QueueSelect.js.map +1 -0
- package/build/esm/components/QueueSelect/QueueSelect.scss +142 -0
- package/build/esm/components/QueueSelect/README.md +249 -0
- package/build/esm/components/QueueSelect/constants.d.ts +2 -0
- package/build/esm/components/QueueSelect/constants.js +8 -0
- package/build/esm/components/QueueSelect/constants.js.map +1 -0
- package/build/esm/components/QueueSelect/i18n.d.ts +34 -0
- package/build/esm/components/QueueSelect/i18n.js +35 -0
- package/build/esm/components/QueueSelect/i18n.js.map +1 -0
- package/build/esm/components/QueueSelect/index.d.ts +3 -0
- package/build/esm/components/QueueSelect/index.js +2 -0
- package/build/esm/components/QueueSelect/index.js.map +1 -0
- package/build/esm/components/QueueSelect/types.d.ts +12 -0
- package/build/esm/components/QueueSelect/types.js +2 -0
- package/build/esm/components/QueueSelect/types.js.map +1 -0
- package/build/esm/components/QueueSelect/utils/filterQueues.d.ts +2 -0
- package/build/esm/components/QueueSelect/utils/filterQueues.js +16 -0
- package/build/esm/components/QueueSelect/utils/filterQueues.js.map +1 -0
- package/build/esm/components/QueueSelect/utils/mapQueueToSelectItem.d.ts +8 -0
- package/build/esm/components/QueueSelect/utils/mapQueueToSelectItem.js +35 -0
- package/build/esm/components/QueueSelect/utils/mapQueueToSelectItem.js.map +1 -0
- package/build/esm/components/QueueSelect/utils/normalizeQueue.d.ts +2 -0
- package/build/esm/components/QueueSelect/utils/normalizeQueue.js +9 -0
- package/build/esm/components/QueueSelect/utils/normalizeQueue.js.map +1 -0
- package/build/esm/components/QueueSelect/utils/renderDisplayValue.d.ts +5 -0
- package/build/esm/components/QueueSelect/utils/renderDisplayValue.js +35 -0
- package/build/esm/components/QueueSelect/utils/renderDisplayValue.js.map +1 -0
- package/build/esm/components/Select/Autocomplete.d.ts +11 -0
- package/build/esm/components/Select/Autocomplete.js +27 -0
- package/build/esm/components/Select/Autocomplete.js.map +1 -0
- package/build/esm/components/Select/MultiAutocomplete.d.ts +13 -0
- package/build/esm/components/Select/MultiAutocomplete.js +61 -0
- package/build/esm/components/Select/MultiAutocomplete.js.map +1 -0
- package/build/esm/components/Select/MultiSelect.d.ts +22 -0
- package/build/esm/components/Select/MultiSelect.js +271 -0
- package/build/esm/components/Select/MultiSelect.js.map +1 -0
- package/build/esm/components/Select/Select.classname.d.ts +1 -0
- package/build/esm/components/Select/Select.classname.js +3 -0
- package/build/esm/components/Select/Select.classname.js.map +1 -0
- package/build/esm/components/Select/Select.css +121 -0
- package/build/esm/components/Select/Select.css.map +1 -0
- package/build/esm/components/Select/Select.d.ts +10 -0
- package/build/esm/components/Select/Select.js +25 -0
- package/build/esm/components/Select/Select.js.map +1 -0
- package/build/esm/components/Select/Select.scss +180 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.classname.d.ts +1 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js +3 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.css +50 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.css.map +1 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.d.ts +20 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.js +55 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.js.map +1 -0
- package/build/esm/components/Select/SelectSearch/SelectSearch.scss +67 -0
- package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +11 -0
- package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.js +43 -0
- package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -0
- package/build/esm/components/Select/SelectSearch/types.d.ts +5 -0
- package/build/esm/components/Select/SelectSearch/types.js +2 -0
- package/build/esm/components/Select/SelectSearch/types.js.map +1 -0
- package/build/esm/components/Select/TagsList/TagsList.d.ts +17 -0
- package/build/esm/components/Select/TagsList/TagsList.js +58 -0
- package/build/esm/components/Select/TagsList/TagsList.js.map +1 -0
- package/build/esm/components/Select/TagsList/types.d.ts +4 -0
- package/build/esm/components/Select/TagsList/types.js +2 -0
- package/build/esm/components/Select/TagsList/types.js.map +1 -0
- package/build/esm/components/Select/TagsList/utils/getRemainingTagsOption.d.ts +8 -0
- package/build/esm/components/Select/TagsList/utils/getRemainingTagsOption.js +26 -0
- package/build/esm/components/Select/TagsList/utils/getRemainingTagsOption.js.map +1 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.classname.d.ts +1 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js +3 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.css +11 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.css.map +1 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.d.ts +6 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.js +125 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.js.map +1 -0
- package/build/esm/components/Select/TagsSelect/TagsSelect.scss +11 -0
- package/build/esm/components/Select/TagsSelect/i18n.d.ts +6 -0
- package/build/esm/components/Select/TagsSelect/i18n.js +7 -0
- package/build/esm/components/Select/TagsSelect/i18n.js.map +1 -0
- package/build/esm/components/Select/hooks/useAutocomplete.d.ts +9 -0
- package/build/esm/components/Select/hooks/useAutocomplete.js +83 -0
- package/build/esm/components/Select/hooks/useAutocomplete.js.map +1 -0
- package/build/esm/components/Select/i18n.d.ts +22 -0
- package/build/esm/components/Select/i18n.js +23 -0
- package/build/esm/components/Select/i18n.js.map +1 -0
- package/build/esm/components/Select/index.d.ts +8 -0
- package/build/esm/components/Select/index.js +5 -0
- package/build/esm/components/Select/index.js.map +1 -0
- package/build/esm/components/Select/utils/filterAutocompleteOption.d.ts +1 -0
- package/build/esm/components/Select/utils/filterAutocompleteOption.js +4 -0
- package/build/esm/components/Select/utils/filterAutocompleteOption.js.map +1 -0
- package/build/esm/components/Select/utils/filterOption.d.ts +2 -0
- package/build/esm/components/Select/utils/filterOption.js +7 -0
- package/build/esm/components/Select/utils/filterOption.js.map +1 -0
- package/build/esm/components/Select/utils/getValueOption.d.ts +2 -0
- package/build/esm/components/Select/utils/getValueOption.js +25 -0
- package/build/esm/components/Select/utils/getValueOption.js.map +1 -0
- package/build/esm/components/Select/utils/isGroupOption.d.ts +2 -0
- package/build/esm/components/Select/utils/isGroupOption.js +4 -0
- package/build/esm/components/Select/utils/isGroupOption.js.map +1 -0
- package/build/esm/components/Select/utils/renderOption.d.ts +3 -0
- package/build/esm/components/Select/utils/renderOption.js +15 -0
- package/build/esm/components/Select/utils/renderOption.js.map +1 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.d.ts +1 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js +3 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.css +31 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.css.map +1 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.d.ts +11 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.js +57 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.js.map +1 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.scss +43 -0
- package/build/esm/components/TrackerDisclosure/index.d.ts +2 -0
- package/build/esm/components/TrackerDisclosure/index.js +2 -0
- package/build/esm/components/TrackerDisclosure/index.js.map +1 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.classname.d.ts +1 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.classname.js +3 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.classname.js.map +1 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.css +277 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.css.map +1 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.d.ts +25 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.js +162 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.js.map +1 -0
- package/build/esm/components/TrackerSelect/TrackerSelect.scss +394 -0
- package/build/esm/components/TrackerSelect/components/ItemsList.d.ts +23 -0
- package/build/esm/components/TrackerSelect/components/ItemsList.js +231 -0
- package/build/esm/components/TrackerSelect/components/ItemsList.js.map +1 -0
- package/build/esm/components/TrackerSelect/components/Search.d.ts +14 -0
- package/build/esm/components/TrackerSelect/components/Search.js +36 -0
- package/build/esm/components/TrackerSelect/components/Search.js.map +1 -0
- package/build/esm/components/TrackerSelect/components/SelectGroup.d.ts +20 -0
- package/build/esm/components/TrackerSelect/components/SelectGroup.js +101 -0
- package/build/esm/components/TrackerSelect/components/SelectGroup.js.map +1 -0
- package/build/esm/components/TrackerSelect/components/SelectItem.d.ts +27 -0
- package/build/esm/components/TrackerSelect/components/SelectItem.js +143 -0
- package/build/esm/components/TrackerSelect/components/SelectItem.js.map +1 -0
- package/build/esm/components/TrackerSelect/components/SelectItems.d.ts +18 -0
- package/build/esm/components/TrackerSelect/components/SelectItems.js +85 -0
- package/build/esm/components/TrackerSelect/components/SelectItems.js.map +1 -0
- package/build/esm/components/TrackerSelect/constants.d.ts +2 -0
- package/build/esm/components/TrackerSelect/constants.js +3 -0
- package/build/esm/components/TrackerSelect/constants.js.map +1 -0
- package/build/esm/components/TrackerSelect/hooks/useExpandedGroups.d.ts +6 -0
- package/build/esm/components/TrackerSelect/hooks/useExpandedGroups.js +51 -0
- package/build/esm/components/TrackerSelect/hooks/useExpandedGroups.js.map +1 -0
- package/build/esm/components/TrackerSelect/hooks/useHint.d.ts +4 -0
- package/build/esm/components/TrackerSelect/hooks/useHint.js +18 -0
- package/build/esm/components/TrackerSelect/hooks/useHint.js.map +1 -0
- package/build/esm/components/TrackerSelect/hooks/useListActiveElementScroll.d.ts +7 -0
- package/build/esm/components/TrackerSelect/hooks/useListActiveElementScroll.js +33 -0
- package/build/esm/components/TrackerSelect/hooks/useListActiveElementScroll.js.map +1 -0
- package/build/esm/components/TrackerSelect/hooks/usePopupHeight.d.ts +3 -0
- package/build/esm/components/TrackerSelect/hooks/usePopupHeight.js +54 -0
- package/build/esm/components/TrackerSelect/hooks/usePopupHeight.js.map +1 -0
- package/build/esm/components/TrackerSelect/hooks/useSelectedItemsIds.d.ts +2 -0
- package/build/esm/components/TrackerSelect/hooks/useSelectedItemsIds.js +13 -0
- package/build/esm/components/TrackerSelect/hooks/useSelectedItemsIds.js.map +1 -0
- package/build/esm/components/TrackerSelect/hooks/useSubmitHotkey.d.ts +1 -0
- package/build/esm/components/TrackerSelect/hooks/useSubmitHotkey.js +22 -0
- package/build/esm/components/TrackerSelect/hooks/useSubmitHotkey.js.map +1 -0
- package/build/esm/components/TrackerSelect/i18n.d.ts +70 -0
- package/build/esm/components/TrackerSelect/i18n.js +71 -0
- package/build/esm/components/TrackerSelect/i18n.js.map +1 -0
- package/build/esm/components/TrackerSelect/index.d.ts +4 -0
- package/build/esm/components/TrackerSelect/index.js +3 -0
- package/build/esm/components/TrackerSelect/index.js.map +1 -0
- package/build/esm/components/TrackerSelect/types.d.ts +36 -0
- package/build/esm/components/TrackerSelect/types.js +2 -0
- package/build/esm/components/TrackerSelect/types.js.map +1 -0
- package/build/esm/components/TrackerSelect/utils/getElementId.d.ts +1 -0
- package/build/esm/components/TrackerSelect/utils/getElementId.js +14 -0
- package/build/esm/components/TrackerSelect/utils/getElementId.js.map +1 -0
- package/build/esm/components/TrackerSelect/utils/keyboard.d.ts +17 -0
- package/build/esm/components/TrackerSelect/utils/keyboard.js +42 -0
- package/build/esm/components/TrackerSelect/utils/keyboard.js.map +1 -0
- package/build/esm/components/TrackerSelect/utils/moveItemInArray.d.ts +1 -0
- package/build/esm/components/TrackerSelect/utils/moveItemInArray.js +14 -0
- package/build/esm/components/TrackerSelect/utils/moveItemInArray.js.map +1 -0
- package/build/esm/components/cn.d.ts +4 -0
- package/build/esm/components/cn.js +12 -0
- package/build/esm/components/cn.js.map +1 -0
- package/build/esm/hooks/useAutoFocus.d.ts +7 -0
- package/build/esm/hooks/useAutoFocus.js +20 -0
- package/build/esm/hooks/useAutoFocus.js.map +1 -0
- package/build/esm/hooks/useLocalizedString.d.ts +4 -0
- package/build/esm/hooks/useLocalizedString.js +31 -0
- package/build/esm/hooks/useLocalizedString.js.map +1 -0
- package/build/esm/index.d.ts +6 -0
- package/build/esm/index.js +6 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/styles/variables.scss +1 -0
- package/build/esm/typings/assets.svg.d.ts +7 -0
- package/build/esm/utils/focusWithoutScroll.d.ts +1 -0
- package/build/esm/utils/focusWithoutScroll.js +9 -0
- package/build/esm/utils/focusWithoutScroll.js.map +1 -0
- package/package.json +123 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SelectOption } from '@gravity-ui/uikit';
|
|
3
|
+
import type { MultiSelectProps } from './MultiSelect';
|
|
4
|
+
export type MultiAutocompleteProps = Omit<MultiSelectProps, 'filterable' | 'value' | 'onUpdate'> & {
|
|
5
|
+
value?: SelectOption[];
|
|
6
|
+
onUpdate: (value: SelectOption[]) => void;
|
|
7
|
+
searchDelay?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const MultiAutocomplete: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "onUpdate" | "value" | "filterable"> & {
|
|
10
|
+
value?: SelectOption[];
|
|
11
|
+
onUpdate: (value: SelectOption[]) => void;
|
|
12
|
+
searchDelay?: number;
|
|
13
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MultiAutocomplete = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
require("core-js/modules/es.array.concat.js");
|
|
11
|
+
require("core-js/modules/es.array.filter.js");
|
|
12
|
+
require("core-js/modules/es.array.find.js");
|
|
13
|
+
require("core-js/modules/es.array.map.js");
|
|
14
|
+
require("core-js/modules/es.array.some.js");
|
|
15
|
+
require("core-js/modules/es.iterator.constructor.js");
|
|
16
|
+
require("core-js/modules/es.iterator.filter.js");
|
|
17
|
+
require("core-js/modules/es.iterator.find.js");
|
|
18
|
+
require("core-js/modules/es.iterator.map.js");
|
|
19
|
+
require("core-js/modules/es.iterator.some.js");
|
|
20
|
+
require("core-js/modules/es.object.to-string.js");
|
|
21
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
22
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
23
|
+
var _MultiSelect = require("./MultiSelect");
|
|
24
|
+
var _filterAutocompleteOption = require("./utils/filterAutocompleteOption");
|
|
25
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
27
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
28
|
+
var _excluded = ["options", "value", "onUpdate", "onFilterChange", "searchDelay"];
|
|
29
|
+
var MultiAutocomplete = exports.MultiAutocomplete = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
30
|
+
var options = _ref.options,
|
|
31
|
+
value = _ref.value,
|
|
32
|
+
onUpdate = _ref.onUpdate,
|
|
33
|
+
onFilterChange = _ref.onFilterChange,
|
|
34
|
+
searchDelay = _ref.searchDelay,
|
|
35
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
36
|
+
var handleFilterChange = (0, _react.useMemo)(function () {
|
|
37
|
+
return onFilterChange ? (0, _debounce.default)(onFilterChange, searchDelay) : undefined;
|
|
38
|
+
}, [onFilterChange, searchDelay]);
|
|
39
|
+
var optionsWithValue = (0, _react.useMemo)(function () {
|
|
40
|
+
return [].concat((0, _toConsumableArray2.default)(value !== null && value !== void 0 ? value : []), (0, _toConsumableArray2.default)((options !== null && options !== void 0 ? options : []).filter(function (option) {
|
|
41
|
+
return !(value !== null && value !== void 0 && value.some(function (valueItem) {
|
|
42
|
+
return 'value' in option && option.value === valueItem.value;
|
|
43
|
+
}));
|
|
44
|
+
})));
|
|
45
|
+
}, [options, value]);
|
|
46
|
+
var handleUpdate = (0, _react.useCallback)(function (newValue) {
|
|
47
|
+
onUpdate(newValue.map(function (valueItem) {
|
|
48
|
+
return optionsWithValue.find(function (option) {
|
|
49
|
+
return 'value' in option && option.value === valueItem;
|
|
50
|
+
});
|
|
51
|
+
}));
|
|
52
|
+
}, [onUpdate, optionsWithValue]);
|
|
53
|
+
var selectValue = (0, _react.useMemo)(function () {
|
|
54
|
+
return value === null || value === void 0 ? void 0 : value.map(function (valueItem) {
|
|
55
|
+
return valueItem.value;
|
|
56
|
+
});
|
|
57
|
+
}, [value]);
|
|
58
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MultiSelect.MultiSelect, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
|
59
|
+
ref: ref,
|
|
60
|
+
onUpdate: handleUpdate,
|
|
61
|
+
value: selectValue,
|
|
62
|
+
options: optionsWithValue,
|
|
63
|
+
onFilterChange: handleFilterChange,
|
|
64
|
+
filterable: true,
|
|
65
|
+
filterOption: _filterAutocompleteOption.filterAutocompleteOption
|
|
66
|
+
}));
|
|
67
|
+
});
|
|
68
|
+
MultiAutocomplete.displayName = 'MultiAutocomplete';
|
|
69
|
+
// #sourceMappingURL=MultiAutocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_MultiSelect","_filterAutocompleteOption","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MultiAutocomplete","exports","forwardRef","_ref","ref","options","value","onUpdate","onFilterChange","searchDelay","props","_objectWithoutProperties","_excluded","handleFilterChange","useMemo","debounce","undefined","optionsWithValue","concat","_toConsumableArray","filter","option","some","valueItem","handleUpdate","useCallback","newValue","map","find","selectValue","_jsx","MultiSelect","_objectSpread","filterable","filterOption","filterAutocompleteOption","displayName"],"sources":["MultiAutocomplete.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, useMemo} from 'react';\n\nimport type {SelectOption} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\n\nimport type {MultiSelectProps} from './MultiSelect';\nimport {MultiSelect} from './MultiSelect';\nimport {filterAutocompleteOption} from './utils/filterAutocompleteOption';\n\nexport type MultiAutocompleteProps = Omit<MultiSelectProps, 'filterable' | 'value' | 'onUpdate'> & {\n value?: SelectOption[];\n onUpdate: (value: SelectOption[]) => void;\n searchDelay?: number;\n};\n\nexport const MultiAutocomplete = forwardRef<HTMLButtonElement, MultiAutocompleteProps>(\n ({options, value, onUpdate, onFilterChange, searchDelay, ...props}, ref) => {\n const handleFilterChange = useMemo(\n () => (onFilterChange ? debounce(onFilterChange, searchDelay) : undefined),\n [onFilterChange, searchDelay],\n );\n\n const optionsWithValue = useMemo(() => {\n return [\n ...(value ?? []),\n ...(options ?? []).filter(\n (option) =>\n !value?.some(\n (valueItem) => 'value' in option && option.value === valueItem.value,\n ),\n ),\n ];\n }, [options, value]);\n\n const handleUpdate = useCallback(\n (newValue: string[]) => {\n onUpdate(\n newValue.map(\n (valueItem) =>\n optionsWithValue.find(\n (option) => 'value' in option && option.value === valueItem,\n ) as SelectOption,\n ),\n );\n },\n [onUpdate, optionsWithValue],\n );\n\n const selectValue = useMemo(() => value?.map((valueItem) => valueItem.value), [value]);\n\n return (\n <MultiSelect\n {...props}\n ref={ref}\n onUpdate={handleUpdate}\n value={selectValue}\n options={optionsWithValue}\n onFilterChange={handleFilterChange}\n filterable\n filterOption={filterAutocompleteOption}\n />\n );\n },\n);\n\nMultiAutocomplete.displayName = 'MultiAutocomplete';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AAA0E,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAL,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;;AAQnE,IAAMmB,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAG,IAAAE,iBAAU,EACvC,UAAAC,IAAA,EAAoEC,GAAG,EAAK;EAAA,IAA1EC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAEC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IAAEC,WAAW,GAAAN,IAAA,CAAXM,WAAW;IAAKC,KAAK,OAAAC,iCAAA,EAAAR,IAAA,EAAAS,SAAA;EAC7D,IAAMC,kBAAkB,GAAG,IAAAC,cAAO,EAC9B;IAAA,OAAON,cAAc,GAAG,IAAAO,iBAAQ,EAACP,cAAc,EAAEC,WAAW,CAAC,GAAGO,SAAS;EAAA,CAAC,EAC1E,CAACR,cAAc,EAAEC,WAAW,CAChC,CAAC;EAED,IAAMQ,gBAAgB,GAAG,IAAAH,cAAO,EAAC,YAAM;IACnC,UAAAI,MAAA,KAAAC,2BAAA,EACQb,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,OAAAa,2BAAA,EACZ,CAACd,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAEe,MAAM,CACrB,UAACC,MAAM;MAAA,OACH,EAACf,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEgB,IAAI,CACR,UAACC,SAAS;QAAA,OAAK,OAAO,IAAIF,MAAM,IAAIA,MAAM,CAACf,KAAK,KAAKiB,SAAS,CAACjB,KAAK;MAAA,CACxE,CAAC;IAAA,CACT,CAAC;EAET,CAAC,EAAE,CAACD,OAAO,EAAEC,KAAK,CAAC,CAAC;EAEpB,IAAMkB,YAAY,GAAG,IAAAC,kBAAW,EAC5B,UAACC,QAAkB,EAAK;IACpBnB,QAAQ,CACJmB,QAAQ,CAACC,GAAG,CACR,UAACJ,SAAS;MAAA,OACNN,gBAAgB,CAACW,IAAI,CACjB,UAACP,MAAM;QAAA,OAAK,OAAO,IAAIA,MAAM,IAAIA,MAAM,CAACf,KAAK,KAAKiB,SAAS;MAAA,CAC/D,CAAC;IAAA,CACT,CACJ,CAAC;EACL,CAAC,EACD,CAAChB,QAAQ,EAAEU,gBAAgB,CAC/B,CAAC;EAED,IAAMY,WAAW,GAAG,IAAAf,cAAO,EAAC;IAAA,OAAMR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqB,GAAG,CAAC,UAACJ,SAAS;MAAA,OAAKA,SAAS,CAACjB,KAAK;IAAA,EAAC;EAAA,GAAE,CAACA,KAAK,CAAC,CAAC;EAEtF,oBACI,IAAAwB,eAAA,EAACC,wBAAW,MAAAC,sBAAA,MAAAA,sBAAA,MACJtB,KAAK;IACTN,GAAG,EAAEA,GAAI;IACTG,QAAQ,EAAEiB,YAAa;IACvBlB,KAAK,EAAEuB,WAAY;IACnBxB,OAAO,EAAEY,gBAAiB;IAC1BT,cAAc,EAAEK,kBAAmB;IACnCoB,UAAU;IACVC,YAAY,EAAEC;EAAyB,EAC1C,CAAC;AAEV,CACJ,CAAC;AAEDnC,iBAAiB,CAACoC,WAAW,GAAG,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { ButtonButtonProps, SelectProps as CommonSelectProps, SelectOption } from '@gravity-ui/uikit';
|
|
4
|
+
import './Select.scss';
|
|
5
|
+
export type MultiSelectProps = CommonSelectProps & {
|
|
6
|
+
id?: string;
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
loadingItems?: boolean;
|
|
9
|
+
controlProps?: ButtonButtonProps;
|
|
10
|
+
withArrow?: boolean;
|
|
11
|
+
title?: string;
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
selectSize?: CommonSelectProps['size'];
|
|
14
|
+
renderDisplayValue?: (value: SelectOption[]) => ReactNode;
|
|
15
|
+
chevronView?: 'desktop' | 'touch';
|
|
16
|
+
autoFocus?: boolean;
|
|
17
|
+
withSpecialNoOptions?: boolean;
|
|
18
|
+
disablePortal?: boolean;
|
|
19
|
+
disableTooltip?: boolean;
|
|
20
|
+
filterOption?: (option: SelectOption, filter: string) => boolean;
|
|
21
|
+
};
|
|
22
|
+
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MultiSelect = void 0;
|
|
7
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
require("core-js/modules/es.array.map.js");
|
|
11
|
+
require("core-js/modules/es.array.push.js");
|
|
12
|
+
require("core-js/modules/es.array.some.js");
|
|
13
|
+
require("core-js/modules/es.function.name.js");
|
|
14
|
+
require("core-js/modules/es.iterator.constructor.js");
|
|
15
|
+
require("core-js/modules/es.iterator.some.js");
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
require("core-js/modules/web.timers.js");
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
var _icons = require("@gravity-ui/icons");
|
|
20
|
+
var _uikit = require("@gravity-ui/uikit");
|
|
21
|
+
var _useLocalizedString2 = require("./../../hooks/useLocalizedString");
|
|
22
|
+
var _Select = require("./Select.classname");
|
|
23
|
+
var _i18n = require("./i18n");
|
|
24
|
+
var _filterOption = require("./utils/filterOption");
|
|
25
|
+
var _getValueOption = require("./utils/getValueOption");
|
|
26
|
+
var _isGroupOption = require("./utils/isGroupOption");
|
|
27
|
+
var _renderOption = require("./utils/renderOption");
|
|
28
|
+
require("./Select.css");
|
|
29
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
30
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
31
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
|
+
var _excluded = ["id", "loading", "loadingItems", "disabled", "renderControl", "className", "options", "value", "width", "size", "name", "placeholder", "popupClassName", "renderOption", "renderSelectedOption", "renderDisplayValue", "controlProps", "controlClassName", "withArrow", "title", "icon", "validationState", "selectSize", "chevronView", "open", "filterable", "disablePortal", "filterOption", "renderFilter", "autoFocus", "filterPlaceholder", "withSpecialNoOptions", "onOpenChange", "disableTooltip"];
|
|
33
|
+
var MultiSelect = exports.MultiSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
34
|
+
var id = _ref.id,
|
|
35
|
+
loading = _ref.loading,
|
|
36
|
+
loadingItems = _ref.loadingItems,
|
|
37
|
+
disabled = _ref.disabled,
|
|
38
|
+
providedRenderControl = _ref.renderControl,
|
|
39
|
+
className = _ref.className,
|
|
40
|
+
options = _ref.options,
|
|
41
|
+
value = _ref.value,
|
|
42
|
+
width = _ref.width,
|
|
43
|
+
size = _ref.size,
|
|
44
|
+
name = _ref.name,
|
|
45
|
+
placeholder = _ref.placeholder,
|
|
46
|
+
popupClassName = _ref.popupClassName,
|
|
47
|
+
_ref$renderOption = _ref.renderOption,
|
|
48
|
+
providedRenderOption = _ref$renderOption === void 0 ? _renderOption.renderOption : _ref$renderOption,
|
|
49
|
+
renderSelectedOption = _ref.renderSelectedOption,
|
|
50
|
+
renderDisplayValue = _ref.renderDisplayValue,
|
|
51
|
+
controlProps = _ref.controlProps,
|
|
52
|
+
controlClassName = _ref.controlClassName,
|
|
53
|
+
_ref$withArrow = _ref.withArrow,
|
|
54
|
+
withArrow = _ref$withArrow === void 0 ? true : _ref$withArrow,
|
|
55
|
+
title = _ref.title,
|
|
56
|
+
icon = _ref.icon,
|
|
57
|
+
validationState = _ref.validationState,
|
|
58
|
+
selectSize = _ref.selectSize,
|
|
59
|
+
_ref$chevronView = _ref.chevronView,
|
|
60
|
+
chevronView = _ref$chevronView === void 0 ? 'desktop' : _ref$chevronView,
|
|
61
|
+
open = _ref.open,
|
|
62
|
+
filterable = _ref.filterable,
|
|
63
|
+
disablePortal = _ref.disablePortal,
|
|
64
|
+
providedFilterOption = _ref.filterOption,
|
|
65
|
+
providedRenderFilter = _ref.renderFilter,
|
|
66
|
+
autoFocus = _ref.autoFocus,
|
|
67
|
+
filterPlaceholder = _ref.filterPlaceholder,
|
|
68
|
+
withSpecialNoOptions = _ref.withSpecialNoOptions,
|
|
69
|
+
onOpenChange = _ref.onOpenChange,
|
|
70
|
+
disableTooltip = _ref.disableTooltip,
|
|
71
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
72
|
+
var config = (0, _uikit.getConfig)();
|
|
73
|
+
var _useLocalizedString = (0, _useLocalizedString2.useLocalizedString)(_i18n.defaultMessages, config.lang),
|
|
74
|
+
t = _useLocalizedString.t;
|
|
75
|
+
var inputRef = (0, _react.useRef)(null);
|
|
76
|
+
var renderControl = (0, _react.useCallback)(function (renderControlProps, config) {
|
|
77
|
+
var triggerProps = renderControlProps.triggerProps,
|
|
78
|
+
ref = renderControlProps.ref,
|
|
79
|
+
open = renderControlProps.open;
|
|
80
|
+
var hasError = validationState === 'invalid';
|
|
81
|
+
if (loading) {
|
|
82
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
83
|
+
ref: ref,
|
|
84
|
+
className: (0, _Select.cnSelect)('button-wrapper'),
|
|
85
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.ActionTooltip, {
|
|
86
|
+
title: title !== null && title !== void 0 ? title : '',
|
|
87
|
+
disabled: disableTooltip || !title,
|
|
88
|
+
placement: "bottom",
|
|
89
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
90
|
+
view: "outlined",
|
|
91
|
+
size: size,
|
|
92
|
+
disabled: true,
|
|
93
|
+
width: "max",
|
|
94
|
+
name: name,
|
|
95
|
+
className: (0, _Select.cnSelect)('button', {
|
|
96
|
+
loading: true,
|
|
97
|
+
error: hasError,
|
|
98
|
+
platform: 'desktop'
|
|
99
|
+
}, controlClassName)
|
|
100
|
+
}, controlProps), {}, {
|
|
101
|
+
id: id,
|
|
102
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Loader, {
|
|
103
|
+
className: (0, _Select.cnSelect)('loader')
|
|
104
|
+
}), withArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
|
|
105
|
+
data: chevronView === 'touch' ? _icons.ChevronRight : _icons.ChevronDown
|
|
106
|
+
})]
|
|
107
|
+
}))
|
|
108
|
+
})
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (providedRenderControl) {
|
|
112
|
+
return providedRenderControl(renderControlProps, config);
|
|
113
|
+
}
|
|
114
|
+
var valueOptions = [];
|
|
115
|
+
if (value && value.length) {
|
|
116
|
+
var _iterator = (0, _createForOfIteratorHelper2.default)(value),
|
|
117
|
+
_step;
|
|
118
|
+
try {
|
|
119
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
120
|
+
var valueItem = _step.value;
|
|
121
|
+
var valueOption = (0, _getValueOption.getValueOption)(options !== null && options !== void 0 ? options : [], valueItem);
|
|
122
|
+
if (valueOption) {
|
|
123
|
+
valueOptions.push(valueOption);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
_iterator.e(err);
|
|
128
|
+
} finally {
|
|
129
|
+
_iterator.f();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
133
|
+
ref: ref,
|
|
134
|
+
className: (0, _Select.cnSelect)('button-wrapper'),
|
|
135
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.ActionTooltip, {
|
|
136
|
+
title: title !== null && title !== void 0 ? title : '',
|
|
137
|
+
disabled: disableTooltip || !title,
|
|
138
|
+
placement: "bottom",
|
|
139
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
140
|
+
view: "outlined",
|
|
141
|
+
size: size
|
|
142
|
+
}, triggerProps), {}, {
|
|
143
|
+
name: name,
|
|
144
|
+
"aria-haspopup": "listbox",
|
|
145
|
+
width: "max",
|
|
146
|
+
disabled: disabled,
|
|
147
|
+
className: (0, _Select.cnSelect)('button', {
|
|
148
|
+
empty: valueOptions.length === 0,
|
|
149
|
+
'with-icon': Boolean(icon),
|
|
150
|
+
error: hasError,
|
|
151
|
+
platform: 'desktop'
|
|
152
|
+
}, controlClassName)
|
|
153
|
+
}, controlProps), {}, {
|
|
154
|
+
id: id,
|
|
155
|
+
children: [icon, renderDisplayValue ? renderDisplayValue(valueOptions) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
156
|
+
children: [valueOptions.length === 0 && (placeholder || '—'), valueOptions.map(function (item, index) {
|
|
157
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
158
|
+
children: [renderSelectedOption ? renderSelectedOption(item, index) : item.text || item.content, index < valueOptions.length - 1 && ', ']
|
|
159
|
+
}, item.value);
|
|
160
|
+
})]
|
|
161
|
+
}), withArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
|
|
162
|
+
size: chevronView === 'touch' ? 24 : 16,
|
|
163
|
+
data: chevronView === 'touch' ? _icons.ChevronRight : _icons.ChevronDown,
|
|
164
|
+
className: (0, _Select.cnSelect)('chevron', {
|
|
165
|
+
open: open
|
|
166
|
+
})
|
|
167
|
+
})]
|
|
168
|
+
}))
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
}, [validationState, loading, providedRenderControl, value, title, disableTooltip, id, size, name, disabled, icon, controlClassName, controlProps, renderDisplayValue, placeholder, withArrow, chevronView, options, renderSelectedOption]);
|
|
172
|
+
var renderPopup = (0, _react.useCallback)(function (_ref2) {
|
|
173
|
+
var renderFilter = _ref2.renderFilter,
|
|
174
|
+
renderList = _ref2.renderList;
|
|
175
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
176
|
+
children: [renderFilter(), renderList()]
|
|
177
|
+
});
|
|
178
|
+
}, []);
|
|
179
|
+
var renderFilter = (0, _react.useCallback)(function (_ref3) {
|
|
180
|
+
var _props$defaultValue$l, _props$defaultValue;
|
|
181
|
+
var inputProps = _ref3.inputProps;
|
|
182
|
+
var hasDefaultValue = ((_props$defaultValue$l = (_props$defaultValue = props.defaultValue) === null || _props$defaultValue === void 0 ? void 0 : _props$defaultValue.length) !== null && _props$defaultValue$l !== void 0 ? _props$defaultValue$l : 0) > 0;
|
|
183
|
+
var controlProps = {
|
|
184
|
+
role: 'combobox',
|
|
185
|
+
'aria-activedescendant': inputProps['aria-activedescendant'],
|
|
186
|
+
'aria-controls': inputProps['aria-controls'],
|
|
187
|
+
'aria-label': inputProps['aria-label']
|
|
188
|
+
};
|
|
189
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.TextInput, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
190
|
+
autoFocus: autoFocus && !hasDefaultValue,
|
|
191
|
+
className: (0, _Select.cnSelect)('filter')
|
|
192
|
+
}, inputProps), {}, {
|
|
193
|
+
controlProps: controlProps,
|
|
194
|
+
controlRef: inputRef,
|
|
195
|
+
size: selectSize,
|
|
196
|
+
name: name
|
|
197
|
+
}));
|
|
198
|
+
}, [autoFocus, props.defaultValue, selectSize, name]);
|
|
199
|
+
var optionsWithLoading = (0, _react.useMemo)(function () {
|
|
200
|
+
if (!loadingItems) {
|
|
201
|
+
if (!(options !== null && options !== void 0 && options.length)) {
|
|
202
|
+
return [{
|
|
203
|
+
value: '',
|
|
204
|
+
disabled: true,
|
|
205
|
+
content: withSpecialNoOptions ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
206
|
+
className: (0, _Select.cnSelect)('no-options'),
|
|
207
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Text, {
|
|
208
|
+
color: "primary",
|
|
209
|
+
variant: "subheader-3",
|
|
210
|
+
children: t('no-options-title')
|
|
211
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Text, {
|
|
212
|
+
variant: "body-2",
|
|
213
|
+
children: t('no-options-description')
|
|
214
|
+
})]
|
|
215
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
216
|
+
className: (0, _Select.cnSelect)('no-options'),
|
|
217
|
+
children: t('no-options')
|
|
218
|
+
})
|
|
219
|
+
}];
|
|
220
|
+
}
|
|
221
|
+
return options;
|
|
222
|
+
}
|
|
223
|
+
return [{
|
|
224
|
+
value: '',
|
|
225
|
+
disabled: true,
|
|
226
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
227
|
+
className: (0, _Select.cnSelect)('items-loader'),
|
|
228
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Loader, {
|
|
229
|
+
size: "m"
|
|
230
|
+
})
|
|
231
|
+
})
|
|
232
|
+
}];
|
|
233
|
+
}, [loadingItems, options, t, withSpecialNoOptions]);
|
|
234
|
+
var withGroups = options === null || options === void 0 ? void 0 : options.some(_isGroupOption.isGroupOption);
|
|
235
|
+
(0, _react.useEffect)(function () {
|
|
236
|
+
var timer;
|
|
237
|
+
if (open && inputRef.current) {
|
|
238
|
+
timer = setTimeout(function () {
|
|
239
|
+
var _inputRef$current;
|
|
240
|
+
return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
|
|
241
|
+
preventScroll: true
|
|
242
|
+
});
|
|
243
|
+
}, 0);
|
|
244
|
+
}
|
|
245
|
+
return function () {
|
|
246
|
+
if (timer) {
|
|
247
|
+
clearTimeout(timer);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- inputRef.current must be in list
|
|
251
|
+
}, [open && inputRef.current]);
|
|
252
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Select, (0, _objectSpread2.default)({
|
|
253
|
+
disablePortal: disablePortal,
|
|
254
|
+
disabled: disabled || loading,
|
|
255
|
+
options: optionsWithLoading,
|
|
256
|
+
value: value,
|
|
257
|
+
renderControl: renderControl,
|
|
258
|
+
multiple: true,
|
|
259
|
+
renderOption: loadingItems || !(options !== null && options !== void 0 && options.length) ? _renderOption.renderOption : providedRenderOption,
|
|
260
|
+
ref: ref,
|
|
261
|
+
filterPlaceholder: filterPlaceholder !== null && filterPlaceholder !== void 0 ? filterPlaceholder : t('search'),
|
|
262
|
+
popupClassName: (0, _Select.cnSelect)('popup', {
|
|
263
|
+
'with-groups': withGroups,
|
|
264
|
+
filterable: filterable
|
|
265
|
+
}, popupClassName),
|
|
266
|
+
filterOption: providedFilterOption !== null && providedFilterOption !== void 0 ? providedFilterOption : _filterOption.filterOption,
|
|
267
|
+
width: width,
|
|
268
|
+
className: (0, _Select.cnSelect)(null, className),
|
|
269
|
+
size: size,
|
|
270
|
+
validationState: validationState,
|
|
271
|
+
renderPopup: renderPopup,
|
|
272
|
+
open: open,
|
|
273
|
+
renderFilter: providedRenderFilter !== null && providedRenderFilter !== void 0 ? providedRenderFilter : renderFilter,
|
|
274
|
+
filterable: filterable,
|
|
275
|
+
onOpenChange: onOpenChange
|
|
276
|
+
}, props));
|
|
277
|
+
});
|
|
278
|
+
MultiSelect.displayName = 'MultiSelect';
|
|
279
|
+
// #sourceMappingURL=MultiSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_icons","_uikit","_useLocalizedString2","_Select","_i18n","_filterOption","_getValueOption","_isGroupOption","_renderOption","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","MultiSelect","exports","forwardRef","_ref","ref","id","loading","loadingItems","disabled","providedRenderControl","renderControl","className","options","value","width","size","name","placeholder","popupClassName","_ref$renderOption","renderOption","providedRenderOption","renderSelectedOption","renderDisplayValue","controlProps","controlClassName","_ref$withArrow","withArrow","title","icon","validationState","selectSize","_ref$chevronView","chevronView","open","filterable","disablePortal","providedFilterOption","filterOption","providedRenderFilter","renderFilter","autoFocus","filterPlaceholder","withSpecialNoOptions","onOpenChange","disableTooltip","props","_objectWithoutProperties","_excluded","config","getConfig","_useLocalizedString","useLocalizedString","defaultMessages","lang","inputRef","useRef","useCallback","renderControlProps","triggerProps","hasError","_jsx","cnSelect","children","ActionTooltip","placement","_jsxs","Button","_objectSpread","view","error","platform","Loader","Icon","data","ChevronRight","ChevronDown","valueOptions","length","_iterator","_createForOfIteratorHelper","_step","s","done","valueItem","valueOption","getValueOption","push","err","empty","Boolean","_Fragment","map","item","index","Fragment","text","content","renderPopup","_ref2","renderList","_ref3","_props$defaultValue$l","_props$defaultValue","inputProps","hasDefaultValue","defaultValue","role","TextInput","controlRef","optionsWithLoading","useMemo","Text","color","variant","withGroups","some","isGroupOption","useEffect","timer","current","setTimeout","_inputRef$current","focus","preventScroll","clearTimeout","CommonSelect","multiple","displayName"],"sources":["MultiSelect.tsx"],"sourcesContent":["import type {ReactNode, Ref} from 'react';\nimport React, {Fragment, forwardRef, useCallback, useEffect, useMemo, useRef} from 'react';\n\nimport {ChevronDown, ChevronRight} from '@gravity-ui/icons';\nimport type {\n ButtonButtonProps,\n SelectProps as CommonSelectProps,\n SelectOption,\n} from '@gravity-ui/uikit';\nimport {\n ActionTooltip,\n Button,\n Select as CommonSelect,\n Icon,\n Loader,\n Text,\n TextInput,\n getConfig,\n} from '@gravity-ui/uikit';\n\nimport {useLocalizedString} from '~/src/hooks/useLocalizedString';\n\nimport {cnSelect} from './Select.classname';\nimport {defaultMessages} from './i18n';\nimport {filterOption} from './utils/filterOption';\nimport {getValueOption} from './utils/getValueOption';\nimport {isGroupOption} from './utils/isGroupOption';\nimport {renderOption} from './utils/renderOption';\n\nimport './Select.scss';\n\nexport type MultiSelectProps = CommonSelectProps & {\n id?: string;\n loading?: boolean;\n loadingItems?: boolean;\n controlProps?: ButtonButtonProps;\n withArrow?: boolean;\n title?: string;\n icon?: ReactNode;\n selectSize?: CommonSelectProps['size'];\n renderDisplayValue?: (value: SelectOption[]) => ReactNode;\n chevronView?: 'desktop' | 'touch';\n autoFocus?: boolean;\n withSpecialNoOptions?: boolean;\n disablePortal?: boolean;\n disableTooltip?: boolean;\n filterOption?: (option: SelectOption, filter: string) => boolean;\n};\n\nexport const MultiSelect: React.ForwardRefExoticComponent<\n MultiSelectProps & React.RefAttributes<HTMLButtonElement>\n> = forwardRef<HTMLButtonElement, MultiSelectProps>(\n (\n {\n id,\n loading,\n loadingItems,\n disabled,\n renderControl: providedRenderControl,\n className,\n options,\n value,\n width,\n size,\n name,\n placeholder,\n popupClassName,\n renderOption: providedRenderOption = renderOption,\n renderSelectedOption,\n renderDisplayValue,\n controlProps,\n controlClassName,\n withArrow = true,\n title,\n icon,\n validationState,\n selectSize,\n chevronView = 'desktop',\n open,\n filterable,\n disablePortal,\n filterOption: providedFilterOption,\n renderFilter: providedRenderFilter,\n autoFocus,\n filterPlaceholder,\n withSpecialNoOptions,\n onOpenChange,\n disableTooltip,\n ...props\n },\n ref,\n ) => {\n const config = getConfig();\n const {t} = useLocalizedString(defaultMessages, config.lang);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const renderControl = useCallback<NonNullable<CommonSelectProps['renderControl']>>(\n (renderControlProps, config) => {\n const {triggerProps, ref, open} = renderControlProps;\n const hasError = validationState === 'invalid';\n\n if (loading) {\n return (\n <div\n ref={ref as Ref<HTMLDivElement>}\n className={cnSelect('button-wrapper')}\n >\n <ActionTooltip\n title={title ?? ''}\n disabled={disableTooltip || !title}\n placement=\"bottom\"\n >\n <Button\n view=\"outlined\"\n size={size}\n disabled\n width=\"max\"\n name={name}\n className={cnSelect(\n 'button',\n {\n loading: true,\n error: hasError,\n platform: 'desktop',\n },\n controlClassName,\n )}\n {...controlProps}\n id={id}\n >\n <Loader className={cnSelect('loader')} />\n {withArrow && (\n <Icon\n data={\n chevronView === 'touch' ? ChevronRight : ChevronDown\n }\n />\n )}\n </Button>\n </ActionTooltip>\n </div>\n );\n }\n\n if (providedRenderControl) {\n return providedRenderControl(renderControlProps, config);\n }\n\n const valueOptions: SelectOption[] = [];\n\n if (value && value.length) {\n for (const valueItem of value) {\n const valueOption = getValueOption(options ?? [], valueItem);\n\n if (valueOption) {\n valueOptions.push(valueOption);\n }\n }\n }\n\n return (\n <div ref={ref as Ref<HTMLDivElement>} className={cnSelect('button-wrapper')}>\n <ActionTooltip\n title={title ?? ''}\n disabled={disableTooltip || !title}\n placement=\"bottom\"\n >\n <Button\n view=\"outlined\"\n size={size}\n {...triggerProps}\n name={name}\n aria-haspopup=\"listbox\"\n width=\"max\"\n disabled={disabled}\n className={cnSelect(\n 'button',\n {\n empty: valueOptions.length === 0,\n 'with-icon': Boolean(icon),\n error: hasError,\n platform: 'desktop',\n },\n controlClassName,\n )}\n {...controlProps}\n id={id}\n >\n {icon}\n {renderDisplayValue ? (\n renderDisplayValue(valueOptions)\n ) : (\n <>\n {valueOptions.length === 0 && (placeholder || '—')}\n {valueOptions.map((item, index) => (\n <Fragment key={item.value}>\n {renderSelectedOption\n ? renderSelectedOption(item, index)\n : item.text || item.content}\n {index < valueOptions.length - 1 && ', '}\n </Fragment>\n ))}\n </>\n )}\n {withArrow && (\n <Icon\n size={chevronView === 'touch' ? 24 : 16}\n data={chevronView === 'touch' ? ChevronRight : ChevronDown}\n className={cnSelect('chevron', {\n open,\n })}\n />\n )}\n </Button>\n </ActionTooltip>\n </div>\n );\n },\n [\n validationState,\n loading,\n providedRenderControl,\n value,\n title,\n disableTooltip,\n id,\n size,\n name,\n disabled,\n icon,\n controlClassName,\n controlProps,\n renderDisplayValue,\n placeholder,\n withArrow,\n chevronView,\n options,\n renderSelectedOption,\n ],\n );\n\n const renderPopup = useCallback<NonNullable<CommonSelectProps['renderPopup']>>(\n ({renderFilter, renderList}) => (\n <>\n {renderFilter()}\n {renderList()}\n </>\n ),\n [],\n );\n\n const renderFilter = useCallback<NonNullable<CommonSelectProps['renderFilter']>>(\n ({inputProps}) => {\n const hasDefaultValue = (props.defaultValue?.length ?? 0) > 0;\n\n const controlProps = {\n role: 'combobox',\n 'aria-activedescendant': inputProps['aria-activedescendant'],\n 'aria-controls': inputProps['aria-controls'],\n 'aria-label': inputProps['aria-label'],\n };\n\n return (\n <TextInput\n autoFocus={autoFocus && !hasDefaultValue}\n className={cnSelect('filter')}\n {...inputProps}\n controlProps={controlProps}\n controlRef={inputRef}\n size={selectSize}\n name={name}\n />\n );\n },\n [autoFocus, props.defaultValue, selectSize, name],\n );\n\n const optionsWithLoading = useMemo(() => {\n if (!loadingItems) {\n if (!options?.length) {\n return [\n {\n value: '',\n disabled: true,\n content: withSpecialNoOptions ? (\n <div className={cnSelect('no-options')}>\n <Text color=\"primary\" variant=\"subheader-3\">\n {t('no-options-title')}\n </Text>\n <Text variant=\"body-2\">{t('no-options-description')}</Text>\n </div>\n ) : (\n <div className={cnSelect('no-options')}>{t('no-options')}</div>\n ),\n },\n ];\n }\n\n return options;\n }\n\n return [\n {\n value: '',\n disabled: true,\n content: (\n <div className={cnSelect('items-loader')}>\n <Loader size=\"m\" />\n </div>\n ),\n },\n ];\n }, [loadingItems, options, t, withSpecialNoOptions]);\n\n const withGroups = options?.some(isGroupOption);\n\n useEffect(() => {\n let timer: NodeJS.Timeout | undefined;\n\n if (open && inputRef.current) {\n timer = setTimeout(() => inputRef.current?.focus({preventScroll: true}), 0);\n }\n\n return () => {\n if (timer) {\n clearTimeout(timer);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- inputRef.current must be in list\n }, [open && inputRef.current]);\n\n return (\n <CommonSelect\n disablePortal={disablePortal}\n disabled={disabled || loading}\n options={optionsWithLoading}\n value={value}\n renderControl={renderControl}\n multiple\n renderOption={\n loadingItems || !options?.length ? renderOption : providedRenderOption\n }\n ref={ref}\n filterPlaceholder={filterPlaceholder ?? t('search')}\n popupClassName={cnSelect(\n 'popup',\n {\n 'with-groups': withGroups,\n filterable,\n },\n popupClassName,\n )}\n filterOption={providedFilterOption ?? filterOption}\n width={width}\n className={cnSelect(null, className)}\n size={size}\n validationState={validationState}\n renderPopup={renderPopup}\n open={open}\n renderFilter={providedRenderFilter ?? renderFilter}\n filterable={filterable}\n onOpenChange={onOpenChange}\n {...props}\n />\n );\n },\n);\n\nMultiSelect.displayName = 'MultiSelect';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cnSelect: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cn","require","cnSelect","exports","block"],"sources":["Select.classname.ts"],"sourcesContent":["import {block} from '../cn';\n\nexport const cnSelect = block('select');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,SAAK,EAAC,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
.tpc-select__button {
|
|
2
|
+
vertical-align: text-bottom;
|
|
3
|
+
}
|
|
4
|
+
.tpc-select__button_error::before {
|
|
5
|
+
--_--focus-outline-color: var(--g-color-line-danger);
|
|
6
|
+
border-color: var(--g-color-line-danger);
|
|
7
|
+
}
|
|
8
|
+
.tpc-select__button:not(.tpc-select__button_with-icon).tpc-select__button_empty {
|
|
9
|
+
color: var(--g-color-text-hint);
|
|
10
|
+
}
|
|
11
|
+
.tpc-select__button:not(.tpc-select__button_loading) {
|
|
12
|
+
justify-content: space-between;
|
|
13
|
+
}
|
|
14
|
+
.tpc-select__button:disabled {
|
|
15
|
+
color: var(--g-color-text-hint);
|
|
16
|
+
}
|
|
17
|
+
.tpc-select__button_clear {
|
|
18
|
+
padding: 0;
|
|
19
|
+
}
|
|
20
|
+
.tpc-select__button_clear .g-button__icon_side_end {
|
|
21
|
+
margin: 0;
|
|
22
|
+
}
|
|
23
|
+
.tpc-select__button_loading.g-button_width_max {
|
|
24
|
+
justify-content: space-between;
|
|
25
|
+
}
|
|
26
|
+
.tpc-select__button_loading.g-button_width_max .g-button__text {
|
|
27
|
+
margin: auto;
|
|
28
|
+
}
|
|
29
|
+
.tpc-select__button_platform_desktop .tpc-select__chevron_open {
|
|
30
|
+
transform: rotate(180deg);
|
|
31
|
+
}
|
|
32
|
+
.tpc-select__loader {
|
|
33
|
+
vertical-align: middle;
|
|
34
|
+
}
|
|
35
|
+
.tpc-select__items-loader {
|
|
36
|
+
display: flex;
|
|
37
|
+
justify-content: center;
|
|
38
|
+
}
|
|
39
|
+
.tpc-select__option {
|
|
40
|
+
display: inline-block;
|
|
41
|
+
width: 100%;
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
white-space: nowrap;
|
|
44
|
+
text-overflow: ellipsis;
|
|
45
|
+
}
|
|
46
|
+
.tpc-select__option_disabled {
|
|
47
|
+
cursor: default;
|
|
48
|
+
color: var(--g-color-text-secondary);
|
|
49
|
+
}
|
|
50
|
+
.tpc-select__no-options {
|
|
51
|
+
justify-content: center;
|
|
52
|
+
}
|
|
53
|
+
.tpc-select__popup .g-select-list__group-label-content {
|
|
54
|
+
color: var(--g-color-text-hint);
|
|
55
|
+
}
|
|
56
|
+
.tpc-select__popup .tpc-select__filter {
|
|
57
|
+
width: auto;
|
|
58
|
+
padding: var(--g-spacing-1) var(--g-spacing-1) 0;
|
|
59
|
+
}
|
|
60
|
+
.tpc-select__button-wrapper {
|
|
61
|
+
width: 100%;
|
|
62
|
+
}
|
|
63
|
+
.tpc-select__popup_mobile {
|
|
64
|
+
--suggest-offset: 230px;
|
|
65
|
+
}
|
|
66
|
+
.tpc-select__popup_mobile .tpc-select__filter {
|
|
67
|
+
width: auto;
|
|
68
|
+
padding: 0 var(--g-spacing-5);
|
|
69
|
+
margin-bottom: var(--g-spacing-2);
|
|
70
|
+
}
|
|
71
|
+
.tpc-select__popup_mobile .g-sheet__sheet-content {
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
padding: 0;
|
|
75
|
+
}
|
|
76
|
+
.tpc-select__popup_mobile .g-sheet__sheet-content > div:not([class]) {
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
flex: auto;
|
|
80
|
+
width: 100%;
|
|
81
|
+
min-height: 0;
|
|
82
|
+
}
|
|
83
|
+
.tpc-select__popup_mobile .g-sheet__sheet-content .g-select-filter {
|
|
84
|
+
flex: none;
|
|
85
|
+
}
|
|
86
|
+
.tpc-select__popup_mobile .g-sheet__sheet-content .g-select-list_mobile {
|
|
87
|
+
flex: auto;
|
|
88
|
+
}
|
|
89
|
+
.tpc-select__popup_mobile .g-select-list__option {
|
|
90
|
+
padding: var(--g-spacing-2) var(--g-spacing-4);
|
|
91
|
+
}
|
|
92
|
+
.tpc-select__popup_mobile .g-select-list__group-label-content {
|
|
93
|
+
font-weight: inherit;
|
|
94
|
+
}
|
|
95
|
+
.tpc-select__popup_mobile .g-select-list_mobile .g-select-list__group-label:not(.g-select-list__group-label_empty) {
|
|
96
|
+
height: auto;
|
|
97
|
+
}
|
|
98
|
+
.tpc-select__popup_mobile .g-select-list__item:has(.g-select-list__group-label) {
|
|
99
|
+
margin-top: var(--g-spacing-2);
|
|
100
|
+
}
|
|
101
|
+
.tpc-select__popup_mobile .g-select-list__item:not(:first-child) .g-select-list__group-label::before {
|
|
102
|
+
right: var(--g-spacing-3);
|
|
103
|
+
left: var(--g-spacing-3);
|
|
104
|
+
width: auto;
|
|
105
|
+
}
|
|
106
|
+
.tpc-select__popup_mobile.tpc-select__popup_filterable .g-sheet__sheet-content {
|
|
107
|
+
height: calc(100dvh - var(--suggest-offset));
|
|
108
|
+
}
|
|
109
|
+
.tpc-select__popup:not(.tpc-select__popup_mobile).tpc-select__popup_with-groups .g-select-list__option {
|
|
110
|
+
padding-left: var(--g-spacing-4);
|
|
111
|
+
}
|
|
112
|
+
.tpc-select__popup:not(.tpc-select__popup_mobile) .g-select-list {
|
|
113
|
+
/* stylelint-disable-next-line declaration-no-important */
|
|
114
|
+
max-height: 40vh !important;
|
|
115
|
+
}
|
|
116
|
+
.tpc-select__title_platform_touch {
|
|
117
|
+
padding-top: var(--g-spacing-3);
|
|
118
|
+
padding-bottom: var(--g-spacing-3);
|
|
119
|
+
margin: auto;
|
|
120
|
+
}
|
|
121
|
+
/*# sourceMappingURL=Select.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Select.scss"],"names":[],"mappings":"AAGI;EACI,2BAAA;AAFR;AAIQ;EACI,oDAAA;EACA,wCAAA;AAFZ;AAMY;EACI,+BAAA;AAJhB;AAQQ;EACI,8BAAA;AANZ;AASQ;EACI,+BAAA;AAPZ;AAUQ;EACI,UAAA;AARZ;AAUY;EACI,SAAA;AARhB;AAYQ;EACI,8BAAA;AAVZ;AAYY;EACI,YAAA;AAVhB;AAgBgB;EACI,yBAAA;AAdpB;AAoBI;EACI,sBAAA;AAlBR;AAqBI;EACI,aAAA;EACA,uBAAA;AAnBR;AAsBI;EACI,qBAAA;EAEA,WAAA;EAEA,gBAAA;EAEA,mBAAA;EACA,uBAAA;AAvBR;AAyBQ;EACI,eAAA;EAEA,oCAAA;AAxBZ;AA4BI;EACI,uBAAA;AA1BR;AA8BQ;EACI,+BAAA;AA5BZ;AA+BQ;EACI,WAAA;EACA,gDAAA;AA7BZ;AAiCI;EACI,WAAA;AA/BR;AAkCI;EACI,uBAAA;AAhCR;AAkCQ;EACI,WAAA;EACA,6BAAA;EACA,iCAAA;AAhCZ;AAmCQ;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;AAlCZ;AAoCY;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,WAAA;EACA,aAAA;AAnChB;AAsCY;EACI,UAAA;AApChB;AAuCY;EACI,UAAA;AArChB;AAyCQ;EACI,8CAAA;AAvCZ;AA0CQ;EACI,oBAAA;AAxCZ;AA2CQ;EACI,YAAA;AAzCZ;AA4CQ;EACI,8BAAA;AA1CZ;AA6CQ;EACI,yBAAA;EACA,wBAAA;EAEA,WAAA;AA5CZ;AAgDY;EACI,4CAAA;AA9ChB;AAqDY;EACI,gCAAA;AAnDhB;AAuDQ;EAEI,yDAAA;EACA,2BAAA;AAtDZ;AA2DQ;EACI,+BAAA;EACA,kCAAA;EACA,YAAA;AAzDZ","file":"Select.css","sourcesContent":["$arrowIconSpace: 25px;\n\n.tpc-select {\n &__button {\n vertical-align: text-bottom;\n\n &_error::before {\n --_--focus-outline-color: var(--g-color-line-danger);\n border-color: var(--g-color-line-danger);\n }\n\n &:not(.tpc-select__button_with-icon) {\n &.tpc-select__button_empty {\n color: var(--g-color-text-hint);\n }\n }\n\n &:not(.tpc-select__button_loading) {\n justify-content: space-between;\n }\n\n &:disabled {\n color: var(--g-color-text-hint);\n }\n\n &_clear {\n padding: 0;\n\n .g-button__icon_side_end {\n margin: 0;\n }\n }\n\n &_loading.g-button_width_max {\n justify-content: space-between;\n\n .g-button__text {\n margin: auto;\n }\n }\n\n &_platform {\n &_desktop {\n .tpc-select__chevron_open {\n transform: rotate(180deg);\n }\n }\n }\n }\n\n &__loader {\n vertical-align: middle;\n }\n\n &__items-loader {\n display: flex;\n justify-content: center;\n }\n\n &__option {\n display: inline-block;\n\n width: 100%;\n\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &_disabled {\n cursor: default;\n\n color: var(--g-color-text-secondary);\n }\n }\n\n &__no-options {\n justify-content: center;\n }\n\n &__popup {\n .g-select-list__group-label-content {\n color: var(--g-color-text-hint);\n }\n\n .tpc-select__filter {\n width: auto;\n padding: var(--g-spacing-1) var(--g-spacing-1) 0;\n }\n }\n\n &__button-wrapper {\n width: 100%;\n }\n\n &__popup_mobile {\n --suggest-offset: 230px;\n\n .tpc-select__filter {\n width: auto;\n padding: 0 var(--g-spacing-5);\n margin-bottom: var(--g-spacing-2);\n }\n\n .g-sheet__sheet-content {\n display: flex;\n flex-direction: column;\n\n padding: 0;\n\n > div:not([class]) {\n display: flex;\n flex-direction: column;\n\n flex: auto;\n width: 100%;\n min-height: 0;\n }\n\n .g-select-filter {\n flex: none;\n }\n\n .g-select-list_mobile {\n flex: auto;\n }\n }\n\n .g-select-list__option {\n padding: var(--g-spacing-2) var(--g-spacing-4);\n }\n\n .g-select-list__group-label-content {\n font-weight: inherit;\n }\n\n .g-select-list_mobile .g-select-list__group-label:not(.g-select-list__group-label_empty) {\n height: auto;\n }\n\n .g-select-list__item:has(.g-select-list__group-label) {\n margin-top: var(--g-spacing-2);\n }\n\n .g-select-list__item:not(:first-child) .g-select-list__group-label::before {\n right: var(--g-spacing-3);\n left: var(--g-spacing-3);\n\n width: auto;\n }\n\n &.tpc-select__popup_filterable {\n .g-sheet__sheet-content {\n height: calc(100dvh - var(--suggest-offset));\n }\n }\n }\n\n &__popup:not(.tpc-select__popup_mobile) {\n &.tpc-select__popup_with-groups {\n .g-select-list__option {\n padding-left: var(--g-spacing-4);\n }\n }\n\n .g-select-list {\n // override Select styles\n /* stylelint-disable-next-line declaration-no-important */\n max-height: 40vh !important;\n }\n }\n\n &__title {\n &_platform_touch {\n padding-top: var(--g-spacing-3);\n padding-bottom: var(--g-spacing-3);\n margin: auto;\n }\n }\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MultiSelectProps } from './MultiSelect';
|
|
3
|
+
export type SelectProps = Omit<MultiSelectProps, 'multiple' | 'value' | 'onUpdate' | 'onFocus' | 'onBlur'> & {
|
|
4
|
+
value?: string;
|
|
5
|
+
onUpdate: (value: string) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const Select: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "multiple" | "onUpdate" | "value" | "onFocus" | "onBlur"> & {
|
|
8
|
+
value?: string;
|
|
9
|
+
onUpdate: (value: string) => void;
|
|
10
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|