globuswebcomponents 1.7.9 → 1.8.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.
@@ -4,11 +4,6 @@ export declare class GbThemeTab {
4
4
  theme: ThemeTypes;
5
5
  themetabClicked: EventEmitter<string>;
6
6
  currentActiveTab: string;
7
- componentWillLoad(): void;
8
7
  tabClicked(mode: string): void;
9
- applyTheme(theme: 'light' | 'dark' | 'system'): void;
10
- setTheme(theme: 'light' | 'dark' | 'system'): void;
11
- getSystemTheme(): 'light' | 'dark';
12
- handleSystemThemeChange: (e: MediaQueryListEvent) => void;
13
8
  render(): any;
14
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "globuswebcomponents",
3
- "version": "1.7.9",
3
+ "version": "1.8.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1,87 +0,0 @@
1
- import { p as proxyCustomElement, H, c as createEvent, g as getAssetPath, h } from './p-C_NOJI7O.js';
2
- import { d as defineCustomElement$2 } from './p-j6G2DIRL.js';
3
- import { d as defineCustomElement$1 } from './p-ByyRIJQv.js';
4
-
5
- const gbThemeTabCss = ".theme_tab_div{display:flex;padding:0.375rem;justify-content:space-between;align-items:center;gap:0.5rem;border-radius:0.5rem;border:1px solid var(--color-border-subtler, #E3E8EF);background:var(--color-background-gray-subtler, #EEF2F6);flex-grow:1}.tab{width:100%}";
6
-
7
- const GbThemeTab = /*@__PURE__*/ proxyCustomElement(class GbThemeTab extends H {
8
- constructor() {
9
- super();
10
- this.__registerHost();
11
- this.__attachShadow();
12
- this.themetabClicked = createEvent(this, "themetabClicked");
13
- this.currentActiveTab = 'system';
14
- this.handleSystemThemeChange = (e) => {
15
- if (this.theme === 'system') {
16
- this.setTheme(e.matches ? 'dark' : 'light');
17
- }
18
- };
19
- }
20
- componentWillLoad() {
21
- const savedTheme = localStorage.getItem('preferred-theme');
22
- this.theme = savedTheme || 'system';
23
- this.applyTheme(this.theme);
24
- if (this.theme === 'system') {
25
- const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
26
- mediaQuery.addEventListener('change', this.handleSystemThemeChange);
27
- }
28
- }
29
- tabClicked(mode) {
30
- this.currentActiveTab = mode;
31
- // this.themetabClicked.emit(mode);
32
- }
33
- applyTheme(theme) {
34
- let finalTheme = theme;
35
- if (theme === 'system') {
36
- finalTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
37
- }
38
- document.documentElement.setAttribute('data-theme', finalTheme);
39
- }
40
- setTheme(theme) {
41
- this.currentActiveTab = theme;
42
- this.theme = theme;
43
- localStorage.setItem('preferred-theme', theme);
44
- }
45
- getSystemTheme() {
46
- return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
47
- }
48
- render() {
49
- const systemIconSrc = getAssetPath(`assets/laptop.svg`);
50
- const sunSrc = getAssetPath(`assets/sun-02.svg`);
51
- const moonSrc = getAssetPath(`assets/moon-02.svg`);
52
- return (h("div", { key: '8187c214ddd6b3b90ae5627d1cbd068c9e001e24', class: `theme_tab_div` }, h("div", { key: 'a350b02ccc20fa3f618db3695529f6120c8a9846', class: "tab" }, h("gb-icon-button-base", { key: '3da749b2493f3aa2482703f266860b733205b831', current: this.currentActiveTab === 'system' ? true : false, icon: systemIconSrc, label: "System", onClick: () => this.setTheme('system') })), h("div", { key: '1c13963cce724a824ae7ff4c59d62dd2b717771e', class: "tab" }, h("gb-icon-button-base", { key: '493fb5143905efc7c440a2fac25a57de942bfd6f', current: this.currentActiveTab === 'light' ? true : false, icon: sunSrc, label: "Light", onClick: () => this.setTheme('light') })), h("div", { key: 'ae7fd2f339f10db6808668c2544666f9fa8d1c03', class: "tab" }, h("gb-icon-button-base", { key: 'cd7641bb38e2a151650edadf9d69ede0488abc10', current: this.currentActiveTab === 'dark' ? true : false, icon: moonSrc, label: "Dark", onClick: () => this.setTheme('dark') }))));
53
- }
54
- static get style() { return gbThemeTabCss; }
55
- }, [1, "gb-theme-tab", {
56
- "theme": [1],
57
- "currentActiveTab": [32]
58
- }]);
59
- function defineCustomElement() {
60
- if (typeof customElements === "undefined") {
61
- return;
62
- }
63
- const components = ["gb-theme-tab", "gb-icon-button-base", "gb-tooltip"];
64
- components.forEach(tagName => { switch (tagName) {
65
- case "gb-theme-tab":
66
- if (!customElements.get(tagName)) {
67
- customElements.define(tagName, GbThemeTab);
68
- }
69
- break;
70
- case "gb-icon-button-base":
71
- if (!customElements.get(tagName)) {
72
- defineCustomElement$2();
73
- }
74
- break;
75
- case "gb-tooltip":
76
- if (!customElements.get(tagName)) {
77
- defineCustomElement$1();
78
- }
79
- break;
80
- } });
81
- }
82
- defineCustomElement();
83
-
84
- export { GbThemeTab as G, defineCustomElement as d };
85
- //# sourceMappingURL=p-CzL1gfFw.js.map
86
-
87
- //# sourceMappingURL=p-CzL1gfFw.js.map
@@ -1 +0,0 @@
1
- {"file":"p-CzL1gfFw.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-theme-tab/gb-theme-tab.css?tag=gb-theme-tab&encapsulation=shadow","src/components/gb-theme-tab/gb-theme-tab.tsx"],"sourcesContent":[".theme_tab_div {\r\n display: flex;\r\n padding: 0.375rem;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 0.5rem;\r\n border-radius: 0.5rem;\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n flex-grow: 1;\r\n}\r\n\r\n.tab{\r\n width: 100%;\r\n}","import { Component, Event, EventEmitter, Prop, State, getAssetPath, h } from '@stencil/core';\r\nimport { ThemeTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-theme-tab',\r\n styleUrl: 'gb-theme-tab.css',\r\n shadow: true,\r\n})\r\nexport class GbThemeTab {\r\n @Prop() theme: ThemeTypes;\r\n @Event() themetabClicked: EventEmitter<string>;\r\n @State() currentActiveTab: string = 'system';\r\n\r\n componentWillLoad() {\r\n const savedTheme = localStorage.getItem('preferred-theme') as 'light' | 'dark' | 'system';\r\n this.theme = savedTheme || 'system';\r\n\r\n this.applyTheme(this.theme);\r\n\r\n if (this.theme === 'system') {\r\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\r\n mediaQuery.addEventListener('change', this.handleSystemThemeChange);\r\n }\r\n }\r\n\r\n tabClicked(mode: string) {\r\n this.currentActiveTab = mode;\r\n // this.themetabClicked.emit(mode);\r\n }\r\n\r\n applyTheme(theme: 'light' | 'dark' | 'system') {\r\n let finalTheme = theme;\r\n if (theme === 'system') {\r\n finalTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n }\r\n\r\n document.documentElement.setAttribute('data-theme', finalTheme);\r\n }\r\n\r\n setTheme(theme: 'light' | 'dark' | 'system') {\r\n this.currentActiveTab = theme;\r\n this.theme = theme;\r\n localStorage.setItem('preferred-theme', theme);\r\n }\r\n\r\n getSystemTheme(): 'light' | 'dark' {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n }\r\n\r\n handleSystemThemeChange = (e: MediaQueryListEvent) => {\r\n if (this.theme === 'system') {\r\n this.setTheme(e.matches ? 'dark' : 'light');\r\n }\r\n };\r\n\r\n render() {\r\n const systemIconSrc = getAssetPath(`assets/laptop.svg`);\r\n const sunSrc = getAssetPath(`assets/sun-02.svg`);\r\n const moonSrc = getAssetPath(`assets/moon-02.svg`);\r\n\r\n return (\r\n <div class={`theme_tab_div`}>\r\n <div class=\"tab\">\r\n <gb-icon-button-base\r\n current={this.currentActiveTab === 'system' ? true : false}\r\n icon={systemIconSrc}\r\n label=\"System\"\r\n onClick={() => this.setTheme('system')}\r\n ></gb-icon-button-base>\r\n </div>\r\n <div class=\"tab\">\r\n <gb-icon-button-base current={this.currentActiveTab === 'light' ? true : false} icon={sunSrc} label=\"Light\" onClick={() => this.setTheme('light')}></gb-icon-button-base>\r\n </div>\r\n <div class=\"tab\">\r\n <gb-icon-button-base current={this.currentActiveTab === 'dark' ? true : false} icon={moonSrc} label=\"Dark\" onClick={() => this.setTheme('dark')}></gb-icon-button-base>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}