@weavix/tracker-components 0.0.3 → 0.1.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 +191 -19
- package/build/cjs/assets/icons/keyResult.d.ts +4 -0
- package/build/cjs/assets/icons/keyResult.js +21 -0
- package/build/cjs/assets/icons/keyResult.js.map +1 -0
- package/build/cjs/components/FieldsSelect/FieldsSelect.classname.js +1 -1
- package/build/cjs/components/FieldsSelect/FieldsSelect.classname.js.map +1 -1
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.js +1 -1
- package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -1
- package/build/cjs/components/Icon/GoalIcon/GoalIcon.d.ts +6 -0
- package/build/cjs/components/Icon/GoalIcon/GoalIcon.js +24 -0
- package/build/cjs/components/Icon/GoalIcon/GoalIcon.js.map +1 -0
- package/build/cjs/components/Icon/GoalIcon/README.md +123 -0
- package/build/cjs/components/Icon/GoalIcon/index.d.ts +1 -0
- package/build/cjs/components/Icon/GoalIcon/index.js +13 -0
- package/build/cjs/components/Icon/GoalIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/Icon.classname.js +1 -1
- package/build/cjs/components/Icon/Icon.classname.js.map +1 -1
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js +1 -1
- package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -1
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +1 -1
- package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -1
- package/build/cjs/components/Icon/IssueTypeIcon/README.md +105 -23
- package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.d.ts +4 -0
- package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.js +35 -0
- package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.js.map +1 -0
- package/build/cjs/components/Icon/KeyResultIcon/README.md +73 -0
- package/build/cjs/components/Icon/KeyResultIcon/i18n.d.ts +6 -0
- package/build/cjs/components/Icon/KeyResultIcon/i18n.js +13 -0
- package/build/cjs/components/Icon/KeyResultIcon/i18n.js.map +1 -0
- package/build/cjs/components/Icon/KeyResultIcon/index.d.ts +2 -0
- package/build/cjs/components/Icon/KeyResultIcon/index.js +13 -0
- package/build/cjs/components/Icon/KeyResultIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.d.ts +7 -0
- package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.js +46 -0
- package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.js.map +1 -0
- package/build/cjs/components/Icon/MetaEntityIcon/README.md +126 -0
- package/build/cjs/components/Icon/MetaEntityIcon/index.d.ts +2 -0
- package/build/cjs/components/Icon/MetaEntityIcon/index.js +13 -0
- package/build/cjs/components/Icon/MetaEntityIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/PortfolioIcon/README.md +87 -9
- package/build/cjs/components/Icon/PortfolioIcon/index.d.ts +2 -0
- package/build/cjs/components/Icon/PortfolioIcon/index.js +13 -0
- package/build/cjs/components/Icon/PortfolioIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/ProjectIcon/README.md +133 -9
- package/build/cjs/components/Icon/ProjectIcon/index.d.ts +2 -0
- package/build/cjs/components/Icon/ProjectIcon/index.js +13 -0
- package/build/cjs/components/Icon/ProjectIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/index.d.ts +7 -2
- package/build/cjs/components/Icon/index.js +57 -2
- package/build/cjs/components/Icon/index.js.map +1 -1
- package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.d.ts +1 -0
- package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js +9 -0
- package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.d.ts +10 -0
- package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.js +65 -0
- package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/README.md +183 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts +15 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js +69 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.d.ts +1 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js +9 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css +18 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.d.ts +10 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js +33 -0
- package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/i18n.d.ts +6 -0
- package/build/cjs/components/MetaEntitiesSelect/i18n.js +13 -0
- package/build/cjs/components/MetaEntitiesSelect/i18n.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/index.d.ts +2 -0
- package/build/cjs/components/MetaEntitiesSelect/index.js +13 -0
- package/build/cjs/components/MetaEntitiesSelect/index.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.d.ts +2 -0
- package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js +11 -0
- package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js.map +1 -0
- package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.d.ts +2 -0
- package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.js +10 -0
- package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.js.map +1 -0
- package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +1 -1
- package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -1
- package/build/cjs/components/QueueIcon/QueueIcon.classname.js +1 -1
- package/build/cjs/components/QueueIcon/QueueIcon.classname.js.map +1 -1
- package/build/cjs/components/QueueSelect/QueueSelect.classname.js +1 -1
- package/build/cjs/components/QueueSelect/QueueSelect.classname.js.map +1 -1
- package/build/cjs/components/QueueSelect/QueueSelect.css.map +1 -1
- package/build/cjs/components/Select/Autocomplete.d.ts +1 -1
- package/build/cjs/components/Select/MultiAutocomplete.d.ts +1 -1
- package/build/cjs/components/Select/Select.classname.js +1 -1
- package/build/cjs/components/Select/Select.classname.js.map +1 -1
- package/build/cjs/components/Select/Select.css.map +1 -1
- package/build/cjs/components/Select/Select.d.ts +1 -1
- package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js +1 -1
- package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -1
- package/build/cjs/components/Select/SelectSearch/SelectSearch.d.ts +1 -1
- package/build/cjs/components/Select/SelectSearch/SelectSearch.js +2 -2
- package/build/cjs/components/Select/SelectSearch/SelectSearch.js.map +1 -1
- package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +2 -2
- package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -1
- package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js +1 -1
- package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -1
- package/build/cjs/components/Suggest/Suggest.classname.d.ts +1 -0
- package/build/cjs/components/Suggest/Suggest.classname.js +9 -0
- package/build/cjs/components/Suggest/Suggest.classname.js.map +1 -0
- package/build/cjs/components/Suggest/Suggest.css +24 -0
- package/build/cjs/components/Suggest/Suggest.css.map +1 -0
- package/build/cjs/components/Suggest/Suggest.d.ts +147 -0
- package/build/cjs/components/Suggest/Suggest.js +621 -0
- package/build/cjs/components/Suggest/Suggest.js.map +1 -0
- package/build/cjs/components/Suggest/i18n.d.ts +22 -0
- package/build/cjs/components/Suggest/i18n.js +29 -0
- package/build/cjs/components/Suggest/i18n.js.map +1 -0
- package/build/cjs/components/Suggest/index.d.ts +1 -0
- package/build/cjs/components/Suggest/index.js +17 -0
- package/build/cjs/components/Suggest/index.js.map +1 -0
- package/build/cjs/components/TrackerDisclosure/README.md +205 -0
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js +1 -1
- package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -1
- package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js +1 -1
- package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js.map +1 -1
- package/build/cjs/components/TrackerSelect/TrackerSelect.css.map +1 -1
- package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.d.ts +9 -0
- package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.js +31 -0
- package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.js.map +1 -0
- package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.d.ts +1 -0
- package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.js +38 -0
- package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.js.map +1 -0
- package/build/cjs/hooks/useConditionallyControlledState.d.ts +1 -0
- package/build/cjs/hooks/useConditionallyControlledState.js +15 -0
- package/build/cjs/hooks/useConditionallyControlledState.js.map +1 -0
- package/build/cjs/hooks/useLocalizedString.d.ts +1 -1
- package/build/cjs/hooks/useLocalizedString.js.map +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +12 -0
- package/build/cjs/index.js.map +1 -1
- package/build/esm/assets/icons/keyResult.d.ts +4 -0
- package/build/esm/assets/icons/keyResult.js +13 -0
- package/build/esm/components/FieldsSelect/FieldsSelect.classname.js +1 -1
- package/build/esm/components/FieldsSelect/FieldsSelect.classname.js.map +1 -1
- package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js +1 -1
- package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -1
- package/build/esm/components/Icon/GoalIcon/GoalIcon.d.ts +6 -0
- package/build/esm/components/Icon/GoalIcon/GoalIcon.js +17 -0
- package/build/esm/components/Icon/GoalIcon/GoalIcon.js.map +1 -0
- package/build/esm/components/Icon/GoalIcon/README.md +123 -0
- package/build/esm/components/Icon/GoalIcon/index.d.ts +1 -0
- package/build/esm/components/Icon/GoalIcon/index.js +2 -0
- package/build/esm/components/Icon/GoalIcon/index.js.map +1 -0
- package/build/esm/components/Icon/Icon.classname.js +1 -1
- package/build/esm/components/Icon/Icon.classname.js.map +1 -1
- package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js +1 -1
- package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -1
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +1 -1
- package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -1
- package/build/esm/components/Icon/IssueTypeIcon/README.md +105 -23
- package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.d.ts +4 -0
- package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.js +28 -0
- package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.js.map +1 -0
- package/build/esm/components/Icon/KeyResultIcon/README.md +73 -0
- package/build/esm/components/Icon/KeyResultIcon/i18n.d.ts +6 -0
- package/build/esm/components/Icon/KeyResultIcon/i18n.js +7 -0
- package/build/esm/components/Icon/KeyResultIcon/i18n.js.map +1 -0
- package/build/esm/components/Icon/KeyResultIcon/index.d.ts +2 -0
- package/build/esm/components/Icon/KeyResultIcon/index.js +2 -0
- package/build/esm/components/Icon/KeyResultIcon/index.js.map +1 -0
- package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.d.ts +7 -0
- package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.js +39 -0
- package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.js.map +1 -0
- package/build/esm/components/Icon/MetaEntityIcon/README.md +126 -0
- package/build/esm/components/Icon/MetaEntityIcon/index.d.ts +2 -0
- package/build/esm/components/Icon/MetaEntityIcon/index.js +2 -0
- package/build/esm/components/Icon/MetaEntityIcon/index.js.map +1 -0
- package/build/esm/components/Icon/PortfolioIcon/README.md +87 -9
- package/build/esm/components/Icon/PortfolioIcon/index.d.ts +2 -0
- package/build/esm/components/Icon/PortfolioIcon/index.js +2 -0
- package/build/esm/components/Icon/PortfolioIcon/index.js.map +1 -0
- package/build/esm/components/Icon/ProjectIcon/README.md +133 -9
- package/build/esm/components/Icon/ProjectIcon/index.d.ts +2 -0
- package/build/esm/components/Icon/ProjectIcon/index.js +2 -0
- package/build/esm/components/Icon/ProjectIcon/index.js.map +1 -0
- package/build/esm/components/Icon/index.d.ts +7 -2
- package/build/esm/components/Icon/index.js +7 -2
- package/build/esm/components/Icon/index.js.map +1 -1
- package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.d.ts +1 -0
- package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js +3 -0
- package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.d.ts +10 -0
- package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.js +57 -0
- package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/README.md +183 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts +15 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js +61 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.d.ts +1 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js +3 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css +18 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.d.ts +10 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js +26 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.scss +24 -0
- package/build/esm/components/MetaEntitiesSelect/i18n.d.ts +6 -0
- package/build/esm/components/MetaEntitiesSelect/i18n.js +7 -0
- package/build/esm/components/MetaEntitiesSelect/i18n.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/index.d.ts +2 -0
- package/build/esm/components/MetaEntitiesSelect/index.js +2 -0
- package/build/esm/components/MetaEntitiesSelect/index.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.d.ts +2 -0
- package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js +5 -0
- package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js.map +1 -0
- package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.d.ts +2 -0
- package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.js +4 -0
- package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.js.map +1 -0
- package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +1 -1
- package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -1
- package/build/esm/components/QueueIcon/QueueIcon.classname.js +1 -1
- package/build/esm/components/QueueIcon/QueueIcon.classname.js.map +1 -1
- package/build/esm/components/QueueSelect/QueueSelect.classname.js +1 -1
- package/build/esm/components/QueueSelect/QueueSelect.classname.js.map +1 -1
- package/build/esm/components/QueueSelect/QueueSelect.css.map +1 -1
- package/build/esm/components/QueueSelect/QueueSelect.scss +4 -8
- package/build/esm/components/Select/Autocomplete.d.ts +1 -1
- package/build/esm/components/Select/MultiAutocomplete.d.ts +1 -1
- package/build/esm/components/Select/Select.classname.js +1 -1
- package/build/esm/components/Select/Select.classname.js.map +1 -1
- package/build/esm/components/Select/Select.css.map +1 -1
- package/build/esm/components/Select/Select.d.ts +1 -1
- package/build/esm/components/Select/Select.scss +3 -4
- package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js +1 -1
- package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -1
- package/build/esm/components/Select/SelectSearch/SelectSearch.d.ts +1 -1
- package/build/esm/components/Select/SelectSearch/SelectSearch.js +1 -1
- package/build/esm/components/Select/SelectSearch/SelectSearch.js.map +1 -1
- package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +2 -2
- package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -1
- package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js +1 -1
- package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -1
- package/build/esm/components/Suggest/Suggest.classname.d.ts +1 -0
- package/build/esm/components/Suggest/Suggest.classname.js +3 -0
- package/build/esm/components/Suggest/Suggest.classname.js.map +1 -0
- package/build/esm/components/Suggest/Suggest.css +24 -0
- package/build/esm/components/Suggest/Suggest.css.map +1 -0
- package/build/esm/components/Suggest/Suggest.d.ts +147 -0
- package/build/esm/components/Suggest/Suggest.js +613 -0
- package/build/esm/components/Suggest/Suggest.js.map +1 -0
- package/build/esm/components/Suggest/Suggest.scss +30 -0
- package/build/esm/components/Suggest/i18n.d.ts +22 -0
- package/build/esm/components/Suggest/i18n.js +23 -0
- package/build/esm/components/Suggest/i18n.js.map +1 -0
- package/build/esm/components/Suggest/index.d.ts +1 -0
- package/build/esm/components/Suggest/index.js +2 -0
- package/build/esm/components/Suggest/index.js.map +1 -0
- package/build/esm/components/TrackerDisclosure/README.md +205 -0
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js +1 -1
- package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -1
- package/build/esm/components/TrackerSelect/TrackerSelect.classname.js +1 -1
- package/build/esm/components/TrackerSelect/TrackerSelect.classname.js.map +1 -1
- package/build/esm/components/TrackerSelect/TrackerSelect.css.map +1 -1
- package/build/esm/components/TrackerSelect/TrackerSelect.scss +3 -5
- package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.d.ts +9 -0
- package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.js +24 -0
- package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.js.map +1 -0
- package/build/esm/components/useOnFocusOutside/useOnFocusOutside.d.ts +1 -0
- package/build/esm/components/useOnFocusOutside/useOnFocusOutside.js +31 -0
- package/build/esm/components/useOnFocusOutside/useOnFocusOutside.js.map +1 -0
- package/build/esm/hooks/useConditionallyControlledState.d.ts +1 -0
- package/build/esm/hooks/useConditionallyControlledState.js +9 -0
- package/build/esm/hooks/useConditionallyControlledState.js.map +1 -0
- package/build/esm/hooks/useLocalizedString.d.ts +1 -1
- package/build/esm/hooks/useLocalizedString.js.map +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/styles/mixins.scss +8 -0
- package/package.json +3 -4
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# MetaEntitiesSelect
|
|
2
|
+
|
|
3
|
+
<!-- description:start -->
|
|
4
|
+
A suggest-based select component for choosing Tracker meta entities (projects, portfolios, goals, or reports) inside a plugin. Renders each entity with its icon and display name, supports async item fetching, loading states, error display, and a clear button.
|
|
5
|
+
<!-- description:end -->
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import {MetaEntitiesSelect} from '@weavix/tracker-components';
|
|
11
|
+
import type {MetaEntitiesSelectProps} from '@weavix/tracker-components';
|
|
12
|
+
import type {MetaEntityV2} from '@weavix/tracker-api-types';
|
|
13
|
+
|
|
14
|
+
<MetaEntitiesSelect
|
|
15
|
+
getItems={(text) => fetchProjects(text)}
|
|
16
|
+
onChange={(entity) => console.log('selected', entity)}
|
|
17
|
+
/>;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Component props
|
|
21
|
+
|
|
22
|
+
<!-- props:start -->
|
|
23
|
+
```ts
|
|
24
|
+
{
|
|
25
|
+
/**
|
|
26
|
+
* Async or sync function called to fetch items.
|
|
27
|
+
* Receives the current text input and should return a list of MetaEntityV2 objects.
|
|
28
|
+
* Called on mount (getItemsOnMount) and on every text change.
|
|
29
|
+
*/
|
|
30
|
+
getItems?: (text: string) => MetaEntityV2[] | Promise<MetaEntityV2[]>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Callback fired when the user selects an entity from the suggest list.
|
|
34
|
+
*/
|
|
35
|
+
onChange?: (entity: MetaEntityV2) => void;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Callback fired when the text input value changes.
|
|
39
|
+
*/
|
|
40
|
+
onTextChange?: (text: string) => void;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Current text value of the input (controlled).
|
|
44
|
+
*/
|
|
45
|
+
text?: string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Placeholder text shown when the input is empty.
|
|
49
|
+
* @default 'Select a project'
|
|
50
|
+
*/
|
|
51
|
+
placeholder?: string;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Error message or boolean to display an error state on the control.
|
|
55
|
+
*/
|
|
56
|
+
error?: string | boolean;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Whether to show a clear (×) button when a value is selected.
|
|
60
|
+
* @default true
|
|
61
|
+
*/
|
|
62
|
+
hasClear?: boolean;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Additional CSS class applied to the root element.
|
|
66
|
+
*/
|
|
67
|
+
className?: string;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Additional CSS class applied to each item in the suggest list.
|
|
71
|
+
*/
|
|
72
|
+
itemClassName?: string;
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
<!-- props:end -->
|
|
76
|
+
|
|
77
|
+
## Types
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
// From @weavix/tracker-api-types
|
|
81
|
+
type MetaEntityV2 = {
|
|
82
|
+
id: string;
|
|
83
|
+
shortId: number;
|
|
84
|
+
entityType: 'project' | 'portfolio' | 'report' | 'goal';
|
|
85
|
+
self: string;
|
|
86
|
+
version: number;
|
|
87
|
+
createdBy: {self: string; id: string; display: string};
|
|
88
|
+
createdAt: string;
|
|
89
|
+
updatedAt: string;
|
|
90
|
+
fields?: {
|
|
91
|
+
summary?: {value: string};
|
|
92
|
+
[key: string]: unknown;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Tracker API
|
|
100
|
+
|
|
101
|
+
`MetaEntitiesSelect` is data-agnostic — it accepts items via the `getItems` prop. You are responsible for fetching data from the Tracker API and passing it to the component.
|
|
102
|
+
|
|
103
|
+
### Getting projects
|
|
104
|
+
|
|
105
|
+
Use the entities search endpoint to fetch projects (or other entity types):
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
const result = await trackerApi.v3.post['/entities/{entityType}/_search']({
|
|
109
|
+
pathParams: {
|
|
110
|
+
entityType: 'project',
|
|
111
|
+
},
|
|
112
|
+
queryParams: {
|
|
113
|
+
fields: ['summary'],
|
|
114
|
+
page:1,
|
|
115
|
+
perPage: 50,
|
|
116
|
+
},
|
|
117
|
+
bodyParams: {
|
|
118
|
+
filter: {},
|
|
119
|
+
filterTypes: ['ALL'],
|
|
120
|
+
input,
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
return result.data; // MetaEntityV2[]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
> **Other entity types:** The `entityType` path parameter accepts `'portfolio' | 'project' | 'report' | 'goal'`. Use the appropriate value depending on which entities you want to display in the select.
|
|
127
|
+
|
|
128
|
+
> **Result:** Always return `result.data` from the API response.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
### Example — Projects select with Tracker API
|
|
133
|
+
|
|
134
|
+
Fetches projects on every text change using the entities search endpoint. Request errors are caught and passed to the component via the `error` prop.
|
|
135
|
+
|
|
136
|
+
```tsx
|
|
137
|
+
import React, {useState} from 'react';
|
|
138
|
+
import {MetaEntitiesSelect} from '@weavix/tracker-components';
|
|
139
|
+
import type {MetaEntityV2} from '@weavix/tracker-api-types';
|
|
140
|
+
|
|
141
|
+
interface Props {
|
|
142
|
+
trackerApi: TrackerApi; // your Tracker API client
|
|
143
|
+
onChange: (entity: MetaEntityV2) => void;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const ProjectSelect: React.FC<Props> = ({trackerApi, onChange}) => {
|
|
147
|
+
const [error, setError] = useState<string | undefined>(undefined);
|
|
148
|
+
|
|
149
|
+
const getItems = async (input: string): Promise<MetaEntityV2[]> => {
|
|
150
|
+
setError(undefined);
|
|
151
|
+
try {
|
|
152
|
+
const result = await trackerApi.v3.post['/entities/{entityType}/_search']({
|
|
153
|
+
pathParams: {
|
|
154
|
+
entityType: 'project',
|
|
155
|
+
},
|
|
156
|
+
queryParams: {
|
|
157
|
+
fields: ['summary'],
|
|
158
|
+
page:1,
|
|
159
|
+
perPage: 50,
|
|
160
|
+
},
|
|
161
|
+
bodyParams: {
|
|
162
|
+
filter: {},
|
|
163
|
+
filterTypes: ['ALL'],
|
|
164
|
+
input,
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
return result.data;
|
|
168
|
+
} catch (err) {
|
|
169
|
+
setError(err instanceof Error ? err.message : 'Failed to load projects');
|
|
170
|
+
return [];
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
return (
|
|
175
|
+
<MetaEntitiesSelect
|
|
176
|
+
getItems={getItems}
|
|
177
|
+
onChange={onChange}
|
|
178
|
+
error={error}
|
|
179
|
+
placeholder="Select a project"
|
|
180
|
+
/>
|
|
181
|
+
);
|
|
182
|
+
};
|
|
183
|
+
```
|
package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Ref } from 'react';
|
|
3
|
+
import { SuggestView } from '~/src/components/Suggest';
|
|
4
|
+
import type { SuggestProps } from '~/src/components/Suggest';
|
|
5
|
+
type SuggestPropsToOmit = 'text' | 'onTextUpdate' | 'applicableInputValue' | 'onInputEnterKeyDown' | 'onUpdate';
|
|
6
|
+
export type EntitiesSuggestProps<EntityType extends unknown = {}> = Omit<SuggestProps<EntityType>, SuggestPropsToOmit> & {
|
|
7
|
+
onChange?: (entity: EntityType | null) => void;
|
|
8
|
+
getItemId: (item: EntityType) => string | number;
|
|
9
|
+
getSuggestTextFromClickedItem: (item: EntityType) => string;
|
|
10
|
+
suggestRef?: Ref<SuggestView<EntityType>>;
|
|
11
|
+
text?: string;
|
|
12
|
+
onTextChange?: (text: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare const EntitiesSuggest: <EntityType extends unknown = {}>({ onItemClick, onChange, hasClear, debounce, getItems, getItemId, getSuggestTextFromClickedItem, suggestRef, text: providedText, onTextChange, getItemsOnMount, ...suggestProps }: EntitiesSuggestProps<EntityType>) => React.JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["onItemClick", "onChange", "hasClear", "debounce", "getItems", "getItemId", "getSuggestTextFromClickedItem", "suggestRef", "text", "onTextChange", "getItemsOnMount"];
|
|
5
|
+
import React, { useCallback, useState } from 'react';
|
|
6
|
+
import { Suggest } from "./../../../Suggest";
|
|
7
|
+
import { useConditionallyControlledState } from "./../../../../hooks/useConditionallyControlledState";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
export var EntitiesSuggest = function EntitiesSuggest(_ref) {
|
|
10
|
+
var onItemClick = _ref.onItemClick,
|
|
11
|
+
onChange = _ref.onChange,
|
|
12
|
+
_ref$hasClear = _ref.hasClear,
|
|
13
|
+
hasClear = _ref$hasClear === void 0 ? true : _ref$hasClear,
|
|
14
|
+
_ref$debounce = _ref.debounce,
|
|
15
|
+
debounce = _ref$debounce === void 0 ? 500 : _ref$debounce,
|
|
16
|
+
getItems = _ref.getItems,
|
|
17
|
+
getItemId = _ref.getItemId,
|
|
18
|
+
getSuggestTextFromClickedItem = _ref.getSuggestTextFromClickedItem,
|
|
19
|
+
suggestRef = _ref.suggestRef,
|
|
20
|
+
_ref$text = _ref.text,
|
|
21
|
+
providedText = _ref$text === void 0 ? '' : _ref$text,
|
|
22
|
+
onTextChange = _ref.onTextChange,
|
|
23
|
+
getItemsOnMount = _ref.getItemsOnMount,
|
|
24
|
+
suggestProps = _objectWithoutProperties(_ref, _excluded);
|
|
25
|
+
var _useConditionallyCont = useConditionallyControlledState(providedText, onTextChange),
|
|
26
|
+
_useConditionallyCont2 = _slicedToArray(_useConditionallyCont, 2),
|
|
27
|
+
text = _useConditionallyCont2[0],
|
|
28
|
+
setText = _useConditionallyCont2[1];
|
|
29
|
+
var _useState = useState(null),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
currentEntity = _useState2[0],
|
|
32
|
+
setCurrentEntity = _useState2[1];
|
|
33
|
+
var handleItemClick = useCallback(function (item, index, fromKeyboard) {
|
|
34
|
+
setText(getSuggestTextFromClickedItem(item));
|
|
35
|
+
if (!currentEntity || getItemId(item) !== getItemId(currentEntity)) {
|
|
36
|
+
setCurrentEntity(item);
|
|
37
|
+
onChange === null || onChange === void 0 || onChange(item);
|
|
38
|
+
}
|
|
39
|
+
return onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item, index, fromKeyboard);
|
|
40
|
+
}, [currentEntity, getSuggestTextFromClickedItem, getItemId, onChange, onItemClick, setText]);
|
|
41
|
+
var handleUpdate = useCallback(function (input) {
|
|
42
|
+
setText(input);
|
|
43
|
+
if (currentEntity !== null) {
|
|
44
|
+
setCurrentEntity(null);
|
|
45
|
+
onChange === null || onChange === void 0 || onChange(null);
|
|
46
|
+
}
|
|
47
|
+
}, [currentEntity, onChange, setText]);
|
|
48
|
+
return /*#__PURE__*/_jsx(Suggest, _objectSpread(_objectSpread({}, suggestProps), {}, {
|
|
49
|
+
ref: suggestRef,
|
|
50
|
+
text: text,
|
|
51
|
+
onUpdate: handleUpdate,
|
|
52
|
+
getItems: getItems,
|
|
53
|
+
onItemClick: handleItemClick,
|
|
54
|
+
debounce: debounce,
|
|
55
|
+
hasClear: hasClear,
|
|
56
|
+
syncPopupOnResize: true,
|
|
57
|
+
getItemsOnMount: getItemsOnMount || providedText.length > 0,
|
|
58
|
+
autoComplete: false
|
|
59
|
+
}));
|
|
60
|
+
};
|
|
61
|
+
// #sourceMappingURL=EntitiesSuggest.js.map
|
package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useState","Suggest","useConditionallyControlledState","jsx","_jsx","EntitiesSuggest","_ref","onItemClick","onChange","_ref$hasClear","hasClear","_ref$debounce","debounce","getItems","getItemId","getSuggestTextFromClickedItem","suggestRef","_ref$text","text","providedText","onTextChange","getItemsOnMount","suggestProps","_objectWithoutProperties","_excluded","_useConditionallyCont","_useConditionallyCont2","_slicedToArray","setText","_useState","_useState2","currentEntity","setCurrentEntity","handleItemClick","item","index","fromKeyboard","handleUpdate","input","_objectSpread","ref","onUpdate","syncPopupOnResize","length","autoComplete"],"sources":["EntitiesSuggest.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport type {Ref} from 'react';\n\nimport {Suggest, SuggestView} from '~/src/components/Suggest';\nimport type {SuggestProps} from '~/src/components/Suggest';\nimport {useConditionallyControlledState} from '~/src/hooks/useConditionallyControlledState';\n\ntype SuggestPropsToOmit =\n | 'text'\n | 'onTextUpdate'\n | 'applicableInputValue'\n | 'onInputEnterKeyDown'\n | 'onUpdate';\n\nexport type EntitiesSuggestProps<EntityType extends unknown = {}> = Omit<\n SuggestProps<EntityType>,\n SuggestPropsToOmit\n> & {\n onChange?: (entity: EntityType | null) => void;\n getItemId: (item: EntityType) => string | number;\n getSuggestTextFromClickedItem: (item: EntityType) => string;\n suggestRef?: Ref<SuggestView<EntityType>>;\n text?: string;\n onTextChange?: (text: string) => void;\n};\n\nexport const EntitiesSuggest = <EntityType extends unknown = {}>({\n onItemClick,\n onChange,\n hasClear = true,\n debounce = 500,\n getItems,\n getItemId,\n getSuggestTextFromClickedItem,\n suggestRef,\n text: providedText = '',\n onTextChange,\n getItemsOnMount,\n ...suggestProps\n}: EntitiesSuggestProps<EntityType>) => {\n const [text, setText] = useConditionallyControlledState(providedText, onTextChange);\n const [currentEntity, setCurrentEntity] = useState<EntityType | null>(null);\n\n const handleItemClick = useCallback(\n (item: EntityType, index?: number, fromKeyboard?: boolean) => {\n setText(getSuggestTextFromClickedItem(item));\n\n if (!currentEntity || getItemId(item) !== getItemId(currentEntity)) {\n setCurrentEntity(item);\n onChange?.(item);\n }\n\n return onItemClick?.(item, index, fromKeyboard);\n },\n [currentEntity, getSuggestTextFromClickedItem, getItemId, onChange, onItemClick, setText],\n );\n\n const handleUpdate = useCallback(\n (input: string) => {\n setText(input);\n\n if (currentEntity !== null) {\n setCurrentEntity(null);\n onChange?.(null);\n }\n },\n [currentEntity, onChange, setText],\n );\n\n return (\n <Suggest<EntityType>\n {...suggestProps}\n ref={suggestRef}\n text={text}\n onUpdate={handleUpdate}\n getItems={getItems}\n onItemClick={handleItemClick}\n debounce={debounce}\n hasClear={hasClear}\n syncPopupOnResize\n getItemsOnMount={getItemsOnMount || providedText.length > 0}\n autoComplete={false}\n />\n );\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,QAAQ,QAAO,OAAO;AAGlD,SAAQC,OAAO;AAEf,SAAQC,+BAA+B;AAAqD,SAAAC,GAAA,IAAAC,IAAA;AAqB5F,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAaY;EAAA,IAZpCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,aAAA,GAAAH,IAAA,CACRI,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IAAAE,aAAA,GAAAL,IAAA,CACfM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,GAAG,GAAAA,aAAA;IACdE,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,SAAS,GAAAR,IAAA,CAATQ,SAAS;IACTC,6BAA6B,GAAAT,IAAA,CAA7BS,6BAA6B;IAC7BC,UAAU,GAAAV,IAAA,CAAVU,UAAU;IAAAC,SAAA,GAAAX,IAAA,CACVY,IAAI;IAAEC,YAAY,GAAAF,SAAA,cAAG,EAAE,GAAAA,SAAA;IACvBG,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,eAAe,GAAAf,IAAA,CAAfe,eAAe;IACZC,YAAY,GAAAC,wBAAA,CAAAjB,IAAA,EAAAkB,SAAA;EAEf,IAAAC,qBAAA,GAAwBvB,+BAA+B,CAACiB,YAAY,EAAEC,YAAY,CAAC;IAAAM,sBAAA,GAAAC,cAAA,CAAAF,qBAAA;IAA5EP,IAAI,GAAAQ,sBAAA;IAAEE,OAAO,GAAAF,sBAAA;EACpB,IAAAG,SAAA,GAA0C7B,QAAQ,CAAoB,IAAI,CAAC;IAAA8B,UAAA,GAAAH,cAAA,CAAAE,SAAA;IAApEE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EAEtC,IAAMG,eAAe,GAAGlC,WAAW,CAC/B,UAACmC,IAAgB,EAAEC,KAAc,EAAEC,YAAsB,EAAK;IAC1DR,OAAO,CAACb,6BAA6B,CAACmB,IAAI,CAAC,CAAC;IAE5C,IAAI,CAACH,aAAa,IAAIjB,SAAS,CAACoB,IAAI,CAAC,KAAKpB,SAAS,CAACiB,aAAa,CAAC,EAAE;MAChEC,gBAAgB,CAACE,IAAI,CAAC;MACtB1B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG0B,IAAI,CAAC;IACpB;IAEA,OAAO3B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG2B,IAAI,EAAEC,KAAK,EAAEC,YAAY,CAAC;EACnD,CAAC,EACD,CAACL,aAAa,EAAEhB,6BAA6B,EAAED,SAAS,EAAEN,QAAQ,EAAED,WAAW,EAAEqB,OAAO,CAC5F,CAAC;EAED,IAAMS,YAAY,GAAGtC,WAAW,CAC5B,UAACuC,KAAa,EAAK;IACfV,OAAO,CAACU,KAAK,CAAC;IAEd,IAAIP,aAAa,KAAK,IAAI,EAAE;MACxBC,gBAAgB,CAAC,IAAI,CAAC;MACtBxB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,IAAI,CAAC;IACpB;EACJ,CAAC,EACD,CAACuB,aAAa,EAAEvB,QAAQ,EAAEoB,OAAO,CACrC,CAAC;EAED,oBACIxB,IAAA,CAACH,OAAO,EAAAsC,aAAA,CAAAA,aAAA,KACAjB,YAAY;IAChBkB,GAAG,EAAExB,UAAW;IAChBE,IAAI,EAAEA,IAAK;IACXuB,QAAQ,EAAEJ,YAAa;IACvBxB,QAAQ,EAAEA,QAAS;IACnBN,WAAW,EAAE0B,eAAgB;IAC7BrB,QAAQ,EAAEA,QAAS;IACnBF,QAAQ,EAAEA,QAAS;IACnBgC,iBAAiB;IACjBrB,eAAe,EAAEA,eAAe,IAAIF,YAAY,CAACwB,MAAM,GAAG,CAAE;IAC5DC,YAAY,EAAE;EAAM,EACvB,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cnEntitiesSuggestItem: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["block","cnEntitiesSuggestItem"],"sources":["EntitiesSuggestItem.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnEntitiesSuggestItem = block('entities-suggest-item');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,qBAAqB,GAAGD,KAAK,CAAC,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.tpc-entities-suggest-item {
|
|
2
|
+
display: flex;
|
|
3
|
+
gap: var(--g-spacing-3);
|
|
4
|
+
align-items: center;
|
|
5
|
+
padding: var(--g-spacing-2) var(--g-spacing-4);
|
|
6
|
+
font-size: var(--g-text-body-1-font-size);
|
|
7
|
+
line-height: var(--g-text-body-1-line-height-rel);
|
|
8
|
+
}
|
|
9
|
+
.tpc-entities-suggest-item__name {
|
|
10
|
+
color: var(--g-color-text-primary);
|
|
11
|
+
}
|
|
12
|
+
.tpc-entities-suggest-item__description {
|
|
13
|
+
color: var(--g-color-text-secondary);
|
|
14
|
+
white-space: nowrap;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
text-overflow: ellipsis;
|
|
17
|
+
}
|
|
18
|
+
/*# sourceMappingURL=EntitiesSuggestItem.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["EntitiesSuggestItem.scss","../../../../../../node_modules/@gravity-ui/uikit/styles/mixins.scss"],"names":[],"mappings":"AAKA;EACI,aAAA;EACA,uBAAA;EACA,mBAAA;EAEA,8CAAA;EAEA,yCAAA;EACA,iDAAA;AANJ;AAQI;EACI,kCAAA;AANR;AASI;EACI,oCAAA;EChBJ,mBAAA;EACA,gBAAA;EACA,uBAH4B;ADahC","file":"EntitiesSuggestItem.css","sourcesContent":["@use '../../../../styles/variables.scss';\n@use '../../../../styles/mixins.scss';\n\n$block: '.#{variables.$ns}entities-suggest-item';\n\n#{$block} {\n display: flex;\n gap: var(--g-spacing-3);\n align-items: center;\n\n padding: var(--g-spacing-2) var(--g-spacing-4);\n\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height-rel);\n\n &__name {\n color: var(--g-color-text-primary);\n }\n\n &__description {\n color: var(--g-color-text-secondary);\n @include mixins.overflow-ellipsis();\n }\n}\n","@use 'sass:list';\n@use 'sass:selector';\n\n@mixin overflow-ellipsis($type: ellipsis) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: $type;\n}\n\n@mixin button-reset() {\n padding: 0;\n\n font-family: var(--g-text-body-font-family);\n font-size: inherit;\n font-weight: var(--g-text-body-font-weight);\n\n color: inherit;\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n\n@mixin link-reset() {\n color: inherit;\n text-decoration: inherit;\n}\n\n@mixin expand-interactive-area($h: 4px, $v: $h) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n inset: logical (-$v) (-$h);\n }\n}\n\n@mixin max-height($height) {\n max-height: $height;\n overflow-y: auto;\n}\n\n@mixin max-text-width($width: 100%) {\n @include overflow-ellipsis();\n\n max-width: $width;\n}\n\n@mixin aspect-ratio($ratio) {\n position: relative;\n\n &::before {\n display: block;\n content: '';\n width: 100%;\n padding-block-start: $ratio * 100%;\n }\n\n > *:only-child {\n position: absolute;\n inset: 0;\n }\n}\n\n@function get-pin-selector($mod, $selector, $append: true) {\n @if $append {\n @return selector.append($mod, $selector);\n } @else {\n @return list.join($mod, $selector, $separator: space);\n }\n}\n\n@mixin pin($block, $selectors, $radius, $append: true) {\n @each $selector in $selectors {\n @at-root #{get-pin-selector(#{$block}_pin_round-round, $selector, $append)} {\n border-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-brick, $selector, $append)} {\n border-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-clear, $selector, $append)} {\n border-radius: 0;\n border-inline: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-circle, $selector, $append)} {\n border-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-brick, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-clear, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-clear, $selector, $append)} {\n border-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-brick, $selector, $append)} {\n border-radius: 0;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-brick, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-clear, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n border-inline-start: 0;\n }\n }\n}\n\n// Typography\n\n@mixin text-body-1() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n\n@mixin text-body-2() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n\n@mixin text-body-3() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n\n@mixin text-body-short() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n}\n\n@mixin text-caption-1() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-1-font-size);\n line-height: var(--g-text-caption-1-line-height);\n}\n\n@mixin text-caption-2() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n}\n\n@mixin text-header-1() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-1-font-size);\n line-height: var(--g-text-header-1-line-height);\n}\n\n@mixin text-header-2() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-2-font-size);\n line-height: var(--g-text-header-2-line-height);\n}\n\n@mixin text-subheader-1() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-1-font-size);\n line-height: var(--g-text-subheader-1-line-height);\n}\n\n@mixin text-subheader-2() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n}\n\n@mixin text-subheader-3() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n}\n\n@mixin text-display-1() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-1-font-size);\n line-height: var(--g-text-display-1-line-height);\n}\n\n@mixin text-display-2() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-2-font-size);\n line-height: var(--g-text-display-2-line-height);\n}\n\n@mixin text-display-3() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-3-font-size);\n line-height: var(--g-text-display-3-line-height);\n}\n\n@mixin text-display-4() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-4-font-size);\n line-height: var(--g-text-display-4-line-height);\n}\n\n@mixin text-code-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-1-font-size);\n line-height: var(--g-text-code-1-line-height);\n}\n\n@mixin text-code-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-2-font-size);\n line-height: var(--g-text-code-2-line-height);\n}\n\n@mixin text-code-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-3-font-size);\n line-height: var(--g-text-code-3-line-height);\n}\n\n@mixin text-code-inline-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-1-font-size);\n line-height: var(--g-text-code-inline-1-line-height);\n}\n\n@mixin text-code-inline-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-2-font-size);\n line-height: var(--g-text-code-inline-2-line-height);\n}\n\n@mixin text-code-inline-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-3-font-size);\n line-height: var(--g-text-code-inline-3-line-height);\n}\n\n@mixin text-accent() {\n font-weight: var(--g-text-accent-font-weight);\n}\n\n@mixin loading($loading-color-1: rgba(255, 255, 255, 0.3), $loading-color-2: transparent) {\n background-image: repeating-linear-gradient(\n -45deg,\n $loading-color-1,\n $loading-color-1 4px,\n $loading-color-2 4px,\n $loading-color-2 8px\n );\n background-size: 150%;\n background-clip: padding-box;\n\n // stylelint-disable-next-line no-unknown-animations\n animation: g-loading-animation 0.5s linear infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n}\n\n@mixin scrollbar() {\n &::-webkit-scrollbar,\n *::-webkit-scrollbar {\n width: var(--g-scrollbar-width);\n height: var(--g-scrollbar-width);\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-track,\n *::-webkit-scrollbar-track {\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-corner,\n *::-webkit-scrollbar-corner {\n background: var(--g-color-scroll-corner);\n }\n\n &::-webkit-scrollbar-thumb,\n *::-webkit-scrollbar-thumb {\n background: var(--g-color-scroll-handle);\n }\n\n &::-webkit-scrollbar-thumb:hover,\n *::-webkit-scrollbar-thumb:hover {\n background: var(--g-color-scroll-handle-hover);\n }\n}\n\n@mixin focus-outline() {\n outline: 2px solid var(--g-color-line-focus);\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FC, ReactNode } from 'react';
|
|
2
|
+
import './EntitiesSuggestItem.scss';
|
|
3
|
+
export type EntitiesSuggestItemProps = {
|
|
4
|
+
icon?: ReactNode;
|
|
5
|
+
id: number | string;
|
|
6
|
+
name: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const EntitiesSuggestItem: FC<EntitiesSuggestItemProps>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "core-js/modules/es.symbol.js";
|
|
2
|
+
import "core-js/modules/es.symbol.description.js";
|
|
3
|
+
import "core-js/modules/es.function.name.js";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { cnEntitiesSuggestItem } from "./EntitiesSuggestItem.classname";
|
|
6
|
+
import "./EntitiesSuggestItem.css";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export var EntitiesSuggestItem = function EntitiesSuggestItem(_ref) {
|
|
9
|
+
var icon = _ref.icon,
|
|
10
|
+
name = _ref.name,
|
|
11
|
+
description = _ref.description,
|
|
12
|
+
className = _ref.className;
|
|
13
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
14
|
+
className: cnEntitiesSuggestItem(null, className),
|
|
15
|
+
children: [icon, /*#__PURE__*/_jsxs("div", {
|
|
16
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
17
|
+
className: cnEntitiesSuggestItem('name'),
|
|
18
|
+
children: name
|
|
19
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
20
|
+
className: cnEntitiesSuggestItem('description'),
|
|
21
|
+
children: description
|
|
22
|
+
})]
|
|
23
|
+
})]
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
// #sourceMappingURL=EntitiesSuggestItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","cnEntitiesSuggestItem","jsx","_jsx","jsxs","_jsxs","EntitiesSuggestItem","_ref","icon","name","description","className","children"],"sources":["EntitiesSuggestItem.tsx"],"sourcesContent":["import type {FC, ReactNode} from 'react';\nimport React from 'react';\n\nimport {cnEntitiesSuggestItem} from './EntitiesSuggestItem.classname';\n\nimport './EntitiesSuggestItem.scss';\n\nexport type EntitiesSuggestItemProps = {\n icon?: ReactNode;\n id: number | string;\n name: string;\n description?: string;\n className?: string;\n};\n\nexport const EntitiesSuggestItem: FC<EntitiesSuggestItemProps> = ({\n icon,\n name,\n description,\n className,\n}) => {\n return (\n <div className={cnEntitiesSuggestItem(null, className)}>\n {icon}\n <div>\n <div className={cnEntitiesSuggestItem('name')}>{name}</div>\n <div className={cnEntitiesSuggestItem('description')}>{description}</div>\n </div>\n </div>\n );\n};\n"],"mappings":";;;AACA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAAQC,qBAAqB;AAE7B;AAAoC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUpC,OAAO,IAAMC,mBAAiD,GAAG,SAApDA,mBAAiDA,CAAAC,IAAA,EAKxD;EAAA,IAJFC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,SAAS,GAAAJ,IAAA,CAATI,SAAS;EAET,oBACIN,KAAA;IAAKM,SAAS,EAAEV,qBAAqB,CAAC,IAAI,EAAEU,SAAS,CAAE;IAAAC,QAAA,GAClDJ,IAAI,eACLH,KAAA;MAAAO,QAAA,gBACIT,IAAA;QAAKQ,SAAS,EAAEV,qBAAqB,CAAC,MAAM,CAAE;QAAAW,QAAA,EAAEH;MAAI,CAAM,CAAC,eAC3DN,IAAA;QAAKQ,SAAS,EAAEV,qBAAqB,CAAC,aAAa,CAAE;QAAAW,QAAA,EAAEF;MAAW,CAAM,CAAC;IAAA,CACxE,CAAC;EAAA,CACL,CAAC;AAEd,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@use '../../../../styles/variables.scss';
|
|
2
|
+
@use '../../../../styles/mixins.scss';
|
|
3
|
+
|
|
4
|
+
$block: '.#{variables.$ns}entities-suggest-item';
|
|
5
|
+
|
|
6
|
+
#{$block} {
|
|
7
|
+
display: flex;
|
|
8
|
+
gap: var(--g-spacing-3);
|
|
9
|
+
align-items: center;
|
|
10
|
+
|
|
11
|
+
padding: var(--g-spacing-2) var(--g-spacing-4);
|
|
12
|
+
|
|
13
|
+
font-size: var(--g-text-body-1-font-size);
|
|
14
|
+
line-height: var(--g-text-body-1-line-height-rel);
|
|
15
|
+
|
|
16
|
+
&__name {
|
|
17
|
+
color: var(--g-color-text-primary);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__description {
|
|
21
|
+
color: var(--g-color-text-secondary);
|
|
22
|
+
@include mixins.overflow-ellipsis();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultMessages","placeholder","ru","en"],"sources":["i18n.ts"],"sourcesContent":["export const defaultMessages = {\n placeholder: {\n ru: 'Выберите проект',\n en: 'Select a project',\n },\n};\n"],"mappings":"AAAA,OAAO,IAAMA,eAAe,GAAG;EAC3BC,WAAW,EAAE;IACTC,EAAE,EAAE,iBAAiB;IACrBC,EAAE,EAAE;EACR;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MetaEntitiesSelect"],"sources":["index.ts"],"sourcesContent":["export {MetaEntitiesSelect} from './MetaEntitiesSelect';\nexport type {MetaEntitiesSelectProps} from './MetaEntitiesSelect';\n"],"mappings":"AAAA,SAAQA,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function getMetaEntityDisplay(metaEntity) {
|
|
2
|
+
var _metaEntity$fields, _metaEntity$fields2, _metaEntity$fields$su, _metaEntity$fields3;
|
|
3
|
+
return typeof ((_metaEntity$fields = metaEntity.fields) === null || _metaEntity$fields === void 0 ? void 0 : _metaEntity$fields.summary) === 'string' ? (_metaEntity$fields2 = metaEntity.fields) === null || _metaEntity$fields2 === void 0 ? void 0 : _metaEntity$fields2.summary : String((_metaEntity$fields$su = (_metaEntity$fields3 = metaEntity.fields) === null || _metaEntity$fields3 === void 0 || (_metaEntity$fields3 = _metaEntity$fields3.summary) === null || _metaEntity$fields3 === void 0 ? void 0 : _metaEntity$fields3.value) !== null && _metaEntity$fields$su !== void 0 ? _metaEntity$fields$su : metaEntity.id);
|
|
4
|
+
}
|
|
5
|
+
// #sourceMappingURL=getMetaEntityDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getMetaEntityDisplay","metaEntity","_metaEntity$fields","_metaEntity$fields2","_metaEntity$fields$su","_metaEntity$fields3","fields","summary","String","value","id"],"sources":["getMetaEntityDisplay.ts"],"sourcesContent":["import type {MetaEntityV2} from '@weavix/tracker-api-types';\n\nexport function getMetaEntityDisplay(metaEntity: MetaEntityV2) {\n return typeof metaEntity.fields?.summary === 'string'\n ? metaEntity.fields?.summary\n : String(metaEntity.fields?.summary?.value ?? metaEntity.id);\n}\n"],"mappings":"AAEA,OAAO,SAASA,oBAAoBA,CAACC,UAAwB,EAAE;EAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA;EAC3D,OAAO,SAAAH,kBAAA,GAAOD,UAAU,CAACK,MAAM,cAAAJ,kBAAA,uBAAjBA,kBAAA,CAAmBK,OAAO,MAAK,QAAQ,IAAAJ,mBAAA,GAC/CF,UAAU,CAACK,MAAM,cAAAH,mBAAA,uBAAjBA,mBAAA,CAAmBI,OAAO,GAC1BC,MAAM,EAAAJ,qBAAA,IAAAC,mBAAA,GAACJ,UAAU,CAACK,MAAM,cAAAD,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBE,OAAO,cAAAF,mBAAA,uBAA1BA,mBAAA,CAA4BI,KAAK,cAAAL,qBAAA,cAAAA,qBAAA,GAAIH,UAAU,CAACS,EAAE,CAAC;AACpE","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getMetaEntityId","metaEntity","id"],"sources":["getMetaEntityId.ts"],"sourcesContent":["import type {MetaEntityV2} from '@weavix/tracker-api-types';\n\nexport function getMetaEntityId(metaEntity: MetaEntityV2) {\n return metaEntity.id;\n}\n"],"mappings":"AAEA,OAAO,SAASA,eAAeA,CAACC,UAAwB,EAAE;EACtD,OAAOA,UAAU,CAACC,EAAE;AACxB","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Field } from '@
|
|
2
|
+
import type { Field } from '@weavix/tracker-api-types';
|
|
3
3
|
import type { FieldsSelectProps } from '~/src/components/FieldsSelect';
|
|
4
4
|
import type { TrackerSelectItemValueBase } from '~/src/components/TrackerSelect';
|
|
5
5
|
export type PluginFieldsSelectField = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","FieldsSelect","jsx","_jsx","PluginFieldsSelect","_ref","fields","fieldsSelectProps","_objectWithoutProperties","_excluded","groups","categories","length","forEach","field","_field$category","_field$category2","categoryId","String","category","id","_field$category3","_objectSpread","name","display","collapsible","items","Object","values"],"sources":["PluginFieldsSelect.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\n\nimport type {Field} from '@
|
|
1
|
+
{"version":3,"names":["React","useMemo","FieldsSelect","jsx","_jsx","PluginFieldsSelect","_ref","fields","fieldsSelectProps","_objectWithoutProperties","_excluded","groups","categories","length","forEach","field","_field$category","_field$category2","categoryId","String","category","id","_field$category3","_objectSpread","name","display","collapsible","items","Object","values"],"sources":["PluginFieldsSelect.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\n\nimport type {Field} from '@weavix/tracker-api-types';\n\nimport type {FieldsSelectProps} from '~/src/components/FieldsSelect';\nimport {FieldsSelect} from '~/src/components/FieldsSelect';\nimport type {\n TrackerSelectGroup,\n TrackerSelectItem,\n TrackerSelectItemValueBase,\n TrackerSelectItems,\n} from '~/src/components/TrackerSelect';\n\nexport type PluginFieldsSelectField = {\n id: string;\n name: string;\n category: TrackerSelectItemValueBase;\n} & Partial<Omit<Field, 'category' | 'name'>>;\n\nexport type PluginFieldsSelectProps = {\n fields: PluginFieldsSelectField[];\n} & Omit<FieldsSelectProps, 'groups'>;\n\nexport const PluginFieldsSelect = ({fields, ...fieldsSelectProps}: PluginFieldsSelectProps) => {\n const groups = useMemo(() => {\n const categories: Record<string, TrackerSelectGroup> = {};\n if (fields && fields.length > 0) {\n fields.forEach((field) => {\n const categoryId = String(field.category?.id);\n if (field.category?.id) {\n categories[categoryId] = categories[categoryId] || {\n ...field.category,\n name: field.category?.display,\n collapsible: true,\n items: {} as TrackerSelectItems,\n };\n categories[categoryId].items[field.id] = {\n ...field,\n display: String(field.name),\n } as unknown as TrackerSelectItem;\n }\n });\n }\n return Object.values(categories);\n }, [fields]);\n\n return <FieldsSelect groups={groups} {...fieldsSelectProps} />;\n};\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AAKpC,SAAQC,YAAY;AAAuC,SAAAC,GAAA,IAAAC,IAAA;AAkB3D,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAgE;EAAA,IAA3DC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAKC,iBAAiB,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAC5D,IAAMC,MAAM,GAAGV,OAAO,CAAC,YAAM;IACzB,IAAMW,UAA8C,GAAG,CAAC,CAAC;IACzD,IAAIL,MAAM,IAAIA,MAAM,CAACM,MAAM,GAAG,CAAC,EAAE;MAC7BN,MAAM,CAACO,OAAO,CAAC,UAACC,KAAK,EAAK;QAAA,IAAAC,eAAA,EAAAC,gBAAA;QACtB,IAAMC,UAAU,GAAGC,MAAM,EAAAH,eAAA,GAACD,KAAK,CAACK,QAAQ,cAAAJ,eAAA,uBAAdA,eAAA,CAAgBK,EAAE,CAAC;QAC7C,KAAAJ,gBAAA,GAAIF,KAAK,CAACK,QAAQ,cAAAH,gBAAA,eAAdA,gBAAA,CAAgBI,EAAE,EAAE;UAAA,IAAAC,gBAAA;UACpBV,UAAU,CAACM,UAAU,CAAC,GAAGN,UAAU,CAACM,UAAU,CAAC,IAAAK,aAAA,CAAAA,aAAA,KACxCR,KAAK,CAACK,QAAQ;YACjBI,IAAI,GAAAF,gBAAA,GAAEP,KAAK,CAACK,QAAQ,cAAAE,gBAAA,uBAAdA,gBAAA,CAAgBG,OAAO;YAC7BC,WAAW,EAAE,IAAI;YACjBC,KAAK,EAAE,CAAC;UAAuB,EAClC;UACDf,UAAU,CAACM,UAAU,CAAC,CAACS,KAAK,CAACZ,KAAK,CAACM,EAAE,CAAC,GAAAE,aAAA,CAAAA,aAAA,KAC/BR,KAAK;YACRU,OAAO,EAAEN,MAAM,CAACJ,KAAK,CAACS,IAAI;UAAC,EACE;QACrC;MACJ,CAAC,CAAC;IACN;IACA,OAAOI,MAAM,CAACC,MAAM,CAACjB,UAAU,CAAC;EACpC,CAAC,EAAE,CAACL,MAAM,CAAC,CAAC;EAEZ,oBAAOH,IAAA,CAACF,YAAY,EAAAqB,aAAA;IAACZ,MAAM,EAAEA;EAAO,GAAKH,iBAAiB,CAAG,CAAC;AAClE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["block","cnQueueIcon"],"sources":["QueueIcon.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["block","cnQueueIcon"],"sources":["QueueIcon.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnQueueIcon = block('queue-icon');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,WAAW,GAAGD,KAAK,CAAC,YAAY,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["block","cnQueueSelect"],"sources":["QueueSelect.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["block","cnQueueSelect"],"sources":["QueueSelect.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnQueueSelect = block('queue-select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,aAAa,GAAGD,KAAK,CAAC,cAAc,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["QueueSelect.scss"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["QueueSelect.scss","../../styles/mixins.scss"],"names":[],"mappings":"AAGI;EACI,YAAA;AAFR;AAKI;EACI,WAAA;AAHR;AAMI;EACI,oCAAA;AAJR;AAQQ;EACI,8CAAA;EACA,mBAAA;EAEA,YAAA;EAEA,kCAAA;AARZ;AAWQ;EACI,4BAAA;AATZ;AAaI;EACI,aAAA;EACA,sBAAA;AAXR;;AAeA;EACI,aAAA;EACA,mBAAA;AAZJ;AAcI;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,YAAA;EACA,gCAAA;AAbR;AAgBI;;EAEI,yCAAA;EACA,6CAAA;AAdR;AAiBI;EACI,kCAAA;ECrDJ,gBAAA;EAEA,mBAAA;EACA,uBAAA;ADsCJ;AAgBI;EACI,oCAAA;AAdR;AAiBI;EACI,eAAA;AAfR;;AAmBA;EACI,aAAA;EACA,mBAAA;AAhBJ;AAkBI;EACI,6BAAA;AAhBR;AAmBI;EACI,gCAAA;AAjBR;;AAsBI;EACI,gCAAA;AAnBR;;AAwBI;EACI,aAAA;AArBR;AAwBI;EACI,aAAA;AAtBR;;AA2BI;EACI,aAAA;AAxBR;AA2BI;EACI,aAAA;AAzBR;;AA6BA;EACI,gBAAA;AA1BJ;;AA6BA;EACI,oBAAA;EC9GA,gBAAA;EAEA,mBAAA;EACA,uBAAA;ADoFJ;;AA4BA;EACI,uBAAA;AAzBJ;;AA4BA;EACI,sBAAA;EACA,8CAAA;AAzBJ;;AA4BA;EACI,UAAA;AAzBJ;;AA4BA;EACI,6BAAA;AAzBJ;;AA4BA;EACI,6BAAA;AAzBJ","file":"QueueSelect.css","sourcesContent":["@use '../../styles/mixins.scss';\n\n.tpc-queue-select {\n &:not(.tpc-queue-select_with-border) .tpc-select__button::before {\n border: none;\n }\n\n &__control {\n width: 100%;\n }\n\n &__control-block.g-button_size_xl .g-button__icon-inner {\n color: var(--g-color-text-secondary);\n }\n\n &_mobile {\n .tpc-queue-select__control-block {\n --g-button-background-color-hover: transparent;\n align-items: center;\n\n height: auto;\n\n color: var(--g-color-text-primary);\n }\n\n .g-select-list {\n margin: var(--g-spacing-2) 0;\n }\n }\n\n &__popup-content {\n display: flex;\n flex-direction: column;\n }\n}\n\n.tpc-queue-select__select-item_forPopup {\n display: flex;\n align-items: center;\n\n .tpc-queue-select__select-item-texts {\n display: flex;\n flex-direction: column;\n\n flex: auto;\n min-width: 0;\n padding-left: var(--g-spacing-3);\n }\n\n .tpc-queue-select__select-item-name,\n .tpc-queue-select__select-item-key {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n }\n\n .tpc-queue-select__select-item-name {\n color: var(--g-color-text-primary);\n @include mixins.text-overflow();\n }\n\n .tpc-queue-select__select-item-key {\n color: var(--g-color-text-secondary);\n }\n\n .tpc-queue-select__select-item-icon {\n min-width: 24px;\n }\n}\n\n.tpc-queue-select__select-item_forControl {\n display: flex;\n align-items: center;\n\n &_size-xl {\n padding: var(--g-spacing-2) 0;\n }\n\n .tpc-queue-select__select-item-icon {\n margin-right: var(--g-spacing-3);\n }\n}\n\n.tpc-queue-select__select-item_platform_touch {\n .tpc-queue-select__select-item-icon {\n margin-right: var(--g-spacing-1);\n }\n}\n\n.tpc-queue-select__control.tpc-queue-select__select-item {\n &.tpc-queue-select__select-item_forPopup {\n display: none;\n }\n\n &.tpc-queue-select__select-item_forControl {\n display: flex;\n }\n}\n\n.tpc-queue-select__popup.tpc-queue-select__select-item {\n &.tpc-queue-select__select-item_forPopup {\n display: flex;\n }\n\n &.tpc-queue-select__select-item_forControl {\n display: none;\n }\n}\n\n.tpc-queue-select__popup {\n min-width: 320px;\n}\n\n.tpc-queue-select__select-value-name {\n line-height: unset; // stylelint-disable-line\n\n @include mixins.text-overflow();\n}\n\n.tpc-queue-select__select-display {\n gap: var(--g-spacing-2);\n}\n\n.tpc-queue-select__search {\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-4);\n}\n\n.tpc-queue-select__list-item {\n padding: 0;\n}\n\n.g-select-list__option_colored:has(.tpc-queue-select__list-item_selected) {\n background-color: transparent;\n}\n\n.g-select-list__item.g-list__item_active:has(.tpc-queue-select__list-item_selected) {\n background-color: transparent;\n}\n","@forward '~@gravity-ui/uikit/styles/mixins';\n\n@mixin text-overflow {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n"],"sourceRoot":""}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use '../../styles/mixins.scss';
|
|
2
|
+
|
|
1
3
|
.tpc-queue-select {
|
|
2
4
|
&:not(.tpc-queue-select_with-border) .tpc-select__button::before {
|
|
3
5
|
border: none;
|
|
@@ -53,10 +55,7 @@
|
|
|
53
55
|
|
|
54
56
|
.tpc-queue-select__select-item-name {
|
|
55
57
|
color: var(--g-color-text-primary);
|
|
56
|
-
overflow
|
|
57
|
-
|
|
58
|
-
white-space: nowrap;
|
|
59
|
-
text-overflow: ellipsis;
|
|
58
|
+
@include mixins.text-overflow();
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
.tpc-queue-select__select-item-key {
|
|
@@ -114,10 +113,7 @@
|
|
|
114
113
|
.tpc-queue-select__select-value-name {
|
|
115
114
|
line-height: unset; // stylelint-disable-line
|
|
116
115
|
|
|
117
|
-
overflow
|
|
118
|
-
|
|
119
|
-
white-space: nowrap;
|
|
120
|
-
text-overflow: ellipsis;
|
|
116
|
+
@include mixins.text-overflow();
|
|
121
117
|
}
|
|
122
118
|
|
|
123
119
|
.tpc-queue-select__select-display {
|
|
@@ -5,7 +5,7 @@ export type AutocompleteProps<TValue = any> = Omit<MultiAutocompleteProps, 'mult
|
|
|
5
5
|
value?: SelectOption<TValue>;
|
|
6
6
|
onUpdate: (value: SelectOption<TValue>) => void;
|
|
7
7
|
};
|
|
8
|
-
export declare const Autocomplete: React.ForwardRefExoticComponent<Omit<MultiAutocompleteProps, "multiple" | "
|
|
8
|
+
export declare const Autocomplete: React.ForwardRefExoticComponent<Omit<MultiAutocompleteProps, "multiple" | "value" | "onUpdate"> & {
|
|
9
9
|
value?: SelectOption<any> | undefined;
|
|
10
10
|
onUpdate: (value: SelectOption<any>) => void;
|
|
11
11
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -6,7 +6,7 @@ export type MultiAutocompleteProps = Omit<MultiSelectProps, 'filterable' | 'valu
|
|
|
6
6
|
onUpdate: (value: SelectOption[]) => void;
|
|
7
7
|
searchDelay?: number;
|
|
8
8
|
};
|
|
9
|
-
export declare const MultiAutocomplete: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "
|
|
9
|
+
export declare const MultiAutocomplete: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "value" | "onUpdate" | "filterable"> & {
|
|
10
10
|
value?: SelectOption[];
|
|
11
11
|
onUpdate: (value: SelectOption[]) => void;
|
|
12
12
|
searchDelay?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["block","cnSelect"],"sources":["Select.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["block","cnSelect"],"sources":["Select.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnSelect = block('select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,QAAQ,GAAGD,KAAK,CAAC,QAAQ,CAAC","ignoreList":[]}
|