@seij/common-ui 0.0.1
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/LICENSE +201 -0
- package/README.md +7 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +113 -0
- package/dist/index.js.map +1 -0
- package/dist/init/SeijUIProvider.d.ts +15 -0
- package/dist/init/SeijUIProvider.d.ts.map +1 -0
- package/dist/init/SeijUIProvider.js +20 -0
- package/dist/init/SeijUIProvider.js.map +1 -0
- package/dist/lib/applicationshell/ApplicationShell.d.ts +13 -0
- package/dist/lib/applicationshell/ApplicationShell.d.ts.map +1 -0
- package/dist/lib/applicationshell/ApplicationShell.js +110 -0
- package/dist/lib/applicationshell/ApplicationShell.js.map +1 -0
- package/dist/lib/applicationshell/ApplicationShell.types.d.ts +9 -0
- package/dist/lib/applicationshell/ApplicationShell.types.d.ts.map +1 -0
- package/dist/lib/applicationshell/TitleBar.d.ts +9 -0
- package/dist/lib/applicationshell/TitleBar.d.ts.map +1 -0
- package/dist/lib/applicationshell/TitleBar.js +100 -0
- package/dist/lib/applicationshell/TitleBar.js.map +1 -0
- package/dist/lib/badge/Badge.d.ts +5 -0
- package/dist/lib/badge/Badge.d.ts.map +1 -0
- package/dist/lib/badge/Badge.js +9 -0
- package/dist/lib/badge/Badge.js.map +1 -0
- package/dist/lib/button/Button.d.ts +16 -0
- package/dist/lib/button/Button.d.ts.map +1 -0
- package/dist/lib/button/Button.js +15 -0
- package/dist/lib/button/Button.js.map +1 -0
- package/dist/lib/button_bar/ButtonBar.d.ts +5 -0
- package/dist/lib/button_bar/ButtonBar.d.ts.map +1 -0
- package/dist/lib/button_bar/ButtonBar.js +26 -0
- package/dist/lib/button_bar/ButtonBar.js.map +1 -0
- package/dist/lib/common-ui.d.ts +5 -0
- package/dist/lib/common-ui.d.ts.map +1 -0
- package/dist/lib/common-ui.js +9 -0
- package/dist/lib/common-ui.js.map +1 -0
- package/dist/lib/commons/currencysymbol.d.ts +2 -0
- package/dist/lib/commons/currencysymbol.d.ts.map +1 -0
- package/dist/lib/commons/currencysymbol.js +15 -0
- package/dist/lib/commons/currencysymbol.js.map +1 -0
- package/dist/lib/commons/obfuscatelabel.d.ts +17 -0
- package/dist/lib/commons/obfuscatelabel.d.ts.map +1 -0
- package/dist/lib/commons/obfuscatelabel.js +23 -0
- package/dist/lib/commons/obfuscatelabel.js.map +1 -0
- package/dist/lib/data_table/DataTable.d.ts +32 -0
- package/dist/lib/data_table/DataTable.d.ts.map +1 -0
- package/dist/lib/data_table/DataTable.js +40 -0
- package/dist/lib/data_table/DataTable.js.map +1 -0
- package/dist/lib/datatabledynamic/DataTableDynamic.d.ts +14 -0
- package/dist/lib/datatabledynamic/DataTableDynamic.d.ts.map +1 -0
- package/dist/lib/datatabledynamic/DataTableDynamic.js +18 -0
- package/dist/lib/datatabledynamic/DataTableDynamic.js.map +1 -0
- package/dist/lib/devise/DeviseContext.d.ts +2 -0
- package/dist/lib/devise/DeviseContext.d.ts.map +1 -0
- package/dist/lib/devise/DeviseContext.js +6 -0
- package/dist/lib/devise/DeviseContext.js.map +1 -0
- package/dist/lib/error_notifier/ErrorNotifier.d.ts +6 -0
- package/dist/lib/error_notifier/ErrorNotifier.d.ts.map +1 -0
- package/dist/lib/error_notifier/ErrorNotifier.js +29 -0
- package/dist/lib/error_notifier/ErrorNotifier.js.map +1 -0
- package/dist/lib/errorbox/ErrorBox.d.ts +6 -0
- package/dist/lib/errorbox/ErrorBox.d.ts.map +1 -0
- package/dist/lib/errorbox/ErrorBox.js +26 -0
- package/dist/lib/errorbox/ErrorBox.js.map +1 -0
- package/dist/lib/form_layout/FormLayout.d.ts +23 -0
- package/dist/lib/form_layout/FormLayout.d.ts.map +1 -0
- package/dist/lib/form_layout/FormLayout.js +102 -0
- package/dist/lib/form_layout/FormLayout.js.map +1 -0
- package/dist/lib/i18n/i18n.detect.d.ts +10 -0
- package/dist/lib/i18n/i18n.detect.d.ts.map +1 -0
- package/dist/lib/i18n/i18n.detect.js +30 -0
- package/dist/lib/i18n/i18n.detect.js.map +1 -0
- package/dist/lib/i18n/i18n.factory.d.ts +3 -0
- package/dist/lib/i18n/i18n.factory.d.ts.map +1 -0
- package/dist/lib/i18n/i18n.factory.js +70 -0
- package/dist/lib/i18n/i18n.factory.js.map +1 -0
- package/dist/lib/i18n/i18n.react.d.ts +19 -0
- package/dist/lib/i18n/i18n.react.d.ts.map +1 -0
- package/dist/lib/i18n/i18n.react.js +29 -0
- package/dist/lib/i18n/i18n.react.js.map +1 -0
- package/dist/lib/i18n/i18n.types.d.ts +28 -0
- package/dist/lib/i18n/i18n.types.d.ts.map +1 -0
- package/dist/lib/i18n/index.d.ts +3 -0
- package/dist/lib/i18n/index.d.ts.map +1 -0
- package/dist/lib/info_box/InfoBox.d.ts +7 -0
- package/dist/lib/info_box/InfoBox.d.ts.map +1 -0
- package/dist/lib/info_box/InfoBox.js +13 -0
- package/dist/lib/info_box/InfoBox.js.map +1 -0
- package/dist/lib/inlineedit/InlineEdit.d.ts +9 -0
- package/dist/lib/inlineedit/InlineEdit.d.ts.map +1 -0
- package/dist/lib/inlineedit/InlineEdit.js +47 -0
- package/dist/lib/inlineedit/InlineEdit.js.map +1 -0
- package/dist/lib/listview/ListView.d.ts +16 -0
- package/dist/lib/listview/ListView.d.ts.map +1 -0
- package/dist/lib/listview/ListView.js +100 -0
- package/dist/lib/listview/ListView.js.map +1 -0
- package/dist/lib/loader/Loader.d.ts +4 -0
- package/dist/lib/loader/Loader.d.ts.map +1 -0
- package/dist/lib/loader/Loader.js +9 -0
- package/dist/lib/loader/Loader.js.map +1 -0
- package/dist/lib/localdate/InputLocalDate.d.ts +17 -0
- package/dist/lib/localdate/InputLocalDate.d.ts.map +1 -0
- package/dist/lib/localdate/InputLocalDate.js +61 -0
- package/dist/lib/localdate/InputLocalDate.js.map +1 -0
- package/dist/lib/localdate/LabelLocalDate.d.ts +6 -0
- package/dist/lib/localdate/LabelLocalDate.d.ts.map +1 -0
- package/dist/lib/localdate/LabelLocalDate.js +9 -0
- package/dist/lib/localdate/LabelLocalDate.js.map +1 -0
- package/dist/lib/money/InputMoneyDec.d.ts +20 -0
- package/dist/lib/money/InputMoneyDec.d.ts.map +1 -0
- package/dist/lib/money/InputMoneyDec.js +24 -0
- package/dist/lib/money/InputMoneyDec.js.map +1 -0
- package/dist/lib/money/InputMoneyInt.d.ts +24 -0
- package/dist/lib/money/InputMoneyInt.d.ts.map +1 -0
- package/dist/lib/money/InputMoneyInt.js +24 -0
- package/dist/lib/money/InputMoneyInt.js.map +1 -0
- package/dist/lib/money/LabelMoneyDec.d.ts +33 -0
- package/dist/lib/money/LabelMoneyDec.d.ts.map +1 -0
- package/dist/lib/money/LabelMoneyDec.js +22 -0
- package/dist/lib/money/LabelMoneyDec.js.map +1 -0
- package/dist/lib/money/LabelMoneyInt.d.ts +33 -0
- package/dist/lib/money/LabelMoneyInt.d.ts.map +1 -0
- package/dist/lib/money/LabelMoneyInt.js +22 -0
- package/dist/lib/money/LabelMoneyInt.js.map +1 -0
- package/dist/lib/month/InputDurationMonths.d.ts +9 -0
- package/dist/lib/month/InputDurationMonths.d.ts.map +1 -0
- package/dist/lib/month/InputDurationMonths.js +22 -0
- package/dist/lib/month/InputDurationMonths.js.map +1 -0
- package/dist/lib/month/InputMonth.d.ts +13 -0
- package/dist/lib/month/InputMonth.d.ts.map +1 -0
- package/dist/lib/month/InputMonth.js +15 -0
- package/dist/lib/month/InputMonth.js.map +1 -0
- package/dist/lib/navigation/Navigation.d.ts +9 -0
- package/dist/lib/navigation/Navigation.d.ts.map +1 -0
- package/dist/lib/navigation/Navigation.js +38 -0
- package/dist/lib/navigation/Navigation.js.map +1 -0
- package/dist/lib/navigation/Navigation.types.d.ts +48 -0
- package/dist/lib/navigation/Navigation.types.d.ts.map +1 -0
- package/dist/lib/navigation/NavigationService.d.ts +8 -0
- package/dist/lib/navigation/NavigationService.d.ts.map +1 -0
- package/dist/lib/navigation/NavigationService.js +13 -0
- package/dist/lib/navigation/NavigationService.js.map +1 -0
- package/dist/lib/number/InputNumber.d.ts +22 -0
- package/dist/lib/number/InputNumber.d.ts.map +1 -0
- package/dist/lib/number/InputNumber.js +82 -0
- package/dist/lib/number/InputNumber.js.map +1 -0
- package/dist/lib/number/InputNumberDec.d.ts +16 -0
- package/dist/lib/number/InputNumberDec.d.ts.map +1 -0
- package/dist/lib/number/InputNumberDec.js +21 -0
- package/dist/lib/number/InputNumberDec.js.map +1 -0
- package/dist/lib/number/InputNumberInt.d.ts +19 -0
- package/dist/lib/number/InputNumberInt.d.ts.map +1 -0
- package/dist/lib/number/InputNumberInt.js +21 -0
- package/dist/lib/number/InputNumberInt.js.map +1 -0
- package/dist/lib/number/index.d.ts +4 -0
- package/dist/lib/number/index.d.ts.map +1 -0
- package/dist/lib/percent/InputPercent.d.ts +9 -0
- package/dist/lib/percent/InputPercent.d.ts.map +1 -0
- package/dist/lib/percent/InputPercent.js +29 -0
- package/dist/lib/percent/InputPercent.js.map +1 -0
- package/dist/lib/percent/LabelPercent.d.ts +8 -0
- package/dist/lib/percent/LabelPercent.d.ts.map +1 -0
- package/dist/lib/percent/LabelPercent.js +9 -0
- package/dist/lib/percent/LabelPercent.js.map +1 -0
- package/dist/lib/percent/LabelPercentInt.d.ts +4 -0
- package/dist/lib/percent/LabelPercentInt.d.ts.map +1 -0
- package/dist/lib/percent/LabelPercentInt.js +10 -0
- package/dist/lib/percent/LabelPercentInt.js.map +1 -0
- package/dist/lib/select/InputCombobox.d.ts +49 -0
- package/dist/lib/select/InputCombobox.d.ts.map +1 -0
- package/dist/lib/select/InputCombobox.js +42 -0
- package/dist/lib/select/InputCombobox.js.map +1 -0
- package/dist/lib/select/InputSelect.d.ts +22 -0
- package/dist/lib/select/InputSelect.d.ts.map +1 -0
- package/dist/lib/select/InputSelect.js +31 -0
- package/dist/lib/select/InputSelect.js.map +1 -0
- package/dist/lib/switchbutton/SwitchButton.d.ts +9 -0
- package/dist/lib/switchbutton/SwitchButton.d.ts.map +1 -0
- package/dist/lib/switchbutton/SwitchButton.js +18 -0
- package/dist/lib/switchbutton/SwitchButton.js.map +1 -0
- package/dist/lib/tabs/Tabs.d.ts +18 -0
- package/dist/lib/tabs/Tabs.d.ts.map +1 -0
- package/dist/lib/tabs/Tabs.js +30 -0
- package/dist/lib/tabs/Tabs.js.map +1 -0
- package/dist/lib/tabs/index.d.ts +2 -0
- package/dist/lib/tabs/index.d.ts.map +1 -0
- package/dist/lib/text/InputText.d.ts +12 -0
- package/dist/lib/text/InputText.d.ts.map +1 -0
- package/dist/lib/text/InputText.js +32 -0
- package/dist/lib/text/InputText.js.map +1 -0
- package/dist/lib/typography/description/Description.d.ts +4 -0
- package/dist/lib/typography/description/Description.d.ts.map +1 -0
- package/dist/lib/typography/description/Description.js +9 -0
- package/dist/lib/typography/description/Description.js.map +1 -0
- package/dist/lib/typography/description/index.d.ts +2 -0
- package/dist/lib/typography/description/index.d.ts.map +1 -0
- package/dist/lib/typography/index.d.ts +5 -0
- package/dist/lib/typography/index.d.ts.map +1 -0
- package/dist/lib/typography/label_and_description/LabelAndDescription.d.ts +5 -0
- package/dist/lib/typography/label_and_description/LabelAndDescription.d.ts.map +1 -0
- package/dist/lib/typography/label_and_description/LabelAndDescription.js +16 -0
- package/dist/lib/typography/label_and_description/LabelAndDescription.js.map +1 -0
- package/dist/lib/typography/label_and_description/index.d.ts +2 -0
- package/dist/lib/typography/label_and_description/index.d.ts.map +1 -0
- package/dist/lib/typography/sectiontitle/SectionTitle.d.ts +5 -0
- package/dist/lib/typography/sectiontitle/SectionTitle.d.ts.map +1 -0
- package/dist/lib/typography/sectiontitle/SectionTitle.js +8 -0
- package/dist/lib/typography/sectiontitle/SectionTitle.js.map +1 -0
- package/dist/lib/typography/todo/Todo.d.ts +5 -0
- package/dist/lib/typography/todo/Todo.d.ts.map +1 -0
- package/dist/lib/typography/todo/Todo.js +7 -0
- package/dist/lib/typography/todo/Todo.js.map +1 -0
- package/dist/lib/view_layout/ViewBody.d.ts +8 -0
- package/dist/lib/view_layout/ViewBody.d.ts.map +1 -0
- package/dist/lib/view_layout/ViewBody.js +8 -0
- package/dist/lib/view_layout/ViewBody.js.map +1 -0
- package/dist/lib/view_layout/ViewFooter.d.ts +10 -0
- package/dist/lib/view_layout/ViewFooter.d.ts.map +1 -0
- package/dist/lib/view_layout/ViewFooter.js +8 -0
- package/dist/lib/view_layout/ViewFooter.js.map +1 -0
- package/dist/lib/view_layout/ViewHeader.d.ts +5 -0
- package/dist/lib/view_layout/ViewHeader.d.ts.map +1 -0
- package/dist/lib/view_layout/ViewHeader.js +8 -0
- package/dist/lib/view_layout/ViewHeader.js.map +1 -0
- package/dist/lib/view_layout/ViewLayout.d.ts +16 -0
- package/dist/lib/view_layout/ViewLayout.d.ts.map +1 -0
- package/dist/lib/view_layout/ViewLayout.js +127 -0
- package/dist/lib/view_layout/ViewLayout.js.map +1 -0
- package/dist/lib/view_layout/ViewTitle.d.ts +21 -0
- package/dist/lib/view_layout/ViewTitle.d.ts.map +1 -0
- package/dist/lib/view_layout/ViewTitle.js +71 -0
- package/dist/lib/view_layout/ViewTitle.js.map +1 -0
- package/dist/lib/year/InputDurationYears.d.ts +9 -0
- package/dist/lib/year/InputDurationYears.d.ts.map +1 -0
- package/dist/lib/year/InputDurationYears.js +22 -0
- package/dist/lib/year/InputDurationYears.js.map +1 -0
- package/dist/lib/year/InputYear.d.ts +9 -0
- package/dist/lib/year/InputYear.d.ts.map +1 -0
- package/dist/lib/year/InputYear.js +21 -0
- package/dist/lib/year/InputYear.js.map +1 -0
- package/dist/locales/en.d.ts +8 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +41 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/fr.d.ts +8 -0
- package/dist/locales/fr.d.ts.map +1 -0
- package/dist/locales/fr.js +41 -0
- package/dist/locales/fr.js.map +1 -0
- package/dist/locales/interfaces.d.ts +11 -0
- package/dist/locales/interfaces.d.ts.map +1 -0
- package/dist/stories/utils/SeijUIProviderDecorator.d.ts +2 -0
- package/dist/stories/utils/SeijUIProviderDecorator.d.ts.map +1 -0
- package/dist/stories/utils/StoryComponentFrame.d.ts +11 -0
- package/dist/stories/utils/StoryComponentFrame.d.ts.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx as n, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles as h, tokens as o, Text as u, useKeyboardNavAttribute as p, Spinner as m, Avatar as s } from "@fluentui/react-components";
|
|
3
|
+
import { ChessRegular as x } from "@fluentui/react-icons";
|
|
4
|
+
const c = h({
|
|
5
|
+
root: {
|
|
6
|
+
height: "48px",
|
|
7
|
+
lineHeight: "48px",
|
|
8
|
+
width: "100%"
|
|
9
|
+
},
|
|
10
|
+
appBar: {
|
|
11
|
+
display: "flex",
|
|
12
|
+
color: o.colorNeutralForegroundOnBrand,
|
|
13
|
+
backgroundColor: o.colorBrandBackground,
|
|
14
|
+
width: "100%",
|
|
15
|
+
maxWidth: "100%"
|
|
16
|
+
},
|
|
17
|
+
launcher: {
|
|
18
|
+
width: "48px",
|
|
19
|
+
minWidth: "48px",
|
|
20
|
+
height: "48px",
|
|
21
|
+
lineHeight: "48px",
|
|
22
|
+
flex: 0,
|
|
23
|
+
textAlign: "center",
|
|
24
|
+
":hover": {
|
|
25
|
+
background: o.colorBrandBackgroundHover,
|
|
26
|
+
cursor: "pointer"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
launcher_icon: {
|
|
30
|
+
fontSize: "24px",
|
|
31
|
+
verticalAlign: "middle"
|
|
32
|
+
},
|
|
33
|
+
title: {
|
|
34
|
+
height: "48px",
|
|
35
|
+
flex: 1,
|
|
36
|
+
whiteSpace: "nowrap"
|
|
37
|
+
},
|
|
38
|
+
actions: {
|
|
39
|
+
height: "48px",
|
|
40
|
+
minWidth: "48px",
|
|
41
|
+
flex: 0,
|
|
42
|
+
display: "flex",
|
|
43
|
+
justifyContent: "space-around"
|
|
44
|
+
},
|
|
45
|
+
home: {
|
|
46
|
+
width: "100%",
|
|
47
|
+
height: "100%",
|
|
48
|
+
display: "inline-block"
|
|
49
|
+
},
|
|
50
|
+
userActionButton: {
|
|
51
|
+
width: "100%",
|
|
52
|
+
height: "100%",
|
|
53
|
+
display: "inline-block",
|
|
54
|
+
textAlign: "center"
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
function v({
|
|
58
|
+
hamburger: e,
|
|
59
|
+
onClickHome: i,
|
|
60
|
+
userStatus: r,
|
|
61
|
+
applicationName: l
|
|
62
|
+
}) {
|
|
63
|
+
const t = c();
|
|
64
|
+
return /* @__PURE__ */ n("div", { className: t.root, children: /* @__PURE__ */ d("div", { className: t.appBar, children: [
|
|
65
|
+
e ? /* @__PURE__ */ n("div", { className: t.launcher, children: e }) : null,
|
|
66
|
+
/* @__PURE__ */ n("div", { className: t.launcher, children: /* @__PURE__ */ n(g, { onClick: i }) }),
|
|
67
|
+
/* @__PURE__ */ n("div", { className: t.title, children: /* @__PURE__ */ n(u, { weight: "semibold", children: l }) }),
|
|
68
|
+
/* @__PURE__ */ n("div", { className: t.actions, children: /* @__PURE__ */ n(f, { status: r }) })
|
|
69
|
+
] }) });
|
|
70
|
+
}
|
|
71
|
+
function g({ onClick: e }) {
|
|
72
|
+
const i = c(), r = p(), l = a(e);
|
|
73
|
+
return /* @__PURE__ */ n("a", { tabIndex: 0, ...l, className: i.home, "aria-label": "Accueil", ref: r, children: /* @__PURE__ */ n(x, { className: i.launcher_icon }) });
|
|
74
|
+
}
|
|
75
|
+
function f({ status: e }) {
|
|
76
|
+
const i = c();
|
|
77
|
+
if (e.isLoading)
|
|
78
|
+
return /* @__PURE__ */ n(m, {});
|
|
79
|
+
if (e.errorMessage)
|
|
80
|
+
return /* @__PURE__ */ d("div", { children: [
|
|
81
|
+
"Oops... ",
|
|
82
|
+
e.errorMessage
|
|
83
|
+
] });
|
|
84
|
+
if (e.isAuthenticated) {
|
|
85
|
+
const l = e.userName ?? "", t = a(e.onClickSignIn);
|
|
86
|
+
return /* @__PURE__ */ n("a", { tabIndex: 0, className: i.userActionButton, ...t, children: /* @__PURE__ */ n(s, { "aria-label": l, name: l }) });
|
|
87
|
+
}
|
|
88
|
+
const r = a(e.onClickSignOut);
|
|
89
|
+
return /* @__PURE__ */ n("a", { tabIndex: 0, className: i.userActionButton, ...r, children: /* @__PURE__ */ n(s, { "aria-label": "Non connecté" }) });
|
|
90
|
+
}
|
|
91
|
+
const a = (e) => ({
|
|
92
|
+
onClick: e,
|
|
93
|
+
onKeyUp: (r) => {
|
|
94
|
+
(r.key === "Enter" || r.key === " ") && (e(), r.preventDefault());
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
export {
|
|
98
|
+
v as TitleBar
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=TitleBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TitleBar.js","sources":["../../../src/lib/applicationshell/TitleBar.tsx"],"sourcesContent":["import { Avatar, makeStyles, Spinner, Text, tokens, useKeyboardNavAttribute } from \"@fluentui/react-components\";\nimport { ChessRegular } from \"@fluentui/react-icons\";\nimport { KeyboardEventHandler, ReactNode } from \"react\";\nimport { UserStatus } from \"./ApplicationShell.types\";\n\nconst useTitleBarStyles = makeStyles({\n root: {\n height: \"48px\",\n lineHeight: \"48px\",\n width: \"100%\",\n },\n appBar: {\n display: \"flex\",\n color: tokens.colorNeutralForegroundOnBrand,\n backgroundColor: tokens.colorBrandBackground,\n width: \"100%\",\n maxWidth: \"100%\",\n },\n launcher: {\n width: \"48px\",\n minWidth: \"48px\",\n height: \"48px\",\n lineHeight: \"48px\",\n flex: 0,\n textAlign: \"center\",\n \":hover\": {\n background: tokens.colorBrandBackgroundHover,\n cursor: \"pointer\",\n },\n },\n launcher_icon: {\n fontSize: \"24px\",\n verticalAlign: \"middle\",\n },\n title: {\n height: \"48px\",\n flex: 1,\n whiteSpace: \"nowrap\",\n },\n actions: {\n height: \"48px\",\n minWidth: \"48px\",\n flex: 0,\n display: \"flex\",\n justifyContent: \"space-around\",\n },\n home: {\n width: \"100%\",\n height: \"100%\",\n display: \"inline-block\",\n },\n userActionButton: {\n width: \"100%\",\n height: \"100%\",\n display: \"inline-block\",\n textAlign: \"center\",\n },\n});\n\nexport function TitleBar({\n hamburger,\n onClickHome,\n userStatus,\n applicationName: applicationName,\n}: {\n userStatus: UserStatus;\n applicationName: string;\n hamburger: ReactNode | null;\n onClickHome: () => void;\n}) {\n const styles = useTitleBarStyles();\n return (\n <div className={styles.root}>\n <div className={styles.appBar}>\n {hamburger ? <div className={styles.launcher}>{hamburger}</div> : null}\n <div className={styles.launcher}>\n <Home onClick={onClickHome} />\n </div>\n <div className={styles.title}>\n <Text weight=\"semibold\">{applicationName}</Text>\n </div>\n <div className={styles.actions}>\n <User status={userStatus} />\n </div>\n </div>\n </div>\n );\n}\n\nfunction Home({ onClick }: { onClick: () => void }) {\n const styles = useTitleBarStyles();\n const ref = useKeyboardNavAttribute<HTMLAnchorElement>();\n const onClickHandlers = createClickHandlers(onClick);\n return (\n <a tabIndex={0} {...onClickHandlers} className={styles.home} aria-label=\"Accueil\" ref={ref}>\n <ChessRegular className={styles.launcher_icon} />\n </a>\n );\n}\n\nfunction User({ status }: { status: UserStatus }) {\n const styles = useTitleBarStyles();\n\n if (status.isLoading) {\n return <Spinner />;\n }\n\n if (status.errorMessage) {\n return <div>Oops... {status.errorMessage}</div>;\n }\n\n if (status.isAuthenticated) {\n const name = status.userName ?? \"\";\n const onClickHandlers = createClickHandlers(status.onClickSignIn);\n return (\n <a tabIndex={0} className={styles.userActionButton} {...onClickHandlers}>\n <Avatar aria-label={name} name={name} />\n </a>\n );\n }\n\n const onClickHandlers = createClickHandlers(status.onClickSignOut);\n\n return (\n <a tabIndex={0} className={styles.userActionButton} {...onClickHandlers}>\n <Avatar aria-label=\"Non connecté\" />\n </a>\n );\n}\n\nconst createClickHandlers = (onClick: () => void) => {\n const handleKeyUp: KeyboardEventHandler<HTMLAnchorElement> = (e) => {\n const correct = e.key === \"Enter\" || e.key === \" \";\n if (correct) {\n onClick();\n e.preventDefault();\n }\n };\n return {\n onClick: onClick,\n onKeyUp: handleKeyUp,\n };\n};\n"],"names":["useTitleBarStyles","makeStyles","tokens","TitleBar","hamburger","onClickHome","userStatus","applicationName","styles","jsx","jsxs","Home","Text","User","onClick","ref","useKeyboardNavAttribute","onClickHandlers","createClickHandlers","ChessRegular","status","Spinner","name","Avatar","e"],"mappings":";;;AAKA,MAAMA,IAAoBC,EAAW;AAAA,EACnC,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,OAAOC,EAAO;AAAA,IACd,iBAAiBA,EAAO;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,EAAA;AAAA,EAEZ,UAAU;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,UAAU;AAAA,MACR,YAAYA,EAAO;AAAA,MACnB,QAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EAEF,eAAe;AAAA,IACb,UAAU;AAAA,IACV,eAAe;AAAA,EAAA;AAAA,EAEjB,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA,EAAA;AAAA,EAEd,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,EAAA;AAAA,EAElB,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,EAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,EAAA;AAEf,CAAC;AAEM,SAASC,EAAS;AAAA,EACvB,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AACF,GAKG;AACD,QAAMC,IAASR,EAAA;AACf,SACE,gBAAAS,EAAC,SAAI,WAAWD,EAAO,MACrB,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAWF,EAAO,QACpB,UAAA;AAAA,IAAAJ,sBAAa,OAAA,EAAI,WAAWI,EAAO,UAAW,aAAU,IAAS;AAAA,IAClE,gBAAAC,EAAC,SAAI,WAAWD,EAAO,UACrB,UAAA,gBAAAC,EAACE,GAAA,EAAK,SAASN,EAAA,CAAa,EAAA,CAC9B;AAAA,IACA,gBAAAI,EAAC,OAAA,EAAI,WAAWD,EAAO,OACrB,4BAACI,GAAA,EAAK,QAAO,YAAY,UAAAL,EAAA,CAAgB,EAAA,CAC3C;AAAA,IACA,gBAAAE,EAAC,SAAI,WAAWD,EAAO,SACrB,UAAA,gBAAAC,EAACI,GAAA,EAAK,QAAQP,EAAA,CAAY,EAAA,CAC5B;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;AAEA,SAASK,EAAK,EAAE,SAAAG,KAAoC;AAClD,QAAMN,IAASR,EAAA,GACTe,IAAMC,EAAA,GACNC,IAAkBC,EAAoBJ,CAAO;AACnD,2BACG,KAAA,EAAE,UAAU,GAAI,GAAGG,GAAiB,WAAWT,EAAO,MAAM,cAAW,WAAU,KAAAO,GAChF,UAAA,gBAAAN,EAACU,KAAa,WAAWX,EAAO,eAAe,GACjD;AAEJ;AAEA,SAASK,EAAK,EAAE,QAAAO,KAAkC;AAChD,QAAMZ,IAASR,EAAA;AAEf,MAAIoB,EAAO;AACT,6BAAQC,GAAA,EAAQ;AAGlB,MAAID,EAAO;AACT,6BAAQ,OAAA,EAAI,UAAA;AAAA,MAAA;AAAA,MAASA,EAAO;AAAA,IAAA,GAAa;AAG3C,MAAIA,EAAO,iBAAiB;AAC1B,UAAME,IAAOF,EAAO,YAAY,IAC1BH,IAAkBC,EAAoBE,EAAO,aAAa;AAChE,WACE,gBAAAX,EAAC,KAAA,EAAE,UAAU,GAAG,WAAWD,EAAO,kBAAmB,GAAGS,GACtD,UAAA,gBAAAR,EAACc,GAAA,EAAO,cAAYD,GAAM,MAAAA,GAAY,GACxC;AAAA,EAEJ;AAEA,QAAML,IAAkBC,EAAoBE,EAAO,cAAc;AAEjE,SACE,gBAAAX,EAAC,KAAA,EAAE,UAAU,GAAG,WAAWD,EAAO,kBAAmB,GAAGS,GACtD,UAAA,gBAAAR,EAACc,GAAA,EAAO,cAAW,gBAAe,GACpC;AAEJ;AAEA,MAAML,IAAsB,CAACJ,OAQpB;AAAA,EACL,SAAAA;AAAA,EACA,SAT2D,CAACU,MAAM;AAElE,KADgBA,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SAE7CV,EAAA,GACAU,EAAE,eAAA;AAAA,EAEN;AAGW;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/lib/badge/Badge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;CAAE,GAAG,iBAAiB,2CAG1F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { Badge as n } from "@fluentui/react-components";
|
|
3
|
+
function f({ color: o, children: r }) {
|
|
4
|
+
return /* @__PURE__ */ a(n, { color: o === "yellow" ? "warning" : o === "gray" ? "informative" : "brand", children: r });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
f as Badge
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../src/lib/badge/Badge.tsx"],"sourcesContent":["import { Badge as FluentBadge, BadgeProps } from \"@fluentui/react-components\";\nimport { PropsWithChildren } from \"react\";\n\nexport function Badge({ color, children }: { color: \"yellow\" | \"gray\" } & PropsWithChildren) {\n const finalColor: BadgeProps[\"color\"] = color === \"yellow\" ? \"warning\" : color === \"gray\" ? \"informative\" : \"brand\";\n return <FluentBadge color={finalColor}>{children}</FluentBadge>;\n}\n"],"names":["Badge","color","children","jsx","FluentBadge"],"mappings":";;AAGO,SAASA,EAAM,EAAE,OAAAC,GAAO,UAAAC,KAA8D;AAE3F,SAAO,gBAAAC,EAACC,GAAA,EAAY,OADoBH,MAAU,WAAW,YAAYA,MAAU,SAAS,gBAAgB,SACpE,UAAAC,EAAA,CAAS;AACnD;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
export declare function Button({ children, variant, disabled, onClick, }: {
|
|
3
|
+
/**
|
|
4
|
+
* Primary for main action buttons (OK, Next, etc.), "secondary" for Cancel, Back and secondary actions
|
|
5
|
+
*/
|
|
6
|
+
variant?: "primary" | "secondary";
|
|
7
|
+
/**
|
|
8
|
+
* When it should be disabled, set it to true. If not specified or false, will not be disabled
|
|
9
|
+
*/
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* When button is clicked
|
|
13
|
+
*/
|
|
14
|
+
onClick: () => void;
|
|
15
|
+
} & PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/lib/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,OAAO,GACR,EAAE;IACD;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,GAAE,iBAAiB,2CAUnB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { Button as i } from "@fluentui/react-components";
|
|
3
|
+
function s({
|
|
4
|
+
children: t,
|
|
5
|
+
variant: e,
|
|
6
|
+
disabled: o = !1,
|
|
7
|
+
onClick: a
|
|
8
|
+
}) {
|
|
9
|
+
let r;
|
|
10
|
+
return e === "secondary" ? r = "secondary" : r = "primary", /* @__PURE__ */ n(i, { appearance: r, disabled: o, onClick: a, children: t });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
s as Button
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/lib/button/Button.tsx"],"sourcesContent":["import { Button as FluentButton, ButtonProps } from \"@fluentui/react-components\";\nimport { PropsWithChildren } from \"react\";\n\nexport function Button({\n children,\n variant,\n disabled = false,\n onClick,\n}: {\n /**\n * Primary for main action buttons (OK, Next, etc.), \"secondary\" for Cancel, Back and secondary actions\n */\n variant?: \"primary\" | \"secondary\";\n /**\n * When it should be disabled, set it to true. If not specified or false, will not be disabled\n */\n disabled?: boolean;\n /**\n * When button is clicked\n */\n onClick: () => void;\n}& PropsWithChildren) {\n let mantineVariant: ButtonProps[\"appearance\"] | undefined = undefined;\n if (variant === \"secondary\") mantineVariant = \"secondary\";\n else if (variant === \"primary\") mantineVariant = \"primary\";\n else mantineVariant = \"primary\";\n return (\n <FluentButton appearance={mantineVariant} disabled={disabled} onClick={onClick}>\n {children}\n </FluentButton>\n );\n}\n"],"names":["Button","children","variant","disabled","onClick","mantineVariant","FluentButton"],"mappings":";;AAGO,SAASA,EAAO;AAAA,EACrB,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,SAAAC;AACF,GAasB;AACpB,MAAIC;AACJ,SAAIH,MAAY,cAAaG,IAAiB,cACdA,IAAiB,6BAG9CC,GAAA,EAAa,YAAYD,GAAgB,UAAAF,GAAoB,SAAAC,GAC3D,UAAAH,GACH;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonBar.d.ts","sourceRoot":"","sources":["../../../src/lib/button_bar/ButtonBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAarD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAmB,GACpB,EAAE;IACD,OAAO,CAAC,EAAE,SAAS,GAAG,sBAAsB,CAAC;CAC9C,GAAG,iBAAiB,2CAOpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles as i, tokens as o, mergeClasses as l } from "@fluentui/react-components";
|
|
3
|
+
const r = i({
|
|
4
|
+
root: {
|
|
5
|
+
display: "flex",
|
|
6
|
+
columnGap: o.spacingHorizontalM
|
|
7
|
+
},
|
|
8
|
+
variant_table_bottom_actions: {
|
|
9
|
+
marginTop: o.spacingVerticalL,
|
|
10
|
+
justifyContent: "flex-end"
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
function p({
|
|
14
|
+
children: a,
|
|
15
|
+
variant: s = "default"
|
|
16
|
+
}) {
|
|
17
|
+
const t = r(), e = l(
|
|
18
|
+
t.root,
|
|
19
|
+
s === "table_bottom_actions" ? t.variant_table_bottom_actions : void 0
|
|
20
|
+
);
|
|
21
|
+
return /* @__PURE__ */ n("div", { className: e, children: a });
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
p as ButtonBar
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=ButtonBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonBar.js","sources":["../../../src/lib/button_bar/ButtonBar.tsx"],"sourcesContent":["import { makeStyles, mergeClasses, tokens } from \"@fluentui/react-components\";\nimport { PropsWithChildren, ReactNode } from \"react\";\n\nconst useStyles = makeStyles({\n root: {\n display: \"flex\",\n columnGap: tokens.spacingHorizontalM,\n },\n variant_table_bottom_actions: {\n marginTop: tokens.spacingVerticalL,\n justifyContent: \"flex-end\",\n },\n});\n\nexport function ButtonBar({\n children,\n variant = \"default\",\n}: {\n variant?: \"default\" | \"table_bottom_actions\";\n} & PropsWithChildren) {\n const styles = useStyles();\n const classNames = mergeClasses(\n styles.root,\n variant === \"table_bottom_actions\" ? styles.variant_table_bottom_actions : undefined,\n );\n return <div className={classNames}>{children}</div>;\n}\n"],"names":["useStyles","makeStyles","tokens","ButtonBar","children","variant","styles","classNames","mergeClasses","jsx"],"mappings":";;AAGA,MAAMA,IAAYC,EAAW;AAAA,EAC3B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,WAAWC,EAAO;AAAA,EAAA;AAAA,EAEpB,8BAA8B;AAAA,IAC5B,WAAWA,EAAO;AAAA,IAClB,gBAAgB;AAAA,EAAA;AAEpB,CAAC;AAEM,SAASC,EAAU;AAAA,EACxB,UAAAC;AAAA,EACA,SAAAC,IAAU;AACZ,GAEuB;AACrB,QAAMC,IAASN,EAAA,GACTO,IAAaC;AAAA,IACjBF,EAAO;AAAA,IACPD,MAAY,yBAAyBC,EAAO,+BAA+B;AAAA,EAAA;AAE7E,SAAO,gBAAAG,EAAC,OAAA,EAAI,WAAWF,GAAa,UAAAH,EAAA,CAAS;AAC/C;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-ui.d.ts","sourceRoot":"","sources":["../../src/lib/common-ui.tsx"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;CAAG;AAEjC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAM5C;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
function i(r) {
|
|
3
|
+
return /* @__PURE__ */ o("div", { children: /* @__PURE__ */ o("h1", { children: "Welcome to CommonUi!" }) });
|
|
4
|
+
}
|
|
5
|
+
export {
|
|
6
|
+
i as CommonUi,
|
|
7
|
+
i as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=common-ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-ui.js","sources":["../../src/lib/common-ui.tsx"],"sourcesContent":["/* eslint-disable-next-line */\nexport interface CommonUiProps {}\n\nexport function CommonUi(props: CommonUiProps) {\n return (\n <div>\n <h1>Welcome to CommonUi!</h1>\n </div>\n );\n}\n\nexport default CommonUi;\n"],"names":["CommonUi","props","jsx"],"mappings":";AAGO,SAASA,EAASC,GAAsB;AAC7C,SACE,gBAAAC,EAAC,OAAA,EACC,UAAA,gBAAAA,EAAC,MAAA,EAAG,kCAAoB,GAC1B;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencysymbol.d.ts","sourceRoot":"","sources":["../../../src/lib/commons/currencysymbol.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUxF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { toCurrencySymbol as t } from "@seij/common-types";
|
|
2
|
+
function i(r) {
|
|
3
|
+
if (r !== null) {
|
|
4
|
+
if (r === void 0 || r.length == 0 || r.length != 3) return r;
|
|
5
|
+
try {
|
|
6
|
+
return t(r);
|
|
7
|
+
} catch {
|
|
8
|
+
return r;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
i as toCurrencySymbolSafe
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=currencysymbol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencysymbol.js","sources":["../../../src/lib/commons/currencysymbol.ts"],"sourcesContent":["import { toCurrencySymbol } from \"@seij/common-types\";\n\nexport function toCurrencySymbolSafe(code: string | null | undefined): string | undefined {\n if (code === null) return undefined;\n if (code === undefined) return code;\n if (code.length == 0) return code;\n if (code.length != 3) return code;\n try {\n return toCurrencySymbol(code);\n } catch (err) {\n return code;\n }\n}\n"],"names":["toCurrencySymbolSafe","code","toCurrencySymbol"],"mappings":";AAEO,SAASA,EAAqBC,GAAqD;AACxF,MAAIA,MAAS,MAGb;AAAA,QAFIA,MAAS,UACTA,EAAK,UAAU,KACfA,EAAK,UAAU,EAAG,QAAOA;AAC7B,QAAI;AACF,aAAOC,EAAiBD,CAAI;AAAA,IAC9B,QAAc;AACZ,aAAOA;AAAA,IACT;AAAA;AACF;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The problem in Chrome is that when it detects special names in labels
|
|
3
|
+
* or titles or names or placeholders near a form field (rules changes)
|
|
4
|
+
* it proposes to autofill or autocomplete the form field, which is
|
|
5
|
+
* an heresy for ERP systems.
|
|
6
|
+
*
|
|
7
|
+
* This methods tends to obfuscate a label as a string so the browser doesn't
|
|
8
|
+
* recognise it.
|
|
9
|
+
*
|
|
10
|
+
* We try to do that preserving accessibility by introducing special invisible
|
|
11
|
+
* characters in the text at random places.
|
|
12
|
+
*
|
|
13
|
+
* @param str string to obfuscate
|
|
14
|
+
* @returns obfuscated string
|
|
15
|
+
*/
|
|
16
|
+
export declare function obfuscateLabel(str: string): string;
|
|
17
|
+
//# sourceMappingURL=obfuscatelabel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obfuscatelabel.d.ts","sourceRoot":"","sources":["../../../src/lib/commons/obfuscatelabel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAqBzC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
function r(a) {
|
|
2
|
+
const e = [
|
|
3
|
+
"",
|
|
4
|
+
// zero-width space
|
|
5
|
+
"",
|
|
6
|
+
// zero-width non-joiner
|
|
7
|
+
"",
|
|
8
|
+
// zero-width joiner
|
|
9
|
+
""
|
|
10
|
+
// word joiner
|
|
11
|
+
];
|
|
12
|
+
let t = "";
|
|
13
|
+
for (let o = 0; o < a.length; o++)
|
|
14
|
+
if (t += a[o], Math.random() < 0.5) {
|
|
15
|
+
const n = e[Math.floor(Math.random() * e.length)];
|
|
16
|
+
t += n;
|
|
17
|
+
}
|
|
18
|
+
return t;
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
r as obfuscateLabel
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=obfuscatelabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obfuscatelabel.js","sources":["../../../src/lib/commons/obfuscatelabel.ts"],"sourcesContent":["/**\n * The problem in Chrome is that when it detects special names in labels\n * or titles or names or placeholders near a form field (rules changes)\n * it proposes to autofill or autocomplete the form field, which is\n * an heresy for ERP systems.\n *\n * This methods tends to obfuscate a label as a string so the browser doesn't\n * recognise it.\n *\n * We try to do that preserving accessibility by introducing special invisible\n * characters in the text at random places.\n *\n * @param str string to obfuscate\n * @returns obfuscated string\n */\nexport function obfuscateLabel(str: string) {\n const obfuscators = [\n \"\\u200B\", // zero-width space\n \"\\u200C\", // zero-width non-joiner\n \"\\u200D\", // zero-width joiner\n \"\\u2060\", // word joiner\n ];\n\n let result = \"\";\n\n for (let i = 0; i < str.length; i++) {\n result += str[i];\n\n // 50 % de chance d'ajouter un obfuscateur après chaque caractère\n if (Math.random() < 0.5) {\n const char = obfuscators[Math.floor(Math.random() * obfuscators.length)];\n result += char;\n }\n }\n\n return result;\n}\n"],"names":["obfuscateLabel","str","obfuscators","result","i","char"],"mappings":"AAeO,SAASA,EAAeC,GAAa;AAC1C,QAAMC,IAAc;AAAA,IAClB;AAAA;AAAA,IACA;AAAA;AAAA,IACA;AAAA;AAAA,IACA;AAAA;AAAA,EAAA;AAGF,MAAIC,IAAS;AAEb,WAASC,IAAI,GAAGA,IAAIH,EAAI,QAAQG;AAI9B,QAHAD,KAAUF,EAAIG,CAAC,GAGX,KAAK,OAAA,IAAW,KAAK;AACvB,YAAMC,IAAOH,EAAY,KAAK,MAAM,KAAK,OAAA,IAAWA,EAAY,MAAM,CAAC;AACvE,MAAAC,KAAUE;AAAA,IACZ;AAGF,SAAOF;AACT;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { HTMLProps, ReactNode } from 'react';
|
|
2
|
+
export interface DataTableProps extends Pick<HTMLProps<HTMLTableElement>, "style" | "className"> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Data table with one of the application's styles.
|
|
7
|
+
* Handles cell formats for numbers, alignments, and compatibility with legacy CSS.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DataTable: (props: DataTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const DataTableHead: ({ children }: {
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const DataTableRow: ({ children }: {
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export type DataTableCellProps = Pick<HTMLProps<HTMLTableCellElement>, "children" | "className" | "colSpan"> & {
|
|
17
|
+
/**
|
|
18
|
+
* Cell variant.
|
|
19
|
+
* - "number": displays numbers (right-aligned)
|
|
20
|
+
* - "text": everything is left-aligned (including headers)
|
|
21
|
+
* - "auto": header is centered, cells are left-aligned
|
|
22
|
+
* - "title": header is centered, bold, with padding
|
|
23
|
+
* - "date": centered
|
|
24
|
+
* Otherwise, text is left-aligned
|
|
25
|
+
*/
|
|
26
|
+
variant?: "auto" | "text" | "number" | "date";
|
|
27
|
+
};
|
|
28
|
+
export declare const DataTableHeaderCell: ({ children, variant, ...otherProps }: DataTableCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const DataTableCell: ({ children, variant, ...otherProps }: DataTableCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare const DataTableBody: ({ children, ...otherProps }: Pick<HTMLProps<HTMLTableSectionElement>, "children" | "className">) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare const DataTableCaption: ({ children, ...otherProps }: Pick<HTMLProps<HTMLTableCaptionElement>, "children" | "className">) => import("react/jsx-runtime").JSX.Element | null;
|
|
32
|
+
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/lib/data_table/DataTable.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC9F,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,4CAO9C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAElE,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAEjE,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG;IAC7G;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C,CAAC;AASF,eAAO,MAAM,mBAAmB,GAAI,sCAAsC,kBAAkB,4CAQ3F,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,sCAAsC,kBAAkB,4CAQrF,CAAC;AACF,eAAO,MAAM,aAAa,GAAI,6BAG3B,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,4CAEpE,CAAC;AAOF,eAAO,MAAM,gBAAgB,GAAI,6BAG9B,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,mDAQpE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles as c, tokens as i, makeResetStyles as b, Table as d, TableHeader as m, TableRow as u, mergeClasses as o, TableHeaderCell as T, TableCell as y, TableBody as C, Caption1 as p } from "@fluentui/react-components";
|
|
3
|
+
const g = (e) => {
|
|
4
|
+
const { children: t, ...a } = e;
|
|
5
|
+
return /* @__PURE__ */ l(d, { size: "small", ...a, children: t });
|
|
6
|
+
}, h = ({ children: e }) => /* @__PURE__ */ l(m, { children: e }), S = ({ children: e }) => /* @__PURE__ */ l(u, { children: e }), r = c({
|
|
7
|
+
headerCell: { fontWeight: i.fontWeightBold },
|
|
8
|
+
auto: {},
|
|
9
|
+
text: {},
|
|
10
|
+
number: { textAlign: "right", whiteSpace: "nowrap", "> div": { justifyContent: "flex-end" } },
|
|
11
|
+
date: { textAlign: "right", whiteSpace: "nowrap", "> div": { justifyContent: "flex-end" } }
|
|
12
|
+
}), w = ({ children: e, variant: t, ...a }) => {
|
|
13
|
+
const s = r(), n = o(s[t || "text"], s.headerCell, a.className);
|
|
14
|
+
return /* @__PURE__ */ l(T, { ...a, className: n, children: e });
|
|
15
|
+
}, N = ({ children: e, variant: t, ...a }) => {
|
|
16
|
+
const s = r(), n = o(s[t || "text"], a.className);
|
|
17
|
+
return /* @__PURE__ */ l(y, { ...a, className: n, children: e });
|
|
18
|
+
}, H = ({
|
|
19
|
+
children: e,
|
|
20
|
+
...t
|
|
21
|
+
}) => /* @__PURE__ */ l(C, { ...t, children: e }), f = b({
|
|
22
|
+
captionSide: "bottom",
|
|
23
|
+
textAlign: "left"
|
|
24
|
+
}), j = ({
|
|
25
|
+
children: e,
|
|
26
|
+
...t
|
|
27
|
+
}) => {
|
|
28
|
+
const a = o(f(), t.className);
|
|
29
|
+
return e ? /* @__PURE__ */ l("caption", { className: a, children: /* @__PURE__ */ l(p, { children: e }) }) : null;
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
g as DataTable,
|
|
33
|
+
H as DataTableBody,
|
|
34
|
+
j as DataTableCaption,
|
|
35
|
+
N as DataTableCell,
|
|
36
|
+
h as DataTableHead,
|
|
37
|
+
w as DataTableHeaderCell,
|
|
38
|
+
S as DataTableRow
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=DataTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.js","sources":["../../../src/lib/data_table/DataTable.tsx"],"sourcesContent":["import {\n Caption1,\n makeResetStyles,\n makeStyles,\n mergeClasses,\n Table,\n TableBody,\n TableCell,\n TableHeader,\n TableHeaderCell,\n TableRow,\n tokens,\n} from \"@fluentui/react-components\";\nimport { HTMLProps, ReactNode } from \"react\";\n\nexport interface DataTableProps extends Pick<HTMLProps<HTMLTableElement>, \"style\" | \"className\"> {\n children: ReactNode;\n}\n\n/**\n * Data table with one of the application's styles.\n * Handles cell formats for numbers, alignments, and compatibility with legacy CSS.\n */\nexport const DataTable = (props: DataTableProps) => {\n const { children, ...otherProps } = props;\n return (\n <Table size=\"small\" {...otherProps}>\n {children}\n </Table>\n );\n};\n\nexport const DataTableHead = ({ children }: { children: ReactNode }) => {\n return <TableHeader>{children}</TableHeader>;\n};\nexport const DataTableRow = ({ children }: { children: ReactNode }) => {\n return <TableRow>{children}</TableRow>;\n};\nexport type DataTableCellProps = Pick<HTMLProps<HTMLTableCellElement>, \"children\" | \"className\" | \"colSpan\"> & {\n /**\n * Cell variant.\n * - \"number\": displays numbers (right-aligned)\n * - \"text\": everything is left-aligned (including headers)\n * - \"auto\": header is centered, cells are left-aligned\n * - \"title\": header is centered, bold, with padding\n * - \"date\": centered\n * Otherwise, text is left-aligned\n */\n variant?: \"auto\" | \"text\" | \"number\" | \"date\";\n};\nconst useDataTableCellStyles = makeStyles({\n headerCell: { fontWeight: tokens.fontWeightBold },\n auto: {},\n text: {},\n number: { textAlign: \"right\", whiteSpace: \"nowrap\", \"> div\": { justifyContent: \"flex-end\" } },\n date: { textAlign: \"right\", whiteSpace: \"nowrap\", \"> div\": { justifyContent: \"flex-end\" } },\n});\n\nexport const DataTableHeaderCell = ({ children, variant, ...otherProps }: DataTableCellProps) => {\n const styles = useDataTableCellStyles();\n const styleVariant = mergeClasses(styles[variant || \"text\"], styles.headerCell, otherProps.className);\n return (\n <TableHeaderCell {...otherProps} className={styleVariant}>\n {children}\n </TableHeaderCell>\n );\n};\n\nexport const DataTableCell = ({ children, variant, ...otherProps }: DataTableCellProps) => {\n const styles = useDataTableCellStyles();\n const styleVariant = mergeClasses(styles[variant || \"text\"], otherProps.className);\n return (\n <TableCell {...otherProps} className={styleVariant}>\n {children}\n </TableCell>\n );\n};\nexport const DataTableBody = ({\n children,\n ...otherProps\n}: Pick<HTMLProps<HTMLTableSectionElement>, \"children\" | \"className\">) => {\n return <TableBody {...otherProps}>{children}</TableBody>;\n};\n\nconst useDataTableCaptionStyles = makeResetStyles({\n captionSide: \"bottom\",\n textAlign: \"left\",\n});\n\nexport const DataTableCaption = ({\n children,\n ...otherProps\n}: Pick<HTMLProps<HTMLTableCaptionElement>, \"children\" | \"className\">) => {\n const styles = mergeClasses(useDataTableCaptionStyles(), otherProps.className);\n if (!children) return null;\n return (\n <caption className={styles}>\n <Caption1>{children}</Caption1>\n </caption>\n );\n};\n"],"names":["DataTable","props","children","otherProps","Table","DataTableHead","jsx","TableHeader","DataTableRow","TableRow","useDataTableCellStyles","makeStyles","tokens","DataTableHeaderCell","variant","styles","styleVariant","mergeClasses","TableHeaderCell","DataTableCell","TableCell","DataTableBody","TableBody","useDataTableCaptionStyles","makeResetStyles","DataTableCaption","Caption1"],"mappings":";;AAuBO,MAAMA,IAAY,CAACC,MAA0B;AAClD,QAAM,EAAE,UAAAC,GAAU,GAAGC,EAAA,IAAeF;AACpC,2BACGG,GAAA,EAAM,MAAK,SAAS,GAAGD,GACrB,UAAAD,GACH;AAEJ,GAEaG,IAAgB,CAAC,EAAE,UAAAH,QACvB,gBAAAI,EAACC,KAAa,UAAAL,GAAS,GAEnBM,IAAe,CAAC,EAAE,UAAAN,QACtB,gBAAAI,EAACG,KAAU,UAAAP,GAAS,GAcvBQ,IAAyBC,EAAW;AAAA,EACxC,YAAY,EAAE,YAAYC,EAAO,eAAA;AAAA,EACjC,MAAM,CAAA;AAAA,EACN,MAAM,CAAA;AAAA,EACN,QAAQ,EAAE,WAAW,SAAS,YAAY,UAAU,SAAS,EAAE,gBAAgB,aAAW;AAAA,EAC1F,MAAM,EAAE,WAAW,SAAS,YAAY,UAAU,SAAS,EAAE,gBAAgB,WAAA,EAAW;AAC1F,CAAC,GAEYC,IAAsB,CAAC,EAAE,UAAAX,GAAU,SAAAY,GAAS,GAAGX,QAAqC;AAC/F,QAAMY,IAASL,EAAA,GACTM,IAAeC,EAAaF,EAAOD,KAAW,MAAM,GAAGC,EAAO,YAAYZ,EAAW,SAAS;AACpG,2BACGe,GAAA,EAAiB,GAAGf,GAAY,WAAWa,GACzC,UAAAd,GACH;AAEJ,GAEaiB,IAAgB,CAAC,EAAE,UAAAjB,GAAU,SAAAY,GAAS,GAAGX,QAAqC;AACzF,QAAMY,IAASL,EAAA,GACTM,IAAeC,EAAaF,EAAOD,KAAW,MAAM,GAAGX,EAAW,SAAS;AACjF,2BACGiB,GAAA,EAAW,GAAGjB,GAAY,WAAWa,GACnC,UAAAd,GACH;AAEJ,GACamB,IAAgB,CAAC;AAAA,EAC5B,UAAAnB;AAAA,EACA,GAAGC;AACL,MACS,gBAAAG,EAACgB,GAAA,EAAW,GAAGnB,GAAa,UAAAD,EAAA,CAAS,GAGxCqB,IAA4BC,EAAgB;AAAA,EAChD,aAAa;AAAA,EACb,WAAW;AACb,CAAC,GAEYC,IAAmB,CAAC;AAAA,EAC/B,UAAAvB;AAAA,EACA,GAAGC;AACL,MAA0E;AACxE,QAAMY,IAASE,EAAaM,EAAA,GAA6BpB,EAAW,SAAS;AAC7E,SAAKD,sBAEF,WAAA,EAAQ,WAAWa,GAClB,UAAA,gBAAAT,EAACoB,GAAA,EAAU,UAAAxB,GAAS,EAAA,CACtB,IAJoB;AAMxB;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type DataTableDynamicColumn<T> = {
|
|
3
|
+
code: string;
|
|
4
|
+
label: string;
|
|
5
|
+
render: (row: T) => ReactNode;
|
|
6
|
+
style?: React.CSSProperties | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare function DataTableDynamic<T>({ columns, data, idExtractor, onClickRow, }: {
|
|
9
|
+
columns: DataTableDynamicColumn<T>[];
|
|
10
|
+
data: T[];
|
|
11
|
+
idExtractor?: (row: T) => string;
|
|
12
|
+
onClickRow?: (row: T) => void;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=DataTableDynamic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableDynamic.d.ts","sourceRoot":"","sources":["../../../src/lib/datatabledynamic/DataTableDynamic.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAClC,OAAO,EACP,IAAI,EACJ,WAA+D,EAC/D,UAEC,GACF,EAAE;IACD,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;CAC/B,2CAyBA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs as s, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { Table as h, TableHeader as m, TableRow as i, TableHeaderCell as b, TableBody as T, TableCell as c } from "@fluentui/react-components";
|
|
3
|
+
function y({
|
|
4
|
+
columns: r,
|
|
5
|
+
data: n,
|
|
6
|
+
idExtractor: t = (e) => e.id ?? "",
|
|
7
|
+
onClickRow: d = (e) => {
|
|
8
|
+
}
|
|
9
|
+
}) {
|
|
10
|
+
return /* @__PURE__ */ s(h, { size: "small", "min-width": 700, children: [
|
|
11
|
+
/* @__PURE__ */ l(m, { children: /* @__PURE__ */ l(i, { children: r.map((e) => /* @__PURE__ */ l(b, { as: "th", style: e.style, children: e.label }, e.code)) }) }),
|
|
12
|
+
/* @__PURE__ */ l(T, { children: n.map((e) => /* @__PURE__ */ l(i, { onClick: d ? () => d(e) : void 0, children: r.map((a) => /* @__PURE__ */ l(c, { as: "td", style: a.style, children: a.render(e) }, a.code)) }, t(e))) })
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
y as DataTableDynamic
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=DataTableDynamic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableDynamic.js","sources":["../../../src/lib/datatabledynamic/DataTableDynamic.tsx"],"sourcesContent":["import { Table, TableBody, TableCell, TableHeader, TableHeaderCell, TableRow } from \"@fluentui/react-components\";\nimport { ReactNode } from \"react\";\n\nexport type DataTableDynamicColumn<T> = {\n code: string;\n label: string;\n render: (row: T) => ReactNode;\n style?: React.CSSProperties | undefined;\n};\n\nexport function DataTableDynamic<T>({\n columns,\n data,\n idExtractor = (row) => (row as Record<string, any>)[\"id\"] ?? \"\",\n onClickRow = (row: T) => {\n /* no-op by default */\n },\n}: {\n columns: DataTableDynamicColumn<T>[];\n data: T[];\n idExtractor?: (row: T) => string;\n onClickRow?: (row: T) => void;\n}) {\n return (\n <Table size=\"small\" min-width={700}>\n <TableHeader>\n <TableRow>\n {columns.map((col) => (\n <TableHeaderCell key={col.code} as=\"th\" style={col.style}>\n {col.label}\n </TableHeaderCell>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {data.map((it) => (\n <TableRow key={idExtractor(it)} onClick={onClickRow ? () => onClickRow(it) : undefined}>\n {columns.map((col) => (\n <TableCell as=\"td\" key={col.code} style={col.style}>\n {col.render(it)}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n}\n"],"names":["DataTableDynamic","columns","data","idExtractor","row","onClickRow","jsxs","Table","jsx","TableHeader","TableRow","col","TableHeaderCell","TableBody","it","TableCell"],"mappings":";;AAUO,SAASA,EAAoB;AAAA,EAClC,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC,IAAc,CAACC,MAASA,EAA4B,MAAS;AAAA,EAC7D,YAAAC,IAAa,CAACD,MAAW;AAAA,EAEzB;AACF,GAKG;AACD,SACE,gBAAAE,EAACC,GAAA,EAAM,MAAK,SAAQ,aAAW,KAC7B,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,4BAACC,GAAA,EACE,UAAAT,EAAQ,IAAI,CAACU,wBACXC,GAAA,EAA+B,IAAG,MAAK,OAAOD,EAAI,OAChD,UAAAA,EAAI,MAAA,GADeA,EAAI,IAE1B,CACD,GACH,EAAA,CACF;AAAA,sBACCE,GAAA,EACE,UAAAX,EAAK,IAAI,CAACY,MACT,gBAAAN,EAACE,GAAA,EAA+B,SAASL,IAAa,MAAMA,EAAWS,CAAE,IAAI,QAC1E,UAAAb,EAAQ,IAAI,CAACU,MACZ,gBAAAH,EAACO,GAAA,EAAU,IAAG,MAAoB,OAAOJ,EAAI,OAC1C,YAAI,OAAOG,CAAE,EAAA,GADQH,EAAI,IAE5B,CACD,EAAA,GALYR,EAAYW,CAAE,CAM7B,CACD,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviseContext.d.ts","sourceRoot":"","sources":["../../../src/lib/devise/DeviseContext.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,iCAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviseContext.js","sources":["../../../src/lib/devise/DeviseContext.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const DeviseContext = createContext<string>(\"€\");\n"],"names":["DeviseContext","createContext"],"mappings":";AAEO,MAAMA,IAAgBC,EAAsB,GAAG;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Problem } from '../../../../common-types/src/index.ts';
|
|
2
|
+
export declare function ErrorManager(): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const useErrorNotifier: () => {
|
|
4
|
+
errorNotifier: (error: Problem | null | undefined) => void;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=ErrorNotifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorNotifier.d.ts","sourceRoot":"","sources":["../../../src/lib/error_notifier/ErrorNotifier.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAa7C,wBAAgB,YAAY,4CAE3B;AAED,eAAO,MAAM,gBAAgB;2BAEO,OAAO,GAAG,IAAI,GAAG,SAAS;CAmB7D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { Toaster as n, useToastController as a, Toast as s, ToastTitle as c, ToastTrigger as p, Link as u, ToastBody as d } from "@fluentui/react-components";
|
|
3
|
+
const o = "toaster-error-manager";
|
|
4
|
+
function h() {
|
|
5
|
+
return /* @__PURE__ */ r(n, { toasterId: o, position: "top", pauseOnWindowBlur: !0, pauseOnHover: !0 });
|
|
6
|
+
}
|
|
7
|
+
const m = () => {
|
|
8
|
+
const { dispatchToast: e } = a(o);
|
|
9
|
+
return { errorNotifier: (t) => {
|
|
10
|
+
t && e(
|
|
11
|
+
/* @__PURE__ */ i(s, { appearance: "inverted", children: [
|
|
12
|
+
/* @__PURE__ */ r(
|
|
13
|
+
c,
|
|
14
|
+
{
|
|
15
|
+
action: /* @__PURE__ */ r(p, { children: /* @__PURE__ */ r(u, { children: "OK" }) }),
|
|
16
|
+
children: t.title
|
|
17
|
+
}
|
|
18
|
+
),
|
|
19
|
+
/* @__PURE__ */ r(d, { children: t.detail })
|
|
20
|
+
] }),
|
|
21
|
+
{ intent: "error", timeout: 6e4, position: "top" }
|
|
22
|
+
);
|
|
23
|
+
} };
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
h as ErrorManager,
|
|
27
|
+
m as useErrorNotifier
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=ErrorNotifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorNotifier.js","sources":["../../../src/lib/error_notifier/ErrorNotifier.tsx"],"sourcesContent":["import { Problem } from \"@seij/common-types\";\nimport {\n Link,\n Toast,\n ToastBody,\n Toaster,\n ToastTitle,\n ToastTrigger,\n useToastController,\n} from \"@fluentui/react-components\";\n\nconst toasterId = \"toaster-error-manager\";\n\nexport function ErrorManager() {\n return <Toaster toasterId={toasterId} position=\"top\" pauseOnWindowBlur={true} pauseOnHover={true} />;\n}\n\nexport const useErrorNotifier = () => {\n const { dispatchToast } = useToastController(toasterId);\n const errorNotification = (error: Problem | null | undefined) => {\n if (!error) return;\n dispatchToast(\n <Toast appearance=\"inverted\">\n <ToastTitle\n action={\n <ToastTrigger>\n <Link>OK</Link>\n </ToastTrigger>\n }\n >\n {error.title}\n </ToastTitle>\n <ToastBody>{error.detail}</ToastBody>\n </Toast>,\n { intent: \"error\", timeout: 60_000, position: \"top\" },\n );\n };\n return { errorNotifier: errorNotification };\n};\n"],"names":["toasterId","ErrorManager","jsx","Toaster","useErrorNotifier","dispatchToast","useToastController","error","jsxs","Toast","ToastTitle","ToastTrigger","Link","ToastBody"],"mappings":";;AAWA,MAAMA,IAAY;AAEX,SAASC,IAAe;AAC7B,SAAO,gBAAAC,EAACC,KAAQ,WAAAH,GAAsB,UAAS,OAAM,mBAAmB,IAAM,cAAc,IAAM;AACpG;AAEO,MAAMI,IAAmB,MAAM;AACpC,QAAM,EAAE,eAAAC,EAAA,IAAkBC,EAAmBN,CAAS;AAmBtD,SAAO,EAAE,eAlBiB,CAACO,MAAsC;AAC/D,IAAKA,KACLF;AAAA,MACE,gBAAAG,EAACC,GAAA,EAAM,YAAW,YAChB,UAAA;AAAA,QAAA,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,QACE,gBAAAR,EAACS,GAAA,EACC,UAAA,gBAAAT,EAACU,GAAA,EAAK,gBAAE,GACV;AAAA,YAGD,UAAAL,EAAM;AAAA,UAAA;AAAA,QAAA;AAAA,QAET,gBAAAL,EAACW,GAAA,EAAW,UAAAN,EAAM,OAAA,CAAO;AAAA,MAAA,GAC3B;AAAA,MACA,EAAE,QAAQ,SAAS,SAAS,KAAQ,UAAU,MAAA;AAAA,IAAM;AAAA,EAExD,EACwB;AAC1B;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Problem } from '../../../../common-types/src/index.ts';
|
|
2
|
+
export declare const ErrorBox: ({ error, onClose }: {
|
|
3
|
+
error: Problem | null | undefined;
|
|
4
|
+
onClose?: () => void;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
//# sourceMappingURL=ErrorBox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBox.d.ts","sourceRoot":"","sources":["../../../src/lib/errorbox/ErrorBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAM7C,eAAO,MAAM,QAAQ,GAAI,oBAAoB;IAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,mDAqBvG,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as e, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { MessageBar as s, MessageBarBody as a, MessageBarActions as l, Button as u } from "@fluentui/react-components";
|
|
3
|
+
import { DismissRegular as c } from "@fluentui/react-icons";
|
|
4
|
+
import { isNil as m } from "lodash-es";
|
|
5
|
+
import { useI18n as p } from "../i18n/i18n.react.js";
|
|
6
|
+
const _ = ({ error: r, onClose: n }) => {
|
|
7
|
+
const { t: o } = p();
|
|
8
|
+
if (!r) return null;
|
|
9
|
+
const i = r.title ?? o("errorbox_unknown_error", { error: r.status ? "" + r.status : o("errorbox_unknown_error_status") });
|
|
10
|
+
return /* @__PURE__ */ e(s, { intent: "error", layout: "multiline", children: [
|
|
11
|
+
/* @__PURE__ */ e(a, { children: [
|
|
12
|
+
/* @__PURE__ */ t("div", { children: i }),
|
|
13
|
+
/* @__PURE__ */ t("div", { children: r.detail })
|
|
14
|
+
] }),
|
|
15
|
+
!m(n) && /* @__PURE__ */ t(
|
|
16
|
+
l,
|
|
17
|
+
{
|
|
18
|
+
containerAction: /* @__PURE__ */ t(u, { appearance: "transparent", icon: /* @__PURE__ */ t(c, {}), onClick: n })
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
] });
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
_ as ErrorBox
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=ErrorBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBox.js","sources":["../../../src/lib/errorbox/ErrorBox.tsx"],"sourcesContent":["import { Problem } from \"@seij/common-types\";\nimport { Button, MessageBar, MessageBarActions, MessageBarBody } from \"@fluentui/react-components\";\nimport { DismissRegular } from \"@fluentui/react-icons\";\nimport { isNil } from \"lodash-es\";\nimport { useI18n } from \"../i18n/i18n.react\";\n\nexport const ErrorBox = ({ error, onClose }: { error: Problem | null | undefined; onClose?: () => void }) => {\n const { t } = useI18n();\n\n if (!error) return null;\n const regularMessage =\n error.title ??\n t(\"errorbox_unknown_error\", { error: error.status ? \"\" + error.status : t(\"errorbox_unknown_error_status\") });\n\n return (\n <MessageBar intent=\"error\" layout=\"multiline\">\n <MessageBarBody>\n <div>{regularMessage}</div>\n <div>{error.detail}</div>\n </MessageBarBody>\n {!isNil(onClose) && (\n <MessageBarActions\n containerAction={<Button appearance=\"transparent\" icon={<DismissRegular />} onClick={onClose} />}\n ></MessageBarActions>\n )}\n </MessageBar>\n );\n};\n"],"names":["ErrorBox","error","onClose","t","useI18n","regularMessage","jsxs","MessageBar","MessageBarBody","jsx","isNil","MessageBarActions","Button","DismissRegular"],"mappings":";;;;;AAMO,MAAMA,IAAW,CAAC,EAAE,OAAAC,GAAO,SAAAC,QAA2E;AAC3G,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA;AAEd,MAAI,CAACH,EAAO,QAAO;AACnB,QAAMI,IACJJ,EAAM,SACNE,EAAE,0BAA0B,EAAE,OAAOF,EAAM,SAAS,KAAKA,EAAM,SAASE,EAAE,+BAA+B,GAAG;AAE9G,SACE,gBAAAG,EAACC,GAAA,EAAW,QAAO,SAAQ,QAAO,aAChC,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAK,UAAAJ,EAAA,CAAe;AAAA,MACrB,gBAAAI,EAAC,OAAA,EAAK,UAAAR,EAAM,OAAA,CAAO;AAAA,IAAA,GACrB;AAAA,IACC,CAACS,EAAMR,CAAO,KACb,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,iBAAiB,gBAAAF,EAACG,GAAA,EAAO,YAAW,eAAc,MAAM,gBAAAH,EAACI,GAAA,CAAA,CAAe,GAAI,SAASX,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/F,GAEL;AAEJ;"}
|