@stackone/malachite 2.37.1 → 2.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/COMPONENTS.md +7 -2
  2. package/dist/ShadowRootWrapper.js +33 -59
  3. package/dist/ShadowRootWrapper.js.map +1 -1
  4. package/dist/assets/icons/account.svg.js +2 -2
  5. package/dist/assets/icons/account.svg.js.map +1 -1
  6. package/dist/assets/icons/building.svg.js +6 -0
  7. package/dist/assets/icons/building.svg.js.map +1 -0
  8. package/dist/assets/icons/chevrons_up_down.svg.js +6 -0
  9. package/dist/assets/icons/chevrons_up_down.svg.js.map +1 -0
  10. package/dist/assets/icons/connector.svg.js +6 -0
  11. package/dist/assets/icons/connector.svg.js.map +1 -0
  12. package/dist/assets/icons/external_link.svg.js +6 -0
  13. package/dist/assets/icons/external_link.svg.js.map +1 -0
  14. package/dist/assets/icons/field_coverage.svg.js +6 -0
  15. package/dist/assets/icons/field_coverage.svg.js.map +1 -0
  16. package/dist/assets/icons/layout.svg.js +6 -0
  17. package/dist/assets/icons/layout.svg.js.map +1 -0
  18. package/dist/assets/icons/link.svg.js +6 -0
  19. package/dist/assets/icons/link.svg.js.map +1 -0
  20. package/dist/assets/icons/playground.svg.js +6 -0
  21. package/dist/assets/icons/playground.svg.js.map +1 -0
  22. package/dist/components/ActionMenu.js +142 -171
  23. package/dist/components/ActionMenu.js.map +1 -1
  24. package/dist/components/ActionMenuTagHost.js +19 -0
  25. package/dist/components/ActionMenuTagHost.js.map +1 -0
  26. package/dist/components/Breadcrumbs.js +7 -7
  27. package/dist/components/Breadcrumbs.js.map +1 -1
  28. package/dist/components/Chat/ChatModelPicker.js +64 -60
  29. package/dist/components/Chat/ChatModelPicker.js.map +1 -1
  30. package/dist/components/CustomIcons/BuildingIcon.js +16 -0
  31. package/dist/components/CustomIcons/BuildingIcon.js.map +1 -0
  32. package/dist/components/CustomIcons/ChevronsUpDownIcon.js +16 -0
  33. package/dist/components/CustomIcons/ChevronsUpDownIcon.js.map +1 -0
  34. package/dist/components/CustomIcons/ConnectorIcon.js +16 -0
  35. package/dist/components/CustomIcons/ConnectorIcon.js.map +1 -0
  36. package/dist/components/CustomIcons/ExternalLinkIcon.js +16 -0
  37. package/dist/components/CustomIcons/ExternalLinkIcon.js.map +1 -0
  38. package/dist/components/CustomIcons/FieldCoverageIcon.js +16 -0
  39. package/dist/components/CustomIcons/FieldCoverageIcon.js.map +1 -0
  40. package/dist/components/CustomIcons/LayoutIcon.js +16 -0
  41. package/dist/components/CustomIcons/LayoutIcon.js.map +1 -0
  42. package/dist/components/CustomIcons/LinkIcon.js +16 -0
  43. package/dist/components/CustomIcons/LinkIcon.js.map +1 -0
  44. package/dist/components/CustomIcons/PlaygroundIcon.js +16 -0
  45. package/dist/components/CustomIcons/PlaygroundIcon.js.map +1 -0
  46. package/dist/components/CustomIcons/index.js +303 -279
  47. package/dist/components/CustomIcons/index.js.map +1 -1
  48. package/dist/components/NavItem.js +158 -0
  49. package/dist/components/NavItem.js.map +1 -0
  50. package/dist/components/Popover.js +262 -0
  51. package/dist/components/Popover.js.map +1 -0
  52. package/dist/components/PopoverParts.js +46 -0
  53. package/dist/components/PopoverParts.js.map +1 -0
  54. package/dist/components/QueryInput.js +103 -97
  55. package/dist/components/QueryInput.js.map +1 -1
  56. package/dist/components/SearchTrigger.js +37 -0
  57. package/dist/components/SearchTrigger.js.map +1 -0
  58. package/dist/components/Sidebar.js +174 -0
  59. package/dist/components/Sidebar.js.map +1 -0
  60. package/dist/components/Tooltip.js +97 -92
  61. package/dist/components/Tooltip.js.map +1 -1
  62. package/dist/components/UsageCard.js +44 -0
  63. package/dist/components/UsageCard.js.map +1 -0
  64. package/dist/components/actionMenuKeyboard.js +23 -0
  65. package/dist/components/actionMenuKeyboard.js.map +1 -0
  66. package/dist/components/actionMenuStyles.js +88 -0
  67. package/dist/components/actionMenuStyles.js.map +1 -0
  68. package/dist/components/ariaState.js +5 -0
  69. package/dist/components/ariaState.js.map +1 -0
  70. package/dist/components/chromeStyles.js +6 -0
  71. package/dist/components/chromeStyles.js.map +1 -0
  72. package/dist/components/composeRefs.js +27 -0
  73. package/dist/components/composeRefs.js.map +1 -0
  74. package/dist/components/floatingMenuGeometry.js +74 -35
  75. package/dist/components/floatingMenuGeometry.js.map +1 -1
  76. package/dist/components/overlayBehaviour.js +90 -84
  77. package/dist/components/overlayBehaviour.js.map +1 -1
  78. package/dist/components/popoverTree.js +14 -0
  79. package/dist/components/popoverTree.js.map +1 -0
  80. package/dist/components/portalOverlay.js +28 -22
  81. package/dist/components/portalOverlay.js.map +1 -1
  82. package/dist/components/sidebarContext.js +9 -0
  83. package/dist/components/sidebarContext.js.map +1 -0
  84. package/dist/components/topLayer.js +18 -18
  85. package/dist/components/topLayer.js.map +1 -1
  86. package/dist/components/useActionMenuPosition.js +80 -0
  87. package/dist/components/useActionMenuPosition.js.map +1 -0
  88. package/dist/components/useHoverClose.js +18 -0
  89. package/dist/components/useHoverClose.js.map +1 -0
  90. package/dist/components/useLatestRef.js +11 -0
  91. package/dist/components/useLatestRef.js.map +1 -0
  92. package/dist/components/usePopoverPosition.js +62 -0
  93. package/dist/components/usePopoverPosition.js.map +1 -0
  94. package/dist/components/usePopoverTree.js +34 -0
  95. package/dist/components/usePopoverTree.js.map +1 -0
  96. package/dist/index.d.ts +394 -100
  97. package/dist/index.js +365 -335
  98. package/dist/index.js.map +1 -1
  99. package/dist/tailwind.css.js +1 -1
  100. package/dist/tailwindSheet.js +35 -0
  101. package/dist/tailwindSheet.js.map +1 -0
  102. package/package.json +1 -1
package/COMPONENTS.md CHANGED
@@ -25,6 +25,7 @@ The catalog of components exported from `@stackone/malachite`. **Reach for one o
25
25
  - **`Divider`** — Separator; supports a dashed line style. Horizontal by default and spanning its container; `orientation="vertical"` draws a rule between inline controls (e.g. groups in a toolbar) and holds its width in a tight flex row. `length` sizes it along its own axis on a fixed scale, and it never shrinks below 1px. _Key props:_ `orientation="horizontal" | "vertical"`, `length` (`small` | `medium` | `large`), `lineStyle="solid" | "dashed"`, `DividerVariant`, `SpacingSize`, `PaddingSize`.
26
26
  - **`OverflowRow`** — Horizontal row that collapses items that do not fit into an overflow affordance.
27
27
  - **`ActionBar`** — A row of actions that collapses into a single `ActionMenu` once its container drops below `collapseBelow`. Measures the nearest genuinely-wider ancestor rather than itself, since the row shrinks to its own content. `dividerBefore` renders a vertical rule in the row and a divider in the collapsed menu, so both forms group the actions the same way. _Key props:_ `buttons` (`label`, `onClick`, `icon`, `variant`, `size`, `radius`, `tooltip`, `disabled`, `dividerBefore`), `collapseBelow`, `menuLabel`, `className`.
28
+ - **`Popover`** — An anchored, non-modal panel for arbitrary content — a workspace switcher, an org flyout. The panel renders in its own shadow root, so malachite components inside it are styled, and joins the top layer like the other overlays. It prefers its `placement` and flips to the opposite side when there is no room, clamping along the other axis. Click-opened panels take focus and hand it back to the trigger on close; `openOn="hover"` also opens on focus and stays open while the pointer or focus is in the panel. A nested Popover counts as inside its parent for outside-press and hover dismissal, and Escape closes the topmost only. A click panel also closes when focus moves somewhere outside it and its trigger, and on close it hands focus back to the trigger only if focus would otherwise fall to the page. _Key props:_ `trigger`, `children`, `open`, `defaultOpen`, `onOpenChange`, `placement` (`bottom-start` | `bottom-end` | `top-start` | `top-center` | `right-start` | `right-end` | `left-start`), `openOn` (`click` | `hover`), `width` (`content` | `trigger`), `padding` (`none` | `small` | `medium`), `anchorRef` (position against another element, e.g. the section a trigger row sits in), `offset` (`small` 8px | `medium` 12px | `large` 14px), `elevation` (`default` | `raised`), `initialFocusRef` (what takes focus on open, in place of the first focusable), `role` (`dialog` | `menu` | `listbox`; `menu` brings no roving focus of its own), `aria-label` or `aria-labelledby` (one is required), `className`. The panel is capped to the viewport width, and only overlays opened from inside it (menus, dropdowns, modals) count as inside for outside-press dismissal. A side placement stays level with its anchor and scrolls within the room below, sliding up only when under 160px is left. Parts for the panel body: `Popover.Header` (`title`, `action`), `Popover.Action` (`icon`, `aria-label`, `onClick`, `disabled`, `tooltip`), `Popover.List` (a scrolling list), `Popover.Section` (a bordered section) and `Popover.Empty` (an empty-state line).
28
29
  - **`Modal`** — Centred dialog over a scrim, with header slots (icon/title/subtitle/extra), a scrolling body and a pinned footer. Locks background scroll and dismisses on ESC, the close button, or a scrim click unless `closeOnOverlayClick` is off; `busy` suppresses the two pointer routes while a request is in flight and sets `aria-busy`, so a stray click cannot tear the dialog down mid-write — but never ESC, which is the only guaranteed keyboard exit from a focus trap and so always reaches `onClose`. ESC, the Tab focus trap and `aria-modal` all apply to the topmost overlay only, so these may be stacked — a dialog opened from a panel keeps Tab to itself and the panel stops claiming to be modal. Set `role="alertdialog"` for a consequential choice, which asks assistive tech to announce the body and not just the name, and point `aria-describedby` at whichever element carries it. Width comes from the `size` union (`small` 420px | `medium` 612px | `large` 760px) rather than a raw pixel prop. `titleAdornment` sits immediately after the title behind a hairline divider, for naming the thing being acted on — distinct from `headerExtra`, which pins to the far right. `tray` paints a tinted plate around the card and hangs a `caption` beneath it; the plate is the dialog element itself, so that caption stays inside the `aria-modal` subtree rather than being stranded outside it by the visual nesting, and it is added to `aria-describedby` automatically because it says what the dialog is asking. It takes a tone (`neutral` | `warning` | `error` | `success`) rather than a colour, so no consumer can paint it off-palette — and the tone sets the plate and its caption colour together, so the two cannot disagree. The caption is a `{ label?, message }` pair rather than a node, because its row height, type scale and colour belong to the plate. `size` names the card, and the plate’s 4px ring is added on top. Like `SidePanel` it sits in a z-index band from 1000 — one step per stacked overlay, so what paints on top is what holds the keyboard — and stays out of the browser top layer, so a host app’s own dialogs can still cover it. For a confirmation use `ConfirmationDialog`, which is a preset over this. _Key props:_ `open`, `onClose`, `title`, `subtitle`, `icon`, `headerExtra`, `titleAdornment`, `tray`, `headerDivider`, `footer`, `size`, `showCloseButton`, `closeOnOverlayClick`, `bodyPadding`, `busy`, `role` (`dialog` | `alertdialog`), `aria-label`, `aria-labelledby`, `aria-describedby`.
29
30
  - **`SidePanel`** — Right-hand slide-in overlay panel (drawer) with header slots (back/icon/title/subtitle/extra), scrollable body and optional footer. Locks background scroll and dismisses on ESC, an overlay click or close. ESC and the Tab focus trap apply to the topmost overlay only, so a `Modal` may be stacked over it.
30
31
  - **`useHasOpenOverlay`** — Hook reporting whether any modal-type overlay - `SidePanel` or `Modal` - is open anywhere in the app. For host chrome that has to get out of an overlay’s way, a floating support widget being the case it was added for: overlays render through a portal, so a host has no DOM signal of its own to read, and reading the library’s internal markers would couple it to something it does not own. Dropdowns and tooltips are deliberately not counted - they do not trap focus, and chrome does not need to move for them. _Key props:_ No arguments. Returns a boolean.
@@ -38,11 +39,12 @@ The catalog of components exported from `@stackone/malachite`. **Reach for one o
38
39
  - **`StatBadge`** — Pill showing a numeric value with a label (e.g. "3 accounts selected"). _Key props:_ `count`, `label`.
39
40
  - **`Tag`** — Small status/label tag. Types: success, error, warning, default. _Key props:_ `value`, `type`, `paddingSize`, `textTransform`, `WidthSize`.
40
41
  - **`NumberTag`** — Compact numeric badge/counter.
42
+ - **`UsageCard`** — A small metered card: a title (optionally a link via `titleLink`, drawn with a trailing arrow), a right-aligned `detail` such as "700/1,000", and a body, usually a `Progress`. Used by `Sidebar.Usage`, and fine on its own, e.g. on a billing page. _Key props:_ `title`, `titleLink`, `detail`, `children`, `aria-label` (required; names the group), `busy` (sets `aria-busy` only).
41
43
  - **`Progress`** — Progress bar.
42
44
  - **`LoadingBar`** — Indeterminate full-width loading line; the variant colour sweeps across a pale track for work of unknown duration. Toggle `active` rather than unmounting, so the reserved height prevents layout shift. _Key props:_ `active`, `LoadingBarVariant` (`default` | `warning` | `error`), `LoadingBarSize` (`small` | `medium` | `large`), `aria-label`, `aria-labelledby`, `className`, `style`.
43
45
  - **`Spinner`** — Loading spinner.
44
46
  - **`Skeleton`** — Loading placeholders. Includes `Skeleton.Avatar` and `Skeleton.Input`.
45
- - **`Tooltip`** — Hover/focus tooltip; also works on disabled controls (see CLAUDE.md). It describes its trigger once shown, so `describesTrigger={false}` where the same sentence is already on screen and referenced — otherwise a screen reader reads it twice. _Key props:_ `text`, `placement`, `delay`, `maxWidth`, `shouldShow`, `triggerAs`, `describesTrigger`, `isShrinkable`, `fill`, `wrapChildren`.
47
+ - **`Tooltip`** — Hover/focus tooltip; also works on disabled controls (see CLAUDE.md). It describes its trigger once shown, so `describesTrigger={false}` where the same sentence is already on screen and referenced — otherwise a screen reader reads it twice. _Key props:_ `text`, `placement`, `delay`, `maxWidth`, `shouldShow`, `triggerAs`, `describesTrigger`, `isShrinkable`, `fill`, `wrapChildren`, `suppressed` (holds the tooltip back, e.g. while the popup its trigger opens is up).
46
48
  - **`TruncatedTooltip`** — Shows a tooltip only when its text is truncated.
47
49
  - **`Confetti`** — Celebratory confetti burst for success moments. _Key props:_ `pieces`.
48
50
  - **`ConfirmationDialog`** — Asks the customer to confirm one consequential action — a preset over `Modal`, not a second dialog implementation. `variant` picks a whole coherent set at once (badge fill, tray tint, caption colour, badge icon and confirm-button variant), so `destructive` cannot end up with a non-destructive confirm button; `destructive` also renders as `role="alertdialog"`, and `description` is wired to the dialog through `aria-describedby`, so the consequence is announced and not just the title. `confirmPhrase` gates the confirm action on typing that exact phrase, for a consequence severe enough that one click should not be able to cause it — the typed value is trimmed, since copying a name picks up a trailing space, but stays case-sensitive, and the field clears each time the dialog opens, being a per-decision gate rather than a value. Neither a destructive dialog nor one carrying a `confirmPhrase` dismisses on a scrim click, and `loading` suppresses the pointer routes — the scrim and the close button — as well as disabling the buttons. It never suppresses ESC: that is the only guaranteed keyboard exit from a focus trap, so it always reaches `onClose` and whether to abort is left to the caller. ESC reaches it whenever it is the topmost overlay, so it can be opened over a panel. `callout` renders an `Alert` in a full-width band at the top of the body — it scrolls with the body rather than being pinned under the header — and its `type` is chosen independently of `variant` — the frames pair a green badge with an amber callout. `titleAdornment` names the entity beside the title, `badgeIcon` overrides the variant’s glyph for an action-specific one, and `tip` is the `{ label?, message }` caption on the tray beneath the card, which `Modal` renders and describes. `children` is where extra body content goes. `onConfirm` does not close the dialog, so the caller can hold it open on `loading` while the request is in flight. `confirmPhraseLabel` also takes `{ prefix, suffix }`, which renders the phrase itself as a copyable token between the two — the gate is case-sensitive and space-exact, so a customer who has identified the right entity should not be locked out by a glyph they cannot tell apart. The copy control sits outside the element that names the field, so “Copy…” never lands in the field’s accessible name; `confirmPhraseCopyLabel` names it and `onPhraseCopied` reports a completed write with the phrase it copied. A rejected write says so in the field rather than failing silently, and the control is disabled where the Clipboard API is unavailable. A near miss is named rather than left to a disabled button: typing the phrase with the wrong case or the wrong spacing says which, once the whole phrase is there, and that message is the field’s `aria-describedby`. _Key props:_ `open`, `onClose`, `onConfirm`, `title`, `description`, `titleAdornment`, `badgeIcon`, `variant` (`default` | `warning` | `destructive` | `success`), `callout`, `confirmPhrase`, `confirmPhraseLabel`, `confirmPhraseCopyLabel`, `confirmPhrasePlaceholder`, `onPhraseCopied`, `confirmLabel`, `cancelLabel`, `loading`, `tip`, `size`, `aria-label`, `aria-labelledby`.
@@ -56,7 +58,10 @@ The catalog of components exported from `@stackone/malachite`. **Reach for one o
56
58
  - **`PreviewTreeRow`** — A single labelled row within a PreviewTree. _Key props:_ `label`.
57
59
  - **`Tabs`** — Tabbed navigation switching between content panels. `trailing` puts content on the same row, settled against its end — a count, a scope picker, the state the tabs are showing — inside the rule this component already draws. Without it a consumer had to redraw that rule to carry it past the tabs, and the tab list, which cannot wrap, would not yield any width to what sat beside it. The tabs hold their width and the trailing content gives ground; the `tablist` role stays on the tabs alone, so the extra content is not announced as one. _Key props:_ `TabItem[]`, `activeKey`, `onChange`, `trailing`, `className`, `style`.
58
60
  - **`Breadcrumbs`** — Breadcrumb trail with caret separators, an optional back button (shown only when there is more than one crumb AND the parent — the second-to-last — carries a `url` to target) and a right-aligned `actions` row. A lone crumb marked `isRoot` switches to title mode: plain emphasised text, no trail chrome, but the `actions` row still renders. Renders as a `nav`/`ol` with `aria-current="page"` on the last crumb. Pass `renderLink` to route crumbs through the app's own router instead of a plain `<a>`. Used by `PageLayout`, but standalone too. _Key props:_ `links[]` (`name`, `url`, `isRoot`), `actions[]`, `renderLink`, `className`, `style`.
59
- - **`ActionMenu`** — Dropdown menu of actions (kebab/overflow style). The trigger is an icon-only `Button` by default, so `size` draws exactly the square a `Button` of that size draws beside it: `xsmall` is Figma's 20px "Button Element - Square (X-Small)", `small` the 28px rung above it. Both squares are fixed rather than read off the `controlHeights` tokens, so re-theming those does not resize the trigger. A supplied `triggerIcon` is held to the tier's glyph size — 11px at `xsmall`, 16px at `small`. At 20px the `xsmall` trigger meets WCAG 2.5.8 through the *Spacing* exception rather than the 24px minimum, so keep at least 4px between adjacent triggers. `showLabel` draws `label` beside the icon instead of leaving it to the accessible name — for a menu that is the point of its corner rather than an overflow for a row that already says what it acts on — and `variant` puts the trigger on any `Button` variant, so a menu handing work to the assistant can wear the assistant ground rather than the overflow-kebab outline. An item's `icon` leads its label: every caller's names the action itself — copy, open, delete — and an icon that is part of an item's identity belongs where the eye starts rather than right-aligned, where it reads as a status column. The menu is Figma's `Dropdown Component - Options List`: a fixed sized to its widest item between a 180px floor and the 280px Figma draws, pinned to the trigger's right edge, 14px below it, rounding tighter (10px) and padding wider (8px) than the menu a `Dropdown` opens. A ceiling rather than a flat width: taken literally it gave a menu of four short verbs 130px of air and made every kebab in an app the same width whatever it held. `minWidth` only raises it above that ceiling, so it is the one way to go past 280px, and a label too long for the box truncates rather than wrapping. _Key props:_ `ActionMenuItem[]`, `size`, `label`, `triggerIcon`, `minWidth`, `showLabel`, `variant`.
61
+ - **`ActionMenu`** — Dropdown menu of actions (kebab/overflow style). The trigger is an icon-only `Button` by default, so `size` draws exactly the square a `Button` of that size draws beside it: `xsmall` is Figma's 20px "Button Element - Square (X-Small)", `small` the 28px rung above it. Both squares are fixed rather than read off the `controlHeights` tokens, so re-theming those does not resize the trigger. A supplied `triggerIcon` is held to the tier's glyph size — 11px at `xsmall`, 16px at `small`. At 20px the `xsmall` trigger meets WCAG 2.5.8 through the *Spacing* exception rather than the 24px minimum, so keep at least 4px between adjacent triggers. `showLabel` draws `label` beside the icon instead of leaving it to the accessible name — for a menu that is the point of its corner rather than an overflow for a row that already says what it acts on — and `variant` puts the trigger on any `Button` variant, so a menu handing work to the assistant can wear the assistant ground rather than the overflow-kebab outline. An item's `icon` leads its label: every caller's names the action itself — copy, open, delete — and an icon that is part of an item's identity belongs where the eye starts rather than right-aligned, where it reads as a status column. The menu is Figma's `Dropdown Component - Options List`: a fixed sized to its widest item between a 180px floor and the 280px Figma draws, by default under the trigger's right edge, 14px below it, flipping above or clamping sideways when the viewport has no room, rounding at the library's 12px and padding wider (8px) than the menu a `Dropdown` opens. Items read in the primary text colour, or the secondary one with `tone="muted"` (e.g. a sidebar's menus); destructive ones in red. A ceiling rather than a flat width: taken literally it gave a menu of four short verbs 130px of air and made every kebab in an app the same width whatever it held. `minWidth` only raises it above that ceiling, so it is the one way to go past 280px, and a label too long for the box truncates rather than wrapping. _Key props:_ `ActionMenuItem[]`, `size`, `label`, `triggerIcon`, `minWidth`, `showLabel`, `variant`, `tone` (`default` | `muted`), `trigger` (your own control in place of the kebab, cloned with the menu's ref and aria state), `placement` (`bottom-end` default | `bottom-start` | `right-start` | `top-start` | `top-center`), `offset` (`small` 8px | `medium` 12px | `large` 14px; applies to every placement; without it the default `bottom-end` keeps the options menu's 14px and the others use 8px). An item's `tag` (e.g. an "Early access" `Tag`) follows its label in a lazily loaded shadow host of its own, since the menu renders into `document.body`, and joins its accessible name; `current: true` marks the item for the page the user is on (`aria-current="page"` and the selected row paint; a `danger` item keeps its red text). An item with `type: 'text'` is context rather than an action (an account's email above its actions): secondary text the arrow keys skip. Opened from the keyboard, focus lands on the first item; Up/Down/Home/End move through enabled items, Tab closes the menu and moves on as usual; Escape or a picked item returns focus to the trigger.
62
+ - **`NavItem`** — A row in an app's side navigation. Idle rows read secondary and take the list hover; the `active` row wears the accent tint and sets `aria-current="page"` on a link. `collapsed` shrinks it to a 36px icon tile whose label becomes the accessible name and a right-hand tooltip, with any `badge` pinned to the tile's corner. `variant="subitem"` indents a child row behind a dot instead of an icon; `disclosure` makes a group header button with `aria-expanded` and a rotating chevron, and `hasActiveChild` colours its text while a child is current. Renders an `<a>` with `href`, the element passed with `asChild` (a router `Link`), or a `<button>`, and forwards its ref and extra attributes so it can be a `Popover` or `ActionMenu` trigger. _Key props:_ `label`, `icon`, `active`, `hasActiveChild`, `collapsed`, `variant` (`item` | `subitem`), `danger`, `trailing`, `badge`, `disclosure` (`expanded` | `collapsed`), `tooltip`, `accessibleLabel` (overrides the accessible name; collapsed it defaults to the tooltip text plus `badgeLabel`), `href`, `target`, `rel`, `onClick`, `asChild` + `children`, `className`, `size` (`medium` | `small`, the tighter row for lists inside a popover), `tag` (beside the label, e.g. early access), `badgeLabel` (read in place of the badge and added to the collapsed name). A passed `aria-expanded` (e.g. from a `Popover`) wins over `disclosure`, and a button row forwards a passed `aria-current`.
63
+ - **`Sidebar`** — An app's left navigation shell, pinned to the viewport's left edge: 260px wide, 60px `collapsed`, on the sunken page background. Composed from `Sidebar.Header` (a 56px band for `Sidebar.Switcher`, the logo + workspace + parent trigger), `Sidebar.Body` (the part that scrolls), `Sidebar.Notices`, `Sidebar.Search`, `Sidebar.Section` (rows of `NavItem`s at the gutter), `Sidebar.Group` + `Sidebar.GroupItems` (a disclosure header and its sub-items), `Sidebar.Divider`, `Sidebar.Usage` (a `UsageCard` placed at the sidebar's gutter) and `Sidebar.Footer` holding `Sidebar.Account`. Popovers opened from it (with `padding="none"`) wrap their body in `Sidebar.Panel`, sized so the popover comes to `SIDEBAR_POPOVER_WIDTH_PX`, and build it from the `Popover` parts. `onToggleCollapse` adds the edge toggle, shown in CSS while the pointer is over the sidebar or a keyboard focus is inside it. Notices, the divider and the usage card hide while collapsed. _Key props:_ `collapsed`, `onToggleCollapse`, `expandLabel`, `collapseLabel`, `aria-label`; `Sidebar.Switcher`: `logo`, `title`, `subtitle` + button attributes; `Sidebar.Account`: `avatar` or `initials` (a small chip when there is no photo), `name` + button attributes; `Sidebar.Usage`: the `UsageCard` props; `Sidebar.Notices`: `aria-label` (required). `useSidebarCollapsed()` reads the state from inside; `SIDEBAR_WIDTH_PX` gives the page its offset beside the sidebar.
64
+ - **`SearchTrigger`** — A button drawn as a filled search field, for opening a command palette or search dialog from app chrome such as a sidebar. It is not an input — typing happens in what it opens. `shortcut` draws flat `<kbd>` chips at the end (not `Keycap`, whose raised shadow reads as a second button inside a filled field), kept out of the accessible name; `iconOnly` makes a 36px icon tile matching a collapsed `NavItem`, named by `label`. _Key props:_ `label` (default `Search`), `shortcut` (`ReactNode[]`), `iconOnly`, `aria-label`, `className`, plus native button attributes (`onClick`, `aria-haspopup`, `aria-expanded`, `aria-keyshortcuts`).
60
65
  - **`FooterNav`** — Footer navigation bar of links. _Key props:_ `FooterNavLink[]`.
61
66
  - **`FooterLinks`** — Inline list of footer links (e.g. terms, privacy, support).
62
67
  - **`StepTabs`** — Header for a short, ordered flow — a two-step drawer or wizard panel. Each step is a button carrying `aria-current="step"`, not a tab: the body beneath is the step’s form, so it keeps the normal tab order instead of adopting a `tablist`’s arrow-key contract. States are current / complete (a check, still reachable so the user can go back) / upcoming. For a read-only progress readout use `Stepper`. _Key props:_ `items` (`key`, `label`, `hint`, `disabled`), `activeKey`, `completedKeys`, `onChange`, `aria-label`, `aria-labelledby`, `className`.
@@ -1,83 +1,57 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { useRef as w, useCallback as F, useState as C, useEffect as h } from "react";
3
- import { createPortal as R } from "react-dom";
4
- import { ensureGeistFontFace as T } from "./geist-font.js";
5
- import { ensureInterFontFace as g } from "./inter-font.js";
6
- import { ensureStackSansFontFace as E } from "./stack-sans-font.js";
7
- import p from "./tailwind.css.js";
8
- import { ensureThemeInitialized as k, applyThemeVars as v, registerShadowRoot as A, unregisterShadowRoot as I } from "./theme.js";
9
- let s = null, S = !1;
10
- const L = () => {
11
- if (s || S)
12
- return s;
13
- if (S = !0, typeof CSSStyleSheet > "u")
14
- return null;
15
- try {
16
- const e = new CSSStyleSheet();
17
- e.replaceSync(p), s = e;
18
- } catch (e) {
19
- console.error("Failed to construct Tailwind stylesheet:", e);
20
- }
21
- return s;
22
- }, f = "malachite-tailwind-style", _ = (e, r) => {
23
- if (!("adoptedStyleSheets" in e))
24
- return !1;
25
- try {
26
- return e.adoptedStyleSheets.includes(r) || (e.adoptedStyleSheets = [...e.adoptedStyleSheets, r]), !0;
27
- } catch {
28
- return !1;
29
- }
30
- }, b = (e, r) => {
31
- if (e.querySelector(`#${f}`))
32
- return;
33
- const n = document.createElement("style");
34
- n.id = f, n.textContent = r, e.appendChild(n);
35
- }, V = ({ children: e, theme: r, hostStyle: n, hostProps: c, hostRef: i, fillHeight: m = !1 }) => {
36
- const a = w(null), d = F(
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { useRef as m, useCallback as p, useState as h, useEffect as c } from "react";
3
+ import { createPortal as w } from "react-dom";
4
+ import { ensureGeistFontFace as S } from "./geist-font.js";
5
+ import { ensureInterFontFace as R } from "./inter-font.js";
6
+ import { ensureStackSansFontFace as F } from "./stack-sans-font.js";
7
+ import { adoptTailwindSheet as g } from "./tailwindSheet.js";
8
+ import { ensureThemeInitialized as y, applyThemeVars as k, registerShadowRoot as v, unregisterShadowRoot as T } from "./theme.js";
9
+ const W = ({ children: d, theme: e, hostStyle: i, hostProps: s, hostRef: a, fillHeight: l = !1 }) => {
10
+ const t = m(null), u = p(
37
11
  (o) => {
38
- a.current = o, i && (i.current = o);
12
+ t.current = o, a && (a.current = o);
39
13
  },
40
- [i]
41
- ), [t, y] = C(null);
42
- return h(() => {
43
- if (a.current && !t) {
44
- const o = a.current.shadowRoot ?? a.current.attachShadow({ mode: "open" }), u = L();
45
- (!u || !_(o, u)) && b(o, p), y(o);
14
+ [a]
15
+ ), [r, f] = h(null);
16
+ return c(() => {
17
+ if (t.current && !r) {
18
+ const o = t.current.shadowRoot ?? t.current.attachShadow({ mode: "open" });
19
+ g(o), f(o);
46
20
  }
47
- }, [t]), h(() => {
48
- if (t) {
49
- if (k(), g(), T(), E(), r) {
50
- v(t, r);
21
+ }, [r]), c(() => {
22
+ if (r) {
23
+ if (y(), R(), S(), F(), e) {
24
+ k(r, e);
51
25
  return;
52
26
  }
53
- return A(t), () => {
27
+ return v(r), () => {
54
28
  try {
55
- I(t);
29
+ T(r);
56
30
  } catch (o) {
57
31
  console.warn("Error during shadow root cleanup:", o);
58
32
  }
59
33
  };
60
34
  }
61
- }, [t, r]), t === null ? /* @__PURE__ */ l(
35
+ }, [r, e]), r === null ? /* @__PURE__ */ n(
62
36
  "div",
63
37
  {
64
- ...c,
65
- ref: d,
38
+ ...s,
39
+ ref: u,
66
40
  "data-testid": "shadow-root-wrapper",
67
- style: n
41
+ style: i
68
42
  }
69
- ) : /* @__PURE__ */ l("div", { ...c, ref: d, style: n, children: t && R(
70
- /* @__PURE__ */ l(
43
+ ) : /* @__PURE__ */ n("div", { ...s, ref: u, style: i, children: r && w(
44
+ /* @__PURE__ */ n(
71
45
  "div",
72
46
  {
73
- style: m ? { isolation: "isolate", height: "100%" } : { isolation: "isolate" },
74
- children: e
47
+ style: l ? { isolation: "isolate", height: "100%" } : { isolation: "isolate" },
48
+ children: d
75
49
  }
76
50
  ),
77
- t
51
+ r
78
52
  ) });
79
53
  };
80
54
  export {
81
- V as ShadowRootWrapper
55
+ W as ShadowRootWrapper
82
56
  };
83
57
  //# sourceMappingURL=ShadowRootWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShadowRootWrapper.js","sources":["../src/ShadowRootWrapper.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ensureGeistFontFace } from './geist-font';\nimport { ensureInterFontFace } from './inter-font';\nimport { ensureStackSansFontFace } from './stack-sans-font';\nimport tailwindCss from './tailwind.css?inline';\nimport {\n type ThemeMode,\n applyThemeVars,\n ensureThemeInitialized,\n registerShadowRoot,\n unregisterShadowRoot,\n} from './theme';\n\nlet tailwindSheet: CSSStyleSheet | null = null;\nlet tailwindSheetAttempted = false;\n\nconst ensureTailwindSheet = (): CSSStyleSheet | null => {\n if (tailwindSheet || tailwindSheetAttempted) {\n return tailwindSheet;\n }\n tailwindSheetAttempted = true;\n if (typeof CSSStyleSheet === 'undefined') {\n return null;\n }\n try {\n const sheet = new CSSStyleSheet();\n sheet.replaceSync(tailwindCss);\n tailwindSheet = sheet;\n } catch (error) {\n console.error('Failed to construct Tailwind stylesheet:', error);\n }\n return tailwindSheet;\n};\n\nconst FALLBACK_STYLE_ID = 'malachite-tailwind-style';\n\nconst adoptSheet = (root: ShadowRoot, sheet: CSSStyleSheet): boolean => {\n if (!('adoptedStyleSheets' in root)) {\n return false;\n }\n try {\n if (!root.adoptedStyleSheets.includes(sheet)) {\n root.adoptedStyleSheets = [...root.adoptedStyleSheets, sheet];\n }\n return true;\n } catch {\n return false;\n }\n};\n\nconst appendStyleTag = (root: ShadowRoot, css: string): void => {\n if (root.querySelector(`#${FALLBACK_STYLE_ID}`)) {\n return;\n }\n const style = document.createElement('style');\n style.id = FALLBACK_STYLE_ID;\n style.textContent = css;\n root.appendChild(style);\n};\n\n// Vite HMR: when tailwind.css changes, mutate the shared sheet in place so every\n// already-adopted shadow root picks up the new rules without a full reload.\nif (import.meta.hot) {\n import.meta.hot.accept('./tailwind.css?inline', (newModule) => {\n const next = (newModule as unknown as { default?: string } | undefined)?.default;\n if (next && tailwindSheet) {\n tailwindSheet.replaceSync(next);\n }\n });\n}\n\nexport const ShadowRootWrapper: React.FC<{\n children: React.ReactNode;\n theme?: ThemeMode;\n hostStyle?: React.CSSProperties;\n /** Identity for the shadow host, so host CSS matching unclassed `body` children cannot\n * blanket-hide a portaled one. Narrow on purpose: a wider type would let a caller\n * clobber `style`, `ref` or `data-testid` through the spread below. */\n hostProps?: { className?: string } & Record<`data-${string}`, string>;\n /** Reads back the shadow host, which a caller needs to promote it into the top layer. */\n hostRef?: { current: HTMLDivElement | null };\n /** Stretches the portal's inner wrapper div (inside the shadow root) to 100% height, to\n * match a `hostStyle` height a caller supplies on the host itself — without this, a tall\n * host div still collapses to content height one level in, because this wrapper div has\n * no height of its own. Off by default: sizing it for every consumer would change layout\n * for callers that rely on it hugging its content. */\n fillHeight?: boolean;\n}> = ({ children, theme, hostStyle, hostProps, hostRef: externalHostRef, fillHeight = false }) => {\n const hostRef = useRef<HTMLDivElement | null>(null);\n const takeHost = useCallback(\n (node: HTMLDivElement | null) => {\n hostRef.current = node;\n if (externalHostRef) {\n externalHostRef.current = node;\n }\n },\n [externalHostRef],\n );\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null);\n\n useEffect(() => {\n if (hostRef.current && !shadowRoot) {\n const shadow =\n hostRef.current.shadowRoot ?? hostRef.current.attachShadow({ mode: 'open' });\n // Adopt the stylesheet before setShadowRoot triggers the render that\n // portals children in: adopting in a later effect leaves a window where\n // the browser can paint the children unstyled (e.g. hover-hidden\n // controls flash fully visible on page load until `opacity: 0` lands).\n const sheet = ensureTailwindSheet();\n if (!sheet || !adoptSheet(shadow, sheet)) {\n appendStyleTag(shadow, tailwindCss);\n }\n setShadowRoot(shadow);\n }\n }, [shadowRoot]);\n\n useEffect(() => {\n if (!shadowRoot) {\n return;\n }\n // Both of these belong to the document, not the shadow root: @font-face does not\n // load fonts from inside a shadow root, and the theme's custom properties are set on\n // documentElement so light-DOM content and portals resolve them too.\n ensureThemeInitialized();\n ensureInterFontFace();\n ensureGeistFontFace();\n ensureStackSansFontFace();\n if (theme) {\n applyThemeVars(shadowRoot, theme);\n return;\n }\n registerShadowRoot(shadowRoot);\n return () => {\n try {\n unregisterShadowRoot(shadowRoot);\n } catch (error) {\n // Silently handle cleanup errors during hot reloading\n console.warn('Error during shadow root cleanup:', error);\n }\n };\n }, [shadowRoot, theme]);\n\n if (shadowRoot === null) {\n // Initial render, attach shadow root first\n return (\n <div\n {...hostProps}\n ref={takeHost}\n data-testid=\"shadow-root-wrapper\"\n style={hostStyle}\n />\n );\n }\n\n // Container div inside the shadow root keeps React context working across the portal.\n return (\n <div {...hostProps} ref={takeHost} style={hostStyle}>\n {shadowRoot &&\n createPortal(\n <div\n style={\n fillHeight\n ? { isolation: 'isolate', height: '100%' }\n : { isolation: 'isolate' }\n }\n >\n {children}\n </div>,\n shadowRoot,\n )}\n </div>\n );\n};\n"],"names":["tailwindSheet","tailwindSheetAttempted","ensureTailwindSheet","sheet","tailwindCss","error","FALLBACK_STYLE_ID","adoptSheet","root","appendStyleTag","css","style","ShadowRootWrapper","children","theme","hostStyle","hostProps","externalHostRef","fillHeight","hostRef","useRef","takeHost","useCallback","node","shadowRoot","setShadowRoot","useState","useEffect","shadow","ensureThemeInitialized","ensureInterFontFace","ensureGeistFontFace","ensureStackSansFontFace","applyThemeVars","registerShadowRoot","unregisterShadowRoot","jsx","createPortal"],"mappings":";;;;;;;;AAcA,IAAIA,IAAsC,MACtCC,IAAyB;AAE7B,MAAMC,IAAsB,MAA4B;AACpD,MAAIF,KAAiBC;AACjB,WAAOD;AAGX,MADAC,IAAyB,IACrB,OAAO,gBAAkB;AACzB,WAAO;AAEX,MAAI;AACA,UAAME,IAAQ,IAAI,cAAA;AAClB,IAAAA,EAAM,YAAYC,CAAW,GAC7BJ,IAAgBG;AAAA,EACpB,SAASE,GAAO;AACZ,YAAQ,MAAM,4CAA4CA,CAAK;AAAA,EACnE;AACA,SAAOL;AACX,GAEMM,IAAoB,4BAEpBC,IAAa,CAACC,GAAkBL,MAAkC;AACpE,MAAI,EAAE,wBAAwBK;AAC1B,WAAO;AAEX,MAAI;AACA,WAAKA,EAAK,mBAAmB,SAASL,CAAK,MACvCK,EAAK,qBAAqB,CAAC,GAAGA,EAAK,oBAAoBL,CAAK,IAEzD;AAAA,EACX,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ,GAEMM,IAAiB,CAACD,GAAkBE,MAAsB;AAC5D,MAAIF,EAAK,cAAc,IAAIF,CAAiB,EAAE;AAC1C;AAEJ,QAAMK,IAAQ,SAAS,cAAc,OAAO;AAC5C,EAAAA,EAAM,KAAKL,GACXK,EAAM,cAAcD,GACpBF,EAAK,YAAYG,CAAK;AAC1B,GAaaC,IAgBR,CAAC,EAAE,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,WAAAC,GAAW,SAASC,GAAiB,YAAAC,IAAa,SAAY;AAC9F,QAAMC,IAAUC,EAA8B,IAAI,GAC5CC,IAAWC;AAAA,IACb,CAACC,MAAgC;AAC7B,MAAAJ,EAAQ,UAAUI,GACdN,MACAA,EAAgB,UAAUM;AAAA,IAElC;AAAA,IACA,CAACN,CAAe;AAAA,EAAA,GAEd,CAACO,GAAYC,CAAa,IAAIC,EAA4B,IAAI;AA4CpE,SA1CAC,EAAU,MAAM;AACZ,QAAIR,EAAQ,WAAW,CAACK,GAAY;AAChC,YAAMI,IACFT,EAAQ,QAAQ,cAAcA,EAAQ,QAAQ,aAAa,EAAE,MAAM,QAAQ,GAKzEhB,IAAQD,EAAA;AACd,OAAI,CAACC,KAAS,CAACI,EAAWqB,GAAQzB,CAAK,MACnCM,EAAemB,GAAQxB,CAAW,GAEtCqB,EAAcG,CAAM;AAAA,IACxB;AAAA,EACJ,GAAG,CAACJ,CAAU,CAAC,GAEfG,EAAU,MAAM;AACZ,QAAKH,GAUL;AAAA,UAJAK,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACIlB,GAAO;AACP,QAAAmB,EAAeT,GAAYV,CAAK;AAChC;AAAA,MACJ;AACA,aAAAoB,EAAmBV,CAAU,GACtB,MAAM;AACT,YAAI;AACA,UAAAW,EAAqBX,CAAU;AAAA,QACnC,SAASnB,GAAO;AAEZ,kBAAQ,KAAK,qCAAqCA,CAAK;AAAA,QAC3D;AAAA,MACJ;AAAA;AAAA,EACJ,GAAG,CAACmB,GAAYV,CAAK,CAAC,GAElBU,MAAe,OAGX,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGpB;AAAA,MACJ,KAAKK;AAAA,MACL,eAAY;AAAA,MACZ,OAAON;AAAA,IAAA;AAAA,EAAA,IAOf,gBAAAqB,EAAC,SAAK,GAAGpB,GAAW,KAAKK,GAAU,OAAON,GACrC,UAAAS,KACGa;AAAA,IACI,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,OACIlB,IACM,EAAE,WAAW,WAAW,QAAQ,OAAA,IAChC,EAAE,WAAW,UAAA;AAAA,QAGtB,UAAAL;AAAA,MAAA;AAAA,IAAA;AAAA,IAELW;AAAA,EAAA,GAEZ;AAER;"}
1
+ {"version":3,"file":"ShadowRootWrapper.js","sources":["../src/ShadowRootWrapper.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ensureGeistFontFace } from './geist-font';\nimport { ensureInterFontFace } from './inter-font';\nimport { ensureStackSansFontFace } from './stack-sans-font';\nimport { adoptTailwindSheet } from './tailwindSheet';\nimport {\n type ThemeMode,\n applyThemeVars,\n ensureThemeInitialized,\n registerShadowRoot,\n unregisterShadowRoot,\n} from './theme';\n\nexport const ShadowRootWrapper: React.FC<{\n children: React.ReactNode;\n theme?: ThemeMode;\n hostStyle?: React.CSSProperties;\n /** Identity for the shadow host, so host CSS matching unclassed `body` children cannot\n * blanket-hide a portaled one. Narrow on purpose: a wider type would let a caller\n * clobber `style`, `ref` or `data-testid` through the spread below. */\n hostProps?: { className?: string } & Record<`data-${string}`, string>;\n /** Reads back the shadow host, which a caller needs to promote it into the top layer. */\n hostRef?: { current: HTMLDivElement | null };\n /** Stretches the portal's inner wrapper div (inside the shadow root) to 100% height, to\n * match a `hostStyle` height a caller supplies on the host itself — without this, a tall\n * host div still collapses to content height one level in, because this wrapper div has\n * no height of its own. Off by default: sizing it for every consumer would change layout\n * for callers that rely on it hugging its content. */\n fillHeight?: boolean;\n}> = ({ children, theme, hostStyle, hostProps, hostRef: externalHostRef, fillHeight = false }) => {\n const hostRef = useRef<HTMLDivElement | null>(null);\n const takeHost = useCallback(\n (node: HTMLDivElement | null) => {\n hostRef.current = node;\n if (externalHostRef) {\n externalHostRef.current = node;\n }\n },\n [externalHostRef],\n );\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null);\n\n useEffect(() => {\n if (hostRef.current && !shadowRoot) {\n const shadow =\n hostRef.current.shadowRoot ?? hostRef.current.attachShadow({ mode: 'open' });\n // Adopt the stylesheet before setShadowRoot triggers the render that\n // portals children in: adopting in a later effect leaves a window where\n // the browser can paint the children unstyled (e.g. hover-hidden\n // controls flash fully visible on page load until `opacity: 0` lands).\n adoptTailwindSheet(shadow);\n setShadowRoot(shadow);\n }\n }, [shadowRoot]);\n\n useEffect(() => {\n if (!shadowRoot) {\n return;\n }\n // Both of these belong to the document, not the shadow root: @font-face does not\n // load fonts from inside a shadow root, and the theme's custom properties are set on\n // documentElement so light-DOM content and portals resolve them too.\n ensureThemeInitialized();\n ensureInterFontFace();\n ensureGeistFontFace();\n ensureStackSansFontFace();\n if (theme) {\n applyThemeVars(shadowRoot, theme);\n return;\n }\n registerShadowRoot(shadowRoot);\n return () => {\n try {\n unregisterShadowRoot(shadowRoot);\n } catch (error) {\n // Silently handle cleanup errors during hot reloading\n console.warn('Error during shadow root cleanup:', error);\n }\n };\n }, [shadowRoot, theme]);\n\n if (shadowRoot === null) {\n // Initial render, attach shadow root first\n return (\n <div\n {...hostProps}\n ref={takeHost}\n data-testid=\"shadow-root-wrapper\"\n style={hostStyle}\n />\n );\n }\n\n // Container div inside the shadow root keeps React context working across the portal.\n return (\n <div {...hostProps} ref={takeHost} style={hostStyle}>\n {shadowRoot &&\n createPortal(\n <div\n style={\n fillHeight\n ? { isolation: 'isolate', height: '100%' }\n : { isolation: 'isolate' }\n }\n >\n {children}\n </div>,\n shadowRoot,\n )}\n </div>\n );\n};\n"],"names":["ShadowRootWrapper","children","theme","hostStyle","hostProps","externalHostRef","fillHeight","hostRef","useRef","takeHost","useCallback","node","shadowRoot","setShadowRoot","useState","useEffect","shadow","adoptTailwindSheet","ensureThemeInitialized","ensureInterFontFace","ensureGeistFontFace","ensureStackSansFontFace","applyThemeVars","registerShadowRoot","unregisterShadowRoot","error","jsx","createPortal"],"mappings":";;;;;;;;AAcO,MAAMA,IAgBR,CAAC,EAAE,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,WAAAC,GAAW,SAASC,GAAiB,YAAAC,IAAa,SAAY;AAC9F,QAAMC,IAAUC,EAA8B,IAAI,GAC5CC,IAAWC;AAAA,IACb,CAACC,MAAgC;AAC7B,MAAAJ,EAAQ,UAAUI,GACdN,MACAA,EAAgB,UAAUM;AAAA,IAElC;AAAA,IACA,CAACN,CAAe;AAAA,EAAA,GAEd,CAACO,GAAYC,CAAa,IAAIC,EAA4B,IAAI;AAyCpE,SAvCAC,EAAU,MAAM;AACZ,QAAIR,EAAQ,WAAW,CAACK,GAAY;AAChC,YAAMI,IACFT,EAAQ,QAAQ,cAAcA,EAAQ,QAAQ,aAAa,EAAE,MAAM,QAAQ;AAK/E,MAAAU,EAAmBD,CAAM,GACzBH,EAAcG,CAAM;AAAA,IACxB;AAAA,EACJ,GAAG,CAACJ,CAAU,CAAC,GAEfG,EAAU,MAAM;AACZ,QAAKH,GAUL;AAAA,UAJAM,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACInB,GAAO;AACP,QAAAoB,EAAeV,GAAYV,CAAK;AAChC;AAAA,MACJ;AACA,aAAAqB,EAAmBX,CAAU,GACtB,MAAM;AACT,YAAI;AACA,UAAAY,EAAqBZ,CAAU;AAAA,QACnC,SAASa,GAAO;AAEZ,kBAAQ,KAAK,qCAAqCA,CAAK;AAAA,QAC3D;AAAA,MACJ;AAAA;AAAA,EACJ,GAAG,CAACb,GAAYV,CAAK,CAAC,GAElBU,MAAe,OAGX,gBAAAc;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGtB;AAAA,MACJ,KAAKK;AAAA,MACL,eAAY;AAAA,MACZ,OAAON;AAAA,IAAA;AAAA,EAAA,IAOf,gBAAAuB,EAAC,SAAK,GAAGtB,GAAW,KAAKK,GAAU,OAAON,GACrC,UAAAS,KACGe;AAAA,IACI,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,OACIpB,IACM,EAAE,WAAW,WAAW,QAAQ,OAAA,IAChC,EAAE,WAAW,UAAA;AAAA,QAGtB,UAAAL;AAAA,MAAA;AAAA,IAAA;AAAA,IAELW;AAAA,EAAA,GAEZ;AAER;"}
@@ -1,6 +1,6 @@
1
1
  import * as e from "react";
2
- const r = (t) => /* @__PURE__ */ e.createElement("svg", { width: 16, height: 17, viewBox: "0 0 16 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...t }, /* @__PURE__ */ e.createElement("g", { id: "Layer_2" }, /* @__PURE__ */ e.createElement("path", { id: "Vector", d: "M7.97085 15.0455C11.6019 15.0455 14.5454 12.1019 14.5454 8.47091C14.5454 4.83989 11.6019 1.89636 7.97085 1.89636C4.33983 1.89636 1.3963 4.83989 1.3963 8.47091C1.3963 12.1019 4.33983 15.0455 7.97085 15.0455Z", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { id: "Vector_2", d: "M8.00038 8.33275C8.98043 8.33275 9.77492 7.53826 9.77492 6.55821C9.77492 5.57815 8.98043 4.78366 8.00038 4.78366C7.02032 4.78366 6.22583 5.57815 6.22583 6.55821C6.22583 7.53826 7.02032 8.33275 8.00038 8.33275Z", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { id: "Vector_3", d: "M11.6796 10.3909C11.2758 9.78486 10.7287 9.28791 10.0867 8.94419C9.44472 8.60047 8.72779 8.42062 7.99958 8.42062C7.27137 8.42062 6.55444 8.60047 5.91245 8.94419C5.27047 9.28791 4.72331 9.78486 4.31958 10.3909", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" })));
2
+ const o = (t) => /* @__PURE__ */ e.createElement("svg", { width: 16, height: 17, viewBox: "0 0 16 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...t }, /* @__PURE__ */ e.createElement("g", { id: "Layer_2" }, /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", id: "Vector", d: "M7.97085 15.0455C11.6019 15.0455 14.5454 12.1019 14.5454 8.47091C14.5454 4.83989 11.6019 1.89636 7.97085 1.89636C4.33983 1.89636 1.3963 4.83989 1.3963 8.47091C1.3963 12.1019 4.33983 15.0455 7.97085 15.0455Z", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", id: "Vector_2", d: "M8.00038 8.33275C8.98043 8.33275 9.77492 7.53826 9.77492 6.55821C9.77492 5.57815 8.98043 4.78366 8.00038 4.78366C7.02032 4.78366 6.22583 5.57815 6.22583 6.55821C6.22583 7.53826 7.02032 8.33275 8.00038 8.33275Z", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", id: "Vector_3", d: "M11.6796 10.3909C11.2758 9.78486 10.7287 9.28791 10.0867 8.94419C9.44472 8.60047 8.72779 8.42062 7.99958 8.42062C7.27137 8.42062 6.55444 8.60047 5.91245 8.94419C5.27047 9.28791 4.72331 9.78486 4.31958 10.3909", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" })));
3
3
  export {
4
- r as default
4
+ o as default
5
5
  };
6
6
  //# sourceMappingURL=account.svg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.svg.js","sources":["../../../src/assets/icons/account.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgAccount = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 16, height: 17, viewBox: \"0 0 16 17\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { id: \"Layer_2\" }, /* @__PURE__ */ React.createElement(\"path\", { id: \"Vector\", d: \"M7.97085 15.0455C11.6019 15.0455 14.5454 12.1019 14.5454 8.47091C14.5454 4.83989 11.6019 1.89636 7.97085 1.89636C4.33983 1.89636 1.3963 4.83989 1.3963 8.47091C1.3963 12.1019 4.33983 15.0455 7.97085 15.0455Z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { id: \"Vector_2\", d: \"M8.00038 8.33275C8.98043 8.33275 9.77492 7.53826 9.77492 6.55821C9.77492 5.57815 8.98043 4.78366 8.00038 4.78366C7.02032 4.78366 6.22583 5.57815 6.22583 6.55821C6.22583 7.53826 7.02032 8.33275 8.00038 8.33275Z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { id: \"Vector_3\", d: \"M11.6796 10.3909C11.2758 9.78486 10.7287 9.28791 10.0867 8.94419C9.44472 8.60047 8.72779 8.42062 7.99958 8.42062C7.27137 8.42062 6.55444 8.60047 5.91245 8.94419C5.27047 9.28791 4.72331 9.78486 4.31958 10.3909\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\nexport default SvgAccount;\n"],"names":["SvgAccount","props","React"],"mappings":";AACK,MAACA,IAAa,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,KAAK,EAAE,IAAI,aAA6B,gBAAAA,EAAM,cAAc,QAAQ,EAAE,IAAI,UAAU,GAAG,kNAAkN,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,IAAI,YAAY,GAAG,qNAAqN,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,IAAI,YAAY,GAAG,oNAAoN,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,CAAC,CAAC;"}
1
+ {"version":3,"file":"account.svg.js","sources":["../../../src/assets/icons/account.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgAccount = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 16, height: 17, viewBox: \"0 0 16 17\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { id: \"Layer_2\" }, /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", id: \"Vector\", d: \"M7.97085 15.0455C11.6019 15.0455 14.5454 12.1019 14.5454 8.47091C14.5454 4.83989 11.6019 1.89636 7.97085 1.89636C4.33983 1.89636 1.3963 4.83989 1.3963 8.47091C1.3963 12.1019 4.33983 15.0455 7.97085 15.0455Z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", id: \"Vector_2\", d: \"M8.00038 8.33275C8.98043 8.33275 9.77492 7.53826 9.77492 6.55821C9.77492 5.57815 8.98043 4.78366 8.00038 4.78366C7.02032 4.78366 6.22583 5.57815 6.22583 6.55821C6.22583 7.53826 7.02032 8.33275 8.00038 8.33275Z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", id: \"Vector_3\", d: \"M11.6796 10.3909C11.2758 9.78486 10.7287 9.28791 10.0867 8.94419C9.44472 8.60047 8.72779 8.42062 7.99958 8.42062C7.27137 8.42062 6.55444 8.60047 5.91245 8.94419C5.27047 9.28791 4.72331 9.78486 4.31958 10.3909\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\nexport default SvgAccount;\n"],"names":["SvgAccount","props","React"],"mappings":";AACK,MAACA,IAAa,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,KAAK,EAAE,IAAI,aAA6B,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,IAAI,UAAU,GAAG,kNAAkN,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,IAAI,YAAY,GAAG,qNAAqN,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,IAAI,YAAY,GAAG,oNAAoN,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,CAAC,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as C from "react";
2
+ const e = (H) => /* @__PURE__ */ C.createElement("svg", { width: 16, height: 13, viewBox: "0 0 16 13", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...H }, /* @__PURE__ */ C.createElement("path", { d: "M14.5 11H13.75V4.45625C13.9162 4.39685 14.0561 4.28074 14.1452 4.12835C14.2342 3.97596 14.2667 3.79705 14.2368 3.6231C14.2069 3.44915 14.1167 3.2913 13.9819 3.17733C13.8471 3.06336 13.6765 3.00056 13.5 3H11V1.45625C11.1662 1.39685 11.3061 1.28074 11.3952 1.12835C11.4842 0.97596 11.5167 0.797049 11.4868 0.623097C11.4569 0.449145 11.3667 0.291298 11.2319 0.177327C11.0971 0.0633562 10.9265 0.000564676 10.75 0H1.75C1.5735 0.000564676 1.40286 0.0633562 1.2681 0.177327C1.13333 0.291298 1.04308 0.449145 1.01321 0.623097C0.98335 0.797049 1.01579 0.97596 1.10483 1.12835C1.19387 1.28074 1.3338 1.39685 1.5 1.45625V11H0.75C0.551088 11 0.360322 11.079 0.21967 11.2197C0.0790177 11.3603 0 11.5511 0 11.75C0 11.9489 0.0790177 12.1397 0.21967 12.2803C0.360322 12.421 0.551088 12.5 0.75 12.5H14.5C14.6989 12.5 14.8897 12.421 15.0303 12.2803C15.171 12.1397 15.25 11.9489 15.25 11.75C15.25 11.5511 15.171 11.3603 15.0303 11.2197C14.8897 11.079 14.6989 11 14.5 11ZM12.25 4.5V11H11V4.5H12.25ZM3 1.5H9.5V11H8.5V8.25C8.5 8.05109 8.42098 7.86032 8.28033 7.71967C8.13968 7.57902 7.94891 7.5 7.75 7.5H4.75C4.55109 7.5 4.36032 7.57902 4.21967 7.71967C4.07902 7.86032 4 8.05109 4 8.25V11H3V1.5ZM7 11H5.5V9H7V11ZM3.75 3.25C3.75 3.05109 3.82902 2.86032 3.96967 2.71967C4.11032 2.57902 4.30109 2.5 4.5 2.5H5C5.19891 2.5 5.38968 2.57902 5.53033 2.71967C5.67098 2.86032 5.75 3.05109 5.75 3.25C5.75 3.44891 5.67098 3.63968 5.53033 3.78033C5.38968 3.92098 5.19891 4 5 4H4.5C4.30109 4 4.11032 3.92098 3.96967 3.78033C3.82902 3.63968 3.75 3.44891 3.75 3.25ZM6.75 3.25C6.75 3.05109 6.82902 2.86032 6.96967 2.71967C7.11032 2.57902 7.30109 2.5 7.5 2.5H8C8.19891 2.5 8.38968 2.57902 8.53033 2.71967C8.67098 2.86032 8.75 3.05109 8.75 3.25C8.75 3.44891 8.67098 3.63968 8.53033 3.78033C8.38968 3.92098 8.19891 4 8 4H7.5C7.30109 4 7.11032 3.92098 6.96967 3.78033C6.82902 3.63968 6.75 3.44891 6.75 3.25ZM3.75 5.75C3.75 5.55109 3.82902 5.36032 3.96967 5.21967C4.11032 5.07902 4.30109 5 4.5 5H5C5.19891 5 5.38968 5.07902 5.53033 5.21967C5.67098 5.36032 5.75 5.55109 5.75 5.75C5.75 5.94891 5.67098 6.13968 5.53033 6.28033C5.38968 6.42098 5.19891 6.5 5 6.5H4.5C4.30109 6.5 4.11032 6.42098 3.96967 6.28033C3.82902 6.13968 3.75 5.94891 3.75 5.75ZM6.75 5.75C6.75 5.55109 6.82902 5.36032 6.96967 5.21967C7.11032 5.07902 7.30109 5 7.5 5H8C8.19891 5 8.38968 5.07902 8.53033 5.21967C8.67098 5.36032 8.75 5.55109 8.75 5.75C8.75 5.94891 8.67098 6.13968 8.53033 6.28033C8.38968 6.42098 8.19891 6.5 8 6.5H7.5C7.30109 6.5 7.11032 6.42098 6.96967 6.28033C6.82902 6.13968 6.75 5.94891 6.75 5.75Z", fill: "currentColor" }));
3
+ export {
4
+ e as default
5
+ };
6
+ //# sourceMappingURL=building.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"building.svg.js","sources":["../../../src/assets/icons/building.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgBuilding = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 16, height: 13, viewBox: \"0 0 16 13\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.5 11H13.75V4.45625C13.9162 4.39685 14.0561 4.28074 14.1452 4.12835C14.2342 3.97596 14.2667 3.79705 14.2368 3.6231C14.2069 3.44915 14.1167 3.2913 13.9819 3.17733C13.8471 3.06336 13.6765 3.00056 13.5 3H11V1.45625C11.1662 1.39685 11.3061 1.28074 11.3952 1.12835C11.4842 0.97596 11.5167 0.797049 11.4868 0.623097C11.4569 0.449145 11.3667 0.291298 11.2319 0.177327C11.0971 0.0633562 10.9265 0.000564676 10.75 0H1.75C1.5735 0.000564676 1.40286 0.0633562 1.2681 0.177327C1.13333 0.291298 1.04308 0.449145 1.01321 0.623097C0.98335 0.797049 1.01579 0.97596 1.10483 1.12835C1.19387 1.28074 1.3338 1.39685 1.5 1.45625V11H0.75C0.551088 11 0.360322 11.079 0.21967 11.2197C0.0790177 11.3603 0 11.5511 0 11.75C0 11.9489 0.0790177 12.1397 0.21967 12.2803C0.360322 12.421 0.551088 12.5 0.75 12.5H14.5C14.6989 12.5 14.8897 12.421 15.0303 12.2803C15.171 12.1397 15.25 11.9489 15.25 11.75C15.25 11.5511 15.171 11.3603 15.0303 11.2197C14.8897 11.079 14.6989 11 14.5 11ZM12.25 4.5V11H11V4.5H12.25ZM3 1.5H9.5V11H8.5V8.25C8.5 8.05109 8.42098 7.86032 8.28033 7.71967C8.13968 7.57902 7.94891 7.5 7.75 7.5H4.75C4.55109 7.5 4.36032 7.57902 4.21967 7.71967C4.07902 7.86032 4 8.05109 4 8.25V11H3V1.5ZM7 11H5.5V9H7V11ZM3.75 3.25C3.75 3.05109 3.82902 2.86032 3.96967 2.71967C4.11032 2.57902 4.30109 2.5 4.5 2.5H5C5.19891 2.5 5.38968 2.57902 5.53033 2.71967C5.67098 2.86032 5.75 3.05109 5.75 3.25C5.75 3.44891 5.67098 3.63968 5.53033 3.78033C5.38968 3.92098 5.19891 4 5 4H4.5C4.30109 4 4.11032 3.92098 3.96967 3.78033C3.82902 3.63968 3.75 3.44891 3.75 3.25ZM6.75 3.25C6.75 3.05109 6.82902 2.86032 6.96967 2.71967C7.11032 2.57902 7.30109 2.5 7.5 2.5H8C8.19891 2.5 8.38968 2.57902 8.53033 2.71967C8.67098 2.86032 8.75 3.05109 8.75 3.25C8.75 3.44891 8.67098 3.63968 8.53033 3.78033C8.38968 3.92098 8.19891 4 8 4H7.5C7.30109 4 7.11032 3.92098 6.96967 3.78033C6.82902 3.63968 6.75 3.44891 6.75 3.25ZM3.75 5.75C3.75 5.55109 3.82902 5.36032 3.96967 5.21967C4.11032 5.07902 4.30109 5 4.5 5H5C5.19891 5 5.38968 5.07902 5.53033 5.21967C5.67098 5.36032 5.75 5.55109 5.75 5.75C5.75 5.94891 5.67098 6.13968 5.53033 6.28033C5.38968 6.42098 5.19891 6.5 5 6.5H4.5C4.30109 6.5 4.11032 6.42098 3.96967 6.28033C3.82902 6.13968 3.75 5.94891 3.75 5.75ZM6.75 5.75C6.75 5.55109 6.82902 5.36032 6.96967 5.21967C7.11032 5.07902 7.30109 5 7.5 5H8C8.19891 5 8.38968 5.07902 8.53033 5.21967C8.67098 5.36032 8.75 5.55109 8.75 5.75C8.75 5.94891 8.67098 6.13968 8.53033 6.28033C8.38968 6.42098 8.19891 6.5 8 6.5H7.5C7.30109 6.5 7.11032 6.42098 6.96967 6.28033C6.82902 6.13968 6.75 5.94891 6.75 5.75Z\", fill: \"currentColor\" }));\nexport default SvgBuilding;\n"],"names":["SvgBuilding","props","React"],"mappings":";AACK,MAACA,IAAc,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,GAAG,++EAA++E,MAAM,eAAc,CAAE,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as C from "react";
2
+ const t = (e) => /* @__PURE__ */ C.createElement("svg", { width: 8, height: 14, viewBox: "0 0 8 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ C.createElement("path", { d: "M7.28255 9.21997C7.35247 9.28964 7.40795 9.37244 7.4458 9.4636C7.48366 9.55477 7.50314 9.65251 7.50314 9.75122C7.50314 9.84993 7.48366 9.94767 7.4458 10.0388C7.40795 10.13 7.35247 10.2128 7.28255 10.2825L4.28255 13.2825C4.21287 13.3524 4.13008 13.4079 4.03892 13.4457C3.94775 13.4836 3.85001 13.5031 3.7513 13.5031C3.65259 13.5031 3.55485 13.4836 3.46369 13.4457C3.37252 13.4079 3.28973 13.3524 3.22005 13.2825L0.220051 10.2825C0.0791546 10.1416 -2.96917e-09 9.95047 0 9.75122C2.96917e-09 9.55196 0.0791546 9.36086 0.220051 9.21997C0.360947 9.07907 0.552043 8.99992 0.751301 8.99992C0.950558 8.99992 1.14165 9.07907 1.28255 9.21997L3.75193 11.6881L6.2213 9.21809C6.29108 9.14848 6.37389 9.09331 6.46501 9.05573C6.55612 9.01814 6.65375 8.99889 6.75232 8.99906C6.85088 8.99924 6.94844 9.01884 7.03942 9.05674C7.1304 9.09465 7.21302 9.15011 7.28255 9.21997ZM1.28255 4.28247L3.75193 1.81309L6.2213 4.28309C6.3622 4.42399 6.55329 4.50314 6.75255 4.50314C6.95181 4.50314 7.1429 4.42399 7.2838 4.28309C7.4247 4.1422 7.50385 3.9511 7.50385 3.75184C7.50385 3.55258 7.4247 3.36149 7.2838 3.22059L4.2838 0.220591C4.21412 0.150671 4.13133 0.0951937 4.04016 0.0573397C3.949 0.0194856 3.85126 0 3.75255 0C3.65384 0 3.5561 0.0194856 3.46494 0.0573397C3.37377 0.0951937 3.29098 0.150671 3.2213 0.220591L0.221301 3.22059C0.0804048 3.36149 0.00124979 3.55258 0.00124979 3.75184C0.00124979 3.9511 0.0804048 4.1422 0.221301 4.28309C0.362197 4.42399 0.553294 4.50314 0.752551 4.50314C0.951808 4.50314 1.1429 4.42399 1.2838 4.28309L1.28255 4.28247Z", fill: "currentColor" }));
3
+ export {
4
+ t as default
5
+ };
6
+ //# sourceMappingURL=chevrons_up_down.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chevrons_up_down.svg.js","sources":["../../../src/assets/icons/chevrons_up_down.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronsUpDown = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 8, height: 14, viewBox: \"0 0 8 14\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M7.28255 9.21997C7.35247 9.28964 7.40795 9.37244 7.4458 9.4636C7.48366 9.55477 7.50314 9.65251 7.50314 9.75122C7.50314 9.84993 7.48366 9.94767 7.4458 10.0388C7.40795 10.13 7.35247 10.2128 7.28255 10.2825L4.28255 13.2825C4.21287 13.3524 4.13008 13.4079 4.03892 13.4457C3.94775 13.4836 3.85001 13.5031 3.7513 13.5031C3.65259 13.5031 3.55485 13.4836 3.46369 13.4457C3.37252 13.4079 3.28973 13.3524 3.22005 13.2825L0.220051 10.2825C0.0791546 10.1416 -2.96917e-09 9.95047 0 9.75122C2.96917e-09 9.55196 0.0791546 9.36086 0.220051 9.21997C0.360947 9.07907 0.552043 8.99992 0.751301 8.99992C0.950558 8.99992 1.14165 9.07907 1.28255 9.21997L3.75193 11.6881L6.2213 9.21809C6.29108 9.14848 6.37389 9.09331 6.46501 9.05573C6.55612 9.01814 6.65375 8.99889 6.75232 8.99906C6.85088 8.99924 6.94844 9.01884 7.03942 9.05674C7.1304 9.09465 7.21302 9.15011 7.28255 9.21997ZM1.28255 4.28247L3.75193 1.81309L6.2213 4.28309C6.3622 4.42399 6.55329 4.50314 6.75255 4.50314C6.95181 4.50314 7.1429 4.42399 7.2838 4.28309C7.4247 4.1422 7.50385 3.9511 7.50385 3.75184C7.50385 3.55258 7.4247 3.36149 7.2838 3.22059L4.2838 0.220591C4.21412 0.150671 4.13133 0.0951937 4.04016 0.0573397C3.949 0.0194856 3.85126 0 3.75255 0C3.65384 0 3.5561 0.0194856 3.46494 0.0573397C3.37377 0.0951937 3.29098 0.150671 3.2213 0.220591L0.221301 3.22059C0.0804048 3.36149 0.00124979 3.55258 0.00124979 3.75184C0.00124979 3.9511 0.0804048 4.1422 0.221301 4.28309C0.362197 4.42399 0.553294 4.50314 0.752551 4.50314C0.951808 4.50314 1.1429 4.42399 1.2838 4.28309L1.28255 4.28247Z\", fill: \"currentColor\" }));\nexport default SvgChevronsUpDown;\n"],"names":["SvgChevronsUpDown","props","React"],"mappings":";AACK,MAACA,IAAoB,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,GAAG,QAAQ,IAAI,SAAS,YAAY,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,GAAG,0/CAA0/C,MAAM,eAAc,CAAE,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as e from "react";
2
+ const o = (t) => /* @__PURE__ */ e.createElement("svg", { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...t }, /* @__PURE__ */ e.createElement("g", null, /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", d: "M2.15845 4.63013L8.00117 7.48618V14.7395", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", d: "M8 14.7396V7.48626L13.8514 4.63892", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", d: "M2.77704 4.01195L7.13078 1.53031C7.39552 1.37747 7.69584 1.297 8.00153 1.297C8.30723 1.297 8.60754 1.37747 8.87228 1.53031L13.226 4.01195C13.4918 4.16538 13.7123 4.38631 13.8652 4.65237C14.0181 4.91844 14.098 5.22018 14.0968 5.52705V10.7515C14.0974 11.0713 14.01 11.3851 13.8442 11.6585C13.6783 11.9319 13.4403 12.1544 13.1564 12.3015L8.80262 14.5567C8.55507 14.685 8.28034 14.7519 8.00153 14.7519C7.72273 14.7519 7.448 14.685 7.20044 14.5567L2.8467 12.3015C2.56143 12.1537 2.32261 11.9299 2.15664 11.6548C1.99066 11.3797 1.90402 11.0641 1.90629 10.7428V5.51834C1.90661 5.21295 1.98722 4.91301 2.14006 4.64861C2.29289 4.38421 2.51256 4.16464 2.77704 4.01195Z", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" })));
3
+ export {
4
+ o as default
5
+ };
6
+ //# sourceMappingURL=connector.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.svg.js","sources":["../../../src/assets/icons/connector.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgConnector = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 16, height: 16, viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", null, /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", d: \"M2.15845 4.63013L8.00117 7.48618V14.7395\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", d: \"M8 14.7396V7.48626L13.8514 4.63892\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", d: \"M2.77704 4.01195L7.13078 1.53031C7.39552 1.37747 7.69584 1.297 8.00153 1.297C8.30723 1.297 8.60754 1.37747 8.87228 1.53031L13.226 4.01195C13.4918 4.16538 13.7123 4.38631 13.8652 4.65237C14.0181 4.91844 14.098 5.22018 14.0968 5.52705V10.7515C14.0974 11.0713 14.01 11.3851 13.8442 11.6585C13.6783 11.9319 13.4403 12.1544 13.1564 12.3015L8.80262 14.5567C8.55507 14.685 8.28034 14.7519 8.00153 14.7519C7.72273 14.7519 7.448 14.685 7.20044 14.5567L2.8467 12.3015C2.56143 12.1537 2.32261 11.9299 2.15664 11.6548C1.99066 11.3797 1.90402 11.0641 1.90629 10.7428V5.51834C1.90661 5.21295 1.98722 4.91301 2.14006 4.64861C2.29289 4.38421 2.51256 4.16464 2.77704 4.01195Z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\nexport default SvgConnector;\n"],"names":["SvgConnector","props","React"],"mappings":";AACK,MAACA,IAAe,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,KAAyB,gBAAAC,EAAM,cAAc,KAAK,MAAsB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,GAAG,4CAA4C,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,GAAG,sCAAsC,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,GAAG,spBAAspB,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,CAAC,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as e from "react";
2
+ const o = (t) => /* @__PURE__ */ e.createElement("svg", { width: 14, height: 14, viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...t }, /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", d: "M4.5 9.5L9.5 4.5", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ e.createElement("path", { "data-malachite-shape": "", fill: "none", d: "M5 4.5H9.5V9", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }));
3
+ export {
4
+ o as default
5
+ };
6
+ //# sourceMappingURL=external_link.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external_link.svg.js","sources":["../../../src/assets/icons/external_link.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgExternalLink = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 14, height: 14, viewBox: \"0 0 14 14\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", d: \"M4.5 9.5L9.5 4.5\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { \"data-malachite-shape\": \"\", fill: \"none\", d: \"M5 4.5H9.5V9\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }));\nexport default SvgExternalLink;\n"],"names":["SvgExternalLink","props","React"],"mappings":";AACK,MAACA,IAAkB,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,GAAG,oBAAoB,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,wBAAwB,IAAI,MAAM,QAAQ,GAAG,gBAAgB,QAAQ,gBAAgB,aAAa,KAAK,eAAe,SAAS,gBAAgB,QAAO,CAAE,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as C from "react";
2
+ const t = (e) => /* @__PURE__ */ C.createElement("svg", { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ C.createElement("path", { d: "M11.0306 5.96937C11.1005 6.03905 11.156 6.12185 11.1939 6.21301C11.2317 6.30417 11.2512 6.40191 11.2512 6.50062C11.2512 6.59934 11.2317 6.69707 11.1939 6.78824C11.156 6.8794 11.1005 6.9622 11.0306 7.03187L7.53063 10.5319C7.46095 10.6018 7.37816 10.6573 7.28699 10.6951C7.19583 10.733 7.09809 10.7525 6.99938 10.7525C6.90067 10.7525 6.80293 10.733 6.71176 10.6951C6.6206 10.6573 6.53781 10.6018 6.46813 10.5319L4.96813 9.03187C4.89836 8.96211 4.84302 8.87929 4.80527 8.78814C4.76751 8.69698 4.74808 8.59929 4.74808 8.50062C4.74808 8.40196 4.76751 8.30427 4.80527 8.21311C4.84302 8.12196 4.89836 8.03914 4.96813 7.96937C5.03789 7.89961 5.12072 7.84427 5.21187 7.80651C5.30302 7.76876 5.40072 7.74932 5.49938 7.74932C5.59804 7.74932 5.69574 7.76876 5.78689 7.80651C5.87804 7.84427 5.96086 7.89961 6.03063 7.96937L7 8.9375L9.96938 5.9675C10.0392 5.89789 10.122 5.84272 10.2131 5.80513C10.3042 5.76755 10.4018 5.7483 10.5004 5.74847C10.599 5.74865 10.6965 5.76825 10.7875 5.80615C10.8785 5.84405 10.9611 5.89952 11.0306 5.96937ZM14.75 8C14.75 9.33502 14.3541 10.6401 13.6124 11.7501C12.8707 12.8601 11.8165 13.7253 10.5831 14.2362C9.34971 14.7471 7.99251 14.8807 6.68314 14.6203C5.37377 14.3598 4.17104 13.717 3.22703 12.773C2.28303 11.829 1.64015 10.6262 1.3797 9.31686C1.11925 8.00749 1.25292 6.65029 1.76382 5.41689C2.27471 4.18349 3.13987 3.12928 4.2499 2.38758C5.35994 1.64588 6.66498 1.25 8 1.25C9.7896 1.25199 11.5053 1.96378 12.7708 3.22922C14.0362 4.49466 14.748 6.2104 14.75 8ZM13.25 8C13.25 6.96165 12.9421 5.94661 12.3652 5.08326C11.7883 4.2199 10.9684 3.54699 10.0091 3.14963C9.04978 2.75227 7.99418 2.6483 6.97578 2.85088C5.95738 3.05345 5.02192 3.55346 4.28769 4.28769C3.55347 5.02191 3.05345 5.95738 2.85088 6.97578C2.64831 7.99418 2.75228 9.04978 3.14964 10.0091C3.547 10.9684 4.2199 11.7883 5.08326 12.3652C5.94662 12.9421 6.96165 13.25 8 13.25C9.39193 13.2485 10.7264 12.6949 11.7107 11.7107C12.6949 10.7264 13.2485 9.39193 13.25 8Z", fill: "currentColor" }));
3
+ export {
4
+ t as default
5
+ };
6
+ //# sourceMappingURL=field_coverage.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field_coverage.svg.js","sources":["../../../src/assets/icons/field_coverage.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgFieldCoverage = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 16, height: 16, viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M11.0306 5.96937C11.1005 6.03905 11.156 6.12185 11.1939 6.21301C11.2317 6.30417 11.2512 6.40191 11.2512 6.50062C11.2512 6.59934 11.2317 6.69707 11.1939 6.78824C11.156 6.8794 11.1005 6.9622 11.0306 7.03187L7.53063 10.5319C7.46095 10.6018 7.37816 10.6573 7.28699 10.6951C7.19583 10.733 7.09809 10.7525 6.99938 10.7525C6.90067 10.7525 6.80293 10.733 6.71176 10.6951C6.6206 10.6573 6.53781 10.6018 6.46813 10.5319L4.96813 9.03187C4.89836 8.96211 4.84302 8.87929 4.80527 8.78814C4.76751 8.69698 4.74808 8.59929 4.74808 8.50062C4.74808 8.40196 4.76751 8.30427 4.80527 8.21311C4.84302 8.12196 4.89836 8.03914 4.96813 7.96937C5.03789 7.89961 5.12072 7.84427 5.21187 7.80651C5.30302 7.76876 5.40072 7.74932 5.49938 7.74932C5.59804 7.74932 5.69574 7.76876 5.78689 7.80651C5.87804 7.84427 5.96086 7.89961 6.03063 7.96937L7 8.9375L9.96938 5.9675C10.0392 5.89789 10.122 5.84272 10.2131 5.80513C10.3042 5.76755 10.4018 5.7483 10.5004 5.74847C10.599 5.74865 10.6965 5.76825 10.7875 5.80615C10.8785 5.84405 10.9611 5.89952 11.0306 5.96937ZM14.75 8C14.75 9.33502 14.3541 10.6401 13.6124 11.7501C12.8707 12.8601 11.8165 13.7253 10.5831 14.2362C9.34971 14.7471 7.99251 14.8807 6.68314 14.6203C5.37377 14.3598 4.17104 13.717 3.22703 12.773C2.28303 11.829 1.64015 10.6262 1.3797 9.31686C1.11925 8.00749 1.25292 6.65029 1.76382 5.41689C2.27471 4.18349 3.13987 3.12928 4.2499 2.38758C5.35994 1.64588 6.66498 1.25 8 1.25C9.7896 1.25199 11.5053 1.96378 12.7708 3.22922C14.0362 4.49466 14.748 6.2104 14.75 8ZM13.25 8C13.25 6.96165 12.9421 5.94661 12.3652 5.08326C11.7883 4.2199 10.9684 3.54699 10.0091 3.14963C9.04978 2.75227 7.99418 2.6483 6.97578 2.85088C5.95738 3.05345 5.02192 3.55346 4.28769 4.28769C3.55347 5.02191 3.05345 5.95738 2.85088 6.97578C2.64831 7.99418 2.75228 9.04978 3.14964 10.0091C3.547 10.9684 4.2199 11.7883 5.08326 12.3652C5.94662 12.9421 6.96165 13.25 8 13.25C9.39193 13.2485 10.7264 12.6949 11.7107 11.7107C12.6949 10.7264 13.2485 9.39193 13.25 8Z\", fill: \"currentColor\" }));\nexport default SvgFieldCoverage;\n"],"names":["SvgFieldCoverage","props","React"],"mappings":";AACK,MAACA,IAAmB,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,GAAG,85DAA85D,MAAM,eAAc,CAAE,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as t from "react";
2
+ const c = (e) => /* @__PURE__ */ t.createElement("svg", { viewBox: "64 64 896 896", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ t.createElement("path", { d: "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z" }));
3
+ export {
4
+ c as default
5
+ };
6
+ //# sourceMappingURL=layout.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.svg.js","sources":["../../../src/assets/icons/layout.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgLayout = (props) => /* @__PURE__ */ React.createElement(\"svg\", { viewBox: \"64 64 896 896\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z\" }));\nexport default SvgLayout;\n"],"names":["SvgLayout","props","React"],"mappings":";AACK,MAACA,IAAY,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,SAAS,iBAAiB,MAAM,gBAAgB,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,GAAG,6LAA6L,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as e from "react";
2
+ const C = (t) => /* @__PURE__ */ e.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 12 13", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", ...t }, /* @__PURE__ */ e.createElement("g", null, /* @__PURE__ */ e.createElement("path", { d: "M9.56199 3.5V8.375C9.56199 8.52418 9.50273 8.66726 9.39724 8.77275C9.29175 8.87824 9.14868 8.9375 8.99949 8.9375C8.85031 8.9375 8.70723 8.87824 8.60174 8.77275C8.49625 8.66726 8.43699 8.52418 8.43699 8.375V4.85938L3.39746 9.89797C3.29179 10.0036 3.14847 10.063 2.99902 10.063C2.84958 10.063 2.70626 10.0036 2.60059 9.89797C2.49491 9.7923 2.43555 9.64897 2.43555 9.49953C2.43555 9.35009 2.49491 9.20677 2.60059 9.10109L7.64012 4.0625H4.12449C3.97531 4.0625 3.83223 4.00324 3.72674 3.89775C3.62125 3.79226 3.56199 3.64918 3.56199 3.5C3.56199 3.35082 3.62125 3.20774 3.72674 3.10225C3.83223 2.99676 3.97531 2.9375 4.12449 2.9375H8.99949C9.14868 2.9375 9.29175 2.99676 9.39724 3.10225C9.50273 3.20774 9.56199 3.35082 9.56199 3.5Z", fill: "currentColor" })));
3
+ export {
4
+ C as default
5
+ };
6
+ //# sourceMappingURL=link.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.svg.js","sources":["../../../src/assets/icons/link.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgLink = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: \"1em\", height: \"1em\", viewBox: \"0 0 12 13\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9.56199 3.5V8.375C9.56199 8.52418 9.50273 8.66726 9.39724 8.77275C9.29175 8.87824 9.14868 8.9375 8.99949 8.9375C8.85031 8.9375 8.70723 8.87824 8.60174 8.77275C8.49625 8.66726 8.43699 8.52418 8.43699 8.375V4.85938L3.39746 9.89797C3.29179 10.0036 3.14847 10.063 2.99902 10.063C2.84958 10.063 2.70626 10.0036 2.60059 9.89797C2.49491 9.7923 2.43555 9.64897 2.43555 9.49953C2.43555 9.35009 2.49491 9.20677 2.60059 9.10109L7.64012 4.0625H4.12449C3.97531 4.0625 3.83223 4.00324 3.72674 3.89775C3.62125 3.79226 3.56199 3.64918 3.56199 3.5C3.56199 3.35082 3.62125 3.20774 3.72674 3.10225C3.83223 2.99676 3.97531 2.9375 4.12449 2.9375H8.99949C9.14868 2.9375 9.29175 2.99676 9.39724 3.10225C9.50273 3.20774 9.56199 3.35082 9.56199 3.5Z\", fill: \"currentColor\" })));\nexport default SvgLink;\n"],"names":["SvgLink","props","React"],"mappings":";AACK,MAACA,IAAU,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,OAAO,QAAQ,OAAO,SAAS,aAAa,MAAM,gBAAgB,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,KAAK,MAAsB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,GAAG,ytBAAytB,MAAM,eAAc,CAAE,CAAC,CAAC;"}
@@ -0,0 +1,6 @@
1
+ import * as e from "react";
2
+ const C = (t) => /* @__PURE__ */ e.createElement("svg", { width: 12, height: 12, viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...t }, /* @__PURE__ */ e.createElement("path", { d: "M9.54449 5.27279L3.35355 1.48595C3.22372 1.4068 3.07521 1.36352 2.92319 1.36052C2.77116 1.35752 2.62106 1.39491 2.48821 1.46887C2.35535 1.54283 2.2445 1.65072 2.16697 1.78153C2.08943 1.91233 2.04799 2.06136 2.04688 2.21341V9.78709C2.04799 9.93914 2.08943 10.0882 2.16697 10.219C2.2445 10.3498 2.35535 10.4577 2.48821 10.5316C2.62106 10.6056 2.77116 10.643 2.92319 10.64C3.07521 10.637 3.22372 10.5937 3.35355 10.5145L9.54449 6.72771C9.66933 6.65172 9.77251 6.54489 9.8441 6.41748C9.9157 6.29008 9.95331 6.14639 9.95331 6.00025C9.95331 5.85411 9.9157 5.71042 9.8441 5.58302C9.77251 5.45561 9.66933 5.34878 9.54449 5.27279ZM3.07812 9.47427V2.52623L8.75688 6.00025L3.07812 9.47427Z", fill: "currentColor" }));
3
+ export {
4
+ C as default
5
+ };
6
+ //# sourceMappingURL=playground.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground.svg.js","sources":["../../../src/assets/icons/playground.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgPlayground = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 12, height: 12, viewBox: \"0 0 12 12\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9.54449 5.27279L3.35355 1.48595C3.22372 1.4068 3.07521 1.36352 2.92319 1.36052C2.77116 1.35752 2.62106 1.39491 2.48821 1.46887C2.35535 1.54283 2.2445 1.65072 2.16697 1.78153C2.08943 1.91233 2.04799 2.06136 2.04688 2.21341V9.78709C2.04799 9.93914 2.08943 10.0882 2.16697 10.219C2.2445 10.3498 2.35535 10.4577 2.48821 10.5316C2.62106 10.6056 2.77116 10.643 2.92319 10.64C3.07521 10.637 3.22372 10.5937 3.35355 10.5145L9.54449 6.72771C9.66933 6.65172 9.77251 6.54489 9.8441 6.41748C9.9157 6.29008 9.95331 6.14639 9.95331 6.00025C9.95331 5.85411 9.9157 5.71042 9.8441 5.58302C9.77251 5.45561 9.66933 5.34878 9.54449 5.27279ZM3.07812 9.47427V2.52623L8.75688 6.00025L3.07812 9.47427Z\", fill: \"currentColor\" }));\nexport default SvgPlayground;\n"],"names":["SvgPlayground","props","React"],"mappings":";AACK,MAACA,IAAgB,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,EAAK,GAAoB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,GAAG,0qBAA0qB,MAAM,eAAc,CAAE,CAAC;"}