@ornikar/kitt-universal 5.0.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/definitions/Button/AnimatedButtonPressable.d.ts +2 -1
  2. package/dist/definitions/Button/AnimatedButtonPressable.d.ts.map +1 -1
  3. package/dist/definitions/Button/AnimatedButtonPressable.web.d.ts +2 -1
  4. package/dist/definitions/Button/AnimatedButtonPressable.web.d.ts.map +1 -1
  5. package/dist/definitions/Button/BaseStyledButtonPressable.d.ts +2 -1
  6. package/dist/definitions/Button/BaseStyledButtonPressable.d.ts.map +1 -1
  7. package/dist/definitions/Button/Button.d.ts +2 -1
  8. package/dist/definitions/Button/Button.d.ts.map +1 -1
  9. package/dist/definitions/Button/ButtonContent.d.ts +4 -3
  10. package/dist/definitions/Button/ButtonContent.d.ts.map +1 -1
  11. package/dist/definitions/Button/getVariantValuesIfExist.d.ts +5 -0
  12. package/dist/definitions/Button/getVariantValuesIfExist.d.ts.map +1 -0
  13. package/dist/definitions/ExternalLink/ExternalLink.d.ts +3 -3
  14. package/dist/definitions/ExternalLink/ExternalLink.d.ts.map +1 -1
  15. package/dist/definitions/Icon/Icon.d.ts +10 -2
  16. package/dist/definitions/Icon/Icon.d.ts.map +1 -1
  17. package/dist/definitions/Icon/SpinningIcon.d.ts +4 -4
  18. package/dist/definitions/Icon/SpinningIcon.d.ts.map +1 -1
  19. package/dist/definitions/Icon/SpinningIcon.web.d.ts +1 -1
  20. package/dist/definitions/Icon/SpinningIcon.web.d.ts.map +1 -1
  21. package/dist/definitions/Loader/Loader.d.ts.map +1 -1
  22. package/dist/definitions/Loader/Loader.web.d.ts +3 -3
  23. package/dist/definitions/Loader/Loader.web.d.ts.map +1 -1
  24. package/dist/definitions/forms/Checkbox/Checkbox.d.ts.map +1 -1
  25. package/dist/definitions/forms/InputText/InputTextContainer.web.d.ts +1 -1
  26. package/dist/definitions/index.d.ts +4 -0
  27. package/dist/definitions/index.d.ts.map +1 -1
  28. package/dist/definitions/themes/late-ocean/button.d.ts +26 -9
  29. package/dist/definitions/themes/late-ocean/button.d.ts.map +1 -1
  30. package/dist/definitions/typography/TypographySpinningIcon.d.ts +9 -0
  31. package/dist/definitions/typography/TypographySpinningIcon.d.ts.map +1 -0
  32. package/dist/definitions/utils/tests/renderWithProvidersUtils.d.ts +4 -2
  33. package/dist/definitions/utils/tests/renderWithProvidersUtils.d.ts.map +1 -1
  34. package/dist/index-browser-all.es.android.js +294 -303
  35. package/dist/index-browser-all.es.android.js.map +1 -1
  36. package/dist/index-browser-all.es.ios.js +294 -303
  37. package/dist/index-browser-all.es.ios.js.map +1 -1
  38. package/dist/index-browser-all.es.js +294 -303
  39. package/dist/index-browser-all.es.js.map +1 -1
  40. package/dist/index-browser-all.es.web.js +373 -364
  41. package/dist/index-browser-all.es.web.js.map +1 -1
  42. package/dist/index-node-14.17.cjs.js +197 -109
  43. package/dist/index-node-14.17.cjs.js.map +1 -1
  44. package/dist/index-node-14.17.cjs.web.css +1 -1
  45. package/dist/index-node-14.17.cjs.web.js +215 -118
  46. package/dist/index-node-14.17.cjs.web.js.map +1 -1
  47. package/dist/linaria-themes-browser-all.es.android.js +59 -38
  48. package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
  49. package/dist/linaria-themes-browser-all.es.ios.js +59 -38
  50. package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
  51. package/dist/linaria-themes-browser-all.es.js +59 -38
  52. package/dist/linaria-themes-browser-all.es.js.map +1 -1
  53. package/dist/linaria-themes-browser-all.es.web.js +59 -38
  54. package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
  55. package/dist/linaria-themes-node-14.17.cjs.js +59 -38
  56. package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
  57. package/dist/linaria-themes-node-14.17.cjs.web.js +59 -38
  58. package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
  59. package/dist/styles.css +1 -1
  60. package/dist/tsbuildinfo +1 -1
  61. package/package.json +8 -7
@@ -1,6 +1,6 @@
1
- .kitt-u_StyledSpinningIconContainer_ssn8o83{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}.kitt-u_StyledSpinningIconContainer_ssn8o83 > svg{-webkit-animation:spin-kitt-u_StyledSpinningIconContainer_ssn8o83 1.1s infinite linear;animation:spin-kitt-u_StyledSpinningIconContainer_ssn8o83 1.1s infinite linear;}@-webkit-keyframes spin-kitt-u_StyledSpinningIconContainer_ssn8o83{0%{-webkit-transform:rotate(-1deg);-ms-transform:rotate(-1deg);transform:rotate(-1deg);}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg);}}@keyframes spin-kitt-u_StyledSpinningIconContainer_ssn8o83{0%{-webkit-transform:rotate(-1deg);-ms-transform:rotate(-1deg);transform:rotate(-1deg);}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg);}}
2
1
  .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh{width:auto;display:var(--a1vkj3mh-0);-webkit-align-self:var(--a1vkj3mh-1);-ms-flex-item-align:var(--a1vkj3mh-1);align-self:var(--a1vkj3mh-1);outline:none;}@media (min-width:768px){.kitt-hover .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:hover > * > *{-webkit-transform:scale(var(--a1vkj3mh-3));-ms-transform:scale(var(--a1vkj3mh-3));transform:scale(var(--a1vkj3mh-3));}}.kitt-active .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:active > * > *{-webkit-transform:var(--a1vkj3mh-4);-ms-transform:var(--a1vkj3mh-4);transform:var(--a1vkj3mh-4);}.kitt-active .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:active > * > *,.kitt-hover .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:hover > * > *{background:var(--a1vkj3mh-5);}.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *{-webkit-transform:scale(1) translateZ(0);-ms-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:var(--a1vkj3mh-6);transition:var(--a1vkj3mh-6);}.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::after,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::before{content:'';position:absolute;border-radius:var(--a1vkj3mh-7);-webkit-transition:var(--a1vkj3mh-8);transition:var(--a1vkj3mh-8);}.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::after{opacity:var(--a1vkj3mh-9);top:var(--a1vkj3mh-10);left:var(--a1vkj3mh-10);width:var(--a1vkj3mh-12);height:var(--a1vkj3mh-12);border:var(--a1vkj3mh-14);}.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::before{opacity:0;border:var(--a1vkj3mh-15);width:100%;height:100%;top:var(--a1vkj3mh-16);left:var(--a1vkj3mh-16);}.kitt-focus .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:focus > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > [data-focusvisible-polyfill]{outline:none;}.kitt-focus .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::before,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:focus > * > *::before,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > [data-focusvisible-polyfill] > *::before{opacity:1;}.kitt-hover .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::before,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:hover > * > *::before,.kitt-active .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > * > *::before,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:active > * > *::before{opacity:0;}.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > *{color:var(--a1vkj3mh-18);}.kitt-hover .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:hover > *{color:var(--a1vkj3mh-19);}.kitt-active .kitt-u_AnimatedButtonPressableContainer_a1vkj3mh > *,.kitt-u_AnimatedButtonPressableContainer_a1vkj3mh:active > *{color:var(--a1vkj3mh-20);}
3
2
  .kitt-u_InputTextContainer_i1encr9g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;}.kitt-u_InputTextContainer_i1encr9g > [data-focusvisible-polyfill]{outline:none;}.kitt-u_InputTextContainer_i1encr9g > *::-ms-clear,.kitt-u_InputTextContainer_i1encr9g > *::-ms-reveal{display:none;}.kitt-u_InputTextContainer_i1encr9g,.kitt-u_InputTextContainer_i1encr9g > *{cursor:var(--i1encr9g-0);}.kitt-u_InputTextContainer_i1encr9g > *{-webkit-transition:var(--i1encr9g-1);transition:var(--i1encr9g-1);}.kitt-u_InputTextContainer_i1encr9g:hover > *,.kitt-hover .kitt-u_InputTextContainer_i1encr9g > *{border-color:var(--i1encr9g-2);}.kitt-u_InputTextContainer_i1encr9g:focus > *,.kitt-u_InputTextContainer_i1encr9g > *:focus,.kitt-focus .kitt-u_InputTextContainer_i1encr9g > *{border-color:var(--i1encr9g-3);}
3
+ .kitt-u_StyledSpinningIconContainer_ssn8o83{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}.kitt-u_StyledSpinningIconContainer_ssn8o83 > svg{-webkit-animation:spin-kitt-u_StyledSpinningIconContainer_ssn8o83 1.1s infinite linear;animation:spin-kitt-u_StyledSpinningIconContainer_ssn8o83 1.1s infinite linear;}@-webkit-keyframes spin-kitt-u_StyledSpinningIconContainer_ssn8o83{0%{-webkit-transform:rotate(-1deg);-ms-transform:rotate(-1deg);transform:rotate(-1deg);}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg);}}@keyframes spin-kitt-u_StyledSpinningIconContainer_ssn8o83{0%{-webkit-transform:rotate(-1deg);-ms-transform:rotate(-1deg);transform:rotate(-1deg);}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg);}}
4
4
  @media (hover:none) and (pointer:coarse){.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *:hover,.kitt-hover .kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *{-webkit-transform:scale(var(--p1nlccvg-0));-ms-transform:scale(var(--p1nlccvg-0));transform:scale(var(--p1nlccvg-0));}}@media (min-width:768px){.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *:hover,.kitt-hover .kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *{-webkit-transform:scale(var(--p1nlccvg-2));-ms-transform:scale(var(--p1nlccvg-2));transform:scale(var(--p1nlccvg-2));}}.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *:active,.kitt-active .kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *{-webkit-transform:scale(var(--p1nlccvg-3));-ms-transform:scale(var(--p1nlccvg-3));transform:scale(var(--p1nlccvg-3));}.kitt-u_PressableIconButtonWebWrapper_p1nlccvg,.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > [data-focusvisible-polyfill]{outline:none;}.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *:hover,.kitt-hover .kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *,.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *:focus,.kitt-focus .kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *,.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > [data-focusvisible-polyfill],.kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *:active,.kitt-active .kitt-u_PressableIconButtonWebWrapper_p1nlccvg > *{background-color:var(--p1nlccvg-4);}
5
5
  .kitt-u_LargeLoaderContainer_l2im3sa{width:60px;height:60px;-webkit-transform:scale(-1) rotate(90deg);-ms-transform:scale(-1) rotate(90deg);transform:scale(-1) rotate(90deg);}@-webkit-keyframes LargeLoaderInit-kitt-u_LargeLoaderContainer_l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:0;}}@keyframes LargeLoaderInit-kitt-u_LargeLoaderContainer_l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:0;}}@-webkit-keyframes LargeLoaderOffset-kitt-u_LargeLoaderContainer_l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:34px;}}@keyframes LargeLoaderOffset-kitt-u_LargeLoaderContainer_l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:34px;}}@-webkit-keyframes LargeLoaderRotation-kitt-u_LargeLoaderContainer_l2im3sa{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes LargeLoaderRotation-kitt-u_LargeLoaderContainer_l2im3sa{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}.kitt-u_LargeLoaderContainer_l2im3sa circle,.kitt-u_LargeLoaderContainer_l2im3sa g{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;}.kitt-u_LargeLoaderContainer_l2im3sa circle{stroke-width:3px;stroke-dasharray:169.64px;stroke-dashoffset:169.64px;stroke-linecap:round;}.kitt-u_LargeLoaderContainer_l2im3sa g[data-large-loader='base'] circle{stroke:var(--l2im3sa-0);-webkit-animation:LargeLoaderInit-kitt-u_LargeLoaderContainer_l2im3sa 1s cubic-bezier(0.39,0.575,0.565,1) 0.5s forwards;animation:LargeLoaderInit-kitt-u_LargeLoaderContainer_l2im3sa 1s cubic-bezier(0.39,0.575,0.565,1) 0.5s forwards;}.kitt-u_LargeLoaderContainer_l2im3sa g[data-large-loader='fill']{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation:LargeLoaderRotation-kitt-u_LargeLoaderContainer_l2im3sa 1.8s linear 0.5s infinite;animation:LargeLoaderRotation-kitt-u_LargeLoaderContainer_l2im3sa 1.8s linear 0.5s infinite;}.kitt-u_LargeLoaderContainer_l2im3sa g[data-large-loader='fill'] circle{stroke:var(--l2im3sa-1);-webkit-animation:LargeLoaderOffset-kitt-u_LargeLoaderContainer_l2im3sa 1.8s cubic-bezier(0.39,0.575,0.565,1) 0.5s infinite alternate,LargeLoaderRotation-kitt-u_LargeLoaderContainer_l2im3sa 2.16s linear 0.5s infinite;animation:LargeLoaderOffset-kitt-u_LargeLoaderContainer_l2im3sa 1.8s cubic-bezier(0.39,0.575,0.565,1) 0.5s infinite alternate,LargeLoaderRotation-kitt-u_LargeLoaderContainer_l2im3sa 2.16s linear 0.5s infinite;}
6
6
  .kitt-u_StyledSkeleton_sc3upcl{background-color:var(--sc3upcl-0);position:relative;overflow:hidden;height:100%;width:100%;}@-webkit-keyframes flareTranslate-kitt-u_StyledSkeleton_sc3upcl{from{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);}to{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);}}@keyframes flareTranslate-kitt-u_StyledSkeleton_sc3upcl{from{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);}to{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);}}.kitt-u_StyledSkeleton_sc3upcl::after{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:var(--sc3upcl-1);-webkit-animation:var(--sc3upcl-2);animation:var(--sc3upcl-2);-webkit-animation-name:flareTranslate-kitt-u_StyledSkeleton_sc3upcl;animation-name:flareTranslate-kitt-u_StyledSkeleton_sc3upcl;}
@@ -6,8 +6,8 @@ const BabelPluginStyledComponentsReactNative = require('react-native');
6
6
  const kittIcons = require('@ornikar/kitt-icons');
7
7
  const styled = require('styled-components/native');
8
8
  const react = require('react');
9
- const react$1 = require('@linaria/react');
10
9
  const jsxRuntime = require('react/jsx-runtime');
10
+ const react$1 = require('@linaria/react');
11
11
  const twemojiParser = require('twemoji-parser');
12
12
  const reactNativeSafeAreaContext = require('react-native-safe-area-context');
13
13
  const reactDom = require('@floating-ui/react-dom');
@@ -17,56 +17,22 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
17
 
18
18
  const styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
19
19
 
20
- // type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;
21
- // type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };
22
- // export function withTheme<Props extends { theme: DefaultTheme }, C>(
23
- // WrappedComponent: ComponentType<Props> & C,
24
- // ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {
25
- // return function ThemedComponent(props) {
26
- // const theme = useTheme();
27
- // return (<WrappedComponent theme={theme} {...(props as any)} />) as any;
28
- // };
29
- // }
30
- function withTheme(WrappedComponent) {
31
- // eslint-disable-next-line prefer-arrow-callback
32
- return /*#__PURE__*/react.forwardRef(function (props, ref) {
33
- const theme = /*#__PURE__*/styled.useTheme();
34
- return /*#__PURE__*/jsxRuntime.jsx(WrappedComponent, {
35
- ref: ref,
36
- theme: theme,
37
- ...props
38
- });
39
- });
40
- }
41
-
42
- const StyledSpinningIconContainer = withTheme( /*#__PURE__*/react$1.styled("div")({
43
- name: "StyledSpinningIconContainer",
44
- class: "kitt-u_StyledSpinningIconContainer_ssn8o83"
45
- }));
46
- function SpinningIcon({
47
- children
48
- }) {
49
- return /*#__PURE__*/jsxRuntime.jsx(StyledSpinningIconContainer, {
50
- children: children
51
- });
52
- }
53
-
20
+ const defaultIconSize = 20;
54
21
  const IconContainer$1 = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
55
22
  displayName: "Icon__IconContainer",
56
23
  componentId: "kitt-universal__sc-usm0ol-0"
57
24
  })(["color:", ";width:", "px;height:", "px;align-self:", ";"], ({
58
- color
59
- }) => color, ({
60
- size
61
- }) => size, ({
62
- size
63
- }) => size, ({
64
- align = 'auto'
65
- }) => align);
25
+ $color
26
+ }) => $color, ({
27
+ $size
28
+ }) => $size, ({
29
+ $size
30
+ }) => $size, ({
31
+ $align = 'auto'
32
+ }) => $align);
66
33
  function Icon({
67
34
  icon,
68
- size = 20,
69
- spin,
35
+ size = defaultIconSize,
70
36
  align,
71
37
  color
72
38
  }) {
@@ -74,12 +40,10 @@ function Icon({
74
40
  color
75
41
  });
76
42
  return /*#__PURE__*/jsxRuntime.jsx(IconContainer$1, {
77
- align: align,
78
- size: size,
79
- color: color,
80
- children: spin ? /*#__PURE__*/jsxRuntime.jsx(SpinningIcon, {
81
- children: clonedIcon
82
- }) : clonedIcon
43
+ $align: align,
44
+ $size: size,
45
+ $color: color,
46
+ children: clonedIcon
83
47
  });
84
48
  }
85
49
 
@@ -390,6 +354,42 @@ function Avatar({
390
354
  });
391
355
  }
392
356
 
357
+ // type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;
358
+ // type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };
359
+ // export function withTheme<Props extends { theme: DefaultTheme }, C>(
360
+ // WrappedComponent: ComponentType<Props> & C,
361
+ // ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {
362
+ // return function ThemedComponent(props) {
363
+ // const theme = useTheme();
364
+ // return (<WrappedComponent theme={theme} {...(props as any)} />) as any;
365
+ // };
366
+ // }
367
+ function withTheme(WrappedComponent) {
368
+ // eslint-disable-next-line prefer-arrow-callback
369
+ return /*#__PURE__*/react.forwardRef(function (props, ref) {
370
+ const theme = /*#__PURE__*/styled.useTheme();
371
+ return /*#__PURE__*/jsxRuntime.jsx(WrappedComponent, {
372
+ ref: ref,
373
+ theme: theme,
374
+ ...props
375
+ });
376
+ });
377
+ }
378
+
379
+ const hasVariant = (button, variant) => {
380
+ return variant in button;
381
+ };
382
+
383
+ function getVariantValuesIfExist(theme, type, variant) {
384
+ const button = theme.kitt.button[type];
385
+
386
+ if (hasVariant(button, variant)) {
387
+ return button[variant];
388
+ }
389
+
390
+ return theme.kitt.button[type].default;
391
+ }
392
+
393
393
  function isSubtle(type) {
394
394
  return type.startsWith('subtle');
395
395
  }
@@ -414,10 +414,11 @@ const AnimatedButtonPressableContainer = withTheme( /*#__PURE__*/react$1.styled(
414
414
  "a1vkj3mh-5": [({
415
415
  theme,
416
416
  $type,
417
+ $variant,
417
418
  $isDisabled
418
419
  }) => {
419
- if ($isDisabled) return theme.kitt.button.disabled.hoverBackgroundColor;
420
- return theme.kitt.button[$type].hoverBackgroundColor;
420
+ if ($isDisabled) return theme.kitt.button.disabled.default.hoverBackgroundColor;
421
+ return getVariantValuesIfExist(theme, $type, $variant).hoverBackgroundColor;
421
422
  }],
422
423
  "a1vkj3mh-6": [({
423
424
  theme
@@ -445,11 +446,12 @@ const AnimatedButtonPressableContainer = withTheme( /*#__PURE__*/react$1.styled(
445
446
  }) => `calc(100% - ${theme.kitt.button.borderWidth.disabled * 0.5}px)`],
446
447
  "a1vkj3mh-14": [({
447
448
  theme
448
- }) => `${theme.kitt.button.borderWidth.disabled}px solid ${theme.kitt.button.disabled.borderColor}`],
449
+ }) => `${theme.kitt.button.borderWidth.disabled}px solid ${theme.kitt.button.disabled.default.borderColor}`],
449
450
  "a1vkj3mh-15": [({
450
451
  theme,
451
- $type
452
- }) => `${theme.kitt.button.borderWidth.focus}px solid ${theme.kitt.button[$type].focusBorderColor}`],
452
+ $type,
453
+ $variant
454
+ }) => `${theme.kitt.button.borderWidth.focus}px solid ${getVariantValuesIfExist(theme, $type, $variant).focusBorderColor}`],
453
455
  "a1vkj3mh-16": [({
454
456
  theme
455
457
  }) => `-${theme.kitt.button.borderWidth.focus}px`],
@@ -459,8 +461,12 @@ const AnimatedButtonPressableContainer = withTheme( /*#__PURE__*/react$1.styled(
459
461
  $isDisabled
460
462
  }) => {
461
463
  if ($isDisabled) return theme.kitt.typography.colors['black-light'];
462
- if (!isSubtle($type)) return 'inherit';
463
- return theme.kitt.button[$type].color;
464
+
465
+ if (isSubtle($type)) {
466
+ return theme.kitt.button[$type].default.color;
467
+ }
468
+
469
+ return 'inherit';
464
470
  }],
465
471
  "a1vkj3mh-19": [({
466
472
  theme,
@@ -468,8 +474,12 @@ const AnimatedButtonPressableContainer = withTheme( /*#__PURE__*/react$1.styled(
468
474
  $isDisabled
469
475
  }) => {
470
476
  if ($isDisabled) return theme.kitt.typography.colors['black-light'];
471
- if (!isSubtle($type)) return 'inherit';
472
- return theme.kitt.button[$type].hoverColor;
477
+
478
+ if (isSubtle($type)) {
479
+ return theme.kitt.button[$type].default.hoverColor;
480
+ }
481
+
482
+ return 'inherit';
473
483
  }],
474
484
  "a1vkj3mh-20": [({
475
485
  theme,
@@ -477,13 +487,18 @@ const AnimatedButtonPressableContainer = withTheme( /*#__PURE__*/react$1.styled(
477
487
  $isDisabled
478
488
  }) => {
479
489
  if ($isDisabled) return theme.kitt.typography.colors['black-light'];
480
- if (!isSubtle($type)) return 'inherit';
481
- return theme.kitt.button[$type].activeColor;
490
+
491
+ if (isSubtle($type)) {
492
+ return theme.kitt.button[$type].default.activeColor;
493
+ }
494
+
495
+ return 'inherit';
482
496
  }]
483
497
  }
484
498
  }));
485
499
  const AnimatedButtonPressable = /*#__PURE__*/react.forwardRef(({
486
500
  $type,
501
+ $variant,
487
502
  $isStretch,
488
503
  disabled,
489
504
  ...props
@@ -491,6 +506,7 @@ const AnimatedButtonPressable = /*#__PURE__*/react.forwardRef(({
491
506
  return /*#__PURE__*/jsxRuntime.jsx(AnimatedButtonPressableContainer, {
492
507
  ref: ref,
493
508
  $type: $type,
509
+ $variant: $variant,
494
510
  $isDisabled: !!disabled,
495
511
  $isStretch: $isStretch,
496
512
  children: /*#__PURE__*/jsxRuntime.jsx(BabelPluginStyledComponentsReactNative.Pressable, {
@@ -517,10 +533,11 @@ const BaseStyledButtonPressable = /*#__PURE__*/styled__default(BabelPluginStyled
517
533
  }) => theme.kitt.button.borderRadius, ({
518
534
  theme,
519
535
  $isDisabled,
520
- $type
536
+ $type,
537
+ $variant
521
538
  }) => {
522
- if ($isDisabled) return theme.kitt.button.disabled.backgroundColor;
523
- return theme.kitt.button[$type].backgroundColor;
539
+ if ($isDisabled) return theme.kitt.button.disabled.default.backgroundColor;
540
+ return getVariantValuesIfExist(theme, $type, $variant).backgroundColor;
524
541
  }, ({
525
542
  theme,
526
543
  $isLarge,
@@ -569,10 +586,10 @@ function TypographyIcon({
569
586
  });
570
587
  }
571
588
 
572
- const getTextColorByType = type => {
589
+ const getTextColorByType = (type, variant) => {
573
590
  switch (type) {
574
591
  case 'primary':
575
- return 'white';
592
+ return variant === 'ghost' ? 'primary' : 'white';
576
593
 
577
594
  case 'white':
578
595
  return 'white';
@@ -625,7 +642,6 @@ const StyledIconContainer$1 = /*#__PURE__*/styled__default(BabelPluginStyledComp
625
642
  function ButtonIcon({
626
643
  icon,
627
644
  color,
628
- spin,
629
645
  iconPosition,
630
646
  testID
631
647
  }) {
@@ -633,7 +649,6 @@ function ButtonIcon({
633
649
  $iconPosition: iconPosition,
634
650
  children: /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
635
651
  icon: icon,
636
- spin: spin,
637
652
  testID: testID,
638
653
  color: color
639
654
  })
@@ -648,7 +663,6 @@ function ButtonContentChildren({
648
663
  type,
649
664
  icon,
650
665
  iconPosition,
651
- iconSpin,
652
666
  isDisabled,
653
667
  color,
654
668
  children
@@ -662,9 +676,8 @@ function ButtonContentChildren({
662
676
  const isWebSubtle = isSubtle(type) && "web" === 'web' && !isDisabled;
663
677
 
664
678
  if (!children) {
665
- return /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
666
- spin: iconSpin // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
667
- ,
679
+ return /*#__PURE__*/jsxRuntime.jsx(TypographyIcon // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
680
+ , {
668
681
  icon: icon,
669
682
  color: isWebSubtle ? 'inherit' : color
670
683
  });
@@ -672,7 +685,6 @@ function ButtonContentChildren({
672
685
 
673
686
  const buttonIconSharedProps = {
674
687
  type,
675
- spin: iconSpin,
676
688
  iconPosition,
677
689
  color: isWebSubtle ? 'inherit' : color
678
690
  };
@@ -712,13 +724,14 @@ const ButtonContentContainer = /*#__PURE__*/styled__default(BabelPluginStyledCom
712
724
  });
713
725
  function ButtonContent({
714
726
  type,
727
+ variant,
715
728
  isDisabled,
716
729
  $isStretch,
717
730
  icon,
718
731
  children,
719
732
  ...props
720
733
  }) {
721
- const color = isDisabled ? 'black-light' : getTextColorByType(type);
734
+ const color = isDisabled ? 'black-light' : getTextColorByType(type, variant);
722
735
  return /*#__PURE__*/jsxRuntime.jsx(ButtonContentContainer, {
723
736
  $isSubtle: isSubtle(type),
724
737
  $isStretch: $isStretch,
@@ -737,18 +750,22 @@ function ButtonContent({
737
750
  const Button = /*#__PURE__*/react.forwardRef(({
738
751
  children,
739
752
  type = 'default',
753
+ variant = 'default',
740
754
  disabled,
741
755
  stretch,
742
756
  large,
743
757
  icon,
744
758
  iconPosition = 'left',
745
- iconSpin,
746
759
  testID,
747
760
  href,
748
761
  hrefAttrs,
749
762
  accessibilityRole = 'button',
750
763
  onPress
751
764
  }, ref) => {
765
+ if ((process.env.NODE_ENV !== "production") && variant === 'ghost' && type !== 'primary') {
766
+ throw new Error('variant=ghost is only allowed with type=primary');
767
+ }
768
+
752
769
  return /*#__PURE__*/jsxRuntime.jsx(AnimatedButtonPressable, {
753
770
  ref: ref,
754
771
  accessibilityRole: accessibilityRole,
@@ -758,19 +775,21 @@ const Button = /*#__PURE__*/react.forwardRef(({
758
775
  disabled: disabled,
759
776
  $isStretch: stretch,
760
777
  $type: type,
778
+ $variant: variant,
761
779
  onPress: onPress,
762
780
  children: /*#__PURE__*/jsxRuntime.jsxs(BaseStyledButtonPressable, {
763
781
  $type: type,
782
+ $variant: variant,
764
783
  $isStretch: stretch,
765
784
  $isLarge: large,
766
785
  $isDisabled: disabled,
767
786
  children: [/*#__PURE__*/jsxRuntime.jsx(ButtonContent, {
768
787
  type: type,
788
+ variant: variant,
769
789
  $isStretch: stretch,
770
790
  isDisabled: disabled,
771
791
  icon: icon,
772
792
  iconPosition: iconPosition,
773
- iconSpin: iconSpin,
774
793
  children: children
775
794
  }), null]
776
795
  })
@@ -931,56 +950,77 @@ const button = {
931
950
  }
932
951
  },
933
952
  contentPadding: {
934
- default: '8px 16px 7px',
935
- large: '12px 24px 11px',
936
- disabled: '6px 14px 5px'
953
+ default: '7px 16px 7px',
954
+ large: '11px 24px 11px',
955
+ disabled: '5px 14px 5px'
937
956
  },
938
957
  transition: {
939
958
  duration: '200ms',
940
959
  timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)'
941
960
  },
942
961
  default: {
943
- backgroundColor: 'rgba(0, 0, 0, 0.05)',
944
- pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',
945
- hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',
946
- focusBorderColor: 'rgba(0, 0, 0, 0.1)'
962
+ default: {
963
+ backgroundColor: 'rgba(0, 0, 0, 0.05)',
964
+ pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',
965
+ hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',
966
+ focusBorderColor: 'rgba(0, 0, 0, 0.1)'
967
+ }
947
968
  },
948
969
  primary: {
949
- backgroundColor: colors.primary,
950
- pressedBackgroundColor: colors.primaryLight,
951
- hoverBackgroundColor: colors.primaryLight,
952
- focusBorderColor: 'rgba(76, 52, 224, 0.2)'
970
+ default: {
971
+ backgroundColor: colors.primary,
972
+ pressedBackgroundColor: colors.primaryLight,
973
+ hoverBackgroundColor: colors.primaryLight,
974
+ focusBorderColor: 'rgba(76, 52, 224, 0.2)'
975
+ },
976
+ ghost: {
977
+ backgroundColor: colors.uiBackgroundLight,
978
+ pressedBackgroundColor: colors.uiBackground,
979
+ hoverBackgroundColor: colors.hover,
980
+ focusBorderColor: 'rgba(255,255,255, 0.4)',
981
+ color: colors.primary,
982
+ hoverColor: colors.hover,
983
+ activeColor: colors.hover
984
+ }
953
985
  },
954
986
  white: {
955
- backgroundColor: 'rgba(255, 255, 255, 0.05)',
956
- pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',
957
- hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',
958
- focusBorderColor: 'rgba(255, 255, 255, 0.1)'
987
+ default: {
988
+ backgroundColor: 'rgba(255, 255, 255, 0.05)',
989
+ pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',
990
+ hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',
991
+ focusBorderColor: 'rgba(255, 255, 255, 0.1)'
992
+ }
959
993
  },
960
994
  subtle: {
961
- backgroundColor: colors.transparent,
962
- pressedBackgroundColor: colors.transparent,
963
- hoverBackgroundColor: colors.transparent,
964
- focusBorderColor: 'rgba(76, 52, 224, 0.2)',
965
- color: colors.primary,
966
- hoverColor: 'rgba(76, 52, 224, 0.8)',
967
- activeColor: 'rgba(76, 52, 224, 0.8)'
995
+ default: {
996
+ backgroundColor: colors.transparent,
997
+ pressedBackgroundColor: colors.transparent,
998
+ hoverBackgroundColor: colors.transparent,
999
+ focusBorderColor: 'rgba(76, 52, 224, 0.2)',
1000
+ color: colors.primary,
1001
+ hoverColor: 'rgba(76, 52, 224, 0.8)',
1002
+ activeColor: 'rgba(76, 52, 224, 0.8)'
1003
+ }
968
1004
  },
969
1005
  'subtle-dark': {
970
- backgroundColor: colors.transparent,
971
- pressedBackgroundColor: colors.transparent,
972
- hoverBackgroundColor: colors.transparent,
973
- focusBorderColor: 'rgba(0, 0, 0, 0.1)',
974
- color: colors.black,
975
- hoverColor: 'rgba(0, 0, 0, 0.8)',
976
- activeColor: 'rgba(0, 0, 0, 0.8)'
1006
+ default: {
1007
+ backgroundColor: colors.transparent,
1008
+ pressedBackgroundColor: colors.transparent,
1009
+ hoverBackgroundColor: colors.transparent,
1010
+ focusBorderColor: 'rgba(0, 0, 0, 0.1)',
1011
+ color: colors.black,
1012
+ hoverColor: 'rgba(0, 0, 0, 0.8)',
1013
+ activeColor: 'rgba(0, 0, 0, 0.8)'
1014
+ }
977
1015
  },
978
1016
  disabled: {
979
- backgroundColor: colors.disabled,
980
- pressedBackgroundColor: colors.disabled,
981
- hoverBackgroundColor: colors.disabled,
982
- focusBorderColor: lateOceanColorPalette.black100,
983
- borderColor: lateOceanColorPalette.black100
1017
+ default: {
1018
+ backgroundColor: colors.disabled,
1019
+ pressedBackgroundColor: colors.disabled,
1020
+ hoverBackgroundColor: colors.disabled,
1021
+ focusBorderColor: lateOceanColorPalette.black100,
1022
+ borderColor: lateOceanColorPalette.black100
1023
+ }
984
1024
  }
985
1025
  };
986
1026
 
@@ -1256,14 +1296,14 @@ const iconButton = {
1256
1296
  },
1257
1297
  disabled: {
1258
1298
  scale: 1,
1259
- backgroundColor: button.disabled.backgroundColor,
1260
- borderColor: button.disabled.borderColor
1299
+ backgroundColor: button.disabled.default.backgroundColor,
1300
+ borderColor: button.disabled.default.borderColor
1261
1301
  },
1262
1302
  default: {
1263
- pressedBackgroundColor: button.default.pressedBackgroundColor
1303
+ pressedBackgroundColor: button.default.default.pressedBackgroundColor
1264
1304
  },
1265
1305
  white: {
1266
- pressedBackgroundColor: button.white.hoverBackgroundColor
1306
+ pressedBackgroundColor: button.white.default.hoverBackgroundColor
1267
1307
  }
1268
1308
  };
1269
1309
 
@@ -1441,7 +1481,7 @@ function useKittTheme() {
1441
1481
  const CheckboxAndLabelPressableWrapper = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.Pressable).withConfig({
1442
1482
  displayName: "Checkbox__CheckboxAndLabelPressableWrapper",
1443
1483
  componentId: "kitt-universal__sc-1sav1n6-0"
1444
- })(["display:flex;flex-direction:row;align-items:center;"]);
1484
+ })(["display:flex;flex-direction:row;"]);
1445
1485
  const CheckboxContainer = /*#__PURE__*/styled__default(BabelPluginStyledComponentsReactNative.View).withConfig({
1446
1486
  displayName: "Checkbox__CheckboxContainer",
1447
1487
  componentId: "kitt-universal__sc-1sav1n6-1"
@@ -2231,6 +2271,29 @@ function FullScreenModal({
2231
2271
  FullScreenModal.Header = FullScreenModalHeader;
2232
2272
  FullScreenModal.Body = FullScreenModalBody;
2233
2273
 
2274
+ const StyledSpinningIconContainer = withTheme( /*#__PURE__*/react$1.styled("div")({
2275
+ name: "StyledSpinningIconContainer",
2276
+ class: "kitt-u_StyledSpinningIconContainer_ssn8o83"
2277
+ }));
2278
+ function SpinningIcon({
2279
+ icon,
2280
+ size = defaultIconSize,
2281
+ align,
2282
+ color
2283
+ }) {
2284
+ const clonedIcon = /*#__PURE__*/react.cloneElement(icon, {
2285
+ color
2286
+ });
2287
+ return /*#__PURE__*/jsxRuntime.jsx(IconContainer$1, {
2288
+ $align: align,
2289
+ $size: size,
2290
+ $color: color,
2291
+ children: /*#__PURE__*/jsxRuntime.jsx(StyledSpinningIconContainer, {
2292
+ children: clonedIcon
2293
+ })
2294
+ });
2295
+ }
2296
+
2234
2297
  function StyleWebWrapper({
2235
2298
  as,
2236
2299
  children,
@@ -2547,12 +2610,44 @@ function LargeLoader() {
2547
2610
  });
2548
2611
  }
2549
2612
 
2613
+ function TypographySpinningIconSpecifiedColor({
2614
+ color,
2615
+ ...props
2616
+ }) {
2617
+ const theme = /*#__PURE__*/styled.useTheme();
2618
+ return /*#__PURE__*/jsxRuntime.jsx(SpinningIcon, { ...props,
2619
+ color: color === 'inherit' ? 'inherit' : theme.kitt.typography.colors[color]
2620
+ });
2621
+ }
2622
+
2623
+ function TypographySpinningIconInheritColor(props) {
2624
+ const color = useTypographyColor();
2625
+ return /*#__PURE__*/jsxRuntime.jsx(TypographySpinningIconSpecifiedColor, {
2626
+ color: color,
2627
+ ...props
2628
+ });
2629
+ }
2630
+
2631
+ function TypographySpinningIcon({
2632
+ color,
2633
+ ...props
2634
+ }) {
2635
+ if (color) {
2636
+ return /*#__PURE__*/jsxRuntime.jsx(TypographySpinningIconSpecifiedColor, {
2637
+ color: color,
2638
+ ...props
2639
+ });
2640
+ }
2641
+
2642
+ return /*#__PURE__*/jsxRuntime.jsx(TypographySpinningIconInheritColor, { ...props
2643
+ });
2644
+ }
2645
+
2550
2646
  function Loader({
2551
2647
  color = 'primary',
2552
2648
  size = 20
2553
2649
  }) {
2554
- return /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
2555
- spin: true,
2650
+ return /*#__PURE__*/jsxRuntime.jsx(TypographySpinningIcon, {
2556
2651
  color: color,
2557
2652
  size: size,
2558
2653
  icon: /*#__PURE__*/jsxRuntime.jsx(kittIcons.LoaderIcon, {})
@@ -3722,6 +3817,7 @@ exports.Notification = Notification;
3722
3817
  exports.Radio = Radio;
3723
3818
  exports.Section = DeprecatedSection;
3724
3819
  exports.Skeleton = Skeleton;
3820
+ exports.SpinningIcon = SpinningIcon;
3725
3821
  exports.Story = Story;
3726
3822
  exports.StoryBlock = StoryBlock;
3727
3823
  exports.StoryContainer = StoryContainer;
@@ -3738,6 +3834,7 @@ exports.Typography = Typography;
3738
3834
  exports.TypographyEmoji = TypographyEmoji;
3739
3835
  exports.TypographyIcon = TypographyIcon;
3740
3836
  exports.TypographyLink = TypographyLink;
3837
+ exports.TypographySpinningIcon = TypographySpinningIcon;
3741
3838
  exports.createWindowSizeHelper = createWindowSizeHelper;
3742
3839
  exports.hex2rgba = hex2rgba;
3743
3840
  exports.matchWindowSize = matchWindowSize;