@wistia/vhs 5.0.5 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,32 +1,31 @@
1
1
 
2
2
  /*
3
- * @license @wistia/vhs v5.0.5
3
+ * @license @wistia/vhs v6.0.0
4
4
  *
5
5
  * Copyright (c) 2021-2026, Wistia, Inc. and its affiliates.
6
6
  *
7
7
  * This source code is unlicensed, all rights reserved.
8
8
  */
9
9
 
10
- import { hasKey, isArray, isBoolean, isEmptyString, isFunction, isNil, isNonEmptyArray, isNonEmptyString, isNotNil, isNotUndefined, isNumber, isString as isString$1, isUndefined } from "@wistia/type-guards";
11
- import { addDays, addMonths, addYears, compareAsc, differenceInCalendarDays, differenceInDays, eachDayOfInterval, eachMonthOfInterval, endOfDay, endOfMonth, getDay, getDaysInMonth, getYear, isAfter, isBefore, isEqual, isFuture, isSameDay, isValid, isWithinInterval, startOfDay, startOfMonth } from "date-fns";
12
- import { daysInWeek } from "date-fns/constants";
13
- import { ThemeProvider, createGlobalStyle, css, keyframes, styled, useTheme as useTheme$1 } from "styled-components";
14
- import { darken, getValueAndUnit, transparentize } from "polished";
15
10
  import { LiveAnnouncer, LiveMessage } from "react-aria-live";
16
11
  import { AnimatePresence, MotionConfig, motion } from "motion/react";
12
+ import { ThemeProvider, createGlobalStyle, css, keyframes, styled, useTheme as useTheme$1 } from "styled-components";
17
13
  import { designTokens } from "@wistia/vhs-design-tokens";
18
14
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
15
  import { Children, Fragment as Fragment$1, cloneElement, createContext, forwardRef, isValidElement, memo, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
20
16
  import { createPortal } from "react-dom";
17
+ import { hasKey, isArray, isBoolean, isEmptyString, isFunction, isNil, isNonEmptyArray, isNonEmptyString, isNotNil, isNotUndefined, isNumber, isString, isUndefined } from "@wistia/type-guards";
21
18
  import { debounce } from "throttle-debounce";
19
+ import { darken, getValueAndUnit, transparentize } from "polished";
22
20
  import { Field, Form as Form$1, Formik, useFormikContext, useFormikContext as useFormikContext$1 } from "formik";
23
- import isEqual$1 from "react-fast-compare";
21
+ import isEqual from "react-fast-compare";
24
22
  import { Editable, ReactEditor, Slate, useFocused, useSelected, useSlate, withReact } from "slate-react";
25
23
  import { Editor, Element, Node, Path, Range, Text as Text$1, Transforms, createEditor } from "slate";
26
24
  import { withHistory } from "slate-history";
27
25
  import { isHotkey } from "is-hotkey";
28
26
  import { jsx as jsx$1 } from "slate-hyperscript";
29
27
  import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "@radix-ui/react-dropdown-menu";
28
+ import { addDays, addMonths, addYears, compareAsc, differenceInDays, eachDayOfInterval, eachMonthOfInterval, endOfDay, endOfMonth, getDay, getDaysInMonth, getYear, isAfter, isBefore, isEqual as isEqual$1, isFuture, isSameDay, isValid, isWithinInterval, startOfDay, startOfMonth } from "date-fns";
30
29
  import ReactSlider from "react-slider";
31
30
  //#region \0rolldown/runtime.js
32
31
  var __defProp = Object.defineProperty;
@@ -40,1513 +39,676 @@ var __exportAll = (all, no_symbols) => {
40
39
  return target;
41
40
  };
42
41
  //#endregion
43
- //#region src/helpers/copyToClipboard/copyToClipboard.ts
44
- /**
45
- * Copies a string to user's clipboard for easy pasting in another location
46
- *
47
- * @param {string} textToCopy - the string that will be copied to users clipboard
48
- * @returns {Promise} - Promise object that represents the copied string
49
- */
50
- const copyToClipboard = async (textToCopy) => {
51
- if (navigator.clipboard) return navigator.clipboard.writeText(textToCopy).catch((error) => {
52
- if (error instanceof Error) throw error;
53
- throw new DOMException("The clipboard is not accessible", "NotAllowedError");
54
- });
55
- const span = document.createElement("span");
56
- span.textContent = textToCopy;
57
- span.style.whiteSpace = "pre";
58
- document.body.appendChild(span);
59
- const selection = window.getSelection();
60
- const range = window.document.createRange();
61
- selection?.removeAllRanges();
62
- range.selectNode(span);
63
- selection?.addRange(range);
64
- let success = false;
65
- try {
66
- success = window.document.execCommand("copy");
67
- } catch (error) {
68
- console.error("error", error);
42
+ //#region src/theme.ts
43
+ const zIndex1 = 100;
44
+ const zIndex2 = 200;
45
+ const zIndex3 = 300;
46
+ const zIndex5 = 500;
47
+ const theme = {
48
+ breakpoint: { ...designTokens.breakpoint },
49
+ color: { ...designTokens.color },
50
+ duration: { ...designTokens.duration },
51
+ easing: { ...designTokens.easing },
52
+ font: {
53
+ family: {
54
+ default: "InterVariable, Helvetica, Arial, sans-serif",
55
+ monospace: designTokens.font.family.monospace
56
+ },
57
+ size: designTokens.font.size,
58
+ weight: Object.fromEntries(Object.entries(designTokens.font.weight).map(([key, value]) => [key, Number(value)]))
59
+ },
60
+ shadow: { ...designTokens.shadow },
61
+ spacing: { ...designTokens.spacing },
62
+ zIndex: {
63
+ ModalCloseButton: zIndex1,
64
+ Backdrop: zIndex2,
65
+ ActionModal: zIndex3,
66
+ FullScreenModal: zIndex3,
67
+ RangeSelector: zIndex5,
68
+ MenuComponent: zIndex5,
69
+ Toast: zIndex5,
70
+ Tooltip: zIndex5,
71
+ BackdropElevated: zIndex5
72
+ },
73
+ button: { borderRadius: "4px" },
74
+ buttonGroup: { gap: "16px" },
75
+ headline: {
76
+ family: designTokens.font.family,
77
+ headline1: { weight: designTokens.font.weight.bold },
78
+ headline2: { weight: designTokens.font.weight.medium },
79
+ headline3: { weight: designTokens.font.weight.bold }
80
+ },
81
+ paper: {
82
+ elevation0: designTokens.shadow.elevation0,
83
+ elevation1: designTokens.shadow.elevation1,
84
+ elevation2: designTokens.shadow.elevation2
69
85
  }
70
- selection?.removeAllRanges();
71
- window.document.body.removeChild(span);
72
- if (success) return Promise.resolve();
73
- return Promise.reject(new DOMException("The request is not allowed", "NotAllowedError"));
74
86
  };
75
87
  //#endregion
76
- //#region src/helpers/datetimeHelpers/datetimeHelpers.ts
77
- const milisecondsInSecond = 1e3;
78
- const secondsInMinute = 60;
79
- const minutesInHour = 60;
80
- const halfAnHourInMinutes = 30;
81
- const defaultLocales = ["en-US"];
82
- const defaultTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
83
- /**
84
- * @param {number} num - pads integer with leading zero
85
- * @returns {string} - integer with padding as string
86
- */
87
- const padTimeInteger = (num) => num.toString().padStart(2, "0");
88
- /**
89
- * @param {*} date - possible date value - unknown type
90
- * @returns {boolean} - whether it is a date object
91
- */
92
- const isDate = (date) => date instanceof Date;
88
+ //#region src/private/helpers/objectHelpers/isObject.ts
93
89
  /**
94
- * @param {*} date - a Date object - could be unknown though
95
- * @returns {boolean} - whether it's a valid date
96
- */
97
- const isInvalidDate = (date) => !isDate(date) || date.getTime() === 0;
98
- /**
99
- * Converts a Date object into a date only string.
100
- *
101
- * e.g. Jun 3, 2021
102
- * @param {*} date a Date object you want to convert into a string - gracefully handles any input
103
- * @param {object} options -
104
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
105
- * @returns {string} a formatted date string
106
- */
107
- const dateOnlyString = (date, { timeZone = defaultTimeZone } = {}) => {
108
- if (!isDate(date) || isInvalidDate(date)) return "";
109
- try {
110
- return new Intl.DateTimeFormat(defaultLocales, {
111
- dateStyle: "medium",
112
- timeZone
113
- }).format(date);
114
- } catch (error) {
115
- console.error(error);
116
- return "";
117
- }
118
- };
119
- /**
120
- * Converts a Date object into a date only string formatted numerically.
90
+ * Determines if a given value is an object
121
91
  *
122
- * e.g. 06/03/2021
123
- * @param {*} date a Date object you want to convert into a string - gracefully handles any input
124
- * @param {object} options -
125
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
126
- * @returns {string} a formatted date string
92
+ * @param {*} value - value of any type
93
+ * @returns {boolean} - whether value is an object
127
94
  */
128
- const dateOnlyStringNumeric = (date, { timeZone = defaultTimeZone } = {}) => {
129
- if (!isDate(date) || isInvalidDate(date)) return "";
130
- try {
131
- return new Intl.DateTimeFormat(defaultLocales, {
132
- year: "numeric",
133
- month: "2-digit",
134
- day: "2-digit",
135
- timeZone
136
- }).format(date);
137
- } catch (error) {
138
- console.error(error);
139
- return "";
140
- }
141
- };
95
+ const isObject = (value) => value !== null && value !== void 0 && (Object.getPrototypeOf(value) === null || value.constructor === Object);
96
+ //#endregion
97
+ //#region src/private/helpers/objectHelpers/merge.ts
142
98
  /**
143
- * Converts a Date object into a date only string formatted to ISO8601.
99
+ * Merges two or more objects
144
100
  *
145
- * e.g. 2021-06-03
146
- * @param {*} date a Date object you want to convert into a string - gracefully handles any input
147
- * @param {object} options -
148
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
149
- * @returns {string} a formatted date string
101
+ * @param {Object} target - object that subsequent objects will be merged into
102
+ * @param {...Object} sources - one or more objects
103
+ * @returns {Object} - new object
150
104
  */
151
- const dateOnlyISOString = (date, { timeZone = defaultTimeZone } = {}) => {
152
- if (!isDate(date) || isInvalidDate(date)) return "";
153
- try {
154
- const partsAsObject = new Intl.DateTimeFormat(defaultLocales, {
155
- year: "numeric",
156
- month: "2-digit",
157
- day: "2-digit",
158
- timeZone
159
- }).formatToParts(date).reduce((map, obj) => {
160
- map[obj.type] = obj.value;
161
- return map;
162
- }, {});
163
- return `${partsAsObject.year}-${partsAsObject.month}-${partsAsObject.day}`;
164
- } catch (error) {
165
- console.error(error);
166
- return "";
167
- }
105
+ const merge = (target, ...sources) => {
106
+ if (!sources.length) return target;
107
+ const output = { ...target };
108
+ sources.forEach((source) => {
109
+ if (isObject(source)) Object.keys(source).forEach((key) => {
110
+ if (isObject(source[key])) if (output[key] === null || output[key] === void 0) output[key] = { ...source[key] };
111
+ else output[key] = merge(output[key], source[key]);
112
+ else output[key] = source[key];
113
+ });
114
+ });
115
+ return output;
168
116
  };
169
- /**
170
- * Converts a Date object into a month and day string formatted numerically.
171
- *
172
- * e.g. 06/03/2021
173
- * @param {*} date a Date object you want to convert into a string - gracefully handles any value
174
- * @param {object} options -
175
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
176
- * @returns {string} a formatted date string
177
- */
178
- const monthDayStringNumeric = (date, { timeZone = defaultTimeZone } = {}) => {
179
- if (!isDate(date) || isInvalidDate(date)) return "";
180
- try {
181
- return new Intl.DateTimeFormat(defaultLocales, {
182
- month: "2-digit",
183
- day: "2-digit",
184
- timeZone
185
- }).format(date);
186
- } catch (error) {
187
- console.error(error);
188
- return "";
189
- }
117
+ //#endregion
118
+ //#region src/providers/VHSThemeProvider.tsx
119
+ const VHSThemeProvider = ({ children, theme: overrideTheme }) => {
120
+ return /* @__PURE__ */ jsx(ThemeProvider, {
121
+ theme: merge(theme, overrideTheme),
122
+ children
123
+ });
190
124
  };
125
+ //#endregion
126
+ //#region src/providers/WrapperProvider.tsx
127
+ const WrapperContext = createContext({});
128
+ const useWrappers = () => useContext(WrapperContext);
129
+ const WrapperProvider = WrapperContext.Provider;
130
+ //#endregion
131
+ //#region src/private/helpers/coerceToBoolean/coerceToBoolean.ts
191
132
  /**
192
- * Converts a Date object into a month and day string formatted numerically.
133
+ * Converts a boolean string value `value` into a boolean. If passed
134
+ * something other than 'true' or 'false' will coerce value to boolean.
193
135
  *
194
- * e.g. Thursday
195
- * @param {Date} date a Date object you want to convert into a string
196
- * @param {object} options -
197
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
198
- * @returns {string} a formatted date string
136
+ * @param {*} value - a value of any type
137
+ * @returns {boolean} - that value as a boolean
199
138
  */
200
- const dayOfWeekString = (date, { timeZone = defaultTimeZone } = {}) => {
201
- if (date === null) return "";
202
- try {
203
- return new Intl.DateTimeFormat(defaultLocales, {
204
- weekday: "long",
205
- timeZone
206
- }).format(date);
207
- } catch (error) {
208
- console.error(error);
209
- return "";
210
- }
139
+ const coerceToBoolean = (value) => {
140
+ if (value === "true" || value === "false") return value === "true";
141
+ return Boolean(value);
211
142
  };
143
+ //#endregion
144
+ //#region src/hooks/useTheme/useTheme.ts
145
+ const useTheme = () => useTheme$1();
146
+ //#endregion
147
+ //#region src/private/helpers/isClient/isClient.ts
212
148
  /**
213
- * Converts a Date object into a time only string.
214
- *
215
- * e.g. 7:30 AM
216
- * @param {*} date a Date object you want to convert into a string - gracefully handles any value
217
- * @param {object} options -
218
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
219
- * @returns {string} a formatted date string
149
+ * @returns {boolean} - whether running in a browser environment
220
150
  */
221
- const timeOnlyString = (date, { timeZone = defaultTimeZone } = {}) => {
222
- if (!isDate(date) || isInvalidDate(date)) return "";
223
- try {
224
- return new Intl.DateTimeFormat(defaultLocales, {
225
- timeStyle: "short",
226
- timeZone
227
- }).format(date);
228
- } catch (error) {
229
- console.error(error);
230
- return "";
231
- }
151
+ const isClient = () => typeof window !== "undefined" && typeof document !== "undefined";
152
+ //#endregion
153
+ //#region src/private/hooks/useWindowSize/useWindowSize.ts
154
+ const useWindowSize = (interval = 0) => {
155
+ const [dimensions, setDimensions] = useState({
156
+ width: isClient() ? window.innerWidth : 0,
157
+ height: isClient() ? window.innerHeight : 0
158
+ });
159
+ useLayoutEffect(() => {
160
+ const handleResize = debounce(interval, () => setDimensions({
161
+ width: window.innerWidth,
162
+ height: window.innerHeight
163
+ }));
164
+ window.addEventListener("resize", handleResize);
165
+ return () => window.removeEventListener("resize", handleResize);
166
+ }, [interval]);
167
+ return dimensions;
232
168
  };
233
- /**
234
- * Converts a Date object into a date and time string.
235
- *
236
- * e.g. Jun 3, 2021, 11:52 AM
237
- *
238
- * NOTE: you should probably use timeAgoString when trying to display
239
- * an updated/created timestamp.
240
- *
241
- * @param {*} date - a Date object you want to convert into a string - gracefully handles any value
242
- * @param {object} options -
243
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
244
- * @returns {string} a formatted date string
245
- */
246
- const dateTimeString = (date, { timeZone = defaultTimeZone, omitYear = false } = {}) => {
247
- if (isNil(date)) return "";
248
- const formattedDate = new Date(date);
249
- if (isInvalidDate(formattedDate)) return "";
250
- try {
251
- const baseOptions = {
252
- month: "short",
253
- day: "numeric",
254
- hour: "numeric",
255
- minute: "2-digit",
256
- timeZone
257
- };
258
- const options = omitYear ? baseOptions : {
259
- ...baseOptions,
260
- year: "numeric"
261
- };
262
- return formattedDate.toLocaleDateString(defaultLocales, options);
263
- } catch (error) {
264
- console.error(error);
265
- return "";
266
- }
169
+ //#endregion
170
+ //#region src/private/hooks/useMq/useMq.ts
171
+ const REM_SIZE = 16;
172
+ const useMq = () => {
173
+ const viewportWidth = useWindowSize().width / REM_SIZE;
174
+ const theme = useTheme();
175
+ return {
176
+ isXsAndUp: true,
177
+ isSmAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.sm),
178
+ isMdAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.md),
179
+ isLgAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.lg),
180
+ isXlAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.xl),
181
+ isXsAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.sm),
182
+ isSmAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.md),
183
+ isMdAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.lg),
184
+ isLgAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.xl),
185
+ isXlAndDown: true
186
+ };
267
187
  };
268
- /**
269
- * Converts a Date object into a date and time string
270
- * for use in a sentence.
271
- *
272
- * e.g. June 3, 2021, 11:52 AM
273
- *
274
- * NOTE: you should probably use timeAgoString when trying to display
275
- * an updated/created timestamp.
276
- *
277
- * @param {*} date - a Date object you want to convert into a string - gracefully handles any value
278
- * @param {object} options -
279
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
280
- * @returns {string} a formatted date string
281
- */
282
- const dateTimeStringForSentence = (date, { timeZone = defaultTimeZone } = {}) => {
283
- if (!isDate(date) || isInvalidDate(date)) return "";
284
- try {
285
- const { year, month, day, hour, minute, dayPeriod } = new Intl.DateTimeFormat(defaultLocales, {
286
- month: "long",
287
- day: "numeric",
288
- year: "numeric",
289
- hour: "numeric",
290
- minute: "2-digit",
291
- timeZone
292
- }).formatToParts(date).reduce((acc, part) => {
293
- if (part.type !== "literal") acc[part.type] = part.value;
294
- return acc;
295
- }, {});
296
- return `${month} ${day}, ${year}, ${hour}:${minute} ${dayPeriod}`;
297
- } catch (error) {
298
- console.error(error);
299
- return "";
300
- }
188
+ //#endregion
189
+ //#region src/components/Toast/ToastAnimation.tsx
190
+ const toastPositionOffset = 24;
191
+ const toastPositionStyles = {
192
+ bottom: toastPositionOffset,
193
+ left: toastPositionOffset,
194
+ position: "fixed"
301
195
  };
302
- /**
303
- * Converts a Date object into a date only string
304
- * for use in a sentence.
305
- *
306
- * e.g. June 3, 2021
307
- *
308
- * @param {*} date - a Date object you want to convert into a string - gracefully handles any value
309
- * @param {object} options -
310
- * @param {string} options.timeZone - the timezone you want date displayed in, defaults to current users time zone
311
- * @returns {string} a formatted date string
312
- */
313
- const dateOnlyStringForSentence = (date, { timeZone = defaultTimeZone } = {}) => {
314
- if (!isDate(date) || isInvalidDate(date)) return "";
315
- try {
316
- return new Intl.DateTimeFormat(defaultLocales, {
317
- dateStyle: "long",
318
- timeZone
319
- }).format(date);
320
- } catch (error) {
321
- console.error(error);
322
- return "";
323
- }
196
+ const toastWidth = {
197
+ minWidth: "352px",
198
+ width: "400px"
324
199
  };
325
- /**
326
- * Shows time ago relative to current time.
327
- *
328
- * examples:
329
- *
330
- * < 1 minute ago
331
- *
332
- * 33 minutes ago
333
- *
334
- * Today, 3:30 PM
335
- *
336
- * Yesterday, 6:22 AM
337
- *
338
- * Nov 11, 11:32 AM
339
- *
340
- * Feb 23, 2020, 1:55 PM
341
- *
342
- * or when `includeTime` is false:
343
- *
344
- * Today
345
- *
346
- * Yesterday
347
- *
348
- * on Thursday
349
- *
350
- * Nov 11
351
- *
352
- * Feb 23, 2020
353
- *
354
- * NOTE: timeAgoString doesn't support multiple time zones since doing so would
355
- * complicate calculations for whether to use "Today" or "Yesterday".
356
- * @param {Date} date - the date relative to now
357
- * @param {object} options -
358
- * @param {Date} options.nowAnchor - The date used to calculate relative to now. Defaults to current date but can be overwritten for tests.
359
- * @param {boolean} options.includeTime - Whether to include the time in the output. Defaults to true.
360
- * @returns {string} - a string representation of the date.
361
- */
362
- const timeAgoString = (date, { nowAnchor = /* @__PURE__ */ new Date(), includeTime = true } = {}) => {
363
- if (isInvalidDate(date)) return "";
364
- const minutesAgo = (nowAnchor.valueOf() - date.valueOf()) / (secondsInMinute * milisecondsInSecond);
365
- const minutesAgoRounded = Math.round(minutesAgo);
366
- const differenceInDays = differenceInCalendarDays(nowAnchor, date);
367
- const isSameYear = date.getFullYear() === nowAnchor.getFullYear();
368
- if (minutesAgo < 0) return dateTimeString(date);
369
- if (minutesAgo < 1) return "< 1 minute ago";
370
- if (minutesAgoRounded < 2) return "1 minute ago";
371
- if (minutesAgoRounded <= minutesInHour) return `${minutesAgoRounded} minutes ago`;
372
- if (differenceInDays === 0) return includeTime ? `Today, ${Intl.DateTimeFormat(defaultLocales, {
373
- hour: "numeric",
374
- minute: "2-digit"
375
- }).format(date)}` : "Today";
376
- if (differenceInDays === 1) return includeTime ? `Yesterday, ${Intl.DateTimeFormat(defaultLocales, {
377
- hour: "numeric",
378
- minute: "2-digit"
379
- }).format(date)}` : "Yesterday";
380
- if (differenceInDays < daysInWeek && !includeTime) return `on ${dayOfWeekString(date)}`;
381
- return includeTime ? dateTimeString(date, { omitYear: isSameYear }) : dateOnlyString(date, { omitYear: isSameYear });
382
- };
383
- /**
384
- * Given a date, shows the UTC offset.
385
- * @param {Date} date a Date object for calculating offset.
386
- * @returns {string} - string representing the UTC offset
387
- */
388
- const dateUTCOffset = (date) => {
389
- const offsetInHours = date.getTimezoneOffset() / minutesInHour * -1;
390
- const hours = Math.round(offsetInHours);
391
- const minutes = (offsetInHours - hours) * minutesInHour;
392
- return `${hours >= 0 ? "+" : ""}${`${hours}`.padStart(2, "0")}:${`${minutes}`.padStart(2, "0")}`;
393
- };
394
- /**
395
- * @typedef {Object} Duration
396
- * @property {number} seconds - number of seconds
397
- * @property {number} minutes - number of minutes
398
- * @property {number} hours - number of hours
399
- */
400
- /**
401
- * Returns an object representing the duration in seconds, minutes and hours.
402
- *
403
- * @param {number} numberOfMilliseconds - number of milliseconds
404
- * @returns {Duration} -
405
- */
406
- const buildTimeDuration = (numberOfMilliseconds) => {
407
- const numberOfSeconds = Math.floor(numberOfMilliseconds / milisecondsInSecond);
408
- const numberOfMinutes = Math.floor(numberOfSeconds / secondsInMinute);
409
- const numberOfHours = Math.floor(numberOfMinutes / minutesInHour);
410
- return {
411
- seconds: numberOfSeconds - numberOfMinutes * secondsInMinute,
412
- minutes: numberOfMinutes - numberOfHours * minutesInHour,
413
- hours: numberOfHours
414
- };
415
- };
416
- /**
417
- * A string representation of a duration for a media. Assumes most medias
418
- * are under an hour so only shows hours if media is over hour.
419
- *
420
- * @param {number} numberOfMilliseconds - number of milliseconds
421
- * @returns {string} - a string representation for duration
422
- */
423
- const mediaDurationString = (numberOfMilliseconds) => {
424
- const { hours, minutes, seconds } = buildTimeDuration(numberOfMilliseconds);
425
- if (hours < 1) return `${minutes}:${padTimeInteger(seconds)}`;
426
- return `${hours}:${padTimeInteger(minutes)}:${padTimeInteger(seconds)}`;
427
- };
428
- /**
429
- * A string representation of a duration for a user session. Assumes that
430
- * sessions may or may not be more than an hour. To prevent confusion all
431
- * times show hours, even those that are less than an hour.
432
- *
433
- * @param {number} numberOfMilliseconds - number of milliseconds
434
- * @returns {string} - a string representation of duration
435
- */
436
- const sessionDurationString = (numberOfMilliseconds) => {
437
- const { hours, minutes, seconds } = buildTimeDuration(numberOfMilliseconds);
438
- return `${hours}:${padTimeInteger(minutes)}:${padTimeInteger(seconds)}`;
439
- };
440
- /**
441
- * @typedef {Object} WistiaDateTimeObject
442
- * @property {number} minutes - number of minutes
443
- * @property {number} hours - number of hours
444
- * @property {number} dayOfMonth - day of the month
445
- * @property {number} year - year
446
- * @property {number} month - month
447
- */
448
- /**
449
- * @param {Date | null | undefined} date - a Date object
450
- * @returns {WistiaDateTimeObject | null} - replaceMe
451
- */
452
- const dateToDateTime = (date) => {
453
- if (!isDate(date)) return null;
454
- return {
455
- year: date.getFullYear(),
456
- month: date.getMonth(),
457
- dayOfMonth: date.getDate(),
458
- hours: date.getHours(),
459
- minutes: date.getMinutes()
460
- };
461
- };
462
- /**
463
- * @param {Partial<WistiaDateTimeObject> | null} dateTime - a dateTime object
464
- * @returns {Date | null} - the converted date or null if anything is missing
465
- */
466
- const dateTimeToDate = (dateTime) => {
467
- const { year, month, dayOfMonth, hours, minutes } = dateTime ?? {};
468
- if (year !== void 0 && month !== void 0 && dayOfMonth !== void 0) return new Date(year, month, dayOfMonth, hours ?? 0, minutes ?? 0);
469
- return null;
470
- };
471
- /**
472
- * @param {Partial<WistiaDateTimeObject>} dateTime - a dateTime object
473
- * @returns {string | null} - string with the ISO-8601 string or null
474
- */
475
- const dateTimeToISO = (dateTime) => dateTimeToDate(dateTime)?.toISOString() ?? null;
476
- /**
477
- * @param {Date} dateTime - a dateTime object
478
- * @param {boolean} toISOString - whether the return value should be an ISO string
479
- * @returns {string | Date | null} - string or date depending on if toIsoString is true or false. Could be null if there's an error.
480
- */
481
- const dateTimeRounded = (dateTime, toISOString = true) => {
482
- const first30Min = dateTime.getMinutes() <= halfAnHourInMinutes;
483
- const hours = first30Min ? dateTime.getHours() : dateTime.getHours() + 1;
484
- const minutes = first30Min ? halfAnHourInMinutes : 0;
485
- const dateWithTime = {
486
- ...dateToDateTime(dateTime),
487
- hours,
488
- minutes
200
+ const toastMobileWidth = { width: `calc(100% - ${toastPositionOffset * 2}px)` };
201
+ const ToastAnimation = ({ children, in: inProp, renderInPlace }) => {
202
+ const { isSmAndUp } = useMq();
203
+ const { duration, zIndex } = useTheme();
204
+ const durationInSeconds = Number.parseInt(duration.expressive.fast, 10) / 1e3;
205
+ const toastStyle = {
206
+ ...toastPositionStyles,
207
+ ...isSmAndUp ? toastWidth : toastMobileWidth,
208
+ willChange: "auto",
209
+ zIndex: zIndex.Toast
489
210
  };
490
- if (toISOString) return dateTimeToISO(dateWithTime);
491
- return dateTimeToDate(dateWithTime);
492
- };
493
- /**
494
- * Given number of miliseconds, returns the iso8601 string rounded down from
495
- * number of seconds. Mainly copied from https://github.com/wistia/player-modern/blob/master/src/utilities/iso8601Helper.js#L54
496
- * but modified to support milliseconds
497
- *
498
- * @param {number} numberOfMilliseconds - number of milliseconds
499
- * @returns {string} an iso8601 string format of duration
500
- */
501
- const millisecondsToDurationISOString = (numberOfMilliseconds) => {
502
- const { seconds, minutes, hours } = buildTimeDuration(numberOfMilliseconds);
503
- let string = "PT";
504
- if (hours) string += `${hours}H`;
505
- if (minutes) string += `${minutes}M`;
506
- if (seconds) string += `${seconds}S`;
507
- if (!(seconds || minutes || hours)) string += "0S";
508
- return string;
509
- };
510
- //#endregion
511
- //#region src/helpers/datetimeHelpers/index.ts
512
- const datetimeHelpers = {
513
- isDate,
514
- dateOnlyString,
515
- dateOnlyStringNumeric,
516
- dateOnlyISOString,
517
- monthDayStringNumeric,
518
- dayOfWeekString,
519
- timeOnlyString,
520
- dateTimeString,
521
- dateTimeStringForSentence,
522
- dateOnlyStringForSentence,
523
- timeAgoString,
524
- dateUTCOffset,
525
- buildTimeDuration,
526
- mediaDurationString,
527
- sessionDurationString,
528
- dateToDateTime,
529
- dateTimeToDate,
530
- dateTimeToISO,
531
- dateTimeRounded,
532
- millisecondsToDurationISOString
533
- };
534
- //#endregion
535
- //#region src/helpers/getBackgroundGradient/getBackgroundGradient.ts
536
- const gradients = {
537
- defaultDarkOne: css`
538
- background-color: #222d66;
539
- background-image:
540
- radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
541
- radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
542
- radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
543
- radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
544
- `,
545
- defaultDarkTwo: css`
546
- background-color: #222d66;
547
- background-image:
548
- radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
549
- radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%),
550
- radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
551
- radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
552
- `,
553
- defaultLightOne: css`
554
- background-color: #ccd5ff;
555
- background-image:
556
- radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
557
- radial-gradient(farthest-corner at top left, #ccd5ff, transparent 65%),
558
- radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
559
- radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
560
- `,
561
- defaultLightTwo: css`
562
- background-color: #ccd5ff;
563
- background-image:
564
- radial-gradient(ellipse at top, #ccd5ff, transparent),
565
- radial-gradient(ellipse at bottom, #6b84ff, transparent);
566
- `,
567
- defaultMidOne: css`
568
- background-color: #6b84ff;
569
- background-image:
570
- radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
571
- radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
572
- radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
573
- radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
574
- `,
575
- defaultMidTwo: css`
576
- background-color: #6b84ff;
577
- background-image:
578
- radial-gradient(ellipse at top, #2949e5, transparent),
579
- radial-gradient(ellipse at bottom, #ccd5ff, transparent);
580
- `,
581
- green: css`
582
- background-color: #fafffa;
583
- background-image:
584
- radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
585
- radial-gradient(farthest-corner at top right, #268713, transparent 50%),
586
- radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
587
- radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
588
- `,
589
- greenWithPop: css`
590
- background-color: #fafffa;
591
- background-image:
592
- radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
593
- radial-gradient(farthest-corner at top right, #2949e5, transparent 50%),
594
- radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
595
- radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
596
- `,
597
- pink: css`
598
- background-color: #fffff0;
599
- background-image:
600
- radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
601
- radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
602
- radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
603
- radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
604
- `,
605
- pinkWithPop: css`
606
- background-color: #fffff0;
607
- background-image:
608
- radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
609
- radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
610
- radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
611
- radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
612
- `,
613
- playfulGradientOne: css`
614
- background-color: #f7f8ff;
615
- background-image:
616
- radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
617
- radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
618
- radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
619
- radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
620
- `,
621
- playfulGradientTwo: css`
622
- background-color: #f7f8ff;
623
- background-image:
624
- radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
625
- radial-gradient(farthest-corner at bottom right, #eff18d, transparent 50%),
626
- radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
627
- radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
628
- `,
629
- purple: css`
630
- background-color: #f2caff;
631
- background-image:
632
- radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
633
- radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
634
- `,
635
- purpleWithPop: css`
636
- background-color: #f2caff;
637
- background-image:
638
- radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
639
- radial-gradient(farthest-corner at top left, #d65cff, transparent 65%),
640
- radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
641
- radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
642
- `,
643
- yellow: css`
644
- background-color: #fffff0;
645
- background-image:
646
- radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
647
- radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
648
- radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
649
- radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
650
- `,
651
- yellowWithPop: css`
652
- background-color: #fffff0;
653
- background-image:
654
- radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
655
- radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
656
- radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
657
- radial-gradient(farthest-corner at bottom right, #2949e5, transparent 55%);
658
- `
659
- };
660
- const gradientMap = Object.keys(gradients);
661
- /**
662
- * Retrieves the CSS background gradient corresponding to the given gradient name.
663
- * If the specified gradient name is not found, the default gradient ('defaultDarkOne') is returned.
664
- * @param {GradientName} gradientName - The name of the gradient to retrieve.
665
- * @returns {FlattenSimpleInterpolation} The CSS string representing the specified gradient.
666
- */
667
- const getBackgroundGradient = (gradientName) => {
668
- return isNotNil(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
669
- };
670
- //#endregion
671
- //#region src/helpers/getBackgroundGradient/getSemiRandomBackgroundGradient.ts
672
- const MULTIPLIER = 31;
673
- /**
674
- * Retrieves a semi-random background gradient based on the given id.
675
- *
676
- * @param {string} id - The id to use to generate the semi-random background gradient.
677
- * @returns {GradientName} gradientName
678
- */
679
- const getSemiRandomBackgroundGradient = (id) => {
680
- if (!(typeof id === "string" && id)) return gradientMap[0];
681
- const hashCode = Array.from(id).reduce((num, char) => Math.imul(MULTIPLIER, num) + char.charCodeAt(0) || 0, 0);
682
- return gradientMap[Math.abs(hashCode) % gradientMap.length];
211
+ if (renderInPlace) return /* @__PURE__ */ jsx(Fragment, { children });
212
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: inProp ? /* @__PURE__ */ jsx(motion.div, {
213
+ animate: {
214
+ opacity: 1,
215
+ y: "0%"
216
+ },
217
+ exit: {
218
+ opacity: 0,
219
+ y: "100%"
220
+ },
221
+ initial: {
222
+ opacity: 0,
223
+ y: "100%"
224
+ },
225
+ style: toastStyle,
226
+ transition: { duration: durationInSeconds },
227
+ children
228
+ }) : null });
683
229
  };
684
230
  //#endregion
685
- //#region src/helpers/mq/mq.ts
686
- const getMaxWidth = (breakpoint) => {
687
- const breakpointBuffer = .0025;
688
- const [value, unit] = getValueAndUnit(breakpoint);
689
- return `@media (max-width: ${Math.max(value - breakpointBuffer, 0)}${unit})`;
231
+ //#region src/hooks/useThemeColor/useThemeColor.ts
232
+ const getColor = (colors, colorName) => {
233
+ if (!colors.hasOwnProperty(colorName)) throw new Error(`\`${String(colorName)}\` is not a defined theme color, check argument passed to \`useThemeColor\``);
234
+ return colors[colorName];
690
235
  };
691
- const xsAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.xs})`;
692
- const smAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.sm})`;
693
- const mdAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.md})`;
694
- const lgAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.lg})`;
695
- const xlAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.xl})`;
696
- const xsAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.xs);
697
- const smAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.sm);
698
- const mdAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.md);
699
- const lgAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.lg);
700
- const xlAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.xl);
701
- const mq = {
702
- xsAndUp,
703
- smAndUp,
704
- mdAndUp,
705
- lgAndUp,
706
- xlAndUp,
707
- xsAndDown,
708
- smAndDown,
709
- mdAndDown,
710
- lgAndDown,
711
- xlAndDown
236
+ const useThemeColor = (colorName = null) => {
237
+ const colors = useTheme().color;
238
+ if (!Object.keys({ ...colors }).length) throw new Error("The `useThemeColor` hook could not find any defined colors. A possible cause of this error is that your component is not wrapped in a theme provider such as `<VHSProvider />`");
239
+ if (colorName === null) return colors;
240
+ if (Array.isArray(colorName)) return colorName.map((color) => getColor(colors, color));
241
+ return getColor(colors, colorName);
712
242
  };
713
243
  //#endregion
714
- //#region src/helpers/objectHelpers/isObject.ts
715
- /**
716
- * Determines if a given value is an object
717
- *
718
- * @param {*} value - value of any type
719
- * @returns {boolean} - whether value is an object
720
- */
721
- const isObject = (value) => value !== null && value !== void 0 && (Object.getPrototypeOf(value) === null || value.constructor === Object);
722
- //#endregion
723
- //#region src/helpers/objectHelpers/deepFreeze.ts
724
- /**
725
- * Recursively Object.freeze() objects
726
- *
727
- * @param {Object} obj - any object to freeze
728
- * @returns {Object} - new object
729
- */
730
- const deepFreeze = (obj) => {
731
- Object.freeze(obj);
732
- Object.getOwnPropertyNames(obj).forEach((prop) => {
733
- if (Object.prototype.hasOwnProperty.call(obj, prop) && (typeof obj === "function" ? prop !== "caller" && prop !== "callee" && prop !== "arguments" : true) && obj[prop] !== null && (typeof obj[prop] === "object" || typeof obj[prop] === "function") && !Object.isFrozen(obj[prop])) deepFreeze(obj[prop]);
734
- });
735
- return obj;
244
+ //#region src/components/Icon/iconMap.ts
245
+ const iconMap$1 = {
246
+ "ab-test": "AbTestIcon",
247
+ "all-content": "AllContentIcon",
248
+ archived: "ArchivedIcon",
249
+ "arrow-down": "ArrowDownIcon",
250
+ "arrow-left": "ArrowLeftIcon",
251
+ "arrow-right": "ArrowRightIcon",
252
+ "arrow-up": "ArrowUpIcon",
253
+ asterisk: "AsteriskIcon",
254
+ audience: "AudienceIcon",
255
+ calendar: "CalendarIcon",
256
+ camera: "CameraIcon",
257
+ "caret-down": "CaretDownIcon",
258
+ "caret-left": "CaretLeftIcon",
259
+ "caret-right": "CaretRightIcon",
260
+ "caret-up": "CaretUpIcon",
261
+ channel: "ChannelIcon",
262
+ checkmark: "CheckmarkIcon",
263
+ "checkmark-circle": "CheckmarkCircleIcon",
264
+ "checkmark-circle-outline": "CheckmarkCircleOutlineIcon",
265
+ "checkmark-circle-three-quarters": "CheckmarkCircleThreeQuartersIcon",
266
+ "checkmark-underlined": "CheckmarkUnderlinedIcon",
267
+ close: "CloseIcon",
268
+ "close-circle": "CloseCircleIcon",
269
+ "collect-video": "CollectVideoIcon",
270
+ collection: "CollectionIcon",
271
+ comment: "CommentIcon",
272
+ community: "CommunityIcon",
273
+ "contact-us": "ContactUsIcon",
274
+ copy: "CopyIcon",
275
+ "copy-disabled": "CopyDisabledIcon",
276
+ create: "CreateIcon",
277
+ delete: "DeleteIcon",
278
+ "delete-sm": "DeleteSmIcon",
279
+ "dottie-clock": "DottieClockIcon",
280
+ download: "DownloadIcon",
281
+ draggable: "DraggableIcon",
282
+ edit: "PencilIcon",
283
+ ellipsis: "EllipsisIcon",
284
+ "ellipsis-vertical": "EllipsisVerticalIcon",
285
+ embed: "EmbedIcon",
286
+ episodes: "EpisodesIcon",
287
+ error: "TriangleIcon",
288
+ expand: "ExpandIcon",
289
+ export: "DownloadIcon",
290
+ favorite: "FavoriteIcon",
291
+ "favorite-outline": "FavoriteOutlineIcon",
292
+ filter: "FilterIcon",
293
+ gear: "GearIcon",
294
+ "getting-started": "GettingStartedIcon",
295
+ globe: "GlobeIcon",
296
+ "grid-view": "GridViewIcon",
297
+ "group-record": "GroupRecordIcon",
298
+ hamburger: "HamburgerIcon",
299
+ hazard: "HazardIcon",
300
+ "help-center": "HelpCenterIcon",
301
+ hide: "HideIcon",
302
+ home: "HomeIcon",
303
+ hourglass: "HourglassIcon",
304
+ import: "ImportIcon",
305
+ info: "InfoIcon",
306
+ integrations: "IntegrationsIcon",
307
+ invite: "InviteIcon",
308
+ "invite-to-record": "InviteToRecordIcon",
309
+ "lightning-bolt": "LightningBoltIcon",
310
+ link: "LinkIcon",
311
+ "list-view": "ListViewIcon",
312
+ live: "LiveIcon",
313
+ lock: "LockIcon",
314
+ logout: "LogoutIcon",
315
+ media: "MediaIcon",
316
+ megaphone: "MegaphoneIcon",
317
+ "more-options": "MoreOptionsIcon",
318
+ "open-new": "OpenNewIcon",
319
+ overview: "OverviewIcon",
320
+ paint: "PaintIcon",
321
+ pencil: "PencilIcon",
322
+ play: "PlayIcon",
323
+ playlist: "PlaylistIcon",
324
+ podcast: "PodcastIcon",
325
+ preview: "PreviewIcon",
326
+ "private-user-sessions": "PrivateUserSessionsIcon",
327
+ project: "ProjectIcon",
328
+ "question-mark": "QuestionMarkIcon",
329
+ react: "ReactIcon",
330
+ record: "RecordIcon",
331
+ redo: "RedoIcon",
332
+ "remove-from-channel": "RemoveFromChannelIcon",
333
+ replace: "ReplaceIcon",
334
+ reply: "ReplyIcon",
335
+ "save-copy": "CopyIcon",
336
+ scissors: "ScissorsIcon",
337
+ search: "SearchIcon",
338
+ send: "SendIcon",
339
+ settings: "SettingsIcon",
340
+ share: "ShareIcon",
341
+ soapbox: "SoapboxIcon",
342
+ sort: "SortIcon",
343
+ sparkle: "SparkleIcon",
344
+ spinner: "SpinnerIcon",
345
+ stats: "StatsIcon",
346
+ "switch-accounts": "SwitchAccountsIcon",
347
+ tag: "TagIcon",
348
+ team: "TeamIcon",
349
+ "thumbs-down": "ThumbsDownIcon",
350
+ "thumbs-up": "ThumbsUpIcon",
351
+ triangle: "TriangleIcon",
352
+ undo: "UndoIcon",
353
+ unlock: "UnlockIcon",
354
+ upload: "UploadIcon",
355
+ "users-permissions": "UsersPermissionsIcon",
356
+ "view-stream": "ViewStreamIcon",
357
+ wand: "WandIcon",
358
+ "zoom-in": "ZoomInIcon",
359
+ "zoom-out": "ZoomOutIcon"
736
360
  };
737
361
  //#endregion
738
- //#region src/helpers/objectHelpers/merge.ts
739
- /**
740
- * Merges two or more objects
741
- *
742
- * @param {Object} target - object that subsequent objects will be merged into
743
- * @param {...Object} sources - one or more objects
744
- * @returns {Object} - new object
745
- */
746
- const merge = (target, ...sources) => {
747
- if (!sources.length) return target;
748
- const output = { ...target };
749
- sources.forEach((source) => {
750
- if (isObject(source)) Object.keys(source).forEach((key) => {
751
- if (isObject(source[key])) if (output[key] === null || output[key] === void 0) output[key] = { ...source[key] };
752
- else output[key] = merge(output[key], source[key]);
753
- else output[key] = source[key];
754
- });
755
- });
756
- return output;
757
- };
362
+ //#region src/components/Icon/icons/AbTestIcon.tsx
363
+ const AbTestIcon = (props) => /* @__PURE__ */ jsx("svg", {
364
+ ...props,
365
+ children: /* @__PURE__ */ jsx("path", {
366
+ d: "M8.78042 2.11118C6.86612 2.34876 6.94137 3.15354 6.99208 3.69591V3.69599C6.99476 3.72465 6.99738 3.75258 6.99962 3.77965C7.04436 4.31904 7.55048 5.39025 8.78042 5.39025H8.79735L8.79731 5.40433C8.79731 5.40433 9.05197 8.22842 8.79731 9.662C8.63183 10.5935 8.18982 11.2329 7.69474 11.865C8.39927 11.9016 9.14688 11.9764 9.93037 12.0994C10.4699 12.1842 10.8383 12.6879 10.753 13.2246C10.6678 13.7612 10.1613 14.1276 9.62166 14.0428C8.33927 13.8413 7.1731 13.7835 6.16316 13.812C5.48376 14.6589 4.44391 15.9821 3.58432 17.1925C5.12252 17.2343 7.05517 17.2692 9.48309 17.1438C10.0287 17.1157 10.4939 17.5327 10.5222 18.0753C10.5504 18.6178 10.1312 19.0805 9.58566 19.1086C6.78798 19.253 4.53527 19.189 2.90579 19.1426C2.71222 19.1371 2.52744 19.1319 2.35159 19.1273C1.49048 20.8558 2.24968 21.573 4.20714 21.7855C6.33564 22.0165 18.0133 22.1217 19.9478 21.7855C21.8825 21.4493 22.5323 19.9214 21.5397 18.6499C20.547 17.3783 17.7768 13.4113 16.9172 11.9984C16.7004 11.642 16.4948 11.3282 16.3083 11.0435C15.7556 10.1997 15.3708 9.61242 15.36 8.93404L15.3601 5.40433L15.36 5.39025H15.3746C16.8928 5.34284 17.0231 4.6562 17.0231 3.75071C17.0231 2.84523 16.285 2.11118 15.3746 2.11118C15.3746 2.11118 10.7959 1.86103 8.78042 2.11118Z",
367
+ fill: "currentColor"
368
+ })
369
+ });
758
370
  //#endregion
759
- //#region src/helpers/objectHelpers/selectKeys.ts
760
- /**
761
- * Creates an object composed of the selected keys
762
- *
763
- * @param {Object} obj - object we want a sub-selection of
764
- * @param {string[]} keys - array of keys to be selected from object
765
- * @returns {Object} - new object with only the selected keys (and their values) present
766
- */
767
- const selectKeys = (obj, keys) => keys.reduce((obj2, key) => {
768
- if (Object.prototype.hasOwnProperty.call(obj, key)) obj2[key] = obj[key];
769
- return obj2;
770
- }, {});
371
+ //#region src/components/Icon/icons/AllContentIcon.tsx
372
+ const AllContentIcon = (props) => /* @__PURE__ */ jsx("svg", {
373
+ ...props,
374
+ children: /* @__PURE__ */ jsx("path", {
375
+ d: "m3.09059 3.5023c.5523 0 1 .4477 1 1l-.00092.70188c-.01018 3.93536-.10142 7.15092-.08848 9.77572.0068 1.3587.0426 2.4727.1299 3.3301.071.6968.16857 1.1263.25679 1.3643l.00412.0107.04589.0175c.01953.007.04171.0145.06676.0224l.08404.025c.2655.0742.6435.1409 1.1387.1952.9865.1081 2.3084.1539 3.8524.1644 3.14371.0213 6.85261-.0993 10.44111-.0993l.1166.0067c.4974.0578.8834.4805.8834.9933 0 .5522-.4477 1-1 1l-.738.0017c-3.232.0147-6.8753.1168-9.71671.0976-1.558-.0106-2.9641-.0566-4.0568-.1763-.5444-.0597-1.0437-.141-1.4591-.2571-.3702-.1035-.8555-.2808-1.185-.649l-.05731-.0703-.05079-.0751-.10286-.186c-.29118-.5812-.4296-1.3656-.51294-2.183-.0974-.9568-.1333-2.1494-.1402-3.5229-.0133-2.6853.0894-6.4106.0894-10.4876l.00673-.11652c.05776-.49735.48042-.88338.99327-.88338zm6.5557-1.37637.53051.02595c1.8616.09188 3.7138.19142 3.7138.19142s1.0423-.01829 2.2175-.02072l.4451-.0001c.8957.00155 1.802.01442 2.3355.05302 2.564.2222 2.6272 1.1409 2.7026 2.237.0118.172.024.3485.0461.5273.2722 2.1214.4627 4.9141.4627 6.5213 0 1.6393-.0545 5.1864-.245 5.4757-.2721.4178-.7348.9964-2.6398.8357-1.5154-.1278-7.0949-.2353-9.79337-.2416l-.43309-.0001c-.46931.0011-.80752.0065-.95905.0167-.9525.0643-2.0683-.0643-2.2588-1.125-.17942-.9182-.22215-3.2602-.2137-5.7009l.00427-.7725c.01347-1.80295.04985-3.58372.07493-4.8122.0148-.7225.0256-1.254.0256-1.4866 0-.0124-.0004-.0308-.001-.0543-.0081-.3442-.0425-1.796.8683-1.796.39926 0 1.70989.05778 3.1169.12593zm1.68581 5.01357c-.0356.94577-.0413 3.5445-.0421 5.0123l-.0002.688c0 .1695.1692.2755.3172.1907.9725-.551 3.89-2.2463 4.7145-3.327.0846-.106.0423-.2543-.0634-.3179l-4.6089-2.4156c-.148-.0848-.3171.0212-.3171.1695z",
376
+ fill: "currentColor"
377
+ })
378
+ });
771
379
  //#endregion
772
- //#region src/helpers/objectHelpers/index.ts
773
- const objectHelpers = {
774
- isObject,
775
- deepFreeze,
776
- merge,
777
- selectKeys
778
- };
380
+ //#region src/components/Icon/icons/ArchivedIcon.tsx
381
+ const ArchivedIcon = (props) => /* @__PURE__ */ jsx("svg", {
382
+ ...props,
383
+ children: /* @__PURE__ */ jsx("path", {
384
+ clipRule: "evenodd",
385
+ d: "m1.73061 4.12674c-.00015-.04078-.00031-.08299-.0006-.12674.00196-.01564.00388-.03112.00579-.04645.14457-1.16135.18151-1.45809 3.76421-1.95355 4.033-.558 11.67499-.278 15.49699.892.433.133 1.003.608 1.003 1.108 0 .63366.0008.64812.0016.66226.0007.01356.0014.02683.0014.58474-.1073.53269-.783.38874-1.8549.16039-.8357-.17804-1.9122-.40739-3.1481-.40739-.9352 0-2.0855-.03207-3.3103-.06622-2.7041-.07539-5.7715-.16091-7.68969.06622-.93175.05647-1.70731.17102-2.3234.26202-.91133.1346-1.47374.21767-1.6766-.01502-.26635-.30625-.26743-.59442-.2694-1.12026zm.38218 9.34776.0002.0065c.027.913.053 1.802.033 2.573l-.01.316-.00009.0031c-.05397 1.901-.10965 3.8622.37509 4.4189.34.39 1.277.743 3.591.743 2.315 0 11.63801.264 12.80501.403 1.168.14 2.548.112 2.739-.836.303-1.4255.306-4.3452.308-6.2904v-.0386c0-.625 0-1.147.01-1.48.031-1.25-.024-1.967-.081-2.702-.021-.266-.042-.534-.059-.83-.005-.146-.008-.281-.01-.406l-.0001-.00311c-.0169-.82786-.0249-1.21719-.8169-1.45989-3.822-1.171-11.46401-1.45-15.49701-.892-3.195.442-3.233.992-3.297 1.935-.00056.00797-.00112.01597-.00168.024-.00848.12097-.01744.24897-.03432.384-.14378 1.1792-.09814 2.6835-.0542 4.1315zm5.0572-1.8505c-.316-.349-.254-1.079-.149-1.376.114-.297 3.05201-.268 5.00901-.214 1.5006.0502 2.997.1864 4.482.408.298.052.613.705.465 1.175l-.023.075c-.037.13-.075.263-.17.274-.36.012-6.747-.068-6.747-.068s-2.55201.074-2.86701-.274z",
386
+ fill: "currentColor"
387
+ })
388
+ });
779
389
  //#endregion
780
- //#region src/helpers/stringHelpers/camelCase.ts
781
- /**
782
- * Converts a string to camel case
783
- *
784
- * @param {string} str - the string to convert
785
- * @returns {string} - the camelcased string
786
- */
787
- const camelCase = (str = "") => str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, (match, index) => {
788
- if (Number(match) === 0) return "";
789
- return index === 0 ? match.toLowerCase() : match.toUpperCase();
390
+ //#region src/components/Icon/icons/ArrowDownIcon.tsx
391
+ const ArrowDownIcon = (props) => /* @__PURE__ */ jsx("svg", {
392
+ ...props,
393
+ children: /* @__PURE__ */ jsx("path", {
394
+ d: "m19.7685 14.8636c.615-.555.6637-1.5035.1087-2.1185-.555-.6151-1.5035-.6637-2.1185-.1088l-4.2587 3.8429v-12.27446c0-.82845-.6716-1.5-1.5-1.5s-1.5.67155-1.5 1.5v12.27446l-4.25874-3.8429c-.615-.555-1.56345-.5063-2.11845.1088-.555.615-.5064 1.5635.10875 2.1185l6.76354 6.1031c.5709.5152 1.4389.5152 2.0098 0z",
395
+ fill: "currentColor"
396
+ })
790
397
  });
791
398
  //#endregion
792
- //#region src/helpers/stringHelpers/coerceToBoolean.ts
793
- /**
794
- * Converts a boolean string value `value` into a boolean. If passed
795
- * something other than 'true' or 'false' will coerce value to boolean.
796
- *
797
- * @param {*} value - a value of any type
798
- * @returns {boolean} - that value as a boolean
799
- */
800
- const coerceToBoolean = (value) => {
801
- if (value === "true" || value === "false") return value === "true";
802
- return Boolean(value);
803
- };
399
+ //#region src/components/Icon/icons/ArrowLeftIcon.tsx
400
+ const ArrowLeftIcon = (props) => /* @__PURE__ */ jsx("svg", {
401
+ ...props,
402
+ children: /* @__PURE__ */ jsx("path", {
403
+ d: "M9.1653 19.7974C9.72028 20.4124 10.6688 20.4611 11.2838 19.9061C11.8989 19.3512 11.9476 18.4027 11.3926 17.7876L7.54974 13.5289L19.8242 13.5289C20.6526 13.5289 21.3242 12.8573 21.3242 12.0289C21.3242 11.2005 20.6526 10.5289 19.8242 10.5289L7.54975 10.5289L11.3926 6.27019C11.9476 5.65519 11.8989 4.70674 11.2838 4.15174C10.6688 3.59674 9.72028 3.64534 9.16529 4.26049L3.06217 11.024C2.54703 11.5949 2.54703 12.4629 3.06217 13.0338L9.1653 19.7974Z",
404
+ fill: "currentColor"
405
+ })
406
+ });
804
407
  //#endregion
805
- //#region src/helpers/stringHelpers/coerceToString.ts
806
- /**
807
- * Coerces a value `value` into a string. If passed a null or undefined
808
- * value, returns an empty string.
809
- *
810
- * @param {*} value - a value of any type
811
- * @returns {string} - that value as a string
812
- */
813
- const coerceToString = (value) => value === null || value === void 0 ? "" : String(value);
408
+ //#region src/components/Icon/icons/ArrowRightIcon.tsx
409
+ const ArrowRightIcon = (props) => /* @__PURE__ */ jsx("svg", {
410
+ ...props,
411
+ children: /* @__PURE__ */ jsx("path", {
412
+ d: "M14.8347 4.26044C14.2797 3.6454 13.3312 3.59671 12.7162 4.15169C12.1011 4.70668 12.0524 5.65517 12.6074 6.27022L16.4502 10.5289L4.17581 10.5289C3.34736 10.5289 2.67581 11.2005 2.67581 12.0289C2.67581 12.8573 3.34736 13.5289 4.17581 13.5289L16.4502 13.5289L12.6074 17.7877C12.0524 18.4027 12.1011 19.3511 12.7161 19.9061C13.3312 20.4611 14.2797 20.4125 14.8347 19.7974L20.9378 13.0338C21.453 12.4629 21.453 11.5949 20.9378 11.024L14.8347 4.26044Z",
413
+ fill: "currentColor"
414
+ })
415
+ });
814
416
  //#endregion
815
- //#region src/helpers/stringHelpers/isString.ts
816
- /**
817
- * Determines if a given value is a string
818
- *
819
- * @param {*} value - a value of any type
820
- * @returns {boolean} - whether value is a string
821
- */
822
- const isString = (value) => typeof value === "string" || value instanceof String;
417
+ //#region src/components/Icon/icons/ArrowUpIcon.tsx
418
+ const ArrowUpIcon = (props) => /* @__PURE__ */ jsx("svg", {
419
+ ...props,
420
+ children: /* @__PURE__ */ jsx("path", {
421
+ d: "M4.23151 9.19422C3.61647 9.7492 3.56778 10.6977 4.12276 11.3127C4.67775 11.9278 5.62624 11.9765 6.24129 11.4215L10.5 7.57866L10.5 19.8531C10.5 20.6815 11.1716 21.3531 12 21.3531C12.8284 21.3531 13.5 20.6815 13.5 19.8531L13.5 7.57867L17.7587 11.4215C18.3737 11.9765 19.3222 11.9278 19.8772 11.3128C20.4322 10.6977 20.3836 9.7492 19.7684 9.19422L13.0049 3.09109C12.434 2.57595 11.566 2.57595 10.9951 3.09109L4.23151 9.19422",
422
+ fill: "currentColor"
423
+ })
424
+ });
823
425
  //#endregion
824
- //#region src/helpers/stringHelpers/isHttpUrl.ts
825
- /**
826
- * Validates an http URL string
827
- *
828
- * @param {*} str - the url string to validate - could be an unknown type
829
- * @return {boolean} - whether string is a valid http url
830
- */
831
- const isHttpUrl = (str) => {
832
- if (!isString(str)) return false;
833
- try {
834
- const url = new URL(str);
835
- return url.protocol === "http:" || url.protocol === "https:";
836
- } catch {
837
- return false;
838
- }
839
- };
426
+ //#region src/components/Icon/icons/AsteriskIcon.tsx
427
+ const AsteriskIcon = (props) => /* @__PURE__ */ jsx("svg", {
428
+ ...props,
429
+ children: /* @__PURE__ */ jsx("path", {
430
+ d: "M14.4425 22L13.9358 15.3633L19.5575 19.0908L22 14.9542L15.3642 11.9542L22 9L19.5575 4.86333L13.9358 8.63667L14.4425 2H9.5575L10.0183 8.68167L4.39667 4.90917L2 9.04583L8.4975 12L2 14.9092L4.39667 19L10.0183 15.2725L9.5575 22H14.4425Z",
431
+ fill: "currentColor"
432
+ })
433
+ });
840
434
  //#endregion
841
- //#region src/helpers/stringHelpers/isUrl.ts
842
- /**
843
- * Loosely validates a URL string
844
- *
845
- * @param {*} str - a string to validate - could be an unknown type
846
- * @return {boolean} - whether string appears to be a url
847
- */
848
- const isUrl = (str) => {
849
- const protocolAndDomain = /^(?:\w+:)?\/\/(\S+)$/;
850
- const localhostDomain = /^localhost[:?\d]*(?:[^:?\d]\S*)?$/;
851
- const nonLocalhostDomain = /^[^\s.]+\.\S{2,}$/;
852
- if (!isString(str)) return false;
853
- const match = protocolAndDomain.exec(str);
854
- if (!match) return false;
855
- const remaining = match[1];
856
- if (remaining === void 0 || !remaining) return false;
857
- return localhostDomain.test(remaining) || nonLocalhostDomain.test(remaining);
858
- };
435
+ //#region src/components/Icon/icons/AudienceIcon.tsx
436
+ const AudienceIcon = (props) => /* @__PURE__ */ jsx("svg", {
437
+ ...props,
438
+ children: /* @__PURE__ */ jsx("path", {
439
+ d: "m11.1744 3.04659c2.6835 2.33688 2.1425 8.06531-2.85234 7.99341-4.99483-.0719-5.03082-5.26362-3.69418-7.27726 1.33665-2.01364 4.64706-2.37021 6.54652-.71615zm8.511 8.47051c1.505 1.3105 1.2016 4.523-1.5995 4.4827-2.8011-.0404-2.8213-2.9519-2.0717-4.0811s2.6061-1.3292 3.6712-.4016zm-16.99799 10.3336c-.32545.0141-.61759-.3577-.6444-.8086-.15145-2.3574.04693-5.2652 1.4129-7.0804 2.86859-3.7922 9.46089-1.5366 10.60059 2.1134.236.7357.4008 1.5352.4961 2.3645.1371-.16.2718-.3099.3984-.4466 1.7601-1.8904 5.8048-.766 6.5041 1.0535.2965.751.4096 1.6354.3492 2.5077-.0098.2438-.2089.4477-.4506.4458h-7.4492-.0132-.0022-.4484c-.0235.0008-.0471-.0016-.0706-.0069z",
440
+ fill: "currentColor"
441
+ })
442
+ });
859
443
  //#endregion
860
- //#region src/helpers/stringHelpers/lowerFirst.ts
861
- /**
862
- * Converts the first character of string to lower case
863
- *
864
- * @param {string} str - the string to convert
865
- * @returns {string} - the lowercased string
866
- */
867
- const lowerFirst = (str = "") => (str[0]?.toLowerCase() ?? "") + str.slice(1);
444
+ //#region src/components/Icon/icons/CalendarIcon.tsx
445
+ const CalendarIcon = (props) => /* @__PURE__ */ jsx("svg", {
446
+ ...props,
447
+ children: /* @__PURE__ */ jsx("path", {
448
+ clipRule: "evenodd",
449
+ d: "m7.5 2.9895c.82843 0 1.5.67157 1.5 1.5v1.51041l6 .00003c0-.00001 0 .00001 0 0v-1.51044c0-.82843.6716-1.5 1.5-1.5s1.5.67157 1.5 1.5v1.51041c0-.00001 0 .00001 0 0l1.5.00003c.8284 0 1.5.67157 1.5 1.5v1.5c0 .82843-.6716 1.49996-1.5 1.49996h-15c-.82843 0-1.5-.67153-1.5-1.49996v-1.5c0-.82843.67157-1.5 1.5-1.5h1.5v-1.51044c0-.82843.67157-1.5 1.5-1.5zm-3 9.0104c-.82843 0-1.5.6716-1.5 1.5v6c0 .8285.67157 1.5 1.5 1.5h15c.8284 0 1.5-.6715 1.5-1.5v-6c0-.8284-.6716-1.5-1.5-1.5z",
450
+ fill: "currentColor",
451
+ fillRule: "evenodd"
452
+ })
453
+ });
868
454
  //#endregion
869
- //#region src/helpers/stringHelpers/removeNewlines.ts
870
- /**
871
- * Removes newlines (\n) from string
872
- *
873
- * @param {string} str - string to have new lines removed from
874
- * @returns {string} - string with newlines removed
875
- */
876
- const removeNewlines = (str) => str.replace(/\n/g, "");
455
+ //#region src/components/Icon/icons/CameraIcon.tsx
456
+ const CameraIcon = (props) => /* @__PURE__ */ jsx("svg", {
457
+ ...props,
458
+ children: /* @__PURE__ */ jsx("path", {
459
+ clipRule: "evenodd",
460
+ d: "M11.3162 20.979C11.6222 20.9857 11.9282 20.9924 12.2342 21V20.992C12.276 20.992 12.3178 20.9924 12.3595 20.9928C12.443 20.9935 12.5264 20.9942 12.6096 20.992C12.9666 20.9825 13.3235 20.9735 13.6805 20.9645C14.6678 20.9395 15.6552 20.9144 16.6423 20.8803C17.3374 20.8559 18.032 20.8127 18.7251 20.7569C19.3748 20.7048 20.0238 20.6415 20.6727 20.5783C20.9177 20.5544 21.1626 20.5305 21.4076 20.5072C21.8887 20.4612 22.2848 20.0971 22.3749 19.624C22.5973 18.4536 22.7728 17.2761 22.8625 16.0887C22.9258 15.2478 22.9671 14.403 22.9784 13.5597C22.9883 12.8257 22.9578 12.0898 22.9174 11.3563C22.8803 10.6899 22.8278 10.023 22.7433 9.36129C22.6605 8.71089 22.5531 8.06362 22.4457 7.41667C22.4215 7.27097 22.3974 7.12528 22.3735 6.97958C22.2928 6.48916 21.8624 6.12123 21.3663 6.08228C21.0761 6.05955 20.7863 6.03115 20.4965 6.00274C20.2656 5.98012 20.0347 5.9575 19.8036 5.93773C19.2277 5.88845 18.6514 5.84434 18.0747 5.80586C17.9794 5.79929 17.9418 5.76737 17.9151 5.67868L17.8955 5.61308C17.7345 5.07457 17.5734 4.53581 17.3998 4.00139C17.2445 3.5227 16.7784 3.15664 16.3077 3.1313C16.1265 3.12155 15.9453 3.11126 15.7641 3.10098C15.1608 3.06675 14.5575 3.03253 13.9537 3.01773C12.2178 2.97502 10.4823 3.00787 8.75008 3.13365C8.62103 3.14303 8.48634 3.17917 8.36901 3.23455C8.02173 3.39833 7.773 3.66208 7.65567 4.03236C7.56181 4.32848 7.47105 4.62568 7.38028 4.92287C7.3013 5.18146 7.22232 5.44004 7.14131 5.69792C7.12817 5.73922 7.07937 5.79131 7.04041 5.79741C6.95316 5.81131 6.86434 5.81585 6.77551 5.82041C6.73533 5.82246 6.69516 5.82452 6.65512 5.82744C6.53247 5.83652 6.40978 5.84531 6.28709 5.8541C5.96567 5.87712 5.64421 5.90015 5.32324 5.92834C5.07994 5.94972 4.83701 5.97418 4.59413 5.99864C4.29308 6.02896 3.99209 6.05927 3.69053 6.08368C3.21982 6.1217 2.78478 6.49432 2.70453 6.96316C2.66943 7.16876 2.63372 7.37429 2.59802 7.57982C2.47619 8.28117 2.35434 8.98263 2.25634 9.68746C2.15263 10.4327 2.06674 11.1841 2.03202 11.9354C1.99259 12.782 1.9879 13.6329 2.02732 14.479C2.06674 15.3322 2.1545 16.1854 2.26714 17.032C2.35101 17.6614 2.46316 18.287 2.5753 18.9124C2.61877 19.1549 2.66224 19.3973 2.70406 19.64C2.77868 20.0708 3.19542 20.4636 3.61263 20.5044C3.69683 20.5127 3.78099 20.5213 3.86514 20.5298C4.03332 20.5469 4.20149 20.564 4.37008 20.579C4.58912 20.5986 4.80813 20.6188 5.02715 20.639C5.58193 20.6903 6.13681 20.7416 6.69266 20.7813C7.51863 20.8404 8.34601 20.8897 9.17386 20.9207C9.88781 20.9476 10.602 20.9633 11.3162 20.979ZM6.3909 12.7131C6.41718 9.38992 9.19264 6.63089 12.5083 6.64872C15.8811 6.66703 18.5796 9.38664 18.5707 12.7375C18.5618 16.0676 15.807 18.8534 12.4721 18.8328C9.15556 18.8121 6.36462 16.0512 6.3909 12.7131ZM16.2261 12.7248C16.2383 10.658 14.5539 8.99148 12.4754 8.99524L12.4749 8.99571C10.4006 8.99899 8.72848 10.6655 8.73318 12.7243C8.73834 14.7935 10.4217 16.4942 12.4806 16.4867C14.5619 16.4792 16.2139 14.8104 16.2261 12.7248Z",
461
+ fill: "currentColor",
462
+ fillRule: "evenodd"
463
+ })
464
+ });
877
465
  //#endregion
878
- //#region src/helpers/stringHelpers/stripExtension.ts
879
- /**
880
- * Removes file extension from string
881
- *
882
- * @param {string} str - string to have file extension removed from
883
- * @returns {string} - string with file extension removed
884
- */
885
- const stripExtension = (str) => (str || "").replace(/\.[^/.]{1,4}$/, "");
466
+ //#region src/components/Icon/icons/CaretDownIcon.tsx
467
+ const CaretDownIcon = (props) => /* @__PURE__ */ jsx("svg", {
468
+ ...props,
469
+ children: /* @__PURE__ */ jsx("path", {
470
+ d: "m2.68581 7.2381c.52393-.57331 1.39057-.64667 2.00074-.19312l.11843.09775 7.19402 6.57527 7.196-6.57527c.5733-.52393 1.443-.51915 2.01-.01262l.1092.10799c.5239.57331.5191 1.44304.0126 2.01l-.108.10918-8.2069 7.50002c-.5348.4887-1.3351.5213-1.9053.0977l-.1185-.0977-8.20691-7.50002c-.61154-.55886-.65424-1.50764-.09538-2.11918z",
471
+ fill: "currentColor"
472
+ })
473
+ });
886
474
  //#endregion
887
- //#region src/helpers/stringHelpers/truncate.ts
888
- /**
889
- * Truncates a string to desired char count and appends an ellipsis on the end
890
- *
891
- * @param {string} str - string to be truncated
892
- * @param {number} maxChars - maximum numbers of characters the string should have
893
- * @returns {string} - truncated string
894
- */
895
- const truncate = (str, maxChars) => {
896
- if (str.length <= maxChars) return str;
897
- return `${str.slice(0, maxChars - 3)}...`;
898
- };
475
+ //#region src/components/Icon/icons/CaretLeftIcon.tsx
476
+ const CaretLeftIcon = (props) => /* @__PURE__ */ jsx("svg", {
477
+ ...props,
478
+ children: /* @__PURE__ */ jsx("path", {
479
+ d: "m16.7619 2.68582c.5733.52393.6467 1.39057.1931 2.00074l-.0977.11844-6.5753 7.194 6.5753 7.196c.5239.5733.5191 1.443.0126 2.01l-.108.1092c-.5733.5239-1.443.5191-2.01.0126l-.1092-.108-7.49998-8.2069c-.48873-.5348-.52131-1.3351-.09775-1.9053l.09775-.1185 7.49998-8.2069c.5589-.61153 1.5077-.65423 2.1192-.09538z",
480
+ fill: "currentColor"
481
+ })
482
+ });
899
483
  //#endregion
900
- //#region src/helpers/stringHelpers/upperFirst.ts
901
- /**
902
- * Converts the first character of string to upper case
903
- * @param {string} str - the string to convert
904
- * @returns {string} - the uppercased string
905
- */
906
- const upperFirst = (str = "") => (str[0]?.toUpperCase() ?? "") + str.slice(1);
907
- //#endregion
908
- //#region src/helpers/stringHelpers/index.ts
909
- const stringHelpers = {
910
- camelCase,
911
- coerceToBoolean,
912
- coerceToString,
913
- isHttpUrl,
914
- isString,
915
- isUrl,
916
- lowerFirst,
917
- removeNewlines,
918
- stripExtension,
919
- truncate,
920
- upperFirst
921
- };
484
+ //#region src/components/Icon/icons/CaretRightIcon.tsx
485
+ const CaretRightIcon = (props) => /* @__PURE__ */ jsx("svg", {
486
+ ...props,
487
+ children: /* @__PURE__ */ jsx("path", {
488
+ d: "m7.23808 21.3142c-.57331-.524-.64667-1.3906-.19312-2.0008l.09774-.1184 6.5753-7.194-6.57529-7.196c-.52393-.57331-.51915-1.44303-.01262-2.01l.10799-.10917c.57331-.52393 1.44303-.51915 2.01-.01262l.10917.10799 7.50005 8.2069c.4887.5348.5213 1.3351.0977 1.9053l-.0977.1185-7.50004 8.2069c-.55886.6115-1.50765.6542-2.11918.0954z",
489
+ fill: "currentColor"
490
+ })
491
+ });
922
492
  //#endregion
923
- //#region src/theme.ts
924
- const zIndex1 = 100;
925
- const zIndex2 = 200;
926
- const zIndex3 = 300;
927
- const zIndex5 = 500;
928
- const theme = {
929
- breakpoint: { ...designTokens.breakpoint },
930
- color: { ...designTokens.color },
931
- duration: { ...designTokens.duration },
932
- easing: { ...designTokens.easing },
933
- font: {
934
- family: {
935
- default: "InterVariable, Helvetica, Arial, sans-serif",
936
- monospace: designTokens.font.family.monospace
937
- },
938
- size: designTokens.font.size,
939
- weight: Object.fromEntries(Object.entries(designTokens.font.weight).map(([key, value]) => [key, Number(value)]))
940
- },
941
- shadow: { ...designTokens.shadow },
942
- spacing: { ...designTokens.spacing },
943
- zIndex: {
944
- ModalCloseButton: zIndex1,
945
- Backdrop: zIndex2,
946
- ActionModal: zIndex3,
947
- FullScreenModal: zIndex3,
948
- RangeSelector: zIndex5,
949
- MenuComponent: zIndex5,
950
- Toast: zIndex5,
951
- Tooltip: zIndex5,
952
- BackdropElevated: zIndex5
953
- },
954
- button: { borderRadius: "4px" },
955
- buttonGroup: { gap: "16px" },
956
- headline: {
957
- family: designTokens.font.family,
958
- headline1: { weight: designTokens.font.weight.bold },
959
- headline2: { weight: designTokens.font.weight.medium },
960
- headline3: { weight: designTokens.font.weight.bold }
961
- },
962
- paper: {
963
- elevation0: designTokens.shadow.elevation0,
964
- elevation1: designTokens.shadow.elevation1,
965
- elevation2: designTokens.shadow.elevation2
966
- }
967
- };
493
+ //#region src/components/Icon/icons/CaretUpIcon.tsx
494
+ const CaretUpIcon = (props) => /* @__PURE__ */ jsx("svg", {
495
+ ...props,
496
+ children: /* @__PURE__ */ jsx("path", {
497
+ d: "m21.3141 16.7619c-.5239.5733-1.3905.6467-2.0007.1931l-.1184-.0977-7.194-6.5753-7.19602 6.5753c-.57331.5239-1.44304.5191-2.01.0126l-.10918-.108c-.52393-.5733-.51915-1.443-.01261-2.01l.10798-.1092 8.20683-7.49998c.5348-.48873 1.3352-.52131 1.9054-.09775l.1184.09775 8.207 7.49998c.6115.5589.6542 1.5077.0953 2.1192z",
498
+ fill: "currentColor"
499
+ })
500
+ });
968
501
  //#endregion
969
- //#region src/providers/VHSThemeProvider.tsx
970
- const VHSThemeProvider = ({ children, theme: overrideTheme }) => {
971
- return /* @__PURE__ */ jsx(ThemeProvider, {
972
- theme: merge(theme, overrideTheme),
973
- children
974
- });
975
- };
502
+ //#region src/components/Icon/icons/ChannelIcon.tsx
503
+ const ChannelIcon = (props) => /* @__PURE__ */ jsx("svg", {
504
+ ...props,
505
+ children: /* @__PURE__ */ jsx("path", {
506
+ clipRule: "evenodd",
507
+ d: "m5.64571 1.19092c-.44678-.324663-1.07216-.225666-1.39682.22112-.32466.44678-.22567 1.07215.22111 1.39682 1.28625.93467 2.48092 2.19849 3.54704 3.39817-1.62947-.00332-2.92814.02027-3.46778.08086-1.98082.22241-2.2359 1.3046-2.45624 2.97122-.22035 1.66659.01731 8.61489.2821 10.20679s1.03019 2.2578 3.23903 2.2185c1.36389-.0243 5.14395.102 8.22435.2049 1.9081.0637 3.5484.1185 4.1789.123l.0126.0001c1.6426.0116 2.973.0211 3.5839-1.2509.6125-1.2752.3643-9.5706.2662-11.15071-.0982-1.58008-.6322-2.71681-1.8871-2.99303-.4032-.08875-1.9372-.17748-3.8995-.24967.9793-1.0846 2.1361-2.34437 3.5284-3.63478.405-.37542.4291-1.00813.0536-1.41319-.3754-.405062-1.0081-.429086-1.4132-.05366-1.61 1.49224-2.9274 2.95491-3.9684 4.11064-.1937.21508-.3778.41955-.5525.61158-.0947.10407-.1859.20373-.2738.29896-.9155-.02314-1.8546-.0422-2.7663-.056-.1596-.18054-.3281-.37314-.5061-.57663l-.1089-.12441c-1.18229-1.35084-2.71275-3.08411-4.44059-4.33968zm9.86039 12.42148c-1.0777 1.4126-4.8912 3.6285-6.16234 4.3486-.19344.1108-.41451-.0277-.41451-.2493 0-1.468 0-5.9827.05527-7.4507 0-.1939.22107-.3324.4145-.2216l6.02418 3.1576c.1382.0831.1934.2769.0829.4154z",
508
+ fill: "currentColor",
509
+ fillRule: "evenodd"
510
+ })
511
+ });
976
512
  //#endregion
977
- //#region src/providers/WrapperProvider.tsx
978
- const WrapperContext = createContext({});
979
- const useWrappers = () => useContext(WrapperContext);
980
- const WrapperProvider = WrapperContext.Provider;
513
+ //#region src/components/Icon/icons/CheckmarkCircleIcon.tsx
514
+ const CheckmarkCircleIcon = (props) => /* @__PURE__ */ jsx("svg", {
515
+ ...props,
516
+ children: /* @__PURE__ */ jsx("path", {
517
+ clipRule: "evenodd",
518
+ d: "m21.8158 14.5648c3.0982-10.94829-8.8224-15.41821-15.39746-10.85188-4.65388 3.23212-6.673329 10.24658-3.15895 14.34028 3.51439 4.0936 15.45811 7.4598 18.55641-3.4884zm-4.1007-5.8658c.3861-.39496.3788-1.02808-.0161-1.41413-.395-.38604-1.0281-.37882-1.4141.01613l-6.127 6.2684-2.44277-2.4992c-.38605-.3949-1.01917-.4021-1.41413-.0161-.39495.3861-.40217 1.0192-.01612 1.4141l3.15789 3.2308c.18815.1925.44596.301.71513.301.2692 0 .527-.1085.7151-.301z",
519
+ fill: "currentColor",
520
+ fillRule: "evenodd"
521
+ })
522
+ });
981
523
  //#endregion
982
- //#region src/hooks/useTheme/useTheme.ts
983
- const useTheme = () => useTheme$1();
524
+ //#region src/components/Icon/icons/CheckmarkCircleOutlineIcon.tsx
525
+ const CheckmarkCircleOutlineIcon = ({ ...props }) => /* @__PURE__ */ jsxs("svg", {
526
+ ...props,
527
+ children: [/* @__PURE__ */ jsx("path", {
528
+ clipRule: "evenodd",
529
+ d: "M11.25 2.5C6.41751 2.5 2.5 6.41751 2.5 11.25C2.5 16.0825 6.41751 20 11.25 20C16.0825 20 20 16.0825 20 11.25C20 6.41751 16.0825 2.5 11.25 2.5ZM0 11.25C0 5.0368 5.0368 0 11.25 0C17.4632 0 22.5 5.0368 22.5 11.25C22.5 17.4632 17.4632 22.5 11.25 22.5C5.0368 22.5 0 17.4632 0 11.25Z",
530
+ fill: "currentColor",
531
+ fillRule: "evenodd"
532
+ }), /* @__PURE__ */ jsx("path", {
533
+ clipRule: "evenodd",
534
+ d: "M17.1237 7.35609C17.6174 7.83865 17.6265 8.63005 17.1439 9.12374L10.3018 16.1237C10.0666 16.3644 9.74436 16.5 9.4079 16.5C9.07143 16.5 8.74918 16.3644 8.51399 16.1237L5.35609 12.893C4.87354 12.3993 4.88256 11.6079 5.37626 11.1253C5.86995 10.6428 6.66135 10.6518 7.14391 11.1455L9.4079 13.4617L15.3561 7.37626C15.8386 6.88256 16.6301 6.87354 17.1237 7.35609Z",
535
+ fill: "currentColor",
536
+ fillRule: "evenodd"
537
+ })]
538
+ });
984
539
  //#endregion
985
- //#region src/private/helpers/isClient/isClient.ts
986
- /**
987
- * @returns {boolean} - whether running in a browser environment
988
- */
989
- const isClient = () => typeof window !== "undefined" && typeof document !== "undefined";
540
+ //#region src/components/Icon/icons/CheckmarkCircleThreeQuartersIcon.tsx
541
+ const CheckmarkCircleThreeQuartersIcon = (props) => /* @__PURE__ */ jsx("svg", {
542
+ ...props,
543
+ children: /* @__PURE__ */ jsx("path", {
544
+ d: "m5.06066 10.1406c1.02693-3.83255 4.96634-6.10695 8.79884-5.08003.8844.23699 1.7935-.28787 2.0305-1.1723.237-.88444-.2879-1.79352-1.1723-2.0305-5.60142-1.500892-11.35896 1.82322-12.85985 7.42462-1.500884 5.60141 1.82323 11.35891 7.42463 12.85981 5.60142 1.5009 11.35892-1.8232 12.85982-7.4246.237-.8844-.2879-1.7935-1.1723-2.0305s-1.7935.2879-2.0305 1.1723c-1.0269 3.8325-4.9663 6.1069-8.7988 5.08-3.83257-1.0269-6.10696-4.9663-5.08004-8.7988zm16.57534-2.98696c.6582-.63651.6758-1.68609.0392-2.34429-.6365-.65821-1.686-.67579-2.3442-.03928l-7.5698 7.32023-2.17928-2.46975c-.60581-.68657-1.65349-.75203-2.34005-.14621-.68656.60576-.75202 1.65346-.14621 2.34006l2.94474 3.3372c.8339.9451 2.2881 1.0027 3.1942.1265z",
545
+ fill: "currentColor"
546
+ })
547
+ });
990
548
  //#endregion
991
- //#region src/hooks/useWindowSize/useWindowSize.ts
992
- const useWindowSize = (interval = 0) => {
993
- const [dimensions, setDimensions] = useState({
994
- width: isClient() ? window.innerWidth : 0,
995
- height: isClient() ? window.innerHeight : 0
996
- });
997
- useLayoutEffect(() => {
998
- const handleResize = debounce(interval, () => setDimensions({
999
- width: window.innerWidth,
1000
- height: window.innerHeight
1001
- }));
1002
- window.addEventListener("resize", handleResize);
1003
- return () => window.removeEventListener("resize", handleResize);
1004
- }, [interval]);
1005
- return dimensions;
1006
- };
549
+ //#region src/components/Icon/icons/CheckmarkIcon.tsx
550
+ const CheckmarkIcon = (props) => /* @__PURE__ */ jsx("svg", {
551
+ ...props,
552
+ children: /* @__PURE__ */ jsx("path", {
553
+ d: "m8.79289 18.7054-6.50001-6.5374c-.39051-.3927-.39051-1.0295 0-1.4223l1.41418-1.42238c.39051-.39279 1.02371-.39279 1.41422 0l4.37872 4.40388 9.3787-9.43263c.3905-.39276 1.0237-.39276 1.4142 0l1.4142 1.42235c.3905.39275.3905 1.02956 0 1.42235l-11.5 11.56613c-.39054.3928-1.0237.3928-1.41421 0z",
554
+ fill: "currentColor"
555
+ })
556
+ });
1007
557
  //#endregion
1008
- //#region src/hooks/useMq/useMq.ts
1009
- const REM_SIZE = 16;
1010
- const useMq = () => {
1011
- const viewportWidth = useWindowSize().width / REM_SIZE;
1012
- const theme = useTheme();
1013
- return {
1014
- isXsAndUp: true,
1015
- isSmAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.sm),
1016
- isMdAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.md),
1017
- isLgAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.lg),
1018
- isXlAndUp: viewportWidth >= Number.parseFloat(theme.breakpoint.xl),
1019
- isXsAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.sm),
1020
- isSmAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.md),
1021
- isMdAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.lg),
1022
- isLgAndDown: viewportWidth < Number.parseFloat(theme.breakpoint.xl),
1023
- isXlAndDown: true
1024
- };
1025
- };
558
+ //#region src/components/Icon/icons/CheckmarkUnderlinedIcon.tsx
559
+ const CheckmarkUnderlinedIcon = (props) => /* @__PURE__ */ jsx("svg", {
560
+ ...props,
561
+ children: /* @__PURE__ */ jsx("path", {
562
+ d: "M9.54401 12.95L17.994 4.49995C18.194 4.29995 18.4315 4.19995 18.7065 4.19995C18.9815 4.19995 19.219 4.29995 19.419 4.49995C19.619 4.69995 19.719 4.93745 19.719 5.21245C19.719 5.48745 19.619 5.72495 19.419 5.92495L10.244 15.1C10.044 15.3 9.81067 15.4 9.54401 15.4C9.27734 15.4 9.04401 15.3 8.84401 15.1L4.56901 10.825C4.36901 10.625 4.27317 10.3875 4.28151 10.1125C4.28984 9.83745 4.39401 9.59995 4.59401 9.39995C4.79401 9.19995 5.03151 9.09995 5.30651 9.09995C5.58151 9.09995 5.81901 9.19995 6.01901 9.39995L9.54401 12.95ZM5.99401 19.8C5.71067 19.8 5.47317 19.7041 5.28151 19.5125C5.08984 19.3208 4.99401 19.0833 4.99401 18.8C4.99401 18.5166 5.08984 18.2791 5.28151 18.0875C5.47317 17.8958 5.71067 17.8 5.99401 17.8H17.994C18.2773 17.8 18.5148 17.8958 18.7065 18.0875C18.8982 18.2791 18.994 18.5166 18.994 18.8C18.994 19.0833 18.8982 19.3208 18.7065 19.5125C18.5148 19.7041 18.2773 19.8 17.994 19.8H5.99401Z",
563
+ fill: "currentColor"
564
+ })
565
+ });
1026
566
  //#endregion
1027
- //#region src/components/Toast/ToastAnimation.tsx
1028
- const toastPositionOffset = 24;
1029
- const toastPositionStyles = {
1030
- bottom: toastPositionOffset,
1031
- left: toastPositionOffset,
1032
- position: "fixed"
1033
- };
1034
- const toastWidth = {
1035
- minWidth: "352px",
1036
- width: "400px"
1037
- };
1038
- const toastMobileWidth = { width: `calc(100% - ${toastPositionOffset * 2}px)` };
1039
- const ToastAnimation = ({ children, in: inProp, renderInPlace }) => {
1040
- const { isSmAndUp } = useMq();
1041
- const { duration, zIndex } = useTheme();
1042
- const durationInSeconds = Number.parseInt(duration.expressive.fast, 10) / 1e3;
1043
- const toastStyle = {
1044
- ...toastPositionStyles,
1045
- ...isSmAndUp ? toastWidth : toastMobileWidth,
1046
- willChange: "auto",
1047
- zIndex: zIndex.Toast
1048
- };
1049
- if (renderInPlace) return /* @__PURE__ */ jsx(Fragment, { children });
1050
- return /* @__PURE__ */ jsx(AnimatePresence, { children: inProp ? /* @__PURE__ */ jsx(motion.div, {
1051
- animate: {
1052
- opacity: 1,
1053
- y: "0%"
1054
- },
1055
- exit: {
1056
- opacity: 0,
1057
- y: "100%"
1058
- },
1059
- initial: {
1060
- opacity: 0,
1061
- y: "100%"
1062
- },
1063
- style: toastStyle,
1064
- transition: { duration: durationInSeconds },
1065
- children
1066
- }) : null });
1067
- };
1068
- //#endregion
1069
- //#region src/hooks/useThemeColor/useThemeColor.ts
1070
- const getColor = (colors, colorName) => {
1071
- if (!colors.hasOwnProperty(colorName)) throw new Error(`\`${String(colorName)}\` is not a defined theme color, check argument passed to \`useThemeColor\``);
1072
- return colors[colorName];
1073
- };
1074
- const useThemeColor = (colorName = null) => {
1075
- const colors = useTheme().color;
1076
- if (!Object.keys({ ...colors }).length) throw new Error("The `useThemeColor` hook could not find any defined colors. A possible cause of this error is that your component is not wrapped in a theme provider such as `<VHSProvider />`");
1077
- if (colorName === null) return colors;
1078
- if (Array.isArray(colorName)) return colorName.map((color) => getColor(colors, color));
1079
- return getColor(colors, colorName);
1080
- };
1081
- //#endregion
1082
- //#region src/components/Icon/iconMap.ts
1083
- const iconMap$1 = {
1084
- "ab-test": "AbTestIcon",
1085
- "all-content": "AllContentIcon",
1086
- archived: "ArchivedIcon",
1087
- "arrow-down": "ArrowDownIcon",
1088
- "arrow-left": "ArrowLeftIcon",
1089
- "arrow-right": "ArrowRightIcon",
1090
- "arrow-up": "ArrowUpIcon",
1091
- asterisk: "AsteriskIcon",
1092
- audience: "AudienceIcon",
1093
- calendar: "CalendarIcon",
1094
- camera: "CameraIcon",
1095
- "caret-down": "CaretDownIcon",
1096
- "caret-left": "CaretLeftIcon",
1097
- "caret-right": "CaretRightIcon",
1098
- "caret-up": "CaretUpIcon",
1099
- channel: "ChannelIcon",
1100
- checkmark: "CheckmarkIcon",
1101
- "checkmark-circle": "CheckmarkCircleIcon",
1102
- "checkmark-circle-outline": "CheckmarkCircleOutlineIcon",
1103
- "checkmark-circle-three-quarters": "CheckmarkCircleThreeQuartersIcon",
1104
- "checkmark-underlined": "CheckmarkUnderlinedIcon",
1105
- close: "CloseIcon",
1106
- "close-circle": "CloseCircleIcon",
1107
- "collect-video": "CollectVideoIcon",
1108
- collection: "CollectionIcon",
1109
- comment: "CommentIcon",
1110
- community: "CommunityIcon",
1111
- "contact-us": "ContactUsIcon",
1112
- copy: "CopyIcon",
1113
- "copy-disabled": "CopyDisabledIcon",
1114
- create: "CreateIcon",
1115
- delete: "DeleteIcon",
1116
- "delete-sm": "DeleteSmIcon",
1117
- "dottie-clock": "DottieClockIcon",
1118
- download: "DownloadIcon",
1119
- draggable: "DraggableIcon",
1120
- edit: "PencilIcon",
1121
- ellipsis: "EllipsisIcon",
1122
- "ellipsis-vertical": "EllipsisVerticalIcon",
1123
- embed: "EmbedIcon",
1124
- episodes: "EpisodesIcon",
1125
- error: "TriangleIcon",
1126
- expand: "ExpandIcon",
1127
- export: "DownloadIcon",
1128
- favorite: "FavoriteIcon",
1129
- "favorite-outline": "FavoriteOutlineIcon",
1130
- filter: "FilterIcon",
1131
- gear: "GearIcon",
1132
- "getting-started": "GettingStartedIcon",
1133
- globe: "GlobeIcon",
1134
- "grid-view": "GridViewIcon",
1135
- "group-record": "GroupRecordIcon",
1136
- hamburger: "HamburgerIcon",
1137
- hazard: "HazardIcon",
1138
- "help-center": "HelpCenterIcon",
1139
- hide: "HideIcon",
1140
- home: "HomeIcon",
1141
- hourglass: "HourglassIcon",
1142
- import: "ImportIcon",
1143
- info: "InfoIcon",
1144
- integrations: "IntegrationsIcon",
1145
- invite: "InviteIcon",
1146
- "invite-to-record": "InviteToRecordIcon",
1147
- "lightning-bolt": "LightningBoltIcon",
1148
- link: "LinkIcon",
1149
- "list-view": "ListViewIcon",
1150
- live: "LiveIcon",
1151
- lock: "LockIcon",
1152
- logout: "LogoutIcon",
1153
- media: "MediaIcon",
1154
- megaphone: "MegaphoneIcon",
1155
- "more-options": "MoreOptionsIcon",
1156
- "open-new": "OpenNewIcon",
1157
- overview: "OverviewIcon",
1158
- paint: "PaintIcon",
1159
- pencil: "PencilIcon",
1160
- play: "PlayIcon",
1161
- playlist: "PlaylistIcon",
1162
- podcast: "PodcastIcon",
1163
- preview: "PreviewIcon",
1164
- "private-user-sessions": "PrivateUserSessionsIcon",
1165
- project: "ProjectIcon",
1166
- "question-mark": "QuestionMarkIcon",
1167
- react: "ReactIcon",
1168
- record: "RecordIcon",
1169
- redo: "RedoIcon",
1170
- "remove-from-channel": "RemoveFromChannelIcon",
1171
- replace: "ReplaceIcon",
1172
- reply: "ReplyIcon",
1173
- "save-copy": "CopyIcon",
1174
- scissors: "ScissorsIcon",
1175
- search: "SearchIcon",
1176
- send: "SendIcon",
1177
- settings: "SettingsIcon",
1178
- share: "ShareIcon",
1179
- soapbox: "SoapboxIcon",
1180
- sort: "SortIcon",
1181
- sparkle: "SparkleIcon",
1182
- spinner: "SpinnerIcon",
1183
- stats: "StatsIcon",
1184
- "switch-accounts": "SwitchAccountsIcon",
1185
- tag: "TagIcon",
1186
- team: "TeamIcon",
1187
- "thumbs-down": "ThumbsDownIcon",
1188
- "thumbs-up": "ThumbsUpIcon",
1189
- triangle: "TriangleIcon",
1190
- undo: "UndoIcon",
1191
- unlock: "UnlockIcon",
1192
- upload: "UploadIcon",
1193
- "users-permissions": "UsersPermissionsIcon",
1194
- "view-stream": "ViewStreamIcon",
1195
- wand: "WandIcon",
1196
- "zoom-in": "ZoomInIcon",
1197
- "zoom-out": "ZoomOutIcon"
1198
- };
567
+ //#region src/components/Icon/icons/CloseCircleIcon.tsx
568
+ const CloseCircleIcon = (props) => /* @__PURE__ */ jsx("svg", {
569
+ ...props,
570
+ children: /* @__PURE__ */ jsx("path", {
571
+ clipRule: "evenodd",
572
+ d: "M13.8186 20.4731C4.60239 22.893 -2.98829 15.5818 3.31523 6.74072C9.6261 -2.10038 19.5705 4.8504 21.402 9.84467C23.2334 14.8389 19.0556 19.105 13.8186 20.4731Z \n M15.0413 8.87414C15.4318 8.48355 15.4318 7.85028 15.0413 7.45969C14.6508 7.0691 14.0178 7.0691 13.6273 7.45969L11.0001 10.0878L8.37284 7.4597C7.98238 7.06911 7.34932 7.06911 6.95886 7.4597C6.5684 7.85029 6.5684 8.48356 6.95886 8.87415L9.5861 11.5023L6.95886 14.1304C6.5684 14.5209 6.5684 15.1542 6.95886 15.5448C7.34932 15.9354 7.98238 15.9354 8.37284 15.5448L11.0001 12.9167L13.6273 15.5448C14.0178 15.9354 14.6508 15.9354 15.0413 15.5448C15.4318 15.1542 15.4318 14.521 15.0413 14.1304L12.4141 11.5023L15.0413 8.87414Z",
573
+ fill: "currentColor",
574
+ fillRule: "evenodd"
575
+ })
576
+ });
1199
577
  //#endregion
1200
- //#region src/components/Icon/icons/AbTestIcon.tsx
1201
- const AbTestIcon = (props) => /* @__PURE__ */ jsx("svg", {
578
+ //#region src/components/Icon/icons/CloseIcon.tsx
579
+ const CloseIcon$1 = (props) => /* @__PURE__ */ jsx("svg", {
1202
580
  ...props,
1203
581
  children: /* @__PURE__ */ jsx("path", {
1204
- d: "M8.78042 2.11118C6.86612 2.34876 6.94137 3.15354 6.99208 3.69591V3.69599C6.99476 3.72465 6.99738 3.75258 6.99962 3.77965C7.04436 4.31904 7.55048 5.39025 8.78042 5.39025H8.79735L8.79731 5.40433C8.79731 5.40433 9.05197 8.22842 8.79731 9.662C8.63183 10.5935 8.18982 11.2329 7.69474 11.865C8.39927 11.9016 9.14688 11.9764 9.93037 12.0994C10.4699 12.1842 10.8383 12.6879 10.753 13.2246C10.6678 13.7612 10.1613 14.1276 9.62166 14.0428C8.33927 13.8413 7.1731 13.7835 6.16316 13.812C5.48376 14.6589 4.44391 15.9821 3.58432 17.1925C5.12252 17.2343 7.05517 17.2692 9.48309 17.1438C10.0287 17.1157 10.4939 17.5327 10.5222 18.0753C10.5504 18.6178 10.1312 19.0805 9.58566 19.1086C6.78798 19.253 4.53527 19.189 2.90579 19.1426C2.71222 19.1371 2.52744 19.1319 2.35159 19.1273C1.49048 20.8558 2.24968 21.573 4.20714 21.7855C6.33564 22.0165 18.0133 22.1217 19.9478 21.7855C21.8825 21.4493 22.5323 19.9214 21.5397 18.6499C20.547 17.3783 17.7768 13.4113 16.9172 11.9984C16.7004 11.642 16.4948 11.3282 16.3083 11.0435C15.7556 10.1997 15.3708 9.61242 15.36 8.93404L15.3601 5.40433L15.36 5.39025H15.3746C16.8928 5.34284 17.0231 4.6562 17.0231 3.75071C17.0231 2.84523 16.285 2.11118 15.3746 2.11118C15.3746 2.11118 10.7959 1.86103 8.78042 2.11118Z",
582
+ d: "m17.7742 19.618c.5091.5093 1.3347.5093 1.8439 0 .5091-.5091.5091-1.3347 0-1.8438l-5.7742-5.7742 5.7742-5.77422c.5091-.50918.5091-1.3347 0-1.84387-.5092-.50917-1.3348-.50917-1.8439 0l-5.7742 5.77419-5.77426-5.77422c-.50917-.50917-1.33469-.50917-1.84387 0-.50916.50917-.50916 1.3347 0 1.84386l5.77423 5.77426-5.77421 5.7742c-.50918.5092-.50918 1.3347 0 1.8439.50916.5092 1.33469.5092 1.84385 0l5.77426-5.7742z",
1205
583
  fill: "currentColor"
1206
584
  })
1207
585
  });
1208
586
  //#endregion
1209
- //#region src/components/Icon/icons/AllContentIcon.tsx
1210
- const AllContentIcon = (props) => /* @__PURE__ */ jsx("svg", {
587
+ //#region src/components/Icon/icons/CollectVideoIcon.tsx
588
+ const CollectVideoIcon = (props) => /* @__PURE__ */ jsx("svg", {
1211
589
  ...props,
1212
590
  children: /* @__PURE__ */ jsx("path", {
1213
- d: "m3.09059 3.5023c.5523 0 1 .4477 1 1l-.00092.70188c-.01018 3.93536-.10142 7.15092-.08848 9.77572.0068 1.3587.0426 2.4727.1299 3.3301.071.6968.16857 1.1263.25679 1.3643l.00412.0107.04589.0175c.01953.007.04171.0145.06676.0224l.08404.025c.2655.0742.6435.1409 1.1387.1952.9865.1081 2.3084.1539 3.8524.1644 3.14371.0213 6.85261-.0993 10.44111-.0993l.1166.0067c.4974.0578.8834.4805.8834.9933 0 .5522-.4477 1-1 1l-.738.0017c-3.232.0147-6.8753.1168-9.71671.0976-1.558-.0106-2.9641-.0566-4.0568-.1763-.5444-.0597-1.0437-.141-1.4591-.2571-.3702-.1035-.8555-.2808-1.185-.649l-.05731-.0703-.05079-.0751-.10286-.186c-.29118-.5812-.4296-1.3656-.51294-2.183-.0974-.9568-.1333-2.1494-.1402-3.5229-.0133-2.6853.0894-6.4106.0894-10.4876l.00673-.11652c.05776-.49735.48042-.88338.99327-.88338zm6.5557-1.37637.53051.02595c1.8616.09188 3.7138.19142 3.7138.19142s1.0423-.01829 2.2175-.02072l.4451-.0001c.8957.00155 1.802.01442 2.3355.05302 2.564.2222 2.6272 1.1409 2.7026 2.237.0118.172.024.3485.0461.5273.2722 2.1214.4627 4.9141.4627 6.5213 0 1.6393-.0545 5.1864-.245 5.4757-.2721.4178-.7348.9964-2.6398.8357-1.5154-.1278-7.0949-.2353-9.79337-.2416l-.43309-.0001c-.46931.0011-.80752.0065-.95905.0167-.9525.0643-2.0683-.0643-2.2588-1.125-.17942-.9182-.22215-3.2602-.2137-5.7009l.00427-.7725c.01347-1.80295.04985-3.58372.07493-4.8122.0148-.7225.0256-1.254.0256-1.4866 0-.0124-.0004-.0308-.001-.0543-.0081-.3442-.0425-1.796.8683-1.796.39926 0 1.70989.05778 3.1169.12593zm1.68581 5.01357c-.0356.94577-.0413 3.5445-.0421 5.0123l-.0002.688c0 .1695.1692.2755.3172.1907.9725-.551 3.89-2.2463 4.7145-3.327.0846-.106.0423-.2543-.0634-.3179l-4.6089-2.4156c-.148-.0848-.3171.0212-.3171.1695z",
1214
- fill: "currentColor"
591
+ clipRule: "evenodd",
592
+ d: "M12 6.85714H3V4.92857C3 3.864 3.864 3 4.92857 3H8.74072C9.17014 3 9.57257 3.21471 9.81043 3.57214L12 6.85714ZM3 6.85718H19.0714C20.136 6.85718 21 7.72118 21 8.78575V13.1438C20.9149 13.1202 20.8253 13.1077 20.7328 13.1077H13.3066L14.7071 11.7071C15.0976 11.3166 15.0976 10.6834 14.7071 10.2929C14.3166 9.90237 13.6834 9.90237 13.2929 10.2929L10.2929 13.2929C10.1054 13.4804 10 13.7348 10 14C10 14.2652 10.1054 14.5196 10.2929 14.7071L13.2929 17.7071C13.6834 18.0976 14.3166 18.0976 14.7071 17.7071C15.0976 17.3166 15.0976 16.6834 14.7071 16.2929L13.5219 15.1077H20.7328C20.8253 15.1077 20.9149 15.0951 21 15.0716V17.1429C21 19.272 19.272 21 17.1429 21H6.85714C4.728 21 3 19.272 3 17.1429V6.85718Z",
593
+ fill: "currentColor",
594
+ fillRule: "evenodd"
1215
595
  })
1216
596
  });
1217
597
  //#endregion
1218
- //#region src/components/Icon/icons/ArchivedIcon.tsx
1219
- const ArchivedIcon = (props) => /* @__PURE__ */ jsx("svg", {
598
+ //#region src/components/Icon/icons/CommentIcon.tsx
599
+ const CommentIcon = (props) => /* @__PURE__ */ jsx("svg", {
1220
600
  ...props,
1221
601
  children: /* @__PURE__ */ jsx("path", {
1222
602
  clipRule: "evenodd",
1223
- d: "m1.73061 4.12674c-.00015-.04078-.00031-.08299-.0006-.12674.00196-.01564.00388-.03112.00579-.04645.14457-1.16135.18151-1.45809 3.76421-1.95355 4.033-.558 11.67499-.278 15.49699.892.433.133 1.003.608 1.003 1.108 0 .63366.0008.64812.0016.66226.0007.01356.0014.02683.0014.58474-.1073.53269-.783.38874-1.8549.16039-.8357-.17804-1.9122-.40739-3.1481-.40739-.9352 0-2.0855-.03207-3.3103-.06622-2.7041-.07539-5.7715-.16091-7.68969.06622-.93175.05647-1.70731.17102-2.3234.26202-.91133.1346-1.47374.21767-1.6766-.01502-.26635-.30625-.26743-.59442-.2694-1.12026zm.38218 9.34776.0002.0065c.027.913.053 1.802.033 2.573l-.01.316-.00009.0031c-.05397 1.901-.10965 3.8622.37509 4.4189.34.39 1.277.743 3.591.743 2.315 0 11.63801.264 12.80501.403 1.168.14 2.548.112 2.739-.836.303-1.4255.306-4.3452.308-6.2904v-.0386c0-.625 0-1.147.01-1.48.031-1.25-.024-1.967-.081-2.702-.021-.266-.042-.534-.059-.83-.005-.146-.008-.281-.01-.406l-.0001-.00311c-.0169-.82786-.0249-1.21719-.8169-1.45989-3.822-1.171-11.46401-1.45-15.49701-.892-3.195.442-3.233.992-3.297 1.935-.00056.00797-.00112.01597-.00168.024-.00848.12097-.01744.24897-.03432.384-.14378 1.1792-.09814 2.6835-.0542 4.1315zm5.0572-1.8505c-.316-.349-.254-1.079-.149-1.376.114-.297 3.05201-.268 5.00901-.214 1.5006.0502 2.997.1864 4.482.408.298.052.613.705.465 1.175l-.023.075c-.037.13-.075.263-.17.274-.36.012-6.747-.068-6.747-.068s-2.55201.074-2.86701-.274z",
1224
- fill: "currentColor"
603
+ d: "M2.0994 10.6931C2.04002 8.22692 1.96942 5.29509 2.11584 4.25593C2.13365 4.13216 2.14292 4.01528 2.1517 3.90469C2.21613 3.09248 2.25369 2.61894 5.44865 2.23843C9.48199 1.75807 17.1241 1.99825 20.9452 3.007C21.7385 3.21574 21.7461 3.55147 21.7624 4.26645C21.7648 4.37414 21.7675 4.49044 21.773 4.6162C21.8367 5.57691 22.0066 10.2604 21.9641 11.7255C21.9538 12.0123 21.9535 12.4616 21.9532 13.001V13.001C21.9522 14.6749 21.9507 17.2153 21.6457 18.4505C21.4546 19.2671 20.0748 19.2911 18.9073 19.171C18.4972 19.1289 17.0813 19.0734 15.3164 19.0193C14.4586 19.7428 13.2551 20.8268 12.6703 21.669C12.4667 21.9623 12.1951 22 11.9708 22C11.7566 22 11.6986 21.9343 11.3756 21.5684L11.3281 21.5147C10.6506 20.7484 9.58149 19.5267 9.00085 18.8624C7.74516 18.8383 6.69432 18.8234 6.10233 18.8234C3.78846 18.8234 2.85054 18.5199 2.51089 18.1837C2.02619 17.7038 2.08219 16.014 2.13647 14.3759L2.14543 14.1031C2.16606 13.462 2.13471 12.1599 2.0994 10.6931ZM4.33635 7.16713C4.33635 7.16713 3.83065 8.24157 4.01326 8.52809C4.14949 8.74182 8.25659 8.84926 10.9526 8.91979L10.9527 8.91979C11.8709 8.94381 12.6253 8.96354 13.0036 8.98174C14.1695 9.05337 17.7376 8.83848 19.2126 8.74298C19.24 8.74161 19.2672 8.74047 19.2943 8.73935C19.7381 8.72089 20.1152 8.7052 19.943 7.69241C19.9149 7.5014 19.8166 7.38202 19.634 7.38202C19.044 7.38202 9.89913 7.38202 7.90439 7.191L7.64546 7.16615C5.81529 6.99024 4.8063 6.89326 4.33635 7.16713ZM19.8977 11.4732C20.0908 11.7527 19.6254 12.8452 19.6254 12.8452C19.166 13.1363 18.1541 13.0769 16.3186 12.9692C16.2338 12.9642 16.1473 12.9591 16.059 12.9539C14.0586 12.8372 4.92114 13.177 4.33049 13.199L4.33037 13.199C4.14788 13.2058 4.04518 13.0901 4.01001 12.9003C3.80035 11.8946 4.17656 11.8649 4.61942 11.83C4.64638 11.8278 4.67359 11.8257 4.70093 11.8233C6.17134 11.673 9.72893 11.3257 10.8967 11.3539C11.2754 11.3581 12.0301 11.3498 12.9486 11.3396C15.6454 11.3099 19.7536 11.2646 19.8977 11.4732Z",
604
+ fill: "currentColor",
605
+ fillRule: "evenodd"
1225
606
  })
1226
607
  });
1227
608
  //#endregion
1228
- //#region src/components/Icon/icons/ArrowDownIcon.tsx
1229
- const ArrowDownIcon = (props) => /* @__PURE__ */ jsx("svg", {
609
+ //#region src/components/Icon/icons/CommunityIcon.tsx
610
+ const CommunityIcon = (props) => /* @__PURE__ */ jsx("svg", {
1230
611
  ...props,
1231
612
  children: /* @__PURE__ */ jsx("path", {
1232
- d: "m19.7685 14.8636c.615-.555.6637-1.5035.1087-2.1185-.555-.6151-1.5035-.6637-2.1185-.1088l-4.2587 3.8429v-12.27446c0-.82845-.6716-1.5-1.5-1.5s-1.5.67155-1.5 1.5v12.27446l-4.25874-3.8429c-.615-.555-1.56345-.5063-2.11845.1088-.555.615-.5064 1.5635.10875 2.1185l6.76354 6.1031c.5709.5152 1.4389.5152 2.0098 0z",
613
+ d: "m14.8307 3.14077c.3645.16757.686.31534.9541.40981l.0186.00652c1.2355.43528 5.3747 1.89346 6.0303 4.36204.5612 2.11356-.3999 4.17296-1.3677 6.24656-.1682.3606-.3367.7217-.4975 1.0835-.0379.0854-.0756.1704-.1132.255-1.4657 3.3022-2.6018 5.8617-4.6582 6.3731-2.1092.5247-5.1606-.7312-7.71054-1.9147-.05102-.0244-.10251-.0491-.15441-.0738-1.99154-.951-4.60465-2.1987-5.20489-4.1987-.61588-2.0523 1.14517-6.02627 2.25161-7.92519.20562-.35289.40011-.72469.59807-1.10314.86724-1.65795 1.80113-3.44328 4.02973-4.32392 2.19233-.86633 4.35703.12865 5.82403.80292zm-2.2269 2.13686c-.5027-.24679-1.1143-.04716-1.366.44591l-.6538 1.281-1.30983-.64294c-.50277-.24679-1.11436-.04714-1.36603.44591-.25167.49306-.04812 1.09282.45465 1.33961l1.3098.64293-1.50554 2.94955-1.44199-.7078c-.50276-.2468-1.11435-.0471-1.36602.4459-.25167.4931-.04812 1.0928.45465 1.3396l1.44198.7078-.77998 1.5281c-.25167.4931-.04812 1.0929.45464 1.3396.50277.2468 1.11436.0472 1.36603-.4459l.77999-1.5281 2.98935 1.4674-.7622 1.4931c-.2517.4931-.0481 1.0929.4547 1.3397.5027.2467 1.1143.0471 1.366-.446l.7622-1.4931 1.4413.7075c.5028.2468 1.1144.0471 1.366-.446.2517-.4929.0482-1.0928-.4546-1.3396l-1.4414-.7074 1.5055-2.9496 1.5735.7724c.5028.2468 1.1144.0472 1.3661-.4459.2516-.4931.0481-1.0928-.4546-1.3396l-1.5736-.7724.6717-1.31597c.2518-.49306.0482-1.09282-.4546-1.33961-.5027-.24679-1.1143-.04715-1.366.4459l-.6718 1.31598-2.9892-1.46736.6538-1.281c.2517-.49306.0481-1.09283-.4547-1.33961zm1.8788 5.87347-1.5055 2.9496-2.98937-1.4674 1.50557-2.94954z",
1233
614
  fill: "currentColor"
1234
615
  })
1235
616
  });
1236
617
  //#endregion
1237
- //#region src/components/Icon/icons/ArrowLeftIcon.tsx
1238
- const ArrowLeftIcon = (props) => /* @__PURE__ */ jsx("svg", {
618
+ //#region src/components/Icon/icons/ContactUsIcon.tsx
619
+ const ContactUsIcon = (props) => /* @__PURE__ */ jsx("svg", {
1239
620
  ...props,
1240
621
  children: /* @__PURE__ */ jsx("path", {
1241
- d: "M9.1653 19.7974C9.72028 20.4124 10.6688 20.4611 11.2838 19.9061C11.8989 19.3512 11.9476 18.4027 11.3926 17.7876L7.54974 13.5289L19.8242 13.5289C20.6526 13.5289 21.3242 12.8573 21.3242 12.0289C21.3242 11.2005 20.6526 10.5289 19.8242 10.5289L7.54975 10.5289L11.3926 6.27019C11.9476 5.65519 11.8989 4.70674 11.2838 4.15174C10.6688 3.59674 9.72028 3.64534 9.16529 4.26049L3.06217 11.024C2.54703 11.5949 2.54703 12.4629 3.06217 13.0338L9.1653 19.7974Z",
622
+ d: "m2 7.13053c1.02794.75462 2.30848 1.82137 3.61006 2.90567 0 0 5.06424 3.9629 5.81564 3.9629 1.8549 0 3.7992-1.8146 5.1678-2.8746 1.3176-1.0205 2.7467-2.21282 4.0625-3.31055.1651-.13774.3285-.27408.4895-.40831-.0011.22999.0035.44719.0315.64131.3947 2.63975.4326 8.17435 0 11.09695-.3145.4144-.8493.9882-3.0513.8288s-11.82778-.2869-12.92877-.2231c-1.101.0637-2.39073-.0638-2.61093-1.1158-.40264-1.7682-.5511-8.74247-.586-11.50327zm16.4311-2.99936c1.2812.09529 1.9619.48357 2.322 1.00077-.4574.37757-.9338.77506-1.4207 1.18138-1.2989 1.0838-2.6732 2.23056-3.9636 3.22999-.9655.74789-1.8517 1.38729-2.5896 1.83539-.3691.2242-.6815.3884-.9342.4939-.2367.0989-.3632.1358-.5917.0084-.2306-.1286-.5322-.3283-.8998-.5958-.73248-.5331-1.63926-1.2708-2.61739-2.08202-.26991-.22385-.54604-.45404-.8253-.68686-.21657-.18055-.43504-.36268-.65398-.54466l-.65679-.54374c-1.20143-.98965-2.37365-1.92213-3.27827-2.50838.22838-.42619.59195-.78832 1.14091-.78831 1.57531.00002 3.21902-.03191 4.885-.06428 3.39902-.06604 6.89072-.13388 10.08342.06422z",
1242
623
  fill: "currentColor"
1243
624
  })
1244
625
  });
1245
626
  //#endregion
1246
- //#region src/components/Icon/icons/ArrowRightIcon.tsx
1247
- const ArrowRightIcon = (props) => /* @__PURE__ */ jsx("svg", {
627
+ //#region src/components/Icon/icons/CopyDisabledIcon.tsx
628
+ const CopyDisabledIcon = (props) => /* @__PURE__ */ jsx("svg", {
1248
629
  ...props,
1249
630
  children: /* @__PURE__ */ jsx("path", {
1250
- d: "M14.8347 4.26044C14.2797 3.6454 13.3312 3.59671 12.7162 4.15169C12.1011 4.70668 12.0524 5.65517 12.6074 6.27022L16.4502 10.5289L4.17581 10.5289C3.34736 10.5289 2.67581 11.2005 2.67581 12.0289C2.67581 12.8573 3.34736 13.5289 4.17581 13.5289L16.4502 13.5289L12.6074 17.7877C12.0524 18.4027 12.1011 19.3511 12.7161 19.9061C13.3312 20.4611 14.2797 20.4125 14.8347 19.7974L20.9378 13.0338C21.453 12.4629 21.453 11.5949 20.9378 11.024L14.8347 4.26044Z",
631
+ d: "m23.7071 1.70711c.3905-.39053.3905-1.023692 0-1.414217-.3905-.3905241-1.0237-.3905241-1.4142 0l-22.000007 22.000007c-.3905238.3905-.3905242 1.0237 0 1.4142.390524.3905 1.023687.3905 1.414217 0zm-5.0845.29289c.1737 0 .3443.01298.5109.03803l-3.3066 3.30661h-8.21351c-.93263 0-1.68869-.74873-1.68869-1.67232 0-.92361.75606-1.67232 1.68869-1.67232zm-14.9339 4.94911h10.5338l-12.2225 12.22249v-10.55017c0-.92359.75605-1.67232 1.6887-1.67232zm13.5095 2.68113-12.36977 12.36976h10.68107c.9327 0 1.6887-.7487 1.6887-1.6723zm4.7671-4.76707-3.3427 3.34265v8.10658c0 .9235.756 1.6724 1.6887 1.6724s1.6887-.7489 1.6887-1.6724v-10.96776c0-.1635-.0118-.32425-.0347-.48147z",
1251
632
  fill: "currentColor"
1252
633
  })
1253
634
  });
1254
635
  //#endregion
1255
- //#region src/components/Icon/icons/ArrowUpIcon.tsx
1256
- const ArrowUpIcon = (props) => /* @__PURE__ */ jsx("svg", {
636
+ //#region src/components/Icon/icons/CopyIcon.tsx
637
+ const CopyIcon = (props) => /* @__PURE__ */ jsx("svg", {
1257
638
  ...props,
1258
639
  children: /* @__PURE__ */ jsx("path", {
1259
- d: "M4.23151 9.19422C3.61647 9.7492 3.56778 10.6977 4.12276 11.3127C4.67775 11.9278 5.62624 11.9765 6.24129 11.4215L10.5 7.57866L10.5 19.8531C10.5 20.6815 11.1716 21.3531 12 21.3531C12.8284 21.3531 13.5 20.6815 13.5 19.8531L13.5 7.57867L17.7587 11.4215C18.3737 11.9765 19.3222 11.9278 19.8772 11.3128C20.4322 10.6977 20.3836 9.7492 19.7684 9.19422L13.0049 3.09109C12.434 2.57595 11.566 2.57595 10.9951 3.09109L4.23151 9.19422",
640
+ d: "m18.6226 16.3124c0 .9235.756 1.6724 1.6887 1.6724s1.6887-.7489 1.6887-1.6724v-10.96776c0-1.8472-1.5122-3.34464-3.3774-3.34464h-11.00921c-.93263 0-1.68869.74871-1.68869 1.67232 0 .92359.75606 1.67232 1.68869 1.67232h11.00921zm-3.1131 5.6876c.9327 0 1.6887-.7487 1.6887-1.6723v-11.70627c0-.92359-.756-1.67232-1.6887-1.67232h-11.8208c-.93265 0-1.6887.74873-1.6887 1.67232v11.70627c0 .9236.75605 1.6723 1.6887 1.6723z",
1260
641
  fill: "currentColor"
1261
642
  })
1262
643
  });
1263
644
  //#endregion
1264
- //#region src/components/Icon/icons/AsteriskIcon.tsx
1265
- const AsteriskIcon = (props) => /* @__PURE__ */ jsx("svg", {
645
+ //#region src/components/Icon/icons/CreateIcon.tsx
646
+ const CreateIcon = (props) => /* @__PURE__ */ jsx("svg", {
1266
647
  ...props,
1267
648
  children: /* @__PURE__ */ jsx("path", {
1268
- d: "M14.4425 22L13.9358 15.3633L19.5575 19.0908L22 14.9542L15.3642 11.9542L22 9L19.5575 4.86333L13.9358 8.63667L14.4425 2H9.5575L10.0183 8.68167L4.39667 4.90917L2 9.04583L8.4975 12L2 14.9092L4.39667 19L10.0183 15.2725L9.5575 22H14.4425Z",
649
+ d: "m10.3966 3.60341c0-.88553.7179-1.60341 1.6034-1.60341s1.6034.71788 1.6034 1.60341v6.79319h6.7932c.8856 0 1.6034.7179 1.6034 1.6034 0 .8856-.7178 1.6034-1.6034 1.6034h-6.7932v6.7932c0 .8856-.7179 1.6034-1.6034 1.6034s-1.6034-.7178-1.6034-1.6034v-6.7932h-6.7932c-.88554 0-1.6034-.7178-1.6034-1.6034 0-.8855.71786-1.6034 1.6034-1.6034h6.7932z",
1269
650
  fill: "currentColor"
1270
651
  })
1271
652
  });
1272
653
  //#endregion
1273
- //#region src/components/Icon/icons/AudienceIcon.tsx
1274
- const AudienceIcon = (props) => /* @__PURE__ */ jsx("svg", {
654
+ //#region src/components/Icon/icons/DeleteIcon.tsx
655
+ const DeleteIcon = (props) => /* @__PURE__ */ jsx("svg", {
1275
656
  ...props,
1276
657
  children: /* @__PURE__ */ jsx("path", {
1277
- d: "m11.1744 3.04659c2.6835 2.33688 2.1425 8.06531-2.85234 7.99341-4.99483-.0719-5.03082-5.26362-3.69418-7.27726 1.33665-2.01364 4.64706-2.37021 6.54652-.71615zm8.511 8.47051c1.505 1.3105 1.2016 4.523-1.5995 4.4827-2.8011-.0404-2.8213-2.9519-2.0717-4.0811s2.6061-1.3292 3.6712-.4016zm-16.99799 10.3336c-.32545.0141-.61759-.3577-.6444-.8086-.15145-2.3574.04693-5.2652 1.4129-7.0804 2.86859-3.7922 9.46089-1.5366 10.60059 2.1134.236.7357.4008 1.5352.4961 2.3645.1371-.16.2718-.3099.3984-.4466 1.7601-1.8904 5.8048-.766 6.5041 1.0535.2965.751.4096 1.6354.3492 2.5077-.0098.2438-.2089.4477-.4506.4458h-7.4492-.0132-.0022-.4484c-.0235.0008-.0471-.0016-.0706-.0069z",
658
+ d: "m14.904 2.36857c.6808.18014 1.0637 1.89327 1.3326 3.11843 1.0626.02303 2.1802.06975 3.3652.15126.5509.0379.9669.51528.929 1.06626-.0379.55099-.5153.96692-1.0663.92902-3.2573-.22405-5.9961-.17824-8.5308-.1036-.3474.01023-.6918.02104-1.03385.03178-2.1416.06726-4.18778.13153-6.28166.02989-.55163-.02678-.97711-.49568-.95034-1.04731.02678-.55164.49568-.97712 1.04731-.95034 1.04212.05058 2.0709.0584 3.11959.04482.08961-.94493.83902-2.66045 1.49748-3.27021.72917-.67525 5.56337-.2668 6.57177 0zm-8.53971 18.93913c-.38411-1.7907-1.43613-8.7724-1.60784-10.1112-.01239-.0967-.02523-.1887-.03746-.2764-.1573-1.12763-.21516-1.5424 2.05023-1.84784 2.71293-.36579 9.32588-.45722 11.89608.31093.5336.15895.5387.4146.5496.95901.0017.082.0035.1706.0072.2664 0 2.8358-.6932 5.8331-1.3554 8.6963-.1564.6763-.3112 1.3453-.4546 2.0028-.1285.6219-1.0566.6401-1.842.5487-.7853-.0915-5.4362-.2926-6.99265-.2926-1.55635 0-1.98471 0-2.21316-.2561zm8.97891-9.2246c-.0298-.5515-.501-.9744-1.0525-.9446s-.9744.501-.9446 1.0525c.0309.5711-.027 1.5863-.123 2.7715-.0544.6721-.1166 1.3496-.1763 2.0013-.0459.5008-.0905.9868-.1291 1.4427-.0465.5504.3619 1.0342.9122 1.0807.5503.0466 1.0342-.3618 1.0807-.9122.0351-.4152.0789-.8939.1249-1.3962l.0002-.0017.0001-.0015c.0616-.6734.1271-1.3892.1808-2.0516.094-1.1611.166-2.312.1266-3.0409zm-5.56465 7.4093c.55025.0479 1.03505-.3594 1.08295-.9096.0632-.7272.0291-1.8798-.0269-3.0434-.0319-.6643-.0739-1.3823-.1135-2.0578-.0295-.504-.0576-.985-.0791-1.4014-.0285-.5516-.4987-.9756-1.05025-.9472-.55156.0285-.97562.4987-.94716 1.0502.02358.4571.05217.944.08167 1.4462.03835.653.07827 1.3328.11063 2.006.0571 1.1878.08163 2.2042.03206 2.7741-.04786.5502.3594 1.035.9096 1.0829z",
1278
659
  fill: "currentColor"
1279
660
  })
1280
661
  });
1281
662
  //#endregion
1282
- //#region src/components/Icon/icons/CalendarIcon.tsx
1283
- const CalendarIcon = (props) => /* @__PURE__ */ jsx("svg", {
663
+ //#region src/components/Icon/icons/DeleteSmIcon.tsx
664
+ const DeleteSmIcon = (props) => /* @__PURE__ */ jsx("svg", {
1284
665
  ...props,
1285
- children: /* @__PURE__ */ jsx("path", {
1286
- clipRule: "evenodd",
1287
- d: "m7.5 2.9895c.82843 0 1.5.67157 1.5 1.5v1.51041l6 .00003c0-.00001 0 .00001 0 0v-1.51044c0-.82843.6716-1.5 1.5-1.5s1.5.67157 1.5 1.5v1.51041c0-.00001 0 .00001 0 0l1.5.00003c.8284 0 1.5.67157 1.5 1.5v1.5c0 .82843-.6716 1.49996-1.5 1.49996h-15c-.82843 0-1.5-.67153-1.5-1.49996v-1.5c0-.82843.67157-1.5 1.5-1.5h1.5v-1.51044c0-.82843.67157-1.5 1.5-1.5zm-3 9.0104c-.82843 0-1.5.6716-1.5 1.5v6c0 .8285.67157 1.5 1.5 1.5h15c.8284 0 1.5-.6715 1.5-1.5v-6c0-.8284-.6716-1.5-1.5-1.5z",
666
+ children: /* @__PURE__ */ jsxs("g", {
1288
667
  fill: "currentColor",
1289
- fillRule: "evenodd"
668
+ children: [/* @__PURE__ */ jsx("path", { d: "m9.05042 2c-.64391 0-1.23256.35667-1.52052.92132l-1.23015 2.41201h-1.59974c-.9389 0-1.70001.74619-1.70001 1.66667 0 .92047.76111 1.66667 1.70001 1.66667h14.59999c.9389 0 1.7-.7462 1.7-1.66667 0-.92048-.7611-1.66667-1.7-1.66667h-1.8003l-1.2301-2.41201c-.288-.56465-.8765-.92132-1.5205-.92132z" }), /* @__PURE__ */ jsx("path", { d: "m6.63212 10c-.9389 0-1.63212.7462-1.63212 1.6667v8.8333c0 .9205.36086 1.5 1.29975 1.5h11.19995c.9389 0 1.5003-.5795 1.5003-1.5l-.1-8.8333c0-.9205-.4611-1.6667-1.4-1.6667z" })]
1290
669
  })
1291
670
  });
1292
671
  //#endregion
1293
- //#region src/components/Icon/icons/CameraIcon.tsx
1294
- const CameraIcon = (props) => /* @__PURE__ */ jsx("svg", {
672
+ //#region src/components/Icon/icons/DottieClockIcon.tsx
673
+ const DottieClockIcon = (props) => /* @__PURE__ */ jsx("svg", {
1295
674
  ...props,
1296
675
  children: /* @__PURE__ */ jsx("path", {
1297
676
  clipRule: "evenodd",
1298
- d: "M11.3162 20.979C11.6222 20.9857 11.9282 20.9924 12.2342 21V20.992C12.276 20.992 12.3178 20.9924 12.3595 20.9928C12.443 20.9935 12.5264 20.9942 12.6096 20.992C12.9666 20.9825 13.3235 20.9735 13.6805 20.9645C14.6678 20.9395 15.6552 20.9144 16.6423 20.8803C17.3374 20.8559 18.032 20.8127 18.7251 20.7569C19.3748 20.7048 20.0238 20.6415 20.6727 20.5783C20.9177 20.5544 21.1626 20.5305 21.4076 20.5072C21.8887 20.4612 22.2848 20.0971 22.3749 19.624C22.5973 18.4536 22.7728 17.2761 22.8625 16.0887C22.9258 15.2478 22.9671 14.403 22.9784 13.5597C22.9883 12.8257 22.9578 12.0898 22.9174 11.3563C22.8803 10.6899 22.8278 10.023 22.7433 9.36129C22.6605 8.71089 22.5531 8.06362 22.4457 7.41667C22.4215 7.27097 22.3974 7.12528 22.3735 6.97958C22.2928 6.48916 21.8624 6.12123 21.3663 6.08228C21.0761 6.05955 20.7863 6.03115 20.4965 6.00274C20.2656 5.98012 20.0347 5.9575 19.8036 5.93773C19.2277 5.88845 18.6514 5.84434 18.0747 5.80586C17.9794 5.79929 17.9418 5.76737 17.9151 5.67868L17.8955 5.61308C17.7345 5.07457 17.5734 4.53581 17.3998 4.00139C17.2445 3.5227 16.7784 3.15664 16.3077 3.1313C16.1265 3.12155 15.9453 3.11126 15.7641 3.10098C15.1608 3.06675 14.5575 3.03253 13.9537 3.01773C12.2178 2.97502 10.4823 3.00787 8.75008 3.13365C8.62103 3.14303 8.48634 3.17917 8.36901 3.23455C8.02173 3.39833 7.773 3.66208 7.65567 4.03236C7.56181 4.32848 7.47105 4.62568 7.38028 4.92287C7.3013 5.18146 7.22232 5.44004 7.14131 5.69792C7.12817 5.73922 7.07937 5.79131 7.04041 5.79741C6.95316 5.81131 6.86434 5.81585 6.77551 5.82041C6.73533 5.82246 6.69516 5.82452 6.65512 5.82744C6.53247 5.83652 6.40978 5.84531 6.28709 5.8541C5.96567 5.87712 5.64421 5.90015 5.32324 5.92834C5.07994 5.94972 4.83701 5.97418 4.59413 5.99864C4.29308 6.02896 3.99209 6.05927 3.69053 6.08368C3.21982 6.1217 2.78478 6.49432 2.70453 6.96316C2.66943 7.16876 2.63372 7.37429 2.59802 7.57982C2.47619 8.28117 2.35434 8.98263 2.25634 9.68746C2.15263 10.4327 2.06674 11.1841 2.03202 11.9354C1.99259 12.782 1.9879 13.6329 2.02732 14.479C2.06674 15.3322 2.1545 16.1854 2.26714 17.032C2.35101 17.6614 2.46316 18.287 2.5753 18.9124C2.61877 19.1549 2.66224 19.3973 2.70406 19.64C2.77868 20.0708 3.19542 20.4636 3.61263 20.5044C3.69683 20.5127 3.78099 20.5213 3.86514 20.5298C4.03332 20.5469 4.20149 20.564 4.37008 20.579C4.58912 20.5986 4.80813 20.6188 5.02715 20.639C5.58193 20.6903 6.13681 20.7416 6.69266 20.7813C7.51863 20.8404 8.34601 20.8897 9.17386 20.9207C9.88781 20.9476 10.602 20.9633 11.3162 20.979ZM6.3909 12.7131C6.41718 9.38992 9.19264 6.63089 12.5083 6.64872C15.8811 6.66703 18.5796 9.38664 18.5707 12.7375C18.5618 16.0676 15.807 18.8534 12.4721 18.8328C9.15556 18.8121 6.36462 16.0512 6.3909 12.7131ZM16.2261 12.7248C16.2383 10.658 14.5539 8.99148 12.4754 8.99524L12.4749 8.99571C10.4006 8.99899 8.72848 10.6655 8.73318 12.7243C8.73834 14.7935 10.4217 16.4942 12.4806 16.4867C14.5619 16.4792 16.2139 14.8104 16.2261 12.7248Z",
677
+ d: "M10 18.8889C9.54004 18.8889 9.16671 18.5155 9.16671 18.0555C9.16671 17.5955 9.54004 17.2222 10 17.2222C13.9823 17.2222 17.2223 13.9822 17.2223 9.99997C17.2223 6.01775 13.9823 2.77775 10 2.77775C9.54004 2.77775 9.16671 2.40442 9.16671 1.94442C9.16671 1.48442 9.54004 1.11108 10 1.11108C14.9012 1.11108 18.8889 5.09886 18.8889 9.99997C18.8889 14.9011 14.9012 18.8889 10 18.8889ZM13.61 13.3333C13.4478 13.3333 13.2812 13.2855 13.1367 13.1855L9.5256 10.6855C9.30115 10.53 9.16671 10.2733 9.16671 9.99997V5.27775C9.16671 4.81775 9.54004 4.44442 10 4.44442C10.46 4.44442 10.8334 4.81775 10.8334 5.27775V9.56331L14.0856 11.8144C14.4645 12.0766 14.5589 12.5955 14.2956 12.9733C14.1334 13.2066 13.8745 13.3322 13.61 13.3322V13.3333ZM5.13676 15.6966C5.13676 16.1568 4.76366 16.5299 4.30343 16.5299C3.84319 16.5299 3.47009 16.1568 3.47009 15.6966C3.47009 15.2363 3.84319 14.8632 4.30343 14.8632C4.76366 14.8632 5.13676 15.2363 5.13676 15.6966ZM1.94442 10.8333C2.40465 10.8333 2.77775 10.4602 2.77775 9.99994C2.77775 9.5397 2.40465 9.16661 1.94442 9.16661C1.48418 9.16661 1.11108 9.5397 1.11108 9.99994C1.11108 10.4602 1.48418 10.8333 1.94442 10.8333ZM5.13676 4.30332C5.13676 4.76356 4.76366 5.13666 4.30343 5.13666C3.84319 5.13666 3.47009 4.76356 3.47009 4.30332C3.47009 3.84309 3.84319 3.46999 4.30343 3.46999C4.76366 3.46999 5.13676 3.84309 5.13676 4.30332ZM6.91777 18.2755C7.378 18.2755 7.7511 17.9024 7.7511 17.4422C7.7511 16.9819 7.378 16.6088 6.91777 16.6088C6.45753 16.6088 6.08443 16.9819 6.08443 17.4422C6.08443 17.9024 6.45753 18.2755 6.91777 18.2755ZM3.39115 13.0822C3.39115 13.5425 3.01806 13.9155 2.55782 13.9155C2.09758 13.9155 1.72449 13.5425 1.72449 13.0822C1.72449 12.622 2.09758 12.2489 2.55782 12.2489C3.01806 12.2489 3.39115 12.622 3.39115 13.0822ZM2.55782 7.751C3.01806 7.751 3.39115 7.3779 3.39115 6.91766C3.39115 6.45743 3.01806 6.08433 2.55782 6.08433C2.09758 6.08433 1.72449 6.45743 1.72449 6.91766C1.72449 7.3779 2.09758 7.751 2.55782 7.751ZM7.7511 2.55772C7.7511 3.01796 7.378 3.39105 6.91777 3.39105C6.45753 3.39105 6.08443 3.01796 6.08443 2.55772C6.08443 2.09748 6.45753 1.72439 6.91777 1.72439C7.378 1.72439 7.7511 2.09748 7.7511 2.55772Z",
1299
678
  fill: "currentColor",
1300
679
  fillRule: "evenodd"
1301
680
  })
1302
681
  });
1303
682
  //#endregion
1304
- //#region src/components/Icon/icons/CaretDownIcon.tsx
1305
- const CaretDownIcon = (props) => /* @__PURE__ */ jsx("svg", {
683
+ //#region src/components/Icon/icons/DownloadIcon.tsx
684
+ const DownloadIcon = (props) => /* @__PURE__ */ jsx("svg", {
1306
685
  ...props,
1307
686
  children: /* @__PURE__ */ jsx("path", {
1308
- d: "m2.68581 7.2381c.52393-.57331 1.39057-.64667 2.00074-.19312l.11843.09775 7.19402 6.57527 7.196-6.57527c.5733-.52393 1.443-.51915 2.01-.01262l.1092.10799c.5239.57331.5191 1.44304.0126 2.01l-.108.10918-8.2069 7.50002c-.5348.4887-1.3351.5213-1.9053.0977l-.1185-.0977-8.20691-7.50002c-.61154-.55886-.65424-1.50764-.09538-2.11918z",
687
+ d: "m8.60831 3.62342c0-.89747.72755-1.625 1.62499-1.625h3.25c.8974 0 1.6249.72753 1.6249 1.625l-.0733 5.37819h2.169c1.5012 0 2.1996 1.86149 1.0688 2.84899l-5.4188 4.7324c-.6123.5347-1.5256.5347-2.1378 0l-5.41894-4.7324c-1.13072-.9875-.43233-2.84899 1.06891-2.84899h2.16889zm-4.94834 15.12818c-.89747 0-1.625.7275-1.625 1.625s.72753 1.625 1.625 1.625h16.68003c.8975 0 1.625-.7275 1.625-1.625s-.7275-1.625-1.625-1.625z",
1309
688
  fill: "currentColor"
1310
689
  })
1311
690
  });
1312
691
  //#endregion
1313
- //#region src/components/Icon/icons/CaretLeftIcon.tsx
1314
- const CaretLeftIcon = (props) => /* @__PURE__ */ jsx("svg", {
692
+ //#region src/components/Icon/icons/DraggableIcon.tsx
693
+ const DraggableIcon = (props) => /* @__PURE__ */ jsx("svg", {
1315
694
  ...props,
1316
695
  children: /* @__PURE__ */ jsx("path", {
1317
- d: "m16.7619 2.68582c.5733.52393.6467 1.39057.1931 2.00074l-.0977.11844-6.5753 7.194 6.5753 7.196c.5239.5733.5191 1.443.0126 2.01l-.108.1092c-.5733.5239-1.443.5191-2.01.0126l-.1092-.108-7.49998-8.2069c-.48873-.5348-.52131-1.3351-.09775-1.9053l.09775-.1185 7.49998-8.2069c.5589-.61153 1.5077-.65423 2.1192-.09538z",
696
+ d: "m8.4 22c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656 1.035-.7344 1.695-.7344 1.225.2448 1.695.7344.705 1.0781.705 1.7656-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm7.2 0c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656 1.035-.7344 1.695-.7344 1.225.2448 1.695.7344.705 1.0781.705 1.7656-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm-7.2-7.5c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656c.47-.48961 1.035-.7344 1.695-.7344s1.225.24479 1.695.7344c.47.4896.705 1.0781.705 1.7656s-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm7.2 0c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656c.47-.48961 1.035-.7344 1.695-.7344s1.225.24479 1.695.7344c.47.4896.705 1.0781.705 1.7656s-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm-7.2-7.5c-.66 0-1.225-.24479-1.695-.73437-.47-.48959-.705-1.07813-.705-1.76563s.235-1.27604.705-1.76562c.47-.48959 1.035-.73438 1.695-.73438s1.225.24479 1.695.73438c.47.48958.705 1.07812.705 1.76562s-.235 1.27604-.705 1.76563c-.47.48958-1.035.73437-1.695.73437zm7.2 0c-.66 0-1.225-.24479-1.695-.73437-.47-.48959-.705-1.07813-.705-1.76563s.235-1.27604.705-1.76562c.47-.48959 1.035-.73438 1.695-.73438s1.225.24479 1.695.73438c.47.48958.705 1.07812.705 1.76562s-.235 1.27604-.705 1.76563c-.47.48958-1.035.73437-1.695.73437z",
1318
697
  fill: "currentColor"
1319
698
  })
1320
699
  });
1321
700
  //#endregion
1322
- //#region src/components/Icon/icons/CaretRightIcon.tsx
1323
- const CaretRightIcon = (props) => /* @__PURE__ */ jsx("svg", {
701
+ //#region src/components/Icon/icons/EllipsisIcon.tsx
702
+ const EllipsisIcon = (props) => /* @__PURE__ */ jsx("svg", {
1324
703
  ...props,
1325
704
  children: /* @__PURE__ */ jsx("path", {
1326
- d: "m7.23808 21.3142c-.57331-.524-.64667-1.3906-.19312-2.0008l.09774-.1184 6.5753-7.194-6.57529-7.196c-.52393-.57331-.51915-1.44303-.01262-2.01l.10799-.10917c.57331-.52393 1.44303-.51915 2.01-.01262l.10917.10799 7.50005 8.2069c.4887.5348.5213 1.3351.0977 1.9053l-.0977.1185-7.50004 8.2069c-.55886.6115-1.50765.6542-2.11918.0954z",
705
+ d: "m6.8654 12.0577c0 1.2745-1.03319 2.3077-2.3077 2.3077s-2.3077-1.0332-2.3077-2.3077 1.03319-2.3077 2.3077-2.3077 2.3077 1.0332 2.3077 2.3077zm7.6923 0c0 1.2745-1.0331 2.3077-2.3077 2.3077-1.2745 0-2.30766-1.0332-2.30766-2.3077s1.03316-2.3077 2.30766-2.3077c1.2746 0 2.3077 1.0332 2.3077 2.3077zm5.3846 2.3077c1.2746 0 2.3077-1.0332 2.3077-2.3077s-1.0331-2.3077-2.3077-2.3077c-1.2745 0-2.3077 1.0332-2.3077 2.3077s1.0332 2.3077 2.3077 2.3077z",
1327
706
  fill: "currentColor"
1328
707
  })
1329
708
  });
1330
709
  //#endregion
1331
- //#region src/components/Icon/icons/CaretUpIcon.tsx
1332
- const CaretUpIcon = (props) => /* @__PURE__ */ jsx("svg", {
1333
- ...props,
1334
- children: /* @__PURE__ */ jsx("path", {
1335
- d: "m21.3141 16.7619c-.5239.5733-1.3905.6467-2.0007.1931l-.1184-.0977-7.194-6.5753-7.19602 6.5753c-.57331.5239-1.44304.5191-2.01.0126l-.10918-.108c-.52393-.5733-.51915-1.443-.01261-2.01l.10798-.1092 8.20683-7.49998c.5348-.48873 1.3352-.52131 1.9054-.09775l.1184.09775 8.207 7.49998c.6115.5589.6542 1.5077.0953 2.1192z",
1336
- fill: "currentColor"
1337
- })
1338
- });
1339
- //#endregion
1340
- //#region src/components/Icon/icons/ChannelIcon.tsx
1341
- const ChannelIcon = (props) => /* @__PURE__ */ jsx("svg", {
1342
- ...props,
1343
- children: /* @__PURE__ */ jsx("path", {
1344
- clipRule: "evenodd",
1345
- d: "m5.64571 1.19092c-.44678-.324663-1.07216-.225666-1.39682.22112-.32466.44678-.22567 1.07215.22111 1.39682 1.28625.93467 2.48092 2.19849 3.54704 3.39817-1.62947-.00332-2.92814.02027-3.46778.08086-1.98082.22241-2.2359 1.3046-2.45624 2.97122-.22035 1.66659.01731 8.61489.2821 10.20679s1.03019 2.2578 3.23903 2.2185c1.36389-.0243 5.14395.102 8.22435.2049 1.9081.0637 3.5484.1185 4.1789.123l.0126.0001c1.6426.0116 2.973.0211 3.5839-1.2509.6125-1.2752.3643-9.5706.2662-11.15071-.0982-1.58008-.6322-2.71681-1.8871-2.99303-.4032-.08875-1.9372-.17748-3.8995-.24967.9793-1.0846 2.1361-2.34437 3.5284-3.63478.405-.37542.4291-1.00813.0536-1.41319-.3754-.405062-1.0081-.429086-1.4132-.05366-1.61 1.49224-2.9274 2.95491-3.9684 4.11064-.1937.21508-.3778.41955-.5525.61158-.0947.10407-.1859.20373-.2738.29896-.9155-.02314-1.8546-.0422-2.7663-.056-.1596-.18054-.3281-.37314-.5061-.57663l-.1089-.12441c-1.18229-1.35084-2.71275-3.08411-4.44059-4.33968zm9.86039 12.42148c-1.0777 1.4126-4.8912 3.6285-6.16234 4.3486-.19344.1108-.41451-.0277-.41451-.2493 0-1.468 0-5.9827.05527-7.4507 0-.1939.22107-.3324.4145-.2216l6.02418 3.1576c.1382.0831.1934.2769.0829.4154z",
1346
- fill: "currentColor",
1347
- fillRule: "evenodd"
1348
- })
1349
- });
1350
- //#endregion
1351
- //#region src/components/Icon/icons/CheckmarkCircleIcon.tsx
1352
- const CheckmarkCircleIcon = (props) => /* @__PURE__ */ jsx("svg", {
1353
- ...props,
1354
- children: /* @__PURE__ */ jsx("path", {
1355
- clipRule: "evenodd",
1356
- d: "m21.8158 14.5648c3.0982-10.94829-8.8224-15.41821-15.39746-10.85188-4.65388 3.23212-6.673329 10.24658-3.15895 14.34028 3.51439 4.0936 15.45811 7.4598 18.55641-3.4884zm-4.1007-5.8658c.3861-.39496.3788-1.02808-.0161-1.41413-.395-.38604-1.0281-.37882-1.4141.01613l-6.127 6.2684-2.44277-2.4992c-.38605-.3949-1.01917-.4021-1.41413-.0161-.39495.3861-.40217 1.0192-.01612 1.4141l3.15789 3.2308c.18815.1925.44596.301.71513.301.2692 0 .527-.1085.7151-.301z",
1357
- fill: "currentColor",
1358
- fillRule: "evenodd"
1359
- })
1360
- });
1361
- //#endregion
1362
- //#region src/components/Icon/icons/CheckmarkCircleOutlineIcon.tsx
1363
- const CheckmarkCircleOutlineIcon = ({ ...props }) => /* @__PURE__ */ jsxs("svg", {
1364
- ...props,
1365
- children: [/* @__PURE__ */ jsx("path", {
1366
- clipRule: "evenodd",
1367
- d: "M11.25 2.5C6.41751 2.5 2.5 6.41751 2.5 11.25C2.5 16.0825 6.41751 20 11.25 20C16.0825 20 20 16.0825 20 11.25C20 6.41751 16.0825 2.5 11.25 2.5ZM0 11.25C0 5.0368 5.0368 0 11.25 0C17.4632 0 22.5 5.0368 22.5 11.25C22.5 17.4632 17.4632 22.5 11.25 22.5C5.0368 22.5 0 17.4632 0 11.25Z",
1368
- fill: "currentColor",
1369
- fillRule: "evenodd"
1370
- }), /* @__PURE__ */ jsx("path", {
1371
- clipRule: "evenodd",
1372
- d: "M17.1237 7.35609C17.6174 7.83865 17.6265 8.63005 17.1439 9.12374L10.3018 16.1237C10.0666 16.3644 9.74436 16.5 9.4079 16.5C9.07143 16.5 8.74918 16.3644 8.51399 16.1237L5.35609 12.893C4.87354 12.3993 4.88256 11.6079 5.37626 11.1253C5.86995 10.6428 6.66135 10.6518 7.14391 11.1455L9.4079 13.4617L15.3561 7.37626C15.8386 6.88256 16.6301 6.87354 17.1237 7.35609Z",
1373
- fill: "currentColor",
1374
- fillRule: "evenodd"
1375
- })]
1376
- });
1377
- //#endregion
1378
- //#region src/components/Icon/icons/CheckmarkCircleThreeQuartersIcon.tsx
1379
- const CheckmarkCircleThreeQuartersIcon = (props) => /* @__PURE__ */ jsx("svg", {
1380
- ...props,
1381
- children: /* @__PURE__ */ jsx("path", {
1382
- d: "m5.06066 10.1406c1.02693-3.83255 4.96634-6.10695 8.79884-5.08003.8844.23699 1.7935-.28787 2.0305-1.1723.237-.88444-.2879-1.79352-1.1723-2.0305-5.60142-1.500892-11.35896 1.82322-12.85985 7.42462-1.500884 5.60141 1.82323 11.35891 7.42463 12.85981 5.60142 1.5009 11.35892-1.8232 12.85982-7.4246.237-.8844-.2879-1.7935-1.1723-2.0305s-1.7935.2879-2.0305 1.1723c-1.0269 3.8325-4.9663 6.1069-8.7988 5.08-3.83257-1.0269-6.10696-4.9663-5.08004-8.7988zm16.57534-2.98696c.6582-.63651.6758-1.68609.0392-2.34429-.6365-.65821-1.686-.67579-2.3442-.03928l-7.5698 7.32023-2.17928-2.46975c-.60581-.68657-1.65349-.75203-2.34005-.14621-.68656.60576-.75202 1.65346-.14621 2.34006l2.94474 3.3372c.8339.9451 2.2881 1.0027 3.1942.1265z",
1383
- fill: "currentColor"
1384
- })
1385
- });
1386
- //#endregion
1387
- //#region src/components/Icon/icons/CheckmarkIcon.tsx
1388
- const CheckmarkIcon = (props) => /* @__PURE__ */ jsx("svg", {
1389
- ...props,
1390
- children: /* @__PURE__ */ jsx("path", {
1391
- d: "m8.79289 18.7054-6.50001-6.5374c-.39051-.3927-.39051-1.0295 0-1.4223l1.41418-1.42238c.39051-.39279 1.02371-.39279 1.41422 0l4.37872 4.40388 9.3787-9.43263c.3905-.39276 1.0237-.39276 1.4142 0l1.4142 1.42235c.3905.39275.3905 1.02956 0 1.42235l-11.5 11.56613c-.39054.3928-1.0237.3928-1.41421 0z",
1392
- fill: "currentColor"
1393
- })
1394
- });
1395
- //#endregion
1396
- //#region src/components/Icon/icons/CheckmarkUnderlinedIcon.tsx
1397
- const CheckmarkUnderlinedIcon = (props) => /* @__PURE__ */ jsx("svg", {
1398
- ...props,
1399
- children: /* @__PURE__ */ jsx("path", {
1400
- d: "M9.54401 12.95L17.994 4.49995C18.194 4.29995 18.4315 4.19995 18.7065 4.19995C18.9815 4.19995 19.219 4.29995 19.419 4.49995C19.619 4.69995 19.719 4.93745 19.719 5.21245C19.719 5.48745 19.619 5.72495 19.419 5.92495L10.244 15.1C10.044 15.3 9.81067 15.4 9.54401 15.4C9.27734 15.4 9.04401 15.3 8.84401 15.1L4.56901 10.825C4.36901 10.625 4.27317 10.3875 4.28151 10.1125C4.28984 9.83745 4.39401 9.59995 4.59401 9.39995C4.79401 9.19995 5.03151 9.09995 5.30651 9.09995C5.58151 9.09995 5.81901 9.19995 6.01901 9.39995L9.54401 12.95ZM5.99401 19.8C5.71067 19.8 5.47317 19.7041 5.28151 19.5125C5.08984 19.3208 4.99401 19.0833 4.99401 18.8C4.99401 18.5166 5.08984 18.2791 5.28151 18.0875C5.47317 17.8958 5.71067 17.8 5.99401 17.8H17.994C18.2773 17.8 18.5148 17.8958 18.7065 18.0875C18.8982 18.2791 18.994 18.5166 18.994 18.8C18.994 19.0833 18.8982 19.3208 18.7065 19.5125C18.5148 19.7041 18.2773 19.8 17.994 19.8H5.99401Z",
1401
- fill: "currentColor"
1402
- })
1403
- });
1404
- //#endregion
1405
- //#region src/components/Icon/icons/CloseCircleIcon.tsx
1406
- const CloseCircleIcon = (props) => /* @__PURE__ */ jsx("svg", {
1407
- ...props,
1408
- children: /* @__PURE__ */ jsx("path", {
1409
- clipRule: "evenodd",
1410
- d: "M13.8186 20.4731C4.60239 22.893 -2.98829 15.5818 3.31523 6.74072C9.6261 -2.10038 19.5705 4.8504 21.402 9.84467C23.2334 14.8389 19.0556 19.105 13.8186 20.4731Z \n M15.0413 8.87414C15.4318 8.48355 15.4318 7.85028 15.0413 7.45969C14.6508 7.0691 14.0178 7.0691 13.6273 7.45969L11.0001 10.0878L8.37284 7.4597C7.98238 7.06911 7.34932 7.06911 6.95886 7.4597C6.5684 7.85029 6.5684 8.48356 6.95886 8.87415L9.5861 11.5023L6.95886 14.1304C6.5684 14.5209 6.5684 15.1542 6.95886 15.5448C7.34932 15.9354 7.98238 15.9354 8.37284 15.5448L11.0001 12.9167L13.6273 15.5448C14.0178 15.9354 14.6508 15.9354 15.0413 15.5448C15.4318 15.1542 15.4318 14.521 15.0413 14.1304L12.4141 11.5023L15.0413 8.87414Z",
1411
- fill: "currentColor",
1412
- fillRule: "evenodd"
1413
- })
1414
- });
1415
- //#endregion
1416
- //#region src/components/Icon/icons/CloseIcon.tsx
1417
- const CloseIcon$1 = (props) => /* @__PURE__ */ jsx("svg", {
1418
- ...props,
1419
- children: /* @__PURE__ */ jsx("path", {
1420
- d: "m17.7742 19.618c.5091.5093 1.3347.5093 1.8439 0 .5091-.5091.5091-1.3347 0-1.8438l-5.7742-5.7742 5.7742-5.77422c.5091-.50918.5091-1.3347 0-1.84387-.5092-.50917-1.3348-.50917-1.8439 0l-5.7742 5.77419-5.77426-5.77422c-.50917-.50917-1.33469-.50917-1.84387 0-.50916.50917-.50916 1.3347 0 1.84386l5.77423 5.77426-5.77421 5.7742c-.50918.5092-.50918 1.3347 0 1.8439.50916.5092 1.33469.5092 1.84385 0l5.77426-5.7742z",
1421
- fill: "currentColor"
1422
- })
1423
- });
1424
- //#endregion
1425
- //#region src/components/Icon/icons/CollectVideoIcon.tsx
1426
- const CollectVideoIcon = (props) => /* @__PURE__ */ jsx("svg", {
1427
- ...props,
1428
- children: /* @__PURE__ */ jsx("path", {
1429
- clipRule: "evenodd",
1430
- d: "M12 6.85714H3V4.92857C3 3.864 3.864 3 4.92857 3H8.74072C9.17014 3 9.57257 3.21471 9.81043 3.57214L12 6.85714ZM3 6.85718H19.0714C20.136 6.85718 21 7.72118 21 8.78575V13.1438C20.9149 13.1202 20.8253 13.1077 20.7328 13.1077H13.3066L14.7071 11.7071C15.0976 11.3166 15.0976 10.6834 14.7071 10.2929C14.3166 9.90237 13.6834 9.90237 13.2929 10.2929L10.2929 13.2929C10.1054 13.4804 10 13.7348 10 14C10 14.2652 10.1054 14.5196 10.2929 14.7071L13.2929 17.7071C13.6834 18.0976 14.3166 18.0976 14.7071 17.7071C15.0976 17.3166 15.0976 16.6834 14.7071 16.2929L13.5219 15.1077H20.7328C20.8253 15.1077 20.9149 15.0951 21 15.0716V17.1429C21 19.272 19.272 21 17.1429 21H6.85714C4.728 21 3 19.272 3 17.1429V6.85718Z",
1431
- fill: "currentColor",
1432
- fillRule: "evenodd"
1433
- })
1434
- });
1435
- //#endregion
1436
- //#region src/components/Icon/icons/CommentIcon.tsx
1437
- const CommentIcon = (props) => /* @__PURE__ */ jsx("svg", {
1438
- ...props,
1439
- children: /* @__PURE__ */ jsx("path", {
1440
- clipRule: "evenodd",
1441
- d: "M2.0994 10.6931C2.04002 8.22692 1.96942 5.29509 2.11584 4.25593C2.13365 4.13216 2.14292 4.01528 2.1517 3.90469C2.21613 3.09248 2.25369 2.61894 5.44865 2.23843C9.48199 1.75807 17.1241 1.99825 20.9452 3.007C21.7385 3.21574 21.7461 3.55147 21.7624 4.26645C21.7648 4.37414 21.7675 4.49044 21.773 4.6162C21.8367 5.57691 22.0066 10.2604 21.9641 11.7255C21.9538 12.0123 21.9535 12.4616 21.9532 13.001V13.001C21.9522 14.6749 21.9507 17.2153 21.6457 18.4505C21.4546 19.2671 20.0748 19.2911 18.9073 19.171C18.4972 19.1289 17.0813 19.0734 15.3164 19.0193C14.4586 19.7428 13.2551 20.8268 12.6703 21.669C12.4667 21.9623 12.1951 22 11.9708 22C11.7566 22 11.6986 21.9343 11.3756 21.5684L11.3281 21.5147C10.6506 20.7484 9.58149 19.5267 9.00085 18.8624C7.74516 18.8383 6.69432 18.8234 6.10233 18.8234C3.78846 18.8234 2.85054 18.5199 2.51089 18.1837C2.02619 17.7038 2.08219 16.014 2.13647 14.3759L2.14543 14.1031C2.16606 13.462 2.13471 12.1599 2.0994 10.6931ZM4.33635 7.16713C4.33635 7.16713 3.83065 8.24157 4.01326 8.52809C4.14949 8.74182 8.25659 8.84926 10.9526 8.91979L10.9527 8.91979C11.8709 8.94381 12.6253 8.96354 13.0036 8.98174C14.1695 9.05337 17.7376 8.83848 19.2126 8.74298C19.24 8.74161 19.2672 8.74047 19.2943 8.73935C19.7381 8.72089 20.1152 8.7052 19.943 7.69241C19.9149 7.5014 19.8166 7.38202 19.634 7.38202C19.044 7.38202 9.89913 7.38202 7.90439 7.191L7.64546 7.16615C5.81529 6.99024 4.8063 6.89326 4.33635 7.16713ZM19.8977 11.4732C20.0908 11.7527 19.6254 12.8452 19.6254 12.8452C19.166 13.1363 18.1541 13.0769 16.3186 12.9692C16.2338 12.9642 16.1473 12.9591 16.059 12.9539C14.0586 12.8372 4.92114 13.177 4.33049 13.199L4.33037 13.199C4.14788 13.2058 4.04518 13.0901 4.01001 12.9003C3.80035 11.8946 4.17656 11.8649 4.61942 11.83C4.64638 11.8278 4.67359 11.8257 4.70093 11.8233C6.17134 11.673 9.72893 11.3257 10.8967 11.3539C11.2754 11.3581 12.0301 11.3498 12.9486 11.3396C15.6454 11.3099 19.7536 11.2646 19.8977 11.4732Z",
1442
- fill: "currentColor",
1443
- fillRule: "evenodd"
1444
- })
1445
- });
1446
- //#endregion
1447
- //#region src/components/Icon/icons/CommunityIcon.tsx
1448
- const CommunityIcon = (props) => /* @__PURE__ */ jsx("svg", {
1449
- ...props,
1450
- children: /* @__PURE__ */ jsx("path", {
1451
- d: "m14.8307 3.14077c.3645.16757.686.31534.9541.40981l.0186.00652c1.2355.43528 5.3747 1.89346 6.0303 4.36204.5612 2.11356-.3999 4.17296-1.3677 6.24656-.1682.3606-.3367.7217-.4975 1.0835-.0379.0854-.0756.1704-.1132.255-1.4657 3.3022-2.6018 5.8617-4.6582 6.3731-2.1092.5247-5.1606-.7312-7.71054-1.9147-.05102-.0244-.10251-.0491-.15441-.0738-1.99154-.951-4.60465-2.1987-5.20489-4.1987-.61588-2.0523 1.14517-6.02627 2.25161-7.92519.20562-.35289.40011-.72469.59807-1.10314.86724-1.65795 1.80113-3.44328 4.02973-4.32392 2.19233-.86633 4.35703.12865 5.82403.80292zm-2.2269 2.13686c-.5027-.24679-1.1143-.04716-1.366.44591l-.6538 1.281-1.30983-.64294c-.50277-.24679-1.11436-.04714-1.36603.44591-.25167.49306-.04812 1.09282.45465 1.33961l1.3098.64293-1.50554 2.94955-1.44199-.7078c-.50276-.2468-1.11435-.0471-1.36602.4459-.25167.4931-.04812 1.0928.45465 1.3396l1.44198.7078-.77998 1.5281c-.25167.4931-.04812 1.0929.45464 1.3396.50277.2468 1.11436.0472 1.36603-.4459l.77999-1.5281 2.98935 1.4674-.7622 1.4931c-.2517.4931-.0481 1.0929.4547 1.3397.5027.2467 1.1143.0471 1.366-.446l.7622-1.4931 1.4413.7075c.5028.2468 1.1144.0471 1.366-.446.2517-.4929.0482-1.0928-.4546-1.3396l-1.4414-.7074 1.5055-2.9496 1.5735.7724c.5028.2468 1.1144.0472 1.3661-.4459.2516-.4931.0481-1.0928-.4546-1.3396l-1.5736-.7724.6717-1.31597c.2518-.49306.0482-1.09282-.4546-1.33961-.5027-.24679-1.1143-.04715-1.366.4459l-.6718 1.31598-2.9892-1.46736.6538-1.281c.2517-.49306.0481-1.09283-.4547-1.33961zm1.8788 5.87347-1.5055 2.9496-2.98937-1.4674 1.50557-2.94954z",
1452
- fill: "currentColor"
1453
- })
1454
- });
1455
- //#endregion
1456
- //#region src/components/Icon/icons/ContactUsIcon.tsx
1457
- const ContactUsIcon = (props) => /* @__PURE__ */ jsx("svg", {
1458
- ...props,
1459
- children: /* @__PURE__ */ jsx("path", {
1460
- d: "m2 7.13053c1.02794.75462 2.30848 1.82137 3.61006 2.90567 0 0 5.06424 3.9629 5.81564 3.9629 1.8549 0 3.7992-1.8146 5.1678-2.8746 1.3176-1.0205 2.7467-2.21282 4.0625-3.31055.1651-.13774.3285-.27408.4895-.40831-.0011.22999.0035.44719.0315.64131.3947 2.63975.4326 8.17435 0 11.09695-.3145.4144-.8493.9882-3.0513.8288s-11.82778-.2869-12.92877-.2231c-1.101.0637-2.39073-.0638-2.61093-1.1158-.40264-1.7682-.5511-8.74247-.586-11.50327zm16.4311-2.99936c1.2812.09529 1.9619.48357 2.322 1.00077-.4574.37757-.9338.77506-1.4207 1.18138-1.2989 1.0838-2.6732 2.23056-3.9636 3.22999-.9655.74789-1.8517 1.38729-2.5896 1.83539-.3691.2242-.6815.3884-.9342.4939-.2367.0989-.3632.1358-.5917.0084-.2306-.1286-.5322-.3283-.8998-.5958-.73248-.5331-1.63926-1.2708-2.61739-2.08202-.26991-.22385-.54604-.45404-.8253-.68686-.21657-.18055-.43504-.36268-.65398-.54466l-.65679-.54374c-1.20143-.98965-2.37365-1.92213-3.27827-2.50838.22838-.42619.59195-.78832 1.14091-.78831 1.57531.00002 3.21902-.03191 4.885-.06428 3.39902-.06604 6.89072-.13388 10.08342.06422z",
1461
- fill: "currentColor"
1462
- })
1463
- });
1464
- //#endregion
1465
- //#region src/components/Icon/icons/CopyDisabledIcon.tsx
1466
- const CopyDisabledIcon = (props) => /* @__PURE__ */ jsx("svg", {
1467
- ...props,
1468
- children: /* @__PURE__ */ jsx("path", {
1469
- d: "m23.7071 1.70711c.3905-.39053.3905-1.023692 0-1.414217-.3905-.3905241-1.0237-.3905241-1.4142 0l-22.000007 22.000007c-.3905238.3905-.3905242 1.0237 0 1.4142.390524.3905 1.023687.3905 1.414217 0zm-5.0845.29289c.1737 0 .3443.01298.5109.03803l-3.3066 3.30661h-8.21351c-.93263 0-1.68869-.74873-1.68869-1.67232 0-.92361.75606-1.67232 1.68869-1.67232zm-14.9339 4.94911h10.5338l-12.2225 12.22249v-10.55017c0-.92359.75605-1.67232 1.6887-1.67232zm13.5095 2.68113-12.36977 12.36976h10.68107c.9327 0 1.6887-.7487 1.6887-1.6723zm4.7671-4.76707-3.3427 3.34265v8.10658c0 .9235.756 1.6724 1.6887 1.6724s1.6887-.7489 1.6887-1.6724v-10.96776c0-.1635-.0118-.32425-.0347-.48147z",
1470
- fill: "currentColor"
1471
- })
1472
- });
1473
- //#endregion
1474
- //#region src/components/Icon/icons/CopyIcon.tsx
1475
- const CopyIcon = (props) => /* @__PURE__ */ jsx("svg", {
1476
- ...props,
1477
- children: /* @__PURE__ */ jsx("path", {
1478
- d: "m18.6226 16.3124c0 .9235.756 1.6724 1.6887 1.6724s1.6887-.7489 1.6887-1.6724v-10.96776c0-1.8472-1.5122-3.34464-3.3774-3.34464h-11.00921c-.93263 0-1.68869.74871-1.68869 1.67232 0 .92359.75606 1.67232 1.68869 1.67232h11.00921zm-3.1131 5.6876c.9327 0 1.6887-.7487 1.6887-1.6723v-11.70627c0-.92359-.756-1.67232-1.6887-1.67232h-11.8208c-.93265 0-1.6887.74873-1.6887 1.67232v11.70627c0 .9236.75605 1.6723 1.6887 1.6723z",
1479
- fill: "currentColor"
1480
- })
1481
- });
1482
- //#endregion
1483
- //#region src/components/Icon/icons/CreateIcon.tsx
1484
- const CreateIcon = (props) => /* @__PURE__ */ jsx("svg", {
1485
- ...props,
1486
- children: /* @__PURE__ */ jsx("path", {
1487
- d: "m10.3966 3.60341c0-.88553.7179-1.60341 1.6034-1.60341s1.6034.71788 1.6034 1.60341v6.79319h6.7932c.8856 0 1.6034.7179 1.6034 1.6034 0 .8856-.7178 1.6034-1.6034 1.6034h-6.7932v6.7932c0 .8856-.7179 1.6034-1.6034 1.6034s-1.6034-.7178-1.6034-1.6034v-6.7932h-6.7932c-.88554 0-1.6034-.7178-1.6034-1.6034 0-.8855.71786-1.6034 1.6034-1.6034h6.7932z",
1488
- fill: "currentColor"
1489
- })
1490
- });
1491
- //#endregion
1492
- //#region src/components/Icon/icons/DeleteIcon.tsx
1493
- const DeleteIcon = (props) => /* @__PURE__ */ jsx("svg", {
1494
- ...props,
1495
- children: /* @__PURE__ */ jsx("path", {
1496
- d: "m14.904 2.36857c.6808.18014 1.0637 1.89327 1.3326 3.11843 1.0626.02303 2.1802.06975 3.3652.15126.5509.0379.9669.51528.929 1.06626-.0379.55099-.5153.96692-1.0663.92902-3.2573-.22405-5.9961-.17824-8.5308-.1036-.3474.01023-.6918.02104-1.03385.03178-2.1416.06726-4.18778.13153-6.28166.02989-.55163-.02678-.97711-.49568-.95034-1.04731.02678-.55164.49568-.97712 1.04731-.95034 1.04212.05058 2.0709.0584 3.11959.04482.08961-.94493.83902-2.66045 1.49748-3.27021.72917-.67525 5.56337-.2668 6.57177 0zm-8.53971 18.93913c-.38411-1.7907-1.43613-8.7724-1.60784-10.1112-.01239-.0967-.02523-.1887-.03746-.2764-.1573-1.12763-.21516-1.5424 2.05023-1.84784 2.71293-.36579 9.32588-.45722 11.89608.31093.5336.15895.5387.4146.5496.95901.0017.082.0035.1706.0072.2664 0 2.8358-.6932 5.8331-1.3554 8.6963-.1564.6763-.3112 1.3453-.4546 2.0028-.1285.6219-1.0566.6401-1.842.5487-.7853-.0915-5.4362-.2926-6.99265-.2926-1.55635 0-1.98471 0-2.21316-.2561zm8.97891-9.2246c-.0298-.5515-.501-.9744-1.0525-.9446s-.9744.501-.9446 1.0525c.0309.5711-.027 1.5863-.123 2.7715-.0544.6721-.1166 1.3496-.1763 2.0013-.0459.5008-.0905.9868-.1291 1.4427-.0465.5504.3619 1.0342.9122 1.0807.5503.0466 1.0342-.3618 1.0807-.9122.0351-.4152.0789-.8939.1249-1.3962l.0002-.0017.0001-.0015c.0616-.6734.1271-1.3892.1808-2.0516.094-1.1611.166-2.312.1266-3.0409zm-5.56465 7.4093c.55025.0479 1.03505-.3594 1.08295-.9096.0632-.7272.0291-1.8798-.0269-3.0434-.0319-.6643-.0739-1.3823-.1135-2.0578-.0295-.504-.0576-.985-.0791-1.4014-.0285-.5516-.4987-.9756-1.05025-.9472-.55156.0285-.97562.4987-.94716 1.0502.02358.4571.05217.944.08167 1.4462.03835.653.07827 1.3328.11063 2.006.0571 1.1878.08163 2.2042.03206 2.7741-.04786.5502.3594 1.035.9096 1.0829z",
1497
- fill: "currentColor"
1498
- })
1499
- });
1500
- //#endregion
1501
- //#region src/components/Icon/icons/DeleteSmIcon.tsx
1502
- const DeleteSmIcon = (props) => /* @__PURE__ */ jsx("svg", {
1503
- ...props,
1504
- children: /* @__PURE__ */ jsxs("g", {
1505
- fill: "currentColor",
1506
- children: [/* @__PURE__ */ jsx("path", { d: "m9.05042 2c-.64391 0-1.23256.35667-1.52052.92132l-1.23015 2.41201h-1.59974c-.9389 0-1.70001.74619-1.70001 1.66667 0 .92047.76111 1.66667 1.70001 1.66667h14.59999c.9389 0 1.7-.7462 1.7-1.66667 0-.92048-.7611-1.66667-1.7-1.66667h-1.8003l-1.2301-2.41201c-.288-.56465-.8765-.92132-1.5205-.92132z" }), /* @__PURE__ */ jsx("path", { d: "m6.63212 10c-.9389 0-1.63212.7462-1.63212 1.6667v8.8333c0 .9205.36086 1.5 1.29975 1.5h11.19995c.9389 0 1.5003-.5795 1.5003-1.5l-.1-8.8333c0-.9205-.4611-1.6667-1.4-1.6667z" })]
1507
- })
1508
- });
1509
- //#endregion
1510
- //#region src/components/Icon/icons/DottieClockIcon.tsx
1511
- const DottieClockIcon = (props) => /* @__PURE__ */ jsx("svg", {
1512
- ...props,
1513
- children: /* @__PURE__ */ jsx("path", {
1514
- clipRule: "evenodd",
1515
- d: "M10 18.8889C9.54004 18.8889 9.16671 18.5155 9.16671 18.0555C9.16671 17.5955 9.54004 17.2222 10 17.2222C13.9823 17.2222 17.2223 13.9822 17.2223 9.99997C17.2223 6.01775 13.9823 2.77775 10 2.77775C9.54004 2.77775 9.16671 2.40442 9.16671 1.94442C9.16671 1.48442 9.54004 1.11108 10 1.11108C14.9012 1.11108 18.8889 5.09886 18.8889 9.99997C18.8889 14.9011 14.9012 18.8889 10 18.8889ZM13.61 13.3333C13.4478 13.3333 13.2812 13.2855 13.1367 13.1855L9.5256 10.6855C9.30115 10.53 9.16671 10.2733 9.16671 9.99997V5.27775C9.16671 4.81775 9.54004 4.44442 10 4.44442C10.46 4.44442 10.8334 4.81775 10.8334 5.27775V9.56331L14.0856 11.8144C14.4645 12.0766 14.5589 12.5955 14.2956 12.9733C14.1334 13.2066 13.8745 13.3322 13.61 13.3322V13.3333ZM5.13676 15.6966C5.13676 16.1568 4.76366 16.5299 4.30343 16.5299C3.84319 16.5299 3.47009 16.1568 3.47009 15.6966C3.47009 15.2363 3.84319 14.8632 4.30343 14.8632C4.76366 14.8632 5.13676 15.2363 5.13676 15.6966ZM1.94442 10.8333C2.40465 10.8333 2.77775 10.4602 2.77775 9.99994C2.77775 9.5397 2.40465 9.16661 1.94442 9.16661C1.48418 9.16661 1.11108 9.5397 1.11108 9.99994C1.11108 10.4602 1.48418 10.8333 1.94442 10.8333ZM5.13676 4.30332C5.13676 4.76356 4.76366 5.13666 4.30343 5.13666C3.84319 5.13666 3.47009 4.76356 3.47009 4.30332C3.47009 3.84309 3.84319 3.46999 4.30343 3.46999C4.76366 3.46999 5.13676 3.84309 5.13676 4.30332ZM6.91777 18.2755C7.378 18.2755 7.7511 17.9024 7.7511 17.4422C7.7511 16.9819 7.378 16.6088 6.91777 16.6088C6.45753 16.6088 6.08443 16.9819 6.08443 17.4422C6.08443 17.9024 6.45753 18.2755 6.91777 18.2755ZM3.39115 13.0822C3.39115 13.5425 3.01806 13.9155 2.55782 13.9155C2.09758 13.9155 1.72449 13.5425 1.72449 13.0822C1.72449 12.622 2.09758 12.2489 2.55782 12.2489C3.01806 12.2489 3.39115 12.622 3.39115 13.0822ZM2.55782 7.751C3.01806 7.751 3.39115 7.3779 3.39115 6.91766C3.39115 6.45743 3.01806 6.08433 2.55782 6.08433C2.09758 6.08433 1.72449 6.45743 1.72449 6.91766C1.72449 7.3779 2.09758 7.751 2.55782 7.751ZM7.7511 2.55772C7.7511 3.01796 7.378 3.39105 6.91777 3.39105C6.45753 3.39105 6.08443 3.01796 6.08443 2.55772C6.08443 2.09748 6.45753 1.72439 6.91777 1.72439C7.378 1.72439 7.7511 2.09748 7.7511 2.55772Z",
1516
- fill: "currentColor",
1517
- fillRule: "evenodd"
1518
- })
1519
- });
1520
- //#endregion
1521
- //#region src/components/Icon/icons/DownloadIcon.tsx
1522
- const DownloadIcon = (props) => /* @__PURE__ */ jsx("svg", {
1523
- ...props,
1524
- children: /* @__PURE__ */ jsx("path", {
1525
- d: "m8.60831 3.62342c0-.89747.72755-1.625 1.62499-1.625h3.25c.8974 0 1.6249.72753 1.6249 1.625l-.0733 5.37819h2.169c1.5012 0 2.1996 1.86149 1.0688 2.84899l-5.4188 4.7324c-.6123.5347-1.5256.5347-2.1378 0l-5.41894-4.7324c-1.13072-.9875-.43233-2.84899 1.06891-2.84899h2.16889zm-4.94834 15.12818c-.89747 0-1.625.7275-1.625 1.625s.72753 1.625 1.625 1.625h16.68003c.8975 0 1.625-.7275 1.625-1.625s-.7275-1.625-1.625-1.625z",
1526
- fill: "currentColor"
1527
- })
1528
- });
1529
- //#endregion
1530
- //#region src/components/Icon/icons/DraggableIcon.tsx
1531
- const DraggableIcon = (props) => /* @__PURE__ */ jsx("svg", {
1532
- ...props,
1533
- children: /* @__PURE__ */ jsx("path", {
1534
- d: "m8.4 22c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656 1.035-.7344 1.695-.7344 1.225.2448 1.695.7344.705 1.0781.705 1.7656-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm7.2 0c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656 1.035-.7344 1.695-.7344 1.225.2448 1.695.7344.705 1.0781.705 1.7656-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm-7.2-7.5c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656c.47-.48961 1.035-.7344 1.695-.7344s1.225.24479 1.695.7344c.47.4896.705 1.0781.705 1.7656s-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm7.2 0c-.66 0-1.225-.2448-1.695-.7344s-.705-1.0781-.705-1.7656.235-1.276.705-1.7656c.47-.48961 1.035-.7344 1.695-.7344s1.225.24479 1.695.7344c.47.4896.705 1.0781.705 1.7656s-.235 1.276-.705 1.7656-1.035.7344-1.695.7344zm-7.2-7.5c-.66 0-1.225-.24479-1.695-.73437-.47-.48959-.705-1.07813-.705-1.76563s.235-1.27604.705-1.76562c.47-.48959 1.035-.73438 1.695-.73438s1.225.24479 1.695.73438c.47.48958.705 1.07812.705 1.76562s-.235 1.27604-.705 1.76563c-.47.48958-1.035.73437-1.695.73437zm7.2 0c-.66 0-1.225-.24479-1.695-.73437-.47-.48959-.705-1.07813-.705-1.76563s.235-1.27604.705-1.76562c.47-.48959 1.035-.73438 1.695-.73438s1.225.24479 1.695.73438c.47.48958.705 1.07812.705 1.76562s-.235 1.27604-.705 1.76563c-.47.48958-1.035.73437-1.695.73437z",
1535
- fill: "currentColor"
1536
- })
1537
- });
1538
- //#endregion
1539
- //#region src/components/Icon/icons/EllipsisIcon.tsx
1540
- const EllipsisIcon = (props) => /* @__PURE__ */ jsx("svg", {
1541
- ...props,
1542
- children: /* @__PURE__ */ jsx("path", {
1543
- d: "m6.8654 12.0577c0 1.2745-1.03319 2.3077-2.3077 2.3077s-2.3077-1.0332-2.3077-2.3077 1.03319-2.3077 2.3077-2.3077 2.3077 1.0332 2.3077 2.3077zm7.6923 0c0 1.2745-1.0331 2.3077-2.3077 2.3077-1.2745 0-2.30766-1.0332-2.30766-2.3077s1.03316-2.3077 2.30766-2.3077c1.2746 0 2.3077 1.0332 2.3077 2.3077zm5.3846 2.3077c1.2746 0 2.3077-1.0332 2.3077-2.3077s-1.0331-2.3077-2.3077-2.3077c-1.2745 0-2.3077 1.0332-2.3077 2.3077s1.0332 2.3077 2.3077 2.3077z",
1544
- fill: "currentColor"
1545
- })
1546
- });
1547
- //#endregion
1548
- //#region src/components/Icon/icons/EllipsisVerticalIcon.tsx
1549
- const EllipsisVerticalIcon = (props) => /* @__PURE__ */ jsx("svg", {
710
+ //#region src/components/Icon/icons/EllipsisVerticalIcon.tsx
711
+ const EllipsisVerticalIcon = (props) => /* @__PURE__ */ jsx("svg", {
1550
712
  ...props,
1551
713
  children: /* @__PURE__ */ jsx("path", {
1552
714
  d: "m12.25 6.67311c-1.2745 0-2.30769-1.03319-2.30769-2.30771 0-1.27451 1.03319-2.3077 2.30769-2.3077s2.3077 1.03319 2.3077 2.3077c0 1.27452-1.0332 2.30771-2.3077 2.30771zm0 7.69229c-1.2745 0-2.30769-1.0331-2.30769-2.3077 0-1.2745 1.03319-2.30766 2.30769-2.30766s2.3077 1.03316 2.3077 2.30766c0 1.2746-1.0332 2.3077-2.3077 2.3077zm-2.30769 5.3846c0 1.2746 1.03319 2.3077 2.30769 2.3077s2.3077-1.0331 2.3077-2.3077c0-1.2745-1.0332-2.3077-2.3077-2.3077s-2.30769 1.0332-2.30769 2.3077z",
@@ -3398,522 +2560,90 @@ const GlobalStyle$1 = createGlobalStyle`
3398
2560
  ========================================================================== */
3399
2561
 
3400
2562
  /*
3401
- * Add the correct display in Edge, IE 10+, and Firefox.
3402
- */
3403
-
3404
- details {
3405
- display: block;
3406
- }
3407
-
3408
- /*
3409
- * Add the correct display in all browsers.
3410
- */
3411
-
3412
- summary {
3413
- display: list-item;
3414
- }
3415
-
3416
- /* Misc
3417
- ========================================================================== */
3418
-
3419
- /**
3420
- * Add the correct display in IE 10+.
3421
- */
3422
-
3423
- template {
3424
- display: none;
3425
- }
3426
-
3427
- /**
3428
- * Add the correct display in IE 10.
3429
- */
3430
-
3431
- [hidden] {
3432
- display: none;
3433
- }
3434
- `}
3435
- ${css`
3436
- /**
3437
- * 1. Change from 'content-box' so that 'width' calculations are unaffected by 'padding' or 'border'
3438
- * 2. Ensure the iOS tap highlight is transparent
3439
- */
3440
- html {
3441
- box-sizing: border-box; /* 1 */
3442
- -webkit-tap-highlight-color: rgb(0 0 0 / 0%); /* 2 */
3443
- }
3444
-
3445
- /**
3446
- * 1. See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
3447
- */
3448
- *,
3449
- *::before,
3450
- *::after {
3451
- box-sizing: inherit; /* 1 */
3452
- }
3453
-
3454
- /**
3455
- * 1. Without this fonts are too heavy weight in OS X Firefox
3456
- * 2. Design decision
3457
- * 3. Preferable for the body to fill viewport, even when empty
3458
- */
3459
- body {
3460
- -moz-osx-font-smoothing: grayscale; /* 1 */
3461
- -webkit-font-smoothing: antialiased; /* 2 */
3462
- color: ${({ theme }) => theme.color.grey900};
3463
- font-family: ${({ theme }) => theme.font.family.default};
3464
- font-size: ${({ theme }) => theme.font.size.default};
3465
- font-weight: ${({ theme }) => theme.font.weight.regular};
3466
- line-height: 1.5;
3467
- min-height: 100vh; /* 3 */
3468
- }
3469
- `}
3470
- `;
3471
- //#endregion
3472
- //#region src/providers/VHSProvider.tsx
3473
- const VHSProvider = ({ children, theme = {}, globalStylesIncluded = true, skipAnimations = false, Link }) => {
3474
- return /* @__PURE__ */ jsxs(VHSThemeProvider, {
3475
- theme,
3476
- children: [globalStylesIncluded ? /* @__PURE__ */ jsx(GlobalStyle$1, {}) : null, /* @__PURE__ */ jsx(LiveAnnouncer, { children: /* @__PURE__ */ jsx(MotionConfig, {
3477
- reducedMotion: skipAnimations ? "always" : "user",
3478
- children: /* @__PURE__ */ jsx(WrapperProvider, {
3479
- value: { Link },
3480
- children: /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(ToastProvider, { children }) })
3481
- })
3482
- }) })]
3483
- });
3484
- };
3485
- //#endregion
3486
- //#region src/hooks/useBoolean/useBoolean.ts
3487
- const useBoolean = (initialValue = false) => {
3488
- const [value, setValue] = useState(initialValue);
3489
- return [
3490
- value,
3491
- useCallback(() => setValue((val) => !val), []),
3492
- useCallback(() => setValue(true), []),
3493
- useCallback(() => setValue(false), []),
3494
- setValue
3495
- ];
3496
- };
3497
- //#endregion
3498
- //#region src/private/hooks/useTimedToggle/useTimedToggle.ts
3499
- const useTimedToggle = (initialValue) => {
3500
- const [value, setValue] = useState(false);
3501
- const timeoutRef = useRef(void 0);
3502
- const initialValueRef = useRef(initialValue);
3503
- const toggleValue = (timeout) => {
3504
- clearTimeout(timeoutRef.current);
3505
- setValue(!initialValueRef.current);
3506
- timeoutRef.current = window.setTimeout(() => setValue(initialValueRef.current), timeout);
3507
- };
3508
- useEffect(() => () => clearTimeout(timeoutRef.current), []);
3509
- return [value, toggleValue];
3510
- };
3511
- //#endregion
3512
- //#region src/hooks/useClipboard/useClipboard.ts
3513
- const useClipboard = (textToCopy, timeout = 1500) => {
3514
- const [hasCopied, toggleHasCopied] = useTimedToggle(false);
3515
- const [failedToCopy, toggleFailedToCopy] = useTimedToggle(false);
3516
- return [
3517
- useCallback(async () => {
3518
- try {
3519
- await copyToClipboard(textToCopy);
3520
- if (timeout && timeout > 0) toggleHasCopied(timeout);
3521
- } catch (error) {
3522
- if (error instanceof Error) toggleFailedToCopy(timeout);
3523
- }
3524
- }, [
3525
- textToCopy,
3526
- timeout,
3527
- toggleHasCopied,
3528
- toggleFailedToCopy
3529
- ]),
3530
- hasCopied,
3531
- failedToCopy
3532
- ];
3533
- };
3534
- //#endregion
3535
- //#region src/hooks/useElementObserver/useElementObserver.ts
3536
- const initialRect = {
3537
- width: 0,
3538
- height: 0,
3539
- top: 0,
3540
- left: 0,
3541
- bottom: 0,
3542
- right: 0,
3543
- x: 0,
3544
- y: 0
3545
- };
3546
- const useElementObserver = () => {
3547
- const ref = useRef(null);
3548
- const [rect, setRect] = useState(initialRect);
3549
- useLayoutEffect(() => {
3550
- if (!ref.current) return;
3551
- const observer = new window.ResizeObserver((entries) => {
3552
- if (entries[0]) {
3553
- const { width, height, top, left, bottom, right, x, y } = entries[0].contentRect;
3554
- setRect({
3555
- width,
3556
- height,
3557
- top,
3558
- left,
3559
- bottom,
3560
- right,
3561
- x,
3562
- y
3563
- });
3564
- }
3565
- });
3566
- observer.observe(ref.current);
3567
- return () => {
3568
- observer.disconnect();
3569
- };
3570
- }, []);
3571
- return [ref, rect];
3572
- };
3573
- //#endregion
3574
- //#region src/hooks/useEvent/useEvent.ts
3575
- const isEventTargetSupported = (eventTarget) => Boolean(typeof eventTarget === "object" && eventTarget?.addEventListener);
3576
- const useEvent = (eventName, eventHandler, eventTarget = window, eventOptions = {}) => {
3577
- const savedEventHandler = useRef(void 0);
3578
- const savedEventOptions = useRef(void 0);
3579
- useEffect(() => {
3580
- savedEventHandler.current = eventHandler;
3581
- }, [eventHandler]);
3582
- useEffect(() => {
3583
- savedEventOptions.current = eventOptions;
3584
- }, [eventOptions]);
3585
- useEffect(() => {
3586
- if (!eventName || !isEventTargetSupported(eventTarget)) return;
3587
- const eventListener = (event) => {
3588
- if (savedEventHandler.current !== void 0) return savedEventHandler.current(event);
3589
- return () => {};
3590
- };
3591
- eventTarget.addEventListener(eventName, eventListener, savedEventOptions.current);
3592
- return () => {
3593
- eventTarget.removeEventListener(eventName, eventListener, savedEventOptions.current);
3594
- };
3595
- }, [
3596
- eventName,
3597
- eventTarget,
3598
- savedEventOptions
3599
- ]);
3600
- };
3601
- //#endregion
3602
- //#region src/hooks/useFocusTrap/helpers.ts
3603
- const FOCUSABLE_ELEMENT_SELECTORS = "a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, [tabindex=\"0\"], [contenteditable]";
3604
- const isHiddenElement = (element) => {
3605
- const { display, visibility } = window.getComputedStyle(element);
3606
- const isHidden = display === "none" || element.style.display === "none" || visibility === "none" || element.style.visibility === "hidden";
3607
- return element.offsetWidth <= 0 && element.offsetHeight <= 0 || isHidden;
3608
- };
3609
- const isVisibleElement = (element) => {
3610
- let parentElement = element;
3611
- while (parentElement) {
3612
- if (parentElement === document.body) break;
3613
- if (isHiddenElement(parentElement)) return false;
3614
- parentElement = parentElement.parentNode;
3615
- }
3616
- return true;
3617
- };
3618
- const getElementTabIndex = (element) => {
3619
- const tabIndex = element.getAttribute("tabindex");
3620
- return Number.parseInt(tabIndex ?? void 0, 10);
3621
- };
3622
- const isTabIndexNaN = (element) => {
3623
- const tabIndex = getElementTabIndex(element);
3624
- return Number.isNaN(tabIndex);
3625
- };
3626
- const isFocusableElement = (element) => {
3627
- const tabbableNodeRegEx = /input|select|textarea|button|object/;
3628
- const nodeName = element.nodeName.toLowerCase();
3629
- const isTabIndexNotNaN = !isTabIndexNaN(element);
3630
- const isFocusable = tabbableNodeRegEx.test(nodeName) && !element.disabled || (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);
3631
- return Boolean(isFocusable) && isVisibleElement(element);
3632
- };
3633
- const isTabbableElement = (element) => {
3634
- const tabIndex = getElementTabIndex(element);
3635
- return (isTabIndexNaN(element) || tabIndex >= 0) && isFocusableElement(element);
3636
- };
3637
- const findTabbableDescendants = (element) => Array.from(element.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS)).filter(isTabbableElement);
3638
- const focusLaterElements = [];
3639
- let focusElement = null;
3640
- let needToFocus = false;
3641
- const handleBlur = () => {
3642
- needToFocus = true;
3643
- };
3644
- const handleFocus = () => {
3645
- if (needToFocus) {
3646
- needToFocus = false;
3647
- if (!focusElement) return;
3648
- if (focusElement.contains(document.activeElement)) return;
3649
- (findTabbableDescendants(focusElement)[0] ?? focusElement).focus();
3650
- }
3651
- };
3652
- const markForFocusLater = () => {
3653
- const element = document.activeElement;
3654
- if (element !== null) focusLaterElements.push(element);
3655
- };
3656
- const returnFocus = () => {
3657
- let toFocus = null;
3658
- try {
3659
- toFocus = focusLaterElements.pop();
3660
- if (toFocus) toFocus.focus();
3661
- } catch {
3662
- console.warn(`You tried to return focus to ${coerceToString(toFocus)} but it is not in the DOM anymore`);
3663
- }
3664
- };
3665
- const setupScopedFocus = (element) => {
3666
- focusElement = element;
3667
- document.addEventListener("focusout", handleBlur, false);
3668
- document.addEventListener("focusin", handleFocus, true);
3669
- };
3670
- const teardownScopedFocus = () => {
3671
- focusElement = null;
3672
- document.removeEventListener("focusout", handleBlur);
3673
- document.removeEventListener("focusin", handleFocus);
3674
- };
3675
- const scopeTab = (node, event) => {
3676
- const tabbable = findTabbableDescendants(node);
3677
- if (!tabbable.length) {
3678
- event.preventDefault();
3679
- return;
3680
- }
3681
- if (!(tabbable[event.shiftKey ? 0 : tabbable.length - 1] === document.activeElement || node === document.activeElement)) return;
3682
- event.preventDefault();
3683
- const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];
3684
- if (target) target.focus();
3685
- };
3686
- const createAriaHider = (containerNode, selector) => {
3687
- selector ??= "body > :not(script)";
3688
- const rootNodes = Array.from(document.querySelectorAll(selector)).map((node) => {
3689
- if (node.contains(containerNode)) return;
3690
- const ariaHidden = node.getAttribute("aria-hidden");
3691
- if (ariaHidden === null || ariaHidden === "false") node.setAttribute("aria-hidden", "true");
3692
- return {
3693
- node,
3694
- ariaHidden
3695
- };
3696
- });
3697
- return () => {
3698
- rootNodes.forEach((item) => {
3699
- if (!item) return;
3700
- if (item.ariaHidden === null) item.node.removeAttribute("aria-hidden");
3701
- else item.node.setAttribute("aria-hidden", item.ariaHidden);
3702
- });
3703
- };
3704
- };
3705
- //#endregion
3706
- //#region src/hooks/useFocusTrap/useFocusTrap.ts
3707
- const isRef = (val) => {
3708
- return val !== null && typeof val === "object" && "current" in val;
3709
- };
3710
- const useFocusTrap = (active = true, options = {}) => {
3711
- const ref = useRef(null);
3712
- const restoreAriaRef = useRef(null);
3713
- const setRef = useCallback((node) => {
3714
- if (restoreAriaRef.current !== null) restoreAriaRef.current();
3715
- if (ref.current) {
3716
- returnFocus();
3717
- teardownScopedFocus();
3718
- }
3719
- if (active && node !== null && node !== void 0) {
3720
- setupScopedFocus(node);
3721
- markForFocusLater();
3722
- const processNode = (node2) => {
3723
- restoreAriaRef.current = !(options.disableAriaHider ?? false) ? createAriaHider(node2) : null;
3724
- let focusElement = null;
3725
- if (isNotUndefined(options.focusSelector)) if (isRef(options.focusSelector)) focusElement = options.focusSelector.current;
3726
- else focusElement = typeof options.focusSelector === "string" ? node2.querySelector(options.focusSelector) : options.focusSelector;
3727
- if (!focusElement) {
3728
- const children = Array.from(node2.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS));
3729
- focusElement = children.find(isTabbableElement) ?? children.find(isFocusableElement) ?? null;
3730
- if (!focusElement && isFocusableElement(node2)) focusElement = node2;
3731
- }
3732
- if (focusElement) focusElement.focus();
3733
- if (!focusElement) console.warn("[useFocusTrap]: Failed to find a focusable element after activating the focus trap. Make sure to include at an element that can recieve focus. As a fallback, you can also set \"tabIndex={-1}\" on the focus trap node.", node2);
3734
- };
3735
- setTimeout(() => {
3736
- if (node.ownerDocument) processNode(node);
3737
- if (!node.ownerDocument) console.warn("[useFocusTrap]: The focus trap is not part of the DOM yet, so it is unable to correctly set focus. Make sure to render the ref node.", node);
3738
- });
3739
- ref.current = node;
3740
- } else ref.current = null;
3741
- }, [
3742
- active,
3743
- options.focusSelector,
3744
- options.disableAriaHider
3745
- ]);
3746
- useEffect(() => {
3747
- if (!active) return;
3748
- const handleKeyDown = (event) => {
3749
- if (event.key === "Tab" && ref.current) scopeTab(ref.current, event);
3750
- };
3751
- document.addEventListener("keydown", handleKeyDown);
3752
- return () => {
3753
- document.removeEventListener("keydown", handleKeyDown);
3754
- };
3755
- }, [active]);
3756
- return setRef;
3757
- };
3758
- //#endregion
3759
- //#region src/hooks/useForceUpdate/useForceUpdate.ts
3760
- const useForceUpdate = () => {
3761
- const [, dispatch] = useState(Object.create(null));
3762
- return useCallback(() => {
3763
- dispatch(Object.create(null));
3764
- }, [dispatch]);
3765
- };
3766
- //#endregion
3767
- //#region src/hooks/useIsHovered/useIsHovered.ts
3768
- const useIsHovered = () => {
3769
- const [isHovered, setIsHovered] = useState(false);
3770
- const onFocus = () => setIsHovered(true);
3771
- const onMouseEnter = () => setIsHovered(true);
3772
- const onMouseMove = () => setIsHovered(true);
3773
- const onBlur = () => setIsHovered(false);
3774
- const onMouseLeave = () => setIsHovered(false);
3775
- const hoverProps = {
3776
- onFocus,
3777
- onMouseEnter,
3778
- onBlur,
3779
- onMouseLeave
3780
- };
3781
- if (!isHovered) hoverProps.onMouseMove = onMouseMove;
3782
- return [
3783
- isHovered,
3784
- hoverProps,
3785
- setIsHovered
3786
- ];
3787
- };
3788
- //#endregion
3789
- //#region src/hooks/useKey/useKey.ts
3790
- const createKeyPredicate = (keyFilter) => {
3791
- if (typeof keyFilter === "function") return keyFilter;
3792
- if (typeof keyFilter === "string") return (event) => event.key === keyFilter;
3793
- if (keyFilter !== null && keyFilter !== void 0 && keyFilter) return () => true;
3794
- return () => false;
3795
- };
3796
- const useKey = (key, eventHandler, options = {}, dependencies = [key]) => {
3797
- const { eventName = "keydown", eventTarget, eventOptions } = options;
3798
- useEvent(eventName, useMemo(() => {
3799
- const predicate = createKeyPredicate(key);
3800
- return (handlerEvent) => {
3801
- if ([
3802
- "INPUT",
3803
- "TEXTAREA",
3804
- "SELECT"
3805
- ].includes(document.activeElement?.nodeName ?? "") || document.activeElement?.isContentEditable) return;
3806
- if (predicate(handlerEvent)) return eventHandler(handlerEvent);
3807
- };
3808
- }, dependencies), eventTarget, eventOptions);
3809
- };
3810
- //#endregion
3811
- //#region src/hooks/useKeyPress/useKeyPress.ts
3812
- const useKeyPress = (keyFilter) => {
3813
- const [state, setState] = useState([false, null]);
3814
- useKey(keyFilter, (event) => setState([true, event]), { eventName: "keydown" }, [state]);
3815
- useKey(keyFilter, (event) => setState([false, event]), { eventName: "keyup" }, [state]);
3816
- return state;
3817
- };
3818
- //#endregion
3819
- //#region src/private/hooks/useUpdateEffect/useUpdateEffect.ts
3820
- const useUpdateEffect = (effect, dependencies) => {
3821
- const isInitialMount = useRef(true);
3822
- useEffect(() => {
3823
- if (isInitialMount.current) {
3824
- isInitialMount.current = false;
3825
- return () => {};
3826
- }
3827
- return effect();
3828
- }, dependencies);
3829
- };
3830
- //#endregion
3831
- //#region src/hooks/useKeyPressOnce/useKeyPressOnce.ts
3832
- const useKeyPressOnce = (key, keydownHandler, keyupHandler) => {
3833
- const [pressed, event] = useKeyPress(key);
3834
- useUpdateEffect(() => {
3835
- if (!pressed && keyupHandler && event !== null) keyupHandler(event);
3836
- else if (pressed && keydownHandler && event !== null) keydownHandler(event);
3837
- return () => {};
3838
- }, [pressed]);
3839
- };
3840
- //#endregion
3841
- //#region src/hooks/useLocalStorage/useLocalStorage.ts
3842
- const useLocalStorage = (key, initialValue, storage = window.localStorage) => {
3843
- const [storedValue, setStoredValue] = useState(() => {
3844
- try {
3845
- const item = storage.getItem(key);
3846
- return item !== null && Boolean(item) ? JSON.parse(item) : initialValue;
3847
- } catch (error) {
3848
- console.log(error);
3849
- return initialValue;
3850
- }
3851
- });
3852
- const setValue = (value) => {
3853
- try {
3854
- const valueToStore = value instanceof Function ? value(storedValue) : value;
3855
- setStoredValue(valueToStore);
3856
- storage.setItem(key, JSON.stringify(valueToStore));
3857
- } catch (error) {
3858
- console.error(error);
3859
- }
3860
- };
3861
- const removeValue = () => {
3862
- storage.removeItem(key);
3863
- setStoredValue(void 0);
3864
- };
3865
- return [
3866
- storedValue,
3867
- setValue,
3868
- removeValue
3869
- ];
3870
- };
3871
- //#endregion
3872
- //#region src/hooks/useMergedRefs/useMergedRefs.ts
3873
- const useMergedRefs = (refs) => (element) => {
3874
- refs.forEach((ref) => {
3875
- if (typeof ref === "function") ref(element);
3876
- else if (ref != null) ref.current = element;
3877
- });
3878
- };
3879
- //#endregion
3880
- //#region src/hooks/useOnClickOutside/useOnClickOutside.ts
3881
- const useOnClickOutside = (ref, handler) => {
3882
- useEffect(() => {
3883
- const listener = (event) => {
3884
- if (!ref.current || ref.current.contains(event.target)) return;
3885
- handler(event);
3886
- };
3887
- document.addEventListener("mousedown", listener);
3888
- document.addEventListener("touchstart", listener);
3889
- return () => {
3890
- document.removeEventListener("mousedown", listener);
3891
- document.removeEventListener("touchstart", listener);
3892
- };
3893
- }, [ref, handler]);
3894
- };
3895
- //#endregion
3896
- //#region src/hooks/usePreventScroll/usePreventScroll.ts
3897
- const usePreventScroll = (locked) => {
3898
- useLayoutEffect(() => {
3899
- if (locked) {
3900
- const originalStyle = window.getComputedStyle(document.body).overflow;
3901
- document.body.style.overflow = "hidden";
3902
- return () => {
3903
- document.body.style.overflow = originalStyle;
3904
- };
3905
- }
3906
- return () => {};
3907
- }, [locked]);
3908
- };
2563
+ * Add the correct display in Edge, IE 10+, and Firefox.
2564
+ */
2565
+
2566
+ details {
2567
+ display: block;
2568
+ }
2569
+
2570
+ /*
2571
+ * Add the correct display in all browsers.
2572
+ */
2573
+
2574
+ summary {
2575
+ display: list-item;
2576
+ }
2577
+
2578
+ /* Misc
2579
+ ========================================================================== */
2580
+
2581
+ /**
2582
+ * Add the correct display in IE 10+.
2583
+ */
2584
+
2585
+ template {
2586
+ display: none;
2587
+ }
2588
+
2589
+ /**
2590
+ * Add the correct display in IE 10.
2591
+ */
2592
+
2593
+ [hidden] {
2594
+ display: none;
2595
+ }
2596
+ `}
2597
+ ${css`
2598
+ /**
2599
+ * 1. Change from 'content-box' so that 'width' calculations are unaffected by 'padding' or 'border'
2600
+ * 2. Ensure the iOS tap highlight is transparent
2601
+ */
2602
+ html {
2603
+ box-sizing: border-box; /* 1 */
2604
+ -webkit-tap-highlight-color: rgb(0 0 0 / 0%); /* 2 */
2605
+ }
2606
+
2607
+ /**
2608
+ * 1. See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
2609
+ */
2610
+ *,
2611
+ *::before,
2612
+ *::after {
2613
+ box-sizing: inherit; /* 1 */
2614
+ }
2615
+
2616
+ /**
2617
+ * 1. Without this fonts are too heavy weight in OS X Firefox
2618
+ * 2. Design decision
2619
+ * 3. Preferable for the body to fill viewport, even when empty
2620
+ */
2621
+ body {
2622
+ -moz-osx-font-smoothing: grayscale; /* 1 */
2623
+ -webkit-font-smoothing: antialiased; /* 2 */
2624
+ color: ${({ theme }) => theme.color.grey900};
2625
+ font-family: ${({ theme }) => theme.font.family.default};
2626
+ font-size: ${({ theme }) => theme.font.size.default};
2627
+ font-weight: ${({ theme }) => theme.font.weight.regular};
2628
+ line-height: 1.5;
2629
+ min-height: 100vh; /* 3 */
2630
+ }
2631
+ `}
2632
+ `;
3909
2633
  //#endregion
3910
- //#region src/hooks/usePreviousValue/usePreviousValue.ts
3911
- const usePreviousValue = (value) => {
3912
- const ref = useRef(void 0);
3913
- useEffect(() => {
3914
- ref.current = value;
2634
+ //#region src/providers/VHSProvider.tsx
2635
+ const DEFAULT_THEME = {};
2636
+ const VHSProvider = ({ children, theme = DEFAULT_THEME, globalStylesIncluded = true, skipAnimations = false, Link }) => {
2637
+ return /* @__PURE__ */ jsxs(VHSThemeProvider, {
2638
+ theme,
2639
+ children: [globalStylesIncluded ? /* @__PURE__ */ jsx(GlobalStyle$1, {}) : null, /* @__PURE__ */ jsx(LiveAnnouncer, { children: /* @__PURE__ */ jsx(MotionConfig, {
2640
+ reducedMotion: skipAnimations ? "always" : "user",
2641
+ children: /* @__PURE__ */ jsx(WrapperProvider, {
2642
+ value: { Link },
2643
+ children: /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(ToastProvider, { children }) })
2644
+ })
2645
+ }) })]
3915
2646
  });
3916
- return ref.current;
3917
2647
  };
3918
2648
  //#endregion
3919
2649
  //#region src/private/components/ModalAnimation/ModalAnimation.tsx
@@ -3930,6 +2660,15 @@ const ModalAnimation = ({ children }) => {
3930
2660
  }, child.key)) : null });
3931
2661
  };
3932
2662
  //#endregion
2663
+ //#region src/private/hooks/usePreviousValue/usePreviousValue.ts
2664
+ const usePreviousValue = (value) => {
2665
+ const ref = useRef(void 0);
2666
+ useEffect(() => {
2667
+ ref.current = value;
2668
+ });
2669
+ return ref.current;
2670
+ };
2671
+ //#endregion
3933
2672
  //#region src/components/ModalBase/ModalBase.tsx
3934
2673
  const LOCKED_SCROLL_CLASSNAME = "is-scroll-locked";
3935
2674
  const GlobalStyle = createGlobalStyle`
@@ -4056,11 +2795,40 @@ const ModalBaseContent = ({ className, initialShownState = false, isDismissible
4056
2795
  ] });
4057
2796
  };
4058
2797
  const ModalBase = (props) => {
4059
- if (!isEqual$1(useModalProviderContext(), {})) return /* @__PURE__ */ jsx(ModalBaseContent, { ...props });
2798
+ if (!isEqual(useModalProviderContext(), {})) return /* @__PURE__ */ jsx(ModalBaseContent, { ...props });
4060
2799
  return /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(ModalBaseContent, { ...props }) });
4061
2800
  };
4062
2801
  ModalBase.displayName = "ModalBase_VHS";
4063
2802
  //#endregion
2803
+ //#region src/private/helpers/mq/mq.ts
2804
+ const getMaxWidth = (breakpoint) => {
2805
+ const breakpointBuffer = .0025;
2806
+ const [value, unit] = getValueAndUnit(breakpoint);
2807
+ return `@media (max-width: ${Math.max(value - breakpointBuffer, 0)}${unit})`;
2808
+ };
2809
+ const xsAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.xs})`;
2810
+ const smAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.sm})`;
2811
+ const mdAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.md})`;
2812
+ const lgAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.lg})`;
2813
+ const xlAndUp = ({ theme }) => `@media (min-width: ${theme.breakpoint.xl})`;
2814
+ const xsAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.xs);
2815
+ const smAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.sm);
2816
+ const mdAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.md);
2817
+ const lgAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.lg);
2818
+ const xlAndDown = ({ theme }) => getMaxWidth(theme.breakpoint.xl);
2819
+ const mq = {
2820
+ xsAndUp,
2821
+ smAndUp,
2822
+ mdAndUp,
2823
+ lgAndUp,
2824
+ xlAndUp,
2825
+ xsAndDown,
2826
+ smAndDown,
2827
+ mdAndDown,
2828
+ lgAndDown,
2829
+ xlAndDown
2830
+ };
2831
+ //#endregion
4064
2832
  //#region src/components/ButtonGroup/ButtonGroup.tsx
4065
2833
  const getAlignment = (align) => {
4066
2834
  if (align === "center") return "center";
@@ -4454,7 +3222,7 @@ const TooltipContent = ({ id, active, direction, children, forceState, shouldWra
4454
3222
  const Truncate = ({ children, maxChars, terminator = "...", breakOnWords = false }) => {
4455
3223
  if (isNil(children)) return null;
4456
3224
  const canBeTruncated = children.length + terminator.length >= maxChars;
4457
- if (!isString$1(children) || maxChars <= 0 || !canBeTruncated) return /* @__PURE__ */ jsx(Fragment, { children });
3225
+ if (!isString(children) || maxChars <= 0 || !canBeTruncated) return /* @__PURE__ */ jsx(Fragment, { children });
4458
3226
  let truncatedChild = children.slice(0, maxChars - terminator.length);
4459
3227
  if (breakOnWords) {
4460
3228
  const index = Math.max(truncatedChild.lastIndexOf(" "), truncatedChild.lastIndexOf("\n"));
@@ -4511,7 +3279,7 @@ const Tooltip = ({ label, direction = "top", duration = 2e3, eventType = "hover"
4511
3279
  timer,
4512
3280
  duration
4513
3281
  ]);
4514
- if (isString$1(label) && !label.length) return /* @__PURE__ */ jsx(Fragment, { children });
3282
+ if (isString(label) && !label.length) return /* @__PURE__ */ jsx(Fragment, { children });
4515
3283
  let tooltipLabel = label;
4516
3284
  if (maxChars !== null) tooltipLabel = /* @__PURE__ */ jsx(Truncate, {
4517
3285
  breakOnWords: true,
@@ -4602,7 +3370,7 @@ const disabledStyle$6 = css`
4602
3370
  &:focus {
4603
3371
  background-color: transparent;
4604
3372
 
4605
- svg {
3373
+ & svg {
4606
3374
  color: ${({ $iconButtonColor }) => transparentize(.5, $iconButtonColor)};
4607
3375
  }
4608
3376
  }
@@ -4619,7 +3387,7 @@ const iconButtonStyle = css`
4619
3387
  &:focus-visible {
4620
3388
  background-color: ${({ $iconButtonColor }) => transparentize(.8, $iconButtonColor)};
4621
3389
 
4622
- svg {
3390
+ & svg {
4623
3391
  color: ${({ $iconButtonColor }) => $iconButtonColor};
4624
3392
  }
4625
3393
  }
@@ -4627,7 +3395,7 @@ const iconButtonStyle = css`
4627
3395
  &:active {
4628
3396
  background-color: ${({ $iconButtonColor }) => transparentize(.6, $iconButtonColor)};
4629
3397
 
4630
- svg {
3398
+ & svg {
4631
3399
  color: ${({ $iconButtonColor }) => $iconButtonColor};
4632
3400
  }
4633
3401
  }
@@ -4637,66 +3405,201 @@ const getIconButtonColor = (colorOverride, componentStyle, allThemeColors) => {
4637
3405
  if (componentStyle === "dark") return allThemeColors.grey700;
4638
3406
  return "#fff";
4639
3407
  };
4640
- const IconButtonComponent = styled.button`
4641
- ${buttonResetStyle}
4642
- ${iconButtonStyle}
4643
- transition: all ${({ theme }) => theme.duration.productive.moderate};
4644
- ${({ disabled }) => disabled ? disabledStyle$6 : void 0}
4645
- ${({ size }) => {
4646
- if (size === "sm") return smSizeStyle;
4647
- if (size === "md") return mdSizeStyle;
4648
- return lgSizeStyle;
4649
- }};
4650
- `;
4651
- const IconButton = forwardRef(({ colorOverride, componentStyle = "dark", disabled = false, icon, label, onClick, preventTooltip = false, size = "md", tooltipDirection = "top", ...otherProps }, ref) => {
4652
- const iconButtonColor = getIconButtonColor(colorOverride, componentStyle, useThemeColor());
4653
- const Button = useMemo(() => /* @__PURE__ */ jsxs(IconButtonComponent, {
4654
- ref,
4655
- $componentStyle: componentStyle,
4656
- $iconButtonColor: iconButtonColor,
4657
- disabled,
4658
- onClick,
4659
- size,
4660
- ...otherProps,
4661
- children: [/* @__PURE__ */ jsx(Fragment, { children: icon }), /* @__PURE__ */ jsx(ScreenReaderOnly, { children: label })]
4662
- }), [
4663
- componentStyle,
4664
- disabled,
4665
- icon,
4666
- iconButtonColor,
4667
- label,
4668
- onClick,
4669
- otherProps,
4670
- ref,
4671
- size
4672
- ]);
4673
- if (preventTooltip) return Button;
4674
- return /* @__PURE__ */ jsx(Tooltip, {
4675
- direction: tooltipDirection,
4676
- label,
4677
- children: Button
4678
- });
4679
- });
4680
- IconButton.displayName = "IconButton_VHS";
4681
- //#endregion
4682
- //#region src/private/components/ModalCloseButton/ModalCloseButton.tsx
4683
- const ModalCloseButton$1 = ({ onClick, closeIconColorOverride }) => /* @__PURE__ */ jsx(IconButton, {
4684
- "aria-label": "Close",
4685
- colorOverride: closeIconColorOverride,
4686
- icon: /* @__PURE__ */ jsx(Icon, {
4687
- size: "sm",
4688
- type: "close"
4689
- }),
4690
- onClick,
4691
- preventTooltip: true,
4692
- style: {
4693
- position: "absolute",
4694
- right: "16px",
4695
- top: "16px",
4696
- zIndex: 1
4697
- }
4698
- });
4699
- ModalCloseButton$1.displayName = "ModalCloseButton";
3408
+ const IconButtonComponent = styled.button`
3409
+ ${buttonResetStyle}
3410
+ ${iconButtonStyle}
3411
+ transition: all ${({ theme }) => theme.duration.productive.moderate};
3412
+ ${({ disabled }) => disabled ? disabledStyle$6 : void 0}
3413
+ ${({ size }) => {
3414
+ if (size === "sm") return smSizeStyle;
3415
+ if (size === "md") return mdSizeStyle;
3416
+ return lgSizeStyle;
3417
+ }};
3418
+ `;
3419
+ const IconButton = forwardRef(({ colorOverride, componentStyle = "dark", disabled = false, icon, label, onClick, preventTooltip = false, size = "md", tooltipDirection = "top", ...otherProps }, ref) => {
3420
+ const iconButtonColor = getIconButtonColor(colorOverride, componentStyle, useThemeColor());
3421
+ const Button = useMemo(() => /* @__PURE__ */ jsxs(IconButtonComponent, {
3422
+ ref,
3423
+ $componentStyle: componentStyle,
3424
+ $iconButtonColor: iconButtonColor,
3425
+ disabled,
3426
+ onClick,
3427
+ size,
3428
+ ...otherProps,
3429
+ children: [/* @__PURE__ */ jsx(Fragment, { children: icon }), /* @__PURE__ */ jsx(ScreenReaderOnly, { children: label })]
3430
+ }), [
3431
+ componentStyle,
3432
+ disabled,
3433
+ icon,
3434
+ iconButtonColor,
3435
+ label,
3436
+ onClick,
3437
+ otherProps,
3438
+ ref,
3439
+ size
3440
+ ]);
3441
+ if (preventTooltip) return Button;
3442
+ return /* @__PURE__ */ jsx(Tooltip, {
3443
+ direction: tooltipDirection,
3444
+ label,
3445
+ children: Button
3446
+ });
3447
+ });
3448
+ IconButton.displayName = "IconButton_VHS";
3449
+ //#endregion
3450
+ //#region src/private/components/ModalCloseButton/ModalCloseButton.tsx
3451
+ const ModalCloseButton$1 = ({ onClick, closeIconColorOverride }) => /* @__PURE__ */ jsx(IconButton, {
3452
+ "aria-label": "Close",
3453
+ colorOverride: closeIconColorOverride,
3454
+ icon: /* @__PURE__ */ jsx(Icon, {
3455
+ size: "sm",
3456
+ type: "close"
3457
+ }),
3458
+ onClick,
3459
+ preventTooltip: true,
3460
+ style: {
3461
+ position: "absolute",
3462
+ right: "16px",
3463
+ top: "16px",
3464
+ zIndex: 1
3465
+ }
3466
+ });
3467
+ ModalCloseButton$1.displayName = "ModalCloseButton";
3468
+ //#endregion
3469
+ //#region src/private/helpers/getBackgroundGradient/getBackgroundGradient.ts
3470
+ const gradients = {
3471
+ defaultDarkOne: css`
3472
+ background-color: #222d66;
3473
+ background-image:
3474
+ radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
3475
+ radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
3476
+ radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
3477
+ radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
3478
+ `,
3479
+ defaultDarkTwo: css`
3480
+ background-color: #222d66;
3481
+ background-image:
3482
+ radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
3483
+ radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%),
3484
+ radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
3485
+ radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
3486
+ `,
3487
+ defaultLightOne: css`
3488
+ background-color: #ccd5ff;
3489
+ background-image:
3490
+ radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
3491
+ radial-gradient(farthest-corner at top left, #ccd5ff, transparent 65%),
3492
+ radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
3493
+ radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
3494
+ `,
3495
+ defaultLightTwo: css`
3496
+ background-color: #ccd5ff;
3497
+ background-image:
3498
+ radial-gradient(ellipse at top, #ccd5ff, transparent),
3499
+ radial-gradient(ellipse at bottom, #6b84ff, transparent);
3500
+ `,
3501
+ defaultMidOne: css`
3502
+ background-color: #6b84ff;
3503
+ background-image:
3504
+ radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
3505
+ radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
3506
+ radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
3507
+ radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
3508
+ `,
3509
+ defaultMidTwo: css`
3510
+ background-color: #6b84ff;
3511
+ background-image:
3512
+ radial-gradient(ellipse at top, #2949e5, transparent),
3513
+ radial-gradient(ellipse at bottom, #ccd5ff, transparent);
3514
+ `,
3515
+ green: css`
3516
+ background-color: #fafffa;
3517
+ background-image:
3518
+ radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
3519
+ radial-gradient(farthest-corner at top right, #268713, transparent 50%),
3520
+ radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
3521
+ radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
3522
+ `,
3523
+ greenWithPop: css`
3524
+ background-color: #fafffa;
3525
+ background-image:
3526
+ radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
3527
+ radial-gradient(farthest-corner at top right, #2949e5, transparent 50%),
3528
+ radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
3529
+ radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
3530
+ `,
3531
+ pink: css`
3532
+ background-color: #fffff0;
3533
+ background-image:
3534
+ radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
3535
+ radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
3536
+ radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
3537
+ radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
3538
+ `,
3539
+ pinkWithPop: css`
3540
+ background-color: #fffff0;
3541
+ background-image:
3542
+ radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
3543
+ radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
3544
+ radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
3545
+ radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
3546
+ `,
3547
+ playfulGradientOne: css`
3548
+ background-color: #f7f8ff;
3549
+ background-image:
3550
+ radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
3551
+ radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
3552
+ radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
3553
+ radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
3554
+ `,
3555
+ playfulGradientTwo: css`
3556
+ background-color: #f7f8ff;
3557
+ background-image:
3558
+ radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
3559
+ radial-gradient(farthest-corner at bottom right, #eff18d, transparent 50%),
3560
+ radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
3561
+ radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
3562
+ `,
3563
+ purple: css`
3564
+ background-color: #f2caff;
3565
+ background-image:
3566
+ radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
3567
+ radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
3568
+ `,
3569
+ purpleWithPop: css`
3570
+ background-color: #f2caff;
3571
+ background-image:
3572
+ radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
3573
+ radial-gradient(farthest-corner at top left, #d65cff, transparent 65%),
3574
+ radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
3575
+ radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
3576
+ `,
3577
+ yellow: css`
3578
+ background-color: #fffff0;
3579
+ background-image:
3580
+ radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
3581
+ radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
3582
+ radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
3583
+ radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
3584
+ `,
3585
+ yellowWithPop: css`
3586
+ background-color: #fffff0;
3587
+ background-image:
3588
+ radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
3589
+ radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
3590
+ radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
3591
+ radial-gradient(farthest-corner at bottom right, #2949e5, transparent 55%);
3592
+ `
3593
+ };
3594
+ /**
3595
+ * Retrieves the CSS background gradient corresponding to the given gradient name.
3596
+ * If the specified gradient name is not found, the default gradient ('defaultDarkOne') is returned.
3597
+ * @param {GradientName} gradientName - The name of the gradient to retrieve.
3598
+ * @returns {FlattenSimpleInterpolation} The CSS string representing the specified gradient.
3599
+ */
3600
+ const getBackgroundGradient = (gradientName) => {
3601
+ return isNotNil(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
3602
+ };
4700
3603
  //#endregion
4701
3604
  //#region src/components/ActionModal/getModalBackgroundGradient.ts
4702
3605
  const getModalBackgroundGradient = (illustrationBackgroundColor) => {
@@ -4907,7 +3810,7 @@ const containsEmojiCharacter = (char) => {
4907
3810
  return /<a?:.+?:\d{18}>|\p{Extended_Pictographic}/gu.test(char);
4908
3811
  };
4909
3812
  const formatInitialsForDisplay = (initials) => {
4910
- if (isNil(initials) || isEmptyString(initials) || isString$1(initials) && containsEmojiCharacter(initials)) return "U";
3813
+ if (isNil(initials) || isEmptyString(initials) || isString(initials) && containsEmojiCharacter(initials)) return "U";
4911
3814
  if (typeof initials !== "string") return "U";
4912
3815
  return initials.substring(0, 1).toUpperCase();
4913
3816
  };
@@ -5020,7 +3923,7 @@ const shouldWrap = (src) => {
5020
3923
  };
5021
3924
  const getBackgroundImageValue = (src) => {
5022
3925
  if (src !== void 0 && Array.isArray(src)) return src.map((imageSrc) => shouldWrap(imageSrc) ? `url('${imageSrc}')` : imageSrc).join(", ");
5023
- if (src !== void 0 && src !== "" && isString$1(src)) return shouldWrap(src) ? `url('${src}')` : src;
3926
+ if (src !== void 0 && src !== "" && isString(src)) return shouldWrap(src) ? `url('${src}')` : src;
5024
3927
  };
5025
3928
  const getOverflowStyle = (overflow) => {
5026
3929
  if (overflow !== "") {
@@ -5750,7 +4653,8 @@ LabelDescription.displayName = "LabelDescription_VHS";
5750
4653
  const StyledFormFieldWrapper = styled.div`
5751
4654
  width: 100%;
5752
4655
  `;
5753
- const FormFieldWrapper = ({ disabled = false, error = null, label = null, labelDescription = null, labelProps = {}, labelType = "label", name, children, labelId = null, ...otherProps }) => {
4656
+ const DEFAULT_LABEL_PROPS$8 = {};
4657
+ const FormFieldWrapper = ({ disabled = false, error = null, label = null, labelDescription = null, labelProps = DEFAULT_LABEL_PROPS$8, labelType = "label", name, children, labelId = null, ...otherProps }) => {
5754
4658
  const computedId = labelId ?? `group-id-${name}`;
5755
4659
  const computedAriaLabelledby = labelType === "legend" ? computedId : null;
5756
4660
  const combinedLabelProps = {
@@ -5788,7 +4692,8 @@ const StyledOptionContainer$1 = styled.div`
5788
4692
  flex-direction: ${({ direction }) => direction === "row" ? "row" : "column"};
5789
4693
  gap: ${({ direction, theme }) => direction === "row" ? theme.spacing.space04 : theme.spacing.space01};
5790
4694
  `;
5791
- const CheckboxGroup = ({ direction = "column", disabled = false, error, label, labelDescription, labelProps = {}, name, onChange, options, value = false, ...otherProps }) => /* @__PURE__ */ jsx(FormFieldWrapper, {
4695
+ const DEFAULT_LABEL_PROPS$7 = {};
4696
+ const CheckboxGroup = ({ direction = "column", disabled = false, error, label, labelDescription, labelProps = DEFAULT_LABEL_PROPS$7, name, onChange, options, value = false, ...otherProps }) => /* @__PURE__ */ jsx(FormFieldWrapper, {
5792
4697
  disabled,
5793
4698
  error,
5794
4699
  label,
@@ -5903,6 +4808,45 @@ const CloseButton = ({ onClick, ...otherProps }) => /* @__PURE__ */ jsx(Button$1
5903
4808
  });
5904
4809
  CloseButton.displayName = "CloseButton_VHS";
5905
4810
  //#endregion
4811
+ //#region src/private/hooks/useElementObserver/useElementObserver.ts
4812
+ const initialRect = {
4813
+ width: 0,
4814
+ height: 0,
4815
+ top: 0,
4816
+ left: 0,
4817
+ bottom: 0,
4818
+ right: 0,
4819
+ x: 0,
4820
+ y: 0
4821
+ };
4822
+ const useElementObserver = () => {
4823
+ const ref = useRef(null);
4824
+ const [rect, setRect] = useState(initialRect);
4825
+ useLayoutEffect(() => {
4826
+ if (!ref.current) return;
4827
+ const observer = new window.ResizeObserver((entries) => {
4828
+ if (entries[0]) {
4829
+ const { width, height, top, left, bottom, right, x, y } = entries[0].contentRect;
4830
+ setRect({
4831
+ width,
4832
+ height,
4833
+ top,
4834
+ left,
4835
+ bottom,
4836
+ right,
4837
+ x,
4838
+ y
4839
+ });
4840
+ }
4841
+ });
4842
+ observer.observe(ref.current);
4843
+ return () => {
4844
+ observer.disconnect();
4845
+ };
4846
+ }, []);
4847
+ return [ref, rect];
4848
+ };
4849
+ //#endregion
5906
4850
  //#region src/components/CollapsibleGroup/CollapsibleGroup.tsx
5907
4851
  const DARKENING_AMOUNT = .08;
5908
4852
  const BAR_HEIGHT = 48;
@@ -5915,6 +4859,10 @@ const CARET_DIRECTION_UP = "up";
5915
4859
  const CARET_DIRECTION_DOWN = "down";
5916
4860
  const CARET_DIRECTION_LEFT = "left";
5917
4861
  const CARET_DIRECTION_RIGHT = "right";
4862
+ const DEFAULT_CARET_DIRECTION = {
4863
+ open: CARET_DIRECTION_DOWN,
4864
+ closed: CARET_DIRECTION_RIGHT
4865
+ };
5918
4866
  const StyledCollapsibleGroup = styled.div`
5919
4867
  & + & {
5920
4868
  margin-top: ${({ theme }) => theme.spacing.space01};
@@ -6041,10 +4989,7 @@ const ActionControl = ({ children, showActionsOnHover }) => {
6041
4989
  children
6042
4990
  });
6043
4991
  };
6044
- const CollapsibleGroup = ({ actions, backgroundColor, caretDirection = {
6045
- open: CARET_DIRECTION_DOWN,
6046
- closed: CARET_DIRECTION_RIGHT
6047
- }, children = null, contentPadding = null, hideCaret = false, id, isOpen, label, layout = "leading", onOpenChange, showActionsOnHover = true, showTransition = false, variant, ...otherProps }) => {
4992
+ const CollapsibleGroup = ({ actions, backgroundColor, caretDirection = DEFAULT_CARET_DIRECTION, children = null, contentPadding = null, hideCaret = false, id, isOpen, label, layout = "leading", onOpenChange, showActionsOnHover = true, showTransition = false, variant, ...otherProps }) => {
6048
4993
  const [open, setOpen] = useState(isOpen ?? false);
6049
4994
  const [dimensions, setDimensions] = useState({
6050
4995
  width: void 0,
@@ -6259,7 +5204,8 @@ const errorsTitle = (count) => {
6259
5204
  const scrollToField = (fieldName) => {
6260
5205
  document.getElementById(`fieldset-${fieldName}`)?.scrollIntoView({ behavior: "smooth" });
6261
5206
  };
6262
- const FieldErrorsList = ({ errors = {}, statusError }) => /* @__PURE__ */ jsxs(ErrorOrderedList, { children: [isNonEmptyString(statusError) ? /* @__PURE__ */ jsx(ErrorText, { children: statusError }) : null, Object.keys(errors).map((field) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(ErrorLink, {
5207
+ const DEFAULT_ERRORS = {};
5208
+ const FieldErrorsList = ({ errors = DEFAULT_ERRORS, statusError }) => /* @__PURE__ */ jsxs(ErrorOrderedList, { children: [isNonEmptyString(statusError) ? /* @__PURE__ */ jsx(ErrorText, { children: statusError }) : null, Object.keys(errors).map((field) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(ErrorLink, {
6263
5209
  "data-testid": `form-global-error-${field}`,
6264
5210
  onClick: (event) => {
6265
5211
  event.preventDefault();
@@ -6514,7 +5460,9 @@ const inputTypeMap = {
6514
5460
  };
6515
5461
  //#endregion
6516
5462
  //#region src/private/components/FormConnectorCheckboxGroup/FormConnectorCheckboxGroup.tsx
6517
- const FormConnectorCheckboxGroup = ({ direction = "column", disabled = false, field: { name, value }, form: { errors, setFieldValue }, label, labelDescription, labelProps = {}, onChangeCustom, options = [] }) => {
5463
+ const DEFAULT_LABEL_PROPS$6 = {};
5464
+ const DEFAULT_OPTIONS = [];
5465
+ const FormConnectorCheckboxGroup = ({ direction = "column", disabled = false, field: { name, value }, form: { errors, setFieldValue }, label, labelDescription, labelProps = DEFAULT_LABEL_PROPS$6, onChangeCustom, options = DEFAULT_OPTIONS }) => {
6518
5466
  const onChangeSingle = (event, optionValue) => {
6519
5467
  setFieldValue(optionValue, event.target.checked);
6520
5468
  };
@@ -6548,7 +5496,8 @@ const FormConnectorCheckboxGroup = ({ direction = "column", disabled = false, fi
6548
5496
  FormConnectorCheckboxGroup.displayName = "FormConnectorCheckboxGroup";
6549
5497
  //#endregion
6550
5498
  //#region src/private/components/FormConnectorCustomField/FormConnectorCustomField.tsx
6551
- const FormConnectorCustomField = ({ customComponent: Element, field, form, label = "", labelDescription, labelProps = {}, ...otherProps }) => {
5499
+ const DEFAULT_LABEL_PROPS$5 = {};
5500
+ const FormConnectorCustomField = ({ customComponent: Element, field, form, label = "", labelDescription, labelProps = DEFAULT_LABEL_PROPS$5, ...otherProps }) => {
6552
5501
  const { name } = field;
6553
5502
  const { errors } = form;
6554
5503
  return /* @__PURE__ */ jsx(FormFieldWrapper, {
@@ -6566,6 +5515,16 @@ const FormConnectorCustomField = ({ customComponent: Element, field, form, label
6566
5515
  };
6567
5516
  FormConnectorCustomField.displayName = "FormConnectorCustomField";
6568
5517
  //#endregion
5518
+ //#region src/private/helpers/coerceToString/coerceToString.ts
5519
+ /**
5520
+ * Coerces a value `value` into a string. If passed a null or undefined
5521
+ * value, returns an empty string.
5522
+ *
5523
+ * @param {*} value - a value of any type
5524
+ * @returns {string} - that value as a string
5525
+ */
5526
+ const coerceToString = (value) => value === null || value === void 0 ? "" : String(value);
5527
+ //#endregion
6569
5528
  //#region src/components/Input/InputStyledComponent.tsx
6570
5529
  const focusStyle$1 = css`
6571
5530
  border-color: ${({ theme }) => theme.color.brandBlue500};
@@ -6670,6 +5629,39 @@ const InputStyledComponent = styled.input`
6670
5629
  ${({ readOnly }) => readOnly && readOnlyStyle};
6671
5630
  `;
6672
5631
  //#endregion
5632
+ //#region src/private/helpers/copyToClipboard/copyToClipboard.ts
5633
+ /**
5634
+ * Copies a string to user's clipboard for easy pasting in another location
5635
+ *
5636
+ * @param {string} textToCopy - the string that will be copied to users clipboard
5637
+ * @returns {Promise} - Promise object that represents the copied string
5638
+ */
5639
+ const copyToClipboard = async (textToCopy) => {
5640
+ if (navigator.clipboard) return navigator.clipboard.writeText(textToCopy).catch((error) => {
5641
+ if (error instanceof Error) throw error;
5642
+ throw new DOMException("The clipboard is not accessible", "NotAllowedError");
5643
+ });
5644
+ const span = document.createElement("span");
5645
+ span.textContent = textToCopy;
5646
+ span.style.whiteSpace = "pre";
5647
+ document.body.appendChild(span);
5648
+ const selection = window.getSelection();
5649
+ const range = window.document.createRange();
5650
+ selection?.removeAllRanges();
5651
+ range.selectNode(span);
5652
+ selection?.addRange(range);
5653
+ let success = false;
5654
+ try {
5655
+ success = window.document.execCommand("copy");
5656
+ } catch (error) {
5657
+ console.error("error", error);
5658
+ }
5659
+ selection?.removeAllRanges();
5660
+ window.document.body.removeChild(span);
5661
+ if (success) return Promise.resolve();
5662
+ return Promise.reject(new DOMException("The request is not allowed", "NotAllowedError"));
5663
+ };
5664
+ //#endregion
6673
5665
  //#region src/components/Input/ClickToCopy.tsx
6674
5666
  const clickToCopyWrapperEnabledStyles = css`
6675
5667
  input {
@@ -6794,10 +5786,18 @@ const formatString = (string) => {
6794
5786
  return timeUnitsToString(seconds, minutes, hours);
6795
5787
  };
6796
5788
  const timePositionFormat = (value) => {
6797
- if (isNil(value) || !isString$1(value)) return "0:00";
5789
+ if (isNil(value) || !isString(value)) return "0:00";
6798
5790
  return formatString(stripInvalidCharacters(value));
6799
5791
  };
6800
5792
  //#endregion
5793
+ //#region src/private/hooks/useMergedRefs/useMergedRefs.ts
5794
+ const useMergedRefs = (refs) => (element) => {
5795
+ refs.forEach((ref) => {
5796
+ if (typeof ref === "function") ref(element);
5797
+ else if (ref != null) ref.current = element;
5798
+ });
5799
+ };
5800
+ //#endregion
6801
5801
  //#region src/components/Input/Input.tsx
6802
5802
  const INPUT_TYPES_WITH_ICONS = new Set(["search"]);
6803
5803
  const InputWrapper = styled.div`
@@ -6970,7 +5970,8 @@ const StyledOptionContainer = styled.div`
6970
5970
  flex-direction: ${({ direction }) => direction === "row" ? "row" : "column"};
6971
5971
  gap: ${({ direction, theme }) => direction === "row" ? theme.spacing.space04 : theme.spacing.space01};
6972
5972
  `;
6973
- const RadioGroup = ({ direction = "column", disabled = false, error, label, labelDescription, labelProps = {}, name, onChange, options, value, ...otherProps }) => /* @__PURE__ */ jsx(FormFieldWrapper, {
5973
+ const DEFAULT_LABEL_PROPS$4 = {};
5974
+ const RadioGroup = ({ direction = "column", disabled = false, error, label, labelDescription, labelProps = DEFAULT_LABEL_PROPS$4, name, onChange, options, value, ...otherProps }) => /* @__PURE__ */ jsx(FormFieldWrapper, {
6974
5975
  disabled,
6975
5976
  error,
6976
5977
  label,
@@ -6996,7 +5997,8 @@ const RadioGroup = ({ direction = "column", disabled = false, error, label, labe
6996
5997
  RadioGroup.displayName = "RadioGroup_VHS";
6997
5998
  //#endregion
6998
5999
  //#region src/private/components/FormConnectorRadioGroup/FormConnectorRadioGroup.tsx
6999
- const FormConnectorRadioGroup = ({ direction = "column", disabled = false, field: { name }, form: { errors, values, setFieldValue }, label = "", labelDescription, labelProps = {}, onChangeCustom, options }) => {
6000
+ const DEFAULT_LABEL_PROPS$3 = {};
6001
+ const FormConnectorRadioGroup = ({ direction = "column", disabled = false, field: { name }, form: { errors, values, setFieldValue }, label = "", labelDescription, labelProps = DEFAULT_LABEL_PROPS$3, onChangeCustom, options }) => {
7000
6002
  const handleOnChange = useCallback((_event, optionValue) => {
7001
6003
  setFieldValue(name, optionValue);
7002
6004
  if (onChangeCustom) onChangeCustom(optionValue);
@@ -7164,7 +6166,8 @@ const Select = forwardRef(({ ariaLabel, disabled = false, forceState, fullWidth
7164
6166
  Select.displayName = "Select_VHS";
7165
6167
  //#endregion
7166
6168
  //#region src/private/components/FormConnectorSelect/FormConnectorSelect.tsx
7167
- const FormConnectorSelect = ({ disabled = false, field: { name, value, onChange, onBlur }, form: { errors }, label, labelDescription, labelProps = {}, options, placeholder, onChangeCustom, ...otherProps }) => {
6169
+ const DEFAULT_LABEL_PROPS$2 = {};
6170
+ const FormConnectorSelect = ({ disabled = false, field: { name, value, onChange, onBlur }, form: { errors }, label, labelDescription, labelProps = DEFAULT_LABEL_PROPS$2, options, placeholder, onChangeCustom, ...otherProps }) => {
7168
6171
  const getValue = (val) => {
7169
6172
  if (isNil(val)) return "";
7170
6173
  if (isBoolean(val)) return coerceToString(value);
@@ -7196,7 +6199,8 @@ const FormConnectorSelect = ({ disabled = false, field: { name, value, onChange,
7196
6199
  FormConnectorSelect.displayName = "FormConnectorSelect";
7197
6200
  //#endregion
7198
6201
  //#region src/private/components/FormConnectorHidden/FormConnectorHidden.tsx
7199
- const FormConnectorHidden = ({ field: { name, value, onChange }, form: { setFieldValue } = {}, onChangeCustom, valueState = "", ...otherProps }) => {
6202
+ const DEFAULT_FORM = {};
6203
+ const FormConnectorHidden = ({ field: { name, value, onChange }, form: { setFieldValue } = DEFAULT_FORM, onChangeCustom, valueState = "", ...otherProps }) => {
7200
6204
  useEffect(() => {
7201
6205
  if (!valueState && isNil(value)) return;
7202
6206
  if (valueState !== value && isNotUndefined(setFieldValue)) setFieldValue(name, valueState);
@@ -7366,17 +6370,17 @@ const isCodeBlock = (element) => element.nodeName === "CODE";
7366
6370
  const isInlineCodeBlock = (element, elementChildren) => isCodeBlock(element) && isNotNil(elementChildren[0]) && !elementChildren[0].match(/\n/g);
7367
6371
  const shouldCreateBlock = (el, children) => !isInlineCodeBlock(el, children) && isNotNil(ELEMENT_TAGS[el.nodeName]);
7368
6372
  const shouldCreateText = (el, children) => isInlineCodeBlock(el, children) || isNotNil(TEXT_TAGS[el.nodeName]);
7369
- const htmlChildIsEmptyText = (child) => isNotNil(child) && !isString$1(child) && child.text?.trim() === "";
6373
+ const htmlChildIsEmptyText = (child) => isNotNil(child) && !isString(child) && child.text?.trim() === "";
7370
6374
  const createEditorBlockElements = (children, el) => {
7371
6375
  const { nodeName } = el;
7372
- if (nodeName !== "IMG" && children.length === 1 && !isString$1(children[0]) && isNotNil(children[0].text) && children[0].text?.trim() === "") return jsx$1("element", ELEMENT_TAGS.P(), emptyTextNode$1);
6376
+ if (nodeName !== "IMG" && children.length === 1 && !isString(children[0]) && isNotNil(children[0].text) && children[0].text?.trim() === "") return jsx$1("element", ELEMENT_TAGS.P(), emptyTextNode$1);
7373
6377
  return jsx$1("element", ELEMENT_TAGS[nodeName](el), children);
7374
6378
  };
7375
6379
  const createEditorTextElements = (children, el) => {
7376
6380
  const { nodeName } = el;
7377
6381
  const attrs = TEXT_TAGS[nodeName]();
7378
6382
  return children.map((child) => {
7379
- if (!isString$1(child) && isNotNil(child) && isNotNil(child.children)) return addAttrsToChildren(child, attrs);
6383
+ if (!isString(child) && isNotNil(child) && isNotNil(child.children)) return addAttrsToChildren(child, attrs);
7380
6384
  if (htmlChildIsEmptyText(child)) return jsx$1("text", {}, emptyTextNode$1);
7381
6385
  return jsx$1("text", attrs, child);
7382
6386
  });
@@ -7589,6 +6593,25 @@ const toggleMark = (editor, format) => {
7589
6593
  else Editor.addMark(editor, format, true);
7590
6594
  };
7591
6595
  //#endregion
6596
+ //#region src/private/helpers/isUrl/isUrl.ts
6597
+ /**
6598
+ * Loosely validates a URL string
6599
+ *
6600
+ * @param {*} str - a string to validate - could be an unknown type
6601
+ * @return {boolean} - whether string appears to be a url
6602
+ */
6603
+ const isUrl = (str) => {
6604
+ const protocolAndDomain = /^(?:\w+:)?\/\/(\S+)$/;
6605
+ const localhostDomain = /^localhost[:?\d]*(?:[^:?\d]\S*)?$/;
6606
+ const nonLocalhostDomain = /^[^\s.]+\.\S{2,}$/;
6607
+ if (!isString(str)) return false;
6608
+ const match = protocolAndDomain.exec(str);
6609
+ if (!match) return false;
6610
+ const remaining = match[1];
6611
+ if (remaining === void 0 || !remaining) return false;
6612
+ return localhostDomain.test(remaining) || nonLocalhostDomain.test(remaining);
6613
+ };
6614
+ //#endregion
7592
6615
  //#region src/components/RichTextEditor/utilities/withImagesPlugin.ts
7593
6616
  const emptyTextNode = { text: "" };
7594
6617
  const imageExtensions = [
@@ -7966,14 +6989,15 @@ const getSelectedText = (editor) => {
7966
6989
  const noTextSelected = (editor) => {
7967
6990
  return getSelectedText(editor).trim() === "";
7968
6991
  };
7969
- const EditorButtons = ({ enabledFormats = [
6992
+ const DEFAULT_ENABLED_FORMATS = [
7970
6993
  "BOLD",
7971
6994
  "ITALIC",
7972
6995
  "HEADING_1",
7973
6996
  "LINK",
7974
6997
  "BULLETED_LIST",
7975
6998
  "IMAGE"
7976
- ], disabled = false }) => {
6999
+ ];
7000
+ const EditorButtons = ({ enabledFormats = DEFAULT_ENABLED_FORMATS, disabled = false }) => {
7977
7001
  const editor = useSlate();
7978
7002
  return /* @__PURE__ */ jsxs(ButtonContainer, { children: [
7979
7003
  enabledFormats.includes(rteFormatTypes.BOLD) && /* @__PURE__ */ jsx(EditorButton, {
@@ -8103,7 +7127,7 @@ const RichTextEditor = ({ enabledFormats = Object.values(rteFormatTypes), value
8103
7127
  return isNonEmptyString(text);
8104
7128
  };
8105
7129
  useEffect(() => {
8106
- const isDefaultValue = isEqual$1(value, defaultValue);
7130
+ const isDefaultValue = isEqual(value, defaultValue);
8107
7131
  const valueString = rteSerializeToHTML(value);
8108
7132
  const editorChildrenString = rteSerializeToHTML(editor.children);
8109
7133
  /** if we have an external value and the text editor is not empty (and therefore valid) and the value string and children string is not equal to one another, we can safely update the editor. */
@@ -8182,7 +7206,8 @@ RichTextEditor.displayName = "RichTextEditor_VHS";
8182
7206
  const Wrapper = styled.div`
8183
7207
  margin-top: ${({ theme }) => theme.spacing.space02};
8184
7208
  `;
8185
- const FormConnectorRichTextEditor = ({ field: { name, value, onChange }, form: { errors }, label, labelDescription, labelProps = {}, placeholder = "", disabled = false, enabledFormats = Object.values(rteFormatTypes), useExternalValue = false, height, ...otherProps }) => {
7209
+ const DEFAULT_LABEL_PROPS$1 = {};
7210
+ const FormConnectorRichTextEditor = ({ field: { name, value, onChange }, form: { errors }, label, labelDescription, labelProps = DEFAULT_LABEL_PROPS$1, placeholder = "", disabled = false, enabledFormats = Object.values(rteFormatTypes), useExternalValue = false, height, ...otherProps }) => {
8186
7211
  const [rteValue, setRTEValue] = useState(rteDeserializeHTML(coerceToString(value)));
8187
7212
  const labelId = isNotUndefined(label) ? `${name}-label-id` : void 0;
8188
7213
  useEffect(() => {
@@ -8227,7 +7252,7 @@ const FormFieldSet = styled.fieldset`
8227
7252
  padding: 0;
8228
7253
 
8229
7254
  &[disabled] {
8230
- label {
7255
+ & label {
8231
7256
  pointer-events: none;
8232
7257
  }
8233
7258
  }
@@ -8235,6 +7260,7 @@ const FormFieldSet = styled.fieldset`
8235
7260
  const FieldWrapper = styled(Field)`
8236
7261
  resize: ${({ $resize }) => $resize};
8237
7262
  `;
7263
+ const DEFAULT_LABEL_PROPS = {};
8238
7264
  const fieldsMap = {
8239
7265
  FormConnectorCheckboxGroup,
8240
7266
  FormConnectorCustomField,
@@ -8244,7 +7270,7 @@ const fieldsMap = {
8244
7270
  FormConnectorHidden,
8245
7271
  FormConnectorRichTextEditor
8246
7272
  };
8247
- const FormField = forwardRef(({ resize = "vertical", customComponent, direction = "column", disabled = false, label, labelDescription, labelProps = {}, name = "", onChangeCustom, options, placeholder = null, type, ...otherProps }, ref) => /* @__PURE__ */ jsx(FormFieldSet, {
7273
+ const FormField = forwardRef(({ resize = "vertical", customComponent, direction = "column", disabled = false, label, labelDescription, labelProps = DEFAULT_LABEL_PROPS, name = "", onChangeCustom, options, placeholder = null, type, ...otherProps }, ref) => /* @__PURE__ */ jsx(FormFieldSet, {
8248
7274
  disabled,
8249
7275
  id: `fieldset-${name}`,
8250
7276
  children: /* @__PURE__ */ jsx(FieldWrapper, {
@@ -8634,7 +7660,8 @@ const menuContentCss = css`
8634
7660
  const MenuContent = styled(DropdownMenuContent)`
8635
7661
  ${menuContentCss}
8636
7662
  `;
8637
- const Menu = ({ align = "start", children, trigger, label, isOpen, triggerProps = {}, onOpenChange, onInteractOutside, ...props }) => {
7663
+ const DEFAULT_TRIGGER_PROPS = {};
7664
+ const Menu = ({ align = "start", children, trigger, label, isOpen, triggerProps = DEFAULT_TRIGGER_PROPS, onOpenChange, onInteractOutside, ...props }) => {
8638
7665
  return /* @__PURE__ */ jsxs(DropdownMenu, {
8639
7666
  modal: false,
8640
7667
  ...isNotNil(onOpenChange) && isNotNil(isOpen) ? {
@@ -8754,6 +7781,10 @@ const NoIconContainer = styled.div`
8754
7781
  text-align: center;
8755
7782
  width: 0;
8756
7783
  `;
7784
+ const DEFAULT_INDICATOR = /* @__PURE__ */ jsx(Icon, {
7785
+ size: "sm",
7786
+ type: "checkmark"
7787
+ });
8757
7788
  const MenuItem = ({ children, label, description, badge, icon, renderAs, href, target, variant = "primary", ...props }) => {
8758
7789
  const as = renderAs ?? (isNotUndefined(href) ? "a" : "div");
8759
7790
  const targetProp = as === "a" && isNonEmptyString(target) ? { target } : {};
@@ -8781,10 +7812,7 @@ const MenuItem = ({ children, label, description, badge, icon, renderAs, href, t
8781
7812
  })
8782
7813
  });
8783
7814
  };
8784
- const CheckboxMenuItem = ({ children, label, description, badge, icon, indicator = /* @__PURE__ */ jsx(Icon, {
8785
- size: "sm",
8786
- type: "checkmark"
8787
- }), ...props }) => {
7815
+ const CheckboxMenuItem = ({ children, label, description, badge, icon, indicator = DEFAULT_INDICATOR, ...props }) => {
8788
7816
  return /* @__PURE__ */ jsx(DropdownMenuCheckboxItem, {
8789
7817
  ...props,
8790
7818
  asChild: true,
@@ -8802,10 +7830,7 @@ const CheckboxMenuItem = ({ children, label, description, badge, icon, indicator
8802
7830
  ] }), /* @__PURE__ */ jsx(DropdownMenuItemIndicator, { children: indicator })] })
8803
7831
  });
8804
7832
  };
8805
- const RadioMenuItem = ({ children, label, badge, description, icon, indicator = /* @__PURE__ */ jsx(Icon, {
8806
- size: "sm",
8807
- type: "checkmark"
8808
- }), ...props }) => {
7833
+ const RadioMenuItem = ({ children, label, badge, description, icon, indicator = DEFAULT_INDICATOR, ...props }) => {
8809
7834
  return /* @__PURE__ */ jsx(DropdownMenuRadioItem, {
8810
7835
  ...props,
8811
7836
  asChild: true,
@@ -8902,6 +7927,22 @@ const SubMenu = ({ label, icon, description, children }) => {
8902
7927
  }), /* @__PURE__ */ jsx(StyledMobileSubMenuItems, { children: isExpanded ? children : null })] });
8903
7928
  };
8904
7929
  //#endregion
7930
+ //#region src/private/hooks/useOnClickOutside/useOnClickOutside.ts
7931
+ const useOnClickOutside = (ref, handler) => {
7932
+ useEffect(() => {
7933
+ const listener = (event) => {
7934
+ if (!ref.current || ref.current.contains(event.target)) return;
7935
+ handler(event);
7936
+ };
7937
+ document.addEventListener("mousedown", listener);
7938
+ document.addEventListener("touchstart", listener);
7939
+ return () => {
7940
+ document.removeEventListener("mousedown", listener);
7941
+ document.removeEventListener("touchstart", listener);
7942
+ };
7943
+ }, [ref, handler]);
7944
+ };
7945
+ //#endregion
8905
7946
  //#region src/private/components/Menu/Menu.tsx
8906
7947
  const MENU_WIDTH_OPTIONS = ["fullWidth", "maxItem"];
8907
7948
  const GUTTER_WIDTH = "8px";
@@ -8991,8 +8032,8 @@ const MenuItem$1 = styled.div`
8991
8032
  }
8992
8033
 
8993
8034
  /* support FileSelect; this prevents an inner button or link from inheriting unwanted space */
8994
- button,
8995
- a {
8035
+ & button,
8036
+ & a {
8996
8037
  padding: 0;
8997
8038
  }
8998
8039
 
@@ -9059,6 +8100,18 @@ const Menu$1 = forwardRef(({ items, menuHeader, width = "fullWidth", onClick, on
9059
8100
  });
9060
8101
  Menu$1.displayName = "Menu";
9061
8102
  //#endregion
8103
+ //#region src/private/hooks/useBoolean/useBoolean.ts
8104
+ const useBoolean = (initialValue = false) => {
8105
+ const [value, setValue] = useState(initialValue);
8106
+ return [
8107
+ value,
8108
+ useCallback(() => setValue((val) => !val), []),
8109
+ useCallback(() => setValue(true), []),
8110
+ useCallback(() => setValue(false), []),
8111
+ setValue
8112
+ ];
8113
+ };
8114
+ //#endregion
9062
8115
  //#region src/components/MenuButton/MenuHeader.tsx
9063
8116
  const HeaderAndButton = styled.div`
9064
8117
  align-items: center;
@@ -9188,6 +8241,257 @@ const MenuButton = ({ label, menuAlignment = "right", menuItems, menuPosition =
9188
8241
  };
9189
8242
  MenuButton.displayName = "MenuButton_VHS";
9190
8243
  //#endregion
8244
+ //#region src/private/hooks/useEvent/useEvent.ts
8245
+ const isEventTargetSupported = (eventTarget) => Boolean(typeof eventTarget === "object" && eventTarget?.addEventListener);
8246
+ const useEvent = (eventName, eventHandler, eventTarget = window, eventOptions = {}) => {
8247
+ const savedEventHandler = useRef(void 0);
8248
+ const savedEventOptions = useRef(void 0);
8249
+ useEffect(() => {
8250
+ savedEventHandler.current = eventHandler;
8251
+ }, [eventHandler]);
8252
+ useEffect(() => {
8253
+ savedEventOptions.current = eventOptions;
8254
+ }, [eventOptions]);
8255
+ useEffect(() => {
8256
+ if (!eventName || !isEventTargetSupported(eventTarget)) return;
8257
+ const eventListener = (event) => {
8258
+ if (savedEventHandler.current !== void 0) return savedEventHandler.current(event);
8259
+ return () => {};
8260
+ };
8261
+ eventTarget.addEventListener(eventName, eventListener, savedEventOptions.current);
8262
+ return () => {
8263
+ eventTarget.removeEventListener(eventName, eventListener, savedEventOptions.current);
8264
+ };
8265
+ }, [
8266
+ eventName,
8267
+ eventTarget,
8268
+ savedEventOptions
8269
+ ]);
8270
+ };
8271
+ //#endregion
8272
+ //#region src/private/hooks/useKey/useKey.ts
8273
+ const createKeyPredicate = (keyFilter) => {
8274
+ if (typeof keyFilter === "function") return keyFilter;
8275
+ if (typeof keyFilter === "string") return (event) => event.key === keyFilter;
8276
+ if (keyFilter !== null && keyFilter !== void 0 && keyFilter) return () => true;
8277
+ return () => false;
8278
+ };
8279
+ const useKey = (key, eventHandler, options = {}, dependencies = [key]) => {
8280
+ const { eventName = "keydown", eventTarget, eventOptions } = options;
8281
+ useEvent(eventName, useMemo(() => {
8282
+ const predicate = createKeyPredicate(key);
8283
+ return (handlerEvent) => {
8284
+ if ([
8285
+ "INPUT",
8286
+ "TEXTAREA",
8287
+ "SELECT"
8288
+ ].includes(document.activeElement?.nodeName ?? "") || document.activeElement?.isContentEditable) return;
8289
+ if (predicate(handlerEvent)) return eventHandler(handlerEvent);
8290
+ };
8291
+ }, dependencies), eventTarget, eventOptions);
8292
+ };
8293
+ //#endregion
8294
+ //#region src/private/hooks/useKeyPress/useKeyPress.ts
8295
+ const useKeyPress = (keyFilter) => {
8296
+ const [state, setState] = useState([false, null]);
8297
+ useKey(keyFilter, (event) => setState([true, event]), { eventName: "keydown" }, [state]);
8298
+ useKey(keyFilter, (event) => setState([false, event]), { eventName: "keyup" }, [state]);
8299
+ return state;
8300
+ };
8301
+ //#endregion
8302
+ //#region src/private/hooks/useUpdateEffect/useUpdateEffect.ts
8303
+ const useUpdateEffect = (effect, dependencies) => {
8304
+ const isInitialMount = useRef(true);
8305
+ useEffect(() => {
8306
+ if (isInitialMount.current) {
8307
+ isInitialMount.current = false;
8308
+ return () => {};
8309
+ }
8310
+ return effect();
8311
+ }, dependencies);
8312
+ };
8313
+ //#endregion
8314
+ //#region src/private/hooks/useKeyPressOnce/useKeyPressOnce.ts
8315
+ const useKeyPressOnce = (key, keydownHandler, keyupHandler) => {
8316
+ const [pressed, event] = useKeyPress(key);
8317
+ useUpdateEffect(() => {
8318
+ if (!pressed && keyupHandler && event !== null) keyupHandler(event);
8319
+ else if (pressed && keydownHandler && event !== null) keydownHandler(event);
8320
+ return () => {};
8321
+ }, [pressed]);
8322
+ };
8323
+ //#endregion
8324
+ //#region src/private/hooks/usePreventScroll/usePreventScroll.ts
8325
+ const usePreventScroll = (locked) => {
8326
+ useLayoutEffect(() => {
8327
+ if (locked) {
8328
+ const originalStyle = window.getComputedStyle(document.body).overflow;
8329
+ document.body.style.overflow = "hidden";
8330
+ return () => {
8331
+ document.body.style.overflow = originalStyle;
8332
+ };
8333
+ }
8334
+ return () => {};
8335
+ }, [locked]);
8336
+ };
8337
+ //#endregion
8338
+ //#region src/private/hooks/useFocusTrap/helpers.ts
8339
+ const FOCUSABLE_ELEMENT_SELECTORS = "a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, [tabindex=\"0\"], [contenteditable]";
8340
+ const isHiddenElement = (element) => {
8341
+ const { display, visibility } = window.getComputedStyle(element);
8342
+ const isHidden = display === "none" || element.style.display === "none" || visibility === "none" || element.style.visibility === "hidden";
8343
+ return element.offsetWidth <= 0 && element.offsetHeight <= 0 || isHidden;
8344
+ };
8345
+ const isVisibleElement = (element) => {
8346
+ let parentElement = element;
8347
+ while (parentElement) {
8348
+ if (parentElement === document.body) break;
8349
+ if (isHiddenElement(parentElement)) return false;
8350
+ parentElement = parentElement.parentNode;
8351
+ }
8352
+ return true;
8353
+ };
8354
+ const getElementTabIndex = (element) => {
8355
+ const tabIndex = element.getAttribute("tabindex");
8356
+ return Number.parseInt(tabIndex ?? void 0, 10);
8357
+ };
8358
+ const isTabIndexNaN = (element) => {
8359
+ const tabIndex = getElementTabIndex(element);
8360
+ return Number.isNaN(tabIndex);
8361
+ };
8362
+ const isFocusableElement = (element) => {
8363
+ const tabbableNodeRegEx = /input|select|textarea|button|object/;
8364
+ const nodeName = element.nodeName.toLowerCase();
8365
+ const isTabIndexNotNaN = !isTabIndexNaN(element);
8366
+ const isFocusable = tabbableNodeRegEx.test(nodeName) && !element.disabled || (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);
8367
+ return Boolean(isFocusable) && isVisibleElement(element);
8368
+ };
8369
+ const isTabbableElement = (element) => {
8370
+ const tabIndex = getElementTabIndex(element);
8371
+ return (isTabIndexNaN(element) || tabIndex >= 0) && isFocusableElement(element);
8372
+ };
8373
+ const findTabbableDescendants = (element) => Array.from(element.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS)).filter(isTabbableElement);
8374
+ const focusLaterElements = [];
8375
+ let focusElement = null;
8376
+ let needToFocus = false;
8377
+ const handleBlur = () => {
8378
+ needToFocus = true;
8379
+ };
8380
+ const handleFocus = () => {
8381
+ if (needToFocus) {
8382
+ needToFocus = false;
8383
+ if (!focusElement) return;
8384
+ if (focusElement.contains(document.activeElement)) return;
8385
+ (findTabbableDescendants(focusElement)[0] ?? focusElement).focus();
8386
+ }
8387
+ };
8388
+ const markForFocusLater = () => {
8389
+ const element = document.activeElement;
8390
+ if (element !== null) focusLaterElements.push(element);
8391
+ };
8392
+ const returnFocus = () => {
8393
+ let toFocus = null;
8394
+ try {
8395
+ toFocus = focusLaterElements.pop();
8396
+ if (toFocus) toFocus.focus();
8397
+ } catch {
8398
+ console.warn(`You tried to return focus to ${coerceToString(toFocus)} but it is not in the DOM anymore`);
8399
+ }
8400
+ };
8401
+ const setupScopedFocus = (element) => {
8402
+ focusElement = element;
8403
+ document.addEventListener("focusout", handleBlur, false);
8404
+ document.addEventListener("focusin", handleFocus, true);
8405
+ };
8406
+ const teardownScopedFocus = () => {
8407
+ focusElement = null;
8408
+ document.removeEventListener("focusout", handleBlur);
8409
+ document.removeEventListener("focusin", handleFocus);
8410
+ };
8411
+ const scopeTab = (node, event) => {
8412
+ const tabbable = findTabbableDescendants(node);
8413
+ if (!tabbable.length) {
8414
+ event.preventDefault();
8415
+ return;
8416
+ }
8417
+ if (!(tabbable[event.shiftKey ? 0 : tabbable.length - 1] === document.activeElement || node === document.activeElement)) return;
8418
+ event.preventDefault();
8419
+ const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];
8420
+ if (target) target.focus();
8421
+ };
8422
+ const createAriaHider = (containerNode, selector) => {
8423
+ selector ??= "body > :not(script)";
8424
+ const rootNodes = Array.from(document.querySelectorAll(selector)).map((node) => {
8425
+ if (node.contains(containerNode)) return;
8426
+ const ariaHidden = node.getAttribute("aria-hidden");
8427
+ if (ariaHidden === null || ariaHidden === "false") node.setAttribute("aria-hidden", "true");
8428
+ return {
8429
+ node,
8430
+ ariaHidden
8431
+ };
8432
+ });
8433
+ return () => {
8434
+ rootNodes.forEach((item) => {
8435
+ if (!item) return;
8436
+ if (item.ariaHidden === null) item.node.removeAttribute("aria-hidden");
8437
+ else item.node.setAttribute("aria-hidden", item.ariaHidden);
8438
+ });
8439
+ };
8440
+ };
8441
+ //#endregion
8442
+ //#region src/private/hooks/useFocusTrap/useFocusTrap.ts
8443
+ const isRef = (val) => {
8444
+ return val !== null && typeof val === "object" && "current" in val;
8445
+ };
8446
+ const useFocusTrap = (active = true, options = {}) => {
8447
+ const ref = useRef(null);
8448
+ const restoreAriaRef = useRef(null);
8449
+ const setRef = useCallback((node) => {
8450
+ if (restoreAriaRef.current !== null) restoreAriaRef.current();
8451
+ if (ref.current) {
8452
+ returnFocus();
8453
+ teardownScopedFocus();
8454
+ }
8455
+ if (active && node !== null && node !== void 0) {
8456
+ setupScopedFocus(node);
8457
+ markForFocusLater();
8458
+ const processNode = (node2) => {
8459
+ restoreAriaRef.current = !(options.disableAriaHider ?? false) ? createAriaHider(node2) : null;
8460
+ let focusElement = null;
8461
+ if (isNotUndefined(options.focusSelector)) if (isRef(options.focusSelector)) focusElement = options.focusSelector.current;
8462
+ else focusElement = typeof options.focusSelector === "string" ? node2.querySelector(options.focusSelector) : options.focusSelector;
8463
+ if (!focusElement) {
8464
+ const children = Array.from(node2.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS));
8465
+ focusElement = children.find(isTabbableElement) ?? children.find(isFocusableElement) ?? null;
8466
+ if (!focusElement && isFocusableElement(node2)) focusElement = node2;
8467
+ }
8468
+ if (focusElement) focusElement.focus();
8469
+ if (!focusElement) console.warn("[useFocusTrap]: Failed to find a focusable element after activating the focus trap. Make sure to include at an element that can recieve focus. As a fallback, you can also set \"tabIndex={-1}\" on the focus trap node.", node2);
8470
+ };
8471
+ setTimeout(() => {
8472
+ if (node.ownerDocument) processNode(node);
8473
+ if (!node.ownerDocument) console.warn("[useFocusTrap]: The focus trap is not part of the DOM yet, so it is unable to correctly set focus. Make sure to render the ref node.", node);
8474
+ });
8475
+ ref.current = node;
8476
+ } else ref.current = null;
8477
+ }, [
8478
+ active,
8479
+ options.focusSelector,
8480
+ options.disableAriaHider
8481
+ ]);
8482
+ useEffect(() => {
8483
+ if (!active) return;
8484
+ const handleKeyDown = (event) => {
8485
+ if (event.key === "Tab" && ref.current) scopeTab(ref.current, event);
8486
+ };
8487
+ document.addEventListener("keydown", handleKeyDown);
8488
+ return () => {
8489
+ document.removeEventListener("keydown", handleKeyDown);
8490
+ };
8491
+ }, [active]);
8492
+ return setRef;
8493
+ };
8494
+ //#endregion
9191
8495
  //#region src/components/Modal/Dialog.tsx
9192
8496
  const Dialog = styled.div`
9193
8497
  background-color: white;
@@ -9745,10 +9049,12 @@ const useRange = (firstDate, secondDate) => {
9745
9049
  ]);
9746
9050
  return range;
9747
9051
  };
9748
- const RangeSelectorCalendar = ({ range = {
9052
+ const DEFAULT_RANGE$1 = {
9749
9053
  end: /* @__PURE__ */ new Date(),
9750
9054
  start: /* @__PURE__ */ new Date()
9751
- }, rangePartToShow = "", onChange, onIsValidChange = () => {}, earliestDate, latestDate, shouldPreventFuture = false }) => {
9055
+ };
9056
+ const NOOP = () => {};
9057
+ const RangeSelectorCalendar = ({ range = DEFAULT_RANGE$1, rangePartToShow = "", onChange, onIsValidChange = NOOP, earliestDate, latestDate, shouldPreventFuture = false }) => {
9752
9058
  const thisMonth = useMemo(() => startOfMonth(/* @__PURE__ */ new Date()), []);
9753
9059
  const [displayDate, setDisplayDate] = useState(isNotNil(range.end) ? range.end : thisMonth);
9754
9060
  const [{ firstDate, secondDate }, setDates] = useState({});
@@ -9782,8 +9088,8 @@ const RangeSelectorCalendar = ({ range = {
9782
9088
  useEffect(() => {
9783
9089
  if (isValidRange$1(range)) {
9784
9090
  let date = void 0;
9785
- if (priorInternalRange && !isEqual(range.start, priorInternalRange.start)) date = range.start;
9786
- if (priorInternalRange && !isEqual(range.end, priorInternalRange.end)) date = range.end;
9091
+ if (priorInternalRange && !isEqual$1(range.start, priorInternalRange.start)) date = range.start;
9092
+ if (priorInternalRange && !isEqual$1(range.end, priorInternalRange.end)) date = range.end;
9787
9093
  if (date) setDisplayDateDebounced(date);
9788
9094
  setDates({
9789
9095
  firstDate: range.start,
@@ -9863,7 +9169,8 @@ const ErrorMessage = styled.li`
9863
9169
  color: ${({ theme }) => theme.color.error600};
9864
9170
  font-size: 12px;
9865
9171
  `;
9866
- const ErrorMessages = ({ messages = [] }) => /* @__PURE__ */ jsx(ErrorMessagesList, { children: messages.map((message) => /* @__PURE__ */ jsx(ErrorMessage, { children: message }, message)) });
9172
+ const DEFAULT_MESSAGES = [];
9173
+ const ErrorMessages = ({ messages = DEFAULT_MESSAGES }) => /* @__PURE__ */ jsx(ErrorMessagesList, { children: messages.map((message) => /* @__PURE__ */ jsx(ErrorMessage, { children: message }, message)) });
9867
9174
  //#endregion
9868
9175
  //#region src/private/components/RangeSelectorInput/constants.ts
9869
9176
  const DIVIDER_STRING = " - ";
@@ -9958,7 +9265,7 @@ const getValueParts = (value) => {
9958
9265
  year2: isNonEmptyString(year2Val) ? year2Val : ""
9959
9266
  };
9960
9267
  };
9961
- const dateOnlyStringNumeric$1 = (date) => {
9268
+ const dateOnlyStringNumeric = (date) => {
9962
9269
  if (!isValid(date)) return "";
9963
9270
  try {
9964
9271
  return new Intl.DateTimeFormat(["en-US"], {
@@ -10036,16 +9343,16 @@ const getMaxValue = (valueParts, part) => {
10036
9343
  }
10037
9344
  };
10038
9345
  const getErrors = ({ range, maxDate, minDate }) => {
10039
- const startString = dateOnlyStringNumeric$1(range.start);
10040
- const endString = dateOnlyStringNumeric$1(range.end);
9346
+ const startString = dateOnlyStringNumeric(range.start);
9347
+ const endString = dateOnlyStringNumeric(range.end);
10041
9348
  const errorMessages = [];
10042
9349
  if (isNotNil(maxDate)) {
10043
- const maxString = dateOnlyStringNumeric$1(maxDate);
9350
+ const maxString = dateOnlyStringNumeric(maxDate);
10044
9351
  if (isBefore(maxDate, range.start)) errorMessages.push(`${startString} is after maximum of ${maxString}`);
10045
9352
  if (isBefore(maxDate, range.end)) errorMessages.push(`${endString} is after maximum of ${maxString}`);
10046
9353
  }
10047
9354
  if (minDate) {
10048
- const minString = dateOnlyStringNumeric$1(minDate);
9355
+ const minString = dateOnlyStringNumeric(minDate);
10049
9356
  if (isBefore(range.start, minDate)) errorMessages.push(`${startString} is before minimum of ${minString}`);
10050
9357
  if (isBefore(range.end, minDate)) errorMessages.push(`${endString} is before minimum of ${minString}`);
10051
9358
  }
@@ -10197,11 +9504,11 @@ const getNextSelection = ({ event, currentSelection }) => {
10197
9504
  let nextSelection = void 0;
10198
9505
  if (isMoveRightChar(event)) {
10199
9506
  nextSelection = getSelectionFromMove(currentSelection, 1, DATE_PART_POSITIONS);
10200
- if (!isEqual$1(nextSelection, currentSelection)) event.preventDefault();
9507
+ if (!isEqual(nextSelection, currentSelection)) event.preventDefault();
10201
9508
  }
10202
9509
  if (isMoveLeftChar(event)) {
10203
9510
  nextSelection = getSelectionFromMove(currentSelection, -1, DATE_PART_POSITIONS);
10204
- if (!isEqual$1(nextSelection, currentSelection)) event.preventDefault();
9511
+ if (!isEqual(nextSelection, currentSelection)) event.preventDefault();
10205
9512
  }
10206
9513
  return {
10207
9514
  nextSelection,
@@ -10365,6 +9672,11 @@ const formatDate = (date) => date.toLocaleDateString("en-US", {
10365
9672
  });
10366
9673
  const formatFunc = ({ start, end }) => `${formatDate(start)} - ${formatDate(end)}`;
10367
9674
  const isSameRange = (r1, r2) => isSameDay(r1.start, r2.start) && isSameDay(r1.end, r2.end);
9675
+ const DEFAULT_PRESETS = [];
9676
+ const DEFAULT_RANGE = {
9677
+ end: /* @__PURE__ */ new Date(),
9678
+ start: /* @__PURE__ */ new Date()
9679
+ };
10368
9680
  const CalendarPadding = styled.div`
10369
9681
  padding: ${({ theme }) => `0 ${theme.spacing.space03}`};
10370
9682
  `;
@@ -10460,10 +9772,7 @@ const Label$1 = styled.span`
10460
9772
  width: calc(100% + 40px);
10461
9773
  }
10462
9774
  `;
10463
- const RangeSelector = ({ align = "left", buttonVariant = "secondary", earliestDate, latestDate, format = formatFunc, fullWidth = false, footerText, onChange, presets = [], range = {
10464
- end: /* @__PURE__ */ new Date(),
10465
- start: /* @__PURE__ */ new Date()
10466
- }, shouldPreventFuture = false, customTriggerComponent, width, ...props }) => {
9775
+ const RangeSelector = ({ align = "left", buttonVariant = "secondary", earliestDate, latestDate, format = formatFunc, fullWidth = false, footerText, onChange, presets = DEFAULT_PRESETS, range = DEFAULT_RANGE, shouldPreventFuture = false, customTriggerComponent, width, ...props }) => {
10467
9776
  const [internalRange, setInternalRange] = useState(range);
10468
9777
  const [isOpen, setIsOpen] = useState(false);
10469
9778
  const [isCurrentCalendarValid, setIsCurrentCalendarValid] = useState(true);
@@ -10648,10 +9957,10 @@ const Slider = ({ ariaLabel, ariaLabelledby, ariaValuetext, disabled = false, in
10648
9957
  "data-testid": dataTestId,
10649
9958
  disabled,
10650
9959
  children: /* @__PURE__ */ jsx(ReactSlider, {
10651
- ...isString$1(ariaLabel) || isNonEmptyArray(ariaLabel) ? { ariaLabel } : {},
10652
- ...isString$1(ariaLabelledby) || isNonEmptyArray(ariaLabelledby) ? { ariaLabelledby } : {},
9960
+ ...isString(ariaLabel) || isNonEmptyArray(ariaLabel) ? { ariaLabel } : {},
9961
+ ...isString(ariaLabelledby) || isNonEmptyArray(ariaLabelledby) ? { ariaLabelledby } : {},
10653
9962
  ...isFunction(ariaValuetext) && { ariaValuetext: (state) => ariaValuetext(state) },
10654
- ...isString$1(ariaValuetext) && { ariaValuetext },
9963
+ ...isString(ariaValuetext) && { ariaValuetext },
10655
9964
  ...isNumber(initialValue) || isNonEmptyArray(initialValue) ? { defaultValue: initialValue } : {},
10656
9965
  disabled,
10657
9966
  marks: step,
@@ -11007,7 +10316,7 @@ const WistiaLogoComponent = styled.svg`
11007
10316
  max-width: 100%;
11008
10317
 
11009
10318
  &:hover {
11010
- path {
10319
+ & path {
11011
10320
  ${({ $hoverColor }) => $hoverColor !== void 0 ? `fill: ${$hoverColor}` : null};
11012
10321
  }
11013
10322
  }
@@ -11053,6 +10362,6 @@ const WistiaLogo = ({ description, height = 100, hoverColor, href, iconOnly = fa
11053
10362
  };
11054
10363
  WistiaLogo.displayName = "WistiaLogo_VHS";
11055
10364
  //#endregion
11056
- export { ActionModal, Avatar, Backdrop, BackgroundImage, Badge, Banner, Box, Button, ButtonGroup, ButtonLink, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickArea, CloseButton, CollapsibleGroup, Divider, Ellipsis, FileSelect, Form, FormButtons, FormField, FormFieldError, FormGlobalError, FullScreenModal, Icon, IconButton, Image, Input, KeyboardShortcut, Label, LabelDescription, Link, LinkButton, List, ListItem, Menu, MenuButton, MenuItem, MenuLabel, MenuRadioGroup, Modal, ModalBase, ModalBody, ModalCloseButton, ModalFooter, ModalHeader, Paper, ProgressBar, Radio, RadioGroup, RadioMenuItem, RangeSelector, RichTextEditor, ScreenReaderOnly, Select, Slider, Stack, SubMenu, Switch, Text, Thumbnail, ThumbnailCollage, Toast, ToastProvider, Tooltip, Truncate, VHSProvider, WistiaLogo, buildTimeDuration, camelCase, coerceToBoolean, coerceToString, copyToClipboard, dateOnlyISOString, dateOnlyString, dateOnlyStringForSentence, dateOnlyStringNumeric, dateTimeRounded, dateTimeString, dateTimeStringForSentence, dateTimeToDate, dateTimeToISO, dateToDateTime, dateUTCOffset, datetimeHelpers, dayOfWeekString, deepFreeze, ellipsisFlexParentStyle, ellipsisStyle, getBackgroundGradient, getSemiRandomBackgroundGradient, iconSizeMap, isDate, isHttpUrl, isObject, isString, isUrl, lowerFirst, mediaDurationString, merge, millisecondsToDurationISOString, monthDayStringNumeric, mq, objectHelpers, removeNewlines, rteDeserializeHTML, rteFormatTypes, rteSerializeToHTML, screenReaderOnlyStyle, selectKeys, sessionDurationString, stringHelpers, stripExtension, timeAgoString, timeOnlyString, truncate, upperFirst, useBoolean, useClipboard, useElementObserver, useEvent, useFocusTrap, useForceUpdate, useFormikContext, useIsHovered, useKey, useKeyPress, useKeyPressOnce, useLocalStorage, useMergedRefs, useMq, useOnClickOutside, usePreventScroll, usePreviousValue, useTheme, useThemeColor, useToast, useWindowSize };
10365
+ export { ActionModal, Avatar, Backdrop, BackgroundImage, Badge, Banner, Box, Button, ButtonGroup, ButtonLink, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickArea, CloseButton, CollapsibleGroup, Divider, Ellipsis, FileSelect, Form, FormButtons, FormField, FormFieldError, FormGlobalError, FullScreenModal, Icon, IconButton, Image, Input, KeyboardShortcut, Label, LabelDescription, Link, LinkButton, List, ListItem, Menu, MenuButton, MenuItem, MenuLabel, MenuRadioGroup, Modal, ModalBase, ModalBody, ModalCloseButton, ModalFooter, ModalHeader, Paper, ProgressBar, Radio, RadioGroup, RadioMenuItem, RangeSelector, RichTextEditor, ScreenReaderOnly, Select, Slider, Stack, SubMenu, Switch, Text, Thumbnail, ThumbnailCollage, Toast, ToastProvider, Tooltip, Truncate, VHSProvider, WistiaLogo, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, rteDeserializeHTML, rteFormatTypes, rteSerializeToHTML, screenReaderOnlyStyle, useFormikContext, useTheme, useThemeColor, useToast };
11057
10366
 
11058
10367
  //# sourceMappingURL=index.js.map