ember-primitives 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +37 -0
  3. package/addon-main.cjs +5 -0
  4. package/dist/_app_/color-scheme.js +1 -0
  5. package/dist/_app_/components/external-link.js +1 -0
  6. package/dist/_app_/components/link.js +1 -0
  7. package/dist/_app_/components/popover.js +1 -0
  8. package/dist/_app_/components/portal-targets.js +1 -0
  9. package/dist/_app_/components/shadowed.js +1 -0
  10. package/dist/_app_/components/switch.js +1 -0
  11. package/dist/_app_/components/typed-elements.js +1 -0
  12. package/dist/_app_/helpers/service.js +1 -0
  13. package/dist/_app_/proper-links.js +1 -0
  14. package/dist/color-scheme.d.ts +23 -0
  15. package/dist/color-scheme.d.ts.map +1 -0
  16. package/dist/color-scheme.js +81 -0
  17. package/dist/color-scheme.js.map +1 -0
  18. package/dist/components/external-link.d.ts +8 -0
  19. package/dist/components/external-link.js +19 -0
  20. package/dist/components/external-link.js.map +1 -0
  21. package/dist/components/link.d.ts +24 -0
  22. package/dist/components/link.js +66 -0
  23. package/dist/components/link.js.map +1 -0
  24. package/dist/components/popover.d.ts +2 -0
  25. package/dist/components/popover.js +12 -0
  26. package/dist/components/popover.js.map +1 -0
  27. package/dist/components/portal-targets.d.ts +2 -0
  28. package/dist/components/portal-targets.js +12 -0
  29. package/dist/components/portal-targets.js.map +1 -0
  30. package/dist/components/shadowed.d.ts +19 -0
  31. package/dist/components/shadowed.js +69 -0
  32. package/dist/components/shadowed.js.map +1 -0
  33. package/dist/components/switch.d.ts +28 -0
  34. package/dist/components/switch.js +33 -0
  35. package/dist/components/switch.js.map +1 -0
  36. package/dist/components/typed-elements.d.ts +17 -0
  37. package/dist/components/typed-elements.js +13 -0
  38. package/dist/components/typed-elements.js.map +1 -0
  39. package/dist/components/violations.css +88 -0
  40. package/dist/helpers/service.d.ts +14 -0
  41. package/dist/helpers/service.js +15 -0
  42. package/dist/helpers/service.js.map +1 -0
  43. package/dist/helpers.d.ts +1 -0
  44. package/dist/helpers.js +2 -0
  45. package/dist/helpers.js.map +1 -0
  46. package/dist/index.d.ts +6 -0
  47. package/dist/index.js +12 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/proper-links.d.ts +12 -0
  50. package/dist/proper-links.js +89 -0
  51. package/dist/proper-links.js.map +1 -0
  52. package/dist/template-registry.d.ts +3 -0
  53. package/dist/template-registry.js +2 -0
  54. package/dist/template-registry.js.map +1 -0
  55. package/dist/utils.d.ts +2 -0
  56. package/dist/utils.js +11 -0
  57. package/dist/utils.js.map +1 -0
  58. package/package.json +119 -0
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2023
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,37 @@
1
+ ember-primitives
2
+ ==============================================================================
3
+
4
+ [Short description of the addon.]
5
+
6
+
7
+ Compatibility
8
+ ------------------------------------------------------------------------------
9
+
10
+ * Ember.js v3.28 or above
11
+ * Embroider or ember-auto-import v2
12
+
13
+
14
+ Installation
15
+ ------------------------------------------------------------------------------
16
+
17
+ ```
18
+ ember install ember-primitives
19
+ ```
20
+
21
+
22
+ Usage
23
+ ------------------------------------------------------------------------------
24
+
25
+ [Longer description of how to use the addon in apps.]
26
+
27
+
28
+ Contributing
29
+ ------------------------------------------------------------------------------
30
+
31
+ See the [Contributing](CONTRIBUTING.md) guide for details.
32
+
33
+
34
+ License
35
+ ------------------------------------------------------------------------------
36
+
37
+ This project is licensed under the [MIT License](LICENSE.md).
package/addon-main.cjs ADDED
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const { addonV1Shim } = require('@embroider/addon-shim');
4
+
5
+ module.exports = addonV1Shim(__dirname);
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/color-scheme";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/external-link";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/link";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/popover";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/portal-targets";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/shadowed";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/switch";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/components/typed-elements";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/helpers/service";
@@ -0,0 +1 @@
1
+ export { default } from "ember-primitives/proper-links";
@@ -0,0 +1,23 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,81 @@
1
+ import { cell } from 'ember-resources';
2
+
3
+ const _colorScheme = cell();
4
+ const colorScheme = {
5
+ update: value => colorScheme.current = value,
6
+ get current() {
7
+ return _colorScheme.current;
8
+ },
9
+ set current(value) {
10
+ _colorScheme.current = value;
11
+ if (!value) {
12
+ localPreference.delete();
13
+ return;
14
+ }
15
+ localPreference.update(value);
16
+ setColorScheme(value);
17
+ }
18
+ };
19
+ function sync() {
20
+ /**
21
+ * If local prefs are set, then we don't care what prefers-color-scheme is
22
+ */
23
+ if (localPreference.isSet()) {
24
+ let pref = localPreference.read();
25
+ if (pref === 'dark') {
26
+ setColorScheme('dark');
27
+ _colorScheme.current = 'dark';
28
+ return;
29
+ }
30
+ setColorScheme('light');
31
+ _colorScheme.current = 'light';
32
+ return;
33
+ }
34
+ if (prefers.dark()) {
35
+ setColorScheme('dark');
36
+ _colorScheme.current = 'dark';
37
+ } else if (prefers.light()) {
38
+ setColorScheme('light');
39
+ _colorScheme.current = 'light';
40
+ }
41
+ }
42
+ const prefers = {
43
+ dark: () => window.matchMedia('(prefers-color-scheme: dark)').matches,
44
+ light: () => window.matchMedia('(prefers-color-scheme: light)').matches,
45
+ custom: name => window.matchMedia(`(prefers-color-scheme: ${name})`).matches,
46
+ none: () => window.matchMedia('(prefers-color-scheme: no-preference)').matches
47
+ };
48
+ const LOCAL_PREF_KEY = 'ember-primitives/color-scheme#local-preference';
49
+ const localPreference = {
50
+ isSet: () => Boolean(localPreference.read()),
51
+ read: () => localStorage.getItem(LOCAL_PREF_KEY),
52
+ update: value => localStorage.setItem(LOCAL_PREF_KEY, value),
53
+ delete: () => localStorage.removeItem(LOCAL_PREF_KEY)
54
+ };
55
+ function getColorScheme(element) {
56
+ let style = styleOf(element);
57
+ return style.getPropertyValue('color-scheme');
58
+ }
59
+ function setColorScheme(...args) {
60
+ if (typeof args[0] === 'string') {
61
+ styleOf().setProperty('color-scheme', args[0]);
62
+ return;
63
+ }
64
+ if (typeof args[1] === 'string') {
65
+ styleOf(args[0]).setProperty('color-scheme', args[1]);
66
+ }
67
+ throw new Error(`Invalid arity, expected up to 2 args, received ${args.length}`);
68
+ }
69
+ function removeColorScheme(element) {
70
+ let style = styleOf(element);
71
+ style.removeProperty('color-scheme');
72
+ }
73
+ function styleOf(element) {
74
+ if (element) {
75
+ return element.style;
76
+ }
77
+ return document.documentElement.style;
78
+ }
79
+
80
+ export { colorScheme, getColorScheme, localPreference, prefers, removeColorScheme, setColorScheme, sync };
81
+ //# sourceMappingURL=color-scheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-scheme.js","sources":["../src/color-scheme.ts"],"sourcesContent":["import { cell } from 'ember-resources';\n\nconst _colorScheme = cell<string | undefined>();\n\nexport const colorScheme = {\n update: (value: string) => (colorScheme.current = value),\n\n get current(): string | undefined {\n return _colorScheme.current;\n },\n set current(value: string | undefined) {\n _colorScheme.current = value;\n\n if (!value) {\n localPreference.delete();\n\n return;\n }\n\n localPreference.update(value);\n setColorScheme(value);\n },\n};\n\nexport function sync() {\n /**\n * If local prefs are set, then we don't care what prefers-color-scheme is\n */\n if (localPreference.isSet()) {\n let pref = localPreference.read();\n\n if (pref === 'dark') {\n setColorScheme('dark');\n\n _colorScheme.current = 'dark';\n\n return;\n }\n\n setColorScheme('light');\n _colorScheme.current = 'light';\n\n return;\n }\n\n if (prefers.dark()) {\n setColorScheme('dark');\n _colorScheme.current = 'dark';\n } else if (prefers.light()) {\n setColorScheme('light');\n _colorScheme.current = 'light';\n }\n}\n\nexport const prefers = {\n dark: () => window.matchMedia('(prefers-color-scheme: dark)').matches,\n light: () => window.matchMedia('(prefers-color-scheme: light)').matches,\n custom: (name: string) => window.matchMedia(`(prefers-color-scheme: ${name})`).matches,\n none: () => window.matchMedia('(prefers-color-scheme: no-preference)').matches,\n};\n\nconst LOCAL_PREF_KEY = 'ember-primitives/color-scheme#local-preference';\n\nexport const localPreference = {\n isSet: () => Boolean(localPreference.read()),\n read: () => localStorage.getItem(LOCAL_PREF_KEY),\n update: (value: string) => localStorage.setItem(LOCAL_PREF_KEY, value),\n delete: () => localStorage.removeItem(LOCAL_PREF_KEY),\n};\n\nexport function getColorScheme(element?: HTMLElement) {\n let style = styleOf(element);\n\n return style.getPropertyValue('color-scheme');\n}\n\nexport function setColorScheme(element: HTMLElement, value: string): void;\nexport function setColorScheme(value: string): void;\n\nexport function setColorScheme(...args: [string] | [HTMLElement, string]): void {\n if (typeof args[0] === 'string') {\n styleOf().setProperty('color-scheme', args[0]);\n\n return;\n }\n\n if (typeof args[1] === 'string') {\n styleOf(args[0]).setProperty('color-scheme', args[1]);\n }\n\n throw new Error(`Invalid arity, expected up to 2 args, received ${args.length}`);\n}\n\nexport function removeColorScheme(element?: HTMLElement) {\n let style = styleOf(element);\n\n style.removeProperty('color-scheme');\n}\n\nfunction styleOf(element?: HTMLElement) {\n if (element) {\n return element.style;\n }\n\n return document.documentElement.style;\n}\n"],"names":["_colorScheme","cell","colorScheme","update","value","current","localPreference","delete","setColorScheme","sync","isSet","pref","read","prefers","dark","light","window","matchMedia","matches","custom","name","none","LOCAL_PREF_KEY","Boolean","localStorage","getItem","setItem","removeItem","getColorScheme","element","style","styleOf","getPropertyValue","args","setProperty","Error","length","removeColorScheme","removeProperty","document","documentElement"],"mappings":"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"}
@@ -0,0 +1,8 @@
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 };
@@ -0,0 +1,19 @@
1
+ import templateOnly from '@ember/component/template-only';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+
5
+ const ExternalLink = setComponentTemplate(precompileTemplate(`
6
+ <a
7
+ target='_blank'
8
+ rel='noreferrer noopener'
9
+ href='##missing##'
10
+ ...attributes
11
+ >
12
+ <span>{{yield}}</span>
13
+ </a>
14
+ `, {
15
+ strictMode: true
16
+ }), templateOnly("external-link", "ExternalLink"));
17
+
18
+ export { ExternalLink, ExternalLink as default };
19
+ //# sourceMappingURL=external-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-link.js","sources":["../../src/components/external-link.ts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\n\nexport const ExternalLink: TOC<{\n Element: HTMLAnchorElement;\n Blocks: {\n default: [];\n };\n}> = [__GLIMMER_TEMPLATE(`\n <a\n target='_blank'\n rel='noreferrer noopener'\n href='##missing##'\n ...attributes\n >\n <span>{{yield}}</span>\n </a>\n`, { strictMode: true })];\n\nexport default ExternalLink;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtbGluay5qcyIsInNvdXJjZXMiOlsiZXh0ZXJuYWwtbGluay5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgY29uc3QgRXh0ZXJuYWxMaW5rOiBUT0M8e1xuICBFbGVtZW50OiBIVE1MQW5jaG9yRWxlbWVudDtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG59PiA9IDx0ZW1wbGF0ZT5cbiAgPGFcbiAgICB0YXJnZXQ9J19ibGFuaydcbiAgICByZWw9J25vcmVmZXJyZXIgbm9vcGVuZXInXG4gICAgaHJlZj0nIyNtaXNzaW5nIyMnXG4gICAgLi4uYXR0cmlidXRlc1xuICA+XG4gICAgPHNwYW4+e3t5aWVsZH19PC9zcGFuPlxuICA8L2E+XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgRXh0ZXJuYWxMaW5rO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBVTtBQUNmOzs7Ozs7O01BT007QUFDTix5QkFBVyxDQUFDO0FBQ1o7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOyJ9"],"names":["ExternalLink","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;MAEaA,YAKX,GAAAC,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AACf;;;;;;;;AAQA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAC,YAAA,CAAW,eAAA,EAAA,cAAA,CAAA;;;;"}
@@ -0,0 +1,24 @@
1
+ import Component from '@glimmer/component';
2
+ import RouterService from '@ember/routing/router-service';
3
+ /**
4
+ * TODO: make template-only component,
5
+ * and use class-based modifier?
6
+ */
7
+ interface Signature {
8
+ Element: HTMLAnchorElement;
9
+ Args: {
10
+ href: string;
11
+ };
12
+ Blocks: {
13
+ default: [
14
+ {
15
+ isExternal: boolean;
16
+ }
17
+ ];
18
+ };
19
+ }
20
+ declare class Link extends Component<Signature> {
21
+ router: RouterService;
22
+ handleClick: (event: Event) => void;
23
+ }
24
+ export { Link };
@@ -0,0 +1,66 @@
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
+ import { setComponentTemplate } from '@ember/component';
6
+ import { precompileTemplate } from '@ember/template-compilation';
7
+ import Component from '@glimmer/component';
8
+ import { assert } from '@ember/debug';
9
+ import { hash } from '@ember/helper';
10
+ import { on } from '@ember/modifier';
11
+ import { service } from '@ember/service';
12
+ import { ExternalLink } from './external-link.js';
13
+
14
+ var _class, _descriptor;
15
+
16
+ /**
17
+ * TODO: make template-only component,
18
+ * and use class-based modifier?
19
+ */
20
+
21
+ let Link = (_class = class Link extends Component {
22
+ constructor(...args) {
23
+ super(...args);
24
+ _initializerDefineProperty(this, "router", _descriptor, this);
25
+ _defineProperty(this, "handleClick", event => {
26
+ event.preventDefault();
27
+ assert('[BUG]', event.target instanceof HTMLAnchorElement);
28
+ let path = new URL(event.target.href).pathname;
29
+ this.router.transitionTo(path);
30
+ });
31
+ }
32
+ }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "router", [service], {
33
+ configurable: true,
34
+ enumerable: true,
35
+ writable: true,
36
+ initializer: null
37
+ })), _class);
38
+ setComponentTemplate(precompileTemplate(`
39
+ {{#if (isExternal @href)}}
40
+ <ExternalLink href={{@href}} ...attributes>
41
+ {{yield (hash isExternal=true)}}
42
+ </ExternalLink>
43
+ {{else}}
44
+ <a href={{if @href @href '##missing##'}} {{on "click" this.handleClick}} ...attributes>
45
+ {{yield (hash isExternal=false)}}
46
+ </a>
47
+ {{/if}}
48
+
49
+ `, {
50
+ strictMode: true,
51
+ scope: () => ({
52
+ isExternal,
53
+ ExternalLink,
54
+ hash,
55
+ on
56
+ })
57
+ }), Link);
58
+ function isExternal(href) {
59
+ if (!href) return false;
60
+ if (href.startsWith('#')) return false;
61
+ if (href.startsWith('/')) return false;
62
+ return location.origin !== new URL(href).origin;
63
+ }
64
+
65
+ export { Link };
66
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sources":["../../src/components/link.ts"],"sourcesContent":["import 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\n/**\n * TODO: make template-only component,\n* and use class-based modifier?\n */\n\n interface Signature {\n Element: HTMLAnchorElement;\n Args: {\n href: string;\n };\n Blocks: { default: [{\n isExternal: boolean;\n }]}\n }\n\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\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\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\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZXMiOlsibGluay5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5cbmltcG9ydCB7IEV4dGVybmFsTGluayB9IGZyb20gJy4vZXh0ZXJuYWwtbGluayc7XG5cbmltcG9ydCB0eXBlIFJvdXRlclNlcnZpY2UgZnJvbSAnQGVtYmVyL3JvdXRpbmcvcm91dGVyLXNlcnZpY2UnO1xuXG4vKipcbiAgKiBUT0RPOiBtYWtlIHRlbXBsYXRlLW9ubHkgY29tcG9uZW50LFxuKiBhbmQgdXNlIGNsYXNzLWJhc2VkIG1vZGlmaWVyP1xuICAqL1xuXG4gIGludGVyZmFjZSBTaWduYXR1cmUge1xuICAgIEVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50O1xuICAgIEFyZ3M6IHtcbiAgICAgIGhyZWY6IHN0cmluZztcbiAgICB9O1xuICAgIEJsb2NrczogeyBkZWZhdWx0OiBbe1xuICAgICAgaXNFeHRlcm5hbDogYm9vbGVhbjtcbiAgICB9XX1cbiAgfVxuXG5cbmV4cG9ydCBjbGFzcyBMaW5rIGV4dGVuZHMgQ29tcG9uZW50PFNpZ25hdHVyZT4ge1xuICA8dGVtcGxhdGU+XG4gICAge3sjaWYgKGlzRXh0ZXJuYWwgQGhyZWYpfX1cbiAgICAgIDxFeHRlcm5hbExpbmsgaHJlZj17e0BocmVmfX0gLi4uYXR0cmlidXRlcz5cbiAgICAgICAge3t5aWVsZCAoaGFzaCBpc0V4dGVybmFsPXRydWUpfX1cbiAgICAgIDwvRXh0ZXJuYWxMaW5rPlxuICAgIHt7ZWxzZX19XG4gICAgICA8YSBocmVmPXt7aWYgQGhyZWYgQGhyZWYgJyMjbWlzc2luZyMjJ319IHt7b24gXCJjbGlja1wiIHRoaXMuaGFuZGxlQ2xpY2t9fSAuLi5hdHRyaWJ1dGVzPlxuICAgICAgICB7e3lpZWxkIChoYXNoIGlzRXh0ZXJuYWw9ZmFsc2UpfX1cbiAgICAgIDwvYT5cbiAgICB7ey9pZn19XG5cbiAgPC90ZW1wbGF0ZT5cblxuICBAc2VydmljZSBkZWNsYXJlIHJvdXRlcjogUm91dGVyU2VydmljZTtcblxuICBoYW5kbGVDbGljayA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgYXNzZXJ0KCdbQlVHXScsIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KTtcblxuICAgIGxldCBwYXRoID0gbmV3IFVSTChldmVudC50YXJnZXQuaHJlZikucGF0aG5hbWU7XG5cbiAgICB0aGlzLnJvdXRlci50cmFuc2l0aW9uVG8ocGF0aCk7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiBpc0V4dGVybmFsKGhyZWY6IHN0cmluZykge1xuICBpZiAoIWhyZWYpIHJldHVybiBmYWxzZTtcbiAgaWYgKGhyZWYuc3RhcnRzV2l0aCgnIycpKSByZXR1cm4gZmFsc2U7XG4gIGlmIChocmVmLnN0YXJ0c1dpdGgoJy8nKSkgcmV0dXJuIGZhbHNlO1xuXG4gIHJldHVybiBsb2NhdGlvbi5vcmlnaW4gIT09IG5ldyBVUkwoaHJlZikub3JpZ2luO1xufVxuXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9EO0FBQ0EsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLHFCQUFVO0FBQ1o7Ozs7Ozs7Ozs7Q0FVQyxDQUFDLDJFQUFXO0FBQ2I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25EO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUNEOyJ9"],"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":";;;;;;;;;;;;;;;AAUA;AACA;AACA;AACA;;AAaaA,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,EAgB9BC,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,CAxBW,CAAA;AACZ;;;;;;;;;;AAUE,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,EAZWjC,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;;;;"}
@@ -0,0 +1,2 @@
1
+ declare const Popover: any[];
2
+ export { Popover as default, Popover };
@@ -0,0 +1,12 @@
1
+ import templateOnly from '@ember/component/template-only';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+
5
+ const Popover = setComponentTemplate(precompileTemplate(`
6
+ TODO
7
+ `, {
8
+ strictMode: true
9
+ }), templateOnly("popover", "Popover"));
10
+
11
+ export { Popover, Popover as default };
12
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","sources":["../../src/components/popover.ts"],"sourcesContent":["\n\nexport const Popover = [__GLIMMER_TEMPLATE(`\n TODO\n`, { strictMode: true })];\n\n\nexport default Popover;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZXMiOlsicG9wb3Zlci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBQb3BvdmVyID0gPHRlbXBsYXRlPlxuICBUT0RPXG48L3RlbXBsYXRlPjtcblxuXG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQVU7QUFDakMsTUFBTTtBQUNOLHlCQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOyJ9"],"names":["Popover","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;MAEaA,OAAO,GAAAC,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AACjC;AACA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAC,YAAA,CAAW,SAAA,EAAA,SAAA,CAAA;;;;"}
@@ -0,0 +1,2 @@
1
+ declare const PortalTargets: any[];
2
+ export { PortalTargets as default, PortalTargets };
@@ -0,0 +1,12 @@
1
+ import templateOnly from '@ember/component/template-only';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+
5
+ const PortalTargets = setComponentTemplate(precompileTemplate(`
6
+ <div id="ember-primitive-portal-targets-popover"></div>
7
+ `, {
8
+ strictMode: true
9
+ }), templateOnly("portal-targets", "PortalTargets"));
10
+
11
+ export { PortalTargets, PortalTargets as default };
12
+ //# sourceMappingURL=portal-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-targets.js","sources":["../../src/components/portal-targets.ts"],"sourcesContent":["export const PortalTargets = [__GLIMMER_TEMPLATE(`\n <div id=\"ember-primitive-portal-targets-popover\"></div>\n`, { strictMode: true })];\n\n\nexport default PortalTargets;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXRhcmdldHMuanMiLCJzb3VyY2VzIjpbInBvcnRhbC10YXJnZXRzLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUG9ydGFsVGFyZ2V0cyA9IDx0ZW1wbGF0ZT5cbiAgPGRpdiBpZD1cImVtYmVyLXByaW1pdGl2ZS1wb3J0YWwtdGFyZ2V0cy1wb3BvdmVyXCI+PC9kaXY+XG48L3RlbXBsYXRlPjtcblxuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxUYXJnZXRzO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBVTtBQUN2Qyx5REFBeUQ7QUFDekQseUJBQVcsQ0FBQztBQUNaO0FBQ0E7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7In0="],"names":["PortalTargets","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;MAAaA,aAAa,GAAAC,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AACvC;AACA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAC,YAAA,CAAW,gBAAA,EAAA,eAAA,CAAA;;;;"}
@@ -0,0 +1,19 @@
1
+ import { TOC } from '@ember/component/template-only';
2
+ /**
3
+ * Render content in a shadow dom, attached to a div
4
+ */
5
+ declare const Shadowed: TOC<{
6
+ Element: HTMLDivElement;
7
+ Args: {
8
+ /**
9
+ * By default, shadow-dom does not include any styles.
10
+ * Setting this to true will include all the `<style>` tags
11
+ * that are present in the `<head>` element.
12
+ */
13
+ includeStyles?: boolean;
14
+ };
15
+ Blocks: {
16
+ default: [];
17
+ };
18
+ }>;
19
+ export { Shadowed as default, Shadowed };
@@ -0,0 +1,69 @@
1
+ import templateOnly from '@ember/component/template-only';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { modifier } from 'ember-modifier';
5
+ import { cell } from 'ember-resources';
6
+
7
+ const Shadow = () => {
8
+ let shadow = cell();
9
+ return {
10
+ get root() {
11
+ return shadow.current;
12
+ },
13
+ attach: modifier(element => {
14
+ shadow.set(element.attachShadow({
15
+ mode: 'open'
16
+ }));
17
+ })
18
+ };
19
+ };
20
+
21
+ // index.html has the production-fingerprinted references to these links
22
+ // Ideally, we'd have some pre-processor scan everything for references to
23
+ // assets in public, but idk how to set that up
24
+ const getStyles = () => [...document.head.querySelectorAll('link')].map(link => link.href);
25
+ const Styles = setComponentTemplate(precompileTemplate(`
26
+ {{#let (getStyles) as |styles|}}
27
+ {{#each styles as |styleHref|}}
28
+
29
+ <link rel='stylesheet' href={{styleHref}} />
30
+
31
+ {{/each}}
32
+ {{/let}}
33
+ `, {
34
+ strictMode: true,
35
+ scope: () => ({
36
+ getStyles
37
+ })
38
+ }), templateOnly("shadowed", "Styles"));
39
+
40
+ /**
41
+ * Render content in a shadow dom, attached to a div
42
+ */
43
+ const Shadowed = setComponentTemplate(precompileTemplate(`
44
+ {{#let (Shadow) as |shadow|}}
45
+ {{!-- TODO: We need a way in ember to render in to a shadow dom without an effect --}}
46
+ <div {{shadow.attach}} ...attributes></div>
47
+
48
+ {{#if shadow.root}}
49
+ {{#in-element shadow.root}}
50
+
51
+ {{#if @includeStyles}}
52
+ <Styles />
53
+ {{/if}}
54
+
55
+ {{yield}}
56
+
57
+ {{/in-element}}
58
+ {{/if}}
59
+ {{/let}}
60
+ `, {
61
+ strictMode: true,
62
+ scope: () => ({
63
+ Shadow,
64
+ Styles
65
+ })
66
+ }), templateOnly("shadowed", "Shadowed"));
67
+
68
+ export { Shadowed, Shadowed as default };
69
+ //# sourceMappingURL=shadowed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowed.js","sources":["../../src/components/shadowed.ts"],"sourcesContent":["import { modifier } from 'ember-modifier';\nimport { cell } from 'ember-resources';\n\nimport type { TOC } from '@ember/component/template-only';\n\nconst Shadow = () => {\n let shadow = cell<ShadowRoot>();\n\n return {\n get root() { return shadow.current; },\n attach: modifier((element: Element) => {\n shadow.set(element.attachShadow({ mode: 'open' }));\n })\n };\n}\n\n// index.html has the production-fingerprinted references to these links\n// Ideally, we'd have some pre-processor scan everything for references to\n// assets in public, but idk how to set that up\nconst getStyles = () => [...document.head.querySelectorAll('link')].map((link) => link.href);\n\nconst Styles = [__GLIMMER_TEMPLATE(`\n {{#let (getStyles) as |styles|}}\n {{#each styles as |styleHref|}}\n\n <link rel='stylesheet' href={{styleHref}} />\n\n {{/each}}\n {{/let}}\n`, { strictMode: true, scope: () => ({getStyles}) })];\n\n/**\n * Render content in a shadow dom, attached to a div\n */\nexport const Shadowed: TOC<{\n Element: HTMLDivElement;\n Args: {\n /**\n * By default, shadow-dom does not include any styles.\n * Setting this to true will include all the `<style>` tags\n * that are present in the `<head>` element.\n */\n includeStyles?: boolean;\n };\n Blocks: { default: [] };\n}> = [__GLIMMER_TEMPLATE(`\n {{#let (Shadow) as |shadow|}}\n {{!-- TODO: We need a way in ember to render in to a shadow dom without an effect --}}\n <div {{shadow.attach}} ...attributes></div>\n\n {{#if shadow.root}}\n {{#in-element shadow.root}}\n\n {{#if @includeStyles}}\n <Styles />\n {{/if}}\n\n {{yield}}\n\n {{/in-element}}\n {{/if}}\n {{/let}}\n`, { strictMode: true, scope: () => ({Shadow,Styles}) })];\n\nexport default Shadowed;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhZG93ZWQuanMiLCJzb3VyY2VzIjpbInNoYWRvd2VkLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb2RpZmllciB9IGZyb20gJ2VtYmVyLW1vZGlmaWVyJztcbmltcG9ydCB7IGNlbGwgfSAgZnJvbSAnZW1iZXItcmVzb3VyY2VzJztcblxuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5jb25zdCBTaGFkb3cgPSAoKSA9PiB7XG4gIGxldCBzaGFkb3cgPSBjZWxsPFNoYWRvd1Jvb3Q+KCk7XG5cbiAgcmV0dXJuIHtcbiAgICBnZXQgcm9vdCgpIHsgcmV0dXJuIHNoYWRvdy5jdXJyZW50OyB9LFxuICAgIGF0dGFjaDogbW9kaWZpZXIoKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgIHNoYWRvdy5zZXQoZWxlbWVudC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSkpO1xuICAgIH0pXG4gIH07XG59XG5cbi8vIGluZGV4Lmh0bWwgaGFzIHRoZSBwcm9kdWN0aW9uLWZpbmdlcnByaW50ZWQgcmVmZXJlbmNlcyB0byB0aGVzZSBsaW5rc1xuLy8gSWRlYWxseSwgd2UnZCBoYXZlIHNvbWUgcHJlLXByb2Nlc3NvciBzY2FuIGV2ZXJ5dGhpbmcgZm9yIHJlZmVyZW5jZXMgdG9cbi8vIGFzc2V0cyBpbiBwdWJsaWMsIGJ1dCBpZGsgaG93IHRvIHNldCB0aGF0IHVwXG5jb25zdCBnZXRTdHlsZXMgPSAoKSA9PiBbLi4uZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yQWxsKCdsaW5rJyldLm1hcCgobGluaykgPT4gbGluay5ocmVmKTtcblxuY29uc3QgU3R5bGVzID0gPHRlbXBsYXRlPlxuICB7eyNsZXQgKGdldFN0eWxlcykgYXMgfHN0eWxlc3x9fVxuICAgIHt7I2VhY2ggc3R5bGVzIGFzIHxzdHlsZUhyZWZ8fX1cblxuICAgICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPXt7c3R5bGVIcmVmfX0gLz5cblxuICAgIHt7L2VhY2h9fVxuICB7ey9sZXR9fVxuPC90ZW1wbGF0ZT47XG5cbi8qKlxuICAqIFJlbmRlciBjb250ZW50IGluIGEgc2hhZG93IGRvbSwgYXR0YWNoZWQgdG8gYSBkaXZcbiAgKi9cbmV4cG9ydCBjb25zdCBTaGFkb3dlZDogVE9DPHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICAvKipcbiAgICAgICogQnkgZGVmYXVsdCwgc2hhZG93LWRvbSBkb2VzIG5vdCBpbmNsdWRlIGFueSBzdHlsZXMuXG4gICAgICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgaW5jbHVkZSBhbGwgdGhlIGA8c3R5bGU+YCB0YWdzXG4gICAgICAqIHRoYXQgYXJlIHByZXNlbnQgaW4gdGhlIGA8aGVhZD5gIGVsZW1lbnQuXG4gICAgICAqL1xuICAgIGluY2x1ZGVTdHlsZXM/OiBib29sZWFuO1xuICB9O1xuICBCbG9ja3M6IHsgZGVmYXVsdDogW10gfTtcbn0+ID0gPHRlbXBsYXRlPlxuICB7eyNsZXQgKFNoYWRvdykgYXMgfHNoYWRvd3x9fVxuICAgIHt7IS0tIFRPRE86IFdlIG5lZWQgYSB3YXkgaW4gZW1iZXIgdG8gcmVuZGVyIGluIHRvIGEgc2hhZG93IGRvbSB3aXRob3V0IGFuIGVmZmVjdCAtLX19XG4gICAgPGRpdiB7e3NoYWRvdy5hdHRhY2h9fSAuLi5hdHRyaWJ1dGVzPjwvZGl2PlxuXG4gICAge3sjaWYgc2hhZG93LnJvb3R9fVxuICAgICAge3sjaW4tZWxlbWVudCBzaGFkb3cucm9vdH19XG5cbiAgICAgICAge3sjaWYgQGluY2x1ZGVTdHlsZXN9fVxuICAgICAgICAgIDxTdHlsZXMgLz5cbiAgICAgICAge3svaWZ9fVxuXG4gICAgICAgIHt7eWllbGR9fVxuXG4gICAgICB7ey9pbi1lbGVtZW50fX1cbiAgICB7ey9pZn19XG4gIHt7L2xldH19XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgU2hhZG93ZWQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0Y7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBVTtBQUN6Qjs7Ozs7O1VBTVU7QUFDVixxREFBVyxDQUFDO0FBQ1o7QUFDQSxDQUFDLENBQUMsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFVO0FBQ2Y7Ozs7Ozs7Ozs7Ozs7OztVQWVVO0FBQ1YseURBQVcsQ0FBQztBQUNaO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7In0="],"names":["Shadow","shadow","cell","root","current","attach","modifier","element","set","attachShadow","mode","getStyles","document","head","querySelectorAll","map","link","href","Styles","setComponentTemplate","precompileTemplate","strictMode","scope","templateOnly","Shadowed"],"mappings":";;;;;;AAKA,MAAMA,MAAM,GAAGA,MAAM;AACnB,EAAA,IAAIC,MAAM,GAAGC,IAAI,EAAc,CAAA;EAE/B,OAAO;IACL,IAAIC,IAAIA,GAAG;MAAE,OAAOF,MAAM,CAACG,OAAO,CAAA;KAAG;AACrCC,IAAAA,MAAM,EAAEC,QAAQ,CAAEC,OAAgB,IAAK;AACrCN,MAAAA,MAAM,CAACO,GAAG,CAACD,OAAO,CAACE,YAAY,CAAC;AAAEC,QAAAA,IAAI,EAAE,MAAA;AAAO,OAAC,CAAC,CAAC,CAAA;KACnD,CAAA;GACF,CAAA;AACH,CAAC,CAAA;;AAED;AACA;AACA;AACA,MAAMC,SAAS,GAAGA,MAAM,CAAC,GAAGC,QAAQ,CAACC,IAAI,CAACC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAACC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,IAAI,CAAC,CAAA;AAE5F,MAAMC,MAAM,GAAAC,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AACzB;;;;;;;AAOA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAX,IAAAA,SAAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA,EAAAY,YAAA,CAAW,UAAA,EAAA,QAAA,CAAA,CAAA,CAAA;;AAEX;AACA;AACA;MACaC,QAWX,GAAAL,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AACf;;;;;;;;;;;;;;;;AAgBA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAtB,MAAA;AAAAkB,IAAAA,MAAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA,EAAAK,YAAA,CAAW,UAAA,EAAA,UAAA,CAAA;;;;"}
@@ -0,0 +1,28 @@
1
+ import { Label } from "./typed-elements.js";
2
+ import { TOC } from '@ember/component/template-only';
3
+ import { WithBoundArgs } from '@glint/template';
4
+ interface Signature {
5
+ Element: HTMLInputElement;
6
+ Args: {
7
+ checked?: boolean;
8
+ disabled?: boolean;
9
+ onChange?: (checked: boolean, event: Event) => void;
10
+ };
11
+ Blocks: {
12
+ default?: [
13
+ {
14
+ Control: WithBoundArgs<typeof Checkbox, 'checked' | 'id'>;
15
+ Label: WithBoundArgs<typeof Label, 'for'>;
16
+ }
17
+ ];
18
+ };
19
+ }
20
+ declare const Checkbox: TOC<{
21
+ Element: HTMLInputElement;
22
+ Args: {
23
+ id: string;
24
+ checked?: boolean;
25
+ };
26
+ }>;
27
+ declare const Switch: TOC<Signature>;
28
+ export { Switch as default, Switch };
@@ -0,0 +1,33 @@
1
+ import templateOnly from '@ember/component/template-only';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { hash } from '@ember/helper';
5
+ import { uniqueId } from '../utils.js';
6
+ import { Label } from './typed-elements.js';
7
+
8
+ const Checkbox = setComponentTemplate(precompileTemplate(`
9
+ <input id={{@id}} type='checkbox' role='switch' checked={{@checked}} ...attributes />
10
+ `, {
11
+ strictMode: true
12
+ }), templateOnly("switch", "Checkbox"));
13
+ const Switch = setComponentTemplate(precompileTemplate(`
14
+ <div ...attributes data-prim-switch>
15
+ {{! @glint-nocheck }}
16
+ {{#let (uniqueId) as |id|}}
17
+ {{yield
18
+ (hash Control=(component Checkbox checked=@checked id=id) Label=(component Label for=id))
19
+ }}
20
+ {{/let}}
21
+ </div>
22
+ `, {
23
+ strictMode: true,
24
+ scope: () => ({
25
+ uniqueId,
26
+ hash,
27
+ Checkbox,
28
+ Label
29
+ })
30
+ }), templateOnly("switch", "Switch"));
31
+
32
+ export { Switch, Switch as default };
33
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sources":["../../src/components/switch.ts"],"sourcesContent":["// NOTE: https://github.com/emberjs/ember.js/issues/20165\nimport { hash } from '@ember/helper';\n\nimport { uniqueId } from '../utils';\nimport { Label } from './typed-elements';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\ninterface Signature {\n Element: HTMLInputElement;\n Args: {\n checked?: boolean;\n disabled?: boolean;\n onChange?: (checked: boolean, event: Event) => void;\n };\n Blocks: {\n default?: [\n {\n Control: WithBoundArgs<typeof Checkbox, 'checked' | 'id'>;\n Label: WithBoundArgs<typeof Label, 'for'>;\n }\n ];\n };\n}\n\nconst Checkbox: TOC<{\n Element: HTMLInputElement;\n Args: { id: string; checked?: boolean };\n}> = [__GLIMMER_TEMPLATE(`\n <input id={{@id}} type='checkbox' role='switch' checked={{@checked}} ...attributes />\n`, { strictMode: true })];\n\nexport const Switch: TOC<Signature> = [__GLIMMER_TEMPLATE(`\n <div ...attributes data-prim-switch>\n {{! @glint-nocheck }}\n {{#let (uniqueId) as |id|}}\n {{yield\n (hash Control=(component Checkbox checked=@checked id=id) Label=(component Label for=id))\n }}\n {{/let}}\n </div>\n`, { strictMode: true, scope: () => ({uniqueId,hash,Checkbox,Label}) })];\n\nexport default Switch;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlcyI6WyJzd2l0Y2guZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIE5PVEU6IGh0dHBzOi8vZ2l0aHViLmNvbS9lbWJlcmpzL2VtYmVyLmpzL2lzc3Vlcy8yMDE2NVxuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuXG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi90eXBlZC1lbGVtZW50cyc7XG5cbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcbmltcG9ydCB0eXBlIHsgV2l0aEJvdW5kQXJncyB9IGZyb20gJ0BnbGludC90ZW1wbGF0ZSc7XG5cbmludGVyZmFjZSBTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgY2hlY2tlZD86IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIG9uQ2hhbmdlPzogKGNoZWNrZWQ6IGJvb2xlYW4sIGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdD86IFtcbiAgICAgIHtcbiAgICAgICAgQ29udHJvbDogV2l0aEJvdW5kQXJnczx0eXBlb2YgQ2hlY2tib3gsICdjaGVja2VkJyB8ICdpZCc+O1xuICAgICAgICBMYWJlbDogV2l0aEJvdW5kQXJnczx0eXBlb2YgTGFiZWwsICdmb3InPjtcbiAgICAgIH1cbiAgICBdO1xuICB9O1xufVxuXG5jb25zdCBDaGVja2JveDogVE9DPHtcbiAgRWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgQXJnczogeyBpZDogc3RyaW5nOyBjaGVja2VkPzogYm9vbGVhbiB9O1xufT4gPSA8dGVtcGxhdGU+XG4gIDxpbnB1dCBpZD17e0BpZH19IHR5cGU9J2NoZWNrYm94JyByb2xlPSdzd2l0Y2gnIGNoZWNrZWQ9e3tAY2hlY2tlZH19IC4uLmF0dHJpYnV0ZXMgLz5cbjwvdGVtcGxhdGU+O1xuXG5leHBvcnQgY29uc3QgU3dpdGNoOiBUT0M8U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGRpdiAuLi5hdHRyaWJ1dGVzIGRhdGEtcHJpbS1zd2l0Y2g+XG4gICAge3shIEBnbGludC1ub2NoZWNrIH19XG4gICAge3sjbGV0ICh1bmlxdWVJZCkgYXMgfGlkfH19XG4gICAgICB7e3lpZWxkXG4gICAgICAgIChoYXNoIENvbnRyb2w9KGNvbXBvbmVudCBDaGVja2JveCBjaGVja2VkPUBjaGVja2VkIGlkPWlkKSBMYWJlbD0oY29tcG9uZW50IExhYmVsIGZvcj1pZCkpXG4gICAgICB9fVxuICAgIHt7L2xldH19XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFN3aXRjaDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pDO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFVO0FBQ2YsdUZBQXVGO0FBQ3ZGLHlCQUFXLENBQUM7QUFDWjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBVTtBQUNoRDs7Ozs7OztRQU9RO0FBQ1Isd0VBQVcsQ0FBQztBQUNaO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzsifQ=="],"names":["Checkbox","setComponentTemplate","precompileTemplate","strictMode","templateOnly","Switch","scope","uniqueId","hash","Label"],"mappings":";;;;;;;AA0BA,MAAMA,QAGJ,GAAAC,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AACf;AACA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAC,YAAA,CAAW,QAAA,EAAA,UAAA,CAAA,CAAA,CAAA;MAEEC,MAAsB,GAAAJ,oBAAA,CAAAC,kBAAA,CAAa,CAAA;AAChD;;;;;;;;AAQA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAG,EAAAA,KAAA,EAAAA,OAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAR,QAAA;AAAAS,IAAAA,KAAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA,EAAAL,YAAA,CAAW,QAAA,EAAA,QAAA,CAAA;;;;"}
@@ -0,0 +1,17 @@
1
+ import { TOC } from '@ember/component/template-only';
2
+ declare const Div: TOC<{
3
+ Element: HTMLDivElement;
4
+ Blocks: {
5
+ default: [];
6
+ };
7
+ }>;
8
+ declare const Label: TOC<{
9
+ Element: HTMLLabelElement;
10
+ Args: {
11
+ for: string;
12
+ };
13
+ Blocks: {
14
+ default: [];
15
+ };
16
+ }>;
17
+ export { Div, Label };
@@ -0,0 +1,13 @@
1
+ import templateOnly from '@ember/component/template-only';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+
5
+ const Div = setComponentTemplate(precompileTemplate(`<div ...attributes>{{yield}}</div>`, {
6
+ strictMode: true
7
+ }), templateOnly("typed-elements", "Div"));
8
+ const Label = setComponentTemplate(precompileTemplate(`<label for={{@for}} ...attributes>{{yield}}</label>`, {
9
+ strictMode: true
10
+ }), templateOnly("typed-elements", "Label"));
11
+
12
+ export { Div, Label };
13
+ //# sourceMappingURL=typed-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-elements.js","sources":["../../src/components/typed-elements.ts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\n\nexport const Div: TOC<{ Element: HTMLDivElement, Blocks: {default: []} }> = [__GLIMMER_TEMPLATE(`<div ...attributes>{{yield}}</div>`, { strictMode: true })];\n\nexport const Label: TOC<{ Element: HTMLLabelElement, Args: { for: string }, Blocks: { default: []}}> = [__GLIMMER_TEMPLATE(`<label for={{@for}} ...attributes>{{yield}}</label>`, { strictMode: true })];\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtZWxlbWVudHMuanMiLCJzb3VyY2VzIjpbInR5cGVkLWVsZW1lbnRzLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbmV4cG9ydCBjb25zdCBEaXY6IFRPQzx7IEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50LCBCbG9ja3M6IHtkZWZhdWx0OiBbXX0gfT4gPSA8dGVtcGxhdGU+PGRpdiAuLi5hdHRyaWJ1dGVzPnt7eWllbGR9fTwvZGl2PjwvdGVtcGxhdGU+O1xuXG5leHBvcnQgY29uc3QgTGFiZWw6IFRPQzx7IEVsZW1lbnQ6IEhUTUxMYWJlbEVsZW1lbnQsIEFyZ3M6IHsgZm9yOiBzdHJpbmcgfSwgQmxvY2tzOiB7IGRlZmF1bHQ6IFtdfX0+ID0gPHRlbXBsYXRlPjxsYWJlbCBmb3I9e3tAZm9yfX0gLi4uYXR0cmlidXRlcz57e3lpZWxkfX08L2xhYmVsPjwvdGVtcGxhdGU+O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFVLENBQUMsZ0NBQWdDLENBQUMseUJBQVcsQ0FBQztBQUNwSTtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQVUsQ0FBQyxpREFBaUQsQ0FBQyx5QkFBVyxDQUFDOyJ9"],"names":["Div","setComponentTemplate","precompileTemplate","strictMode","templateOnly","Label"],"mappings":";;;;MAEaA,GAA4D,GAAAC,oBAAA,CAAAC,kBAAA,CAAa,CAAkC,kCAAA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAC,YAAA,CAAW,gBAAA,EAAA,KAAA,CAAA,EAAA;MAEtHC,KAAuF,GAAAJ,oBAAA,CAAAC,kBAAA,CAAa,CAAmD,mDAAA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAC,YAAA,CAAW,gBAAA,EAAA,OAAA,CAAA;;;;"}
@@ -0,0 +1,88 @@
1
+ [aria-label='::missing::'] {
2
+ border: red;
3
+ }
4
+ label [aria-label='::missing::'] {
5
+ border: unset;
6
+ }
7
+
8
+ /**
9
+ * ExternalLink
10
+ */
11
+ a[href='##missing##'],
12
+ /**
13
+ * Switch
14
+ */
15
+ div[data-prim-switch]:has(input[role="switch"]):not(:has(label)) input[role="switch"] {
16
+ position: relative;
17
+ border: 1px solid black;
18
+ padding: 0.125rem 0.25rem;
19
+ border-radius: 0.125rem;
20
+ min-width: 10px;
21
+ }
22
+
23
+ :is(
24
+ /**
25
+ * ExternalLink
26
+ */
27
+ a[href='##missing##'],
28
+ /**
29
+ * Switch
30
+ */
31
+ div[data-prim-switch]:not(:has(label)):has(input[role="switch"]) input[role="switch"]
32
+ ):after {
33
+ color: red;
34
+ position: absolute;
35
+ font-size: 0.75rem;
36
+ font-family: monospace;
37
+ background: black;
38
+ padding: 0.125rem 0.25rem;
39
+ display: flex;
40
+ border-radius: 0.125rem;
41
+ transform: translate(0.5rem, 1rem);
42
+ left: 0;
43
+ bottom: 0;
44
+ width: max-content;
45
+ z-index: 10000000000000000;
46
+ }
47
+
48
+ a[href='##missing##']:after {
49
+ content: 'empty href';
50
+ }
51
+
52
+ div[data-prim-switch]:not(:has(label)):has(input[role='switch']) input[role='switch']:after {
53
+ content: 'missing label';
54
+ }
55
+
56
+ @media (prefers-color-scheme: light) {
57
+ :is(
58
+ a[href='##missing##'],
59
+ div[data-prim-switch]:has(input[role='switch']):not(:has(label)) input[role='switch']
60
+ ) {
61
+ border-color: black;
62
+ }
63
+ :is(
64
+ a[href='##missing##'],
65
+ div[data-prim-switch]:not(:has(label)):has(input[role='switch']) input[role='switch']
66
+ ):after {
67
+ background: white;
68
+ border: 1px solid black;
69
+ color: darkred;
70
+ }
71
+ }
72
+
73
+ @media (prefers-color-scheme: dark) {
74
+ :is(
75
+ a[href='##missing##'],
76
+ div[data-prim-switch]:has(input[role='switch']):not(:has(label)) input[role='switch']
77
+ ) {
78
+ border-color: red;
79
+ }
80
+ :is(
81
+ a[href='##missing##'],
82
+ div[data-prim-switch]:not(:has(label)):has(input[role='switch']) input[role='switch']
83
+ ):after {
84
+ background: #222;
85
+ border: 1px solid red;
86
+ color: red;
87
+ }
88
+ }
@@ -0,0 +1,14 @@
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 { GetService as default, service };
@@ -0,0 +1,15 @@
1
+ import Helper from '@ember/component/helper';
2
+ import { assert } from '@ember/debug';
3
+ import { getOwner } from '@ember/owner';
4
+
5
+ class GetService extends Helper {
6
+ compute(positional) {
7
+ let owner = getOwner(this);
8
+ assert(`Could not get owner.`, owner);
9
+ return owner.lookup(`service:${positional[0]}`);
10
+ }
11
+ }
12
+ const service = GetService;
13
+
14
+ export { GetService as default, service };
15
+ //# sourceMappingURL=service.js.map
@@ -0,0 +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\ninterface 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;;;;"}
@@ -0,0 +1 @@
1
+ export { service } from "./helpers/service.js";
@@ -0,0 +1,2 @@
1
+ export { service } from './helpers/service.js';
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export { ExternalLink } from "./components/external-link.js";
2
+ export { Link } from "./components/link.js";
3
+ export { Popover } from "./components/popover.js";
4
+ export { Shadowed } from "./components/shadowed.js";
5
+ export { Switch } from "./components/switch.js";
6
+ export * from "./helpers.js";
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ import { macroCondition, isDevelopingApp, importSync } from '@embroider/macros';
2
+ export { ExternalLink } from './components/external-link.js';
3
+ export { Link } from './components/link.js';
4
+ export { Popover } from './components/popover.js';
5
+ export { Shadowed } from './components/shadowed.js';
6
+ export { Switch } from './components/switch.js';
7
+ export { service } from './helpers/service.js';
8
+
9
+ if (macroCondition(isDevelopingApp())) {
10
+ importSync('./components/violations.css');
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros';\n\nif (macroCondition(isDevelopingApp())) {\n importSync('./components/violations.css');\n}\n\nexport { ExternalLink } from './components/external-link';\nexport { Link } from './components/link';\nexport { Popover } from './components/popover';\nexport { Shadowed } from './components/shadowed';\nexport { Switch } from './components/switch';\nexport * from './helpers';\n"],"names":["macroCondition","isDevelopingApp","importSync"],"mappings":";;;;;;;;AAEA,IAAIA,cAAc,CAACC,eAAe,EAAE,CAAC,EAAE;EACrCC,UAAU,CAAC,6BAA6B,CAAC,CAAA;AAC3C"}
@@ -0,0 +1,12 @@
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
+ export { properLinks };
@@ -0,0 +1,89 @@
1
+ import { assert } from '@ember/debug';
2
+ import { registerDestructor } from '@ember/destroyable';
3
+ import { getOwner } from '@ember/owner';
4
+
5
+ /**
6
+ * @internal
7
+ */
8
+
9
+ function properLinks(...args) {
10
+ let options = {};
11
+ let klass = undefined;
12
+ if (args.length === 2) {
13
+ options = args[0];
14
+ klass = args[1];
15
+ } else if (args.length === 1) {
16
+ if (typeof args[0] === 'object') {
17
+ // TODO: how to get first arg type correct?
18
+ return klass => properLinks(args[0], klass);
19
+ } else {
20
+ klass = args[0];
21
+ }
22
+ }
23
+ let ignore = options.ignore || [];
24
+ assert(`klass was not defined. possibile incorrect arity given to properLinks`, klass);
25
+ return class extends klass {
26
+ constructor(...args) {
27
+ 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));
43
+ }
44
+ };
45
+ }
46
+ function isLink(event) {
47
+ /**
48
+ * Using composed path in case the link is removed from the DOM
49
+ * before the event handler evaluates
50
+ */
51
+ let composedPath = event.composedPath();
52
+ for (let element of composedPath) {
53
+ if (element instanceof HTMLAnchorElement) {
54
+ return element;
55
+ }
56
+ }
57
+ }
58
+ function handle(router, element, ignore, event) {
59
+ /**
60
+ * The href includes the protocol/host/etc
61
+ * In order to not have the page look like a full page refresh,
62
+ * we need to chop that "origin" off, and just use the path
63
+ */
64
+ let url = new URL(element.href);
65
+
66
+ /**
67
+ * If the domains are different, we want to fall back to normal link behavior
68
+ *
69
+ */
70
+ if (location.origin !== url.origin) return;
71
+
72
+ /**
73
+ * We can optionally declare some paths as ignored,
74
+ * or "let the browser do its default thing,
75
+ * because there is other server-based routing to worry about"
76
+ */
77
+ if (ignore.includes(url.pathname)) return;
78
+ let routeInfo = router.recognize(url.pathname);
79
+ if (routeInfo) {
80
+ event.preventDefault();
81
+ event.stopImmediatePropagation();
82
+ event.stopPropagation();
83
+ router.transitionTo(url.pathname);
84
+ return false;
85
+ }
86
+ }
87
+
88
+ export { properLinks };
89
+ //# sourceMappingURL=proper-links.js.map
@@ -0,0 +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\ntype RouterType = typeof EmberRouter;\n\ninterface 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\nfunction 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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"}
@@ -0,0 +1,3 @@
1
+ interface Registry {
2
+ }
3
+ export { Registry as default };
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=template-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ declare function uniqueId(): any;
2
+ export { uniqueId };
package/dist/utils.js ADDED
@@ -0,0 +1,11 @@
1
+ // this is copy pasted from https://github.com/emberjs/ember.js/blob/60d2e0cddb353aea0d6e36a72fda971010d92355/packages/%40ember/-internals/glimmer/lib/helpers/unique-id.ts
2
+ // Unfortunately due to https://github.com/emberjs/ember.js/issues/20165 we cannot use the built-in version in template tags
3
+ function uniqueId() {
4
+ // @ts-expect-error this one-liner abuses weird JavaScript semantics that
5
+ // TypeScript (legitimately) doesn't like, but they're nonetheless valid and
6
+ // specced.
7
+ return ([3e7] + -1e3 + -4e3 + -2e3 + -1e11).replace(/[0-3]/g, a => (a * 4 ^ Math.random() * 16 >> (a & 2)).toString(16));
8
+ }
9
+
10
+ export { uniqueId };
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":["// this is copy pasted from https://github.com/emberjs/ember.js/blob/60d2e0cddb353aea0d6e36a72fda971010d92355/packages/%40ember/-internals/glimmer/lib/helpers/unique-id.ts\n// Unfortunately due to https://github.com/emberjs/ember.js/issues/20165 we cannot use the built-in version in template tags\nexport function uniqueId() {\n // @ts-expect-error this one-liner abuses weird JavaScript semantics that\n // TypeScript (legitimately) doesn't like, but they're nonetheless valid and\n // specced.\n return ([3e7] + -1e3 + -4e3 + -2e3 + -1e11).replace(/[0-3]/g, (a) =>\n ((a * 4) ^ ((Math.random() * 16) >> (a & 2))).toString(16)\n );\n}\n"],"names":["uniqueId","replace","a","Math","random","toString"],"mappings":"AAAA;AACA;AACO,SAASA,QAAQA,GAAG;AACzB;AACA;AACA;EACA,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAEC,OAAO,CAAC,QAAQ,EAAGC,CAAC,IAC9D,CAAEA,CAAC,GAAG,CAAC,GAAMC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,KAAMF,CAAC,GAAG,CAAC,CAAE,EAAEG,QAAQ,CAAC,EAAE,CAC3D,CAAC,CAAA;AACH;;;;"}
package/package.json ADDED
@@ -0,0 +1,119 @@
1
+ {
2
+ "name": "ember-primitives",
3
+ "version": "0.0.0",
4
+ "description": "Making apps easier to build",
5
+ "keywords": [
6
+ "ember-addon"
7
+ ],
8
+ "repository": "",
9
+ "license": "MIT",
10
+ "author": "nullvoxpopuli",
11
+ "files": [
12
+ "addon-main.cjs",
13
+ "dist"
14
+ ],
15
+ "scripts": {
16
+ "build": "rollup --config ./rollup.config.mjs",
17
+ "lint": "pnpm -w exec lint",
18
+ "lint:fix": "pnpm -w exec lint fix",
19
+ "lint:js": "pnpm -w exec lint js",
20
+ "lint:js:fix": "pnpm -w exec lint js:fix",
21
+ "lint:hbs": "pnpm -w exec lint hbs",
22
+ "lint:hbs:fix": "pnpm -w exec lint hbs:fix",
23
+ "lint:package": "pnpm publint",
24
+ "lint:prettier:fix": "pnpm -w exec lint prettier:fix",
25
+ "lint:prettier": "pnpm -w exec lint prettier",
26
+ "lint:types": "glint",
27
+ "start": "rollup --config --watch",
28
+ "test": "echo 'A v2 addon does not have tests, run tests in test-app'",
29
+ "prepack": "rollup --config"
30
+ },
31
+ "dependencies": {
32
+ "@babel/runtime": "^7.22.3",
33
+ "@embroider/addon-shim": "1.8.6-unstable.d120477",
34
+ "@embroider/macros": "1.11.1-unstable.d120477"
35
+ },
36
+ "devDependencies": {
37
+ "@babel/core": "^7.17.0",
38
+ "@babel/eslint-parser": "^7.21.8",
39
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
40
+ "@babel/plugin-proposal-decorators": "^7.22.3",
41
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
42
+ "@babel/plugin-syntax-decorators": "^7.22.3",
43
+ "@babel/preset-typescript": "^7.21.5",
44
+ "@embroider/addon-dev": "3.1.1-unstable.d120477",
45
+ "@glimmer/component": "^1.1.2",
46
+ "@glimmer/tracking": "^1.1.2",
47
+ "@glint/core": "^1.0.2",
48
+ "@glint/environment-ember-loose": "^1.0.2",
49
+ "@glint/environment-ember-template-imports": "^1.0.2",
50
+ "@glint/template": "^1.0.2",
51
+ "@nullvoxpopuli/eslint-configs": "^3.1.3",
52
+ "@tsconfig/ember": "^2.0.0",
53
+ "@typescript-eslint/eslint-plugin": "^5.59.8",
54
+ "@typescript-eslint/parser": "^5.59.8",
55
+ "concurrently": "^8.1.0",
56
+ "ember-modifier": "^4.1.0",
57
+ "ember-resources": "^6.1.0",
58
+ "ember-source": "~5.0.0",
59
+ "ember-template-imports": "^3.4.2",
60
+ "ember-template-lint": "^5.10.0",
61
+ "eslint": "^8.41.0",
62
+ "eslint-config-prettier": "^8.3.0",
63
+ "eslint-plugin-ember": "^11.8.0",
64
+ "eslint-plugin-node": "^11.1.0",
65
+ "eslint-plugin-prettier": "^4.0.0",
66
+ "prettier": "^2.8.8",
67
+ "publint": "^0.1.12",
68
+ "rollup": "~3.21.0",
69
+ "rollup-plugin-copy": "^3.4.0",
70
+ "rollup-plugin-glimmer-template-tag": "^0.4.1",
71
+ "rollup-plugin-ts": "^3.2.0",
72
+ "typescript": "^5.1.3"
73
+ },
74
+ "publishConfig": {
75
+ "registry": "https://registry.npmjs.org"
76
+ },
77
+ "ember": {
78
+ "edition": "octane"
79
+ },
80
+ "ember-addon": {
81
+ "version": 2,
82
+ "type": "addon",
83
+ "main": "addon-main.cjs",
84
+ "app-js": {
85
+ "./color-scheme.js": "./dist/_app_/color-scheme.js",
86
+ "./components/external-link.js": "./dist/_app_/components/external-link.js",
87
+ "./components/link.js": "./dist/_app_/components/link.js",
88
+ "./components/popover.js": "./dist/_app_/components/popover.js",
89
+ "./components/portal-targets.js": "./dist/_app_/components/portal-targets.js",
90
+ "./components/shadowed.js": "./dist/_app_/components/shadowed.js",
91
+ "./components/switch.js": "./dist/_app_/components/switch.js",
92
+ "./components/typed-elements.js": "./dist/_app_/components/typed-elements.js",
93
+ "./helpers/service.js": "./dist/_app_/helpers/service.js",
94
+ "./proper-links.js": "./dist/_app_/proper-links.js"
95
+ }
96
+ },
97
+ "exports": {
98
+ ".": "./dist/index.js",
99
+ "./*": {
100
+ "types": "./dist/*.d.ts",
101
+ "default": "./dist/*.js"
102
+ },
103
+ "./addon-main.js": "./addon-main.cjs"
104
+ },
105
+ "typesVersions": {
106
+ "*": {
107
+ "*": [
108
+ "dist/*"
109
+ ]
110
+ }
111
+ },
112
+ "peerDependencies": {
113
+ "@glimmer/component": "^1.1.2",
114
+ "@glimmer/tracking": "^1.1.2",
115
+ "ember-modifier": "^4.1.0",
116
+ "ember-resources": "^6.1.0",
117
+ "ember-source": "~4.12.0"
118
+ }
119
+ }