@uniformdev/design-system 19.159.1-alpha.16 → 19.159.1-alpha.27

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/index.js CHANGED
@@ -1600,6 +1600,7 @@ __export(src_exports, {
1600
1600
  useIconContext: () => useIconContext,
1601
1601
  useOutsideClick: () => useOutsideClick,
1602
1602
  useParameterShell: () => useParameterShell,
1603
+ usePopoverComponentContext: () => usePopoverComponentContext,
1603
1604
  useShortcut: () => useShortcut,
1604
1605
  utilityColors: () => functionalColors,
1605
1606
  warningIcon: () => warningIcon,
@@ -1616,7 +1617,7 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
1616
1617
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1617
1618
  "link",
1618
1619
  {
1619
- href: "https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Quantico:wght@700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap",
1620
+ href: "https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Quantico:ital,wght@0,400;0,700;1,400;1,700&display=swap",
1620
1621
  rel: "stylesheet"
1621
1622
  }
1622
1623
  ),
@@ -1760,7 +1761,7 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
1760
1761
  /* font family */
1761
1762
  --ff-base: 'DM Sans', sans-serif;
1762
1763
  --ff-heading: 'Quantico', sans-serif;
1763
- --ff-mono: 'Space Mono', monospace;
1764
+ --ff-mono: 'DM Mono', monospace;
1764
1765
 
1765
1766
  /* max text width */
1766
1767
  --prose: 65ch;
@@ -1786,6 +1787,7 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
1786
1787
  --rounded-sm: 0.125rem; /* 2px */
1787
1788
  --rounded-base: 0.25rem; /* 4px */
1788
1789
  --rounded-md: 0.375rem; /* 6px */
1790
+ --rounded-lg: 0.5rem; /* 8px */
1789
1791
 
1790
1792
  /* anything below here should be removed as its not in our style guide */
1791
1793
  --rounded-xl: 0.75rem;
@@ -13887,15 +13889,18 @@ init_emotion_jsx_shim();
13887
13889
  var import_react32 = require("@emotion/react");
13888
13890
  var import_CgChevronDown2 = require("@react-icons/all-files/cg/CgChevronDown");
13889
13891
  var import_jsx_runtime25 = require("@emotion/react/jsx-runtime");
13890
- var buttonStyle = import_react32.css`
13892
+ var buttonStyle = (bgColor) => import_react32.css`
13891
13893
  border: 0;
13892
- background-color: white;
13894
+ background-color: ${bgColor};
13893
13895
  display: block;
13894
13896
  font-size: var(--fs-sm);
13895
13897
  line-height: 1.5;
13898
+ transition: background-color var(--duration-fast) var(--timing-ease-out),
13899
+ outline var(--duration-fast) var(--timing-ease-out);
13900
+ outline: 1px solid transparent;
13896
13901
 
13897
13902
  &:hover {
13898
- outline: 1px solid var(--gray-300);
13903
+ outline-color: var(--gray-300);
13899
13904
  background-color: var(--gray-100);
13900
13905
  }
13901
13906
 
@@ -13903,8 +13908,12 @@ var buttonStyle = import_react32.css`
13903
13908
  color: var(--gray-400);
13904
13909
  }
13905
13910
  `;
13906
- function DropdownStyleMenuTrigger({ children, ...buttonProps }) {
13907
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { ...buttonProps, css: buttonStyle, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(HorizontalRhythm, { align: "center", gap: "xs", children: [
13911
+ function DropdownStyleMenuTrigger({
13912
+ bgColor = "var(--white)",
13913
+ children,
13914
+ ...buttonProps
13915
+ }) {
13916
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { ...buttonProps, css: buttonStyle(bgColor), type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(HorizontalRhythm, { align: "center", gap: "xs", children: [
13908
13917
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children }),
13909
13918
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_CgChevronDown2.CgChevronDown, { size: "1rem" })
13910
13919
  ] }) });
@@ -14138,19 +14147,14 @@ var Menu = React7.forwardRef(function Menu2({
14138
14147
  "data-testid": testId != null ? testId : "more-menu",
14139
14148
  hideOnHoverOutside: (event) => {
14140
14149
  var _a;
14141
- if (!menu.parent)
14142
- return false;
14150
+ if (!menu.parent) return false;
14143
14151
  const { contentElement, anchorElement } = menu.getState();
14144
14152
  const [target] = event.composedPath();
14145
- if (!target)
14146
- return false;
14153
+ if (!target) return false;
14147
14154
  const activeElement = (_a = target.ownerDocument) == null ? void 0 : _a.activeElement;
14148
- if (anchorElement == null ? void 0 : anchorElement.contains(target))
14149
- return false;
14150
- if (contentElement == null ? void 0 : contentElement.contains(target))
14151
- return false;
14152
- if (activeElement && target.contains(activeElement))
14153
- return false;
14155
+ if (anchorElement == null ? void 0 : anchorElement.contains(target)) return false;
14156
+ if (contentElement == null ? void 0 : contentElement.contains(target)) return false;
14157
+ if (activeElement && target.contains(activeElement)) return false;
14154
14158
  return true;
14155
14159
  },
14156
14160
  children: disableAutoSeparatorManagement ? children : filterMenuSeparators(children)
@@ -14997,8 +15001,7 @@ var InputInlineSelect = ({
14997
15001
  "aria-expanded": menuVisible,
14998
15002
  css: inlineSelectBtn,
14999
15003
  onClick: () => {
15000
- if (!disabled2)
15001
- setMenuVisible((prev) => !prev);
15004
+ if (!disabled2) setMenuVisible((prev) => !prev);
15002
15005
  },
15003
15006
  disabled: disabled2,
15004
15007
  ...props,
@@ -15860,6 +15863,7 @@ var container = import_react59.css`
15860
15863
  --calendar-cell-size: 1.8rem;
15861
15864
  width: fit-content;
15862
15865
  max-width: 100%;
15866
+ margin: 0 auto;
15863
15867
  `;
15864
15868
  var header = import_react59.css`
15865
15869
  display: flex;
@@ -16631,6 +16635,7 @@ var ChipMultiline = import_react69.css`
16631
16635
  padding-inline: var(--spacing-sm);
16632
16636
  `;
16633
16637
  var ChipThemeAccentLight = import_react69.css`
16638
+ --outline-color: var(--accent-light);
16634
16639
  background: var(--accent-light);
16635
16640
  color: var(--typography-base);
16636
16641
 
@@ -16656,6 +16661,7 @@ var ChipThemeAccentLight = import_react69.css`
16656
16661
  }
16657
16662
  `;
16658
16663
  var ChipThemeAccentDark = import_react69.css`
16664
+ --outline-color: var(--accent-dark);
16659
16665
  background: var(--accent-dark);
16660
16666
  color: var(--white);
16661
16667
 
@@ -16677,6 +16683,7 @@ var ChipThemeAccentDark = import_react69.css`
16677
16683
  }
16678
16684
  `;
16679
16685
  var ChipAltThemeAccentLight = import_react69.css`
16686
+ --outline-color: var(--accent-alt-light);
16680
16687
  background: var(--accent-alt-light);
16681
16688
  color: var(--typography-base);
16682
16689
 
@@ -16702,6 +16709,7 @@ var ChipAltThemeAccentLight = import_react69.css`
16702
16709
  }
16703
16710
  `;
16704
16711
  var ChipAltThemeAccentDark = import_react69.css`
16712
+ --outline-color: var(--accent-alt-dark);
16705
16713
  background: var(--accent-alt-dark);
16706
16714
  color: var(--white);
16707
16715
 
@@ -16723,6 +16731,7 @@ var ChipAltThemeAccentDark = import_react69.css`
16723
16731
  }
16724
16732
  `;
16725
16733
  var ChipThemeNeutralLight = import_react69.css`
16734
+ --outline-color: var(--gray-300);
16726
16735
  background: var(--gray-100);
16727
16736
  color: var(--typography-base);
16728
16737
  :where([role='button']) {
@@ -16733,6 +16742,7 @@ var ChipThemeNeutralLight = import_react69.css`
16733
16742
  }
16734
16743
  `;
16735
16744
  var ChipThemeNeutralDark = import_react69.css`
16745
+ --outline-color: var(--gray-700);
16736
16746
  background: var(--gray-700);
16737
16747
  color: var(--white);
16738
16748
  :where([role='button']) {
@@ -16752,6 +16762,15 @@ var ChipActionButton = import_react69.css`
16752
16762
  border-radius: 0 var(--rounded-full) var(--rounded-full) 0;
16753
16763
  padding: 0;
16754
16764
  `;
16765
+ var ChipOutlined = import_react69.css`
16766
+ background: var(--white);
16767
+ color: var(--typography-light);
16768
+ box-shadow: inset 0 0 0 1px var(--outline-color);
16769
+
16770
+ > [role='separator'] {
16771
+ border-color: var(--outline-color);
16772
+ }
16773
+ `;
16755
16774
 
16756
16775
  // src/components/Chip/Chip.tsx
16757
16776
  var import_jsx_runtime61 = require("@emotion/react/jsx-runtime");
@@ -16768,6 +16787,7 @@ var Chip = ({
16768
16787
  text,
16769
16788
  size = "sm",
16770
16789
  theme = "accent-light",
16790
+ variant = "solid",
16771
16791
  chipAction,
16772
16792
  as = "span",
16773
16793
  ...props
@@ -16778,14 +16798,26 @@ var Chip = ({
16778
16798
  md: ChipMedium
16779
16799
  };
16780
16800
  const ElementType = as;
16781
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(ElementType, { css: [ChipContainer, chipSize[size], chipTheme[theme]], ...props, children: [
16782
- icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
16783
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { role: "presentation", css: [ChipIcon], children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { icon, iconColor: "currentColor", size: "1rem" }) }),
16784
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { role: "separator", css: ChipSeparator })
16785
- ] }) : null,
16786
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { css: ChipText, children: text }),
16787
- chipAction
16788
- ] });
16801
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
16802
+ ElementType,
16803
+ {
16804
+ css: [
16805
+ ChipContainer,
16806
+ chipSize[size],
16807
+ chipTheme[theme],
16808
+ variant === "outlined" ? ChipOutlined : void 0
16809
+ ],
16810
+ ...props,
16811
+ children: [
16812
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
16813
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { role: "presentation", css: [ChipIcon], children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { icon, iconColor: "currentColor", size: "1rem" }) }),
16814
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { role: "separator", css: ChipSeparator })
16815
+ ] }) : null,
16816
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { css: ChipText, children: text }),
16817
+ chipAction
16818
+ ]
16819
+ }
16820
+ );
16789
16821
  };
16790
16822
  var DismissibleChipAction = ({ onDismiss, ...props }) => {
16791
16823
  return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
@@ -17065,12 +17097,21 @@ var trigger = import_react74.css`
17065
17097
  var popover = import_react74.css`
17066
17098
  padding: var(--spacing-md);
17067
17099
  max-width: none;
17068
- gap: var(--spacing-md);
17069
- grid-template-columns: 0.8fr 1fr;
17070
- grid-template-rows: 1fr 1fr;
17100
+ container-type: inline-size;
17101
+ width: 100%;
17102
+ `;
17103
+ var popoverInnerContent = import_react74.css`
17104
+ display: grid;
17105
+ gap: var(--spacing-base);
17071
17106
 
17072
- [data-variant='date'] & {
17073
- grid-template-rows: 1fr;
17107
+ ${cq("360px")} {
17108
+ grid-template-columns: 0.8fr 1fr;
17109
+ grid-template-rows: 1fr 1fr;
17110
+ gap: var(--spacing-md);
17111
+
17112
+ [data-variant='date'] & {
17113
+ grid-template-rows: 1fr;
17114
+ }
17074
17115
  }
17075
17116
  `;
17076
17117
  var calendarSection = import_react74.css`
@@ -17089,6 +17130,15 @@ var timeSection = import_react74.css`
17089
17130
  var tzSection = import_react74.css`
17090
17131
  align-self: stretch;
17091
17132
  `;
17133
+ var datePart = import_react74.css`
17134
+ text-overflow: ellipsis;
17135
+ overflow: hidden;
17136
+ white-space: nowrap;
17137
+ `;
17138
+ var datePartButton = import_react74.css`
17139
+ // this allows the button to be as wide as the text
17140
+ min-width: 0;
17141
+ `;
17092
17142
 
17093
17143
  // src/components/DateTimePicker/DateTimePickerSummary.tsx
17094
17144
  init_emotion_jsx_shim();
@@ -17127,10 +17177,10 @@ function DateTimePickerSummary({
17127
17177
  }
17128
17178
  }
17129
17179
  }
17130
- const datePart = (value == null ? void 0 : value.datetime) ? dateFormat.format(new Date(value.datetime)) : null;
17180
+ const datePart2 = (value == null ? void 0 : value.datetime) ? dateFormat.format(new Date(value.datetime)) : null;
17131
17181
  const timePart = (value == null ? void 0 : value.datetime) ? timeFormat.format(new Date(value.datetime)) : null;
17132
- return datePart ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { children: [
17133
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("em", { css: inputLabelFocal, children: datePart }),
17182
+ return datePart2 ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { css: datePart, children: [
17183
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("em", { css: inputLabelFocal, children: datePart2 }),
17134
17184
  !!timePart && `, ${timePart}`,
17135
17185
  !!(value == null ? void 0 : value.timeZone) && timeZoneWasValid && ` in ${value == null ? void 0 : value.timeZone}`
17136
17186
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: placeholder });
@@ -17310,7 +17360,7 @@ var DateTimePicker = ({
17310
17360
  import_Popover.PopoverDisclosure,
17311
17361
  {
17312
17362
  ...popover2,
17313
- css: inputLabel,
17363
+ css: datePartButton,
17314
17364
  as: Button,
17315
17365
  buttonType: "ghostUnimportant",
17316
17366
  disabled: disabled2,
@@ -17333,36 +17383,48 @@ var DateTimePicker = ({
17333
17383
  }
17334
17384
  ),
17335
17385
  /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_Popover.Popover, { ...popover2, css: [Popover, popover], "aria-label": "Pick a date", children: [
17336
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { css: calendarSection, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
17337
- Calendar,
17338
- {
17339
- value: draftDate == null ? void 0 : draftDate.toString(),
17340
- minValue: parsedMinVisible,
17341
- maxValue: parseMaxVisible,
17342
- timeZone: (draftTimeZone == null ? void 0 : draftTimeZone.value) || (parsedValue == null ? void 0 : parsedValue.timeZone) || getLocalTimeZone(),
17343
- onChange: handleDateChange,
17344
- "data-testid": `${testId}-calendar`
17345
- }
17346
- ) }),
17347
- variant !== "date" /* Date */ && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { css: timeSection, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
17348
- InputTime,
17349
- {
17350
- label: "Time",
17351
- value: draftTime == null ? void 0 : draftTime.toString(),
17352
- belowInputSlot: belowTimeInputSlot,
17353
- onChange: handleTimeChange
17354
- }
17355
- ) }),
17356
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { css: tzSection, children: [
17357
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Label, { css: labelText, children: "Timezone" }),
17358
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
17359
- InputComboBox,
17386
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { css: popoverInnerContent, children: [
17387
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { css: calendarSection, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
17388
+ Calendar,
17360
17389
  {
17361
- value: draftTimeZone,
17362
- options: TIMEZONE_OPTIONS,
17363
- onChange: handleTimezoneChange
17390
+ value: draftDate == null ? void 0 : draftDate.toString(),
17391
+ minValue: parsedMinVisible,
17392
+ maxValue: parseMaxVisible,
17393
+ timeZone: (draftTimeZone == null ? void 0 : draftTimeZone.value) || (parsedValue == null ? void 0 : parsedValue.timeZone) || getLocalTimeZone(),
17394
+ onChange: handleDateChange,
17395
+ "data-testid": `${testId}-calendar`
17364
17396
  }
17365
- )
17397
+ ) }),
17398
+ variant !== "date" /* Date */ && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { css: timeSection, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
17399
+ InputTime,
17400
+ {
17401
+ label: "Time",
17402
+ value: draftTime == null ? void 0 : draftTime.toString(),
17403
+ belowInputSlot: belowTimeInputSlot,
17404
+ onChange: handleTimeChange
17405
+ }
17406
+ ) }),
17407
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { css: tzSection, children: [
17408
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Label, { css: labelText, children: "Timezone" }),
17409
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
17410
+ InputComboBox,
17411
+ {
17412
+ value: draftTimeZone,
17413
+ options: TIMEZONE_OPTIONS,
17414
+ onChange: handleTimezoneChange,
17415
+ menuPlacement: "auto",
17416
+ styles: {
17417
+ menu(base) {
17418
+ return {
17419
+ ...base,
17420
+ width: "fit-content",
17421
+ right: 0
17422
+ };
17423
+ }
17424
+ }
17425
+ }
17426
+ )
17427
+ ] })
17366
17428
  ] }),
17367
17429
  /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(HorizontalRhythm, { gap: "0", children: [
17368
17430
  /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { buttonType: "secondary", onClick: handleSelectClick, children: "Select" }),
@@ -19620,6 +19682,10 @@ var Popover3 = ({
19620
19682
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_react108.Popover, { unmountOnHide: true, css: Popover, ...otherProps, "aria-label": ariaLabel, children })
19621
19683
  ] });
19622
19684
  };
19685
+ var usePopoverComponentContext = () => {
19686
+ const contextValue = (0, import_react108.usePopoverContext)();
19687
+ return contextValue;
19688
+ };
19623
19689
 
19624
19690
  // src/components/MediaCard/MediaCard.styles.ts
19625
19691
  init_emotion_jsx_shim();
@@ -21530,13 +21596,13 @@ CustomCodeNode.importDOM = function() {
21530
21596
  // src/components/ParameterInputs/rich-text/DisableStylesPlugin.ts
21531
21597
  init_emotion_jsx_shim();
21532
21598
  var import_LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
21533
- var import_utils2 = require("@lexical/utils");
21599
+ var import_utils3 = require("@lexical/utils");
21534
21600
  var import_lexical = require("lexical");
21535
21601
  var import_react135 = require("react");
21536
21602
  function DisableStylesPlugin() {
21537
21603
  const [editor] = (0, import_LexicalComposerContext.useLexicalComposerContext)();
21538
21604
  (0, import_react135.useEffect)(() => {
21539
- return (0, import_utils2.mergeRegister)(
21605
+ return (0, import_utils3.mergeRegister)(
21540
21606
  // Disable text alignment on paragraph nodes
21541
21607
  editor.registerNodeTransform(import_lexical.ParagraphNode, (node) => {
21542
21608
  if (node.getFormatType() !== "") {
@@ -21733,7 +21799,7 @@ init_emotion_jsx_shim();
21733
21799
  var import_react136 = require("@emotion/react");
21734
21800
  var import_LexicalComposerContext2 = require("@lexical/react/LexicalComposerContext");
21735
21801
  var import_LexicalNodeEventPlugin = require("@lexical/react/LexicalNodeEventPlugin");
21736
- var import_utils3 = require("@lexical/utils");
21802
+ var import_utils4 = require("@lexical/utils");
21737
21803
  var import_fast_equals = require("fast-equals");
21738
21804
  var import_lexical3 = require("lexical");
21739
21805
  var import_react137 = require("react");
@@ -21754,8 +21820,7 @@ var getElementNodesInSelection = (selection) => {
21754
21820
  };
21755
21821
  var getAncestor = (node, predicate) => {
21756
21822
  let parent = node;
21757
- while (parent !== null && (parent = parent.getParent()) !== null && !predicate(parent))
21758
- ;
21823
+ while (parent !== null && (parent = parent.getParent()) !== null && !predicate(parent)) ;
21759
21824
  return parent;
21760
21825
  };
21761
21826
  var getSelectedNode = (selection) => {
@@ -21798,7 +21863,7 @@ var guessLinkTypeFromPath = (path) => {
21798
21863
  };
21799
21864
  function convertAnchorElement(domNode) {
21800
21865
  let node = null;
21801
- if (!(0, import_utils3.isHTMLAnchorElement)(domNode)) {
21866
+ if (!(0, import_utils4.isHTMLAnchorElement)(domNode)) {
21802
21867
  return { node };
21803
21868
  }
21804
21869
  const textContent = domNode.textContent;
@@ -21907,7 +21972,7 @@ var LinkNode = class _LinkNode extends import_lexical3.ElementNode {
21907
21972
  element.setAttribute("href", `mailto:${this.__link.path}`);
21908
21973
  }
21909
21974
  }
21910
- (0, import_utils3.addClassNamesToElement)(element, config.theme.link);
21975
+ (0, import_utils4.addClassNamesToElement)(element, config.theme.link);
21911
21976
  return element;
21912
21977
  }
21913
21978
  updateDOM(prevNode, a) {
@@ -22094,7 +22159,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
22094
22159
  if (!editor.hasNodes([LinkNode])) {
22095
22160
  throw new Error("LinkNode not registered on editor");
22096
22161
  }
22097
- return (0, import_utils3.mergeRegister)(
22162
+ return (0, import_utils4.mergeRegister)(
22098
22163
  editor.registerCommand(
22099
22164
  UPSERT_LINK_NODE_COMMAND,
22100
22165
  (payload) => {
@@ -22321,7 +22386,7 @@ var import_list2 = require("@lexical/list");
22321
22386
  var import_LexicalComposerContext4 = require("@lexical/react/LexicalComposerContext");
22322
22387
  var import_rich_text = require("@lexical/rich-text");
22323
22388
  var import_selection2 = require("@lexical/selection");
22324
- var import_utils6 = require("@lexical/utils");
22389
+ var import_utils7 = require("@lexical/utils");
22325
22390
  var import_lexical5 = require("lexical");
22326
22391
  var import_react140 = require("react");
22327
22392
  var import_jsx_runtime122 = require("@emotion/react/jsx-runtime");
@@ -22440,7 +22505,7 @@ var RichTextToolbar = ({ config, customControls }) => {
22440
22505
  }
22441
22506
  setActiveFormats(newActiveFormats);
22442
22507
  const anchorNode = selection.anchor.getNode();
22443
- let element = anchorNode.getKey() === "root" ? anchorNode : (0, import_utils6.$findMatchingParent)(anchorNode, (e) => {
22508
+ let element = anchorNode.getKey() === "root" ? anchorNode : (0, import_utils7.$findMatchingParent)(anchorNode, (e) => {
22444
22509
  const parent = e.getParent();
22445
22510
  return parent !== null && (0, import_lexical5.$isRootOrShadowRoot)(parent);
22446
22511
  });
@@ -22451,7 +22516,7 @@ var RichTextToolbar = ({ config, customControls }) => {
22451
22516
  const elementDOM = editor.getElementByKey(elementKey);
22452
22517
  if (elementDOM !== null) {
22453
22518
  if ((0, import_list2.$isListNode)(element)) {
22454
- const parentList = (0, import_utils6.$getNearestNodeOfType)(anchorNode, import_list2.ListNode);
22519
+ const parentList = (0, import_utils7.$getNearestNodeOfType)(anchorNode, import_list2.ListNode);
22455
22520
  const type = parentList ? parentList.getListType() : element.getListType();
22456
22521
  setActiveElement(type === "bullet" ? "unorderedList" : "orderedList");
22457
22522
  } else {
@@ -23615,7 +23680,7 @@ var Skeleton = ({
23615
23680
 
23616
23681
  // src/components/Switch/Switch.tsx
23617
23682
  init_emotion_jsx_shim();
23618
- var React24 = __toESM(require("react"));
23683
+ var import_react155 = require("react");
23619
23684
 
23620
23685
  // src/components/Switch/Switch.styles.ts
23621
23686
  init_emotion_jsx_shim();
@@ -23629,7 +23694,7 @@ var SwitchInputContainer = import_react154.css`
23629
23694
  vertical-align: middle;
23630
23695
  user-select: none;
23631
23696
  `;
23632
- var SwitchInput = import_react154.css`
23697
+ var SwitchInput = (size) => import_react154.css`
23633
23698
  appearance: none;
23634
23699
  border-radius: var(--rounded-full);
23635
23700
  background-color: var(--white);
@@ -23637,15 +23702,16 @@ var SwitchInput = import_react154.css`
23637
23702
  cursor: pointer;
23638
23703
  position: absolute;
23639
23704
  display: block;
23640
- width: var(--spacing-md);
23641
- height: var(--spacing-md);
23705
+ width: ${size === "sm" ? "var(--spacing-base)" : "var(--spacing-md)"};
23706
+ height: ${size === "sm" ? "var(--spacing-base)" : "var(--spacing-md)"};
23707
+ margin-top: ${size === "sm" ? "var(--spacing-xs)" : "none"};
23642
23708
  transition: transform var(--duration-fast) var(--timing-ease-out),
23643
23709
  background-color var(--duration-fast) var(--timing-ease-out),
23644
23710
  background-image var(--duration-fast) var(--timing-ease-out);
23645
23711
  z-index: var(--z-10);
23646
23712
 
23647
23713
  &:focus {
23648
- outline: 3px solid var(--gray-800);
23714
+ outline: 2px solid var(--gray-800);
23649
23715
  outline-offset: 2px;
23650
23716
  }
23651
23717
 
@@ -23675,12 +23741,12 @@ var SwitchInputDisabled = import_react154.css`
23675
23741
  cursor: not-allowed;
23676
23742
  }
23677
23743
  `;
23678
- var SwitchInputLabel = import_react154.css`
23744
+ var SwitchInputLabel = (size) => import_react154.css`
23679
23745
  align-items: center;
23680
23746
  color: var(--typography-base);
23681
23747
  display: inline-flex;
23682
23748
  line-height: 1.25;
23683
- padding-inline: var(--spacing-2xl) 0;
23749
+ padding-inline: ${size === "sm" ? "var(--spacing-xl)" : "var(--spacing-2xl)"} 0;
23684
23750
 
23685
23751
  &:before {
23686
23752
  border-radius: var(--rounded-full);
@@ -23689,33 +23755,40 @@ var SwitchInputLabel = import_react154.css`
23689
23755
  cursor: pointer;
23690
23756
  display: block;
23691
23757
  overflow: hidden;
23692
- width: var(--spacing-xl);
23693
- height: var(--spacing-md);
23758
+ width: ${size === "sm" ? "var(--spacing-lg)" : "var(--spacing-xl)"};
23759
+ height: ${size === "sm" ? "var(--spacing-base)" : "var(--spacing-md)"};
23760
+ margin-top: ${size === "sm" ? "var(--spacing-xs)" : "none"};
23694
23761
  position: absolute;
23695
23762
  left: 0;
23696
23763
  top: 0;
23697
23764
  }
23698
23765
  `;
23699
- var SwitchText = import_react154.css`
23766
+ var SwitchText = (size) => import_react154.css`
23700
23767
  color: var(--gray-500);
23701
23768
  font-size: var(--fs-sm);
23702
- padding-inline: var(--spacing-2xl) 0;
23769
+ padding-inline: ${size === "sm" ? "var(--spacing-xl)" : "var(--spacing-2xl)"} 0;
23703
23770
  `;
23704
23771
 
23705
23772
  // src/components/Switch/Switch.tsx
23706
23773
  var import_jsx_runtime131 = require("@emotion/react/jsx-runtime");
23707
- var Switch = React24.forwardRef(
23708
- ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
23774
+ var Switch = (0, import_react155.forwardRef)(
23775
+ ({ label, infoText, toggleText, children, switchSize = "base", ...inputProps }, ref) => {
23709
23776
  let additionalText = infoText;
23710
23777
  if (infoText && toggleText) {
23711
23778
  additionalText = inputProps.checked ? toggleText : infoText;
23712
23779
  }
23713
23780
  return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(import_jsx_runtime131.Fragment, { children: [
23714
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
23715
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
23716
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { css: SwitchInputLabel, children: label })
23717
- ] }),
23718
- additionalText ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { css: SwitchText, children: additionalText }) : null,
23781
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
23782
+ "label",
23783
+ {
23784
+ css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0],
23785
+ children: [
23786
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("input", { type: "checkbox", css: SwitchInput(switchSize), ...inputProps, ref }),
23787
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { css: SwitchInputLabel(switchSize), children: label })
23788
+ ]
23789
+ }
23790
+ ),
23791
+ additionalText ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { css: SwitchText(switchSize), children: additionalText }) : null,
23719
23792
  children
23720
23793
  ] });
23721
23794
  }
@@ -23723,12 +23796,12 @@ var Switch = React24.forwardRef(
23723
23796
 
23724
23797
  // src/components/Table/Table.tsx
23725
23798
  init_emotion_jsx_shim();
23726
- var React25 = __toESM(require("react"));
23799
+ var React24 = __toESM(require("react"));
23727
23800
 
23728
23801
  // src/components/Table/Table.styles.ts
23729
23802
  init_emotion_jsx_shim();
23730
- var import_react155 = require("@emotion/react");
23731
- var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => import_react155.css`
23803
+ var import_react156 = require("@emotion/react");
23804
+ var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => import_react156.css`
23732
23805
  border-bottom: 1px solid var(--gray-400);
23733
23806
  border-collapse: collapse;
23734
23807
  min-width: 100%;
@@ -23748,14 +23821,14 @@ var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => import_
23748
23821
  background-color: var(--gray-50);
23749
23822
  }
23750
23823
  `;
23751
- var tableHead = import_react155.css`
23824
+ var tableHead = import_react156.css`
23752
23825
  color: var(--typography-base);
23753
23826
  text-align: left;
23754
23827
  `;
23755
- var tableRow = import_react155.css`
23828
+ var tableRow = import_react156.css`
23756
23829
  border-bottom: 1px solid var(--gray-100);
23757
23830
  `;
23758
- var tableCellHead = import_react155.css`
23831
+ var tableCellHead = import_react156.css`
23759
23832
  font-size: var(--fs-sm);
23760
23833
  text-transform: uppercase;
23761
23834
  font-weight: var(--fw-bold);
@@ -23763,37 +23836,37 @@ var tableCellHead = import_react155.css`
23763
23836
 
23764
23837
  // src/components/Table/Table.tsx
23765
23838
  var import_jsx_runtime132 = require("@emotion/react/jsx-runtime");
23766
- var Table = React25.forwardRef(
23839
+ var Table = React24.forwardRef(
23767
23840
  ({ children, cellPadding, ...otherProps }, ref) => {
23768
23841
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("table", { ref, css: table({ cellPadding }), ...otherProps, children });
23769
23842
  }
23770
23843
  );
23771
- var TableHead = React25.forwardRef(
23844
+ var TableHead = React24.forwardRef(
23772
23845
  ({ children, ...otherProps }, ref) => {
23773
23846
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
23774
23847
  }
23775
23848
  );
23776
- var TableBody = React25.forwardRef(
23849
+ var TableBody = React24.forwardRef(
23777
23850
  ({ children, ...otherProps }, ref) => {
23778
23851
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("tbody", { ref, ...otherProps, children });
23779
23852
  }
23780
23853
  );
23781
- var TableFoot = React25.forwardRef(
23854
+ var TableFoot = React24.forwardRef(
23782
23855
  ({ children, ...otherProps }, ref) => {
23783
23856
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("tfoot", { ref, ...otherProps, children });
23784
23857
  }
23785
23858
  );
23786
- var TableRow = React25.forwardRef(
23859
+ var TableRow = React24.forwardRef(
23787
23860
  ({ children, ...otherProps }, ref) => {
23788
23861
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
23789
23862
  }
23790
23863
  );
23791
- var TableCellHead = React25.forwardRef(
23864
+ var TableCellHead = React24.forwardRef(
23792
23865
  ({ children, ...otherProps }, ref) => {
23793
23866
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
23794
23867
  }
23795
23868
  );
23796
- var TableCellData = React25.forwardRef(
23869
+ var TableCellData = React24.forwardRef(
23797
23870
  ({ children, ...otherProps }, ref) => {
23798
23871
  return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("td", { ref, ...otherProps, children });
23799
23872
  }
@@ -23801,13 +23874,13 @@ var TableCellData = React25.forwardRef(
23801
23874
 
23802
23875
  // src/components/Tabs/Tabs.tsx
23803
23876
  init_emotion_jsx_shim();
23804
- var import_react157 = require("@ariakit/react");
23805
- var import_react158 = require("react");
23877
+ var import_react158 = require("@ariakit/react");
23878
+ var import_react159 = require("react");
23806
23879
 
23807
23880
  // src/components/Tabs/Tabs.styles.ts
23808
23881
  init_emotion_jsx_shim();
23809
- var import_react156 = require("@emotion/react");
23810
- var tabButtonStyles = import_react156.css`
23882
+ var import_react157 = require("@emotion/react");
23883
+ var tabButtonStyles = import_react157.css`
23811
23884
  align-items: center;
23812
23885
  border: 0;
23813
23886
  height: 2.5rem;
@@ -23824,7 +23897,7 @@ var tabButtonStyles = import_react156.css`
23824
23897
  box-shadow: inset 0 -2px 0 var(--brand-secondary-3);
23825
23898
  }
23826
23899
  `;
23827
- var tabButtonGroupStyles = import_react156.css`
23900
+ var tabButtonGroupStyles = import_react157.css`
23828
23901
  display: flex;
23829
23902
  gap: var(--spacing-base);
23830
23903
  border-bottom: 1px solid var(--gray-300);
@@ -23833,7 +23906,7 @@ var tabButtonGroupStyles = import_react156.css`
23833
23906
  // src/components/Tabs/Tabs.tsx
23834
23907
  var import_jsx_runtime133 = require("@emotion/react/jsx-runtime");
23835
23908
  var useCurrentTab = () => {
23836
- const context = (0, import_react157.useTabStore)();
23909
+ const context = (0, import_react158.useTabStore)();
23837
23910
  if (!context) {
23838
23911
  throw new Error("This component can only be used inside <Tabs>");
23839
23912
  }
@@ -23847,13 +23920,12 @@ var Tabs = ({
23847
23920
  manual,
23848
23921
  ...props
23849
23922
  }) => {
23850
- const selected = (0, import_react158.useMemo)(() => {
23851
- if (selectedId)
23852
- return selectedId;
23923
+ const selected = (0, import_react159.useMemo)(() => {
23924
+ if (selectedId) return selectedId;
23853
23925
  return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
23854
23926
  }, [selectedId, useHashForState]);
23855
- const tab = (0, import_react157.useTabStore)({ ...props, selectOnMove: !manual, selectedId: selected });
23856
- const onTabSelect = (0, import_react158.useCallback)(
23927
+ const tab = (0, import_react158.useTabStore)({ ...props, selectOnMove: !manual, selectedId: selected });
23928
+ const onTabSelect = (0, import_react159.useCallback)(
23857
23929
  (value) => {
23858
23930
  const selectedValueWithoutNull = value != null ? value : void 0;
23859
23931
  onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
@@ -23864,28 +23936,28 @@ var Tabs = ({
23864
23936
  },
23865
23937
  [onSelectedIdChange, useHashForState]
23866
23938
  );
23867
- (0, import_react158.useEffect)(() => {
23939
+ (0, import_react159.useEffect)(() => {
23868
23940
  if (selected && selected !== tab.getState().activeId) {
23869
23941
  tab.setSelectedId(selected);
23870
23942
  }
23871
23943
  }, [selected, tab]);
23872
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react157.TabProvider, { store: tab, setSelectedId: onTabSelect, children });
23944
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react158.TabProvider, { store: tab, setSelectedId: onTabSelect, children });
23873
23945
  };
23874
23946
  var TabButtonGroup = ({ children, ...props }) => {
23875
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react157.TabList, { ...props, css: tabButtonGroupStyles, children });
23947
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react158.TabList, { ...props, css: tabButtonGroupStyles, children });
23876
23948
  };
23877
23949
  var TabButton = ({
23878
23950
  children,
23879
23951
  id,
23880
23952
  ...props
23881
23953
  }) => {
23882
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react157.Tab, { type: "button", id, ...props, css: tabButtonStyles, children });
23954
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react158.Tab, { type: "button", id, ...props, css: tabButtonStyles, children });
23883
23955
  };
23884
23956
  var TabContent = ({
23885
23957
  children,
23886
23958
  ...props
23887
23959
  }) => {
23888
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react157.TabPanel, { ...props, children });
23960
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react158.TabPanel, { ...props, children });
23889
23961
  };
23890
23962
 
23891
23963
  // src/components/Validation/StatusBullet.tsx
@@ -23893,8 +23965,8 @@ init_emotion_jsx_shim();
23893
23965
 
23894
23966
  // src/components/Validation/StatusBullet.styles.ts
23895
23967
  init_emotion_jsx_shim();
23896
- var import_react159 = require("@emotion/react");
23897
- var StatusBulletContainer = import_react159.css`
23968
+ var import_react160 = require("@emotion/react");
23969
+ var StatusBulletContainer = import_react160.css`
23898
23970
  align-items: center;
23899
23971
  align-self: center;
23900
23972
  color: var(--gray-500);
@@ -23911,33 +23983,33 @@ var StatusBulletContainer = import_react159.css`
23911
23983
  display: block;
23912
23984
  }
23913
23985
  `;
23914
- var StatusBulletBase = import_react159.css`
23986
+ var StatusBulletBase = import_react160.css`
23915
23987
  font-size: var(--fs-sm);
23916
23988
  &:before {
23917
23989
  width: var(--fs-xs);
23918
23990
  height: var(--fs-xs);
23919
23991
  }
23920
23992
  `;
23921
- var StatusBulletSmall = import_react159.css`
23993
+ var StatusBulletSmall = import_react160.css`
23922
23994
  font-size: var(--fs-xs);
23923
23995
  &:before {
23924
23996
  width: var(--fs-xxs);
23925
23997
  height: var(--fs-xxs);
23926
23998
  }
23927
23999
  `;
23928
- var StatusDraft = import_react159.css`
24000
+ var StatusDraft = import_react160.css`
23929
24001
  &:before {
23930
24002
  background: var(--white);
23931
24003
  box-shadow: inset 0 0 0 0.125rem var(--accent-dark);
23932
24004
  }
23933
24005
  `;
23934
- var StatusModified = import_react159.css`
24006
+ var StatusModified = import_react160.css`
23935
24007
  &:before {
23936
24008
  background: linear-gradient(to right, var(--white) 50%, var(--accent-dark) 50% 100%);
23937
24009
  box-shadow: inset 0 0 0 0.125rem var(--accent-dark);
23938
24010
  }
23939
24011
  `;
23940
- var StatusError = import_react159.css`
24012
+ var StatusError = import_react160.css`
23941
24013
  color: var(--error);
23942
24014
  &:before {
23943
24015
  /* TODO: replace this with an svg icon */
@@ -23950,22 +24022,22 @@ var StatusError = import_react159.css`
23950
24022
  );
23951
24023
  }
23952
24024
  `;
23953
- var StatusPublished = import_react159.css`
24025
+ var StatusPublished = import_react160.css`
23954
24026
  &:before {
23955
24027
  background: var(--accent-dark);
23956
24028
  }
23957
24029
  `;
23958
- var StatusOrphan = import_react159.css`
24030
+ var StatusOrphan = import_react160.css`
23959
24031
  &:before {
23960
24032
  background: var(--brand-secondary-5);
23961
24033
  }
23962
24034
  `;
23963
- var StatusUnknown = import_react159.css`
24035
+ var StatusUnknown = import_react160.css`
23964
24036
  &:before {
23965
24037
  background: var(--gray-800);
23966
24038
  }
23967
24039
  `;
23968
- var StatusDeleted = import_react159.css`
24040
+ var StatusDeleted = import_react160.css`
23969
24041
  &:before {
23970
24042
  background: var(--error);
23971
24043
  }
@@ -24259,6 +24331,7 @@ var StatusBullet = ({
24259
24331
  useIconContext,
24260
24332
  useOutsideClick,
24261
24333
  useParameterShell,
24334
+ usePopoverComponentContext,
24262
24335
  useShortcut,
24263
24336
  utilityColors,
24264
24337
  warningIcon,