@justeattakeaway/pie-checkbox-group 0.3.0 → 0.4.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.
- package/README.md +1 -0
- package/custom-elements.json +24 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +43 -36
- package/dist/react.d.ts +5 -1
- package/dist/react.js +8 -5
- package/package.json +2 -2
- package/src/defs.ts +1 -0
- package/src/index.ts +14 -9
- package/src/react.ts +2 -0
package/README.md
CHANGED
|
@@ -104,6 +104,7 @@ In your markup or JSX, you can then use these to set the properties for the `pie
|
|
|
104
104
|
| Event | Type | Description |
|
|
105
105
|
|-------|------|-------------|
|
|
106
106
|
| `pie-checkbox-group-disabled` | `CustomEvent` | Triggered after the disabled state of the checkbox group changes. |
|
|
107
|
+
| `pie-checkbox-group-error` | `CustomEvent` | Triggered after the state of the checkbox group changes to error. |
|
|
107
108
|
|
|
108
109
|
## Contributing
|
|
109
110
|
|
package/custom-elements.json
CHANGED
|
@@ -29,6 +29,14 @@
|
|
|
29
29
|
"default": "'pie-checkbox-group-disabled'",
|
|
30
30
|
"description": "Event name for when checkbox group becomes disabled."
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
"kind": "variable",
|
|
34
|
+
"name": "ON_CHECKBOX_GROUP_ERROR",
|
|
35
|
+
"type": {
|
|
36
|
+
"text": "string"
|
|
37
|
+
},
|
|
38
|
+
"default": "'pie-checkbox-group-error'"
|
|
39
|
+
},
|
|
32
40
|
{
|
|
33
41
|
"kind": "variable",
|
|
34
42
|
"name": "defaultProps",
|
|
@@ -55,6 +63,14 @@
|
|
|
55
63
|
"module": "src/defs.js"
|
|
56
64
|
}
|
|
57
65
|
},
|
|
66
|
+
{
|
|
67
|
+
"kind": "js",
|
|
68
|
+
"name": "ON_CHECKBOX_GROUP_ERROR",
|
|
69
|
+
"declaration": {
|
|
70
|
+
"name": "ON_CHECKBOX_GROUP_ERROR",
|
|
71
|
+
"module": "src/defs.js"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
58
74
|
{
|
|
59
75
|
"kind": "js",
|
|
60
76
|
"name": "defaultProps",
|
|
@@ -130,7 +146,7 @@
|
|
|
130
146
|
"kind": "field",
|
|
131
147
|
"name": "_slottedChildren",
|
|
132
148
|
"type": {
|
|
133
|
-
"text": "Array<HTMLElement>"
|
|
149
|
+
"text": "Array<HTMLElement> | undefined"
|
|
134
150
|
}
|
|
135
151
|
},
|
|
136
152
|
{
|
|
@@ -161,6 +177,13 @@
|
|
|
161
177
|
},
|
|
162
178
|
"description": "triggered after the disabled state of the checkbox group changes.",
|
|
163
179
|
"name": "pie-checkbox-group-disabled"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"type": {
|
|
183
|
+
"text": "CustomEvent"
|
|
184
|
+
},
|
|
185
|
+
"description": "triggered after the state of the checkbox group changes to error.",
|
|
186
|
+
"name": "pie-checkbox-group-error"
|
|
164
187
|
}
|
|
165
188
|
],
|
|
166
189
|
"attributes": [
|
package/dist/index.d.ts
CHANGED
|
@@ -45,10 +45,13 @@ export declare const defaultProps: DefaultProps;
|
|
|
45
45
|
*/
|
|
46
46
|
export declare const ON_CHECKBOX_GROUP_DISABLED = "pie-checkbox-group-disabled";
|
|
47
47
|
|
|
48
|
+
export declare const ON_CHECKBOX_GROUP_ERROR = "pie-checkbox-group-error";
|
|
49
|
+
|
|
48
50
|
/**
|
|
49
51
|
* @tagname pie-checkbox-group
|
|
50
52
|
* @slot - Default slot
|
|
51
53
|
* @event {CustomEvent} pie-checkbox-group-disabled - triggered after the disabled state of the checkbox group changes.
|
|
54
|
+
* @event {CustomEvent} pie-checkbox-group-error - triggered after the state of the checkbox group changes to error.
|
|
52
55
|
*/
|
|
53
56
|
export declare class PieCheckboxGroup extends PieCheckboxGroup_base implements CheckboxGroupProps {
|
|
54
57
|
name?: CheckboxGroupProps['name'];
|
|
@@ -57,7 +60,7 @@ export declare class PieCheckboxGroup extends PieCheckboxGroup_base implements C
|
|
|
57
60
|
isInline: boolean;
|
|
58
61
|
status: "default" | "error" | "success";
|
|
59
62
|
disabled: boolean;
|
|
60
|
-
_slottedChildren: Array<HTMLElement
|
|
63
|
+
_slottedChildren: Array<HTMLElement> | undefined;
|
|
61
64
|
private _handleDisabled;
|
|
62
65
|
private _handleStatus;
|
|
63
66
|
protected updated(_changedProperties: PropertyValues<this>): void;
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,38 @@
|
|
|
1
1
|
import { LitElement as x, html as d, unsafeCSS as g } from "lit";
|
|
2
|
-
import { property as r, queryAssignedElements as
|
|
3
|
-
import { FormControlMixin as
|
|
4
|
-
import { ifDefined as
|
|
2
|
+
import { property as r, queryAssignedElements as v } from "lit/decorators.js";
|
|
3
|
+
import { FormControlMixin as m, RtlMixin as k, validPropertyValues as y, defineCustomElement as G } from "@justeattakeaway/pie-webc-core";
|
|
4
|
+
import { ifDefined as b } from "lit/directives/if-defined.js";
|
|
5
5
|
import { classMap as _ } from "lit/directives/class-map.js";
|
|
6
6
|
import "@justeattakeaway/pie-assistive-text";
|
|
7
7
|
const C = `*,*:after,*:before{box-sizing:inherit}.c-checkboxGroup{--checkbox-group-offset: var(--dt-spacing-c);--checkbox-group-offset--inline: var(--dt-spacing-e);--checkbox-group-label-offset: var(--dt-spacing-a);margin:0;padding:0;border:0;min-width:0}.c-checkboxGroup ::slotted(pie-checkbox){display:flex}.c-checkboxGroup:not(.c-checkboxGroup--inline) ::slotted(pie-checkbox:not(:first-child)){margin-block-start:var(--checkbox-group-offset)}.c-checkboxGroup--inline{display:flex;align-items:flex-start;flex-wrap:wrap}.c-checkboxGroup-label{max-width:100%;white-space:normal;padding:0;font-size:calc(var(--dt-font-body-strong-s-size) * 1px);line-height:calc(var(--dt-font-body-strong-s-line-height) * 1px);font-weight:var(--dt-font-body-strong-s-weight);color:var(--dt-color-content-default);margin-block-end:var(--checkbox-group-label-offset)}.c-checkboxGroup.c-checkboxGroup--inline{margin:calc(-1 * var(--checkbox-group-offset--inline) / 2) calc(-1 * var(--checkbox-group-offset--inline) / 2)}.c-checkboxGroup.c-checkboxGroup--inline ::slotted(pie-checkbox){margin:calc(var(--checkbox-group-offset--inline) / 2) calc(var(--checkbox-group-offset--inline) / 2)}.c-checkboxGroup.c-checkboxGroup--inline .c-checkboxGroup-label{margin:0 calc(var(--checkbox-group-offset--inline) / 2) calc(-1 * (var(--checkbox-group-offset--inline) / 2 - var(--checkbox-group-label-offset)))}
|
|
8
|
-
`,
|
|
8
|
+
`, E = ["default", "success", "error"], w = "pie-checkbox-group-disabled", O = "pie-checkbox-group-error", n = {
|
|
9
9
|
status: "default",
|
|
10
10
|
disabled: !1,
|
|
11
11
|
isInline: !1
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
for (var
|
|
15
|
-
(l = p[a]) && (
|
|
16
|
-
return c &&
|
|
13
|
+
var S = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, i = (p, e, t, c) => {
|
|
14
|
+
for (var s = c > 1 ? void 0 : c ? $(e, t) : e, a = p.length - 1, l; a >= 0; a--)
|
|
15
|
+
(l = p[a]) && (s = (c ? l(e, t, s) : l(s)) || s);
|
|
16
|
+
return c && s && S(e, t, s), s;
|
|
17
17
|
};
|
|
18
|
-
const
|
|
19
|
-
class o extends
|
|
18
|
+
const u = "pie-checkbox-group", h = "assistive-text";
|
|
19
|
+
class o extends m(k(x)) {
|
|
20
20
|
constructor() {
|
|
21
21
|
super(...arguments), this.isInline = n.isInline, this.status = n.status, this.disabled = n.disabled;
|
|
22
22
|
}
|
|
23
23
|
_handleDisabled() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
var e;
|
|
25
|
+
(e = this._slottedChildren) == null || e.forEach((t) => t.dispatchEvent(new CustomEvent(w, {
|
|
26
|
+
bubbles: !1,
|
|
27
|
+
composed: !1,
|
|
28
|
+
detail: { disabled: this.disabled }
|
|
29
|
+
})));
|
|
27
30
|
}
|
|
28
31
|
_handleStatus() {
|
|
29
|
-
|
|
32
|
+
var e;
|
|
33
|
+
(e = this._slottedChildren) == null || e.forEach((t) => {
|
|
34
|
+
t.setAttribute("status", this.status), this.status === "error" && this.assistiveText && (t.setAttribute("assistiveText", this.assistiveText), t.dispatchEvent(new CustomEvent(O, { bubbles: !1, composed: !1, detail: { error: !0 } })));
|
|
35
|
+
});
|
|
30
36
|
}
|
|
31
37
|
updated(e) {
|
|
32
38
|
e.has("disabled") && this._handleDisabled(), e.has("status") && this._handleStatus();
|
|
@@ -34,63 +40,64 @@ class o extends v(k(x)) {
|
|
|
34
40
|
render() {
|
|
35
41
|
const {
|
|
36
42
|
name: e,
|
|
37
|
-
label:
|
|
43
|
+
label: t,
|
|
38
44
|
isInline: c,
|
|
39
|
-
assistiveText:
|
|
45
|
+
assistiveText: s,
|
|
40
46
|
status: a,
|
|
41
47
|
disabled: l
|
|
42
|
-
} = this,
|
|
48
|
+
} = this, f = {
|
|
43
49
|
"c-checkboxGroup": !0,
|
|
44
50
|
"c-checkboxGroup--inline": c
|
|
45
51
|
};
|
|
46
52
|
return d`
|
|
47
53
|
<fieldset
|
|
48
|
-
name=${
|
|
54
|
+
name=${b(e)}
|
|
49
55
|
?disabled=${l}
|
|
50
|
-
aria-describedby="${
|
|
56
|
+
aria-describedby="${b(s ? h : void 0)}"
|
|
51
57
|
data-test-id="pie-checkbox-group"
|
|
52
|
-
class="${_(
|
|
58
|
+
class="${_(f)}"
|
|
53
59
|
>
|
|
54
|
-
${
|
|
60
|
+
${t && d`<legend class="c-checkboxGroup-label">${t}</legend>`}
|
|
55
61
|
<slot></slot>
|
|
56
62
|
</fieldset>
|
|
57
|
-
${
|
|
63
|
+
${s && d`
|
|
58
64
|
<pie-assistive-text
|
|
59
|
-
id="${
|
|
65
|
+
id="${h}"
|
|
60
66
|
variant=${a}
|
|
61
67
|
data-test-id="pie-checkbox-group-assistive-text">
|
|
62
|
-
${
|
|
68
|
+
${s}
|
|
63
69
|
</pie-assistive-text>`}
|
|
64
70
|
`;
|
|
65
71
|
}
|
|
66
72
|
}
|
|
67
73
|
o.styles = g(C);
|
|
68
|
-
|
|
74
|
+
i([
|
|
69
75
|
r({ type: String })
|
|
70
76
|
], o.prototype, "name", 2);
|
|
71
|
-
|
|
77
|
+
i([
|
|
72
78
|
r({ type: String })
|
|
73
79
|
], o.prototype, "label", 2);
|
|
74
|
-
|
|
80
|
+
i([
|
|
75
81
|
r({ type: String })
|
|
76
82
|
], o.prototype, "assistiveText", 2);
|
|
77
|
-
|
|
83
|
+
i([
|
|
78
84
|
r({ type: Boolean })
|
|
79
85
|
], o.prototype, "isInline", 2);
|
|
80
|
-
|
|
86
|
+
i([
|
|
81
87
|
r({ type: String }),
|
|
82
|
-
y(
|
|
88
|
+
y(u, E, n.status)
|
|
83
89
|
], o.prototype, "status", 2);
|
|
84
|
-
|
|
90
|
+
i([
|
|
85
91
|
r({ type: Boolean, reflect: !0 })
|
|
86
92
|
], o.prototype, "disabled", 2);
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
i([
|
|
94
|
+
v({ selector: "pie-checkbox" })
|
|
89
95
|
], o.prototype, "_slottedChildren", 2);
|
|
90
|
-
G(
|
|
96
|
+
G(u, o);
|
|
91
97
|
export {
|
|
92
|
-
|
|
98
|
+
w as ON_CHECKBOX_GROUP_DISABLED,
|
|
99
|
+
O as ON_CHECKBOX_GROUP_ERROR,
|
|
93
100
|
o as PieCheckboxGroup,
|
|
94
101
|
n as defaultProps,
|
|
95
|
-
|
|
102
|
+
E as statusTypes
|
|
96
103
|
};
|
package/dist/react.d.ts
CHANGED
|
@@ -46,12 +46,15 @@ export declare const defaultProps: DefaultProps;
|
|
|
46
46
|
*/
|
|
47
47
|
export declare const ON_CHECKBOX_GROUP_DISABLED = "pie-checkbox-group-disabled";
|
|
48
48
|
|
|
49
|
+
export declare const ON_CHECKBOX_GROUP_ERROR = "pie-checkbox-group-error";
|
|
50
|
+
|
|
49
51
|
export declare const PieCheckboxGroup: React_2.ForwardRefExoticComponent<CheckboxGroupProps & React_2.RefAttributes<PieCheckboxGroup_2> & PieCheckboxGroupEvents & ReactBaseType>;
|
|
50
52
|
|
|
51
53
|
/**
|
|
52
54
|
* @tagname pie-checkbox-group
|
|
53
55
|
* @slot - Default slot
|
|
54
56
|
* @event {CustomEvent} pie-checkbox-group-disabled - triggered after the disabled state of the checkbox group changes.
|
|
57
|
+
* @event {CustomEvent} pie-checkbox-group-error - triggered after the state of the checkbox group changes to error.
|
|
55
58
|
*/
|
|
56
59
|
declare class PieCheckboxGroup_2 extends PieCheckboxGroup_base implements CheckboxGroupProps {
|
|
57
60
|
name?: CheckboxGroupProps['name'];
|
|
@@ -60,7 +63,7 @@ declare class PieCheckboxGroup_2 extends PieCheckboxGroup_base implements Checkb
|
|
|
60
63
|
isInline: boolean;
|
|
61
64
|
status: "default" | "error" | "success";
|
|
62
65
|
disabled: boolean;
|
|
63
|
-
_slottedChildren: Array<HTMLElement
|
|
66
|
+
_slottedChildren: Array<HTMLElement> | undefined;
|
|
64
67
|
private _handleDisabled;
|
|
65
68
|
private _handleStatus;
|
|
66
69
|
protected updated(_changedProperties: PropertyValues<this>): void;
|
|
@@ -72,6 +75,7 @@ declare const PieCheckboxGroup_base: GenericConstructor<FormControlInterface> &
|
|
|
72
75
|
|
|
73
76
|
declare type PieCheckboxGroupEvents = {
|
|
74
77
|
onPieCheckboxGroupDisabled?: (event: CustomEvent) => void;
|
|
78
|
+
onPieCheckboxGroupError?: (event: CustomEvent) => void;
|
|
75
79
|
};
|
|
76
80
|
|
|
77
81
|
declare type ReactBaseType = React_2.FieldsetHTMLAttributes<HTMLFieldSetElement>;
|
package/dist/react.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as o from "react";
|
|
2
2
|
import { createComponent as e } from "@lit/react";
|
|
3
3
|
import { PieCheckboxGroup as r } from "./index.js";
|
|
4
|
-
import { ON_CHECKBOX_GROUP_DISABLED as k,
|
|
4
|
+
import { ON_CHECKBOX_GROUP_DISABLED as k, ON_CHECKBOX_GROUP_ERROR as P, defaultProps as G, statusTypes as n } from "./index.js";
|
|
5
5
|
import "lit";
|
|
6
6
|
import "lit/decorators.js";
|
|
7
7
|
import "@justeattakeaway/pie-webc-core";
|
|
@@ -14,13 +14,16 @@ const p = e({
|
|
|
14
14
|
react: o,
|
|
15
15
|
tagName: "pie-checkbox-group",
|
|
16
16
|
events: {
|
|
17
|
-
onPieCheckboxGroupDisabled: "pie-checkbox-group-disabled"
|
|
17
|
+
onPieCheckboxGroupDisabled: "pie-checkbox-group-disabled",
|
|
18
18
|
// triggered after the disabled state of the checkbox group changes.
|
|
19
|
+
onPieCheckboxGroupError: "pie-checkbox-group-error"
|
|
20
|
+
// triggered after the state of the checkbox group changes to error.
|
|
19
21
|
}
|
|
20
|
-
}),
|
|
22
|
+
}), u = p;
|
|
21
23
|
export {
|
|
22
24
|
k as ON_CHECKBOX_GROUP_DISABLED,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
P as ON_CHECKBOX_GROUP_ERROR,
|
|
26
|
+
u as PieCheckboxGroup,
|
|
27
|
+
G as defaultProps,
|
|
25
28
|
n as statusTypes
|
|
26
29
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@justeattakeaway/pie-checkbox-group",
|
|
3
3
|
"description": "PIE Design System Checkbox Group built using Web Components",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.4.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"cem-plugin-module-file-extensions": "0.0.5"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@justeattakeaway/pie-assistive-text": "0.
|
|
43
|
+
"@justeattakeaway/pie-assistive-text": "0.6.0",
|
|
44
44
|
"@justeattakeaway/pie-webc-core": "0.24.0"
|
|
45
45
|
},
|
|
46
46
|
"volta": {
|
package/src/defs.ts
CHANGED
|
@@ -40,6 +40,7 @@ export interface CheckboxGroupProps {
|
|
|
40
40
|
* @constant
|
|
41
41
|
*/
|
|
42
42
|
export const ON_CHECKBOX_GROUP_DISABLED = 'pie-checkbox-group-disabled';
|
|
43
|
+
export const ON_CHECKBOX_GROUP_ERROR = 'pie-checkbox-group-error';
|
|
43
44
|
|
|
44
45
|
export type DefaultProps = ComponentDefaultProps<CheckboxGroupProps, 'status' | 'disabled' | 'isInline'>;
|
|
45
46
|
|
package/src/index.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
13
13
|
import styles from './checkbox-group.scss?inline';
|
|
14
14
|
import {
|
|
15
15
|
ON_CHECKBOX_GROUP_DISABLED,
|
|
16
|
+
ON_CHECKBOX_GROUP_ERROR,
|
|
16
17
|
CheckboxGroupProps,
|
|
17
18
|
defaultProps,
|
|
18
19
|
statusTypes,
|
|
@@ -29,6 +30,7 @@ const assistiveTextId = 'assistive-text';
|
|
|
29
30
|
* @tagname pie-checkbox-group
|
|
30
31
|
* @slot - Default slot
|
|
31
32
|
* @event {CustomEvent} pie-checkbox-group-disabled - triggered after the disabled state of the checkbox group changes.
|
|
33
|
+
* @event {CustomEvent} pie-checkbox-group-error - triggered after the state of the checkbox group changes to error.
|
|
32
34
|
*/
|
|
33
35
|
export class PieCheckboxGroup extends FormControlMixin(RtlMixin(LitElement)) implements CheckboxGroupProps {
|
|
34
36
|
@property({ type: String })
|
|
@@ -50,20 +52,23 @@ export class PieCheckboxGroup extends FormControlMixin(RtlMixin(LitElement)) imp
|
|
|
50
52
|
@property({ type: Boolean, reflect: true })
|
|
51
53
|
public disabled = defaultProps.disabled;
|
|
52
54
|
|
|
53
|
-
@queryAssignedElements({}) _slottedChildren
|
|
55
|
+
@queryAssignedElements({ selector: 'pie-checkbox' }) _slottedChildren: Array<HTMLElement> | undefined;
|
|
54
56
|
|
|
55
57
|
private _handleDisabled () : void {
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
});
|
|
60
|
-
}
|
|
58
|
+
this._slottedChildren?.forEach((child) => child.dispatchEvent(new CustomEvent(ON_CHECKBOX_GROUP_DISABLED, {
|
|
59
|
+
bubbles: false, composed: false, detail: { disabled: this.disabled },
|
|
60
|
+
})));
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
private _handleStatus () : void {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
this._slottedChildren?.forEach((child) => {
|
|
65
|
+
child.setAttribute('status', this.status);
|
|
66
|
+
|
|
67
|
+
if (this.status === 'error' && this.assistiveText) {
|
|
68
|
+
child.setAttribute('assistiveText', this.assistiveText);
|
|
69
|
+
child.dispatchEvent(new CustomEvent(ON_CHECKBOX_GROUP_ERROR, { bubbles: false, composed: false, detail: { error: true } }));
|
|
70
|
+
}
|
|
71
|
+
});
|
|
67
72
|
}
|
|
68
73
|
|
|
69
74
|
protected updated (_changedProperties: PropertyValues<this>): void {
|
package/src/react.ts
CHANGED
|
@@ -12,6 +12,7 @@ const PieCheckboxGroupReact = createComponent({
|
|
|
12
12
|
tagName: 'pie-checkbox-group',
|
|
13
13
|
events: {
|
|
14
14
|
onPieCheckboxGroupDisabled: 'pie-checkbox-group-disabled' as EventName<CustomEvent>, // triggered after the disabled state of the checkbox group changes.
|
|
15
|
+
onPieCheckboxGroupError: 'pie-checkbox-group-error' as EventName<CustomEvent>, // triggered after the state of the checkbox group changes to error.
|
|
15
16
|
},
|
|
16
17
|
});
|
|
17
18
|
|
|
@@ -19,6 +20,7 @@ type ReactBaseType = React.FieldsetHTMLAttributes<HTMLFieldSetElement>
|
|
|
19
20
|
|
|
20
21
|
type PieCheckboxGroupEvents = {
|
|
21
22
|
onPieCheckboxGroupDisabled?: (event: CustomEvent) => void;
|
|
23
|
+
onPieCheckboxGroupError?: (event: CustomEvent) => void;
|
|
22
24
|
};
|
|
23
25
|
|
|
24
26
|
export const PieCheckboxGroup = PieCheckboxGroupReact as React.ForwardRefExoticComponent<React.PropsWithoutRef<CheckboxGroupProps>
|