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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visually-hidden.js","sources":[
|
|
1
|
+
{"version":3,"file":"visually-hidden.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./styles.css"
|
|
2
2
|
import Component from '@glimmer/component';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { hash } from '@ember/helper';
|
|
@@ -10,6 +10,8 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
10
10
|
import { setComponentTemplate } from '@ember/component';
|
|
11
11
|
import { g, i } from 'decorator-transforms/runtime';
|
|
12
12
|
|
|
13
|
+
;
|
|
14
|
+
|
|
13
15
|
const testWaiter = buildWaiter("ember-primitive:zoetrope-waiter");
|
|
14
16
|
const DEFAULT_GAP = 8;
|
|
15
17
|
const DEFAULT_OFFSET = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/zoetrope/index.gts"],"sourcesContent":["import \"./styles.css\";\n\nimport Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { hash } from \"@ember/helper\";\nimport { on } from \"@ember/modifier\";\nimport { buildWaiter, waitForPromise } from \"@ember/test-waiters\";\nimport { isTesting, macroCondition } from \"@embroider/macros\";\n\nimport { modifier } from \"ember-modifier\";\n\nimport type { ScrollBehavior, Signature } from \"./types.ts\";\n\nconst testWaiter = buildWaiter(\"ember-primitive:zoetrope-waiter\");\nconst DEFAULT_GAP = 8;\nconst DEFAULT_OFFSET = 0;\n\nexport class Zoetrope extends Component<Signature> {\n @tracked scrollerElement: HTMLElement | null = null;\n @tracked currentlyScrolled = 0;\n @tracked scrollWidth = 0;\n @tracked offsetWidth = 0;\n\n private setCSSVariables = modifier(\n (element: HTMLElement, _: unknown, { gap, offset }: { gap: number; offset: number }) => {\n if (gap) element.style.setProperty(\"--zoetrope-gap\", `${gap}px`);\n if (offset) element.style.setProperty(\"--zoetrope-offset\", `${offset}px`);\n },\n );\n\n scrollerWaiter = testWaiter.beginAsync();\n noScrollWaiter = () => {\n testWaiter.endAsync(this.scrollerWaiter);\n };\n\n private configureScroller = modifier((element: HTMLElement) => {\n this.scrollerElement = element;\n this.currentlyScrolled = element.scrollLeft;\n\n const zoetropeResizeObserver = new ResizeObserver(() => {\n this.scrollWidth = element.scrollWidth;\n this.offsetWidth = element.offsetWidth;\n });\n\n zoetropeResizeObserver.observe(element);\n\n element.addEventListener(\"scroll\", this.scrollListener, { passive: true });\n element.addEventListener(\"keydown\", this.tabListener);\n\n requestAnimationFrame(() => {\n testWaiter.endAsync(this.scrollerWaiter);\n });\n\n return () => {\n element.removeEventListener(\"scroll\", this.scrollListener);\n element.removeEventListener(\"keydown\", this.tabListener);\n\n zoetropeResizeObserver.unobserve(element);\n };\n });\n\n private tabListener = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const { key, shiftKey } = event;\n\n if (!this.scrollerElement || this.scrollerElement === target) {\n return;\n }\n\n if (key !== \"Tab\") {\n return;\n }\n\n const nextElement = target.nextElementSibling;\n const previousElement = target.previousElementSibling;\n\n if ((!shiftKey && !nextElement) || (shiftKey && !previousElement)) {\n return;\n }\n\n event.preventDefault();\n\n let newTarget: HTMLElement | null = null;\n\n if (shiftKey) {\n newTarget = previousElement as HTMLElement;\n } else {\n newTarget = nextElement as HTMLElement;\n }\n\n if (!newTarget) {\n return;\n }\n\n newTarget?.focus({ preventScroll: true });\n\n const rect = getRelativeBoundingClientRect(newTarget, this.scrollerElement);\n\n this.scrollerElement?.scrollBy({\n left: rect.left,\n behavior: this.scrollBehavior,\n });\n };\n\n private scrollListener = () => {\n this.currentlyScrolled = this.scrollerElement?.scrollLeft || 0;\n };\n\n get offset() {\n return this.args.offset ?? DEFAULT_OFFSET;\n }\n\n get gap() {\n return this.args.gap ?? DEFAULT_GAP;\n }\n\n get canScroll() {\n return this.scrollWidth > this.offsetWidth + this.offset;\n }\n\n get cannotScrollLeft() {\n return this.currentlyScrolled <= this.offset;\n }\n\n get cannotScrollRight() {\n return this.scrollWidth - this.offsetWidth - this.offset < this.currentlyScrolled;\n }\n\n get scrollBehavior(): ScrollBehavior {\n if (macroCondition(isTesting())) {\n return \"instant\";\n }\n\n return this.args.scrollBehavior || \"smooth\";\n }\n\n scrollLeft = () => {\n if (!(this.scrollerElement instanceof HTMLElement)) {\n return;\n }\n\n const { firstChild } = this.findOverflowingElement();\n\n if (!firstChild) {\n return;\n }\n\n const children = [...this.scrollerElement.children];\n\n const firstChildIndex = children.indexOf(firstChild);\n\n let targetElement = firstChild;\n let accumalatedWidth = 0;\n\n for (let i = firstChildIndex; i >= 0; i--) {\n const child = children[i];\n\n if (!(child instanceof HTMLElement)) {\n continue;\n }\n\n accumalatedWidth += child.offsetWidth + this.gap;\n\n if (accumalatedWidth >= this.offsetWidth) {\n break;\n }\n\n targetElement = child;\n }\n\n const rect = getRelativeBoundingClientRect(targetElement, this.scrollerElement);\n\n this.scrollerElement.scrollBy({\n left: rect.left,\n behavior: this.scrollBehavior,\n });\n\n void waitForPromise(new Promise(requestAnimationFrame));\n };\n\n scrollRight = () => {\n if (!(this.scrollerElement instanceof HTMLElement)) {\n return;\n }\n\n const { activeSlide, lastChild } = this.findOverflowingElement();\n\n if (!lastChild) {\n return;\n }\n\n let rect = getRelativeBoundingClientRect(lastChild, this.scrollerElement);\n\n // If the card is larger than the container then skip to the next card\n if (rect.width > this.offsetWidth && activeSlide === lastChild) {\n const children = [...this.scrollerElement.children];\n const lastChildIndex = children.indexOf(lastChild);\n const targetElement = children[lastChildIndex + 1];\n\n if (!targetElement) {\n return;\n }\n\n rect = getRelativeBoundingClientRect(targetElement, this.scrollerElement);\n }\n\n this.scrollerElement?.scrollBy({\n left: rect.left,\n behavior: this.scrollBehavior,\n });\n\n void waitForPromise(new Promise(requestAnimationFrame));\n };\n\n private findOverflowingElement() {\n const returnObj: {\n activeSlide?: Element;\n firstChild?: Element;\n lastChild?: Element;\n } = {\n firstChild: undefined,\n lastChild: undefined,\n activeSlide: undefined,\n };\n\n if (!this.scrollerElement) {\n return returnObj;\n }\n\n const parentElement = this.scrollerElement.parentElement;\n\n if (!parentElement) {\n return returnObj;\n }\n\n const containerRect = getRelativeBoundingClientRect(this.scrollerElement, parentElement);\n\n const children = [...this.scrollerElement.children];\n\n // Find the first child that is overflowing the left edge of the container\n // and the last child that is overflowing the right edge of the container\n for (const child of children) {\n const rect = getRelativeBoundingClientRect(child, this.scrollerElement);\n\n if (rect.right + this.gap >= containerRect.left && !returnObj.firstChild) {\n returnObj.firstChild = child;\n }\n\n if (rect.left >= this.offset && !returnObj.activeSlide) {\n returnObj.activeSlide = child;\n }\n\n if (rect.right >= containerRect.width && !returnObj.lastChild) {\n returnObj.lastChild = child;\n\n break;\n }\n }\n\n if (!returnObj.firstChild) {\n returnObj.firstChild = children[0];\n }\n\n if (!returnObj.lastChild) {\n returnObj.lastChild = children[children.length - 1];\n }\n\n return returnObj;\n }\n\n <template>\n <section\n class=\"ember-primitives__zoetrope\"\n {{this.setCSSVariables gap=this.gap offset=this.offset}}\n ...attributes\n >\n {{#if (has-block \"header\")}}\n <div class=\"ember-primitives__zoetrope__header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (has-block \"controls\")}}\n {{yield\n (hash\n cannotScrollLeft=this.cannotScrollLeft\n cannotScrollRight=this.cannotScrollRight\n canScroll=this.canScroll\n scrollLeft=this.scrollLeft\n scrollRight=this.scrollRight\n )\n to=\"controls\"\n }}\n {{else}}\n {{#if this.canScroll}}\n <div class=\"ember-primitives__zoetrope__controls\">\n <button\n type=\"button\"\n {{on \"click\" this.scrollLeft}}\n disabled={{this.cannotScrollLeft}}\n >Left</button>\n\n <button\n type=\"button\"\n {{on \"click\" this.scrollRight}}\n disabled={{this.cannotScrollRight}}\n >Right</button>\n </div>\n {{/if}}\n {{/if}}\n {{#if (has-block \"content\")}}\n <div class=\"ember-primitives__zoetrope__scroller\" {{this.configureScroller}}>\n {{yield to=\"content\"}}\n </div>\n {{else}}\n {{(this.noScrollWaiter)}}\n {{/if}}\n </section>\n </template>\n}\n\nexport default Zoetrope;\n\nfunction getRelativeBoundingClientRect(childElement: Element, parentElement: Element) {\n if (!childElement || !parentElement) {\n throw new Error(\"Both childElement and parentElement must be provided\");\n }\n\n // Get the bounding rect of the child and parent elements\n const childRect = childElement.getBoundingClientRect();\n const parentRect = parentElement.getBoundingClientRect();\n\n // Get computed styles of the parent element\n const parentStyles = window.getComputedStyle(parentElement);\n\n // Extract and parse parent's padding, and border, for all sides\n const parentPaddingTop = parseFloat(parentStyles.paddingTop);\n const parentPaddingLeft = parseFloat(parentStyles.paddingLeft);\n\n const parentBorderTopWidth = parseFloat(parentStyles.borderTopWidth);\n const parentBorderLeftWidth = parseFloat(parentStyles.borderLeftWidth);\n\n // Calculate child's position relative to parent's content area (including padding and borders)\n return {\n width: childRect.width,\n height: childRect.height,\n top: childRect.top - parentRect.top - parentBorderTopWidth - parentPaddingTop,\n left: childRect.left - parentRect.left - parentBorderLeftWidth - parentPaddingLeft,\n bottom:\n childRect.top - parentRect.top - parentBorderTopWidth - parentPaddingTop + childRect.height,\n right:\n childRect.left -\n parentRect.left -\n parentBorderLeftWidth -\n parentPaddingLeft +\n childRect.width,\n };\n}\n"],"names":["testWaiter","buildWaiter","DEFAULT_GAP","DEFAULT_OFFSET","Zoetrope","Component","g","prototype","tracked","i","void 0","setCSSVariables","modifier","element","_","gap","offset","style","setProperty","scrollerWaiter","beginAsync","noScrollWaiter","endAsync","configureScroller","scrollerElement","currentlyScrolled","scrollLeft","zoetropeResizeObserver","ResizeObserver","scrollWidth","offsetWidth","observe","addEventListener","scrollListener","passive","tabListener","requestAnimationFrame","removeEventListener","unobserve","event","target","key","shiftKey","nextElement","nextElementSibling","previousElement","previousElementSibling","preventDefault","newTarget","focus","preventScroll","rect","getRelativeBoundingClientRect","scrollBy","left","behavior","scrollBehavior","args","canScroll","cannotScrollLeft","cannotScrollRight","macroCondition","isTesting","HTMLElement","firstChild","findOverflowingElement","children","firstChildIndex","indexOf","targetElement","accumalatedWidth","child","waitForPromise","Promise","scrollRight","activeSlide","lastChild","width","lastChildIndex","returnObj","undefined","parentElement","containerRect","right","length","setComponentTemplate","precompileTemplate","strictMode","scope","hash","on","childElement","Error","childRect","getBoundingClientRect","parentRect","parentStyles","window","getComputedStyle","parentPaddingTop","parseFloat","paddingTop","parentPaddingLeft","paddingLeft","parentBorderTopWidth","borderTopWidth","parentBorderLeftWidth","borderLeftWidth","height","top","bottom"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/dom-context.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
3
|
import { tracked, cached } from '@glimmer/tracking';
|
|
3
4
|
import { assert } from '@ember/debug';
|
|
4
|
-
import { createStore } from '
|
|
5
|
+
import { createStore } from './store.js';
|
|
5
6
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
6
7
|
import { setComponentTemplate } from '@ember/component';
|
|
7
8
|
import { g, i, n } from 'decorator-transforms/runtime';
|
package/dist/dom-context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-context.js","sources":[
|
|
1
|
+
{"version":3,"file":"dom-context.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":[
|
|
1
|
+
{"version":3,"file":"component.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sources":[
|
|
1
|
+
{"version":3,"file":"middleware.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifier.js","sources":[
|
|
1
|
+
{"version":3,"file":"modifier.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/floating-ui.js
CHANGED
package/dist/floating-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floating-ui.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"floating-ui.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/head.js
CHANGED
package/dist/head.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.js","sources":[
|
|
1
|
+
{"version":3,"file":"head.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-class.js","sources":[
|
|
1
|
+
{"version":3,"file":"body-class.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/helpers/link.js
CHANGED
package/dist/helpers/link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sources":[
|
|
1
|
+
{"version":3,"file":"link.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/helpers/service.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sources":[
|
|
1
|
+
{"version":3,"file":"service.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/helpers.js
CHANGED
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/iframe.js
CHANGED
package/dist/iframe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframe.js","sources":[
|
|
1
|
+
{"version":3,"file":"iframe.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
3
|
import { hash } from '@ember/helper';
|
|
3
4
|
import { on } from '@ember/modifier';
|
|
@@ -64,4 +65,4 @@ class AccordionItem extends Component {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
export { AccordionItem as A, AccordionContent as a, AccordionTrigger as b, AccordionHeader as c, getDataState as g };
|
|
67
|
-
//# sourceMappingURL=item-
|
|
68
|
+
//# sourceMappingURL=item-CwIzoqlC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-CwIzoqlC.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/load.js
CHANGED
package/dist/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sources":[
|
|
1
|
+
{"version":3,"file":"load.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/narrowing.js
CHANGED
package/dist/narrowing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrowing.js","sources":[
|
|
1
|
+
{"version":3,"file":"narrowing.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/on-resize.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
|
|
1
2
|
import { assert } from '@ember/debug';
|
|
2
3
|
import { registerDestructor } from '@ember/destroyable';
|
|
3
4
|
import Modifier from 'ember-modifier';
|
|
5
|
+
import { resizeObserver } from './resize-observer.js';
|
|
6
|
+
export { ignoreROError } from './resize-observer.js';
|
|
4
7
|
|
|
5
8
|
class OnResize extends Modifier {
|
|
6
9
|
#callback = null;
|
|
7
10
|
#element = null;
|
|
8
|
-
#resizeObserver =
|
|
11
|
+
#resizeObserver = resizeObserver(this);
|
|
9
12
|
constructor(owner, args) {
|
|
10
13
|
super(owner, args);
|
|
11
14
|
registerDestructor(this, () => {
|
|
@@ -25,92 +28,6 @@ class OnResize extends Modifier {
|
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
const onResize = OnResize;
|
|
28
|
-
const errorMessages = ['ResizeObserver loop limit exceeded', 'ResizeObserver loop completed with undelivered notifications.'];
|
|
29
|
-
class ResizeObserverManager {
|
|
30
|
-
#callbacks = new WeakMap();
|
|
31
|
-
#handleResize = entries => {
|
|
32
|
-
for (const entry of entries) {
|
|
33
|
-
const callbacks = this.#callbacks.get(entry.target);
|
|
34
|
-
if (callbacks) {
|
|
35
|
-
for (const callback of callbacks) {
|
|
36
|
-
callback(entry);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
#observer = new ResizeObserver(this.#handleResize);
|
|
42
|
-
constructor() {
|
|
43
|
-
ignoreROError();
|
|
44
|
-
registerDestructor(this, () => {
|
|
45
|
-
this.#observer?.disconnect();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Initiate the observing of the `element` or add an additional `callback`
|
|
51
|
-
* if the `element` is already observed.
|
|
52
|
-
*
|
|
53
|
-
* @param {object} element
|
|
54
|
-
* @param {function} callback The `callback` is called whenever the size of
|
|
55
|
-
* the `element` changes. It is called with `ResizeObserverEntry` object
|
|
56
|
-
* for the particular `element`.
|
|
57
|
-
*/
|
|
58
|
-
observe(element, callback) {
|
|
59
|
-
const callbacks = this.#callbacks.get(element);
|
|
60
|
-
if (callbacks) {
|
|
61
|
-
callbacks.add(callback);
|
|
62
|
-
} else {
|
|
63
|
-
this.#callbacks.set(element, new Set([callback]));
|
|
64
|
-
this.#observer.observe(element);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* End the observing of the `element` or just remove the provided `callback`.
|
|
70
|
-
*
|
|
71
|
-
* It will unobserve the `element` if the `callback` is not provided
|
|
72
|
-
* or there are no more callbacks left for this `element`.
|
|
73
|
-
*
|
|
74
|
-
* @param {object} element
|
|
75
|
-
* @param {function?} callback - The `callback` to remove from the listeners
|
|
76
|
-
* of the `element` size changes.
|
|
77
|
-
*/
|
|
78
|
-
unobserve(element, callback) {
|
|
79
|
-
const callbacks = this.#callbacks.get(element);
|
|
80
|
-
if (!callbacks) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
callbacks.delete(callback);
|
|
84
|
-
if (!callback || !callbacks.size) {
|
|
85
|
-
this.#callbacks.delete(element);
|
|
86
|
-
this.#observer.unobserve(element);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Ignores "ResizeObserver loop limit exceeded" error in Ember tests.
|
|
93
|
-
*
|
|
94
|
-
* This "error" is safe to ignore as it is just a warning message,
|
|
95
|
-
* telling that the "looping" observation will be skipped in the current frame,
|
|
96
|
-
* and will be delivered in the next one.
|
|
97
|
-
*
|
|
98
|
-
* For some reason, it is fired as an `error` event at `window` failing Ember
|
|
99
|
-
* tests and exploding Sentry with errors that must be ignored.
|
|
100
|
-
*/
|
|
101
|
-
function ignoreROError() {
|
|
102
|
-
if (typeof window.onerror !== 'function') {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const onError = window.onerror;
|
|
106
|
-
window.onerror = (...args) => {
|
|
107
|
-
const [message] = args;
|
|
108
|
-
if (typeof message === 'string') {
|
|
109
|
-
if (errorMessages.includes(message)) return true;
|
|
110
|
-
}
|
|
111
|
-
onError(...args);
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
31
|
|
|
115
|
-
export {
|
|
32
|
+
export { onResize };
|
|
116
33
|
//# sourceMappingURL=on-resize.js.map
|
package/dist/on-resize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-resize.js","sources":[
|
|
1
|
+
{"version":3,"file":"on-resize.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/proper-links.js
CHANGED
package/dist/proper-links.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proper-links.js","sources":[
|
|
1
|
+
{"version":3,"file":"proper-links.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/qp.js
CHANGED
package/dist/qp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qp.js","sources":[
|
|
1
|
+
{"version":3,"file":"qp.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|