@inglorious/ui 9.7.3 → 9.8.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/package.json +5 -5
- package/src/controls/button/style.css +0 -2
- package/src/controls/button/template.js +2 -3
- package/src/controls/checkbox/style.css +0 -1
- package/src/controls/checkbox/template.js +0 -2
- package/src/controls/combobox/style.css +0 -14
- package/src/controls/combobox/template.js +0 -13
- package/src/controls/file-upload/template.js +1 -1
- package/src/controls/image-cropper/helpers.js +0 -2
- package/src/controls/image-cropper/image.js +0 -2
- package/src/controls/image-cropper/style.css +0 -6
- package/src/controls/image-cropper/template.js +3 -5
- package/src/controls/input/style.css +0 -1
- package/src/controls/radio-group/style.css +0 -2
- package/src/controls/rating/style.css +0 -3
- package/src/controls/select/style.css +0 -6
- package/src/controls/slider/style.css +0 -5
- package/src/controls/slider/template.js +0 -1
- package/src/controls/switch/style.css +0 -1
- package/src/controls/switch/template.js +0 -2
- package/src/controls/textarea/style.css +0 -2
- package/src/data-display/before-after/style.css +0 -4
- package/src/data-display/before-after/template.js +3 -3
- package/src/data-display/carousel/carousel.stories.js +0 -2
- package/src/data-display/carousel/handlers.js +0 -2
- package/src/data-display/carousel/style.css +0 -18
- package/src/data-display/carousel/template.js +0 -15
- package/src/data-display/chat/index.js +0 -1
- package/src/data-display/chat/style.css +0 -2
- package/src/data-display/chat/template.js +0 -1
- package/src/data-display/chip/template.js +0 -1
- package/src/data-display/data-grid/base.css +0 -2
- package/src/data-display/data-grid/handlers.js +1 -8
- package/src/data-display/data-grid/helpers.js +0 -5
- package/src/data-display/data-grid/template.js +0 -1
- package/src/data-display/data-grid/theme.css +0 -1
- package/src/data-display/icon/style.css +0 -7
- package/src/data-display/icon/template.js +2 -2
- package/src/data-display/table/style.css +0 -2
- package/src/data-display/tooltip/style.css +0 -3
- package/src/data-display/virtual-list/handlers.js +0 -2
- package/src/data-display/virtual-list/template.js +2 -4
- package/src/examples/dashboard/before-after-data.js +0 -3
- package/src/examples/dashboard/data.js +0 -1
- package/src/examples/dashboard/primitive-content.js +0 -2
- package/src/examples/dashboard/style.css +0 -3
- package/src/feedback/alert/style.css +0 -1
- package/src/feedback/dialog/dialog.stories.js +7 -2
- package/src/feedback/dialog/style.css +31 -18
- package/src/feedback/dialog/template.js +16 -16
- package/src/feedback/progress/style.css +0 -6
- package/src/feedback/progress/template.js +0 -3
- package/src/feedback/snackbar/snackbar.stories.js +0 -1
- package/src/feedback/snackbar/style.css +0 -10
- package/src/layout/flex/style.css +0 -2
- package/src/navigation/bottom-navigation/style.css +0 -7
- package/src/navigation/drawer/style.css +0 -21
- package/src/navigation/drawer/template.js +10 -9
- package/src/navigation/menu/menu.stories.js +0 -2
- package/src/navigation/menu/style.css +0 -4
- package/src/navigation/menu/template.js +0 -3
- package/src/navigation/speed-dial/style.css +0 -4
- package/src/navigation/speed-dial/template.js +0 -5
- package/src/navigation/tabs/template.js +0 -2
- package/src/navigation/view-transitions/index.js +0 -13
- package/src/navigation/view-transitions/style.css +0 -2
- package/src/shared/icons.js +0 -4
- package/src/styles/themes/bootstrap.css +0 -40
- package/src/styles/themes/inglorious.css +0 -21
- package/src/styles/themes/ios-18.css +0 -47
- package/src/styles/themes/ios-26.css +0 -55
- package/src/styles/themes/material-3.css +0 -52
- package/src/styles/themes/material-ui.css +0 -43
- package/src/styles/tokens.css +0 -40
- package/src/surfaces/accordion/style.css +0 -2
- package/src/surfaces/accordion/template.js +0 -4
- package/src/surfaces/app-bar/style.css +0 -3
- package/src/surfaces/card/style.css +0 -3
- package/types/controls/button-group.d.ts +5 -3
- package/types/controls/button.d.ts +3 -1
- package/types/controls/combobox.d.ts +13 -0
- package/types/controls/fab.d.ts +1 -1
- package/types/controls/icon-button.d.ts +7 -21
- package/types/controls/input.d.ts +2 -2
- package/types/data-display/avatar.d.ts +1 -1
- package/types/data-display/badge.d.ts +4 -2
- package/types/data-display/chip.d.ts +5 -3
- package/types/data-display/icon.d.ts +4 -2
- package/types/data-display/tooltip.d.ts +4 -2
- package/types/data-display/typography.d.ts +3 -1
- package/types/feedback/alert.d.ts +3 -1
- package/types/feedback/backdrop.d.ts +4 -2
- package/types/feedback/dialog.d.ts +11 -1
- package/types/index.d.ts +1 -0
- package/types/layout/container.d.ts +3 -1
- package/types/layout/flex.d.ts +9 -11
- package/types/layout/grid.d.ts +4 -2
- package/types/navigation/breadcrumbs.d.ts +1 -1
- package/types/navigation/drawer.d.ts +9 -1
- package/types/navigation/link.d.ts +4 -2
- package/types/shared/renderable.d.ts +12 -0
- package/types/surfaces/app-bar.d.ts +3 -1
- package/types/surfaces/card.d.ts +4 -2
- package/types/surfaces/paper.d.ts +3 -1
|
@@ -8,7 +8,7 @@ import { classMap } from "@inglorious/web/directives/class-map"
|
|
|
8
8
|
import { ref } from "@inglorious/web/directives/ref"
|
|
9
9
|
import { when } from "@inglorious/web/directives/when"
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { IconButton } from "../../controls/icon-button/index.js"
|
|
12
12
|
import { Icon } from "../../data-display/icon/index.js"
|
|
13
13
|
import { Flex } from "../../layout/flex/index.js"
|
|
14
14
|
import { applyElementProps } from "../../shared/apply-element-props.js"
|
|
@@ -51,6 +51,9 @@ export function render(props) {
|
|
|
51
51
|
title,
|
|
52
52
|
children,
|
|
53
53
|
className = "",
|
|
54
|
+
closeLabel = "Close",
|
|
55
|
+
collapseLabel = "Collapse sidebar",
|
|
56
|
+
expandLabel = "Expand sidebar",
|
|
54
57
|
onClose,
|
|
55
58
|
onCollapseToggle,
|
|
56
59
|
...rest
|
|
@@ -74,8 +77,6 @@ export function render(props) {
|
|
|
74
77
|
...extraClasses,
|
|
75
78
|
}
|
|
76
79
|
|
|
77
|
-
// Without onClose nothing would take isOpen down, so the browser is not
|
|
78
|
-
// allowed to dismiss it: a manual popover ignores Esc and outside presses.
|
|
79
80
|
const popover =
|
|
80
81
|
variant === "permanent" ? nothing : onClose ? "auto" : "manual"
|
|
81
82
|
|
|
@@ -103,14 +104,14 @@ export function render(props) {
|
|
|
103
104
|
() => html`<div class="iw-drawer-title">${title}</div>`,
|
|
104
105
|
),
|
|
105
106
|
when(onClose, () =>
|
|
106
|
-
|
|
107
|
+
IconButton.render({
|
|
108
|
+
icon: Icon.render({ icon: close, size: "lg" }),
|
|
109
|
+
ariaLabel: closeLabel,
|
|
107
110
|
color: "secondary",
|
|
108
111
|
variant: "ghost",
|
|
109
112
|
shape: "square",
|
|
110
113
|
className: "iw-drawer-close",
|
|
111
|
-
"aria-label": "Close",
|
|
112
114
|
onClick: onClose,
|
|
113
|
-
children: Icon.render({ icon: close, size: "lg" }),
|
|
114
115
|
}),
|
|
115
116
|
),
|
|
116
117
|
],
|
|
@@ -129,14 +130,14 @@ export function render(props) {
|
|
|
129
130
|
justify: "end",
|
|
130
131
|
padding: "sm",
|
|
131
132
|
className: "iw-drawer-footer",
|
|
132
|
-
children:
|
|
133
|
+
children: IconButton.render({
|
|
134
|
+
icon: Icon.render({ icon: leftPanelClose, size: "lg" }),
|
|
135
|
+
ariaLabel: isCollapsed ? expandLabel : collapseLabel,
|
|
133
136
|
color: "secondary",
|
|
134
137
|
variant: "ghost",
|
|
135
138
|
shape: "square",
|
|
136
139
|
className: "iw-drawer-toggler",
|
|
137
|
-
"aria-label": isCollapsed ? "Expand sidebar" : "Collapse sidebar",
|
|
138
140
|
onClick: onCollapseToggle,
|
|
139
|
-
children: Icon.render({ icon: leftPanelClose, size: "lg" }),
|
|
140
141
|
}),
|
|
141
142
|
})}
|
|
142
143
|
`,
|
|
@@ -10,10 +10,6 @@
|
|
|
10
10
|
box-shadow: var(--iw-shadow-lg);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
/* Anchored to its trigger: below it and aligned with its start, flipping up
|
|
14
|
-
or across when there is no room. The browser's popover box is centred in
|
|
15
|
-
the viewport, so its insets and margins are reset; its hidden state has to
|
|
16
|
-
be restated, because the display above outranks it. */
|
|
17
13
|
.iw-menu[popover] {
|
|
18
14
|
inset: auto;
|
|
19
15
|
margin: var(--iw-space-1) 0 0;
|
|
@@ -46,7 +46,6 @@ export const Menu = {
|
|
|
46
46
|
commandfor: id,
|
|
47
47
|
command: "toggle-popover",
|
|
48
48
|
"aria-haspopup": "menu",
|
|
49
|
-
// Left to the browser when it alone keeps the open state.
|
|
50
49
|
"aria-expanded": onToggle ? String(isOpen) : undefined,
|
|
51
50
|
style: `anchor-name: ${anchorName(id)}`,
|
|
52
51
|
})
|
|
@@ -96,7 +95,6 @@ export const Menu = {
|
|
|
96
95
|
${ref((element) => {
|
|
97
96
|
if (!element) return
|
|
98
97
|
applyElementProps(element, rest)
|
|
99
|
-
// Without onToggle the browser alone opens and closes it.
|
|
100
98
|
if (trigger && onToggle) {
|
|
101
99
|
syncPopover(element, {
|
|
102
100
|
isOpen,
|
|
@@ -123,7 +121,6 @@ export const Menu = {
|
|
|
123
121
|
return html`<div class="iw-menu-divider" role="separator"></div>`
|
|
124
122
|
}
|
|
125
123
|
|
|
126
|
-
// In an anchored menu each item also hides the popover once picked.
|
|
127
124
|
return html`<button
|
|
128
125
|
type="button"
|
|
129
126
|
class=${classMap({
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/* The actions are a popover anchored to the trigger and placed on the side
|
|
2
|
-
`direction` names. The browser's popover box is centred in the viewport,
|
|
3
|
-
so its insets and box are reset; its hidden state has to be restated,
|
|
4
|
-
because the display below outranks it. */
|
|
5
1
|
.iw-speed-dial {
|
|
6
2
|
anchor-scope: --iw-speed-dial;
|
|
7
3
|
display: inline-flex;
|
|
@@ -49,9 +49,7 @@ export const SpeedDial = {
|
|
|
49
49
|
if (!element) return
|
|
50
50
|
const trigger = element.querySelector(".iw-speed-dial-trigger")
|
|
51
51
|
const popover = element.querySelector(".iw-speed-dial-actions")
|
|
52
|
-
// A property, not `commandfor`, so the link needs no id.
|
|
53
52
|
trigger.commandForElement = popover
|
|
54
|
-
// Without onToggle the browser alone opens and closes it.
|
|
55
53
|
if (onToggle) {
|
|
56
54
|
syncPopover(popover, {
|
|
57
55
|
isOpen,
|
|
@@ -92,9 +90,6 @@ export const SpeedDial = {
|
|
|
92
90
|
class="iw-speed-dial-action"
|
|
93
91
|
command="hide-popover"
|
|
94
92
|
${ref((element) => {
|
|
95
|
-
// Hides the popover once the action runs, like a menu item. Linked a
|
|
96
|
-
// microtask later: a new action is still outside the popover when its
|
|
97
|
-
// ref runs.
|
|
98
93
|
if (element) {
|
|
99
94
|
queueMicrotask(() => {
|
|
100
95
|
element.commandForElement = element.parentElement
|
|
@@ -65,8 +65,6 @@ export const Tabs = {
|
|
|
65
65
|
renderTab(item, index, props) {
|
|
66
66
|
const tabValue = item.value ?? index
|
|
67
67
|
const selected = tabValue === props.value
|
|
68
|
-
// Only one tab is in the Tab order, and the arrow keys move between them:
|
|
69
|
-
// the selected tab, or the first one while none is.
|
|
70
68
|
const hasSelection = props.items.some(
|
|
71
69
|
(other, otherIndex) => (other.value ?? otherIndex) === props.value,
|
|
72
70
|
)
|
|
@@ -66,11 +66,6 @@ function wrapStore(store, routes) {
|
|
|
66
66
|
let unsubscribeStore = null
|
|
67
67
|
|
|
68
68
|
store.subscribe = (listener) => {
|
|
69
|
-
/* Taken here rather than when the store is wrapped, so that anything that
|
|
70
|
-
navigated in between — an initial redirect, a renderer mounting late — is
|
|
71
|
-
part of the baseline instead of a navigation in its own right. It also
|
|
72
|
-
keeps `window` untouched until something subscribes, so wrapping a store
|
|
73
|
-
during a server render is harmless. */
|
|
74
69
|
if (!unsubscribeStore) {
|
|
75
70
|
currentPath = getPath()
|
|
76
71
|
currentIndex = getIndex()
|
|
@@ -115,20 +110,12 @@ function wrapStore(store, routes) {
|
|
|
115
110
|
if (supportsTransitionTypes()) {
|
|
116
111
|
document.startViewTransition({ update: notify, types })
|
|
117
112
|
} else {
|
|
118
|
-
// Without `types` the browser falls back to its own cross-fade, which is
|
|
119
|
-
// a reasonable way to change page when the slide is unavailable.
|
|
120
113
|
document.startViewTransition(notify)
|
|
121
114
|
}
|
|
122
115
|
}
|
|
123
116
|
|
|
124
|
-
/* The update callback of a view transition does not run synchronously: the
|
|
125
|
-
* browser captures the old state first and calls it on a later task. Reading
|
|
126
|
-
* the state here rather than in the subscription keeps a listener from
|
|
127
|
-
* replaying whatever the store held when the transition started. */
|
|
128
117
|
function notify() {
|
|
129
118
|
const state = store.getState()
|
|
130
|
-
// Copied, so that a listener subscribing during this pass waits for the
|
|
131
|
-
// next one instead of being notified by the pass that added it.
|
|
132
119
|
;[...listeners].forEach((listener) => listener(state))
|
|
133
120
|
}
|
|
134
121
|
|
|
@@ -74,8 +74,6 @@
|
|
|
74
74
|
var(--iw-easing-decelerate) both;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
/* A replacement navigates in place rather than arriving from a side, so it
|
|
78
|
-
cross-fades instead of sliding. */
|
|
79
77
|
:root:active-view-transition-type(replace)::view-transition-old(root) {
|
|
80
78
|
animation: iw-view-transition-fade-out var(--iw-duration-page)
|
|
81
79
|
var(--iw-easing-standard) both;
|
package/src/shared/icons.js
CHANGED
|
@@ -2,17 +2,10 @@
|
|
|
2
2
|
--iw-font-family-sans:
|
|
3
3
|
system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans",
|
|
4
4
|
"Liberation Sans", Arial, sans-serif;
|
|
5
|
-
/* The theme on the page itself: the element with the theme class, usually
|
|
6
|
-
<body>, takes its background, text color and font. */
|
|
7
5
|
background-color: var(--iw-color-bg);
|
|
8
6
|
color: var(--iw-color-text);
|
|
9
7
|
font-family: var(--iw-font-family-sans);
|
|
10
8
|
|
|
11
|
-
/* ========================================
|
|
12
|
-
BOOTSTRAP THEME - Bootstrap 5 defaults
|
|
13
|
-
======================================== */
|
|
14
|
-
|
|
15
|
-
/* Semantic Colors */
|
|
16
9
|
--iw-color-bg: var(--iw-color-white);
|
|
17
10
|
--iw-color-bg-secondary: #f8f9fa;
|
|
18
11
|
--iw-color-bg-tertiary: #e9ecef;
|
|
@@ -32,7 +25,6 @@
|
|
|
32
25
|
--iw-color-primary-active: #0a58ca;
|
|
33
26
|
--iw-color-primary-text: var(--iw-color-white);
|
|
34
27
|
|
|
35
|
-
/* Bootstrap's secondary color */
|
|
36
28
|
--iw-color-accent: #6c757d;
|
|
37
29
|
--iw-color-accent-hover: #5c636a;
|
|
38
30
|
--iw-color-accent-active: #565e64;
|
|
@@ -51,17 +43,11 @@
|
|
|
51
43
|
--iw-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
|
|
52
44
|
--iw-shadow-xl: 0 1rem 3rem rgba(0, 0, 0, 0.175);
|
|
53
45
|
|
|
54
|
-
/* Bootstrap's border radii */
|
|
55
46
|
--iw-radius-sm: 0.25rem;
|
|
56
47
|
--iw-radius-md: 0.375rem;
|
|
57
48
|
--iw-radius-lg: 0.5rem;
|
|
58
49
|
--iw-radius-xl: 1rem;
|
|
59
50
|
|
|
60
|
-
/* ========================================
|
|
61
|
-
COMPONENT TOKENS
|
|
62
|
-
======================================== */
|
|
63
|
-
|
|
64
|
-
/* Button */
|
|
65
51
|
--iw-button-bg: var(--iw-color-primary);
|
|
66
52
|
--iw-button-bg-hover: var(--iw-color-primary-hover);
|
|
67
53
|
--iw-button-bg-active: var(--iw-color-primary-active);
|
|
@@ -72,7 +58,6 @@
|
|
|
72
58
|
--iw-button-shadow-hover: none;
|
|
73
59
|
--iw-button-shadow-active: none;
|
|
74
60
|
|
|
75
|
-
/* Input */
|
|
76
61
|
--iw-input-bg: var(--iw-color-bg);
|
|
77
62
|
--iw-input-bg-hover: var(--iw-color-bg);
|
|
78
63
|
--iw-input-bg-focus: var(--iw-color-bg);
|
|
@@ -84,13 +69,10 @@
|
|
|
84
69
|
--iw-input-radius: var(--iw-radius-md);
|
|
85
70
|
--iw-input-shadow-focus: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
|
86
71
|
|
|
87
|
-
/* App bar: a navbar on the tertiary background */
|
|
88
72
|
--iw-app-bar-bg: var(--iw-color-bg-secondary);
|
|
89
73
|
|
|
90
|
-
/* Drawer */
|
|
91
74
|
--iw-drawer-bg: var(--iw-color-surface);
|
|
92
75
|
|
|
93
|
-
/* Card */
|
|
94
76
|
--iw-card-bg: var(--iw-color-surface);
|
|
95
77
|
--iw-card-border: color-mix(
|
|
96
78
|
in srgb,
|
|
@@ -101,13 +83,10 @@
|
|
|
101
83
|
--iw-card-shadow: none;
|
|
102
84
|
--iw-card-shadow-hover: var(--iw-shadow-sm);
|
|
103
85
|
|
|
104
|
-
/* Badge */
|
|
105
86
|
--iw-badge-radius: var(--iw-radius-md);
|
|
106
87
|
|
|
107
|
-
/* Chip: a pill badge in a subtle tone */
|
|
108
88
|
--iw-chip-bg: var(--iw-color-bg-tertiary);
|
|
109
89
|
|
|
110
|
-
/* List */
|
|
111
90
|
--iw-list-item: transparent;
|
|
112
91
|
--iw-list-item-selected: color-mix(
|
|
113
92
|
in srgb,
|
|
@@ -115,13 +94,11 @@
|
|
|
115
94
|
transparent
|
|
116
95
|
);
|
|
117
96
|
|
|
118
|
-
/* Alert */
|
|
119
97
|
--iw-alert-radius: var(--iw-radius-md);
|
|
120
98
|
--iw-alert-shadow: none;
|
|
121
99
|
color-scheme: light;
|
|
122
100
|
}
|
|
123
101
|
|
|
124
|
-
/* Dark variant: Bootstrap's dark color mode */
|
|
125
102
|
.iw-theme-bootstrap.iw-theme-dark {
|
|
126
103
|
color-scheme: dark;
|
|
127
104
|
|
|
@@ -136,15 +113,12 @@
|
|
|
136
113
|
--iw-color-text-muted: rgba(222, 226, 230, 0.75);
|
|
137
114
|
--iw-color-border: #495057;
|
|
138
115
|
|
|
139
|
-
/* Buttons keep their colors; text in the primary color is lightened */
|
|
140
116
|
--iw-color-link: #6ea8fe;
|
|
141
117
|
|
|
142
118
|
--iw-card-border: color-mix(in srgb, var(--iw-color-white) 15%, transparent);
|
|
143
119
|
}
|
|
144
120
|
|
|
145
121
|
.iw-theme-bootstrap {
|
|
146
|
-
/* Buttons: Bootstrap's sizes, a focus ring, and the text that reads on each
|
|
147
|
-
color */
|
|
148
122
|
.iw-button {
|
|
149
123
|
padding: 0.375rem 0.75rem;
|
|
150
124
|
font-size: 1rem;
|
|
@@ -223,7 +197,6 @@
|
|
|
223
197
|
);
|
|
224
198
|
}
|
|
225
199
|
|
|
226
|
-
/* Outline buttons fill with their color on hover */
|
|
227
200
|
&.iw-button-outline:hover:not(:disabled),
|
|
228
201
|
&.iw-button-outline:active:not(:disabled),
|
|
229
202
|
&.iw-button-outline.iw-button-pressed {
|
|
@@ -236,7 +209,6 @@
|
|
|
236
209
|
background-color: var(--iw-button-bg-active);
|
|
237
210
|
}
|
|
238
211
|
|
|
239
|
-
/* Ghost buttons are link buttons */
|
|
240
212
|
&.iw-button-ghost {
|
|
241
213
|
text-decoration: underline;
|
|
242
214
|
|
|
@@ -266,8 +238,6 @@
|
|
|
266
238
|
}
|
|
267
239
|
}
|
|
268
240
|
|
|
269
|
-
/* Form controls: labels and help text at Bootstrap's sizes, and a red focus
|
|
270
|
-
ring on invalid fields */
|
|
271
241
|
.iw-input,
|
|
272
242
|
.iw-select,
|
|
273
243
|
.iw-textarea-field {
|
|
@@ -304,7 +274,6 @@
|
|
|
304
274
|
height: calc(1.5em + 0.75rem);
|
|
305
275
|
}
|
|
306
276
|
|
|
307
|
-
/* Switch: an outlined track whose thumb fills in when checked */
|
|
308
277
|
.iw-switch {
|
|
309
278
|
.iw-switch-track {
|
|
310
279
|
width: 2rem;
|
|
@@ -373,7 +342,6 @@
|
|
|
373
342
|
}
|
|
374
343
|
}
|
|
375
344
|
|
|
376
|
-
/* Tabs: nav tabs, the selected one joined to the content below it */
|
|
377
345
|
.iw-tabs-list {
|
|
378
346
|
gap: 0;
|
|
379
347
|
}
|
|
@@ -408,7 +376,6 @@
|
|
|
408
376
|
color: var(--iw-color-link);
|
|
409
377
|
}
|
|
410
378
|
|
|
411
|
-
/* Chips and badges: Bootstrap badges, bold and white on their color */
|
|
412
379
|
.iw-chip {
|
|
413
380
|
&.iw-chip-primary,
|
|
414
381
|
&.iw-chip-success,
|
|
@@ -469,14 +436,12 @@
|
|
|
469
436
|
}
|
|
470
437
|
}
|
|
471
438
|
|
|
472
|
-
/* Cards: a header and a footer on a faint tint, ruled off from the body */
|
|
473
439
|
.iw-card-header,
|
|
474
440
|
.iw-card-footer {
|
|
475
441
|
border-color: var(--iw-card-border);
|
|
476
442
|
background-color: color-mix(in srgb, var(--iw-color-text) 3%, transparent);
|
|
477
443
|
}
|
|
478
444
|
|
|
479
|
-
/* Unless given a padding of their own */
|
|
480
445
|
.iw-card-header:not([class*="iw-card-header-padding-"]),
|
|
481
446
|
.iw-card-footer:not([class*="iw-card-footer-padding-"]) {
|
|
482
447
|
padding: 0.5rem 1rem;
|
|
@@ -488,8 +453,6 @@
|
|
|
488
453
|
line-height: 1.2;
|
|
489
454
|
}
|
|
490
455
|
|
|
491
|
-
/* Alerts: a subtle background, an emphasized text and a border, all in the
|
|
492
|
-
tone of the alert */
|
|
493
456
|
.iw-alert {
|
|
494
457
|
padding: 1rem;
|
|
495
458
|
}
|
|
@@ -534,7 +497,6 @@
|
|
|
534
497
|
--iw-alert-color: var(--iw-color-accent);
|
|
535
498
|
}
|
|
536
499
|
|
|
537
|
-
/* Tables: no outer border, compact cells and bold headings */
|
|
538
500
|
.iw-table {
|
|
539
501
|
border: 0 none;
|
|
540
502
|
}
|
|
@@ -552,7 +514,6 @@
|
|
|
552
514
|
background: color-mix(in srgb, var(--iw-color-text) 5%, transparent);
|
|
553
515
|
}
|
|
554
516
|
|
|
555
|
-
/* Dialogs: a modal with a ruled header and footer */
|
|
556
517
|
.iw-dialog {
|
|
557
518
|
border: 1px solid var(--iw-card-border);
|
|
558
519
|
border-radius: var(--iw-radius-lg);
|
|
@@ -601,7 +562,6 @@
|
|
|
601
562
|
border-top: 1px solid var(--iw-color-border);
|
|
602
563
|
}
|
|
603
564
|
|
|
604
|
-
/* App bars: navbars, with no border */
|
|
605
565
|
.iw-app-bar {
|
|
606
566
|
border-bottom: 0 none;
|
|
607
567
|
}
|
|
@@ -6,17 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
.iw-theme-inglorious {
|
|
8
8
|
--iw-font-family-sans: var(--iw-font-family);
|
|
9
|
-
/* The theme on the page itself: the element with the theme class, usually
|
|
10
|
-
<body>, takes its background, text color and font. */
|
|
11
9
|
background-color: var(--iw-color-bg);
|
|
12
10
|
color: var(--iw-color-text);
|
|
13
11
|
font-family: var(--iw-font-family-sans);
|
|
14
12
|
|
|
15
|
-
/* ========================================
|
|
16
|
-
INGLORIOUS THEME - Neon Videogame Aesthetic
|
|
17
|
-
======================================== */
|
|
18
|
-
|
|
19
|
-
/* Semantic Colors */
|
|
20
13
|
--iw-color-bg: var(--iw-color-gray-900);
|
|
21
14
|
--iw-color-bg-secondary: var(--iw-color-gray-800);
|
|
22
15
|
--iw-color-bg-tertiary: var(--iw-color-black);
|
|
@@ -40,17 +33,11 @@
|
|
|
40
33
|
--iw-color-accent-hover: #ff33ff;
|
|
41
34
|
--iw-color-accent-active: #ff66ff;
|
|
42
35
|
|
|
43
|
-
/* Geometry: keep Inglorious mostly squared */
|
|
44
36
|
--iw-radius-sm: 0;
|
|
45
37
|
--iw-radius-md: 0;
|
|
46
38
|
--iw-radius-lg: 0;
|
|
47
39
|
--iw-radius-xl: 0;
|
|
48
40
|
|
|
49
|
-
/* ========================================
|
|
50
|
-
COMPONENT TOKENS
|
|
51
|
-
======================================== */
|
|
52
|
-
|
|
53
|
-
/* Button */
|
|
54
41
|
--iw-button-bg: var(--iw-color-primary);
|
|
55
42
|
--iw-button-bg-hover: var(--iw-color-primary-hover);
|
|
56
43
|
--iw-button-bg-active: var(--iw-color-primary-active);
|
|
@@ -73,7 +60,6 @@
|
|
|
73
60
|
--iw-button-ghost-text: var(--iw-color-primary);
|
|
74
61
|
--iw-button-ghost-border: transparent;
|
|
75
62
|
|
|
76
|
-
/* Input */
|
|
77
63
|
--iw-input-bg: var(--iw-color-bg-tertiary);
|
|
78
64
|
--iw-input-bg-hover: var(--iw-color-bg-secondary);
|
|
79
65
|
--iw-input-bg-focus: var(--iw-color-bg-tertiary);
|
|
@@ -86,23 +72,18 @@
|
|
|
86
72
|
--iw-input-shadow-focus:
|
|
87
73
|
0 0 0 1px var(--iw-color-primary), 0 0 10px rgba(0, 255, 136, 0.3);
|
|
88
74
|
|
|
89
|
-
/* App bar */
|
|
90
75
|
--iw-app-bar-bg: var(--iw-color-surface);
|
|
91
76
|
|
|
92
|
-
/* Drawer */
|
|
93
77
|
--iw-drawer-bg: var(--iw-color-surface);
|
|
94
78
|
|
|
95
|
-
/* Card */
|
|
96
79
|
--iw-card-bg: var(--iw-color-surface);
|
|
97
80
|
--iw-card-border: var(--iw-color-border);
|
|
98
81
|
--iw-card-radius: var(--iw-radius-none);
|
|
99
82
|
--iw-card-shadow: var(--iw-shadow-lg);
|
|
100
83
|
--iw-card-shadow-hover: var(--iw-shadow-xl), 0 0 15px rgba(0, 255, 136, 0.1);
|
|
101
84
|
|
|
102
|
-
/* Badge */
|
|
103
85
|
--iw-badge-radius: var(--iw-radius-none);
|
|
104
86
|
|
|
105
|
-
/* List */
|
|
106
87
|
--iw-list-item: transparent;
|
|
107
88
|
--iw-list-item-selected: color-mix(
|
|
108
89
|
in srgb,
|
|
@@ -110,13 +91,11 @@
|
|
|
110
91
|
transparent
|
|
111
92
|
);
|
|
112
93
|
|
|
113
|
-
/* Alert */
|
|
114
94
|
--iw-alert-radius: var(--iw-radius-none);
|
|
115
95
|
--iw-alert-shadow: none;
|
|
116
96
|
color-scheme: dark;
|
|
117
97
|
}
|
|
118
98
|
|
|
119
|
-
/* Light variant */
|
|
120
99
|
.iw-theme-inglorious.iw-theme-light {
|
|
121
100
|
--iw-color-bg: var(--iw-color-white);
|
|
122
101
|
--iw-color-bg-secondary: var(--iw-color-gray-50);
|