@payloadcms/ui 3.0.0-beta.90 → 3.0.0-beta.92

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 (67) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +1 -1
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.scss +14 -4
  5. package/dist/elements/AppHeader/index.js +41 -80
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/Autosave/index.js +148 -231
  8. package/dist/elements/Autosave/index.js.map +1 -1
  9. package/dist/elements/Button/index.js +86 -218
  10. package/dist/elements/Button/index.js.map +1 -1
  11. package/dist/elements/Collapsible/index.js +44 -62
  12. package/dist/elements/Collapsible/index.js.map +1 -1
  13. package/dist/elements/Collapsible/index.scss +15 -28
  14. package/dist/elements/CopyToClipboard/index.js +20 -54
  15. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  16. package/dist/elements/Dropzone/index.js +59 -119
  17. package/dist/elements/Dropzone/index.js.map +1 -1
  18. package/dist/elements/EditMany/index.js +124 -230
  19. package/dist/elements/EditMany/index.js.map +1 -1
  20. package/dist/elements/EditUpload/index.js +133 -206
  21. package/dist/elements/EditUpload/index.js.map +1 -1
  22. package/dist/elements/ListControls/index.js +82 -188
  23. package/dist/elements/ListControls/index.js.map +1 -1
  24. package/dist/elements/Nav/context.js +47 -83
  25. package/dist/elements/Nav/context.js.map +1 -1
  26. package/dist/elements/SaveButton/index.js +30 -81
  27. package/dist/elements/SaveButton/index.js.map +1 -1
  28. package/dist/elements/SaveDraftButton/index.js +54 -116
  29. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  30. package/dist/elements/SearchFilter/index.js +21 -77
  31. package/dist/elements/SearchFilter/index.js.map +1 -1
  32. package/dist/elements/Upload/index.js +130 -280
  33. package/dist/elements/Upload/index.js.map +1 -1
  34. package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-MTP455NO.js} +2 -2
  35. package/dist/exports/client/chunk-NJHSEGFB.js +14 -0
  36. package/dist/exports/client/{chunk-UGBVRIVY.js.map → chunk-NJHSEGFB.js.map} +2 -2
  37. package/dist/exports/client/index.d.ts +1 -1
  38. package/dist/exports/client/index.d.ts.map +1 -1
  39. package/dist/exports/client/index.js +19 -19
  40. package/dist/exports/client/index.js.map +3 -3
  41. package/dist/fields/Relationship/index.js +318 -504
  42. package/dist/fields/Relationship/index.js.map +1 -1
  43. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  44. package/dist/fields/Upload/HasMany/index.js +192 -422
  45. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  46. package/dist/fields/Upload/HasMany/index.scss +19 -1
  47. package/dist/forms/Submit/index.js +12 -28
  48. package/dist/forms/Submit/index.js.map +1 -1
  49. package/dist/hooks/useDelay.js +15 -48
  50. package/dist/hooks/useDelay.js.map +1 -1
  51. package/dist/hooks/useDelayedRender.js +32 -71
  52. package/dist/hooks/useDelayedRender.js.map +1 -1
  53. package/dist/hooks/useIntersect.js +14 -20
  54. package/dist/hooks/useIntersect.js.map +1 -1
  55. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  56. package/dist/providers/Config/createClientConfig/collections.js +8 -6
  57. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  58. package/dist/providers/Preferences/index.js +1 -3
  59. package/dist/providers/Preferences/index.js.map +1 -1
  60. package/dist/providers/Selection/index.js +102 -190
  61. package/dist/providers/Selection/index.js.map +1 -1
  62. package/dist/scss/app.scss +6 -6
  63. package/dist/scss/type.scss +4 -4
  64. package/dist/styles.css +1 -1
  65. package/package.json +9 -9
  66. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  67. /package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-MTP455NO.js.map} +0 -0
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import React, { Fragment, forwardRef, isValidElement } from 'react';
6
5
  import { ChevronIcon } from '../../icons/Chevron/index.js';
@@ -46,243 +45,112 @@ export const ButtonContents = ({
46
45
  });
47
46
  };
48
47
  export const Button = /*#__PURE__*/forwardRef((props, ref) => {
49
- const $ = _c(48);
50
48
  const {
51
49
  id,
52
- type: t0,
50
+ type = 'button',
53
51
  Link,
54
52
  SubMenuPopupContent,
55
- "aria-label": ariaLabel,
56
- buttonStyle: t1,
53
+ 'aria-label': ariaLabel,
54
+ buttonStyle = 'primary',
57
55
  children,
58
56
  className,
59
57
  disabled,
60
- el: t2,
58
+ el = 'button',
61
59
  icon,
62
- iconPosition: t3,
63
- iconStyle: t4,
60
+ iconPosition = 'right',
61
+ iconStyle = 'without-border',
64
62
  newTab,
65
63
  onClick,
66
64
  round,
67
- size: t5,
65
+ size = 'medium',
68
66
  to,
69
67
  tooltip,
70
68
  url
71
69
  } = props;
72
- const type = t0 === undefined ? "button" : t0;
73
- const buttonStyle = t1 === undefined ? "primary" : t1;
74
- const el = t2 === undefined ? "button" : t2;
75
- const iconPosition = t3 === undefined ? "right" : t3;
76
- const iconStyle = t4 === undefined ? "without-border" : t4;
77
- const size = t5 === undefined ? "medium" : t5;
78
70
  const [showTooltip, setShowTooltip] = React.useState(false);
79
- const t6 = className && className;
80
- const t7 = icon && `${baseClass}--icon`;
81
- const t8 = iconStyle && `${baseClass}--icon-style-${iconStyle}`;
82
- const t9 = icon && !children && `${baseClass}--icon-only`;
83
- const t10 = size && `${baseClass}--size-${size}`;
84
- const t11 = icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`;
85
- const t12 = tooltip && `${baseClass}--has-tooltip`;
86
- const t13 = !SubMenuPopupContent && `${baseClass}--withoutPopup`;
87
- let t14;
88
- if ($[0] !== t6 || $[1] !== t7 || $[2] !== t8 || $[3] !== t9 || $[4] !== t10 || $[5] !== t11 || $[6] !== t12 || $[7] !== t13) {
89
- t14 = [baseClass, t6, t7, t8, t9, t10, t11, t12, t13].filter(Boolean);
90
- $[0] = t6;
91
- $[1] = t7;
92
- $[2] = t8;
93
- $[3] = t9;
94
- $[4] = t10;
95
- $[5] = t11;
96
- $[6] = t12;
97
- $[7] = t13;
98
- $[8] = t14;
99
- } else {
100
- t14 = $[8];
71
+ const classes = [baseClass, className && className, icon && `${baseClass}--icon`, iconStyle && `${baseClass}--icon-style-${iconStyle}`, icon && !children && `${baseClass}--icon-only`, size && `${baseClass}--size-${size}`, icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`, tooltip && `${baseClass}--has-tooltip`, !SubMenuPopupContent && `${baseClass}--withoutPopup`].filter(Boolean).join(' ');
72
+ function handleClick(event) {
73
+ setShowTooltip(false);
74
+ if (type !== 'submit' && onClick) event.preventDefault();
75
+ if (onClick) onClick(event);
101
76
  }
102
- const classes = t14.join(" ");
103
- let t15;
104
- if ($[9] !== type || $[10] !== onClick) {
105
- t15 = function handleClick(event) {
106
- setShowTooltip(false);
107
- if (type !== "submit" && onClick) {
108
- event.preventDefault();
109
- }
110
- if (onClick) {
111
- onClick(event);
112
- }
113
- };
114
- $[9] = type;
115
- $[10] = onClick;
116
- $[11] = t15;
117
- } else {
118
- t15 = $[11];
119
- }
120
- const handleClick = t15;
121
- const t16 = buttonStyle && `${baseClass}--style-${buttonStyle}`;
122
- const t17 = disabled && `${baseClass}--disabled`;
123
- const t18 = round && `${baseClass}--round`;
124
- const t19 = SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`;
125
- let t20;
126
- if ($[12] !== t16 || $[13] !== t17 || $[14] !== t18 || $[15] !== t19) {
127
- t20 = [t16, t17, t18, t19].filter(Boolean);
128
- $[12] = t16;
129
- $[13] = t17;
130
- $[14] = t18;
131
- $[15] = t19;
132
- $[16] = t20;
133
- } else {
134
- t20 = $[16];
135
- }
136
- const styleClasses = t20.join(" ");
137
- let t21;
138
- if ($[17] !== SubMenuPopupContent || $[18] !== classes || $[19] !== styleClasses) {
139
- t21 = !SubMenuPopupContent ? [classes, styleClasses].join(" ") : classes;
140
- $[17] = SubMenuPopupContent;
141
- $[18] = classes;
142
- $[19] = styleClasses;
143
- $[20] = t21;
144
- } else {
145
- t21 = $[20];
146
- }
147
- const t22 = !disabled ? handleClick : undefined;
148
- let t23;
149
- if ($[21] !== tooltip) {
150
- t23 = tooltip ? () => setShowTooltip(true) : undefined;
151
- $[21] = tooltip;
152
- $[22] = t23;
153
- } else {
154
- t23 = $[22];
155
- }
156
- let t24;
157
- if ($[23] !== tooltip) {
158
- t24 = tooltip ? () => setShowTooltip(false) : undefined;
159
- $[23] = tooltip;
160
- $[24] = t24;
161
- } else {
162
- t24 = $[24];
163
- }
164
- const t25 = newTab ? "noopener noreferrer" : undefined;
165
- const t26 = newTab ? "_blank" : undefined;
77
+ const styleClasses = [buttonStyle && `${baseClass}--style-${buttonStyle}`, disabled && `${baseClass}--disabled`, round && `${baseClass}--round`, SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`].filter(Boolean).join(' ');
78
+ const buttonProps = {
79
+ id,
80
+ type,
81
+ 'aria-disabled': disabled,
82
+ 'aria-label': ariaLabel,
83
+ className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,
84
+ disabled,
85
+ onClick: !disabled ? handleClick : undefined,
86
+ onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,
87
+ onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,
88
+ rel: newTab ? 'noopener noreferrer' : undefined,
89
+ target: newTab ? '_blank' : undefined
90
+ };
166
91
  let buttonElement;
167
- let t27;
168
- if ($[25] !== id || $[26] !== type || $[27] !== disabled || $[28] !== ariaLabel || $[29] !== t21 || $[30] !== t22 || $[31] !== t23 || $[32] !== t24 || $[33] !== t25 || $[34] !== t26 || $[35] !== el || $[36] !== Link || $[37] !== children || $[38] !== to || $[39] !== url || $[40] !== icon || $[41] !== showTooltip || $[42] !== tooltip || $[43] !== ref || $[44] !== SubMenuPopupContent || $[45] !== styleClasses) {
169
- t27 = Symbol.for("react.early_return_sentinel");
170
- bb0: {
171
- const buttonProps = {
172
- id,
173
- type,
174
- "aria-disabled": disabled,
175
- "aria-label": ariaLabel,
176
- className: t21,
177
- disabled,
178
- onClick: t22,
179
- onMouseEnter: t23,
180
- onMouseLeave: t24,
181
- rel: t25,
182
- target: t26
183
- };
184
- bb1: switch (el) {
185
- case "link":
186
- {
187
- if (!Link) {
188
- console.error("Link is required when using el=\"link\"", children);
189
- t27 = null;
190
- break bb0;
191
- }
192
- let LinkTag = Link;
193
- if (disabled) {
194
- LinkTag = "div";
195
- }
196
- buttonElement = _jsx(LinkTag, {
197
- ...buttonProps,
198
- href: to || url,
199
- to: to || url,
200
- children: _jsx(ButtonContents, {
201
- icon,
202
- showTooltip,
203
- tooltip,
204
- children
205
- })
206
- });
207
- break bb1;
208
- }
209
- case "anchor":
210
- {
211
- buttonElement = _jsx("a", {
212
- ...buttonProps,
213
- href: !disabled ? url : undefined,
214
- ref,
215
- children: _jsx(ButtonContents, {
216
- icon,
217
- showTooltip,
218
- tooltip,
219
- children
220
- })
221
- });
222
- break bb1;
223
- }
224
- default:
225
- {
226
- const Tag = el;
227
- buttonElement = _jsx(Tag, {
228
- ref,
229
- type: "submit",
230
- ...buttonProps,
231
- children: _jsx(ButtonContents, {
232
- icon,
233
- showTooltip,
234
- tooltip,
235
- children
236
- })
237
- });
238
- }
239
- }
240
- if (SubMenuPopupContent) {
241
- t27 = _jsxs("div", {
242
- className: styleClasses,
243
- children: [buttonElement, _jsx(Popup, {
244
- button: _jsx(ChevronIcon, {}),
245
- className: disabled ? `${baseClass}--popup-disabled` : "",
246
- horizontalAlign: "right",
247
- noBackground: true,
248
- size: "large",
249
- verticalAlign: "bottom",
250
- children: SubMenuPopupContent
251
- })]
252
- });
253
- break bb0;
92
+ switch (el) {
93
+ case 'link':
94
+ if (!Link) {
95
+ console.error('Link is required when using el="link"', children);
96
+ return null;
254
97
  }
255
- }
256
- $[25] = id;
257
- $[26] = type;
258
- $[27] = disabled;
259
- $[28] = ariaLabel;
260
- $[29] = t21;
261
- $[30] = t22;
262
- $[31] = t23;
263
- $[32] = t24;
264
- $[33] = t25;
265
- $[34] = t26;
266
- $[35] = el;
267
- $[36] = Link;
268
- $[37] = children;
269
- $[38] = to;
270
- $[39] = url;
271
- $[40] = icon;
272
- $[41] = showTooltip;
273
- $[42] = tooltip;
274
- $[43] = ref;
275
- $[44] = SubMenuPopupContent;
276
- $[45] = styleClasses;
277
- $[46] = buttonElement;
278
- $[47] = t27;
279
- } else {
280
- buttonElement = $[46];
281
- t27 = $[47];
282
- }
283
- if (t27 !== Symbol.for("react.early_return_sentinel")) {
284
- return t27;
98
+ let LinkTag = Link // eslint-disable-line no-case-declarations
99
+ ;
100
+ if (disabled) LinkTag = 'div';
101
+ buttonElement = /*#__PURE__*/_jsx(LinkTag, {
102
+ ...buttonProps,
103
+ href: to || url,
104
+ to: to || url,
105
+ children: /*#__PURE__*/_jsx(ButtonContents, {
106
+ icon: icon,
107
+ showTooltip: showTooltip,
108
+ tooltip: tooltip,
109
+ children: children
110
+ })
111
+ });
112
+ break;
113
+ case 'anchor':
114
+ buttonElement = /*#__PURE__*/_jsx("a", {
115
+ ...buttonProps,
116
+ href: !disabled ? url : undefined,
117
+ ref: ref,
118
+ children: /*#__PURE__*/_jsx(ButtonContents, {
119
+ icon: icon,
120
+ showTooltip: showTooltip,
121
+ tooltip: tooltip,
122
+ children: children
123
+ })
124
+ });
125
+ break;
126
+ default:
127
+ const Tag = el // eslint-disable-line no-case-declarations
128
+ ;
129
+ buttonElement = /*#__PURE__*/_jsx(Tag, {
130
+ ref: ref,
131
+ type: "submit",
132
+ ...buttonProps,
133
+ children: /*#__PURE__*/_jsx(ButtonContents, {
134
+ icon: icon,
135
+ showTooltip: showTooltip,
136
+ tooltip: tooltip,
137
+ children: children
138
+ })
139
+ });
140
+ break;
285
141
  }
142
+ if (SubMenuPopupContent) return /*#__PURE__*/_jsxs("div", {
143
+ className: styleClasses,
144
+ children: [buttonElement, /*#__PURE__*/_jsx(Popup, {
145
+ button: /*#__PURE__*/_jsx(ChevronIcon, {}),
146
+ className: disabled ? `${baseClass}--popup-disabled` : '',
147
+ horizontalAlign: "right",
148
+ noBackground: true,
149
+ size: "large",
150
+ verticalAlign: "bottom",
151
+ children: SubMenuPopupContent
152
+ })]
153
+ });
286
154
  return buttonElement;
287
155
  });
288
156
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","forwardRef","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","$","id","type","t0","Link","SubMenuPopupContent","ariaLabel","buttonStyle","t1","disabled","el","t2","iconPosition","t3","iconStyle","t4","newTab","onClick","round","size","t5","to","url","undefined","setShowTooltip","useState","t6","t7","t8","t9","t10","t11","t12","t13","t14","filter","Boolean","classes","join","t15","handleClick","event","preventDefault","t16","t17","t18","t19","t20","styleClasses","t21","t22","t23","t24","t25","t26","buttonElement","t27","Symbol","for","bb0","buttonProps","onMouseEnter","onMouseLeave","rel","target","bb1","console","error","LinkTag","href","Tag","button","horizontalAlign","noBackground","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, forwardRef, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n Link,\n SubMenuPopupContent,\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n newTab,\n onClick,\n round,\n size = 'medium',\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) event.preventDefault()\n if (onClick) onClick(event)\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n\n switch (el) {\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) LinkTag = 'div'\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent)\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {SubMenuPopupContent}\n </Popup>\n </div>\n )\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","Fragment","forwardRef","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","Link","SubMenuPopupContent","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","newTab","onClick","round","size","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onMouseEnter","onMouseLeave","rel","target","buttonElement","console","error","LinkTag","href","Tag","button","horizontalAlign","noBackground","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, forwardRef, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n Link,\n SubMenuPopupContent,\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n newTab,\n onClick,\n round,\n size = 'medium',\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) event.preventDefault()\n if (onClick) onClick(event)\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n\n switch (el) {\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) LinkTag = 'div'\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent)\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {SubMenuPopupContent}\n </Popup>\n </div>\n )\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ import { CollapsibleProvider, useCollapsible } from './provider.js';
13
13
  const baseClass = 'collapsible';
14
14
  export { CollapsibleProvider, useCollapsible };
15
15
  export const Collapsible = t0 => {
16
- const $ = _c(32);
16
+ const $ = _c(26);
17
17
  const {
18
18
  actions,
19
19
  children,
@@ -80,55 +80,32 @@ export const Collapsible = t0 => {
80
80
  t10 = $[10];
81
81
  t11 = $[11];
82
82
  }
83
- let t12;
84
- if ($[12] !== dragHandleProps) {
85
- t12 = dragHandleProps && _jsx("div", {
86
- className: `${baseClass}__drag`,
87
- ...dragHandleProps.attributes,
88
- ...dragHandleProps.listeners,
89
- children: _jsx(DragHandleIcon, {})
90
- });
91
- $[12] = dragHandleProps;
92
- $[13] = t12;
93
- } else {
94
- t12 = $[13];
95
- }
96
- const t13 = `${baseClass}__toggle--${isCollapsed ? "collapsed" : "open"}`;
97
- let t14;
98
- if ($[14] !== t13) {
99
- t14 = [`${baseClass}__toggle`, t13].filter(Boolean);
100
- $[14] = t13;
101
- $[15] = t14;
83
+ const t12 = `${baseClass}__toggle--${isCollapsed ? "collapsed" : "open"}`;
84
+ let t13;
85
+ if ($[12] !== t12) {
86
+ t13 = [`${baseClass}__toggle`, t12].filter(Boolean);
87
+ $[12] = t12;
88
+ $[13] = t13;
102
89
  } else {
103
- t14 = $[15];
90
+ t13 = $[13];
104
91
  }
105
- const t15 = t14.join(" ");
106
- let t16;
107
- if ($[16] !== t || $[17] !== t15 || $[18] !== toggleCollapsible || $[19] !== header || $[20] !== dragHandleProps || $[21] !== actions || $[22] !== isCollapsed || $[23] !== t12 || $[24] !== children || $[25] !== t9) {
108
- let t17;
109
- if ($[27] !== header || $[28] !== dragHandleProps) {
110
- t17 = header && _jsx("div", {
111
- className: [`${baseClass}__header-wrap`, dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`].filter(Boolean).join(" "),
112
- children: header && header
92
+ const t14 = t13.join(" ");
93
+ let t15;
94
+ if ($[14] !== t || $[15] !== t14 || $[16] !== toggleCollapsible || $[17] !== dragHandleProps || $[18] !== header || $[19] !== actions || $[20] !== isCollapsed || $[21] !== children || $[22] !== t9) {
95
+ let t16;
96
+ if ($[24] !== dragHandleProps) {
97
+ t16 = dragHandleProps && _jsx("div", {
98
+ className: `${baseClass}__drag`,
99
+ ...dragHandleProps.attributes,
100
+ ...dragHandleProps.listeners,
101
+ children: _jsx(DragHandleIcon, {})
113
102
  });
114
- $[27] = header;
115
- $[28] = dragHandleProps;
116
- $[29] = t17;
103
+ $[24] = dragHandleProps;
104
+ $[25] = t16;
117
105
  } else {
118
- t17 = $[29];
106
+ t16 = $[25];
119
107
  }
120
- let t18;
121
- if ($[30] !== actions) {
122
- t18 = actions && _jsx("div", {
123
- className: `${baseClass}__actions`,
124
- children: actions
125
- });
126
- $[30] = actions;
127
- $[31] = t18;
128
- } else {
129
- t18 = $[31];
130
- }
131
- t16 = _jsx("div", {
108
+ t15 = _jsx("div", {
132
109
  className: t9,
133
110
  children: _jsxs(CollapsibleProvider, {
134
111
  isCollapsed,
@@ -137,16 +114,22 @@ export const Collapsible = t0 => {
137
114
  className: `${baseClass}__toggle-wrap`,
138
115
  onMouseEnter: t10,
139
116
  onMouseLeave: t11,
140
- children: [t12, _jsx("button", {
141
- className: t15,
117
+ children: [_jsx("button", {
118
+ className: t14,
142
119
  onClick: toggleCollapsible,
143
120
  type: "button",
144
121
  children: _jsx("span", {
145
122
  children: t("fields:toggleBlock")
146
123
  })
147
- }), t17, _jsxs("div", {
124
+ }), t16, header ? _jsx("div", {
125
+ className: [`${baseClass}__header-wrap`, dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`].filter(Boolean).join(" "),
126
+ children: header
127
+ }) : null, _jsxs("div", {
148
128
  className: `${baseClass}__actions-wrap`,
149
- children: [t18, _jsx("div", {
129
+ children: [actions ? _jsx("div", {
130
+ className: `${baseClass}__actions`,
131
+ children: actions
132
+ }) : null, _jsx("div", {
150
133
  className: `${baseClass}__indicator`,
151
134
  children: _jsx(ChevronIcon, {
152
135
  direction: !isCollapsed ? "up" : undefined
@@ -163,20 +146,19 @@ export const Collapsible = t0 => {
163
146
  })]
164
147
  })
165
148
  });
166
- $[16] = t;
167
- $[17] = t15;
168
- $[18] = toggleCollapsible;
169
- $[19] = header;
170
- $[20] = dragHandleProps;
171
- $[21] = actions;
172
- $[22] = isCollapsed;
173
- $[23] = t12;
174
- $[24] = children;
175
- $[25] = t9;
176
- $[26] = t16;
149
+ $[14] = t;
150
+ $[15] = t14;
151
+ $[16] = toggleCollapsible;
152
+ $[17] = dragHandleProps;
153
+ $[18] = header;
154
+ $[19] = actions;
155
+ $[20] = isCollapsed;
156
+ $[21] = children;
157
+ $[22] = t9;
158
+ $[23] = t15;
177
159
  } else {
178
- t16 = $[26];
160
+ t15 = $[23];
179
161
  }
180
- return t16;
162
+ return t15;
181
163
  };
182
164
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","AnimateHeightImport","AnimateHeight","default","ChevronIcon","DragHandleIcon","useTranslation","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","children","className","collapsibleStyle","t1","dragHandleProps","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t2","toggleCollapsible","t3","t4","t5","t6","t7","t8","filter","t9","join","t10","t11","Symbol","for","t12","_jsx","attributes","listeners","t13","t14","t15","t16","t17","t18","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","direction","duration","height"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { DragHandleIcon } from '../../icons/DragHandle/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type Props = {\n actions?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n dragHandleProps?: DragHandleProps\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<Props> = ({\n actions,\n children,\n className,\n collapsibleStyle = 'default',\n dragHandleProps,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') void onToggle(!isCollapsed)\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span>{t('fields:toggleBlock')}</span>\n </button>\n {header && (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {header && header}\n </div>\n )}\n <div className={`${baseClass}__actions-wrap`}>\n {actions && <div className={`${baseClass}__actions`}>{actions}</div>}\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </div>\n </div>\n </div>\n <AnimateHeight duration={200} height={isCollapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","AnimateHeightImport","AnimateHeight","default","ChevronIcon","DragHandleIcon","useTranslation","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","children","className","collapsibleStyle","t1","dragHandleProps","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t2","toggleCollapsible","t3","t4","t5","t6","t7","t8","filter","t9","join","t10","t11","Symbol","for","t12","t13","t14","t15","t16","_jsx","attributes","listeners","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","direction","duration","height"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { DragHandleIcon } from '../../icons/DragHandle/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type Props = {\n actions?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n dragHandleProps?: DragHandleProps\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<Props> = ({\n actions,\n children,\n className,\n collapsibleStyle = 'default',\n dragHandleProps,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') void onToggle(!isCollapsed)\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span>{t('fields:toggleBlock')}</span>\n </button>\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </div>\n </div>\n </div>\n <AnimateHeight duration={200} height={isCollapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}