ember-primitives 0.39.0 → 0.41.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 +59 -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 +1 -0
- 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/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 +1 -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 +87 -0
- package/dist/dom-context.js.map +1 -0
- 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 +1 -0
- 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/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 +1 -0
- 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":"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":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { tracked, cached } from '@glimmer/tracking';
|
|
4
|
+
import { assert } from '@ember/debug';
|
|
5
|
+
import { createStore } from './store.js';
|
|
6
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
7
|
+
import { setComponentTemplate } from '@ember/component';
|
|
8
|
+
import { g, i, n } from 'decorator-transforms/runtime';
|
|
9
|
+
|
|
10
|
+
const LOOKUP = new WeakMap();
|
|
11
|
+
class Provide extends Component {
|
|
12
|
+
get data() {
|
|
13
|
+
assert(`@data is missing in <Provide>. Please pass @data.`, "data" in this.args);
|
|
14
|
+
/**
|
|
15
|
+
* This covers both classes and functions
|
|
16
|
+
*/
|
|
17
|
+
if (typeof this.args.data === "function") {
|
|
18
|
+
return createStore(this, this.args.data);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Non-instantiable value
|
|
22
|
+
*/
|
|
23
|
+
return this.args.data;
|
|
24
|
+
}
|
|
25
|
+
element;
|
|
26
|
+
constructor(owner, args) {
|
|
27
|
+
super(owner, args);
|
|
28
|
+
const element = document.createElement("div");
|
|
29
|
+
element.style.display = "contents";
|
|
30
|
+
const key = this.args.key ?? this.args.data;
|
|
31
|
+
LOOKUP.set(element, [key, () => this.data]);
|
|
32
|
+
this.element = element;
|
|
33
|
+
}
|
|
34
|
+
static {
|
|
35
|
+
setComponentTemplate(precompileTemplate("\n {{this.element}}\n\n {{#in-element this.element}}\n {{yield}}\n {{/in-element}}\n ", {
|
|
36
|
+
strictMode: true
|
|
37
|
+
}), this);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function findForKey(startElement, key) {
|
|
41
|
+
let parent = startElement;
|
|
42
|
+
while (parent = parent.parentElement) {
|
|
43
|
+
const maybe = LOOKUP.get(parent);
|
|
44
|
+
if (!maybe) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (maybe[0] === key) {
|
|
48
|
+
return maybe[1];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
class Consume extends Component {
|
|
53
|
+
static {
|
|
54
|
+
g(this.prototype, "getData", [tracked]);
|
|
55
|
+
}
|
|
56
|
+
#getData = (i(this, "getData"), void 0); // SAFETY: We do a runtime assert in the getter below.
|
|
57
|
+
element;
|
|
58
|
+
constructor(owner, args) {
|
|
59
|
+
super(owner, args);
|
|
60
|
+
this.element = document.createElement("div");
|
|
61
|
+
this.element.style.display = "contents";
|
|
62
|
+
}
|
|
63
|
+
get context() {
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
65
|
+
const self = this;
|
|
66
|
+
return {
|
|
67
|
+
get data() {
|
|
68
|
+
const getData = findForKey(self.element, self.args.key);
|
|
69
|
+
assert(`Could not find provided context in <Consume>. Please assure that there is a corresponding <Provide> component before using this <Consume> component`, getData);
|
|
70
|
+
// SAFETY: return type handled by getter's signature
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
72
|
+
return getData();
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
static {
|
|
77
|
+
n(this.prototype, "context", [cached]);
|
|
78
|
+
}
|
|
79
|
+
static {
|
|
80
|
+
setComponentTemplate(precompileTemplate("\n {{this.element}}\n\n {{#in-element this.element}}\n {{yield this.context}}\n {{/in-element}}\n ", {
|
|
81
|
+
strictMode: true
|
|
82
|
+
}), this);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { Consume, Provide };
|
|
87
|
+
//# sourceMappingURL=dom-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
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":""}
|
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":""}
|