qt-ui-kit 1.0.5 → 1.0.6
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.d.mts +20 -1
- package/dist/index.d.ts +20 -1
- package/dist/index.js +4002 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3966 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/components/organisms/preview_card/preview_card.tsx","../src/components/atoms/icons/brand_icons/brand_icon.tsx","../src/data/vector_icons/service_brands/AtlassianIcon.tsx","../src/data/vector_icons/service_brands/GoogleMailIcon.tsx","../src/data/vector_icons/service_brands/GoogleCalendarIcon.tsx","../src/data/vector_icons/service_brands/MicrosoftTeamsIcon.tsx","../src/data/vector_icons/service_brands/MicrosoftOutlookMailIcon.tsx","../src/data/vector_icons/service_brands/SlackIcon.tsx","../src/components/atoms/icons/base_icons/ExternalLink.tsx","../src/data/vector_icons/service_brands/vector_icons.tsx","../node_modules/date-fns/constants.js","../node_modules/date-fns/constructFrom.js","../node_modules/date-fns/toDate.js","../node_modules/date-fns/addDays.js","../node_modules/date-fns/_lib/defaultOptions.js","../node_modules/date-fns/startOfWeek.js","../node_modules/date-fns/startOfISOWeek.js","../node_modules/date-fns/getISOWeekYear.js","../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","../node_modules/date-fns/_lib/normalizeDates.js","../node_modules/date-fns/startOfDay.js","../node_modules/date-fns/differenceInCalendarDays.js","../node_modules/date-fns/startOfISOWeekYear.js","../node_modules/date-fns/constructNow.js","../node_modules/date-fns/isSameDay.js","../node_modules/date-fns/isDate.js","../node_modules/date-fns/isValid.js","../node_modules/date-fns/startOfYear.js","../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/en-US/_lib/formatLong.js","../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/en-US/_lib/localize.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/locale/en-US/_lib/match.js","../node_modules/date-fns/locale/en-US.js","../node_modules/date-fns/getDayOfYear.js","../node_modules/date-fns/getISOWeek.js","../node_modules/date-fns/getWeekYear.js","../node_modules/date-fns/startOfWeekYear.js","../node_modules/date-fns/getWeek.js","../node_modules/date-fns/_lib/addLeadingZeros.js","../node_modules/date-fns/_lib/format/lightFormatters.js","../node_modules/date-fns/_lib/format/formatters.js","../node_modules/date-fns/_lib/format/longFormatters.js","../node_modules/date-fns/_lib/protectedTokens.js","../node_modules/date-fns/format.js","../node_modules/date-fns/isSameWeek.js","../node_modules/date-fns/isToday.js","../node_modules/date-fns/isTomorrow.js","../src/util/common.tsx","../src/components/molecules/text_content/sender_source_row/sender_source_row.tsx","../src/components/molecules/text_content/subject_line_row/subject_line_row.tsx","../src/components/molecules/text_content/metadata_row/metadata_row.tsx","../src/components/molecules/checkboxes/main_checkbox/secondary_checkbox.tsx","../src/components/atoms/icons/base_icons/CheckBox.tsx","../src/components/molecules/buttons/icon_button/category_icon_button/category_icon_button.tsx","../src/components/atoms/icons/category_icons/category_icon.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport MainCheckBox from \"../../molecules/checkboxes/main_checkbox/main_checkbox\";\nimport BrandIcon from \"../../atoms/icons/brand_icons/brand_icon\";\nimport {\n BaseIconName,\n ColorVariants,\n IntegrationService,\n} from \"../../../types/global\";\nimport CategoryIcon from \"../../atoms/icons/category_icons/category_icon\";\nimport SenderSourceRow from \"../../molecules/text_content/sender_source_row/sender_source_row\";\nimport SubjectLineRow from \"../../molecules/text_content/subject_line_row/subject_line_row\";\nimport MetadataRow from \"../../molecules/text_content/metadata_row/metadata_row\";\nimport clsx from \"clsx\";\nimport ThumbGroup from \"../../molecules/buttons/thumb_group/thumb_group\";\nimport SecondaryCheckBox from \"components/molecules/checkboxes/main_checkbox/secondary_checkbox\";\nimport BrandIconButton from \"components/molecules/buttons/icon_button/brand_icon_button/brand_icon_button\";\nimport { CategoryIconButton } from \"components/molecules/buttons/icon_button/category_icon_button/category_icon_button\";\n\ntype Props = {\n onRead?: () => void;\n onSelected?: () => void;\n service?: IntegrationService;\n subjectLine?: string;\n};\n\nexport default function PreviewCard({\n onRead,\n onSelected,\n service,\n subjectLine,\n}: Props) {\n const [selected, setSelected] = useState<boolean>(false);\n const [checked, setChecked] = useState<boolean>(false);\n // Property on Event\n const [read, setRead] = useState<boolean>(false);\n\n function intializeState() {\n // take event data and directly set state\n // bypass the usage of toggles since we dont want to execute\n // the function props\n }\n\n function toggleRead() {\n if (onRead) {\n try {\n onRead();\n } catch (e) {\n console.log(`Failed to execute: onRead() | [${e}]`);\n return;\n }\n }\n setRead(!read);\n }\n\n function toggleSelected() {\n if (onSelected) {\n try {\n onSelected();\n } catch (e) {\n console.log(`Failed to execute: onSelected() | [${e}]`);\n return;\n }\n }\n setSelected(!selected);\n }\n\n return (\n <div\n className={clsx(\n \"flex gap-4 h-min w-[409px] bg-neutral-6 rounded-3xl p-4 border-[2px] preview-card-shadow\",\n selected ? \"bg-qtpurple-200 border-qtpurple-200\" : \"\",\n !read ? \"border-qtpurple-500\" : \"border-neutral-6\"\n )}\n onClick={(e) => {\n e.stopPropagation();\n toggleSelected();\n if (!read) {\n toggleRead();\n }\n }}\n >\n <div className=\"flex flex-col gap-4 place-items-center\">\n <SecondaryCheckBox\n active={checked}\n onClick={() => setChecked(!checked)}\n />\n <BrandIcon service={service} size={24} />\n <CategoryIconButton active icon={BaseIconName.FIRE} />\n <CategoryIconButton active icon={BaseIconName.ALERT} />\n </div>\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex flex-col \">\n <SenderSourceRow\n leftText=\"Sender\"\n seperator=\"via\"\n rightText=\"App Source\"\n />\n {subjectLine && <SubjectLineRow text={subjectLine} />}\n <MetadataRow metadata={[\"Time/Date\", \"Internal/External\"]} />\n </div>\n <div className=\"bg-white flex flex-none flex-col gap-2 h-[136px] rounded-2xl text-sm p-4 leading-[120%] font-normal\">\n {\n \"Too long, don’t read AI summary. Lorem ipsum dolor sit amet, consectetur adipiscing. Dolor sit amet, consectetur. Reprehenderit in voluptate velit.\"\n }\n {/* <ThumbGroup /> */}\n </div>\n </div>\n </div>\n );\n}\n","import { getServiceImagePath } from \"../../../../util/common\";\nimport { IntegrationService } from \"../../../../types/global\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\nimport { AtlassianIcon } from \"data/vector_icons/service_brands/AtlassianIcon\";\nimport { IconSize } from \"types/sizes\";\nimport { GoogleMailIcon } from \"data/vector_icons/service_brands/GoogleMailIcon\";\nimport { GoogleCalendarIcon } from \"data/vector_icons/service_brands/GoogleCalendarIcon\";\nimport { MicrosoftTeamsIcon } from \"data/vector_icons/service_brands/MicrosoftTeamsIcon\";\nimport { MicrosoftOutlookMailIcon } from \"data/vector_icons/service_brands/MicrosoftOutlookMailIcon\";\nimport { SlackIcon } from \"data/vector_icons/service_brands/SlackIcon\";\n\ntype Props = {\n size?: IconSize;\n className?: string;\n service?: IntegrationService;\n};\n\nexport default function BrandIcon({ size = 24, className, service }: Props) {\n console.log(\"ser\", service);\n function getBrandIcon(service: IntegrationService, size: IconSize) {\n switch (service) {\n case IntegrationService.SLACK:\n return <SlackIcon size={size} />;\n case IntegrationService.GMAIL:\n return <GoogleMailIcon size={size} />;\n case IntegrationService.GCAL:\n return <GoogleCalendarIcon size={size} />;\n case IntegrationService.MSTEAMS:\n return <MicrosoftTeamsIcon size={size} />;\n case IntegrationService.MSMAIL:\n return <MicrosoftOutlookMailIcon size={size} />;\n case IntegrationService.MSCAL:\n return <MicrosoftOutlookMailIcon size={size} />;\n case IntegrationService.AJIRA:\n return <AtlassianIcon size={size} />;\n default:\n return null;\n }\n }\n\n return (\n <div\n className={twMerge(clsx(`flex-none select-none`), className)}\n style={{ width: `${size}px`, height: `${size}px` }}\n >\n <div>{service && getBrandIcon(service, size)}</div>\n </div>\n );\n}\n","import { IconSize } from \"types/sizes\";\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function AtlassianIcon({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <>\n <path\n d=\"M15.1203 8.05364L9.02564 2.15479L8.43332 1.58203L3.84148 6.0221L1.74627 8.05364C1.52598 8.26417 1.52598 8.60684 1.74627 8.82223L5.94158 12.8805L8.43818 15.2939L13.03 10.8538L13.1035 10.7852L15.1302 8.82223C15.3504 8.61177 15.3504 8.26909 15.1302 8.05364H15.1203ZM8.43332 10.4622L6.3381 8.43551L8.43332 6.40884L10.5285 8.43551L8.43332 10.4622Z\"\n fill=\"#2684FF\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.43367 6.40782C7.06295 5.08119 7.05316 2.93213 8.41897 1.5957L3.83203 6.03088L6.32865 8.4443L8.43367 6.40782Z\"\n fill=\"url(#paint0_linear_3741_117692)\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.5337 8.42969L8.43359 10.4612C9.09446 11.1025 9.46647 11.969 9.46647 12.8747C9.46647 13.7803 9.09446 14.6468 8.43359 15.288L13.0303 10.8431L10.5337 8.42969Z\"\n fill=\"url(#paint1_linear_3741_117692)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_3741_117692\"\n x1=\"8.1938\"\n y1=\"4.66508\"\n x2=\"4.6985\"\n y2=\"6.18753\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.18\" stop-color=\"#0052CC\" />\n <stop offset=\"1\" stop-color=\"#2684FF\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_3741_117692\"\n x1=\"8.70773\"\n y1=\"12.1942\"\n x2=\"12.1981\"\n y2=\"10.6816\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.18\" stop-color=\"#0052CC\" />\n <stop offset=\"1\" stop-color=\"#2684FF\" />\n </linearGradient>\n </defs>\n </>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <>\n <path\n d=\"M22.4612 11.8617L13.3192 3.01343L12.4307 2.1543L5.54298 8.8144L2.40017 11.8617C2.06973 12.1775 2.06973 12.6915 2.40017 13.0146L8.69312 19.102L12.438 22.7221L19.3258 16.0619L19.436 15.9591L22.476 13.0146C22.8064 12.6989 22.8064 12.1849 22.476 11.8617H22.4612ZM12.4307 15.4746L9.28791 12.4345L12.4307 9.3945L15.5735 12.4345L12.4307 15.4746Z\"\n fill=\"#2684FF\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12.4308 9.39395C10.3747 7.404 10.36 4.18042 12.4087 2.17578L5.52832 8.82854L9.27325 12.4487L12.4308 9.39395Z\"\n fill=\"url(#paint0_linear_2817_23129)\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15.5808 12.4258L12.4307 15.4731C13.422 16.4351 13.98 17.7348 13.98 19.0932C13.98 20.4516 13.422 21.7514 12.4307 22.7133L19.3257 16.0459L15.5808 12.4258Z\"\n fill=\"url(#paint1_linear_2817_23129)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_2817_23129\"\n x1=\"12.071\"\n y1=\"6.77985\"\n x2=\"6.82803\"\n y2=\"9.06352\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.18\" stop-color=\"#0052CC\" />\n <stop offset=\"1\" stop-color=\"#2684FF\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_2817_23129\"\n x1=\"12.8419\"\n y1=\"18.0725\"\n x2=\"18.0774\"\n y2=\"15.8036\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.18\" stop-color=\"#0052CC\" />\n <stop offset=\"1\" stop-color=\"#2684FF\" />\n </linearGradient>\n </defs>\n </>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <>\n <path\n d=\"M33.0346 17.1353L19.3216 3.86292L17.9889 2.57422L7.65724 12.5644L2.94303 17.1353C2.44738 17.609 2.44738 18.38 2.94303 18.8647L12.3825 27.9957L17.9998 33.4259L28.3314 23.4357L28.4967 23.2815L33.0568 18.8647C33.5523 18.3911 33.5523 17.6201 33.0568 17.1353H33.0346ZM17.9889 22.5546L13.2746 17.9945L17.9889 13.4345L22.703 17.9945L17.9889 22.5546Z\"\n fill=\"#2684FF\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.9885 13.4347C14.9043 10.4498 14.8823 5.61438 17.9554 2.60742L7.63477 12.5866L13.2522 18.0168L17.9885 13.4347Z\"\n fill=\"url(#paint0_linear_3425_206791)\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M22.7135 17.9824L17.9883 22.5534C19.4752 23.9963 20.3123 25.9459 20.3123 27.9836C20.3123 30.0212 19.4752 31.9709 17.9883 33.4137L28.3308 23.4126L22.7135 17.9824Z\"\n fill=\"url(#paint1_linear_3425_206791)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_3425_206791\"\n x1=\"17.4487\"\n y1=\"9.51352\"\n x2=\"9.58433\"\n y2=\"12.939\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.18\" stop-color=\"#0052CC\" />\n <stop offset=\"1\" stop-color=\"#2684FF\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_3425_206791\"\n x1=\"18.6051\"\n y1=\"26.4525\"\n x2=\"26.4584\"\n y2=\"23.0491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.18\" stop-color=\"#0052CC\" />\n <stop offset=\"1\" stop-color=\"#2684FF\" />\n </linearGradient>\n </defs>\n </>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: <></>,\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import { IconSize } from \"types/sizes\";\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function GoogleMailIcon({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <>\n <path\n d=\"M2.51612 13.5817H4.69794V8.28297L1.58105 5.94531V12.6466C1.58105 13.164 2.00028 13.5817 2.51612 13.5817Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12.1787 13.5817H14.3605C14.8779 13.5817 15.2956 13.1625 15.2956 12.6466V5.94531L12.1787 8.28297\"\n fill=\"#34A853\"\n />\n <path\n d=\"M12.1787 4.23069V8.28263L15.2956 5.94497V4.69822C15.2956 3.54186 13.9756 2.88263 13.0514 3.57614\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M4.69824 8.28242V4.23047L8.4385 7.03566L12.1788 4.23047V8.28242L8.4385 11.0876\"\n fill=\"#EA4335\"\n />\n <path\n d=\"M1.58105 4.69822V5.94497L4.69794 8.28263V4.23069L3.82521 3.57614C2.8995 2.88263 1.58105 3.54186 1.58105 4.69822Z\"\n fill=\"#C5221F\"\n />\n </>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <>\n <path\n d=\"M3.55494 20.1538H6.82767V12.2057L2.15234 8.69922V18.7512C2.15234 19.5273 2.78117 20.1538 3.55494 20.1538Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M18.0488 20.1538H21.3216C22.0977 20.1538 22.7242 19.5249 22.7242 18.7512V8.69922L18.0488 12.2057\"\n fill=\"#34A853\"\n />\n <path\n d=\"M18.0488 6.12728V12.2052L22.7242 8.69871V6.82858C22.7242 5.09403 20.7442 4.1052 19.3579 5.14546\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M6.82812 12.2049V6.12695L12.4385 10.3347L18.0489 6.12695V12.2049L12.4385 16.4127\"\n fill=\"#EA4335\"\n />\n <path\n d=\"M2.15234 6.82858V8.69871L6.82767 12.2052V6.12728L5.51858 5.14546C4.13001 4.1052 2.15234 5.09403 2.15234 6.82858Z\"\n fill=\"#C5221F\"\n />\n </>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <>\n <g clip-path=\"url(#clip0_3425_206771)\">\n <path\n d=\"M4.67519 29.5724H9.58428V17.6504L2.57129 12.3906V27.4685C2.57129 28.6327 3.51454 29.5724 4.67519 29.5724Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M26.416 29.5724H31.3251C32.4893 29.5724 33.429 28.6292 33.429 27.4685V12.3906L26.416 17.6504\"\n fill=\"#34A853\"\n />\n <path\n d=\"M26.416 8.53369V17.6506L33.429 12.3908V9.58564C33.429 6.98382 30.459 5.50058 28.3797 7.06097\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M9.58398 17.6501V8.5332L17.9996 14.8449L26.4152 8.5332V17.6501L17.9996 23.9618\"\n fill=\"#EA4335\"\n />\n <path\n d=\"M2.57129 9.58564V12.3908L9.58428 17.6506V8.53369L7.62064 7.06097C5.53778 5.50058 2.57129 6.98382 2.57129 9.58564Z\"\n fill=\"#C5221F\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3425_206771\">\n <rect\n width=\"30.8571\"\n height=\"23.1429\"\n fill=\"white\"\n transform=\"translate(2.57129 6.42773)\"\n />\n </clipPath>\n </defs>\n </>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: <></>,\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import { IconSize } from \"types/sizes\";\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function GoogleCalendarIcon({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <>\n <path\n d=\"M12.0468 4.82769L8.79868 4.4668L4.82873 4.82769L4.46777 8.43674L4.82866 12.0458L8.43772 12.4969L12.0468 12.0458L12.4077 8.34657L12.0468 4.82769Z\"\n fill=\"white\"\n />\n <path\n d=\"M6.30949 10.4263C6.03973 10.244 5.85294 9.97789 5.75098 9.62598L6.37717 9.36794C6.43402 9.58449 6.53324 9.75229 6.67491 9.8714C6.81569 9.9905 6.98711 10.0491 7.18741 10.0491C7.39223 10.0491 7.56819 9.98687 7.71521 9.86234C7.86222 9.73782 7.93628 9.57901 7.93628 9.38687C7.93628 9.19021 7.85866 9.02954 7.70348 8.90509C7.5483 8.78063 7.35342 8.7183 7.12062 8.7183H6.75884V8.09848H7.08359C7.28389 8.09848 7.45265 8.04438 7.58979 7.9361C7.72693 7.82783 7.7955 7.67985 7.7955 7.49128C7.7955 7.32349 7.73413 7.18991 7.61146 7.0898C7.48878 6.98968 7.33354 6.93914 7.14497 6.93914C6.96092 6.93914 6.81473 6.9879 6.70645 7.08623C6.59818 7.18456 6.51966 7.30545 6.47009 7.44801L5.85027 7.18998C5.93235 6.95718 6.08307 6.75146 6.30407 6.57373C6.52515 6.39599 6.80753 6.30664 7.15038 6.30664C7.40389 6.30664 7.63217 6.3554 7.83431 6.45373C8.03639 6.55206 8.19521 6.68831 8.30979 6.86152C8.42437 7.03562 8.48122 7.23057 8.48122 7.44705C8.48122 7.66813 8.42801 7.85485 8.32151 8.00824C8.21502 8.16164 8.08419 8.27889 7.92901 8.36104V8.398C8.13383 8.48372 8.30074 8.61455 8.43246 8.7905C8.5633 8.96646 8.62913 9.1767 8.62913 9.42212C8.62913 9.66753 8.56686 9.88676 8.44234 10.079C8.31781 10.2712 8.14549 10.4227 7.92716 10.5328C7.70794 10.6428 7.46163 10.6988 7.18823 10.6988C6.87157 10.6997 6.57925 10.6085 6.30949 10.4263Z\"\n fill=\"#1A73E8\"\n />\n <path\n d=\"M10.1517 7.32024L9.46777 7.81738L9.12402 7.2959L10.3574 6.40625H10.8302V10.6026H10.1517V7.32024Z\"\n fill=\"#1A73E8\"\n />\n <path\n d=\"M12.047 15.2941L15.2951 12.046L13.671 11.3242L12.047 12.046L11.3252 13.67L12.047 15.2941Z\"\n fill=\"#EA4335\"\n />\n <path\n d=\"M4.10742 13.669L4.8292 15.293H12.0472V12.0449H4.8292L4.10742 13.669Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M2.66373 1.58008C2.06558 1.58008 1.58105 2.0646 1.58105 2.66275V12.0462L3.2051 12.768L4.82915 12.0462V4.82817H12.0472L12.769 3.20412L12.0472 1.58008H2.66373Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M1.58105 12.0449V14.2103C1.58105 14.8086 2.06558 15.293 2.66373 15.293H4.82915V12.0449H1.58105Z\"\n fill=\"#188038\"\n />\n <path\n d=\"M12.0469 4.8292V12.0472H15.295V4.8292L13.6709 4.10742L12.0469 4.8292Z\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M15.295 4.82817V2.66275C15.295 2.06454 14.8104 1.58008 14.2123 1.58008H12.0469V4.82817H15.295Z\"\n fill=\"#1967D2\"\n />\n </>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <>\n <path\n d=\"M17.8509 7.02376L12.9788 6.48242L7.02386 7.02376L6.48242 12.4373L7.02376 17.8509L12.4373 18.5276L17.8509 17.8509L18.3923 12.3021L17.8509 7.02376Z\"\n fill=\"white\"\n />\n <path\n d=\"M9.245 15.4216C8.84036 15.1482 8.56018 14.7491 8.40723 14.2212L9.34652 13.8341C9.43179 14.159 9.58062 14.4107 9.79312 14.5893C10.0043 14.768 10.2614 14.8559 10.5619 14.8559C10.8691 14.8559 11.133 14.7625 11.3536 14.5757C11.5741 14.389 11.6852 14.1507 11.6852 13.8625C11.6852 13.5675 11.5687 13.3265 11.336 13.1399C11.1032 12.9532 10.8109 12.8597 10.4617 12.8597H9.91902V11.9299H10.4062C10.7066 11.9299 10.9597 11.8488 11.1654 11.6864C11.3712 11.524 11.474 11.302 11.474 11.0191C11.474 10.7675 11.382 10.5671 11.1979 10.4169C11.0139 10.2667 10.7811 10.1909 10.4982 10.1909C10.2221 10.1909 10.0028 10.2641 9.84044 10.4116C9.67803 10.5591 9.56026 10.7404 9.48589 10.9542L8.55616 10.5672C8.67928 10.218 8.90536 9.90942 9.23687 9.64282C9.56848 9.37621 9.99205 9.24219 10.5063 9.24219C10.8866 9.24219 11.229 9.31532 11.5322 9.46282C11.8354 9.61031 12.0736 9.81469 12.2454 10.0745C12.4173 10.3357 12.5026 10.6281 12.5026 10.9528C12.5026 11.2844 12.4228 11.5645 12.263 11.7946C12.1033 12.0247 11.907 12.2006 11.6743 12.3238V12.3792C11.9815 12.5078 12.2319 12.7041 12.4295 12.968C12.6257 13.2319 12.7245 13.5473 12.7245 13.9154C12.7245 14.2835 12.6311 14.6124 12.4443 14.9007C12.2575 15.189 11.999 15.4163 11.6715 15.5814C11.3427 15.7465 10.9732 15.8304 10.5631 15.8304C10.0881 15.8317 9.64964 15.695 9.245 15.4216Z\"\n fill=\"#1A73E8\"\n />\n <path\n d=\"M15.0083 10.7616L13.9824 11.5073L13.4668 10.7251L15.3169 9.39062H16.0261V15.6852H15.0083V10.7616Z\"\n fill=\"#1A73E8\"\n />\n <path\n d=\"M17.8512 22.7243L22.7234 17.8522L20.2873 16.7695L17.8512 17.8522L16.7686 20.2883L17.8512 22.7243Z\"\n fill=\"#EA4335\"\n />\n <path\n d=\"M5.94141 20.2857L7.02408 22.7217H17.8511V17.8496H7.02408L5.94141 20.2857Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M3.77636 2.15234C2.87913 2.15234 2.15234 2.87913 2.15234 3.77636V17.8515L4.58841 18.9342L7.02448 17.8515V7.02448H17.8515L18.9342 4.58841L17.8516 2.15234H3.77636Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M2.15234 17.8496V21.0977C2.15234 21.9951 2.87913 22.7217 3.77636 22.7217H7.02448V17.8496H2.15234Z\"\n fill=\"#188038\"\n />\n <path\n d=\"M17.8516 7.02603V17.8531H22.7237V7.02603L20.2876 5.94336L17.8516 7.02603Z\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M22.7237 7.02448V3.77636C22.7237 2.87903 21.9969 2.15234 21.0997 2.15234H17.8516V7.02448H22.7237Z\"\n fill=\"#1967D2\"\n />\n </>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <>\n <path\n d=\"M26.1217 9.87849L18.8128 9.06641L9.87962 9.87849L9.06738 17.9996L9.87946 26.1207L18.0006 27.1359L26.1217 26.1207L26.9338 17.7967L26.1217 9.87849Z\"\n fill=\"white\"\n />\n <path\n d=\"M13.2109 22.479C12.6039 22.0689 12.1835 21.47 11.9541 20.6782L13.3632 20.0976C13.4911 20.5848 13.7144 20.9624 14.0331 21.2304C14.3499 21.4984 14.7357 21.6304 15.1864 21.6304C15.6473 21.6304 16.0432 21.4903 16.374 21.2101C16.7048 20.9298 16.8715 20.5725 16.8715 20.1401C16.8715 19.6976 16.6968 19.3361 16.3476 19.056C15.9985 18.776 15.5599 18.6357 15.0361 18.6357H14.222V17.241H14.9528C15.4035 17.241 15.7832 17.1193 16.0918 16.8756C16.4004 16.632 16.5547 16.299 16.5547 15.8747C16.5547 15.4971 16.4166 15.1965 16.1406 14.9712C15.8645 14.746 15.5152 14.6322 15.0909 14.6322C14.6767 14.6322 14.3478 14.742 14.1041 14.9632C13.8605 15.1845 13.6838 15.4565 13.5722 15.7773L12.1775 15.1967C12.3622 14.6728 12.7014 14.2099 13.1987 13.81C13.6961 13.41 14.3316 13.209 15.1031 13.209C15.6735 13.209 16.1872 13.3187 16.642 13.54C17.0968 13.7612 17.4541 14.0678 17.712 14.4576C17.9698 14.8493 18.0977 15.288 18.0977 15.7751C18.0977 16.2726 17.978 16.6928 17.7383 17.0379C17.4987 17.3831 17.2043 17.647 16.8551 17.8318V17.915C17.316 18.1079 17.6916 18.4023 17.988 18.7982C18.2824 19.1941 18.4305 19.6672 18.4305 20.2194C18.4305 20.7717 18.2904 21.265 18.0102 21.6975C17.73 22.13 17.3423 22.471 16.851 22.7186C16.3577 22.9663 15.8034 23.0922 15.1882 23.0922C14.4757 23.0942 13.8179 22.8891 13.2109 22.479Z\"\n fill=\"#1A73E8\"\n />\n <path\n d=\"M21.8574 15.4864L20.3184 16.605L19.5449 15.4316L22.3203 13.4297H23.3842V22.8724H21.8574V15.4864Z\"\n fill=\"#1A73E8\"\n />\n <path\n d=\"M26.1212 33.4291L33.4301 26.1203L29.7757 24.4961L26.1212 26.1203L24.4971 29.7747L26.1212 33.4291Z\"\n fill=\"#EA4335\"\n />\n <path\n d=\"M8.25488 29.7775L9.87904 33.4319H26.1211V26.123H9.87904L8.25488 29.7775Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M5.00655 2.57031C3.6606 2.57031 2.57031 3.6606 2.57031 5.00655V26.1213L6.22475 27.7454L9.87919 26.1213V9.87919H26.1213L27.7454 6.22475L26.1214 2.57031H5.00655Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M2.57031 26.123V30.9957C2.57031 32.3418 3.6606 33.4319 5.00655 33.4319H9.87919V26.123H2.57031Z\"\n fill=\"#188038\"\n />\n <path\n d=\"M26.1201 9.88002V26.1221H33.429V9.88002L29.7746 8.25586L26.1201 9.88002Z\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M33.429 9.87919V5.00655C33.429 3.66044 32.3387 2.57031 30.9928 2.57031H26.1201V9.87919H33.429Z\"\n fill=\"#1967D2\"\n />\n </>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: <></>,\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import { IconSize } from \"types/sizes\";\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function MicrosoftTeamsIcon({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <>\n <g clip-path=\"url(#clip0_3741_117758)\">\n <path\n d=\"M10.7093 6.40234H14.2517C14.5864 6.40234 14.8577 6.67422 14.8577 7.00961V10.2431C14.8577 11.4757 13.8606 12.475 12.6306 12.475H12.62C11.39 12.4752 10.3928 11.4761 10.3926 10.2434C10.3926 10.2433 10.3926 10.2432 10.3926 10.2431V6.71972C10.3926 6.54444 10.5344 6.40234 10.7093 6.40234Z\"\n fill=\"#5059C9\"\n />\n <path\n d=\"M13.1032 5.76323C13.8958 5.76323 14.5384 5.1193 14.5384 4.32498C14.5384 3.53065 13.8958 2.88672 13.1032 2.88672C12.3105 2.88672 11.668 3.53065 11.668 4.32498C11.668 5.1193 12.3105 5.76323 13.1032 5.76323Z\"\n fill=\"#5059C9\"\n />\n <path\n d=\"M8.63755 5.76239C9.78248 5.76239 10.7106 4.83227 10.7106 3.68491C10.7106 2.53754 9.78248 1.60742 8.63755 1.60742C7.49261 1.60742 6.56445 2.53754 6.56445 3.68491C6.56445 4.83227 7.49261 5.76239 8.63755 5.76239Z\"\n fill=\"#7B83EB\"\n />\n <path\n d=\"M11.4027 6.40234H5.55533C5.22464 6.41054 4.96305 6.68556 4.97072 7.01696V10.705C4.92454 12.6937 6.49458 14.344 8.47903 14.3927C10.4635 14.344 12.0335 12.6937 11.9873 10.705V7.01696C11.995 6.68556 11.7334 6.41054 11.4027 6.40234Z\"\n fill=\"#7B83EB\"\n />\n <path\n opacity=\"0.1\"\n d=\"M8.79714 6.40234V11.5705C8.79555 11.8075 8.65224 12.0204 8.43355 12.1106C8.36392 12.1401 8.28909 12.1554 8.21349 12.1554H5.25056C5.2091 12.0499 5.17083 11.9444 5.13893 11.8358C5.02729 11.469 4.97032 11.0878 4.96989 10.7043V7.016C4.96222 6.68513 5.22339 6.41054 5.55355 6.40234H8.79714Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.47821 6.40234V11.8901C8.47819 11.9659 8.46301 12.0408 8.43355 12.1106C8.34351 12.3298 8.13105 12.4734 7.89455 12.475H5.40046C5.34624 12.3695 5.29521 12.264 5.25056 12.1554C5.20591 12.0467 5.17083 11.9444 5.13893 11.8358C5.02729 11.469 4.97032 11.0878 4.96989 10.7043V7.016C4.96222 6.68513 5.22339 6.41054 5.55355 6.40234H8.47821Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.4782 6.40234V11.2509C8.47577 11.5729 8.21588 11.8333 7.89454 11.8358H5.13893C5.02729 11.469 4.97032 11.0878 4.96989 10.7043V7.016C4.96222 6.68513 5.22339 6.41054 5.55355 6.40234H8.4782Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.15926 6.40234V11.2509C8.15683 11.5729 7.89694 11.8333 7.5756 11.8358H5.13893C5.02729 11.469 4.97032 11.0878 4.96989 10.7043V7.016C4.96222 6.68513 5.22339 6.41054 5.55355 6.40234H8.15926Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.1\"\n d=\"M8.79722 4.7509V5.75768C8.743 5.76087 8.69198 5.76407 8.63775 5.76407C8.58353 5.76407 8.5325 5.76088 8.47828 5.75768C8.37063 5.75052 8.26386 5.7334 8.15935 5.70654C7.5135 5.55327 6.97992 5.09937 6.72413 4.48563C6.68012 4.38256 6.64595 4.27554 6.62207 4.16602H8.21356C8.5354 4.16724 8.796 4.42838 8.79722 4.7509Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.47876 5.06926V5.75643C8.37111 5.74927 8.26434 5.73215 8.15983 5.70529C7.51398 5.55202 6.9804 5.09812 6.72461 4.48438H7.89511C8.21694 4.4856 8.47754 4.74674 8.47876 5.06926Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.47876 5.06926V5.75643C8.37111 5.74927 8.26434 5.73215 8.15983 5.70529C7.51398 5.55202 6.9804 5.09812 6.72461 4.48438H7.89511C8.21694 4.4856 8.47754 4.74674 8.47876 5.06926Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.15983 5.06927V5.70529C7.51398 5.55202 6.9804 5.09812 6.72461 4.48438H7.57617C7.89801 4.4856 8.1586 4.74675 8.15983 5.06927Z\"\n fill=\"black\"\n />\n <path\n d=\"M1.72719 4.48438H7.57457C7.89745 4.48438 8.15918 4.74667 8.15918 5.07022V10.93C8.15918 11.2536 7.89744 11.5158 7.57457 11.5158H1.72719C1.40431 11.5158 1.14258 11.2535 1.14258 10.93V5.07022C1.14258 4.74667 1.40432 4.48438 1.72719 4.48438Z\"\n fill=\"url(#paint0_linear_3741_117758)\"\n />\n <path\n d=\"M6.19038 6.71642H5.02148V9.90616H4.27676V6.71642H3.11328V6.09766H6.19038V6.71642Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_3741_117758\"\n x1=\"2.36151\"\n y1=\"4.0266\"\n x2=\"6.95481\"\n y2=\"11.9652\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5A62C3\" />\n <stop offset=\"0.5\" stop-color=\"#4D55BD\" />\n <stop offset=\"1\" stop-color=\"#3940AB\" />\n </linearGradient>\n <clipPath id=\"clip0_3741_117758\">\n <rect\n width=\"13.7143\"\n height=\"12.7845\"\n fill=\"white\"\n transform=\"translate(1.14258 1.60742)\"\n />\n </clipPath>\n </defs>\n </>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <>\n <g clip-path=\"url(#clip0_2817_23838)\">\n <path\n d=\"M16.0639 9.60352H21.3776C21.8796 9.60352 22.2865 10.0113 22.2865 10.5144V15.3647C22.2865 17.2136 20.7909 18.7125 18.9458 18.7125H18.9301C17.085 18.7127 15.5891 17.2141 15.5889 15.3652C15.5889 15.365 15.5889 15.3648 15.5889 15.3647V10.0796C15.5889 9.81666 15.8016 9.60352 16.0639 9.60352Z\"\n fill=\"#5059C9\"\n />\n <path\n d=\"M19.6548 8.64485C20.8437 8.64485 21.8076 7.67895 21.8076 6.48746C21.8076 5.29597 20.8437 4.33008 19.6548 4.33008C18.4658 4.33008 17.502 5.29597 17.502 6.48746C17.502 7.67895 18.4658 8.64485 19.6548 8.64485Z\"\n fill=\"#5059C9\"\n />\n <path\n d=\"M12.9563 8.64456C14.6737 8.64456 16.066 7.24938 16.066 5.52834C16.066 3.80729 14.6737 2.41211 12.9563 2.41211C11.2389 2.41211 9.84668 3.80729 9.84668 5.52834C9.84668 7.24938 11.2389 8.64456 12.9563 8.64456Z\"\n fill=\"#7B83EB\"\n />\n <path\n d=\"M17.1036 9.60352H8.3325C7.83647 9.61582 7.44408 10.0283 7.45559 10.5254V16.0575C7.38632 19.0405 9.74139 21.516 12.7181 21.589C15.6947 21.516 18.0498 19.0405 17.9805 16.0575V10.5254C17.992 10.0283 17.5996 9.61582 17.1036 9.60352Z\"\n fill=\"#7B83EB\"\n />\n <path\n opacity=\"0.1\"\n d=\"M13.1962 9.60352V17.3557C13.1938 17.7112 12.9788 18.0306 12.6508 18.1659C12.5464 18.2102 12.4341 18.233 12.3207 18.2331H7.87633C7.81414 18.0748 7.75673 17.9166 7.70888 17.7536C7.54142 17.2035 7.45597 16.6316 7.45532 16.0565V10.524C7.44382 10.0277 7.83557 9.61582 8.33081 9.60352H13.1962Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.7178 9.60352V17.8351C12.7178 17.9488 12.695 18.0613 12.6508 18.1659C12.5157 18.4947 12.1971 18.7101 11.8423 18.7125H8.10118C8.01985 18.5543 7.94331 18.3961 7.87633 18.2331C7.80935 18.0701 7.75673 17.9166 7.70888 17.7536C7.54142 17.2035 7.45597 16.6316 7.45532 16.0565V10.524C7.44382 10.0277 7.83557 9.61582 8.33081 9.60352H12.7178Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.7178 9.60352V16.8763C12.7141 17.3593 12.3243 17.75 11.8423 17.7536H7.70888C7.54142 17.2035 7.45597 16.6316 7.45532 16.0565V10.524C7.44382 10.0277 7.83557 9.61582 8.33081 9.60352H12.7178Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.2394 9.60352V16.8763C12.2357 17.3593 11.8459 17.75 11.3639 17.7536H7.70888C7.54142 17.2035 7.45597 16.6316 7.45532 16.0565V10.524C7.44382 10.0277 7.83557 9.61582 8.33081 9.60352H12.2394Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.1\"\n d=\"M13.1963 7.12537V8.63554C13.115 8.64034 13.0385 8.64514 12.9571 8.64514C12.8758 8.64514 12.7992 8.64034 12.7179 8.63554C12.5564 8.62481 12.3963 8.59913 12.2395 8.55884C11.2707 8.32893 10.4704 7.64808 10.0867 6.72746C10.0207 6.57286 9.96941 6.41233 9.93359 6.24805H12.3208C12.8036 6.24988 13.1945 6.64159 13.1963 7.12537Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.7181 7.60389V8.63464C12.5567 8.6239 12.3965 8.59823 12.2397 8.55794C11.271 8.32803 10.4706 7.64718 10.0869 6.72656H11.8427C12.3254 6.72839 12.7163 7.12012 12.7181 7.60389Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.7181 7.60389V8.63464C12.5567 8.6239 12.3965 8.59823 12.2397 8.55794C11.271 8.32803 10.4706 7.64718 10.0869 6.72656H11.8427C12.3254 6.72839 12.7163 7.12012 12.7181 7.60389Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.2397 7.6039V8.55794C11.271 8.32803 10.4706 7.64718 10.0869 6.72656H11.3643C11.847 6.7284 12.2379 7.12013 12.2397 7.6039Z\"\n fill=\"black\"\n />\n <path\n d=\"M2.59078 6.72656H11.3619C11.8462 6.72656 12.2388 7.12001 12.2388 7.60533V16.395C12.2388 16.8803 11.8462 17.2738 11.3619 17.2738H2.59078C2.10647 17.2738 1.71387 16.8803 1.71387 16.395V7.60533C1.71387 7.12001 2.10648 6.72656 2.59078 6.72656Z\"\n fill=\"url(#paint0_linear_2817_23838)\"\n />\n <path\n d=\"M9.28558 10.0746H7.53221V14.8592H6.41514V10.0746H4.66992V9.14648H9.28558V10.0746Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_2817_23838\"\n x1=\"3.54226\"\n y1=\"6.03991\"\n x2=\"10.4322\"\n y2=\"17.9478\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5A62C3\" />\n <stop offset=\"0.5\" stop-color=\"#4D55BD\" />\n <stop offset=\"1\" stop-color=\"#3940AB\" />\n </linearGradient>\n <clipPath id=\"clip0_2817_23838\">\n <rect\n width=\"20.5714\"\n height=\"19.1768\"\n fill=\"white\"\n transform=\"translate(1.71387 2.41211)\"\n />\n </clipPath>\n </defs>\n </>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <>\n <g clip-path=\"url(#clip0_3425_206822)\">\n <path\n d=\"M24.0954 14.4043H32.0659C32.8189 14.4043 33.4293 15.016 33.4293 15.7706V23.0461C33.4293 25.8195 31.1858 28.0677 28.4183 28.0677H28.3946C25.6271 28.0681 23.3832 25.8202 23.3828 23.0468C23.3828 23.0465 23.3828 23.0463 23.3828 23.046V15.1184C23.3828 14.724 23.7019 14.4043 24.0954 14.4043Z\"\n fill=\"#5059C9\"\n />\n <path\n d=\"M29.4822 12.9643C31.2656 12.9643 32.7114 11.5155 32.7114 9.72827C32.7114 7.94103 31.2656 6.49219 29.4822 6.49219C27.6987 6.49219 26.2529 7.94103 26.2529 9.72827C26.2529 11.5155 27.6987 12.9643 29.4822 12.9643Z\"\n fill=\"#5059C9\"\n />\n <path\n d=\"M19.435 12.9659C22.0111 12.9659 24.0994 10.8731 24.0994 8.29153C24.0994 5.70996 22.0111 3.61719 19.435 3.61719C16.8589 3.61719 14.7705 5.70996 14.7705 8.29153C14.7705 10.8731 16.8589 12.9659 19.435 12.9659Z\"\n fill=\"#7B83EB\"\n />\n <path\n d=\"M25.6549 14.4043H12.4983C11.7542 14.4227 11.1656 15.0415 11.1829 15.7872V24.0852C11.079 28.5598 14.6116 32.273 19.0766 32.3825C23.5416 32.273 27.0742 28.5598 26.9703 24.0852V15.7872C26.9875 15.0415 26.3989 14.4227 25.6549 14.4043Z\"\n fill=\"#7B83EB\"\n />\n <path\n opacity=\"0.1\"\n d=\"M19.7943 14.4043V26.0326C19.7907 26.5658 19.4683 27.0449 18.9762 27.2479C18.8196 27.3143 18.6512 27.3486 18.4811 27.3486H11.8145C11.7212 27.1113 11.6351 26.874 11.5633 26.6295C11.3121 25.8043 11.184 24.9465 11.183 24.0838V15.785C11.1657 15.0406 11.7534 14.4227 12.4962 14.4043H19.7943Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M19.0767 14.4043V26.7517C19.0767 26.9222 19.0425 27.0909 18.9762 27.2479C18.7736 27.741 18.2956 28.0642 17.7635 28.0677H12.1518C12.0298 27.8304 11.915 27.5931 11.8145 27.3486C11.714 27.1041 11.6351 26.874 11.5633 26.6295C11.3121 25.8043 11.184 24.9465 11.183 24.0838V15.785C11.1657 15.0406 11.7534 14.4227 12.4962 14.4043H19.0767Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M19.0767 14.4043V25.3135C19.0712 26.038 18.4865 26.624 17.7635 26.6295H11.5633C11.3121 25.8043 11.184 24.9465 11.183 24.0838V15.785C11.1657 15.0406 11.7534 14.4227 12.4962 14.4043H19.0767Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M18.3591 14.4043V25.3135C18.3536 26.038 17.7688 26.624 17.0458 26.6295H11.5633C11.3121 25.8043 11.184 24.9465 11.183 24.0838V15.785C11.1657 15.0406 11.7534 14.4227 12.4962 14.4043H18.3591Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.1\"\n d=\"M19.7945 10.6871V12.9523C19.6725 12.9595 19.5577 12.9667 19.4357 12.9667C19.3137 12.9667 19.1989 12.9595 19.0769 12.9523C18.8346 12.9362 18.5944 12.8977 18.3593 12.8373C16.9061 12.4924 15.7056 11.4711 15.13 10.0902C15.031 9.85832 14.9541 9.61752 14.9004 9.37109H18.4813C19.2054 9.37384 19.7917 9.96141 19.7945 10.6871Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M19.0767 11.4039V12.95C18.8345 12.9339 18.5943 12.8954 18.3591 12.835C16.906 12.4901 15.7054 11.4688 15.1299 10.0879H17.7635C18.4876 10.0906 19.074 10.6782 19.0767 11.4039Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M19.0767 11.4039V12.95C18.8345 12.9339 18.5943 12.8954 18.3591 12.835C16.906 12.4901 15.7054 11.4688 15.1299 10.0879H17.7635C18.4876 10.0906 19.074 10.6782 19.0767 11.4039Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M18.3591 11.4039V12.835C16.906 12.4901 15.7054 11.4688 15.1299 10.0879H17.0459C17.77 10.0907 18.3564 10.6782 18.3591 11.4039Z\"\n fill=\"black\"\n />\n <path\n d=\"M3.88666 10.0879H17.0433C17.7697 10.0879 18.3587 10.6781 18.3587 11.406V24.5905C18.3587 25.3185 17.7697 25.9087 17.0433 25.9087H3.88666C3.16019 25.9087 2.57129 25.3185 2.57129 24.5905V11.406C2.57129 10.6781 3.16021 10.0879 3.88666 10.0879Z\"\n fill=\"url(#paint0_linear_3425_206822)\"\n />\n <path\n d=\"M13.9274 15.1071H11.2973V22.284H9.62174V15.1071H7.00391V13.7148H13.9274V15.1071Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_3425_206822\"\n x1=\"5.31388\"\n y1=\"9.0579\"\n x2=\"15.6488\"\n y2=\"26.9198\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5A62C3\" />\n <stop offset=\"0.5\" stop-color=\"#4D55BD\" />\n <stop offset=\"1\" stop-color=\"#3940AB\" />\n </linearGradient>\n <clipPath id=\"clip0_3425_206822\">\n <rect\n width=\"30.8571\"\n height=\"28.7651\"\n fill=\"white\"\n transform=\"translate(2.57129 3.61719)\"\n />\n </clipPath>\n </defs>\n </>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: <></>,\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import { IconSize } from \"types/sizes\";\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function MicrosoftOutlookMailIcon({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <>\n <mask\n id=\"mask0_3741_117704\"\n maskUnits=\"userSpaceOnUse\"\n x=\"2\"\n y=\"2\"\n width=\"13\"\n height=\"13\"\n >\n <path\n d=\"M14.7228 2.14844H2.15137V14.7199H14.7228V2.14844Z\"\n fill=\"white\"\n />\n </mask>\n <g mask=\"url(#mask0_3741_117704)\">\n <path\n d=\"M13.3847 2.93359H6.63068C6.32607 2.93359 6.0791 3.18057 6.0791 3.48517V4.11217L9.8859 5.29075L13.9362 4.11217V3.48517C13.9362 3.18057 13.6893 2.93359 13.3847 2.93359Z\"\n fill=\"#0364B8\"\n />\n <path\n d=\"M14.5849 8.9854C14.6424 8.80448 14.6884 8.62014 14.7224 8.43345C14.7223 8.34008 14.6724 8.25385 14.5916 8.20711L14.5865 8.20397L14.5849 8.20317L10.3272 5.7777C10.3088 5.76579 10.2898 5.75488 10.2702 5.74507C10.1051 5.6631 9.91124 5.6631 9.74621 5.74507C9.72661 5.75472 9.70758 5.76548 9.68924 5.77728L5.43146 8.20357L5.42989 8.20437L5.42517 8.20705C5.34414 8.25363 5.29416 8.33991 5.29395 8.4334C5.32799 8.62008 5.37393 8.80448 5.43146 8.98534L9.94615 12.2873L14.5849 8.9854Z\"\n fill=\"#0A2767\"\n />\n <path\n d=\"M11.5801 4.11328H8.83013L8.03613 5.29186L8.83013 6.47044L11.5801 8.82757H13.9373V6.47044L11.5801 4.11328Z\"\n fill=\"#28A8EA\"\n />\n <path\n d=\"M6.0791 4.11328H8.8291V6.47044H6.0791V4.11328Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M11.5791 4.11328H13.9362V6.47044H11.5791V4.11328Z\"\n fill=\"#50D9FF\"\n />\n <path\n d=\"M11.579 8.82589L8.8291 6.46875H6.0791V8.82589L8.8291 11.183L13.0845 11.8776L11.579 8.82589Z\"\n fill=\"#0364B8\"\n />\n <path\n d=\"M8.8291 6.46875H11.5791V8.82589H8.8291V6.46875Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M6.0791 8.82812H8.8291V11.1853H6.0791V8.82812Z\"\n fill=\"#064A8C\"\n />\n <path\n d=\"M11.5791 8.82812H13.9362V11.1853H11.5791V8.82812Z\"\n fill=\"#0078D4\"\n />\n <path\n opacity=\"0.5\"\n d=\"M10.0831 12.0544L5.4502 8.67581L5.64466 8.33404C5.64466 8.33404 9.86594 10.7383 9.93034 10.7745C9.9836 10.7958 10.0434 10.7941 10.0953 10.7698L14.3905 8.32227L14.5853 8.66364L10.0831 12.0544Z\"\n fill=\"#0A2767\"\n />\n <path\n d=\"M14.5919 8.66028L14.5864 8.66342L14.5852 8.66422L10.3274 11.0897C10.1555 11.2006 9.93831 11.2141 9.75391 11.1255L11.2365 13.1137L14.4792 13.8197V13.8213C14.6322 13.7106 14.7228 13.5332 14.7228 13.3443V8.43359C14.7228 8.52708 14.6729 8.61354 14.5919 8.66028Z\"\n fill=\"#1490DF\"\n />\n <path\n opacity=\"0.05\"\n d=\"M14.7228 13.3448V13.0549L10.8009 10.8203L10.3275 11.0902C10.1555 11.2011 9.93831 11.2146 9.75391 11.126L11.2366 13.1142L14.4793 13.8202V13.8217C14.6322 13.7111 14.7228 13.5337 14.7228 13.3448Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.1\"\n d=\"M14.7032 13.4956L10.4041 11.0469L10.3275 11.0901C10.1556 11.2012 9.93836 11.2148 9.75391 11.1262L11.2366 13.1145L14.4793 13.8205V13.822C14.5892 13.7424 14.6682 13.6268 14.7032 13.4956Z\"\n fill=\"black\"\n />\n <path\n d=\"M5.43147 8.66542V8.66148H5.42754L5.41574 8.65359C5.33932 8.60674 5.29312 8.52325 5.29396 8.43359V13.3443C5.29354 13.6693 5.55666 13.9332 5.88167 13.9336C5.8822 13.9336 5.88272 13.9336 5.88325 13.9336H14.1333C14.1823 13.9331 14.2311 13.9265 14.2786 13.9139C14.3032 13.9097 14.3271 13.9017 14.3493 13.8904C14.3577 13.8895 14.3657 13.8869 14.3729 13.8825C14.405 13.8694 14.4354 13.8522 14.4633 13.8314C14.4711 13.8275 14.475 13.8275 14.479 13.8197L5.43147 8.66542Z\"\n fill=\"#28A8EA\"\n />\n <path\n opacity=\"0.1\"\n d=\"M9.22246 11.8391V5.42212C9.2216 5.13324 8.98766 4.89928 8.69875 4.89844H6.0914V7.82758L5.43141 8.20392L5.42947 8.20472L5.42475 8.20747C5.34377 8.25415 5.29389 8.34061 5.29395 8.43409V12.3627H8.6988C8.98772 12.3619 9.2216 12.1279 9.22246 11.8391Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.8296 12.2297V5.81274C8.8288 5.52387 8.5948 5.2899 8.30595 5.28906H6.0914V7.82535L5.43141 8.20169L5.42947 8.20249L5.42475 8.20518C5.34377 8.25192 5.29389 8.33838 5.29395 8.43186V12.7533H8.306C8.59486 12.7525 8.8288 12.5185 8.8296 12.2297Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.8296 11.444V5.81274C8.8288 5.52387 8.5948 5.2899 8.30595 5.28906H6.0914V7.82535L5.43141 8.20169L5.42947 8.20249L5.42475 8.20518C5.34377 8.25192 5.29389 8.33838 5.29395 8.43186V11.9676H8.306C8.59486 11.9668 8.8288 11.7328 8.8296 11.444Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M8.43675 11.444V5.81274C8.43589 5.52387 8.20195 5.2899 7.91309 5.28906H6.0914V7.82535L5.43141 8.20169L5.42947 8.20249L5.42475 8.20518C5.34377 8.25192 5.29389 8.33838 5.29395 8.43186V11.9676H7.91315C8.202 11.9668 8.43589 11.7328 8.43675 11.444Z\"\n fill=\"black\"\n />\n <path\n d=\"M2.67505 5.28906H7.91342C8.20262 5.28906 8.43708 5.5235 8.43708 5.81274V11.0511C8.43708 11.3403 8.20262 11.5748 7.91342 11.5748H2.67505C2.3858 11.5748 2.15137 11.3403 2.15137 11.0511V5.81274C2.15137 5.5235 2.3858 5.28906 2.67505 5.28906Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M3.67033 7.43913C3.80947 7.14261 4.03409 6.89443 4.31542 6.7265C4.62705 6.54813 4.98185 6.45918 5.3408 6.46957C5.67315 6.46238 6.00105 6.54661 6.28877 6.71313C6.5596 6.87445 6.77768 7.11099 6.91656 7.39393C7.06781 7.70582 7.14323 8.04907 7.13657 8.3957C7.14386 8.75776 7.06619 9.11645 6.90989 9.44307C6.76803 9.73616 6.54335 9.98119 6.26365 10.1479C5.96465 10.3196 5.62427 10.4063 5.27955 10.3981C4.9399 10.4062 4.60456 10.321 4.30996 10.1518C4.03698 9.99022 3.81628 9.75347 3.67431 9.46976C3.52201 9.16245 3.44559 8.82313 3.45157 8.48016C3.44496 8.12107 3.51975 7.76519 3.67033 7.43913ZM4.35785 9.11193C4.43196 9.29942 4.55772 9.46205 4.72047 9.58102C4.8863 9.69707 5.08497 9.75696 5.28736 9.75187C5.50296 9.76027 5.71543 9.69833 5.89275 9.57547C6.05371 9.45662 6.17622 9.29307 6.24513 9.10525C6.32244 8.89593 6.36052 8.67427 6.35748 8.45113C6.35989 8.22593 6.32401 8.00199 6.25143 7.78879C6.18739 7.59702 6.06923 7.42787 5.91121 7.3017C5.73856 7.17261 5.52667 7.107 5.31132 7.11586C5.10453 7.11062 4.9014 7.17099 4.73106 7.28831C4.56512 7.40747 4.43647 7.57142 4.36021 7.7609C4.19144 8.19542 4.19085 8.67673 4.35785 9.11193Z\"\n fill=\"white\"\n />\n </g>\n </>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <>\n <mask\n id=\"mask0_2817_23708\"\n maskUnits=\"userSpaceOnUse\"\n x=\"3\"\n y=\"3\"\n width=\"19\"\n height=\"19\"\n >\n <path\n d=\"M21.8659 3.00586H3.00879V21.863H21.8659V3.00586Z\"\n fill=\"white\"\n />\n </mask>\n <g mask=\"url(#mask0_2817_23708)\">\n <path\n d=\"M19.8588 4.18359H9.72776C9.27085 4.18359 8.90039 4.55405 8.90039 5.01096V5.95146L14.6106 7.71933L20.6861 5.95146V5.01096C20.6861 4.55405 20.3157 4.18359 19.8588 4.18359Z\"\n fill=\"#0364B8\"\n />\n <path\n d=\"M21.6591 13.2613C21.7454 12.9899 21.8143 12.7134 21.8654 12.4334C21.8652 12.2933 21.7904 12.164 21.6692 12.0939L21.6616 12.0892L21.6592 12.088L15.2725 8.44975C15.245 8.43189 15.2164 8.41553 15.187 8.40081C14.9394 8.27785 14.6486 8.27785 14.4011 8.40081C14.3717 8.41529 14.3431 8.43142 14.3156 8.44912L7.92893 12.0886L7.92657 12.0898L7.91949 12.0938C7.79795 12.1636 7.72297 12.2931 7.72266 12.4333C7.77372 12.7133 7.84263 12.9899 7.92893 13.2612L14.701 18.2141L21.6591 13.2613Z\"\n fill=\"#0A2767\"\n />\n <path\n d=\"M17.1519 5.95312H13.0269L11.8359 7.72099L13.0269 9.48886L17.1519 13.0246H20.6877V9.48886L17.1519 5.95312Z\"\n fill=\"#28A8EA\"\n />\n <path\n d=\"M8.90039 5.95312H13.0254V9.48886H8.90039V5.95312Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M17.1504 5.95312H20.6861V9.48886H17.1504V5.95312Z\"\n fill=\"#50D9FF\"\n />\n <path\n d=\"M17.1503 13.022L13.0254 9.48633H8.90039V13.022L13.0254 16.5578L19.4084 17.5996L17.1503 13.022Z\"\n fill=\"#0364B8\"\n />\n <path\n d=\"M13.0254 9.48633H17.1504V13.022H13.0254V9.48633Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M8.90039 13.0254H13.0254V16.5611H8.90039V13.0254Z\"\n fill=\"#064A8C\"\n />\n <path\n d=\"M17.1504 13.0254H20.6861V16.5611H17.1504V13.0254Z\"\n fill=\"#0078D4\"\n />\n <path\n opacity=\"0.5\"\n d=\"M14.9064 17.8658L7.95703 12.7979L8.24873 12.2852C8.24873 12.2852 14.5806 15.8917 14.6772 15.9459C14.7571 15.9779 14.8468 15.9753 14.9247 15.9388L21.3674 12.2676L21.6596 12.7796L14.9064 17.8658Z\"\n fill=\"#0A2767\"\n />\n <path\n d=\"M21.6701 12.7736L21.6618 12.7783L21.6601 12.7795L15.2734 16.4178C15.0155 16.5841 14.6897 16.6044 14.4131 16.4714L16.637 19.4538L21.5011 20.5128V20.5151C21.7305 20.3491 21.8665 20.083 21.8664 19.7997V12.4336C21.8664 12.5738 21.7915 12.7035 21.6701 12.7736Z\"\n fill=\"#1490DF\"\n />\n <path\n opacity=\"0.05\"\n d=\"M21.8664 19.8004V19.3655L15.9835 16.0137L15.2735 16.4185C15.0155 16.5848 14.6897 16.6051 14.4131 16.4722L16.6371 19.4545L21.5011 20.5135V20.5158C21.7306 20.3499 21.8665 20.0837 21.8664 19.8004Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.1\"\n d=\"M21.837 20.0265L15.3884 16.3535L15.2735 16.4183C15.0157 16.5849 14.6898 16.6054 14.4131 16.4726L16.6371 19.4549L21.5011 20.5139V20.5162C21.6661 20.3967 21.7846 20.2234 21.837 20.0265Z\"\n fill=\"black\"\n />\n <path\n d=\"M7.92894 12.7813V12.7754H7.92305L7.90535 12.7636C7.79072 12.6933 7.72141 12.5681 7.72267 12.4336V19.7997C7.72205 20.2872 8.11673 20.683 8.60424 20.6836C8.60503 20.6836 8.60582 20.6836 8.60661 20.6836H20.9816C21.0553 20.6829 21.1285 20.673 21.1997 20.6541C21.2365 20.6477 21.2724 20.6358 21.3057 20.6188C21.3182 20.6175 21.3303 20.6135 21.341 20.607C21.3893 20.5873 21.4348 20.5615 21.4766 20.5303C21.4884 20.5244 21.4943 20.5244 21.5002 20.5127L7.92894 12.7813Z\"\n fill=\"#28A8EA\"\n />\n <path\n opacity=\"0.1\"\n d=\"M13.6154 17.5418V7.91638C13.6141 7.48307 13.2632 7.13212 12.8299 7.13086H8.91883V11.5246L7.92885 12.0891L7.92594 12.0903L7.91886 12.0944C7.79739 12.1644 7.72258 12.2941 7.72266 12.4343V18.3272H12.8299C13.2633 18.326 13.6141 17.9751 13.6154 17.5418Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M13.0261 18.1277V8.50232C13.0249 8.06901 12.6739 7.71806 12.2407 7.7168H8.91883V11.5212L7.92885 12.0857L7.92594 12.0869L7.91886 12.091C7.79739 12.1611 7.72258 12.2908 7.72266 12.431V18.9131H12.2407C12.674 18.9119 13.0249 18.561 13.0261 18.1277Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M13.0261 16.9492V8.50232C13.0249 8.06901 12.6739 7.71806 12.2407 7.7168H8.91883V11.5212L7.92885 12.0857L7.92594 12.0869L7.91886 12.091C7.79739 12.1611 7.72258 12.2908 7.72266 12.431V17.7346H12.2407C12.674 17.7334 13.0249 17.3825 13.0261 16.9492Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M12.4369 16.9492V8.50232C12.4356 8.06901 12.0847 7.71806 11.6514 7.7168H8.91883V11.5212L7.92885 12.0857L7.92594 12.0869L7.91886 12.091C7.79739 12.1611 7.72258 12.2908 7.72266 12.431V17.7346H11.6515C12.0847 17.7334 12.4356 17.3825 12.4369 16.9492Z\"\n fill=\"black\"\n />\n <path\n d=\"M3.79431 7.7168H11.6519C12.0857 7.7168 12.4374 8.06845 12.4374 8.50232V16.3599C12.4374 16.7937 12.0857 17.1454 11.6519 17.1454H3.79431C3.36044 17.1454 3.00879 16.7937 3.00879 16.3599V8.50232C3.00879 8.06845 3.36044 7.7168 3.79431 7.7168Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M5.28772 10.9419C5.49643 10.4971 5.83337 10.1249 6.25536 9.87296C6.72281 9.6054 7.25501 9.47198 7.79343 9.48755C8.29195 9.47678 8.7838 9.60312 9.21539 9.8529C9.62163 10.0949 9.94874 10.4497 10.1571 10.8741C10.3839 11.3419 10.4971 11.8568 10.4871 12.3768C10.498 12.9198 10.3815 13.4579 10.1471 13.9478C9.93427 14.3874 9.59725 14.755 9.1777 15.005C8.72921 15.2627 8.21863 15.3926 7.70155 15.3804C7.19208 15.3925 6.68906 15.2647 6.24717 15.0108C5.8377 14.7685 5.50665 14.4134 5.29369 13.9878C5.06524 13.5269 4.95061 13.0179 4.95959 12.5034C4.94967 11.9648 5.06185 11.431 5.28772 10.9419ZM6.319 13.4511C6.43016 13.7323 6.61881 13.9763 6.86293 14.1547C7.11168 14.3288 7.40968 14.4186 7.71326 14.411C8.03667 14.4236 8.35537 14.3307 8.62135 14.1464C8.86279 13.9681 9.04656 13.7228 9.14993 13.4411C9.26589 13.1271 9.323 12.7946 9.31844 12.4599C9.32206 12.1221 9.26825 11.7862 9.15937 11.4664C9.06331 11.1787 8.88607 10.925 8.64904 10.7358C8.39006 10.5421 8.07223 10.4437 7.74921 10.457C7.43902 10.4491 7.13433 10.5397 6.87882 10.7157C6.6299 10.8944 6.43693 11.1403 6.32254 11.4246C6.06938 12.0763 6.06851 12.7983 6.319 13.4511Z\"\n fill=\"white\"\n />\n </g>\n </>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <>\n <mask\n id=\"mask0_3425_206796\"\n maskUnits=\"userSpaceOnUse\"\n x=\"3\"\n y=\"3\"\n width=\"30\"\n height=\"30\"\n >\n <path\n d=\"M32.1422 3.85742H3.85645V32.1431H32.1422V3.85742Z\"\n fill=\"white\"\n />\n </mask>\n <g mask=\"url(#mask0_3425_206796)\">\n <path\n d=\"M29.1329 5.625H13.9364C13.251 5.625 12.6953 6.18069 12.6953 6.86605V8.2768L21.2606 10.9286L30.3739 8.2768V6.86605C30.3739 6.18069 29.8183 5.625 29.1329 5.625Z\"\n fill=\"#0364B8\"\n />\n <path\n d=\"M31.8324 19.2416C31.9618 18.8345 32.0652 18.4197 32.1418 17.9997C32.1416 17.7896 32.0293 17.5956 31.8475 17.4904L31.8361 17.4833L31.8325 17.4815L22.2525 12.0242C22.2112 11.9974 22.1684 11.9729 22.1243 11.9508C21.7529 11.7664 21.3166 11.7664 20.9453 11.9508C20.9012 11.9725 20.8584 11.9967 20.8171 12.0233L11.2371 17.4824L11.2336 17.4842L11.223 17.4903C11.0407 17.5951 10.9282 17.7892 10.9277 17.9996C11.0043 18.4196 11.1077 18.8345 11.2371 19.2414L21.3952 26.6708L31.8324 19.2416Z\"\n fill=\"#0A2767\"\n />\n <path\n d=\"M25.0706 8.27734H18.8832L17.0967 10.9291L18.8832 13.5809L25.0706 18.8845H30.3742V13.5809L25.0706 8.27734Z\"\n fill=\"#28A8EA\"\n />\n <path\n d=\"M12.6953 8.27734H18.8828V13.5809H12.6953V8.27734Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M25.0703 8.27734H30.3739V13.5809H25.0703V8.27734Z\"\n fill=\"#50D9FF\"\n />\n <path\n d=\"M25.0702 18.8836L18.8828 13.5801H12.6953V18.8836L18.8828 24.1872L28.4574 25.75L25.0702 18.8836Z\"\n fill=\"#0364B8\"\n />\n <path\n d=\"M18.8828 13.5801H25.0703V18.8836H18.8828V13.5801Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M12.6953 18.8848H18.8828V24.1883H12.6953V18.8848Z\"\n fill=\"#064A8C\"\n />\n <path\n d=\"M25.0703 18.8848H30.3739V24.1883H25.0703V18.8848Z\"\n fill=\"#0078D4\"\n />\n <path\n opacity=\"0.5\"\n d=\"M21.7034 26.1492L11.2793 18.5474L11.7169 17.7784C11.7169 17.7784 21.2147 23.1881 21.3596 23.2695C21.4794 23.3174 21.6139 23.3136 21.7308 23.2588L31.3949 17.752L31.8332 18.52L21.7034 26.1492Z\"\n fill=\"#0A2767\"\n />\n <path\n d=\"M31.8484 18.51L31.8359 18.5171L31.8333 18.5189L22.2534 23.9763C21.8665 24.2257 21.3778 24.2562 20.9629 24.0567L24.2988 28.5303L31.5948 30.1188V30.1222C31.939 29.8733 32.1429 29.4741 32.1428 29.0492V18C32.1428 18.2103 32.0306 18.4049 31.8484 18.51Z\"\n fill=\"#1490DF\"\n />\n <path\n opacity=\"0.05\"\n d=\"M32.1428 29.0493V28.3969L23.3186 23.3691L22.2535 23.9764C21.8665 24.2258 21.3778 24.2563 20.9629 24.0569L24.2989 28.5304L31.595 30.1189V30.1224C31.9392 29.8734 32.1429 29.4742 32.1428 29.0493Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.1\"\n d=\"M32.0987 29.3884L22.4259 23.8789L22.2535 23.9761C21.8667 24.226 21.3779 24.2568 20.9629 24.0575L24.2989 28.531L31.595 30.1195V30.123C31.8423 29.9437 32.0202 29.6838 32.0987 29.3884Z\"\n fill=\"black\"\n />\n <path\n d=\"M11.2372 18.5216V18.5127H11.2283L11.2018 18.495C11.0298 18.3896 10.9259 18.2017 10.9278 18V29.0492C10.9268 29.7804 11.5188 30.3741 12.2501 30.375C12.2513 30.375 12.2525 30.375 12.2537 30.375H30.8162C30.9266 30.374 31.0364 30.3591 31.1433 30.3308C31.1986 30.3211 31.2523 30.3033 31.3023 30.2778C31.3211 30.2759 31.3392 30.2698 31.3553 30.2601C31.4277 30.2305 31.4959 30.1919 31.5587 30.1451C31.5763 30.1362 31.5852 30.1362 31.594 30.1186L11.2372 18.5216Z\"\n fill=\"#28A8EA\"\n />\n <path\n opacity=\"0.1\"\n d=\"M19.7669 25.6613V11.2232C19.765 10.5732 19.2386 10.0468 18.5885 10.0449H12.722V16.6355L11.237 17.4823L11.2327 17.4841L11.222 17.4902C11.0398 17.5953 10.9276 17.7898 10.9277 18.0002V26.8394H18.5887C19.2387 26.8376 19.765 26.3113 19.7669 25.6613Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M18.883 26.5441V12.106C18.8812 11.456 18.3547 10.9296 17.7047 10.9277H12.722V16.6344L11.237 17.4811L11.2327 17.4829L11.222 17.489C11.0398 17.5942 10.9276 17.7887 10.9277 17.999V27.7222H17.7049C18.3548 27.7204 18.8812 27.1941 18.883 26.5441Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M18.883 24.7763V12.106C18.8812 11.456 18.3547 10.9296 17.7047 10.9277H12.722V16.6344L11.237 17.4811L11.2327 17.4829L11.222 17.489C11.0398 17.5942 10.9276 17.7887 10.9277 17.999V25.9544H17.7049C18.3548 25.9526 18.8812 25.4262 18.883 24.7763Z\"\n fill=\"black\"\n />\n <path\n opacity=\"0.2\"\n d=\"M17.999 24.7763V12.106C17.9971 11.456 17.4707 10.9296 16.8208 10.9277H12.722V16.6344L11.237 17.4811L11.2327 17.4829L11.222 17.489C11.0398 17.5942 10.9276 17.7887 10.9277 17.999V25.9544H16.8209C17.4709 25.9526 17.9971 25.4262 17.999 24.7763Z\"\n fill=\"black\"\n />\n <path\n d=\"M5.03473 10.9277H16.8211C17.4718 10.9277 17.9993 11.4552 17.9993 12.106V23.8924C17.9993 24.5431 17.4718 25.0706 16.8211 25.0706H5.03473C4.38392 25.0706 3.85645 24.5431 3.85645 23.8924V12.106C3.85645 11.4552 4.38392 10.9277 5.03473 10.9277Z\"\n fill=\"#0078D4\"\n />\n <path\n d=\"M7.27533 15.7615C7.58839 15.0943 8.0938 14.5359 8.72679 14.1581C9.42796 13.7567 10.2263 13.5566 11.0339 13.58C11.7817 13.5638 12.5195 13.7533 13.1668 14.128C13.7762 14.491 14.2669 15.0232 14.5793 15.6598C14.9197 16.3615 15.0894 17.1339 15.0744 17.9138C15.0908 18.7284 14.916 19.5354 14.5644 20.2704C14.2451 20.9298 13.7396 21.4811 13.1103 21.8562C12.4376 22.2426 11.6717 22.4376 10.8961 22.4192C10.1319 22.4374 9.37734 22.2457 8.71451 21.8649C8.1003 21.5014 7.60373 20.9688 7.28429 20.3304C6.94161 19.6389 6.76967 18.8755 6.78313 18.1038C6.76826 17.2959 6.93653 16.4951 7.27533 15.7615ZM8.82225 19.5253C8.98899 19.9471 9.27197 20.313 9.63814 20.5807C10.0113 20.8419 10.4583 20.9766 10.9136 20.9652C11.3988 20.9841 11.8768 20.8447 12.2758 20.5683C12.6379 20.3008 12.9136 19.9329 13.0686 19.5102C13.2426 19.0393 13.3283 18.5406 13.3214 18.0385C13.3268 17.5318 13.2461 17.0279 13.0828 16.5482C12.9387 16.1167 12.6729 15.7362 12.3173 15.4523C11.9288 15.1618 11.4521 15.0142 10.9676 15.0341C10.5023 15.0223 10.0452 15.1582 9.66198 15.4221C9.2886 15.6903 8.99914 16.0591 8.82756 16.4855C8.44782 17.4631 8.44651 18.5461 8.82225 19.5253Z\"\n fill=\"white\"\n />\n </g>\n </>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: <></>,\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import { IconSize } from \"types/sizes\";\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function SlackIcon({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <>\n <path\n d=\"M4.31953 9.84339C4.34735 10.59 3.7601 11.2227 3.01341 11.2505C2.26672 11.2783 1.63403 10.6911 1.60621 9.94447C1.57839 9.19782 2.16563 8.56517 2.91232 8.53735L4.26898 8.48681L4.31953 9.84339Z\"\n fill=\"#E01E5A\"\n />\n <path\n d=\"M5.00367 9.81751C4.97585 9.07087 5.5631 8.43821 6.30978 8.4104C7.05648 8.38258 7.68919 8.96979 7.71701 9.71643L7.84356 13.1131C7.87138 13.8597 7.28413 14.4924 6.53743 14.5202C5.79074 14.548 5.15805 13.9608 5.13023 13.2142L5.00367 9.81751Z\"\n fill=\"#E01E5A\"\n />\n <path\n d=\"M6.15697 4.32079C5.41028 4.34861 4.77758 3.76141 4.74976 3.01477C4.72194 2.26813 5.30919 1.63548 6.05588 1.60766C6.80258 1.57984 7.43528 2.16705 7.4631 2.91369L7.51364 4.27025L6.15697 4.32079Z\"\n fill=\"#36C5F0\"\n />\n <path\n d=\"M6.18228 5.00455C6.92895 4.97673 7.56165 5.56394 7.58947 6.31057C7.61729 7.05722 7.03004 7.68988 6.28337 7.7177L2.88646 7.84425C2.13977 7.87206 1.50708 7.28485 1.47926 6.53821C1.45144 5.79157 2.03868 5.15892 2.78537 5.1311L6.18228 5.00455Z\"\n fill=\"#36C5F0\"\n />\n <path\n d=\"M11.6804 6.15735C11.6526 5.41071 12.2399 4.77806 12.9866 4.75024C13.7332 4.72242 14.3659 5.30963 14.3938 6.05626C14.4216 6.80291 13.8343 7.43557 13.0876 7.46339L11.731 7.51393L11.6804 6.15735Z\"\n fill=\"#2EB67D\"\n />\n <path\n d=\"M10.9969 6.18145C11.0247 6.92807 10.4375 7.56073 9.69076 7.58855C8.94407 7.61636 8.31137 7.02915 8.28355 6.28253L8.15699 2.88586C8.12917 2.13923 8.71642 1.50657 9.46312 1.47876C10.2098 1.45094 10.8425 2.03814 10.8703 2.78478L10.9969 6.18145Z\"\n fill=\"#2EB67D\"\n />\n <path\n d=\"M9.843 11.6819C10.5897 11.6541 11.2224 12.2413 11.2502 12.9879C11.278 13.7346 10.6908 14.3672 9.94409 14.395C9.19739 14.4229 8.56469 13.8356 8.53687 13.089L8.48633 11.7324L9.843 11.6819Z\"\n fill=\"#ECB22E\"\n />\n <path\n d=\"M9.81811 10.9966C9.07142 11.0244 8.43872 10.4372 8.4109 9.69056C8.38308 8.94392 8.97033 8.31126 9.71702 8.28344L13.114 8.15689C13.8606 8.12908 14.4933 8.71629 14.5211 9.46293C14.5489 10.2096 13.9617 10.8422 13.215 10.87L9.81811 10.9966Z\"\n fill=\"#ECB22E\"\n />\n </>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <>\n <path\n d=\"M6.47978 14.7661C6.52151 15.886 5.64064 16.835 4.52061 16.8767C3.40058 16.9185 2.45153 16.0376 2.4098 14.9177C2.36807 13.7977 3.24894 12.8487 4.36897 12.807L6.40396 12.7312L6.47978 14.7661Z\"\n fill=\"#E01E5A\"\n />\n <path\n d=\"M7.50551 14.7263C7.46378 13.6063 8.34464 12.6573 9.46468 12.6156C10.5847 12.5739 11.5338 13.4547 11.5755 14.5746L11.7653 19.6696C11.8071 20.7896 10.9262 21.7386 9.80615 21.7803C8.68611 21.822 7.73707 20.9412 7.69534 19.8212L7.50551 14.7263Z\"\n fill=\"#E01E5A\"\n />\n <path\n d=\"M9.23545 6.48021C8.11542 6.52194 7.16637 5.64113 7.12465 4.52118C7.08292 3.40122 7.96378 2.45224 9.08382 2.41052C10.2039 2.36879 11.1529 3.2496 11.1946 4.36955L11.2705 6.4044L9.23545 6.48021Z\"\n fill=\"#36C5F0\"\n />\n <path\n d=\"M9.2739 7.50585C10.3939 7.46412 11.343 8.34493 11.3847 9.46489C11.4264 10.5849 10.5455 11.5338 9.42554 11.5756L4.33018 11.7654C3.21015 11.8071 2.2611 10.9263 2.21937 9.80633C2.17764 8.68638 3.05851 7.7374 4.17854 7.69567L9.2739 7.50585Z\"\n fill=\"#36C5F0\"\n />\n <path\n d=\"M17.5211 9.23602C17.4794 8.11607 18.3603 7.16709 19.4803 7.12536C20.6004 7.08363 21.5494 7.96444 21.5911 9.0844C21.6329 10.2044 20.752 11.1534 19.632 11.1951L17.5969 11.2709L17.5211 9.23602Z\"\n fill=\"#2EB67D\"\n />\n <path\n d=\"M16.4948 9.27315C16.5366 10.3931 15.6557 11.3421 14.5357 11.3838C13.4156 11.4255 12.4666 10.5447 12.4248 9.42478L12.235 4.32977C12.1933 3.20981 13.0741 2.26084 14.1942 2.21911C15.3142 2.17738 16.2633 3.05819 16.305 4.17814L16.4948 9.27315Z\"\n fill=\"#2EB67D\"\n />\n <path\n d=\"M14.7645 17.5218C15.8845 17.4801 16.8336 18.3609 16.8753 19.4809C16.917 20.6009 16.0362 21.5498 14.9161 21.5916C13.7961 21.6333 12.847 20.7525 12.8053 19.6325L12.7295 17.5977L14.7645 17.5218Z\"\n fill=\"#ECB22E\"\n />\n <path\n d=\"M14.7267 16.4959C13.6066 16.5376 12.6576 15.6568 12.6159 14.5368C12.5741 13.4169 13.455 12.4679 14.575 12.4261L19.6704 12.2363C20.7904 12.1946 21.7394 13.0754 21.7812 14.1954C21.8229 15.3153 20.942 16.2643 19.8221 16.306L14.7267 16.4959Z\"\n fill=\"#ECB22E\"\n />\n </>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <>\n <path\n d=\"M9.8002 21.7331C9.8002 23.3686 8.46423 24.7045 6.82881 24.7045C5.19339 24.7045 3.85742 23.3686 3.85742 21.7331C3.85742 20.0977 5.19339 18.7617 6.82881 18.7617H9.8002V21.7331Z\"\n fill=\"#E01E5A\"\n />\n <path\n d=\"M11.2979 21.7331C11.2979 20.0977 12.6338 18.7617 14.2692 18.7617C15.9047 18.7617 17.2407 20.0977 17.2407 21.7331V29.173C17.2407 30.8085 15.9047 32.1445 14.2692 32.1445C12.6338 32.1445 11.2979 30.8085 11.2979 29.173V21.7331Z\"\n fill=\"#E01E5A\"\n />\n <path\n d=\"M14.2692 9.8002C12.6338 9.8002 11.2979 8.46423 11.2979 6.82881C11.2979 5.19339 12.6338 3.85742 14.2692 3.85742C15.9047 3.85742 17.2407 5.19339 17.2407 6.82881V9.8002H14.2692Z\"\n fill=\"#36C5F0\"\n />\n <path\n d=\"M14.2688 11.2969C15.9042 11.2969 17.2402 12.6328 17.2402 14.2683C17.2402 15.9037 15.9042 17.2397 14.2688 17.2397H6.82881C5.19339 17.2397 3.85742 15.9037 3.85742 14.2683C3.85742 12.6328 5.19339 11.2969 6.82881 11.2969H14.2688Z\"\n fill=\"#36C5F0\"\n />\n <path\n d=\"M26.2002 14.2683C26.2002 12.6328 27.5362 11.2969 29.1716 11.2969C30.807 11.2969 32.143 12.6328 32.143 14.2683C32.143 15.9037 30.807 17.2397 29.1716 17.2397H26.2002V14.2683Z\"\n fill=\"#2EB67D\"\n />\n <path\n d=\"M24.7026 14.2688C24.7026 15.9042 23.3666 17.2402 21.7312 17.2402C20.0958 17.2402 18.7598 15.9042 18.7598 14.2688V6.82881C18.7598 5.19339 20.0958 3.85742 21.7312 3.85742C23.3666 3.85742 24.7026 5.19339 24.7026 6.82881V14.2688Z\"\n fill=\"#2EB67D\"\n />\n <path\n d=\"M21.7312 26.2012C23.3666 26.2012 24.7026 27.5372 24.7026 29.1726C24.7026 30.808 23.3666 32.144 21.7312 32.144C20.0958 32.144 18.7598 30.808 18.7598 29.1726V26.2012H21.7312Z\"\n fill=\"#ECB22E\"\n />\n <path\n d=\"M21.7312 24.7045C20.0958 24.7045 18.7598 23.3686 18.7598 21.7331C18.7598 20.0977 20.0958 18.7617 21.7312 18.7617H29.1712C30.8065 18.7617 32.1425 20.0977 32.1425 21.7331C32.1425 23.3686 30.8065 24.7045 29.1712 24.7045H21.7312Z\"\n fill=\"#ECB22E\"\n />\n </>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: <></>,\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","type IconSize = 16 | 20 | 24 | 36;\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function ExternalLink({\n size = 24,\n color = \"#1D1D1F\",\n fillColor = \"none\",\n}: Props) {\n const getIconData = () => {\n switch (size) {\n case 16:\n return {\n viewBox: \"0 0 16 16\",\n path: (\n <path d=\"M6.66699 3.99996H4.00033C3.26395 3.99996 2.66699 4.59691 2.66699 5.33329V12C2.66699 12.7363 3.26395 13.3333 4.00033 13.3333H10.667C11.4034 13.3333 12.0003 12.7363 12.0003 12V9.33329M9.33366 2.66663H13.3337M13.3337 2.66663V6.66663M13.3337 2.66663L6.66699 9.33329\" stroke={color} stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n ),\n };\n case 20:\n return {\n viewBox: \"0 0 20 20\",\n path: (\n <path d=\"M8.33301 5.00004H4.99967C4.0792 5.00004 3.33301 5.74623 3.33301 6.66671V15C3.33301 15.9205 4.0792 16.6667 4.99967 16.6667H13.333C14.2535 16.6667 14.9997 15.9205 14.9997 15V11.6667M11.6663 3.33337H16.6663M16.6663 3.33337V8.33337M16.6663 3.33337L8.33301 11.6667\" stroke={color} stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n ),\n };\n case 24:\n return {\n viewBox: \"0 0 24 24\",\n path: (\n <path d=\"M10 6H6C4.89543 6 4 6.89543 4 8V18C4 19.1046 4.89543 20 6 20H16C17.1046 20 18 19.1046 18 18V14M14 4H20M20 4V10M20 4L10 14\" stroke={color} stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n ),\n };\n case 36:\n return {\n viewBox: \"0 0 36 36\",\n path: (\n <path d=\"M15 9H9C7.34315 9 6 10.3431 6 12V27C6 28.6569 7.34315 30 9 30H24C25.6569 30 27 28.6569 27 27V21M21 6H30M30 6V15M30 6L15 21\" stroke={color} stroke-width=\"2.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n ),\n };\n }\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import { ColorVariants } from \"../../../types/global\";\n\ntype Props = {\n color?: string;\n};\n\ntype CategoryProps = {\n variant?: ColorVariants;\n};\n\nexport function AlertIcon({ variant }: CategoryProps) {\n switch (variant) {\n case undefined:\n return (\n <svg\n width={\"100%\"}\n height={\"100%\"}\n viewBox=\"0 0 36 36\"\n fill=\"#FFC24D\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18.0003 15V18M18.0003 24H18.0153M7.60799 30H28.3926C30.702 30 32.1454 27.5 30.9907 25.5L20.5984 7.5C19.4437 5.5 16.5569 5.5 15.4022 7.5L5.00992 25.5C3.85521 27.5 5.29859 30 7.60799 30Z\"\n stroke=\"#1D1D1F\"\n stroke-width=\"2.25\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n );\n default:\n return (\n <svg\n width={\"100%\"}\n height={\"100%\"}\n viewBox=\"0 0 30 28\"\n fill={variant}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18.0003 15V18M18.0003 24H18.0153M7.60799 30H28.3926C30.702 30 32.1454 27.5 30.9907 25.5L20.5984 7.5C19.4437 5.5 16.5569 5.5 15.4022 7.5L5.00992 25.5C3.85521 27.5 5.29859 30 7.60799 30Z\"\n stroke=\"#1D1D1F\"\n stroke-width=\"2.25\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n );\n }\n}\n\nexport function FireIcon({ variant }: CategoryProps) {\n return (\n <svg\n width={\"100%\"}\n height={\"100%\"}\n viewBox=\"0 0 36 36\"\n fill={variant == undefined ? \"none\" : variant}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M26.4853 27.9853C21.799 32.6716 14.201 32.6716 9.51472 27.9853C7.17158 25.6421 6 22.5711 6 19.5C6 16.4289 7.17157 13.3579 9.51472 11.0147C9.51472 11.0147 10.5001 13.4999 13.5001 14.9999C13.5001 11.9999 14.2501 7.49993 17.9788 4.5C21 7.5 24.1367 8.66617 26.4853 11.0147C28.8284 13.3579 30 16.4289 30 19.5C30 22.5711 28.8284 25.6421 26.4853 27.9853Z\"\n fill={variant == undefined ? \"#FF7E71\" : variant}\n stroke=\"#1D1D1F\"\n stroke-width=\"2.25\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.818 24.1819C16.5754 25.9393 19.4246 25.9393 21.182 24.1819C22.0606 23.3033 22.5 22.1516 22.5 21C22.5 19.8483 22.0607 18.6967 21.182 17.818C20.3089 16.9448 19.1662 16.5055 18.0218 16.5L16.4999 20.9999L13.5 21C13.5 22.1516 13.9394 23.3033 14.818 24.1819Z\"\n fill={variant == undefined ? \"#FFD481\" : variant}\n stroke=\"#1D1D1F\"\n stroke-width=\"2.25\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n );\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateArg<DateType>,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n * weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n +startOfWeek(laterDate_, options) === +startOfWeek(earlierDate_, options)\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { constructNow } from \"./constructNow.js\";\nimport { isSameDay } from \"./isSameDay.js\";\n\n/**\n * The {@link isToday} function options.\n */\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date, options) {\n return isSameDay(\n constructFrom(options?.in || date, date),\n constructNow(options?.in || date),\n );\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","import { addDays } from \"./addDays.js\";\nimport { constructNow } from \"./constructNow.js\";\nimport { isSameDay } from \"./isSameDay.js\";\n\n/**\n * The {@link isTomorrow} function options.\n */\n\n/**\n * @name isTomorrow\n * @category Day Helpers\n * @summary Is the given date tomorrow?\n * @pure false\n *\n * @description\n * Is the given date tomorrow?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is tomorrow\n *\n * @example\n * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow?\n * const result = isTomorrow(new Date(2014, 9, 7, 14, 0))\n * //=> true\n */\nexport function isTomorrow(date, options) {\n return isSameDay(\n date,\n addDays(constructNow(options?.in || date), 1),\n options,\n );\n}\n\n// Fallback for modularized imports:\nexport default isTomorrow;\n","import {\n AlertIcon,\n FireIcon,\n} from \"data/vector_icons/service_brands/vector_icons\";\nimport {\n BaseIconName,\n ColorVariants,\n IntegrationService,\n} from \"../types/global\";\n\nexport function getServiceImagePath(\n service: IntegrationService | undefined\n): string | undefined {\n switch (service) {\n case IntegrationService.SLACK:\n return \"/images/brand_icons/slack.svg\";\n case IntegrationService.GMAIL:\n return \"/images/brand_icons/gmail.svg\";\n case IntegrationService.GCAL:\n return \"/images/brand_icons/gcal.svg\";\n case IntegrationService.MSTEAMS:\n return \"/images/brand_icons/msteams.svg\";\n case IntegrationService.MSMAIL:\n return \"/images/brand_icons/msmail.svg\";\n case IntegrationService.MSCAL:\n return \"/images/brand_icons/mscal.svg\";\n case IntegrationService.AJIRA:\n return \"/images/brand_icons/jira.png\";\n default:\n return undefined;\n }\n}\n\nexport function getCategoryIcon(\n service: BaseIconName.FIRE | BaseIconName.ALERT | undefined,\n variant?: ColorVariants,\n size?: number\n) {\n if (!size) {\n size = 24;\n }\n\n switch (service) {\n case BaseIconName.FIRE:\n return <FireIcon variant={variant} />;\n case BaseIconName.ALERT:\n return <AlertIcon variant={variant} />;\n default:\n return <></>;\n }\n}\n\nimport {\n isToday,\n isTomorrow,\n format,\n formatRelative,\n isSameWeek,\n isThisWeek,\n isSameDay,\n parseISO,\n} from \"date-fns\";\n\nexport function formatCustomRelative(date: Date): string {\n const now = new Date();\n\n if (isToday(date)) {\n return `Today @ ${format(date, \"h:mm a\")}`;\n }\n\n if (isTomorrow(date)) {\n return `Tomorrow @ ${format(date, \"h:mm a\")}`;\n }\n\n if (isSameWeek(date, now, { weekStartsOn: 1 })) {\n return `${format(date, \"EEEE\")} @ ${format(date, \"h:mm a\")}`; // e.g. \"Monday @ 14:30\"\n }\n\n return `${format(date, \"EEEE, do MMMM\")} @ ${format(date, \"h:mm a\")}`; // e.g. \"Monday, 15th May @ 14:30\"\n}\n","import { ExternalLink } from \"components/atoms/icons/base_icons/ExternalLink\";\nimport { BaseIconName } from \"../../../../types/global\";\nimport { formatCustomRelative } from \"../../../../util/common\";\n\ntype Props = {\n leftText?: string;\n seperator?: string;\n rightText?: string;\n onClick?: () => void;\n shrunk?: boolean;\n};\n\nexport default function SenderSourceRow({\n leftText,\n seperator,\n rightText,\n onClick,\n shrunk,\n}: Props) {\n return (\n <div className=\"flex flex-wrap h-[18px] w-full place-content-between text-neutral-1 text-[14px] leading-[130%]\">\n <div className=\"flex gap-[4px] place-items-center flex-wrap\">\n <div className=\"body-small-bold\">{leftText}</div>\n <div className=\"body-small\">{seperator}</div>\n <div className=\"body-small-bold\">{rightText}</div>\n <div className=\"label-3 flex\">{formatCustomRelative(new Date())}</div>\n </div>\n <div onClick={onClick}>\n <ExternalLink size={shrunk ? 16 : 24} />\n </div>\n </div>\n );\n}\n","import { BaseIconName } from \"../../../../types/global\";\n\ntype Props = {\n text?: string;\n};\n\nexport default function SubjectLineRow({ text }: Props) {\n return (\n <div className=\"flex h-[17px]\">\n <div className=\"text-neutral-900 body-small-bold\">{text}</div>\n </div>\n );\n}\n","type Props = {\n metadata?: [string, string] | [string];\n};\n\nexport default function MetadataRow({ metadata }: Props) {\n return (\n <div className=\"flex h-[18px] w-[309px] flex-none body-small text-neutral-900 gap-2\">\n {metadata && <div>{metadata[0] + (metadata.length == 2 ? \",\" : \"\")}</div>}\n {metadata?.length == 2 && <div>{metadata[1]}</div>}\n </div>\n );\n}\n","import clsx from \"clsx\";\nimport { BaseIconName } from \"../../../../types/global\";\nimport { Check } from \"components/atoms/icons/base_icons/Check\";\nimport {\n CheckBox,\n CheckBoxEmpty,\n} from \"components/atoms/icons/base_icons/CheckBox\";\n\ntype Props = {\n active?: boolean;\n onClick?: () => void;\n};\n\nexport default function SecondaryCheckBox({ active, onClick }: Props) {\n return (\n <div\n className={clsx(\n \"flex flex-none w-min h-min place-items-center place-content-center p-0\"\n )}\n onClick={(e) => {\n e.stopPropagation();\n onClick && onClick();\n }}\n >\n {active ? (\n <CheckBox size={36} fillColor={\"#E8FE99\"} />\n ) : (\n <CheckBoxEmpty size={36} fillColor=\"#FFFFFF\" />\n )}\n </div>\n );\n}\n","type IconSize = 16 | 20 | 24 | 36;\n\ntype Props = {\n size?: IconSize;\n color?: string; // stroke color\n fillColor?: string; // fill color\n};\n\nexport function CheckBox({ size = 24, fillColor }: Props) {\n const getIconData = () => {\n let viewBox = \"\";\n let scale = 1;\n let maskId = `checkbox-filled-mask-${size}`;\n\n switch (size) {\n case 16:\n viewBox = \"0 0 16 16\";\n scale = 16 / 36;\n break;\n case 20:\n viewBox = \"0 0 20 20\";\n scale = 20 / 36;\n break;\n case 24:\n viewBox = \"0 0 24 24\";\n scale = 24 / 36;\n break;\n case 36:\n viewBox = \"0 0 36 36\";\n scale = 1;\n break;\n }\n\n const path = (\n <g transform={`scale(${scale})`}>\n <mask id={maskId} fill=\"white\">\n <path d=\"M4.5 11.25C4.5 7.52208 7.52208 4.5 11.25 4.5H24.75C28.4779 4.5 31.5 7.52208 31.5 11.25V24.75C31.5 28.4779 28.4779 31.5 24.75 31.5H11.25C7.52208 31.5 4.5 28.4779 4.5 24.75V11.25Z\" />\n </mask>\n <path\n d=\"M4.5 11.25C4.5 7.52208 7.52208 4.5 11.25 4.5H24.75C28.4779 4.5 31.5 7.52208 31.5 11.25V24.75C31.5 28.4779 28.4779 31.5 24.75 31.5H11.25C7.52208 31.5 4.5 28.4779 4.5 24.75V11.25Z\"\n fill={fillColor}\n />\n <path\n d=\"M11.25 4.5V6.75H24.75V4.5V2.25H11.25V4.5ZM31.5 11.25H29.25V24.75H31.5H33.75V11.25H31.5ZM24.75 31.5V29.25H11.25V31.5V33.75H24.75V31.5ZM4.5 24.75H6.75V11.25H4.5H2.25V24.75H4.5ZM11.25 31.5V29.25C8.76472 29.25 6.75 27.2353 6.75 24.75H4.5H2.25C2.25 29.7206 6.27944 33.75 11.25 33.75V31.5ZM31.5 24.75H29.25C29.25 27.2353 27.2353 29.25 24.75 29.25V31.5V33.75C29.7206 33.75 33.75 29.7206 33.75 24.75H31.5ZM24.75 4.5V6.75C27.2353 6.75 29.25 8.76472 29.25 11.25H31.5H33.75C33.75 6.27944 29.7206 2.25 24.75 2.25V4.5ZM11.25 4.5V2.25C6.27944 2.25 2.25 6.27944 2.25 11.25H4.5H6.75C6.75 8.76472 8.76472 6.75 11.25 6.75V4.5Z\"\n fill=\"#1D1D1F\"\n mask={`url(#${maskId})`}\n />\n <path\n d=\"M13.9502 18L16.6502 20.7L22.0502 15.3\"\n stroke=\"#1D1D1F\"\n strokeWidth=\"2.25\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n );\n\n return { viewBox, path };\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n\nexport function CheckBoxEmpty({ size = 24, fillColor }: Props) {\n const getIconData = () => {\n let viewBox = \"\";\n let scale = 1;\n let maskId = `checkbox-filled-empty-mask-${size}`;\n\n switch (size) {\n case 16:\n viewBox = \"0 0 16 16\";\n scale = 16 / 36;\n break;\n case 20:\n viewBox = \"0 0 20 20\";\n scale = 20 / 36;\n break;\n case 24:\n viewBox = \"0 0 24 24\";\n scale = 24 / 36;\n break;\n case 36:\n viewBox = \"0 0 36 36\";\n scale = 1;\n break;\n }\n\n const path = (\n <g transform={`scale(${scale})`}>\n <mask id={maskId} fill=\"white\">\n <path d=\"M4.5 11.25C4.5 7.52208 7.52208 4.5 11.25 4.5H24.75C28.4779 4.5 31.5 7.52208 31.5 11.25V24.75C31.5 28.4779 28.4779 31.5 24.75 31.5H11.25C7.52208 31.5 4.5 28.4779 4.5 24.75V11.25Z\" />\n </mask>\n <path\n d=\"M4.5 11.25C4.5 7.52208 7.52208 4.5 11.25 4.5H24.75C28.4779 4.5 31.5 7.52208 31.5 11.25V24.75C31.5 28.4779 28.4779 31.5 24.75 31.5H11.25C7.52208 31.5 4.5 28.4779 4.5 24.75V11.25Z\"\n fill={fillColor}\n />\n <path\n d=\"M11.25 4.5V6.75H24.75V4.5V2.25H11.25V4.5ZM31.5 11.25H29.25V24.75H31.5H33.75V11.25H31.5ZM24.75 31.5V29.25H11.25V31.5V33.75H24.75V31.5ZM4.5 24.75H6.75V11.25H4.5H2.25V24.75H4.5ZM11.25 31.5V29.25C8.76472 29.25 6.75 27.2353 6.75 24.75H4.5H2.25C2.25 29.7206 6.27944 33.75 11.25 33.75V31.5ZM31.5 24.75H29.25C29.25 27.2353 27.2353 29.25 24.75 29.25V31.5V33.75C29.7206 33.75 33.75 29.7206 33.75 24.75H31.5ZM24.75 4.5V6.75C27.2353 6.75 29.25 8.76472 29.25 11.25H31.5H33.75C33.75 6.27944 29.7206 2.25 24.75 2.25V4.5ZM11.25 4.5V2.25C6.27944 2.25 2.25 6.27944 2.25 11.25H4.5H6.75C6.75 8.76472 8.76472 6.75 11.25 6.75V4.5Z\"\n fill=\"#1D1D1F\"\n mask={`url(#${maskId})`}\n />\n </g>\n );\n\n return { viewBox, path };\n };\n\n const { viewBox, path } = getIconData();\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {path}\n </svg>\n );\n}\n","import clsx from \"clsx\";\nimport {\n BaseIconName,\n ColorVariants,\n IntegrationService,\n} from \"../../../../../types/global\";\nimport CategoryIcon from \"../../../../atoms/icons/category_icons/category_icon\";\nimport BrandIcon from \"../../../../atoms/icons/brand_icons/brand_icon\";\n\ntype Props = {\n icon?: BaseIconName.ALERT | BaseIconName.FIRE;\n label?: string;\n active?: boolean;\n};\n\nexport function CategoryIconButton({ icon, label, active }: Props) {\n return (\n <div\n className={`w-min h-min flex flex-none flex-col place-items-center gap-2 hover:grayscale-0 ${\n active ? \"\" : \"grayscale\"\n }`}\n >\n <div\n className={clsx(\n \"w-[32px] h-[32px] flex flex-none flex-col place-items-center place-content-center rounded-lg hover:bg-qtneutral-200 hover:border-2 hover:border-qtneutral-500\"\n )}\n >\n <CategoryIcon icon={icon} size={24} />\n </div>\n {label && (\n <div className=\"font-medium text-[0.7rem] text-qtneutral-900\">\n {label}\n </div>\n )}\n </div>\n );\n}\n","import { getCategoryIcon, getServiceImagePath } from \"../../../../util/common\";\nimport { BaseIconName, ColorVariants } from \"../../../../types/global\";\n\ntype Props = {\n size?: number;\n icon?: BaseIconName.FIRE | BaseIconName.ALERT;\n variant?: ColorVariants;\n};\n\nexport default function CategoryIcon({ size = 24, icon, variant }: Props) {\n return (\n <div\n className={`flex-none`}\n style={{ width: `${size}px`, height: `${size}px` }}\n >\n <div className=\"w-full h-full\">\n {icon && getCategoryIcon(icon, variant, size)}\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["Fragment","jsx","jsxs","Fragment","jsx","jsxs","Fragment","jsx","jsxs","Fragment","jsx","jsxs","Fragment","jsx","jsxs","jsx","service","size","jsx","jsx","jsxs","defaultOptions","format","defaultOptions","defaultOptions","localize","formatLong","format","defaultOptions","Fragment","jsx","jsx","Fragment","jsx","jsxs","jsx","jsx","jsxs","clsx","clsx","jsx","jsxs","viewBox","path","jsx","clsx","clsx","jsx","jsx","jsxs","clsx","jsx","jsxs","clsx"]}
|