@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,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "PortfolioIcon", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _PortfolioIcon.PortfolioIcon;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _PortfolioIcon = require("./PortfolioIcon");
|
|
13
|
+
// #sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_PortfolioIcon","require"],"sources":["index.ts"],"sourcesContent":["export {PortfolioIcon} from './PortfolioIcon';\nexport type {PortfolioIconProps} from './PortfolioIcon';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -1,51 +1,175 @@
|
|
|
1
1
|
# ProjectIcon
|
|
2
2
|
|
|
3
3
|
<!-- description:start -->
|
|
4
|
-
|
|
4
|
+
Displays a colored icon for a Tracker project entity. The icon color is deterministically derived from the `projectId`, so the same project always renders the same color across sessions and environments.
|
|
5
5
|
<!-- description:end -->
|
|
6
6
|
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import {ProjectIcon} from '@weavix/tracker-components';
|
|
11
|
+
|
|
12
|
+
<ProjectIcon projectId={123} />
|
|
13
|
+
```
|
|
14
|
+
|
|
7
15
|
## Component props
|
|
8
16
|
|
|
9
17
|
<!-- props:start -->
|
|
10
18
|
```ts
|
|
11
19
|
{
|
|
12
20
|
/**
|
|
13
|
-
* Project ID used to generate a deterministic color
|
|
21
|
+
* Project ID used to generate a deterministic color.
|
|
22
|
+
* Accepts either the numeric shortId or a string entity ID.
|
|
14
23
|
*/
|
|
15
24
|
projectId?: number | string;
|
|
25
|
+
|
|
16
26
|
/**
|
|
17
|
-
* Additional class
|
|
27
|
+
* Additional CSS class applied to the root element.
|
|
18
28
|
*/
|
|
19
29
|
className?: string;
|
|
30
|
+
|
|
20
31
|
/**
|
|
21
|
-
* Entity type label
|
|
32
|
+
* Entity type label. Defaults to "project".
|
|
22
33
|
*/
|
|
23
34
|
type?: string;
|
|
35
|
+
|
|
24
36
|
/**
|
|
25
|
-
* Size of the SVG icon inside the container in pixels
|
|
37
|
+
* Size of the SVG icon inside the container in pixels.
|
|
26
38
|
* @default 16
|
|
27
39
|
*/
|
|
28
40
|
size?: number;
|
|
41
|
+
|
|
29
42
|
/**
|
|
30
|
-
* Size of the icon container in pixels
|
|
43
|
+
* Size of the icon container (the colored square) in pixels.
|
|
31
44
|
* @default 24
|
|
32
45
|
*/
|
|
33
46
|
refugeSize?: number;
|
|
47
|
+
|
|
34
48
|
/**
|
|
35
|
-
* Whether to render a colored background behind the icon
|
|
49
|
+
* Whether to render a colored background behind the icon.
|
|
36
50
|
* @default true
|
|
37
51
|
*/
|
|
38
52
|
withBackground?: boolean;
|
|
53
|
+
|
|
39
54
|
/**
|
|
40
|
-
* Border radius variant of the icon container
|
|
55
|
+
* Border radius variant of the icon container.
|
|
41
56
|
* @default 'm'
|
|
42
57
|
*/
|
|
43
58
|
radius?: 'm' | 'l';
|
|
59
|
+
|
|
44
60
|
/**
|
|
45
|
-
* Alpha (opacity) of the icon color
|
|
61
|
+
* Alpha (opacity) of the icon foreground color.
|
|
46
62
|
* @default 1
|
|
47
63
|
*/
|
|
48
64
|
colorAlpha?: number;
|
|
49
65
|
}
|
|
50
66
|
```
|
|
51
67
|
<!-- props:end -->
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
### Default
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
import {ProjectIcon} from '@weavix/tracker-components';
|
|
77
|
+
|
|
78
|
+
<ProjectIcon projectId={123} />
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Without background
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
// Renders only the colored SVG, no background square
|
|
85
|
+
<ProjectIcon projectId={123} withBackground={false} />
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Custom size
|
|
89
|
+
|
|
90
|
+
```tsx
|
|
91
|
+
<ProjectIcon projectId={123} size={20} refugeSize={32} />
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Large radius
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
<ProjectIcon projectId={123} radius="l" />
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Alongside project name
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
import {ProjectIcon} from '@weavix/tracker-components';
|
|
104
|
+
|
|
105
|
+
export const ProjectLabel = ({project}: {project: {shortId: number; name: string}}) => (
|
|
106
|
+
<div style={{display: 'flex', alignItems: 'center', gap: 8}}>
|
|
107
|
+
<ProjectIcon projectId={project.shortId} />
|
|
108
|
+
<span>{project.name}</span>
|
|
109
|
+
</div>
|
|
110
|
+
);
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Multiple projects (each gets a unique color)
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
const projects = [
|
|
117
|
+
{shortId: 1, name: 'Backend API'},
|
|
118
|
+
{shortId: 2, name: 'Mobile App'},
|
|
119
|
+
{shortId: 3, name: 'Design System'},
|
|
120
|
+
];
|
|
121
|
+
|
|
122
|
+
projects.map((p) => (
|
|
123
|
+
<div key={p.shortId} style={{display: 'flex', alignItems: 'center', gap: 8}}>
|
|
124
|
+
<ProjectIcon projectId={p.shortId} />
|
|
125
|
+
<span>{p.name}</span>
|
|
126
|
+
</div>
|
|
127
|
+
));
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Rendering from a Tracker API response
|
|
131
|
+
|
|
132
|
+
The Tracker entities search endpoint returns `shortId` as a number — pass it directly:
|
|
133
|
+
|
|
134
|
+
```tsx
|
|
135
|
+
import React, {useEffect, useState} from 'react';
|
|
136
|
+
import {ProjectIcon} from '@weavix/tracker-components';
|
|
137
|
+
import type {MetaEntityV2} from '@weavix/tracker-api-types';
|
|
138
|
+
|
|
139
|
+
interface Props {
|
|
140
|
+
trackerApi: TrackerApi;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export const ProjectList: React.FC<Props> = ({trackerApi}) => {
|
|
144
|
+
const [projects, setProjects] = useState<MetaEntityV2[]>([]);
|
|
145
|
+
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
trackerApi.v3
|
|
148
|
+
.post['/entities/{entityType}/_search']({
|
|
149
|
+
pathParams: {entityType: 'project'},
|
|
150
|
+
queryParams: {fields: ['summary'], page: 1, perPage: 20},
|
|
151
|
+
bodyParams: {filter: {}, filterTypes: ['ALL'], input: ''},
|
|
152
|
+
})
|
|
153
|
+
.then((result) => setProjects(result.data));
|
|
154
|
+
}, [trackerApi]);
|
|
155
|
+
|
|
156
|
+
return (
|
|
157
|
+
<ul>
|
|
158
|
+
{projects.map((project) => (
|
|
159
|
+
<li key={project.id} style={{display: 'flex', alignItems: 'center', gap: 8}}>
|
|
160
|
+
<ProjectIcon projectId={project.shortId} />
|
|
161
|
+
<span>{project.fields?.summary?.value ?? project.id}</span>
|
|
162
|
+
</li>
|
|
163
|
+
))}
|
|
164
|
+
</ul>
|
|
165
|
+
);
|
|
166
|
+
};
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Notes
|
|
172
|
+
|
|
173
|
+
- `withBackground` defaults to `true` for projects (vs `false` for [`PortfolioIcon`](../PortfolioIcon/README.md)).
|
|
174
|
+
- Pass `projectId` as the **numeric `shortId`** from the Tracker API for consistent color generation. String IDs are also accepted.
|
|
175
|
+
- To render the correct icon for an arbitrary meta entity type, use [`MetaEntityIcon`](../MetaEntityIcon/README.md) instead.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ProjectIcon", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _ProjectIcon.ProjectIcon;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _ProjectIcon = require("./ProjectIcon");
|
|
13
|
+
// #sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ProjectIcon","require"],"sources":["index.ts"],"sourcesContent":["export {ProjectIcon} from './ProjectIcon';\nexport type {ProjectIconProps} from './ProjectIcon';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export * from './EntityIcon';
|
|
2
|
+
export * from './GoalIcon';
|
|
3
|
+
export * from './IconRefuge';
|
|
1
4
|
export * from './IssueTypeIcon';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
5
|
+
export * from './KeyResultIcon';
|
|
6
|
+
export * from './MetaEntityIcon';
|
|
7
|
+
export * from './PortfolioIcon';
|
|
8
|
+
export * from './ProjectIcon';
|
|
@@ -3,6 +3,39 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _EntityIcon = require("./EntityIcon");
|
|
7
|
+
Object.keys(_EntityIcon).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _EntityIcon[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _EntityIcon[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _GoalIcon = require("./GoalIcon");
|
|
18
|
+
Object.keys(_GoalIcon).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _GoalIcon[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _GoalIcon[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _IconRefuge = require("./IconRefuge");
|
|
29
|
+
Object.keys(_IconRefuge).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _IconRefuge[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _IconRefuge[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
6
39
|
var _IssueTypeIcon = require("./IssueTypeIcon");
|
|
7
40
|
Object.keys(_IssueTypeIcon).forEach(function (key) {
|
|
8
41
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -14,7 +47,29 @@ Object.keys(_IssueTypeIcon).forEach(function (key) {
|
|
|
14
47
|
}
|
|
15
48
|
});
|
|
16
49
|
});
|
|
17
|
-
var
|
|
50
|
+
var _KeyResultIcon = require("./KeyResultIcon");
|
|
51
|
+
Object.keys(_KeyResultIcon).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _KeyResultIcon[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _KeyResultIcon[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _MetaEntityIcon = require("./MetaEntityIcon");
|
|
62
|
+
Object.keys(_MetaEntityIcon).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _MetaEntityIcon[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _MetaEntityIcon[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
var _PortfolioIcon = require("./PortfolioIcon");
|
|
18
73
|
Object.keys(_PortfolioIcon).forEach(function (key) {
|
|
19
74
|
if (key === "default" || key === "__esModule") return;
|
|
20
75
|
if (key in exports && exports[key] === _PortfolioIcon[key]) return;
|
|
@@ -25,7 +80,7 @@ Object.keys(_PortfolioIcon).forEach(function (key) {
|
|
|
25
80
|
}
|
|
26
81
|
});
|
|
27
82
|
});
|
|
28
|
-
var _ProjectIcon = require("./ProjectIcon
|
|
83
|
+
var _ProjectIcon = require("./ProjectIcon");
|
|
29
84
|
Object.keys(_ProjectIcon).forEach(function (key) {
|
|
30
85
|
if (key === "default" || key === "__esModule") return;
|
|
31
86
|
if (key in exports && exports[key] === _ProjectIcon[key]) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_EntityIcon","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_GoalIcon","_IconRefuge","_IssueTypeIcon","_KeyResultIcon","_MetaEntityIcon","_PortfolioIcon","_ProjectIcon"],"sources":["index.ts"],"sourcesContent":["export * from './EntityIcon';\nexport * from './GoalIcon';\nexport * from './IconRefuge';\nexport * from './IssueTypeIcon';\nexport * from './KeyResultIcon';\nexport * from './MetaEntityIcon';\nexport * from './PortfolioIcon';\nexport * from './ProjectIcon';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cnMetaEntitiesSelect: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.cnMetaEntitiesSelect = void 0;
|
|
7
|
+
var _cn = require("./../cn");
|
|
8
|
+
var cnMetaEntitiesSelect = exports.cnMetaEntitiesSelect = (0, _cn.block)('meta-entities-select');
|
|
9
|
+
// #sourceMappingURL=MetaEntitiesSelect.classname.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cn","require","cnMetaEntitiesSelect","exports","block"],"sources":["MetaEntitiesSelect.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnMetaEntitiesSelect = block('meta-entities-select');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAAE,SAAK,EAAC,sBAAsB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { MetaEntityV2 } from '@weavix/tracker-api-types';
|
|
3
|
+
import type { EntitiesSuggestProps } from './components/EntitiesSuggest/EntitiesSuggest';
|
|
4
|
+
type EntitiesSuggestPropsToOmit = 'getItemId' | 'getSuggestTextFromClickedItem' | 'renderItem';
|
|
5
|
+
export type MetaEntitiesSelectProps = Omit<EntitiesSuggestProps<MetaEntityV2>, EntitiesSuggestPropsToOmit> & {
|
|
6
|
+
className?: string;
|
|
7
|
+
itemClassName?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const MetaEntitiesSelect: FC<MetaEntitiesSelectProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MetaEntitiesSelect = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _uikit = require("@gravity-ui/uikit");
|
|
12
|
+
var _Icon = require("./../Icon");
|
|
13
|
+
var _useLocalizedString2 = require("./../../hooks/useLocalizedString");
|
|
14
|
+
var _MetaEntitiesSelect = require("./MetaEntitiesSelect.classname");
|
|
15
|
+
var _EntitiesSuggest = require("./components/EntitiesSuggest/EntitiesSuggest");
|
|
16
|
+
var _EntitiesSuggestItem = require("./components/EntitiesSuggestItem/EntitiesSuggestItem");
|
|
17
|
+
var _i18n = require("./i18n");
|
|
18
|
+
var _getMetaEntityDisplay = require("./utils/getMetaEntityDisplay");
|
|
19
|
+
var _getMetaEntityId = require("./utils/getMetaEntityId");
|
|
20
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
+
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); }
|
|
22
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
|
+
var _excluded = ["className", "itemClassName", "placeholder", "text", "onTextChange"];
|
|
24
|
+
var MetaEntitiesSelect = exports.MetaEntitiesSelect = function MetaEntitiesSelect(_ref) {
|
|
25
|
+
var className = _ref.className,
|
|
26
|
+
itemClassName = _ref.itemClassName,
|
|
27
|
+
placeholder = _ref.placeholder,
|
|
28
|
+
initialText = _ref.text,
|
|
29
|
+
onTextChange = _ref.onTextChange,
|
|
30
|
+
suggestProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
31
|
+
var config = (0, _uikit.getConfig)();
|
|
32
|
+
var _useLocalizedString = (0, _useLocalizedString2.useLocalizedString)(_i18n.defaultMessages, config.lang),
|
|
33
|
+
t = _useLocalizedString.t;
|
|
34
|
+
var _useState = (0, _react.useState)(initialText !== null && initialText !== void 0 ? initialText : ''),
|
|
35
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
|
+
text = _useState2[0],
|
|
37
|
+
setText = _useState2[1];
|
|
38
|
+
var handleTextChange = (0, _react.useCallback)(function (value) {
|
|
39
|
+
setText(value);
|
|
40
|
+
onTextChange === null || onTextChange === void 0 || onTextChange(value);
|
|
41
|
+
}, [setText, onTextChange]);
|
|
42
|
+
var renderItem = (0, _react.useCallback)(function (entity) {
|
|
43
|
+
var entityName = (0, _getMetaEntityDisplay.getMetaEntityDisplay)(entity);
|
|
44
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_EntitiesSuggestItem.EntitiesSuggestItem, {
|
|
45
|
+
id: entity.id,
|
|
46
|
+
name: entityName,
|
|
47
|
+
className: (0, _MetaEntitiesSelect.cnMetaEntitiesSelect)('item', itemClassName),
|
|
48
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.MetaEntityIcon, {
|
|
49
|
+
entity: entity
|
|
50
|
+
})
|
|
51
|
+
}, entity.id);
|
|
52
|
+
}, [itemClassName]);
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_EntitiesSuggest.EntitiesSuggest, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, suggestProps), {}, {
|
|
54
|
+
className: (0, _MetaEntitiesSelect.cnMetaEntitiesSelect)(null, className),
|
|
55
|
+
renderItem: renderItem,
|
|
56
|
+
placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t('placeholder'),
|
|
57
|
+
getItemsOnMount: true,
|
|
58
|
+
showItemsOnNoText: true,
|
|
59
|
+
getItemId: _getMetaEntityId.getMetaEntityId,
|
|
60
|
+
getSuggestTextFromClickedItem: _getMetaEntityDisplay.getMetaEntityDisplay,
|
|
61
|
+
text: text,
|
|
62
|
+
onTextChange: handleTextChange
|
|
63
|
+
}));
|
|
64
|
+
};
|
|
65
|
+
// #sourceMappingURL=MetaEntitiesSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_Icon","_useLocalizedString2","_MetaEntitiesSelect","_EntitiesSuggest","_EntitiesSuggestItem","_i18n","_getMetaEntityDisplay","_getMetaEntityId","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","MetaEntitiesSelect","exports","_ref","className","itemClassName","placeholder","initialText","text","onTextChange","suggestProps","_objectWithoutProperties","_excluded","config","getConfig","_useLocalizedString","useLocalizedString","defaultMessages","lang","_useState","useState","_useState2","_slicedToArray","setText","handleTextChange","useCallback","value","renderItem","entity","entityName","getMetaEntityDisplay","_jsx","EntitiesSuggestItem","id","name","cnMetaEntitiesSelect","icon","MetaEntityIcon","EntitiesSuggest","_objectSpread","getItemsOnMount","showItemsOnNoText","getItemId","getMetaEntityId","getSuggestTextFromClickedItem"],"sources":["MetaEntitiesSelect.tsx"],"sourcesContent":["import type {FC} from 'react';\nimport React, {useCallback, useState} from 'react';\n\nimport {getConfig} from '@gravity-ui/uikit';\nimport type {MetaEntityV2} from '@weavix/tracker-api-types';\n\nimport {MetaEntityIcon} from '~/src/components/Icon/';\nimport {useLocalizedString} from '~/src/hooks/useLocalizedString';\n\nimport {cnMetaEntitiesSelect} from './MetaEntitiesSelect.classname';\nimport {EntitiesSuggest} from './components/EntitiesSuggest/EntitiesSuggest';\nimport type {EntitiesSuggestProps} from './components/EntitiesSuggest/EntitiesSuggest';\nimport {EntitiesSuggestItem} from './components/EntitiesSuggestItem/EntitiesSuggestItem';\nimport {defaultMessages} from './i18n';\nimport {getMetaEntityDisplay} from './utils/getMetaEntityDisplay';\nimport {getMetaEntityId} from './utils/getMetaEntityId';\n\ntype EntitiesSuggestPropsToOmit = 'getItemId' | 'getSuggestTextFromClickedItem' | 'renderItem';\n\nexport type MetaEntitiesSelectProps = Omit<\n EntitiesSuggestProps<MetaEntityV2>,\n EntitiesSuggestPropsToOmit\n> & {\n className?: string;\n itemClassName?: string;\n};\n\nexport const MetaEntitiesSelect: FC<MetaEntitiesSelectProps> = ({\n className,\n itemClassName,\n placeholder,\n text: initialText,\n onTextChange,\n ...suggestProps\n}) => {\n const config = getConfig();\n const {t} = useLocalizedString(defaultMessages, config.lang);\n const [text, setText] = useState(initialText ?? '');\n const handleTextChange = useCallback(\n (value: string) => {\n setText(value);\n onTextChange?.(value);\n },\n [setText, onTextChange],\n );\n\n const renderItem = useCallback(\n (entity: MetaEntityV2) => {\n const entityName = getMetaEntityDisplay(entity);\n return (\n <EntitiesSuggestItem\n key={entity.id}\n id={entity.id}\n name={entityName}\n className={cnMetaEntitiesSelect('item', itemClassName)}\n icon={<MetaEntityIcon entity={entity} />}\n />\n );\n },\n [itemClassName],\n );\n\n return (\n <EntitiesSuggest<MetaEntityV2>\n {...suggestProps}\n className={cnMetaEntitiesSelect(null, className)}\n renderItem={renderItem}\n placeholder={placeholder ?? t('placeholder')}\n getItemsOnMount\n showItemsOnNoText\n getItemId={getMetaEntityId}\n getSuggestTextFromClickedItem={getMetaEntityDisplay}\n text={text}\n onTextChange={handleTextChange}\n />\n );\n};\n"],"mappings":";;;;;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAEA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAEA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,gBAAA,GAAAT,OAAA;AAAwD,IAAAU,WAAA,GAAAV,OAAA;AAAA,SAAAD,wBAAAY,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,CAAAY,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,SAAAkB,uBAAAnB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;;AAYjD,IAAMoB,kBAA+C,GAAAC,OAAA,CAAAD,kBAAA,GAAG,SAAlDA,kBAA+CA,CAAAE,IAAA,EAOtD;EAAA,IANFC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACLC,WAAW,GAAAJ,IAAA,CAAjBK,IAAI;IACJC,YAAY,GAAAN,IAAA,CAAZM,YAAY;IACTC,YAAY,OAAAC,iCAAA,EAAAR,IAAA,EAAAS,SAAA;EAEf,IAAMC,MAAM,GAAG,IAAAC,gBAAS,EAAC,CAAC;EAC1B,IAAAC,mBAAA,GAAY,IAAAC,uCAAkB,EAACC,qBAAe,EAAEJ,MAAM,CAACK,IAAI,CAAC;IAArDpC,CAAC,GAAAiC,mBAAA,CAADjC,CAAC;EACR,IAAAqC,SAAA,GAAwB,IAAAC,eAAQ,EAACb,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,EAAE,CAAC;IAAAc,UAAA,OAAAC,uBAAA,EAAAH,SAAA;IAA5CX,IAAI,GAAAa,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAMG,gBAAgB,GAAG,IAAAC,kBAAW,EAChC,UAACC,KAAa,EAAK;IACfH,OAAO,CAACG,KAAK,CAAC;IACdjB,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAGiB,KAAK,CAAC;EACzB,CAAC,EACD,CAACH,OAAO,EAAEd,YAAY,CAC1B,CAAC;EAED,IAAMkB,UAAU,GAAG,IAAAF,kBAAW,EAC1B,UAACG,MAAoB,EAAK;IACtB,IAAMC,UAAU,GAAG,IAAAC,0CAAoB,EAACF,MAAM,CAAC;IAC/C,oBACI,IAAAG,eAAA,EAACC,wCAAmB;MAEhBC,EAAE,EAAEL,MAAM,CAACK,EAAG;MACdC,IAAI,EAAEL,UAAW;MACjBzB,SAAS,EAAE,IAAA+B,wCAAoB,EAAC,MAAM,EAAE9B,aAAa,CAAE;MACvD+B,IAAI,eAAE,IAAAL,eAAA,EAACM,oBAAc;QAACT,MAAM,EAAEA;MAAO,CAAE;IAAE,GAJpCA,MAAM,CAACK,EAKf,CAAC;EAEV,CAAC,EACD,CAAC5B,aAAa,CAClB,CAAC;EAED,oBACI,IAAA0B,eAAA,EAACO,gCAAe,MAAAC,sBAAA,MAAAA,sBAAA,MACR7B,YAAY;IAChBN,SAAS,EAAE,IAAA+B,wCAAoB,EAAC,IAAI,EAAE/B,SAAS,CAAE;IACjDuB,UAAU,EAAEA,UAAW;IACvBrB,WAAW,EAAEA,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAIxB,CAAC,CAAC,aAAa,CAAE;IAC7C0D,eAAe;IACfC,iBAAiB;IACjBC,SAAS,EAAEC,gCAAgB;IAC3BC,6BAA6B,EAAEd,0CAAqB;IACpDtB,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEe;EAAiB,EAClC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -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/cjs/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 {};
|