@swiftwc/ui 0.0.0-dev.1 → 0.0.0-dev.101
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/README.md +15 -0
- package/generated/buses/alert-dialog.d.ts +2 -0
- package/generated/buses/alert-dialog.js +1 -0
- package/generated/buses/confirmation-dialog.d.ts +2 -0
- package/generated/buses/confirmation-dialog.js +1 -0
- package/generated/buses/index.d.ts +6 -0
- package/generated/buses/index.js +6 -0
- package/generated/buses/lifecycle-observer.d.ts +2 -0
- package/generated/buses/lifecycle-observer.js +1 -0
- package/generated/client/index.d.ts +30 -2
- package/generated/client/index.js +279 -8
- package/generated/components/alert-dialog.d.ts +11 -0
- package/generated/components/alert-dialog.js +102 -0
- package/generated/components/body-view.d.ts +13 -0
- package/generated/components/body-view.js +17 -0
- package/generated/components/bordered-button.d.ts +17 -0
- package/generated/components/bordered-button.js +56 -0
- package/generated/components/bordered-prominent-button.d.ts +17 -0
- package/generated/components/bordered-prominent-button.js +56 -0
- package/generated/components/borderless-button.d.ts +17 -0
- package/generated/components/borderless-button.js +56 -0
- package/generated/components/color-scheme.d.ts +12 -0
- package/generated/components/color-scheme.js +54 -0
- package/generated/components/confirmation-dialog.d.ts +12 -0
- package/generated/components/confirmation-dialog.js +116 -0
- package/generated/components/content-unavailable.d.ts +30 -0
- package/generated/components/content-unavailable.js +82 -0
- package/generated/components/date-picker.d.ts +52 -0
- package/generated/components/date-picker.js +480 -0
- package/generated/components/detail-placeholder.d.ts +11 -0
- package/generated/components/detail-placeholder.js +19 -0
- package/generated/components/disclosure-group.d.ts +17 -0
- package/generated/components/disclosure-group.js +66 -0
- package/generated/components/fine-tooltip.d.ts +15 -0
- package/generated/components/fine-tooltip.js +111 -0
- package/generated/components/form-view.d.ts +16 -0
- package/generated/components/form-view.js +65 -0
- package/generated/components/glass-button.d.ts +16 -0
- package/generated/components/glass-button.js +53 -0
- package/generated/components/glass-prominent-button.d.ts +16 -0
- package/generated/components/glass-prominent-button.js +53 -0
- package/generated/components/h-stack.d.ts +22 -0
- package/generated/components/h-stack.js +26 -0
- package/generated/components/image-view.d.ts +18 -0
- package/generated/components/image-view.js +68 -0
- package/generated/components/index.d.ts +49 -1
- package/generated/components/index.js +49 -6
- package/generated/components/label-view.d.ts +27 -0
- package/generated/components/label-view.js +87 -0
- package/generated/components/labeled-content.d.ts +33 -0
- package/generated/components/labeled-content.js +163 -0
- package/generated/components/list-view.d.ts +18 -0
- package/generated/components/list-view.js +25 -0
- package/generated/components/menu-view.d.ts +20 -0
- package/generated/components/menu-view.js +140 -0
- package/generated/components/navigation-large-title.d.ts +18 -0
- package/generated/components/navigation-large-title.js +188 -0
- package/generated/components/navigation-split-view.d.ts +15 -0
- package/generated/components/navigation-split-view.js +25 -0
- package/generated/components/navigation-stack.d.ts +15 -0
- package/generated/components/navigation-stack.js +29 -0
- package/generated/components/navigation-title.d.ts +18 -0
- package/generated/components/navigation-title.js +72 -0
- package/generated/components/picker-view.d.ts +68 -0
- package/generated/components/picker-view.js +1153 -0
- package/generated/components/plain-button.d.ts +7 -0
- package/generated/components/plain-button.js +22 -0
- package/generated/components/progress-view.d.ts +20 -0
- package/generated/components/progress-view.js +125 -0
- package/generated/components/screen-view.d.ts +5 -0
- package/generated/components/screen-view.js +11 -0
- package/generated/components/scroll-view-proxy.d.ts +13 -0
- package/generated/components/scroll-view-proxy.js +17 -0
- package/generated/components/scroll-view.d.ts +22 -0
- package/generated/components/scroll-view.js +237 -0
- package/generated/components/search-view.d.ts +12 -0
- package/generated/components/search-view.js +27 -0
- package/generated/components/section-view.d.ts +21 -0
- package/generated/components/section-view.js +64 -0
- package/generated/components/sheet-view.d.ts +11 -0
- package/generated/components/sheet-view.js +45 -0
- package/generated/components/sidebar-toggle.d.ts +15 -0
- package/generated/components/sidebar-toggle.js +88 -0
- package/generated/components/sidebar-view.d.ts +10 -0
- package/generated/components/sidebar-view.js +37 -0
- package/generated/components/sticky-container.d.ts +11 -0
- package/generated/components/sticky-container.js +26 -0
- package/generated/components/tab-bar.d.ts +10 -0
- package/generated/components/tab-bar.js +40 -0
- package/generated/components/tab-item.d.ts +10 -0
- package/generated/components/tab-item.js +134 -0
- package/generated/components/tab-view.d.ts +31 -0
- package/generated/components/tab-view.js +198 -0
- package/generated/components/table-view.d.ts +26 -0
- package/generated/components/table-view.js +161 -0
- package/generated/components/text-field.d.ts +42 -0
- package/generated/components/text-field.js +526 -0
- package/generated/components/text-view.d.ts +11 -0
- package/generated/components/text-view.js +19 -0
- package/generated/components/toggle-view.d.ts +43 -0
- package/generated/components/toggle-view.js +371 -0
- package/generated/components/tool-bar-item-group.d.ts +13 -0
- package/generated/components/tool-bar-item-group.js +31 -0
- package/generated/components/tool-bar-item.d.ts +16 -0
- package/generated/components/tool-bar-item.js +69 -0
- package/generated/components/tool-bar.d.ts +26 -0
- package/generated/components/tool-bar.js +95 -0
- package/generated/components/v-keyboard.d.ts +18 -0
- package/generated/components/v-keyboard.js +87 -0
- package/generated/components/v-stack.d.ts +25 -0
- package/generated/components/v-stack.js +29 -0
- package/generated/css/index.css +10732 -0
- package/generated/events/alert-dialog.d.ts +13 -0
- package/generated/events/alert-dialog.js +1 -0
- package/generated/events/confirmation-dialog.d.ts +14 -0
- package/generated/events/confirmation-dialog.js +1 -0
- package/generated/events/date-picker.d.ts +13 -0
- package/generated/events/date-picker.js +1 -0
- package/generated/events/index.d.ts +9 -0
- package/generated/events/index.js +9 -0
- package/generated/events/lifecycle-observer.d.ts +18 -0
- package/generated/events/lifecycle-observer.js +1 -0
- package/generated/events/picker-view.d.ts +29 -0
- package/generated/events/picker-view.js +1 -0
- package/generated/events/scroll-view.d.ts +18 -0
- package/generated/events/scroll-view.js +1 -0
- package/generated/events/tab-view.d.ts +54 -0
- package/generated/events/tab-view.js +1 -0
- package/generated/events/text-field.d.ts +13 -0
- package/generated/events/text-field.js +1 -0
- package/generated/events/toggle-view.d.ts +14 -0
- package/generated/events/toggle-view.js +1 -0
- package/generated/i18n/index.d.ts +33 -0
- package/generated/i18n/index.js +164 -0
- package/generated/i18n/locales/el.d.ts +16 -0
- package/generated/i18n/locales/el.js +16 -0
- package/generated/i18n/locales/en.d.ts +16 -0
- package/generated/i18n/locales/en.js +16 -0
- package/generated/i18n/locales/index.d.ts +4 -0
- package/generated/i18n/locales/index.js +4 -0
- package/generated/index.js +1 -1
- package/generated/internal/class/cleanup-registry.d.ts +5 -0
- package/generated/internal/class/cleanup-registry.js +38 -0
- package/generated/internal/class/css-style-observer.d.ts +8 -0
- package/generated/internal/class/css-style-observer.js +26 -0
- package/generated/internal/class/form-associated-base.d.ts +16 -0
- package/generated/internal/class/form-associated-base.js +78 -0
- package/generated/internal/class/mutation-observer-set.d.ts +9 -0
- package/generated/internal/class/mutation-observer-set.js +42 -0
- package/generated/internal/class/mutation-observer-singleton.d.ts +10 -0
- package/generated/internal/class/mutation-observer-singleton.js +64 -0
- package/generated/internal/class/navigation-path.d.ts +15 -0
- package/generated/internal/class/navigation-path.js +84 -0
- package/generated/internal/class/navigation-view.d.ts +8 -0
- package/generated/internal/class/navigation-view.js +72 -0
- package/generated/internal/class/resize-observer-singleton.d.ts +7 -0
- package/generated/internal/class/resize-observer-singleton.js +22 -0
- package/generated/internal/decorators/adaptive-slot.d.ts +1 -0
- package/generated/internal/decorators/adaptive-slot.js +50 -0
- package/generated/internal/decorators/custom-element.d.ts +5 -0
- package/generated/internal/decorators/custom-element.js +5 -0
- package/generated/internal/decorators/index.d.ts +6 -0
- package/generated/internal/decorators/index.js +6 -0
- package/generated/internal/decorators/microtask-on-connected.d.ts +39 -0
- package/generated/internal/decorators/microtask-on-connected.js +67 -0
- package/generated/internal/privateNamespace.d.ts +14 -0
- package/generated/internal/privateNamespace.js +168 -0
- package/generated/internal/utils/add.d.ts +1 -0
- package/generated/internal/utils/add.js +7 -0
- package/generated/internal/utils/cash/ancestors.d.ts +1 -0
- package/generated/internal/utils/cash/ancestors.js +27 -0
- package/generated/internal/utils/cash/index.d.ts +24 -0
- package/generated/internal/utils/cash/index.js +27 -0
- package/generated/internal/utils/cash/next-all.d.ts +1 -0
- package/generated/internal/utils/cash/next-all.js +10 -0
- package/generated/internal/utils/cash/next.d.ts +1 -0
- package/generated/internal/utils/cash/next.js +9 -0
- package/generated/internal/utils/cash/prev-all.d.ts +1 -0
- package/generated/internal/utils/cash/prev-all.js +10 -0
- package/generated/internal/utils/cash/prev.d.ts +1 -0
- package/generated/internal/utils/cash/prev.js +9 -0
- package/generated/internal/utils/cash/prop.d.ts +18 -0
- package/generated/internal/utils/cash/prop.js +30 -0
- package/generated/internal/utils/cash/siblings.d.ts +1 -0
- package/generated/internal/utils/cash/siblings.js +10 -0
- package/generated/internal/utils/clamp.d.ts +1 -0
- package/generated/internal/utils/clamp.js +4 -0
- package/generated/internal/utils/compare-big-decimals.d.ts +1 -0
- package/generated/internal/utils/compare-big-decimals.js +80 -0
- package/generated/internal/utils/css-time.d.ts +1 -0
- package/generated/internal/utils/css-time.js +3 -0
- package/generated/internal/utils/debounce.d.ts +1 -0
- package/generated/internal/utils/debounce.js +13 -0
- package/generated/internal/utils/define-translations.d.ts +1 -0
- package/generated/internal/utils/define-translations.js +3 -0
- package/generated/internal/utils/dev-flags.d.ts +3 -0
- package/generated/internal/utils/dev-flags.js +5 -0
- package/generated/internal/utils/ensure-placeholder.d.ts +1 -0
- package/generated/internal/utils/ensure-placeholder.js +41 -0
- package/generated/internal/utils/frame.d.ts +1 -0
- package/generated/internal/utils/frame.js +6 -0
- package/generated/internal/utils/index.d.ts +20 -1
- package/generated/internal/utils/index.js +23 -1
- package/generated/internal/utils/is-inside.d.ts +1 -0
- package/generated/internal/utils/is-inside.js +4 -0
- package/generated/internal/utils/kebab-case.d.ts +1 -1
- package/generated/internal/utils/kebab-case.js +6 -9
- package/generated/internal/utils/list-active.d.ts +7 -0
- package/generated/internal/utils/list-active.js +83 -0
- package/generated/internal/utils/microtask.d.ts +1 -0
- package/generated/internal/utils/microtask.js +3 -0
- package/generated/internal/utils/onoff.d.ts +45 -0
- package/generated/internal/utils/onoff.js +31 -0
- package/generated/internal/utils/set.d.ts +1 -0
- package/generated/internal/utils/set.js +7 -0
- package/generated/internal/utils/sleep.d.ts +1 -0
- package/generated/internal/utils/sleep.js +3 -0
- package/generated/internal/utils/slow-hide-show.d.ts +1 -0
- package/generated/internal/utils/slow-hide-show.js +16 -0
- package/generated/internal/utils/timeout.d.ts +5 -0
- package/generated/internal/utils/timeout.js +16 -0
- package/generated/internal/utils/touch-glass.d.ts +7 -0
- package/generated/internal/utils/touch-glass.js +19 -0
- package/generated/internal/vendor/morphdom.d.ts +6 -0
- package/generated/internal/vendor/morphdom.js +720 -0
- package/generated/morphdom/index.d.ts +8 -0
- package/generated/morphdom/index.js +8 -0
- package/generated/morphdom/morph.d.ts +4 -0
- package/generated/morphdom/morph.js +10 -0
- package/generated/morphdom/query-morph.d.ts +5 -0
- package/generated/morphdom/query-morph.js +12 -0
- package/generated/morphdom/render-to-string.d.ts +12 -0
- package/generated/morphdom/render-to-string.js +48 -0
- package/generated/morphdom/unsafe-html.d.ts +2 -0
- package/generated/morphdom/unsafe-html.js +4 -0
- package/generated/namespace-browser/base.d.ts +45 -0
- package/generated/namespace-browser/base.js +115 -0
- package/generated/namespace-browser/event.d.ts +10 -0
- package/generated/namespace-browser/event.js +1 -0
- package/generated/namespace-browser/index.d.ts +7 -0
- package/generated/namespace-browser/index.js +1 -0
- package/generated/snapshot/index.d.ts +9 -0
- package/generated/snapshot/index.js +60 -0
- package/generated/tpl/html.d.ts +5 -0
- package/generated/tpl/html.js +7 -0
- package/generated/tpl/index.d.ts +6 -0
- package/generated/tpl/index.js +6 -0
- package/generated/tpl/is-template-result.d.ts +3 -0
- package/generated/tpl/is-template-result.js +1 -0
- package/generated/tpl/render.d.ts +2 -0
- package/generated/tpl/render.js +132 -0
- package/package.json +49 -8
- package/scss/_base.scss +5 -0
- package/scss/_components.scss +90 -0
- package/scss/_final.scss +1 -0
- package/scss/_functions.scss +31 -0
- package/scss/_maps.scss +293 -0
- package/scss/_mixins.scss +7 -0
- package/scss/_placeholders.scss +3 -0
- package/scss/_transitions.scss +32 -0
- package/scss/_utils.scss +9 -0
- package/scss/_vars.scss +68 -0
- package/scss/base/_layout.scss +66 -0
- package/scss/base/_reboot.scss +191 -0
- package/scss/base/_root.scss +415 -0
- package/scss/colors/_index.scss +881 -0
- package/scss/components/_alert-dialog.scss +111 -0
- package/scss/components/_body-view.scss +17 -0
- package/scss/components/_bordered-button.scss +59 -0
- package/scss/components/_bordered-prominent-button.scss +65 -0
- package/scss/components/_borderless-button.scss +45 -0
- package/scss/components/_confirmation-dialog.scss +102 -0
- package/scss/components/_content-unavailable.scss +57 -0
- package/scss/components/_date-picker.scss +30 -0
- package/scss/components/_detail-placeholder.scss +153 -0
- package/scss/components/_disclosure-group.scss +179 -0
- package/scss/components/_fine-tooltip.scss +84 -0
- package/scss/components/_form-view.scss +234 -0
- package/scss/components/_full-screen.scss +15 -0
- package/scss/components/_glass-button.scss +61 -0
- package/scss/components/_glass-prominent-button.scss +71 -0
- package/scss/components/_group-box.scss +27 -0
- package/scss/components/_h-divider.scss +13 -0
- package/scss/components/_h-flex-stack.scss +23 -0
- package/scss/components/_h-stack.scss +28 -0
- package/scss/components/_image-view.scss +20 -0
- package/scss/components/_index.scss +272 -0
- package/scss/components/_label-view copy.scss.txt +420 -0
- package/scss/components/_label-view.scss +371 -0
- package/scss/components/_label-view.scss.txt +536 -0
- package/scss/components/_labeled-content.scss +75 -0
- package/scss/components/_list-view.scss +270 -0
- package/scss/components/_menu-view.scss +223 -0
- package/scss/components/_navigation-large-title.scss +44 -0
- package/scss/components/_navigation-split-view.scss +424 -0
- package/scss/components/_navigation-stack.scss +11 -0
- package/scss/components/_navigation-title.scss +10 -0
- package/scss/components/_picker-view.scss +329 -0
- package/scss/components/_plain-button.scss +19 -0
- package/scss/components/_progress-view.scss +98 -0
- package/scss/components/_scroll-view-proxy.scss +81 -0
- package/scss/components/_scroll-view-toolbars.scss +132 -0
- package/scss/components/_scroll-view.scss +134 -0
- package/scss/components/_search-view.scss +23 -0
- package/scss/components/_section-view.scss +120 -0
- package/scss/components/_sheet-view.scss +103 -0
- package/scss/components/_sidebar-toggle.scss +121 -0
- package/scss/components/_sidebar-view.scss +53 -0
- package/scss/components/_sticky-container.scss +42 -0
- package/scss/components/_tab-bar.scss +268 -0
- package/scss/components/_tab-item.scss +25 -0
- package/scss/components/_tab-view.scss +320 -0
- package/scss/components/_table-column.scss +54 -0
- package/scss/components/_table-row.scss +240 -0
- package/scss/components/_table-view.scss +232 -0
- package/scss/components/_text-field.scss +57 -0
- package/scss/components/_text-view.scss +57 -0
- package/scss/components/_toggle-view.scss +161 -0
- package/scss/components/_tool-bar-item-group.scss +48 -0
- package/scss/components/_tool-bar-item.scss +97 -0
- package/scss/components/_tool-bar.scss +153 -0
- package/scss/components/_v-divider.scss +13 -0
- package/scss/components/_v-flex-stack.scss +29 -0
- package/scss/components/_v-keyboard.scss +14 -0
- package/scss/components/_v-stack.scss +24 -0
- package/scss/final/_touch-glass.scss +98 -0
- package/scss/index.scss +18 -1
- package/scss/mixins/_button.scss +44 -0
- package/scss/mixins/_color.scss +16 -0
- package/scss/mixins/_dialog.scss +89 -0
- package/scss/mixins/_index.scss +473 -0
- package/scss/placeholders/_buttons.scss +118 -0
- package/scss/placeholders/_lists.scss +622 -0
- package/scss/transitions/_alert-dialog.scss +18 -0
- package/scss/transitions/_bwd.navbar.scss +19 -0
- package/scss/transitions/_bwd.scss +39 -0
- package/scss/transitions/_confirmation-dialog.scss +27 -0
- package/scss/transitions/_disclosure-group.scss +35 -0
- package/scss/transitions/_fine-tooltip.scss +21 -0
- package/scss/transitions/_fwd.navbar.scss +41 -0
- package/scss/transitions/_fwd.scss +24 -0
- package/scss/transitions/_glass-button.scss +12 -0
- package/scss/transitions/_glass-prominent-button.scss +12 -0
- package/scss/transitions/_index.scss +74 -0
- package/scss/transitions/_menu-view.scss +28 -0
- package/scss/transitions/_navigation-split-view.scss +23 -0
- package/scss/transitions/_progress-view.scss +23 -0
- package/scss/transitions/_sheet-view.scss +30 -0
- package/scss/transitions/_sidebar-view.scss +36 -0
- package/scss/transitions/_tab-bar.scss +20 -0
- package/scss/utils/_frame.scss +103 -0
- package/scss/utils/_index.scss +54 -0
- package/scss/utils/_scroll-view.scss +14 -0
- package/scss/utils/_spacing.scss +25 -0
- package/scss/utils/_stacks.scss +112 -0
- package/web-components.css-data/en.json +28 -0
- package/web-components.html-data/en.json +2612 -0
- package/generated/internal/snapshot.d.ts +0 -5
- package/generated/internal/snapshot.js +0 -23
- package/generated/styles.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function (str:
|
|
1
|
+
export default function (str: string): string;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
export default function (str) {
|
|
2
|
-
return
|
|
3
|
-
// Replace uppercase letters with - + lowercase
|
|
4
|
-
.replace(/
|
|
5
|
-
//
|
|
6
|
-
.
|
|
7
|
-
//
|
|
8
|
-
.toLowerCase()
|
|
9
|
-
// Remove leading/trailing dashes
|
|
10
|
-
.replace(/^-+|-+$/g, ""));
|
|
2
|
+
return str
|
|
3
|
+
.replace(/([A-Z])/g, '-$1') // Replace uppercase letters with - + lowercase
|
|
4
|
+
.replace(/[\s_]+/g, '-') // Replace spaces and underscores with -
|
|
5
|
+
.replace(/-+/g, '-') // collapse any run of dashes into one
|
|
6
|
+
.toLowerCase() // Convert to lowercase
|
|
7
|
+
.replace(/^-+|-+$/g, ''); // Remove leading/trailing dashes
|
|
11
8
|
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const touchList = new WeakMap();
|
|
2
|
+
function onDown({ target }) {
|
|
3
|
+
if (!(target instanceof HTMLElement))
|
|
4
|
+
return;
|
|
5
|
+
const el = target.closest('button,summary');
|
|
6
|
+
if (!el)
|
|
7
|
+
return;
|
|
8
|
+
touchList.set(el, setTimeout(() => {
|
|
9
|
+
if (!touchList.has(el))
|
|
10
|
+
return;
|
|
11
|
+
el.classList.add('active');
|
|
12
|
+
}, 70));
|
|
13
|
+
el.addEventListener('pointerleave', onLeave, { once: true, passive: true });
|
|
14
|
+
el.closest('scroll-view')?.addEventListener('scroll', onScroll, { once: true, passive: true });
|
|
15
|
+
}
|
|
16
|
+
function onOver({ target, buttons }) {
|
|
17
|
+
if (!(target instanceof HTMLElement))
|
|
18
|
+
return;
|
|
19
|
+
const el = target.closest('button,summary');
|
|
20
|
+
if (!el)
|
|
21
|
+
return;
|
|
22
|
+
if (0 === buttons)
|
|
23
|
+
return;
|
|
24
|
+
el.classList.add('active');
|
|
25
|
+
el.removeEventListener('pointerover', onOver);
|
|
26
|
+
el.addEventListener('pointerleave', onLeave, { once: true, passive: true });
|
|
27
|
+
}
|
|
28
|
+
function onLeave({ target }) {
|
|
29
|
+
if (!(target instanceof HTMLElement))
|
|
30
|
+
return;
|
|
31
|
+
const el = target.closest('button,summary');
|
|
32
|
+
if (!el)
|
|
33
|
+
return;
|
|
34
|
+
el.addEventListener('pointerover', onOver, { once: true, passive: true });
|
|
35
|
+
// self.requestAnimationFrame(() => {
|
|
36
|
+
el.removeEventListener('pointerleave', onLeave);
|
|
37
|
+
el.closest('scroll-view')?.removeEventListener('scroll', onScroll);
|
|
38
|
+
el.classList.remove('active');
|
|
39
|
+
if (touchList.has(el))
|
|
40
|
+
clearTimeout(touchList.get(el));
|
|
41
|
+
touchList.delete(el);
|
|
42
|
+
// })
|
|
43
|
+
}
|
|
44
|
+
function onCancel({ target }) {
|
|
45
|
+
if (!(target instanceof HTMLElement))
|
|
46
|
+
return;
|
|
47
|
+
const el = target.closest('button,summary');
|
|
48
|
+
if (!el)
|
|
49
|
+
return;
|
|
50
|
+
// self.requestAnimationFrame(() => {
|
|
51
|
+
el.removeEventListener('pointerleave', onLeave);
|
|
52
|
+
el.removeEventListener('pointerover', onOver);
|
|
53
|
+
el.closest('scroll-view')?.removeEventListener('scroll', onScroll);
|
|
54
|
+
el.classList.remove('active');
|
|
55
|
+
if (touchList.has(el))
|
|
56
|
+
clearTimeout(touchList.get(el));
|
|
57
|
+
touchList.delete(el);
|
|
58
|
+
// })
|
|
59
|
+
}
|
|
60
|
+
function onScroll({ target }) {
|
|
61
|
+
if (!(target instanceof HTMLElement))
|
|
62
|
+
return;
|
|
63
|
+
for (const el of target.querySelectorAll('button,summary') ?? []) {
|
|
64
|
+
el.classList.remove('active');
|
|
65
|
+
if (touchList.has(el))
|
|
66
|
+
clearTimeout(touchList.get(el));
|
|
67
|
+
touchList.delete(el);
|
|
68
|
+
el.removeEventListener('pointerleave', onLeave);
|
|
69
|
+
el.removeEventListener('pointerover', onOver);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const makePointerdownHandler = (target) => {
|
|
73
|
+
return onDown;
|
|
74
|
+
}, makePointerCancelHandler = (target) => {
|
|
75
|
+
return onCancel;
|
|
76
|
+
};
|
|
77
|
+
export default function (t) {
|
|
78
|
+
const downListener = makePointerdownHandler(t), offListener = makePointerCancelHandler(t);
|
|
79
|
+
return [
|
|
80
|
+
{ types: 'pointerdown', listener: downListener, addOptions: { passive: true } },
|
|
81
|
+
{ types: 'pointerup pointercancel', listener: offListener, addOptions: { passive: true } },
|
|
82
|
+
];
|
|
83
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): Promise<void>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* const el = document.querySelector('button')!
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* // 1. Single — no event arg
|
|
6
|
+
* onoff('click', () => console.log('clicked'), el)
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // 2. Single — with event arg
|
|
10
|
+
* onoff('click', (e) => console.log(e.target), el)
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // 3. Single — with options
|
|
14
|
+
* onoff('click', (e) => console.log(e), el, { passive: true, once: true })
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // 4. Single — capture as boolean
|
|
18
|
+
* onoff('click', (e) => console.log(e), el, true)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // 5. Array — shared t
|
|
22
|
+
* onoff([
|
|
23
|
+
* { types: 'click', listener: (e) => console.log('click', e) },
|
|
24
|
+
* { types: 'mouseover mouseout', listener: (e) => console.log('hover', e) },
|
|
25
|
+
* ], el)
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // 6. Using on/off
|
|
29
|
+
* const { on, off } = onoff('scroll', (e) => console.log(e), el, { passive: true })
|
|
30
|
+
* on() // start listening
|
|
31
|
+
* off() // stop listening
|
|
32
|
+
*/
|
|
33
|
+
type Options = boolean | AddEventListenerOptions;
|
|
34
|
+
interface EventConfig {
|
|
35
|
+
types: string;
|
|
36
|
+
listener: EventListener;
|
|
37
|
+
addOptions?: Options;
|
|
38
|
+
}
|
|
39
|
+
declare function single(types: string, listener: EventListener, t?: EventTarget, addOptions?: Options): {
|
|
40
|
+
on: () => () => void;
|
|
41
|
+
off: () => void;
|
|
42
|
+
};
|
|
43
|
+
export default function (configs: EventConfig[], t?: EventTarget): ReturnType<typeof single>;
|
|
44
|
+
export default function (types: string, listener: EventListener, t?: EventTarget, addOptions?: Options): ReturnType<typeof single>;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
function single(types, listener, t, addOptions) {
|
|
2
|
+
const events = types?.split(' ');
|
|
3
|
+
const removeOptions = typeof addOptions === 'boolean' ? addOptions : addOptions !== undefined && 'capture' in addOptions ? { capture: addOptions.capture } : undefined;
|
|
4
|
+
const off = () => {
|
|
5
|
+
for (const event of events)
|
|
6
|
+
t?.removeEventListener(event, listener, removeOptions);
|
|
7
|
+
}, on = () => {
|
|
8
|
+
for (const event of events)
|
|
9
|
+
t?.addEventListener(event, listener, addOptions);
|
|
10
|
+
return off;
|
|
11
|
+
};
|
|
12
|
+
return {
|
|
13
|
+
on,
|
|
14
|
+
off,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export default function (typesOrConfigs, listenerOrT, t, addOptions) {
|
|
18
|
+
if (Array.isArray(typesOrConfigs)) {
|
|
19
|
+
const element = listenerOrT, results = typesOrConfigs.map((c) => single(c.types, c.listener, element, c.addOptions)); //, c.t ?? element, c.addOptions))
|
|
20
|
+
const off = () => results.forEach((r) => r.off()), on = () => {
|
|
21
|
+
for (const r of results)
|
|
22
|
+
r.on();
|
|
23
|
+
return off;
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
on,
|
|
27
|
+
off,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return single(typesOrConfigs, listenerOrT, t, addOptions);
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function <T extends object, K extends keyof T>(obj: T, key: K, value: T[K]): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (ms: number): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (to: 'show' | 'hide', el?: HTMLElement): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import frame from './frame';
|
|
2
|
+
export default function (to, el) {
|
|
3
|
+
const transcleanup = ({ propertyName }) => {
|
|
4
|
+
if ('opacity' !== propertyName)
|
|
5
|
+
return;
|
|
6
|
+
el?.removeAttribute('slow');
|
|
7
|
+
};
|
|
8
|
+
for (const eventType of ['transitionend', 'transitioncancel'])
|
|
9
|
+
el?.addEventListener(eventType, transcleanup, {
|
|
10
|
+
once: true,
|
|
11
|
+
});
|
|
12
|
+
el?.setAttribute('slow', '');
|
|
13
|
+
frame(el).then(() => {
|
|
14
|
+
el?.setAttribute('slow', to);
|
|
15
|
+
}); //self.requestAnimationFrame(() => el?.setAttribute('slow', to))
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default function () {
|
|
2
|
+
let id;
|
|
3
|
+
const cancel = () => {
|
|
4
|
+
if (!id)
|
|
5
|
+
return;
|
|
6
|
+
self.clearTimeout(id);
|
|
7
|
+
id = undefined;
|
|
8
|
+
}, next = (fn, ms) => {
|
|
9
|
+
cancel();
|
|
10
|
+
id = self.setTimeout(() => {
|
|
11
|
+
fn();
|
|
12
|
+
id = undefined;
|
|
13
|
+
}, ms);
|
|
14
|
+
}, pending = () => undefined !== id;
|
|
15
|
+
return { next, cancel, pending };
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const makePointerdownHandler = (target, targetCallback, checkCallback) => {
|
|
2
|
+
return function (evt) {
|
|
3
|
+
// if (event.pointerType !== 'touch') return
|
|
4
|
+
if (!checkCallback(evt))
|
|
5
|
+
return;
|
|
6
|
+
targetCallback(target).toggleAttribute('touch-glass', true);
|
|
7
|
+
};
|
|
8
|
+
}, makePointercancelHandler = (target, targetCallback) => {
|
|
9
|
+
return function (evt) {
|
|
10
|
+
targetCallback(target).toggleAttribute('touch-glass', false);
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default function (t, targetCallback, checkCallback) {
|
|
14
|
+
const downListener = makePointerdownHandler(t, targetCallback, checkCallback), cancelListener = makePointercancelHandler(t, targetCallback);
|
|
15
|
+
return [
|
|
16
|
+
{ types: 'pointerdown', listener: downListener, addOptions: { passive: true } },
|
|
17
|
+
{ types: 'pointerup pointercancel pointerleave', listener: cancelListener, addOptions: { passive: true } },
|
|
18
|
+
];
|
|
19
|
+
}
|