@webstudio-is/sdk-components-react-radix 0.91.0 → 0.92.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 (199) hide show
  1. package/lib/__generated__/accordion.props.js +6 -12
  2. package/lib/__generated__/checkbox.props.js +3 -6
  3. package/lib/__generated__/collapsible.props.js +4 -8
  4. package/lib/__generated__/dialog.props.js +8 -16
  5. package/lib/__generated__/label.props.js +2 -4
  6. package/lib/__generated__/navigation-menu.props.js +8 -16
  7. package/lib/__generated__/popover.props.js +4 -8
  8. package/lib/__generated__/radio-group.props.js +4 -8
  9. package/lib/__generated__/select.props.js +15 -19
  10. package/lib/__generated__/sheet.props.js +8 -16
  11. package/lib/__generated__/switch.props.js +3 -6
  12. package/lib/__generated__/tabs.props.js +5 -10
  13. package/lib/__generated__/tooltip.props.js +4 -8
  14. package/lib/accordion.js +7 -14
  15. package/{src/accordion.stories.tsx → lib/accordion.stories.js} +9 -12
  16. package/lib/accordion.ws.js +11 -22
  17. package/lib/checkbox.js +3 -6
  18. package/lib/checkbox.stories.js +19 -0
  19. package/lib/checkbox.ws.js +5 -10
  20. package/lib/collapsible.js +5 -10
  21. package/{src/collapsible.stories.tsx → lib/collapsible.stories.js} +9 -12
  22. package/lib/collapsible.ws.js +7 -14
  23. package/lib/components.js +13 -62
  24. package/lib/dialog.js +9 -18
  25. package/{src/dialog.stories.tsx → lib/dialog.stories.js} +9 -12
  26. package/lib/dialog.ws.js +15 -30
  27. package/lib/hooks.js +2 -4
  28. package/lib/label.js +2 -4
  29. package/lib/label.stories.js +19 -0
  30. package/lib/label.ws.js +3 -6
  31. package/lib/metas.js +55 -105
  32. package/lib/navigation-menu.js +9 -18
  33. package/{src/navigation-menu.stories.tsx → lib/navigation-menu.stories.js} +9 -12
  34. package/lib/navigation-menu.ws.js +16 -31
  35. package/lib/popover.js +5 -10
  36. package/{src/popover.stories.tsx → lib/popover.stories.js} +9 -12
  37. package/lib/popover.ws.js +7 -14
  38. package/lib/props-descriptions.js +2 -4
  39. package/lib/props.js +54 -103
  40. package/lib/radio-group.js +4 -8
  41. package/lib/radio-group.stories.js +19 -0
  42. package/lib/radio-group.ws.js +7 -14
  43. package/lib/select.js +10 -20
  44. package/{src/select.stories.tsx → lib/select.stories.js} +9 -12
  45. package/lib/select.ws.js +17 -34
  46. package/lib/sheet.js +9 -18
  47. package/{src/sheet.stories.tsx → lib/sheet.stories.js} +9 -12
  48. package/lib/sheet.ws.js +2 -4
  49. package/lib/switch.js +3 -6
  50. package/lib/switch.stories.js +19 -0
  51. package/lib/switch.ws.js +5 -10
  52. package/lib/tabs.js +6 -12
  53. package/{src/tabs.stories.tsx → lib/tabs.stories.js} +9 -12
  54. package/lib/tabs.ws.js +9 -18
  55. package/lib/theme/__generated__/tailwind-theme.js +517 -0
  56. package/lib/theme/styles.js +3 -6
  57. package/lib/theme/tailwind-classes.js +149 -301
  58. package/lib/theme/tailwind-colors.js +2 -4
  59. package/lib/tooltip.js +5 -10
  60. package/{src/tooltip.stories.tsx → lib/tooltip.stories.js} +9 -12
  61. package/lib/tooltip.ws.js +7 -14
  62. package/lib/types/__generated__/accordion.props.d.ts +1 -1
  63. package/lib/types/__generated__/checkbox.props.d.ts +1 -1
  64. package/lib/types/__generated__/collapsible.props.d.ts +1 -1
  65. package/lib/types/__generated__/dialog.props.d.ts +1 -1
  66. package/lib/types/__generated__/label.props.d.ts +1 -1
  67. package/lib/types/__generated__/navigation-menu.props.d.ts +1 -1
  68. package/lib/types/__generated__/popover.props.d.ts +1 -1
  69. package/lib/types/__generated__/radio-group.props.d.ts +1 -1
  70. package/lib/types/__generated__/select.props.d.ts +1 -1
  71. package/lib/types/__generated__/sheet.props.d.ts +1 -1
  72. package/lib/types/__generated__/switch.props.d.ts +1 -1
  73. package/lib/types/__generated__/tabs.props.d.ts +1 -1
  74. package/lib/types/__generated__/tooltip.props.d.ts +1 -1
  75. package/lib/types/accordion.d.ts +1 -1
  76. package/lib/types/sheet.d.ts +1 -1
  77. package/lib/types/theme/__generated__/tailwind-theme.d.ts +26 -0
  78. package/lib/types/theme/styles.d.ts +60 -60
  79. package/lib/types/theme/tailwind-classes.d.ts +33 -33
  80. package/package.json +20 -23
  81. package/lib/__generated__/button.props.js +0 -565
  82. package/lib/__generated__/input.props.js +0 -668
  83. package/lib/__generated__/textarea.props.js +0 -577
  84. package/lib/cjs/__generated__/accordion.props.js +0 -2645
  85. package/lib/cjs/__generated__/button.props.js +0 -585
  86. package/lib/cjs/__generated__/checkbox.props.js +0 -1103
  87. package/lib/cjs/__generated__/collapsible.props.js +0 -1050
  88. package/lib/cjs/__generated__/dialog.props.js +0 -2623
  89. package/lib/cjs/__generated__/input.props.js +0 -688
  90. package/lib/cjs/__generated__/label.props.js +0 -541
  91. package/lib/cjs/__generated__/navigation-menu.props.js +0 -2585
  92. package/lib/cjs/__generated__/popover.props.js +0 -582
  93. package/lib/cjs/__generated__/radio-group.props.js +0 -1647
  94. package/lib/cjs/__generated__/select.props.js +0 -3698
  95. package/lib/cjs/__generated__/sheet.props.js +0 -2642
  96. package/lib/cjs/__generated__/switch.props.js +0 -1103
  97. package/lib/cjs/__generated__/tabs.props.js +0 -2144
  98. package/lib/cjs/__generated__/textarea.props.js +0 -597
  99. package/lib/cjs/__generated__/tooltip.props.js +0 -593
  100. package/lib/cjs/accordion.js +0 -67
  101. package/lib/cjs/accordion.ws.js +0 -285
  102. package/lib/cjs/checkbox.js +0 -31
  103. package/lib/cjs/checkbox.ws.js +0 -174
  104. package/lib/cjs/collapsible.js +0 -53
  105. package/lib/cjs/collapsible.ws.js +0 -122
  106. package/lib/cjs/components.js +0 -82
  107. package/lib/cjs/dialog.js +0 -89
  108. package/lib/cjs/dialog.ws.js +0 -315
  109. package/lib/cjs/hooks.js +0 -43
  110. package/lib/cjs/label.js +0 -37
  111. package/lib/cjs/label.ws.js +0 -75
  112. package/lib/cjs/metas.js +0 -84
  113. package/lib/cjs/navigation-menu.js +0 -107
  114. package/lib/cjs/navigation-menu.ws.js +0 -514
  115. package/lib/cjs/package.json +0 -1
  116. package/lib/cjs/popover.js +0 -90
  117. package/lib/cjs/popover.ws.js +0 -142
  118. package/lib/cjs/props-descriptions.js +0 -56
  119. package/lib/cjs/props.js +0 -82
  120. package/lib/cjs/radio-group.js +0 -30
  121. package/lib/cjs/radio-group.ws.js +0 -191
  122. package/lib/cjs/select.js +0 -83
  123. package/lib/cjs/select.ws.js +0 -350
  124. package/lib/cjs/sheet.js +0 -96
  125. package/lib/cjs/sheet.ws.js +0 -257
  126. package/lib/cjs/switch.js +0 -27
  127. package/lib/cjs/switch.ws.js +0 -173
  128. package/lib/cjs/tabs.js +0 -59
  129. package/lib/cjs/tabs.ws.js +0 -196
  130. package/lib/cjs/theme/radix-common-types.js +0 -16
  131. package/lib/cjs/theme/styles.js +0 -96
  132. package/lib/cjs/theme/tailwind-classes.js +0 -819
  133. package/lib/cjs/theme/tailwind-colors.js +0 -45
  134. package/lib/cjs/theme/tailwind-theme.js +0 -46
  135. package/lib/cjs/tooltip.js +0 -87
  136. package/lib/cjs/tooltip.ws.js +0 -143
  137. package/lib/theme/radix-common-types.js +0 -0
  138. package/lib/theme/tailwind-theme.js +0 -16
  139. package/lib/types/__generated__/button.props.d.ts +0 -2
  140. package/lib/types/__generated__/input.props.d.ts +0 -2
  141. package/lib/types/__generated__/textarea.props.d.ts +0 -2
  142. package/lib/types/theme/radix-common-types.d.ts +0 -85
  143. package/lib/types/theme/tailwind-theme.d.ts +0 -72
  144. package/src/__generated__/accordion.props.ts +0 -2949
  145. package/src/__generated__/button.props.ts +0 -635
  146. package/src/__generated__/checkbox.props.ts +0 -1217
  147. package/src/__generated__/collapsible.props.ts +0 -1156
  148. package/src/__generated__/dialog.props.ts +0 -2923
  149. package/src/__generated__/input.props.ts +0 -748
  150. package/src/__generated__/label.props.ts +0 -585
  151. package/src/__generated__/navigation-menu.props.ts +0 -2882
  152. package/src/__generated__/popover.props.ts +0 -626
  153. package/src/__generated__/radio-group.props.ts +0 -1828
  154. package/src/__generated__/select.props.ts +0 -4130
  155. package/src/__generated__/sheet.props.ts +0 -2942
  156. package/src/__generated__/switch.props.ts +0 -1217
  157. package/src/__generated__/tabs.props.ts +0 -2386
  158. package/src/__generated__/textarea.props.ts +0 -645
  159. package/src/__generated__/tooltip.props.ts +0 -639
  160. package/src/accordion.tsx +0 -88
  161. package/src/accordion.ws.ts +0 -296
  162. package/src/checkbox.stories.ts +0 -22
  163. package/src/checkbox.tsx +0 -22
  164. package/src/checkbox.ws.ts +0 -154
  165. package/src/collapsible.tsx +0 -62
  166. package/src/collapsible.ws.ts +0 -115
  167. package/src/components.ts +0 -50
  168. package/src/dialog.tsx +0 -92
  169. package/src/dialog.ws.tsx +0 -320
  170. package/src/hooks.ts +0 -22
  171. package/src/label.stories.ts +0 -22
  172. package/src/label.tsx +0 -15
  173. package/src/label.ws.ts +0 -50
  174. package/src/metas.ts +0 -74
  175. package/src/navigation-menu.tsx +0 -130
  176. package/src/navigation-menu.ws.ts +0 -524
  177. package/src/popover.tsx +0 -96
  178. package/src/popover.ws.tsx +0 -128
  179. package/src/props-descriptions.ts +0 -43
  180. package/src/props.ts +0 -73
  181. package/src/radio-group.stories.ts +0 -22
  182. package/src/radio-group.tsx +0 -17
  183. package/src/radio-group.ws.ts +0 -178
  184. package/src/select.tsx +0 -112
  185. package/src/select.ws.ts +0 -349
  186. package/src/sheet.tsx +0 -79
  187. package/src/sheet.ws.tsx +0 -236
  188. package/src/switch.stories.ts +0 -22
  189. package/src/switch.tsx +0 -10
  190. package/src/switch.ws.ts +0 -146
  191. package/src/tabs.tsx +0 -64
  192. package/src/tabs.ws.ts +0 -198
  193. package/src/theme/radix-common-types.ts +0 -496
  194. package/src/theme/styles.ts +0 -76
  195. package/src/theme/tailwind-classes.ts +0 -1026
  196. package/src/theme/tailwind-colors.ts +0 -39
  197. package/src/theme/tailwind-theme.ts +0 -24
  198. package/src/tooltip.tsx +0 -95
  199. package/src/tooltip.ws.tsx +0 -130
package/src/metas.ts DELETED
@@ -1,74 +0,0 @@
1
- export {
2
- metaCollapsible as Collapsible,
3
- metaCollapsibleTrigger as CollapsibleTrigger,
4
- metaCollapsibleContent as CollapsibleContent,
5
- } from "./collapsible.ws";
6
- export {
7
- metaDialog as Dialog,
8
- metaDialogTrigger as DialogTrigger,
9
- metaDialogOverlay as DialogOverlay,
10
- metaDialogContent as DialogContent,
11
- metaDialogClose as DialogClose,
12
- metaDialogTitle as DialogTitle,
13
- metaDialogDescription as DialogDescription,
14
- } from "./dialog.ws";
15
- export { meta as Sheet } from "./sheet.ws";
16
- export {
17
- metaPopover as Popover,
18
- metaPopoverTrigger as PopoverTrigger,
19
- metaPopoverContent as PopoverContent,
20
- } from "./popover.ws";
21
- export {
22
- metaTooltip as Tooltip,
23
- metaTooltipTrigger as TooltipTrigger,
24
- metaTooltipContent as TooltipContent,
25
- } from "./tooltip.ws";
26
- export {
27
- metaTabs as Tabs,
28
- metaTabsList as TabsList,
29
- metaTabsTrigger as TabsTrigger,
30
- metaTabsContent as TabsContent,
31
- } from "./tabs.ws";
32
- export { meta as Label } from "./label.ws";
33
- export {
34
- metaAccordion as Accordion,
35
- metaAccordionItem as AccordionItem,
36
- metaAccordionHeader as AccordionHeader,
37
- metaAccordionTrigger as AccordionTrigger,
38
- metaAccordionContent as AccordionContent,
39
- } from "./accordion.ws";
40
-
41
- export {
42
- metaNavigationMenu as NavigationMenu,
43
- metaNavigationMenuList as NavigationMenuList,
44
- metaNavigationMenuItem as NavigationMenuItem,
45
- metaNavigationMenuTrigger as NavigationMenuTrigger,
46
- metaNavigationMenuContent as NavigationMenuContent,
47
- metaNavigationMenuLink as NavigationMenuLink,
48
- metaNavigationMenuViewport as NavigationMenuViewport,
49
- } from "./navigation-menu.ws";
50
-
51
- export {
52
- metaSelect as Select,
53
- metaSelectTrigger as SelectTrigger,
54
- metaSelectValue as SelectValue,
55
- metaSelectViewport as SelectViewport,
56
- metaSelectContent as SelectContent,
57
- metaSelectItem as SelectItem,
58
- metaSelectItemIndicator as SelectItemIndicator,
59
- metaSelectItemText as SelectItemText,
60
- } from "./select.ws";
61
-
62
- export {
63
- metaSwitch as Switch,
64
- metaSwitchThumb as SwitchThumb,
65
- } from "./switch.ws";
66
- export {
67
- metaCheckbox as Checkbox,
68
- metaCheckboxIndicator as CheckboxIndicator,
69
- } from "./checkbox.ws";
70
- export {
71
- metaRadioGroup as RadioGroup,
72
- metaRadioGroupItem as RadioGroupItem,
73
- metaRadioGroupIndicator as RadioGroupIndicator,
74
- } from "./radio-group.ws";
@@ -1,130 +0,0 @@
1
- /* eslint-disable react/display-name */
2
- import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
3
- import {
4
- getClosestInstance,
5
- getIndexWithinAncestorFromComponentProps,
6
- ReactSdkContext,
7
- type Hook,
8
- } from "@webstudio-is/react-sdk";
9
- import {
10
- Children,
11
- forwardRef,
12
- type ComponentPropsWithoutRef,
13
- type ReactNode,
14
- useContext,
15
- } from "react";
16
-
17
- export const NavigationMenu = forwardRef<
18
- HTMLLIElement,
19
- Omit<
20
- ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>,
21
- "orientation" | "aria-orientation"
22
- >
23
- >(({ value: propsValue, ...props }, ref) => {
24
- /**
25
- * If the value is an empty string, "NavigationMenuViewport" isn't in the tree.
26
- * This is Radix's way to differentiate animations. However, in the builder, we can't style non-existing elements.
27
- * Since we don't need animations in the builder, we can trick Radix by setting a non-empty string like "-1" to the value property.
28
- * This ensures "NavigationMenuViewport" always appears in the HTML tree.
29
- **/
30
- const { renderer } = useContext(ReactSdkContext);
31
- let value = propsValue;
32
- if (renderer === "canvas") {
33
- value = value === "" ? "-1" : value;
34
- }
35
-
36
- return <NavigationMenuPrimitive.Root ref={ref} value={value} {...props} />;
37
- });
38
-
39
- export const NavigationMenuList = NavigationMenuPrimitive.List;
40
-
41
- export const NavigationMenuViewport = NavigationMenuPrimitive.Viewport;
42
- export const NavigationMenuContent = NavigationMenuPrimitive.Content;
43
-
44
- export const NavigationMenuItem = forwardRef<
45
- HTMLLIElement,
46
- Omit<ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Item>, "asChild">
47
- >(({ value, ...props }, ref) => {
48
- const index = getIndexWithinAncestorFromComponentProps(props);
49
- return (
50
- <NavigationMenuPrimitive.Item ref={ref} value={value ?? index} {...props} />
51
- );
52
- });
53
-
54
- export const NavigationMenuLink = forwardRef<
55
- HTMLAnchorElement,
56
- { children: ReactNode }
57
- >(({ children, ...props }, ref) => {
58
- const firstChild = Children.toArray(children)[0];
59
-
60
- return (
61
- <NavigationMenuPrimitive.Link asChild={true} ref={ref} {...props}>
62
- {firstChild ?? <a>Add link component</a>}
63
- </NavigationMenuPrimitive.Link>
64
- );
65
- });
66
-
67
- export const NavigationMenuTrigger = forwardRef<
68
- HTMLButtonElement,
69
- { children: ReactNode }
70
- >(({ children, ...props }, ref) => {
71
- const firstChild = Children.toArray(children)[0];
72
-
73
- return (
74
- <NavigationMenuPrimitive.Trigger asChild={true} ref={ref} {...props}>
75
- {firstChild ?? <button>Add button or link</button>}
76
- </NavigationMenuPrimitive.Trigger>
77
- );
78
- });
79
-
80
- const namespace = "@webstudio-is/sdk-components-react-radix";
81
-
82
- // For each NavigationMenuItem component within the selection,
83
- // we identify its closest parent NavigationMenu component
84
- // and update its open prop bound to variable.
85
- export const hooksNavigationMenu: Hook = {
86
- onNavigatorUnselect: (context, event) => {
87
- for (const instance of event.instancePath) {
88
- if (instance.component === `${namespace}:NavigationMenuContent`) {
89
- const menu = getClosestInstance(
90
- event.instancePath,
91
- instance,
92
- `${namespace}:NavigationMenu`
93
- );
94
-
95
- if (menu) {
96
- context.setPropVariable(menu.id, "value", "");
97
- }
98
- }
99
- }
100
- },
101
- onNavigatorSelect: (context, event) => {
102
- for (const instance of event.instancePath) {
103
- if (instance.component === `${namespace}:NavigationMenuContent`) {
104
- const menu = getClosestInstance(
105
- event.instancePath,
106
- instance,
107
- `${namespace}:NavigationMenu`
108
- );
109
-
110
- const menuItem = getClosestInstance(
111
- event.instancePath,
112
- instance,
113
- `${namespace}:NavigationMenuItem`
114
- );
115
-
116
- if (menuItem === undefined || menu === undefined) {
117
- return;
118
- }
119
-
120
- const contentValue =
121
- context.getPropValue(menuItem.id, "value") ??
122
- context.indexesWithinAncestors.get(menuItem.id)?.toString();
123
-
124
- if (contentValue) {
125
- context.setPropVariable(menu.id, "value", contentValue);
126
- }
127
- }
128
- }
129
- },
130
- };