@atlaskit/top-layer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +151 -0
  3. package/animations/package.json +17 -0
  4. package/arrow/package.json +17 -0
  5. package/create-close-event/package.json +17 -0
  6. package/dialog/package.json +17 -0
  7. package/dialog-scroll-lock/package.json +17 -0
  8. package/dist/cjs/animations/presets.js +199 -0
  9. package/dist/cjs/animations/types.js +5 -0
  10. package/dist/cjs/arrow/index.js +130 -0
  11. package/dist/cjs/arrow/types.js +5 -0
  12. package/dist/cjs/dialog/create-close-event.js +39 -0
  13. package/dist/cjs/dialog/dialog-content.compiled.css +14 -0
  14. package/dist/cjs/dialog/dialog-content.js +144 -0
  15. package/dist/cjs/dialog/index.js +19 -0
  16. package/dist/cjs/dialog/types.js +5 -0
  17. package/dist/cjs/dialog-scroll-lock/index.js +46 -0
  18. package/dist/cjs/entry-points/animations.js +36 -0
  19. package/dist/cjs/entry-points/arrow.js +12 -0
  20. package/dist/cjs/entry-points/create-close-event.js +19 -0
  21. package/dist/cjs/entry-points/dialog-scroll-lock.js +12 -0
  22. package/dist/cjs/entry-points/dialog.js +12 -0
  23. package/dist/cjs/entry-points/focus.js +24 -0
  24. package/dist/cjs/entry-points/placement-map.js +18 -0
  25. package/dist/cjs/entry-points/popover.js +12 -0
  26. package/dist/cjs/entry-points/popup-surface.js +12 -0
  27. package/dist/cjs/entry-points/popup.js +12 -0
  28. package/dist/cjs/entry-points/use-anchor-position.js +12 -0
  29. package/dist/cjs/entry-points/use-arrow-navigation.js +18 -0
  30. package/dist/cjs/entry-points/use-simple-light-dismiss.js +12 -0
  31. package/dist/cjs/focus/focus.js +115 -0
  32. package/dist/cjs/focus/index.js +24 -0
  33. package/dist/cjs/index.js +8 -0
  34. package/dist/cjs/internal/anchor-positioning-fallback.js +154 -0
  35. package/dist/cjs/internal/combine.js +29 -0
  36. package/dist/cjs/internal/ensure-preset-styles.js +34 -0
  37. package/dist/cjs/internal/reduced-motion.js +27 -0
  38. package/dist/cjs/internal/resolve-placement.js +24 -0
  39. package/dist/cjs/internal/role-types.js +66 -0
  40. package/dist/cjs/internal/set-style.js +42 -0
  41. package/dist/cjs/internal/slot.js +65 -0
  42. package/dist/cjs/internal/use-anchor-positioning.js +336 -0
  43. package/dist/cjs/internal/use-animated-visibility.js +169 -0
  44. package/dist/cjs/internal/use-animation-preset.js +24 -0
  45. package/dist/cjs/internal/use-focus-wrap.js +94 -0
  46. package/dist/cjs/internal/use-initial-focus.js +112 -0
  47. package/dist/cjs/internal/use-preset-styles.js +27 -0
  48. package/dist/cjs/placement-map/index.js +147 -0
  49. package/dist/cjs/popover/create-close-event.js +44 -0
  50. package/dist/cjs/popover/index.js +19 -0
  51. package/dist/cjs/popover/popover.compiled.css +13 -0
  52. package/dist/cjs/popover/popover.js +251 -0
  53. package/dist/cjs/popover/types.js +5 -0
  54. package/dist/cjs/popup/index.js +37 -0
  55. package/dist/cjs/popup/popup-content.js +201 -0
  56. package/dist/cjs/popup/popup-context.js +42 -0
  57. package/dist/cjs/popup/popup-surface.compiled.css +5 -0
  58. package/dist/cjs/popup/popup-surface.js +30 -0
  59. package/dist/cjs/popup/popup-trigger-function.js +74 -0
  60. package/dist/cjs/popup/popup-trigger.js +82 -0
  61. package/dist/cjs/popup/popup.js +70 -0
  62. package/dist/cjs/popup/types.js +5 -0
  63. package/dist/cjs/use-arrow-navigation/index.js +18 -0
  64. package/dist/cjs/use-arrow-navigation/use-arrow-navigation.js +245 -0
  65. package/dist/cjs/use-simple-light-dismiss/index.js +84 -0
  66. package/dist/es2019/animations/presets.js +375 -0
  67. package/dist/es2019/animations/types.js +1 -0
  68. package/dist/es2019/arrow/index.js +249 -0
  69. package/dist/es2019/arrow/types.js +1 -0
  70. package/dist/es2019/dialog/create-close-event.js +34 -0
  71. package/dist/es2019/dialog/dialog-content.compiled.css +14 -0
  72. package/dist/es2019/dialog/dialog-content.js +138 -0
  73. package/dist/es2019/dialog/index.js +2 -0
  74. package/dist/es2019/dialog/types.js +1 -0
  75. package/dist/es2019/dialog-scroll-lock/index.js +41 -0
  76. package/dist/es2019/entry-points/animations.js +1 -0
  77. package/dist/es2019/entry-points/arrow.js +1 -0
  78. package/dist/es2019/entry-points/create-close-event.js +2 -0
  79. package/dist/es2019/entry-points/dialog-scroll-lock.js +1 -0
  80. package/dist/es2019/entry-points/dialog.js +1 -0
  81. package/dist/es2019/entry-points/focus.js +1 -0
  82. package/dist/es2019/entry-points/placement-map.js +1 -0
  83. package/dist/es2019/entry-points/popover.js +1 -0
  84. package/dist/es2019/entry-points/popup-surface.js +1 -0
  85. package/dist/es2019/entry-points/popup.js +1 -0
  86. package/dist/es2019/entry-points/use-anchor-position.js +1 -0
  87. package/dist/es2019/entry-points/use-arrow-navigation.js +1 -0
  88. package/dist/es2019/entry-points/use-simple-light-dismiss.js +1 -0
  89. package/dist/es2019/focus/focus.js +107 -0
  90. package/dist/es2019/focus/index.js +1 -0
  91. package/dist/es2019/index.js +7 -0
  92. package/dist/es2019/internal/anchor-positioning-fallback.js +153 -0
  93. package/dist/es2019/internal/combine.js +18 -0
  94. package/dist/es2019/internal/ensure-preset-styles.js +29 -0
  95. package/dist/es2019/internal/reduced-motion.js +21 -0
  96. package/dist/es2019/internal/resolve-placement.js +19 -0
  97. package/dist/es2019/internal/role-types.js +61 -0
  98. package/dist/es2019/internal/set-style.js +39 -0
  99. package/dist/es2019/internal/slot.js +57 -0
  100. package/dist/es2019/internal/use-anchor-positioning.js +330 -0
  101. package/dist/es2019/internal/use-animated-visibility.js +159 -0
  102. package/dist/es2019/internal/use-animation-preset.js +18 -0
  103. package/dist/es2019/internal/use-focus-wrap.js +90 -0
  104. package/dist/es2019/internal/use-initial-focus.js +109 -0
  105. package/dist/es2019/internal/use-preset-styles.js +22 -0
  106. package/dist/es2019/placement-map/index.js +142 -0
  107. package/dist/es2019/popover/create-close-event.js +39 -0
  108. package/dist/es2019/popover/index.js +2 -0
  109. package/dist/es2019/popover/popover.compiled.css +13 -0
  110. package/dist/es2019/popover/popover.js +240 -0
  111. package/dist/es2019/popover/types.js +1 -0
  112. package/dist/es2019/popup/index.js +33 -0
  113. package/dist/es2019/popup/popup-content.js +192 -0
  114. package/dist/es2019/popup/popup-context.js +34 -0
  115. package/dist/es2019/popup/popup-surface.compiled.css +5 -0
  116. package/dist/es2019/popup/popup-surface.js +24 -0
  117. package/dist/es2019/popup/popup-trigger-function.js +69 -0
  118. package/dist/es2019/popup/popup-trigger.js +76 -0
  119. package/dist/es2019/popup/popup.js +56 -0
  120. package/dist/es2019/popup/types.js +1 -0
  121. package/dist/es2019/use-arrow-navigation/index.js +1 -0
  122. package/dist/es2019/use-arrow-navigation/use-arrow-navigation.js +238 -0
  123. package/dist/es2019/use-simple-light-dismiss/index.js +79 -0
  124. package/dist/esm/animations/presets.js +190 -0
  125. package/dist/esm/animations/types.js +1 -0
  126. package/dist/esm/arrow/index.js +123 -0
  127. package/dist/esm/arrow/types.js +1 -0
  128. package/dist/esm/dialog/create-close-event.js +33 -0
  129. package/dist/esm/dialog/dialog-content.compiled.css +14 -0
  130. package/dist/esm/dialog/dialog-content.js +135 -0
  131. package/dist/esm/dialog/index.js +2 -0
  132. package/dist/esm/dialog/types.js +1 -0
  133. package/dist/esm/dialog-scroll-lock/index.js +41 -0
  134. package/dist/esm/entry-points/animations.js +1 -0
  135. package/dist/esm/entry-points/arrow.js +1 -0
  136. package/dist/esm/entry-points/create-close-event.js +2 -0
  137. package/dist/esm/entry-points/dialog-scroll-lock.js +1 -0
  138. package/dist/esm/entry-points/dialog.js +1 -0
  139. package/dist/esm/entry-points/focus.js +1 -0
  140. package/dist/esm/entry-points/placement-map.js +1 -0
  141. package/dist/esm/entry-points/popover.js +1 -0
  142. package/dist/esm/entry-points/popup-surface.js +1 -0
  143. package/dist/esm/entry-points/popup.js +1 -0
  144. package/dist/esm/entry-points/use-anchor-position.js +1 -0
  145. package/dist/esm/entry-points/use-arrow-navigation.js +1 -0
  146. package/dist/esm/entry-points/use-simple-light-dismiss.js +1 -0
  147. package/dist/esm/focus/focus.js +107 -0
  148. package/dist/esm/focus/index.js +1 -0
  149. package/dist/esm/index.js +7 -0
  150. package/dist/esm/internal/anchor-positioning-fallback.js +147 -0
  151. package/dist/esm/internal/combine.js +23 -0
  152. package/dist/esm/internal/ensure-preset-styles.js +28 -0
  153. package/dist/esm/internal/reduced-motion.js +21 -0
  154. package/dist/esm/internal/resolve-placement.js +18 -0
  155. package/dist/esm/internal/role-types.js +60 -0
  156. package/dist/esm/internal/set-style.js +36 -0
  157. package/dist/esm/internal/slot.js +59 -0
  158. package/dist/esm/internal/use-anchor-positioning.js +323 -0
  159. package/dist/esm/internal/use-animated-visibility.js +162 -0
  160. package/dist/esm/internal/use-animation-preset.js +18 -0
  161. package/dist/esm/internal/use-focus-wrap.js +89 -0
  162. package/dist/esm/internal/use-initial-focus.js +107 -0
  163. package/dist/esm/internal/use-preset-styles.js +21 -0
  164. package/dist/esm/placement-map/index.js +141 -0
  165. package/dist/esm/popover/create-close-event.js +38 -0
  166. package/dist/esm/popover/index.js +2 -0
  167. package/dist/esm/popover/popover.compiled.css +13 -0
  168. package/dist/esm/popover/popover.js +242 -0
  169. package/dist/esm/popover/types.js +1 -0
  170. package/dist/esm/popup/index.js +33 -0
  171. package/dist/esm/popup/popup-content.js +192 -0
  172. package/dist/esm/popup/popup-context.js +34 -0
  173. package/dist/esm/popup/popup-surface.compiled.css +5 -0
  174. package/dist/esm/popup/popup-surface.js +23 -0
  175. package/dist/esm/popup/popup-trigger-function.js +69 -0
  176. package/dist/esm/popup/popup-trigger.js +74 -0
  177. package/dist/esm/popup/popup.js +61 -0
  178. package/dist/esm/popup/types.js +1 -0
  179. package/dist/esm/use-arrow-navigation/index.js +1 -0
  180. package/dist/esm/use-arrow-navigation/use-arrow-navigation.js +238 -0
  181. package/dist/esm/use-simple-light-dismiss/index.js +78 -0
  182. package/dist/types/animations/presets.d.ts +94 -0
  183. package/dist/types/animations/types.d.ts +42 -0
  184. package/dist/types/arrow/index.d.ts +24 -0
  185. package/dist/types/arrow/types.d.ts +29 -0
  186. package/dist/types/dialog/create-close-event.d.ts +24 -0
  187. package/dist/types/dialog/dialog-content.d.ts +20 -0
  188. package/dist/types/dialog/index.d.ts +3 -0
  189. package/dist/types/dialog/types.d.ts +92 -0
  190. package/dist/types/dialog-scroll-lock/index.d.ts +24 -0
  191. package/dist/types/entry-points/animations.d.ts +2 -0
  192. package/dist/types/entry-points/arrow.d.ts +2 -0
  193. package/dist/types/entry-points/create-close-event.d.ts +4 -0
  194. package/dist/types/entry-points/dialog-scroll-lock.d.ts +1 -0
  195. package/dist/types/entry-points/dialog.d.ts +2 -0
  196. package/dist/types/entry-points/focus.d.ts +2 -0
  197. package/dist/types/entry-points/placement-map.d.ts +2 -0
  198. package/dist/types/entry-points/popover.d.ts +2 -0
  199. package/dist/types/entry-points/popup-surface.d.ts +2 -0
  200. package/dist/types/entry-points/popup.d.ts +2 -0
  201. package/dist/types/entry-points/use-anchor-position.d.ts +1 -0
  202. package/dist/types/entry-points/use-arrow-navigation.d.ts +2 -0
  203. package/dist/types/entry-points/use-simple-light-dismiss.d.ts +2 -0
  204. package/dist/types/focus/focus.d.ts +42 -0
  205. package/dist/types/focus/index.d.ts +2 -0
  206. package/dist/types/index.d.ts +0 -0
  207. package/dist/types/internal/anchor-positioning-fallback.d.ts +24 -0
  208. package/dist/types/internal/combine.d.ts +14 -0
  209. package/dist/types/internal/ensure-preset-styles.d.ts +6 -0
  210. package/dist/types/internal/reduced-motion.d.ts +14 -0
  211. package/dist/types/internal/resolve-placement.d.ts +16 -0
  212. package/dist/types/internal/role-types.d.ts +62 -0
  213. package/dist/types/internal/set-style.d.ts +28 -0
  214. package/dist/types/internal/slot.d.ts +29 -0
  215. package/dist/types/internal/use-anchor-positioning.d.ts +95 -0
  216. package/dist/types/internal/use-animated-visibility.d.ts +74 -0
  217. package/dist/types/internal/use-animation-preset.d.ts +11 -0
  218. package/dist/types/internal/use-focus-wrap.d.ts +20 -0
  219. package/dist/types/internal/use-initial-focus.d.ts +21 -0
  220. package/dist/types/internal/use-preset-styles.d.ts +15 -0
  221. package/dist/types/placement-map/index.d.ts +55 -0
  222. package/dist/types/popover/create-close-event.d.ts +26 -0
  223. package/dist/types/popover/index.d.ts +3 -0
  224. package/dist/types/popover/popover.d.ts +22 -0
  225. package/dist/types/popover/types.d.ts +153 -0
  226. package/dist/types/popup/index.d.ts +34 -0
  227. package/dist/types/popup/popup-content.d.ts +14 -0
  228. package/dist/types/popup/popup-context.d.ts +96 -0
  229. package/dist/types/popup/popup-surface.d.ts +16 -0
  230. package/dist/types/popup/popup-trigger-function.d.ts +108 -0
  231. package/dist/types/popup/popup-trigger.d.ts +23 -0
  232. package/dist/types/popup/popup.d.ts +14 -0
  233. package/dist/types/popup/types.d.ts +289 -0
  234. package/dist/types/use-arrow-navigation/index.d.ts +2 -0
  235. package/dist/types/use-arrow-navigation/use-arrow-navigation.d.ts +136 -0
  236. package/dist/types/use-simple-light-dismiss/index.d.ts +45 -0
  237. package/dist/types-ts4.5/animations/presets.d.ts +94 -0
  238. package/dist/types-ts4.5/animations/types.d.ts +42 -0
  239. package/dist/types-ts4.5/arrow/index.d.ts +24 -0
  240. package/dist/types-ts4.5/arrow/types.d.ts +29 -0
  241. package/dist/types-ts4.5/dialog/create-close-event.d.ts +24 -0
  242. package/dist/types-ts4.5/dialog/dialog-content.d.ts +20 -0
  243. package/dist/types-ts4.5/dialog/index.d.ts +3 -0
  244. package/dist/types-ts4.5/dialog/types.d.ts +92 -0
  245. package/dist/types-ts4.5/dialog-scroll-lock/index.d.ts +24 -0
  246. package/dist/types-ts4.5/entry-points/animations.d.ts +2 -0
  247. package/dist/types-ts4.5/entry-points/arrow.d.ts +2 -0
  248. package/dist/types-ts4.5/entry-points/create-close-event.d.ts +4 -0
  249. package/dist/types-ts4.5/entry-points/dialog-scroll-lock.d.ts +1 -0
  250. package/dist/types-ts4.5/entry-points/dialog.d.ts +2 -0
  251. package/dist/types-ts4.5/entry-points/focus.d.ts +2 -0
  252. package/dist/types-ts4.5/entry-points/placement-map.d.ts +2 -0
  253. package/dist/types-ts4.5/entry-points/popover.d.ts +2 -0
  254. package/dist/types-ts4.5/entry-points/popup-surface.d.ts +2 -0
  255. package/dist/types-ts4.5/entry-points/popup.d.ts +2 -0
  256. package/dist/types-ts4.5/entry-points/use-anchor-position.d.ts +1 -0
  257. package/dist/types-ts4.5/entry-points/use-arrow-navigation.d.ts +2 -0
  258. package/dist/types-ts4.5/entry-points/use-simple-light-dismiss.d.ts +2 -0
  259. package/dist/types-ts4.5/focus/focus.d.ts +42 -0
  260. package/dist/types-ts4.5/focus/index.d.ts +2 -0
  261. package/dist/types-ts4.5/index.d.ts +0 -0
  262. package/dist/types-ts4.5/internal/anchor-positioning-fallback.d.ts +24 -0
  263. package/dist/types-ts4.5/internal/combine.d.ts +14 -0
  264. package/dist/types-ts4.5/internal/ensure-preset-styles.d.ts +6 -0
  265. package/dist/types-ts4.5/internal/reduced-motion.d.ts +14 -0
  266. package/dist/types-ts4.5/internal/resolve-placement.d.ts +16 -0
  267. package/dist/types-ts4.5/internal/role-types.d.ts +62 -0
  268. package/dist/types-ts4.5/internal/set-style.d.ts +28 -0
  269. package/dist/types-ts4.5/internal/slot.d.ts +29 -0
  270. package/dist/types-ts4.5/internal/use-anchor-positioning.d.ts +95 -0
  271. package/dist/types-ts4.5/internal/use-animated-visibility.d.ts +74 -0
  272. package/dist/types-ts4.5/internal/use-animation-preset.d.ts +11 -0
  273. package/dist/types-ts4.5/internal/use-focus-wrap.d.ts +20 -0
  274. package/dist/types-ts4.5/internal/use-initial-focus.d.ts +21 -0
  275. package/dist/types-ts4.5/internal/use-preset-styles.d.ts +15 -0
  276. package/dist/types-ts4.5/placement-map/index.d.ts +55 -0
  277. package/dist/types-ts4.5/popover/create-close-event.d.ts +26 -0
  278. package/dist/types-ts4.5/popover/index.d.ts +3 -0
  279. package/dist/types-ts4.5/popover/popover.d.ts +22 -0
  280. package/dist/types-ts4.5/popover/types.d.ts +153 -0
  281. package/dist/types-ts4.5/popup/index.d.ts +34 -0
  282. package/dist/types-ts4.5/popup/popup-content.d.ts +14 -0
  283. package/dist/types-ts4.5/popup/popup-context.d.ts +96 -0
  284. package/dist/types-ts4.5/popup/popup-surface.d.ts +16 -0
  285. package/dist/types-ts4.5/popup/popup-trigger-function.d.ts +108 -0
  286. package/dist/types-ts4.5/popup/popup-trigger.d.ts +23 -0
  287. package/dist/types-ts4.5/popup/popup.d.ts +14 -0
  288. package/dist/types-ts4.5/popup/types.d.ts +289 -0
  289. package/dist/types-ts4.5/use-arrow-navigation/index.d.ts +2 -0
  290. package/dist/types-ts4.5/use-arrow-navigation/use-arrow-navigation.d.ts +136 -0
  291. package/dist/types-ts4.5/use-simple-light-dismiss/index.d.ts +45 -0
  292. package/focus/package.json +17 -0
  293. package/package.json +95 -0
  294. package/placement-map/package.json +17 -0
  295. package/popover/package.json +17 -0
  296. package/popup/package.json +17 -0
  297. package/popup-surface/package.json +17 -0
  298. package/use-anchor-position/package.json +17 -0
  299. package/use-arrow-navigation/package.json +17 -0
  300. package/use-simple-light-dismiss/package.json +17 -0
@@ -0,0 +1,14 @@
1
+
2
+ ._19itglyw{border:none}._18u01wug{margin-left:auto}
3
+ ._19pk1wug{margin-top:auto}
4
+ ._1ltk1i5c::-ms-backdrop{background-color:var(--ds-blanket,#050c1f75)}
5
+ ._1ltk1i5c::backdrop{background-color:var(--ds-blanket,#050c1f75)}
6
+ ._1q51ze3t{padding-block-start:var(--ds-space-0,0)}
7
+ ._2hwx1wug{margin-right:auto}
8
+ ._85i5ze3t{padding-block-end:var(--ds-space-0,0)}
9
+ ._bfhk1j28{background-color:transparent}
10
+ ._bozgze3t{padding-inline-start:var(--ds-space-0,0)}
11
+ ._c71lglyw{max-height:none}
12
+ ._otyr1wug{margin-bottom:auto}
13
+ ._p12fglyw{max-width:none}
14
+ ._y4tize3t{padding-inline-end:var(--ds-space-0,0)}
@@ -0,0 +1,144 @@
1
+ /* dialog-content.tsx generated by @compiled/babel-plugin v0.39.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.Dialog = void 0;
10
+ require("./dialog-content.compiled.css");
11
+ var _runtime = require("@compiled/react/runtime");
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _bindEventListener = require("bind-event-listener");
16
+ var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
17
+ var _useAnimatedVisibility = require("../internal/use-animated-visibility");
18
+ var _useFocusWrap = require("../internal/use-focus-wrap");
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- dialog reset requires values not in cssMap's type union
21
+ var styles = {
22
+ dialog: "_19itglyw _19pk1wug _2hwx1wug _otyr1wug _18u01wug _1q51ze3t _y4tize3t _85i5ze3t _bozgze3t _p12fglyw _c71lglyw _bfhk1j28 _1ltk1i5c"
23
+ };
24
+
25
+ /**
26
+ * Low-level `<dialog>` primitive. No visual opinions — no width, height,
27
+ * background, border-radius, or layout. Consumers provide their own styling.
28
+ *
29
+ * Visibility is controlled declaratively via `isOpen`:
30
+ * - `isOpen={true}` calls `.showModal()` (entry animation via `@starting-style`)
31
+ * - `isOpen={false}` calls `.close()` (exit animation via `allow-discrete`)
32
+ *
33
+ * Handles native `cancel` event (Escape) and backdrop click detection.
34
+ *
35
+ * Close flow: we never call `dialog.close()` from event handlers. We always call
36
+ * `onClose`; the consumer decides whether to set `isOpen={false}`.
37
+ */
38
+ var Dialog = exports.Dialog = /*#__PURE__*/(0, _react.forwardRef)(function Dialog(_ref, ref) {
39
+ var children = _ref.children,
40
+ isOpen = _ref.isOpen,
41
+ onClose = _ref.onClose,
42
+ onExitFinish = _ref.onExitFinish,
43
+ animate = _ref.animate,
44
+ style = _ref.style,
45
+ testId = _ref.testId,
46
+ providedId = _ref.id,
47
+ label = _ref.label,
48
+ labelledBy = _ref.labelledBy,
49
+ shouldHideBackdrop = _ref.shouldHideBackdrop;
50
+ var generatedId = (0, _react.useId)();
51
+ var dialogId = providedId !== null && providedId !== void 0 ? providedId : generatedId;
52
+ var ownRef = (0, _react.useRef)(null);
53
+ var combinedRef = (0, _mergeRefs.default)([ownRef, ref]);
54
+
55
+ // ── Animation lifecycle ──
56
+ var _useAnimatedVisibilit = (0, _useAnimatedVisibility.useAnimatedVisibility)({
57
+ isOpen: isOpen,
58
+ animate: animate,
59
+ elementRef: ownRef,
60
+ onExitFinish: onExitFinish
61
+ }),
62
+ showChildren = _useAnimatedVisibilit.showChildren,
63
+ preset = _useAnimatedVisibilit.preset;
64
+
65
+ // ── Focus wrap ──
66
+ // Native <dialog>.showModal() traps focus but wraps through <body> at
67
+ // the boundary (A → B → C → body → A). This hook intercepts Tab to
68
+ // wrap directly (A → B → C → A), matching the WAI-ARIA APG pattern.
69
+ (0, _useFocusWrap.useFocusWrap)({
70
+ elementRef: ownRef,
71
+ role: 'dialog'
72
+ });
73
+
74
+ // Show/hide the dialog in response to isOpen changes.
75
+ (0, _react.useLayoutEffect)(function () {
76
+ var dialog = ownRef.current;
77
+ if (!dialog) {
78
+ return;
79
+ }
80
+ if (isOpen) {
81
+ if (!dialog.open) {
82
+ dialog.showModal();
83
+ }
84
+ return function () {
85
+ if (dialog.open) {
86
+ dialog.close();
87
+ }
88
+ };
89
+ }
90
+ if (dialog.open) {
91
+ dialog.close();
92
+ }
93
+ }, [isOpen]);
94
+
95
+ // ── Handle native Escape (cancel event) ──
96
+ var handleCancel = (0, _react.useCallback)(function (event) {
97
+ event.preventDefault();
98
+ onClose({
99
+ reason: 'escape'
100
+ });
101
+ }, [onClose]);
102
+
103
+ // ── Handle backdrop click ──
104
+ // Attached via bind-event-listener rather than a React prop so we avoid
105
+ // a11y lint suppressions on the <dialog> element.
106
+ // Keyboard dismiss is already handled natively (Escape → onCancel above).
107
+ (0, _react.useEffect)(function () {
108
+ var dialog = ownRef.current;
109
+ if (!dialog) {
110
+ return;
111
+ }
112
+ return (0, _bindEventListener.bind)(dialog, {
113
+ type: 'click',
114
+ listener: function listener(event) {
115
+ if (event.target === event.currentTarget) {
116
+ onClose({
117
+ reason: 'overlay-click'
118
+ });
119
+ }
120
+ }
121
+ });
122
+ }, [onClose]);
123
+
124
+ // Atomic CSS (Compiled) deduplicates ::backdrop { background-color }
125
+ // into a single class, making it impossible to toggle between two values
126
+ // via cssMap entries. An ID-scoped <style> has higher specificity than
127
+ // any atomic class, so the override always wins.
128
+ var escapedId = CSS.escape(dialogId);
129
+ return /*#__PURE__*/_react.default.createElement("dialog", (0, _extends2.default)({
130
+ ref: combinedRef,
131
+ id: dialogId,
132
+ "aria-label": label,
133
+ "aria-labelledby": label ? undefined : labelledBy,
134
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
135
+ style: style,
136
+ onCancel: handleCancel,
137
+ "data-testid": testId
138
+ }, preset ? (0, _defineProperty2.default)({}, "data-ds-".concat(preset.name), '') : undefined, {
139
+ className: (0, _runtime.ax)([styles.dialog])
140
+ }), shouldHideBackdrop &&
141
+ /*#__PURE__*/
142
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles
143
+ _react.default.createElement("style", null, "#".concat(escapedId, "::backdrop{background-color:transparent}")), showChildren ? children : null);
144
+ });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Dialog", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _dialogContent.Dialog;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createCloseEvent", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _createCloseEvent.createCloseEvent;
16
+ }
17
+ });
18
+ var _createCloseEvent = require("./create-close-event");
19
+ var _dialogContent = require("./dialog-content");
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DialogScrollLock = DialogScrollLock;
7
+ var _react = require("react");
8
+ var _browserApis = require("@atlaskit/browser-apis");
9
+ /**
10
+ * __DialogScrollLock__
11
+ *
12
+ * Prevents background page scrolling while mounted. Designed to be rendered
13
+ * inside a `Dialog` so that the scroll lock is automatically removed when the
14
+ * dialog closes (unmounts its children).
15
+ *
16
+ * Native `<dialog>.showModal()` makes background content _inert_ (not
17
+ * focusable/clickable), but does **not** prevent scroll events from reaching
18
+ * the document body. This component fills that gap by setting
19
+ * `overflow: hidden` on `document.body`.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * import { Dialog } from '@atlaskit/top-layer/dialog';
24
+ * import { DialogScrollLock } from '@atlaskit/top-layer/dialog-scroll-lock';
25
+ *
26
+ * <Dialog isOpen={isOpen} onClose={onClose}>
27
+ * <DialogScrollLock />
28
+ * {children}
29
+ * </Dialog>
30
+ * ```
31
+ */
32
+ function DialogScrollLock() {
33
+ (0, _react.useLayoutEffect)(function () {
34
+ var _getDocument;
35
+ var body = (_getDocument = (0, _browserApis.getDocument)()) === null || _getDocument === void 0 ? void 0 : _getDocument.body;
36
+ if (!body) {
37
+ return;
38
+ }
39
+ var previousOverflow = body.style.overflow;
40
+ body.style.overflow = 'hidden';
41
+ return function () {
42
+ body.style.overflow = previousOverflow;
43
+ };
44
+ }, []);
45
+ return null;
46
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "dialogFade", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _presets.dialogFade;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "dialogSlideUpAndFade", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _presets.dialogSlideUpAndFade;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "fade", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _presets.fade;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "scaleAndFade", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _presets.scaleAndFade;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "slideAndFade", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _presets.slideAndFade;
34
+ }
35
+ });
36
+ var _presets = require("../animations/presets");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "arrow", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _arrow.arrow;
10
+ }
11
+ });
12
+ var _arrow = require("../arrow");
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createCloseEvent", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _dialog.createCloseEvent;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createPopoverCloseEvent", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _createCloseEvent.createPopoverCloseEvent;
16
+ }
17
+ });
18
+ var _dialog = require("../dialog");
19
+ var _createCloseEvent = require("../popover/create-close-event");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DialogScrollLock", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _dialogScrollLock.DialogScrollLock;
10
+ }
11
+ });
12
+ var _dialogScrollLock = require("../dialog-scroll-lock");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Dialog", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _dialog.Dialog;
10
+ }
11
+ });
12
+ var _dialog = require("../dialog");
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "getFirstFocusable", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _focus.getFirstFocusable;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "getLastFocusable", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _focus.getLastFocusable;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "getNextFocusable", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _focus.getNextFocusable;
22
+ }
23
+ });
24
+ var _focus = require("../focus");
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "fromLegacyPlacement", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _placementMap.fromLegacyPlacement;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "placementMapping", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _placementMap.placementMapping;
16
+ }
17
+ });
18
+ var _placementMap = require("../placement-map");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Popover", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _popover.Popover;
10
+ }
11
+ });
12
+ var _popover = require("../popover");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "PopupSurface", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _popupSurface.PopupSurface;
10
+ }
11
+ });
12
+ var _popupSurface = require("../popup/popup-surface");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Popup", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _popup.Popup;
10
+ }
11
+ });
12
+ var _popup = require("../popup");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useAnchorPosition", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useAnchorPositioning.useAnchorPosition;
10
+ }
11
+ });
12
+ var _useAnchorPositioning = require("../internal/use-anchor-positioning");
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "isAtCurrentMenuLevel", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useArrowNavigation.isAtCurrentMenuLevel;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useArrowNavigation", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useArrowNavigation.useArrowNavigation;
16
+ }
17
+ });
18
+ var _useArrowNavigation = require("../use-arrow-navigation");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useSimpleLightDismiss", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useSimpleLightDismiss.useSimpleLightDismiss;
10
+ }
11
+ });
12
+ var _useSimpleLightDismiss = require("../use-simple-light-dismiss");
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getFirstFocusable = getFirstFocusable;
7
+ exports.getLastFocusable = getLastFocusable;
8
+ exports.getNextFocusable = getNextFocusable;
9
+ /**
10
+ * Focusable element selectors and navigation helpers.
11
+ *
12
+ * Uses CSS selectors to discover focusable elements within a container,
13
+ * avoiding the need for a manual registration system. Disabled elements
14
+ * (both HTML `disabled` attribute and `aria-disabled="true"`) and elements
15
+ * with `tabindex="-1"` are excluded automatically.
16
+ *
17
+ * All public functions accept an optional `filter` callback to further
18
+ * restrict which focusable elements are included.
19
+ */
20
+
21
+ var selectors = function () {
22
+ // Common exclusion filter applied to every selector.
23
+ var not = ':not([tabindex="-1"]):not([aria-disabled="true"]):not([aria-hidden="true"])';
24
+ var notDisabled = ":not([disabled])".concat(not);
25
+ var focusable = ["a[href]".concat(not), "area[href]".concat(not), "input".concat(notDisabled, ":not([type=\"hidden\"])"), "select".concat(notDisabled), "textarea".concat(notDisabled), "button".concat(notDisabled), "iframe".concat(not), "audio[controls]".concat(not), "video[controls]".concat(not), "[contenteditable]:not([contenteditable=\"false\"])".concat(not), "[tabindex]".concat(notDisabled).concat(not)];
26
+ return {
27
+ focusable: focusable.join(','),
28
+ focused: focusable.join(':focus,') + ':focus'
29
+ };
30
+ }();
31
+
32
+ /**
33
+ * An optional callback to restrict which focusable elements are included.
34
+ * Return `true` to include the element, `false` to skip it.
35
+ */
36
+
37
+ /**
38
+ * Returns all focusable HTMLElements within the container, optionally filtered.
39
+ *
40
+ * Note: this searches the full subtree and does not stop at nested
41
+ * popover/dialog boundaries. In practice this is fine because nested
42
+ * popovers are not rendered until they are opened, so their content
43
+ * is not in the DOM when the parent's initial focus runs. If that
44
+ * assumption changes, this would need to be scoped to the current layer.
45
+ */
46
+ function getFocusables(_ref) {
47
+ var container = _ref.container,
48
+ filter = _ref.filter;
49
+ return Array.from(container.querySelectorAll(selectors.focusable)).filter(function (el) {
50
+ return el instanceof HTMLElement;
51
+ }).filter(function (el) {
52
+ return !filter || filter(el, container);
53
+ });
54
+ }
55
+
56
+ /**
57
+ * Returns the first focusable element within the container.
58
+ */
59
+ function getFirstFocusable(_ref2) {
60
+ var container = _ref2.container,
61
+ filter = _ref2.filter;
62
+ var items = getFocusables({
63
+ container: container,
64
+ filter: filter
65
+ });
66
+ return items.length > 0 ? items[0] : null;
67
+ }
68
+
69
+ /**
70
+ * Returns the last focusable element within the container.
71
+ */
72
+ function getLastFocusable(_ref3) {
73
+ var container = _ref3.container,
74
+ filter = _ref3.filter;
75
+ var items = getFocusables({
76
+ container: container,
77
+ filter: filter
78
+ });
79
+ return items.length > 0 ? items[items.length - 1] : null;
80
+ }
81
+
82
+ /**
83
+ * Returns the next focusable element in the given direction relative to the
84
+ * currently focused element within the container. Wraps around at both ends.
85
+ *
86
+ * Returns `null` if there is no focused element within the container or if
87
+ * the focused element is not in the list of focusable elements.
88
+ */
89
+ function getNextFocusable(_ref4) {
90
+ var _all$nextIndex;
91
+ var container = _ref4.container,
92
+ direction = _ref4.direction,
93
+ filter = _ref4.filter;
94
+ var all = getFocusables({
95
+ container: container,
96
+ filter: filter
97
+ });
98
+ var current = container.querySelector(selectors.focused);
99
+ if (!(current instanceof HTMLElement)) {
100
+ return null;
101
+ }
102
+ var index = all.indexOf(current);
103
+ if (index === -1) {
104
+ return null;
105
+ }
106
+ var nextIndex = function () {
107
+ if (direction === 'forwards') {
108
+ return (index + 1) % all.length;
109
+ }
110
+ var proposed = index - 1;
111
+ // if going into negative numbers, loop back to the last item
112
+ return proposed < 0 ? all.length - 1 : proposed;
113
+ }();
114
+ return (_all$nextIndex = all[nextIndex]) !== null && _all$nextIndex !== void 0 ? _all$nextIndex : null;
115
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "getFirstFocusable", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _focus.getFirstFocusable;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "getLastFocusable", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _focus.getLastFocusable;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "getNextFocusable", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _focus.getNextFocusable;
22
+ }
23
+ });
24
+ var _focus = require("./focus");
@@ -0,0 +1,8 @@
1
+ // This file exists for module resolution purposes.
2
+ // Not exporting anything from the root entry point.
3
+ // Please use individual entry points for minimum bundle size:
4
+ //
5
+ // import { Popup } from '@atlaskit/top-layer/popup';
6
+ // import { Dialog } from '@atlaskit/top-layer/dialog';
7
+ // import { Popover } from '@atlaskit/top-layer/popover';
8
+ "use strict";