@octoguide/mui-ui-toolkit 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2419,11 +2419,192 @@ var Paragraph = React8.forwardRef(
2419
2419
  );
2420
2420
  Paragraph.displayName = "ToolkitParagraph";
2421
2421
 
2422
+ // src/components/Password/Password.tsx
2423
+ import React9, { useState as useState3 } from "react";
2424
+
2425
+ // src/components/Password/PasswordRule.tsx
2426
+ import CheckCircleIcon from "@mui/icons-material/CheckCircle";
2427
+ import CancelIcon from "@mui/icons-material/Cancel";
2428
+
2429
+ // src/components/Password/PasswordRule.styles.tsx
2430
+ import { styled as styled13 } from "@mui/material/styles";
2431
+ var StyledPasswordRule = styled13("div")(({ theme }) => ({
2432
+ display: "flex",
2433
+ alignItems: "center",
2434
+ gap: theme.tokens.spacing.xs,
2435
+ padding: `${theme.tokens.spacing.xs} 0`,
2436
+ "&.PasswordRule--valid": {
2437
+ color: theme.tokens.colors.success
2438
+ },
2439
+ "&.PasswordRule--invalid": {
2440
+ color: theme.tokens.colors.error
2441
+ }
2442
+ }));
2443
+ var StyledPasswordRuleIcon = styled13("span")({
2444
+ display: "inline-flex",
2445
+ alignItems: "center",
2446
+ flexShrink: 0
2447
+ });
2448
+ var StyledPasswordRuleText = styled13("span")(({ theme }) => ({
2449
+ fontSize: theme.tokens.typography.fontSizeSm
2450
+ }));
2451
+ var StyledScreenReaderOnly3 = styled13("span")({
2452
+ position: "absolute",
2453
+ width: 1,
2454
+ height: 1,
2455
+ padding: 0,
2456
+ margin: -1,
2457
+ overflow: "hidden",
2458
+ clip: "rect(0, 0, 0, 0)",
2459
+ whiteSpace: "nowrap",
2460
+ border: 0
2461
+ });
2462
+
2463
+ // src/components/Password/PasswordRule.tsx
2464
+ import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
2465
+ var PasswordRule = ({ valid = false, rule = "", idx }) => /* @__PURE__ */ jsxs6(
2466
+ StyledPasswordRule,
2467
+ {
2468
+ className: valid ? "PasswordRule--valid" : "PasswordRule--invalid",
2469
+ "data-testid": `password-rule-${idx}`,
2470
+ children: [
2471
+ /* @__PURE__ */ jsx19(StyledPasswordRuleIcon, { children: valid ? /* @__PURE__ */ jsx19(CheckCircleIcon, { fontSize: "small", "aria-hidden": "true" }) : /* @__PURE__ */ jsx19(CancelIcon, { fontSize: "small", "aria-hidden": "true" }) }),
2472
+ /* @__PURE__ */ jsx19(StyledPasswordRuleText, { children: rule }),
2473
+ /* @__PURE__ */ jsx19(StyledScreenReaderOnly3, { children: valid ? "supplied" : "not supplied" })
2474
+ ]
2475
+ }
2476
+ );
2477
+ PasswordRule.displayName = "ToolkitPasswordRule";
2478
+
2479
+ // src/components/Password/PasswordCriteria.styles.tsx
2480
+ import { styled as styled14 } from "@mui/material/styles";
2481
+ var StyledPasswordCriteriaContainer = styled14("div")(
2482
+ ({ theme, $show }) => ({
2483
+ display: $show ? "block" : "none",
2484
+ position: "absolute",
2485
+ top: "100%",
2486
+ left: 0,
2487
+ right: 0,
2488
+ zIndex: theme.tokens.zIndex.dropdown,
2489
+ marginTop: theme.tokens.spacing.xs
2490
+ })
2491
+ );
2492
+ var StyledPasswordRuleTitle = styled14("div")(({ theme }) => ({
2493
+ color: theme.tokens.colors.textPrimary,
2494
+ fontSize: theme.tokens.typography.fontSizeSm,
2495
+ fontWeight: theme.tokens.typography.fontWeightMedium,
2496
+ padding: `${theme.tokens.spacing.xs} 0`,
2497
+ borderBottom: `1px solid ${theme.tokens.colors.border}`,
2498
+ marginBottom: theme.tokens.spacing.xs
2499
+ }));
2500
+
2501
+ // src/components/Password/PasswordCriteria.tsx
2502
+ import { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
2503
+ var PasswordRules = [
2504
+ { key: "minLength", rule: "Minimum 8 characters" },
2505
+ { key: "lowercase", rule: "At least one lowercase letter" },
2506
+ { key: "uppercase", rule: "At least one uppercase letter" },
2507
+ { key: "digit", rule: "At least one number" },
2508
+ { key: "special", rule: "At least one special character" }
2509
+ ];
2510
+ var passwordValidator = (value) => ({
2511
+ minLength: value.length >= 8,
2512
+ lowercase: /[a-z]/.test(value),
2513
+ uppercase: /[A-Z]/.test(value),
2514
+ digit: /[0-9]/.test(value),
2515
+ special: /[^A-Za-z0-9]/.test(value)
2516
+ });
2517
+ var PasswordCriteria = ({ show = false, value = "" }) => {
2518
+ const validity = passwordValidator(value);
2519
+ return /* @__PURE__ */ jsx20(
2520
+ StyledPasswordCriteriaContainer,
2521
+ {
2522
+ $show: show,
2523
+ "aria-hidden": !show,
2524
+ id: "passwordCriteria",
2525
+ "data-testid": "password-criteria",
2526
+ role: "status",
2527
+ "aria-live": "polite",
2528
+ children: /* @__PURE__ */ jsxs7(Card, { compact: true, children: [
2529
+ /* @__PURE__ */ jsx20(StyledPasswordRuleTitle, { children: "Password must contain:" }),
2530
+ PasswordRules.map((item, idx) => /* @__PURE__ */ jsx20(PasswordRule, { valid: validity[item.key], rule: item.rule, idx }, item.key))
2531
+ ] })
2532
+ }
2533
+ );
2534
+ };
2535
+ PasswordCriteria.displayName = "ToolkitPasswordCriteria";
2536
+
2537
+ // src/components/Password/Password.styles.tsx
2538
+ import { styled as styled15 } from "@mui/material/styles";
2539
+ var StyledPasswordRoot = styled15("div")({
2540
+ position: "relative"
2541
+ });
2542
+ var StyledPasswordInputWrapper = styled15("div")({
2543
+ display: "flex",
2544
+ position: "relative"
2545
+ });
2546
+
2547
+ // src/components/Password/Password.tsx
2548
+ import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
2549
+ var Password = React9.forwardRef(
2550
+ function Password2({
2551
+ isInvalid,
2552
+ value: initialValue,
2553
+ label = "Password",
2554
+ onBlur,
2555
+ onChange,
2556
+ ariaDescribedby,
2557
+ ariaLabelledby,
2558
+ className,
2559
+ id,
2560
+ ...rest
2561
+ }, ref) {
2562
+ const [value, setValue] = useState3(initialValue ?? "");
2563
+ const [showCriteria, setShowCriteria] = useState3(false);
2564
+ const handleFocus = () => {
2565
+ setShowCriteria(true);
2566
+ };
2567
+ const handleBlur = (event) => {
2568
+ setShowCriteria(false);
2569
+ onBlur?.(event);
2570
+ };
2571
+ const handleChange = (event) => {
2572
+ const newValue = event.target.value;
2573
+ setValue(newValue);
2574
+ const validity = passwordValidator(newValue);
2575
+ const isCriteriaMet = Object.values(validity).every(Boolean);
2576
+ onChange?.(event, isCriteriaMet);
2577
+ };
2578
+ const cleanRest = getCleanProps(rest);
2579
+ return /* @__PURE__ */ jsxs8(StyledPasswordRoot, { className, ...cleanRest, children: [
2580
+ /* @__PURE__ */ jsx21(StyledPasswordInputWrapper, { children: /* @__PURE__ */ jsx21(
2581
+ TextField,
2582
+ {
2583
+ ref,
2584
+ id,
2585
+ label: ariaLabelledby ? void 0 : label,
2586
+ type: "password",
2587
+ showPasswordToggle: true,
2588
+ value,
2589
+ error: isInvalid,
2590
+ "aria-describedby": ariaDescribedby ?? "passwordCriteria",
2591
+ "aria-labelledby": ariaLabelledby,
2592
+ onFocus: handleFocus,
2593
+ onBlur: handleBlur,
2594
+ onChange: handleChange
2595
+ }
2596
+ ) }),
2597
+ /* @__PURE__ */ jsx21(PasswordCriteria, { show: showCriteria, value })
2598
+ ] });
2599
+ }
2600
+ );
2601
+ Password.displayName = "ToolkitPassword";
2602
+
2422
2603
  // src/components/Spinner/Spinner.tsx
2423
- import React9 from "react";
2604
+ import React10 from "react";
2424
2605
 
2425
2606
  // src/components/Spinner/Spinner.styles.tsx
2426
- import { styled as styled13, alpha as alpha5 } from "@mui/material/styles";
2607
+ import { styled as styled16, alpha as alpha5 } from "@mui/material/styles";
2427
2608
  var spinnerSizing = {
2428
2609
  xs: 20,
2429
2610
  sm: 24,
@@ -2431,7 +2612,7 @@ var spinnerSizing = {
2431
2612
  lg: 56,
2432
2613
  xl: 72
2433
2614
  };
2434
- var StyledSpinnerContainer = styled13("div", {
2615
+ var StyledSpinnerContainer = styled16("div", {
2435
2616
  shouldForwardProp: (prop) => prop !== "$inline"
2436
2617
  })({}, ({ $inline }) => ({
2437
2618
  flex: "0 1 100%",
@@ -2439,7 +2620,7 @@ var StyledSpinnerContainer = styled13("div", {
2439
2620
  flexDirection: $inline ? "row" : "column",
2440
2621
  alignItems: "center"
2441
2622
  }));
2442
- var StyledSpinnerIconContainer = styled13("div", {
2623
+ var StyledSpinnerIconContainer = styled16("div", {
2443
2624
  shouldForwardProp: (prop) => prop !== "$size" && prop !== "$darkBg"
2444
2625
  })(({ $size }) => {
2445
2626
  const size = spinnerSizing[$size];
@@ -2449,7 +2630,7 @@ var StyledSpinnerIconContainer = styled13("div", {
2449
2630
  height: size
2450
2631
  };
2451
2632
  });
2452
- var StyledSpinnerBackground = styled13("div", {
2633
+ var StyledSpinnerBackground = styled16("div", {
2453
2634
  shouldForwardProp: (prop) => prop !== "$size" && prop !== "$darkBg"
2454
2635
  })(({ theme, $size, $darkBg }) => {
2455
2636
  const size = spinnerSizing[$size];
@@ -2463,7 +2644,7 @@ var StyledSpinnerBackground = styled13("div", {
2463
2644
  border: `${lineWidth}px solid ${borderColor}`
2464
2645
  };
2465
2646
  });
2466
- var StyledSpinner = styled13("div", {
2647
+ var StyledSpinner = styled16("div", {
2467
2648
  shouldForwardProp: (prop) => prop !== "$size" && prop !== "$darkBg"
2468
2649
  })(({ theme, $size, $darkBg }) => {
2469
2650
  const size = spinnerSizing[$size];
@@ -2486,7 +2667,7 @@ var StyledSpinner = styled13("div", {
2486
2667
  animation: `toolkit-spin ${animationSpeed} infinite linear`
2487
2668
  };
2488
2669
  });
2489
- var StyledSpinnerMessage2 = styled13("span", {
2670
+ var StyledSpinnerMessage2 = styled16("span", {
2490
2671
  shouldForwardProp: (prop) => prop !== "$darkBg" && prop !== "$inline"
2491
2672
  })(({ theme, $darkBg, $inline }) => ({
2492
2673
  fontFamily: theme.tokens.typography.fontFamilyBase,
@@ -2495,7 +2676,7 @@ var StyledSpinnerMessage2 = styled13("span", {
2495
2676
  marginTop: $inline ? 0 : theme.spacing(1),
2496
2677
  marginLeft: $inline ? theme.spacing(1) : 0
2497
2678
  }));
2498
- var StyledScreenReaderOnly3 = styled13("span")({
2679
+ var StyledScreenReaderOnly4 = styled16("span")({
2499
2680
  position: "absolute",
2500
2681
  width: 1,
2501
2682
  height: 1,
@@ -2508,10 +2689,10 @@ var StyledScreenReaderOnly3 = styled13("span")({
2508
2689
  });
2509
2690
 
2510
2691
  // src/components/Spinner/Spinner.tsx
2511
- import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
2512
- var Spinner = React9.forwardRef(
2692
+ import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
2693
+ var Spinner = React10.forwardRef(
2513
2694
  function Spinner2({ size = "sm", message, isOnDarkBg = false, srText, isInline = false, ...restProps }, ref) {
2514
- return /* @__PURE__ */ jsxs6(
2695
+ return /* @__PURE__ */ jsxs9(
2515
2696
  StyledSpinnerContainer,
2516
2697
  {
2517
2698
  ref,
@@ -2519,12 +2700,12 @@ var Spinner = React9.forwardRef(
2519
2700
  "data-component-id": "Spinner",
2520
2701
  ...getCleanProps(restProps),
2521
2702
  children: [
2522
- /* @__PURE__ */ jsxs6(StyledSpinnerIconContainer, { $size: size, "aria-hidden": "true", children: [
2523
- /* @__PURE__ */ jsx19(StyledSpinnerBackground, { $size: size, $darkBg: isOnDarkBg, "aria-hidden": "true" }),
2524
- /* @__PURE__ */ jsx19(StyledSpinner, { $size: size, $darkBg: isOnDarkBg, "aria-hidden": "true" })
2703
+ /* @__PURE__ */ jsxs9(StyledSpinnerIconContainer, { $size: size, "aria-hidden": "true", children: [
2704
+ /* @__PURE__ */ jsx22(StyledSpinnerBackground, { $size: size, $darkBg: isOnDarkBg, "aria-hidden": "true" }),
2705
+ /* @__PURE__ */ jsx22(StyledSpinner, { $size: size, $darkBg: isOnDarkBg, "aria-hidden": "true" })
2525
2706
  ] }),
2526
- message && /* @__PURE__ */ jsx19(StyledSpinnerMessage2, { $darkBg: isOnDarkBg, $inline: isInline, children: message }),
2527
- srText && /* @__PURE__ */ jsx19(StyledScreenReaderOnly3, { children: srText })
2707
+ message && /* @__PURE__ */ jsx22(StyledSpinnerMessage2, { $darkBg: isOnDarkBg, $inline: isInline, children: message }),
2708
+ srText && /* @__PURE__ */ jsx22(StyledScreenReaderOnly4, { children: srText })
2528
2709
  ]
2529
2710
  }
2530
2711
  );
@@ -2536,14 +2717,14 @@ Spinner.displayName = "ToolkitSpinner";
2536
2717
  import FormHelperText from "@mui/material/FormHelperText";
2537
2718
 
2538
2719
  // src/components/Toggle/Toggle.styles.tsx
2539
- import { styled as styled14 } from "@mui/material/styles";
2540
- var StyledFieldset = styled14("fieldset")(({ theme }) => ({
2720
+ import { styled as styled17 } from "@mui/material/styles";
2721
+ var StyledFieldset = styled17("fieldset")(({ theme }) => ({
2541
2722
  border: "none",
2542
2723
  margin: 0,
2543
2724
  padding: 0,
2544
2725
  minWidth: 0
2545
2726
  }));
2546
- var StyledLegend = styled14("legend")(({ theme }) => ({
2727
+ var StyledLegend = styled17("legend")(({ theme }) => ({
2547
2728
  fontFamily: theme.tokens.typography.fontFamilyBase,
2548
2729
  fontSize: theme.tokens.typography.fontSizeLg,
2549
2730
  fontWeight: theme.tokens.typography.fontWeightRegular,
@@ -2551,7 +2732,7 @@ var StyledLegend = styled14("legend")(({ theme }) => ({
2551
2732
  marginBottom: theme.spacing(1),
2552
2733
  padding: 0
2553
2734
  }));
2554
- var StyledToggleWrapper = styled14("div")(({ theme }) => ({
2735
+ var StyledToggleWrapper = styled17("div")(({ theme }) => ({
2555
2736
  display: "flex",
2556
2737
  flexDirection: "row",
2557
2738
  width: theme.spacing(15),
@@ -2560,7 +2741,7 @@ var StyledToggleWrapper = styled14("div")(({ theme }) => ({
2560
2741
  border: `1px solid ${theme.tokens.colors.border}`,
2561
2742
  borderRadius: theme.tokens.borderRadius.md
2562
2743
  }));
2563
- var StyledSwitch = styled14("label", {
2744
+ var StyledSwitch = styled17("label", {
2564
2745
  shouldForwardProp: (prop) => prop !== "selected" && prop !== "controlType"
2565
2746
  })(({ theme, selected, controlType }) => ({
2566
2747
  position: "relative",
@@ -2650,7 +2831,7 @@ var StyledSwitch = styled14("label", {
2650
2831
  }));
2651
2832
 
2652
2833
  // src/components/Toggle/Toggle.tsx
2653
- import { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
2834
+ import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
2654
2835
  function Toggle({
2655
2836
  name,
2656
2837
  checked = false,
@@ -2661,18 +2842,18 @@ function Toggle({
2661
2842
  onBlur,
2662
2843
  ...restProps
2663
2844
  }) {
2664
- return /* @__PURE__ */ jsxs7(StyledFieldset, { "data-component-id": "toggle", ...getCleanProps(restProps), children: [
2665
- label && /* @__PURE__ */ jsx20(StyledLegend, { children: label }),
2666
- description && /* @__PURE__ */ jsx20(FormHelperText, { children: description }),
2667
- /* @__PURE__ */ jsxs7(StyledToggleWrapper, { children: [
2668
- /* @__PURE__ */ jsxs7(
2845
+ return /* @__PURE__ */ jsxs10(StyledFieldset, { "data-component-id": "toggle", ...getCleanProps(restProps), children: [
2846
+ label && /* @__PURE__ */ jsx23(StyledLegend, { children: label }),
2847
+ description && /* @__PURE__ */ jsx23(FormHelperText, { children: description }),
2848
+ /* @__PURE__ */ jsxs10(StyledToggleWrapper, { children: [
2849
+ /* @__PURE__ */ jsxs10(
2669
2850
  StyledSwitch,
2670
2851
  {
2671
2852
  htmlFor: `${name}off`,
2672
2853
  selected: !checked,
2673
2854
  controlType: "off",
2674
2855
  children: [
2675
- /* @__PURE__ */ jsx20(
2856
+ /* @__PURE__ */ jsx23(
2676
2857
  "input",
2677
2858
  {
2678
2859
  checked: !checked,
@@ -2688,14 +2869,14 @@ function Toggle({
2688
2869
  ]
2689
2870
  }
2690
2871
  ),
2691
- /* @__PURE__ */ jsxs7(
2872
+ /* @__PURE__ */ jsxs10(
2692
2873
  StyledSwitch,
2693
2874
  {
2694
2875
  htmlFor: `${name}on`,
2695
2876
  selected: checked,
2696
2877
  controlType: "on",
2697
2878
  children: [
2698
- /* @__PURE__ */ jsx20(
2879
+ /* @__PURE__ */ jsx23(
2699
2880
  "input",
2700
2881
  {
2701
2882
  checked,
@@ -2712,7 +2893,7 @@ function Toggle({
2712
2893
  }
2713
2894
  )
2714
2895
  ] }),
2715
- error && /* @__PURE__ */ jsx20(FormHelperText, { error: true, children: error })
2896
+ error && /* @__PURE__ */ jsx23(FormHelperText, { error: true, children: error })
2716
2897
  ] });
2717
2898
  }
2718
2899
  Toggle.displayName = "ToolkitToggle";
@@ -2728,37 +2909,37 @@ import {
2728
2909
  TablePagination as MuiTablePagination,
2729
2910
  TableSortLabel as MuiTableSortLabel
2730
2911
  } from "@mui/material";
2731
- import { styled as styled15 } from "@mui/material/styles";
2732
- import { jsx as jsx21 } from "react/jsx-runtime";
2733
- var StyledTableContainer = styled15(MuiTableContainer)(() => ({
2912
+ import { styled as styled18 } from "@mui/material/styles";
2913
+ import { jsx as jsx24 } from "react/jsx-runtime";
2914
+ var StyledTableContainer = styled18(MuiTableContainer)(() => ({
2734
2915
  overflowX: "auto"
2735
2916
  }));
2736
- var StyledHeadCell = styled15(MuiTableCell)(({ theme }) => ({
2917
+ var StyledHeadCell = styled18(MuiTableCell)(({ theme }) => ({
2737
2918
  fontWeight: theme.tokens.components.table.headerFontWeight,
2738
2919
  backgroundColor: theme.tokens.components.table.headerBackground,
2739
2920
  borderBottomWidth: theme.tokens.components.table.borderWidth,
2740
2921
  borderBottomColor: theme.tokens.components.table.borderColor
2741
2922
  }));
2742
2923
  function Table(props) {
2743
- return /* @__PURE__ */ jsx21(MuiTable, { ...props });
2924
+ return /* @__PURE__ */ jsx24(MuiTable, { ...props });
2744
2925
  }
2745
2926
  function TableHead(props) {
2746
- return /* @__PURE__ */ jsx21(MuiTableHead, { ...props });
2927
+ return /* @__PURE__ */ jsx24(MuiTableHead, { ...props });
2747
2928
  }
2748
2929
  function TableBody(props) {
2749
- return /* @__PURE__ */ jsx21(MuiTableBody, { ...props });
2930
+ return /* @__PURE__ */ jsx24(MuiTableBody, { ...props });
2750
2931
  }
2751
2932
  function TableRow(props) {
2752
- return /* @__PURE__ */ jsx21(MuiTableRow, { ...props });
2933
+ return /* @__PURE__ */ jsx24(MuiTableRow, { ...props });
2753
2934
  }
2754
2935
  function TableCell(props) {
2755
- return /* @__PURE__ */ jsx21(MuiTableCell, { ...props });
2936
+ return /* @__PURE__ */ jsx24(MuiTableCell, { ...props });
2756
2937
  }
2757
2938
  function TableHeadCell(props) {
2758
- return /* @__PURE__ */ jsx21(StyledHeadCell, { component: "th", scope: "col", ...props });
2939
+ return /* @__PURE__ */ jsx24(StyledHeadCell, { component: "th", scope: "col", ...props });
2759
2940
  }
2760
2941
  function TableContainer(props) {
2761
- return /* @__PURE__ */ jsx21(StyledTableContainer, { ...props });
2942
+ return /* @__PURE__ */ jsx24(StyledTableContainer, { ...props });
2762
2943
  }
2763
2944
  var TablePagination = MuiTablePagination;
2764
2945
  var TableSortLabel = MuiTableSortLabel;
@@ -2771,144 +2952,144 @@ TableHeadCell.displayName = "ToolkitTableHeadCell";
2771
2952
  TableContainer.displayName = "ToolkitTableContainer";
2772
2953
 
2773
2954
  // src/foundation/H1/H1.tsx
2774
- import React10 from "react";
2955
+ import React11 from "react";
2775
2956
  import { Typography } from "@mui/material";
2776
- import { jsx as jsx22 } from "react/jsx-runtime";
2777
- var H1 = React10.forwardRef(
2957
+ import { jsx as jsx25 } from "react/jsx-runtime";
2958
+ var H1 = React11.forwardRef(
2778
2959
  function H12({ color = "text.primary", children, ...props }, ref) {
2779
- return /* @__PURE__ */ jsx22(Typography, { ref, variant: "h1", color, ...props, children });
2960
+ return /* @__PURE__ */ jsx25(Typography, { ref, variant: "h1", color, ...props, children });
2780
2961
  }
2781
2962
  );
2782
2963
  H1.displayName = "ToolkitH1";
2783
2964
 
2784
2965
  // src/foundation/H2/H2.tsx
2785
- import React11 from "react";
2966
+ import React12 from "react";
2786
2967
  import { Typography as Typography2 } from "@mui/material";
2787
- import { jsx as jsx23 } from "react/jsx-runtime";
2788
- var H2 = React11.forwardRef(
2968
+ import { jsx as jsx26 } from "react/jsx-runtime";
2969
+ var H2 = React12.forwardRef(
2789
2970
  function H22({ color = "text.primary", children, ...props }, ref) {
2790
- return /* @__PURE__ */ jsx23(Typography2, { ref, variant: "h2", color, ...props, children });
2971
+ return /* @__PURE__ */ jsx26(Typography2, { ref, variant: "h2", color, ...props, children });
2791
2972
  }
2792
2973
  );
2793
2974
  H2.displayName = "ToolkitH2";
2794
2975
 
2795
2976
  // src/foundation/H3/H3.tsx
2796
- import React12 from "react";
2977
+ import React13 from "react";
2797
2978
  import { Typography as Typography3 } from "@mui/material";
2798
- import { jsx as jsx24 } from "react/jsx-runtime";
2799
- var H3 = React12.forwardRef(
2979
+ import { jsx as jsx27 } from "react/jsx-runtime";
2980
+ var H3 = React13.forwardRef(
2800
2981
  function H32({ color = "text.primary", children, ...props }, ref) {
2801
- return /* @__PURE__ */ jsx24(Typography3, { ref, variant: "h3", color, ...props, children });
2982
+ return /* @__PURE__ */ jsx27(Typography3, { ref, variant: "h3", color, ...props, children });
2802
2983
  }
2803
2984
  );
2804
2985
  H3.displayName = "ToolkitH3";
2805
2986
 
2806
2987
  // src/foundation/H4/H4.tsx
2807
- import React13 from "react";
2988
+ import React14 from "react";
2808
2989
  import { Typography as Typography4 } from "@mui/material";
2809
- import { jsx as jsx25 } from "react/jsx-runtime";
2810
- var H4 = React13.forwardRef(
2990
+ import { jsx as jsx28 } from "react/jsx-runtime";
2991
+ var H4 = React14.forwardRef(
2811
2992
  function H42({ color = "text.primary", children, ...props }, ref) {
2812
- return /* @__PURE__ */ jsx25(Typography4, { ref, variant: "h4", color, ...props, children });
2993
+ return /* @__PURE__ */ jsx28(Typography4, { ref, variant: "h4", color, ...props, children });
2813
2994
  }
2814
2995
  );
2815
2996
  H4.displayName = "ToolkitH4";
2816
2997
 
2817
2998
  // src/foundation/H5/H5.tsx
2818
- import React14 from "react";
2999
+ import React15 from "react";
2819
3000
  import { Typography as Typography5 } from "@mui/material";
2820
- import { jsx as jsx26 } from "react/jsx-runtime";
2821
- var H5 = React14.forwardRef(
3001
+ import { jsx as jsx29 } from "react/jsx-runtime";
3002
+ var H5 = React15.forwardRef(
2822
3003
  function H52({ color = "text.primary", children, ...props }, ref) {
2823
- return /* @__PURE__ */ jsx26(Typography5, { ref, variant: "h5", color, ...props, children });
3004
+ return /* @__PURE__ */ jsx29(Typography5, { ref, variant: "h5", color, ...props, children });
2824
3005
  }
2825
3006
  );
2826
3007
  H5.displayName = "ToolkitH5";
2827
3008
 
2828
3009
  // src/foundation/H6/H6.tsx
2829
- import React15 from "react";
3010
+ import React16 from "react";
2830
3011
  import { Typography as Typography6 } from "@mui/material";
2831
- import { jsx as jsx27 } from "react/jsx-runtime";
2832
- var H6 = React15.forwardRef(
3012
+ import { jsx as jsx30 } from "react/jsx-runtime";
3013
+ var H6 = React16.forwardRef(
2833
3014
  function H62({ color = "text.primary", children, ...props }, ref) {
2834
- return /* @__PURE__ */ jsx27(Typography6, { ref, variant: "h6", color, ...props, children });
3015
+ return /* @__PURE__ */ jsx30(Typography6, { ref, variant: "h6", color, ...props, children });
2835
3016
  }
2836
3017
  );
2837
3018
  H6.displayName = "ToolkitH6";
2838
3019
 
2839
3020
  // src/foundation/Subtitle1/Subtitle1.tsx
2840
- import React16 from "react";
3021
+ import React17 from "react";
2841
3022
  import { Typography as Typography7 } from "@mui/material";
2842
- import { jsx as jsx28 } from "react/jsx-runtime";
2843
- var Subtitle1 = React16.forwardRef(
3023
+ import { jsx as jsx31 } from "react/jsx-runtime";
3024
+ var Subtitle1 = React17.forwardRef(
2844
3025
  function Subtitle12({ color = "text.primary", children, ...props }, ref) {
2845
- return /* @__PURE__ */ jsx28(Typography7, { ref, variant: "subtitle1", color, ...props, children });
3026
+ return /* @__PURE__ */ jsx31(Typography7, { ref, variant: "subtitle1", color, ...props, children });
2846
3027
  }
2847
3028
  );
2848
3029
  Subtitle1.displayName = "ToolkitSubtitle1";
2849
3030
 
2850
3031
  // src/foundation/Subtitle2/Subtitle2.tsx
2851
- import React17 from "react";
3032
+ import React18 from "react";
2852
3033
  import { Typography as Typography8 } from "@mui/material";
2853
- import { jsx as jsx29 } from "react/jsx-runtime";
2854
- var Subtitle2 = React17.forwardRef(
3034
+ import { jsx as jsx32 } from "react/jsx-runtime";
3035
+ var Subtitle2 = React18.forwardRef(
2855
3036
  function Subtitle22({ color = "text.primary", children, ...props }, ref) {
2856
- return /* @__PURE__ */ jsx29(Typography8, { ref, variant: "subtitle2", color, ...props, children });
3037
+ return /* @__PURE__ */ jsx32(Typography8, { ref, variant: "subtitle2", color, ...props, children });
2857
3038
  }
2858
3039
  );
2859
3040
  Subtitle2.displayName = "ToolkitSubtitle2";
2860
3041
 
2861
3042
  // src/foundation/Body1/Body1.tsx
2862
- import React18 from "react";
3043
+ import React19 from "react";
2863
3044
  import { Typography as Typography9 } from "@mui/material";
2864
- import { jsx as jsx30 } from "react/jsx-runtime";
2865
- var Body1 = React18.forwardRef(
3045
+ import { jsx as jsx33 } from "react/jsx-runtime";
3046
+ var Body1 = React19.forwardRef(
2866
3047
  function Body12({ color = "text.primary", children, ...props }, ref) {
2867
- return /* @__PURE__ */ jsx30(Typography9, { ref, variant: "body1", color, ...props, children });
3048
+ return /* @__PURE__ */ jsx33(Typography9, { ref, variant: "body1", color, ...props, children });
2868
3049
  }
2869
3050
  );
2870
3051
  Body1.displayName = "ToolkitBody1";
2871
3052
 
2872
3053
  // src/foundation/Body2/Body2.tsx
2873
- import React19 from "react";
3054
+ import React20 from "react";
2874
3055
  import { Typography as Typography10 } from "@mui/material";
2875
- import { jsx as jsx31 } from "react/jsx-runtime";
2876
- var Body2 = React19.forwardRef(
3056
+ import { jsx as jsx34 } from "react/jsx-runtime";
3057
+ var Body2 = React20.forwardRef(
2877
3058
  function Body22({ color = "text.primary", children, ...props }, ref) {
2878
- return /* @__PURE__ */ jsx31(Typography10, { ref, variant: "body2", color, ...props, children });
3059
+ return /* @__PURE__ */ jsx34(Typography10, { ref, variant: "body2", color, ...props, children });
2879
3060
  }
2880
3061
  );
2881
3062
  Body2.displayName = "ToolkitBody2";
2882
3063
 
2883
3064
  // src/foundation/Caption/Caption.tsx
2884
- import React20 from "react";
3065
+ import React21 from "react";
2885
3066
  import { Typography as Typography11 } from "@mui/material";
2886
- import { jsx as jsx32 } from "react/jsx-runtime";
2887
- var Caption = React20.forwardRef(
3067
+ import { jsx as jsx35 } from "react/jsx-runtime";
3068
+ var Caption = React21.forwardRef(
2888
3069
  function Caption2({ color = "text.primary", children, ...props }, ref) {
2889
- return /* @__PURE__ */ jsx32(Typography11, { ref, variant: "caption", color, ...props, children });
3070
+ return /* @__PURE__ */ jsx35(Typography11, { ref, variant: "caption", color, ...props, children });
2890
3071
  }
2891
3072
  );
2892
3073
  Caption.displayName = "ToolkitCaption";
2893
3074
 
2894
3075
  // src/foundation/Overline/Overline.tsx
2895
- import React21 from "react";
3076
+ import React22 from "react";
2896
3077
  import { Typography as Typography12 } from "@mui/material";
2897
- import { jsx as jsx33 } from "react/jsx-runtime";
2898
- var Overline = React21.forwardRef(
3078
+ import { jsx as jsx36 } from "react/jsx-runtime";
3079
+ var Overline = React22.forwardRef(
2899
3080
  function Overline2({ color = "text.primary", children, ...props }, ref) {
2900
- return /* @__PURE__ */ jsx33(Typography12, { ref, variant: "overline", color, ...props, children });
3081
+ return /* @__PURE__ */ jsx36(Typography12, { ref, variant: "overline", color, ...props, children });
2901
3082
  }
2902
3083
  );
2903
3084
  Overline.displayName = "ToolkitOverline";
2904
3085
 
2905
3086
  // src/foundation/TypographyButton/TypographyButton.tsx
2906
- import React22 from "react";
3087
+ import React23 from "react";
2907
3088
  import { Typography as Typography13 } from "@mui/material";
2908
- import { jsx as jsx34 } from "react/jsx-runtime";
2909
- var TypographyButton = React22.forwardRef(
3089
+ import { jsx as jsx37 } from "react/jsx-runtime";
3090
+ var TypographyButton = React23.forwardRef(
2910
3091
  function TypographyButton2({ color = "text.primary", children, ...props }, ref) {
2911
- return /* @__PURE__ */ jsx34(Typography13, { ref, variant: "button", color, ...props, children });
3092
+ return /* @__PURE__ */ jsx37(Typography13, { ref, variant: "button", color, ...props, children });
2912
3093
  }
2913
3094
  );
2914
3095
  TypographyButton.displayName = "ToolkitTypographyButton";
@@ -2958,6 +3139,10 @@ export {
2958
3139
  PageSpinner,
2959
3140
  Pagination,
2960
3141
  Paragraph,
3142
+ Password,
3143
+ PasswordCriteria,
3144
+ PasswordRule,
3145
+ PasswordRules,
2961
3146
  Spinner,
2962
3147
  StandaloneAccordion,
2963
3148
  StaticDatePicker,
@@ -2985,6 +3170,7 @@ export {
2985
3170
  Variant,
2986
3171
  createMuiTheme,
2987
3172
  getThemeTokens,
3173
+ passwordValidator,
2988
3174
  resolveThemeName,
2989
3175
  themeRegistry
2990
3176
  };