@getflip/swirl-components 0.41.0 → 0.42.0

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 (31) hide show
  1. package/components.json +110 -3
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/swirl-components.cjs.js +1 -1
  4. package/dist/cjs/swirl-tab-bar.cjs.entry.js +47 -0
  5. package/dist/cjs/swirl-tabs.cjs.entry.js +20 -20
  6. package/dist/collection/assets/pdfjs/pdf.worker.min.js +0 -22
  7. package/dist/collection/collection-manifest.json +1 -0
  8. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.css +86 -0
  9. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.js +152 -0
  10. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.stories.js +35 -0
  11. package/dist/collection/components/swirl-tabs/swirl-tabs.css +0 -79
  12. package/dist/collection/components/swirl-tabs/swirl-tabs.js +21 -20
  13. package/dist/components/assets/pdfjs/pdf.worker.min.js +0 -22
  14. package/dist/components/swirl-tab-bar.d.ts +11 -0
  15. package/dist/components/swirl-tab-bar.js +6 -0
  16. package/dist/components/swirl-tab-bar2.js +62 -0
  17. package/dist/components/swirl-tabs.js +28 -21
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm/swirl-components.js +1 -1
  20. package/dist/esm/swirl-tab-bar.entry.js +43 -0
  21. package/dist/esm/swirl-tabs.entry.js +20 -20
  22. package/dist/swirl-components/p-42d9aace.entry.js +1 -0
  23. package/dist/swirl-components/p-da4c54e0.entry.js +1 -0
  24. package/dist/swirl-components/swirl-components.esm.js +1 -1
  25. package/dist/types/components/swirl-tab-bar/swirl-tab-bar.d.ts +16 -0
  26. package/dist/types/components/swirl-tab-bar/swirl-tab-bar.stories.d.ts +13 -0
  27. package/dist/types/components/swirl-tabs/swirl-tabs.d.ts +6 -1
  28. package/dist/types/components.d.ts +28 -0
  29. package/package.json +1 -1
  30. package/vscode-data.json +17 -0
  31. package/dist/swirl-components/p-9ef30977.entry.js +0 -1
@@ -3,31 +3,31 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
- const index$1 = require('./index-2ddd0598.js');
7
6
 
8
- const swirlTabsCss = ".sc-swirl-tabs-h{display:block;width:100%}.sc-swirl-tabs-h *.sc-swirl-tabs{box-sizing:border-box}.tabs.sc-swirl-tabs{width:100%}.tabs__tab-bar.sc-swirl-tabs{position:relative;display:flex;width:100%;justify-content:flex-start;border-bottom:var(--s-border-width-default) solid var(--s-border-default)}.tabs__tab.sc-swirl-tabs{position:relative;display:block;min-width:0;margin:0;padding:var(--s-space-4) var(--s-space-8);border:none;background-color:transparent;font:inherit;font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);cursor:pointer}.tabs__tab.sc-swirl-tabs:focus{outline:none}.tabs__tab.sc-swirl-tabs:focus-visible .tabs__tab-label.sc-swirl-tabs{border-radius:var(--s-border-radius-s);box-shadow:inset 0 0 0 0.125rem var(--s-focus-default)}.tabs__tab.sc-swirl-tabs:not(.tabs__tab--active):hover:after{position:absolute;bottom:0;left:50%;width:calc(100% - var(--s-space-8));height:0.1875rem;border-radius:0.125rem;background-color:var(--s-border-default);content:\"\";transform:translateX(-50%);pointer-events:none}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.tabs__tab.sc-swirl-tabs{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.tabs__tab-label.sc-swirl-tabs{display:block;overflow:hidden;width:100%;padding:var(--s-space-8) var(--s-space-8);text-align:center;white-space:nowrap;text-overflow:ellipsis}.tabs__tab--active.sc-swirl-tabs{color:var(--s-text-highlight)}.tabs__tab--active.sc-swirl-tabs:after{position:absolute;bottom:0;left:50%;width:calc(100% - var(--s-space-8));height:0.1875rem;border-radius:0.125rem;background-color:var(--s-border-highlight);content:\"\";transform:translateX(-50%);pointer-events:none}";
7
+ const swirlTabsCss = ".sc-swirl-tabs-h{display:block;width:100%}.sc-swirl-tabs-h *.sc-swirl-tabs{box-sizing:border-box}.tabs.sc-swirl-tabs{width:100%}";
9
8
 
10
9
  const SwirlTabs = class {
11
10
  constructor(hostRef) {
12
11
  index.registerInstance(this, hostRef);
13
12
  this.tabActivated = index.createEvent(this, "tabActivated", 7);
14
13
  this.tabs = [];
15
- this.onKeyDown = (event) => {
16
- if (event.code === "ArrowLeft") {
17
- event.preventDefault();
18
- this.activatePreviousTab();
19
- }
20
- else if (event.code === "ArrowRight") {
21
- event.preventDefault();
22
- this.activateNextTab();
23
- }
14
+ this.onActivateNextTab = () => {
15
+ this.activateNextTab();
16
+ };
17
+ this.onActivatePreviousTab = () => {
18
+ this.activatePreviousTab();
19
+ };
20
+ this.onActivateTab = (event) => {
21
+ this.activateTab(event.detail);
24
22
  };
25
23
  this.initialTab = undefined;
26
24
  this.label = undefined;
27
25
  this.activeTab = undefined;
26
+ this.tabBarTabs = [];
28
27
  }
29
28
  componentWillLoad() {
30
29
  this.collectTabs();
30
+ this.updateTabBarTabs();
31
31
  }
32
32
  /**
33
33
  * Activate a tab.
@@ -45,6 +45,7 @@ const SwirlTabs = class {
45
45
  }
46
46
  tab.active = true;
47
47
  this.tabActivated.emit(tab);
48
+ this.updateTabBarTabs();
48
49
  }
49
50
  activateNextTab() {
50
51
  const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
@@ -72,16 +73,15 @@ const SwirlTabs = class {
72
73
  const initialTab = this.tabs.find((tab) => tab.tabId === this.initialTab);
73
74
  this.activateTab(Boolean(initialTab) ? initialTab.tabId : this.tabs[0].tabId);
74
75
  }
76
+ updateTabBarTabs() {
77
+ this.tabBarTabs = this.tabs.map((tab) => ({
78
+ id: tab.tabId,
79
+ label: tab.label,
80
+ active: this.activeTab === tab.tabId,
81
+ }));
82
+ }
75
83
  render() {
76
- return (index.h(index.Host, null, index.h("div", { class: "tabs" }, index.h("div", { "aria-label": this.label, class: "tabs__tab-bar", onKeyDown: this.onKeyDown, role: "tablist" }, this.tabs.map((tab) => {
77
- const isActive = tab.tabId === this.activeTab;
78
- const className = index$1.classnames("tabs__tab", {
79
- "tabs__tab--active": isActive,
80
- });
81
- return (index.h("button", { "aria-controls": tab.tabId, "aria-selected": isActive ? "true" : "false", class: className, id: `tab-${tab.tabId}`, key: tab.tabId,
82
- // eslint-disable-next-line react/jsx-no-bind
83
- onClick: () => this.activateTab(tab.tabId), role: "tab", tabIndex: isActive ? 0 : -1, type: "button" }, index.h("span", { class: "tabs__tab-label" }, tab.label)));
84
- })), index.h("slot", null))));
84
+ return (index.h(index.Host, null, index.h("div", { class: "tabs" }, index.h("swirl-tab-bar", { label: this.label, onActivateNextTab: this.onActivateNextTab, onActivatePreviousTab: this.onActivatePreviousTab, onActivateTab: this.onActivateTab, tabs: this.tabBarTabs })), index.h("slot", null)));
85
85
  }
86
86
  get el() { return index.getElement(this); }
87
87
  };