@cdx-ui/primitives 0.0.1-alpha.21 → 0.0.1-alpha.23

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 (126) hide show
  1. package/lib/commonjs/dialog/context.js +11 -0
  2. package/lib/commonjs/dialog/context.js.map +1 -0
  3. package/lib/commonjs/dialog/createDialogBody.js +21 -0
  4. package/lib/commonjs/dialog/createDialogBody.js.map +1 -0
  5. package/lib/commonjs/dialog/createDialogClose.js +37 -0
  6. package/lib/commonjs/dialog/createDialogClose.js.map +1 -0
  7. package/lib/commonjs/dialog/createDialogContent.js +141 -0
  8. package/lib/commonjs/dialog/createDialogContent.js.map +1 -0
  9. package/lib/commonjs/dialog/createDialogDescription.js +30 -0
  10. package/lib/commonjs/dialog/createDialogDescription.js.map +1 -0
  11. package/lib/commonjs/dialog/createDialogFooter.js +21 -0
  12. package/lib/commonjs/dialog/createDialogFooter.js.map +1 -0
  13. package/lib/commonjs/dialog/createDialogHeader.js +21 -0
  14. package/lib/commonjs/dialog/createDialogHeader.js.map +1 -0
  15. package/lib/commonjs/dialog/createDialogRoot.js +54 -0
  16. package/lib/commonjs/dialog/createDialogRoot.js.map +1 -0
  17. package/lib/commonjs/dialog/createDialogTitle.js +21 -0
  18. package/lib/commonjs/dialog/createDialogTitle.js.map +1 -0
  19. package/lib/commonjs/dialog/createDialogTrigger.js +37 -0
  20. package/lib/commonjs/dialog/createDialogTrigger.js.map +1 -0
  21. package/lib/commonjs/dialog/index.js +60 -0
  22. package/lib/commonjs/dialog/index.js.map +1 -0
  23. package/lib/commonjs/dialog/types.js +6 -0
  24. package/lib/commonjs/dialog/types.js.map +1 -0
  25. package/lib/commonjs/index.js +12 -0
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/overlay/OverlayContainer.js +3 -8
  28. package/lib/commonjs/overlay/OverlayContainer.js.map +1 -1
  29. package/lib/commonjs/overlay/index.js +7 -0
  30. package/lib/commonjs/overlay/index.js.map +1 -1
  31. package/lib/commonjs/overlay/useEscapeKey.js +14 -0
  32. package/lib/commonjs/overlay/useEscapeKey.js.map +1 -0
  33. package/lib/commonjs/overlay/useEscapeKey.web.js +30 -0
  34. package/lib/commonjs/overlay/useEscapeKey.web.js.map +1 -0
  35. package/lib/commonjs/utils/createPortal.js +23 -0
  36. package/lib/commonjs/utils/createPortal.js.map +1 -0
  37. package/lib/module/dialog/context.js +5 -0
  38. package/lib/module/dialog/context.js.map +1 -0
  39. package/lib/module/dialog/createDialogBody.js +15 -0
  40. package/lib/module/dialog/createDialogBody.js.map +1 -0
  41. package/lib/module/dialog/createDialogClose.js +31 -0
  42. package/lib/module/dialog/createDialogClose.js.map +1 -0
  43. package/lib/module/dialog/createDialogContent.js +136 -0
  44. package/lib/module/dialog/createDialogContent.js.map +1 -0
  45. package/lib/module/dialog/createDialogDescription.js +24 -0
  46. package/lib/module/dialog/createDialogDescription.js.map +1 -0
  47. package/lib/module/dialog/createDialogFooter.js +15 -0
  48. package/lib/module/dialog/createDialogFooter.js.map +1 -0
  49. package/lib/module/dialog/createDialogHeader.js +15 -0
  50. package/lib/module/dialog/createDialogHeader.js.map +1 -0
  51. package/lib/module/dialog/createDialogRoot.js +49 -0
  52. package/lib/module/dialog/createDialogRoot.js.map +1 -0
  53. package/lib/module/dialog/createDialogTitle.js +15 -0
  54. package/lib/module/dialog/createDialogTitle.js.map +1 -0
  55. package/lib/module/dialog/createDialogTrigger.js +31 -0
  56. package/lib/module/dialog/createDialogTrigger.js.map +1 -0
  57. package/lib/module/dialog/index.js +45 -0
  58. package/lib/module/dialog/index.js.map +1 -0
  59. package/lib/module/dialog/types.js +4 -0
  60. package/lib/module/dialog/types.js.map +1 -0
  61. package/lib/module/index.js +1 -0
  62. package/lib/module/index.js.map +1 -1
  63. package/lib/module/overlay/OverlayContainer.js +1 -6
  64. package/lib/module/overlay/OverlayContainer.js.map +1 -1
  65. package/lib/module/overlay/index.js +1 -0
  66. package/lib/module/overlay/index.js.map +1 -1
  67. package/lib/module/overlay/useEscapeKey.js +10 -0
  68. package/lib/module/overlay/useEscapeKey.js.map +1 -0
  69. package/lib/module/overlay/useEscapeKey.web.js +27 -0
  70. package/lib/module/overlay/useEscapeKey.web.js.map +1 -0
  71. package/lib/module/utils/createPortal.js +19 -0
  72. package/lib/module/utils/createPortal.js.map +1 -0
  73. package/lib/typescript/dialog/context.d.ts +6 -0
  74. package/lib/typescript/dialog/context.d.ts.map +1 -0
  75. package/lib/typescript/dialog/createDialogBody.d.ts +4 -0
  76. package/lib/typescript/dialog/createDialogBody.d.ts.map +1 -0
  77. package/lib/typescript/dialog/createDialogClose.d.ts +4 -0
  78. package/lib/typescript/dialog/createDialogClose.d.ts.map +1 -0
  79. package/lib/typescript/dialog/createDialogContent.d.ts +4 -0
  80. package/lib/typescript/dialog/createDialogContent.d.ts.map +1 -0
  81. package/lib/typescript/dialog/createDialogDescription.d.ts +4 -0
  82. package/lib/typescript/dialog/createDialogDescription.d.ts.map +1 -0
  83. package/lib/typescript/dialog/createDialogFooter.d.ts +4 -0
  84. package/lib/typescript/dialog/createDialogFooter.d.ts.map +1 -0
  85. package/lib/typescript/dialog/createDialogHeader.d.ts +4 -0
  86. package/lib/typescript/dialog/createDialogHeader.d.ts.map +1 -0
  87. package/lib/typescript/dialog/createDialogRoot.d.ts +4 -0
  88. package/lib/typescript/dialog/createDialogRoot.d.ts.map +1 -0
  89. package/lib/typescript/dialog/createDialogTitle.d.ts +4 -0
  90. package/lib/typescript/dialog/createDialogTitle.d.ts.map +1 -0
  91. package/lib/typescript/dialog/createDialogTrigger.d.ts +4 -0
  92. package/lib/typescript/dialog/createDialogTrigger.d.ts.map +1 -0
  93. package/lib/typescript/dialog/index.d.ts +18 -0
  94. package/lib/typescript/dialog/index.d.ts.map +1 -0
  95. package/lib/typescript/dialog/types.d.ts +52 -0
  96. package/lib/typescript/dialog/types.d.ts.map +1 -0
  97. package/lib/typescript/index.d.ts +1 -0
  98. package/lib/typescript/index.d.ts.map +1 -1
  99. package/lib/typescript/overlay/OverlayContainer.d.ts.map +1 -1
  100. package/lib/typescript/overlay/index.d.ts +1 -0
  101. package/lib/typescript/overlay/index.d.ts.map +1 -1
  102. package/lib/typescript/overlay/useEscapeKey.d.ts +6 -0
  103. package/lib/typescript/overlay/useEscapeKey.d.ts.map +1 -0
  104. package/lib/typescript/overlay/useEscapeKey.web.d.ts +6 -0
  105. package/lib/typescript/overlay/useEscapeKey.web.d.ts.map +1 -0
  106. package/lib/typescript/utils/createPortal.d.ts +11 -0
  107. package/lib/typescript/utils/createPortal.d.ts.map +1 -0
  108. package/package.json +2 -2
  109. package/src/dialog/context.tsx +4 -0
  110. package/src/dialog/createDialogBody.tsx +11 -0
  111. package/src/dialog/createDialogClose.tsx +27 -0
  112. package/src/dialog/createDialogContent.tsx +122 -0
  113. package/src/dialog/createDialogDescription.tsx +20 -0
  114. package/src/dialog/createDialogFooter.tsx +11 -0
  115. package/src/dialog/createDialogHeader.tsx +11 -0
  116. package/src/dialog/createDialogRoot.tsx +66 -0
  117. package/src/dialog/createDialogTitle.tsx +11 -0
  118. package/src/dialog/createDialogTrigger.tsx +27 -0
  119. package/src/dialog/index.tsx +93 -0
  120. package/src/dialog/types.ts +88 -0
  121. package/src/index.ts +1 -0
  122. package/src/overlay/OverlayContainer.tsx +2 -10
  123. package/src/overlay/index.ts +1 -0
  124. package/src/overlay/useEscapeKey.ts +7 -0
  125. package/src/overlay/useEscapeKey.web.ts +27 -0
  126. package/src/utils/createPortal.ts +20 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_jsxRuntime","e","__esModule","default","createPortalFn","Platform","OS","createPortal","OverlayContainer","onDismiss","entering","exiting","style","children","jsx","View","position","zIndex","document","body","jsxs","Modal","visible","transparent","animationType","statusBarTranslucent","onRequestClose","Pressable","StyleSheet","absoluteFill","onPress","accessible","importantForAccessibility"],"sourceRoot":"../../../src","sources":["overlay/OverlayContainer.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AASA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+E,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/E,IAAIG,cAES;AACb,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EACzB,IAAI;IACFF,cAAc,GAAGP,OAAO,CAAC,WAAW,CAAC,CAACU,YAAY;EACpD,CAAC,CAAC,MAAM,CAAC;AACX;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAC;EAC/BC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC;AAC+B,CAAC,EAAE;EAClC,IAAIR,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIF,cAAc,EAAE;IAC3C,OAAOA,cAAc,cACnB,IAAAJ,WAAA,CAAAc,GAAA,EAAClB,YAAA,CAAAmB,IAAI;MAACH,KAAK,EAAE,CAAC;QAAEI,QAAQ,EAAE,OAAc;QAAEC,MAAM,EAAE;MAAG,CAAC,EAAEL,KAAK,CAAE;MAAAC,QAAA,EAAEA;IAAQ,CAAO,CAAC,EACjFK,QAAQ,CAACC,IACX,CAAC;EACH;EAEA,oBACE,IAAAnB,WAAA,CAAAoB,IAAA,EAACxB,YAAA,CAAAyB,KAAK;IAACC,OAAO;IAACC,WAAW;IAACC,aAAa,EAAC,MAAM;IAACC,oBAAoB;IAACC,cAAc,EAAEjB,SAAU;IAAAI,QAAA,gBAC7F,IAAAb,WAAA,CAAAc,GAAA,EAAClB,YAAA,CAAA+B,SAAS;MACRf,KAAK,EAAEgB,uBAAU,CAACC,YAAa;MAC/BC,OAAO,EAAErB,SAAU;MACnBsB,UAAU,EAAE,KAAM;MAClBC,yBAAyB,EAAC;IAAqB,CAChD,CAAC,eACF,IAAAhC,WAAA,CAAAc,GAAA,EAAChB,sBAAA,CAAAK,OAAQ,CAACY,IAAI;MACZL,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAE,CAAC;QAAEI,QAAQ,EAAE;MAAW,CAAC,EAAEJ,KAAK,CAAE;MAAAC,QAAA,EAExCA;IAAQ,CACI,CAAC;EAAA,CACX,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_createPortal","_jsxRuntime","e","__esModule","default","OverlayContainer","onDismiss","entering","exiting","style","children","Platform","OS","createPortalFn","jsx","View","position","zIndex","document","body","jsxs","Modal","visible","transparent","animationType","statusBarTranslucent","onRequestClose","Pressable","StyleSheet","absoluteFill","onPress","accessible","importantForAccessibility"],"sourceRoot":"../../../src","sources":["overlay/OverlayContainer.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AASA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAAuD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAAC;EAC/BC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC;AAC+B,CAAC,EAAE;EAClC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIC,4BAAc,EAAE;IAC3C,OAAO,IAAAA,4BAAc,eACnB,IAAAZ,WAAA,CAAAa,GAAA,EAAClB,YAAA,CAAAmB,IAAI;MAACN,KAAK,EAAE,CAAC;QAAEO,QAAQ,EAAE,OAAc;QAAEC,MAAM,EAAE;MAAG,CAAC,EAAER,KAAK,CAAE;MAAAC,QAAA,EAAEA;IAAQ,CAAO,CAAC,EACjFQ,QAAQ,CAACC,IACX,CAAC;EACH;EAEA,oBACE,IAAAlB,WAAA,CAAAmB,IAAA,EAACxB,YAAA,CAAAyB,KAAK;IAACC,OAAO;IAACC,WAAW;IAACC,aAAa,EAAC,MAAM;IAACC,oBAAoB;IAACC,cAAc,EAAEpB,SAAU;IAAAI,QAAA,gBAC7F,IAAAT,WAAA,CAAAa,GAAA,EAAClB,YAAA,CAAA+B,SAAS;MACRlB,KAAK,EAAEmB,uBAAU,CAACC,YAAa;MAC/BC,OAAO,EAAExB,SAAU;MACnByB,UAAU,EAAE,KAAM;MAClBC,yBAAyB,EAAC;IAAqB,CAChD,CAAC,eACF,IAAA/B,WAAA,CAAAa,GAAA,EAAChB,sBAAA,CAAAM,OAAQ,CAACW,IAAI;MACZR,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAE,CAAC;QAAEO,QAAQ,EAAE;MAAW,CAAC,EAAEP,KAAK,CAAE;MAAAC,QAAA,EAExCA;IAAQ,CACI,CAAC;EAAA,CACX,CAAC;AAEZ","ignoreList":[]}
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "useDismissOverlay", {
27
27
  return _useDismissOverlay.useDismissOverlay;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "useEscapeKey", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _useEscapeKey.useEscapeKey;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "useOverlayPosition", {
31
37
  enumerable: true,
32
38
  get: function () {
@@ -36,5 +42,6 @@ Object.defineProperty(exports, "useOverlayPosition", {
36
42
  var _OverlayContainer = require("./OverlayContainer");
37
43
  var _useAnchorPosition = require("./useAnchorPosition");
38
44
  var _useDismissOverlay = require("./useDismissOverlay");
45
+ var _useEscapeKey = require("./useEscapeKey");
39
46
  var _useOverlayPosition = require("./useOverlayPosition");
40
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_OverlayContainer","require","_useAnchorPosition","_useDismissOverlay","_useOverlayPosition"],"sourceRoot":"../../../src","sources":["overlay/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_OverlayContainer","require","_useAnchorPosition","_useDismissOverlay","_useEscapeKey","_useOverlayPosition"],"sourceRoot":"../../../src","sources":["overlay/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEscapeKey = useEscapeKey;
7
+ /* eslint-disable @typescript-eslint/no-unused-vars */
8
+
9
+ /**
10
+ * No-op on native — Escape key dismissal is not applicable.
11
+ * Native uses the system back gesture / hardware button via Modal.
12
+ */
13
+ function useEscapeKey(_open, _onEscape) {}
14
+ //# sourceMappingURL=useEscapeKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEscapeKey","_open","_onEscape"],"sourceRoot":"../../../src","sources":["overlay/useEscapeKey.ts"],"mappings":";;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAACC,KAAc,EAAEC,SAAqB,EAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEscapeKey = useEscapeKey;
7
+ var _react = require("react");
8
+ /**
9
+ * Closes an overlay when the user presses the Escape key.
10
+ * Web-only — native platforms use Modal's `onRequestClose` for back/dismiss.
11
+ */
12
+ function useEscapeKey(open, onEscape) {
13
+ const onEscapeRef = (0, _react.useRef)(onEscape);
14
+ onEscapeRef.current = onEscape;
15
+ (0, _react.useEffect)(() => {
16
+ if (!open) {
17
+ return;
18
+ }
19
+ const handleKeyDown = e => {
20
+ if (e.key === 'Escape') {
21
+ onEscapeRef.current();
22
+ }
23
+ };
24
+ document.addEventListener('keydown', handleKeyDown);
25
+ return () => {
26
+ document.removeEventListener('keydown', handleKeyDown);
27
+ };
28
+ }, [open]);
29
+ }
30
+ //# sourceMappingURL=useEscapeKey.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useEscapeKey","open","onEscape","onEscapeRef","useRef","current","useEffect","handleKeyDown","e","key","document","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["overlay/useEscapeKey.web.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAACC,IAAa,EAAEC,QAAoB,EAAE;EAChE,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACF,QAAQ,CAAC;EACpCC,WAAW,CAACE,OAAO,GAAGH,QAAQ;EAE9B,IAAAI,gBAAS,EAAC,MAAM;IACd,IAAI,CAACL,IAAI,EAAE;MACT;IACF;IAEA,MAAMM,aAAa,GAAIC,CAAgB,IAAK;MAC1C,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;QACtBN,WAAW,CAACE,OAAO,CAAC,CAAC;MACvB;IACF,CAAC;IAEDK,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,aAAa,CAAC;IACnD,OAAO,MAAM;MACXG,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEL,aAAa,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,CAACN,IAAI,CAAC,CAAC;AACZ","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPortalFn = void 0;
7
+ var _reactNative = require("react-native");
8
+ /**
9
+ * A reference to `ReactDOM.createPortal` on web, `undefined` on native.
10
+ *
11
+ * Loaded lazily via `require` so that native bundles never reference
12
+ * `react-dom`, which would cause a build error on native platforms.
13
+ */
14
+ const createPortalFn = exports.createPortalFn = (() => {
15
+ if (_reactNative.Platform.OS !== 'web') return undefined;
16
+ try {
17
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
18
+ return require('react-dom').createPortal;
19
+ } catch {
20
+ return undefined;
21
+ }
22
+ })();
23
+ //# sourceMappingURL=createPortal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","createPortalFn","exports","Platform","OS","undefined","createPortal"],"sourceRoot":"../../../src","sources":["utils/createPortal.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAA0C,GAAAC,OAAA,CAAAD,cAAA,GAAG,CAAC,MAAM;EAC/D,IAAIE,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAOC,SAAS;EAC3C,IAAI;IACF;IACA,OAAQL,OAAO,CAAC,WAAW,CAAC,CAAsCM,YAAY;EAChF,CAAC,CAAC,MAAM;IACN,OAAOD,SAAS;EAClB;AACF,CAAC,EAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { createContext } from '@cdx-ui/utils';
4
+ export const [DialogProvider, useDialog] = createContext('DialogContext');
5
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","DialogProvider","useDialog"],"sourceRoot":"../../../src","sources":["dialog/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,eAAe;AAG7C,OAAO,MAAM,CAACC,cAAc,EAAEC,SAAS,CAAC,GAAGF,aAAa,CAAqB,eAAe,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const createDialogBody = BaseBody => /*#__PURE__*/forwardRef(({
6
+ children,
7
+ ...props
8
+ }, ref) => {
9
+ return /*#__PURE__*/_jsx(BaseBody, {
10
+ ref: ref,
11
+ ...props,
12
+ children: children
13
+ });
14
+ });
15
+ //# sourceMappingURL=createDialogBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","jsx","_jsx","createDialogBody","BaseBody","children","props","ref"],"sourceRoot":"../../../src","sources":["dialog/createDialogBody.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1C,OAAO,MAAMC,gBAAgB,GAAQC,QAAgC,iBACnEJ,UAAU,CAA4B,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACrE,oBACEL,IAAA,CAACE,QAAQ;IAACG,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAAD,QAAA,EAC3BA;EAAQ,CACD,CAAC;AAEf,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { useDialog } from './context';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export const createDialogClose = BaseClose => /*#__PURE__*/forwardRef(({
7
+ asChild = false,
8
+ children,
9
+ onPress,
10
+ ...props
11
+ }, ref) => {
12
+ const {
13
+ onOpenChange
14
+ } = useDialog();
15
+ const handlePress = e => {
16
+ onPress?.(e);
17
+ onOpenChange(false);
18
+ };
19
+ if (asChild && /*#__PURE__*/React.isValidElement(children)) {
20
+ return /*#__PURE__*/React.cloneElement(children, {
21
+ onPress: handlePress
22
+ });
23
+ }
24
+ return /*#__PURE__*/_jsx(BaseClose, {
25
+ ref: ref,
26
+ ...props,
27
+ onPress: handlePress,
28
+ children: children
29
+ });
30
+ });
31
+ //# sourceMappingURL=createDialogClose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useDialog","jsx","_jsx","createDialogClose","BaseClose","asChild","children","onPress","props","ref","onOpenChange","handlePress","e","isValidElement","cloneElement"],"sourceRoot":"../../../src","sources":["dialog/createDialogClose.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,SAASC,SAAS,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtC,OAAO,MAAMC,iBAAiB,GAAQC,SAAiC,iBACrEL,UAAU,CACR,CAAC;EAAEM,OAAO,GAAG,KAAK;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACzD,MAAM;IAAEC;EAAa,CAAC,GAAGV,SAAS,CAAC,CAAC;EAEpC,MAAMW,WAAW,GAAIC,CAAO,IAAK;IAC/BL,OAAO,GAAGK,CAAC,CAAC;IACZF,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC;EAED,IAAIL,OAAO,iBAAIP,KAAK,CAACe,cAAc,CAACP,QAAQ,CAAC,EAAE;IAC7C,oBAAOR,KAAK,CAACgB,YAAY,CAACR,QAAQ,EAA6B;MAC7DC,OAAO,EAAEI;IACX,CAAC,CAAC;EACJ;EAEA,oBACET,IAAA,CAACE,SAAS;IAACK,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAQD,OAAO,EAAEI,WAAY;IAAAL,QAAA,EACzDA;EAAQ,CACA,CAAC;AAEhB,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback } from 'react';
4
+ import { Modal, Platform, StyleSheet, View } from 'react-native';
5
+ import { FocusScope } from '@react-native-aria/focus';
6
+ import { useEscapeKey } from '../overlay';
7
+ import { createPortalFn } from '../utils/createPortal';
8
+ import { dataAttributes } from '../utils/dataAttributes';
9
+ import { useDialog } from './context';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ export const createDialogContent = (BaseContent, BaseOverlay) => /*#__PURE__*/forwardRef(({
12
+ children,
13
+ forceMount = false,
14
+ ...props
15
+ }, ref) => {
16
+ const {
17
+ open,
18
+ onOpenChange,
19
+ closeOnBackdropPress,
20
+ closeOnEscKey,
21
+ nativeID,
22
+ role
23
+ } = useDialog();
24
+ const handleClose = useCallback(() => {
25
+ onOpenChange(false);
26
+ }, [onOpenChange]);
27
+ useEscapeKey(open && closeOnEscKey, handleClose);
28
+ if (!(open || forceMount)) {
29
+ return null;
30
+ }
31
+ const overlayProps = {
32
+ ...(closeOnBackdropPress ? {
33
+ onPress: handleClose
34
+ } : {}),
35
+ accessible: false,
36
+ importantForAccessibility: 'no-hide-descendants',
37
+ ...dataAttributes({
38
+ slot: 'dialog-overlay'
39
+ })
40
+ };
41
+ const contentSlotAttrs = dataAttributes({
42
+ slot: 'dialog-content',
43
+ state: open ? 'open' : 'closed'
44
+ });
45
+ const ariaProps = {
46
+ role,
47
+ 'aria-modal': true,
48
+ 'aria-labelledby': `${nativeID}-title`,
49
+ 'aria-describedby': `${nativeID}-description`
50
+ };
51
+ if (Platform.OS === 'web' && createPortalFn) {
52
+ return createPortalFn(/*#__PURE__*/_jsx(FocusScope, {
53
+ contain: open,
54
+ restoreFocus: true,
55
+ autoFocus: open,
56
+ children: /*#__PURE__*/_jsxs(View, {
57
+ style: {
58
+ position: 'fixed',
59
+ inset: 0,
60
+ zIndex: 50,
61
+ display: 'flex',
62
+ alignItems: 'center',
63
+ justifyContent: 'center'
64
+ },
65
+ children: [/*#__PURE__*/_jsx(BaseOverlay, {
66
+ ...overlayProps
67
+ }), /*#__PURE__*/_jsx(BaseContent, {
68
+ ref: ref,
69
+ ...contentSlotAttrs,
70
+ ...props,
71
+ ...ariaProps,
72
+ children: children
73
+ })]
74
+ })
75
+ }), document.body);
76
+ }
77
+
78
+ // Native layout uses two layers to support both backdrop dismiss and
79
+ // scrollable body content. The overlay Pressable fills the Modal via
80
+ // absolute positioning and handles backdrop taps. A second absolute-fill
81
+ // View with pointerEvents="box-none" centers the content panel — "box-none"
82
+ // lets taps outside the panel pass through to the overlay while allowing
83
+ // the panel and its children to receive touches normally.
84
+ //
85
+ // Critically, the content panel must NOT claim the JS touch responder
86
+ // (e.g. via onStartShouldSetResponder). Doing so triggers React Native's
87
+ // blockNativeResponder, which suppresses the native UIScrollView /
88
+ // ScrollView pan gesture recognizer and breaks any ScrollView inside
89
+ // Dialog.Body.
90
+ //
91
+ // Static StyleSheet used here because these are structural layout concerns
92
+ // of the primitive's modal chrome — not themeable styles. They must remain
93
+ // stable regardless of the styled layer's className.
94
+ return /*#__PURE__*/_jsx(Modal, {
95
+ visible: open,
96
+ transparent: true,
97
+ statusBarTranslucent: true,
98
+ onRequestClose: handleClose,
99
+ children: /*#__PURE__*/_jsx(FocusScope, {
100
+ contain: open,
101
+ restoreFocus: true,
102
+ autoFocus: open,
103
+ children: /*#__PURE__*/_jsxs(View, {
104
+ style: styles.fill,
105
+ children: [/*#__PURE__*/_jsx(BaseOverlay, {
106
+ ...overlayProps
107
+ }), /*#__PURE__*/_jsx(View, {
108
+ style: styles.center,
109
+ pointerEvents: "box-none",
110
+ children: /*#__PURE__*/_jsx(BaseContent, {
111
+ ref: ref,
112
+ ...contentSlotAttrs,
113
+ ...props,
114
+ ...ariaProps,
115
+ children: children
116
+ })
117
+ })]
118
+ })
119
+ })
120
+ });
121
+ });
122
+
123
+ // Structural layout for the native Modal chrome. These are not themeable —
124
+ // they position the overlay and centering layers that the primitive manages
125
+ // internally. Matches the pattern in OverlayContainer.tsx.
126
+ const styles = StyleSheet.create({
127
+ fill: {
128
+ flex: 1
129
+ },
130
+ center: {
131
+ ...StyleSheet.absoluteFillObject,
132
+ alignItems: 'center',
133
+ justifyContent: 'center'
134
+ }
135
+ });
136
+ //# sourceMappingURL=createDialogContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","Modal","Platform","StyleSheet","View","FocusScope","useEscapeKey","createPortalFn","dataAttributes","useDialog","jsx","_jsx","jsxs","_jsxs","createDialogContent","BaseContent","BaseOverlay","children","forceMount","props","ref","open","onOpenChange","closeOnBackdropPress","closeOnEscKey","nativeID","role","handleClose","overlayProps","onPress","accessible","importantForAccessibility","slot","contentSlotAttrs","state","ariaProps","OS","contain","restoreFocus","autoFocus","style","position","inset","zIndex","display","alignItems","justifyContent","document","body","visible","transparent","statusBarTranslucent","onRequestClose","styles","fill","center","pointerEvents","create","flex","absoluteFillObject"],"sourceRoot":"../../../src","sources":["dialog/createDialogContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { dataAttributes } from '../utils/dataAttributes';
5
+ import { useDialog } from './context';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const createDialogDescription = BaseDescription => /*#__PURE__*/forwardRef(({
8
+ children,
9
+ ...props
10
+ }, ref) => {
11
+ const {
12
+ nativeID
13
+ } = useDialog();
14
+ return /*#__PURE__*/_jsx(BaseDescription, {
15
+ ref: ref,
16
+ nativeID: `${nativeID}-description`,
17
+ ...props,
18
+ ...dataAttributes({
19
+ slot: 'dialog-description'
20
+ }),
21
+ children: children
22
+ });
23
+ });
24
+ //# sourceMappingURL=createDialogDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","dataAttributes","useDialog","jsx","_jsx","createDialogDescription","BaseDescription","children","props","ref","nativeID","slot"],"sourceRoot":"../../../src","sources":["dialog/createDialogDescription.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,SAAS,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtC,OAAO,MAAMC,uBAAuB,GAAQC,eAAuC,iBACjFN,UAAU,CAAmC,CAAC;EAAEO,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC5E,MAAM;IAAEC;EAAS,CAAC,GAAGR,SAAS,CAAC,CAAC;EAEhC,oBACEE,IAAA,CAACE,eAAe;IACdG,GAAG,EAAEA,GAAI;IACTC,QAAQ,EAAE,GAAGA,QAAQ,cAAe;IAAA,GAC/BF,KAAK;IAAA,GACNP,cAAc,CAAC;MAAEU,IAAI,EAAE;IAAqB,CAAC,CAAC;IAAAJ,QAAA,EAEjDA;EAAQ,CACM,CAAC;AAEtB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const createDialogFooter = BaseFooter => /*#__PURE__*/forwardRef(({
6
+ children,
7
+ ...props
8
+ }, ref) => {
9
+ return /*#__PURE__*/_jsx(BaseFooter, {
10
+ ref: ref,
11
+ ...props,
12
+ children: children
13
+ });
14
+ });
15
+ //# sourceMappingURL=createDialogFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","jsx","_jsx","createDialogFooter","BaseFooter","children","props","ref"],"sourceRoot":"../../../src","sources":["dialog/createDialogFooter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1C,OAAO,MAAMC,kBAAkB,GAAQC,UAAkC,iBACvEJ,UAAU,CAA8B,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACvE,oBACEL,IAAA,CAACE,UAAU;IAACG,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAAD,QAAA,EAC7BA;EAAQ,CACC,CAAC;AAEjB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const createDialogHeader = BaseHeader => /*#__PURE__*/forwardRef(({
6
+ children,
7
+ ...props
8
+ }, ref) => {
9
+ return /*#__PURE__*/_jsx(BaseHeader, {
10
+ ref: ref,
11
+ ...props,
12
+ children: children
13
+ });
14
+ });
15
+ //# sourceMappingURL=createDialogHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","jsx","_jsx","createDialogHeader","BaseHeader","children","props","ref"],"sourceRoot":"../../../src","sources":["dialog/createDialogHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1C,OAAO,MAAMC,kBAAkB,GAAQC,UAAkC,iBACvEJ,UAAU,CAA8B,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACvE,oBACEL,IAAA,CAACE,UAAU;IAACG,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAAD,QAAA,EAC7BA;EAAQ,CACC,CAAC;AAEjB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback, useId, useMemo } from 'react';
4
+ import { useControllableState } from '@cdx-ui/utils';
5
+ import { dataAttributes } from '../utils/dataAttributes';
6
+ import { DialogProvider } from './context';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const createDialogRoot = BaseRoot => /*#__PURE__*/forwardRef(({
9
+ open: openProp,
10
+ onOpenChange,
11
+ defaultOpen = false,
12
+ closeOnBackdropPress = true,
13
+ closeOnEscKey = true,
14
+ role = 'dialog',
15
+ children,
16
+ ...props
17
+ }, ref) => {
18
+ const [open, setOpenState] = useControllableState({
19
+ prop: openProp,
20
+ defaultProp: defaultOpen,
21
+ onChange: onOpenChange
22
+ });
23
+ const setOpen = useCallback(newOpen => {
24
+ setOpenState(newOpen);
25
+ }, [setOpenState]);
26
+ const id = useId();
27
+ const nativeID = `dialog-${id}`;
28
+ const contextValue = useMemo(() => ({
29
+ open: open ?? false,
30
+ onOpenChange: setOpen,
31
+ closeOnBackdropPress,
32
+ closeOnEscKey,
33
+ nativeID,
34
+ role
35
+ }), [open, setOpen, closeOnBackdropPress, closeOnEscKey, nativeID, role]);
36
+ return /*#__PURE__*/_jsx(DialogProvider, {
37
+ value: contextValue,
38
+ children: /*#__PURE__*/_jsx(BaseRoot, {
39
+ ref: ref,
40
+ ...props,
41
+ ...dataAttributes({
42
+ slot: 'dialog',
43
+ state: open ? 'open' : 'closed'
44
+ }),
45
+ children: children
46
+ })
47
+ });
48
+ });
49
+ //# sourceMappingURL=createDialogRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useId","useMemo","useControllableState","dataAttributes","DialogProvider","jsx","_jsx","createDialogRoot","BaseRoot","open","openProp","onOpenChange","defaultOpen","closeOnBackdropPress","closeOnEscKey","role","children","props","ref","setOpenState","prop","defaultProp","onChange","setOpen","newOpen","id","nativeID","contextValue","value","slot","state"],"sourceRoot":"../../../src","sources":["dialog/createDialogRoot.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,WAAW,EAAEC,KAAK,EAAEC,OAAO,QAAQ,OAAO;AAC/D,SAASC,oBAAoB,QAAQ,eAAe;AACpD,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,cAAc,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3C,OAAO,MAAMC,gBAAgB,GAAQC,QAAgC,iBACnEV,UAAU,CACR,CACE;EACEW,IAAI,EAAEC,QAAQ;EACdC,YAAY;EACZC,WAAW,GAAG,KAAK;EACnBC,oBAAoB,GAAG,IAAI;EAC3BC,aAAa,GAAG,IAAI;EACpBC,IAAI,GAAG,QAAQ;EACfC,QAAQ;EACR,GAAGC;AACa,CAAC,EACnBC,GAAkB,KACf;EACH,MAAM,CAACT,IAAI,EAAEU,YAAY,CAAC,GAAGjB,oBAAoB,CAAU;IACzDkB,IAAI,EAAEV,QAAQ;IACdW,WAAW,EAAET,WAAW;IACxBU,QAAQ,EAAEX;EACZ,CAAC,CAAC;EAEF,MAAMY,OAAO,GAAGxB,WAAW,CACxByB,OAAgB,IAAK;IACpBL,YAAY,CAACK,OAAO,CAAC;EACvB,CAAC,EACD,CAACL,YAAY,CACf,CAAC;EAED,MAAMM,EAAE,GAAGzB,KAAK,CAAC,CAAC;EAClB,MAAM0B,QAAQ,GAAG,UAAUD,EAAE,EAAE;EAE/B,MAAME,YAAY,GAAG1B,OAAO,CAC1B,OAAO;IACLQ,IAAI,EAAEA,IAAI,IAAI,KAAK;IACnBE,YAAY,EAAEY,OAAO;IACrBV,oBAAoB;IACpBC,aAAa;IACbY,QAAQ;IACRX;EACF,CAAC,CAAC,EACF,CAACN,IAAI,EAAEc,OAAO,EAAEV,oBAAoB,EAAEC,aAAa,EAAEY,QAAQ,EAAEX,IAAI,CACrE,CAAC;EAED,oBACET,IAAA,CAACF,cAAc;IAACwB,KAAK,EAAED,YAAa;IAAAX,QAAA,eAClCV,IAAA,CAACE,QAAQ;MACPU,GAAG,EAAEA,GAAI;MAAA,GACJD,KAAK;MAAA,GACNd,cAAc,CAAC;QACjB0B,IAAI,EAAE,QAAQ;QACdC,KAAK,EAAErB,IAAI,GAAG,MAAM,GAAG;MACzB,CAAC,CAAC;MAAAO,QAAA,EAEDA;IAAQ,CACD;EAAC,CACG,CAAC;AAErB,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const createDialogTitle = BaseTitle => /*#__PURE__*/forwardRef(({
6
+ children,
7
+ ...props
8
+ }, ref) => {
9
+ return /*#__PURE__*/_jsx(BaseTitle, {
10
+ ref: ref,
11
+ ...props,
12
+ children: children
13
+ });
14
+ });
15
+ //# sourceMappingURL=createDialogTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","jsx","_jsx","createDialogTitle","BaseTitle","children","props","ref"],"sourceRoot":"../../../src","sources":["dialog/createDialogTitle.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1C,OAAO,MAAMC,iBAAiB,GAAQC,SAAiC,iBACrEJ,UAAU,CAA6B,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACtE,oBACEL,IAAA,CAACE,SAAS;IAACG,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAAD,QAAA,EAC5BA;EAAQ,CACA,CAAC;AAEhB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { useDialog } from './context';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export const createDialogTrigger = BaseTrigger => /*#__PURE__*/forwardRef(({
7
+ asChild = false,
8
+ children,
9
+ onPress,
10
+ ...props
11
+ }, ref) => {
12
+ const {
13
+ onOpenChange
14
+ } = useDialog();
15
+ const handlePress = e => {
16
+ onPress?.(e);
17
+ onOpenChange(true);
18
+ };
19
+ if (asChild && /*#__PURE__*/React.isValidElement(children)) {
20
+ return /*#__PURE__*/React.cloneElement(children, {
21
+ onPress: handlePress
22
+ });
23
+ }
24
+ return /*#__PURE__*/_jsx(BaseTrigger, {
25
+ ref: ref,
26
+ ...props,
27
+ onPress: handlePress,
28
+ children: children
29
+ });
30
+ });
31
+ //# sourceMappingURL=createDialogTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useDialog","jsx","_jsx","createDialogTrigger","BaseTrigger","asChild","children","onPress","props","ref","onOpenChange","handlePress","e","isValidElement","cloneElement"],"sourceRoot":"../../../src","sources":["dialog/createDialogTrigger.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,SAASC,SAAS,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtC,OAAO,MAAMC,mBAAmB,GAAQC,WAAmC,iBACzEL,UAAU,CACR,CAAC;EAAEM,OAAO,GAAG,KAAK;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAA2B,CAAC,EAAEC,GAAkB,KAAK;EAC7F,MAAM;IAAEC;EAAa,CAAC,GAAGV,SAAS,CAAC,CAAC;EAEpC,MAAMW,WAAW,GAAIC,CAAO,IAAK;IAC/BL,OAAO,GAAGK,CAAC,CAAC;IACZF,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC;EAED,IAAIL,OAAO,iBAAIP,KAAK,CAACe,cAAc,CAACP,QAAQ,CAAC,EAAE;IAC7C,oBAAOR,KAAK,CAACgB,YAAY,CAACR,QAAQ,EAA6B;MAC7DC,OAAO,EAAEI;IACX,CAAC,CAAC;EACJ;EAEA,oBACET,IAAA,CAACE,WAAW;IAACK,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAQD,OAAO,EAAEI,WAAY;IAAAL,QAAA,EAC3DA;EAAQ,CACE,CAAC;AAElB,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ import { createDialogRoot } from './createDialogRoot';
4
+ import { createDialogTrigger } from './createDialogTrigger';
5
+ import { createDialogContent } from './createDialogContent';
6
+ import { createDialogHeader } from './createDialogHeader';
7
+ import { createDialogTitle } from './createDialogTitle';
8
+ import { createDialogDescription } from './createDialogDescription';
9
+ import { createDialogBody } from './createDialogBody';
10
+ import { createDialogFooter } from './createDialogFooter';
11
+ import { createDialogClose } from './createDialogClose';
12
+ import { DialogProvider, useDialog } from './context';
13
+ export { DialogProvider, useDialog };
14
+ export function createDialog(BaseComponents) {
15
+ const Root = createDialogRoot(BaseComponents.Root);
16
+ const Trigger = createDialogTrigger(BaseComponents.Trigger);
17
+ const Content = createDialogContent(BaseComponents.Content, BaseComponents.Overlay);
18
+ const Header = createDialogHeader(BaseComponents.Header);
19
+ const Title = createDialogTitle(BaseComponents.Title);
20
+ const Description = createDialogDescription(BaseComponents.Description);
21
+ const Body = createDialogBody(BaseComponents.Body);
22
+ const Footer = createDialogFooter(BaseComponents.Footer);
23
+ const Close = createDialogClose(BaseComponents.Close);
24
+ Root.displayName = 'DialogPrimitive.Root';
25
+ Trigger.displayName = 'DialogPrimitive.Trigger';
26
+ Content.displayName = 'DialogPrimitive.Content';
27
+ Header.displayName = 'DialogPrimitive.Header';
28
+ Title.displayName = 'DialogPrimitive.Title';
29
+ Description.displayName = 'DialogPrimitive.Description';
30
+ Body.displayName = 'DialogPrimitive.Body';
31
+ Footer.displayName = 'DialogPrimitive.Footer';
32
+ Close.displayName = 'DialogPrimitive.Close';
33
+ return Object.assign(Root, {
34
+ Root,
35
+ Trigger,
36
+ Content,
37
+ Header,
38
+ Title,
39
+ Description,
40
+ Body,
41
+ Footer,
42
+ Close
43
+ });
44
+ }
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createDialogRoot","createDialogTrigger","createDialogContent","createDialogHeader","createDialogTitle","createDialogDescription","createDialogBody","createDialogFooter","createDialogClose","DialogProvider","useDialog","createDialog","BaseComponents","Root","Trigger","Content","Overlay","Header","Title","Description","Body","Footer","Close","displayName","Object","assign"],"sourceRoot":"../../../src","sources":["dialog/index.tsx"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,cAAc,EAAEC,SAAS,QAAQ,WAAW;AAGrD,SAASD,cAAc,EAAEC,SAAS;AAelC,OAAO,SAASC,YAAYA,CAW1BC,cAWD,EAAE;EACD,MAAMC,IAAI,GAAGb,gBAAgB,CAACY,cAAc,CAACC,IAAI,CAAC;EAClD,MAAMC,OAAO,GAAGb,mBAAmB,CAACW,cAAc,CAACE,OAAO,CAAC;EAC3D,MAAMC,OAAO,GAAGb,mBAAmB,CAACU,cAAc,CAACG,OAAO,EAAEH,cAAc,CAACI,OAAO,CAAC;EACnF,MAAMC,MAAM,GAAGd,kBAAkB,CAACS,cAAc,CAACK,MAAM,CAAC;EACxD,MAAMC,KAAK,GAAGd,iBAAiB,CAACQ,cAAc,CAACM,KAAK,CAAC;EACrD,MAAMC,WAAW,GAAGd,uBAAuB,CAACO,cAAc,CAACO,WAAW,CAAC;EACvE,MAAMC,IAAI,GAAGd,gBAAgB,CAACM,cAAc,CAACQ,IAAI,CAAC;EAClD,MAAMC,MAAM,GAAGd,kBAAkB,CAACK,cAAc,CAACS,MAAM,CAAC;EACxD,MAAMC,KAAK,GAAGd,iBAAiB,CAACI,cAAc,CAACU,KAAK,CAAC;EAErDT,IAAI,CAACU,WAAW,GAAG,sBAAsB;EACzCT,OAAO,CAACS,WAAW,GAAG,yBAAyB;EAC/CR,OAAO,CAACQ,WAAW,GAAG,yBAAyB;EAC/CN,MAAM,CAACM,WAAW,GAAG,wBAAwB;EAC7CL,KAAK,CAACK,WAAW,GAAG,uBAAuB;EAC3CJ,WAAW,CAACI,WAAW,GAAG,6BAA6B;EACvDH,IAAI,CAACG,WAAW,GAAG,sBAAsB;EACzCF,MAAM,CAACE,WAAW,GAAG,wBAAwB;EAC7CD,KAAK,CAACC,WAAW,GAAG,uBAAuB;EAE3C,OAAOC,MAAM,CAACC,MAAM,CAACZ,IAAI,EAAE;IACzBA,IAAI;IACJC,OAAO;IACPC,OAAO;IACPE,MAAM;IACNC,KAAK;IACLC,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC;EACF,CAAC,CAAC;AAWJ","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":["dialog/types.ts"],"mappings":"","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  export * from './avatar';
4
4
  export * from './button';
5
5
  export * from './checkbox';
6
+ export * from './dialog';
6
7
  export * from './input';
7
8
  export * from './link';
8
9
  export { OverlayInsetsProvider } from './overlay';
@@ -1 +1 @@
1
- {"version":3,"names":["OverlayInsetsProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,SAA0BA,qBAAqB,QAAQ,WAAW;AAClE,cAAc,UAAU;AACxB,cAAc,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["OverlayInsetsProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,SAA0BA,qBAAqB,QAAQ,WAAW;AAClE,cAAc,UAAU;AACxB,cAAc,UAAU","ignoreList":[]}
@@ -2,13 +2,8 @@
2
2
 
3
3
  import { Modal, Platform, Pressable, StyleSheet, View } from 'react-native';
4
4
  import Animated from 'react-native-reanimated';
5
+ import { createPortalFn } from '../utils/createPortal';
5
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- let createPortalFn;
7
- if (Platform.OS === 'web') {
8
- try {
9
- createPortalFn = require('react-dom').createPortal;
10
- } catch {}
11
- }
12
7
  /**
13
8
  * Cross-platform overlay container.
14
9
  *
@@ -1 +1 @@
1
- {"version":3,"names":["Modal","Platform","Pressable","StyleSheet","View","Animated","jsx","_jsx","jsxs","_jsxs","createPortalFn","OS","require","createPortal","OverlayContainer","onDismiss","entering","exiting","style","children","position","zIndex","document","body","visible","transparent","animationType","statusBarTranslucent","onRequestClose","absoluteFill","onPress","accessible","importantForAccessibility"],"sourceRoot":"../../../src","sources":["overlay/OverlayContainer.tsx"],"mappings":";;AACA,SACEA,KAAK,EACLC,QAAQ,EACRC,SAAS,EAETC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,OAAOC,QAAQ,MAAsC,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/E,IAAIC,cAES;AACb,IAAIT,QAAQ,CAACU,EAAE,KAAK,KAAK,EAAE;EACzB,IAAI;IACFD,cAAc,GAAGE,OAAO,CAAC,WAAW,CAAC,CAACC,YAAY;EACpD,CAAC,CAAC,MAAM,CAAC;AACX;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC;AAC+B,CAAC,EAAE;EAClC,IAAIlB,QAAQ,CAACU,EAAE,KAAK,KAAK,IAAID,cAAc,EAAE;IAC3C,OAAOA,cAAc,cACnBH,IAAA,CAACH,IAAI;MAACc,KAAK,EAAE,CAAC;QAAEE,QAAQ,EAAE,OAAc;QAAEC,MAAM,EAAE;MAAG,CAAC,EAAEH,KAAK,CAAE;MAAAC,QAAA,EAAEA;IAAQ,CAAO,CAAC,EACjFG,QAAQ,CAACC,IACX,CAAC;EACH;EAEA,oBACEd,KAAA,CAACT,KAAK;IAACwB,OAAO;IAACC,WAAW;IAACC,aAAa,EAAC,MAAM;IAACC,oBAAoB;IAACC,cAAc,EAAEb,SAAU;IAAAI,QAAA,gBAC7FZ,IAAA,CAACL,SAAS;MACRgB,KAAK,EAAEf,UAAU,CAAC0B,YAAa;MAC/BC,OAAO,EAAEf,SAAU;MACnBgB,UAAU,EAAE,KAAM;MAClBC,yBAAyB,EAAC;IAAqB,CAChD,CAAC,eACFzB,IAAA,CAACF,QAAQ,CAACD,IAAI;MACZY,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAE,CAAC;QAAEE,QAAQ,EAAE;MAAW,CAAC,EAAEF,KAAK,CAAE;MAAAC,QAAA,EAExCA;IAAQ,CACI,CAAC;EAAA,CACX,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"names":["Modal","Platform","Pressable","StyleSheet","View","Animated","createPortalFn","jsx","_jsx","jsxs","_jsxs","OverlayContainer","onDismiss","entering","exiting","style","children","OS","position","zIndex","document","body","visible","transparent","animationType","statusBarTranslucent","onRequestClose","absoluteFill","onPress","accessible","importantForAccessibility"],"sourceRoot":"../../../src","sources":["overlay/OverlayContainer.tsx"],"mappings":";;AACA,SACEA,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,IAAI,QAGC,cAAc;AACrB,OAAOC,QAAQ,MAAsC,yBAAyB;AAC9E,SAASC,cAAc,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC;AAC+B,CAAC,EAAE;EAClC,IAAIf,QAAQ,CAACgB,EAAE,KAAK,KAAK,IAAIX,cAAc,EAAE;IAC3C,OAAOA,cAAc,cACnBE,IAAA,CAACJ,IAAI;MAACW,KAAK,EAAE,CAAC;QAAEG,QAAQ,EAAE,OAAc;QAAEC,MAAM,EAAE;MAAG,CAAC,EAAEJ,KAAK,CAAE;MAAAC,QAAA,EAAEA;IAAQ,CAAO,CAAC,EACjFI,QAAQ,CAACC,IACX,CAAC;EACH;EAEA,oBACEX,KAAA,CAACV,KAAK;IAACsB,OAAO;IAACC,WAAW;IAACC,aAAa,EAAC,MAAM;IAACC,oBAAoB;IAACC,cAAc,EAAEd,SAAU;IAAAI,QAAA,gBAC7FR,IAAA,CAACN,SAAS;MACRa,KAAK,EAAEZ,UAAU,CAACwB,YAAa;MAC/BC,OAAO,EAAEhB,SAAU;MACnBiB,UAAU,EAAE,KAAM;MAClBC,yBAAyB,EAAC;IAAqB,CAChD,CAAC,eACFtB,IAAA,CAACH,QAAQ,CAACD,IAAI;MACZS,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAE,CAAC;QAAEG,QAAQ,EAAE;MAAW,CAAC,EAAEH,KAAK,CAAE;MAAAC,QAAA,EAExCA;IAAQ,CACI,CAAC;EAAA,CACX,CAAC;AAEZ","ignoreList":[]}
@@ -3,5 +3,6 @@
3
3
  export { OverlayContainer } from './OverlayContainer';
4
4
  export { useAnchorPosition } from './useAnchorPosition';
5
5
  export { useDismissOverlay } from './useDismissOverlay';
6
+ export { useEscapeKey } from './useEscapeKey';
6
7
  export { useOverlayPosition, OverlayInsetsProvider } from './useOverlayPosition';
7
8
  //# sourceMappingURL=index.js.map