jcicl 1.0.29 → 1.0.31
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/Button/Button.d.ts +1 -1
- package/Button/Button.js +127 -124
- package/CircularIconButton/CircularIconButton.d.ts +1 -0
- package/CircularIconButton/CircularIconButton.js +20 -19
- package/FormContext/createFormContext.d.ts +32 -0
- package/FormContext/createFormContext.js +74 -0
- package/FormContext/index.d.ts +2 -0
- package/FormContext/index.js +5 -0
- package/FormContext/types.d.ts +53 -0
- package/FormContext/types.js +1 -0
- package/Pill/Pill.d.ts +1 -0
- package/Pill/Pill.js +29 -19
- package/SquareIconButton/SquareIconButton.d.ts +1 -0
- package/SquareIconButton/SquareIconButton.js +18 -17
- package/Toast/index.d.ts +1 -0
- package/Toast/index.js +8 -6
- package/Toast/useToast.d.ts +23 -0
- package/Toast/useToast.js +10 -0
- package/index.d.ts +1 -0
- package/index.js +41 -38
- package/package.json +1 -1
package/Button/Button.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonProps as MuiButtonProps } from '@mui/material/Button/Button';
|
|
2
2
|
export interface ButtonProps extends Omit<MuiButtonProps, 'variant' | 'size' | 'color'> {
|
|
3
|
-
variant?: 1 | 2 | 'unstyled' | 'copy' | 'icon' | 'bibi' | 'bibiOutlined' | 'bibiInverse' | 'filter' | 'custom' | 'pill';
|
|
3
|
+
variant?: 1 | 2 | 'unstyled' | 'copy' | 'icon' | 'bibi' | 'bibiOutlined' | 'bibiInverse' | 'filter' | 'custom' | 'pill' | 'form';
|
|
4
4
|
size?: number;
|
|
5
5
|
color?: string;
|
|
6
6
|
highlightColor?: string;
|
package/Button/Button.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as N, jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import * as B from "react";
|
|
3
|
-
import { useState as
|
|
4
|
-
import { g as
|
|
5
|
-
import { m as
|
|
6
|
-
import { c as
|
|
3
|
+
import { useState as J } from "react";
|
|
4
|
+
import { g as K, a as Q, s, r as X, c as p, u as Y, b as j, P as e, d as Z, e as h } from "../.chunks/DefaultPropsProvider.js";
|
|
5
|
+
import { m as oo } from "../.chunks/memoTheme.js";
|
|
6
|
+
import { c as to } from "../.chunks/createSimplePaletteValueFilter.js";
|
|
7
7
|
import { B as k } from "../.chunks/ButtonBase.js";
|
|
8
|
-
import { r as
|
|
9
|
-
import { i as
|
|
8
|
+
import { r as ro } from "../.chunks/resolveProps.js";
|
|
9
|
+
import { i as eo } from "../.chunks/emotion-styled.browser.esm.js";
|
|
10
10
|
import { c as g } from "../.chunks/emotion-react.browser.esm.js";
|
|
11
11
|
import t from "../theme.js";
|
|
12
|
-
import { Tooltip as
|
|
12
|
+
import { Tooltip as no } from "../Tooltip/Tooltip.js";
|
|
13
13
|
import { useThemeColors as ao } from "../ThemeContext.js";
|
|
14
|
-
import { C as
|
|
15
|
-
function
|
|
16
|
-
return
|
|
14
|
+
import { C as io } from "../.chunks/check.js";
|
|
15
|
+
function so(o) {
|
|
16
|
+
return K("MuiButton", o);
|
|
17
17
|
}
|
|
18
|
-
const x =
|
|
19
|
-
process.env.NODE_ENV !== "production" && (
|
|
20
|
-
const
|
|
21
|
-
process.env.NODE_ENV !== "production" && (
|
|
22
|
-
const
|
|
18
|
+
const x = Q("MuiButton", ["root", "text", "textInherit", "textPrimary", "textSecondary", "textSuccess", "textError", "textInfo", "textWarning", "outlined", "outlinedInherit", "outlinedPrimary", "outlinedSecondary", "outlinedSuccess", "outlinedError", "outlinedInfo", "outlinedWarning", "contained", "containedInherit", "containedPrimary", "containedSecondary", "containedSuccess", "containedError", "containedInfo", "containedWarning", "disableElevation", "focusVisible", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorSuccess", "colorError", "colorInfo", "colorWarning", "textSizeSmall", "textSizeMedium", "textSizeLarge", "outlinedSizeSmall", "outlinedSizeMedium", "outlinedSizeLarge", "containedSizeSmall", "containedSizeMedium", "containedSizeLarge", "sizeMedium", "sizeSmall", "sizeLarge", "fullWidth", "startIcon", "endIcon", "icon", "iconSizeSmall", "iconSizeMedium", "iconSizeLarge"]), F = /* @__PURE__ */ B.createContext({});
|
|
19
|
+
process.env.NODE_ENV !== "production" && (F.displayName = "ButtonGroupContext");
|
|
20
|
+
const P = /* @__PURE__ */ B.createContext(void 0);
|
|
21
|
+
process.env.NODE_ENV !== "production" && (P.displayName = "ButtonGroupButtonContext");
|
|
22
|
+
const lo = (o) => {
|
|
23
23
|
const {
|
|
24
24
|
color: r,
|
|
25
|
-
disableElevation:
|
|
26
|
-
fullWidth:
|
|
27
|
-
size:
|
|
25
|
+
disableElevation: n,
|
|
26
|
+
fullWidth: a,
|
|
27
|
+
size: d,
|
|
28
28
|
variant: u,
|
|
29
29
|
classes: b
|
|
30
|
-
} = o,
|
|
31
|
-
root: ["root", u, `${u}${p(r)}`, `size${p(
|
|
30
|
+
} = o, f = {
|
|
31
|
+
root: ["root", u, `${u}${p(r)}`, `size${p(d)}`, `${u}Size${p(d)}`, `color${p(r)}`, n && "disableElevation", a && "fullWidth"],
|
|
32
32
|
label: ["label"],
|
|
33
|
-
startIcon: ["icon", "startIcon", `iconSize${p(
|
|
34
|
-
endIcon: ["icon", "endIcon", `iconSize${p(
|
|
35
|
-
},
|
|
33
|
+
startIcon: ["icon", "startIcon", `iconSize${p(d)}`],
|
|
34
|
+
endIcon: ["icon", "endIcon", `iconSize${p(d)}`]
|
|
35
|
+
}, v = Z(f, so, b);
|
|
36
36
|
return {
|
|
37
37
|
...b,
|
|
38
38
|
// forward the focused, disabled, etc. classes to the ButtonBase
|
|
39
|
-
...
|
|
39
|
+
...v
|
|
40
40
|
};
|
|
41
|
-
},
|
|
41
|
+
}, V = [{
|
|
42
42
|
props: {
|
|
43
43
|
size: "small"
|
|
44
44
|
},
|
|
@@ -65,20 +65,20 @@ const so = (o) => {
|
|
|
65
65
|
fontSize: 22
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
}],
|
|
69
|
-
shouldForwardProp: (o) =>
|
|
68
|
+
}], co = s(k, {
|
|
69
|
+
shouldForwardProp: (o) => X(o) || o === "classes",
|
|
70
70
|
name: "MuiButton",
|
|
71
71
|
slot: "Root",
|
|
72
72
|
overridesResolver: (o, r) => {
|
|
73
73
|
const {
|
|
74
|
-
ownerState:
|
|
74
|
+
ownerState: n
|
|
75
75
|
} = o;
|
|
76
|
-
return [r.root, r[
|
|
76
|
+
return [r.root, r[n.variant], r[`${n.variant}${p(n.color)}`], r[`size${p(n.size)}`], r[`${n.variant}Size${p(n.size)}`], n.color === "inherit" && r.colorInherit, n.disableElevation && r.disableElevation, n.fullWidth && r.fullWidth];
|
|
77
77
|
}
|
|
78
|
-
})(
|
|
78
|
+
})(oo(({
|
|
79
79
|
theme: o
|
|
80
80
|
}) => {
|
|
81
|
-
const r = o.palette.mode === "light" ? o.palette.grey[300] : o.palette.grey[800],
|
|
81
|
+
const r = o.palette.mode === "light" ? o.palette.grey[300] : o.palette.grey[800], n = o.palette.mode === "light" ? o.palette.grey.A100 : o.palette.grey[700];
|
|
82
82
|
return {
|
|
83
83
|
...o.typography.button,
|
|
84
84
|
minWidth: 64,
|
|
@@ -144,22 +144,22 @@ const so = (o) => {
|
|
|
144
144
|
color: "var(--variant-textColor)",
|
|
145
145
|
backgroundColor: "var(--variant-textBg)"
|
|
146
146
|
}
|
|
147
|
-
}, ...Object.entries(o.palette).filter(
|
|
147
|
+
}, ...Object.entries(o.palette).filter(to()).map(([a]) => ({
|
|
148
148
|
props: {
|
|
149
|
-
color:
|
|
149
|
+
color: a
|
|
150
150
|
},
|
|
151
151
|
style: {
|
|
152
|
-
"--variant-textColor": (o.vars || o).palette[
|
|
153
|
-
"--variant-outlinedColor": (o.vars || o).palette[
|
|
154
|
-
"--variant-outlinedBorder": o.vars ? `rgba(${o.vars.palette[
|
|
155
|
-
"--variant-containedColor": (o.vars || o).palette[
|
|
156
|
-
"--variant-containedBg": (o.vars || o).palette[
|
|
152
|
+
"--variant-textColor": (o.vars || o).palette[a].main,
|
|
153
|
+
"--variant-outlinedColor": (o.vars || o).palette[a].main,
|
|
154
|
+
"--variant-outlinedBorder": o.vars ? `rgba(${o.vars.palette[a].mainChannel} / 0.5)` : h(o.palette[a].main, 0.5),
|
|
155
|
+
"--variant-containedColor": (o.vars || o).palette[a].contrastText,
|
|
156
|
+
"--variant-containedBg": (o.vars || o).palette[a].main,
|
|
157
157
|
"@media (hover: hover)": {
|
|
158
158
|
"&:hover": {
|
|
159
|
-
"--variant-containedBg": (o.vars || o).palette[
|
|
160
|
-
"--variant-textBg": o.vars ? `rgba(${o.vars.palette[
|
|
161
|
-
"--variant-outlinedBorder": (o.vars || o).palette[
|
|
162
|
-
"--variant-outlinedBg": o.vars ? `rgba(${o.vars.palette[
|
|
159
|
+
"--variant-containedBg": (o.vars || o).palette[a].dark,
|
|
160
|
+
"--variant-textBg": o.vars ? `rgba(${o.vars.palette[a].mainChannel} / ${o.vars.palette.action.hoverOpacity})` : h(o.palette[a].main, o.palette.action.hoverOpacity),
|
|
161
|
+
"--variant-outlinedBorder": (o.vars || o).palette[a].main,
|
|
162
|
+
"--variant-outlinedBg": o.vars ? `rgba(${o.vars.palette[a].mainChannel} / ${o.vars.palette.action.hoverOpacity})` : h(o.palette[a].main, o.palette.action.hoverOpacity)
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
@@ -173,7 +173,7 @@ const so = (o) => {
|
|
|
173
173
|
"--variant-containedBg": o.vars ? o.vars.palette.Button.inheritContainedBg : r,
|
|
174
174
|
"@media (hover: hover)": {
|
|
175
175
|
"&:hover": {
|
|
176
|
-
"--variant-containedBg": o.vars ? o.vars.palette.Button.inheritContainedHoverBg :
|
|
176
|
+
"--variant-containedBg": o.vars ? o.vars.palette.Button.inheritContainedHoverBg : n,
|
|
177
177
|
"--variant-textBg": o.vars ? `rgba(${o.vars.palette.text.primaryChannel} / ${o.vars.palette.action.hoverOpacity})` : h(o.palette.text.primary, o.palette.action.hoverOpacity),
|
|
178
178
|
"--variant-outlinedBg": o.vars ? `rgba(${o.vars.palette.text.primaryChannel} / ${o.vars.palette.action.hoverOpacity})` : h(o.palette.text.primary, o.palette.action.hoverOpacity)
|
|
179
179
|
}
|
|
@@ -261,14 +261,14 @@ const so = (o) => {
|
|
|
261
261
|
}
|
|
262
262
|
}]
|
|
263
263
|
};
|
|
264
|
-
})),
|
|
264
|
+
})), po = s("span", {
|
|
265
265
|
name: "MuiButton",
|
|
266
266
|
slot: "StartIcon",
|
|
267
267
|
overridesResolver: (o, r) => {
|
|
268
268
|
const {
|
|
269
|
-
ownerState:
|
|
269
|
+
ownerState: n
|
|
270
270
|
} = o;
|
|
271
|
-
return [r.startIcon, r[`iconSize${p(
|
|
271
|
+
return [r.startIcon, r[`iconSize${p(n.size)}`]];
|
|
272
272
|
}
|
|
273
273
|
})({
|
|
274
274
|
display: "inherit",
|
|
@@ -281,15 +281,15 @@ const so = (o) => {
|
|
|
281
281
|
style: {
|
|
282
282
|
marginLeft: -2
|
|
283
283
|
}
|
|
284
|
-
}, ...
|
|
285
|
-
}),
|
|
284
|
+
}, ...V]
|
|
285
|
+
}), uo = s("span", {
|
|
286
286
|
name: "MuiButton",
|
|
287
287
|
slot: "EndIcon",
|
|
288
288
|
overridesResolver: (o, r) => {
|
|
289
289
|
const {
|
|
290
|
-
ownerState:
|
|
290
|
+
ownerState: n
|
|
291
291
|
} = o;
|
|
292
|
-
return [r.endIcon, r[`iconSize${p(
|
|
292
|
+
return [r.endIcon, r[`iconSize${p(n.size)}`]];
|
|
293
293
|
}
|
|
294
294
|
})({
|
|
295
295
|
display: "inherit",
|
|
@@ -302,59 +302,59 @@ const so = (o) => {
|
|
|
302
302
|
style: {
|
|
303
303
|
marginRight: -2
|
|
304
304
|
}
|
|
305
|
-
}, ...
|
|
306
|
-
}), M = /* @__PURE__ */ B.forwardRef(function(r,
|
|
307
|
-
const
|
|
305
|
+
}, ...V]
|
|
306
|
+
}), M = /* @__PURE__ */ B.forwardRef(function(r, n) {
|
|
307
|
+
const a = B.useContext(F), d = B.useContext(P), u = ro(a, r), b = Y({
|
|
308
308
|
props: u,
|
|
309
309
|
name: "MuiButton"
|
|
310
310
|
}), {
|
|
311
|
-
children:
|
|
312
|
-
color:
|
|
311
|
+
children: f,
|
|
312
|
+
color: v = "primary",
|
|
313
313
|
component: l = "button",
|
|
314
314
|
className: I,
|
|
315
315
|
disabled: S = !1,
|
|
316
|
-
disableElevation:
|
|
316
|
+
disableElevation: c = !1,
|
|
317
317
|
disableFocusRipple: y = !1,
|
|
318
318
|
endIcon: m,
|
|
319
319
|
focusVisibleClassName: z,
|
|
320
320
|
fullWidth: R = !1,
|
|
321
321
|
size: O = "medium",
|
|
322
322
|
startIcon: E,
|
|
323
|
-
type:
|
|
324
|
-
variant:
|
|
325
|
-
...
|
|
323
|
+
type: W,
|
|
324
|
+
variant: D = "text",
|
|
325
|
+
...U
|
|
326
326
|
} = b, C = {
|
|
327
327
|
...b,
|
|
328
|
-
color:
|
|
328
|
+
color: v,
|
|
329
329
|
component: l,
|
|
330
330
|
disabled: S,
|
|
331
|
-
disableElevation:
|
|
331
|
+
disableElevation: c,
|
|
332
332
|
disableFocusRipple: y,
|
|
333
333
|
fullWidth: R,
|
|
334
334
|
size: O,
|
|
335
|
-
type:
|
|
336
|
-
variant:
|
|
337
|
-
}, $ =
|
|
335
|
+
type: W,
|
|
336
|
+
variant: D
|
|
337
|
+
}, $ = lo(C), _ = E && /* @__PURE__ */ i(po, {
|
|
338
338
|
className: $.startIcon,
|
|
339
339
|
ownerState: C,
|
|
340
340
|
children: E
|
|
341
|
-
}),
|
|
341
|
+
}), A = m && /* @__PURE__ */ i(uo, {
|
|
342
342
|
className: $.endIcon,
|
|
343
343
|
ownerState: C,
|
|
344
344
|
children: m
|
|
345
|
-
}),
|
|
346
|
-
return /* @__PURE__ */
|
|
345
|
+
}), q = d || "";
|
|
346
|
+
return /* @__PURE__ */ N(co, {
|
|
347
347
|
ownerState: C,
|
|
348
|
-
className:
|
|
348
|
+
className: j(a.className, $.root, I, q),
|
|
349
349
|
component: l,
|
|
350
350
|
disabled: S,
|
|
351
351
|
focusRipple: !y,
|
|
352
|
-
focusVisibleClassName:
|
|
353
|
-
ref:
|
|
354
|
-
type:
|
|
355
|
-
...
|
|
352
|
+
focusVisibleClassName: j($.focusVisible, z),
|
|
353
|
+
ref: n,
|
|
354
|
+
type: W,
|
|
355
|
+
...U,
|
|
356
356
|
classes: $,
|
|
357
|
-
children: [
|
|
357
|
+
children: [_, f, A]
|
|
358
358
|
});
|
|
359
359
|
});
|
|
360
360
|
process.env.NODE_ENV !== "production" && (M.propTypes = {
|
|
@@ -471,7 +471,7 @@ const G = [
|
|
|
471
471
|
span {
|
|
472
472
|
align-items: center !important;
|
|
473
473
|
}
|
|
474
|
-
`,
|
|
474
|
+
`, bo = s(w)`
|
|
475
475
|
background-color: ${t.colors.green};
|
|
476
476
|
height: 2.5rem;
|
|
477
477
|
border: 2px solid transparent;
|
|
@@ -490,39 +490,39 @@ const G = [
|
|
|
490
490
|
&:disabled {
|
|
491
491
|
background-color: ${t.colors.darkGreen};
|
|
492
492
|
}
|
|
493
|
-
`,
|
|
493
|
+
`, go = s(w, {
|
|
494
494
|
shouldForwardProp: (o) => !G.includes(o)
|
|
495
495
|
})(
|
|
496
496
|
({
|
|
497
497
|
customBackgroundColor: o = t.colors.green,
|
|
498
498
|
customHoverColor: r = t.colors.darkGreen,
|
|
499
|
-
customTextColor:
|
|
500
|
-
customShadow1:
|
|
501
|
-
customShadow2:
|
|
499
|
+
customTextColor: n = t.colors.white,
|
|
500
|
+
customShadow1: a = t.boxShadows.gray63,
|
|
501
|
+
customShadow2: d = t.boxShadows.black63
|
|
502
502
|
}) => ({
|
|
503
503
|
...g`
|
|
504
504
|
background-color: ${o};
|
|
505
505
|
border-radius: 0;
|
|
506
506
|
height: 2.5rem;
|
|
507
507
|
border: 2px solid transparent;
|
|
508
|
-
color: ${
|
|
508
|
+
color: ${n};
|
|
509
509
|
transition: 313ms all ease-in;
|
|
510
510
|
border-radius: 32px;
|
|
511
511
|
font-weight: 400;
|
|
512
512
|
padding: 0.75rem 2rem;
|
|
513
513
|
font-size: 1rem;
|
|
514
|
-
box-shadow: ${
|
|
514
|
+
box-shadow: ${a};
|
|
515
515
|
&:hover,
|
|
516
516
|
:focus-visible {
|
|
517
517
|
background-color: ${r};
|
|
518
|
-
box-shadow: ${
|
|
518
|
+
box-shadow: ${d};
|
|
519
519
|
}
|
|
520
520
|
&:disabled {
|
|
521
521
|
background-color: ${r};
|
|
522
522
|
}
|
|
523
523
|
`
|
|
524
524
|
})
|
|
525
|
-
),
|
|
525
|
+
), L = s(w)`
|
|
526
526
|
background-color: ${t.colors.gold};
|
|
527
527
|
height: 2.5rem;
|
|
528
528
|
border: 2px solid transparent;
|
|
@@ -541,7 +541,10 @@ const G = [
|
|
|
541
541
|
&:disabled {
|
|
542
542
|
background-color: ${t.colors.goldHover};
|
|
543
543
|
}
|
|
544
|
-
`,
|
|
544
|
+
`, xo = s(L)`
|
|
545
|
+
width: 447px;
|
|
546
|
+
align-self: center;
|
|
547
|
+
`, T = s(w)(({ width: o = "114px" }) => ({
|
|
545
548
|
...g`
|
|
546
549
|
box-sizing: border-box;
|
|
547
550
|
background-color: ${t.colors.bibiBlue};
|
|
@@ -559,7 +562,7 @@ const G = [
|
|
|
559
562
|
background-color: ${t.colors.bibiBlueHover};
|
|
560
563
|
}
|
|
561
564
|
`
|
|
562
|
-
})),
|
|
565
|
+
})), fo = s(T)(({ active: o }) => ({
|
|
563
566
|
...g`
|
|
564
567
|
background-color: ${o && t.colors.white};
|
|
565
568
|
color: ${o && t.colors.bibiBlue};
|
|
@@ -569,7 +572,7 @@ const G = [
|
|
|
569
572
|
color: ${t.colors.bibiBlue};
|
|
570
573
|
}
|
|
571
574
|
`
|
|
572
|
-
})), vo = s(
|
|
575
|
+
})), vo = s(T)(() => ({
|
|
573
576
|
...g`
|
|
574
577
|
background-color: ${t.colors.white};
|
|
575
578
|
color: ${t.colors.bibiBlue};
|
|
@@ -580,13 +583,13 @@ const G = [
|
|
|
580
583
|
color: ${t.colors.white};
|
|
581
584
|
}
|
|
582
585
|
`
|
|
583
|
-
})),
|
|
586
|
+
})), H = s(k)`
|
|
584
587
|
display: block;
|
|
585
|
-
`,
|
|
588
|
+
`, yo = s(H)`
|
|
586
589
|
font-family: inherit;
|
|
587
590
|
font-size: inherit;
|
|
588
591
|
font-weight: inherit;
|
|
589
|
-
`,
|
|
592
|
+
`, mo = s("div")`
|
|
590
593
|
display: flex;
|
|
591
594
|
.isCopied {
|
|
592
595
|
color: ${t.colors.gray};
|
|
@@ -601,10 +604,10 @@ const G = [
|
|
|
601
604
|
width: 14px !important;
|
|
602
605
|
margin: 0;
|
|
603
606
|
}
|
|
604
|
-
`,
|
|
605
|
-
shouldForwardProp: (o) => typeof o == "string" &&
|
|
607
|
+
`, $o = s(k, {
|
|
608
|
+
shouldForwardProp: (o) => typeof o == "string" && eo(o)
|
|
606
609
|
})(
|
|
607
|
-
({ size: o, color: r, highlightColor:
|
|
610
|
+
({ size: o, color: r, highlightColor: n, hoverColor: a }) => ({
|
|
608
611
|
...g`
|
|
609
612
|
display: flex;
|
|
610
613
|
align-items: center;
|
|
@@ -615,9 +618,9 @@ const G = [
|
|
|
615
618
|
&:hover,
|
|
616
619
|
:focus-visible {
|
|
617
620
|
svg {
|
|
618
|
-
filter: drop-shadow(0 0 6px ${
|
|
619
|
-
drop-shadow(0 0 6px ${
|
|
620
|
-
fill: ${
|
|
621
|
+
filter: drop-shadow(0 0 6px ${n}) drop-shadow(0 0 6px ${n})
|
|
622
|
+
drop-shadow(0 0 6px ${n}) drop-shadow(0 0 6px ${n});
|
|
623
|
+
fill: ${a || r};
|
|
621
624
|
}
|
|
622
625
|
}
|
|
623
626
|
|
|
@@ -629,7 +632,7 @@ const G = [
|
|
|
629
632
|
}
|
|
630
633
|
`
|
|
631
634
|
})
|
|
632
|
-
),
|
|
635
|
+
), ho = s(w)(({ active: o }) => ({
|
|
633
636
|
...g`
|
|
634
637
|
box-sizing: border-box;
|
|
635
638
|
background-color: ${o ? t.colors.black : t.colors.white};
|
|
@@ -648,7 +651,7 @@ const G = [
|
|
|
648
651
|
background-color: ${o ? t.colors.charcoal : t.colors.gray2};
|
|
649
652
|
}
|
|
650
653
|
`
|
|
651
|
-
})),
|
|
654
|
+
})), Bo = s(k)(
|
|
652
655
|
({ backgroundColor: o, borderColor: r }) => ({
|
|
653
656
|
...g`
|
|
654
657
|
height: 28px;
|
|
@@ -684,71 +687,71 @@ const G = [
|
|
|
684
687
|
}
|
|
685
688
|
`
|
|
686
689
|
})
|
|
687
|
-
),
|
|
690
|
+
), Fo = ({
|
|
688
691
|
variant: o = 1,
|
|
689
692
|
size: r = 50,
|
|
690
|
-
color:
|
|
691
|
-
highlightColor:
|
|
692
|
-
hoverColor:
|
|
693
|
+
color: n,
|
|
694
|
+
highlightColor: a,
|
|
695
|
+
hoverColor: d,
|
|
693
696
|
backgroundColor: u,
|
|
694
697
|
textColor: b,
|
|
695
|
-
customShadow1:
|
|
696
|
-
customShadow2:
|
|
698
|
+
customShadow1: f,
|
|
699
|
+
customShadow2: v,
|
|
697
700
|
children: l,
|
|
698
701
|
textToCopy: I,
|
|
699
702
|
active: S,
|
|
700
|
-
...
|
|
703
|
+
...c
|
|
701
704
|
}) => {
|
|
702
705
|
const y = ao();
|
|
703
706
|
if (o === "custom")
|
|
704
707
|
return /* @__PURE__ */ i(
|
|
705
|
-
|
|
708
|
+
go,
|
|
706
709
|
{
|
|
707
710
|
customBackgroundColor: u,
|
|
708
|
-
customHoverColor:
|
|
711
|
+
customHoverColor: d,
|
|
709
712
|
customTextColor: b,
|
|
710
|
-
customShadow1:
|
|
711
|
-
customShadow2:
|
|
713
|
+
customShadow1: f,
|
|
714
|
+
customShadow2: v,
|
|
712
715
|
className: "jcCustomButton",
|
|
713
|
-
...
|
|
716
|
+
...c,
|
|
714
717
|
children: l
|
|
715
718
|
}
|
|
716
719
|
);
|
|
717
720
|
if (o === "bibi")
|
|
718
|
-
return /* @__PURE__ */ i(
|
|
721
|
+
return /* @__PURE__ */ i(T, { ...c, children: l });
|
|
719
722
|
if (o === "bibiOutlined")
|
|
720
|
-
return /* @__PURE__ */ i(
|
|
723
|
+
return /* @__PURE__ */ i(fo, { ...c, children: l });
|
|
721
724
|
if (o === "bibiInverse")
|
|
722
|
-
return /* @__PURE__ */ i(vo, { ...
|
|
725
|
+
return /* @__PURE__ */ i(vo, { ...c, children: l });
|
|
723
726
|
if (o === "unstyled")
|
|
724
|
-
return /* @__PURE__ */ i(
|
|
727
|
+
return /* @__PURE__ */ i(H, { ...c, children: l });
|
|
725
728
|
if (o === "copy") {
|
|
726
|
-
const [m, z] =
|
|
727
|
-
return /* @__PURE__ */
|
|
729
|
+
const [m, z] = J(!1);
|
|
730
|
+
return /* @__PURE__ */ N(mo, { onClick: async () => {
|
|
728
731
|
try {
|
|
729
732
|
await navigator.clipboard.writeText(I || String(l)), z(!0), setTimeout(() => z(!1), 1100);
|
|
730
733
|
} catch (O) {
|
|
731
734
|
console.error("Failed to copy text: ", O);
|
|
732
735
|
}
|
|
733
736
|
}, children: [
|
|
734
|
-
/* @__PURE__ */ i(
|
|
735
|
-
m && /* @__PURE__ */
|
|
736
|
-
/* @__PURE__ */ i(
|
|
737
|
+
/* @__PURE__ */ i(no, { title: "Copy to clipboard", children: /* @__PURE__ */ i(yo, { ...c, children: l }) }),
|
|
738
|
+
m && /* @__PURE__ */ N("span", { className: "isCopied", children: [
|
|
739
|
+
/* @__PURE__ */ i(io, { size: 12 }),
|
|
737
740
|
" Copied"
|
|
738
741
|
] })
|
|
739
742
|
] });
|
|
740
743
|
}
|
|
741
|
-
return o === 2 ? /* @__PURE__ */ i(
|
|
742
|
-
|
|
744
|
+
return o === 2 ? /* @__PURE__ */ i(L, { ...c, children: /* @__PURE__ */ i("span", { children: l }) }) : o === "icon" ? (n = n || t.colors.green, a = a || t.colors.dandelion, d = d || t.colors.green, /* @__PURE__ */ i($o, { className: "jcIconButton", ...{ size: r, color: n, highlightColor: a, hoverColor: d }, ...c, children: l })) : o === "filter" ? /* @__PURE__ */ i(ho, { className: "jcFilterButton", active: S, ...c, children: l }) : o === "form" ? /* @__PURE__ */ i(xo, { className: "jcFormButton", ...c, children: l }) : o === "pill" ? /* @__PURE__ */ i(
|
|
745
|
+
Bo,
|
|
743
746
|
{
|
|
744
747
|
backgroundColor: u || y.themeIconBackgroundB,
|
|
745
748
|
borderColor: b || y.themeIconBackgroundA,
|
|
746
|
-
...
|
|
749
|
+
...c,
|
|
747
750
|
children: /* @__PURE__ */ i("span", { children: l })
|
|
748
751
|
}
|
|
749
|
-
) : /* @__PURE__ */ i(
|
|
752
|
+
) : /* @__PURE__ */ i(bo, { ...c, children: /* @__PURE__ */ i("span", { children: l }) });
|
|
750
753
|
};
|
|
751
754
|
export {
|
|
752
|
-
|
|
753
|
-
|
|
755
|
+
Fo as Button,
|
|
756
|
+
Fo as default
|
|
754
757
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { n as
|
|
3
|
-
import { c as
|
|
4
|
-
import
|
|
5
|
-
import { useThemeColors as
|
|
6
|
-
const
|
|
7
|
-
...
|
|
8
|
-
background-color: ${
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { n as l } from "../.chunks/emotion-styled.browser.esm.js";
|
|
3
|
+
import { c as m } from "../.chunks/emotion-react.browser.esm.js";
|
|
4
|
+
import s from "../theme.js";
|
|
5
|
+
import { useThemeColors as u } from "../ThemeContext.js";
|
|
6
|
+
const f = l("div")(({ backgroundColor: e, size: r, color: o }) => ({
|
|
7
|
+
...m`
|
|
8
|
+
background-color: ${e};
|
|
9
9
|
color: ${o};
|
|
10
10
|
border-radius: 50%;
|
|
11
11
|
width: ${r}px;
|
|
@@ -22,25 +22,26 @@ const u = i("div")(({ backgroundColor: t, size: r, color: o }) => ({
|
|
|
22
22
|
transform: scale(1.1);
|
|
23
23
|
}
|
|
24
24
|
`
|
|
25
|
-
})),
|
|
26
|
-
color:
|
|
27
|
-
backgroundColor: r,
|
|
25
|
+
})), b = ({
|
|
26
|
+
color: e = s.colors.white,
|
|
27
|
+
backgroundColor: r = s.colors.green,
|
|
28
28
|
size: o = 20,
|
|
29
29
|
onClick: n,
|
|
30
|
-
icon:
|
|
30
|
+
icon: c,
|
|
31
|
+
useThemeColor: i = !1
|
|
31
32
|
}) => {
|
|
32
|
-
const
|
|
33
|
-
return /* @__PURE__ */
|
|
34
|
-
|
|
33
|
+
const a = u();
|
|
34
|
+
return /* @__PURE__ */ t(
|
|
35
|
+
f,
|
|
35
36
|
{
|
|
36
|
-
color:
|
|
37
|
-
backgroundColor:
|
|
37
|
+
color: e,
|
|
38
|
+
backgroundColor: i ? a.themeIconBackgroundA : r,
|
|
38
39
|
size: o * 1.2,
|
|
39
40
|
onClick: n,
|
|
40
|
-
children: /* @__PURE__ */
|
|
41
|
+
children: /* @__PURE__ */ t(c, { size: o * 0.8 })
|
|
41
42
|
}
|
|
42
43
|
);
|
|
43
44
|
};
|
|
44
45
|
export {
|
|
45
|
-
|
|
46
|
+
b as default
|
|
46
47
|
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FormContextOptions, FormContextResult, InputChangeExtension } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Factory function to create a typed form context with shared functionality.
|
|
4
|
+
* Fixes the stale closure bug by computing all values inside the functional update.
|
|
5
|
+
*
|
|
6
|
+
* @template T - The type of form data this context will manage
|
|
7
|
+
* @param options - Configuration options for the form context
|
|
8
|
+
* @returns Object containing the Context and Provider
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* interface MyFormData {
|
|
13
|
+
* name: string;
|
|
14
|
+
* email: string;
|
|
15
|
+
* [key: string]: unknown; // Required for FormFields compatibility
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* const { Context: MyFormContext, Provider: MyFormProvider } = createFormContext<MyFormData>({
|
|
19
|
+
* name: 'MyForm',
|
|
20
|
+
* defaultValues: { name: '', email: '' },
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function createFormContext<T extends Record<string, unknown>>(options: FormContextOptions<T>): FormContextResult<T>;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a DOB → Age autofill extension.
|
|
27
|
+
* When dateOfBirth field changes, automatically calculates and sets age.
|
|
28
|
+
*
|
|
29
|
+
* @param dobKey - The form field key for date of birth (default: 'dateOfBirth')
|
|
30
|
+
* @param ageKey - The form field key for age (default: 'age')
|
|
31
|
+
*/
|
|
32
|
+
export declare function createDobToAgeExtension<T extends Record<string, unknown>>(dobKey?: keyof T & string, ageKey?: keyof T & string): InputChangeExtension<T>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as N } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as w, useState as E, useEffect as P, useMemo as $ } from "react";
|
|
3
|
+
import { formatPhoneNumber as C } from "../utils.js";
|
|
4
|
+
function I(b) {
|
|
5
|
+
const { name: n, defaultValues: s = {}, onInputChangeExtensions: u = [], submit: m, debug: a = !1 } = b, i = w({
|
|
6
|
+
onFormInputChange: () => console.error(`Failed to update form input. ${n}FormContext not initialized`),
|
|
7
|
+
formData: s,
|
|
8
|
+
setFormData: () => console.error(`Failed to set form data. ${n}FormContext not initialized`),
|
|
9
|
+
resetForm: () => console.error(`Failed to reset form. ${n}FormContext not initialized`)
|
|
10
|
+
});
|
|
11
|
+
return { Context: i, Provider: ({ children: x }) => {
|
|
12
|
+
const [e, r] = E(s), d = (g, t, c) => {
|
|
13
|
+
r((l) => {
|
|
14
|
+
let o;
|
|
15
|
+
if (c === "checkbox")
|
|
16
|
+
o = t.target.checked;
|
|
17
|
+
else if (c === "multiDropdown") {
|
|
18
|
+
const h = t.target.value;
|
|
19
|
+
Array.isArray(h) ? o = h.map((D) => D.value) : o = [];
|
|
20
|
+
} else if (c === "phone") {
|
|
21
|
+
const [, h] = C(t.target.value);
|
|
22
|
+
o = h;
|
|
23
|
+
} else
|
|
24
|
+
o = t.target.value;
|
|
25
|
+
return o === "undefined" && (o = void 0), { ...l, [g]: o };
|
|
26
|
+
});
|
|
27
|
+
let p;
|
|
28
|
+
if (c === "checkbox")
|
|
29
|
+
p = t.target.checked;
|
|
30
|
+
else if (c === "phone") {
|
|
31
|
+
const [, l] = C(t.target.value);
|
|
32
|
+
p = l;
|
|
33
|
+
} else
|
|
34
|
+
p = t.target.value === "undefined" ? void 0 : t.target.value;
|
|
35
|
+
u.forEach((l) => {
|
|
36
|
+
l(g, p, r);
|
|
37
|
+
});
|
|
38
|
+
}, v = () => r(s);
|
|
39
|
+
P(() => {
|
|
40
|
+
a && console.log(`[${n}Form] Updated form data:`, e);
|
|
41
|
+
}, [e]);
|
|
42
|
+
const f = $(
|
|
43
|
+
() => ({
|
|
44
|
+
onFormInputChange: d,
|
|
45
|
+
formData: e,
|
|
46
|
+
setFormData: r,
|
|
47
|
+
resetForm: v,
|
|
48
|
+
...m ? { submit: () => m(e) } : {}
|
|
49
|
+
}),
|
|
50
|
+
[e]
|
|
51
|
+
);
|
|
52
|
+
return /* @__PURE__ */ N(i.Provider, { value: f, children: x });
|
|
53
|
+
} };
|
|
54
|
+
}
|
|
55
|
+
function M(b = "dateOfBirth", n = "age") {
|
|
56
|
+
return (s, u, m) => {
|
|
57
|
+
if (s === b && u && typeof u == "string") {
|
|
58
|
+
const a = u.split("-");
|
|
59
|
+
if (a.length !== 3) return;
|
|
60
|
+
const i = Number(a[0]), F = Number(a[1]), x = Number(a[2]), e = /* @__PURE__ */ new Date(), r = e.getFullYear(), d = e.getMonth() + 1, v = e.getDate();
|
|
61
|
+
if (i > r || i < 1900)
|
|
62
|
+
return;
|
|
63
|
+
let f = r - i;
|
|
64
|
+
(F > d || F === d && x > v) && (f -= 1), m((g) => ({
|
|
65
|
+
...g,
|
|
66
|
+
[n]: String(f)
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
M as createDobToAgeExtension,
|
|
73
|
+
I as createFormContext
|
|
74
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Base form context properties that all form contexts share.
|
|
4
|
+
* @template T - The type of form data this context manages
|
|
5
|
+
*/
|
|
6
|
+
export interface FormContextProps<T extends Record<string, unknown>> {
|
|
7
|
+
/**
|
|
8
|
+
* Handler for form input changes - supports text, checkbox, multiDropdown, and phone types.
|
|
9
|
+
* Accepts any string key to maintain compatibility with FormFields component,
|
|
10
|
+
* but typed form data provides compile-time safety for direct property access.
|
|
11
|
+
*/
|
|
12
|
+
onFormInputChange: (key: string, e: React.ChangeEvent<HTMLInputElement>, type?: string) => void;
|
|
13
|
+
/** Current form data state */
|
|
14
|
+
formData: T;
|
|
15
|
+
/** Direct setter for form data (use sparingly - prefer onFormInputChange) */
|
|
16
|
+
setFormData: React.Dispatch<React.SetStateAction<T>>;
|
|
17
|
+
/** Reset form to initial/empty state */
|
|
18
|
+
resetForm: () => void;
|
|
19
|
+
/** Optional submit handler (if configured in factory) */
|
|
20
|
+
submit?: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Extension function called after each input change.
|
|
24
|
+
* Use for side effects like auto-filling related fields (e.g., DOB → Age).
|
|
25
|
+
* @template T - The type of form data
|
|
26
|
+
*/
|
|
27
|
+
export type InputChangeExtension<T extends Record<string, unknown>> = (key: string, value: unknown, setFormData: React.Dispatch<React.SetStateAction<T>>) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Configuration options for creating a form context.
|
|
30
|
+
* @template T - The type of form data this context will manage
|
|
31
|
+
*/
|
|
32
|
+
export interface FormContextOptions<T extends Record<string, unknown>> {
|
|
33
|
+
/** Name for the context (used in error messages) */
|
|
34
|
+
name: string;
|
|
35
|
+
/** Default/initial values for the form */
|
|
36
|
+
defaultValues?: Partial<T>;
|
|
37
|
+
/** Extensions called after each input change (e.g., DOB→Age autofill) */
|
|
38
|
+
onInputChangeExtensions?: InputChangeExtension<T>[];
|
|
39
|
+
/** Custom submit function */
|
|
40
|
+
submit?: (formData: T) => void;
|
|
41
|
+
/** Enable debug logging of form data changes */
|
|
42
|
+
debug?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Return type from createFormContext factory.
|
|
46
|
+
* @template T - The type of form data
|
|
47
|
+
*/
|
|
48
|
+
export interface FormContextResult<T extends Record<string, unknown>> {
|
|
49
|
+
/** The React Context object */
|
|
50
|
+
Context: React.Context<FormContextProps<T>>;
|
|
51
|
+
/** Provider component that wraps children with form state */
|
|
52
|
+
Provider: React.FC<PropsWithChildren>;
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/Pill/Pill.d.ts
CHANGED
package/Pill/Pill.js
CHANGED
|
@@ -1,33 +1,43 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { n as
|
|
3
|
-
import { c as
|
|
4
|
-
import
|
|
5
|
-
import { useThemeColors as
|
|
6
|
-
const
|
|
7
|
-
({ backgroundColor:
|
|
8
|
-
...
|
|
9
|
-
font-family: ${
|
|
2
|
+
import { n as i } from "../.chunks/emotion-styled.browser.esm.js";
|
|
3
|
+
import { c as p } from "../.chunks/emotion-react.browser.esm.js";
|
|
4
|
+
import t from "../theme.js";
|
|
5
|
+
import { useThemeColors as d } from "../ThemeContext.js";
|
|
6
|
+
const a = i("span")(
|
|
7
|
+
({ backgroundColor: e = t.colors.whiteGreen, textColor: o = t.colors.white, squared: r = !1 }) => ({
|
|
8
|
+
...p`
|
|
9
|
+
font-family: ${t.fonts.roboto};
|
|
10
10
|
font-size: 13px;
|
|
11
11
|
font-weight: 500;
|
|
12
12
|
color: ${o};
|
|
13
|
-
background-color: ${
|
|
13
|
+
background-color: ${e};
|
|
14
14
|
padding: 3px 13px;
|
|
15
|
-
border-radius: 21px;
|
|
15
|
+
border-radius: ${r ? "4px" : "21px"};
|
|
16
16
|
cursor: default;
|
|
17
17
|
`
|
|
18
18
|
})
|
|
19
|
-
),
|
|
20
|
-
const o =
|
|
19
|
+
), C = (e) => {
|
|
20
|
+
const o = d(), { backgroundColor: r, textColor: c, type: m = "primary", squared: l = !1, children: n } = e;
|
|
21
21
|
return m == "secondary" ? /* @__PURE__ */ s(
|
|
22
|
-
|
|
22
|
+
a,
|
|
23
23
|
{
|
|
24
|
-
backgroundColor:
|
|
25
|
-
textColor:
|
|
26
|
-
|
|
24
|
+
backgroundColor: r || o.themeIconBackgroundB,
|
|
25
|
+
textColor: c || o.themeIconColorB,
|
|
26
|
+
squared: l,
|
|
27
|
+
children: n
|
|
27
28
|
}
|
|
28
|
-
) : /* @__PURE__ */ s(
|
|
29
|
+
) : /* @__PURE__ */ s(
|
|
30
|
+
a,
|
|
31
|
+
{
|
|
32
|
+
backgroundColor: r || o.themeIconBackgroundA,
|
|
33
|
+
textColor: c,
|
|
34
|
+
squared: l,
|
|
35
|
+
className: "jciclPillWrapper",
|
|
36
|
+
children: n
|
|
37
|
+
}
|
|
38
|
+
);
|
|
29
39
|
};
|
|
30
40
|
export {
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
C as Pill,
|
|
42
|
+
C as default
|
|
33
43
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { n as
|
|
3
|
-
import { c as
|
|
4
|
-
import
|
|
5
|
-
import { useThemeColors as
|
|
6
|
-
const
|
|
7
|
-
...
|
|
2
|
+
import { n as a } from "../.chunks/emotion-styled.browser.esm.js";
|
|
3
|
+
import { c as u } from "../.chunks/emotion-react.browser.esm.js";
|
|
4
|
+
import n from "../theme.js";
|
|
5
|
+
import { useThemeColors as m } from "../ThemeContext.js";
|
|
6
|
+
const f = a("button")(({ backgroundColor: r, color: e, size: o }) => ({
|
|
7
|
+
...u`
|
|
8
8
|
width: ${o}px;
|
|
9
9
|
height: ${o}px;
|
|
10
10
|
background-color: ${r};
|
|
@@ -32,25 +32,26 @@ const m = c("button")(({ backgroundColor: r, color: e, size: o }) => ({
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
`
|
|
35
|
-
})),
|
|
36
|
-
color: r =
|
|
37
|
-
backgroundColor: e,
|
|
35
|
+
})), x = ({
|
|
36
|
+
color: r = n.colors.white,
|
|
37
|
+
backgroundColor: e = n.colors.green,
|
|
38
38
|
size: o = 20,
|
|
39
|
-
onClick:
|
|
40
|
-
icon:
|
|
39
|
+
onClick: s,
|
|
40
|
+
icon: c,
|
|
41
|
+
useThemeColor: i = !1
|
|
41
42
|
}) => {
|
|
42
|
-
const
|
|
43
|
+
const l = m();
|
|
43
44
|
return /* @__PURE__ */ t(
|
|
44
|
-
|
|
45
|
+
f,
|
|
45
46
|
{
|
|
46
|
-
backgroundColor:
|
|
47
|
+
backgroundColor: i ? l.themeIconBackgroundA : e,
|
|
47
48
|
color: r,
|
|
48
49
|
size: o * 2,
|
|
49
|
-
onClick:
|
|
50
|
-
children: /* @__PURE__ */ t(
|
|
50
|
+
onClick: s,
|
|
51
|
+
children: /* @__PURE__ */ t(c, { size: o })
|
|
51
52
|
}
|
|
52
53
|
);
|
|
53
54
|
};
|
|
54
55
|
export {
|
|
55
|
-
|
|
56
|
+
x as default
|
|
56
57
|
};
|
package/Toast/index.d.ts
CHANGED
package/Toast/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { default as e } from "./Toast.js";
|
|
2
|
-
import { Toaster as
|
|
3
|
-
import { handleDismissToast as T, saveToastForRedirect as
|
|
2
|
+
import { Toaster as r } from "./Toaster.js";
|
|
3
|
+
import { handleDismissToast as T, saveToastForRedirect as f, showSavedToast as m, showToast as d } from "./ToastHelpers.js";
|
|
4
|
+
import { useToast as x } from "./useToast.js";
|
|
4
5
|
export {
|
|
5
|
-
|
|
6
|
+
r as Toaster,
|
|
6
7
|
e as default,
|
|
7
8
|
T as handleDismissToast,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
f as saveToastForRedirect,
|
|
10
|
+
m as showSavedToast,
|
|
11
|
+
d as showToast,
|
|
12
|
+
x as useToast
|
|
11
13
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ToastProps } from './Toast';
|
|
2
|
+
import { ToastItem } from './Toaster';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for managing toast notifications.
|
|
5
|
+
* Encapsulates toast state management and provides a simple API.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* const { toasts, toast, dismissToast } = useToast();
|
|
10
|
+
*
|
|
11
|
+
* // Show a toast
|
|
12
|
+
* toast({ type: 'success', message: 'Saved!', duration: 3000 });
|
|
13
|
+
*
|
|
14
|
+
* // In render
|
|
15
|
+
* <Toaster toastQueue={toasts} onDismiss={dismissToast} />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const useToast: () => {
|
|
19
|
+
toasts: ToastItem[];
|
|
20
|
+
toast: (toastProps: ToastProps) => void;
|
|
21
|
+
dismissToast: (id: number) => void;
|
|
22
|
+
};
|
|
23
|
+
export default useToast;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useState as a } from "react";
|
|
2
|
+
import { handleDismissToast as e, showToast as i } from "./ToastHelpers.js";
|
|
3
|
+
const c = () => {
|
|
4
|
+
const [o, t] = a([]);
|
|
5
|
+
return { toasts: o, toast: (s) => i(s, t), dismissToast: (s) => e(s, t) };
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
c as default,
|
|
9
|
+
c as useToast
|
|
10
|
+
};
|
package/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { default as LabeledValue } from './LabeledValue';
|
|
|
9
9
|
export { default as ListButton } from './ListButton';
|
|
10
10
|
export { default as Loading } from './Loading';
|
|
11
11
|
export { default as ScrollContainer } from './ScrollContainer';
|
|
12
|
+
export * from './FormContext';
|
|
12
13
|
export { default as Accordion } from './Accordion';
|
|
13
14
|
export { default as ErrorBoundary } from './ErrorBoundary';
|
|
14
15
|
export { default as InfoCard } from './InfoCard';
|
package/index.js
CHANGED
|
@@ -1,52 +1,55 @@
|
|
|
1
|
-
import { AvatarWithImage as
|
|
1
|
+
import { AvatarWithImage as e } from "./AvatarWithImage/AvatarWithImage.js";
|
|
2
2
|
import { Button as a } from "./Button/Button.js";
|
|
3
3
|
import { Divider as p } from "./Divider/Divider.js";
|
|
4
|
-
import { Flex as
|
|
5
|
-
import { Grid as
|
|
4
|
+
import { Flex as m } from "./Flex/Flex.js";
|
|
5
|
+
import { Grid as n } from "./Grid/Grid.js";
|
|
6
6
|
import { default as i } from "./Icon/Icon.js";
|
|
7
7
|
import { Input as s } from "./Input/Input.js";
|
|
8
|
-
import { LabeledValue as
|
|
9
|
-
import { default as
|
|
8
|
+
import { LabeledValue as c } from "./LabeledValue/LabeledValue.js";
|
|
9
|
+
import { default as I } from "./ListButton/ListButton.js";
|
|
10
10
|
import { default as g } from "./Loading/Loading.js";
|
|
11
|
-
import { default as
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
11
|
+
import { default as B } from "./ScrollContainer/ScrollContainer.js";
|
|
12
|
+
import { createDobToAgeExtension as v, createFormContext as E } from "./FormContext/createFormContext.js";
|
|
13
|
+
import { Accordion as D } from "./Accordion/Accordion.js";
|
|
14
|
+
import { default as S } from "./ErrorBoundary/ErrorBoundary.js";
|
|
14
15
|
import { InfoCard as y } from "./InfoCard/InfoCard.js";
|
|
15
|
-
import { LabeledInput as
|
|
16
|
-
import { default as
|
|
17
|
-
import { default as
|
|
18
|
-
import { SiteBanner as
|
|
19
|
-
import { Tooltip as
|
|
20
|
-
import { default as
|
|
21
|
-
import { default as
|
|
22
|
-
import { A as
|
|
23
|
-
import { EditableInfoCard as
|
|
24
|
-
import { Nav as
|
|
25
|
-
import { default as
|
|
16
|
+
import { LabeledInput as H } from "./LabeledInput/LabeledInput.js";
|
|
17
|
+
import { default as V } from "./List/List.js";
|
|
18
|
+
import { default as k } from "./LogoLoop/LogoLoop.js";
|
|
19
|
+
import { SiteBanner as w } from "./SiteBanner/SiteBanner.js";
|
|
20
|
+
import { Tooltip as J } from "./Tooltip/Tooltip.js";
|
|
21
|
+
import { default as M } from "./WithLabel/WithLabel.js";
|
|
22
|
+
import { default as P } from "./WithLoading/WithLoading.js";
|
|
23
|
+
import { A as R } from "./.chunks/AppHeader.js";
|
|
24
|
+
import { EditableInfoCard as X } from "./EditableInfoCard/EditableInfoCard.js";
|
|
25
|
+
import { Nav as Z } from "./Nav/Nav.js";
|
|
26
|
+
import { default as $ } from "./AppContainer/AppContainer.js";
|
|
26
27
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
D as Accordion,
|
|
29
|
+
$ as AppContainer,
|
|
30
|
+
R as AppHeader,
|
|
31
|
+
e as AvatarWithImage,
|
|
31
32
|
a as Button,
|
|
32
33
|
p as Divider,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
X as EditableInfoCard,
|
|
35
|
+
S as ErrorBoundary,
|
|
36
|
+
m as Flex,
|
|
37
|
+
n as Grid,
|
|
37
38
|
i as Icon,
|
|
38
39
|
y as InfoCard,
|
|
39
40
|
s as Input,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
H as LabeledInput,
|
|
42
|
+
c as LabeledValue,
|
|
43
|
+
V as List,
|
|
44
|
+
I as ListButton,
|
|
44
45
|
g as Loading,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
k as LogoLoop,
|
|
47
|
+
Z as Nav,
|
|
48
|
+
B as ScrollContainer,
|
|
49
|
+
w as SiteBanner,
|
|
50
|
+
J as Tooltip,
|
|
51
|
+
M as WithLabel,
|
|
52
|
+
P as WithLoading,
|
|
53
|
+
v as createDobToAgeExtension,
|
|
54
|
+
E as createFormContext
|
|
52
55
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jcicl",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.31",
|
|
5
5
|
"description": "Component library for the websites of Johnson County Iowa",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://devops.jc.net/JCIT/Business%20Solutions%20Delivery/_git/JCComponentLibrary?path=%2FREADME.md&version=GBmaster",
|