@yr3/ui 1.0.16 → 1.0.18

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.cjs CHANGED
@@ -49,8 +49,10 @@ __export(index_exports, {
49
49
  Flex: () => Flex,
50
50
  Grid: () => Grid,
51
51
  Group: () => Group,
52
+ IconCalendar: () => IconCalendar,
52
53
  IconClose: () => IconClose,
53
54
  IconDown: () => IconDown,
55
+ IconLeft: () => IconLeft,
54
56
  IconSearch: () => IconSearch,
55
57
  Image: () => Image,
56
58
  ImageDropzone: () => ImageDropzone,
@@ -60,6 +62,7 @@ __export(index_exports, {
60
62
  Loader: () => Loader,
61
63
  Modal: () => Modal,
62
64
  ModalContainer: () => ModalContainer,
65
+ MonthSelector: () => MonthSelector,
63
66
  Notistack: () => Notistack,
64
67
  NotistackContext: () => NotistackContext,
65
68
  NotistackProvider: () => NotistackProvider,
@@ -68,6 +71,7 @@ __export(index_exports, {
68
71
  PlacesAutocomplete: () => PlacesAutocomplete,
69
72
  Radio: () => Radio,
70
73
  Select: () => Select,
74
+ Selector: () => Selector,
71
75
  Slide: () => Slide,
72
76
  Switch: () => Switch,
73
77
  Text: () => Text,
@@ -92,6 +96,7 @@ __export(index_exports, {
92
96
  getCountryCodePhone: () => getCountryCodePhone,
93
97
  getDialPhone: () => getDialPhone,
94
98
  getMonthCalendar: () => getMonthCalendar,
99
+ getMonthCalendarProps: () => getMonthCalendarProps,
95
100
  getNumberPhone: () => getNumberPhone,
96
101
  hexToRgb: () => hexToRgb,
97
102
  initTheme: () => initTheme,
@@ -220,6 +225,20 @@ function getMonthCalendar(year, month, startIndex, selected, props) {
220
225
  currentDay: dayCurrent
221
226
  };
222
227
  }
228
+ function getMonthCalendarProps({ year, years, month, formatMonth, monthsDisabled }) {
229
+ const startIndex = (0, import_dayjs.default)().year(year).month().valueOf();
230
+ return {
231
+ month: (0, import_dayjs.default)().set("m", month).format(formatMonth || "MMM"),
232
+ year,
233
+ startIndex,
234
+ years,
235
+ months: Array.from({ length: 12 }, (_, i) => ({
236
+ label: (0, import_dayjs.default)().month(i).format(formatMonth || "MMM"),
237
+ value: (0, import_dayjs.default)().month(i).format("MM"),
238
+ disabled: (0, import_dayjs.default)().year(year).month(i).isAfter((0, import_dayjs.default)(), "month") || monthsDisabled && monthsDisabled.includes(i)
239
+ }))
240
+ };
241
+ }
223
242
 
224
243
  // src/utils/color.ts
225
244
  var rgbToHex = (r, g, b) => {
@@ -1500,9 +1519,347 @@ var Drawer = ({ open, anchor = null, onClose, children, propsComponent }) => {
1500
1519
  );
1501
1520
  };
1502
1521
 
1503
- // src/components/Fade/Fade.tsx
1522
+ // src/components/Input/Input.tsx
1504
1523
  var React9 = __toESM(require("react"), 1);
1524
+
1525
+ // src/components/Label/Label.tsx
1505
1526
  var import_jsx_runtime17 = require("react/jsx-runtime");
1527
+ var Label = ({ text: text2, children, className, color = "primary", ui, style }) => {
1528
+ const classes = bem("yr3Label");
1529
+ const classComponent = classes(void 0, { color: `color-${color}` });
1530
+ const classnames = bemMerge(classComponent, className);
1531
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1532
+ "span",
1533
+ {
1534
+ className: classnames,
1535
+ "data-testid": "yr3Label",
1536
+ style: composeStyles(ui, style),
1537
+ children: text2 ? text2 : children
1538
+ }
1539
+ );
1540
+ };
1541
+
1542
+ // src/components/Input/input.variants.ts
1543
+ var inputVariants = createVariants({
1544
+ base: "yr3Input",
1545
+ variants: {
1546
+ variant: {
1547
+ filled: "yr3Input--filled",
1548
+ outlined: "yr3Input--outlined",
1549
+ base: "yr3Input--base",
1550
+ lined: "yr3Input--lined"
1551
+ },
1552
+ color: {
1553
+ primary: "yr3Input--color-primary",
1554
+ secondary: "yr3Input--color-secondary",
1555
+ success: "yr3Input--color-success",
1556
+ text: "yr3Input--color-text",
1557
+ disabled: "yr3Input--color-disabled",
1558
+ background: "yr3Input--color-background",
1559
+ error: "yr3Input--color-error",
1560
+ warning: "yr3Input--color-warning",
1561
+ info: "yr3Input--color-info",
1562
+ common: "yr3Input--color-common"
1563
+ },
1564
+ size: {
1565
+ auto: "yr3Input--size-auto",
1566
+ full: "yr3Input--size-full"
1567
+ },
1568
+ rounded: {
1569
+ true: "yr3Input--rounded"
1570
+ },
1571
+ disabled: {
1572
+ true: "yr3Input--disabled"
1573
+ },
1574
+ animated: {
1575
+ true: "yr3Input--animated"
1576
+ },
1577
+ label: {
1578
+ true: "yr3Input--label"
1579
+ }
1580
+ }
1581
+ });
1582
+
1583
+ // src/components/Input/Input.tsx
1584
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1585
+ var initiaPropsComponent = {
1586
+ label: {
1587
+ display: true,
1588
+ ui: {},
1589
+ style: {}
1590
+ },
1591
+ control: {}
1592
+ };
1593
+ var Input = React9.forwardRef(
1594
+ ({
1595
+ label,
1596
+ value,
1597
+ defaultValue,
1598
+ onChange,
1599
+ variant = "outlined",
1600
+ error = "ce un errore",
1601
+ separatorCurrency = ",",
1602
+ ui,
1603
+ style,
1604
+ propsComponent = initiaPropsComponent,
1605
+ pattern = "text",
1606
+ color = "primary",
1607
+ size = "auto",
1608
+ ...props
1609
+ }, ref) => {
1610
+ const [focused, setFocused] = React9.useState(false);
1611
+ const [internalValue, setInternalValue] = React9.useState(defaultValue);
1612
+ const isControlled = value !== void 0;
1613
+ const currentValue = isControlled ? value : internalValue;
1614
+ const isActive = focused || !!currentValue;
1615
+ const checkPattern = (type, value2) => {
1616
+ switch (type) {
1617
+ case "email":
1618
+ return /^[\w.-]+@[\w.-]+\.\w{2,}$/.test(value2);
1619
+ case "phone":
1620
+ return /^\d{10}$/.test(value2);
1621
+ case "number":
1622
+ return /^\d+$/.test(value2);
1623
+ case "currency":
1624
+ if (separatorCurrency === ",") return /^\d+(\,\d{0,2})?$/.test(value2);
1625
+ if (separatorCurrency === ".") return /^\d+(\.\d{0,2})?$/.test(value2);
1626
+ default:
1627
+ return true;
1628
+ }
1629
+ };
1630
+ const handleChange = (e) => {
1631
+ const newValue = e.target.value;
1632
+ if (newValue && !checkPattern(pattern, newValue)) return;
1633
+ if (!isControlled) {
1634
+ setInternalValue(newValue);
1635
+ }
1636
+ onChange?.(e, newValue);
1637
+ };
1638
+ const classes = inputVariants({ color, label: propsComponent?.label?.display });
1639
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Control, { variant, color, label: propsComponent?.label?.display, ...propsComponent.control, children: [
1640
+ propsComponent?.label?.display && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1641
+ Label,
1642
+ {
1643
+ text: label || "",
1644
+ className: !!isActive ? "yr3Input--active" : "",
1645
+ color,
1646
+ ...propsComponent.label
1647
+ }
1648
+ ),
1649
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1650
+ "input",
1651
+ {
1652
+ ref,
1653
+ value: currentValue,
1654
+ inputMode: pattern === "currency" ? "numeric" : pattern === "phone" ? "tel" : void 0,
1655
+ autoComplete: "off",
1656
+ type: "text",
1657
+ onChange: handleChange,
1658
+ onFocus: () => setFocused(true),
1659
+ onBlur: () => setFocused(false),
1660
+ className: classes,
1661
+ style: composeStyles(ui, style),
1662
+ ...props,
1663
+ "data-testid": "yr3Input"
1664
+ }
1665
+ )
1666
+ ] });
1667
+ }
1668
+ );
1669
+
1670
+ // src/components/Date/MonthSelector.tsx
1671
+ var React10 = __toESM(require("react"), 1);
1672
+
1673
+ // src/Icons/IconSearch.tsx
1674
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1675
+ var IconSearch = (props) => {
1676
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("svg", { width: props.width || "64px", height: props.height || "64px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1677
+ "path",
1678
+ {
1679
+ d: "M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z",
1680
+ stroke: props.stroke || "#fff",
1681
+ strokeWidth: props.strokeWidth || "1.5",
1682
+ strokeLinecap: "round",
1683
+ strokeLinejoin: "round"
1684
+ }
1685
+ ) });
1686
+ };
1687
+
1688
+ // src/Icons/IconDown.tsx
1689
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1690
+ var IconDown = (props) => {
1691
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("svg", { width: props.width || "64px", height: props.height || "64px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "data-testid": "yr3Icons", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { d: "M7 10L12 15L17 10", stroke: props.stroke || "#fff", strokeWidth: props.strokeWidth || "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1692
+ };
1693
+
1694
+ // src/Icons/IconCalendar.tsx
1695
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1696
+ var IconCalendar = (props) => {
1697
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("svg", { width: props.width || "24px", height: props.height || "24px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("path", { stroke: props.stroke, strokeLinecap: "round", strokeLinejoin: "round", d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" }) });
1698
+ };
1699
+
1700
+ // src/Icons/IconLeft.tsx
1701
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1702
+ var IconLeft = (props) => {
1703
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("svg", { width: props.width || "24px", height: props.height || "24px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "M15 7L10 12L15 17", stroke: props.stroke || "currentColor", strokeWidth: props.strokeWidth || "2", strokeLinecap: "round", strokeLinejoin: "round" }) });
1704
+ };
1705
+
1706
+ // src/components/Date/month.variants.ts
1707
+ var monthSelectorIconVariants = createVariants({
1708
+ base: "yr3MonthSelector--icon",
1709
+ variants: {
1710
+ color: {
1711
+ primary: "yr3MonthSelector--icon-color-primary",
1712
+ secondary: "yr3MonthSelector--icon-color-secondary",
1713
+ success: "yr3MonthSelector--icon-color-success",
1714
+ text: "yr3MonthSelector--icon-color-text",
1715
+ disabled: "yr3MonthSelector--icon-color-disabled",
1716
+ background: "yr3MonthSelector--icon-color-background",
1717
+ error: "yr3MonthSelector--icon-color-error",
1718
+ warning: "yr3MonthSelector--icon-color-warning",
1719
+ info: "yr3MonthSelector--icon-color-info",
1720
+ common: "yr3MonthSelector--icon-color-common"
1721
+ },
1722
+ animated: {
1723
+ true: "yr3MonthSelector--icon-animated"
1724
+ },
1725
+ open: {
1726
+ true: "yr3MonthSelector--icon-open"
1727
+ }
1728
+ }
1729
+ });
1730
+
1731
+ // src/Icons/IconRight.tsx
1732
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1733
+ var IconRight = (props) => {
1734
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("svg", { width: props.width || "24px", height: props.height || "24px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1735
+ "path",
1736
+ {
1737
+ d: "M9 7L14 12L9 17",
1738
+ stroke: props.stroke || "currentColor",
1739
+ strokeWidth: props.strokeWidth || "2",
1740
+ strokeLinecap: "round",
1741
+ strokeLinejoin: "round"
1742
+ }
1743
+ ) });
1744
+ };
1745
+
1746
+ // src/components/Date/MonthSelector.tsx
1747
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1748
+ var initialPropsComponent3 = {
1749
+ control: {
1750
+ variant: "outlined",
1751
+ color: "primary",
1752
+ ui: {},
1753
+ style: {}
1754
+ },
1755
+ label: {
1756
+ display: true,
1757
+ color: "primary",
1758
+ ui: {},
1759
+ style: {}
1760
+ },
1761
+ wrapper: {
1762
+ ui: {},
1763
+ style: {}
1764
+ },
1765
+ icon: {
1766
+ color: "primary",
1767
+ style: {},
1768
+ svg: {
1769
+ width: 20,
1770
+ height: 20
1771
+ },
1772
+ component: void 0
1773
+ }
1774
+ };
1775
+ var MonthSelector = ({ label, year, month, value, defaultValue, propsComponent, years, language, formatMonth = "MMM", monthsDisabled }) => {
1776
+ const [open, setOpen] = React10.useState(false);
1777
+ const [valueState, setValueState] = React10.useState(value || defaultValue || null);
1778
+ const [yearSelected, setYearSelected] = React10.useState(0);
1779
+ const ref = React10.useRef(null);
1780
+ useClickAway(ref, () => setOpen(false));
1781
+ const properties = mergeDeep(initialPropsComponent3, propsComponent || {});
1782
+ const iconClasses = monthSelectorIconVariants({ color: properties?.icon?.color });
1783
+ const data = React10.useMemo(() => getMonthCalendarProps({ year, month, years, language, formatMonth, monthsDisabled }), [year, month, years, language, formatMonth, monthsDisabled]);
1784
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "yr3MonthSelector", ref, children: [
1785
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1786
+ Input,
1787
+ {
1788
+ label,
1789
+ variant: "base",
1790
+ disabled: true,
1791
+ value: valueState || "",
1792
+ propsComponent: {
1793
+ control: properties?.control,
1794
+ label: properties?.label
1795
+ }
1796
+ }
1797
+ ),
1798
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1799
+ "div",
1800
+ {
1801
+ className: iconClasses,
1802
+ style: properties?.icon?.style,
1803
+ onClick: () => setOpen((prev) => !prev),
1804
+ "data-testid": "yr3MonthSelector--icon",
1805
+ children: properties?.icon?.component ? properties?.icon.component : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1806
+ IconCalendar,
1807
+ {
1808
+ width: properties?.icon?.svg?.width,
1809
+ height: properties?.icon?.svg?.height,
1810
+ stroke: "currentColor",
1811
+ style: properties?.icon?.svg
1812
+ }
1813
+ )
1814
+ }
1815
+ ),
1816
+ open && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1817
+ "div",
1818
+ {
1819
+ className: "yr3MonthSelector--wrapper",
1820
+ style: composeStyles(properties?.wrapper?.ui, properties?.wrapper?.style),
1821
+ "data-testid": "yr3MonthSelector--wrapper",
1822
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "yr3MonthSelector--component", children: [
1823
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "yr3MonthSelector--year-options", children: [
1824
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("button", { disabled: yearSelected === 0, type: "button", className: `yr3MonthSelector--year-button-back ${yearSelected === 0 ? "yr3MonthSelector--year-button-back--disabled" : ""} `, onClick: () => setYearSelected(yearSelected - 1), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(IconLeft, { width: 20, height: 20, stroke: "currentColor" }) }),
1825
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `yr3MonthSelector--year-option`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Text, { variant: "body1", color: "primary", children: [
1826
+ years[yearSelected],
1827
+ " "
1828
+ ] }) }),
1829
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1830
+ "button",
1831
+ {
1832
+ disabled: yearSelected === years.length - 1,
1833
+ type: "button",
1834
+ className: `yr3MonthSelector--year-button-next ${yearSelected === years.length - 1 ? "yr3MonthSelector--year-button-next--disabled" : ""}`,
1835
+ onClick: () => setYearSelected(yearSelected + 1),
1836
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(IconRight, { width: 20, height: 30, stroke: "currentColor" })
1837
+ }
1838
+ )
1839
+ ] }),
1840
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "yr3MonthSelector--months", children: data.months.map((m) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1841
+ "button",
1842
+ {
1843
+ type: "button",
1844
+ disabled: m.disabled,
1845
+ className: `yr3MonthSelector--month ${m.disabled ? "yr3MonthSelector--month-disabled" : ""}`,
1846
+ onClick: () => {
1847
+ setValueState(`${m.value}-${years[yearSelected]}`);
1848
+ setOpen(false);
1849
+ },
1850
+ children: m.label
1851
+ },
1852
+ "month-" + m.value
1853
+ )) })
1854
+ ] })
1855
+ }
1856
+ )
1857
+ ] });
1858
+ };
1859
+
1860
+ // src/components/Fade/Fade.tsx
1861
+ var React11 = __toESM(require("react"), 1);
1862
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1506
1863
  var Fade = ({
1507
1864
  in: inProp,
1508
1865
  children,
@@ -1510,7 +1867,7 @@ var Fade = ({
1510
1867
  onTransitionEnd,
1511
1868
  style
1512
1869
  }) => {
1513
- React9.useEffect(() => {
1870
+ React11.useEffect(() => {
1514
1871
  let timeoutId;
1515
1872
  if (inProp) {
1516
1873
  timeoutId = setTimeout(() => {
@@ -1519,7 +1876,7 @@ var Fade = ({
1519
1876
  }
1520
1877
  return () => clearTimeout(timeoutId);
1521
1878
  }, [inProp, duration, onTransitionEnd]);
1522
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1879
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1523
1880
  "div",
1524
1881
  {
1525
1882
  className: `yr3Fade ${inProp ? "yr3Fade--in" : ""}`,
@@ -1556,7 +1913,7 @@ var flexVariants = createVariants({
1556
1913
  var flex_variants_default = flexVariants;
1557
1914
 
1558
1915
  // src/components/Flex/Flex.tsx
1559
- var import_jsx_runtime18 = require("react/jsx-runtime");
1916
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1560
1917
  var Flex = ({
1561
1918
  container = false,
1562
1919
  spacing: spacing2 = 1,
@@ -1571,7 +1928,7 @@ var Flex = ({
1571
1928
  ...props
1572
1929
  }) => {
1573
1930
  const classes = flex_variants_default({ variant, container, center, between, bordered, spacing: spacing2 });
1574
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1931
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1575
1932
  "div",
1576
1933
  {
1577
1934
  className: classes,
@@ -1584,7 +1941,7 @@ var Flex = ({
1584
1941
  };
1585
1942
 
1586
1943
  // src/components/Grid/Grid.tsx
1587
- var import_jsx_runtime19 = require("react/jsx-runtime");
1944
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1588
1945
  var Grid = ({
1589
1946
  container = false,
1590
1947
  spacing: spacing2 = 0,
@@ -1617,7 +1974,7 @@ var Grid = ({
1617
1974
  }
1618
1975
  const classes = bem("yr3Grid");
1619
1976
  const className = classes(void 0, { container, [`spacing-${spacing2}`]: center, span: item && `Col-${size}` });
1620
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1977
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1621
1978
  "div",
1622
1979
  {
1623
1980
  className,
@@ -1630,7 +1987,7 @@ var Grid = ({
1630
1987
  };
1631
1988
 
1632
1989
  // src/components/Group/Group.tsx
1633
- var React10 = __toESM(require("react"), 1);
1990
+ var React12 = __toESM(require("react"), 1);
1634
1991
 
1635
1992
  // src/components/Group/group.variants.ts
1636
1993
  var groupVariants = createVariants({
@@ -1661,24 +2018,25 @@ var groupVariants = createVariants({
1661
2018
  });
1662
2019
 
1663
2020
  // src/components/Group/Group.tsx
1664
- var import_jsx_runtime20 = require("react/jsx-runtime");
1665
- var initialComponents = {
2021
+ var import_jsx_runtime28 = require("react/jsx-runtime");
2022
+ var initialComponents = (color) => ({
1666
2023
  group: {
1667
2024
  ui: {},
1668
2025
  style: {}
1669
2026
  },
1670
2027
  item: {
2028
+ variant: "text",
1671
2029
  ui: {},
1672
2030
  style: {},
1673
2031
  text: {
1674
2032
  variant: "caption",
1675
- color: "primary",
2033
+ color,
1676
2034
  as: "span",
1677
2035
  ui: {},
1678
2036
  style: {}
1679
2037
  }
1680
2038
  }
1681
- };
2039
+ });
1682
2040
  var Group = ({
1683
2041
  options,
1684
2042
  value,
@@ -1689,10 +2047,13 @@ var Group = ({
1689
2047
  exclude = false,
1690
2048
  propsComponent
1691
2049
  }) => {
1692
- const properties = mergeDeep(initialComponents, propsComponent || {});
1693
- const [internalValue, setInternalValue] = React10.useState(null);
2050
+ const properties = mergeDeep(
2051
+ initialComponents(type === "rounded" ? "text" : color),
2052
+ propsComponent || {}
2053
+ );
2054
+ const [internalValue, setInternalValue] = React12.useState(null);
1694
2055
  const isControlled = value !== void 0;
1695
- React10.useEffect(() => {
2056
+ React12.useEffect(() => {
1696
2057
  if (isControlled) {
1697
2058
  setInternalValue(value);
1698
2059
  }
@@ -1703,7 +2064,12 @@ var Group = ({
1703
2064
  active: !exclude ? Array.isArray(value) ? value.includes(item?.value) : internalValue === item.value : false,
1704
2065
  exclude: exclude && Array.isArray(value) ? !value.includes(item?.value) : ""
1705
2066
  });
1706
- const mappingStyle = React10.useMemo(() => {
2067
+ const mappingStyle = React12.useMemo(() => {
2068
+ if (variant !== "filled") return options.map((opt, index) => ({
2069
+ ...opt,
2070
+ index,
2071
+ ui: {}
2072
+ }));
1707
2073
  if (!exclude) {
1708
2074
  const checked = options.filter((opt) => Array.isArray(value) ? value.includes(opt.value) : internalValue === opt.value);
1709
2075
  return checked.map((opt, index) => ({
@@ -1728,21 +2094,39 @@ var Group = ({
1728
2094
  borderBottomRightRadius: index === diference.length - 1 ? "var(--group-border-radius, 0px)" : 0
1729
2095
  }
1730
2096
  }));
1731
- }, [exclude, value, options]);
1732
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2097
+ }, [exclude, value, options, type]);
2098
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1733
2099
  "div",
1734
2100
  {
1735
2101
  className: groupVariants({ variant, color, type }),
1736
2102
  "data-testid": "yr3Group",
1737
2103
  style: composeStyles(properties.group?.ui, properties.group?.style),
1738
- children: options.map((opt, index) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2104
+ children: options.map((opt, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1739
2105
  "div",
1740
2106
  {
1741
2107
  "data-testid": "yr3Group-item",
1742
2108
  className: clasess(opt),
1743
2109
  onClick: () => (!opt.disabled && !exclude || exclude && mappingStyle?.find((e) => e.value === opt.value)?.index === 0) && onChange?.(opt.value),
1744
- style: composeStyles(properties.item?.ui, { ...properties.item?.style, ...mappingStyle?.find((o) => o.value === opt.value)?.style }),
1745
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { ...properties.item?.text, children: opt.label })
2110
+ style: composeStyles(
2111
+ {
2112
+ ...properties.item?.ui,
2113
+ ...opt?.ui,
2114
+ ...mappingStyle?.find((o) => o.value === opt.value)?.ui
2115
+ },
2116
+ {
2117
+ ...properties.item?.style,
2118
+ ...opt?.style,
2119
+ ...mappingStyle?.find((o) => o.value === opt.value)?.style
2120
+ }
2121
+ ),
2122
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2123
+ Text,
2124
+ {
2125
+ ...properties.item?.text,
2126
+ color: opt.value === value ? opt?.active : properties.item?.text?.color || color,
2127
+ children: opt.label
2128
+ }
2129
+ )
1746
2130
  },
1747
2131
  opt.value
1748
2132
  ))
@@ -1751,14 +2135,14 @@ var Group = ({
1751
2135
  };
1752
2136
 
1753
2137
  // src/components/Image/Image.tsx
1754
- var import_jsx_runtime21 = require("react/jsx-runtime");
2138
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1755
2139
  var Image = ({
1756
2140
  src,
1757
2141
  alt = "",
1758
2142
  ui,
1759
2143
  style
1760
2144
  }) => {
1761
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2145
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1762
2146
  "img",
1763
2147
  {
1764
2148
  src,
@@ -1771,9 +2155,9 @@ var Image = ({
1771
2155
  };
1772
2156
 
1773
2157
  // src/components/ImageDropzone/ImageDropzone.tsx
1774
- var React11 = __toESM(require("react"), 1);
1775
- var import_jsx_runtime22 = require("react/jsx-runtime");
1776
- var initialPropsComponent3 = {
2158
+ var React13 = __toESM(require("react"), 1);
2159
+ var import_jsx_runtime30 = require("react/jsx-runtime");
2160
+ var initialPropsComponent4 = {
1777
2161
  box: {},
1778
2162
  text: {},
1779
2163
  container: {},
@@ -1781,10 +2165,10 @@ var initialPropsComponent3 = {
1781
2165
  content: {}
1782
2166
  };
1783
2167
  var ImageDropzone = ({ onChange, multiple, propsComponent, bordered, component, defaultImage, variant = "outlined" }) => {
1784
- const properties = mergeDeep(initialPropsComponent3, propsComponent || {});
1785
- const [dragging, setDragging] = React11.useState(false);
1786
- const [files, setFiles] = React11.useState([]);
1787
- const inputRef = React11.useRef(null);
2168
+ const properties = mergeDeep(initialPropsComponent4, propsComponent || {});
2169
+ const [dragging, setDragging] = React13.useState(false);
2170
+ const [files, setFiles] = React13.useState([]);
2171
+ const inputRef = React13.useRef(null);
1788
2172
  const handleFiles = (fileList) => {
1789
2173
  if (!fileList) return;
1790
2174
  const newFiles = Array.from(fileList);
@@ -1796,7 +2180,7 @@ var ImageDropzone = ({ onChange, multiple, propsComponent, bordered, component,
1796
2180
  };
1797
2181
  const classes = bem("yr3Dropzone");
1798
2182
  const classComponent = classes(void 0, { "dragging": !!dragging, "bordered": !!bordered, variant });
1799
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { as: "div", position: "relative", content: "center", ...properties?.box, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2183
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box, { as: "div", position: "relative", content: "center", ...properties?.box, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1800
2184
  "div",
1801
2185
  {
1802
2186
  className: classComponent,
@@ -1813,7 +2197,7 @@ var ImageDropzone = ({ onChange, multiple, propsComponent, bordered, component,
1813
2197
  onClick: () => inputRef.current?.click(),
1814
2198
  style: composeStyles(properties?.container?.ui, properties?.container?.style),
1815
2199
  children: [
1816
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2200
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1817
2201
  "input",
1818
2202
  {
1819
2203
  ref: inputRef,
@@ -1824,166 +2208,18 @@ var ImageDropzone = ({ onChange, multiple, propsComponent, bordered, component,
1824
2208
  onChange: (e) => handleFiles(e.target.files)
1825
2209
  }
1826
2210
  ),
1827
- isEmpty(files) && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "yr3Dropzone--content", style: composeStyles(properties?.content?.ui, properties?.content?.style), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { variant: "helper", color: "disabled", ...propsComponent?.text, children: propsComponent?.text?.primary || "Drag and drop an image here, or click to select one" }) }),
1828
- multiple && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "yr3Dropzone--previews", style: composeStyles(properties?.preview?.ui, properties?.preview?.style), children: files.map((file, i) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("img", { src: URL.createObjectURL(file) }, i)) }),
1829
- !multiple && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "yr3Dropzone--preview", style: composeStyles(properties?.preview?.ui, properties?.preview?.style), children: files.map((file, i) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("img", { src: URL.createObjectURL(file) }, i)) }),
1830
- !!defaultImage && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "yr3Dropzone--preview", style: composeStyles(properties?.preview?.ui, properties?.preview?.style), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("img", { src: defaultImage }) }),
2211
+ isEmpty(files) && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "yr3Dropzone--content", style: composeStyles(properties?.content?.ui, properties?.content?.style), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { variant: "helper", color: "disabled", ...propsComponent?.text, children: propsComponent?.text?.primary || "Drag and drop an image here, or click to select one" }) }),
2212
+ multiple && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "yr3Dropzone--previews", style: composeStyles(properties?.preview?.ui, properties?.preview?.style), children: files.map((file, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: URL.createObjectURL(file) }, i)) }),
2213
+ !multiple && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "yr3Dropzone--preview", style: composeStyles(properties?.preview?.ui, properties?.preview?.style), children: files.map((file, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: URL.createObjectURL(file) }, i)) }),
2214
+ !!defaultImage && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "yr3Dropzone--preview", style: composeStyles(properties?.preview?.ui, properties?.preview?.style), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: defaultImage }) }),
1831
2215
  component
1832
2216
  ]
1833
2217
  }
1834
2218
  ) });
1835
2219
  };
1836
2220
 
1837
- // src/components/Input/Input.tsx
1838
- var React12 = __toESM(require("react"), 1);
1839
-
1840
- // src/components/Label/Label.tsx
1841
- var import_jsx_runtime23 = require("react/jsx-runtime");
1842
- var Label = ({ text: text2, children, className, color = "primary", ui, style }) => {
1843
- const classes = bem("yr3Label");
1844
- const classComponent = classes(void 0, { color: `color-${color}` });
1845
- const classnames = bemMerge(classComponent, className);
1846
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1847
- "span",
1848
- {
1849
- className: classnames,
1850
- "data-testid": "yr3Label",
1851
- style: composeStyles(ui, style),
1852
- children: text2 ? text2 : children
1853
- }
1854
- );
1855
- };
1856
-
1857
- // src/components/Input/input.variants.ts
1858
- var inputVariants = createVariants({
1859
- base: "yr3Input",
1860
- variants: {
1861
- variant: {
1862
- filled: "yr3Input--filled",
1863
- outlined: "yr3Input--outlined",
1864
- base: "yr3Input--base",
1865
- lined: "yr3Input--lined"
1866
- },
1867
- color: {
1868
- primary: "yr3Input--color-primary",
1869
- secondary: "yr3Input--color-secondary",
1870
- success: "yr3Input--color-success",
1871
- text: "yr3Input--color-text",
1872
- disabled: "yr3Input--color-disabled",
1873
- background: "yr3Input--color-background",
1874
- error: "yr3Input--color-error",
1875
- warning: "yr3Input--color-warning",
1876
- info: "yr3Input--color-info",
1877
- common: "yr3Input--color-common"
1878
- },
1879
- size: {
1880
- auto: "yr3Input--size-auto",
1881
- full: "yr3Input--size-full"
1882
- },
1883
- rounded: {
1884
- true: "yr3Input--rounded"
1885
- },
1886
- disabled: {
1887
- true: "yr3Input--disabled"
1888
- },
1889
- animated: {
1890
- true: "yr3Input--animated"
1891
- },
1892
- label: {
1893
- true: "yr3Input--label"
1894
- }
1895
- }
1896
- });
1897
-
1898
- // src/components/Input/Input.tsx
1899
- var import_jsx_runtime24 = require("react/jsx-runtime");
1900
- var initiaPropsComponent = {
1901
- label: {
1902
- display: true,
1903
- ui: {},
1904
- style: {}
1905
- },
1906
- control: {}
1907
- };
1908
- var Input = React12.forwardRef(
1909
- ({
1910
- label,
1911
- value,
1912
- defaultValue,
1913
- onChange,
1914
- variant = "outlined",
1915
- error = "ce un errore",
1916
- separatorCurrency = ",",
1917
- ui,
1918
- style,
1919
- propsComponent = initiaPropsComponent,
1920
- pattern = "text",
1921
- color = "primary",
1922
- size = "auto",
1923
- ...props
1924
- }, ref) => {
1925
- const [focused, setFocused] = React12.useState(false);
1926
- const [internalValue, setInternalValue] = React12.useState(defaultValue);
1927
- const isControlled = value !== void 0;
1928
- const currentValue = isControlled ? value : internalValue;
1929
- const isActive = focused || !!currentValue;
1930
- const checkPattern = (type, value2) => {
1931
- switch (type) {
1932
- case "email":
1933
- return /^[\w.-]+@[\w.-]+\.\w{2,}$/.test(value2);
1934
- case "phone":
1935
- return /^\d{10}$/.test(value2);
1936
- case "number":
1937
- return /^\d+$/.test(value2);
1938
- case "currency":
1939
- if (separatorCurrency === ",") return /^\d+(\,\d{0,2})?$/.test(value2);
1940
- if (separatorCurrency === ".") return /^\d+(\.\d{0,2})?$/.test(value2);
1941
- default:
1942
- return true;
1943
- }
1944
- };
1945
- const handleChange = (e) => {
1946
- const newValue = e.target.value;
1947
- if (newValue && !checkPattern(pattern, newValue)) return;
1948
- if (!isControlled) {
1949
- setInternalValue(newValue);
1950
- }
1951
- onChange?.(e, newValue);
1952
- };
1953
- const classes = inputVariants({ color, label: propsComponent?.label?.display });
1954
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Control, { variant, color, label: propsComponent?.label?.display, ...propsComponent.control, children: [
1955
- propsComponent?.label?.display && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1956
- Label,
1957
- {
1958
- text: label || "",
1959
- className: !!isActive ? "yr3Input--active" : "",
1960
- color,
1961
- ...propsComponent.label
1962
- }
1963
- ),
1964
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1965
- "input",
1966
- {
1967
- ref,
1968
- value: currentValue,
1969
- inputMode: pattern === "currency" ? "numeric" : pattern === "phone" ? "tel" : void 0,
1970
- autoComplete: "off",
1971
- type: "text",
1972
- onChange: handleChange,
1973
- onFocus: () => setFocused(true),
1974
- onBlur: () => setFocused(false),
1975
- className: classes,
1976
- style: composeStyles(ui, style),
1977
- ...props,
1978
- "data-testid": "yr3Input"
1979
- }
1980
- )
1981
- ] });
1982
- }
1983
- );
1984
-
1985
2221
  // src/components/InputArea/InputArea.tsx
1986
- var React13 = __toESM(require("react"), 1);
2222
+ var React14 = __toESM(require("react"), 1);
1987
2223
 
1988
2224
  // src/components/InputArea/inputAreaVariants.ts
1989
2225
  var inputAreaVariants = createVariants({
@@ -2024,7 +2260,7 @@ var inputAreaVariants = createVariants({
2024
2260
  });
2025
2261
 
2026
2262
  // src/components/InputArea/InputArea.tsx
2027
- var import_jsx_runtime25 = require("react/jsx-runtime");
2263
+ var import_jsx_runtime31 = require("react/jsx-runtime");
2028
2264
  var initiaPropsComponent2 = {
2029
2265
  label: {
2030
2266
  display: true,
@@ -2049,8 +2285,8 @@ var InputArea = ({
2049
2285
  rounded = false,
2050
2286
  propsComponent = initiaPropsComponent2
2051
2287
  }) => {
2052
- const ref = React13.useRef(null);
2053
- const [internalValue, setInternalValue] = React13.useState(defaultValue);
2288
+ const ref = React14.useRef(null);
2289
+ const [internalValue, setInternalValue] = React14.useState(defaultValue);
2054
2290
  const isControlled = value !== void 0;
2055
2291
  const currentValue = isControlled ? value : internalValue;
2056
2292
  const handleChange = (e) => {
@@ -2067,8 +2303,8 @@ var InputArea = ({
2067
2303
  el.style.resize = resize;
2068
2304
  }
2069
2305
  const classes = inputAreaVariants({ variant, color, rounded });
2070
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { style: { position: "relative" }, children: [
2071
- propsComponent?.label?.display && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2306
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { style: { position: "relative" }, children: [
2307
+ propsComponent?.label?.display && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2072
2308
  Label,
2073
2309
  {
2074
2310
  text: label || "",
@@ -2076,7 +2312,7 @@ var InputArea = ({
2076
2312
  ...propsComponent.label
2077
2313
  }
2078
2314
  ),
2079
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2315
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2080
2316
  "textarea",
2081
2317
  {
2082
2318
  className: classes,
@@ -2088,7 +2324,7 @@ var InputArea = ({
2088
2324
  "data-testid": "yr3InputArea"
2089
2325
  }
2090
2326
  ),
2091
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text, { variant: "helper", color: currentValue.length > maxLength ? "error" : "disabled", ui: { textAlign: "right" }, "data-testid": "yr3InputAreaError", children: validate && maxLength ? `${currentValue.length}/${maxLength}` || propsComponent.helperText : "" })
2327
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { variant: "helper", color: currentValue.length > maxLength ? "error" : "disabled", ui: { textAlign: "right" }, "data-testid": "yr3InputAreaError", children: validate && maxLength ? `${currentValue.length}/${maxLength}` || propsComponent.helperText : "" })
2092
2328
  ] });
2093
2329
  };
2094
2330
 
@@ -2122,8 +2358,8 @@ var loaderSpinnerVariants = createVariants({
2122
2358
  });
2123
2359
 
2124
2360
  // src/components/Loader/Loader.tsx
2125
- var React14 = __toESM(require("react"), 1);
2126
- var import_jsx_runtime26 = require("react/jsx-runtime");
2361
+ var React15 = __toESM(require("react"), 1);
2362
+ var import_jsx_runtime32 = require("react/jsx-runtime");
2127
2363
  var initialComponents2 = {
2128
2364
  loader: {
2129
2365
  ui: {},
@@ -2151,29 +2387,29 @@ var Loader = ({ component, loading = false, propsComponent }) => {
2151
2387
  size: properties?.spinner?.size
2152
2388
  });
2153
2389
  if (!loading) return null;
2154
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "yr3Loader", style: composeStyles(properties?.loader?.ui, properties?.loader?.style), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Flex, { ...properties?.container, children: component || /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: classSpinner, children: properties?.spinner?.type === "dots" && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(React14.Fragment, { children: [
2155
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", {}),
2156
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", {}),
2157
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", {})
2390
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "yr3Loader", style: composeStyles(properties?.loader?.ui, properties?.loader?.style), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Flex, { ...properties?.container, children: component || /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: classSpinner, children: properties?.spinner?.type === "dots" && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(React15.Fragment, { children: [
2391
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", {}),
2392
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", {}),
2393
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", {})
2158
2394
  ] }) }) }) });
2159
2395
  };
2160
2396
 
2161
2397
  // src/components/Modal/Modal.tsx
2162
- var React15 = __toESM(require("react"), 1);
2398
+ var React16 = __toESM(require("react"), 1);
2163
2399
 
2164
2400
  // src/components/Modal/ModalContainer.tsx
2165
- var import_jsx_runtime27 = require("react/jsx-runtime");
2401
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2166
2402
  var ModalContainer = ({ children, size = "sm", ui, style }) => {
2167
2403
  const classes = bem("yr3Modal-container");
2168
2404
  const classComponent = classes(void 0, { [`${size}`]: !!size });
2169
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: classComponent, style: composeStyles(ui, style), "data-testid": "yr3Modal-container", children });
2405
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: classComponent, style: composeStyles(ui, style), "data-testid": "yr3Modal-container", children });
2170
2406
  };
2171
2407
 
2172
2408
  // src/components/Modal/Modal.tsx
2173
- var import_jsx_runtime28 = require("react/jsx-runtime");
2409
+ var import_jsx_runtime34 = require("react/jsx-runtime");
2174
2410
  var Modal = ({ open, onClose, children, propsComponent }) => {
2175
2411
  const { show, hide } = useBackdrop();
2176
- React15.useEffect(() => {
2412
+ React16.useEffect(() => {
2177
2413
  if (open) {
2178
2414
  show("modal");
2179
2415
  } else {
@@ -2182,9 +2418,9 @@ var Modal = ({ open, onClose, children, propsComponent }) => {
2182
2418
  }, [open]);
2183
2419
  const classes = bem("yr3Modal");
2184
2420
  const classComponent = classes(void 0, { "open": !!open });
2185
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: classComponent, onClick: (e) => e.stopPropagation(), "data-testid": "yr3Modal", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ModalContainer, { ...propsComponent?.container, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Flex, { variant: "column", container: true, center: true, gap: 1, children: [
2421
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: classComponent, onClick: (e) => e.stopPropagation(), "data-testid": "yr3Modal", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ModalContainer, { ...propsComponent?.container, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Flex, { variant: "column", container: true, center: true, gap: 1, children: [
2186
2422
  children,
2187
- propsComponent?.close ? propsComponent.close : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Button, { variant: "filled", color: "secondary", onClick: onClose, "data-testid": "yr3Modal-close", children: "Close" })
2423
+ propsComponent?.close ? propsComponent.close : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Button, { variant: "filled", color: "secondary", onClick: onClose, "data-testid": "yr3Modal-close", children: "Close" })
2188
2424
  ] }) }) });
2189
2425
  };
2190
2426
 
@@ -2224,15 +2460,15 @@ var notistackVariants = createVariants({
2224
2460
  });
2225
2461
 
2226
2462
  // src/components/Notistack/Notistack.tsx
2227
- var import_jsx_runtime29 = require("react/jsx-runtime");
2463
+ var import_jsx_runtime35 = require("react/jsx-runtime");
2228
2464
  var Notistack = ({ message, duration = 3e3, variant = "info", color, propsComponent, anchor, exiting = false }) => {
2229
2465
  const classes = notistackVariants({ type: variant, color, exiting, direction: `${anchor?.vertical || "bottom"}-${anchor?.horizontal || "right"}` });
2230
2466
  const containerStyle = composeStyles(propsComponent?.container?.ui, propsComponent?.container?.style);
2231
2467
  const notistackStyle = composeStyles(propsComponent?.notistack?.ui, propsComponent?.notistack?.style);
2232
2468
  const progressStyle = composeStyles(propsComponent?.progress?.ui, propsComponent?.progress?.style);
2233
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: classes, "data-testid": "yr3Notistack", style: notistackStyle, children: [
2234
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { style: containerStyle, children: message }),
2235
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2469
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: classes, "data-testid": "yr3Notistack", style: notistackStyle, children: [
2470
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { style: containerStyle, children: message }),
2471
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2236
2472
  "div",
2237
2473
  {
2238
2474
  className: "yr3Notistack--progress",
@@ -2267,7 +2503,7 @@ var pendingVariants = createVariants({
2267
2503
  });
2268
2504
 
2269
2505
  // src/components/Pending/Pending.tsx
2270
- var import_jsx_runtime30 = require("react/jsx-runtime");
2506
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2271
2507
  var Pending = ({
2272
2508
  variant,
2273
2509
  width,
@@ -2280,7 +2516,7 @@ var Pending = ({
2280
2516
  const widthStyle = variant === "circle" ? size : width;
2281
2517
  const heightStyle = variant === "circle" ? size : height;
2282
2518
  const uiStylePending = uiStyle({ width: widthStyle, height: heightStyle, ...ui });
2283
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2519
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2284
2520
  "div",
2285
2521
  {
2286
2522
  className: pendingVariants({ variant, color }),
@@ -2291,19 +2527,11 @@ var Pending = ({
2291
2527
  };
2292
2528
 
2293
2529
  // src/components/Phone/Phone.tsx
2294
- var React17 = __toESM(require("react"), 1);
2295
-
2296
- // src/components/Selector/Selector.tsx
2297
- var React16 = __toESM(require("react"), 1);
2298
-
2299
- // src/Icons/IconDown.tsx
2300
- var import_jsx_runtime31 = require("react/jsx-runtime");
2301
- var IconDown = (props) => {
2302
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("svg", { width: props.width || "64px", height: props.height || "64px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "data-testid": "yr3Icons", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("path", { d: "M7 10L12 15L17 10", stroke: props.stroke || "#fff", strokeWidth: props.strokeWidth || "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
2303
- };
2530
+ var React18 = __toESM(require("react"), 1);
2304
2531
 
2305
2532
  // src/components/Selector/Selector.tsx
2306
- var import_jsx_runtime32 = require("react/jsx-runtime");
2533
+ var React17 = __toESM(require("react"), 1);
2534
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2307
2535
  var initalPropsComponent2 = {
2308
2536
  text: {
2309
2537
  variant: "caption",
@@ -2316,16 +2544,16 @@ var initalPropsComponent2 = {
2316
2544
  }
2317
2545
  };
2318
2546
  var Selector = ({ ui, style, options, name, value, defaultValue, onChange, iconColor, icon, propsComponent = initalPropsComponent2 }) => {
2319
- const [open, setOpen] = React16.useState(false);
2320
- const [valueState, setValueState] = React16.useState(value || defaultValue || null);
2321
- const ref = React16.useRef(null);
2547
+ const [open, setOpen] = React17.useState(false);
2548
+ const [valueState, setValueState] = React17.useState(value || defaultValue || null);
2549
+ const ref = React17.useRef(null);
2322
2550
  useClickAway(ref, () => setOpen(false));
2323
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "yr3Selector-wrapper", ref, children: [
2324
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `yr3Selector ${open ? "yr3Selector--open" : ""}`, style: composeStyles(ui, style), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "yr3Selector--control", children: [
2325
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "yr3Selector--icon", onClick: () => setOpen((prev) => !prev), children: icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(IconDown, { stroke: `var(--color-${iconColor || "disabled"})`, width: 24, height: 24 }) }),
2551
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "yr3Selector-wrapper", ref, children: [
2552
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `yr3Selector ${open ? "yr3Selector--open" : ""}`, style: composeStyles(ui, style), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "yr3Selector--control", children: [
2553
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "yr3Selector--icon", onClick: () => setOpen((prev) => !prev), children: icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(IconDown, { stroke: `var(--color-${iconColor || "disabled"})`, width: 24, height: 24 }) }),
2326
2554
  valueState
2327
2555
  ] }) }),
2328
- open && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "yr3Selector--menu", style: composeStyles(propsComponent.menu?.ui, propsComponent.menu?.style), children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2556
+ open && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "yr3Selector--menu", style: composeStyles(propsComponent.menu?.ui, propsComponent.menu?.style), children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2329
2557
  "div",
2330
2558
  {
2331
2559
  className: "yr3Selector--option",
@@ -2346,16 +2574,15 @@ var Selector = ({ ui, style, options, name, value, defaultValue, onChange, iconC
2346
2574
  };
2347
2575
  onChange?.(event, opt.value);
2348
2576
  },
2349
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Text, { ...propsComponent?.text, children: propsComponent?.text?.children || opt.label })
2577
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Text, { ...propsComponent?.text, children: propsComponent?.text?.children || opt.label })
2350
2578
  },
2351
2579
  opt.value
2352
2580
  )) })
2353
2581
  ] });
2354
2582
  };
2355
- var Selector_default = Selector;
2356
2583
 
2357
2584
  // src/components/Phone/Phone.tsx
2358
- var import_jsx_runtime33 = require("react/jsx-runtime");
2585
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2359
2586
  var Phone = ({
2360
2587
  name,
2361
2588
  value,
@@ -2367,13 +2594,13 @@ var Phone = ({
2367
2594
  }) => {
2368
2595
  const isControlled = value !== void 0;
2369
2596
  const initial = value || defaultValue || "";
2370
- const [prefix, setPrefix] = React17.useState(
2597
+ const [prefix, setPrefix] = React18.useState(
2371
2598
  getDialPhone(initial, countries) || countries[0].dial
2372
2599
  );
2373
- const [number, setNumber] = React17.useState(
2600
+ const [number, setNumber] = React18.useState(
2374
2601
  getNumberPhone(initial, prefix) || ""
2375
2602
  );
2376
- React17.useEffect(() => {
2603
+ React18.useEffect(() => {
2377
2604
  if (isControlled && value) {
2378
2605
  const dial = getDialPhone(value, countries);
2379
2606
  const num = getNumberPhone(value, dial);
@@ -2392,11 +2619,11 @@ var Phone = ({
2392
2619
  setPrefix(val);
2393
2620
  onChange?.(null, `${val}${number}`);
2394
2621
  };
2395
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Control, { variant: "outlined", ui: { height: 50, position: "relative" }, children: [
2396
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Label, { text: label, className: "yr3Input--active" }),
2397
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Flex, { variant: "row", container: true, center: true, children: [
2398
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2399
- Selector_default,
2622
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Control, { variant: "outlined", ui: { height: 50, position: "relative" }, children: [
2623
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Label, { text: label, className: "yr3Input--active" }),
2624
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Flex, { variant: "row", container: true, center: true, children: [
2625
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2626
+ Selector,
2400
2627
  {
2401
2628
  options: countries.map((c) => ({
2402
2629
  value: c.dial,
@@ -2407,7 +2634,7 @@ var Phone = ({
2407
2634
  ...propsComponent?.selector
2408
2635
  }
2409
2636
  ),
2410
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2637
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2411
2638
  Divider,
2412
2639
  {
2413
2640
  orientation: "vertical",
@@ -2416,7 +2643,7 @@ var Phone = ({
2416
2643
  ...propsComponent?.divider
2417
2644
  }
2418
2645
  ),
2419
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2646
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2420
2647
  Input,
2421
2648
  {
2422
2649
  type: "number",
@@ -2432,9 +2659,9 @@ var Phone = ({
2432
2659
  };
2433
2660
 
2434
2661
  // src/components/Places/PlacesAutocomplete.tsx
2435
- var React18 = __toESM(require("react"), 1);
2662
+ var React19 = __toESM(require("react"), 1);
2436
2663
  var import_autocomplete_places = require("@yr3/autocomplete-places");
2437
- var import_jsx_runtime34 = require("react/jsx-runtime");
2664
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2438
2665
  var initPropsComponent = {
2439
2666
  label: {
2440
2667
  display: true,
@@ -2474,9 +2701,9 @@ var PlacesAutocomplete = ({
2474
2701
  keyApi,
2475
2702
  propsComponent = initPropsComponent
2476
2703
  }) => {
2477
- const [value, setValue] = React18.useState(null);
2478
- const inputRef = React18.useRef(null);
2479
- const [anchorEl, setAnchorEl] = React18.useState(null);
2704
+ const [value, setValue] = React19.useState(null);
2705
+ const inputRef = React19.useRef(null);
2706
+ const [anchorEl, setAnchorEl] = React19.useState(null);
2480
2707
  const { suggestions, selectPlace } = (0, import_autocomplete_places.useAutocompletePlaces)({ input: value, apiKey: keyApi, language, provider });
2481
2708
  const handleSelect = async (id) => {
2482
2709
  const place = await selectPlace(id);
@@ -2496,12 +2723,12 @@ var PlacesAutocomplete = ({
2496
2723
  setValue(place.address);
2497
2724
  setAnchorEl(null);
2498
2725
  };
2499
- React18.useEffect(() => {
2726
+ React19.useEffect(() => {
2500
2727
  if (defaultLocation) {
2501
2728
  setValue(defaultLocation);
2502
2729
  }
2503
2730
  }, [defaultLocation]);
2504
- React18.useEffect(() => {
2731
+ React19.useEffect(() => {
2505
2732
  if (value === "") {
2506
2733
  onSelect(null);
2507
2734
  }
@@ -2511,13 +2738,13 @@ var PlacesAutocomplete = ({
2511
2738
  setAnchorEl(e.target.value ? inputRef.current : null);
2512
2739
  };
2513
2740
  const open = suggestions.length > 0 && Boolean(anchorEl);
2514
- React18.useEffect(() => {
2741
+ React19.useEffect(() => {
2515
2742
  if (onChangeForm) {
2516
2743
  onChangeForm({ target: { value } });
2517
2744
  }
2518
2745
  }, [onChangeForm]);
2519
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Control, { ...propsComponent?.control, children: [
2520
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2746
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Control, { ...propsComponent?.control, children: [
2747
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2521
2748
  Input,
2522
2749
  {
2523
2750
  ref: inputRef,
@@ -2531,7 +2758,7 @@ var PlacesAutocomplete = ({
2531
2758
  },
2532
2759
  "input-places"
2533
2760
  ),
2534
- open && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "yr3Places--menu", style: composeStyles(propsComponent.menu?.ui, propsComponent?.menu?.style), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Flex, { container: true, ui: { p: 1 }, children: suggestions.map((s) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Flex, { onClick: () => handleSelect(s.id), ui: { padding: 8, cursor: "pointer", "&:hover": { backgroundColor: "rgba(0,0,0,0.1)" } }, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { ...propsComponent?.menu?.text, children: s.description }) }, s.id)) }) })
2761
+ open && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "yr3Places--menu", style: composeStyles(propsComponent.menu?.ui, propsComponent?.menu?.style), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Flex, { container: true, ui: { p: 1 }, children: suggestions.map((s) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Flex, { onClick: () => handleSelect(s.id), ui: { padding: 8, cursor: "pointer", "&:hover": { backgroundColor: "rgba(0,0,0,0.1)" } }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text, { ...propsComponent?.menu?.text, children: s.description }) }, s.id)) }) })
2535
2762
  ] });
2536
2763
  };
2537
2764
 
@@ -2559,7 +2786,7 @@ var radioVariant = createVariants({
2559
2786
  });
2560
2787
 
2561
2788
  // src/components/Radio/Radio.tsx
2562
- var import_jsx_runtime35 = require("react/jsx-runtime");
2789
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2563
2790
  var Radio = ({
2564
2791
  checked,
2565
2792
  value,
@@ -2575,8 +2802,8 @@ var Radio = ({
2575
2802
  const bemClass = bem("yr3Radio");
2576
2803
  const classes = bemClass(void 0, { [color]: `color-${color}` });
2577
2804
  const variantClass = radioVariant({ variant });
2578
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("label", { className: classes, "data-testid": "yr3Radio", style: composeStyles(propsComponent?.radio?.ui, propsComponent?.radio?.style), children: [
2579
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2805
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("label", { className: classes, "data-testid": "yr3Radio", style: composeStyles(propsComponent?.radio?.ui, propsComponent?.radio?.style), children: [
2806
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2580
2807
  "input",
2581
2808
  {
2582
2809
  type: "radio",
@@ -2588,8 +2815,8 @@ var Radio = ({
2588
2815
  }
2589
2816
  ),
2590
2817
  iconChecked && checked ? iconChecked : !checked && iconUnchecked ? iconUnchecked : null,
2591
- !iconChecked && !iconUnchecked && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: variantClass, "data-testid": "yr3Radio-dot" }),
2592
- typeof label === "string" && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2818
+ !iconChecked && !iconUnchecked && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: variantClass, "data-testid": "yr3Radio-dot" }),
2819
+ typeof label === "string" && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2593
2820
  "span",
2594
2821
  {
2595
2822
  className: "yr3Radio--label",
@@ -2602,7 +2829,7 @@ var Radio = ({
2602
2829
  };
2603
2830
 
2604
2831
  // src/components/Select/Select.tsx
2605
- var React19 = __toESM(require("react"), 1);
2832
+ var React20 = __toESM(require("react"), 1);
2606
2833
 
2607
2834
  // src/components/Select/select.variants.ts
2608
2835
  var selectVariants = createVariants({
@@ -2662,7 +2889,7 @@ var selectIconVariants = createVariants({
2662
2889
  });
2663
2890
 
2664
2891
  // src/components/Select/Select.tsx
2665
- var import_jsx_runtime36 = require("react/jsx-runtime");
2892
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2666
2893
  var initiaPropsComponent3 = {
2667
2894
  control: {
2668
2895
  variant: "outlined",
@@ -2702,15 +2929,15 @@ var initiaPropsComponent3 = {
2702
2929
  }
2703
2930
  };
2704
2931
  var Select = ({ label, options, name, value, defaultValue, onChange, propsComponent }) => {
2705
- const [open, setOpen] = React19.useState(false);
2706
- const [valueState, setValueState] = React19.useState(value || defaultValue || null);
2707
- const ref = React19.useRef(null);
2932
+ const [open, setOpen] = React20.useState(false);
2933
+ const [valueState, setValueState] = React20.useState(value || defaultValue || null);
2934
+ const ref = React20.useRef(null);
2708
2935
  useClickAway(ref, () => setOpen(false));
2709
2936
  const properties = mergeDeep(initiaPropsComponent3, propsComponent || {});
2710
2937
  const classesIcon = selectIconVariants({ color: properties?.icon?.color, animated: open, open });
2711
2938
  const classes = selectVariants({ wrapper: true });
2712
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: classes, ref, children: [
2713
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2939
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: classes, ref, children: [
2940
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2714
2941
  Input,
2715
2942
  {
2716
2943
  label,
@@ -2723,14 +2950,14 @@ var Select = ({ label, options, name, value, defaultValue, onChange, propsCompon
2723
2950
  }
2724
2951
  }
2725
2952
  ),
2726
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2953
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2727
2954
  "div",
2728
2955
  {
2729
2956
  className: classesIcon,
2730
2957
  style: properties?.icon?.style,
2731
2958
  onClick: () => setOpen((prev) => !prev),
2732
2959
  "data-testid": "yr3Select-icon",
2733
- children: properties?.icon?.component ? properties?.icon.component : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2960
+ children: properties?.icon?.component ? properties?.icon.component : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2734
2961
  IconDown,
2735
2962
  {
2736
2963
  width: properties?.icon?.style?.width,
@@ -2741,13 +2968,13 @@ var Select = ({ label, options, name, value, defaultValue, onChange, propsCompon
2741
2968
  )
2742
2969
  }
2743
2970
  ),
2744
- open && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2971
+ open && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2745
2972
  "div",
2746
2973
  {
2747
2974
  className: "yr3Select--menu",
2748
2975
  style: composeStyles(properties?.menu?.ui, properties?.menu?.style),
2749
2976
  "data-testid": "yr3Select-menu",
2750
- children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2977
+ children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2751
2978
  "div",
2752
2979
  {
2753
2980
  className: "yr3Select--option",
@@ -2769,7 +2996,7 @@ var Select = ({ label, options, name, value, defaultValue, onChange, propsCompon
2769
2996
  onChange?.(event, opt.value);
2770
2997
  },
2771
2998
  style: composeStyles(properties?.menu?.options?.ui, properties?.menu?.options?.style),
2772
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { as: "span", variant: "caption", color: properties?.menu?.options?.text?.color || "primary", ...properties?.menu?.options?.text, children: opt.label })
2999
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { as: "span", variant: "caption", color: properties?.menu?.options?.text?.color || "primary", ...properties?.menu?.options?.text, children: opt.label })
2773
3000
  },
2774
3001
  opt.value
2775
3002
  ))
@@ -2779,9 +3006,9 @@ var Select = ({ label, options, name, value, defaultValue, onChange, propsCompon
2779
3006
  };
2780
3007
 
2781
3008
  // src/components/Slide/Slide.tsx
2782
- var React20 = __toESM(require("react"), 1);
2783
- var import_jsx_runtime37 = require("react/jsx-runtime");
2784
- var initialPropsComponent4 = {
3009
+ var React21 = __toESM(require("react"), 1);
3010
+ var import_jsx_runtime42 = require("react/jsx-runtime");
3011
+ var initialPropsComponent5 = {
2785
3012
  slide: {
2786
3013
  ui: {},
2787
3014
  style: {}
@@ -2796,14 +3023,14 @@ var Slide = ({
2796
3023
  onTransitionEnd,
2797
3024
  propsComponent
2798
3025
  }) => {
2799
- const properties = mergeDeep(initialPropsComponent4, propsComponent || {});
3026
+ const properties = mergeDeep(initialPropsComponent5, propsComponent || {});
2800
3027
  const bemContent = bem("yr3Slide--content");
2801
3028
  const classNameContent = bemContent(void 0, {
2802
3029
  [direction]: true,
2803
3030
  "in": !!inProp,
2804
3031
  "out": !inProp
2805
3032
  });
2806
- React20.useEffect(() => {
3033
+ React21.useEffect(() => {
2807
3034
  let timeoutId;
2808
3035
  if (inProp) {
2809
3036
  timeoutId = setTimeout(() => {
@@ -2813,19 +3040,19 @@ var Slide = ({
2813
3040
  return () => clearTimeout(timeoutId);
2814
3041
  }, [inProp, duration, onTransitionEnd]);
2815
3042
  const uiStyleContent = uiStyle({ ...properties?.slide?.ui, transitionDuration: `${duration}ms` });
2816
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3043
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2817
3044
  "div",
2818
3045
  {
2819
3046
  className: "yr3Slide",
2820
3047
  style: composeStyles(),
2821
3048
  "data-testid": "yr3Slide",
2822
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3049
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2823
3050
  "div",
2824
3051
  {
2825
3052
  className: classNameContent,
2826
3053
  style: composeStyles(uiStyleContent, properties?.slide?.style || {}),
2827
3054
  "data-testid": "yr3Slide-content",
2828
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Box, { ...properties?.box, "data-testid": "yr3Slide-box", children })
3055
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box, { ...properties?.box, "data-testid": "yr3Slide-box", children })
2829
3056
  }
2830
3057
  )
2831
3058
  }
@@ -2833,7 +3060,7 @@ var Slide = ({
2833
3060
  };
2834
3061
 
2835
3062
  // src/components/Switch/Switch.tsx
2836
- var React21 = __toESM(require("react"), 1);
3063
+ var React22 = __toESM(require("react"), 1);
2837
3064
 
2838
3065
  // src/components/Switch/switch.variants.ts
2839
3066
  var switchVariants = createVariants({
@@ -2870,7 +3097,7 @@ var switchVariants = createVariants({
2870
3097
  });
2871
3098
 
2872
3099
  // src/components/Switch/Switch.tsx
2873
- var import_jsx_runtime38 = require("react/jsx-runtime");
3100
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2874
3101
  var Switch = ({
2875
3102
  checked,
2876
3103
  defaultChecked,
@@ -2882,7 +3109,7 @@ var Switch = ({
2882
3109
  placement = "end",
2883
3110
  propsComponent
2884
3111
  }) => {
2885
- const [internal, setInternal] = React21.useState(defaultChecked || false);
3112
+ const [internal, setInternal] = React22.useState(defaultChecked || false);
2886
3113
  const classname = switchVariants({ colors: color, size, disabled: !!disabled, checked: checked ?? internal, placement });
2887
3114
  const isControlled = checked !== void 0;
2888
3115
  const value = isControlled ? checked : internal;
@@ -2890,13 +3117,13 @@ var Switch = ({
2890
3117
  if (!isControlled) setInternal(e.target.checked);
2891
3118
  onChange?.(e, e.target.checked);
2892
3119
  };
2893
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3120
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2894
3121
  "label",
2895
3122
  {
2896
3123
  className: classname,
2897
3124
  "data-testid": "yr3Switch",
2898
3125
  children: [
2899
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3126
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2900
3127
  "input",
2901
3128
  {
2902
3129
  type: "checkbox",
@@ -2905,8 +3132,8 @@ var Switch = ({
2905
3132
  disabled
2906
3133
  }
2907
3134
  ),
2908
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "yr3Switch--track", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "yr3Switch--thumb" }) }),
2909
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3135
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "yr3Switch--track", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "yr3Switch--thumb" }) }),
3136
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2910
3137
  "span",
2911
3138
  {
2912
3139
  className: "yr3Switch--label",
@@ -2920,30 +3147,15 @@ var Switch = ({
2920
3147
  );
2921
3148
  };
2922
3149
 
2923
- // src/Icons/IconSearch.tsx
2924
- var import_jsx_runtime39 = require("react/jsx-runtime");
2925
- var IconSearch = (props) => {
2926
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("svg", { width: props.width || "64px", height: props.height || "64px", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2927
- "path",
2928
- {
2929
- d: "M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z",
2930
- stroke: props.stroke || "#fff",
2931
- strokeWidth: props.strokeWidth || "1.5",
2932
- strokeLinecap: "round",
2933
- strokeLinejoin: "round"
2934
- }
2935
- ) });
2936
- };
2937
-
2938
3150
  // src/theme/ThemeProvider.tsx
2939
- var React23 = __toESM(require("react"), 1);
3151
+ var React24 = __toESM(require("react"), 1);
2940
3152
 
2941
3153
  // src/theme/notistackContext.tsx
2942
- var React22 = __toESM(require("react"), 1);
2943
- var import_jsx_runtime40 = require("react/jsx-runtime");
2944
- var NotistackContext = React22.createContext(null);
3154
+ var React23 = __toESM(require("react"), 1);
3155
+ var import_jsx_runtime44 = require("react/jsx-runtime");
3156
+ var NotistackContext = React23.createContext(null);
2945
3157
  var NotistackProvider = ({ children }) => {
2946
- const [snacks, setSnacks] = React22.useState([]);
3158
+ const [snacks, setSnacks] = React23.useState([]);
2947
3159
  const notistack = (snack) => {
2948
3160
  const id = Date.now();
2949
3161
  setSnacks((prev) => [...prev, { ...snack, id, exiting: false }]);
@@ -2958,13 +3170,13 @@ var NotistackProvider = ({ children }) => {
2958
3170
  setSnacks((prev) => prev.filter((s) => s.id !== id));
2959
3171
  }, duration + exitDuration);
2960
3172
  };
2961
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(NotistackContext.Provider, { value: { notistack }, children: [
3173
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(NotistackContext.Provider, { value: { notistack }, children: [
2962
3174
  children,
2963
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "yr3NotistackContainer", children: snacks.map((snack) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Notistack, { ...snack }, snack.id)) })
3175
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "yr3NotistackContainer", children: snacks.map((snack) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Notistack, { ...snack }, snack.id)) })
2964
3176
  ] });
2965
3177
  };
2966
3178
  var useNotistack = () => {
2967
- const ctx = React22.useContext(NotistackContext);
3179
+ const ctx = React23.useContext(NotistackContext);
2968
3180
  if (!ctx) {
2969
3181
  throw new Error("NotistackProvider missing");
2970
3182
  }
@@ -2972,15 +3184,15 @@ var useNotistack = () => {
2972
3184
  };
2973
3185
 
2974
3186
  // src/theme/ThemeProvider.tsx
2975
- var import_jsx_runtime41 = require("react/jsx-runtime");
2976
- var ThemeContext = React23.createContext(null);
3187
+ var import_jsx_runtime45 = require("react/jsx-runtime");
3188
+ var ThemeContext = React24.createContext(null);
2977
3189
  var ThemeProvider = ({ theme, children }) => {
2978
- React23.useEffect(() => {
3190
+ React24.useEffect(() => {
2979
3191
  applyTheme(theme);
2980
3192
  }, [theme]);
2981
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ThemeContext.Provider, { value: theme, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(BackdropProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(NotistackProvider, { children }) }) });
3193
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ThemeContext.Provider, { value: theme, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BackdropProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(NotistackProvider, { children }) }) });
2982
3194
  };
2983
- var useTheme = () => React23.useContext(ThemeContext);
3195
+ var useTheme = () => React24.useContext(ThemeContext);
2984
3196
 
2985
3197
  // src/theme/tokens.ts
2986
3198
  var baseTokens = {
@@ -3001,15 +3213,15 @@ var baseTokens = {
3001
3213
  };
3002
3214
 
3003
3215
  // src/theme/useMediaQuery.tsx
3004
- var React24 = __toESM(require("react"), 1);
3216
+ var React25 = __toESM(require("react"), 1);
3005
3217
  function useMediaQuery(query) {
3006
3218
  const theme = useTheme();
3007
3219
  const computedQuery = typeof query === "function" ? query(theme) : query;
3008
- const [matches, setMatches] = React24.useState(() => {
3220
+ const [matches, setMatches] = React25.useState(() => {
3009
3221
  if (typeof window === "undefined") return false;
3010
3222
  return window.matchMedia(computedQuery).matches;
3011
3223
  });
3012
- React24.useEffect(() => {
3224
+ React25.useEffect(() => {
3013
3225
  if (typeof window === "undefined") return;
3014
3226
  const media = window.matchMedia(computedQuery);
3015
3227
  const listener = () => setMatches(media.matches);
@@ -3043,7 +3255,7 @@ var usePlaces = ({ input, language, apiKey, provider }) => {
3043
3255
  };
3044
3256
 
3045
3257
  // src/hooks/useBreakpoint.ts
3046
- var React25 = __toESM(require("react"), 1);
3258
+ var React26 = __toESM(require("react"), 1);
3047
3259
  var breakUp = (bp) => `(min-width: ${bp}px)`;
3048
3260
  var breakDown = (bp) => `(max-width: ${bp}px)`;
3049
3261
  function useBreakpoint(queryInput) {
@@ -3053,8 +3265,8 @@ function useBreakpoint(queryInput) {
3053
3265
  if (typeof window === "undefined") return false;
3054
3266
  return window.matchMedia(query).matches;
3055
3267
  };
3056
- const [matches, setMatches] = React25.useState(getMatch);
3057
- React25.useEffect(() => {
3268
+ const [matches, setMatches] = React26.useState(getMatch);
3269
+ React26.useEffect(() => {
3058
3270
  if (typeof window === "undefined") return;
3059
3271
  const media = window.matchMedia(query);
3060
3272
  const listener = (e) => {
@@ -3100,8 +3312,10 @@ initTheme();
3100
3312
  Flex,
3101
3313
  Grid,
3102
3314
  Group,
3315
+ IconCalendar,
3103
3316
  IconClose,
3104
3317
  IconDown,
3318
+ IconLeft,
3105
3319
  IconSearch,
3106
3320
  Image,
3107
3321
  ImageDropzone,
@@ -3111,6 +3325,7 @@ initTheme();
3111
3325
  Loader,
3112
3326
  Modal,
3113
3327
  ModalContainer,
3328
+ MonthSelector,
3114
3329
  Notistack,
3115
3330
  NotistackContext,
3116
3331
  NotistackProvider,
@@ -3119,6 +3334,7 @@ initTheme();
3119
3334
  PlacesAutocomplete,
3120
3335
  Radio,
3121
3336
  Select,
3337
+ Selector,
3122
3338
  Slide,
3123
3339
  Switch,
3124
3340
  Text,
@@ -3143,6 +3359,7 @@ initTheme();
3143
3359
  getCountryCodePhone,
3144
3360
  getDialPhone,
3145
3361
  getMonthCalendar,
3362
+ getMonthCalendarProps,
3146
3363
  getNumberPhone,
3147
3364
  hexToRgb,
3148
3365
  initTheme,