@plasmicpkgs/radix-ui 0.0.22 → 0.0.24

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.
@@ -1,889 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var PopoverPrimitive = require('@radix-ui/react-popover');
8
- var React = require('react');
9
- var clsx = _interopDefault(require('clsx'));
10
- var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
11
- require('@plasmicapp/host/registerGlobalContext');
12
- var remeda = require('remeda');
13
- var DialogPrimitive = require('@radix-ui/react-dialog');
14
- var classVarianceAuthority = require('class-variance-authority');
15
- var lucideReact = require('lucide-react');
16
- var TooltipPrimitive = require('@radix-ui/react-tooltip');
17
-
18
- function _extends() {
19
- _extends = Object.assign ? Object.assign.bind() : function (target) {
20
- for (var i = 1; i < arguments.length; i++) {
21
- var source = arguments[i];
22
- for (var key in source) {
23
- if (Object.prototype.hasOwnProperty.call(source, key)) {
24
- target[key] = source[key];
25
- }
26
- }
27
- }
28
- return target;
29
- };
30
- return _extends.apply(this, arguments);
31
- }
32
- function _objectWithoutPropertiesLoose(source, excluded) {
33
- if (source == null) return {};
34
- var target = {};
35
- var sourceKeys = Object.keys(source);
36
- var key, i;
37
- for (i = 0; i < sourceKeys.length; i++) {
38
- key = sourceKeys[i];
39
- if (excluded.indexOf(key) >= 0) continue;
40
- target[key] = source[key];
41
- }
42
- return target;
43
- }
44
-
45
- function registerComponentHelper(loader, component, meta) {
46
- if (loader) {
47
- loader.registerComponent(component, meta);
48
- } else {
49
- registerComponent(component, meta);
50
- }
51
- }
52
-
53
- var _React$useId;
54
- var DEBUG_SLOWDOWN = 1;
55
- var enterAnims = ["fade-in", "zoom-enter", "slide-in-from-top", "slide-in-from-right", "slide-in-from-bottom", "slide-in-from-left"];
56
- var exitAnims = ["fade-out", "zoom-exit", "slide-out-to-top", "slide-out-to-right", "slide-out-to-bottom", "slide-out-to-left"];
57
- // https://github.com/reactwg/react-18/discussions/111#discussioncomment-1517837
58
- var id = 0;
59
- var useId = (_React$useId = React.useId) != null ? _React$useId : function () {
60
- return React.useState(function () {
61
- return "" + id++;
62
- });
63
- };
64
- /** Allow attaching pseudoclasses and other CSS selectors to this unique component instance */
65
- var StyleWrapper = function StyleWrapper(_ref) {
66
- var children = _ref.children,
67
- cssStr = _ref.cssStr;
68
- var dynClass = "pd__" + useId().replace(/:/g, "");
69
- return React.createElement(React.Fragment, null, children(dynClass), React.createElement("style", null, dynClass ? cssStr.replace(/&/g, "." + dynClass) : ""));
70
- };
71
- var Animated = function Animated(_ref2) {
72
- var children = _ref2.children,
73
- _ref2$enterAnimations = _ref2.enterAnimations,
74
- enterAnimations = _ref2$enterAnimations === void 0 ? ["fade-in"] : _ref2$enterAnimations,
75
- _ref2$exitAnimations = _ref2.exitAnimations,
76
- exitAnimations = _ref2$exitAnimations === void 0 ? ["fade-out"] : _ref2$exitAnimations,
77
- _ref2$enterDuration = _ref2.enterDuration,
78
- enterDuration = _ref2$enterDuration === void 0 ? 0.15 * DEBUG_SLOWDOWN : _ref2$enterDuration,
79
- _ref2$exitDuration = _ref2.exitDuration,
80
- exitDuration = _ref2$exitDuration === void 0 ? 0.15 * DEBUG_SLOWDOWN : _ref2$exitDuration,
81
- _ref2$enterOpacity = _ref2.enterOpacity,
82
- enterOpacity = _ref2$enterOpacity === void 0 ? 0 : _ref2$enterOpacity,
83
- _ref2$exitOpacity = _ref2.exitOpacity,
84
- exitOpacity = _ref2$exitOpacity === void 0 ? 0 : _ref2$exitOpacity,
85
- _ref2$enterScale = _ref2.enterScale,
86
- enterScale = _ref2$enterScale === void 0 ? 0.95 : _ref2$enterScale,
87
- _ref2$exitScale = _ref2.exitScale,
88
- exitScale = _ref2$exitScale === void 0 ? 0.95 : _ref2$exitScale,
89
- _ref2$enterTranslateX = _ref2.enterTranslateX,
90
- enterTranslateX = _ref2$enterTranslateX === void 0 ? "100%" : _ref2$enterTranslateX,
91
- _ref2$exitTranslateX = _ref2.exitTranslateX,
92
- exitTranslateX = _ref2$exitTranslateX === void 0 ? "100%" : _ref2$exitTranslateX,
93
- _ref2$enterTranslateY = _ref2.enterTranslateY,
94
- enterTranslateY = _ref2$enterTranslateY === void 0 ? "100%" : _ref2$enterTranslateY,
95
- _ref2$exitTranslateY = _ref2.exitTranslateY,
96
- exitTranslateY = _ref2$exitTranslateY === void 0 ? "100%" : _ref2$exitTranslateY,
97
- _ref2$enterTiming = _ref2.enterTiming,
98
- enterTiming = _ref2$enterTiming === void 0 ? "ease" : _ref2$enterTiming,
99
- _ref2$exitTiming = _ref2.exitTiming,
100
- exitTiming = _ref2$exitTiming === void 0 ? "ease" : _ref2$exitTiming,
101
- _ref2$enterDelay = _ref2.enterDelay,
102
- enterDelay = _ref2$enterDelay === void 0 ? 0 : _ref2$enterDelay,
103
- _ref2$exitDelay = _ref2.exitDelay,
104
- exitDelay = _ref2$exitDelay === void 0 ? 0 : _ref2$exitDelay;
105
- var pct = function pct(x) {
106
- return typeof x === "number" || x != null && x.match(/.*\d$/) ? x + "%" : x;
107
- };
108
- var neg = function neg(x) {
109
- return x.startsWith("-") ? x : "-" + x;
110
- };
111
- var animations = {
112
- "fade-in": "--tw-enter-opacity: " + enterOpacity + ";",
113
- "fade-out": "--tw-exit-opacity: " + exitOpacity + ";",
114
- "slide-in-from-top": "--tw-enter-translate-y: " + neg(pct(enterTranslateY)) + ";",
115
- "slide-out-to-top": "--tw-exit-translate-y: " + neg(pct(exitTranslateY)) + ";",
116
- "slide-in-from-right": "--tw-enter-translate-x: " + pct(enterTranslateX) + ";",
117
- "slide-out-to-right": "--tw-exit-translate-x: " + pct(exitTranslateX) + ";",
118
- "slide-in-from-bottom": "--tw-enter-translate-y: " + pct(enterTranslateY) + ";",
119
- "slide-out-to-bottom": "--tw-exit-translate-y: " + pct(exitTranslateY) + ";",
120
- "slide-in-from-left": "--tw-enter-translate-x: " + neg(pct(enterTranslateX)) + ";",
121
- "slide-out-to-left": "--tw-exit-translate-x: " + neg(pct(exitTranslateX)) + ";",
122
- "zoom-enter": "--tw-enter-scale: " + enterScale + ";",
123
- "zoom-exit": "--tw-exit-scale: " + exitScale + ";"
124
- };
125
- return React.createElement(StyleWrapper, {
126
- cssStr: "\n &&[data-state=closed] {\n animation-duration: " + exitDuration + "s;\n animation-timing-function: " + exitTiming + ";\n animation-delay: " + exitDelay + ";\n " + exitAnimations.map(function (exitAnimation) {
127
- var _animations$exitAnima;
128
- return (_animations$exitAnima = animations[exitAnimation]) != null ? _animations$exitAnima : "";
129
- }).join(" ") + "\n }\n &&,\n &&[data-state=open] {\n animation-duration: " + enterDuration + "s;\n animation-timing-function: " + enterTiming + ";\n animation-delay: " + enterDelay + ";\n " + enterAnimations.map(function (enterAnimation) {
130
- var _animations$enterAnim;
131
- return (_animations$enterAnim = animations[enterAnimation]) != null ? _animations$enterAnim : "";
132
- }).join(" ") + "\n }\n "
133
- }, children);
134
- };
135
- function splitAnimProps(props) {
136
- var keys = ["enterAnimations", "exitAnimations", "enterDuration", "exitDuration", "enterTranslateX", "exitTranslateX", "enterTranslateY", "exitTranslateY", "enterTiming", "exitTiming", "enterDelay", "exitDelay", "enterScale", "exitScale", "enterOpacity", "exitOpacity"];
137
- var a = remeda.pick(props, keys);
138
- var b = remeda.omit(props, keys);
139
- return [a, b];
140
- }
141
- function mungeNames(names) {
142
- return names.map(function (name) {
143
- return {
144
- label: name.replace(/-/g, " "),
145
- value: name
146
- };
147
- });
148
- }
149
- var animPropTypes = function animPropTypes(_ref3) {
150
- var defaultEnterAnimations = _ref3.defaultEnterAnimations,
151
- defaultExitAnimations = _ref3.defaultExitAnimations;
152
- var getEnterAnimations = function getEnterAnimations(ps) {
153
- var _ps$enterAnimations;
154
- return (_ps$enterAnimations = ps.enterAnimations) != null ? _ps$enterAnimations : defaultEnterAnimations == null ? void 0 : defaultEnterAnimations(ps);
155
- };
156
- var getExitAnimations = function getExitAnimations(ps) {
157
- var _ps$exitAnimations;
158
- return (_ps$exitAnimations = ps.exitAnimations) != null ? _ps$exitAnimations : defaultExitAnimations == null ? void 0 : defaultExitAnimations(ps);
159
- };
160
- var props = {
161
- enterAnimations: {
162
- type: "choice",
163
- options: mungeNames(enterAnims),
164
- multiSelect: true,
165
- defaultValueHint: defaultEnterAnimations != null ? defaultEnterAnimations : ["fade-in"]
166
- },
167
- exitAnimations: {
168
- type: "choice",
169
- options: mungeNames(exitAnims),
170
- multiSelect: true,
171
- defaultValueHint: defaultExitAnimations != null ? defaultExitAnimations : ["fade-out"]
172
- },
173
- enterDuration: {
174
- type: "number",
175
- defaultValueHint: 0.15
176
- },
177
- exitDuration: {
178
- type: "number",
179
- defaultValueHint: 0.15
180
- },
181
- enterTranslateX: {
182
- type: "string",
183
- defaultValueHint: "100%",
184
- hidden: function hidden(ps) {
185
- var _getEnterAnimations, _getEnterAnimations2;
186
- return !((_getEnterAnimations = getEnterAnimations(ps)) != null && _getEnterAnimations.includes("slide-in-from-right")) && !((_getEnterAnimations2 = getEnterAnimations(ps)) != null && _getEnterAnimations2.includes("slide-in-from-left"));
187
- }
188
- },
189
- exitTranslateX: {
190
- type: "string",
191
- advanced: true,
192
- defaultValueHint: "100%",
193
- hidden: function hidden(ps) {
194
- var _getExitAnimations, _getExitAnimations2;
195
- return !((_getExitAnimations = getExitAnimations(ps)) != null && _getExitAnimations.includes("slide-out-to-right")) && !((_getExitAnimations2 = getExitAnimations(ps)) != null && _getExitAnimations2.includes("slide-out-to-left"));
196
- }
197
- },
198
- enterTranslateY: {
199
- type: "string",
200
- advanced: true,
201
- defaultValueHint: "100%",
202
- hidden: function hidden(ps) {
203
- var _getEnterAnimations3, _getEnterAnimations4;
204
- return !((_getEnterAnimations3 = getEnterAnimations(ps)) != null && _getEnterAnimations3.includes("slide-in-from-bottom")) && !((_getEnterAnimations4 = getEnterAnimations(ps)) != null && _getEnterAnimations4.includes("slide-in-from-top"));
205
- }
206
- },
207
- exitTranslateY: {
208
- type: "string",
209
- advanced: true,
210
- defaultValueHint: "100%",
211
- hidden: function hidden(ps) {
212
- var _getExitAnimations3, _getExitAnimations4;
213
- return !((_getExitAnimations3 = getExitAnimations(ps)) != null && _getExitAnimations3.includes("slide-out-to-bottom")) && !((_getExitAnimations4 = getExitAnimations(ps)) != null && _getExitAnimations4.includes("slide-out-to-top"));
214
- }
215
- },
216
- enterOpacity: {
217
- type: "number",
218
- advanced: true,
219
- defaultValueHint: 0,
220
- hidden: function hidden(ps) {
221
- var _getEnterAnimations5;
222
- return !((_getEnterAnimations5 = getEnterAnimations(ps)) != null && _getEnterAnimations5.includes("fade-in"));
223
- }
224
- },
225
- exitOpacity: {
226
- type: "number",
227
- advanced: true,
228
- defaultValueHint: 0,
229
- hidden: function hidden(ps) {
230
- var _getExitAnimations5;
231
- return !((_getExitAnimations5 = getExitAnimations(ps)) != null && _getExitAnimations5.includes("fade-out"));
232
- }
233
- },
234
- enterScale: {
235
- type: "number",
236
- advanced: true,
237
- defaultValueHint: 0.95,
238
- hidden: function hidden(ps) {
239
- var _getEnterAnimations6;
240
- return !((_getEnterAnimations6 = getEnterAnimations(ps)) != null && _getEnterAnimations6.includes("zoom-enter"));
241
- }
242
- },
243
- exitScale: {
244
- type: "number",
245
- advanced: true,
246
- defaultValueHint: 0.95,
247
- hidden: function hidden(ps) {
248
- var _getExitAnimations6;
249
- return !((_getExitAnimations6 = getExitAnimations(ps)) != null && _getExitAnimations6.includes("zoom-exit"));
250
- }
251
- },
252
- enterDelay: {
253
- type: "number",
254
- advanced: true,
255
- defaultValueHint: 0
256
- },
257
- exitDelay: {
258
- type: "number",
259
- advanced: true,
260
- defaultValueHint: 0
261
- },
262
- enterTiming: _extends({
263
- type: "string",
264
- advanced: true,
265
- defaultValueHint: "ease"
266
- }, {
267
- suggestions: ["linear", "ease", "ease-in", "ease-out", "ease-in-out"]
268
- }),
269
- exitTiming: _extends({
270
- type: "string",
271
- advanced: true,
272
- defaultValueHint: "ease"
273
- }, {
274
- suggestions: ["linear", "ease", "ease-in", "ease-out", "ease-in-out"]
275
- })
276
- };
277
- return props;
278
- };
279
- var overlayStates = {
280
- open: {
281
- type: "writable",
282
- valueProp: "open",
283
- onChangeProp: "onOpenChange",
284
- variableType: "boolean"
285
- }
286
- };
287
- var overlayProps = function overlayProps(_ref4) {
288
- var _props;
289
- var defaultSlotContent = _ref4.defaultSlotContent,
290
- triggerSlotName = _ref4.triggerSlotName,
291
- openDisplay = _ref4.openDisplay;
292
- var props = (_props = {
293
- open: {
294
- type: "boolean",
295
- displayName: openDisplay,
296
- editOnly: true,
297
- uncontrolledProp: "defaultOpen"
298
- },
299
- modal: {
300
- type: "boolean",
301
- advanced: true,
302
- description: "Disable interaction with outside elements. Only popover content will be visible to screen readers."
303
- },
304
- onOpenChange: {
305
- type: "eventHandler",
306
- argTypes: [{
307
- type: "boolean",
308
- name: "open"
309
- }]
310
- }
311
- }, _props[triggerSlotName] = _extends({
312
- type: "slot",
313
- defaultValue: [defaultSlotContent]
314
- }, {
315
- mergeWithParent: true
316
- }), _props.themeResetClass = {
317
- type: "themeResetClass"
318
- }, _props);
319
- return props;
320
- };
321
- function prefixClasses(x) {
322
- return x.trim().split(/\s+/g).map(function (part) {
323
- return "pl__" + part;
324
- }).join(" ");
325
- }
326
- // Be careful formatting this!
327
- // Note that these are magically prepended with pl__
328
- var prefixedBaseStyles = /*#__PURE__*/"\n.box-border {\n box-sizing: border-box;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n}\n.h-full {\n height: 100%;\n}\n.z-50 { z-index: 50; }\n.fixed { position: fixed; }\n.inset-0 { top: 0; left: 0; right: 0; bottom: 0; }\n.bottom-0 {\n bottom: 0px;\n}\n.left-0 {\n left: 0px;\n}\n.right-0 {\n right: 0px;\n}\n.top-0 {\n top: 0px;\n}\n.right-4 {\n right: 1rem;\n}\n.top-4 {\n top: 1rem;\n}\n.h-4 { height: 1rem; }\n.w-4 { width: 1rem; }\n.outline-none { outline: none; }\n\n@keyframes plsmc-enter {\n\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes plsmc-exit {\n\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.animate-in,\n.data-\\[state\\=open\\]\\:animate-in[data-state=open] {\n animation-name: plsmc-enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.animate-out,\n.data-\\[state\\=closed\\]\\:animate-out[data-state=closed] {\n animation-name: plsmc-exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom] {\n --tw-enter-translate-y: -0.5rem;\n}\n\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left] {\n --tw-enter-translate-x: 0.5rem;\n}\n\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right] {\n --tw-enter-translate-x: -0.5rem;\n}\n\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top] {\n --tw-enter-translate-y: 0.5rem;\n}\n\n".replace(/\n\./g, ".pl__");
329
- function BaseStyles() {
330
- // return <style>{prefixedBaseStyles}</style>;
331
- return React.createElement("style", {
332
- dangerouslySetInnerHTML: {
333
- __html: prefixedBaseStyles
334
- }
335
- });
336
- }
337
- var popoverProps = /*#__PURE__*/_extends({
338
- side: {
339
- type: "choice",
340
- options: ["top", "bottom", "left", "right"],
341
- defaultValueHint: "bottom"
342
- },
343
- sideOffset: {
344
- type: "number",
345
- defaultValueHint: 4,
346
- advanced: true
347
- },
348
- align: {
349
- type: "choice",
350
- options: ["center", "start", "end"],
351
- defaultValueHint: "center"
352
- },
353
- alignOffset: {
354
- type: "number",
355
- defaultValueHint: 0,
356
- advanced: true
357
- }
358
- }, /*#__PURE__*/animPropTypes({
359
- defaultEnterAnimations: function defaultEnterAnimations() {
360
- return ["fade-in", "zoom-enter"];
361
- },
362
- defaultExitAnimations: function defaultExitAnimations() {
363
- return ["fade-out", "zoom-exit"];
364
- }
365
- }), {
366
- slideIn: {
367
- type: "boolean",
368
- defaultValueHint: true,
369
- description: "Add additional subtle slide-in animation on reveal, which can depend on where the tooltip is dynamically placed."
370
- }
371
- });
372
-
373
- var _excluded = ["open", "onOpenChange", "defaultOpen", "modal", "className", "sideOffset", "themeResetClass", "overlay", "slideIn", "trigger", "children"];
374
- function Popover(_ref) {
375
- var open = _ref.open,
376
- onOpenChange = _ref.onOpenChange,
377
- defaultOpen = _ref.defaultOpen,
378
- modal = _ref.modal,
379
- className = _ref.className,
380
- _ref$sideOffset = _ref.sideOffset,
381
- sideOffset = _ref$sideOffset === void 0 ? 4 : _ref$sideOffset,
382
- themeResetClass = _ref.themeResetClass,
383
- overlay = _ref.overlay,
384
- _ref$slideIn = _ref.slideIn,
385
- slideIn = _ref$slideIn === void 0 ? true : _ref$slideIn,
386
- _ref$trigger = _ref.trigger,
387
- trigger = _ref$trigger === void 0 ? true : _ref$trigger,
388
- children = _ref.children,
389
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
390
- var _splitAnimProps = splitAnimProps(props),
391
- animProps = _splitAnimProps[0],
392
- rest = _splitAnimProps[1];
393
- return React.createElement(Animated, Object.assign({
394
- enterAnimations: ["fade-in", "zoom-enter"],
395
- exitAnimations: ["fade-out", "zoom-exit"]
396
- }, animProps), function (dynClass) {
397
- return React.createElement(PopoverPrimitive.Root, {
398
- open: open,
399
- onOpenChange: onOpenChange,
400
- defaultOpen: defaultOpen,
401
- modal: modal
402
- }, trigger ? React.createElement(PopoverPrimitive.Trigger, {
403
- asChild: true
404
- }, children) : React.createElement(PopoverPrimitive.Anchor, {
405
- asChild: true
406
- }, children), React.createElement(PopoverPrimitive.Portal, null, React.createElement(PopoverPrimitive.Content, Object.assign({
407
- className: clsx(prefixClasses("outline-none data-[state=open]:animate-in data-[state=closed]:animate-out"), slideIn ? prefixClasses("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2") : "", dynClass ? dynClass : "", className, themeResetClass),
408
- sideOffset: sideOffset
409
- }, rest), overlay)), React.createElement(BaseStyles, null));
410
- });
411
- }
412
- Popover.displayName = "PlasmicRadixPopover";
413
- function registerPopover(PLASMIC) {
414
- registerComponentHelper(PLASMIC, Popover, {
415
- name: "hostless-radix-popover",
416
- displayName: "Popover",
417
- importPath: "@plasmicpkgs/radix-ui",
418
- importName: "Popover",
419
- states: overlayStates,
420
- props: _extends({}, overlayProps({
421
- triggerSlotName: "children",
422
- defaultSlotContent: {
423
- type: "default-component",
424
- kind: "button",
425
- props: {
426
- children: {
427
- type: "text",
428
- value: "Show popover"
429
- }
430
- }
431
- }
432
- }), {
433
- trigger: {
434
- type: "boolean",
435
- displayName: "Trigger on click",
436
- defaultValueHint: true,
437
- advanced: true
438
- }
439
- }, popoverProps, {
440
- overlay: _extends({
441
- type: "slot",
442
- defaultValue: {
443
- type: "vbox",
444
- styles: {
445
- padding: "16px",
446
- width: "300px",
447
- maxWidth: "100%",
448
- borderWidth: "1px",
449
- borderStyle: "solid",
450
- borderColor: "#E2E8F0",
451
- backgroundColor: "white",
452
- borderRadius: "8px",
453
- boxShadow: "0px 4px 16px 0px #00000033",
454
- alignItems: "stretch"
455
- },
456
- children: ["Here is the popover content."]
457
- }
458
- }, {
459
- mergeWithParent: true
460
- })
461
- })
462
- });
463
- }
464
-
465
- var _excluded$1 = ["className"],
466
- _excluded2 = ["className", "themeResetClass"],
467
- _excluded3 = ["className", "themeResetClass", "side"],
468
- _excluded4 = ["open", "onOpenChange", "modal", "themeResetClass", "children", "noContain", "defaultOpen", "triggerSlot", "overlayClassName"];
469
- var DialogClose = /*#__PURE__*/React.forwardRef(function (props) {
470
- var _props$children;
471
- return React.createElement(DialogPrimitive.Close, Object.assign({}, props, {
472
- asChild: true
473
- }), React.createElement("div", {
474
- className: props.className
475
- }, (_props$children = props.children) != null ? _props$children : React.createElement(lucideReact.X, {
476
- className: prefixClasses("h-4 w-4")
477
- }), React.createElement("span", {
478
- className: prefixClasses("sr-only")
479
- }, "Close")));
480
- });
481
- DialogClose.displayName = "PlasmicRadixDialogClose";
482
- var DialogOverlay = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
483
- var className = _ref.className,
484
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
485
- return React.createElement(Animated, Object.assign({}, props), function (dynClass) {
486
- return React.createElement(DialogPrimitive.Overlay, Object.assign({
487
- className: clsx(["fixed inset-0 z-50 data-[state=open]:animate-in data-[state=closed]:animate-out"].map(prefixClasses), dynClass ? dynClass : "", className)
488
- }, props, {
489
- ref: ref
490
- }));
491
- });
492
- });
493
- DialogOverlay.displayName = "PlasmicOverlay";
494
- var DialogContent = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
495
- var _animProps$enterAnima, _animProps$exitAnimat;
496
- var className = _ref2.className,
497
- themeResetClass = _ref2.themeResetClass,
498
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
499
- var _splitAnimProps = splitAnimProps(props),
500
- animProps = _splitAnimProps[0],
501
- rest = _splitAnimProps[1];
502
- return React.createElement(Animated, Object.assign({}, animProps, {
503
- enterAnimations: (_animProps$enterAnima = animProps.enterAnimations) != null ? _animProps$enterAnima : ["zoom-enter", "fade-in"],
504
- exitAnimations: (_animProps$exitAnimat = animProps.exitAnimations) != null ? _animProps$exitAnimat : ["zoom-exit", "fade-out"]
505
- }), function (dynClass) {
506
- return React.createElement(DialogPrimitive.Content, Object.assign({}, rest, {
507
- className: clsx(prefixClasses("fixed z-50 outline-none relative box-border data-[state=open]:animate-in data-[state=closed]:animate-out"), dynClass ? dynClass : "", themeResetClass, className),
508
- ref: ref
509
- }));
510
- });
511
- });
512
- DialogContent.displayName = "PlasmicRadixDialogContent";
513
- function getDefaultSheetAnims(side) {
514
- if (side === void 0) {
515
- side = "right";
516
- }
517
- return {
518
- right: ["slide-in-from-right", "slide-out-to-right"],
519
- bottom: ["slide-in-from-bottom", "slide-out-to-bottom"],
520
- left: ["slide-in-from-left", "slide-out-to-left"],
521
- top: ["slide-in-from-top", "slide-out-to-top"]
522
- }[side];
523
- }
524
- var SheetContent = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
525
- var _props$enterAnimation, _props$exitAnimations;
526
- var className = _ref3.className,
527
- _ref3$side = _ref3.side,
528
- side = _ref3$side === void 0 ? "right" : _ref3$side,
529
- props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
530
- var _getDefaultSheetAnims = getDefaultSheetAnims(side != null ? side : "right"),
531
- defaultEnterAnimation = _getDefaultSheetAnims[0],
532
- defaultExitAnimation = _getDefaultSheetAnims[1];
533
- return React.createElement(Animated, Object.assign({}, props, {
534
- enterAnimations: (_props$enterAnimation = props.enterAnimations) != null ? _props$enterAnimation : [defaultEnterAnimation],
535
- exitAnimations: (_props$exitAnimations = props.exitAnimations) != null ? _props$exitAnimations : [defaultExitAnimation]
536
- }), function (dynClass) {
537
- return React.createElement(DialogPrimitive.Content, Object.assign({
538
- className: clsx(sheetVariants({
539
- side: side
540
- }), dynClass ? dynClass : "", className)
541
- }, props, {
542
- ref: ref
543
- }));
544
- });
545
- });
546
- SheetContent.displayName = "PlasmicRadixSheetContent";
547
- var sheetVariants = /*#__PURE__*/classVarianceAuthority.cva( /*#__PURE__*/prefixClasses("fixed z-50 outline-none relative data-[state=open]:animate-in data-[state=closed]:animate-out"), {
548
- variants: {
549
- side: {
550
- top: /*#__PURE__*/prefixClasses("inset-x-0 top-0"),
551
- bottom: /*#__PURE__*/prefixClasses("inset-x-0 bottom-0"),
552
- left: /*#__PURE__*/prefixClasses("inset-y-0 left-0 h-full"),
553
- right: /*#__PURE__*/prefixClasses("inset-y-0 right-0 h-full")
554
- }
555
- },
556
- defaultVariants: {
557
- side: "right"
558
- }
559
- });
560
- var Dialog = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
561
- var open = _ref4.open,
562
- onOpenChange = _ref4.onOpenChange,
563
- modal = _ref4.modal,
564
- themeResetClass = _ref4.themeResetClass,
565
- children = _ref4.children,
566
- noContain = _ref4.noContain,
567
- defaultOpen = _ref4.defaultOpen,
568
- triggerSlot = _ref4.triggerSlot,
569
- overlayClassName = _ref4.overlayClassName,
570
- props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
571
- return React.createElement(DialogPrimitive.Root, {
572
- open: open,
573
- modal: modal,
574
- onOpenChange: onOpenChange,
575
- defaultOpen: defaultOpen
576
- }, React.createElement(DialogPrimitive.Trigger, {
577
- asChild: true
578
- }, triggerSlot), noContain ? React.createElement(React.Fragment, null, React.createElement(DialogPrimitive.Portal, null, React.createElement(DialogOverlay, Object.assign({
579
- ref: ref
580
- }, props, {
581
- className: clsx(overlayClassName, themeResetClass)
582
- })), children)) : React.createElement(DialogPrimitive.Portal, null, React.createElement(DialogOverlay, Object.assign({
583
- ref: ref
584
- }, props, {
585
- className: clsx(overlayClassName, themeResetClass)
586
- }), children)), React.createElement(BaseStyles, null));
587
- });
588
- Dialog.displayName = "PlasmicRadixDialog";
589
- var DialogTitle = DialogPrimitive.Title;
590
- var DialogDescription = DialogPrimitive.Description;
591
- function registerDialog(PLASMIC) {
592
- registerComponentHelper(PLASMIC, Dialog, {
593
- name: "hostless-radix-dialog",
594
- displayName: "Dialog",
595
- importPath: "@plasmicpkgs/radix-ui",
596
- importName: "Dialog",
597
- styleSections: false,
598
- defaultStyles: {
599
- // Note: unable to set position styles since Plasmic coerces to auto layout
600
- display: "flex",
601
- alignItems: "center",
602
- justifyContent: "center",
603
- backdropFilter: "blur(10px)",
604
- background: "rgba(255,255,255,0.8)"
605
- },
606
- props: _extends({}, overlayProps({
607
- defaultSlotContent: {
608
- type: "default-component",
609
- kind: "button",
610
- props: {
611
- children: {
612
- type: "text",
613
- value: "Show dialog"
614
- }
615
- }
616
- },
617
- triggerSlotName: "triggerSlot"
618
- }), {
619
- overlayClassName: {
620
- type: "class"
621
- },
622
- noContain: {
623
- type: "boolean",
624
- advanced: true,
625
- description: "Place the dialog content over the overlay instead of inside the overlay. Useful for separating their animations, but you also won't be able to conveniently set layout on the overlay as a parent."
626
- },
627
- children: {
628
- type: "slot",
629
- allowedComponents: ["hostless-radix-sheet-content", "hostless-radix-dialog-content"],
630
- defaultValue: {
631
- type: "component",
632
- name: "hostless-radix-dialog-content"
633
- }
634
- }
635
- }),
636
- states: overlayStates
637
- });
638
- registerComponentHelper(PLASMIC, DialogClose, {
639
- name: "hostless-radix-dialog-close",
640
- displayName: "Dialog Close",
641
- importPath: "@plasmicpkgs/radix-ui",
642
- importName: "DialogClose",
643
- parentComponentName: "hostless-radix-dialog",
644
- defaultStyles: {
645
- position: "absolute",
646
- top: "16px",
647
- right: "16px",
648
- opacity: "0.7",
649
- borderRadius: "999px"
650
- },
651
- props: {
652
- children: {
653
- type: "slot",
654
- hidePlaceholder: true
655
- }
656
- }
657
- });
658
- var dialogStyles = {
659
- width: "400px",
660
- maxWidth: "100%",
661
- background: "rgb(255,255,255)",
662
- borderWidth: "1px",
663
- borderStyle: "solid",
664
- borderColor: "#E2E8F0",
665
- boxShadow: "0px 4px 16px 0px #00000033"
666
- };
667
- registerComponentHelper(PLASMIC, SheetContent, {
668
- name: "hostless-radix-sheet-content",
669
- displayName: "Drawer Content",
670
- importPath: "@plasmicpkgs/radix-ui",
671
- importName: "SheetContent",
672
- parentComponentName: "hostless-radix-dialog",
673
- defaultStyles: _extends({
674
- // Positions can sometimes take effect since these can be implicitly inserted as children of other default content, thus escaping Plasmic's layout coersion.
675
- position: "fixed",
676
- top: 0,
677
- right: 0,
678
- bottom: 0,
679
- padding: "16px"
680
- }, dialogStyles),
681
- props: _extends({
682
- side: {
683
- type: "choice",
684
- options: ["right", "bottom", "left", "top"],
685
- defaultValueHint: "right"
686
- },
687
- themeResetClass: {
688
- type: "themeResetClass"
689
- },
690
- children: {
691
- type: "slot",
692
- defaultValue: [{
693
- type: "vbox",
694
- styles: {
695
- alignItems: "stretch",
696
- gap: "8px"
697
- },
698
- children: [{
699
- type: "component",
700
- name: "hostless-radix-dialog-title"
701
- }, {
702
- type: "component",
703
- name: "hostless-radix-dialog-description"
704
- }]
705
- }, {
706
- type: "component",
707
- name: "hostless-radix-dialog-close"
708
- }]
709
- }
710
- }, animPropTypes({
711
- defaultEnterAnimations: function defaultEnterAnimations(ps) {
712
- return [getDefaultSheetAnims(ps.side)[0]];
713
- },
714
- defaultExitAnimations: function defaultExitAnimations(ps) {
715
- return [getDefaultSheetAnims(ps.side)[1]];
716
- }
717
- }))
718
- });
719
- registerComponentHelper(PLASMIC, DialogContent, {
720
- name: "hostless-radix-dialog-content",
721
- displayName: "Dialog Content",
722
- importPath: "@plasmicpkgs/radix-ui",
723
- importName: "DialogContent",
724
- parentComponentName: "hostless-radix-dialog",
725
- defaultStyles: _extends({
726
- // No need for position here, just relying on layout container parent.
727
- padding: "24px",
728
- borderRadius: "8px"
729
- }, dialogStyles),
730
- props: _extends({
731
- themeResetClass: {
732
- type: "themeResetClass"
733
- },
734
- children: {
735
- type: "slot",
736
- defaultValue: [{
737
- type: "vbox",
738
- styles: {
739
- alignItems: "stretch",
740
- gap: "8px"
741
- },
742
- children: [{
743
- type: "component",
744
- name: "hostless-radix-dialog-title"
745
- }, {
746
- type: "component",
747
- name: "hostless-radix-dialog-description"
748
- }]
749
- }, {
750
- type: "component",
751
- name: "hostless-radix-dialog-close"
752
- }]
753
- }
754
- }, animPropTypes({
755
- defaultEnterAnimations: function defaultEnterAnimations() {
756
- return ["zoom-enter", "fade-in"];
757
- },
758
- defaultExitAnimations: function defaultExitAnimations() {
759
- return ["zoom-exit", "fade-out"];
760
- }
761
- }))
762
- });
763
- registerComponentHelper(PLASMIC, DialogTitle, {
764
- name: "hostless-radix-dialog-title",
765
- displayName: "Dialog Title",
766
- importPath: "@plasmicpkgs/radix-ui",
767
- importName: "DialogTitle",
768
- parentComponentName: "hostless-radix-dialog",
769
- props: {
770
- children: {
771
- type: "slot",
772
- defaultValue: "Sheet title"
773
- }
774
- }
775
- });
776
- registerComponentHelper(PLASMIC, DialogDescription, {
777
- name: "hostless-radix-dialog-description",
778
- displayName: "Dialog Description",
779
- importPath: "@plasmicpkgs/radix-ui",
780
- importName: "DialogDescription",
781
- parentComponentName: "hostless-radix-dialog",
782
- props: {
783
- children: {
784
- type: "slot",
785
- defaultValue: "Sheet description"
786
- }
787
- }
788
- });
789
- }
790
-
791
- var _excluded$2 = ["className", "sideOffset", "themeResetClass", "slideIn", "overlay", "delayDuration", "disableHoverableContent", "open", "onOpenChange", "defaultOpen", "children"];
792
- var Tooltip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
793
- var className = _ref.className,
794
- _ref$sideOffset = _ref.sideOffset,
795
- sideOffset = _ref$sideOffset === void 0 ? 4 : _ref$sideOffset,
796
- themeResetClass = _ref.themeResetClass,
797
- _ref$slideIn = _ref.slideIn,
798
- slideIn = _ref$slideIn === void 0 ? true : _ref$slideIn,
799
- overlay = _ref.overlay,
800
- delayDuration = _ref.delayDuration,
801
- disableHoverableContent = _ref.disableHoverableContent,
802
- open = _ref.open,
803
- onOpenChange = _ref.onOpenChange,
804
- defaultOpen = _ref.defaultOpen,
805
- children = _ref.children,
806
- props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
807
- var _splitAnimProps = splitAnimProps(props),
808
- animProps = _splitAnimProps[0],
809
- rest = _splitAnimProps[1];
810
- return React.createElement(Animated, Object.assign({
811
- enterAnimations: ["fade-in", "zoom-enter"],
812
- exitAnimations: ["fade-out", "zoom-exit"]
813
- }, animProps), function (dynClass) {
814
- return React.createElement(TooltipPrimitive.Provider, null, React.createElement(TooltipPrimitive.Root, Object.assign({}, {
815
- delayDuration: delayDuration,
816
- disableHoverableContent: disableHoverableContent,
817
- open: open,
818
- onOpenChange: onOpenChange,
819
- defaultOpen: defaultOpen
820
- }), React.createElement(TooltipPrimitive.Trigger, {
821
- asChild: true
822
- }, children), React.createElement(TooltipPrimitive.Content, Object.assign({
823
- ref: ref,
824
- sideOffset: sideOffset,
825
- className: clsx(prefixClasses("animate-in data-[state=closed]:animate-out"), slideIn ? prefixClasses("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2") : "", dynClass ? dynClass : "", className, themeResetClass)
826
- }, rest), overlay), React.createElement(BaseStyles, null)));
827
- });
828
- });
829
- Tooltip.displayName = "PlasmicRadixTooltip";
830
- function registerTooltip(PLASMIC) {
831
- registerComponentHelper(PLASMIC, Tooltip, {
832
- name: "hostless-radix-tooltip",
833
- displayName: "Tooltip",
834
- importPath: "@plasmicpkgs/radix-ui",
835
- importName: "Tooltip",
836
- props: _extends({}, overlayProps({
837
- triggerSlotName: "children",
838
- defaultSlotContent: {
839
- type: "text",
840
- value: "I have a tooltip."
841
- },
842
- openDisplay: "Preview open"
843
- }), popoverProps, {
844
- overlay: _extends({
845
- type: "slot",
846
- defaultValue: {
847
- type: "vbox",
848
- styles: {
849
- padding: "16px",
850
- width: "300px",
851
- maxWidth: "100%",
852
- borderWidth: "1px",
853
- borderStyle: "solid",
854
- borderColor: "#E2E8F0",
855
- backgroundColor: "white",
856
- borderRadius: "8px",
857
- boxShadow: "0px 4px 16px 0px #00000033",
858
- alignItems: "stretch"
859
- },
860
- children: ["Here is the tooltip content."]
861
- }
862
- }, {
863
- mergeWithParent: true
864
- })
865
- })
866
- });
867
- }
868
-
869
- function registerAll(PLASMIC) {
870
- registerPopover(PLASMIC);
871
- registerDialog(PLASMIC);
872
- registerTooltip(PLASMIC);
873
- }
874
-
875
- exports.Dialog = Dialog;
876
- exports.DialogClose = DialogClose;
877
- exports.DialogContent = DialogContent;
878
- exports.DialogDescription = DialogDescription;
879
- exports.DialogTitle = DialogTitle;
880
- exports.Popover = Popover;
881
- exports.SheetContent = SheetContent;
882
- exports.Tooltip = Tooltip;
883
- exports.popoverProps = popoverProps;
884
- exports.registerAll = registerAll;
885
- exports.registerDialog = registerDialog;
886
- exports.registerPopover = registerPopover;
887
- exports.registerTooltip = registerTooltip;
888
- exports.sheetVariants = sheetVariants;
889
- //# sourceMappingURL=radix-ui.cjs.development.js.map