@hokulea/ember 0.12.0 → 0.13.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 (36) hide show
  1. package/declarations/components/controls/-menu.d.ts +2 -2
  2. package/declarations/components/controls/-menu.d.ts.map +1 -1
  3. package/declarations/components/controls/menu.d.ts.map +1 -1
  4. package/declarations/components/feedback/alert.d.ts +3 -2
  5. package/declarations/components/feedback/alert.d.ts.map +1 -1
  6. package/declarations/components/form/form.d.ts +9 -3
  7. package/declarations/components/form/form.d.ts.map +1 -1
  8. package/declarations/components/graphics/icon.d.ts +4 -1
  9. package/declarations/components/graphics/icon.d.ts.map +1 -1
  10. package/declarations/index.d.ts +2 -0
  11. package/declarations/index.d.ts.map +1 -1
  12. package/declarations/test-support/page-objects/-private/error.d.ts +7 -0
  13. package/declarations/test-support/page-objects/-private/error.d.ts.map +1 -0
  14. package/declarations/test-support/page-objects/-private/field.d.ts +2 -5
  15. package/declarations/test-support/page-objects/-private/field.d.ts.map +1 -1
  16. package/declarations/test-support/page-objects/form.d.ts +3 -1
  17. package/declarations/test-support/page-objects/form.d.ts.map +1 -1
  18. package/dist/{alert-DmCWMMRr.js → alert-Dn7ePQlD.js} +2 -1
  19. package/dist/alert-Dn7ePQlD.js.map +1 -0
  20. package/dist/{app-header-DKlDPWSe.js → app-header-Bb7kHBL2.js} +2 -2
  21. package/dist/{app-header-DKlDPWSe.js.map → app-header-Bb7kHBL2.js.map} +1 -1
  22. package/dist/components/alert.js +1 -1
  23. package/dist/components/app-header.js +1 -1
  24. package/dist/components/form.js +1 -1
  25. package/dist/components/menu.js +1 -1
  26. package/dist/{form-CXvWQbiY.js → form-B9MShV4J.js} +16 -8
  27. package/dist/{form-CXvWQbiY.js.map → form-B9MShV4J.js.map} +1 -1
  28. package/dist/icon-rlG6O1ps.js.map +1 -1
  29. package/dist/index.js +4 -4
  30. package/dist/{menu-DCDUaqYZ.js → menu-BR3G9OgU.js} +2 -2
  31. package/dist/menu-BR3G9OgU.js.map +1 -0
  32. package/dist/test-support/index.js +12 -9
  33. package/dist/test-support/index.js.map +1 -1
  34. package/package.json +15 -15
  35. package/dist/alert-DmCWMMRr.js.map +0 -1
  36. package/dist/menu-DCDUaqYZ.js.map +0 -1
@@ -10,12 +10,12 @@ export interface MenuItemSignature {
10
10
  Blocks: MenuItemBlocks;
11
11
  }
12
12
  export type MenuItemLike = ComponentLike<MenuItemSignature>;
13
- export type MenuBlock = {
13
+ export type MenuBuilder = {
14
14
  Item: MenuItemLike;
15
15
  };
16
16
  export type MenuItemBlocks = {
17
17
  default?: [];
18
18
  label?: [];
19
- menu?: [MenuBlock];
19
+ menu?: [MenuBuilder];
20
20
  };
21
21
  //# sourceMappingURL=-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"-menu.d.ts","sourceRoot":"","sources":["../../../src/components/controls/-menu.gts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"-menu.d.ts","sourceRoot":"","sources":["../../../src/components/controls/-menu.gts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;CACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/components/controls/menu.gts"],"names":[],"mappings":"AAyKA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAe3C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAC,OAAO,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,GAAG;QACnB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;QACvC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;KAC1C,CAAC;IACF,MAAM,EAAE,cAAc,GAAG;QACvB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;KAC3B,CAAC;CACH;AAyCD,cAAM,QAAS,SAAQ,SAAS,CAAC,iBAAiB,CAAC;gBACrC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;CA+D1D;AAGD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,qBAAa,IAAK,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE5B,KAAK,EAAE,QAAQ,EAAE,CAAsB;IAEhD,IAAI,SAAS,wBAEZ;IAED,YAAY,GAAI,MAAM,QAAQ,UAK5B;IAEF,cAAc,GAAI,MAAM,QAAQ,UAK9B;CAsBH"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/components/controls/menu.gts"],"names":[],"mappings":"AAyKA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAe3C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAC,OAAO,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,GAAG;QACnB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;QACvC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;KAC1C,CAAC;IACF,MAAM,EAAE,cAAc,GAAG;QACvB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;KAC3B,CAAC;CACH;AAyCD,cAAM,QAAS,SAAQ,SAAS,CAAC,iBAAiB,CAAC;gBACrC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;CAqE1D;AAGD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,qBAAa,IAAK,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE5B,KAAK,EAAE,QAAQ,EAAE,CAAsB;IAEhD,IAAI,SAAS,wBAEZ;IAED,YAAY,GAAI,MAAM,QAAQ,UAK5B;IAEF,cAAc,GAAI,MAAM,QAAQ,UAK9B;CAsBH"}
@@ -1,5 +1,6 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { type Importance, Indicator } from '@hokulea/tokens';
3
+ import { type IconAsset } from '../graphics/icon';
3
4
  import type { ComponentLike } from '@glint/template';
4
5
  export interface AlertSignature<E extends Element = HTMLDivElement> {
5
6
  Element: E;
@@ -9,7 +10,7 @@ export interface AlertSignature<E extends Element = HTMLDivElement> {
9
10
  }>;
10
11
  indicator?: Indicator;
11
12
  importance?: Importance;
12
- icon?: string | ComponentLike;
13
+ icon?: IconAsset;
13
14
  title?: string;
14
15
  };
15
16
  Blocks: {
@@ -20,7 +21,7 @@ export interface AlertSignature<E extends Element = HTMLDivElement> {
20
21
  };
21
22
  }
22
23
  export declare class Alert<E extends Element = HTMLDivElement> extends Component<AlertSignature<E>> {
23
- get icon(): string | ComponentLike;
24
+ get icon(): IconAsset;
24
25
  get role(): "alert" | "alertdialog" | undefined;
25
26
  hasTitle: (titleBlock: boolean) => string | true | undefined;
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/alert.gts"],"names":[],"mappings":"AAmIA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2BrD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,cAAc;IAChE,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,aAAa,CAAC;YAAE,OAAO,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QAClD,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,CAAC;CACH;AAED,qBAAa,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,cAAc,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,IAAI,2BAkBP;IAED,IAAI,IAAI,wCAQP;IAED,QAAQ,GAAI,YAAY,OAAO,+BAE7B;CAsFH"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/alert.gts"],"names":[],"mappings":"AAoIA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2BrD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,cAAc;IAChE,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,aAAa,CAAC;YAAE,OAAO,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QAClD,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,CAAC;CACH;AAED,qBAAa,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,cAAc,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,IAAI,cAmBP;IAED,IAAI,IAAI,wCAQP;IAED,QAAQ,GAAI,YAAY,OAAO,+BAE7B;CAsFH"}
@@ -1,5 +1,4 @@
1
1
  import Component from '@glimmer/component';
2
- import { createForm } from '@hokulea/ember-pahu';
3
2
  import { Field } from './field';
4
3
  import { CheckboxField } from './fields/checkbox';
5
4
  import { CurrencyField } from './fields/currency';
@@ -18,8 +17,14 @@ import { TextAreaField } from './fields/text-area';
18
17
  import { Reset } from './reset';
19
18
  import { Submit } from './submit';
20
19
  import type { BoundField } from './field';
20
+ import type { TOC } from '@ember/component/template-only';
21
21
  import type { WithBoundArgs } from '@glint/template';
22
- import type { FormAPI, FormConfig, UserData } from '@hokulea/ember-pahu';
22
+ import type { FormAPI, FormConfig, Issue, UserData } from '@hokulea/ember-pahu';
23
+ declare const FormErrors: TOC<{
24
+ Args: {
25
+ errors: Issue[];
26
+ };
27
+ }>;
23
28
  export interface FormBuilder<DATA extends UserData> {
24
29
  Checkbox: WithBoundArgs<typeof CheckboxField<DATA>, 'Field'>;
25
30
  Currency: WithBoundArgs<typeof CurrencyField<DATA>, 'Field'>;
@@ -36,6 +41,7 @@ export interface FormBuilder<DATA extends UserData> {
36
41
  Text: WithBoundArgs<typeof TextField<DATA>, 'Field'>;
37
42
  TextArea: WithBoundArgs<typeof TextAreaField<DATA>, 'Field'>;
38
43
  Field: BoundField<DATA>;
44
+ Errors: WithBoundArgs<typeof FormErrors, 'errors'>;
39
45
  Submit: typeof Submit;
40
46
  Reset: typeof Reset;
41
47
  /**
@@ -54,7 +60,6 @@ export interface FormBuilder<DATA extends UserData> {
54
60
  * Trigger validation on the form
55
61
  */
56
62
  validate: FormAPI<DATA>['validate'];
57
- form: ReturnType<typeof createForm<DATA>>;
58
63
  }
59
64
  export interface FormSignature<DATA extends UserData> {
60
65
  Element: HTMLFormElement;
@@ -208,4 +213,5 @@ export declare class Form<DATA extends UserData> extends Component<FormSignature
208
213
  }): TextField<DATA, (string & {}) | import("@hokulea/ember-pahu").FieldNames<DATA>, (string & {} extends infer T_4 ? T_4 extends string & {} ? T_4 extends keyof DATA ? DATA[(keyof DATA & string) | (keyof DATA & import("@hokulea/ember-pahu").FieldNames<DATA>)] : import("@glint/template").AttrValue : never : never) | (import("@hokulea/ember-pahu").FieldNames<DATA> extends infer T_5 ? T_5 extends import("@hokulea/ember-pahu").FieldNames<DATA> ? T_5 extends keyof DATA ? DATA[(keyof DATA & string) | (keyof DATA & import("@hokulea/ember-pahu").FieldNames<DATA>)] : import("@glint/template").AttrValue : never : never)>;
209
214
  };
210
215
  }
216
+ export {};
211
217
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/form/form.gts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/form/form.gts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { TOC } from '@ember/component/template-only';
2
2
  import type { ComponentLike } from '@glint/template';
3
+ export type IconAsset = string | ComponentLike<{
4
+ Element: SVGElement;
5
+ }>;
3
6
  export interface IconSignature {
4
7
  Element: HTMLSpanElement;
5
8
  Args: {
@@ -8,7 +11,7 @@ export interface IconSignature {
8
11
  *
9
12
  * Make sure to use `currentColor` to comply with the styling
10
13
  */
11
- icon: string | ComponentLike;
14
+ icon: IconAsset;
12
15
  };
13
16
  }
14
17
  export declare const Icon: TOC<IconSignature>;
@@ -1 +1 @@
1
- {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/components/graphics/icon.gts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE;QACJ;;;;WAIG;QACH,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;KAC9B,CAAC;CACH;AAMD,eAAO,MAAM,IAAI,EAAE,GAAG,CAAC,aAAa,CAkBlC,CAAC"}
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/components/graphics/icon.gts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,aAAa,CAAC;IACZ,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC,CAAC;AAEP,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE;QACJ;;;;WAIG;QACH,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC;CACH;AAMD,eAAO,MAAM,IAAI,EAAE,GAAG,CAAC,aAAa,CAkBlC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { Button } from './components/actions/button';
2
2
  export { IconButton } from './components/actions/icon-button';
3
+ export type { MenuBuilder } from './components/controls/-menu';
3
4
  export { Checkbox } from './components/controls/checkbox';
4
5
  export { CurrencyInput } from './components/controls/currency-input';
5
6
  export { DateInput } from './components/controls/date-input';
@@ -21,6 +22,7 @@ export { Alert } from './components/feedback/alert';
21
22
  export type { FieldValidationHandler, FormBuilder, FormValidationHandler, SubmitHandler, ValidatedHandler, ValidationResult } from './components/form/index.ts';
22
23
  export { Form } from './components/form/index.ts';
23
24
  export { Avatar } from './components/graphics/avatar';
25
+ export type { IconAsset } from './components/graphics/icon';
24
26
  export { Icon } from './components/graphics/icon';
25
27
  export { AppHeader } from './components/navigation/app-header';
26
28
  export { Link } from './components/navigation/link';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAGxD,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO;AACL,gBAAgB;AAChB,OAAO,IAAI,cAAc,EAC1B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAGxD,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO;AACL,gBAAgB;AAChB,OAAO,IAAI,cAAc,EAC1B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PageObject } from 'fractal-page-object';
2
+ export declare class Error extends PageObject<HTMLDivElement> {
3
+ static SELECTOR: string;
4
+ get type(): string | null | undefined;
5
+ get value(): string | null | undefined;
6
+ }
7
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/test-support/page-objects/-private/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,KAAM,SAAQ,UAAU,CAAC,cAAc,CAAC;IACnD,MAAM,CAAC,QAAQ,SAAuB;IAEtC,IAAI,IAAI,8BAEP;IAED,IAAI,KAAK,8BAER;CACF"}
@@ -5,12 +5,9 @@ import { ListPageObject } from '../list.ts';
5
5
  import { SelectPageObject } from '../select.ts';
6
6
  import { TextAreaPageObject } from '../text-area.ts';
7
7
  import { ChoicesPageObject } from './choices.ts';
8
+ import { Error } from './error.ts';
8
9
  import type { RangeInputPageObject } from '../input';
9
10
  import type { ElementLike } from 'fractal-page-object';
10
- export declare class FieldError extends PageObject<HTMLDivElement> {
11
- get type(): string | null | undefined;
12
- get value(): string | null | undefined;
13
- }
14
11
  export declare class FieldRule extends PageObject<HTMLParagraphElement> {
15
12
  get invalid(): boolean;
16
13
  }
@@ -26,7 +23,7 @@ export declare class FieldPageObject extends PageObject<HTMLDivElement | HTMLFie
26
23
  private $checkbox;
27
24
  private $list;
28
25
  $choices: ChoicesPageObject;
29
- $errors: FieldError;
26
+ $errors: Error;
30
27
  $rules: FieldRule;
31
28
  get $control(): InputPageObject | RangeInputPageObject | InputBuilderPageObject | SelectPageObject | TextAreaPageObject | ListPageObject;
32
29
  get name(): string | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/test-support/page-objects/-private/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,UAAW,SAAQ,UAAU,CAAC,cAAc,CAAC;IACxD,IAAI,IAAI,8BAEP;IAED,IAAI,KAAK,8BAER;CACF;AAED,qBAAa,SAAU,SAAQ,UAAU,CAAC,oBAAoB,CAAC;IAC7D,IAAI,OAAO,YAEV;CACF;AAED,qBAAa,eAAgB,SAAQ,UAAU,CAAC,cAAc,GAAG,mBAAmB,CAAC;IACnF,MAAM,CAAC,QAAQ,SAAuB;gBAE1B,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9F,MAAM,mDAAkE;IACxE,YAAY,mCAAwD;IAOpE,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,aAAa,CAAgE;IACrF,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,KAAK,CAAgD;IAE7D,QAAQ,oBAAsD;IAC9D,OAAO,aAAwC;IAC/C,MAAM,YAAsC;IAE5C,IAAI,QAAQ,IACR,eAAe,GACf,oBAAoB,GACpB,sBAAsB,GACtB,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,CA8BjB;IAED,IAAI,IAAI,8BAEP;CACF"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/test-support/page-objects/-private/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,SAAU,SAAQ,UAAU,CAAC,oBAAoB,CAAC;IAC7D,IAAI,OAAO,YAEV;CACF;AAED,qBAAa,eAAgB,SAAQ,UAAU,CAAC,cAAc,GAAG,mBAAmB,CAAC;IACnF,MAAM,CAAC,QAAQ,SAAuB;gBAE1B,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9F,MAAM,mDAAkE;IACxE,YAAY,mCAAwD;IAOpE,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,aAAa,CAAgE;IACrF,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,KAAK,CAAgD;IAE7D,QAAQ,oBAAsD;IAC9D,OAAO,QAA8B;IACrC,MAAM,YAAsC;IAE5C,IAAI,QAAQ,IACR,eAAe,GACf,oBAAoB,GACpB,sBAAsB,GACtB,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,CA8BjB;IAED,IAAI,IAAI,8BAEP;CACF"}
@@ -1,17 +1,19 @@
1
1
  import { PageObject } from 'fractal-page-object';
2
+ import { Error } from './-private/error.ts';
2
3
  import { FieldPageObject } from './-private/field.ts';
3
4
  import { ButtonPageObject } from './button.ts';
4
5
  import type { ElementLike } from 'fractal-page-object';
5
6
  export type { OptionPageObject } from './-private/choices.ts';
6
- export type { FieldError } from './-private/field.ts';
7
7
  export declare class FormPageObject extends PageObject<HTMLFormElement> {
8
8
  static SELECTOR: string;
9
9
  constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null);
10
10
  $submit: ButtonPageObject;
11
11
  $reset: ButtonPageObject;
12
12
  $fields: FieldPageObject;
13
+ $errors: Error;
13
14
  field(name: string): FieldPageObject;
14
15
  submit(): Promise<void>;
15
16
  reset(): Promise<void>;
16
17
  }
18
+ export { type Error as FieldError } from './-private/error.ts';
17
19
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/test-support/page-objects/form.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,cAAe,SAAQ,UAAU,CAAC,eAAe,CAAC;IAC7D,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,OAAO,mBAAkD;IACzD,MAAM,mBAAiD;IAEvD,OAAO,kBAAkD;IAEzD,KAAK,CAAC,IAAI,EAAE,MAAM,GAC4C,eAAe;IAGvE,MAAM;IAIN,KAAK;CAGZ"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/test-support/page-objects/form.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,cAAe,SAAQ,UAAU,CAAC,eAAe,CAAC;IAC7D,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,OAAO,mBAAkD;IACzD,MAAM,mBAAiD;IAEvD,OAAO,kBAAkD;IACzD,OAAO,QAA8B;IAErC,KAAK,CAAC,IAAI,EAAE,MAAM,GAC4C,eAAe;IAGvE,MAAM;IAIN,KAAK;CAGZ;AAED,OAAO,EAAE,KAAK,KAAK,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -33,6 +33,7 @@ viewBox="0 0 256 256"><path fill="currentColor" d="m227.31
33
33
  class Alert extends Component {
34
34
  get icon() {
35
35
  if (this.args.icon) {
36
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
36
37
  return this.args.icon;
37
38
  }
38
39
  if (this.args.indicator === Indicator.Error) {
@@ -70,4 +71,4 @@ class Alert extends Component {
70
71
  }
71
72
 
72
73
  export { Alert as A };
73
- //# sourceMappingURL=alert-DmCWMMRr.js.map
74
+ //# sourceMappingURL=alert-Dn7ePQlD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-Dn7ePQlD.js","sources":["../src/components/feedback/alert.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { uniqueId } from '@ember/helper';\n\nimport { element } from 'ember-element-helper';\n\nimport { type Importance, Indicator } from '@hokulea/tokens';\n\nimport { Icon, type IconAsset } from '../graphics/icon.gts';\n\nimport type { ComponentLike } from '@glint/template';\n\nconst Info = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\"\nviewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M128 24a104 104 0 1 0 104\n104A104.11 104.11 0 0 0 128 24m-4 48a12 12 0 1 1-12 12a12 12 0 0 1 12-12m12\n112a16 16 0 0 1-16-16v-40a8 8 0 0 1 0-16a16 16 0 0 1 16 16v40a8 8 0 0 1 0\n16\"/></svg>`;\nconst Success = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\"\nheight=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M128 24a104 104\n0 1 0 104 104A104.11 104.11 0 0 0 128 24m45.66 85.66l-56 56a8 8 0 0 1-11.32\n0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32\n11.32\"/></svg>`;\nconst Warning = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\"\nheight=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M236.8\n188.09L149.35 36.22a24.76 24.76 0 0 0-42.7 0L19.2 188.09a23.51 23.51 0 0 0 0\n23.72A24.35 24.35 0 0 0 40.55 224h174.9a24.35 24.35 0 0 0 21.33-12.19a23.51\n23.51 0 0 0 .02-23.72M120 104a8 8 0 0 1 16 0v40a8 8 0 0 1-16 0Zm8 88a12 12 0 1 1\n12-12a12 12 0 0 1-12 12\"/></svg>`;\nconst Error = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\"\nviewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"m227.31\n80.23l-51.54-51.54A16.13 16.13 0 0 0 164.45 24h-72.9a16.13 16.13 0 0 0-11.32\n4.69L28.69 80.23A16.13 16.13 0 0 0 24 91.55v72.9a16.13 16.13 0 0 0 4.69\n11.32l51.54 51.54A16.13 16.13 0 0 0 91.55 232h72.9a16.13 16.13 0 0 0\n11.32-4.69l51.54-51.54a16.13 16.13 0 0 0 4.69-11.32v-72.9a16.13 16.13 0 0\n0-4.69-11.32M120 80a8 8 0 0 1 16 0v56a8 8 0 0 1-16 0Zm8 104a12 12 0 1 1 12-12a12\n12 0 0 1-12 12\"/></svg>`;\n\nexport interface AlertSignature<E extends Element = HTMLDivElement> {\n Element: E;\n Args: {\n element?: ComponentLike<{ Element: HTMLElement }>;\n indicator?: Indicator;\n importance?: Importance;\n icon?: IconAsset;\n title?: string;\n };\n Blocks: {\n default?: [];\n title?: [];\n content?: [];\n actions?: [];\n };\n}\n\nexport class Alert<E extends Element = HTMLDivElement> extends Component<AlertSignature<E>> {\n get icon() {\n if (this.args.icon) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this.args.icon;\n }\n\n if (this.args.indicator === Indicator.Error) {\n return Error;\n }\n\n if (this.args.indicator === Indicator.Warning) {\n return Warning;\n }\n\n if (this.args.indicator === Indicator.Success) {\n return Success;\n }\n\n return Info;\n }\n\n get role() {\n if (this.args.indicator === Indicator.Success || this.args.indicator === Indicator.Warning) {\n return 'alert';\n }\n\n if (this.args.indicator === Indicator.Error) {\n return 'alertdialog';\n }\n }\n\n hasTitle = (titleBlock: boolean) => {\n return titleBlock || this.args.title;\n };\n\n <template>\n {{#let\n (if @element @element (element \"div\")) (this.hasTitle (has-block \"title\")) (uniqueId)\n as |Element titlePresent titleId|\n }}\n <Element\n class=\"alert\"\n role={{this.role}}\n aria-labelledby={{if titlePresent titleId}}\n data-indicator={{if @indicator @indicator \"neutral\"}}\n data-importance={{if @importance @importance \"supreme\"}}\n data-test-feedback\n ...attributes\n >\n <Icon @icon={{this.icon}} part=\"icon\" />\n\n {{#if titlePresent}}\n <span part=\"title\" id={{titleId}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </span>\n {{/if}}\n\n <div part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else}}\n {{yield}}\n {{/if}}\n </div>\n\n {{#if (has-block \"actions\")}}\n <div part=\"actions\">\n {{yield to=\"actions\"}}\n </div>\n {{/if}}\n </Element>\n {{/let}}\n </template>\n}\n"],"names":["Info","Success","Warning","Error","Alert","Component","icon","args","indicator","Indicator","role","hasTitle","titleBlock","title","setComponentTemplate","precompileTemplate","strictMode","scope","element","uniqueId","Icon"],"mappings":";;;;;;;;AAWA,MAAMA,OAAO,CAAA;;;;YAID;AACZ,MAAMC,UAAU,CAAA;;;;eAID;AACf,MAAMC,UAAU,CAAA;;;;;iCAKiB;AACjC,MAAMC,QAAQ,CAAA;;;;;;;wBAOU;AAmBjB,MAAMC,KAAA,SAAkDC,UAAyB;EACtF,IAAIC,IAAAA,GAAO;AACT,IAAA,IAAI,IAAI,CAACC,IAAI,CAACD,IAAI,EAAE;AAClB;AACA,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI;AACvB,IAAA;IAEA,IAAI,IAAI,CAACC,IAAI,CAACC,SAAS,KAAKC,SAAA,CAAUN,KAAK,EAAE;AAC3C,MAAA,OAAOA,KAAA;AACT,IAAA;IAEA,IAAI,IAAI,CAACI,IAAI,CAACC,SAAS,KAAKC,SAAA,CAAUP,OAAO,EAAE;AAC7C,MAAA,OAAOA,OAAA;AACT,IAAA;IAEA,IAAI,IAAI,CAACK,IAAI,CAACC,SAAS,KAAKC,SAAA,CAAUR,OAAO,EAAE;AAC7C,MAAA,OAAOA,OAAA;AACT,IAAA;AAEA,IAAA,OAAOD,IAAA;AACT,EAAA;EAEA,IAAIU,IAAAA,GAAO;AACT,IAAA,IAAI,IAAI,CAACH,IAAI,CAACC,SAAS,KAAKC,SAAA,CAAUR,OAAO,IAAI,IAAI,CAACM,IAAI,CAACC,SAAS,KAAKC,SAAA,CAAUP,OAAO,EAAE;AAC1F,MAAA,OAAO,OAAA;AACT,IAAA;IAEA,IAAI,IAAI,CAACK,IAAI,CAACC,SAAS,KAAKC,SAAA,CAAUN,KAAK,EAAE;AAC3C,MAAA,OAAO,aAAA;AACT,IAAA;AACF,EAAA;EAEAQ,QAAA,GAAYC,UAAmB,IAAA;AAC7B,IAAA,OAAOA,UAAA,IAAc,IAAI,CAACL,IAAI,CAACM,KAAK;EACtC,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,mkCAAA,EAyCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;QAAAC,QAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -8,7 +8,7 @@ import { modifier } from 'ember-modifier';
8
8
  import { a as and, n as not, o as or } from './helpers-D4So5-uK.js';
9
9
  import { popover } from './helpers/popover.js';
10
10
  import { I as IconButton } from './icon-button-hS8-Jo0v.js';
11
- import { M as Menu } from './menu-DCDUaqYZ.js';
11
+ import { M as Menu } from './menu-BR3G9OgU.js';
12
12
  import { N as NavLink } from './nav-link-DL59IUt0.js';
13
13
  import { precompileTemplate } from '@ember/template-compilation';
14
14
  import { setComponentTemplate } from '@ember/component';
@@ -112,4 +112,4 @@ class AppHeader extends Component {
112
112
  }
113
113
 
114
114
  export { AppHeader as A };
115
- //# sourceMappingURL=app-header-DKlDPWSe.js.map
115
+ //# sourceMappingURL=app-header-Bb7kHBL2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header-DKlDPWSe.js","sources":["../src/components/navigation/app-header.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { hash, uniqueId } from '@ember/helper';\n\nimport { type CommandAction, CommandElement } from 'ember-command';\nimport { keepLatestTask, timeout } from 'ember-concurrency';\nimport { modifier } from 'ember-modifier';\n\nimport { and, not, or } from '../../-private/helpers.ts';\nimport { popover } from '../../helpers/popover.ts';\nimport { IconButton } from '../actions/icon-button.gts';\nimport { Menu } from '../controls/menu.gts';\nimport { NavLink } from './nav-link.gts';\n\nimport type { MenuItemArgs, MenuItemSignature } from '../controls/-menu.gts';\nimport type { TOC } from '@ember/component/template-only';\nimport type { Placement } from '@floating-ui/dom';\nimport type { ComponentLike } from '@glint/template';\n\ninterface NavItemSignature extends MenuItemSignature {\n Args: MenuItemArgs & {\n position?: Placement;\n };\n}\n\nconst NavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{@push}} @href={{@href}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n {{#let (popover position=(if @position @position \"bottom-start\")) as |p|}}\n <button type=\"button\" aria-haspopup=\"menu\" part=\"item\" {{p.trigger}}>\n <span>{{yield to=\"label\"}}</span>\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{/if}}\n</template>;\n\nconst PopoverNavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{@push}} @href={{@href}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n <details>\n <summary part=\"item\">{{yield to=\"label\"}}</summary>\n\n <div>\n {{yield (hash Item=PopoverNavItem) to=\"menu\"}}\n </div>\n </details>\n {{/if}}\n</template>;\n\nconst CloseIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z\"/></svg>';\nconst ListIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M224 128a8 8 0 0 1-8 8H40a8 8 0 0 1 0-16h176a8 8 0 0 1 8 8M40 72h176a8 8 0 0 0 0-16H40a8 8 0 0 0 0 16m176 112H40a8 8 0 0 0 0 16h176a8 8 0 0 0 0-16\"/></svg>';\n\ninterface AppHeaderSignature {\n Element: HTMLElement;\n Args: {\n /**\n * Position of the navbar\n *\n * @default start\n */\n position?: 'start' | 'center' | 'end';\n\n home?: CommandAction;\n };\n Blocks: {\n brand?: [];\n nav?: [{ Item: typeof NavItem }];\n aux?: [{ Item: ComponentLike<typeof NavItem> }];\n };\n}\n\nexport class AppHeader extends Component<AppHeaderSignature> {\n @tracked topNavShown = true;\n @tracked sensing = false;\n\n detectOverflow = keepLatestTask(async (element: HTMLElement) => {\n await timeout(30);\n\n this.sensing = true;\n\n // wait till sensing is flushed to the browser and made elements visible\n await timeout(0);\n\n const relevantChildren = [...element.children].filter(\n (elem) => elem.tagName.toLowerCase() === 'nav' || elem.getAttribute('part') === 'aux'\n );\n\n if (relevantChildren.length === 0) {\n this.sensing = false;\n\n return;\n }\n\n let headerWidth = [...element.children]\n .filter((elem) => elem.getAttribute('part') !== 'menu')\n .map((e) => Math.floor(e.scrollWidth))\n .reduce((sum, elemWidth) => sum + elemWidth, 0);\n\n // + padding\n headerWidth +=\n Number.parseInt(getComputedStyle(element).getPropertyValue('padding-inline'), 10) * 2;\n\n // + gap\n headerWidth +=\n Number.parseInt(getComputedStyle(element).getPropertyValue('gap'), 10) *\n (element.childElementCount - 1);\n\n this.topNavShown = element.clientWidth >= headerWidth;\n this.sensing = false;\n });\n\n flipflop = modifier((element: HTMLElement) => {\n const sensor = () => this.detectOverflow.perform(element);\n\n void sensor();\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n window.addEventListener('resize', sensor);\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n window.removeEventListener('resize', sensor);\n };\n });\n\n closeWhenLink = modifier((element: HTMLElement) => {\n const checkForClose = (event: Event) => {\n const hitALink = event\n .composedPath()\n .some(\n (target: EventTarget) =>\n (target as HTMLElement | null)?.tagName &&\n ['a', 'button'].includes((target as HTMLElement).tagName.toLowerCase()) &&\n !(target as HTMLElement).getAttribute('aria-haspopup')\n );\n\n if (hitALink) {\n element.hidePopover();\n }\n };\n\n element.addEventListener('click', checkForClose);\n\n return () => {\n element.removeEventListener('click', checkForClose);\n };\n });\n\n <template>\n {{#let (uniqueId) as |brandId|}}\n <header class=\"app-header\" data-test-app-header ...attributes>\n <div data-sensing={{this.sensing}} {{this.flipflop}}>\n {{#if (has-block \"brand\")}}\n <CommandElement @command={{@home}} part=\"brand\" id={{brandId}}>\n {{yield to=\"brand\"}}\n </CommandElement>\n {{/if}}\n\n {{#if (or this.topNavShown this.sensing)}}\n <nav data-position={{if @position @position}} aria-labelledby={{brandId}}>\n {{yield (hash Item=NavItem) to=\"nav\"}}\n </nav>\n\n {{#if (has-block \"aux\")}}\n <span part=\"aux\">\n {{yield (hash Item=NavItem) to=\"aux\"}}\n </span>\n {{/if}}\n {{/if}}\n\n {{#if (not this.topNavShown)}}\n <span part=\"menu\">\n {{#let (popover) as |p|}}\n <IconButton\n @importance=\"plain\"\n @icon={{if p.opened CloseIcon ListIcon}}\n {{p.trigger}}\n data-test-toggle\n @label=\"toggle\"\n />\n\n <div popover {{p.target}} {{this.closeWhenLink}}>\n <div data-menu-header>\n {{#if (has-block \"brand\")}}\n <span part=\"brand\">\n {{yield to=\"brand\"}}\n </span>\n {{/if}}\n </div>\n\n <div data-menu-content>\n {{! template-lint-disable no-duplicate-landmark-elements }}\n <nav aria-labelledby={{brandId}}>\n {{yield (hash Item=PopoverNavItem) to=\"nav\"}}\n </nav>\n {{! template-lint-enable no-duplicate-landmark-elements }}\n\n {{#if (has-block \"aux\")}}\n <span part=\"aux\">\n {{yield (hash Item=(component NavItem position=\"top-start\")) to=\"aux\"}}\n </span>\n {{/if}}\n </div>\n </div>\n {{/let}}\n </span>\n {{/if}}\n </div>\n </header>\n {{/let}}\n </template>\n}\n"],"names":["NavItem","setComponentTemplate","precompileTemplate","strictMode","scope","NavLink","and","popover","Menu","templateOnly","PopoverNavItem","hash","CloseIcon","ListIcon","AppHeader","Component","g","prototype","tracked","i","void 0","detectOverflow","_buildTask","context","generator","element","timeout","sensing","relevantChildren","children","filter","elem","tagName","toLowerCase","getAttribute","length","headerWidth","map","e","Math","floor","scrollWidth","reduce","sum","elemWidth","Number","parseInt","getComputedStyle","getPropertyValue","childElementCount","topNavShown","clientWidth","flipflop","modifier","sensor","perform","window","addEventListener","removeEventListener","closeWhenLink","checkForClose","event","hitALink","composedPath","some","target","includes","hidePopover","uniqueId","CommandElement","or","not","IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"app-header-Bb7kHBL2.js","sources":["../src/components/navigation/app-header.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { hash, uniqueId } from '@ember/helper';\n\nimport { type CommandAction, CommandElement } from 'ember-command';\nimport { keepLatestTask, timeout } from 'ember-concurrency';\nimport { modifier } from 'ember-modifier';\n\nimport { and, not, or } from '../../-private/helpers.ts';\nimport { popover } from '../../helpers/popover.ts';\nimport { IconButton } from '../actions/icon-button.gts';\nimport { Menu } from '../controls/menu.gts';\nimport { NavLink } from './nav-link.gts';\n\nimport type { MenuItemArgs, MenuItemSignature } from '../controls/-menu.gts';\nimport type { TOC } from '@ember/component/template-only';\nimport type { Placement } from '@floating-ui/dom';\nimport type { ComponentLike } from '@glint/template';\n\ninterface NavItemSignature extends MenuItemSignature {\n Args: MenuItemArgs & {\n position?: Placement;\n };\n}\n\nconst NavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{@push}} @href={{@href}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n {{#let (popover position=(if @position @position \"bottom-start\")) as |p|}}\n <button type=\"button\" aria-haspopup=\"menu\" part=\"item\" {{p.trigger}}>\n <span>{{yield to=\"label\"}}</span>\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{/if}}\n</template>;\n\nconst PopoverNavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{@push}} @href={{@href}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n <details>\n <summary part=\"item\">{{yield to=\"label\"}}</summary>\n\n <div>\n {{yield (hash Item=PopoverNavItem) to=\"menu\"}}\n </div>\n </details>\n {{/if}}\n</template>;\n\nconst CloseIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z\"/></svg>';\nconst ListIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M224 128a8 8 0 0 1-8 8H40a8 8 0 0 1 0-16h176a8 8 0 0 1 8 8M40 72h176a8 8 0 0 0 0-16H40a8 8 0 0 0 0 16m176 112H40a8 8 0 0 0 0 16h176a8 8 0 0 0 0-16\"/></svg>';\n\ninterface AppHeaderSignature {\n Element: HTMLElement;\n Args: {\n /**\n * Position of the navbar\n *\n * @default start\n */\n position?: 'start' | 'center' | 'end';\n\n home?: CommandAction;\n };\n Blocks: {\n brand?: [];\n nav?: [{ Item: typeof NavItem }];\n aux?: [{ Item: ComponentLike<typeof NavItem> }];\n };\n}\n\nexport class AppHeader extends Component<AppHeaderSignature> {\n @tracked topNavShown = true;\n @tracked sensing = false;\n\n detectOverflow = keepLatestTask(async (element: HTMLElement) => {\n await timeout(30);\n\n this.sensing = true;\n\n // wait till sensing is flushed to the browser and made elements visible\n await timeout(0);\n\n const relevantChildren = [...element.children].filter(\n (elem) => elem.tagName.toLowerCase() === 'nav' || elem.getAttribute('part') === 'aux'\n );\n\n if (relevantChildren.length === 0) {\n this.sensing = false;\n\n return;\n }\n\n let headerWidth = [...element.children]\n .filter((elem) => elem.getAttribute('part') !== 'menu')\n .map((e) => Math.floor(e.scrollWidth))\n .reduce((sum, elemWidth) => sum + elemWidth, 0);\n\n // + padding\n headerWidth +=\n Number.parseInt(getComputedStyle(element).getPropertyValue('padding-inline'), 10) * 2;\n\n // + gap\n headerWidth +=\n Number.parseInt(getComputedStyle(element).getPropertyValue('gap'), 10) *\n (element.childElementCount - 1);\n\n this.topNavShown = element.clientWidth >= headerWidth;\n this.sensing = false;\n });\n\n flipflop = modifier((element: HTMLElement) => {\n const sensor = () => this.detectOverflow.perform(element);\n\n void sensor();\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n window.addEventListener('resize', sensor);\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n window.removeEventListener('resize', sensor);\n };\n });\n\n closeWhenLink = modifier((element: HTMLElement) => {\n const checkForClose = (event: Event) => {\n const hitALink = event\n .composedPath()\n .some(\n (target: EventTarget) =>\n (target as HTMLElement | null)?.tagName &&\n ['a', 'button'].includes((target as HTMLElement).tagName.toLowerCase()) &&\n !(target as HTMLElement).getAttribute('aria-haspopup')\n );\n\n if (hitALink) {\n element.hidePopover();\n }\n };\n\n element.addEventListener('click', checkForClose);\n\n return () => {\n element.removeEventListener('click', checkForClose);\n };\n });\n\n <template>\n {{#let (uniqueId) as |brandId|}}\n <header class=\"app-header\" data-test-app-header ...attributes>\n <div data-sensing={{this.sensing}} {{this.flipflop}}>\n {{#if (has-block \"brand\")}}\n <CommandElement @command={{@home}} part=\"brand\" id={{brandId}}>\n {{yield to=\"brand\"}}\n </CommandElement>\n {{/if}}\n\n {{#if (or this.topNavShown this.sensing)}}\n <nav data-position={{if @position @position}} aria-labelledby={{brandId}}>\n {{yield (hash Item=NavItem) to=\"nav\"}}\n </nav>\n\n {{#if (has-block \"aux\")}}\n <span part=\"aux\">\n {{yield (hash Item=NavItem) to=\"aux\"}}\n </span>\n {{/if}}\n {{/if}}\n\n {{#if (not this.topNavShown)}}\n <span part=\"menu\">\n {{#let (popover) as |p|}}\n <IconButton\n @importance=\"plain\"\n @icon={{if p.opened CloseIcon ListIcon}}\n {{p.trigger}}\n data-test-toggle\n @label=\"toggle\"\n />\n\n <div popover {{p.target}} {{this.closeWhenLink}}>\n <div data-menu-header>\n {{#if (has-block \"brand\")}}\n <span part=\"brand\">\n {{yield to=\"brand\"}}\n </span>\n {{/if}}\n </div>\n\n <div data-menu-content>\n {{! template-lint-disable no-duplicate-landmark-elements }}\n <nav aria-labelledby={{brandId}}>\n {{yield (hash Item=PopoverNavItem) to=\"nav\"}}\n </nav>\n {{! template-lint-enable no-duplicate-landmark-elements }}\n\n {{#if (has-block \"aux\")}}\n <span part=\"aux\">\n {{yield (hash Item=(component NavItem position=\"top-start\")) to=\"aux\"}}\n </span>\n {{/if}}\n </div>\n </div>\n {{/let}}\n </span>\n {{/if}}\n </div>\n </header>\n {{/let}}\n </template>\n}\n"],"names":["NavItem","setComponentTemplate","precompileTemplate","strictMode","scope","NavLink","and","popover","Menu","templateOnly","PopoverNavItem","hash","CloseIcon","ListIcon","AppHeader","Component","g","prototype","tracked","i","void 0","detectOverflow","_buildTask","context","generator","element","timeout","sensing","relevantChildren","children","filter","elem","tagName","toLowerCase","getAttribute","length","headerWidth","map","e","Math","floor","scrollWidth","reduce","sum","elemWidth","Number","parseInt","getComputedStyle","getPropertyValue","childElementCount","topNavShown","clientWidth","flipflop","modifier","sensor","perform","window","addEventListener","removeEventListener","closeWhenLink","checkForClose","event","hitALink","composedPath","some","target","includes","hidePopover","uniqueId","CommandElement","or","not","IconButton"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { A as default } from '../alert-DmCWMMRr.js';
1
+ export { A as default } from '../alert-Dn7ePQlD.js';
2
2
  //# sourceMappingURL=alert.js.map
@@ -1,2 +1,2 @@
1
- export { A as default } from '../app-header-DKlDPWSe.js';
1
+ export { A as default } from '../app-header-Bb7kHBL2.js';
2
2
  //# sourceMappingURL=app-header.js.map
@@ -1,2 +1,2 @@
1
- export { F as default } from '../form-CXvWQbiY.js';
1
+ export { F as default } from '../form-B9MShV4J.js';
2
2
  //# sourceMappingURL=form.js.map
@@ -1,2 +1,2 @@
1
- export { M as default } from '../menu-DCDUaqYZ.js';
1
+ export { M as default } from '../menu-BR3G9OgU.js';
2
2
  //# sourceMappingURL=menu.js.map
@@ -1,13 +1,13 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { hash, uniqueId } from '@ember/helper';
3
3
  import { createForm } from '@hokulea/ember-pahu';
4
+ import { precompileTemplate } from '@ember/template-compilation';
5
+ import { setComponentTemplate } from '@ember/component';
6
+ import templateOnly from '@ember/component/template-only';
4
7
  import { tracked } from '@glimmer/tracking';
5
8
  import { next } from '@ember/runloop';
6
9
  import { element } from 'ember-element-helper';
7
10
  import { a as and, b as asBoolean, c as asNumber, d as asString, e as eq } from './helpers-D4So5-uK.js';
8
- import { precompileTemplate } from '@ember/template-compilation';
9
- import { setComponentTemplate } from '@ember/component';
10
- import templateOnly from '@ember/component/template-only';
11
11
  import { I as Icon } from './icon-rlG6O1ps.js';
12
12
  import { g, i } from 'decorator-transforms/runtime-esm';
13
13
  import { C as Checkbox } from './checkbox-C9-RZtWK.js';
@@ -26,12 +26,12 @@ import { T as TextInput } from './text-input-BntDzi8S.js';
26
26
  import { T as TextArea } from './text-area-BsDD1dpV.js';
27
27
  import { d as disabled } from './disabled-B_FQ0Z51.js';
28
28
 
29
- const Description = setComponentTemplate(precompileTemplate("\n <p class=\"form-description\" data-test-description ...attributes>\n {{yield}}\n </p>\n", {
29
+ // import Icon from '../../../components/icon';
30
+ const Errors = setComponentTemplate(precompileTemplate("\n <div id={{@id}} aria-live=\"assertive\" class=\"form-errors\" ...attributes>\n {{!-- <span><Icon @icon='dismiss-circle' @style='filled' /></span> --}}\n {{#if (has-block)}}\n {{yield @errors}}\n {{else}}\n <div>\n {{#each @errors as |e|}}\n {{#if e.message}}\n <p data-test-error data-test-error-type=\"{{e.type}}\" data-test-error-value=\"{{e.value}}\">{{e.message}}</p>\n {{/if}}\n {{/each}}\n </div>\n {{/if}}\n </div>\n", {
30
31
  strictMode: true
31
32
  }), templateOnly());
32
33
 
33
- // import Icon from '../../../components/icon';
34
- const Errors = setComponentTemplate(precompileTemplate("\n <div id={{@id}} aria-live=\"assertive\" class=\"form-errors\" ...attributes>\n {{!-- <span><Icon @icon='dismiss-circle' @style='filled' /></span> --}}\n {{#if (has-block)}}\n {{yield @errors}}\n {{else}}\n <div>\n {{#each @errors as |e|}}\n {{#if e.message}}\n <p data-test-error data-test-error-type=\"{{e.type}}\" data-test-error-value=\"{{e.value}}\">{{e.message}}</p>\n {{/if}}\n {{/each}}\n </div>\n {{/if}}\n </div>\n", {
34
+ const Description = setComponentTemplate(precompileTemplate("\n <p class=\"form-description\" data-test-description ...attributes>\n {{yield}}\n </p>\n", {
35
35
  strictMode: true
36
36
  }), templateOnly());
37
37
 
@@ -467,6 +467,13 @@ const Submit = setComponentTemplate(precompileTemplate("\n <button type=\"submi
467
467
  })
468
468
  }), templateOnly());
469
469
 
470
+ const FormErrors = setComponentTemplate(precompileTemplate("\n {{#if @errors}}\n <Errors @errors={{@errors}} @id={{(uniqueId)}} />\n {{/if}}\n", {
471
+ strictMode: true,
472
+ scope: () => ({
473
+ Errors,
474
+ uniqueId
475
+ })
476
+ }), templateOnly());
470
477
  class Form extends Component {
471
478
  Field = Field;
472
479
  CheckboxField = CheckboxField;
@@ -484,11 +491,12 @@ class Form extends Component {
484
491
  TextAreaField = TextAreaField;
485
492
  TextField = TextField;
486
493
  static {
487
- setComponentTemplate(precompileTemplate("\n {{#let (createForm data=@data ignoreNativeValidation=@ignoreNativeValidation validateOn=@validateOn revalidateOn=@revalidateOn submit=@submit validate=@validate validated=@validated) as |f|}}\n <form novalidate class=\"form\" data-test-form ...attributes {{f.registerElement}}>\n {{#let (component this.Field form=f) as |WiredField|}}\n {{yield (hash invalid=f.invalid submit=f.submit Field=WiredField Checkbox=(component this.CheckboxField Field=WiredField) Currency=(component this.CurrencyField Field=WiredField) Date=(component this.DateField Field=WiredField) Email=(component this.EmailField Field=WiredField) List=(component this.ListField Field=WiredField) MultipleChoice=(component this.MultipleChoiceField Field=WiredField) Number=(component this.NumberField Field=WiredField) Password=(component this.PasswordField Field=WiredField) Phone=(component this.PhoneField Field=WiredField) Range=(component this.RangeField Field=WiredField) Select=(component this.SelectField Field=WiredField) SingularChoice=(component this.SingularChoiceField Field=WiredField) TextArea=(component this.TextAreaField Field=WiredField) Text=(component this.TextField Field=WiredField) Submit=Submit Reset=Reset form=f)}}\n {{/let}}\n </form>\n {{/let}}\n ", {
494
+ setComponentTemplate(precompileTemplate("\n {{#let (createForm data=@data ignoreNativeValidation=@ignoreNativeValidation validateOn=@validateOn revalidateOn=@revalidateOn submit=@submit validate=@validate validated=@validated) as |f|}}\n <form novalidate class=\"form\" data-test-form ...attributes {{f.registerElement}}>\n {{#let (component this.Field form=f) as |WiredField|}}\n {{yield (hash invalid=f.invalid submit=f.submit Field=WiredField Checkbox=(component this.CheckboxField Field=WiredField) Currency=(component this.CurrencyField Field=WiredField) Date=(component this.DateField Field=WiredField) Email=(component this.EmailField Field=WiredField) List=(component this.ListField Field=WiredField) MultipleChoice=(component this.MultipleChoiceField Field=WiredField) Number=(component this.NumberField Field=WiredField) Password=(component this.PasswordField Field=WiredField) Phone=(component this.PhoneField Field=WiredField) Range=(component this.RangeField Field=WiredField) Select=(component this.SelectField Field=WiredField) SingularChoice=(component this.SingularChoiceField Field=WiredField) TextArea=(component this.TextAreaField Field=WiredField) Text=(component this.TextField Field=WiredField) Errors=(component FormErrors errors=f.issues) Submit=Submit Reset=Reset)}}\n {{/let}}\n </form>\n {{/let}}\n ", {
488
495
  strictMode: true,
489
496
  scope: () => ({
490
497
  createForm,
491
498
  hash,
499
+ FormErrors,
492
500
  Submit,
493
501
  Reset
494
502
  })
@@ -497,4 +505,4 @@ class Form extends Component {
497
505
  }
498
506
 
499
507
  export { Form as F };
500
- //# sourceMappingURL=form-CXvWQbiY.js.map
508
+ //# sourceMappingURL=form-B9MShV4J.js.map