@hokulea/ember 0.4.0 → 0.5.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 (44) hide show
  1. package/declarations/-private/helpers.d.ts +2 -1
  2. package/declarations/-private/helpers.d.ts.map +1 -1
  3. package/declarations/components/page.d.ts.map +1 -1
  4. package/declarations/components/tabs.d.ts +53 -0
  5. package/declarations/components/tabs.d.ts.map +1 -0
  6. package/declarations/index.d.ts +1 -0
  7. package/declarations/index.d.ts.map +1 -1
  8. package/declarations/template-registry.d.ts +2 -0
  9. package/declarations/template-registry.d.ts.map +1 -1
  10. package/declarations/test-support/index.d.ts +1 -0
  11. package/declarations/test-support/index.d.ts.map +1 -1
  12. package/declarations/test-support/page-objects/tabs.d.ts +12 -0
  13. package/declarations/test-support/page-objects/tabs.d.ts.map +1 -0
  14. package/dist/_app_/components/tabs.js +1 -0
  15. package/dist/components/app-header.js +1 -1
  16. package/dist/components/card.js +1 -1
  17. package/dist/components/checkbox.js +1 -1
  18. package/dist/components/currency-input.js +1 -1
  19. package/dist/components/date-input.js +1 -1
  20. package/dist/components/email-input.js +1 -1
  21. package/dist/components/form.js +1 -1
  22. package/dist/components/list.js +3 -3
  23. package/dist/components/list.js.map +1 -1
  24. package/dist/components/menu.js +3 -3
  25. package/dist/components/menu.js.map +1 -1
  26. package/dist/components/number-input.js +1 -1
  27. package/dist/components/page.js +2 -2
  28. package/dist/components/page.js.map +1 -1
  29. package/dist/components/password-input.js +1 -1
  30. package/dist/components/phone-input.js +1 -1
  31. package/dist/components/radio.js +1 -1
  32. package/dist/components/range-input.js +1 -1
  33. package/dist/components/tabs.js +101 -0
  34. package/dist/components/tabs.js.map +1 -0
  35. package/dist/components/text-area.js +1 -1
  36. package/dist/components/text-input.js +1 -1
  37. package/dist/{helpers-DApiJrHl.js → helpers-BE5oF0B1.js} +3 -2
  38. package/dist/helpers-BE5oF0B1.js.map +1 -0
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/test-support/index.js +23 -2
  42. package/dist/test-support/index.js.map +1 -1
  43. package/package.json +8 -6
  44. package/dist/helpers-DApiJrHl.js.map +0 -1
@@ -3,8 +3,9 @@ declare const or: (...conditions: unknown[]) => unknown;
3
3
  declare const and: (a: unknown, b: unknown) => unknown;
4
4
  declare const eq: (a: unknown, b: unknown) => boolean;
5
5
  declare const not: (a: boolean) => boolean;
6
+ declare const notEq: (a: unknown, b: unknown) => boolean;
6
7
  declare const asString: (value: unknown) => string;
7
8
  declare const asNumber: (value: unknown) => number;
8
9
  declare const asBoolean: (value: unknown) => boolean;
9
- export { and, asBoolean, asNumber, asString, eq, not, or, pick };
10
+ export { and, asBoolean, asNumber, asString, eq, not, notEq, or, pick };
10
11
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/-private/helpers.ts"],"names":[],"mappings":"AAGA,iBAAS,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,WAC1C,MAAM,KAAG,CAAC,GAAG,IAAI,CAS1C;AAED,QAAA,MAAM,EAAE,kBAAmB,OAAO,EAAE,YAA+C,CAAC;AAEpF,QAAA,MAAM,GAAG,MAAO,OAAO,KAAK,OAAO,YAAW,CAAC;AAE/C,QAAA,MAAM,EAAE,MAAO,OAAO,KAAK,OAAO,YAAY,CAAC;AAE/C,QAAA,MAAM,GAAG,MAAO,OAAO,YAAO,CAAC;AAE/B,QAAA,MAAM,QAAQ,UAAW,OAAO,KAAG,MAElC,CAAC;AAEF,QAAA,MAAM,QAAQ,UAAW,OAAO,KAAG,MAElC,CAAC;AAEF,QAAA,MAAM,SAAS,UAAW,OAAO,KAAG,OAEnC,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/-private/helpers.ts"],"names":[],"mappings":"AAGA,iBAAS,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,WAC1C,MAAM,KAAG,CAAC,GAAG,IAAI,CAS1C;AAED,QAAA,MAAM,EAAE,kBAAmB,OAAO,EAAE,YAA+C,CAAC;AAEpF,QAAA,MAAM,GAAG,MAAO,OAAO,KAAK,OAAO,YAAW,CAAC;AAE/C,QAAA,MAAM,EAAE,MAAO,OAAO,KAAK,OAAO,YAAY,CAAC;AAE/C,QAAA,MAAM,GAAG,MAAO,OAAO,YAAO,CAAC;AAE/B,QAAA,MAAM,KAAK,MAAO,OAAO,KAAK,OAAO,YAAY,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,OAAO,KAAG,MAElC,CAAC;AAEF,QAAA,MAAM,QAAQ,UAAW,OAAO,KAAG,MAElC,CAAC;AAEF,QAAA,MAAM,SAAS,UAAW,OAAO,KAAG,OAEnC,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/components/page.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAW3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,UAAU,gBAAgB;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH;AAED,QAAA,MAAM,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAWjC,CAAC;AA+BH,UAAU,aAAa;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,WAAW,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,CAAC;CACH;AAED,cAAM,IAAK,SAAQ,SAAS,CAAC,aAAa,CAAC;IACT,UAAU,EAAE,OAAO,CAAC;IAEpD,IACI,QAAQ,YAEX;CAmEF;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/components/page.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAW3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,UAAU,gBAAgB;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH;AAED,QAAA,MAAM,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAejC,CAAC;AA+BH,UAAU,aAAa;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,WAAW,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,CAAC;CACH;AAED,cAAM,IAAK,SAAQ,SAAS,CAAC,aAAa,CAAC;IACT,UAAU,EAAE,OAAO,CAAC;IAEpD,IACI,QAAQ,YAEX;CAmEF;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,53 @@
1
+ import Component from '@glimmer/component';
2
+ import { type Orientation, type TablistBehavior } from 'ember-aria-voyager';
3
+ import type Owner from '@ember/owner';
4
+ import type { WithBoundArgs } from '@glint/template';
5
+ export declare const TabValue: unique symbol;
6
+ type TabSignature = {
7
+ Element: HTMLDivElement;
8
+ Args: {
9
+ tablist: string;
10
+ register: (tab: Tab) => void;
11
+ unregister: (tab: Tab) => void;
12
+ label?: string;
13
+ value?: unknown;
14
+ selection?: unknown;
15
+ };
16
+ Blocks: {
17
+ default?: [];
18
+ label?: [];
19
+ content?: [];
20
+ };
21
+ };
22
+ declare class Tab extends Component<TabSignature> {
23
+ constructor(owner: Owner, args: TabSignature['Args']);
24
+ get id(): {};
25
+ }
26
+ interface TabsSignature {
27
+ Element: HTMLDivElement;
28
+ Args: {
29
+ disabled?: boolean;
30
+ selection?: unknown;
31
+ update?: (value: unknown) => void;
32
+ behavior?: TablistBehavior;
33
+ orientation?: Orientation;
34
+ };
35
+ Blocks: {
36
+ default: [
37
+ {
38
+ Tab: WithBoundArgs<typeof Tab, 'selection' | 'tablist' | 'register' | 'unregister'>;
39
+ }
40
+ ];
41
+ };
42
+ }
43
+ export default class Tabs extends Component<TabsSignature> {
44
+ tabs: Tab[];
45
+ internalSelection?: Tab;
46
+ get items(): {}[];
47
+ get selection(): {} | undefined;
48
+ register: (tab: Tab) => void;
49
+ unregister: (tab: Tab) => void;
50
+ select: (id: string | unknown) => void;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAQ3C,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUzF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,QAAQ,eAAqB,CAAC;AAS3C,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;QAC7B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,CAAC;CACH,CAAC;AAEF,cAAM,GAAI,SAAQ,SAAS,CAAC,YAAY,CAAC;gBAC3B,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAUpD,IACI,EAAE,OAEL;CAqDF;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,GAAG,EAAE,aAAa,CAAC,OAAO,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC,CAAC;aACrF;SACF,CAAC;KACH,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC/C,IAAI,EAAE,GAAG,EAAE,CAAsB;IACjC,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAEjC,IAAI,KAAK,SAER;IAED,IAAI,SAAS,mBAEZ;IAED,QAAQ,QAAS,GAAG,UAKlB;IAEF,UAAU,QAAS,GAAG,UAKpB;IAEF,MAAM,OAAQ,MAAM,GAAG,OAAO,UAK5B;CA6BH"}
@@ -21,6 +21,7 @@ export { default as Form } from './components/form';
21
21
  export { default as AppHeader } from './components/app-header';
22
22
  export { default as Page } from './components/page';
23
23
  export { default as Menu } from './components/menu';
24
+ export { default as Tabs } from './components/tabs';
24
25
  export { default as Box } from './components/box';
25
26
  export { default as Card } from './components/card';
26
27
  export { default as Section } from './components/section';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAI7D,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEnF,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAI7D,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEnF,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -21,6 +21,7 @@ import type Radio from './components/radio';
21
21
  import type RangeInput from './components/range-input';
22
22
  import type Section from './components/section';
23
23
  import type Select from './components/select';
24
+ import type Tabs from './components/tabs';
24
25
  import type TextArea from './components/text-area';
25
26
  import type TextInput from './components/text-input';
26
27
  import type popover from './helpers/popover';
@@ -46,6 +47,7 @@ export default interface HokuleaRegistry {
46
47
  RangeInput: typeof RangeInput;
47
48
  Section: typeof Section;
48
49
  Select: typeof Select;
50
+ Tabs: typeof Tabs;
49
51
  TextArea: typeof TextArea;
50
52
  TextInput: typeof TextInput;
51
53
  InputBuilder: typeof InputBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"template-registry.d.ts","sourceRoot":"","sources":["../src/template-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,eAAe;IACtC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,IAAI,EAAE,OAAO,IAAI,CAAC;IAGlB,OAAO,EAAE,OAAO,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"template-registry.d.ts","sourceRoot":"","sources":["../src/template-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,eAAe;IACtC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,IAAI,EAAE,OAAO,IAAI,CAAC;IAGlB,OAAO,EAAE,OAAO,OAAO,CAAC;CACzB"}
@@ -14,5 +14,6 @@ export { PillButtonPageObject } from './page-objects/pill-button';
14
14
  export { PopoverPageObject } from './page-objects/popover';
15
15
  export { SectionPageObject } from './page-objects/section';
16
16
  export { SelectPageObject } from './page-objects/select';
17
+ export { TabsPageObject } from './page-objects/tabs';
17
18
  export { TextAreaPageObject } from './page-objects/text-area';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test-support/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test-support/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { PageObject } from 'fractal-page-object';
2
+ import type { ElementLike } from 'fractal-page-object';
3
+ export declare class TabsPageObject extends PageObject<HTMLDivElement> {
4
+ static SELECTOR: string;
5
+ constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null);
6
+ get control(): HTMLDivElement;
7
+ $tablist: PageObject<HTMLDivElement>;
8
+ $tab: PageObject<HTMLButtonElement>;
9
+ $tabpanel: PageObject<HTMLElement>;
10
+ select(value: unknown): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/test-support/page-objects/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAQlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,cAAe,SAAQ,UAAU,CAAC,cAAc,CAAC;IAC5D,MAAM,CAAC,QAAQ,SAAsB;gBAEzB,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9F,IAAI,OAAO,IACuB,cAAc,CAC/C;IAED,QAAQ,6BAA2C;IACnD,IAAI,gCAA0C;IAC9C,SAAS,0BAAyC;IAE5C,MAAM,CAAC,KAAK,EAAE,OAAO;CAQ5B"}
@@ -0,0 +1 @@
1
+ export { default } from "@hokulea/ember/components/tabs";
@@ -8,7 +8,7 @@ import { Link } from 'ember-link';
8
8
  import { modifier } from 'ember-modifier';
9
9
  import { provide } from 'ember-provide-consume-context';
10
10
  import styles from '@hokulea/core/navigation.module.css';
11
- import { a as and, o as or, n as not } from '../helpers-DApiJrHl.js';
11
+ import { a as and, o as or, n as not } from '../helpers-BE5oF0B1.js';
12
12
  import popover from '../helpers/popover.js';
13
13
  import IconButton from './icon-button.js';
14
14
  import Menu from './menu.js';
@@ -1,5 +1,5 @@
1
1
  import styles from '@hokulea/core/content.module.css';
2
- import { o as or } from '../helpers-DApiJrHl.js';
2
+ import { o as or } from '../helpers-BE5oF0B1.js';
3
3
  import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
5
5
  import templateOnly from '@ember/component/template-only';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { p as pickAsNumber } from '../-input-DGR-n9U_.js';
5
5
  import TextInput from './input-builder.js';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -13,7 +13,7 @@ import { precompileTemplate } from '@ember/template-compilation';
13
13
  import { setComponentTemplate } from '@ember/component';
14
14
  import templateOnly from '@ember/component/template-only';
15
15
  import Checkbox from './checkbox.js';
16
- import { b as asBoolean, c as asNumber, d as asString, e as eq } from '../helpers-DApiJrHl.js';
16
+ import { b as asBoolean, c as asNumber, d as asString, e as eq } from '../helpers-BE5oF0B1.js';
17
17
  import CurrencyInput from './currency-input.js';
18
18
  import DateInput from './date-input.js';
19
19
  import EmailInput from './email-input.js';
@@ -3,7 +3,7 @@ import { tracked } from '@glimmer/tracking';
3
3
  import { registerDestructor } from '@ember/destroyable';
4
4
  import { hash } from '@ember/helper';
5
5
  import { next } from '@ember/runloop';
6
- import { listbox } from 'ember-aria-voyager';
6
+ import { ariaListbox } from 'ember-aria-voyager';
7
7
  import { TrackedArray } from 'tracked-built-ins';
8
8
  import styles from '@hokulea/core/controls.module.css';
9
9
  import { precompileTemplate } from '@ember/template-compilation';
@@ -51,10 +51,10 @@ class List extends Component {
51
51
  return this.args.value === option1;
52
52
  };
53
53
  static {
54
- setComponentTemplate(precompileTemplate("\n <div class={{styles.list}} data-test-list ...attributes {{!--@glint-ignore--}} {{listbox items=this.items selection=@value multi=@multiple disabled=@disabled select=@update activateItem=@activateItem}}>\n {{yield (hash Option=(component this.Option isSelected=this.isSelected registerItem=this.registerItem unregisterItem=this.unregisterItem))}}\n </div>\n ", {
54
+ setComponentTemplate(precompileTemplate("\n <div class={{styles.list}} data-test-list ...attributes {{!--@glint-ignore--}} {{ariaListbox items=this.items selection=@value multi=@multiple disabled=@disabled select=@update activateItem=@activateItem}}>\n {{yield (hash Option=(component this.Option isSelected=this.isSelected registerItem=this.registerItem unregisterItem=this.unregisterItem))}}\n </div>\n ", {
55
55
  scope: () => ({
56
56
  styles,
57
- listbox,
57
+ ariaListbox,
58
58
  hash
59
59
  }),
60
60
  strictMode: true
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../src/components/list.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { listbox } from 'ember-aria-voyager';\nimport { TrackedArray } from 'tracked-built-ins';\nimport styles from '@hokulea/core/controls.module.css';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nexport interface OptionSignature<V> {\n Element: HTMLOptionElement;\n Args: {\n value: V;\n isSelected: (option: V) => boolean;\n registerItem: (item: V) => void;\n unregisterItem: (item: V) => void;\n };\n Blocks: {\n default: [];\n };\n}\nlet Option = class Option<V> extends Component<OptionSignature<V>> {\n constructor(owner1: Owner, args1: OptionSignature<V>['Args']){\n super(owner1, args1);\n args1.registerItem(args1.value);\n registerDestructor(this, ()=>{\n args1.unregisterItem(args1.value);\n });\n }\n static{\n template(`\n <span role=\"option\" aria-selected={{if (@isSelected @value) \"true\"}}>\n {{yield}}\n </span>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\nexport interface ListSignature<V> {\n Element: HTMLDivElement;\n Args: {\n multiple?: boolean;\n disabled?: boolean;\n value?: V | V[];\n update?: (value: V | V[]) => void;\n activateItem?: (value: V) => void;\n };\n Blocks: {\n default: [{\n Option: WithBoundArgs<typeof Option, 'isSelected' | 'registerItem' | 'unregisterItem'>;\n }];\n };\n}\nexport default class List<V> extends Component<ListSignature<V>> {\n Option = Option<V>;\n @tracked\n items: V[] = new TrackedArray();\n registerItem = (item1: V)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.push(item1);\n });\n };\n unregisterItem = (item1: V)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.splice(this.items.indexOf(item1), 1);\n });\n };\n isSelected = (option1: V)=>{\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option1);\n }\n return this.args.value === option1;\n };\n static{\n template(`\n <div\n class={{styles.list}}\n data-test-list\n ...attributes\n {{!@glint-ignore}}\n {{listbox\n items=this.items\n selection=@value\n multi=@multiple\n disabled=@disabled\n select=@update\n activateItem=@activateItem\n }}\n >\n {{yield\n (hash\n Option=(component\n this.Option\n isSelected=this.isSelected\n registerItem=this.registerItem\n unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2xpc3QuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZW1iZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgbmV4dCB9IGZyb20gJ0BlbWJlci9ydW5sb29wJztcblxuaW1wb3J0IHsgbGlzdGJveCB9IGZyb20gJ2VtYmVyLWFyaWEtdm95YWdlcic7XG5pbXBvcnQgeyBUcmFja2VkQXJyYXkgfSBmcm9tICd0cmFja2VkLWJ1aWx0LWlucyc7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9jb250cm9scy5tb2R1bGUuY3NzJztcblxuaW1wb3J0IHR5cGUgT3duZXIgZnJvbSAnQGVtYmVyL293bmVyJztcbmltcG9ydCB0eXBlIHsgV2l0aEJvdW5kQXJncyB9IGZyb20gJ0BnbGludC90ZW1wbGF0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uU2lnbmF0dXJlPFY-IHtcbiAgRWxlbWVudDogSFRNTE9wdGlvbkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICB2YWx1ZTogVjtcbiAgICBpc1NlbGVjdGVkOiAob3B0aW9uOiBWKSA9PiBib29sZWFuO1xuICAgIHJlZ2lzdGVySXRlbTogKGl0ZW06IFYpID0-IHZvaWQ7XG4gICAgdW5yZWdpc3Rlckl0ZW06IChpdGVtOiBWKSA9PiB2b2lkO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbn1cblxuY2xhc3MgT3B0aW9uPFY-IGV4dGVuZHMgQ29tcG9uZW50PE9wdGlvblNpZ25hdHVyZTxWPj4ge1xuICBjb25zdHJ1Y3Rvcihvd25lcjogT3duZXIsIGFyZ3M6IE9wdGlvblNpZ25hdHVyZTxWPlsnQXJncyddKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuXG4gICAgYXJncy5yZWdpc3Rlckl0ZW0oYXJncy52YWx1ZSk7XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3IodGhpcywgKCkgPT4ge1xuICAgICAgYXJncy51bnJlZ2lzdGVySXRlbShhcmdzLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3BhbiByb2xlPVwib3B0aW9uXCIgYXJpYS1zZWxlY3RlZD17e2lmIChAaXNTZWxlY3RlZCBAdmFsdWUpIFwidHJ1ZVwifX0-XG4gICAgICB7e3lpZWxkfX1cbiAgICA8L3NwYW4-XG4gIDwvdGVtcGxhdGU-XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFNpZ25hdHVyZTxWPiB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgbXVsdGlwbGU_OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICB2YWx1ZT86IFYgfCBWW107XG4gICAgdXBkYXRlPzogKHZhbHVlOiBWIHwgVltdKSA9PiB2b2lkO1xuICAgIGFjdGl2YXRlSXRlbT86ICh2YWx1ZTogVikgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICBPcHRpb246IFdpdGhCb3VuZEFyZ3M8dHlwZW9mIE9wdGlvbjxWPiwgJ2lzU2VsZWN0ZWQnIHwgJ3JlZ2lzdGVySXRlbScgfCAndW5yZWdpc3Rlckl0ZW0nPjtcbiAgICAgIH1cbiAgICBdO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXN0PFY-IGV4dGVuZHMgQ29tcG9uZW50PExpc3RTaWduYXR1cmU8Vj4-IHtcbiAgT3B0aW9uID0gT3B0aW9uPFY-O1xuXG4gIEB0cmFja2VkIGl0ZW1zOiBWW10gPSBuZXcgVHJhY2tlZEFycmF5KCk7XG5cbiAgcmVnaXN0ZXJJdGVtID0gKGl0ZW06IFYpID0-IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZW1iZXIvbm8tcnVubG9vcFxuICAgIG5leHQoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHVucmVnaXN0ZXJJdGVtID0gKGl0ZW06IFYpID0-IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZW1iZXIvbm8tcnVubG9vcFxuICAgIG5leHQoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICB9KTtcbiAgfTtcblxuICBpc1NlbGVjdGVkID0gKG9wdGlvbjogVikgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuYXJncy52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFyZ3MudmFsdWUuaW5jbHVkZXMob3B0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcmdzLnZhbHVlID09PSBvcHRpb247XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPXt7c3R5bGVzLmxpc3R9fVxuICAgICAgZGF0YS10ZXN0LWxpc3RcbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIHt7IUBnbGludC1pZ25vcmV9fVxuICAgICAge3tsaXN0Ym94XG4gICAgICAgIGl0ZW1zPXRoaXMuaXRlbXNcbiAgICAgICAgc2VsZWN0aW9uPUB2YWx1ZVxuICAgICAgICBtdWx0aT1AbXVsdGlwbGVcbiAgICAgICAgZGlzYWJsZWQ9QGRpc2FibGVkXG4gICAgICAgIHNlbGVjdD1AdXBkYXRlXG4gICAgICAgIGFjdGl2YXRlSXRlbT1AYWN0aXZhdGVJdGVtXG4gICAgICB9fVxuICAgID5cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBPcHRpb249KGNvbXBvbmVudFxuICAgICAgICAgICAgdGhpcy5PcHRpb25cbiAgICAgICAgICAgIGlzU2VsZWN0ZWQ9dGhpcy5pc1NlbGVjdGVkXG4gICAgICAgICAgICByZWdpc3Rlckl0ZW09dGhpcy5yZWdpc3Rlckl0ZW1cbiAgICAgICAgICAgIHVucmVnaXN0ZXJJdGVtPXRoaXMudW5yZWdpc3Rlckl0ZW1cbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["Option","Component","constructor","owner1","args1","registerItem","value","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","strictMode","List","g","prototype","tracked","TrackedArray","i","void 0","item1","next","items","push","splice","indexOf","isSelected","option1","Array","isArray","args","includes","scope","styles","listbox","hash"],"mappings":";;;;;;;;;;;;AA2BA,IAAAA,MAAM,GAAN,MAAMA,MAAA,SAAkBC,SAAA,CAA0B;EAChDC,WAAYC,CAAAA,MAAY,EAAEC,KAAgC,EAAE;IAC1D,KAAK,CAACD,MAAA,EAAOC,KAAA,CAAA,CAAA;AAEbA,IAAAA,KAAA,CAAKC,YAAY,CAACD,KAAA,CAAKE,KAAK,CAAA,CAAA;IAE5BC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBH,MAAAA,KAAA,CAAKI,cAAc,CAACJ,KAAA,CAAKE,KAAK,CAAA,CAAA;AAChC,KAAA,CAAA,CAAA;AACF,GAAA;AAEA,EAAA;IAAAG,oBAAA,CAAAC,kBAAA,CAIA,mHAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ,CAAA,CAAA;AAoBe,MAAMC,IAAA,SAAgBX,SAAA,CAAwB;AAC3DD,EAAAA,MAAA,GAASA,MAAA,CAAA;AAAU,EAAA;IAAAa,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAElBC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAqB,IAAIC,YAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,MAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAE1Bb,EAAAA,YAAA,GAAgBc,KAAM,IAAA;AACpB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,KAAA,CAAA,CAAA;AAClB,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAX,EAAAA,cAAA,GAAkBW,KAAM,IAAA;AACtB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACE,MAAM,CAAC,IAAI,CAACF,KAAK,CAACG,OAAO,CAACL,KAAA,CAAO,EAAA,CAAA,CAAA,CAAA;AAC9C,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAM,EAAAA,UAAA,GAAcC,OAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACC,IAAI,CAACvB,KAAK,CAAG,EAAA;MAClC,OAAO,IAAI,CAACuB,IAAI,CAACvB,KAAK,CAACwB,QAAQ,CAACJ,OAAA,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,OAAO,IAAI,CAACG,IAAI,CAACvB,KAAK,KAAKoB,OAAA,CAAA;AAC7B,GAAA,CAAA;AAEA,EAAA;IAAAjB,oBAAA,CAAAC,kBAAA,CA0BA,sXAAA,EAAA;AAAAqB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,OAAA;AAAAC,QAAAA,IAAAA;AAAA,OAAA,CAAA;MAAAvB,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../src/components/list.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { ariaListbox } from 'ember-aria-voyager';\nimport { TrackedArray } from 'tracked-built-ins';\nimport styles from '@hokulea/core/controls.module.css';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nexport interface OptionSignature<V> {\n Element: HTMLOptionElement;\n Args: {\n value: V;\n isSelected: (option: V) => boolean;\n registerItem: (item: V) => void;\n unregisterItem: (item: V) => void;\n };\n Blocks: {\n default: [];\n };\n}\nlet Option = class Option<V> extends Component<OptionSignature<V>> {\n constructor(owner1: Owner, args1: OptionSignature<V>['Args']){\n super(owner1, args1);\n args1.registerItem(args1.value);\n registerDestructor(this, ()=>{\n args1.unregisterItem(args1.value);\n });\n }\n static{\n template(`\n <span role=\"option\" aria-selected={{if (@isSelected @value) \"true\"}}>\n {{yield}}\n </span>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\nexport interface ListSignature<V> {\n Element: HTMLDivElement;\n Args: {\n multiple?: boolean;\n disabled?: boolean;\n value?: V | V[];\n update?: (value: V | V[]) => void;\n activateItem?: (value: V) => void;\n };\n Blocks: {\n default: [{\n Option: WithBoundArgs<typeof Option, 'isSelected' | 'registerItem' | 'unregisterItem'>;\n }];\n };\n}\nexport default class List<V> extends Component<ListSignature<V>> {\n Option = Option<V>;\n @tracked\n items: V[] = new TrackedArray();\n registerItem = (item1: V)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.push(item1);\n });\n };\n unregisterItem = (item1: V)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.splice(this.items.indexOf(item1), 1);\n });\n };\n isSelected = (option1: V)=>{\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option1);\n }\n return this.args.value === option1;\n };\n static{\n template(`\n <div\n class={{styles.list}}\n data-test-list\n ...attributes\n {{!@glint-ignore}}\n {{ariaListbox\n items=this.items\n selection=@value\n multi=@multiple\n disabled=@disabled\n select=@update\n activateItem=@activateItem\n }}\n >\n {{yield\n (hash\n Option=(component\n this.Option\n isSelected=this.isSelected\n registerItem=this.registerItem\n unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2xpc3QuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZW1iZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgbmV4dCB9IGZyb20gJ0BlbWJlci9ydW5sb29wJztcblxuaW1wb3J0IHsgYXJpYUxpc3Rib3ggfSBmcm9tICdlbWJlci1hcmlhLXZveWFnZXInO1xuaW1wb3J0IHsgVHJhY2tlZEFycmF5IH0gZnJvbSAndHJhY2tlZC1idWlsdC1pbnMnO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJ0Bob2t1bGVhL2NvcmUvY29udHJvbHMubW9kdWxlLmNzcyc7XG5cbmltcG9ydCB0eXBlIE93bmVyIGZyb20gJ0BlbWJlci9vd25lcic7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvblNpZ25hdHVyZTxWPiB7XG4gIEVsZW1lbnQ6IEhUTUxPcHRpb25FbGVtZW50O1xuICBBcmdzOiB7XG4gICAgdmFsdWU6IFY7XG4gICAgaXNTZWxlY3RlZDogKG9wdGlvbjogVikgPT4gYm9vbGVhbjtcbiAgICByZWdpc3Rlckl0ZW06IChpdGVtOiBWKSA9PiB2b2lkO1xuICAgIHVucmVnaXN0ZXJJdGVtOiAoaXRlbTogVikgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG59XG5cbmNsYXNzIE9wdGlvbjxWPiBleHRlbmRzIENvbXBvbmVudDxPcHRpb25TaWduYXR1cmU8Vj4-IHtcbiAgY29uc3RydWN0b3Iob3duZXI6IE93bmVyLCBhcmdzOiBPcHRpb25TaWduYXR1cmU8Vj5bJ0FyZ3MnXSkge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcblxuICAgIGFyZ3MucmVnaXN0ZXJJdGVtKGFyZ3MudmFsdWUpO1xuXG4gICAgcmVnaXN0ZXJEZXN0cnVjdG9yKHRoaXMsICgpID0-IHtcbiAgICAgIGFyZ3MudW5yZWdpc3Rlckl0ZW0oYXJncy52YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPHNwYW4gcm9sZT1cIm9wdGlvblwiIGFyaWEtc2VsZWN0ZWQ9e3tpZiAoQGlzU2VsZWN0ZWQgQHZhbHVlKSBcInRydWVcIn19PlxuICAgICAge3t5aWVsZH19XG4gICAgPC9zcGFuPlxuICA8L3RlbXBsYXRlPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTaWduYXR1cmU8Vj4ge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgdmFsdWU_OiBWIHwgVltdO1xuICAgIHVwZGF0ZT86ICh2YWx1ZTogViB8IFZbXSkgPT4gdm9pZDtcbiAgICBhY3RpdmF0ZUl0ZW0_OiAodmFsdWU6IFYpID0-IHZvaWQ7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgT3B0aW9uOiBXaXRoQm91bmRBcmdzPHR5cGVvZiBPcHRpb248Vj4sICdpc1NlbGVjdGVkJyB8ICdyZWdpc3Rlckl0ZW0nIHwgJ3VucmVnaXN0ZXJJdGVtJz47XG4gICAgICB9XG4gICAgXTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlzdDxWPiBleHRlbmRzIENvbXBvbmVudDxMaXN0U2lnbmF0dXJlPFY-PiB7XG4gIE9wdGlvbiA9IE9wdGlvbjxWPjtcblxuICBAdHJhY2tlZCBpdGVtczogVltdID0gbmV3IFRyYWNrZWRBcnJheSgpO1xuXG4gIHJlZ2lzdGVySXRlbSA9IChpdGVtOiBWKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVtYmVyL25vLXJ1bmxvb3BcbiAgICBuZXh0KCgpID0-IHtcbiAgICAgIHRoaXMuaXRlbXMucHVzaChpdGVtKTtcbiAgICB9KTtcbiAgfTtcblxuICB1bnJlZ2lzdGVySXRlbSA9IChpdGVtOiBWKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVtYmVyL25vLXJ1bmxvb3BcbiAgICBuZXh0KCgpID0-IHtcbiAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XG4gICAgfSk7XG4gIH07XG5cbiAgaXNTZWxlY3RlZCA9IChvcHRpb246IFYpID0-IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmFyZ3MudmFsdWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5hcmdzLnZhbHVlLmluY2x1ZGVzKG9wdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJncy52YWx1ZSA9PT0gb3B0aW9uO1xuICB9O1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz17e3N0eWxlcy5saXN0fX1cbiAgICAgIGRhdGEtdGVzdC1saXN0XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICB7eyFAZ2xpbnQtaWdub3JlfX1cbiAgICAgIHt7YXJpYUxpc3Rib3hcbiAgICAgICAgaXRlbXM9dGhpcy5pdGVtc1xuICAgICAgICBzZWxlY3Rpb249QHZhbHVlXG4gICAgICAgIG11bHRpPUBtdWx0aXBsZVxuICAgICAgICBkaXNhYmxlZD1AZGlzYWJsZWRcbiAgICAgICAgc2VsZWN0PUB1cGRhdGVcbiAgICAgICAgYWN0aXZhdGVJdGVtPUBhY3RpdmF0ZUl0ZW1cbiAgICAgIH19XG4gICAgPlxuICAgICAge3t5aWVsZFxuICAgICAgICAoaGFzaFxuICAgICAgICAgIE9wdGlvbj0oY29tcG9uZW50XG4gICAgICAgICAgICB0aGlzLk9wdGlvblxuICAgICAgICAgICAgaXNTZWxlY3RlZD10aGlzLmlzU2VsZWN0ZWRcbiAgICAgICAgICAgIHJlZ2lzdGVySXRlbT10aGlzLnJlZ2lzdGVySXRlbVxuICAgICAgICAgICAgdW5yZWdpc3Rlckl0ZW09dGhpcy51bnJlZ2lzdGVySXRlbVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgfX1cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE9BQU8sUUFBUSxvQkFBb0I7QUFDNUMsU0FBUyxrQkFBa0IsUUFBUSxxQkFBcUI7QUFDeEQsU0FBUyxJQUFJLFFBQVEsZ0JBQWdCO0FBQ3JDLFNBQVMsSUFBSSxRQUFRLGlCQUFpQjtBQUV0QyxTQUFTLFdBQVcsUUFBUSxxQkFBcUI7QUFDakQsU0FBUyxZQUFZLFFBQVEsb0JBQW9CO0FBRWpELE9BQU8sWUFBWSxvQ0FBb0M7QUFFdkQsWUFBWSxXQUFXLGVBQWU7QUFDdEMsY0FBYyxhQUFhLFFBQVEsa0JBQWtCO0FBRXJELGlCQUFpQixnQkFBZ0I7SUFDL0IsU0FBUztJQUNUO1FBQ0UsT0FBTztRQUNQLGFBQWEsUUFBUSxNQUFNLE9BQU87UUFDbEMsZUFBZSxNQUFNLE1BQU0sSUFBSTtRQUMvQixpQkFBaUIsTUFBTSxNQUFNLElBQUk7O0lBRW5DO1FBQ0U7OztBQUlKLElBQUEsQUFBTSxTQUFOLE1BQU0sT0FBTyxXQUFXLFVBQVUsZ0JBQWdCO0lBQ2hELFlBQVksUUFBTyxLQUFLLEVBQUUsT0FBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUU7UUFDMUQsS0FBSyxDQUFDLFFBQU87UUFFYixNQUFLLFlBQVksQ0FBQyxNQUFLLEtBQUs7UUFFNUIsbUJBQW1CLElBQUksRUFBRTtZQUN2QixNQUFLLGNBQWMsQ0FBQyxNQUFLLEtBQUs7UUFDaEM7SUFDRjtJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7RUFJVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FKQTtBQUtaO0FBRUEsaUJBQWlCLGNBQWM7SUFDN0IsU0FBUztJQUNUO1FBQ0UsV0FBVyxPQUFPO1FBQ2xCLFdBQVcsT0FBTztRQUNsQixRQUFRLElBQUk7UUFDWixVQUFVLE9BQU8sSUFBSSxRQUFRLElBQUk7UUFDakMsZ0JBQWdCLE9BQU8sTUFBTSxJQUFJOztJQUVuQztRQUNFO2dCQUVJLFFBQVEscUJBQXFCLFFBQVcsZUFBZSxpQkFBaUI7Ozs7QUFNaEYsZUFBZSxNQUFNLEtBQUssV0FBVyxVQUFVLGNBQWM7SUFDM0QsU0FBUyxPQUFPLEdBQUc7SUFFbkIsQ0FBQztJQUFRLE9BQU8sTUFBTSxJQUFJLGVBQWU7SUFFekMsZUFBZSxDQUFDLE9BQU07UUFDcEIsNENBQTRDO1FBQzVDLEtBQUs7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNsQjtJQUNGLEVBQUU7SUFFRixpQkFBaUIsQ0FBQyxPQUFNO1FBQ3RCLDRDQUE0QztRQUM1QyxLQUFLO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBTztRQUM5QztJQUNGLEVBQUU7SUFFRixhQUFhLENBQUMsU0FBUTtRQUNwQixJQUFJLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2xDO1FBRUEsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSztJQUM3QixFQUFFO0lBRUYsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEwQlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBMUJBO0FBMkJaIn0"],"names":["Option","Component","constructor","owner1","args1","registerItem","value","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","strictMode","List","g","prototype","tracked","TrackedArray","i","void 0","item1","next","items","push","splice","indexOf","isSelected","option1","Array","isArray","args","includes","scope","styles","ariaListbox","hash"],"mappings":";;;;;;;;;;;;AA2BA,IAAAA,MAAM,GAAN,MAAMA,MAAA,SAAkBC,SAAA,CAA0B;EAChDC,WAAYC,CAAAA,MAAY,EAAEC,KAAgC,EAAE;IAC1D,KAAK,CAACD,MAAA,EAAOC,KAAA,CAAA,CAAA;AAEbA,IAAAA,KAAA,CAAKC,YAAY,CAACD,KAAA,CAAKE,KAAK,CAAA,CAAA;IAE5BC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBH,MAAAA,KAAA,CAAKI,cAAc,CAACJ,KAAA,CAAKE,KAAK,CAAA,CAAA;AAChC,KAAA,CAAA,CAAA;AACF,GAAA;AAEA,EAAA;IAAAG,oBAAA,CAAAC,kBAAA,CAIA,mHAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ,CAAA,CAAA;AAoBe,MAAMC,IAAA,SAAgBX,SAAA,CAAwB;AAC3DD,EAAAA,MAAA,GAASA,MAAA,CAAA;AAAU,EAAA;IAAAa,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAElBC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAqB,IAAIC,YAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,MAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAE1Bb,EAAAA,YAAA,GAAgBc,KAAM,IAAA;AACpB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,KAAA,CAAA,CAAA;AAClB,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAX,EAAAA,cAAA,GAAkBW,KAAM,IAAA;AACtB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACE,MAAM,CAAC,IAAI,CAACF,KAAK,CAACG,OAAO,CAACL,KAAA,CAAO,EAAA,CAAA,CAAA,CAAA;AAC9C,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAM,EAAAA,UAAA,GAAcC,OAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACC,IAAI,CAACvB,KAAK,CAAG,EAAA;MAClC,OAAO,IAAI,CAACuB,IAAI,CAACvB,KAAK,CAACwB,QAAQ,CAACJ,OAAA,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,OAAO,IAAI,CAACG,IAAI,CAACvB,KAAK,KAAKoB,OAAA,CAAA;AAC7B,GAAA,CAAA;AAEA,EAAA;IAAAjB,oBAAA,CAAAC,kBAAA,CA0BA,0XAAA,EAAA;AAAAqB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,WAAA;AAAAC,QAAAA,IAAAA;AAAA,OAAA,CAAA;MAAAvB,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -5,7 +5,7 @@ import { hash } from '@ember/helper';
5
5
  import { next } from '@ember/runloop';
6
6
  import { service } from '@ember/service';
7
7
  import { htmlSafe } from '@ember/template';
8
- import { menu } from 'ember-aria-voyager';
8
+ import { ariaMenu } from 'ember-aria-voyager';
9
9
  import { CommandElement } from 'ember-command';
10
10
  import { consume } from 'ember-provide-consume-context';
11
11
  import { TrackedArray } from 'tracked-built-ins';
@@ -104,11 +104,11 @@ class Menu extends Component {
104
104
  });
105
105
  };
106
106
  static {
107
- setComponentTemplate(precompileTemplate("\n <div class={{styles.menu}} data-test-menu ...attributes {{menu items=this.items disabled=@disabled}} style={{if this.shallHide (htmlSafe \"display: none\")}}>\n {{yield (hash Item=(component MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem))}}\n </div>\n ", {
107
+ setComponentTemplate(precompileTemplate("\n <div class={{styles.menu}} data-test-menu ...attributes {{ariaMenu items=this.items disabled=@disabled}} style={{if this.shallHide (htmlSafe \"display: none\")}}>\n {{yield (hash Item=(component MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem))}}\n </div>\n ", {
108
108
  scope: () => ({
109
109
  styles,
110
110
  htmlSafe,
111
- menu,
111
+ ariaMenu,
112
112
  hash,
113
113
  MenuItem
114
114
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sources":["../../src/components/menu.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { service } from '@ember/service';\nimport { htmlSafe } from '@ember/template';\nimport { menu } from 'ember-aria-voyager';\nimport { CommandElement } from 'ember-command';\nimport { consume } from 'ember-provide-consume-context';\nimport { TrackedArray } from 'tracked-built-ins';\nimport styles from '@hokulea/core/controls.module.css';\nimport disabled from '../-private/modifiers/disabled';\nimport popover from '../helpers/popover';\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemElement } from './-menu';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type FastBoot from 'ember-cli-fastboot/services/fastboot';\nexport type MenuDefaultBlock = {\n Item: WithBoundArgs<typeof MenuItem, 'registerItem' | 'unregisterItem'>;\n};\nexport interface MenuItemSignature {\n Element: MenuItemElement;\n Args: MenuItemArgs & {\n registerItem: (item: MenuItem) => void;\n unregisterItem: (item: MenuItem) => void;\n };\n Blocks: MenuItemBlocks & {\n menu?: [MenuDefaultBlock];\n };\n}\n// below are attempts at conditional typing based on provided blocks in dynamic invocation\n// type MenuItemArgs = {\n// disabled?: boolean;\n// registerItem: (item: MenuItem) => void;\n// unregisterItem: (item: MenuItem) => void;\n// };\n// export interface MenuItemSignature<T = {}> {\n// Element: HTMLButtonElement | HTMLAnchorElement;\n// Args: T extends { Blocks: { default: [] } }\n// ? MenuItemArgs & {\n// push: CommandAction;\n// }\n// : MenuItemArgs;\n// Blocks: T extends { Blocks: { default: [] } }\n// ? { default: [] }\n// : { label: []; menu: [MenuDefaultBlock] };\n// }\n// & (\n// | {\n// Args: MenuItemArgs & {\n// push: CommandAction;\n// };\n// Blocks: {\n// default: [];\n// };\n// }\n// | {\n// Args: MenuItemArgs;\n// Blocks: {\n// label: [];\n// menu: [MenuDefaultBlock];\n// };\n// }\n// );\n/* eslint-disable @typescript-eslint/no-use-before-define */ let MenuItem = class MenuItem extends Component<MenuItemSignature> {\n constructor(owner1: Owner, args1: MenuItemSignature['Args']){\n super(owner1, args1);\n args1.registerItem(this);\n registerDestructor(this, ()=>{\n args1.unregisterItem(this);\n });\n }\n static{\n template(`\n {{#if (has-block \"menu\")}}\n {{#let (popover position=\"right-start\") as |p|}}\n <button\n type=\"button\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n {{disabled when=(if @disabled @disabled false)}}\n {{p.trigger}}\n >\n {{~yield to=\"label\"~}}\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{else}}\n <CommandElement\n @command={{@push}}\n {{disabled when=(if @disabled @disabled false)}}\n role=\"menuitem\"\n >\n {{~yield~}}\n </CommandElement>\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\n/* eslint-enable @typescript-eslint/no-use-before-define */ export interface MenuSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n };\n Blocks: {\n default: [MenuDefaultBlock];\n };\n}\nexport default class Menu extends Component<MenuSignature> {\n @service\n fastboot?: FastBoot;\n @consume('hokulea-app-header')\n withinAppHeader: boolean;\n @tracked\n items: MenuItem[] = new TrackedArray();\n get shallHide() {\n return this.fastboot?.isFastBoot && this.withinAppHeader === true;\n }\n registerItem = (item1: MenuItem)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.push(item1);\n });\n };\n unregisterItem = (item1: MenuItem)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.splice(this.items.indexOf(item1), 1);\n });\n };\n static{\n template(`\n <div\n class={{styles.menu}}\n data-test-menu\n ...attributes\n {{menu items=this.items disabled=@disabled}}\n style={{if this.shallHide (htmlSafe \"display: none\")}}\n >\n {{yield\n (hash\n Item=(component\n MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL21lbnUuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZW1iZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgbmV4dCB9IGZyb20gJ0BlbWJlci9ydW5sb29wJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5pbXBvcnQgeyBodG1sU2FmZSB9IGZyb20gJ0BlbWJlci90ZW1wbGF0ZSc7XG5cbmltcG9ydCB7IG1lbnUgfSBmcm9tICdlbWJlci1hcmlhLXZveWFnZXInO1xuaW1wb3J0IHsgQ29tbWFuZEVsZW1lbnQgfSBmcm9tICdlbWJlci1jb21tYW5kJztcbmltcG9ydCB7IGNvbnN1bWUgfSBmcm9tICdlbWJlci1wcm92aWRlLWNvbnN1bWUtY29udGV4dCc7XG5pbXBvcnQgeyBUcmFja2VkQXJyYXkgfSBmcm9tICd0cmFja2VkLWJ1aWx0LWlucyc7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9jb250cm9scy5tb2R1bGUuY3NzJztcblxuaW1wb3J0IGRpc2FibGVkIGZyb20gJy4uLy1wcml2YXRlL21vZGlmaWVycy9kaXNhYmxlZCc7XG5pbXBvcnQgcG9wb3ZlciBmcm9tICcuLi9oZWxwZXJzL3BvcG92ZXInO1xuXG5pbXBvcnQgdHlwZSB7IE1lbnVJdGVtQXJncywgTWVudUl0ZW1CbG9ja3MsIE1lbnVJdGVtRWxlbWVudCB9IGZyb20gJy4vLW1lbnUnO1xuaW1wb3J0IHR5cGUgT3duZXIgZnJvbSAnQGVtYmVyL293bmVyJztcbmltcG9ydCB0eXBlIHsgV2l0aEJvdW5kQXJncyB9IGZyb20gJ0BnbGludC90ZW1wbGF0ZSc7XG5pbXBvcnQgdHlwZSBGYXN0Qm9vdCBmcm9tICdlbWJlci1jbGktZmFzdGJvb3Qvc2VydmljZXMvZmFzdGJvb3QnO1xuXG5leHBvcnQgdHlwZSBNZW51RGVmYXVsdEJsb2NrID0ge1xuICBJdGVtOiBXaXRoQm91bmRBcmdzPHR5cGVvZiBNZW51SXRlbSwgJ3JlZ2lzdGVySXRlbScgfCAndW5yZWdpc3Rlckl0ZW0nPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW1TaWduYXR1cmUge1xuICBFbGVtZW50OiBNZW51SXRlbUVsZW1lbnQ7XG4gIEFyZ3M6IE1lbnVJdGVtQXJncyAmIHtcbiAgICByZWdpc3Rlckl0ZW06IChpdGVtOiBNZW51SXRlbSkgPT4gdm9pZDtcbiAgICB1bnJlZ2lzdGVySXRlbTogKGl0ZW06IE1lbnVJdGVtKSA9PiB2b2lkO1xuICB9O1xuICBCbG9ja3M6IE1lbnVJdGVtQmxvY2tzICYge1xuICAgIG1lbnU_OiBbTWVudURlZmF1bHRCbG9ja107XG4gIH07XG59XG5cbi8vIGJlbG93IGFyZSBhdHRlbXB0cyBhdCBjb25kaXRpb25hbCB0eXBpbmcgYmFzZWQgb24gcHJvdmlkZWQgYmxvY2tzIGluIGR5bmFtaWMgaW52b2NhdGlvblxuXG4vLyB0eXBlIE1lbnVJdGVtQXJncyA9IHtcbi8vICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuLy8gICByZWdpc3Rlckl0ZW06IChpdGVtOiBNZW51SXRlbSkgPT4gdm9pZDtcbi8vICAgdW5yZWdpc3Rlckl0ZW06IChpdGVtOiBNZW51SXRlbSkgPT4gdm9pZDtcbi8vIH07XG5cbi8vIGV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW1TaWduYXR1cmU8VCA9IHt9PiB7XG4vLyAgIEVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgSFRNTEFuY2hvckVsZW1lbnQ7XG4vLyAgIEFyZ3M6IFQgZXh0ZW5kcyB7IEJsb2NrczogeyBkZWZhdWx0OiBbXSB9IH1cbi8vICAgICA_IE1lbnVJdGVtQXJncyAmIHtcbi8vICAgICAgICAgcHVzaDogQ29tbWFuZEFjdGlvbjtcbi8vICAgICAgIH1cbi8vICAgICA6IE1lbnVJdGVtQXJncztcbi8vICAgQmxvY2tzOiBUIGV4dGVuZHMgeyBCbG9ja3M6IHsgZGVmYXVsdDogW10gfSB9XG4vLyAgICAgPyB7IGRlZmF1bHQ6IFtdIH1cbi8vICAgICA6IHsgbGFiZWw6IFtdOyBtZW51OiBbTWVudURlZmF1bHRCbG9ja10gfTtcbi8vIH1cblxuLy8gICYgKFxuLy8gICB8IHtcbi8vICAgICAgIEFyZ3M6IE1lbnVJdGVtQXJncyAmIHtcbi8vICAgICAgICAgcHVzaDogQ29tbWFuZEFjdGlvbjtcbi8vICAgICAgIH07XG4vLyAgICAgICBCbG9ja3M6IHtcbi8vICAgICAgICAgZGVmYXVsdDogW107XG4vLyAgICAgICB9O1xuLy8gICAgIH1cbi8vICAgfCB7XG4vLyAgICAgICBBcmdzOiBNZW51SXRlbUFyZ3M7XG4vLyAgICAgICBCbG9ja3M6IHtcbi8vICAgICAgICAgbGFiZWw6IFtdO1xuLy8gICAgICAgICBtZW51OiBbTWVudURlZmF1bHRCbG9ja107XG4vLyAgICAgICB9O1xuLy8gICAgIH1cbi8vICk7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuY2xhc3MgTWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnQ8TWVudUl0ZW1TaWduYXR1cmU-IHtcbiAgY29uc3RydWN0b3Iob3duZXI6IE93bmVyLCBhcmdzOiBNZW51SXRlbVNpZ25hdHVyZVsnQXJncyddKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuXG4gICAgYXJncy5yZWdpc3Rlckl0ZW0odGhpcyk7XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3IodGhpcywgKCkgPT4ge1xuICAgICAgYXJncy51bnJlZ2lzdGVySXRlbSh0aGlzKTtcbiAgICB9KTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyNpZiAoaGFzLWJsb2NrIFwibWVudVwiKX19XG4gICAgICB7eyNsZXQgKHBvcG92ZXIgcG9zaXRpb249XCJyaWdodC1zdGFydFwiKSBhcyB8cHx9fVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibWVudVwiXG4gICAgICAgICAge3tkaXNhYmxlZCB3aGVuPShpZiBAZGlzYWJsZWQgQGRpc2FibGVkIGZhbHNlKX19XG4gICAgICAgICAge3twLnRyaWdnZXJ9fVxuICAgICAgICA-XG4gICAgICAgICAge3t-eWllbGQgdG89XCJsYWJlbFwifn19XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxNZW51IHt7cC50YXJnZXR9fSBhcyB8bXw-XG4gICAgICAgICAge3t5aWVsZCBtIHRvPVwibWVudVwifX1cbiAgICAgICAgPC9NZW51PlxuICAgICAge3svbGV0fX1cbiAgICB7e2Vsc2V9fVxuICAgICAgPENvbW1hbmRFbGVtZW50XG4gICAgICAgIEBjb21tYW5kPXt7QHB1c2h9fVxuICAgICAgICB7e2Rpc2FibGVkIHdoZW49KGlmIEBkaXNhYmxlZCBAZGlzYWJsZWQgZmFsc2UpfX1cbiAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgID5cbiAgICAgICAge3t-eWllbGR-fX1cbiAgICAgIDwvQ29tbWFuZEVsZW1lbnQ-XG4gICAge3svaWZ9fVxuICA8L3RlbXBsYXRlPlxufVxuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cblxuZXhwb3J0IGludGVyZmFjZSBNZW51U2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtNZW51RGVmYXVsdEJsb2NrXTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudSBleHRlbmRzIENvbXBvbmVudDxNZW51U2lnbmF0dXJlPiB7XG4gIEBzZXJ2aWNlIGRlY2xhcmUgZmFzdGJvb3Q_OiBGYXN0Qm9vdDtcblxuICBAY29uc3VtZSgnaG9rdWxlYS1hcHAtaGVhZGVyJykgZGVjbGFyZSB3aXRoaW5BcHBIZWFkZXI6IGJvb2xlYW47XG5cbiAgQHRyYWNrZWQgaXRlbXM6IE1lbnVJdGVtW10gPSBuZXcgVHJhY2tlZEFycmF5KCk7XG5cbiAgZ2V0IHNoYWxsSGlkZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mYXN0Ym9vdD8uaXNGYXN0Qm9vdCAmJiB0aGlzLndpdGhpbkFwcEhlYWRlciA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVySXRlbSA9IChpdGVtOiBNZW51SXRlbSkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlbWJlci9uby1ydW5sb29wXG4gICAgbmV4dCgoKSA9PiB7XG4gICAgICB0aGlzLml0ZW1zLnB1c2goaXRlbSk7XG4gICAgfSk7XG4gIH07XG5cbiAgdW5yZWdpc3Rlckl0ZW0gPSAoaXRlbTogTWVudUl0ZW0pID0-IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZW1iZXIvbm8tcnVubG9vcFxuICAgIG5leHQoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICB9KTtcbiAgfTtcblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdlxuICAgICAgY2xhc3M9e3tzdHlsZXMubWVudX19XG4gICAgICBkYXRhLXRlc3QtbWVudVxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAge3ttZW51IGl0ZW1zPXRoaXMuaXRlbXMgZGlzYWJsZWQ9QGRpc2FibGVkfX1cbiAgICAgIHN0eWxlPXt7aWYgdGhpcy5zaGFsbEhpZGUgKGh0bWxTYWZlIFwiZGlzcGxheTogbm9uZVwiKX19XG4gICAgPlxuICAgICAge3t5aWVsZFxuICAgICAgICAoaGFzaFxuICAgICAgICAgIEl0ZW09KGNvbXBvbmVudFxuICAgICAgICAgICAgTWVudUl0ZW0gcmVnaXN0ZXJJdGVtPXRoaXMucmVnaXN0ZXJJdGVtIHVucmVnaXN0ZXJJdGVtPXRoaXMudW5yZWdpc3Rlckl0ZW1cbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["MenuItem","Component","constructor","owner1","args1","registerItem","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","scope","popover","disabled","Menu","CommandElement","strictMode","g","prototype","service","i","void 0","consume","tracked","TrackedArray","shallHide","fastboot","isFastBoot","withinAppHeader","item1","next","items","push","splice","indexOf","styles","htmlSafe","menu","hash"],"mappings":"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"}
1
+ {"version":3,"file":"menu.js","sources":["../../src/components/menu.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { service } from '@ember/service';\nimport { htmlSafe } from '@ember/template';\nimport { ariaMenu } from 'ember-aria-voyager';\nimport { CommandElement } from 'ember-command';\nimport { consume } from 'ember-provide-consume-context';\nimport { TrackedArray } from 'tracked-built-ins';\nimport styles from '@hokulea/core/controls.module.css';\nimport disabled from '../-private/modifiers/disabled';\nimport popover from '../helpers/popover';\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemElement } from './-menu';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type FastBoot from 'ember-cli-fastboot/services/fastboot';\nexport type MenuDefaultBlock = {\n Item: WithBoundArgs<typeof MenuItem, 'registerItem' | 'unregisterItem'>;\n};\nexport interface MenuItemSignature {\n Element: MenuItemElement;\n Args: MenuItemArgs & {\n registerItem: (item: MenuItem) => void;\n unregisterItem: (item: MenuItem) => void;\n };\n Blocks: MenuItemBlocks & {\n menu?: [MenuDefaultBlock];\n };\n}\n// below are attempts at conditional typing based on provided blocks in dynamic invocation\n// type MenuItemArgs = {\n// disabled?: boolean;\n// registerItem: (item: MenuItem) => void;\n// unregisterItem: (item: MenuItem) => void;\n// };\n// export interface MenuItemSignature<T = {}> {\n// Element: HTMLButtonElement | HTMLAnchorElement;\n// Args: T extends { Blocks: { default: [] } }\n// ? MenuItemArgs & {\n// push: CommandAction;\n// }\n// : MenuItemArgs;\n// Blocks: T extends { Blocks: { default: [] } }\n// ? { default: [] }\n// : { label: []; menu: [MenuDefaultBlock] };\n// }\n// & (\n// | {\n// Args: MenuItemArgs & {\n// push: CommandAction;\n// };\n// Blocks: {\n// default: [];\n// };\n// }\n// | {\n// Args: MenuItemArgs;\n// Blocks: {\n// label: [];\n// menu: [MenuDefaultBlock];\n// };\n// }\n// );\n/* eslint-disable @typescript-eslint/no-use-before-define */ let MenuItem = class MenuItem extends Component<MenuItemSignature> {\n constructor(owner1: Owner, args1: MenuItemSignature['Args']){\n super(owner1, args1);\n args1.registerItem(this);\n registerDestructor(this, ()=>{\n args1.unregisterItem(this);\n });\n }\n static{\n template(`\n {{#if (has-block \"menu\")}}\n {{#let (popover position=\"right-start\") as |p|}}\n <button\n type=\"button\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n {{disabled when=(if @disabled @disabled false)}}\n {{p.trigger}}\n >\n {{~yield to=\"label\"~}}\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{else}}\n <CommandElement\n @command={{@push}}\n {{disabled when=(if @disabled @disabled false)}}\n role=\"menuitem\"\n >\n {{~yield~}}\n </CommandElement>\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\n/* eslint-enable @typescript-eslint/no-use-before-define */ export interface MenuSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n };\n Blocks: {\n default: [MenuDefaultBlock];\n };\n}\nexport default class Menu extends Component<MenuSignature> {\n @service\n fastboot?: FastBoot;\n @consume('hokulea-app-header')\n withinAppHeader: boolean;\n @tracked\n items: MenuItem[] = new TrackedArray();\n get shallHide() {\n return this.fastboot?.isFastBoot && this.withinAppHeader === true;\n }\n registerItem = (item1: MenuItem)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.push(item1);\n });\n };\n unregisterItem = (item1: MenuItem)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.items.splice(this.items.indexOf(item1), 1);\n });\n };\n static{\n template(`\n <div\n class={{styles.menu}}\n data-test-menu\n ...attributes\n {{ariaMenu items=this.items disabled=@disabled}}\n style={{if this.shallHide (htmlSafe \"display: none\")}}\n >\n {{yield\n (hash\n Item=(component\n MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL21lbnUuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZW1iZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgbmV4dCB9IGZyb20gJ0BlbWJlci9ydW5sb29wJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5pbXBvcnQgeyBodG1sU2FmZSB9IGZyb20gJ0BlbWJlci90ZW1wbGF0ZSc7XG5cbmltcG9ydCB7IGFyaWFNZW51IH0gZnJvbSAnZW1iZXItYXJpYS12b3lhZ2VyJztcbmltcG9ydCB7IENvbW1hbmRFbGVtZW50IH0gZnJvbSAnZW1iZXItY29tbWFuZCc7XG5pbXBvcnQgeyBjb25zdW1lIH0gZnJvbSAnZW1iZXItcHJvdmlkZS1jb25zdW1lLWNvbnRleHQnO1xuaW1wb3J0IHsgVHJhY2tlZEFycmF5IH0gZnJvbSAndHJhY2tlZC1idWlsdC1pbnMnO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJ0Bob2t1bGVhL2NvcmUvY29udHJvbHMubW9kdWxlLmNzcyc7XG5cbmltcG9ydCBkaXNhYmxlZCBmcm9tICcuLi8tcHJpdmF0ZS9tb2RpZmllcnMvZGlzYWJsZWQnO1xuaW1wb3J0IHBvcG92ZXIgZnJvbSAnLi4vaGVscGVycy9wb3BvdmVyJztcblxuaW1wb3J0IHR5cGUgeyBNZW51SXRlbUFyZ3MsIE1lbnVJdGVtQmxvY2tzLCBNZW51SXRlbUVsZW1lbnQgfSBmcm9tICcuLy1tZW51JztcbmltcG9ydCB0eXBlIE93bmVyIGZyb20gJ0BlbWJlci9vd25lcic7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuaW1wb3J0IHR5cGUgRmFzdEJvb3QgZnJvbSAnZW1iZXItY2xpLWZhc3Rib290L3NlcnZpY2VzL2Zhc3Rib290JztcblxuZXhwb3J0IHR5cGUgTWVudURlZmF1bHRCbG9jayA9IHtcbiAgSXRlbTogV2l0aEJvdW5kQXJnczx0eXBlb2YgTWVudUl0ZW0sICdyZWdpc3Rlckl0ZW0nIHwgJ3VucmVnaXN0ZXJJdGVtJz47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogTWVudUl0ZW1FbGVtZW50O1xuICBBcmdzOiBNZW51SXRlbUFyZ3MgJiB7XG4gICAgcmVnaXN0ZXJJdGVtOiAoaXRlbTogTWVudUl0ZW0pID0-IHZvaWQ7XG4gICAgdW5yZWdpc3Rlckl0ZW06IChpdGVtOiBNZW51SXRlbSkgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiBNZW51SXRlbUJsb2NrcyAmIHtcbiAgICBtZW51PzogW01lbnVEZWZhdWx0QmxvY2tdO1xuICB9O1xufVxuXG4vLyBiZWxvdyBhcmUgYXR0ZW1wdHMgYXQgY29uZGl0aW9uYWwgdHlwaW5nIGJhc2VkIG9uIHByb3ZpZGVkIGJsb2NrcyBpbiBkeW5hbWljIGludm9jYXRpb25cblxuLy8gdHlwZSBNZW51SXRlbUFyZ3MgPSB7XG4vLyAgIGRpc2FibGVkPzogYm9vbGVhbjtcbi8vICAgcmVnaXN0ZXJJdGVtOiAoaXRlbTogTWVudUl0ZW0pID0-IHZvaWQ7XG4vLyAgIHVucmVnaXN0ZXJJdGVtOiAoaXRlbTogTWVudUl0ZW0pID0-IHZvaWQ7XG4vLyB9O1xuXG4vLyBleHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtU2lnbmF0dXJlPFQgPSB7fT4ge1xuLy8gICBFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IEhUTUxBbmNob3JFbGVtZW50O1xuLy8gICBBcmdzOiBUIGV4dGVuZHMgeyBCbG9ja3M6IHsgZGVmYXVsdDogW10gfSB9XG4vLyAgICAgPyBNZW51SXRlbUFyZ3MgJiB7XG4vLyAgICAgICAgIHB1c2g6IENvbW1hbmRBY3Rpb247XG4vLyAgICAgICB9XG4vLyAgICAgOiBNZW51SXRlbUFyZ3M7XG4vLyAgIEJsb2NrczogVCBleHRlbmRzIHsgQmxvY2tzOiB7IGRlZmF1bHQ6IFtdIH0gfVxuLy8gICAgID8geyBkZWZhdWx0OiBbXSB9XG4vLyAgICAgOiB7IGxhYmVsOiBbXTsgbWVudTogW01lbnVEZWZhdWx0QmxvY2tdIH07XG4vLyB9XG5cbi8vICAmIChcbi8vICAgfCB7XG4vLyAgICAgICBBcmdzOiBNZW51SXRlbUFyZ3MgJiB7XG4vLyAgICAgICAgIHB1c2g6IENvbW1hbmRBY3Rpb247XG4vLyAgICAgICB9O1xuLy8gICAgICAgQmxvY2tzOiB7XG4vLyAgICAgICAgIGRlZmF1bHQ6IFtdO1xuLy8gICAgICAgfTtcbi8vICAgICB9XG4vLyAgIHwge1xuLy8gICAgICAgQXJnczogTWVudUl0ZW1BcmdzO1xuLy8gICAgICAgQmxvY2tzOiB7XG4vLyAgICAgICAgIGxhYmVsOiBbXTtcbi8vICAgICAgICAgbWVudTogW01lbnVEZWZhdWx0QmxvY2tdO1xuLy8gICAgICAgfTtcbi8vICAgICB9XG4vLyApO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmNsYXNzIE1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50PE1lbnVJdGVtU2lnbmF0dXJlPiB7XG4gIGNvbnN0cnVjdG9yKG93bmVyOiBPd25lciwgYXJnczogTWVudUl0ZW1TaWduYXR1cmVbJ0FyZ3MnXSkge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcblxuICAgIGFyZ3MucmVnaXN0ZXJJdGVtKHRoaXMpO1xuXG4gICAgcmVnaXN0ZXJEZXN0cnVjdG9yKHRoaXMsICgpID0-IHtcbiAgICAgIGFyZ3MudW5yZWdpc3Rlckl0ZW0odGhpcyk7XG4gICAgfSk7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAge3sjaWYgKGhhcy1ibG9jayBcIm1lbnVcIil9fVxuICAgICAge3sjbGV0IChwb3BvdmVyIHBvc2l0aW9uPVwicmlnaHQtc3RhcnRcIikgYXMgfHB8fX1cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1lbnVcIlxuICAgICAgICAgIHt7ZGlzYWJsZWQgd2hlbj0oaWYgQGRpc2FibGVkIEBkaXNhYmxlZCBmYWxzZSl9fVxuICAgICAgICAgIHt7cC50cmlnZ2VyfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt7fnlpZWxkIHRvPVwibGFiZWxcIn59fVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8TWVudSB7e3AudGFyZ2V0fX0gYXMgfG18PlxuICAgICAgICAgIHt7eWllbGQgbSB0bz1cIm1lbnVcIn19XG4gICAgICAgIDwvTWVudT5cbiAgICAgIHt7L2xldH19XG4gICAge3tlbHNlfX1cbiAgICAgIDxDb21tYW5kRWxlbWVudFxuICAgICAgICBAY29tbWFuZD17e0BwdXNofX1cbiAgICAgICAge3tkaXNhYmxlZCB3aGVuPShpZiBAZGlzYWJsZWQgQGRpc2FibGVkIGZhbHNlKX19XG4gICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICA-XG4gICAgICAgIHt7fnlpZWxkfn19XG4gICAgICA8L0NvbW1hbmRFbGVtZW50PlxuICAgIHt7L2lmfX1cbiAgPC90ZW1wbGF0ZT5cbn1cbi8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudVNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbTWVudURlZmF1bHRCbG9ja107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnUgZXh0ZW5kcyBDb21wb25lbnQ8TWVudVNpZ25hdHVyZT4ge1xuICBAc2VydmljZSBkZWNsYXJlIGZhc3Rib290PzogRmFzdEJvb3Q7XG5cbiAgQGNvbnN1bWUoJ2hva3VsZWEtYXBwLWhlYWRlcicpIGRlY2xhcmUgd2l0aGluQXBwSGVhZGVyOiBib29sZWFuO1xuXG4gIEB0cmFja2VkIGl0ZW1zOiBNZW51SXRlbVtdID0gbmV3IFRyYWNrZWRBcnJheSgpO1xuXG4gIGdldCBzaGFsbEhpZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmFzdGJvb3Q_LmlzRmFzdEJvb3QgJiYgdGhpcy53aXRoaW5BcHBIZWFkZXIgPT09IHRydWU7XG4gIH1cblxuICByZWdpc3Rlckl0ZW0gPSAoaXRlbTogTWVudUl0ZW0pID0-IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZW1iZXIvbm8tcnVubG9vcFxuICAgIG5leHQoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHVucmVnaXN0ZXJJdGVtID0gKGl0ZW06IE1lbnVJdGVtKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVtYmVyL25vLXJ1bmxvb3BcbiAgICBuZXh0KCgpID0-IHtcbiAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XG4gICAgfSk7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPXt7c3R5bGVzLm1lbnV9fVxuICAgICAgZGF0YS10ZXN0LW1lbnVcbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIHt7YXJpYU1lbnUgaXRlbXM9dGhpcy5pdGVtcyBkaXNhYmxlZD1AZGlzYWJsZWR9fVxuICAgICAgc3R5bGU9e3tpZiB0aGlzLnNoYWxsSGlkZSAoaHRtbFNhZmUgXCJkaXNwbGF5OiBub25lXCIpfX1cbiAgICA-XG4gICAgICB7e3lpZWxkXG4gICAgICAgIChoYXNoXG4gICAgICAgICAgSXRlbT0oY29tcG9uZW50XG4gICAgICAgICAgICBNZW51SXRlbSByZWdpc3Rlckl0ZW09dGhpcy5yZWdpc3Rlckl0ZW0gdW5yZWdpc3Rlckl0ZW09dGhpcy51bnJlZ2lzdGVySXRlbVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgfX1cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE9BQU8sUUFBUSxvQkFBb0I7QUFDNUMsU0FBUyxrQkFBa0IsUUFBUSxxQkFBcUI7QUFDeEQsU0FBUyxJQUFJLFFBQVEsZ0JBQWdCO0FBQ3JDLFNBQVMsSUFBSSxRQUFRLGlCQUFpQjtBQUN0QyxTQUFTLE9BQU8sUUFBUSxpQkFBaUI7QUFDekMsU0FBUyxRQUFRLFFBQVEsa0JBQWtCO0FBRTNDLFNBQVMsUUFBUSxRQUFRLHFCQUFxQjtBQUM5QyxTQUFTLGNBQWMsUUFBUSxnQkFBZ0I7QUFDL0MsU0FBUyxPQUFPLFFBQVEsZ0NBQWdDO0FBQ3hELFNBQVMsWUFBWSxRQUFRLG9CQUFvQjtBQUVqRCxPQUFPLFlBQVksb0NBQW9DO0FBRXZELE9BQU8sY0FBYyxpQ0FBaUM7QUFDdEQsT0FBTyxhQUFhLHFCQUFxQjtBQUV6QyxjQUFjLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxRQUFRLFVBQVU7QUFDN0UsWUFBWSxXQUFXLGVBQWU7QUFDdEMsY0FBYyxhQUFhLFFBQVEsa0JBQWtCO0FBQ3JELFlBQVksY0FBYyx1Q0FBdUM7QUFFakUsWUFBWTtJQUNWLE1BQU0scUJBQXFCLFVBQVUsaUJBQWlCOztBQUd4RCxpQkFBaUI7SUFDZixTQUFTO0lBQ1QsTUFBTTtRQUNKLGVBQWUsTUFBTSxhQUFhLElBQUk7UUFDdEMsaUJBQWlCLE1BQU0sYUFBYSxJQUFJOztJQUUxQyxRQUFRO1FBQ04sUUFBUTs7O0FBSVosMEZBQTBGO0FBRTFGLHdCQUF3QjtBQUN4Qix3QkFBd0I7QUFDeEIsNENBQTRDO0FBQzVDLDhDQUE4QztBQUM5QyxLQUFLO0FBRUwsK0NBQStDO0FBQy9DLG9EQUFvRDtBQUNwRCxnREFBZ0Q7QUFDaEQseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixVQUFVO0FBQ1Ysc0JBQXNCO0FBQ3RCLGtEQUFrRDtBQUNsRCx3QkFBd0I7QUFDeEIsaURBQWlEO0FBQ2pELElBQUk7QUFFSixPQUFPO0FBQ1AsUUFBUTtBQUNSLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsV0FBVztBQUNYLGtCQUFrQjtBQUNsQix1QkFBdUI7QUFDdkIsV0FBVztBQUNYLFFBQVE7QUFDUixRQUFRO0FBQ1IsNEJBQTRCO0FBQzVCLGtCQUFrQjtBQUNsQixxQkFBcUI7QUFDckIsb0NBQW9DO0FBQ3BDLFdBQVc7QUFDWCxRQUFRO0FBQ1IsS0FBSztBQUVMLDBEQUEwRCxHQUMxRCxJQUFBLEFBQU0sV0FBTixNQUFNLGlCQUFpQixVQUFVO0lBQy9CLFlBQVksUUFBTyxLQUFLLEVBQUUsT0FBTSxrQkFBa0IsT0FBTyxDQUFFO1FBQ3pELEtBQUssQ0FBQyxRQUFPO1FBRWIsTUFBSyxZQUFZLENBQUMsSUFBSTtRQUV0QixtQkFBbUIsSUFBSSxFQUFFO1lBQ3ZCLE1BQUssY0FBYyxDQUFDLElBQUk7UUFDMUI7SUFDRjtJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBMEJWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQTFCQTtBQTJCWjtBQUNBLHlEQUF5RCxHQUV6RCxpQkFBaUI7SUFDZixTQUFTO0lBQ1Q7UUFDRSxXQUFXLE9BQU87O0lBRXBCO1FBQ0UsVUFBVTs7O0FBSWQsZUFBZSxNQUFNLGFBQWEsVUFBVTtJQUMxQyxDQUFDO0lBQWdCLFdBQVcsU0FBUztJQUVyQyxDQUFDLFFBQVE7SUFBOEIsaUJBQWlCLE9BQU8sQ0FBQztJQUVoRSxDQUFDO0lBQVEsT0FBTyxhQUFhLElBQUksZUFBZTtJQUVoRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxJQUFJLENBQUMsZUFBZSxLQUFLO0lBQy9EO0lBRUEsZUFBZSxDQUFDLE9BQU07UUFDcEIsNENBQTRDO1FBQzVDLEtBQUs7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNsQjtJQUNGLEVBQUU7SUFFRixpQkFBaUIsQ0FBQyxPQUFNO1FBQ3RCLDRDQUE0QztRQUM1QyxLQUFLO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBTztRQUM5QztJQUNGLEVBQUU7SUFFRixNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQWhCQTtBQWlCWiJ9"],"names":["MenuItem","Component","constructor","owner1","args1","registerItem","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","scope","popover","disabled","Menu","CommandElement","strictMode","g","prototype","service","i","void 0","consume","tracked","TrackedArray","shallHide","fastboot","isFastBoot","withinAppHeader","item1","next","items","push","splice","indexOf","styles","htmlSafe","ariaMenu","hash"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { p as pickAsNumber } from '../-input-DGR-n9U_.js';
5
5
  import { precompileTemplate } from '@ember/template-compilation';
6
6
  import { setComponentTemplate } from '@ember/component';
@@ -4,13 +4,13 @@ import { element } from 'ember-element-helper';
4
4
  import { consume, provide } from 'ember-provide-consume-context';
5
5
  import styles from '@hokulea/core/layouts.module.css';
6
6
  import typo from '@hokulea/core/typography.module.css';
7
- import { o as or } from '../helpers-DApiJrHl.js';
7
+ import { o as or } from '../helpers-BE5oF0B1.js';
8
8
  import { precompileTemplate } from '@ember/template-compilation';
9
9
  import { setComponentTemplate } from '@ember/component';
10
10
  import templateOnly from '@ember/component/template-only';
11
11
  import { g, i, n } from 'decorator-transforms/runtime';
12
12
 
13
- const NavLink = setComponentTemplate(precompileTemplate("\n <a href={{@link.url}} {{on \"click\" @link.open}} aria-current={{if @link.isActive \"page\"}}>\n {{yield}}\n </a>\n", {
13
+ const NavLink = setComponentTemplate(precompileTemplate("\n <a href={{@link.url}} {{on \"click\" @link.open}} aria-current={{if @link.isActive \"page\"}}>\n <span>\n {{yield}}\n </span>\n </a>\n", {
14
14
  scope: () => ({
15
15
  on
16
16
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sources":["../../src/components/page.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { on } from '@ember/modifier';\nimport { element } from 'ember-element-helper';\nimport { consume, provide } from 'ember-provide-consume-context';\nimport styles from '@hokulea/core/layouts.module.css';\nimport typo from '@hokulea/core/typography.module.css';\nimport { or } from '../-private/helpers';\nimport type { TOC } from '@ember/component/template-only';\nimport type { Link } from 'ember-link';\ninterface NavLinkSignature {\n Args: {\n link: Link;\n };\n Blocks: {\n default: [];\n };\n}\nconst NavLink: TOC<NavLinkSignature> = template(`\n <a href={{@link.url}} {{on \"click\" @link.open}} aria-current={{if @link.isActive \"page\"}}>\n {{yield}}\n </a>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nlet PageElement = class PageElement extends Component<{\n Element: HTMLElement;\n Blocks: {\n default: [];\n };\n}> {\n @consume('page-root')\n useMain: boolean;\n @provide('page-inside')\n get pageInside() {\n return true;\n }\n static{\n template(`\n {{#let (element (if this.useMain \"main\" \"section\")) as |Element|}}\n <Element ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\ninterface PageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n };\n Blocks: {\n title?: [];\n description?: [];\n nav?: [typeof NavLink];\n content?: [];\n default?: [];\n };\n}\nlet Page = class Page extends Component<PageSignature> {\n @consume('page-inside')\n insidePage: boolean;\n @provide('page-root')\n get rootPage() {\n return this.insidePage ? false : true;\n }\n static{\n template(`\n <PageElement class={{styles.page}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n\n {{#if (has-block \"nav\")}}\n <nav>\n {{yield NavLink to=\"nav\"}}\n </nav>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{yield to=\"content\"}}\n {{yield}}\n </div>\n </PageElement>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\nexport default Page;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL3BhZ2UuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcblxuaW1wb3J0IHsgZWxlbWVudCB9IGZyb20gJ2VtYmVyLWVsZW1lbnQtaGVscGVyJztcbmltcG9ydCB7IGNvbnN1bWUsIHByb3ZpZGUgfSBmcm9tICdlbWJlci1wcm92aWRlLWNvbnN1bWUtY29udGV4dCc7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9sYXlvdXRzLm1vZHVsZS5jc3MnO1xuaW1wb3J0IHR5cG8gZnJvbSAnQGhva3VsZWEvY29yZS90eXBvZ3JhcGh5Lm1vZHVsZS5jc3MnO1xuXG5pbXBvcnQgeyBvciB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuXG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5pbXBvcnQgdHlwZSB7IExpbmsgfSBmcm9tICdlbWJlci1saW5rJztcblxuaW50ZXJmYWNlIE5hdkxpbmtTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgbGluazogTGluaztcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG59XG5cbmNvbnN0IE5hdkxpbms6IFRPQzxOYXZMaW5rU2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGEgaHJlZj17e0BsaW5rLnVybH19IHt7b24gXCJjbGlja1wiIEBsaW5rLm9wZW59fSBhcmlhLWN1cnJlbnQ9e3tpZiBAbGluay5pc0FjdGl2ZSBcInBhZ2VcIn19PlxuICAgIHt7eWllbGR9fVxuICA8L2E-XG48L3RlbXBsYXRlPjtcblxuY2xhc3MgUGFnZUVsZW1lbnQgZXh0ZW5kcyBDb21wb25lbnQ8eyBFbGVtZW50OiBIVE1MRWxlbWVudDsgQmxvY2tzOiB7IGRlZmF1bHQ6IFtdIH0gfT4ge1xuICBAY29uc3VtZSgncGFnZS1yb290JykgZGVjbGFyZSB1c2VNYWluOiBib29sZWFuO1xuXG4gIEBwcm92aWRlKCdwYWdlLWluc2lkZScpXG4gIGdldCBwYWdlSW5zaWRlKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldCAoZWxlbWVudCAoaWYgdGhpcy51c2VNYWluIFwibWFpblwiIFwic2VjdGlvblwiKSkgYXMgfEVsZW1lbnR8fX1cbiAgICAgIDxFbGVtZW50IC4uLmF0dHJpYnV0ZXM-XG4gICAgICAgIHt7eWllbGR9fVxuICAgICAgPC9FbGVtZW50PlxuICAgIHt7L2xldH19XG4gIDwvdGVtcGxhdGU-XG59XG5cbmludGVyZmFjZSBQYWdlU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgdGl0bGU_OiBbXTtcbiAgICBkZXNjcmlwdGlvbj86IFtdO1xuICAgIG5hdj86IFt0eXBlb2YgTmF2TGlua107XG4gICAgY29udGVudD86IFtdO1xuICAgIGRlZmF1bHQ_OiBbXTtcbiAgfTtcbn1cblxuY2xhc3MgUGFnZSBleHRlbmRzIENvbXBvbmVudDxQYWdlU2lnbmF0dXJlPiB7XG4gIEBjb25zdW1lKCdwYWdlLWluc2lkZScpIGRlY2xhcmUgaW5zaWRlUGFnZTogYm9vbGVhbjtcblxuICBAcHJvdmlkZSgncGFnZS1yb290JylcbiAgZ2V0IHJvb3RQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLmluc2lkZVBhZ2UgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPFBhZ2VFbGVtZW50IGNsYXNzPXt7c3R5bGVzLnBhZ2V9fSAuLi5hdHRyaWJ1dGVzIGRhdGEtdGVzdC1wYWdlPlxuICAgICAge3sjaWZcbiAgICAgICAgKG9yIEB0aXRsZSBAZGVzY3JpcHRpb24gKGhhcy1ibG9jayBcInRpdGxlXCIpIChoYXMtYmxvY2sgXCJkZXNjcmlwdGlvblwiKSAoaGFzLWJsb2NrIFwibmF2XCIpKVxuICAgICAgfX1cbiAgICAgICAgPGhlYWRlciBjbGFzcz17e3N0eWxlcy5wYWdlQ29udGVudH19PlxuICAgICAgICAgIDxoMSBjbGFzcz17e3R5cG8uZGlzcGxheX19PlxuICAgICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcInRpdGxlXCIpfX1cbiAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInRpdGxlXCJ9fVxuICAgICAgICAgICAge3tlbHNlIGlmIEB0aXRsZX19XG4gICAgICAgICAgICAgIHt7QHRpdGxlfX1cbiAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICA8L2gxPlxuXG4gICAgICAgICAge3sjaWYgKG9yIChoYXMtYmxvY2sgXCJkZXNjcmlwdGlvblwiKSBAZGVzY3JpcHRpb24pfX1cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZGVzY3JpcHRpb25cIil9fVxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAge3tlbHNlIGlmIEBkZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAge3tAZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICA8L3A-XG4gICAgICAgICAge3svaWZ9fVxuXG4gICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcIm5hdlwiKX19XG4gICAgICAgICAgICA8bmF2PlxuICAgICAgICAgICAgICB7e3lpZWxkIE5hdkxpbmsgdG89XCJuYXZcIn19XG4gICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIDwvaGVhZGVyPlxuICAgICAge3svaWZ9fVxuXG4gICAgICA8ZGl2IGNsYXNzPVwie3tzdHlsZXMucGFnZUNvbnRlbnR9fSB7e3N0eWxlcy5mbG93fX1cIiBwYXJ0PVwiY29udGVudFwiPlxuICAgICAgICB7e3lpZWxkIHRvPVwiY29udGVudFwifX1cbiAgICAgICAge3t5aWVsZH19XG4gICAgICA8L2Rpdj5cbiAgICA8L1BhZ2VFbGVtZW50PlxuICA8L3RlbXBsYXRlPlxufVxuXG5leHBvcnQgZGVmYXVsdCBQYWdlO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUVyQyxTQUFTLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsU0FBUyxPQUFPLEVBQUUsT0FBTyxRQUFRLGdDQUFnQztBQUVqRSxPQUFPLFlBQVksbUNBQW1DO0FBQ3RELE9BQU8sVUFBVSxzQ0FBc0M7QUFFdkQsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBRXpDLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUMxRCxjQUFjLElBQUksUUFBUSxhQUFhO1VBRTdCO0lBQ1I7UUFDRSxNQUFNOztJQUVSO1FBQ0U7OztBQUlKLE1BQU0sU0FBUyxJQUFJLG9CQUFvQixTQUFVLENBQUE7Ozs7QUFJakQsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVYsSUFBQSxBQUFNLGNBQU4sTUFBTSxvQkFBb0I7SUFBWSxTQUFTO0lBQWE7UUFBVTs7O0lBQ3BFLENBQUMsUUFBUTtJQUFxQixTQUFTLE9BQU8sQ0FBQztJQUUvQyxDQUFDLFFBQVE7SUFBYyxJQUNuQixhQUFhO1FBQ2YsT0FBTztJQUNUO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7O0VBTVYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBTkE7QUFPWjtVQUVVO0lBQ1IsU0FBUztJQUNUO1FBQ0UsUUFBUSxNQUFNO1FBQ2QsY0FBYyxNQUFNOztJQUV0QjtRQUNFO1FBQ0E7UUFDQSxjQUFjO1FBQ2Q7UUFDQTs7O0FBSUosSUFBQSxBQUFNLE9BQU4sTUFBTSxhQUFhLFVBQVU7SUFDM0IsQ0FBQyxRQUFRO0lBQXVCLFlBQVksT0FBTyxDQUFDO0lBRXBELENBQUMsUUFBUTtJQUFZLElBQ2pCLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUTtJQUNuQztJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQ1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBckNBO0FBc0NaO0FBRUEsZUFBZSxLQUFLIn0"],"names":["NavLink","setComponentTemplate","precompileTemplate","scope","on","strictMode","templateOnly","PageElement","Component","consume","i","void 0","pageInside","n","prototype","provide","element","Page","g","rootPage","insidePage","styles","or","typo"],"mappings":";;;;;;;;;;;;AAuBA,MAAMA,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAIvC,6HAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA,CAAA;AAEV,IAAAC,WAAM,GAAN,MAAMA,WAAA,SAAoBC,SAAA;;AACvBC,IAAAA,CAAAA,CAAAA,IAAAA,CAAAA,SAAAA,EAAAA,SAAAA,EAAAA,CAAAA,OAAA,CAAQ,WAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAET,EAAA,IACIC,aAAa;IACf,OAAO,IAAA,CAAA;AACT,GAAA;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAAA,CAAAA,SAAA,EAHCC,YAAAA,EAAAA,CAAAA,OAAA,CAAQ,aAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKT,EAAA;IAAAd,oBAAA,CAAAC,kBAAA,CAMA,oKAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAa,QAAAA,OAAAA;AAAA,OAAA,CAAA;MAAAX,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ,CAAA,CAAA;AAiBA,IAAAY,IAAM,GAAN,MAAMA,IAAA,SAAaT,SAAA,CAAU;AAAA,EAAA;AAAAU,IAAAA,CAAA,CAAAJ,IAAAA,CAAAA,SAAA,EAC1BL,YAAAA,EAAAA,CAAAA,OAAA,CAAQ,aAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAET,EAAA,IACIQ,WAAW;AACb,IAAA,OAAO,IAAI,CAACC,UAAU,GAAG,KAAQ,GAAA,IAAA,CAAA;AACnC,GAAA;AAAA,EAAA;AAAAP,IAAAA,CAAA,CAAAC,IAAAA,CAAAA,SAAA,EAHCC,UAAAA,EAAAA,CAAAA,OAAA,CAAQ,WAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKT,EAAA;IAAAd,oBAAA,CAAAC,kBAAA,CAqCA,qlCAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAI,WAAA;QAAAc,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAAvB,QAAAA,OAAAA;AAAA,OAAA,CAAA;MAAAK,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
1
+ {"version":3,"file":"page.js","sources":["../../src/components/page.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { on } from '@ember/modifier';\nimport { element } from 'ember-element-helper';\nimport { consume, provide } from 'ember-provide-consume-context';\nimport styles from '@hokulea/core/layouts.module.css';\nimport typo from '@hokulea/core/typography.module.css';\nimport { or } from '../-private/helpers';\nimport type { TOC } from '@ember/component/template-only';\nimport type { Link } from 'ember-link';\ninterface NavLinkSignature {\n Args: {\n link: Link;\n };\n Blocks: {\n default: [];\n };\n}\nconst NavLink: TOC<NavLinkSignature> = template(`\n <a href={{@link.url}} {{on \"click\" @link.open}} aria-current={{if @link.isActive \"page\"}}>\n <span>\n {{yield}}\n </span>\n </a>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nlet PageElement = class PageElement extends Component<{\n Element: HTMLElement;\n Blocks: {\n default: [];\n };\n}> {\n @consume('page-root')\n useMain: boolean;\n @provide('page-inside')\n get pageInside() {\n return true;\n }\n static{\n template(`\n {{#let (element (if this.useMain \"main\" \"section\")) as |Element|}}\n <Element ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\ninterface PageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n };\n Blocks: {\n title?: [];\n description?: [];\n nav?: [typeof NavLink];\n content?: [];\n default?: [];\n };\n}\nlet Page = class Page extends Component<PageSignature> {\n @consume('page-inside')\n insidePage: boolean;\n @provide('page-root')\n get rootPage() {\n return this.insidePage ? false : true;\n }\n static{\n template(`\n <PageElement class={{styles.page}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n\n {{#if (has-block \"nav\")}}\n <nav>\n {{yield NavLink to=\"nav\"}}\n </nav>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{yield to=\"content\"}}\n {{yield}}\n </div>\n </PageElement>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\nexport default Page;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL3BhZ2UuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcblxuaW1wb3J0IHsgZWxlbWVudCB9IGZyb20gJ2VtYmVyLWVsZW1lbnQtaGVscGVyJztcbmltcG9ydCB7IGNvbnN1bWUsIHByb3ZpZGUgfSBmcm9tICdlbWJlci1wcm92aWRlLWNvbnN1bWUtY29udGV4dCc7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9sYXlvdXRzLm1vZHVsZS5jc3MnO1xuaW1wb3J0IHR5cG8gZnJvbSAnQGhva3VsZWEvY29yZS90eXBvZ3JhcGh5Lm1vZHVsZS5jc3MnO1xuXG5pbXBvcnQgeyBvciB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuXG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5pbXBvcnQgdHlwZSB7IExpbmsgfSBmcm9tICdlbWJlci1saW5rJztcblxuaW50ZXJmYWNlIE5hdkxpbmtTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgbGluazogTGluaztcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG59XG5cbmNvbnN0IE5hdkxpbms6IFRPQzxOYXZMaW5rU2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGEgaHJlZj17e0BsaW5rLnVybH19IHt7b24gXCJjbGlja1wiIEBsaW5rLm9wZW59fSBhcmlhLWN1cnJlbnQ9e3tpZiBAbGluay5pc0FjdGl2ZSBcInBhZ2VcIn19PlxuICAgIDxzcGFuPlxuICAgICAge3t5aWVsZH19XG4gICAgPC9zcGFuPlxuICA8L2E-XG48L3RlbXBsYXRlPjtcblxuY2xhc3MgUGFnZUVsZW1lbnQgZXh0ZW5kcyBDb21wb25lbnQ8eyBFbGVtZW50OiBIVE1MRWxlbWVudDsgQmxvY2tzOiB7IGRlZmF1bHQ6IFtdIH0gfT4ge1xuICBAY29uc3VtZSgncGFnZS1yb290JykgZGVjbGFyZSB1c2VNYWluOiBib29sZWFuO1xuXG4gIEBwcm92aWRlKCdwYWdlLWluc2lkZScpXG4gIGdldCBwYWdlSW5zaWRlKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldCAoZWxlbWVudCAoaWYgdGhpcy51c2VNYWluIFwibWFpblwiIFwic2VjdGlvblwiKSkgYXMgfEVsZW1lbnR8fX1cbiAgICAgIDxFbGVtZW50IC4uLmF0dHJpYnV0ZXM-XG4gICAgICAgIHt7eWllbGR9fVxuICAgICAgPC9FbGVtZW50PlxuICAgIHt7L2xldH19XG4gIDwvdGVtcGxhdGU-XG59XG5cbmludGVyZmFjZSBQYWdlU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgdGl0bGU_OiBbXTtcbiAgICBkZXNjcmlwdGlvbj86IFtdO1xuICAgIG5hdj86IFt0eXBlb2YgTmF2TGlua107XG4gICAgY29udGVudD86IFtdO1xuICAgIGRlZmF1bHQ_OiBbXTtcbiAgfTtcbn1cblxuY2xhc3MgUGFnZSBleHRlbmRzIENvbXBvbmVudDxQYWdlU2lnbmF0dXJlPiB7XG4gIEBjb25zdW1lKCdwYWdlLWluc2lkZScpIGRlY2xhcmUgaW5zaWRlUGFnZTogYm9vbGVhbjtcblxuICBAcHJvdmlkZSgncGFnZS1yb290JylcbiAgZ2V0IHJvb3RQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLmluc2lkZVBhZ2UgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPFBhZ2VFbGVtZW50IGNsYXNzPXt7c3R5bGVzLnBhZ2V9fSAuLi5hdHRyaWJ1dGVzIGRhdGEtdGVzdC1wYWdlPlxuICAgICAge3sjaWZcbiAgICAgICAgKG9yIEB0aXRsZSBAZGVzY3JpcHRpb24gKGhhcy1ibG9jayBcInRpdGxlXCIpIChoYXMtYmxvY2sgXCJkZXNjcmlwdGlvblwiKSAoaGFzLWJsb2NrIFwibmF2XCIpKVxuICAgICAgfX1cbiAgICAgICAgPGhlYWRlciBjbGFzcz17e3N0eWxlcy5wYWdlQ29udGVudH19PlxuICAgICAgICAgIDxoMSBjbGFzcz17e3R5cG8uZGlzcGxheX19PlxuICAgICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcInRpdGxlXCIpfX1cbiAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInRpdGxlXCJ9fVxuICAgICAgICAgICAge3tlbHNlIGlmIEB0aXRsZX19XG4gICAgICAgICAgICAgIHt7QHRpdGxlfX1cbiAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICA8L2gxPlxuXG4gICAgICAgICAge3sjaWYgKG9yIChoYXMtYmxvY2sgXCJkZXNjcmlwdGlvblwiKSBAZGVzY3JpcHRpb24pfX1cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZGVzY3JpcHRpb25cIil9fVxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAge3tlbHNlIGlmIEBkZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAge3tAZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICA8L3A-XG4gICAgICAgICAge3svaWZ9fVxuXG4gICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcIm5hdlwiKX19XG4gICAgICAgICAgICA8bmF2PlxuICAgICAgICAgICAgICB7e3lpZWxkIE5hdkxpbmsgdG89XCJuYXZcIn19XG4gICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIDwvaGVhZGVyPlxuICAgICAge3svaWZ9fVxuXG4gICAgICA8ZGl2IGNsYXNzPVwie3tzdHlsZXMucGFnZUNvbnRlbnR9fSB7e3N0eWxlcy5mbG93fX1cIiBwYXJ0PVwiY29udGVudFwiPlxuICAgICAgICB7e3lpZWxkIHRvPVwiY29udGVudFwifX1cbiAgICAgICAge3t5aWVsZH19XG4gICAgICA8L2Rpdj5cbiAgICA8L1BhZ2VFbGVtZW50PlxuICA8L3RlbXBsYXRlPlxufVxuXG5leHBvcnQgZGVmYXVsdCBQYWdlO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUVyQyxTQUFTLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsU0FBUyxPQUFPLEVBQUUsT0FBTyxRQUFRLGdDQUFnQztBQUVqRSxPQUFPLFlBQVksbUNBQW1DO0FBQ3RELE9BQU8sVUFBVSxzQ0FBc0M7QUFFdkQsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBRXpDLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUMxRCxjQUFjLElBQUksUUFBUSxhQUFhO1VBRTdCO0lBQ1I7UUFDRSxNQUFNOztJQUVSO1FBQ0U7OztBQUlKLE1BQU0sU0FBUyxJQUFJLG9CQUFvQixTQUFVLENBQUE7Ozs7OztBQU1qRCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixJQUFBLEFBQU0sY0FBTixNQUFNLG9CQUFvQjtJQUFZLFNBQVM7SUFBYTtRQUFVOzs7SUFDcEUsQ0FBQyxRQUFRO0lBQXFCLFNBQVMsT0FBTyxDQUFDO0lBRS9DLENBQUMsUUFBUTtJQUFjLElBQ25CLGFBQWE7UUFDZixPQUFPO0lBQ1Q7SUFFQSxNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7RUFNVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FOQTtBQU9aO1VBRVU7SUFDUixTQUFTO0lBQ1Q7UUFDRSxRQUFRLE1BQU07UUFDZCxjQUFjLE1BQU07O0lBRXRCO1FBQ0U7UUFDQTtRQUNBLGNBQWM7UUFDZDtRQUNBOzs7QUFJSixJQUFBLEFBQU0sT0FBTixNQUFNLGFBQWEsVUFBVTtJQUMzQixDQUFDLFFBQVE7SUFBdUIsWUFBWSxPQUFPLENBQUM7SUFFcEQsQ0FBQyxRQUFRO0lBQVksSUFDakIsV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRO0lBQ25DO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFDVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FyQ0E7QUFzQ1o7QUFFQSxlQUFlLEtBQUsifQ"],"names":["NavLink","setComponentTemplate","precompileTemplate","scope","on","strictMode","templateOnly","PageElement","Component","consume","i","void 0","pageInside","n","prototype","provide","element","Page","g","rootPage","insidePage","styles","or","typo"],"mappings":";;;;;;;;;;;;AAuBA,MAAMA,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAMvC,wJAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA,CAAA;AAEV,IAAAC,WAAM,GAAN,MAAMA,WAAA,SAAoBC,SAAA;;AACvBC,IAAAA,CAAAA,CAAAA,IAAAA,CAAAA,SAAAA,EAAAA,SAAAA,EAAAA,CAAAA,OAAA,CAAQ,WAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAET,EAAA,IACIC,aAAa;IACf,OAAO,IAAA,CAAA;AACT,GAAA;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAAA,CAAAA,SAAA,EAHCC,YAAAA,EAAAA,CAAAA,OAAA,CAAQ,aAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKT,EAAA;IAAAd,oBAAA,CAAAC,kBAAA,CAMA,oKAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAa,QAAAA,OAAAA;AAAA,OAAA,CAAA;MAAAX,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ,CAAA,CAAA;AAiBA,IAAAY,IAAM,GAAN,MAAMA,IAAA,SAAaT,SAAA,CAAU;AAAA,EAAA;AAAAU,IAAAA,CAAA,CAAAJ,IAAAA,CAAAA,SAAA,EAC1BL,YAAAA,EAAAA,CAAAA,OAAA,CAAQ,aAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAET,EAAA,IACIQ,WAAW;AACb,IAAA,OAAO,IAAI,CAACC,UAAU,GAAG,KAAQ,GAAA,IAAA,CAAA;AACnC,GAAA;AAAA,EAAA;AAAAP,IAAAA,CAAA,CAAAC,IAAAA,CAAAA,SAAA,EAHCC,UAAAA,EAAAA,CAAAA,OAAA,CAAQ,WAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKT,EAAA;IAAAd,oBAAA,CAAAC,kBAAA,CAqCA,qlCAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAI,WAAA;QAAAc,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAAvB,QAAAA,OAAAA;AAAA,OAAA,CAAA;MAAAK,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -1,7 +1,7 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import { modifier } from 'ember-modifier';
3
3
  import styles from '@hokulea/core/controls.module.css';
4
- import { p as pick } from '../helpers-DApiJrHl.js';
4
+ import { p as pick } from '../helpers-BE5oF0B1.js';
5
5
  import { p as pickAsNumber } from '../-input-DGR-n9U_.js';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
@@ -0,0 +1,101 @@
1
+ import Component from '@glimmer/component';
2
+ import { cached, tracked } from '@glimmer/tracking';
3
+ import { registerDestructor } from '@ember/destroyable';
4
+ import { uniqueId, hash } from '@ember/helper';
5
+ import { guidFor } from '@ember/object/internals';
6
+ import { next } from '@ember/runloop';
7
+ import { ariaTablist } from 'ember-aria-voyager';
8
+ import { modifier } from 'ember-modifier';
9
+ import Portal from 'ember-stargate/components/portal';
10
+ import PortalTarget from 'ember-stargate/components/portal-target';
11
+ import { TrackedArray } from 'tracked-built-ins';
12
+ import styles from '@hokulea/core/controls.module.css';
13
+ import { f as notEq } from '../helpers-BE5oF0B1.js';
14
+ import { n, g, i } from 'decorator-transforms/runtime';
15
+ import { precompileTemplate } from '@ember/template-compilation';
16
+ import { setComponentTemplate } from '@ember/component';
17
+
18
+ const TabValue = Symbol('TabValue');
19
+ const attachValue = modifier((element1, [value1]) => {
20
+ if (value1) {
21
+ // @ts-expect-error this is internal API
22
+ element1[TabValue] = value1;
23
+ }
24
+ });
25
+ let Tab = class Tab extends Component {
26
+ constructor(owner1, args1) {
27
+ super(owner1, args1);
28
+ args1.register(this);
29
+ registerDestructor(this, () => {
30
+ args1.unregister(this);
31
+ });
32
+ }
33
+ get id() {
34
+ return this.args.value ?? this.args.label ?? guidFor(this);
35
+ }
36
+ static {
37
+ n(this.prototype, "id", [cached]);
38
+ }
39
+ static {
40
+ setComponentTemplate(precompileTemplate("\n {{#let (uniqueId) as |id|}}\n <Portal @target={{@tablist}}>\n {{!-- template-lint-disable require-button-type require-context-role --}}\n <button role=\"tab\" aria-controls={{id}} id=\"{{id}}-label\" {{attachValue @value}}>\n <span>\n {{#if (has-block \"label\")}}\n {{yield to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n </Portal>\n\n <section id={{id}} role=\"tabpanel\" aria-labelledby=\"{{id}}-label\" local-class=\"content\" hidden={{notEq this.id @selection}}>\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else}}\n {{yield}}\n {{/if}}\n </section>\n {{/let}}\n ", {
41
+ scope: () => ({
42
+ uniqueId,
43
+ Portal,
44
+ attachValue,
45
+ notEq
46
+ }),
47
+ strictMode: true
48
+ }), this);
49
+ }
50
+ };
51
+ class Tabs extends Component {
52
+ static {
53
+ g(this.prototype, "tabs", [tracked], function () {
54
+ return new TrackedArray();
55
+ });
56
+ }
57
+ #tabs = (i(this, "tabs"), void 0);
58
+ static {
59
+ g(this.prototype, "internalSelection", [tracked]);
60
+ }
61
+ #internalSelection = (i(this, "internalSelection"), void 0);
62
+ get items() {
63
+ return this.tabs.map(t1 => t1.id);
64
+ }
65
+ get selection() {
66
+ return this.args.selection ?? this.internalSelection?.id;
67
+ }
68
+ register = tab1 => {
69
+ // eslint-disable-next-line ember/no-runloop
70
+ next(() => {
71
+ this.tabs.push(tab1);
72
+ });
73
+ };
74
+ unregister = tab1 => {
75
+ // eslint-disable-next-line ember/no-runloop
76
+ next(() => {
77
+ this.tabs.splice(this.tabs.indexOf(tab1), 1);
78
+ });
79
+ };
80
+ select = id1 => {
81
+ const tab1 = this.tabs.find(t1 => t1.id === id1);
82
+ this.internalSelection = tab1;
83
+ this.args.update?.(tab1.args.value ?? tab1.args.label ?? undefined);
84
+ };
85
+ static {
86
+ setComponentTemplate(precompileTemplate("\n <div class={{styles.tabs}} data-test-tabs>\n {{#let (uniqueId) as |tablistId|}}\n <PortalTarget @name={{tablistId}} @multiple={{true}} role=\"tablist\" {{ariaTablist items=this.items select=this.select selection=this.selection disabled=@disabled behavior=@behavior orientation=@orientation}} />\n\n {{yield (hash Tab=(component Tab register=this.register unregister=this.unregister tablist=tablistId selection=this.selection))}}\n {{/let}}\n </div>\n ", {
87
+ scope: () => ({
88
+ styles,
89
+ uniqueId,
90
+ PortalTarget,
91
+ ariaTablist,
92
+ hash,
93
+ Tab
94
+ }),
95
+ strictMode: true
96
+ }), this);
97
+ }
98
+ }
99
+
100
+ export { TabValue, Tabs as default };
101
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sources":["../../src/components/tabs.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { uniqueId } from '@ember/helper';\nimport { guidFor } from '@ember/object/internals';\nimport { next } from '@ember/runloop';\nimport { ariaTablist, type Orientation, type TablistBehavior } from 'ember-aria-voyager';\nimport { modifier } from 'ember-modifier';\nimport Portal from 'ember-stargate/components/portal';\nimport PortalTarget from 'ember-stargate/components/portal-target';\nimport { TrackedArray } from 'tracked-built-ins';\nimport styles from '@hokulea/core/controls.module.css';\nimport { notEq } from '../-private/helpers';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nexport const TabValue = Symbol('TabValue');\nconst attachValue = modifier((element1, [value1])=>{\n if (value1) {\n // @ts-expect-error this is internal API\n element1[TabValue] = value1;\n }\n});\ntype TabSignature = {\n Element: HTMLDivElement;\n Args: {\n tablist: string;\n register: (tab: Tab) => void;\n unregister: (tab: Tab) => void;\n label?: string;\n value?: unknown;\n selection?: unknown;\n };\n Blocks: {\n default?: [];\n label?: [];\n content?: [];\n };\n};\nlet Tab = class Tab extends Component<TabSignature> {\n constructor(owner1: Owner, args1: TabSignature['Args']){\n super(owner1, args1);\n args1.register(this);\n registerDestructor(this, ()=>{\n args1.unregister(this);\n });\n }\n @cached\n get id() {\n return this.args.value ?? this.args.label ?? guidFor(this);\n }\n static{\n template(`\n {{#let (uniqueId) as |id|}}\n <Portal @target={{@tablist}}>\n {{! template-lint-disable require-button-type require-context-role }}\n <button role=\"tab\" aria-controls={{id}} id=\"{{id}}-label\" {{attachValue @value}}>\n <span>\n {{#if (has-block \"label\")}}\n {{yield to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n </Portal>\n\n <section\n id={{id}}\n role=\"tabpanel\"\n aria-labelledby=\"{{id}}-label\"\n local-class=\"content\"\n hidden={{notEq this.id @selection}}\n >\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else}}\n {{yield}}\n {{/if}}\n </section>\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\ninterface TabsSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n selection?: unknown;\n update?: (value: unknown) => void;\n behavior?: TablistBehavior;\n orientation?: Orientation;\n };\n Blocks: {\n default: [{\n Tab: WithBoundArgs<typeof Tab, 'selection' | 'tablist' | 'register' | 'unregister'>;\n }];\n };\n}\nexport default class Tabs extends Component<TabsSignature> {\n @tracked\n tabs: Tab[] = new TrackedArray();\n @tracked\n internalSelection?: Tab;\n get items() {\n return this.tabs.map((t1)=>t1.id);\n }\n get selection() {\n return this.args.selection ?? this.internalSelection?.id;\n }\n register = (tab1: Tab)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.tabs.push(tab1);\n });\n };\n unregister = (tab1: Tab)=>{\n // eslint-disable-next-line ember/no-runloop\n next(()=>{\n this.tabs.splice(this.tabs.indexOf(tab1), 1);\n });\n };\n select = (id1: string | unknown)=>{\n const tab1 = this.tabs.find((t1)=>t1.id === id1) as Tab;\n this.internalSelection = tab1;\n this.args.update?.(tab1.args.value ?? tab1.args.label ?? undefined);\n };\n static{\n template(`\n <div class={{styles.tabs}} data-test-tabs>\n {{#let (uniqueId) as |tablistId|}}\n <PortalTarget\n @name={{tablistId}}\n @multiple={{true}}\n role=\"tablist\"\n {{ariaTablist\n items=this.items\n select=this.select\n selection=this.selection\n disabled=@disabled\n behavior=@behavior\n orientation=@orientation\n }}\n />\n\n {{yield\n (hash\n Tab=(component\n Tab\n register=this.register\n unregister=this.unregister\n tablist=tablistId\n selection=this.selection\n )\n )\n }}\n {{/let}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL3RhYnMuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BlbWJlci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgZ3VpZEZvciB9IGZyb20gJ0BlbWJlci9vYmplY3QvaW50ZXJuYWxzJztcbmltcG9ydCB7IG5leHQgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCB7IGFyaWFUYWJsaXN0LCB0eXBlIE9yaWVudGF0aW9uLCB0eXBlIFRhYmxpc3RCZWhhdmlvciB9IGZyb20gJ2VtYmVyLWFyaWEtdm95YWdlcic7XG5pbXBvcnQgeyBtb2RpZmllciB9IGZyb20gJ2VtYmVyLW1vZGlmaWVyJztcbmltcG9ydCBQb3J0YWwgZnJvbSAnZW1iZXItc3RhcmdhdGUvY29tcG9uZW50cy9wb3J0YWwnO1xuaW1wb3J0IFBvcnRhbFRhcmdldCBmcm9tICdlbWJlci1zdGFyZ2F0ZS9jb21wb25lbnRzL3BvcnRhbC10YXJnZXQnO1xuaW1wb3J0IHsgVHJhY2tlZEFycmF5IH0gZnJvbSAndHJhY2tlZC1idWlsdC1pbnMnO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJ0Bob2t1bGVhL2NvcmUvY29udHJvbHMubW9kdWxlLmNzcyc7XG5cbmltcG9ydCB7IG5vdEVxIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycyc7XG5cbmltcG9ydCB0eXBlIE93bmVyIGZyb20gJ0BlbWJlci9vd25lcic7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuXG5leHBvcnQgY29uc3QgVGFiVmFsdWUgPSBTeW1ib2woJ1RhYlZhbHVlJyk7XG5cbmNvbnN0IGF0dGFjaFZhbHVlID0gbW9kaWZpZXIoKGVsZW1lbnQsIFt2YWx1ZV0pID0-IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0aGlzIGlzIGludGVybmFsIEFQSVxuICAgIGVsZW1lbnRbVGFiVmFsdWVdID0gdmFsdWU7XG4gIH1cbn0pO1xuXG50eXBlIFRhYlNpZ25hdHVyZSA9IHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICB0YWJsaXN0OiBzdHJpbmc7XG4gICAgcmVnaXN0ZXI6ICh0YWI6IFRhYikgPT4gdm9pZDtcbiAgICB1bnJlZ2lzdGVyOiAodGFiOiBUYWIpID0-IHZvaWQ7XG4gICAgbGFiZWw_OiBzdHJpbmc7XG4gICAgdmFsdWU_OiB1bmtub3duO1xuICAgIHNlbGVjdGlvbj86IHVua25vd247XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ_OiBbXTtcbiAgICBsYWJlbD86IFtdO1xuICAgIGNvbnRlbnQ_OiBbXTtcbiAgfTtcbn07XG5cbmNsYXNzIFRhYiBleHRlbmRzIENvbXBvbmVudDxUYWJTaWduYXR1cmU-IHtcbiAgY29uc3RydWN0b3Iob3duZXI6IE93bmVyLCBhcmdzOiBUYWJTaWduYXR1cmVbJ0FyZ3MnXSkge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcblxuICAgIGFyZ3MucmVnaXN0ZXIodGhpcyk7XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3IodGhpcywgKCkgPT4ge1xuICAgICAgYXJncy51bnJlZ2lzdGVyKHRoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy52YWx1ZSA_PyB0aGlzLmFyZ3MubGFiZWwgPz8gZ3VpZEZvcih0aGlzKTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyNsZXQgKHVuaXF1ZUlkKSBhcyB8aWR8fX1cbiAgICAgIDxQb3J0YWwgQHRhcmdldD17e0B0YWJsaXN0fX0-XG4gICAgICAgIHt7ISB0ZW1wbGF0ZS1saW50LWRpc2FibGUgcmVxdWlyZS1idXR0b24tdHlwZSByZXF1aXJlLWNvbnRleHQtcm9sZSB9fVxuICAgICAgICA8YnV0dG9uIHJvbGU9XCJ0YWJcIiBhcmlhLWNvbnRyb2xzPXt7aWR9fSBpZD1cInt7aWR9fS1sYWJlbFwiIHt7YXR0YWNoVmFsdWUgQHZhbHVlfX0-XG4gICAgICAgICAgPHNwYW4-XG4gICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwibGFiZWxcIil9fVxuICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwibGFiZWxcIn19XG4gICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICB7e0BsYWJlbH19XG4gICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvUG9ydGFsPlxuXG4gICAgICA8c2VjdGlvblxuICAgICAgICBpZD17e2lkfX1cbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwie3tpZH19LWxhYmVsXCJcbiAgICAgICAgbG9jYWwtY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgaGlkZGVuPXt7bm90RXEgdGhpcy5pZCBAc2VsZWN0aW9ufX1cbiAgICAgID5cbiAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcImNvbnRlbnRcIil9fVxuICAgICAgICAgIHt7eWllbGQgdG89XCJjb250ZW50XCJ9fVxuICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgIHt7eWllbGR9fVxuICAgICAgICB7ey9pZn19XG4gICAgICA8L3NlY3Rpb24-XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cblxuaW50ZXJmYWNlIFRhYnNTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBzZWxlY3Rpb24_OiB1bmtub3duO1xuICAgIHVwZGF0ZT86ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZDtcbiAgICBiZWhhdmlvcj86IFRhYmxpc3RCZWhhdmlvcjtcbiAgICBvcmllbnRhdGlvbj86IE9yaWVudGF0aW9uO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIFRhYjogV2l0aEJvdW5kQXJnczx0eXBlb2YgVGFiLCAnc2VsZWN0aW9uJyB8ICd0YWJsaXN0JyB8ICdyZWdpc3RlcicgfCAndW5yZWdpc3Rlcic-O1xuICAgICAgfVxuICAgIF07XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRhYnMgZXh0ZW5kcyBDb21wb25lbnQ8VGFic1NpZ25hdHVyZT4ge1xuICBAdHJhY2tlZCB0YWJzOiBUYWJbXSA9IG5ldyBUcmFja2VkQXJyYXkoKTtcbiAgQHRyYWNrZWQgaW50ZXJuYWxTZWxlY3Rpb24_OiBUYWI7XG5cbiAgZ2V0IGl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLnRhYnMubWFwKCh0KSA9PiB0LmlkKTtcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy5zZWxlY3Rpb24gPz8gdGhpcy5pbnRlcm5hbFNlbGVjdGlvbj8uaWQ7XG4gIH1cblxuICByZWdpc3RlciA9ICh0YWI6IFRhYikgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlbWJlci9uby1ydW5sb29wXG4gICAgbmV4dCgoKSA9PiB7XG4gICAgICB0aGlzLnRhYnMucHVzaCh0YWIpO1xuICAgIH0pO1xuICB9O1xuXG4gIHVucmVnaXN0ZXIgPSAodGFiOiBUYWIpID0-IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZW1iZXIvbm8tcnVubG9vcFxuICAgIG5leHQoKCkgPT4ge1xuICAgICAgdGhpcy50YWJzLnNwbGljZSh0aGlzLnRhYnMuaW5kZXhPZih0YWIpLCAxKTtcbiAgICB9KTtcbiAgfTtcblxuICBzZWxlY3QgPSAoaWQ6IHN0cmluZyB8IHVua25vd24pID0-IHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLnRhYnMuZmluZCgodCkgPT4gdC5pZCA9PT0gaWQpIGFzIFRhYjtcblxuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3Rpb24gPSB0YWI7XG4gICAgdGhpcy5hcmdzLnVwZGF0ZT8uKHRhYi5hcmdzLnZhbHVlID8_IHRhYi5hcmdzLmxhYmVsID8_IHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9e3tzdHlsZXMudGFic319IGRhdGEtdGVzdC10YWJzPlxuICAgICAge3sjbGV0ICh1bmlxdWVJZCkgYXMgfHRhYmxpc3RJZHx9fVxuICAgICAgICA8UG9ydGFsVGFyZ2V0XG4gICAgICAgICAgQG5hbWU9e3t0YWJsaXN0SWR9fVxuICAgICAgICAgIEBtdWx0aXBsZT17e3RydWV9fVxuICAgICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgICB7e2FyaWFUYWJsaXN0XG4gICAgICAgICAgICBpdGVtcz10aGlzLml0ZW1zXG4gICAgICAgICAgICBzZWxlY3Q9dGhpcy5zZWxlY3RcbiAgICAgICAgICAgIHNlbGVjdGlvbj10aGlzLnNlbGVjdGlvblxuICAgICAgICAgICAgZGlzYWJsZWQ9QGRpc2FibGVkXG4gICAgICAgICAgICBiZWhhdmlvcj1AYmVoYXZpb3JcbiAgICAgICAgICAgIG9yaWVudGF0aW9uPUBvcmllbnRhdGlvblxuICAgICAgICAgIH19XG4gICAgICAgIC8-XG5cbiAgICAgICAge3t5aWVsZFxuICAgICAgICAgIChoYXNoXG4gICAgICAgICAgICBUYWI9KGNvbXBvbmVudFxuICAgICAgICAgICAgICBUYWJcbiAgICAgICAgICAgICAgcmVnaXN0ZXI9dGhpcy5yZWdpc3RlclxuICAgICAgICAgICAgICB1bnJlZ2lzdGVyPXRoaXMudW5yZWdpc3RlclxuICAgICAgICAgICAgICB0YWJsaXN0PXRhYmxpc3RJZFxuICAgICAgICAgICAgICBzZWxlY3Rpb249dGhpcy5zZWxlY3Rpb25cbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIH19XG4gICAgICB7ey9sZXR9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsTUFBTSxFQUFFLE9BQU8sUUFBUSxvQkFBb0I7QUFDcEQsU0FBUyxrQkFBa0IsUUFBUSxxQkFBcUI7QUFDeEQsU0FBUyxJQUFJLFFBQVEsZ0JBQWdCO0FBQ3JDLFNBQVMsUUFBUSxRQUFRLGdCQUFnQjtBQUN6QyxTQUFTLE9BQU8sUUFBUSwwQkFBMEI7QUFDbEQsU0FBUyxJQUFJLFFBQVEsaUJBQWlCO0FBRXRDLFNBQVMsV0FBVyxFQUFFLEtBQUssV0FBVyxFQUFFLEtBQUssZUFBZSxRQUFRLHFCQUFxQjtBQUN6RixTQUFTLFFBQVEsUUFBUSxpQkFBaUI7QUFDMUMsT0FBTyxZQUFZLG1DQUFtQztBQUN0RCxPQUFPLGtCQUFrQiwwQ0FBMEM7QUFDbkUsU0FBUyxZQUFZLFFBQVEsb0JBQW9CO0FBRWpELE9BQU8sWUFBWSxvQ0FBb0M7QUFFdkQsU0FBUyxLQUFLLFFBQVEsc0JBQXNCO0FBRTVDLFlBQVksV0FBVyxlQUFlO0FBQ3RDLGNBQWMsYUFBYSxRQUFRLGtCQUFrQjtBQUVyRCxPQUFPLE1BQU0sV0FBVyxPQUFPLFlBQVk7QUFFM0MsTUFBTSxjQUFjLFNBQVMsQ0FBQyxVQUFTLENBQUMsT0FBTTtJQUM1QyxJQUFJLFFB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"],"names":["TabValue","Symbol","attachValue","modifier","element1","value1","Tab","Component","constructor","owner1","args1","register","registerDestructor","unregister","id","args","value","label","guidFor","n","prototype","cached","setComponentTemplate","precompileTemplate","scope","uniqueId","Portal","notEq","strictMode","Tabs","g","tracked","TrackedArray","i","void 0","items","tabs","map","t1","selection","internalSelection","tab1","next","push","splice","indexOf","select","id1","find","update","undefined","styles","PortalTarget","ariaTablist","hash"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-BE5oF0B1.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
@@ -14,6 +14,7 @@ const or = (...conditions) => conditions.reduce((a, b) => a || b, false);
14
14
  const and = (a, b) => a && b;
15
15
  const eq = (a, b) => a === b;
16
16
  const not = a => !a;
17
+ const notEq = (a, b) => a !== b;
17
18
  const asString = value => {
18
19
  return value;
19
20
  };
@@ -24,5 +25,5 @@ const asBoolean = value => {
24
25
  return value;
25
26
  };
26
27
 
27
- export { and as a, asBoolean as b, asNumber as c, asString as d, eq as e, not as n, or as o, pick as p };
28
- //# sourceMappingURL=helpers-DApiJrHl.js.map
28
+ export { and as a, asBoolean as b, asNumber as c, asString as d, eq as e, notEq as f, not as n, or as o, pick as p };
29
+ //# sourceMappingURL=helpers-BE5oF0B1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-BE5oF0B1.js","sources":["../src/-private/helpers.ts"],"sourcesContent":["import { get } from '@ember/object';\n\n/* Shamelessly stolen from: https://github.com/DockYard/ember-composable-helpers/blob/master/addon/helpers/pick.js */\nfunction pick<V = unknown>(path: string, action?: (value: V) => void) {\n return function (event: object): V | void {\n let value = get(event, path) as V;\n\n if (!action) {\n return value;\n }\n\n action(value);\n };\n}\n\nconst or = (...conditions: unknown[]) => conditions.reduce((a, b) => a || b, false);\n\nconst and = (a: unknown, b: unknown) => a && b;\n\nconst eq = (a: unknown, b: unknown) => a === b;\n\nconst not = (a: boolean) => !a;\n\nconst notEq = (a: unknown, b: unknown) => a !== b;\n\nconst asString = (value: unknown): string => {\n return value as string;\n};\n\nconst asNumber = (value: unknown): number => {\n return value as number;\n};\n\nconst asBoolean = (value: unknown): boolean => {\n return value as boolean;\n};\n\nexport { and, asBoolean, asNumber, asString, eq, not, notEq, or, pick };\n"],"names":["pick","path","action","event","value","get","or","conditions","reduce","a","b","and","eq","not","notEq","asString","asNumber","asBoolean"],"mappings":";;AAEA;AACA,SAASA,IAAIA,CAAcC,IAAY,EAAEC,MAA2B,EAAE;EACpE,OAAO,UAAUC,KAAa,EAAY;AACxC,IAAA,IAAIC,KAAK,GAAGC,GAAG,CAACF,KAAK,EAAEF,IAAI,CAAM,CAAA;IAEjC,IAAI,CAACC,MAAM,EAAE;AACX,MAAA,OAAOE,KAAK,CAAA;AACd,KAAA;IAEAF,MAAM,CAACE,KAAK,CAAC,CAAA;GACd,CAAA;AACH,CAAA;AAEME,MAAAA,EAAE,GAAGA,CAAC,GAAGC,UAAqB,KAAKA,UAAU,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,IAAIC,CAAC,EAAE,KAAK,EAAC;AAE7EC,MAAAA,GAAG,GAAGA,CAACF,CAAU,EAAEC,CAAU,KAAKD,CAAC,IAAIC,EAAC;AAExCE,MAAAA,EAAE,GAAGA,CAACH,CAAU,EAAEC,CAAU,KAAKD,CAAC,KAAKC,EAAC;AAE9C,MAAMG,GAAG,GAAIJ,CAAU,IAAK,CAACA,EAAC;AAExBK,MAAAA,KAAK,GAAGA,CAACL,CAAU,EAAEC,CAAU,KAAKD,CAAC,KAAKC,EAAC;AAE3CK,MAAAA,QAAQ,GAAIX,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK,CAAA;AACd,EAAC;AAEKY,MAAAA,QAAQ,GAAIZ,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK,CAAA;AACd,EAAC;AAEKa,MAAAA,SAAS,GAAIb,KAAc,IAAc;AAC7C,EAAA,OAAOA,KAAK,CAAA;AACd;;;;"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ export { default as Form } from './components/form.js';
19
19
  export { default as AppHeader } from './components/app-header.js';
20
20
  export { default as Page } from './components/page.js';
21
21
  export { default as Menu } from './components/menu.js';
22
+ export { default as Tabs } from './components/tabs.js';
22
23
  export { default as Box } from './components/box.js';
23
24
  export { default as Card } from './components/card.js';
24
25
  export { default as Section } from './components/section.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { PageObject, selector, globalSelector } from 'fractal-page-object';
2
2
  import { click, select, triggerEvent } from '@ember/test-helpers';
3
- import { selectListbox } from 'ember-aria-voyager/test-support';
3
+ import { selectListbox, selectTab } from 'ember-aria-voyager/test-support';
4
+ import { TabValue } from '../components/tabs.js';
4
5
 
5
6
  class IconPageObject extends PageObject {
6
7
  static SELECTOR = '[data-test-icon]';
@@ -383,5 +384,25 @@ class SectionPageObject extends PageObject {
383
384
  $title = selector('[data-test-section="title"]');
384
385
  }
385
386
 
386
- export { AppHeaderPageObject, ButtonPageObject, CheckboxPageObject, CurrencyInputPageObject, DateInputPageObject, EmailInputPageObject, FormPageObject, IconButtonPageObject, IconPageObject, ListPageObject, MenuPageObject, NumberInputPageObject, PagePageObject, PasswordInputPageObject, PhoneInputPageObject, PillButtonPageObject, PopoverPageObject, RadioPageObject, RangeInputPageObject, SectionPageObject, SelectPageObject, TextAreaPageObject, TextInputPageObject };
387
+ class TabsPageObject extends PageObject {
388
+ static SELECTOR = '[data-test-tabs]';
389
+ constructor(selector, parent, index) {
390
+ super(selector ?? TabsPageObject.SELECTOR, parent, index);
391
+ }
392
+ get control() {
393
+ return this.$tablist.element;
394
+ }
395
+ $tablist = selector('[role="tablist"]');
396
+ $tab = selector('[role="tab"]');
397
+ $tabpanel = selector('[role="tabpanel"]');
398
+ async select(value) {
399
+ // @ts-expect-error this is internal API
400
+ const tab = this.$tab.find(t => t.element[TabValue] === value);
401
+ if (tab) {
402
+ await selectTab(tab);
403
+ }
404
+ }
405
+ }
406
+
407
+ export { AppHeaderPageObject, ButtonPageObject, CheckboxPageObject, CurrencyInputPageObject, DateInputPageObject, EmailInputPageObject, FormPageObject, IconButtonPageObject, IconPageObject, ListPageObject, MenuPageObject, NumberInputPageObject, PagePageObject, PasswordInputPageObject, PhoneInputPageObject, PillButtonPageObject, PopoverPageObject, RadioPageObject, RangeInputPageObject, SectionPageObject, SelectPageObject, TabsPageObject, TextAreaPageObject, TextInputPageObject };
387
408
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/test-support/page-objects/icon.ts","../../src/test-support/page-objects/icon-button.ts","../../src/test-support/page-objects/menu.ts","../../src/test-support/page-objects/app-header.ts","../../src/test-support/page-objects/button.ts","../../src/test-support/page-objects/choice.ts","../../src/test-support/page-objects/input.ts","../../src/test-support/page-objects/input-builder.ts","../../src/test-support/page-objects/list.ts","../../src/test-support/page-objects/select.ts","../../src/test-support/page-objects/text-area.ts","../../src/test-support/page-objects/-private/choices.ts","../../src/test-support/page-objects/-private/field.ts","../../src/test-support/page-objects/form.ts","../../src/test-support/page-objects/page.ts","../../src/test-support/page-objects/pill-button.ts","../../src/test-support/page-objects/popover.ts","../../src/test-support/page-objects/section.ts"],"sourcesContent":["import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconPageObject extends PageObject<HTMLSpanElement> {\n static SELECTOR = '[data-test-icon]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconPageObject.SELECTOR, parent, index);\n }\n\n get name(): string | null | undefined {\n return this.element?.getAttribute('data-test-icon');\n }\n\n get style(): string | null | undefined {\n return this.element?.getAttribute('data-test-icon-style');\n }\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconPageObject } from './icon';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-icon-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n\n $icon = sel('[data-test-icon-button=\"icon\"]', IconPageObject);\n}\n","import { globalSelector, PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Menu, MenuElement, MenuItem, MenuItemElement } from './-menu';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class MenuItemPageObject extends PageObject<MenuItemElement> implements MenuItem {\n static SELECTOR = '[role=\"menuitem\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuItemPageObject.SELECTOR, parent, index);\n }\n\n get disabled() {\n return Boolean(this.element?.hasAttribute('aria-disabled'));\n }\n\n get expanded(): boolean {\n return Boolean(this.menu?.element?.matches(':popover-open'));\n }\n\n hasMenu() {\n return this.element?.getAttribute('aria-haspopup') === 'menu';\n }\n\n protected get menuId() {\n return this.element?.getAttribute('popovertarget');\n }\n\n protected get menu(): Menu | undefined {\n return this.menuId\n ? // eslint-disable-next-line @typescript-eslint/no-use-before-define\n globalSelector<MenuElement, Menu>(`#${this.menuId}`, MenuPageObject)\n : undefined;\n }\n\n get $menu() {\n return this.menu;\n }\n}\n\nexport class MenuPageObject extends PageObject<MenuElement> implements Menu {\n static SELECTOR = '[data-test-menu]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $item = sel<MenuItemElement, MenuItem>(MenuItemPageObject.SELECTOR, MenuItemPageObject);\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconButtonPageObject } from './icon-button';\nimport { MenuItemPageObject } from './menu';\n\nimport type { Menu, MenuItem, MenuItemElement } from './-menu';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass AppNavPageObject extends PageObject<HTMLElement> implements Menu<HTMLElement> {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n $item = sel<MenuItemElement, MenuItem>(NavItemPageObject.SELECTOR, NavItemPageObject);\n}\n\nexport class NavItemPageObject extends MenuItemPageObject implements MenuItem {\n static SELECTOR = '[part=\"item\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? NavItemPageObject.SELECTOR, parent, index);\n }\n\n hasMenu() {\n return super.hasMenu() || this.element?.tagName.toLowerCase() === 'summary';\n }\n\n isPopupNavItem() {\n return (\n this.element?.tagName.toLowerCase() === 'summary' ||\n this.element?.parentElement?.tagName === 'details'\n );\n }\n\n get expanded() {\n return Boolean(\n this.isPopupNavItem()\n ? (this.element?.parentElement as HTMLElement).matches('[open]')\n : super.expanded\n );\n }\n\n get $menu(): Menu | undefined {\n if (this.isPopupNavItem()) {\n return sel<HTMLElement, Menu>('+ div', AppNavPageObject);\n }\n\n return this.menu;\n }\n}\n\nexport class AppHeaderPageObject extends PageObject<HTMLElement> {\n static SELECTOR = '[data-test-app-header]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? AppHeaderPageObject.SELECTOR, parent, index);\n }\n\n get #prefix() {\n if (this.$menu.element) {\n return '[part=\"menu\"]';\n }\n\n return '';\n }\n\n get $brand() {\n return sel<HTMLDivElement>(`${this.#prefix} [part=\"brand\"]`);\n }\n\n get $nav() {\n return sel(`${this.#prefix} nav`, AppNavPageObject);\n }\n\n get $aux() {\n return sel<HTMLSpanElement>(`${this.#prefix} [part=\"aux\"]`);\n }\n\n $menu = sel(\n '[part=\"menu\"]',\n class extends PageObject<HTMLSpanElement> {\n $toggle = sel('[data-test-toggle]', IconButtonPageObject);\n\n $popover = sel(\n '[popover]',\n class extends PageObject<HTMLElement> {\n get expanded() {\n return Boolean(this.element?.matches(':popover-open'));\n }\n }\n );\n }\n );\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass ChoicePageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-choice]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicePageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport const RadioPageObject = ChoicePageObject;\nexport const CheckboxPageObject = ChoicePageObject;\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport interface Input extends PageObject {\n control: HTMLInputElement;\n}\n\nexport class InputPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport class RangeInputPageObject extends InputPageObject {\n get orientation(): string | undefined {\n return this.control.dataset.orientation;\n }\n}\nexport const NumberInputPageObject = InputPageObject;\nexport const TextInputPageObject = InputPageObject;\nexport const PhoneInputPageObject = InputPageObject;\nexport const DateInputPageObject = InputPageObject;\nexport const EmailInputPageObject = InputPageObject;\nexport const PasswordInputPageObject = InputPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { InputPageObject } from './input';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class InputBuilderPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input-builder]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputBuilderPageObject.SELECTOR, parent, index);\n }\n\n $prefix = sel<HTMLSpanElement>('[data-test-input-builder=\"prefix\"]');\n $affix = sel<HTMLSpanElement>('[data-test-input-builder=\"affix\"]');\n $suffix = sel<HTMLSpanElement>('[data-test-input-builder=\"suffix\"]');\n $input = sel(InputPageObject.SELECTOR, InputPageObject);\n\n get control() {\n return this.$input.element as HTMLInputElement;\n }\n}\n\nexport const CurrencyInputPageObject = InputBuilderPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectListbox } from 'ember-aria-voyager/test-support';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ListPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-list]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ListPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $option = sel<HTMLOptionElement>('[role=\"option\"]');\n\n async select(options: string | string[]) {\n await selectListbox(this.element as Target, options);\n }\n}\n","import { select } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SelectPageObject extends PageObject<HTMLSelectElement> {\n static SELECTOR = '[data-test-select]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SelectPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLSelectElement;\n }\n\n $option = sel<HTMLOptionElement>('option');\n\n async select(options: string | string[], keepPreviouslySelected?: boolean) {\n await select(this.element as Target, options, keepPreviouslySelected);\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TextAreaPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-textarea]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TextAreaPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nclass OptionPageObject extends PageObject<HTMLDivElement> {\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n $control = sel<HTMLInputElement>('input');\n}\n\nexport class ChoicesPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-choices]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicesPageObject.SELECTOR, parent, index);\n }\n\n $options = sel('[data-test-option]', OptionPageObject);\n\n option(value: string) {\n return this.$options.find(\n (option) => option.$control.element?.value === value\n ) as OptionPageObject;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { CheckboxPageObject } from '../choice';\nimport { InputPageObject } from '../input';\nimport { InputBuilderPageObject } from '../input-builder';\nimport { ListPageObject } from '../list';\nimport { SelectPageObject } from '../select';\nimport { TextAreaPageObject } from '../text-area';\nimport { ChoicesPageObject } from './choices';\n\nimport type { RangeInputPageObject } from '../input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FieldPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-field]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FieldPageObject.SELECTOR, parent, index);\n }\n\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n // $control = sel<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n // 'input,select,textarea'\n // );\n\n // controls\n\n private $input = sel(InputPageObject.SELECTOR, InputPageObject);\n private $inputBuilder = sel(InputBuilderPageObject.SELECTOR, InputBuilderPageObject);\n private $select = sel(SelectPageObject.SELECTOR, SelectPageObject);\n private $textArea = sel(TextAreaPageObject.SELECTOR, TextAreaPageObject);\n private $checkbox = sel(CheckboxPageObject.SELECTOR, CheckboxPageObject);\n private $list = sel(ListPageObject.SELECTOR, ListPageObject);\n\n $choices = sel(ChoicesPageObject.SELECTOR, ChoicesPageObject);\n $errors = sel(\n '[data-test-error]',\n class extends PageObject<HTMLDivElement> {\n get type() {\n return this.element?.getAttribute('data-test-error-type');\n }\n\n get value() {\n return this.element?.getAttribute('data-test-error-value');\n }\n }\n );\n\n get $control():\n | InputPageObject\n | RangeInputPageObject\n | InputBuilderPageObject\n | SelectPageObject\n | TextAreaPageObject\n | ListPageObject {\n if (this.$inputBuilder.element) {\n return this.$inputBuilder;\n }\n\n if (this.$checkbox.element) {\n return this.$checkbox;\n }\n\n if (this.$input.element?.type === 'range') {\n return this.$input as RangeInputPageObject;\n }\n\n if (this.$input.element) {\n return this.$input;\n }\n\n if (this.$select.element) {\n return this.$select;\n }\n\n if (this.$textArea.element) {\n return this.$textArea;\n }\n\n if (this.$list.element) {\n return this.$list;\n }\n\n return this.$input; // @TODO bad fallback for now\n }\n\n get name() {\n return this.element?.getAttribute('data-test-field');\n }\n}\n","import { triggerEvent } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { FieldPageObject } from './-private/field';\nimport { ButtonPageObject } from './button';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FormPageObject extends PageObject<HTMLFormElement> {\n static SELECTOR = '[data-test-form]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FormPageObject.SELECTOR, parent, index);\n }\n\n $submit = sel('button[type=\"submit\"]', ButtonPageObject);\n $reset = sel('button[type=\"reset\"]', ButtonPageObject);\n\n $fields = sel(FieldPageObject.SELECTOR, FieldPageObject);\n\n field(name: string) {\n return this.$fields.find((field) => field.name === name) as FieldPageObject;\n }\n\n async submit() {\n await triggerEvent(this.element as HTMLFormElement, 'submit');\n }\n\n async reset() {\n await triggerEvent(this.element as HTMLFormElement, 'reset');\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PagePageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-page]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PagePageObject.SELECTOR, parent, index);\n }\n\n $header = sel<HTMLElement>('header');\n\n $title = sel<HTMLHeadingElement>('header > h1');\n $description = sel<HTMLParagraphElement>('header > p');\n $nav = sel<HTMLElement>('header > nav');\n\n $content = sel<HTMLElement>('[part=\"content\"]');\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PillButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-pill-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PillButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PopoverPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-popover]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PopoverPageObject.SELECTOR, parent, index);\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SectionPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-section]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SectionPageObject.SELECTOR, parent, index);\n }\n\n $header = sel('[data-test-section=\"header\"]');\n $title = sel('[data-test-section=\"title\"]');\n}\n"],"names":["IconPageObject","PageObject","SELECTOR","constructor","selector","parent","index","name","element","getAttribute","style","IconButtonPageObject","intent","importance","spacing","push","click","$icon","sel","MenuItemPageObject","disabled","Boolean","hasAttribute","expanded","menu","matches","hasMenu","menuId","globalSelector","MenuPageObject","undefined","$menu","control","$item","AppNavPageObject","NavItemPageObject","tagName","toLowerCase","isPopupNavItem","parentElement","AppHeaderPageObject","#prefix","$brand","$nav","$aux","$toggle","$popover","ButtonPageObject","$before","$label","$after","ChoicePageObject","RadioPageObject","CheckboxPageObject","InputPageObject","RangeInputPageObject","orientation","dataset","NumberInputPageObject","TextInputPageObject","PhoneInputPageObject","DateInputPageObject","EmailInputPageObject","PasswordInputPageObject","InputBuilderPageObject","$prefix","$affix","$suffix","$input","CurrencyInputPageObject","ListPageObject","$option","select","options","selectListbox","SelectPageObject","keepPreviouslySelected","TextAreaPageObject","OptionPageObject","$description","$control","ChoicesPageObject","$options","option","value","find","FieldPageObject","$inputBuilder","$select","$textArea","$checkbox","$list","$choices","$errors","type","FormPageObject","$submit","$reset","$fields","field","submit","triggerEvent","reset","PagePageObject","$header","$title","$content","PillButtonPageObject","PopoverPageObject","SectionPageObject"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/test-support/page-objects/icon.ts","../../src/test-support/page-objects/icon-button.ts","../../src/test-support/page-objects/menu.ts","../../src/test-support/page-objects/app-header.ts","../../src/test-support/page-objects/button.ts","../../src/test-support/page-objects/choice.ts","../../src/test-support/page-objects/input.ts","../../src/test-support/page-objects/input-builder.ts","../../src/test-support/page-objects/list.ts","../../src/test-support/page-objects/select.ts","../../src/test-support/page-objects/text-area.ts","../../src/test-support/page-objects/-private/choices.ts","../../src/test-support/page-objects/-private/field.ts","../../src/test-support/page-objects/form.ts","../../src/test-support/page-objects/page.ts","../../src/test-support/page-objects/pill-button.ts","../../src/test-support/page-objects/popover.ts","../../src/test-support/page-objects/section.ts","../../src/test-support/page-objects/tabs.ts"],"sourcesContent":["import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconPageObject extends PageObject<HTMLSpanElement> {\n static SELECTOR = '[data-test-icon]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconPageObject.SELECTOR, parent, index);\n }\n\n get name(): string | null | undefined {\n return this.element?.getAttribute('data-test-icon');\n }\n\n get style(): string | null | undefined {\n return this.element?.getAttribute('data-test-icon-style');\n }\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconPageObject } from './icon';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-icon-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n\n $icon = sel('[data-test-icon-button=\"icon\"]', IconPageObject);\n}\n","import { globalSelector, PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Menu, MenuElement, MenuItem, MenuItemElement } from './-menu';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class MenuItemPageObject extends PageObject<MenuItemElement> implements MenuItem {\n static SELECTOR = '[role=\"menuitem\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuItemPageObject.SELECTOR, parent, index);\n }\n\n get disabled() {\n return Boolean(this.element?.hasAttribute('aria-disabled'));\n }\n\n get expanded(): boolean {\n return Boolean(this.menu?.element?.matches(':popover-open'));\n }\n\n hasMenu() {\n return this.element?.getAttribute('aria-haspopup') === 'menu';\n }\n\n protected get menuId() {\n return this.element?.getAttribute('popovertarget');\n }\n\n protected get menu(): Menu | undefined {\n return this.menuId\n ? // eslint-disable-next-line @typescript-eslint/no-use-before-define\n globalSelector<MenuElement, Menu>(`#${this.menuId}`, MenuPageObject)\n : undefined;\n }\n\n get $menu() {\n return this.menu;\n }\n}\n\nexport class MenuPageObject extends PageObject<MenuElement> implements Menu {\n static SELECTOR = '[data-test-menu]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $item = sel<MenuItemElement, MenuItem>(MenuItemPageObject.SELECTOR, MenuItemPageObject);\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconButtonPageObject } from './icon-button';\nimport { MenuItemPageObject } from './menu';\n\nimport type { Menu, MenuItem, MenuItemElement } from './-menu';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass AppNavPageObject extends PageObject<HTMLElement> implements Menu<HTMLElement> {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n $item = sel<MenuItemElement, MenuItem>(NavItemPageObject.SELECTOR, NavItemPageObject);\n}\n\nexport class NavItemPageObject extends MenuItemPageObject implements MenuItem {\n static SELECTOR = '[part=\"item\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? NavItemPageObject.SELECTOR, parent, index);\n }\n\n hasMenu() {\n return super.hasMenu() || this.element?.tagName.toLowerCase() === 'summary';\n }\n\n isPopupNavItem() {\n return (\n this.element?.tagName.toLowerCase() === 'summary' ||\n this.element?.parentElement?.tagName === 'details'\n );\n }\n\n get expanded() {\n return Boolean(\n this.isPopupNavItem()\n ? (this.element?.parentElement as HTMLElement).matches('[open]')\n : super.expanded\n );\n }\n\n get $menu(): Menu | undefined {\n if (this.isPopupNavItem()) {\n return sel<HTMLElement, Menu>('+ div', AppNavPageObject);\n }\n\n return this.menu;\n }\n}\n\nexport class AppHeaderPageObject extends PageObject<HTMLElement> {\n static SELECTOR = '[data-test-app-header]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? AppHeaderPageObject.SELECTOR, parent, index);\n }\n\n get #prefix() {\n if (this.$menu.element) {\n return '[part=\"menu\"]';\n }\n\n return '';\n }\n\n get $brand() {\n return sel<HTMLDivElement>(`${this.#prefix} [part=\"brand\"]`);\n }\n\n get $nav() {\n return sel(`${this.#prefix} nav`, AppNavPageObject);\n }\n\n get $aux() {\n return sel<HTMLSpanElement>(`${this.#prefix} [part=\"aux\"]`);\n }\n\n $menu = sel(\n '[part=\"menu\"]',\n class extends PageObject<HTMLSpanElement> {\n $toggle = sel('[data-test-toggle]', IconButtonPageObject);\n\n $popover = sel(\n '[popover]',\n class extends PageObject<HTMLElement> {\n get expanded() {\n return Boolean(this.element?.matches(':popover-open'));\n }\n }\n );\n }\n );\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass ChoicePageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-choice]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicePageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport const RadioPageObject = ChoicePageObject;\nexport const CheckboxPageObject = ChoicePageObject;\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport interface Input extends PageObject {\n control: HTMLInputElement;\n}\n\nexport class InputPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport class RangeInputPageObject extends InputPageObject {\n get orientation(): string | undefined {\n return this.control.dataset.orientation;\n }\n}\nexport const NumberInputPageObject = InputPageObject;\nexport const TextInputPageObject = InputPageObject;\nexport const PhoneInputPageObject = InputPageObject;\nexport const DateInputPageObject = InputPageObject;\nexport const EmailInputPageObject = InputPageObject;\nexport const PasswordInputPageObject = InputPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { InputPageObject } from './input';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class InputBuilderPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input-builder]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputBuilderPageObject.SELECTOR, parent, index);\n }\n\n $prefix = sel<HTMLSpanElement>('[data-test-input-builder=\"prefix\"]');\n $affix = sel<HTMLSpanElement>('[data-test-input-builder=\"affix\"]');\n $suffix = sel<HTMLSpanElement>('[data-test-input-builder=\"suffix\"]');\n $input = sel(InputPageObject.SELECTOR, InputPageObject);\n\n get control() {\n return this.$input.element as HTMLInputElement;\n }\n}\n\nexport const CurrencyInputPageObject = InputBuilderPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectListbox } from 'ember-aria-voyager/test-support';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ListPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-list]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ListPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $option = sel<HTMLOptionElement>('[role=\"option\"]');\n\n async select(options: string | string[]) {\n await selectListbox(this.element as Target, options);\n }\n}\n","import { select } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SelectPageObject extends PageObject<HTMLSelectElement> {\n static SELECTOR = '[data-test-select]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SelectPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLSelectElement;\n }\n\n $option = sel<HTMLOptionElement>('option');\n\n async select(options: string | string[], keepPreviouslySelected?: boolean) {\n await select(this.element as Target, options, keepPreviouslySelected);\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TextAreaPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-textarea]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TextAreaPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nclass OptionPageObject extends PageObject<HTMLDivElement> {\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n $control = sel<HTMLInputElement>('input');\n}\n\nexport class ChoicesPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-choices]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicesPageObject.SELECTOR, parent, index);\n }\n\n $options = sel('[data-test-option]', OptionPageObject);\n\n option(value: string) {\n return this.$options.find(\n (option) => option.$control.element?.value === value\n ) as OptionPageObject;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { CheckboxPageObject } from '../choice';\nimport { InputPageObject } from '../input';\nimport { InputBuilderPageObject } from '../input-builder';\nimport { ListPageObject } from '../list';\nimport { SelectPageObject } from '../select';\nimport { TextAreaPageObject } from '../text-area';\nimport { ChoicesPageObject } from './choices';\n\nimport type { RangeInputPageObject } from '../input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FieldPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-field]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FieldPageObject.SELECTOR, parent, index);\n }\n\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n // $control = sel<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n // 'input,select,textarea'\n // );\n\n // controls\n\n private $input = sel(InputPageObject.SELECTOR, InputPageObject);\n private $inputBuilder = sel(InputBuilderPageObject.SELECTOR, InputBuilderPageObject);\n private $select = sel(SelectPageObject.SELECTOR, SelectPageObject);\n private $textArea = sel(TextAreaPageObject.SELECTOR, TextAreaPageObject);\n private $checkbox = sel(CheckboxPageObject.SELECTOR, CheckboxPageObject);\n private $list = sel(ListPageObject.SELECTOR, ListPageObject);\n\n $choices = sel(ChoicesPageObject.SELECTOR, ChoicesPageObject);\n $errors = sel(\n '[data-test-error]',\n class extends PageObject<HTMLDivElement> {\n get type() {\n return this.element?.getAttribute('data-test-error-type');\n }\n\n get value() {\n return this.element?.getAttribute('data-test-error-value');\n }\n }\n );\n\n get $control():\n | InputPageObject\n | RangeInputPageObject\n | InputBuilderPageObject\n | SelectPageObject\n | TextAreaPageObject\n | ListPageObject {\n if (this.$inputBuilder.element) {\n return this.$inputBuilder;\n }\n\n if (this.$checkbox.element) {\n return this.$checkbox;\n }\n\n if (this.$input.element?.type === 'range') {\n return this.$input as RangeInputPageObject;\n }\n\n if (this.$input.element) {\n return this.$input;\n }\n\n if (this.$select.element) {\n return this.$select;\n }\n\n if (this.$textArea.element) {\n return this.$textArea;\n }\n\n if (this.$list.element) {\n return this.$list;\n }\n\n return this.$input; // @TODO bad fallback for now\n }\n\n get name() {\n return this.element?.getAttribute('data-test-field');\n }\n}\n","import { triggerEvent } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { FieldPageObject } from './-private/field';\nimport { ButtonPageObject } from './button';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FormPageObject extends PageObject<HTMLFormElement> {\n static SELECTOR = '[data-test-form]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FormPageObject.SELECTOR, parent, index);\n }\n\n $submit = sel('button[type=\"submit\"]', ButtonPageObject);\n $reset = sel('button[type=\"reset\"]', ButtonPageObject);\n\n $fields = sel(FieldPageObject.SELECTOR, FieldPageObject);\n\n field(name: string) {\n return this.$fields.find((field) => field.name === name) as FieldPageObject;\n }\n\n async submit() {\n await triggerEvent(this.element as HTMLFormElement, 'submit');\n }\n\n async reset() {\n await triggerEvent(this.element as HTMLFormElement, 'reset');\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PagePageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-page]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PagePageObject.SELECTOR, parent, index);\n }\n\n $header = sel<HTMLElement>('header');\n\n $title = sel<HTMLHeadingElement>('header > h1');\n $description = sel<HTMLParagraphElement>('header > p');\n $nav = sel<HTMLElement>('header > nav');\n\n $content = sel<HTMLElement>('[part=\"content\"]');\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PillButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-pill-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PillButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PopoverPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-popover]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PopoverPageObject.SELECTOR, parent, index);\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SectionPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-section]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SectionPageObject.SELECTOR, parent, index);\n }\n\n $header = sel('[data-test-section=\"header\"]');\n $title = sel('[data-test-section=\"title\"]');\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectTab } from 'ember-aria-voyager/test-support';\n\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error, @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { TabValue } from '../../components/tabs';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TabsPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-tabs]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TabsPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.$tablist.element as HTMLDivElement;\n }\n\n $tablist = sel<HTMLDivElement>('[role=\"tablist\"]');\n $tab = sel<HTMLButtonElement>('[role=\"tab\"]');\n $tabpanel = sel<HTMLElement>('[role=\"tabpanel\"]');\n\n async select(value: unknown) {\n // @ts-expect-error this is internal API\n const tab = this.$tab.find((t) => t.element[TabValue] === value);\n\n if (tab) {\n await selectTab(tab);\n }\n }\n}\n"],"names":["IconPageObject","PageObject","SELECTOR","constructor","selector","parent","index","name","element","getAttribute","style","IconButtonPageObject","intent","importance","spacing","push","click","$icon","sel","MenuItemPageObject","disabled","Boolean","hasAttribute","expanded","menu","matches","hasMenu","menuId","globalSelector","MenuPageObject","undefined","$menu","control","$item","AppNavPageObject","NavItemPageObject","tagName","toLowerCase","isPopupNavItem","parentElement","AppHeaderPageObject","#prefix","$brand","$nav","$aux","$toggle","$popover","ButtonPageObject","$before","$label","$after","ChoicePageObject","RadioPageObject","CheckboxPageObject","InputPageObject","RangeInputPageObject","orientation","dataset","NumberInputPageObject","TextInputPageObject","PhoneInputPageObject","DateInputPageObject","EmailInputPageObject","PasswordInputPageObject","InputBuilderPageObject","$prefix","$affix","$suffix","$input","CurrencyInputPageObject","ListPageObject","$option","select","options","selectListbox","SelectPageObject","keepPreviouslySelected","TextAreaPageObject","OptionPageObject","$description","$control","ChoicesPageObject","$options","option","value","find","FieldPageObject","$inputBuilder","$select","$textArea","$checkbox","$list","$choices","$errors","type","FormPageObject","$submit","$reset","$fields","field","submit","triggerEvent","reset","PagePageObject","$header","$title","$content","PillButtonPageObject","PopoverPageObject","SectionPageObject","TabsPageObject","$tablist","$tab","$tabpanel","tab","t","TabValue","selectTab"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hokulea/ember",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Hokulea Design System for Ember",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -41,13 +41,14 @@
41
41
  "change-case": "^5.4.4",
42
42
  "debug": "^4.3.2",
43
43
  "decorator-transforms": "^2.0.0",
44
- "ember-aria-voyager": "^0.0.5",
44
+ "ember-aria-voyager": "^0.2.4",
45
45
  "ember-async-data": "^1.0.3",
46
46
  "ember-phosphor-icons": "^0.3.0",
47
47
  "ember-provide-consume-context": "^0.3.2",
48
+ "ember-stargate": "^0.6.0",
48
49
  "read-pkg-up": "7.0.1",
49
50
  "tracked-built-ins": "^3.3.0",
50
- "@hokulea/core": "0.2.0"
51
+ "@hokulea/core": "0.3.0"
51
52
  },
52
53
  "peerDependencies": {
53
54
  "@ember/test-helpers": "^4.0.0",
@@ -119,12 +120,12 @@
119
120
  "@hokulea/config-eslint": "0.0.0",
120
121
  "@hokulea/config-postcss": "0.0.0",
121
122
  "@hokulea/config-prettier": "0.0.0",
122
- "@hokulea/config-targets": "0.0.0",
123
123
  "@hokulea/config-stylelint": "0.0.0",
124
+ "@hokulea/config-targets": "0.0.0",
124
125
  "@hokulea/config-template-lint": "0.0.0",
125
126
  "@hokulea/config-typescript": "0.0.0",
126
- "@hokulea/rollup-plugin-postcss": "0.0.0",
127
- "@hokulea/tokens": "0.0.2"
127
+ "@hokulea/tokens": "0.0.2",
128
+ "@hokulea/rollup-plugin-postcss": "0.0.0"
128
129
  },
129
130
  "ember": {
130
131
  "edition": "octane"
@@ -157,6 +158,7 @@
157
158
  "./components/range-input.js": "./dist/_app_/components/range-input.js",
158
159
  "./components/section.js": "./dist/_app_/components/section.js",
159
160
  "./components/select.js": "./dist/_app_/components/select.js",
161
+ "./components/tabs.js": "./dist/_app_/components/tabs.js",
160
162
  "./components/text-area.js": "./dist/_app_/components/text-area.js",
161
163
  "./components/text-input.js": "./dist/_app_/components/text-input.js",
162
164
  "./helpers/popover.js": "./dist/_app_/helpers/popover.js"
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers-DApiJrHl.js","sources":["../src/-private/helpers.ts"],"sourcesContent":["import { get } from '@ember/object';\n\n/* Shamelessly stolen from: https://github.com/DockYard/ember-composable-helpers/blob/master/addon/helpers/pick.js */\nfunction pick<V = unknown>(path: string, action?: (value: V) => void) {\n return function (event: object): V | void {\n let value = get(event, path) as V;\n\n if (!action) {\n return value;\n }\n\n action(value);\n };\n}\n\nconst or = (...conditions: unknown[]) => conditions.reduce((a, b) => a || b, false);\n\nconst and = (a: unknown, b: unknown) => a && b;\n\nconst eq = (a: unknown, b: unknown) => a === b;\n\nconst not = (a: boolean) => !a;\n\nconst asString = (value: unknown): string => {\n return value as string;\n};\n\nconst asNumber = (value: unknown): number => {\n return value as number;\n};\n\nconst asBoolean = (value: unknown): boolean => {\n return value as boolean;\n};\n\nexport { and, asBoolean, asNumber, asString, eq, not, or, pick };\n"],"names":["pick","path","action","event","value","get","or","conditions","reduce","a","b","and","eq","not","asString","asNumber","asBoolean"],"mappings":";;AAEA;AACA,SAASA,IAAIA,CAAcC,IAAY,EAAEC,MAA2B,EAAE;EACpE,OAAO,UAAUC,KAAa,EAAY;AACxC,IAAA,IAAIC,KAAK,GAAGC,GAAG,CAACF,KAAK,EAAEF,IAAI,CAAM,CAAA;IAEjC,IAAI,CAACC,MAAM,EAAE;AACX,MAAA,OAAOE,KAAK,CAAA;AACd,KAAA;IAEAF,MAAM,CAACE,KAAK,CAAC,CAAA;GACd,CAAA;AACH,CAAA;AAEME,MAAAA,EAAE,GAAGA,CAAC,GAAGC,UAAqB,KAAKA,UAAU,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,IAAIC,CAAC,EAAE,KAAK,EAAC;AAE7EC,MAAAA,GAAG,GAAGA,CAACF,CAAU,EAAEC,CAAU,KAAKD,CAAC,IAAIC,EAAC;AAExCE,MAAAA,EAAE,GAAGA,CAACH,CAAU,EAAEC,CAAU,KAAKD,CAAC,KAAKC,EAAC;AAE9C,MAAMG,GAAG,GAAIJ,CAAU,IAAK,CAACA,EAAC;AAExBK,MAAAA,QAAQ,GAAIV,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK,CAAA;AACd,EAAC;AAEKW,MAAAA,QAAQ,GAAIX,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK,CAAA;AACd,EAAC;AAEKY,MAAAA,SAAS,GAAIZ,KAAc,IAAc;AAC7C,EAAA,OAAOA,KAAK,CAAA;AACd;;;;"}