@efficiency-point/design-system 0.10.1 → 0.11.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 +16 -12
- package/assets/favicon/favicon-ravis.svg +13 -0
- package/assets/favicon/favicon-reft.svg +13 -0
- package/assets/favicon/favicon-steklo.svg +13 -0
- package/dist/brand/favicon.d.ts +12 -8
- package/dist/brand/favicon.d.ts.map +1 -1
- package/dist/components/DSThemeSwitcher/DSThemeSwitcher.d.ts +5 -3
- package/dist/components/DSThemeSwitcher/DSThemeSwitcher.d.ts.map +1 -1
- package/dist/components/DSThemeSwitcher/theme.d.ts +6 -2
- package/dist/components/DSThemeSwitcher/theme.d.ts.map +1 -1
- package/dist/components/DSThemeSwitcher/themeAvailability.d.ts +15 -0
- package/dist/components/DSThemeSwitcher/themeAvailability.d.ts.map +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1303 -1253
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/scripts/copy-favicons.mjs +3 -0
package/README.md
CHANGED
|
@@ -31,11 +31,13 @@ export function Example() {
|
|
|
31
31
|
|
|
32
32
|
## Темизация
|
|
33
33
|
|
|
34
|
-
Доступны
|
|
34
|
+
Доступны три полные палитры: **РПФ** (`reft`, по умолчанию), **Стекло** (`steklo`) и **Равис** (`ravis`). Тема «РПФ» использует зелёный primary #007b45, жёлтый secondary #f6c500 с тёмным текстом, нейтральные серые поверхности, синие информационные и красные ошибочные состояния. Геометрия, типографика и API существующих компонентов не меняются.
|
|
35
35
|
|
|
36
|
-
В теме «Стекло» сохранены исходные значения: primary #16756d; brand ссылается на primary. Сливовый secondary #76528b (hover #634575, active #533963, surface #f3eef7) предназначен для специальных действий. Для сохранения прежнего отображения при обновлении задайте `<html data-ds-theme="
|
|
36
|
+
В теме «Стекло» сохранены исходные значения: primary #16756d; brand ссылается на primary. Сливовый secondary #76528b (hover #634575, active #533963, surface #f3eef7) предназначен для специальных действий. Для сохранения прежнего отображения при обновлении задайте `<html data-ds-theme="steklo">` **до первой отрисовки**.
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Тема «Равис» использует фирменный brand #e25c2a, мягкую подложку #ffdfd2 и нейтральный тёмный secondary #2e3844. Для обычных primary-кнопок применяется производный #c34d20: он сохраняет характер бренда и обеспечивает контраст 4.77:1 с белым текстом, тогда как точный #e25c2a даёт 3.62:1. Семантические success/warning/error/info-цвета остаются независимыми от бренда.
|
|
39
|
+
|
|
40
|
+
`styles.css` содержит все темы. Атрибут `data-ds-theme="steklo"`, `data-ds-theme="reft"` или `data-ds-theme="ravis"` на `html` переключает всю палитру, включая порталы. Старые атрибуты `teal` и `signal` временно поддерживаются как совместимые алиасы, а сохранённые значения автоматически нормализуются в `steklo` и `reft`. Локальный атрибут поддерживает сравнение обычных компонентов; порталы наследуют тему документа. Переопределения потребителя через поздний `:root` сохраняют приоритет.
|
|
39
41
|
|
|
40
42
|
### Переключатель и сохранение
|
|
41
43
|
|
|
@@ -56,11 +58,13 @@ export function ThemePicker() {
|
|
|
56
58
|
}
|
|
57
59
|
```
|
|
58
60
|
|
|
59
|
-
`DSThemeSwitcher` — controlled-компонент (`value`, `onChange`, необязательные `compact` и `
|
|
61
|
+
`DSThemeSwitcher` — controlled-компонент (`value`, `onChange`, необязательные `compact`, `disabled` и `availability`). `availability` принимает частичную карту `{ steklo, reft, ravis }` с boolean-флагами; пропущенные значения берутся из `DEFAULT_DS_THEME_AVAILABILITY`. По умолчанию доступны «Стекло» и «РПФ», а «Равис» отключён. Меню управляется клавиатурой: Tab, стрелки, Space, Escape. `compact` скрывает подпись, сохраняя доступное имя и подсказку. `applyDSTheme` применяет тему к `document.documentElement` и сохраняет её под ключом `efficiency-point.design-system.theme`; `getStoredDSTheme` возвращает тему «РПФ» (`reft`) при отсутствии/невалидности значения или блокировке storage. Импорт библиотеки сам не обращается к DOM и не меняет storage. При SSR задавайте начальный атрибут на сервере либо восстанавливайте выбор ранним клиентским скриптом до отображения страницы.
|
|
62
|
+
|
|
63
|
+
Для временного показа всех тем выполните в консоли браузера `activate_themes()`. Команда действует в текущей browser-сессии, сохраняет флаг только в `sessionStorage` и сразу обновляет все смонтированные `DSThemeSwitcher`, перекрывая их `availability`. Постоянную доступность задавайте явно, например: `<DSThemeSwitcher availability={{ ravis: true }} ... />`.
|
|
60
64
|
|
|
61
|
-
В Storybook переключатель в верхней панели синхронизирован с **Design System → Foundations → Themes → Предпросмотр тем** и
|
|
65
|
+
В Storybook переключатель в верхней панели синхронизирован с **Design System → Foundations → Themes → Предпросмотр тем** и отдельной страницей **Design System → Components → DSThemeSwitcher → Отладка**. На странице отладки доступны controlled-пример, текущий ID темы, состояния обычного, компактного и недоступного переключателя, а также Storybook Controls. Выбор сохраняется после перезагрузки, применяется в Canvas/Docs и синхронизируется между вкладками. Сравнение палитр на странице предпросмотра остаётся фиксированным.
|
|
62
66
|
|
|
63
|
-
Регрессия тем: после `npm run build` запустите `node tests/theme-browser.mjs`. Проверяются исходные токены «Стекло» (`
|
|
67
|
+
Регрессия тем: после `npm run build` запустите `node tests/theme-browser.mjs`. Проверяются исходные токены «Стекло» (`steklo`), состояния кнопок, полнота темы «РПФ» (`reft`), фирменные токены и контраст кнопок «Равис», переопределения потребителя и forced-colors. Для проверки переключателя, localStorage, вкладок, Docs и mobile соберите и запустите Storybook, задайте `STORYBOOK_URL` (по умолчанию `http://127.0.0.1:6093`) и выполните `node tests/theme-storybook.mjs`.
|
|
64
68
|
|
|
65
69
|
Информационный акцент темы «Стекло»: --color-info #087d71, текст #11665d, фон #e8f4f1. Цвета переопределяются публичными CSS-токенами; --color-background ссылается на --color-surface. Светлый --color-accent-on-dark #5ed5c8 используется на тёмной панели видеоплеера. В теме «РПФ» видеоплеер использует нейтральную тёмную палитру и жёлтый акцент. Цвета backdrop и тени также вынесены в токены. Для согласованного движения доступны `--motion-duration-fast`, `--motion-duration-standard`, `--motion-duration-slow`, а также easing-токены `--motion-easing-standard`, `--motion-easing-enter` и `--motion-easing-exit`; компоненты отключают необязательное движение при `prefers-reduced-motion: reduce`.
|
|
66
70
|
|
|
@@ -110,10 +114,10 @@ export function ThemePicker() {
|
|
|
110
114
|
### Фавиконы
|
|
111
115
|
|
|
112
116
|
Пакет содержит тематизированные браузерные favicon и полный статический набор в
|
|
113
|
-
`@efficiency-point/design-system/assets/favicon`.
|
|
114
|
-
`favicon.svg`, ICO, PNG, Apple Touch Icon и PWA-иконки используют
|
|
117
|
+
`@efficiency-point/design-system/assets/favicon`. РПФ является дефолтом:
|
|
118
|
+
`favicon.svg`, ICO, PNG, Apple Touch Icon и PWA-иконки используют жёлтое
|
|
115
119
|
поле со светлым стеклом. Для переключения вкладки также поставляются отдельные
|
|
116
|
-
`favicon-
|
|
120
|
+
`favicon-reft.svg`, `favicon-steklo.svg` и `favicon-ravis.svg` с одинаковой геометрией. Старые `favicon-signal.svg` и `favicon-teal.svg` сохранены для совместимости.
|
|
117
121
|
|
|
118
122
|
Для Vite отдельный asset можно импортировать как URL:
|
|
119
123
|
|
|
@@ -138,7 +142,7 @@ npx ds-copy-favicons public --force
|
|
|
138
142
|
После копирования подключите метаданные в `index.html`:
|
|
139
143
|
|
|
140
144
|
```html
|
|
141
|
-
<link rel="icon" href="/favicon.svg" type="image/svg+xml" data-ds-favicon="
|
|
145
|
+
<link rel="icon" href="/favicon.svg" type="image/svg+xml" data-ds-favicon="reft">
|
|
142
146
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
143
147
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#f6c500">
|
|
144
148
|
<link rel="manifest" href="/site.webmanifest">
|
|
@@ -162,13 +166,13 @@ setTheme(getStoredDSTheme());
|
|
|
162
166
|
Если favicon лежат не в корне сайта, передайте `basePath`:
|
|
163
167
|
|
|
164
168
|
```ts
|
|
165
|
-
applyDSBrandTheme('
|
|
169
|
+
applyDSBrandTheme('steklo', { basePath: '/assets/favicon' });
|
|
166
170
|
```
|
|
167
171
|
|
|
168
172
|
`applyDSTheme` сохраняет прежнее поведение и не меняет favicon автоматически,
|
|
169
173
|
поэтому обновление пакета обратно совместимо. Для новой темы TypeScript требует
|
|
170
174
|
добавить запись в `DS_FAVICON_THEMES` и соответствующий SVG-файл. Установленные
|
|
171
|
-
Apple/PWA-иконки остаются
|
|
175
|
+
Apple/PWA-иконки остаются РПФ-дефолтом: платформы кешируют их независимо от
|
|
172
176
|
текущей темы приложения.
|
|
173
177
|
|
|
174
178
|
Не объявляйте `favicon.ico` отдельным `rel="icon"` рядом с тематическим SVG:
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Равис</title>
|
|
3
|
+
<desc id="desc">Светлая стеклянная плоскость на фирменном оранжевом поле Равис.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="8" y1="5" x2="57" y2="61" gradientUnits="userSpaceOnUse"><stop stop-color="#f28b63"/><stop offset=".45" stop-color="#e25c2a"/><stop offset="1" stop-color="#aa3d16"/></linearGradient>
|
|
6
|
+
<linearGradient id="edge" x1="15" y1="10" x2="21" y2="55" gradientUnits="userSpaceOnUse"><stop stop-color="#fff4ef"/><stop offset="1" stop-color="#f4c9b8"/></linearGradient>
|
|
7
|
+
<linearGradient id="pane" x1="21" y1="11" x2="50" y2="51" gradientUnits="userSpaceOnUse"><stop stop-color="#fff"/><stop offset="1" stop-color="#ffdfd2"/></linearGradient>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect x="2" y="2" width="60" height="60" rx="14" fill="url(#bg)"/>
|
|
10
|
+
<path d="M15 12 21 10v44l-6-2z" fill="url(#edge)"/>
|
|
11
|
+
<path d="m21 10 29 14v16L21 54z" fill="url(#pane)"/>
|
|
12
|
+
<path d="m22 11.5 27 13v2L22 14z" fill="#fff" opacity=".8"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">РПФ</title>
|
|
3
|
+
<desc id="desc">Светлая стеклянная плоскость на жёлтом поле РПФ.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="8" y1="5" x2="57" y2="61" gradientUnits="userSpaceOnUse"><stop stop-color="#ffe36c"/><stop offset=".45" stop-color="#f6c500"/><stop offset="1" stop-color="#c9a000"/></linearGradient>
|
|
6
|
+
<linearGradient id="edge" x1="15" y1="10" x2="21" y2="55" gradientUnits="userSpaceOnUse"><stop stop-color="#65f1e3"/><stop offset="1" stop-color="#16b8ad"/></linearGradient>
|
|
7
|
+
<linearGradient id="pane" x1="21" y1="11" x2="50" y2="51" gradientUnits="userSpaceOnUse"><stop stop-color="#fff"/><stop offset="1" stop-color="#c8f0ec"/></linearGradient>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect x="2" y="2" width="60" height="60" rx="14" fill="url(#bg)"/>
|
|
10
|
+
<path d="M15 12 21 10v44l-6-2z" fill="url(#edge)"/>
|
|
11
|
+
<path d="m21 10 29 14v16L21 54z" fill="url(#pane)"/>
|
|
12
|
+
<path d="m22 11.5 27 13v2L22 14z" fill="#fff" opacity=".8"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Стекло</title>
|
|
3
|
+
<desc id="desc">Светлая стеклянная плоскость на глубокой бирюзовой подложке.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="8" y1="5" x2="57" y2="61" gradientUnits="userSpaceOnUse"><stop stop-color="#176f69"/><stop offset="1" stop-color="#0b3e3a"/></linearGradient>
|
|
6
|
+
<linearGradient id="edge" x1="15" y1="10" x2="21" y2="55" gradientUnits="userSpaceOnUse"><stop stop-color="#65f1e3"/><stop offset="1" stop-color="#16b8ad"/></linearGradient>
|
|
7
|
+
<linearGradient id="pane" x1="21" y1="11" x2="50" y2="51" gradientUnits="userSpaceOnUse"><stop stop-color="#fff"/><stop offset="1" stop-color="#c8f0ec"/></linearGradient>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect x="2" y="2" width="60" height="60" rx="14" fill="url(#bg)"/>
|
|
10
|
+
<path d="M15 12 21 10v44l-6-2z" fill="url(#edge)"/>
|
|
11
|
+
<path d="m21 10 29 14v16L21 54z" fill="url(#pane)"/>
|
|
12
|
+
<path d="m22 11.5 27 13v2L22 14z" fill="#fff" opacity=".8"/>
|
|
13
|
+
</svg>
|
package/dist/brand/favicon.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DSTheme } from '../components/DSThemeSwitcher/theme';
|
|
1
|
+
import { DSTheme, DSThemeInput } from '../components/DSThemeSwitcher/theme';
|
|
2
2
|
export type DSFaviconThemeConfig = {
|
|
3
3
|
assetName: string;
|
|
4
4
|
themeColor: string;
|
|
@@ -8,18 +8,22 @@ export type DSFaviconOptions = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare const DEFAULT_DS_FAVICON_THEME: DSTheme;
|
|
10
10
|
export declare const DS_FAVICON_THEMES: {
|
|
11
|
-
readonly
|
|
12
|
-
readonly assetName: "favicon-
|
|
11
|
+
readonly reft: {
|
|
12
|
+
readonly assetName: "favicon-reft.svg";
|
|
13
13
|
readonly themeColor: "#f6c500";
|
|
14
14
|
};
|
|
15
|
-
readonly
|
|
16
|
-
readonly assetName: "favicon-
|
|
15
|
+
readonly steklo: {
|
|
16
|
+
readonly assetName: "favicon-steklo.svg";
|
|
17
17
|
readonly themeColor: "#0b3e3a";
|
|
18
18
|
};
|
|
19
|
+
readonly ravis: {
|
|
20
|
+
readonly assetName: "favicon-ravis.svg";
|
|
21
|
+
readonly themeColor: "#e25c2a";
|
|
22
|
+
};
|
|
19
23
|
};
|
|
20
|
-
export declare const getDSFaviconHref: (theme?:
|
|
24
|
+
export declare const getDSFaviconHref: (theme?: DSThemeInput, basePath?: string) => string;
|
|
21
25
|
/** Update the browser favicon and theme-color metadata. Safe to call during SSR. */
|
|
22
|
-
export declare const applyDSFavicon: (theme?:
|
|
26
|
+
export declare const applyDSFavicon: (theme?: DSThemeInput, options?: DSFaviconOptions) => void;
|
|
23
27
|
/** Apply the visual theme and its favicon together without changing applyDSTheme behavior. */
|
|
24
|
-
export declare const applyDSBrandTheme: (theme:
|
|
28
|
+
export declare const applyDSBrandTheme: (theme: DSThemeInput, options?: DSFaviconOptions) => void;
|
|
25
29
|
//# sourceMappingURL=favicon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/brand/favicon.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/brand/favicon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEtH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAAgB,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAI4B,CAAC;AAI3D,eAAO,MAAM,gBAAgB,GAAI,QAAO,YAAuC,EAAE,iBAAc,KAAG,MAGjG,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,cAAc,GAAI,QAAO,YAAuC,EAAE,UAAS,gBAAqB,KAAG,IA8B/G,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,GAAI,OAAO,YAAY,EAAE,UAAU,gBAAgB,KAAG,IAGnF,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { DSTheme } from './theme';
|
|
1
|
+
import { DSTheme, DSThemeInput } from './theme';
|
|
2
|
+
import { DSThemeAvailability } from './themeAvailability';
|
|
2
3
|
export type DSThemeSwitcherProps = {
|
|
3
|
-
value:
|
|
4
|
+
value: DSThemeInput;
|
|
4
5
|
onChange: (theme: DSTheme) => void;
|
|
5
6
|
compact?: boolean;
|
|
6
7
|
disabled?: boolean;
|
|
8
|
+
availability?: DSThemeAvailability;
|
|
7
9
|
};
|
|
8
|
-
export declare const DSThemeSwitcher: ({ value, onChange, compact, disabled }: DSThemeSwitcherProps) => import("react").JSX.Element;
|
|
10
|
+
export declare const DSThemeSwitcher: ({ value, onChange, compact, disabled, availability }: DSThemeSwitcherProps) => import("react").JSX.Element;
|
|
9
11
|
//# sourceMappingURL=DSThemeSwitcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSThemeSwitcher.d.ts","sourceRoot":"","sources":["../../../src/components/DSThemeSwitcher/DSThemeSwitcher.tsx"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"DSThemeSwitcher.d.ts","sourceRoot":"","sources":["../../../src/components/DSThemeSwitcher/DSThemeSwitcher.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoC,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAsD,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGnH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,sDAAsE,oBAAoB,gCAwEzH,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const DS_THEMES: readonly ["steklo", "reft", "ravis"];
|
|
2
|
+
export type DSTheme = typeof DS_THEMES[number];
|
|
3
|
+
export type DSLegacyTheme = 'teal' | 'signal';
|
|
4
|
+
export type DSThemeInput = DSTheme | DSLegacyTheme;
|
|
2
5
|
export declare const DS_THEME_STORAGE_KEY = "efficiency-point.design-system.theme";
|
|
3
6
|
export declare const DS_THEME_NAMES: Record<DSTheme, string>;
|
|
4
7
|
export declare const isDSTheme: (value: unknown) => value is DSTheme;
|
|
8
|
+
export declare const normalizeDSTheme: (value: unknown) => DSTheme | null;
|
|
5
9
|
/** Safe to call during SSR and when browser storage is unavailable. */
|
|
6
10
|
export declare const getStoredDSTheme: () => DSTheme;
|
|
7
11
|
/** Apply to the document so portals inherit the same theme. No import-time side effects. */
|
|
8
|
-
export declare const applyDSTheme: (theme:
|
|
12
|
+
export declare const applyDSTheme: (theme: DSThemeInput) => void;
|
|
9
13
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/DSThemeSwitcher/theme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/DSThemeSwitcher/theme.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,sCAAuC,CAAC;AAE9D,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAC3E,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAIlD,CAAC;AAOF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACiB,CAAC;AAEtE,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,OAAO,GAAG,IAG3D,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAO,OAOnC,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,IAQlD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DSTheme } from './theme';
|
|
2
|
+
export type DSThemeAvailability = Partial<Record<DSTheme, boolean>>;
|
|
3
|
+
export declare const DEFAULT_DS_THEME_AVAILABILITY: Readonly<Record<DSTheme, boolean>>;
|
|
4
|
+
export declare const DS_THEME_ACTIVATION_SESSION_KEY = "efficiency-point.design-system.all-themes-active";
|
|
5
|
+
export declare const areAllDSThemesActiveForSession: () => boolean;
|
|
6
|
+
export declare const getAvailableDSThemes: (availability?: DSThemeAvailability) => readonly DSTheme[];
|
|
7
|
+
export declare const activateThemesForSession: () => readonly DSTheme[];
|
|
8
|
+
export declare const subscribeDSThemeAvailability: (listener: () => void) => (() => void);
|
|
9
|
+
declare global {
|
|
10
|
+
interface Window {
|
|
11
|
+
activate_themes: typeof activateThemesForSession;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export declare const registerActivateThemesCommand: (target?: Window) => void;
|
|
15
|
+
//# sourceMappingURL=themeAvailability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeAvailability.d.ts","sourceRoot":"","sources":["../../../src/components/DSThemeSwitcher/themeAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAI5E,CAAC;AAEF,eAAO,MAAM,+BAA+B,qDAAqD,CAAC;AAIlG,eAAO,MAAM,8BAA8B,QAAO,OAQjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,eAAc,mBAAmD,KAClE,SAAS,OAAO,EAGlB,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,SAAS,OAAO,EAS3D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAI9E,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,eAAe,EAAE,OAAO,wBAAwB,CAAC;KACpD;CACJ;AAED,eAAO,MAAM,6BAA6B,GAAI,SAAS,MAAM,KAAG,IAe/D,CAAC"}
|