@sanity/ui 0.37.13 → 0.37.14-next.5

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 (46) hide show
  1. package/lib/dts/src/components/autocomplete/autocomplete.styles.d.ts +1 -1
  2. package/lib/dts/src/components/autocomplete/autocomplete.styles.d.ts.map +1 -1
  3. package/lib/dts/src/components/autocomplete/constants.d.ts.map +1 -1
  4. package/lib/dts/src/constants.d.ts +10 -0
  5. package/lib/dts/src/constants.d.ts.map +1 -1
  6. package/lib/dts/src/primitives/popover/popover.d.ts +6 -5
  7. package/lib/dts/src/primitives/popover/popover.d.ts.map +1 -1
  8. package/lib/dts/src/primitives/popover/{arrow.d.ts → popoverArrow.d.ts} +1 -1
  9. package/lib/dts/src/primitives/popover/popoverArrow.d.ts.map +1 -0
  10. package/lib/dts/src/primitives/popover/popoverCard.d.ts +33 -0
  11. package/lib/dts/src/primitives/popover/popoverCard.d.ts.map +1 -0
  12. package/lib/dts/src/primitives/tooltip/tooltip.d.ts +2 -0
  13. package/lib/dts/src/primitives/tooltip/tooltip.d.ts.map +1 -1
  14. package/lib/dts/src/primitives/tooltip/tooltipArrow.d.ts.map +1 -1
  15. package/lib/sanity-ui.js +488 -439
  16. package/lib/sanity-ui.js.map +1 -1
  17. package/lib/sanity-ui.modern.mjs +561 -555
  18. package/lib/sanity-ui.modern.mjs.map +1 -1
  19. package/lib/sanity-ui.module.js +489 -439
  20. package/lib/sanity-ui.module.js.map +1 -1
  21. package/package.json +5 -6
  22. package/src/components/autocomplete/autocomplete.styles.tsx +0 -5
  23. package/src/components/autocomplete/constants.ts +3 -3
  24. package/src/constants.ts +17 -0
  25. package/src/primitives/popover/__workshop__/PlainStory.tsx +1 -0
  26. package/src/primitives/popover/__workshop__/RightAlignedStory.tsx +1 -0
  27. package/src/primitives/popover/__workshop__/TestStory.tsx +1 -0
  28. package/src/primitives/popover/popover.tsx +245 -195
  29. package/src/primitives/popover/{arrow.tsx → popoverArrow.tsx} +5 -5
  30. package/src/primitives/popover/popoverCard.tsx +160 -0
  31. package/src/primitives/tooltip/__workshop__/props.tsx +3 -1
  32. package/src/primitives/tooltip/tooltip.tsx +159 -83
  33. package/src/primitives/tooltip/tooltipArrow.tsx +25 -10
  34. package/lib/dts/src/primitives/popover/arrow.d.ts.map +0 -1
  35. package/lib/dts/src/primitives/popover/modifiers/getPopoverModifiers.d.ts +0 -4
  36. package/lib/dts/src/primitives/popover/modifiers/getPopoverModifiers.d.ts.map +0 -1
  37. package/lib/dts/src/primitives/popover/modifiers/index.d.ts +0 -2
  38. package/lib/dts/src/primitives/popover/modifiers/index.d.ts.map +0 -1
  39. package/lib/dts/src/primitives/popover/modifiers/types.d.ts +0 -18
  40. package/lib/dts/src/primitives/popover/modifiers/types.d.ts.map +0 -1
  41. package/lib/dts/src/primitives/popover/modifiers/usePopoverModifiers.d.ts +0 -4
  42. package/lib/dts/src/primitives/popover/modifiers/usePopoverModifiers.d.ts.map +0 -1
  43. package/src/primitives/popover/modifiers/getPopoverModifiers.ts +0 -137
  44. package/src/primitives/popover/modifiers/index.ts +0 -1
  45. package/src/primitives/popover/modifiers/types.ts +0 -18
  46. package/src/primitives/popover/modifiers/usePopoverModifiers.ts +0 -58
@@ -1,137 +0,0 @@
1
- import maxSizeModifier from 'popper-max-size-modifier'
2
- import {Modifier} from 'react-popper'
3
- import {PopoverModifiersProps} from './types'
4
-
5
- /*
6
-
7
- The order of popper phases:
8
-
9
- - beforeRead
10
- - read
11
- - afterRead
12
- - beforeMain
13
- - main
14
- - afterMain
15
- - beforeWrite
16
- - write
17
- - afterWrite
18
-
19
- */
20
-
21
- export function getPopoverModifiers(props: PopoverModifiersProps): Modifier<any, any>[] {
22
- const {
23
- allowedAutoPlacements,
24
- arrow,
25
- arrowElement,
26
- boundaryElement,
27
- constrainSize,
28
- distance,
29
- fallbackPlacements,
30
- margins,
31
- matchReferenceWidth,
32
- open,
33
- preventOverflow,
34
- skidding,
35
- tether,
36
- tetherOffset,
37
- } = props
38
-
39
- // NOTE: For later viewers:
40
- // Prior to adding this change, the popover would get `maxWidth: 0` the 2nd time it
41
- // was opened, when used with `constrainSize`. I was looking for a way to "reset"
42
- // the size of the popover as measured by Popper.js, and this seems to be a workaround.
43
- if (!open) {
44
- return []
45
- }
46
-
47
- const detectOverflowOptions = {
48
- altAxis: !constrainSize,
49
- boundary: boundaryElement || undefined,
50
- padding: 8,
51
- tether,
52
- tetherOffset,
53
- }
54
-
55
- return [
56
- constrainSize && {
57
- ...maxSizeModifier,
58
- options: detectOverflowOptions,
59
- },
60
- constrainSize && {
61
- name: 'applyMaxSize',
62
- enabled: true,
63
- phase: 'beforeWrite',
64
- requires: ['maxSize'],
65
- fn({state}: any) {
66
- const {width, height} = state.modifiersData.maxSize
67
-
68
- state.styles.popper = {
69
- ...state.styles.popper,
70
- maxWidth: `${width}px`,
71
- maxHeight: `${height}px`,
72
- }
73
- },
74
- },
75
- arrow && {
76
- name: 'arrow',
77
- options: {
78
- element: arrowElement,
79
- padding: 4,
80
- },
81
- },
82
- (constrainSize || preventOverflow) && {
83
- name: 'preventOverflow',
84
- options: detectOverflowOptions,
85
- },
86
- {
87
- name: 'offset',
88
- options: {
89
- offset: [skidding, distance],
90
- },
91
- },
92
- margins && {
93
- name: 'margins',
94
- enabled: true,
95
- phase: 'beforeRead',
96
- fn: ({state}: any) => {
97
- const {rects} = state
98
-
99
- if (rects.reference) {
100
- rects.reference.x += margins[3]
101
- rects.reference.y += margins[1]
102
- rects.reference.width -= margins[1] + margins[3]
103
- rects.reference.height -= margins[0] + margins[2]
104
- }
105
- },
106
- },
107
- {
108
- name: 'flip',
109
- options: {
110
- allowedAutoPlacements,
111
- boundary: boundaryElement || undefined,
112
- fallbackPlacements,
113
- padding: 8,
114
- },
115
- },
116
- matchReferenceWidth && {
117
- name: 'matchWidth',
118
- enabled: true,
119
- phase: 'beforeWrite',
120
- requires: ['computeStyles'],
121
- fn({state}: any) {
122
- const {width} = state.rects.reference
123
-
124
- state.styles.popper.width = `${width}px`
125
- },
126
- effect: ({state}: any) => {
127
- const refElement = state.elements.reference
128
-
129
- if (refElement instanceof HTMLElement) {
130
- state.elements.popper.style.width = `${
131
- refElement.offsetWidth - (margins ? margins[1] + margins[3] : 0)
132
- }px`
133
- }
134
- },
135
- },
136
- ].filter(Boolean) as Modifier<any, any>[]
137
- }
@@ -1 +0,0 @@
1
- export * from './usePopoverModifiers'
@@ -1,18 +0,0 @@
1
- import {Placement} from '../../../types'
2
-
3
- export interface PopoverModifiersProps {
4
- allowedAutoPlacements?: Placement[]
5
- arrow?: boolean
6
- arrowElement?: HTMLElement | null
7
- boundaryElement?: HTMLElement | null
8
- constrainSize?: boolean
9
- distance: number
10
- fallbackPlacements?: Placement[]
11
- margins?: [number, number, number, number]
12
- matchReferenceWidth?: boolean
13
- open: boolean
14
- preventOverflow?: boolean
15
- skidding: number
16
- tether?: boolean
17
- tetherOffset?: number | ((...args: any[]) => number)
18
- }
@@ -1,58 +0,0 @@
1
- import {useMemo} from 'react'
2
- import {Modifier} from 'react-popper'
3
-
4
- import {getPopoverModifiers} from './getPopoverModifiers'
5
- import {PopoverModifiersProps} from './types'
6
-
7
- export function usePopoverModifiers(props: PopoverModifiersProps): Modifier<any, any>[] {
8
- const {
9
- allowedAutoPlacements,
10
- arrow,
11
- arrowElement,
12
- boundaryElement,
13
- constrainSize,
14
- distance,
15
- fallbackPlacements,
16
- margins,
17
- matchReferenceWidth,
18
- open,
19
- preventOverflow,
20
- skidding,
21
- tether,
22
- tetherOffset,
23
- } = props
24
-
25
- return useMemo(() => {
26
- return getPopoverModifiers({
27
- allowedAutoPlacements,
28
- arrow,
29
- arrowElement,
30
- boundaryElement,
31
- constrainSize,
32
- distance,
33
- fallbackPlacements,
34
- margins,
35
- matchReferenceWidth,
36
- open,
37
- preventOverflow,
38
- skidding,
39
- tether,
40
- tetherOffset,
41
- })
42
- }, [
43
- allowedAutoPlacements,
44
- arrow,
45
- arrowElement,
46
- boundaryElement,
47
- constrainSize,
48
- distance,
49
- fallbackPlacements,
50
- margins,
51
- matchReferenceWidth,
52
- open,
53
- preventOverflow,
54
- skidding,
55
- tether,
56
- tetherOffset,
57
- ])
58
- }