@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,59 @@
1
+ "use strict";
2
+
3
+ import { hslaSetRelativeLightness } from "../../../utils/hsla-utils.js";
4
+ import { useThemedStyles } from "../../../utils/use-themed-styles.js";
5
+ export const useButtonVariantGhost = () => {
6
+ return useThemedStyles(({
7
+ colors,
8
+ radius,
9
+ fontFamily,
10
+ fontSize
11
+ }) => ({
12
+ root: {
13
+ default: {
14
+ flexDirection: "row",
15
+ paddingVertical: 12,
16
+ paddingHorizontal: 16,
17
+ borderRadius: radius,
18
+ gap: 8,
19
+ alignItems: "center",
20
+ justifyContent: "center",
21
+ backgroundColor: "transparent"
22
+ },
23
+ disabled: {
24
+ opacity: 0.5
25
+ },
26
+ loading: {
27
+ opacity: 0.5
28
+ },
29
+ hovered: {
30
+ backgroundColor: hslaSetRelativeLightness(colors.secondary, -1)
31
+ }
32
+ },
33
+ label: {
34
+ default: {
35
+ color: colors.foreground,
36
+ fontSize,
37
+ fontFamily
38
+ },
39
+ disabled: {
40
+ color: colors.mutedForeground
41
+ },
42
+ loading: {
43
+ color: colors.mutedForeground
44
+ }
45
+ },
46
+ spinner: {
47
+ default: {
48
+ color: colors.foreground
49
+ },
50
+ disabled: {
51
+ color: colors.mutedForeground
52
+ },
53
+ loading: {
54
+ color: colors.mutedForeground
55
+ }
56
+ }
57
+ }));
58
+ };
59
+ //# sourceMappingURL=ghost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hslaSetRelativeLightness","useThemedStyles","useButtonVariantGhost","colors","radius","fontFamily","fontSize","root","default","flexDirection","paddingVertical","paddingHorizontal","borderRadius","gap","alignItems","justifyContent","backgroundColor","disabled","opacity","loading","hovered","secondary","label","color","foreground","mutedForeground","spinner"],"sourceRoot":"../../../../../src","sources":["components/button/variants/ghost.tsx"],"mappings":";;AACA,SAASA,wBAAwB,QAAQ,8BAA2B;AACpE,SAASC,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAoB;EACvD,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAoB;IAC3DC,IAAI,EAAE;MACJC,OAAO,EAAE;QACPC,aAAa,EAAE,KAAK;QACpBC,eAAe,EAAE,EAAE;QACnBC,iBAAiB,EAAE,EAAE;QACrBC,YAAY,EAAER,MAAM;QACpBS,GAAG,EAAE,CAAC;QACNC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,eAAe,EAAE;MACnB,CAAC;MACDC,QAAQ,EAAE;QACRC,OAAO,EAAE;MACX,CAAC;MACDC,OAAO,EAAE;QACPD,OAAO,EAAE;MACX,CAAC;MACDE,OAAO,EAAE;QACPJ,eAAe,EAAEhB,wBAAwB,CAACG,MAAM,CAACkB,SAAS,EAAE,CAAC,CAAC;MAChE;IACF,CAAC;IACDC,KAAK,EAAE;MACLd,OAAO,EAAE;QACPe,KAAK,EAAEpB,MAAM,CAACqB,UAAU;QACxBlB,QAAQ;QACRD;MACF,CAAC;MACDY,QAAQ,EAAE;QACRM,KAAK,EAAEpB,MAAM,CAACsB;MAChB,CAAC;MACDN,OAAO,EAAE;QACPI,KAAK,EAAEpB,MAAM,CAACsB;MAChB;IACF,CAAC;IACDC,OAAO,EAAE;MACPlB,OAAO,EAAE;QACPe,KAAK,EAAEpB,MAAM,CAACqB;MAChB,CAAC;MACDP,QAAQ,EAAE;QACRM,KAAK,EAAEpB,MAAM,CAACsB;MAChB,CAAC;MACDN,OAAO,EAAE;QACPI,KAAK,EAAEpB,MAAM,CAACsB;MAChB;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { useButtonVariantDefault } from "./default.js";
4
+ import { useButtonVariantGhost } from "./ghost.js";
4
5
  import { useButtonVariantSecondary } from "./secondary.js";
5
6
  export const ButtonVariants = {
6
7
  default: useButtonVariantDefault,
7
- secondary: useButtonVariantSecondary
8
+ secondary: useButtonVariantSecondary,
9
+ ghost: useButtonVariantGhost
8
10
  };
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useButtonVariantDefault","useButtonVariantSecondary","ButtonVariants","default","secondary"],"sourceRoot":"../../../../../src","sources":["components/button/variants/index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,cAAW;AACnD,SAASC,yBAAyB,QAAQ,gBAAa;AAEvD,OAAO,MAAMC,cAAc,GAAG;EAC5BC,OAAO,EAAEH,uBAAuB;EAChCI,SAAS,EAAEH;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useButtonVariantDefault","useButtonVariantGhost","useButtonVariantSecondary","ButtonVariants","default","secondary","ghost"],"sourceRoot":"../../../../../src","sources":["components/button/variants/index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,cAAW;AACnD,SAASC,qBAAqB,QAAQ,YAAS;AAC/C,SAASC,yBAAyB,QAAQ,gBAAa;AAEvD,OAAO,MAAMC,cAAc,GAAG;EAC5BC,OAAO,EAAEJ,uBAAuB;EAChCK,SAAS,EAAEH,yBAAyB;EACpCI,KAAK,EAAEL;AACT,CAAC","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import React, { useState } from "react";
4
+ import { Pressable } from "react-native";
5
+ import { IconButtonVariants } from "./variants/index.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const calculateState = (props, isHovered) => {
8
+ if (props.isDisabled) return "disabled";
9
+ if (isHovered) return "hovered";
10
+ return "default";
11
+ };
12
+ const cursorValue = state => {
13
+ if (state === "disabled") return "not-allowed";
14
+ return "pointer";
15
+ };
16
+ export function IconButton(props) {
17
+ const {
18
+ render: IconComponent,
19
+ variant = "default",
20
+ isDisabled,
21
+ size,
22
+ color,
23
+ strokeWidth,
24
+ style,
25
+ ...rest
26
+ } = props;
27
+ const variantStyles = IconButtonVariants[variant]();
28
+ const [isHovered, setIsHovered] = useState(false);
29
+ const state = calculateState(props, isHovered);
30
+ const handlePress = event => {
31
+ if (isDisabled) {
32
+ event.preventDefault();
33
+ return;
34
+ }
35
+ rest.onPress?.(event);
36
+ };
37
+ const iconProps = {
38
+ size: size ?? variantStyles.icon?.default?.size,
39
+ color: color ?? variantStyles.icon?.[state]?.color ?? variantStyles.icon?.default?.color,
40
+ strokeWidth,
41
+ absoluteStrokeWidth: true
42
+ };
43
+ return /*#__PURE__*/_jsx(Pressable, {
44
+ ...rest,
45
+ onPress: handlePress,
46
+ onHoverIn: e => {
47
+ setIsHovered(true);
48
+ rest.onHoverIn?.(e);
49
+ },
50
+ onHoverOut: e => {
51
+ setIsHovered(false);
52
+ rest.onHoverOut?.(e);
53
+ },
54
+ disabled: isDisabled,
55
+ style: [variantStyles.root?.default, variantStyles.root?.[state], {
56
+ cursor: cursorValue(state)
57
+ }, style],
58
+ children: /*#__PURE__*/_jsx(IconComponent, {
59
+ ...iconProps
60
+ })
61
+ });
62
+ }
63
+ //# sourceMappingURL=icon-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","Pressable","IconButtonVariants","jsx","_jsx","calculateState","props","isHovered","isDisabled","cursorValue","state","IconButton","render","IconComponent","variant","size","color","strokeWidth","style","rest","variantStyles","setIsHovered","handlePress","event","preventDefault","onPress","iconProps","icon","default","absoluteStrokeWidth","onHoverIn","e","onHoverOut","disabled","root","cursor","children"],"sourceRoot":"../../../../src","sources":["components/icon-button/icon-button.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SACEC,SAAS,QAKJ,cAAc;AAGrB,SAASC,kBAAkB,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAahD,MAAMC,cAAc,GAAGA,CACrBC,KAAsB,EACtBC,SAAkB,KACE;EACpB,IAAID,KAAK,CAACE,UAAU,EAAE,OAAO,UAAU;EACvC,IAAID,SAAS,EAAE,OAAO,SAAS;EAC/B,OAAO,SAAS;AAClB,CAAC;AAED,MAAME,WAAW,GAAIC,KAAsB,IAAkB;EAC3D,IAAIA,KAAK,KAAK,UAAU,EAAE,OAAO,aAAa;EAC9C,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASC,UAAUA,CAACL,KAAsB,EAAE;EACjD,MAAM;IACJM,MAAM,EAAEC,aAAa;IACrBC,OAAO,GAAG,SAAS;IACnBN,UAAU;IACVO,IAAI;IACJC,KAAK;IACLC,WAAW;IACXC,KAAK;IACL,GAAGC;EACL,CAAC,GAAGb,KAAK;EAET,MAAMc,aAAa,GAAGlB,kBAAkB,CAACY,OAAO,CAAC,CAAC,CAAC;EACnD,MAAM,CAACP,SAAS,EAAEc,YAAY,CAAC,GAAGrB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMU,KAAK,GAAGL,cAAc,CAACC,KAAK,EAAEC,SAAS,CAAC;EAE9C,MAAMe,WAAsC,GAAIC,KAAK,IAAK;IACxD,IAAIf,UAAU,EAAE;MACde,KAAK,CAACC,cAAc,CAAC,CAAC;MACtB;IACF;IACAL,IAAI,CAACM,OAAO,GAAGF,KAAK,CAAC;EACvB,CAAC;EAED,MAAMG,SAAmB,GAAG;IAC1BX,IAAI,EAAEA,IAAI,IAAIK,aAAa,CAACO,IAAI,EAAEC,OAAO,EAAEb,IAAI;IAC/CC,KAAK,EAAEA,KAAK,IAAII,aAAa,CAACO,IAAI,GAAGjB,KAAK,CAAC,EAAEM,KAAK,IAAII,aAAa,CAACO,IAAI,EAAEC,OAAO,EAAEZ,KAAK;IACxFC,WAAW;IACXY,mBAAmB,EAAE;EACvB,CAAC;EAED,oBACEzB,IAAA,CAACH,SAAS;IAAA,GACJkB,IAAI;IACRM,OAAO,EAAEH,WAAY;IACrBQ,SAAS,EAAGC,CAAC,IAAK;MAChBV,YAAY,CAAC,IAAI,CAAC;MAClBF,IAAI,CAACW,SAAS,GAAGC,CAAC,CAAC;IACrB,CAAE;IACFC,UAAU,EAAGD,CAAC,IAAK;MACjBV,YAAY,CAAC,KAAK,CAAC;MACnBF,IAAI,CAACa,UAAU,GAAGD,CAAC,CAAC;IACtB,CAAE;IACFE,QAAQ,EAAEzB,UAAW;IACrBU,KAAK,EAAE,CACLE,aAAa,CAACc,IAAI,EAAEN,OAAO,EAC3BR,aAAa,CAACc,IAAI,GAAGxB,KAAK,CAAC,EAC3B;MAAEyB,MAAM,EAAE1B,WAAW,CAACC,KAAK;IAAE,CAAC,EAC9BQ,KAAK,CACL;IAAAkB,QAAA,eAEFhC,IAAA,CAACS,aAAa;MAAA,GAAKa;IAAS,CAAG;EAAC,CACvB,CAAC;AAEhB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { IconButton } from "./icon-button.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IconButton"],"sourceRoot":"../../../../src","sources":["components/icon-button/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAA8B,kBAAe","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/icon-button/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { hslaSetRelativeLightness } from "../../../utils/hsla-utils.js";
4
+ import { useThemedStyles } from "../../../utils/use-themed-styles.js";
5
+ export const useIconButtonVariantDefault = () => {
6
+ return useThemedStyles(({
7
+ colors,
8
+ radius
9
+ }) => ({
10
+ root: {
11
+ default: {
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ padding: 8,
15
+ borderRadius: radius,
16
+ backgroundColor: colors.primary,
17
+ borderWidth: 1,
18
+ borderColor: colors.border
19
+ },
20
+ disabled: {
21
+ opacity: 0.5
22
+ },
23
+ hovered: {
24
+ backgroundColor: hslaSetRelativeLightness(colors.primary, -10)
25
+ }
26
+ },
27
+ icon: {
28
+ default: {
29
+ color: colors.primaryForeground
30
+ }
31
+ }
32
+ }));
33
+ };
34
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hslaSetRelativeLightness","useThemedStyles","useIconButtonVariantDefault","colors","radius","root","default","alignItems","justifyContent","padding","borderRadius","backgroundColor","primary","borderWidth","borderColor","border","disabled","opacity","hovered","icon","color","primaryForeground"],"sourceRoot":"../../../../../src","sources":["components/icon-button/variants/default.tsx"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,8BAA2B;AACpE,SAASC,eAAe,QAAQ,qCAAkC;AAGlE,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAwB;EACjE,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC;EAAO,CAAC,MAAwB;IACzCC,IAAI,EAAE;MACJC,OAAO,EAAE;QACPC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,OAAO,EAAE,CAAC;QACVC,YAAY,EAAEN,MAAM;QACpBO,eAAe,EAAER,MAAM,CAACS,OAAO;QAC/BC,WAAW,EAAE,CAAC;QACdC,WAAW,EAAEX,MAAM,CAACY;MACtB,CAAC;MACDC,QAAQ,EAAE;QACRC,OAAO,EAAE;MACX,CAAC;MACDC,OAAO,EAAE;QACPP,eAAe,EAAEX,wBAAwB,CAACG,MAAM,CAACS,OAAO,EAAE,CAAC,EAAE;MAC/D;IACF,CAAC;IACDO,IAAI,EAAE;MACJb,OAAO,EAAE;QACPc,KAAK,EAAEjB,MAAM,CAACkB;MAChB;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import { hslaSetRelativeLightness } from "../../../utils/hsla-utils.js";
4
+ import { useThemedStyles } from "../../../utils/use-themed-styles.js";
5
+ export const useIconButtonVariantGhost = () => {
6
+ return useThemedStyles(({
7
+ colors,
8
+ radius
9
+ }) => ({
10
+ root: {
11
+ default: {
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ padding: 8,
15
+ borderRadius: radius,
16
+ backgroundColor: "transparent"
17
+ },
18
+ disabled: {
19
+ opacity: 0.5
20
+ },
21
+ hovered: {
22
+ backgroundColor: hslaSetRelativeLightness(colors.secondary, -1)
23
+ }
24
+ },
25
+ icon: {
26
+ default: {
27
+ color: colors.foreground
28
+ },
29
+ disabled: {
30
+ color: colors.mutedForeground
31
+ }
32
+ }
33
+ }));
34
+ };
35
+ //# sourceMappingURL=ghost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hslaSetRelativeLightness","useThemedStyles","useIconButtonVariantGhost","colors","radius","root","default","alignItems","justifyContent","padding","borderRadius","backgroundColor","disabled","opacity","hovered","secondary","icon","color","foreground","mutedForeground"],"sourceRoot":"../../../../../src","sources":["components/icon-button/variants/ghost.tsx"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,8BAA2B;AACpE,SAASC,eAAe,QAAQ,qCAAkC;AAGlE,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAwB;EAC/D,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC;EAAO,CAAC,MAAwB;IACzCC,IAAI,EAAE;MACJC,OAAO,EAAE;QACPC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,OAAO,EAAE,CAAC;QACVC,YAAY,EAAEN,MAAM;QACpBO,eAAe,EAAE;MACnB,CAAC;MACDC,QAAQ,EAAE;QACRC,OAAO,EAAE;MACX,CAAC;MACDC,OAAO,EAAE;QACPH,eAAe,EAAEX,wBAAwB,CAACG,MAAM,CAACY,SAAS,EAAE,CAAC,CAAC;MAChE;IACF,CAAC;IACDC,IAAI,EAAE;MACJV,OAAO,EAAE;QACPW,KAAK,EAAEd,MAAM,CAACe;MAChB,CAAC;MACDN,QAAQ,EAAE;QACRK,KAAK,EAAEd,MAAM,CAACgB;MAChB;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ import { useIconButtonVariantDefault } from "./default.js";
4
+ import { useIconButtonVariantGhost } from "./ghost.js";
5
+ import { useIconButtonVariantSecondary } from "./secondary.js";
6
+ export const IconButtonVariants = {
7
+ default: useIconButtonVariantDefault,
8
+ secondary: useIconButtonVariantSecondary,
9
+ ghost: useIconButtonVariantGhost
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useIconButtonVariantDefault","useIconButtonVariantGhost","useIconButtonVariantSecondary","IconButtonVariants","default","secondary","ghost"],"sourceRoot":"../../../../../src","sources":["components/icon-button/variants/index.ts"],"mappings":";;AAAA,SAASA,2BAA2B,QAAQ,cAAW;AACvD,SAASC,yBAAyB,QAAQ,YAAS;AACnD,SAASC,6BAA6B,QAAQ,gBAAa;AAE3D,OAAO,MAAMC,kBAAkB,GAAG;EAChCC,OAAO,EAAEJ,2BAA2B;EACpCK,SAAS,EAAEH,6BAA6B;EACxCI,KAAK,EAAEL;AACT,CAAC","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { hslaSetRelativeLightness } from "../../../utils/hsla-utils.js";
4
+ import { useThemedStyles } from "../../../utils/use-themed-styles.js";
5
+ export const useIconButtonVariantSecondary = () => {
6
+ return useThemedStyles(({
7
+ colors,
8
+ radius
9
+ }) => ({
10
+ root: {
11
+ default: {
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ padding: 8,
15
+ borderRadius: radius,
16
+ borderWidth: 1,
17
+ borderColor: colors.border,
18
+ backgroundColor: colors.secondary
19
+ },
20
+ disabled: {
21
+ opacity: 0.5
22
+ },
23
+ hovered: {
24
+ backgroundColor: hslaSetRelativeLightness(colors.secondary, -1)
25
+ }
26
+ },
27
+ icon: {
28
+ default: {
29
+ color: colors.secondaryForeground
30
+ },
31
+ disabled: {
32
+ color: colors.mutedForeground
33
+ }
34
+ }
35
+ }));
36
+ };
37
+ //# sourceMappingURL=secondary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hslaSetRelativeLightness","useThemedStyles","useIconButtonVariantSecondary","colors","radius","root","default","alignItems","justifyContent","padding","borderRadius","borderWidth","borderColor","border","backgroundColor","secondary","disabled","opacity","hovered","icon","color","secondaryForeground","mutedForeground"],"sourceRoot":"../../../../../src","sources":["components/icon-button/variants/secondary.tsx"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,8BAA2B;AACpE,SAASC,eAAe,QAAQ,qCAAkC;AAGlE,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAwB;EACnE,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC;EAAO,CAAC,MAAwB;IACzCC,IAAI,EAAE;MACJC,OAAO,EAAE;QACPC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,OAAO,EAAE,CAAC;QACVC,YAAY,EAAEN,MAAM;QACpBO,WAAW,EAAE,CAAC;QACdC,WAAW,EAAET,MAAM,CAACU,MAAM;QAC1BC,eAAe,EAAEX,MAAM,CAACY;MAC1B,CAAC;MACDC,QAAQ,EAAE;QACRC,OAAO,EAAE;MACX,CAAC;MACDC,OAAO,EAAE;QACPJ,eAAe,EAAEd,wBAAwB,CAACG,MAAM,CAACY,SAAS,EAAE,CAAC,CAAC;MAChE;IACF,CAAC;IACDI,IAAI,EAAE;MACJb,OAAO,EAAE;QACPc,KAAK,EAAEjB,MAAM,CAACkB;MAChB,CAAC;MACDL,QAAQ,EAAE;QACRI,KAAK,EAAEjB,MAAM,CAACmB;MAChB;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -11,6 +11,7 @@ export * from "./checkbox/index.js";
11
11
  export * from "./empty/index.js";
12
12
  export * from "./field/index.js";
13
13
  export * from "./icon/index.js";
14
+ export * from "./icon-button/index.js";
14
15
  export * from "./input/index.js";
15
16
  export * from "./link/index.js";
16
17
  export * from "./list/index.js";
@@ -21,6 +22,7 @@ export * from "./portal/index.js";
21
22
  export * from "./progress/index.js";
22
23
  export * from "./scroll-bar/index.js";
23
24
  export * from "./select/index.js";
25
+ export * from "./separator/index.js";
24
26
  export * from "./tabs/index.js";
25
27
  export * from "./textarea/index.js";
26
28
  export * from "./toast/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,kBAAS;AACvB,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,wBAAe;AAC7B,cAAc,oBAAW;AACzB,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,uBAAc;AAC5B,cAAc,mBAAU;AACxB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,kBAAS;AACvB,cAAc,sBAAa;AAC3B,cAAc,uBAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,kBAAS;AACvB,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,wBAAe;AAC7B,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,wBAAe;AAC7B,cAAc,oBAAW;AACzB,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,uBAAc;AAC5B,cAAc,mBAAU;AACxB,cAAc,sBAAa;AAC3B,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,kBAAS;AACvB,cAAc,sBAAa;AAC3B,cAAc,uBAAc","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useState } from "react";
4
- import { Pressable, Text } from "react-native";
4
+ import { Pressable } from "react-native";
5
5
  import { useMenu } from "../context.js";
6
6
  import { useOrganizedChildren } from "../use-organized-children.js";
7
+ import { MenuSelectionIndicator } from "./menu-selection-indicator.js";
7
8
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const calculateState = (isHovered, disabled) => {
9
10
  if (disabled) return "disabled";
@@ -42,9 +43,8 @@ export function MenuCheckboxItem(props) {
42
43
  disabled: props.disabled
43
44
  },
44
45
  style: composedStyle,
45
- children: [organizedChildren, /*#__PURE__*/_jsx(Text, {
46
- style: menu.styles?.checkboxIndicator,
47
- children: props.checked ? "✓" : " "
46
+ children: [organizedChildren, /*#__PURE__*/_jsx(MenuSelectionIndicator, {
47
+ isSelected: props.checked
48
48
  })]
49
49
  });
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Pressable","Text","useMenu","useOrganizedChildren","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","calculateState","isHovered","disabled","MenuCheckboxItem","props","menu","setIsHovered","state","composedStyle","styles","checkboxItem","default","style","handlePress","onCheckedChange","checked","closeOnPress","setIsOpen","organizedChildren","children","render","onPress","onPointerEnter","onPointerLeave","accessibilityRole","accessibilityState","checkboxIndicator"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-checkbox-item.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,EAAEC,IAAI,QAAwC,cAAc;AAC9E,SAASC,OAAO,QAAQ,eAAY;AAEpC,SAASC,oBAAoB,QAAQ,8BAA2B;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYjE,MAAMC,cAAc,GAAGA,CACrBC,SAAkB,EAClBC,QAAkB,KACQ;EAC1B,IAAIA,QAAQ,EAAE,OAAO,UAAU;EAC/B,IAAID,SAAS,EAAE,OAAO,SAAS;EAC/B,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASE,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D,MAAMC,IAAI,GAAGb,OAAO,CAAC,CAAC;EACtB,MAAM,CAACS,SAAS,EAAEK,YAAY,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMkB,KAAK,GAAGP,cAAc,CAACC,SAAS,EAAEG,KAAK,CAACF,QAAQ,CAAC;EAEvD,MAAMM,aAAa,GAAG,CACpBH,IAAI,CAACI,MAAM,EAAEC,YAAY,EAAEC,OAAO,EAClCN,IAAI,CAACI,MAAM,EAAEC,YAAY,GAAGH,KAAK,CAAC,EAClCH,KAAK,CAACQ,KAAK,CACZ;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIT,KAAK,CAACF,QAAQ,EAAE;IACpBE,KAAK,CAACU,eAAe,CAAC,CAACV,KAAK,CAACW,OAAO,CAAC;IACrC,IAAIX,KAAK,CAACY,YAAY,EAAE;MACtBX,IAAI,CAACY,SAAS,CAAC,KAAK,CAAC;IACvB;EACF,CAAC;EAED,MAAMC,iBAAiB,GAAGzB,oBAAoB,CAACW,KAAK,CAACe,QAAQ,CAAC;EAE9D,IAAIf,KAAK,CAACgB,MAAM,EAAE;IAChB,oBACEvB,IAAA,CAAAF,SAAA;MAAAwB,QAAA,EACGf,KAAK,CAACgB,MAAM,CAAC;QACZ,GAAGhB,KAAK;QACRe,QAAQ,EAAED;MACZ,CAAC;IAAC,CACF,CAAC;EAEP;EAEA,oBACEnB,KAAA,CAACT,SAAS;IACR+B,OAAO,EAAER,WAAY;IACrBS,cAAc,EAAEA,CAAA,KAAMhB,YAAY,CAAC,IAAI,CAAE;IACzCiB,cAAc,EAAEA,CAAA,KAAMjB,YAAY,CAAC,KAAK,CAAE;IAC1CJ,QAAQ,EAAEE,KAAK,CAACF,QAAS;IACzBsB,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEV,OAAO,EAAEX,KAAK,CAACW,OAAO;MAAEb,QAAQ,EAAEE,KAAK,CAACF;IAAS,CAAE;IACzEU,KAAK,EAAEJ,aAAc;IAAAW,QAAA,GAEpBD,iBAAiB,eAClBrB,IAAA,CAACN,IAAI;MAACqB,KAAK,EAAEP,IAAI,CAACI,MAAM,EAAEiB,iBAAkB;MAAAP,QAAA,EACzCf,KAAK,CAACW,OAAO,GAAG,GAAG,GAAG;IAAG,CACtB,CAAC;EAAA,CACE,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","Pressable","useMenu","useOrganizedChildren","MenuSelectionIndicator","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","calculateState","isHovered","disabled","MenuCheckboxItem","props","menu","setIsHovered","state","composedStyle","styles","checkboxItem","default","style","handlePress","onCheckedChange","checked","closeOnPress","setIsOpen","organizedChildren","children","render","onPress","onPointerEnter","onPointerLeave","accessibilityRole","accessibilityState","isSelected"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-checkbox-item.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,QAAwC,cAAc;AACxE,SAASC,OAAO,QAAQ,eAAY;AAEpC,SAASC,oBAAoB,QAAQ,8BAA2B;AAChE,SAASC,sBAAsB,QAAQ,+BAA4B;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYpE,MAAMC,cAAc,GAAGA,CACrBC,SAAkB,EAClBC,QAAkB,KACQ;EAC1B,IAAIA,QAAQ,EAAE,OAAO,UAAU;EAC/B,IAAID,SAAS,EAAE,OAAO,SAAS;EAC/B,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASE,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D,MAAMC,IAAI,GAAGd,OAAO,CAAC,CAAC;EACtB,MAAM,CAACU,SAAS,EAAEK,YAAY,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMkB,KAAK,GAAGP,cAAc,CAACC,SAAS,EAAEG,KAAK,CAACF,QAAQ,CAAC;EAEvD,MAAMM,aAAa,GAAG,CACpBH,IAAI,CAACI,MAAM,EAAEC,YAAY,EAAEC,OAAO,EAClCN,IAAI,CAACI,MAAM,EAAEC,YAAY,GAAGH,KAAK,CAAC,EAClCH,KAAK,CAACQ,KAAK,CACZ;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIT,KAAK,CAACF,QAAQ,EAAE;IACpBE,KAAK,CAACU,eAAe,CAAC,CAACV,KAAK,CAACW,OAAO,CAAC;IACrC,IAAIX,KAAK,CAACY,YAAY,EAAE;MACtBX,IAAI,CAACY,SAAS,CAAC,KAAK,CAAC;IACvB;EACF,CAAC;EAED,MAAMC,iBAAiB,GAAG1B,oBAAoB,CAACY,KAAK,CAACe,QAAQ,CAAC;EAE9D,IAAIf,KAAK,CAACgB,MAAM,EAAE;IAChB,oBACEvB,IAAA,CAAAF,SAAA;MAAAwB,QAAA,EACGf,KAAK,CAACgB,MAAM,CAAC;QACZ,GAAGhB,KAAK;QACRe,QAAQ,EAAED;MACZ,CAAC;IAAC,CACF,CAAC;EAEP;EAEA,oBACEnB,KAAA,CAACT,SAAS;IACR+B,OAAO,EAAER,WAAY;IACrBS,cAAc,EAAEA,CAAA,KAAMhB,YAAY,CAAC,IAAI,CAAE;IACzCiB,cAAc,EAAEA,CAAA,KAAMjB,YAAY,CAAC,KAAK,CAAE;IAC1CJ,QAAQ,EAAEE,KAAK,CAACF,QAAS;IACzBsB,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEV,OAAO,EAAEX,KAAK,CAACW,OAAO;MAAEb,QAAQ,EAAEE,KAAK,CAACF;IAAS,CAAE;IACzEU,KAAK,EAAEJ,aAAc;IAAAW,QAAA,GAEpBD,iBAAiB,eAClBrB,IAAA,CAACJ,sBAAsB;MAACiC,UAAU,EAAEtB,KAAK,CAACW;IAAQ,CAAE,CAAC;EAAA,CAC5C,CAAC;AAEhB","ignoreList":[]}
@@ -13,7 +13,7 @@ export function MenuContent(props) {
13
13
  contentLayout: menu.contentLayout,
14
14
  alignOffset: 0,
15
15
  preferredSide: "bottom",
16
- sideOffset: 0
16
+ sideOffset: 2
17
17
  });
18
18
  const composedStyle = [positionStyle, menu.styles?.content, props.style];
19
19
  const Component = props.render ?? View;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useState } from "react";
4
- import { Pressable, View } from "react-native";
4
+ import { Pressable } from "react-native";
5
5
  import { useMenu, useMenuRadioGroup } from "../context.js";
6
6
  import { useOrganizedChildren } from "../use-organized-children.js";
7
+ import { MenuSelectionIndicator } from "./menu-selection-indicator.js";
7
8
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const calculateState = (isHovered, isSelected, disabled) => {
9
10
  if (disabled) return "disabled";
@@ -18,7 +19,6 @@ export function MenuRadioItem(props) {
18
19
  const isSelected = radioGroup.value === props.value;
19
20
  const state = calculateState(isHovered, isSelected, props.disabled);
20
21
  const composedStyle = [menu.styles?.radioItem?.default, menu.styles?.radioItem?.[state], props.style];
21
- const indicatorStyle = [menu.styles?.radioIndicator?.default, isSelected ? menu.styles?.radioIndicator?.selected : undefined];
22
22
  const handlePress = () => {
23
23
  if (props.disabled) return;
24
24
  radioGroup.onValueChange(props.value);
@@ -46,8 +46,8 @@ export function MenuRadioItem(props) {
46
46
  disabled: props.disabled
47
47
  },
48
48
  style: composedStyle,
49
- children: [organizedChildren, /*#__PURE__*/_jsx(View, {
50
- style: indicatorStyle
49
+ children: [organizedChildren, /*#__PURE__*/_jsx(MenuSelectionIndicator, {
50
+ isSelected: isSelected
51
51
  })]
52
52
  });
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Pressable","View","useMenu","useMenuRadioGroup","useOrganizedChildren","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","calculateState","isHovered","isSelected","disabled","MenuRadioItem","props","menu","radioGroup","setIsHovered","value","state","composedStyle","styles","radioItem","default","style","indicatorStyle","radioIndicator","selected","undefined","handlePress","onValueChange","closeOnPress","setIsOpen","organizedChildren","children","render","onPress","onPointerEnter","onPointerLeave","accessibilityRole","accessibilityState","checked"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-radio-item.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,EAAEC,IAAI,QAAwC,cAAc;AAC9E,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,eAAY;AAEvD,SAASC,oBAAoB,QAAQ,8BAA2B;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWjE,MAAMC,cAAc,GAAGA,CACrBC,SAAkB,EAClBC,UAAmB,EACnBC,QAAkB,KACK;EACvB,IAAIA,QAAQ,EAAE,OAAO,UAAU;EAC/B,IAAID,UAAU,EAAE,OAAO,UAAU;EACjC,IAAID,SAAS,EAAE,OAAO,SAAS;EAC/B,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASG,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,IAAI,GAAGf,OAAO,CAAC,CAAC;EACtB,MAAMgB,UAAU,GAAGf,iBAAiB,CAAC,CAAC;EACtC,MAAM,CAACS,SAAS,EAAEO,YAAY,CAAC,GAAGpB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMc,UAAU,GAAGK,UAAU,CAACE,KAAK,KAAKJ,KAAK,CAACI,KAAK;EACnD,MAAMC,KAAK,GAAGV,cAAc,CAACC,SAAS,EAAEC,UAAU,EAAEG,KAAK,CAACF,QAAQ,CAAC;EAEnE,MAAMQ,aAAa,GAAG,CACpBL,IAAI,CAACM,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAC/BR,IAAI,CAACM,MAAM,EAAEC,SAAS,GAAGH,KAAK,CAAC,EAC/BL,KAAK,CAACU,KAAK,CACZ;EAED,MAAMC,cAAc,GAAG,CACrBV,IAAI,CAACM,MAAM,EAAEK,cAAc,EAAEH,OAAO,EACpCZ,UAAU,GAAGI,IAAI,CAACM,MAAM,EAAEK,cAAc,EAAEC,QAAQ,GAAGC,SAAS,CAC/D;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIf,KAAK,CAACF,QAAQ,EAAE;IACpBI,UAAU,CAACc,aAAa,CAAChB,KAAK,CAACI,KAAK,CAAC;IACrC,IAAIJ,KAAK,CAACiB,YAAY,EAAE;MACtBhB,IAAI,CAACiB,SAAS,CAAC,KAAK,CAAC;IACvB;EACF,CAAC;EAED,MAAMC,iBAAiB,GAAG/B,oBAAoB,CAACY,KAAK,CAACoB,QAAQ,CAAC;EAE9D,IAAIpB,KAAK,CAACqB,MAAM,EAAE;IAChB,oBACE7B,IAAA,CAAAF,SAAA;MAAA8B,QAAA,EACGpB,KAAK,CAACqB,MAAM,CAAC;QACZ,GAAGrB,KAAK;QACRoB,QAAQ,EAAED;MACZ,CAAC;IAAC,CACF,CAAC;EAEP;EAEA,oBACEzB,KAAA,CAACV,SAAS;IACRsC,OAAO,EAAEP,WAAY;IACrBQ,cAAc,EAAEA,CAAA,KAAMpB,YAAY,CAAC,IAAI,CAAE;IACzCqB,cAAc,EAAEA,CAAA,KAAMrB,YAAY,CAAC,KAAK,CAAE;IAC1CL,QAAQ,EAAEE,KAAK,CAACF,QAAS;IACzB2B,iBAAiB,EAAC,OAAO;IACzBC,kBAAkB,EAAE;MAAEC,OAAO,EAAE9B,UAAU;MAAEC,QAAQ,EAAEE,KAAK,CAACF;IAAS,CAAE;IACtEY,KAAK,EAAEJ,aAAc;IAAAc,QAAA,GAEpBD,iBAAiB,eAClB3B,IAAA,CAACP,IAAI;MAACyB,KAAK,EAAEC;IAAe,CAAE,CAAC;EAAA,CACtB,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","Pressable","useMenu","useMenuRadioGroup","useOrganizedChildren","MenuSelectionIndicator","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","calculateState","isHovered","isSelected","disabled","MenuRadioItem","props","menu","radioGroup","setIsHovered","value","state","composedStyle","styles","radioItem","default","style","handlePress","onValueChange","closeOnPress","setIsOpen","organizedChildren","children","render","onPress","onPointerEnter","onPointerLeave","accessibilityRole","accessibilityState","checked"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-radio-item.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,QAAwC,cAAc;AACxE,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,eAAY;AAEvD,SAASC,oBAAoB,QAAQ,8BAA2B;AAChE,SAASC,sBAAsB,QAAQ,+BAA4B;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWpE,MAAMC,cAAc,GAAGA,CACrBC,SAAkB,EAClBC,UAAmB,EACnBC,QAAkB,KACK;EACvB,IAAIA,QAAQ,EAAE,OAAO,UAAU;EAC/B,IAAID,UAAU,EAAE,OAAO,UAAU;EACjC,IAAID,SAAS,EAAE,OAAO,SAAS;EAC/B,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASG,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,IAAI,GAAGhB,OAAO,CAAC,CAAC;EACtB,MAAMiB,UAAU,GAAGhB,iBAAiB,CAAC,CAAC;EACtC,MAAM,CAACU,SAAS,EAAEO,YAAY,CAAC,GAAGpB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMc,UAAU,GAAGK,UAAU,CAACE,KAAK,KAAKJ,KAAK,CAACI,KAAK;EACnD,MAAMC,KAAK,GAAGV,cAAc,CAACC,SAAS,EAAEC,UAAU,EAAEG,KAAK,CAACF,QAAQ,CAAC;EAEnE,MAAMQ,aAAa,GAAG,CACpBL,IAAI,CAACM,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAC/BR,IAAI,CAACM,MAAM,EAAEC,SAAS,GAAGH,KAAK,CAAC,EAC/BL,KAAK,CAACU,KAAK,CACZ;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIX,KAAK,CAACF,QAAQ,EAAE;IACpBI,UAAU,CAACU,aAAa,CAACZ,KAAK,CAACI,KAAK,CAAC;IACrC,IAAIJ,KAAK,CAACa,YAAY,EAAE;MACtBZ,IAAI,CAACa,SAAS,CAAC,KAAK,CAAC;IACvB;EACF,CAAC;EAED,MAAMC,iBAAiB,GAAG5B,oBAAoB,CAACa,KAAK,CAACgB,QAAQ,CAAC;EAE9D,IAAIhB,KAAK,CAACiB,MAAM,EAAE;IAChB,oBACEzB,IAAA,CAAAF,SAAA;MAAA0B,QAAA,EACGhB,KAAK,CAACiB,MAAM,CAAC;QACZ,GAAGjB,KAAK;QACRgB,QAAQ,EAAED;MACZ,CAAC;IAAC,CACF,CAAC;EAEP;EAEA,oBACErB,KAAA,CAACV,SAAS;IACRkC,OAAO,EAAEP,WAAY;IACrBQ,cAAc,EAAEA,CAAA,KAAMhB,YAAY,CAAC,IAAI,CAAE;IACzCiB,cAAc,EAAEA,CAAA,KAAMjB,YAAY,CAAC,KAAK,CAAE;IAC1CL,QAAQ,EAAEE,KAAK,CAACF,QAAS;IACzBuB,iBAAiB,EAAC,OAAO;IACzBC,kBAAkB,EAAE;MAAEC,OAAO,EAAE1B,UAAU;MAAEC,QAAQ,EAAEE,KAAK,CAACF;IAAS,CAAE;IACtEY,KAAK,EAAEJ,aAAc;IAAAU,QAAA,GAEpBD,iBAAiB,eAClBvB,IAAA,CAACJ,sBAAsB;MAACS,UAAU,EAAEA;IAAW,CAAE,CAAC;EAAA,CACzC,CAAC;AAEhB","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import React from "react";
4
+ import { Text, View } from "react-native";
5
+ import { useComponentsConfig } from "../../../themes/index.js";
6
+ import { useMenu } from "../context.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export function MenuSelectionIndicator({
9
+ isSelected
10
+ }) {
11
+ const config = useComponentsConfig();
12
+ const menu = useMenu();
13
+ const SelectionIcon = config?.menu?.selectionIcon;
14
+ if (!isSelected) {
15
+ return /*#__PURE__*/_jsx(View, {
16
+ style: menu.styles?.selectionIndicator
17
+ });
18
+ }
19
+ if (SelectionIcon) {
20
+ return /*#__PURE__*/_jsx(SelectionIcon, {
21
+ ...menu.styles?.selectionIndicator
22
+ });
23
+ }
24
+ return /*#__PURE__*/_jsx(Text, {
25
+ style: menu.styles?.selectionIndicator,
26
+ children: "\u2713"
27
+ });
28
+ }
29
+ //# sourceMappingURL=menu-selection-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","View","useComponentsConfig","useMenu","jsx","_jsx","MenuSelectionIndicator","isSelected","config","menu","SelectionIcon","selectionIcon","style","styles","selectionIndicator","children"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-selection-indicator.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,mBAAmB,QAAQ,0BAAiB;AACrD,SAASC,OAAO,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMrC,OAAO,SAASC,sBAAsBA,CAAC;EACrCC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,MAAM,GAAGN,mBAAmB,CAAC,CAAC;EACpC,MAAMO,IAAI,GAAGN,OAAO,CAAC,CAAC;EACtB,MAAMO,aAAa,GAAGF,MAAM,EAAEC,IAAI,EAAEE,aAAa;EAEjD,IAAI,CAACJ,UAAU,EAAE;IACf,oBAAOF,IAAA,CAACJ,IAAI;MAACW,KAAK,EAAEH,IAAI,CAACI,MAAM,EAAEC;IAAmB,CAAE,CAAC;EACzD;EAEA,IAAIJ,aAAa,EAAE;IACjB,oBAAOL,IAAA,CAACK,aAAa;MAAA,GAAKD,IAAI,CAACI,MAAM,EAAEC;IAAkB,CAAG,CAAC;EAC/D;EAEA,oBAAOT,IAAA,CAACL,IAAI;IAACY,KAAK,EAAEH,IAAI,CAACI,MAAM,EAAEC,kBAAmB;IAAAC,QAAA,EAAC;EAAC,CAAM,CAAC;AAC/D","ignoreList":[]}
@@ -74,13 +74,16 @@ export const useMenuVariantDefault = () => {
74
74
  opacity: 0.5
75
75
  }
76
76
  },
77
- checkboxIndicator: {
78
- fontSize: fontSize * 0.75,
79
- fontWeight: "bold",
77
+ selectionIndicator: {
80
78
  color: colors.foreground,
79
+ fontSize: fontSize,
81
80
  width: fontSize,
82
- textAlign: "center",
83
- marginLeft: "auto"
81
+ size: fontSize,
82
+ strokeWidth: 2,
83
+ marginLeft: "auto",
84
+ style: {
85
+ marginLeft: "auto"
86
+ }
84
87
  },
85
88
  radioItem: {
86
89
  default: {
@@ -97,18 +100,6 @@ export const useMenuVariantDefault = () => {
97
100
  opacity: 0.5
98
101
  }
99
102
  },
100
- radioIndicator: {
101
- default: {
102
- width: 8,
103
- height: 8,
104
- borderRadius: 4,
105
- backgroundColor: "transparent",
106
- marginLeft: "auto"
107
- },
108
- selected: {
109
- backgroundColor: colors.foreground
110
- }
111
- },
112
103
  shortcut: {
113
104
  fontSize: fontSize * 0.75,
114
105
  fontFamily: fontFamily,
@@ -1 +1 @@
1
- {"version":3,"names":["useThemedStyles","useMenuVariantDefault","colors","radius","fontFamily","fontSize","overlay","content","overflow","backgroundColor","surface","borderRadius","borderWidth","borderColor","border","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","item","default","flexDirection","alignItems","paddingVertical","paddingHorizontal","gap","hovered","muted","itemText","color","foreground","itemIcon","size","label","fontWeight","mutedForeground","separator","marginVertical","marginHorizontal","checkboxItem","disabled","opacity","checkboxIndicator","textAlign","marginLeft","radioItem","radioIndicator","selected","shortcut"],"sourceRoot":"../../../../../src","sources":["components/menu/variants/default.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useThemedStyles","useMenuVariantDefault","colors","radius","fontFamily","fontSize","overlay","content","overflow","backgroundColor","surface","borderRadius","borderWidth","borderColor","border","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","item","default","flexDirection","alignItems","paddingVertical","paddingHorizontal","gap","hovered","muted","itemText","color","foreground","itemIcon","size","label","fontWeight","mutedForeground","separator","marginVertical","marginHorizontal","checkboxItem","disabled","opacity","selectionIndicator","strokeWidth","marginLeft","style","radioItem","shortcut"],"sourceRoot":"../../../../../src","sources":["components/menu/variants/default.tsx"],"mappings":"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","ignoreList":[]}
@@ -45,7 +45,7 @@ export function CountryPicker() {
45
45
  contentLayout,
46
46
  alignOffset: 0,
47
47
  preferredSide: "bottom",
48
- sideOffset: 4
48
+ sideOffset: 2
49
49
  });
50
50
  const countryButtonStyles = StyleSheet.flatten([styles.countryButton?.default, styles.countryButton?.[state]]);
51
51
  const countryButtonTextStyles = StyleSheet.flatten([styles.countryButtonText?.default, styles.countryButtonText?.[state]]);
@@ -1,22 +1,19 @@
1
1
  "use strict";
2
2
 
3
- import { useRelativePosition } from "../../../hooks/use-relative-position.js";
4
- import { useSafeAreaInsets } from "../../../safe-area/index.js";
5
3
  import React from "react";
6
4
  import { View } from "react-native";
5
+ import { useRelativePosition } from "../../../hooks/use-relative-position.js";
7
6
  import { usePopover } from "../context.js";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  export function PopoverContent(props) {
10
9
  const popover = usePopover();
11
- const insets = useSafeAreaInsets();
12
10
  const positionStyle = useRelativePosition({
13
11
  align: "start",
14
12
  triggerPosition: popover.triggerPosition,
15
13
  contentLayout: popover.contentLayout,
16
14
  alignOffset: 0,
17
15
  preferredSide: "bottom",
18
- sideOffset: 0,
19
- insets
16
+ sideOffset: 0
20
17
  });
21
18
  const composedStyle = [positionStyle, popover.styles?.content, props.style];
22
19
  const Component = props.render ?? View;
@@ -1 +1 @@
1
- {"version":3,"names":["useRelativePosition","useSafeAreaInsets","React","View","usePopover","jsx","_jsx","PopoverContent","props","popover","insets","positionStyle","align","triggerPosition","contentLayout","alignOffset","preferredSide","sideOffset","composedStyle","styles","content","style","Component","render","onLayout","e","setContentLayout","nativeEvent","layout","pointerEvents"],"sourceRoot":"../../../../../src","sources":["components/popover/components/popover-content.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yCAAsC;AAC1E,SAASC,iBAAiB,QAAQ,6BAAoB;AACtD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,UAAU,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUxC,OAAO,SAASC,cAAcA,CAACC,KAA0B,EAAE;EACzD,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAMM,MAAM,GAAGT,iBAAiB,CAAC,CAAC;EAElC,MAAMU,aAAa,GAAGX,mBAAmB,CAAC;IACxCY,KAAK,EAAE,OAAO;IACdC,eAAe,EAAEJ,OAAO,CAACI,eAAe;IACxCC,aAAa,EAAEL,OAAO,CAACK,aAAa;IACpCC,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,QAAQ;IACvBC,UAAU,EAAE,CAAC;IACbP;EACF,CAAC,CAAC;EAEF,MAAMQ,aAAa,GAAG,CAACP,aAAa,EAAEF,OAAO,CAACU,MAAM,EAAEC,OAAO,EAAEZ,KAAK,CAACa,KAAK,CAAC;EAE3E,MAAMC,SAAS,GAAGd,KAAK,CAACe,MAAM,IAAIpB,IAAI;EACtC,oBACEG,IAAA,CAACgB,SAAS;IAAA,GACJd,KAAK;IACTgB,QAAQ,EAAGC,CAAC,IAAK;MACfhB,OAAO,CAACiB,gBAAgB,CAACD,CAAC,CAACE,WAAW,CAACC,MAAM,CAAC;IAChD,CAAE;IACFC,aAAa,EAAC,UAAU;IACxBR,KAAK,EAAEH;EAAc,CACtB,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["React","View","useRelativePosition","usePopover","jsx","_jsx","PopoverContent","props","popover","positionStyle","align","triggerPosition","contentLayout","alignOffset","preferredSide","sideOffset","composedStyle","styles","content","style","Component","render","onLayout","e","setContentLayout","nativeEvent","layout","pointerEvents"],"sourceRoot":"../../../../../src","sources":["components/popover/components/popover-content.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,mBAAmB,QAAQ,yCAAsC;AAC1E,SAASC,UAAU,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUxC,OAAO,SAASC,cAAcA,CAACC,KAA0B,EAAE;EACzD,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAE5B,MAAMM,aAAa,GAAGP,mBAAmB,CAAC;IACxCQ,KAAK,EAAE,OAAO;IACdC,eAAe,EAAEH,OAAO,CAACG,eAAe;IACxCC,aAAa,EAAEJ,OAAO,CAACI,aAAa;IACpCC,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,QAAQ;IACvBC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAG,CAACP,aAAa,EAAED,OAAO,CAACS,MAAM,EAAEC,OAAO,EAAEX,KAAK,CAACY,KAAK,CAAC;EAE3E,MAAMC,SAAS,GAAGb,KAAK,CAACc,MAAM,IAAIpB,IAAI;EACtC,oBACEI,IAAA,CAACe,SAAS;IAAA,GACJb,KAAK;IACTe,QAAQ,EAAGC,CAAC,IAAK;MACff,OAAO,CAACgB,gBAAgB,CAACD,CAAC,CAACE,WAAW,CAACC,MAAM,CAAC;IAChD,CAAE;IACFC,aAAa,EAAC,UAAU;IACxBR,KAAK,EAAEH;EAAc,CACtB,CAAC;AAEN","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  export * from "./portal";
4
+ export * from "./portal-offset.js";
4
5
  export * from "./portal.constants.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/portal/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,uBAAoB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/portal/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,oBAAiB;AAC/B,cAAc,uBAAoB","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from "react";
4
+ // null means the offset is not measure yet but will be
5
+ // undefined means the offset is not available and will never be (e.g. on web or ios when FullWindowOverlay is used)
6
+ export const PortalOffsetContext = /*#__PURE__*/createContext(undefined);
7
+ export function usePortalOffset() {
8
+ const value = useContext(PortalOffsetContext);
9
+ if (value === undefined) {
10
+ return {
11
+ value: {
12
+ x: 0,
13
+ y: 0
14
+ },
15
+ isLoaded: true
16
+ };
17
+ }
18
+ if (value === null) {
19
+ return {
20
+ value: {
21
+ x: 0,
22
+ y: 0
23
+ },
24
+ isLoaded: false
25
+ };
26
+ }
27
+ return {
28
+ value,
29
+ isLoaded: true
30
+ };
31
+ }
32
+ //# sourceMappingURL=portal-offset.js.map