@dragunio/fe-libs 0.1.8 → 0.1.10
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/README.md +63 -2
- package/THIRD_PARTY_NOTICES.md +36 -0
- package/dist/{chunk-HM3V3DVO.mjs → chunk-BAZJ5UJ5.mjs} +81 -1
- package/dist/icons.d.mts +5 -1
- package/dist/icons.d.ts +5 -1
- package/dist/icons.js +84 -0
- package/dist/icons.mjs +9 -1
- package/dist/index.d.mts +253 -8
- package/dist/index.d.ts +253 -8
- package/dist/index.js +2881 -296
- package/dist/index.mjs +2769 -254
- package/dist/lost-ORG2SV6N.gif +0 -0
- package/dist/lost-still-KGRGCS37.png +0 -0
- package/dist/styles.css +1166 -18
- package/package.json +3 -2
package/dist/index.mjs
CHANGED
|
@@ -2,8 +2,12 @@ import {
|
|
|
2
2
|
ChevronDownIcon,
|
|
3
3
|
ChevronUpIcon,
|
|
4
4
|
CloseIcon,
|
|
5
|
+
EyeIcon,
|
|
6
|
+
EyeOffIcon,
|
|
7
|
+
MailboxIcon,
|
|
5
8
|
MoreHorizontalIcon,
|
|
6
9
|
MoreVerticalIcon,
|
|
10
|
+
PhoneIcon,
|
|
7
11
|
PlusIcon,
|
|
8
12
|
SearchIcon,
|
|
9
13
|
arrow_left,
|
|
@@ -23,7 +27,7 @@ import {
|
|
|
23
27
|
search,
|
|
24
28
|
trash,
|
|
25
29
|
x_close
|
|
26
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-BAZJ5UJ5.mjs";
|
|
27
31
|
|
|
28
32
|
// packages/button/src/index.tsx
|
|
29
33
|
import { forwardRef } from "react";
|
|
@@ -708,41 +712,264 @@ var Toggle = forwardRef3(function Toggle2({
|
|
|
708
712
|
Toggle.displayName = "Toggle";
|
|
709
713
|
|
|
710
714
|
// packages/drawer/src/index.tsx
|
|
711
|
-
import {
|
|
715
|
+
import {
|
|
716
|
+
useId as useId3,
|
|
717
|
+
useRef as useRef5
|
|
718
|
+
} from "react";
|
|
712
719
|
import { createPortal } from "react-dom";
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
720
|
+
|
|
721
|
+
// packages/overlay/src/useModalOverlay.ts
|
|
722
|
+
import { useEffect as useEffect4, useLayoutEffect, useRef as useRef4 } from "react";
|
|
723
|
+
var FOCUSABLE_SELECTOR = [
|
|
724
|
+
"a[href]",
|
|
725
|
+
"area[href]",
|
|
726
|
+
"input:not([disabled])",
|
|
727
|
+
"select:not([disabled])",
|
|
728
|
+
"textarea:not([disabled])",
|
|
729
|
+
"button:not([disabled])",
|
|
730
|
+
"iframe",
|
|
731
|
+
"object",
|
|
732
|
+
"embed",
|
|
733
|
+
'[contenteditable="true"]',
|
|
734
|
+
'[tabindex]:not([tabindex="-1"])'
|
|
735
|
+
].join(",");
|
|
736
|
+
var overlayStack = [];
|
|
737
|
+
var scrollLockCount = 0;
|
|
738
|
+
var savedBodyStyles = null;
|
|
739
|
+
var useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect4 : useLayoutEffect;
|
|
740
|
+
function lockBodyScroll() {
|
|
741
|
+
if (typeof document === "undefined" || scrollLockCount++ > 0) return;
|
|
742
|
+
const { body, documentElement } = document;
|
|
743
|
+
savedBodyStyles = {
|
|
744
|
+
overflow: body.style.overflow,
|
|
745
|
+
overscrollBehavior: body.style.overscrollBehavior,
|
|
746
|
+
paddingRight: body.style.paddingRight
|
|
747
|
+
};
|
|
748
|
+
const scrollbarWidth = Math.max(
|
|
749
|
+
0,
|
|
750
|
+
window.innerWidth - documentElement.clientWidth
|
|
751
|
+
);
|
|
752
|
+
const currentPadding = Number.parseFloat(window.getComputedStyle(body).paddingRight) || 0;
|
|
753
|
+
body.style.overflow = "hidden";
|
|
754
|
+
body.style.overscrollBehavior = "none";
|
|
755
|
+
if (scrollbarWidth > 0)
|
|
756
|
+
body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;
|
|
757
|
+
}
|
|
758
|
+
function unlockBodyScroll() {
|
|
759
|
+
if (typeof document === "undefined" || scrollLockCount === 0) return;
|
|
760
|
+
scrollLockCount -= 1;
|
|
761
|
+
if (scrollLockCount > 0 || !savedBodyStyles) return;
|
|
762
|
+
const { body } = document;
|
|
763
|
+
body.style.overflow = savedBodyStyles.overflow;
|
|
764
|
+
body.style.overscrollBehavior = savedBodyStyles.overscrollBehavior;
|
|
765
|
+
body.style.paddingRight = savedBodyStyles.paddingRight;
|
|
766
|
+
savedBodyStyles = null;
|
|
767
|
+
}
|
|
768
|
+
function getFocusableElements(panel) {
|
|
769
|
+
return Array.from(
|
|
770
|
+
panel.querySelectorAll(FOCUSABLE_SELECTOR)
|
|
771
|
+
).filter(
|
|
772
|
+
(element) => element.tabIndex >= 0 && !element.hasAttribute("disabled") && element.getAttribute("aria-hidden") !== "true"
|
|
773
|
+
);
|
|
774
|
+
}
|
|
775
|
+
function getTopOverlay() {
|
|
776
|
+
return overlayStack.reduce((top, candidate) => {
|
|
777
|
+
if (!top || candidate.priority > top.priority) return candidate;
|
|
778
|
+
if (candidate.priority < top.priority) return top;
|
|
779
|
+
const topNode = top.panelRef.current?.parentElement;
|
|
780
|
+
const candidateNode = candidate.panelRef.current?.parentElement;
|
|
781
|
+
if (topNode && candidateNode) {
|
|
782
|
+
const position = topNode.compareDocumentPosition(candidateNode);
|
|
783
|
+
if (position & Node.DOCUMENT_POSITION_FOLLOWING) return candidate;
|
|
784
|
+
if (position & Node.DOCUMENT_POSITION_PRECEDING) return top;
|
|
785
|
+
}
|
|
786
|
+
return candidate;
|
|
787
|
+
}, void 0);
|
|
788
|
+
}
|
|
789
|
+
function useModalOverlay(options) {
|
|
790
|
+
const overlayIdRef = useRef4();
|
|
791
|
+
const previouslyFocusedRef = useRef4(null);
|
|
792
|
+
const optionsRef = useRef4(options);
|
|
793
|
+
optionsRef.current = options;
|
|
794
|
+
if (!overlayIdRef.current) overlayIdRef.current = /* @__PURE__ */ Symbol("fe-overlay");
|
|
795
|
+
useIsomorphicLayoutEffect(() => {
|
|
796
|
+
if (!options.open || typeof document === "undefined") return;
|
|
797
|
+
const overlayId = overlayIdRef.current;
|
|
798
|
+
previouslyFocusedRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
799
|
+
overlayStack.push({
|
|
800
|
+
id: overlayId,
|
|
801
|
+
panelRef: options.panelRef,
|
|
802
|
+
priority: options.priority ?? 0
|
|
803
|
+
});
|
|
804
|
+
lockBodyScroll();
|
|
805
|
+
const focusInitialElement = () => {
|
|
806
|
+
const { initialFocusRef, panelRef } = optionsRef.current;
|
|
807
|
+
const focusTarget = initialFocusRef?.current ?? panelRef.current;
|
|
808
|
+
focusTarget?.focus();
|
|
809
|
+
};
|
|
810
|
+
let cancelled = false;
|
|
811
|
+
queueMicrotask(() => {
|
|
812
|
+
if (!cancelled && getTopOverlay()?.id === overlayId)
|
|
813
|
+
focusInitialElement();
|
|
814
|
+
});
|
|
717
815
|
const onKeyDown = (event) => {
|
|
718
|
-
if (
|
|
816
|
+
if (getTopOverlay()?.id !== overlayId) return;
|
|
817
|
+
if (event.key === "Escape") {
|
|
818
|
+
if (optionsRef.current.closeOnEscape !== false) {
|
|
819
|
+
event.preventDefault();
|
|
820
|
+
optionsRef.current.onClose();
|
|
821
|
+
}
|
|
822
|
+
return;
|
|
823
|
+
}
|
|
824
|
+
if (event.key !== "Tab") return;
|
|
825
|
+
const panel = optionsRef.current.panelRef.current;
|
|
826
|
+
if (!panel) return;
|
|
827
|
+
const focusable = getFocusableElements(panel);
|
|
828
|
+
if (!focusable.length) {
|
|
829
|
+
event.preventDefault();
|
|
830
|
+
panel.focus();
|
|
831
|
+
return;
|
|
832
|
+
}
|
|
833
|
+
const first = focusable[0];
|
|
834
|
+
const last = focusable[focusable.length - 1];
|
|
835
|
+
const activeElement = document.activeElement;
|
|
836
|
+
if (event.shiftKey && (activeElement === first || !panel.contains(activeElement))) {
|
|
837
|
+
event.preventDefault();
|
|
838
|
+
last.focus();
|
|
839
|
+
} else if (!event.shiftKey && (activeElement === last || !panel.contains(activeElement))) {
|
|
840
|
+
event.preventDefault();
|
|
841
|
+
first.focus();
|
|
842
|
+
}
|
|
719
843
|
};
|
|
720
844
|
document.addEventListener("keydown", onKeyDown);
|
|
721
|
-
return () =>
|
|
722
|
-
|
|
845
|
+
return () => {
|
|
846
|
+
document.removeEventListener("keydown", onKeyDown);
|
|
847
|
+
cancelled = true;
|
|
848
|
+
const stackIndex = overlayStack.findIndex(
|
|
849
|
+
(entry) => entry.id === overlayId
|
|
850
|
+
);
|
|
851
|
+
if (stackIndex !== -1) overlayStack.splice(stackIndex, 1);
|
|
852
|
+
unlockBodyScroll();
|
|
853
|
+
if (optionsRef.current.restoreFocus !== false) {
|
|
854
|
+
const nextOverlay = getTopOverlay()?.panelRef.current;
|
|
855
|
+
if (nextOverlay) nextOverlay.focus();
|
|
856
|
+
else if (previouslyFocusedRef.current?.isConnected) {
|
|
857
|
+
previouslyFocusedRef.current.focus();
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
};
|
|
861
|
+
}, [options.open, options.panelRef]);
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
// packages/drawer/src/index.tsx
|
|
865
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
866
|
+
var DrawerWidths = {
|
|
867
|
+
small: 360,
|
|
868
|
+
medium: 400,
|
|
869
|
+
large: 480
|
|
870
|
+
};
|
|
871
|
+
function Drawer({
|
|
872
|
+
open,
|
|
873
|
+
onClose,
|
|
874
|
+
title,
|
|
875
|
+
description,
|
|
876
|
+
footer,
|
|
877
|
+
side = "right",
|
|
878
|
+
width = DrawerWidths.medium,
|
|
879
|
+
fullScreen = false,
|
|
880
|
+
children,
|
|
881
|
+
closeOnBackdropClick = true,
|
|
882
|
+
closeOnEscape = true,
|
|
883
|
+
closeLabel = "Close drawer",
|
|
884
|
+
initialFocusRef,
|
|
885
|
+
restoreFocus = true,
|
|
886
|
+
className,
|
|
887
|
+
style,
|
|
888
|
+
"aria-label": ariaLabel,
|
|
889
|
+
"aria-describedby": ariaDescribedBy,
|
|
890
|
+
...props
|
|
891
|
+
}) {
|
|
892
|
+
const titleId = useId3();
|
|
893
|
+
const descriptionId = useId3();
|
|
894
|
+
const panelRef = useRef5(null);
|
|
895
|
+
useModalOverlay({
|
|
896
|
+
open,
|
|
897
|
+
onClose,
|
|
898
|
+
panelRef,
|
|
899
|
+
priority: 1e3,
|
|
900
|
+
closeOnEscape,
|
|
901
|
+
initialFocusRef,
|
|
902
|
+
restoreFocus
|
|
903
|
+
});
|
|
723
904
|
if (!open || typeof document === "undefined") return null;
|
|
724
905
|
const panelStyle = !fullScreen && (side === "left" || side === "right") ? { ...style, width: typeof width === "number" ? `${width}px` : width } : style;
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
906
|
+
const describedBy = [description ? descriptionId : void 0, ariaDescribedBy].filter(Boolean).join(" ") || void 0;
|
|
907
|
+
return createPortal(
|
|
908
|
+
/* @__PURE__ */ jsx7(
|
|
909
|
+
"div",
|
|
910
|
+
{
|
|
911
|
+
className: "fe-drawer-backdrop",
|
|
912
|
+
role: "presentation",
|
|
913
|
+
onMouseDown: (event) => {
|
|
914
|
+
if (event.target === event.currentTarget && closeOnBackdropClick)
|
|
915
|
+
onClose();
|
|
916
|
+
},
|
|
917
|
+
children: /* @__PURE__ */ jsxs7(
|
|
918
|
+
"aside",
|
|
919
|
+
{
|
|
920
|
+
ref: panelRef,
|
|
921
|
+
className: [
|
|
922
|
+
"fe-drawer",
|
|
923
|
+
`fe-drawer--${side}`,
|
|
924
|
+
fullScreen && "fe-drawer--full-screen",
|
|
925
|
+
className
|
|
926
|
+
].filter(Boolean).join(" "),
|
|
927
|
+
style: panelStyle,
|
|
928
|
+
role: "dialog",
|
|
929
|
+
"aria-modal": "true",
|
|
930
|
+
"aria-labelledby": title ? titleId : void 0,
|
|
931
|
+
"aria-describedby": describedBy,
|
|
932
|
+
"aria-label": ariaLabel ?? (title ? void 0 : "Drawer"),
|
|
933
|
+
tabIndex: -1,
|
|
934
|
+
...props,
|
|
935
|
+
children: [
|
|
936
|
+
/* @__PURE__ */ jsxs7("header", { className: "fe-drawer__header", children: [
|
|
937
|
+
(title || description) && /* @__PURE__ */ jsxs7("div", { className: "fe-drawer__heading", children: [
|
|
938
|
+
title && /* @__PURE__ */ jsx7("h2", { id: titleId, children: title }),
|
|
939
|
+
description && /* @__PURE__ */ jsx7("p", { id: descriptionId, children: description })
|
|
940
|
+
] }),
|
|
941
|
+
/* @__PURE__ */ jsx7(
|
|
942
|
+
Button,
|
|
943
|
+
{
|
|
944
|
+
hierarchy: "tertiary-gray",
|
|
945
|
+
size: "32",
|
|
946
|
+
iconOnly: true,
|
|
947
|
+
icon: /* @__PURE__ */ jsx7(CloseIcon, {}),
|
|
948
|
+
"aria-label": closeLabel,
|
|
949
|
+
onClick: onClose
|
|
950
|
+
}
|
|
951
|
+
)
|
|
952
|
+
] }),
|
|
953
|
+
/* @__PURE__ */ jsx7("div", { className: "fe-drawer__body", children }),
|
|
954
|
+
footer && /* @__PURE__ */ jsx7("footer", { className: "fe-drawer__footer", children: footer })
|
|
955
|
+
]
|
|
956
|
+
}
|
|
957
|
+
)
|
|
958
|
+
}
|
|
959
|
+
),
|
|
960
|
+
document.body
|
|
961
|
+
);
|
|
735
962
|
}
|
|
736
963
|
|
|
737
964
|
// packages/form-controls/src/controls/TextInput/text-input.tsx
|
|
738
|
-
import { forwardRef as forwardRef4, useId as
|
|
965
|
+
import { forwardRef as forwardRef4, useId as useId5, useState as useState6 } from "react";
|
|
739
966
|
|
|
740
967
|
// packages/tooltip/src/index.tsx
|
|
741
|
-
import { cloneElement, useId as
|
|
968
|
+
import { cloneElement, useId as useId4, useState as useState5 } from "react";
|
|
742
969
|
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
743
970
|
function Tooltip({ content, children, placement = "top", disabled, className, ...props }) {
|
|
744
971
|
const [visible, setVisible] = useState5(false);
|
|
745
|
-
const id =
|
|
972
|
+
const id = useId4();
|
|
746
973
|
const trigger = cloneElement(children, { "aria-describedby": visible ? id : void 0, onMouseEnter: (event) => {
|
|
747
974
|
children.props.onMouseEnter?.(event);
|
|
748
975
|
setVisible(true);
|
|
@@ -848,7 +1075,7 @@ var TextInput = forwardRef4(
|
|
|
848
1075
|
"aria-labelledby": ariaLabelledBy,
|
|
849
1076
|
...props
|
|
850
1077
|
}, ref) {
|
|
851
|
-
const generatedId =
|
|
1078
|
+
const generatedId = useId5();
|
|
852
1079
|
const inputId = id ?? generatedId + "-input";
|
|
853
1080
|
const labelId = generatedId + "-label";
|
|
854
1081
|
const messageId2 = generatedId + "-message";
|
|
@@ -953,17 +1180,264 @@ var TextInput = forwardRef4(
|
|
|
953
1180
|
);
|
|
954
1181
|
TextInput.displayName = "TextInput";
|
|
955
1182
|
|
|
1183
|
+
// packages/form-controls/src/controls/EmailInput/email-input.tsx
|
|
1184
|
+
import { forwardRef as forwardRef5 } from "react";
|
|
1185
|
+
|
|
1186
|
+
// packages/form-controls/src/controls/ValidatedInput/validation.ts
|
|
1187
|
+
import { useState as useState7 } from "react";
|
|
1188
|
+
var invalidValueMessage = "Invalid value.";
|
|
1189
|
+
function toValidationError(result) {
|
|
1190
|
+
if (typeof result === "string") return result || void 0;
|
|
1191
|
+
return result === false ? invalidValueMessage : void 0;
|
|
1192
|
+
}
|
|
1193
|
+
function validateEmail(value, required = false) {
|
|
1194
|
+
const email = value.trim();
|
|
1195
|
+
if (!email) return required ? "Email is required." : void 0;
|
|
1196
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) ? void 0 : "Enter a valid email address.";
|
|
1197
|
+
}
|
|
1198
|
+
function validatePassword(value, required = false) {
|
|
1199
|
+
if (!value) return required ? "Password is required." : void 0;
|
|
1200
|
+
if (value.length < 8) return "Use at least 8 characters.";
|
|
1201
|
+
if (!/[a-z]/.test(value) || !/[A-Z]/.test(value) || !/\d/.test(value))
|
|
1202
|
+
return "Include uppercase, lowercase, and a number.";
|
|
1203
|
+
return void 0;
|
|
1204
|
+
}
|
|
1205
|
+
function validatePhoneNumber(value, required = false) {
|
|
1206
|
+
const phoneNumber = value.trim();
|
|
1207
|
+
if (!phoneNumber) return required ? "Phone number is required." : void 0;
|
|
1208
|
+
if (!/^\+?[\d() ]+$/.test(phoneNumber))
|
|
1209
|
+
return "Use only numbers, spaces, parentheses, and an optional leading +.";
|
|
1210
|
+
const digitCount = phoneNumber.replace(/\D/g, "").length;
|
|
1211
|
+
return digitCount >= 7 && digitCount <= 15 ? void 0 : "Enter a phone number with 7 to 15 digits.";
|
|
1212
|
+
}
|
|
1213
|
+
function normalizePhoneNumber(value) {
|
|
1214
|
+
return value.replace(/[^\d+() ]/g, "");
|
|
1215
|
+
}
|
|
1216
|
+
function useInputValidation({
|
|
1217
|
+
error,
|
|
1218
|
+
errorMessage,
|
|
1219
|
+
isRequired = false,
|
|
1220
|
+
required = false,
|
|
1221
|
+
validate,
|
|
1222
|
+
validateOn = "blur",
|
|
1223
|
+
builtInValidator
|
|
1224
|
+
}) {
|
|
1225
|
+
const [validationError, setValidationError] = useState7();
|
|
1226
|
+
const [hasValidated, setHasValidated] = useState7(false);
|
|
1227
|
+
const hasExternalError = error !== void 0 || errorMessage !== void 0;
|
|
1228
|
+
const validateValue = (value) => {
|
|
1229
|
+
const builtInError = builtInValidator(value, isRequired || required);
|
|
1230
|
+
const customError = builtInError ? void 0 : toValidationError(validate?.(value));
|
|
1231
|
+
const nextError = builtInError ?? customError;
|
|
1232
|
+
setHasValidated(true);
|
|
1233
|
+
setValidationError(nextError);
|
|
1234
|
+
return nextError;
|
|
1235
|
+
};
|
|
1236
|
+
return {
|
|
1237
|
+
error: hasExternalError ? getFieldError(error, errorMessage) : validationError,
|
|
1238
|
+
onValueChange(value) {
|
|
1239
|
+
if (validateOn === "change" || hasValidated) validateValue(value);
|
|
1240
|
+
},
|
|
1241
|
+
onBlur(value) {
|
|
1242
|
+
if (validateOn === "blur") validateValue(value);
|
|
1243
|
+
}
|
|
1244
|
+
};
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
// packages/form-controls/src/controls/EmailInput/email-input.tsx
|
|
1248
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1249
|
+
var EmailInput = forwardRef5(
|
|
1250
|
+
function EmailInput2({
|
|
1251
|
+
error,
|
|
1252
|
+
errorMessage,
|
|
1253
|
+
isRequired,
|
|
1254
|
+
required,
|
|
1255
|
+
validate,
|
|
1256
|
+
validateOn,
|
|
1257
|
+
onBlur,
|
|
1258
|
+
onValueChange,
|
|
1259
|
+
autoComplete,
|
|
1260
|
+
className,
|
|
1261
|
+
...props
|
|
1262
|
+
}, ref) {
|
|
1263
|
+
const validation = useInputValidation({
|
|
1264
|
+
error,
|
|
1265
|
+
errorMessage,
|
|
1266
|
+
isRequired,
|
|
1267
|
+
required,
|
|
1268
|
+
validate,
|
|
1269
|
+
validateOn,
|
|
1270
|
+
builtInValidator: validateEmail
|
|
1271
|
+
});
|
|
1272
|
+
return /* @__PURE__ */ jsx11(
|
|
1273
|
+
TextInput,
|
|
1274
|
+
{
|
|
1275
|
+
...props,
|
|
1276
|
+
ref,
|
|
1277
|
+
className: ["fe-email-input", className].filter(Boolean).join(" "),
|
|
1278
|
+
type: "email",
|
|
1279
|
+
inputMode: "email",
|
|
1280
|
+
autoComplete: autoComplete ?? "email",
|
|
1281
|
+
isRequired,
|
|
1282
|
+
required,
|
|
1283
|
+
prefix: /* @__PURE__ */ jsx11(MailboxIcon, { size: 18 }),
|
|
1284
|
+
error: validation.error,
|
|
1285
|
+
onValueChange: (value) => {
|
|
1286
|
+
validation.onValueChange(value);
|
|
1287
|
+
onValueChange?.(value);
|
|
1288
|
+
},
|
|
1289
|
+
onBlur: (event) => {
|
|
1290
|
+
validation.onBlur(event.currentTarget.value);
|
|
1291
|
+
onBlur?.(event);
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
);
|
|
1295
|
+
}
|
|
1296
|
+
);
|
|
1297
|
+
EmailInput.displayName = "EmailInput";
|
|
1298
|
+
|
|
1299
|
+
// packages/form-controls/src/controls/PasswordInput/password-input.tsx
|
|
1300
|
+
import { forwardRef as forwardRef6, useState as useState8 } from "react";
|
|
1301
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
1302
|
+
var PasswordInput = forwardRef6(
|
|
1303
|
+
function PasswordInput2({
|
|
1304
|
+
error,
|
|
1305
|
+
errorMessage,
|
|
1306
|
+
isRequired,
|
|
1307
|
+
required,
|
|
1308
|
+
validate,
|
|
1309
|
+
validateOn,
|
|
1310
|
+
onBlur,
|
|
1311
|
+
onValueChange,
|
|
1312
|
+
autoComplete,
|
|
1313
|
+
className,
|
|
1314
|
+
showPasswordLabel = "Show password",
|
|
1315
|
+
hidePasswordLabel = "Hide password",
|
|
1316
|
+
...props
|
|
1317
|
+
}, ref) {
|
|
1318
|
+
const [visible, setVisible] = useState8(false);
|
|
1319
|
+
const validation = useInputValidation({
|
|
1320
|
+
error,
|
|
1321
|
+
errorMessage,
|
|
1322
|
+
isRequired,
|
|
1323
|
+
required,
|
|
1324
|
+
validate,
|
|
1325
|
+
validateOn,
|
|
1326
|
+
builtInValidator: validatePassword
|
|
1327
|
+
});
|
|
1328
|
+
const toggleLabel = visible ? hidePasswordLabel : showPasswordLabel;
|
|
1329
|
+
return /* @__PURE__ */ jsx12(
|
|
1330
|
+
TextInput,
|
|
1331
|
+
{
|
|
1332
|
+
...props,
|
|
1333
|
+
ref,
|
|
1334
|
+
className: ["fe-password-input", className].filter(Boolean).join(" "),
|
|
1335
|
+
type: visible ? "text" : "password",
|
|
1336
|
+
autoComplete: autoComplete ?? "current-password",
|
|
1337
|
+
isRequired,
|
|
1338
|
+
required,
|
|
1339
|
+
suffix: /* @__PURE__ */ jsx12(
|
|
1340
|
+
Button,
|
|
1341
|
+
{
|
|
1342
|
+
hierarchy: "tertiary-gray",
|
|
1343
|
+
size: "24",
|
|
1344
|
+
iconOnly: true,
|
|
1345
|
+
icon: visible ? /* @__PURE__ */ jsx12(EyeOffIcon, { size: 16 }) : /* @__PURE__ */ jsx12(EyeIcon, { size: 16 }),
|
|
1346
|
+
"aria-label": toggleLabel,
|
|
1347
|
+
"aria-pressed": visible,
|
|
1348
|
+
className: "fe-password-input__toggle",
|
|
1349
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
1350
|
+
onClick: () => setVisible((previous) => !previous)
|
|
1351
|
+
}
|
|
1352
|
+
),
|
|
1353
|
+
error: validation.error,
|
|
1354
|
+
onValueChange: (value) => {
|
|
1355
|
+
validation.onValueChange(value);
|
|
1356
|
+
onValueChange?.(value);
|
|
1357
|
+
},
|
|
1358
|
+
onBlur: (event) => {
|
|
1359
|
+
validation.onBlur(event.currentTarget.value);
|
|
1360
|
+
onBlur?.(event);
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
);
|
|
1364
|
+
}
|
|
1365
|
+
);
|
|
1366
|
+
PasswordInput.displayName = "PasswordInput";
|
|
1367
|
+
|
|
1368
|
+
// packages/form-controls/src/controls/PhoneNumberInput/phone-number-input.tsx
|
|
1369
|
+
import { forwardRef as forwardRef7, useState as useState9 } from "react";
|
|
1370
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1371
|
+
var PhoneNumberInput = forwardRef7(function PhoneNumberInput2({
|
|
1372
|
+
value,
|
|
1373
|
+
defaultValue = "",
|
|
1374
|
+
error,
|
|
1375
|
+
errorMessage,
|
|
1376
|
+
isRequired,
|
|
1377
|
+
required,
|
|
1378
|
+
validate,
|
|
1379
|
+
validateOn,
|
|
1380
|
+
onBlur,
|
|
1381
|
+
onValueChange,
|
|
1382
|
+
autoComplete,
|
|
1383
|
+
className,
|
|
1384
|
+
...props
|
|
1385
|
+
}, ref) {
|
|
1386
|
+
const controlled = value !== void 0;
|
|
1387
|
+
const [uncontrolledValue, setUncontrolledValue] = useState9(
|
|
1388
|
+
() => normalizePhoneNumber(defaultValue)
|
|
1389
|
+
);
|
|
1390
|
+
const currentValue = controlled ? value : uncontrolledValue;
|
|
1391
|
+
const validation = useInputValidation({
|
|
1392
|
+
error,
|
|
1393
|
+
errorMessage,
|
|
1394
|
+
isRequired,
|
|
1395
|
+
required,
|
|
1396
|
+
validate,
|
|
1397
|
+
validateOn,
|
|
1398
|
+
builtInValidator: validatePhoneNumber
|
|
1399
|
+
});
|
|
1400
|
+
return /* @__PURE__ */ jsx13(
|
|
1401
|
+
TextInput,
|
|
1402
|
+
{
|
|
1403
|
+
...props,
|
|
1404
|
+
ref,
|
|
1405
|
+
className: ["fe-phone-number-input", className].filter(Boolean).join(" "),
|
|
1406
|
+
type: "tel",
|
|
1407
|
+
inputMode: "tel",
|
|
1408
|
+
autoComplete: autoComplete ?? "tel",
|
|
1409
|
+
value: currentValue,
|
|
1410
|
+
isRequired,
|
|
1411
|
+
required,
|
|
1412
|
+
prefix: /* @__PURE__ */ jsx13(PhoneIcon, { size: 18 }),
|
|
1413
|
+
error: validation.error,
|
|
1414
|
+
onValueChange: (nextValue) => {
|
|
1415
|
+
const normalizedValue = normalizePhoneNumber(nextValue);
|
|
1416
|
+
if (!controlled) setUncontrolledValue(normalizedValue);
|
|
1417
|
+
validation.onValueChange(normalizedValue);
|
|
1418
|
+
onValueChange?.(normalizedValue);
|
|
1419
|
+
},
|
|
1420
|
+
onBlur: (event) => {
|
|
1421
|
+
const normalizedValue = normalizePhoneNumber(event.currentTarget.value);
|
|
1422
|
+
validation.onBlur(normalizedValue);
|
|
1423
|
+
onBlur?.(event);
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
);
|
|
1427
|
+
});
|
|
1428
|
+
PhoneNumberInput.displayName = "PhoneNumberInput";
|
|
1429
|
+
|
|
956
1430
|
// packages/form-controls/src/controls/TextArea/text-area.tsx
|
|
957
1431
|
import {
|
|
958
|
-
forwardRef as
|
|
959
|
-
useId as
|
|
1432
|
+
forwardRef as forwardRef8,
|
|
1433
|
+
useId as useId6,
|
|
960
1434
|
useImperativeHandle,
|
|
961
|
-
useLayoutEffect,
|
|
962
|
-
useRef as
|
|
963
|
-
useState as
|
|
1435
|
+
useLayoutEffect as useLayoutEffect2,
|
|
1436
|
+
useRef as useRef6,
|
|
1437
|
+
useState as useState10
|
|
964
1438
|
} from "react";
|
|
965
|
-
import { jsx as
|
|
966
|
-
var TextArea =
|
|
1439
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1440
|
+
var TextArea = forwardRef8(
|
|
967
1441
|
function TextArea2({
|
|
968
1442
|
value,
|
|
969
1443
|
defaultValue = "",
|
|
@@ -990,13 +1464,13 @@ var TextArea = forwardRef5(
|
|
|
990
1464
|
"aria-labelledby": ariaLabelledBy,
|
|
991
1465
|
...props
|
|
992
1466
|
}, ref) {
|
|
993
|
-
const generatedId =
|
|
1467
|
+
const generatedId = useId6();
|
|
994
1468
|
const inputId = id ?? generatedId + "-input";
|
|
995
1469
|
const labelId = generatedId + "-label";
|
|
996
1470
|
const messageId2 = generatedId + "-message";
|
|
997
1471
|
const controlled = value !== void 0;
|
|
998
|
-
const [internalValue, setInternalValue] =
|
|
999
|
-
const textareaRef =
|
|
1472
|
+
const [internalValue, setInternalValue] = useState10(defaultValue);
|
|
1473
|
+
const textareaRef = useRef6(null);
|
|
1000
1474
|
const currentValue = controlled ? value : internalValue;
|
|
1001
1475
|
const fieldError = getFieldError(error, errorMessage);
|
|
1002
1476
|
const hasError = fieldError !== void 0 && fieldError !== false && fieldError !== null;
|
|
@@ -1015,7 +1489,7 @@ var TextArea = forwardRef5(
|
|
|
1015
1489
|
textarea.style.height = `${textarea.scrollHeight}px`;
|
|
1016
1490
|
};
|
|
1017
1491
|
useImperativeHandle(ref, () => textareaRef.current, []);
|
|
1018
|
-
|
|
1492
|
+
useLayoutEffect2(() => {
|
|
1019
1493
|
if (autosize && textareaRef.current) {
|
|
1020
1494
|
resizeToContent(textareaRef.current);
|
|
1021
1495
|
}
|
|
@@ -1035,7 +1509,7 @@ var TextArea = forwardRef5(
|
|
|
1035
1509
|
className
|
|
1036
1510
|
].filter(Boolean).join(" "),
|
|
1037
1511
|
children: [
|
|
1038
|
-
/* @__PURE__ */
|
|
1512
|
+
/* @__PURE__ */ jsx14(
|
|
1039
1513
|
FieldLabel,
|
|
1040
1514
|
{
|
|
1041
1515
|
id: labelId,
|
|
@@ -1046,7 +1520,7 @@ var TextArea = forwardRef5(
|
|
|
1046
1520
|
}
|
|
1047
1521
|
),
|
|
1048
1522
|
/* @__PURE__ */ jsxs11("span", { className: "fe-text-area__control", children: [
|
|
1049
|
-
/* @__PURE__ */
|
|
1523
|
+
/* @__PURE__ */ jsx14(
|
|
1050
1524
|
"textarea",
|
|
1051
1525
|
{
|
|
1052
1526
|
ref: textareaRef,
|
|
@@ -1070,23 +1544,23 @@ var TextArea = forwardRef5(
|
|
|
1070
1544
|
}
|
|
1071
1545
|
),
|
|
1072
1546
|
isRequired && placeholder && !currentValue && /* @__PURE__ */ jsxs11("span", { className: "fe-text-area__placeholder", "aria-hidden": "true", children: [
|
|
1073
|
-
/* @__PURE__ */
|
|
1074
|
-
/* @__PURE__ */
|
|
1547
|
+
/* @__PURE__ */ jsx14("span", { children: placeholder }),
|
|
1548
|
+
/* @__PURE__ */ jsx14("span", { className: "fe-field__required", children: "*" })
|
|
1075
1549
|
] }),
|
|
1076
|
-
clearable && currentValue && !disabled && !readOnly && /* @__PURE__ */
|
|
1550
|
+
clearable && currentValue && !disabled && !readOnly && /* @__PURE__ */ jsx14(
|
|
1077
1551
|
Button,
|
|
1078
1552
|
{
|
|
1079
1553
|
hierarchy: "tertiary-gray",
|
|
1080
1554
|
size: "24",
|
|
1081
1555
|
iconOnly: true,
|
|
1082
|
-
icon: /* @__PURE__ */
|
|
1556
|
+
icon: /* @__PURE__ */ jsx14(CloseIcon, { size: 14 }),
|
|
1083
1557
|
"aria-label": clearLabel,
|
|
1084
1558
|
onClick: clear,
|
|
1085
1559
|
className: "fe-text-area__clear"
|
|
1086
1560
|
}
|
|
1087
1561
|
)
|
|
1088
1562
|
] }),
|
|
1089
|
-
/* @__PURE__ */
|
|
1563
|
+
/* @__PURE__ */ jsx14(
|
|
1090
1564
|
FieldMessage,
|
|
1091
1565
|
{
|
|
1092
1566
|
id: messageId2,
|
|
@@ -1104,16 +1578,31 @@ TextArea.displayName = "TextArea";
|
|
|
1104
1578
|
|
|
1105
1579
|
// packages/form-controls/src/controls/Selection/selection.tsx
|
|
1106
1580
|
import {
|
|
1107
|
-
forwardRef as
|
|
1581
|
+
forwardRef as forwardRef9,
|
|
1108
1582
|
useEffect as useEffect5,
|
|
1109
|
-
useId as
|
|
1110
|
-
useLayoutEffect as
|
|
1111
|
-
useRef as
|
|
1112
|
-
useState as
|
|
1583
|
+
useId as useId7,
|
|
1584
|
+
useLayoutEffect as useLayoutEffect3,
|
|
1585
|
+
useRef as useRef7,
|
|
1586
|
+
useState as useState11
|
|
1113
1587
|
} from "react";
|
|
1114
1588
|
import { createPortal as createPortal2 } from "react-dom";
|
|
1115
|
-
|
|
1116
|
-
|
|
1589
|
+
|
|
1590
|
+
// packages/overlay/src/getPortalZIndex.ts
|
|
1591
|
+
var DEFAULT_PORTAL_Z_INDEX = 1e3;
|
|
1592
|
+
function getPortalZIndex(anchor) {
|
|
1593
|
+
if (!anchor || typeof window === "undefined") return DEFAULT_PORTAL_Z_INDEX;
|
|
1594
|
+
let highestAncestorZIndex = DEFAULT_PORTAL_Z_INDEX - 1;
|
|
1595
|
+
for (let element = anchor; element; element = element.parentElement) {
|
|
1596
|
+
const zIndex = Number.parseInt(window.getComputedStyle(element).zIndex, 10);
|
|
1597
|
+
if (Number.isFinite(zIndex))
|
|
1598
|
+
highestAncestorZIndex = Math.max(highestAncestorZIndex, zIndex);
|
|
1599
|
+
}
|
|
1600
|
+
return Math.max(DEFAULT_PORTAL_Z_INDEX, highestAncestorZIndex + 1);
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
// packages/form-controls/src/controls/Selection/selection.tsx
|
|
1604
|
+
import { Fragment as Fragment2, jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1605
|
+
var Selection = forwardRef9(
|
|
1117
1606
|
function Selection2({
|
|
1118
1607
|
className,
|
|
1119
1608
|
label,
|
|
@@ -1142,7 +1631,7 @@ var Selection = forwardRef6(
|
|
|
1142
1631
|
"aria-labelledby": ariaLabelledBy,
|
|
1143
1632
|
...props
|
|
1144
1633
|
}, ref) {
|
|
1145
|
-
const generatedId =
|
|
1634
|
+
const generatedId = useId7();
|
|
1146
1635
|
const triggerId = id ?? generatedId + "-trigger";
|
|
1147
1636
|
const listboxId = triggerId + "-listbox";
|
|
1148
1637
|
const labelId = generatedId + "-label";
|
|
@@ -1160,7 +1649,7 @@ var Selection = forwardRef6(
|
|
|
1160
1649
|
label ? labelId : void 0
|
|
1161
1650
|
);
|
|
1162
1651
|
const isControlled = value !== void 0;
|
|
1163
|
-
const [internalValue, setInternalValue] =
|
|
1652
|
+
const [internalValue, setInternalValue] = useState11(
|
|
1164
1653
|
defaultValue ?? (multiple ? [] : "")
|
|
1165
1654
|
);
|
|
1166
1655
|
const selectedValue = isControlled ? value : internalValue;
|
|
@@ -1168,12 +1657,12 @@ var Selection = forwardRef6(
|
|
|
1168
1657
|
const selectedOptions = options.filter(
|
|
1169
1658
|
(option) => selectedValues.some((item) => String(item) === String(option.value))
|
|
1170
1659
|
);
|
|
1171
|
-
const [open, setOpen] =
|
|
1172
|
-
const [query, setQuery] =
|
|
1173
|
-
const [activeIndex, setActiveIndex] =
|
|
1174
|
-
const rootRef =
|
|
1175
|
-
const menuRef =
|
|
1176
|
-
const [menuPosition, setMenuPosition] =
|
|
1660
|
+
const [open, setOpen] = useState11(false);
|
|
1661
|
+
const [query, setQuery] = useState11("");
|
|
1662
|
+
const [activeIndex, setActiveIndex] = useState11(0);
|
|
1663
|
+
const rootRef = useRef7(null);
|
|
1664
|
+
const menuRef = useRef7(null);
|
|
1665
|
+
const [menuPosition, setMenuPosition] = useState11(null);
|
|
1177
1666
|
useEffect5(() => {
|
|
1178
1667
|
const close = (event) => {
|
|
1179
1668
|
const target = event.target;
|
|
@@ -1183,7 +1672,7 @@ var Selection = forwardRef6(
|
|
|
1183
1672
|
document.addEventListener("mousedown", close);
|
|
1184
1673
|
return () => document.removeEventListener("mousedown", close);
|
|
1185
1674
|
}, []);
|
|
1186
|
-
|
|
1675
|
+
useLayoutEffect3(() => {
|
|
1187
1676
|
if (!open) return;
|
|
1188
1677
|
const updateMenuPosition = () => {
|
|
1189
1678
|
const rect = rootRef.current?.getBoundingClientRect();
|
|
@@ -1191,7 +1680,8 @@ var Selection = forwardRef6(
|
|
|
1191
1680
|
setMenuPosition({
|
|
1192
1681
|
top: rect.bottom + 7,
|
|
1193
1682
|
left: rect.left,
|
|
1194
|
-
width: rect.width
|
|
1683
|
+
width: rect.width,
|
|
1684
|
+
zIndex: getPortalZIndex(rootRef.current)
|
|
1195
1685
|
});
|
|
1196
1686
|
};
|
|
1197
1687
|
updateMenuPosition();
|
|
@@ -1275,7 +1765,7 @@ var Selection = forwardRef6(
|
|
|
1275
1765
|
].filter(Boolean).join(" "),
|
|
1276
1766
|
...props,
|
|
1277
1767
|
children: [
|
|
1278
|
-
/* @__PURE__ */
|
|
1768
|
+
/* @__PURE__ */ jsx15(
|
|
1279
1769
|
FieldLabel,
|
|
1280
1770
|
{
|
|
1281
1771
|
id: labelId,
|
|
@@ -1286,7 +1776,7 @@ var Selection = forwardRef6(
|
|
|
1286
1776
|
}
|
|
1287
1777
|
),
|
|
1288
1778
|
/* @__PURE__ */ jsxs12("div", { ref: rootRef, className: "fe-selection__control", children: [
|
|
1289
|
-
name && selectedValues.map((item) => /* @__PURE__ */
|
|
1779
|
+
name && selectedValues.map((item) => /* @__PURE__ */ jsx15(
|
|
1290
1780
|
"input",
|
|
1291
1781
|
{
|
|
1292
1782
|
type: "hidden",
|
|
@@ -1313,7 +1803,7 @@ var Selection = forwardRef6(
|
|
|
1313
1803
|
onClick: () => setOpen((current) => !current),
|
|
1314
1804
|
onKeyDown: onTriggerKeyDown,
|
|
1315
1805
|
children: [
|
|
1316
|
-
/* @__PURE__ */
|
|
1806
|
+
/* @__PURE__ */ jsx15(
|
|
1317
1807
|
"span",
|
|
1318
1808
|
{
|
|
1319
1809
|
className: [
|
|
@@ -1327,7 +1817,7 @@ var Selection = forwardRef6(
|
|
|
1327
1817
|
className: "fe-selection__tag",
|
|
1328
1818
|
children: [
|
|
1329
1819
|
option.label,
|
|
1330
|
-
/* @__PURE__ */
|
|
1820
|
+
/* @__PURE__ */ jsx15("span", { "aria-hidden": "true", children: "\xD7" })
|
|
1331
1821
|
]
|
|
1332
1822
|
},
|
|
1333
1823
|
String(option.value)
|
|
@@ -1335,16 +1825,16 @@ var Selection = forwardRef6(
|
|
|
1335
1825
|
item,
|
|
1336
1826
|
index < displayLabel.length - 1 ? ", " : ""
|
|
1337
1827
|
] }, index)) : /* @__PURE__ */ jsxs12(Fragment2, { children: [
|
|
1338
|
-
/* @__PURE__ */
|
|
1339
|
-
isRequired && /* @__PURE__ */
|
|
1828
|
+
/* @__PURE__ */ jsx15("span", { children: placeholder }),
|
|
1829
|
+
isRequired && /* @__PURE__ */ jsx15("span", { className: "fe-field__required", "aria-hidden": "true", children: "*" })
|
|
1340
1830
|
] })
|
|
1341
1831
|
}
|
|
1342
1832
|
),
|
|
1343
|
-
/* @__PURE__ */
|
|
1833
|
+
/* @__PURE__ */ jsx15("span", { className: "fe-selection__actions", children: /* @__PURE__ */ jsx15("span", { className: "fe-selection__chevron", "aria-hidden": "true" }) })
|
|
1344
1834
|
]
|
|
1345
1835
|
}
|
|
1346
1836
|
),
|
|
1347
|
-
clearable && selectedOptions.length > 0 && !disabled && /* @__PURE__ */
|
|
1837
|
+
clearable && selectedOptions.length > 0 && !disabled && /* @__PURE__ */ jsx15(
|
|
1348
1838
|
"button",
|
|
1349
1839
|
{
|
|
1350
1840
|
type: "button",
|
|
@@ -1364,14 +1854,15 @@ var Selection = forwardRef6(
|
|
|
1364
1854
|
position: "fixed",
|
|
1365
1855
|
top: menuPosition.top,
|
|
1366
1856
|
left: menuPosition.left,
|
|
1367
|
-
width: menuPosition.width
|
|
1857
|
+
width: menuPosition.width,
|
|
1858
|
+
zIndex: menuPosition.zIndex
|
|
1368
1859
|
},
|
|
1369
1860
|
role: "listbox",
|
|
1370
1861
|
"aria-multiselectable": multiple || void 0,
|
|
1371
1862
|
children: [
|
|
1372
1863
|
searchable && /* @__PURE__ */ jsxs12("div", { className: "fe-selection__search", children: [
|
|
1373
|
-
/* @__PURE__ */
|
|
1374
|
-
/* @__PURE__ */
|
|
1864
|
+
/* @__PURE__ */ jsx15("span", { "aria-hidden": "true", children: "\u2315" }),
|
|
1865
|
+
/* @__PURE__ */ jsx15(
|
|
1375
1866
|
"input",
|
|
1376
1867
|
{
|
|
1377
1868
|
autoFocus: true,
|
|
@@ -1385,7 +1876,7 @@ var Selection = forwardRef6(
|
|
|
1385
1876
|
}
|
|
1386
1877
|
)
|
|
1387
1878
|
] }),
|
|
1388
|
-
/* @__PURE__ */
|
|
1879
|
+
/* @__PURE__ */ jsx15("div", { className: "fe-selection__options", children: filteredOptions.length ? filteredOptions.map((option, index) => {
|
|
1389
1880
|
const isSelected = selectedValues.some(
|
|
1390
1881
|
(item) => String(item) === String(option.value)
|
|
1391
1882
|
);
|
|
@@ -1403,8 +1894,8 @@ var Selection = forwardRef6(
|
|
|
1403
1894
|
onMouseMove: () => setActiveIndex(index),
|
|
1404
1895
|
onClick: () => choose(option),
|
|
1405
1896
|
children: [
|
|
1406
|
-
/* @__PURE__ */
|
|
1407
|
-
isSelected && /* @__PURE__ */
|
|
1897
|
+
/* @__PURE__ */ jsx15("span", { children: option.label }),
|
|
1898
|
+
isSelected && /* @__PURE__ */ jsx15(
|
|
1408
1899
|
"span",
|
|
1409
1900
|
{
|
|
1410
1901
|
className: "fe-selection__check",
|
|
@@ -1416,14 +1907,14 @@ var Selection = forwardRef6(
|
|
|
1416
1907
|
},
|
|
1417
1908
|
String(option.value)
|
|
1418
1909
|
);
|
|
1419
|
-
}) : /* @__PURE__ */
|
|
1910
|
+
}) : /* @__PURE__ */ jsx15("p", { className: "fe-selection__empty", children: "No matching options" }) })
|
|
1420
1911
|
]
|
|
1421
1912
|
}
|
|
1422
1913
|
),
|
|
1423
1914
|
document.body
|
|
1424
1915
|
)
|
|
1425
1916
|
] }),
|
|
1426
|
-
/* @__PURE__ */
|
|
1917
|
+
/* @__PURE__ */ jsx15(
|
|
1427
1918
|
FieldMessage,
|
|
1428
1919
|
{
|
|
1429
1920
|
id: messageId2,
|
|
@@ -1441,13 +1932,13 @@ Selection.displayName = "Selection";
|
|
|
1441
1932
|
|
|
1442
1933
|
// packages/form-controls/src/controls/NumberInput/number-input.tsx
|
|
1443
1934
|
import {
|
|
1444
|
-
forwardRef as
|
|
1935
|
+
forwardRef as forwardRef10,
|
|
1445
1936
|
useEffect as useEffect6,
|
|
1446
|
-
useId as
|
|
1447
|
-
useRef as
|
|
1448
|
-
useState as
|
|
1937
|
+
useId as useId8,
|
|
1938
|
+
useRef as useRef8,
|
|
1939
|
+
useState as useState12
|
|
1449
1940
|
} from "react";
|
|
1450
|
-
import { jsx as
|
|
1941
|
+
import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1451
1942
|
function formatNumber(value, decimals = 2, thousandSeparator = ",", decimalSeparator = ".") {
|
|
1452
1943
|
return new Intl.NumberFormat("en-US", {
|
|
1453
1944
|
minimumFractionDigits: 0,
|
|
@@ -1504,7 +1995,7 @@ function normalizeNumberInput(raw, options) {
|
|
|
1504
1995
|
value
|
|
1505
1996
|
};
|
|
1506
1997
|
}
|
|
1507
|
-
var NumberInput =
|
|
1998
|
+
var NumberInput = forwardRef10(
|
|
1508
1999
|
function NumberInput2({
|
|
1509
2000
|
value,
|
|
1510
2001
|
defaultValue = null,
|
|
@@ -1541,14 +2032,14 @@ var NumberInput = forwardRef7(
|
|
|
1541
2032
|
onKeyDown,
|
|
1542
2033
|
...props
|
|
1543
2034
|
}, ref) {
|
|
1544
|
-
const inputRef =
|
|
1545
|
-
const generatedId =
|
|
2035
|
+
const inputRef = useRef8(null);
|
|
2036
|
+
const generatedId = useId8();
|
|
1546
2037
|
const messageId2 = generatedId + "-message";
|
|
1547
2038
|
const isControlled = value !== void 0;
|
|
1548
|
-
const [internalValue, setInternalValue] =
|
|
1549
|
-
const [focused, setFocused] =
|
|
2039
|
+
const [internalValue, setInternalValue] = useState12(defaultValue);
|
|
2040
|
+
const [focused, setFocused] = useState12(false);
|
|
1550
2041
|
const actualValue = isControlled ? value ?? null : internalValue;
|
|
1551
|
-
const [text, setText] =
|
|
2042
|
+
const [text, setText] = useState12(
|
|
1552
2043
|
actualValue === null ? "" : formatNumber(
|
|
1553
2044
|
actualValue,
|
|
1554
2045
|
decimals,
|
|
@@ -1634,7 +2125,7 @@ var NumberInput = forwardRef7(
|
|
|
1634
2125
|
className
|
|
1635
2126
|
].filter(Boolean).join(" "),
|
|
1636
2127
|
children: [
|
|
1637
|
-
/* @__PURE__ */
|
|
2128
|
+
/* @__PURE__ */ jsx16(
|
|
1638
2129
|
FieldLabel,
|
|
1639
2130
|
{
|
|
1640
2131
|
id: labelId,
|
|
@@ -1645,9 +2136,9 @@ var NumberInput = forwardRef7(
|
|
|
1645
2136
|
}
|
|
1646
2137
|
),
|
|
1647
2138
|
/* @__PURE__ */ jsxs13("span", { className: "fe-number-input__control", children: [
|
|
1648
|
-
resolvedPrefix && /* @__PURE__ */
|
|
2139
|
+
resolvedPrefix && /* @__PURE__ */ jsx16("span", { className: "fe-number-input__prefix", children: resolvedPrefix }),
|
|
1649
2140
|
/* @__PURE__ */ jsxs13("span", { className: "fe-number-input__input-wrap", children: [
|
|
1650
|
-
/* @__PURE__ */
|
|
2141
|
+
/* @__PURE__ */ jsx16(
|
|
1651
2142
|
"input",
|
|
1652
2143
|
{
|
|
1653
2144
|
ref: (node) => {
|
|
@@ -1689,35 +2180,35 @@ var NumberInput = forwardRef7(
|
|
|
1689
2180
|
className: "fe-number-input__placeholder",
|
|
1690
2181
|
"aria-hidden": "true",
|
|
1691
2182
|
children: [
|
|
1692
|
-
/* @__PURE__ */
|
|
1693
|
-
/* @__PURE__ */
|
|
2183
|
+
/* @__PURE__ */ jsx16("span", { children: placeholder }),
|
|
2184
|
+
/* @__PURE__ */ jsx16("span", { className: "fe-field__required", children: "*" })
|
|
1694
2185
|
]
|
|
1695
2186
|
}
|
|
1696
2187
|
)
|
|
1697
2188
|
] }),
|
|
1698
|
-
resolvedSuffix && /* @__PURE__ */
|
|
2189
|
+
resolvedSuffix && /* @__PURE__ */ jsx16("span", { className: "fe-number-input__suffix", children: resolvedSuffix }),
|
|
1699
2190
|
endAdornment,
|
|
1700
2191
|
showStepper && /* @__PURE__ */ jsxs13("span", { className: "fe-number-input__stepper", children: [
|
|
1701
|
-
/* @__PURE__ */
|
|
2192
|
+
/* @__PURE__ */ jsx16(
|
|
1702
2193
|
Button,
|
|
1703
2194
|
{
|
|
1704
2195
|
hierarchy: "tertiary-gray",
|
|
1705
2196
|
size: "24",
|
|
1706
2197
|
iconOnly: true,
|
|
1707
|
-
icon: /* @__PURE__ */
|
|
2198
|
+
icon: /* @__PURE__ */ jsx16(ChevronUpIcon, { size: 12 }),
|
|
1708
2199
|
"aria-label": incrementLabel,
|
|
1709
2200
|
disabled: disableIncrement,
|
|
1710
2201
|
onMouseDown: (event) => event.preventDefault(),
|
|
1711
2202
|
onClick: () => adjustValue(1)
|
|
1712
2203
|
}
|
|
1713
2204
|
),
|
|
1714
|
-
/* @__PURE__ */
|
|
2205
|
+
/* @__PURE__ */ jsx16(
|
|
1715
2206
|
Button,
|
|
1716
2207
|
{
|
|
1717
2208
|
hierarchy: "tertiary-gray",
|
|
1718
2209
|
size: "24",
|
|
1719
2210
|
iconOnly: true,
|
|
1720
|
-
icon: /* @__PURE__ */
|
|
2211
|
+
icon: /* @__PURE__ */ jsx16(ChevronDownIcon, { size: 12 }),
|
|
1721
2212
|
"aria-label": decrementLabel,
|
|
1722
2213
|
disabled: disableDecrement,
|
|
1723
2214
|
onMouseDown: (event) => event.preventDefault(),
|
|
@@ -1726,7 +2217,7 @@ var NumberInput = forwardRef7(
|
|
|
1726
2217
|
)
|
|
1727
2218
|
] })
|
|
1728
2219
|
] }),
|
|
1729
|
-
/* @__PURE__ */
|
|
2220
|
+
/* @__PURE__ */ jsx16(
|
|
1730
2221
|
FieldMessage,
|
|
1731
2222
|
{
|
|
1732
2223
|
id: messageId2,
|
|
@@ -1743,8 +2234,8 @@ var NumberInput = forwardRef7(
|
|
|
1743
2234
|
NumberInput.displayName = "NumberInput";
|
|
1744
2235
|
|
|
1745
2236
|
// packages/form-controls/src/controls/CurrencyInput/currency-input.tsx
|
|
1746
|
-
import { useState as
|
|
1747
|
-
import { jsx as
|
|
2237
|
+
import { useState as useState13 } from "react";
|
|
2238
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1748
2239
|
function CurrencyInput({
|
|
1749
2240
|
suffix = "VND",
|
|
1750
2241
|
currencies,
|
|
@@ -1755,13 +2246,13 @@ function CurrencyInput({
|
|
|
1755
2246
|
disabled,
|
|
1756
2247
|
...props
|
|
1757
2248
|
}) {
|
|
1758
|
-
const [internalCurrency, setInternalCurrency] =
|
|
2249
|
+
const [internalCurrency, setInternalCurrency] = useState13(
|
|
1759
2250
|
defaultCurrency ?? currencies?.[0]?.code ?? ""
|
|
1760
2251
|
);
|
|
1761
2252
|
const selectedCurrency = currency ?? internalCurrency;
|
|
1762
2253
|
const current = currencies?.find((item) => item.code === selectedCurrency);
|
|
1763
2254
|
const currencySuffix = current?.suffix ?? current?.code ?? suffix;
|
|
1764
|
-
const endAdornment = currencies?.length ? /* @__PURE__ */
|
|
2255
|
+
const endAdornment = currencies?.length ? /* @__PURE__ */ jsx17(
|
|
1765
2256
|
Selection,
|
|
1766
2257
|
{
|
|
1767
2258
|
className: "fe-currency-input__currency",
|
|
@@ -1780,8 +2271,8 @@ function CurrencyInput({
|
|
|
1780
2271
|
onCurrencyChange?.(next);
|
|
1781
2272
|
}
|
|
1782
2273
|
}
|
|
1783
|
-
) : /* @__PURE__ */
|
|
1784
|
-
return /* @__PURE__ */
|
|
2274
|
+
) : /* @__PURE__ */ jsx17("span", { className: "fe-currency-input__suffix", children: currencySuffix });
|
|
2275
|
+
return /* @__PURE__ */ jsx17(
|
|
1785
2276
|
NumberInput,
|
|
1786
2277
|
{
|
|
1787
2278
|
...props,
|
|
@@ -1793,8 +2284,8 @@ function CurrencyInput({
|
|
|
1793
2284
|
}
|
|
1794
2285
|
|
|
1795
2286
|
// packages/form-controls/src/controls/DateTimePicker/date-time-picker.tsx
|
|
1796
|
-
import { useEffect as useEffect7, useId as
|
|
1797
|
-
import { jsx as
|
|
2287
|
+
import { useEffect as useEffect7, useId as useId9, useRef as useRef9, useState as useState14 } from "react";
|
|
2288
|
+
import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1798
2289
|
var pad = (value) => String(value).padStart(2, "0");
|
|
1799
2290
|
function formatDate(date, format) {
|
|
1800
2291
|
return format.replace(/yyyy/g, String(date.getFullYear())).replace(/MM/g, pad(date.getMonth() + 1)).replace(/dd/g, pad(date.getDate())).replace(/HH/g, pad(date.getHours())).replace(/mm/g, pad(date.getMinutes()));
|
|
@@ -1830,7 +2321,7 @@ function DateTimePicker(props) {
|
|
|
1830
2321
|
"aria-describedby": ariaDescribedBy,
|
|
1831
2322
|
"aria-labelledby": ariaLabelledBy
|
|
1832
2323
|
} = props;
|
|
1833
|
-
const generatedId =
|
|
2324
|
+
const generatedId = useId9();
|
|
1834
2325
|
const triggerId = id ?? generatedId + "-trigger";
|
|
1835
2326
|
const labelId = generatedId + "-label";
|
|
1836
2327
|
const messageId2 = generatedId + "-message";
|
|
@@ -1848,20 +2339,20 @@ function DateTimePicker(props) {
|
|
|
1848
2339
|
);
|
|
1849
2340
|
const isRange = mode === "range";
|
|
1850
2341
|
const controlled = props.value !== void 0;
|
|
1851
|
-
const [singleInternal, setSingleInternal] =
|
|
2342
|
+
const [singleInternal, setSingleInternal] = useState14(
|
|
1852
2343
|
(!isRange ? props.defaultValue : null) ?? null
|
|
1853
2344
|
);
|
|
1854
|
-
const [rangeInternal, setRangeInternal] =
|
|
2345
|
+
const [rangeInternal, setRangeInternal] = useState14(
|
|
1855
2346
|
(isRange ? props.defaultValue : void 0) ?? [null, null]
|
|
1856
2347
|
);
|
|
1857
2348
|
const singleValue = !isRange ? props.value ?? singleInternal : null;
|
|
1858
2349
|
const rangeValue = isRange ? props.value ?? rangeInternal : [null, null];
|
|
1859
|
-
const [open, setOpen] =
|
|
1860
|
-
const [month, setMonth] =
|
|
2350
|
+
const [open, setOpen] = useState14(false);
|
|
2351
|
+
const [month, setMonth] = useState14(
|
|
1861
2352
|
() => new Date((isRange ? rangeValue[0] : singleValue) ?? /* @__PURE__ */ new Date())
|
|
1862
2353
|
);
|
|
1863
|
-
const [editingEnd, setEditingEnd] =
|
|
1864
|
-
const rootRef =
|
|
2354
|
+
const [editingEnd, setEditingEnd] = useState14(false);
|
|
2355
|
+
const rootRef = useRef9(null);
|
|
1865
2356
|
useEffect7(() => {
|
|
1866
2357
|
const onPointerDown = (event) => {
|
|
1867
2358
|
if (!rootRef.current?.contains(event.target)) setOpen(false);
|
|
@@ -1935,7 +2426,7 @@ function DateTimePicker(props) {
|
|
|
1935
2426
|
className
|
|
1936
2427
|
].filter(Boolean).join(" "),
|
|
1937
2428
|
children: [
|
|
1938
|
-
/* @__PURE__ */
|
|
2429
|
+
/* @__PURE__ */ jsx18(
|
|
1939
2430
|
FieldLabel,
|
|
1940
2431
|
{
|
|
1941
2432
|
id: labelId,
|
|
@@ -1959,14 +2450,14 @@ function DateTimePicker(props) {
|
|
|
1959
2450
|
"aria-expanded": open,
|
|
1960
2451
|
onClick: () => setOpen((current) => !current),
|
|
1961
2452
|
children: [
|
|
1962
|
-
/* @__PURE__ */
|
|
2453
|
+
/* @__PURE__ */ jsx18("span", { "aria-hidden": "true", children: "\u25F7" }),
|
|
1963
2454
|
/* @__PURE__ */ jsxs14(
|
|
1964
2455
|
"span",
|
|
1965
2456
|
{
|
|
1966
2457
|
className: !shownValue && placeholder ? "fe-datetime-picker__value is-placeholder" : "fe-datetime-picker__value",
|
|
1967
2458
|
children: [
|
|
1968
2459
|
shownValue || placeholder || (isRange ? "Select date range" : "Select date and time"),
|
|
1969
|
-
isRequired && placeholder && !shownValue && /* @__PURE__ */
|
|
2460
|
+
isRequired && placeholder && !shownValue && /* @__PURE__ */ jsx18("span", { className: "fe-field__required", "aria-hidden": "true", children: "*" })
|
|
1970
2461
|
]
|
|
1971
2462
|
}
|
|
1972
2463
|
)
|
|
@@ -1981,7 +2472,7 @@ function DateTimePicker(props) {
|
|
|
1981
2472
|
"aria-label": "Date and time picker",
|
|
1982
2473
|
children: [
|
|
1983
2474
|
/* @__PURE__ */ jsxs14("div", { className: "fe-datetime-picker__month", children: [
|
|
1984
|
-
/* @__PURE__ */
|
|
2475
|
+
/* @__PURE__ */ jsx18(
|
|
1985
2476
|
"button",
|
|
1986
2477
|
{
|
|
1987
2478
|
type: "button",
|
|
@@ -1992,11 +2483,11 @@ function DateTimePicker(props) {
|
|
|
1992
2483
|
children: "\u2039"
|
|
1993
2484
|
}
|
|
1994
2485
|
),
|
|
1995
|
-
/* @__PURE__ */
|
|
2486
|
+
/* @__PURE__ */ jsx18("strong", { children: month.toLocaleDateString(locale, {
|
|
1996
2487
|
month: "long",
|
|
1997
2488
|
year: "numeric"
|
|
1998
2489
|
}) }),
|
|
1999
|
-
/* @__PURE__ */
|
|
2490
|
+
/* @__PURE__ */ jsx18(
|
|
2000
2491
|
"button",
|
|
2001
2492
|
{
|
|
2002
2493
|
type: "button",
|
|
@@ -2008,12 +2499,12 @@ function DateTimePicker(props) {
|
|
|
2008
2499
|
}
|
|
2009
2500
|
)
|
|
2010
2501
|
] }),
|
|
2011
|
-
/* @__PURE__ */
|
|
2012
|
-
/* @__PURE__ */
|
|
2502
|
+
/* @__PURE__ */ jsx18("div", { className: "fe-datetime-picker__weekdays", children: ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"].map((day) => /* @__PURE__ */ jsx18("span", { children: day }, day)) }),
|
|
2503
|
+
/* @__PURE__ */ jsx18("div", { className: "fe-datetime-picker__days", children: days.map((day) => {
|
|
2013
2504
|
const inMonth = day.getMonth() === month.getMonth();
|
|
2014
2505
|
const selected = isRange ? sameDay(day, rangeValue[0]) || sameDay(day, rangeValue[1]) : sameDay(day, singleValue);
|
|
2015
2506
|
const inRange = isRange && rangeValue[0] && rangeValue[1] && day > startOfDay(rangeValue[0]) && day < startOfDay(rangeValue[1]);
|
|
2016
|
-
return /* @__PURE__ */
|
|
2507
|
+
return /* @__PURE__ */ jsx18(
|
|
2017
2508
|
"button",
|
|
2018
2509
|
{
|
|
2019
2510
|
type: "button",
|
|
@@ -2029,7 +2520,7 @@ function DateTimePicker(props) {
|
|
|
2029
2520
|
);
|
|
2030
2521
|
}) }),
|
|
2031
2522
|
isRange && /* @__PURE__ */ jsxs14("div", { className: "fe-datetime-picker__range-tabs", children: [
|
|
2032
|
-
/* @__PURE__ */
|
|
2523
|
+
/* @__PURE__ */ jsx18(
|
|
2033
2524
|
"button",
|
|
2034
2525
|
{
|
|
2035
2526
|
type: "button",
|
|
@@ -2038,7 +2529,7 @@ function DateTimePicker(props) {
|
|
|
2038
2529
|
children: "Start"
|
|
2039
2530
|
}
|
|
2040
2531
|
),
|
|
2041
|
-
/* @__PURE__ */
|
|
2532
|
+
/* @__PURE__ */ jsx18(
|
|
2042
2533
|
"button",
|
|
2043
2534
|
{
|
|
2044
2535
|
type: "button",
|
|
@@ -2050,7 +2541,7 @@ function DateTimePicker(props) {
|
|
|
2050
2541
|
] }),
|
|
2051
2542
|
/* @__PURE__ */ jsxs14("label", { className: "fe-datetime-picker__time", children: [
|
|
2052
2543
|
"Time",
|
|
2053
|
-
/* @__PURE__ */
|
|
2544
|
+
/* @__PURE__ */ jsx18(
|
|
2054
2545
|
"input",
|
|
2055
2546
|
{
|
|
2056
2547
|
type: "time",
|
|
@@ -2063,7 +2554,7 @@ function DateTimePicker(props) {
|
|
|
2063
2554
|
]
|
|
2064
2555
|
}
|
|
2065
2556
|
),
|
|
2066
|
-
/* @__PURE__ */
|
|
2557
|
+
/* @__PURE__ */ jsx18(
|
|
2067
2558
|
FieldMessage,
|
|
2068
2559
|
{
|
|
2069
2560
|
id: messageId2,
|
|
@@ -2078,9 +2569,9 @@ function DateTimePicker(props) {
|
|
|
2078
2569
|
}
|
|
2079
2570
|
|
|
2080
2571
|
// packages/form-controls/src/controls/Checkbox/checkbox.tsx
|
|
2081
|
-
import { forwardRef as
|
|
2082
|
-
import { jsx as
|
|
2083
|
-
var Checkbox =
|
|
2572
|
+
import { forwardRef as forwardRef11 } from "react";
|
|
2573
|
+
import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2574
|
+
var Checkbox = forwardRef11(
|
|
2084
2575
|
function Checkbox2({
|
|
2085
2576
|
label,
|
|
2086
2577
|
labelPosition = "right",
|
|
@@ -2097,9 +2588,9 @@ var Checkbox = forwardRef8(
|
|
|
2097
2588
|
className
|
|
2098
2589
|
].filter(Boolean).join(" ");
|
|
2099
2590
|
return /* @__PURE__ */ jsxs15("label", { className: classes, style, children: [
|
|
2100
|
-
label && labelPosition === "top" && /* @__PURE__ */
|
|
2591
|
+
label && labelPosition === "top" && /* @__PURE__ */ jsx19("span", { className: "fe-checkbox__label", children: label }),
|
|
2101
2592
|
/* @__PURE__ */ jsxs15("span", { className: "fe-checkbox__content", children: [
|
|
2102
|
-
/* @__PURE__ */
|
|
2593
|
+
/* @__PURE__ */ jsx19(
|
|
2103
2594
|
"input",
|
|
2104
2595
|
{
|
|
2105
2596
|
ref,
|
|
@@ -2110,8 +2601,8 @@ var Checkbox = forwardRef8(
|
|
|
2110
2601
|
...props
|
|
2111
2602
|
}
|
|
2112
2603
|
),
|
|
2113
|
-
/* @__PURE__ */
|
|
2114
|
-
label && labelPosition === "right" && /* @__PURE__ */
|
|
2604
|
+
/* @__PURE__ */ jsx19("span", { className: "fe-checkbox__control", "aria-hidden": "true" }),
|
|
2605
|
+
label && labelPosition === "right" && /* @__PURE__ */ jsx19("span", { className: "fe-checkbox__label", children: label })
|
|
2115
2606
|
] })
|
|
2116
2607
|
] });
|
|
2117
2608
|
}
|
|
@@ -2119,9 +2610,9 @@ var Checkbox = forwardRef8(
|
|
|
2119
2610
|
Checkbox.displayName = "Checkbox";
|
|
2120
2611
|
|
|
2121
2612
|
// packages/form-controls/src/controls/RadioButton/radio-button.tsx
|
|
2122
|
-
import { forwardRef as
|
|
2123
|
-
import { jsx as
|
|
2124
|
-
var RadioButton =
|
|
2613
|
+
import { forwardRef as forwardRef12 } from "react";
|
|
2614
|
+
import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2615
|
+
var RadioButton = forwardRef12(
|
|
2125
2616
|
function RadioButton2({
|
|
2126
2617
|
label,
|
|
2127
2618
|
labelPosition = "right",
|
|
@@ -2138,9 +2629,9 @@ var RadioButton = forwardRef9(
|
|
|
2138
2629
|
className
|
|
2139
2630
|
].filter(Boolean).join(" ");
|
|
2140
2631
|
return /* @__PURE__ */ jsxs16("label", { className: classes, style, children: [
|
|
2141
|
-
label && labelPosition === "top" && /* @__PURE__ */
|
|
2632
|
+
label && labelPosition === "top" && /* @__PURE__ */ jsx20("span", { className: "fe-radio-button__label", children: label }),
|
|
2142
2633
|
/* @__PURE__ */ jsxs16("span", { className: "fe-radio-button__content", children: [
|
|
2143
|
-
/* @__PURE__ */
|
|
2634
|
+
/* @__PURE__ */ jsx20(
|
|
2144
2635
|
"input",
|
|
2145
2636
|
{
|
|
2146
2637
|
ref,
|
|
@@ -2151,8 +2642,8 @@ var RadioButton = forwardRef9(
|
|
|
2151
2642
|
...props
|
|
2152
2643
|
}
|
|
2153
2644
|
),
|
|
2154
|
-
/* @__PURE__ */
|
|
2155
|
-
label && labelPosition === "right" && /* @__PURE__ */
|
|
2645
|
+
/* @__PURE__ */ jsx20("span", { className: "fe-radio-button__control", "aria-hidden": "true" }),
|
|
2646
|
+
label && labelPosition === "right" && /* @__PURE__ */ jsx20("span", { className: "fe-radio-button__label", children: label })
|
|
2156
2647
|
] })
|
|
2157
2648
|
] });
|
|
2158
2649
|
}
|
|
@@ -2160,9 +2651,9 @@ var RadioButton = forwardRef9(
|
|
|
2160
2651
|
RadioButton.displayName = "RadioButton";
|
|
2161
2652
|
|
|
2162
2653
|
// packages/form-controls/src/controls/RadioGroup/radio-group.tsx
|
|
2163
|
-
import { forwardRef as
|
|
2164
|
-
import { jsx as
|
|
2165
|
-
var RadioGroup =
|
|
2654
|
+
import { forwardRef as forwardRef13, useId as useId10 } from "react";
|
|
2655
|
+
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2656
|
+
var RadioGroup = forwardRef13(
|
|
2166
2657
|
function RadioGroup2({
|
|
2167
2658
|
label,
|
|
2168
2659
|
labelPosition = "top",
|
|
@@ -2180,7 +2671,7 @@ var RadioGroup = forwardRef10(
|
|
|
2180
2671
|
"aria-labelledby": ariaLabelledBy,
|
|
2181
2672
|
...props
|
|
2182
2673
|
}, ref) {
|
|
2183
|
-
const generatedId =
|
|
2674
|
+
const generatedId = useId10();
|
|
2184
2675
|
const groupName = name ?? `fe-radio-group-${generatedId}`;
|
|
2185
2676
|
const labelId = `${id ?? generatedId}-label`;
|
|
2186
2677
|
const isControlled = value !== void 0;
|
|
@@ -2197,9 +2688,9 @@ var RadioGroup = forwardRef10(
|
|
|
2197
2688
|
return /* @__PURE__ */ jsxs17("div", { ref, className: classes, ...props, children: [
|
|
2198
2689
|
label && labelPosition === "top" && /* @__PURE__ */ jsxs17("span", { id: labelId, className: "fe-radio-group__label", children: [
|
|
2199
2690
|
label,
|
|
2200
|
-
isRequired && /* @__PURE__ */
|
|
2691
|
+
isRequired && /* @__PURE__ */ jsx21("span", { className: "fe-radio-group__required", "aria-hidden": "true", children: "*" })
|
|
2201
2692
|
] }),
|
|
2202
|
-
/* @__PURE__ */
|
|
2693
|
+
/* @__PURE__ */ jsx21(
|
|
2203
2694
|
"div",
|
|
2204
2695
|
{
|
|
2205
2696
|
id,
|
|
@@ -2211,7 +2702,7 @@ var RadioGroup = forwardRef10(
|
|
|
2211
2702
|
children: options.map((option) => {
|
|
2212
2703
|
const optionDisabled = disabled || option.disabled;
|
|
2213
2704
|
const optionValue = String(option.value);
|
|
2214
|
-
return /* @__PURE__ */
|
|
2705
|
+
return /* @__PURE__ */ jsx21(
|
|
2215
2706
|
RadioButton,
|
|
2216
2707
|
{
|
|
2217
2708
|
name: groupName,
|
|
@@ -2230,7 +2721,7 @@ var RadioGroup = forwardRef10(
|
|
|
2230
2721
|
),
|
|
2231
2722
|
label && labelPosition === "right" && /* @__PURE__ */ jsxs17("span", { id: labelId, className: "fe-radio-group__label", children: [
|
|
2232
2723
|
label,
|
|
2233
|
-
isRequired && /* @__PURE__ */
|
|
2724
|
+
isRequired && /* @__PURE__ */ jsx21("span", { className: "fe-radio-group__required", "aria-hidden": "true", children: "*" })
|
|
2234
2725
|
] })
|
|
2235
2726
|
] });
|
|
2236
2727
|
}
|
|
@@ -2238,12 +2729,12 @@ var RadioGroup = forwardRef10(
|
|
|
2238
2729
|
RadioGroup.displayName = "RadioGroup";
|
|
2239
2730
|
|
|
2240
2731
|
// packages/expandable-section/src/index.tsx
|
|
2241
|
-
import { useId as
|
|
2242
|
-
import { jsx as
|
|
2732
|
+
import { useId as useId11, useState as useState15 } from "react";
|
|
2733
|
+
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2243
2734
|
function ExpandableSection({ title, children, expanded, defaultExpanded = false, onExpandedChange, disabled, className, ...props }) {
|
|
2244
|
-
const [internalExpanded, setInternalExpanded] =
|
|
2735
|
+
const [internalExpanded, setInternalExpanded] = useState15(defaultExpanded);
|
|
2245
2736
|
const isExpanded = expanded ?? internalExpanded;
|
|
2246
|
-
const id =
|
|
2737
|
+
const id = useId11();
|
|
2247
2738
|
const toggle = () => {
|
|
2248
2739
|
if (disabled) return;
|
|
2249
2740
|
const next = !isExpanded;
|
|
@@ -2252,15 +2743,15 @@ function ExpandableSection({ title, children, expanded, defaultExpanded = false,
|
|
|
2252
2743
|
};
|
|
2253
2744
|
return /* @__PURE__ */ jsxs18("section", { className: ["fe-expandable-section", isExpanded && "fe-expandable-section--expanded", disabled && "fe-expandable-section--disabled", className].filter(Boolean).join(" "), ...props, children: [
|
|
2254
2745
|
/* @__PURE__ */ jsxs18("button", { className: "fe-expandable-section__trigger", type: "button", "aria-expanded": isExpanded, "aria-controls": id, disabled, onClick: toggle, children: [
|
|
2255
|
-
/* @__PURE__ */
|
|
2256
|
-
/* @__PURE__ */
|
|
2746
|
+
/* @__PURE__ */ jsx22("span", { children: title }),
|
|
2747
|
+
/* @__PURE__ */ jsx22("span", { className: "fe-expandable-section__chevron", "aria-hidden": "true" })
|
|
2257
2748
|
] }),
|
|
2258
|
-
/* @__PURE__ */
|
|
2749
|
+
/* @__PURE__ */ jsx22("div", { id, className: "fe-expandable-section__content", "aria-hidden": !isExpanded, children: /* @__PURE__ */ jsx22("div", { className: "fe-expandable-section__content-inner", children }) })
|
|
2259
2750
|
] });
|
|
2260
2751
|
}
|
|
2261
2752
|
|
|
2262
2753
|
// packages/loading/src/index.tsx
|
|
2263
|
-
import { jsx as
|
|
2754
|
+
import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2264
2755
|
var sizes = {
|
|
2265
2756
|
small: "16px",
|
|
2266
2757
|
medium: "24px",
|
|
@@ -2274,14 +2765,14 @@ function Loading({ size = "medium", color = "#2878f0", label, className, style,
|
|
|
2274
2765
|
...style
|
|
2275
2766
|
};
|
|
2276
2767
|
return /* @__PURE__ */ jsxs19("span", { className: ["fe-loading", className].filter(Boolean).join(" "), style: loadingStyle, role: "status", ...props, children: [
|
|
2277
|
-
/* @__PURE__ */
|
|
2278
|
-
label && /* @__PURE__ */
|
|
2279
|
-
!label && /* @__PURE__ */
|
|
2768
|
+
/* @__PURE__ */ jsx23("span", { className: "fe-loading__spinner", "aria-hidden": "true" }),
|
|
2769
|
+
label && /* @__PURE__ */ jsx23("span", { className: "fe-loading__label", children: label }),
|
|
2770
|
+
!label && /* @__PURE__ */ jsx23("span", { className: "fe-loading__sr-only", children: "Loading" })
|
|
2280
2771
|
] });
|
|
2281
2772
|
}
|
|
2282
2773
|
|
|
2283
2774
|
// packages/skeleton/src/index.tsx
|
|
2284
|
-
import { Fragment as Fragment3, jsx as
|
|
2775
|
+
import { Fragment as Fragment3, jsx as jsx24 } from "react/jsx-runtime";
|
|
2285
2776
|
var pixels = (value) => typeof value === "number" ? `${value}px` : value;
|
|
2286
2777
|
function SkeletonBase({ variant = "box", shape, width, height, count = 1, animated = true, className, style, ...props }) {
|
|
2287
2778
|
const resolvedVariant = shape ?? variant;
|
|
@@ -2292,7 +2783,7 @@ function SkeletonBase({ variant = "box", shape, width, height, count = 1, animat
|
|
|
2292
2783
|
"--fe-skeleton-height": resolvedHeight,
|
|
2293
2784
|
...style
|
|
2294
2785
|
};
|
|
2295
|
-
return /* @__PURE__ */
|
|
2786
|
+
return /* @__PURE__ */ jsx24(Fragment3, { children: Array.from({ length: Math.max(1, count) }, (_, index) => /* @__PURE__ */ jsx24(
|
|
2296
2787
|
"div",
|
|
2297
2788
|
{
|
|
2298
2789
|
className: ["fe-skeleton", `fe-skeleton--${resolvedVariant}`, animated && "fe-skeleton--animated", className].filter(Boolean).join(" "),
|
|
@@ -2304,16 +2795,16 @@ function SkeletonBase({ variant = "box", shape, width, height, count = 1, animat
|
|
|
2304
2795
|
)) });
|
|
2305
2796
|
}
|
|
2306
2797
|
function SkeletonCircle({ size = 40, ...props }) {
|
|
2307
|
-
return /* @__PURE__ */
|
|
2798
|
+
return /* @__PURE__ */ jsx24(SkeletonBase, { variant: "circle", width: size, height: size, ...props });
|
|
2308
2799
|
}
|
|
2309
2800
|
function SkeletonSquare({ size = 80, ...props }) {
|
|
2310
|
-
return /* @__PURE__ */
|
|
2801
|
+
return /* @__PURE__ */ jsx24(SkeletonBase, { variant: "box", width: size, height: size, ...props });
|
|
2311
2802
|
}
|
|
2312
2803
|
function SkeletonBox({ width = "100%", height = 80, ...props }) {
|
|
2313
|
-
return /* @__PURE__ */
|
|
2804
|
+
return /* @__PURE__ */ jsx24(SkeletonBase, { variant: "box", width, height, ...props });
|
|
2314
2805
|
}
|
|
2315
2806
|
function SkeletonLine({ width = "100%", height = 12, ...props }) {
|
|
2316
|
-
return /* @__PURE__ */
|
|
2807
|
+
return /* @__PURE__ */ jsx24(SkeletonBase, { variant: "line", width, height, ...props });
|
|
2317
2808
|
}
|
|
2318
2809
|
var Skeleton = Object.assign(SkeletonBase, {
|
|
2319
2810
|
Circle: SkeletonCircle,
|
|
@@ -2323,9 +2814,12 @@ var Skeleton = Object.assign(SkeletonBase, {
|
|
|
2323
2814
|
});
|
|
2324
2815
|
|
|
2325
2816
|
// packages/modal/src/index.tsx
|
|
2326
|
-
import {
|
|
2817
|
+
import {
|
|
2818
|
+
useId as useId12,
|
|
2819
|
+
useRef as useRef10
|
|
2820
|
+
} from "react";
|
|
2327
2821
|
import { createPortal as createPortal3 } from "react-dom";
|
|
2328
|
-
import { jsx as
|
|
2822
|
+
import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2329
2823
|
function Modal({
|
|
2330
2824
|
open,
|
|
2331
2825
|
onClose,
|
|
@@ -2336,60 +2830,87 @@ function Modal({
|
|
|
2336
2830
|
actions = [],
|
|
2337
2831
|
size = "medium",
|
|
2338
2832
|
closeOnBackdropClick = true,
|
|
2833
|
+
closeOnEscape = true,
|
|
2339
2834
|
closeButton = true,
|
|
2340
2835
|
closeLabel = "Close modal",
|
|
2836
|
+
initialFocusRef,
|
|
2837
|
+
restoreFocus = true,
|
|
2341
2838
|
className,
|
|
2839
|
+
"aria-label": ariaLabel,
|
|
2840
|
+
"aria-describedby": ariaDescribedBy,
|
|
2342
2841
|
...props
|
|
2343
2842
|
}) {
|
|
2344
|
-
const titleId =
|
|
2345
|
-
const
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2843
|
+
const titleId = useId12();
|
|
2844
|
+
const descriptionId = useId12();
|
|
2845
|
+
const panelRef = useRef10(null);
|
|
2846
|
+
useModalOverlay({
|
|
2847
|
+
open,
|
|
2848
|
+
onClose,
|
|
2849
|
+
panelRef,
|
|
2850
|
+
priority: 1100,
|
|
2851
|
+
closeOnEscape,
|
|
2852
|
+
initialFocusRef,
|
|
2853
|
+
restoreFocus
|
|
2854
|
+
});
|
|
2355
2855
|
if (!open || typeof document === "undefined") return null;
|
|
2356
2856
|
const hasFooter = footer || actions.length > 0;
|
|
2857
|
+
const describedBy = [description ? descriptionId : void 0, ariaDescribedBy].filter(Boolean).join(" ") || void 0;
|
|
2357
2858
|
return createPortal3(
|
|
2358
|
-
/* @__PURE__ */
|
|
2359
|
-
if (event.target === event.currentTarget && closeOnBackdropClick) onClose();
|
|
2360
|
-
}, children: /* @__PURE__ */ jsxs20(
|
|
2859
|
+
/* @__PURE__ */ jsx25(
|
|
2361
2860
|
"div",
|
|
2362
2861
|
{
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2862
|
+
className: "fe-modal-backdrop",
|
|
2863
|
+
role: "presentation",
|
|
2864
|
+
onMouseDown: (event) => {
|
|
2865
|
+
if (event.target === event.currentTarget && closeOnBackdropClick)
|
|
2866
|
+
onClose();
|
|
2867
|
+
},
|
|
2868
|
+
children: /* @__PURE__ */ jsxs20(
|
|
2869
|
+
"div",
|
|
2870
|
+
{
|
|
2871
|
+
ref: panelRef,
|
|
2872
|
+
className: ["fe-modal", `fe-modal--${size}`, className].filter(Boolean).join(" "),
|
|
2873
|
+
role: "dialog",
|
|
2874
|
+
"aria-modal": "true",
|
|
2875
|
+
"aria-labelledby": title ? titleId : void 0,
|
|
2876
|
+
"aria-describedby": describedBy,
|
|
2877
|
+
"aria-label": ariaLabel ?? (title ? void 0 : "Modal"),
|
|
2878
|
+
tabIndex: -1,
|
|
2879
|
+
...props,
|
|
2880
|
+
children: [
|
|
2881
|
+
(title || description || closeButton) && /* @__PURE__ */ jsxs20("header", { className: "fe-modal__header", children: [
|
|
2882
|
+
/* @__PURE__ */ jsxs20("div", { className: "fe-modal__heading", children: [
|
|
2883
|
+
title && /* @__PURE__ */ jsx25("h2", { id: titleId, children: title }),
|
|
2884
|
+
description && /* @__PURE__ */ jsx25("p", { id: descriptionId, children: description })
|
|
2885
|
+
] }),
|
|
2886
|
+
closeButton && /* @__PURE__ */ jsx25(
|
|
2887
|
+
Button,
|
|
2888
|
+
{
|
|
2889
|
+
hierarchy: "tertiary-gray",
|
|
2890
|
+
size: "32",
|
|
2891
|
+
iconOnly: true,
|
|
2892
|
+
icon: /* @__PURE__ */ jsx25(CloseIcon, {}),
|
|
2893
|
+
"aria-label": closeLabel,
|
|
2894
|
+
onClick: onClose
|
|
2895
|
+
}
|
|
2896
|
+
)
|
|
2897
|
+
] }),
|
|
2898
|
+
/* @__PURE__ */ jsx25("div", { className: "fe-modal__body", children }),
|
|
2899
|
+
hasFooter && /* @__PURE__ */ jsxs20("footer", { className: "fe-modal__footer", children: [
|
|
2900
|
+
footer && /* @__PURE__ */ jsx25("div", { className: "fe-modal__footer-content", children: footer }),
|
|
2901
|
+
actions.length > 0 && /* @__PURE__ */ jsx25("div", { className: "fe-modal__actions", children: actions.map(({ label, ...action }, index) => /* @__PURE__ */ jsx25(Button, { ...action, children: label }, index)) })
|
|
2902
|
+
] })
|
|
2903
|
+
]
|
|
2904
|
+
}
|
|
2905
|
+
)
|
|
2385
2906
|
}
|
|
2386
|
-
)
|
|
2907
|
+
),
|
|
2387
2908
|
document.body
|
|
2388
2909
|
);
|
|
2389
2910
|
}
|
|
2390
2911
|
|
|
2391
2912
|
// packages/progress/src/index.tsx
|
|
2392
|
-
import { jsx as
|
|
2913
|
+
import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2393
2914
|
function ProgressBar({ value, max = 100, label, showValue = true, size = "medium", color = "#2878f0", className, style, "aria-label": ariaLabel, ...props }) {
|
|
2394
2915
|
const indeterminate = value === null || value === void 0;
|
|
2395
2916
|
const percentage = indeterminate ? 0 : Math.min(100, Math.max(0, Number(value) / Math.max(1, max) * 100));
|
|
@@ -2401,15 +2922,15 @@ function ProgressBar({ value, max = 100, label, showValue = true, size = "medium
|
|
|
2401
2922
|
const visibleValue = `${Math.round(percentage)}%`;
|
|
2402
2923
|
return /* @__PURE__ */ jsxs21("div", { className: ["fe-progress", `fe-progress--${size}`, indeterminate && "fe-progress--indeterminate", className].filter(Boolean).join(" "), style: progressStyle, ...props, children: [
|
|
2403
2924
|
(label || !indeterminate && showValue) && /* @__PURE__ */ jsxs21("div", { className: "fe-progress__meta", children: [
|
|
2404
|
-
label && /* @__PURE__ */
|
|
2405
|
-
!indeterminate && showValue && /* @__PURE__ */
|
|
2925
|
+
label && /* @__PURE__ */ jsx26("span", { className: "fe-progress__label", children: label }),
|
|
2926
|
+
!indeterminate && showValue && /* @__PURE__ */ jsx26("output", { className: "fe-progress__value", children: visibleValue })
|
|
2406
2927
|
] }),
|
|
2407
|
-
/* @__PURE__ */
|
|
2928
|
+
/* @__PURE__ */ jsx26("div", { className: "fe-progress__track", role: "progressbar", "aria-label": ariaLabel ?? (typeof label === "string" ? label : "Progress"), "aria-valuemin": indeterminate ? void 0 : 0, "aria-valuemax": indeterminate ? void 0 : max, "aria-valuenow": indeterminate ? void 0 : Number(value), "aria-valuetext": indeterminate ? "Loading" : visibleValue, children: /* @__PURE__ */ jsx26("span", { className: "fe-progress__indicator" }) })
|
|
2408
2929
|
] });
|
|
2409
2930
|
}
|
|
2410
2931
|
|
|
2411
2932
|
// packages/chip/src/index.tsx
|
|
2412
|
-
import { jsx as
|
|
2933
|
+
import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2413
2934
|
var statuses = ["default", "info", "success", "warning", "error", "neutral", "pending", "processing"];
|
|
2414
2935
|
function Chip({ children, status = "default", color, variant = "subtle", dot = false, onRemove, removeLabel = "Remove", className, style, ...props }) {
|
|
2415
2936
|
const usesCustomColor = Boolean(color);
|
|
@@ -2419,15 +2940,15 @@ function Chip({ children, status = "default", color, variant = "subtle", dot = f
|
|
|
2419
2940
|
};
|
|
2420
2941
|
const resolvedStatus = statuses.includes(status) ? status : "default";
|
|
2421
2942
|
return /* @__PURE__ */ jsxs22("span", { className: ["fe-chip", `fe-chip--${variant}`, `fe-chip--${usesCustomColor ? "custom" : resolvedStatus}`, className].filter(Boolean).join(" "), style: chipStyle, ...props, children: [
|
|
2422
|
-
dot && /* @__PURE__ */
|
|
2423
|
-
/* @__PURE__ */
|
|
2424
|
-
onRemove && /* @__PURE__ */
|
|
2943
|
+
dot && /* @__PURE__ */ jsx27("span", { className: "fe-chip__dot", "aria-hidden": "true" }),
|
|
2944
|
+
/* @__PURE__ */ jsx27("span", { className: "fe-chip__content", children }),
|
|
2945
|
+
onRemove && /* @__PURE__ */ jsx27(Button, { hierarchy: "tertiary-gray", size: "24", iconOnly: true, icon: /* @__PURE__ */ jsx27(CloseIcon, { size: 14 }), "aria-label": removeLabel, onClick: onRemove, className: "fe-chip__remove" })
|
|
2425
2946
|
] });
|
|
2426
2947
|
}
|
|
2427
2948
|
|
|
2428
2949
|
// packages/message/src/index.tsx
|
|
2429
|
-
import { useEffect as
|
|
2430
|
-
import { jsx as
|
|
2950
|
+
import { useEffect as useEffect8, useState as useState16 } from "react";
|
|
2951
|
+
import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2431
2952
|
var messageId = 0;
|
|
2432
2953
|
var entries = [];
|
|
2433
2954
|
var listeners = /* @__PURE__ */ new Set();
|
|
@@ -2460,22 +2981,22 @@ var message = {
|
|
|
2460
2981
|
};
|
|
2461
2982
|
var icons = { success: "\u2713", info: "i", warning: "!", error: "\xD7" };
|
|
2462
2983
|
function Message({ maxCount = 4, closeLabel = "Close notification", className, ...props }) {
|
|
2463
|
-
const [visibleEntries, setVisibleEntries] =
|
|
2464
|
-
|
|
2984
|
+
const [visibleEntries, setVisibleEntries] = useState16(entries);
|
|
2985
|
+
useEffect8(() => {
|
|
2465
2986
|
const listener = (nextEntries) => setVisibleEntries(nextEntries);
|
|
2466
2987
|
listeners.add(listener);
|
|
2467
2988
|
return () => {
|
|
2468
2989
|
listeners.delete(listener);
|
|
2469
2990
|
};
|
|
2470
2991
|
}, []);
|
|
2471
|
-
return /* @__PURE__ */
|
|
2472
|
-
/* @__PURE__ */
|
|
2992
|
+
return /* @__PURE__ */ jsx28("div", { className: ["fe-message-viewport", className].filter(Boolean).join(" "), "aria-live": "polite", ...props, children: visibleEntries.slice(-Math.max(1, maxCount)).map((entry) => /* @__PURE__ */ jsxs23("div", { className: `fe-message fe-message--${entry.severity ?? "info"}`, role: entry.severity === "error" ? "alert" : "status", children: [
|
|
2993
|
+
/* @__PURE__ */ jsx28("span", { className: "fe-message__icon", "aria-hidden": "true", children: icons[entry.severity ?? "info"] }),
|
|
2473
2994
|
/* @__PURE__ */ jsxs23("div", { className: "fe-message__body", children: [
|
|
2474
|
-
entry.title && /* @__PURE__ */
|
|
2475
|
-
/* @__PURE__ */
|
|
2995
|
+
entry.title && /* @__PURE__ */ jsx28("strong", { className: "fe-message__title", children: entry.title }),
|
|
2996
|
+
/* @__PURE__ */ jsx28("div", { className: "fe-message__content", children: entry.content })
|
|
2476
2997
|
] }),
|
|
2477
|
-
entry.action && /* @__PURE__ */
|
|
2478
|
-
/* @__PURE__ */
|
|
2998
|
+
entry.action && /* @__PURE__ */ jsx28("span", { className: "fe-message__action", children: entry.action }),
|
|
2999
|
+
/* @__PURE__ */ jsx28(Button, { className: "fe-message__close", hierarchy: "tertiary-gray", size: "24", iconOnly: true, icon: "\xD7", "aria-label": closeLabel, onClick: () => dismiss(entry.id) })
|
|
2479
3000
|
] }, entry.id)) });
|
|
2480
3001
|
}
|
|
2481
3002
|
((Message2) => {
|
|
@@ -2489,8 +3010,8 @@ function Message({ maxCount = 4, closeLabel = "Close notification", className, .
|
|
|
2489
3010
|
})(Message || (Message = {}));
|
|
2490
3011
|
|
|
2491
3012
|
// packages/snackbar/src/index.tsx
|
|
2492
|
-
import { useEffect as
|
|
2493
|
-
import { jsx as
|
|
3013
|
+
import { useEffect as useEffect9 } from "react";
|
|
3014
|
+
import { jsx as jsx29, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2494
3015
|
function Snackbar({
|
|
2495
3016
|
open,
|
|
2496
3017
|
message: message2,
|
|
@@ -2504,12 +3025,12 @@ function Snackbar({
|
|
|
2504
3025
|
}) {
|
|
2505
3026
|
const vertical = anchorOrigin.vertical ?? "bottom";
|
|
2506
3027
|
const horizontal = anchorOrigin.horizontal ?? "center";
|
|
2507
|
-
|
|
3028
|
+
useEffect9(() => {
|
|
2508
3029
|
if (!open || autoHideDuration === null) return void 0;
|
|
2509
3030
|
const timer = window.setTimeout(() => onClose?.("timeout"), autoHideDuration);
|
|
2510
3031
|
return () => window.clearTimeout(timer);
|
|
2511
3032
|
}, [open, autoHideDuration, onClose]);
|
|
2512
|
-
|
|
3033
|
+
useEffect9(() => {
|
|
2513
3034
|
if (!open) return void 0;
|
|
2514
3035
|
const onKeyDown = (event) => {
|
|
2515
3036
|
if (event.key === "Escape") onClose?.("escapeKeyDown");
|
|
@@ -2518,16 +3039,16 @@ function Snackbar({
|
|
|
2518
3039
|
return () => window.removeEventListener("keydown", onKeyDown);
|
|
2519
3040
|
}, [open, onClose]);
|
|
2520
3041
|
if (!open) return null;
|
|
2521
|
-
return /* @__PURE__ */
|
|
2522
|
-
/* @__PURE__ */
|
|
2523
|
-
action && /* @__PURE__ */
|
|
2524
|
-
onClose && /* @__PURE__ */
|
|
3042
|
+
return /* @__PURE__ */ jsx29("div", { className: ["fe-snackbar", `fe-snackbar--${vertical}`, `fe-snackbar--${horizontal}`, className].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ jsxs24("div", { className: "fe-snackbar__content", role: "status", "aria-live": "polite", children: [
|
|
3043
|
+
/* @__PURE__ */ jsx29("span", { className: "fe-snackbar__message", children: message2 }),
|
|
3044
|
+
action && /* @__PURE__ */ jsx29("span", { className: "fe-snackbar__action", children: action }),
|
|
3045
|
+
onClose && /* @__PURE__ */ jsx29(Button, { className: "fe-snackbar__close", hierarchy: "tertiary-gray", size: "24", iconOnly: true, icon: "\xD7", "aria-label": closeLabel, onClick: () => onClose("closeButton") })
|
|
2525
3046
|
] }) });
|
|
2526
3047
|
}
|
|
2527
3048
|
|
|
2528
3049
|
// packages/avatar/src/index.tsx
|
|
2529
|
-
import { Children, isValidElement as isValidElement2, useState as
|
|
2530
|
-
import { jsx as
|
|
3050
|
+
import { Children, isValidElement as isValidElement2, useState as useState17 } from "react";
|
|
3051
|
+
import { jsx as jsx30, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2531
3052
|
var FALLBACK_AVATARS = [
|
|
2532
3053
|
{
|
|
2533
3054
|
background: "#E0E7FF",
|
|
@@ -2868,15 +3389,15 @@ function AvatarFallbackIcon({ avatar }) {
|
|
|
2868
3389
|
focusable: "false",
|
|
2869
3390
|
"aria-hidden": "true",
|
|
2870
3391
|
children: [
|
|
2871
|
-
/* @__PURE__ */
|
|
2872
|
-
/* @__PURE__ */
|
|
3392
|
+
/* @__PURE__ */ jsx30("rect", { width: "24", height: "24", fill: background }),
|
|
3393
|
+
/* @__PURE__ */ jsx30(
|
|
2873
3394
|
"path",
|
|
2874
3395
|
{
|
|
2875
3396
|
d: "M3 24c.52-3.79 3.58-6.25 9-6.25S20.48 20.21 21 24",
|
|
2876
3397
|
fill: shirt
|
|
2877
3398
|
}
|
|
2878
3399
|
),
|
|
2879
|
-
/* @__PURE__ */
|
|
3400
|
+
/* @__PURE__ */ jsx30(
|
|
2880
3401
|
"path",
|
|
2881
3402
|
{
|
|
2882
3403
|
d: "M8.1 17.65h7.8l1.05 2.05H7.05l1.05-2.05Z",
|
|
@@ -2884,38 +3405,38 @@ function AvatarFallbackIcon({ avatar }) {
|
|
|
2884
3405
|
opacity: ".72"
|
|
2885
3406
|
}
|
|
2886
3407
|
),
|
|
2887
|
-
/* @__PURE__ */
|
|
2888
|
-
hairStyle === 0 && /* @__PURE__ */
|
|
3408
|
+
/* @__PURE__ */ jsx30("circle", { cx: "12", cy: "10.25", r: "5.25", fill: skin }),
|
|
3409
|
+
hairStyle === 0 && /* @__PURE__ */ jsx30(
|
|
2889
3410
|
"path",
|
|
2890
3411
|
{
|
|
2891
3412
|
d: "M6.75 10.25C6.75 6.34 9.02 4 12.15 4c3.22 0 5.1 2.33 5.1 5.54-1.6-1.41-3.46-2.1-5.59-2.1-1.63 0-3.27.56-4.91 1.68Z",
|
|
2892
3413
|
fill: hair
|
|
2893
3414
|
}
|
|
2894
3415
|
),
|
|
2895
|
-
hairStyle === 1 && /* @__PURE__ */
|
|
3416
|
+
hairStyle === 1 && /* @__PURE__ */ jsx30(
|
|
2896
3417
|
"path",
|
|
2897
3418
|
{
|
|
2898
3419
|
d: "M6.6 10.1c.16-3.93 2.57-6.2 5.62-6.2 3.57 0 5.3 2.75 5.08 6.32-1.42-1.23-2.91-1.82-4.48-1.82-2.4 0-3.9.65-6.22 1.7Z",
|
|
2899
3420
|
fill: hair
|
|
2900
3421
|
}
|
|
2901
3422
|
),
|
|
2902
|
-
hairStyle === 2 && /* @__PURE__ */
|
|
3423
|
+
hairStyle === 2 && /* @__PURE__ */ jsx30(
|
|
2903
3424
|
"path",
|
|
2904
3425
|
{
|
|
2905
3426
|
d: "M6.8 10.55C6.8 6.28 9.43 4 12.2 4c3.46 0 5.13 2.83 4.93 6.38-1.38-1.58-3.03-2.38-4.92-2.38-1.81 0-3.61.85-5.41 2.55Z",
|
|
2906
3427
|
fill: hair
|
|
2907
3428
|
}
|
|
2908
3429
|
),
|
|
2909
|
-
hairStyle === 3 && /* @__PURE__ */
|
|
3430
|
+
hairStyle === 3 && /* @__PURE__ */ jsx30(
|
|
2910
3431
|
"path",
|
|
2911
3432
|
{
|
|
2912
3433
|
d: "M6.66 10.1C6.94 6.12 9.18 4 12.1 4c3.77 0 5.2 2.95 5.18 6.21-1.5-1.07-3.1-1.6-4.8-1.6-2.18 0-3.98.5-5.82 1.49Z",
|
|
2913
3434
|
fill: hair
|
|
2914
3435
|
}
|
|
2915
3436
|
),
|
|
2916
|
-
/* @__PURE__ */
|
|
2917
|
-
/* @__PURE__ */
|
|
2918
|
-
expression === 0 && /* @__PURE__ */
|
|
3437
|
+
/* @__PURE__ */ jsx30("circle", { cx: "10.05", cy: "10.65", r: ".48", fill: "#3B2924" }),
|
|
3438
|
+
/* @__PURE__ */ jsx30("circle", { cx: "13.95", cy: "10.65", r: ".48", fill: "#3B2924" }),
|
|
3439
|
+
expression === 0 && /* @__PURE__ */ jsx30(
|
|
2919
3440
|
"path",
|
|
2920
3441
|
{
|
|
2921
3442
|
d: "M10.25 13.2c1.08.66 2.42.66 3.5 0",
|
|
@@ -2925,7 +3446,7 @@ function AvatarFallbackIcon({ avatar }) {
|
|
|
2925
3446
|
strokeLinecap: "round"
|
|
2926
3447
|
}
|
|
2927
3448
|
),
|
|
2928
|
-
expression === 1 && /* @__PURE__ */
|
|
3449
|
+
expression === 1 && /* @__PURE__ */ jsx30(
|
|
2929
3450
|
"path",
|
|
2930
3451
|
{
|
|
2931
3452
|
d: "M10.5 13.2h3",
|
|
@@ -2935,7 +3456,7 @@ function AvatarFallbackIcon({ avatar }) {
|
|
|
2935
3456
|
strokeLinecap: "round"
|
|
2936
3457
|
}
|
|
2937
3458
|
),
|
|
2938
|
-
expression === 2 && /* @__PURE__ */
|
|
3459
|
+
expression === 2 && /* @__PURE__ */ jsx30(
|
|
2939
3460
|
"path",
|
|
2940
3461
|
{
|
|
2941
3462
|
d: "M10.6 13.38c.84-.44 1.96-.44 2.8 0",
|
|
@@ -2945,11 +3466,11 @@ function AvatarFallbackIcon({ avatar }) {
|
|
|
2945
3466
|
strokeLinecap: "round"
|
|
2946
3467
|
}
|
|
2947
3468
|
),
|
|
2948
|
-
expression === 3 && /* @__PURE__ */
|
|
3469
|
+
expression === 3 && /* @__PURE__ */ jsx30("circle", { cx: "12", cy: "13.2", r: ".82", fill: "#B95A5A" }),
|
|
2949
3470
|
glasses && /* @__PURE__ */ jsxs25("g", { fill: "none", stroke: "#3C4355", strokeWidth: ".65", children: [
|
|
2950
|
-
/* @__PURE__ */
|
|
2951
|
-
/* @__PURE__ */
|
|
2952
|
-
/* @__PURE__ */
|
|
3471
|
+
/* @__PURE__ */ jsx30("circle", { cx: "10", cy: "10.55", r: "1.45" }),
|
|
3472
|
+
/* @__PURE__ */ jsx30("circle", { cx: "14", cy: "10.55", r: "1.45" }),
|
|
3473
|
+
/* @__PURE__ */ jsx30("path", { d: "M11.45 10.55h1.1M8.55 10.55H7.5m9 0h-1.05" })
|
|
2953
3474
|
] })
|
|
2954
3475
|
]
|
|
2955
3476
|
}
|
|
@@ -2968,10 +3489,10 @@ function Avatar({
|
|
|
2968
3489
|
"aria-label": ariaLabel,
|
|
2969
3490
|
...props
|
|
2970
3491
|
}) {
|
|
2971
|
-
const [generatedFallbackIndex] =
|
|
3492
|
+
const [generatedFallbackIndex] = useState17(
|
|
2972
3493
|
() => Math.floor(Math.random() * FALLBACK_AVATARS.length)
|
|
2973
3494
|
);
|
|
2974
|
-
const [failedImageSrc, setFailedImageSrc] =
|
|
3495
|
+
const [failedImageSrc, setFailedImageSrc] = useState17();
|
|
2975
3496
|
const imageSrc = src?.trim();
|
|
2976
3497
|
const trimmedContent = content?.trim() ?? "";
|
|
2977
3498
|
const showImage = Boolean(imageSrc && failedImageSrc !== imageSrc);
|
|
@@ -2992,7 +3513,7 @@ function Avatar({
|
|
|
2992
3513
|
"aria-label": showImage ? ariaLabel : ariaLabel ?? fallbackLabel,
|
|
2993
3514
|
...props,
|
|
2994
3515
|
children: [
|
|
2995
|
-
showImage && /* @__PURE__ */
|
|
3516
|
+
showImage && /* @__PURE__ */ jsx30(
|
|
2996
3517
|
"img",
|
|
2997
3518
|
{
|
|
2998
3519
|
className: "fe-avatar__image",
|
|
@@ -3001,8 +3522,8 @@ function Avatar({
|
|
|
3001
3522
|
onError: () => setFailedImageSrc(imageSrc)
|
|
3002
3523
|
}
|
|
3003
3524
|
),
|
|
3004
|
-
!showImage && initials && /* @__PURE__ */
|
|
3005
|
-
!showImage && !initials && /* @__PURE__ */
|
|
3525
|
+
!showImage && initials && /* @__PURE__ */ jsx30("span", { className: "fe-avatar__initials", "aria-hidden": "true", children: initials }),
|
|
3526
|
+
!showImage && !initials && /* @__PURE__ */ jsx30(AvatarFallbackIcon, { avatar: selectedFallback })
|
|
3006
3527
|
]
|
|
3007
3528
|
}
|
|
3008
3529
|
);
|
|
@@ -3037,7 +3558,7 @@ function AvatarGroup({
|
|
|
3037
3558
|
...props,
|
|
3038
3559
|
children: [
|
|
3039
3560
|
/* @__PURE__ */ jsxs25("div", { className: "fe-avatar-group__items", children: [
|
|
3040
|
-
visibleAvatars.map((avatar, index) => /* @__PURE__ */
|
|
3561
|
+
visibleAvatars.map((avatar, index) => /* @__PURE__ */ jsx30(
|
|
3041
3562
|
"span",
|
|
3042
3563
|
{
|
|
3043
3564
|
className: "fe-avatar-group__item",
|
|
@@ -3060,11 +3581,1984 @@ function AvatarGroup({
|
|
|
3060
3581
|
}
|
|
3061
3582
|
)
|
|
3062
3583
|
] }),
|
|
3063
|
-
singleContent && /* @__PURE__ */
|
|
3584
|
+
singleContent && /* @__PURE__ */ jsx30("span", { className: "fe-avatar-group__content", children: singleContent })
|
|
3064
3585
|
]
|
|
3065
3586
|
}
|
|
3066
3587
|
);
|
|
3067
3588
|
}
|
|
3589
|
+
|
|
3590
|
+
// packages/file-upload/src/index.tsx
|
|
3591
|
+
import {
|
|
3592
|
+
forwardRef as forwardRef14,
|
|
3593
|
+
useId as useId13,
|
|
3594
|
+
useMemo as useMemo3,
|
|
3595
|
+
useRef as useRef11,
|
|
3596
|
+
useState as useState18,
|
|
3597
|
+
useEffect as useEffect10
|
|
3598
|
+
} from "react";
|
|
3599
|
+
import { jsx as jsx31, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3600
|
+
var FILE_UPLOAD_ACCEPTS = {
|
|
3601
|
+
all: [],
|
|
3602
|
+
image: [
|
|
3603
|
+
"image/*",
|
|
3604
|
+
".avif",
|
|
3605
|
+
".bmp",
|
|
3606
|
+
".gif",
|
|
3607
|
+
".heic",
|
|
3608
|
+
".heif",
|
|
3609
|
+
".ico",
|
|
3610
|
+
".jpeg",
|
|
3611
|
+
".jpg",
|
|
3612
|
+
".png",
|
|
3613
|
+
".svg",
|
|
3614
|
+
".tif",
|
|
3615
|
+
".tiff",
|
|
3616
|
+
".webp"
|
|
3617
|
+
],
|
|
3618
|
+
pdf: [".pdf"],
|
|
3619
|
+
word: [".doc", ".docm", ".docx", ".dot", ".dotx", ".odt", ".rtf"],
|
|
3620
|
+
spreadsheet: [".csv", ".ods", ".xls", ".xlsb", ".xlsm", ".xlsx"],
|
|
3621
|
+
presentation: [".odp", ".pot", ".potx", ".pps", ".ppsx", ".ppt", ".pptx"],
|
|
3622
|
+
document: [
|
|
3623
|
+
".pdf",
|
|
3624
|
+
".doc",
|
|
3625
|
+
".docm",
|
|
3626
|
+
".docx",
|
|
3627
|
+
".dot",
|
|
3628
|
+
".dotx",
|
|
3629
|
+
".odt",
|
|
3630
|
+
".rtf",
|
|
3631
|
+
".csv",
|
|
3632
|
+
".xls",
|
|
3633
|
+
".xlsb",
|
|
3634
|
+
".xlsx",
|
|
3635
|
+
".xlsm",
|
|
3636
|
+
".ods",
|
|
3637
|
+
".pot",
|
|
3638
|
+
".potx",
|
|
3639
|
+
".pps",
|
|
3640
|
+
".ppsx",
|
|
3641
|
+
".ppt",
|
|
3642
|
+
".pptx",
|
|
3643
|
+
".odp"
|
|
3644
|
+
],
|
|
3645
|
+
text: [".log", ".md", ".rtf", ".text", ".txt"],
|
|
3646
|
+
csv: [".csv"],
|
|
3647
|
+
json: [".json"],
|
|
3648
|
+
xml: [".xml"],
|
|
3649
|
+
code: [
|
|
3650
|
+
".c",
|
|
3651
|
+
".cpp",
|
|
3652
|
+
".cs",
|
|
3653
|
+
".css",
|
|
3654
|
+
".go",
|
|
3655
|
+
".html",
|
|
3656
|
+
".java",
|
|
3657
|
+
".js",
|
|
3658
|
+
".jsx",
|
|
3659
|
+
".php",
|
|
3660
|
+
".py",
|
|
3661
|
+
".rb",
|
|
3662
|
+
".rs",
|
|
3663
|
+
".scss",
|
|
3664
|
+
".sh",
|
|
3665
|
+
".sql",
|
|
3666
|
+
".swift",
|
|
3667
|
+
".ts",
|
|
3668
|
+
".tsx",
|
|
3669
|
+
".vue",
|
|
3670
|
+
".yml",
|
|
3671
|
+
".yaml"
|
|
3672
|
+
],
|
|
3673
|
+
archive: [".7z", ".bz2", ".gz", ".rar", ".tar", ".tgz", ".xz", ".zip"],
|
|
3674
|
+
audio: [
|
|
3675
|
+
"audio/*",
|
|
3676
|
+
".aac",
|
|
3677
|
+
".aiff",
|
|
3678
|
+
".flac",
|
|
3679
|
+
".m4a",
|
|
3680
|
+
".mp3",
|
|
3681
|
+
".ogg",
|
|
3682
|
+
".opus",
|
|
3683
|
+
".wav",
|
|
3684
|
+
".wma"
|
|
3685
|
+
],
|
|
3686
|
+
video: [
|
|
3687
|
+
"video/*",
|
|
3688
|
+
".avi",
|
|
3689
|
+
".mkv",
|
|
3690
|
+
".mov",
|
|
3691
|
+
".mp4",
|
|
3692
|
+
".mpeg",
|
|
3693
|
+
".mpg",
|
|
3694
|
+
".webm",
|
|
3695
|
+
".wmv"
|
|
3696
|
+
],
|
|
3697
|
+
font: [".ttf", ".otf", ".woff", ".woff2"],
|
|
3698
|
+
email: [".eml", ".msg"]
|
|
3699
|
+
};
|
|
3700
|
+
function fileSignature(file) {
|
|
3701
|
+
return `${file.name}-${file.size}-${file.lastModified}-${file.type}`;
|
|
3702
|
+
}
|
|
3703
|
+
function normalizeAccept(accept) {
|
|
3704
|
+
if (!accept) return [];
|
|
3705
|
+
const groups = typeof accept === "string" ? [accept] : accept;
|
|
3706
|
+
return [...new Set(groups.flatMap((group) => FILE_UPLOAD_ACCEPTS[group]))];
|
|
3707
|
+
}
|
|
3708
|
+
function isAcceptedFile(file, accept) {
|
|
3709
|
+
if (!accept.length) return true;
|
|
3710
|
+
const type = file.type.toLowerCase();
|
|
3711
|
+
const name = file.name.toLowerCase();
|
|
3712
|
+
return accept.some((entry) => {
|
|
3713
|
+
if (entry.startsWith(".")) return name.endsWith(entry);
|
|
3714
|
+
if (entry.endsWith("/*")) return type.startsWith(entry.slice(0, -1));
|
|
3715
|
+
return type === entry;
|
|
3716
|
+
});
|
|
3717
|
+
}
|
|
3718
|
+
function formatFileSize(bytes) {
|
|
3719
|
+
if (!Number.isFinite(bytes) || bytes < 1024) return `${bytes || 0} B`;
|
|
3720
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
3721
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
3722
|
+
}
|
|
3723
|
+
function FileVisual({ file }) {
|
|
3724
|
+
const [previewUrl, setPreviewUrl] = useState18();
|
|
3725
|
+
const isImage = file.type.startsWith("image/");
|
|
3726
|
+
useEffect10(() => {
|
|
3727
|
+
if (!isImage || typeof URL.createObjectURL !== "function") return;
|
|
3728
|
+
const objectUrl = URL.createObjectURL(file);
|
|
3729
|
+
setPreviewUrl(objectUrl);
|
|
3730
|
+
return () => URL.revokeObjectURL(objectUrl);
|
|
3731
|
+
}, [file, isImage]);
|
|
3732
|
+
if (previewUrl) {
|
|
3733
|
+
return /* @__PURE__ */ jsx31("img", { className: "fe-file-upload__thumbnail", src: previewUrl, alt: "" });
|
|
3734
|
+
}
|
|
3735
|
+
const extension = file.name.includes(".") ? file.name.slice(
|
|
3736
|
+
file.name.lastIndexOf(".") + 1,
|
|
3737
|
+
file.name.lastIndexOf(".") + 5
|
|
3738
|
+
) : "file";
|
|
3739
|
+
return /* @__PURE__ */ jsx31("span", { className: "fe-file-upload__file-type", "aria-hidden": "true", children: extension });
|
|
3740
|
+
}
|
|
3741
|
+
var FileUpload = forwardRef14(
|
|
3742
|
+
function FileUpload2({
|
|
3743
|
+
value,
|
|
3744
|
+
defaultValue = [],
|
|
3745
|
+
onChange,
|
|
3746
|
+
onAccept,
|
|
3747
|
+
onReject,
|
|
3748
|
+
onRemove,
|
|
3749
|
+
accept,
|
|
3750
|
+
maxSize = Infinity,
|
|
3751
|
+
maxFiles = Infinity,
|
|
3752
|
+
multiple = true,
|
|
3753
|
+
disabled = false,
|
|
3754
|
+
preventDuplicate = true,
|
|
3755
|
+
label = "Upload files",
|
|
3756
|
+
description,
|
|
3757
|
+
dropLabel = "Drop files here",
|
|
3758
|
+
browseLabel = "Browse files",
|
|
3759
|
+
removeLabel = (file) => `Remove ${file.name}`,
|
|
3760
|
+
showFileList = true,
|
|
3761
|
+
inputProps,
|
|
3762
|
+
className,
|
|
3763
|
+
"aria-label": ariaLabel,
|
|
3764
|
+
...props
|
|
3765
|
+
}, forwardedRef) {
|
|
3766
|
+
const generatedId = useId13();
|
|
3767
|
+
const inputId = `${generatedId}-input`;
|
|
3768
|
+
const descriptionId = `${generatedId}-description`;
|
|
3769
|
+
const inputRef = useRef11(null);
|
|
3770
|
+
const dragDepthRef = useRef11(0);
|
|
3771
|
+
const [uncontrolledFiles, setUncontrolledFiles] = useState18(() => [
|
|
3772
|
+
...defaultValue
|
|
3773
|
+
]);
|
|
3774
|
+
const [isDragging, setIsDragging] = useState18(false);
|
|
3775
|
+
const [rejections, setRejections] = useState18([]);
|
|
3776
|
+
const files = value === void 0 ? uncontrolledFiles : [...value];
|
|
3777
|
+
const acceptList = useMemo3(() => normalizeAccept(accept), [accept]);
|
|
3778
|
+
const nativeAccept = acceptList.join(",") || void 0;
|
|
3779
|
+
const allowedFileCount = multiple ? maxFiles : 1;
|
|
3780
|
+
const safeMaxFiles = Number.isFinite(allowedFileCount) ? Math.max(0, Math.floor(allowedFileCount)) : Infinity;
|
|
3781
|
+
const helperText = description ?? [
|
|
3782
|
+
acceptList.length ? `Accepted: ${acceptList.join(", ")}` : void 0,
|
|
3783
|
+
Number.isFinite(maxSize) ? `Up to ${formatFileSize(maxSize)} per file` : void 0
|
|
3784
|
+
].filter(Boolean).join(" \u2022 ");
|
|
3785
|
+
const assignInputRef = (node) => {
|
|
3786
|
+
inputRef.current = node;
|
|
3787
|
+
if (typeof forwardedRef === "function") forwardedRef(node);
|
|
3788
|
+
else if (forwardedRef) {
|
|
3789
|
+
forwardedRef.current = node;
|
|
3790
|
+
}
|
|
3791
|
+
};
|
|
3792
|
+
const commitFiles = (nextFiles) => {
|
|
3793
|
+
if (value === void 0) setUncontrolledFiles(nextFiles);
|
|
3794
|
+
onChange?.(nextFiles);
|
|
3795
|
+
};
|
|
3796
|
+
const addFiles = (fileList) => {
|
|
3797
|
+
if (disabled) return;
|
|
3798
|
+
const candidates = Array.from(fileList ?? []);
|
|
3799
|
+
const nextRejections = [];
|
|
3800
|
+
const accepted = [];
|
|
3801
|
+
const knownFiles = new Set(files.map(fileSignature));
|
|
3802
|
+
for (const file of candidates) {
|
|
3803
|
+
const signature = fileSignature(file);
|
|
3804
|
+
if (!isAcceptedFile(file, acceptList)) {
|
|
3805
|
+
nextRejections.push({
|
|
3806
|
+
file,
|
|
3807
|
+
code: "accept",
|
|
3808
|
+
message: `${file.name} is not an accepted file type.`
|
|
3809
|
+
});
|
|
3810
|
+
} else if (file.size > maxSize) {
|
|
3811
|
+
nextRejections.push({
|
|
3812
|
+
file,
|
|
3813
|
+
code: "max-size",
|
|
3814
|
+
message: `${file.name} exceeds ${formatFileSize(maxSize)}.`
|
|
3815
|
+
});
|
|
3816
|
+
} else if (preventDuplicate && knownFiles.has(signature)) {
|
|
3817
|
+
nextRejections.push({
|
|
3818
|
+
file,
|
|
3819
|
+
code: "duplicate",
|
|
3820
|
+
message: `${file.name} is already in the list.`
|
|
3821
|
+
});
|
|
3822
|
+
} else if (files.length + accepted.length >= safeMaxFiles) {
|
|
3823
|
+
nextRejections.push({
|
|
3824
|
+
file,
|
|
3825
|
+
code: "max-files",
|
|
3826
|
+
message: `Only ${safeMaxFiles} file${safeMaxFiles === 1 ? "" : "s"} can be selected.`
|
|
3827
|
+
});
|
|
3828
|
+
} else {
|
|
3829
|
+
knownFiles.add(signature);
|
|
3830
|
+
accepted.push(file);
|
|
3831
|
+
}
|
|
3832
|
+
}
|
|
3833
|
+
setRejections(nextRejections);
|
|
3834
|
+
if (nextRejections.length) onReject?.(nextRejections);
|
|
3835
|
+
if (!accepted.length) return;
|
|
3836
|
+
commitFiles([...files, ...accepted]);
|
|
3837
|
+
onAccept?.(accepted);
|
|
3838
|
+
};
|
|
3839
|
+
const openFileDialog = () => {
|
|
3840
|
+
if (!disabled) inputRef.current?.click();
|
|
3841
|
+
};
|
|
3842
|
+
const removeFile = (file, index) => {
|
|
3843
|
+
if (disabled) return;
|
|
3844
|
+
onRemove?.(file, index);
|
|
3845
|
+
commitFiles(files.filter((_, fileIndex) => fileIndex !== index));
|
|
3846
|
+
};
|
|
3847
|
+
const handleDragEnter = (event) => {
|
|
3848
|
+
event.preventDefault();
|
|
3849
|
+
if (disabled) return;
|
|
3850
|
+
dragDepthRef.current += 1;
|
|
3851
|
+
setIsDragging(true);
|
|
3852
|
+
};
|
|
3853
|
+
const handleDragLeave = (event) => {
|
|
3854
|
+
event.preventDefault();
|
|
3855
|
+
dragDepthRef.current -= 1;
|
|
3856
|
+
if (dragDepthRef.current <= 0) {
|
|
3857
|
+
dragDepthRef.current = 0;
|
|
3858
|
+
setIsDragging(false);
|
|
3859
|
+
}
|
|
3860
|
+
};
|
|
3861
|
+
const handleDrop = (event) => {
|
|
3862
|
+
event.preventDefault();
|
|
3863
|
+
dragDepthRef.current = 0;
|
|
3864
|
+
setIsDragging(false);
|
|
3865
|
+
addFiles(event.dataTransfer.files);
|
|
3866
|
+
};
|
|
3867
|
+
return /* @__PURE__ */ jsxs26(
|
|
3868
|
+
"div",
|
|
3869
|
+
{
|
|
3870
|
+
...props,
|
|
3871
|
+
className: ["fe-file-upload", className].filter(Boolean).join(" "),
|
|
3872
|
+
children: [
|
|
3873
|
+
label && /* @__PURE__ */ jsx31("label", { className: "fe-file-upload__label", htmlFor: inputId, children: label }),
|
|
3874
|
+
helperText && /* @__PURE__ */ jsx31("span", { id: descriptionId, className: "fe-file-upload__description", children: helperText }),
|
|
3875
|
+
/* @__PURE__ */ jsx31(
|
|
3876
|
+
"input",
|
|
3877
|
+
{
|
|
3878
|
+
...inputProps,
|
|
3879
|
+
ref: assignInputRef,
|
|
3880
|
+
id: inputId,
|
|
3881
|
+
type: "file",
|
|
3882
|
+
className: "fe-file-upload__input",
|
|
3883
|
+
accept: nativeAccept,
|
|
3884
|
+
multiple,
|
|
3885
|
+
disabled,
|
|
3886
|
+
"aria-label": ariaLabel,
|
|
3887
|
+
"aria-describedby": helperText ? descriptionId : void 0,
|
|
3888
|
+
onChange: (event) => {
|
|
3889
|
+
addFiles(event.target.files);
|
|
3890
|
+
event.target.value = "";
|
|
3891
|
+
}
|
|
3892
|
+
}
|
|
3893
|
+
),
|
|
3894
|
+
/* @__PURE__ */ jsxs26(
|
|
3895
|
+
"div",
|
|
3896
|
+
{
|
|
3897
|
+
className: [
|
|
3898
|
+
"fe-file-upload__dropzone",
|
|
3899
|
+
isDragging && "fe-file-upload__dropzone--dragging",
|
|
3900
|
+
disabled && "fe-file-upload__dropzone--disabled"
|
|
3901
|
+
].filter(Boolean).join(" "),
|
|
3902
|
+
onDragEnter: handleDragEnter,
|
|
3903
|
+
onDragOver: (event) => event.preventDefault(),
|
|
3904
|
+
onDragLeave: handleDragLeave,
|
|
3905
|
+
onDrop: handleDrop,
|
|
3906
|
+
children: [
|
|
3907
|
+
/* @__PURE__ */ jsx31("span", { className: "fe-file-upload__drop-icon", "aria-hidden": "true", children: "\u2191" }),
|
|
3908
|
+
/* @__PURE__ */ jsx31("span", { className: "fe-file-upload__drop-label", children: dropLabel }),
|
|
3909
|
+
/* @__PURE__ */ jsx31("span", { className: "fe-file-upload__drop-hint", children: "or choose from your device" }),
|
|
3910
|
+
/* @__PURE__ */ jsx31(
|
|
3911
|
+
Button,
|
|
3912
|
+
{
|
|
3913
|
+
hierarchy: "secondary-gray",
|
|
3914
|
+
disabled,
|
|
3915
|
+
onClick: openFileDialog,
|
|
3916
|
+
children: browseLabel
|
|
3917
|
+
}
|
|
3918
|
+
)
|
|
3919
|
+
]
|
|
3920
|
+
}
|
|
3921
|
+
),
|
|
3922
|
+
rejections.length > 0 && /* @__PURE__ */ jsx31("div", { className: "fe-file-upload__errors", role: "alert", children: rejections.map((rejection) => /* @__PURE__ */ jsx31("p", { children: rejection.message }, `${fileSignature(rejection.file)}-${rejection.code}`)) }),
|
|
3923
|
+
showFileList && files.length > 0 && /* @__PURE__ */ jsx31("ul", { className: "fe-file-upload__list", "aria-label": "Selected files", children: files.map((file, index) => /* @__PURE__ */ jsxs26(
|
|
3924
|
+
"li",
|
|
3925
|
+
{
|
|
3926
|
+
className: "fe-file-upload__item",
|
|
3927
|
+
children: [
|
|
3928
|
+
/* @__PURE__ */ jsx31("span", { className: "fe-file-upload__visual", children: /* @__PURE__ */ jsx31(FileVisual, { file }) }),
|
|
3929
|
+
/* @__PURE__ */ jsxs26("span", { className: "fe-file-upload__file-details", children: [
|
|
3930
|
+
/* @__PURE__ */ jsx31("span", { className: "fe-file-upload__file-name", title: file.name, children: file.name }),
|
|
3931
|
+
/* @__PURE__ */ jsx31("span", { className: "fe-file-upload__file-size", children: formatFileSize(file.size) })
|
|
3932
|
+
] }),
|
|
3933
|
+
/* @__PURE__ */ jsx31(
|
|
3934
|
+
Button,
|
|
3935
|
+
{
|
|
3936
|
+
hierarchy: "tertiary-color",
|
|
3937
|
+
color: "error",
|
|
3938
|
+
destructive: true,
|
|
3939
|
+
size: "24",
|
|
3940
|
+
iconOnly: true,
|
|
3941
|
+
icon: /* @__PURE__ */ jsx31(CloseIcon, { size: 14 }),
|
|
3942
|
+
"aria-label": removeLabel(file),
|
|
3943
|
+
disabled,
|
|
3944
|
+
onClick: () => removeFile(file, index)
|
|
3945
|
+
}
|
|
3946
|
+
)
|
|
3947
|
+
]
|
|
3948
|
+
},
|
|
3949
|
+
`${fileSignature(file)}-${index}`
|
|
3950
|
+
)) })
|
|
3951
|
+
]
|
|
3952
|
+
}
|
|
3953
|
+
);
|
|
3954
|
+
}
|
|
3955
|
+
);
|
|
3956
|
+
FileUpload.displayName = "FileUpload";
|
|
3957
|
+
|
|
3958
|
+
// packages/file-preview/src/index.tsx
|
|
3959
|
+
import {
|
|
3960
|
+
useEffect as useEffect11,
|
|
3961
|
+
useId as useId14,
|
|
3962
|
+
useRef as useRef12,
|
|
3963
|
+
useState as useState19
|
|
3964
|
+
} from "react";
|
|
3965
|
+
import { createPortal as createPortal4 } from "react-dom";
|
|
3966
|
+
import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3967
|
+
function clampIndex(index, length) {
|
|
3968
|
+
if (!length) return 0;
|
|
3969
|
+
return Math.min(Math.max(Math.floor(index), 0), length - 1);
|
|
3970
|
+
}
|
|
3971
|
+
function hasExtension(file, extensions) {
|
|
3972
|
+
const name = file.name.toLowerCase();
|
|
3973
|
+
return extensions.some((extension) => name.endsWith(extension));
|
|
3974
|
+
}
|
|
3975
|
+
function getFilePreviewKind(file) {
|
|
3976
|
+
const type = file.type.toLowerCase();
|
|
3977
|
+
if (type.startsWith("image/") || hasExtension(file, [".svg"])) return "image";
|
|
3978
|
+
if (type.startsWith("video/")) return "video";
|
|
3979
|
+
if (type.startsWith("audio/")) return "audio";
|
|
3980
|
+
if (type === "application/pdf" || hasExtension(file, [".pdf"])) return "pdf";
|
|
3981
|
+
return "unsupported";
|
|
3982
|
+
}
|
|
3983
|
+
function formatFileSize2(bytes) {
|
|
3984
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
3985
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
3986
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
3987
|
+
}
|
|
3988
|
+
function getFileExtension(file) {
|
|
3989
|
+
const dotIndex = file.name.lastIndexOf(".");
|
|
3990
|
+
return dotIndex >= 0 ? file.name.slice(dotIndex + 1).toUpperCase() : "FILE";
|
|
3991
|
+
}
|
|
3992
|
+
function useFileObjectUrl(file) {
|
|
3993
|
+
const [preview, setPreview] = useState19();
|
|
3994
|
+
useEffect11(() => {
|
|
3995
|
+
if (!file || typeof URL.createObjectURL !== "function") {
|
|
3996
|
+
setPreview(void 0);
|
|
3997
|
+
return;
|
|
3998
|
+
}
|
|
3999
|
+
const url = URL.createObjectURL(file);
|
|
4000
|
+
setPreview({ file, url });
|
|
4001
|
+
return () => URL.revokeObjectURL(url);
|
|
4002
|
+
}, [file]);
|
|
4003
|
+
if (!preview || preview.file !== file) return void 0;
|
|
4004
|
+
return preview.url;
|
|
4005
|
+
}
|
|
4006
|
+
function startLocalDownload(file) {
|
|
4007
|
+
if (typeof document === "undefined" || typeof URL.createObjectURL !== "function") {
|
|
4008
|
+
return;
|
|
4009
|
+
}
|
|
4010
|
+
const url = URL.createObjectURL(file);
|
|
4011
|
+
const anchor = document.createElement("a");
|
|
4012
|
+
anchor.href = url;
|
|
4013
|
+
anchor.download = file.name;
|
|
4014
|
+
anchor.hidden = true;
|
|
4015
|
+
document.body.append(anchor);
|
|
4016
|
+
anchor.click();
|
|
4017
|
+
anchor.remove();
|
|
4018
|
+
window.setTimeout(() => URL.revokeObjectURL(url), 0);
|
|
4019
|
+
}
|
|
4020
|
+
function PreviewContent({ file }) {
|
|
4021
|
+
const kind = getFilePreviewKind(file);
|
|
4022
|
+
const url = useFileObjectUrl(file);
|
|
4023
|
+
if (url && kind === "image") {
|
|
4024
|
+
return /* @__PURE__ */ jsx32("img", { className: "fe-file-preview__image", src: url, alt: file.name });
|
|
4025
|
+
}
|
|
4026
|
+
if (url && kind === "video") {
|
|
4027
|
+
return /* @__PURE__ */ jsx32("video", { className: "fe-file-preview__video", controls: true, src: url, children: "Your browser cannot play this video." });
|
|
4028
|
+
}
|
|
4029
|
+
if (url && kind === "audio") {
|
|
4030
|
+
return /* @__PURE__ */ jsx32("audio", { className: "fe-file-preview__audio", controls: true, src: url });
|
|
4031
|
+
}
|
|
4032
|
+
if (url && kind === "pdf") {
|
|
4033
|
+
return /* @__PURE__ */ jsx32(
|
|
4034
|
+
"iframe",
|
|
4035
|
+
{
|
|
4036
|
+
className: "fe-file-preview__pdf",
|
|
4037
|
+
title: `Preview ${file.name}`,
|
|
4038
|
+
src: `${url}#view=FitH`
|
|
4039
|
+
}
|
|
4040
|
+
);
|
|
4041
|
+
}
|
|
4042
|
+
return /* @__PURE__ */ jsxs27("div", { className: "fe-file-preview__unsupported", children: [
|
|
4043
|
+
/* @__PURE__ */ jsx32("span", { className: "fe-file-preview__file-type", "aria-hidden": "true", children: getFileExtension(file) }),
|
|
4044
|
+
/* @__PURE__ */ jsx32("p", { children: "Preview is not available for this file type." }),
|
|
4045
|
+
/* @__PURE__ */ jsx32("span", { children: file.name })
|
|
4046
|
+
] });
|
|
4047
|
+
}
|
|
4048
|
+
function FilePreview({
|
|
4049
|
+
open,
|
|
4050
|
+
files,
|
|
4051
|
+
activeIndex,
|
|
4052
|
+
defaultActiveIndex = 0,
|
|
4053
|
+
onActiveIndexChange,
|
|
4054
|
+
onClose,
|
|
4055
|
+
onEscape,
|
|
4056
|
+
onDelete,
|
|
4057
|
+
onDownload,
|
|
4058
|
+
closeOnBackdropClick = true,
|
|
4059
|
+
closeOnEscape = true,
|
|
4060
|
+
closeLabel = "Close file preview",
|
|
4061
|
+
downloadLabel = "Download",
|
|
4062
|
+
deleteLabel = "Delete",
|
|
4063
|
+
hideDownload = false,
|
|
4064
|
+
className,
|
|
4065
|
+
"aria-label": ariaLabel,
|
|
4066
|
+
...props
|
|
4067
|
+
}) {
|
|
4068
|
+
const titleId = useId14();
|
|
4069
|
+
const panelRef = useRef12(null);
|
|
4070
|
+
const [uncontrolledIndex, setUncontrolledIndex] = useState19(defaultActiveIndex);
|
|
4071
|
+
const resolvedIndex = clampIndex(
|
|
4072
|
+
activeIndex ?? uncontrolledIndex,
|
|
4073
|
+
files.length
|
|
4074
|
+
);
|
|
4075
|
+
const activeFile = files[resolvedIndex];
|
|
4076
|
+
const hasPrevious = resolvedIndex > 0;
|
|
4077
|
+
const hasNext = resolvedIndex < files.length - 1;
|
|
4078
|
+
const requestClose = (reason) => {
|
|
4079
|
+
if (reason === "escape") onEscape?.();
|
|
4080
|
+
onClose(reason);
|
|
4081
|
+
};
|
|
4082
|
+
useModalOverlay({
|
|
4083
|
+
open,
|
|
4084
|
+
onClose: () => requestClose("escape"),
|
|
4085
|
+
panelRef,
|
|
4086
|
+
priority: 1200,
|
|
4087
|
+
closeOnEscape
|
|
4088
|
+
});
|
|
4089
|
+
useEffect11(() => {
|
|
4090
|
+
if (activeIndex === void 0) {
|
|
4091
|
+
setUncontrolledIndex((index) => clampIndex(index, files.length));
|
|
4092
|
+
}
|
|
4093
|
+
}, [activeIndex, files.length]);
|
|
4094
|
+
const changeActiveIndex = (nextIndex) => {
|
|
4095
|
+
const next = clampIndex(nextIndex, files.length);
|
|
4096
|
+
const nextFile = files[next];
|
|
4097
|
+
if (!nextFile || next === resolvedIndex) return;
|
|
4098
|
+
if (activeIndex === void 0) setUncontrolledIndex(next);
|
|
4099
|
+
onActiveIndexChange?.(next, nextFile);
|
|
4100
|
+
};
|
|
4101
|
+
const handleKeyDown = (event) => {
|
|
4102
|
+
if (event.key === "ArrowLeft" && hasPrevious) {
|
|
4103
|
+
event.preventDefault();
|
|
4104
|
+
changeActiveIndex(resolvedIndex - 1);
|
|
4105
|
+
}
|
|
4106
|
+
if (event.key === "ArrowRight" && hasNext) {
|
|
4107
|
+
event.preventDefault();
|
|
4108
|
+
changeActiveIndex(resolvedIndex + 1);
|
|
4109
|
+
}
|
|
4110
|
+
};
|
|
4111
|
+
if (!open || typeof document === "undefined") return null;
|
|
4112
|
+
return createPortal4(
|
|
4113
|
+
/* @__PURE__ */ jsx32(
|
|
4114
|
+
"div",
|
|
4115
|
+
{
|
|
4116
|
+
className: "fe-file-preview-backdrop",
|
|
4117
|
+
role: "presentation",
|
|
4118
|
+
onMouseDown: (event) => {
|
|
4119
|
+
if (event.target === event.currentTarget && closeOnBackdropClick) {
|
|
4120
|
+
requestClose("backdrop");
|
|
4121
|
+
}
|
|
4122
|
+
},
|
|
4123
|
+
children: /* @__PURE__ */ jsxs27(
|
|
4124
|
+
"div",
|
|
4125
|
+
{
|
|
4126
|
+
...props,
|
|
4127
|
+
ref: panelRef,
|
|
4128
|
+
className: ["fe-file-preview", className].filter(Boolean).join(" "),
|
|
4129
|
+
role: "dialog",
|
|
4130
|
+
"aria-modal": "true",
|
|
4131
|
+
"aria-labelledby": activeFile ? titleId : void 0,
|
|
4132
|
+
"aria-label": ariaLabel ?? (activeFile ? void 0 : "File preview"),
|
|
4133
|
+
tabIndex: -1,
|
|
4134
|
+
onKeyDown: handleKeyDown,
|
|
4135
|
+
children: [
|
|
4136
|
+
/* @__PURE__ */ jsxs27("header", { className: "fe-file-preview__header", children: [
|
|
4137
|
+
/* @__PURE__ */ jsxs27("div", { className: "fe-file-preview__heading", children: [
|
|
4138
|
+
/* @__PURE__ */ jsx32("h2", { id: titleId, children: activeFile?.name ?? "File preview" }),
|
|
4139
|
+
/* @__PURE__ */ jsx32("span", { "aria-label": `${resolvedIndex + 1} of ${files.length} files`, children: files.length ? `${resolvedIndex + 1} / ${files.length}` : "0 / 0" })
|
|
4140
|
+
] }),
|
|
4141
|
+
/* @__PURE__ */ jsx32(
|
|
4142
|
+
Button,
|
|
4143
|
+
{
|
|
4144
|
+
hierarchy: "tertiary-gray",
|
|
4145
|
+
size: "32",
|
|
4146
|
+
iconOnly: true,
|
|
4147
|
+
icon: /* @__PURE__ */ jsx32(CloseIcon, {}),
|
|
4148
|
+
"aria-label": closeLabel,
|
|
4149
|
+
onClick: () => requestClose("close")
|
|
4150
|
+
}
|
|
4151
|
+
)
|
|
4152
|
+
] }),
|
|
4153
|
+
/* @__PURE__ */ jsxs27("div", { className: "fe-file-preview__body", children: [
|
|
4154
|
+
activeFile ? /* @__PURE__ */ jsx32(PreviewContent, { file: activeFile }) : /* @__PURE__ */ jsx32("p", { className: "fe-file-preview__empty", children: "No files to preview." }),
|
|
4155
|
+
activeFile && files.length > 1 && /* @__PURE__ */ jsxs27(Fragment4, { children: [
|
|
4156
|
+
/* @__PURE__ */ jsx32(
|
|
4157
|
+
Button,
|
|
4158
|
+
{
|
|
4159
|
+
className: "fe-file-preview__navigation fe-file-preview__navigation--previous",
|
|
4160
|
+
hierarchy: "secondary-gray",
|
|
4161
|
+
size: "40",
|
|
4162
|
+
iconOnly: true,
|
|
4163
|
+
icon: /* @__PURE__ */ jsx32(ChevronDownIcon, {}),
|
|
4164
|
+
"aria-label": "Previous file",
|
|
4165
|
+
disabled: !hasPrevious,
|
|
4166
|
+
onClick: () => changeActiveIndex(resolvedIndex - 1)
|
|
4167
|
+
}
|
|
4168
|
+
),
|
|
4169
|
+
/* @__PURE__ */ jsx32(
|
|
4170
|
+
Button,
|
|
4171
|
+
{
|
|
4172
|
+
className: "fe-file-preview__navigation fe-file-preview__navigation--next",
|
|
4173
|
+
hierarchy: "secondary-gray",
|
|
4174
|
+
size: "40",
|
|
4175
|
+
iconOnly: true,
|
|
4176
|
+
icon: /* @__PURE__ */ jsx32(ChevronDownIcon, {}),
|
|
4177
|
+
"aria-label": "Next file",
|
|
4178
|
+
disabled: !hasNext,
|
|
4179
|
+
onClick: () => changeActiveIndex(resolvedIndex + 1)
|
|
4180
|
+
}
|
|
4181
|
+
)
|
|
4182
|
+
] })
|
|
4183
|
+
] }),
|
|
4184
|
+
activeFile && /* @__PURE__ */ jsxs27("footer", { className: "fe-file-preview__footer", children: [
|
|
4185
|
+
/* @__PURE__ */ jsxs27("span", { className: "fe-file-preview__metadata", children: [
|
|
4186
|
+
getFilePreviewKind(activeFile),
|
|
4187
|
+
" \xB7",
|
|
4188
|
+
" ",
|
|
4189
|
+
formatFileSize2(activeFile.size)
|
|
4190
|
+
] }),
|
|
4191
|
+
/* @__PURE__ */ jsxs27("div", { className: "fe-file-preview__actions", children: [
|
|
4192
|
+
!hideDownload && /* @__PURE__ */ jsx32(
|
|
4193
|
+
Button,
|
|
4194
|
+
{
|
|
4195
|
+
hierarchy: "secondary-gray",
|
|
4196
|
+
onClick: () => {
|
|
4197
|
+
onDownload?.(activeFile, resolvedIndex);
|
|
4198
|
+
startLocalDownload(activeFile);
|
|
4199
|
+
},
|
|
4200
|
+
children: downloadLabel
|
|
4201
|
+
}
|
|
4202
|
+
),
|
|
4203
|
+
onDelete && /* @__PURE__ */ jsx32(
|
|
4204
|
+
Button,
|
|
4205
|
+
{
|
|
4206
|
+
hierarchy: "secondary-color",
|
|
4207
|
+
color: "error",
|
|
4208
|
+
destructive: true,
|
|
4209
|
+
onClick: () => onDelete(activeFile, resolvedIndex),
|
|
4210
|
+
children: deleteLabel
|
|
4211
|
+
}
|
|
4212
|
+
)
|
|
4213
|
+
] })
|
|
4214
|
+
] })
|
|
4215
|
+
]
|
|
4216
|
+
}
|
|
4217
|
+
)
|
|
4218
|
+
}
|
|
4219
|
+
),
|
|
4220
|
+
document.body
|
|
4221
|
+
);
|
|
4222
|
+
}
|
|
4223
|
+
|
|
4224
|
+
// packages/not-found/src/index.tsx
|
|
4225
|
+
import {
|
|
4226
|
+
useEffect as useEffect12,
|
|
4227
|
+
useId as useId16,
|
|
4228
|
+
useRef as useRef13,
|
|
4229
|
+
useState as useState20
|
|
4230
|
+
} from "react";
|
|
4231
|
+
|
|
4232
|
+
// packages/not-found/src/CavemanArtwork.tsx
|
|
4233
|
+
import { jsx as jsx33, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4234
|
+
function CavemanArtwork() {
|
|
4235
|
+
return /* @__PURE__ */ jsxs28("div", { className: "fe-cave-scene", children: [
|
|
4236
|
+
" ",
|
|
4237
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-text", children: /* @__PURE__ */ jsx33("span", { children: "404" }) }),
|
|
4238
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-container", children: [
|
|
4239
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-caveman", children: [
|
|
4240
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-leg", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-foot", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-fingers" }) }) }),
|
|
4241
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-leg", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-foot", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-fingers" }) }) }),
|
|
4242
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-shape", children: [
|
|
4243
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-circle" }),
|
|
4244
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-circle" })
|
|
4245
|
+
] }),
|
|
4246
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-head", children: [
|
|
4247
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-eye", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-nose" }) }),
|
|
4248
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-mouth" })
|
|
4249
|
+
] }),
|
|
4250
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-arm-right", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-club" }) })
|
|
4251
|
+
] }),
|
|
4252
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-caveman", children: [
|
|
4253
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-leg", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-foot", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-fingers" }) }) }),
|
|
4254
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-leg", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-foot", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-fingers" }) }) }),
|
|
4255
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-shape", children: [
|
|
4256
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-circle" }),
|
|
4257
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-circle" })
|
|
4258
|
+
] }),
|
|
4259
|
+
/* @__PURE__ */ jsxs28("div", { className: "fe-cave-head", children: [
|
|
4260
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-eye", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-nose" }) }),
|
|
4261
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-mouth" })
|
|
4262
|
+
] }),
|
|
4263
|
+
/* @__PURE__ */ jsx33("div", { className: "fe-cave-arm-right", children: /* @__PURE__ */ jsx33("div", { className: "fe-cave-club" }) })
|
|
4264
|
+
] })
|
|
4265
|
+
] })
|
|
4266
|
+
] });
|
|
4267
|
+
}
|
|
4268
|
+
|
|
4269
|
+
// packages/not-found/src/YetiArtwork.tsx
|
|
4270
|
+
import { useId as useId15 } from "react";
|
|
4271
|
+
import { jsx as jsx34, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
4272
|
+
function YetiArtwork() {
|
|
4273
|
+
const id = useId15();
|
|
4274
|
+
return /* @__PURE__ */ jsxs29("div", { className: "fe-yeti-scene", children: [
|
|
4275
|
+
" ",
|
|
4276
|
+
/* @__PURE__ */ jsxs29(
|
|
4277
|
+
"svg",
|
|
4278
|
+
{
|
|
4279
|
+
"data-part": "yetiSVG",
|
|
4280
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4281
|
+
viewBox: "0 0 600 550",
|
|
4282
|
+
children: [
|
|
4283
|
+
/* @__PURE__ */ jsxs29(
|
|
4284
|
+
"linearGradient",
|
|
4285
|
+
{
|
|
4286
|
+
id: `${id}-flashlightGrad`,
|
|
4287
|
+
x1: "126.5842",
|
|
4288
|
+
x2: "90.5842",
|
|
4289
|
+
y1: "176.5625",
|
|
4290
|
+
y2: "213.5625",
|
|
4291
|
+
gradientUnits: "userSpaceOnUse",
|
|
4292
|
+
children: [
|
|
4293
|
+
/* @__PURE__ */ jsx34("stop", { offset: "0", stopColor: "#333" }),
|
|
4294
|
+
/* @__PURE__ */ jsx34("stop", { offset: ".076", stopColor: "#414141" }),
|
|
4295
|
+
/* @__PURE__ */ jsx34("stop", { offset: ".2213", stopColor: "#555" }),
|
|
4296
|
+
/* @__PURE__ */ jsx34("stop", { offset: ".3651", stopColor: "#626262" }),
|
|
4297
|
+
/* @__PURE__ */ jsx34("stop", { offset: ".5043", stopColor: "#666" }),
|
|
4298
|
+
/* @__PURE__ */ jsx34("stop", { offset: ".6323", stopColor: "#606060" }),
|
|
4299
|
+
/* @__PURE__ */ jsx34("stop", { offset: ".8063", stopColor: "#4e4e4e" }),
|
|
4300
|
+
/* @__PURE__ */ jsx34("stop", { offset: "1", stopColor: "#333" })
|
|
4301
|
+
]
|
|
4302
|
+
}
|
|
4303
|
+
),
|
|
4304
|
+
/* @__PURE__ */ jsx34("path", { fill: "#24658F", d: "M0 0h600v470H0z" }),
|
|
4305
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "pillow", children: [
|
|
4306
|
+
/* @__PURE__ */ jsx34(
|
|
4307
|
+
"path",
|
|
4308
|
+
{
|
|
4309
|
+
fill: "#09334F",
|
|
4310
|
+
d: "M241.3 124.6c-52.9 28.6-112.6 48-181.8 54.4-40.9 6.8-64.6-82.3-31.9-106.6C84 43.8 144.8 26.2 209.4 18c32.8 13 48.5 75.3 31.9 106.6z"
|
|
4311
|
+
}
|
|
4312
|
+
),
|
|
4313
|
+
/* @__PURE__ */ jsx34(
|
|
4314
|
+
"path",
|
|
4315
|
+
{
|
|
4316
|
+
fill: "none",
|
|
4317
|
+
stroke: "#001726",
|
|
4318
|
+
strokeLinecap: "round",
|
|
4319
|
+
strokeLinejoin: "round",
|
|
4320
|
+
strokeWidth: "2.5",
|
|
4321
|
+
d: "M52.8 91.3c10 7.4 25.4 50.7 16.1 65.8M241.3 124.6c-52.9 28.6-112.6 48-181.8 54.4-40.9 6.8-64.6-82.3-31.9-106.6C84 43.8 144.8 26.2 209.4 18c32.8 13 48.5 75.3 31.9 106.6z"
|
|
4322
|
+
}
|
|
4323
|
+
),
|
|
4324
|
+
/* @__PURE__ */ jsx34(
|
|
4325
|
+
"path",
|
|
4326
|
+
{
|
|
4327
|
+
fill: "#09334F",
|
|
4328
|
+
stroke: "#001726",
|
|
4329
|
+
strokeLinecap: "round",
|
|
4330
|
+
strokeLinejoin: "round",
|
|
4331
|
+
strokeWidth: "2.5",
|
|
4332
|
+
d: "M201.9 21.9c4.9-8 14.1-11.3 20.6-7.3s7.7 13.7 2.8 21.7"
|
|
4333
|
+
}
|
|
4334
|
+
),
|
|
4335
|
+
/* @__PURE__ */ jsx34(
|
|
4336
|
+
"path",
|
|
4337
|
+
{
|
|
4338
|
+
fill: "#09334F",
|
|
4339
|
+
stroke: "#001726",
|
|
4340
|
+
strokeLinecap: "round",
|
|
4341
|
+
strokeLinejoin: "round",
|
|
4342
|
+
strokeWidth: "2.5",
|
|
4343
|
+
d: "M242.1 103.1c1.8.3 3.6.9 5.3 1.8 8.4 4.1 12.6 13 9.3 19.8s-12.9 9-21.3 4.9c-1.9-.9-3.6-2.1-5-3.4"
|
|
4344
|
+
}
|
|
4345
|
+
),
|
|
4346
|
+
/* @__PURE__ */ jsx34(
|
|
4347
|
+
"path",
|
|
4348
|
+
{
|
|
4349
|
+
fill: "#09334F",
|
|
4350
|
+
stroke: "#001726",
|
|
4351
|
+
strokeLinecap: "round",
|
|
4352
|
+
strokeLinejoin: "round",
|
|
4353
|
+
strokeWidth: "2.5",
|
|
4354
|
+
d: "M70.3 172c.2 1.4.2 2.8.1 4.3-.8 9.4-8.3 16.4-16.7 15.6S39.2 183 40 173.7c.1-1.6.5-3.1 1-4.5"
|
|
4355
|
+
}
|
|
4356
|
+
),
|
|
4357
|
+
/* @__PURE__ */ jsx34(
|
|
4358
|
+
"path",
|
|
4359
|
+
{
|
|
4360
|
+
fill: "#09334F",
|
|
4361
|
+
stroke: "#001726",
|
|
4362
|
+
strokeLinecap: "round",
|
|
4363
|
+
strokeLinejoin: "round",
|
|
4364
|
+
strokeWidth: "2.5",
|
|
4365
|
+
d: "M20.9 85.1c-4.1-5-5.1-11.6-2.1-16.9 4.1-7.2 14-9.2 22.1-4.6 3.7 2.1 6.4 5.2 7.9 8.6"
|
|
4366
|
+
}
|
|
4367
|
+
)
|
|
4368
|
+
] }),
|
|
4369
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "yeti", children: [
|
|
4370
|
+
/* @__PURE__ */ jsx34(
|
|
4371
|
+
"path",
|
|
4372
|
+
{
|
|
4373
|
+
"data-part": "bodyBG",
|
|
4374
|
+
fill: "#67B1E0",
|
|
4375
|
+
d: "M80.9 291.4l-17.1-72.8c-6.3-27 10.4-54 37.4-60.3l93.1-29.6c26.5-8.1 54.6 6.8 62.7 33.3l21.9 71.5"
|
|
4376
|
+
}
|
|
4377
|
+
),
|
|
4378
|
+
/* @__PURE__ */ jsx34(
|
|
4379
|
+
"path",
|
|
4380
|
+
{
|
|
4381
|
+
className: "hlFur",
|
|
4382
|
+
"data-part": "hlBody",
|
|
4383
|
+
fill: "#FFF",
|
|
4384
|
+
d: "M67.1 232.7c15.6-8.7 27.7-23.7 38-38.7 5.5-8 10.9-16.4 18.3-22.7 13.1-11.2 31.3-14.8 48.6-15 4.9 0 9.9.1 14.5-1.7 3.6-1.5 6.5-4.1 9.3-6.9 6.5-6.5 12-14 18-21-6.4-.6-12.9 0-19.4 2l-93.1 29.6c-27 6.3-43.7 33.4-37.4 60.3l3.2 14.1z"
|
|
4385
|
+
}
|
|
4386
|
+
),
|
|
4387
|
+
/* @__PURE__ */ jsx34(
|
|
4388
|
+
"path",
|
|
4389
|
+
{
|
|
4390
|
+
"data-part": "bodyOutline",
|
|
4391
|
+
fill: "none",
|
|
4392
|
+
stroke: "#265D85",
|
|
4393
|
+
strokeLinecap: "round",
|
|
4394
|
+
strokeLinejoin: "round",
|
|
4395
|
+
strokeWidth: "2.5",
|
|
4396
|
+
d: "M80.9 291.4l-17.1-72.8c-6.3-27 10.4-54 37.4-60.3l93.1-29.6c26.5-8.1 54.6 6.8 62.7 33.3l21.9 71.5"
|
|
4397
|
+
}
|
|
4398
|
+
),
|
|
4399
|
+
/* @__PURE__ */ jsx34(
|
|
4400
|
+
"path",
|
|
4401
|
+
{
|
|
4402
|
+
fill: "#67B1E0",
|
|
4403
|
+
d: "M197.5 132.4l-11.2-47.9c-6.3-26.7-32.7-44.1-59.5-38.2-27.4 6-44.5 33.1-38.1 60.3l13.6 56.2"
|
|
4404
|
+
}
|
|
4405
|
+
),
|
|
4406
|
+
/* @__PURE__ */ jsx34(
|
|
4407
|
+
"path",
|
|
4408
|
+
{
|
|
4409
|
+
className: "hlFur",
|
|
4410
|
+
"data-part": "hlHead",
|
|
4411
|
+
fill: "#FFF",
|
|
4412
|
+
d: "M100.4 132.3l7.4 29.8 89.7-28.8-11.4-48.9c-1.6-6.8-4.5-12.9-8.4-18.3-9.6-7.9-28.5-12.9-46.9-8.5-24.9 5.9-34.5 23.6-38.1 37.9-.8.8-3.8 3-5.1 5.4.2 1.9.5 3.7 1 5.6l7 28.8 4.8-3z"
|
|
4413
|
+
}
|
|
4414
|
+
),
|
|
4415
|
+
/* @__PURE__ */ jsx34(
|
|
4416
|
+
"path",
|
|
4417
|
+
{
|
|
4418
|
+
fill: "#67B1E0",
|
|
4419
|
+
stroke: "#265D85",
|
|
4420
|
+
strokeLinecap: "round",
|
|
4421
|
+
strokeLinejoin: "round",
|
|
4422
|
+
strokeWidth: "2.5",
|
|
4423
|
+
d: "M182.1 71.6c3.8 3.6 7 7.7 9.5 12-1.8.4-3.6.9-5.3 1.6 3.2 2.9 5.7 6.3 7.6 9.9-1.1.3-2.2.7-3.3 1.1 2.5 3.5 4.3 7.4 5.4 11.5-.8-.5-2.2-.8-3.3-1"
|
|
4424
|
+
}
|
|
4425
|
+
),
|
|
4426
|
+
/* @__PURE__ */ jsx34(
|
|
4427
|
+
"path",
|
|
4428
|
+
{
|
|
4429
|
+
fill: "none",
|
|
4430
|
+
stroke: "#265D85",
|
|
4431
|
+
strokeLinecap: "round",
|
|
4432
|
+
strokeLinejoin: "round",
|
|
4433
|
+
strokeWidth: "2.5",
|
|
4434
|
+
d: "M197.5 132.4l-11.2-47.9c-6.3-26.7-32.7-44.1-59.5-38.2-27.4 6-44.5 33.1-38.1 60.3l13.6 56.2"
|
|
4435
|
+
}
|
|
4436
|
+
),
|
|
4437
|
+
/* @__PURE__ */ jsxs29("g", { children: [
|
|
4438
|
+
/* @__PURE__ */ jsx34(
|
|
4439
|
+
"ellipse",
|
|
4440
|
+
{
|
|
4441
|
+
cx: "85.8",
|
|
4442
|
+
cy: "120.4",
|
|
4443
|
+
fill: "#88C9F2",
|
|
4444
|
+
rx: "11.5",
|
|
4445
|
+
ry: "11.5",
|
|
4446
|
+
transform: "rotate(-66.265 85.7992 120.4318)"
|
|
4447
|
+
}
|
|
4448
|
+
),
|
|
4449
|
+
/* @__PURE__ */ jsx34(
|
|
4450
|
+
"path",
|
|
4451
|
+
{
|
|
4452
|
+
className: "hlSkin",
|
|
4453
|
+
"data-part": "hlEar",
|
|
4454
|
+
fill: "#DDF1FA",
|
|
4455
|
+
d: "M80.4 122.2c-1.3-5.5 1.6-11.1 6.6-13.2-1.3-.1-2.6-.1-3.9.3-6.2 1.5-10 7.7-8.5 13.9s7.7 10 13.9 8.5c.7-.2 1.3-.4 1.9-.6-4.7-.6-8.9-4-10-8.9z"
|
|
4456
|
+
}
|
|
4457
|
+
),
|
|
4458
|
+
/* @__PURE__ */ jsx34(
|
|
4459
|
+
"path",
|
|
4460
|
+
{
|
|
4461
|
+
fill: "#88C9F2",
|
|
4462
|
+
stroke: "#265D85",
|
|
4463
|
+
strokeLinecap: "round",
|
|
4464
|
+
strokeLinejoin: "round",
|
|
4465
|
+
strokeWidth: "2.5",
|
|
4466
|
+
d: "M84.2 116.6c-2.2.5-3.6 2.8-3 5 .5 2.2 2.8 3.6 5 3"
|
|
4467
|
+
}
|
|
4468
|
+
),
|
|
4469
|
+
/* @__PURE__ */ jsx34(
|
|
4470
|
+
"ellipse",
|
|
4471
|
+
{
|
|
4472
|
+
cx: "85.8",
|
|
4473
|
+
cy: "120.4",
|
|
4474
|
+
fill: "none",
|
|
4475
|
+
stroke: "#265D85",
|
|
4476
|
+
strokeWidth: "2.5",
|
|
4477
|
+
rx: "11.5",
|
|
4478
|
+
ry: "11.5",
|
|
4479
|
+
transform: "rotate(-66.265 85.7992 120.4318)"
|
|
4480
|
+
}
|
|
4481
|
+
),
|
|
4482
|
+
/* @__PURE__ */ jsx34(
|
|
4483
|
+
"path",
|
|
4484
|
+
{
|
|
4485
|
+
className: "hlFur",
|
|
4486
|
+
fill: "#FFF",
|
|
4487
|
+
d: "M106 130.3l-12 3.6 1.2-11.4-6.3-.1 6-12h-5.4l9.6-8.4z"
|
|
4488
|
+
}
|
|
4489
|
+
),
|
|
4490
|
+
/* @__PURE__ */ jsx34(
|
|
4491
|
+
"path",
|
|
4492
|
+
{
|
|
4493
|
+
className: "hlFur",
|
|
4494
|
+
fill: "#FFF",
|
|
4495
|
+
stroke: "#265D85",
|
|
4496
|
+
strokeLinecap: "round",
|
|
4497
|
+
strokeLinejoin: "round",
|
|
4498
|
+
strokeWidth: "2.5",
|
|
4499
|
+
d: "M92.1 96.4c-5.1 5.9-8.4 11.7-10 17 4.2-1.2 8.5-2.2 12.8-3-4.2 4.8-6.7 9.5-7.6 13.8 2.7-.7 5.4-1.3 8-1.7-2.3 4.8-2.8 9.2-1.7 13.3 1.4-1 4-2.4 6.1-3.4"
|
|
4500
|
+
}
|
|
4501
|
+
)
|
|
4502
|
+
] }),
|
|
4503
|
+
/* @__PURE__ */ jsx34(
|
|
4504
|
+
"path",
|
|
4505
|
+
{
|
|
4506
|
+
className: "hlSkin",
|
|
4507
|
+
"data-part": "face",
|
|
4508
|
+
fill: "#DDF1FA",
|
|
4509
|
+
d: "M169.1 70.4l7.3 23.4c9.4 26.8-1.8 45-20 50.7s-37.8-5.1-45.8-30.1L103.3 91"
|
|
4510
|
+
}
|
|
4511
|
+
),
|
|
4512
|
+
/* @__PURE__ */ jsx34(
|
|
4513
|
+
"path",
|
|
4514
|
+
{
|
|
4515
|
+
"data-part": "chin",
|
|
4516
|
+
fill: "none",
|
|
4517
|
+
stroke: "#265D85",
|
|
4518
|
+
strokeLinecap: "round",
|
|
4519
|
+
strokeLinejoin: "round",
|
|
4520
|
+
strokeWidth: "2.5",
|
|
4521
|
+
d: "M152.4 147.5c3.8 1 8 1.4 12.3 1.1-.5-1.4-1-2.9-1.6-4.3 3.8.6 7.9.7 12.1.1l-3.3-4.8c3.1-.6 6.3-1.6 9.5-3.1-1.4-1.6-2.8-3.1-4.2-4.6"
|
|
4522
|
+
}
|
|
4523
|
+
),
|
|
4524
|
+
/* @__PURE__ */ jsx34(
|
|
4525
|
+
"path",
|
|
4526
|
+
{
|
|
4527
|
+
className: "hlFur",
|
|
4528
|
+
"data-part": "eyebrow",
|
|
4529
|
+
fill: "#FFF",
|
|
4530
|
+
stroke: "#265D85",
|
|
4531
|
+
strokeLinecap: "round",
|
|
4532
|
+
strokeLinejoin: "round",
|
|
4533
|
+
strokeWidth: "2.5",
|
|
4534
|
+
d: "M100.9 89.8c7.6 3.5 15.9 6.1 24.7 7.7 1.1-3.3 2.1-6.6 3-9.9 5.5 2.3 11.3 4.1 17.5 5.4.2-3.3.4-6.5.4-9.7 4.5.7 9.2 1.1 14 1.1-.5-3.4-1.1-6.7-1.7-10 4.5-1.9 9-4.2 13.3-6.9"
|
|
4535
|
+
}
|
|
4536
|
+
),
|
|
4537
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "eyeL", children: [
|
|
4538
|
+
/* @__PURE__ */ jsx34("circle", { cx: "135.9", cy: "105.3", r: "3.5", fill: "#265D85" }),
|
|
4539
|
+
/* @__PURE__ */ jsx34("circle", { cx: "133.7", cy: "103.5", r: "1", fill: "#FFF" })
|
|
4540
|
+
] }),
|
|
4541
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "eyeR", children: [
|
|
4542
|
+
/* @__PURE__ */ jsx34("circle", { cx: "163.2", cy: "96.3", r: "3.5", fill: "#265D85" }),
|
|
4543
|
+
/* @__PURE__ */ jsx34("circle", { cx: "160.9", cy: "94.5", r: "1", fill: "#FFF" })
|
|
4544
|
+
] }),
|
|
4545
|
+
/* @__PURE__ */ jsx34(
|
|
4546
|
+
"path",
|
|
4547
|
+
{
|
|
4548
|
+
"data-part": "nose",
|
|
4549
|
+
fill: "#265D85",
|
|
4550
|
+
d: "M149.3 101.2l4.4-1.6c1.8-.6 3.6 1 3.1 2.9l-1.1 3.9c-.4 1.6-2.3 2.2-3.6 1.3l-3.3-2.3c-1.7-1.1-1.3-3.5.5-4.2z"
|
|
4551
|
+
}
|
|
4552
|
+
),
|
|
4553
|
+
/* @__PURE__ */ jsx34(
|
|
4554
|
+
"path",
|
|
4555
|
+
{
|
|
4556
|
+
fill: "#67B1E0",
|
|
4557
|
+
stroke: "#265D85",
|
|
4558
|
+
strokeLinecap: "round",
|
|
4559
|
+
strokeLinejoin: "round",
|
|
4560
|
+
strokeWidth: "2.5",
|
|
4561
|
+
d: "M112.4 55.9c.9-4.3 3.8-9.2 8.8-13.7 1.4 2.3 2.8 4.7 4.1 7.1 2.3-4.8 6.9-9.8 13.8-14.1-.1 3.4-.3 6.8-.6 10.1 4.4-3 10.2-5.7 17.3-7.6-1.7 3.6-3.7 7.2-5.9 10.8"
|
|
4562
|
+
}
|
|
4563
|
+
),
|
|
4564
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "mouth", children: [
|
|
4565
|
+
/* @__PURE__ */ jsx34(
|
|
4566
|
+
"path",
|
|
4567
|
+
{
|
|
4568
|
+
"data-part": "mouthBG",
|
|
4569
|
+
fill: "#265D85",
|
|
4570
|
+
d: "M149 115.7c-4.6 3.7-6.6 9.8-5 15.6.1.5.3 1.1.5 1.6.6 1.5 2.4 2.3 3.9 1.7l11.2-4.4 11.2-4.4c1.5-.6 2.3-2.4 1.7-3.9-.2-.5-.4-1-.7-1.5-2.8-5.2-8.4-8.3-14.1-7.9-3.7.2-5.9 1.1-8.7 3.2z"
|
|
4571
|
+
}
|
|
4572
|
+
),
|
|
4573
|
+
/* @__PURE__ */ jsxs29("g", { children: [
|
|
4574
|
+
/* @__PURE__ */ jsx34("defs", { children: /* @__PURE__ */ jsx34(
|
|
4575
|
+
"path",
|
|
4576
|
+
{
|
|
4577
|
+
id: `${id}-mouthPath`,
|
|
4578
|
+
d: "M149 115.7c-4.6 3.7-6.6 9.8-5 15.6.1.5.3 1.1.5 1.6.6 1.5 2.4 2.3 3.9 1.7l11.2-4.4 11.2-4.4c1.5-.6 2.3-2.4 1.7-3.9-.2-.5-.4-1-.7-1.5-2.8-5.2-8.4-8.3-14.1-7.9-3.7.2-5.9 1.1-8.7 3.2z"
|
|
4579
|
+
}
|
|
4580
|
+
) }),
|
|
4581
|
+
/* @__PURE__ */ jsx34("clipPath", { id: `${id}-mouthClipPath`, children: /* @__PURE__ */ jsx34("use", { overflow: "visible", href: `#${id}-mouthPath` }) }),
|
|
4582
|
+
/* @__PURE__ */ jsxs29("g", { clipPath: `url(#${id}-mouthClipPath)`, children: [
|
|
4583
|
+
/* @__PURE__ */ jsx34(
|
|
4584
|
+
"ellipse",
|
|
4585
|
+
{
|
|
4586
|
+
cx: "160.8",
|
|
4587
|
+
cy: "133.2",
|
|
4588
|
+
fill: "#CC4A6C",
|
|
4589
|
+
rx: "13",
|
|
4590
|
+
ry: "8",
|
|
4591
|
+
transform: "rotate(-21.685 160.775 133.1613)"
|
|
4592
|
+
}
|
|
4593
|
+
),
|
|
4594
|
+
/* @__PURE__ */ jsx34(
|
|
4595
|
+
"ellipse",
|
|
4596
|
+
{
|
|
4597
|
+
cx: "158.4",
|
|
4598
|
+
cy: "127.1",
|
|
4599
|
+
fill: "#FFF",
|
|
4600
|
+
opacity: ".1",
|
|
4601
|
+
rx: "5",
|
|
4602
|
+
ry: "1.5",
|
|
4603
|
+
transform: "rotate(-21.685 158.3808 127.126)"
|
|
4604
|
+
}
|
|
4605
|
+
),
|
|
4606
|
+
/* @__PURE__ */ jsx34(
|
|
4607
|
+
"path",
|
|
4608
|
+
{
|
|
4609
|
+
"data-part": "tooth1",
|
|
4610
|
+
fill: "#FFF",
|
|
4611
|
+
d: "M161.5 116.1l-3.7 1.5c-1 .4-2.2-.1-2.6-1.1l-1.5-3.7 7.4-3 1.5 3.7c.5 1 0 2.2-1.1 2.6z"
|
|
4612
|
+
}
|
|
4613
|
+
),
|
|
4614
|
+
/* @__PURE__ */ jsx34(
|
|
4615
|
+
"path",
|
|
4616
|
+
{
|
|
4617
|
+
"data-part": "tooth2",
|
|
4618
|
+
fill: "#FFF",
|
|
4619
|
+
d: "M151.8 128.9l-1.9.7c-1 .4-1.5 1.6-1.1 2.6l1.1 2.8 5.6-2.2-1.1-2.8c-.5-1-1.6-1.5-2.6-1.1z"
|
|
4620
|
+
}
|
|
4621
|
+
),
|
|
4622
|
+
/* @__PURE__ */ jsx34(
|
|
4623
|
+
"path",
|
|
4624
|
+
{
|
|
4625
|
+
"data-part": "tooth3",
|
|
4626
|
+
fill: "#FFF",
|
|
4627
|
+
d: "M158.3 126.3l-1.9.7c-1 .4-1.5 1.6-1.1 2.6l1.1 2.8 5.6-2.2-1.1-2.8c-.5-1-1.6-1.5-2.6-1.1z"
|
|
4628
|
+
}
|
|
4629
|
+
)
|
|
4630
|
+
] })
|
|
4631
|
+
] }),
|
|
4632
|
+
/* @__PURE__ */ jsx34(
|
|
4633
|
+
"path",
|
|
4634
|
+
{
|
|
4635
|
+
"data-part": "mouthOutline",
|
|
4636
|
+
fill: "none",
|
|
4637
|
+
stroke: "#265D85",
|
|
4638
|
+
strokeLinecap: "round",
|
|
4639
|
+
strokeLinejoin: "round",
|
|
4640
|
+
strokeWidth: "2.5",
|
|
4641
|
+
d: "M149 115.7c-4.6 3.7-6.6 9.8-5 15.6.1.5.3 1.1.5 1.6.6 1.5 2.4 2.3 3.9 1.7l11.2-4.4 11.2-4.4c1.5-.6 2.3-2.4 1.7-3.9-.2-.5-.4-1-.7-1.5-2.8-5.2-8.4-8.3-14.1-7.9-3.7.2-5.9 1.1-8.7 3.2z"
|
|
4642
|
+
}
|
|
4643
|
+
)
|
|
4644
|
+
] }),
|
|
4645
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "armR", children: [
|
|
4646
|
+
/* @__PURE__ */ jsx34(
|
|
4647
|
+
"path",
|
|
4648
|
+
{
|
|
4649
|
+
className: "hlSkin",
|
|
4650
|
+
fill: "#DDF1FA",
|
|
4651
|
+
d: "M158.4 116.9l-.7.3c-3.7 1.5-5.5 5.7-4.1 9.4l1.2 2.9c1.7 4.4 6.7 6.5 11.1 4.8l1.4-.5"
|
|
4652
|
+
}
|
|
4653
|
+
),
|
|
4654
|
+
/* @__PURE__ */ jsx34(
|
|
4655
|
+
"path",
|
|
4656
|
+
{
|
|
4657
|
+
fill: "#A9DDF3",
|
|
4658
|
+
d: "M154.8 129.1l.7 1.8c1 2.5 5.4 3.1 5.4 3.1l-2-5.1c-.3-.7-1.1-1.1-1.8-.8l-2.3 1z"
|
|
4659
|
+
}
|
|
4660
|
+
),
|
|
4661
|
+
/* @__PURE__ */ jsx34(
|
|
4662
|
+
"path",
|
|
4663
|
+
{
|
|
4664
|
+
fill: "none",
|
|
4665
|
+
stroke: "#265D85",
|
|
4666
|
+
strokeLinecap: "round",
|
|
4667
|
+
strokeLinejoin: "round",
|
|
4668
|
+
strokeMiterlimit: "10",
|
|
4669
|
+
strokeWidth: "2.5",
|
|
4670
|
+
d: "M158.4 116.9l-.7.3c-3.7 1.5-5.5 5.7-4.1 9.4l1.2 2.9c1.7 4.4 6.7 6.5 11.1 4.8l1.4-.5"
|
|
4671
|
+
}
|
|
4672
|
+
),
|
|
4673
|
+
/* @__PURE__ */ jsx34(
|
|
4674
|
+
"path",
|
|
4675
|
+
{
|
|
4676
|
+
className: "hlSkin",
|
|
4677
|
+
fill: "#DDF1FA",
|
|
4678
|
+
stroke: "#265D85",
|
|
4679
|
+
strokeWidth: "2.5",
|
|
4680
|
+
d: "M167.7 113.2l-.7.3c-3.7 1.5-5.5 5.7-4.1 9.4l1.2 2.9c1.7 4.4 6.7 6.5 11.1 4.8l1.4-.5"
|
|
4681
|
+
}
|
|
4682
|
+
),
|
|
4683
|
+
/* @__PURE__ */ jsx34(
|
|
4684
|
+
"path",
|
|
4685
|
+
{
|
|
4686
|
+
className: "hlSkin",
|
|
4687
|
+
fill: "#DDF1FA",
|
|
4688
|
+
stroke: "#265D85",
|
|
4689
|
+
strokeWidth: "2.5",
|
|
4690
|
+
d: "M177 109.4l-.7.3c-3.7 1.5-5.5 5.7-4.1 9.4l1.2 2.9c1.7 4.4 6.7 6.5 11.1 4.8l1.4-.5"
|
|
4691
|
+
}
|
|
4692
|
+
),
|
|
4693
|
+
/* @__PURE__ */ jsx34(
|
|
4694
|
+
"path",
|
|
4695
|
+
{
|
|
4696
|
+
fill: "#88C9F2",
|
|
4697
|
+
d: "M162.3 128.6l18.6 46.7 37.2-14.8-17.9-44.8"
|
|
4698
|
+
}
|
|
4699
|
+
),
|
|
4700
|
+
/* @__PURE__ */ jsx34(
|
|
4701
|
+
"path",
|
|
4702
|
+
{
|
|
4703
|
+
className: "hlSkin",
|
|
4704
|
+
fill: "#DDF1FA",
|
|
4705
|
+
d: "M206.5 130.7l-5.9-15.1-37.9 13 6.4 17.4c10 1.6 34.6-6.3 37.4-15.3z"
|
|
4706
|
+
}
|
|
4707
|
+
),
|
|
4708
|
+
/* @__PURE__ */ jsx34(
|
|
4709
|
+
"path",
|
|
4710
|
+
{
|
|
4711
|
+
fill: "none",
|
|
4712
|
+
stroke: "#265D85",
|
|
4713
|
+
strokeLinecap: "round",
|
|
4714
|
+
strokeLinejoin: "round",
|
|
4715
|
+
strokeMiterlimit: "10",
|
|
4716
|
+
strokeWidth: "2.5",
|
|
4717
|
+
d: "M162.3 128.6l18.6 46.7 37.2-14.8-15.3-38.3"
|
|
4718
|
+
}
|
|
4719
|
+
),
|
|
4720
|
+
/* @__PURE__ */ jsx34(
|
|
4721
|
+
"path",
|
|
4722
|
+
{
|
|
4723
|
+
className: "hlSkin",
|
|
4724
|
+
fill: "#DDF1FA",
|
|
4725
|
+
d: "M190.8 119l-1.5-3.7c-2-5.1-7.9-7.6-13-5.6l5.2 12.9"
|
|
4726
|
+
}
|
|
4727
|
+
),
|
|
4728
|
+
/* @__PURE__ */ jsx34(
|
|
4729
|
+
"path",
|
|
4730
|
+
{
|
|
4731
|
+
className: "hlSkin",
|
|
4732
|
+
fill: "#DDF1FA",
|
|
4733
|
+
d: "M203.5 123.8l-1.5-3.7c-2-5.1-7.9-7.6-13-5.6l5.2 12.9"
|
|
4734
|
+
}
|
|
4735
|
+
),
|
|
4736
|
+
/* @__PURE__ */ jsx34(
|
|
4737
|
+
"path",
|
|
4738
|
+
{
|
|
4739
|
+
fill: "#A9DDF3",
|
|
4740
|
+
d: "M200.4 119.4l-.7-1.8c-1-2.5-5.4-3.1-5.4-3.1l1.9 4.8c.3.8 1.3 1.3 2.1.9l2.1-.8z"
|
|
4741
|
+
}
|
|
4742
|
+
),
|
|
4743
|
+
/* @__PURE__ */ jsx34(
|
|
4744
|
+
"path",
|
|
4745
|
+
{
|
|
4746
|
+
fill: "none",
|
|
4747
|
+
stroke: "#265D85",
|
|
4748
|
+
strokeLinecap: "round",
|
|
4749
|
+
strokeLinejoin: "round",
|
|
4750
|
+
strokeMiterlimit: "10",
|
|
4751
|
+
strokeWidth: "2.5",
|
|
4752
|
+
d: "M203.5 123.8l-1.5-3.7c-2-5.1-7.9-7.6-13-5.6"
|
|
4753
|
+
}
|
|
4754
|
+
),
|
|
4755
|
+
/* @__PURE__ */ jsx34(
|
|
4756
|
+
"path",
|
|
4757
|
+
{
|
|
4758
|
+
fill: "none",
|
|
4759
|
+
stroke: "#265D85",
|
|
4760
|
+
strokeLinecap: "round",
|
|
4761
|
+
strokeLinejoin: "round",
|
|
4762
|
+
strokeMiterlimit: "10",
|
|
4763
|
+
strokeWidth: "2.5",
|
|
4764
|
+
d: "M193.7 126.4l-4.4-11.1c-2-5.1-7.9-7.6-13-5.6"
|
|
4765
|
+
}
|
|
4766
|
+
),
|
|
4767
|
+
/* @__PURE__ */ jsx34(
|
|
4768
|
+
"path",
|
|
4769
|
+
{
|
|
4770
|
+
fill: "#67B1E0",
|
|
4771
|
+
d: "M219.6 160.1c-1.5-6.2-3.2-13.2-5.1-21.1-2.8 2.1-5.6 4.5-8.3 7.4-2-1.8-4.1-3.7-6.2-5.7-2.4 3.6-4.6 7.7-6.7 12.1-3-1.9-6-3.9-9.2-6-1.4 2.9-2.7 6-4 9.2-4.7-.6-9.4-1.1-14.2-1.7 5.4 8 10.3 15.2 14.7 21.5"
|
|
4772
|
+
}
|
|
4773
|
+
),
|
|
4774
|
+
/* @__PURE__ */ jsx34(
|
|
4775
|
+
"path",
|
|
4776
|
+
{
|
|
4777
|
+
fill: "none",
|
|
4778
|
+
stroke: "#265D85",
|
|
4779
|
+
strokeLinecap: "round",
|
|
4780
|
+
strokeLinejoin: "round",
|
|
4781
|
+
strokeWidth: "2.5",
|
|
4782
|
+
d: "M219.6 160.1c-1.5-6.2-3.2-13.2-5.1-21.1-2.8 2.1-5.6 4.5-8.3 7.4-2-1.8-4.1-3.7-6.2-5.7-2.4 3.6-4.6 7.7-6.7 12.1-3-1.9-6-3.9-9.2-6-1.4 2.9-2.7 6-4 9.2-4.7-.6-9.4-1.1-14.2-1.7 5.4 8 10.3 15.2 14.7 21.5"
|
|
4783
|
+
}
|
|
4784
|
+
),
|
|
4785
|
+
/* @__PURE__ */ jsx34(
|
|
4786
|
+
"path",
|
|
4787
|
+
{
|
|
4788
|
+
fill: "none",
|
|
4789
|
+
stroke: "#3A5E77",
|
|
4790
|
+
strokeLinecap: "round",
|
|
4791
|
+
strokeLinejoin: "round",
|
|
4792
|
+
strokeMiterlimit: "10",
|
|
4793
|
+
strokeWidth: "2.5",
|
|
4794
|
+
d: "M160.9 125l2 5.1"
|
|
4795
|
+
}
|
|
4796
|
+
),
|
|
4797
|
+
/* @__PURE__ */ jsx34(
|
|
4798
|
+
"path",
|
|
4799
|
+
{
|
|
4800
|
+
className: "hlSkin",
|
|
4801
|
+
fill: "#DDF1FA",
|
|
4802
|
+
d: "M172.2 126.4l-1.5-3.7c-2-5.1-7.9-7.6-13-5.6l5.2 12.9"
|
|
4803
|
+
}
|
|
4804
|
+
),
|
|
4805
|
+
/* @__PURE__ */ jsx34(
|
|
4806
|
+
"path",
|
|
4807
|
+
{
|
|
4808
|
+
fill: "none",
|
|
4809
|
+
stroke: "#265D85",
|
|
4810
|
+
strokeLinecap: "round",
|
|
4811
|
+
strokeLinejoin: "round",
|
|
4812
|
+
strokeMiterlimit: "10",
|
|
4813
|
+
strokeWidth: "2.5",
|
|
4814
|
+
d: "M160.5 124l2.4 6.1"
|
|
4815
|
+
}
|
|
4816
|
+
),
|
|
4817
|
+
/* @__PURE__ */ jsx34(
|
|
4818
|
+
"path",
|
|
4819
|
+
{
|
|
4820
|
+
className: "hlSkin",
|
|
4821
|
+
fill: "#DDF1FA",
|
|
4822
|
+
d: "M181.5 122.7L180 119c-2-5.1-7.9-7.6-13-5.6l5.2 12.9"
|
|
4823
|
+
}
|
|
4824
|
+
),
|
|
4825
|
+
/* @__PURE__ */ jsx34(
|
|
4826
|
+
"path",
|
|
4827
|
+
{
|
|
4828
|
+
fill: "none",
|
|
4829
|
+
stroke: "#265D85",
|
|
4830
|
+
strokeLinecap: "round",
|
|
4831
|
+
strokeLinejoin: "round",
|
|
4832
|
+
strokeMiterlimit: "10",
|
|
4833
|
+
strokeWidth: "2.5",
|
|
4834
|
+
d: "M181.5 122.7L180 119c-2-5.1-7.9-7.6-13-5.6"
|
|
4835
|
+
}
|
|
4836
|
+
),
|
|
4837
|
+
/* @__PURE__ */ jsx34(
|
|
4838
|
+
"path",
|
|
4839
|
+
{
|
|
4840
|
+
fill: "none",
|
|
4841
|
+
stroke: "#265D85",
|
|
4842
|
+
strokeLinecap: "round",
|
|
4843
|
+
strokeLinejoin: "round",
|
|
4844
|
+
strokeMiterlimit: "10",
|
|
4845
|
+
strokeWidth: "2.5",
|
|
4846
|
+
d: "M172.2 126.4l-1.5-3.7c-2-5.1-7.9-7.6-13-5.6"
|
|
4847
|
+
}
|
|
4848
|
+
)
|
|
4849
|
+
] }),
|
|
4850
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "armL", children: [
|
|
4851
|
+
/* @__PURE__ */ jsx34(
|
|
4852
|
+
"path",
|
|
4853
|
+
{
|
|
4854
|
+
fill: "#67B1E0",
|
|
4855
|
+
d: "M50.9 156.7c-12 35.8-7.8 69.6 8.3 101.9 12.1 22.7 37 14.1 39.5-11.8v-65l-47.8-25.1z"
|
|
4856
|
+
}
|
|
4857
|
+
),
|
|
4858
|
+
/* @__PURE__ */ jsx34(
|
|
4859
|
+
"path",
|
|
4860
|
+
{
|
|
4861
|
+
fill: "none",
|
|
4862
|
+
stroke: "#265D85",
|
|
4863
|
+
strokeLinecap: "round",
|
|
4864
|
+
strokeLinejoin: "round",
|
|
4865
|
+
strokeWidth: "2.5",
|
|
4866
|
+
d: "M50.9 156.7c-12 35.8-7.8 69.6 8.3 101.9 10 22.3 37.3 15.1 39.5-11.8v-65l-47.8-25.1z"
|
|
4867
|
+
}
|
|
4868
|
+
),
|
|
4869
|
+
/* @__PURE__ */ jsx34(
|
|
4870
|
+
"path",
|
|
4871
|
+
{
|
|
4872
|
+
fill: "none",
|
|
4873
|
+
stroke: "#262626",
|
|
4874
|
+
strokeLinecap: "round",
|
|
4875
|
+
strokeLinejoin: "round",
|
|
4876
|
+
strokeMiterlimit: "10",
|
|
4877
|
+
strokeWidth: "20",
|
|
4878
|
+
d: "M59.3 143.8l34.3 33.9"
|
|
4879
|
+
}
|
|
4880
|
+
),
|
|
4881
|
+
/* @__PURE__ */ jsx34(
|
|
4882
|
+
"path",
|
|
4883
|
+
{
|
|
4884
|
+
fill: "#4D4D4D",
|
|
4885
|
+
d: "M58.4 133.9l15.9 15.9-.9.9-16.5-16.5c.5-.2 1-.3 1.5-.3z"
|
|
4886
|
+
}
|
|
4887
|
+
),
|
|
4888
|
+
/* @__PURE__ */ jsx34(
|
|
4889
|
+
"path",
|
|
4890
|
+
{
|
|
4891
|
+
fill: "#1A1A1A",
|
|
4892
|
+
d: "M71.2 169.6l-20.1-20c-2.4-3.7-2.5-8.1.1-11.7l23.1 22.2"
|
|
4893
|
+
}
|
|
4894
|
+
),
|
|
4895
|
+
/* @__PURE__ */ jsx34(
|
|
4896
|
+
"path",
|
|
4897
|
+
{
|
|
4898
|
+
fill: "#4D4D4D",
|
|
4899
|
+
d: "M80.5 156.4l16 15.9-.9.9-16.5-16.5c.5-.1 1-.2 1.4-.3z"
|
|
4900
|
+
}
|
|
4901
|
+
),
|
|
4902
|
+
/* @__PURE__ */ jsx34(
|
|
4903
|
+
"path",
|
|
4904
|
+
{
|
|
4905
|
+
fill: "#1A1A1A",
|
|
4906
|
+
d: "M74.2 160.1L86 171.4l-2 11-10.2-10.1c-2.4-4.4-2.5-8.5.4-12.2z"
|
|
4907
|
+
}
|
|
4908
|
+
),
|
|
4909
|
+
/* @__PURE__ */ jsx34(
|
|
4910
|
+
"path",
|
|
4911
|
+
{
|
|
4912
|
+
fill: "#88C9F2",
|
|
4913
|
+
d: "M65.9 164.8c-1.9-5.5.8-11.8 6.1-14.1 4.9-2.2 10.4-.6 13.5 3.4 1.3 1.6 3.5 2.1 5.4 1.4 3-1.2 3.9-4.9 1.9-7.4-5.8-7.2-16.1-9.9-25-5.7-9.4 4.4-14.1 15.3-10.9 25.2"
|
|
4914
|
+
}
|
|
4915
|
+
),
|
|
4916
|
+
/* @__PURE__ */ jsx34(
|
|
4917
|
+
"path",
|
|
4918
|
+
{
|
|
4919
|
+
fill: "none",
|
|
4920
|
+
stroke: "#265D85",
|
|
4921
|
+
strokeLinecap: "round",
|
|
4922
|
+
strokeLinejoin: "round",
|
|
4923
|
+
strokeWidth: "2.5",
|
|
4924
|
+
d: "M67.9 168.3c-1.1-1.2-2-3.6-2-3.6-1.9-5.5.8-11.8 6.1-14.1 4.9-2.2 10.4-.6 13.5 3.4 1.3 1.6 3.5 2.1 5.4 1.4 3-1.2 3.9-4.9 1.9-7.4-5.8-7.2-16.1-9.9-25-5.7-9.4 4.4-14.1 15.3-10.9 25.2"
|
|
4925
|
+
}
|
|
4926
|
+
),
|
|
4927
|
+
/* @__PURE__ */ jsx34(
|
|
4928
|
+
"path",
|
|
4929
|
+
{
|
|
4930
|
+
fill: "#88C9F2",
|
|
4931
|
+
d: "M69.9 168.7c-1.9-5.5.8-11.8 6.1-14.1 4.9-2.2 10.4-.6 13.5 3.4 1.3 1.6 3.5 2.1 5.4 1.4 3-1.2 3.9-4.9 1.9-7.4-5.8-7.2-16.1-9.9-25-5.7-9.4 4.4-14.1 15.3-10.9 25.2"
|
|
4932
|
+
}
|
|
4933
|
+
),
|
|
4934
|
+
/* @__PURE__ */ jsx34(
|
|
4935
|
+
"path",
|
|
4936
|
+
{
|
|
4937
|
+
fill: "#67B1E0",
|
|
4938
|
+
d: "M49.9 155l2.7 12.7.2 11.8 5 8.6 9.5-1.8 2-8.7-6.9.6 1.7-11.7-6.6 2.8 1-13.8-4.6 2.9z"
|
|
4939
|
+
}
|
|
4940
|
+
),
|
|
4941
|
+
/* @__PURE__ */ jsx34(
|
|
4942
|
+
"path",
|
|
4943
|
+
{
|
|
4944
|
+
fill: "none",
|
|
4945
|
+
stroke: "#265D85",
|
|
4946
|
+
strokeLinecap: "round",
|
|
4947
|
+
strokeLinejoin: "round",
|
|
4948
|
+
strokeWidth: "2.5",
|
|
4949
|
+
d: "M71.9 172.3c-1.1-1.2-2-3.6-2-3.6-1.9-5.5.8-11.8 6.1-14.1 4.9-2.2 10.4-.6 13.5 3.4 1.3 1.6 3.5 2.1 5.4 1.4 3-1.2 3.9-4.9 1.9-7.4-5.8-7.2-16.1-9.9-25-5.7"
|
|
4950
|
+
}
|
|
4951
|
+
),
|
|
4952
|
+
/* @__PURE__ */ jsx34(
|
|
4953
|
+
"path",
|
|
4954
|
+
{
|
|
4955
|
+
className: "hlSkin",
|
|
4956
|
+
"data-part": "hlHandL",
|
|
4957
|
+
fill: "#DDF1FA",
|
|
4958
|
+
d: "M101.7 156.9c-5.8-7.2-16.1-9.9-25-5.7-5.9 2.8-9.9 8.1-11.3 14.1l-1-.9-6.2 4.2c5.5 18.1 19.3 25.4 30.4 21l1.2-9.1c-6 2.4-12.7-.7-14.9-6.8-1.9-5.5.8-11.8 6.1-14.1 4.9-2.2 10.4-.6 13.5 3.4 1.3 1.6 3.5 2.1 5.4 1.4 2.9-1.3 3.8-5 1.8-7.5z"
|
|
4959
|
+
}
|
|
4960
|
+
),
|
|
4961
|
+
/* @__PURE__ */ jsx34(
|
|
4962
|
+
"path",
|
|
4963
|
+
{
|
|
4964
|
+
fill: "none",
|
|
4965
|
+
stroke: "#265D85",
|
|
4966
|
+
strokeLinecap: "round",
|
|
4967
|
+
strokeLinejoin: "round",
|
|
4968
|
+
strokeWidth: "2.5",
|
|
4969
|
+
d: "M89.7 180.5c-6 2.4-12.7-.7-14.9-6.8"
|
|
4970
|
+
}
|
|
4971
|
+
),
|
|
4972
|
+
/* @__PURE__ */ jsx34(
|
|
4973
|
+
"path",
|
|
4974
|
+
{
|
|
4975
|
+
fill: "none",
|
|
4976
|
+
stroke: "#265D85",
|
|
4977
|
+
strokeLinecap: "round",
|
|
4978
|
+
strokeLinejoin: "round",
|
|
4979
|
+
strokeWidth: "2.5",
|
|
4980
|
+
d: "M76.9 177.3c-1.1-1.2-2-3.6-2-3.6-1.9-5.5.8-11.8 6.1-14.1 4.9-2.2 10.4-.6 13.5 3.4 1.3 1.6 3.5 2.1 5.4 1.4 3-1.2 3.9-4.9 1.9-7.4-5.8-7.2-16.1-9.9-25-5.7"
|
|
4981
|
+
}
|
|
4982
|
+
),
|
|
4983
|
+
/* @__PURE__ */ jsx34(
|
|
4984
|
+
"path",
|
|
4985
|
+
{
|
|
4986
|
+
className: "hlFur",
|
|
4987
|
+
"data-part": "hlArmL",
|
|
4988
|
+
fill: "#FFF",
|
|
4989
|
+
d: "M98.8 202.8l-1.4-8.7-5.2.7-7.2-11.5-6.8 9-3.9-9.3-7.5 4.8 3.5-11.4-7.1 1.9 2.7-13.5-7.8 4.9c-11.7 26.5-3.6 52.5 1.7 66.6 15.5-6.4 30.3-21.9 39-33.5z"
|
|
4990
|
+
}
|
|
4991
|
+
),
|
|
4992
|
+
/* @__PURE__ */ jsx34(
|
|
4993
|
+
"path",
|
|
4994
|
+
{
|
|
4995
|
+
fill: "#A9DDF3",
|
|
4996
|
+
d: "M101 161.2l-2.4-2.2c.2-1.6-.2-2.7-.8-3.9l2.6 2.5c.8.8 1 2.2.6 3.6z"
|
|
4997
|
+
}
|
|
4998
|
+
),
|
|
4999
|
+
/* @__PURE__ */ jsx34(
|
|
5000
|
+
"path",
|
|
5001
|
+
{
|
|
5002
|
+
fill: "none",
|
|
5003
|
+
stroke: "#265D85",
|
|
5004
|
+
strokeLinecap: "round",
|
|
5005
|
+
strokeLinejoin: "round",
|
|
5006
|
+
strokeWidth: "2.5",
|
|
5007
|
+
d: "M66.9 187.8l3.5-11.4-7.2 1.9 2.6-13.9-7.5 4.5 1.2-15.5-5.5 4.2"
|
|
5008
|
+
}
|
|
5009
|
+
),
|
|
5010
|
+
/* @__PURE__ */ jsx34(
|
|
5011
|
+
"path",
|
|
5012
|
+
{
|
|
5013
|
+
fill: "none",
|
|
5014
|
+
stroke: "#265D85",
|
|
5015
|
+
strokeLinecap: "round",
|
|
5016
|
+
strokeLinejoin: "round",
|
|
5017
|
+
strokeWidth: "2.5",
|
|
5018
|
+
d: "M54 157.6l-5.6-5.6 2.7 14.7"
|
|
5019
|
+
}
|
|
5020
|
+
),
|
|
5021
|
+
/* @__PURE__ */ jsx34(
|
|
5022
|
+
"path",
|
|
5023
|
+
{
|
|
5024
|
+
fill: "none",
|
|
5025
|
+
stroke: "#265D85",
|
|
5026
|
+
strokeLinecap: "round",
|
|
5027
|
+
strokeLinejoin: "round",
|
|
5028
|
+
strokeWidth: "2.5",
|
|
5029
|
+
d: "M67.1 188l7.3-5 3.8 9.3"
|
|
5030
|
+
}
|
|
5031
|
+
),
|
|
5032
|
+
/* @__PURE__ */ jsx34(
|
|
5033
|
+
"path",
|
|
5034
|
+
{
|
|
5035
|
+
fill: "none",
|
|
5036
|
+
stroke: "#265D85",
|
|
5037
|
+
strokeLinecap: "round",
|
|
5038
|
+
strokeLinejoin: "round",
|
|
5039
|
+
strokeWidth: "2.5",
|
|
5040
|
+
d: "M78.2 192.3l6.8-9 7.1 11.5"
|
|
5041
|
+
}
|
|
5042
|
+
)
|
|
5043
|
+
] })
|
|
5044
|
+
] }),
|
|
5045
|
+
/* @__PURE__ */ jsxs29(
|
|
5046
|
+
"g",
|
|
5047
|
+
{
|
|
5048
|
+
"data-part": "fingersBackL",
|
|
5049
|
+
visibility: "hidden",
|
|
5050
|
+
fill: "#88C9F2",
|
|
5051
|
+
stroke: "#265D85",
|
|
5052
|
+
strokeLinecap: "round",
|
|
5053
|
+
strokeLinejoin: "round",
|
|
5054
|
+
strokeMiterlimit: "10",
|
|
5055
|
+
strokeWidth: "2.5",
|
|
5056
|
+
children: [
|
|
5057
|
+
/* @__PURE__ */ jsx34("path", { d: "M149.2 177.5l-5.6-23.3c-.6-2.7 1-5.4 3.7-6 2.7-.6 5.4 1 6 3.7l4.4 18.4c.6 2.7-1 5.4-3.7 6l-4.8 1.2M139.4 179.8l-5.6-23.3c-.6-2.7 1-5.4 3.7-6 2.7-.6 5.4 1 6 3.7l5.6 23.3-9.7 2.3z" }),
|
|
5058
|
+
/* @__PURE__ */ jsx34("path", { d: "M128.6 177.3l-4.4-18.4c-.6-2.7 1-5.4 3.7-6 2.7-.6 5.4 1 6 3.7l5.6 23.3-4.9 1.2c-2.7.5-5.4-1.2-6-3.8z" })
|
|
5059
|
+
]
|
|
5060
|
+
}
|
|
5061
|
+
),
|
|
5062
|
+
/* @__PURE__ */ jsxs29(
|
|
5063
|
+
"g",
|
|
5064
|
+
{
|
|
5065
|
+
"data-part": "fingersBackR",
|
|
5066
|
+
visibility: "hidden",
|
|
5067
|
+
fill: "#88c9f2",
|
|
5068
|
+
stroke: "#265D85",
|
|
5069
|
+
strokeLinecap: "round",
|
|
5070
|
+
strokeLinejoin: "round",
|
|
5071
|
+
strokeMiterlimit: "10",
|
|
5072
|
+
strokeWidth: "2.5",
|
|
5073
|
+
children: [
|
|
5074
|
+
/* @__PURE__ */ jsx34("path", { d: "M215.5 152l-15.9-17.9c-1.8-2.1-1.6-5.2.4-7.1 2.1-1.8 5.2-1.6 7.1.4l12.6 14.2c1.8 2.1 1.6 5.2-.4 7l-3.8 3.4" }),
|
|
5075
|
+
/* @__PURE__ */ jsx34("path", { d: "M208 158.6l-15.9-17.9c-1.8-2.1-1.6-5.2.4-7.1 2.1-1.8 5.2-1.6 7.1.4l15.9 17.9-7.5 6.7z" }),
|
|
5076
|
+
/* @__PURE__ */ jsx34("path", { d: "M197.2 161.5l-12.6-14.2c-1.8-2.1-1.6-5.2.4-7.1 2.1-1.8 5.2-1.6 7.1.4l15.9 17.9-3.7 3.3c-2.1 2-5.2 1.8-7.1-.3z" })
|
|
5077
|
+
]
|
|
5078
|
+
}
|
|
5079
|
+
),
|
|
5080
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "blanket", children: [
|
|
5081
|
+
/* @__PURE__ */ jsx34(
|
|
5082
|
+
"path",
|
|
5083
|
+
{
|
|
5084
|
+
d: "M1.2 271.4C6.6 262 13 253.1 22.4 248c10.3-5.5 22.5-5.5 33.7-8.8 21.8-6.5 37.5-25.2 50.3-43.9 5.5-8 10.9-16.4 18.3-22.7 13.1-11.2 31.3-14.8 48.6-15 4.9 0 9.9.1 14.5-1.7 3.6-1.5 6.5-4.1 9.3-6.9 10.1-10.2 17.9-22.8 29-32 7.9-6.6 18.7-14.7 29.5-13.7 13.9 1.2 25 5.8 38.5-1.5 28.1-15.2 27.8-60.6 56.2-75.1 16.2-8.3 36.9-3.6 52.6-12.7 5.4-3.2 9.8-7.7 13.9-12.5h128.5l-350.8 209L1.3 363l-.1-91.6z",
|
|
5085
|
+
opacity: ".1"
|
|
5086
|
+
}
|
|
5087
|
+
),
|
|
5088
|
+
/* @__PURE__ */ jsx34(
|
|
5089
|
+
"path",
|
|
5090
|
+
{
|
|
5091
|
+
fill: "#09334F",
|
|
5092
|
+
d: "M0 281.6c5.3-9.2 11.5-17.9 20.7-22.8 10.3-5.5 22.5-5.5 33.7-8.8 21.8-6.5 37.5-25.2 50.3-43.9 5.5-8 10.9-16.4 18.3-22.7 13.1-11.2 31.3-14.8 48.6-15 4.9 0 9.9.1 14.5-1.7 3.6-1.5 6.5-4.1 9.3-6.9 10.1-10.2 17.9-22.8 29-32 7.9-6.6 18.7-14.7 29.5-13.7 13.9 1.2 25 5.8 38.5-1.5 28.1-15.2 27.8-60.6 56.2-75.1 16.2-8.3 36.9-3.6 52.6-12.7C411 19.1 417.1 8.4 424.9.3H700v570H0V281.6z"
|
|
5093
|
+
}
|
|
5094
|
+
),
|
|
5095
|
+
/* @__PURE__ */ jsx34(
|
|
5096
|
+
"path",
|
|
5097
|
+
{
|
|
5098
|
+
fill: "#072A40",
|
|
5099
|
+
d: "M0 281.6c5.3-9.2 11.6-17.9 20.8-22.8 10.3-5.5 22.5-5.5 33.7-8.8 21.8-6.5 37.5-25.2 50.3-43.9 5.5-8 10.9-16.4 18.3-22.7 13.1-11.2 31.3-14.8 48.6-15 4.9 0 9.9.1 14.5-1.7 3.6-1.5 6.5-4.1 9.3-6.9 10.1-10.2 17.9-22.8 29-32 7.9-6.6 18.7-14.7 29.5-13.7 13.9 1.2 25 5.8 38.5-1.5 28.1-15.2 27.8-60.6 56.2-75.1 16.2-8.3 36.9-3.6 52.6-12.7 9.8-5.7 15.9-16.4 23.7-24.6h100.4c-3.5 2.8-7.3 5.3-11.4 7.2-11.6 5.4-23 6.6-34.9 1.9-10.5-4.2-22.3 2.4-30.1 10.6-7.8 8.2-14 18.3-23.7 24-15.7 9.1-36.4 4.4-52.6 12.7-28.4 14.6-28.2 60-56.2 75.1-13.5 7.3-24.6 2.8-38.5 1.5-10.8-1-21.5 7.1-29.5 13.7-11.2 9.2-18.9 21.8-29 32-2.7 2.7-5.7 5.4-9.3 6.9-4.5 1.9-9.6 1.7-14.5 1.7-17.3.2-35.4 3.8-48.6 15-7.4 6.3-12.8 14.7-18.3 22.7-12.9 18.7-28.6 37.4-50.3 43.9-11.2 3.4-23.4 3.3-33.7 8.8-11.9 6.4-18.9 19-25.2 31-8.2 15.3-11.6 30-19.6 44.7v-72z"
|
|
5100
|
+
}
|
|
5101
|
+
),
|
|
5102
|
+
/* @__PURE__ */ jsx34(
|
|
5103
|
+
"path",
|
|
5104
|
+
{
|
|
5105
|
+
fill: "none",
|
|
5106
|
+
stroke: "#001726",
|
|
5107
|
+
strokeLinecap: "round",
|
|
5108
|
+
strokeLinejoin: "round",
|
|
5109
|
+
strokeMiterlimit: "10",
|
|
5110
|
+
strokeWidth: "2.5",
|
|
5111
|
+
d: "M1.2 283c5.3-9.3 11.8-18 21.1-23 10.3-5.5 22.5-5.5 33.7-8.8 21.8-6.5 37.5-25.2 50.3-43.9 5.5-8 10.9-16.4 18.3-22.7 13.1-11.2 31.3-14.8 48.6-15 4.9 0 9.9.1 14.5-1.7 3.6-1.5 6.5-4.1 9.3-6.9 10.1-10.2 17.9-22.8 29-32 7.9-6.6 18.7-14.7 29.5-13.7 13.9 1.2 25 5.8 38.5-1.5 28.1-15.2 27.8-60.6 56.2-75.1 16.2-8.3 36.9-3.6 52.6-12.7 9.8-5.7 15.9-16.4 23.7-24.5"
|
|
5112
|
+
}
|
|
5113
|
+
),
|
|
5114
|
+
/* @__PURE__ */ jsx34(
|
|
5115
|
+
"path",
|
|
5116
|
+
{
|
|
5117
|
+
fill: "none",
|
|
5118
|
+
stroke: "#001726",
|
|
5119
|
+
strokeLinecap: "round",
|
|
5120
|
+
strokeLinejoin: "round",
|
|
5121
|
+
strokeMiterlimit: "10",
|
|
5122
|
+
strokeWidth: "2.5",
|
|
5123
|
+
d: "M1.2 355c8-14.7 11.7-29.4 19.9-44.9 6.3-11.9 13.3-24.6 25.2-31 10.3-5.5 22.5-5.5 33.7-8.8 21.8-6.5 37.5-25.2 50.3-43.9 5.5-8 10.9-16.4 18.3-22.7 13.1-11.2 31.3-14.8 48.6-15 4.9 0 9.9.1 14.5-1.7 3.6-1.5 6.5-4.1 9.3-6.9 10.1-10.2 17.9-22.8 29-32 7.9-6.6 18.7-14.7 29.5-13.7 13.9 1.2 25 5.8 38.5-1.5 28.1-15.2 27.8-60.6 56.2-75.1 16.2-8.3 36.9-3.6 52.6-12.7 9.8-5.7 15.9-15.8 23.7-24s19.6-14.8 30.1-10.6c11.9 4.8 23.2 3.5 34.9-1.9 4-1.9 7.7-4.4 11.2-7.1"
|
|
5124
|
+
}
|
|
5125
|
+
),
|
|
5126
|
+
/* @__PURE__ */ jsx34(
|
|
5127
|
+
"path",
|
|
5128
|
+
{
|
|
5129
|
+
d: "M111.2 197.2s50.7 23.9 90.8 43.1c14.2 6.8 18 25.4 7.5 37.2-7.6 8.5-20.2 10.4-30 4.5l-89.9-54.7 21.6-30.1z",
|
|
5130
|
+
opacity: ".03"
|
|
5131
|
+
}
|
|
5132
|
+
),
|
|
5133
|
+
/* @__PURE__ */ jsx34(
|
|
5134
|
+
"path",
|
|
5135
|
+
{
|
|
5136
|
+
d: "M12.1 266s53.5 64.8 94.7 114c11.7 13.9 1.8 35.1-16.4 35.1-7.1 0-13.8-3.6-17.8-9.5L0 296.5v-13.2L12.1 266z",
|
|
5137
|
+
opacity: ".03"
|
|
5138
|
+
}
|
|
5139
|
+
),
|
|
5140
|
+
/* @__PURE__ */ jsx34(
|
|
5141
|
+
"path",
|
|
5142
|
+
{
|
|
5143
|
+
d: "M155.7 170.1s111.4 46.9 171.1 69c3.5 1.3 7.4 0 9.4-3.2 2.7-4.2.9-9.9-3.8-11.7-33.5-12.8-147.3-56-147.3-56l-29.4 1.9z",
|
|
5144
|
+
opacity: ".03"
|
|
5145
|
+
}
|
|
5146
|
+
),
|
|
5147
|
+
/* @__PURE__ */ jsx34(
|
|
5148
|
+
"path",
|
|
5149
|
+
{
|
|
5150
|
+
d: "M255.9 114.7S349 145.6 412 176c2.1 1 4.6.6 6.2-1 2.8-2.7 1.9-7.5-1.7-9-23.3-9.6-94.3-38.6-131.1-50.4-.1.1-10.2 1.9-29.5-.9z",
|
|
5151
|
+
opacity: ".03"
|
|
5152
|
+
}
|
|
5153
|
+
),
|
|
5154
|
+
/* @__PURE__ */ jsx34(
|
|
5155
|
+
"path",
|
|
5156
|
+
{
|
|
5157
|
+
d: "M356.6 34.9l152.1 49.3c2.2.7 4.5.6 6.7-.2 8.7-3.4 8.2-15.9-.7-18.6l-121-36.8-37.1 6.3z",
|
|
5158
|
+
opacity: ".03"
|
|
5159
|
+
}
|
|
5160
|
+
)
|
|
5161
|
+
] }),
|
|
5162
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "fingersFrontL", visibility: "hidden", children: [
|
|
5163
|
+
/* @__PURE__ */ jsx34(
|
|
5164
|
+
"path",
|
|
5165
|
+
{
|
|
5166
|
+
fill: "#88C9F2",
|
|
5167
|
+
stroke: "#265D85",
|
|
5168
|
+
strokeLinecap: "round",
|
|
5169
|
+
strokeLinejoin: "round",
|
|
5170
|
+
strokeMiterlimit: "10",
|
|
5171
|
+
strokeWidth: "2.5",
|
|
5172
|
+
d: "M146.2 165.1l2.8 11.6c.6 2.7 3.3 4.3 6 3.7 2.7-.6 4.3-3.3 3.7-6l-1.6-6.8c-.6-2.7-3.3-4.3-6-3.7l-4.9 1.2"
|
|
5173
|
+
}
|
|
5174
|
+
),
|
|
5175
|
+
/* @__PURE__ */ jsx34(
|
|
5176
|
+
"path",
|
|
5177
|
+
{
|
|
5178
|
+
fill: "#A9DDF3",
|
|
5179
|
+
d: "M151.4 173.8l.5 2.2c.3 1.1 1.3 1.7 2.4 1.5 1.1-.3 1.7-1.3 1.5-2.4l-.5-2.2-3.9.9z"
|
|
5180
|
+
}
|
|
5181
|
+
),
|
|
5182
|
+
/* @__PURE__ */ jsx34(
|
|
5183
|
+
"path",
|
|
5184
|
+
{
|
|
5185
|
+
fill: "#88C9F2",
|
|
5186
|
+
stroke: "#265D85",
|
|
5187
|
+
strokeLinecap: "round",
|
|
5188
|
+
strokeLinejoin: "round",
|
|
5189
|
+
strokeMiterlimit: "10",
|
|
5190
|
+
strokeWidth: "2.5",
|
|
5191
|
+
d: "M136.5 167.4l2.8 11.6c.6 2.7 3.3 4.3 6 3.7 2.7-.6 4.3-3.3 3.7-6l-2.8-11.6-9.7 2.3z"
|
|
5192
|
+
}
|
|
5193
|
+
),
|
|
5194
|
+
/* @__PURE__ */ jsx34(
|
|
5195
|
+
"path",
|
|
5196
|
+
{
|
|
5197
|
+
fill: "#A9DDF3",
|
|
5198
|
+
d: "M141.7 176.2l.5 2.2c.3 1.1 1.3 1.7 2.4 1.5 1.1-.3 1.7-1.3 1.5-2.4l-.5-2.2-3.9.9z"
|
|
5199
|
+
}
|
|
5200
|
+
),
|
|
5201
|
+
/* @__PURE__ */ jsx34(
|
|
5202
|
+
"path",
|
|
5203
|
+
{
|
|
5204
|
+
fill: "#88C9F2",
|
|
5205
|
+
stroke: "#265D85",
|
|
5206
|
+
strokeLinecap: "round",
|
|
5207
|
+
strokeLinejoin: "round",
|
|
5208
|
+
strokeMiterlimit: "10",
|
|
5209
|
+
strokeWidth: "2.5",
|
|
5210
|
+
d: "M127.9 174.6l1.6 6.8c.6 2.7 3.3 4.3 6 3.7 2.7-.6 4.3-3.3 3.7-6l-2.8-11.6-4.9 1.2c-2.6.5-4.2 3.2-3.6 5.9z"
|
|
5211
|
+
}
|
|
5212
|
+
),
|
|
5213
|
+
/* @__PURE__ */ jsx34(
|
|
5214
|
+
"path",
|
|
5215
|
+
{
|
|
5216
|
+
fill: "#A9DDF3",
|
|
5217
|
+
d: "M131.9 178.5l.5 2.2c.3 1.1 1.3 1.7 2.4 1.5 1.1-.3 1.7-1.3 1.5-2.4l-.5-2.2-3.9.9z"
|
|
5218
|
+
}
|
|
5219
|
+
)
|
|
5220
|
+
] }),
|
|
5221
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "fingersFrontR", visibility: "hidden", children: [
|
|
5222
|
+
/* @__PURE__ */ jsx34(
|
|
5223
|
+
"path",
|
|
5224
|
+
{
|
|
5225
|
+
fill: "#88c9f2",
|
|
5226
|
+
stroke: "#265D85",
|
|
5227
|
+
strokeLinecap: "round",
|
|
5228
|
+
strokeLinejoin: "round",
|
|
5229
|
+
strokeMiterlimit: "10",
|
|
5230
|
+
strokeWidth: "2.5",
|
|
5231
|
+
d: "M207.1 142.5l7.9 8.9c1.8 2.1 5 2.3 7.1.4 2.1-1.8 2.3-5 .4-7.1l-4.6-5.2c-1.8-2.1-5-2.2-7-.4l-3.8 3.4"
|
|
5232
|
+
}
|
|
5233
|
+
),
|
|
5234
|
+
/* @__PURE__ */ jsx34(
|
|
5235
|
+
"path",
|
|
5236
|
+
{
|
|
5237
|
+
fill: "#A9DDF3",
|
|
5238
|
+
d: "M215.8 147.7l1.5 1.7c.7.8 2 .9 2.8.2.8-.7.9-2 .2-2.8l-1.5-1.7-3 2.6z"
|
|
5239
|
+
}
|
|
5240
|
+
),
|
|
5241
|
+
/* @__PURE__ */ jsx34(
|
|
5242
|
+
"path",
|
|
5243
|
+
{
|
|
5244
|
+
fill: "#88c9f2",
|
|
5245
|
+
stroke: "#265D85",
|
|
5246
|
+
strokeLinecap: "round",
|
|
5247
|
+
strokeLinejoin: "round",
|
|
5248
|
+
strokeMiterlimit: "10",
|
|
5249
|
+
strokeWidth: "2.5",
|
|
5250
|
+
d: "M199.6 149.1l7.9 8.9c1.8 2.1 5 2.3 7.1.4 2.1-1.8 2.3-5 .4-7.1l-7.9-8.9-7.5 6.7z"
|
|
5251
|
+
}
|
|
5252
|
+
),
|
|
5253
|
+
/* @__PURE__ */ jsx34(
|
|
5254
|
+
"path",
|
|
5255
|
+
{
|
|
5256
|
+
fill: "#A9DDF3",
|
|
5257
|
+
d: "M208.3 154.4l1.5 1.7c.7.8 2 .9 2.8.2.8-.7.9-2 .2-2.8l-1.5-1.7-3 2.6z"
|
|
5258
|
+
}
|
|
5259
|
+
),
|
|
5260
|
+
/* @__PURE__ */ jsx34(
|
|
5261
|
+
"path",
|
|
5262
|
+
{
|
|
5263
|
+
fill: "#88c9f2",
|
|
5264
|
+
stroke: "#265D85",
|
|
5265
|
+
strokeLinecap: "round",
|
|
5266
|
+
strokeLinejoin: "round",
|
|
5267
|
+
strokeMiterlimit: "10",
|
|
5268
|
+
strokeWidth: "2.5",
|
|
5269
|
+
d: "M195.4 159.5l4.6 5.2c1.8 2.1 5 2.3 7.1.4 2.1-1.8 2.3-5 .4-7.1l-7.9-8.9-3.7 3.3c-2.1 1.9-2.3 5-.5 7.1z"
|
|
5270
|
+
}
|
|
5271
|
+
),
|
|
5272
|
+
/* @__PURE__ */ jsx34(
|
|
5273
|
+
"path",
|
|
5274
|
+
{
|
|
5275
|
+
fill: "#A9DDF3",
|
|
5276
|
+
d: "M200.8 161l1.5 1.7c.7.8 2 .9 2.8.2.8-.7.9-2 .2-2.8l-1.5-1.7-3 2.6z"
|
|
5277
|
+
}
|
|
5278
|
+
)
|
|
5279
|
+
] }),
|
|
5280
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "flashlightFront", children: [
|
|
5281
|
+
/* @__PURE__ */ jsx34(
|
|
5282
|
+
"path",
|
|
5283
|
+
{
|
|
5284
|
+
fill: "#1A1A1A",
|
|
5285
|
+
d: "M83.9 181.4l4.6 26.4 34.6-33.6-24.5-6.2c-8.9-2.6-16.6 3.9-14.7 13.4z"
|
|
5286
|
+
}
|
|
5287
|
+
),
|
|
5288
|
+
/* @__PURE__ */ jsx34(
|
|
5289
|
+
"path",
|
|
5290
|
+
{
|
|
5291
|
+
fill: "#333",
|
|
5292
|
+
d: "M91.9 167.8l20.5 7.4-.5 1.2-21.4-8.2c.5-.2 1-.3 1.4-.4z"
|
|
5293
|
+
}
|
|
5294
|
+
),
|
|
5295
|
+
/* @__PURE__ */ jsx34("path", { d: "M86 171.4c-2 2.5-3 6-2.2 10l4.6 26.4 11.4-11.1L86 171.4z" }),
|
|
5296
|
+
/* @__PURE__ */ jsx34(
|
|
5297
|
+
"path",
|
|
5298
|
+
{
|
|
5299
|
+
fill: `url(#${id}-flashlightGrad)`,
|
|
5300
|
+
d: "M99.1 183.7c-10.6 9.4-13.4 21.4-9 28.5 4.3 6.8 18 3 28.6-6.4s14.9-23.7 8.8-29c-6.9-6.1-17.8-2.6-28.4 6.9z"
|
|
5301
|
+
}
|
|
5302
|
+
),
|
|
5303
|
+
/* @__PURE__ */ jsx34(
|
|
5304
|
+
"path",
|
|
5305
|
+
{
|
|
5306
|
+
fill: "#B3B3B3",
|
|
5307
|
+
d: "M101.6 185.7c-8.2 7.3-11.9 18.2-8.8 23.1 2.6 4.1 13.6-1.1 21.8-8.4s13.6-18.1 9.9-21.6c-4.4-4.2-14.7-.4-22.9 6.9z"
|
|
5308
|
+
}
|
|
5309
|
+
)
|
|
5310
|
+
] })
|
|
5311
|
+
]
|
|
5312
|
+
}
|
|
5313
|
+
),
|
|
5314
|
+
/* @__PURE__ */ jsxs29(
|
|
5315
|
+
"svg",
|
|
5316
|
+
{
|
|
5317
|
+
"data-part": "lightSVG",
|
|
5318
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5319
|
+
viewBox: "0 0 600 550",
|
|
5320
|
+
children: [
|
|
5321
|
+
/* @__PURE__ */ jsxs29("filter", { id: `${id}-white-glow`, children: [
|
|
5322
|
+
/* @__PURE__ */ jsx34(
|
|
5323
|
+
"feFlood",
|
|
5324
|
+
{
|
|
5325
|
+
result: "flood",
|
|
5326
|
+
floodColor: "#ffffff",
|
|
5327
|
+
floodOpacity: ".6"
|
|
5328
|
+
}
|
|
5329
|
+
),
|
|
5330
|
+
/* @__PURE__ */ jsx34(
|
|
5331
|
+
"feComposite",
|
|
5332
|
+
{
|
|
5333
|
+
in: "flood",
|
|
5334
|
+
result: "mask",
|
|
5335
|
+
in2: "SourceGraphic",
|
|
5336
|
+
operator: "in"
|
|
5337
|
+
}
|
|
5338
|
+
),
|
|
5339
|
+
/* @__PURE__ */ jsx34(
|
|
5340
|
+
"feMorphology",
|
|
5341
|
+
{
|
|
5342
|
+
in: "mask",
|
|
5343
|
+
result: "dilated",
|
|
5344
|
+
operator: "dilate",
|
|
5345
|
+
radius: "3"
|
|
5346
|
+
}
|
|
5347
|
+
),
|
|
5348
|
+
/* @__PURE__ */ jsx34(
|
|
5349
|
+
"feGaussianBlur",
|
|
5350
|
+
{
|
|
5351
|
+
in: "dilated",
|
|
5352
|
+
result: "blurred",
|
|
5353
|
+
stdDeviation: "8"
|
|
5354
|
+
}
|
|
5355
|
+
),
|
|
5356
|
+
/* @__PURE__ */ jsxs29("feMerge", { children: [
|
|
5357
|
+
/* @__PURE__ */ jsx34("feMergeNode", { in: "blurred" }),
|
|
5358
|
+
/* @__PURE__ */ jsx34("feMergeNode", { in: "SourceGraphic" })
|
|
5359
|
+
] })
|
|
5360
|
+
] }),
|
|
5361
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "light", children: [
|
|
5362
|
+
/* @__PURE__ */ jsx34(
|
|
5363
|
+
"path",
|
|
5364
|
+
{
|
|
5365
|
+
filter: `url(#${id}-white-glow)`,
|
|
5366
|
+
fill: "#F8FFE8",
|
|
5367
|
+
d: "M122.2 177.4c-5.2-1.6-13.6 2.1-20.6 8.3-7.7 6.8-11.4 16.8-9.3 22.1L421 1683h1534V733L122.2 177.4z"
|
|
5368
|
+
}
|
|
5369
|
+
),
|
|
5370
|
+
/* @__PURE__ */ jsx34(
|
|
5371
|
+
"path",
|
|
5372
|
+
{
|
|
5373
|
+
opacity: "0.7",
|
|
5374
|
+
fill: "#FFFFFF",
|
|
5375
|
+
d: "M101.6,185.7c-8.2,7.3-11.9,18.2-8.8,23.1c2.6,4.1,13.6-1.1,21.8-8.4s13.6-18.1,9.9-21.6 C120.1,174.6,109.8,178.4,101.6,185.7z"
|
|
5376
|
+
}
|
|
5377
|
+
)
|
|
5378
|
+
] }),
|
|
5379
|
+
/* @__PURE__ */ jsxs29("g", { "data-part": "four04", children: [
|
|
5380
|
+
/* @__PURE__ */ jsxs29("g", { opacity: ".2", "data-part": "lettersShadow", children: [
|
|
5381
|
+
/* @__PURE__ */ jsx34("path", { d: "M233.2 408.6l30.6 46.3-51.9 46 22.2 25.8 125.2 37.6 45.1-18.7-45.5-51.9 12.1-18.1-25.3-30.8-26.2-6.5-27.5-37.7z" }),
|
|
5382
|
+
/* @__PURE__ */ jsx34("path", { d: "M328.9 467.6S391.4 601.5 505 558c88.3-33.8-69.2-108.2-85-116.5-15.8-8.3-76.8 6.9-76.8 6.9l-14.3 19.2z" }),
|
|
5383
|
+
/* @__PURE__ */ jsx34("path", { d: "M474.2 515.1L505 558l-20.6 50.6 22.3 25.8 162.5 27 48.4-24.3-60.2-42.7 19.1-12.1-38.4-37.4-32.3.6-72-30.3z" })
|
|
5384
|
+
] }),
|
|
5385
|
+
/* @__PURE__ */ jsx34(
|
|
5386
|
+
"path",
|
|
5387
|
+
{
|
|
5388
|
+
className: "lettersSide",
|
|
5389
|
+
stroke: "#265D85",
|
|
5390
|
+
strokeLinecap: "round",
|
|
5391
|
+
strokeLinejoin: "round",
|
|
5392
|
+
strokeMiterlimit: "10",
|
|
5393
|
+
strokeWidth: "2.5",
|
|
5394
|
+
fill: "#3A7199",
|
|
5395
|
+
d: "M269.2 316l-17.9 6 15.4.8 19.2-6.4zM220.3 371l12.4 37.8 14 7.4-13.3-40.7zM214.4 317.4c-.3-.8-.5-1.6-.8-2.4-.3-.8-.5-1.7-.8-2.5-.3-.9-.5-1.7-.8-2.6-.3-.9-.6-1.8-.8-2.8-.3-.9-.6-1.9-.8-2.9-.3-1-.6-1.9-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-2-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-1.9-.8-2.8-.2-.9-.5-1.8-.7-2.7-.2-.9-.5-1.7-.7-2.6l-.6-2.4-10.9 2.8c.2.7.4 1.5.6 2.3l.6 2.4c.2.8.4 1.6.7 2.5s.5 1.7.7 2.6c.2.9.5 1.8.7 2.7.2.9.5 1.8.7 2.7.2.9.5 1.8.7 2.7.2.9.5 1.8.7 2.7.2.9.5 1.8.8 2.7.3.9.5 1.8.8 2.7.3.9.5 1.8.8 2.7.3.9.5 1.8.8 2.7.3.9.5 1.7.8 2.6.3.8.5 1.7.8 2.5.2.8.5 1.6.7 2.3.2.8.5 1.5.7 2.2l6.3 19.3-28.8 9.7 10 2.6 31-10.4-6.8-21zM162.6 243.7l-25 119.5 10.7 32.2 7.6 6.5-11.5-34.7 26.9-128.8z"
|
|
5396
|
+
}
|
|
5397
|
+
),
|
|
5398
|
+
/* @__PURE__ */ jsx34(
|
|
5399
|
+
"path",
|
|
5400
|
+
{
|
|
5401
|
+
className: "lettersFront",
|
|
5402
|
+
stroke: "#265D85",
|
|
5403
|
+
strokeLinecap: "round",
|
|
5404
|
+
strokeLinejoin: "round",
|
|
5405
|
+
strokeMiterlimit: "10",
|
|
5406
|
+
strokeWidth: "2.5",
|
|
5407
|
+
fill: "#67B1E0",
|
|
5408
|
+
d: "M266.7 322.8l19.2-6.5 12.1 37.2-19.2 6.5 13.2 40.6-45.2 15.6-13.3-40.7-77.5 26.4-11.5-34.8 26.9-128.8 61.5-19.9 33.8 104.4zm-62-38.9c-.3-1-.5-1.9-.8-2.8-.2-.9-.5-1.8-.7-2.7-.2-.9-.5-1.7-.7-2.6l-.6-2.4-1.1.4c-.1 1.6-.2 3.2-.4 4.8-.1 1.6-.3 3.2-.4 4.7-.1 1.6-.3 3.1-.5 4.7s-.3 3.1-.5 4.7-.4 3.1-.5 4.7c-.2 1.6-.4 3.2-.6 4.7l-.6 4.8-.6 4.8-6.4 36.8 31-10.4-6.8-20.8c-.3-.8-.5-1.6-.8-2.4-.3-.8-.5-1.7-.8-2.5-.3-.9-.5-1.7-.8-2.6-.3-.9-.6-1.8-.8-2.8-.3-.9-.6-1.9-.8-2.9-.3-1-.6-1.9-.8-2.9-.3-1-.6-1.9-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-2-.8-2.9-.3-1-.5-1.9-.8-2.9-.3-1-.5-1.9-.8-2.9-.5-.9-.8-1.9-1-2.8"
|
|
5409
|
+
}
|
|
5410
|
+
),
|
|
5411
|
+
/* @__PURE__ */ jsx34(
|
|
5412
|
+
"path",
|
|
5413
|
+
{
|
|
5414
|
+
className: "lettersSide",
|
|
5415
|
+
stroke: "#265D85",
|
|
5416
|
+
strokeLinecap: "round",
|
|
5417
|
+
strokeLinejoin: "round",
|
|
5418
|
+
strokeMiterlimit: "10",
|
|
5419
|
+
strokeWidth: "2.5",
|
|
5420
|
+
fill: "#3A7199",
|
|
5421
|
+
d: "M390 347.5c-.1-1.9-.3-3.8-.5-5.5-.2-1.7-.4-3.4-.7-4.9-.3-1.5-.5-2.9-.9-4.3-.3-1.3-.7-2.5-1.1-3.6-.4-1.1-.8-2.1-1.3-3.1-.5-.9-.9-1.8-1.5-2.5-.5-.8-1.1-1.4-1.7-2-.6-.6-1.2-1.1-1.8-1.5-.6-.4-1.3-.7-2-1.1-.7-.3-1.4-.6-2-.8l-2.1-.6c-.7-.2-1.5-.3-2.2-.3h-14.3 1.6l2.1.3c.7.1 1.3.3 2 .5.6.2 1.3.5 1.9.8.6.3 1.2.6 1.8 1 .6.4 1.2.8 1.7 1.3s1.1 1.1 1.5 1.8c.5.7.9 1.5 1.4 2.3.4.9.8 1.8 1.2 2.8.4 1 .7 2.2 1 3.4.3 1.2.6 2.5.8 4 .2 1.4.4 2.9.6 4.5.2 1.6.3 3.3.4 5.1.1 1.8.2 3.8.2 5.8 0 2.1 0 4.3-.1 6.7-.1 2.4-.2 4.9-.4 7.6-.2 2.7-.4 5.5-.7 8.4-.3 2.9-.6 5.7-.9 8.4-.3 2.7-.7 5.2-1 7.5-.4 2.4-.8 4.6-1.2 6.7-.4 2.1-.8 4-1.3 5.8-.5 1.8-.9 3.5-1.4 5.1s-1 3.1-1.5 4.5-1 2.7-1.6 3.9c-.5 1.2-1.1 2.3-1.6 3.3-.3.5-.5.9-.8 1.4-.1.1-.2.3-.3.4-.2.3-.4.6-.6.8-.1.2-.2.3-.3.5-.2.2-.3.5-.5.7-.1.1-.2.3-.4.4-.2.2-.3.4-.5.6l-.4.4-.5.5c-.1.1-.3.2-.4.3-.2.1-.3.3-.5.4-.1.1-.3.2-.4.3-.2.1-.3.2-.5.3-.1.1-.3.2-.4.2-.3.2-.5.3-.8.4-.6.3-1.3.5-2 .7h-.1c-.6.2-1.3.4-1.9.5h-.1c-.6.1-1.3.2-1.9.2H349c-.7-.1-1.3-.2-2-.3h-.1c-.6-.1-1.3-.3-1.9-.5h-.1c-.6-.2-1.2-.5-1.8-.8-.6-.3-1.2-.7-1.8-1.1 0 0-.1 0-.1-.1 0 0-.1 0-.1-.1 0 0-.1 0-.1-.1 0 0-.1 0-.1-.1l11 8.3.1.1.1.1s.1 0 .1.1c0 0 .1 0 .1.1.3.2.6.4 1 .6.3.2.6.4 1 .5.3.2.6.3.9.4.3.1.7.3 1 .4h.2l.9.3c.3.1.7.2 1.1.3h.2c.3.1.6.1.9.2.4.1.7.1 1.1.1H363c.3 0 .5 0 .8-.1.3 0 .5-.1.8-.1.1 0 .2 0 .3-.1h.2c.1 0 .2 0 .3-.1.3-.1.5-.1.8-.2.3-.1.5-.1.8-.2.1 0 .1 0 .2-.1.1 0 .2-.1.3-.1.2-.1.4-.1.6-.2.2-.1.4-.2.6-.2l.6-.3c.1 0 .1-.1.2-.1s.1-.1.2-.1.1-.1.2-.1.1-.1.2-.1.1-.1.2-.1c.1-.1.3-.2.4-.3.2-.1.4-.2.6-.4.1 0 .1-.1.2-.1.1-.1.2-.1.2-.2.1-.1.2-.1.3-.2.1-.1.2-.2.3-.2.1-.1.3-.2.4-.4.2-.2.4-.3.5-.5l.3-.3c.1-.1.1-.1.1-.2l.2-.2c.1-.1.2-.3.4-.4.1-.2.3-.3.4-.5.2-.2.4-.5.6-.7.1-.1.2-.2.3-.4 0 0 0-.1.1-.1l.1-.1c.2-.2.3-.5.5-.8.1-.2.2-.3.3-.5l.9-1.5c.6-1.1 1.2-2.2 1.8-3.5.6-1.3 1.1-2.7 1.7-4.2.5-1.5 1.1-3.1 1.6-4.8.5-1.7 1-3.5 1.5-5.5.5-1.9 1-4 1.4-6.3s.9-4.6 1.3-7.2c.4-2.6.8-5.3 1.1-8.1.4-2.9.7-5.9 1-9 .3-3.2.6-6.2.8-9 .2-2.9.3-5.6.4-8.1.1-2.6.1-5 .1-7.2.1-1.6 0-3.7-.1-5.6zM325.4 293.8c.7-.6 1.3-1.2 2-1.8.2-.2.4-.4.6-.5.8-.7 1.7-1.4 2.6-2.1.2-.1.4-.3.6-.4.7-.5 1.4-1.1 2.2-1.6.3-.2.5-.4.8-.5.8-.5 1.7-1.1 2.5-1.6.1-.1.2-.1.3-.2 1-.6 1.9-1.1 2.9-1.6.2-.1.3-.2.5-.3.9-.5 1.9-.9 2.9-1.3.1-.1.3-.1.4-.2 1-.4 2-.9 3.1-1.2.4-.2.9-.3 1.3-.5.1 0 .2-.1.4-.1.4-.1.8-.3 1.2-.4.1 0 .1 0 .2-.1.5-.1 1-.3 1.5-.4h.1c.5-.1 1-.3 1.5-.4l-11.1 2.7c-.1 0-.3.1-.4.1-.1 0-.3.1-.4.1-.1 0-.3.1-.4.1h-.1c-.1 0-.2.1-.3.1-.3.1-.7.2-1 .3h-.1-.1c-.2.1-.5.1-.7.2-.1 0-.2.1-.4.1-.1 0-.1 0-.2.1-.1 0-.1 0-.2.1-.1 0-.2.1-.3.1-.3.1-.6.2-1 .3-.6.2-1.2.4-1.8.7-.4.2-.7.3-1.1.5-.1.1-.2.1-.4.2-.1 0-.2.1-.3.1-.6.3-1.1.5-1.7.8-.2.1-.5.2-.7.4-.1 0-.2.1-.3.1-.1 0-.1.1-.2.1-.2.1-.3.2-.5.3-.7.4-1.5.8-2.2 1.2-.1.1-.2.1-.3.2-.6.4-1.2.7-1.8 1.1-.2.1-.4.3-.6.4-.1.1-.2.1-.3.2-.1.1-.3.2-.4.3-.7.5-1.3.9-2 1.4-.2.1-.4.3-.5.4-.1.1-.1.1-.2.1-.7.6-1.5 1.2-2.2 1.8-.1 0-.1.1-.2.1-.1.1-.3.2-.4.4-.4.3-.7.6-1.1 1-.3.2-.5.5-.8.7-.2.2-.4.4-.7.6-.8.7-1.5 1.5-2.3 2.3-1.7 1.8-3.2 3.7-4.8 5.7-1.5 2-3 4.2-4.3 6.5-1.4 2.3-2.7 4.7-3.9 7.3-1.2 2.6-2.4 5.3-3.4 8.1-1.1 2.8-2.1 5.8-3 8.9-.9 3.1-1.7 6.3-2.4 9.6s-1.3 6.8-1.9 10.4c-.5 3.6-1 7.3-1.3 11.1-.4 3.8-.6 7.5-.7 11.2-.1 3.6-.2 7.1-.1 10.5.1 3.4.3 6.7.6 9.9s.7 6.3 1.3 9.3c.5 3 1.2 5.9 1.9 8.6.7 2.8 1.5 5.4 2.4 8 .9 2.5 1.9 5 3 7.3s2.3 4.5 3.6 6.6c.4.7.9 1.4 1.3 2.1.4.7.9 1.3 1.4 2s.9 1.3 1.4 1.9l1.5 1.8 8.3 9.9c-.5-.6-1.1-1.3-1.6-2s-1-1.3-1.5-2l-1.5-2.1c-.5-.7-1-1.5-1.4-2.2-1.4-2.3-2.7-4.6-3.9-7.1-1.2-2.5-2.3-5.1-3.2-7.8-1-2.7-1.9-5.6-2.6-8.6-.8-3-1.4-6.1-2-9.3-.6-3.2-1-6.5-1.3-10-.3-3.4-.5-7-.6-10.7-.1-3.7-.1-7.5.1-11.3.1-3.9.4-7.9.8-12s.9-8.1 1.4-12c.6-3.9 1.3-7.6 2-11.2.8-3.6 1.6-7 2.6-10.4 1-3.3 2-6.5 3.2-9.6 1.2-3.1 2.4-6 3.7-8.7 1.3-2.8 2.7-5.4 4.2-7.9s3-4.8 4.7-7c1.6-2.2 3.3-4.2 5.1-6.1.8-.9 1.6-1.7 2.4-2.5.2-.3.4-.5.6-.7z"
|
|
5422
|
+
}
|
|
5423
|
+
),
|
|
5424
|
+
/* @__PURE__ */ jsx34(
|
|
5425
|
+
"path",
|
|
5426
|
+
{
|
|
5427
|
+
className: "lettersFront",
|
|
5428
|
+
stroke: "#265D85",
|
|
5429
|
+
strokeLinecap: "round",
|
|
5430
|
+
strokeLinejoin: "round",
|
|
5431
|
+
strokeMiterlimit: "10",
|
|
5432
|
+
strokeWidth: "2.5",
|
|
5433
|
+
fill: "#67B1E0",
|
|
5434
|
+
d: "M436.1 339.3c.5 3.1 1 6.4 1.3 9.8.3 3.4.5 6.9.6 10.4.1 3.6 0 7.3-.1 11.1-.2 3.8-.4 7.8-.8 11.8-.4 4.1-.9 8-1.5 11.8-.6 3.8-1.3 7.5-2 11-.8 3.5-1.6 6.9-2.6 10.2-1 3.3-2 6.4-3.1 9.5-1.1 3-2.4 5.9-3.6 8.7-1.3 2.8-2.7 5.4-4.1 7.9-1.4 2.5-3 4.9-4.6 7.1-1.6 2.2-3.3 4.3-5 6.3-1.8 2-3.6 3.8-5.5 5.5-1.9 1.7-3.8 3.3-5.8 4.7-2 1.4-4.1 2.7-6.2 3.9-2.1 1.2-4.3 2.2-6.6 3.1-2.3.9-4.6 1.7-6.9 2.3-2.3.6-4.7 1.1-7.2 1.5-2.4.3-4.9.6-7.4.6-2.5.1-5.1 0-7.7-.2-2.6-.2-5.2-.5-7.7-1s-4.9-1.1-7.3-1.8c-2.4-.7-4.6-1.6-6.8-2.6s-4.3-2.1-6.4-3.4c-2.1-1.3-4-2.6-5.9-4.1-1.9-1.5-3.7-3.1-5.4-4.9-1.7-1.8-3.4-3.6-4.9-5.6-1.6-2-3-4.1-4.4-6.4-1.4-2.3-2.7-4.6-3.9-7.1-1.2-2.5-2.3-5.1-3.2-7.8-1-2.7-1.9-5.6-2.6-8.6-.8-3-1.4-6.1-2-9.3-.6-3.2-1-6.5-1.3-10-.3-3.4-.5-7-.6-10.7-.1-3.7-.1-7.5.1-11.3.1-3.9.4-7.9.8-12s.9-8.1 1.4-12c.6-3.9 1.3-7.6 2-11.2.8-3.6 1.6-7 2.6-10.4 1-3.3 2-6.5 3.2-9.6 1.2-3.1 2.4-6 3.7-8.7 1.3-2.8 2.7-5.4 4.2-7.9s3-4.8 4.7-7c1.6-2.2 3.3-4.2 5.1-6.1 1.8-1.9 3.6-3.7 5.5-5.3 1.9-1.6 3.9-3.1 5.9-4.5 2-1.4 4.1-2.6 6.3-3.7 2.1-1.1 4.4-2.1 6.6-2.9 2.3-.8 4.6-1.5 6.9-2.1 2.4-.5 4.8-1 7.2-1.2 2.5-.3 5-.4 7.5-.4 2.6 0 5.2.1 7.8.4 2.6.3 5.1.7 7.6 1.2s4.9 1.2 7.2 1.9c2.3.8 4.6 1.6 6.8 2.7 2.2 1 4.3 2.1 6.4 3.4 2.1 1.3 4 2.6 5.9 4.1 1.9 1.5 3.7 3.1 5.4 4.8 1.7 1.7 3.3 3.6 4.9 5.6 1.5 2 3 4.1 4.3 6.3 1.4 2.2 2.6 4.6 3.8 7 1.2 2.4 2.2 5 3.2 7.7.9 2.7 1.8 5.5 2.5 8.4.5 3 1.1 6 1.7 9.1zm-52 69.5c.5-1.9 1-4 1.4-6.3.4-2.2.9-4.6 1.3-7.2.4-2.6.8-5.3 1.1-8.1.4-2.9.7-5.9 1-9 .3-3.2.6-6.2.8-9 .2-2.9.3-5.6.4-8.1.1-2.6.1-5 .1-7.2 0-2.3-.1-4.3-.2-6.3-.1-1.9-.3-3.8-.5-5.5-.2-1.7-.4-3.4-.7-4.9-.3-1.5-.5-2.9-.9-4.3-.3-1.3-.7-2.5-1.1-3.6-.4-1.1-.8-2.1-1.3-3.1-.5-.9-.9-1.8-1.5-2.5-.5-.8-1.1-1.4-1.7-2-.6-.6-1.2-1.1-1.8-1.5-.6-.4-1.3-.7-2-1.1-.7-.3-1.4-.6-2-.8l-2.1-.6c-.7-.2-1.5-.3-2.2-.3-.8-.1-1.5-.1-2.2-.1-.7 0-1.5.1-2.2.2-.7.1-1.5.2-2.2.4-.7.2-1.4.4-2.1.7-.7.3-1.4.6-2.1 1.1-.7.5-1.4 1-2 1.6-.7.6-1.3 1.4-1.9 2.2-.6.8-1.2 1.7-1.8 2.8-.6 1-1.2 2.1-1.8 3.4-.6 1.2-1.1 2.6-1.7 4-.5 1.5-1.1 3-1.6 4.7-.5 1.7-1 3.5-1.5 5.4-.5 1.9-.9 4-1.4 6.2-.4 2.2-.9 4.6-1.2 7.1-.4 2.5-.8 5.2-1.1 8.1-.3 2.9-.7 5.9-1 9.1-.3 3.2-.6 6.2-.8 9.1-.2 2.9-.3 5.6-.4 8.2-.1 2.6-.1 5-.1 7.3s.1 4.4.2 6.4.3 3.9.4 5.7c.2 1.8.4 3.5.7 5 .3 1.6.5 3 .9 4.4.3 1.4.7 2.6 1.1 3.8.4 1.2.8 2.2 1.3 3.2s.9 1.9 1.5 2.6c.5.8 1.1 1.5 1.6 2.1.6.6 1.2 1.1 1.8 1.6.6.4 1.3.8 2 1.2.7.3 1.3.6 2 .9l2.1.6c.7.2 1.5.3 2.2.3.7.1 1.5.1 2.2 0 .7 0 1.5-.1 2.2-.2.7-.1 1.5-.3 2.2-.5.7-.2 1.4-.5 2.1-.8.7-.3 1.4-.7 2.1-1.2.7-.5 1.4-1.1 2-1.8.7-.7 1.3-1.5 1.9-2.4.6-.9 1.2-1.8 1.8-2.9.6-1.1 1.2-2.2 1.8-3.5.6-1.3 1.1-2.7 1.7-4.2.5-1.5 1.1-3.1 1.6-4.8.6-1.9 1.1-3.7 1.6-5.6"
|
|
5435
|
+
}
|
|
5436
|
+
),
|
|
5437
|
+
/* @__PURE__ */ jsx34(
|
|
5438
|
+
"path",
|
|
5439
|
+
{
|
|
5440
|
+
className: "lettersSide",
|
|
5441
|
+
stroke: "#265D85",
|
|
5442
|
+
strokeLinecap: "round",
|
|
5443
|
+
strokeLinejoin: "round",
|
|
5444
|
+
strokeMiterlimit: "10",
|
|
5445
|
+
strokeWidth: "2.5",
|
|
5446
|
+
fill: "#3A7199",
|
|
5447
|
+
d: "M548.6 448.8l-18.7-2.8 13.4 7.7 20.1 2.9zM480.2 475.8l-6 39.3 9.2 13 6.4-42.4zM499.1 425.2c.1-.8.3-1.6.4-2.5.1-.8.3-1.7.4-2.6.1-.9.3-1.8.5-2.7.2-.9.3-1.9.5-2.9s.4-1.9.5-2.9c.2-1 .4-2 .6-2.9l.6-3 .6-3 .6-3 .6-3c.2-1 .4-2 .6-2.9.2-1 .4-2 .6-2.9.2-1 .4-1.9.6-2.8l.6-2.7c.2-.9.4-1.7.6-2.6.2-.8.4-1.7.5-2.5l-10.9-2.4c-.2.7-.3 1.5-.5 2.3-.2.8-.3 1.6-.5 2.4-.2.8-.3 1.7-.5 2.5-.2.9-.4 1.7-.5 2.6l-.6 2.7-.6 2.7-.6 2.7c-.2.9-.4 1.8-.6 2.8-.2.9-.4 1.8-.6 2.8-.2.9-.4 1.8-.5 2.8-.2.9-.3 1.8-.5 2.7-.2.9-.3 1.8-.5 2.7-.2.9-.3 1.8-.5 2.6-.1.9-.3 1.7-.4 2.5-.1.8-.3 1.6-.4 2.4-.1.8-.2 1.5-.4 2.3l-3.1 20.1-30-4.4 7.8 6.9 32.3 4.7 3.3-21.5zM486.2 336.1l-76.3 95.3-5 33.7 3.8 9.2 5.5-36.2 82.1-102.8z"
|
|
5448
|
+
}
|
|
5449
|
+
),
|
|
5450
|
+
/* @__PURE__ */ jsx34(
|
|
5451
|
+
"path",
|
|
5452
|
+
{
|
|
5453
|
+
className: "lettersFront",
|
|
5454
|
+
stroke: "#265D85",
|
|
5455
|
+
strokeLinecap: "round",
|
|
5456
|
+
strokeLinejoin: "round",
|
|
5457
|
+
strokeMiterlimit: "10",
|
|
5458
|
+
strokeWidth: "2.5",
|
|
5459
|
+
fill: "#67B1E0",
|
|
5460
|
+
d: "M543.3 453.7l20.1 2.9-6 38.6-20-2.8-6.5 42.1-47.4-6.5 6.5-42.3-81.1-11.4 5.4-36.2 82.2-102.8 63.8 9.9-17 108.5zm-37.7-62.8c.2-1 .4-1.9.6-2.8l.6-2.7c.2-.9.4-1.7.6-2.6.2-.8.4-1.7.5-2.5l-1.2-.2c-.8 1.4-1.6 2.7-2.5 4.1s-1.7 2.7-2.5 4c-.8 1.3-1.7 2.7-2.5 4-.9 1.3-1.7 2.6-2.6 4-.9 1.3-1.7 2.6-2.6 3.9-.9 1.3-1.8 2.6-2.7 4s-1.8 2.7-2.7 4-1.8 2.7-2.7 4L463.6 442l32.3 4.7 3.3-21.6c.1-.8.3-1.6.4-2.5.1-.8.3-1.7.4-2.6.1-.9.3-1.8.5-2.7.2-.9.3-1.9.5-2.9s.4-1.9.5-2.9c.2-1 .4-2 .6-2.9l.6-3 .6-3 .6-3 .6-3c.2-1 .4-2 .6-2.9.1-.8.3-1.8.5-2.8"
|
|
5461
|
+
}
|
|
5462
|
+
)
|
|
5463
|
+
] })
|
|
5464
|
+
]
|
|
5465
|
+
}
|
|
5466
|
+
)
|
|
5467
|
+
] });
|
|
5468
|
+
}
|
|
5469
|
+
|
|
5470
|
+
// packages/not-found/src/index.tsx
|
|
5471
|
+
import { jsx as jsx35, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
5472
|
+
var variants = ["caveman", "bad_dream", "electric_shock"];
|
|
5473
|
+
var copy2 = {
|
|
5474
|
+
caveman: {
|
|
5475
|
+
title: "This page is history.",
|
|
5476
|
+
description: "The page you are looking for could not be found."
|
|
5477
|
+
},
|
|
5478
|
+
bad_dream: {
|
|
5479
|
+
title: "Hello?? Is somebody there?!?",
|
|
5480
|
+
description: "The page you are trying to reach cannot be found. Perhaps it was just a bad dream?"
|
|
5481
|
+
},
|
|
5482
|
+
electric_shock: {
|
|
5483
|
+
title: "Looks like you\u2019re lost",
|
|
5484
|
+
description: "The page you are looking for is not available."
|
|
5485
|
+
}
|
|
5486
|
+
};
|
|
5487
|
+
function NotFoundScene({
|
|
5488
|
+
variant,
|
|
5489
|
+
title,
|
|
5490
|
+
description,
|
|
5491
|
+
action,
|
|
5492
|
+
homeLabel = "Go to Home",
|
|
5493
|
+
homeHref = "/",
|
|
5494
|
+
onHomeClick,
|
|
5495
|
+
animated = true,
|
|
5496
|
+
className,
|
|
5497
|
+
...props
|
|
5498
|
+
}) {
|
|
5499
|
+
const titleId = useId16();
|
|
5500
|
+
return /* @__PURE__ */ jsxs30(
|
|
5501
|
+
"section",
|
|
5502
|
+
{
|
|
5503
|
+
"aria-labelledby": titleId,
|
|
5504
|
+
...props,
|
|
5505
|
+
className: ["fe-not-found", `fe-not-found--${variant}`, className].filter(Boolean).join(" "),
|
|
5506
|
+
"data-variant": variant,
|
|
5507
|
+
"data-animated": animated,
|
|
5508
|
+
children: [
|
|
5509
|
+
/* @__PURE__ */ jsxs30("div", { className: "fe-not-found__art", "aria-hidden": "true", children: [
|
|
5510
|
+
variant === "caveman" && /* @__PURE__ */ jsx35(CavemanArtwork, {}),
|
|
5511
|
+
variant === "bad_dream" && /* @__PURE__ */ jsx35(YetiArtwork, {}),
|
|
5512
|
+
variant === "electric_shock" && /* @__PURE__ */ jsx35("div", { className: "fe-not-found__lost-art", children: /* @__PURE__ */ jsx35("span", { children: "404" }) })
|
|
5513
|
+
] }),
|
|
5514
|
+
/* @__PURE__ */ jsxs30("div", { className: "fe-not-found__content", children: [
|
|
5515
|
+
/* @__PURE__ */ jsxs30("h2", { id: titleId, className: "fe-not-found__title", children: [
|
|
5516
|
+
/* @__PURE__ */ jsx35("span", { className: "fe-not-found__sr-only", children: "404: " }),
|
|
5517
|
+
title === void 0 ? copy2[variant].title : title
|
|
5518
|
+
] }),
|
|
5519
|
+
/* @__PURE__ */ jsx35("div", { className: "fe-not-found__description", children: description === void 0 ? copy2[variant].description : description }),
|
|
5520
|
+
/* @__PURE__ */ jsx35("div", { className: "fe-not-found__actions", children: action !== void 0 ? action : /* @__PURE__ */ jsx35(
|
|
5521
|
+
Button,
|
|
5522
|
+
{
|
|
5523
|
+
hierarchy: "primary",
|
|
5524
|
+
size: "40",
|
|
5525
|
+
content: homeLabel,
|
|
5526
|
+
onClick: onHomeClick ?? (() => window.location.assign(homeHref))
|
|
5527
|
+
}
|
|
5528
|
+
) })
|
|
5529
|
+
] })
|
|
5530
|
+
]
|
|
5531
|
+
}
|
|
5532
|
+
);
|
|
5533
|
+
}
|
|
5534
|
+
function NotFoundCaveman(props) {
|
|
5535
|
+
return /* @__PURE__ */ jsx35(NotFoundScene, { ...props, variant: "caveman" });
|
|
5536
|
+
}
|
|
5537
|
+
function NotFoundYeti(props) {
|
|
5538
|
+
return /* @__PURE__ */ jsx35(NotFoundScene, { ...props, variant: "bad_dream" });
|
|
5539
|
+
}
|
|
5540
|
+
function NotFoundLost(props) {
|
|
5541
|
+
return /* @__PURE__ */ jsx35(NotFoundScene, { ...props, variant: "electric_shock" });
|
|
5542
|
+
}
|
|
5543
|
+
function NotFound({ variant = "random", ...props }) {
|
|
5544
|
+
const [randomVariant, setRandomVariant] = useState20("caveman");
|
|
5545
|
+
const picked = useRef13(false);
|
|
5546
|
+
useEffect12(() => {
|
|
5547
|
+
if (variant === "random" && !picked.current) {
|
|
5548
|
+
picked.current = true;
|
|
5549
|
+
setRandomVariant(
|
|
5550
|
+
variants[Math.floor(Math.random() * variants.length)] ?? "caveman"
|
|
5551
|
+
);
|
|
5552
|
+
}
|
|
5553
|
+
}, [variant]);
|
|
5554
|
+
return /* @__PURE__ */ jsx35(
|
|
5555
|
+
NotFoundScene,
|
|
5556
|
+
{
|
|
5557
|
+
...props,
|
|
5558
|
+
variant: variant === "random" ? randomVariant : variant
|
|
5559
|
+
}
|
|
5560
|
+
);
|
|
5561
|
+
}
|
|
3068
5562
|
export {
|
|
3069
5563
|
Avatar,
|
|
3070
5564
|
AvatarGroup,
|
|
@@ -3078,14 +5572,29 @@ export {
|
|
|
3078
5572
|
CurrencyInput,
|
|
3079
5573
|
DateTimePicker,
|
|
3080
5574
|
Drawer,
|
|
5575
|
+
DrawerWidths,
|
|
5576
|
+
EmailInput,
|
|
3081
5577
|
ExpandableSection,
|
|
5578
|
+
EyeIcon,
|
|
5579
|
+
EyeOffIcon,
|
|
5580
|
+
FILE_UPLOAD_ACCEPTS,
|
|
5581
|
+
FilePreview,
|
|
5582
|
+
FileUpload,
|
|
3082
5583
|
Loading,
|
|
5584
|
+
MailboxIcon,
|
|
3083
5585
|
Message,
|
|
3084
5586
|
Modal,
|
|
3085
5587
|
MoreHorizontalIcon,
|
|
3086
5588
|
MoreVerticalIcon,
|
|
5589
|
+
NotFound,
|
|
5590
|
+
NotFoundCaveman,
|
|
5591
|
+
NotFoundLost,
|
|
5592
|
+
NotFoundYeti,
|
|
3087
5593
|
NumberInput,
|
|
3088
5594
|
Pagination,
|
|
5595
|
+
PasswordInput,
|
|
5596
|
+
PhoneIcon,
|
|
5597
|
+
PhoneNumberInput,
|
|
3089
5598
|
PlusIcon,
|
|
3090
5599
|
ProgressBar,
|
|
3091
5600
|
RadioButton,
|
|
@@ -3117,7 +5626,9 @@ export {
|
|
|
3117
5626
|
chevron_right,
|
|
3118
5627
|
chevron_up,
|
|
3119
5628
|
copy,
|
|
5629
|
+
formatFileSize,
|
|
3120
5630
|
formatNumber,
|
|
5631
|
+
getFilePreviewKind,
|
|
3121
5632
|
getIconSize,
|
|
3122
5633
|
key,
|
|
3123
5634
|
lock,
|
|
@@ -3125,9 +5636,13 @@ export {
|
|
|
3125
5636
|
log_out,
|
|
3126
5637
|
message,
|
|
3127
5638
|
minus_square,
|
|
5639
|
+
normalizePhoneNumber,
|
|
3128
5640
|
plus,
|
|
3129
5641
|
plus_square,
|
|
3130
5642
|
search,
|
|
3131
5643
|
trash,
|
|
5644
|
+
validateEmail,
|
|
5645
|
+
validatePassword,
|
|
5646
|
+
validatePhoneNumber,
|
|
3132
5647
|
x_close
|
|
3133
5648
|
};
|