@plumile/ui 0.1.68 → 0.1.70
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/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js +62 -0
- package/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js.map +1 -0
- package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +17 -0
- package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js.map +1 -0
- package/lib/esm/{backoffice/organisms/backoffice_topbar/BackofficeTopbar.js → admin/organisms/admin_topbar/AdminTopbar.js} +4 -4
- package/lib/esm/admin/organisms/admin_topbar/AdminTopbar.js.map +1 -0
- package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +8 -0
- package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js.map +1 -0
- package/lib/esm/admin/templates/admin_shell_layout/AdminShellLayout.js +19 -0
- package/lib/esm/admin/templates/admin_shell_layout/AdminShellLayout.js.map +1 -0
- package/lib/esm/admin/theme/AdminThemeProvider.js +11 -0
- package/lib/esm/admin/theme/AdminThemeProvider.js.map +1 -0
- package/lib/esm/admin/theme/adminTheme.css.js +7 -0
- package/lib/esm/admin/theme/adminTheme.css.js.map +1 -0
- package/lib/esm/atomic/atoms/badge/Badge.js +3 -3
- package/lib/esm/atomic/atoms/button/Button.js +1 -1
- package/lib/esm/atomic/atoms/checkbox/Checkbox.js +1 -1
- package/lib/esm/atomic/atoms/error_message/ErrorMessage.js +1 -1
- package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js +4 -4
- package/lib/esm/atomic/atoms/label/Label.js +1 -1
- package/lib/esm/atomic/atoms/modal/Modal.js +13 -13
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js +12 -12
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +20 -20
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js +14 -14
- package/lib/esm/atomic/molecules/card/Card.js +6 -6
- package/lib/esm/atomic/molecules/checkbox_field/CheckboxField.js +1 -1
- package/lib/esm/atomic/molecules/dropdown/Dropdown.js +80 -80
- package/lib/esm/atomic/molecules/dropdown/Dropdown.js.map +1 -1
- package/lib/esm/atomic/molecules/form/Form.js +1 -1
- package/lib/esm/atomic/molecules/form_error/FormError.js +1 -1
- package/lib/esm/atomic/molecules/highlight/HighlightCode.js +25 -25
- package/lib/esm/atomic/molecules/markdown/LazyMarkdownRenderer.js +7 -7
- package/lib/esm/atomic/molecules/markdown/MarkdownRenderer.js +33 -33
- package/lib/esm/atomic/molecules/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/LazyMarkdownCodeBlock.js +9 -9
- package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js +0 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeBlock.js +7 -7
- package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.js +9 -9
- package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnotesSection.js +7 -7
- package/lib/esm/atomic/molecules/markdown/components/MarkdownMermaidBlock.js +34 -34
- package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js +1 -0
- package/lib/esm/atomic/molecules/markdown/components/MarkdownShikiCodeBlock.js +4 -4
- package/lib/esm/atomic/molecules/profile_dropdown/ProfileDropdown.js +25 -25
- package/lib/esm/atomic/molecules/toast/ToastProvider.js +15 -15
- package/lib/esm/atomic/molecules/toast/ToastViewport.js +15 -15
- package/lib/esm/atomic/organisms/login_form/LoginForm.js +1 -1
- package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js +34 -34
- package/lib/esm/atomic/organisms/sidebar/icons.js +13 -13
- package/lib/esm/atomic/templates/auth_layout/AuthLayout.js +1 -1
- package/lib/esm/atomic/templates/detail-page/DetailPage.js +49 -0
- package/lib/esm/atomic/templates/detail-page/DetailPage.js.map +1 -0
- package/lib/esm/atomic/templates/detail-page/detailPage.css.js +8 -0
- package/lib/esm/atomic/templates/detail-page/detailPage.css.js.map +1 -0
- package/lib/esm/atomic/templates/page-container/PageContainer.js +36 -0
- package/lib/esm/atomic/templates/page-container/PageContainer.js.map +1 -0
- package/lib/esm/atomic/templates/page-container/pageContainer.css.js +8 -0
- package/lib/esm/atomic/templates/page-container/pageContainer.css.js.map +1 -0
- package/lib/esm/backoffice/atoms/copyable_text/CopyableText.js +10 -10
- package/lib/esm/backoffice/atoms/shortcut_hint/ShortcutHint.js +6 -6
- package/lib/esm/backoffice/atoms/tag/Tag.js +7 -7
- package/lib/esm/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js +22 -22
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.js +12 -12
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +11 -11
- package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js +27 -21
- package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js +2 -2
- package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js +12 -12
- package/lib/esm/backoffice/molecules/confirm_dialog/ConfirmDialog.js +9 -9
- package/lib/esm/backoffice/molecules/global_search_input/GlobalSearchInput.js +5 -5
- package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js +7 -7
- package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js +26 -26
- package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +11 -11
- package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js +20 -20
- package/lib/esm/components/data-table/TableCell.js +17 -17
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js +27 -27
- package/lib/esm/components/layout/AppShell.js +14 -0
- package/lib/esm/components/layout/AppShell.js.map +1 -0
- package/lib/esm/components/layout/PageShell.js +65 -65
- package/lib/esm/components/layout/PageShell.js.map +1 -1
- package/lib/esm/components/layout/SettingsLayout.css.js +8 -0
- package/lib/esm/components/layout/SettingsLayout.css.js.map +1 -0
- package/lib/esm/{backoffice/templates/settings_template/SettingsTemplate.js → components/layout/SettingsLayout.js} +5 -5
- package/lib/esm/components/layout/SettingsLayout.js.map +1 -0
- package/lib/esm/components/layout/SplitViewLayout.css.js +8 -0
- package/lib/esm/components/layout/SplitViewLayout.css.js.map +1 -0
- package/lib/esm/{backoffice/templates/split_view_template/SplitViewTemplate.js → components/layout/SplitViewLayout.js} +5 -5
- package/lib/esm/components/layout/SplitViewLayout.js.map +1 -0
- package/lib/esm/components/select/SimpleSelect.js +23 -23
- package/lib/esm/index.js +109 -106
- package/lib/esm/node_modules/react-shiki/dist/chunk-QPJZGYHO.js +23 -23
- package/lib/esm/node_modules/react-shiki/dist/chunk-QPJZGYHO.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/esm/theme/ThemeProvider.js +11 -11
- package/lib/esm/theme/VisuallyHidden.js +3 -3
- package/lib/esm/theme/index.js +9 -9
- package/lib/types/{backoffice/organisms/backoffice_sidebar/BackofficeSidebar.d.ts → admin/organisms/admin_sidebar/AdminSidebar.d.ts} +7 -7
- package/lib/types/admin/organisms/admin_sidebar/AdminSidebar.d.ts.map +1 -0
- package/lib/types/{backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.d.ts → admin/organisms/admin_sidebar/adminSidebar.css.d.ts} +1 -1
- package/lib/types/admin/organisms/admin_sidebar/adminSidebar.css.d.ts.map +1 -0
- package/lib/types/admin/organisms/admin_topbar/AdminTopbar.d.ts +10 -0
- package/lib/types/admin/organisms/admin_topbar/AdminTopbar.d.ts.map +1 -0
- package/lib/types/{backoffice/organisms/backoffice_topbar/backofficeTopbar.css.d.ts → admin/organisms/admin_topbar/adminTopbar.css.d.ts} +1 -1
- package/lib/types/admin/organisms/admin_topbar/adminTopbar.css.d.ts.map +1 -0
- package/lib/types/admin/templates/admin_shell_layout/AdminShellLayout.d.ts +14 -0
- package/lib/types/admin/templates/admin_shell_layout/AdminShellLayout.d.ts.map +1 -0
- package/lib/types/admin/theme/AdminThemeProvider.d.ts +7 -0
- package/lib/types/admin/theme/AdminThemeProvider.d.ts.map +1 -0
- package/lib/types/admin/theme/adminTheme.css.d.ts +2 -0
- package/lib/types/admin/theme/adminTheme.css.d.ts.map +1 -0
- package/lib/types/atomic/templates/detail-page/DetailPage.d.ts +19 -0
- package/lib/types/atomic/templates/detail-page/DetailPage.d.ts.map +1 -0
- package/lib/types/atomic/templates/detail-page/detailPage.css.d.ts +9 -0
- package/lib/types/atomic/templates/detail-page/detailPage.css.d.ts.map +1 -0
- package/lib/types/atomic/templates/page-container/PageContainer.d.ts +14 -0
- package/lib/types/atomic/templates/page-container/PageContainer.d.ts.map +1 -0
- package/lib/types/atomic/templates/page-container/pageContainer.css.d.ts +7 -0
- package/lib/types/atomic/templates/page-container/pageContainer.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_page_header/BackofficePageHeader.d.ts +2 -1
- package/lib/types/backoffice/molecules/backoffice_page_header/BackofficePageHeader.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.d.ts +2 -0
- package/lib/types/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.d.ts.map +1 -1
- package/lib/types/components/layout/AppShell.d.ts +12 -0
- package/lib/types/components/layout/AppShell.d.ts.map +1 -0
- package/lib/types/{backoffice/templates/settings_template/settingsTemplate.css.d.ts → components/layout/SettingsLayout.css.d.ts} +1 -1
- package/lib/types/components/layout/SettingsLayout.css.d.ts.map +1 -0
- package/lib/types/components/layout/SettingsLayout.d.ts +11 -0
- package/lib/types/components/layout/SettingsLayout.d.ts.map +1 -0
- package/lib/types/{backoffice/templates/split_view_template/splitViewTemplate.css.d.ts → components/layout/SplitViewLayout.css.d.ts} +1 -1
- package/lib/types/components/layout/SplitViewLayout.css.d.ts.map +1 -0
- package/lib/types/components/layout/SplitViewLayout.d.ts +11 -0
- package/lib/types/components/layout/SplitViewLayout.d.ts.map +1 -0
- package/lib/types/index.d.ts +11 -8
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +10 -10
- package/lib/esm/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.js +0 -14
- package/lib/esm/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.js +0 -62
- package/lib/esm/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.js +0 -17
- package/lib/esm/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_topbar/BackofficeTopbar.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.js +0 -8
- package/lib/esm/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.js.map +0 -1
- package/lib/esm/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.js +0 -19
- package/lib/esm/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.js.map +0 -1
- package/lib/esm/backoffice/templates/settings_template/SettingsTemplate.js.map +0 -1
- package/lib/esm/backoffice/templates/settings_template/settingsTemplate.css.js +0 -8
- package/lib/esm/backoffice/templates/settings_template/settingsTemplate.css.js.map +0 -1
- package/lib/esm/backoffice/templates/split_view_template/SplitViewTemplate.js.map +0 -1
- package/lib/esm/backoffice/templates/split_view_template/splitViewTemplate.css.js +0 -8
- package/lib/esm/backoffice/templates/split_view_template/splitViewTemplate.css.js.map +0 -1
- package/lib/esm/backoffice/theme/BackofficeThemeProvider.js +0 -11
- package/lib/esm/backoffice/theme/BackofficeThemeProvider.js.map +0 -1
- package/lib/esm/backoffice/theme/backofficeTheme.css.js +0 -7
- package/lib/esm/backoffice/theme/backofficeTheme.css.js.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.d.ts +0 -12
- package/lib/types/backoffice/organisms/backoffice_app_shell/BackofficeAppShell.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_sidebar/BackofficeSidebar.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_sidebar/backofficeSidebar.css.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_topbar/BackofficeTopbar.d.ts +0 -10
- package/lib/types/backoffice/organisms/backoffice_topbar/BackofficeTopbar.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_topbar/backofficeTopbar.css.d.ts.map +0 -1
- package/lib/types/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.d.ts +0 -14
- package/lib/types/backoffice/templates/backoffice_shell_template/BackofficeShellTemplate.d.ts.map +0 -1
- package/lib/types/backoffice/templates/settings_template/SettingsTemplate.d.ts +0 -11
- package/lib/types/backoffice/templates/settings_template/SettingsTemplate.d.ts.map +0 -1
- package/lib/types/backoffice/templates/settings_template/settingsTemplate.css.d.ts.map +0 -1
- package/lib/types/backoffice/templates/split_view_template/SplitViewTemplate.d.ts +0 -11
- package/lib/types/backoffice/templates/split_view_template/SplitViewTemplate.d.ts.map +0 -1
- package/lib/types/backoffice/templates/split_view_template/splitViewTemplate.css.d.ts.map +0 -1
- package/lib/types/backoffice/theme/BackofficeThemeProvider.d.ts +0 -7
- package/lib/types/backoffice/theme/BackofficeThemeProvider.d.ts.map +0 -1
- package/lib/types/backoffice/theme/backofficeTheme.css.d.ts +0 -2
- package/lib/types/backoffice/theme/backofficeTheme.css.d.ts.map +0 -1
package/lib/esm/index.js
CHANGED
|
@@ -1,109 +1,112 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { FormattedDate as s } from "./atomic/atoms/formatted-date/FormattedDate.js";
|
|
10
|
-
import { IconMenuButton as c } from "./atomic/atoms/icon-button/IconMenuButton.js";
|
|
11
|
-
import { Overlay as l } from "./atomic/atoms/overlay/Overlay.js";
|
|
12
|
-
import { Modal as u } from "./atomic/atoms/modal/Modal.js";
|
|
13
|
-
import { Textarea as d } from "./atomic/atoms/textarea/Textarea.js";
|
|
14
|
-
import { BreadcrumbNavigation as f } from "./atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js";
|
|
15
|
-
import { Card as p } from "./atomic/molecules/card/Card.js";
|
|
16
|
-
import { CheckboxField as m } from "./atomic/molecules/checkbox_field/CheckboxField.js";
|
|
17
|
-
import { EmptyState as h } from "./atomic/molecules/empty-state/EmptyState.js";
|
|
18
|
-
import { Form as g } from "./atomic/molecules/form/Form.js";
|
|
19
|
-
import { FormErrorBanner as _ } from "./atomic/molecules/form/FormErrorBanner.js";
|
|
20
|
-
import { FormGroup as v } from "./atomic/molecules/form/FormGroup.js";
|
|
21
|
-
import { FormActions as y } from "./atomic/molecules/form-actions/FormActions.js";
|
|
22
|
-
import { FormError as b } from "./atomic/molecules/form_error/FormError.js";
|
|
23
|
-
import { FormField as x } from "./atomic/molecules/form_field/FormField.js";
|
|
24
|
-
import { HighlightCode as S } from "./atomic/molecules/highlight/HighlightCode.js";
|
|
25
|
-
import { LazyMarkdownRenderer as C } from "./atomic/molecules/markdown/LazyMarkdownRenderer.js";
|
|
26
|
-
import { colors as w } from "./theme/colors.js";
|
|
27
|
-
import { colors as T, spacing as E, vars as D } from "./theme/themeContract.js";
|
|
28
|
-
import { MarkdownRenderer as O } from "./atomic/molecules/markdown/MarkdownRenderer.js";
|
|
29
|
-
import { markdownFontSizeVar as k, markdownLinkColorVar as A, markdownLinkDisabledColorVar as j, markdownLinkHoverColorVar as M, markdownLinkIconColorVar as N, markdownTextColorVar as P } from "./atomic/molecules/markdown/markdownVars.css.js";
|
|
30
|
-
import { ProfileDropdown as F } from "./atomic/molecules/profile_dropdown/ProfileDropdown.js";
|
|
31
|
-
import { Tabs as I } from "./atomic/molecules/tabs/Tabs.js";
|
|
32
|
-
import { ToastViewport as L } from "./atomic/molecules/toast/ToastViewport.js";
|
|
33
|
-
import { ToastProvider as R, useToast as z } from "./atomic/molecules/toast/ToastProvider.js";
|
|
34
|
-
import { THEME_KEY as B, ThemeProvider as V, useTheme as H } from "./theme/ThemeProvider.js";
|
|
35
|
-
import { VisuallyHidden as U } from "./theme/VisuallyHidden.js";
|
|
36
|
-
import { containerQueries as W } from "./theme/containerQueries.js";
|
|
37
|
-
import { firstChildSprinkles as G, hoverSprinkles as K, sprinkles as q } from "./theme/sprinkles.css.js";
|
|
38
|
-
import { opacity as J, screens as Y, spacing as X } from "./theme/common.js";
|
|
1
|
+
import { THEME_KEY as ee, ThemeProvider as te, useTheme as ne } from "./theme/ThemeProvider.js";
|
|
2
|
+
import { cx as e, onlyDefinedStyles as t } from "./theme/tools.js";
|
|
3
|
+
import { VisuallyHidden as n } from "./theme/VisuallyHidden.js";
|
|
4
|
+
import { containerQueries as r } from "./theme/containerQueries.js";
|
|
5
|
+
import { colors as i, spacing as a, vars as o } from "./theme/themeContract.js";
|
|
6
|
+
import { firstChildSprinkles as s, hoverSprinkles as c, sprinkles as l } from "./theme/sprinkles.css.js";
|
|
7
|
+
import { opacity as u, screens as d, spacing as f } from "./theme/common.js";
|
|
8
|
+
import { colors as p } from "./theme/colors.js";
|
|
39
9
|
import "./theme/index.js";
|
|
40
|
-
import {
|
|
10
|
+
import { Badge as m } from "./atomic/atoms/badge/Badge.js";
|
|
11
|
+
import { Button as h } from "./atomic/atoms/button/Button.js";
|
|
12
|
+
import { LinkButton as g } from "./atomic/atoms/button/LinkButton.js";
|
|
13
|
+
import { Input as _ } from "./atomic/atoms/input/Input.js";
|
|
14
|
+
import { Label as v } from "./atomic/atoms/label/Label.js";
|
|
15
|
+
import { Checkbox as y } from "./atomic/atoms/checkbox/Checkbox.js";
|
|
16
|
+
import { ErrorMessage as b } from "./atomic/atoms/error_message/ErrorMessage.js";
|
|
17
|
+
import { FormattedDate as x } from "./atomic/atoms/formatted-date/FormattedDate.js";
|
|
18
|
+
import { IconMenuButton as S } from "./atomic/atoms/icon-button/IconMenuButton.js";
|
|
19
|
+
import { Overlay as C } from "./atomic/atoms/overlay/Overlay.js";
|
|
20
|
+
import { Modal as w } from "./atomic/atoms/modal/Modal.js";
|
|
21
|
+
import { Textarea as T } from "./atomic/atoms/textarea/Textarea.js";
|
|
22
|
+
import { Card as E } from "./atomic/molecules/card/Card.js";
|
|
23
|
+
import { BreadcrumbNavigation as D } from "./atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js";
|
|
24
|
+
import { FormActions as O } from "./atomic/molecules/form-actions/FormActions.js";
|
|
25
|
+
import { CheckboxField as k } from "./atomic/molecules/checkbox_field/CheckboxField.js";
|
|
26
|
+
import { FormError as A } from "./atomic/molecules/form_error/FormError.js";
|
|
27
|
+
import { FormField as j } from "./atomic/molecules/form_field/FormField.js";
|
|
28
|
+
import { Form as M } from "./atomic/molecules/form/Form.js";
|
|
29
|
+
import { FormErrorBanner as N } from "./atomic/molecules/form/FormErrorBanner.js";
|
|
30
|
+
import { FormGroup as P } from "./atomic/molecules/form/FormGroup.js";
|
|
31
|
+
import { HighlightCode as F } from "./atomic/molecules/highlight/HighlightCode.js";
|
|
32
|
+
import { LazyMarkdownRenderer as I } from "./atomic/molecules/markdown/LazyMarkdownRenderer.js";
|
|
33
|
+
import { MarkdownRenderer as L } from "./atomic/molecules/markdown/MarkdownRenderer.js";
|
|
34
|
+
import { markdownFontSizeVar as R, markdownLinkColorVar as z, markdownLinkDisabledColorVar as B, markdownLinkHoverColorVar as V, markdownLinkIconColorVar as H, markdownTextColorVar as U } from "./atomic/molecules/markdown/markdownVars.css.js";
|
|
35
|
+
import { EmptyState as W } from "./atomic/molecules/empty-state/EmptyState.js";
|
|
36
|
+
import { ProfileDropdown as G } from "./atomic/molecules/profile_dropdown/ProfileDropdown.js";
|
|
37
|
+
import { Tabs as K } from "./atomic/molecules/tabs/Tabs.js";
|
|
38
|
+
import { ToastViewport as q } from "./atomic/molecules/toast/ToastViewport.js";
|
|
39
|
+
import { ToastProvider as J, useToast as Y } from "./atomic/molecules/toast/ToastProvider.js";
|
|
40
|
+
import { useLoginForm as X } from "./atomic/organisms/login_form/useLoginForm.js";
|
|
41
|
+
import { LoginForm as Z } from "./atomic/organisms/login_form/LoginForm.js";
|
|
41
42
|
import { SidebarContainer as Q } from "./atomic/organisms/sidebar/SidebarContainer.js";
|
|
42
43
|
import "./atomic/organisms/sidebar/Sidebar.js";
|
|
43
|
-
import { ChevronLeftIcon as
|
|
44
|
-
import { NavigationSidebar as
|
|
45
|
-
import { AuthLayout as
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
import { DetailPageTemplate as
|
|
99
|
-
import { ListPageTemplate as
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import { FALLBACK_REFERENCE as
|
|
105
|
-
import { denseTableClass as
|
|
106
|
-
import { WrapperPage as
|
|
107
|
-
import { ChevronDownIcon as
|
|
108
|
-
import {
|
|
109
|
-
|
|
44
|
+
import { ChevronLeftIcon as re, ChevronRightIcon as ie, DocumentationIcon as ae, HomeIcon as oe, InitiativesIcon as se, PlusIcon as ce, ProjectsIcon as le, SearchIcon as ue, SettingsIcon as de, TasksIcon as fe, TeamIcon as pe } from "./atomic/organisms/sidebar/icons.js";
|
|
45
|
+
import { NavigationSidebar as me } from "./atomic/organisms/sidebar/NavigationSidebar.js";
|
|
46
|
+
import { AuthLayout as he } from "./atomic/templates/auth_layout/AuthLayout.js";
|
|
47
|
+
import { BackofficePageHeader as ge } from "./backoffice/molecules/backoffice_page_header/BackofficePageHeader.js";
|
|
48
|
+
import { PageContainer as _e } from "./atomic/templates/page-container/PageContainer.js";
|
|
49
|
+
import { DetailPage as ve, DetailPageContent as ye } from "./atomic/templates/detail-page/DetailPage.js";
|
|
50
|
+
import { BillingUsageLineChart as be } from "./components/charts/BillingUsageLineChart.js";
|
|
51
|
+
import { DataTable as xe } from "./components/data-table/DataTable.js";
|
|
52
|
+
import { ContentLayout as Se } from "./components/layout/ContentLayout.js";
|
|
53
|
+
import { PageShell as $ } from "./components/layout/PageShell.js";
|
|
54
|
+
import { AppShell as Ce } from "./components/layout/AppShell.js";
|
|
55
|
+
import { OrganizationLayout as we } from "./components/organization_layout/OrganizationLayout.js";
|
|
56
|
+
import { SettingsLayout as Te } from "./components/layout/SettingsLayout.js";
|
|
57
|
+
import { SplitViewLayout as Ee } from "./components/layout/SplitViewLayout.js";
|
|
58
|
+
import { sanitizeAgentAnswer as De, sanitizeAgentMarkdown as Oe } from "./shared/agentText.js";
|
|
59
|
+
import { AgentMarkdownCard as ke } from "./components/agent/AgentMarkdownCard.js";
|
|
60
|
+
import { SimpleSelect as Ae } from "./components/select/SimpleSelect.js";
|
|
61
|
+
import { RefetchNeededBanner as je } from "./components/subscriptions/RefetchNeededBanner.js";
|
|
62
|
+
import { TabsContentLayout as Me } from "./components/layout/TabsContentLayout.js";
|
|
63
|
+
import { InfoTile as Ne } from "./components/tile/InfoTile.js";
|
|
64
|
+
import { VirtualizedConnectionTable as Pe } from "./components/data-table/VirtualizedConnectionTable.js";
|
|
65
|
+
import { CopyableText as Fe } from "./backoffice/atoms/copyable_text/CopyableText.js";
|
|
66
|
+
import { BackofficeIdBadge as Ie } from "./backoffice/atoms/backoffice_id_badge/BackofficeIdBadge.js";
|
|
67
|
+
import { EnvironmentBadge as Le } from "./backoffice/atoms/environment_badge/EnvironmentBadge.js";
|
|
68
|
+
import { Skeleton as Re } from "./backoffice/atoms/skeleton/Skeleton.js";
|
|
69
|
+
import { Spinner as ze } from "./backoffice/atoms/spinner/Spinner.js";
|
|
70
|
+
import { StatusBadge as Be } from "./backoffice/atoms/status_badge/StatusBadge.js";
|
|
71
|
+
import { Tag as Ve } from "./backoffice/atoms/tag/Tag.js";
|
|
72
|
+
import { BackofficeDetailLayout as He } from "./backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js";
|
|
73
|
+
import { BackofficeEmptyState as Ue } from "./backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js";
|
|
74
|
+
import { BackofficeFilterDrawer as We } from "./backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js";
|
|
75
|
+
import { BackofficeFilterField as Ge } from "./backoffice/molecules/backoffice_filter_field/BackofficeFilterField.js";
|
|
76
|
+
import { BackofficeFiltersBar as Ke } from "./backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js";
|
|
77
|
+
import { BackofficeFormSection as qe } from "./backoffice/molecules/backoffice_form_section/BackofficeFormSection.js";
|
|
78
|
+
import { ConfirmDialog as Je } from "./backoffice/molecules/confirm_dialog/ConfirmDialog.js";
|
|
79
|
+
import { BackofficeJsonViewer as Ye } from "./backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.js";
|
|
80
|
+
import { LazyBackofficeJsonViewer as Xe } from "./backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js";
|
|
81
|
+
import { BackofficeKeyValueList as Ze } from "./backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js";
|
|
82
|
+
import { BackofficeLoadMore as Qe } from "./backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js";
|
|
83
|
+
import { BackofficeRelationsMenu as $e } from "./backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js";
|
|
84
|
+
import { BackofficeTableSkeleton as et } from "./backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.js";
|
|
85
|
+
import { BackofficeTableToolbar as tt } from "./backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js";
|
|
86
|
+
import { BackofficeTabs as nt } from "./backoffice/molecules/backoffice_tabs/BackofficeTabs.js";
|
|
87
|
+
import { BulkActionsBar as rt } from "./backoffice/molecules/bulk_actions_bar/BulkActionsBar.js";
|
|
88
|
+
import { FilterChipRow as it } from "./backoffice/molecules/filter_chip_row/FilterChipRow.js";
|
|
89
|
+
import { GlobalSearchInput as at } from "./backoffice/molecules/global_search_input/GlobalSearchInput.js";
|
|
90
|
+
import { InlineBanner as ot } from "./backoffice/molecules/inline_banner/InlineBanner.js";
|
|
91
|
+
import { SidebarNavItem as st } from "./backoffice/molecules/sidebar_nav_item/SidebarNavItem.js";
|
|
92
|
+
import { SidebarNavSection as ct } from "./backoffice/molecules/sidebar_nav_section/SidebarNavSection.js";
|
|
93
|
+
import { BackofficeSidebarProfileMenu as lt } from "./backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js";
|
|
94
|
+
import { TableToolbar as ut } from "./backoffice/molecules/table_toolbar/TableToolbar.js";
|
|
95
|
+
import { AuditTimeline as dt } from "./backoffice/organisms/audit_timeline/AuditTimeline.js";
|
|
96
|
+
import { BackofficeDataTable as ft } from "./backoffice/organisms/backoffice_data_table/BackofficeDataTable.js";
|
|
97
|
+
import { BackofficeVirtualizedConnectionTable as pt } from "./backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js";
|
|
98
|
+
import { EntityHeader as mt } from "./backoffice/organisms/entity_header/EntityHeader.js";
|
|
99
|
+
import { DetailPageTemplate as ht } from "./backoffice/templates/detail_page_template/DetailPageTemplate.js";
|
|
100
|
+
import { ListPageTemplate as gt } from "./backoffice/templates/list_page_template/ListPageTemplate.js";
|
|
101
|
+
import { AdminTopbar as _t } from "./admin/organisms/admin_topbar/AdminTopbar.js";
|
|
102
|
+
import { AdminShellLayout as vt } from "./admin/templates/admin_shell_layout/AdminShellLayout.js";
|
|
103
|
+
import { adminThemeClass as yt } from "./admin/theme/adminTheme.css.js";
|
|
104
|
+
import { AdminThemeProvider as bt } from "./admin/theme/AdminThemeProvider.js";
|
|
105
|
+
import { FALLBACK_REFERENCE as xt, formatNullableCurrency as St, formatNullableNumber as Ct, formatNullableString as wt, formatStringList as Tt } from "./shared/agentJobRequestFormatting.js";
|
|
106
|
+
import { denseTableClass as Et } from "./shared/backofficeTableDensity.css.js";
|
|
107
|
+
import { WrapperPage as Dt } from "./pages/WrapperPage.js";
|
|
108
|
+
import { ChevronDownIcon as Ot } from "./svg/ChevronDownIcon.js";
|
|
109
|
+
import { ShortcutHint as kt } from "./backoffice/atoms/shortcut_hint/ShortcutHint.js";
|
|
110
|
+
import { SidebarCollapseToggle as At } from "./backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js";
|
|
111
|
+
import { AdminSidebar as jt } from "./admin/organisms/admin_sidebar/AdminSidebar.js";
|
|
112
|
+
export { vt as AdminShellLayout, jt as AdminSidebar, bt as AdminThemeProvider, _t as AdminTopbar, ke as AgentMarkdownCard, Ce as AppShell, dt as AuditTimeline, he as AuthLayout, ft as BackofficeDataTable, He as BackofficeDetailLayout, Ue as BackofficeEmptyState, We as BackofficeFilterDrawer, Ge as BackofficeFilterField, Ke as BackofficeFiltersBar, qe as BackofficeFormSection, Ie as BackofficeIdBadge, Ye as BackofficeJsonViewer, Ze as BackofficeKeyValueList, Qe as BackofficeLoadMore, ge as BackofficePageHeader, $e as BackofficeRelationsMenu, lt as BackofficeSidebarProfileMenu, et as BackofficeTableSkeleton, tt as BackofficeTableToolbar, nt as BackofficeTabs, pt as BackofficeVirtualizedConnectionTable, m as Badge, be as BillingUsageLineChart, D as BreadcrumbNavigation, rt as BulkActionsBar, h as Button, E as Card, y as Checkbox, k as CheckboxField, Ot as ChevronDownIcon, re as ChevronLeftIcon, ie as ChevronRightIcon, Je as ConfirmDialog, Se as ContentLayout, Fe as CopyableText, xe as DataTable, ve as DetailPage, ye as DetailPageContent, ht as DetailPageTemplate, ae as DocumentationIcon, W as EmptyState, mt as EntityHeader, Le as EnvironmentBadge, b as ErrorMessage, xt as FALLBACK_REFERENCE, it as FilterChipRow, M as Form, O as FormActions, A as FormError, N as FormErrorBanner, j as FormField, P as FormGroup, x as FormattedDate, at as GlobalSearchInput, F as HighlightCode, oe as HomeIcon, S as IconMenuButton, Ne as InfoTile, se as InitiativesIcon, ot as InlineBanner, _ as Input, v as Label, Xe as LazyBackofficeJsonViewer, I as LazyMarkdownRenderer, g as LinkButton, gt as ListPageTemplate, Z as LoginForm, L as MarkdownRenderer, w as Modal, me as NavigationSidebar, we as OrganizationLayout, C as Overlay, _e as PageContainer, $ as PageShell, ce as PlusIcon, G as ProfileDropdown, le as ProjectsIcon, je as RefetchNeededBanner, ue as SearchIcon, de as SettingsIcon, Te as SettingsLayout, kt as ShortcutHint, Q as Sidebar, At as SidebarCollapseToggle, Q as SidebarContainer, st as SidebarNavItem, ct as SidebarNavSection, Ae as SimpleSelect, Re as Skeleton, ze as Spinner, Ee as SplitViewLayout, Be as StatusBadge, ee as THEME_KEY, ut as TableToolbar, K as Tabs, Me as TabsContentLayout, Ve as Tag, fe as TasksIcon, pe as TeamIcon, T as Textarea, te as ThemeProvider, J as ToastProvider, q as ToastViewport, Pe as VirtualizedConnectionTable, n as VisuallyHidden, Dt as WrapperPage, yt as adminThemeClass, i as colors, r as containerQueries, e as cx, Et as denseTableClass, s as firstChildSprinkles, St as formatNullableCurrency, Ct as formatNullableNumber, wt as formatNullableString, Tt as formatStringList, c as hoverSprinkles, R as markdownFontSizeVar, z as markdownLinkColorVar, B as markdownLinkDisabledColorVar, V as markdownLinkHoverColorVar, H as markdownLinkIconColorVar, U as markdownTextColorVar, t as onlyDefinedStyles, u as opacity, De as sanitizeAgentAnswer, Oe as sanitizeAgentMarkdown, d as screens, a as spacing, l as sprinkles, p as themeColorValues, f as themeSpacingValues, X as useLoginForm, ne as useTheme, Y as useToast, o as vars };
|
|
@@ -3,11 +3,11 @@ import { isSpecialLang as t } from "../../@shikijs/primitive/dist/index.js";
|
|
|
3
3
|
import { guessEmbeddedLanguages as n } from "../../@shikijs/core/dist/index.js";
|
|
4
4
|
import { dequal as r } from "../../dequal/dist/index.js";
|
|
5
5
|
import i from "../../clsx/dist/clsx.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { forwardRef as a, useEffect as o, useMemo as s, useRef as c, useState as l } from "react";
|
|
7
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
8
|
//#region ../../node_modules/react-shiki/dist/chunk-QPJZGYHO.js
|
|
9
9
|
var p = (e) => {
|
|
10
|
-
let t =
|
|
10
|
+
let t = c(e);
|
|
11
11
|
return e !== t.current && !r(e, t.current) && (t.current = e), t.current;
|
|
12
12
|
}, m = (e, t, n) => {
|
|
13
13
|
let r = Date.now();
|
|
@@ -95,16 +95,16 @@ var T = {
|
|
|
95
95
|
}, k = (e, t, r) => {
|
|
96
96
|
let i = r.getBundledLanguages();
|
|
97
97
|
return n(e, t).flatMap((e) => i[e] ?? []);
|
|
98
|
-
}, A = (t, n, r, i = {},
|
|
99
|
-
let [h, g] =
|
|
98
|
+
}, A = (t, n, r, i = {}, a) => {
|
|
99
|
+
let [h, g] = l(null), _ = p(n), v = p(r), y = p(i), { languageId: S, langsToLoad: w } = s(() => x(_, y.customLanguages, y.langAlias, y.preloadLanguages), [
|
|
100
100
|
_,
|
|
101
101
|
y.customLanguages,
|
|
102
102
|
y.preloadLanguages,
|
|
103
103
|
y.langAlias
|
|
104
|
-
]), T =
|
|
104
|
+
]), T = s(() => C(v), [v]), { themesToLoad: E } = T, D = c({
|
|
105
105
|
nextAllowedTime: 0,
|
|
106
106
|
timeoutId: void 0
|
|
107
|
-
}), A =
|
|
107
|
+
}), A = s(() => O({
|
|
108
108
|
languageId: S,
|
|
109
109
|
resolvedTheme: T,
|
|
110
110
|
options: y
|
|
@@ -113,22 +113,22 @@ var T = {
|
|
|
113
113
|
T,
|
|
114
114
|
y
|
|
115
115
|
]);
|
|
116
|
-
return
|
|
116
|
+
return o(() => {
|
|
117
117
|
let n = !0, r = async () => {
|
|
118
118
|
if (!S) return;
|
|
119
|
-
let r = y.highlighter ? y.highlighter : await
|
|
119
|
+
let r = y.highlighter ? y.highlighter : await a(w, E, y.engine);
|
|
120
120
|
if (!y.highlighter) {
|
|
121
121
|
let e = k(t, S, r);
|
|
122
122
|
e.length > 0 && await r.loadLanguage(...e);
|
|
123
123
|
}
|
|
124
|
-
let i = b(S, r.getLoadedLanguages()),
|
|
124
|
+
let i = b(S, r.getLoadedLanguages()), o = {
|
|
125
125
|
...A,
|
|
126
126
|
lang: i
|
|
127
127
|
};
|
|
128
|
-
n && g(y.outputFormat === "html" ? r.codeToHtml(t,
|
|
129
|
-
jsx:
|
|
130
|
-
jsxs:
|
|
131
|
-
Fragment:
|
|
128
|
+
n && g(y.outputFormat === "html" ? r.codeToHtml(t, o) : e(r.codeToHast(t, o), {
|
|
129
|
+
jsx: d,
|
|
130
|
+
jsxs: f,
|
|
131
|
+
Fragment: u
|
|
132
132
|
}));
|
|
133
133
|
}, { delay: i } = y;
|
|
134
134
|
return i ? m(r, D, i) : r().catch(console.error), () => {
|
|
@@ -149,30 +149,30 @@ function j(e, { insertAt: t } = {}) {
|
|
|
149
149
|
r.type = "text/css", t === "top" && n.firstChild ? n.insertBefore(r, n.firstChild) : n.appendChild(r), r.styleSheet ? r.styleSheet.cssText = e : r.appendChild(document.createTextNode(e));
|
|
150
150
|
}
|
|
151
151
|
j(".relative {\n position: relative;\n}\n.defaultStyles pre {\n overflow: auto;\n border-radius: 0.5rem;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n.languageLabel {\n position: absolute;\n right: 0.75rem;\n top: 0.5rem;\n font-family: monospace;\n font-size: 0.75rem;\n letter-spacing: -0.05em;\n color: rgba(107, 114, 128, 0.85);\n}\n.line-numbers::before {\n counter-increment: line-number;\n content: counter(line-number);\n display: inline-flex;\n justify-content: flex-end;\n align-items: flex-start;\n box-sizing: content-box;\n min-width: var(--line-numbers-width, 2ch);\n padding-left: var(--line-numbers-padding-left, 2ch);\n padding-right: var(--line-numbers-padding-right, 2ch);\n color: var(--line-numbers-foreground, rgba(107, 114, 128, 0.6));\n font-size: var(--line-numbers-font-size, inherit);\n font-weight: var(--line-numbers-font-weight, inherit);\n line-height: var(--line-numbers-line-height, inherit);\n font-family: var(--line-numbers-font-family, inherit);\n opacity: var(--line-numbers-opacity, 1);\n user-select: none;\n pointer-events: none;\n}\n.has-line-numbers {\n counter-reset: line-number calc(var(--line-start, 1) - 1);\n --line-numbers-foreground: rgba(107, 114, 128, 0.5);\n --line-numbers-width: 2ch;\n --line-numbers-padding-left: 0ch;\n --line-numbers-padding-right: 2ch;\n --line-numbers-font-size: inherit;\n --line-numbers-font-weight: inherit;\n --line-numbers-line-height: inherit;\n --line-numbers-font-family: inherit;\n --line-numbers-opacity: 1;\n}\n");
|
|
152
|
-
var M = (e) =>
|
|
152
|
+
var M = (e) => a(({ language: t, theme: n, delay: r, transformers: a, defaultColor: o, cssVariablePrefix: s, addDefaultStyles: c = !0, style: l, langStyle: u, className: p, langClassName: m, showLanguage: h = !0, showLineNumbers: g = !1, startingLineNumber: _ = 1, children: v, as: y = "pre", customLanguages: b, preloadLanguages: x, ...S }, C) => {
|
|
153
153
|
let w = {
|
|
154
154
|
delay: r,
|
|
155
155
|
transformers: a,
|
|
156
156
|
customLanguages: b,
|
|
157
157
|
preloadLanguages: x,
|
|
158
158
|
showLineNumbers: g,
|
|
159
|
-
defaultColor:
|
|
160
|
-
cssVariablePrefix:
|
|
159
|
+
defaultColor: o,
|
|
160
|
+
cssVariablePrefix: s,
|
|
161
161
|
startingLineNumber: _,
|
|
162
162
|
...S
|
|
163
163
|
}, T = typeof t == "object" ? t.name || null : t?.trim() || null, E = e(v, t, n, w), D = typeof E == "string";
|
|
164
|
-
return /* @__PURE__ */
|
|
164
|
+
return /* @__PURE__ */ f(y, {
|
|
165
165
|
ref: C,
|
|
166
166
|
"data-testid": "shiki-container",
|
|
167
|
-
className: i("relative", "not-prose",
|
|
168
|
-
style:
|
|
167
|
+
className: i("relative", "not-prose", c && "defaultStyles", p),
|
|
168
|
+
style: l,
|
|
169
169
|
id: "shiki-container",
|
|
170
|
-
children: [h && T ? /* @__PURE__ */
|
|
170
|
+
children: [h && T ? /* @__PURE__ */ d("span", {
|
|
171
171
|
className: i("languageLabel", m),
|
|
172
|
-
style:
|
|
172
|
+
style: u,
|
|
173
173
|
id: "language-label",
|
|
174
174
|
children: T
|
|
175
|
-
}) : null, D ? /* @__PURE__ */
|
|
175
|
+
}) : null, D ? /* @__PURE__ */ d("div", { dangerouslySetInnerHTML: { __html: E } }) : E]
|
|
176
176
|
});
|
|
177
177
|
});
|
|
178
178
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-QPJZGYHO.js","names":["useRef2"],"sources":["../../../../../../../node_modules/react-shiki/dist/chunk-QPJZGYHO.js"],"sourcesContent":["// src/lib/hook.ts\nimport {\n useEffect,\n useMemo,\n useRef as useRef2,\n useState\n} from \"react\";\nimport { jsx, jsxs, Fragment } from \"react/jsx-runtime\";\nimport { toJsxRuntime } from \"hast-util-to-jsx-runtime\";\nimport { guessEmbeddedLanguages } from \"shiki/core\";\n\n// src/lib/utils.ts\nimport { useRef } from \"react\";\nimport { dequal } from \"dequal\";\nvar useStableValue = (value) => {\n const ref = useRef(value);\n if (value !== ref.current && !dequal(value, ref.current)) {\n ref.current = value;\n }\n return ref.current;\n};\nvar throttleHighlighting = (performHighlight, timeoutControl, throttleMs) => {\n const now = Date.now();\n clearTimeout(timeoutControl.current.timeoutId);\n const delay = Math.max(0, timeoutControl.current.nextAllowedTime - now);\n timeoutControl.current.timeoutId = setTimeout(() => {\n performHighlight().catch(console.error);\n timeoutControl.current.nextAllowedTime = now + throttleMs;\n }, delay);\n};\n\n// src/lib/language.ts\nimport { isSpecialLang } from \"shiki/core\";\nvar FALLBACK_LANGUAGE = \"plaintext\";\nvar toArray = (value) => value == null ? [] : Array.isArray(value) ? value : [value];\nvar languageKey = (lang) => {\n if (lang == null) return null;\n if (typeof lang === \"string\") return `s:${lang}`;\n return `o:${lang.name}::${lang.scopeName}`;\n};\nvar dedupeLanguages = (langs) => {\n const seen = /* @__PURE__ */ new Set();\n const deduped = [];\n for (const lang of langs) {\n const key = languageKey(lang);\n if (key == null || seen.has(key)) continue;\n seen.add(key);\n deduped.push(lang);\n }\n return deduped;\n};\nvar isLoadableLanguage = (lang, bundledLanguages) => {\n if (lang == null) return false;\n if (typeof lang === \"string\") return lang in bundledLanguages;\n return typeof lang.name === \"string\" && typeof lang.scopeName === \"string\";\n};\nvar resolveLoadedLanguage = (languageId, loadedLanguages) => isSpecialLang(languageId) || loadedLanguages.includes(languageId) ? languageId : FALLBACK_LANGUAGE;\nvar resolveLanguage = (lang, customLanguages, langAliases, preloadLanguages) => {\n const customLangs = toArray(customLanguages);\n const preloadLangs = toArray(preloadLanguages);\n const customMatchPool = [...customLangs, ...preloadLangs];\n let languageId = FALLBACK_LANGUAGE;\n let primaryLang;\n if (lang == null || typeof lang === \"string\" && !lang.trim()) {\n return {\n languageId,\n langsToLoad: dedupeLanguages([...preloadLangs, ...customLangs])\n };\n }\n if (typeof lang === \"object\") {\n languageId = lang.name;\n primaryLang = lang;\n } else {\n const lowerLang = lang.toLowerCase();\n const matches = (str) => str?.toLowerCase() === lowerLang;\n const customMatch = customMatchPool.find(\n (candidate) => typeof candidate === \"object\" && candidate != null && !!(matches(candidate.name) || matches(candidate.scopeName) || matches(candidate.scopeName?.split(\".\").pop()) || candidate.aliases?.some(matches) || candidate.fileTypes?.some(matches))\n );\n if (customMatch) {\n languageId = customMatch.name || lang;\n primaryLang = customMatch;\n } else if (langAliases?.[lang]) {\n languageId = langAliases[lang];\n primaryLang = langAliases[lang];\n } else {\n languageId = lang;\n primaryLang = lang;\n }\n }\n return {\n languageId,\n langsToLoad: dedupeLanguages([\n primaryLang,\n ...preloadLangs,\n ...customLangs\n ])\n };\n};\n\n// src/lib/theme.ts\nvar isTextmateTheme = (value) => typeof value === \"object\" && value !== null && \"tokenColors\" in value && Array.isArray(value.tokenColors);\nfunction resolveTheme(themeInput) {\n const inputIsTextmateTheme = isTextmateTheme(themeInput);\n const isMultiThemeConfig = typeof themeInput === \"object\" && themeInput !== null && !inputIsTextmateTheme;\n const validMultiThemeObj = typeof themeInput === \"object\" && themeInput !== null && !inputIsTextmateTheme && Object.entries(themeInput).some(\n ([key, value]) => key.trim() !== \"\" && (typeof value === \"string\" && value.trim() !== \"\" || isTextmateTheme(value))\n );\n if (isMultiThemeConfig) {\n const themeId = validMultiThemeObj ? `multi-${Object.values(themeInput).map(\n (theme) => (typeof theme === \"string\" ? theme : theme?.name) || \"custom\"\n ).sort().join(\"-\")}` : \"multi-default\";\n return {\n isMultiTheme: true,\n themeId,\n multiTheme: validMultiThemeObj ? themeInput : null,\n themesToLoad: validMultiThemeObj ? Object.values(themeInput) : []\n };\n }\n return {\n isMultiTheme: false,\n themeId: typeof themeInput === \"string\" ? themeInput : themeInput?.name || \"custom\",\n singleTheme: themeInput,\n themesToLoad: [themeInput]\n };\n}\n\n// src/lib/transformers.ts\nfunction lineNumbersTransformer(startLine = 1) {\n return {\n name: \"react-shiki:line-numbers\",\n code(node) {\n this.addClassToHast(node, \"has-line-numbers\");\n if (startLine !== 1) {\n const existingStyle = node.properties?.style || \"\";\n const newStyle = existingStyle ? `${existingStyle}; --line-start: ${startLine}` : `--line-start: ${startLine}`;\n node.properties = {\n ...node.properties,\n style: newStyle\n };\n }\n },\n line(node) {\n this.addClassToHast(node, \"line-numbers\");\n return node;\n }\n };\n}\n\n// src/lib/options.ts\nvar DEFAULT_THEMES = {\n light: \"github-light\",\n dark: \"github-dark\"\n};\nvar buildThemeOptions = (resolvedTheme, options) => {\n if (resolvedTheme.isMultiTheme) {\n return {\n themes: resolvedTheme.multiTheme ?? DEFAULT_THEMES,\n defaultColor: options.defaultColor,\n cssVariablePrefix: options.cssVariablePrefix\n };\n }\n return {\n theme: resolvedTheme.singleTheme ?? DEFAULT_THEMES.dark\n };\n};\nvar buildTransformers = (options) => {\n const transformers = [...options.transformers || []];\n if (options.showLineNumbers) {\n transformers.push(lineNumbersTransformer(options.startingLineNumber));\n }\n return transformers;\n};\nvar buildShikiOptions = ({\n languageId,\n resolvedTheme,\n options\n}) => {\n const {\n defaultColor: _defaultColor,\n cssVariablePrefix: _cssVariablePrefix,\n showLineNumbers: _showLineNumbers,\n startingLineNumber: _startingLineNumber,\n transformers: _transformers,\n ...restOptions\n } = options;\n return {\n lang: languageId,\n ...buildThemeOptions(resolvedTheme, options),\n ...restOptions,\n transformers: buildTransformers(options)\n };\n};\n\n// src/lib/hook.ts\nvar getEmbeddedLanguages = (code, languageId, highlighter) => {\n const bundled = highlighter.getBundledLanguages();\n return guessEmbeddedLanguages(code, languageId).flatMap(\n (language) => bundled[language] ?? []\n );\n};\nvar useShikiHighlighter = (code, lang, themeInput, options = {}, highlighterFactory) => {\n const [highlightedCode, setHighlightedCode] = useState(null);\n const stableLang = useStableValue(lang);\n const stableTheme = useStableValue(themeInput);\n const stableOpts = useStableValue(options);\n const { languageId, langsToLoad } = useMemo(\n () => resolveLanguage(\n stableLang,\n stableOpts.customLanguages,\n stableOpts.langAlias,\n stableOpts.preloadLanguages\n ),\n [\n stableLang,\n stableOpts.customLanguages,\n stableOpts.preloadLanguages,\n stableOpts.langAlias\n ]\n );\n const resolvedTheme = useMemo(\n () => resolveTheme(stableTheme),\n [stableTheme]\n );\n const { themesToLoad } = resolvedTheme;\n const timeoutControl = useRef2({\n nextAllowedTime: 0,\n timeoutId: void 0\n });\n const shikiOptions = useMemo(\n () => buildShikiOptions({\n languageId,\n resolvedTheme,\n options: stableOpts\n }),\n [languageId, resolvedTheme, stableOpts]\n );\n useEffect(() => {\n let isMounted = true;\n const highlightCode = async () => {\n if (!languageId) return;\n const highlighter = stableOpts.highlighter ? stableOpts.highlighter : await highlighterFactory(\n langsToLoad,\n themesToLoad,\n stableOpts.engine\n );\n if (!stableOpts.highlighter) {\n const embedded = getEmbeddedLanguages(\n code,\n languageId,\n highlighter\n );\n if (embedded.length > 0) {\n await highlighter.loadLanguage(...embedded);\n }\n }\n const langToUse = resolveLoadedLanguage(\n languageId,\n highlighter.getLoadedLanguages()\n );\n const finalOptions = { ...shikiOptions, lang: langToUse };\n if (isMounted) {\n const output = stableOpts.outputFormat === \"html\" ? highlighter.codeToHtml(code, finalOptions) : toJsxRuntime(highlighter.codeToHast(code, finalOptions), {\n jsx,\n jsxs,\n Fragment\n });\n setHighlightedCode(output);\n }\n };\n const { delay } = stableOpts;\n if (delay) {\n throttleHighlighting(highlightCode, timeoutControl, delay);\n } else {\n highlightCode().catch(console.error);\n }\n return () => {\n isMounted = false;\n clearTimeout(timeoutControl.current.timeoutId);\n };\n }, [\n code,\n shikiOptions,\n stableOpts.delay,\n stableOpts.highlighter,\n langsToLoad,\n themesToLoad\n ]);\n return highlightedCode;\n};\n\n// src/lib/plugins.ts\nimport { visit } from \"unist-util-visit\";\nfunction rehypeInlineCodeProperty() {\n return (tree) => {\n visit(tree, \"element\", (node, _index, parent) => {\n if (node.tagName === \"code\" && parent.tagName !== \"pre\") {\n node.properties.inline = true;\n }\n });\n };\n}\nvar isInlineCode = (node) => {\n const textContent = (node.children || []).filter((child) => child.type === \"text\").map((child) => child.value).join(\"\");\n return !textContent.includes(\"\\n\");\n};\n\n// #style-inject:#style-inject\nfunction styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === \"undefined\") return;\n const head = document.head || document.getElementsByTagName(\"head\")[0];\n const style = document.createElement(\"style\");\n style.type = \"text/css\";\n if (insertAt === \"top\") {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\n// src/lib/styles.css\nstyleInject(\".relative {\\n position: relative;\\n}\\n.defaultStyles pre {\\n overflow: auto;\\n border-radius: 0.5rem;\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n padding-top: 1.25rem;\\n padding-bottom: 1.25rem;\\n}\\n.languageLabel {\\n position: absolute;\\n right: 0.75rem;\\n top: 0.5rem;\\n font-family: monospace;\\n font-size: 0.75rem;\\n letter-spacing: -0.05em;\\n color: rgba(107, 114, 128, 0.85);\\n}\\n.line-numbers::before {\\n counter-increment: line-number;\\n content: counter(line-number);\\n display: inline-flex;\\n justify-content: flex-end;\\n align-items: flex-start;\\n box-sizing: content-box;\\n min-width: var(--line-numbers-width, 2ch);\\n padding-left: var(--line-numbers-padding-left, 2ch);\\n padding-right: var(--line-numbers-padding-right, 2ch);\\n color: var(--line-numbers-foreground, rgba(107, 114, 128, 0.6));\\n font-size: var(--line-numbers-font-size, inherit);\\n font-weight: var(--line-numbers-font-weight, inherit);\\n line-height: var(--line-numbers-line-height, inherit);\\n font-family: var(--line-numbers-font-family, inherit);\\n opacity: var(--line-numbers-opacity, 1);\\n user-select: none;\\n pointer-events: none;\\n}\\n.has-line-numbers {\\n counter-reset: line-number calc(var(--line-start, 1) - 1);\\n --line-numbers-foreground: rgba(107, 114, 128, 0.5);\\n --line-numbers-width: 2ch;\\n --line-numbers-padding-left: 0ch;\\n --line-numbers-padding-right: 2ch;\\n --line-numbers-font-size: inherit;\\n --line-numbers-font-weight: inherit;\\n --line-numbers-line-height: inherit;\\n --line-numbers-font-family: inherit;\\n --line-numbers-opacity: 1;\\n}\\n\");\n\n// src/lib/component.tsx\nimport { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar createShikiHighlighterComponent = (useShikiHighlighterImpl) => {\n return forwardRef(\n ({\n language,\n theme,\n delay,\n transformers,\n defaultColor,\n cssVariablePrefix,\n addDefaultStyles = true,\n style,\n langStyle,\n className,\n langClassName,\n showLanguage = true,\n showLineNumbers = false,\n startingLineNumber = 1,\n children: code,\n as: Element = \"pre\",\n customLanguages,\n preloadLanguages,\n ...shikiOptions\n }, ref) => {\n const options = {\n delay,\n transformers,\n customLanguages,\n preloadLanguages,\n showLineNumbers,\n defaultColor,\n cssVariablePrefix,\n startingLineNumber,\n ...shikiOptions\n };\n const displayLanguageId = typeof language === \"object\" ? language.name || null : language?.trim() || null;\n const highlightedCode = useShikiHighlighterImpl(\n code,\n language,\n theme,\n options\n );\n const isHtmlOutput = typeof highlightedCode === \"string\";\n return /* @__PURE__ */ jsxs2(\n Element,\n {\n ref,\n \"data-testid\": \"shiki-container\",\n className: clsx(\n \"relative\",\n \"not-prose\",\n addDefaultStyles && \"defaultStyles\",\n className\n ),\n style,\n id: \"shiki-container\",\n children: [\n showLanguage && displayLanguageId ? /* @__PURE__ */ jsx2(\n \"span\",\n {\n className: clsx(\"languageLabel\", langClassName),\n style: langStyle,\n id: \"language-label\",\n children: displayLanguageId\n }\n ) : null,\n isHtmlOutput ? /* @__PURE__ */ jsx2(\"div\", { dangerouslySetInnerHTML: { __html: highlightedCode } }) : highlightedCode\n ]\n }\n );\n }\n );\n};\n\nexport {\n isLoadableLanguage,\n useShikiHighlighter,\n rehypeInlineCodeProperty,\n isInlineCode,\n createShikiHighlighterComponent\n};\n//# sourceMappingURL=chunk-QPJZGYHO.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chunk-QPJZGYHO.js","names":["useRef2"],"sources":["../../../../../../../node_modules/react-shiki/dist/chunk-QPJZGYHO.js"],"sourcesContent":["// src/lib/hook.ts\nimport {\n useEffect,\n useMemo,\n useRef as useRef2,\n useState\n} from \"react\";\nimport { jsx, jsxs, Fragment } from \"react/jsx-runtime\";\nimport { toJsxRuntime } from \"hast-util-to-jsx-runtime\";\nimport { guessEmbeddedLanguages } from \"shiki/core\";\n\n// src/lib/utils.ts\nimport { useRef } from \"react\";\nimport { dequal } from \"dequal\";\nvar useStableValue = (value) => {\n const ref = useRef(value);\n if (value !== ref.current && !dequal(value, ref.current)) {\n ref.current = value;\n }\n return ref.current;\n};\nvar throttleHighlighting = (performHighlight, timeoutControl, throttleMs) => {\n const now = Date.now();\n clearTimeout(timeoutControl.current.timeoutId);\n const delay = Math.max(0, timeoutControl.current.nextAllowedTime - now);\n timeoutControl.current.timeoutId = setTimeout(() => {\n performHighlight().catch(console.error);\n timeoutControl.current.nextAllowedTime = now + throttleMs;\n }, delay);\n};\n\n// src/lib/language.ts\nimport { isSpecialLang } from \"shiki/core\";\nvar FALLBACK_LANGUAGE = \"plaintext\";\nvar toArray = (value) => value == null ? [] : Array.isArray(value) ? value : [value];\nvar languageKey = (lang) => {\n if (lang == null) return null;\n if (typeof lang === \"string\") return `s:${lang}`;\n return `o:${lang.name}::${lang.scopeName}`;\n};\nvar dedupeLanguages = (langs) => {\n const seen = /* @__PURE__ */ new Set();\n const deduped = [];\n for (const lang of langs) {\n const key = languageKey(lang);\n if (key == null || seen.has(key)) continue;\n seen.add(key);\n deduped.push(lang);\n }\n return deduped;\n};\nvar isLoadableLanguage = (lang, bundledLanguages) => {\n if (lang == null) return false;\n if (typeof lang === \"string\") return lang in bundledLanguages;\n return typeof lang.name === \"string\" && typeof lang.scopeName === \"string\";\n};\nvar resolveLoadedLanguage = (languageId, loadedLanguages) => isSpecialLang(languageId) || loadedLanguages.includes(languageId) ? languageId : FALLBACK_LANGUAGE;\nvar resolveLanguage = (lang, customLanguages, langAliases, preloadLanguages) => {\n const customLangs = toArray(customLanguages);\n const preloadLangs = toArray(preloadLanguages);\n const customMatchPool = [...customLangs, ...preloadLangs];\n let languageId = FALLBACK_LANGUAGE;\n let primaryLang;\n if (lang == null || typeof lang === \"string\" && !lang.trim()) {\n return {\n languageId,\n langsToLoad: dedupeLanguages([...preloadLangs, ...customLangs])\n };\n }\n if (typeof lang === \"object\") {\n languageId = lang.name;\n primaryLang = lang;\n } else {\n const lowerLang = lang.toLowerCase();\n const matches = (str) => str?.toLowerCase() === lowerLang;\n const customMatch = customMatchPool.find(\n (candidate) => typeof candidate === \"object\" && candidate != null && !!(matches(candidate.name) || matches(candidate.scopeName) || matches(candidate.scopeName?.split(\".\").pop()) || candidate.aliases?.some(matches) || candidate.fileTypes?.some(matches))\n );\n if (customMatch) {\n languageId = customMatch.name || lang;\n primaryLang = customMatch;\n } else if (langAliases?.[lang]) {\n languageId = langAliases[lang];\n primaryLang = langAliases[lang];\n } else {\n languageId = lang;\n primaryLang = lang;\n }\n }\n return {\n languageId,\n langsToLoad: dedupeLanguages([\n primaryLang,\n ...preloadLangs,\n ...customLangs\n ])\n };\n};\n\n// src/lib/theme.ts\nvar isTextmateTheme = (value) => typeof value === \"object\" && value !== null && \"tokenColors\" in value && Array.isArray(value.tokenColors);\nfunction resolveTheme(themeInput) {\n const inputIsTextmateTheme = isTextmateTheme(themeInput);\n const isMultiThemeConfig = typeof themeInput === \"object\" && themeInput !== null && !inputIsTextmateTheme;\n const validMultiThemeObj = typeof themeInput === \"object\" && themeInput !== null && !inputIsTextmateTheme && Object.entries(themeInput).some(\n ([key, value]) => key.trim() !== \"\" && (typeof value === \"string\" && value.trim() !== \"\" || isTextmateTheme(value))\n );\n if (isMultiThemeConfig) {\n const themeId = validMultiThemeObj ? `multi-${Object.values(themeInput).map(\n (theme) => (typeof theme === \"string\" ? theme : theme?.name) || \"custom\"\n ).sort().join(\"-\")}` : \"multi-default\";\n return {\n isMultiTheme: true,\n themeId,\n multiTheme: validMultiThemeObj ? themeInput : null,\n themesToLoad: validMultiThemeObj ? Object.values(themeInput) : []\n };\n }\n return {\n isMultiTheme: false,\n themeId: typeof themeInput === \"string\" ? themeInput : themeInput?.name || \"custom\",\n singleTheme: themeInput,\n themesToLoad: [themeInput]\n };\n}\n\n// src/lib/transformers.ts\nfunction lineNumbersTransformer(startLine = 1) {\n return {\n name: \"react-shiki:line-numbers\",\n code(node) {\n this.addClassToHast(node, \"has-line-numbers\");\n if (startLine !== 1) {\n const existingStyle = node.properties?.style || \"\";\n const newStyle = existingStyle ? `${existingStyle}; --line-start: ${startLine}` : `--line-start: ${startLine}`;\n node.properties = {\n ...node.properties,\n style: newStyle\n };\n }\n },\n line(node) {\n this.addClassToHast(node, \"line-numbers\");\n return node;\n }\n };\n}\n\n// src/lib/options.ts\nvar DEFAULT_THEMES = {\n light: \"github-light\",\n dark: \"github-dark\"\n};\nvar buildThemeOptions = (resolvedTheme, options) => {\n if (resolvedTheme.isMultiTheme) {\n return {\n themes: resolvedTheme.multiTheme ?? DEFAULT_THEMES,\n defaultColor: options.defaultColor,\n cssVariablePrefix: options.cssVariablePrefix\n };\n }\n return {\n theme: resolvedTheme.singleTheme ?? DEFAULT_THEMES.dark\n };\n};\nvar buildTransformers = (options) => {\n const transformers = [...options.transformers || []];\n if (options.showLineNumbers) {\n transformers.push(lineNumbersTransformer(options.startingLineNumber));\n }\n return transformers;\n};\nvar buildShikiOptions = ({\n languageId,\n resolvedTheme,\n options\n}) => {\n const {\n defaultColor: _defaultColor,\n cssVariablePrefix: _cssVariablePrefix,\n showLineNumbers: _showLineNumbers,\n startingLineNumber: _startingLineNumber,\n transformers: _transformers,\n ...restOptions\n } = options;\n return {\n lang: languageId,\n ...buildThemeOptions(resolvedTheme, options),\n ...restOptions,\n transformers: buildTransformers(options)\n };\n};\n\n// src/lib/hook.ts\nvar getEmbeddedLanguages = (code, languageId, highlighter) => {\n const bundled = highlighter.getBundledLanguages();\n return guessEmbeddedLanguages(code, languageId).flatMap(\n (language) => bundled[language] ?? []\n );\n};\nvar useShikiHighlighter = (code, lang, themeInput, options = {}, highlighterFactory) => {\n const [highlightedCode, setHighlightedCode] = useState(null);\n const stableLang = useStableValue(lang);\n const stableTheme = useStableValue(themeInput);\n const stableOpts = useStableValue(options);\n const { languageId, langsToLoad } = useMemo(\n () => resolveLanguage(\n stableLang,\n stableOpts.customLanguages,\n stableOpts.langAlias,\n stableOpts.preloadLanguages\n ),\n [\n stableLang,\n stableOpts.customLanguages,\n stableOpts.preloadLanguages,\n stableOpts.langAlias\n ]\n );\n const resolvedTheme = useMemo(\n () => resolveTheme(stableTheme),\n [stableTheme]\n );\n const { themesToLoad } = resolvedTheme;\n const timeoutControl = useRef2({\n nextAllowedTime: 0,\n timeoutId: void 0\n });\n const shikiOptions = useMemo(\n () => buildShikiOptions({\n languageId,\n resolvedTheme,\n options: stableOpts\n }),\n [languageId, resolvedTheme, stableOpts]\n );\n useEffect(() => {\n let isMounted = true;\n const highlightCode = async () => {\n if (!languageId) return;\n const highlighter = stableOpts.highlighter ? stableOpts.highlighter : await highlighterFactory(\n langsToLoad,\n themesToLoad,\n stableOpts.engine\n );\n if (!stableOpts.highlighter) {\n const embedded = getEmbeddedLanguages(\n code,\n languageId,\n highlighter\n );\n if (embedded.length > 0) {\n await highlighter.loadLanguage(...embedded);\n }\n }\n const langToUse = resolveLoadedLanguage(\n languageId,\n highlighter.getLoadedLanguages()\n );\n const finalOptions = { ...shikiOptions, lang: langToUse };\n if (isMounted) {\n const output = stableOpts.outputFormat === \"html\" ? highlighter.codeToHtml(code, finalOptions) : toJsxRuntime(highlighter.codeToHast(code, finalOptions), {\n jsx,\n jsxs,\n Fragment\n });\n setHighlightedCode(output);\n }\n };\n const { delay } = stableOpts;\n if (delay) {\n throttleHighlighting(highlightCode, timeoutControl, delay);\n } else {\n highlightCode().catch(console.error);\n }\n return () => {\n isMounted = false;\n clearTimeout(timeoutControl.current.timeoutId);\n };\n }, [\n code,\n shikiOptions,\n stableOpts.delay,\n stableOpts.highlighter,\n langsToLoad,\n themesToLoad\n ]);\n return highlightedCode;\n};\n\n// src/lib/plugins.ts\nimport { visit } from \"unist-util-visit\";\nfunction rehypeInlineCodeProperty() {\n return (tree) => {\n visit(tree, \"element\", (node, _index, parent) => {\n if (node.tagName === \"code\" && parent.tagName !== \"pre\") {\n node.properties.inline = true;\n }\n });\n };\n}\nvar isInlineCode = (node) => {\n const textContent = (node.children || []).filter((child) => child.type === \"text\").map((child) => child.value).join(\"\");\n return !textContent.includes(\"\\n\");\n};\n\n// #style-inject:#style-inject\nfunction styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === \"undefined\") return;\n const head = document.head || document.getElementsByTagName(\"head\")[0];\n const style = document.createElement(\"style\");\n style.type = \"text/css\";\n if (insertAt === \"top\") {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\n// src/lib/styles.css\nstyleInject(\".relative {\\n position: relative;\\n}\\n.defaultStyles pre {\\n overflow: auto;\\n border-radius: 0.5rem;\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n padding-top: 1.25rem;\\n padding-bottom: 1.25rem;\\n}\\n.languageLabel {\\n position: absolute;\\n right: 0.75rem;\\n top: 0.5rem;\\n font-family: monospace;\\n font-size: 0.75rem;\\n letter-spacing: -0.05em;\\n color: rgba(107, 114, 128, 0.85);\\n}\\n.line-numbers::before {\\n counter-increment: line-number;\\n content: counter(line-number);\\n display: inline-flex;\\n justify-content: flex-end;\\n align-items: flex-start;\\n box-sizing: content-box;\\n min-width: var(--line-numbers-width, 2ch);\\n padding-left: var(--line-numbers-padding-left, 2ch);\\n padding-right: var(--line-numbers-padding-right, 2ch);\\n color: var(--line-numbers-foreground, rgba(107, 114, 128, 0.6));\\n font-size: var(--line-numbers-font-size, inherit);\\n font-weight: var(--line-numbers-font-weight, inherit);\\n line-height: var(--line-numbers-line-height, inherit);\\n font-family: var(--line-numbers-font-family, inherit);\\n opacity: var(--line-numbers-opacity, 1);\\n user-select: none;\\n pointer-events: none;\\n}\\n.has-line-numbers {\\n counter-reset: line-number calc(var(--line-start, 1) - 1);\\n --line-numbers-foreground: rgba(107, 114, 128, 0.5);\\n --line-numbers-width: 2ch;\\n --line-numbers-padding-left: 0ch;\\n --line-numbers-padding-right: 2ch;\\n --line-numbers-font-size: inherit;\\n --line-numbers-font-weight: inherit;\\n --line-numbers-line-height: inherit;\\n --line-numbers-font-family: inherit;\\n --line-numbers-opacity: 1;\\n}\\n\");\n\n// src/lib/component.tsx\nimport { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar createShikiHighlighterComponent = (useShikiHighlighterImpl) => {\n return forwardRef(\n ({\n language,\n theme,\n delay,\n transformers,\n defaultColor,\n cssVariablePrefix,\n addDefaultStyles = true,\n style,\n langStyle,\n className,\n langClassName,\n showLanguage = true,\n showLineNumbers = false,\n startingLineNumber = 1,\n children: code,\n as: Element = \"pre\",\n customLanguages,\n preloadLanguages,\n ...shikiOptions\n }, ref) => {\n const options = {\n delay,\n transformers,\n customLanguages,\n preloadLanguages,\n showLineNumbers,\n defaultColor,\n cssVariablePrefix,\n startingLineNumber,\n ...shikiOptions\n };\n const displayLanguageId = typeof language === \"object\" ? language.name || null : language?.trim() || null;\n const highlightedCode = useShikiHighlighterImpl(\n code,\n language,\n theme,\n options\n );\n const isHtmlOutput = typeof highlightedCode === \"string\";\n return /* @__PURE__ */ jsxs2(\n Element,\n {\n ref,\n \"data-testid\": \"shiki-container\",\n className: clsx(\n \"relative\",\n \"not-prose\",\n addDefaultStyles && \"defaultStyles\",\n className\n ),\n style,\n id: \"shiki-container\",\n children: [\n showLanguage && displayLanguageId ? /* @__PURE__ */ jsx2(\n \"span\",\n {\n className: clsx(\"languageLabel\", langClassName),\n style: langStyle,\n id: \"language-label\",\n children: displayLanguageId\n }\n ) : null,\n isHtmlOutput ? /* @__PURE__ */ jsx2(\"div\", { dangerouslySetInnerHTML: { __html: highlightedCode } }) : highlightedCode\n ]\n }\n );\n }\n );\n};\n\nexport {\n isLoadableLanguage,\n useShikiHighlighter,\n rehypeInlineCodeProperty,\n isInlineCode,\n createShikiHighlighterComponent\n};\n//# sourceMappingURL=chunk-QPJZGYHO.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
|