@ornikar/kitt-universal 4.6.1 → 5.0.2

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.
Files changed (31) hide show
  1. package/dist/definitions/Button/AnimatedButtonPressable.web.d.ts +3 -4
  2. package/dist/definitions/Button/AnimatedButtonPressable.web.d.ts.map +1 -1
  3. package/dist/definitions/forms/Checkbox/Checkbox.d.ts.map +1 -1
  4. package/dist/definitions/forms/DatePicker/DatePicker.d.ts +2 -28
  5. package/dist/definitions/forms/DatePicker/DatePicker.d.ts.map +1 -1
  6. package/dist/definitions/forms/DatePicker/DatePicker.web.d.ts +4 -0
  7. package/dist/definitions/forms/DatePicker/DatePicker.web.d.ts.map +1 -0
  8. package/dist/definitions/forms/DatePicker/DatePickerAndroid.d.ts +12 -0
  9. package/dist/definitions/forms/DatePicker/DatePickerAndroid.d.ts.map +1 -0
  10. package/dist/definitions/forms/DatePicker/DatePickerInputs.d.ts +9 -0
  11. package/dist/definitions/forms/DatePicker/DatePickerInputs.d.ts.map +1 -0
  12. package/dist/definitions/forms/DatePicker/types.d.ts +34 -0
  13. package/dist/definitions/forms/DatePicker/types.d.ts.map +1 -0
  14. package/dist/definitions/index.d.ts +1 -1
  15. package/dist/definitions/index.d.ts.map +1 -1
  16. package/dist/index-browser-all.es.android.js +214 -142
  17. package/dist/index-browser-all.es.android.js.map +1 -1
  18. package/dist/index-browser-all.es.ios.js +214 -142
  19. package/dist/index-browser-all.es.ios.js.map +1 -1
  20. package/dist/index-browser-all.es.js +214 -142
  21. package/dist/index-browser-all.es.js.map +1 -1
  22. package/dist/index-browser-all.es.web.js +529 -667
  23. package/dist/index-browser-all.es.web.js.map +1 -1
  24. package/dist/index-node-14.17.cjs.js +160 -95
  25. package/dist/index-node-14.17.cjs.js.map +1 -1
  26. package/dist/index-node-14.17.cjs.web.css +1 -1
  27. package/dist/index-node-14.17.cjs.web.js +409 -525
  28. package/dist/index-node-14.17.cjs.web.js.map +1 -1
  29. package/dist/styles.css +1 -1
  30. package/dist/tsbuildinfo +1 -1
  31. package/package.json +4 -4
@@ -9,8 +9,6 @@ const react = require('react');
9
9
  const react$1 = require('@linaria/react');
10
10
  const jsxRuntime = require('react/jsx-runtime');
11
11
  const twemojiParser = require('twemoji-parser');
12
- const reactIntl = require('react-intl');
13
- const DateTimePicker = require('@react-native-community/datetimepicker');
14
12
  const reactNativeSafeAreaContext = require('react-native-safe-area-context');
15
13
  const reactDom = require('@floating-ui/react-dom');
16
14
  const addons = require('@storybook/addons');
@@ -18,7 +16,6 @@ const addons = require('@storybook/addons');
18
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
19
17
 
20
18
  const styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
21
- const DateTimePicker__default = /*#__PURE__*/_interopDefaultLegacy(DateTimePicker);
22
19
 
23
20
  // type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;
24
21
  // type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };
@@ -1444,7 +1441,7 @@ function useKittTheme() {
1444
1441
  const CheckboxAndLabelPressableWrapper = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
1445
1442
  displayName: "Checkbox__CheckboxAndLabelPressableWrapper",
1446
1443
  componentId: "kitt-universal__sc-1sav1n6-0"
1447
- })(["display:flex;flex-direction:row;align-items:center;"]);
1444
+ })(["display:flex;flex-direction:row;"]);
1448
1445
  const CheckboxContainer = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1449
1446
  displayName: "Checkbox__CheckboxContainer",
1450
1447
  componentId: "kitt-universal__sc-1sav1n6-1"
@@ -1584,405 +1581,13 @@ function DatePickerInputPart({
1584
1581
  });
1585
1582
  }
1586
1583
 
1587
- // Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates
1588
- const OverlayPressable = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
1589
- displayName: "Overlay__OverlayPressable",
1590
- componentId: "kitt-universal__sc-1cz1gbr-0"
1591
- })(({
1592
- theme
1593
- }) => ({ ...BabelPluginStyledComponentsReactNative.StyleSheet.absoluteFillObject,
1594
- backgroundColor: theme.kitt.colors.overlay.dark
1595
- }));
1596
- function Overlay({
1597
- onPress
1598
- }) {
1599
- return /*#__PURE__*/jsxRuntime.jsx(OverlayPressable, {
1600
- accessibilityRole: "none",
1601
- onPress: onPress,
1602
- children: /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.View, {})
1603
- });
1604
- }
1605
-
1606
- const BodyView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1607
- displayName: "Body__BodyView",
1608
- componentId: "kitt-universal__sc-17fwpo4-0"
1609
- })(["padding:", "px ", "px;"], ({
1610
- theme
1611
- }) => theme.kitt.spacing * 6, ({
1612
- theme
1613
- }) => theme.kitt.spacing * 4);
1614
- function ModalBody({
1615
- children
1616
- }) {
1617
- return /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.ScrollView, {
1618
- children: /*#__PURE__*/jsxRuntime.jsx(BodyView, {
1619
- children: children
1620
- })
1621
- });
1622
- }
1623
-
1624
- const FooterView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1625
- displayName: "Footer__FooterView",
1626
- componentId: "kitt-universal__sc-1ujq2dc-0"
1627
- })(["flex:0 0 auto;padding:", "px;border-top-width:1px;border-top-color:", ";"], ({
1628
- theme
1629
- }) => theme.kitt.spacing * 4, ({
1630
- theme
1631
- }) => theme.kitt.colors.separator);
1632
- function ModalFooter({
1633
- children
1634
- }) {
1635
- return /*#__PURE__*/jsxRuntime.jsx(FooterView, {
1636
- children: children
1637
- });
1638
- }
1639
-
1640
- function StyleWebWrapper({
1641
- as,
1642
- children,
1643
- ...props
1644
- }) {
1645
- // as or default to div. If as is undefined, T is div but typescript is not sure
1646
- return /*#__PURE__*/jsxRuntime.jsx(as || 'div', { ...props,
1647
- children: children
1648
- });
1649
- }
1650
-
1651
- const PressableIconButtonWebWrapper = withTheme( /*#__PURE__*/react$1.styled("div")({
1652
- name: "PressableIconButtonWebWrapper",
1653
- class: "kitt-u_PressableIconButtonWebWrapper_p1nlccvg",
1654
- vars: {
1655
- "p1nlccvg-0": [({
1656
- theme,
1657
- $isDisabled
1658
- }) => $isDisabled ? 1 : theme.kitt.iconButton.scale.base.hover],
1659
- "p1nlccvg-2": [({
1660
- theme,
1661
- $isDisabled
1662
- }) => $isDisabled ? 1 : theme.kitt.iconButton.scale.medium.hover],
1663
- "p1nlccvg-3": [({
1664
- theme,
1665
- $isDisabled
1666
- }) => $isDisabled ? 1 : theme.kitt.iconButton.scale.base.active],
1667
- "p1nlccvg-4": [({
1668
- theme,
1669
- $isWhite,
1670
- $isDisabled
1671
- }) => {
1672
- if ($isDisabled) return theme.kitt.iconButton.disabled.backgroundColor;
1673
- const {
1674
- white,
1675
- default: defaultIconButton
1676
- } = theme.kitt.iconButton;
1677
- if ($isWhite) return white.pressedBackgroundColor;
1678
- return defaultIconButton.pressedBackgroundColor;
1679
- }]
1680
- }
1681
- }));
1682
- const StyledPressableIconButton = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
1683
- displayName: "PressableIconButton__StyledPressableIconButton",
1684
- componentId: "kitt-universal__sc-1m6jo3s-0"
1685
- })(["border-radius:", "px;width:", "px;height:", "px;align-items:center;justify-content:center;position:relative;background-color:transparent;", ";"], ({
1686
- theme
1687
- }) => theme.kitt.iconButton.borderRadius, ({
1688
- theme
1689
- }) => theme.kitt.iconButton.width, ({
1690
- theme
1691
- }) => theme.kitt.iconButton.height, ({
1692
- theme,
1693
- disabled
1694
- }) => {
1695
- const {
1696
- iconButton
1697
- } = theme.kitt;
1698
- const {
1699
- transition
1700
- } = iconButton;
1701
-
1702
- if (disabled) {
1703
- return `
1704
- background-color: ${iconButton.disabled.backgroundColor};
1705
- `;
1706
- }
1707
-
1708
- return `
1709
- transition: ${transition.property} ${transition.duration} ${transition.timingFunction};
1710
- `;
1711
- });
1712
- function PressableIconButton({
1713
- color,
1714
- disabled,
1715
- ...props
1716
- }) {
1717
- return /*#__PURE__*/jsxRuntime.jsx(StyleWebWrapper, {
1718
- as: PressableIconButtonWebWrapper,
1719
- $isWhite: color === 'white',
1720
- $isDisabled: Boolean(disabled),
1721
- children: /*#__PURE__*/jsxRuntime.jsx(StyledPressableIconButton, { ...props,
1722
- disabled: disabled
1723
- })
1724
- });
1725
- }
1726
-
1727
- function PressableAnimatedContainer({
1728
- children,
1729
- color,
1730
- disabled,
1731
- onPress
1732
- }) {
1733
- return /*#__PURE__*/jsxRuntime.jsx(PressableIconButton, {
1734
- accessibilityRole: "button",
1735
- color: color,
1736
- disabled: disabled,
1737
- onPress: onPress,
1738
- children: children
1739
- });
1740
- }
1741
-
1742
- const IconButtonContentBorder = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1743
- displayName: "IconButton__IconButtonContentBorder",
1744
- componentId: "kitt-universal__sc-swelbf-0"
1745
- })(["border:", ";border-color:", ";width:", "px;height:", "px;align-items:center;justify-content:center;border-radius:", "px;"], ({
1746
- theme
1747
- }) => `${theme.kitt.iconButton.borderWidth}px solid`, ({
1748
- theme,
1749
- disabled
1750
- }) => disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor, ({
1751
- theme
1752
- }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth, ({
1753
- theme
1754
- }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth, ({
1755
- theme
1756
- }) => theme.kitt.iconButton.borderRadius);
1757
-
1758
- function IconButtonContent({
1759
- disabled,
1760
- color,
1761
- icon
1762
- }) {
1763
- return /*#__PURE__*/jsxRuntime.jsx(IconButtonContentBorder, {
1764
- disabled: disabled,
1765
- children: /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
1766
- color: disabled ? 'black-light' : color,
1767
- icon: icon
1768
- })
1769
- });
1770
- }
1771
-
1772
- function IconButton({
1773
- icon,
1774
- color,
1775
- disabled,
1776
- testID,
1777
- accessibilityLabel,
1778
- accessibilityRole,
1779
- onPress
1780
- }) {
1781
- return /*#__PURE__*/jsxRuntime.jsx(PressableAnimatedContainer, {
1782
- color: color,
1783
- disabled: disabled,
1784
- testID: testID,
1785
- accessibilityLabel: accessibilityLabel,
1786
- accessibilityRole: accessibilityRole,
1787
- onPress: onPress,
1788
- children: /*#__PURE__*/jsxRuntime.jsx(IconButtonContent, {
1789
- disabled: disabled,
1790
- color: color,
1791
- icon: icon
1792
- })
1793
- });
1794
- }
1795
-
1796
- const OnCloseContext = /*#__PURE__*/react.createContext(() => {});
1797
-
1798
- const HeaderView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1799
- displayName: "Header__HeaderView",
1800
- componentId: "kitt-universal__sc-1iwabch-0"
1801
- })(["position:relative;padding:", "px;display:flex;flex:0 0 auto;flex-direction:row;justify-content:space-between;align-items:center;border-bottom-width:1px;border-bottom-color:", ";min-height:57px;"], ({
1802
- theme
1803
- }) => theme.kitt.spacing * 2, ({
1804
- theme
1805
- }) => theme.kitt.colors.separator);
1806
- const LeftIconView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1807
- displayName: "Header__LeftIconView",
1808
- componentId: "kitt-universal__sc-1iwabch-1"
1809
- })(["align-self:flex-start;margin-right:", "px;"], ({
1810
- theme
1811
- }) => theme.kitt.spacing * 2);
1812
- const RightIconView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1813
- displayName: "Header__RightIconView",
1814
- componentId: "kitt-universal__sc-1iwabch-2"
1815
- })(["align-self:flex-start;margin-left:", "px;"], ({
1816
- theme
1817
- }) => theme.kitt.spacing * 2);
1818
- const TitleView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1819
- displayName: "Header__TitleView",
1820
- componentId: "kitt-universal__sc-1iwabch-3"
1821
- })(["padding-left:", "px;flex-shrink:1;"], ({
1822
- theme,
1823
- isIconLeft
1824
- }) => isIconLeft ? 0 : theme.kitt.spacing * 2);
1825
- function ModalHeader({
1826
- left,
1827
- right,
1828
- children
1829
- }) {
1830
- const onClose = react.useContext(OnCloseContext);
1831
- const isIconLeft = !!left;
1832
- return /*#__PURE__*/jsxRuntime.jsxs(HeaderView, {
1833
- children: [isIconLeft && /*#__PURE__*/jsxRuntime.jsx(LeftIconView, {
1834
- children: left
1835
- }), /*#__PURE__*/jsxRuntime.jsx(TitleView, {
1836
- isIconLeft: isIconLeft,
1837
- children: children
1838
- }), right !== undefined ? right : /*#__PURE__*/jsxRuntime.jsx(RightIconView, {
1839
- children: /*#__PURE__*/jsxRuntime.jsx(IconButton, {
1840
- icon: /*#__PURE__*/jsxRuntime.jsx(kittIcons.XIcon, {}),
1841
- onPress: onClose
1842
- })
1843
- })]
1844
- });
1845
- }
1846
-
1847
- const ModalView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1848
- displayName: "Modal__ModalView",
1849
- componentId: "kitt-universal__sc-1xy2w5u-0"
1850
- })(["top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:", "px ", "px;"], ({
1851
- theme
1852
- }) => theme.kitt.spacing * 20, ({
1853
- theme
1854
- }) => theme.kitt.spacing * 4);
1855
- const ContentView$1 = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1856
- displayName: "Modal__ContentView",
1857
- componentId: "kitt-universal__sc-1xy2w5u-1"
1858
- })(["position:relative;display:flex;flex-direction:column;max-height:100%;max-width:540px;height:auto;width:100%;border-radius:", "px;background-color:", ";"], ({
1859
- theme
1860
- }) => theme.kitt.card.borderRadius, ({
1861
- theme
1862
- }) => theme.kitt.colors.uiBackgroundLight);
1863
- function Modal({
1864
- visible,
1865
- children,
1866
- onClose,
1867
- onEntered,
1868
- onExited
1869
- }) {
1870
- return /*#__PURE__*/jsxRuntime.jsx(OnCloseContext.Provider, {
1871
- value: onClose,
1872
- children: /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.Modal, {
1873
- transparent: true,
1874
- animationType: "fade",
1875
- visible: visible,
1876
- onShow: onEntered,
1877
- onDismiss: onExited,
1878
- onRequestClose: onClose,
1879
- children: /*#__PURE__*/jsxRuntime.jsxs(ModalView, {
1880
- children: [/*#__PURE__*/jsxRuntime.jsx(Overlay, {
1881
- onPress: onClose
1882
- }), /*#__PURE__*/jsxRuntime.jsx(ContentView$1, {
1883
- children: children
1884
- })]
1885
- })
1886
- })
1887
- });
1888
- }
1889
- Modal.Header = ModalHeader;
1890
- Modal.Body = ModalBody;
1891
- Modal.Footer = ModalFooter;
1892
-
1893
- function getDatePickerDisplayMode() {
1894
- return 'default';
1895
- }
1896
-
1897
- function PlatformDateTimePicker({
1898
- value,
1899
- defaultDate = new Date(),
1900
- maximumDate,
1901
- minimuDate,
1902
- testID,
1903
- onChange
1904
- }) {
1905
- const displayMode = getDatePickerDisplayMode();
1906
- const iosProps = {};
1907
- return /*#__PURE__*/jsxRuntime.jsx(DateTimePicker__default, {
1908
- is24Hour: true,
1909
- testID: testID,
1910
- value: value || defaultDate,
1911
- mode: "date",
1912
- maximumDate: maximumDate,
1913
- minimumDate: minimuDate,
1914
- display: displayMode,
1915
- ...iosProps,
1916
- onChange: (_event, date) => onChange(date)
1917
- });
1918
- }
1919
-
1920
- function ModalTitle({
1921
- children
1922
- }) {
1923
- return /*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
1924
- children: /*#__PURE__*/jsxRuntime.jsx(Typography.Text, {
1925
- base: "body",
1926
- variant: "bold",
1927
- children: children
1928
- })
1929
- });
1930
- }
1931
-
1932
- function ModalPlatformDateTimePicker({
1933
- title,
1934
- isVisible,
1935
- value,
1936
- validateButtonLabel,
1937
- onClose,
1938
- onChange,
1939
- ...props
1940
- }) {
1941
- const [currentValue, setCurrentValue] = react.useState(value); // Prevent unsynced value between the modal and its parent state
1942
-
1943
- return /*#__PURE__*/jsxRuntime.jsx(Modal, {
1944
- visible: Boolean(isVisible),
1945
- onClose: () => {
1946
- setCurrentValue(value);
1947
- onClose();
1948
- },
1949
- children: isVisible ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1950
- children: [title ? /*#__PURE__*/jsxRuntime.jsx(ModalTitle, {
1951
- children: title
1952
- }) : null, /*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
1953
- children: /*#__PURE__*/jsxRuntime.jsx(PlatformDateTimePicker, { ...props,
1954
- value: currentValue,
1955
- onChange: newDate => {
1956
- setCurrentValue(prev => {
1957
- return newDate || prev;
1958
- });
1959
- }
1960
- })
1961
- }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
1962
- children: /*#__PURE__*/jsxRuntime.jsx(Button, {
1963
- stretch: true,
1964
- type: "primary",
1965
- onPress: () => {
1966
- onChange(currentValue);
1967
- },
1968
- children: validateButtonLabel ? /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.Text, {
1969
- children: validateButtonLabel
1970
- }) : /*#__PURE__*/jsxRuntime.jsx(reactIntl.FormattedMessage, {
1971
- id: "kitt-universal.ModalDateTimePicker.confirm"
1972
- })
1973
- })
1974
- })]
1975
- }) : null
1976
- });
1977
- }
1978
-
1979
1584
  function prefixWithZero(value) {
1980
1585
  return `${value}`.padStart(2, '0');
1981
1586
  }
1982
1587
 
1983
1588
  const PartContainer = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1984
- displayName: "DatePicker__PartContainer",
1985
- componentId: "kitt-universal__sc-ebllsn-0"
1589
+ displayName: "DatePickerInputs__PartContainer",
1590
+ componentId: "kitt-universal__sc-j9hin5-0"
1986
1591
  })(["margin-right:", ";", ";"], ({
1987
1592
  theme,
1988
1593
  $isLast
@@ -1990,8 +1595,8 @@ const PartContainer = /*#__PURE__*/styled__default(BabelPluginStyledComponentsRe
1990
1595
  $isStretch
1991
1596
  }) => $isStretch ? styled.css(["flex:0.33;flex-grow:1;"]) : undefined);
1992
1597
  const DatePickerPressable = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
1993
- displayName: "DatePicker__DatePickerPressable",
1994
- componentId: "kitt-universal__sc-ebllsn-1"
1598
+ displayName: "DatePickerInputs__DatePickerPressable",
1599
+ componentId: "kitt-universal__sc-j9hin5-1"
1995
1600
  })(["display:flex;flex-direction:row;", ";"], ({
1996
1601
  $isStretch
1997
1602
  }) => {
@@ -2001,100 +1606,73 @@ const DatePickerPressable = /*#__PURE__*/styled__default(BabelPluginStyledCompon
2001
1606
 
2002
1607
  return styled.css(["align-self:baseline;"]);
2003
1608
  });
2004
- function DatePicker({
2005
- value,
2006
- id,
2007
- disabled,
2008
- placeholder,
1609
+ function DatePickerInputs({
2009
1610
  state,
2010
1611
  internalForceState,
2011
- testID,
1612
+ isFocused,
1613
+ disabled,
2012
1614
  stretch,
2013
- pickerDefaultDate,
2014
- pickerUITestID,
2015
- pickerUITitle,
2016
- pickerUIValidateButtonLabel,
2017
- onChange,
2018
- onFocus,
2019
- onBlur
1615
+ id,
1616
+ testID,
1617
+ handleModalOpen,
1618
+ currentValue,
1619
+ placeholder
2020
1620
  }) {
2021
- const [isPickerUIVisible, setIsPickerUIVisible] = react.useState(false);
2022
- const [isFocused, setIsFocused] = react.useState(false);
2023
- const [currentValue, setCurrentValue] = react.useState(value);
2024
-
2025
- const handleModalClose = () => {
2026
- if (onBlur) onBlur();
2027
- setIsPickerUIVisible(false);
2028
- setIsFocused(false);
2029
- };
2030
-
2031
- const handleChange = newDate => {
2032
- setCurrentValue(newDate);
2033
- onChange(newDate);
2034
- handleModalClose();
2035
- };
2036
-
2037
1621
  const currentState = internalForceState || getInputUIState({
2038
1622
  isFocused,
2039
1623
  isDisabled: Boolean(disabled),
2040
1624
  formState: state
2041
1625
  });
2042
- const sharedPickerProps = {
2043
- testID: pickerUITestID,
2044
- value: currentValue,
2045
- onChange: handleChange
2046
- };
2047
1626
  const sharedPartProps = {
2048
1627
  disabled,
2049
- $state: currentState,
2050
- defaultDate: pickerDefaultDate
1628
+ $state: currentState
2051
1629
  };
2052
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
2053
- children: [/*#__PURE__*/jsxRuntime.jsxs(DatePickerPressable, {
1630
+ return /*#__PURE__*/jsxRuntime.jsxs(DatePickerPressable, {
1631
+ $isStretch: stretch,
1632
+ nativeID: id,
1633
+ disabled: disabled,
1634
+ testID: testID,
1635
+ onPress: handleModalOpen,
1636
+ children: [/*#__PURE__*/jsxRuntime.jsx(PartContainer, {
2054
1637
  $isStretch: stretch,
2055
- nativeID: id,
2056
- disabled: disabled,
2057
- testID: testID,
2058
- onPress: () => {
2059
- if (onFocus) onFocus();
2060
- setIsPickerUIVisible(true);
2061
- setIsFocused(true);
2062
- },
2063
- children: [/*#__PURE__*/jsxRuntime.jsx(PartContainer, {
2064
- $isStretch: stretch,
2065
- children: /*#__PURE__*/jsxRuntime.jsx(DatePickerInputPart, { ...sharedPartProps,
2066
- partName: "day",
2067
- value: currentValue ? prefixWithZero(currentValue.getDate()) : undefined,
2068
- placeholder: placeholder?.day
2069
- })
2070
- }), /*#__PURE__*/jsxRuntime.jsx(PartContainer, {
2071
- $isStretch: stretch,
2072
- children: /*#__PURE__*/jsxRuntime.jsx(DatePickerInputPart, { ...sharedPartProps,
2073
- partName: "month",
2074
- value: currentValue ? prefixWithZero(currentValue.getMonth() + 1) : undefined,
2075
- placeholder: placeholder?.month
2076
- })
2077
- }), /*#__PURE__*/jsxRuntime.jsx(PartContainer, {
2078
- $isLast: true,
2079
- $isStretch: stretch,
2080
- children: /*#__PURE__*/jsxRuntime.jsx(DatePickerInputPart, { ...sharedPartProps,
2081
- partName: "year",
2082
- value: currentValue ? currentValue.getFullYear() : undefined,
2083
- placeholder: placeholder?.year
2084
- })
2085
- })]
2086
- }), /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
2087
- children: [null, /*#__PURE__*/jsxRuntime.jsx(ModalPlatformDateTimePicker, { ...sharedPickerProps,
2088
- isVisible: isPickerUIVisible,
2089
- title: pickerUITitle,
2090
- validateButtonLabel: pickerUIValidateButtonLabel,
2091
- onClose: handleModalClose,
2092
- onChange: handleChange
2093
- })]
1638
+ children: /*#__PURE__*/jsxRuntime.jsx(DatePickerInputPart, { ...sharedPartProps,
1639
+ partName: "day",
1640
+ value: currentValue ? prefixWithZero(currentValue.getDate()) : undefined,
1641
+ placeholder: placeholder?.day
1642
+ })
1643
+ }), /*#__PURE__*/jsxRuntime.jsx(PartContainer, {
1644
+ $isStretch: stretch,
1645
+ children: /*#__PURE__*/jsxRuntime.jsx(DatePickerInputPart, { ...sharedPartProps,
1646
+ partName: "month",
1647
+ value: currentValue ? prefixWithZero(currentValue.getMonth() + 1) : undefined,
1648
+ placeholder: placeholder?.month
1649
+ })
1650
+ }), /*#__PURE__*/jsxRuntime.jsx(PartContainer, {
1651
+ $isLast: true,
1652
+ $isStretch: stretch,
1653
+ children: /*#__PURE__*/jsxRuntime.jsx(DatePickerInputPart, { ...sharedPartProps,
1654
+ partName: "year",
1655
+ value: currentValue ? currentValue.getFullYear() : undefined,
1656
+ placeholder: placeholder?.year
1657
+ })
2094
1658
  })]
2095
1659
  });
2096
1660
  }
2097
1661
 
1662
+ // This is not yet implemented
1663
+ // We still display the inputs for chromatic
1664
+ function DatePicker({
1665
+ value,
1666
+ ...props
1667
+ }) {
1668
+ return /*#__PURE__*/jsxRuntime.jsx(DatePickerInputs, {
1669
+ handleModalOpen: () => {},
1670
+ currentValue: value,
1671
+ isFocused: false,
1672
+ ...props
1673
+ });
1674
+ }
1675
+
2098
1676
  const InputTextContainer = withTheme( /*#__PURE__*/react$1.styled("div")({
2099
1677
  name: "InputTextContainer",
2100
1678
  class: "kitt-u_InputTextContainer_i1encr9g",
@@ -2597,63 +2175,219 @@ const HeaderContent = /*#__PURE__*/styled__default(BabelPluginStyledComponentsRe
2597
2175
  });
2598
2176
  function FullScreenModalHeader({
2599
2177
  children,
2600
- right,
2601
- left
2178
+ right,
2179
+ left
2180
+ }) {
2181
+ const {
2182
+ top
2183
+ } = reactNativeSafeAreaContext.useSafeAreaInsets();
2184
+ const dimensions = BabelPluginStyledComponentsReactNative.useWindowDimensions();
2185
+ const [leftWidth, setLeftWidth] = react.useState(0);
2186
+ const [rightWidth, setRightWidth] = react.useState(0);
2187
+
2188
+ const handleLayoutChange = (event, side) => {
2189
+ // Prevents react to nullify event on rerenders
2190
+ event.persist();
2191
+
2192
+ if (side === 'left') {
2193
+ setLeftWidth(event.nativeEvent.layout.width);
2194
+ return;
2195
+ }
2196
+
2197
+ setRightWidth(event.nativeEvent.layout.width);
2198
+ };
2199
+
2200
+ return /*#__PURE__*/jsxRuntime.jsxs(Header, {
2201
+ insetTop: top,
2202
+ children: [left ? /*#__PURE__*/jsxRuntime.jsx(SideContainer, {
2203
+ onLayout: e => handleLayoutChange(e, 'left'),
2204
+ children: left
2205
+ }) : null, /*#__PURE__*/jsxRuntime.jsx(HeaderContent, {
2206
+ windowWidth: dimensions.width,
2207
+ leftWidth: leftWidth,
2208
+ rightWidth: rightWidth,
2209
+ children: children
2210
+ }), right ? /*#__PURE__*/jsxRuntime.jsx(SideContainer, {
2211
+ side: "right",
2212
+ onLayout: e => handleLayoutChange(e, 'right'),
2213
+ children: right
2214
+ }) : null]
2215
+ });
2216
+ }
2217
+
2218
+ const Container$1 = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2219
+ displayName: "FullScreenModal__Container",
2220
+ componentId: "kitt-universal__sc-11qpbe3-0"
2221
+ })(["flex:1;background-color:", ";"], ({
2222
+ theme
2223
+ }) => theme.kitt.colors.uiBackground);
2224
+ function FullScreenModal({
2225
+ children
2226
+ }) {
2227
+ return /*#__PURE__*/jsxRuntime.jsx(Container$1, {
2228
+ children: children
2229
+ });
2230
+ }
2231
+ FullScreenModal.Header = FullScreenModalHeader;
2232
+ FullScreenModal.Body = FullScreenModalBody;
2233
+
2234
+ function StyleWebWrapper({
2235
+ as,
2236
+ children,
2237
+ ...props
2238
+ }) {
2239
+ // as or default to div. If as is undefined, T is div but typescript is not sure
2240
+ return /*#__PURE__*/jsxRuntime.jsx(as || 'div', { ...props,
2241
+ children: children
2242
+ });
2243
+ }
2244
+
2245
+ const PressableIconButtonWebWrapper = withTheme( /*#__PURE__*/react$1.styled("div")({
2246
+ name: "PressableIconButtonWebWrapper",
2247
+ class: "kitt-u_PressableIconButtonWebWrapper_p1nlccvg",
2248
+ vars: {
2249
+ "p1nlccvg-0": [({
2250
+ theme,
2251
+ $isDisabled
2252
+ }) => $isDisabled ? 1 : theme.kitt.iconButton.scale.base.hover],
2253
+ "p1nlccvg-2": [({
2254
+ theme,
2255
+ $isDisabled
2256
+ }) => $isDisabled ? 1 : theme.kitt.iconButton.scale.medium.hover],
2257
+ "p1nlccvg-3": [({
2258
+ theme,
2259
+ $isDisabled
2260
+ }) => $isDisabled ? 1 : theme.kitt.iconButton.scale.base.active],
2261
+ "p1nlccvg-4": [({
2262
+ theme,
2263
+ $isWhite,
2264
+ $isDisabled
2265
+ }) => {
2266
+ if ($isDisabled) return theme.kitt.iconButton.disabled.backgroundColor;
2267
+ const {
2268
+ white,
2269
+ default: defaultIconButton
2270
+ } = theme.kitt.iconButton;
2271
+ if ($isWhite) return white.pressedBackgroundColor;
2272
+ return defaultIconButton.pressedBackgroundColor;
2273
+ }]
2274
+ }
2275
+ }));
2276
+ const StyledPressableIconButton = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
2277
+ displayName: "PressableIconButton__StyledPressableIconButton",
2278
+ componentId: "kitt-universal__sc-1m6jo3s-0"
2279
+ })(["border-radius:", "px;width:", "px;height:", "px;align-items:center;justify-content:center;position:relative;background-color:transparent;", ";"], ({
2280
+ theme
2281
+ }) => theme.kitt.iconButton.borderRadius, ({
2282
+ theme
2283
+ }) => theme.kitt.iconButton.width, ({
2284
+ theme
2285
+ }) => theme.kitt.iconButton.height, ({
2286
+ theme,
2287
+ disabled
2288
+ }) => {
2289
+ const {
2290
+ iconButton
2291
+ } = theme.kitt;
2292
+ const {
2293
+ transition
2294
+ } = iconButton;
2295
+
2296
+ if (disabled) {
2297
+ return `
2298
+ background-color: ${iconButton.disabled.backgroundColor};
2299
+ `;
2300
+ }
2301
+
2302
+ return `
2303
+ transition: ${transition.property} ${transition.duration} ${transition.timingFunction};
2304
+ `;
2305
+ });
2306
+ function PressableIconButton({
2307
+ color,
2308
+ disabled,
2309
+ ...props
2310
+ }) {
2311
+ return /*#__PURE__*/jsxRuntime.jsx(StyleWebWrapper, {
2312
+ as: PressableIconButtonWebWrapper,
2313
+ $isWhite: color === 'white',
2314
+ $isDisabled: Boolean(disabled),
2315
+ children: /*#__PURE__*/jsxRuntime.jsx(StyledPressableIconButton, { ...props,
2316
+ disabled: disabled
2317
+ })
2318
+ });
2319
+ }
2320
+
2321
+ function PressableAnimatedContainer({
2322
+ children,
2323
+ color,
2324
+ disabled,
2325
+ onPress
2602
2326
  }) {
2603
- const {
2604
- top
2605
- } = reactNativeSafeAreaContext.useSafeAreaInsets();
2606
- const dimensions = BabelPluginStyledComponentsReactNative.useWindowDimensions();
2607
- const [leftWidth, setLeftWidth] = react.useState(0);
2608
- const [rightWidth, setRightWidth] = react.useState(0);
2609
-
2610
- const handleLayoutChange = (event, side) => {
2611
- // Prevents react to nullify event on rerenders
2612
- event.persist();
2613
-
2614
- if (side === 'left') {
2615
- setLeftWidth(event.nativeEvent.layout.width);
2616
- return;
2617
- }
2327
+ return /*#__PURE__*/jsxRuntime.jsx(PressableIconButton, {
2328
+ accessibilityRole: "button",
2329
+ color: color,
2330
+ disabled: disabled,
2331
+ onPress: onPress,
2332
+ children: children
2333
+ });
2334
+ }
2618
2335
 
2619
- setRightWidth(event.nativeEvent.layout.width);
2620
- };
2336
+ const IconButtonContentBorder = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2337
+ displayName: "IconButton__IconButtonContentBorder",
2338
+ componentId: "kitt-universal__sc-swelbf-0"
2339
+ })(["border:", ";border-color:", ";width:", "px;height:", "px;align-items:center;justify-content:center;border-radius:", "px;"], ({
2340
+ theme
2341
+ }) => `${theme.kitt.iconButton.borderWidth}px solid`, ({
2342
+ theme,
2343
+ disabled
2344
+ }) => disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor, ({
2345
+ theme
2346
+ }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth, ({
2347
+ theme
2348
+ }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth, ({
2349
+ theme
2350
+ }) => theme.kitt.iconButton.borderRadius);
2621
2351
 
2622
- return /*#__PURE__*/jsxRuntime.jsxs(Header, {
2623
- insetTop: top,
2624
- children: [left ? /*#__PURE__*/jsxRuntime.jsx(SideContainer, {
2625
- onLayout: e => handleLayoutChange(e, 'left'),
2626
- children: left
2627
- }) : null, /*#__PURE__*/jsxRuntime.jsx(HeaderContent, {
2628
- windowWidth: dimensions.width,
2629
- leftWidth: leftWidth,
2630
- rightWidth: rightWidth,
2631
- children: children
2632
- }), right ? /*#__PURE__*/jsxRuntime.jsx(SideContainer, {
2633
- side: "right",
2634
- onLayout: e => handleLayoutChange(e, 'right'),
2635
- children: right
2636
- }) : null]
2352
+ function IconButtonContent({
2353
+ disabled,
2354
+ color,
2355
+ icon
2356
+ }) {
2357
+ return /*#__PURE__*/jsxRuntime.jsx(IconButtonContentBorder, {
2358
+ disabled: disabled,
2359
+ children: /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
2360
+ color: disabled ? 'black-light' : color,
2361
+ icon: icon
2362
+ })
2637
2363
  });
2638
2364
  }
2639
2365
 
2640
- const Container$1 = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2641
- displayName: "FullScreenModal__Container",
2642
- componentId: "kitt-universal__sc-11qpbe3-0"
2643
- })(["flex:1;background-color:", ";"], ({
2644
- theme
2645
- }) => theme.kitt.colors.uiBackground);
2646
- function FullScreenModal({
2647
- children
2366
+ function IconButton({
2367
+ icon,
2368
+ color,
2369
+ disabled,
2370
+ testID,
2371
+ accessibilityLabel,
2372
+ accessibilityRole,
2373
+ onPress
2648
2374
  }) {
2649
- return /*#__PURE__*/jsxRuntime.jsx(Container$1, {
2650
- children: children
2375
+ return /*#__PURE__*/jsxRuntime.jsx(PressableAnimatedContainer, {
2376
+ color: color,
2377
+ disabled: disabled,
2378
+ testID: testID,
2379
+ accessibilityLabel: accessibilityLabel,
2380
+ accessibilityRole: accessibilityRole,
2381
+ onPress: onPress,
2382
+ children: /*#__PURE__*/jsxRuntime.jsx(IconButtonContent, {
2383
+ disabled: disabled,
2384
+ color: color,
2385
+ icon: icon
2386
+ })
2651
2387
  });
2652
2388
  }
2653
- FullScreenModal.Header = FullScreenModalHeader;
2654
- FullScreenModal.Body = FullScreenModalBody;
2655
2389
 
2656
- const ContentView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2390
+ const ContentView$1 = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2657
2391
  displayName: "ListItemContent__ContentView",
2658
2392
  componentId: "kitt-universal__sc-57q0u9-0"
2659
2393
  })(["flex:1 0 0%;align-self:center;"]);
@@ -2661,7 +2395,7 @@ function ListItemContent({
2661
2395
  children,
2662
2396
  ...rest
2663
2397
  }) {
2664
- return /*#__PURE__*/jsxRuntime.jsx(ContentView, { ...rest,
2398
+ return /*#__PURE__*/jsxRuntime.jsx(ContentView$1, { ...rest,
2665
2399
  children: children
2666
2400
  });
2667
2401
  }
@@ -2984,6 +2718,156 @@ function Message({
2984
2718
  });
2985
2719
  }
2986
2720
 
2721
+ // Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates
2722
+ const OverlayPressable = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
2723
+ displayName: "Overlay__OverlayPressable",
2724
+ componentId: "kitt-universal__sc-1cz1gbr-0"
2725
+ })(({
2726
+ theme
2727
+ }) => ({ ...BabelPluginStyledComponentsReactNative.StyleSheet.absoluteFillObject,
2728
+ backgroundColor: theme.kitt.colors.overlay.dark
2729
+ }));
2730
+ function Overlay({
2731
+ onPress
2732
+ }) {
2733
+ return /*#__PURE__*/jsxRuntime.jsx(OverlayPressable, {
2734
+ accessibilityRole: "none",
2735
+ onPress: onPress,
2736
+ children: /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.View, {})
2737
+ });
2738
+ }
2739
+
2740
+ const BodyView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2741
+ displayName: "Body__BodyView",
2742
+ componentId: "kitt-universal__sc-17fwpo4-0"
2743
+ })(["padding:", "px ", "px;"], ({
2744
+ theme
2745
+ }) => theme.kitt.spacing * 6, ({
2746
+ theme
2747
+ }) => theme.kitt.spacing * 4);
2748
+ function ModalBody({
2749
+ children
2750
+ }) {
2751
+ return /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.ScrollView, {
2752
+ children: /*#__PURE__*/jsxRuntime.jsx(BodyView, {
2753
+ children: children
2754
+ })
2755
+ });
2756
+ }
2757
+
2758
+ const FooterView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2759
+ displayName: "Footer__FooterView",
2760
+ componentId: "kitt-universal__sc-1ujq2dc-0"
2761
+ })(["flex:0 0 auto;padding:", "px;border-top-width:1px;border-top-color:", ";"], ({
2762
+ theme
2763
+ }) => theme.kitt.spacing * 4, ({
2764
+ theme
2765
+ }) => theme.kitt.colors.separator);
2766
+ function ModalFooter({
2767
+ children
2768
+ }) {
2769
+ return /*#__PURE__*/jsxRuntime.jsx(FooterView, {
2770
+ children: children
2771
+ });
2772
+ }
2773
+
2774
+ const OnCloseContext = /*#__PURE__*/react.createContext(() => {});
2775
+
2776
+ const HeaderView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2777
+ displayName: "Header__HeaderView",
2778
+ componentId: "kitt-universal__sc-1iwabch-0"
2779
+ })(["position:relative;padding:", "px;display:flex;flex:0 0 auto;flex-direction:row;justify-content:space-between;align-items:center;border-bottom-width:1px;border-bottom-color:", ";min-height:57px;"], ({
2780
+ theme
2781
+ }) => theme.kitt.spacing * 2, ({
2782
+ theme
2783
+ }) => theme.kitt.colors.separator);
2784
+ const LeftIconView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2785
+ displayName: "Header__LeftIconView",
2786
+ componentId: "kitt-universal__sc-1iwabch-1"
2787
+ })(["align-self:flex-start;margin-right:", "px;"], ({
2788
+ theme
2789
+ }) => theme.kitt.spacing * 2);
2790
+ const RightIconView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2791
+ displayName: "Header__RightIconView",
2792
+ componentId: "kitt-universal__sc-1iwabch-2"
2793
+ })(["align-self:flex-start;margin-left:", "px;"], ({
2794
+ theme
2795
+ }) => theme.kitt.spacing * 2);
2796
+ const TitleView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2797
+ displayName: "Header__TitleView",
2798
+ componentId: "kitt-universal__sc-1iwabch-3"
2799
+ })(["padding-left:", "px;flex-shrink:1;"], ({
2800
+ theme,
2801
+ isIconLeft
2802
+ }) => isIconLeft ? 0 : theme.kitt.spacing * 2);
2803
+ function ModalHeader({
2804
+ left,
2805
+ right,
2806
+ children
2807
+ }) {
2808
+ const onClose = react.useContext(OnCloseContext);
2809
+ const isIconLeft = !!left;
2810
+ return /*#__PURE__*/jsxRuntime.jsxs(HeaderView, {
2811
+ children: [isIconLeft && /*#__PURE__*/jsxRuntime.jsx(LeftIconView, {
2812
+ children: left
2813
+ }), /*#__PURE__*/jsxRuntime.jsx(TitleView, {
2814
+ isIconLeft: isIconLeft,
2815
+ children: children
2816
+ }), right !== undefined ? right : /*#__PURE__*/jsxRuntime.jsx(RightIconView, {
2817
+ children: /*#__PURE__*/jsxRuntime.jsx(IconButton, {
2818
+ icon: /*#__PURE__*/jsxRuntime.jsx(kittIcons.XIcon, {}),
2819
+ onPress: onClose
2820
+ })
2821
+ })]
2822
+ });
2823
+ }
2824
+
2825
+ const ModalView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2826
+ displayName: "Modal__ModalView",
2827
+ componentId: "kitt-universal__sc-1xy2w5u-0"
2828
+ })(["top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:", "px ", "px;"], ({
2829
+ theme
2830
+ }) => theme.kitt.spacing * 20, ({
2831
+ theme
2832
+ }) => theme.kitt.spacing * 4);
2833
+ const ContentView = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
2834
+ displayName: "Modal__ContentView",
2835
+ componentId: "kitt-universal__sc-1xy2w5u-1"
2836
+ })(["position:relative;display:flex;flex-direction:column;max-height:100%;max-width:540px;height:auto;width:100%;border-radius:", "px;background-color:", ";"], ({
2837
+ theme
2838
+ }) => theme.kitt.card.borderRadius, ({
2839
+ theme
2840
+ }) => theme.kitt.colors.uiBackgroundLight);
2841
+ function Modal({
2842
+ visible,
2843
+ children,
2844
+ onClose,
2845
+ onEntered,
2846
+ onExited
2847
+ }) {
2848
+ return /*#__PURE__*/jsxRuntime.jsx(OnCloseContext.Provider, {
2849
+ value: onClose,
2850
+ children: /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.Modal, {
2851
+ transparent: true,
2852
+ animationType: "fade",
2853
+ visible: visible,
2854
+ onShow: onEntered,
2855
+ onDismiss: onExited,
2856
+ onRequestClose: onClose,
2857
+ children: /*#__PURE__*/jsxRuntime.jsxs(ModalView, {
2858
+ children: [/*#__PURE__*/jsxRuntime.jsx(Overlay, {
2859
+ onPress: onClose
2860
+ }), /*#__PURE__*/jsxRuntime.jsx(ContentView, {
2861
+ children: children
2862
+ })]
2863
+ })
2864
+ })
2865
+ });
2866
+ }
2867
+ Modal.Header = ModalHeader;
2868
+ Modal.Body = ModalBody;
2869
+ Modal.Footer = ModalFooter;
2870
+
2987
2871
  function Notification({
2988
2872
  type,
2989
2873
  children,