@expressivecss/expressive 0.11.0 → 0.12.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/CHANGELOG.md +162 -7
- package/README.md +1 -1
- package/dist/css/expressive.css +230 -99
- package/dist/css/expressive.css.map +1 -1
- package/dist/css/expressive.min.css +1 -1
- package/dist/css/expressive.min.css.map +1 -1
- package/dist/js/chunks/{chunk-IMUPRRI6.mjs → chunk-3VOK6J7U.mjs} +3 -3
- package/dist/js/chunks/{chunk-XDB3G6RL.mjs → chunk-6N2XAEFK.mjs} +15 -4
- package/dist/js/chunks/{chunk-XDB3G6RL.mjs.map → chunk-6N2XAEFK.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-MISGHDUU.mjs → chunk-6OMRGML6.mjs} +9 -7
- package/dist/js/chunks/{chunk-MISGHDUU.mjs.map → chunk-6OMRGML6.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-A3BJA7V4.mjs → chunk-6WLSDZ4O.mjs} +2 -2
- package/dist/js/chunks/{chunk-JODJAGFS.mjs → chunk-CKQP6P76.mjs} +31 -8
- package/dist/js/chunks/chunk-CKQP6P76.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KR44BSYQ.mjs → chunk-DLWYKFEI.mjs} +3 -3
- package/dist/js/chunks/{chunk-SLFNPY5M.mjs → chunk-EC63CHXU.mjs} +2 -2
- package/dist/js/chunks/chunk-G3I5H2U3.mjs +7 -0
- package/dist/js/chunks/{chunk-PMBPAFAS.mjs.map → chunk-G3I5H2U3.mjs.map} +1 -1
- package/dist/js/chunks/{chunk-LZVBJ33S.mjs → chunk-GZWPXXY6.mjs} +15 -8
- package/dist/js/chunks/chunk-GZWPXXY6.mjs.map +7 -0
- package/dist/js/chunks/{chunk-74N6U5JJ.mjs → chunk-H2WA4XHH.mjs} +36 -35
- package/dist/js/chunks/chunk-H2WA4XHH.mjs.map +7 -0
- package/dist/js/chunks/{chunk-XFJ452AZ.mjs → chunk-HB6IW7QQ.mjs} +5 -6
- package/dist/js/chunks/{chunk-XFJ452AZ.mjs.map → chunk-HB6IW7QQ.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-AYYYWUJ4.mjs → chunk-HLDXZ7XB.mjs} +17 -11
- package/dist/js/chunks/chunk-HLDXZ7XB.mjs.map +7 -0
- package/dist/js/chunks/{chunk-7GKXUG4B.mjs → chunk-HNFSMIBY.mjs} +18 -18
- package/dist/js/chunks/{chunk-D4UZ4HFN.mjs → chunk-IFXVDDDH.mjs} +23 -11
- package/dist/js/chunks/chunk-IFXVDDDH.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QSQ24FYT.mjs → chunk-LTWPGFBR.mjs} +2 -2
- package/dist/js/chunks/{chunk-QSQ24FYT.mjs.map → chunk-LTWPGFBR.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-I5KR22BY.mjs → chunk-LWBQIX5J.mjs} +15 -15
- package/dist/js/chunks/chunk-LWBQIX5J.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GY2Z5CJ2.mjs → chunk-NNYP33NB.mjs} +67 -32
- package/dist/js/chunks/chunk-NNYP33NB.mjs.map +7 -0
- package/dist/js/chunks/{chunk-VAS6JQ6P.mjs → chunk-PIJ2TAR3.mjs} +3 -3
- package/dist/js/chunks/{chunk-JR24UB4X.mjs → chunk-PSSHQWCX.mjs} +2 -2
- package/dist/js/chunks/{chunk-PIIAEYAJ.mjs → chunk-QDAL4IYN.mjs} +2 -2
- package/dist/js/chunks/{chunk-FRB7TOCS.mjs → chunk-QV2JAWIZ.mjs} +2 -2
- package/dist/js/chunks/{chunk-N3UHGN3N.mjs → chunk-QVVEWBOF.mjs} +3 -3
- package/dist/js/chunks/{chunk-CDW6WIRT.mjs → chunk-RFZZCYVU.mjs} +18 -11
- package/dist/js/chunks/chunk-RFZZCYVU.mjs.map +7 -0
- package/dist/js/chunks/{chunk-TYM6U5DY.mjs → chunk-UAEAQBRC.mjs} +2 -2
- package/dist/js/chunks/{chunk-7UXHSYIA.mjs → chunk-UBLRRJ7N.mjs} +3 -3
- package/dist/js/chunks/{chunk-EP3CVKB5.mjs → chunk-UEZUJQ66.mjs} +8 -5
- package/dist/js/chunks/chunk-UEZUJQ66.mjs.map +7 -0
- package/dist/js/chunks/{chunk-JNPIWFJT.mjs → chunk-UNEMYWEW.mjs} +3 -3
- package/dist/js/chunks/{chunk-JKNPQQWY.mjs → chunk-WJXDBPXQ.mjs} +28 -12
- package/dist/js/chunks/chunk-WJXDBPXQ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-XO5WX3TK.mjs → chunk-YDCS5S3J.mjs} +2 -2
- package/dist/js/chunks/{chunk-TK6PX2GC.mjs → chunk-YSBCHYXP.mjs} +16 -8
- package/dist/js/chunks/chunk-YSBCHYXP.mjs.map +7 -0
- package/dist/js/expressive.cjs +263 -133
- package/dist/js/expressive.cjs.map +2 -2
- package/dist/js/expressive.js +263 -133
- package/dist/js/expressive.js.map +2 -2
- package/dist/js/expressive.min.js +9 -9
- package/dist/js/expressive.min.js.map +3 -3
- package/dist/js/expressive.mjs +30 -30
- package/dist/js/internal/behaviors/bottomSheets.mjs +3 -3
- package/dist/js/internal/behaviors/dialogs.mjs +2 -2
- package/dist/js/internal/behaviors/forms.mjs +2 -2
- package/dist/js/internal/behaviors/sheetDrag.mjs +2 -2
- package/dist/js/internal/behaviors/sideSheets.mjs +3 -3
- package/dist/js/internal/components/appBar.mjs +2 -2
- package/dist/js/internal/components/autocomplete.mjs +4 -4
- package/dist/js/internal/components/buttonGroup.mjs +2 -2
- package/dist/js/internal/components/buttons.mjs +3 -3
- package/dist/js/internal/components/cards.mjs +3 -3
- package/dist/js/internal/components/carousel.mjs +3 -3
- package/dist/js/internal/components/characterCounter.mjs +2 -2
- package/dist/js/internal/components/chips.mjs +5 -5
- package/dist/js/internal/components/datepicker.mjs +6 -6
- package/dist/js/internal/components/expandingCard.mjs +3 -3
- package/dist/js/internal/components/index.mjs +23 -23
- package/dist/js/internal/components/lightbox.mjs +3 -3
- package/dist/js/internal/components/menu.mjs +3 -3
- package/dist/js/internal/components/navigationRail.mjs +2 -2
- package/dist/js/internal/components/registry.mjs +24 -24
- package/dist/js/internal/components/scrollspy.mjs +2 -2
- package/dist/js/internal/components/select.mjs +4 -4
- package/dist/js/internal/components/slider.mjs +3 -3
- package/dist/js/internal/components/snackbar.mjs +2 -2
- package/dist/js/internal/components/tabs.mjs +4 -4
- package/dist/js/internal/components/timepicker.mjs +4 -4
- package/dist/js/internal/components/tooltip.mjs +3 -3
- package/dist/js/internal/core/component.mjs +1 -1
- package/dist/js/internal/core/utils.mjs +1 -1
- package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
- package/dist/js/modular.mjs +30 -30
- package/dist/types/components/appBar.d.ts +1 -1
- package/dist/types/components/datepicker.d.ts +5 -2
- package/dist/types/components/menu.d.ts +1 -0
- package/dist/types/components/slider.d.ts +1 -0
- package/dist/types/components/snackbar.d.ts +6 -0
- package/dist/types/components/timepicker.d.ts +4 -1
- package/dist/types/components/tooltip.d.ts +2 -1
- package/dist/types/modular.d.ts +1 -1
- package/package.json +1 -1
- package/src/sass/components/_carousel.scss +9 -7
- package/src/sass/components/_navbar.scss +11 -6
- package/src/sass/components/_page-footer.scss +0 -11
- package/src/sass/components/_progress.scss +25 -6
- package/src/sass/components/_snackbar.scss +1 -1
- package/src/sass/components/_timepicker.scss +2 -2
- package/src/sass/components/_toolbar.scss +1 -1
- package/src/sass/components/forms/_checkboxes.scss +2 -2
- package/src/sass/components/forms/_input-fields.scss +35 -15
- package/src/sass/components/forms/_radio-buttons.scss +2 -2
- package/src/sass/components/forms/_slider.scss +51 -29
- package/src/sass/components/forms/_switches.scss +3 -3
- package/src/sass/utilities/_helpers.scss +14 -0
- package/src/sass/utilities/_spacing.scss +29 -23
- package/src/sass/utilities/_visibility.scss +3 -2
- package/dist/js/chunks/chunk-74N6U5JJ.mjs.map +0 -7
- package/dist/js/chunks/chunk-AYYYWUJ4.mjs.map +0 -7
- package/dist/js/chunks/chunk-CDW6WIRT.mjs.map +0 -7
- package/dist/js/chunks/chunk-D4UZ4HFN.mjs.map +0 -7
- package/dist/js/chunks/chunk-EP3CVKB5.mjs.map +0 -7
- package/dist/js/chunks/chunk-GY2Z5CJ2.mjs.map +0 -7
- package/dist/js/chunks/chunk-I5KR22BY.mjs.map +0 -7
- package/dist/js/chunks/chunk-JKNPQQWY.mjs.map +0 -7
- package/dist/js/chunks/chunk-JODJAGFS.mjs.map +0 -7
- package/dist/js/chunks/chunk-LZVBJ33S.mjs.map +0 -7
- package/dist/js/chunks/chunk-PMBPAFAS.mjs +0 -7
- package/dist/js/chunks/chunk-TK6PX2GC.mjs.map +0 -7
- /package/dist/js/chunks/{chunk-IMUPRRI6.mjs.map → chunk-3VOK6J7U.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-A3BJA7V4.mjs.map → chunk-6WLSDZ4O.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-KR44BSYQ.mjs.map → chunk-DLWYKFEI.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-SLFNPY5M.mjs.map → chunk-EC63CHXU.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-7GKXUG4B.mjs.map → chunk-HNFSMIBY.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-VAS6JQ6P.mjs.map → chunk-PIJ2TAR3.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-JR24UB4X.mjs.map → chunk-PSSHQWCX.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-PIIAEYAJ.mjs.map → chunk-QDAL4IYN.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-FRB7TOCS.mjs.map → chunk-QV2JAWIZ.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-N3UHGN3N.mjs.map → chunk-QVVEWBOF.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-TYM6U5DY.mjs.map → chunk-UAEAQBRC.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-7UXHSYIA.mjs.map → chunk-UBLRRJ7N.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-JNPIWFJT.mjs.map → chunk-UNEMYWEW.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-XO5WX3TK.mjs.map → chunk-YDCS5S3J.mjs.map} +0 -0
package/dist/js/modular.mjs
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
1
|
import {
|
|
2
2
|
version
|
|
3
|
-
} from "./chunks/chunk-
|
|
3
|
+
} from "./chunks/chunk-G3I5H2U3.mjs";
|
|
4
4
|
import {
|
|
5
5
|
AutoInit
|
|
6
|
-
} from "./chunks/chunk-
|
|
6
|
+
} from "./chunks/chunk-HNFSMIBY.mjs";
|
|
7
7
|
import "./chunks/chunk-WWPAPHMA.mjs";
|
|
8
8
|
import {
|
|
9
9
|
Slider
|
|
10
|
-
} from "./chunks/chunk-
|
|
10
|
+
} from "./chunks/chunk-WJXDBPXQ.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Snackbar
|
|
13
|
-
} from "./chunks/chunk-
|
|
13
|
+
} from "./chunks/chunk-NNYP33NB.mjs";
|
|
14
14
|
import {
|
|
15
15
|
Tabs
|
|
16
|
-
} from "./chunks/chunk-
|
|
16
|
+
} from "./chunks/chunk-3VOK6J7U.mjs";
|
|
17
17
|
import {
|
|
18
18
|
Timepicker
|
|
19
|
-
} from "./chunks/chunk-
|
|
19
|
+
} from "./chunks/chunk-IFXVDDDH.mjs";
|
|
20
20
|
import {
|
|
21
21
|
Tooltip
|
|
22
|
-
} from "./chunks/chunk-
|
|
22
|
+
} from "./chunks/chunk-CKQP6P76.mjs";
|
|
23
23
|
import {
|
|
24
24
|
ExpandingCard
|
|
25
|
-
} from "./chunks/chunk-
|
|
25
|
+
} from "./chunks/chunk-QVVEWBOF.mjs";
|
|
26
26
|
import {
|
|
27
27
|
Lightbox
|
|
28
|
-
} from "./chunks/chunk-
|
|
28
|
+
} from "./chunks/chunk-UNEMYWEW.mjs";
|
|
29
29
|
import {
|
|
30
30
|
NavigationRail
|
|
31
|
-
} from "./chunks/chunk-
|
|
31
|
+
} from "./chunks/chunk-6N2XAEFK.mjs";
|
|
32
32
|
import {
|
|
33
33
|
ScrollSpy
|
|
34
|
-
} from "./chunks/chunk-
|
|
34
|
+
} from "./chunks/chunk-QV2JAWIZ.mjs";
|
|
35
35
|
import {
|
|
36
36
|
ButtonGroup
|
|
37
|
-
} from "./chunks/chunk-
|
|
37
|
+
} from "./chunks/chunk-YDCS5S3J.mjs";
|
|
38
38
|
import {
|
|
39
39
|
FloatingActionButton
|
|
40
|
-
} from "./chunks/chunk-
|
|
40
|
+
} from "./chunks/chunk-PIJ2TAR3.mjs";
|
|
41
41
|
import {
|
|
42
42
|
Cards
|
|
43
|
-
} from "./chunks/chunk-
|
|
43
|
+
} from "./chunks/chunk-UBLRRJ7N.mjs";
|
|
44
44
|
import {
|
|
45
45
|
Carousel
|
|
46
|
-
} from "./chunks/chunk-
|
|
46
|
+
} from "./chunks/chunk-LWBQIX5J.mjs";
|
|
47
47
|
import {
|
|
48
48
|
CharacterCounter
|
|
49
|
-
} from "./chunks/chunk-
|
|
49
|
+
} from "./chunks/chunk-QDAL4IYN.mjs";
|
|
50
50
|
import {
|
|
51
51
|
Chips
|
|
52
|
-
} from "./chunks/chunk-
|
|
52
|
+
} from "./chunks/chunk-RFZZCYVU.mjs";
|
|
53
53
|
import {
|
|
54
54
|
Autocomplete
|
|
55
|
-
} from "./chunks/chunk-
|
|
55
|
+
} from "./chunks/chunk-HLDXZ7XB.mjs";
|
|
56
56
|
import {
|
|
57
57
|
Datepicker
|
|
58
|
-
} from "./chunks/chunk-
|
|
59
|
-
import "./chunks/chunk-
|
|
58
|
+
} from "./chunks/chunk-H2WA4XHH.mjs";
|
|
59
|
+
import "./chunks/chunk-EC63CHXU.mjs";
|
|
60
60
|
import {
|
|
61
61
|
FormSelect
|
|
62
|
-
} from "./chunks/chunk-
|
|
62
|
+
} from "./chunks/chunk-HB6IW7QQ.mjs";
|
|
63
63
|
import {
|
|
64
64
|
Menu
|
|
65
|
-
} from "./chunks/chunk-
|
|
65
|
+
} from "./chunks/chunk-YSBCHYXP.mjs";
|
|
66
66
|
import {
|
|
67
67
|
BottomSheets
|
|
68
|
-
} from "./chunks/chunk-
|
|
68
|
+
} from "./chunks/chunk-DLWYKFEI.mjs";
|
|
69
69
|
import {
|
|
70
70
|
Dialogs
|
|
71
|
-
} from "./chunks/chunk-
|
|
71
|
+
} from "./chunks/chunk-UAEAQBRC.mjs";
|
|
72
72
|
import {
|
|
73
73
|
Forms
|
|
74
|
-
} from "./chunks/chunk-
|
|
74
|
+
} from "./chunks/chunk-PSSHQWCX.mjs";
|
|
75
75
|
import {
|
|
76
76
|
SideSheets
|
|
77
|
-
} from "./chunks/chunk-
|
|
78
|
-
import "./chunks/chunk-
|
|
79
|
-
import "./chunks/chunk-
|
|
77
|
+
} from "./chunks/chunk-6WLSDZ4O.mjs";
|
|
78
|
+
import "./chunks/chunk-GZWPXXY6.mjs";
|
|
79
|
+
import "./chunks/chunk-6OMRGML6.mjs";
|
|
80
80
|
import {
|
|
81
81
|
AppBar
|
|
82
|
-
} from "./chunks/chunk-
|
|
83
|
-
import "./chunks/chunk-
|
|
82
|
+
} from "./chunks/chunk-UEZUJQ66.mjs";
|
|
83
|
+
import "./chunks/chunk-LTWPGFBR.mjs";
|
|
84
84
|
export {
|
|
85
85
|
AppBar,
|
|
86
86
|
AutoInit,
|
|
@@ -3,7 +3,7 @@ import { Component, BaseOptions, InitElements, InitElement } from '../core/compo
|
|
|
3
3
|
* Collapse medium/large flexible app bars on scroll, and open the related
|
|
4
4
|
* search view when the search field in a search app bar is selected.
|
|
5
5
|
*
|
|
6
|
-
* Observation is IntersectionObserver on a
|
|
6
|
+
* Observation is IntersectionObserver on a sentinel after the header.
|
|
7
7
|
* A scroll listener would re-enter layout on every tick; this does not.
|
|
8
8
|
*/
|
|
9
9
|
export declare class AppBar extends Component<BaseOptions> {
|
|
@@ -18,6 +18,8 @@ export interface DatepickerOptions extends BaseOptions {
|
|
|
18
18
|
format: string | ((d: Date) => string);
|
|
19
19
|
/**
|
|
20
20
|
* Used to create date object from current input string.
|
|
21
|
+
* Receives the format string, or an empty string when format is a function.
|
|
22
|
+
* Not called for blank input.
|
|
21
23
|
* @default null
|
|
22
24
|
*/
|
|
23
25
|
parse: ((value: string, format: string) => Date) | null;
|
|
@@ -123,9 +125,9 @@ export interface DatepickerOptions extends BaseOptions {
|
|
|
123
125
|
showClearBtn: boolean;
|
|
124
126
|
/**
|
|
125
127
|
* Autosubmit calendar day select to input field
|
|
126
|
-
* @default
|
|
128
|
+
* @default true
|
|
127
129
|
*/
|
|
128
|
-
autoSubmit:
|
|
130
|
+
autoSubmit: boolean;
|
|
129
131
|
/**
|
|
130
132
|
* Internationalization options.
|
|
131
133
|
*/
|
|
@@ -244,6 +246,7 @@ export declare class Datepicker extends Component<DatepickerOptions> {
|
|
|
244
246
|
static _escape(value: unknown): string;
|
|
245
247
|
static _isDate(obj: any): boolean;
|
|
246
248
|
private static _parseDate;
|
|
249
|
+
private _parseInput;
|
|
247
250
|
static _isWeekend(date: any): boolean;
|
|
248
251
|
/**
|
|
249
252
|
* @deprecated as this function has no effect without any return statement or global parameter setter.
|
|
@@ -94,6 +94,7 @@ export declare class Menu extends Component<MenuOptions> implements Openable {
|
|
|
94
94
|
private _pendingTimers;
|
|
95
95
|
private _transition;
|
|
96
96
|
private _originalInert;
|
|
97
|
+
private _menuClickTargets;
|
|
97
98
|
constructor(el: HTMLElement, options: Partial<MenuOptions>);
|
|
98
99
|
static get defaults(): MenuOptions;
|
|
99
100
|
/**
|
|
@@ -23,6 +23,7 @@ export declare class Slider extends Component<SliderOptions> {
|
|
|
23
23
|
static init(els: InitElements<HTMLInputElement | InitElement>, options?: Partial<SliderOptions>): Slider[];
|
|
24
24
|
static getInstance(el: HTMLInputElement): Slider;
|
|
25
25
|
destroy(): void;
|
|
26
|
+
_set(el: HTMLElement, name: string, value: string): void;
|
|
26
27
|
_setupEventHandlers(): void;
|
|
27
28
|
_removeEventHandlers(): void;
|
|
28
29
|
_handleRangeChange: () => void;
|
|
@@ -92,6 +92,11 @@ export declare class Snackbar {
|
|
|
92
92
|
velocityX: number;
|
|
93
93
|
private _dismissed;
|
|
94
94
|
private _returnFocus;
|
|
95
|
+
private _events;
|
|
96
|
+
private _restoreElement;
|
|
97
|
+
private _transitionTimer;
|
|
98
|
+
private _dismissTimer;
|
|
99
|
+
private _focusTimer;
|
|
95
100
|
static _snackbars: Snackbar[];
|
|
96
101
|
static _container: HTMLElement;
|
|
97
102
|
static _draggedSnackbar: Snackbar;
|
|
@@ -116,6 +121,7 @@ export declare class Snackbar {
|
|
|
116
121
|
*/
|
|
117
122
|
static dismissAll(): void;
|
|
118
123
|
_createSnackbar(): HTMLElement;
|
|
124
|
+
private _remove;
|
|
119
125
|
_animateIn(): void;
|
|
120
126
|
/**
|
|
121
127
|
* Arm the dismissal timer.
|
|
@@ -41,7 +41,7 @@ export interface TimepickerOptions extends BaseOptions {
|
|
|
41
41
|
* Autosubmit timepicker selection to input field
|
|
42
42
|
* @default true
|
|
43
43
|
*/
|
|
44
|
-
autoSubmit:
|
|
44
|
+
autoSubmit: boolean;
|
|
45
45
|
/**
|
|
46
46
|
* Default time to set on the timepicker 'now' or '13:14'.
|
|
47
47
|
* @default 'now';
|
|
@@ -143,6 +143,8 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
143
143
|
g: Element;
|
|
144
144
|
toggleViewTimer: ReturnType<typeof setTimeout>;
|
|
145
145
|
vibrateTimer: ReturnType<typeof setTimeout>;
|
|
146
|
+
private _autoSubmitTimer;
|
|
147
|
+
private _clockResetTimer;
|
|
146
148
|
private displayPlugin;
|
|
147
149
|
/** Whether the dial (ticks + SVG + AM/PM buttons) has been built yet. */
|
|
148
150
|
private _clockBuilt;
|
|
@@ -202,6 +204,7 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
202
204
|
* @param delay
|
|
203
205
|
*/
|
|
204
206
|
showView: (view: Views, delay?: number) => void;
|
|
207
|
+
private _cancelClockReset;
|
|
205
208
|
resetClock(delay: any): void;
|
|
206
209
|
_inputFromTextField: (event: Event) => void;
|
|
207
210
|
drawClockFromTimeInput(value: any, isHours: any): void;
|
|
@@ -70,6 +70,7 @@ export declare class Tooltip extends Component<TooltipOptions> {
|
|
|
70
70
|
private _exitDelayTimeout;
|
|
71
71
|
private _enterDelayTimeout;
|
|
72
72
|
private _animationTimeout;
|
|
73
|
+
private _originalContent;
|
|
73
74
|
xMovement: number;
|
|
74
75
|
yMovement: number;
|
|
75
76
|
constructor(el: HTMLElement, options: Partial<TooltipOptions>);
|
|
@@ -96,7 +97,7 @@ export declare class Tooltip extends Component<TooltipOptions> {
|
|
|
96
97
|
/**
|
|
97
98
|
* Show tooltip.
|
|
98
99
|
*/
|
|
99
|
-
open: (isManual
|
|
100
|
+
open: (isManual?: boolean) => void;
|
|
100
101
|
/**
|
|
101
102
|
* Hide tooltip.
|
|
102
103
|
*/
|
package/dist/types/modular.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { SideSheets } from './behaviors/sideSheets';
|
|
|
5
5
|
export { Forms } from './behaviors/forms';
|
|
6
6
|
export { AutoInit } from './components/registry';
|
|
7
7
|
export type { AutoInitOptions } from './components/registry';
|
|
8
|
-
export declare const version = "0.
|
|
8
|
+
export declare const version = "0.12.0";
|
|
9
9
|
export type * from './components/autocomplete';
|
|
10
10
|
export type * from './components/appBar';
|
|
11
11
|
export type * from './components/buttons';
|
package/package.json
CHANGED
|
@@ -76,7 +76,6 @@
|
|
|
76
76
|
scroll-snap-type: x mandatory;
|
|
77
77
|
scroll-behavior: smooth;
|
|
78
78
|
overscroll-behavior-inline: contain;
|
|
79
|
-
touch-action: pan-x;
|
|
80
79
|
scrollbar-width: none;
|
|
81
80
|
|
|
82
81
|
&::-webkit-scrollbar {
|
|
@@ -485,7 +484,6 @@
|
|
|
485
484
|
scroll-snap-type: y mandatory;
|
|
486
485
|
overscroll-behavior-inline: auto;
|
|
487
486
|
overscroll-behavior-block: contain;
|
|
488
|
-
touch-action: pan-y;
|
|
489
487
|
}
|
|
490
488
|
|
|
491
489
|
.carousel-track > .carousel-item {
|
|
@@ -527,7 +525,6 @@
|
|
|
527
525
|
scroll-snap-type: x mandatory;
|
|
528
526
|
overscroll-behavior-inline: contain;
|
|
529
527
|
overscroll-behavior-block: auto;
|
|
530
|
-
touch-action: pan-x;
|
|
531
528
|
}
|
|
532
529
|
|
|
533
530
|
.carousel-track > .carousel-item {
|
|
@@ -565,17 +562,22 @@
|
|
|
565
562
|
cursor: grab;
|
|
566
563
|
}
|
|
567
564
|
|
|
568
|
-
|
|
565
|
+
// A drag writes the scroll position directly, and snapping would pull each
|
|
566
|
+
// write back to a snap point. Each layout that sets scroll-snap-type with
|
|
567
|
+
// more classes than `.carousel.dragging` needs its own arm here.
|
|
568
|
+
.carousel.dragging,
|
|
569
|
+
.carousel.uncontained.snap.dragging,
|
|
570
|
+
.carousel.full-screen.full-screen-horizontal.dragging {
|
|
569
571
|
> .carousel-track {
|
|
570
572
|
cursor: grabbing;
|
|
571
573
|
scroll-behavior: auto;
|
|
572
574
|
scroll-snap-type: none;
|
|
573
575
|
user-select: none;
|
|
574
576
|
}
|
|
577
|
+
}
|
|
575
578
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
}
|
|
579
|
+
.carousel.dragging .carousel-item {
|
|
580
|
+
pointer-events: none;
|
|
579
581
|
}
|
|
580
582
|
}
|
|
581
583
|
|
|
@@ -53,7 +53,7 @@ $_heading: ":is(h1, h2, h3, h4, h5, h6)";
|
|
|
53
53
|
$_title: ":is(#{$_heading}, hgroup)";
|
|
54
54
|
$_search: ":is(.search-bar, .searchbar)";
|
|
55
55
|
|
|
56
|
-
header:has(>
|
|
56
|
+
header:has(> #{$_bar}) {
|
|
57
57
|
--md-comp-top-app-bar-container-color: var(--md-sys-color-surface);
|
|
58
58
|
--md-comp-top-app-bar-scrolled-container-color: var(--md-sys-color-surface-container);
|
|
59
59
|
--md-comp-top-app-bar-headline-color: var(--md-sys-color-on-surface);
|
|
@@ -494,14 +494,19 @@ header.large.collapsed:has(> #{$_bar}) > #{$_bar} {
|
|
|
494
494
|
// from the body (M3 Expressive). The animation only drives the mix
|
|
495
495
|
// progress; a utility class on the header sets background-color itself
|
|
496
496
|
// and is not overwritten. Without animation-timeline the bar stays at
|
|
497
|
-
// rest (surface), the spec default.
|
|
498
|
-
|
|
497
|
+
// rest (surface), the spec default. The @supports guard is load-bearing: an
|
|
498
|
+
// engine that drops animation-timeline runs a 0s animation instead, and
|
|
499
|
+
// fill-mode both holds the scrolled keyframe from the first frame.
|
|
500
|
+
header:has(> #{$_bar}) {
|
|
499
501
|
position: sticky;
|
|
500
502
|
top: 0;
|
|
501
503
|
z-index: 997;
|
|
502
|
-
|
|
503
|
-
animation-timeline: scroll(
|
|
504
|
-
|
|
504
|
+
|
|
505
|
+
@supports (animation-timeline: scroll()) {
|
|
506
|
+
animation: top-app-bar-scroll linear both;
|
|
507
|
+
animation-timeline: scroll(root);
|
|
508
|
+
animation-range: 0 8px;
|
|
509
|
+
}
|
|
505
510
|
}
|
|
506
511
|
|
|
507
512
|
@keyframes top-app-bar-scroll {
|
|
@@ -140,14 +140,3 @@ footer:not(:has(> nav:only-child)) > .container > small:last-child {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
// Sticky: pin the footer to the bottom of a short page. Only when the
|
|
144
|
-
// landmark is a direct child of body — not a footer nested in a demo.
|
|
145
|
-
body:has(> footer:not(:has(> nav:only-child))) {
|
|
146
|
-
min-height: 100dvh;
|
|
147
|
-
display: flex;
|
|
148
|
-
flex-direction: column;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
body:has(> footer:not(:has(> nav:only-child))) > main {
|
|
152
|
-
flex: 1 0 auto;
|
|
153
|
-
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
// --md-comp-progress-circular-thickness 4px
|
|
19
19
|
|
|
20
20
|
// M3 names this component "Progress indicators", linear and circular. The
|
|
21
|
-
// class is `.progress`; `.preloader` is the
|
|
21
|
+
// class is `.progress`; `.preloader` is the older name for the circular
|
|
22
22
|
// one and stays as an alias, as does `.progress.circular`.
|
|
23
23
|
.progress,
|
|
24
24
|
.preloader {
|
|
@@ -71,12 +71,24 @@ progress.progress {
|
|
|
71
71
|
border-radius: var(--md-comp-progress-shape);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
// Firefox draws no ::before/::after on <progress> and paints the track as the
|
|
75
|
+
// element's own background, so its indeterminate bar is the native one. It
|
|
76
|
+
// places that bar from the physical left and reads only margin-left, which is
|
|
77
|
+
// margin-inline-end in RTL, so both inline margins move. Keep this out of any
|
|
78
|
+
// -webkit- selector list: Chromium drops a list naming a pseudo-element it
|
|
79
|
+
// does not know.
|
|
75
80
|
&:indeterminate::-moz-progress-bar {
|
|
76
|
-
|
|
81
|
+
width: 40%;
|
|
82
|
+
margin-inline-end: 60%;
|
|
83
|
+
animation: progress-indeterminate-moz 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
|
|
77
84
|
}
|
|
78
85
|
}
|
|
79
86
|
|
|
87
|
+
@keyframes progress-indeterminate-moz {
|
|
88
|
+
from { margin-inline-start: -40%; margin-inline-end: 100%; }
|
|
89
|
+
to { margin-inline-start: 100%; margin-inline-end: -40%; }
|
|
90
|
+
}
|
|
91
|
+
|
|
80
92
|
.progress > .determinate {
|
|
81
93
|
position: absolute;
|
|
82
94
|
inset-block: 0;
|
|
@@ -107,10 +119,12 @@ progress.progress {
|
|
|
107
119
|
}
|
|
108
120
|
}
|
|
109
121
|
|
|
110
|
-
.progress > .indeterminate
|
|
111
|
-
progress.progress:indeterminate {
|
|
122
|
+
.progress > .indeterminate {
|
|
112
123
|
background-color: transparent;
|
|
124
|
+
}
|
|
113
125
|
|
|
126
|
+
.progress > .indeterminate,
|
|
127
|
+
progress.progress:indeterminate {
|
|
114
128
|
&::before,
|
|
115
129
|
&::after {
|
|
116
130
|
content: "";
|
|
@@ -147,7 +161,7 @@ progress.progress:indeterminate {
|
|
|
147
161
|
// ---------------------------------------------------------------------------
|
|
148
162
|
|
|
149
163
|
// The circular indicator. `.progress.circular` is the M3-aligned name;
|
|
150
|
-
// `.preloader`
|
|
164
|
+
// `.preloader` remains a compatibility alias.
|
|
151
165
|
:is(.preloader, .progress.circular) {
|
|
152
166
|
box-sizing: border-box;
|
|
153
167
|
display: inline-block;
|
|
@@ -218,6 +232,7 @@ progress.progress:indeterminate {
|
|
|
218
232
|
progress.progress:indeterminate::-moz-progress-bar {
|
|
219
233
|
background-color: CanvasText;
|
|
220
234
|
width: 40%;
|
|
235
|
+
animation: none;
|
|
221
236
|
}
|
|
222
237
|
|
|
223
238
|
:is(.preloader, .progress.circular) {
|
|
@@ -254,4 +269,8 @@ progress.progress:indeterminate {
|
|
|
254
269
|
.preloader {
|
|
255
270
|
transform: none;
|
|
256
271
|
}
|
|
272
|
+
|
|
273
|
+
progress.progress:indeterminate::-moz-progress-bar {
|
|
274
|
+
animation: none;
|
|
275
|
+
}
|
|
257
276
|
}
|
|
@@ -120,7 +120,7 @@ $_bar: ".snackbar";
|
|
|
120
120
|
overflow: hidden;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
// Optional leading icon
|
|
123
|
+
// Optional leading icon. M3 snackbars have no leading icon.
|
|
124
124
|
> #{$icon}:first-child {
|
|
125
125
|
flex: 0 0 auto;
|
|
126
126
|
font-size: 24px;
|
|
@@ -101,7 +101,7 @@ input[type=text]:is(.timepicker-input-minutes, .time-picker-input-minutes) {
|
|
|
101
101
|
:is(.timepicker-container, .time-picker-container) .pm-btn {
|
|
102
102
|
width: 3.6rem;
|
|
103
103
|
height: 50%;
|
|
104
|
-
// --btn-padding is a
|
|
104
|
+
// --btn-padding is a retired variable that no longer exists, so this
|
|
105
105
|
// was invalid at computed-value time and the padding resolved to 0 - not
|
|
106
106
|
// to the base button's inline space, which the invalid declaration still
|
|
107
107
|
// beat in the cascade. Written as the 0 it has always rendered as.
|
|
@@ -278,7 +278,7 @@ input[type=text]:is(.timepicker-input-minutes, .time-picker-input-minutes) {
|
|
|
278
278
|
:is(.timepicker-container, .time-picker-container) .pm-btn {
|
|
279
279
|
flex-grow: 1;
|
|
280
280
|
/*width: auto;*/
|
|
281
|
-
// Same two
|
|
281
|
+
// Same two retired variables as above; both declarations
|
|
282
282
|
// rendered as 0. The corner rules that follow square off the inner
|
|
283
283
|
// edges, so the outer ones are the only radius in play.
|
|
284
284
|
padding-inline: 0;
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
// already, in $_bar.
|
|
58
58
|
$_toolbar: ".toolbar";
|
|
59
59
|
|
|
60
|
-
// The two axes. `.max` is
|
|
60
|
+
// The two axes. `.max` is an alias for docked; `.filled` is the older
|
|
61
61
|
// name for vibrant. Both stay in the :is() lists.
|
|
62
62
|
$_floating: "#{$_toolbar}:is(.floating, :not(.docked, .max))";
|
|
63
63
|
$_docked: "#{$_toolbar}:is(.docked, .max)";
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. A <label> wrapping <input type="checkbox"> is
|
|
6
6
|
// the control. The label text is a sibling of the input — no extra class,
|
|
7
|
-
// no required <span>. input + span still works (legacy /
|
|
7
|
+
// no required <span>. input + span still works (legacy / Select).
|
|
8
8
|
// label.switch is a switch, not a checkbox — leave it alone.
|
|
9
9
|
//
|
|
10
10
|
// Tokens follow https://m3.material.io/components/checkbox/specs
|
|
@@ -206,7 +206,7 @@ label:has(> [type="checkbox"]:disabled):not(.switch),
|
|
|
206
206
|
cursor: default;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
// Legacy /
|
|
209
|
+
// Legacy / Select / Autocomplete: input + span draws the same
|
|
210
210
|
// 18dp anatomy. Exclude .switch — that file paints the track on a span.
|
|
211
211
|
$_cb-span: "*:not(.switch) > [type='checkbox'] + span:not(.lever, .supporting-text, .character-counter, .file-path)";
|
|
212
212
|
|
|
@@ -310,24 +310,44 @@ textarea {
|
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
313
|
+
// Datepicker paints its formatted date over the native value with ::after.
|
|
314
|
+
// Firefox renders no generated content on an <input>, so hiding the native
|
|
315
|
+
// value there left the field blank. The engines that do render it are the ones
|
|
316
|
+
// that expose ::-webkit-datetime-edit.
|
|
317
|
+
@supports selector(::-webkit-datetime-edit) {
|
|
318
|
+
// The positioned input would paint its filled container over the field's
|
|
319
|
+
// icons, which come before it. Raise them inside the field's own stacking
|
|
320
|
+
// context, so they do not also rise over the docked search view or a
|
|
321
|
+
// sticky header. A docked calendar in the field has to escape it.
|
|
322
|
+
.field:has(> :is(.datepicker-date-input, .date-picker-date-input)) {
|
|
323
|
+
&:not(:has(> .display-docked)) {
|
|
324
|
+
isolation: isolate;
|
|
325
|
+
}
|
|
325
326
|
|
|
326
|
-
|
|
327
|
-
|
|
327
|
+
> :is(i, .prefix, .suffix) {
|
|
328
|
+
z-index: 1;
|
|
329
|
+
}
|
|
328
330
|
}
|
|
329
331
|
|
|
330
|
-
|
|
332
|
+
:is(.datepicker-date-input, .date-picker-date-input) {
|
|
333
|
+
position: relative;
|
|
331
334
|
text-indent: -9999px;
|
|
335
|
+
|
|
336
|
+
&::after {
|
|
337
|
+
display: block;
|
|
338
|
+
position: absolute;
|
|
339
|
+
top: 1.1rem;
|
|
340
|
+
content: attr(data-date);
|
|
341
|
+
color: var(--input-color);
|
|
342
|
+
text-indent: 0;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
&:focus-visible {
|
|
346
|
+
text-indent: 0;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
&:focus-visible:after {
|
|
350
|
+
text-indent: -9999px;
|
|
351
|
+
}
|
|
332
352
|
}
|
|
333
353
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. A <label> wrapping <input type="radio"> is the
|
|
6
6
|
// control. The label text is a sibling of the input — no extra class, no
|
|
7
|
-
// required <span>. input + span still works (legacy
|
|
7
|
+
// required <span>. input + span still works (legacy).
|
|
8
8
|
//
|
|
9
9
|
// Tokens follow https://m3.material.io/components/radio-button/specs
|
|
10
10
|
// icon 20dp ring, 2dp stroke, on-surface-variant
|
|
@@ -136,7 +136,7 @@ label:has(> [type="radio"]:disabled),
|
|
|
136
136
|
cursor: default;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
// Legacy
|
|
139
|
+
// Legacy: input + span draws the same 20/10 anatomy.
|
|
140
140
|
[type="radio"] + span {
|
|
141
141
|
position: relative;
|
|
142
142
|
display: inline-flex;
|