@warp-ds/elements 2.10.0-next.14 → 2.10.0-next.15
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/dist/custom-elements.json +372 -0
- package/dist/docs/attention/api.md +48 -0
- package/dist/docs/attention/attention.md +48 -0
- package/dist/docs/button/api.md +8 -0
- package/dist/docs/button/button.md +8 -0
- package/dist/docs/card/api.md +8 -0
- package/dist/docs/card/card.md +8 -0
- package/dist/docs/checkbox/api.md +48 -0
- package/dist/docs/checkbox/checkbox.md +48 -0
- package/dist/docs/checkbox-group/api.md +24 -0
- package/dist/docs/checkbox-group/checkbox-group.md +24 -0
- package/dist/docs/combobox/api.md +8 -0
- package/dist/docs/combobox/combobox.md +8 -0
- package/dist/docs/datepicker/api.md +8 -0
- package/dist/docs/datepicker/datepicker.md +8 -0
- package/dist/docs/index.md +2 -0
- package/dist/docs/modal/api.md +16 -0
- package/dist/docs/modal/modal.md +16 -0
- package/dist/docs/slider-thumb/api.md +16 -0
- package/dist/docs/slider-thumb/slider-thumb.md +16 -0
- package/dist/docs/snackbar/accessibility.md +20 -0
- package/dist/docs/snackbar/api.md +30 -0
- package/dist/docs/snackbar/examples.md +191 -0
- package/dist/docs/snackbar/snackbar.md +385 -0
- package/dist/docs/snackbar/styling.md +72 -0
- package/dist/docs/snackbar/usage.md +60 -0
- package/dist/docs/snackbar-item/api.md +41 -0
- package/dist/docs/snackbar-item/snackbar-item.md +49 -0
- package/dist/docs/step/api.md +16 -0
- package/dist/docs/step/step.md +16 -0
- package/dist/docs/switch/api.md +8 -0
- package/dist/docs/switch/switch.md +8 -0
- package/dist/docs/textarea/api.md +40 -0
- package/dist/docs/textarea/textarea.md +40 -0
- package/dist/docs/textfield/api.md +32 -0
- package/dist/docs/textfield/textfield.md +32 -0
- package/dist/index.d.ts +292 -1
- package/dist/packages/affix/affix.js +4 -4
- package/dist/packages/affix/affix.js.map +2 -2
- package/dist/packages/alert/alert.js +2 -2
- package/dist/packages/alert/alert.js.map +2 -2
- package/dist/packages/attention/attention.d.ts +5 -0
- package/dist/packages/attention/attention.js +14 -14
- package/dist/packages/attention/attention.js.map +2 -2
- package/dist/packages/button/button.d.ts +5 -0
- package/dist/packages/button/button.js +3 -3
- package/dist/packages/button/button.js.map +2 -2
- package/dist/packages/button/button.react.stories.d.ts +2 -2
- package/dist/packages/button/button.test.js +0 -1
- package/dist/packages/button/react.d.ts +1 -1
- package/dist/packages/datepicker/datepicker.js +1 -1
- package/dist/packages/datepicker/datepicker.js.map +2 -2
- package/dist/packages/expandable/expandable.js +9 -9
- package/dist/packages/expandable/expandable.js.map +4 -4
- package/dist/packages/global.d.ts +1 -0
- package/dist/packages/global.js +5 -0
- package/dist/packages/icon/icon.d.ts +5 -0
- package/dist/packages/icon/icon.js +2 -2
- package/dist/packages/icon/icon.js.map +2 -2
- package/dist/packages/interaction-type-detection.d.ts +22 -0
- package/dist/packages/interaction-type-detection.js +38 -0
- package/dist/packages/modal/modal.js +1 -1
- package/dist/packages/modal/modal.js.map +2 -2
- package/dist/packages/modal-header/modal-header.js +3 -3
- package/dist/packages/modal-header/modal-header.js.map +2 -2
- package/dist/packages/pagination/pagination.js +1 -1
- package/dist/packages/pagination/pagination.js.map +2 -2
- package/dist/packages/pill/pill.js +4 -4
- package/dist/packages/pill/pill.js.map +2 -2
- package/dist/packages/select/select.js +3 -3
- package/dist/packages/select/select.js.map +2 -2
- package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
- package/dist/packages/snackbar/react.d.ts +2 -0
- package/dist/packages/snackbar/react.js +11 -0
- package/dist/packages/snackbar/snackbar.d.ts +132 -0
- package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
- package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
- package/dist/packages/snackbar/snackbar.js +2646 -0
- package/dist/packages/snackbar/snackbar.js.map +7 -0
- package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
- package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
- package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
- package/dist/packages/snackbar/snackbar.stories.js +291 -0
- package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
- package/dist/packages/snackbar/snackbar.test.js +17 -0
- package/dist/packages/snackbar/styles.d.ts +1 -0
- package/dist/packages/snackbar/styles.js +35 -0
- package/dist/packages/snackbar-item/react.d.ts +5 -0
- package/dist/packages/snackbar-item/react.js +15 -0
- package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
- package/dist/packages/snackbar-item/snackbar-item.js +2601 -0
- package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
- package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
- package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
- package/dist/packages/snackbar-item/styles.d.ts +1 -0
- package/dist/packages/snackbar-item/styles.js +111 -0
- package/dist/packages/step/step.js +9 -9
- package/dist/packages/step/step.js.map +2 -2
- package/dist/packages/tabs/tabs.react.stories.d.ts +4 -4
- package/dist/packages/tabs/tabs.react.stories.js +1 -1
- package/dist/packages/tabs/tabs.stories.d.ts +1 -1
- package/dist/packages/tabs/tabs.stories.js +1 -1
- package/dist/packages/toast/toast.js +6 -6
- package/dist/packages/toast/toast.js.map +4 -4
- package/dist/packages/utils/element-collapse.d.ts +12 -0
- package/dist/packages/utils/element-collapse.js +92 -0
- package/dist/packages/utils/expand-transition.js +1 -1
- package/dist/web-types.json +88 -3
- package/eik/index.js +12 -12
- package/package.json +1 -3
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transitions an element from 0 to a detected height
|
|
3
|
+
* Will return a Promise when no 'done' callback is provided
|
|
4
|
+
* @type {(el: HTMLElement, done?: function) => void | Promise<void>}
|
|
5
|
+
*/
|
|
6
|
+
export const expand: (el: HTMLElement, done?: Function) => void | Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Transitions an element from a detected height to 0
|
|
9
|
+
* Will return a Promise when no 'done' callback is provided
|
|
10
|
+
* @type {(el: HTMLElement, done?: function) => void | Promise<void>}
|
|
11
|
+
*/
|
|
12
|
+
export const collapse: (el: HTMLElement, done?: Function) => void | Promise<void>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
const windowExists = (typeof window !== 'undefined');
|
|
2
|
+
let prefersMotion = true;
|
|
3
|
+
if (windowExists) {
|
|
4
|
+
const query = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
5
|
+
const callback = ({ matches }) => prefersMotion = !matches;
|
|
6
|
+
// older browsers don't support the new API, and the old API is deprecated
|
|
7
|
+
if (query.addEventListener)
|
|
8
|
+
query.addEventListener('change', callback);
|
|
9
|
+
callback(query);
|
|
10
|
+
}
|
|
11
|
+
const removeTransition = el => {
|
|
12
|
+
el.style.transition = null;
|
|
13
|
+
el.style.backfaceVisibility = null;
|
|
14
|
+
el.style.overflow = null;
|
|
15
|
+
};
|
|
16
|
+
const addTransition = (el) => {
|
|
17
|
+
// we set timing to something insanely short
|
|
18
|
+
// when reducing motion so the after-* hooks still fire
|
|
19
|
+
const timing = 'var(--w-expansion-duration, var(--f-expansion-duration, 0.3s))';
|
|
20
|
+
el.style.transition = `height ${timing}`;
|
|
21
|
+
el.style.backfaceVisibility = 'hidden';
|
|
22
|
+
el.style.overflow = 'hidden';
|
|
23
|
+
};
|
|
24
|
+
const getAfterExpandCallback = (el, done) => () => {
|
|
25
|
+
el.style.height = 'auto';
|
|
26
|
+
el.style.overflow = null;
|
|
27
|
+
if (done)
|
|
28
|
+
done();
|
|
29
|
+
};
|
|
30
|
+
const getAfterCollapseCallback = (done) => () => {
|
|
31
|
+
if (done)
|
|
32
|
+
done();
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Transitions an element from 0 to a detected height
|
|
36
|
+
* Will return a Promise when no 'done' callback is provided
|
|
37
|
+
* @type {(el: HTMLElement, done?: function) => void | Promise<void>}
|
|
38
|
+
*/
|
|
39
|
+
export const expand = (el, done) => {
|
|
40
|
+
const returnPromise = (() => {
|
|
41
|
+
if (!done)
|
|
42
|
+
return new Promise(r => { done = r; });
|
|
43
|
+
})();
|
|
44
|
+
if (!prefersMotion) {
|
|
45
|
+
el.style.height = 'auto';
|
|
46
|
+
if (done)
|
|
47
|
+
done();
|
|
48
|
+
return returnPromise;
|
|
49
|
+
}
|
|
50
|
+
const afterExpandCallback = getAfterExpandCallback(el, done);
|
|
51
|
+
removeTransition(el);
|
|
52
|
+
el.style.height = 'auto';
|
|
53
|
+
const dest = el.scrollHeight;
|
|
54
|
+
windowExists && requestAnimationFrame(() => {
|
|
55
|
+
el.addEventListener('transitionend', afterExpandCallback, { once: true });
|
|
56
|
+
el.style.height = '0px';
|
|
57
|
+
el.style.transitionTimingFunction = 'ease-out';
|
|
58
|
+
addTransition(el);
|
|
59
|
+
requestAnimationFrame(() => el.style.height = dest + 'px');
|
|
60
|
+
});
|
|
61
|
+
if (returnPromise)
|
|
62
|
+
return returnPromise;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Transitions an element from a detected height to 0
|
|
66
|
+
* Will return a Promise when no 'done' callback is provided
|
|
67
|
+
* @type {(el: HTMLElement, done?: function) => void | Promise<void>}
|
|
68
|
+
*/
|
|
69
|
+
export const collapse = (el, done) => {
|
|
70
|
+
const returnPromise = (() => {
|
|
71
|
+
if (!done)
|
|
72
|
+
return new Promise(r => { done = r; });
|
|
73
|
+
})();
|
|
74
|
+
if (!prefersMotion) {
|
|
75
|
+
el.style.height = '0px';
|
|
76
|
+
if (done)
|
|
77
|
+
done();
|
|
78
|
+
return returnPromise;
|
|
79
|
+
}
|
|
80
|
+
const afterCollapseCallback = getAfterCollapseCallback(done);
|
|
81
|
+
removeTransition(el);
|
|
82
|
+
const original = el.scrollHeight;
|
|
83
|
+
windowExists && requestAnimationFrame(() => {
|
|
84
|
+
el.addEventListener('transitionend', afterCollapseCallback, { once: true });
|
|
85
|
+
el.style.height = original + 'px';
|
|
86
|
+
el.style.transitionTimingFunction = 'ease-in';
|
|
87
|
+
addTransition(el);
|
|
88
|
+
requestAnimationFrame(() => el.style.height = '0px');
|
|
89
|
+
});
|
|
90
|
+
if (returnPromise)
|
|
91
|
+
return returnPromise;
|
|
92
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { collapse, expand } from 'element-collapse';
|
|
2
1
|
import { css, html, LitElement } from 'lit';
|
|
3
2
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
3
|
+
import { collapse, expand } from './element-collapse.js';
|
|
4
4
|
class ExpandTransition extends LitElement {
|
|
5
5
|
static { this.properties = {
|
|
6
6
|
show: {
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@warp-ds/elements",
|
|
4
|
-
"version": "2.10.0-next.
|
|
4
|
+
"version": "2.10.0-next.14",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -2356,6 +2356,58 @@
|
|
|
2356
2356
|
"events": []
|
|
2357
2357
|
}
|
|
2358
2358
|
},
|
|
2359
|
+
{
|
|
2360
|
+
"name": "w-snackbar-item",
|
|
2361
|
+
"description": "An item to show in a `w-snackbar`.\n\nSee the `create` function on `w-snackbar` for a convenience API which helps you make snackbar items.\n---\n\n\n### **Methods:**\n - **close(): _void_** - Remove the snackbar item from the document.\n\nMoves focus to the last focused element outside of the snackbar item, if available.\n\n### **Slots:**\n - **default** - the snackbar message.\n- **icon** - icon preceeding the message.\n- **action** - action following the message.\n\n### **CSS Properties:**\n - **--w-c-snackbar-item-radius** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-max-width** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-min-width** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-padding** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-bg** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-action-bg-active** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-action-bg-hover** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-color** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-action-color-active** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-action-color-hover** - undefined _(default: undefined)_\n- **--w-c-snackbar-item-box-shadow** - undefined _(default: undefined)_\n\n### **CSS Parts:**\n - **item** - the container wrapping the message, icon and actions.\n- **icon** - the icon for the variant.\n- **message** - the default slot, body of the snackbar item.\n- **action** - close and action button.",
|
|
2362
|
+
"doc-url": "",
|
|
2363
|
+
"attributes": [
|
|
2364
|
+
{
|
|
2365
|
+
"name": "action-placement",
|
|
2366
|
+
"description": "The placement of the action and close buttons.",
|
|
2367
|
+
"value": { "type": "'inline' | 'block'", "default": "'inline'" }
|
|
2368
|
+
},
|
|
2369
|
+
{
|
|
2370
|
+
"name": "duration",
|
|
2371
|
+
"description": "How long the message should stay in the document before removing itself.",
|
|
2372
|
+
"value": { "type": "number" }
|
|
2373
|
+
}
|
|
2374
|
+
],
|
|
2375
|
+
"slots": [
|
|
2376
|
+
{ "name": "default", "description": "the snackbar message." },
|
|
2377
|
+
{ "name": "icon", "description": "icon preceeding the message." },
|
|
2378
|
+
{ "name": "action", "description": "action following the message." }
|
|
2379
|
+
],
|
|
2380
|
+
"events": [],
|
|
2381
|
+
"js": {
|
|
2382
|
+
"properties": [
|
|
2383
|
+
{
|
|
2384
|
+
"name": "actionPlacement",
|
|
2385
|
+
"description": "The placement of the action and close buttons.",
|
|
2386
|
+
"type": "'inline' | 'block'"
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"name": "duration",
|
|
2390
|
+
"description": "How long the message should stay in the document before removing itself.",
|
|
2391
|
+
"type": "number"
|
|
2392
|
+
}
|
|
2393
|
+
],
|
|
2394
|
+
"events": []
|
|
2395
|
+
}
|
|
2396
|
+
},
|
|
2397
|
+
{
|
|
2398
|
+
"name": "w-snackbar",
|
|
2399
|
+
"description": "A Snackbar shows brief user feedback messages that overlay content, with an optional action such as Undo.\n\nInclude one `<w-snackbar></w-snackbar>` in the document `<body>`. Use the `create` function to create messages.\n---\n\n\n### **Methods:**\n - **create(message: _string_, options: _CreateSnackbarOptions_): __** - Creates a snackbar item and immediately adds it to the snackbar.\n\nBy default the snackbar item automatically closes after 4 seconds (`SnackbarDuration.Short`).\n\nIf you include an `action` in the options the default `duration` is\nset to 10 seconds (`SnackbarDuration.Long`) and can not be made shorter. \n\nA `duration` of 10 seconds or longer forces the close button to be visible.\n\nThe default `variant` is `neutral` which does not have an icon.\n\nSet `duration` to `SnackbarDuration.Infinite` if you want a persistent message.\n\n### **Slots:**\n - **default** - `w-snackbar-item` gets placed inside the default slot by the `create` function.\n\n### **CSS Properties:**\n - **--w-c-snackbar-container-gap** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-bottom** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-left** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-right** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-top** - undefined _(default: undefined)_\n- **--w-c-snackbar-z-index** - undefined _(default: undefined)_\n\n### **CSS Parts:**\n - **container** - the live region that positions messages on the screen.",
|
|
2400
|
+
"doc-url": "",
|
|
2401
|
+
"attributes": [],
|
|
2402
|
+
"slots": [
|
|
2403
|
+
{
|
|
2404
|
+
"name": "default",
|
|
2405
|
+
"description": "`w-snackbar-item` gets placed inside the default slot by the `create` function."
|
|
2406
|
+
}
|
|
2407
|
+
],
|
|
2408
|
+
"events": [],
|
|
2409
|
+
"js": { "properties": [], "events": [] }
|
|
2410
|
+
},
|
|
2359
2411
|
{
|
|
2360
2412
|
"name": "w-step",
|
|
2361
2413
|
"description": "Individual step component that shows a single step in a process\n---\n",
|
|
@@ -2732,8 +2784,41 @@
|
|
|
2732
2784
|
]
|
|
2733
2785
|
},
|
|
2734
2786
|
"css": {
|
|
2735
|
-
"properties": [
|
|
2736
|
-
|
|
2787
|
+
"properties": [
|
|
2788
|
+
{ "name": "--w-c-snackbar-item-radius" },
|
|
2789
|
+
{ "name": "--w-c-snackbar-item-max-width" },
|
|
2790
|
+
{ "name": "--w-c-snackbar-item-min-width" },
|
|
2791
|
+
{ "name": "--w-c-snackbar-item-padding" },
|
|
2792
|
+
{ "name": "--w-c-snackbar-item-bg" },
|
|
2793
|
+
{ "name": "--w-c-snackbar-item-action-bg-active" },
|
|
2794
|
+
{ "name": "--w-c-snackbar-item-action-bg-hover" },
|
|
2795
|
+
{ "name": "--w-c-snackbar-item-color" },
|
|
2796
|
+
{ "name": "--w-c-snackbar-item-action-color-active" },
|
|
2797
|
+
{ "name": "--w-c-snackbar-item-action-color-hover" },
|
|
2798
|
+
{ "name": "--w-c-snackbar-item-box-shadow" },
|
|
2799
|
+
{ "name": "--w-c-snackbar-container-gap" },
|
|
2800
|
+
{ "name": "--w-c-snackbar-position-bottom" },
|
|
2801
|
+
{ "name": "--w-c-snackbar-position-left" },
|
|
2802
|
+
{ "name": "--w-c-snackbar-position-right" },
|
|
2803
|
+
{ "name": "--w-c-snackbar-position-top" },
|
|
2804
|
+
{ "name": "--w-c-snackbar-z-index" }
|
|
2805
|
+
],
|
|
2806
|
+
"pseudo-elements": [
|
|
2807
|
+
{
|
|
2808
|
+
"name": "part(item)",
|
|
2809
|
+
"description": "the container wrapping the message, icon and actions."
|
|
2810
|
+
},
|
|
2811
|
+
{ "name": "part(icon)", "description": "the icon for the variant." },
|
|
2812
|
+
{
|
|
2813
|
+
"name": "part(message)",
|
|
2814
|
+
"description": "the default slot, body of the snackbar item."
|
|
2815
|
+
},
|
|
2816
|
+
{ "name": "part(action)", "description": "close and action button." },
|
|
2817
|
+
{
|
|
2818
|
+
"name": "part(container)",
|
|
2819
|
+
"description": "the live region that positions messages on the screen."
|
|
2820
|
+
}
|
|
2821
|
+
]
|
|
2737
2822
|
}
|
|
2738
2823
|
}
|
|
2739
2824
|
}
|