fictoan-react 2.0.0-beta.18 → 2.0.0-beta.19
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/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +17 -18
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +37 -38
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/Callout/Callout.d.ts.map +1 -1
- package/dist/components/Callout/Callout.js +31 -25
- package/dist/components/Callout/Callout.js.map +1 -1
- package/dist/components/Divider/Divider.js +7 -7
- package/dist/components/Divider/Divider.js.map +1 -1
- package/dist/components/Element/Element.d.ts.map +1 -1
- package/dist/components/Element/Element.js +135 -133
- package/dist/components/Element/Element.js.map +1 -1
- package/dist/components/Element/constants.d.ts +21 -21
- package/dist/components/Element/constants.d.ts.map +1 -1
- package/dist/components/Element/constants.js.map +1 -1
- package/dist/components/Form/Checkbox/Switch.d.ts.map +1 -1
- package/dist/components/Form/Checkbox/Switch.js +11 -10
- package/dist/components/Form/Checkbox/Switch.js.map +1 -1
- package/dist/components/Form/FormItemGroup/FormItemGroup.d.ts.map +1 -1
- package/dist/components/Form/FormItemGroup/FormItemGroup.js +17 -17
- package/dist/components/Form/FormItemGroup/FormItemGroup.js.map +1 -1
- package/dist/components/Form/ListBox/ListBox.d.ts +1 -1
- package/dist/components/Form/ListBox/ListBox.d.ts.map +1 -1
- package/dist/components/Form/ListBox/ListBox.js +110 -107
- package/dist/components/Form/ListBox/ListBox.js.map +1 -1
- package/dist/components/Form/RadioButton/RadioTabGroup.d.ts +1 -1
- package/dist/components/Form/RadioButton/RadioTabGroup.js +46 -46
- package/dist/components/Form/RadioButton/RadioTabGroup.js.map +1 -1
- package/dist/components/Form/Select/Select.d.ts +1 -1
- package/dist/components/Form/Select/Select.d.ts.map +1 -1
- package/dist/components/Meter/Meter.d.ts.map +1 -1
- package/dist/components/Meter/Meter.js +54 -59
- package/dist/components/Meter/Meter.js.map +1 -1
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +20 -19
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Notification/NotificationsProvider/NotificationsProvider.d.ts.map +1 -1
- package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js +44 -44
- package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +1 -1
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +42 -41
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Portion/Portion.d.ts +1 -0
- package/dist/components/Portion/Portion.d.ts.map +1 -1
- package/dist/components/Portion/Portion.js +13 -12
- package/dist/components/Portion/Portion.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +23 -26
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/Row/Row.d.ts +1 -0
- package/dist/components/Row/Row.d.ts.map +1 -1
- package/dist/components/Row/Row.js +22 -22
- package/dist/components/Row/Row.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +25 -27
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Table/Table.d.ts +0 -1
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/Table.js +21 -34
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +49 -47
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Toast/ToastsProvider/ToastsProvider.d.ts.map +1 -1
- package/dist/components/Toast/ToastsProvider/ToastsProvider.js +22 -22
- package/dist/components/Toast/ToastsProvider/ToastsProvider.js.map +1 -1
- package/dist/components/Typography/Heading.js +11 -11
- package/dist/components/Typography/Heading.js.map +1 -1
- package/dist/components/Typography/Text.js +7 -7
- package/dist/components/Typography/Text.js.map +1 -1
- package/dist/fictoan-schema.json +33 -37
- package/dist/index.css +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +129 -127
- package/dist/index.js.map +1 -1
- package/dist/utils/classNames.d.ts +1 -1
- package/dist/utils/classNames.d.ts.map +1 -1
- package/dist/utils/classNames.js.map +1 -1
- package/dist/utils/propSeparation.js +4 -4
- package/dist/utils/propSeparation.js.map +1 -1
- package/package.json +14 -3
|
@@ -1,152 +1,154 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
4
|
-
import { createClassName as
|
|
5
|
-
const
|
|
2
|
+
import { jsx as ut } from "react/jsx-runtime";
|
|
3
|
+
import Ct from "react";
|
|
4
|
+
import { createClassName as Ot } from "../../utils/classNames.js";
|
|
5
|
+
const Tt = /* @__PURE__ */ new Set([
|
|
6
|
+
"none",
|
|
7
|
+
"nano",
|
|
8
|
+
"micro",
|
|
9
|
+
"tiny",
|
|
10
|
+
"small",
|
|
11
|
+
"medium",
|
|
12
|
+
"large",
|
|
13
|
+
"huge"
|
|
14
|
+
]), wt = (o) => Tt.has(o), kt = Ct.forwardRef(
|
|
6
15
|
({
|
|
7
|
-
as:
|
|
8
|
-
role:
|
|
9
|
-
ariaLabel:
|
|
10
|
-
tabIndex:
|
|
11
|
-
onKeyDown:
|
|
12
|
-
...
|
|
13
|
-
},
|
|
16
|
+
as: o = "div",
|
|
17
|
+
role: k,
|
|
18
|
+
ariaLabel: x,
|
|
19
|
+
tabIndex: z,
|
|
20
|
+
onKeyDown: N,
|
|
21
|
+
...L
|
|
22
|
+
}, R) => {
|
|
14
23
|
const {
|
|
15
|
-
classNames:
|
|
16
|
-
bgColor:
|
|
17
|
-
bgColour:
|
|
18
|
-
bgOpacity:
|
|
19
|
-
borderColor:
|
|
20
|
-
borderColour:
|
|
21
|
-
borderOpacity:
|
|
22
|
-
className:
|
|
23
|
-
columns:
|
|
24
|
+
classNames: S = [],
|
|
25
|
+
bgColor: e,
|
|
26
|
+
bgColour: n,
|
|
27
|
+
bgOpacity: l,
|
|
28
|
+
borderColor: r,
|
|
29
|
+
borderColour: d,
|
|
30
|
+
borderOpacity: s,
|
|
31
|
+
className: v,
|
|
32
|
+
columns: a,
|
|
24
33
|
fillColor: g,
|
|
25
34
|
fillColour: p,
|
|
26
|
-
gap:
|
|
27
|
-
hideOnDesktop:
|
|
28
|
-
hideOnMobile:
|
|
29
|
-
hideOnTabletLandscape:
|
|
30
|
-
hideOnTabletPortrait:
|
|
31
|
-
horizontalMargin:
|
|
32
|
-
horizontalPadding:
|
|
33
|
-
horizontallyCenterThis:
|
|
34
|
-
horizontallyCentreThis:
|
|
35
|
-
inheritFormSpacing:
|
|
36
|
-
isClickable:
|
|
37
|
-
isFullHeight:
|
|
38
|
-
isFullWidth:
|
|
39
|
-
layoutAsFlexbox:
|
|
35
|
+
gap: B,
|
|
36
|
+
hideOnDesktop: P,
|
|
37
|
+
hideOnMobile: E,
|
|
38
|
+
hideOnTabletLandscape: F,
|
|
39
|
+
hideOnTabletPortrait: I,
|
|
40
|
+
horizontalMargin: M,
|
|
41
|
+
horizontalPadding: A,
|
|
42
|
+
horizontallyCenterThis: j,
|
|
43
|
+
horizontallyCentreThis: D,
|
|
44
|
+
inheritFormSpacing: G,
|
|
45
|
+
isClickable: H,
|
|
46
|
+
isFullHeight: K,
|
|
47
|
+
isFullWidth: V,
|
|
48
|
+
layoutAsFlexbox: W,
|
|
40
49
|
layoutAsGrid: _,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
marginLeft:
|
|
44
|
-
marginBottom:
|
|
45
|
-
margin:
|
|
46
|
-
marginRight:
|
|
47
|
-
marginTop:
|
|
48
|
-
opacity:
|
|
49
|
-
paddingBottom:
|
|
50
|
-
paddingLeft:
|
|
51
|
-
padding:
|
|
52
|
-
paddingRight:
|
|
53
|
-
paddingTop:
|
|
54
|
-
pushItemsToEnds:
|
|
55
|
-
shadow:
|
|
56
|
-
shape:
|
|
57
|
-
showOnlyOnDesktop:
|
|
58
|
-
showOnlyOnMobile:
|
|
59
|
-
showOnlyOnTabletLandscape:
|
|
60
|
-
showOnlyOnTabletPortrait:
|
|
61
|
-
size:
|
|
62
|
-
strokeColor:
|
|
63
|
-
strokeColour:
|
|
64
|
-
textColor:
|
|
65
|
-
textColour:
|
|
66
|
-
verticalMargin:
|
|
67
|
-
verticalPadding:
|
|
68
|
-
verticallyCenterItems:
|
|
69
|
-
verticallyCentreItems:
|
|
70
|
-
weight:
|
|
71
|
-
style:
|
|
72
|
-
...
|
|
73
|
-
} =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
50
|
+
listVertically: q,
|
|
51
|
+
listHorizontally: J,
|
|
52
|
+
marginLeft: Q,
|
|
53
|
+
marginBottom: U,
|
|
54
|
+
margin: X,
|
|
55
|
+
marginRight: Y,
|
|
56
|
+
marginTop: Z,
|
|
57
|
+
opacity: m,
|
|
58
|
+
paddingBottom: tt,
|
|
59
|
+
paddingLeft: it,
|
|
60
|
+
padding: ot,
|
|
61
|
+
paddingRight: at,
|
|
62
|
+
paddingTop: et,
|
|
63
|
+
pushItemsToEnds: nt,
|
|
64
|
+
shadow: h,
|
|
65
|
+
shape: c,
|
|
66
|
+
showOnlyOnDesktop: lt,
|
|
67
|
+
showOnlyOnMobile: rt,
|
|
68
|
+
showOnlyOnTabletLandscape: dt,
|
|
69
|
+
showOnlyOnTabletPortrait: st,
|
|
70
|
+
size: y,
|
|
71
|
+
strokeColor: b,
|
|
72
|
+
strokeColour: $,
|
|
73
|
+
textColor: f,
|
|
74
|
+
textColour: u,
|
|
75
|
+
verticalMargin: gt,
|
|
76
|
+
verticalPadding: pt,
|
|
77
|
+
verticallyCenterItems: mt,
|
|
78
|
+
verticallyCentreItems: ht,
|
|
79
|
+
weight: C,
|
|
80
|
+
style: ct,
|
|
81
|
+
...yt
|
|
82
|
+
} = L, O = [], T = {}, i = (t, bt, $t) => {
|
|
83
|
+
t && (wt(t) ? O.push(bt(t)) : $t.forEach((ft) => {
|
|
84
|
+
T[ft] = t;
|
|
85
|
+
}));
|
|
77
86
|
};
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
i(B, (t) => `gap-${t}`, ["gap"]), i(X, (t) => `margin-all-${t}`, ["margin"]), i(Z, (t) => `margin-top-${t}`, ["marginTop"]), i(Y, (t) => `margin-right-${t}`, ["marginRight"]), i(U, (t) => `margin-bottom-${t}`, ["marginBottom"]), i(Q, (t) => `margin-left-${t}`, ["marginLeft"]), i(M, (t) => `margin-right-${t} margin-left-${t}`, ["marginLeft", "marginRight"]), i(gt, (t) => `margin-top-${t} margin-bottom-${t}`, ["marginTop", "marginBottom"]), i(ot, (t) => `padding-all-${t}`, ["padding"]), i(et, (t) => `padding-top-${t}`, ["paddingTop"]), i(at, (t) => `padding-right-${t}`, ["paddingRight"]), i(tt, (t) => `padding-bottom-${t}`, ["paddingBottom"]), i(it, (t) => `padding-left-${t}`, ["paddingLeft"]), i(A, (t) => `padding-right-${t} padding-left-${t}`, ["paddingLeft", "paddingRight"]), i(pt, (t) => `padding-top-${t} padding-bottom-${t}`, ["paddingTop", "paddingBottom"]);
|
|
88
|
+
const w = {
|
|
89
|
+
...ct,
|
|
90
|
+
...l && { "--bg-opacity": Number(l) / 100 },
|
|
91
|
+
...s && { "--border-opacity": Number(s) / 100 },
|
|
92
|
+
...a && { gridTemplateColumns: `repeat(${a}, 1fr)` },
|
|
93
|
+
...T
|
|
94
|
+
};
|
|
95
|
+
return /* @__PURE__ */ ut(
|
|
96
|
+
o,
|
|
80
97
|
{
|
|
81
|
-
ref:
|
|
82
|
-
role:
|
|
83
|
-
"aria-label":
|
|
84
|
-
tabIndex:
|
|
85
|
-
onKeyDown:
|
|
86
|
-
...
|
|
87
|
-
"data-form-spaced":
|
|
88
|
-
style: Object.keys(
|
|
89
|
-
className:
|
|
98
|
+
ref: R,
|
|
99
|
+
role: k,
|
|
100
|
+
"aria-label": x,
|
|
101
|
+
tabIndex: z,
|
|
102
|
+
onKeyDown: N,
|
|
103
|
+
...yt,
|
|
104
|
+
"data-form-spaced": G || void 0,
|
|
105
|
+
style: Object.keys(w).length > 0 ? w : void 0,
|
|
106
|
+
className: Ot(
|
|
90
107
|
[
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
108
|
+
v,
|
|
109
|
+
e && `bg-${e}`,
|
|
110
|
+
n && `bg-${n}`,
|
|
111
|
+
r && `border-${r}`,
|
|
112
|
+
d && `border-${d}`,
|
|
96
113
|
g && `fill-${g}`,
|
|
97
114
|
p && `fill-${p}`,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
K && "
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
h && `
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
at && "show-only-on-desktop",
|
|
129
|
-
it && "show-only-on-mobile",
|
|
130
|
-
lt && "show-only-on-tablet-landscape",
|
|
131
|
-
rt && "show-only-on-tablet-portrait",
|
|
132
|
-
z && `size-${z}`,
|
|
133
|
-
T && `stroke-${T}`,
|
|
134
|
-
N && `stroke-${N}`,
|
|
135
|
-
P && `text-${P}`,
|
|
136
|
-
F && `text-${F}`,
|
|
137
|
-
e && `margin-top-${e} margin-bottom-${e}`,
|
|
138
|
-
a && `padding-top-${a} padding-bottom-${a}`,
|
|
139
|
-
nt && "vertically-centre-items",
|
|
140
|
-
st && "vertically-centre-items",
|
|
141
|
-
L && `weight-${L}`
|
|
142
|
-
].concat(H)
|
|
115
|
+
P && "hide-on-desktop",
|
|
116
|
+
E && "hide-on-mobile",
|
|
117
|
+
F && "hide-on-tablet-landscape",
|
|
118
|
+
I && "hide-on-tablet-portrait",
|
|
119
|
+
j && "horizontally-centre-this",
|
|
120
|
+
D && "horizontally-centre-this",
|
|
121
|
+
H && "is-clickable",
|
|
122
|
+
K && "full-height",
|
|
123
|
+
V && "full-width",
|
|
124
|
+
W && "layout-flexbox",
|
|
125
|
+
(_ || a) && "layout-grid",
|
|
126
|
+
q && "list-vertically",
|
|
127
|
+
J && "list-horizontally",
|
|
128
|
+
m && `opacity-${m}`,
|
|
129
|
+
nt && "push-to-ends",
|
|
130
|
+
h && `shadow-${h}`,
|
|
131
|
+
c && `shape-${c}`,
|
|
132
|
+
lt && "show-only-on-desktop",
|
|
133
|
+
rt && "show-only-on-mobile",
|
|
134
|
+
dt && "show-only-on-tablet-landscape",
|
|
135
|
+
st && "show-only-on-tablet-portrait",
|
|
136
|
+
y && `size-${y}`,
|
|
137
|
+
b && `stroke-${b}`,
|
|
138
|
+
$ && `stroke-${$}`,
|
|
139
|
+
f && `text-${f}`,
|
|
140
|
+
u && `text-${u}`,
|
|
141
|
+
mt && "vertically-centre-items",
|
|
142
|
+
ht && "vertically-centre-items",
|
|
143
|
+
C && `weight-${C}`
|
|
144
|
+
].concat(O, S)
|
|
143
145
|
)
|
|
144
146
|
}
|
|
145
147
|
);
|
|
146
148
|
}
|
|
147
149
|
);
|
|
148
|
-
|
|
150
|
+
kt.displayName = "Element";
|
|
149
151
|
export {
|
|
150
|
-
|
|
152
|
+
kt as Element
|
|
151
153
|
};
|
|
152
154
|
//# sourceMappingURL=Element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Element.js","sources":["../../../src/components/Element/Element.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// UTILS ===============================================================================================================\nimport { createClassName } from \"$utils/classNames\";\n\n// OTHER ===============================================================================================================\nimport { ElementProps } from \"./constants\";\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Internally typed against HTMLElement (the underlying forwardRef call can\n// only carry one ref type). The exported cast below re-types `Element` as a\n// generic component so `<Element<HTMLButtonElement>>` actually flows a button-\n// typed ref through to consumers — `forwardRef` strips the generic K from the\n// outer signature without this cast.\nexport const Element = React.forwardRef(\n <K extends HTMLElement>(\n {\n as : Component = \"div\",\n role,\n ariaLabel,\n tabIndex,\n onKeyDown,\n ...props\n }: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : (event: React.KeyboardEvent) => void;\n }, ref: React.Ref<HTMLElement>\n ) => {\n const {\n classNames = [],\n bgColor,\n bgColour,\n bgOpacity,\n borderColor,\n borderColour,\n borderOpacity,\n className,\n columns,\n fillColor,\n fillColour,\n gap,\n hideOnDesktop,\n hideOnMobile,\n hideOnTabletLandscape,\n hideOnTabletPortrait,\n horizontalMargin,\n horizontalPadding,\n horizontallyCenterThis,\n horizontallyCentreThis,\n inheritFormSpacing,\n isClickable,\n isFullHeight,\n isFullWidth,\n layoutAsFlexbox,\n layoutAsGrid,\n stackVertically,\n stackHorizontally,\n marginLeft,\n marginBottom,\n margin,\n marginRight,\n marginTop,\n opacity,\n paddingBottom,\n paddingLeft,\n padding,\n paddingRight,\n paddingTop,\n pushItemsToEnds,\n shadow,\n shape,\n showOnlyOnDesktop,\n showOnlyOnMobile,\n showOnlyOnTabletLandscape,\n showOnlyOnTabletPortrait,\n size,\n strokeColor,\n strokeColour,\n textColor,\n textColour,\n verticalMargin,\n verticalPadding,\n verticallyCenterItems,\n verticallyCentreItems,\n weight,\n style,\n ...minimalProps\n } = props;\n\n // Build style object with opacity CSS custom properties\n const computedStyle = {\n ...style,\n ...(bgOpacity && { \"--bg-opacity\": Number(bgOpacity) / 100 }),\n ...(borderOpacity && { \"--border-opacity\": Number(borderOpacity) / 100 }),\n } as React.CSSProperties;\n\n return (\n <Component\n ref={ref}\n role={role}\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...minimalProps}\n data-form-spaced={inheritFormSpacing || undefined}\n style={Object.keys(computedStyle).length > 0 ? computedStyle : undefined}\n className={createClassName(\n [\n className,\n bgColor && `bg-${bgColor}`,\n bgColour && `bg-${bgColour}`,\n borderColor && `border-${borderColor}`,\n borderColour && `border-${borderColour}`,\n fillColor && `fill-${fillColor}`,\n fillColour && `fill-${fillColour}`,\n hideOnDesktop && \"hide-on-desktop\",\n hideOnMobile && \"hide-on-mobile\",\n hideOnTabletLandscape && \"hide-on-tablet-landscape\",\n hideOnTabletPortrait && \"hide-on-tablet-portrait\",\n horizontalMargin && `margin-right-${horizontalMargin} margin-left-${horizontalMargin}`,\n horizontalPadding && `padding-right-${horizontalPadding} padding-left-${horizontalPadding}`,\n horizontallyCenterThis && \"horizontally-centre-this\",\n horizontallyCentreThis && \"horizontally-centre-this\",\n isClickable && \"is-clickable\",\n isFullHeight && \"full-height\",\n isFullWidth && \"full-width\",\n layoutAsFlexbox && \"layout-flexbox\",\n layoutAsGrid && \"layout-grid\",\n stackVertically && \"stack-vertically\",\n stackHorizontally && \"stack-horizontally\",\n gap && `gap-${gap}`,\n marginLeft && `margin-left-${marginLeft}`,\n marginBottom && `margin-bottom-${marginBottom}`,\n margin && `margin-all-${margin}`,\n marginRight && `margin-right-${marginRight}`,\n marginTop && `margin-top-${marginTop}`,\n opacity && `opacity-${opacity}`,\n paddingBottom && `padding-bottom-${paddingBottom}`,\n paddingLeft && `padding-left-${paddingLeft}`,\n padding && `padding-all-${padding}`,\n paddingRight && `padding-right-${paddingRight}`,\n paddingTop && `padding-top-${paddingTop}`,\n pushItemsToEnds && \"push-to-ends\",\n shadow && `shadow-${shadow}`,\n shape && `shape-${shape}`,\n showOnlyOnDesktop && \"show-only-on-desktop\",\n showOnlyOnMobile && \"show-only-on-mobile\",\n showOnlyOnTabletLandscape && \"show-only-on-tablet-landscape\",\n showOnlyOnTabletPortrait && \"show-only-on-tablet-portrait\",\n size && `size-${size}`,\n strokeColor && `stroke-${strokeColor}`,\n strokeColour && `stroke-${strokeColour}`,\n textColor && `text-${textColor}`,\n textColour && `text-${textColour}`,\n verticalMargin && `margin-top-${verticalMargin} margin-bottom-${verticalMargin}`,\n verticalPadding && `padding-top-${verticalPadding} padding-bottom-${verticalPadding}`,\n verticallyCenterItems && \"vertically-centre-items\",\n verticallyCentreItems && \"vertically-centre-items\",\n weight && `weight-${weight}`,\n ].concat(classNames),\n )}\n />\n );\n },\n) as <K extends HTMLElement = HTMLElement>(\n props: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : React.KeyboardEventHandler<K>;\n ref ? : React.Ref<K>;\n },\n) => React.ReactElement;\n(Element as any).displayName = \"Element\";\n"],"names":["Element","React","Component","role","ariaLabel","tabIndex","onKeyDown","props","ref","classNames","bgColor","bgColour","bgOpacity","borderColor","borderColour","borderOpacity","className","columns","fillColor","fillColour","gap","hideOnDesktop","hideOnMobile","hideOnTabletLandscape","hideOnTabletPortrait","horizontalMargin","horizontalPadding","horizontallyCenterThis","horizontallyCentreThis","inheritFormSpacing","isClickable","isFullHeight","isFullWidth","layoutAsFlexbox","layoutAsGrid","stackVertically","stackHorizontally","marginLeft","marginBottom","margin","marginRight","marginTop","opacity","paddingBottom","paddingLeft","padding","paddingRight","paddingTop","pushItemsToEnds","shadow","shape","showOnlyOnDesktop","showOnlyOnMobile","showOnlyOnTabletLandscape","showOnlyOnTabletPortrait","size","strokeColor","strokeColour","textColor","textColour","verticalMargin","verticalPadding","verticallyCenterItems","verticallyCentreItems","weight","style","minimalProps","computedStyle","jsx","createClassName"],"mappings":";;;AAeO,MAAMA,KAAUC,GAAM;AAAA,EACzB,CACI;AAAA,IACI,IAAKC,IAAY;AAAA,IACjB,MAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAMJC,MACF;AACD,UAAM;AAAA,MACF,YAAAC,IAAa,CAAA;AAAA,MACb,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,eAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,KAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,QAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,cAAAC;AAAA,MACA,YAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,2BAAAC;AAAA,MACA,0BAAAC;AAAA,MACA,MAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACH3D,GAGE4D,IAAgB;AAAA,MAClB,GAAGF;AAAA,MACH,GAAIrD,KAAa,EAAE,gBAAgB,OAAOA,CAAS,IAAI,IAAA;AAAA,MACvD,GAAIG,KAAiB,EAAE,oBAAoB,OAAOA,CAAa,IAAI,IAAA;AAAA,IAAI;AAG3E,WACI,gBAAAqD;AAAA,MAAClE;AAAA,MAAA;AAAA,QACG,KAAAM;AAAA,QACA,MAAAL;AAAA,QACA,cAAYC;AAAA,QACZ,UAAAC;AAAA,QACA,WAAAC;AAAA,QACC,GAAG4D;AAAA,QACJ,oBAAkBrC,KAAsB;AAAA,QACxC,OAAO,OAAO,KAAKsC,CAAa,EAAE,SAAS,IAAIA,IAAgB;AAAA,QAC/D,WAAWE;AAAA,UACP;AAAA,YACIrD;AAAA,YACAN,KAAW,MAAMA,CAAO;AAAA,YACxBC,KAAY,MAAMA,CAAQ;AAAA,YAC1BE,KAAe,UAAUA,CAAW;AAAA,YACpCC,KAAgB,UAAUA,CAAY;AAAA,YACtCI,KAAa,QAAQA,CAAS;AAAA,YAC9BC,KAAc,QAAQA,CAAU;AAAA,YAChCE,KAAiB;AAAA,YACjBC,KAAgB;AAAA,YAChBC,KAAyB;AAAA,YACzBC,KAAwB;AAAA,YACxBC,KAAoB,gBAAgBA,CAAgB,gBAAgBA,CAAgB;AAAA,YACpFC,KAAqB,iBAAiBA,CAAiB,iBAAiBA,CAAiB;AAAA,YACzFC,KAA0B;AAAA,YAC1BC,KAA0B;AAAA,YAC1BE,KAAe;AAAA,YACfC,KAAgB;AAAA,YAChBC,KAAe;AAAA,YACfC,KAAmB;AAAA,YACnBC,KAAgB;AAAA,YAChBC,MAAmB;AAAA,YACnBC,MAAqB;AAAA,YACrBhB,KAAO,OAAOA,CAAG;AAAA,YACjBiB,KAAc,eAAeA,CAAU;AAAA,YACvCC,KAAgB,iBAAiBA,CAAY;AAAA,YAC7CC,KAAU,cAAcA,CAAM;AAAA,YAC9BC,KAAe,gBAAgBA,CAAW;AAAA,YAC1CC,KAAa,cAAcA,CAAS;AAAA,YACpCC,KAAW,WAAWA,CAAO;AAAA,YAC7BC,KAAiB,kBAAkBA,CAAa;AAAA,YAChDC,KAAe,gBAAgBA,CAAW;AAAA,YAC1CC,KAAW,eAAeA,CAAO;AAAA,YACjCC,KAAgB,iBAAiBA,CAAY;AAAA,YAC7CC,KAAc,eAAeA,CAAU;AAAA,YACvCC,MAAmB;AAAA,YACnBC,KAAU,UAAUA,CAAM;AAAA,YAC1BC,KAAS,SAASA,CAAK;AAAA,YACvBC,MAAqB;AAAA,YACrBC,MAAoB;AAAA,YACpBC,MAA6B;AAAA,YAC7BC,MAA4B;AAAA,YAC5BC,KAAQ,QAAQA,CAAI;AAAA,YACpBC,KAAe,UAAUA,CAAW;AAAA,YACpCC,KAAgB,UAAUA,CAAY;AAAA,YACtCC,KAAa,QAAQA,CAAS;AAAA,YAC9BC,KAAc,QAAQA,CAAU;AAAA,YAChCC,KAAkB,cAAcA,CAAc,kBAAkBA,CAAc;AAAA,YAC9EC,KAAmB,eAAeA,CAAe,mBAAmBA,CAAe;AAAA,YACnFC,MAAyB;AAAA,YACzBC,MAAyB;AAAA,YACzBC,KAAU,UAAUA,CAAM;AAAA,UAAA,EAC5B,OAAOvD,CAAU;AAAA,QAAA;AAAA,MACvB;AAAA,IAAA;AAAA,EAGZ;AACJ;AASCT,GAAgB,cAAc;"}
|
|
1
|
+
{"version":3,"file":"Element.js","sources":["../../../src/components/Element/Element.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// UTILS ===============================================================================================================\nimport { createClassName } from \"$utils/classNames\";\n\n// OTHER ===============================================================================================================\nimport { ElementProps } from \"./constants\";\n\n// Spacing props accept a scale token OR an arbitrary CSS length. Tokens map to a\n// utility class (stays in @layer fictoan, overridable); anything else is treated\n// as a raw length and applied via inline style.\nconst SPACING_TOKENS = new Set<string>([\n \"none\", \"nano\", \"micro\", \"tiny\", \"small\", \"medium\", \"large\", \"huge\",\n]);\nconst isSpacingToken = (value: string): boolean => SPACING_TOKENS.has(value);\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Internally typed against HTMLElement (the underlying forwardRef call can\n// only carry one ref type). The exported cast below re-types `Element` as a\n// generic component so `<Element<HTMLButtonElement>>` actually flows a button-\n// typed ref through to consumers — `forwardRef` strips the generic K from the\n// outer signature without this cast.\nexport const Element = React.forwardRef(\n <K extends HTMLElement>(\n {\n as : Component = \"div\",\n role,\n ariaLabel,\n tabIndex,\n onKeyDown,\n ...props\n }: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : (event: React.KeyboardEvent) => void;\n }, ref: React.Ref<HTMLElement>\n ) => {\n const {\n classNames = [],\n bgColor,\n bgColour,\n bgOpacity,\n borderColor,\n borderColour,\n borderOpacity,\n className,\n columns,\n fillColor,\n fillColour,\n gap,\n hideOnDesktop,\n hideOnMobile,\n hideOnTabletLandscape,\n hideOnTabletPortrait,\n horizontalMargin,\n horizontalPadding,\n horizontallyCenterThis,\n horizontallyCentreThis,\n inheritFormSpacing,\n isClickable,\n isFullHeight,\n isFullWidth,\n layoutAsFlexbox,\n layoutAsGrid,\n listVertically,\n listHorizontally,\n marginLeft,\n marginBottom,\n margin,\n marginRight,\n marginTop,\n opacity,\n paddingBottom,\n paddingLeft,\n padding,\n paddingRight,\n paddingTop,\n pushItemsToEnds,\n shadow,\n shape,\n showOnlyOnDesktop,\n showOnlyOnMobile,\n showOnlyOnTabletLandscape,\n showOnlyOnTabletPortrait,\n size,\n strokeColor,\n strokeColour,\n textColor,\n textColour,\n verticalMargin,\n verticalPadding,\n verticallyCenterItems,\n verticallyCentreItems,\n weight,\n style,\n ...minimalProps\n } = props;\n\n // Spacing props: a scale token emits a utility class; any other string is\n // treated as a raw CSS length and applied via inline style.\n const spacingClasses: string[] = [];\n const spacingStyle: Record<string, string> = {};\n const applySpacing = (\n value : string | undefined,\n tokenClass : (token: string) => string,\n cssProps : string[],\n ) => {\n if (!value) return;\n if (isSpacingToken(value)) {\n spacingClasses.push(tokenClass(value));\n } else {\n cssProps.forEach((prop) => { spacingStyle[prop] = value; });\n }\n };\n\n applySpacing(gap, (t) => `gap-${t}`, [\"gap\"]);\n applySpacing(margin, (t) => `margin-all-${t}`, [\"margin\"]);\n applySpacing(marginTop, (t) => `margin-top-${t}`, [\"marginTop\"]);\n applySpacing(marginRight, (t) => `margin-right-${t}`, [\"marginRight\"]);\n applySpacing(marginBottom, (t) => `margin-bottom-${t}`, [\"marginBottom\"]);\n applySpacing(marginLeft, (t) => `margin-left-${t}`, [\"marginLeft\"]);\n applySpacing(horizontalMargin, (t) => `margin-right-${t} margin-left-${t}`, [\"marginLeft\", \"marginRight\"]);\n applySpacing(verticalMargin, (t) => `margin-top-${t} margin-bottom-${t}`, [\"marginTop\", \"marginBottom\"]);\n applySpacing(padding, (t) => `padding-all-${t}`, [\"padding\"]);\n applySpacing(paddingTop, (t) => `padding-top-${t}`, [\"paddingTop\"]);\n applySpacing(paddingRight, (t) => `padding-right-${t}`, [\"paddingRight\"]);\n applySpacing(paddingBottom, (t) => `padding-bottom-${t}`, [\"paddingBottom\"]);\n applySpacing(paddingLeft, (t) => `padding-left-${t}`, [\"paddingLeft\"]);\n applySpacing(horizontalPadding, (t) => `padding-right-${t} padding-left-${t}`, [\"paddingLeft\", \"paddingRight\"]);\n applySpacing(verticalPadding, (t) => `padding-top-${t} padding-bottom-${t}`, [\"paddingTop\", \"paddingBottom\"]);\n\n // Build style object: user style + opacity custom properties + arbitrary spacing\n const computedStyle = {\n ...style,\n ...(bgOpacity && { \"--bg-opacity\": Number(bgOpacity) / 100 }),\n ...(borderOpacity && { \"--border-opacity\": Number(borderOpacity) / 100 }),\n ...(columns && { gridTemplateColumns: `repeat(${columns}, 1fr)` }),\n ...spacingStyle,\n } as React.CSSProperties;\n\n return (\n <Component\n ref={ref}\n role={role}\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...minimalProps}\n data-form-spaced={inheritFormSpacing || undefined}\n style={Object.keys(computedStyle).length > 0 ? computedStyle : undefined}\n className={createClassName(\n [\n className,\n bgColor && `bg-${bgColor}`,\n bgColour && `bg-${bgColour}`,\n borderColor && `border-${borderColor}`,\n borderColour && `border-${borderColour}`,\n fillColor && `fill-${fillColor}`,\n fillColour && `fill-${fillColour}`,\n hideOnDesktop && \"hide-on-desktop\",\n hideOnMobile && \"hide-on-mobile\",\n hideOnTabletLandscape && \"hide-on-tablet-landscape\",\n hideOnTabletPortrait && \"hide-on-tablet-portrait\",\n horizontallyCenterThis && \"horizontally-centre-this\",\n horizontallyCentreThis && \"horizontally-centre-this\",\n isClickable && \"is-clickable\",\n isFullHeight && \"full-height\",\n isFullWidth && \"full-width\",\n layoutAsFlexbox && \"layout-flexbox\",\n (layoutAsGrid || columns) && \"layout-grid\",\n listVertically && \"list-vertically\",\n listHorizontally && \"list-horizontally\",\n opacity && `opacity-${opacity}`,\n pushItemsToEnds && \"push-to-ends\",\n shadow && `shadow-${shadow}`,\n shape && `shape-${shape}`,\n showOnlyOnDesktop && \"show-only-on-desktop\",\n showOnlyOnMobile && \"show-only-on-mobile\",\n showOnlyOnTabletLandscape && \"show-only-on-tablet-landscape\",\n showOnlyOnTabletPortrait && \"show-only-on-tablet-portrait\",\n size && `size-${size}`,\n strokeColor && `stroke-${strokeColor}`,\n strokeColour && `stroke-${strokeColour}`,\n textColor && `text-${textColor}`,\n textColour && `text-${textColour}`,\n verticallyCenterItems && \"vertically-centre-items\",\n verticallyCentreItems && \"vertically-centre-items\",\n weight && `weight-${weight}`,\n ].concat(spacingClasses, classNames),\n )}\n />\n );\n },\n) as <K extends HTMLElement = HTMLElement>(\n props: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : React.KeyboardEventHandler<K>;\n ref ? : React.Ref<K>;\n },\n) => React.ReactElement;\n(Element as any).displayName = \"Element\";\n"],"names":["SPACING_TOKENS","isSpacingToken","value","Element","React","Component","role","ariaLabel","tabIndex","onKeyDown","props","ref","classNames","bgColor","bgColour","bgOpacity","borderColor","borderColour","borderOpacity","className","columns","fillColor","fillColour","gap","hideOnDesktop","hideOnMobile","hideOnTabletLandscape","hideOnTabletPortrait","horizontalMargin","horizontalPadding","horizontallyCenterThis","horizontallyCentreThis","inheritFormSpacing","isClickable","isFullHeight","isFullWidth","layoutAsFlexbox","layoutAsGrid","listVertically","listHorizontally","marginLeft","marginBottom","margin","marginRight","marginTop","opacity","paddingBottom","paddingLeft","padding","paddingRight","paddingTop","pushItemsToEnds","shadow","shape","showOnlyOnDesktop","showOnlyOnMobile","showOnlyOnTabletLandscape","showOnlyOnTabletPortrait","size","strokeColor","strokeColour","textColor","textColour","verticalMargin","verticalPadding","verticallyCenterItems","verticallyCentreItems","weight","style","minimalProps","spacingClasses","spacingStyle","applySpacing","tokenClass","cssProps","prop","computedStyle","jsx","createClassName"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementType,
|
|
1
|
+
import { ElementType, HTMLProps } from 'react';
|
|
2
2
|
import { OklchColourName } from '../../styles/colours';
|
|
3
3
|
|
|
4
4
|
export declare const BasicColours: readonly ["transparent", "black", "white"];
|
|
@@ -10,6 +10,7 @@ type OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;
|
|
|
10
10
|
type CustomColours = "hue" | "tint" | "shade" | "analogue" | "accent";
|
|
11
11
|
export type EmphasisTypes = "primary" | "secondary" | "tertiary" | "custom";
|
|
12
12
|
export type SpacingTypes = "none" | "nano" | "micro" | "tiny" | "small" | "medium" | "large" | "huge";
|
|
13
|
+
export type SpacingOrLength = SpacingTypes | (string & {});
|
|
13
14
|
export type ShadowTypes = "none" | "mild" | "hard" | "soft";
|
|
14
15
|
export type ShapeTypes = "rounded" | "curved";
|
|
15
16
|
export type OpacityTypes = "0" | "5" | "10" | "20" | "30" | "40" | "50" | "60" | "70" | "80" | "90";
|
|
@@ -33,25 +34,25 @@ export interface CommonProps {
|
|
|
33
34
|
shape?: ShapeTypes;
|
|
34
35
|
opacity?: OpacityTypes;
|
|
35
36
|
layoutAsFlexbox?: boolean;
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
listVertically?: boolean;
|
|
38
|
+
listHorizontally?: boolean;
|
|
38
39
|
layoutAsGrid?: boolean;
|
|
39
|
-
columns?:
|
|
40
|
-
gap?:
|
|
41
|
-
margin?:
|
|
42
|
-
horizontalMargin?:
|
|
43
|
-
verticalMargin?:
|
|
44
|
-
marginTop?:
|
|
45
|
-
marginRight?:
|
|
46
|
-
marginBottom?:
|
|
47
|
-
marginLeft?:
|
|
48
|
-
padding?:
|
|
49
|
-
horizontalPadding?:
|
|
50
|
-
verticalPadding?:
|
|
51
|
-
paddingTop?:
|
|
52
|
-
paddingRight?:
|
|
53
|
-
paddingBottom?:
|
|
54
|
-
paddingLeft?:
|
|
40
|
+
columns?: number;
|
|
41
|
+
gap?: SpacingOrLength;
|
|
42
|
+
margin?: SpacingOrLength;
|
|
43
|
+
horizontalMargin?: SpacingOrLength;
|
|
44
|
+
verticalMargin?: SpacingOrLength;
|
|
45
|
+
marginTop?: SpacingOrLength;
|
|
46
|
+
marginRight?: SpacingOrLength;
|
|
47
|
+
marginBottom?: SpacingOrLength;
|
|
48
|
+
marginLeft?: SpacingOrLength;
|
|
49
|
+
padding?: SpacingOrLength;
|
|
50
|
+
horizontalPadding?: SpacingOrLength;
|
|
51
|
+
verticalPadding?: SpacingOrLength;
|
|
52
|
+
paddingTop?: SpacingOrLength;
|
|
53
|
+
paddingRight?: SpacingOrLength;
|
|
54
|
+
paddingBottom?: SpacingOrLength;
|
|
55
|
+
paddingLeft?: SpacingOrLength;
|
|
55
56
|
horizontallyCentreThis?: boolean;
|
|
56
57
|
horizontallyCenterThis?: boolean;
|
|
57
58
|
verticallyCentreItems?: boolean;
|
|
@@ -74,12 +75,11 @@ export interface CommonProps {
|
|
|
74
75
|
}
|
|
75
76
|
export interface CommonAndHTMLProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, "as" | "size" | "ref" | "shape"> {
|
|
76
77
|
}
|
|
77
|
-
export type FlexibleEventHandler<T, V =
|
|
78
|
+
export type FlexibleEventHandler<T, V = unknown> = ((event: T) => void) | ((value: V) => void);
|
|
78
79
|
export interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, "as" | "ref" | "shape"> {
|
|
79
80
|
as?: ElementType;
|
|
80
81
|
className?: string;
|
|
81
82
|
ariaLabel?: string;
|
|
82
|
-
onChange?: FlexibleEventHandler<FormEvent<T>, any>;
|
|
83
83
|
}
|
|
84
84
|
export {};
|
|
85
85
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Element/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Element/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/components/Element/constants.ts"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport { ElementType,
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/components/Element/constants.ts"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport { ElementType, HTMLProps } from \"react\";\n\n// STYLES ==============================================================================================================\nimport { oklchColourDefinitions, type OklchColourName } from \"../../styles/colours\";\n\n// Basic colours without hue/chroma (not part of OKLCH definitions)\nexport const BasicColours = [ \"transparent\", \"black\", \"white\" ] as const;\ntype BasicColoursType = typeof BasicColours[number];\n\n// Combined list of all available colours\nexport const FictoanColours = [ ...Object.keys(oklchColourDefinitions), ...BasicColours ] as const;\n\ntype Luminance = \"dark\" | \"light\";\ntype ShadeLevel = 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype CustomColours = \"hue\" | \"tint\" | \"shade\" | \"analogue\" | \"accent\";\n\n// prettier-ignore\nexport type EmphasisTypes = \"primary\" | \"secondary\" | \"tertiary\" | \"custom\";\nexport type SpacingTypes = \"none\" | \"nano\" | \"micro\" | \"tiny\" | \"small\" | \"medium\" | \"large\" | \"huge\";\n// A spacing prop accepts a scale token (preferred — emits a utility class) OR any CSS\n// length string (e.g. \"4px\", \"20vw\", \"calc(100% - 8px)\") which is applied via inline style.\n// The `& {}` keeps autocomplete suggesting the tokens while still allowing any string.\nexport type SpacingOrLength = SpacingTypes | (string & {});\nexport type ShadowTypes = \"none\" | \"mild\" | \"hard\" | \"soft\";\nexport type ShapeTypes = \"rounded\" | \"curved\";\nexport type OpacityTypes = \"0\" | \"5\" | \"10\" | \"20\" | \"30\" | \"40\" | \"50\" | \"60\" | \"70\" | \"80\" | \"90\";\nexport type WeightTypes = \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\nexport type ButtonVariantTypes = \"success\" | \"warning\" | \"danger\";\n\nexport type ColourPropTypes =\n | `${OklchColourName}-${Luminance}${ShadeLevel}`\n | `${OklchColourName}-${Luminance}${ShadeLevel}-opacity${OpacityLevel}`\n | `${OklchColourName}-opacity${OpacityLevel}`\n | `${BasicColoursType}-opacity${OpacityLevel}`\n | OklchColourName\n | BasicColoursType\n | CustomColours\n | \"\";\n\nexport interface CommonProps {\n bgColor ? : ColourPropTypes;\n bgColour ? : ColourPropTypes;\n bgOpacity ? : OpacityTypes;\n textColor ? : ColourPropTypes;\n textColour ? : ColourPropTypes;\n borderColor ? : ColourPropTypes;\n borderColour ? : ColourPropTypes;\n borderOpacity ? : OpacityTypes;\n fillColor ? : ColourPropTypes;\n fillColour ? : ColourPropTypes;\n strokeColor ? : ColourPropTypes;\n strokeColour ? : ColourPropTypes;\n shadow ? : ShadowTypes;\n shape ? : ShapeTypes;\n opacity ? : OpacityTypes;\n // Flexbox -----------------------------------------------------------------\n layoutAsFlexbox ? : boolean;\n listVertically ? : boolean;\n listHorizontally ? : boolean;\n // Grid --------------------------------------------------------------------\n layoutAsGrid ? : boolean;\n columns ? : number;\n // Common ------------------------------------------------------------------\n gap ? : SpacingOrLength;\n // Margin ------------------------------------------------------------------\n margin ? : SpacingOrLength;\n horizontalMargin ? : SpacingOrLength;\n verticalMargin ? : SpacingOrLength;\n marginTop ? : SpacingOrLength;\n marginRight ? : SpacingOrLength;\n marginBottom ? : SpacingOrLength;\n marginLeft ? : SpacingOrLength;\n // Padding -----------------------------------------------------------------\n padding ? : SpacingOrLength;\n horizontalPadding ? : SpacingOrLength;\n verticalPadding ? : SpacingOrLength;\n paddingTop ? : SpacingOrLength;\n paddingRight ? : SpacingOrLength;\n paddingBottom ? : SpacingOrLength;\n paddingLeft ? : SpacingOrLength;\n horizontallyCentreThis ? : boolean;\n horizontallyCenterThis ? : boolean;\n verticallyCentreItems ? : boolean;\n verticallyCenterItems ? : boolean;\n pushItemsToEnds ? : boolean;\n isClickable ? : boolean;\n isFullWidth ? : boolean;\n isFullHeight ? : boolean;\n inheritFormSpacing ? : boolean;\n hideOnMobile ? : boolean;\n showOnlyOnMobile ? : boolean;\n hideOnTabletPortrait ? : boolean;\n showOnlyOnTabletPortrait ? : boolean;\n hideOnTabletLandscape ? : boolean;\n showOnlyOnTabletLandscape ? : boolean;\n hideOnDesktop ? : boolean;\n showOnlyOnDesktop ? : boolean;\n weight ? : WeightTypes;\n classNames ? : string[];\n}\n\nexport interface CommonAndHTMLProps<T extends {}>\n extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"size\" | \"ref\" | \"shape\"> {}\n\n// Fictoan has two different types of event handlers, one for standard events and one for direct values\n// This generic event handler type is a union of the two\nexport type FlexibleEventHandler<T, V = unknown> =\n | ((event : T) => void)\n | ((value : V) => void);\n\nexport interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"ref\" | \"shape\"> {\n as ? : ElementType;\n className ? : string;\n ariaLabel ? : string;\n}\n"],"names":["BasicColours","FictoanColours","oklchColourDefinitions"],"mappings":";AAOO,MAAMA,IAAe,CAAE,eAAe,SAAS,OAAQ,GAIjDC,IAAiB,CAAE,GAAG,OAAO,KAAKC,CAAsB,GAAG,GAAGF,CAAa;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,cAAc,CAAC;AAItB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG;IAC9C,EAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,IAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,OAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,cAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAe,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,QAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,SAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,UAAe,CAAC,EAAG,OAAO,CAAC;CAC9B,CAAC;AAGF,eAAO,MAAM,MAAM;SAdI,MAAM;WACN,MAAM;cACN,OAAO;qBACP,OAAO;eACP,OAAO;eACP,OAAO;eACP,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI;WAC3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;eACtC,MAAM;gBACN,MAAM;iBACN,OAAO;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,cAAc,CAAC;AAItB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG;IAC9C,EAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,IAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,OAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,cAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAe,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,QAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,SAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,UAAe,CAAC,EAAG,OAAO,CAAC;CAC9B,CAAC;AAGF,eAAO,MAAM,MAAM;SAdI,MAAM;WACN,MAAM;cACN,OAAO;qBACP,OAAO;eACP,OAAO;eACP,OAAO;eACP,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI;WAC3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;eACtC,MAAM;gBACN,MAAM;iBACN,OAAO;0CA2E7B,CAAC"}
|
|
@@ -9,27 +9,27 @@ const E = p.forwardRef(
|
|
|
9
9
|
({
|
|
10
10
|
id: t,
|
|
11
11
|
name: s,
|
|
12
|
-
label:
|
|
13
|
-
hideLabel:
|
|
12
|
+
label: l,
|
|
13
|
+
hideLabel: f,
|
|
14
14
|
helpText: c,
|
|
15
15
|
errorText: e,
|
|
16
16
|
onChange: o,
|
|
17
17
|
checked: h,
|
|
18
|
-
defaultChecked:
|
|
19
|
-
disabled:
|
|
18
|
+
defaultChecked: w,
|
|
19
|
+
disabled: u,
|
|
20
20
|
required: a,
|
|
21
21
|
size: m = "medium",
|
|
22
22
|
labelFirst: i,
|
|
23
|
-
...
|
|
23
|
+
...v
|
|
24
24
|
}, I) => {
|
|
25
25
|
const y = S(() => s || t, [s, t]), b = (B) => {
|
|
26
26
|
o == null || o(B.target.checked);
|
|
27
|
-
}, { wrapperProps: N, inputProps: P } = $(
|
|
27
|
+
}, { wrapperProps: N, inputProps: P } = $(v), j = p.useId(), r = t || `switch-${j.replace(/:/g, "")}`, { describedBy: k } = x(r, c, e);
|
|
28
28
|
return /* @__PURE__ */ R(
|
|
29
29
|
A,
|
|
30
30
|
{
|
|
31
|
-
label:
|
|
32
|
-
hideLabel:
|
|
31
|
+
label: l,
|
|
32
|
+
hideLabel: f,
|
|
33
33
|
htmlFor: r,
|
|
34
34
|
helpText: c,
|
|
35
35
|
errorText: e,
|
|
@@ -43,12 +43,13 @@ const E = p.forwardRef(
|
|
|
43
43
|
{
|
|
44
44
|
as: "input",
|
|
45
45
|
type: "checkbox",
|
|
46
|
+
role: "switch",
|
|
46
47
|
ref: I,
|
|
47
48
|
id: r,
|
|
48
49
|
name: y,
|
|
49
50
|
checked: h,
|
|
50
|
-
defaultChecked:
|
|
51
|
-
disabled:
|
|
51
|
+
defaultChecked: w,
|
|
52
|
+
disabled: u,
|
|
52
53
|
required: a,
|
|
53
54
|
"aria-invalid": !!e || void 0,
|
|
54
55
|
"aria-required": a,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useMemo } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { Element } from \"$element\";\nimport { SpacingTypes } from \"../../Element/constants\";\n\n// UTILS ===============================================================================================================\nimport { separateWrapperProps } from \"$utils/propSeparation\";\n\n// STYLES ==============================================================================================================\nimport \"./switch.css\";\n\n// OTHER ===============================================================================================================\nimport { FormItem, deriveAriaIds } from \"../FormItem/FormItem\";\nimport { InputLabelCustomProps } from \"../InputLabel/InputLabel\";\n\nexport type SwitchElementType = HTMLInputElement;\nexport type SwitchProps = InputLabelCustomProps & {\n id ? : string;\n name ? : string;\n checked ? : boolean;\n defaultChecked ? : boolean;\n disabled ? : boolean;\n required ? : boolean;\n onChange ? : (checked : boolean) => void;\n size ? : Exclude<SpacingTypes, \"nano\" | \"huge\">;\n helpText ? : string;\n errorText ? : string;\n labelFirst ? : boolean;\n};\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Switch = React.forwardRef(\n (\n {\n id,\n name,\n label,\n hideLabel,\n helpText,\n errorText,\n onChange,\n checked,\n defaultChecked,\n disabled,\n required,\n size = \"medium\",\n labelFirst,\n ...props\n } : SwitchProps,\n ref : React.Ref<SwitchElementType>,\n ) => {\n const derivedName = useMemo(() => name || id, [ name, id ]);\n\n const handleChange = (e : React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n // Separate wrapper-level props (margin, padding, etc.) from input-specific props\n const {wrapperProps, inputProps} = separateWrapperProps(props);\n\n const reactId = React.useId();\n const finalId = id || `switch-${reactId.replace(/:/g, \"\")}`;\n const { describedBy } = deriveAriaIds(finalId, helpText, errorText);\n\n return (\n <FormItem\n label={label}\n hideLabel={hideLabel}\n htmlFor={finalId}\n helpText={helpText}\n errorText={errorText}\n required={required}\n size={size}\n labelFirst={labelFirst}\n {...wrapperProps}\n >\n <Element<SwitchElementType>\n as=\"input\"\n type=\"checkbox\"\n ref={ref}\n id={finalId}\n name={derivedName}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n aria-invalid={Boolean(errorText) || undefined}\n aria-required={required}\n aria-describedby={describedBy}\n onChange={handleChange}\n {...inputProps}\n />\n <Element\n as={labelFirst ? \"label\" : \"div\"}\n htmlFor={labelFirst ? finalId : undefined}\n data-switch\n className={`size-${size}`}\n />\n </FormItem>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n"],"names":["Switch","React","id","name","label","hideLabel","helpText","errorText","onChange","checked","defaultChecked","disabled","required","size","labelFirst","props","ref","derivedName","useMemo","handleChange","e","wrapperProps","inputProps","separateWrapperProps","reactId","finalId","describedBy","deriveAriaIds","jsxs","FormItem","jsx","Element"],"mappings":";;;;;;AAiCO,MAAMA,IAASC,EAAM;AAAA,EACxB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAcC,EAAQ,MAAMf,KAAQD,GAAI,CAAEC,GAAMD,CAAG,CAAC,GAEpDiB,IAAe,CAACC,MAA4C;AAC9D,MAAAZ,KAAA,QAAAA,EAAWY,EAAE,OAAO;AAAA,IACxB,GAGM,EAAC,cAAAC,GAAc,YAAAC,MAAcC,EAAqBR,CAAK,GAEvDS,IAAUvB,EAAM,MAAA,GAChBwB,IAAUvB,KAAM,UAAUsB,EAAQ,QAAQ,MAAM,EAAE,CAAC,IACnD,EAAE,aAAAE,EAAA,IAAgBC,EAAcF,GAASnB,GAAUC,CAAS;AAElE,WACI,gBAAAqB;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAAzB;AAAA,QACA,WAAAC;AAAA,QACA,SAASoB;AAAA,QACT,UAAAnB;AAAA,QACA,WAAAC;AAAA,QACA,UAAAK;AAAA,QACA,MAAAC;AAAA,QACA,YAAAC;AAAA,QACC,GAAGO;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAG;AAAA,cACH,MAAK;AAAA,cACL,KAAAf;AAAA,cACA,IAAIS;AAAA,cACJ,MAAMR;AAAA,cACN,SAAAR;AAAA,cACA,gBAAAC;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,gBAAc,EAAQL,KAAc;AAAA,cACpC,iBAAeK;AAAA,cACf,oBAAkBc;AAAA,cAClB,UAAUP;AAAA,cACT,GAAGG;AAAA,YAAA;AAAA,UAAA;AAAA,UAER,gBAAAQ;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAIjB,IAAa,UAAU;AAAA,cAC3B,SAASA,IAAaW,IAAU;AAAA,cAChC,eAAW;AAAA,cACX,WAAW,QAAQZ,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAb,EAAO,cAAc;"}
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useMemo } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { Element } from \"$element\";\nimport { SpacingTypes } from \"../../Element/constants\";\n\n// UTILS ===============================================================================================================\nimport { separateWrapperProps } from \"$utils/propSeparation\";\n\n// STYLES ==============================================================================================================\nimport \"./switch.css\";\n\n// OTHER ===============================================================================================================\nimport { FormItem, deriveAriaIds } from \"../FormItem/FormItem\";\nimport { InputLabelCustomProps } from \"../InputLabel/InputLabel\";\n\nexport type SwitchElementType = HTMLInputElement;\nexport type SwitchProps = InputLabelCustomProps & {\n id ? : string;\n name ? : string;\n checked ? : boolean;\n defaultChecked ? : boolean;\n disabled ? : boolean;\n required ? : boolean;\n onChange ? : (checked : boolean) => void;\n size ? : Exclude<SpacingTypes, \"nano\" | \"huge\">;\n helpText ? : string;\n errorText ? : string;\n labelFirst ? : boolean;\n};\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Switch = React.forwardRef(\n (\n {\n id,\n name,\n label,\n hideLabel,\n helpText,\n errorText,\n onChange,\n checked,\n defaultChecked,\n disabled,\n required,\n size = \"medium\",\n labelFirst,\n ...props\n } : SwitchProps,\n ref : React.Ref<SwitchElementType>,\n ) => {\n const derivedName = useMemo(() => name || id, [ name, id ]);\n\n const handleChange = (e : React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n // Separate wrapper-level props (margin, padding, etc.) from input-specific props\n const {wrapperProps, inputProps} = separateWrapperProps(props);\n\n const reactId = React.useId();\n const finalId = id || `switch-${reactId.replace(/:/g, \"\")}`;\n const { describedBy } = deriveAriaIds(finalId, helpText, errorText);\n\n return (\n <FormItem\n label={label}\n hideLabel={hideLabel}\n htmlFor={finalId}\n helpText={helpText}\n errorText={errorText}\n required={required}\n size={size}\n labelFirst={labelFirst}\n {...wrapperProps}\n >\n <Element<SwitchElementType>\n as=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n ref={ref}\n id={finalId}\n name={derivedName}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n aria-invalid={Boolean(errorText) || undefined}\n aria-required={required}\n aria-describedby={describedBy}\n onChange={handleChange}\n {...inputProps}\n />\n <Element\n as={labelFirst ? \"label\" : \"div\"}\n htmlFor={labelFirst ? finalId : undefined}\n data-switch\n className={`size-${size}`}\n />\n </FormItem>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n"],"names":["Switch","React","id","name","label","hideLabel","helpText","errorText","onChange","checked","defaultChecked","disabled","required","size","labelFirst","props","ref","derivedName","useMemo","handleChange","e","wrapperProps","inputProps","separateWrapperProps","reactId","finalId","describedBy","deriveAriaIds","jsxs","FormItem","jsx","Element"],"mappings":";;;;;;AAiCO,MAAMA,IAASC,EAAM;AAAA,EACxB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAcC,EAAQ,MAAMf,KAAQD,GAAI,CAAEC,GAAMD,CAAG,CAAC,GAEpDiB,IAAe,CAACC,MAA4C;AAC9D,MAAAZ,KAAA,QAAAA,EAAWY,EAAE,OAAO;AAAA,IACxB,GAGM,EAAC,cAAAC,GAAc,YAAAC,MAAcC,EAAqBR,CAAK,GAEvDS,IAAUvB,EAAM,MAAA,GAChBwB,IAAUvB,KAAM,UAAUsB,EAAQ,QAAQ,MAAM,EAAE,CAAC,IACnD,EAAE,aAAAE,EAAA,IAAgBC,EAAcF,GAASnB,GAAUC,CAAS;AAElE,WACI,gBAAAqB;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAAzB;AAAA,QACA,WAAAC;AAAA,QACA,SAASoB;AAAA,QACT,UAAAnB;AAAA,QACA,WAAAC;AAAA,QACA,UAAAK;AAAA,QACA,MAAAC;AAAA,QACA,YAAAC;AAAA,QACC,GAAGO;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAG;AAAA,cACH,MAAK;AAAA,cACL,MAAK;AAAA,cACL,KAAAf;AAAA,cACA,IAAIS;AAAA,cACJ,MAAMR;AAAA,cACN,SAAAR;AAAA,cACA,gBAAAC;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,gBAAc,EAAQL,KAAc;AAAA,cACpC,iBAAeK;AAAA,cACf,oBAAkBc;AAAA,cAClB,UAAUP;AAAA,cACT,GAAGG;AAAA,YAAA;AAAA,UAAA;AAAA,UAER,gBAAAQ;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAIjB,IAAa,UAAU;AAAA,cAC3B,SAASA,IAAaW,IAAU;AAAA,cAChC,eAAW;AAAA,cACX,WAAW,QAAQZ,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAb,EAAO,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItemGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FormItemGroup/FormItemGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,uBAAuB,CAAC;AAG/B,MAAM,WAAW,wBAAwB;IACrC,OAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,qBAAsB,CAAC,EAAG,KAAK,CAAC,SAAS,CAAC;IAC1C,YAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,MAAsB,CAAC,EAAG,MAAM,CAAC;IACjC,OAAsB,CAAC,EAAG,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,EAAE,MAAM,wBAAwB,CAAC,GAClF,wBAAwB,CAAC;AAG1D,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"FormItemGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FormItemGroup/FormItemGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,uBAAuB,CAAC;AAG/B,MAAM,WAAW,wBAAwB;IACrC,OAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,qBAAsB,CAAC,EAAG,KAAK,CAAC,SAAS,CAAC;IAC1C,YAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,MAAsB,CAAC,EAAG,MAAM,CAAC;IACjC,OAAsB,CAAC,EAAG,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,EAAE,MAAM,wBAAwB,CAAC,GAClF,wBAAwB,CAAC;AAG1D,eAAO,MAAM,aAAa,4KAuDzB,CAAC"}
|