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.
- package/dist/cjs/gb-avatar_30.cjs.entry.js +3 -31
- package/dist/cjs/gb-avatar_30.cjs.entry.js.map +1 -1
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +4 -32
- package/dist/collection/components/gb-theme-tab/gb-theme-tab.js.map +1 -1
- package/dist/components/gb-avatar-dropdown.js +1 -1
- package/dist/components/gb-theme-tab.js +1 -1
- package/dist/components/p-CM-w7Vbz.js +59 -0
- package/dist/components/p-CM-w7Vbz.js.map +1 -0
- package/dist/docs.json +2 -2
- package/dist/esm/gb-avatar_30.entry.js +3 -31
- package/dist/esm/gb-avatar_30.entry.js.map +1 -1
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/{p-2bbf09cc.entry.js → p-8528870d.entry.js} +2 -2
- package/dist/globuscomponents/p-8528870d.entry.js.map +1 -0
- package/dist/types/components/gb-theme-tab/gb-theme-tab.d.ts +0 -5
- package/package.json +1 -1
- package/dist/components/p-CzL1gfFw.js +0 -87
- package/dist/components/p-CzL1gfFw.js.map +0 -1
- package/dist/globuscomponents/p-2bbf09cc.entry.js.map +0 -1
|
@@ -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,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}
|