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