@plumile/ui 0.1.67 → 0.1.69
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 +1 -0
- 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/MarkdownShikiCodeBlock.js +4 -4
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js +0 -1
- 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/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_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 +105 -104
- 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/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 +9 -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
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { cx as e } from "../../../theme/tools.js";
|
|
2
|
+
import { SidebarNavSection as t } from "../../../backoffice/molecules/sidebar_nav_section/SidebarNavSection.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { SidebarCollapseToggle as n } from "../../../backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js";
|
|
5
|
+
import { container as r, footer as i, header as a, inner as o, sections as s, widthRecipe as c } from "./adminSidebar.css.js";
|
|
6
|
+
import { useCallback as l, useState as u } from "react";
|
|
7
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
|
+
//#region src/admin/organisms/admin_sidebar/AdminSidebar.tsx
|
|
9
|
+
var p = ({ header: p, search: m, footer: h, sections: g, isCollapsed: _, defaultCollapsed: v = !1, onCollapsedChange: y, collapseToggleLabel: b, collapseShortcut: x, className: S }) => {
|
|
10
|
+
let [C, w] = u(v), T = _ ?? C, E = l(() => {
|
|
11
|
+
let e = !T;
|
|
12
|
+
_ ?? w(e), y?.(e);
|
|
13
|
+
}, [
|
|
14
|
+
T,
|
|
15
|
+
_,
|
|
16
|
+
y
|
|
17
|
+
]), D = "expanded";
|
|
18
|
+
T && (D = "collapsed");
|
|
19
|
+
let O = null;
|
|
20
|
+
return h != null && (O = /* @__PURE__ */ d("div", {
|
|
21
|
+
className: i,
|
|
22
|
+
children: h
|
|
23
|
+
})), /* @__PURE__ */ d("aside", {
|
|
24
|
+
className: e(r, c({ state: D }), S),
|
|
25
|
+
children: /* @__PURE__ */ f("div", {
|
|
26
|
+
className: o,
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ f("div", {
|
|
29
|
+
className: a,
|
|
30
|
+
children: [p, /* @__PURE__ */ d(n, {
|
|
31
|
+
isCollapsed: T,
|
|
32
|
+
onToggle: E,
|
|
33
|
+
label: b,
|
|
34
|
+
shortcut: x
|
|
35
|
+
})]
|
|
36
|
+
}),
|
|
37
|
+
m != null && /* @__PURE__ */ d("div", {
|
|
38
|
+
className: "jmrd3s7 txvbqbnuo txvbqbohx txvbqb9io txvbqbai6 txvbqbao6",
|
|
39
|
+
children: m
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ d("nav", {
|
|
42
|
+
className: s,
|
|
43
|
+
"aria-label": "Admin navigation",
|
|
44
|
+
children: g.map((e) => /* @__PURE__ */ d(t, {
|
|
45
|
+
title: e.title,
|
|
46
|
+
items: e.items,
|
|
47
|
+
collapsible: e.collapsible,
|
|
48
|
+
defaultCollapsed: e.defaultCollapsed,
|
|
49
|
+
isCollapsed: e.isCollapsed,
|
|
50
|
+
onCollapsedChange: e.onCollapsedChange,
|
|
51
|
+
collapsed: T
|
|
52
|
+
}, e.id))
|
|
53
|
+
}),
|
|
54
|
+
O
|
|
55
|
+
]
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
//#endregion
|
|
60
|
+
export { p as AdminSidebar, p as default };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=AdminSidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminSidebar.js","names":[],"sources":["../../../../../src/admin/organisms/admin_sidebar/AdminSidebar.tsx"],"sourcesContent":["import { useCallback, useState, type JSX, type ReactNode } from 'react';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { SidebarCollapseToggle } from '../../../backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js';\nimport {\n SidebarNavSection,\n type SidebarNavSectionItem,\n} from '../../../backoffice/molecules/sidebar_nav_section/SidebarNavSection.js';\n\nimport * as styles from './adminSidebar.css.js';\nimport { cx } from '@plumile/ui';\n\nexport type AdminSidebarSection = {\n id: string;\n title?: ReactNode;\n items: readonly SidebarNavSectionItem[];\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n isCollapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n};\n\nexport type AdminSidebarProps = {\n header?: ReactNode;\n search?: ReactNode;\n footer?: ReactNode;\n sections: readonly AdminSidebarSection[];\n isCollapsed?: boolean;\n defaultCollapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n collapseToggleLabel?: ReactNode;\n collapseShortcut?: readonly string[] | string;\n className?: string;\n};\n\nexport const AdminSidebar = ({\n header,\n search,\n footer,\n sections,\n isCollapsed,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseToggleLabel,\n collapseShortcut,\n className,\n}: AdminSidebarProps): JSX.Element => {\n const [uncontrolledCollapsed, setUncontrolledCollapsed] =\n useState(defaultCollapsed);\n\n const collapsed = isCollapsed ?? uncontrolledCollapsed;\n\n const handleToggleCollapsed = useCallback(() => {\n const next = !collapsed;\n if (isCollapsed == null) {\n setUncontrolledCollapsed(next);\n }\n onCollapsedChange?.(next);\n }, [collapsed, isCollapsed, onCollapsedChange]);\n\n let widthKey: NonNullable<\n NonNullable<RecipeVariants<typeof styles.widthRecipe>>['state']\n > = 'expanded';\n if (collapsed) {\n widthKey = 'collapsed';\n }\n\n let footerNode: JSX.Element | null = null;\n if (footer != null) {\n footerNode = <div className={styles.footer}>{footer}</div>;\n }\n\n return (\n <aside\n className={cx(\n styles.container,\n styles.widthRecipe({ state: widthKey }),\n className,\n )}\n >\n <div className={styles.inner}>\n <div className={styles.header}>\n {header}\n <SidebarCollapseToggle\n isCollapsed={collapsed}\n onToggle={handleToggleCollapsed}\n label={collapseToggleLabel}\n shortcut={collapseShortcut}\n />\n </div>\n\n {search != null && <div className={styles.search}>{search}</div>}\n <nav className={styles.sections} aria-label=\"Admin navigation\">\n {sections.map((section) => {\n return (\n <SidebarNavSection\n key={section.id}\n title={section.title}\n items={section.items}\n collapsible={section.collapsible}\n defaultCollapsed={section.defaultCollapsed}\n isCollapsed={section.isCollapsed}\n onCollapsedChange={section.onCollapsedChange}\n collapsed={collapsed}\n />\n );\n })}\n </nav>\n\n {footerNode}\n </div>\n </aside>\n );\n};\n\nexport default AdminSidebar;\n"],"mappings":";;;;;;;;AAmCA,IAAa,KAAgB,EAC3B,QAAA,GACA,QAAA,GACA,QAAA,GACA,UAAA,GACA,gBACA,sBAAmB,IACnB,sBACA,wBACA,qBACA,mBACoC;CACpC,IAAM,CAAC,GAAuB,KAC5B,EAAS,EAAiB,EAEtB,IAAY,KAAe,GAE3B,IAAwB,QAAkB;EAC9C,IAAM,IAAO,CAAC;AAId,EAHI,KACF,EAAyB,EAAK,EAEhC,IAAoB,EAAK;IACxB;EAAC;EAAW;EAAa;EAAkB,CAAC,EAE3C,IAEA;AACJ,CAAI,MACF,IAAW;CAGb,IAAI,IAAiC;AAKrC,QAJI,KAAU,SACZ,IAAa,kBAAC,OAAD;EAAK,WAAW;YAAgB;EAAa,CAAA,GAI1D,kBAAC,SAAD;EACE,WAAW,EACT,GACA,EAAmB,EAAE,OAAO,GAAU,CAAC,EACvC,EACD;YAED,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,OAAD;KAAK,WAAW;eAAhB,CACG,GACD,kBAAC,GAAD;MACE,aAAa;MACb,UAAU;MACV,OAAO;MACP,UAAU;MACV,CAAA,CACE;;IAEL,KAAU,QAAQ,kBAAC,OAAD;KAAK,WAAW;eAAgB;KAAa,CAAA;IAChE,kBAAC,OAAD;KAAK,WAAW;KAAiB,cAAW;eACzC,EAAS,KAAK,MAEX,kBAAC,GAAD;MAEE,OAAO,EAAQ;MACf,OAAO,EAAQ;MACf,aAAa,EAAQ;MACrB,kBAAkB,EAAQ;MAC1B,aAAa,EAAQ;MACrB,mBAAmB,EAAQ;MAChB;MACX,EARK,EAAQ,GAQb,CAEJ;KACE,CAAA;IAEL;IACG;;EACA,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
4
|
+
//#region src/admin/organisms/admin_sidebar/adminSidebar.css.ts
|
|
5
|
+
var t = "jmrd3s0 txvbqb9io txvbqbai6 txvbqbcff txvbqbv2r txvbqb12f txvbqb1qf txvbqb5fx txvbqb306", n = e({
|
|
6
|
+
defaultClassName: "jmrd3s1",
|
|
7
|
+
variantClassNames: { state: {
|
|
8
|
+
expanded: "jmrd3s2",
|
|
9
|
+
collapsed: "jmrd3s3"
|
|
10
|
+
} },
|
|
11
|
+
defaultVariants: { state: "expanded" },
|
|
12
|
+
compoundVariants: []
|
|
13
|
+
}), r = "jmrd3s4 txvbqb9io txvbqbai6 txvbqbaoo txvbqblaf txvbqbcff txvbqbjg6", i = "jmrd3s5 txvbqbnuo txvbqbohx txvbqb9io txvbqbco txvbqbdoo txvbqbao6", a = "jmrd3s6 txvbqb9io txvbqbai6 txvbqbaoo txvbqb9mx txvbqbjg6 txvbqbl7o", o = "jmrd3s7 txvbqbnuo txvbqbohx txvbqb9io txvbqbai6 txvbqbao6", s = "jmrd3s8 txvbqbnuo txvbqbohx txvbqb9io txvbqbai6 txvbqbao6";
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as container, s as footer, i as header, r as inner, o as search, a as sections, n as widthRecipe };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=adminSidebar.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminSidebar.css.js","names":[],"sources":["../../../../../src/admin/organisms/admin_sidebar/adminSidebar.css.ts"],"sourcesContent":["import { recipe, type RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\nimport { vars } from '@plumile/ui/theme/themeContract.js';\n\nexport const container = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n height: 'full',\n backgroundColor: 'surface',\n borderWidth: 0,\n borderStyle: 'solid',\n borderRightWidth: 'px',\n borderRightColor: 'borderSubtle',\n});\n\nexport const widthRecipe = recipe({\n variants: {\n state: {\n expanded: { width: vars.width[64] },\n collapsed: { width: vars.width[17.5] },\n },\n },\n defaultVariants: {\n state: 'expanded',\n },\n});\n\nexport type WidthRecipeVariants = RecipeVariants<typeof widthRecipe>;\n\nexport const inner = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n padding: 4,\n height: 'full',\n minHeight: 0,\n});\n\nexport const header = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 2,\n paddingX: 1,\n});\n\nexport const sections = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n flex: 1,\n minHeight: 0,\n overflowY: 'auto',\n});\n\nexport const search = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n paddingX: 1,\n});\n\nexport const footer = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n paddingX: 1,\n});\n"],"mappings":""}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { cx as e } from "../../../theme/tools.js";
|
|
2
|
-
import { container as t, left as n, right as r, row as i } from "./
|
|
2
|
+
import { container as t, left as n, right as r, row as i } from "./adminTopbar.css.js";
|
|
3
3
|
import "../../../index.js";
|
|
4
4
|
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
-
//#region src/
|
|
5
|
+
//#region src/admin/organisms/admin_topbar/AdminTopbar.tsx
|
|
6
6
|
var s = ({ breadcrumb: s, leftSlot: c, rightSlot: l, className: u }) => /* @__PURE__ */ a("div", {
|
|
7
7
|
className: e(t, u),
|
|
8
8
|
children: /* @__PURE__ */ o("div", {
|
|
@@ -17,6 +17,6 @@ var s = ({ breadcrumb: s, leftSlot: c, rightSlot: l, className: u }) => /* @__PU
|
|
|
17
17
|
})
|
|
18
18
|
});
|
|
19
19
|
//#endregion
|
|
20
|
-
export { s as
|
|
20
|
+
export { s as AdminTopbar, s as default };
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=AdminTopbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminTopbar.js","names":[],"sources":["../../../../../src/admin/organisms/admin_topbar/AdminTopbar.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './adminTopbar.css.js';\nimport { cx } from '@plumile/ui';\n\nexport type AdminTopbarProps = {\n breadcrumb?: ReactNode;\n leftSlot?: ReactNode;\n rightSlot?: ReactNode;\n className?: string;\n};\n\nexport const AdminTopbar = ({\n breadcrumb,\n leftSlot,\n rightSlot,\n className,\n}: AdminTopbarProps): JSX.Element => {\n return (\n <div className={cx(styles.container, className)}>\n <div className={styles.row}>\n <div className={styles.left}>\n {breadcrumb}\n {leftSlot}\n </div>\n <div className={styles.right}>{rightSlot}</div>\n </div>\n </div>\n );\n};\n\nexport default AdminTopbar;\n"],"mappings":";;;;;AAYA,IAAa,KAAe,EAC1B,eACA,aACA,cACA,mBAGE,kBAAC,OAAD;CAAK,WAAW,EAAG,GAAkB,EAAU;WAC7C,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACG,GACA,EACG;MACN,kBAAC,OAAD;GAAK,WAAW;aAAe;GAAgB,CAAA,CAC3C;;CACF,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
//#region src/admin/organisms/admin_topbar/adminTopbar.css.ts
|
|
4
|
+
var e = "_1lo5q0p0 txvbqb9io txvbqbai6 txvbqbaof txvbqbk4x txvbqbu6f", t = "_1lo5q0p1 txvbqb9io txvbqbco txvbqbaoo txvbqbajx txvbqbk4x", n = "_1lo5q0p2 txvbqb9io txvbqbco txvbqbaof txvbqb9mx txvbqbk4x", r = "_1lo5q0p3 txvbqb9jf txvbqbco txvbqbao6 txvbqbdo6 txvbqbaj6", i = "_1lo5q0p4 txvbqb9jf txvbqbco txvbqbc66 txvbqbuho txvbqbv3d";
|
|
5
|
+
//#endregion
|
|
6
|
+
export { e as container, i as divider, n as left, r as right, t as row };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=adminTopbar.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminTopbar.css.js","names":[],"sources":["../../../../../src/admin/organisms/admin_topbar/adminTopbar.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const container = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n minWidth: 0,\n width: 'full',\n});\n\nexport const row = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n flexWrap: 'wrap',\n minWidth: 0,\n});\n\nexport const left = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 3,\n flex: 1,\n minWidth: 0,\n});\n\nexport const right = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 2,\n justifyContent: 'flex-end',\n flexShrink: 0,\n});\n\nexport const divider = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n height: 6,\n width: 0.5,\n backgroundColor: 'border',\n});\n"],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AppShell as e } from "../../../components/layout/AppShell.js";
|
|
2
|
+
import { AdminTopbar as t } from "../../organisms/admin_topbar/AdminTopbar.js";
|
|
3
|
+
import { AdminSidebar as n } from "../../organisms/admin_sidebar/AdminSidebar.js";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
//#region src/admin/templates/admin_shell_layout/AdminShellLayout.tsx
|
|
6
|
+
var i = ({ children: i, sidebar: a, topbar: o, actions: s, tabs: c }) => {
|
|
7
|
+
let l = /* @__PURE__ */ r(n, { ...a }), u = null;
|
|
8
|
+
return o != null && (u = /* @__PURE__ */ r(t, { ...o })), /* @__PURE__ */ r(e, {
|
|
9
|
+
sidebar: l,
|
|
10
|
+
breadcrumbSlot: u,
|
|
11
|
+
actions: s,
|
|
12
|
+
tabs: c,
|
|
13
|
+
children: i
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { i as AdminShellLayout, i as default };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=AdminShellLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminShellLayout.js","names":[],"sources":["../../../../../src/admin/templates/admin_shell_layout/AdminShellLayout.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { AppShell } from '../../../components/layout/AppShell.js';\nimport {\n AdminSidebar,\n type AdminSidebarProps,\n} from '../../organisms/admin_sidebar/AdminSidebar.js';\nimport {\n AdminTopbar,\n type AdminTopbarProps,\n} from '../../organisms/admin_topbar/AdminTopbar.js';\nimport type { PageShellActions, PageShellTab } from '@plumile/ui';\n\nexport type AdminShellLayoutProps = {\n children: ReactNode;\n sidebar: AdminSidebarProps;\n topbar?: AdminTopbarProps;\n actions?: PageShellActions;\n tabs?: PageShellTab[];\n};\n\nexport const AdminShellLayout = ({\n children,\n sidebar,\n topbar,\n actions,\n tabs,\n}: AdminShellLayoutProps): JSX.Element => {\n const sidebarNode = <AdminSidebar {...sidebar} />;\n let topbarNode: JSX.Element | null = null;\n if (topbar != null) {\n topbarNode = <AdminTopbar {...topbar} />;\n }\n\n return (\n <AppShell\n sidebar={sidebarNode}\n breadcrumbSlot={topbarNode}\n actions={actions}\n tabs={tabs}\n >\n {children}\n </AppShell>\n );\n};\n\nexport default AdminShellLayout;\n"],"mappings":";;;;;AAqBA,IAAa,KAAoB,EAC/B,aACA,YACA,WACA,YACA,cACwC;CACxC,IAAM,IAAc,kBAAC,GAAD,EAAc,GAAI,GAAW,CAAA,EAC7C,IAAiC;AAKrC,QAJI,KAAU,SACZ,IAAa,kBAAC,GAAD,EAAa,GAAI,GAAU,CAAA,GAIxC,kBAAC,GAAD;EACE,SAAS;EACT,gBAAgB;EACP;EACH;EAEL;EACQ,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { adminThemeClass as e } from "./adminTheme.css.js";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
//#region src/admin/theme/AdminThemeProvider.tsx
|
|
4
|
+
var n = ({ children: n }) => /* @__PURE__ */ t("div", {
|
|
5
|
+
className: e,
|
|
6
|
+
children: n
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as AdminThemeProvider, n as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=AdminThemeProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminThemeProvider.js","names":[],"sources":["../../../../src/admin/theme/AdminThemeProvider.tsx"],"sourcesContent":["import type { JSX, ReactNode } from 'react';\n\nimport { adminThemeClass } from './adminTheme.css.js';\n\nexport type AdminThemeProviderProps = {\n children: ReactNode;\n};\n\nexport const AdminThemeProvider = ({\n children,\n}: AdminThemeProviderProps): JSX.Element => {\n return <div className={adminThemeClass}>{children}</div>;\n};\n\nexport default AdminThemeProvider;\n"],"mappings":";;;AAQA,IAAa,KAAsB,EACjC,kBAEO,kBAAC,OAAD;CAAK,WAAW;CAAkB;CAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminTheme.css.js","names":[],"sources":["../../../../src/admin/theme/adminTheme.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { vars } from '@plumile/ui/theme/themeContract.js';\n\nexport const adminThemeClass = style({\n vars: {\n [vars.colors.background]: '#F7F8FB',\n [vars.colors.backgroundSecondary]: '#F2F4F8',\n [vars.colors.backgroundTertiary]: '#EAEDF2',\n [vars.colors.backgroundModifier]: '#E1E6EE',\n [vars.colors.surface]: '#FFFFFF',\n [vars.colors.surfaceSecondary]: '#F6F8FC',\n [vars.colors.surfaceMuted]: '#F1F4F8',\n [vars.colors.surfaceElevated]: '#FFFFFF',\n [vars.colors.text]: '#0B111E',\n [vars.colors.textSecondary]: '#4A5568',\n [vars.colors.textMuted]: '#6B7280',\n [vars.colors.border]: '#E1E6EE',\n [vars.colors.borderSubtle]: '#E7EBF2',\n [vars.colors.borderStrong]: '#D2D9E4',\n [vars.colors.borderLight]: '#E1E6EE',\n [vars.colors.primaryLight]: 'rgba(165, 2, 70, 0.08)',\n [vars.colors.brandLightGray]: '#F5F7FB',\n },\n backgroundColor: vars.colors.background,\n color: vars.colors.text,\n minHeight: '100vh',\n});\n"],"mappings":""}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { cx as e } from "../../../theme/tools.js";
|
|
2
|
+
import { badge as t } from "./badge.css.js";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
//#region src/atomic/atoms/badge/Badge.tsx
|
|
5
5
|
var r = ({ children: r, tone: i, className: a, loading: o = !1 }) => {
|
|
6
6
|
let s = "off";
|
|
7
7
|
return o && (s = "on"), /* @__PURE__ */ n("span", {
|
|
8
|
-
className: t(
|
|
8
|
+
className: e(t({
|
|
9
9
|
tone: i,
|
|
10
10
|
loading: s
|
|
11
11
|
}), a),
|
|
@@ -2,8 +2,8 @@ import { cx as e } from "../../../theme/tools.js";
|
|
|
2
2
|
import { ButtonLoadingSpinnerSvg as t } from "../../../icons/ButtonLoadingSpinnerSvg.js";
|
|
3
3
|
import { useUiTranslation as n } from "../../../i18n/useUiTranslation.js";
|
|
4
4
|
import { button as r, content as i, iconLeft as a, iconRight as o, loadingIndicator as s, spinnerIcon as c } from "./button.css.js";
|
|
5
|
-
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
6
5
|
import "react";
|
|
6
|
+
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
7
|
//#region src/atomic/atoms/button/Button.tsx
|
|
8
8
|
var f = (f) => {
|
|
9
9
|
let { t: p } = n(), { children: m, className: h, disabled: g, isLoading: _ = !1, loadingLabel: v, classes: y, leftIcon: b, rightIcon: x, size: S, variant: C, width: w, ref: T, ...E } = f, D = e(r({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { checkboxContainer as e, checkboxInput as t, checkboxLabel as n, customCheckbox as r } from "./checkbox.css.js";
|
|
2
2
|
import { Input as i } from "../input/Input.js";
|
|
3
3
|
import { Label as a } from "../label/Label.js";
|
|
4
|
-
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
4
|
import "react";
|
|
5
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
6
|
//#region src/atomic/atoms/checkbox/Checkbox.tsx
|
|
7
7
|
var c = (c) => {
|
|
8
8
|
let { label: l, checked: u = !1, disabled: d = !1, onChange: f, ref: p, ...m } = c, h = null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { errorMessage as e } from "./errorMessage.css.js";
|
|
2
|
-
import { jsx as t } from "react/jsx-runtime";
|
|
3
2
|
import "react";
|
|
3
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
4
4
|
//#region src/atomic/atoms/error_message/ErrorMessage.tsx
|
|
5
5
|
var n = ({ children: n, id: r, ...i }) => n == null ? null : /* @__PURE__ */ t("div", {
|
|
6
6
|
id: r,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useUiTranslation as e } from "../../../i18n/useUiTranslation.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useMemo as t } from "react";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
//#region src/atomic/atoms/formatted-date/FormattedDate.tsx
|
|
5
5
|
var r = {
|
|
6
6
|
year: "numeric",
|
|
@@ -8,9 +8,9 @@ var r = {
|
|
|
8
8
|
day: "numeric"
|
|
9
9
|
}, i = ({ value: i, fallback: a, options: o = r, locale: s, className: c }) => {
|
|
10
10
|
let { t: l } = e(), u = a ?? l("common.notAvailable");
|
|
11
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ n("span", {
|
|
12
12
|
className: c,
|
|
13
|
-
children:
|
|
13
|
+
children: t(() => {
|
|
14
14
|
if (i == null) return u;
|
|
15
15
|
let e = new Date(String(i));
|
|
16
16
|
if (Number.isNaN(e.getTime())) return u;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { label as e, requiredMark as t } from "./label.css.js";
|
|
2
|
-
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
3
2
|
import "react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
//#region src/atomic/atoms/label/Label.tsx
|
|
5
5
|
var i = (i) => {
|
|
6
6
|
let { children: a, variant: o, size: s, required: c, ...l } = i, { className: u, ...d } = l, f = null;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ModalCloseSvg as e } from "../../../icons/ModalCloseSvg.js";
|
|
2
2
|
import { Overlay as t } from "../overlay/Overlay.js";
|
|
3
3
|
import { closeButton as n, modal as r, modalContainer as i, modalContent as a, modalHeader as o, modalTitle as s } from "./modal.css.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useEffect as c, useRef as l } from "react";
|
|
5
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
6
6
|
import { createPortal as p } from "react-dom";
|
|
7
7
|
//#region src/atomic/atoms/modal/Modal.tsx
|
|
8
8
|
var m = (m) => {
|
|
9
|
-
let { isOpen: h, onClose: g, title: _, children: v, footer: y } = m, b =
|
|
10
|
-
|
|
9
|
+
let { isOpen: h, onClose: g, title: _, children: v, footer: y } = m, b = l(null);
|
|
10
|
+
c(() => {
|
|
11
11
|
let e = (e) => {
|
|
12
12
|
e.key === "Escape" && h && g();
|
|
13
13
|
};
|
|
@@ -19,37 +19,37 @@ var m = (m) => {
|
|
|
19
19
|
e.stopPropagation();
|
|
20
20
|
};
|
|
21
21
|
if (!h) return null;
|
|
22
|
-
let S = /* @__PURE__ */ u
|
|
22
|
+
let S = /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d(t, {
|
|
23
23
|
isVisible: h,
|
|
24
24
|
onClick: g
|
|
25
|
-
}), /* @__PURE__ */
|
|
25
|
+
}), /* @__PURE__ */ d("div", {
|
|
26
26
|
className: i,
|
|
27
|
-
children: /* @__PURE__ */
|
|
27
|
+
children: /* @__PURE__ */ f("div", {
|
|
28
28
|
className: r,
|
|
29
29
|
ref: b,
|
|
30
30
|
onClick: x,
|
|
31
31
|
children: [
|
|
32
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */ f("div", {
|
|
33
33
|
className: o,
|
|
34
|
-
children: [/* @__PURE__ */
|
|
34
|
+
children: [/* @__PURE__ */ d("h2", {
|
|
35
35
|
className: s,
|
|
36
36
|
children: _
|
|
37
|
-
}), /* @__PURE__ */
|
|
37
|
+
}), /* @__PURE__ */ d("button", {
|
|
38
38
|
className: n,
|
|
39
39
|
onClick: g,
|
|
40
40
|
"aria-label": "Close",
|
|
41
41
|
type: "button",
|
|
42
|
-
children: /* @__PURE__ */
|
|
42
|
+
children: /* @__PURE__ */ d(e, {
|
|
43
43
|
width: 20,
|
|
44
44
|
height: 20
|
|
45
45
|
})
|
|
46
46
|
})]
|
|
47
47
|
}),
|
|
48
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ d("div", {
|
|
49
49
|
className: a,
|
|
50
50
|
children: v
|
|
51
51
|
}),
|
|
52
|
-
y != null && /* @__PURE__ */
|
|
52
|
+
y != null && /* @__PURE__ */ d("div", {
|
|
53
53
|
className: "_1uzccdf8 txvbqbnvx txvbqboj6 txvbqbp5x txvbqblxo txvbqb9io txvbqbdo6 txvbqbaoo txvbqb12f txvbqb1qf txvbqb4ro txvbqb2c6",
|
|
54
54
|
children: y
|
|
55
55
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cx as e } from "../../../theme/tools.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { breadcrumbChevron as t, breadcrumbChevronButton as n, breadcrumbChevronOpen as r, breadcrumbLink as i, breadcrumbNameRow as a, breadcrumbSection as o, popoverPanel as s } from "./breadcrumbNavigation.css.js";
|
|
3
|
+
import { ChevronDownSvg as c } from "../../../icons/ChevronDownSvg.js";
|
|
4
|
+
import { Dropdown as l } from "../dropdown/Dropdown.js";
|
|
5
5
|
import { BreadcrumbMenuPopover as u } from "./BreadcrumbMenuPopover.js";
|
|
6
6
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
7
7
|
import { Link as p } from "@plumile/router";
|
|
@@ -9,27 +9,27 @@ import { Link as p } from "@plumile/router";
|
|
|
9
9
|
var m = ({ node: m, menu: h, ariaLabel: g, searchPlaceholder: _, searchAriaLabel: v, emptyLabel: y, emptyMatchesLabel: b }) => {
|
|
10
10
|
let x = h?.items ?? [];
|
|
11
11
|
return /* @__PURE__ */ d("div", {
|
|
12
|
-
className:
|
|
12
|
+
className: o,
|
|
13
13
|
children: /* @__PURE__ */ f("div", {
|
|
14
|
-
className:
|
|
14
|
+
className: a,
|
|
15
15
|
children: [/* @__PURE__ */ d(p, {
|
|
16
16
|
to: m.to,
|
|
17
|
-
className:
|
|
17
|
+
className: i,
|
|
18
18
|
children: m.name
|
|
19
|
-
}), /* @__PURE__ */ d(
|
|
20
|
-
trigger: (
|
|
19
|
+
}), /* @__PURE__ */ d(l, {
|
|
20
|
+
trigger: (i) => /* @__PURE__ */ d("button", {
|
|
21
21
|
type: "button",
|
|
22
|
-
className:
|
|
23
|
-
children: /* @__PURE__ */ d(
|
|
22
|
+
className: n,
|
|
23
|
+
children: /* @__PURE__ */ d(c, {
|
|
24
24
|
width: 14,
|
|
25
25
|
height: 14,
|
|
26
|
-
className: e(
|
|
26
|
+
className: e(t, { [r]: i })
|
|
27
27
|
})
|
|
28
28
|
}),
|
|
29
29
|
ariaLabel: g,
|
|
30
30
|
placement: "bottom-start",
|
|
31
31
|
matchTriggerWidth: !1,
|
|
32
|
-
contentClassName:
|
|
32
|
+
contentClassName: s,
|
|
33
33
|
children: /* @__PURE__ */ d(u, {
|
|
34
34
|
items: x,
|
|
35
35
|
selectedId: h?.selectedId,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { cx as e } from "../../../theme/tools.js";
|
|
2
2
|
import { Input as t } from "../../atoms/input/Input.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { popoverContent as n, popoverItem as r, popoverItemActive as i, popoverItemDescription as a, popoverItemName as o, popoverList as s, popoverSearch as c } from "./breadcrumbNavigation.css.js";
|
|
4
|
+
import { useDropdown as l } from "../dropdown/Dropdown.js";
|
|
5
|
+
import { useMemo as u, useState as d } from "react";
|
|
6
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
7
|
import { Link as m } from "@plumile/router";
|
|
8
8
|
//#region src/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.tsx
|
|
9
9
|
var h = ({ items: h, selectedId: g, searchPlaceholder: _, searchAriaLabel: v, emptyLabel: y, emptyMatchesLabel: b }) => {
|
|
10
|
-
let { close: x } =
|
|
11
|
-
return E = w === "" ? y : b, /* @__PURE__ */
|
|
12
|
-
className:
|
|
13
|
-
children: [/* @__PURE__ */
|
|
14
|
-
className:
|
|
15
|
-
children: /* @__PURE__ */
|
|
10
|
+
let { close: x } = l(), [S, C] = d(""), w = S.trim().toLowerCase(), T = u(() => w === "" ? h : h.filter((e) => e.name.toLowerCase().includes(w)), [h, w]), E;
|
|
11
|
+
return E = w === "" ? y : b, /* @__PURE__ */ p("div", {
|
|
12
|
+
className: n,
|
|
13
|
+
children: [/* @__PURE__ */ f("div", {
|
|
14
|
+
className: c,
|
|
15
|
+
children: /* @__PURE__ */ f(t, {
|
|
16
16
|
type: "search",
|
|
17
17
|
size: "small",
|
|
18
18
|
fullWidth: !0,
|
|
@@ -23,26 +23,26 @@ var h = ({ items: h, selectedId: g, searchPlaceholder: _, searchAriaLabel: v, em
|
|
|
23
23
|
},
|
|
24
24
|
"aria-label": v
|
|
25
25
|
})
|
|
26
|
-
}), /* @__PURE__ */
|
|
27
|
-
className:
|
|
28
|
-
children: [T.length === 0 && /* @__PURE__ */
|
|
26
|
+
}), /* @__PURE__ */ p("ul", {
|
|
27
|
+
className: s,
|
|
28
|
+
children: [T.length === 0 && /* @__PURE__ */ f("li", {
|
|
29
29
|
className: "_1u1q111s txvbqbl9x txvbqb8x txvbqbv8r",
|
|
30
30
|
children: E
|
|
31
31
|
}), T.map((t) => {
|
|
32
|
-
let n = e(
|
|
33
|
-
return t.description != null && t.description !== "" && (
|
|
34
|
-
className:
|
|
32
|
+
let n = e(r, { [i]: t.id === g }), s = null;
|
|
33
|
+
return t.description != null && t.description !== "" && (s = /* @__PURE__ */ f("span", {
|
|
34
|
+
className: a,
|
|
35
35
|
children: t.description
|
|
36
|
-
})), /* @__PURE__ */
|
|
36
|
+
})), /* @__PURE__ */ f("li", { children: /* @__PURE__ */ p(m, {
|
|
37
37
|
to: t.to,
|
|
38
38
|
className: n,
|
|
39
39
|
onClick: () => {
|
|
40
40
|
x();
|
|
41
41
|
},
|
|
42
|
-
children: [/* @__PURE__ */
|
|
43
|
-
className:
|
|
42
|
+
children: [/* @__PURE__ */ f("span", {
|
|
43
|
+
className: o,
|
|
44
44
|
children: t.name
|
|
45
|
-
}),
|
|
45
|
+
}), s]
|
|
46
46
|
}) }, t.id);
|
|
47
47
|
})]
|
|
48
48
|
})]
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { cx as e } from "../../../theme/tools.js";
|
|
2
2
|
import { useUiTranslation as t } from "../../../i18n/useUiTranslation.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { SidebarHomeSvg as n } from "../../../icons/SidebarHomeSvg.js";
|
|
4
|
+
import { breadcrumb as r, breadcrumbItem as i, breadcrumbList as a, breadcrumbSeparator as o, homeIcon as s, homeLink as c } from "./breadcrumbNavigation.css.js";
|
|
5
|
+
import { BreadcrumbMenuDropdown as l } from "./BreadcrumbMenuDropdown.js";
|
|
6
6
|
import { jsx as u } from "react/jsx-runtime";
|
|
7
7
|
import { Link as d } from "@plumile/router";
|
|
8
8
|
//#region src/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.tsx
|
|
9
9
|
var f = (f) => {
|
|
10
10
|
let { organization: p, group: m, project: h, groupMenu: g, projectMenu: _, className: v } = f, { t: y } = t(), b = y("navigation.breadcrumb.empty.matches"), x = y("navigation.breadcrumb.search.groups"), S = y("navigation.breadcrumb.empty.groups"), C = y("navigation.breadcrumb.menu.group"), w = y("navigation.breadcrumb.search.projects"), T = y("navigation.breadcrumb.empty.projects"), E = y("navigation.breadcrumb.menu.project"), D = [];
|
|
11
11
|
D.push(/* @__PURE__ */ u("li", {
|
|
12
|
-
className:
|
|
12
|
+
className: i,
|
|
13
13
|
children: /* @__PURE__ */ u(d, {
|
|
14
14
|
to: p.to,
|
|
15
|
-
className:
|
|
15
|
+
className: c,
|
|
16
16
|
"aria-label": `Organization: ${p.name}`,
|
|
17
|
-
children: /* @__PURE__ */ u(
|
|
17
|
+
children: /* @__PURE__ */ u(n, {
|
|
18
18
|
width: 16,
|
|
19
19
|
height: 16,
|
|
20
|
-
className:
|
|
20
|
+
className: s
|
|
21
21
|
})
|
|
22
22
|
})
|
|
23
23
|
}, "home")), m != null && D.push(/* @__PURE__ */ u("li", {
|
|
24
|
-
className:
|
|
25
|
-
children: /* @__PURE__ */ u(
|
|
24
|
+
className: i,
|
|
25
|
+
children: /* @__PURE__ */ u(l, {
|
|
26
26
|
node: m,
|
|
27
27
|
menu: g,
|
|
28
28
|
ariaLabel: C,
|
|
@@ -32,8 +32,8 @@ var f = (f) => {
|
|
|
32
32
|
emptyMatchesLabel: b
|
|
33
33
|
})
|
|
34
34
|
}, "group")), h != null && D.push(/* @__PURE__ */ u("li", {
|
|
35
|
-
className:
|
|
36
|
-
children: /* @__PURE__ */ u(
|
|
35
|
+
className: i,
|
|
36
|
+
children: /* @__PURE__ */ u(l, {
|
|
37
37
|
node: h,
|
|
38
38
|
menu: _,
|
|
39
39
|
ariaLabel: E,
|
|
@@ -44,15 +44,15 @@ var f = (f) => {
|
|
|
44
44
|
})
|
|
45
45
|
}, "project"));
|
|
46
46
|
let O = D.flatMap((e, t) => t === 0 ? [e] : [/* @__PURE__ */ u("li", {
|
|
47
|
-
className:
|
|
47
|
+
className: o,
|
|
48
48
|
"aria-hidden": "true",
|
|
49
49
|
children: "/"
|
|
50
50
|
}, `separator-${t}`), e]);
|
|
51
51
|
return /* @__PURE__ */ u("nav", {
|
|
52
|
-
className: e(
|
|
52
|
+
className: e(r, v),
|
|
53
53
|
"aria-label": "Breadcrumb",
|
|
54
54
|
children: /* @__PURE__ */ u("ol", {
|
|
55
|
-
className:
|
|
55
|
+
className: a,
|
|
56
56
|
children: O
|
|
57
57
|
})
|
|
58
58
|
});
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { cx as e } from "../../../theme/tools.js";
|
|
2
2
|
import { card as t, content as n, header as r, title as i } from "./Card.css.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useMemo as a } from "react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
5
|
//#region src/atomic/molecules/card/Card.tsx
|
|
6
6
|
var c = (c) => {
|
|
7
|
-
let { title: l, children: u, headerActions: d, className: f, contentClassName: p } = c, m =
|
|
7
|
+
let { title: l, children: u, headerActions: d, className: f, contentClassName: p } = c, m = a(() => l == null ? null : /* @__PURE__ */ s("div", {
|
|
8
8
|
className: r,
|
|
9
|
-
children: [/* @__PURE__ */
|
|
9
|
+
children: [/* @__PURE__ */ o("span", {
|
|
10
10
|
className: i,
|
|
11
11
|
children: l
|
|
12
12
|
}), d]
|
|
13
13
|
}), [d, l]);
|
|
14
|
-
return /* @__PURE__ */
|
|
14
|
+
return /* @__PURE__ */ s("div", {
|
|
15
15
|
className: e(t, f),
|
|
16
|
-
children: [m, /* @__PURE__ */
|
|
16
|
+
children: [m, /* @__PURE__ */ o("div", {
|
|
17
17
|
className: e(n, p),
|
|
18
18
|
children: u
|
|
19
19
|
})]
|
|
@@ -2,8 +2,8 @@ import { Label as e } from "../../atoms/label/Label.js";
|
|
|
2
2
|
import { Checkbox as t } from "../../atoms/checkbox/Checkbox.js";
|
|
3
3
|
import { ErrorMessage as n } from "../../atoms/error_message/ErrorMessage.js";
|
|
4
4
|
import { checkboxField as r, checkboxWrapper as i, helperText as a, labelWrapper as o } from "./checkboxField.css.js";
|
|
5
|
-
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
6
5
|
import "react";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
7
|
//#region src/atomic/molecules/checkbox_field/CheckboxField.tsx
|
|
8
8
|
var l = (l) => {
|
|
9
9
|
let { id: u, label: d, error: f, helperText: p, ...m } = l, h = `checkbox-${Math.random().toString(36).substring(2, 9)}`;
|