@uniformdev/design-system 18.19.0 → 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 CHANGED
@@ -11111,19 +11111,1037 @@ var IntegrationModalHeader = ({ icon, name, menu: menu2, children }) => {
11111
11111
  ] });
11112
11112
  };
11113
11113
 
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);
11132
+ `;
11133
+ var TooltipArrowStyles = css51`
11134
+ svg {
11135
+ fill: var(--gray-300);
11136
+ }
11137
+ `;
11138
+
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,
11176
+ children,
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,
11185
+ {
11186
+ icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
11187
+ iconColor: iconColor ? iconColor : "currentColor",
11188
+ size: "1rem"
11189
+ }
11190
+ ),
11191
+ children
11192
+ ] }) });
11193
+ };
11194
+
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
+ };
11215
+
11216
+ // src/components/ParameterInputs/styles/ParameterInput.styles.ts
11217
+ import { css as css53 } from "@emotion/react";
11218
+ var inputContainer2 = css53`
11219
+ position: relative;
11220
+
11221
+ &:hover,
11222
+ &:focus,
11223
+ &:focus-within {
11224
+ .parameter-menu {
11225
+ opacity: var(--opacity-100);
11226
+ translate: 0 0;
11227
+ }
11228
+ }
11229
+ `;
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`
11238
+ display: block;
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);
11255
+
11256
+ &::placeholder {
11257
+ color: var(--gray-400);
11258
+ }
11259
+
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;
11266
+ }
11267
+
11268
+ &:disabled,
11269
+ &:disabled::placeholder,
11270
+ &:disabled:hover {
11271
+ border-radius: var(--rounded-md);
11272
+ cursor: not-allowed;
11273
+ color: var(--gray-400);
11274
+ }
11275
+
11276
+ &[readonly] {
11277
+ cursor: not-allowed;
11278
+ color: var(--gray-400);
11279
+ }
11280
+ `;
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`
11293
+ align-items: center;
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;
11312
+ display: inline-flex;
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;
11330
+
11331
+ position: absolute;
11332
+ left: 0;
11333
+
11334
+ &:where([type='radio']) {
11335
+ border-radius: var(--rounded-full);
11336
+ }
11337
+
11338
+ &:where([type='checkbox']) {
11339
+ border-radius: var(--rounded-md);
11340
+ }
11341
+
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
+ }
11351
+
11352
+ &:disabled {
11353
+ cursor: not-allowed;
11354
+ color: var(--gray-400);
11355
+ border-color: var(--gray-300);
11356
+ }
11357
+ `;
11358
+ var inlineLabel2 = css53`
11359
+ padding-left: var(--spacing-lg);
11360
+ font-size: var(--fs-sm);
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
+
11114
12132
  // src/components/Skeleton/Skeleton.styles.ts
11115
- import { css as css51, keyframes as keyframes4 } from "@emotion/react";
12133
+ import { css as css57, keyframes as keyframes4 } from "@emotion/react";
11116
12134
  var lightFadingOut = keyframes4`
11117
12135
  from { opacity: 0.1; }
11118
12136
  to { opacity: 0.025; }
11119
12137
  `;
11120
- var skeletonStyles = css51`
12138
+ var skeletonStyles = css57`
11121
12139
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
11122
12140
  background-color: var(--gray-900);
11123
12141
  `;
11124
12142
 
11125
12143
  // src/components/Skeleton/Skeleton.tsx
11126
- import { jsx as jsx64 } from "@emotion/react/jsx-runtime";
12144
+ import { jsx as jsx80 } from "@emotion/react/jsx-runtime";
11127
12145
  var Skeleton = ({
11128
12146
  width = "100%",
11129
12147
  height = "1.25rem",
@@ -11131,7 +12149,7 @@ var Skeleton = ({
11131
12149
  circle = false,
11132
12150
  children,
11133
12151
  ...otherProps
11134
- }) => /* @__PURE__ */ jsx64(
12152
+ }) => /* @__PURE__ */ jsx80(
11135
12153
  "div",
11136
12154
  {
11137
12155
  css: [
@@ -11151,11 +12169,11 @@ var Skeleton = ({
11151
12169
  );
11152
12170
 
11153
12171
  // src/components/Switch/Switch.tsx
11154
- import * as React13 from "react";
12172
+ import * as React14 from "react";
11155
12173
 
11156
12174
  // src/components/Switch/Switch.styles.ts
11157
- import { css as css52 } from "@emotion/react";
11158
- var SwitchInputContainer = css52`
12175
+ import { css as css58 } from "@emotion/react";
12176
+ var SwitchInputContainer = css58`
11159
12177
  cursor: pointer;
11160
12178
  display: inline-block;
11161
12179
  position: relative;
@@ -11164,7 +12182,7 @@ var SwitchInputContainer = css52`
11164
12182
  vertical-align: middle;
11165
12183
  user-select: none;
11166
12184
  `;
11167
- var SwitchInput = css52`
12185
+ var SwitchInput = css58`
11168
12186
  appearance: none;
11169
12187
  border-radius: var(--rounded-full);
11170
12188
  background-color: var(--white);
@@ -11202,7 +12220,7 @@ var SwitchInput = css52`
11202
12220
  cursor: not-allowed;
11203
12221
  }
11204
12222
  `;
11205
- var SwitchInputDisabled = css52`
12223
+ var SwitchInputDisabled = css58`
11206
12224
  opacity: var(--opacity-50);
11207
12225
  cursor: not-allowed;
11208
12226
 
@@ -11210,7 +12228,7 @@ var SwitchInputDisabled = css52`
11210
12228
  cursor: not-allowed;
11211
12229
  }
11212
12230
  `;
11213
- var SwitchInputLabel = css52`
12231
+ var SwitchInputLabel = css58`
11214
12232
  align-items: center;
11215
12233
  color: var(--brand-secondary-1);
11216
12234
  display: inline-flex;
@@ -11232,98 +12250,98 @@ var SwitchInputLabel = css52`
11232
12250
  top: 0;
11233
12251
  }
11234
12252
  `;
11235
- var SwitchText = css52`
12253
+ var SwitchText = css58`
11236
12254
  color: var(--gray-500);
11237
12255
  font-size: var(--fs-sm);
11238
12256
  padding-inline: var(--spacing-2xl) 0;
11239
12257
  `;
11240
12258
 
11241
12259
  // src/components/Switch/Switch.tsx
11242
- import { Fragment as Fragment9, jsx as jsx65, jsxs as jsxs44 } from "@emotion/react/jsx-runtime";
11243
- var Switch = React13.forwardRef(
12260
+ import { Fragment as Fragment13, jsx as jsx81, jsxs as jsxs56 } from "@emotion/react/jsx-runtime";
12261
+ var Switch = React14.forwardRef(
11244
12262
  ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
11245
12263
  let additionalText = infoText;
11246
12264
  if (infoText && toggleText) {
11247
12265
  additionalText = inputProps.checked ? toggleText : infoText;
11248
12266
  }
11249
- return /* @__PURE__ */ jsxs44(Fragment9, { children: [
11250
- /* @__PURE__ */ jsxs44("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
11251
- /* @__PURE__ */ jsx65("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
11252
- /* @__PURE__ */ jsx65("span", { css: SwitchInputLabel, children: label })
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 })
11253
12271
  ] }),
11254
- additionalText ? /* @__PURE__ */ jsx65("p", { css: SwitchText, children: additionalText }) : null,
12272
+ additionalText ? /* @__PURE__ */ jsx81("p", { css: SwitchText, children: additionalText }) : null,
11255
12273
  children
11256
12274
  ] });
11257
12275
  }
11258
12276
  );
11259
12277
 
11260
12278
  // src/components/Table/Table.tsx
11261
- import * as React14 from "react";
12279
+ import * as React15 from "react";
11262
12280
 
11263
12281
  // src/components/Table/Table.styles.ts
11264
- import { css as css53 } from "@emotion/react";
11265
- var table = css53`
12282
+ import { css as css59 } from "@emotion/react";
12283
+ var table = css59`
11266
12284
  border-bottom: 1px solid var(--gray-400);
11267
12285
  border-collapse: collapse;
11268
12286
  min-width: 100%;
11269
12287
  table-layout: auto;
11270
12288
  `;
11271
- var tableHead = css53`
12289
+ var tableHead = css59`
11272
12290
  background: var(--gray-100);
11273
12291
  color: var(--brand-secondary-1);
11274
12292
  text-align: left;
11275
12293
  `;
11276
- var tableRow = css53`
12294
+ var tableRow = css59`
11277
12295
  border-bottom: 1px solid var(--gray-200);
11278
12296
  `;
11279
- var tableCellHead = css53`
12297
+ var tableCellHead = css59`
11280
12298
  font-size: var(--fs-sm);
11281
12299
  padding: var(--spacing-base) var(--spacing-md);
11282
12300
  text-transform: uppercase;
11283
12301
  font-weight: var(--fw-bold);
11284
12302
  `;
11285
- var tableCellData = css53`
12303
+ var tableCellData = css59`
11286
12304
  padding: var(--spacing-base) var(--spacing-md);
11287
12305
  `;
11288
12306
 
11289
12307
  // src/components/Table/Table.tsx
11290
- import { jsx as jsx66 } from "@emotion/react/jsx-runtime";
11291
- var Table = React14.forwardRef(({ children, ...otherProps }, ref) => {
11292
- return /* @__PURE__ */ jsx66("table", { ref, css: table, ...otherProps, children });
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 });
11293
12311
  });
11294
- var TableHead = React14.forwardRef(
12312
+ var TableHead = React15.forwardRef(
11295
12313
  ({ children, ...otherProps }, ref) => {
11296
- return /* @__PURE__ */ jsx66("thead", { ref, css: tableHead, ...otherProps, children });
12314
+ return /* @__PURE__ */ jsx82("thead", { ref, css: tableHead, ...otherProps, children });
11297
12315
  }
11298
12316
  );
11299
- var TableBody = React14.forwardRef(
12317
+ var TableBody = React15.forwardRef(
11300
12318
  ({ children, ...otherProps }, ref) => {
11301
- return /* @__PURE__ */ jsx66("tbody", { ref, ...otherProps, children });
12319
+ return /* @__PURE__ */ jsx82("tbody", { ref, ...otherProps, children });
11302
12320
  }
11303
12321
  );
11304
- var TableFoot = React14.forwardRef(
12322
+ var TableFoot = React15.forwardRef(
11305
12323
  ({ children, ...otherProps }, ref) => {
11306
- return /* @__PURE__ */ jsx66("tfoot", { ref, ...otherProps, children });
12324
+ return /* @__PURE__ */ jsx82("tfoot", { ref, ...otherProps, children });
11307
12325
  }
11308
12326
  );
11309
- var TableRow = React14.forwardRef(
12327
+ var TableRow = React15.forwardRef(
11310
12328
  ({ children, ...otherProps }, ref) => {
11311
- return /* @__PURE__ */ jsx66("tr", { ref, css: tableRow, ...otherProps, children });
12329
+ return /* @__PURE__ */ jsx82("tr", { ref, css: tableRow, ...otherProps, children });
11312
12330
  }
11313
12331
  );
11314
- var TableCellHead = React14.forwardRef(
12332
+ var TableCellHead = React15.forwardRef(
11315
12333
  ({ children, ...otherProps }, ref) => {
11316
- return /* @__PURE__ */ jsx66("th", { ref, css: tableCellHead, ...otherProps, children });
12334
+ return /* @__PURE__ */ jsx82("th", { ref, css: tableCellHead, ...otherProps, children });
11317
12335
  }
11318
12336
  );
11319
- var TableCellData = React14.forwardRef(
12337
+ var TableCellData = React15.forwardRef(
11320
12338
  ({ children, ...otherProps }, ref) => {
11321
- return /* @__PURE__ */ jsx66("td", { ref, css: tableCellData, ...otherProps, children });
12339
+ return /* @__PURE__ */ jsx82("td", { ref, css: tableCellData, ...otherProps, children });
11322
12340
  }
11323
12341
  );
11324
12342
 
11325
12343
  // src/components/Tabs/Tabs.tsx
11326
- import { createContext as createContext4, useContext as useContext5, useEffect as useEffect7, useMemo as useMemo2 } from "react";
12344
+ import { createContext as createContext5, useContext as useContext6, useEffect as useEffect7, useMemo as useMemo2 } from "react";
11327
12345
  import {
11328
12346
  Tab as ReakitTab,
11329
12347
  TabList as ReakitTabList,
@@ -11332,8 +12350,8 @@ import {
11332
12350
  } from "reakit/Tab";
11333
12351
 
11334
12352
  // src/components/Tabs/Tabs.styles.ts
11335
- import { css as css54 } from "@emotion/react";
11336
- var tabButtonStyles = css54`
12353
+ import { css as css60 } from "@emotion/react";
12354
+ var tabButtonStyles = css60`
11337
12355
  align-items: center;
11338
12356
  border: 0;
11339
12357
  height: 2.5rem;
@@ -11350,17 +12368,17 @@ var tabButtonStyles = css54`
11350
12368
  -webkit-text-stroke-width: thin;
11351
12369
  }
11352
12370
  `;
11353
- var tabButtonGroupStyles = css54`
12371
+ var tabButtonGroupStyles = css60`
11354
12372
  display: flex;
11355
12373
  gap: var(--spacing-base);
11356
12374
  border-bottom: 1px solid var(--gray-300);
11357
12375
  `;
11358
12376
 
11359
12377
  // src/components/Tabs/Tabs.tsx
11360
- import { jsx as jsx67 } from "@emotion/react/jsx-runtime";
11361
- var CurrentTabContext = createContext4(null);
12378
+ import { jsx as jsx83 } from "@emotion/react/jsx-runtime";
12379
+ var CurrentTabContext = createContext5(null);
11362
12380
  var useCurrentTab = () => {
11363
- const context = useContext5(CurrentTabContext);
12381
+ const context = useContext6(CurrentTabContext);
11364
12382
  if (!context) {
11365
12383
  throw new Error("This component can only be used inside <Tabs>");
11366
12384
  }
@@ -11386,62 +12404,24 @@ var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...prop
11386
12404
  tab.setSelectedId(selected);
11387
12405
  }
11388
12406
  }, [selected]);
11389
- return /* @__PURE__ */ jsx67(CurrentTabContext.Provider, { value: tab, children });
12407
+ return /* @__PURE__ */ jsx83(CurrentTabContext.Provider, { value: tab, children });
11390
12408
  };
11391
12409
  var TabButtonGroup = ({ children, ...props }) => {
11392
12410
  const currentTab = useCurrentTab();
11393
- return /* @__PURE__ */ jsx67(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
12411
+ return /* @__PURE__ */ jsx83(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
11394
12412
  };
11395
12413
  var TabButton = ({ children, id, ...props }) => {
11396
12414
  const currentTab = useCurrentTab();
11397
- return /* @__PURE__ */ jsx67(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
12415
+ return /* @__PURE__ */ jsx83(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
11398
12416
  };
11399
12417
  var TabContent = ({ children, ...props }) => {
11400
12418
  const currentTab = useCurrentTab();
11401
- return /* @__PURE__ */ jsx67(ReakitTabPanel, { ...props, ...currentTab, children });
12419
+ return /* @__PURE__ */ jsx83(ReakitTabPanel, { ...props, ...currentTab, children });
11402
12420
  };
11403
12421
 
11404
- // src/components/Tooltip/Tooltip.tsx
11405
- import React16 from "react";
11406
- import {
11407
- Tooltip as ReakitTooltip,
11408
- TooltipArrow,
11409
- TooltipReference,
11410
- useTooltipState
11411
- } from "reakit/Tooltip";
11412
-
11413
- // src/components/Tooltip/Tooltip.styles.ts
11414
- import { css as css55 } from "@emotion/react";
11415
- var TooltipContainer = css55`
11416
- border: 2px solid var(--gray-300);
11417
- border-radius: var(--rounded-base);
11418
- padding: var(--spacing-xs) var(--spacing-sm);
11419
- color: var(--gray-500);
11420
- font-size: var(--fs-xs);
11421
- background: var(--white);
11422
- `;
11423
- var TooltipArrowStyles = css55`
11424
- svg {
11425
- fill: var(--gray-300);
11426
- }
11427
- `;
11428
-
11429
- // src/components/Tooltip/Tooltip.tsx
11430
- import { Fragment as Fragment10, jsx as jsx68, jsxs as jsxs45 } from "@emotion/react/jsx-runtime";
11431
- function Tooltip({ children, title, placement = "bottom", visible, ...props }) {
11432
- const tooltip = useTooltipState({ placement });
11433
- return /* @__PURE__ */ jsxs45(Fragment10, { children: [
11434
- /* @__PURE__ */ jsx68(TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => React16.cloneElement(children, referenceProps) }),
11435
- /* @__PURE__ */ jsxs45(ReakitTooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
11436
- /* @__PURE__ */ jsx68(TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
11437
- title
11438
- ] })
11439
- ] });
11440
- }
11441
-
11442
12422
  // src/components/Validation/StatusBullet.styles.ts
11443
- import { css as css56 } from "@emotion/react";
11444
- var StatusBulletContainer = css56`
12423
+ import { css as css61 } from "@emotion/react";
12424
+ var StatusBulletContainer = css61`
11445
12425
  align-items: center;
11446
12426
  align-self: center;
11447
12427
  color: var(--gray-500);
@@ -11461,19 +12441,19 @@ var StatusBulletContainer = css56`
11461
12441
  height: var(--fs-xs);
11462
12442
  }
11463
12443
  `;
11464
- var StatusDraft = css56`
12444
+ var StatusDraft = css61`
11465
12445
  &:before {
11466
12446
  background: var(--white);
11467
12447
  box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
11468
12448
  }
11469
12449
  `;
11470
- var StatusModified = css56`
12450
+ var StatusModified = css61`
11471
12451
  &:before {
11472
12452
  background: linear-gradient(to right, var(--white) 50%, var(--brand-primary-1) 50% 100%);
11473
12453
  box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
11474
12454
  }
11475
12455
  `;
11476
- var StatusError = css56`
12456
+ var StatusError = css61`
11477
12457
  color: var(--error);
11478
12458
  &:before {
11479
12459
  background: var(--error);
@@ -11489,19 +12469,19 @@ var StatusError = css56`
11489
12469
  rotate: -45deg;
11490
12470
  }
11491
12471
  `;
11492
- var StatusPublished = css56`
12472
+ var StatusPublished = css61`
11493
12473
  &:before {
11494
12474
  background: var(--brand-secondary-3);
11495
12475
  }
11496
12476
  `;
11497
- var StatusOrphan = css56`
12477
+ var StatusOrphan = css61`
11498
12478
  &:before {
11499
12479
  background: var(--brand-secondary-5);
11500
12480
  }
11501
12481
  `;
11502
12482
 
11503
12483
  // src/components/Validation/StatusBullet.tsx
11504
- import { jsx as jsx69 } from "@emotion/react/jsx-runtime";
12484
+ import { jsx as jsx84 } from "@emotion/react/jsx-runtime";
11505
12485
  var StatusBullet = ({ status, hideText = false, message, ...props }) => {
11506
12486
  const currentStateStyles = {
11507
12487
  Error: StatusError,
@@ -11511,7 +12491,7 @@ var StatusBullet = ({ status, hideText = false, message, ...props }) => {
11511
12491
  Published: StatusPublished,
11512
12492
  Draft: StatusDraft
11513
12493
  };
11514
- return /* @__PURE__ */ jsx69(
12494
+ return /* @__PURE__ */ jsx84(
11515
12495
  "span",
11516
12496
  {
11517
12497
  css: [StatusBulletContainer, currentStateStyles[status]],
@@ -11533,6 +12513,7 @@ export {
11533
12513
  Card,
11534
12514
  CardContainer2 as CardContainer,
11535
12515
  CheckboxWithInfo,
12516
+ ConnectToDataElementButton,
11536
12517
  Counter,
11537
12518
  CreateTeamIntegrationTile,
11538
12519
  DashedBox,
@@ -11576,6 +12557,30 @@ export {
11576
12557
  MenuItemSeparator,
11577
12558
  PageHeaderSection,
11578
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,
11579
12584
  ResolveIcon,
11580
12585
  ScrollableList,
11581
12586
  ScrollableListInputItem,
@@ -11613,6 +12618,7 @@ export {
11613
12618
  buttonSecondaryInvert,
11614
12619
  buttonTertiary,
11615
12620
  buttonUnimportant,
12621
+ extractParameterProps,
11616
12622
  fadeIn,
11617
12623
  fadeInBottom,
11618
12624
  fadeInLtr,
@@ -11637,5 +12643,6 @@ export {
11637
12643
  useIconContext,
11638
12644
  useMenuContext,
11639
12645
  useOutsideClick,
12646
+ useParameterShell,
11640
12647
  useShortcut
11641
12648
  };