@loadsmart/miranda-wc 2.1.0 → 3.0.0-alpha.2

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 (159) hide show
  1. package/dist/components/button/base-button.styles.d.ts +1 -1
  2. package/dist/components/button/button.d.ts +73 -39
  3. package/dist/components/checkbox/checkbox.d.ts +35 -47
  4. package/dist/components/checkbox/index.d.ts +1 -1
  5. package/dist/components/component/component.d.ts +2 -0
  6. package/dist/components/component/form-component.d.ts +5 -0
  7. package/dist/components/component/form-component.mixin.d.ts +17 -0
  8. package/dist/components/component/index.d.ts +3 -0
  9. package/dist/components/field/field.context.d.ts +2 -2
  10. package/dist/components/field/field.d.ts +1 -0
  11. package/dist/components/field/field.styles.d.ts +2 -0
  12. package/dist/components/labeled-value/labeled-value-label.d.ts +4 -0
  13. package/dist/components/popover/popover.d.ts +4 -4
  14. package/dist/components/progress-bar-countdown/progress-bar-countdown.d.ts +1 -1
  15. package/dist/components/radio-group/index.d.ts +1 -1
  16. package/dist/components/radio-group/radio-group.d.ts +44 -28
  17. package/dist/components/radio-group/radio-group.styles.d.ts +2 -2
  18. package/dist/components/radio-group/radio.d.ts +17 -19
  19. package/dist/components/switch/index.d.ts +1 -1
  20. package/dist/components/switch/switch.d.ts +26 -31
  21. package/dist/components/text/text.d.ts +13 -7
  22. package/dist/components/text-area/text-area.d.ts +35 -52
  23. package/dist/components/text-field/text-field.d.ts +37 -48
  24. package/dist/components/toggle-group/index.d.ts +1 -1
  25. package/dist/components/toggle-group/toggle-group.d.ts +49 -29
  26. package/dist/components/toggle-group/toggle-group.styles.d.ts +2 -2
  27. package/dist/components/toggle-group/toggle.d.ts +17 -16
  28. package/dist/components/tooltip/tooltip.d.ts +19 -9
  29. package/dist/components/tooltip/tooltip.helpers.d.ts +1 -1
  30. package/dist/controllers/focus-manager/focus-manager.controller.d.ts +3 -3
  31. package/dist/controllers/selection/index.d.ts +4 -1
  32. package/dist/controllers/selection/legacy-selection.controller.d.ts +36 -0
  33. package/dist/controllers/selection/selection-control.d.ts +5 -0
  34. package/dist/controllers/selection/selection-control.mixin.d.ts +13 -0
  35. package/dist/controllers/selection/selection.controller.d.ts +25 -26
  36. package/dist/index.js +13832 -2
  37. package/dist/mixins/polymorphic-tag/polymorphic-tag.d.ts +2 -2
  38. package/dist/tokens.js +2 -2
  39. package/dist/utils/selection/selection-strategy.types.d.ts +1 -1
  40. package/package.json +3 -3
  41. package/dist/alarm-w4NUx-rp-BmRYbQEM.js +0 -6
  42. package/dist/alert-circle-C9OayCok-B7xAoPb7.js +0 -6
  43. package/dist/anchor-BaCuyEZX-BZcDKz8T.js +0 -6
  44. package/dist/arrow-left-BsPExOUg-DzrWKb3H.js +0 -6
  45. package/dist/arrow-right-Bu-KwOrV-BqRNS90P.js +0 -6
  46. package/dist/arrow-sort-down-CTJRI2Ij-U8np-YzG.js +0 -6
  47. package/dist/arrow-sort-up-DHmFk86f-DjEMhI-p.js +0 -6
  48. package/dist/arrow-sort-up-down-qBAksbYU-B2D4RBJp.js +0 -6
  49. package/dist/attention-DmmMIK7b-gZEusG5g.js +0 -6
  50. package/dist/automatic-DBMfz3g4-Bgzdb975.js +0 -6
  51. package/dist/bank-DYOUF1Qq-CbJioynM.js +0 -6
  52. package/dist/bell-B2RIK0M6-Bp9voTMM.js +0 -6
  53. package/dist/bell-cancel-SDGlBezD-DoRmW2dW.js +0 -6
  54. package/dist/blind-bol-DYfAF7D_-C69pgCqI.js +0 -6
  55. package/dist/bolt-D0T3CTGg-SvH9Jj-e.js +0 -6
  56. package/dist/bolt-off-tzLu9lXJ-DOmNqijD.js +0 -6
  57. package/dist/box-DfRR1ulG-DUeCaJiS.js +0 -6
  58. package/dist/burguer-menu-D3s4vhTS-DjmzZm55.js +0 -6
  59. package/dist/calendar-C6MhKSQ1-CPDlLAKL.js +0 -6
  60. package/dist/camera-Gl1fuhfw-CbLr73G6.js +0 -6
  61. package/dist/canada-flag-ClanoJtT-B50ZPPPW.js +0 -6
  62. package/dist/caret-down-wGLVtNTQ-CPsGVWi5.js +0 -6
  63. package/dist/caret-left-4qQU4dSk-DfTKQQCm.js +0 -6
  64. package/dist/caret-right-C4qu4AqQ-hh9exD87.js +0 -6
  65. package/dist/caret-up-drbqMAlT-HF7x802b.js +0 -6
  66. package/dist/chat-5UMSZeQ2-4VnWPZJ4.js +0 -6
  67. package/dist/check-DIL4h60y-Ct-b3sf6.js +0 -6
  68. package/dist/clock-BHpfQ8F--D_nJ2UXr.js +0 -6
  69. package/dist/close-CML1EIvi-1jH_HJiq.js +0 -6
  70. package/dist/clown-qSd-cPs5-CtMEBWd8.js +0 -6
  71. package/dist/comment-Cae7x1KB-iEpKQSW-.js +0 -6
  72. package/dist/company-T35tA5gd-0dNkP7Rj.js +0 -6
  73. package/dist/components/checkbox/checkbox.constants.d.ts +0 -2
  74. package/dist/components/field/field-hint.styles.d.ts +0 -2
  75. package/dist/components/form-control/form-control.d.ts +0 -19
  76. package/dist/components/form-control/index.d.ts +0 -1
  77. package/dist/components/radio-group/radio-button.styles.d.ts +0 -2
  78. package/dist/components/radio-group/radio-group.constants.d.ts +0 -1
  79. package/dist/components/toggle-group/toggle.styles.d.ts +0 -2
  80. package/dist/contract-BM65T47z-DV_FXT7o.js +0 -6
  81. package/dist/credit-card-Ba3HSNMP-7B5CPgSb.js +0 -6
  82. package/dist/delivery--Ca9irJt-CjzX2g3_.js +0 -6
  83. package/dist/dislike-hNfAprn0-nPspnGgp.js +0 -6
  84. package/dist/dollar-DOTSyNln-CwwxqRe4.js +0 -6
  85. package/dist/dollar-circle-4cWeXRkY-D0o4LBCO.js +0 -6
  86. package/dist/dots-horizontal-BaeHh5uG-Ba-SKFCQ.js +0 -6
  87. package/dist/dots-vertical-Iec7OSE1-CRvawBge.js +0 -6
  88. package/dist/double-caret-left-cYE3d8lk-DebxdpyY.js +0 -6
  89. package/dist/double-caret-right-CQZ5u4Bz-s5Ue9XVx.js +0 -6
  90. package/dist/email-BPWijEjF-DZNcwJky.js +0 -6
  91. package/dist/email-filled-BAvfMYJs-C6JsvdMA.js +0 -6
  92. package/dist/eye-AthrVnne-Umsnwzdw.js +0 -6
  93. package/dist/fast-5ZOdx3Rg-D9yWqWI7.js +0 -6
  94. package/dist/favorite-BtwjGbEU-DKHtwKHL.js +0 -6
  95. package/dist/filter-DFCZnGIe-CSUOgesC.js +0 -6
  96. package/dist/flag-CJjIJyQh-D0YQqa6C.js +0 -6
  97. package/dist/folder-DiKv_t_I-C-tElPgn.js +0 -6
  98. package/dist/funnel-Chc-WBbM-CqsvBYp4.js +0 -6
  99. package/dist/gear-DDDWiYKV-BA1Mm4Kw.js +0 -6
  100. package/dist/graph-nK3uktak-B7Qtknu7.js +0 -6
  101. package/dist/hand-DalfnoE8-DbUGFIPN.js +0 -6
  102. package/dist/high-signal-BFiaqsHy-DWWhDKe4.js +0 -6
  103. package/dist/history-Bl_9vhi4-mZxvW34D.js +0 -6
  104. package/dist/home-BK-0nN6K-mYymjQL1.js +0 -6
  105. package/dist/hourglass-Dc0eK_H_-BJHOFBPm.js +0 -6
  106. package/dist/indeterminate-Bya3vcaZ-B7BUZ6vF.js +0 -6
  107. package/dist/index-BXT-EaD1.js +0 -13642
  108. package/dist/info-Dyx4kwtx-CqCzl7ej.js +0 -6
  109. package/dist/info-circle-DXkfHc-K-CJAkI1Io.js +0 -6
  110. package/dist/kanban-CDOjvTl4-BeSB9yRb.js +0 -6
  111. package/dist/like-CKw4whze-_YBq7Aje.js +0 -6
  112. package/dist/link-Gq220f9v-C6PogyFU.js +0 -6
  113. package/dist/list-CGjTg9F8-MhhXeD_B.js +0 -6
  114. package/dist/log-out-DndAyJma-OclABdvN.js +0 -6
  115. package/dist/low-signal-CrzbA01P-JsC6OPzR.js +0 -6
  116. package/dist/map-DnS-0nAn-DW-gWq7O.js +0 -6
  117. package/dist/medal-7ECzT02N-dRJQNpeF.js +0 -6
  118. package/dist/megaphone-DRZc0DSp-CuSE47a9.js +0 -6
  119. package/dist/mexico-flag-BT_GhNh6-BfVXe4nk.js +0 -6
  120. package/dist/minus-iTbgiUUf-Dw3xMwMm.js +0 -6
  121. package/dist/network-signal-DoxJE425-DD4QRCSh.js +0 -6
  122. package/dist/no-awarded-BEg4XvQo-DkvEC3W9.js +0 -6
  123. package/dist/notes-lock-Bh-4txKp-Bg4SCWNa.js +0 -6
  124. package/dist/padlock-S5nyMfsX-DMLRMxzg.js +0 -6
  125. package/dist/padlock-open-BjZWrB1I-D-J4YYVt.js +0 -6
  126. package/dist/pencil-wk_lo54n-ByVqVKvX.js +0 -6
  127. package/dist/phone-OTH-wucK-CjP6rix0.js +0 -6
  128. package/dist/pin-bLVBPZTV-Bz7Ma2mf.js +0 -6
  129. package/dist/plus-ozFIfK2K-C6VTAhgo.js +0 -6
  130. package/dist/pre-confirmed-load-7dhHEljm-Blp1lP7I.js +0 -6
  131. package/dist/print-MRNbN0L6-CWS8LUB8.js +0 -6
  132. package/dist/profile-CrWXxhjN-BZYoYc-f.js +0 -6
  133. package/dist/question-CYU3H0XU-DlWDpPcW.js +0 -20
  134. package/dist/road-BzANu9lx-Bt7bU9_X.js +0 -6
  135. package/dist/satellite-imWnssFH-eeWBQQ38.js +0 -6
  136. package/dist/search-_Cv793b3-CWzIO3J6.js +0 -6
  137. package/dist/send-BeTaWbwn-sWjL5nsK.js +0 -6
  138. package/dist/ship-CGUI1eMq-BX31YXwx.js +0 -6
  139. package/dist/signal-BKjJOHPc-0omNBbMG.js +0 -6
  140. package/dist/sparkle-DezYw4Fs-DHhIPKQk.js +0 -6
  141. package/dist/star-DBmjnONs-3esp3qU5.js +0 -6
  142. package/dist/tag-DQyrgl7x-CmwgE0VZ.js +0 -6
  143. package/dist/telephone-BmiZ7SFm-Dni9NFr1.js +0 -6
  144. package/dist/terminal-CgxADoEs-AZDSMwTu.js +0 -6
  145. package/dist/timer-DoSQwnm7-BGJMOrgZ.js +0 -6
  146. package/dist/tms-ready-C22wOl93-B8oz9xBL.js +0 -6
  147. package/dist/trash-B55qy0OS-BZcRo7xY.js +0 -6
  148. package/dist/trend-down-kcjg1gLd-lbFdALu7.js +0 -6
  149. package/dist/trend-up-2yU-5NIA-0uC_btRu.js +0 -6
  150. package/dist/trophee-Dl1OuipW-sfQBfYGW.js +0 -6
  151. package/dist/united-states-flag-CrhCzAXh-DgRm2LLg.js +0 -6
  152. package/dist/upgrade-Csv1_l6I-C20M7zib.js +0 -6
  153. package/dist/user-COyFpFPE-0VApQHH3.js +0 -6
  154. package/dist/wallet-ChO0_ccG-BpPR3FgZ.js +0 -6
  155. package/dist/warehouse-CVwTVH2N-ZLcyaZVY.js +0 -6
  156. package/dist/wifi-R27kDIkM-DaB3fC8F.js +0 -6
  157. package/dist/wifi-off-C4FqQ8FF-PpmaKGrs.js +0 -6
  158. package/dist/zoom-in-BfJrh-0k-Bn6kRriD.js +0 -6
  159. package/dist/zoom-out-CaGxkwez-GKHD_Mg8.js +0 -6
@@ -1,2 +1,2 @@
1
- declare function styles(): import("lit").CSSResult;
1
+ declare function styles(selector?: string): import("lit").CSSResult;
2
2
  export default styles;
@@ -1,12 +1,11 @@
1
1
  import type { PropertyValues } from 'lit';
2
- import { FormControl } from '../form-control';
2
+ import { FormComponent } from '../component';
3
+ import type { FormComponentProps } from '../component';
3
4
  export type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'warning' | 'danger' | 'icon' | 'icon-secondary';
4
5
  export type ButtonSize = 'small' | 'default' | 'large';
5
- export type ButtonType = 'button' | 'reset' | 'submit';
6
- type ButtonTarget = '_blank' | '_parent' | '_self' | '_top';
7
- export interface ButtonProps {
8
- disabled?: boolean;
9
- form?: string;
6
+ export type ButtonType = HTMLButtonElement['type'];
7
+ export type ButtonTarget = HTMLAnchorElement['target'];
8
+ export interface ButtonProps extends FormComponentProps {
10
9
  loading?: boolean;
11
10
  size?: ButtonSize;
12
11
  type?: ButtonType;
@@ -14,27 +13,26 @@ export interface ButtonProps {
14
13
  href?: string;
15
14
  download?: string;
16
15
  target?: ButtonTarget;
16
+ form?: string;
17
+ formaction?: HTMLButtonElement['formAction'];
18
+ formenctype?: HTMLButtonElement['formEnctype'];
19
+ formmethod?: HTMLButtonElement['formMethod'];
20
+ formnovalidate?: HTMLButtonElement['formNoValidate'];
21
+ formtarget?: HTMLButtonElement['formTarget'];
17
22
  }
18
- export declare class Button extends FormControl implements ButtonProps {
23
+ export declare class Button extends FormComponent implements ButtonProps {
19
24
  #private;
25
+ static shadowRootOptions: {
26
+ delegatesFocus: boolean;
27
+ mode: ShadowRootMode;
28
+ slotAssignment?: SlotAssignmentMode | undefined;
29
+ };
20
30
  static styles: import("lit").CSSResult[][];
21
- /**
22
- * Which HTML tag should be used to render this element.
23
- */
24
- private get tag();
25
31
  static get properties(): {
26
- role: {
27
- type: StringConstructor;
28
- reflect: boolean;
29
- };
30
32
  loading: {
31
33
  type: BooleanConstructor;
32
34
  reflect: boolean;
33
35
  };
34
- disabled: {
35
- type: BooleanConstructor;
36
- reflect: boolean;
37
- };
38
36
  variant: {
39
37
  type: StringConstructor;
40
38
  reflect: boolean;
@@ -45,6 +43,25 @@ export declare class Button extends FormControl implements ButtonProps {
45
43
  };
46
44
  type: {
47
45
  type: StringConstructor;
46
+ reflect: boolean;
47
+ };
48
+ form: {
49
+ type: StringConstructor;
50
+ };
51
+ formaction: {
52
+ type: StringConstructor;
53
+ };
54
+ formenctype: {
55
+ type: StringConstructor;
56
+ };
57
+ formmethod: {
58
+ type: StringConstructor;
59
+ };
60
+ formnovalidate: {
61
+ type: BooleanConstructor;
62
+ };
63
+ formtarget: {
64
+ type: StringConstructor;
48
65
  };
49
66
  href: {
50
67
  type: StringConstructor;
@@ -56,54 +73,71 @@ export declare class Button extends FormControl implements ButtonProps {
56
73
  download: {
57
74
  type: StringConstructor;
58
75
  };
59
- form: {
60
- type: StringConstructor;
61
- reflect: boolean;
62
- };
63
76
  };
64
77
  /**
65
78
  * The button is waiting for some operation to be finished.
66
79
  */
67
- loading?: ButtonProps['loading'];
68
- /**
69
- * Should the button be disabled.
70
- */
71
- disabled?: ButtonProps['disabled'];
80
+ loading: ButtonProps['loading'];
72
81
  /**
73
82
  * Button variant.
74
83
  */
75
- variant?: ButtonProps['variant'];
84
+ variant: ButtonProps['variant'];
76
85
  /**
77
86
  * Button size.
78
87
  */
79
- size?: ButtonProps['size'];
88
+ size: ButtonProps['size'];
80
89
  /**
81
90
  * Specifies the type of button.
82
91
  */
83
- type?: ButtonProps['type'];
92
+ type: ButtonProps['type'];
84
93
  /**
85
94
  * When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.
86
95
  */
87
- href?: ButtonProps['href'];
96
+ href: ButtonProps['href'];
88
97
  /**
89
98
  * Tell the browser where to open the link. Only used when `href` is set.
90
99
  * */
91
- target?: ButtonProps['target'];
100
+ target: ButtonProps['target'];
92
101
  /**
93
102
  * Causes the browser to treat the linked URL as a download. Only used when `href` is set.
94
103
  */
95
- download?: ButtonProps['download'];
104
+ download: ButtonProps['download'];
105
+ /**
106
+ * The <form> element to associate the button with (its form owner). The value of
107
+ * this attribute must be the id of a <form> in the same document. (If this attribute
108
+ * is not set, the <button> is associated with its ancestor <form> element, if any.)
109
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#form|MDN docs}
110
+ */
111
+ form: ButtonProps['form'];
112
+ formaction: ButtonProps['formaction'];
113
+ formenctype: ButtonProps['formenctype'];
114
+ formmethod: ButtonProps['formmethod'];
115
+ formnovalidate: ButtonProps['formnovalidate'];
116
+ formtarget: ButtonProps['formtarget'];
96
117
  constructor();
97
118
  connectedCallback(): void;
98
119
  disconnectedCallback(): void;
99
- protected willUpdate(changedProperties: PropertyValues<this>): void;
100
- protected updated(changedProperties: PropertyValues<this>): void;
101
- render(): import("lit-html").TemplateResult;
102
- focus(options?: FocusOptions | undefined): void;
120
+ protected update(changedProperties: PropertyValues<this>): void;
121
+ renderContent(): import("lit-html").TemplateResult<1>;
122
+ renderAsButton(): import("lit-html").TemplateResult<1>;
123
+ renderAsLink(): import("lit-html").TemplateResult<1>;
124
+ render(): import("lit-html").TemplateResult<1>;
125
+ get button(): HTMLButtonElement | null;
126
+ get anchor(): HTMLAnchorElement | null;
127
+ /**
128
+ * A button can be associated with a form either via the `form` attribute (`associatedForm` property)
129
+ * or by being a descendant of a form element (in which case the form instance will be available via the
130
+ * `ElementInternals` API). Here, we return the form that the button is actually associated with so
131
+ * other parts of the component can use it.
132
+ *
133
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#form|MDN button element, form attribute}
134
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/form|MDN ElementInternals, form property}
135
+ */
136
+ getActualForm: () => HTMLFormElement | null;
137
+ formDisabledCallback(disabled: boolean): void;
103
138
  }
104
139
  declare global {
105
140
  interface HTMLElementTagNameMap {
106
141
  'm-button': Button;
107
142
  }
108
143
  }
109
- export {};
@@ -1,72 +1,60 @@
1
- import { LitElement } from 'lit';
1
+ import type { PropertyValues } from 'lit';
2
+ import { FormComponent } from '../component';
3
+ import type { FormComponentProps } from '../component';
2
4
  import '../icon';
3
- export type CheckboxChangeEventDetail = {
4
- checked: boolean;
5
- indeterminate: boolean;
6
- };
7
- export interface CheckboxProps {
8
- id?: string;
9
- name?: string;
10
- disabled?: boolean;
11
- indeterminate?: boolean;
5
+ export interface CheckboxProps extends FormComponentProps {
12
6
  checked?: boolean;
7
+ initialChecked?: boolean;
8
+ indeterminate?: boolean;
9
+ value?: string;
10
+ onchange?: ((this: GlobalEventHandlers, event: Event) => unknown) | null;
13
11
  }
14
- export declare class Checkbox extends LitElement implements CheckboxProps {
12
+ export declare class Checkbox extends FormComponent implements CheckboxProps {
15
13
  #private;
14
+ static shadowRootOptions: {
15
+ delegatesFocus: boolean;
16
+ mode: ShadowRootMode;
17
+ slotAssignment?: SlotAssignmentMode | undefined;
18
+ };
16
19
  static styles: import("lit").CSSResult[];
17
20
  static get properties(): {
18
- name: {
19
- type: StringConstructor;
20
- reflect: boolean;
21
- };
22
- disabled: {
21
+ checked: {
23
22
  type: BooleanConstructor;
24
23
  reflect: boolean;
25
24
  };
26
- checked: {
25
+ initialChecked: {
27
26
  type: BooleanConstructor;
28
- reflect: boolean;
27
+ attribute: string;
29
28
  };
30
29
  indeterminate: {
31
30
  type: BooleanConstructor;
32
31
  reflect: boolean;
33
32
  };
33
+ value: {
34
+ type: StringConstructor;
35
+ };
34
36
  };
35
- constructor();
36
- /**
37
- * Id of the checkbox input.
38
- */
39
- id: string;
40
- /**
41
- * Name of the checkbox input.
42
- */
43
- name: CheckboxProps['name'];
44
- /**
45
- * Option to disable the checkbox.
46
- */
47
- disabled: boolean;
48
- /**
49
- * Option to disable the checkbox.
50
- */
51
- checked: boolean;
52
- /**
53
- * Option to set the checkbox as indeterminate.
54
- */
55
- indeterminate: boolean;
56
37
  /**
57
- * Input element within component.
38
+ * Value the checkbox should report to the form it is in.
58
39
  */
59
- private input;
40
+ value: CheckboxProps['value'];
60
41
  /**
61
- * Label element within component.
42
+ * Should the checkbox be checked initialluy or when the form it is in is reset.
62
43
  */
63
- private label;
64
- connectedCallback(): void;
44
+ initialChecked: CheckboxProps['initialChecked'];
45
+ createRenderRoot(): Element | ShadowRoot;
46
+ connectedCallback(): Promise<void>;
65
47
  disconnectedCallback(): void;
66
- firstUpdated(): void;
67
- updated(): void;
48
+ updated(changedProperties: PropertyValues<this>): void;
68
49
  render(): import("lit-html").TemplateResult<1>;
69
- focus(options?: FocusOptions | undefined): void;
50
+ get input(): HTMLInputElement | null;
51
+ set checked(checked: boolean);
52
+ get checked(): boolean;
53
+ set indeterminate(indeterminate: boolean);
54
+ get indeterminate(): boolean;
55
+ formResetCallback(): void;
56
+ formStateRestoreCallback(state: unknown): void;
57
+ formDisabledCallback(disabled: boolean): void;
70
58
  }
71
59
  declare global {
72
60
  interface HTMLElementTagNameMap {
@@ -1,2 +1,2 @@
1
1
  export { Checkbox } from './checkbox';
2
- export type { CheckboxProps, CheckboxChangeEventDetail } from './checkbox';
2
+ export type { CheckboxProps } from './checkbox';
@@ -1,6 +1,8 @@
1
1
  import { LitElement } from 'lit';
2
2
  export declare class Component extends LitElement {
3
+ protected internals: ElementInternals | null;
3
4
  protected emit: <T>(eventName: string, options?: CustomEventInit<T>) => void;
5
+ constructor();
4
6
  /**
5
7
  * Re-dispatches an event.
6
8
  * This function is useful for forwarding non-composed events, such as `change`
@@ -0,0 +1,5 @@
1
+ import { Component } from './component';
2
+ declare const FormComponent_base: import("../../utils/types").Constructor<import("./form-component.mixin").WithFormComponentMixinInterface> & typeof Component;
3
+ export declare abstract class FormComponent extends FormComponent_base {
4
+ }
5
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { Component } from './component';
2
+ import type { Constructor } from '../../utils/types';
3
+ import type { FieldStatus } from '../field';
4
+ export interface FormComponentProps {
5
+ name?: string;
6
+ disabled?: boolean;
7
+ status?: FieldStatus;
8
+ }
9
+ export declare class WithFormComponentMixinInterface implements FormComponentProps {
10
+ name?: string;
11
+ disabled?: boolean;
12
+ status?: FieldStatus;
13
+ protected getAssociatedForm(): HTMLFormElement | null;
14
+ protected setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;
15
+ protected formDisabledCallback(disabled: boolean): void;
16
+ }
17
+ export declare const WithFormComponentMixin: <T extends Constructor<Component>>(superClass: T) => Constructor<WithFormComponentMixinInterface> & T;
@@ -1 +1,4 @@
1
1
  export { Component } from './component';
2
+ export { FormComponent } from './form-component';
3
+ export { WithFormComponentMixin } from './form-component.mixin';
4
+ export type { FormComponentProps } from './form-component.mixin';
@@ -1,8 +1,8 @@
1
1
  import type { FieldSize, FieldStatus } from './field.types';
2
2
  export interface FieldContext {
3
- required?: boolean;
3
+ required: boolean;
4
4
  status?: FieldStatus;
5
- size?: FieldSize;
5
+ size: FieldSize;
6
6
  }
7
7
  declare const fieldContext: {
8
8
  __context__: FieldContext;
@@ -16,6 +16,7 @@ export interface FieldProps {
16
16
  align?: StackProps['align'];
17
17
  }
18
18
  export declare class Field extends Component implements FieldProps {
19
+ static styles: import("lit").CSSResult[][];
19
20
  static get properties(): {
20
21
  label: {
21
22
  type: StringConstructor;
@@ -0,0 +1,2 @@
1
+ export declare function fieldStyles(): import("lit").CSSResult[];
2
+ export declare function hintStyles(): import("lit").CSSResult[];
@@ -6,6 +6,10 @@ export declare class LabeledValueLabel extends Text {
6
6
  type: StringConstructor;
7
7
  reflect: boolean;
8
8
  };
9
+ as: {
10
+ type: StringConstructor;
11
+ reflect: boolean;
12
+ };
9
13
  color: {
10
14
  type: StringConstructor;
11
15
  reflect: boolean;
@@ -2,7 +2,7 @@ import type { PropertyValues } from 'lit';
2
2
  import type { PopoverProps } from './popover.types';
3
3
  import { Component } from '../component';
4
4
  export declare const POPOVER_PLACEMENT_VALUES: string[];
5
- export declare abstract class Popover extends Component {
5
+ export declare class Popover extends Component {
6
6
  #private;
7
7
  static get properties(): {
8
8
  position: {
@@ -42,9 +42,9 @@ export declare abstract class Popover extends Component {
42
42
  disconnectedCallback(): void;
43
43
  protected firstUpdated(): void;
44
44
  updated(changedProperties: PropertyValues<this>): void;
45
- abstract getReferenceElement(): HTMLElement | null;
46
- abstract getFloatingElement(): HTMLElement | null;
47
- abstract getArrowElement(): HTMLElement | null;
45
+ getReferenceElement(): HTMLElement | null;
46
+ getFloatingElement(): HTMLElement | null;
47
+ getArrowElement(): HTMLElement | null;
48
48
  getFloatingOffset: () => number;
49
49
  get reference(): HTMLElement | null;
50
50
  get floating(): HTMLElement | null;
@@ -2,7 +2,7 @@ import type { ProgressBarProps } from '../progress-bar';
2
2
  import { ProgressBar } from '../progress-bar';
3
3
  export type ProgressBarCountdownProps = Omit<ProgressBarProps, 'variant'>;
4
4
  export declare class ProgressBarCountdown extends ProgressBar implements ProgressBarCountdownProps {
5
- get currentVariant(): "warning" | "danger" | "success";
5
+ get currentVariant(): "danger" | "warning" | "success";
6
6
  }
7
7
  declare global {
8
8
  interface HTMLElementTagNameMap {
@@ -1,4 +1,4 @@
1
1
  export { Radio } from './radio';
2
2
  export type { RadioProps } from './radio';
3
3
  export { RadioGroup } from './radio-group';
4
- export type { RadioGroupProps, RadioGroupOrientation, RadioGroupChangeEventDetail, } from './radio-group';
4
+ export type { RadioGroupProps, RadioGroupOrientation } from './radio-group';
@@ -1,65 +1,81 @@
1
1
  import type { PropertyValues } from 'lit';
2
- import { LitElement } from 'lit';
3
- import type { AcceptedType, SelectionState, SelectionType } from '../../controllers/selection';
2
+ import { Component } from '../component';
3
+ import { fromAttribute } from '../../controllers/selection';
4
+ import type { AcceptedType, SelectionType } from '../../controllers/selection';
4
5
  export type RadioGroupOrientation = 'vertical' | 'horizontal';
5
- export type RadioGroupChangeEventDetail = {
6
- type: SelectionType;
7
- value: string;
8
- };
9
6
  export interface RadioGroupProps {
10
- value?: AcceptedType;
7
+ initialValue?: AcceptedType;
11
8
  disabled?: boolean;
9
+ name?: string;
12
10
  orientation?: RadioGroupOrientation;
13
- 'm-change'?: (event: CustomEvent<RadioGroupChangeEventDetail>) => void;
11
+ value?: AcceptedType;
12
+ onchange?: GlobalEventHandlers['onchange'];
14
13
  }
15
- export declare class RadioGroup extends LitElement implements RadioGroupProps {
14
+ declare const RadioGroup_base: import("../../utils/types").Constructor<import("../../controllers/selection/selection-control.mixin").WithSelectionControlMixinInterface> & typeof Component;
15
+ export declare class RadioGroup extends RadioGroup_base implements RadioGroupProps {
16
16
  #private;
17
17
  static styles: import("lit").CSSResult[];
18
18
  static get properties(): {
19
- value: {
20
- type: StringConstructor;
21
- reflect: boolean;
22
- };
23
19
  disabled: {
24
20
  type: BooleanConstructor;
21
+ };
22
+ initialValue: {
23
+ type: StringConstructor;
24
+ attribute: string;
25
+ fromAttribute: typeof fromAttribute;
25
26
  reflect: boolean;
26
27
  };
27
- selection: {
28
- state: boolean;
28
+ /**
29
+ * We use a different property name internally so the react wrapper can still
30
+ * keep track of the property while we can use custom getter/setter to
31
+ * set and reflect the `value` attribute.
32
+ */
33
+ providedValue: {
34
+ type: StringConstructor;
35
+ attribute: string;
36
+ fromAttribute: typeof fromAttribute;
37
+ };
38
+ name: {
39
+ type: StringConstructor;
40
+ reflect: boolean;
29
41
  };
30
42
  orientation: {
31
43
  type: StringConstructor;
32
44
  };
33
45
  };
34
46
  /**
35
- * Value of the selected radio-button.
47
+ * Name that will represent this radio group in the form.
36
48
  */
37
- value: RadioGroupProps['value'];
49
+ name: RadioGroupProps['name'];
38
50
  /**
39
- * Type of the selected radio-button.
40
- * It is necessary due to eligibility as a SelectionHost for the SelectionController
51
+ * Should the button be disabled.
41
52
  */
42
- type: SelectionType;
53
+ disabled: RadioGroupProps['disabled'];
43
54
  /**
44
- * Should the button be disabled.
55
+ * Buttons display orientation (vertical or horizontal)
45
56
  */
46
- disabled: boolean;
57
+ orientation: RadioGroupProps['orientation'];
47
58
  /**
48
- * Inner toggle selection state.
59
+ * Value that will be selected by default on initialization and form reset.
49
60
  */
50
- selection: SelectionState;
61
+ initialValue: RadioGroupProps['initialValue'];
51
62
  /**
52
- * Buttons display orientation (vertical or horizontal)
63
+ * Current selected value.
53
64
  */
54
- orientation: RadioGroupOrientation;
65
+ providedValue: RadioGroupProps['value'];
55
66
  constructor();
56
- connectedCallback(): void;
67
+ getSelectionType(): SelectionType;
68
+ connectedCallback(): Promise<void>;
69
+ disconnectedCallback(): void;
57
70
  protected update(changedProperties: PropertyValues<this>): void;
58
- protected updated(changedProperties: PropertyValues<this>): void;
59
71
  render(): import("lit-html").TemplateResult<1>;
72
+ get value(): string;
73
+ set value(value: string);
74
+ protected handleFormReset: () => void;
60
75
  }
61
76
  declare global {
62
77
  interface HTMLElementTagNameMap {
63
78
  'm-radio-group': RadioGroup;
64
79
  }
65
80
  }
81
+ export {};
@@ -1,2 +1,2 @@
1
- declare function styles(): import("lit").CSSResult;
2
- export default styles;
1
+ export declare function radioGroupStyles(): import("lit").CSSResult;
2
+ export declare function radioStyles(): import("lit").CSSResult;
@@ -1,46 +1,44 @@
1
1
  import type { PropertyValues } from 'lit';
2
- import { LitElement } from 'lit';
3
- export interface RadioProps {
4
- value: string;
5
- disabled?: boolean;
2
+ import { Component } from '../component';
3
+ import type { FormComponentProps } from '../component';
4
+ export interface RadioProps extends FormComponentProps {
6
5
  checked?: boolean;
6
+ value: string;
7
7
  }
8
- export declare class Radio extends LitElement implements RadioProps {
8
+ declare const Radio_base: import("../../utils/types").Constructor<import("../component/form-component.mixin").WithFormComponentMixinInterface> & typeof Component;
9
+ export declare class Radio extends Radio_base implements RadioProps {
9
10
  #private;
10
11
  static styles: import("lit").CSSResult[];
11
12
  static get properties(): {
12
- value: {
13
- type: StringConstructor;
14
- };
15
- disabled: {
13
+ checked: {
16
14
  type: BooleanConstructor;
17
15
  reflect: boolean;
18
16
  };
19
- checked: {
20
- type: BooleanConstructor;
17
+ value: {
18
+ type: StringConstructor;
21
19
  reflect: boolean;
22
20
  };
23
21
  };
24
22
  /**
25
23
  * Value of the button, raised with the event.
26
24
  */
27
- value: string;
28
- /**
29
- * Should the button be disabled.
30
- */
31
- disabled: boolean;
25
+ value: RadioProps['value'];
32
26
  /**
33
27
  * The button initial state
34
28
  */
35
- checked: boolean;
29
+ checked: RadioProps['checked'];
36
30
  constructor();
37
31
  connectedCallback(): void;
38
- protected updated(changedProperties: PropertyValues<this>): void;
32
+ disconnectedCallback(): void;
33
+ protected update(changedProperties: PropertyValues<this>): void;
39
34
  render(): import("lit-html").TemplateResult<1>;
40
- focus(options?: FocusOptions | undefined): void;
35
+ formResetCallback(): void;
36
+ formStateRestoreCallback(state: unknown): void;
37
+ formDisabledCallback(disabled: boolean): void;
41
38
  }
42
39
  declare global {
43
40
  interface HTMLElementTagNameMap {
44
41
  'm-radio': Radio;
45
42
  }
46
43
  }
44
+ export {};
@@ -1,2 +1,2 @@
1
1
  export { Switch } from './switch';
2
- export type { SwitchProps, SwitchChangeEventDetail, SwitchSize, } from './switch';
2
+ export type { SwitchProps, SwitchSize } from './switch';