@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
package/README.md
CHANGED
|
@@ -1,45 +1,217 @@
|
|
|
1
1
|
# @weavix/tracker-components
|
|
2
2
|
|
|
3
|
+
Shared UI component library for **Yandex Tracker plugins**. Provides ready-made React components for selecting queues, fields, and meta entities (projects, portfolios, goals), displaying issue-type and entity icons, and building collapsible sections — all styled to match the Tracker design system.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
3
7
|
## Installation
|
|
4
8
|
|
|
5
9
|
```bash
|
|
6
10
|
pnpm add @weavix/tracker-components
|
|
7
11
|
```
|
|
8
12
|
|
|
9
|
-
Peer
|
|
13
|
+
### Peer dependencies
|
|
14
|
+
|
|
15
|
+
| Package | Version |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `react`, `react-dom` | `^18` |
|
|
18
|
+
| `@gravity-ui/uikit` | `^7` |
|
|
19
|
+
| `@gravity-ui/icons` | `^2` |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Component catalogue
|
|
24
|
+
|
|
25
|
+
### Select components
|
|
26
|
+
|
|
27
|
+
| Component | Description | README |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| [`QueueSelect`](#queueselect) | Dropdown for choosing a Tracker queue. Supports static lists, async suggest, icons, loading states, and confirmation dialogs. | [→ README](src/components/QueueSelect/README.md) |
|
|
30
|
+
| [`MetaEntitiesSelect`](#metaentitiesselect) | Suggest-based select for projects, portfolios, goals, or reports. Async item fetching, loading states, error display, clear button. | [→ README](src/components/MetaEntitiesSelect/README.md) |
|
|
31
|
+
| [`PluginFieldsSelect`](#pluginfieldsselect) | Dropdown for choosing Tracker fields inside a plugin. Auto-groups fields by category, supports search, multi-select, submit/reset, loading states. | [→ README](src/components/PluginFieldsSelect/README.md) |
|
|
32
|
+
|
|
33
|
+
### Icon components
|
|
34
|
+
|
|
35
|
+
| Component | Description | README |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| [`IssueTypeIcon`](#issuetypeicon) | Icon for a Tracker issue type (task, bug, epic, …). | [→ README](src/components/Icon/IssueTypeIcon/README.md) |
|
|
38
|
+
| [`MetaEntityIcon`](#metaentityicon) | Dispatcher icon that renders the correct icon for any meta entity type (project, portfolio, goal, key result). | [→ README](src/components/Icon/MetaEntityIcon/README.md) |
|
|
39
|
+
| [`ProjectIcon`](#projecticon) | Colored icon for a project entity. Color is deterministically derived from the project ID. | [→ README](src/components/Icon/ProjectIcon/README.md) |
|
|
40
|
+
| [`PortfolioIcon`](#portfolioicon) | Colored icon for a portfolio entity. Color is deterministically derived from the portfolio ID. | [→ README](src/components/Icon/PortfolioIcon/README.md) |
|
|
41
|
+
| [`GoalIcon`](#goalicon) | Colored icon for a goal entity. Color is deterministically derived from the goal ID. | [→ README](src/components/Icon/GoalIcon/README.md) |
|
|
42
|
+
| [`KeyResultIcon`](#keyresulticon) | Icon for a key result entity, with a built-in tooltip. | [→ README](src/components/Icon/KeyResultIcon/README.md) |
|
|
43
|
+
|
|
44
|
+
### Layout components
|
|
45
|
+
|
|
46
|
+
| Component | Description | README |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| [`TrackerDisclosure`](#trackerdisclosure) | Collapsible section with Tracker-specific styling. Extends Gravity UI `Disclosure` with configurable arrow position, size, and an optional toolbar slot. | [→ README](src/components/TrackerDisclosure/README.md) |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Quick start
|
|
53
|
+
|
|
54
|
+
### QueueSelect
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
import {QueueSelect} from '@weavix/tracker-components';
|
|
58
|
+
import type {QueueInfo} from '@weavix/tracker-components';
|
|
59
|
+
|
|
60
|
+
const queues: QueueInfo[] = [
|
|
61
|
+
{key: 'DEV', display: 'Development'},
|
|
62
|
+
{key: 'DESIGN', display: 'Design'},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
<QueueSelect
|
|
66
|
+
queues={queues}
|
|
67
|
+
defaultQueue={queues[0]}
|
|
68
|
+
onChange={(queue) => console.log(queue)}
|
|
69
|
+
/>;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
→ Full documentation including async suggest and Tracker API integration: [src/components/QueueSelect/README.md](src/components/QueueSelect/README.md)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### MetaEntitiesSelect
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
import {MetaEntitiesSelect} from '@weavix/tracker-components';
|
|
80
|
+
|
|
81
|
+
<MetaEntitiesSelect
|
|
82
|
+
getItems={(text) => fetchProjects(text)}
|
|
83
|
+
onChange={(entity) => console.log('selected', entity)}
|
|
84
|
+
/>;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
→ Full documentation including Tracker API integration: [src/components/MetaEntitiesSelect/README.md](src/components/MetaEntitiesSelect/README.md)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### PluginFieldsSelect
|
|
92
|
+
|
|
93
|
+
```tsx
|
|
94
|
+
import {PluginFieldsSelect} from '@weavix/tracker-components';
|
|
95
|
+
import type {PluginFieldsSelectField} from '@weavix/tracker-components';
|
|
96
|
+
|
|
97
|
+
const fields: PluginFieldsSelectField[] = [
|
|
98
|
+
{id: 'summary', name: 'Summary', category: {id: '1', display: 'System Fields'}},
|
|
99
|
+
{id: 'sprint', name: 'Sprint', category: {id: '2', display: 'Custom Fields'}},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
<PluginFieldsSelect
|
|
103
|
+
open={true}
|
|
104
|
+
fields={fields}
|
|
105
|
+
onOpenChange={setOpen}
|
|
106
|
+
onItemSelect={(item) => console.log('selected', item)}
|
|
107
|
+
onItemDeselect={(item) => console.log('deselected', item)}
|
|
108
|
+
/>;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
→ Full documentation including 3 Tracker API fetch flows: [src/components/PluginFieldsSelect/README.md](src/components/PluginFieldsSelect/README.md)
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### IssueTypeIcon
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
import {IssueTypeIcon} from '@weavix/tracker-components';
|
|
119
|
+
|
|
120
|
+
<IssueTypeIcon issueType="bug" />
|
|
121
|
+
<IssueTypeIcon issueType="epic" size={24} />
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
→ Full documentation: [src/components/Icon/IssueTypeIcon/README.md](src/components/Icon/IssueTypeIcon/README.md)
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### MetaEntityIcon
|
|
129
|
+
|
|
130
|
+
```tsx
|
|
131
|
+
import {MetaEntityIcon} from '@weavix/tracker-components';
|
|
132
|
+
|
|
133
|
+
// Automatically renders the correct icon based on entityType
|
|
134
|
+
<MetaEntityIcon entity={{entityType: 'project', id: 'proj-1', shortId: 42}} />
|
|
135
|
+
<MetaEntityIcon entity={{entityType: 'portfolio', id: 'port-1', shortId: 7}} size={24} />
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
→ Full documentation: [src/components/Icon/MetaEntityIcon/README.md](src/components/Icon/MetaEntityIcon/README.md)
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### ProjectIcon / PortfolioIcon / GoalIcon
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
import {ProjectIcon, PortfolioIcon, GoalIcon} from '@weavix/tracker-components';
|
|
146
|
+
|
|
147
|
+
<ProjectIcon projectId={123} />
|
|
148
|
+
<PortfolioIcon portfolioId="portfolio-abc" />
|
|
149
|
+
<GoalIcon goalId={456} />
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
→ [ProjectIcon README](src/components/Icon/ProjectIcon/README.md) · [PortfolioIcon README](src/components/Icon/PortfolioIcon/README.md) · [GoalIcon README](src/components/Icon/GoalIcon/README.md)
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
### KeyResultIcon
|
|
157
|
+
|
|
158
|
+
```tsx
|
|
159
|
+
import {KeyResultIcon} from '@weavix/tracker-components';
|
|
160
|
+
|
|
161
|
+
<KeyResultIcon size={16} />
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
→ Full documentation: [src/components/Icon/KeyResultIcon/README.md](src/components/Icon/KeyResultIcon/README.md)
|
|
10
165
|
|
|
11
|
-
|
|
12
|
-
- `@gravity-ui/uikit` ^7
|
|
13
|
-
- `@gravity-ui/icons` ^2
|
|
166
|
+
---
|
|
14
167
|
|
|
15
|
-
|
|
168
|
+
### TrackerDisclosure
|
|
16
169
|
|
|
17
170
|
```tsx
|
|
18
|
-
import {
|
|
171
|
+
import {TrackerDisclosure} from '@weavix/tracker-components';
|
|
19
172
|
|
|
20
|
-
<
|
|
173
|
+
<TrackerDisclosure summary="Section title" defaultExpanded>
|
|
174
|
+
Content goes here
|
|
175
|
+
</TrackerDisclosure>
|
|
21
176
|
```
|
|
22
177
|
|
|
178
|
+
→ Full documentation: [src/components/TrackerDisclosure/README.md](src/components/TrackerDisclosure/README.md)
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Architecture notes
|
|
183
|
+
|
|
184
|
+
### Data-agnostic pattern
|
|
185
|
+
|
|
186
|
+
All select components (`QueueSelect`, `MetaEntitiesSelect`, `PluginFieldsSelect`) are **data-agnostic**: they accept data via props and callbacks. You are responsible for fetching data from the Tracker API and passing it to the component. This keeps the components reusable and testable without a live API.
|
|
187
|
+
|
|
188
|
+
### Tracker API integration
|
|
189
|
+
|
|
190
|
+
Each select component's README contains a dedicated **Tracker API** section with:
|
|
191
|
+
- The exact API endpoints to call
|
|
192
|
+
- Ready-to-copy fetch functions
|
|
193
|
+
- Complete working examples
|
|
194
|
+
|
|
195
|
+
### Styling
|
|
196
|
+
|
|
197
|
+
Components use [Gravity UI](https://gravity-ui.com/) design tokens and BEM class names. Import the component CSS by ensuring your bundler processes `.scss` files from this package (the package declares `sideEffects: ["*.scss"]`).
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
23
201
|
## Development
|
|
24
202
|
|
|
25
203
|
```bash
|
|
26
204
|
pnpm install
|
|
27
|
-
pnpm run build
|
|
28
|
-
pnpm run typecheck
|
|
29
|
-
pnpm run lint
|
|
30
|
-
pnpm run test
|
|
205
|
+
pnpm run build # compile to build/
|
|
206
|
+
pnpm run typecheck # TypeScript type check
|
|
207
|
+
pnpm run lint # ESLint + Stylelint + Prettier
|
|
208
|
+
pnpm run test # Jest unit tests
|
|
31
209
|
```
|
|
32
210
|
|
|
33
211
|
### Storybook
|
|
34
212
|
|
|
35
|
-
Для запуска Storybook-сервера:
|
|
36
|
-
|
|
37
213
|
```bash
|
|
38
|
-
pnpm run storybook
|
|
214
|
+
pnpm run storybook # starts at http://localhost:7008
|
|
39
215
|
```
|
|
40
216
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
To build a static version of Storybook:
|
|
44
|
-
|
|
45
|
-
Истории компонентов находятся в директориях `__stories__` в папках компонентов.
|
|
217
|
+
Component stories live in `__stories__/` directories inside each component folder.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
var SvgComponent = function SvgComponent(props) {
|
|
11
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
12
|
+
viewBox: "0 0 14 14",
|
|
13
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
14
|
+
}, props), {}, {
|
|
15
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
16
|
+
d: "M13.8438 0.15408C13.98 0.29027 14.031 0.489816 13.9767 0.674587L12.8311 4.56619C12.794 4.69237 12.7259 4.80713 12.6329 4.90017C12.3254 5.20764 11.8271 5.20764 11.5196 4.90017L10.8399 4.21951L6.99033 8.06912L6.99814 10.6385C6.99952 11.0509 6.84716 11.447 6.57431 11.7508L6.45029 11.8758L4.36924 13.7469C4.18861 13.9093 3.95396 13.9996 3.71103 13.9998C3.1673 13.9998 2.72586 13.5591 2.72568 13.0154L2.72568 11.2L0.969821 11.2C0.434932 11.2 0.00107146 10.7661 0.00107148 10.2312L0.00693086 10.1287C0.0321422 9.89248 0.143089 9.67206 0.321384 9.5115L2.50986 7.54275L2.61142 7.45974C2.85502 7.27618 3.1494 7.16962 3.45615 7.15603L5.89072 7.04763L9.77939 3.15896L9.09775 2.4783C8.79028 2.17083 8.79028 1.67248 9.09775 1.36502C9.1908 1.27203 9.30555 1.20394 9.43174 1.16677L13.3233 0.0212671C13.5081 -0.0330726 13.7077 0.0178896 13.8438 0.15408ZM5.49228 8.56814L3.52256 8.65408L3.51279 8.65799L2.35459 9.69998L4.22568 9.69998L4.22568 11.8592L5.44638 10.7605C5.47931 10.7308 5.49829 10.6877 5.49814 10.6433L5.49228 8.56814Z"
|
|
17
|
+
})
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
var _default = exports.default = SvgComponent;
|
|
21
|
+
// #sourceMappingURL=keyResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SvgComponent","props","_jsx","_objectSpread","viewBox","xmlns","children","d","_default","exports","default"],"sources":["keyResult.svg"],"sourcesContent":["const SvgComponent = props => <svg viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M13.8438 0.15408C13.98 0.29027 14.031 0.489816 13.9767 0.674587L12.8311 4.56619C12.794 4.69237 12.7259 4.80713 12.6329 4.90017C12.3254 5.20764 11.8271 5.20764 11.5196 4.90017L10.8399 4.21951L6.99033 8.06912L6.99814 10.6385C6.99952 11.0509 6.84716 11.447 6.57431 11.7508L6.45029 11.8758L4.36924 13.7469C4.18861 13.9093 3.95396 13.9996 3.71103 13.9998C3.1673 13.9998 2.72586 13.5591 2.72568 13.0154L2.72568 11.2L0.969821 11.2C0.434932 11.2 0.00107146 10.7661 0.00107148 10.2312L0.00693086 10.1287C0.0321422 9.89248 0.143089 9.67206 0.321384 9.5115L2.50986 7.54275L2.61142 7.45974C2.85502 7.27618 3.1494 7.16962 3.45615 7.15603L5.89072 7.04763L9.77939 3.15896L9.09775 2.4783C8.79028 2.17083 8.79028 1.67248 9.09775 1.36502C9.1908 1.27203 9.30555 1.20394 9.43174 1.16677L13.3233 0.0212671C13.5081 -0.0330726 13.7077 0.0178896 13.8438 0.15408ZM5.49228 8.56814L3.52256 8.65408L3.51279 8.65799L2.35459 9.69998L4.22568 9.69998L4.22568 11.8592L5.44638 10.7605C5.47931 10.7308 5.49829 10.6877 5.49814 10.6433L5.49228 8.56814Z\" /></svg>;\nexport default SvgComponent;"],"mappings":";;;;;;;;;AAAA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK;EAAA,oBAAI,IAAAC,eAAA,aAAAC,sBAAA,MAAAA,sBAAA;IAAKC,OAAO,EAAC,WAAW;IAACC,KAAK,EAAC;EAA4B,GAAKJ,KAAK;IAAAK,QAAA,eAAE,IAAAJ,eAAA;MAAMK,CAAC,EAAC;IAAy/B,CAAE;EAAC,EAAK,CAAC;AAAA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAChmCV,YAAY","ignoreList":[]}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.cnFieldsSelect = void 0;
|
|
7
|
-
var _cn = require("
|
|
7
|
+
var _cn = require("./../cn");
|
|
8
8
|
var cnFieldsSelect = exports.cnFieldsSelect = (0, _cn.block)('fields-select');
|
|
9
9
|
// #sourceMappingURL=FieldsSelect.classname.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cn","require","cnFieldsSelect","exports","block"],"sources":["FieldsSelect.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["_cn","require","cnFieldsSelect","exports","block"],"sources":["FieldsSelect.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnFieldsSelect = block('fields-select');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,IAAAE,SAAK,EAAC,eAAe,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.cnEntityIcon = void 0;
|
|
7
|
-
var _cn = require("
|
|
7
|
+
var _cn = require("./../../cn");
|
|
8
8
|
var cnEntityIcon = exports.cnEntityIcon = (0, _cn.block)('entity-icon');
|
|
9
9
|
// #sourceMappingURL=EntityIcon.classname.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cn","require","cnEntityIcon","exports","block"],"sources":["EntityIcon.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["_cn","require","cnEntityIcon","exports","block"],"sources":["EntityIcon.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnEntityIcon = block('entity-icon');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,SAAK,EAAC,aAAa,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GoalIcon = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _icons = require("@gravity-ui/icons");
|
|
11
|
+
var _EntityIcon = require("../EntityIcon");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
var _excluded = ["goalId"];
|
|
15
|
+
var GoalIcon = exports.GoalIcon = function GoalIcon(_ref) {
|
|
16
|
+
var goalId = _ref.goalId,
|
|
17
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
18
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_EntityIcon.EntityIcon, (0, _objectSpread2.default)({
|
|
19
|
+
data: _icons.TargetDart,
|
|
20
|
+
id: goalId,
|
|
21
|
+
type: "goal"
|
|
22
|
+
}, props));
|
|
23
|
+
};
|
|
24
|
+
// #sourceMappingURL=GoalIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_icons","_EntityIcon","_jsxRuntime","e","__esModule","default","GoalIcon","exports","_ref","goalId","props","_objectWithoutProperties","_excluded","_jsx","EntityIcon","_objectSpread","data","TargetDart","id","type"],"sources":["GoalIcon.tsx"],"sourcesContent":["import type {FC} from 'react';\nimport React from 'react';\n\nimport {TargetDart} from '@gravity-ui/icons';\n\nimport type {EntityIconProps} from '../EntityIcon';\nimport {EntityIcon} from '../EntityIcon';\n\nexport type GoalIconProps = {\n goalId: number | string;\n} & Omit<EntityIconProps, 'data' | 'id' | 'alpha'>;\n\nexport const GoalIcon: FC<GoalIconProps> = ({goalId, ...props}) => (\n <EntityIcon data={TargetDart} id={goalId} type=\"goal\" {...props} />\n);\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,WAAA,GAAAF,OAAA;AAAyC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAMlC,IAAMG,QAA2B,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAA9BA,QAA2BA,CAAAE,IAAA;EAAA,IAAKC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAKC,KAAK,OAAAC,iCAAA,EAAAH,IAAA,EAAAI,SAAA;EAAA,oBACzD,IAAAC,eAAA,EAACC,sBAAU,MAAAC,sBAAA;IAACC,IAAI,EAAEC,iBAAW;IAACC,EAAE,EAAET,MAAO;IAACU,IAAI,EAAC;EAAM,GAAKT,KAAK,CAAG,CAAC;AAAA,CACtE","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# GoalIcon
|
|
2
|
+
|
|
3
|
+
<!-- description:start -->
|
|
4
|
+
Displays a colored icon for a Tracker goal entity. The icon color is deterministically derived from the `goalId`, so the same goal always renders the same color across sessions and environments.
|
|
5
|
+
<!-- description:end -->
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import {GoalIcon} from '@weavix/tracker-components';
|
|
11
|
+
|
|
12
|
+
<GoalIcon goalId={456} />
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Component props
|
|
16
|
+
|
|
17
|
+
<!-- props:start -->
|
|
18
|
+
```ts
|
|
19
|
+
{
|
|
20
|
+
/**
|
|
21
|
+
* Goal ID used to generate a deterministic color.
|
|
22
|
+
* Accepts either a numeric shortId or a string entity ID.
|
|
23
|
+
*/
|
|
24
|
+
goalId: number | string;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Additional CSS class applied to the root element.
|
|
28
|
+
*/
|
|
29
|
+
className?: string;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Entity type label. Defaults to "goal".
|
|
33
|
+
*/
|
|
34
|
+
type?: string;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Size of the SVG icon inside the container in pixels.
|
|
38
|
+
* @default 16
|
|
39
|
+
*/
|
|
40
|
+
size?: number;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Size of the icon container (the colored square) in pixels.
|
|
44
|
+
* @default 24
|
|
45
|
+
*/
|
|
46
|
+
refugeSize?: number;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Whether to render a colored background behind the icon.
|
|
50
|
+
* @default true
|
|
51
|
+
*/
|
|
52
|
+
withBackground?: boolean;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Border radius variant of the icon container.
|
|
56
|
+
* @default 'm'
|
|
57
|
+
*/
|
|
58
|
+
radius?: 'm' | 'l';
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Alpha (opacity) of the icon foreground color.
|
|
62
|
+
* @default 1
|
|
63
|
+
*/
|
|
64
|
+
colorAlpha?: number;
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
<!-- props:end -->
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
### Default
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
import {GoalIcon} from '@weavix/tracker-components';
|
|
77
|
+
|
|
78
|
+
<GoalIcon goalId={456} />
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Custom size
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
// Larger icon container with a larger SVG inside
|
|
85
|
+
<GoalIcon goalId={456} size={20} refugeSize={32} />
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Without background
|
|
89
|
+
|
|
90
|
+
```tsx
|
|
91
|
+
// Renders only the colored SVG, no background square
|
|
92
|
+
<GoalIcon goalId={456} withBackground={false} />
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Alongside goal name
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
import {GoalIcon} from '@weavix/tracker-components';
|
|
99
|
+
|
|
100
|
+
export const GoalLabel = ({goal}: {goal: {shortId: number; summary: string}}) => (
|
|
101
|
+
<div style={{display: 'flex', alignItems: 'center', gap: 8}}>
|
|
102
|
+
<GoalIcon goalId={goal.shortId} />
|
|
103
|
+
<span>{goal.summary}</span>
|
|
104
|
+
</div>
|
|
105
|
+
);
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Multiple goals (each gets a unique color)
|
|
109
|
+
|
|
110
|
+
```tsx
|
|
111
|
+
const goals = [
|
|
112
|
+
{shortId: 1, summary: 'Increase retention'},
|
|
113
|
+
{shortId: 2, summary: 'Launch mobile app'},
|
|
114
|
+
{shortId: 3, summary: 'Reduce churn'},
|
|
115
|
+
];
|
|
116
|
+
|
|
117
|
+
goals.map((g) => (
|
|
118
|
+
<div key={g.shortId} style={{display: 'flex', alignItems: 'center', gap: 8}}>
|
|
119
|
+
<GoalIcon goalId={g.shortId} />
|
|
120
|
+
<span>{g.summary}</span>
|
|
121
|
+
</div>
|
|
122
|
+
));
|
|
123
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GoalIcon } from './GoalIcon';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "GoalIcon", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _GoalIcon.GoalIcon;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _GoalIcon = require("./GoalIcon");
|
|
13
|
+
// #sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_GoalIcon","require"],"sources":["index.ts"],"sourcesContent":["export {GoalIcon} from './GoalIcon';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cn","require","cnIcon","exports","block"],"sources":["Icon.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["_cn","require","cnIcon","exports","block"],"sources":["Icon.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnIcon = block('Icon');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,SAAK,EAAC,MAAM,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.cnIconRefuge = void 0;
|
|
7
|
-
var _cn = require("
|
|
7
|
+
var _cn = require("./../../cn");
|
|
8
8
|
var cnIconRefuge = exports.cnIconRefuge = (0, _cn.block)('icon-refuge');
|
|
9
9
|
// #sourceMappingURL=IconRefuge.classname.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cn","require","cnIconRefuge","exports","block"],"sources":["IconRefuge.classname.tsx"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["_cn","require","cnIconRefuge","exports","block"],"sources":["IconRefuge.classname.tsx"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnIconRefuge = block('icon-refuge');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,SAAK,EAAC,aAAa,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.cnIssueTypeIcon = void 0;
|
|
7
|
-
var _cn = require("
|
|
7
|
+
var _cn = require("./../../cn");
|
|
8
8
|
var cnIssueTypeIcon = exports.cnIssueTypeIcon = (0, _cn.block)('issue-type-icon');
|
|
9
9
|
// #sourceMappingURL=IssueTypeIcon.classname.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cn","require","cnIssueTypeIcon","exports","block"],"sources":["IssueTypeIcon.classname.ts"],"sourcesContent":["import {block} from '
|
|
1
|
+
{"version":3,"names":["_cn","require","cnIssueTypeIcon","exports","block"],"sources":["IssueTypeIcon.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnIssueTypeIcon = block('issue-type-icon');\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEO,IAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,SAAK,EAAC,iBAAiB,CAAC","ignoreList":[]}
|