@atlaskit/primitives 12.2.7 → 13.0.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 (142) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/compiled/package.json +15 -0
  3. package/dist/cjs/compiled/components/anchor.compiled.css +12 -0
  4. package/dist/cjs/compiled/components/anchor.js +130 -0
  5. package/dist/cjs/compiled/components/bleed.compiled.css +11 -0
  6. package/dist/cjs/compiled/components/bleed.js +49 -0
  7. package/dist/cjs/compiled/components/box.compiled.css +266 -0
  8. package/dist/cjs/compiled/components/box.js +367 -0
  9. package/dist/cjs/compiled/components/flex.compiled.css +46 -0
  10. package/dist/cjs/compiled/components/flex.js +119 -0
  11. package/dist/cjs/compiled/components/grid.compiled.css +54 -0
  12. package/dist/cjs/compiled/components/grid.js +129 -0
  13. package/dist/cjs/compiled/components/inline.compiled.css +8 -0
  14. package/dist/cjs/compiled/components/inline.js +83 -0
  15. package/dist/cjs/compiled/components/internal/surface-provider.js +25 -0
  16. package/dist/cjs/compiled/components/internal/types.js +1 -0
  17. package/dist/cjs/compiled/components/pressable.compiled.css +13 -0
  18. package/dist/cjs/compiled/components/pressable.js +87 -0
  19. package/dist/cjs/compiled/components/stack.compiled.css +3 -0
  20. package/dist/cjs/compiled/components/stack.js +64 -0
  21. package/dist/cjs/compiled/components/text.compiled.css +60 -0
  22. package/dist/cjs/compiled/components/text.js +177 -0
  23. package/dist/cjs/compiled/components/types.js +5 -0
  24. package/dist/cjs/compiled/index.js +83 -0
  25. package/dist/cjs/compiled/responsive/hide.compiled.css +11 -0
  26. package/dist/cjs/compiled/responsive/hide.js +46 -0
  27. package/dist/cjs/compiled/responsive/index.js +33 -0
  28. package/dist/cjs/compiled/responsive/media-helper.js +42 -0
  29. package/dist/cjs/compiled/responsive/show.compiled.css +11 -0
  30. package/dist/cjs/compiled/responsive/show.js +47 -0
  31. package/dist/cjs/compiled/responsive/types.js +5 -0
  32. package/dist/cjs/compiled/responsive/use-media-query.js +77 -0
  33. package/dist/cjs/components/anchor.js +1 -1
  34. package/dist/cjs/components/pressable.js +1 -1
  35. package/dist/cjs/index.js +0 -6
  36. package/dist/es2019/compiled/components/anchor.compiled.css +12 -0
  37. package/dist/es2019/compiled/components/anchor.js +117 -0
  38. package/dist/es2019/compiled/components/bleed.compiled.css +11 -0
  39. package/dist/es2019/compiled/components/bleed.js +43 -0
  40. package/dist/es2019/compiled/components/box.compiled.css +266 -0
  41. package/dist/es2019/compiled/components/box.js +351 -0
  42. package/dist/es2019/compiled/components/flex.compiled.css +46 -0
  43. package/dist/es2019/compiled/components/flex.js +110 -0
  44. package/dist/es2019/compiled/components/grid.compiled.css +54 -0
  45. package/dist/es2019/compiled/components/grid.js +121 -0
  46. package/dist/es2019/compiled/components/inline.compiled.css +8 -0
  47. package/dist/es2019/compiled/components/inline.js +71 -0
  48. package/dist/es2019/compiled/components/internal/surface-provider.js +19 -0
  49. package/dist/es2019/compiled/components/internal/types.js +0 -0
  50. package/dist/es2019/compiled/components/pressable.compiled.css +13 -0
  51. package/dist/es2019/compiled/components/pressable.js +75 -0
  52. package/dist/es2019/compiled/components/stack.compiled.css +3 -0
  53. package/dist/es2019/compiled/components/stack.js +54 -0
  54. package/dist/es2019/compiled/components/text.compiled.css +60 -0
  55. package/dist/es2019/compiled/components/text.js +164 -0
  56. package/dist/es2019/compiled/components/types.js +1 -0
  57. package/dist/es2019/compiled/index.js +13 -0
  58. package/dist/es2019/compiled/responsive/hide.compiled.css +11 -0
  59. package/dist/es2019/compiled/responsive/hide.js +37 -0
  60. package/dist/es2019/compiled/responsive/index.js +4 -0
  61. package/dist/es2019/compiled/responsive/media-helper.js +36 -0
  62. package/dist/es2019/compiled/responsive/show.compiled.css +11 -0
  63. package/dist/es2019/compiled/responsive/show.js +38 -0
  64. package/dist/es2019/compiled/responsive/types.js +1 -0
  65. package/dist/es2019/compiled/responsive/use-media-query.js +71 -0
  66. package/dist/es2019/components/anchor.js +1 -1
  67. package/dist/es2019/components/pressable.js +1 -1
  68. package/dist/es2019/index.js +1 -1
  69. package/dist/esm/compiled/components/anchor.compiled.css +12 -0
  70. package/dist/esm/compiled/components/anchor.js +120 -0
  71. package/dist/esm/compiled/components/bleed.compiled.css +11 -0
  72. package/dist/esm/compiled/components/bleed.js +42 -0
  73. package/dist/esm/compiled/components/box.compiled.css +266 -0
  74. package/dist/esm/compiled/components/box.js +358 -0
  75. package/dist/esm/compiled/components/flex.compiled.css +46 -0
  76. package/dist/esm/compiled/components/flex.js +110 -0
  77. package/dist/esm/compiled/components/grid.compiled.css +54 -0
  78. package/dist/esm/compiled/components/grid.js +120 -0
  79. package/dist/esm/compiled/components/inline.compiled.css +8 -0
  80. package/dist/esm/compiled/components/inline.js +73 -0
  81. package/dist/esm/compiled/components/internal/surface-provider.js +19 -0
  82. package/dist/esm/compiled/components/internal/types.js +0 -0
  83. package/dist/esm/compiled/components/pressable.compiled.css +13 -0
  84. package/dist/esm/compiled/components/pressable.js +77 -0
  85. package/dist/esm/compiled/components/stack.compiled.css +3 -0
  86. package/dist/esm/compiled/components/stack.js +54 -0
  87. package/dist/esm/compiled/components/text.compiled.css +60 -0
  88. package/dist/esm/compiled/components/text.js +167 -0
  89. package/dist/esm/compiled/components/types.js +1 -0
  90. package/dist/esm/compiled/index.js +13 -0
  91. package/dist/esm/compiled/responsive/hide.compiled.css +11 -0
  92. package/dist/esm/compiled/responsive/hide.js +37 -0
  93. package/dist/esm/compiled/responsive/index.js +4 -0
  94. package/dist/esm/compiled/responsive/media-helper.js +36 -0
  95. package/dist/esm/compiled/responsive/show.compiled.css +11 -0
  96. package/dist/esm/compiled/responsive/show.js +38 -0
  97. package/dist/esm/compiled/responsive/types.js +1 -0
  98. package/dist/esm/compiled/responsive/use-media-query.js +71 -0
  99. package/dist/esm/components/anchor.js +1 -1
  100. package/dist/esm/components/pressable.js +1 -1
  101. package/dist/esm/index.js +1 -1
  102. package/dist/types/compiled/components/anchor.d.ts +63 -0
  103. package/dist/types/compiled/components/bleed.d.ts +34 -0
  104. package/dist/types/compiled/components/box.d.ts +105 -0
  105. package/dist/types/compiled/components/flex.d.ts +111 -0
  106. package/dist/types/compiled/components/grid.d.ts +131 -0
  107. package/dist/types/compiled/components/inline.d.ts +116 -0
  108. package/dist/types/compiled/components/internal/surface-provider.d.ts +16 -0
  109. package/dist/types/compiled/components/internal/types.d.ts +5 -0
  110. package/dist/types/compiled/components/pressable.d.ts +49 -0
  111. package/dist/types/compiled/components/stack.d.ts +90 -0
  112. package/dist/types/compiled/components/text.d.ts +91 -0
  113. package/dist/types/compiled/components/types.d.ts +45 -0
  114. package/dist/types/compiled/index.d.ts +12 -0
  115. package/dist/types/compiled/responsive/hide.d.ts +39 -0
  116. package/dist/types/compiled/responsive/index.d.ts +5 -0
  117. package/dist/types/compiled/responsive/media-helper.d.ts +35 -0
  118. package/dist/types/compiled/responsive/show.d.ts +39 -0
  119. package/dist/types/compiled/responsive/types.d.ts +10 -0
  120. package/dist/types/compiled/responsive/use-media-query.d.ts +23 -0
  121. package/dist/types/index.d.ts +1 -1
  122. package/dist/types-ts4.5/compiled/components/anchor.d.ts +63 -0
  123. package/dist/types-ts4.5/compiled/components/bleed.d.ts +34 -0
  124. package/dist/types-ts4.5/compiled/components/box.d.ts +105 -0
  125. package/dist/types-ts4.5/compiled/components/flex.d.ts +111 -0
  126. package/dist/types-ts4.5/compiled/components/grid.d.ts +131 -0
  127. package/dist/types-ts4.5/compiled/components/inline.d.ts +116 -0
  128. package/dist/types-ts4.5/compiled/components/internal/surface-provider.d.ts +16 -0
  129. package/dist/types-ts4.5/compiled/components/internal/types.d.ts +5 -0
  130. package/dist/types-ts4.5/compiled/components/pressable.d.ts +49 -0
  131. package/dist/types-ts4.5/compiled/components/stack.d.ts +90 -0
  132. package/dist/types-ts4.5/compiled/components/text.d.ts +96 -0
  133. package/dist/types-ts4.5/compiled/components/types.d.ts +45 -0
  134. package/dist/types-ts4.5/compiled/index.d.ts +12 -0
  135. package/dist/types-ts4.5/compiled/responsive/hide.d.ts +39 -0
  136. package/dist/types-ts4.5/compiled/responsive/index.d.ts +5 -0
  137. package/dist/types-ts4.5/compiled/responsive/media-helper.d.ts +35 -0
  138. package/dist/types-ts4.5/compiled/responsive/show.d.ts +39 -0
  139. package/dist/types-ts4.5/compiled/responsive/types.d.ts +10 -0
  140. package/dist/types-ts4.5/compiled/responsive/use-media-query.d.ts +23 -0
  141. package/dist/types-ts4.5/index.d.ts +1 -1
  142. package/package.json +4 -2
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This is an object of usable media query helpers using our internal breakpoints configuration.
3
+ *
4
+ * When using Compiled CSS-in-JS, please ensure that only a single declaration can take effect at a time.
5
+ * This means that you should avoid multiple breakpoints taking effect at the same time,
6
+ * eg. ```{ [media.above.xs]: { color: 'red' }, [media.above.sm]: { color: 'green' }}```.
7
+ * Instead, make sure that only one breakpoint can take effect at a time,
8
+ * e.g, ```{ [media.only.xs]: { color: 'red' }, [media.above.sm]: { color: 'green' }}```.
9
+ * For more details, please see <https://compiledcssinjs.com/docs/atomic-css#selector-specificity>.
10
+ */
11
+ export declare const media: {
12
+ above: {
13
+ readonly xxs: "@media all";
14
+ readonly xs: "@media (min-width: 30rem)";
15
+ readonly sm: "@media (min-width: 48rem)";
16
+ readonly md: "@media (min-width: 64rem)";
17
+ readonly lg: "@media (min-width: 90rem)";
18
+ readonly xl: "@media (min-width: 110.5rem)";
19
+ };
20
+ only: {
21
+ readonly xxs: "@media (min-width: 0rem) and (max-width: 29.99rem)";
22
+ readonly xs: "@media (min-width: 30rem) and (max-width: 47.99rem)";
23
+ readonly sm: "@media (min-width: 48rem) and (max-width: 63.99rem)";
24
+ readonly md: "@media (min-width: 64rem) and (max-width: 89.99rem)";
25
+ readonly lg: "@media (min-width: 90rem) and (max-width: 110.49rem)";
26
+ readonly xl: "@media (min-width: 110.5rem)";
27
+ };
28
+ below: {
29
+ readonly xs: "@media not all and (min-width: 30rem)";
30
+ readonly sm: "@media not all and (min-width: 48rem)";
31
+ readonly md: "@media not all and (min-width: 64rem)";
32
+ readonly lg: "@media not all and (min-width: 90rem)";
33
+ readonly xl: "@media not all and (min-width: 110.5rem)";
34
+ };
35
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import { type ReactNode } from 'react';
6
+ import { type BasePrimitiveProps } from '../components/types';
7
+ import type { Breakpoint, ComponentAs } from './types';
8
+ type ResponsiveShowProps = {
9
+ as?: ComponentAs;
10
+ children: ReactNode;
11
+ } & ({
12
+ above?: never;
13
+ /**
14
+ * Apply CSS to show this specifically **below** this breakpoint.
15
+ * The smallest breakpoint is not included as it would never be shown and this would not be performant.
16
+ *
17
+ * @important do not mix `above` and `below` (TypeScript should prevent this).
18
+ */
19
+ below: Exclude<Breakpoint, 'xxs'>;
20
+ } | {
21
+ /**
22
+ * Apply CSS to show this specifically **above** this breakpoint.
23
+ * The smallest breakpoint is not included as it would always be shown and this would not be performant.
24
+ *
25
+ * @important do not mix `above` and `below` (TypeScript should prevent this).
26
+ */
27
+ above: Exclude<Breakpoint, 'xxs'>;
28
+ below?: never;
29
+ }) & Pick<BasePrimitiveProps, 'xcss'>;
30
+ /**
31
+ * Shows the content at a given breakpoint. By default, content is hidden. The primary use case is for visual presentation.
32
+ * Mix `<Show above="md">` with `<Hide above="md">` to achieve content that shifts at a breakpoint.
33
+ *
34
+ * Please note:
35
+ * - This only uses `display: none` and `display: revert` to show/hide, it does not skip rendering of children trees.
36
+ * - As this is rendered at all times, there is little performance savings here (just that this is not painted).
37
+ */
38
+ export declare const Show: ({ above, below, children, as: AsElement, xcss, }: ResponsiveShowProps) => JSX.Element;
39
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type media } from './media-helper';
2
+ /**
3
+ * The breakpoints we have for responsiveness.
4
+ */
5
+ export type Breakpoint = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ /**
7
+ * All supported media queries for use as keys, eg. in `css({ [media.above.md]: { … } })`.
8
+ */
9
+ export type MediaQuery = (typeof media.above)[Breakpoint];
10
+ export type ComponentAs = 'article' | 'aside' | 'dialog' | 'div' | 'footer' | 'header' | 'li' | 'main' | 'nav' | 'ol' | 'section' | 'span' | 'ul';
@@ -0,0 +1,23 @@
1
+ import { media } from './media-helper';
2
+ type NestedQueryString = `above.${keyof typeof media.above}` | `below.${keyof typeof media.below}`;
3
+ /**
4
+ * A hook which returnes a `window.matchMedia` result to help you build responsively around breakpoints in JavaScript.
5
+ *
6
+ * The returning value **WILL NOT** update or react to change. You can use `mq.matches` to get the latest version and you can use the optional listener argument to react to changes as desired.
7
+ *
8
+ * @important
9
+ * - This will always be `null` in SSR and the event listener should not fire on SSR => clientside hydration.
10
+ * - `above.xxs` will always be truthy, your listener should never fire.
11
+ *
12
+ * @experimental This hook only works on the client-side and is not safe in an SSR environment as `window` is unavailable (and the user's viewport would be unknown)
13
+ *
14
+ * @example
15
+ * const mq = useMediaQuery('below.md', useCallback((event) => console.log('changed', event.matches)), []))
16
+ * const isMobile = mq?.matches;
17
+ *
18
+ * @returns
19
+ * - `MediaQueryList`, primarily used to get if that media query is currently
20
+ * - `null` when `matchMedia` is unavailable, eg. in SSR.
21
+ */
22
+ export declare const UNSAFE_useMediaQuery: (queryString: NestedQueryString, listener?: ((event: MediaQueryListEvent) => void) | undefined) => MediaQueryList | null;
23
+ export {};
@@ -29,5 +29,5 @@ export type {
29
29
  AnchorProps as UNSAFE_AnchorProps, AnchorProps, } from './components/anchor';
30
30
  export { media, UNSAFE_media, UNSAFE_BREAKPOINTS_CONFIG } from './responsive';
31
31
  export type { Breakpoint, MediaQuery } from './responsive';
32
- export { useSurface as UNSAFE_useSurface, SurfaceContext as UNSAFE_SurfaceContext, } from './components/internal/surface-provider';
32
+ export { useSurface as UNSAFE_useSurface } from './components/internal/surface-provider';
33
33
  export { inverseColorMap as UNSAFE_inverseColorMap } from './xcss/style-maps.partial';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/primitives",
3
- "version": "12.2.7",
3
+ "version": "13.0.0",
4
4
  "description": "Primitives are token-backed low-level building blocks.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -120,6 +120,7 @@
120
120
  "@atlaskit/tokens": "^2.0.0",
121
121
  "@atlaskit/visually-hidden": "^1.5.0",
122
122
  "@babel/runtime": "^7.0.0",
123
+ "@compiled/react": "^0.18.1",
123
124
  "@emotion/react": "^11.7.1",
124
125
  "@emotion/serialize": "^1.1.0",
125
126
  "bind-event-listener": "^3.0.0",
@@ -186,6 +187,7 @@
186
187
  "./text": "./src/components/text.tsx",
187
188
  "./pressable": "./src/components/pressable.tsx",
188
189
  "./anchor": "./src/components/anchor.tsx",
189
- "./responsive": "./src/responsive/index.tsx"
190
+ "./responsive": "./src/responsive/index.tsx",
191
+ "./compiled": "./src/compiled/index.tsx"
190
192
  }
191
193
  }