ember-primitives 0.0.4 → 0.0.5

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.
Files changed (51) hide show
  1. package/dist/components/link.js +5 -4
  2. package/dist/components/link.js.map +1 -1
  3. package/dist/helpers/service.js.map +1 -1
  4. package/dist/proper-links.js +84 -17
  5. package/dist/proper-links.js.map +1 -1
  6. package/dist-types/color-scheme.d.ts +22 -0
  7. package/dist-types/color-scheme.d.ts.map +1 -0
  8. package/{dist → dist-types}/components/-private/typed-elements.d.ts +4 -4
  9. package/dist-types/components/-private/typed-elements.d.ts.map +1 -0
  10. package/dist-types/components/-private/utils.d.ts +6 -0
  11. package/dist-types/components/-private/utils.d.ts.map +1 -0
  12. package/dist-types/components/external-link.d.ts +9 -0
  13. package/dist-types/components/external-link.d.ts.map +1 -0
  14. package/{dist → dist-types}/components/link.d.ts +5 -4
  15. package/dist-types/components/link.d.ts.map +1 -0
  16. package/{dist → dist-types}/components/popover.d.ts +8 -7
  17. package/dist-types/components/popover.d.ts.map +1 -0
  18. package/dist-types/components/portal-targets.d.ts +14 -0
  19. package/dist-types/components/portal-targets.d.ts.map +1 -0
  20. package/{dist → dist-types}/components/portal.d.ts +6 -5
  21. package/dist-types/components/portal.d.ts.map +1 -0
  22. package/{dist → dist-types}/components/shadowed.d.ts +4 -3
  23. package/dist-types/components/shadowed.d.ts.map +1 -0
  24. package/{dist → dist-types}/components/switch.d.ts +7 -6
  25. package/dist-types/components/switch.d.ts.map +1 -0
  26. package/{dist → dist-types}/components/toggle.d.ts +5 -4
  27. package/dist-types/components/toggle.d.ts.map +1 -0
  28. package/dist-types/helpers/service.d.ts +14 -0
  29. package/dist-types/helpers/service.d.ts.map +1 -0
  30. package/dist-types/helpers.d.ts +2 -0
  31. package/dist-types/helpers.d.ts.map +1 -0
  32. package/dist-types/index.d.ts +11 -0
  33. package/dist-types/index.d.ts.map +1 -0
  34. package/dist-types/proper-links.d.ts +22 -0
  35. package/dist-types/proper-links.d.ts.map +1 -0
  36. package/dist-types/template-registry.d.ts +3 -0
  37. package/dist-types/template-registry.d.ts.map +1 -0
  38. package/dist-types/utils.d.ts +2 -0
  39. package/dist-types/utils.d.ts.map +1 -0
  40. package/package.json +41 -31
  41. package/dist/color-scheme.d.ts +0 -23
  42. package/dist/color-scheme.d.ts.map +0 -1
  43. package/dist/components/-private/utils.d.ts +0 -6
  44. package/dist/components/external-link.d.ts +0 -8
  45. package/dist/components/portal-targets.d.ts +0 -13
  46. package/dist/helpers/service.d.ts +0 -14
  47. package/dist/helpers.d.ts +0 -1
  48. package/dist/index.d.ts +0 -9
  49. package/dist/proper-links.d.ts +0 -13
  50. package/dist/template-registry.d.ts +0 -3
  51. package/dist/utils.d.ts +0 -2
@@ -1,7 +1,3 @@
1
- import _initializerDefineProperty from '@babel/runtime/helpers/esm/initializerDefineProperty';
2
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
- import _applyDecoratedDescriptor from '@babel/runtime/helpers/esm/applyDecoratedDescriptor';
4
- import '@babel/runtime/helpers/esm/initializerWarningHelper';
5
1
  import { setComponentTemplate } from '@ember/component';
6
2
  import { precompileTemplate } from '@ember/template-compilation';
7
3
  import Component from '@glimmer/component';
@@ -12,6 +8,11 @@ import { service } from '@ember/service';
12
8
  import { ExternalLink } from './external-link.js';
13
9
 
14
10
  var _class, _descriptor;
11
+ function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
15
16
  /**
16
17
  * A light wrapper around the [Anchor element][mdn-a], which will appropriately make your link an external link if the passed `@href` is not on the same domain.
17
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sources":["../../src/components/link.ts"],"sourcesContent":["/**\n * TODO: make template-only component,\n * and use class-based modifier?\n *\n * This would require that modifiers could run pre-render\n */\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { service } from '@ember/service';\n\nimport { ExternalLink } from './external-link';\n\nimport type RouterService from '@ember/routing/router-service';\n\nexport interface Signature {\n Element: HTMLAnchorElement;\n Args: {\n /**\n * the `href` string value to set on the anchor element.\n */\n href: string;\n };\n Blocks: {\n default: [\n {\n /**\n * Indicates if the passed `href` is pointing to an external site.\n * Useful if you want your links to have additional context for when\n * a user is about to leave your site.\n *\n * For example:\n *\n * ```gjs live preview\n * import { Link } from 'ember-primitives';\n *\n * const MyLink = <template>\n * <Link @href={{@href}} as |a|>\n * {{yield}}\n * {{#if a.isExternal}}\n * ➚\n * {{/if}}\n * </Link>\n * </template>;\n *\n * <template>\n * <MyLink @href=\"https://developer.mozilla.org\">MDN</MyLink> &nbsp;&nbsp;\n * <MyLink @href=\"/\">Home</MyLink>\n * </template>\n * ```\n */\n isExternal: boolean;\n }\n ];\n };\n}\n\n/**\n * A light wrapper around the [Anchor element][mdn-a], which will appropriately make your link an external link if the passed `@href` is not on the same domain.\n *\n *\n * [mdn-a]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a\n */\nexport class Link extends Component<Signature> {\n [__GLIMMER_TEMPLATE(`\n {{#if (isExternal @href)}}\n <ExternalLink href={{@href}} ...attributes>\n {{yield (hash isExternal=true)}}\n </ExternalLink>\n {{else}}\n <a href={{if @href @href '##missing##'}} {{on 'click' this.handleClick}} ...attributes>\n {{yield (hash isExternal=false)}}\n </a>\n {{/if}}\n `, { strictMode: true, scope: () => ({isExternal,ExternalLink,hash,on}) })]\n\n @service declare router: RouterService;\n\n handleClick = (event: Event) => {\n event.preventDefault();\n\n assert('[BUG]', event.target instanceof HTMLAnchorElement);\n\n let path = new URL(event.target.href).pathname;\n\n this.router.transitionTo(path);\n };\n}\n\nexport default Link;\n\nfunction isExternal(href: string) {\n if (!href) return false;\n if (href.startsWith('#')) return false;\n if (href.startsWith('/')) return false;\n\n return location.origin !== new URL(href).origin;\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZXMiOlsibGluay5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUT0RPOiBtYWtlIHRlbXBsYXRlLW9ubHkgY29tcG9uZW50LFxuICogYW5kIHVzZSBjbGFzcy1iYXNlZCBtb2RpZmllcj9cbiAqXG4gKiBUaGlzIHdvdWxkIHJlcXVpcmUgdGhhdCBtb2RpZmllcnMgY291bGQgcnVuIHByZS1yZW5kZXJcbiAqL1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5cbmltcG9ydCB7IEV4dGVybmFsTGluayB9IGZyb20gJy4vZXh0ZXJuYWwtbGluayc7XG5cbmltcG9ydCB0eXBlIFJvdXRlclNlcnZpY2UgZnJvbSAnQGVtYmVyL3JvdXRpbmcvcm91dGVyLXNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgLyoqXG4gICAgICogdGhlIGBocmVmYCBzdHJpbmcgdmFsdWUgdG8gc2V0IG9uIHRoZSBhbmNob3IgZWxlbWVudC5cbiAgICAgKi9cbiAgICBocmVmOiBzdHJpbmc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgcGFzc2VkIGBocmVmYCBpcyBwb2ludGluZyB0byBhbiBleHRlcm5hbCBzaXRlLlxuICAgICAgICAgKiBVc2VmdWwgaWYgeW91IHdhbnQgeW91ciBsaW5rcyB0byBoYXZlIGFkZGl0aW9uYWwgY29udGV4dCBmb3Igd2hlblxuICAgICAgICAgKiBhIHVzZXIgaXMgYWJvdXQgdG8gbGVhdmUgeW91ciBzaXRlLlxuICAgICAgICAgKlxuICAgICAgICAgKiBGb3IgZXhhbXBsZTpcbiAgICAgICAgICpcbiAgICAgICAgICogYGBgZ2pzIGxpdmUgcHJldmlld1xuICAgICAgICAgKiBpbXBvcnQgeyBMaW5rIH0gZnJvbSAnZW1iZXItcHJpbWl0aXZlcyc7XG4gICAgICAgICAqXG4gICAgICAgICAqIGNvbnN0IE15TGluayA9IDx0ZW1wbGF0ZT5cbiAgICAgICAgICogICA8TGluayBAaHJlZj17e0BocmVmfX0gYXMgfGF8PlxuICAgICAgICAgKiAgICAge3t5aWVsZH19XG4gICAgICAgICAqICAgICB7eyNpZiBhLmlzRXh0ZXJuYWx9fVxuICAgICAgICAgKiAgICAgICDinppcbiAgICAgICAgICogICAgIHt7L2lmfX1cbiAgICAgICAgICogICA8L0xpbms+XG4gICAgICAgICAqIDwvdGVtcGxhdGU+O1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU+XG4gICAgICAgICAqICAgPE15TGluayBAaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnXCI+TUROPC9NeUxpbms+ICZuYnNwOyZuYnNwO1xuICAgICAgICAgKiAgIDxNeUxpbmsgQGhyZWY9XCIvXCI+SG9tZTwvTXlMaW5rPlxuICAgICAgICAgKiAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBpc0V4dGVybmFsOiBib29sZWFuO1xuICAgICAgfVxuICAgIF07XG4gIH07XG59XG5cbi8qKlxuICogQSBsaWdodCB3cmFwcGVyIGFyb3VuZCB0aGUgW0FuY2hvciBlbGVtZW50XVttZG4tYV0sIHdoaWNoIHdpbGwgYXBwcm9wcmlhdGVseSBtYWtlIHlvdXIgbGluayBhbiBleHRlcm5hbCBsaW5rIGlmIHRoZSBwYXNzZWQgYEBocmVmYCBpcyBub3Qgb24gdGhlIHNhbWUgZG9tYWluLlxuICpcbiAqXG4gKiBbbWRuLWFdOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvYVxuICovXG5leHBvcnQgY2xhc3MgTGluayBleHRlbmRzIENvbXBvbmVudDxTaWduYXR1cmU+IHtcbiAgPHRlbXBsYXRlPlxuICAgIHt7I2lmIChpc0V4dGVybmFsIEBocmVmKX19XG4gICAgICA8RXh0ZXJuYWxMaW5rIGhyZWY9e3tAaHJlZn19IC4uLmF0dHJpYnV0ZXM+XG4gICAgICAgIHt7eWllbGQgKGhhc2ggaXNFeHRlcm5hbD10cnVlKX19XG4gICAgICA8L0V4dGVybmFsTGluaz5cbiAgICB7e2Vsc2V9fVxuICAgICAgPGEgaHJlZj17e2lmIEBocmVmIEBocmVmICcjI21pc3NpbmcjIyd9fSB7e29uICdjbGljaycgdGhpcy5oYW5kbGVDbGlja319IC4uLmF0dHJpYnV0ZXM+XG4gICAgICAgIHt7eWllbGQgKGhhc2ggaXNFeHRlcm5hbD1mYWxzZSl9fVxuICAgICAgPC9hPlxuICAgIHt7L2lmfX1cbiAgPC90ZW1wbGF0ZT5cblxuICBAc2VydmljZSBkZWNsYXJlIHJvdXRlcjogUm91dGVyU2VydmljZTtcblxuICBoYW5kbGVDbGljayA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgYXNzZXJ0KCdbQlVHXScsIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KTtcblxuICAgIGxldCBwYXRoID0gbmV3IFVSTChldmVudC50YXJnZXQuaHJlZikucGF0aG5hbWU7XG5cbiAgICB0aGlzLnJvdXRlci50cmFuc2l0aW9uVG8ocGF0aCk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpbms7XG5cbmZ1bmN0aW9uIGlzRXh0ZXJuYWwoaHJlZjogc3RyaW5nKSB7XG4gIGlmICghaHJlZikgcmV0dXJuIGZhbHNlO1xuICBpZiAoaHJlZi5zdGFydHNXaXRoKCcjJykpIHJldHVybiBmYWxzZTtcbiAgaWYgKGhyZWYuc3RhcnRzV2l0aCgnLycpKSByZXR1cm4gZmFsc2U7XG5cbiAgcmV0dXJuIGxvY2F0aW9uLm9yaWdpbiAhPT0gbmV3IFVSTChocmVmKS5vcmlnaW47XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9EO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUNEO0FBQ0EsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hLLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxxQkFBVTtBQUNaOzs7Ozs7Ozs7Q0FTQyxDQUFDLDJFQUFXO0FBQ2I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25EO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBQ0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQzsifQ=="],"names":["Link","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","event","preventDefault","assert","target","HTMLAnchorElement","path","URL","href","pathname","router","transitionTo","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","setComponentTemplate","precompileTemplate","strictMode","scope","isExternal","ExternalLink","hash","on","startsWith","location","origin"],"mappings":";;;;;;;;;;;;;;AA0DA;AACA;AACA;AACA;AACA;AACA;AACaA,IAAAA,IAAI,IAAAC,MAAA,GAAV,MAAMD,IAAI,SAASE,SAAS,CAAY;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;IAAAC,eAAA,CAAA,IAAA,EAAA,aAAA,EAe9BC,KAAY,IAAK;MAC9BA,KAAK,CAACC,cAAc,EAAE,CAAA;MAEtBC,MAAM,CAAC,OAAO,EAAEF,KAAK,CAACG,MAAM,YAAYC,iBAAiB,CAAC,CAAA;AAE1D,MAAA,IAAIC,IAAI,GAAG,IAAIC,GAAG,CAACN,KAAK,CAACG,MAAM,CAACI,IAAI,CAAC,CAACC,QAAQ,CAAA;AAE9C,MAAA,IAAI,CAACC,MAAM,CAACC,YAAY,CAACL,IAAI,CAAC,CAAA;KAC/B,CAAA,CAAA;AAAA,GAAA;AACH,CAAC,GAAAP,WAAA,GAAAa,yBAAA,CAAAlB,MAAA,CAAAmB,SAAA,EAAA,QAAA,EAAA,CAXEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;EAAAC,WAAA,EAAA,IAAA;AAAA,CAAA,CAAA,GAAAxB,MAAA,EAAA;AAWTyB,oBAAA,CAAAC,kBAAA,CAvBW,CAAA;AACZ;;;;;;;;;AASE,EAAA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,YAAA;IAAAC,IAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA,EAXWjC,IAAI,CAAA,CAAA;AA4BjB,SAAS8B,UAAUA,CAACf,IAAY,EAAE;AAChC,EAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK,CAAA;EACvB,IAAIA,IAAI,CAACmB,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,CAAA;EACtC,IAAInB,IAAI,CAACmB,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,CAAA;EAEtC,OAAOC,QAAQ,CAACC,MAAM,KAAK,IAAItB,GAAG,CAACC,IAAI,CAAC,CAACqB,MAAM,CAAA;AACjD;;;;"}
1
+ {"version":3,"file":"link.js","sources":["../../src/components/link.ts"],"sourcesContent":["/**\n * TODO: make template-only component,\n * and use class-based modifier?\n *\n * This would require that modifiers could run pre-render\n */\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { service } from '@ember/service';\n\nimport { ExternalLink } from './external-link';\n\nimport type RouterService from '@ember/routing/router-service';\n\nexport interface Signature {\n Element: HTMLAnchorElement;\n Args: {\n /**\n * the `href` string value to set on the anchor element.\n */\n href: string;\n };\n Blocks: {\n default: [\n {\n /**\n * Indicates if the passed `href` is pointing to an external site.\n * Useful if you want your links to have additional context for when\n * a user is about to leave your site.\n *\n * For example:\n *\n * ```gjs live preview\n * import { Link } from 'ember-primitives';\n *\n * const MyLink = <template>\n * <Link @href={{@href}} as |a|>\n * {{yield}}\n * {{#if a.isExternal}}\n * ➚\n * {{/if}}\n * </Link>\n * </template>;\n *\n * <template>\n * <MyLink @href=\"https://developer.mozilla.org\">MDN</MyLink> &nbsp;&nbsp;\n * <MyLink @href=\"/\">Home</MyLink>\n * </template>\n * ```\n */\n isExternal: boolean;\n }\n ];\n };\n}\n\n/**\n * A light wrapper around the [Anchor element][mdn-a], which will appropriately make your link an external link if the passed `@href` is not on the same domain.\n *\n *\n * [mdn-a]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a\n */\nexport class Link extends Component<Signature> {\n [__GLIMMER_TEMPLATE(`\n {{#if (isExternal @href)}}\n <ExternalLink href={{@href}} ...attributes>\n {{yield (hash isExternal=true)}}\n </ExternalLink>\n {{else}}\n <a href={{if @href @href '##missing##'}} {{on 'click' this.handleClick}} ...attributes>\n {{yield (hash isExternal=false)}}\n </a>\n {{/if}}\n `, { strictMode: true, scope: () => ({isExternal,ExternalLink,hash,on}) })]\n\n @service declare router: RouterService;\n\n handleClick = (event: Event) => {\n event.preventDefault();\n\n assert('[BUG]', event.target instanceof HTMLAnchorElement);\n\n let path = new URL(event.target.href).pathname;\n\n this.router.transitionTo(path);\n };\n}\n\nexport default Link;\n\nfunction isExternal(href: string) {\n if (!href) return false;\n if (href.startsWith('#')) return false;\n if (href.startsWith('/')) return false;\n\n return location.origin !== new URL(href).origin;\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZXMiOlsibGluay5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUT0RPOiBtYWtlIHRlbXBsYXRlLW9ubHkgY29tcG9uZW50LFxuICogYW5kIHVzZSBjbGFzcy1iYXNlZCBtb2RpZmllcj9cbiAqXG4gKiBUaGlzIHdvdWxkIHJlcXVpcmUgdGhhdCBtb2RpZmllcnMgY291bGQgcnVuIHByZS1yZW5kZXJcbiAqL1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5cbmltcG9ydCB7IEV4dGVybmFsTGluayB9IGZyb20gJy4vZXh0ZXJuYWwtbGluayc7XG5cbmltcG9ydCB0eXBlIFJvdXRlclNlcnZpY2UgZnJvbSAnQGVtYmVyL3JvdXRpbmcvcm91dGVyLXNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgLyoqXG4gICAgICogdGhlIGBocmVmYCBzdHJpbmcgdmFsdWUgdG8gc2V0IG9uIHRoZSBhbmNob3IgZWxlbWVudC5cbiAgICAgKi9cbiAgICBocmVmOiBzdHJpbmc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgcGFzc2VkIGBocmVmYCBpcyBwb2ludGluZyB0byBhbiBleHRlcm5hbCBzaXRlLlxuICAgICAgICAgKiBVc2VmdWwgaWYgeW91IHdhbnQgeW91ciBsaW5rcyB0byBoYXZlIGFkZGl0aW9uYWwgY29udGV4dCBmb3Igd2hlblxuICAgICAgICAgKiBhIHVzZXIgaXMgYWJvdXQgdG8gbGVhdmUgeW91ciBzaXRlLlxuICAgICAgICAgKlxuICAgICAgICAgKiBGb3IgZXhhbXBsZTpcbiAgICAgICAgICpcbiAgICAgICAgICogYGBgZ2pzIGxpdmUgcHJldmlld1xuICAgICAgICAgKiBpbXBvcnQgeyBMaW5rIH0gZnJvbSAnZW1iZXItcHJpbWl0aXZlcyc7XG4gICAgICAgICAqXG4gICAgICAgICAqIGNvbnN0IE15TGluayA9IDx0ZW1wbGF0ZT5cbiAgICAgICAgICogICA8TGluayBAaHJlZj17e0BocmVmfX0gYXMgfGF8PlxuICAgICAgICAgKiAgICAge3t5aWVsZH19XG4gICAgICAgICAqICAgICB7eyNpZiBhLmlzRXh0ZXJuYWx9fVxuICAgICAgICAgKiAgICAgICDinppcbiAgICAgICAgICogICAgIHt7L2lmfX1cbiAgICAgICAgICogICA8L0xpbms+XG4gICAgICAgICAqIDwvdGVtcGxhdGU+O1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU+XG4gICAgICAgICAqICAgPE15TGluayBAaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnXCI+TUROPC9NeUxpbms+ICZuYnNwOyZuYnNwO1xuICAgICAgICAgKiAgIDxNeUxpbmsgQGhyZWY9XCIvXCI+SG9tZTwvTXlMaW5rPlxuICAgICAgICAgKiAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBpc0V4dGVybmFsOiBib29sZWFuO1xuICAgICAgfVxuICAgIF07XG4gIH07XG59XG5cbi8qKlxuICogQSBsaWdodCB3cmFwcGVyIGFyb3VuZCB0aGUgW0FuY2hvciBlbGVtZW50XVttZG4tYV0sIHdoaWNoIHdpbGwgYXBwcm9wcmlhdGVseSBtYWtlIHlvdXIgbGluayBhbiBleHRlcm5hbCBsaW5rIGlmIHRoZSBwYXNzZWQgYEBocmVmYCBpcyBub3Qgb24gdGhlIHNhbWUgZG9tYWluLlxuICpcbiAqXG4gKiBbbWRuLWFdOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvYVxuICovXG5leHBvcnQgY2xhc3MgTGluayBleHRlbmRzIENvbXBvbmVudDxTaWduYXR1cmU+IHtcbiAgPHRlbXBsYXRlPlxuICAgIHt7I2lmIChpc0V4dGVybmFsIEBocmVmKX19XG4gICAgICA8RXh0ZXJuYWxMaW5rIGhyZWY9e3tAaHJlZn19IC4uLmF0dHJpYnV0ZXM+XG4gICAgICAgIHt7eWllbGQgKGhhc2ggaXNFeHRlcm5hbD10cnVlKX19XG4gICAgICA8L0V4dGVybmFsTGluaz5cbiAgICB7e2Vsc2V9fVxuICAgICAgPGEgaHJlZj17e2lmIEBocmVmIEBocmVmICcjI21pc3NpbmcjIyd9fSB7e29uICdjbGljaycgdGhpcy5oYW5kbGVDbGlja319IC4uLmF0dHJpYnV0ZXM+XG4gICAgICAgIHt7eWllbGQgKGhhc2ggaXNFeHRlcm5hbD1mYWxzZSl9fVxuICAgICAgPC9hPlxuICAgIHt7L2lmfX1cbiAgPC90ZW1wbGF0ZT5cblxuICBAc2VydmljZSBkZWNsYXJlIHJvdXRlcjogUm91dGVyU2VydmljZTtcblxuICBoYW5kbGVDbGljayA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgYXNzZXJ0KCdbQlVHXScsIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KTtcblxuICAgIGxldCBwYXRoID0gbmV3IFVSTChldmVudC50YXJnZXQuaHJlZikucGF0aG5hbWU7XG5cbiAgICB0aGlzLnJvdXRlci50cmFuc2l0aW9uVG8ocGF0aCk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpbms7XG5cbmZ1bmN0aW9uIGlzRXh0ZXJuYWwoaHJlZjogc3RyaW5nKSB7XG4gIGlmICghaHJlZikgcmV0dXJuIGZhbHNlO1xuICBpZiAoaHJlZi5zdGFydHNXaXRoKCcjJykpIHJldHVybiBmYWxzZTtcbiAgaWYgKGhyZWYuc3RhcnRzV2l0aCgnLycpKSByZXR1cm4gZmFsc2U7XG5cbiAgcmV0dXJuIGxvY2F0aW9uLm9yaWdpbiAhPT0gbmV3IFVSTChocmVmKS5vcmlnaW47XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9EO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUNEO0FBQ0EsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hLLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxxQkFBVTtBQUNaOzs7Ozs7Ozs7Q0FTQyxDQUFDLDJFQUFXO0FBQ2I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25EO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBQ0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQzsifQ=="],"names":["Link","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","event","preventDefault","assert","target","HTMLAnchorElement","path","URL","href","pathname","router","transitionTo","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","setComponentTemplate","precompileTemplate","strictMode","scope","isExternal","ExternalLink","hash","on","startsWith","location","origin"],"mappings":";;;;;;;;;;;;;;;AA0DA;AACA;AACA;AACA;AACA;AACA;AACaA,IAAAA,IAAI,IAAAC,MAAA,GAAV,MAAMD,IAAI,SAASE,SAAS,CAAY;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;IAAAC,eAAA,CAAA,IAAA,EAAA,aAAA,EAe9BC,KAAY,IAAK;MAC9BA,KAAK,CAACC,cAAc,EAAE,CAAA;MAEtBC,MAAM,CAAC,OAAO,EAAEF,KAAK,CAACG,MAAM,YAAYC,iBAAiB,CAAC,CAAA;AAE1D,MAAA,IAAIC,IAAI,GAAG,IAAIC,GAAG,CAACN,KAAK,CAACG,MAAM,CAACI,IAAI,CAAC,CAACC,QAAQ,CAAA;AAE9C,MAAA,IAAI,CAACC,MAAM,CAACC,YAAY,CAACL,IAAI,CAAC,CAAA;KAC/B,CAAA,CAAA;AAAA,GAAA;AACH,CAAC,GAAAP,WAAA,GAAAa,yBAAA,CAAAlB,MAAA,CAAAmB,SAAA,EAAA,QAAA,EAAA,CAXEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;EAAAC,WAAA,EAAA,IAAA;AAAA,CAAA,CAAA,GAAAxB,MAAA,EAAA;AAWTyB,oBAAA,CAAAC,kBAAA,CAvBW,CAAA;AACZ;;;;;;;;;AASE,EAAA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,YAAA;IAAAC,IAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA,EAXWjC,IAAI,CAAA,CAAA;AA4BjB,SAAS8B,UAAUA,CAACf,IAAY,EAAE;AAChC,EAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK,CAAA;EACvB,IAAIA,IAAI,CAACmB,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,CAAA;EACtC,IAAInB,IAAI,CAACmB,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,CAAA;EAEtC,OAAOC,QAAQ,CAACC,MAAM,KAAK,IAAItB,GAAG,CAACC,IAAI,CAAC,CAACqB,MAAM,CAAA;AACjD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sources":["../../src/helpers/service.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { assert } from '@ember/debug';\nimport { getOwner } from '@ember/owner';\n\nimport type { Registry } from '@ember/service';\nimport type Service from '@ember/service';\n\nexport interface Signature<Key extends keyof Registry> {\n Args: {\n Positional: [Key];\n };\n Return: Registry[Key] & Service;\n}\n\nexport default class GetService<Key extends keyof Registry> extends Helper<Signature<Key>> {\n compute(positional: [Key]): Registry[Key] & Service {\n let owner = getOwner(this);\n\n assert(`Could not get owner.`, owner);\n\n return owner.lookup(`service:${positional[0]}`);\n }\n}\n\nexport const service = GetService;\n"],"names":["GetService","Helper","compute","positional","owner","getOwner","assert","lookup","service"],"mappings":";;;;AAce,MAAMA,UAAU,SAAqCC,MAAM,CAAiB;EACzFC,OAAOA,CAACC,UAAiB,EAA2B;AAClD,IAAA,IAAIC,KAAK,GAAGC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE1BC,IAAAA,MAAM,CAAE,CAAA,oBAAA,CAAqB,EAAEF,KAAK,CAAC,CAAA;IAErC,OAAOA,KAAK,CAACG,MAAM,CAAE,CAAA,QAAA,EAAUJ,UAAU,CAAC,CAAC,CAAE,CAAA,CAAC,CAAC,CAAA;AACjD,GAAA;AACF,CAAA;AAEO,MAAMK,OAAO,GAAGR;;;;"}
1
+ {"version":3,"file":"service.js","sources":["../../src/helpers/service.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { assert } from '@ember/debug';\nimport { getOwner } from '@ember/owner';\n\nimport type { Registry } from '@ember/service';\nimport type Service from '@ember/service';\n\nexport interface Signature<Key extends keyof Registry> {\n Args: {\n Positional: [Key];\n };\n Return: Registry[Key] & Service;\n}\n\nexport default class GetService<Key extends keyof Registry> extends Helper<Signature<Key>> {\n compute(positional: [Key]): Registry[Key] & Service {\n let owner = getOwner(this);\n\n assert(`Could not get owner.`, owner);\n\n return owner.lookup(`service:${positional[0]}`) as Registry[Key] & Service;\n }\n}\n\nexport const service = GetService;\n"],"names":["GetService","Helper","compute","positional","owner","getOwner","assert","lookup","service"],"mappings":";;;;AAce,MAAMA,UAAU,SAAqCC,MAAM,CAAiB;EACzFC,OAAOA,CAACC,UAAiB,EAA2B;AAClD,IAAA,IAAIC,KAAK,GAAGC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE1BC,IAAAA,MAAM,CAAE,CAAA,oBAAA,CAAqB,EAAEF,KAAK,CAAC,CAAA;IAErC,OAAOA,KAAK,CAACG,MAAM,CAAE,CAAA,QAAA,EAAUJ,UAAU,CAAC,CAAC,CAAE,CAAA,CAAC,CAAC,CAAA;AACjD,GAAA;AACF,CAAA;AAEO,MAAMK,OAAO,GAAGR;;;;"}
@@ -2,6 +2,8 @@ import { assert } from '@ember/debug';
2
2
  import { registerDestructor } from '@ember/destroyable';
3
3
  import { getOwner } from '@ember/owner';
4
4
 
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+
5
7
  /**
6
8
  * @internal
7
9
  */
@@ -22,27 +24,37 @@ function properLinks(...args) {
22
24
  }
23
25
  let ignore = options.ignore || [];
24
26
  assert(`klass was not defined. possibile incorrect arity given to properLinks`, klass);
25
- return class extends klass {
27
+ return class RouterWithProperLinks extends klass {
28
+ // SAFETY: we literally do not care about the args' type here,
29
+ // because we just call super
26
30
  constructor(...args) {
27
31
  super(...args);
28
- const handler = event => {
29
- /**
30
- * event.target may not be an anchor,
31
- * it may be a span, svg, img, or any number of elements nested in <a>...</a>
32
- */
33
- let interactive = isLink(event);
34
- if (!interactive) return;
35
- let owner = getOwner(this);
36
- assert('owner is not present', owner);
37
- let routerService = owner.lookup('service:router');
38
- handle(routerService, interactive, ignore, event);
39
- return false;
40
- };
41
- document.body.addEventListener('click', handler, false);
42
- registerDestructor(this, () => document.body.removeEventListener('click', handler));
32
+ setup(this, ignore);
43
33
  }
44
34
  };
45
35
  }
36
+
37
+ /**
38
+ * Setup proper links without a decorator.
39
+ * This function only requires that a framework object with an owner is passed.
40
+ */
41
+ function setup(parent, ignore) {
42
+ const handler = event => {
43
+ /**
44
+ * event.target may not be an anchor,
45
+ * it may be a span, svg, img, or any number of elements nested in <a>...</a>
46
+ */
47
+ let interactive = isLink(event);
48
+ if (!interactive) return;
49
+ let owner = getOwner(parent);
50
+ assert('owner is not present', owner);
51
+ let routerService = owner.lookup('service:router');
52
+ handle(routerService, interactive, ignore ?? [], event);
53
+ return false;
54
+ };
55
+ document.body.addEventListener('click', handler, false);
56
+ registerDestructor(parent, () => document.body.removeEventListener('click', handler));
57
+ }
46
58
  function isLink(event) {
47
59
  /**
48
60
  * Using composed path in case the link is removed from the DOM
@@ -56,6 +68,61 @@ function isLink(event) {
56
68
  }
57
69
  }
58
70
  function handle(router, element, ignore, event) {
71
+ if (!element) return;
72
+ /**
73
+ * If we don't have an href, the <a> is invalid.
74
+ * If you're debugging your code and end up finding yourself
75
+ * early-returning here, please add an href ;)
76
+ */
77
+ if (!element.href) return;
78
+
79
+ /**
80
+ * This is partially an escape hatch, but any time target is set,
81
+ * we are usually wanting to escape the behavior of single-page-apps.
82
+ *
83
+ * Some folks desire to have in-SPA links, but still do native browser behavior
84
+ * (which for the case of SPAs is a full page refresh)
85
+ * but they can set target="_self" to get that behavior back if they want.
86
+ *
87
+ * I expect that this'll be a super edge case, because the whole goal of
88
+ * "proper links" is to do what is expected, always -- for in-app SPA links
89
+ * as well as external, cross-domain links
90
+ */
91
+ if (element.target) return;
92
+
93
+ /**
94
+ * If the click is not a "left click" we don't want to intercept the event.
95
+ * This allows folks to
96
+ * - middle click (usually open the link in a new tab)
97
+ * - right click (usually opens the context menu)
98
+ */
99
+ if (event.button !== 0) return;
100
+
101
+ /**
102
+ * for MacOS users, this default behavior opens the link in a new tab
103
+ */
104
+ if (event.metaKey) return;
105
+
106
+ /**
107
+ * for for everyone else, this default behavior opens the link in a new tab
108
+ */
109
+ if (event.ctrlKey) return;
110
+
111
+ /**
112
+ * The default behavior here downloads the link content
113
+ */
114
+ if (event.altKey) return;
115
+
116
+ /**
117
+ * The default behavior here opens the link in a new window
118
+ */
119
+ if (event.shiftKey) return;
120
+
121
+ /**
122
+ * If another event listener called event.preventDefault(), we don't want to proceed.
123
+ */
124
+ if (event.defaultPrevented) return;
125
+
59
126
  /**
60
127
  * The href includes the protocol/host/etc
61
128
  * In order to not have the page look like a full page refresh,
@@ -85,5 +152,5 @@ function handle(router, element, ignore, event) {
85
152
  }
86
153
  }
87
154
 
88
- export { isLink, properLinks };
155
+ export { isLink, properLinks, setup };
89
156
  //# sourceMappingURL=proper-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proper-links.js","sources":["../src/proper-links.ts"],"sourcesContent":["import { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { getOwner } from '@ember/owner';\n\nimport type EmberRouter from '@ember/routing/router';\nimport type RouterService from '@ember/routing/router-service';\n\nexport type RouterType = typeof EmberRouter;\n\nexport interface Options {\n ignore?: string[];\n}\n\nexport function properLinks(options: Options): (klass: RouterType) => RouterType;\nexport function properLinks(klass: RouterType): RouterType;\n/**\n * @internal\n */\nexport function properLinks(options: Options, klass: RouterType): RouterType;\n\nexport function properLinks(\n ...args: [Options] | [RouterType] | [Options, RouterType]\n): RouterType | ((klass: RouterType) => RouterType) {\n let options: Options = {};\n let klass: undefined | RouterType = undefined;\n\n if (args.length === 2) {\n options = args[0] as Options;\n klass = args[1] as RouterType;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n // TODO: how to get first arg type correct?\n return (klass: RouterType) => properLinks(args[0] as any, klass);\n } else {\n klass = args[0];\n }\n }\n\n let ignore = options.ignore || [];\n\n assert(`klass was not defined. possibile incorrect arity given to properLinks`, klass);\n\n return class extends klass {\n constructor(...args: object[]) {\n super(...args);\n\n const handler = (event: MouseEvent) => {\n /**\n * event.target may not be an anchor,\n * it may be a span, svg, img, or any number of elements nested in <a>...</a>\n */\n let interactive = isLink(event);\n\n if (!interactive) return;\n\n let owner = getOwner(this);\n\n assert('owner is not present', owner);\n\n let routerService = owner.lookup('service:router');\n\n handle(routerService, interactive, ignore, event);\n\n return false;\n };\n\n document.body.addEventListener('click', handler, false);\n\n registerDestructor(this, () => document.body.removeEventListener('click', handler));\n }\n };\n}\n\nexport function isLink(event: Event) {\n /**\n * Using composed path in case the link is removed from the DOM\n * before the event handler evaluates\n */\n let composedPath = event.composedPath();\n\n for (let element of composedPath) {\n if (element instanceof HTMLAnchorElement) {\n return element;\n }\n }\n}\n\nfunction handle(router: RouterService, element: HTMLAnchorElement, ignore: string[], event: Event) {\n /**\n * The href includes the protocol/host/etc\n * In order to not have the page look like a full page refresh,\n * we need to chop that \"origin\" off, and just use the path\n */\n let url = new URL(element.href);\n\n /**\n * If the domains are different, we want to fall back to normal link behavior\n *\n */\n if (location.origin !== url.origin) return;\n\n /**\n * We can optionally declare some paths as ignored,\n * or \"let the browser do its default thing,\n * because there is other server-based routing to worry about\"\n */\n if (ignore.includes(url.pathname)) return;\n\n let routeInfo = router.recognize(url.pathname);\n\n if (routeInfo) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n\n router.transitionTo(url.pathname);\n\n return false;\n }\n}\n"],"names":["properLinks","args","options","klass","undefined","length","ignore","assert","constructor","handler","event","interactive","isLink","owner","getOwner","routerService","lookup","handle","document","body","addEventListener","registerDestructor","removeEventListener","composedPath","element","HTMLAnchorElement","router","url","URL","href","location","origin","includes","pathname","routeInfo","recognize","preventDefault","stopImmediatePropagation","stopPropagation","transitionTo"],"mappings":"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"}
1
+ {"version":3,"file":"proper-links.js","sources":["../src/proper-links.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { getOwner } from '@ember/owner';\n\nimport type EmberRouter from '@ember/routing/router';\nimport type RouterService from '@ember/routing/router-service';\n\ntype Constructor<T extends {} = {}> = { new (...args: any[]): T };\n\nexport interface Options {\n ignore?: string[];\n}\n\nexport function properLinks(\n options: Options\n): <Instance extends {}, Klass = { new (...args: any[]): Instance }>(klass: Klass) => Klass;\n\nexport function properLinks<Instance extends {}, Klass = { new (...args: any[]): Instance }>(\n klass: Klass\n): Klass;\n/**\n * @internal\n */\nexport function properLinks<Instance extends {}, Klass = { new (...args: any[]): Instance }>(\n options: Options,\n klass: Klass\n): Klass;\n\nexport function properLinks<Instance extends {}, Klass = { new (...args: any[]): Instance }>(\n ...args: [Options] | [Klass] | [Options, Klass]\n): Klass | ((klass: Klass) => Klass) {\n let options: Options = {};\n\n let klass: undefined | Klass = undefined;\n\n if (args.length === 2) {\n options = args[0] as Options;\n klass = args[1] as Klass;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n // TODO: how to get first arg type correct?\n return (klass: Klass) => properLinks(args[0] as any, klass);\n } else {\n klass = args[0];\n }\n }\n\n let ignore = options.ignore || [];\n\n assert(`klass was not defined. possibile incorrect arity given to properLinks`, klass);\n\n return class RouterWithProperLinks extends (klass as unknown as Constructor<EmberRouter>) {\n // SAFETY: we literally do not care about the args' type here,\n // because we just call super\n constructor(...args: any[]) {\n super(...args);\n\n setup(this, ignore);\n }\n } as unknown as Klass;\n}\n\n/**\n * Setup proper links without a decorator.\n * This function only requires that a framework object with an owner is passed.\n */\nexport function setup(parent: object, ignore?: string[]) {\n const handler = (event: MouseEvent) => {\n /**\n * event.target may not be an anchor,\n * it may be a span, svg, img, or any number of elements nested in <a>...</a>\n */\n let interactive = isLink(event);\n\n if (!interactive) return;\n\n let owner = getOwner(parent);\n\n assert('owner is not present', owner);\n\n let routerService = owner.lookup('service:router');\n\n handle(routerService, interactive, ignore ?? [], event);\n\n return false;\n };\n\n document.body.addEventListener('click', handler, false);\n\n registerDestructor(parent, () => document.body.removeEventListener('click', handler));\n}\n\nexport function isLink(event: Event) {\n /**\n * Using composed path in case the link is removed from the DOM\n * before the event handler evaluates\n */\n let composedPath = event.composedPath();\n\n for (let element of composedPath) {\n if (element instanceof HTMLAnchorElement) {\n return element;\n }\n }\n}\n\nfunction handle(\n router: RouterService,\n element: HTMLAnchorElement,\n ignore: string[],\n event: MouseEvent\n) {\n if (!element) return;\n /**\n * If we don't have an href, the <a> is invalid.\n * If you're debugging your code and end up finding yourself\n * early-returning here, please add an href ;)\n */\n if (!element.href) return;\n\n /**\n * This is partially an escape hatch, but any time target is set,\n * we are usually wanting to escape the behavior of single-page-apps.\n *\n * Some folks desire to have in-SPA links, but still do native browser behavior\n * (which for the case of SPAs is a full page refresh)\n * but they can set target=\"_self\" to get that behavior back if they want.\n *\n * I expect that this'll be a super edge case, because the whole goal of\n * \"proper links\" is to do what is expected, always -- for in-app SPA links\n * as well as external, cross-domain links\n */\n if (element.target) return;\n\n /**\n * If the click is not a \"left click\" we don't want to intercept the event.\n * This allows folks to\n * - middle click (usually open the link in a new tab)\n * - right click (usually opens the context menu)\n */\n if (event.button !== 0) return;\n\n /**\n * for MacOS users, this default behavior opens the link in a new tab\n */\n if (event.metaKey) return;\n\n /**\n * for for everyone else, this default behavior opens the link in a new tab\n */\n if (event.ctrlKey) return;\n\n /**\n * The default behavior here downloads the link content\n */\n if (event.altKey) return;\n\n /**\n * The default behavior here opens the link in a new window\n */\n if (event.shiftKey) return;\n\n /**\n * If another event listener called event.preventDefault(), we don't want to proceed.\n */\n if (event.defaultPrevented) return;\n\n /**\n * The href includes the protocol/host/etc\n * In order to not have the page look like a full page refresh,\n * we need to chop that \"origin\" off, and just use the path\n */\n let url = new URL(element.href);\n\n /**\n * If the domains are different, we want to fall back to normal link behavior\n *\n */\n if (location.origin !== url.origin) return;\n\n /**\n * We can optionally declare some paths as ignored,\n * or \"let the browser do its default thing,\n * because there is other server-based routing to worry about\"\n */\n if (ignore.includes(url.pathname)) return;\n\n let routeInfo = router.recognize(url.pathname);\n\n if (routeInfo) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n\n router.transitionTo(url.pathname);\n\n return false;\n }\n}\n"],"names":["properLinks","args","options","klass","undefined","length","ignore","assert","RouterWithProperLinks","constructor","setup","parent","handler","event","interactive","isLink","owner","getOwner","routerService","lookup","handle","document","body","addEventListener","registerDestructor","removeEventListener","composedPath","element","HTMLAnchorElement","router","href","target","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","url","URL","location","origin","includes","pathname","routeInfo","recognize","preventDefault","stopImmediatePropagation","stopPropagation","transitionTo"],"mappings":";;;;AAAA;;AAqBA;AACA;AACA;;AAMO,SAASA,WAAWA,CACzB,GAAGC,IAA4C,EACZ;EACnC,IAAIC,OAAgB,GAAG,EAAE,CAAA;EAEzB,IAAIC,KAAwB,GAAGC,SAAS,CAAA;AAExC,EAAA,IAAIH,IAAI,CAACI,MAAM,KAAK,CAAC,EAAE;AACrBH,IAAAA,OAAO,GAAGD,IAAI,CAAC,CAAC,CAAY,CAAA;AAC5BE,IAAAA,KAAK,GAAGF,IAAI,CAAC,CAAC,CAAU,CAAA;AAC1B,GAAC,MAAM,IAAIA,IAAI,CAACI,MAAM,KAAK,CAAC,EAAE;AAC5B,IAAA,IAAI,OAAOJ,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AAC/B;MACA,OAAQE,KAAY,IAAKH,WAAW,CAACC,IAAI,CAAC,CAAC,CAAC,EAASE,KAAK,CAAC,CAAA;AAC7D,KAAC,MAAM;AACLA,MAAAA,KAAK,GAAGF,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,KAAA;AACF,GAAA;AAEA,EAAA,IAAIK,MAAM,GAAGJ,OAAO,CAACI,MAAM,IAAI,EAAE,CAAA;AAEjCC,EAAAA,MAAM,CAAE,CAAA,qEAAA,CAAsE,EAAEJ,KAAK,CAAC,CAAA;AAEtF,EAAA,OAAO,MAAMK,qBAAqB,SAAUL,KAAK,CAAyC;AACxF;AACA;IACAM,WAAWA,CAAC,GAAGR,IAAW,EAAE;MAC1B,KAAK,CAAC,GAAGA,IAAI,CAAC,CAAA;AAEdS,MAAAA,KAAK,CAAC,IAAI,EAAEJ,MAAM,CAAC,CAAA;AACrB,KAAA;GACD,CAAA;AACH,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASI,KAAKA,CAACC,MAAc,EAAEL,MAAiB,EAAE;EACvD,MAAMM,OAAO,GAAIC,KAAiB,IAAK;AACrC;AACJ;AACA;AACA;AACI,IAAA,IAAIC,WAAW,GAAGC,MAAM,CAACF,KAAK,CAAC,CAAA;IAE/B,IAAI,CAACC,WAAW,EAAE,OAAA;AAElB,IAAA,IAAIE,KAAK,GAAGC,QAAQ,CAACN,MAAM,CAAC,CAAA;AAE5BJ,IAAAA,MAAM,CAAC,sBAAsB,EAAES,KAAK,CAAC,CAAA;AAErC,IAAA,IAAIE,aAAa,GAAGF,KAAK,CAACG,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAElDC,MAAM,CAACF,aAAa,EAAEJ,WAAW,EAAER,MAAM,IAAI,EAAE,EAAEO,KAAK,CAAC,CAAA;AAEvD,IAAA,OAAO,KAAK,CAAA;GACb,CAAA;EAEDQ,QAAQ,CAACC,IAAI,CAACC,gBAAgB,CAAC,OAAO,EAAEX,OAAO,EAAE,KAAK,CAAC,CAAA;AAEvDY,EAAAA,kBAAkB,CAACb,MAAM,EAAE,MAAMU,QAAQ,CAACC,IAAI,CAACG,mBAAmB,CAAC,OAAO,EAAEb,OAAO,CAAC,CAAC,CAAA;AACvF,CAAA;AAEO,SAASG,MAAMA,CAACF,KAAY,EAAE;AACnC;AACF;AACA;AACA;AACE,EAAA,IAAIa,YAAY,GAAGb,KAAK,CAACa,YAAY,EAAE,CAAA;AAEvC,EAAA,KAAK,IAAIC,OAAO,IAAID,YAAY,EAAE;IAChC,IAAIC,OAAO,YAAYC,iBAAiB,EAAE;AACxC,MAAA,OAAOD,OAAO,CAAA;AAChB,KAAA;AACF,GAAA;AACF,CAAA;AAEA,SAASP,MAAMA,CACbS,MAAqB,EACrBF,OAA0B,EAC1BrB,MAAgB,EAChBO,KAAiB,EACjB;EACA,IAAI,CAACc,OAAO,EAAE,OAAA;AACd;AACF;AACA;AACA;AACA;AACE,EAAA,IAAI,CAACA,OAAO,CAACG,IAAI,EAAE,OAAA;;AAEnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAA;;AAEpB;AACF;AACA;AACA;AACA;AACA;AACE,EAAA,IAAIlB,KAAK,CAACmB,MAAM,KAAK,CAAC,EAAE,OAAA;;AAExB;AACF;AACA;EACE,IAAInB,KAAK,CAACoB,OAAO,EAAE,OAAA;;AAEnB;AACF;AACA;EACE,IAAIpB,KAAK,CAACqB,OAAO,EAAE,OAAA;;AAEnB;AACF;AACA;EACE,IAAIrB,KAAK,CAACsB,MAAM,EAAE,OAAA;;AAElB;AACF;AACA;EACE,IAAItB,KAAK,CAACuB,QAAQ,EAAE,OAAA;;AAEpB;AACF;AACA;EACE,IAAIvB,KAAK,CAACwB,gBAAgB,EAAE,OAAA;;AAE5B;AACF;AACA;AACA;AACA;EACE,IAAIC,GAAG,GAAG,IAAIC,GAAG,CAACZ,OAAO,CAACG,IAAI,CAAC,CAAA;;AAE/B;AACF;AACA;AACA;AACE,EAAA,IAAIU,QAAQ,CAACC,MAAM,KAAKH,GAAG,CAACG,MAAM,EAAE,OAAA;;AAEpC;AACF;AACA;AACA;AACA;EACE,IAAInC,MAAM,CAACoC,QAAQ,CAACJ,GAAG,CAACK,QAAQ,CAAC,EAAE,OAAA;EAEnC,IAAIC,SAAS,GAAGf,MAAM,CAACgB,SAAS,CAACP,GAAG,CAACK,QAAQ,CAAC,CAAA;AAE9C,EAAA,IAAIC,SAAS,EAAE;IACb/B,KAAK,CAACiC,cAAc,EAAE,CAAA;IACtBjC,KAAK,CAACkC,wBAAwB,EAAE,CAAA;IAChClC,KAAK,CAACmC,eAAe,EAAE,CAAA;AAEvBnB,IAAAA,MAAM,CAACoB,YAAY,CAACX,GAAG,CAACK,QAAQ,CAAC,CAAA;AAEjC,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACF;;;;"}
@@ -0,0 +1,22 @@
1
+ export declare const colorScheme: {
2
+ update: (value: string) => string;
3
+ current: string | undefined;
4
+ };
5
+ export declare function sync(): void;
6
+ export declare const prefers: {
7
+ dark: () => boolean;
8
+ light: () => boolean;
9
+ custom: (name: string) => boolean;
10
+ none: () => boolean;
11
+ };
12
+ export declare const localPreference: {
13
+ isSet: () => boolean;
14
+ read: () => string | null;
15
+ update: (value: string) => void;
16
+ delete: () => void;
17
+ };
18
+ export declare function getColorScheme(element?: HTMLElement): string;
19
+ export declare function setColorScheme(element: HTMLElement, value: string): void;
20
+ export declare function setColorScheme(value: string): void;
21
+ export declare function removeColorScheme(element?: HTMLElement): void;
22
+ //# sourceMappingURL=color-scheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-scheme.d.ts","sourceRoot":"","sources":["../src/color-scheme.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;oBACN,MAAM;;CAiBvB,CAAC;AAEF,wBAAgB,IAAI,SA4BnB;AAED,eAAO,MAAM,OAAO;;;mBAGH,MAAM;;CAEtB,CAAC;AAIF,eAAO,MAAM,eAAe;;;oBAGV,MAAM;;CAEvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,UAInD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAgBpD,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW,QAItD"}
@@ -1,11 +1,11 @@
1
- import { TOC } from '@ember/component/template-only';
2
- declare const Div: TOC<{
1
+ import type { TOC } from '@ember/component/template-only';
2
+ export declare const Div: TOC<{
3
3
  Element: HTMLDivElement;
4
4
  Blocks: {
5
5
  default: [];
6
6
  };
7
7
  }>;
8
- declare const Label: TOC<{
8
+ export declare const Label: TOC<{
9
9
  Element: HTMLLabelElement;
10
10
  Args: {
11
11
  for: string;
@@ -14,4 +14,4 @@ declare const Label: TOC<{
14
14
  default: [];
15
15
  };
16
16
  }>;
17
- export { Div, Label };
17
+ //# sourceMappingURL=typed-elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-elements.d.ts","sourceRoot":"","sources":["../../../src/components/-private/typed-elements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,eAAO,MAAM,GAAG,EAAE,GAAG,CAAC;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE;QAAC,OAAO,EAAE,EAAE,CAAA;KAAC,CAAA;CAAE,CAOtE,CAAC;AAEH,eAAO,MAAM,KAAK,EAAE,GAAG,CAAC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAC,CAAA;CAAC,CAUjG,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * If the user provides an onChange or similar function, use that,
3
+ * otherwise fallback to the uncontrolled toggle
4
+ */
5
+ export declare function toggleWithFallback(uncontrolledToggle: () => void, controlledToggle?: () => void): void;
6
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/-private/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,IAAI,QAM/F"}
@@ -0,0 +1,9 @@
1
+ import type { TOC } from '@ember/component/template-only';
2
+ export declare const ExternalLink: TOC<{
3
+ Element: HTMLAnchorElement;
4
+ Blocks: {
5
+ default: [];
6
+ };
7
+ }>;
8
+ export default ExternalLink;
9
+ //# sourceMappingURL=external-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-link.d.ts","sourceRoot":"","sources":["../../src/components/external-link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,eAAO,MAAM,YAAY,EAAE,GAAG,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH,CAYC,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -5,8 +5,8 @@
5
5
  * This would require that modifiers could run pre-render
6
6
  */
7
7
  import Component from '@glimmer/component';
8
- import RouterService from '@ember/routing/router-service';
9
- interface Signature {
8
+ import type RouterService from '@ember/routing/router-service';
9
+ export interface Signature {
10
10
  Element: HTMLAnchorElement;
11
11
  Args: {
12
12
  /**
@@ -53,8 +53,9 @@ interface Signature {
53
53
  *
54
54
  * [mdn-a]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
55
55
  */
56
- declare class Link extends Component<Signature> {
56
+ export declare class Link extends Component<Signature> {
57
57
  router: RouterService;
58
58
  handleClick: (event: Event) => void;
59
59
  }
60
- export { Link as default, Link, Signature };
60
+ export default Link;
61
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/components/link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAQ3C,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE;QACJ;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE;;;;;;;;;;;;;;;;;;;;;;;;mBAwBG;gBACH,UAAU,EAAE,OAAO,CAAC;aACrB;SACF,CAAC;KACH,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,SAAS,CAAC,SAAS,CAAC;IAiC3B,MAAM,EAAE,aAAa,CAAC;IAEvC,WAAW,UAAW,KAAK,UAQzB;CACH;AAED,eAAe,IAAI,CAAC"}
@@ -1,8 +1,8 @@
1
- import { TOC } from '@ember/component/template-only';
2
- import { MiddlewareData } from '@floating-ui/dom';
3
- import { ModifierLike, WithBoundArgs } from '@glint/template';
4
- import { Signature as HookSignature } from 'ember-velcro/modifiers/velcro';
5
- interface Signature {
1
+ import type { TOC } from '@ember/component/template-only';
2
+ import type { MiddlewareData } from '@floating-ui/dom';
3
+ import type { ModifierLike, WithBoundArgs } from '@glint/template';
4
+ import type { Signature as HookSignature } from 'ember-velcro/modifiers/velcro';
5
+ export interface Signature {
6
6
  Args: {
7
7
  /**
8
8
  * See the Floating UI's [flip docs](https://floating-ui.com/docs/flip) for possible values.
@@ -98,5 +98,6 @@ declare const ArrowElement: () => {
98
98
  update: (updater: (prevValue: HTMLElement) => HTMLElement) => void;
99
99
  set: (nextValue: HTMLElement) => void;
100
100
  };
101
- declare const Popover: TOC<Signature>;
102
- export { Popover as default, Popover, Signature };
101
+ export declare const Popover: TOC<Signature>;
102
+ export default Popover;
103
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../src/components/popover.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEhF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ;;;;WAIG;QACH,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC;QAC5D;;;;WAIG;QACH,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D;;;;WAIG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC;QAChE;;;;;;;;;;;;WAYG;QACH,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC9E;;;;WAIG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9D;;;;;;WAMG;QACH,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAClC,OAAO,EAAE,aAAa,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/C,IAAI,EAAE,cAAc,CAAC;gBACrB,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC;aACnF;SACF,CAAC;KACH,CAAC;CACH;AAED,UAAU,uBAAuB;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY,CAAC;YAAE,OAAO,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC;IACF,MAAM,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;CACzB;AAED;;;GAGG;AACH,QAAA,MAAM,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAgBxC,CAAC;AAEH,UAAU,oBAAoB;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,EAAE;gBACL,cAAc,CAAC,EAAE,cAAc,CAAC;gBAChC,SAAS,CAAC,EAAE,SAAS,CAAC;aACvB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AASD,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AACrD,KAAK,SAAS,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC;AAkCzD,QAAA,MAAM,YAAY;;;;;CAA4B,CAAC;AAmB/C,eAAO,MAAM,OAAO,EAAE,GAAG,CAAC,SAAS,CAuBjC,CAAC;AAEH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { TOC } from '@ember/component/template-only';
2
+ export declare const TARGETS: Readonly<{
3
+ popover: "ember-primitives__portal-targets__popover";
4
+ tooltip: "ember-primitives__portal-targets__tooltip";
5
+ modal: "ember-primitives__portal-targets__modal";
6
+ }>;
7
+ export declare function findNearestTarget(origin: Element, name: string): Element;
8
+ export interface Signature {
9
+ Args: {};
10
+ Blocks: {};
11
+ }
12
+ export declare const PortalTargets: TOC<Signature>;
13
+ export default PortalTargets;
14
+ //# sourceMappingURL=portal-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-targets.d.ts","sourceRoot":"","sources":["../../src/components/portal-targets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;EAIlB,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WA+B9D;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,EAAE,CAAC;IACT,MAAM,EAAE,EAAE,CAAC;CACZ;AAED,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,SAAS,CAoBvC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
- import { TARGETS } from "./portal-targets.js";
2
- import { TOC } from '@ember/component/template-only';
3
- interface Signature {
1
+ import { type TARGETS } from './portal-targets';
2
+ import type { TOC } from '@ember/component/template-only';
3
+ export interface Signature {
4
4
  Args: {
5
5
  /**
6
6
  * The name of the PortalTarget to render in to.
@@ -16,5 +16,6 @@ interface Signature {
16
16
  default: [];
17
17
  };
18
18
  }
19
- declare const Portal: TOC<Signature>;
20
- export { Portal as default, Portal, Signature };
19
+ export declare const Portal: TOC<Signature>;
20
+ export default Portal;
21
+ //# sourceMappingURL=portal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/components/portal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ;;;;WAIG;QACH,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;KAC5D,CAAC;IACF,MAAM,EAAE;QACN;;WAEG;QACH,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH;AAYD,eAAO,MAAM,MAAM,EAAE,GAAG,CAAC,SAAS,CAuBhC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { TOC } from '@ember/component/template-only';
1
+ import type { TOC } from '@ember/component/template-only';
2
2
  /**
3
3
  * Render content in a shadow dom, attached to a div.
4
4
  *
@@ -8,7 +8,7 @@ import { TOC } from '@ember/component/template-only';
8
8
  *
9
9
  * This is useful when you want to render content that escapes your app's styles.
10
10
  */
11
- declare const Shadowed: TOC<{
11
+ export declare const Shadowed: TOC<{
12
12
  /**
13
13
  * The shadow dom attaches to a div element.
14
14
  * You may specify any attribute, and it'll be applied to this host element.
@@ -31,4 +31,5 @@ declare const Shadowed: TOC<{
31
31
  default: [];
32
32
  };
33
33
  }>;
34
- export { Shadowed as default, Shadowed };
34
+ export default Shadowed;
35
+ //# sourceMappingURL=shadowed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowed.d.ts","sourceRoot":"","sources":["../../src/components/shadowed.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AA6C1D;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,EAAE,GAAG,CAAC;IACzB;;;OAGG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ;;;;;;WAMG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,MAAM,EAAE;QACN;;WAEG;QACH,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH,CA8BC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Label } from "./-private/typed-elements.js";
2
- import { TOC } from '@ember/component/template-only';
3
- import { WithBoundArgs } from '@glint/template';
4
- interface Signature {
1
+ import { Label } from './-private/typed-elements';
2
+ import type { TOC } from '@ember/component/template-only';
3
+ import type { WithBoundArgs } from '@glint/template';
4
+ export interface Signature {
5
5
  Element: HTMLInputElement;
6
6
  Args: {
7
7
  /**
@@ -65,5 +65,6 @@ declare const Checkbox: TOC<ControlSignature>;
65
65
  /**
66
66
  * @public
67
67
  */
68
- declare const Switch: TOC<Signature>;
69
- export { Switch as default, Switch, Signature };
68
+ export declare const Switch: TOC<Signature>;
69
+ export default Switch;
70
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/components/switch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGlD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE;QACJ;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KACrD,CAAC;IACF,MAAM,EAAE;QACN,OAAO,CAAC,EAAE;YACR;gBACE;;;;;;;;;;;;;;mBAcG;gBACH,OAAO,EAAE,aAAa,CAAC,OAAO,QAAQ,EAAE,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;gBACvE;;;;;;;;;;;;;mBAaG;gBACH,KAAK,EAAE,aAAa,CAAC,OAAO,KAAK,EAAE,KAAK,CAAC,CAAC;aAC3C;SACF,CAAC;KACH,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAC/D;AAED,QAAA,MAAM,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAqBlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,GAAG,CAAC,SAAS,CAqBhC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -1,5 +1,5 @@
1
- import { TOC } from '@ember/component/template-only';
2
- interface Signature {
1
+ import type { TOC } from '@ember/component/template-only';
2
+ export interface Signature {
3
3
  Element: HTMLButtonElement;
4
4
  Args: {
5
5
  /**
@@ -26,5 +26,6 @@ interface Signature {
26
26
  ];
27
27
  };
28
28
  }
29
- declare const Toggle: TOC<Signature>;
30
- export { Toggle as default, Toggle, Signature };
29
+ export declare const Toggle: TOC<Signature>;
30
+ export default Toggle;
31
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/components/toggle.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE;QACJ;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;;;;eAIG;YACH,OAAO,EAAE,OAAO;SACjB,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,MAAM,EAAE,GAAG,CAAC,SAAS,CAmBhC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -0,0 +1,14 @@
1
+ import Helper from '@ember/component/helper';
2
+ import type { Registry } from '@ember/service';
3
+ import type Service from '@ember/service';
4
+ export interface Signature<Key extends keyof Registry> {
5
+ Args: {
6
+ Positional: [Key];
7
+ };
8
+ Return: Registry[Key] & Service;
9
+ }
10
+ export default class GetService<Key extends keyof Registry> extends Helper<Signature<Key>> {
11
+ compute(positional: [Key]): Registry[Key] & Service;
12
+ }
13
+ export declare const service: typeof GetService;
14
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/helpers/service.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAI7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,MAAM,QAAQ;IACnD,IAAI,EAAE;QACJ,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,GAAG,SAAS,MAAM,QAAQ,CAAE,SAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxF,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO;CAOpD;AAED,eAAO,MAAM,OAAO,mBAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { service } from './helpers/service';
2
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { ExternalLink } from './components/external-link';
2
+ export { Link } from './components/link';
3
+ export { Popover } from './components/popover';
4
+ export { Portal } from './components/portal';
5
+ export { PortalTargets } from './components/portal-targets';
6
+ export { TARGETS as PORTALS } from './components/portal-targets';
7
+ export { Shadowed } from './components/shadowed';
8
+ export { Switch } from './components/switch';
9
+ export { Toggle } from './components/toggle';
10
+ export * from './helpers';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,cAAc,WAAW,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface Options {
2
+ ignore?: string[];
3
+ }
4
+ export declare function properLinks(options: Options): <Instance extends {}, Klass = {
5
+ new (...args: any[]): Instance;
6
+ }>(klass: Klass) => Klass;
7
+ export declare function properLinks<Instance extends {}, Klass = {
8
+ new (...args: any[]): Instance;
9
+ }>(klass: Klass): Klass;
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare function properLinks<Instance extends {}, Klass = {
14
+ new (...args: any[]): Instance;
15
+ }>(options: Options, klass: Klass): Klass;
16
+ /**
17
+ * Setup proper links without a decorator.
18
+ * This function only requires that a framework object with an owner is passed.
19
+ */
20
+ export declare function setup(parent: object, ignore?: string[]): void;
21
+ export declare function isLink(event: Event): HTMLAnchorElement | undefined;
22
+ //# sourceMappingURL=proper-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proper-links.d.ts","sourceRoot":"","sources":["../src/proper-links.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,GACf,CAAC,QAAQ,SAAS,EAAE,EAAE,KAAK,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;CAAE,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC;AAE5F,wBAAgB,WAAW,CAAC,QAAQ,SAAS,EAAE,EAAE,KAAK,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;CAAE,EACzF,KAAK,EAAE,KAAK,GACX,KAAK,CAAC;AACT;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,SAAS,EAAE,EAAE,KAAK,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;CAAE,EACzF,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACX,KAAK,CAAC;AAoCT;;;GAGG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAwBtD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,iCAYlC"}
@@ -0,0 +1,3 @@
1
+ export default interface Registry {
2
+ }
3
+ //# sourceMappingURL=template-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-registry.d.ts","sourceRoot":"","sources":["../src/template-registry.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,WAAW,QAAQ;CAEhC"}
@@ -0,0 +1,2 @@
1
+ export declare function uniqueId(): any;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,QAOvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-primitives",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Making apps easier to build",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -10,24 +10,25 @@
10
10
  "author": "nullvoxpopuli",
11
11
  "files": [
12
12
  "addon-main.cjs",
13
- "dist"
13
+ "dist",
14
+ "dist-types"
14
15
  ],
15
16
  "dependencies": {
16
- "@babel/runtime": "^7.22.3",
17
- "@embroider/addon-shim": "1.8.6-unstable.d120477",
18
- "@embroider/macros": "1.11.1",
19
- "@floating-ui/dom": "^1.4.1",
17
+ "@babel/runtime": "^7.22.5",
18
+ "@embroider/addon-shim": "^1.8.5",
19
+ "@embroider/macros": "1.12.2",
20
+ "@floating-ui/dom": "^1.4.3",
20
21
  "ember-velcro": "^2.1.0"
21
22
  },
22
23
  "devDependencies": {
23
- "@arethetypeswrong/cli": "^0.0.3",
24
- "@babel/core": "^7.17.0",
25
- "@babel/eslint-parser": "^7.21.8",
24
+ "@arethetypeswrong/cli": "^0.4.2",
25
+ "@babel/core": "^7.22.5",
26
+ "@babel/eslint-parser": "^7.22.5",
26
27
  "@babel/plugin-proposal-class-properties": "^7.18.6",
27
- "@babel/plugin-proposal-decorators": "^7.22.3",
28
+ "@babel/plugin-proposal-decorators": "^7.22.5",
28
29
  "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
29
- "@babel/plugin-syntax-decorators": "^7.22.3",
30
- "@babel/preset-typescript": "^7.21.5",
30
+ "@babel/plugin-syntax-decorators": "^7.22.5",
31
+ "@babel/preset-typescript": "^7.22.5",
31
32
  "@embroider/addon-dev": "3.1.1",
32
33
  "@glimmer/component": "^1.1.2",
33
34
  "@glimmer/tracking": "^1.1.2",
@@ -35,29 +36,31 @@
35
36
  "@glint/environment-ember-loose": "^1.0.2",
36
37
  "@glint/environment-ember-template-imports": "^1.0.2",
37
38
  "@glint/template": "^1.0.2",
38
- "@nullvoxpopuli/eslint-configs": "^3.1.3",
39
- "@tsconfig/ember": "^2.0.0",
40
- "@typescript-eslint/eslint-plugin": "^5.59.8",
41
- "@typescript-eslint/parser": "^5.59.8",
42
- "concurrently": "^8.1.0",
39
+ "@nullvoxpopuli/eslint-configs": "^3.1.4",
40
+ "@rollup/plugin-babel": "^6.0.3",
41
+ "@rollup/plugin-node-resolve": "^15.1.0",
42
+ "@rollup/plugin-typescript": "^11.1.2",
43
+ "@tsconfig/ember": "^3.0.0",
44
+ "@typescript-eslint/eslint-plugin": "^5.61.0",
45
+ "@typescript-eslint/parser": "^5.61.0",
46
+ "concurrently": "^8.2.0",
43
47
  "ember-modifier": "^4.1.0",
44
- "ember-resources": "^6.1.0",
45
- "ember-source": "~5.0.0",
48
+ "ember-resources": "^6.1.1",
49
+ "ember-source": "~5.1.2",
46
50
  "ember-template-imports": "^3.4.2",
47
- "ember-template-lint": "^5.10.0",
48
- "eslint": "^8.41.0",
51
+ "ember-template-lint": "^5.11.0",
52
+ "eslint": "^8.44.0",
49
53
  "eslint-config-prettier": "^8.3.0",
50
- "eslint-plugin-ember": "^11.8.0",
54
+ "eslint-plugin-ember": "^11.9.0",
51
55
  "eslint-plugin-node": "^11.1.0",
52
56
  "eslint-plugin-prettier": "^4.0.0",
53
57
  "prettier": "^2.8.8",
54
58
  "prettier-plugin-ember-template-tag": "^0.3.2",
55
- "publint": "^0.1.12",
56
- "rollup": "~3.21.0",
59
+ "publint": "^0.1.15",
60
+ "rollup": "~3.26.0",
57
61
  "rollup-plugin-copy": "^3.4.0",
58
62
  "rollup-plugin-glimmer-template-tag": "^0.4.1",
59
- "rollup-plugin-ts": "^3.2.0",
60
- "typescript": "^5.1.3"
63
+ "typescript": "^5.1.6"
61
64
  },
62
65
  "publishConfig": {
63
66
  "registry": "https://registry.npmjs.org"
@@ -82,9 +85,12 @@
82
85
  }
83
86
  },
84
87
  "exports": {
85
- ".": "./dist/index.js",
88
+ ".": {
89
+ "types": "./dist-types/index.d.ts",
90
+ "default": "./dist/index.js"
91
+ },
86
92
  "./*": {
87
- "types": "./dist/*.d.ts",
93
+ "types": "./dist-types/*.d.ts",
88
94
  "default": "./dist/*.js"
89
95
  },
90
96
  "./addon-main": "./addon-main.cjs"
@@ -92,7 +98,7 @@
92
98
  "typesVersions": {
93
99
  "*": {
94
100
  "*": [
95
- "dist/*"
101
+ "dist-types/*"
96
102
  ]
97
103
  }
98
104
  },
@@ -107,7 +113,9 @@
107
113
  "ember-source": "~4.12.0"
108
114
  },
109
115
  "scripts": {
110
- "build": "rollup --config ./rollup.config.mjs",
116
+ "build": "concurrently 'npm:build:*'",
117
+ "build:js": "rollup --config ./rollup.config.mjs",
118
+ "build:types": "glint --build",
111
119
  "lint": "pnpm -w exec lint",
112
120
  "lint:fix": "pnpm -w exec lint fix",
113
121
  "lint:js": "pnpm -w exec lint js",
@@ -120,7 +128,9 @@
120
128
  "lint:prettier": "pnpm -w exec lint prettier",
121
129
  "lint:types": "glint",
122
130
  "pack": "pnpm pack",
123
- "start": "rollup --config --watch",
131
+ "start": "concurrently 'npm:start:*'",
132
+ "start:js": "rollup --config --watch",
133
+ "start:types": "glint --build --watch",
124
134
  "test": "echo 'A v2 addon does not have tests, run tests in test-app'"
125
135
  }
126
136
  }
@@ -1,23 +0,0 @@
1
- declare const colorScheme: {
2
- update: (value: string) => string;
3
- current: string | undefined;
4
- };
5
- declare function sync(): void;
6
- declare const prefers: {
7
- dark: () => boolean;
8
- light: () => boolean;
9
- custom: (name: string) => boolean;
10
- none: () => boolean;
11
- };
12
- declare const localPreference: {
13
- isSet: () => boolean;
14
- read: () => string | null;
15
- update: (value: string) => void;
16
- delete: () => void;
17
- };
18
- declare function getColorScheme(element?: HTMLElement): string;
19
- declare function setColorScheme(element: HTMLElement, value: string): void;
20
- declare function setColorScheme(value: string): void;
21
- declare function removeColorScheme(element?: HTMLElement): void;
22
- export { colorScheme, sync, prefers, localPreference, getColorScheme, setColorScheme, removeColorScheme };
23
- //# sourceMappingURL=color-scheme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-scheme.d.ts","sourceRoot":"","sources":["../src/color-scheme.ts"],"names":[],"mappings":"AAIA,QAAO,MAAM,WAAW;oBACN,MAAM;;CAiBvB,CAAC;AAEF,iBAAgB,IAAI,SA4BnB;AAED,QAAO,MAAM,OAAO;;;mBAGH,MAAM;;CAEtB,CAAC;AAIF,QAAO,MAAM,eAAe;;;oBAGV,MAAM;;CAEvB,CAAC;AAEF,iBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,UAInD;AAED,iBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAC1E,iBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAgBpD,iBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW,QAItD"}
@@ -1,6 +0,0 @@
1
- /**
2
- * If the user provides an onChange or similar function, use that,
3
- * otherwise fallback to the uncontrolled toggle
4
- */
5
- declare function toggleWithFallback(uncontrolledToggle: () => void, controlledToggle?: () => void): void;
6
- export { toggleWithFallback };
@@ -1,8 +0,0 @@
1
- import { TOC } from '@ember/component/template-only';
2
- declare const ExternalLink: TOC<{
3
- Element: HTMLAnchorElement;
4
- Blocks: {
5
- default: [];
6
- };
7
- }>;
8
- export { ExternalLink as default, ExternalLink };
@@ -1,13 +0,0 @@
1
- import { TOC } from '@ember/component/template-only';
2
- declare const TARGETS: Readonly<{
3
- popover: "ember-primitives__portal-targets__popover";
4
- tooltip: "ember-primitives__portal-targets__tooltip";
5
- modal: "ember-primitives__portal-targets__modal";
6
- }>;
7
- declare function findNearestTarget(origin: Element, name: string): Element;
8
- interface Signature {
9
- Args: {};
10
- Blocks: {};
11
- }
12
- declare const PortalTargets: TOC<Signature>;
13
- export { PortalTargets as default, PortalTargets, TARGETS, findNearestTarget, Signature };
@@ -1,14 +0,0 @@
1
- import Helper from '@ember/component/helper';
2
- import Service from '@ember/service';
3
- import { Registry } from "@ember/service";
4
- interface Signature<Key extends keyof Registry> {
5
- Args: {
6
- Positional: [Key];
7
- };
8
- Return: Registry[Key] & Service;
9
- }
10
- declare class GetService<Key extends keyof Registry> extends Helper<Signature<Key>> {
11
- compute(positional: [Key]): Registry[Key] & Service;
12
- }
13
- declare const service: typeof GetService;
14
- export { Signature, GetService as default, service };
package/dist/helpers.d.ts DELETED
@@ -1 +0,0 @@
1
- export { service } from "./helpers/service.js";
package/dist/index.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export { ExternalLink } from "./components/external-link.js";
2
- export { Link } from "./components/link.js";
3
- export { Popover } from "./components/popover.js";
4
- export { Portal } from "./components/portal.js";
5
- export { PortalTargets, TARGETS as PORTALS } from "./components/portal-targets.js";
6
- export { Shadowed } from "./components/shadowed.js";
7
- export { Switch } from "./components/switch.js";
8
- export { Toggle } from "./components/toggle.js";
9
- export * from "./helpers.js";
@@ -1,13 +0,0 @@
1
- import EmberRouter from '@ember/routing/router';
2
- type RouterType = typeof EmberRouter;
3
- interface Options {
4
- ignore?: string[];
5
- }
6
- declare function properLinks(options: Options): (klass: RouterType) => RouterType;
7
- declare function properLinks(klass: RouterType): RouterType;
8
- /**
9
- * @internal
10
- */
11
- declare function properLinks(options: Options, klass: RouterType): RouterType;
12
- declare function isLink(event: Event): HTMLAnchorElement | undefined;
13
- export { RouterType, Options, properLinks, isLink };
@@ -1,3 +0,0 @@
1
- interface Registry {
2
- }
3
- export { Registry as default };
package/dist/utils.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare function uniqueId(): any;
2
- export { uniqueId };