@ukic/canary-web-components 3.0.0-canary.11 → 3.0.0-canary.12

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.
Files changed (100) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -1
  3. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +22 -21
  5. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-data-table.cjs.entry.js +6 -2
  7. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-pagination_4.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -2
  13. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -6
  15. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-tree-item.cjs.entry.js +33 -13
  17. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/components/ic-data-table/ic-data-table.js +6 -2
  21. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  22. package/dist/collection/components/ic-data-table/story-data.js +155 -0
  23. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  24. package/dist/collection/components/ic-tree-item/ic-tree-item.js +33 -13
  25. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  26. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  27. package/dist/components/ic-back-to-top.js +4 -1
  28. package/dist/components/ic-back-to-top.js.map +1 -1
  29. package/dist/components/ic-breadcrumb-group.js +22 -21
  30. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  31. package/dist/components/ic-data-table.js +6 -2
  32. package/dist/components/ic-data-table.js.map +1 -1
  33. package/dist/components/ic-radio-option.js +1 -1
  34. package/dist/components/ic-radio-option.js.map +1 -1
  35. package/dist/components/ic-select2.js +1 -1
  36. package/dist/components/ic-select2.js.map +1 -1
  37. package/dist/components/ic-tab-context.js +1 -2
  38. package/dist/components/ic-tab-context.js.map +1 -1
  39. package/dist/components/ic-tab-panel.js +6 -6
  40. package/dist/components/ic-tab-panel.js.map +1 -1
  41. package/dist/components/ic-tree-item.js +33 -13
  42. package/dist/components/ic-tree-item.js.map +1 -1
  43. package/dist/components/ic-tree-view.js.map +1 -1
  44. package/dist/core/core.css +4 -4
  45. package/dist/core/core.esm.js +1 -1
  46. package/dist/core/core.esm.js.map +1 -1
  47. package/dist/core/p-04bd65fb.entry.js +2 -0
  48. package/dist/core/p-04bd65fb.entry.js.map +1 -0
  49. package/dist/core/p-34e05e3f.entry.js +2 -0
  50. package/dist/core/p-34e05e3f.entry.js.map +1 -0
  51. package/dist/core/p-41e48902.entry.js +2 -0
  52. package/dist/core/p-41e48902.entry.js.map +1 -0
  53. package/dist/core/{p-b6e385ba.entry.js → p-596ad611.entry.js} +2 -2
  54. package/dist/core/p-596ad611.entry.js.map +1 -0
  55. package/dist/core/p-63f90f39.entry.js +2 -0
  56. package/dist/core/p-63f90f39.entry.js.map +1 -0
  57. package/dist/core/p-9038c7e3.entry.js +2 -0
  58. package/dist/core/p-9038c7e3.entry.js.map +1 -0
  59. package/dist/core/p-a699b343.entry.js +2 -0
  60. package/dist/core/p-a699b343.entry.js.map +1 -0
  61. package/dist/core/p-a707b036.entry.js.map +1 -1
  62. package/dist/core/{p-e3e0cf46.entry.js → p-e9ed9a29.entry.js} +2 -2
  63. package/dist/core/p-e9ed9a29.entry.js.map +1 -0
  64. package/dist/esm/core.js +1 -1
  65. package/dist/esm/ic-back-to-top.entry.js +3 -1
  66. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  67. package/dist/esm/ic-breadcrumb-group.entry.js +22 -21
  68. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  69. package/dist/esm/ic-data-table.entry.js +6 -2
  70. package/dist/esm/ic-data-table.entry.js.map +1 -1
  71. package/dist/esm/ic-pagination_4.entry.js +1 -1
  72. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  73. package/dist/esm/ic-radio-option.entry.js +1 -1
  74. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  75. package/dist/esm/ic-tab-context.entry.js +1 -2
  76. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  77. package/dist/esm/ic-tab-panel.entry.js +5 -6
  78. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  79. package/dist/esm/ic-tree-item.entry.js +33 -13
  80. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  81. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  82. package/dist/esm/loader.js +1 -1
  83. package/dist/types/components/ic-data-table/story-data.d.ts +57 -0
  84. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +1 -0
  85. package/hydrate/index.js +74 -46
  86. package/package.json +3 -3
  87. package/dist/core/p-007293a4.entry.js +0 -2
  88. package/dist/core/p-007293a4.entry.js.map +0 -1
  89. package/dist/core/p-14a6e578.entry.js +0 -2
  90. package/dist/core/p-14a6e578.entry.js.map +0 -1
  91. package/dist/core/p-1af4b9c1.entry.js +0 -2
  92. package/dist/core/p-1af4b9c1.entry.js.map +0 -1
  93. package/dist/core/p-51c6561f.entry.js +0 -2
  94. package/dist/core/p-51c6561f.entry.js.map +0 -1
  95. package/dist/core/p-9158c34f.entry.js +0 -2
  96. package/dist/core/p-9158c34f.entry.js.map +0 -1
  97. package/dist/core/p-91c720bc.entry.js +0 -2
  98. package/dist/core/p-91c720bc.entry.js.map +0 -1
  99. package/dist/core/p-b6e385ba.entry.js.map +0 -1
  100. package/dist/core/p-e3e0cf46.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","linkTabs","tabs","forEach","tab","index","tabId","contextId","tabPanelId","setAttribute","tabPosition","tabGroup","tabPanels","theme","getChildren","el","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","activationType","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","hidden","disabled","newIndex","focus","icTabSelect","emit","tabIndex","tabLabel","textContent","trim","monochrome","updateSelectedTab","newValue","watchMonochromeHandler","watchThemeHandler","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","_a","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup.theme = this.theme;\n });\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.hidden = index !== this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: this.el\n .querySelectorAll(\"ic-tab\")[newIndex].textContent.trim(),\n });\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n this.selectedTab = undefined;\n this.activationType = \"automatic\";\n this.contextId = \"default\";\n this.selectedTabIndex = undefined;\n this.monochrome = false;\n this.theme = \"inherit\";\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n watchMonochromeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup.monochrome = this.monochrome;\n }\n watchThemeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup.theme = this.theme;\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: this.el\n .querySelectorAll(\"ic-tab\")[event.detail.position].textContent.trim(),\n });\n /* eslint-enable no-unexpected-multiline */\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab])\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n this.tabPanels[this.selectedTab].hidden = false;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", null);\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\"\n },\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"contextId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the tabs will display as black in the light theme.\"\n },\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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"}