@korsolutions/ui 0.0.59 → 0.0.61

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 (141) hide show
  1. package/dist/module/components/button/variants/ghost.js +59 -0
  2. package/dist/module/components/button/variants/ghost.js.map +1 -0
  3. package/dist/module/components/button/variants/index.js +3 -1
  4. package/dist/module/components/button/variants/index.js.map +1 -1
  5. package/dist/module/components/icon-button/icon-button.js +63 -0
  6. package/dist/module/components/icon-button/icon-button.js.map +1 -0
  7. package/dist/module/components/icon-button/index.js +4 -0
  8. package/dist/module/components/icon-button/index.js.map +1 -0
  9. package/dist/module/components/icon-button/types.js +4 -0
  10. package/dist/module/components/icon-button/types.js.map +1 -0
  11. package/dist/module/components/icon-button/variants/default.js +34 -0
  12. package/dist/module/components/icon-button/variants/default.js.map +1 -0
  13. package/dist/module/components/icon-button/variants/ghost.js +35 -0
  14. package/dist/module/components/icon-button/variants/ghost.js.map +1 -0
  15. package/dist/module/components/icon-button/variants/index.js +11 -0
  16. package/dist/module/components/icon-button/variants/index.js.map +1 -0
  17. package/dist/module/components/icon-button/variants/secondary.js +37 -0
  18. package/dist/module/components/icon-button/variants/secondary.js.map +1 -0
  19. package/dist/module/components/index.js +2 -0
  20. package/dist/module/components/index.js.map +1 -1
  21. package/dist/module/components/menu/components/menu-checkbox-item.js +4 -4
  22. package/dist/module/components/menu/components/menu-checkbox-item.js.map +1 -1
  23. package/dist/module/components/menu/components/menu-content.js +1 -1
  24. package/dist/module/components/menu/components/menu-radio-item.js +4 -4
  25. package/dist/module/components/menu/components/menu-radio-item.js.map +1 -1
  26. package/dist/module/components/menu/components/menu-selection-indicator.js +29 -0
  27. package/dist/module/components/menu/components/menu-selection-indicator.js.map +1 -0
  28. package/dist/module/components/menu/variants/default.js +8 -17
  29. package/dist/module/components/menu/variants/default.js.map +1 -1
  30. package/dist/module/components/phone-input/components/country-picker.js +1 -1
  31. package/dist/module/components/popover/components/popover-content.js +2 -5
  32. package/dist/module/components/popover/components/popover-content.js.map +1 -1
  33. package/dist/module/components/portal/index.js +1 -0
  34. package/dist/module/components/portal/index.js.map +1 -1
  35. package/dist/module/components/portal/portal-offset.js +32 -0
  36. package/dist/module/components/portal/portal-offset.js.map +1 -0
  37. package/dist/module/components/portal/portal.js +39 -17
  38. package/dist/module/components/portal/portal.js.map +1 -1
  39. package/dist/module/components/select/components/select-content.js +3 -3
  40. package/dist/module/components/select/components/select-content.js.map +1 -1
  41. package/dist/module/components/separator/index.js +4 -0
  42. package/dist/module/components/separator/index.js.map +1 -0
  43. package/dist/module/components/separator/separator.js +17 -0
  44. package/dist/module/components/separator/separator.js.map +1 -0
  45. package/dist/module/components/separator/types.js +4 -0
  46. package/dist/module/components/separator/types.js.map +1 -0
  47. package/dist/module/components/separator/variants/horizontal.js +15 -0
  48. package/dist/module/components/separator/variants/horizontal.js.map +1 -0
  49. package/dist/module/components/separator/variants/index.js +9 -0
  50. package/dist/module/components/separator/variants/index.js.map +1 -0
  51. package/dist/module/components/separator/variants/vertical.js +15 -0
  52. package/dist/module/components/separator/variants/vertical.js.map +1 -0
  53. package/dist/module/components/textarea/variants/default.js +7 -0
  54. package/dist/module/components/textarea/variants/default.js.map +1 -1
  55. package/dist/module/hooks/use-relative-position.js +37 -28
  56. package/dist/module/hooks/use-relative-position.js.map +1 -1
  57. package/dist/module/themes/provider.js.map +1 -1
  58. package/dist/typescript/src/components/button/variants/ghost.d.ts +3 -0
  59. package/dist/typescript/src/components/button/variants/ghost.d.ts.map +1 -0
  60. package/dist/typescript/src/components/button/variants/index.d.ts +1 -0
  61. package/dist/typescript/src/components/button/variants/index.d.ts.map +1 -1
  62. package/dist/typescript/src/components/icon-button/icon-button.d.ts +15 -0
  63. package/dist/typescript/src/components/icon-button/icon-button.d.ts.map +1 -0
  64. package/dist/typescript/src/components/icon-button/index.d.ts +3 -0
  65. package/dist/typescript/src/components/icon-button/index.d.ts.map +1 -0
  66. package/dist/typescript/src/components/icon-button/types.d.ts +8 -0
  67. package/dist/typescript/src/components/icon-button/types.d.ts.map +1 -0
  68. package/dist/typescript/src/components/icon-button/variants/default.d.ts +3 -0
  69. package/dist/typescript/src/components/icon-button/variants/default.d.ts.map +1 -0
  70. package/dist/typescript/src/components/icon-button/variants/ghost.d.ts +3 -0
  71. package/dist/typescript/src/components/icon-button/variants/ghost.d.ts.map +1 -0
  72. package/dist/typescript/src/components/icon-button/variants/index.d.ts +6 -0
  73. package/dist/typescript/src/components/icon-button/variants/index.d.ts.map +1 -0
  74. package/dist/typescript/src/components/icon-button/variants/secondary.d.ts +3 -0
  75. package/dist/typescript/src/components/icon-button/variants/secondary.d.ts.map +1 -0
  76. package/dist/typescript/src/components/index.d.ts +2 -0
  77. package/dist/typescript/src/components/index.d.ts.map +1 -1
  78. package/dist/typescript/src/components/menu/components/menu-checkbox-item.d.ts.map +1 -1
  79. package/dist/typescript/src/components/menu/components/menu-radio-item.d.ts.map +1 -1
  80. package/dist/typescript/src/components/menu/components/menu-selection-indicator.d.ts +7 -0
  81. package/dist/typescript/src/components/menu/components/menu-selection-indicator.d.ts.map +1 -0
  82. package/dist/typescript/src/components/menu/types.d.ts +1 -3
  83. package/dist/typescript/src/components/menu/types.d.ts.map +1 -1
  84. package/dist/typescript/src/components/menu/variants/default.d.ts.map +1 -1
  85. package/dist/typescript/src/components/popover/components/popover-content.d.ts.map +1 -1
  86. package/dist/typescript/src/components/portal/index.d.ts +1 -0
  87. package/dist/typescript/src/components/portal/index.d.ts.map +1 -1
  88. package/dist/typescript/src/components/portal/portal-offset.d.ts +13 -0
  89. package/dist/typescript/src/components/portal/portal-offset.d.ts.map +1 -0
  90. package/dist/typescript/src/components/portal/portal.d.ts +3 -2
  91. package/dist/typescript/src/components/portal/portal.d.ts.map +1 -1
  92. package/dist/typescript/src/components/select/components/select-content.d.ts.map +1 -1
  93. package/dist/typescript/src/components/separator/index.d.ts +3 -0
  94. package/dist/typescript/src/components/separator/index.d.ts.map +1 -0
  95. package/dist/typescript/src/components/separator/separator.d.ts +9 -0
  96. package/dist/typescript/src/components/separator/separator.d.ts.map +1 -0
  97. package/dist/typescript/src/components/separator/types.d.ts +5 -0
  98. package/dist/typescript/src/components/separator/types.d.ts.map +1 -0
  99. package/dist/typescript/src/components/separator/variants/horizontal.d.ts +3 -0
  100. package/dist/typescript/src/components/separator/variants/horizontal.d.ts.map +1 -0
  101. package/dist/typescript/src/components/separator/variants/index.d.ts +5 -0
  102. package/dist/typescript/src/components/separator/variants/index.d.ts.map +1 -0
  103. package/dist/typescript/src/components/separator/variants/vertical.d.ts +3 -0
  104. package/dist/typescript/src/components/separator/variants/vertical.d.ts.map +1 -0
  105. package/dist/typescript/src/components/textarea/variants/default.d.ts.map +1 -1
  106. package/dist/typescript/src/hooks/use-relative-position.d.ts +4 -7
  107. package/dist/typescript/src/hooks/use-relative-position.d.ts.map +1 -1
  108. package/dist/typescript/src/themes/provider.d.ts +3 -0
  109. package/dist/typescript/src/themes/provider.d.ts.map +1 -1
  110. package/package.json +1 -1
  111. package/src/components/button/variants/ghost.tsx +55 -0
  112. package/src/components/button/variants/index.ts +2 -0
  113. package/src/components/icon-button/icon-button.tsx +92 -0
  114. package/src/components/icon-button/index.ts +2 -0
  115. package/src/components/icon-button/types.ts +9 -0
  116. package/src/components/icon-button/variants/default.tsx +32 -0
  117. package/src/components/icon-button/variants/ghost.tsx +33 -0
  118. package/src/components/icon-button/variants/index.ts +9 -0
  119. package/src/components/icon-button/variants/secondary.tsx +35 -0
  120. package/src/components/index.ts +2 -0
  121. package/src/components/menu/components/menu-checkbox-item.tsx +3 -4
  122. package/src/components/menu/components/menu-content.tsx +1 -1
  123. package/src/components/menu/components/menu-radio-item.tsx +3 -7
  124. package/src/components/menu/components/menu-selection-indicator.tsx +26 -0
  125. package/src/components/menu/types.ts +1 -6
  126. package/src/components/menu/variants/default.tsx +7 -16
  127. package/src/components/phone-input/components/country-picker.tsx +1 -1
  128. package/src/components/popover/components/popover-content.tsx +1 -4
  129. package/src/components/portal/index.ts +1 -0
  130. package/src/components/portal/portal-offset.ts +28 -0
  131. package/src/components/portal/portal.tsx +54 -22
  132. package/src/components/select/components/select-content.tsx +14 -5
  133. package/src/components/separator/index.ts +2 -0
  134. package/src/components/separator/separator.tsx +15 -0
  135. package/src/components/separator/types.ts +5 -0
  136. package/src/components/separator/variants/horizontal.tsx +14 -0
  137. package/src/components/separator/variants/index.ts +7 -0
  138. package/src/components/separator/variants/vertical.tsx +14 -0
  139. package/src/components/textarea/variants/default.tsx +7 -0
  140. package/src/hooks/use-relative-position.ts +53 -41
  141. package/src/themes/provider.tsx +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","PortalOffsetContext","undefined","usePortalOffset","value","x","y","isLoaded"],"sourceRoot":"../../../../src","sources":["components/portal/portal-offset.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AASjD;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGF,aAAa,CAAoBG,SAAS,CAAC;AAO9E,OAAO,SAASC,eAAeA,CAAA,EAA0B;EACvD,MAAMC,KAAK,GAAGJ,UAAU,CAACC,mBAAmB,CAAC;EAC7C,IAAIG,KAAK,KAAKF,SAAS,EAAE;IACvB,OAAO;MAAEE,KAAK,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC;MAAEC,QAAQ,EAAE;IAAK,CAAC;EAClD;EACA,IAAIH,KAAK,KAAK,IAAI,EAAE;IAClB,OAAO;MAAEA,KAAK,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC;MAAEC,QAAQ,EAAE;IAAM,CAAC;EACnD;EACA,OAAO;IAAEH,KAAK;IAAEG,QAAQ,EAAE;EAAK,CAAC;AAClC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useSyncExternalStore } from "react";
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
4
4
  import { Platform, View } from "react-native";
5
+ import { PortalOffsetContext } from "./portal-offset.js";
5
6
  import { DEFAULT_PORTAL_HOST } from "./portal.constants.js";
6
7
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
8
  const store = {
@@ -36,29 +37,50 @@ function removePortal(hostName, name) {
36
37
  store.map = next;
37
38
  emit();
38
39
  }
40
+ function DefaultContainer(props) {
41
+ const containerRef = useRef(null);
42
+ const [offset, setOffset] = useState(null);
43
+ const onLayout = useCallback(() => {
44
+ containerRef.current?.measureInWindow((pageX, pageY) => {
45
+ setOffset(prev => {
46
+ if (prev?.x === pageX && prev?.y === pageY) return prev;
47
+ return {
48
+ x: pageX,
49
+ y: pageY
50
+ };
51
+ });
52
+ });
53
+ }, []);
54
+ return /*#__PURE__*/_jsx(View, {
55
+ ref: containerRef,
56
+ onLayout: onLayout,
57
+ style: {
58
+ position: "absolute",
59
+ top: 0,
60
+ left: 0,
61
+ right: 0,
62
+ bottom: 0,
63
+ elevation: 999,
64
+ zIndex: 999,
65
+ pointerEvents: "box-none"
66
+ },
67
+ children: /*#__PURE__*/_jsx(PortalOffsetContext.Provider, {
68
+ value: offset,
69
+ children: props.children
70
+ })
71
+ });
72
+ }
39
73
  export function PortalHost({
40
74
  name = DEFAULT_PORTAL_HOST,
41
75
  container
42
76
  }) {
43
77
  const map = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
44
78
  const portalMap = map.get(name) ?? new Map();
45
- if (portalMap.size === 0) return null;
46
- const Container = Platform.select({
47
- default: props => /*#__PURE__*/_jsx(View, {
48
- ...props,
49
- style: {
50
- position: "absolute",
51
- top: 0,
52
- left: 0,
53
- right: 0,
54
- bottom: 0,
55
- elevation: 999,
56
- zIndex: 999,
57
- pointerEvents: "box-none"
58
- }
59
- }),
79
+ const Container = useMemo(() => Platform.select({
80
+ default: DefaultContainer,
60
81
  ...container
61
- });
82
+ }), [container]);
83
+ if (portalMap.size === 0) return null;
62
84
  return /*#__PURE__*/_jsx(Container, {
63
85
  children: Array.from(portalMap.values())
64
86
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useSyncExternalStore","Platform","View","DEFAULT_PORTAL_HOST","jsx","_jsx","Fragment","_Fragment","store","map","Map","set","listeners","Set","emit","cb","getSnapshot","subscribe","add","delete","updatePortal","hostName","name","children","next","portal","get","removePortal","PortalHost","container","portalMap","size","Container","select","default","props","style","position","top","left","right","bottom","elevation","zIndex","pointerEvents","Array","from","values","Portal"],"sourceRoot":"../../../../src","sources":["components/portal/portal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","useSyncExternalStore","Platform","View","PortalOffsetContext","DEFAULT_PORTAL_HOST","jsx","_jsx","Fragment","_Fragment","store","map","Map","set","listeners","Set","emit","cb","getSnapshot","subscribe","add","delete","updatePortal","hostName","name","children","next","portal","get","removePortal","DefaultContainer","props","containerRef","offset","setOffset","onLayout","current","measureInWindow","pageX","pageY","prev","x","y","ref","style","position","top","left","right","bottom","elevation","zIndex","pointerEvents","Provider","value","PortalHost","container","portalMap","Container","select","default","size","Array","from","values","Portal"],"sourceRoot":"../../../../src","sources":["components/portal/portal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { useRelativePosition } from "../../../hooks/use-relative-position.js";
4
- import { calculateComposedStyles } from "../../../utils/calculate-styles.js";
5
3
  import React from "react";
6
4
  import { View } from "react-native";
5
+ import { useRelativePosition } from "../../../hooks/use-relative-position.js";
6
+ import { calculateComposedStyles } from "../../../utils/calculate-styles.js";
7
7
  import { useSelect } from "../context.js";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  export function SelectContent(props) {
@@ -15,7 +15,7 @@ export function SelectContent(props) {
15
15
  contentLayout: select.contentLayout,
16
16
  alignOffset: 0,
17
17
  preferredSide: "bottom",
18
- sideOffset: 0
18
+ sideOffset: 2
19
19
  });
20
20
  const Component = props.render ?? View;
21
21
  return /*#__PURE__*/_jsx(Component, {
@@ -1 +1 @@
1
- {"version":3,"names":["useRelativePosition","calculateComposedStyles","React","View","useSelect","jsx","_jsx","SelectContent","props","select","composedStyles","styles","state","style","positionStyle","align","triggerPosition","contentLayout","alignOffset","preferredSide","sideOffset","Component","render","width","onLayout","e","setContentLayout","nativeEvent","layout","pointerEvents","children"],"sourceRoot":"../../../../../src","sources":["components/select/components/select-content.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yCAAsC;AAC1E,SAASC,uBAAuB,QAAQ,oCAAiC;AACzE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUvC,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,cAAc,GAAGT,uBAAuB,CAACQ,MAAM,CAACE,MAAM,EAAEF,MAAM,CAACG,KAAK,EAAE,SAAS,EAAEJ,KAAK,CAACK,KAAK,CAAC;EAEnG,MAAMC,aAAa,GAAGd,mBAAmB,CAAC;IACxCe,KAAK,EAAE,OAAO;IACdC,eAAe,EAAEP,MAAM,CAACO,eAAe;IACvCC,aAAa,EAAER,MAAM,CAACQ,aAAa;IACnCC,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,QAAQ;IACvBC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGb,KAAK,CAACc,MAAM,IAAInB,IAAI;EACtC,oBACEG,IAAA,CAACe,SAAS;IACRR,KAAK,EAAE,CAACC,aAAa,EAAEJ,cAAc,EAAE;MAAEa,KAAK,EAAEd,MAAM,CAACO,eAAe,CAACO;IAAM,CAAC,CAAE;IAChFC,QAAQ,EAAGC,CAAC,IAAK;MACfhB,MAAM,CAACiB,gBAAgB,CAACD,CAAC,CAACE,WAAW,CAACC,MAAM,CAAC;IAC/C,CAAE;IACFC,aAAa,EAAC,UAAU;IAAAC,QAAA,EAEvBtB,KAAK,CAACsB;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["React","View","useRelativePosition","calculateComposedStyles","useSelect","jsx","_jsx","SelectContent","props","select","composedStyles","styles","state","style","positionStyle","align","triggerPosition","contentLayout","alignOffset","preferredSide","sideOffset","Component","render","width","onLayout","e","setContentLayout","nativeEvent","layout","pointerEvents","children"],"sourceRoot":"../../../../../src","sources":["components/select/components/select-content.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,mBAAmB,QAAQ,yCAAsC;AAC1E,SAASC,uBAAuB,QAAQ,oCAAiC;AACzE,SAASC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUvC,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,cAAc,GAAGP,uBAAuB,CAC5CM,MAAM,CAACE,MAAM,EACbF,MAAM,CAACG,KAAK,EACZ,SAAS,EACTJ,KAAK,CAACK,KACR,CAAC;EAED,MAAMC,aAAa,GAAGZ,mBAAmB,CAAC;IACxCa,KAAK,EAAE,OAAO;IACdC,eAAe,EAAEP,MAAM,CAACO,eAAe;IACvCC,aAAa,EAAER,MAAM,CAACQ,aAAa;IACnCC,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,QAAQ;IACvBC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGb,KAAK,CAACc,MAAM,IAAIrB,IAAI;EACtC,oBACEK,IAAA,CAACe,SAAS;IACRR,KAAK,EAAE,CACLC,aAAa,EACbJ,cAAc,EACd;MAAEa,KAAK,EAAEd,MAAM,CAACO,eAAe,CAACO;IAAM,CAAC,CACvC;IACFC,QAAQ,EAAGC,CAAC,IAAK;MACfhB,MAAM,CAACiB,gBAAgB,CAACD,CAAC,CAACE,WAAW,CAACC,MAAM,CAAC;IAC/C,CAAE;IACFC,aAAa,EAAC,UAAU;IAAAC,QAAA,EAEvBtB,KAAK,CAACsB;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Separator } from "./separator.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Separator"],"sourceRoot":"../../../../src","sources":["components/separator/index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAA6B,gBAAa","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import React from "react";
4
+ import { View } from "react-native";
5
+ import { SeparatorVariants } from "./variants/index.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function Separator(props) {
8
+ const {
9
+ variant = "horizontal",
10
+ style
11
+ } = props;
12
+ const variantStyles = SeparatorVariants[variant]();
13
+ return /*#__PURE__*/_jsx(View, {
14
+ style: [variantStyles.root, style]
15
+ });
16
+ }
17
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","SeparatorVariants","jsx","_jsx","Separator","props","variant","style","variantStyles","root"],"sourceRoot":"../../../../src","sources":["components/separator/separator.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAwC,cAAc;AACnE,SAASC,iBAAiB,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO/C,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAM;IAAEC,OAAO,GAAG,YAAY;IAAEC;EAAM,CAAC,GAAGF,KAAK;EAC/C,MAAMG,aAAa,GAAGP,iBAAiB,CAACK,OAAO,CAAC,CAAC,CAAC;EAElD,oBAAOH,IAAA,CAACH,IAAI;IAACO,KAAK,EAAE,CAACC,aAAa,CAACC,IAAI,EAAEF,KAAK;EAAE,CAAE,CAAC;AACrD","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/separator/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import { useThemedStyles } from "../../../utils/use-themed-styles.js";
4
+ export const useSeparatorVariantHorizontal = () => {
5
+ return useThemedStyles(({
6
+ colors
7
+ }) => ({
8
+ root: {
9
+ height: 1,
10
+ alignSelf: "stretch",
11
+ backgroundColor: colors.border
12
+ }
13
+ }));
14
+ };
15
+ //# sourceMappingURL=horizontal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useThemedStyles","useSeparatorVariantHorizontal","colors","root","height","alignSelf","backgroundColor","border"],"sourceRoot":"../../../../../src","sources":["components/separator/variants/horizontal.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,qCAAkC;AAGlE,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAuB;EAClE,OAAOD,eAAe,CACpB,CAAC;IAAEE;EAAO,CAAC,MAAuB;IAChCC,IAAI,EAAE;MACJC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAE,SAAS;MACpBC,eAAe,EAAEJ,MAAM,CAACK;IAC1B;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import { useSeparatorVariantHorizontal } from "./horizontal.js";
4
+ import { useSeparatorVariantVertical } from "./vertical.js";
5
+ export const SeparatorVariants = {
6
+ horizontal: useSeparatorVariantHorizontal,
7
+ vertical: useSeparatorVariantVertical
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSeparatorVariantHorizontal","useSeparatorVariantVertical","SeparatorVariants","horizontal","vertical"],"sourceRoot":"../../../../../src","sources":["components/separator/variants/index.ts"],"mappings":";;AAAA,SAASA,6BAA6B,QAAQ,iBAAc;AAC5D,SAASC,2BAA2B,QAAQ,eAAY;AAExD,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,UAAU,EAAEH,6BAA6B;EACzCI,QAAQ,EAAEH;AACZ,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import { useThemedStyles } from "../../../utils/use-themed-styles.js";
4
+ export const useSeparatorVariantVertical = () => {
5
+ return useThemedStyles(({
6
+ colors
7
+ }) => ({
8
+ root: {
9
+ width: 1,
10
+ alignSelf: "stretch",
11
+ backgroundColor: colors.border
12
+ }
13
+ }));
14
+ };
15
+ //# sourceMappingURL=vertical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useThemedStyles","useSeparatorVariantVertical","colors","root","width","alignSelf","backgroundColor","border"],"sourceRoot":"../../../../../src","sources":["components/separator/variants/vertical.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,qCAAkC;AAGlE,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAuB;EAChE,OAAOD,eAAe,CACpB,CAAC;IAAEE;EAAO,CAAC,MAAuB;IAChCC,IAAI,EAAE;MACJC,KAAK,EAAE,CAAC;MACRC,SAAS,EAAE,SAAS;MACpBC,eAAe,EAAEJ,MAAM,CAACK;IAC1B;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { Platform } from "react-native";
3
4
  import { useThemedStyles } from "../../../utils/use-themed-styles.js";
4
5
  export function useTextareaVariantDefault() {
5
6
  return useThemedStyles(({
@@ -19,6 +20,12 @@ export function useTextareaVariantDefault() {
19
20
  paddingVertical: 12,
20
21
  paddingHorizontal: 16,
21
22
  outlineWidth: 0,
23
+ ...Platform.select({
24
+ default: {},
25
+ web: {
26
+ outline: "none"
27
+ }
28
+ }),
22
29
  fontFamily,
23
30
  fontSize,
24
31
  minHeight: 120,
@@ -1 +1 @@
1
- {"version":3,"names":["useThemedStyles","useTextareaVariantDefault","colors","radius","fontFamily","fontSize","default","placeholderTextColor","mutedForeground","selectionColor","primary","style","borderWidth","borderColor","border","borderRadius","backgroundColor","surface","paddingVertical","paddingHorizontal","outlineWidth","minHeight","textAlignVertical","color","foreground","focused","disabled","muted"],"sourceRoot":"../../../../../src","sources":["components/textarea/variants/default.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,SAASC,yBAAyBA,CAAA,EAAmB;EAC1D,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAsB;IAC7DC,OAAO,EAAE;MACPC,oBAAoB,EAAEL,MAAM,CAACM,eAAe;MAC5CC,cAAc,EAAEP,MAAM,CAACQ,OAAO;MAC9BC,KAAK,EAAE;QACLC,WAAW,EAAE,CAAC;QACdC,WAAW,EAAEX,MAAM,CAACY,MAAM;QAC1BC,YAAY,EAAEZ,MAAM;QACpBa,eAAe,EAAEd,MAAM,CAACe,OAAO;QAC/BC,eAAe,EAAE,EAAE;QACnBC,iBAAiB,EAAE,EAAE;QACrBC,YAAY,EAAE,CAAC;QACfhB,UAAU;QACVC,QAAQ;QACRgB,SAAS,EAAE,GAAG;QACdC,iBAAiB,EAAE,KAAK;QACxBC,KAAK,EAAErB,MAAM,CAACsB;MAChB;IACF,CAAC;IACDC,OAAO,EAAE;MACPd,KAAK,EAAE;QACLE,WAAW,EAAEX,MAAM,CAACQ;MACtB;IACF,CAAC;IACDgB,QAAQ,EAAE;MACRf,KAAK,EAAE;QACLY,KAAK,EAAErB,MAAM,CAACM,eAAe;QAC7BQ,eAAe,EAAEd,MAAM,CAACyB;MAC1B;IACF;EACF,CAAC,CACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["Platform","useThemedStyles","useTextareaVariantDefault","colors","radius","fontFamily","fontSize","default","placeholderTextColor","mutedForeground","selectionColor","primary","style","borderWidth","borderColor","border","borderRadius","backgroundColor","surface","paddingVertical","paddingHorizontal","outlineWidth","select","web","outline","minHeight","textAlignVertical","color","foreground","focused","disabled","muted"],"sourceRoot":"../../../../../src","sources":["components/textarea/variants/default.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,eAAe,QAAQ,qCAAkC;AAElE,OAAO,SAASC,yBAAyBA,CAAA,EAAmB;EAC1D,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAsB;IAC7DC,OAAO,EAAE;MACPC,oBAAoB,EAAEL,MAAM,CAACM,eAAe;MAC5CC,cAAc,EAAEP,MAAM,CAACQ,OAAO;MAC9BC,KAAK,EAAE;QACLC,WAAW,EAAE,CAAC;QACdC,WAAW,EAAEX,MAAM,CAACY,MAAM;QAC1BC,YAAY,EAAEZ,MAAM;QACpBa,eAAe,EAAEd,MAAM,CAACe,OAAO;QAC/BC,eAAe,EAAE,EAAE;QACnBC,iBAAiB,EAAE,EAAE;QACrBC,YAAY,EAAE,CAAC;QACf,GAAGrB,QAAQ,CAACsB,MAAM,CAAC;UACjBf,OAAO,EAAE,CAAC,CAAC;UACXgB,GAAG,EAAE;YACHC,OAAO,EAAE;UACX;QACF,CAAC,CAAC;QACFnB,UAAU;QACVC,QAAQ;QACRmB,SAAS,EAAE,GAAG;QACdC,iBAAiB,EAAE,KAAK;QACxBC,KAAK,EAAExB,MAAM,CAACyB;MAChB;IACF,CAAC;IACDC,OAAO,EAAE;MACPjB,KAAK,EAAE;QACLE,WAAW,EAAEX,MAAM,CAACQ;MACtB;IACF,CAAC;IACDmB,QAAQ,EAAE;MACRlB,KAAK,EAAE;QACLe,KAAK,EAAExB,MAAM,CAACM,eAAe;QAC7BQ,eAAe,EAAEd,MAAM,CAAC4B;MAC1B;IACF;EACF,CAAC,CACH,CAAC;AACH","ignoreList":[]}
@@ -2,18 +2,22 @@
2
2
 
3
3
  import { useMemo } from "react";
4
4
  import { useWindowDimensions } from "react-native";
5
+ import { usePortalOffset } from "../components/portal/index.js";
6
+ import { useSafeAreaInsets } from "../safe-area/index.js";
5
7
  export function useRelativePosition({
6
8
  align,
7
9
  triggerPosition,
8
10
  contentLayout,
9
11
  alignOffset,
10
- insets,
11
12
  sideOffset,
12
13
  preferredSide
13
14
  }) {
14
15
  const dimensions = useWindowDimensions();
16
+ const insets = useSafeAreaInsets();
17
+ const portalOffset = usePortalOffset();
15
18
  return useMemo(() => {
16
- if (!triggerPosition || !contentLayout) {
19
+ const hasLayout = triggerPosition.width > 0 && triggerPosition.height > 0 && contentLayout.width > 0 && contentLayout.height > 0 && portalOffset.isLoaded;
20
+ if (!hasLayout) {
17
21
  return {
18
22
  position: "absolute",
19
23
  opacity: 0,
@@ -21,18 +25,29 @@ export function useRelativePosition({
21
25
  zIndex: -9999999
22
26
  };
23
27
  }
28
+
29
+ // Adjust trigger position to account for the portal container's
30
+ // offset from the window origin. measureInWindow returns window-relative
31
+ // coordinates, but the portal content is positioned relative to its
32
+ // container which may not be at the window origin (e.g. on Android
33
+ // where the status bar offsets the view hierarchy).
34
+ const adjustedTriggerPosition = {
35
+ ...triggerPosition,
36
+ pageX: triggerPosition.pageX - portalOffset.value.x,
37
+ pageY: triggerPosition.pageY - portalOffset.value.y
38
+ };
24
39
  const style = getContentStyle({
25
40
  align,
26
41
  contentLayout,
27
42
  preferredSide,
28
- triggerPosition,
43
+ triggerPosition: adjustedTriggerPosition,
29
44
  alignOffset,
30
45
  insets,
31
46
  sideOffset,
32
47
  dimensions
33
48
  });
34
49
  return style;
35
- }, [align, preferredSide, alignOffset, insets, triggerPosition, contentLayout, dimensions.width, dimensions.height, sideOffset]);
50
+ }, [align, preferredSide, alignOffset, insets, triggerPosition, contentLayout, dimensions.width, dimensions.height, sideOffset, portalOffset]);
36
51
  }
37
52
  export const DEFAULT_LAYOUT = {
38
53
  x: 0,
@@ -48,29 +63,28 @@ export const DEFAULT_POSITION = {
48
63
  };
49
64
  function getSide({
50
65
  preferredSide,
51
- insetTop,
52
- insetBottom,
66
+ insets,
53
67
  positionTop,
54
68
  positionBottom,
55
69
  contentLayout,
56
70
  dimensions
57
71
  }) {
58
72
  if (preferredSide === "bottom") {
59
- const spaceBelow = dimensions.height - insetBottom - positionBottom;
73
+ const spaceBelow = dimensions.height - insets.bottom - positionBottom;
60
74
  if (spaceBelow >= contentLayout.height) {
61
75
  return "bottom";
62
76
  }
63
- const spaceAbove = positionTop - insetTop;
77
+ const spaceAbove = positionTop - insets.top;
64
78
  if (spaceAbove > spaceBelow) {
65
79
  return "top";
66
80
  }
67
81
  return "bottom";
68
82
  }
69
- const spaceAbove = positionTop - insetTop;
83
+ const spaceAbove = positionTop - insets.top;
70
84
  if (spaceAbove >= contentLayout.height) {
71
85
  return "top";
72
86
  }
73
- const spaceBelow = dimensions.height - insetBottom - positionBottom;
87
+ const spaceBelow = dimensions.height - insets.bottom - positionBottom;
74
88
  if (spaceBelow > spaceAbove) {
75
89
  return "bottom";
76
90
  }
@@ -84,14 +98,11 @@ function getSidePosition({
84
98
  insets,
85
99
  dimensions
86
100
  }) {
87
- const insetTop = insets?.top ?? 0;
88
- const insetBottom = insets?.bottom ?? 0;
89
101
  const positionTop = triggerPosition?.pageY - sideOffset - contentLayout.height;
90
102
  const positionBottom = triggerPosition.pageY + triggerPosition.height + sideOffset;
91
103
  const side = getSide({
92
104
  preferredSide,
93
- insetTop,
94
- insetBottom,
105
+ insets,
95
106
  positionTop,
96
107
  positionBottom,
97
108
  contentLayout,
@@ -99,11 +110,11 @@ function getSidePosition({
99
110
  });
100
111
  if (side === "top") {
101
112
  return {
102
- top: Math.min(Math.max(insetTop, positionTop), dimensions.height - insetBottom - contentLayout.height)
113
+ top: Math.min(Math.max(insets.top, positionTop), dimensions.height - insets.bottom - contentLayout.height)
103
114
  };
104
115
  }
105
116
  return {
106
- top: Math.min(dimensions.height - insetBottom - contentLayout.height, positionBottom)
117
+ top: Math.min(dimensions.height - insets.bottom - contentLayout.height, positionBottom)
107
118
  };
108
119
  }
109
120
  function getAlignPosition({
@@ -114,21 +125,19 @@ function getAlignPosition({
114
125
  insets,
115
126
  dimensions
116
127
  }) {
117
- const insetLeft = insets?.left ?? 0;
118
- const insetRight = insets?.right ?? 0;
119
- const maxContentWidth = dimensions.width - insetLeft - insetRight;
128
+ const maxContentWidth = dimensions.width - insets.left - insets.right;
120
129
  const contentWidth = Math.min(contentLayout.width, maxContentWidth);
121
- let left = getLeftPosition(align, triggerPosition.pageX, triggerPosition.width, contentWidth, alignOffset, insetLeft, insetRight, dimensions);
122
- const doesCollide = left < insetLeft || left + contentWidth > dimensions.width - insetRight;
130
+ let left = getLeftPosition(align, triggerPosition.pageX, triggerPosition.width, contentWidth, alignOffset, insets, dimensions);
131
+ const doesCollide = left < insets.left || left + contentWidth > dimensions.width - insets.right;
123
132
  if (doesCollide) {
124
- const spaceLeft = left - insetLeft;
125
- const spaceRight = dimensions.width - insetRight - (left + contentWidth);
133
+ const spaceLeft = left - insets.left;
134
+ const spaceRight = dimensions.width - insets.right - (left + contentWidth);
126
135
  if (spaceLeft > spaceRight && spaceLeft >= contentWidth) {
127
- left = insetLeft;
136
+ left = insets.left;
128
137
  } else if (spaceRight >= contentWidth) {
129
- left = dimensions.width - insetRight - contentWidth;
138
+ left = dimensions.width - insets.right - contentWidth;
130
139
  } else {
131
- const centeredPosition = Math.max(insetLeft, (dimensions.width - contentWidth - insetRight) / 2);
140
+ const centeredPosition = Math.max(insets.left, (dimensions.width - contentWidth - insets.right) / 2);
132
141
  left = centeredPosition;
133
142
  }
134
143
  }
@@ -137,7 +146,7 @@ function getAlignPosition({
137
146
  maxWidth: maxContentWidth
138
147
  };
139
148
  }
140
- function getLeftPosition(align, triggerPageX, triggerWidth, contentWidth, alignOffset, insetLeft, insetRight, dimensions) {
149
+ function getLeftPosition(align, triggerPageX, triggerWidth, contentWidth, alignOffset, insets, dimensions) {
141
150
  let left = 0;
142
151
  if (align === "start") {
143
152
  left = triggerPageX;
@@ -148,7 +157,7 @@ function getLeftPosition(align, triggerPageX, triggerWidth, contentWidth, alignO
148
157
  if (align === "end") {
149
158
  left = triggerPageX + triggerWidth - contentWidth;
150
159
  }
151
- return Math.max(insetLeft, Math.min(left + alignOffset, dimensions.width - contentWidth - insetRight));
160
+ return Math.max(insets.left, Math.min(left + alignOffset, dimensions.width - contentWidth - insets.right));
152
161
  }
153
162
  function getContentStyle(args) {
154
163
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useRelativePosition","align","triggerPosition","contentLayout","alignOffset","insets","sideOffset","preferredSide","dimensions","position","opacity","top","height","zIndex","style","getContentStyle","width","DEFAULT_LAYOUT","x","y","DEFAULT_POSITION","pageX","pageY","getSide","insetTop","insetBottom","positionTop","positionBottom","spaceBelow","spaceAbove","getSidePosition","bottom","side","Math","min","max","getAlignPosition","insetLeft","left","insetRight","right","maxContentWidth","contentWidth","getLeftPosition","doesCollide","spaceLeft","spaceRight","centeredPosition","maxWidth","triggerPageX","triggerWidth","args"],"sourceRoot":"../../../src","sources":["hooks/use-relative-position.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","usePortalOffset","useSafeAreaInsets","useRelativePosition","align","triggerPosition","contentLayout","alignOffset","sideOffset","preferredSide","dimensions","insets","portalOffset","hasLayout","width","height","isLoaded","position","opacity","top","zIndex","adjustedTriggerPosition","pageX","value","x","pageY","y","style","getContentStyle","DEFAULT_LAYOUT","DEFAULT_POSITION","getSide","positionTop","positionBottom","spaceBelow","bottom","spaceAbove","getSidePosition","side","Math","min","max","getAlignPosition","maxContentWidth","left","right","contentWidth","getLeftPosition","doesCollide","spaceLeft","spaceRight","centeredPosition","maxWidth","triggerPageX","triggerWidth","args"],"sourceRoot":"../../../src","sources":["hooks/use-relative-position.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","useEffect","useState","useColorScheme","defaultThemeAssets","mergeThemeAssets","jsx","_jsx","ThemeContext","ThemeProvider","props","children","theme","components","systemColorScheme","colorScheme","setColorScheme","themeAssets","colors","Provider","value","radius","fontFamily","letterSpacing","fontSize","useTheme","context","Error","useComponentsConfig"],"sourceRoot":"../../../src","sources":["themes/provider.tsx"],"mappings":";;AAAA,SACEA,aAAa,EAEbC,UAAU,EACVC,SAAS,EACTC,QAAQ,QACH,OAAO;AACd,SAASC,cAAc,QAAQ,cAAc;AAI7C,SAASC,kBAAkB,QAAQ,oBAAW;AAU9C,SAASC,gBAAgB,QAAQ,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmB3C,MAAMC,YAAY,gBAAGT,aAAa,CAAsB,IAAI,CAAC;AAO7D,OAAO,MAAMU,aAAa,GAAIC,KAAyB,IAAK;EAC1D,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGH,KAAK;EAE7C,MAAMI,iBAAiB,GAAGX,cAAc,CAAC,CAAC;EAC1C,MAAM,CAACY,WAAW,EAAEC,cAAc,CAAC,GAAGd,QAAQ,CAC5CY,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,OAC1C,CAAC;EAED,MAAMG,WAAW,GAAGL,KAAK,GACrBP,gBAAgB,CAACD,kBAAkB,EAAEQ,KAAK,CAAC,GAC3CR,kBAAkB;EAEtB,MAAMc,MAAM,GAAGD,WAAW,CAACC,MAAM,CAACH,WAAW,CAAC;EAE9Cd,SAAS,CAAC,MAAM;IACd,IAAIa,iBAAiB,EAAE;MACrBE,cAAc,CAACF,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjE;EACF,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,oBACEP,IAAA,CAACC,YAAY,CAACW,QAAQ;IACpBC,KAAK,EAAE;MACLL,WAAW;MACXC,cAAc;MACdE,MAAM;MACNG,MAAM,EAAEJ,WAAW,CAACI,MAAM;MAC1BC,UAAU,EAAEL,WAAW,CAACK,UAAU;MAClCC,aAAa,EAAEN,WAAW,CAACM,aAAa;MACxCC,QAAQ,EAAEP,WAAW,CAACO,QAAQ;MAC9BX;IACF,CAAE;IAAAF,QAAA,EAEDA;EAAQ,CACY,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMc,QAAQ,GAAGA,CAAA,KAAM;EAC5B,MAAMC,OAAO,GAAG1B,UAAU,CAACQ,YAAY,CAAC;EACxC,IAAI,CAACkB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;EACjE;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMF,OAAO,GAAG1B,UAAU,CAACQ,YAAY,CAAC;EACxC,IAAI,CAACkB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOD,OAAO,CAACb,UAAU;AAC3B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useEffect","useState","useColorScheme","defaultThemeAssets","mergeThemeAssets","jsx","_jsx","ThemeContext","ThemeProvider","props","children","theme","components","systemColorScheme","colorScheme","setColorScheme","themeAssets","colors","Provider","value","radius","fontFamily","letterSpacing","fontSize","useTheme","context","Error","useComponentsConfig"],"sourceRoot":"../../../src","sources":["themes/provider.tsx"],"mappings":";;AAAA,SACEA,aAAa,EAEbC,UAAU,EACVC,SAAS,EACTC,QAAQ,QACH,OAAO;AACd,SAASC,cAAc,QAAQ,cAAc;AAI7C,SAASC,kBAAkB,QAAQ,oBAAW;AAU9C,SAASC,gBAAgB,QAAQ,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsB3C,MAAMC,YAAY,gBAAGT,aAAa,CAAsB,IAAI,CAAC;AAO7D,OAAO,MAAMU,aAAa,GAAIC,KAAyB,IAAK;EAC1D,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGH,KAAK;EAE7C,MAAMI,iBAAiB,GAAGX,cAAc,CAAC,CAAC;EAC1C,MAAM,CAACY,WAAW,EAAEC,cAAc,CAAC,GAAGd,QAAQ,CAC5CY,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,OAC1C,CAAC;EAED,MAAMG,WAAW,GAAGL,KAAK,GACrBP,gBAAgB,CAACD,kBAAkB,EAAEQ,KAAK,CAAC,GAC3CR,kBAAkB;EAEtB,MAAMc,MAAM,GAAGD,WAAW,CAACC,MAAM,CAACH,WAAW,CAAC;EAE9Cd,SAAS,CAAC,MAAM;IACd,IAAIa,iBAAiB,EAAE;MACrBE,cAAc,CAACF,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjE;EACF,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,oBACEP,IAAA,CAACC,YAAY,CAACW,QAAQ;IACpBC,KAAK,EAAE;MACLL,WAAW;MACXC,cAAc;MACdE,MAAM;MACNG,MAAM,EAAEJ,WAAW,CAACI,MAAM;MAC1BC,UAAU,EAAEL,WAAW,CAACK,UAAU;MAClCC,aAAa,EAAEN,WAAW,CAACM,aAAa;MACxCC,QAAQ,EAAEP,WAAW,CAACO,QAAQ;MAC9BX;IACF,CAAE;IAAAF,QAAA,EAEDA;EAAQ,CACY,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMc,QAAQ,GAAGA,CAAA,KAAM;EAC5B,MAAMC,OAAO,GAAG1B,UAAU,CAACQ,YAAY,CAAC;EACxC,IAAI,CAACkB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;EACjE;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMF,OAAO,GAAG1B,UAAU,CAACQ,YAAY,CAAC;EACxC,IAAI,CAACkB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOD,OAAO,CAACb,UAAU;AAC3B,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { type ButtonStyles } from "../..";
2
+ export declare const useButtonVariantGhost: () => ButtonStyles;
3
+ //# sourceMappingURL=ghost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ghost.d.ts","sourceRoot":"","sources":["../../../../../../src/components/button/variants/ghost.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,eAAO,MAAM,qBAAqB,QAAO,YAkDxC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare const ButtonVariants: {
2
2
  default: () => import("..").ButtonStyles;
3
3
  secondary: () => import("..").ButtonStyles;
4
+ ghost: () => import("..").ButtonStyles;
4
5
  };
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/button/variants/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;CAG1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/button/variants/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { type PressableProps, type StyleProp, type ViewStyle } from "react-native";
3
+ import type { SvgProps } from "../../types/props.types";
4
+ import { IconButtonVariants } from "./variants";
5
+ export interface IconButtonProps extends Omit<PressableProps, "disabled" | "children"> {
6
+ render: (props: SvgProps) => React.ReactNode;
7
+ variant?: keyof typeof IconButtonVariants;
8
+ isDisabled?: boolean;
9
+ size?: number;
10
+ color?: SvgProps["color"];
11
+ strokeWidth?: number;
12
+ style?: StyleProp<ViewStyle>;
13
+ }
14
+ export declare function IconButton(props: IconButtonProps): React.JSX.Element;
15
+ //# sourceMappingURL=icon-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,OAAO,kBAAkB,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAsDhD"}
@@ -0,0 +1,3 @@
1
+ export { IconButton, type IconButtonProps } from "./icon-button";
2
+ export type { IconButtonStyles } from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/icon-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { StyleProp, ViewStyle } from "react-native";
2
+ import type { SvgProps } from "../../types/props.types";
3
+ export type IconButtonState = "default" | "disabled" | "hovered";
4
+ export interface IconButtonStyles {
5
+ root?: Partial<Record<IconButtonState, StyleProp<ViewStyle>>>;
6
+ icon?: Partial<Record<IconButtonState, SvgProps>>;
7
+ }
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/icon-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;CACnD"}
@@ -0,0 +1,3 @@
1
+ import type { IconButtonStyles } from "../types";
2
+ export declare const useIconButtonVariantDefault: () => IconButtonStyles;
3
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../../src/components/icon-button/variants/default.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,2BAA2B,QAAO,gBA2B9C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IconButtonStyles } from "../types";
2
+ export declare const useIconButtonVariantGhost: () => IconButtonStyles;
3
+ //# sourceMappingURL=ghost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ghost.d.ts","sourceRoot":"","sources":["../../../../../../src/components/icon-button/variants/ghost.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,yBAAyB,QAAO,gBA4B5C,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const IconButtonVariants: {
2
+ default: () => import("..").IconButtonStyles;
3
+ secondary: () => import("..").IconButtonStyles;
4
+ ghost: () => import("..").IconButtonStyles;
5
+ };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/icon-button/variants/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IconButtonStyles } from "../types";
2
+ export declare const useIconButtonVariantSecondary: () => IconButtonStyles;
3
+ //# sourceMappingURL=secondary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secondary.d.ts","sourceRoot":"","sources":["../../../../../../src/components/icon-button/variants/secondary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,6BAA6B,QAAO,gBA8BhD,CAAC"}
@@ -9,6 +9,7 @@ export * from "./checkbox";
9
9
  export * from "./empty";
10
10
  export * from "./field";
11
11
  export * from "./icon";
12
+ export * from "./icon-button";
12
13
  export * from "./input";
13
14
  export * from "./link";
14
15
  export * from "./list";
@@ -19,6 +20,7 @@ export * from "./portal";
19
20
  export * from "./progress";
20
21
  export * from "./scroll-bar";
21
22
  export * from "./select";
23
+ export * from "./separator";
22
24
  export * from "./tabs";
23
25
  export * from "./textarea";
24
26
  export * from "./toast";