@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.
Files changed (104) hide show
  1. package/package.json +5 -5
  2. package/src/controls/button/style.css +0 -2
  3. package/src/controls/button/template.js +2 -3
  4. package/src/controls/checkbox/style.css +0 -1
  5. package/src/controls/checkbox/template.js +0 -2
  6. package/src/controls/combobox/style.css +0 -14
  7. package/src/controls/combobox/template.js +0 -13
  8. package/src/controls/file-upload/template.js +1 -1
  9. package/src/controls/image-cropper/helpers.js +0 -2
  10. package/src/controls/image-cropper/image.js +0 -2
  11. package/src/controls/image-cropper/style.css +0 -6
  12. package/src/controls/image-cropper/template.js +3 -5
  13. package/src/controls/input/style.css +0 -1
  14. package/src/controls/radio-group/style.css +0 -2
  15. package/src/controls/rating/style.css +0 -3
  16. package/src/controls/select/style.css +0 -6
  17. package/src/controls/slider/style.css +0 -5
  18. package/src/controls/slider/template.js +0 -1
  19. package/src/controls/switch/style.css +0 -1
  20. package/src/controls/switch/template.js +0 -2
  21. package/src/controls/textarea/style.css +0 -2
  22. package/src/data-display/before-after/style.css +0 -4
  23. package/src/data-display/before-after/template.js +3 -3
  24. package/src/data-display/carousel/carousel.stories.js +0 -2
  25. package/src/data-display/carousel/handlers.js +0 -2
  26. package/src/data-display/carousel/style.css +0 -18
  27. package/src/data-display/carousel/template.js +0 -15
  28. package/src/data-display/chat/index.js +0 -1
  29. package/src/data-display/chat/style.css +0 -2
  30. package/src/data-display/chat/template.js +0 -1
  31. package/src/data-display/chip/template.js +0 -1
  32. package/src/data-display/data-grid/base.css +0 -2
  33. package/src/data-display/data-grid/handlers.js +1 -8
  34. package/src/data-display/data-grid/helpers.js +0 -5
  35. package/src/data-display/data-grid/template.js +0 -1
  36. package/src/data-display/data-grid/theme.css +0 -1
  37. package/src/data-display/icon/style.css +0 -7
  38. package/src/data-display/icon/template.js +2 -2
  39. package/src/data-display/table/style.css +0 -2
  40. package/src/data-display/tooltip/style.css +0 -3
  41. package/src/data-display/virtual-list/handlers.js +0 -2
  42. package/src/data-display/virtual-list/template.js +2 -4
  43. package/src/examples/dashboard/before-after-data.js +0 -3
  44. package/src/examples/dashboard/data.js +0 -1
  45. package/src/examples/dashboard/primitive-content.js +0 -2
  46. package/src/examples/dashboard/style.css +0 -3
  47. package/src/feedback/alert/style.css +0 -1
  48. package/src/feedback/dialog/dialog.stories.js +7 -2
  49. package/src/feedback/dialog/style.css +31 -18
  50. package/src/feedback/dialog/template.js +16 -16
  51. package/src/feedback/progress/style.css +0 -6
  52. package/src/feedback/progress/template.js +0 -3
  53. package/src/feedback/snackbar/snackbar.stories.js +0 -1
  54. package/src/feedback/snackbar/style.css +0 -10
  55. package/src/layout/flex/style.css +0 -2
  56. package/src/navigation/bottom-navigation/style.css +0 -7
  57. package/src/navigation/drawer/style.css +0 -21
  58. package/src/navigation/drawer/template.js +10 -9
  59. package/src/navigation/menu/menu.stories.js +0 -2
  60. package/src/navigation/menu/style.css +0 -4
  61. package/src/navigation/menu/template.js +0 -3
  62. package/src/navigation/speed-dial/style.css +0 -4
  63. package/src/navigation/speed-dial/template.js +0 -5
  64. package/src/navigation/tabs/template.js +0 -2
  65. package/src/navigation/view-transitions/index.js +0 -13
  66. package/src/navigation/view-transitions/style.css +0 -2
  67. package/src/shared/icons.js +0 -4
  68. package/src/styles/themes/bootstrap.css +0 -40
  69. package/src/styles/themes/inglorious.css +0 -21
  70. package/src/styles/themes/ios-18.css +0 -47
  71. package/src/styles/themes/ios-26.css +0 -55
  72. package/src/styles/themes/material-3.css +0 -52
  73. package/src/styles/themes/material-ui.css +0 -43
  74. package/src/styles/tokens.css +0 -40
  75. package/src/surfaces/accordion/style.css +0 -2
  76. package/src/surfaces/accordion/template.js +0 -4
  77. package/src/surfaces/app-bar/style.css +0 -3
  78. package/src/surfaces/card/style.css +0 -3
  79. package/types/controls/button-group.d.ts +5 -3
  80. package/types/controls/button.d.ts +3 -1
  81. package/types/controls/combobox.d.ts +13 -0
  82. package/types/controls/fab.d.ts +1 -1
  83. package/types/controls/icon-button.d.ts +7 -21
  84. package/types/controls/input.d.ts +2 -2
  85. package/types/data-display/avatar.d.ts +1 -1
  86. package/types/data-display/badge.d.ts +4 -2
  87. package/types/data-display/chip.d.ts +5 -3
  88. package/types/data-display/icon.d.ts +4 -2
  89. package/types/data-display/tooltip.d.ts +4 -2
  90. package/types/data-display/typography.d.ts +3 -1
  91. package/types/feedback/alert.d.ts +3 -1
  92. package/types/feedback/backdrop.d.ts +4 -2
  93. package/types/feedback/dialog.d.ts +11 -1
  94. package/types/index.d.ts +1 -0
  95. package/types/layout/container.d.ts +3 -1
  96. package/types/layout/flex.d.ts +9 -11
  97. package/types/layout/grid.d.ts +4 -2
  98. package/types/navigation/breadcrumbs.d.ts +1 -1
  99. package/types/navigation/drawer.d.ts +9 -1
  100. package/types/navigation/link.d.ts +4 -2
  101. package/types/shared/renderable.d.ts +12 -0
  102. package/types/surfaces/app-bar.d.ts +3 -1
  103. package/types/surfaces/card.d.ts +4 -2
  104. 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 { Button } from "../../controls/button/index.js"
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
- Button.render({
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: Button.render({
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
  `,
@@ -40,8 +40,6 @@ export const Default = {
40
40
  },
41
41
  }
42
42
 
43
- // Anchored to its trigger. Without onToggle wired to a store, the browser
44
- // keeps the open state on its own.
45
43
  export const WithTrigger = {
46
44
  args: {
47
45
  id: "story-menu",
@@ -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;
@@ -1,7 +1,3 @@
1
- // The few icons the components draw themselves, so the library needs no icon
2
- // set of its own. From Material Symbols (Apache License 2.0), in the Iconify
3
- // format that `Icon` takes.
4
-
5
1
  export const close = {
6
2
  width: 24,
7
3
  height: 24,
@@ -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);