@webstudio-is/sdk-components-react-radix 0.87.1 → 0.89.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 (192) hide show
  1. package/lib/__generated__/accordion.props.js +605 -114
  2. package/lib/__generated__/button.props.js +158 -47
  3. package/lib/__generated__/checkbox.props.js +1083 -0
  4. package/lib/__generated__/collapsible.props.js +234 -44
  5. package/lib/__generated__/dialog.props.js +611 -121
  6. package/lib/__generated__/input.props.js +264 -47
  7. package/lib/__generated__/label.props.js +123 -23
  8. package/lib/__generated__/navigation-menu.props.js +2565 -0
  9. package/lib/__generated__/popover.props.js +129 -28
  10. package/lib/__generated__/radio-group.props.js +1627 -0
  11. package/lib/__generated__/select.props.js +3678 -0
  12. package/lib/__generated__/sheet.props.js +591 -121
  13. package/lib/__generated__/switch.props.js +1083 -0
  14. package/lib/__generated__/tabs.props.js +906 -68
  15. package/lib/__generated__/textarea.props.js +177 -31
  16. package/lib/__generated__/tooltip.props.js +131 -29
  17. package/lib/accordion.js +11 -4
  18. package/lib/accordion.ws.js +88 -72
  19. package/lib/checkbox.js +13 -0
  20. package/lib/checkbox.ws.js +153 -0
  21. package/lib/cjs/__generated__/accordion.props.js +605 -114
  22. package/lib/cjs/__generated__/button.props.js +158 -47
  23. package/lib/cjs/__generated__/checkbox.props.js +1103 -0
  24. package/lib/cjs/__generated__/collapsible.props.js +234 -44
  25. package/lib/cjs/__generated__/dialog.props.js +611 -121
  26. package/lib/cjs/__generated__/input.props.js +264 -47
  27. package/lib/cjs/__generated__/label.props.js +123 -23
  28. package/lib/cjs/__generated__/navigation-menu.props.js +2585 -0
  29. package/lib/cjs/__generated__/popover.props.js +129 -28
  30. package/lib/cjs/__generated__/radio-group.props.js +1647 -0
  31. package/lib/cjs/__generated__/select.props.js +3698 -0
  32. package/lib/cjs/__generated__/sheet.props.js +591 -121
  33. package/lib/cjs/__generated__/switch.props.js +1103 -0
  34. package/lib/cjs/__generated__/tabs.props.js +906 -68
  35. package/lib/cjs/__generated__/textarea.props.js +177 -31
  36. package/lib/cjs/__generated__/tooltip.props.js +131 -29
  37. package/lib/cjs/accordion.js +11 -4
  38. package/lib/cjs/accordion.ws.js +86 -71
  39. package/lib/cjs/{textarea.js → checkbox.js} +9 -6
  40. package/lib/cjs/checkbox.ws.js +174 -0
  41. package/lib/cjs/collapsible.ws.js +5 -1
  42. package/lib/cjs/components.js +27 -14
  43. package/lib/cjs/dialog.ws.js +18 -17
  44. package/lib/cjs/hooks.js +5 -1
  45. package/lib/cjs/label.ws.js +2 -1
  46. package/lib/cjs/metas.js +29 -14
  47. package/lib/cjs/navigation-menu.js +107 -0
  48. package/lib/cjs/navigation-menu.ws.js +514 -0
  49. package/lib/cjs/popover.ws.js +13 -9
  50. package/lib/cjs/props-descriptions.js +56 -0
  51. package/lib/cjs/props.js +27 -14
  52. package/lib/cjs/{button.js → radio-group.js} +10 -8
  53. package/lib/cjs/radio-group.ws.js +191 -0
  54. package/lib/cjs/select.js +83 -0
  55. package/lib/cjs/select.ws.js +350 -0
  56. package/lib/cjs/sheet.ws.js +88 -176
  57. package/lib/cjs/{input.js → switch.js} +8 -9
  58. package/lib/cjs/switch.ws.js +173 -0
  59. package/lib/cjs/tabs.js +2 -3
  60. package/lib/cjs/tabs.ws.js +14 -18
  61. package/lib/cjs/theme/styles.js +100 -0
  62. package/lib/cjs/theme/tailwind-classes.js +125 -16
  63. package/lib/cjs/theme/tailwind-colors.js +1 -0
  64. package/lib/cjs/tooltip.ws.js +12 -8
  65. package/lib/collapsible.ws.js +5 -1
  66. package/lib/components.js +44 -22
  67. package/lib/dialog.ws.js +18 -17
  68. package/lib/hooks.js +5 -1
  69. package/lib/label.ws.js +2 -1
  70. package/lib/metas.js +58 -24
  71. package/lib/navigation-menu.js +85 -0
  72. package/lib/navigation-menu.ws.js +501 -0
  73. package/lib/popover.ws.js +13 -9
  74. package/lib/props-descriptions.js +36 -0
  75. package/lib/props.js +56 -24
  76. package/lib/radio-group.js +11 -0
  77. package/lib/radio-group.ws.js +173 -0
  78. package/lib/select.js +75 -0
  79. package/lib/select.ws.js +338 -0
  80. package/lib/sheet.ws.js +89 -194
  81. package/lib/switch.js +7 -0
  82. package/lib/switch.ws.js +145 -0
  83. package/lib/tabs.js +3 -5
  84. package/lib/tabs.ws.js +15 -19
  85. package/lib/theme/styles.js +70 -0
  86. package/lib/theme/tailwind-classes.js +125 -16
  87. package/lib/theme/tailwind-colors.js +1 -0
  88. package/lib/tooltip.ws.js +12 -8
  89. package/lib/types/__generated__/checkbox.props.d.ts +3 -0
  90. package/lib/types/__generated__/navigation-menu.props.d.ts +8 -0
  91. package/lib/types/__generated__/radio-group.props.d.ts +4 -0
  92. package/lib/types/__generated__/select.props.d.ts +9 -0
  93. package/lib/types/__generated__/switch.props.d.ts +3 -0
  94. package/lib/types/checkbox.d.ts +6 -0
  95. package/lib/types/checkbox.stories.d.ts +11 -0
  96. package/lib/types/checkbox.ws.d.ts +5 -0
  97. package/lib/types/components.d.ts +5 -4
  98. package/lib/types/metas.d.ts +6 -4
  99. package/lib/types/navigation-menu.d.ts +15 -0
  100. package/lib/types/navigation-menu.ws.d.ts +15 -0
  101. package/lib/types/props-descriptions.d.ts +29 -0
  102. package/lib/types/props.d.ts +5 -4
  103. package/lib/types/radio-group.d.ts +5 -0
  104. package/lib/types/radio-group.stories.d.ts +9 -0
  105. package/lib/types/radio-group.ws.d.ts +7 -0
  106. package/lib/types/select.d.ts +14 -0
  107. package/lib/types/select.ws.d.ts +17 -0
  108. package/lib/types/sheet.ws.d.ts +2 -15
  109. package/lib/types/switch.d.ts +4 -0
  110. package/lib/types/switch.stories.d.ts +9 -0
  111. package/lib/types/switch.ws.d.ts +5 -0
  112. package/lib/types/tabs.d.ts +3 -12
  113. package/lib/types/theme/radix-common-types.d.ts +3 -2
  114. package/lib/types/theme/styles.d.ts +215 -0
  115. package/lib/types/theme/tailwind-classes.d.ts +16 -6
  116. package/lib/types/theme/tailwind-colors.d.ts +1 -0
  117. package/lib/types/theme/tailwind-theme.d.ts +1 -1
  118. package/package.json +12 -7
  119. package/src/__generated__/accordion.props.ts +675 -108
  120. package/src/__generated__/button.props.ts +177 -45
  121. package/src/__generated__/checkbox.props.ts +1217 -0
  122. package/src/__generated__/collapsible.props.ts +261 -42
  123. package/src/__generated__/dialog.props.ts +682 -115
  124. package/src/__generated__/input.props.ts +292 -44
  125. package/src/__generated__/label.props.ts +137 -22
  126. package/src/__generated__/navigation-menu.props.ts +2882 -0
  127. package/src/__generated__/popover.props.ts +142 -24
  128. package/src/__generated__/radio-group.props.ts +1828 -0
  129. package/src/__generated__/select.props.ts +4130 -0
  130. package/src/__generated__/sheet.props.ts +657 -110
  131. package/src/__generated__/switch.props.ts +1217 -0
  132. package/src/__generated__/tabs.props.ts +1019 -67
  133. package/src/__generated__/textarea.props.ts +195 -30
  134. package/src/__generated__/tooltip.props.ts +145 -25
  135. package/src/accordion.tsx +14 -7
  136. package/src/accordion.ws.ts +87 -70
  137. package/src/{textarea.stories.ts → checkbox.stories.ts} +6 -11
  138. package/src/checkbox.tsx +22 -0
  139. package/src/checkbox.ws.ts +154 -0
  140. package/src/collapsible.ws.ts +6 -1
  141. package/src/components.ts +25 -12
  142. package/src/dialog.ws.tsx +17 -16
  143. package/src/hooks.ts +4 -0
  144. package/src/label.ws.ts +3 -1
  145. package/src/metas.ts +36 -12
  146. package/src/navigation-menu.stories.tsx +21 -0
  147. package/src/navigation-menu.tsx +130 -0
  148. package/src/navigation-menu.ws.ts +524 -0
  149. package/src/popover.ws.tsx +13 -9
  150. package/src/props-descriptions.ts +43 -0
  151. package/src/props.ts +35 -12
  152. package/src/{input.stories.ts → radio-group.stories.ts} +6 -15
  153. package/src/radio-group.tsx +17 -0
  154. package/src/radio-group.ws.ts +178 -0
  155. package/src/select.stories.tsx +21 -0
  156. package/src/select.tsx +112 -0
  157. package/src/select.ws.ts +349 -0
  158. package/src/sheet.ws.tsx +91 -209
  159. package/src/{button.stories.ts → switch.stories.ts} +6 -19
  160. package/src/switch.tsx +10 -0
  161. package/src/switch.ws.ts +146 -0
  162. package/src/tabs.tsx +4 -17
  163. package/src/tabs.ws.ts +19 -19
  164. package/src/theme/radix-common-types.ts +3 -2
  165. package/src/theme/styles.ts +80 -0
  166. package/src/theme/tailwind-classes.ts +150 -14
  167. package/src/theme/tailwind-colors.ts +1 -0
  168. package/src/tooltip.ws.tsx +13 -8
  169. package/lib/button.js +0 -8
  170. package/lib/button.ws.js +0 -133
  171. package/lib/cjs/button.ws.js +0 -160
  172. package/lib/cjs/input.ws.js +0 -103
  173. package/lib/cjs/textarea.ws.js +0 -98
  174. package/lib/input.js +0 -8
  175. package/lib/input.ws.js +0 -75
  176. package/lib/textarea.js +0 -8
  177. package/lib/textarea.ws.js +0 -70
  178. package/lib/types/button.d.ts +0 -7
  179. package/lib/types/button.stories.d.ts +0 -20
  180. package/lib/types/button.ws.d.ts +0 -7
  181. package/lib/types/input.d.ts +0 -2
  182. package/lib/types/input.stories.d.ts +0 -20
  183. package/lib/types/input.ws.d.ts +0 -3
  184. package/lib/types/textarea.d.ts +0 -2
  185. package/lib/types/textarea.stories.d.ts +0 -14
  186. package/lib/types/textarea.ws.d.ts +0 -3
  187. package/src/button.tsx +0 -25
  188. package/src/button.ws.ts +0 -155
  189. package/src/input.tsx +0 -12
  190. package/src/input.ws.ts +0 -78
  191. package/src/textarea.tsx +0 -12
  192. package/src/textarea.ws.ts +0 -74
@@ -16,13 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var input_exports = {};
20
- __export(input_exports, {
21
- Input: () => Input
22
- });
23
- module.exports = __toCommonJS(input_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_react = require("react");
26
- const Input = (0, import_react.forwardRef)(({ children: _children, ...props }, ref) => {
27
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref, ...props });
19
+ var switch_exports = {};
20
+ __export(switch_exports, {
21
+ Switch: () => Switch,
22
+ SwitchThumb: () => SwitchThumb
28
23
  });
24
+ module.exports = __toCommonJS(switch_exports);
25
+ var import_react_switch = require("@radix-ui/react-switch");
26
+ const Switch = import_react_switch.Root;
27
+ const SwitchThumb = import_react_switch.Thumb;
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var switch_ws_exports = {};
30
+ __export(switch_ws_exports, {
31
+ metaSwitch: () => metaSwitch,
32
+ metaSwitchThumb: () => metaSwitchThumb,
33
+ propsMetaSwitch: () => propsMetaSwitch,
34
+ propsMetaSwitchThumb: () => propsMetaSwitchThumb
35
+ });
36
+ module.exports = __toCommonJS(switch_ws_exports);
37
+ var import_svg = require("@webstudio-is/icons/svg");
38
+ var import_react_sdk = require("@webstudio-is/react-sdk");
39
+ var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
40
+ var tc = __toESM(require("./theme/tailwind-classes"), 1);
41
+ var import_styles = require("./theme/styles");
42
+ var import_switch = require("./__generated__/switch.props");
43
+ const metaSwitch = {
44
+ category: "radix",
45
+ order: 11,
46
+ type: "container",
47
+ description: "A control that allows the user to toggle between checked and not checked.",
48
+ icon: import_svg.SwitchIcon,
49
+ states: [
50
+ ...import_react_sdk.defaultStates,
51
+ {
52
+ label: "Checked",
53
+ selector: "[data-state=checked]",
54
+ category: "component-states"
55
+ },
56
+ {
57
+ label: "Unchecked",
58
+ selector: "[data-state=unchecked]",
59
+ category: "component-states"
60
+ }
61
+ ],
62
+ presetStyle: {
63
+ button: [import_css_normalize.button, import_styles.buttonReset].flat()
64
+ },
65
+ template: [
66
+ {
67
+ type: "instance",
68
+ component: "Switch",
69
+ dataSources: {
70
+ switchChecked: { type: "variable", initialValue: false }
71
+ },
72
+ props: [
73
+ {
74
+ name: "checked",
75
+ type: "dataSource",
76
+ dataSourceName: "switchChecked"
77
+ },
78
+ {
79
+ name: "onCheckedChange",
80
+ type: "action",
81
+ value: [
82
+ {
83
+ type: "execute",
84
+ args: ["checked"],
85
+ code: `switchChecked = checked`
86
+ }
87
+ ]
88
+ }
89
+ ],
90
+ // peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors
91
+ // focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background
92
+ // disabled:cursor-not-allowed disabled:opacity-50
93
+ // data-[state=checked]:bg-primary
94
+ // data-[state=unchecked]:bg-input
95
+ styles: [
96
+ // We are not supporting peer like styles yet
97
+ tc.inlineFlex(),
98
+ tc.property("height", "24px"),
99
+ tc.property("width", "44px"),
100
+ tc.shrink(0),
101
+ tc.cursor("pointer"),
102
+ tc.items("center"),
103
+ tc.rounded("full"),
104
+ tc.border(2),
105
+ tc.border("transparent"),
106
+ tc.transition("all"),
107
+ tc.focusVisible(
108
+ [tc.outline("none"), tc.ring("ring", 2, "background", 2)].flat()
109
+ ),
110
+ tc.disabled([tc.cursor("not-allowed"), tc.opacity(50)].flat()),
111
+ tc.state([tc.bg("primary")].flat(), "[data-state=checked]"),
112
+ tc.state([tc.bg("input")].flat(), "[data-state=unchecked]")
113
+ ].flat(),
114
+ children: [
115
+ {
116
+ type: "instance",
117
+ component: "SwitchThumb",
118
+ // pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform
119
+ // data-[state=checked]:translate-x-5
120
+ // data-[state=unchecked]:translate-x-0
121
+ styles: [
122
+ tc.pointerEvents("none"),
123
+ tc.block(),
124
+ tc.h(5),
125
+ tc.w(5),
126
+ tc.rounded("full"),
127
+ tc.bg("background"),
128
+ tc.shadow("lg"),
129
+ tc.transition("transform"),
130
+ tc.state(
131
+ [tc.property("transform", "translateX(20px)")].flat(),
132
+ "[data-state=checked]"
133
+ ),
134
+ tc.state(
135
+ [tc.property("transform", "translateX(0px)")].flat(),
136
+ "[data-state=unchecked]"
137
+ )
138
+ ].flat(),
139
+ children: []
140
+ }
141
+ ]
142
+ }
143
+ ]
144
+ };
145
+ const metaSwitchThumb = {
146
+ category: "hidden",
147
+ type: "container",
148
+ detachable: false,
149
+ icon: import_svg.TriggerIcon,
150
+ states: [
151
+ ...import_react_sdk.defaultStates,
152
+ {
153
+ label: "Checked",
154
+ selector: "[data-state=checked]",
155
+ category: "component-states"
156
+ },
157
+ {
158
+ label: "Unchecked",
159
+ selector: "[data-state=unchecked]",
160
+ category: "component-states"
161
+ }
162
+ ],
163
+ presetStyle: {
164
+ span: import_css_normalize.span
165
+ }
166
+ };
167
+ const propsMetaSwitch = {
168
+ props: import_switch.propsSwitch,
169
+ initialProps: ["id", "checked", "name", "required"]
170
+ };
171
+ const propsMetaSwitchThumb = {
172
+ props: import_switch.propsSwitchThumb
173
+ };
package/lib/cjs/tabs.js CHANGED
@@ -31,10 +31,9 @@ var import_react_tabs = require("@radix-ui/react-tabs");
31
31
  var import_react_sdk = require("@webstudio-is/react-sdk");
32
32
  const Tabs = import_react_tabs.Root;
33
33
  const TabsList = import_react_tabs.List;
34
- const TabsTrigger = (0, import_react.forwardRef)(({ value, children, ...props }, ref) => {
35
- const firstChild = import_react.Children.toArray(children)[0];
34
+ const TabsTrigger = (0, import_react.forwardRef)(({ value, ...props }, ref) => {
36
35
  const index = (0, import_react_sdk.getIndexWithinAncestorFromComponentProps)(props);
37
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tabs.Trigger, { ref, value: value ?? index, asChild: true, ...props, children: firstChild ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { children: "Add button" }) });
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tabs.Trigger, { ref, value: value ?? index, ...props });
38
37
  });
39
38
  const TabsContent = (0, import_react.forwardRef)(({ value, ...props }, ref) => {
40
39
  const index = (0, import_react_sdk.getIndexWithinAncestorFromComponentProps)(props);
@@ -41,6 +41,7 @@ module.exports = __toCommonJS(tabs_ws_exports);
41
41
  var import_svg = require("@webstudio-is/icons/svg");
42
42
  var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
43
43
  var tc = __toESM(require("./theme/tailwind-classes"), 1);
44
+ var import_styles = require("./theme/styles");
44
45
  var import_tabs = require("./__generated__/tabs.props");
45
46
  const presetStyle = {
46
47
  div: import_css_normalize.div
@@ -73,9 +74,11 @@ const tabsContentStyles = [
73
74
  ].flat();
74
75
  const metaTabs = {
75
76
  category: "radix",
77
+ order: 2,
76
78
  type: "container",
77
79
  icon: import_svg.TabsIcon,
78
80
  presetStyle,
81
+ description: "A set of panels with content that are displayed one at a time. Duplicate both a tab trigger and tab content to add more tabs. Triggers and content are connected according to their order in the Navigator.",
79
82
  template: [
80
83
  {
81
84
  type: "instance",
@@ -112,26 +115,14 @@ const metaTabs = {
112
115
  {
113
116
  type: "instance",
114
117
  component: "TabsTrigger",
115
- children: [
116
- {
117
- type: "instance",
118
- component: "Button",
119
- styles: tabsTriggerStyles,
120
- children: [{ type: "text", value: "Account" }]
121
- }
122
- ]
118
+ styles: tabsTriggerStyles,
119
+ children: [{ type: "text", value: "Account" }]
123
120
  },
124
121
  {
125
122
  type: "instance",
126
123
  component: "TabsTrigger",
127
- children: [
128
- {
129
- type: "instance",
130
- component: "Button",
131
- styles: tabsTriggerStyles,
132
- children: [{ type: "text", value: "Password" }]
133
- }
134
- ]
124
+ styles: tabsTriggerStyles,
125
+ children: [{ type: "text", value: "Password" }]
135
126
  }
136
127
  ]
137
128
  },
@@ -167,7 +158,11 @@ const metaTabsTrigger = {
167
158
  icon: import_svg.TriggerIcon,
168
159
  requiredAncestors: ["TabsList"],
169
160
  invalidAncestors: ["TabsTrigger"],
170
- indexWithinAncestor: "Tabs"
161
+ indexWithinAncestor: "Tabs",
162
+ label: "Tab Trigger",
163
+ presetStyle: {
164
+ button: [import_css_normalize.button, import_styles.buttonReset].flat()
165
+ }
171
166
  };
172
167
  const metaTabsContent = {
173
168
  category: "hidden",
@@ -175,7 +170,8 @@ const metaTabsContent = {
175
170
  icon: import_svg.ContentIcon,
176
171
  requiredAncestors: ["Tabs"],
177
172
  indexWithinAncestor: "Tabs",
178
- presetStyle
173
+ presetStyle,
174
+ label: "Tab Content"
179
175
  };
180
176
  const propsMetaTabs = {
181
177
  props: import_tabs.propsTabs
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var styles_exports = {};
30
+ __export(styles_exports, {
31
+ buttonReset: () => buttonReset,
32
+ getButtonStyles: () => getButtonStyles
33
+ });
34
+ module.exports = __toCommonJS(styles_exports);
35
+ var tc = __toESM(require("./tailwind-classes"), 1);
36
+ const getButtonStyles = (variant, size = "default") => {
37
+ const styles = [
38
+ // 'inline-flex items-center justify-center rounded-md text-sm font-medium
39
+ // ring-offset-background transition-colors
40
+ // focus-visible:outline-none focus-visible:ring-2
41
+ // focus-visible:ring-ring focus-visible:ring-offset-2
42
+ // disabled:pointer-events-none disabled:opacity-50'
43
+ tc.border(0),
44
+ tc.bg("transparent"),
45
+ tc.inlineFlex(),
46
+ tc.items("center"),
47
+ tc.justify("center"),
48
+ tc.rounded("md"),
49
+ tc.text("sm"),
50
+ tc.font("medium"),
51
+ tc.focusVisible(
52
+ [tc.outline("none"), tc.ring("ring", 2, "background", 2)].flat()
53
+ ),
54
+ tc.state([tc.pointerEvents("none"), tc.opacity(50)].flat(), ":disabled")
55
+ ].flat();
56
+ let variantStyles = [];
57
+ if (variant === "ghost") {
58
+ variantStyles = [
59
+ tc.state([tc.bg("accent"), tc.text("accentForeground")].flat(), ":hover")
60
+ ].flat();
61
+ }
62
+ if (variant === "outline") {
63
+ variantStyles = [
64
+ tc.border(),
65
+ tc.border("input"),
66
+ tc.bg("background"),
67
+ tc.state(
68
+ [tc.bg("accent", 90), tc.text("accentForeground")].flat(),
69
+ ":hover"
70
+ )
71
+ ].flat();
72
+ }
73
+ let sizeStyles = [];
74
+ if (size === "icon") {
75
+ sizeStyles = [tc.h(10), tc.w(10)].flat();
76
+ }
77
+ if (size === "sm") {
78
+ sizeStyles = [tc.h(10), tc.px(3)].flat();
79
+ }
80
+ if (size === "default") {
81
+ sizeStyles = [tc.h(10), tc.px(4), tc.py(2)].flat();
82
+ }
83
+ return [...styles, ...variantStyles, ...sizeStyles];
84
+ };
85
+ const buttonReset = [
86
+ {
87
+ property: "backgroundColor",
88
+ value: { type: "keyword", value: "transparent" }
89
+ },
90
+ {
91
+ property: "backgroundImage",
92
+ value: { type: "keyword", value: "none" }
93
+ },
94
+ {
95
+ property: "cursor",
96
+ value: { type: "keyword", value: "pointer" }
97
+ },
98
+ tc.border(0),
99
+ tc.p(0)
100
+ ].flat();
@@ -19,13 +19,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var tailwind_classes_exports = {};
20
20
  __export(tailwind_classes_exports, {
21
21
  absolute: () => absolute,
22
+ aspect: () => aspect,
22
23
  backdropBlur: () => backdropBlur,
23
24
  bg: () => bg,
25
+ block: () => block,
24
26
  border: () => border,
25
27
  borderB: () => borderB,
26
28
  bottom: () => bottom,
27
29
  cursor: () => cursor,
28
30
  disabled: () => disabled,
31
+ duration: () => duration,
29
32
  fixed: () => fixed,
30
33
  flex: () => flex,
31
34
  focus: () => focus,
@@ -42,6 +45,8 @@ __export(tailwind_classes_exports, {
42
45
  justify: () => justify,
43
46
  leading: () => leading,
44
47
  left: () => left,
48
+ lineClamp: () => lineClamp,
49
+ list: () => list,
45
50
  m: () => m,
46
51
  maxW: () => maxW,
47
52
  mb: () => mb,
@@ -51,6 +56,7 @@ __export(tailwind_classes_exports, {
51
56
  mt: () => mt,
52
57
  mx: () => mx,
53
58
  my: () => my,
59
+ noUnderline: () => noUnderline,
54
60
  opacity: () => opacity,
55
61
  outline: () => outline,
56
62
  overflow: () => overflow,
@@ -59,6 +65,7 @@ __export(tailwind_classes_exports, {
59
65
  pl: () => pl,
60
66
  pointerEvents: () => pointerEvents,
61
67
  pr: () => pr,
68
+ property: () => property,
62
69
  pt: () => pt,
63
70
  px: () => px,
64
71
  py: () => py,
@@ -66,7 +73,9 @@ __export(tailwind_classes_exports, {
66
73
  right: () => right,
67
74
  ring: () => ring,
68
75
  rounded: () => rounded,
76
+ select: () => select,
69
77
  shadow: () => shadow,
78
+ shrink: () => shrink,
70
79
  state: () => state,
71
80
  text: () => text,
72
81
  top: () => top,
@@ -81,6 +90,18 @@ __export(tailwind_classes_exports, {
81
90
  module.exports = __toCommonJS(tailwind_classes_exports);
82
91
  var import_tailwind_theme = require("./tailwind-theme");
83
92
  var import_css_data = require("@webstudio-is/css-data");
93
+ const property = (property2, value) => {
94
+ if (value.startsWith("--")) {
95
+ return {
96
+ property: property2,
97
+ value: { type: "var", value: value.slice(2), fallbacks: [] }
98
+ };
99
+ }
100
+ return {
101
+ property: property2,
102
+ value: { type: "unparsed", value }
103
+ };
104
+ };
84
105
  const preflight = () => {
85
106
  const borderColorValue = (0, import_css_data.parseCssValue)("color", (0, import_tailwind_theme.theme)("colors")["border"]);
86
107
  return [
@@ -217,11 +238,11 @@ const borderB = (borderWidthOrColor) => {
217
238
  }
218
239
  ];
219
240
  };
220
- const paddingProperty = (property) => (padding) => {
241
+ const paddingProperty = (property2) => (padding) => {
221
242
  const key = `${padding}`;
222
243
  const valueString = (0, import_tailwind_theme.theme)("padding")?.[key] ?? "0";
223
- const value = (0, import_css_data.parseCssValue)(property, valueString);
224
- return [{ property, value }];
244
+ const value = (0, import_css_data.parseCssValue)(property2, valueString);
245
+ return [{ property: property2, value }];
225
246
  };
226
247
  const pt = (padding) => {
227
248
  return paddingProperty("paddingTop")(padding);
@@ -244,11 +265,11 @@ const py = (padding) => {
244
265
  const p = (padding) => {
245
266
  return [px(padding), py(padding)].flat();
246
267
  };
247
- const marginProperty = (property) => (margin) => {
268
+ const marginProperty = (property2) => (margin) => {
248
269
  const key = `${margin}`;
249
270
  const valueString = (0, import_tailwind_theme.theme)("margin")?.[key] ?? "0";
250
- const value = (0, import_css_data.parseCssValue)(property, valueString);
251
- return [{ property, value }];
271
+ const value = (0, import_css_data.parseCssValue)(property2, valueString);
272
+ return [{ property: property2, value }];
252
273
  };
253
274
  const ml = (margin) => {
254
275
  return marginProperty("marginLeft")(margin);
@@ -316,11 +337,11 @@ const maxW = (spacing) => {
316
337
  const value = (0, import_css_data.parseCssValue)("width", valueString);
317
338
  return [{ property: "maxWidth", value }];
318
339
  };
319
- const positionStyle = (property, spacing) => {
340
+ const positionStyle = (property2, spacing) => {
320
341
  const key = `${spacing}`;
321
- const valueString = (0, import_tailwind_theme.theme)("spacing")?.[key] ?? "0";
322
- const value = (0, import_css_data.parseCssValue)(property, valueString);
323
- return { property, value };
342
+ const valueString = (0, import_tailwind_theme.theme)("inset")?.[key] ?? "0";
343
+ const value = (0, import_css_data.parseCssValue)(property2, valueString);
344
+ return { property: property2, value };
324
345
  };
325
346
  const top = (spacing) => [positionStyle("top", spacing)];
326
347
  const right = (spacing) => [positionStyle("right", spacing)];
@@ -332,6 +353,21 @@ const inset = (spacing) => [
332
353
  positionStyle("top", spacing),
333
354
  positionStyle("bottom", spacing)
334
355
  ];
356
+ const aspect = (value) => {
357
+ let unparsed = value;
358
+ if (value === "square") {
359
+ unparsed = "1 / 1";
360
+ }
361
+ if (value === "video") {
362
+ unparsed = "16 / 9";
363
+ }
364
+ return [
365
+ {
366
+ property: "aspectRatio",
367
+ value: { type: "unparsed", value: unparsed }
368
+ }
369
+ ];
370
+ };
335
371
  const backdropBlur = (blur) => {
336
372
  const valueString = (0, import_tailwind_theme.theme)("blur")[blur];
337
373
  const value = {
@@ -340,6 +376,22 @@ const backdropBlur = (blur) => {
340
376
  };
341
377
  return [{ property: "backdropFilter", value }];
342
378
  };
379
+ const list = (listStyle) => {
380
+ const valueString = (0, import_tailwind_theme.theme)("listStyleType")[listStyle];
381
+ const value = (0, import_css_data.parseCssValue)("listStyleType", valueString);
382
+ return [{ property: "listStyleType", value }];
383
+ };
384
+ const select = (selectValue) => {
385
+ return [
386
+ {
387
+ property: "userSelect",
388
+ value: {
389
+ type: "keyword",
390
+ value: "none"
391
+ }
392
+ }
393
+ ];
394
+ };
343
395
  const bg = (color, alpha) => {
344
396
  const value = (0, import_css_data.parseCssValue)("backgroundColor", (0, import_tailwind_theme.theme)("colors")[color]);
345
397
  if (alpha !== void 0 && value.type === "rgb") {
@@ -411,6 +463,9 @@ const inlineFlex = () => {
411
463
  { property: "display", value: { type: "keyword", value: "inline-flex" } }
412
464
  ];
413
465
  };
466
+ const block = () => {
467
+ return [{ property: "display", value: { type: "keyword", value: "block" } }];
468
+ };
414
469
  const flexDirection = { row: "row", col: "column" };
415
470
  const flex = (flexParam) => {
416
471
  if (flexParam === void 0) {
@@ -494,11 +549,15 @@ const grow = () => {
494
549
  return [
495
550
  {
496
551
  property: "flexGrow",
497
- value: {
498
- type: "unit",
499
- value: 1,
500
- unit: "number"
501
- }
552
+ value: { type: "unit", value: 1, unit: "number" }
553
+ }
554
+ ];
555
+ };
556
+ const shrink = (value) => {
557
+ return [
558
+ {
559
+ property: "flexGrow",
560
+ value: { type: "unit", value, unit: "number" }
502
561
  }
503
562
  ];
504
563
  };
@@ -511,6 +570,40 @@ const gap = (gapValue) => {
511
570
  { property: "columnGap", value }
512
571
  ];
513
572
  };
573
+ const lineClamp = (lineClampValue) => {
574
+ const key = `${lineClampValue}`;
575
+ const valueString = (0, import_tailwind_theme.theme)("lineClamp")?.[key];
576
+ return [
577
+ {
578
+ property: "overflow",
579
+ value: {
580
+ type: "keyword",
581
+ value: "hidden"
582
+ }
583
+ },
584
+ {
585
+ property: "display",
586
+ value: {
587
+ type: "keyword",
588
+ value: "-webkit-box"
589
+ }
590
+ },
591
+ {
592
+ property: "-webkit-box-orient",
593
+ value: {
594
+ type: "keyword",
595
+ value: "vertical"
596
+ }
597
+ },
598
+ {
599
+ property: "-webkit-line-clamp",
600
+ value: {
601
+ type: "keyword",
602
+ value: valueString
603
+ }
604
+ }
605
+ ];
606
+ };
514
607
  const leading = (lineHeight) => {
515
608
  const key = `${lineHeight}`;
516
609
  const valueString = (0, import_tailwind_theme.theme)("lineHeight")[key];
@@ -578,6 +671,14 @@ const text = (sizeOrColor) => {
578
671
  }
579
672
  ];
580
673
  };
674
+ const noUnderline = () => {
675
+ return [
676
+ {
677
+ property: "textDecorationLine",
678
+ value: { type: "keyword", value: "none" }
679
+ }
680
+ ];
681
+ };
581
682
  const underline = () => {
582
683
  return [
583
684
  {
@@ -666,7 +767,7 @@ const transition = (value) => {
666
767
  return [
667
768
  {
668
769
  property: "transitionProperty",
669
- value: { type: "keyword", value: "all" }
770
+ value: { type: "keyword", value }
670
771
  },
671
772
  {
672
773
  property: "transitionTimingFunction",
@@ -678,6 +779,14 @@ const transition = (value) => {
678
779
  }
679
780
  ];
680
781
  };
782
+ const duration = (ms) => {
783
+ return [
784
+ {
785
+ property: "transitionDuration",
786
+ value: { type: "unit", value: ms, unit: "ms" }
787
+ }
788
+ ];
789
+ };
681
790
  const hover = (value) => {
682
791
  return value.map((decl) => ({
683
792
  ...decl,
@@ -24,6 +24,7 @@ module.exports = __toCommonJS(tailwind_colors_exports);
24
24
  const colors = {
25
25
  transparent: "transparent",
26
26
  current: "currentColor",
27
+ inherit: "inherit",
27
28
  popover: "rgb(255, 255, 255)",
28
29
  popoverForeground: "rgb(2, 8, 23)",
29
30
  border: "rgb(226, 232, 240)",