@uniformdev/design-system 18.18.1-alpha.12 → 18.19.1-alpha.7
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.
- package/dist/esm/index.js +1245 -215
- package/dist/index.d.ts +313 -7
- package/dist/index.js +1275 -214
- package/package.json +6 -4
package/dist/esm/index.js
CHANGED
|
@@ -1196,7 +1196,9 @@ var customIcons = {
|
|
|
1196
1196
|
// src/components/Icons/IconsProvider.tsx
|
|
1197
1197
|
import { jsx as jsx5 } from "@emotion/react/jsx-runtime";
|
|
1198
1198
|
var IconContext = createContext({
|
|
1199
|
+
/** object mapping of available icons */
|
|
1199
1200
|
iconsMap: {},
|
|
1201
|
+
/** sets the loading state of the icon */
|
|
1200
1202
|
isLoading: true
|
|
1201
1203
|
});
|
|
1202
1204
|
function useIconContext() {
|
|
@@ -8275,6 +8277,7 @@ var Button = React5.forwardRef(
|
|
|
8275
8277
|
ghost: buttonGhost,
|
|
8276
8278
|
ghostDestructive: buttonGhostDestructive,
|
|
8277
8279
|
unimportant: buttonUnimportant,
|
|
8280
|
+
/** @deprecated */
|
|
8278
8281
|
tertiary: buttonTertiary
|
|
8279
8282
|
};
|
|
8280
8283
|
const btnSize = {
|
|
@@ -9018,6 +9021,9 @@ var counterIcon = css24`
|
|
|
9018
9021
|
// src/components/Counter/Counter.tsx
|
|
9019
9022
|
import { jsx as jsx27, jsxs as jsxs15 } from "@emotion/react/jsx-runtime";
|
|
9020
9023
|
var Counter = ({ count }) => {
|
|
9024
|
+
if (typeof count === "undefined") {
|
|
9025
|
+
return null;
|
|
9026
|
+
}
|
|
9021
9027
|
const isTripleDigits = count > 99 ? /* @__PURE__ */ jsxs15("span", { css: counterTripleValue, title: `${count}`, children: [
|
|
9022
9028
|
"99",
|
|
9023
9029
|
/* @__PURE__ */ jsx27(Icon, { icon: "math-plus", iconColor: "currentColor", size: "0.5rem", css: counterIcon })
|
|
@@ -9078,6 +9084,7 @@ import * as React8 from "react";
|
|
|
9078
9084
|
// src/components/Details/Details.styles.ts
|
|
9079
9085
|
import { css as css26 } from "@emotion/react";
|
|
9080
9086
|
var details = css26`
|
|
9087
|
+
cursor: pointer;
|
|
9081
9088
|
&[open] {
|
|
9082
9089
|
& > summary svg {
|
|
9083
9090
|
rotate: 0deg;
|
|
@@ -9712,6 +9719,7 @@ function InputComboBox(props) {
|
|
|
9712
9719
|
...base,
|
|
9713
9720
|
margin: "0",
|
|
9714
9721
|
padding: "0",
|
|
9722
|
+
// Prevents input shadow when focused within the select area
|
|
9715
9723
|
"& > input": {
|
|
9716
9724
|
boxShadow: "none !important"
|
|
9717
9725
|
},
|
|
@@ -9731,11 +9739,13 @@ function InputComboBox(props) {
|
|
|
9731
9739
|
return {
|
|
9732
9740
|
...base,
|
|
9733
9741
|
className: "input-combobox-control",
|
|
9742
|
+
// Used to provide overriding styles for blue focus ring and offset borders
|
|
9734
9743
|
border: state.isFocused ? "1px solid transparent" : "1px solid var(--gray-400)",
|
|
9735
9744
|
lineHeight: 1.25,
|
|
9736
9745
|
outline: state.isFocused ? "1px solid var(--brand-secondary-1)" : "none",
|
|
9737
9746
|
outlineOffset: 0,
|
|
9738
9747
|
minHeight: "58px",
|
|
9748
|
+
// matches the min-height of other input fields
|
|
9739
9749
|
boxShadow: "none",
|
|
9740
9750
|
"&:hover": {
|
|
9741
9751
|
boxShadow: "none"
|
|
@@ -10169,6 +10179,7 @@ var LimitsBar = ({ current, max, label }) => {
|
|
|
10169
10179
|
const colorMap = {
|
|
10170
10180
|
base: "var(--gray-400)",
|
|
10171
10181
|
warn: "#facc15",
|
|
10182
|
+
// Not in the design system token at present
|
|
10172
10183
|
danger: "var(--brand-secondary-5)"
|
|
10173
10184
|
};
|
|
10174
10185
|
const statusColor = progressBarValue === 100 ? colorMap.danger : progressBarValue >= 75 ? colorMap.warn : colorMap.base;
|
|
@@ -11100,219 +11111,1237 @@ var IntegrationModalHeader = ({ icon, name, menu: menu2, children }) => {
|
|
|
11100
11111
|
] });
|
|
11101
11112
|
};
|
|
11102
11113
|
|
|
11103
|
-
// src/components/
|
|
11104
|
-
import
|
|
11105
|
-
|
|
11106
|
-
|
|
11107
|
-
|
|
11114
|
+
// src/components/Tooltip/Tooltip.tsx
|
|
11115
|
+
import React13 from "react";
|
|
11116
|
+
import {
|
|
11117
|
+
Tooltip as ReakitTooltip,
|
|
11118
|
+
TooltipArrow,
|
|
11119
|
+
TooltipReference,
|
|
11120
|
+
useTooltipState
|
|
11121
|
+
} from "reakit/Tooltip";
|
|
11122
|
+
|
|
11123
|
+
// src/components/Tooltip/Tooltip.styles.ts
|
|
11124
|
+
import { css as css51 } from "@emotion/react";
|
|
11125
|
+
var TooltipContainer = css51`
|
|
11126
|
+
border: 2px solid var(--gray-300);
|
|
11127
|
+
border-radius: var(--rounded-base);
|
|
11128
|
+
padding: var(--spacing-xs) var(--spacing-sm);
|
|
11129
|
+
color: var(--gray-500);
|
|
11130
|
+
font-size: var(--fs-xs);
|
|
11131
|
+
background: var(--white);
|
|
11108
11132
|
`;
|
|
11109
|
-
var
|
|
11110
|
-
|
|
11111
|
-
|
|
11133
|
+
var TooltipArrowStyles = css51`
|
|
11134
|
+
svg {
|
|
11135
|
+
fill: var(--gray-300);
|
|
11136
|
+
}
|
|
11112
11137
|
`;
|
|
11113
11138
|
|
|
11114
|
-
// src/components/
|
|
11115
|
-
import { jsx as jsx64 } from "@emotion/react/jsx-runtime";
|
|
11116
|
-
|
|
11117
|
-
|
|
11118
|
-
|
|
11119
|
-
|
|
11120
|
-
|
|
11139
|
+
// src/components/Tooltip/Tooltip.tsx
|
|
11140
|
+
import { Fragment as Fragment9, jsx as jsx64, jsxs as jsxs44 } from "@emotion/react/jsx-runtime";
|
|
11141
|
+
function Tooltip({ children, title, placement = "bottom", visible, ...props }) {
|
|
11142
|
+
const tooltip = useTooltipState({ placement });
|
|
11143
|
+
return /* @__PURE__ */ jsxs44(Fragment9, { children: [
|
|
11144
|
+
/* @__PURE__ */ jsx64(TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => React13.cloneElement(children, referenceProps) }),
|
|
11145
|
+
/* @__PURE__ */ jsxs44(ReakitTooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
|
|
11146
|
+
/* @__PURE__ */ jsx64(TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
|
|
11147
|
+
title
|
|
11148
|
+
] })
|
|
11149
|
+
] });
|
|
11150
|
+
}
|
|
11151
|
+
|
|
11152
|
+
// src/components/ParameterInputs/styles/ParameterBindingButton.styles.ts
|
|
11153
|
+
import { css as css52 } from "@emotion/react";
|
|
11154
|
+
var inputIconBtn = css52`
|
|
11155
|
+
align-items: center;
|
|
11156
|
+
border: none;
|
|
11157
|
+
border-radius: var(--rounded-base);
|
|
11158
|
+
background: none;
|
|
11159
|
+
display: flex;
|
|
11160
|
+
padding: var(--spacing-2xs);
|
|
11161
|
+
transition: background var(--duration-fast) var(--timing-ease-out),
|
|
11162
|
+
color var(--duration-fast) var(--timing-ease-out);
|
|
11163
|
+
|
|
11164
|
+
&:hover,
|
|
11165
|
+
&[aria-pressed='true']:not(:disabled) {
|
|
11166
|
+
background: var(--brand-secondary-3);
|
|
11167
|
+
color: var(--white);
|
|
11168
|
+
}
|
|
11169
|
+
`;
|
|
11170
|
+
|
|
11171
|
+
// src/components/ParameterInputs/ConnectToDataElementButton.tsx
|
|
11172
|
+
import { jsx as jsx65, jsxs as jsxs45 } from "@emotion/react/jsx-runtime";
|
|
11173
|
+
var ConnectToDataElementButton = ({
|
|
11174
|
+
icon,
|
|
11175
|
+
iconColor,
|
|
11121
11176
|
children,
|
|
11122
|
-
|
|
11123
|
-
|
|
11124
|
-
|
|
11125
|
-
|
|
11126
|
-
|
|
11127
|
-
|
|
11177
|
+
isBound,
|
|
11178
|
+
isLocked,
|
|
11179
|
+
...props
|
|
11180
|
+
}) => {
|
|
11181
|
+
const title = isLocked ? "Read-only pattern parameter" : isBound ? "Connected to external content. Click to edit" : "Click to connect to external content";
|
|
11182
|
+
return /* @__PURE__ */ jsx65(Tooltip, { title, children: /* @__PURE__ */ jsxs45("button", { css: inputIconBtn, type: "button", "aria-pressed": isBound, ...props, disabled: isLocked, children: [
|
|
11183
|
+
/* @__PURE__ */ jsx65(
|
|
11184
|
+
Icon,
|
|
11128
11185
|
{
|
|
11129
|
-
|
|
11130
|
-
|
|
11131
|
-
|
|
11132
|
-
borderRadius: circle ? "var(--rounded-full)" : "var(--rounded-md)"
|
|
11186
|
+
icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
|
|
11187
|
+
iconColor: iconColor ? iconColor : "currentColor",
|
|
11188
|
+
size: "1rem"
|
|
11133
11189
|
}
|
|
11134
|
-
|
|
11135
|
-
...otherProps,
|
|
11136
|
-
"aria-busy": "true",
|
|
11137
|
-
"aria-label": "Loading...",
|
|
11190
|
+
),
|
|
11138
11191
|
children
|
|
11139
|
-
}
|
|
11140
|
-
|
|
11192
|
+
] }) });
|
|
11193
|
+
};
|
|
11141
11194
|
|
|
11142
|
-
// src/components/
|
|
11143
|
-
import
|
|
11195
|
+
// src/components/ParameterInputs/hooks/ParameterShellContext.tsx
|
|
11196
|
+
import { createContext as createContext4, useContext as useContext5 } from "react";
|
|
11197
|
+
var ParameterShellContext = createContext4({
|
|
11198
|
+
id: "",
|
|
11199
|
+
label: "",
|
|
11200
|
+
hiddenLabel: void 0,
|
|
11201
|
+
errorMessage: void 0,
|
|
11202
|
+
onManuallySetErrorMessage: () => {
|
|
11203
|
+
}
|
|
11204
|
+
});
|
|
11205
|
+
var useParameterShell = () => {
|
|
11206
|
+
const { id, label, hiddenLabel, errorMessage, onManuallySetErrorMessage } = useContext5(ParameterShellContext);
|
|
11207
|
+
return {
|
|
11208
|
+
id,
|
|
11209
|
+
label,
|
|
11210
|
+
hiddenLabel,
|
|
11211
|
+
errorMessage,
|
|
11212
|
+
onManuallySetErrorMessage
|
|
11213
|
+
};
|
|
11214
|
+
};
|
|
11144
11215
|
|
|
11145
|
-
// src/components/
|
|
11146
|
-
import { css as
|
|
11147
|
-
var
|
|
11148
|
-
cursor: pointer;
|
|
11149
|
-
display: inline-block;
|
|
11216
|
+
// src/components/ParameterInputs/styles/ParameterInput.styles.ts
|
|
11217
|
+
import { css as css53 } from "@emotion/react";
|
|
11218
|
+
var inputContainer2 = css53`
|
|
11150
11219
|
position: relative;
|
|
11151
|
-
|
|
11152
|
-
|
|
11153
|
-
|
|
11154
|
-
|
|
11220
|
+
|
|
11221
|
+
&:hover,
|
|
11222
|
+
&:focus,
|
|
11223
|
+
&:focus-within {
|
|
11224
|
+
.parameter-menu {
|
|
11225
|
+
opacity: var(--opacity-100);
|
|
11226
|
+
translate: 0 0;
|
|
11227
|
+
}
|
|
11228
|
+
}
|
|
11155
11229
|
`;
|
|
11156
|
-
var
|
|
11157
|
-
|
|
11158
|
-
|
|
11159
|
-
|
|
11160
|
-
|
|
11161
|
-
|
|
11162
|
-
|
|
11230
|
+
var labelText2 = css53`
|
|
11231
|
+
align-items: center;
|
|
11232
|
+
display: flex;
|
|
11233
|
+
gap: var(--spacing-xs);
|
|
11234
|
+
font-weight: var(--fw-regular);
|
|
11235
|
+
margin: 0 0 var(--spacing-xs);
|
|
11236
|
+
`;
|
|
11237
|
+
var input2 = css53`
|
|
11163
11238
|
display: block;
|
|
11164
|
-
|
|
11165
|
-
|
|
11166
|
-
|
|
11167
|
-
|
|
11168
|
-
|
|
11169
|
-
|
|
11239
|
+
appearance: none;
|
|
11240
|
+
box-sizing: border-box;
|
|
11241
|
+
background: var(--white);
|
|
11242
|
+
border: 1px solid var(--white);
|
|
11243
|
+
border-radius: var(--rounded-sm);
|
|
11244
|
+
color: var(--gray-700);
|
|
11245
|
+
font-size: var(--fs-sm);
|
|
11246
|
+
line-height: 1.2;
|
|
11247
|
+
min-height: 2rem;
|
|
11248
|
+
padding: var(--spacing-sm);
|
|
11249
|
+
width: 100%;
|
|
11250
|
+
position: relative;
|
|
11251
|
+
white-space: wrap;
|
|
11252
|
+
transition-property: background, border-color, color, box-shadow, border-radius;
|
|
11253
|
+
transition-duration: var(--duration-fast);
|
|
11254
|
+
transition-timing-function: var(--timing-ease-out);
|
|
11170
11255
|
|
|
11171
|
-
|
|
11172
|
-
|
|
11173
|
-
outline-offset: 2px;
|
|
11256
|
+
&::placeholder {
|
|
11257
|
+
color: var(--gray-400);
|
|
11174
11258
|
}
|
|
11175
11259
|
|
|
11176
|
-
&:
|
|
11177
|
-
|
|
11178
|
-
|
|
11179
|
-
|
|
11180
|
-
border
|
|
11181
|
-
|
|
11182
|
-
|
|
11183
|
-
&:hover,
|
|
11184
|
-
&:focus {
|
|
11185
|
-
border-color: var(--brand-secondary-1);
|
|
11186
|
-
background-color: var(--brand-secondary-1);
|
|
11187
|
-
}
|
|
11260
|
+
&:focus,
|
|
11261
|
+
&:focus-within {
|
|
11262
|
+
border-radius: var(--rounded-md);
|
|
11263
|
+
box-shadow: none;
|
|
11264
|
+
border: 1px solid var(--gray-300);
|
|
11265
|
+
outline: none;
|
|
11188
11266
|
}
|
|
11189
11267
|
|
|
11190
|
-
&:disabled
|
|
11268
|
+
&:disabled,
|
|
11269
|
+
&:disabled::placeholder,
|
|
11270
|
+
&:disabled:hover {
|
|
11271
|
+
border-radius: var(--rounded-md);
|
|
11191
11272
|
cursor: not-allowed;
|
|
11273
|
+
color: var(--gray-400);
|
|
11192
11274
|
}
|
|
11193
|
-
`;
|
|
11194
|
-
var SwitchInputDisabled = css52`
|
|
11195
|
-
opacity: var(--opacity-50);
|
|
11196
|
-
cursor: not-allowed;
|
|
11197
11275
|
|
|
11198
|
-
&
|
|
11276
|
+
&[readonly] {
|
|
11199
11277
|
cursor: not-allowed;
|
|
11278
|
+
color: var(--gray-400);
|
|
11200
11279
|
}
|
|
11201
11280
|
`;
|
|
11202
|
-
var
|
|
11281
|
+
var selectInput = css53`
|
|
11282
|
+
background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath d='M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z' fill='currentColor' /%3E%3C/svg%3E");
|
|
11283
|
+
background-position: right var(--spacing-sm) center;
|
|
11284
|
+
background-repeat: no-repeat;
|
|
11285
|
+
background-size: 1rem;
|
|
11286
|
+
padding-right: var(--spacing-xl);
|
|
11287
|
+
`;
|
|
11288
|
+
var inputWrapper = css53`
|
|
11289
|
+
display: flex; // used to correct overflow with chrome textarea
|
|
11290
|
+
position: relative;
|
|
11291
|
+
`;
|
|
11292
|
+
var inputIcon2 = css53`
|
|
11203
11293
|
align-items: center;
|
|
11204
|
-
|
|
11294
|
+
background: var(--white);
|
|
11295
|
+
border-radius: var(--rounded-md) 0 0 var(--rounded-md);
|
|
11296
|
+
border-right: 1px solid var(--gray-100);
|
|
11297
|
+
color: var(--gray-300);
|
|
11298
|
+
display: flex;
|
|
11299
|
+
justify-content: center;
|
|
11300
|
+
transition: background var(--duration-fast) var(--timing-ease-out);
|
|
11301
|
+
position: absolute;
|
|
11302
|
+
top: 0;
|
|
11303
|
+
left: 0;
|
|
11304
|
+
bottom: 0;
|
|
11305
|
+
width: var(--spacing-lg);
|
|
11306
|
+
z-index: var(--z-10);
|
|
11307
|
+
`;
|
|
11308
|
+
var inputToggleLabel2 = css53`
|
|
11309
|
+
align-items: center;
|
|
11310
|
+
background: var(--white);
|
|
11311
|
+
cursor: pointer;
|
|
11205
11312
|
display: inline-flex;
|
|
11206
|
-
|
|
11207
|
-
|
|
11208
|
-
|
|
11313
|
+
gap: var(--spacing-sm);
|
|
11314
|
+
font-weight: var(--fw-regular);
|
|
11315
|
+
font-size: var(--fs-sm);
|
|
11316
|
+
min-height: var(--spacing-md);
|
|
11317
|
+
position: relative;
|
|
11318
|
+
`;
|
|
11319
|
+
var toggleInput2 = css53`
|
|
11320
|
+
appearance: none;
|
|
11321
|
+
border: 1px solid var(--gray-300);
|
|
11322
|
+
background: var(--white);
|
|
11323
|
+
width: var(--spacing-md);
|
|
11324
|
+
height: var(--spacing-md);
|
|
11325
|
+
transition: background var(--duration-fast) var(--timing-ease-out),
|
|
11326
|
+
border-color var(--duration-fast) var(--timing-ease-out),
|
|
11327
|
+
color var(--duration-fast) var(--timing-ease-out);
|
|
11328
|
+
font-size: var(--fs-sm);
|
|
11329
|
+
line-height: 1;
|
|
11209
11330
|
|
|
11210
|
-
|
|
11331
|
+
position: absolute;
|
|
11332
|
+
left: 0;
|
|
11333
|
+
|
|
11334
|
+
&:where([type='radio']) {
|
|
11211
11335
|
border-radius: var(--rounded-full);
|
|
11212
|
-
background-color: var(--gray-300);
|
|
11213
|
-
content: '';
|
|
11214
|
-
cursor: pointer;
|
|
11215
|
-
display: block;
|
|
11216
|
-
overflow: hidden;
|
|
11217
|
-
width: var(--spacing-xl);
|
|
11218
|
-
height: var(--spacing-md);
|
|
11219
|
-
position: absolute;
|
|
11220
|
-
left: 0;
|
|
11221
|
-
top: 0;
|
|
11222
11336
|
}
|
|
11223
|
-
`;
|
|
11224
|
-
var SwitchText = css52`
|
|
11225
|
-
color: var(--gray-500);
|
|
11226
|
-
font-size: var(--fs-sm);
|
|
11227
|
-
padding-inline: var(--spacing-2xl) 0;
|
|
11228
|
-
`;
|
|
11229
11337
|
|
|
11230
|
-
|
|
11231
|
-
|
|
11232
|
-
var Switch = React13.forwardRef(
|
|
11233
|
-
({ label, infoText, toggleText, children, ...inputProps }, ref) => {
|
|
11234
|
-
let additionalText = infoText;
|
|
11235
|
-
if (infoText && toggleText) {
|
|
11236
|
-
additionalText = inputProps.checked ? toggleText : infoText;
|
|
11237
|
-
}
|
|
11238
|
-
return /* @__PURE__ */ jsxs44(Fragment9, { children: [
|
|
11239
|
-
/* @__PURE__ */ jsxs44("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
|
|
11240
|
-
/* @__PURE__ */ jsx65("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
|
|
11241
|
-
/* @__PURE__ */ jsx65("span", { css: SwitchInputLabel, children: label })
|
|
11242
|
-
] }),
|
|
11243
|
-
additionalText ? /* @__PURE__ */ jsx65("p", { css: SwitchText, children: additionalText }) : null,
|
|
11244
|
-
children
|
|
11245
|
-
] });
|
|
11338
|
+
&:where([type='checkbox']) {
|
|
11339
|
+
border-radius: var(--rounded-md);
|
|
11246
11340
|
}
|
|
11247
|
-
);
|
|
11248
11341
|
|
|
11249
|
-
|
|
11250
|
-
|
|
11342
|
+
&:checked,
|
|
11343
|
+
&:checked:hover,
|
|
11344
|
+
&:checked:focus {
|
|
11345
|
+
background: var(--brand-secondary-3)
|
|
11346
|
+
url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath d='M10.5858 13.4142L7.75735 10.5858L6.34314 12L10.5858 16.2427L17.6568 9.1716L16.2426 7.75739L10.5858 13.4142Z' fill='%23fff' /%3E%3C/svg%3E")
|
|
11347
|
+
no-repeat center center;
|
|
11348
|
+
border-color: var(--brand-secondary-3);
|
|
11349
|
+
color: var(--white);
|
|
11350
|
+
}
|
|
11251
11351
|
|
|
11252
|
-
|
|
11253
|
-
|
|
11254
|
-
var
|
|
11255
|
-
|
|
11256
|
-
|
|
11257
|
-
min-width: 100%;
|
|
11258
|
-
table-layout: auto;
|
|
11259
|
-
`;
|
|
11260
|
-
var tableHead = css53`
|
|
11261
|
-
background: var(--gray-100);
|
|
11262
|
-
color: var(--brand-secondary-1);
|
|
11263
|
-
text-align: left;
|
|
11264
|
-
`;
|
|
11265
|
-
var tableRow = css53`
|
|
11266
|
-
border-bottom: 1px solid var(--gray-200);
|
|
11352
|
+
&:disabled {
|
|
11353
|
+
cursor: not-allowed;
|
|
11354
|
+
color: var(--gray-400);
|
|
11355
|
+
border-color: var(--gray-300);
|
|
11356
|
+
}
|
|
11267
11357
|
`;
|
|
11268
|
-
var
|
|
11358
|
+
var inlineLabel2 = css53`
|
|
11359
|
+
padding-left: var(--spacing-lg);
|
|
11269
11360
|
font-size: var(--fs-sm);
|
|
11270
|
-
|
|
11271
|
-
|
|
11361
|
+
font-weight: var(--fw-regular);
|
|
11362
|
+
translate: 0 1px; // brings the span into central alignment
|
|
11363
|
+
pointer-events: none; // prevents e2e failing on click event, this does not happen to the end user
|
|
11364
|
+
|
|
11365
|
+
> a {
|
|
11366
|
+
color: var(--brand-secondary-3);
|
|
11367
|
+
text-decoration: underline;
|
|
11368
|
+
|
|
11369
|
+
&:hover {
|
|
11370
|
+
text-decoration: none;
|
|
11371
|
+
}
|
|
11372
|
+
}
|
|
11373
|
+
`;
|
|
11374
|
+
var inputMenu = css53`
|
|
11375
|
+
background: none;
|
|
11376
|
+
border: none;
|
|
11377
|
+
padding: 0;
|
|
11378
|
+
position: absolute;
|
|
11379
|
+
top: calc(var(--spacing-md) * -1.2);
|
|
11380
|
+
right: 0;
|
|
11381
|
+
opacity: var(--opacity-50);
|
|
11382
|
+
transition: opacity var(--duration-fast) var(--timing-ease-out);
|
|
11383
|
+
|
|
11384
|
+
// css trick to style the input like a hover or active state when the menu button is active or hovered
|
|
11385
|
+
&:hover,
|
|
11386
|
+
&[aria-expanded='true'] {
|
|
11387
|
+
~ input,
|
|
11388
|
+
~ select,
|
|
11389
|
+
~ textarea {
|
|
11390
|
+
'order-radius: var(--rounded-md);
|
|
11391
|
+
}
|
|
11392
|
+
|
|
11393
|
+
}
|
|
11394
|
+
`;
|
|
11395
|
+
var textarea2 = css53`
|
|
11396
|
+
resize: vertical;
|
|
11397
|
+
min-height: 2rem;
|
|
11398
|
+
`;
|
|
11399
|
+
var imageWrapper = css53`
|
|
11400
|
+
background: var(--white);
|
|
11401
|
+
`;
|
|
11402
|
+
var img = css53`
|
|
11403
|
+
animation: ${fadeIn} var(--duration-fast) var(--timing-ease-out) forwards;
|
|
11404
|
+
aspect-ratio: 1 / 1;
|
|
11405
|
+
max-width: 100%;
|
|
11406
|
+
height: auto;
|
|
11407
|
+
opacity: var(--opacity-0);
|
|
11408
|
+
margin-top: var(--spacing-sm);
|
|
11409
|
+
`;
|
|
11410
|
+
var dataConnectButton = css53`
|
|
11411
|
+
align-items: center;
|
|
11412
|
+
appearance: none;
|
|
11413
|
+
box-sizing: border-box;
|
|
11414
|
+
background-color: var(--white);
|
|
11415
|
+
border: 1px solid var(--brand-secondary-3);
|
|
11416
|
+
border-radius: var(--rounded-md);
|
|
11417
|
+
color: var(--brand-secondary-3);
|
|
11418
|
+
display: flex;
|
|
11419
|
+
padding: var(--spacing-sm);
|
|
11420
|
+
position: relative;
|
|
11421
|
+
transition: background var(--duration-fast) var(--timing-ease-out),
|
|
11422
|
+
outline-color var(--duration-fast) var(--timing-ease-out),
|
|
11423
|
+
color var(--duration-fast) var(--timing-ease-out);
|
|
11424
|
+
width: 100%;
|
|
11425
|
+
font-weight: var(--fw-medium);
|
|
11426
|
+
font-size: var(--fs-sm);
|
|
11427
|
+
line-height: 1;
|
|
11428
|
+
min-height: 34px;
|
|
11429
|
+
justify-content: center;
|
|
11430
|
+
|
|
11431
|
+
&:focus,
|
|
11432
|
+
&:focus-within {
|
|
11433
|
+
outline: 1px solid var(--gray-300);
|
|
11434
|
+
border-radius: var(--rounded-md);
|
|
11435
|
+
}
|
|
11436
|
+
|
|
11437
|
+
&:disabled:hover,
|
|
11438
|
+
&:disabled {
|
|
11439
|
+
border-radius: var(--rounded-md);
|
|
11440
|
+
cursor: not-allowed;
|
|
11441
|
+
color: var(--gray-400);
|
|
11442
|
+
pointer-events: none;
|
|
11443
|
+
}
|
|
11444
|
+
`;
|
|
11445
|
+
var linkParameterBtn = css53`
|
|
11446
|
+
border-radius: var(--rounded-base);
|
|
11447
|
+
background: var(--white);
|
|
11448
|
+
border: none;
|
|
11449
|
+
color: var(--brand-secondary-3);
|
|
11450
|
+
font-weight: var(--fw-regular);
|
|
11451
|
+
font-size: var(--fs-sm);
|
|
11452
|
+
line-height: 1;
|
|
11453
|
+
position: absolute;
|
|
11454
|
+
inset: 0 var(--spacing-base) 0 auto;
|
|
11455
|
+
padding: 0 var(--spacing-base);
|
|
11456
|
+
`;
|
|
11457
|
+
var linkParameterInput = css53`
|
|
11458
|
+
padding-right: calc(var(--spacing-2xl) + var(--spacing-base));
|
|
11459
|
+
`;
|
|
11460
|
+
var linkParameterIcon = css53`
|
|
11461
|
+
align-items: center;
|
|
11462
|
+
color: var(--brand-secondary-3);
|
|
11463
|
+
display: flex;
|
|
11464
|
+
justify-content: center;
|
|
11465
|
+
padding: var(--spacing-2xs);
|
|
11466
|
+
transition: color var(--duration-fast) var(--timing-ease-out);
|
|
11467
|
+
margin-left: auto;
|
|
11468
|
+
|
|
11469
|
+
&:hover {
|
|
11470
|
+
color: var(--brand-secondary-1);
|
|
11471
|
+
}
|
|
11472
|
+
`;
|
|
11473
|
+
|
|
11474
|
+
// src/components/ParameterInputs/ParameterDataResource.tsx
|
|
11475
|
+
import { jsx as jsx66, jsxs as jsxs46 } from "@emotion/react/jsx-runtime";
|
|
11476
|
+
function ParameterDataResource({
|
|
11477
|
+
label,
|
|
11478
|
+
labelLeadingIcon,
|
|
11479
|
+
id,
|
|
11480
|
+
onConnectDatasource,
|
|
11481
|
+
caption,
|
|
11482
|
+
disabled,
|
|
11483
|
+
children
|
|
11484
|
+
}) {
|
|
11485
|
+
return /* @__PURE__ */ jsxs46("div", { "data-testid": "parameter-data-connect-button", children: [
|
|
11486
|
+
/* @__PURE__ */ jsxs46("span", { css: labelText2, children: [
|
|
11487
|
+
labelLeadingIcon ? labelLeadingIcon : null,
|
|
11488
|
+
label
|
|
11489
|
+
] }),
|
|
11490
|
+
/* @__PURE__ */ jsxs46(
|
|
11491
|
+
"button",
|
|
11492
|
+
{
|
|
11493
|
+
type: "button",
|
|
11494
|
+
css: dataConnectButton,
|
|
11495
|
+
"aria-controls": id,
|
|
11496
|
+
disabled,
|
|
11497
|
+
onClick: onConnectDatasource,
|
|
11498
|
+
children: [
|
|
11499
|
+
/* @__PURE__ */ jsx66("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ jsx66(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
|
|
11500
|
+
children
|
|
11501
|
+
]
|
|
11502
|
+
}
|
|
11503
|
+
),
|
|
11504
|
+
caption ? /* @__PURE__ */ jsx66(Caption, { children: caption }) : null
|
|
11505
|
+
] });
|
|
11506
|
+
}
|
|
11507
|
+
|
|
11508
|
+
// src/components/ParameterInputs/styles/ParameterDrawerHeader.styles.ts
|
|
11509
|
+
import { css as css54 } from "@emotion/react";
|
|
11510
|
+
var ParameterDrawerHeaderContainer = css54`
|
|
11511
|
+
align-items: center;
|
|
11512
|
+
display: flex;
|
|
11513
|
+
gap: var(--spacing-base);
|
|
11514
|
+
justify-content: space-between;
|
|
11515
|
+
margin-bottom: var(--spacing-sm);
|
|
11516
|
+
`;
|
|
11517
|
+
var ParameterDrawerHeaderTitleGroup = css54`
|
|
11518
|
+
align-items: center;
|
|
11519
|
+
display: flex;
|
|
11520
|
+
gap: var(--spacing-sm);
|
|
11521
|
+
`;
|
|
11522
|
+
var ParameterDrawerHeaderTitle = css54`
|
|
11523
|
+
text-overflow: ellipsis;
|
|
11524
|
+
white-space: nowrap;
|
|
11525
|
+
overflow: hidden;
|
|
11526
|
+
max-width: 16ch;
|
|
11527
|
+
`;
|
|
11528
|
+
|
|
11529
|
+
// src/components/ParameterInputs/ParameterDrawerHeader.tsx
|
|
11530
|
+
import { jsx as jsx67, jsxs as jsxs47 } from "@emotion/react/jsx-runtime";
|
|
11531
|
+
var ParameterDrawerHeader = ({ title, iconBeforeTitle, children }) => {
|
|
11532
|
+
return /* @__PURE__ */ jsxs47("div", { css: ParameterDrawerHeaderContainer, children: [
|
|
11533
|
+
/* @__PURE__ */ jsxs47("header", { css: ParameterDrawerHeaderTitleGroup, children: [
|
|
11534
|
+
iconBeforeTitle,
|
|
11535
|
+
/* @__PURE__ */ jsx67(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title, children: title })
|
|
11536
|
+
] }),
|
|
11537
|
+
children
|
|
11538
|
+
] });
|
|
11539
|
+
};
|
|
11540
|
+
|
|
11541
|
+
// src/components/ParameterInputs/ParameterGroup.tsx
|
|
11542
|
+
import { forwardRef as forwardRef7 } from "react";
|
|
11543
|
+
|
|
11544
|
+
// src/components/ParameterInputs/styles/ParameterGroup.styles.ts
|
|
11545
|
+
import { css as css55 } from "@emotion/react";
|
|
11546
|
+
var fieldsetStyles = css55`
|
|
11547
|
+
&:disabled,
|
|
11548
|
+
[readonly] {
|
|
11549
|
+
pointer-events: none;
|
|
11550
|
+
|
|
11551
|
+
label,
|
|
11552
|
+
legend {
|
|
11553
|
+
opacity: var(--opacity-60);
|
|
11554
|
+
}
|
|
11555
|
+
}
|
|
11556
|
+
`;
|
|
11557
|
+
var fieldsetLegend2 = css55`
|
|
11558
|
+
display: block;
|
|
11559
|
+
font-weight: var(--fw-medium);
|
|
11560
|
+
margin-bottom: var(--spacing-sm);
|
|
11561
|
+
`;
|
|
11562
|
+
|
|
11563
|
+
// src/components/ParameterInputs/ParameterGroup.tsx
|
|
11564
|
+
import { jsx as jsx68, jsxs as jsxs48 } from "@emotion/react/jsx-runtime";
|
|
11565
|
+
var ParameterGroup = forwardRef7(
|
|
11566
|
+
({ legend, isDisabled, children, ...props }, ref) => {
|
|
11567
|
+
return /* @__PURE__ */ jsxs48("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
|
|
11568
|
+
/* @__PURE__ */ jsx68("legend", { css: fieldsetLegend2, children: legend }),
|
|
11569
|
+
children
|
|
11570
|
+
] });
|
|
11571
|
+
}
|
|
11572
|
+
);
|
|
11573
|
+
|
|
11574
|
+
// src/components/ParameterInputs/ParameterImage.tsx
|
|
11575
|
+
import { forwardRef as forwardRef9, useCallback as useCallback2, useDeferredValue, useState as useState8 } from "react";
|
|
11576
|
+
|
|
11577
|
+
// src/components/ParameterInputs/ParameterShell.tsx
|
|
11578
|
+
import { useState as useState7 } from "react";
|
|
11579
|
+
|
|
11580
|
+
// src/components/ParameterInputs/ParameterLabel.tsx
|
|
11581
|
+
import { jsx as jsx69 } from "@emotion/react/jsx-runtime";
|
|
11582
|
+
var ParameterLabel = ({ id, asSpan, children, ...props }) => {
|
|
11583
|
+
return !asSpan ? /* @__PURE__ */ jsx69("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ jsx69("span", { "aria-labelledby": id, css: labelText2, children });
|
|
11584
|
+
};
|
|
11585
|
+
|
|
11586
|
+
// src/components/ParameterInputs/ParameterMenuButton.tsx
|
|
11587
|
+
import { forwardRef as forwardRef8 } from "react";
|
|
11588
|
+
import { jsx as jsx70 } from "@emotion/react/jsx-runtime";
|
|
11589
|
+
var ParameterMenuButton = forwardRef8(
|
|
11590
|
+
({ label, children }, ref) => {
|
|
11591
|
+
return /* @__PURE__ */ jsx70(
|
|
11592
|
+
Menu,
|
|
11593
|
+
{
|
|
11594
|
+
menuLabel: `${label} menu`,
|
|
11595
|
+
menuTrigger: /* @__PURE__ */ jsx70(
|
|
11596
|
+
"button",
|
|
11597
|
+
{
|
|
11598
|
+
className: "parameter-menu",
|
|
11599
|
+
css: inputMenu,
|
|
11600
|
+
type: "button",
|
|
11601
|
+
"aria-label": `${label} options`,
|
|
11602
|
+
ref,
|
|
11603
|
+
children: /* @__PURE__ */ jsx70(Icon, { icon: "more-alt", iconColor: "currentColor" })
|
|
11604
|
+
}
|
|
11605
|
+
),
|
|
11606
|
+
children
|
|
11607
|
+
}
|
|
11608
|
+
);
|
|
11609
|
+
}
|
|
11610
|
+
);
|
|
11611
|
+
|
|
11612
|
+
// src/components/ParameterInputs/styles/ParameterShell.styles.ts
|
|
11613
|
+
import { css as css56 } from "@emotion/react";
|
|
11614
|
+
var emptyParameterShell = css56`
|
|
11615
|
+
border-radius: var(--rounded-sm);
|
|
11616
|
+
background: var(--white);
|
|
11617
|
+
flex-grow: 1;
|
|
11618
|
+
padding: var(--spacing-xs);
|
|
11619
|
+
position: relative;
|
|
11620
|
+
`;
|
|
11621
|
+
var emptyParameterShellText = css56`
|
|
11622
|
+
background: var(--brand-secondary-6);
|
|
11623
|
+
border-radius: var(--rounded-sm);
|
|
11624
|
+
padding: var(--spacing-sm);
|
|
11625
|
+
text-align: center;
|
|
11626
|
+
font-size: var(--fs-sm);
|
|
11627
|
+
margin: 0;
|
|
11628
|
+
`;
|
|
11629
|
+
var overrideMarker = css56`
|
|
11630
|
+
border-radius: var(--rounded-sm);
|
|
11631
|
+
border: 10px solid var(--gray-300);
|
|
11632
|
+
border-left-color: transparent;
|
|
11633
|
+
border-bottom-color: transparent;
|
|
11634
|
+
position: absolute;
|
|
11635
|
+
top: 0;
|
|
11636
|
+
right: 0;
|
|
11637
|
+
`;
|
|
11638
|
+
|
|
11639
|
+
// src/components/ParameterInputs/ParameterShell.tsx
|
|
11640
|
+
import { jsx as jsx71, jsxs as jsxs49 } from "@emotion/react/jsx-runtime";
|
|
11641
|
+
var extractParameterProps = (props) => {
|
|
11642
|
+
const {
|
|
11643
|
+
id,
|
|
11644
|
+
label,
|
|
11645
|
+
caption,
|
|
11646
|
+
captionTestId,
|
|
11647
|
+
errorMessage,
|
|
11648
|
+
errorTestId,
|
|
11649
|
+
hiddenLabel,
|
|
11650
|
+
labelLeadingIcon,
|
|
11651
|
+
menuItems,
|
|
11652
|
+
onManuallySetErrorMessage,
|
|
11653
|
+
title,
|
|
11654
|
+
hasOverridingParams,
|
|
11655
|
+
...innerProps
|
|
11656
|
+
} = props;
|
|
11657
|
+
return {
|
|
11658
|
+
shellProps: {
|
|
11659
|
+
id,
|
|
11660
|
+
label,
|
|
11661
|
+
caption,
|
|
11662
|
+
captionTestId,
|
|
11663
|
+
errorMessage,
|
|
11664
|
+
errorTestId,
|
|
11665
|
+
hiddenLabel,
|
|
11666
|
+
labelLeadingIcon,
|
|
11667
|
+
menuItems,
|
|
11668
|
+
onManuallySetErrorMessage,
|
|
11669
|
+
title,
|
|
11670
|
+
hasOverridingParams
|
|
11671
|
+
},
|
|
11672
|
+
innerProps
|
|
11673
|
+
};
|
|
11674
|
+
};
|
|
11675
|
+
var ParameterShell = ({
|
|
11676
|
+
label,
|
|
11677
|
+
labelLeadingIcon,
|
|
11678
|
+
hiddenLabel,
|
|
11679
|
+
id,
|
|
11680
|
+
errorMessage,
|
|
11681
|
+
caption,
|
|
11682
|
+
errorTestId,
|
|
11683
|
+
captionTestId,
|
|
11684
|
+
menuItems,
|
|
11685
|
+
hasOverridingParams,
|
|
11686
|
+
title,
|
|
11687
|
+
children,
|
|
11688
|
+
...props
|
|
11689
|
+
}) => {
|
|
11690
|
+
const [manualErrorMessage, setManualErrorMessage] = useState7(void 0);
|
|
11691
|
+
const setErrorMessage = (message) => setManualErrorMessage(message);
|
|
11692
|
+
const errorMessaging = errorMessage || manualErrorMessage;
|
|
11693
|
+
return /* @__PURE__ */ jsxs49("div", { css: inputContainer2, ...props, children: [
|
|
11694
|
+
hiddenLabel || title ? null : /* @__PURE__ */ jsxs49(ParameterLabel, { id, css: labelText2, children: [
|
|
11695
|
+
labelLeadingIcon ? labelLeadingIcon : null,
|
|
11696
|
+
label
|
|
11697
|
+
] }),
|
|
11698
|
+
!title ? null : /* @__PURE__ */ jsxs49(ParameterLabel, { id, asSpan: true, children: [
|
|
11699
|
+
labelLeadingIcon ? labelLeadingIcon : null,
|
|
11700
|
+
title
|
|
11701
|
+
] }),
|
|
11702
|
+
/* @__PURE__ */ jsxs49("div", { css: inputWrapper, children: [
|
|
11703
|
+
menuItems ? /* @__PURE__ */ jsx71(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
|
|
11704
|
+
/* @__PURE__ */ jsx71(
|
|
11705
|
+
ParameterShellContext.Provider,
|
|
11706
|
+
{
|
|
11707
|
+
value: {
|
|
11708
|
+
id,
|
|
11709
|
+
label,
|
|
11710
|
+
hiddenLabel,
|
|
11711
|
+
errorMessage: errorMessaging,
|
|
11712
|
+
onManuallySetErrorMessage: (message) => setErrorMessage(message)
|
|
11713
|
+
},
|
|
11714
|
+
children: children ? /* @__PURE__ */ jsxs49("div", { css: emptyParameterShell, children: [
|
|
11715
|
+
children,
|
|
11716
|
+
hasOverridingParams ? /* @__PURE__ */ jsx71(ParameterOverrideMarker, {}) : null
|
|
11717
|
+
] }) : /* @__PURE__ */ jsx71(ParameterShellPlaceholder, { hasOverridingParams: true })
|
|
11718
|
+
}
|
|
11719
|
+
)
|
|
11720
|
+
] }),
|
|
11721
|
+
caption ? /* @__PURE__ */ jsx71(Caption, { testId: captionTestId, children: caption }) : null,
|
|
11722
|
+
errorMessaging ? /* @__PURE__ */ jsx71(ErrorMessage, { message: errorMessaging, testId: errorTestId }) : null
|
|
11723
|
+
] });
|
|
11724
|
+
};
|
|
11725
|
+
var ParameterShellPlaceholder = ({ hasOverridingParams }) => {
|
|
11726
|
+
return /* @__PURE__ */ jsxs49("div", { role: "note", css: emptyParameterShell, children: [
|
|
11727
|
+
/* @__PURE__ */ jsx71("p", { css: emptyParameterShellText, children: "Use component swap to replace with a parameter slot component" }),
|
|
11728
|
+
hasOverridingParams ? /* @__PURE__ */ jsx71(ParameterOverrideMarker, {}) : null
|
|
11729
|
+
] });
|
|
11730
|
+
};
|
|
11731
|
+
var ParameterOverrideMarker = () => /* @__PURE__ */ jsx71(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ jsx71("span", { role: "presentation", css: overrideMarker }) });
|
|
11732
|
+
|
|
11733
|
+
// src/components/ParameterInputs/ParameterImage.tsx
|
|
11734
|
+
import { Fragment as Fragment10, jsx as jsx72, jsxs as jsxs50 } from "@emotion/react/jsx-runtime";
|
|
11735
|
+
var ParameterImage = forwardRef9((props, ref) => {
|
|
11736
|
+
const { shellProps, innerProps } = extractParameterProps(props);
|
|
11737
|
+
return /* @__PURE__ */ jsx72(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: /* @__PURE__ */ jsx72(ParameterImageInner, { ref, ...innerProps }) });
|
|
11738
|
+
});
|
|
11739
|
+
var BrokenImage = ({ ...props }) => {
|
|
11740
|
+
return /* @__PURE__ */ jsxs50(
|
|
11741
|
+
"svg",
|
|
11742
|
+
{
|
|
11743
|
+
width: "214",
|
|
11744
|
+
height: "214",
|
|
11745
|
+
viewBox: "0 0 214 214",
|
|
11746
|
+
fill: "none",
|
|
11747
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11748
|
+
xmlnsXlink: "http://www.w3.org/1999/xlink",
|
|
11749
|
+
...props,
|
|
11750
|
+
children: [
|
|
11751
|
+
/* @__PURE__ */ jsx72("rect", { width: "214", height: "214", fill: "#F9FAFB" }),
|
|
11752
|
+
/* @__PURE__ */ jsx72("rect", { width: "214", height: "214", fill: "url(#pattern0)" }),
|
|
11753
|
+
/* @__PURE__ */ jsxs50("defs", { children: [
|
|
11754
|
+
/* @__PURE__ */ jsx72("pattern", { id: "pattern0", patternContentUnits: "objectBoundingBox", width: "1", height: "1", children: /* @__PURE__ */ jsx72("use", { xlinkHref: "#image0_761_4353", transform: "scale(0.0025)" }) }),
|
|
11755
|
+
/* @__PURE__ */ jsx72(
|
|
11756
|
+
"image",
|
|
11757
|
+
{
|
|
11758
|
+
id: "image0_761_4353",
|
|
11759
|
+
width: "400",
|
|
11760
|
+
height: "400",
|
|
11761
|
+
xlinkHref: "data:image/png;base64,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UfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBsBDMtNUfKBgDEBDMtYXFKDgBuB/we75KcVO2CRagAAAABJRU5ErkJggg=="
|
|
11762
|
+
}
|
|
11763
|
+
)
|
|
11764
|
+
] })
|
|
11765
|
+
]
|
|
11766
|
+
}
|
|
11767
|
+
);
|
|
11768
|
+
};
|
|
11769
|
+
var ParameterImageInner = forwardRef9(
|
|
11770
|
+
({ ...props }, ref) => {
|
|
11771
|
+
const { id, label, hiddenLabel, errorMessage, onManuallySetErrorMessage } = useParameterShell();
|
|
11772
|
+
const [imageSrc, setImageSrc] = useState8();
|
|
11773
|
+
const [loading, setLoading] = useState8(false);
|
|
11774
|
+
const deferredValue = useDeferredValue(imageSrc);
|
|
11775
|
+
const errorText = "The text you provided is not a valid URL";
|
|
11776
|
+
const updateImageSrc = useCallback2(
|
|
11777
|
+
(e) => {
|
|
11778
|
+
let message = void 0;
|
|
11779
|
+
try {
|
|
11780
|
+
if (e.currentTarget.value !== "") {
|
|
11781
|
+
new URL(e.currentTarget.value);
|
|
11782
|
+
setImageSrc(e.currentTarget.value);
|
|
11783
|
+
}
|
|
11784
|
+
message = void 0;
|
|
11785
|
+
} catch (e2) {
|
|
11786
|
+
message = errorText;
|
|
11787
|
+
}
|
|
11788
|
+
if (onManuallySetErrorMessage) {
|
|
11789
|
+
onManuallySetErrorMessage(message);
|
|
11790
|
+
}
|
|
11791
|
+
},
|
|
11792
|
+
[onManuallySetErrorMessage]
|
|
11793
|
+
);
|
|
11794
|
+
const handleLoadEvent = () => {
|
|
11795
|
+
if (deferredValue) {
|
|
11796
|
+
setLoading(true);
|
|
11797
|
+
}
|
|
11798
|
+
const timer = setTimeout(() => {
|
|
11799
|
+
setLoading(false);
|
|
11800
|
+
}, 200);
|
|
11801
|
+
return () => clearTimeout(timer);
|
|
11802
|
+
};
|
|
11803
|
+
const handleErrorEvent = () => {
|
|
11804
|
+
if (onManuallySetErrorMessage) {
|
|
11805
|
+
onManuallySetErrorMessage(errorText);
|
|
11806
|
+
}
|
|
11807
|
+
};
|
|
11808
|
+
return /* @__PURE__ */ jsxs50(Fragment10, { children: [
|
|
11809
|
+
/* @__PURE__ */ jsx72(
|
|
11810
|
+
"input",
|
|
11811
|
+
{
|
|
11812
|
+
css: input2,
|
|
11813
|
+
type: "text",
|
|
11814
|
+
id,
|
|
11815
|
+
ref,
|
|
11816
|
+
"aria-label": hiddenLabel ? label : void 0,
|
|
11817
|
+
autoComplete: "off",
|
|
11818
|
+
onChange: (e) => updateImageSrc(e),
|
|
11819
|
+
...props
|
|
11820
|
+
}
|
|
11821
|
+
),
|
|
11822
|
+
/* @__PURE__ */ jsxs50("div", { css: imageWrapper, children: [
|
|
11823
|
+
deferredValue && !errorMessage ? /* @__PURE__ */ jsx72(
|
|
11824
|
+
"img",
|
|
11825
|
+
{
|
|
11826
|
+
src: deferredValue,
|
|
11827
|
+
css: img,
|
|
11828
|
+
onLoad: handleLoadEvent,
|
|
11829
|
+
onError: handleErrorEvent,
|
|
11830
|
+
width: 214,
|
|
11831
|
+
height: 214,
|
|
11832
|
+
loading: "lazy"
|
|
11833
|
+
}
|
|
11834
|
+
) : null,
|
|
11835
|
+
deferredValue && errorMessage ? /* @__PURE__ */ jsx72(BrokenImage, { css: img }) : null
|
|
11836
|
+
] }),
|
|
11837
|
+
loading ? /* @__PURE__ */ jsx72(LoadingIcon, {}) : null
|
|
11838
|
+
] });
|
|
11839
|
+
}
|
|
11840
|
+
);
|
|
11841
|
+
|
|
11842
|
+
// src/components/ParameterInputs/ParameterInput.tsx
|
|
11843
|
+
import { forwardRef as forwardRef10 } from "react";
|
|
11844
|
+
import { jsx as jsx73 } from "@emotion/react/jsx-runtime";
|
|
11845
|
+
var ParameterInput = forwardRef10((props, ref) => {
|
|
11846
|
+
const { shellProps, innerProps } = extractParameterProps(props);
|
|
11847
|
+
return /* @__PURE__ */ jsx73(ParameterShell, { "data-test-id": "parameter-input", ...shellProps, children: /* @__PURE__ */ jsx73(ParameterInputInner, { ref, ...innerProps }) });
|
|
11848
|
+
});
|
|
11849
|
+
var ParameterInputInner = forwardRef10(
|
|
11850
|
+
({ ...props }, ref) => {
|
|
11851
|
+
const { id, label, hiddenLabel } = useParameterShell();
|
|
11852
|
+
return /* @__PURE__ */ jsx73(
|
|
11853
|
+
"input",
|
|
11854
|
+
{
|
|
11855
|
+
css: input2,
|
|
11856
|
+
id,
|
|
11857
|
+
type: props.type || "text",
|
|
11858
|
+
"aria-label": hiddenLabel ? label : void 0,
|
|
11859
|
+
autoComplete: "off",
|
|
11860
|
+
ref,
|
|
11861
|
+
...props
|
|
11862
|
+
}
|
|
11863
|
+
);
|
|
11864
|
+
}
|
|
11865
|
+
);
|
|
11866
|
+
|
|
11867
|
+
// src/components/ParameterInputs/ParameterLink.tsx
|
|
11868
|
+
import { forwardRef as forwardRef11 } from "react";
|
|
11869
|
+
import { jsx as jsx74, jsxs as jsxs51 } from "@emotion/react/jsx-runtime";
|
|
11870
|
+
var ParameterLink = forwardRef11(
|
|
11871
|
+
({ buttonText = "Select project map node", disabled, onConnectLink, externalLink, ...props }, ref) => {
|
|
11872
|
+
const { shellProps, innerProps } = extractParameterProps(props);
|
|
11873
|
+
return /* @__PURE__ */ jsx74(
|
|
11874
|
+
ParameterShell,
|
|
11875
|
+
{
|
|
11876
|
+
"data-test-id": "parameter-link",
|
|
11877
|
+
...shellProps,
|
|
11878
|
+
label: innerProps.value ? shellProps.label : "",
|
|
11879
|
+
title: !innerProps.value ? shellProps.label : void 0,
|
|
11880
|
+
children: !innerProps.value ? /* @__PURE__ */ jsx74("button", { type: "button", css: dataConnectButton, disabled, onClick: onConnectLink, children: buttonText }) : /* @__PURE__ */ jsx74(
|
|
11881
|
+
ParameterLinkInner,
|
|
11882
|
+
{
|
|
11883
|
+
onConnectLink,
|
|
11884
|
+
externalLink,
|
|
11885
|
+
ref,
|
|
11886
|
+
...innerProps
|
|
11887
|
+
}
|
|
11888
|
+
)
|
|
11889
|
+
}
|
|
11890
|
+
);
|
|
11891
|
+
}
|
|
11892
|
+
);
|
|
11893
|
+
var ParameterLinkInner = forwardRef11(
|
|
11894
|
+
({ externalLink, onConnectLink, disabled, ...props }, ref) => {
|
|
11895
|
+
const { id, label, hiddenLabel } = useParameterShell();
|
|
11896
|
+
return /* @__PURE__ */ jsxs51("div", { css: inputWrapper, children: [
|
|
11897
|
+
/* @__PURE__ */ jsx74(
|
|
11898
|
+
"input",
|
|
11899
|
+
{
|
|
11900
|
+
type: "text",
|
|
11901
|
+
css: [input2, linkParameterInput],
|
|
11902
|
+
readOnly: Boolean(props.value),
|
|
11903
|
+
id,
|
|
11904
|
+
ref,
|
|
11905
|
+
"aria-label": hiddenLabel ? label : void 0,
|
|
11906
|
+
...props
|
|
11907
|
+
}
|
|
11908
|
+
),
|
|
11909
|
+
/* @__PURE__ */ jsx74(
|
|
11910
|
+
"button",
|
|
11911
|
+
{
|
|
11912
|
+
type: "button",
|
|
11913
|
+
css: linkParameterBtn,
|
|
11914
|
+
disabled,
|
|
11915
|
+
onClick: onConnectLink,
|
|
11916
|
+
title: "edit current selection",
|
|
11917
|
+
children: "edit"
|
|
11918
|
+
}
|
|
11919
|
+
),
|
|
11920
|
+
externalLink ? /* @__PURE__ */ jsx74(
|
|
11921
|
+
"a",
|
|
11922
|
+
{
|
|
11923
|
+
href: externalLink,
|
|
11924
|
+
css: linkParameterIcon,
|
|
11925
|
+
title: "Open link in new tab",
|
|
11926
|
+
target: "_blank",
|
|
11927
|
+
rel: "noopener noreferrer",
|
|
11928
|
+
children: /* @__PURE__ */ jsx74(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
|
|
11929
|
+
}
|
|
11930
|
+
) : null
|
|
11931
|
+
] });
|
|
11932
|
+
}
|
|
11933
|
+
);
|
|
11934
|
+
|
|
11935
|
+
// src/components/ParameterInputs/ParameterNameAndPublicIdInput.tsx
|
|
11936
|
+
import { Fragment as Fragment11, jsx as jsx75, jsxs as jsxs52 } from "@emotion/react/jsx-runtime";
|
|
11937
|
+
var ParameterNameAndPublicIdInput = ({
|
|
11938
|
+
id,
|
|
11939
|
+
onBlur,
|
|
11940
|
+
autoFocus,
|
|
11941
|
+
onNameChange,
|
|
11942
|
+
onPublicIdChange,
|
|
11943
|
+
nameIdError,
|
|
11944
|
+
publicIdError,
|
|
11945
|
+
readOnly = false,
|
|
11946
|
+
hasInitialPublicIdField,
|
|
11947
|
+
label = "Name",
|
|
11948
|
+
warnOverLength,
|
|
11949
|
+
nameIdField = "name",
|
|
11950
|
+
nameCaption,
|
|
11951
|
+
namePlaceholderText,
|
|
11952
|
+
publicIdFieldName = "public_id",
|
|
11953
|
+
publicIdCaption = "This cannot change once created.",
|
|
11954
|
+
publicIdPlaceholderText,
|
|
11955
|
+
values
|
|
11956
|
+
}) => {
|
|
11957
|
+
const isReadonly = !!hasInitialPublicIdField || readOnly;
|
|
11958
|
+
const handleCopyPidFieldValue = () => {
|
|
11959
|
+
navigator.clipboard.writeText(values[publicIdFieldName]);
|
|
11960
|
+
};
|
|
11961
|
+
autoFocus == null ? void 0 : autoFocus();
|
|
11962
|
+
return /* @__PURE__ */ jsxs52(Fragment11, { children: [
|
|
11963
|
+
/* @__PURE__ */ jsx75(
|
|
11964
|
+
ParameterInput,
|
|
11965
|
+
{
|
|
11966
|
+
id: nameIdField,
|
|
11967
|
+
name: nameIdField,
|
|
11968
|
+
label,
|
|
11969
|
+
"data-test-id": "name-field",
|
|
11970
|
+
autoComplete: "off",
|
|
11971
|
+
"data-af": "true",
|
|
11972
|
+
onBlur,
|
|
11973
|
+
onChange: onNameChange,
|
|
11974
|
+
caption: nameCaption,
|
|
11975
|
+
placeholder: namePlaceholderText,
|
|
11976
|
+
readOnly,
|
|
11977
|
+
errorMessage: nameIdError,
|
|
11978
|
+
disabled: readOnly,
|
|
11979
|
+
value: values[nameIdField]
|
|
11980
|
+
}
|
|
11981
|
+
),
|
|
11982
|
+
/* @__PURE__ */ jsx75(
|
|
11983
|
+
ParameterInput,
|
|
11984
|
+
{
|
|
11985
|
+
id: publicIdFieldName,
|
|
11986
|
+
name: publicIdFieldName,
|
|
11987
|
+
label: "Public ID",
|
|
11988
|
+
disabled: Boolean(id) || isReadonly,
|
|
11989
|
+
"data-test-id": "public-id-field",
|
|
11990
|
+
autoComplete: "off",
|
|
11991
|
+
onBlur,
|
|
11992
|
+
onChange: onPublicIdChange,
|
|
11993
|
+
caption: publicIdCaption,
|
|
11994
|
+
placeholder: publicIdPlaceholderText,
|
|
11995
|
+
errorMessage: publicIdError,
|
|
11996
|
+
menuItems: /* @__PURE__ */ jsx75(
|
|
11997
|
+
MenuItem,
|
|
11998
|
+
{
|
|
11999
|
+
disabled: !values[publicIdFieldName],
|
|
12000
|
+
icon: /* @__PURE__ */ jsx75(Icon, { icon: "path-trim", iconColor: "currentColor" }),
|
|
12001
|
+
onClick: handleCopyPidFieldValue,
|
|
12002
|
+
children: "Copy"
|
|
12003
|
+
}
|
|
12004
|
+
),
|
|
12005
|
+
value: values[publicIdFieldName]
|
|
12006
|
+
}
|
|
12007
|
+
),
|
|
12008
|
+
(warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ jsx75(Callout, { type: "caution", children: warnOverLength.message }) : null
|
|
12009
|
+
] });
|
|
12010
|
+
};
|
|
12011
|
+
|
|
12012
|
+
// src/components/ParameterInputs/ParameterRichText.tsx
|
|
12013
|
+
import { forwardRef as forwardRef12 } from "react";
|
|
12014
|
+
import { Fragment as Fragment12, jsx as jsx76, jsxs as jsxs53 } from "@emotion/react/jsx-runtime";
|
|
12015
|
+
var ParameterRichText = forwardRef12(
|
|
12016
|
+
({
|
|
12017
|
+
label,
|
|
12018
|
+
labelLeadingIcon,
|
|
12019
|
+
hiddenLabel,
|
|
12020
|
+
id,
|
|
12021
|
+
errorMessage,
|
|
12022
|
+
caption,
|
|
12023
|
+
errorTestId,
|
|
12024
|
+
captionTestId,
|
|
12025
|
+
menuItems,
|
|
12026
|
+
...props
|
|
12027
|
+
}, ref) => {
|
|
12028
|
+
return /* @__PURE__ */ jsxs53(
|
|
12029
|
+
ParameterShell,
|
|
12030
|
+
{
|
|
12031
|
+
"data-test-id": "parameter-input",
|
|
12032
|
+
label,
|
|
12033
|
+
labelLeadingIcon,
|
|
12034
|
+
id,
|
|
12035
|
+
errorMessage,
|
|
12036
|
+
caption,
|
|
12037
|
+
errorTestId,
|
|
12038
|
+
captionTestId,
|
|
12039
|
+
menuItems,
|
|
12040
|
+
children: [
|
|
12041
|
+
/* @__PURE__ */ jsx76(ParameterRichTextInner, { ref, ...props }),
|
|
12042
|
+
menuItems ? /* @__PURE__ */ jsx76(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx76(Fragment12, { children: menuItems }) }) : null
|
|
12043
|
+
]
|
|
12044
|
+
}
|
|
12045
|
+
);
|
|
12046
|
+
}
|
|
12047
|
+
);
|
|
12048
|
+
var ParameterRichTextInner = forwardRef12(({ ...props }, ref) => {
|
|
12049
|
+
const { id, label, hiddenLabel } = useParameterShell();
|
|
12050
|
+
return /* @__PURE__ */ jsx76(
|
|
12051
|
+
"textarea",
|
|
12052
|
+
{
|
|
12053
|
+
css: [input2, textarea2],
|
|
12054
|
+
id,
|
|
12055
|
+
ref,
|
|
12056
|
+
"aria-label": hiddenLabel ? label : void 0,
|
|
12057
|
+
...props
|
|
12058
|
+
}
|
|
12059
|
+
);
|
|
12060
|
+
});
|
|
12061
|
+
|
|
12062
|
+
// src/components/ParameterInputs/ParameterSelect.tsx
|
|
12063
|
+
import { forwardRef as forwardRef13 } from "react";
|
|
12064
|
+
import { jsx as jsx77, jsxs as jsxs54 } from "@emotion/react/jsx-runtime";
|
|
12065
|
+
var ParameterSelect = forwardRef13(
|
|
12066
|
+
({ defaultOption, options, ...props }, ref) => {
|
|
12067
|
+
const { shellProps, innerProps } = extractParameterProps(props);
|
|
12068
|
+
return /* @__PURE__ */ jsx77(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx77(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
|
|
12069
|
+
}
|
|
12070
|
+
);
|
|
12071
|
+
var ParameterSelectInner = forwardRef13(
|
|
12072
|
+
({ defaultOption, options, ...props }, ref) => {
|
|
12073
|
+
const { id, label, hiddenLabel } = useParameterShell();
|
|
12074
|
+
return /* @__PURE__ */ jsxs54(
|
|
12075
|
+
"select",
|
|
12076
|
+
{
|
|
12077
|
+
css: [input2, selectInput],
|
|
12078
|
+
id,
|
|
12079
|
+
"aria-label": hiddenLabel ? label : void 0,
|
|
12080
|
+
ref,
|
|
12081
|
+
...props,
|
|
12082
|
+
children: [
|
|
12083
|
+
defaultOption ? /* @__PURE__ */ jsx77("option", { value: "", children: defaultOption }) : null,
|
|
12084
|
+
options.map((option) => {
|
|
12085
|
+
var _a;
|
|
12086
|
+
return /* @__PURE__ */ jsx77("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
|
|
12087
|
+
})
|
|
12088
|
+
]
|
|
12089
|
+
}
|
|
12090
|
+
);
|
|
12091
|
+
}
|
|
12092
|
+
);
|
|
12093
|
+
|
|
12094
|
+
// src/components/ParameterInputs/ParameterTextarea.tsx
|
|
12095
|
+
import { forwardRef as forwardRef14 } from "react";
|
|
12096
|
+
import { jsx as jsx78 } from "@emotion/react/jsx-runtime";
|
|
12097
|
+
var ParameterTextarea = forwardRef14((props, ref) => {
|
|
12098
|
+
const { shellProps, innerProps } = extractParameterProps(props);
|
|
12099
|
+
return /* @__PURE__ */ jsx78(ParameterShell, { "data-test-id": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ jsx78(ParameterTextareaInner, { ref, ...innerProps }) });
|
|
12100
|
+
});
|
|
12101
|
+
var ParameterTextareaInner = forwardRef14(({ ...props }, ref) => {
|
|
12102
|
+
const { id, label, hiddenLabel } = useParameterShell();
|
|
12103
|
+
return /* @__PURE__ */ jsx78(
|
|
12104
|
+
"textarea",
|
|
12105
|
+
{
|
|
12106
|
+
css: [input2, textarea2],
|
|
12107
|
+
id,
|
|
12108
|
+
ref,
|
|
12109
|
+
"aria-label": hiddenLabel ? label : void 0,
|
|
12110
|
+
...props
|
|
12111
|
+
}
|
|
12112
|
+
);
|
|
12113
|
+
});
|
|
12114
|
+
|
|
12115
|
+
// src/components/ParameterInputs/ParameterToggle.tsx
|
|
12116
|
+
import { forwardRef as forwardRef15 } from "react";
|
|
12117
|
+
import { jsx as jsx79, jsxs as jsxs55 } from "@emotion/react/jsx-runtime";
|
|
12118
|
+
var ParameterToggle = forwardRef15((props, ref) => {
|
|
12119
|
+
const { shellProps, innerProps } = extractParameterProps(props);
|
|
12120
|
+
return /* @__PURE__ */ jsx79(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx79(ParameterToggleInner, { ref, ...innerProps }) });
|
|
12121
|
+
});
|
|
12122
|
+
var ParameterToggleInner = forwardRef15(
|
|
12123
|
+
({ ...props }, ref) => {
|
|
12124
|
+
const { id, label } = useParameterShell();
|
|
12125
|
+
return /* @__PURE__ */ jsxs55("label", { css: inputToggleLabel2, children: [
|
|
12126
|
+
/* @__PURE__ */ jsx79("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
|
|
12127
|
+
/* @__PURE__ */ jsx79("span", { css: inlineLabel2, children: label })
|
|
12128
|
+
] });
|
|
12129
|
+
}
|
|
12130
|
+
);
|
|
12131
|
+
|
|
12132
|
+
// src/components/Skeleton/Skeleton.styles.ts
|
|
12133
|
+
import { css as css57, keyframes as keyframes4 } from "@emotion/react";
|
|
12134
|
+
var lightFadingOut = keyframes4`
|
|
12135
|
+
from { opacity: 0.1; }
|
|
12136
|
+
to { opacity: 0.025; }
|
|
12137
|
+
`;
|
|
12138
|
+
var skeletonStyles = css57`
|
|
12139
|
+
animation: ${lightFadingOut} 1s ease-out infinite alternate;
|
|
12140
|
+
background-color: var(--gray-900);
|
|
12141
|
+
`;
|
|
12142
|
+
|
|
12143
|
+
// src/components/Skeleton/Skeleton.tsx
|
|
12144
|
+
import { jsx as jsx80 } from "@emotion/react/jsx-runtime";
|
|
12145
|
+
var Skeleton = ({
|
|
12146
|
+
width = "100%",
|
|
12147
|
+
height = "1.25rem",
|
|
12148
|
+
inline = false,
|
|
12149
|
+
circle = false,
|
|
12150
|
+
children,
|
|
12151
|
+
...otherProps
|
|
12152
|
+
}) => /* @__PURE__ */ jsx80(
|
|
12153
|
+
"div",
|
|
12154
|
+
{
|
|
12155
|
+
css: [
|
|
12156
|
+
skeletonStyles,
|
|
12157
|
+
{
|
|
12158
|
+
width: circle ? height : width,
|
|
12159
|
+
height,
|
|
12160
|
+
display: inline ? "inline-block" : "block",
|
|
12161
|
+
borderRadius: circle ? "var(--rounded-full)" : "var(--rounded-md)"
|
|
12162
|
+
}
|
|
12163
|
+
],
|
|
12164
|
+
...otherProps,
|
|
12165
|
+
"aria-busy": "true",
|
|
12166
|
+
"aria-label": "Loading...",
|
|
12167
|
+
children
|
|
12168
|
+
}
|
|
12169
|
+
);
|
|
12170
|
+
|
|
12171
|
+
// src/components/Switch/Switch.tsx
|
|
12172
|
+
import * as React14 from "react";
|
|
12173
|
+
|
|
12174
|
+
// src/components/Switch/Switch.styles.ts
|
|
12175
|
+
import { css as css58 } from "@emotion/react";
|
|
12176
|
+
var SwitchInputContainer = css58`
|
|
12177
|
+
cursor: pointer;
|
|
12178
|
+
display: inline-block;
|
|
12179
|
+
position: relative;
|
|
12180
|
+
margin-right: var(--spacing-sm);
|
|
12181
|
+
transition: var(--duration-fast) var(--timing-ease-out);
|
|
12182
|
+
vertical-align: middle;
|
|
12183
|
+
user-select: none;
|
|
12184
|
+
`;
|
|
12185
|
+
var SwitchInput = css58`
|
|
12186
|
+
appearance: none;
|
|
12187
|
+
border-radius: var(--rounded-full);
|
|
12188
|
+
background-color: var(--white);
|
|
12189
|
+
border: 2px solid var(--gray-400);
|
|
12190
|
+
cursor: pointer;
|
|
12191
|
+
position: absolute;
|
|
12192
|
+
display: block;
|
|
12193
|
+
width: var(--spacing-md);
|
|
12194
|
+
height: var(--spacing-md);
|
|
12195
|
+
transition: transform var(--duration-fast) var(--timing-ease-out),
|
|
12196
|
+
background-color var(--duration-fast) var(--timing-ease-out),
|
|
12197
|
+
background-image var(--duration-fast) var(--timing-ease-out);
|
|
12198
|
+
z-index: var(--z-10);
|
|
12199
|
+
|
|
12200
|
+
&:focus {
|
|
12201
|
+
outline: 3px solid var(--brand-secondary-1);
|
|
12202
|
+
outline-offset: 2px;
|
|
12203
|
+
}
|
|
12204
|
+
|
|
12205
|
+
&:checked {
|
|
12206
|
+
background-color: var(--brand-secondary-3);
|
|
12207
|
+
background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath d='M10.5858 13.4142L7.75735 10.5858L6.34314 12L10.5858 16.2427L17.6568 9.1716L16.2426 7.75739L10.5858 13.4142Z' fill='%23fff' /%3E%3C/svg%3E");
|
|
12208
|
+
background-position: center center;
|
|
12209
|
+
border-color: var(--brand-secondary-3);
|
|
12210
|
+
transform: translateX(var(--spacing-base));
|
|
12211
|
+
|
|
12212
|
+
&:hover,
|
|
12213
|
+
&:focus {
|
|
12214
|
+
border-color: var(--brand-secondary-1);
|
|
12215
|
+
background-color: var(--brand-secondary-1);
|
|
12216
|
+
}
|
|
12217
|
+
}
|
|
12218
|
+
|
|
12219
|
+
&:disabled {
|
|
12220
|
+
cursor: not-allowed;
|
|
12221
|
+
}
|
|
12222
|
+
`;
|
|
12223
|
+
var SwitchInputDisabled = css58`
|
|
12224
|
+
opacity: var(--opacity-50);
|
|
12225
|
+
cursor: not-allowed;
|
|
12226
|
+
|
|
12227
|
+
& > :before {
|
|
12228
|
+
cursor: not-allowed;
|
|
12229
|
+
}
|
|
12230
|
+
`;
|
|
12231
|
+
var SwitchInputLabel = css58`
|
|
12232
|
+
align-items: center;
|
|
12233
|
+
color: var(--brand-secondary-1);
|
|
12234
|
+
display: inline-flex;
|
|
12235
|
+
font-weight: var(--fw-bold);
|
|
12236
|
+
line-height: 1.25;
|
|
12237
|
+
padding-inline: var(--spacing-2xl) 0;
|
|
12238
|
+
|
|
12239
|
+
&:before {
|
|
12240
|
+
border-radius: var(--rounded-full);
|
|
12241
|
+
background-color: var(--gray-300);
|
|
12242
|
+
content: '';
|
|
12243
|
+
cursor: pointer;
|
|
12244
|
+
display: block;
|
|
12245
|
+
overflow: hidden;
|
|
12246
|
+
width: var(--spacing-xl);
|
|
12247
|
+
height: var(--spacing-md);
|
|
12248
|
+
position: absolute;
|
|
12249
|
+
left: 0;
|
|
12250
|
+
top: 0;
|
|
12251
|
+
}
|
|
12252
|
+
`;
|
|
12253
|
+
var SwitchText = css58`
|
|
12254
|
+
color: var(--gray-500);
|
|
12255
|
+
font-size: var(--fs-sm);
|
|
12256
|
+
padding-inline: var(--spacing-2xl) 0;
|
|
12257
|
+
`;
|
|
12258
|
+
|
|
12259
|
+
// src/components/Switch/Switch.tsx
|
|
12260
|
+
import { Fragment as Fragment13, jsx as jsx81, jsxs as jsxs56 } from "@emotion/react/jsx-runtime";
|
|
12261
|
+
var Switch = React14.forwardRef(
|
|
12262
|
+
({ label, infoText, toggleText, children, ...inputProps }, ref) => {
|
|
12263
|
+
let additionalText = infoText;
|
|
12264
|
+
if (infoText && toggleText) {
|
|
12265
|
+
additionalText = inputProps.checked ? toggleText : infoText;
|
|
12266
|
+
}
|
|
12267
|
+
return /* @__PURE__ */ jsxs56(Fragment13, { children: [
|
|
12268
|
+
/* @__PURE__ */ jsxs56("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
|
|
12269
|
+
/* @__PURE__ */ jsx81("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
|
|
12270
|
+
/* @__PURE__ */ jsx81("span", { css: SwitchInputLabel, children: label })
|
|
12271
|
+
] }),
|
|
12272
|
+
additionalText ? /* @__PURE__ */ jsx81("p", { css: SwitchText, children: additionalText }) : null,
|
|
12273
|
+
children
|
|
12274
|
+
] });
|
|
12275
|
+
}
|
|
12276
|
+
);
|
|
12277
|
+
|
|
12278
|
+
// src/components/Table/Table.tsx
|
|
12279
|
+
import * as React15 from "react";
|
|
12280
|
+
|
|
12281
|
+
// src/components/Table/Table.styles.ts
|
|
12282
|
+
import { css as css59 } from "@emotion/react";
|
|
12283
|
+
var table = css59`
|
|
12284
|
+
border-bottom: 1px solid var(--gray-400);
|
|
12285
|
+
border-collapse: collapse;
|
|
12286
|
+
min-width: 100%;
|
|
12287
|
+
table-layout: auto;
|
|
12288
|
+
`;
|
|
12289
|
+
var tableHead = css59`
|
|
12290
|
+
background: var(--gray-100);
|
|
12291
|
+
color: var(--brand-secondary-1);
|
|
12292
|
+
text-align: left;
|
|
12293
|
+
`;
|
|
12294
|
+
var tableRow = css59`
|
|
12295
|
+
border-bottom: 1px solid var(--gray-200);
|
|
12296
|
+
`;
|
|
12297
|
+
var tableCellHead = css59`
|
|
12298
|
+
font-size: var(--fs-sm);
|
|
12299
|
+
padding: var(--spacing-base) var(--spacing-md);
|
|
12300
|
+
text-transform: uppercase;
|
|
11272
12301
|
font-weight: var(--fw-bold);
|
|
11273
12302
|
`;
|
|
11274
|
-
var tableCellData =
|
|
12303
|
+
var tableCellData = css59`
|
|
11275
12304
|
padding: var(--spacing-base) var(--spacing-md);
|
|
11276
12305
|
`;
|
|
11277
12306
|
|
|
11278
12307
|
// src/components/Table/Table.tsx
|
|
11279
|
-
import { jsx as
|
|
11280
|
-
var Table =
|
|
11281
|
-
return /* @__PURE__ */
|
|
12308
|
+
import { jsx as jsx82 } from "@emotion/react/jsx-runtime";
|
|
12309
|
+
var Table = React15.forwardRef(({ children, ...otherProps }, ref) => {
|
|
12310
|
+
return /* @__PURE__ */ jsx82("table", { ref, css: table, ...otherProps, children });
|
|
11282
12311
|
});
|
|
11283
|
-
var TableHead =
|
|
12312
|
+
var TableHead = React15.forwardRef(
|
|
11284
12313
|
({ children, ...otherProps }, ref) => {
|
|
11285
|
-
return /* @__PURE__ */
|
|
12314
|
+
return /* @__PURE__ */ jsx82("thead", { ref, css: tableHead, ...otherProps, children });
|
|
11286
12315
|
}
|
|
11287
12316
|
);
|
|
11288
|
-
var TableBody =
|
|
12317
|
+
var TableBody = React15.forwardRef(
|
|
11289
12318
|
({ children, ...otherProps }, ref) => {
|
|
11290
|
-
return /* @__PURE__ */
|
|
12319
|
+
return /* @__PURE__ */ jsx82("tbody", { ref, ...otherProps, children });
|
|
11291
12320
|
}
|
|
11292
12321
|
);
|
|
11293
|
-
var TableFoot =
|
|
12322
|
+
var TableFoot = React15.forwardRef(
|
|
11294
12323
|
({ children, ...otherProps }, ref) => {
|
|
11295
|
-
return /* @__PURE__ */
|
|
12324
|
+
return /* @__PURE__ */ jsx82("tfoot", { ref, ...otherProps, children });
|
|
11296
12325
|
}
|
|
11297
12326
|
);
|
|
11298
|
-
var TableRow =
|
|
12327
|
+
var TableRow = React15.forwardRef(
|
|
11299
12328
|
({ children, ...otherProps }, ref) => {
|
|
11300
|
-
return /* @__PURE__ */
|
|
12329
|
+
return /* @__PURE__ */ jsx82("tr", { ref, css: tableRow, ...otherProps, children });
|
|
11301
12330
|
}
|
|
11302
12331
|
);
|
|
11303
|
-
var TableCellHead =
|
|
12332
|
+
var TableCellHead = React15.forwardRef(
|
|
11304
12333
|
({ children, ...otherProps }, ref) => {
|
|
11305
|
-
return /* @__PURE__ */
|
|
12334
|
+
return /* @__PURE__ */ jsx82("th", { ref, css: tableCellHead, ...otherProps, children });
|
|
11306
12335
|
}
|
|
11307
12336
|
);
|
|
11308
|
-
var TableCellData =
|
|
12337
|
+
var TableCellData = React15.forwardRef(
|
|
11309
12338
|
({ children, ...otherProps }, ref) => {
|
|
11310
|
-
return /* @__PURE__ */
|
|
12339
|
+
return /* @__PURE__ */ jsx82("td", { ref, css: tableCellData, ...otherProps, children });
|
|
11311
12340
|
}
|
|
11312
12341
|
);
|
|
11313
12342
|
|
|
11314
12343
|
// src/components/Tabs/Tabs.tsx
|
|
11315
|
-
import { createContext as
|
|
12344
|
+
import { createContext as createContext5, useContext as useContext6, useEffect as useEffect7, useMemo as useMemo2 } from "react";
|
|
11316
12345
|
import {
|
|
11317
12346
|
Tab as ReakitTab,
|
|
11318
12347
|
TabList as ReakitTabList,
|
|
@@ -11321,8 +12350,8 @@ import {
|
|
|
11321
12350
|
} from "reakit/Tab";
|
|
11322
12351
|
|
|
11323
12352
|
// src/components/Tabs/Tabs.styles.ts
|
|
11324
|
-
import { css as
|
|
11325
|
-
var tabButtonStyles =
|
|
12353
|
+
import { css as css60 } from "@emotion/react";
|
|
12354
|
+
var tabButtonStyles = css60`
|
|
11326
12355
|
align-items: center;
|
|
11327
12356
|
border: 0;
|
|
11328
12357
|
height: 2.5rem;
|
|
@@ -11339,86 +12368,60 @@ var tabButtonStyles = css54`
|
|
|
11339
12368
|
-webkit-text-stroke-width: thin;
|
|
11340
12369
|
}
|
|
11341
12370
|
`;
|
|
11342
|
-
var tabButtonGroupStyles =
|
|
12371
|
+
var tabButtonGroupStyles = css60`
|
|
11343
12372
|
display: flex;
|
|
11344
12373
|
gap: var(--spacing-base);
|
|
12374
|
+
border-bottom: 1px solid var(--gray-300);
|
|
11345
12375
|
`;
|
|
11346
12376
|
|
|
11347
12377
|
// src/components/Tabs/Tabs.tsx
|
|
11348
|
-
import { jsx as
|
|
11349
|
-
var CurrentTabContext =
|
|
12378
|
+
import { jsx as jsx83 } from "@emotion/react/jsx-runtime";
|
|
12379
|
+
var CurrentTabContext = createContext5(null);
|
|
11350
12380
|
var useCurrentTab = () => {
|
|
11351
|
-
const context =
|
|
12381
|
+
const context = useContext6(CurrentTabContext);
|
|
11352
12382
|
if (!context) {
|
|
11353
12383
|
throw new Error("This component can only be used inside <Tabs>");
|
|
11354
12384
|
}
|
|
11355
12385
|
return context;
|
|
11356
12386
|
};
|
|
11357
|
-
var Tabs = ({ children, onSelectedIdChange, ...props }) => {
|
|
11358
|
-
const
|
|
12387
|
+
var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...props }) => {
|
|
12388
|
+
const selected = useMemo2(() => {
|
|
12389
|
+
if (selectedId)
|
|
12390
|
+
return selectedId;
|
|
12391
|
+
return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
|
|
12392
|
+
}, [selectedId, useHashForState]);
|
|
12393
|
+
const tab = useTabState({ ...props, selectedId: selected });
|
|
11359
12394
|
useEffect7(() => {
|
|
11360
12395
|
var _a;
|
|
11361
|
-
|
|
11362
|
-
|
|
12396
|
+
const selectedValueWithoutNull = (_a = tab.selectedId) != null ? _a : void 0;
|
|
12397
|
+
onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
|
|
12398
|
+
if (useHashForState && typeof window !== "undefined") {
|
|
12399
|
+
window.location.hash = selectedValueWithoutNull != null ? selectedValueWithoutNull : "";
|
|
12400
|
+
}
|
|
12401
|
+
}, [tab.selectedId, onSelectedIdChange, useHashForState]);
|
|
11363
12402
|
useEffect7(() => {
|
|
11364
|
-
tab.
|
|
11365
|
-
|
|
11366
|
-
|
|
12403
|
+
if (selected && selected !== tab.selectedId) {
|
|
12404
|
+
tab.setSelectedId(selected);
|
|
12405
|
+
}
|
|
12406
|
+
}, [selected]);
|
|
12407
|
+
return /* @__PURE__ */ jsx83(CurrentTabContext.Provider, { value: tab, children });
|
|
11367
12408
|
};
|
|
11368
12409
|
var TabButtonGroup = ({ children, ...props }) => {
|
|
11369
12410
|
const currentTab = useCurrentTab();
|
|
11370
|
-
return /* @__PURE__ */
|
|
12411
|
+
return /* @__PURE__ */ jsx83(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
|
|
11371
12412
|
};
|
|
11372
12413
|
var TabButton = ({ children, id, ...props }) => {
|
|
11373
12414
|
const currentTab = useCurrentTab();
|
|
11374
|
-
return /* @__PURE__ */
|
|
12415
|
+
return /* @__PURE__ */ jsx83(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
|
|
11375
12416
|
};
|
|
11376
12417
|
var TabContent = ({ children, ...props }) => {
|
|
11377
12418
|
const currentTab = useCurrentTab();
|
|
11378
|
-
return /* @__PURE__ */
|
|
12419
|
+
return /* @__PURE__ */ jsx83(ReakitTabPanel, { ...props, ...currentTab, children });
|
|
11379
12420
|
};
|
|
11380
12421
|
|
|
11381
|
-
// src/components/Tooltip/Tooltip.tsx
|
|
11382
|
-
import React16 from "react";
|
|
11383
|
-
import {
|
|
11384
|
-
Tooltip as ReakitTooltip,
|
|
11385
|
-
TooltipArrow,
|
|
11386
|
-
TooltipReference,
|
|
11387
|
-
useTooltipState
|
|
11388
|
-
} from "reakit/Tooltip";
|
|
11389
|
-
|
|
11390
|
-
// src/components/Tooltip/Tooltip.styles.ts
|
|
11391
|
-
import { css as css55 } from "@emotion/react";
|
|
11392
|
-
var TooltipContainer = css55`
|
|
11393
|
-
border: 2px solid var(--gray-300);
|
|
11394
|
-
border-radius: var(--rounded-base);
|
|
11395
|
-
padding: var(--spacing-xs) var(--spacing-sm);
|
|
11396
|
-
color: var(--gray-500);
|
|
11397
|
-
font-size: var(--fs-xs);
|
|
11398
|
-
background: var(--white);
|
|
11399
|
-
`;
|
|
11400
|
-
var TooltipArrowStyles = css55`
|
|
11401
|
-
svg {
|
|
11402
|
-
fill: var(--gray-300);
|
|
11403
|
-
}
|
|
11404
|
-
`;
|
|
11405
|
-
|
|
11406
|
-
// src/components/Tooltip/Tooltip.tsx
|
|
11407
|
-
import { Fragment as Fragment10, jsx as jsx68, jsxs as jsxs45 } from "@emotion/react/jsx-runtime";
|
|
11408
|
-
function Tooltip({ children, title, placement = "bottom", visible, ...props }) {
|
|
11409
|
-
const tooltip = useTooltipState({ placement });
|
|
11410
|
-
return /* @__PURE__ */ jsxs45(Fragment10, { children: [
|
|
11411
|
-
/* @__PURE__ */ jsx68(TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => React16.cloneElement(children, referenceProps) }),
|
|
11412
|
-
/* @__PURE__ */ jsxs45(ReakitTooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
|
|
11413
|
-
/* @__PURE__ */ jsx68(TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
|
|
11414
|
-
title
|
|
11415
|
-
] })
|
|
11416
|
-
] });
|
|
11417
|
-
}
|
|
11418
|
-
|
|
11419
12422
|
// src/components/Validation/StatusBullet.styles.ts
|
|
11420
|
-
import { css as
|
|
11421
|
-
var StatusBulletContainer =
|
|
12423
|
+
import { css as css61 } from "@emotion/react";
|
|
12424
|
+
var StatusBulletContainer = css61`
|
|
11422
12425
|
align-items: center;
|
|
11423
12426
|
align-self: center;
|
|
11424
12427
|
color: var(--gray-500);
|
|
@@ -11438,19 +12441,19 @@ var StatusBulletContainer = css56`
|
|
|
11438
12441
|
height: var(--fs-xs);
|
|
11439
12442
|
}
|
|
11440
12443
|
`;
|
|
11441
|
-
var StatusDraft =
|
|
12444
|
+
var StatusDraft = css61`
|
|
11442
12445
|
&:before {
|
|
11443
12446
|
background: var(--white);
|
|
11444
12447
|
box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
|
|
11445
12448
|
}
|
|
11446
12449
|
`;
|
|
11447
|
-
var StatusModified =
|
|
12450
|
+
var StatusModified = css61`
|
|
11448
12451
|
&:before {
|
|
11449
12452
|
background: linear-gradient(to right, var(--white) 50%, var(--brand-primary-1) 50% 100%);
|
|
11450
12453
|
box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
|
|
11451
12454
|
}
|
|
11452
12455
|
`;
|
|
11453
|
-
var StatusError =
|
|
12456
|
+
var StatusError = css61`
|
|
11454
12457
|
color: var(--error);
|
|
11455
12458
|
&:before {
|
|
11456
12459
|
background: var(--error);
|
|
@@ -11466,19 +12469,19 @@ var StatusError = css56`
|
|
|
11466
12469
|
rotate: -45deg;
|
|
11467
12470
|
}
|
|
11468
12471
|
`;
|
|
11469
|
-
var StatusPublished =
|
|
12472
|
+
var StatusPublished = css61`
|
|
11470
12473
|
&:before {
|
|
11471
12474
|
background: var(--brand-secondary-3);
|
|
11472
12475
|
}
|
|
11473
12476
|
`;
|
|
11474
|
-
var StatusOrphan =
|
|
12477
|
+
var StatusOrphan = css61`
|
|
11475
12478
|
&:before {
|
|
11476
12479
|
background: var(--brand-secondary-5);
|
|
11477
12480
|
}
|
|
11478
12481
|
`;
|
|
11479
12482
|
|
|
11480
12483
|
// src/components/Validation/StatusBullet.tsx
|
|
11481
|
-
import { jsx as
|
|
12484
|
+
import { jsx as jsx84 } from "@emotion/react/jsx-runtime";
|
|
11482
12485
|
var StatusBullet = ({ status, hideText = false, message, ...props }) => {
|
|
11483
12486
|
const currentStateStyles = {
|
|
11484
12487
|
Error: StatusError,
|
|
@@ -11488,7 +12491,7 @@ var StatusBullet = ({ status, hideText = false, message, ...props }) => {
|
|
|
11488
12491
|
Published: StatusPublished,
|
|
11489
12492
|
Draft: StatusDraft
|
|
11490
12493
|
};
|
|
11491
|
-
return /* @__PURE__ */
|
|
12494
|
+
return /* @__PURE__ */ jsx84(
|
|
11492
12495
|
"span",
|
|
11493
12496
|
{
|
|
11494
12497
|
css: [StatusBulletContainer, currentStateStyles[status]],
|
|
@@ -11510,6 +12513,7 @@ export {
|
|
|
11510
12513
|
Card,
|
|
11511
12514
|
CardContainer2 as CardContainer,
|
|
11512
12515
|
CheckboxWithInfo,
|
|
12516
|
+
ConnectToDataElementButton,
|
|
11513
12517
|
Counter,
|
|
11514
12518
|
CreateTeamIntegrationTile,
|
|
11515
12519
|
DashedBox,
|
|
@@ -11553,6 +12557,30 @@ export {
|
|
|
11553
12557
|
MenuItemSeparator,
|
|
11554
12558
|
PageHeaderSection,
|
|
11555
12559
|
Paragraph,
|
|
12560
|
+
ParameterDataResource,
|
|
12561
|
+
ParameterDrawerHeader,
|
|
12562
|
+
ParameterGroup,
|
|
12563
|
+
ParameterImage,
|
|
12564
|
+
ParameterImageInner,
|
|
12565
|
+
ParameterInput,
|
|
12566
|
+
ParameterInputInner,
|
|
12567
|
+
ParameterLabel,
|
|
12568
|
+
ParameterLink,
|
|
12569
|
+
ParameterLinkInner,
|
|
12570
|
+
ParameterMenuButton,
|
|
12571
|
+
ParameterNameAndPublicIdInput,
|
|
12572
|
+
ParameterOverrideMarker,
|
|
12573
|
+
ParameterRichText,
|
|
12574
|
+
ParameterRichTextInner,
|
|
12575
|
+
ParameterSelect,
|
|
12576
|
+
ParameterSelectInner,
|
|
12577
|
+
ParameterShell,
|
|
12578
|
+
ParameterShellContext,
|
|
12579
|
+
ParameterShellPlaceholder,
|
|
12580
|
+
ParameterTextarea,
|
|
12581
|
+
ParameterTextareaInner,
|
|
12582
|
+
ParameterToggle,
|
|
12583
|
+
ParameterToggleInner,
|
|
11556
12584
|
ResolveIcon,
|
|
11557
12585
|
ScrollableList,
|
|
11558
12586
|
ScrollableListInputItem,
|
|
@@ -11590,6 +12618,7 @@ export {
|
|
|
11590
12618
|
buttonSecondaryInvert,
|
|
11591
12619
|
buttonTertiary,
|
|
11592
12620
|
buttonUnimportant,
|
|
12621
|
+
extractParameterProps,
|
|
11593
12622
|
fadeIn,
|
|
11594
12623
|
fadeInBottom,
|
|
11595
12624
|
fadeInLtr,
|
|
@@ -11614,5 +12643,6 @@ export {
|
|
|
11614
12643
|
useIconContext,
|
|
11615
12644
|
useMenuContext,
|
|
11616
12645
|
useOutsideClick,
|
|
12646
|
+
useParameterShell,
|
|
11617
12647
|
useShortcut
|
|
11618
12648
|
};
|