@inglorious/ui 9.8.0 → 9.8.2

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 +8 -8
  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 +0 -4
  49. package/src/feedback/dialog/style.css +0 -10
  50. package/src/feedback/dialog/template.js +0 -5
  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 +0 -2
  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 +41 -3
  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 +3 -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 +3 -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
@@ -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);
@@ -1,34 +1,23 @@
1
- /* San Francisco is the system font on Apple devices, and cannot be served to
2
- others: Inter stands in for it there. */
3
1
  @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
4
2
 
5
3
  .iw-theme-ios-18 {
6
4
  --iw-font-family-sans:
7
5
  -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Helvetica Neue",
8
6
  Arial, sans-serif;
9
- /* The theme on the page itself: the element with the theme class, usually
10
- <body>, takes its background, text color and font. */
11
7
  background-color: var(--iw-color-bg);
12
8
  color: var(--iw-color-text);
13
9
  font-family: var(--iw-font-family-sans);
14
10
 
15
- /* ========================================
16
- iOS 18 THEME - The flat iOS, 7 to 18
17
- ======================================== */
18
-
19
- /* iOS color roles the shared tokens have no name for */
20
11
  --iw-ios-fill: rgba(118, 118, 128, 0.12);
21
12
  --iw-ios-fill-secondary: rgba(120, 120, 128, 0.2);
22
13
  --iw-ios-fill-quaternary: rgba(116, 116, 128, 0.08);
23
14
  --iw-ios-gray: #8e8e93;
24
15
  --iw-ios-tab-inactive: #999999;
25
16
  --iw-ios-segment-selected: var(--iw-color-white);
26
- /* Bars and menus: translucent, blurring what passes under them */
27
17
  --iw-ios-bar-bg: rgba(249, 249, 249, 0.94);
28
18
  --iw-ios-material: rgba(242, 242, 242, 0.8);
29
19
  --iw-ios-blur: blur(20px) saturate(180%);
30
20
 
31
- /* Semantic Colors: grouped content, white on grey */
32
21
  --iw-color-bg: #f2f2f7;
33
22
  --iw-color-bg-secondary: #f2f2f7;
34
23
  --iw-color-bg-tertiary: #e5e5ea;
@@ -68,8 +57,6 @@
68
57
  --iw-radius-xl: 14px;
69
58
  --iw-radius-2xl: 20px;
70
59
 
71
- /* The Dynamic Type scale at its default size: footnote, subheadline,
72
- body, title 3, title 2, title 1 and large title */
73
60
  --iw-font-size-xs: 0.8125rem;
74
61
  --iw-font-size-sm: 0.9375rem;
75
62
  --iw-font-size-base: 1.0625rem;
@@ -78,11 +65,6 @@
78
65
  --iw-font-size-2xl: 1.75rem;
79
66
  --iw-font-size-3xl: 2.125rem;
80
67
 
81
- /* ========================================
82
- COMPONENT TOKENS
83
- ======================================== */
84
-
85
- /* Button: filled */
86
68
  --iw-button-bg: var(--iw-color-primary);
87
69
  --iw-button-bg-hover: var(--iw-color-primary-hover);
88
70
  --iw-button-bg-active: var(--iw-color-primary);
@@ -93,7 +75,6 @@
93
75
  --iw-button-shadow-hover: none;
94
76
  --iw-button-shadow-active: none;
95
77
 
96
- /* A button's default color is a gray button, with a tinted label */
97
78
  --iw-button-default-color: var(--iw-color-primary);
98
79
  --iw-button-default-bg: var(--iw-ios-fill);
99
80
  --iw-button-default-bg-hover: var(--iw-ios-fill-secondary);
@@ -101,7 +82,6 @@
101
82
  --iw-button-default-border: transparent;
102
83
  --iw-button-default-text: var(--iw-color-primary);
103
84
 
104
- /* Input: a filled, borderless field */
105
85
  --iw-input-bg: var(--iw-ios-fill);
106
86
  --iw-input-bg-hover: var(--iw-ios-fill);
107
87
  --iw-input-bg-focus: var(--iw-ios-fill);
@@ -114,26 +94,20 @@
114
94
  --iw-input-shadow-focus: 0 0 0 3px
115
95
  color-mix(in srgb, var(--iw-color-primary) 35%, transparent);
116
96
 
117
- /* App bar: a navigation bar */
118
97
  --iw-app-bar-bg: var(--iw-ios-bar-bg);
119
98
 
120
- /* Drawer: a sidebar */
121
99
  --iw-drawer-bg: var(--iw-color-bg);
122
100
 
123
- /* Card: an inset grouped section */
124
101
  --iw-card-bg: var(--iw-color-surface);
125
102
  --iw-card-border: transparent;
126
103
  --iw-card-radius: var(--iw-radius-lg);
127
104
  --iw-card-shadow: none;
128
105
  --iw-card-shadow-hover: var(--iw-shadow-md);
129
106
 
130
- /* Badge */
131
107
  --iw-badge-radius: var(--iw-radius-full);
132
108
 
133
- /* Chip: a gray capsule */
134
109
  --iw-chip-bg: var(--iw-ios-fill);
135
110
 
136
- /* List */
137
111
  --iw-list-item: transparent;
138
112
  --iw-list-item-active: var(--iw-color-surface-active);
139
113
  --iw-list-item-selected: color-mix(
@@ -142,18 +116,15 @@
142
116
  transparent
143
117
  );
144
118
 
145
- /* Progress: a thin bar */
146
119
  --iw-progress-height: 4px;
147
120
  --iw-progress-radius: var(--iw-radius-full);
148
121
  --iw-progress-track-color: var(--iw-ios-fill-secondary);
149
122
 
150
- /* Alert */
151
123
  --iw-alert-radius: var(--iw-radius-lg);
152
124
  --iw-alert-shadow: none;
153
125
  color-scheme: light;
154
126
  }
155
127
 
156
- /* Dark variant */
157
128
  .iw-theme-ios-18.iw-theme-dark {
158
129
  color-scheme: dark;
159
130
 
@@ -195,7 +166,6 @@
195
166
  }
196
167
 
197
168
  .iw-theme-ios-18 {
198
- /* Buttons: filled, gray, tinted and plain. Pressing one dims it */
199
169
  .iw-button {
200
170
  padding: 7px 14px;
201
171
  font-size: var(--iw-font-size-base);
@@ -263,7 +233,6 @@
263
233
  outline-offset: 1px;
264
234
  }
265
235
 
266
- /* Outlined buttons are tinted: iOS draws no outlines */
267
236
  &.iw-button-outline {
268
237
  border-color: transparent;
269
238
  background-color: color-mix(
@@ -285,7 +254,6 @@
285
254
  }
286
255
  }
287
256
 
288
- /* Ghost buttons are plain */
289
257
  &.iw-button-ghost {
290
258
  &:hover:not(:disabled),
291
259
  &:active:not(:disabled),
@@ -307,8 +275,6 @@
307
275
  }
308
276
  }
309
277
 
310
- /* Form fields: labels and notes in the footnote style around a filled
311
- field */
312
278
  .iw-input,
313
279
  .iw-select,
314
280
  .iw-textarea-field {
@@ -333,7 +299,6 @@
333
299
  }
334
300
  }
335
301
 
336
- /* Switch: the 51 by 31 point switch, green when on */
337
302
  .iw-switch:not(
338
303
  .iw-switch-secondary,
339
304
  .iw-switch-success,
@@ -406,7 +371,6 @@
406
371
  }
407
372
  }
408
373
 
409
- /* Tabs: a segmented control, its segments equally wide */
410
374
  .iw-tabs-list {
411
375
  display: inline-grid;
412
376
  grid-auto-flow: column;
@@ -449,7 +413,6 @@
449
413
  0 3px 1px rgba(0, 0, 0, 0.04);
450
414
  }
451
415
 
452
- /* Chips: capsules, filled with the tint when selected */
453
416
  .iw-chip {
454
417
  padding: 5px 12px;
455
418
  font-size: var(--iw-font-size-sm);
@@ -468,7 +431,6 @@
468
431
  font-weight: var(--iw-font-weight-semibold);
469
432
  }
470
433
 
471
- /* Cards: inset grouped sections, the footer ruled off below */
472
434
  .iw-card-header {
473
435
  border: 0 none;
474
436
  }
@@ -487,7 +449,6 @@
487
449
  font-size: var(--iw-font-size-sm);
488
450
  }
489
451
 
490
- /* Alerts: tinted, borderless boxes */
491
452
  .iw-alert {
492
453
  padding: 12px 16px;
493
454
 
@@ -519,7 +480,6 @@
519
480
  }
520
481
  }
521
482
 
522
- /* Tables: a plain list, with headers in the classic section style */
523
483
  .iw-table {
524
484
  border: 0 none;
525
485
  }
@@ -537,8 +497,6 @@
537
497
  color: var(--iw-color-text-secondary);
538
498
  }
539
499
 
540
- /* Dialogs: alerts, centered on a translucent material, with their actions
541
- as a row of text buttons under a hairline */
542
500
  .iw-dialog {
543
501
  border: 0 none;
544
502
  border-radius: var(--iw-radius-xl);
@@ -607,7 +565,6 @@
607
565
  background-color: var(--iw-ios-fill-quaternary);
608
566
  }
609
567
 
610
- /* The preferred action is the filled one, and stands out in bold */
611
568
  &:not(.iw-button-outline, .iw-button-ghost) {
612
569
  font-weight: var(--iw-font-weight-semibold);
613
570
  }
@@ -617,7 +574,6 @@
617
574
  }
618
575
  }
619
576
 
620
- /* Menus and snackbars: on the translucent material */
621
577
  .iw-menu {
622
578
  min-width: 15rem;
623
579
  padding: 0;
@@ -658,8 +614,6 @@
658
614
  color: var(--iw-color-text);
659
615
  }
660
616
 
661
- /* App bars: translucent navigation bars over a hairline. A prominent one
662
- has a large title */
663
617
  .iw-app-bar {
664
618
  backdrop-filter: var(--iw-ios-blur);
665
619
  }
@@ -683,7 +637,6 @@
683
637
  line-height: 2.5625rem;
684
638
  }
685
639
 
686
- /* Bottom navigation: a tab bar */
687
640
  .iw-bottom-navigation {
688
641
  gap: 0;
689
642
  padding: 0;