@inglorious/ui 8.0.0 → 8.1.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 +8 -8
- package/src/controls/select/template.js +7 -0
- package/src/examples/dashboard/style.css +4 -1
- package/src/styles/themes/bootstrap.css +4 -0
- package/src/styles/themes/inglorious.css +5 -0
- package/src/styles/themes/material.css +4 -0
- package/src/surfaces/app-bar/style.css +3 -0
- package/types/controls/select.d.ts +2 -0
- package/types/navigation/view-transitions.d.ts +5 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inglorious/ui",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.1.1",
|
|
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,21 +301,21 @@
|
|
|
301
301
|
"**/*.css"
|
|
302
302
|
],
|
|
303
303
|
"peerDependencies": {
|
|
304
|
-
"@inglorious/
|
|
305
|
-
"@inglorious/store": "11.0.3",
|
|
304
|
+
"@inglorious/store": "11.0.4",
|
|
306
305
|
"@inglorious/utils": "5.0.0",
|
|
307
|
-
"@inglorious/web": "6.6.
|
|
306
|
+
"@inglorious/web": "6.6.1"
|
|
308
307
|
},
|
|
309
308
|
"devDependencies": {
|
|
310
309
|
"@iconify-icons/fa7-brands": "^2.0.0",
|
|
311
310
|
"@iconify-icons/fa7-regular": "^2.0.0",
|
|
312
311
|
"@iconify-icons/fa7-solid": "^2.0.0",
|
|
313
312
|
"@iconify-icons/material-symbols": "^2.0.6",
|
|
313
|
+
"@inglorious/charts": "10.0.7",
|
|
314
314
|
"@inglorious/eslint-config": "1.1.2",
|
|
315
|
-
"@inglorious/store": "11.0.
|
|
316
|
-
"@inglorious/vite-plugin-jsx": "2.0.
|
|
317
|
-
"@inglorious/vite-plugin-vue": "1.0.
|
|
318
|
-
"@inglorious/web": "6.6.
|
|
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);
|
|
@@ -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: (
|
|
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
|
-
|
|
37
|
-
|
|
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
|
-
):
|
|
40
|
+
): Store
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
export declare const withTransitions: WithTransitions
|