@plumile/ui-backoffice 0.1.55 → 0.1.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js +32 -25
  2. package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js.map +1 -1
  3. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js +7 -11
  4. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js.map +1 -1
  5. package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js +35 -26
  6. package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js.map +1 -1
  7. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js +7 -10
  8. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js.map +1 -1
  9. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js +23 -22
  10. package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js.map +1 -1
  11. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js +7 -9
  12. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js.map +1 -1
  13. package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js +21 -14
  14. package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js.map +1 -1
  15. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +7 -11
  16. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js.map +1 -1
  17. package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js +30 -24
  18. package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js.map +1 -1
  19. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js +7 -12
  20. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js.map +1 -1
  21. package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js +64 -72
  22. package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js.map +1 -1
  23. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js +7 -12
  24. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js.map +1 -1
  25. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js +30 -32
  26. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js.map +1 -1
  27. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js +7 -10
  28. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js.map +1 -1
  29. package/lib/esm/index.js +8 -24
  30. package/lib/esm/shared/agentJobRequestFormatting.js +27 -32
  31. package/lib/esm/shared/agentJobRequestFormatting.js.map +1 -1
  32. package/lib/esm/shared/agentText.js +11 -11
  33. package/lib/esm/shared/agentText.js.map +1 -1
  34. package/lib/esm/style.css +2 -0
  35. package/lib/esm/style.js +1 -0
  36. package/lib/types/style.d.ts +2 -0
  37. package/lib/types/style.d.ts.map +1 -0
  38. package/package.json +4 -3
  39. package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.ts.vanilla-D0P3CDXC.css +0 -1
  40. package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.ts.vanilla-Bk-T2B_H.css +0 -1
  41. package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.ts.vanilla-B2riteFJ.css +0 -1
  42. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.ts.vanilla-DBpaSjsF.css +0 -1
  43. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.ts.vanilla-wuFX6NZS.css +0 -1
  44. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.ts.vanilla-CYh03qtn.css +0 -1
  45. package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.ts.vanilla-Cn8nymLF.css +0 -1
  46. package/lib/esm/index.js.map +0 -1
@@ -1,26 +1,33 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { cx as s } from "@plumile/ui";
3
- import { stacked as m, container as n, layout as o, primary as t, secondary as h, header as f } from "./backofficeDetailLayout.css.js";
4
- const p = ({
5
- header: l,
6
- content: i,
7
- aside: c,
8
- className: d
9
- }) => {
10
- let a = null;
11
- return l != null && (a = /* @__PURE__ */ e("div", { className: f, children: l })), c == null ? /* @__PURE__ */ r("div", { className: s(n, d), children: [
12
- a,
13
- /* @__PURE__ */ e("div", { className: m, children: i })
14
- ] }) : /* @__PURE__ */ r("div", { className: s(n, d), children: [
15
- a,
16
- /* @__PURE__ */ r("div", { className: o, children: [
17
- /* @__PURE__ */ e("div", { className: t, children: i }),
18
- /* @__PURE__ */ e("aside", { className: h, children: c })
19
- ] })
20
- ] });
1
+ import { container as e, header as t, layout as n, primary as r, secondary as i, stacked as a } from "./backofficeDetailLayout.css.js";
2
+ import { cx as o } from "@plumile/ui";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ //#region src/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.tsx
5
+ var l = ({ header: l, content: u, aside: d, className: f }) => {
6
+ let p = null;
7
+ return l != null && (p = /* @__PURE__ */ s("div", {
8
+ className: t,
9
+ children: l
10
+ })), d == null ? /* @__PURE__ */ c("div", {
11
+ className: o(e, f),
12
+ children: [p, /* @__PURE__ */ s("div", {
13
+ className: a,
14
+ children: u
15
+ })]
16
+ }) : /* @__PURE__ */ c("div", {
17
+ className: o(e, f),
18
+ children: [p, /* @__PURE__ */ c("div", {
19
+ className: n,
20
+ children: [/* @__PURE__ */ s("div", {
21
+ className: r,
22
+ children: u
23
+ }), /* @__PURE__ */ s("aside", {
24
+ className: i,
25
+ children: d
26
+ })]
27
+ })]
28
+ });
21
29
  };
22
- export {
23
- p as BackofficeDetailLayout,
24
- p as default
25
- };
26
- //# sourceMappingURL=BackofficeDetailLayout.js.map
30
+ //#endregion
31
+ export { l as BackofficeDetailLayout, l as default };
32
+
33
+ //# sourceMappingURL=BackofficeDetailLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeDetailLayout.js","sources":["../../../../../src/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeDetailLayout.css.js';\n\nexport type BackofficeDetailLayoutProps = {\n header: ReactNode;\n content: ReactNode;\n aside?: ReactNode;\n className?: string;\n};\n\nexport const BackofficeDetailLayout = ({\n header,\n content,\n aside,\n className,\n}: BackofficeDetailLayoutProps): JSX.Element => {\n let headerNode: JSX.Element | null = null;\n if (header != null) {\n headerNode = <div className={styles.header}>{header}</div>;\n }\n\n if (aside == null) {\n return (\n <div className={cx(styles.container, className)}>\n {headerNode}\n <div className={styles.stacked}>{content}</div>\n </div>\n );\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {headerNode}\n <div className={styles.layout}>\n <div className={styles.primary}>{content}</div>\n <aside className={styles.secondary}>{aside}</aside>\n </div>\n </div>\n );\n};\n\nexport default BackofficeDetailLayout;\n"],"names":["BackofficeDetailLayout","header","content","aside","className","headerNode","jsx","styles.header","cx","styles.container","styles.stacked","jsxs","styles.layout","styles.primary","styles.secondary"],"mappings":";;;AAYO,MAAMA,IAAyB,CAAC;AAAA,EAAA,QACrCC;AAAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AACF,MAAgD;AAC9C,MAAIC,IAAiC;AAKrC,SAJIJ,KAAU,SACZI,IAAa,gBAAAC,EAAC,OAAA,EAAI,WAAWC,GAAgB,UAAAN,GAAO,IAGlDE,KAAS,yBAER,OAAA,EAAI,WAAWK,EAAGC,GAAkBL,CAAS,GAC3C,UAAA;AAAA,IAAAC;AAAA,IACD,gBAAAC,EAAC,OAAA,EAAI,WAAWI,GAAiB,UAAAR,EAAA,CAAQ;AAAA,EAAA,GAC3C,sBAKD,OAAA,EAAI,WAAWM,EAAGC,GAAkBL,CAAS,GAC3C,UAAA;AAAA,IAAAC;AAAA,IACD,gBAAAM,EAAC,OAAA,EAAI,WAAWC,GACd,UAAA;AAAA,MAAA,gBAAAN,EAAC,OAAA,EAAI,WAAWO,GAAiB,UAAAX,GAAQ;AAAA,MACzC,gBAAAI,EAAC,SAAA,EAAM,WAAWQ,GAAmB,UAAAX,EAAA,CAAM;AAAA,IAAA,EAAA,CAC7C;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"BackofficeDetailLayout.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeDetailLayout.css.js';\n\nexport type BackofficeDetailLayoutProps = {\n header: ReactNode;\n content: ReactNode;\n aside?: ReactNode;\n className?: string;\n};\n\nexport const BackofficeDetailLayout = ({\n header,\n content,\n aside,\n className,\n}: BackofficeDetailLayoutProps): JSX.Element => {\n let headerNode: JSX.Element | null = null;\n if (header != null) {\n headerNode = <div className={styles.header}>{header}</div>;\n }\n\n if (aside == null) {\n return (\n <div className={cx(styles.container, className)}>\n {headerNode}\n <div className={styles.stacked}>{content}</div>\n </div>\n );\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {headerNode}\n <div className={styles.layout}>\n <div className={styles.primary}>{content}</div>\n <aside className={styles.secondary}>{aside}</aside>\n </div>\n </div>\n );\n};\n\nexport default BackofficeDetailLayout;\n"],"mappings":";;;;AAYA,IAAa,KAA0B,EACrC,QAAA,GACA,YACA,UACA,mBAC8C;CAC9C,IAAI,IAAiC;AAcrC,QAbI,KAAU,SACZ,IAAa,kBAAC,OAAD;EAAK,WAAW;YAAgB;EAAa,CAAA,GAGxD,KAAS,OAET,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAkB,EAAU;YAA/C,CACG,GACD,kBAAC,OAAD;GAAK,WAAW;aAAiB;GAAc,CAAA,CAC3C;MAKR,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAkB,EAAU;YAA/C,CACG,GACD,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,OAAD;IAAK,WAAW;cAAiB;IAAc,CAAA,EAC/C,kBAAC,SAAD;IAAO,WAAW;cAAmB;IAAc,CAAA,CAC/C;KACF"}
@@ -1,11 +1,7 @@
1
- /* empty css */
2
- var a = "_1who7yn0", o = "_1who7yn1", n = "_1who7yn2", y = "_1who7yn3", h = "_1who7yn4", e = "_1who7yn5";
3
- export {
4
- a as container,
5
- o as header,
6
- n as layout,
7
- y as primary,
8
- h as secondary,
9
- e as stacked
10
- };
11
- //# sourceMappingURL=backofficeDetailLayout.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.ts
3
+ var e = "_1who7yn0", t = "_1who7yn1", n = "_1who7yn2", r = "_1who7yn3", i = "_1who7yn4", a = "_1who7yn5";
4
+ //#endregion
5
+ export { e as container, t as header, n as layout, r as primary, i as secondary, a as stacked };
6
+
7
+ //# sourceMappingURL=backofficeDetailLayout.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeDetailLayout.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficeDetailLayout.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\nimport { screens } from '../../../../../ui/src/theme/common.js';\n\nexport const container = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[4],\n});\n\nexport const header = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[2],\n});\n\nexport const layout = style({\n display: 'grid',\n gridTemplateColumns: vars.gridTemplateColumns.detailAside320,\n alignItems: 'flex-start',\n gap: vars.spacing[4],\n '@media': {\n [screens.lg]: {\n gridTemplateColumns: vars.gridTemplateColumns.detailSingle,\n },\n },\n});\n\nexport const primary = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[4],\n minWidth: 0,\n});\n\nexport const secondary = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[3],\n});\n\nexport const stacked = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[4],\n});\n"],"mappings":""}
@@ -1,27 +1,36 @@
1
- import { jsxs as r, jsx as i } from "react/jsx-runtime";
2
- import { cx as d } from "@plumile/ui";
3
- import { title as m, container as f, description as u, actions as N, icon as p } from "./backofficeEmptyState.css.js";
4
- const j = ({
5
- title: s,
6
- description: l,
7
- actions: e,
8
- icon: t,
9
- className: a
10
- }) => {
11
- let c = null;
12
- l != null && (c = /* @__PURE__ */ i("div", { className: u, children: l }));
13
- let n = null;
14
- e != null && (n = /* @__PURE__ */ i("div", { className: N, children: e }));
15
- let o = null;
16
- return t != null && (o = /* @__PURE__ */ i("div", { className: p, children: t })), /* @__PURE__ */ r("div", { className: d(f, a), children: [
17
- o,
18
- /* @__PURE__ */ i("div", { className: m, children: s }),
19
- c,
20
- n
21
- ] });
1
+ import { actions as e, container as t, description as n, icon as r, title as i } from "./backofficeEmptyState.css.js";
2
+ import { cx as a } from "@plumile/ui";
3
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
4
+ //#region src/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.tsx
5
+ var c = ({ title: c, description: l, actions: u, icon: d, className: f }) => {
6
+ let p = null;
7
+ l != null && (p = /* @__PURE__ */ o("div", {
8
+ className: n,
9
+ children: l
10
+ }));
11
+ let m = null;
12
+ u != null && (m = /* @__PURE__ */ o("div", {
13
+ className: e,
14
+ children: u
15
+ }));
16
+ let h = null;
17
+ return d != null && (h = /* @__PURE__ */ o("div", {
18
+ className: r,
19
+ children: d
20
+ })), /* @__PURE__ */ s("div", {
21
+ className: a(t, f),
22
+ children: [
23
+ h,
24
+ /* @__PURE__ */ o("div", {
25
+ className: i,
26
+ children: c
27
+ }),
28
+ p,
29
+ m
30
+ ]
31
+ });
22
32
  };
23
- export {
24
- j as BackofficeEmptyState,
25
- j as default
26
- };
27
- //# sourceMappingURL=BackofficeEmptyState.js.map
33
+ //#endregion
34
+ export { c as BackofficeEmptyState, c as default };
35
+
36
+ //# sourceMappingURL=BackofficeEmptyState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEmptyState.js","sources":["../../../../../src/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeEmptyState.css.js';\n\nexport type BackofficeEmptyStateProps = {\n title: ReactNode;\n description?: ReactNode;\n actions?: ReactNode;\n icon?: ReactNode;\n className?: string;\n};\n\nexport const BackofficeEmptyState = ({\n title,\n description,\n actions,\n icon,\n className,\n}: BackofficeEmptyStateProps): JSX.Element => {\n let descriptionNode: JSX.Element | null = null;\n if (description != null) {\n descriptionNode = <div className={styles.description}>{description}</div>;\n }\n\n let actionsNode: JSX.Element | null = null;\n if (actions != null) {\n actionsNode = <div className={styles.actions}>{actions}</div>;\n }\n\n let iconNode: JSX.Element | null = null;\n if (icon != null) {\n iconNode = <div className={styles.icon}>{icon}</div>;\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {iconNode}\n <div className={styles.title}>{title}</div>\n {descriptionNode}\n {actionsNode}\n </div>\n );\n};\n\nexport default BackofficeEmptyState;\n"],"names":["BackofficeEmptyState","title","description","actions","icon","className","descriptionNode","jsx","styles.description","actionsNode","styles.actions","iconNode","styles.icon","cx","styles.container","styles.title"],"mappings":";;;AAaO,MAAMA,IAAuB,CAAC;AAAA,EAAA,OACnCC;AAAAA,EAAA,aACAC;AAAAA,EAAA,SACAC;AAAAA,EAAA,MACAC;AAAAA,EACA,WAAAC;AACF,MAA8C;AAC5C,MAAIC,IAAsC;AAC1C,EAAIJ,KAAe,SACjBI,IAAkB,gBAAAC,EAAC,OAAA,EAAI,WAAWC,GAAqB,UAAAN,GAAY;AAGrE,MAAIO,IAAkC;AACtC,EAAIN,KAAW,SACbM,IAAc,gBAAAF,EAAC,OAAA,EAAI,WAAWG,GAAiB,UAAAP,GAAQ;AAGzD,MAAIQ,IAA+B;AACnC,SAAIP,KAAQ,SACVO,IAAW,gBAAAJ,EAAC,OAAA,EAAI,WAAWK,GAAc,UAAAR,GAAK,sBAI7C,OAAA,EAAI,WAAWS,EAAGC,GAAkBT,CAAS,GAC3C,UAAA;AAAA,IAAAM;AAAA,IACD,gBAAAJ,EAAC,OAAA,EAAI,WAAWQ,GAAe,UAAAd,GAAM;AAAA,IACpCK;AAAA,IACAG;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"BackofficeEmptyState.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeEmptyState.css.js';\n\nexport type BackofficeEmptyStateProps = {\n title: ReactNode;\n description?: ReactNode;\n actions?: ReactNode;\n icon?: ReactNode;\n className?: string;\n};\n\nexport const BackofficeEmptyState = ({\n title,\n description,\n actions,\n icon,\n className,\n}: BackofficeEmptyStateProps): JSX.Element => {\n let descriptionNode: JSX.Element | null = null;\n if (description != null) {\n descriptionNode = <div className={styles.description}>{description}</div>;\n }\n\n let actionsNode: JSX.Element | null = null;\n if (actions != null) {\n actionsNode = <div className={styles.actions}>{actions}</div>;\n }\n\n let iconNode: JSX.Element | null = null;\n if (icon != null) {\n iconNode = <div className={styles.icon}>{icon}</div>;\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {iconNode}\n <div className={styles.title}>{title}</div>\n {descriptionNode}\n {actionsNode}\n </div>\n );\n};\n\nexport default BackofficeEmptyState;\n"],"mappings":";;;;AAaA,IAAa,KAAwB,EACnC,OAAA,GACA,aAAA,GACA,SAAA,GACA,MAAA,GACA,mBAC4C;CAC5C,IAAI,IAAsC;AAC1C,CAAI,KAAe,SACjB,IAAkB,kBAAC,OAAD;EAAK,WAAW;YAAqB;EAAkB,CAAA;CAG3E,IAAI,IAAkC;AACtC,CAAI,KAAW,SACb,IAAc,kBAAC,OAAD;EAAK,WAAW;YAAiB;EAAc,CAAA;CAG/D,IAAI,IAA+B;AAKnC,QAJI,KAAQ,SACV,IAAW,kBAAC,OAAD;EAAK,WAAW;YAAc;EAAW,CAAA,GAIpD,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAkB,EAAU;YAA/C;GACG;GACD,kBAAC,OAAD;IAAK,WAAW;cAAe;IAAY,CAAA;GAC1C;GACA;GACG"}
@@ -1,10 +1,7 @@
1
- /* empty css */
2
- var i = "z8zris0", z = "z8zris1", a = "z8zris2", s = "z8zris3", t = "z8zris4";
3
- export {
4
- t as actions,
5
- i as container,
6
- s as description,
7
- z as icon,
8
- a as title
9
- };
10
- //# sourceMappingURL=backofficeEmptyState.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.ts
3
+ var e = "z8zris0", t = "z8zris1", n = "z8zris2", r = "z8zris3", i = "z8zris4";
4
+ //#endregion
5
+ export { i as actions, e as container, r as description, t as icon, n as title };
6
+
7
+ //# sourceMappingURL=backofficeEmptyState.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeEmptyState.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficeEmptyState.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\n\nexport const container = style({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n paddingTop: vars.spacing[6],\n paddingBottom: vars.spacing[6],\n paddingLeft: vars.spacing[4],\n paddingRight: vars.spacing[4],\n gap: vars.spacing[2],\n color: vars.colors.textSecondary,\n});\n\nexport const icon = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: vars.colors.textSecondary,\n});\n\nexport const title = style({\n fontSize: vars.fontSize.base,\n lineHeight: vars.lineHeight.base,\n fontWeight: vars.fontWeight.semibold,\n color: vars.colors.text,\n});\n\nexport const description = style({\n fontSize: vars.fontSize.sm,\n lineHeight: vars.lineHeight.sm,\n color: vars.colors.textSecondary,\n});\n\nexport const actions = style({\n marginTop: vars.spacing[2],\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n flexWrap: 'wrap',\n justifyContent: 'center',\n});\n"],"mappings":""}
@@ -1,23 +1,24 @@
1
- import { jsxs as e, jsx as l } from "react/jsx-runtime";
2
- import { cx as n } from "@plumile/ui";
3
- import { header as o, title as i, description as t, container as h } from "./backofficeFormSection.css.js";
4
- const x = ({
5
- title: r,
6
- description: a,
7
- children: m,
8
- className: c
9
- }) => {
10
- const s = r != null && r.trim() !== "" || a != null && a.trim() !== "";
11
- return /* @__PURE__ */ e("section", { className: n(h, c), children: [
12
- s && /* @__PURE__ */ e("div", { className: o, children: [
13
- r != null && r.trim() !== "" && /* @__PURE__ */ l("h3", { className: i, children: r }),
14
- a != null && a.trim() !== "" && /* @__PURE__ */ l("p", { className: t, children: a })
15
- ] }),
16
- m
17
- ] });
1
+ import { container as e } from "./backofficeFormSection.css.js";
2
+ import { cx as t } from "@plumile/ui";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/backoffice/molecules/backoffice_form_section/BackofficeFormSection.tsx
5
+ var i = ({ title: i, description: a, children: o, className: s }) => {
6
+ let c = i != null && i.trim() !== "" || a != null && a.trim() !== "";
7
+ return /* @__PURE__ */ r("section", {
8
+ className: t(e, s),
9
+ children: [c && /* @__PURE__ */ r("div", {
10
+ className: "w9nf051",
11
+ children: [i != null && i.trim() !== "" && /* @__PURE__ */ n("h3", {
12
+ className: "w9nf052",
13
+ children: i
14
+ }), a != null && a.trim() !== "" && /* @__PURE__ */ n("p", {
15
+ className: "w9nf053",
16
+ children: a
17
+ })]
18
+ }), o]
19
+ });
18
20
  };
19
- export {
20
- x as BackofficeFormSection,
21
- x as default
22
- };
23
- //# sourceMappingURL=BackofficeFormSection.js.map
21
+ //#endregion
22
+ export { i as BackofficeFormSection, i as default };
23
+
24
+ //# sourceMappingURL=BackofficeFormSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeFormSection.js","sources":["../../../../../src/backoffice/molecules/backoffice_form_section/BackofficeFormSection.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeFormSection.css.js';\n\nexport type BackofficeFormSectionProps = {\n title?: string;\n description?: string;\n children: ReactNode;\n className?: string;\n};\n\nexport const BackofficeFormSection = ({\n title,\n description,\n children,\n className,\n}: BackofficeFormSectionProps): JSX.Element => {\n const hasHeader =\n (title != null && title.trim() !== '') ||\n (description != null && description.trim() !== '');\n\n return (\n <section className={cx(styles.container, className)}>\n {hasHeader && (\n <div className={styles.header}>\n {title != null && title.trim() !== '' && (\n <h3 className={styles.title}>{title}</h3>\n )}\n {description != null && description.trim() !== '' && (\n <p className={styles.description}>{description}</p>\n )}\n </div>\n )}\n {children}\n </section>\n );\n};\n\nexport default BackofficeFormSection;\n"],"names":["BackofficeFormSection","title","description","children","className","hasHeader","cx","styles.container","jsxs","styles.header","styles.title","jsx","styles.description"],"mappings":";;;AAYO,MAAMA,IAAwB,CAAC;AAAA,EAAA,OACpCC;AAAAA,EAAA,aACAC;AAAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,MAA+C;AAC7C,QAAMC,IACHJ,KAAS,QAAQA,EAAM,KAAA,MAAW,MAClCC,KAAe,QAAQA,EAAY,KAAA,MAAW;AAEjD,2BACG,WAAA,EAAQ,WAAWI,EAAGC,GAAkBH,CAAS,GAC/C,UAAA;AAAA,IAAAC,KACC,gBAAAG,EAAC,OAAA,EAAI,WAAWC,GACb,UAAA;AAAA,MAAAR,KAAS,QAAQA,EAAM,KAAA,MAAW,wBAChC,MAAA,EAAG,WAAWS,GAAe,UAAAT,EAAA,CAAM;AAAA,MAErCC,KAAe,QAAQA,EAAY,KAAA,MAAW,MAC7C,gBAAAS,EAAC,KAAA,EAAE,WAAWC,GAAqB,UAAAV,EAAA,CAAY;AAAA,IAAA,GAEnD;AAAA,IAEDC;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"BackofficeFormSection.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_form_section/BackofficeFormSection.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeFormSection.css.js';\n\nexport type BackofficeFormSectionProps = {\n title?: string;\n description?: string;\n children: ReactNode;\n className?: string;\n};\n\nexport const BackofficeFormSection = ({\n title,\n description,\n children,\n className,\n}: BackofficeFormSectionProps): JSX.Element => {\n const hasHeader =\n (title != null && title.trim() !== '') ||\n (description != null && description.trim() !== '');\n\n return (\n <section className={cx(styles.container, className)}>\n {hasHeader && (\n <div className={styles.header}>\n {title != null && title.trim() !== '' && (\n <h3 className={styles.title}>{title}</h3>\n )}\n {description != null && description.trim() !== '' && (\n <p className={styles.description}>{description}</p>\n )}\n </div>\n )}\n {children}\n </section>\n );\n};\n\nexport default BackofficeFormSection;\n"],"mappings":";;;;AAYA,IAAa,KAAyB,EACpC,OAAA,GACA,aAAA,GACA,aACA,mBAC6C;CAC7C,IAAM,IACH,KAAS,QAAQ,EAAM,MAAM,KAAK,MAClC,KAAe,QAAQ,EAAY,MAAM,KAAK;AAEjD,QACE,kBAAC,WAAD;EAAS,WAAW,EAAG,GAAkB,EAAU;YAAnD,CACG,KACC,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACG,KAAS,QAAQ,EAAM,MAAM,KAAK,MACjC,kBAAC,MAAD;IAAI,WAAW;cAAe;IAAW,CAAA,EAE1C,KAAe,QAAQ,EAAY,MAAM,KAAK,MAC7C,kBAAC,KAAD;IAAG,WAAW;cAAqB;IAAgB,CAAA,CAEjD;MAEP,EACO"}
@@ -1,9 +1,7 @@
1
- /* empty css */
2
- var n = "w9nf050", a = "w9nf051", e = "w9nf052", t = "w9nf053";
3
- export {
4
- n as container,
5
- t as description,
6
- a as header,
7
- e as title
8
- };
9
- //# sourceMappingURL=backofficeFormSection.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.ts
3
+ var e = "w9nf050", t = "w9nf051", n = "w9nf052", r = "w9nf053";
4
+ //#endregion
5
+ export { e as container, r as description, t as header, n as title };
6
+
7
+ //# sourceMappingURL=backofficeFormSection.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeFormSection.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficeFormSection.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\n\nexport const container = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[3],\n padding: vars.spacing[4],\n borderRadius: vars.borderRadius.lg,\n borderWidth: vars.borderWidth.default,\n borderStyle: 'solid',\n borderColor: vars.colors.borderSubtle,\n backgroundColor: vars.colors.surface,\n});\n\nexport const header = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[1],\n});\n\nexport const title = style({\n fontSize: vars.fontSize.base,\n fontWeight: vars.fontWeight.semibold,\n color: vars.colors.text,\n margin: 0,\n});\n\nexport const description = style({\n fontSize: vars.fontSize.sm,\n color: vars.colors.textSecondary,\n margin: 0,\n});\n"],"mappings":""}
@@ -1,14 +1,21 @@
1
- import { jsx as l, jsxs as s } from "react/jsx-runtime";
2
- import { list as c, label as i, labelSize as d, value as m, item as t, itemSurface as o } from "./backofficeKeyValueList.css.js";
3
- import { cx as a } from "@plumile/ui";
4
- const p = ({
5
- items: r
6
- }) => /* @__PURE__ */ l("dl", { className: c, children: r.map((e) => /* @__PURE__ */ s("div", { className: a(t, o), children: [
7
- /* @__PURE__ */ l("dt", { className: a(i, d), children: e.label }),
8
- /* @__PURE__ */ l("dd", { className: m, children: e.value })
9
- ] }, e.id)) });
10
- export {
11
- p as BackofficeKeyValueList,
12
- p as default
13
- };
14
- //# sourceMappingURL=BackofficeKeyValueList.js.map
1
+ import { item as e, itemSurface as t, label as n, labelSize as r, list as i, value as a } from "./backofficeKeyValueList.css.js";
2
+ import { cx as o } from "@plumile/ui";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ //#region src/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.tsx
5
+ var l = ({ items: l }) => /* @__PURE__ */ s("dl", {
6
+ className: i,
7
+ children: l.map((i) => /* @__PURE__ */ c("div", {
8
+ className: o(e, t),
9
+ children: [/* @__PURE__ */ s("dt", {
10
+ className: o(n, r),
11
+ children: i.label
12
+ }), /* @__PURE__ */ s("dd", {
13
+ className: a,
14
+ children: i.value
15
+ })]
16
+ }, i.id))
17
+ });
18
+ //#endregion
19
+ export { l as BackofficeKeyValueList, l as default };
20
+
21
+ //# sourceMappingURL=BackofficeKeyValueList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeKeyValueList.js","sources":["../../../../../src/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './backofficeKeyValueList.css.js';\nimport { cx } from '@plumile/ui';\n\nexport type BackofficeKeyValueItem = {\n id: string;\n label: ReactNode;\n value: ReactNode;\n};\n\nexport type BackofficeKeyValueListProps = {\n items: readonly BackofficeKeyValueItem[];\n};\n\nexport const BackofficeKeyValueList = ({\n items,\n}: BackofficeKeyValueListProps): JSX.Element => {\n return (\n <dl className={styles.list}>\n {items.map((item) => {\n return (\n <div key={item.id} className={cx(styles.item, styles.itemSurface)}>\n <dt className={cx(styles.label, styles.labelSize)}>{item.label}</dt>\n <dd className={styles.value}>{item.value}</dd>\n </div>\n );\n })}\n </dl>\n );\n};\n\nexport default BackofficeKeyValueList;\n"],"names":["BackofficeKeyValueList","items","jsx","styles.list","item","jsxs","cx","styles.item","styles.itemSurface","styles.label","styles.labelSize","styles.value"],"mappings":";;;AAeO,MAAMA,IAAyB,CAAC;AAAA,EACrC,OAAAC;AACF,MAEI,gBAAAC,EAAC,QAAG,WAAWC,GACZ,UAAAF,EAAM,IAAI,CAACG,MAER,gBAAAC,EAAC,SAAkB,WAAWC,EAAGC,GAAaC,CAAkB,GAC9D,UAAA;AAAA,EAAA,gBAAAN,EAAC,MAAA,EAAG,WAAWI,EAAGG,GAAcC,CAAgB,GAAI,UAAAN,EAAK,OAAM;AAAA,oBAC9D,MAAA,EAAG,WAAWO,GAAe,YAAK,MAAA,CAAM;AAAA,EAAA,GAFjCP,EAAK,EAGf,CAEH,EAAA,CACH;"}
1
+ {"version":3,"file":"BackofficeKeyValueList.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './backofficeKeyValueList.css.js';\nimport { cx } from '@plumile/ui';\n\nexport type BackofficeKeyValueItem = {\n id: string;\n label: ReactNode;\n value: ReactNode;\n};\n\nexport type BackofficeKeyValueListProps = {\n items: readonly BackofficeKeyValueItem[];\n};\n\nexport const BackofficeKeyValueList = ({\n items,\n}: BackofficeKeyValueListProps): JSX.Element => {\n return (\n <dl className={styles.list}>\n {items.map((item) => {\n return (\n <div key={item.id} className={cx(styles.item, styles.itemSurface)}>\n <dt className={cx(styles.label, styles.labelSize)}>{item.label}</dt>\n <dd className={styles.value}>{item.value}</dd>\n </div>\n );\n })}\n </dl>\n );\n};\n\nexport default BackofficeKeyValueList;\n"],"mappings":";;;;AAeA,IAAa,KAA0B,EACrC,eAGE,kBAAC,MAAD;CAAI,WAAW;WACZ,EAAM,KAAK,MAER,kBAAC,OAAD;EAAmB,WAAW,EAAG,GAAa,EAAmB;YAAjE,CACE,kBAAC,MAAD;GAAI,WAAW,EAAG,GAAc,EAAiB;aAAG,EAAK;GAAW,CAAA,EACpE,kBAAC,MAAD;GAAI,WAAW;aAAe,EAAK;GAAW,CAAA,CAC1C;IAHI,EAAK,GAGT,CAER;CACC,CAAA"}
@@ -1,11 +1,7 @@
1
- /* empty css */
2
- var a = "pujmv10", m = "pujmv11", r = "pujmv12", e = "pujmv13", p = "pujmv14", u = "pujmv15";
3
- export {
4
- m as item,
5
- r as itemSurface,
6
- e as label,
7
- p as labelSize,
8
- a as list,
9
- u as value
10
- };
11
- //# sourceMappingURL=backofficeKeyValueList.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.ts
3
+ var e = "pujmv10", t = "pujmv11", n = "pujmv12", r = "pujmv13", i = "pujmv14", a = "pujmv15";
4
+ //#endregion
5
+ export { t as item, n as itemSurface, r as label, i as labelSize, e as list, a as value };
6
+
7
+ //# sourceMappingURL=backofficeKeyValueList.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeKeyValueList.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficeKeyValueList.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\n\nexport const list = style({\n display: 'grid',\n gap: vars.spacing[2],\n});\n\nexport const item = style({\n display: 'grid',\n gridTemplateColumns: vars.gridTemplateColumns.keyValueSplit,\n gap: vars.spacing[2],\n alignItems: 'center',\n paddingTop: vars.spacing[2],\n paddingBottom: vars.spacing[2],\n paddingLeft: vars.spacing[3],\n paddingRight: vars.spacing[3],\n borderRadius: vars.borderRadius.lg,\n backgroundColor: vars.colors.surfaceMuted,\n});\n\nexport const itemSurface = style({\n borderWidth: vars.borderWidth.default,\n borderStyle: 'solid',\n borderColor: vars.colors.borderSubtle,\n});\n\nexport const label = style({\n color: vars.colors.textMuted,\n textTransform: 'uppercase',\n letterSpacing: vars.letterSpacing.caps,\n fontWeight: vars.fontWeight.semibold,\n});\n\nexport const labelSize = style({\n fontSize: vars.fontSize.xs,\n lineHeight: vars.lineHeight.xs,\n});\n\nexport const value = style({\n fontSize: vars.fontSize.base,\n lineHeight: vars.lineHeight.base,\n color: vars.colors.text,\n margin: 0,\n});\n"],"mappings":""}
@@ -1,24 +1,30 @@
1
- import { jsxs as i, jsx as l } from "react/jsx-runtime";
2
- import { cx as t } from "@plumile/ui";
3
- import { left as n, titleRow as d, title as m, metaRow as o, subtitle as f, actions as h, container as N } from "./backofficePageHeader.css.js";
4
- const x = ({
5
- title: r,
6
- subtitle: e,
7
- actions: a,
8
- meta: c,
9
- className: s
10
- }) => /* @__PURE__ */ i("div", { className: t(N, s), children: [
11
- /* @__PURE__ */ i("div", { className: n, children: [
12
- /* @__PURE__ */ i("div", { className: d, children: [
13
- /* @__PURE__ */ l("h1", { className: m, children: r }),
14
- c != null && /* @__PURE__ */ l("div", { className: o, children: c })
15
- ] }),
16
- e != null && (typeof e != "string" || e.trim() !== "") && /* @__PURE__ */ l("p", { className: f, children: e })
17
- ] }),
18
- a != null && /* @__PURE__ */ l("div", { className: h, children: a })
19
- ] });
20
- export {
21
- x as BackofficePageHeader,
22
- x as default
23
- };
24
- //# sourceMappingURL=BackofficePageHeader.js.map
1
+ import { container as e, left as t, title as n, titleRow as r } from "./backofficePageHeader.css.js";
2
+ import { cx as i } from "@plumile/ui";
3
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
+ //#region src/backoffice/molecules/backoffice_page_header/BackofficePageHeader.tsx
5
+ var s = ({ title: s, subtitle: c, actions: l, meta: u, className: d }) => /* @__PURE__ */ o("div", {
6
+ className: i(e, d),
7
+ children: [/* @__PURE__ */ o("div", {
8
+ className: t,
9
+ children: [/* @__PURE__ */ o("div", {
10
+ className: r,
11
+ children: [/* @__PURE__ */ a("h1", {
12
+ className: n,
13
+ children: s
14
+ }), u != null && /* @__PURE__ */ a("div", {
15
+ className: "gxd70g5",
16
+ children: u
17
+ })]
18
+ }), c != null && (typeof c != "string" || c.trim() !== "") && /* @__PURE__ */ a("p", {
19
+ className: "gxd70g4",
20
+ children: c
21
+ })]
22
+ }), l != null && /* @__PURE__ */ a("div", {
23
+ className: "gxd70g6",
24
+ children: l
25
+ })]
26
+ });
27
+ //#endregion
28
+ export { s as BackofficePageHeader, s as default };
29
+
30
+ //# sourceMappingURL=BackofficePageHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficePageHeader.js","sources":["../../../../../src/backoffice/molecules/backoffice_page_header/BackofficePageHeader.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficePageHeader.css.js';\n\nexport type BackofficePageHeaderProps = {\n title: string;\n subtitle?: ReactNode;\n actions?: ReactNode;\n meta?: ReactNode;\n className?: string;\n};\n\nexport const BackofficePageHeader = ({\n title,\n subtitle,\n actions,\n meta,\n className,\n}: BackofficePageHeaderProps): JSX.Element => {\n return (\n <div className={cx(styles.container, className)}>\n <div className={styles.left}>\n <div className={styles.titleRow}>\n <h1 className={styles.title}>{title}</h1>\n {meta != null && <div className={styles.metaRow}>{meta}</div>}\n </div>\n {subtitle != null &&\n (typeof subtitle !== 'string' || subtitle.trim() !== '') && (\n <p className={styles.subtitle}>{subtitle}</p>\n )}\n </div>\n {actions != null && <div className={styles.actions}>{actions}</div>}\n </div>\n );\n};\n\nexport default BackofficePageHeader;\n"],"names":["BackofficePageHeader","title","subtitle","actions","meta","className","cx","styles.container","jsxs","styles.left","styles.titleRow","jsx","styles.title","styles.metaRow","styles.subtitle","styles.actions"],"mappings":";;;AAcO,MAAMA,IAAuB,CAAC;AAAA,EAAA,OACnCC;AAAAA,EAAA,UACAC;AAAAA,EAAA,SACAC;AAAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AACF,wBAEK,OAAA,EAAI,WAAWC,EAAGC,GAAkBF,CAAS,GAC5C,UAAA;AAAA,EAAA,gBAAAG,EAAC,OAAA,EAAI,WAAWC,GACd,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWE,GACd,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAWC,GAAe,UAAAX,GAAM;AAAA,MACnCG,KAAQ,QAAQ,gBAAAO,EAAC,SAAI,WAAWE,GAAiB,UAAAT,EAAA,CAAK;AAAA,IAAA,GACzD;AAAA,IACCF,KAAY,SACV,OAAOA,KAAa,YAAYA,EAAS,KAAA,MAAW,OACnD,gBAAAS,EAAC,KAAA,EAAE,WAAWG,GAAkB,UAAAZ,EAAA,CAAS;AAAA,EAAA,GAE/C;AAAA,EACCC,KAAW,QAAQ,gBAAAQ,EAAC,SAAI,WAAWI,GAAiB,UAAAZ,EAAA,CAAQ;AAAA,GAC/D;"}
1
+ {"version":3,"file":"BackofficePageHeader.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_page_header/BackofficePageHeader.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficePageHeader.css.js';\n\nexport type BackofficePageHeaderProps = {\n title: string;\n subtitle?: ReactNode;\n actions?: ReactNode;\n meta?: ReactNode;\n className?: string;\n};\n\nexport const BackofficePageHeader = ({\n title,\n subtitle,\n actions,\n meta,\n className,\n}: BackofficePageHeaderProps): JSX.Element => {\n return (\n <div className={cx(styles.container, className)}>\n <div className={styles.left}>\n <div className={styles.titleRow}>\n <h1 className={styles.title}>{title}</h1>\n {meta != null && <div className={styles.metaRow}>{meta}</div>}\n </div>\n {subtitle != null &&\n (typeof subtitle !== 'string' || subtitle.trim() !== '') && (\n <p className={styles.subtitle}>{subtitle}</p>\n )}\n </div>\n {actions != null && <div className={styles.actions}>{actions}</div>}\n </div>\n );\n};\n\nexport default BackofficePageHeader;\n"],"mappings":";;;;AAcA,IAAa,KAAwB,EACnC,OAAA,GACA,UAAA,GACA,SAAA,GACA,SACA,mBAGE,kBAAC,OAAD;CAAK,WAAW,EAAG,GAAkB,EAAU;WAA/C,CACE,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,MAAD;IAAI,WAAW;cAAe;IAAW,CAAA,EACxC,KAAQ,QAAQ,kBAAC,OAAD;IAAK,WAAW;cAAiB;IAAW,CAAA,CACzD;MACL,KAAY,SACV,OAAO,KAAa,YAAY,EAAS,MAAM,KAAK,OACnD,kBAAC,KAAD;GAAG,WAAW;aAAkB;GAAa,CAAA,CAE7C;KACL,KAAW,QAAQ,kBAAC,OAAD;EAAK,WAAW;YAAiB;EAAc,CAAA,CAC/D"}
@@ -1,12 +1,7 @@
1
- /* empty css */
2
- var t = "gxd70g0", a = "gxd70g1", r = "gxd70g2", x = "gxd70g3", d = "gxd70g4", e = "gxd70g5", v = "gxd70g6";
3
- export {
4
- v as actions,
5
- t as container,
6
- a as left,
7
- e as metaRow,
8
- d as subtitle,
9
- x as title,
10
- r as titleRow
11
- };
12
- //# sourceMappingURL=backofficePageHeader.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.ts
3
+ var e = "gxd70g0", t = "gxd70g1", n = "gxd70g2", r = "gxd70g3", i = "gxd70g4", a = "gxd70g5", o = "gxd70g6";
4
+ //#endregion
5
+ export { o as actions, e as container, t as left, a as metaRow, i as subtitle, r as title, n as titleRow };
6
+
7
+ //# sourceMappingURL=backofficePageHeader.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficePageHeader.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficePageHeader.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\n\nexport const container = style({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: vars.spacing[4],\n flexWrap: 'wrap',\n});\n\nexport const left = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[2],\n minWidth: 0,\n flex: 1,\n});\n\nexport const titleRow = style({\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n flexWrap: 'wrap',\n});\n\nexport const title = style({\n fontSize: vars.fontSize['2xl'],\n lineHeight: vars.lineHeight['2xl'],\n fontWeight: vars.fontWeight.semibold,\n color: vars.colors.text,\n margin: 0,\n});\n\nexport const subtitle = style({\n margin: 0,\n fontSize: vars.fontSize.base,\n lineHeight: vars.lineHeight.base,\n color: vars.colors.textSecondary,\n});\n\nexport const metaRow = style({\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n flexWrap: 'wrap',\n});\n\nexport const actions = style({\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n flexWrap: 'wrap',\n});\n"],"mappings":""}
@@ -1,73 +1,65 @@
1
- import { jsx as t, jsxs as a } from "react/jsx-runtime";
2
- import { useState as f, useRef as m, useEffect as p } from "react";
3
- import { Link as h } from "@plumile/router";
4
- import { Button as u, ChevronDownIcon as v, cx as g } from "@plumile/ui";
5
- import { container as N, triggerIcon as k, triggerIconOpen as b, menu as x, menuItem as y, itemLabel as C, count as I } from "./backofficeRelationsMenu.css.js";
6
- const O = ({
7
- label: s = "Relations",
8
- items: c
9
- }) => {
10
- const [r, o] = f(!1), i = m(null);
11
- return p(() => {
12
- if (!r)
13
- return;
14
- const e = (n) => {
15
- n.target instanceof Node && (i.current?.contains(n.target) || o(!1));
16
- };
17
- return document.addEventListener("pointerdown", e), () => {
18
- document.removeEventListener("pointerdown", e);
19
- };
20
- }, [r]), c.length === 0 ? /* @__PURE__ */ t(u, { type: "button", variant: "secondary", size: "small", disabled: !0, children: s }) : /* @__PURE__ */ a("div", { className: N, ref: i, children: [
21
- /* @__PURE__ */ a(
22
- u,
23
- {
24
- type: "button",
25
- variant: "secondary",
26
- size: "small",
27
- onClick: () => {
28
- o((e) => !e);
29
- },
30
- "aria-expanded": r,
31
- "aria-haspopup": "menu",
32
- children: [
33
- s,
34
- /* @__PURE__ */ t(
35
- v,
36
- {
37
- size: 14,
38
- className: g(k, {
39
- [b]: r
40
- })
41
- }
42
- )
43
- ]
44
- }
45
- ),
46
- r && /* @__PURE__ */ t("div", { className: x, role: "menu", children: c.map((e) => {
47
- let n = null;
48
- return typeof e.count == "number" && (n = e.count), /* @__PURE__ */ a(
49
- h,
50
- {
51
- to: e.href,
52
- className: y,
53
- onClick: (d) => {
54
- o(!1);
55
- const l = e.onClick?.(d);
56
- l?.catch(() => {
57
- });
58
- },
59
- children: [
60
- /* @__PURE__ */ t("span", { className: C, children: e.label }),
61
- n != null && /* @__PURE__ */ t("span", { className: I, children: n })
62
- ]
63
- },
64
- e.id
65
- );
66
- }) })
67
- ] });
1
+ import { container as e, triggerIcon as t, triggerIconOpen as n } from "./backofficeRelationsMenu.css.js";
2
+ import { Button as r, ChevronDownIcon as i, cx as a } from "@plumile/ui";
3
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
4
+ import { useEffect as c, useRef as l, useState as u } from "react";
5
+ import { Link as d } from "@plumile/router";
6
+ //#region src/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.tsx
7
+ var f = ({ label: f = "Relations", items: p }) => {
8
+ let [m, h] = u(!1), g = l(null);
9
+ return c(() => {
10
+ if (!m) return;
11
+ let e = (e) => {
12
+ e.target instanceof Node && (g.current?.contains(e.target) || h(!1));
13
+ };
14
+ return document.addEventListener("pointerdown", e), () => {
15
+ document.removeEventListener("pointerdown", e);
16
+ };
17
+ }, [m]), p.length === 0 ? /* @__PURE__ */ o(r, {
18
+ type: "button",
19
+ variant: "secondary",
20
+ size: "small",
21
+ disabled: !0,
22
+ children: f
23
+ }) : /* @__PURE__ */ s("div", {
24
+ className: e,
25
+ ref: g,
26
+ children: [/* @__PURE__ */ s(r, {
27
+ type: "button",
28
+ variant: "secondary",
29
+ size: "small",
30
+ onClick: () => {
31
+ h((e) => !e);
32
+ },
33
+ "aria-expanded": m,
34
+ "aria-haspopup": "menu",
35
+ children: [f, /* @__PURE__ */ o(i, {
36
+ size: 14,
37
+ className: a(t, { [n]: m })
38
+ })]
39
+ }), m && /* @__PURE__ */ o("div", {
40
+ className: "rsiemu3",
41
+ role: "menu",
42
+ children: p.map((e) => {
43
+ let t = null;
44
+ return typeof e.count == "number" && (t = e.count), /* @__PURE__ */ s(d, {
45
+ to: e.href,
46
+ className: "rsiemu4",
47
+ onClick: (t) => {
48
+ h(!1), (e.onClick?.(t))?.catch(() => {});
49
+ },
50
+ children: [/* @__PURE__ */ o("span", {
51
+ className: "rsiemu5",
52
+ children: e.label
53
+ }), t != null && /* @__PURE__ */ o("span", {
54
+ className: "rsiemu6",
55
+ children: t
56
+ })]
57
+ }, e.id);
58
+ })
59
+ })]
60
+ });
68
61
  };
69
- export {
70
- O as BackofficeRelationsMenu,
71
- O as default
72
- };
73
- //# sourceMappingURL=BackofficeRelationsMenu.js.map
62
+ //#endregion
63
+ export { f as BackofficeRelationsMenu, f as default };
64
+
65
+ //# sourceMappingURL=BackofficeRelationsMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeRelationsMenu.js","sources":["../../../../../src/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.tsx"],"sourcesContent":["import {\n type JSX,\n type MouseEvent as ReactMouseEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Link } from '@plumile/router';\n\nimport { Button, ChevronDownIcon, cx } from '@plumile/ui';\n\nimport * as styles from './backofficeRelationsMenu.css.js';\n\nexport type BackofficeRelationsMenuItem = {\n id: string;\n label: string;\n count?: number | null;\n href: string;\n onClick?: (event: ReactMouseEvent<HTMLAnchorElement>) => void | Promise<void>;\n};\n\nexport type BackofficeRelationsMenuProps = {\n label?: string;\n items: readonly BackofficeRelationsMenuItem[];\n};\n\nexport const BackofficeRelationsMenu = ({\n label = 'Relations',\n items,\n}: BackofficeRelationsMenuProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!isOpen) {\n return undefined;\n }\n\n const handleClick = (event: PointerEvent) => {\n if (!(event.target instanceof Node)) {\n return;\n }\n if (containerRef.current?.contains(event.target)) {\n return;\n }\n setIsOpen(false);\n };\n\n document.addEventListener('pointerdown', handleClick);\n return () => {\n document.removeEventListener('pointerdown', handleClick);\n };\n }, [isOpen]);\n\n if (items.length === 0) {\n return (\n <Button type=\"button\" variant=\"secondary\" size=\"small\" disabled>\n {label}\n </Button>\n );\n }\n\n return (\n <div className={styles.container} ref={containerRef}>\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n onClick={() => {\n setIsOpen((prev) => {\n return !prev;\n });\n }}\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n >\n {label}\n <ChevronDownIcon\n size={14}\n className={cx(styles.triggerIcon, {\n [styles.triggerIconOpen]: isOpen,\n })}\n />\n </Button>\n\n {isOpen && (\n <div className={styles.menu} role=\"menu\">\n {items.map((item) => {\n let countValue: number | null = null;\n if (typeof item.count === 'number') {\n countValue = item.count;\n }\n return (\n <Link\n key={item.id}\n to={item.href}\n className={styles.menuItem}\n onClick={(event: ReactMouseEvent<HTMLAnchorElement>) => {\n setIsOpen(false);\n const result = item.onClick?.(event);\n if (result != null) {\n result.catch(() => {});\n }\n }}\n >\n <span className={styles.itemLabel}>{item.label}</span>\n {countValue != null && (\n <span className={styles.count}>{countValue}</span>\n )}\n </Link>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default BackofficeRelationsMenu;\n"],"names":["BackofficeRelationsMenu","label","items","isOpen","setIsOpen","useState","containerRef","useRef","useEffect","handleClick","event","jsx","Button","styles.container","jsxs","prev","ChevronDownIcon","cx","styles.triggerIcon","styles.triggerIconOpen","styles.menu","item","countValue","Link","styles.menuItem","result","styles.itemLabel","styles.count"],"mappings":";;;;;AA0BO,MAAMA,IAA0B,CAAC;AAAA,EACtC,OAAAC,IAAQ;AAAA,EACR,OAAAC;AACF,MAAiD;AAC/C,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAAeC,EAA8B,IAAI;AAuBvD,SArBAC,EAAU,MAAM;AACd,QAAI,CAACL;AACH;AAGF,UAAMM,IAAc,CAACC,MAAwB;AAC3C,MAAMA,EAAM,kBAAkB,SAG1BJ,EAAa,SAAS,SAASI,EAAM,MAAM,KAG/CN,EAAU,EAAK;AAAA,IACjB;AAEA,oBAAS,iBAAiB,eAAeK,CAAW,GAC7C,MAAM;AACX,eAAS,oBAAoB,eAAeA,CAAW;AAAA,IACzD;AAAA,EACF,GAAG,CAACN,CAAM,CAAC,GAEPD,EAAM,WAAW,IAEjB,gBAAAS,EAACC,GAAA,EAAO,MAAK,UAAS,SAAQ,aAAY,MAAK,SAAQ,UAAQ,IAC5D,UAAAX,EAAA,CACH,sBAKD,OAAA,EAAI,WAAWY,GAAkB,KAAKP,GACrC,UAAA;AAAA,IAAA,gBAAAQ;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM;AACb,UAAAR,EAAU,CAACW,MACF,CAACA,CACT;AAAA,QACH;AAAA,QACA,iBAAeZ;AAAA,QACf,iBAAc;AAAA,QAEb,UAAA;AAAA,UAAAF;AAAA,UACD,gBAAAU;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAWC,EAAGC,GAAoB;AAAA,gBAChC,CAACC,CAAsB,GAAGhB;AAAA,cAAA,CAC3B;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,IAGDA,KACC,gBAAAQ,EAAC,OAAA,EAAI,WAAWS,GAAa,MAAK,QAC/B,UAAAlB,EAAM,IAAI,CAACmB,MAAS;AACnB,UAAIC,IAA4B;AAChC,aAAI,OAAOD,EAAK,SAAU,aACxBC,IAAaD,EAAK,QAGlB,gBAAAP;AAAA,QAACS;AAAA,QAAA;AAAA,UAEC,IAAIF,EAAK;AAAA,UACT,WAAWG;AAAAA,UACX,SAAS,CAACd,MAA8C;AACtD,YAAAN,EAAU,EAAK;AACf,kBAAMqB,IAASJ,EAAK,UAAUX,CAAK;AACnC,YACEe,GAAO,MAAM,MAAM;AAAA,YAAC,CAAC;AAAA,UAEzB;AAAA,UAEA,UAAA;AAAA,YAAA,gBAAAd,EAAC,QAAA,EAAK,WAAWe,GAAmB,YAAK,OAAM;AAAA,YAC9CJ,KAAc,QACb,gBAAAX,EAAC,UAAK,WAAWgB,GAAe,UAAAL,EAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,QAbxCD,EAAK;AAAA,MAAA;AAAA,IAiBhB,CAAC,EAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"BackofficeRelationsMenu.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.tsx"],"sourcesContent":["import {\n type JSX,\n type MouseEvent as ReactMouseEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Link } from '@plumile/router';\n\nimport { Button, ChevronDownIcon, cx } from '@plumile/ui';\n\nimport * as styles from './backofficeRelationsMenu.css.js';\n\nexport type BackofficeRelationsMenuItem = {\n id: string;\n label: string;\n count?: number | null;\n href: string;\n onClick?: (event: ReactMouseEvent<HTMLAnchorElement>) => void | Promise<void>;\n};\n\nexport type BackofficeRelationsMenuProps = {\n label?: string;\n items: readonly BackofficeRelationsMenuItem[];\n};\n\nexport const BackofficeRelationsMenu = ({\n label = 'Relations',\n items,\n}: BackofficeRelationsMenuProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!isOpen) {\n return undefined;\n }\n\n const handleClick = (event: PointerEvent) => {\n if (!(event.target instanceof Node)) {\n return;\n }\n if (containerRef.current?.contains(event.target)) {\n return;\n }\n setIsOpen(false);\n };\n\n document.addEventListener('pointerdown', handleClick);\n return () => {\n document.removeEventListener('pointerdown', handleClick);\n };\n }, [isOpen]);\n\n if (items.length === 0) {\n return (\n <Button type=\"button\" variant=\"secondary\" size=\"small\" disabled>\n {label}\n </Button>\n );\n }\n\n return (\n <div className={styles.container} ref={containerRef}>\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n onClick={() => {\n setIsOpen((prev) => {\n return !prev;\n });\n }}\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n >\n {label}\n <ChevronDownIcon\n size={14}\n className={cx(styles.triggerIcon, {\n [styles.triggerIconOpen]: isOpen,\n })}\n />\n </Button>\n\n {isOpen && (\n <div className={styles.menu} role=\"menu\">\n {items.map((item) => {\n let countValue: number | null = null;\n if (typeof item.count === 'number') {\n countValue = item.count;\n }\n return (\n <Link\n key={item.id}\n to={item.href}\n className={styles.menuItem}\n onClick={(event: ReactMouseEvent<HTMLAnchorElement>) => {\n setIsOpen(false);\n const result = item.onClick?.(event);\n if (result != null) {\n result.catch(() => {});\n }\n }}\n >\n <span className={styles.itemLabel}>{item.label}</span>\n {countValue != null && (\n <span className={styles.count}>{countValue}</span>\n )}\n </Link>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default BackofficeRelationsMenu;\n"],"mappings":";;;;;;AA0BA,IAAa,KAA2B,EACtC,WAAQ,aACR,eAC+C;CAC/C,IAAM,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,IAAe,EAA8B,KAAK;AA+BxD,QA7BA,QAAgB;AACd,MAAI,CAAC,EACH;EAGF,IAAM,KAAe,MAAwB;AACrC,KAAM,kBAAkB,SAG1B,EAAa,SAAS,SAAS,EAAM,OAAO,IAGhD,EAAU,GAAM;;AAIlB,SADA,SAAS,iBAAiB,eAAe,EAAY,QACxC;AACX,YAAS,oBAAoB,eAAe,EAAY;;IAEzD,CAAC,EAAO,CAAC,EAER,EAAM,WAAW,IAEjB,kBAAC,GAAD;EAAQ,MAAK;EAAS,SAAQ;EAAY,MAAK;EAAQ,UAAA;YACpD;EACM,CAAA,GAKX,kBAAC,OAAD;EAAK,WAAW;EAAkB,KAAK;YAAvC,CACE,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,eAAe;AACb,OAAW,MACF,CAAC,EACR;;GAEJ,iBAAe;GACf,iBAAc;aAVhB,CAYG,GACD,kBAAC,GAAD;IACE,MAAM;IACN,WAAW,EAAG,GAAoB,GAC/B,IAAyB,GAC3B,CAAC;IACF,CAAA,CACK;MAER,KACC,kBAAC,OAAD;GAAK,WAAW;GAAa,MAAK;aAC/B,EAAM,KAAK,MAAS;IACnB,IAAI,IAA4B;AAIhC,WAHI,OAAO,EAAK,SAAU,aACxB,IAAa,EAAK,QAGlB,kBAAC,GAAD;KAEE,IAAI,EAAK;KACT,WAAW;KACX,UAAU,MAA8C;AAGtD,MAFA,EAAU,GAAM,GACD,EAAK,UAAU,EAAM,GAE3B,YAAY,GAAG;;eAR5B,CAYE,kBAAC,QAAD;MAAM,WAAW;gBAAmB,EAAK;MAAa,CAAA,EACrD,KAAc,QACb,kBAAC,QAAD;MAAM,WAAW;gBAAe;MAAkB,CAAA,CAE/C;OAfA,EAAK,GAeL;KAET;GACE,CAAA,CAEJ"}
@@ -1,12 +1,7 @@
1
- /* empty css */
2
- var e = "rsiemu0", i = "rsiemu1", m = "rsiemu2", u = "rsiemu3", a = "rsiemu4", n = "rsiemu5", t = "rsiemu6";
3
- export {
4
- e as container,
5
- t as count,
6
- n as itemLabel,
7
- u as menu,
8
- a as menuItem,
9
- i as triggerIcon,
10
- m as triggerIconOpen
11
- };
12
- //# sourceMappingURL=backofficeRelationsMenu.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.ts
3
+ var e = "rsiemu0", t = "rsiemu1", n = "rsiemu2", r = "rsiemu3", i = "rsiemu4", a = "rsiemu5", o = "rsiemu6";
4
+ //#endregion
5
+ export { e as container, o as count, a as itemLabel, r as menu, i as menuItem, t as triggerIcon, n as triggerIconOpen };
6
+
7
+ //# sourceMappingURL=backofficeRelationsMenu.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeRelationsMenu.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficeRelationsMenu.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\n\nexport const container = style({\n position: 'relative',\n display: 'inline-flex',\n});\n\nexport const triggerIcon = style({\n transitionProperty: 'transform',\n transitionDuration: vars.transitionDuration[150],\n transitionTimingFunction: vars.transitionTimingFunction.ease,\n});\n\nexport const triggerIconOpen = style({\n transform: 'rotate(180deg)',\n});\n\nexport const menu = style({\n position: 'absolute',\n right: 0,\n top: vars.spacing.full,\n marginTop: vars.spacing[2],\n minWidth: vars.spacing[64],\n backgroundColor: vars.colors.surface,\n borderWidth: vars.borderWidth.default,\n borderStyle: 'solid',\n borderColor: vars.colors.borderSubtle,\n borderRadius: vars.borderRadius.lg,\n boxShadow: vars.boxShadow.md,\n padding: vars.spacing[2],\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[1],\n zIndex: vars.zIndex[20],\n});\n\nexport const menuItem = style([\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: vars.spacing[2],\n paddingTop: vars.spacing[2],\n paddingBottom: vars.spacing[2],\n paddingLeft: vars.spacing[3],\n paddingRight: vars.spacing[3],\n borderRadius: vars.borderRadius.md,\n color: vars.colors.text,\n textDecoration: 'none',\n fontSize: vars.fontSize.sm,\n lineHeight: vars.lineHeight.sm,\n },\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceSecondary,\n },\n },\n },\n]);\n\nexport const itemLabel = style({\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n});\n\nexport const count = style({\n fontSize: vars.fontSize.xs,\n lineHeight: vars.lineHeight.xs,\n color: vars.colors.textMuted,\n});\n"],"mappings":""}
@@ -1,33 +1,31 @@
1
- import { jsxs as l, jsx as m } from "react/jsx-runtime";
2
- import { cx as u } from "@plumile/ui";
3
- import { topRow as h, left as p, right as f, chipsRow as t, container as v } from "./backofficeTableToolbar.css.js";
4
- const T = ({
5
- searchSlot: n,
6
- filtersSlot: i,
7
- sortSlot: s,
8
- refreshSlot: c,
9
- ctaSlot: a,
10
- chipsSlot: e,
11
- className: d
12
- }) => {
13
- const r = n != null || i != null || s != null || c != null || a != null, o = e != null;
14
- return !r && !o ? null : /* @__PURE__ */ l("div", { className: u(v, d), children: [
15
- r && /* @__PURE__ */ l("div", { className: h, children: [
16
- /* @__PURE__ */ l("div", { className: p, children: [
17
- n,
18
- i,
19
- s
20
- ] }),
21
- /* @__PURE__ */ l("div", { className: f, children: [
22
- c,
23
- a
24
- ] })
25
- ] }),
26
- o && /* @__PURE__ */ m("div", { className: t, children: e })
27
- ] });
1
+ import { container as e } from "./backofficeTableToolbar.css.js";
2
+ import { cx as t } from "@plumile/ui";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.tsx
5
+ var i = ({ searchSlot: i, filtersSlot: a, sortSlot: o, refreshSlot: s, ctaSlot: c, chipsSlot: l, className: u }) => {
6
+ let d = i != null || a != null || o != null || s != null || c != null, f = l != null;
7
+ return !d && !f ? null : /* @__PURE__ */ r("div", {
8
+ className: t(e, u),
9
+ children: [d && /* @__PURE__ */ r("div", {
10
+ className: "_1m9719t1",
11
+ children: [/* @__PURE__ */ r("div", {
12
+ className: "_1m9719t2",
13
+ children: [
14
+ i,
15
+ a,
16
+ o
17
+ ]
18
+ }), /* @__PURE__ */ r("div", {
19
+ className: "_1m9719t3",
20
+ children: [s, c]
21
+ })]
22
+ }), f && /* @__PURE__ */ n("div", {
23
+ className: "_1m9719t4",
24
+ children: l
25
+ })]
26
+ });
28
27
  };
29
- export {
30
- T as BackofficeTableToolbar,
31
- T as default
32
- };
33
- //# sourceMappingURL=BackofficeTableToolbar.js.map
28
+ //#endregion
29
+ export { i as BackofficeTableToolbar, i as default };
30
+
31
+ //# sourceMappingURL=BackofficeTableToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeTableToolbar.js","sources":["../../../../../src/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeTableToolbar.css.js';\n\nexport type BackofficeTableToolbarProps = {\n searchSlot?: ReactNode;\n filtersSlot?: ReactNode;\n sortSlot?: ReactNode;\n refreshSlot?: ReactNode;\n ctaSlot?: ReactNode;\n chipsSlot?: ReactNode;\n className?: string;\n};\n\nexport const BackofficeTableToolbar = ({\n searchSlot,\n filtersSlot,\n sortSlot,\n refreshSlot,\n ctaSlot,\n chipsSlot,\n className,\n}: BackofficeTableToolbarProps): JSX.Element | null => {\n const showTop =\n searchSlot != null ||\n filtersSlot != null ||\n sortSlot != null ||\n refreshSlot != null ||\n ctaSlot != null;\n\n const showChips = chipsSlot != null;\n\n if (!showTop && !showChips) {\n return null;\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {showTop && (\n <div className={styles.topRow}>\n <div className={styles.left}>\n {searchSlot}\n {filtersSlot}\n {sortSlot}\n </div>\n <div className={styles.right}>\n {refreshSlot}\n {ctaSlot}\n </div>\n </div>\n )}\n {showChips && <div className={styles.chipsRow}>{chipsSlot}</div>}\n </div>\n );\n};\n\nexport default BackofficeTableToolbar;\n"],"names":["BackofficeTableToolbar","searchSlot","filtersSlot","sortSlot","refreshSlot","ctaSlot","chipsSlot","className","showTop","showChips","cx","styles.container","jsxs","styles.topRow","styles.left","styles.right","jsx","styles.chipsRow"],"mappings":";;;AAgBO,MAAMA,IAAyB,CAAC;AAAA,EACrC,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AACF,MAAuD;AACrD,QAAMC,IACJP,KAAc,QACdC,KAAe,QACfC,KAAY,QACZC,KAAe,QACfC,KAAW,MAEPI,IAAYH,KAAa;AAE/B,SAAI,CAACE,KAAW,CAACC,IACR,yBAIN,OAAA,EAAI,WAAWC,EAAGC,GAAkBJ,CAAS,GAC3C,UAAA;AAAA,IAAAC,KACC,gBAAAI,EAAC,OAAA,EAAI,WAAWC,GACd,UAAA;AAAA,MAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWE,GACb,UAAA;AAAA,QAAAb;AAAA,QACAC;AAAA,QACAC;AAAA,MAAA,GACH;AAAA,MACA,gBAAAS,EAAC,OAAA,EAAI,WAAWG,GACb,UAAA;AAAA,QAAAX;AAAA,QACAC;AAAA,MAAA,EAAA,CACH;AAAA,IAAA,GACF;AAAA,IAEDI,KAAa,gBAAAO,EAAC,OAAA,EAAI,WAAWC,GAAkB,UAAAX,EAAA,CAAU;AAAA,EAAA,GAC5D;AAEJ;"}
1
+ {"version":3,"file":"BackofficeTableToolbar.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './backofficeTableToolbar.css.js';\n\nexport type BackofficeTableToolbarProps = {\n searchSlot?: ReactNode;\n filtersSlot?: ReactNode;\n sortSlot?: ReactNode;\n refreshSlot?: ReactNode;\n ctaSlot?: ReactNode;\n chipsSlot?: ReactNode;\n className?: string;\n};\n\nexport const BackofficeTableToolbar = ({\n searchSlot,\n filtersSlot,\n sortSlot,\n refreshSlot,\n ctaSlot,\n chipsSlot,\n className,\n}: BackofficeTableToolbarProps): JSX.Element | null => {\n const showTop =\n searchSlot != null ||\n filtersSlot != null ||\n sortSlot != null ||\n refreshSlot != null ||\n ctaSlot != null;\n\n const showChips = chipsSlot != null;\n\n if (!showTop && !showChips) {\n return null;\n }\n\n return (\n <div className={cx(styles.container, className)}>\n {showTop && (\n <div className={styles.topRow}>\n <div className={styles.left}>\n {searchSlot}\n {filtersSlot}\n {sortSlot}\n </div>\n <div className={styles.right}>\n {refreshSlot}\n {ctaSlot}\n </div>\n </div>\n )}\n {showChips && <div className={styles.chipsRow}>{chipsSlot}</div>}\n </div>\n );\n};\n\nexport default BackofficeTableToolbar;\n"],"mappings":";;;;AAgBA,IAAa,KAA0B,EACrC,eACA,gBACA,aACA,gBACA,YACA,cACA,mBACqD;CACrD,IAAM,IACJ,KAAc,QACd,KAAe,QACf,KAAY,QACZ,KAAe,QACf,KAAW,MAEP,IAAY,KAAa;AAM/B,QAJI,CAAC,KAAW,CAAC,IACR,OAIP,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAkB,EAAU;YAA/C,CACG,KACC,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,OAAD;IAAK,WAAW;cAAhB;KACG;KACA;KACA;KACG;OACN,kBAAC,OAAD;IAAK,WAAW;cAAhB,CACG,GACA,EACG;MACF;MAEP,KAAa,kBAAC,OAAD;GAAK,WAAW;aAAkB;GAAgB,CAAA,CAC5D"}
@@ -1,10 +1,7 @@
1
- /* empty css */
2
- var r = "_1m9719t0", a = "_1m9719t1", m = "_1m9719t2", o = "_1m9719t3", v = "_1m9719t4";
3
- export {
4
- v as chipsRow,
5
- r as container,
6
- m as left,
7
- o as right,
8
- a as topRow
9
- };
10
- //# sourceMappingURL=backofficeTableToolbar.css.js.map
1
+ /* empty css */
2
+ //#region src/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.ts
3
+ var e = "_1m9719t0", t = "_1m9719t1", n = "_1m9719t2", r = "_1m9719t3", i = "_1m9719t4";
4
+ //#endregion
5
+ export { i as chipsRow, e as container, n as left, r as right, t as topRow };
6
+
7
+ //# sourceMappingURL=backofficeTableToolbar.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeTableToolbar.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"backofficeTableToolbar.css.js","names":[],"sources":["../../../../../src/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { vars } from '../../../../../ui/src/theme/themeContract.js';\nimport { screens } from '../../../../../ui/src/theme/common.js';\n\nexport const container = style({\n display: 'flex',\n flexDirection: 'column',\n gap: vars.spacing[3],\n width: '100%',\n});\n\nexport const topRow = style({\n display: 'flex',\n justifyContent: 'space-between',\n gap: vars.spacing[3],\n flexWrap: 'wrap',\n alignItems: 'center',\n '@media': {\n [screens.sm]: {\n alignItems: 'stretch',\n flexDirection: 'column',\n },\n },\n});\n\nexport const left = style({\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n flexWrap: 'wrap',\n minWidth: 0,\n flex: 1,\n});\n\nexport const right = style({\n display: 'flex',\n alignItems: 'center',\n gap: vars.spacing[2],\n flexWrap: 'wrap',\n});\n\nexport const chipsRow = style({\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: vars.spacing[2],\n paddingTop: vars.spacing[2],\n borderTopWidth: vars.borderWidth.px,\n borderTopStyle: 'solid',\n borderTopColor: vars.colors.borderSubtle,\n});\n"],"mappings":""}
package/lib/esm/index.js CHANGED
@@ -1,26 +1,10 @@
1
+ import { BackofficeDetailLayout as e } from "./backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js";
2
+ import { BackofficeEmptyState as t } from "./backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js";
3
+ import { BackofficeFormSection as n } from "./backoffice/molecules/backoffice_form_section/BackofficeFormSection.js";
1
4
  import { BackofficeKeyValueList as r } from "./backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js";
2
- import { BackofficeDetailLayout as f } from "./backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js";
3
5
  import { BackofficePageHeader as i } from "./backoffice/molecules/backoffice_page_header/BackofficePageHeader.js";
4
- import { BackofficeEmptyState as m } from "./backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js";
5
- import { BackofficeFormSection as n } from "./backoffice/molecules/backoffice_form_section/BackofficeFormSection.js";
6
- import { BackofficeRelationsMenu as x } from "./backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js";
7
- import { BackofficeTableToolbar as u } from "./backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js";
8
- import { FALLBACK_REFERENCE as b, formatNullableCurrency as s, formatNullableNumber as g, formatNullableString as A, formatStringList as E } from "./shared/agentJobRequestFormatting.js";
9
- import { sanitizeAgentAnswer as N, sanitizeAgentMarkdown as y } from "./shared/agentText.js";
10
- export {
11
- f as BackofficeDetailLayout,
12
- m as BackofficeEmptyState,
13
- n as BackofficeFormSection,
14
- r as BackofficeKeyValueList,
15
- i as BackofficePageHeader,
16
- x as BackofficeRelationsMenu,
17
- u as BackofficeTableToolbar,
18
- b as FALLBACK_REFERENCE,
19
- s as formatNullableCurrency,
20
- g as formatNullableNumber,
21
- A as formatNullableString,
22
- E as formatStringList,
23
- N as sanitizeAgentAnswer,
24
- y as sanitizeAgentMarkdown
25
- };
26
- //# sourceMappingURL=index.js.map
6
+ import { BackofficeRelationsMenu as a } from "./backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js";
7
+ import { BackofficeTableToolbar as o } from "./backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js";
8
+ import { FALLBACK_REFERENCE as s, formatNullableCurrency as c, formatNullableNumber as l, formatNullableString as u, formatStringList as d } from "./shared/agentJobRequestFormatting.js";
9
+ import { sanitizeAgentAnswer as f, sanitizeAgentMarkdown as p } from "./shared/agentText.js";
10
+ export { e as BackofficeDetailLayout, t as BackofficeEmptyState, n as BackofficeFormSection, r as BackofficeKeyValueList, i as BackofficePageHeader, a as BackofficeRelationsMenu, o as BackofficeTableToolbar, s as FALLBACK_REFERENCE, c as formatNullableCurrency, l as formatNullableNumber, u as formatNullableString, d as formatStringList, f as sanitizeAgentAnswer, p as sanitizeAgentMarkdown };
@@ -1,36 +1,31 @@
1
- const E = "—";
2
- function e(r) {
3
- return r == null || r.trim().length === 0 ? "—" : r;
1
+ //#region src/shared/agentJobRequestFormatting.ts
2
+ var e = "—";
3
+ function t(e) {
4
+ return e == null || e.trim().length === 0 ? "—" : e;
4
5
  }
5
- function u(r) {
6
- return r == null ? "—" : Number.isFinite(r) ? r.toLocaleString() : String(r);
6
+ function n(e) {
7
+ return e == null ? "—" : Number.isFinite(e) ? e.toLocaleString() : String(e);
7
8
  }
8
- function m(r) {
9
- return r.length === 0 ? "—" : r.join(", ");
9
+ function r(e) {
10
+ return e.length === 0 ? "—" : e.join(", ");
10
11
  }
11
- function o(r, n = "USD", i) {
12
- if (r == null)
13
- return "—";
14
- const t = Number(r);
15
- if (!Number.isFinite(t))
16
- return "—";
17
- try {
18
- return new Intl.NumberFormat(i, {
19
- style: "currency",
20
- currency: n,
21
- currencyDisplay: "symbol",
22
- minimumFractionDigits: 2,
23
- maximumFractionDigits: 2
24
- }).format(t);
25
- } catch {
26
- return t.toString();
27
- }
12
+ function i(e, t = "USD", n) {
13
+ if (e == null) return "—";
14
+ let r = Number(e);
15
+ if (!Number.isFinite(r)) return "—";
16
+ try {
17
+ return new Intl.NumberFormat(n, {
18
+ style: "currency",
19
+ currency: t,
20
+ currencyDisplay: "symbol",
21
+ minimumFractionDigits: 2,
22
+ maximumFractionDigits: 2
23
+ }).format(r);
24
+ } catch {
25
+ return r.toString();
26
+ }
28
27
  }
29
- export {
30
- E as FALLBACK_REFERENCE,
31
- o as formatNullableCurrency,
32
- u as formatNullableNumber,
33
- e as formatNullableString,
34
- m as formatStringList
35
- };
36
- //# sourceMappingURL=agentJobRequestFormatting.js.map
28
+ //#endregion
29
+ export { e as FALLBACK_REFERENCE, i as formatNullableCurrency, n as formatNullableNumber, t as formatNullableString, r as formatStringList };
30
+
31
+ //# sourceMappingURL=agentJobRequestFormatting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentJobRequestFormatting.js","sources":["../../../src/shared/agentJobRequestFormatting.ts"],"sourcesContent":["export const FALLBACK_REFERENCE = '—';\n\n/**\n * Returns a display-safe string or a fallback glyph when the value is absent.\n */\nexport function formatNullableString(value: string | null | undefined): string {\n if (value == null) {\n return FALLBACK_REFERENCE;\n }\n\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n return FALLBACK_REFERENCE;\n }\n\n return value;\n}\n\n/**\n * Formats numeric values for UI display while preserving a fallback for nullish input.\n */\nexport function formatNullableNumber(value: number | null | undefined): string {\n if (value == null) {\n return FALLBACK_REFERENCE;\n }\n\n if (Number.isFinite(value)) {\n return value.toLocaleString();\n }\n\n return String(value);\n}\n\n/**\n * Joins a list of labels for display or returns the fallback when the list is empty.\n */\nexport function formatStringList(values: readonly string[]): string {\n if (values.length === 0) {\n return FALLBACK_REFERENCE;\n }\n\n return values.join(', ');\n}\n\n/**\n * Formats a currency amount with locale-aware separators and a null-safe fallback.\n */\nexport function formatNullableCurrency(\n value: number | null | undefined,\n currency = 'USD',\n locale?: string,\n): string {\n if (value == null) {\n return FALLBACK_REFERENCE;\n }\n\n const numeric = Number(value);\n if (!Number.isFinite(numeric)) {\n return FALLBACK_REFERENCE;\n }\n\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n currencyDisplay: 'symbol',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(numeric);\n } catch {\n return numeric.toString();\n }\n}\n"],"names":["FALLBACK_REFERENCE","formatNullableString","value","formatNullableNumber","formatStringList","values","formatNullableCurrency","currency","locale","numeric"],"mappings":"AAAO,MAAMA,IAAqB;AAK3B,SAASC,EAAqBC,GAA0C;AAM7E,SALIA,KAAS,QAIGA,EAAM,KAAA,EACV,WAAW,IACd,MAGFA;AACT;AAKO,SAASC,EAAqBD,GAA0C;AAC7E,SAAIA,KAAS,OACJ,MAGL,OAAO,SAASA,CAAK,IAChBA,EAAM,eAAA,IAGR,OAAOA,CAAK;AACrB;AAKO,SAASE,EAAiBC,GAAmC;AAClE,SAAIA,EAAO,WAAW,IACb,MAGFA,EAAO,KAAK,IAAI;AACzB;AAKO,SAASC,EACdJ,GACAK,IAAW,OACXC,GACQ;AACR,MAAIN,KAAS;AACX,WAAO;AAGT,QAAMO,IAAU,OAAOP,CAAK;AAC5B,MAAI,CAAC,OAAO,SAASO,CAAO;AAC1B,WAAO;AAGT,MAAI;AACF,WAAO,IAAI,KAAK,aAAaD,GAAQ;AAAA,MACnC,OAAO;AAAA,MACP,UAAAD;AAAA,MACA,iBAAiB;AAAA,MACjB,uBAAuB;AAAA,MACvB,uBAAuB;AAAA,IAAA,CACxB,EAAE,OAAOE,CAAO;AAAA,EACnB,QAAQ;AACN,WAAOA,EAAQ,SAAA;AAAA,EACjB;AACF;"}
1
+ {"version":3,"file":"agentJobRequestFormatting.js","names":[],"sources":["../../../src/shared/agentJobRequestFormatting.ts"],"sourcesContent":["export const FALLBACK_REFERENCE = '—';\n\n/**\n * Returns a display-safe string or a fallback glyph when the value is absent.\n */\nexport function formatNullableString(value: string | null | undefined): string {\n if (value == null) {\n return FALLBACK_REFERENCE;\n }\n\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n return FALLBACK_REFERENCE;\n }\n\n return value;\n}\n\n/**\n * Formats numeric values for UI display while preserving a fallback for nullish input.\n */\nexport function formatNullableNumber(value: number | null | undefined): string {\n if (value == null) {\n return FALLBACK_REFERENCE;\n }\n\n if (Number.isFinite(value)) {\n return value.toLocaleString();\n }\n\n return String(value);\n}\n\n/**\n * Joins a list of labels for display or returns the fallback when the list is empty.\n */\nexport function formatStringList(values: readonly string[]): string {\n if (values.length === 0) {\n return FALLBACK_REFERENCE;\n }\n\n return values.join(', ');\n}\n\n/**\n * Formats a currency amount with locale-aware separators and a null-safe fallback.\n */\nexport function formatNullableCurrency(\n value: number | null | undefined,\n currency = 'USD',\n locale?: string,\n): string {\n if (value == null) {\n return FALLBACK_REFERENCE;\n }\n\n const numeric = Number(value);\n if (!Number.isFinite(numeric)) {\n return FALLBACK_REFERENCE;\n }\n\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n currencyDisplay: 'symbol',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(numeric);\n } catch {\n return numeric.toString();\n }\n}\n"],"mappings":";AAAA,IAAa,IAAqB;AAKlC,SAAgB,EAAqB,GAA0C;AAU7E,QATI,KAAS,QAIG,EAAM,MAAM,CAChB,WAAW,IACrB,MAGK;;AAMT,SAAgB,EAAqB,GAA0C;AAS7E,QARI,KAAS,OACX,MAGE,OAAO,SAAS,EAAM,GACjB,EAAM,gBAAgB,GAGxB,OAAO,EAAM;;AAMtB,SAAgB,EAAiB,GAAmC;AAKlE,QAJI,EAAO,WAAW,IACpB,MAGK,EAAO,KAAK,KAAK;;AAM1B,SAAgB,EACd,GACA,IAAW,OACX,GACQ;AACR,KAAI,KAAS,KACX,QAAA;CAGF,IAAM,IAAU,OAAO,EAAM;AAC7B,KAAI,CAAC,OAAO,SAAS,EAAQ,CAC3B,QAAA;AAGF,KAAI;AACF,SAAO,IAAI,KAAK,aAAa,GAAQ;GACnC,OAAO;GACP;GACA,iBAAiB;GACjB,uBAAuB;GACvB,uBAAuB;GACxB,CAAC,CAAC,OAAO,EAAQ;SACZ;AACN,SAAO,EAAQ,UAAU"}
@@ -1,13 +1,13 @@
1
- function r(t) {
2
- const n = t?.trim();
3
- return n == null || n === "" ? null : n;
1
+ //#region src/shared/agentText.ts
2
+ function e(e) {
3
+ let t = e?.trim();
4
+ return t == null || t === "" ? null : t;
4
5
  }
5
- function e(t) {
6
- const n = t?.trim();
7
- return n == null || n === "" ? null : n;
6
+ function t(e) {
7
+ let t = e?.trim();
8
+ return t == null || t === "" ? null : t;
8
9
  }
9
- export {
10
- e as sanitizeAgentAnswer,
11
- r as sanitizeAgentMarkdown
12
- };
13
- //# sourceMappingURL=agentText.js.map
10
+ //#endregion
11
+ export { t as sanitizeAgentAnswer, e as sanitizeAgentMarkdown };
12
+
13
+ //# sourceMappingURL=agentText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentText.js","sources":["../../../src/shared/agentText.ts"],"sourcesContent":["/**\n * Trims markdown content and normalizes empty values to null.\n */\nexport function sanitizeAgentMarkdown(\n content: string | null | undefined,\n): string | null {\n const trimmed = content?.trim();\n if (trimmed == null || trimmed === '') {\n return null;\n }\n\n return trimmed;\n}\n\n/**\n * Trims plain-text answers and normalizes empty values to null.\n */\nexport function sanitizeAgentAnswer(\n answer: string | null | undefined,\n): string | null {\n const trimmed = answer?.trim();\n if (trimmed == null || trimmed === '') {\n return null;\n }\n\n return trimmed;\n}\n"],"names":["sanitizeAgentMarkdown","content","trimmed","sanitizeAgentAnswer","answer"],"mappings":"AAGO,SAASA,EACdC,GACe;AACf,QAAMC,IAAUD,GAAS,KAAA;AACzB,SAAIC,KAAW,QAAQA,MAAY,KAC1B,OAGFA;AACT;AAKO,SAASC,EACdC,GACe;AACf,QAAMF,IAAUE,GAAQ,KAAA;AACxB,SAAIF,KAAW,QAAQA,MAAY,KAC1B,OAGFA;AACT;"}
1
+ {"version":3,"file":"agentText.js","names":[],"sources":["../../../src/shared/agentText.ts"],"sourcesContent":["/**\n * Trims markdown content and normalizes empty values to null.\n */\nexport function sanitizeAgentMarkdown(\n content: string | null | undefined,\n): string | null {\n const trimmed = content?.trim();\n if (trimmed == null || trimmed === '') {\n return null;\n }\n\n return trimmed;\n}\n\n/**\n * Trims plain-text answers and normalizes empty values to null.\n */\nexport function sanitizeAgentAnswer(\n answer: string | null | undefined,\n): string | null {\n const trimmed = answer?.trim();\n if (trimmed == null || trimmed === '') {\n return null;\n }\n\n return trimmed;\n}\n"],"mappings":";AAGA,SAAgB,EACd,GACe;CACf,IAAM,IAAU,GAAS,MAAM;AAK/B,QAJI,KAAW,QAAQ,MAAY,KAC1B,OAGF;;AAMT,SAAgB,EACd,GACe;CACf,IAAM,IAAU,GAAQ,MAAM;AAK9B,QAJI,KAAW,QAAQ,MAAY,KAC1B,OAGF"}
@@ -0,0 +1,2 @@
1
+ ._1who7yn0{gap:var(--kronex-spacing-4);flex-direction:column;display:flex}._1who7yn1{gap:var(--kronex-spacing-2);flex-direction:column;display:flex}._1who7yn2{grid-template-columns:var(--kronex-gridTemplateColumns-detailAside320);align-items:flex-start;gap:var(--kronex-spacing-4);display:grid}._1who7yn3{gap:var(--kronex-spacing-4);flex-direction:column;min-width:0;display:flex}._1who7yn4{gap:var(--kronex-spacing-3);flex-direction:column;display:flex}._1who7yn5{gap:var(--kronex-spacing-4);flex-direction:column;display:flex}@media screen and (width<=1024px){._1who7yn2{grid-template-columns:var(--kronex-gridTemplateColumns-detailSingle)}}.z8zris0{text-align:center;padding-top:var(--kronex-spacing-6);padding-bottom:var(--kronex-spacing-6);padding-left:var(--kronex-spacing-4);padding-right:var(--kronex-spacing-4);justify-content:center;align-items:center;gap:var(--kronex-spacing-2);color:var(--kronex-colors-textSecondary);flex-direction:column;display:flex}.z8zris1{color:var(--kronex-colors-textSecondary);justify-content:center;align-items:center;display:flex}.z8zris2{font-size:var(--kronex-fontSize-base);line-height:var(--kronex-lineHeight-base);font-weight:var(--kronex-fontWeight-semibold);color:var(--kronex-colors-text)}.z8zris3{font-size:var(--kronex-fontSize-sm);line-height:var(--kronex-lineHeight-sm);color:var(--kronex-colors-textSecondary)}.z8zris4{margin-top:var(--kronex-spacing-2);align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;justify-content:center;display:flex}.w9nf050{gap:var(--kronex-spacing-3);padding:var(--kronex-spacing-4);border-radius:var(--kronex-borderRadius-lg);border-width:var(--kronex-borderWidth-default);border-style:solid;border-color:var(--kronex-colors-borderSubtle);background-color:var(--kronex-colors-surface);flex-direction:column;display:flex}.w9nf051{gap:var(--kronex-spacing-1);flex-direction:column;display:flex}.w9nf052{font-size:var(--kronex-fontSize-base);font-weight:var(--kronex-fontWeight-semibold);color:var(--kronex-colors-text);margin:0}.w9nf053{font-size:var(--kronex-fontSize-sm);color:var(--kronex-colors-textSecondary);margin:0}.pujmv10{gap:var(--kronex-spacing-2);display:grid}.pujmv11{grid-template-columns:var(--kronex-gridTemplateColumns-keyValueSplit);gap:var(--kronex-spacing-2);padding-top:var(--kronex-spacing-2);padding-bottom:var(--kronex-spacing-2);padding-left:var(--kronex-spacing-3);padding-right:var(--kronex-spacing-3);border-radius:var(--kronex-borderRadius-lg);background-color:var(--kronex-colors-surfaceMuted);align-items:center;display:grid}.pujmv12{border-width:var(--kronex-borderWidth-default);border-style:solid;border-color:var(--kronex-colors-borderSubtle)}.pujmv13{color:var(--kronex-colors-textMuted);text-transform:uppercase;letter-spacing:var(--kronex-letterSpacing-caps);font-weight:var(--kronex-fontWeight-semibold)}.pujmv14{font-size:var(--kronex-fontSize-xs);line-height:var(--kronex-lineHeight-xs)}.pujmv15{font-size:var(--kronex-fontSize-base);line-height:var(--kronex-lineHeight-base);color:var(--kronex-colors-text);margin:0}.gxd70g0{justify-content:space-between;align-items:flex-start;gap:var(--kronex-spacing-4);flex-wrap:wrap;display:flex}.gxd70g1{gap:var(--kronex-spacing-2);flex-direction:column;flex:1;min-width:0;display:flex}.gxd70g2{align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;display:flex}.gxd70g3{font-size:var(--kronex-fontSize-2xl);line-height:var(--kronex-lineHeight-2xl);font-weight:var(--kronex-fontWeight-semibold);color:var(--kronex-colors-text);margin:0}.gxd70g4{font-size:var(--kronex-fontSize-base);line-height:var(--kronex-lineHeight-base);color:var(--kronex-colors-textSecondary);margin:0}.gxd70g5,.gxd70g6{align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;display:flex}.rsiemu0{display:inline-flex;position:relative}.rsiemu1{transition-property:transform;transition-duration:var(--kronex-transitionDuration-150);transition-timing-function:var(--kronex-transitionTimingFunction-ease)}.rsiemu2{transform:rotate(180deg)}.rsiemu3{right:0;top:var(--kronex-spacing-full);margin-top:var(--kronex-spacing-2);min-width:var(--kronex-spacing-64);background-color:var(--kronex-colors-surface);border-width:var(--kronex-borderWidth-default);border-style:solid;border-color:var(--kronex-colors-borderSubtle);border-radius:var(--kronex-borderRadius-lg);box-shadow:var(--kronex-boxShadow-md);padding:var(--kronex-spacing-2);gap:var(--kronex-spacing-1);z-index:var(--kronex-zIndex-20);flex-direction:column;display:flex;position:absolute}.rsiemu4{justify-content:space-between;align-items:center;gap:var(--kronex-spacing-2);padding-top:var(--kronex-spacing-2);padding-bottom:var(--kronex-spacing-2);padding-left:var(--kronex-spacing-3);padding-right:var(--kronex-spacing-3);border-radius:var(--kronex-borderRadius-md);color:var(--kronex-colors-text);font-size:var(--kronex-fontSize-sm);line-height:var(--kronex-lineHeight-sm);text-decoration:none;display:flex}.rsiemu4:hover{background-color:var(--kronex-colors-surfaceSecondary)}.rsiemu5{align-items:center;gap:var(--kronex-spacing-2);display:flex}.rsiemu6{font-size:var(--kronex-fontSize-xs);line-height:var(--kronex-lineHeight-xs);color:var(--kronex-colors-textMuted)}._1m9719t0{gap:var(--kronex-spacing-3);flex-direction:column;width:100%;display:flex}._1m9719t1{justify-content:space-between;gap:var(--kronex-spacing-3);flex-wrap:wrap;align-items:center;display:flex}._1m9719t2{align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;flex:1;min-width:0;display:flex}._1m9719t3{align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;display:flex}._1m9719t4{align-items:center;gap:var(--kronex-spacing-2);padding-top:var(--kronex-spacing-2);border-top-width:var(--kronex-borderWidth-px);border-top-style:solid;border-top-color:var(--kronex-colors-borderSubtle);flex-wrap:wrap;display:flex}@media screen and (width<=640px){._1m9719t1{flex-direction:column;align-items:stretch}}
2
+ /*$vite$:1*/
@@ -0,0 +1 @@
1
+ import "./index.js";
@@ -0,0 +1,2 @@
1
+ import './index.js';
2
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumile/ui-backoffice",
3
- "version": "0.1.55",
3
+ "version": "0.1.57",
4
4
  "description": "Shared backoffice UI components for Plumile applications",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -14,6 +14,7 @@
14
14
  "import": "./lib/esm/index.js",
15
15
  "default": "./lib/esm/index.js"
16
16
  },
17
+ "./style.css": "./lib/esm/style.css",
17
18
  "./backoffice/*": {
18
19
  "types": "./lib/types/backoffice/*.d.ts",
19
20
  "import": "./lib/esm/backoffice/*.js",
@@ -57,8 +58,8 @@
57
58
  "npm": ">=8.0.0"
58
59
  },
59
60
  "dependencies": {
60
- "@plumile/router": "^0.1.55",
61
- "@plumile/ui": "^0.1.55",
61
+ "@plumile/router": "^0.1.57",
62
+ "@plumile/ui": "^0.1.57",
62
63
  "tslib": "^2.8.1"
63
64
  },
64
65
  "devDependencies": {
@@ -1 +0,0 @@
1
- ._1who7yn0{display:flex;flex-direction:column;gap:var(--kronex-spacing-4)}._1who7yn1{display:flex;flex-direction:column;gap:var(--kronex-spacing-2)}._1who7yn2{display:grid;grid-template-columns:var(--kronex-gridTemplateColumns-detailAside320);align-items:flex-start;gap:var(--kronex-spacing-4)}._1who7yn3{display:flex;flex-direction:column;gap:var(--kronex-spacing-4);min-width:0}._1who7yn4{display:flex;flex-direction:column;gap:var(--kronex-spacing-3)}._1who7yn5{display:flex;flex-direction:column;gap:var(--kronex-spacing-4)}@media screen and (max-width:1024px){._1who7yn2{grid-template-columns:var(--kronex-gridTemplateColumns-detailSingle)}}
@@ -1 +0,0 @@
1
- .z8zris0{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:var(--kronex-spacing-6);padding-bottom:var(--kronex-spacing-6);padding-left:var(--kronex-spacing-4);padding-right:var(--kronex-spacing-4);gap:var(--kronex-spacing-2);color:var(--kronex-colors-textSecondary)}.z8zris1{display:flex;align-items:center;justify-content:center;color:var(--kronex-colors-textSecondary)}.z8zris2{font-size:var(--kronex-fontSize-base);line-height:var(--kronex-lineHeight-base);font-weight:var(--kronex-fontWeight-semibold);color:var(--kronex-colors-text)}.z8zris3{font-size:var(--kronex-fontSize-sm);line-height:var(--kronex-lineHeight-sm);color:var(--kronex-colors-textSecondary)}.z8zris4{margin-top:var(--kronex-spacing-2);display:flex;align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;justify-content:center}
@@ -1 +0,0 @@
1
- .w9nf050{display:flex;flex-direction:column;gap:var(--kronex-spacing-3);padding:var(--kronex-spacing-4);border-radius:var(--kronex-borderRadius-lg);border-width:var(--kronex-borderWidth-default);border-style:solid;border-color:var(--kronex-colors-borderSubtle);background-color:var(--kronex-colors-surface)}.w9nf051{display:flex;flex-direction:column;gap:var(--kronex-spacing-1)}.w9nf052{font-size:var(--kronex-fontSize-base);font-weight:var(--kronex-fontWeight-semibold);color:var(--kronex-colors-text);margin:0}.w9nf053{font-size:var(--kronex-fontSize-sm);color:var(--kronex-colors-textSecondary);margin:0}
@@ -1 +0,0 @@
1
- .pujmv10{display:grid;gap:var(--kronex-spacing-2)}.pujmv11{display:grid;grid-template-columns:var(--kronex-gridTemplateColumns-keyValueSplit);gap:var(--kronex-spacing-2);align-items:center;padding-top:var(--kronex-spacing-2);padding-bottom:var(--kronex-spacing-2);padding-left:var(--kronex-spacing-3);padding-right:var(--kronex-spacing-3);border-radius:var(--kronex-borderRadius-lg);background-color:var(--kronex-colors-surfaceMuted)}.pujmv12{border-width:var(--kronex-borderWidth-default);border-style:solid;border-color:var(--kronex-colors-borderSubtle)}.pujmv13{color:var(--kronex-colors-textMuted);text-transform:uppercase;letter-spacing:var(--kronex-letterSpacing-caps);font-weight:var(--kronex-fontWeight-semibold)}.pujmv14{font-size:var(--kronex-fontSize-xs);line-height:var(--kronex-lineHeight-xs)}.pujmv15{font-size:var(--kronex-fontSize-base);line-height:var(--kronex-lineHeight-base);color:var(--kronex-colors-text);margin:0}
@@ -1 +0,0 @@
1
- .gxd70g0{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--kronex-spacing-4);flex-wrap:wrap}.gxd70g1{display:flex;flex-direction:column;gap:var(--kronex-spacing-2);min-width:0;flex:1}.gxd70g2{display:flex;align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap}.gxd70g3{font-size:var(--kronex-fontSize-2xl);line-height:var(--kronex-lineHeight-2xl);font-weight:var(--kronex-fontWeight-semibold);color:var(--kronex-colors-text);margin:0}.gxd70g4{margin:0;font-size:var(--kronex-fontSize-base);line-height:var(--kronex-lineHeight-base);color:var(--kronex-colors-textSecondary)}.gxd70g5,.gxd70g6{display:flex;align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap}
@@ -1 +0,0 @@
1
- .rsiemu0{position:relative;display:inline-flex}.rsiemu1{transition-property:transform;transition-duration:var(--kronex-transitionDuration-150);transition-timing-function:var(--kronex-transitionTimingFunction-ease)}.rsiemu2{transform:rotate(180deg)}.rsiemu3{position:absolute;right:0;top:var(--kronex-spacing-full);margin-top:var(--kronex-spacing-2);min-width:var(--kronex-spacing-64);background-color:var(--kronex-colors-surface);border-width:var(--kronex-borderWidth-default);border-style:solid;border-color:var(--kronex-colors-borderSubtle);border-radius:var(--kronex-borderRadius-lg);box-shadow:var(--kronex-boxShadow-md);padding:var(--kronex-spacing-2);display:flex;flex-direction:column;gap:var(--kronex-spacing-1);z-index:var(--kronex-zIndex-20)}.rsiemu4{display:flex;align-items:center;justify-content:space-between;gap:var(--kronex-spacing-2);padding-top:var(--kronex-spacing-2);padding-bottom:var(--kronex-spacing-2);padding-left:var(--kronex-spacing-3);padding-right:var(--kronex-spacing-3);border-radius:var(--kronex-borderRadius-md);color:var(--kronex-colors-text);text-decoration:none;font-size:var(--kronex-fontSize-sm);line-height:var(--kronex-lineHeight-sm)}.rsiemu4:hover{background-color:var(--kronex-colors-surfaceSecondary)}.rsiemu5{display:flex;align-items:center;gap:var(--kronex-spacing-2)}.rsiemu6{font-size:var(--kronex-fontSize-xs);line-height:var(--kronex-lineHeight-xs);color:var(--kronex-colors-textMuted)}
@@ -1 +0,0 @@
1
- ._1m9719t0{display:flex;flex-direction:column;gap:var(--kronex-spacing-3);width:100%}._1m9719t1{display:flex;justify-content:space-between;gap:var(--kronex-spacing-3);flex-wrap:wrap;align-items:center}._1m9719t2{display:flex;align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap;min-width:0;flex:1}._1m9719t3{display:flex;align-items:center;gap:var(--kronex-spacing-2);flex-wrap:wrap}._1m9719t4{display:flex;align-items:center;flex-wrap:wrap;gap:var(--kronex-spacing-2);padding-top:var(--kronex-spacing-2);border-top-width:var(--kronex-borderWidth-px);border-top-style:solid;border-top-color:var(--kronex-colors-borderSubtle)}@media screen and (max-width:640px){._1m9719t1{align-items:stretch;flex-direction:column}}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}