@expressivecss/expressive 0.13.1 → 0.15.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 +196 -1
- package/README.md +2 -1
- package/dist/css/expressive.css +432 -311
- 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-DTKR54I6.mjs → chunk-33QVDDGR.mjs} +3 -3
- package/dist/js/chunks/{chunk-SPETGK25.mjs → chunk-45FER6RI.mjs} +5 -5
- package/dist/js/chunks/chunk-45FER6RI.mjs.map +7 -0
- package/dist/js/chunks/{chunk-WJXDBPXQ.mjs → chunk-5CEAOLUA.mjs} +17 -20
- package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +7 -0
- package/dist/js/chunks/{chunk-CKQP6P76.mjs → chunk-6VATUZC6.mjs} +12 -7
- package/dist/js/chunks/chunk-6VATUZC6.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QDAL4IYN.mjs → chunk-74MXKKLN.mjs} +2 -2
- package/dist/js/chunks/{chunk-QDAL4IYN.mjs.map → chunk-74MXKKLN.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-DLWYKFEI.mjs → chunk-AIURVCG6.mjs} +3 -3
- package/dist/js/chunks/{chunk-NNYP33NB.mjs → chunk-BGZLF6JZ.mjs} +19 -18
- package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-C6CHEWYP.mjs +154 -0
- package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GVGT6MIU.mjs → chunk-CK2XCICY.mjs} +2 -2
- package/dist/js/chunks/{chunk-XGHORT7J.mjs → chunk-CXXM2L4F.mjs} +8 -9
- package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QVVEWBOF.mjs → chunk-DXGRXYYL.mjs} +25 -37
- package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QV2JAWIZ.mjs → chunk-FM5CZOUB.mjs} +5 -8
- package/dist/js/chunks/{chunk-QV2JAWIZ.mjs.map → chunk-FM5CZOUB.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-PLYXLSH3.mjs → chunk-GJL6GCIU.mjs} +46 -58
- package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +7 -0
- package/dist/js/chunks/chunk-K3HZMFMD.mjs +135 -0
- package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +7 -0
- package/dist/js/chunks/chunk-KHXZ2A4K.mjs +395 -0
- package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +7 -0
- package/dist/js/chunks/chunk-KQACNQ22.mjs +7 -0
- package/dist/js/chunks/{chunk-4PWAPV6F.mjs.map → chunk-KQACNQ22.mjs.map} +1 -1
- package/dist/js/chunks/chunk-KUFHW3DS.mjs +214 -0
- package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-LWBQIX5J.mjs → chunk-KVJAVDBC.mjs} +46 -57
- package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-YDCS5S3J.mjs → chunk-L27Q6ZMI.mjs} +2 -2
- package/dist/js/chunks/{chunk-CCWDV5CR.mjs → chunk-LQWUDNHZ.mjs} +3 -3
- package/dist/js/chunks/{chunk-6OMRGML6.mjs → chunk-M372EDXD.mjs} +7 -13
- package/dist/js/chunks/{chunk-6OMRGML6.mjs.map → chunk-M372EDXD.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-EC63CHXU.mjs → chunk-M3MURWMB.mjs} +20 -16
- package/dist/js/chunks/chunk-M3MURWMB.mjs.map +7 -0
- package/dist/js/chunks/{chunk-U2OTHOTI.mjs → chunk-NUHMOAOY.mjs} +19 -33
- package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +7 -0
- package/dist/js/chunks/{chunk-P3G3QHII.mjs → chunk-OWG3LMUL.mjs} +17 -14
- package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +7 -0
- package/dist/js/chunks/{chunk-LTWPGFBR.mjs → chunk-PD6HYHAE.mjs} +4 -15
- package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +7 -0
- package/dist/js/chunks/{chunk-PIJ2TAR3.mjs → chunk-PDG64UHF.mjs} +3 -3
- package/dist/js/chunks/{chunk-IFXVDDDH.mjs → chunk-PO3AXVR3.mjs} +38 -64
- package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QKWPQK5N.mjs → chunk-QYGK36OG.mjs} +16 -14
- package/dist/js/chunks/chunk-QYGK36OG.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UNEMYWEW.mjs → chunk-SFI2U4YW.mjs} +28 -44
- package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +7 -0
- package/dist/js/chunks/{chunk-VTLBW7QS.mjs → chunk-SMY7GJSS.mjs} +3 -3
- package/dist/js/chunks/{chunk-O5XPWXIQ.mjs → chunk-TCCA2HDG.mjs} +39 -31
- package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UBLRRJ7N.mjs → chunk-TSZYSW7F.mjs} +4 -4
- package/dist/js/chunks/{chunk-UBLRRJ7N.mjs.map → chunk-TSZYSW7F.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-UEZUJQ66.mjs → chunk-UAZSDUVP.mjs} +3 -4
- package/dist/js/chunks/{chunk-UEZUJQ66.mjs.map → chunk-UAZSDUVP.mjs.map} +2 -2
- package/dist/js/chunks/{chunk-6N2XAEFK.mjs → chunk-UBRZZWRA.mjs} +10 -8
- package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +7 -0
- package/dist/js/chunks/{chunk-3VOK6J7U.mjs → chunk-UCOE7ZDL.mjs} +47 -45
- package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +7 -0
- package/dist/js/chunks/{chunk-K4CJCRGE.mjs → chunk-UETTGDLI.mjs} +3 -3
- package/dist/js/chunks/{chunk-RHRQKTTX.mjs → chunk-UNCRDLP6.mjs} +6 -9
- package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +7 -0
- package/dist/js/chunks/{chunk-LNCCYGPC.mjs → chunk-VGNYF6FB.mjs} +8 -10
- package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UAEAQBRC.mjs → chunk-VGPGBNGL.mjs} +4 -12
- package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +7 -0
- package/dist/js/chunks/chunk-VKAUVTQY.mjs +1 -0
- package/dist/js/chunks/{chunk-HKT2S7VM.mjs → chunk-VM4FTS7L.mjs} +3 -3
- package/dist/js/chunks/{chunk-55IA2XUC.mjs → chunk-WDK4T63U.mjs} +8 -11
- package/dist/js/chunks/chunk-WDK4T63U.mjs.map +7 -0
- package/dist/js/chunks/{chunk-XH6BEEMY.mjs → chunk-WOCCTVUF.mjs} +51 -39
- package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GZWPXXY6.mjs → chunk-WQYN5L4E.mjs} +14 -16
- package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +7 -0
- package/dist/js/chunks/{chunk-6WLSDZ4O.mjs → chunk-X4ISMKE2.mjs} +2 -2
- package/dist/js/chunks/{chunk-3DHK5CZU.mjs → chunk-XAEAEHIX.mjs} +6 -8
- package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +7 -0
- package/dist/js/chunks/{chunk-3CLXLPYS.mjs → chunk-ZX6M7SWO.mjs} +43 -29
- package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +7 -0
- package/dist/js/expressive.cjs +1337 -572
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +1337 -572
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +10 -13
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +71 -55
- package/dist/js/expressive.mjs.map +1 -1
- 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/barChart.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/columnChart.mjs +3 -3
- package/dist/js/internal/components/commandPalette.mjs +3 -3
- package/dist/js/internal/components/confetti.mjs +8 -0
- package/dist/js/internal/components/confetti.mjs.map +7 -0
- package/dist/js/internal/components/datepicker.mjs +6 -6
- package/dist/js/internal/components/expandingCard.mjs +3 -3
- package/dist/js/internal/components/heatmapChart.mjs +3 -3
- package/dist/js/internal/components/index.mjs +64 -48
- package/dist/js/internal/components/keypad.mjs +9 -0
- package/dist/js/internal/components/keypad.mjs.map +7 -0
- package/dist/js/internal/components/lightbox.mjs +3 -3
- package/dist/js/internal/components/lineChart.mjs +6 -2
- package/dist/js/internal/components/mapView.mjs +9 -0
- package/dist/js/internal/components/mapView.mjs.map +7 -0
- package/dist/js/internal/components/menu.mjs +3 -3
- package/dist/js/internal/components/messageScroller.mjs +3 -3
- package/dist/js/internal/components/mixedChart.mjs +4 -4
- package/dist/js/internal/components/navigationRail.mjs +2 -2
- package/dist/js/internal/components/particles.mjs +8 -0
- package/dist/js/internal/components/particles.mjs.map +7 -0
- package/dist/js/internal/components/pieChart.mjs +3 -3
- package/dist/js/internal/components/questionnaire.mjs +3 -3
- package/dist/js/internal/components/radarChart.mjs +3 -3
- package/dist/js/internal/components/radialChart.mjs +3 -3
- package/dist/js/internal/components/registry.mjs +41 -37
- package/dist/js/internal/components/richTextEditor.mjs +3 -3
- 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 +71 -55
- package/dist/types/behaviors/forms.d.ts +5 -0
- package/dist/types/components/autocomplete.d.ts +1 -0
- package/dist/types/components/carousel.d.ts +2 -0
- package/dist/types/components/confetti.d.ts +103 -0
- package/dist/types/components/datepicker.d.ts +5 -4
- package/dist/types/components/expandingCard.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/components/keypad.d.ts +34 -0
- package/dist/types/components/lightbox.d.ts +3 -5
- package/dist/types/components/lineChart.d.ts +4 -0
- package/dist/types/components/mapView.d.ts +151 -0
- package/dist/types/components/menu.d.ts +1 -0
- package/dist/types/components/particles.d.ts +72 -0
- package/dist/types/components/pieChart.d.ts +3 -0
- package/dist/types/components/radialChart.d.ts +0 -1
- package/dist/types/components/registry.d.ts +12 -0
- package/dist/types/components/slider.d.ts +3 -1
- package/dist/types/components/snackbar.d.ts +3 -0
- package/dist/types/components/tabs.d.ts +5 -1
- package/dist/types/components/timepicker.d.ts +2 -0
- package/dist/types/modular.d.ts +1 -1
- package/dist/types/plugins/dockedDisplayPlugin.d.ts +4 -3
- package/package.json +2 -1
- package/src/sass/abstracts/_breakpoints.scss +0 -1
- package/src/sass/abstracts/_elevation.scss +1 -1
- package/src/sass/abstracts/_mixins.scss +20 -60
- package/src/sass/abstracts/_variables.scss +10 -0
- package/src/sass/base/_global.scss +3 -12
- package/src/sass/base/_index.scss +1 -1
- package/src/sass/components/_badges.scss +1 -8
- package/src/sass/components/_bar-chart.scss +1 -1
- package/src/sass/components/_button-groups.scss +31 -66
- package/src/sass/components/_buttons.scss +1 -1
- package/src/sass/components/_cards.scss +6 -25
- package/src/sass/components/_carousel.scss +16 -55
- package/src/sass/components/_chips.scss +0 -6
- package/src/sass/components/_column-chart.scss +1 -1
- package/src/sass/components/_confetti.scss +14 -0
- package/src/sass/components/_data-table.scss +1 -3
- package/src/sass/components/_datepicker.scss +3 -22
- package/src/sass/components/_dialog.scss +1 -4
- package/src/sass/components/_heatmap-chart.scss +2 -2
- package/src/sass/components/_icon-buttons.scss +0 -1
- package/src/sass/components/_index.scss +4 -0
- package/src/sass/components/_keypad.scss +162 -0
- package/src/sass/components/_lightbox.scss +3 -8
- package/src/sass/components/_map.scss +188 -0
- package/src/sass/components/_menu.scss +31 -74
- package/src/sass/components/_mixed-chart.scss +1 -1
- package/src/sass/components/_navbar.scss +9 -45
- package/src/sass/components/_navigation-rail.scss +23 -32
- package/src/sass/components/_page-footer.scss +15 -12
- package/src/sass/components/_panes.scss +2 -6
- package/src/sass/components/_particles.scss +14 -0
- package/src/sass/components/_progress.scss +6 -4
- package/src/sass/components/_side-sheet.scss +1 -4
- package/src/sass/components/_stepper.scss +0 -4
- package/src/sass/components/_table_of_contents.scss +3 -1
- package/src/sass/components/_timepicker.scss +4 -36
- package/src/sass/components/_toolbar.scss +0 -4
- package/src/sass/components/forms/_checkboxes.scss +44 -67
- package/src/sass/components/forms/_fieldset.scss +3 -3
- package/src/sass/components/forms/_file-input.scss +0 -1
- package/src/sass/components/forms/_radio-buttons.scss +10 -36
- package/src/sass/components/forms/_select.scss +0 -3
- package/src/sass/components/forms/_slider.scss +72 -259
- package/src/sass/tokens/_state.scss +2 -2
- package/src/sass/tokens/_theme.scss +1 -1
- package/src/sass/utilities/_colors.scss +6 -1
- package/src/sass/utilities/_index.scss +1 -1
- package/dist/js/chunks/chunk-3CLXLPYS.mjs.map +0 -7
- package/dist/js/chunks/chunk-3DHK5CZU.mjs.map +0 -7
- package/dist/js/chunks/chunk-3VOK6J7U.mjs.map +0 -7
- package/dist/js/chunks/chunk-4PWAPV6F.mjs +0 -7
- package/dist/js/chunks/chunk-55IA2XUC.mjs.map +0 -7
- package/dist/js/chunks/chunk-6N2XAEFK.mjs.map +0 -7
- package/dist/js/chunks/chunk-CKQP6P76.mjs.map +0 -7
- package/dist/js/chunks/chunk-EC63CHXU.mjs.map +0 -7
- package/dist/js/chunks/chunk-GZWPXXY6.mjs.map +0 -7
- package/dist/js/chunks/chunk-IFXVDDDH.mjs.map +0 -7
- package/dist/js/chunks/chunk-LNCCYGPC.mjs.map +0 -7
- package/dist/js/chunks/chunk-LTWPGFBR.mjs.map +0 -7
- package/dist/js/chunks/chunk-LWBQIX5J.mjs.map +0 -7
- package/dist/js/chunks/chunk-NNYP33NB.mjs.map +0 -7
- package/dist/js/chunks/chunk-NQLC3YMW.mjs +0 -1
- package/dist/js/chunks/chunk-O5XPWXIQ.mjs.map +0 -7
- package/dist/js/chunks/chunk-P3G3QHII.mjs.map +0 -7
- package/dist/js/chunks/chunk-PLYXLSH3.mjs.map +0 -7
- package/dist/js/chunks/chunk-QKWPQK5N.mjs.map +0 -7
- package/dist/js/chunks/chunk-QVVEWBOF.mjs.map +0 -7
- package/dist/js/chunks/chunk-RHRQKTTX.mjs.map +0 -7
- package/dist/js/chunks/chunk-SPETGK25.mjs.map +0 -7
- package/dist/js/chunks/chunk-U2OTHOTI.mjs.map +0 -7
- package/dist/js/chunks/chunk-UAEAQBRC.mjs.map +0 -7
- package/dist/js/chunks/chunk-UNEMYWEW.mjs.map +0 -7
- package/dist/js/chunks/chunk-WJXDBPXQ.mjs.map +0 -7
- package/dist/js/chunks/chunk-XGHORT7J.mjs.map +0 -7
- package/dist/js/chunks/chunk-XH6BEEMY.mjs.map +0 -7
- /package/dist/js/chunks/{chunk-DTKR54I6.mjs.map → chunk-33QVDDGR.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-DLWYKFEI.mjs.map → chunk-AIURVCG6.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-GVGT6MIU.mjs.map → chunk-CK2XCICY.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-YDCS5S3J.mjs.map → chunk-L27Q6ZMI.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-CCWDV5CR.mjs.map → chunk-LQWUDNHZ.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-PIJ2TAR3.mjs.map → chunk-PDG64UHF.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-VTLBW7QS.mjs.map → chunk-SMY7GJSS.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-K4CJCRGE.mjs.map → chunk-UETTGDLI.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-NQLC3YMW.mjs.map → chunk-VKAUVTQY.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-HKT2S7VM.mjs.map → chunk-VM4FTS7L.mjs.map} +0 -0
- /package/dist/js/chunks/{chunk-6WLSDZ4O.mjs.map → chunk-X4ISMKE2.mjs.map} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component, BaseOptions, InitElements, InitElement } from '../core/component';
|
|
2
|
+
export interface ParticlesOptions extends BaseOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Number of particles.
|
|
5
|
+
* @default 100
|
|
6
|
+
*/
|
|
7
|
+
quantity: number;
|
|
8
|
+
/**
|
|
9
|
+
* How firmly particles hold their place against the pointer. Lower
|
|
10
|
+
* follows the pointer further.
|
|
11
|
+
* @default 50
|
|
12
|
+
*/
|
|
13
|
+
staticity: number;
|
|
14
|
+
/**
|
|
15
|
+
* Frames a particle takes to catch up with the pointer. Higher is slower.
|
|
16
|
+
* @default 50
|
|
17
|
+
*/
|
|
18
|
+
ease: number;
|
|
19
|
+
/**
|
|
20
|
+
* Base radius in pixels. Each particle adds 0 or 1 to it.
|
|
21
|
+
* @default 0.4
|
|
22
|
+
*/
|
|
23
|
+
size: number;
|
|
24
|
+
/**
|
|
25
|
+
* A CSS color. Empty uses the canvas's CSS `color`, which defaults to the
|
|
26
|
+
* theme's on-surface color.
|
|
27
|
+
* @default ''
|
|
28
|
+
*/
|
|
29
|
+
color: string;
|
|
30
|
+
/**
|
|
31
|
+
* Horizontal drift in pixels per frame. Negative drifts left.
|
|
32
|
+
* @default 0
|
|
33
|
+
*/
|
|
34
|
+
vx: number;
|
|
35
|
+
/**
|
|
36
|
+
* Vertical drift in pixels per frame. Negative drifts up.
|
|
37
|
+
* @default 0
|
|
38
|
+
*/
|
|
39
|
+
vy: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Particles. A `<canvas class="particles">` covers its nearest positioned
|
|
43
|
+
* ancestor with slowly drifting dots that lean toward the pointer. Under
|
|
44
|
+
* reduced motion the dots are drawn once and stay still.
|
|
45
|
+
*/
|
|
46
|
+
export declare class Particles extends Component<ParticlesOptions> {
|
|
47
|
+
el: HTMLCanvasElement;
|
|
48
|
+
private _ctx;
|
|
49
|
+
private _style;
|
|
50
|
+
private _particles;
|
|
51
|
+
private _width;
|
|
52
|
+
private _height;
|
|
53
|
+
private _frame;
|
|
54
|
+
private _last;
|
|
55
|
+
private _mouse;
|
|
56
|
+
private _still;
|
|
57
|
+
private _resizeObserver;
|
|
58
|
+
private _visibility;
|
|
59
|
+
constructor(el: HTMLElement, options: Partial<ParticlesOptions>);
|
|
60
|
+
static get defaults(): ParticlesOptions;
|
|
61
|
+
static init(el: HTMLElement, options?: Partial<ParticlesOptions>): Particles;
|
|
62
|
+
static init(els: InitElements<InitElement>, options?: Partial<ParticlesOptions>): Particles[];
|
|
63
|
+
static getInstance(el: HTMLElement): Particles;
|
|
64
|
+
destroy(): void;
|
|
65
|
+
private _start;
|
|
66
|
+
private _stop;
|
|
67
|
+
private _onPointerMove;
|
|
68
|
+
private _reset;
|
|
69
|
+
private _particle;
|
|
70
|
+
private _draw;
|
|
71
|
+
private _paint;
|
|
72
|
+
}
|
|
@@ -15,6 +15,8 @@ export declare class PieChart extends LineChart {
|
|
|
15
15
|
/** Each row's color, or undefined for a row with no slice. */
|
|
16
16
|
private _colors;
|
|
17
17
|
private _slices;
|
|
18
|
+
/** Percent formatters by fraction digits, rebuilt once per legend. */
|
|
19
|
+
private _percents;
|
|
18
20
|
protected get _type(): string;
|
|
19
21
|
protected get _key(): string;
|
|
20
22
|
protected get _points(): boolean;
|
|
@@ -27,6 +29,7 @@ export declare class PieChart extends LineChart {
|
|
|
27
29
|
protected _place(index: number): void;
|
|
28
30
|
/** The row's share of the whole as a percentage, or '' for none. */
|
|
29
31
|
private _share;
|
|
32
|
+
private _percent;
|
|
30
33
|
/** The legend: every row with its color, its cell and its share. */
|
|
31
34
|
protected _guides(): Element[];
|
|
32
35
|
/** The row under the pointer by its angle from the middle, or -1 off the slices. */
|
|
@@ -29,7 +29,6 @@ export declare class RadialChart extends LineChart {
|
|
|
29
29
|
show(index: number): void;
|
|
30
30
|
/** The tooltip sits where the ring's fill ends. */
|
|
31
31
|
protected _place(index: number): void;
|
|
32
|
-
private _color;
|
|
33
32
|
/** A fraction of the ring as a turn clockwise from the top. */
|
|
34
33
|
private _turn;
|
|
35
34
|
/** For more than one row, a legend of every row with its color and cell. */
|
|
@@ -43,6 +43,18 @@ export declare const AUTO_INIT_COMPONENTS: {
|
|
|
43
43
|
component: typeof Components.Chips;
|
|
44
44
|
selector: string;
|
|
45
45
|
};
|
|
46
|
+
Confetti: {
|
|
47
|
+
component: typeof Components.Confetti;
|
|
48
|
+
selector: string;
|
|
49
|
+
};
|
|
50
|
+
Particles: {
|
|
51
|
+
component: typeof Components.Particles;
|
|
52
|
+
selector: string;
|
|
53
|
+
};
|
|
54
|
+
Keypad: {
|
|
55
|
+
component: typeof Components.Keypad;
|
|
56
|
+
selector: string;
|
|
57
|
+
};
|
|
46
58
|
ColumnChart: {
|
|
47
59
|
component: typeof Components.ColumnChart;
|
|
48
60
|
selector: string;
|
|
@@ -28,7 +28,7 @@ export declare class Slider extends Component<SliderOptions> {
|
|
|
28
28
|
_removeEventHandlers(): void;
|
|
29
29
|
_handleRangeChange: () => void;
|
|
30
30
|
_handleRangePointerDown: (e: PointerEvent) => void;
|
|
31
|
-
|
|
31
|
+
_handleRangeInput: () => void;
|
|
32
32
|
_handleRangePointerUp: (e: PointerEvent) => void;
|
|
33
33
|
_handleRangeRelease: () => void;
|
|
34
34
|
_setupThumb(): void;
|
|
@@ -36,6 +36,8 @@ export declare class Slider extends Component<SliderOptions> {
|
|
|
36
36
|
_isVertical(): boolean;
|
|
37
37
|
_host(): HTMLElement | null;
|
|
38
38
|
_clampDual(): void;
|
|
39
|
+
/** The input's range, defaulting like the browser does: 0 to 100. */
|
|
40
|
+
private _bounds;
|
|
39
41
|
_fraction(el: HTMLInputElement): number;
|
|
40
42
|
_sync(): void;
|
|
41
43
|
/**
|
|
@@ -90,6 +90,8 @@ export declare class Snackbar {
|
|
|
90
90
|
time: number;
|
|
91
91
|
deltaX: number;
|
|
92
92
|
velocityX: number;
|
|
93
|
+
/** Swipe distance that dismisses, measured once when the drag starts. */
|
|
94
|
+
private _activationDistance;
|
|
93
95
|
private _dismissed;
|
|
94
96
|
private _returnFocus;
|
|
95
97
|
private _events;
|
|
@@ -116,6 +118,7 @@ export declare class Snackbar {
|
|
|
116
118
|
* over, so the movement so far says nothing about what the user wanted.
|
|
117
119
|
*/
|
|
118
120
|
static _onDragCancel(e: PointerEvent): void;
|
|
121
|
+
private _snapBack;
|
|
119
122
|
/**
|
|
120
123
|
* dismiss all snackbars.
|
|
121
124
|
*/
|
|
@@ -57,10 +57,14 @@ export declare class Tabs extends Component<TabsOptions> {
|
|
|
57
57
|
get index(): number;
|
|
58
58
|
_setupEventHandlers(): void;
|
|
59
59
|
_removeEventHandlers(): void;
|
|
60
|
-
_handleWindowResize: () => void;
|
|
60
|
+
_handleWindowResize: (...args: unknown[]) => void;
|
|
61
61
|
_queryTabLinks(): NodeListOf<HTMLAnchorElement>;
|
|
62
62
|
_handleTabClick: (e: MouseEvent) => void;
|
|
63
63
|
_createIndicator(): void;
|
|
64
|
+
/** Reads both positions before writing either. */
|
|
65
|
+
private _positionIndicator;
|
|
66
|
+
/** The panel a link shows, or null for a `target` link or one without a hash. */
|
|
67
|
+
private _panelFor;
|
|
64
68
|
/**
|
|
65
69
|
* Which tab is current, for the eye and for assistive technology.
|
|
66
70
|
*
|
|
@@ -168,6 +168,7 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
168
168
|
destroy(): void;
|
|
169
169
|
_setupEventHandlers(): void;
|
|
170
170
|
_removeEventHandlers(): void;
|
|
171
|
+
private _removeDragListeners;
|
|
171
172
|
_handleInputClick: () => void;
|
|
172
173
|
_handleInputKeydown: (e: KeyboardEvent) => void;
|
|
173
174
|
_handleClockClickStart: (e: PointerEvent) => void;
|
|
@@ -194,6 +195,7 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
194
195
|
_buildHoursView(): void;
|
|
195
196
|
_buildHoursTick(i: number, radian: number, radius: number): void;
|
|
196
197
|
_buildMinutesView(): void;
|
|
198
|
+
private _placeTick;
|
|
197
199
|
_handleAmPmClick: (e: MouseEvent) => void;
|
|
198
200
|
_handleAmPmInteraction: (e: HTMLElement) => void;
|
|
199
201
|
_updateAmPmView(): void;
|
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.15.0";
|
|
9
9
|
export type * from './components/autocomplete';
|
|
10
10
|
export type * from './components/appBar';
|
|
11
11
|
export type * from './components/buttons';
|
|
@@ -23,10 +23,11 @@ export declare class DockedDisplayPlugin {
|
|
|
23
23
|
private visible;
|
|
24
24
|
constructor(el: HTMLElement, container: HTMLElement, options: Partial<DockedDisplayPluginOptions>);
|
|
25
25
|
private _handleDocumentClick;
|
|
26
|
+
private get _transition();
|
|
26
27
|
/**
|
|
27
|
-
* Tears the plugin down.
|
|
28
|
-
* instance - and through it the whole picker subtree - so
|
|
29
|
-
* component must call this from its own destroy().
|
|
28
|
+
* Tears the plugin down. While shown, the document listener holds a
|
|
29
|
+
* reference to this instance - and through it the whole picker subtree - so
|
|
30
|
+
* the owning component must call this from its own destroy().
|
|
30
31
|
*/
|
|
31
32
|
destroy: () => void;
|
|
32
33
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expressivecss/expressive",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "ExpressiveCSS - a Material Design 3 front-end framework.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "BaezFJ <baezdevs@gmail.com>",
|
|
@@ -137,6 +137,7 @@
|
|
|
137
137
|
"esbuild": "^0.28.2",
|
|
138
138
|
"fallow": "^3.23.0",
|
|
139
139
|
"jsdom": "^30.0.1",
|
|
140
|
+
"maplibre-gl": "^6.13.0",
|
|
140
141
|
"npm-run-all2": "^9.0.3",
|
|
141
142
|
"sass": "^1.102.0",
|
|
142
143
|
"smol-toml": "^1.8.0",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// only resolves if the extending partial loads the module that defines the
|
|
7
7
|
// class, which forced every component to `@use` a CSS-emitting file and let
|
|
8
8
|
// the dependency graph - not expressive.scss - decide the output order.
|
|
9
|
-
// The `.z-depth-N` classes in
|
|
9
|
+
// The `.z-depth-N` classes in utilities/_z-depth.scss are generated from this map,
|
|
10
10
|
// so the class list and the mixin can never drift apart.
|
|
11
11
|
|
|
12
12
|
$elevations: (
|
|
@@ -62,52 +62,32 @@ $_state-layers: ("hover", "focus", "pressed", "dragged");
|
|
|
62
62
|
// State layers mix the on-color into the container in oklab; the opacities come
|
|
63
63
|
// from md.sys.state via `state-opacity()`. Filled and tonal have no elevation.
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
background-color: var(--md-comp-filled-button-container-color, var(--md-sys-color-primary));
|
|
68
|
-
|
|
65
|
+
// Shared by filled, tonal, outlined and flat. Elevated also moves z-depth.
|
|
66
|
+
@mixin _btn-states($on, $base) {
|
|
69
67
|
&:hover {
|
|
70
|
-
background-color: color-mix(
|
|
71
|
-
in oklab,
|
|
72
|
-
var(--md-sys-color-on-primary) state-opacity("hover"),
|
|
73
|
-
var(--md-sys-color-primary)
|
|
74
|
-
);
|
|
68
|
+
background-color: color-mix(in oklab, #{$on} state-opacity("hover"), #{$base});
|
|
75
69
|
}
|
|
76
70
|
|
|
77
71
|
&:active,
|
|
78
72
|
&:focus {
|
|
79
|
-
background-color: color-mix(
|
|
80
|
-
in oklab,
|
|
81
|
-
var(--md-sys-color-on-primary) state-opacity("focus"),
|
|
82
|
-
var(--md-sys-color-primary)
|
|
83
|
-
);
|
|
73
|
+
background-color: color-mix(in oklab, #{$on} state-opacity("focus"), #{$base});
|
|
84
74
|
}
|
|
85
75
|
|
|
86
76
|
@include focus-visible();
|
|
87
77
|
}
|
|
88
78
|
|
|
79
|
+
@mixin btn-filled {
|
|
80
|
+
color: var(--md-comp-filled-button-label-text-color, var(--md-sys-color-on-primary));
|
|
81
|
+
background-color: var(--md-comp-filled-button-container-color, var(--md-sys-color-primary));
|
|
82
|
+
|
|
83
|
+
@include _btn-states(var(--md-sys-color-on-primary), var(--md-sys-color-primary));
|
|
84
|
+
}
|
|
85
|
+
|
|
89
86
|
@mixin btn-tonal {
|
|
90
87
|
color: var(--md-sys-color-on-secondary-container);
|
|
91
88
|
background-color: var(--md-sys-color-secondary-container);
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
background-color: color-mix(
|
|
95
|
-
in oklab,
|
|
96
|
-
var(--md-sys-color-on-secondary-container) state-opacity("hover"),
|
|
97
|
-
var(--md-sys-color-secondary-container)
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
&:active,
|
|
102
|
-
&:focus {
|
|
103
|
-
background-color: color-mix(
|
|
104
|
-
in oklab,
|
|
105
|
-
var(--md-sys-color-on-secondary-container) state-opacity("focus"),
|
|
106
|
-
var(--md-sys-color-secondary-container)
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
@include focus-visible();
|
|
90
|
+
@include _btn-states(var(--md-sys-color-on-secondary-container), var(--md-sys-color-secondary-container));
|
|
111
91
|
}
|
|
112
92
|
|
|
113
93
|
@mixin btn-elevated {
|
|
@@ -138,16 +118,7 @@ $_state-layers: ("hover", "focus", "pressed", "dragged");
|
|
|
138
118
|
// height right.
|
|
139
119
|
border: var(--md-comp-filled-button-outline-width, 1px) solid var(--md-sys-color-outline);
|
|
140
120
|
|
|
141
|
-
|
|
142
|
-
background-color: color-mix(in oklab, var(--md-sys-color-primary) state-opacity("hover"), transparent);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
&:active,
|
|
146
|
-
&:focus {
|
|
147
|
-
background-color: color-mix(in oklab, var(--md-sys-color-primary) state-opacity("focus"), transparent);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
@include focus-visible();
|
|
121
|
+
@include _btn-states(var(--md-sys-color-primary), transparent);
|
|
151
122
|
}
|
|
152
123
|
|
|
153
124
|
@mixin btn-flat {
|
|
@@ -156,16 +127,7 @@ $_state-layers: ("hover", "focus", "pressed", "dragged");
|
|
|
156
127
|
background-color: transparent;
|
|
157
128
|
border-color: transparent;
|
|
158
129
|
|
|
159
|
-
|
|
160
|
-
background-color: color-mix(in oklab, var(--md-sys-color-primary) state-opacity("hover"), transparent);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
&:active,
|
|
164
|
-
&:focus {
|
|
165
|
-
background-color: color-mix(in oklab, var(--md-sys-color-primary) state-opacity("focus"), transparent);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
@include focus-visible();
|
|
130
|
+
@include _btn-states(var(--md-sys-color-primary), transparent);
|
|
169
131
|
}
|
|
170
132
|
|
|
171
133
|
@mixin btn-disabled {
|
|
@@ -174,7 +136,6 @@ $_state-layers: ("hover", "focus", "pressed", "dragged");
|
|
|
174
136
|
background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
|
|
175
137
|
border-color: transparent;
|
|
176
138
|
pointer-events: none;
|
|
177
|
-
box-shadow: none;
|
|
178
139
|
cursor: default;
|
|
179
140
|
}
|
|
180
141
|
|
|
@@ -234,8 +195,7 @@ $_state-layers: ("hover", "focus", "pressed", "dragged");
|
|
|
234
195
|
///
|
|
235
196
|
/// Checkboxes and radio buttons have no room for an overlay pseudo-element, so
|
|
236
197
|
/// they grow a `box-shadow` from the control's edge out to the state layer
|
|
237
|
-
/// size.
|
|
238
|
-
/// the `* 100%`.
|
|
198
|
+
/// size.
|
|
239
199
|
@mixin state-layer-ring($outer, $inner, $color, $state) {
|
|
240
200
|
box-shadow: 0 0 0 calc((#{$outer} - #{$inner}) / 2)
|
|
241
201
|
color-mix(
|
|
@@ -367,17 +327,17 @@ $_state-layers: ("hover", "focus", "pressed", "dragged");
|
|
|
367
327
|
margin: $element-top-margin 0 $element-bottom-margin;
|
|
368
328
|
color: var(--md-sys-color-on-surface);
|
|
369
329
|
|
|
370
|
-
> figcaption {
|
|
371
|
-
color: var(--md-sys-color-on-surface-variant);
|
|
372
|
-
@include typescale("title-small");
|
|
373
|
-
}
|
|
374
|
-
|
|
375
330
|
// A table keeps its content size under visually-hidden, so anchor it
|
|
376
331
|
// here rather than at some distant positioned ancestor. A fixed layout
|
|
377
332
|
// holds it to the 1px wide it is given. Its rows still set its height, so
|
|
378
333
|
// it hangs up from the bottom edge, where the overflow cannot scroll.
|
|
379
334
|
position: relative;
|
|
380
335
|
|
|
336
|
+
> figcaption {
|
|
337
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
338
|
+
@include typescale("title-small");
|
|
339
|
+
}
|
|
340
|
+
|
|
381
341
|
&:has(> .#{$name}-plot) > table {
|
|
382
342
|
@include visually-hidden;
|
|
383
343
|
inset: auto auto 0 0;
|
|
@@ -137,3 +137,13 @@ $icon-button-sizes: (
|
|
|
137
137
|
"large": (height: 96px, icon: 32px, space: 32px, narrow: 16px, wide: 48px, square: 28px, pressed: 16px, outline: 2px),
|
|
138
138
|
"xlarge": (height: 136px, icon: 40px, space: 48px, narrow: 32px, wide: 72px, square: 28px, pressed: 16px, outline: 3px),
|
|
139
139
|
);
|
|
140
|
+
|
|
141
|
+
// Material's fast-spatial spring (damping .9, stiffness 1400), sampled into a
|
|
142
|
+
// CSS linear easing. Button groups and keypads both press with it, so the
|
|
143
|
+
// curve lives here once.
|
|
144
|
+
$motion-fast-spatial: linear(
|
|
145
|
+
0, .056 5%, .1796 10%, .3252 15%, .4675 20%, .5936 25%,
|
|
146
|
+
.6988 30%, .7828 35%, .8475 40%, .8959 45%, .931 50%,
|
|
147
|
+
.9559 55%, .973 60%, .9845 65%, .9919 70%, .9965 75%,
|
|
148
|
+
.9992 80%, 1.0006 85%, 1.0013 90%, 1.0015 95%, 1.0015
|
|
149
|
+
);
|
|
@@ -99,9 +99,6 @@ td, th {
|
|
|
99
99
|
@include bp-down("expanded") {
|
|
100
100
|
|
|
101
101
|
table.responsive-table {
|
|
102
|
-
width: 100%;
|
|
103
|
-
border-collapse: collapse;
|
|
104
|
-
border-spacing: 0;
|
|
105
102
|
display: block;
|
|
106
103
|
position: relative;
|
|
107
104
|
|
|
@@ -113,12 +110,12 @@ td, th {
|
|
|
113
110
|
margin: 0;
|
|
114
111
|
vertical-align: top;
|
|
115
112
|
}
|
|
116
|
-
th {
|
|
117
|
-
text-align: left;
|
|
118
|
-
}
|
|
119
113
|
thead {
|
|
120
114
|
display: block;
|
|
121
115
|
float: left;
|
|
116
|
+
/* sort out borders */
|
|
117
|
+
border: 0;
|
|
118
|
+
border-right: 1px solid var(--md-sys-color-outline-variant);
|
|
122
119
|
|
|
123
120
|
tr {
|
|
124
121
|
display: block;
|
|
@@ -148,16 +145,10 @@ td, th {
|
|
|
148
145
|
td {
|
|
149
146
|
display: block;
|
|
150
147
|
min-height: 1.25em;
|
|
151
|
-
text-align: left;
|
|
152
148
|
}
|
|
153
149
|
tr {
|
|
154
150
|
border-bottom: none;
|
|
155
151
|
padding: 0 10px;
|
|
156
152
|
}
|
|
157
|
-
/* sort out borders */
|
|
158
|
-
thead {
|
|
159
|
-
border: 0;
|
|
160
|
-
border-right: 1px solid var(--md-sys-color-outline-variant);
|
|
161
|
-
}
|
|
162
153
|
}
|
|
163
154
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Element-level styling: no component classes live here.
|
|
2
2
|
|
|
3
3
|
@forward "normalize";
|
|
4
|
-
@forward "global"; //
|
|
4
|
+
@forward "global"; // element defaults: links, blockquotes, tables
|
|
5
5
|
@forward "typography";
|
|
6
6
|
@forward "grid"; // .container, .row, .s1–.s12 … .xxl1–.xxl12
|
|
@@ -55,14 +55,7 @@
|
|
|
55
55
|
|
|
56
56
|
// Child of an icon: sit on the upper trailing corner of the 24dp
|
|
57
57
|
// glyph, even when the <i> is a larger indicator pill.
|
|
58
|
-
|
|
59
|
-
i,
|
|
60
|
-
.material-symbols,
|
|
61
|
-
.material-symbols-outlined,
|
|
62
|
-
.material-symbols-rounded,
|
|
63
|
-
.material-symbols-sharp,
|
|
64
|
-
.material-icons
|
|
65
|
-
) {
|
|
58
|
+
#{$icon} {
|
|
66
59
|
position: relative;
|
|
67
60
|
overflow: visible;
|
|
68
61
|
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
inset-inline: 0;
|
|
251
251
|
height: calc(100% / var(--rows, 1));
|
|
252
252
|
border-radius: var(--md-comp-bar-chart-shape);
|
|
253
|
-
background-color: color-mix(in
|
|
253
|
+
background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
|
|
254
254
|
translate: 0 -50%;
|
|
255
255
|
}
|
|
256
256
|
|