ember-primitives 0.40.0 → 0.42.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/README.md +91 -0
- package/declarations/-private.d.ts +1 -0
- package/declarations/-private.d.ts.map +1 -0
- package/declarations/color-scheme.d.ts +1 -0
- package/declarations/color-scheme.d.ts.map +1 -0
- package/declarations/components/-private/typed-elements.d.ts +1 -0
- package/declarations/components/-private/typed-elements.d.ts.map +1 -0
- package/declarations/components/-private/utils.d.ts +1 -0
- package/declarations/components/-private/utils.d.ts.map +1 -0
- package/declarations/components/accordion/content.d.ts +1 -0
- package/declarations/components/accordion/content.d.ts.map +1 -0
- package/declarations/components/accordion/header.d.ts +1 -0
- package/declarations/components/accordion/header.d.ts.map +1 -0
- package/declarations/components/accordion/item.d.ts +1 -0
- package/declarations/components/accordion/item.d.ts.map +1 -0
- package/declarations/components/accordion/public.d.ts +1 -0
- package/declarations/components/accordion/public.d.ts.map +1 -0
- package/declarations/components/accordion/trigger.d.ts +1 -0
- package/declarations/components/accordion/trigger.d.ts.map +1 -0
- package/declarations/components/accordion.d.ts +1 -0
- package/declarations/components/accordion.d.ts.map +1 -0
- package/declarations/components/avatar.d.ts +1 -0
- package/declarations/components/avatar.d.ts.map +1 -0
- package/declarations/components/dialog.d.ts +1 -0
- package/declarations/components/dialog.d.ts.map +1 -0
- package/declarations/components/external-link.d.ts +1 -0
- package/declarations/components/external-link.d.ts.map +1 -0
- package/declarations/components/form.d.ts +1 -0
- package/declarations/components/form.d.ts.map +1 -0
- package/declarations/components/keys.d.ts +1 -0
- package/declarations/components/keys.d.ts.map +1 -0
- package/declarations/components/layout/hero.d.ts +1 -0
- package/declarations/components/layout/hero.d.ts.map +1 -0
- package/declarations/components/layout/sticky-footer.d.ts +1 -0
- package/declarations/components/layout/sticky-footer.d.ts.map +1 -0
- package/declarations/components/link.d.ts +1 -0
- package/declarations/components/link.d.ts.map +1 -0
- package/declarations/components/menu.d.ts +1 -0
- package/declarations/components/menu.d.ts.map +1 -0
- package/declarations/components/one-time-password/buttons.d.ts +1 -0
- package/declarations/components/one-time-password/buttons.d.ts.map +1 -0
- package/declarations/components/one-time-password/index.d.ts +1 -0
- package/declarations/components/one-time-password/index.d.ts.map +1 -0
- package/declarations/components/one-time-password/input.d.ts +1 -0
- package/declarations/components/one-time-password/input.d.ts.map +1 -0
- package/declarations/components/one-time-password/otp.d.ts +1 -0
- package/declarations/components/one-time-password/otp.d.ts.map +1 -0
- package/declarations/components/one-time-password/utils.d.ts +1 -0
- package/declarations/components/one-time-password/utils.d.ts.map +1 -0
- package/declarations/components/popover.d.ts +1 -0
- package/declarations/components/popover.d.ts.map +1 -0
- package/declarations/components/portal-targets.d.ts +1 -0
- package/declarations/components/portal-targets.d.ts.map +1 -0
- package/declarations/components/portal.d.ts +1 -0
- package/declarations/components/portal.d.ts.map +1 -0
- package/declarations/components/progress.d.ts +1 -0
- package/declarations/components/progress.d.ts.map +1 -0
- package/declarations/components/rating/index.d.ts +1 -0
- package/declarations/components/rating/index.d.ts.map +1 -0
- package/declarations/components/rating/public-types.d.ts +1 -0
- package/declarations/components/rating/public-types.d.ts.map +1 -0
- package/declarations/components/rating/range.d.ts +1 -0
- package/declarations/components/rating/range.d.ts.map +1 -0
- package/declarations/components/rating/stars.d.ts +1 -0
- package/declarations/components/rating/stars.d.ts.map +1 -0
- package/declarations/components/rating/state.d.ts +1 -0
- package/declarations/components/rating/state.d.ts.map +1 -0
- package/declarations/components/rating/utils.d.ts +1 -0
- package/declarations/components/rating/utils.d.ts.map +1 -0
- package/declarations/components/rating.d.ts +1 -0
- package/declarations/components/rating.d.ts.map +1 -0
- package/declarations/components/scroller.d.ts +1 -0
- package/declarations/components/scroller.d.ts.map +1 -0
- package/declarations/components/shadowed.d.ts +1 -0
- package/declarations/components/shadowed.d.ts.map +1 -0
- package/declarations/components/switch.d.ts +1 -0
- package/declarations/components/switch.d.ts.map +1 -0
- package/declarations/components/tabs.d.ts +233 -0
- package/declarations/components/tabs.d.ts.map +1 -0
- package/declarations/components/toggle-group.d.ts +1 -0
- package/declarations/components/toggle-group.d.ts.map +1 -0
- package/declarations/components/toggle.d.ts +1 -0
- package/declarations/components/toggle.d.ts.map +1 -0
- package/declarations/components/violations.css.d.ts +2 -0
- package/declarations/components/violations.css.d.ts.map +1 -0
- package/declarations/components/visually-hidden.d.ts +1 -0
- package/declarations/components/visually-hidden.d.ts.map +1 -0
- package/declarations/components/zoetrope/index.d.ts +1 -0
- package/declarations/components/zoetrope/index.d.ts.map +1 -0
- package/declarations/components/zoetrope/types.d.ts +1 -0
- package/declarations/components/zoetrope/types.d.ts.map +1 -0
- package/declarations/components/zoetrope.d.ts +1 -0
- package/declarations/components/zoetrope.d.ts.map +1 -0
- package/declarations/dom-context.d.ts +1 -0
- package/declarations/dom-context.d.ts.map +1 -0
- package/declarations/floating-ui/component.d.ts +1 -0
- package/declarations/floating-ui/component.d.ts.map +1 -0
- package/declarations/floating-ui/middleware.d.ts +1 -0
- package/declarations/floating-ui/middleware.d.ts.map +1 -0
- package/declarations/floating-ui/modifier.d.ts +1 -0
- package/declarations/floating-ui/modifier.d.ts.map +1 -0
- package/declarations/floating-ui.d.ts +1 -0
- package/declarations/floating-ui.d.ts.map +1 -0
- package/declarations/head.d.ts +1 -0
- package/declarations/head.d.ts.map +1 -0
- package/declarations/helpers/body-class.d.ts +1 -0
- package/declarations/helpers/body-class.d.ts.map +1 -0
- package/declarations/helpers/link.d.ts +1 -0
- package/declarations/helpers/link.d.ts.map +1 -0
- package/declarations/helpers/service.d.ts +1 -0
- package/declarations/helpers/service.d.ts.map +1 -0
- package/declarations/helpers.d.ts +1 -0
- package/declarations/helpers.d.ts.map +1 -0
- package/declarations/iframe.d.ts +1 -0
- package/declarations/iframe.d.ts.map +1 -0
- package/declarations/index.d.ts +1 -0
- package/declarations/index.d.ts.map +1 -0
- package/declarations/load.d.ts +1 -0
- package/declarations/load.d.ts.map +1 -0
- package/declarations/narrowing.d.ts +1 -0
- package/declarations/narrowing.d.ts.map +1 -0
- package/declarations/on-resize.d.ts +2 -12
- package/declarations/on-resize.d.ts.map +1 -0
- package/declarations/proper-links.d.ts +1 -0
- package/declarations/proper-links.d.ts.map +1 -0
- package/declarations/qp.d.ts +1 -0
- package/declarations/qp.d.ts.map +1 -0
- package/declarations/resize-observer.d.ts +52 -0
- package/declarations/resize-observer.d.ts.map +1 -0
- package/declarations/store.d.ts +1 -0
- package/declarations/store.d.ts.map +1 -0
- package/declarations/styles.css.d.ts +1 -0
- package/declarations/styles.css.d.ts.map +1 -0
- package/declarations/tabster.d.ts +1 -0
- package/declarations/tabster.d.ts.map +1 -0
- package/declarations/template-registry.d.ts +1 -0
- package/declarations/template-registry.d.ts.map +1 -0
- package/declarations/test-support/a11y.d.ts +1 -0
- package/declarations/test-support/a11y.d.ts.map +1 -0
- package/declarations/test-support/index.d.ts +1 -0
- package/declarations/test-support/index.d.ts.map +1 -0
- package/declarations/test-support/otp.d.ts +1 -0
- package/declarations/test-support/otp.d.ts.map +1 -0
- package/declarations/test-support/rating.d.ts +1 -0
- package/declarations/test-support/rating.d.ts.map +1 -0
- package/declarations/test-support/routing.d.ts +1 -0
- package/declarations/test-support/routing.d.ts.map +1 -0
- package/declarations/test-support/zoetrope.d.ts +1 -0
- package/declarations/test-support/zoetrope.d.ts.map +1 -0
- package/declarations/type-utils.d.ts +1 -0
- package/declarations/type-utils.d.ts.map +1 -0
- package/declarations/utils.d.ts +25 -0
- package/declarations/utils.d.ts.map +1 -0
- package/dist/-private.js +1 -0
- package/dist/-private.js.map +1 -1
- package/dist/color-scheme.js +1 -0
- package/dist/color-scheme.js.map +1 -1
- package/dist/components/-private/typed-elements.js +1 -0
- package/dist/components/-private/typed-elements.js.map +1 -1
- package/dist/components/-private/utils.js +1 -0
- package/dist/components/-private/utils.js.map +1 -1
- package/dist/components/accordion/content.js +2 -1
- package/dist/components/accordion/content.js.map +1 -1
- package/dist/components/accordion/header.js +2 -1
- package/dist/components/accordion/header.js.map +1 -1
- package/dist/components/accordion/item.js +2 -1
- package/dist/components/accordion/item.js.map +1 -1
- package/dist/components/accordion/trigger.js +2 -1
- package/dist/components/accordion/trigger.js.map +1 -1
- package/dist/components/accordion.js +2 -1
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/avatar.js +1 -0
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/dialog.js +1 -0
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/external-link.js +1 -0
- package/dist/components/external-link.js.map +1 -1
- package/dist/components/form.js +1 -0
- package/dist/components/form.js.map +1 -1
- package/dist/components/keys.js +1 -0
- package/dist/components/keys.js.map +1 -1
- package/dist/components/layout/hero.js +3 -1
- package/dist/components/layout/hero.js.map +1 -1
- package/dist/components/layout/sticky-footer.js +3 -1
- package/dist/components/layout/sticky-footer.js.map +1 -1
- package/dist/components/link.js +1 -0
- package/dist/components/link.js.map +1 -1
- package/dist/components/menu.js +1 -0
- package/dist/components/menu.js.map +1 -1
- package/dist/components/one-time-password/buttons.js +1 -0
- package/dist/components/one-time-password/buttons.js.map +1 -1
- package/dist/components/one-time-password/index.js +1 -0
- package/dist/components/one-time-password/index.js.map +1 -1
- package/dist/components/one-time-password/input.js +1 -0
- package/dist/components/one-time-password/input.js.map +1 -1
- package/dist/components/one-time-password/otp.js +1 -0
- package/dist/components/one-time-password/otp.js.map +1 -1
- package/dist/components/one-time-password/utils.js +1 -0
- package/dist/components/one-time-password/utils.js.map +1 -1
- package/dist/components/popover.js +1 -0
- package/dist/components/popover.js.map +1 -1
- package/dist/components/portal-targets.js +1 -0
- package/dist/components/portal-targets.js.map +1 -1
- package/dist/components/portal.js +1 -0
- package/dist/components/portal.js.map +1 -1
- package/dist/components/progress.js +1 -0
- package/dist/components/progress.js.map +1 -1
- package/dist/components/rating/index.js +1 -0
- package/dist/components/rating/index.js.map +1 -1
- package/dist/components/rating/range.js +1 -0
- package/dist/components/rating/range.js.map +1 -1
- package/dist/components/rating/stars.js +1 -0
- package/dist/components/rating/stars.js.map +1 -1
- package/dist/components/rating/state.js +1 -0
- package/dist/components/rating/state.js.map +1 -1
- package/dist/components/rating/utils.js +1 -0
- package/dist/components/rating/utils.js.map +1 -1
- package/dist/components/rating.js +1 -0
- package/dist/components/scroller.js +1 -0
- package/dist/components/scroller.js.map +1 -1
- package/dist/components/shadowed.js +1 -0
- package/dist/components/shadowed.js.map +1 -1
- package/dist/components/switch.js +1 -0
- package/dist/components/switch.js.map +1 -1
- package/dist/components/tabs.js +218 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/toggle-group.js +1 -0
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.js +1 -0
- package/dist/components/toggle.js.map +1 -1
- package/dist/components/violations.css.js +3 -0
- package/dist/components/violations.css.js.map +1 -0
- package/dist/components/visually-hidden.js +2 -1
- package/dist/components/visually-hidden.js.map +1 -1
- package/dist/components/zoetrope/index.js +3 -1
- package/dist/components/zoetrope/index.js.map +1 -1
- package/dist/components/zoetrope.js +1 -0
- package/dist/dom-context.js +2 -1
- package/dist/dom-context.js.map +1 -1
- package/dist/floating-ui/component.js +1 -0
- package/dist/floating-ui/component.js.map +1 -1
- package/dist/floating-ui/middleware.js +1 -0
- package/dist/floating-ui/middleware.js.map +1 -1
- package/dist/floating-ui/modifier.js +1 -0
- package/dist/floating-ui/modifier.js.map +1 -1
- package/dist/floating-ui.js +1 -0
- package/dist/floating-ui.js.map +1 -1
- package/dist/head.js +1 -0
- package/dist/head.js.map +1 -1
- package/dist/helpers/body-class.js +1 -0
- package/dist/helpers/body-class.js.map +1 -1
- package/dist/helpers/link.js +1 -0
- package/dist/helpers/link.js.map +1 -1
- package/dist/helpers/service.js +1 -0
- package/dist/helpers/service.js.map +1 -1
- package/dist/helpers.js +1 -0
- package/dist/helpers.js.map +1 -1
- package/dist/iframe.js +1 -0
- package/dist/iframe.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/{item-D6pwWzMs.js → item-CwIzoqlC.js} +2 -1
- package/dist/item-CwIzoqlC.js.map +1 -0
- package/dist/load.js +1 -0
- package/dist/load.js.map +1 -1
- package/dist/narrowing.js +1 -0
- package/dist/narrowing.js.map +1 -1
- package/dist/on-resize.js +5 -88
- package/dist/on-resize.js.map +1 -1
- package/dist/proper-links.js +1 -0
- package/dist/proper-links.js.map +1 -1
- package/dist/qp.js +1 -0
- package/dist/qp.js.map +1 -1
- package/dist/resize-observer.js +113 -0
- package/dist/resize-observer.js.map +1 -0
- package/dist/store.js +1 -0
- package/dist/store.js.map +1 -1
- package/dist/styles.css.js +2 -1
- package/dist/tabster.js +1 -0
- package/dist/tabster.js.map +1 -1
- package/dist/test-support/a11y.js +1 -0
- package/dist/test-support/a11y.js.map +1 -1
- package/dist/test-support/index.js +1 -0
- package/dist/test-support/index.js.map +1 -1
- package/dist/test-support/otp.js +1 -0
- package/dist/test-support/otp.js.map +1 -1
- package/dist/test-support/rating.js +1 -0
- package/dist/test-support/rating.js.map +1 -1
- package/dist/test-support/routing.js +1 -0
- package/dist/test-support/routing.js.map +1 -1
- package/dist/test-support/zoetrope.js +1 -0
- package/dist/test-support/zoetrope.js.map +1 -1
- package/dist/utils.js +47 -1
- package/dist/utils.js.map +1 -1
- package/dist/visually-hidden-CGP1FSjt.js +3 -0
- package/dist/visually-hidden-CGP1FSjt.js.map +1 -0
- package/package.json +23 -25
- package/dist/item-D6pwWzMs.js.map +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
|
|
2
|
+
import { assert } from '@ember/debug';
|
|
3
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
4
|
+
import { createStore } from './store.js';
|
|
5
|
+
import { findOwner } from './utils.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates or returns the ResizeObserverManager.
|
|
9
|
+
*
|
|
10
|
+
* Only one of these will exist per owner.
|
|
11
|
+
*
|
|
12
|
+
* Has only two methods:
|
|
13
|
+
* - observe(element, callback: (resizeObserverEntry) => void)
|
|
14
|
+
* - unobserve(element, callback: (resizeObserverEntry) => void)
|
|
15
|
+
*
|
|
16
|
+
* Like with the underlying ResizeObserver API (and all event listeners),
|
|
17
|
+
* the callback passed to unobserved must be the same reference as the one
|
|
18
|
+
* passed to observe.
|
|
19
|
+
*/
|
|
20
|
+
function resizeObserver(context) {
|
|
21
|
+
const owner = findOwner(context);
|
|
22
|
+
assert(`Could not find owner on the passed context (to resizeObserver). resizeObserver can only be used on an object whos lifetime is in someone entangled with the application (which incidentally has an "owner").`, owner);
|
|
23
|
+
return createStore(owner, ResizeObserverManager);
|
|
24
|
+
}
|
|
25
|
+
class ResizeObserverManager {
|
|
26
|
+
#callbacks = new WeakMap();
|
|
27
|
+
#handleResize = entries => {
|
|
28
|
+
for (const entry of entries) {
|
|
29
|
+
const callbacks = this.#callbacks.get(entry.target);
|
|
30
|
+
if (callbacks) {
|
|
31
|
+
for (const callback of callbacks) {
|
|
32
|
+
callback(entry);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
#observer = new ResizeObserver(this.#handleResize);
|
|
38
|
+
constructor() {
|
|
39
|
+
ignoreROError();
|
|
40
|
+
registerDestructor(this, () => {
|
|
41
|
+
this.#observer?.disconnect();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Initiate the observing of the `element` or add an additional `callback`
|
|
47
|
+
* if the `element` is already observed.
|
|
48
|
+
*
|
|
49
|
+
* @param {object} element
|
|
50
|
+
* @param {function} callback The `callback` is called whenever the size of
|
|
51
|
+
* the `element` changes. It is called with `ResizeObserverEntry` object
|
|
52
|
+
* for the particular `element`.
|
|
53
|
+
*/
|
|
54
|
+
observe(element, callback) {
|
|
55
|
+
const callbacks = this.#callbacks.get(element);
|
|
56
|
+
if (callbacks) {
|
|
57
|
+
callbacks.add(callback);
|
|
58
|
+
} else {
|
|
59
|
+
this.#callbacks.set(element, new Set([callback]));
|
|
60
|
+
this.#observer.observe(element);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* End the observing of the `element` or just remove the provided `callback`.
|
|
66
|
+
*
|
|
67
|
+
* It will unobserve the `element` if the `callback` is not provided
|
|
68
|
+
* or there are no more callbacks left for this `element`.
|
|
69
|
+
*
|
|
70
|
+
* @param {object} element
|
|
71
|
+
* @param {function?} callback - The `callback` to remove from the listeners
|
|
72
|
+
* of the `element` size changes.
|
|
73
|
+
*/
|
|
74
|
+
unobserve(element, callback) {
|
|
75
|
+
const callbacks = this.#callbacks.get(element);
|
|
76
|
+
if (!callbacks) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
callbacks.delete(callback);
|
|
80
|
+
if (!callback || !callbacks.size) {
|
|
81
|
+
this.#callbacks.delete(element);
|
|
82
|
+
this.#observer.unobserve(element);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const errorMessages = ['ResizeObserver loop limit exceeded', 'ResizeObserver loop completed with undelivered notifications.'];
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Ignores "ResizeObserver loop limit exceeded" error in Ember tests.
|
|
90
|
+
*
|
|
91
|
+
* This "error" is safe to ignore as it is just a warning message,
|
|
92
|
+
* telling that the "looping" observation will be skipped in the current frame,
|
|
93
|
+
* and will be delivered in the next one.
|
|
94
|
+
*
|
|
95
|
+
* For some reason, it is fired as an `error` event at `window` failing Ember
|
|
96
|
+
* tests and exploding Sentry with errors that must be ignored.
|
|
97
|
+
*/
|
|
98
|
+
function ignoreROError() {
|
|
99
|
+
if (typeof window.onerror !== 'function') {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const onError = window.onerror;
|
|
103
|
+
window.onerror = (...args) => {
|
|
104
|
+
const [message] = args;
|
|
105
|
+
if (typeof message === 'string') {
|
|
106
|
+
if (errorMessages.includes(message)) return true;
|
|
107
|
+
}
|
|
108
|
+
onError(...args);
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export { ignoreROError, resizeObserver };
|
|
113
|
+
//# sourceMappingURL=resize-observer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize-observer.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/store.js
CHANGED
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sources":[
|
|
1
|
+
{"version":3,"file":"store.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/styles.css.js
CHANGED
package/dist/tabster.js
CHANGED
package/dist/tabster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabster.js","sources":[
|
|
1
|
+
{"version":3,"file":"tabster.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y.js","sources":[
|
|
1
|
+
{"version":3,"file":"a11y.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/test-support/otp.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otp.js","sources":[
|
|
1
|
+
{"version":3,"file":"otp.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating.js","sources":[
|
|
1
|
+
{"version":3,"file":"rating.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sources":[
|
|
1
|
+
{"version":3,"file":"routing.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoetrope.js","sources":[
|
|
1
|
+
{"version":3,"file":"zoetrope.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/utils.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
import { getOwner } from '@ember/owner';
|
|
3
|
+
|
|
1
4
|
// this is copy pasted from https://github.com/emberjs/ember.js/blob/60d2e0cddb353aea0d6e36a72fda971010d92355/packages/%40ember/-internals/glimmer/lib/helpers/unique-id.ts
|
|
2
5
|
// Unfortunately due to https://github.com/emberjs/ember.js/issues/20165 we cannot use the built-in version in template tags
|
|
3
6
|
function uniqueId() {
|
|
@@ -8,9 +11,52 @@ function uniqueId() {
|
|
|
8
11
|
return ([3e7] + -1e3 + -4e3 + -2e3 + -1e11).replace(/[0-3]/g, a => (a * 4 ^ Math.random() * 16 >> (a & 2)).toString(16));
|
|
9
12
|
}
|
|
10
13
|
function isNewable(x) {
|
|
14
|
+
// TypeScript has really bad prototype support -- they don't really
|
|
15
|
+
// want folks using this sort of stuff -- but it's handy for perf and all that.
|
|
16
|
+
//
|
|
11
17
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
12
18
|
return x.prototype?.constructor === x;
|
|
13
19
|
}
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Loose check for an "ownerish" API.
|
|
23
|
+
* only the ".lookup" method is required.
|
|
24
|
+
*
|
|
25
|
+
* The requirements for what an "owner" is are sort of undefined,
|
|
26
|
+
* as the actual owner in ember applications has too much on it,
|
|
27
|
+
* and the long term purpose of the owner will be questioned once we
|
|
28
|
+
* eliminate the need to have a registry (what lookup looks in to),
|
|
29
|
+
* but we'll still need "Something" to represent the lifetime of the application.
|
|
30
|
+
*
|
|
31
|
+
* Technically, the owner could be any object, including `{}`
|
|
32
|
+
*/
|
|
33
|
+
function isOwner(x) {
|
|
34
|
+
if (!isNonNullableObject(x)) return false;
|
|
35
|
+
return 'lookup' in x && typeof x.lookup === 'function';
|
|
36
|
+
}
|
|
37
|
+
function isNonNullableObject(x) {
|
|
38
|
+
if (typeof x !== 'object') return false;
|
|
39
|
+
if (x === null) return false;
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Can receive the class instance or the owner itself, and will always return return the owner.
|
|
45
|
+
*
|
|
46
|
+
* undefined will be returned if the Owner does not exist on the passed object
|
|
47
|
+
*
|
|
48
|
+
* Can be useful when combined with `createStore` to then create "services",
|
|
49
|
+
* which don't require string lookup.
|
|
50
|
+
*/
|
|
51
|
+
function findOwner(contextOrOwner) {
|
|
52
|
+
if (isOwner(contextOrOwner)) return contextOrOwner;
|
|
53
|
+
|
|
54
|
+
// _ENSURE_ that we have an object, else getOwner makes no sense to call
|
|
55
|
+
if (!isNonNullableObject(contextOrOwner)) return;
|
|
56
|
+
const maybeOwner = getOwner(contextOrOwner);
|
|
57
|
+
if (isOwner(maybeOwner)) return maybeOwner;
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { findOwner, isNewable, isNonNullableObject, isOwner, uniqueId };
|
|
16
62
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":[
|
|
1
|
+
{"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visually-hidden-CGP1FSjt.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ember-primitives",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
4
4
|
"description": "Making apps easier to build",
|
|
5
|
-
"sideEffects": [
|
|
6
|
-
"*.css"
|
|
7
|
-
],
|
|
8
5
|
"keywords": [
|
|
9
6
|
"ember-addon"
|
|
10
7
|
],
|
|
@@ -19,10 +16,10 @@
|
|
|
19
16
|
"dependencies": {
|
|
20
17
|
"@babel/runtime": "^7.27.1",
|
|
21
18
|
"@embroider/addon-shim": "^1.10.0",
|
|
22
|
-
"@embroider/macros": "^1.
|
|
19
|
+
"@embroider/macros": "^1.19.2",
|
|
23
20
|
"@floating-ui/dom": "^1.7.0",
|
|
24
21
|
"decorator-transforms": "^2.3.0",
|
|
25
|
-
"ember-element-helper": "
|
|
22
|
+
"ember-element-helper": ">= 0.8.6",
|
|
26
23
|
"form-data-utils": "^0.6.0",
|
|
27
24
|
"reactiveweb": "^1.8.0",
|
|
28
25
|
"should-handle-link": "^1.2.2",
|
|
@@ -32,40 +29,41 @@
|
|
|
32
29
|
},
|
|
33
30
|
"devDependencies": {
|
|
34
31
|
"@arethetypeswrong/cli": "^0.18.0",
|
|
35
|
-
"@babel/core": "^7.
|
|
32
|
+
"@babel/core": "^7.28.5",
|
|
36
33
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
37
34
|
"@babel/plugin-proposal-decorators": "^7.27.1",
|
|
38
35
|
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
39
36
|
"@babel/plugin-syntax-decorators": "^7.27.1",
|
|
40
37
|
"@babel/plugin-transform-class-static-block": "^7.27.1",
|
|
41
38
|
"@babel/plugin-transform-private-methods": "^7.27.1",
|
|
42
|
-
"@babel/preset-typescript": "^7.
|
|
43
|
-
"@ember/
|
|
39
|
+
"@babel/preset-typescript": "^7.28.5",
|
|
40
|
+
"@ember/library-tsconfig": "^1.1.3",
|
|
41
|
+
"@ember/test-helpers": "^5.4.0",
|
|
44
42
|
"@ember/test-waiters": "^4.1.0",
|
|
45
|
-
"@embroider/addon-dev": "^
|
|
43
|
+
"@embroider/addon-dev": "^8.1.0",
|
|
46
44
|
"@glimmer/component": "^2.0.0",
|
|
47
45
|
"@glimmer/tracking": "^1.1.2",
|
|
48
|
-
"@glint/
|
|
49
|
-
"@glint/
|
|
50
|
-
"@glint/
|
|
51
|
-
"@
|
|
52
|
-
"@
|
|
53
|
-
"@rollup/plugin-babel": "^6.0.4",
|
|
46
|
+
"@glint/ember-tsc": "^1.0.7",
|
|
47
|
+
"@glint/template": "^1.7.2",
|
|
48
|
+
"@glint/tsserver-plugin": "^2.0.7",
|
|
49
|
+
"@nullvoxpopuli/eslint-configs": "^5.3.4",
|
|
50
|
+
"@rollup/plugin-babel": "^6.1.0",
|
|
54
51
|
"@tsconfig/ember": "^3.0.5",
|
|
55
52
|
"babel-plugin-ember-template-compilation": "^2.4.0",
|
|
56
|
-
"concurrently": "^9.1
|
|
53
|
+
"concurrently": "^9.2.1",
|
|
57
54
|
"ember-modifier": "^4.2.2",
|
|
58
|
-
"ember-resources": "^7.0.
|
|
59
|
-
"ember-source": "6.
|
|
60
|
-
"ember-template-lint": "^7.
|
|
61
|
-
"eslint": "^9.
|
|
62
|
-
"
|
|
55
|
+
"ember-resources": "^7.0.7",
|
|
56
|
+
"ember-source": "6.8.1",
|
|
57
|
+
"ember-template-lint": "^7.9.3",
|
|
58
|
+
"eslint": "^9.39.0",
|
|
59
|
+
"execa": "^9.6.0",
|
|
60
|
+
"fix-bad-declaration-output": "^1.1.5",
|
|
63
61
|
"prettier": "^3.2.5",
|
|
64
62
|
"prettier-plugin-ember-template-tag": "^2.0.5",
|
|
65
63
|
"publint": "^0.3.12",
|
|
66
|
-
"rollup": "~4.
|
|
64
|
+
"rollup": "~4.52.5",
|
|
67
65
|
"rollup-plugin-copy": "^3.5.0",
|
|
68
|
-
"typescript": "^5.
|
|
66
|
+
"typescript": "^5.9.3"
|
|
69
67
|
},
|
|
70
68
|
"publishConfig": {
|
|
71
69
|
"registry": "https://registry.npmjs.org"
|
|
@@ -146,7 +144,7 @@
|
|
|
146
144
|
"lint:published-types": "attw *.tgz || exit 0",
|
|
147
145
|
"lint:prettier:fix": "pnpm -w exec lint prettier:fix",
|
|
148
146
|
"lint:prettier": "pnpm -w exec lint prettier",
|
|
149
|
-
"lint:types": "
|
|
147
|
+
"lint:types": "ember-tsc --noEmit --declaration false --declarationMap false --emitDeclarationOnly false",
|
|
150
148
|
"pack": "pnpm pack",
|
|
151
149
|
"start": "rollup --config --watch",
|
|
152
150
|
"test": "echo 'A v2 addon does not have tests, run tests in test-app'"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item-D6pwWzMs.js","sources":["../src/components/accordion/content.gts","../src/components/accordion/trigger.gts","../src/components/accordion/header.gts","../src/components/accordion/item.gts"],"sourcesContent":["import Component from \"@glimmer/component\";\n\nimport { getDataState } from \"./item.gts\";\n\nimport type { AccordionContentExternalSignature } from \"./public.ts\";\n\ninterface Signature extends AccordionContentExternalSignature {\n Args: {\n isExpanded: boolean;\n value: string;\n disabled?: boolean;\n };\n}\n\nexport class AccordionContent extends Component<Signature> {\n <template>\n <div\n role=\"region\"\n id={{@value}}\n data-state={{getDataState @isExpanded}}\n hidden={{this.isHidden}}\n data-disabled={{@disabled}}\n ...attributes\n >\n {{yield}}\n </div>\n </template>\n\n get isHidden() {\n return !this.args.isExpanded;\n }\n}\n\nexport default AccordionContent;\n","import { on } from \"@ember/modifier\";\n\nimport { getDataState } from \"./item.gts\";\n\nimport type { AccordionTriggerExternalSignature } from \"./public.ts\";\nimport type { TOC } from \"@ember/component/template-only\";\n\ninterface Signature extends AccordionTriggerExternalSignature {\n Args: {\n isExpanded: boolean;\n value: string;\n disabled?: boolean;\n toggleItem: () => void;\n };\n}\n\nexport const AccordionTrigger: TOC<Signature> = <template>\n <button\n type=\"button\"\n aria-controls={{@value}}\n aria-expanded={{@isExpanded}}\n data-state={{getDataState @isExpanded}}\n data-disabled={{@disabled}}\n aria-disabled={{if @disabled \"true\" \"false\"}}\n {{on \"click\" @toggleItem}}\n ...attributes\n >\n {{yield}}\n </button>\n</template>;\n\nexport default AccordionTrigger;\n","import { hash } from \"@ember/helper\";\n\nimport { getDataState } from \"./item.gts\";\nimport Trigger from \"./trigger.gts\";\n\nimport type { AccordionHeaderExternalSignature } from \"./public.ts\";\nimport type { TOC } from \"@ember/component/template-only\";\n\ninterface Signature extends AccordionHeaderExternalSignature {\n Args: {\n value: string;\n isExpanded: boolean;\n disabled?: boolean;\n toggleItem: () => void;\n };\n}\n\nexport const AccordionHeader: TOC<Signature> = <template>\n <div\n role=\"heading\"\n aria-level=\"3\"\n data-state={{getDataState @isExpanded}}\n data-disabled={{@disabled}}\n ...attributes\n >\n {{yield\n (hash\n Trigger=(component\n Trigger value=@value isExpanded=@isExpanded disabled=@disabled toggleItem=@toggleItem\n )\n )\n }}\n </div>\n</template>;\n\nexport default AccordionHeader;\n","import Component from \"@glimmer/component\";\nimport { hash } from \"@ember/helper\";\n\nimport Content from \"./content.gts\";\nimport Header from \"./header.gts\";\n\nimport type { AccordionItemExternalSignature } from \"./public.ts\";\n\nexport function getDataState(isExpanded: boolean): string {\n return isExpanded ? \"open\" : \"closed\";\n}\n\ninterface Signature extends AccordionItemExternalSignature {\n Args: AccordionItemExternalSignature[\"Args\"] & {\n selectedValue?: string | string[];\n disabled?: boolean;\n toggleItem: (value: string) => void;\n };\n}\n\nexport class AccordionItem extends Component<Signature> {\n <template>\n <div data-state={{getDataState this.isExpanded}} data-disabled={{@disabled}} ...attributes>\n {{yield\n (hash\n isExpanded=this.isExpanded\n Header=(component\n Header\n value=@value\n isExpanded=this.isExpanded\n disabled=@disabled\n toggleItem=this.toggleItem\n )\n Content=(component Content value=@value isExpanded=this.isExpanded disabled=@disabled)\n )\n }}\n </div>\n </template>\n\n get isExpanded(): boolean {\n if (Array.isArray(this.args.selectedValue)) {\n return this.args.selectedValue.includes(this.args.value);\n }\n\n return this.args.selectedValue === this.args.value;\n }\n\n toggleItem = (): void => {\n if (this.args.disabled) return;\n\n this.args.toggleItem(this.args.value);\n };\n}\n\nexport default AccordionItem;\n"],"names":["AccordionContent","Component","setComponentTemplate","precompileTemplate","strictMode","scope","getDataState","isHidden","args","isExpanded","AccordionTrigger","on","templateOnly","AccordionHeader","hash","Trigger","AccordionItem","Header","Content","Array","isArray","selectedValue","includes","value","toggleItem","disabled"],"mappings":";;;;;;;AAcO,MAAMA,yBAAyBC,SAAA,CAAU;AAC9C,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,uLAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;EAEV,IAAIC,QAAAA,GAAW;AACb,IAAA,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,UAAU;AAC9B,EAAA;AACF;;MCfaC,gBAAsB,GAAAR,oBAAA,CAAaC,kBAAA,CAAA,oRAAA,EAahD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;AAAAK,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;MCZGC,eAAqB,GAAAX,oBAAA,CAAaC,kBAAA,CAAA,2QAAA,EAgB/C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAQ,IAAA;AAAAC,aAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAH,YAAA,EAAA;;ACzBH,SAASN,YAAAA,CAAaG,UAAmB,EAAS;AACvD,EAAA,OAAOA,aAAa,MAAA,GAAS,QAAA;AAC/B;AAUO,MAAMO,sBAAsBf,SAAA,CAAU;AAC3C,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,6WAAA,EAgBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAQ,IAAA;gBAAAG,eAAA;AAAAC,iBAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;EAEV,IAAIT,UAAAA,GAAsB;IACxB,IAAIU,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACZ,IAAI,CAACa,aAAa,CAAA,EAAG;AAC1C,MAAA,OAAO,IAAI,CAACb,IAAI,CAACa,aAAa,CAACC,QAAQ,CAAC,IAAI,CAACd,IAAI,CAACe,KAAK,CAAA;AACzD,IAAA;IAEA,OAAO,IAAI,CAACf,IAAI,CAACa,aAAa,KAAK,IAAI,CAACb,IAAI,CAACe,KAAK;AACpD,EAAA;EAEAC,UAAA,GAAaA,MAAQ;AACnB,IAAA,IAAI,IAAI,CAAChB,IAAI,CAACiB,QAAQ,EAAE;IAExB,IAAI,CAACjB,IAAI,CAACgB,UAAU,CAAC,IAAI,CAAChB,IAAI,CAACe,KAAK,CAAA;EACtC,CAAA;AACF;;;;"}
|