@ojiepermana/angular 22.1.13 → 22.2.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/README.md +8 -6
- package/SUPPORT.md +3 -3
- package/chart/README.md +1 -1
- package/component/README.md +2 -2
- package/component/calendar/README.md +3 -15
- package/component/drawer/README.md +1 -2
- package/fesm2022/ojiepermana-angular-chart-area.mjs +352 -137
- package/fesm2022/ojiepermana-angular-chart-bar.mjs +744 -524
- package/fesm2022/ojiepermana-angular-chart-core.mjs +1140 -1344
- package/fesm2022/ojiepermana-angular-chart-line.mjs +393 -147
- package/fesm2022/ojiepermana-angular-chart-pie.mjs +408 -179
- package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1262 -920
- package/fesm2022/ojiepermana-angular-chart-radar.mjs +473 -205
- package/fesm2022/ojiepermana-angular-chart-radial.mjs +425 -182
- package/fesm2022/ojiepermana-angular-chart-scatter.mjs +386 -210
- package/fesm2022/ojiepermana-angular-chart.mjs +3 -19
- package/fesm2022/ojiepermana-angular-component-accordion.mjs +485 -243
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +963 -325
- package/fesm2022/ojiepermana-angular-component-alert.mjs +266 -103
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +80 -35
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +402 -135
- package/fesm2022/ojiepermana-angular-component-badge.mjs +109 -59
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +410 -142
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +249 -96
- package/fesm2022/ojiepermana-angular-component-button.mjs +153 -75
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +531 -418
- package/fesm2022/ojiepermana-angular-component-card.mjs +457 -171
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +642 -272
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +312 -108
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +299 -115
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +396 -183
- package/fesm2022/ojiepermana-angular-component-command.mjs +807 -347
- package/fesm2022/ojiepermana-angular-component-composer.mjs +807 -330
- package/fesm2022/ojiepermana-angular-component-context-menu.mjs +196 -161
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +650 -338
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +710 -316
- package/fesm2022/ojiepermana-angular-component-drawer.mjs +2 -5
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +1212 -646
- package/fesm2022/ojiepermana-angular-component-editor.mjs +987 -502
- package/fesm2022/ojiepermana-angular-component-empty.mjs +350 -137
- package/fesm2022/ojiepermana-angular-component-form.mjs +813 -434
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +486 -277
- package/fesm2022/ojiepermana-angular-component-icon.mjs +241 -140
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +449 -176
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +891 -488
- package/fesm2022/ojiepermana-angular-component-input.mjs +86 -55
- package/fesm2022/ojiepermana-angular-component-item.mjs +713 -261
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +714 -216
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +124 -52
- package/fesm2022/ojiepermana-angular-component-label.mjs +82 -31
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +479 -329
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +167 -65
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +683 -380
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +277 -94
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +1283 -607
- package/fesm2022/ojiepermana-angular-component-popover.mjs +291 -204
- package/fesm2022/ojiepermana-angular-component-progress.mjs +176 -53
- package/fesm2022/ojiepermana-angular-component-radio.mjs +449 -142
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +659 -453
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +117 -39
- package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +351 -172
- package/fesm2022/ojiepermana-angular-component-select.mjs +475 -345
- package/fesm2022/ojiepermana-angular-component-separator.mjs +102 -35
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +797 -347
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +62 -29
- package/fesm2022/ojiepermana-angular-component-slider.mjs +592 -376
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +135 -38
- package/fesm2022/ojiepermana-angular-component-switch.mjs +315 -103
- package/fesm2022/ojiepermana-angular-component-table.mjs +440 -153
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +590 -317
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +85 -50
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +609 -231
- package/fesm2022/ojiepermana-angular-component-toast.mjs +229 -243
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +573 -288
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +187 -78
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +798 -517
- package/fesm2022/ojiepermana-angular-component-utils-core.mjs +159 -292
- package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +46 -58
- package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +76 -38
- package/fesm2022/ojiepermana-angular-component-utils.mjs +2 -8
- package/fesm2022/ojiepermana-angular-component.mjs +0 -10
- package/fesm2022/ojiepermana-angular-navigation-core.mjs +13 -23
- package/fesm2022/ojiepermana-angular-navigation-icon.mjs +35 -24
- package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-BKCeWzml.mjs +129 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DFEJK2jD.mjs +811 -0
- package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-Cd-jh6tg.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-mpK9Ar08.mjs} +387 -183
- package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BPgH7FJk.mjs +650 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-DMpYcD9t.mjs +662 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-item.component-Basp5SIk.mjs +1228 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-list.component-YUzHI9Pj.mjs +311 -0
- package/fesm2022/ojiepermana-angular-navigation-service.mjs +542 -724
- package/fesm2022/ojiepermana-angular-navigation-types.mjs +27 -56
- package/fesm2022/ojiepermana-angular-navigation.mjs +3052 -4
- package/fesm2022/ojiepermana-angular-sdk.mjs +91 -201
- package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1115 -737
- package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +245 -328
- package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +35 -38
- package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1719 -552
- package/fesm2022/ojiepermana-angular-theme-layout.mjs +847 -491
- package/fesm2022/ojiepermana-angular-theme-page-core.mjs +288 -358
- package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +362 -224
- package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +88 -0
- package/fesm2022/ojiepermana-angular-theme-page-root.mjs +576 -254
- package/fesm2022/ojiepermana-angular-theme-page-side.mjs +317 -177
- package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +256 -112
- package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -12
- package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +215 -326
- package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +68 -129
- package/fesm2022/ojiepermana-angular-theme-shell.mjs +907 -378
- package/fesm2022/ojiepermana-angular-theme-styles.mjs +521 -720
- package/fesm2022/ojiepermana-angular-theme.mjs +0 -10
- package/fesm2022/ojiepermana-angular.mjs +5 -24
- package/navigation/README.md +1 -1
- package/package.json +16 -12
- package/sdk/README.md +1 -1
- package/sdk/src/writer/index.js +2 -2
- package/theme/README.md +1 -1
- package/theme/layout/README.md +2 -4
- package/theme/page/README.md +50 -0
- package/theme/styles/README.md +10 -10
- package/theme/styles/css/base/prefers-dark.css +1 -1
- package/theme/styles/css/base/status.css +1 -1
- package/theme/styles/css/color/amber.css +1 -1
- package/theme/styles/css/color/blue.css +1 -1
- package/theme/styles/css/color/cyan.css +1 -1
- package/theme/styles/css/color/emerald.css +1 -1
- package/theme/styles/css/color/fuchsia.css +1 -1
- package/theme/styles/css/color/green.css +1 -1
- package/theme/styles/css/color/indigo.css +1 -1
- package/theme/styles/css/color/lime.css +1 -1
- package/theme/styles/css/color/orange.css +1 -1
- package/theme/styles/css/color/pink.css +1 -1
- package/theme/styles/css/color/purple.css +1 -1
- package/theme/styles/css/color/red.css +1 -1
- package/theme/styles/css/color/rose.css +1 -1
- package/theme/styles/css/color/sky.css +1 -1
- package/theme/styles/css/color/teal.css +1 -1
- package/theme/styles/css/color/violet.css +1 -1
- package/theme/styles/css/color/yellow.css +1 -1
- package/theme/styles/css/neutral/gray.css +1 -1
- package/theme/styles/css/neutral/mauve.css +1 -1
- package/theme/styles/css/neutral/mist.css +1 -1
- package/theme/styles/css/neutral/neutral.css +1 -1
- package/theme/styles/css/neutral/olive.css +1 -1
- package/theme/styles/css/neutral/slate.css +1 -1
- package/theme/styles/css/neutral/stone.css +1 -1
- package/theme/styles/css/neutral/taupe.css +1 -1
- package/theme/styles/css/neutral/zinc.css +1 -1
- package/types/ojiepermana-angular-chart-area.d.ts +126 -63
- package/types/ojiepermana-angular-chart-bar.d.ts +244 -154
- package/types/ojiepermana-angular-chart-core.d.ts +409 -398
- package/types/ojiepermana-angular-chart-line.d.ts +141 -68
- package/types/ojiepermana-angular-chart-pie.d.ts +192 -121
- package/types/ojiepermana-angular-chart-primitives.d.ts +283 -214
- package/types/ojiepermana-angular-chart-radar.d.ts +189 -108
- package/types/ojiepermana-angular-chart-radial.d.ts +177 -106
- package/types/ojiepermana-angular-chart-scatter.d.ts +166 -110
- package/types/ojiepermana-angular-chart.d.ts +3 -2
- package/types/ojiepermana-angular-component-accordion.d.ts +135 -81
- package/types/ojiepermana-angular-component-alert-dialog.d.ts +271 -123
- package/types/ojiepermana-angular-component-alert.d.ts +69 -39
- package/types/ojiepermana-angular-component-aspect-ratio.d.ts +20 -12
- package/types/ojiepermana-angular-component-avatar.d.ts +103 -49
- package/types/ojiepermana-angular-component-badge.d.ts +36 -24
- package/types/ojiepermana-angular-component-breadcrumb.d.ts +79 -40
- package/types/ojiepermana-angular-component-button-group.d.ts +48 -24
- package/types/ojiepermana-angular-component-button.d.ts +44 -27
- package/types/ojiepermana-angular-component-calendar.d.ts +145 -107
- package/types/ojiepermana-angular-component-card.d.ts +112 -63
- package/types/ojiepermana-angular-component-carousel.d.ts +150 -81
- package/types/ojiepermana-angular-component-checkbox.d.ts +96 -38
- package/types/ojiepermana-angular-component-collapsible.d.ts +65 -39
- package/types/ojiepermana-angular-component-combobox.d.ts +100 -55
- package/types/ojiepermana-angular-component-command.d.ts +206 -121
- package/types/ojiepermana-angular-component-composer.d.ts +184 -84
- package/types/ojiepermana-angular-component-context-menu.d.ts +51 -41
- package/types/ojiepermana-angular-component-date-picker.d.ts +199 -109
- package/types/ojiepermana-angular-component-dialog.d.ts +200 -105
- package/types/ojiepermana-angular-component-drawer.d.ts +2 -1
- package/types/ojiepermana-angular-component-dropdown-menu.d.ts +324 -202
- package/types/ojiepermana-angular-component-editor.d.ts +215 -117
- package/types/ojiepermana-angular-component-empty.d.ts +80 -45
- package/types/ojiepermana-angular-component-form.d.ts +185 -121
- package/types/ojiepermana-angular-component-hover-card.d.ts +130 -72
- package/types/ojiepermana-angular-component-icon.d.ts +87 -57
- package/types/ojiepermana-angular-component-input-group.d.ts +93 -46
- package/types/ojiepermana-angular-component-input-otp.d.ts +243 -150
- package/types/ojiepermana-angular-component-input.d.ts +27 -17
- package/types/ojiepermana-angular-component-item.d.ts +160 -84
- package/types/ojiepermana-angular-component-kanban.d.ts +157 -62
- package/types/ojiepermana-angular-component-kbd.d.ts +24 -15
- package/types/ojiepermana-angular-component-label.d.ts +19 -11
- package/types/ojiepermana-angular-component-menubar.d.ts +120 -90
- package/types/ojiepermana-angular-component-native-select.d.ts +37 -24
- package/types/ojiepermana-angular-component-navigation-menu.d.ts +157 -98
- package/types/ojiepermana-angular-component-pagination.d.ts +78 -28
- package/types/ojiepermana-angular-component-pillbox.d.ts +361 -204
- package/types/ojiepermana-angular-component-popover.d.ts +94 -64
- package/types/ojiepermana-angular-component-progress.d.ts +45 -17
- package/types/ojiepermana-angular-component-radio.d.ts +129 -53
- package/types/ojiepermana-angular-component-resizable.d.ts +160 -112
- package/types/ojiepermana-angular-component-scroll-area.d.ts +33 -15
- package/types/ojiepermana-angular-component-segmented-control.d.ts +94 -50
- package/types/ojiepermana-angular-component-select.d.ts +94 -77
- package/types/ojiepermana-angular-component-separator.d.ts +26 -14
- package/types/ojiepermana-angular-component-sheet.d.ts +226 -116
- package/types/ojiepermana-angular-component-skeleton.d.ts +13 -10
- package/types/ojiepermana-angular-component-slider.d.ts +140 -75
- package/types/ojiepermana-angular-component-spinner.d.ts +31 -13
- package/types/ojiepermana-angular-component-switch.d.ts +97 -40
- package/types/ojiepermana-angular-component-table.d.ts +102 -50
- package/types/ojiepermana-angular-component-tabs.d.ts +174 -115
- package/types/ojiepermana-angular-component-textarea.d.ts +27 -17
- package/types/ojiepermana-angular-component-timeline.d.ts +141 -59
- package/types/ojiepermana-angular-component-toast.d.ts +51 -55
- package/types/ojiepermana-angular-component-toggle-group.d.ts +159 -88
- package/types/ojiepermana-angular-component-toggle.d.ts +47 -25
- package/types/ojiepermana-angular-component-tooltip.d.ts +222 -132
- package/types/ojiepermana-angular-component-utils-core.d.ts +81 -90
- package/types/ojiepermana-angular-component-utils-overlay.d.ts +7 -11
- package/types/ojiepermana-angular-component-utils-scale.d.ts +20 -12
- package/types/ojiepermana-angular-component-utils.d.ts +2 -2
- package/types/ojiepermana-angular-component.d.ts +1 -2
- package/types/ojiepermana-angular-navigation-core.d.ts +46 -50
- package/types/ojiepermana-angular-navigation-icon.d.ts +9 -12
- package/types/ojiepermana-angular-navigation-service.d.ts +112 -115
- package/types/ojiepermana-angular-navigation-types.d.ts +121 -125
- package/types/ojiepermana-angular-navigation.d.ts +663 -374
- package/types/ojiepermana-angular-sdk.d.ts +69 -71
- package/types/ojiepermana-angular-theme-component-settings.d.ts +115 -83
- package/types/ojiepermana-angular-theme-layout-services.d.ts +119 -124
- package/types/ojiepermana-angular-theme-layout-types.d.ts +27 -31
- package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +399 -187
- package/types/ojiepermana-angular-theme-layout.d.ts +201 -112
- package/types/ojiepermana-angular-theme-page-core.d.ts +136 -142
- package/types/ojiepermana-angular-theme-page-filter.d.ts +112 -62
- package/types/ojiepermana-angular-theme-page-overview.d.ts +28 -0
- package/types/ojiepermana-angular-theme-page-root.d.ts +172 -88
- package/types/ojiepermana-angular-theme-page-side.d.ts +89 -49
- package/types/ojiepermana-angular-theme-page-slots.d.ts +58 -37
- package/types/ojiepermana-angular-theme-page.d.ts +7 -5
- package/types/ojiepermana-angular-theme-shell-services.d.ts +119 -125
- package/types/ojiepermana-angular-theme-shell-types.d.ts +38 -41
- package/types/ojiepermana-angular-theme-shell.d.ts +139 -61
- package/types/ojiepermana-angular-theme-styles.d.ts +184 -196
- package/types/ojiepermana-angular-theme.d.ts +1 -2
- package/types/ojiepermana-angular.d.ts +5 -5
- package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-CDBxQ8rk.mjs +0 -91
- package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +0 -512
- package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +0 -404
- package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +0 -466
- package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +0 -2642
|
@@ -1,163 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
const SHELL_MODES = ['web', 'desktop', 'tablet', 'mobile'];
|
|
9
|
-
/**
|
|
10
|
-
* Concrete host the shell is running on. Each mode owns a set of these (see
|
|
11
|
-
* {@link SHELL_MODE_DEVICES}) — `android` deliberately belongs to both `tablet`
|
|
12
|
-
* and `mobile`, because the same OS ships on both form factors.
|
|
13
|
-
*
|
|
14
|
-
* Persisted under {@link SHELL_DEVICE_STORAGE_KEY}.
|
|
15
|
-
*/
|
|
1
|
+
const SHELL_MODES = [
|
|
2
|
+
"web",
|
|
3
|
+
"desktop",
|
|
4
|
+
"tablet",
|
|
5
|
+
"mobile"
|
|
6
|
+
];
|
|
16
7
|
const SHELL_DEVICES = [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
"browser",
|
|
9
|
+
"macos",
|
|
10
|
+
"windows",
|
|
11
|
+
"linux",
|
|
12
|
+
"ipad",
|
|
13
|
+
"android",
|
|
14
|
+
"ios"
|
|
15
|
+
];
|
|
16
|
+
const SHELL_COLORS = ["sync", "default"];
|
|
17
|
+
const SHELL_FRAMES = ["classic", "modern"];
|
|
18
|
+
const SHELL_PLATFORMS = [
|
|
19
|
+
"web",
|
|
20
|
+
"tauri",
|
|
21
|
+
"electron",
|
|
22
|
+
"custom"
|
|
23
|
+
];
|
|
24
|
+
const SHELL_WINDOW_STATES = [
|
|
25
|
+
"normal",
|
|
26
|
+
"maximized",
|
|
27
|
+
"fullscreen"
|
|
24
28
|
];
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
* How the app sits inside its window.
|
|
36
|
-
*
|
|
37
|
-
* `classic` is the traditional desktop frame: the app is flush to the window edge
|
|
38
|
-
* and a bordered titlebar sits on top of it.
|
|
39
|
-
*
|
|
40
|
-
* `modern` insets the app instead, so it floats as a panel inside the window with
|
|
41
|
-
* the chrome showing around it. The titlebar drops its border and takes the same
|
|
42
|
-
* colour as that surround, so the two read as one continuous frame rather than a
|
|
43
|
-
* bar stacked on a body.
|
|
44
|
-
*
|
|
45
|
-
* Only a desktop window has a frame to shape, so this is coerced to `classic` on
|
|
46
|
-
* every other mode — see {@link resolveShellFrameForMode}.
|
|
47
|
-
*
|
|
48
|
-
* Persisted under {@link SHELL_FRAME_STORAGE_KEY}.
|
|
49
|
-
*/
|
|
50
|
-
const SHELL_FRAMES = ['classic', 'modern'];
|
|
51
|
-
/**
|
|
52
|
-
* Runtime hosting the shell — distinct from `device`, which is the OS. `web`
|
|
53
|
-
* means no bridge is registered, so there is no window to drive.
|
|
54
|
-
*/
|
|
55
|
-
const SHELL_PLATFORMS = ['web', 'tauri', 'electron', 'custom'];
|
|
56
|
-
const SHELL_WINDOW_STATES = ['normal', 'maximized', 'fullscreen'];
|
|
57
|
-
const SHELL_DEFAULT_MODE = 'web';
|
|
58
|
-
const SHELL_DEFAULT_DEVICE = 'browser';
|
|
59
|
-
const SHELL_DEFAULT_COLOR = 'sync';
|
|
60
|
-
const SHELL_DEFAULT_FRAME = 'classic';
|
|
61
|
-
const SHELL_DEFAULT_PLATFORM = 'web';
|
|
62
|
-
const SHELL_DEFAULT_WINDOW_STATE = 'normal';
|
|
63
|
-
const SHELL_MODE_STORAGE_KEY = 'shell-mode';
|
|
64
|
-
const SHELL_DEVICE_STORAGE_KEY = 'shell-device';
|
|
65
|
-
const SHELL_COLOR_STORAGE_KEY = 'shell-color';
|
|
66
|
-
const SHELL_FRAME_STORAGE_KEY = 'shell-frame';
|
|
67
|
-
/**
|
|
68
|
-
* Which devices each mode can run on. The first entry is the mode's default, used
|
|
69
|
-
* when nothing else resolves — and to correct a device that cannot belong to the
|
|
70
|
-
* active mode (`mode='desktop' device='ipad'` has no meaning).
|
|
71
|
-
*/
|
|
29
|
+
const SHELL_DEFAULT_MODE = "web";
|
|
30
|
+
const SHELL_DEFAULT_DEVICE = "browser";
|
|
31
|
+
const SHELL_DEFAULT_COLOR = "sync";
|
|
32
|
+
const SHELL_DEFAULT_FRAME = "classic";
|
|
33
|
+
const SHELL_DEFAULT_PLATFORM = "web";
|
|
34
|
+
const SHELL_DEFAULT_WINDOW_STATE = "normal";
|
|
35
|
+
const SHELL_MODE_STORAGE_KEY = "shell-mode";
|
|
36
|
+
const SHELL_DEVICE_STORAGE_KEY = "shell-device";
|
|
37
|
+
const SHELL_COLOR_STORAGE_KEY = "shell-color";
|
|
38
|
+
const SHELL_FRAME_STORAGE_KEY = "shell-frame";
|
|
72
39
|
const SHELL_MODE_DEVICES = {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
40
|
+
web: ["browser"],
|
|
41
|
+
desktop: [
|
|
42
|
+
"macos",
|
|
43
|
+
"windows",
|
|
44
|
+
"linux"
|
|
45
|
+
],
|
|
46
|
+
tablet: ["ipad", "android"],
|
|
47
|
+
mobile: ["ios", "android"]
|
|
77
48
|
};
|
|
78
49
|
function isShellMode(value) {
|
|
79
|
-
|
|
50
|
+
return typeof value === "string" && SHELL_MODES.includes(value);
|
|
80
51
|
}
|
|
81
52
|
function isShellDevice(value) {
|
|
82
|
-
|
|
53
|
+
return typeof value === "string" && SHELL_DEVICES.includes(value);
|
|
83
54
|
}
|
|
84
55
|
function isShellColor(value) {
|
|
85
|
-
|
|
56
|
+
return typeof value === "string" && SHELL_COLORS.includes(value);
|
|
86
57
|
}
|
|
87
58
|
function isShellFrame(value) {
|
|
88
|
-
|
|
59
|
+
return typeof value === "string" && SHELL_FRAMES.includes(value);
|
|
89
60
|
}
|
|
90
61
|
function isShellPlatform(value) {
|
|
91
|
-
|
|
62
|
+
return typeof value === "string" && SHELL_PLATFORMS.includes(value);
|
|
92
63
|
}
|
|
93
64
|
function isShellWindowState(value) {
|
|
94
|
-
|
|
65
|
+
return typeof value === "string" && SHELL_WINDOW_STATES.includes(value);
|
|
95
66
|
}
|
|
96
67
|
function normalizeShellMode(value) {
|
|
97
|
-
|
|
68
|
+
return isShellMode(value) ? value : "web";
|
|
98
69
|
}
|
|
99
70
|
function normalizeShellColor(value) {
|
|
100
|
-
|
|
71
|
+
return isShellColor(value) ? value : SHELL_DEFAULT_COLOR;
|
|
101
72
|
}
|
|
102
73
|
function normalizeShellFrame(value) {
|
|
103
|
-
|
|
74
|
+
return isShellFrame(value) ? value : SHELL_DEFAULT_FRAME;
|
|
104
75
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Resolve a frame that is coherent with `mode`. Only a desktop window has a frame
|
|
107
|
-
* to shape — the other modes have no titlebar to fuse with a surround — so
|
|
108
|
-
* `modern` collapses to `classic` there rather than insetting an app for no reason.
|
|
109
|
-
*/
|
|
110
76
|
function resolveShellFrameForMode(mode, frame) {
|
|
111
|
-
|
|
77
|
+
return mode === "desktop" ? normalizeShellFrame(frame) : SHELL_DEFAULT_FRAME;
|
|
112
78
|
}
|
|
113
|
-
/** Devices the mode can run on; the first is its default. */
|
|
114
79
|
function shellDevicesForMode(mode) {
|
|
115
|
-
|
|
80
|
+
return SHELL_MODE_DEVICES[mode];
|
|
116
81
|
}
|
|
117
82
|
function defaultShellDeviceForMode(mode) {
|
|
118
|
-
|
|
83
|
+
return SHELL_MODE_DEVICES[mode][0];
|
|
119
84
|
}
|
|
120
85
|
function isShellDeviceForMode(mode, device) {
|
|
121
|
-
|
|
86
|
+
return SHELL_MODE_DEVICES[mode].includes(device);
|
|
122
87
|
}
|
|
123
|
-
/**
|
|
124
|
-
* Resolve a device that is coherent with `mode`. An unknown device, or one that
|
|
125
|
-
* belongs to a different form factor, falls back to the mode's default rather
|
|
126
|
-
* than leaving the pair in a state no styling can describe.
|
|
127
|
-
*/
|
|
128
88
|
function resolveShellDeviceForMode(mode, device) {
|
|
129
|
-
|
|
130
|
-
? device
|
|
131
|
-
: defaultShellDeviceForMode(mode);
|
|
89
|
+
return isShellDevice(device) && isShellDeviceForMode(mode, device) ? device : defaultShellDeviceForMode(mode);
|
|
132
90
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Map a raw platform identifier onto the device axis — a Tauri `platform()`
|
|
135
|
-
* result, an Electron `process.platform`, or a `navigator.platform`/user-agent
|
|
136
|
-
* string. Order matters: iPadOS reports itself as a Mac, and Android tablets and
|
|
137
|
-
* phones share a token, so the narrower match has to win first.
|
|
138
|
-
*/
|
|
139
91
|
function normalizeShellDevice(value) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
return 'android';
|
|
150
|
-
if (token.includes('mac') || token === 'darwin')
|
|
151
|
-
return 'macos';
|
|
152
|
-
if (token.includes('win'))
|
|
153
|
-
return 'windows';
|
|
154
|
-
if (token.includes('linux') || token.includes('x11'))
|
|
155
|
-
return 'linux';
|
|
156
|
-
return null;
|
|
92
|
+
if (!value) return null;
|
|
93
|
+
const token = value.toLowerCase();
|
|
94
|
+
if (token.includes("ipad")) return "ipad";
|
|
95
|
+
if (token.includes("iphone") || token.includes("ipod") || token === "ios") return "ios";
|
|
96
|
+
if (token.includes("android")) return "android";
|
|
97
|
+
if (token.includes("mac") || token === "darwin") return "macos";
|
|
98
|
+
if (token.includes("win")) return "windows";
|
|
99
|
+
if (token.includes("linux") || token.includes("x11")) return "linux";
|
|
100
|
+
return null;
|
|
157
101
|
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Generated bundle index. Do not edit.
|
|
161
|
-
*/
|
|
162
|
-
|
|
163
|
-
export { SHELL_COLORS, SHELL_COLOR_STORAGE_KEY, SHELL_DEFAULT_COLOR, SHELL_DEFAULT_DEVICE, SHELL_DEFAULT_FRAME, SHELL_DEFAULT_MODE, SHELL_DEFAULT_PLATFORM, SHELL_DEFAULT_WINDOW_STATE, SHELL_DEVICES, SHELL_DEVICE_STORAGE_KEY, SHELL_FRAMES, SHELL_FRAME_STORAGE_KEY, SHELL_MODES, SHELL_MODE_DEVICES, SHELL_MODE_STORAGE_KEY, SHELL_PLATFORMS, SHELL_WINDOW_STATES, defaultShellDeviceForMode, isShellColor, isShellDevice, isShellDeviceForMode, isShellFrame, isShellMode, isShellPlatform, isShellWindowState, normalizeShellColor, normalizeShellDevice, normalizeShellFrame, normalizeShellMode, resolveShellDeviceForMode, resolveShellFrameForMode, shellDevicesForMode };
|
|
102
|
+
export { SHELL_COLORS, SHELL_COLOR_STORAGE_KEY, SHELL_DEFAULT_COLOR, SHELL_DEFAULT_DEVICE, SHELL_DEFAULT_FRAME, SHELL_DEFAULT_MODE, SHELL_DEFAULT_PLATFORM, SHELL_DEFAULT_WINDOW_STATE, SHELL_DEVICES, SHELL_DEVICE_STORAGE_KEY, SHELL_FRAMES, SHELL_FRAME_STORAGE_KEY, SHELL_MODES, SHELL_MODE_DEVICES, SHELL_MODE_STORAGE_KEY, SHELL_PLATFORMS, SHELL_WINDOW_STATES, defaultShellDeviceForMode, isShellColor, isShellDevice, isShellDeviceForMode, isShellFrame, isShellMode, isShellPlatform, isShellWindowState, normalizeShellColor, normalizeShellDevice, normalizeShellFrame, normalizeShellMode, resolveShellDeviceForMode, resolveShellFrameForMode, shellDevicesForMode };
|