@edifice.io/react 2.6.6-develop.20260923152855 → 2.6.7-develop-b2school.20260928143952
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/dist/components/Alert/Alert.js +47 -23
- package/dist/components/Form/FormText.js +11 -6
- package/dist/components/Input/Input.d.ts +11 -2
- package/dist/components/Input/Input.js +43 -21
- package/dist/components/Label/Label.js +4 -4
- package/dist/components/Layout/Layout.js +30 -15
- package/dist/components/LinkPill/LinkPill.d.ts +41 -0
- package/dist/components/LinkPill/LinkPill.js +28 -0
- package/dist/components/LinkPill/index.d.ts +2 -0
- package/dist/components/ModalBeta/ModalBeta.d.ts +47 -0
- package/dist/components/ModalBeta/ModalBeta.js +62 -0
- package/dist/components/ModalBeta/ModalBetaBody.d.ts +19 -0
- package/dist/components/ModalBeta/ModalBetaBody.js +15 -0
- package/dist/components/ModalBeta/ModalBetaContext.d.ts +7 -0
- package/dist/components/ModalBeta/ModalBetaContext.js +15 -0
- package/dist/components/ModalBeta/ModalBetaFooter.d.ts +13 -0
- package/dist/components/ModalBeta/ModalBetaFooter.js +7 -0
- package/dist/components/ModalBeta/ModalBetaHeader.d.ts +23 -0
- package/dist/components/ModalBeta/ModalBetaHeader.js +31 -0
- package/dist/components/ModalBeta/index.d.ts +2 -0
- package/dist/components/PageLayout/PageLayout.d.ts +4 -0
- package/dist/components/PageLayout/PageLayout.js +37 -14
- package/dist/components/PageLayout/components/PageLayoutContent.js +5 -1
- package/dist/components/PageLayout/components/PageLayoutHelpZone.d.ts +12 -0
- package/dist/components/PageLayout/components/PageLayoutHelpZone.js +6 -0
- package/dist/components/Table/components/Table.d.ts +2 -2
- package/dist/components/Table/components/TableTd.d.ts +1 -1
- package/dist/components/Table/components/TableTh.d.ts +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/homepage.js +16 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useBackground/index.d.ts +1 -0
- package/dist/hooks/useBackground/useBackground.d.ts +7 -0
- package/dist/hooks/useBackground/useBackground.js +16 -0
- package/dist/hooks/useClickOutside/useClickOutside.d.ts +1 -1
- package/dist/hooks/useClickOutside/useClickOutside.js +3 -2
- package/dist/hooks/useToast/useToast.d.ts +1 -0
- package/dist/hooks/useToast/useToast.js +12 -9
- package/dist/hooks/useUserPreferences/index.d.ts +1 -0
- package/dist/hooks/useUserPreferences/useUserPreferences.d.ts +9 -0
- package/dist/hooks/useUserPreferences/useUserPreferences.js +40 -0
- package/dist/hooks/useZendeskGuide/useZendeskGuide.d.ts +16 -2
- package/dist/hooks/useZendeskGuide/useZendeskGuide.js +58 -24
- package/dist/icons.js +404 -402
- package/dist/index.js +168 -160
- package/dist/modules/HelpZone/HelpZone.d.ts +13 -0
- package/dist/modules/HelpZone/HelpZone.js +52 -0
- package/dist/modules/HelpZone/HelpZoneContainer.d.ts +4 -0
- package/dist/modules/HelpZone/HelpZoneContainer.js +18 -0
- package/dist/modules/HelpZone/index.d.ts +3 -0
- package/dist/modules/homepage/components/Favorites/Favorites.js +2 -2
- package/dist/modules/homepage/components/Header/Header.js +11 -4
- package/dist/modules/homepage/components/HomeCard/HomeCard.d.ts +1 -1
- package/dist/modules/homepage/components/HomeCard/HomeCardHeader.d.ts +15 -1
- package/dist/modules/homepage/components/HomeCard/HomeCardHeader.js +2 -1
- package/dist/modules/homepage/components/Notifications/components/NotificationFilterModal.js +36 -26
- package/dist/modules/homepage/components/Notifications/components/ReportNotificationModal.js +1 -1
- package/dist/modules/homepage/components/Notifications/services/queries/notification.js +9 -2
- package/dist/modules/homepage/components/UsefulLinks/LinkForm.d.ts +13 -0
- package/dist/modules/homepage/components/UsefulLinks/LinkForm.js +67 -0
- package/dist/modules/homepage/components/UsefulLinks/UsefulLinks.d.ts +6 -0
- package/dist/modules/homepage/components/UsefulLinks/UsefulLinks.js +31 -0
- package/dist/modules/homepage/components/UsefulLinks/UsefulLinksContainer.d.ts +1 -0
- package/dist/modules/homepage/components/UsefulLinks/UsefulLinksContainer.js +40 -0
- package/dist/modules/homepage/components/UsefulLinks/UsefulLinksModal.d.ts +11 -0
- package/dist/modules/homepage/components/UsefulLinks/UsefulLinksModal.js +65 -0
- package/dist/modules/homepage/components/UsefulLinks/hooks/useUsefulLinksContainer.d.ts +19 -0
- package/dist/modules/homepage/components/UsefulLinks/hooks/useUsefulLinksContainer.js +26 -0
- package/dist/modules/homepage/components/UsefulLinks/index.d.ts +5 -0
- package/dist/modules/homepage/components/UsefulLinks/services/api/index.d.ts +6 -0
- package/dist/modules/homepage/components/UsefulLinks/services/api/index.js +5 -0
- package/dist/modules/homepage/components/UsefulLinks/services/api/usefulLinksService.d.ts +31 -0
- package/dist/modules/homepage/components/UsefulLinks/services/api/usefulLinksService.js +50 -0
- package/dist/modules/homepage/components/UsefulLinks/services/queries/usefulLinks.d.ts +20 -0
- package/dist/modules/homepage/components/UsefulLinks/services/queries/usefulLinks.js +65 -0
- package/dist/modules/homepage/components/UserSpace/UserSpace.d.ts +3 -1
- package/dist/modules/homepage/components/UserSpace/UserSpace.js +13 -7
- package/dist/modules/homepage/components/UserSpace/UserSpaceContainer.d.ts +4 -2
- package/dist/modules/homepage/components/UserSpace/UserSpaceContainer.js +3 -2
- package/dist/modules/homepage/components/UserSpace/hooks/useProfileLinks.js +18 -8
- package/dist/modules/homepage/components/WidgetsPersonalizationPanel/WidgetToggle.d.ts +16 -0
- package/dist/modules/homepage/components/WidgetsPersonalizationPanel/WidgetToggle.js +15 -0
- package/dist/modules/homepage/components/WidgetsPersonalizationPanel/WidgetsPersonalizationPanel.d.ts +21 -0
- package/dist/modules/homepage/components/WidgetsPersonalizationPanel/WidgetsPersonalizationPanel.js +47 -0
- package/dist/modules/homepage/components/WidgetsPersonalizationPanel/index.d.ts +2 -0
- package/dist/modules/homepage/components/index.d.ts +3 -1
- package/dist/modules/icons/components/IconAddWidget.d.ts +7 -0
- package/dist/modules/icons/components/IconAddWidget.js +12 -0
- package/dist/modules/icons/components/index.d.ts +1 -0
- package/dist/modules/icons/components/logo/IconLogoEdificeFull.d.ts +7 -0
- package/dist/modules/icons/components/logo/IconLogoEdificeFull.js +26 -0
- package/dist/modules/icons/components/logo/IconLogoEdificeSmall.d.ts +7 -0
- package/dist/modules/icons/components/logo/IconLogoEdificeSmall.js +17 -0
- package/dist/modules/icons/components/logo/index.d.ts +2 -0
- package/dist/modules/widgets/index.d.ts +1 -1
- package/package.json +6 -6
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation } from "react-i18next";
|
|
3
|
+
import SvgIconAddWidget from "../../../icons/components/IconAddWidget.js";
|
|
3
4
|
import SvgIconClass from "../../../icons/components/IconClass.js";
|
|
4
5
|
import { useProfileLinks } from "./hooks/useProfileLinks.js";
|
|
5
6
|
import HomeCard from "../HomeCard/HomeCard.js";
|
|
6
7
|
import Flex from "../../../../components/Flex/Flex.js";
|
|
7
8
|
import Avatar from "../../../../components/Avatar/Avatar.js";
|
|
9
|
+
import IconButton from "../../../../components/Button/IconButton.js";
|
|
8
10
|
import ButtonBeta from "../../../../components/ButtonBeta/ButtonBeta.js";
|
|
9
11
|
function UserSpace({
|
|
10
12
|
name,
|
|
11
13
|
avatar,
|
|
12
14
|
profile,
|
|
13
|
-
children
|
|
15
|
+
children,
|
|
16
|
+
onCustomizeWidgetsClick
|
|
14
17
|
}) {
|
|
15
18
|
const {
|
|
16
19
|
t
|
|
17
20
|
} = useTranslation(), links = useProfileLinks(profile);
|
|
18
21
|
return /* @__PURE__ */ jsxs(HomeCard, { variant: "user", footer: !!links && /* @__PURE__ */ jsx(Flex, { children: links.map((link, index) => /* @__PURE__ */ jsx(ButtonBeta, { size: "sm", variant: "ghost", leftIcon: /* @__PURE__ */ jsx(SvgIconClass, {}), onClick: () => window.location.href = link.url, children: link.text }, `${link.url}-${index}`)) }), children: [
|
|
19
|
-
/* @__PURE__ */ jsxs(Flex, { className: "user-space", direction: "row", gap: "8", children: [
|
|
20
|
-
/* @__PURE__ */
|
|
21
|
-
|
|
22
|
-
/* @__PURE__ */
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
/* @__PURE__ */ jsxs(Flex, { className: "user-space", direction: "row", justify: "between", gap: "8", children: [
|
|
23
|
+
/* @__PURE__ */ jsxs(Flex, { direction: "row", gap: "8", children: [
|
|
24
|
+
/* @__PURE__ */ jsx(Avatar, { className: "user-space--avatar", size: "auto", alt: name, src: avatar, variant: "circle" }),
|
|
25
|
+
/* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
|
|
26
|
+
/* @__PURE__ */ jsx("div", { "data-testid": "user-space-name", className: "user-space--name", children: name }),
|
|
27
|
+
/* @__PURE__ */ jsx("div", { "data-testid": "user-space-profile", className: "user-space--profile", children: t(profile) })
|
|
28
|
+
] })
|
|
29
|
+
] }),
|
|
30
|
+
onCustomizeWidgetsClick && /* @__PURE__ */ jsx(IconButton, { className: "user-space--customize-widgets", icon: /* @__PURE__ */ jsx(SvgIconAddWidget, {}), variant: "ghost", color: "tertiary", "aria-label": t("homepage.userSpace.customizeWidgets", "Personnaliser mes widgets"), onClick: onCustomizeWidgetsClick })
|
|
25
31
|
] }),
|
|
26
32
|
children && /* @__PURE__ */ jsx(HomeCard.Content, { children })
|
|
27
33
|
] });
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
export
|
|
2
|
+
export interface UserSpaceContainerProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
|
-
|
|
4
|
+
onCustomizeWidgetsClick?: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function UserSpaceContainer({ children, onCustomizeWidgetsClick, }: UserSpaceContainerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
5
7
|
export declare namespace UserSpaceContainer {
|
|
6
8
|
var displayName: string;
|
|
7
9
|
}
|
|
@@ -2,7 +2,8 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import UserSpace from "./UserSpace.js";
|
|
3
3
|
import useUser from "../../../../hooks/useUser/useUser.js";
|
|
4
4
|
function UserSpaceContainer({
|
|
5
|
-
children
|
|
5
|
+
children,
|
|
6
|
+
onCustomizeWidgetsClick
|
|
6
7
|
}) {
|
|
7
8
|
var _a;
|
|
8
9
|
const {
|
|
@@ -12,7 +13,7 @@ function UserSpaceContainer({
|
|
|
12
13
|
} = useUser();
|
|
13
14
|
if (!user || !userDescription) return null;
|
|
14
15
|
const name = user.username || "", profile = ((_a = userDescription.profiles) == null ? void 0 : _a[0]) || "Guest";
|
|
15
|
-
return /* @__PURE__ */ jsx(UserSpace, { name, profile, avatar, children });
|
|
16
|
+
return /* @__PURE__ */ jsx(UserSpace, { name, profile, avatar, onCustomizeWidgetsClick, children });
|
|
16
17
|
}
|
|
17
18
|
export {
|
|
18
19
|
UserSpaceContainer
|
|
@@ -17,18 +17,20 @@ function useProfileLinks(profile) {
|
|
|
17
17
|
structure: structureId
|
|
18
18
|
});
|
|
19
19
|
return `${baseUrl}?${params.toString()}`;
|
|
20
|
-
}, buildClassesUrl = (classIds = []) => {
|
|
21
|
-
const params = new URLSearchParams(
|
|
22
|
-
filters: "groups",
|
|
23
|
-
structure: structureId
|
|
24
|
-
});
|
|
20
|
+
}, buildClassesUrl = (parameters, classIds = []) => {
|
|
21
|
+
const params = new URLSearchParams(parameters);
|
|
25
22
|
return classIds.forEach((c) => params.append("class", String(c))), `${baseUrl}?${params.toString()}`;
|
|
26
23
|
};
|
|
27
24
|
switch (profile) {
|
|
28
25
|
case "Teacher":
|
|
29
26
|
return [{
|
|
30
27
|
text: t("homepage.userspace.teacher.link.classes"),
|
|
31
|
-
url: buildClassesUrl(
|
|
28
|
+
url: buildClassesUrl(
|
|
29
|
+
{
|
|
30
|
+
filters: "groups"
|
|
31
|
+
}
|
|
32
|
+
/* Do not explicitely add classes ids, because none <=> see all*/
|
|
33
|
+
)
|
|
32
34
|
}];
|
|
33
35
|
case "Student":
|
|
34
36
|
return [{
|
|
@@ -36,7 +38,12 @@ function useProfileLinks(profile) {
|
|
|
36
38
|
url: "/userbook/annuaire#/search?filters=groups&profile=Teacher"
|
|
37
39
|
}, {
|
|
38
40
|
text: t("homepage.userspace.student.link.classes"),
|
|
39
|
-
url: buildClassesUrl(
|
|
41
|
+
url: buildClassesUrl(
|
|
42
|
+
{
|
|
43
|
+
filters: "groups"
|
|
44
|
+
}
|
|
45
|
+
/* Do not explicitely add classes ids, because none <=> see all*/
|
|
46
|
+
)
|
|
40
47
|
}];
|
|
41
48
|
case "Relative":
|
|
42
49
|
return children != null && children.length ? children.map((child) => {
|
|
@@ -45,7 +52,10 @@ function useProfileLinks(profile) {
|
|
|
45
52
|
text: t("homepage.userspace.relative.link.classes", {
|
|
46
53
|
childName: child.firstName
|
|
47
54
|
}),
|
|
48
|
-
url: buildClassesUrl(
|
|
55
|
+
url: buildClassesUrl({
|
|
56
|
+
filters: "groups",
|
|
57
|
+
structure: structureId
|
|
58
|
+
}, (_a2 = child.classes) == null ? void 0 : _a2.map(({
|
|
49
59
|
id
|
|
50
60
|
}) => id))
|
|
51
61
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
export interface WidgetToggleProps extends Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'type' | 'role' | 'aria-checked'> {
|
|
3
|
+
'checked': boolean;
|
|
4
|
+
'onChange': () => void;
|
|
5
|
+
'aria-label': string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Dedicated on/off control for a widget row in `WidgetsPersonalizationPanel`.
|
|
9
|
+
* The generic `Switch` component doesn't match this panel's design (size,
|
|
10
|
+
* filled-vs-outlined states), so this is a small purpose-built control
|
|
11
|
+
* rather than a `Switch` variant.
|
|
12
|
+
*/
|
|
13
|
+
export declare function WidgetToggle({ checked, onChange, disabled, ...rest }: WidgetToggleProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare namespace WidgetToggle {
|
|
15
|
+
var displayName: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
function WidgetToggle({
|
|
4
|
+
checked,
|
|
5
|
+
onChange,
|
|
6
|
+
disabled,
|
|
7
|
+
...rest
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx("button", { type: "button", role: "switch", "aria-checked": checked, disabled, className: clsx("widget-toggle", {
|
|
10
|
+
"widget-toggle--checked": checked
|
|
11
|
+
}), onClick: onChange, ...rest, children: /* @__PURE__ */ jsx("span", { className: "widget-toggle__knob" }) });
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
WidgetToggle
|
|
15
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface WidgetPersonalizationItem {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon: ReactNode;
|
|
6
|
+
checked: boolean;
|
|
7
|
+
/** When true, the widget is pinned by an admin: no toggle, lock icon instead. */
|
|
8
|
+
locked?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface WidgetsPersonalizationPanelProps {
|
|
11
|
+
items: WidgetPersonalizationItem[];
|
|
12
|
+
isLoading?: boolean;
|
|
13
|
+
onToggle: (id: string) => void;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
title?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function WidgetsPersonalizationPanel({ items, isLoading, onToggle, onClose, title, description, }: WidgetsPersonalizationPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare namespace WidgetsPersonalizationPanel {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
package/dist/modules/homepage/components/WidgetsPersonalizationPanel/WidgetsPersonalizationPanel.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation } from "react-i18next";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import SvgIconClose from "../../../icons/components/IconClose.js";
|
|
5
|
+
import SvgIconLock from "../../../icons/components/IconLock.js";
|
|
6
|
+
import { WidgetToggle } from "./WidgetToggle.js";
|
|
7
|
+
import Heading from "../../../../components/Heading/Heading.js";
|
|
8
|
+
import IconButton from "../../../../components/Button/IconButton.js";
|
|
9
|
+
import TextSkeleton from "../../../../components/Skeleton/TextSkeleton.js";
|
|
10
|
+
const SKELETON_ROWS = 5;
|
|
11
|
+
function WidgetsPersonalizationPanel({
|
|
12
|
+
items,
|
|
13
|
+
isLoading = !1,
|
|
14
|
+
onToggle,
|
|
15
|
+
onClose,
|
|
16
|
+
title,
|
|
17
|
+
description
|
|
18
|
+
}) {
|
|
19
|
+
const {
|
|
20
|
+
t
|
|
21
|
+
} = useTranslation();
|
|
22
|
+
return /* @__PURE__ */ jsxs("div", { className: "widgets-personalization-panel", children: [
|
|
23
|
+
/* @__PURE__ */ jsxs("div", { className: "widgets-personalization-panel__header", children: [
|
|
24
|
+
/* @__PURE__ */ jsx(Heading, { level: "h2", headingStyle: "h5", className: "widgets-personalization-panel__title", children: title ?? t("homepage.widgetsPersonalization.title") }),
|
|
25
|
+
/* @__PURE__ */ jsx(IconButton, { icon: /* @__PURE__ */ jsx(SvgIconClose, {}), variant: "ghost", color: "tertiary", "aria-label": t("close"), onClick: onClose, "data-testid": "widgetspersonalization-button-close" })
|
|
26
|
+
] }),
|
|
27
|
+
/* @__PURE__ */ jsx("p", { className: "widgets-personalization-panel__description", children: description ?? t("homepage.widgetsPersonalization.description") }),
|
|
28
|
+
isLoading ? /* @__PURE__ */ jsx("ul", { className: "widgets-personalization-panel__list", "aria-hidden": "true", children: Array.from({
|
|
29
|
+
length: SKELETON_ROWS
|
|
30
|
+
}).map((_, index) => /* @__PURE__ */ jsxs("li", { className: "widgets-personalization-panel__item widgets-personalization-panel__item--skeleton", children: [
|
|
31
|
+
/* @__PURE__ */ jsx(TextSkeleton, { className: "widgets-personalization-panel__item-icon-skeleton" }),
|
|
32
|
+
/* @__PURE__ */ jsx(TextSkeleton, { className: "widgets-personalization-panel__item-label-skeleton" })
|
|
33
|
+
] }, index)) }) : items.length === 0 ? /* @__PURE__ */ jsx("div", { className: "widgets-personalization-panel__empty", children: /* @__PURE__ */ jsx("p", { className: "widgets-personalization-panel__empty-text", children: t("homepage.widgetsPersonalization.empty") }) }) : /* @__PURE__ */ jsx("ul", { className: "widgets-personalization-panel__list", children: items.map((item) => /* @__PURE__ */ jsxs("li", { className: clsx("widgets-personalization-panel__item", {
|
|
34
|
+
"widgets-personalization-panel__item--checked": item.checked && !item.locked,
|
|
35
|
+
"widgets-personalization-panel__item--locked": item.locked
|
|
36
|
+
}), "data-testid": `widgetspersonalization-item-${item.id}`, children: [
|
|
37
|
+
/* @__PURE__ */ jsx("span", { className: "widgets-personalization-panel__item-icon", "aria-hidden": "true", children: item.icon }),
|
|
38
|
+
/* @__PURE__ */ jsx("span", { className: "widgets-personalization-panel__item-label", children: item.label }),
|
|
39
|
+
item.locked ? /* @__PURE__ */ jsx("span", { className: "widgets-personalization-panel__item-lock", role: "img", "aria-label": t("homepage.widgetsPersonalization.locked"), "data-testid": `widgetspersonalization-lock-${item.id}`, children: /* @__PURE__ */ jsx(SvgIconLock, {}) }) : /* @__PURE__ */ jsx(WidgetToggle, { checked: item.checked, onChange: () => onToggle(item.id), "aria-label": t("homepage.widgetsPersonalization.toggle", {
|
|
40
|
+
label: item.label
|
|
41
|
+
}), "data-testid": `widgetspersonalization-toggle-${item.id}` })
|
|
42
|
+
] }, item.id)) })
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
WidgetsPersonalizationPanel
|
|
47
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './Communities';
|
|
1
2
|
export * from './Favorites';
|
|
2
3
|
export * from './Header';
|
|
3
4
|
export * from './HomeCard';
|
|
@@ -5,5 +6,6 @@ export * from './LastInfos';
|
|
|
5
6
|
export * from './MessageFlashList';
|
|
6
7
|
export * from './Notifications';
|
|
7
8
|
export * from './SchoolSpace';
|
|
9
|
+
export * from './UsefulLinks';
|
|
8
10
|
export * from './UserSpace';
|
|
9
|
-
export * from './
|
|
11
|
+
export * from './WidgetsPersonalizationPanel';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconAddWidget: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconAddWidget;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconAddWidget = ({
|
|
3
|
+
title,
|
|
4
|
+
titleId,
|
|
5
|
+
...props
|
|
6
|
+
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 20 20", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
+
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
+
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M15.834 10.833c.46 0 .833.373.833.834v2.5h2.5a.833.833 0 0 1 0 1.666h-2.5v2.5a.833.833 0 0 1-1.667 0v-2.5h-2.5a.833.833 0 0 1 0-1.666H15v-2.5c0-.46.373-.834.834-.834M8.333 3.333A.833.833 0 0 0 7.5 2.5h-5a.833.833 0 0 0-.833.833v13.334c0 .46.373.833.833.833h5c.46 0 .833-.373.833-.833zM10 16.667a2.5 2.5 0 0 1-2.5 2.5h-5a2.5 2.5 0 0 1-2.5-2.5V3.333a2.5 2.5 0 0 1 2.5-2.5h5a2.5 2.5 0 0 1 2.5 2.5zM18.334 3.333A.833.833 0 0 0 17.5 2.5h-3.333a.833.833 0 0 0-.833.833v3.334c0 .46.373.833.833.833H17.5c.46 0 .834-.373.834-.833zM20 6.667a2.5 2.5 0 0 1-2.5 2.5h-3.333a2.5 2.5 0 0 1-2.5-2.5V3.333a2.5 2.5 0 0 1 2.5-2.5H17.5a2.5 2.5 0 0 1 2.5 2.5z", clipRule: "evenodd" })
|
|
9
|
+
] });
|
|
10
|
+
export {
|
|
11
|
+
SvgIconAddWidget as default
|
|
12
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as IconAddUser } from './IconAddUser';
|
|
2
|
+
export { default as IconAddWidget } from './IconAddWidget';
|
|
2
3
|
export { default as IconAdd } from './IconAdd';
|
|
3
4
|
export { default as IconAdjustSettings } from './IconAdjustSettings';
|
|
4
5
|
export { default as IconAiFill } from './IconAiFill';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconLogoEdificeFull: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconLogoEdificeFull;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconLogoEdificeFull = ({
|
|
3
|
+
title,
|
|
4
|
+
titleId,
|
|
5
|
+
...props
|
|
6
|
+
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 81 18", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
+
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
+
/* @__PURE__ */ jsxs("g", { clipPath: "url(#icon-logo-edifice-full_svg__a)", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M72.667 1.944c-4.424 0-8.01 3.602-8.01 8.045h16.02c0-4.443-3.586-8.045-8.01-8.045" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M76.346 12.173a4.3 4.3 0 0 1-.659.84 4.25 4.25 0 0 1-3.02 1.249 4.26 4.26 0 0 1-3.02-1.249 4.3 4.3 0 0 1-1.27-3.02V9.99h-3.72v.038c.04 4.408 3.61 7.969 8.009 7.969 3.657 0 6.74-2.462 7.7-5.825h-4.022zM55.596 10.014a4.28 4.28 0 0 1 1.253-2.998 4.2 4.2 0 0 1 2.98-1.24h3.618V2.07h-3.67c-4.317.029-7.812 3.552-7.852 7.908v.077c.04 4.356 3.535 7.879 7.85 7.907h3.672v-3.707h-3.618a4.2 4.2 0 0 1-2.98-1.24 4.28 4.28 0 0 1-1.255-2.997v-.007z" }),
|
|
11
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M50.302 7.711h-3.56v10.252h3.56z" }),
|
|
12
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M50.302 2.07h-3.56v3.608h3.56z" }),
|
|
13
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M40.983 2.07h-3.56v15.893h3.56z" }),
|
|
14
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M44.529 2.07h-3.56v3.576h.222a3.345 3.345 0 0 0 3.337-3.353zM44.529 7.711h-3.56v3.576h.222a3.345 3.345 0 0 0 3.337-3.353z" }),
|
|
15
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M35.19 7.711h-3.56v10.252h3.56z" }),
|
|
16
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M35.19 2.07h-3.56v3.608h3.56zM29.636 10.017c0-4.39-3.542-7.947-7.911-7.947v15.893c4.369 0 7.91-3.558 7.91-7.946" }),
|
|
17
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M21.726 2.07h-3.56v15.893h3.56z" }),
|
|
18
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M11.677 0H4.952v1.987h6.725z" }),
|
|
19
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M8.316 1.949c-4.424 0-8.01 3.601-8.01 8.045h16.02c0-4.444-3.586-8.045-8.01-8.045" }),
|
|
20
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M11.995 12.176a4.3 4.3 0 0 1-.658.84 4.25 4.25 0 0 1-3.021 1.25 4.26 4.26 0 0 1-3.02-1.25 4.3 4.3 0 0 1-1.27-3.02v-.003H.305v.039C.346 14.439 3.916 18 8.315 18c3.657 0 6.74-2.461 7.7-5.825h-4.022z" })
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-logo-edifice-full_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h81v18H0z" }) }) })
|
|
23
|
+
] });
|
|
24
|
+
export {
|
|
25
|
+
SvgIconLogoEdificeFull as default
|
|
26
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconLogoEdificeSmall: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconLogoEdificeSmall;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconLogoEdificeSmall = ({
|
|
3
|
+
title,
|
|
4
|
+
titleId,
|
|
5
|
+
...props
|
|
6
|
+
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 18 18", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
+
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
+
/* @__PURE__ */ jsxs("g", { clipPath: "url(#icon-logo-edifice-small_svg__a)", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M12.36 0H5.637v1.987h6.725z" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { fill: "#C8D3FE", d: "M9 1.949C4.576 1.949.99 5.55.99 9.994h16.02C17.01 5.55 13.424 1.95 9 1.95" }),
|
|
11
|
+
/* @__PURE__ */ jsx("path", { fill: "#fff", d: "M12.679 12.176a4.3 4.3 0 0 1-.659.84A4.25 4.25 0 0 1 9 14.266a4.26 4.26 0 0 1-3.02-1.25 4.3 4.3 0 0 1-1.27-3.02v-.003H.99v.039C1.03 14.439 4.6 18 8.999 18c3.656 0 6.74-2.461 7.7-5.825h-4.022z" })
|
|
12
|
+
] }),
|
|
13
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-logo-edifice-small_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h18v18H0z" }) }) })
|
|
14
|
+
] });
|
|
15
|
+
export {
|
|
16
|
+
SvgIconLogoEdificeSmall as default
|
|
17
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edifice.io/react",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.7-develop-b2school.20260928143952",
|
|
4
4
|
"description": "Edifice React Library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -140,9 +140,9 @@
|
|
|
140
140
|
"swiper": "10.1.0",
|
|
141
141
|
"ua-parser-js": "1.0.36",
|
|
142
142
|
"zustand": "4.5.7",
|
|
143
|
-
"@edifice.io/
|
|
144
|
-
"@edifice.io/
|
|
145
|
-
"@edifice.io/
|
|
143
|
+
"@edifice.io/bootstrap": "2.6.7-develop-b2school.20260928143952",
|
|
144
|
+
"@edifice.io/tiptap-extensions": "2.6.7-develop-b2school.20260928143952",
|
|
145
|
+
"@edifice.io/utilities": "2.6.7-develop-b2school.20260928143952"
|
|
146
146
|
},
|
|
147
147
|
"devDependencies": {
|
|
148
148
|
"@babel/plugin-transform-react-pure-annotations": "7.27.1",
|
|
@@ -173,8 +173,8 @@
|
|
|
173
173
|
"vite": "5.4.14",
|
|
174
174
|
"vite-plugin-dts": "4.5.4",
|
|
175
175
|
"vite-tsconfig-paths": "5.1.4",
|
|
176
|
-
"@edifice.io/config": "2.6.
|
|
177
|
-
"@edifice.io/client": "2.6.
|
|
176
|
+
"@edifice.io/config": "2.6.7-develop-b2school.20260928143952",
|
|
177
|
+
"@edifice.io/client": "2.6.7-develop-b2school.20260928143952"
|
|
178
178
|
},
|
|
179
179
|
"peerDependencies": {
|
|
180
180
|
"@react-spring/web": "9.7.5",
|