@inglorious/ui 8.0.0 → 8.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inglorious/ui",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "A design system for Inglorious Web with render-function components and customizable themes",
5
5
  "author": "Matteo Antony Mistretta <antony.mistretta@gmail.com> (https://ingloriouscoderz.it)",
6
6
  "license": "MIT",
@@ -301,10 +301,10 @@
301
301
  "**/*.css"
302
302
  ],
303
303
  "peerDependencies": {
304
- "@inglorious/charts": "10.0.6",
305
- "@inglorious/store": "11.0.3",
304
+ "@inglorious/charts": "10.0.7",
305
+ "@inglorious/store": "11.0.4",
306
306
  "@inglorious/utils": "5.0.0",
307
- "@inglorious/web": "6.6.0"
307
+ "@inglorious/web": "6.6.1"
308
308
  },
309
309
  "devDependencies": {
310
310
  "@iconify-icons/fa7-brands": "^2.0.0",
@@ -312,10 +312,10 @@
312
312
  "@iconify-icons/fa7-solid": "^2.0.0",
313
313
  "@iconify-icons/material-symbols": "^2.0.6",
314
314
  "@inglorious/eslint-config": "1.1.2",
315
- "@inglorious/store": "11.0.3",
316
- "@inglorious/vite-plugin-jsx": "2.0.3",
317
- "@inglorious/vite-plugin-vue": "1.0.4",
318
- "@inglorious/web": "6.6.0",
315
+ "@inglorious/store": "11.0.4",
316
+ "@inglorious/vite-plugin-jsx": "2.0.4",
317
+ "@inglorious/vite-plugin-vue": "1.0.5",
318
+ "@inglorious/web": "6.6.1",
319
319
  "@storybook/addon-docs": "^10.6.0",
320
320
  "@storybook/web-components-vite": "^10.6.0",
321
321
  "happy-dom": "^20.14.0",
@@ -5,10 +5,12 @@
5
5
 
6
6
  import { html } from "@inglorious/web"
7
7
  import { classMap } from "@inglorious/web/directives/class-map"
8
+ import { ref } from "@inglorious/web/directives/ref"
8
9
  import { repeat } from "@inglorious/web/directives/repeat"
9
10
  import { when } from "@inglorious/web/directives/when"
10
11
 
11
12
  import { Icon } from "../../data-display/icon/index.js"
13
+ import { applyElementProps } from "../../shared/applyElementProps.js"
12
14
  import { formatOption, getOptionValue, isOptionSelected } from "./helpers.js"
13
15
 
14
16
  /**
@@ -63,6 +65,7 @@ export const Select = {
63
65
  renderSelect(props) {
64
66
  const {
65
67
  id,
68
+ name,
66
69
  label,
67
70
  hint,
68
71
  error,
@@ -121,6 +124,7 @@ export const Select = {
121
124
  error,
122
125
  icon,
123
126
  size = "md",
127
+ ariaLabel,
124
128
  isOpen,
125
129
  isMulti,
126
130
  isRequired,
@@ -157,6 +161,9 @@ export const Select = {
157
161
  @change=${(event) => onChange?.(event.target.value)}
158
162
  @blur=${onBlur}
159
163
  @focus=${onFocus}
164
+ ${ref((element) =>
165
+ applyElementProps(element, { "aria-label": ariaLabel || null }),
166
+ )}
160
167
  >
161
168
  ${repeat(
162
169
  options,
@@ -55,11 +55,12 @@
55
55
 
56
56
  .iw-dashboard-header-row {
57
57
  width: 100%;
58
- padding-inline: var(--iw-space-4);
59
58
  }
60
59
 
60
+ /* Outside the app bar, so it pads itself to line up with it. */
61
61
  .iw-dashboard-breadcrumbs {
62
62
  min-height: var(--iw-space-12);
63
+ padding-inline: var(--iw-space-4);
63
64
  }
64
65
  }
65
66
 
@@ -324,6 +325,8 @@
324
325
  @media (max-width: 64rem) {
325
326
  .iw-dashboard-header-row {
326
327
  flex-wrap: wrap;
328
+ }
329
+ .iw-dashboard-header .iw-dashboard-breadcrumbs {
327
330
  padding-inline: var(--iw-space-3);
328
331
  }
329
332
  .iw-dashboard-content {
@@ -1,4 +1,8 @@
1
1
  .iw-theme-bootstrap {
2
+ /* The theme on the page itself: the element with the theme class, usually
3
+ <body>, takes its background, text color and font. */
4
+ background-color: var(--iw-color-bg);
5
+ color: var(--iw-color-text);
2
6
  font-family: var(--iw-font-family-sans);
3
7
 
4
8
  /* ========================================
@@ -6,6 +6,11 @@
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
+ background-color: var(--iw-color-bg);
12
+ color: var(--iw-color-text);
13
+ font-family: var(--iw-font-family-sans);
9
14
 
10
15
  /* ========================================
11
16
  INGLORIOUS THEME - Neon Videogame Aesthetic
@@ -1,4 +1,8 @@
1
1
  .iw-theme-material {
2
+ /* The theme on the page itself: the element with the theme class, usually
3
+ <body>, takes its background, text color and font. */
4
+ background-color: var(--iw-color-bg);
5
+ color: var(--iw-color-text);
2
6
  font-family: var(--iw-font-family-sans);
3
7
 
4
8
  /* ========================================
@@ -3,6 +3,9 @@
3
3
  align-items: center;
4
4
  min-height: var(--iw-space-16);
5
5
  /* gap: var(--iw-space-3); */
6
+ /* Room either side of the title and controls, so they do not touch the
7
+ edges of the screen. */
8
+ padding-inline: var(--iw-space-4);
6
9
  background: var(--iw-app-bar-bg, var(--iw-color-surface));
7
10
  color: var(--iw-color-text);
8
11
  border-bottom: 1px solid var(--iw-color-border);
@@ -20,6 +20,8 @@ export interface SelectProps {
20
20
  isDisabled?: boolean
21
21
  isFullWidth?: boolean
22
22
  label?: string
23
+ /** Names the control for assistive tech when it has no visible `label`. */
24
+ ariaLabel?: string
23
25
  hint?: string
24
26
  error?: string
25
27
  isMulti?: boolean
@@ -5,7 +5,7 @@ export type ViewTransitionType = "forward" | "back" | "replace"
5
5
  /** The part of a store this module needs. Declared structurally rather than
6
6
  * imported, so any store-shaped object works. */
7
7
  export interface TransitionsStore<S = unknown> {
8
- subscribe(listener: (state: S) => void): () => void
8
+ subscribe(listener: () => void): () => void
9
9
  getState(): S
10
10
  getType(name: string): unknown
11
11
  }
@@ -33,10 +33,11 @@ export interface TransitionsOptions {
33
33
  }
34
34
 
35
35
  export interface WithTransitions {
36
- <S>(
37
- store: TransitionsStore<S>,
36
+ /** Returns the store it was given, so it still fits wherever the store did, such as `mount`. */
37
+ <Store extends TransitionsStore<any>>(
38
+ store: Store,
38
39
  options?: TransitionsOptions,
39
- ): TransitionsStore<S>
40
+ ): Store
40
41
  }
41
42
 
42
43
  export declare const withTransitions: WithTransitions