@snacky/ui 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/tokens.ts","../src/components/Button/Button.tsx","../src/utils/cx.ts","../src/components/IconButton/IconButton.tsx","../src/components/IconButton/UploadButton.tsx","../src/icons/outline.tsx","../src/components/Input/TextField.tsx","../src/components/Input/SearchField.tsx","../src/components/Input/OtpField.tsx","../src/components/Input/CopyField.tsx","../src/components/Input/ChatInput.tsx","../src/components/Input/AddressResult.tsx","../src/components/Chips/ProductChip.tsx","../src/components/Chips/FilterChip.tsx","../src/components/RadioButton/RadioButton.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Toggle/Toggle.tsx","../src/components/Navbar/Navbar.tsx","../src/components/Tab/Tab.tsx","../src/icons/solid.tsx","../src/icons/index.ts","../src/components/Header/Header.tsx","../src/components/Banner/Banner.tsx","../src/components/Badge/Badge.tsx","../src/components/Callout/Callout.tsx","../src/components/List/List.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Modal/BottomSheet.tsx","../src/components/Section/Section.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Calendar/Calendar.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Illustration/Illustration.tsx","../src/components/ProductImage/ProductImage.tsx","../src/components/ProductCard/ProductCard.tsx","../src/components/ImagePlaceholder/ImagePlaceholder.tsx"],"sourcesContent":["// Generated from tokens.json by scripts/generate-react-tokens.js - do not hand-edit.\nimport type { CSSProperties } from 'react';\n\nexport const typography: Record<string, Record<string, CSSProperties>> = {\n h1: {\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '32px', fontWeight: 700, lineHeight: '36px', letterSpacing: '0.01em' },\n },\n h2: {\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '20px', fontWeight: 700, lineHeight: '36px', letterSpacing: '0.01em' },\n },\n h3: {\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '16px', fontWeight: 700, lineHeight: '36px', letterSpacing: '0.01em' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '16px', fontWeight: 400, lineHeight: '36px', letterSpacing: 'normal' },\n },\n body: {\n semibold: { fontFamily: 'Poppins, sans-serif', fontSize: '14px', fontWeight: 600, lineHeight: '24px', letterSpacing: 'normal' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '14px', fontWeight: 400, lineHeight: '24px', letterSpacing: 'normal' },\n },\n small: {\n semibold: { fontFamily: 'Poppins, sans-serif', fontSize: '12px', fontWeight: 600, lineHeight: '24px', letterSpacing: 'normal' },\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '12px', fontWeight: 700, lineHeight: '24px', letterSpacing: '0.01em' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '12px', fontWeight: 400, lineHeight: '24px', letterSpacing: 'normal' },\n },\n caption: {\n semibold: { fontFamily: 'Poppins, sans-serif', fontSize: '10px', fontWeight: 600, lineHeight: '23px', letterSpacing: '0.01em' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '10px', fontWeight: 400, lineHeight: '16px', letterSpacing: '0.01em' },\n },\n};\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Button.css';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary';\nexport type ButtonSize = 'default' | 'small';\n\nexport interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> {\n /** Hierarchy. Danger is a separate intent that layers onto any of these - it is not a fourth hierarchy. */\n variant?: ButtonVariant;\n /** Danger intent - a filled/outlined/text red treatment layered onto `variant`. */\n danger?: boolean;\n size?: ButtonSize;\n /** Optional leading icon or social logo slot - 24x24 on `default`, 20x20 on `small`. */\n icon?: ReactNode;\n children?: ReactNode;\n}\n\n/**\n * Snacky Button - Primary/Secondary/Tertiary hierarchy, each with an optional\n * Danger intent, in two sizes. Hover/pressed are real CSS pseudo-classes, not\n * JS-tracked state, matching the design system's documented interaction model.\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n { variant = 'primary', danger = false, size = 'default', icon, children, className, disabled, ...rest },\n ref\n) {\n return (\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n className={cx(\n 'snacky-btn',\n `snacky-btn--${variant}`,\n size === 'small' && 'snacky-btn--small',\n danger && 'snacky-btn--danger',\n icon != null && 'snacky-btn--with-icon',\n className\n )}\n {...rest}\n >\n {/* Icon is absolutely positioned at the left edge, matching the real\n Figma slot. The button reserves room for it via\n `.snacky-btn--with-icon`'s left padding so the (still centered)\n label doesn't render on top of it. */}\n {icon && <span className=\"snacky-btn__icon\">{icon}</span>}\n {children}\n </button>\n );\n});\n","export function cx(...parts: Array<string | false | null | undefined>): string {\n return parts.filter(Boolean).join(' ');\n}\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './IconButton.css';\n\nexport type IconButtonVariant = 'primary' | 'secondary' | 'tertiary';\n\nexport interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: IconButtonVariant;\n /** 32px circle with a 16px icon (default) or 24px circle with a full-size 24px icon (small), primary only. */\n size?: 'default' | 'small';\n icon: ReactNode;\n /** Toggled/favorited state on the Secondary variant - tints the icon with icon-active, fill unchanged. */\n selected?: boolean;\n /** Accessible label - required since the button has no visible text. */\n ariaLabel: string;\n}\n\n/**\n * Snacky Icon Button - compact circular touch target for a single icon.\n * Secondary doubles as a toggle control via `selected` (e.g. Favorite).\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n { variant = 'primary', size = 'default', icon, selected = false, ariaLabel, className, disabled, ...rest },\n ref\n) {\n return (\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-pressed={selected}\n className={cx(\n 'snacky-iconbtn',\n `snacky-iconbtn--${variant}`,\n size === 'small' && 'snacky-iconbtn--small',\n selected && 'snacky-iconbtn--selected',\n className\n )}\n {...rest}\n >\n <span className=\"snacky-iconbtn__icon\">{icon}</span>\n </button>\n );\n});\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { camera as CameraIcon } from '../../icons/outline.js';\nimport './UploadButton.css';\n\nexport interface UploadButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Defaults to the camera glyph Figma draws in this button (its `picture` icon). */\n icon?: ReactNode;\n ariaLabel?: string;\n}\n\n/** Snacky Upload Button - circular dashed-border image drop zone. */\nexport const UploadButton = forwardRef<HTMLButtonElement, UploadButtonProps>(function UploadButton(\n { icon = <CameraIcon />, ariaLabel = 'Upload image', className, ...rest },\n ref\n) {\n return (\n <button ref={ref} type=\"button\" aria-label={ariaLabel} className={cx('snacky-upload', className)} {...rest}>\n {icon}\n </button>\n );\n});\n","// Generated from assets/icons/icons.json by scripts/generate-icons.js - do not hand-edit.\n/*!\n * Icon artwork: UIcons by Flaticon (https://www.flaticon.com/uicons),\n * used under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) and\n * modified: exported from the Figma Community file and renamed to semantic\n * English names. This attribution must be retained when redistributing.\n * See NOTICE at the repo root for the full statement.\n */\nimport type { IconProps } from './types.js';\n\n/**\n * Outline icon set, exported from Figma's `Icon-outline` component set\n * (node 55:2062). These are filled outline shapes, NOT stroked paths: the\n * outline weight is baked into each shape, so they render with `fill` and\n * have no stroke width to set.\n *\n * Each icon keeps the viewBox Figma authored it at (16, 20 or 24 - the set\n * is not uniform) and defaults to rendering at that natural size.\n */\nfunction icon(viewBox: number, paths: Array<[string, string]>) {\n return function SnackyIcon({ width = viewBox, height = viewBox, color = 'currentColor', ...rest }: IconProps) {\n return (\n <svg width={width} height={height} viewBox={`0 0 ${viewBox} ${viewBox}`} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n {paths.map(([d, fillRule], i) => (\n <path\n key={i}\n d={d}\n fill={color}\n fillRule={fillRule as 'nonzero' | 'evenodd'}\n clipRule={fillRule as 'nonzero' | 'evenodd'}\n />\n ))}\n </svg>\n );\n };\n}\n\nexport const account = icon(20, [\n [\"M10 9.99994C10.9889 9.99994 11.9556 9.7067 12.7779 9.15729C13.6001 8.60788 14.241 7.82699 14.6194 6.91336C14.9978 5.99973 15.0969 4.99439 14.9039 4.02449C14.711 3.05458 14.2348 2.16367 13.5355 1.46441C12.8363 0.765145 11.9454 0.288941 10.9755 0.0960148C10.0055 -0.0969113 9.00021 0.00210539 8.08658 0.380544C7.17295 0.758982 6.39206 1.39984 5.84265 2.22209C5.29324 3.04434 5 4.01103 5 4.99994C5.00132 6.32562 5.52853 7.59662 6.46593 8.53401C7.40332 9.47141 8.67432 9.99862 10 9.99994ZM10 1.66661C10.6593 1.66661 11.3037 1.8621 11.8519 2.22838C12.4001 2.59465 12.8273 3.11524 13.0796 3.72433C13.3319 4.33342 13.3979 5.00364 13.2693 5.65024C13.1407 6.29685 12.8232 6.89079 12.357 7.35696C11.8908 7.82314 11.2969 8.14061 10.6503 8.26923C10.0037 8.39784 9.33348 8.33183 8.72439 8.07954C8.1153 7.82725 7.59471 7.40001 7.22844 6.85184C6.86216 6.30368 6.66667 5.65921 6.66667 4.99994C6.66667 4.11589 7.01786 3.26804 7.64298 2.64292C8.2681 2.0178 9.11595 1.66661 10 1.66661Z\", \"nonzero\"],\n [\"M10 11.6672C8.01155 11.6694 6.10518 12.4603 4.69914 13.8663C3.29309 15.2724 2.50221 17.1787 2.5 19.1672C2.5 19.3882 2.5878 19.6002 2.74408 19.7564C2.90036 19.9127 3.11232 20.0005 3.33333 20.0005C3.55435 20.0005 3.76631 19.9127 3.92259 19.7564C4.07887 19.6002 4.16667 19.3882 4.16667 19.1672C4.16667 17.6201 4.78125 16.1363 5.87521 15.0424C6.96917 13.9484 8.4529 13.3338 10 13.3338C11.5471 13.3338 13.0308 13.9484 14.1248 15.0424C15.2188 16.1363 15.8333 17.6201 15.8333 19.1672C15.8333 19.3882 15.9211 19.6002 16.0774 19.7564C16.2337 19.9127 16.4457 20.0005 16.6667 20.0005C16.8877 20.0005 17.0996 19.9127 17.2559 19.7564C17.4122 19.6002 17.5 19.3882 17.5 19.1672C17.4978 17.1787 16.7069 15.2724 15.3009 13.8663C13.8948 12.4603 11.9884 11.6694 10 11.6672Z\", \"nonzero\"],\n]);\n\nexport const address = icon(24, [\n [\"M12.0001 6C11.209 6 10.4356 6.2346 9.77781 6.67412C9.12002 7.11365 8.60733 7.73836 8.30458 8.46927C8.00182 9.20017 7.92261 10.0044 8.07695 10.7804C8.23129 11.5563 8.61226 12.269 9.17167 12.8284C9.73108 13.3878 10.4438 13.7688 11.2197 13.9231C11.9957 14.0775 12.7999 13.9983 13.5308 13.6955C14.2617 13.3928 14.8864 12.8801 15.326 12.2223C15.7655 11.5645 16.0001 10.7911 16.0001 10C16.0001 8.93913 15.5787 7.92172 14.8285 7.17157C14.0784 6.42143 13.061 6 12.0001 6ZM12.0001 12C11.6045 12 11.2179 11.8827 10.889 11.6629C10.5601 11.4432 10.3037 11.1308 10.1523 10.7654C10.001 10.3999 9.96135 9.99778 10.0385 9.60982C10.1157 9.22186 10.3062 8.86549 10.5859 8.58579C10.8656 8.30608 11.222 8.1156 11.6099 8.03843C11.9979 7.96126 12.4 8.00087 12.7655 8.15224C13.1309 8.30362 13.4433 8.55996 13.663 8.88886C13.8828 9.21776 14.0001 9.60444 14.0001 10C14.0001 10.5304 13.7894 11.0391 13.4143 11.4142C13.0392 11.7893 12.5305 12 12.0001 12Z\", \"nonzero\"],\n [\"M11.9999 24.0003C11.1579 24.0046 10.327 23.8071 9.57698 23.4243C8.82694 23.0416 8.17951 22.4847 7.68892 21.8003C3.87792 16.5433 1.94492 12.5913 1.94492 10.0533C1.94492 7.38653 3.00428 4.829 4.88996 2.94332C6.77564 1.05764 9.33316 -0.00172043 11.9999 -0.00172043C14.6667 -0.00172043 17.2242 1.05764 19.1099 2.94332C20.9956 4.829 22.0549 7.38653 22.0549 10.0533C22.0549 12.5913 20.1219 16.5433 16.3109 21.8003C15.8203 22.4847 15.1729 23.0416 14.4229 23.4243C13.6728 23.8071 12.842 24.0046 11.9999 24.0003ZM11.9999 2.18128C9.91233 2.18366 7.91093 3.01401 6.43479 4.49015C4.95864 5.9663 4.1283 7.9677 4.12592 10.0553C4.12592 12.0653 6.01892 15.7823 9.45492 20.5213C9.74661 20.9231 10.1293 21.2501 10.5716 21.4755C11.014 21.701 11.5034 21.8186 11.9999 21.8186C12.4964 21.8186 12.9859 21.701 13.4282 21.4755C13.8705 21.2501 14.2532 20.9231 14.5449 20.5213C17.9809 15.7823 19.8739 12.0653 19.8739 10.0553C19.8715 7.9677 19.0412 5.9663 17.565 4.49015C16.0889 3.01401 14.0875 2.18366 11.9999 2.18128Z\", \"nonzero\"],\n]);\n\nexport const back = icon(24, [\n [\"M19 11H9L12.29 7.70999C12.3837 7.61703 12.4581 7.50643 12.5089 7.38457C12.5597 7.26271 12.5858 7.132 12.5858 6.99999C12.5858 6.86798 12.5597 6.73727 12.5089 6.61541C12.4581 6.49356 12.3837 6.38295 12.29 6.28999C12.1026 6.10374 11.8492 5.9992 11.585 5.9992C11.3208 5.9992 11.0674 6.10374 10.88 6.28999L6.59 10.59C6.21441 10.9633 6.00223 11.4704 6 12C6.00487 12.5261 6.21684 13.0291 6.59 13.4L10.88 17.7C10.9732 17.7926 11.0838 17.8659 11.2054 17.9157C11.3269 17.9656 11.4571 17.991 11.5885 17.9905C11.7199 17.9901 11.8499 17.9637 11.9712 17.913C12.0924 17.8623 12.2024 17.7882 12.295 17.695C12.3876 17.6017 12.4609 17.4912 12.5107 17.3696C12.5606 17.248 12.586 17.1178 12.5856 16.9864C12.5851 16.855 12.5588 16.725 12.508 16.6038C12.4573 16.4826 12.3832 16.3726 12.29 16.28L9 13H19C19.2652 13 19.5196 12.8946 19.7071 12.7071C19.8946 12.5196 20 12.2652 20 12C20 11.7348 19.8946 11.4804 19.7071 11.2929C19.5196 11.1053 19.2652 11 19 11Z\", \"nonzero\"],\n]);\n\nexport const balance = icon(24, [\n [\"M19 20.0003H5C3.67441 19.9987 2.40356 19.4714 1.46622 18.5341C0.528882 17.5967 0.00158786 16.3259 0 15.0003L0 9.00031C0.00158786 7.67471 0.528882 6.40386 1.46622 5.46653C2.40356 4.52919 3.67441 4.00189 5 4.00031H19C20.3256 4.00189 21.5964 4.52919 22.5338 5.46653C23.4711 6.40386 23.9984 7.67471 24 9.00031V15.0003C23.9984 16.3259 23.4711 17.5967 22.5338 18.5341C21.5964 19.4714 20.3256 19.9987 19 20.0003ZM5 6.00031C4.20435 6.00031 3.44129 6.31638 2.87868 6.87898C2.31607 7.44159 2 8.20466 2 9.00031V15.0003C2 15.796 2.31607 16.559 2.87868 17.1216C3.44129 17.6842 4.20435 18.0003 5 18.0003H19C19.7956 18.0003 20.5587 17.6842 21.1213 17.1216C21.6839 16.559 22 15.796 22 15.0003V9.00031C22 8.20466 21.6839 7.44159 21.1213 6.87898C20.5587 6.31638 19.7956 6.00031 19 6.00031H5ZM12 16.0003C11.2089 16.0003 10.4355 15.7657 9.77772 15.3262C9.11992 14.8867 8.60723 14.2619 8.30448 13.531C8.00173 12.8001 7.92252 11.9959 8.07686 11.2199C8.2312 10.444 8.61216 9.73129 9.17157 9.17188C9.73098 8.61247 10.4437 8.2315 11.2196 8.07716C11.9956 7.92282 12.7998 8.00204 13.5307 8.30479C14.2616 8.60754 14.8864 9.12023 15.3259 9.77802C15.7654 10.4358 16 11.2092 16 12.0003C16 13.0612 15.5786 14.0786 14.8284 14.8287C14.0783 15.5789 13.0609 16.0003 12 16.0003ZM12 10.0003C11.6044 10.0003 11.2178 10.1176 10.8889 10.3374C10.56 10.5571 10.3036 10.8695 10.1522 11.2349C10.0009 11.6004 9.96126 12.0025 10.0384 12.3905C10.1156 12.7784 10.3061 13.1348 10.5858 13.4145C10.8655 13.6942 11.2219 13.8847 11.6098 13.9619C11.9978 14.039 12.3999 13.9994 12.7654 13.8481C13.1308 13.6967 13.4432 13.4403 13.6629 13.1114C13.8827 12.7825 14 12.3959 14 12.0003C14 11.4699 13.7893 10.9612 13.4142 10.5861C13.0391 10.211 12.5304 10.0003 12 10.0003ZM5 8.00031C4.80222 8.00031 4.60888 8.05895 4.44443 8.16884C4.27998 8.27872 4.15181 8.4349 4.07612 8.61762C4.00043 8.80035 3.98063 9.00141 4.01921 9.1954C4.0578 9.38938 4.15304 9.56756 4.29289 9.70741C4.43275 9.84726 4.61093 9.94251 4.80491 9.98109C4.99889 10.0197 5.19996 9.99987 5.38268 9.92418C5.56541 9.8485 5.72159 9.72032 5.83147 9.55588C5.94135 9.39143 6 9.19809 6 9.00031C6 8.73509 5.89464 8.48073 5.70711 8.2932C5.51957 8.10566 5.26522 8.00031 5 8.00031ZM18 9.00031C18 9.19809 18.0586 9.39143 18.1685 9.55588C18.2784 9.72032 18.4346 9.8485 18.6173 9.92418C18.8 9.99987 19.0011 10.0197 19.1951 9.98109C19.3891 9.94251 19.5673 9.84726 19.7071 9.70741C19.847 9.56756 19.9422 9.38938 19.9808 9.1954C20.0194 9.00141 19.9996 8.80035 19.9239 8.61762C19.8482 8.4349 19.72 8.27872 19.5556 8.16884C19.3911 8.05895 19.1978 8.00031 19 8.00031C18.7348 8.00031 18.4804 8.10566 18.2929 8.2932C18.1054 8.48073 18 8.73509 18 9.00031ZM5 14.0003C4.80222 14.0003 4.60888 14.059 4.44443 14.1688C4.27998 14.2787 4.15181 14.4349 4.07612 14.6176C4.00043 14.8003 3.98063 15.0014 4.01921 15.1954C4.0578 15.3894 4.15304 15.5676 4.29289 15.7074C4.43275 15.8473 4.61093 15.9425 4.80491 15.9811C4.99889 16.0197 5.19996 15.9999 5.38268 15.9242C5.56541 15.8485 5.72159 15.7203 5.83147 15.5559C5.94135 15.3914 6 15.1981 6 15.0003C6 14.7351 5.89464 14.4807 5.70711 14.2932C5.51957 14.1057 5.26522 14.0003 5 14.0003ZM18 15.0003C18 15.1981 18.0586 15.3914 18.1685 15.5559C18.2784 15.7203 18.4346 15.8485 18.6173 15.9242C18.8 15.9999 19.0011 16.0197 19.1951 15.9811C19.3891 15.9425 19.5673 15.8473 19.7071 15.7074C19.847 15.5676 19.9422 15.3894 19.9808 15.1954C20.0194 15.0014 19.9996 14.8003 19.9239 14.6176C19.8482 14.4349 19.72 14.2787 19.5556 14.1688C19.3911 14.059 19.1978 14.0003 19 14.0003C18.7348 14.0003 18.4804 14.1057 18.2929 14.2932C18.1054 14.4807 18 14.7351 18 15.0003Z\", \"nonzero\"],\n]);\n\nexport const bell = icon(20, [\n [\"M18.7958 11.385L17.2124 5.68829C16.7483 4.01941 15.7397 2.55353 14.3469 1.52369C12.954 0.493838 11.2569 -0.0408839 9.52531 0.00451617C7.79369 0.0499163 6.12693 0.672833 4.78998 1.77425C3.45302 2.87567 2.52259 4.39238 2.14659 6.08329L0.920757 11.5958C0.785353 12.2049 0.788484 12.8367 0.929918 13.4444C1.07135 14.0521 1.34748 14.6203 1.73791 15.1071C2.12834 15.5938 2.62311 15.9867 3.18568 16.2566C3.74826 16.5265 4.36428 16.6666 4.98826 16.6666H5.91659C6.10785 17.6085 6.61887 18.4554 7.36304 19.0636C8.10722 19.6719 9.03879 20.0041 9.99992 20.0041C10.9611 20.0041 11.8926 19.6719 12.6368 19.0636C13.381 18.4554 13.892 17.6085 14.0833 16.6666H14.7816C15.4239 16.6667 16.0576 16.5182 16.6331 16.2328C17.2085 15.9474 17.7102 15.5329 18.0989 15.0215C18.4877 14.5101 18.7529 13.9158 18.8739 13.285C18.9949 12.6542 18.9685 12.0039 18.7966 11.385H18.7958ZM9.99992 18.3333C9.48471 18.3312 8.98273 18.1699 8.56267 17.8716C8.14262 17.5732 7.82499 17.1524 7.65326 16.6666H12.3466C12.1749 17.1524 11.8572 17.5732 11.4372 17.8716C11.0171 18.1699 10.5151 18.3312 9.99992 18.3333ZM16.7716 14.0125C16.5394 14.3205 16.2385 14.5702 15.8929 14.7416C15.5473 14.913 15.1665 15.0015 14.7808 15H4.98826C4.61391 14.9999 4.24436 14.9158 3.90687 14.7538C3.56939 14.5918 3.2726 14.3561 3.03839 14.064C2.80419 13.772 2.63856 13.4311 2.55373 13.0665C2.46889 12.7019 2.46702 12.3229 2.54826 11.9575L3.77326 6.44413C4.06855 5.11597 4.79935 3.92463 5.84947 3.0595C6.89959 2.19437 8.20878 1.7051 9.5689 1.66947C10.929 1.63384 12.262 2.05389 13.356 2.86285C14.45 3.67181 15.2422 4.82325 15.6066 6.13413L17.1899 11.8308C17.2945 12.2019 17.3112 12.5924 17.2386 12.9711C17.166 13.3498 17.0061 13.7063 16.7716 14.0125Z\", \"nonzero\"],\n]);\n\nexport const calendar = icon(24, [\n [\"M19 2H18V1C18 0.734784 17.8946 0.48043 17.7071 0.292893C17.5196 0.105357 17.2652 0 17 0C16.7348 0 16.4804 0.105357 16.2929 0.292893C16.1054 0.48043 16 0.734784 16 1V2H8V1C8 0.734784 7.89464 0.48043 7.70711 0.292893C7.51957 0.105357 7.26522 0 7 0C6.73478 0 6.48043 0.105357 6.29289 0.292893C6.10536 0.48043 6 0.734784 6 1V2H5C3.67441 2.00159 2.40356 2.52888 1.46622 3.46622C0.528882 4.40356 0.00158786 5.67441 0 7L0 19C0.00158786 20.3256 0.528882 21.5964 1.46622 22.5338C2.40356 23.4711 3.67441 23.9984 5 24H19C20.3256 23.9984 21.5964 23.4711 22.5338 22.5338C23.4711 21.5964 23.9984 20.3256 24 19V7C23.9984 5.67441 23.4711 4.40356 22.5338 3.46622C21.5964 2.52888 20.3256 2.00159 19 2ZM2 7C2 6.20435 2.31607 5.44129 2.87868 4.87868C3.44129 4.31607 4.20435 4 5 4H19C19.7956 4 20.5587 4.31607 21.1213 4.87868C21.6839 5.44129 22 6.20435 22 7V8H2V7ZM19 22H5C4.20435 22 3.44129 21.6839 2.87868 21.1213C2.31607 20.5587 2 19.7956 2 19V10H22V19C22 19.7956 21.6839 20.5587 21.1213 21.1213C20.5587 21.6839 19.7956 22 19 22Z\", \"nonzero\"],\n [\"M12 16.5C12.8284 16.5 13.5 15.8284 13.5 15C13.5 14.1716 12.8284 13.5 12 13.5C11.1716 13.5 10.5 14.1716 10.5 15C10.5 15.8284 11.1716 16.5 12 16.5Z\", \"nonzero\"],\n [\"M6.99982 16.5C7.82824 16.5 8.49982 15.8284 8.49982 15C8.49982 14.1716 7.82824 13.5 6.99982 13.5C6.17139 13.5 5.49982 14.1716 5.49982 15C5.49982 15.8284 6.17139 16.5 6.99982 16.5Z\", \"nonzero\"],\n [\"M17.0001 16.5C17.8285 16.5 18.5001 15.8284 18.5001 15C18.5001 14.1716 17.8285 13.5 17.0001 13.5C16.1717 13.5 15.5001 14.1716 15.5001 15C15.5001 15.8284 16.1717 16.5 17.0001 16.5Z\", \"nonzero\"],\n]);\n\nexport const camera = icon(24, [\n [\"M19 4H18.492L16.308 1.168C16.0265 0.805806 15.6663 0.512417 15.2547 0.310054C14.843 0.107691 14.3907 0.00166304 13.932 0L10.068 0C9.6093 0.00166304 9.15699 0.107691 8.74533 0.310054C8.33368 0.512417 7.97347 0.805806 7.692 1.168L5.508 4H5C3.67441 4.00159 2.40356 4.52888 1.46622 5.46622C0.528882 6.40356 0.00158786 7.67441 0 9L0 19C0.00158786 20.3256 0.528882 21.5964 1.46622 22.5338C2.40356 23.4711 3.67441 23.9984 5 24H19C20.3256 23.9984 21.5964 23.4711 22.5338 22.5338C23.4711 21.5964 23.9984 20.3256 24 19V9C23.9984 7.67441 23.4711 6.40356 22.5338 5.46622C21.5964 4.52888 20.3256 4.00159 19 4ZM9.276 2.39C9.36967 2.26905 9.48969 2.17106 9.62693 2.10348C9.76418 2.0359 9.91502 2.00051 10.068 2H13.932C14.085 2.00066 14.2357 2.03611 14.373 2.10368C14.5102 2.17125 14.6302 2.26916 14.724 2.39L15.966 4H8.034L9.276 2.39ZM22 19C22 19.7956 21.6839 20.5587 21.1213 21.1213C20.5587 21.6839 19.7956 22 19 22H5C4.20435 22 3.44129 21.6839 2.87868 21.1213C2.31607 20.5587 2 19.7956 2 19V9C2 8.20435 2.31607 7.44129 2.87868 6.87868C3.44129 6.31607 4.20435 6 5 6H19C19.7956 6 20.5587 6.31607 21.1213 6.87868C21.6839 7.44129 22 8.20435 22 9V19Z\", \"nonzero\"],\n [\"M11.9999 7.99991C10.8133 7.99991 9.65322 8.3518 8.66652 9.01109C7.67983 9.67038 6.91079 10.6075 6.45666 11.7038C6.00254 12.8002 5.88372 14.0066 6.11523 15.1705C6.34674 16.3343 6.91819 17.4034 7.7573 18.2426C8.59642 19.0817 9.66551 19.6531 10.8294 19.8846C11.9933 20.1161 13.1997 19.9973 14.296 19.5432C15.3924 19.0891 16.3295 18.32 16.9888 17.3333C17.648 16.3466 17.9999 15.1866 17.9999 13.9999C17.9984 12.4091 17.3657 10.8839 16.2408 9.75902C15.116 8.63415 13.5908 8.0015 11.9999 7.99991ZM11.9999 17.9999C11.2088 17.9999 10.4355 17.7653 9.77766 17.3258C9.11987 16.8863 8.60717 16.2615 8.30442 15.5306C8.00167 14.7997 7.92246 13.9955 8.0768 13.2195C8.23114 12.4436 8.6121 11.7309 9.17151 11.1715C9.73093 10.6121 10.4437 10.2311 11.2196 10.0768C11.9955 9.92243 12.7998 10.0016 13.5307 10.3044C14.2616 10.6071 14.8863 11.1198 15.3258 11.7776C15.7653 12.4354 15.9999 13.2088 15.9999 13.9999C15.9999 15.0608 15.5785 16.0782 14.8284 16.8283C14.0782 17.5785 13.0608 17.9999 11.9999 17.9999Z\", \"nonzero\"],\n]);\n\nexport const cart = icon(20, [\n [\"M18.9275 3.3975C18.6931 3.1162 18.3996 2.88996 18.068 2.73485C17.7363 2.57973 17.3745 2.49955 17.0083 2.5H3.535L3.5 2.2075C3.42837 1.59951 3.13615 1.03894 2.67874 0.632065C2.22133 0.225186 1.63052 0.000284828 1.01833 0L0.833333 0C0.61232 0 0.400358 0.0877974 0.244078 0.244078C0.0877974 0.400358 0 0.61232 0 0.833333C0 1.05435 0.0877974 1.26631 0.244078 1.42259C0.400358 1.57887 0.61232 1.66667 0.833333 1.66667H1.01833C1.22244 1.66669 1.41945 1.74163 1.57198 1.87726C1.72451 2.0129 1.82195 2.19979 1.84583 2.4025L2.9925 12.1525C3.11154 13.1665 3.59873 14.1015 4.36159 14.78C5.12445 15.4585 6.10988 15.8334 7.13083 15.8333H15.8333C16.0543 15.8333 16.2663 15.7455 16.4226 15.5893C16.5789 15.433 16.6667 15.221 16.6667 15C16.6667 14.779 16.5789 14.567 16.4226 14.4107C16.2663 14.2545 16.0543 14.1667 15.8333 14.1667H7.13083C6.61505 14.1652 6.11233 14.0043 5.69161 13.7059C5.27089 13.4075 4.95276 12.9863 4.78083 12.5H14.7142C15.6911 12.5001 16.637 12.1569 17.3865 11.5304C18.1361 10.9039 18.6417 10.0339 18.815 9.0725L19.4692 5.44417C19.5345 5.08417 19.5198 4.71422 19.4262 4.36053C19.3326 4.00684 19.1623 3.67806 18.9275 3.3975ZM17.8333 5.14833L17.1783 8.77667C17.0743 9.35417 16.7704 9.87666 16.3199 10.2527C15.8694 10.6287 15.301 10.8342 14.7142 10.8333H4.51583L3.73167 4.16667H17.0083C17.1308 4.16594 17.2518 4.19218 17.3629 4.24355C17.4741 4.29491 17.5725 4.37012 17.6513 4.46384C17.73 4.55756 17.7872 4.66748 17.8186 4.78578C17.8501 4.90409 17.8551 5.02787 17.8333 5.14833Z\", \"nonzero\"],\n [\"M5.83347 20.0005C6.75395 20.0005 7.50014 19.2543 7.50014 18.3339C7.50014 17.4134 6.75395 16.6672 5.83347 16.6672C4.913 16.6672 4.16681 17.4134 4.16681 18.3339C4.16681 19.2543 4.913 20.0005 5.83347 20.0005Z\", \"nonzero\"],\n [\"M14.1667 20.0005C15.0871 20.0005 15.8333 19.2543 15.8333 18.3339C15.8333 17.4134 15.0871 16.6672 14.1667 16.6672C13.2462 16.6672 12.5 17.4134 12.5 18.3339C12.5 19.2543 13.2462 20.0005 14.1667 20.0005Z\", \"nonzero\"],\n]);\n\nexport const cartAdd = icon(24, [\n [\"M6.99994 24.0006C8.1045 24.0006 8.99993 23.1052 8.99993 22.0006C8.99993 20.8961 8.1045 20.0006 6.99994 20.0006C5.89537 20.0006 4.99994 20.8961 4.99994 22.0006C4.99994 23.1052 5.89537 24.0006 6.99994 24.0006Z\", \"nonzero\"],\n [\"M17 24.0006C18.1046 24.0006 19 23.1052 19 22.0006C19 20.8961 18.1046 20.0006 17 20.0006C15.8954 20.0006 15 20.8961 15 22.0006C15 23.1052 15.8954 24.0006 17 24.0006Z\", \"nonzero\"],\n [\"M23 2.99999H21.0001V0.999992C21.0001 0.734776 20.8947 0.480422 20.7072 0.292886C20.5196 0.105349 20.2653 -7.62939e-06 20.0001 -7.62939e-06C19.7348 -7.62939e-06 19.4805 0.105349 19.2929 0.292886C19.1054 0.480422 19.0001 0.734776 19.0001 0.999992V2.99999H17.0001C16.7348 2.99999 16.4805 3.10535 16.293 3.29289C16.1054 3.48042 16.0001 3.73478 16.0001 3.99999C16.0001 4.26521 16.1054 4.51956 16.293 4.7071C16.4805 4.89464 16.7348 4.99999 17.0001 4.99999H19.0001V6.99999C19.0001 7.26521 19.1054 7.51956 19.2929 7.7071C19.4805 7.89464 19.7348 7.99999 20.0001 7.99999C20.2653 7.99999 20.5196 7.89464 20.7072 7.7071C20.8947 7.51956 21.0001 7.26521 21.0001 6.99999V4.99999H23C23.2653 4.99999 23.5196 4.89464 23.7072 4.7071C23.8947 4.51956 24 4.26521 24 3.99999C24 3.73478 23.8947 3.48042 23.7072 3.29289C23.5196 3.10535 23.2653 2.99999 23 2.99999Z\", \"nonzero\"],\n [\"M21.771 9.726C21.6417 9.70181 21.5089 9.70352 21.3803 9.73103C21.2516 9.75854 21.1297 9.81132 21.0216 9.88629C20.9136 9.96126 20.8214 10.0569 20.7506 10.1678C20.6798 10.2786 20.6316 10.4024 20.609 10.532C20.4843 11.2242 20.1203 11.8505 19.5808 12.3016C19.0412 12.7527 18.3603 12.9999 17.657 13H5.418L4.478 5H13C13.2652 5 13.5196 4.89464 13.7071 4.70711C13.8946 4.51957 14 4.26522 14 4C14 3.73478 13.8946 3.48043 13.7071 3.29289C13.5196 3.10536 13.2652 3 13 3H4.242L4.2 2.648C4.11382 1.9186 3.76306 1.24615 3.21419 0.758104C2.66532 0.270054 1.95647 0.000312836 1.222 0L1 0C0.734784 0 0.48043 0.105357 0.292893 0.292893C0.105357 0.48043 0 0.734784 0 1C0 1.26522 0.105357 1.51957 0.292893 1.70711C0.48043 1.89464 0.734784 2 1 2H1.222C1.46693 2.00003 1.70334 2.08996 1.88637 2.25272C2.06941 2.41547 2.18634 2.63975 2.215 2.883L3.591 14.583C3.73385 15.7998 4.31848 16.9218 5.23391 17.736C6.14934 18.5502 7.33185 19 8.557 19H19C19.2652 19 19.5196 18.8946 19.7071 18.7071C19.8946 18.5196 20 18.2652 20 18C20 17.7348 19.8946 17.4804 19.7071 17.2929C19.5196 17.1054 19.2652 17 19 17H8.557C7.93652 17.0001 7.33127 16.8078 6.82461 16.4497C6.31796 16.0915 5.93483 15.585 5.728 15H17.657C18.8291 15.0001 19.9641 14.5884 20.8635 13.8368C21.763 13.0852 22.3698 12.0415 22.578 10.888C22.6014 10.7587 22.599 10.6261 22.5711 10.4977C22.5432 10.3693 22.4902 10.2477 22.4153 10.1398C22.3403 10.0319 22.2449 9.93978 22.1343 9.86878C22.0238 9.79778 21.9003 9.74926 21.771 9.726Z\", \"nonzero\"],\n]);\n\nexport const category = icon(20, [\n [\"M5.83333 0H3.33333C2.44928 0 1.60143 0.35119 0.976311 0.976311C0.35119 1.60143 0 2.44928 0 3.33333L0 5.83333C0 6.71739 0.35119 7.56524 0.976311 8.19036C1.60143 8.81548 2.44928 9.16667 3.33333 9.16667H5.83333C6.71739 9.16667 7.56524 8.81548 8.19036 8.19036C8.81548 7.56524 9.16667 6.71739 9.16667 5.83333V3.33333C9.16667 2.44928 8.81548 1.60143 8.19036 0.976311C7.56524 0.35119 6.71739 0 5.83333 0V0ZM7.5 5.83333C7.5 6.27536 7.32441 6.69928 7.01184 7.01184C6.69928 7.32441 6.27536 7.5 5.83333 7.5H3.33333C2.89131 7.5 2.46738 7.32441 2.15482 7.01184C1.84226 6.69928 1.66667 6.27536 1.66667 5.83333V3.33333C1.66667 2.89131 1.84226 2.46738 2.15482 2.15482C2.46738 1.84226 2.89131 1.66667 3.33333 1.66667H5.83333C6.27536 1.66667 6.69928 1.84226 7.01184 2.15482C7.32441 2.46738 7.5 2.89131 7.5 3.33333V5.83333Z\", \"nonzero\"],\n [\"M16.6665 0H14.1665C13.2825 0 12.4346 0.35119 11.8095 0.976311C11.1844 1.60143 10.8332 2.44928 10.8332 3.33334V5.83334C10.8332 6.71739 11.1844 7.56524 11.8095 8.19036C12.4346 8.81548 13.2825 9.16667 14.1665 9.16667H16.6665C17.5506 9.16667 18.3984 8.81548 19.0235 8.19036C19.6487 7.56524 19.9998 6.71739 19.9998 5.83334V3.33334C19.9998 2.44928 19.6487 1.60143 19.0235 0.976311C18.3984 0.35119 17.5506 0 16.6665 0V0ZM18.3332 5.83334C18.3332 6.27537 18.1576 6.69929 17.845 7.01185C17.5325 7.32441 17.1085 7.50001 16.6665 7.50001H14.1665C13.7245 7.50001 13.3006 7.32441 12.988 7.01185C12.6754 6.69929 12.4999 6.27537 12.4999 5.83334V3.33334C12.4999 2.89131 12.6754 2.46738 12.988 2.15482C13.3006 1.84226 13.7245 1.66667 14.1665 1.66667H16.6665C17.1085 1.66667 17.5325 1.84226 17.845 2.15482C18.1576 2.46738 18.3332 2.89131 18.3332 3.33334V5.83334Z\", \"nonzero\"],\n [\"M5.83333 10.8333H3.33333C2.44928 10.8333 1.60143 11.1845 0.976311 11.8096C0.35119 12.4348 0 13.2826 0 14.1667L0 16.6667C0 17.5507 0.35119 18.3986 0.976311 19.0237C1.60143 19.6488 2.44928 20 3.33333 20H5.83333C6.71739 20 7.56524 19.6488 8.19036 19.0237C8.81548 18.3986 9.16667 17.5507 9.16667 16.6667V14.1667C9.16667 13.2826 8.81548 12.4348 8.19036 11.8096C7.56524 11.1845 6.71739 10.8333 5.83333 10.8333ZM7.5 16.6667C7.5 17.1087 7.32441 17.5326 7.01184 17.8452C6.69928 18.1577 6.27536 18.3333 5.83333 18.3333H3.33333C2.89131 18.3333 2.46738 18.1577 2.15482 17.8452C1.84226 17.5326 1.66667 17.1087 1.66667 16.6667V14.1667C1.66667 13.7246 1.84226 13.3007 2.15482 12.9882C2.46738 12.6756 2.89131 12.5 3.33333 12.5H5.83333C6.27536 12.5 6.69928 12.6756 7.01184 12.9882C7.32441 13.3007 7.5 13.7246 7.5 14.1667V16.6667Z\", \"nonzero\"],\n [\"M16.6665 10.8333H14.1665C13.2825 10.8333 12.4346 11.1845 11.8095 11.8096C11.1844 12.4348 10.8332 13.2826 10.8332 14.1667V16.6667C10.8332 17.5507 11.1844 18.3986 11.8095 19.0237C12.4346 19.6488 13.2825 20 14.1665 20H16.6665C17.5506 20 18.3984 19.6488 19.0235 19.0237C19.6487 18.3986 19.9998 17.5507 19.9998 16.6667V14.1667C19.9998 13.2826 19.6487 12.4348 19.0235 11.8096C18.3984 11.1845 17.5506 10.8333 16.6665 10.8333ZM18.3332 16.6667C18.3332 17.1087 18.1576 17.5326 17.845 17.8452C17.5325 18.1577 17.1085 18.3333 16.6665 18.3333H14.1665C13.7245 18.3333 13.3006 18.1577 12.988 17.8452C12.6754 17.5326 12.4999 17.1087 12.4999 16.6667V14.1667C12.4999 13.7246 12.6754 13.3007 12.988 12.9882C13.3006 12.6756 13.7245 12.5 14.1665 12.5H16.6665C17.1085 12.5 17.5325 12.6756 17.845 12.9882C18.1576 13.3007 18.3332 13.7246 18.3332 14.1667V16.6667Z\", \"nonzero\"],\n]);\n\nexport const chat = icon(24, [\n [\"M24 15.9999V20.9999C24 21.7956 23.6839 22.5586 23.1213 23.1213C22.5587 23.6839 21.7956 23.9999 21 23.9999H16C14.5971 23.9985 13.2192 23.6282 12.0047 22.9261C10.7901 22.224 9.78145 21.2149 9.08 19.9999C9.83387 19.9945 10.5852 19.9114 11.322 19.7519C11.8832 20.4536 12.595 21.02 13.4048 21.4091C14.2146 21.7982 15.1016 22.0002 16 21.9999H21C21.2652 21.9999 21.5196 21.8946 21.7071 21.707C21.8946 21.5195 22 21.2651 22 20.9999V15.9999C21.9998 15.1012 21.7972 14.214 21.4074 13.4042C21.0175 12.5944 20.4504 11.8827 19.748 11.3219C19.9088 10.5852 19.9933 9.83394 20 9.07993C21.215 9.78138 22.2241 10.79 22.9262 12.0046C23.6282 13.2192 23.9986 14.597 24 15.9999ZM17.977 9.65093C18.0705 8.36257 17.8856 7.06917 17.4348 5.85862C16.9841 4.64808 16.278 3.54875 15.3646 2.63535C14.4512 1.72194 13.3518 1.01586 12.1413 0.565084C10.9308 0.114309 9.63736 -0.0705986 8.349 0.0229271C6.06592 0.283659 3.95693 1.3701 2.41918 3.07767C0.881427 4.78524 0.0210272 6.9961 0 9.29393L0 14.3339C0 16.8659 1.507 17.9999 3 17.9999H8.7C10.9988 17.9801 13.211 17.1203 14.9198 15.5825C16.6286 14.0446 17.7159 11.9349 17.977 9.65093ZM13.95 4.05093C14.6599 4.76243 15.2088 5.61813 15.5593 6.56012C15.9099 7.5021 16.054 8.5084 15.982 9.51093C15.7686 11.2946 14.9105 12.9387 13.5693 14.1339C12.2282 15.329 10.4964 15.9927 8.7 15.9999H3C2.072 15.9999 2 14.7249 2 14.3339V9.29393C2.00834 7.4983 2.67265 5.76763 3.86792 4.42761C5.06319 3.08758 6.70699 2.23059 8.49 2.01793C8.656 2.00593 8.822 1.99993 8.988 1.99993C9.90927 1.99907 10.8217 2.17976 11.6731 2.53168C12.5245 2.88361 13.2982 3.39985 13.95 4.05093Z\", \"nonzero\"],\n]);\n\nexport const chevronDown = icon(24, [\n [\"M18.7099 8.21C18.6169 8.11627 18.5063 8.04187 18.3845 7.99111C18.2626 7.94034 18.1319 7.9142 17.9999 7.9142C17.8679 7.9142 17.7372 7.94034 17.6153 7.99111C17.4934 8.04187 17.3828 8.11627 17.2899 8.21L12.7099 12.79C12.6169 12.8837 12.5063 12.9581 12.3845 13.0089C12.2626 13.0596 12.1319 13.0858 11.9999 13.0858C11.8679 13.0858 11.7372 13.0596 11.6153 13.0089C11.4934 12.9581 11.3828 12.8837 11.2899 12.79L6.70988 8.21C6.61691 8.11627 6.50631 8.04187 6.38445 7.99111C6.26259 7.94034 6.13189 7.9142 5.99988 7.9142C5.86787 7.9142 5.73716 7.94034 5.6153 7.99111C5.49344 8.04187 5.38284 8.11627 5.28988 8.21C5.10363 8.39736 4.99908 8.65081 4.99908 8.915C4.99908 9.17918 5.10363 9.43263 5.28988 9.61999L9.87988 14.21C10.4424 14.7718 11.2049 15.0873 11.9999 15.0873C12.7949 15.0873 13.5574 14.7718 14.1199 14.21L18.7099 9.61999C18.8961 9.43263 19.0007 9.17918 19.0007 8.915C19.0007 8.65081 18.8961 8.39736 18.7099 8.21Z\", \"nonzero\"],\n]);\n\nexport const chevronRight = icon(24, [\n [\"M15.3998 9.88001L10.8098 5.29001C10.6224 5.10376 10.369 4.99921 10.1048 4.99921C9.84062 4.99921 9.58716 5.10376 9.3998 5.29001C9.30607 5.38297 9.23168 5.49357 9.18091 5.61543C9.13014 5.73729 9.104 5.86799 9.104 6.00001C9.104 6.13202 9.13014 6.26272 9.18091 6.38458C9.23168 6.50644 9.30607 6.61704 9.3998 6.71001L13.9998 11.29C14.0935 11.383 14.1679 11.4936 14.2187 11.6154C14.2695 11.7373 14.2956 11.868 14.2956 12C14.2956 12.132 14.2695 12.2627 14.2187 12.3846C14.1679 12.5064 14.0935 12.617 13.9998 12.71L9.3998 17.29C9.2115 17.477 9.10518 17.7311 9.10425 17.9965C9.10331 18.2618 9.20783 18.5167 9.3948 18.705C9.58178 18.8933 9.8359 18.9996 10.1013 19.0006C10.3666 19.0015 10.6215 18.897 10.8098 18.71L15.3998 14.12C15.9616 13.5575 16.2772 12.795 16.2772 12C16.2772 11.205 15.9616 10.4425 15.3998 9.88001Z\", \"nonzero\"],\n]);\n\nexport const chevronUp = icon(24, [\n [\"M17.9998 15.5C17.8682 15.5007 17.7377 15.4755 17.6159 15.4258C17.4941 15.376 17.3833 15.3027 17.2898 15.21L12.7098 10.62C12.6169 10.5263 12.5063 10.4519 12.3844 10.4011C12.2625 10.3503 12.1318 10.3242 11.9998 10.3242C11.8678 10.3242 11.7371 10.3503 11.6152 10.4011C11.4934 10.4519 11.3828 10.5263 11.2898 10.62L6.70982 15.21C6.52152 15.3983 6.26612 15.5041 5.99982 15.5041C5.73352 15.5041 5.47812 15.3983 5.28982 15.21C5.10152 15.0217 4.99573 14.7663 4.99573 14.5C4.99573 14.3681 5.0217 14.2376 5.07216 14.1157C5.12262 13.9939 5.19658 13.8832 5.28982 13.79L9.87982 9.21C10.4498 8.66243 11.2095 8.35663 11.9998 8.35663C12.7902 8.35663 13.5499 8.66243 14.1198 9.21L18.7098 13.79C18.8035 13.883 18.8779 13.9936 18.9287 14.1154C18.9795 14.2373 19.0056 14.368 19.0056 14.5C19.0056 14.632 18.9795 14.7627 18.9287 14.8846C18.8779 15.0064 18.8035 15.117 18.7098 15.21C18.6164 15.3027 18.5056 15.376 18.3837 15.4258C18.2619 15.4755 18.1314 15.5007 17.9998 15.5Z\", \"nonzero\"],\n]);\n\nexport const close = icon(24, [\n [\"M18 5.99998C17.8124 5.81251 17.5581 5.70719 17.293 5.70719C17.0278 5.70719 16.7735 5.81251 16.586 5.99998L12 10.586L7.41397 5.99998C7.22644 5.81251 6.97213 5.70719 6.70697 5.70719C6.44181 5.70719 6.1875 5.81251 5.99997 5.99998C5.8125 6.18751 5.70718 6.44181 5.70718 6.70698C5.70718 6.97214 5.8125 7.22645 5.99997 7.41398L10.586 12L5.99997 16.586C5.8125 16.7735 5.70718 17.0278 5.70718 17.293C5.70718 17.5581 5.8125 17.8125 5.99997 18C6.1875 18.1875 6.44181 18.2928 6.70697 18.2928C6.97213 18.2928 7.22644 18.1875 7.41397 18L12 13.414L16.586 18C16.7735 18.1875 17.0278 18.2928 17.293 18.2928C17.5581 18.2928 17.8124 18.1875 18 18C18.1874 17.8125 18.2928 17.5581 18.2928 17.293C18.2928 17.0278 18.1874 16.7735 18 16.586L13.414 12L18 7.41398C18.1874 7.22645 18.2928 6.97214 18.2928 6.70698C18.2928 6.44181 18.1874 6.18751 18 5.99998Z\", \"nonzero\"],\n]);\n\nexport const closeInput = icon(16, [\n [\"M10.6666 5.33342C10.5416 5.20844 10.3721 5.13823 10.1953 5.13823C10.0185 5.13823 9.84897 5.20844 9.72395 5.33342L7.99995 7.05742L6.27595 5.33342C6.15022 5.21198 5.98182 5.14479 5.80702 5.1463C5.63222 5.14782 5.46502 5.21794 5.34141 5.34154C5.21781 5.46515 5.14769 5.63236 5.14617 5.80715C5.14465 5.98195 5.21185 6.15035 5.33329 6.27609L7.05729 8.00009L5.33329 9.72409C5.21185 9.84982 5.14465 10.0182 5.14617 10.193C5.14769 10.3678 5.21781 10.535 5.34141 10.6586C5.46502 10.7822 5.63222 10.8524 5.80702 10.8539C5.98182 10.8554 6.15022 10.7882 6.27595 10.6668L7.99995 8.94275L9.72395 10.6668C9.84968 10.7882 10.0181 10.8554 10.1929 10.8539C10.3677 10.8524 10.5349 10.7822 10.6585 10.6586C10.7821 10.535 10.8522 10.3678 10.8537 10.193C10.8552 10.0182 10.7881 9.84982 10.6666 9.72409L8.94262 8.00009L10.6666 6.27609C10.7916 6.15107 10.8618 5.98153 10.8618 5.80475C10.8618 5.62798 10.7916 5.45844 10.6666 5.33342Z\", \"nonzero\"],\n [\"M8 0C6.41775 0 4.87104 0.469192 3.55544 1.34824C2.23985 2.22729 1.21447 3.47672 0.608967 4.93853C0.00346629 6.40034 -0.15496 8.00887 0.153721 9.56072C0.462403 11.1126 1.22433 12.538 2.34315 13.6569C3.46197 14.7757 4.88743 15.5376 6.43928 15.8463C7.99113 16.155 9.59966 15.9965 11.0615 15.391C12.5233 14.7855 13.7727 13.7602 14.6518 12.4446C15.5308 11.129 16 9.58225 16 8C15.9977 5.87897 15.1541 3.84547 13.6543 2.34568C12.1545 0.845886 10.121 0.00229405 8 0V0ZM8 14.6667C6.68146 14.6667 5.39253 14.2757 4.2962 13.5431C3.19987 12.8106 2.34539 11.7694 1.84081 10.5512C1.33622 9.33305 1.2042 7.99261 1.46144 6.6994C1.71867 5.40619 2.35361 4.21831 3.28596 3.28596C4.21831 2.35361 5.4062 1.71867 6.6994 1.46143C7.99261 1.2042 9.33305 1.33622 10.5512 1.8408C11.7694 2.34539 12.8106 3.19987 13.5431 4.2962C14.2757 5.39253 14.6667 6.68146 14.6667 8C14.6647 9.76752 13.9617 11.4621 12.7119 12.7119C11.4621 13.9617 9.76752 14.6647 8 14.6667Z\", \"nonzero\"],\n]);\n\nexport const creditCard = icon(24, [\n [\"M5.50006 17.0001C6.32849 17.0001 7.00006 16.3286 7.00006 15.5001C7.00006 14.6717 6.32849 14.0001 5.50006 14.0001C4.67163 14.0001 4.00006 14.6717 4.00006 15.5001C4.00006 16.3286 4.67163 17.0001 5.50006 17.0001Z\", \"nonzero\"],\n [\"M19 2.99999H5C3.67441 3.00158 2.40356 3.52887 1.46622 4.46621C0.528882 5.40355 0.00158786 6.6744 0 7.99999L0 16C0.00158786 17.3256 0.528882 18.5964 1.46622 19.5338C2.40356 20.4711 3.67441 20.9984 5 21H19C20.3256 20.9984 21.5964 20.4711 22.5338 19.5338C23.4711 18.5964 23.9984 17.3256 24 16V7.99999C23.9984 6.6744 23.4711 5.40355 22.5338 4.46621C21.5964 3.52887 20.3256 3.00158 19 2.99999ZM5 4.99999H19C19.7956 4.99999 20.5587 5.31606 21.1213 5.87867C21.6839 6.44128 22 7.20434 22 7.99999H2C2 7.20434 2.31607 6.44128 2.87868 5.87867C3.44129 5.31606 4.20435 4.99999 5 4.99999ZM19 19H5C4.20435 19 3.44129 18.6839 2.87868 18.1213C2.31607 17.5587 2 16.7956 2 16V9.99999H22V16C22 16.7956 21.6839 17.5587 21.1213 18.1213C20.5587 18.6839 19.7956 19 19 19Z\", \"nonzero\"],\n]);\n\nexport const document = icon(24, [\n [\"M19.535 3.12205L17.879 1.46405C17.4157 0.998363 16.8646 0.629189 16.2576 0.377895C15.6507 0.1266 14.9999 -0.00182547 14.343 5.0783e-05H8C6.67441 0.00163864 5.40356 0.528933 4.46622 1.46627C3.52888 2.40361 3.00159 3.67446 3 5.00005V19.0001C3.00159 20.3256 3.52888 21.5965 4.46622 22.5338C5.40356 23.4712 6.67441 23.9985 8 24.0001H16C17.3256 23.9985 18.5964 23.4712 19.5338 22.5338C20.4711 21.5965 20.9984 20.3256 21 19.0001V6.65705C21.0016 6.00024 20.873 5.34962 20.6215 4.74284C20.37 4.13607 20.0007 3.58518 19.535 3.12205ZM18.121 4.53605C18.2628 4.67737 18.3898 4.83285 18.5 5.00005H16V2.50005C16.1669 2.61137 16.3227 2.73863 16.465 2.88005L18.121 4.53605ZM19 19.0001C19 19.7957 18.6839 20.5588 18.1213 21.1214C17.5587 21.684 16.7956 22.0001 16 22.0001H8C7.20435 22.0001 6.44129 21.684 5.87868 21.1214C5.31607 20.5588 5 19.7957 5 19.0001V5.00005C5 4.2044 5.31607 3.44134 5.87868 2.87873C6.44129 2.31612 7.20435 2.00005 8 2.00005H14V5.00005C14 5.53048 14.2107 6.03919 14.5858 6.41427C14.9609 6.78934 15.4696 7.00005 16 7.00005H19V19.0001ZM16 9.00005C16.2652 9.00005 16.5196 9.10541 16.7071 9.29294C16.8946 9.48048 17 9.73484 17 10.0001C17 10.2653 16.8946 10.5196 16.7071 10.7072C16.5196 10.8947 16.2652 11.0001 16 11.0001H8C7.73478 11.0001 7.48043 10.8947 7.29289 10.7072C7.10536 10.5196 7 10.2653 7 10.0001C7 9.73484 7.10536 9.48048 7.29289 9.29294C7.48043 9.10541 7.73478 9.00005 8 9.00005H16ZM17 14.0001C17 14.2653 16.8946 14.5196 16.7071 14.7072C16.5196 14.8947 16.2652 15.0001 16 15.0001H8C7.73478 15.0001 7.48043 14.8947 7.29289 14.7072C7.10536 14.5196 7 14.2653 7 14.0001C7 13.7348 7.10536 13.4805 7.29289 13.2929C7.48043 13.1054 7.73478 13.0001 8 13.0001H16C16.2652 13.0001 16.5196 13.1054 16.7071 13.2929C16.8946 13.4805 17 13.7348 17 14.0001ZM16.808 17.4131C16.9634 17.6269 17.0279 17.8936 16.9872 18.1548C16.9466 18.4161 16.8041 18.6506 16.591 18.8071C15.5778 19.529 14.3778 19.9433 13.135 20.0001C12.4089 19.9966 11.7048 19.7501 11.135 19.3001C10.807 19.0751 10.682 19.0001 10.435 19.0001C9.76643 19.1035 9.13562 19.3769 8.603 19.7941C8.39175 19.9446 8.13024 20.0072 7.87369 19.9686C7.61715 19.93 7.38565 19.7932 7.22808 19.5871C7.07052 19.381 6.99922 19.1217 7.02925 18.864C7.05927 18.6063 7.18827 18.3704 7.389 18.2061C8.27018 17.522 9.32828 17.1036 10.439 17.0001C11.1051 17.0107 11.7491 17.2409 12.271 17.6551C12.5089 17.869 12.8152 17.9913 13.135 18.0001C13.9527 17.9388 14.739 17.6594 15.412 17.1911C15.6266 17.0355 15.8942 16.9715 16.1559 17.0131C16.4177 17.0548 16.6522 17.1986 16.808 17.4131Z\", \"nonzero\"],\n]);\n\nexport const edit = icon(24, [\n [\"M22.8531 1.148C22.1733 0.469196 21.2518 0.0879364 20.2911 0.0879364C19.3304 0.0879364 18.409 0.469196 17.7291 1.148L1.46514 17.412C0.999388 17.8751 0.630099 18.426 0.378635 19.0328C0.127171 19.6396 -0.00147591 20.2902 0.000137052 20.947V23C0.000137052 23.2652 0.105494 23.5196 0.29303 23.7071C0.480567 23.8946 0.734921 24 1.00014 24H3.05314C3.7099 24.0019 4.36051 23.8734 4.96729 23.6221C5.57408 23.3708 6.12499 23.0017 6.58814 22.536L22.8531 6.271C23.5316 5.59119 23.9127 4.66997 23.9127 3.7095C23.9127 2.74903 23.5316 1.8278 22.8531 1.148ZM5.17414 21.122C4.61014 21.6822 3.8481 21.9977 3.05314 22H2.00014V20.947C1.99913 20.5529 2.07629 20.1625 2.22717 19.7985C2.37806 19.4344 2.59965 19.1039 2.87914 18.826L15.2221 6.483L17.5221 8.783L5.17414 21.122ZM21.4381 4.857L18.9321 7.364L16.6321 5.069L19.1391 2.562C19.2902 2.41131 19.4694 2.29184 19.6666 2.21041C19.8638 2.12898 20.0751 2.08719 20.2884 2.08742C20.5017 2.08765 20.713 2.1299 20.91 2.21176C21.107 2.29362 21.2859 2.41348 21.4366 2.5645C21.5873 2.71552 21.7068 2.89474 21.7882 3.09193C21.8697 3.28913 21.9114 3.50042 21.9112 3.71377C21.911 3.92711 21.8687 4.13832 21.7869 4.33533C21.705 4.53235 21.5852 4.71131 21.4341 4.862L21.4381 4.857Z\", \"nonzero\"],\n]);\n\nexport const eye = icon(20, [\n [\"M19.3924 7.84905C18.0999 5.74405 15.1599 2.21238 9.99989 2.21238C4.83989 2.21238 1.89989 5.74405 0.60739 7.84905C0.20783 8.49531 -0.0038147 9.24009 -0.0038147 9.99988C-0.0038147 10.7597 0.20783 11.5045 0.60739 12.1507C1.89989 14.2557 4.83989 17.7874 9.99989 17.7874C15.1599 17.7874 18.0999 14.2557 19.3924 12.1507C19.792 11.5045 20.0036 10.7597 20.0036 9.99988C20.0036 9.24009 19.792 8.49531 19.3924 7.84905ZM17.9716 11.2782C16.8616 13.0832 14.3491 16.1207 9.99989 16.1207C5.65072 16.1207 3.13822 13.0832 2.02822 11.2782C1.79084 10.8941 1.6651 10.4514 1.6651 9.99988C1.6651 9.54832 1.79084 9.10568 2.02822 8.72155C3.13822 6.91655 5.65072 3.87905 9.99989 3.87905C14.3491 3.87905 16.8616 6.91322 17.9716 8.72155C18.2089 9.10568 18.3347 9.54832 18.3347 9.99988C18.3347 10.4514 18.2089 10.8941 17.9716 11.2782Z\", \"nonzero\"],\n [\"M9.99983 5.8332C9.17574 5.8332 8.37016 6.07757 7.68495 6.53541C6.99975 6.99325 6.4657 7.64399 6.15033 8.40535C5.83497 9.16671 5.75245 10.0045 5.91322 10.8127C6.074 11.621 6.47083 12.3634 7.05355 12.9461C7.63627 13.5289 8.3787 13.9257 9.18695 14.0865C9.99521 14.2472 10.833 14.1647 11.5943 13.8494C12.3557 13.534 13.0064 12.9999 13.4643 12.3147C13.9221 11.6295 14.1665 10.824 14.1665 9.99987C14.1652 8.8952 13.7258 7.83617 12.9446 7.05505C12.1635 6.27393 11.1045 5.83452 9.99983 5.8332ZM9.99983 12.4999C9.50538 12.4999 9.02203 12.3532 8.6109 12.0785C8.19978 11.8038 7.87935 11.4134 7.69013 10.9566C7.50091 10.4998 7.4514 9.99709 7.54787 9.51214C7.64433 9.02719 7.88243 8.58173 8.23206 8.2321C8.58169 7.88247 9.02715 7.64437 9.5121 7.5479C9.99706 7.45144 10.4997 7.50095 10.9565 7.69017C11.4134 7.87939 11.8038 8.19982 12.0785 8.61094C12.3532 9.02206 12.4998 9.50541 12.4998 9.99987C12.4998 10.6629 12.2364 11.2988 11.7676 11.7676C11.2988 12.2365 10.6629 12.4999 9.99983 12.4999Z\", \"nonzero\"],\n]);\n\nexport const eyeOff = icon(20, [\n [\"M19.3924 7.84901C18.6401 6.61712 17.6912 5.51672 16.5833 4.59151L18.9166 2.25818C19.0684 2.10101 19.1524 1.89051 19.1505 1.67201C19.1486 1.45351 19.0609 1.2445 18.9064 1.09C18.7519 0.93549 18.5429 0.847849 18.3244 0.84595C18.1059 0.844051 17.8954 0.928047 17.7383 1.07985L15.2008 3.62068C13.6277 2.68636 11.8294 2.1994 9.99992 2.21235C4.84075 2.21235 1.90075 5.74401 0.607421 7.84901C0.207861 8.49527 -0.00378418 9.24005 -0.00378418 9.99984C-0.00378418 10.7596 0.207861 11.5044 0.607421 12.1507C1.35972 13.3826 2.30866 14.483 3.41659 15.4082L1.08325 17.7415C1.00366 17.8184 0.940177 17.9103 0.896503 18.012C0.852829 18.1137 0.82984 18.223 0.828879 18.3337C0.827917 18.4443 0.849002 18.5541 0.890903 18.6565C0.932803 18.7589 0.994681 18.8519 1.07292 18.9302C1.15117 19.0084 1.24421 19.0703 1.34663 19.1122C1.44904 19.1541 1.55877 19.1752 1.66942 19.1742C1.78007 19.1733 1.88942 19.1503 1.99109 19.1066C2.09276 19.0629 2.18471 18.9994 2.26159 18.9198L4.80492 16.3765C6.37598 17.3107 8.17215 17.7985 9.99992 17.7873C15.1591 17.7873 18.0991 14.2557 19.3924 12.1507C19.792 11.5044 20.0036 10.7596 20.0036 9.99984C20.0036 9.24005 19.792 8.49527 19.3924 7.84901ZM2.02742 11.2782C1.79003 10.894 1.6643 10.4514 1.6643 9.99984C1.6643 9.54828 1.79003 9.10564 2.02742 8.72151C3.13909 6.91651 5.65159 3.87901 9.99992 3.87901C11.3835 3.87126 12.7476 4.20471 13.9716 4.84985L12.2941 6.52735C11.494 5.99618 10.5348 5.75818 9.57928 5.85372C8.62372 5.94926 7.73064 6.37246 7.05159 7.05151C6.37254 7.73057 5.94933 8.62364 5.85379 9.57921C5.75825 10.5348 5.99626 11.494 6.52742 12.294L4.60242 14.219C3.58167 13.3938 2.71062 12.399 2.02742 11.2782ZM12.4999 9.99984C12.4999 10.6629 12.2365 11.2988 11.7677 11.7676C11.2988 12.2365 10.663 12.4998 9.99992 12.4998C9.62868 12.4984 9.26259 12.4129 8.92909 12.2498L12.2499 8.92901C12.413 9.26251 12.4985 9.62861 12.4999 9.99984ZM7.49992 9.99984C7.49992 9.3368 7.76331 8.70092 8.23215 8.23208C8.70099 7.76324 9.33688 7.49985 9.99992 7.49985C10.3712 7.50128 10.7373 7.58675 11.0708 7.74985L7.74992 11.0707C7.58683 10.7372 7.50136 10.3711 7.49992 9.99984ZM17.9724 11.2782C16.8608 13.0832 14.3483 16.1207 9.99992 16.1207C8.61636 16.1284 7.25222 15.795 6.02825 15.1498L7.70575 13.4723C8.50581 14.0035 9.465 14.2415 10.4206 14.146C11.3761 14.0504 12.2692 13.6272 12.9483 12.9482C13.6273 12.2691 14.0505 11.376 14.146 10.4205C14.2416 9.46492 14.0036 8.50573 13.4724 7.70568L15.3974 5.78068C16.4182 6.60591 17.2892 7.60072 17.9724 8.72151C18.2098 9.10564 18.3355 9.54828 18.3355 9.99984C18.3355 10.4514 18.2098 10.894 17.9724 11.2782Z\", \"nonzero\"],\n]);\n\nexport const heart = icon(24, [\n [\"M17.5 1.91653C16.3739 1.93405 15.2724 2.24839 14.3068 2.82781C13.3411 3.40722 12.5453 4.2312 12 5.21653C11.4546 4.2312 10.6589 3.40722 9.69323 2.82781C8.72753 2.24839 7.62604 1.93405 6.49999 1.91653C4.70493 1.99453 3.01369 2.77979 1.79577 4.10077C0.577848 5.42175 -0.0677617 7.17106 -1.11917e-05 8.96653C-1.11917e-05 13.5135 4.78599 18.4795 8.79999 21.8465C9.69621 22.5997 10.8293 23.0126 12 23.0126C13.1706 23.0126 14.3038 22.5997 15.2 21.8465C19.214 18.4795 24 13.5135 24 8.96653C24.0677 7.17106 23.4221 5.42175 22.2042 4.10077C20.9863 2.77979 19.295 1.99453 17.5 1.91653ZM13.915 20.3165C13.379 20.7679 12.7007 21.0154 12 21.0154C11.2992 21.0154 10.621 20.7679 10.085 20.3165C4.94699 16.0055 1.99999 11.8695 1.99999 8.96653C1.93163 7.70125 2.36635 6.46026 3.20935 5.51423C4.05235 4.5682 5.23522 3.99388 6.49999 3.91653C7.76476 3.99388 8.94763 4.5682 9.79063 5.51423C10.6336 6.46026 11.0683 7.70125 11 8.96653C11 9.23175 11.1053 9.4861 11.2929 9.67364C11.4804 9.86118 11.7348 9.96653 12 9.96653C12.2652 9.96653 12.5196 9.86118 12.7071 9.67364C12.8946 9.4861 13 9.23175 13 8.96653C12.9316 7.70125 13.3664 6.46026 14.2094 5.51423C15.0523 4.5682 16.2352 3.99388 17.5 3.91653C18.7648 3.99388 19.9476 4.5682 20.7906 5.51423C21.6336 6.46026 22.0683 7.70125 22 8.96653C22 11.8695 19.053 16.0055 13.915 20.3125V20.3165Z\", \"nonzero\"],\n]);\n\nexport const help = icon(24, [\n [\"M12.0032 15.1479C11.697 15.1479 11.4033 15.0363 11.1867 14.8377C10.9702 14.6391 10.8485 14.3697 10.8485 14.0888C10.8914 13.3967 11.121 12.7251 11.5166 12.1345C11.9122 11.5439 12.4614 11.0526 13.1151 10.7047C13.5422 10.49 13.8841 10.1565 14.0916 9.75225C14.2991 9.34801 14.3614 8.89383 14.2697 8.45502C14.1808 8.03589 13.9574 7.65067 13.6283 7.34874C13.2991 7.04681 12.8792 6.84192 12.4223 6.76034C12.0888 6.70387 11.7458 6.71549 11.4177 6.79438C11.0896 6.87326 10.7845 7.01747 10.524 7.21677C10.2635 7.41606 10.0541 7.66553 9.91067 7.94746C9.7672 8.22938 9.6932 8.53684 9.69391 8.84797C9.69391 9.12888 9.57226 9.39828 9.35573 9.59692C9.13919 9.79555 8.84551 9.90714 8.53928 9.90714C8.23305 9.90714 7.93936 9.79555 7.72283 9.59692C7.50629 9.39828 7.38464 9.12888 7.38464 8.84797C7.38453 8.22915 7.53219 7.61783 7.81724 7.05697C8.1023 6.49612 8.51783 5.99935 9.03462 5.60161C9.52851 5.22285 10.1033 4.94299 10.722 4.77999C11.3408 4.61698 11.9898 4.57444 12.6275 4.65507C13.2653 4.73571 13.8776 4.93775 14.4251 5.24823C14.9727 5.55871 15.4435 5.97077 15.8073 6.45797C16.1711 6.94517 16.4198 7.49676 16.5375 8.07733C16.6553 8.6579 16.6394 9.25463 16.4909 9.82924C16.3424 10.4038 16.0646 10.9436 15.6754 11.414C15.2861 11.8843 14.7939 12.2748 14.2305 12.5604C13.9385 12.7254 13.6906 12.9484 13.505 13.2129C13.3194 13.4774 13.2007 13.7767 13.1578 14.0888C13.1578 14.3697 13.0362 14.6391 12.8196 14.8377C12.6031 15.0363 12.3094 15.1479 12.0032 15.1479ZM12.0032 17.2663C11.7748 17.2663 11.5516 17.3284 11.3617 17.4448C11.1718 17.5612 11.0238 17.7266 10.9364 17.9201C10.849 18.1137 10.8262 18.3266 10.8707 18.5321C10.9153 18.7375 11.0253 18.9263 11.1867 19.0744C11.3482 19.2225 11.5539 19.3234 11.7779 19.3643C12.0019 19.4051 12.2341 19.3842 12.445 19.304C12.656 19.2238 12.8363 19.0881 12.9632 18.9139C13.0901 18.7397 13.1578 18.5349 13.1578 18.3254C13.1578 18.0445 13.0362 17.7751 12.8196 17.5765C12.6031 17.3779 12.3094 17.2663 12.0032 17.2663Z\", \"nonzero\"],\n [\"M12 1.84615C6.39219 1.84615 1.84615 6.39219 1.84615 12C1.84615 17.6078 6.39219 22.1538 12 22.1538C17.6078 22.1538 22.1538 17.6078 22.1538 12C22.1538 6.39219 17.6078 1.84615 12 1.84615ZM0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z\", \"evenodd\"],\n]);\n\nexport const history = icon(20, [\n [\"M14.1668 11.6667C14.1668 11.8877 14.079 12.0996 13.9227 12.2559C13.7665 12.4122 13.5545 12.5 13.3335 12.5H6.66681C6.4458 12.5 6.23383 12.4122 6.07755 12.2559C5.92127 12.0996 5.83348 11.8877 5.83348 11.6667C5.83348 11.4456 5.92127 11.2337 6.07755 11.0774C6.23383 10.9211 6.4458 10.8333 6.66681 10.8333H13.3335C13.5545 10.8333 13.7665 10.9211 13.9227 11.0774C14.079 11.2337 14.1668 11.4456 14.1668 11.6667ZM10.8335 14.1667H6.66681C6.4458 14.1667 6.23383 14.2545 6.07755 14.4107C5.92127 14.567 5.83348 14.779 5.83348 15C5.83348 15.221 5.92127 15.433 6.07755 15.5892C6.23383 15.7455 6.4458 15.8333 6.66681 15.8333H10.8335C11.0545 15.8333 11.2665 15.7455 11.4227 15.5892C11.579 15.433 11.6668 15.221 11.6668 15C11.6668 14.779 11.579 14.567 11.4227 14.4107C11.2665 14.2545 11.0545 14.1667 10.8335 14.1667ZM18.3335 8.73749V15.8333C18.3322 16.938 17.8927 17.997 17.1116 18.7781C16.3305 19.5593 15.2715 19.9987 14.1668 20H5.83348C4.72881 19.9987 3.66977 19.5593 2.88866 18.7781C2.10754 17.997 1.66813 16.938 1.66681 15.8333V4.16666C1.66813 3.06199 2.10754 2.00295 2.88866 1.22184C3.66977 0.440724 4.72881 0.0013119 5.83348 -1.13103e-05H9.59598C10.3623 -0.00198375 11.1215 0.147978 11.8295 0.441205C12.5375 0.734431 13.1804 1.1651 13.721 1.70832L16.6243 4.61332C17.1678 5.15352 17.5988 5.7962 17.8922 6.50413C18.1856 7.21206 18.3356 7.97117 18.3335 8.73749ZM12.5426 2.88666C12.2804 2.63262 11.9859 2.41409 11.6668 2.23666V5.83332C11.6668 6.05434 11.7546 6.2663 11.9109 6.42258C12.0672 6.57886 12.2791 6.66666 12.5001 6.66666H16.0968C15.9193 6.34765 15.7004 6.05344 15.446 5.79166L12.5426 2.88666ZM16.6668 8.73749C16.6668 8.59999 16.6401 8.46832 16.6276 8.33332H12.5001C11.8371 8.33332 11.2012 8.06993 10.7324 7.60109C10.2635 7.13225 10.0001 6.49636 10.0001 5.83332V1.70582C9.86514 1.69332 9.73264 1.66666 9.59598 1.66666H5.83348C5.17043 1.66666 4.53455 1.93005 4.06571 2.39889C3.59687 2.86773 3.33348 3.50361 3.33348 4.16666V15.8333C3.33348 16.4964 3.59687 17.1322 4.06571 17.6011C4.53455 18.0699 5.17043 18.3333 5.83348 18.3333H14.1668C14.8299 18.3333 15.4657 18.0699 15.9346 17.6011C16.4034 17.1322 16.6668 16.4964 16.6668 15.8333V8.73749Z\", \"nonzero\"],\n]);\n\nexport const home = icon(20, [\n [\"M19.2677 7.55743L12.9469 1.23577C12.1646 0.455759 11.1049 0.017746 10.0002 0.017746C8.89548 0.017746 7.83582 0.455759 7.05353 1.23577L0.732693 7.55743C0.499714 7.78892 0.315001 8.06435 0.189262 8.36776C0.0635225 8.67116 -0.000742228 8.99651 0.000193172 9.32493V17.5058C0.000193172 18.1688 0.263585 18.8047 0.732426 19.2735C1.20127 19.7424 1.83715 20.0058 2.50019 20.0058H17.5002C18.1632 20.0058 18.7991 19.7424 19.268 19.2735C19.7368 18.8047 20.0002 18.1688 20.0002 17.5058V9.32493C20.0011 8.99651 19.9369 8.67116 19.8111 8.36776C19.6854 8.06435 19.5007 7.78892 19.2677 7.55743ZM12.5002 18.3391H7.50019V15.0608C7.50019 14.3977 7.76359 13.7618 8.23243 13.293C8.70127 12.8242 9.33715 12.5608 10.0002 12.5608C10.6632 12.5608 11.2991 12.8242 11.768 13.293C12.2368 13.7618 12.5002 14.3977 12.5002 15.0608V18.3391ZM18.3335 17.5058C18.3335 17.7268 18.2457 17.9387 18.0895 18.095C17.9332 18.2513 17.7212 18.3391 17.5002 18.3391H14.1669V15.0608C14.1669 13.9557 13.7279 12.8959 12.9465 12.1145C12.1651 11.3331 11.1053 10.8941 10.0002 10.8941C8.89513 10.8941 7.83532 11.3331 7.05392 12.1145C6.27251 12.8959 5.83353 13.9557 5.83353 15.0608V18.3391H2.50019C2.27918 18.3391 2.06722 18.2513 1.91094 18.095C1.75466 17.9387 1.66686 17.7268 1.66686 17.5058V9.32493C1.66763 9.10408 1.75535 8.89242 1.91103 8.73577L8.23186 2.4166C8.70161 1.94904 9.33741 1.68655 10.0002 1.68655C10.663 1.68655 11.2988 1.94904 11.7685 2.4166L18.0894 8.73827C18.2444 8.89431 18.3321 9.10495 18.3335 9.32493V17.5058Z\", \"nonzero\"],\n]);\n\nexport const key = icon(24, [\n [\"M16.495 0.000392914C18.3052 0.00155258 20.054 0.657415 21.4185 1.84695C22.7831 3.03649 23.6713 4.67943 23.9194 6.4726C24.1675 8.26578 23.7586 10.0882 22.7683 11.6035C21.7779 13.1188 20.2729 14.2248 18.531 14.7174C17.2648 15.08 15.9247 15.0965 14.65 14.7654L6.74196 22.6714C6.32215 23.0941 5.82258 23.4293 5.27224 23.6574C4.72189 23.8855 4.13172 24.0021 3.53596 24.0004C2.5984 23.9996 1.69947 23.6268 1.03651 22.9638C0.373554 22.3009 0.000757217 21.402 -3.8147e-05 20.4644C-0.00158882 19.8686 0.114979 19.2784 0.342922 18.728C0.570866 18.1775 0.905663 17.6777 1.32796 17.2574L1.99996 16.5854C2.37597 16.212 2.88402 16.0018 3.41396 16.0004H4.99996V15.0004C4.99996 14.47 5.21068 13.9613 5.58575 13.5862C5.96082 13.2111 6.46953 13.0004 6.99996 13.0004H7.99996V11.4144C7.99925 11.1517 8.05068 10.8914 8.15127 10.6487C8.25186 10.406 8.39961 10.1856 8.58596 10.0004L9.23596 9.35039C8.903 8.0763 8.91923 6.73605 9.28296 5.47039C9.69225 4.02839 10.5226 2.74138 11.6678 1.77418C12.813 0.806988 14.2208 0.203634 15.711 0.0413933C15.9714 0.0143242 16.2331 0.000638962 16.495 0.000392914ZM16.495 13.0004C17.5188 13.0014 18.5226 12.7166 19.3934 12.178C20.2641 11.6394 20.9673 10.8685 21.4237 9.95201C21.88 9.0355 22.0715 8.0098 21.9766 6.99036C21.8816 5.97092 21.504 4.99822 20.8862 4.18175C20.2685 3.36528 19.435 2.73747 18.4798 2.36897C17.5246 2.00047 16.4854 1.90593 15.4794 2.09598C14.4733 2.28603 13.5403 2.75312 12.7853 3.44469C12.0303 4.13625 11.4833 5.02483 11.206 6.01039C10.894 7.09386 10.9289 8.24781 11.306 9.31039C11.3675 9.48785 11.3778 9.67905 11.3357 9.8621C11.2936 10.0451 11.2008 10.2126 11.068 10.3454L9.99996 11.4144V13.0004C9.99996 13.5308 9.78925 14.0395 9.41417 14.4146C9.0391 14.7897 8.53039 15.0004 7.99996 15.0004H6.99996V16.0004C6.99996 16.5308 6.78925 17.0395 6.41418 17.4146C6.0391 17.7897 5.5304 18.0004 4.99996 18.0004H3.41396L2.74196 18.6724C2.506 18.9072 2.31894 19.1865 2.19158 19.4941C2.06422 19.8017 1.99909 20.1315 1.99996 20.4644C2.00023 20.8715 2.162 21.2619 2.44979 21.5499C2.73757 21.8378 3.12784 21.9999 3.53496 22.0004C3.8681 22.0012 4.1981 21.936 4.50586 21.8084C4.81362 21.6809 5.09304 21.4936 5.32796 21.2574L13.659 12.9274C13.7919 12.7945 13.9596 12.7018 14.1429 12.6599C14.3261 12.618 14.5175 12.6285 14.695 12.6904C15.2749 12.8946 15.8851 12.9994 16.5 13.0004H16.495ZM19 6.00039C19 5.80261 18.9413 5.60927 18.8314 5.44482C18.7215 5.28037 18.5654 5.1522 18.3826 5.07651C18.1999 5.00083 17.9989 4.98102 17.8049 5.01961C17.6109 5.05819 17.4327 5.15343 17.2929 5.29329C17.153 5.43314 17.0578 5.61132 17.0192 5.8053C16.9806 5.99928 17.0004 6.20035 17.0761 6.38308C17.1518 6.5658 17.2799 6.72198 17.4444 6.83186C17.6088 6.94175 17.8022 7.00039 18 7.00039C18.2652 7.00039 18.5195 6.89504 18.7071 6.7075C18.8946 6.51996 19 6.26561 19 6.00039Z\", \"nonzero\"],\n]);\n\nexport const lock = icon(24, [\n [\"M18.9999 8.424V7C18.9999 5.14348 18.2624 3.36301 16.9497 2.05025C15.6369 0.737498 13.8564 0 11.9999 0C10.1434 0 8.36292 0.737498 7.05016 2.05025C5.73741 3.36301 4.99991 5.14348 4.99991 7V8.424C4.10927 8.81271 3.3512 9.45252 2.81841 10.2652C2.28561 11.0779 2.00119 12.0282 1.99991 13V19C2.0015 20.3256 2.52879 21.5964 3.46613 22.5338C4.40347 23.4711 5.67431 23.9984 6.99991 24H16.9999C18.3255 23.9984 19.5964 23.4711 20.5337 22.5338C21.471 21.5964 21.9983 20.3256 21.9999 19V13C21.9986 12.0282 21.7142 11.0779 21.1814 10.2652C20.6486 9.45252 19.8905 8.81271 18.9999 8.424ZM6.99991 7C6.99991 5.67392 7.52669 4.40215 8.46437 3.46447C9.40206 2.52678 10.6738 2 11.9999 2C13.326 2 14.5978 2.52678 15.5354 3.46447C16.4731 4.40215 16.9999 5.67392 16.9999 7V8H6.99991V7ZM19.9999 19C19.9999 19.7956 19.6838 20.5587 19.1212 21.1213C18.5586 21.6839 17.7956 22 16.9999 22H6.99991C6.20426 22 5.4412 21.6839 4.87859 21.1213C4.31598 20.5587 3.99991 19.7956 3.99991 19V13C3.99991 12.2044 4.31598 11.4413 4.87859 10.8787C5.4412 10.3161 6.20426 10 6.99991 10H16.9999C17.7956 10 18.5586 10.3161 19.1212 10.8787C19.6838 11.4413 19.9999 12.2044 19.9999 13V19Z\", \"nonzero\"],\n [\"M11.9999 13.9997C11.7347 13.9997 11.4804 14.105 11.2928 14.2926C11.1053 14.4801 10.9999 14.7345 10.9999 14.9997V16.9997C10.9999 17.2649 11.1053 17.5192 11.2928 17.7068C11.4804 17.8943 11.7347 17.9997 11.9999 17.9997C12.2652 17.9997 12.5195 17.8943 12.7071 17.7068C12.8946 17.5192 13 17.2649 13 16.9997V14.9997C13 14.7345 12.8946 14.4801 12.7071 14.2926C12.5195 14.105 12.2652 13.9997 11.9999 13.9997Z\", \"nonzero\"],\n]);\n\nexport const logout = icon(24, [\n [\"M11.3193 22H6.43331C3.98931 22 2.00031 20.011 2.00031 17.565V6.436C2.00031 3.99 3.98931 2 6.43331 2H11.3083C13.7543 2 15.7443 3.99 15.7443 6.436V7.368C15.7443 7.782 15.4083 8.118 14.9943 8.118C14.5803 8.118 14.2443 7.782 14.2443 7.368V6.436C14.2443 4.816 12.9273 3.5 11.3083 3.5H6.43331C4.81631 3.5 3.50031 4.816 3.50031 6.436V17.565C3.50031 19.184 4.81631 20.5 6.43331 20.5H11.3193C12.9313 20.5 14.2443 19.188 14.2443 17.576V16.633C14.2443 16.219 14.5803 15.883 14.9943 15.883C15.4083 15.883 15.7443 16.219 15.7443 16.633V17.576C15.7443 20.016 13.7583 22 11.3193 22Z\", \"evenodd\"],\n [\"M6.4333 2.34999C4.1828 2.34999 2.3503 4.18309 2.3503 6.43599V17.565C2.3503 19.8178 4.1827 21.65 6.4333 21.65H11.3193C13.5652 21.65 15.3943 19.8225 15.3943 17.576V16.633C15.3943 16.4123 15.215 16.233 14.9943 16.233C14.7736 16.233 14.5943 16.4123 14.5943 16.633V17.576C14.5943 19.3815 13.1244 20.85 11.3193 20.85H6.4333C4.62284 20.85 3.1503 19.3771 3.1503 17.565V6.43599C3.1503 4.62293 4.62277 3.14999 6.4333 3.14999H11.3083C13.1205 3.14999 14.5943 4.62262 14.5943 6.43599V7.36799C14.5943 7.58869 14.7736 7.76799 14.9943 7.76799C15.215 7.76799 15.3943 7.58869 15.3943 7.36799V6.43599C15.3943 4.18329 13.561 2.34999 11.3083 2.34999H6.4333ZM1.6503 6.43599C1.6503 3.7969 3.79579 1.64999 6.4333 1.64999H11.3083C13.9476 1.64999 16.0943 3.79669 16.0943 6.43599V7.36799C16.0943 7.97529 15.6016 8.46799 14.9943 8.46799C14.387 8.46799 13.8943 7.97529 13.8943 7.36799V6.43599C13.8943 5.00937 12.7341 3.84999 11.3083 3.84999H6.4333C5.00983 3.84999 3.8503 5.00906 3.8503 6.43599V17.565C3.8503 18.9909 5.00975 20.15 6.4333 20.15H11.3193C12.7382 20.15 13.8943 18.9945 13.8943 17.576V16.633C13.8943 16.0257 14.387 15.533 14.9943 15.533C15.6016 15.533 16.0943 16.0257 16.0943 16.633V17.576C16.0943 20.2094 13.9514 22.35 11.3193 22.35H6.4333C3.7959 22.35 1.6503 20.2042 1.6503 17.565V6.43599Z\", \"evenodd\"],\n [\"M21.7871 12.75H9.74609C9.33209 12.75 8.99609 12.414 8.99609 12C8.99609 11.586 9.33209 11.25 9.74609 11.25H21.7871C22.2011 11.25 22.5371 11.586 22.5371 12C22.5371 12.414 22.2011 12.75 21.7871 12.75Z\", \"evenodd\"],\n [\"M9.74609 11.6C9.52539 11.6 9.34609 11.7793 9.34609 12C9.34609 12.2207 9.52539 12.4 9.74609 12.4H21.7871C22.0078 12.4 22.1871 12.2207 22.1871 12C22.1871 11.7793 22.0078 11.6 21.7871 11.6H9.74609ZM8.64609 12C8.64609 11.3927 9.13879 10.9 9.74609 10.9H21.7871C22.3944 10.9 22.8871 11.3927 22.8871 12C22.8871 12.6073 22.3944 13.1 21.7871 13.1H9.74609C9.13879 13.1 8.64609 12.6073 8.64609 12Z\", \"evenodd\"],\n [\"M18.8594 15.666C18.6674 15.666 18.4744 15.593 18.3284 15.445C18.0364 15.151 18.0374 14.677 18.3304 14.385L20.7244 12L18.3304 9.61599C18.0374 9.32399 18.0354 8.84999 18.3284 8.55599C18.6204 8.26199 19.0944 8.26199 19.3884 8.55399L22.3164 11.469C22.4584 11.609 22.5374 11.801 22.5374 12C22.5374 12.199 22.4584 12.391 22.3164 12.531L19.3884 15.447C19.2424 15.593 19.0504 15.666 18.8594 15.666Z\", \"evenodd\"],\n [\"M19.1417 8.80222C18.9838 8.64556 18.7315 8.64681 18.5767 8.80264C18.4206 8.95927 18.421 9.21201 18.5774 9.36799C18.5773 9.36796 18.5774 9.36802 18.5774 9.36799L21.2204 11.9999L18.5775 14.6329C18.5775 14.6329 18.5775 14.6329 18.5775 14.6329C18.4216 14.7883 18.4205 15.0411 18.5767 15.1984L18.5776 15.1992C18.6542 15.2768 18.7558 15.316 18.8594 15.316C18.9616 15.316 19.0634 15.2771 19.1409 15.1995L22.0707 12.2818C22.1449 12.2086 22.1874 12.1068 22.1874 12C22.1874 11.8932 22.1449 11.7914 22.0707 11.7182L22.0695 11.717L19.1417 8.80222C19.1417 8.80225 19.1416 8.80218 19.1417 8.80222ZM18.0803 8.30914C18.5095 7.87722 19.205 7.8785 19.6351 8.30566L22.5621 11.2198C22.5619 11.2195 22.5624 11.22 22.5621 11.2198C22.7715 11.4265 22.8874 11.7091 22.8874 12C22.8874 12.2909 22.7722 12.5728 22.5628 12.7795C22.5626 12.7798 22.5631 12.7793 22.5628 12.7795L19.6359 15.6945C19.6358 15.6945 19.636 15.6944 19.6359 15.6945C19.4215 15.9088 19.1391 16.016 18.8594 16.016C18.5792 16.016 18.295 15.9093 18.0796 15.6912C17.6523 15.2605 17.6535 14.5655 18.0833 14.1371L20.2284 12L18.0834 9.864C17.654 9.43604 17.6506 8.74049 18.0803 8.30914Z\", \"evenodd\"],\n]);\n\nexport const map = icon(24, [\n [\"M11.9988 12C12.79 12 13.5633 11.7654 14.2211 11.3259C14.8789 10.8863 15.3916 10.2616 15.6944 9.53073C15.9971 8.79982 16.0763 7.99556 15.922 7.21963C15.7676 6.44371 15.3867 5.73098 14.8273 5.17157C14.2679 4.61215 13.5551 4.23119 12.7792 4.07685C12.0033 3.92251 11.199 4.00172 10.4681 4.30447C9.7372 4.60722 9.11248 5.11992 8.67296 5.77771C8.23343 6.43551 7.99884 7.20887 7.99884 7.99999C7.99884 9.06086 8.42026 10.0783 9.17041 10.8284C9.92055 11.5786 10.938 12 11.9988 12ZM11.9988 5.99999C12.3944 5.99999 12.7811 6.11729 13.11 6.33705C13.4389 6.55682 13.6952 6.86917 13.8466 7.23463C13.998 7.60008 14.0376 8.00221 13.9604 8.39017C13.8832 8.77814 13.6928 9.1345 13.413 9.41421C13.1333 9.69391 12.777 9.88439 12.389 9.96156C12.0011 10.0387 11.5989 9.99913 11.2335 9.84775C10.868 9.69638 10.5557 9.44003 10.3359 9.11113C10.1161 8.78223 9.99884 8.39555 9.99884 7.99999C9.99884 7.46956 10.2095 6.96085 10.5846 6.58578C10.9597 6.21071 11.4684 5.99999 11.9988 5.99999ZM20.6588 9.15699L19.9398 8.91799C20.0692 7.79792 19.9604 6.66314 19.6204 5.58808C19.2805 4.51302 18.7172 3.52196 17.9673 2.67988C17.2175 1.83781 16.2982 1.16375 15.2696 0.701906C14.241 0.24006 13.1264 0.000859852 11.9988 -7.62939e-06C10.8566 0.00043334 9.72771 0.245686 8.68825 0.719227C7.64879 1.19277 6.7229 1.8836 5.97296 2.74517C5.22302 3.60674 4.66645 4.61904 4.34075 5.71386C4.01505 6.80868 3.92778 7.9606 4.08484 9.09199C3.12787 9.27043 2.24296 9.72191 1.53684 10.392C1.04801 10.8567 0.659405 11.4166 0.394913 12.037C0.130422 12.6575 -0.00436608 13.3255 -0.001165 14V18.075C0.0009366 19.1563 0.352627 20.208 1.00143 21.073C1.65022 21.9381 2.56135 22.5702 3.59884 22.875L6.46884 23.775C6.9509 23.925 7.45297 24.0009 7.95784 24C8.41583 23.9994 8.87163 23.9368 9.31284 23.814L15.0928 22.104C15.6078 21.9635 16.1509 21.9635 16.6658 22.104L19.0528 22.904C19.6411 23.0472 20.2543 23.055 20.846 22.9267C21.4377 22.7985 21.9926 22.5376 22.4689 22.1637C22.9451 21.7898 23.3303 21.3127 23.5953 20.7683C23.8603 20.2239 23.9983 19.6265 23.9988 19.021V13.872C23.9966 12.8374 23.6744 11.8288 23.0764 10.9845C22.4785 10.1402 21.634 9.50154 20.6588 9.15599V9.15699ZM7.75684 3.76199C8.31309 3.20348 8.97417 2.76031 9.70212 2.45792C10.4301 2.15553 11.2106 1.99987 11.9988 1.99987C12.7871 1.99987 13.5676 2.15553 14.2956 2.45792C15.0235 2.76031 15.6846 3.20348 16.2408 3.76199C17.363 4.89114 17.9938 6.41781 17.9958 8.00973C17.9979 9.60165 17.3711 11.1299 16.2518 12.262L12.6988 15.717C12.5134 15.8988 12.264 16.0007 12.0043 16.0007C11.7446 16.0007 11.4953 15.8988 11.3098 15.717L7.75684 12.277C6.63231 11.1454 6.00114 9.61483 6.00114 8.01949C6.00114 6.42415 6.63231 4.8936 7.75684 3.76199ZM21.9988 19.021C21.9994 19.3239 21.931 19.6229 21.7986 19.8953C21.6662 20.1677 21.4734 20.4063 21.2348 20.593C21.0094 20.7742 20.7469 20.9035 20.4659 20.9718C20.1849 21.0401 19.8922 21.0456 19.6088 20.988L17.2638 20.2C16.3768 19.9452 15.4368 19.9396 14.5468 20.184L8.76284 21.892C8.20711 22.0453 7.61899 22.0352 7.06884 21.863L4.17484 20.963C3.54849 20.7819 2.99779 20.4025 2.60543 19.8817C2.21307 19.361 2.00022 18.727 1.99884 18.075V14C1.99659 13.5958 2.07704 13.1954 2.23526 12.8234C2.39347 12.4514 2.6261 12.1157 2.91884 11.837C3.37709 11.4003 3.96085 11.1183 4.58784 11.031C4.99094 12.0302 5.59122 12.9379 6.35284 13.7L9.91984 17.153C10.4773 17.6989 11.2266 18.0046 12.0068 18.0046C12.7871 18.0046 13.5363 17.6989 14.0938 17.153L17.6568 13.69C18.4546 12.889 19.0726 11.9274 19.4698 10.869L20.0068 11.047C20.5892 11.2557 21.093 11.6389 21.4495 12.1445C21.806 12.6501 21.9978 13.2534 21.9988 13.872V19.021Z\", \"nonzero\"],\n]);\n\nexport const messageSquare = icon(24, [\n [\"M20 0H4C2.93913 0 1.92172 0.421427 1.17157 1.17157C0.421427 1.92172 0 2.93913 0 4L0 16C0 17.0609 0.421427 18.0783 1.17157 18.8284C1.92172 19.5786 2.93913 20 4 20H6.9L11.351 23.763C11.5316 23.9158 11.7605 23.9997 11.997 23.9997C12.2335 23.9997 12.4624 23.9158 12.643 23.763L17.1 20H20C21.0609 20 22.0783 19.5786 22.8284 18.8284C23.5786 18.0783 24 17.0609 24 16V4C24 2.93913 23.5786 1.92172 22.8284 1.17157C22.0783 0.421427 21.0609 0 20 0ZM22 16C22 16.5304 21.7893 17.0391 21.4142 17.4142C21.0391 17.7893 20.5304 18 20 18H17.1C16.6273 18.0001 16.1699 18.1677 15.809 18.473L12 21.69L8.193 18.473C7.83156 18.1673 7.3734 17.9997 6.9 18H4C3.46957 18 2.96086 17.7893 2.58579 17.4142C2.21071 17.0391 2 16.5304 2 16V4C2 3.46957 2.21071 2.96086 2.58579 2.58579C2.96086 2.21071 3.46957 2 4 2H20C20.5304 2 21.0391 2.21071 21.4142 2.58579C21.7893 2.96086 22 3.46957 22 4V16Z\", \"nonzero\"],\n [\"M7 7.00015H12C12.2652 7.00015 12.5196 6.89479 12.7071 6.70726C12.8946 6.51972 13 6.26537 13 6.00015C13 5.73493 12.8946 5.48058 12.7071 5.29305C12.5196 5.10551 12.2652 5.00015 12 5.00015H7C6.73478 5.00015 6.48043 5.10551 6.29289 5.29305C6.10536 5.48058 6 5.73493 6 6.00015C6 6.26537 6.10536 6.51972 6.29289 6.70726C6.48043 6.89479 6.73478 7.00015 7 7.00015Z\", \"nonzero\"],\n [\"M17 9H7C6.73478 9 6.48043 9.10536 6.29289 9.29289C6.10536 9.48043 6 9.73478 6 10C6 10.2652 6.10536 10.5196 6.29289 10.7071C6.48043 10.8946 6.73478 11 7 11H17C17.2652 11 17.5196 10.8946 17.7071 10.7071C17.8946 10.5196 18 10.2652 18 10C18 9.73478 17.8946 9.48043 17.7071 9.29289C17.5196 9.10536 17.2652 9 17 9Z\", \"nonzero\"],\n [\"M17 12.9999H7C6.73478 12.9999 6.48043 13.1052 6.29289 13.2928C6.10536 13.4803 6 13.7346 6 13.9999C6 14.2651 6.10536 14.5194 6.29289 14.707C6.48043 14.8945 6.73478 14.9999 7 14.9999H17C17.2652 14.9999 17.5196 14.8945 17.7071 14.707C17.8946 14.5194 18 14.2651 18 13.9999C18 13.7346 17.8946 13.4803 17.7071 13.2928C17.5196 13.1052 17.2652 12.9999 17 12.9999Z\", \"nonzero\"],\n]);\n\nexport const minus = icon(24, [\n [\"M17 10.9997H7C6.44772 10.9997 6 11.4474 6 11.9997C6 12.552 6.44772 12.9997 7 12.9997H17C17.5523 12.9997 18 12.552 18 11.9997C18 11.4474 17.5523 10.9997 17 10.9997Z\", \"nonzero\"],\n]);\n\nexport const phone = icon(24, [\n [\"M23.0929 16.7391C23.6724 17.3202 23.9978 18.1074 23.9978 18.9281C23.9978 19.7488 23.6724 20.536 23.0929 21.1171L22.1829 22.1661C13.9929 30.0071 -5.9371 10.0821 1.78289 1.8661L2.93289 0.866102C3.51466 0.302779 4.29482 -0.00884932 5.10459 -0.00136355C5.91436 0.00612221 6.68863 0.33212 7.25989 0.906102C7.29089 0.937102 9.14388 3.3441 9.14388 3.3441C9.69371 3.92173 9.99979 4.68903 9.99848 5.48651C9.99718 6.28398 9.6886 7.05028 9.13688 7.6261L7.97888 9.0821C8.61973 10.6392 9.56195 12.0543 10.7514 13.2462C11.9408 14.438 13.3541 15.3831 14.9099 16.0271L16.3749 14.8621C16.9508 14.3108 17.7169 14.0026 18.5142 14.0015C19.3114 14.0004 20.0784 14.3064 20.6559 14.8561C20.6559 14.8561 23.0619 16.7081 23.0929 16.7391ZM21.7169 18.1931C21.7169 18.1931 19.3239 16.3521 19.2929 16.3211C19.0869 16.1168 18.8085 16.0022 18.5184 16.0022C18.2283 16.0022 17.9499 16.1168 17.7439 16.3211C17.7169 16.3491 15.6999 17.9561 15.6999 17.9561C15.564 18.0643 15.4022 18.1352 15.2305 18.1619C15.0589 18.1885 14.8832 18.17 14.7209 18.1081C12.7053 17.3577 10.8746 16.1828 9.35272 14.6632C7.83082 13.1435 6.65329 11.3145 5.89989 9.3001C5.83309 9.13556 5.81131 8.95619 5.83679 8.78044C5.86227 8.60469 5.9341 8.4389 6.04489 8.3001C6.04489 8.3001 7.65189 6.2821 7.67888 6.2561C7.88315 6.05009 7.99776 5.77172 7.99776 5.4816C7.99776 5.19149 7.88315 4.91312 7.67888 4.7071C7.64788 4.6771 5.80689 2.2821 5.80689 2.2821C5.59779 2.09461 5.32489 1.9942 5.04414 2.00145C4.76338 2.0087 4.49603 2.12306 4.29689 2.3211L3.14689 3.3211C-2.4951 10.1051 14.7759 26.4181 20.7209 20.8001L21.6319 19.7501C21.8453 19.5524 21.9736 19.2794 21.9894 18.9888C22.0053 18.6982 21.9076 18.4129 21.7169 18.1931Z\", \"nonzero\"],\n]);\n\nexport const plus = icon(24, [\n [\"M17 11H13V7C13 6.73478 12.8946 6.48043 12.7071 6.29289C12.5196 6.10536 12.2652 6 12 6C11.7348 6 11.4804 6.10536 11.2929 6.29289C11.1054 6.48043 11 6.73478 11 7V11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H11V17C11 17.2652 11.1054 17.5196 11.2929 17.7071C11.4804 17.8946 11.7348 18 12 18C12.2652 18 12.5196 17.8946 12.7071 17.7071C12.8946 17.5196 13 17.2652 13 17V13H17C17.2652 13 17.5196 12.8946 17.7071 12.7071C17.8946 12.5196 18 12.2652 18 12C18 11.7348 17.8946 11.4804 17.7071 11.2929C17.5196 11.1054 17.2652 11 17 11Z\", \"nonzero\"],\n]);\n\nexport const referral = icon(24, [\n [\"M23.9549 21.3188C23.9159 21.1934 23.8526 21.0769 23.7686 20.9759C23.6846 20.875 23.5815 20.7916 23.4652 20.7305C23.349 20.6694 23.2218 20.6318 23.091 20.6198C22.9602 20.6079 22.8283 20.6218 22.7029 20.6608L21.4029 21.0608L20.4719 18.3238C21.4498 17.7751 22.2125 16.9108 22.6354 15.8723C23.0583 14.8338 23.1163 13.6826 22.7999 12.6068L20.9569 7.13181C20.725 6.38436 20.2122 5.756 19.5264 5.3789C18.8406 5.00179 18.0353 4.90533 17.2799 5.10981L13.4279 6.18381C12.8755 6.33751 12.3795 6.64804 11.9999 7.07781C11.6203 6.64804 11.1243 6.33751 10.5719 6.18381L6.71891 5.10981C5.96898 4.90295 5.16807 4.99467 4.48433 5.36573C3.80058 5.73678 3.28718 6.3583 3.05191 7.09981L1.18491 12.6568C0.880932 13.7317 0.949015 14.8778 1.37812 15.9092C1.80722 16.9406 2.57218 17.7967 3.54891 18.3388L2.60491 21.0668L1.29991 20.6608C1.1745 20.6214 1.04256 20.6071 0.911615 20.6187C0.780672 20.6303 0.653296 20.6676 0.536759 20.7284C0.420221 20.7892 0.316804 20.8724 0.232414 20.9732C0.148023 21.074 0.08431 21.1904 0.0449134 21.3158C0.00551686 21.4412 -0.00879213 21.5732 0.00280344 21.7041C0.014399 21.8351 0.051672 21.9624 0.112494 22.079C0.173317 22.1955 0.256497 22.2989 0.357287 22.3833C0.458076 22.4677 0.574501 22.5314 0.699914 22.5708L2.85991 23.2418C2.87491 23.2418 2.88391 23.2588 2.89891 23.2648C2.91391 23.2708 2.95091 23.2708 2.97691 23.2778L5.15791 23.9548C5.4112 24.0336 5.68539 24.0085 5.92019 23.8851C6.15499 23.7617 6.33114 23.5501 6.40991 23.2968C6.48868 23.0435 6.46361 22.7693 6.34021 22.5345C6.21681 22.2997 6.0052 22.1236 5.75191 22.0448L4.51591 21.6598L5.45091 18.9598C5.63635 18.9836 5.82298 18.997 6.00991 18.9998C7.09108 18.9971 8.14226 18.6441 9.00585 17.9936C9.86944 17.3431 10.4989 16.4302 10.7999 15.3918L11.9999 11.8358L13.1829 15.3358C13.4745 16.3875 14.1022 17.3148 14.9701 17.9764C15.838 18.6379 16.8986 18.9974 17.9899 18.9998C18.1842 18.998 18.3782 18.9846 18.5709 18.9598L19.4889 21.6598L18.2449 22.0458C17.9916 22.1246 17.78 22.3007 17.6566 22.5355C17.5332 22.7703 17.5081 23.0445 17.5869 23.2978C17.6657 23.5511 17.8418 23.7627 18.0766 23.8861C18.3114 24.0095 18.5856 24.0346 18.8389 23.9558L21.0139 23.2808C21.0399 23.2738 21.0669 23.2808 21.0929 23.2678C21.1189 23.2548 21.1189 23.2488 21.1349 23.2428L23.2969 22.5718C23.4225 22.5328 23.5391 22.4695 23.6401 22.3854C23.7411 22.3013 23.8246 22.1981 23.8857 22.0817C23.9468 21.9654 23.9844 21.8381 23.9963 21.7072C24.0081 21.5763 23.9941 21.4443 23.9549 21.3188ZM13.3569 8.59181C13.4205 8.47463 13.5072 8.37153 13.6117 8.2887C13.7162 8.20587 13.8363 8.14502 13.9649 8.10981L17.8159 7.03681C17.9019 7.01275 17.9907 7.00031 18.0799 6.99981C18.2998 7.00213 18.5132 7.07528 18.6883 7.20839C18.8633 7.34151 18.9909 7.52751 19.0519 7.73881L19.8129 9.99981H13.4899L13.2749 9.36281C13.2366 9.23531 13.2241 9.10144 13.2382 8.96904C13.2522 8.83665 13.2926 8.70839 13.3569 8.59181ZM5.91791 6.99981C6.00746 6.99998 6.09657 7.01208 6.18291 7.03581L10.0349 8.10981C10.2894 8.18 10.5058 8.34796 10.6369 8.57707C10.7681 8.80617 10.8033 9.07784 10.7349 9.33281L10.5099 9.99981H4.18691L4.95691 7.70981C5.02046 7.50446 5.14799 7.32481 5.32088 7.19708C5.49377 7.06934 5.70296 7.00023 5.91791 6.99981ZM8.89191 14.7998C8.73219 15.3706 8.40695 15.8813 7.95724 16.2675C7.50754 16.6536 6.95353 16.8979 6.36513 16.9694C5.77673 17.041 5.18032 16.9367 4.65116 16.6696C4.122 16.4025 3.68382 15.9847 3.39191 15.4688C3.00543 14.7949 2.9005 13.9957 3.09991 13.2448L3.51391 11.9998H9.83591L8.89191 14.7998ZM16.5239 16.6078C16.1735 16.409 15.8664 16.1421 15.6207 15.8228C15.3749 15.5036 15.1955 15.1384 15.0929 14.7488L14.1639 11.9998H20.4869L20.8869 13.1938C21.0465 13.7656 21.0329 14.372 20.8477 14.936C20.6625 15.5001 20.3141 15.9965 19.8466 16.3625C19.3792 16.7285 18.8136 16.9475 18.2216 16.9919C17.6296 17.0363 17.0377 16.904 16.5209 16.6118L16.5239 16.6078Z\", \"nonzero\"],\n [\"M15.553 3.89988C15.6711 3.95924 15.7998 3.99461 15.9316 4.00395C16.0634 4.01329 16.1958 3.99641 16.321 3.95429C16.4463 3.91216 16.5619 3.84563 16.6613 3.75854C16.7607 3.67144 16.8419 3.56552 16.9001 3.44688L17.9001 1.44688C18.0186 1.20951 18.038 0.934766 17.954 0.683092C17.87 0.431418 17.6894 0.223428 17.4521 0.104876C17.2147 -0.0136757 16.9399 -0.0330775 16.6883 0.0509388C16.4366 0.134955 16.2286 0.315507 16.1101 0.552876L15.11 2.55288C15.0503 2.67034 15.0144 2.79845 15.0044 2.92983C14.9943 3.06122 15.0104 3.1933 15.0515 3.31847C15.0927 3.44364 15.1582 3.55945 15.2443 3.65923C15.3303 3.759 15.4353 3.84079 15.553 3.89988Z\", \"nonzero\"],\n [\"M7.10506 3.44688C7.22361 3.68491 7.43186 3.8661 7.684 3.95058C7.80885 3.99241 7.94072 4.00925 8.07207 4.00012C8.20343 3.99099 8.3317 3.95608 8.44956 3.89738C8.56742 3.83868 8.67256 3.75733 8.75899 3.658C8.84541 3.55866 8.91143 3.44328 8.95326 3.31843C8.99509 3.19358 9.01193 3.06171 9.0028 2.93036C8.99367 2.79901 8.95876 2.67074 8.90006 2.55288L7.90006 0.552876C7.84136 0.435343 7.76008 0.330523 7.66087 0.2444C7.56166 0.158278 7.44646 0.0925394 7.32184 0.0509388C7.07017 -0.0330775 6.79543 -0.0136757 6.55806 0.104876C6.32069 0.223428 6.14014 0.431418 6.05612 0.683092C5.9721 0.934766 5.9915 1.20951 6.11006 1.44688L7.10506 3.44688Z\", \"nonzero\"],\n [\"M12.0002 3.99999C12.2654 3.99999 12.5198 3.89464 12.7073 3.7071C12.8948 3.51956 13.0002 3.26521 13.0002 2.99999V0.999992C13.0002 0.734776 12.8948 0.480422 12.7073 0.292886C12.5198 0.105349 12.2654 -7.62939e-06 12.0002 -7.62939e-06C11.735 -7.62939e-06 11.4806 0.105349 11.2931 0.292886C11.1055 0.480422 11.0002 0.734776 11.0002 0.999992V2.99999C11.0002 3.26521 11.1055 3.51956 11.2931 3.7071C11.4806 3.89464 11.735 3.99999 12.0002 3.99999Z\", \"nonzero\"],\n]);\n\nexport const search = icon(16, [\n [\"M15.8045 14.8625L11.8252 10.8831C12.9096 9.55687 13.4428 7.86453 13.3144 6.15618C13.1861 4.44783 12.406 2.85416 11.1356 1.70482C9.86516 0.55548 8.20158 -0.0615992 6.48895 -0.018778C4.77632 0.0240432 3.14566 0.723488 1.93426 1.93488C0.72287 3.14627 0.0234252 4.77693 -0.019396 6.48957C-0.0622172 8.2022 0.554862 9.86578 1.7042 11.1362C2.85354 12.4066 4.44721 13.1867 6.15556 13.315C7.86392 13.4434 9.55625 12.9102 10.8825 11.8258L14.8619 15.8051C14.9876 15.9266 15.156 15.9938 15.3308 15.9923C15.5056 15.9907 15.6728 15.9206 15.7964 15.797C15.92 15.6734 15.9901 15.5062 15.9916 15.3314C15.9932 15.1566 15.926 14.9882 15.8045 14.8625ZM6.66652 12.0005C5.61169 12.0005 4.58054 11.6877 3.70348 11.1016C2.82642 10.5156 2.14283 9.68266 1.73916 8.70812C1.3355 7.73358 1.22988 6.66122 1.43567 5.62666C1.64145 4.59209 2.14941 3.64178 2.89529 2.8959C3.64117 2.15002 4.59147 1.64207 5.62604 1.43628C6.6606 1.2305 7.73296 1.33611 8.7075 1.73978C9.68204 2.14345 10.515 2.82704 11.101 3.7041C11.6871 4.58116 11.9999 5.61231 11.9999 6.66714C11.9983 8.08114 11.4359 9.43677 10.436 10.4366C9.43615 11.4365 8.08052 11.9989 6.66652 12.0005Z\", \"nonzero\"],\n]);\n\nexport const send = icon(24, [\n [\"M23.1189 0.882022C22.7604 0.519149 22.3144 0.254877 21.8239 0.114738C21.3334 -0.0254009 20.8151 -0.0366693 20.3189 0.0820215L4.31895 3.45202C3.39753 3.57839 2.52968 3.9595 1.81315 4.55243C1.09662 5.14537 0.559862 5.92658 0.263324 6.80809C-0.033214 7.68959 -0.0777536 8.63638 0.134721 9.54184C0.347196 10.4473 0.808246 11.2754 1.46595 11.933L3.18395 13.65C3.27693 13.743 3.35067 13.8534 3.40095 13.9748C3.45123 14.0963 3.47705 14.2265 3.47695 14.358V17.526C3.47916 17.9715 3.5817 18.4107 3.77695 18.811L3.76895 18.818L3.79495 18.844C4.08796 19.4332 4.56653 19.9096 5.15695 20.2L5.18295 20.226L5.18995 20.218C5.59031 20.4133 6.02952 20.5158 6.47495 20.518H9.64295C9.908 20.5178 10.1623 20.6228 10.3499 20.81L12.0669 22.527C12.5275 22.9926 13.0756 23.3625 13.6797 23.6153C14.2839 23.8681 14.9321 23.9989 15.5869 24C16.1327 23.9993 16.6747 23.9102 17.1919 23.736C18.0654 23.4492 18.8413 22.924 19.4322 22.2197C20.023 21.5154 20.4053 20.66 20.5359 19.75L23.9109 3.71502C24.0358 3.21466 24.0284 2.69044 23.8896 2.19378C23.7507 1.69713 23.4852 1.24509 23.1189 0.882022ZM4.59995 12.238L2.88095 10.521C2.48067 10.1304 2.20012 9.63367 2.07224 9.08918C1.94435 8.54469 1.97443 7.97502 2.15895 7.44702C2.33784 6.90534 2.66855 6.42645 3.11175 6.06728C3.55494 5.70812 4.09196 5.48381 4.65895 5.42102L20.4999 2.08602L5.47495 17.113V14.358C5.47646 13.9644 5.39991 13.5743 5.24972 13.2104C5.09953 12.8465 4.87868 12.516 4.59995 12.238ZM18.5709 19.408C18.4942 19.9604 18.265 20.4804 17.909 20.9097C17.5531 21.339 17.0846 21.6606 16.5561 21.8384C16.0275 22.0162 15.4599 22.0432 14.9169 21.9163C14.3739 21.7894 13.877 21.5136 13.4819 21.12L11.7619 19.4C11.4843 19.1209 11.1541 18.8995 10.7904 18.7488C10.4267 18.5981 10.0367 18.521 9.64295 18.522H6.88795L21.9149 3.50002L18.5709 19.408Z\", \"nonzero\"],\n]);\n\nexport const sent = icon(24, [\n [\"M17.6457 5.23322L6.70665 16.1836C6.6331 16.2575 6.5457 16.3162 6.44945 16.3562C6.35321 16.3962 6.25002 16.4168 6.1458 16.4168C6.04158 16.4168 5.93839 16.3962 5.84215 16.3562C5.7459 16.3162 5.6585 16.2575 5.58495 16.1836L1.35465 11.9447C1.28111 11.8708 1.1937 11.8121 1.09746 11.7721C1.00121 11.7321 0.898023 11.7115 0.793806 11.7115C0.689589 11.7115 0.586398 11.7321 0.490154 11.7721C0.393909 11.8121 0.306506 11.8708 0.232959 11.9447C0.159121 12.0183 0.100533 12.1058 0.0605559 12.2022C0.0205789 12.2985 0 12.4018 0 12.5061C0 12.6105 0.0205789 12.7138 0.0605559 12.8101C0.100533 12.9065 0.159121 12.994 0.232959 13.0676L4.46484 17.3034C4.91126 17.7495 5.51624 18 6.14699 18C6.77774 18 7.38271 17.7495 7.82913 17.3034L18.7674 6.35536C18.8412 6.28174 18.8996 6.19429 18.9396 6.09802C18.9795 6.00174 19 5.89853 19 5.79429C19 5.69005 18.9795 5.58684 18.9396 5.49056C18.8996 5.39428 18.8412 5.30683 18.7674 5.23322C18.6939 5.1593 18.6065 5.10064 18.5102 5.06062C18.414 5.0206 18.3108 5 18.2066 5C18.1024 5 17.9992 5.0206 17.9029 5.06062C17.8067 5.10064 17.7193 5.1593 17.6457 5.23322Z\", \"nonzero\"],\n [\"M22.6457 5.23322L11.7066 16.1836C11.6331 16.2575 11.5457 16.3162 11.4495 16.3562C11.3532 16.3962 11.25 16.4168 11.1458 16.4168C11.0416 16.4168 10.9384 16.3962 10.8421 16.3562C10.7459 16.3162 10.6585 16.2575 10.585 16.1836L9.35465 14.9447C9.28111 14.8708 9.1937 14.8121 9.09746 14.7721C9.00121 14.7321 8.89802 14.7115 8.79381 14.7115C8.68959 14.7115 8.5864 14.7321 8.49015 14.7721C8.39391 14.8121 8.30651 14.8708 8.23296 14.9447C8.15912 15.0183 8.10053 15.1058 8.06056 15.2022C8.02058 15.2985 8 15.4018 8 15.5061C8 15.6105 8.02058 15.7138 8.06056 15.8101C8.10053 15.9065 8.15912 15.994 8.23296 16.0676L9.46484 17.3034C9.91126 17.7495 10.5162 18 11.147 18C11.7777 18 12.3827 17.7495 12.8291 17.3034L23.7674 6.35536C23.8412 6.28174 23.8996 6.19429 23.9396 6.09802C23.9795 6.00174 24 5.89853 24 5.79429C24 5.69005 23.9795 5.58684 23.9396 5.49056C23.8996 5.39428 23.8412 5.30683 23.7674 5.23322C23.6939 5.1593 23.6065 5.10064 23.5102 5.06062C23.414 5.0206 23.3108 5 23.2066 5C23.1024 5 22.9992 5.0206 22.9029 5.06062C22.8067 5.10064 22.7193 5.1593 22.6457 5.23322Z\", \"nonzero\"],\n]);\n\nexport const share = icon(24, [\n [\"M19.3331 14.6675C18.577 14.6682 17.8324 14.8527 17.1636 15.2054C16.4948 15.558 15.9218 16.0681 15.4941 16.6915L8.98512 13.7525C9.44743 12.6362 9.44922 11.3822 8.99012 10.2645L15.4901 7.31055C16.124 8.2273 17.0654 8.88651 18.1437 9.16859C19.222 9.45068 20.3656 9.33695 21.3672 8.84805C22.3688 8.35914 23.162 7.52744 23.603 6.50381C24.0439 5.48018 24.1033 4.33242 23.7705 3.26872C23.4376 2.20502 22.7346 1.29584 21.7888 0.7061C20.8431 0.116359 19.7173 -0.114882 18.6157 0.0543211C17.514 0.223525 16.5095 0.781966 15.7844 1.62835C15.0592 2.47473 14.6614 3.55299 14.6631 4.66755C14.6674 4.93135 14.6941 5.1943 14.7431 5.45355L7.83312 8.59355C7.16946 7.97176 6.33862 7.55738 5.44269 7.40131C4.54676 7.24523 3.62474 7.35426 2.78992 7.715C1.95511 8.07574 1.24384 8.67248 0.743512 9.43191C0.243183 10.1913 -0.0244188 11.0804 -0.026417 11.9898C-0.0284151 12.8992 0.235277 13.7894 0.732264 14.551C1.22925 15.3127 1.93789 15.9125 2.77111 16.2769C3.60434 16.6413 4.52586 16.7544 5.42247 16.6023C6.31908 16.4501 7.15173 16.0394 7.81812 15.4205L14.7461 18.5485C14.698 18.8076 14.6716 19.0701 14.6671 19.3335C14.6669 20.2567 14.9405 21.1591 15.4532 21.9268C15.966 22.6944 16.6948 23.2927 17.5477 23.6461C18.4005 23.9995 19.339 24.092 20.2444 23.9119C21.1498 23.7319 21.9814 23.2874 22.6342 22.6346C23.2869 21.9819 23.7314 21.1502 23.9115 20.2448C24.0915 19.3394 23.999 18.4009 23.6457 17.5481C23.2923 16.6953 22.694 15.9664 21.9263 15.4537C21.1587 14.9409 20.2562 14.6673 19.3331 14.6675ZM19.3331 2.00055C19.8606 2.00035 20.3764 2.1566 20.8151 2.44953C21.2538 2.74246 21.5958 3.15892 21.7978 3.64624C21.9998 4.13355 22.0528 4.66983 21.95 5.18724C21.8472 5.70465 21.5933 6.17996 21.2203 6.55305C20.8474 6.92613 20.3722 7.18024 19.8548 7.28323C19.3374 7.38621 18.8011 7.33346 18.3137 7.13163C17.8263 6.9298 17.4098 6.58796 17.1167 6.14936C16.8236 5.71075 16.6671 5.19507 16.6671 4.66755C16.6676 3.96055 16.9487 3.28265 17.4485 2.78263C17.9483 2.28261 18.6261 2.00134 19.3331 2.00055ZM4.66712 14.6675C4.13959 14.6677 3.62386 14.5115 3.18514 14.2186C2.74642 13.9256 2.40443 13.5092 2.20242 13.0219C2.0004 12.5345 1.94745 11.9983 2.05024 11.4809C2.15303 10.9634 2.40696 10.4881 2.77991 10.115C3.15286 9.74196 3.62807 9.48785 4.14544 9.38486C4.66282 9.28188 5.19911 9.33463 5.6865 9.53646C6.17389 9.73829 6.59048 10.0801 6.88358 10.5187C7.17667 10.9573 7.33312 11.473 7.33312 12.0005C7.33232 12.7075 7.05122 13.3852 6.55145 13.8852C6.05167 14.3851 5.37403 14.6665 4.66712 14.6675ZM19.3331 22.0005C18.8056 22.0005 18.29 21.8441 17.8514 21.5511C17.4128 21.258 17.071 20.8415 16.8691 20.3542C16.6673 19.8668 16.6145 19.3306 16.7174 18.8132C16.8203 18.2959 17.0743 17.8207 17.4473 17.4477C17.8202 17.0747 18.2955 16.8207 18.8128 16.7178C19.3302 16.6149 19.8664 16.6677 20.3537 16.8696C20.8411 17.0714 21.2576 17.4133 21.5506 17.8518C21.8437 18.2904 22.0001 18.8061 22.0001 19.3335C21.9996 20.0407 21.7184 20.7188 21.2184 21.2188C20.7183 21.7189 20.0403 22 19.3331 22.0005Z\", \"nonzero\"],\n]);\n\nexport const smartphone = icon(24, [\n [\"M15.0001 -7.62939e-06H9.00006C7.67447 0.00158023 6.40362 0.528874 5.46628 1.46621C4.52894 2.40355 4.00165 3.6744 4.00006 4.99999V19C4.00165 20.3256 4.52894 21.5964 5.46628 22.5338C6.40362 23.4711 7.67447 23.9984 9.00006 24H15.0001C16.3257 23.9984 17.5965 23.4711 18.5338 22.5338C19.4712 21.5964 19.9985 20.3256 20.0001 19V4.99999C19.9985 3.6744 19.4712 2.40355 18.5338 1.46621C17.5965 0.528874 16.3257 0.00158023 15.0001 -7.62939e-06V-7.62939e-06ZM9.00006 1.99999H15.0001C15.7957 1.99999 16.5588 2.31606 17.1214 2.87867C17.684 3.44128 18.0001 4.20434 18.0001 4.99999V16H6.00006V4.99999C6.00006 4.20434 6.31613 3.44128 6.87874 2.87867C7.44135 2.31606 8.20441 1.99999 9.00006 1.99999ZM15.0001 22H9.00006C8.20441 22 7.44135 21.6839 6.87874 21.1213C6.31613 20.5587 6.00006 19.7956 6.00006 19V18H18.0001V19C18.0001 19.7956 17.684 20.5587 17.1214 21.1213C16.5588 21.6839 15.7957 22 15.0001 22Z\", \"nonzero\"],\n [\"M12.0002 20.9994C12.5525 20.9994 13.0002 20.5517 13.0002 19.9994C13.0002 19.4471 12.5525 18.9994 12.0002 18.9994C11.4479 18.9994 11.0002 19.4471 11.0002 19.9994C11.0002 20.5517 11.4479 20.9994 12.0002 20.9994Z\", \"nonzero\"],\n]);\n\nexport const trash = icon(24, [\n [\"M20.9999 3.99999H17.8999C17.6678 2.8714 17.0538 1.85734 16.1612 1.12871C15.2686 0.400082 14.1521 0.00144689 12.9999 -7.62939e-06L10.9999 -7.62939e-06C9.84773 0.00144689 8.73126 0.400082 7.83869 1.12871C6.94612 1.85734 6.33204 2.8714 6.09994 3.99999H2.99994C2.73472 3.99999 2.48037 4.10535 2.29283 4.29289C2.1053 4.48042 1.99994 4.73478 1.99994 4.99999C1.99994 5.26521 2.1053 5.51956 2.29283 5.7071C2.48037 5.89464 2.73472 5.99999 2.99994 5.99999H3.99994V19C4.00153 20.3256 4.52882 21.5964 5.46616 22.5338C6.4035 23.4711 7.67434 23.9984 8.99994 24H14.9999C16.3255 23.9984 17.5964 23.4711 18.5337 22.5338C19.4711 21.5964 19.9984 20.3256 19.9999 19V5.99999H20.9999C21.2652 5.99999 21.5195 5.89464 21.707 5.7071C21.8946 5.51956 21.9999 5.26521 21.9999 4.99999C21.9999 4.73478 21.8946 4.48042 21.707 4.29289C21.5195 4.10535 21.2652 3.99999 20.9999 3.99999ZM10.9999 1.99999H12.9999C13.6202 2.00075 14.2251 2.19337 14.7316 2.55144C15.238 2.9095 15.6214 3.41548 15.8289 3.99999H8.17094C8.37852 3.41548 8.76184 2.9095 9.26833 2.55144C9.77481 2.19337 10.3797 2.00075 10.9999 1.99999ZM17.9999 19C17.9999 19.7956 17.6839 20.5587 17.1213 21.1213C16.5587 21.6839 15.7956 22 14.9999 22H8.99994C8.20429 22 7.44123 21.6839 6.87862 21.1213C6.31601 20.5587 5.99994 19.7956 5.99994 19V5.99999H17.9999V19Z\", \"nonzero\"],\n [\"M10 17.9994C10.2652 17.9994 10.5196 17.894 10.7071 17.7065C10.8946 17.5189 11 17.2646 11 16.9994V10.9994C11 10.7342 10.8946 10.4798 10.7071 10.2923C10.5196 10.1047 10.2652 9.99937 10 9.99937C9.73478 9.99937 9.48043 10.1047 9.29289 10.2923C9.10536 10.4798 9 10.7342 9 10.9994V16.9994C9 17.2646 9.10536 17.5189 9.29289 17.7065C9.48043 17.894 9.73478 17.9994 10 17.9994Z\", \"nonzero\"],\n [\"M13.9999 17.9994C14.2651 17.9994 14.5195 17.894 14.707 17.7065C14.8945 17.5189 14.9999 17.2646 14.9999 16.9994V10.9994C14.9999 10.7342 14.8945 10.4798 14.707 10.2923C14.5195 10.1047 14.2651 9.99937 13.9999 9.99937C13.7347 9.99937 13.4803 10.1047 13.2928 10.2923C13.1052 10.4798 12.9999 10.7342 12.9999 10.9994V16.9994C12.9999 17.2646 13.1052 17.5189 13.2928 17.7065C13.4803 17.894 13.7347 17.9994 13.9999 17.9994Z\", \"nonzero\"],\n]);\n\nexport const truck = icon(24, [\n [\"M19 4.99937H16.9C16.6679 3.87079 16.0538 2.85672 15.1613 2.12809C14.2687 1.39946 13.1522 1.00083 12 0.999374H5C3.67441 1.00096 2.40356 1.52826 1.46622 2.46559C0.528882 3.40293 0.00158786 4.67378 0 5.99937L0 14.9994C0.0025138 15.895 0.305538 16.7639 0.860536 17.4668C1.41553 18.1698 2.19039 18.6661 3.061 18.8764C2.96676 19.3768 2.98287 19.8918 3.10819 20.3854C3.23351 20.879 3.46503 21.3393 3.7866 21.7341C4.10816 22.129 4.51202 22.449 4.96999 22.6717C5.42796 22.8944 5.92901 23.0144 6.43817 23.0235C6.94733 23.0326 7.45234 22.9304 7.91796 22.7242C8.38357 22.518 8.79858 22.2126 9.13401 21.8295C9.46944 21.4463 9.71722 20.9946 9.86006 20.5058C10.0029 20.0169 10.0373 19.5029 9.961 18.9994H14.043C14.0173 19.1648 14.0036 19.3319 14.002 19.4994C14.002 20.4276 14.3707 21.3179 15.0271 21.9743C15.6835 22.6306 16.5737 22.9994 17.502 22.9994C18.4303 22.9994 19.3205 22.6306 19.9769 21.9743C20.6333 21.3179 21.002 20.4276 21.002 19.4994C21.0009 19.2903 20.9804 19.0817 20.941 18.8764C21.8112 18.6657 22.5856 18.1692 23.1403 17.4663C23.6949 16.7634 23.9976 15.8947 24 14.9994V9.99938C23.9984 8.67378 23.4711 7.40293 22.5338 6.46559C21.5964 5.52826 20.3256 5.00096 19 4.99937ZM22 9.99938V10.9994H17V6.99938H19C19.7956 6.99938 20.5587 7.31545 21.1213 7.87806C21.6839 8.44066 22 9.20373 22 9.99938ZM2 14.9994V5.99937C2 5.20373 2.31607 4.44066 2.87868 3.87805C3.44129 3.31545 4.20435 2.99937 5 2.99937H12C12.7956 2.99937 13.5587 3.31545 14.1213 3.87805C14.6839 4.44066 15 5.20373 15 5.99937V16.9994H4C3.46957 16.9994 2.96086 16.7887 2.58579 16.4136C2.21071 16.0385 2 15.5298 2 14.9994ZM8 19.4994C8 19.8972 7.84196 20.2787 7.56066 20.56C7.27936 20.8413 6.89782 20.9994 6.5 20.9994C6.10218 20.9994 5.72064 20.8413 5.43934 20.56C5.15804 20.2787 5 19.8972 5 19.4994C5.00061 19.3285 5.03212 19.1591 5.093 18.9994H7.907C7.96788 19.1591 7.99939 19.3285 8 19.4994ZM17.5 20.9994C17.1022 20.9994 16.7206 20.8413 16.4393 20.56C16.158 20.2787 16 19.8972 16 19.4994C16.0004 19.3285 16.0319 19.159 16.093 18.9994H18.907C18.9681 19.159 18.9996 19.3285 19 19.4994C19 19.8972 18.842 20.2787 18.5607 20.56C18.2794 20.8413 17.8978 20.9994 17.5 20.9994ZM20 16.9994H17V12.9994H22V14.9994C22 15.5298 21.7893 16.0385 21.4142 16.4136C21.0391 16.7887 20.5304 16.9994 20 16.9994Z\", \"nonzero\"],\n]);\n\nexport const unsent = icon(24, [\n [\"M12 2C10.0222 2 8.08879 2.58649 6.4443 3.6853C4.79981 4.78412 3.51809 6.3459 2.76121 8.17317C2.00433 10.0004 1.8063 12.0111 2.19215 13.9509C2.578 15.8907 3.53041 17.6725 4.92894 19.0711C6.32746 20.4696 8.10929 21.422 10.0491 21.8079C11.9889 22.1937 13.9996 21.9957 15.8268 21.2388C17.6541 20.4819 19.2159 19.2002 20.3147 17.5557C21.4135 15.9112 22 13.9778 22 12C21.9971 9.34872 20.9426 6.80684 19.0679 4.9321C17.1932 3.05736 14.6513 2.00287 12 2V2ZM12 20.3333C10.3518 20.3333 8.74066 19.8446 7.37025 18.9289C5.99984 18.0132 4.93174 16.7117 4.30101 15.189C3.67028 13.6663 3.50525 11.9908 3.82679 10.3742C4.14834 8.75774 4.94201 7.27288 6.10745 6.10744C7.27289 4.94201 8.75774 4.14833 10.3743 3.82679C11.9908 3.50525 13.6663 3.67027 15.189 4.301C16.7118 4.93173 18.0132 5.99984 18.9289 7.37025C19.8446 8.74066 20.3333 10.3518 20.3333 12C20.3309 14.2094 19.4522 16.3276 17.8899 17.8899C16.3276 19.4522 14.2094 20.3309 12 20.3333Z\", \"nonzero\"],\n [\"M11.9999 7C11.7788 7 11.5669 7.0878 11.4106 7.24408C11.2543 7.40036 11.1665 7.61232 11.1665 7.83333V11.4375L8.35735 13.1975C8.16949 13.3148 8.03594 13.502 7.98609 13.7179C7.93624 13.9337 7.97416 14.1605 8.09152 14.3483C8.20888 14.5362 8.39606 14.6697 8.61188 14.7196C8.8277 14.7694 9.05449 14.7315 9.24235 14.6142L12.4424 12.6142C12.5633 12.5384 12.6627 12.4329 12.7311 12.3077C12.7996 12.1825 12.8347 12.0418 12.8332 11.8992V7.83333C12.8332 7.61232 12.7454 7.40036 12.5891 7.24408C12.4328 7.0878 12.2209 7 11.9999 7Z\", \"nonzero\"],\n]);\n","import { forwardRef, useId, type InputHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './TextField.css';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'> {\n value: string;\n onChange: (value: string) => void;\n label?: string;\n /** Leading (left) icon or logo - e.g. a marker or payment-method logo. */\n leadingIcon?: ReactNode;\n /** Trailing (right) icon - e.g. eye toggle, chevron, calendar, clear. */\n trailingIcon?: ReactNode;\n /** Rotates the trailing icon 180deg - used by Dropdown while open. */\n trailingIconRotated?: boolean;\n error?: boolean | string;\n}\n\n/**\n * Snacky Text Field - the shared 312x48 field used for Text, Password\n * (type=\"password\" + trailingIcon), Dropdown (trailingIcon chevron, readOnly),\n * Date Picker (trailingIcon calendar, readOnly) and Address (leading/trailing\n * marker). Focus/error borders are real CSS (:focus-within, .snacky-field--error),\n * not JS-tracked state.\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(function TextField(\n {\n value,\n onChange,\n label,\n leadingIcon,\n trailingIcon,\n trailingIconRotated = false,\n error,\n disabled,\n className,\n id,\n ...rest\n },\n ref\n) {\n const autoId = useId();\n const fieldId = id ?? autoId;\n const errorMessage = typeof error === 'string' ? error : undefined;\n\n return (\n <div className={className}>\n {label && (\n <label className=\"snacky-field-label\" htmlFor={fieldId}>\n {label}\n </label>\n )}\n <div\n className={cx('snacky-field', !!error && 'snacky-field--error', disabled && 'snacky-field--disabled')}\n >\n {leadingIcon && <span className=\"snacky-field__icon\">{leadingIcon}</span>}\n <input\n ref={ref}\n id={fieldId}\n className=\"snacky-field__input\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n disabled={disabled}\n {...rest}\n />\n {trailingIcon && (\n <span\n className=\"snacky-field__icon\"\n style={trailingIconRotated ? { transform: 'rotate(180deg)' } : undefined}\n >\n {trailingIcon}\n </span>\n )}\n </div>\n {errorMessage && <span className=\"snacky-field-error\">{errorMessage}</span>}\n </div>\n );\n});\n","import { forwardRef, type InputHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './SearchField.css';\n\nexport interface SearchFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n value: string;\n onChange: (value: string) => void;\n searchIcon?: ReactNode;\n onClear?: () => void;\n}\n\n/** Snacky Search Field - compact 40px field with a leading search icon and a clear button once filled. */\nexport const SearchField = forwardRef<HTMLInputElement, SearchFieldProps>(function SearchField(\n { value, onChange, searchIcon, onClear, className, placeholder = 'Search products...', ...rest },\n ref\n) {\n return (\n <div className={cx('snacky-search', className)}>\n {searchIcon && <span className=\"snacky-search__icon\">{searchIcon}</span>}\n <input\n ref={ref}\n className=\"snacky-search__input\"\n value={value}\n placeholder={placeholder}\n onChange={(e) => onChange(e.target.value)}\n {...rest}\n />\n {value && onClear && (\n <button type=\"button\" className=\"snacky-search__clear\" onClick={onClear} aria-label=\"Clear search\">\n ✕\n </button>\n )}\n </div>\n );\n});\n","import { useRef } from 'react';\nimport type { KeyboardEvent } from 'react';\nimport './OtpField.css';\n\nexport interface OtpFieldProps {\n value: string;\n onChange: (value: string) => void;\n length?: number;\n disabled?: boolean;\n}\n\n/** Snacky OTP Field - N individual 48x48 cells with auto-advance and backspace-to-previous. */\nexport function OtpField({ value, onChange, length = 6, disabled }: OtpFieldProps) {\n const cellRefs = useRef<Array<HTMLInputElement | null>>([]);\n const digits = Array.from({ length }, (_, i) => value[i] ?? '');\n\n function setDigit(index: number, digit: string) {\n const next = digits.slice();\n next[index] = digit;\n onChange(next.join(''));\n if (digit && index < length - 1) cellRefs.current[index + 1]?.focus();\n }\n\n function handleKeyDown(index: number, e: KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Backspace' && !digits[index] && index > 0) {\n cellRefs.current[index - 1]?.focus();\n }\n }\n\n return (\n <div className=\"snacky-otp\">\n {digits.map((digit, i) => (\n <input\n key={i}\n ref={(el) => {\n cellRefs.current[i] = el;\n }}\n className=\"snacky-otp__cell\"\n inputMode=\"numeric\"\n maxLength={1}\n value={digit}\n disabled={disabled}\n onChange={(e) => setDigit(i, e.target.value.replace(/\\D/g, '').slice(-1))}\n onKeyDown={(e) => handleKeyDown(i, e)}\n aria-label={`Digit ${i + 1}`}\n />\n ))}\n </div>\n );\n}\n","import { useState } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './CopyField.css';\n\nexport interface CopyFieldProps {\n value: string;\n onCopy?: (value: string) => void;\n className?: string;\n}\n\n/** Snacky Copy Field - a read-only value with a \"Copy\" link that flips to \"Copied\" briefly. */\nexport function CopyField({ value, onCopy, className }: CopyFieldProps) {\n const [copied, setCopied] = useState(false);\n\n async function handleCopy() {\n try {\n await navigator.clipboard.writeText(value);\n } catch {\n // clipboard API unavailable - the copy affordance still reports success visually\n }\n onCopy?.(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n\n return (\n <div className={cx('snacky-copy', className)}>\n <span className=\"snacky-copy__value\">{value}</span>\n <button type=\"button\" className={cx('snacky-copy__action', copied && 'snacky-copy__action--copied')} onClick={handleCopy}>\n {copied ? 'Copied' : 'Copy'}\n </button>\n </div>\n );\n}\n","import { type InputHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\n// Real send glyph rather than the '➤' text arrow this used to fall back to.\n// 20px matches index.html's verified preview.\nimport { send as SendIcon } from '../../icons/outline.js';\nimport './ChatInput.css';\n\nexport interface ChatInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n value: string;\n onChange: (value: string) => void;\n onSend: () => void;\n sendIcon?: ReactNode;\n}\n\n/** Snacky Chat Input - message compose bar with an inline 48x48 send button. */\nexport function ChatInput({ value, onChange, onSend, sendIcon, className, placeholder = 'Write your message here', ...rest }: ChatInputProps) {\n return (\n <div className={cx('snacky-chatfield', className)}>\n <input\n className=\"snacky-chatfield__input\"\n value={value}\n placeholder={placeholder}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && value && onSend()}\n {...rest}\n />\n <button\n type=\"button\"\n className={cx('snacky-chatfield__send', value && 'snacky-chatfield__send--active')}\n onClick={onSend}\n disabled={!value}\n aria-label=\"Send\"\n >\n {sendIcon ?? <SendIcon width={20} height={20} />}\n </button>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './AddressResult.css';\n\nexport interface AddressResultProps {\n icon?: ReactNode;\n title: string;\n subtitle: string;\n onClick?: () => void;\n className?: string;\n}\n\n/** Snacky Address Search Result row - selected address entry in a results list. */\nexport function AddressResult({ icon, title, subtitle, onClick, className }: AddressResultProps) {\n return (\n <button type=\"button\" className={cx('snacky-address-result', className)} onClick={onClick}>\n {icon && <span className=\"snacky-address-result__icon\">{icon}</span>}\n <span>\n <p className=\"snacky-address-result__title\">{title}</p>\n <p className=\"snacky-address-result__subtitle\">{subtitle}</p>\n </span>\n </button>\n );\n}\n","import type { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Chips.css';\n\nexport interface ProductChipProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n selected: boolean;\n thumbnail: ReactNode;\n}\n\n/** Snacky Product Chip - pill chip with a 24x24 thumbnail (e.g. weight/variant picker). */\nexport function ProductChip({ label, selected, thumbnail, onClick, className, ...rest }: ProductChipProps) {\n return (\n <button\n type=\"button\"\n className={cx('snacky-chip', selected && 'snacky-chip--selected', className)}\n aria-pressed={selected}\n onClick={onClick}\n {...rest}\n >\n <span className=\"snacky-chip__thumb\">{thumbnail}</span>\n {label}\n </button>\n );\n}\n","import type { ButtonHTMLAttributes } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Chips.css';\n\nexport interface FilterChipProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n selected: boolean;\n}\n\n/** Snacky Filter Chip - text-only pill toggle, e.g. category/sort filters. */\nexport function FilterChip({ label, selected, onClick, className, ...rest }: FilterChipProps) {\n return (\n <button\n type=\"button\"\n className={cx('snacky-chip', selected && 'snacky-chip--selected', className)}\n aria-pressed={selected}\n onClick={onClick}\n {...rest}\n >\n {label}\n </button>\n );\n}\n","import { useId } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './RadioButton.css';\n\nexport interface RadioOptionProps {\n label: string;\n selected: boolean;\n onClick: () => void;\n disabled?: boolean;\n name?: string;\n className?: string;\n}\n\n/** Snacky Radio Option - single-selection control. Always use within a group of 2+ options. */\nexport function RadioOption({ label, selected, onClick, disabled, name, className }: RadioOptionProps) {\n const id = useId();\n return (\n <label\n htmlFor={id}\n className={cx('snacky-radio-option', disabled && 'snacky-radio-option--disabled', className)}\n >\n <input\n id={id}\n type=\"radio\"\n className=\"snacky-radio\"\n name={name}\n checked={selected}\n disabled={disabled}\n onChange={onClick}\n />\n {label}\n </label>\n );\n}\n","import { useId } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Checkbox.css';\n\nexport interface CheckboxProps {\n label: string;\n checked: boolean;\n onChange: (checked: boolean) => void;\n disabled?: boolean;\n className?: string;\n}\n\n/** Snacky Checkbox - binary on/off selection control. */\nexport function Checkbox({ label, checked, onChange, disabled, className }: CheckboxProps) {\n const id = useId();\n return (\n <label htmlFor={id} className={cx('snacky-checkbox-option', className)}>\n <input\n id={id}\n type=\"checkbox\"\n className=\"snacky-checkbox\"\n checked={checked}\n disabled={disabled}\n onChange={(e) => onChange(e.target.checked)}\n />\n {label}\n </label>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './Toggle.css';\n\nexport interface ToggleProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n disabled?: boolean;\n ariaLabel?: string;\n className?: string;\n}\n\n/** Snacky Toggle - switch for settings that take effect immediately, no confirm step. */\nexport function Toggle({ checked, onChange, disabled, ariaLabel = 'Toggle', className }: ToggleProps) {\n return (\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n disabled={disabled}\n className={cx('snacky-toggle', checked && 'snacky-toggle--on', className)}\n onClick={() => onChange(!checked)}\n >\n <span className=\"snacky-toggle__track\" />\n <span className=\"snacky-toggle__thumb\" />\n </button>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Navbar.css';\n\nexport interface NavItem {\n label: string;\n icon: ReactNode;\n activeIcon?: ReactNode;\n}\n\nexport interface NavBarProps {\n items: NavItem[];\n selected: number;\n onSelect: (index: number) => void;\n className?: string;\n}\n\n/** Snacky Nav Bar - bottom navigation, 5 tabs for the customer flow. */\nexport function NavBar({ items, selected, onSelect, className }: NavBarProps) {\n return (\n <nav className={cx('snacky-navbar', className)}>\n {items.map((item, i) => {\n const active = i === selected;\n return (\n <button\n key={item.label}\n type=\"button\"\n className={cx('snacky-navbar__item', active && 'snacky-navbar__item--active')}\n aria-current={active ? 'page' : undefined}\n onClick={() => onSelect(i)}\n >\n <span className=\"snacky-navbar__icon\">{active && item.activeIcon ? item.activeIcon : item.icon}</span>\n {item.label}\n </button>\n );\n })}\n </nav>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './Tab.css';\n\nexport interface TabRowProps {\n tabs: string[];\n selected: number;\n onSelect: (index: number) => void;\n className?: string;\n}\n\n/** Snacky Tab Row - inline tab selector with a 2px accent underline on the active tab. */\nexport function TabRow({ tabs, selected, onSelect, className }: TabRowProps) {\n return (\n <div className={cx('snacky-tabrow', className)} role=\"tablist\">\n {tabs.map((tab, i) => (\n <button\n key={tab}\n type=\"button\"\n role=\"tab\"\n aria-selected={i === selected}\n className={cx('snacky-tab', i === selected && 'snacky-tab--active')}\n onClick={() => onSelect(i)}\n >\n {tab}\n </button>\n ))}\n </div>\n );\n}\n","// Generated from assets/icons/icons.json by scripts/generate-icons.js - do not hand-edit.\n/*!\n * Icon artwork: UIcons by Flaticon (https://www.flaticon.com/uicons),\n * used under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) and\n * modified: exported from the Figma Community file and renamed to semantic\n * English names. This attribution must be retained when redistributing.\n * See NOTICE at the repo root for the full statement.\n */\nimport type { IconProps } from './types.js';\n\n/**\n * Solid icon set, exported from Figma's `Icon-solid` component set\n * (node 8772:5851) - the filled counterparts used for active/selected\n * Navbar items and the clicked Favourite state.\n */\nfunction icon(viewBox: number, paths: Array<[string, string]>) {\n return function SnackyIcon({ width = viewBox, height = viewBox, color = 'currentColor', ...rest }: IconProps) {\n return (\n <svg width={width} height={height} viewBox={`0 0 ${viewBox} ${viewBox}`} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n {paths.map(([d, fillRule], i) => (\n <path\n key={i}\n d={d}\n fill={color}\n fillRule={fillRule as 'nonzero' | 'evenodd'}\n clipRule={fillRule as 'nonzero' | 'evenodd'}\n />\n ))}\n </svg>\n );\n };\n}\n\nexport const account = icon(20, [\n [\"M10 10C12.7614 10 15 7.76142 15 5C15 2.23858 12.7614 0 10 0C7.23858 0 5 2.23858 5 5C5 7.76142 7.23858 10 10 10Z\", \"nonzero\"],\n [\"M10 11.6659C5.85977 11.6705 2.50461 15.0257 2.5 19.1659C2.5 19.6261 2.87309 19.9992 3.33332 19.9992H16.6666C17.1269 19.9992 17.5 19.6261 17.5 19.1659C17.4954 15.0257 14.1402 11.6705 10 11.6659Z\", \"nonzero\"],\n]);\n\nexport const angleSmallRight = icon(24, [\n [\"M15.75 9.525L11.164 4.939C10.8827 4.65774 10.5011 4.49978 10.1032 4.49988C9.70534 4.49997 9.32381 4.65811 9.04255 4.9395C8.76129 5.2209 8.60333 5.6025 8.60342 6.00036C8.60352 6.39822 8.76166 6.77974 9.04305 7.061L13.629 11.646C13.6756 11.6925 13.7125 11.7476 13.7378 11.8084C13.763 11.8691 13.7759 11.9342 13.7759 12C13.7759 12.0658 13.763 12.1309 13.7378 12.1916C13.7125 12.2524 13.6756 12.3076 13.629 12.354L9.04305 16.939C8.76166 17.2203 8.60352 17.6018 8.60342 17.9997C8.60333 18.3975 8.76129 18.7791 9.04255 19.0605C9.32381 19.3419 9.70534 19.5 10.1032 19.5001C10.5011 19.5002 10.8827 19.3423 11.164 19.061L15.75 14.475C16.4053 13.818 16.7732 12.9279 16.7732 12C16.7732 11.0721 16.4053 10.182 15.75 9.525Z\", \"nonzero\"],\n]);\n\nexport const balance = icon(24, [\n [\"M19 4.00031H5C3.67441 4.00189 2.40356 4.52919 1.46622 5.46653C0.528882 6.40386 0.00158786 7.67471 0 9.00031L0 15.0003C0.00158786 16.3259 0.528882 17.5967 1.46622 18.5341C2.40356 19.4714 3.67441 19.9987 5 20.0003H19C20.3256 19.9987 21.5964 19.4714 22.5338 18.5341C23.4711 17.5967 23.9984 16.3259 24 15.0003V9.00031C23.9984 7.67471 23.4711 6.40386 22.5338 5.46653C21.5964 4.52919 20.3256 4.00189 19 4.00031ZM4 17.0003C3.80222 17.0003 3.60888 16.9417 3.44443 16.8318C3.27998 16.7219 3.15181 16.5657 3.07612 16.383C3.00043 16.2003 2.98063 15.9992 3.01921 15.8052C3.0578 15.6112 3.15304 15.4331 3.29289 15.2932C3.43275 15.1533 3.61093 15.0581 3.80491 15.0195C3.99889 14.9809 4.19996 15.0007 4.38268 15.0764C4.56541 15.1521 4.72159 15.2803 4.83147 15.4447C4.94135 15.6092 5 15.8025 5 16.0003C5 16.2655 4.89464 16.5199 4.70711 16.7074C4.51957 16.8949 4.26522 17.0003 4 17.0003ZM4 9.00031C3.80222 9.00031 3.60888 8.94166 3.44443 8.83177C3.27998 8.72189 3.15181 8.56571 3.07612 8.38299C3.00043 8.20026 2.98063 7.9992 3.01921 7.80521C3.0578 7.61123 3.15304 7.43305 3.29289 7.2932C3.43275 7.15335 3.61093 7.0581 3.80491 7.01952C3.99889 6.98093 4.19996 7.00074 4.38268 7.07643C4.56541 7.15211 4.72159 7.28029 4.83147 7.44474C4.94135 7.60918 5 7.80252 5 8.00031C5 8.26552 4.89464 8.51988 4.70711 8.70741C4.51957 8.89495 4.26522 9.00031 4 9.00031ZM12 16.0003C11.2089 16.0003 10.4355 15.7657 9.77772 15.3262C9.11992 14.8867 8.60723 14.2619 8.30448 13.531C8.00173 12.8001 7.92252 11.9959 8.07686 11.2199C8.2312 10.444 8.61216 9.73129 9.17157 9.17188C9.73098 8.61247 10.4437 8.2315 11.2196 8.07716C11.9956 7.92282 12.7998 8.00204 13.5307 8.30479C14.2616 8.60754 14.8864 9.12023 15.3259 9.77802C15.7654 10.4358 16 11.2092 16 12.0003C16 13.0612 15.5786 14.0786 14.8284 14.8287C14.0783 15.5789 13.0609 16.0003 12 16.0003ZM20 17.0003C19.8022 17.0003 19.6089 16.9417 19.4444 16.8318C19.28 16.7219 19.1518 16.5657 19.0761 16.383C19.0004 16.2003 18.9806 15.9992 19.0192 15.8052C19.0578 15.6112 19.153 15.4331 19.2929 15.2932C19.4327 15.1533 19.6109 15.0581 19.8049 15.0195C19.9989 14.9809 20.2 15.0007 20.3827 15.0764C20.5654 15.1521 20.7216 15.2803 20.8315 15.4447C20.9414 15.6092 21 15.8025 21 16.0003C21 16.2655 20.8946 16.5199 20.7071 16.7074C20.5196 16.8949 20.2652 17.0003 20 17.0003ZM20 9.00031C19.8022 9.00031 19.6089 8.94166 19.4444 8.83177C19.28 8.72189 19.1518 8.56571 19.0761 8.38299C19.0004 8.20026 18.9806 7.9992 19.0192 7.80521C19.0578 7.61123 19.153 7.43305 19.2929 7.2932C19.4327 7.15335 19.6109 7.0581 19.8049 7.01952C19.9989 6.98093 20.2 7.00074 20.3827 7.07643C20.5654 7.15211 20.7216 7.28029 20.8315 7.44474C20.9414 7.60918 21 7.80252 21 8.00031C21 8.26552 20.8946 8.51988 20.7071 8.70741C20.5196 8.89495 20.2652 9.00031 20 9.00031ZM14 12.0003C14 12.3959 13.8827 12.7825 13.6629 13.1114C13.4432 13.4403 13.1308 13.6967 12.7654 13.8481C12.3999 13.9994 11.9978 14.039 11.6098 13.9619C11.2219 13.8847 10.8655 13.6942 10.5858 13.4145C10.3061 13.1348 10.1156 12.7784 10.0384 12.3905C9.96126 12.0025 10.0009 11.6004 10.1522 11.2349C10.3036 10.8695 10.56 10.5571 10.8889 10.3374C11.2178 10.1176 11.6044 10.0003 12 10.0003C12.5304 10.0003 13.0391 10.211 13.4142 10.5861C13.7893 10.9612 14 11.4699 14 12.0003Z\", \"nonzero\"],\n]);\n\nexport const bell = icon(20, [\n [\"M6.18668 17.5C6.50973 18.2428 7.0427 18.8751 7.72014 19.3193C8.39757 19.7634 9.18997 20 10 20C10.81 20 11.6024 19.7634 12.2799 19.3193C12.9573 18.8751 13.4903 18.2428 13.8133 17.5H6.18668Z\", \"nonzero\"],\n [\"M18.6601 10.4575L17.2134 5.68834C16.7501 4.02029 15.7429 2.55481 14.3516 1.52459C12.9603 0.49436 11.2648 -0.0415661 9.53415 0.00190092C7.80351 0.0453679 6.13699 0.665736 4.79919 1.76451C3.4614 2.86328 2.529 4.37747 2.15005 6.06667L1.02672 10.6808C0.877415 11.294 0.869326 11.933 1.00306 12.5497C1.1368 13.1664 1.40887 13.7447 1.79874 14.2409C2.18861 14.7371 2.68609 15.1383 3.25365 15.4141C3.82121 15.69 4.44401 15.8333 5.07505 15.8333H14.6726C15.3232 15.8334 15.9647 15.681 16.5459 15.3885C17.1271 15.096 17.6316 14.6715 18.0192 14.149C18.4068 13.6264 18.6667 13.0203 18.778 12.3793C18.8892 11.7383 18.8489 11.0801 18.6601 10.4575Z\", \"nonzero\"],\n]);\n\nexport const cart = icon(20, [\n [\"M18.9275 3.3975C18.6931 3.1162 18.3996 2.88996 18.068 2.73485C17.7363 2.57973 17.3745 2.49955 17.0083 2.5H3.535L3.5 2.2075C3.42837 1.59951 3.13615 1.03894 2.67874 0.632065C2.22133 0.225186 1.63052 0.000284828 1.01833 0L0.833333 0C0.61232 0 0.400358 0.0877974 0.244078 0.244078C0.0877974 0.400358 0 0.61232 0 0.833333C0 1.05435 0.0877974 1.26631 0.244078 1.42259C0.400358 1.57887 0.61232 1.66667 0.833333 1.66667H1.01833C1.22244 1.66669 1.41945 1.74163 1.57198 1.87726C1.72451 2.0129 1.82195 2.19979 1.84583 2.4025L2.9925 12.1525C3.11154 13.1665 3.59873 14.1015 4.36159 14.78C5.12445 15.4585 6.10988 15.8334 7.13083 15.8333H15.8333C16.0543 15.8333 16.2663 15.7455 16.4226 15.5893C16.5789 15.433 16.6667 15.221 16.6667 15C16.6667 14.779 16.5789 14.567 16.4226 14.4107C16.2663 14.2545 16.0543 14.1667 15.8333 14.1667H7.13083C6.61505 14.1652 6.11233 14.0043 5.69161 13.7059C5.27089 13.4075 4.95276 12.9863 4.78083 12.5H14.7142C15.6911 12.5001 16.637 12.1569 17.3865 11.5304C18.1361 10.9039 18.6417 10.0339 18.815 9.0725L19.4692 5.44417C19.5345 5.08417 19.5198 4.71422 19.4262 4.36053C19.3326 4.00684 19.1623 3.67806 18.9275 3.3975Z\", \"nonzero\"],\n [\"M5.83329 20.0005C6.75376 20.0005 7.49995 19.2543 7.49995 18.3339C7.49995 17.4134 6.75376 16.6672 5.83329 16.6672C4.91282 16.6672 4.16663 17.4134 4.16663 18.3339C4.16663 19.2543 4.91282 20.0005 5.83329 20.0005Z\", \"nonzero\"],\n [\"M14.1667 20.0005C15.0871 20.0005 15.8333 19.2543 15.8333 18.3339C15.8333 17.4134 15.0871 16.6672 14.1667 16.6672C13.2462 16.6672 12.5 17.4134 12.5 18.3339C12.5 19.2543 13.2462 20.0005 14.1667 20.0005Z\", \"nonzero\"],\n]);\n\nexport const category = icon(20, [\n [\"M5.83333 0H3.33333C1.49238 0 0 1.49238 0 3.33333V5.83333C0 7.67428 1.49238 9.16667 3.33333 9.16667H5.83333C7.67428 9.16667 9.16667 7.67428 9.16667 5.83333V3.33333C9.16667 1.49238 7.67428 0 5.83333 0Z\", \"nonzero\"],\n [\"M16.6665 0H14.1665C12.3256 0 10.8332 1.49239 10.8332 3.33334V5.83334C10.8332 7.67429 12.3256 9.16667 14.1665 9.16667H16.6665C18.5075 9.16667 19.9998 7.67429 19.9998 5.83334V3.33334C19.9998 1.49239 18.5075 0 16.6665 0Z\", \"nonzero\"],\n [\"M5.83333 10.8333H3.33333C1.49238 10.8333 0 12.3257 0 14.1667V16.6667C0 18.5076 1.49238 20 3.33333 20H5.83333C7.67428 20 9.16667 18.5076 9.16667 16.6667V14.1667C9.16667 12.3257 7.67428 10.8333 5.83333 10.8333Z\", \"nonzero\"],\n [\"M16.6665 10.8333H14.1665C12.3256 10.8333 10.8332 12.3257 10.8332 14.1667V16.6667C10.8332 18.5076 12.3256 20 14.1665 20H16.6665C18.5075 20 19.9998 18.5076 19.9998 16.6667V14.1667C19.9998 12.3257 18.5075 10.8333 16.6665 10.8333Z\", \"nonzero\"],\n]);\n\nexport const heart = icon(20, [\n [\"M14.5833 1.59711C13.6449 1.6117 12.727 1.87365 11.9223 2.3565C11.1175 2.83935 10.4544 3.526 9.99998 4.34711C9.54551 3.526 8.88242 2.83935 8.07767 2.3565C7.27293 1.87365 6.35502 1.6117 5.41664 1.59711C3.92076 1.6621 2.5114 2.31649 1.49646 3.4173C0.481525 4.51812 -0.0564834 5.97588 -2.45855e-05 7.47211C-2.45855e-05 11.2613 3.98831 15.3996 7.33331 18.2054C8.08016 18.833 9.02444 19.1771 9.99998 19.1771C10.9755 19.1771 11.9198 18.833 12.6666 18.2054C16.0116 15.3996 20 11.2613 20 7.47211C20.0564 5.97588 19.5184 4.51812 18.5035 3.4173C17.4886 2.31649 16.0792 1.6621 14.5833 1.59711Z\", \"nonzero\"],\n]);\n\nexport const history = icon(20, [\n [\"M11.6668 5.83333V0.383333C12.4377 0.674446 13.1379 1.12609 13.721 1.70833L16.6243 4.61333C17.2072 5.19573 17.6592 5.89575 17.9501 6.66667H12.5001C12.2791 6.66667 12.0672 6.57887 11.9109 6.42259C11.7546 6.26631 11.6668 6.05435 11.6668 5.83333ZM18.3335 8.7375V15.8333C18.3322 16.938 17.8927 17.997 17.1116 18.7782C16.3305 19.5593 15.2715 19.9987 14.1668 20H5.83348C4.72881 19.9987 3.66977 19.5593 2.88866 18.7782C2.10754 17.997 1.66813 16.938 1.66681 15.8333V4.16667C1.66813 3.062 2.10754 2.00296 2.88866 1.22185C3.66977 0.440735 4.72881 0.00132321 5.83348 0L9.59598 0C9.73181 0 9.86598 0.0108333 10.0001 0.02V5.83333C10.0001 6.49637 10.2635 7.13226 10.7324 7.6011C11.2012 8.06994 11.8371 8.33333 12.5001 8.33333H18.3135C18.3226 8.4675 18.3335 8.60167 18.3335 8.7375ZM11.6668 15.8333C11.6668 15.6123 11.579 15.4004 11.4227 15.2441C11.2665 15.0878 11.0545 15 10.8335 15H6.66681C6.4458 15 6.23383 15.0878 6.07755 15.2441C5.92127 15.4004 5.83348 15.6123 5.83348 15.8333C5.83348 16.0543 5.92127 16.2663 6.07755 16.4226C6.23383 16.5789 6.4458 16.6667 6.66681 16.6667H10.8335C11.0545 16.6667 11.2665 16.5789 11.4227 16.4226C11.579 16.2663 11.6668 16.0543 11.6668 15.8333ZM14.1668 12.5C14.1668 12.279 14.079 12.067 13.9227 11.9107C13.7665 11.7545 13.5545 11.6667 13.3335 11.6667H6.66681C6.4458 11.6667 6.23383 11.7545 6.07755 11.9107C5.92127 12.067 5.83348 12.279 5.83348 12.5C5.83348 12.721 5.92127 12.933 6.07755 13.0893C6.23383 13.2455 6.4458 13.3333 6.66681 13.3333H13.3335C13.5545 13.3333 13.7665 13.2455 13.9227 13.0893C14.079 12.933 14.1668 12.721 14.1668 12.5Z\", \"nonzero\"],\n]);\n\nexport const home = icon(20, [\n [\"M10 12.4932C8.6193 12.4932 7.5 13.6125 7.5 14.9932V19.9932H12.5V14.9932C12.5 13.6125 11.3807 12.4932 10 12.4932Z\", \"nonzero\"],\n [\"M14.1667 14.9935V19.9935H17.5C18.8807 19.9935 20 18.8742 20 17.4935V9.89268C20.0002 9.45975 19.832 9.04373 19.5308 8.73268L12.4492 1.07682C11.1996 -0.275135 9.09074 -0.358143 7.73879 0.891389C7.67457 0.950764 7.6127 1.0126 7.55336 1.07682L0.48418 8.73018C0.173945 9.04252 -0.000117128 9.46494 5.9134e-08 9.90518V17.4935C5.9134e-08 18.8742 1.1193 19.9935 2.5 19.9935H5.83332V14.9935C5.84891 12.7212 7.68355 10.8655 9.89867 10.8121C12.1879 10.7569 14.1492 12.6441 14.1667 14.9935Z\", \"nonzero\"],\n [\"M10 12.4932C8.6193 12.4932 7.5 13.6125 7.5 14.9932V19.9932H12.5V14.9932C12.5 13.6125 11.3807 12.4932 10 12.4932Z\", \"nonzero\"],\n]);\n\nexport const points = icon(24, [\n [\"M2 15H11V24H7C5.67392 24 4.40215 23.4732 3.46447 22.5355C2.52678 21.5979 2 20.3261 2 19V15ZM24 11C24 11.5304 23.7893 12.0391 23.4142 12.4142C23.0391 12.7893 22.5304 13 22 13H13V8.957C12.664 8.983 12.329 9 12 9C11.671 9 11.336 8.983 11 8.957V13H2C1.46957 13 0.960859 12.7893 0.585786 12.4142C0.210714 12.0391 0 11.5304 0 11C0 9.93913 0.421427 8.92172 1.17157 8.17157C1.92172 7.42143 2.93913 7 4 7H5.738C5.1726 6.5016 4.7238 5.88488 4.42344 5.1936C4.12307 4.50232 3.97851 3.75341 4 3C4 2.73478 4.10536 2.48043 4.29289 2.29289C4.48043 2.10536 4.73478 2 5 2C5.26522 2 5.51957 2.10536 5.70711 2.29289C5.89464 2.48043 6 2.73478 6 3C6 5.622 8.371 6.53 10.174 6.841C9.50852 5.66105 9.10791 4.35037 9 3C9 2.20435 9.31607 1.44129 9.87868 0.87868C10.4413 0.31607 11.2044 0 12 0C12.7956 0 13.5587 0.31607 14.1213 0.87868C14.6839 1.44129 15 2.20435 15 3C14.8921 4.35037 14.4915 5.66105 13.826 6.841C15.629 6.53 18 5.622 18 3C18 2.73478 18.1054 2.48043 18.2929 2.29289C18.4804 2.10536 18.7348 2 19 2C19.2652 2 19.5196 2.10536 19.7071 2.29289C19.8946 2.48043 20 2.73478 20 3C20.0215 3.75341 19.8769 4.50232 19.5766 5.1936C19.2762 5.88488 18.8274 6.5016 18.262 7H20C21.0609 7 22.0783 7.42143 22.8284 8.17157C23.5786 8.92172 24 9.93913 24 11ZM11 3C11.1207 4.06283 11.4613 5.08891 12 6.013C12.5387 5.08891 12.8793 4.06283 13 3C13 2.73478 12.8946 2.48043 12.7071 2.29289C12.5196 2.10536 12.2652 2 12 2C11.7348 2 11.4804 2.10536 11.2929 2.29289C11.1054 2.48043 11 2.73478 11 3ZM13 24H17C17.6566 24 18.3068 23.8707 18.9134 23.6194C19.52 23.3681 20.0712 22.9998 20.5355 22.5355C20.9998 22.0712 21.3681 21.52 21.6194 20.9134C21.8707 20.3068 22 19.6566 22 19V15H13V24Z\", \"nonzero\"],\n]);\n\nexport const star = icon(24, [\n [\"M19.53 23.194L12.063 17.706L4.596 23.194L7.463 14.331L0 8.878L9.214 8.878L12.063 0L14.912 8.878L24.125 8.878L16.663 14.331L19.53 23.194Z\", \"nonzero\"],\n]);\n\nexport const truck = icon(24, [\n [\"M15 17.9994H4C2.93913 17.9994 1.92172 17.5779 1.17157 16.8278C0.421427 16.0776 0 15.0602 0 13.9994V5.99936C0 4.67328 0.526784 3.40151 1.46447 2.46383C2.40215 1.52614 3.67392 0.999359 5 0.999359H10C10.6566 0.999359 11.3068 1.12869 11.9134 1.37996C12.52 1.63124 13.0712 1.99953 13.5355 2.46383C13.9998 2.92812 14.3681 3.47931 14.6194 4.08594C14.8707 4.69257 15 5.34275 15 5.99936V17.9994ZM24 10.9994V9.99936C24 9.34275 23.8707 8.69257 23.6194 8.08594C23.3681 7.47931 22.9998 6.92812 22.5355 6.46383C22.0712 5.99953 21.52 5.63124 20.9134 5.37996C20.3068 5.12869 19.6566 4.99936 19 4.99936H17V10.9994H24ZM17 12.9994V17.9994H20C21.0609 17.9994 22.0783 17.5779 22.8284 16.8278C23.5786 16.0776 24 15.0602 24 13.9994V12.9994H17ZM4.058 19.9994C4.02137 20.1636 4.00193 20.3311 4 20.4994C4 21.1624 4.26339 21.7983 4.73223 22.2671C5.20107 22.736 5.83696 22.9994 6.5 22.9994C7.16304 22.9994 7.79893 22.736 8.26777 22.2671C8.73661 21.7983 9 21.1624 9 20.4994C8.99807 20.3311 8.97863 20.1636 8.942 19.9994H4.058ZM15.058 19.9994C15.0214 20.1636 15.0019 20.3311 15 20.4994C15 21.1624 15.2634 21.7983 15.7322 22.2671C16.2011 22.736 16.837 22.9994 17.5 22.9994C18.163 22.9994 18.7989 22.736 19.2678 22.2671C19.7366 21.7983 20 21.1624 20 20.4994C19.9981 20.3311 19.9786 20.1636 19.942 19.9994H15.058Z\", \"nonzero\"],\n]);\n","import * as outline from './outline.js';\nimport * as solid from './solid.js';\n\n/** Matches the `<SnackyIcons.outline.home />` / `<SnackyIcons.solid.home />` namespace used throughout the design system's documented code samples. */\nexport const SnackyIcons = { outline, solid };\nexport type { IconProps } from './types.js';\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { SnackyIcons } from '../../icons/index.js';\nimport './Header.css';\n\nexport type HeaderLeadingIcon = 'back' | 'close';\n\nexport interface HeaderProps {\n title: string;\n /** Back drills deeper into a flow (goes to the previous screen); Close dismisses it entirely. */\n leadingIcon?: HeaderLeadingIcon;\n onLeadingClick?: () => void;\n /** Only ever pairs with leadingIcon=\"close\", never \"back\", per the documented variants. */\n trailingIcon?: ReactNode;\n onTrailingClick?: () => void;\n className?: string;\n}\n\n/**\n * Snacky Header - page header bar. Title always centers in the remaining\n * space - when a leading icon is present but there's no trailing action,\n * the title row gets matching right padding so it stays optically centered\n * against the whole bar, not just the leftover space next to the icon.\n */\nexport function Header({ title, leadingIcon, onLeadingClick, trailingIcon, onTrailingClick, className }: HeaderProps) {\n const LeadingIconEl = leadingIcon === 'back' ? SnackyIcons.outline.back : SnackyIcons.outline.close;\n return (\n <header className={cx('snacky-header', className)}>\n {leadingIcon && (\n <button\n type=\"button\"\n className=\"snacky-header__icon-btn\"\n onClick={onLeadingClick}\n aria-label={leadingIcon === 'back' ? 'Back' : 'Close'}\n >\n <LeadingIconEl width={24} height={24} />\n </button>\n )}\n <div className={cx('snacky-header__title-row', leadingIcon && !trailingIcon && 'snacky-header__title-row--balance')}>\n <span className=\"snacky-header__title\">{title}</span>\n </div>\n {trailingIcon && (\n <button type=\"button\" className=\"snacky-header__icon-btn\" onClick={onTrailingClick} aria-label=\"Action\">\n {trailingIcon}\n </button>\n )}\n </header>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Banner.css';\n\nexport interface ImageBannerProps {\n imageUrl: string;\n alt: string;\n onClick?: () => void;\n className?: string;\n}\n\n/** Snacky Hero Banner - main promo carousel image. */\nexport function HeroBanner({ imageUrl, alt, onClick, className }: ImageBannerProps) {\n return <img src={imageUrl} alt={alt} onClick={onClick} className={cx('snacky-banner-hero', className)} />;\n}\n\n/** Snacky Square Banner - featured category tile (Discount / Favourites / Deals). */\nexport function SquareBanner({ imageUrl, alt, onClick, className }: ImageBannerProps) {\n return <img src={imageUrl} alt={alt} onClick={onClick} className={cx('snacky-banner-square', className)} />;\n}\n\n/** Snacky Full-width Banner - prominent promotional banner on detail pages. */\nexport function FullWidthBanner({ imageUrl, alt, onClick, className }: ImageBannerProps) {\n return <img src={imageUrl} alt={alt} onClick={onClick} className={cx('snacky-banner-full', className)} />;\n}\n\nexport interface PointBalanceBannerProps {\n pointsIcon: ReactNode;\n points: string;\n balanceIcon: ReactNode;\n balance: string;\n className?: string;\n}\n\n/** Snacky Point Balance Banner - loyalty points + wallet balance summary strip. */\nexport function PointBalanceBanner({ pointsIcon, points, balanceIcon, balance, className }: PointBalanceBannerProps) {\n return (\n <div className={cx('snacky-banner-point-balance', className)}>\n <div className=\"snacky-banner-point-balance__item\">\n <span className=\"snacky-banner-point-balance__icon\">{pointsIcon}</span>\n <div>\n <p className=\"snacky-banner-point-balance__label\">Points</p>\n <p className=\"snacky-banner-point-balance__value\">{points}</p>\n </div>\n </div>\n <div className=\"snacky-banner-point-balance__divider\" />\n <div className=\"snacky-banner-point-balance__item\">\n <span className=\"snacky-banner-point-balance__icon\">{balanceIcon}</span>\n <div>\n <p className=\"snacky-banner-point-balance__label\">Balance</p>\n <p className=\"snacky-banner-point-balance__value\">{balance}</p>\n </div>\n </div>\n </div>\n );\n}\n\nexport interface AlertBannerProps {\n message: string;\n countdown?: string;\n className?: string;\n}\n\n/** Snacky Alert Banner - inline info/warning strip, optionally with a countdown. */\nexport function AlertBanner({ message, countdown, className }: AlertBannerProps) {\n return (\n <div className={cx('snacky-banner-alert', className)}>\n <p className=\"snacky-banner-alert__message\">{message}</p>\n {countdown && <p className=\"snacky-banner-alert__countdown\">{countdown}</p>}\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Badge.css';\n\nexport interface NotificationBadgeProps {\n count: number;\n max?: number;\n children: ReactNode;\n className?: string;\n}\n\n/** Snacky Notification Badge - numeric count overlay on an icon (e.g. cart). */\nexport function NotificationBadge({ count, max = 99, children, className }: NotificationBadgeProps) {\n if (count <= 0) return <>{children}</>;\n return (\n <span className={cx('snacky-badge-wrap', className)}>\n {children}\n <span className=\"snacky-badge-notification\">{count > max ? `${max}+` : count}</span>\n </span>\n );\n}\n\nexport interface DiscountTagProps {\n label: string;\n className?: string;\n}\n\n/** Snacky Discount Tag - inline promo/percentage-off tag, e.g. on Product Card. */\nexport function DiscountTag({ label, className }: DiscountTagProps) {\n return <span className={cx('snacky-discount-tag', className)}>{label}</span>;\n}\n\nexport interface SoldOutBadgeProps {\n className?: string;\n}\n\n/** Snacky Sold Out Badge - absolute overlay on a product image. Position it with your own layout. */\nexport function SoldOutBadge({ className }: SoldOutBadgeProps) {\n return <span className={cx('snacky-soldout-badge', className)}>Sold Out</span>;\n}\n\nexport interface InfoBadgeProps {\n /** The whole string, including its own prefix if it has one - Figma draws this as a single text node (\"Variant: 75 Grams\", \"Points: 20,000\"). */\n label: string;\n /** Optional 12x12 leading icon. Its presence is the only structural difference between Figma's `Property 2=variant` and `Property 2=points`. */\n icon?: ReactNode;\n className?: string;\n}\n\n/**\n * Snacky Info Badge - static, non-interactive `Label: Value` chip on the\n * accent-highlighted style, for a single attribute of something: the selected\n * product variant, a loyalty points total, and so on.\n *\n * Named for the shape of the information, not one use of it. It was\n * `VariantBadge` until Figma grew a second use (`Points: 20,000` in the Home\n * header), which was identical apart from the icon - so the icon became a slot\n * rather than the pattern becoming a second component.\n */\nexport function InfoBadge({ label, icon, className }: InfoBadgeProps) {\n return (\n <span className={cx('snacky-info-badge', className)}>\n {icon && <span className=\"snacky-info-badge__icon\">{icon}</span>}\n {label}\n </span>\n );\n}\n\n/** @deprecated Renamed to {@link InfoBadge} in 0.8.0 - the same component, now with an optional `icon`. This alias will be removed in a future release. */\nexport const VariantBadge = InfoBadge;\n/** @deprecated Renamed to {@link InfoBadgeProps} in 0.8.0. */\nexport type VariantBadgeProps = InfoBadgeProps;\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Callout.css';\n\nexport type CalloutVariant = 'received' | 'sent' | 'pending';\n\nexport interface CalloutProps {\n message: string;\n timestamp: string;\n variant: CalloutVariant;\n /** Sent shows a checkmark, Pending a clock - pass your own icon for either. */\n statusIcon?: ReactNode;\n className?: string;\n}\n\n/** Snacky Callout - chat message bubble. Received aligns left/white, Sent/Pending align right/accent. */\nexport function Callout({ message, timestamp, variant, statusIcon, className }: CalloutProps) {\n return (\n <div className={cx('snacky-callout', `snacky-callout--${variant}`, className)}>\n <p className=\"snacky-callout__message\">{message}</p>\n <span className=\"snacky-callout__meta\">\n {timestamp}\n {statusIcon && variant !== 'received' && <span className=\"snacky-callout__meta-icon\">{statusIcon}</span>}\n </span>\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport { Button } from '../Button/Button.js';\nimport './List.css';\n\nexport type OrderStatus = 'waiting' | 'process' | 'processCod' | 'shipped' | 'received' | 'cancelled';\n\nconst STATUS_LABEL: Record<OrderStatus, string> = {\n waiting: 'Waiting for Payment',\n process: 'Order Processing',\n processCod: 'Order Processing',\n shipped: 'Order Shipped',\n received: 'Order Received',\n cancelled: 'Order Cancelled',\n};\n\nconst STATUS_ACTION: Partial<Record<OrderStatus, string>> = {\n shipped: 'Track Shipment',\n received: 'Buy Again',\n cancelled: 'Buy Again',\n};\n\nexport interface OrderListItemProps {\n productImage: string;\n /** The first/representative product in the order, shown next to the status. */\n productName: string;\n status: OrderStatus;\n /** e.g. \"2 products\" */\n itemsSummary: string;\n /** e.g. \"Rp 8,000\" */\n total: string;\n /** Waiting status only, e.g. \"Dec 30, 11:00\" */\n paymentDeadline?: string;\n /** Overrides the status-derived CTA label (Track Shipment / Buy Again). */\n actionLabel?: string;\n onAction?: () => void;\n /** Card click, e.g. to open order detail. */\n onClick?: () => void;\n className?: string;\n}\n\n/**\n * Snacky Order List Item - order summary card. Layout, CTA, and the COD chip\n * / payment-deadline banner are all driven by `status`, matching the real\n * per-status variants (Waiting/Process/Process COD/Shipped/Received/Cancelled).\n */\nexport function OrderListItem({\n productImage,\n productName,\n status,\n itemsSummary,\n total,\n paymentDeadline,\n actionLabel,\n onAction,\n onClick,\n className,\n}: OrderListItemProps) {\n const action = actionLabel ?? STATUS_ACTION[status];\n const isCod = status === 'processCod';\n\n return (\n <div\n className={cx('snacky-order-item', className)}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onClick={onClick}\n onKeyDown={onClick ? (e) => (e.key === 'Enter' || e.key === ' ') && onClick() : undefined}\n >\n <div className=\"snacky-order-item__top\">\n <div className=\"snacky-order-item__thumb-box\">\n <img className=\"snacky-order-item__thumb\" src={productImage} alt=\"\" />\n </div>\n <div className=\"snacky-order-item__info\">\n <span\n className={cx('snacky-order-item__status', status === 'cancelled' && 'snacky-order-item__status--cancelled')}\n >\n {STATUS_LABEL[status]}\n </span>\n <span className=\"snacky-order-item__name\">{productName}</span>\n </div>\n </div>\n\n <div className=\"snacky-order-item__details\">\n <span className=\"snacky-order-item__count\">{itemsSummary}</span>\n <span className={cx('snacky-order-item__total', isCod && 'snacky-order-item__total--cod')}>\n Order Total: <b>{total}</b>\n </span>\n {isCod && <span className=\"snacky-order-item__cod\">COD</span>}\n </div>\n\n {status === 'waiting' && paymentDeadline && (\n <div className=\"snacky-order-item__deadline\">Pay before {paymentDeadline}</div>\n )}\n\n {action && (\n <div className=\"snacky-order-item__action-row\">\n <Button\n variant=\"primary\"\n onClick={(e) => {\n e.stopPropagation();\n onAction?.();\n }}\n >\n {action}\n </Button>\n </div>\n )}\n </div>\n );\n}\n\nexport interface NotificationListItemProps {\n title: string;\n message: string;\n unread?: boolean;\n onClick?: () => void;\n className?: string;\n}\n\n/** Snacky Notification List Item - accent-tinted background for unread items. */\nexport function NotificationListItem({ title, message, unread = false, onClick, className }: NotificationListItemProps) {\n return (\n <div\n className={cx('snacky-notif-item', unread && 'snacky-notif-item--unread', className)}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onClick={onClick}\n onKeyDown={onClick ? (e) => (e.key === 'Enter' || e.key === ' ') && onClick() : undefined}\n >\n <span className=\"snacky-notif-item__title\">{title}</span>\n <span className=\"snacky-notif-item__message\">{message}</span>\n </div>\n );\n}\n","import { useId, useState, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Accordion.css';\n\nexport interface AccordionProps {\n title: string;\n /** When passed, uses the compact 12px title (icon-slot variant) - e.g. a payment-method logo. */\n leadingIcon?: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n className?: string;\n}\n\n/**\n * Snacky Accordion - header and (when open) panel render as two separate\n * elevated cards with a small gap between them, not one continuous card;\n * title size responds to whether `leadingIcon` is passed (matches the\n * Figma source, which models icon presence as a real variant rather than\n * optional content). Neither state ever has a border, only elevation.\n */\nexport function Accordion({ title, leadingIcon, children, defaultOpen = false, className }: AccordionProps) {\n const [open, setOpen] = useState(defaultOpen);\n const panelId = useId();\n\n return (\n <div className={cx('snacky-accordion', !!leadingIcon && 'snacky-accordion--icon', className)}>\n <button\n type=\"button\"\n className=\"snacky-accordion__header\"\n aria-expanded={open}\n aria-controls={panelId}\n onClick={() => setOpen((v) => !v)}\n >\n {leadingIcon && <span className=\"snacky-accordion__icon\">{leadingIcon}</span>}\n <span className=\"snacky-accordion__title\">{title}</span>\n <svg\n className={cx('snacky-accordion__chevron', open && 'snacky-accordion__chevron--open')}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n {open && (\n <div id={panelId} className=\"snacky-accordion__panel\">\n {children}\n </div>\n )}\n </div>\n );\n}\n","import { useEffect, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './BottomSheet.css';\n\nexport interface BottomSheetProps {\n open: boolean;\n onDismiss: () => void;\n children: ReactNode;\n /** Show the drag-handle bar. Defaults to false because 8 of Figma's 9\n * Modal variants have no handle. The `driver` variant does: it draws a\n * visible 40x4 `Driver Slider` (node 8693:6233). An earlier pass read\n * that as \"no variant shows one\", which was wrong, so a Driver Tracking\n * composition should pass showHandle. */\n showHandle?: boolean;\n className?: string;\n}\n\n/**\n * Snacky Bottom Sheet - the shared modal shell every documented Modal\n * \"variant\" (Welcome, Success, Confirmation, Calendar, Variants Selector,\n * Payment Methods, Buyer Reviews, Driver Tracking) composes from, matching\n * `SnackyBottomSheet(onDismiss = {...}) { ...content... }` in the code samples.\n * 20px radius on top corners only, dim overlay backdrop, dismiss on\n * backdrop click or Escape.\n */\nexport function BottomSheet({ open, onDismiss, children, showHandle = false, className }: BottomSheetProps) {\n useEffect(() => {\n if (!open) return;\n function onKeyDown(e: KeyboardEvent) {\n if (e.key === 'Escape') onDismiss();\n }\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [open, onDismiss]);\n\n if (!open) return null;\n\n return (\n <div className=\"snacky-sheet-overlay\" onClick={onDismiss}>\n <div\n className={cx('snacky-sheet', className)}\n role=\"dialog\"\n aria-modal=\"true\"\n onClick={(e) => e.stopPropagation()}\n >\n {showHandle && <div className=\"snacky-sheet__handle\" />}\n {children}\n </div>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { angleSmallRight as AngleSmallRightIcon } from '../../icons/solid.js';\nimport { IconButton } from '../IconButton/IconButton.js';\nimport './Section.css';\n\nexport interface SectionProps {\n title: string;\n /** \"See more\" action, shown when provided: Figma's small Icon-Button (24px circle, full-size angle chevron). */\n onAction?: () => void;\n children: ReactNode;\n className?: string;\n}\n\n/**\n * Snacky Section - the shared content-block shell every documented Section\n * \"variant\" (Variant Selector, Product Description, Buyer Reviews, product\n * rows, Order Summary, etc.) composes from, matching\n * `SnackySection(title = \"...\", onAction = {...}) { ...content... }`.\n */\nexport function Section({ title, onAction, children, className }: SectionProps) {\n return (\n <section className={cx('snacky-section', className)}>\n <div className=\"snacky-section__header\">\n <h3 className=\"snacky-section__title\">{title}</h3>\n {onAction && (\n <IconButton size=\"small\" icon={<AngleSmallRightIcon />} onClick={onAction} ariaLabel={`See more: ${title}`} />\n )}\n </div>\n {children}\n </section>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport { close as CloseIcon } from '../../icons/outline.js';\nimport './Stepper.css';\n\nexport type StepState = 'done' | 'pending' | 'cancelled';\n\nexport interface Step {\n label: string;\n /** Optional timestamp line under the label, e.g. \"Dec 30, 11:00 AM\". */\n timestamp?: string;\n state: StepState;\n}\n\nexport interface StepperProps {\n steps: Step[];\n className?: string;\n}\n\n/**\n * Snacky Stepper - the vertical order-progress timeline behind Section's four\n * `order-status-*` variants and Modal's driver-tracking sheet.\n *\n * This pattern was drawn by hand in every screen that used it before becoming a\n * component: Figma has 19 copies of it across 5 documented variants, under two\n * different frame names (`Order status step` in Section, `Driver Order Status\n * Item` in Modal), with the dot already named like a component variant\n * (`Progress dot/active`, `Progress dot/disabled`).\n *\n * The state names here come from the dots' real fills, not those Figma layer\n * names - `order-status-received` has a dot named \"disabled\" that is filled\n * icon-brand, i.e. actually done. Trusting the name would have produced a grey\n * dot in a completed timeline.\n */\nexport function Stepper({ steps, className }: StepperProps) {\n return (\n <ol className={cx('snacky-stepper', className)}>\n {steps.map((step, i) => (\n <li\n key={`${step.label}-${i}`}\n className={cx('snacky-stepper__step', i === steps.length - 1 && 'snacky-stepper__step--last')}\n >\n <span className={cx('snacky-stepper__dot', `snacky-stepper__dot--${step.state}`)}>\n {step.state === 'cancelled' && <CloseIcon width={12} height={12} />}\n </span>\n <span className=\"snacky-stepper__body\">\n <span className={cx('snacky-stepper__label', `snacky-stepper__label--${step.state}`)}>\n {step.label}\n </span>\n {step.timestamp && <span className=\"snacky-stepper__time\">{step.timestamp}</span>}\n </span>\n </li>\n ))}\n </ol>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport { back as BackIcon } from '../../icons/outline.js';\nimport { Button } from '../Button/Button.js';\nimport './Calendar.css';\n\nexport interface CalendarProps {\n /** Month shown, as any day within it. */\n month: Date;\n onPrevMonth?: () => void;\n onNextMonth?: () => void;\n /** Selected day, or the two ends of a selected range. */\n selected?: Date | [Date, Date];\n onSelect?: (day: Date) => void;\n /** Days that get the small accent dot under them, e.g. days with an order. */\n marked?: Date[];\n actionLabel?: string;\n onAction?: () => void;\n className?: string;\n}\n\nconst WEEKDAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst MONTHS = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n];\n\nconst sameDay = (a: Date, b: Date) =>\n a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n\n/**\n * Whole weeks covering the month, padded with the neighbouring months' days.\n * Only as many rows as the month actually needs - five for a month like June\n * 2021, six when one is genuinely required - which is what makes the grid match\n * Figma's 325px `date` frame instead of always reserving a sixth row.\n */\nfunction buildGrid(month: Date): Date[] {\n const first = new Date(month.getFullYear(), month.getMonth(), 1);\n const last = new Date(month.getFullYear(), month.getMonth() + 1, 0);\n const start = new Date(first);\n start.setDate(1 - first.getDay());\n const end = new Date(last);\n end.setDate(last.getDate() + (6 - last.getDay()));\n const days: Date[] = [];\n for (let d = new Date(start); d <= end; d.setDate(d.getDate() + 1)) {\n days.push(new Date(d));\n }\n return days;\n}\n\n/**\n * Snacky Calendar - the month grid behind Modal's `Calendar` variant, and the\n * panel the Input family's Date Picker field is meant to open.\n *\n * Figma already had this as a COMPONENT (360x505) with a full structure -\n * header, weekday row, six date rows, a range highlight and a Select Date\n * button - but no package ever shipped it, so the Date Picker field existed as\n * a component while the calendar it opens did not. Every screen that needed one\n * drew its own grid.\n */\nexport function Calendar({\n month,\n onPrevMonth,\n onNextMonth,\n selected,\n onSelect,\n marked = [],\n actionLabel = 'Select Date',\n onAction,\n className,\n}: CalendarProps) {\n const days = buildGrid(month);\n const range = Array.isArray(selected) ? selected : null;\n const single = selected instanceof Date ? selected : null;\n const [lo, hi] = range\n ? [range[0], range[1]].sort((a, b) => a.getTime() - b.getTime())\n : [null, null];\n\n const isEnd = (d: Date) =>\n (single && sameDay(d, single)) || (lo && hi && (sameDay(d, lo) || sameDay(d, hi)));\n const isInRange = (d: Date) => lo && hi && d > lo && d < hi;\n\n return (\n <div className={cx('snacky-calendar', className)}>\n <div className=\"snacky-calendar__header\">\n <button\n type=\"button\"\n className=\"snacky-calendar__nav\"\n onClick={onPrevMonth}\n aria-label=\"Previous month\"\n >\n <BackIcon width={24} height={24} />\n </button>\n <span className=\"snacky-calendar__label\">\n {MONTHS[month.getMonth()]} {month.getFullYear()}\n </span>\n <button\n type=\"button\"\n className=\"snacky-calendar__nav snacky-calendar__nav--next\"\n onClick={onNextMonth}\n aria-label=\"Next month\"\n >\n <BackIcon width={24} height={24} />\n </button>\n </div>\n\n <div className=\"snacky-calendar__grid\">\n {WEEKDAYS.map((d) => (\n <span key={d} className=\"snacky-calendar__weekday\">\n {d}\n </span>\n ))}\n {days.map((d, i) => {\n const outside = d.getMonth() !== month.getMonth();\n return (\n <button\n key={i}\n type=\"button\"\n className={cx(\n 'snacky-calendar__day',\n outside && 'snacky-calendar__day--outside',\n isInRange(d) && 'snacky-calendar__day--in-range',\n isEnd(d) && 'snacky-calendar__day--selected'\n )}\n onClick={() => onSelect?.(d)}\n disabled={outside}\n aria-current={isEnd(d) ? 'date' : undefined}\n >\n <span className=\"snacky-calendar__day-number\">{d.getDate()}</span>\n {marked.some((m) => sameDay(m, d)) && <span className=\"snacky-calendar__marker\" />}\n </button>\n );\n })}\n </div>\n\n {onAction && (\n <Button onClick={onAction} style={{ width: '100%' }}>\n {actionLabel}\n </Button>\n )}\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './Avatar.css';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport interface AvatarProps {\n src: string;\n alt: string;\n size?: AvatarSize;\n className?: string;\n}\n\n/** Snacky Avatar - circular profile photo in three fixed sizes (32 / 56 / 72px). */\nexport function Avatar({ src, alt, size = 'md', className }: AvatarProps) {\n return <img src={src} alt={alt} className={cx('snacky-avatar', `snacky-avatar--${size}`, className)} />;\n}\n","import { cx } from '../../utils/cx.js';\nimport './Illustration.css';\n\nexport type IllustrationVariant = 'empty' | 'createAccount' | 'welcome' | 'success' | 'discountReferral';\n\nconst SIZE: Record<IllustrationVariant, { width: number; height: number }> = {\n empty: { width: 268, height: 200 },\n createAccount: { width: 360, height: 240 },\n welcome: { width: 200, height: 200 },\n success: { width: 200, height: 200 },\n discountReferral: { width: 268, height: 200 },\n};\n\nexport interface IllustrationProps {\n variant: IllustrationVariant;\n /** Your own export of this illustration - this package ships no artwork. */\n src: string;\n alt: string;\n className?: string;\n}\n\n/**\n * Snacky Illustration - decorative spot illustration for empty states,\n * onboarding and confirmations.\n *\n * ```tsx\n * <Illustration variant=\"empty\" src=\"/img/empty.svg\" alt=\"No products found\" />\n * ```\n *\n * This ships no artwork, deliberately, and that is the normal split - Material,\n * Radix and Chakra ship none either. What belongs in a design system is the\n * documented canvas size per variant, which is what this owns; the Snacky\n * artwork itself is modified stock and is not ours to redistribute.\n *\n * Export your own at the variant's ratio (SVG preferred) and serve it wherever\n * your app already serves static assets. Open Peeps (openpeeps.com) is CC0 and\n * drops in cleanly; unDraw (undraw.co) is free without attribution but its\n * licence forbids redistributing assets \"in packs\", so keep it inside your own\n * app. See the package README for the fuller note.\n */\nexport function Illustration({ variant, src, alt, className }: IllustrationProps) {\n const { width, height } = SIZE[variant];\n return <img src={src} alt={alt} width={width} height={height} className={cx('snacky-illustration', className)} />;\n}\n","import { cx } from '../../utils/cx.js';\nimport './ProductImage.css';\n\nexport type ProductImageUsage = 'product-card' | 'product-details' | 'list' | 'review' | 'variant' | 'accordion-modal';\n\nexport interface ProductImageProps {\n src: string;\n alt: string;\n usage: ProductImageUsage;\n /** Overlays a centered \"Sold Out\" badge - product-card and product-details only. */\n sold?: boolean;\n className?: string;\n}\n\n/**\n * Snacky Product Image - adapts its frame size/border to where it appears:\n * product-card (128) and product-details (200) are bare transparent images;\n * list (56/48 inner) and review (48/40 inner, bordered) wrap in a padded\n * frame; variant (88) is a bordered selection frame; accordion-modal (24)\n * renders a payment-method logo instead of a product photo.\n */\nexport function ProductImage({ src, alt, usage, sold = false, className }: ProductImageProps) {\n return (\n <span className={cx('snacky-product-image-wrap', `snacky-product-image-wrap--${usage}`, className)}>\n <img src={src} alt={alt} className={cx('snacky-product-image', `snacky-product-image--${usage}`)} />\n {sold && (\n <span className=\"snacky-product-image-sold-overlay\">\n <span className=\"snacky-product-image-sold-label\">Sold Out</span>\n </span>\n )}\n </span>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { DiscountTag } from '../Badge/Badge.js';\nimport { SoldOutBadge } from '../Badge/Badge.js';\nimport { IconButton } from '../IconButton/IconButton.js';\n// Real icons as the fallback for every icon slot. These used to default to\n// emoji/text glyphs, which meant a caller who omitted the prop silently got\n// an emoji instead of the design system's own set, the exact thing the docs\n// tell integrators never to do. Sizes match index.html's verified preview:\n// 20px in the details actions, 16px in the list card's cart button.\nimport { cartAdd as CartAddIcon, chat as ChatIcon, heart as HeartOutlineIcon, share as ShareIcon } from '../../icons/outline.js';\nimport { heart as HeartSolidIcon, star as StarIcon } from '../../icons/solid.js';\nimport './ProductCard.css';\n\ninterface BaseProductCardProps {\n productName: string;\n imageUrl: string;\n price: string;\n rating: number;\n onClick?: () => void;\n className?: string;\n}\n\nexport interface ProductCardListProps extends BaseProductCardProps {\n variant?: 'list';\n originalPrice?: string;\n discountLabel?: string;\n onAddToCart: () => void;\n cartIcon?: ReactNode;\n ratingIcon?: ReactNode;\n}\n\nexport interface ProductCardDetailsProps extends BaseProductCardProps {\n variant: 'details';\n originalPrice?: string;\n discountLabel?: string;\n ratingCount: number;\n favorited: boolean;\n onFavoriteClick: () => void;\n onShareClick: () => void;\n onChatClick: () => void;\n sold?: boolean;\n ratingIcon?: ReactNode;\n favoriteIcon?: ReactNode;\n shareIcon?: ReactNode;\n chatIcon?: ReactNode;\n}\n\nexport type ProductCardProps = ProductCardListProps | ProductCardDetailsProps;\n\n/**\n * Snacky Product Card - `list` (default) for horizontal carousels/2-column\n * grids, `details` for the product detail page with rating count and\n * Favorite/Share/Chat actions.\n */\nexport function ProductCard(props: ProductCardProps) {\n if (props.variant === 'details') {\n const { productName, imageUrl, price, rating, originalPrice, discountLabel, ratingCount, favorited, onFavoriteClick, onShareClick, onChatClick, sold, ratingIcon, favoriteIcon, shareIcon, chatIcon, onClick, className } = props;\n return (\n <div className={cx('snacky-product-card', 'snacky-product-card--details', className)}>\n {/* Figma's details component is two stacked frames, not one flat column:\n an \"Image\" frame padded 12/8 (224 tall) and a \"Product details\n container\" padded 16/24 with an 8px gap (148 tall). Flattening them\n lost both paddings and came out 29px short. */}\n <div className=\"snacky-product-card__image-block\">\n <div className=\"snacky-product-card__image-wrap\" onClick={onClick}>\n <img className=\"snacky-product-card__image\" src={imageUrl} alt={productName} />\n {sold && (\n <span className=\"snacky-product-card__sold-overlay\">\n <SoldOutBadge />\n </span>\n )}\n </div>\n </div>\n <div className=\"snacky-product-card__details-body\">\n <p className=\"snacky-product-card__name\">{productName}</p>\n <div className=\"snacky-product-card__price-row\">\n <span className=\"snacky-product-card__price\">{price}</span>\n {originalPrice && <span className=\"snacky-product-card__original-price\">{originalPrice}</span>}\n {discountLabel && <DiscountTag label={discountLabel} />}\n </div>\n <div className=\"snacky-product-card__footer-row\">\n <span className=\"snacky-product-card__rating\">\n <span className=\"snacky-product-card__rating-icon\">{ratingIcon ?? <StarIcon width={16} height={16} />}</span>\n {rating} ({ratingCount})\n </span>\n <div className=\"snacky-product-card__actions snacky-product-card__actions--details\">\n {/* Solid heart when favorited, outline when not, mirroring index.html's fav-s/fav-o swap. */}\n <IconButton variant=\"secondary\" icon={favoriteIcon ?? (favorited ? <HeartSolidIcon width={20} height={20} /> : <HeartOutlineIcon width={20} height={20} />)} selected={favorited} onClick={onFavoriteClick} ariaLabel=\"Favorite\" />\n <IconButton variant=\"secondary\" icon={shareIcon ?? <ShareIcon width={20} height={20} />} onClick={onShareClick} ariaLabel=\"Share\" />\n <IconButton variant=\"secondary\" icon={chatIcon ?? <ChatIcon width={20} height={20} />} onClick={onChatClick} ariaLabel=\"Chat with seller\" />\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n const { productName, imageUrl, price, rating, originalPrice, discountLabel, onAddToCart, cartIcon, ratingIcon, onClick, className } = props;\n return (\n <div\n className={cx('snacky-product-card', 'snacky-product-card--list', className)}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(e) => (e.key === 'Enter' || e.key === ' ') && onClick?.()}\n >\n <div className=\"snacky-product-card__image-wrap\">\n <img className=\"snacky-product-card__image\" src={imageUrl} alt={productName} />\n {discountLabel && (\n <span className=\"snacky-product-card__discount\">\n <DiscountTag label={discountLabel} />\n </span>\n )}\n </div>\n <p className=\"snacky-product-card__name\">{productName}</p>\n <div className=\"snacky-product-card__price-row\">\n <span className=\"snacky-product-card__price\">{price}</span>\n {originalPrice && <span className=\"snacky-product-card__original-price\">{originalPrice}</span>}\n </div>\n <div className=\"snacky-product-card__footer-row\">\n <span className=\"snacky-product-card__rating\">\n <span className=\"snacky-product-card__rating-icon\">{ratingIcon ?? <StarIcon width={16} height={16} />}</span>\n {rating}\n </span>\n <IconButton\n variant=\"primary\"\n icon={cartIcon ?? <CartAddIcon width={16} height={16} />}\n onClick={(e) => {\n e.stopPropagation();\n onAddToCart();\n }}\n ariaLabel=\"Add to cart\"\n />\n </div>\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './ImagePlaceholder.css';\n\nexport interface ImagePlaceholderProps {\n /** Match the width of the image slot this replaces. */\n width: number;\n /** Match the height of the image slot this replaces. */\n height: number;\n className?: string;\n}\n\n/**\n * Snacky Image Placeholder - a neutral \"no image yet\" state for any of this\n * package's required image slots (ProductCard, ProductImage, Avatar, the\n * Banner family, Illustration). This package ships no photography or\n * illustration artwork (see Illustration's own doc comment), so every image\n * prop is required rather than optional - pass this explicitly for a\n * genuinely empty state (a new product with no photo yet, a user with no\n * avatar) instead of inventing your own placeholder or leaving `src` empty,\n * which falls through to the browser's own broken-image icon.\n *\n * ```tsx\n * {photo ? (\n * <ProductCard imageUrl={photo} ... />\n * ) : (\n * <ImagePlaceholder width={152} height={128} />\n * )}\n * ```\n *\n * Standalone utility, not one of the 24 Figma-sourced components - there is\n * no Figma node for it. It exists to close a real integration gap without\n * reaching for stock imagery this package has no rights to bundle. Apply\n * your own border radius via `className` to match whatever slot it fills.\n */\nexport function ImagePlaceholder({ width, height, className }: ImagePlaceholderProps) {\n const iconSize = Math.round(Math.min(width, height) * 0.32);\n return (\n <div\n className={cx('snacky-image-placeholder', className)}\n style={{ width, height }}\n role=\"img\"\n aria-label=\"No image\"\n >\n <svg\n width={iconSize}\n height={iconSize}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <polyline points=\"21 15 16 10 5 21\" />\n </svg>\n </div>\n );\n}\n"],"mappings":"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","names":["Button","icon","forwardRef","jsx","forwardRef","IconButton","icon","forwardRef","jsx","jsx","forwardRef","UploadButton","icon","forwardRef","jsx","jsxs","forwardRef","TextField","forwardRef","jsx","jsxs","forwardRef","SearchField","jsx","jsx","jsxs","jsx","jsxs","jsx","jsxs","icon","jsx","jsxs","jsx","useId","jsx","jsxs","useId","useId","jsx","jsxs","useId","jsx","jsxs","jsx","jsxs","jsx","account","balance","bell","cart","category","heart","history","home","truck","jsx","icon","jsx","jsxs","jsx","jsxs","points","balance","jsx","jsxs","icon","jsx","jsxs","jsx","jsxs","useId","useState","jsx","jsxs","useState","useId","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsx","jsx","jsxs","jsx","jsxs","productName","imageUrl","price","rating","originalPrice","discountLabel","ratingIcon","onClick","className","heart","jsx","jsxs"]}
1
+ {"version":3,"sources":["../src/theme/tokens.ts","../src/components/Button/Button.tsx","../src/utils/cx.ts","../src/components/IconButton/IconButton.tsx","../src/components/IconButton/UploadButton.tsx","../src/icons/outline.tsx","../src/components/Input/TextField.tsx","../src/components/Input/SearchField.tsx","../src/components/Input/OtpField.tsx","../src/components/Input/CopyField.tsx","../src/components/Input/ChatInput.tsx","../src/components/Input/AddressResult.tsx","../src/components/Chips/ProductChip.tsx","../src/components/Chips/FilterChip.tsx","../src/components/RadioButton/RadioButton.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Toggle/Toggle.tsx","../src/components/Navbar/Navbar.tsx","../src/components/Tab/Tab.tsx","../src/icons/solid.tsx","../src/icons/index.ts","../src/components/Header/Header.tsx","../src/components/Banner/Banner.tsx","../src/components/PageIndicator/PageIndicator.tsx","../src/components/Badge/Badge.tsx","../src/components/Callout/Callout.tsx","../src/components/List/List.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Modal/BottomSheet.tsx","../src/components/Section/Section.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Calendar/Calendar.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Illustration/Illustration.tsx","../src/components/ProductImage/ProductImage.tsx","../src/components/ProductCard/ProductCard.tsx","../src/components/ImagePlaceholder/ImagePlaceholder.tsx"],"sourcesContent":["// Generated from tokens.json by scripts/generate-react-tokens.js - do not hand-edit.\nimport type { CSSProperties } from 'react';\n\nexport const typography: Record<string, Record<string, CSSProperties>> = {\n h1: {\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '32px', fontWeight: 700, lineHeight: '36px', letterSpacing: '0.01em' },\n },\n h2: {\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '20px', fontWeight: 700, lineHeight: '36px', letterSpacing: '0.01em' },\n },\n h3: {\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '16px', fontWeight: 700, lineHeight: '36px', letterSpacing: '0.01em' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '16px', fontWeight: 400, lineHeight: '36px', letterSpacing: 'normal' },\n },\n body: {\n semibold: { fontFamily: 'Poppins, sans-serif', fontSize: '14px', fontWeight: 600, lineHeight: '24px', letterSpacing: 'normal' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '14px', fontWeight: 400, lineHeight: '24px', letterSpacing: 'normal' },\n },\n small: {\n semibold: { fontFamily: 'Poppins, sans-serif', fontSize: '12px', fontWeight: 600, lineHeight: '24px', letterSpacing: 'normal' },\n bold: { fontFamily: 'Poppins, sans-serif', fontSize: '12px', fontWeight: 700, lineHeight: '24px', letterSpacing: '0.01em' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '12px', fontWeight: 400, lineHeight: '24px', letterSpacing: 'normal' },\n },\n caption: {\n semibold: { fontFamily: 'Poppins, sans-serif', fontSize: '10px', fontWeight: 600, lineHeight: '23px', letterSpacing: '0.01em' },\n regular: { fontFamily: 'Poppins, sans-serif', fontSize: '10px', fontWeight: 400, lineHeight: '16px', letterSpacing: '0.01em' },\n },\n};\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Button.css';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary';\nexport type ButtonSize = 'default' | 'small';\n\nexport interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> {\n /** Hierarchy. Danger is a separate intent that layers onto any of these - it is not a fourth hierarchy. */\n variant?: ButtonVariant;\n /** Danger intent - a filled/outlined/text red treatment layered onto `variant`. */\n danger?: boolean;\n size?: ButtonSize;\n /** Optional leading icon or social logo slot - 24x24 on `default`, 20x20 on `small`. */\n icon?: ReactNode;\n children?: ReactNode;\n}\n\n/**\n * Snacky Button - Primary/Secondary/Tertiary hierarchy, each with an optional\n * Danger intent, in two sizes. Hover/pressed are real CSS pseudo-classes, not\n * JS-tracked state, matching the design system's documented interaction model.\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n { variant = 'primary', danger = false, size = 'default', icon, children, className, disabled, ...rest },\n ref\n) {\n return (\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n className={cx(\n 'snacky-btn',\n `snacky-btn--${variant}`,\n size === 'small' && 'snacky-btn--small',\n danger && 'snacky-btn--danger',\n icon != null && 'snacky-btn--with-icon',\n className\n )}\n {...rest}\n >\n {/* Icon is absolutely positioned at the left edge, matching the real\n Figma slot. The button reserves room for it via\n `.snacky-btn--with-icon`'s left padding so the (still centered)\n label doesn't render on top of it. */}\n {icon && <span className=\"snacky-btn__icon\">{icon}</span>}\n {children}\n </button>\n );\n});\n","export function cx(...parts: Array<string | false | null | undefined>): string {\n return parts.filter(Boolean).join(' ');\n}\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './IconButton.css';\n\nexport type IconButtonVariant = 'primary' | 'secondary' | 'tertiary';\n\nexport interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: IconButtonVariant;\n /** 32px circle with a 16px icon (default) or 24px circle with a full-size 24px icon (small), primary only. */\n size?: 'default' | 'small';\n icon: ReactNode;\n /** Toggled/favorited state on the Secondary variant - tints the icon with icon-active, fill unchanged. */\n selected?: boolean;\n /** Accessible label - required since the button has no visible text. */\n ariaLabel: string;\n}\n\n/**\n * Snacky Icon Button - compact circular touch target for a single icon.\n * Secondary doubles as a toggle control via `selected` (e.g. Favorite).\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n { variant = 'primary', size = 'default', icon, selected = false, ariaLabel, className, disabled, ...rest },\n ref\n) {\n return (\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-pressed={selected}\n className={cx(\n 'snacky-iconbtn',\n `snacky-iconbtn--${variant}`,\n size === 'small' && 'snacky-iconbtn--small',\n selected && 'snacky-iconbtn--selected',\n className\n )}\n {...rest}\n >\n <span className=\"snacky-iconbtn__icon\">{icon}</span>\n </button>\n );\n});\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { camera as CameraIcon } from '../../icons/outline.js';\nimport './UploadButton.css';\n\nexport interface UploadButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Defaults to the camera glyph Figma draws in this button (its `picture` icon). */\n icon?: ReactNode;\n ariaLabel?: string;\n}\n\n/** Snacky Upload Button - circular dashed-border image drop zone. */\nexport const UploadButton = forwardRef<HTMLButtonElement, UploadButtonProps>(function UploadButton(\n { icon = <CameraIcon />, ariaLabel = 'Upload image', className, ...rest },\n ref\n) {\n return (\n <button ref={ref} type=\"button\" aria-label={ariaLabel} className={cx('snacky-upload', className)} {...rest}>\n {icon}\n </button>\n );\n});\n","// Generated from assets/icons/icons.json by scripts/generate-icons.js - do not hand-edit.\n/*!\n * Icon artwork: UIcons by Flaticon (https://www.flaticon.com/uicons),\n * used under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) and\n * modified: exported from the Figma Community file and renamed to semantic\n * English names. This attribution must be retained when redistributing.\n * See NOTICE at the repo root for the full statement.\n */\nimport type { IconProps } from './types.js';\n\n/**\n * Outline icon set, exported from Figma's `Icon-outline` component set\n * (node 55:2062). These are filled outline shapes, NOT stroked paths: the\n * outline weight is baked into each shape, so they render with `fill` and\n * have no stroke width to set.\n *\n * Each icon keeps the viewBox Figma authored it at (16, 20 or 24 - the set\n * is not uniform) and defaults to rendering at that natural size.\n */\nfunction icon(viewBox: number, paths: Array<[string, string]>) {\n return function SnackyIcon({ width = viewBox, height = viewBox, color = 'currentColor', ...rest }: IconProps) {\n return (\n <svg width={width} height={height} viewBox={`0 0 ${viewBox} ${viewBox}`} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n {paths.map(([d, fillRule], i) => (\n <path\n key={i}\n d={d}\n fill={color}\n fillRule={fillRule as 'nonzero' | 'evenodd'}\n clipRule={fillRule as 'nonzero' | 'evenodd'}\n />\n ))}\n </svg>\n );\n };\n}\n\nexport const account = icon(20, [\n [\"M10 9.99994C10.9889 9.99994 11.9556 9.7067 12.7779 9.15729C13.6001 8.60788 14.241 7.82699 14.6194 6.91336C14.9978 5.99973 15.0969 4.99439 14.9039 4.02449C14.711 3.05458 14.2348 2.16367 13.5355 1.46441C12.8363 0.765145 11.9454 0.288941 10.9755 0.0960148C10.0055 -0.0969113 9.00021 0.00210539 8.08658 0.380544C7.17295 0.758982 6.39206 1.39984 5.84265 2.22209C5.29324 3.04434 5 4.01103 5 4.99994C5.00132 6.32562 5.52853 7.59662 6.46593 8.53401C7.40332 9.47141 8.67432 9.99862 10 9.99994ZM10 1.66661C10.6593 1.66661 11.3037 1.8621 11.8519 2.22838C12.4001 2.59465 12.8273 3.11524 13.0796 3.72433C13.3319 4.33342 13.3979 5.00364 13.2693 5.65024C13.1407 6.29685 12.8232 6.89079 12.357 7.35696C11.8908 7.82314 11.2969 8.14061 10.6503 8.26923C10.0037 8.39784 9.33348 8.33183 8.72439 8.07954C8.1153 7.82725 7.59471 7.40001 7.22844 6.85184C6.86216 6.30368 6.66667 5.65921 6.66667 4.99994C6.66667 4.11589 7.01786 3.26804 7.64298 2.64292C8.2681 2.0178 9.11595 1.66661 10 1.66661Z\", \"nonzero\"],\n [\"M10 11.6672C8.01155 11.6694 6.10518 12.4603 4.69914 13.8663C3.29309 15.2724 2.50221 17.1787 2.5 19.1672C2.5 19.3882 2.5878 19.6002 2.74408 19.7564C2.90036 19.9127 3.11232 20.0005 3.33333 20.0005C3.55435 20.0005 3.76631 19.9127 3.92259 19.7564C4.07887 19.6002 4.16667 19.3882 4.16667 19.1672C4.16667 17.6201 4.78125 16.1363 5.87521 15.0424C6.96917 13.9484 8.4529 13.3338 10 13.3338C11.5471 13.3338 13.0308 13.9484 14.1248 15.0424C15.2188 16.1363 15.8333 17.6201 15.8333 19.1672C15.8333 19.3882 15.9211 19.6002 16.0774 19.7564C16.2337 19.9127 16.4457 20.0005 16.6667 20.0005C16.8877 20.0005 17.0996 19.9127 17.2559 19.7564C17.4122 19.6002 17.5 19.3882 17.5 19.1672C17.4978 17.1787 16.7069 15.2724 15.3009 13.8663C13.8948 12.4603 11.9884 11.6694 10 11.6672Z\", \"nonzero\"],\n]);\n\nexport const address = icon(24, [\n [\"M12.0001 6C11.209 6 10.4356 6.2346 9.77781 6.67412C9.12002 7.11365 8.60733 7.73836 8.30458 8.46927C8.00182 9.20017 7.92261 10.0044 8.07695 10.7804C8.23129 11.5563 8.61226 12.269 9.17167 12.8284C9.73108 13.3878 10.4438 13.7688 11.2197 13.9231C11.9957 14.0775 12.7999 13.9983 13.5308 13.6955C14.2617 13.3928 14.8864 12.8801 15.326 12.2223C15.7655 11.5645 16.0001 10.7911 16.0001 10C16.0001 8.93913 15.5787 7.92172 14.8285 7.17157C14.0784 6.42143 13.061 6 12.0001 6ZM12.0001 12C11.6045 12 11.2179 11.8827 10.889 11.6629C10.5601 11.4432 10.3037 11.1308 10.1523 10.7654C10.001 10.3999 9.96135 9.99778 10.0385 9.60982C10.1157 9.22186 10.3062 8.86549 10.5859 8.58579C10.8656 8.30608 11.222 8.1156 11.6099 8.03843C11.9979 7.96126 12.4 8.00087 12.7655 8.15224C13.1309 8.30362 13.4433 8.55996 13.663 8.88886C13.8828 9.21776 14.0001 9.60444 14.0001 10C14.0001 10.5304 13.7894 11.0391 13.4143 11.4142C13.0392 11.7893 12.5305 12 12.0001 12Z\", \"nonzero\"],\n [\"M11.9999 24.0003C11.1579 24.0046 10.327 23.8071 9.57698 23.4243C8.82694 23.0416 8.17951 22.4847 7.68892 21.8003C3.87792 16.5433 1.94492 12.5913 1.94492 10.0533C1.94492 7.38653 3.00428 4.829 4.88996 2.94332C6.77564 1.05764 9.33316 -0.00172043 11.9999 -0.00172043C14.6667 -0.00172043 17.2242 1.05764 19.1099 2.94332C20.9956 4.829 22.0549 7.38653 22.0549 10.0533C22.0549 12.5913 20.1219 16.5433 16.3109 21.8003C15.8203 22.4847 15.1729 23.0416 14.4229 23.4243C13.6728 23.8071 12.842 24.0046 11.9999 24.0003ZM11.9999 2.18128C9.91233 2.18366 7.91093 3.01401 6.43479 4.49015C4.95864 5.9663 4.1283 7.9677 4.12592 10.0553C4.12592 12.0653 6.01892 15.7823 9.45492 20.5213C9.74661 20.9231 10.1293 21.2501 10.5716 21.4755C11.014 21.701 11.5034 21.8186 11.9999 21.8186C12.4964 21.8186 12.9859 21.701 13.4282 21.4755C13.8705 21.2501 14.2532 20.9231 14.5449 20.5213C17.9809 15.7823 19.8739 12.0653 19.8739 10.0553C19.8715 7.9677 19.0412 5.9663 17.565 4.49015C16.0889 3.01401 14.0875 2.18366 11.9999 2.18128Z\", \"nonzero\"],\n]);\n\nexport const back = icon(24, [\n [\"M19 11H9L12.29 7.70999C12.3837 7.61703 12.4581 7.50643 12.5089 7.38457C12.5597 7.26271 12.5858 7.132 12.5858 6.99999C12.5858 6.86798 12.5597 6.73727 12.5089 6.61541C12.4581 6.49356 12.3837 6.38295 12.29 6.28999C12.1026 6.10374 11.8492 5.9992 11.585 5.9992C11.3208 5.9992 11.0674 6.10374 10.88 6.28999L6.59 10.59C6.21441 10.9633 6.00223 11.4704 6 12C6.00487 12.5261 6.21684 13.0291 6.59 13.4L10.88 17.7C10.9732 17.7926 11.0838 17.8659 11.2054 17.9157C11.3269 17.9656 11.4571 17.991 11.5885 17.9905C11.7199 17.9901 11.8499 17.9637 11.9712 17.913C12.0924 17.8623 12.2024 17.7882 12.295 17.695C12.3876 17.6017 12.4609 17.4912 12.5107 17.3696C12.5606 17.248 12.586 17.1178 12.5856 16.9864C12.5851 16.855 12.5588 16.725 12.508 16.6038C12.4573 16.4826 12.3832 16.3726 12.29 16.28L9 13H19C19.2652 13 19.5196 12.8946 19.7071 12.7071C19.8946 12.5196 20 12.2652 20 12C20 11.7348 19.8946 11.4804 19.7071 11.2929C19.5196 11.1053 19.2652 11 19 11Z\", \"nonzero\"],\n]);\n\nexport const balance = icon(24, [\n [\"M19 20.0003H5C3.67441 19.9987 2.40356 19.4714 1.46622 18.5341C0.528882 17.5967 0.00158786 16.3259 0 15.0003L0 9.00031C0.00158786 7.67471 0.528882 6.40386 1.46622 5.46653C2.40356 4.52919 3.67441 4.00189 5 4.00031H19C20.3256 4.00189 21.5964 4.52919 22.5338 5.46653C23.4711 6.40386 23.9984 7.67471 24 9.00031V15.0003C23.9984 16.3259 23.4711 17.5967 22.5338 18.5341C21.5964 19.4714 20.3256 19.9987 19 20.0003ZM5 6.00031C4.20435 6.00031 3.44129 6.31638 2.87868 6.87898C2.31607 7.44159 2 8.20466 2 9.00031V15.0003C2 15.796 2.31607 16.559 2.87868 17.1216C3.44129 17.6842 4.20435 18.0003 5 18.0003H19C19.7956 18.0003 20.5587 17.6842 21.1213 17.1216C21.6839 16.559 22 15.796 22 15.0003V9.00031C22 8.20466 21.6839 7.44159 21.1213 6.87898C20.5587 6.31638 19.7956 6.00031 19 6.00031H5ZM12 16.0003C11.2089 16.0003 10.4355 15.7657 9.77772 15.3262C9.11992 14.8867 8.60723 14.2619 8.30448 13.531C8.00173 12.8001 7.92252 11.9959 8.07686 11.2199C8.2312 10.444 8.61216 9.73129 9.17157 9.17188C9.73098 8.61247 10.4437 8.2315 11.2196 8.07716C11.9956 7.92282 12.7998 8.00204 13.5307 8.30479C14.2616 8.60754 14.8864 9.12023 15.3259 9.77802C15.7654 10.4358 16 11.2092 16 12.0003C16 13.0612 15.5786 14.0786 14.8284 14.8287C14.0783 15.5789 13.0609 16.0003 12 16.0003ZM12 10.0003C11.6044 10.0003 11.2178 10.1176 10.8889 10.3374C10.56 10.5571 10.3036 10.8695 10.1522 11.2349C10.0009 11.6004 9.96126 12.0025 10.0384 12.3905C10.1156 12.7784 10.3061 13.1348 10.5858 13.4145C10.8655 13.6942 11.2219 13.8847 11.6098 13.9619C11.9978 14.039 12.3999 13.9994 12.7654 13.8481C13.1308 13.6967 13.4432 13.4403 13.6629 13.1114C13.8827 12.7825 14 12.3959 14 12.0003C14 11.4699 13.7893 10.9612 13.4142 10.5861C13.0391 10.211 12.5304 10.0003 12 10.0003ZM5 8.00031C4.80222 8.00031 4.60888 8.05895 4.44443 8.16884C4.27998 8.27872 4.15181 8.4349 4.07612 8.61762C4.00043 8.80035 3.98063 9.00141 4.01921 9.1954C4.0578 9.38938 4.15304 9.56756 4.29289 9.70741C4.43275 9.84726 4.61093 9.94251 4.80491 9.98109C4.99889 10.0197 5.19996 9.99987 5.38268 9.92418C5.56541 9.8485 5.72159 9.72032 5.83147 9.55588C5.94135 9.39143 6 9.19809 6 9.00031C6 8.73509 5.89464 8.48073 5.70711 8.2932C5.51957 8.10566 5.26522 8.00031 5 8.00031ZM18 9.00031C18 9.19809 18.0586 9.39143 18.1685 9.55588C18.2784 9.72032 18.4346 9.8485 18.6173 9.92418C18.8 9.99987 19.0011 10.0197 19.1951 9.98109C19.3891 9.94251 19.5673 9.84726 19.7071 9.70741C19.847 9.56756 19.9422 9.38938 19.9808 9.1954C20.0194 9.00141 19.9996 8.80035 19.9239 8.61762C19.8482 8.4349 19.72 8.27872 19.5556 8.16884C19.3911 8.05895 19.1978 8.00031 19 8.00031C18.7348 8.00031 18.4804 8.10566 18.2929 8.2932C18.1054 8.48073 18 8.73509 18 9.00031ZM5 14.0003C4.80222 14.0003 4.60888 14.059 4.44443 14.1688C4.27998 14.2787 4.15181 14.4349 4.07612 14.6176C4.00043 14.8003 3.98063 15.0014 4.01921 15.1954C4.0578 15.3894 4.15304 15.5676 4.29289 15.7074C4.43275 15.8473 4.61093 15.9425 4.80491 15.9811C4.99889 16.0197 5.19996 15.9999 5.38268 15.9242C5.56541 15.8485 5.72159 15.7203 5.83147 15.5559C5.94135 15.3914 6 15.1981 6 15.0003C6 14.7351 5.89464 14.4807 5.70711 14.2932C5.51957 14.1057 5.26522 14.0003 5 14.0003ZM18 15.0003C18 15.1981 18.0586 15.3914 18.1685 15.5559C18.2784 15.7203 18.4346 15.8485 18.6173 15.9242C18.8 15.9999 19.0011 16.0197 19.1951 15.9811C19.3891 15.9425 19.5673 15.8473 19.7071 15.7074C19.847 15.5676 19.9422 15.3894 19.9808 15.1954C20.0194 15.0014 19.9996 14.8003 19.9239 14.6176C19.8482 14.4349 19.72 14.2787 19.5556 14.1688C19.3911 14.059 19.1978 14.0003 19 14.0003C18.7348 14.0003 18.4804 14.1057 18.2929 14.2932C18.1054 14.4807 18 14.7351 18 15.0003Z\", \"nonzero\"],\n]);\n\nexport const bell = icon(20, [\n [\"M18.7958 11.385L17.2124 5.68829C16.7483 4.01941 15.7397 2.55353 14.3469 1.52369C12.954 0.493838 11.2569 -0.0408839 9.52531 0.00451617C7.79369 0.0499163 6.12693 0.672833 4.78998 1.77425C3.45302 2.87567 2.52259 4.39238 2.14659 6.08329L0.920757 11.5958C0.785353 12.2049 0.788484 12.8367 0.929918 13.4444C1.07135 14.0521 1.34748 14.6203 1.73791 15.1071C2.12834 15.5938 2.62311 15.9867 3.18568 16.2566C3.74826 16.5265 4.36428 16.6666 4.98826 16.6666H5.91659C6.10785 17.6085 6.61887 18.4554 7.36304 19.0636C8.10722 19.6719 9.03879 20.0041 9.99992 20.0041C10.9611 20.0041 11.8926 19.6719 12.6368 19.0636C13.381 18.4554 13.892 17.6085 14.0833 16.6666H14.7816C15.4239 16.6667 16.0576 16.5182 16.6331 16.2328C17.2085 15.9474 17.7102 15.5329 18.0989 15.0215C18.4877 14.5101 18.7529 13.9158 18.8739 13.285C18.9949 12.6542 18.9685 12.0039 18.7966 11.385H18.7958ZM9.99992 18.3333C9.48471 18.3312 8.98273 18.1699 8.56267 17.8716C8.14262 17.5732 7.82499 17.1524 7.65326 16.6666H12.3466C12.1749 17.1524 11.8572 17.5732 11.4372 17.8716C11.0171 18.1699 10.5151 18.3312 9.99992 18.3333ZM16.7716 14.0125C16.5394 14.3205 16.2385 14.5702 15.8929 14.7416C15.5473 14.913 15.1665 15.0015 14.7808 15H4.98826C4.61391 14.9999 4.24436 14.9158 3.90687 14.7538C3.56939 14.5918 3.2726 14.3561 3.03839 14.064C2.80419 13.772 2.63856 13.4311 2.55373 13.0665C2.46889 12.7019 2.46702 12.3229 2.54826 11.9575L3.77326 6.44413C4.06855 5.11597 4.79935 3.92463 5.84947 3.0595C6.89959 2.19437 8.20878 1.7051 9.5689 1.66947C10.929 1.63384 12.262 2.05389 13.356 2.86285C14.45 3.67181 15.2422 4.82325 15.6066 6.13413L17.1899 11.8308C17.2945 12.2019 17.3112 12.5924 17.2386 12.9711C17.166 13.3498 17.0061 13.7063 16.7716 14.0125Z\", \"nonzero\"],\n]);\n\nexport const calendar = icon(24, [\n [\"M19 2H18V1C18 0.734784 17.8946 0.48043 17.7071 0.292893C17.5196 0.105357 17.2652 0 17 0C16.7348 0 16.4804 0.105357 16.2929 0.292893C16.1054 0.48043 16 0.734784 16 1V2H8V1C8 0.734784 7.89464 0.48043 7.70711 0.292893C7.51957 0.105357 7.26522 0 7 0C6.73478 0 6.48043 0.105357 6.29289 0.292893C6.10536 0.48043 6 0.734784 6 1V2H5C3.67441 2.00159 2.40356 2.52888 1.46622 3.46622C0.528882 4.40356 0.00158786 5.67441 0 7L0 19C0.00158786 20.3256 0.528882 21.5964 1.46622 22.5338C2.40356 23.4711 3.67441 23.9984 5 24H19C20.3256 23.9984 21.5964 23.4711 22.5338 22.5338C23.4711 21.5964 23.9984 20.3256 24 19V7C23.9984 5.67441 23.4711 4.40356 22.5338 3.46622C21.5964 2.52888 20.3256 2.00159 19 2ZM2 7C2 6.20435 2.31607 5.44129 2.87868 4.87868C3.44129 4.31607 4.20435 4 5 4H19C19.7956 4 20.5587 4.31607 21.1213 4.87868C21.6839 5.44129 22 6.20435 22 7V8H2V7ZM19 22H5C4.20435 22 3.44129 21.6839 2.87868 21.1213C2.31607 20.5587 2 19.7956 2 19V10H22V19C22 19.7956 21.6839 20.5587 21.1213 21.1213C20.5587 21.6839 19.7956 22 19 22Z\", \"nonzero\"],\n [\"M12 16.5C12.8284 16.5 13.5 15.8284 13.5 15C13.5 14.1716 12.8284 13.5 12 13.5C11.1716 13.5 10.5 14.1716 10.5 15C10.5 15.8284 11.1716 16.5 12 16.5Z\", \"nonzero\"],\n [\"M6.99982 16.5C7.82824 16.5 8.49982 15.8284 8.49982 15C8.49982 14.1716 7.82824 13.5 6.99982 13.5C6.17139 13.5 5.49982 14.1716 5.49982 15C5.49982 15.8284 6.17139 16.5 6.99982 16.5Z\", \"nonzero\"],\n [\"M17.0001 16.5C17.8285 16.5 18.5001 15.8284 18.5001 15C18.5001 14.1716 17.8285 13.5 17.0001 13.5C16.1717 13.5 15.5001 14.1716 15.5001 15C15.5001 15.8284 16.1717 16.5 17.0001 16.5Z\", \"nonzero\"],\n]);\n\nexport const camera = icon(24, [\n [\"M19 4H18.492L16.308 1.168C16.0265 0.805806 15.6663 0.512417 15.2547 0.310054C14.843 0.107691 14.3907 0.00166304 13.932 0L10.068 0C9.6093 0.00166304 9.15699 0.107691 8.74533 0.310054C8.33368 0.512417 7.97347 0.805806 7.692 1.168L5.508 4H5C3.67441 4.00159 2.40356 4.52888 1.46622 5.46622C0.528882 6.40356 0.00158786 7.67441 0 9L0 19C0.00158786 20.3256 0.528882 21.5964 1.46622 22.5338C2.40356 23.4711 3.67441 23.9984 5 24H19C20.3256 23.9984 21.5964 23.4711 22.5338 22.5338C23.4711 21.5964 23.9984 20.3256 24 19V9C23.9984 7.67441 23.4711 6.40356 22.5338 5.46622C21.5964 4.52888 20.3256 4.00159 19 4ZM9.276 2.39C9.36967 2.26905 9.48969 2.17106 9.62693 2.10348C9.76418 2.0359 9.91502 2.00051 10.068 2H13.932C14.085 2.00066 14.2357 2.03611 14.373 2.10368C14.5102 2.17125 14.6302 2.26916 14.724 2.39L15.966 4H8.034L9.276 2.39ZM22 19C22 19.7956 21.6839 20.5587 21.1213 21.1213C20.5587 21.6839 19.7956 22 19 22H5C4.20435 22 3.44129 21.6839 2.87868 21.1213C2.31607 20.5587 2 19.7956 2 19V9C2 8.20435 2.31607 7.44129 2.87868 6.87868C3.44129 6.31607 4.20435 6 5 6H19C19.7956 6 20.5587 6.31607 21.1213 6.87868C21.6839 7.44129 22 8.20435 22 9V19Z\", \"nonzero\"],\n [\"M11.9999 7.99991C10.8133 7.99991 9.65322 8.3518 8.66652 9.01109C7.67983 9.67038 6.91079 10.6075 6.45666 11.7038C6.00254 12.8002 5.88372 14.0066 6.11523 15.1705C6.34674 16.3343 6.91819 17.4034 7.7573 18.2426C8.59642 19.0817 9.66551 19.6531 10.8294 19.8846C11.9933 20.1161 13.1997 19.9973 14.296 19.5432C15.3924 19.0891 16.3295 18.32 16.9888 17.3333C17.648 16.3466 17.9999 15.1866 17.9999 13.9999C17.9984 12.4091 17.3657 10.8839 16.2408 9.75902C15.116 8.63415 13.5908 8.0015 11.9999 7.99991ZM11.9999 17.9999C11.2088 17.9999 10.4355 17.7653 9.77766 17.3258C9.11987 16.8863 8.60717 16.2615 8.30442 15.5306C8.00167 14.7997 7.92246 13.9955 8.0768 13.2195C8.23114 12.4436 8.6121 11.7309 9.17151 11.1715C9.73093 10.6121 10.4437 10.2311 11.2196 10.0768C11.9955 9.92243 12.7998 10.0016 13.5307 10.3044C14.2616 10.6071 14.8863 11.1198 15.3258 11.7776C15.7653 12.4354 15.9999 13.2088 15.9999 13.9999C15.9999 15.0608 15.5785 16.0782 14.8284 16.8283C14.0782 17.5785 13.0608 17.9999 11.9999 17.9999Z\", \"nonzero\"],\n]);\n\nexport const cart = icon(20, [\n [\"M18.9275 3.3975C18.6931 3.1162 18.3996 2.88996 18.068 2.73485C17.7363 2.57973 17.3745 2.49955 17.0083 2.5H3.535L3.5 2.2075C3.42837 1.59951 3.13615 1.03894 2.67874 0.632065C2.22133 0.225186 1.63052 0.000284828 1.01833 0L0.833333 0C0.61232 0 0.400358 0.0877974 0.244078 0.244078C0.0877974 0.400358 0 0.61232 0 0.833333C0 1.05435 0.0877974 1.26631 0.244078 1.42259C0.400358 1.57887 0.61232 1.66667 0.833333 1.66667H1.01833C1.22244 1.66669 1.41945 1.74163 1.57198 1.87726C1.72451 2.0129 1.82195 2.19979 1.84583 2.4025L2.9925 12.1525C3.11154 13.1665 3.59873 14.1015 4.36159 14.78C5.12445 15.4585 6.10988 15.8334 7.13083 15.8333H15.8333C16.0543 15.8333 16.2663 15.7455 16.4226 15.5893C16.5789 15.433 16.6667 15.221 16.6667 15C16.6667 14.779 16.5789 14.567 16.4226 14.4107C16.2663 14.2545 16.0543 14.1667 15.8333 14.1667H7.13083C6.61505 14.1652 6.11233 14.0043 5.69161 13.7059C5.27089 13.4075 4.95276 12.9863 4.78083 12.5H14.7142C15.6911 12.5001 16.637 12.1569 17.3865 11.5304C18.1361 10.9039 18.6417 10.0339 18.815 9.0725L19.4692 5.44417C19.5345 5.08417 19.5198 4.71422 19.4262 4.36053C19.3326 4.00684 19.1623 3.67806 18.9275 3.3975ZM17.8333 5.14833L17.1783 8.77667C17.0743 9.35417 16.7704 9.87666 16.3199 10.2527C15.8694 10.6287 15.301 10.8342 14.7142 10.8333H4.51583L3.73167 4.16667H17.0083C17.1308 4.16594 17.2518 4.19218 17.3629 4.24355C17.4741 4.29491 17.5725 4.37012 17.6513 4.46384C17.73 4.55756 17.7872 4.66748 17.8186 4.78578C17.8501 4.90409 17.8551 5.02787 17.8333 5.14833Z\", \"nonzero\"],\n [\"M5.83347 20.0005C6.75395 20.0005 7.50014 19.2543 7.50014 18.3339C7.50014 17.4134 6.75395 16.6672 5.83347 16.6672C4.913 16.6672 4.16681 17.4134 4.16681 18.3339C4.16681 19.2543 4.913 20.0005 5.83347 20.0005Z\", \"nonzero\"],\n [\"M14.1667 20.0005C15.0871 20.0005 15.8333 19.2543 15.8333 18.3339C15.8333 17.4134 15.0871 16.6672 14.1667 16.6672C13.2462 16.6672 12.5 17.4134 12.5 18.3339C12.5 19.2543 13.2462 20.0005 14.1667 20.0005Z\", \"nonzero\"],\n]);\n\nexport const cartAdd = icon(24, [\n [\"M6.99994 24.0006C8.1045 24.0006 8.99993 23.1052 8.99993 22.0006C8.99993 20.8961 8.1045 20.0006 6.99994 20.0006C5.89537 20.0006 4.99994 20.8961 4.99994 22.0006C4.99994 23.1052 5.89537 24.0006 6.99994 24.0006Z\", \"nonzero\"],\n [\"M17 24.0006C18.1046 24.0006 19 23.1052 19 22.0006C19 20.8961 18.1046 20.0006 17 20.0006C15.8954 20.0006 15 20.8961 15 22.0006C15 23.1052 15.8954 24.0006 17 24.0006Z\", \"nonzero\"],\n [\"M23 2.99999H21.0001V0.999992C21.0001 0.734776 20.8947 0.480422 20.7072 0.292886C20.5196 0.105349 20.2653 -7.62939e-06 20.0001 -7.62939e-06C19.7348 -7.62939e-06 19.4805 0.105349 19.2929 0.292886C19.1054 0.480422 19.0001 0.734776 19.0001 0.999992V2.99999H17.0001C16.7348 2.99999 16.4805 3.10535 16.293 3.29289C16.1054 3.48042 16.0001 3.73478 16.0001 3.99999C16.0001 4.26521 16.1054 4.51956 16.293 4.7071C16.4805 4.89464 16.7348 4.99999 17.0001 4.99999H19.0001V6.99999C19.0001 7.26521 19.1054 7.51956 19.2929 7.7071C19.4805 7.89464 19.7348 7.99999 20.0001 7.99999C20.2653 7.99999 20.5196 7.89464 20.7072 7.7071C20.8947 7.51956 21.0001 7.26521 21.0001 6.99999V4.99999H23C23.2653 4.99999 23.5196 4.89464 23.7072 4.7071C23.8947 4.51956 24 4.26521 24 3.99999C24 3.73478 23.8947 3.48042 23.7072 3.29289C23.5196 3.10535 23.2653 2.99999 23 2.99999Z\", \"nonzero\"],\n [\"M21.771 9.726C21.6417 9.70181 21.5089 9.70352 21.3803 9.73103C21.2516 9.75854 21.1297 9.81132 21.0216 9.88629C20.9136 9.96126 20.8214 10.0569 20.7506 10.1678C20.6798 10.2786 20.6316 10.4024 20.609 10.532C20.4843 11.2242 20.1203 11.8505 19.5808 12.3016C19.0412 12.7527 18.3603 12.9999 17.657 13H5.418L4.478 5H13C13.2652 5 13.5196 4.89464 13.7071 4.70711C13.8946 4.51957 14 4.26522 14 4C14 3.73478 13.8946 3.48043 13.7071 3.29289C13.5196 3.10536 13.2652 3 13 3H4.242L4.2 2.648C4.11382 1.9186 3.76306 1.24615 3.21419 0.758104C2.66532 0.270054 1.95647 0.000312836 1.222 0L1 0C0.734784 0 0.48043 0.105357 0.292893 0.292893C0.105357 0.48043 0 0.734784 0 1C0 1.26522 0.105357 1.51957 0.292893 1.70711C0.48043 1.89464 0.734784 2 1 2H1.222C1.46693 2.00003 1.70334 2.08996 1.88637 2.25272C2.06941 2.41547 2.18634 2.63975 2.215 2.883L3.591 14.583C3.73385 15.7998 4.31848 16.9218 5.23391 17.736C6.14934 18.5502 7.33185 19 8.557 19H19C19.2652 19 19.5196 18.8946 19.7071 18.7071C19.8946 18.5196 20 18.2652 20 18C20 17.7348 19.8946 17.4804 19.7071 17.2929C19.5196 17.1054 19.2652 17 19 17H8.557C7.93652 17.0001 7.33127 16.8078 6.82461 16.4497C6.31796 16.0915 5.93483 15.585 5.728 15H17.657C18.8291 15.0001 19.9641 14.5884 20.8635 13.8368C21.763 13.0852 22.3698 12.0415 22.578 10.888C22.6014 10.7587 22.599 10.6261 22.5711 10.4977C22.5432 10.3693 22.4902 10.2477 22.4153 10.1398C22.3403 10.0319 22.2449 9.93978 22.1343 9.86878C22.0238 9.79778 21.9003 9.74926 21.771 9.726Z\", \"nonzero\"],\n]);\n\nexport const category = icon(20, [\n [\"M5.83333 0H3.33333C2.44928 0 1.60143 0.35119 0.976311 0.976311C0.35119 1.60143 0 2.44928 0 3.33333L0 5.83333C0 6.71739 0.35119 7.56524 0.976311 8.19036C1.60143 8.81548 2.44928 9.16667 3.33333 9.16667H5.83333C6.71739 9.16667 7.56524 8.81548 8.19036 8.19036C8.81548 7.56524 9.16667 6.71739 9.16667 5.83333V3.33333C9.16667 2.44928 8.81548 1.60143 8.19036 0.976311C7.56524 0.35119 6.71739 0 5.83333 0V0ZM7.5 5.83333C7.5 6.27536 7.32441 6.69928 7.01184 7.01184C6.69928 7.32441 6.27536 7.5 5.83333 7.5H3.33333C2.89131 7.5 2.46738 7.32441 2.15482 7.01184C1.84226 6.69928 1.66667 6.27536 1.66667 5.83333V3.33333C1.66667 2.89131 1.84226 2.46738 2.15482 2.15482C2.46738 1.84226 2.89131 1.66667 3.33333 1.66667H5.83333C6.27536 1.66667 6.69928 1.84226 7.01184 2.15482C7.32441 2.46738 7.5 2.89131 7.5 3.33333V5.83333Z\", \"nonzero\"],\n [\"M16.6665 0H14.1665C13.2825 0 12.4346 0.35119 11.8095 0.976311C11.1844 1.60143 10.8332 2.44928 10.8332 3.33334V5.83334C10.8332 6.71739 11.1844 7.56524 11.8095 8.19036C12.4346 8.81548 13.2825 9.16667 14.1665 9.16667H16.6665C17.5506 9.16667 18.3984 8.81548 19.0235 8.19036C19.6487 7.56524 19.9998 6.71739 19.9998 5.83334V3.33334C19.9998 2.44928 19.6487 1.60143 19.0235 0.976311C18.3984 0.35119 17.5506 0 16.6665 0V0ZM18.3332 5.83334C18.3332 6.27537 18.1576 6.69929 17.845 7.01185C17.5325 7.32441 17.1085 7.50001 16.6665 7.50001H14.1665C13.7245 7.50001 13.3006 7.32441 12.988 7.01185C12.6754 6.69929 12.4999 6.27537 12.4999 5.83334V3.33334C12.4999 2.89131 12.6754 2.46738 12.988 2.15482C13.3006 1.84226 13.7245 1.66667 14.1665 1.66667H16.6665C17.1085 1.66667 17.5325 1.84226 17.845 2.15482C18.1576 2.46738 18.3332 2.89131 18.3332 3.33334V5.83334Z\", \"nonzero\"],\n [\"M5.83333 10.8333H3.33333C2.44928 10.8333 1.60143 11.1845 0.976311 11.8096C0.35119 12.4348 0 13.2826 0 14.1667L0 16.6667C0 17.5507 0.35119 18.3986 0.976311 19.0237C1.60143 19.6488 2.44928 20 3.33333 20H5.83333C6.71739 20 7.56524 19.6488 8.19036 19.0237C8.81548 18.3986 9.16667 17.5507 9.16667 16.6667V14.1667C9.16667 13.2826 8.81548 12.4348 8.19036 11.8096C7.56524 11.1845 6.71739 10.8333 5.83333 10.8333ZM7.5 16.6667C7.5 17.1087 7.32441 17.5326 7.01184 17.8452C6.69928 18.1577 6.27536 18.3333 5.83333 18.3333H3.33333C2.89131 18.3333 2.46738 18.1577 2.15482 17.8452C1.84226 17.5326 1.66667 17.1087 1.66667 16.6667V14.1667C1.66667 13.7246 1.84226 13.3007 2.15482 12.9882C2.46738 12.6756 2.89131 12.5 3.33333 12.5H5.83333C6.27536 12.5 6.69928 12.6756 7.01184 12.9882C7.32441 13.3007 7.5 13.7246 7.5 14.1667V16.6667Z\", \"nonzero\"],\n [\"M16.6665 10.8333H14.1665C13.2825 10.8333 12.4346 11.1845 11.8095 11.8096C11.1844 12.4348 10.8332 13.2826 10.8332 14.1667V16.6667C10.8332 17.5507 11.1844 18.3986 11.8095 19.0237C12.4346 19.6488 13.2825 20 14.1665 20H16.6665C17.5506 20 18.3984 19.6488 19.0235 19.0237C19.6487 18.3986 19.9998 17.5507 19.9998 16.6667V14.1667C19.9998 13.2826 19.6487 12.4348 19.0235 11.8096C18.3984 11.1845 17.5506 10.8333 16.6665 10.8333ZM18.3332 16.6667C18.3332 17.1087 18.1576 17.5326 17.845 17.8452C17.5325 18.1577 17.1085 18.3333 16.6665 18.3333H14.1665C13.7245 18.3333 13.3006 18.1577 12.988 17.8452C12.6754 17.5326 12.4999 17.1087 12.4999 16.6667V14.1667C12.4999 13.7246 12.6754 13.3007 12.988 12.9882C13.3006 12.6756 13.7245 12.5 14.1665 12.5H16.6665C17.1085 12.5 17.5325 12.6756 17.845 12.9882C18.1576 13.3007 18.3332 13.7246 18.3332 14.1667V16.6667Z\", \"nonzero\"],\n]);\n\nexport const chat = icon(24, [\n [\"M24 15.9999V20.9999C24 21.7956 23.6839 22.5586 23.1213 23.1213C22.5587 23.6839 21.7956 23.9999 21 23.9999H16C14.5971 23.9985 13.2192 23.6282 12.0047 22.9261C10.7901 22.224 9.78145 21.2149 9.08 19.9999C9.83387 19.9945 10.5852 19.9114 11.322 19.7519C11.8832 20.4536 12.595 21.02 13.4048 21.4091C14.2146 21.7982 15.1016 22.0002 16 21.9999H21C21.2652 21.9999 21.5196 21.8946 21.7071 21.707C21.8946 21.5195 22 21.2651 22 20.9999V15.9999C21.9998 15.1012 21.7972 14.214 21.4074 13.4042C21.0175 12.5944 20.4504 11.8827 19.748 11.3219C19.9088 10.5852 19.9933 9.83394 20 9.07993C21.215 9.78138 22.2241 10.79 22.9262 12.0046C23.6282 13.2192 23.9986 14.597 24 15.9999ZM17.977 9.65093C18.0705 8.36257 17.8856 7.06917 17.4348 5.85862C16.9841 4.64808 16.278 3.54875 15.3646 2.63535C14.4512 1.72194 13.3518 1.01586 12.1413 0.565084C10.9308 0.114309 9.63736 -0.0705986 8.349 0.0229271C6.06592 0.283659 3.95693 1.3701 2.41918 3.07767C0.881427 4.78524 0.0210272 6.9961 0 9.29393L0 14.3339C0 16.8659 1.507 17.9999 3 17.9999H8.7C10.9988 17.9801 13.211 17.1203 14.9198 15.5825C16.6286 14.0446 17.7159 11.9349 17.977 9.65093ZM13.95 4.05093C14.6599 4.76243 15.2088 5.61813 15.5593 6.56012C15.9099 7.5021 16.054 8.5084 15.982 9.51093C15.7686 11.2946 14.9105 12.9387 13.5693 14.1339C12.2282 15.329 10.4964 15.9927 8.7 15.9999H3C2.072 15.9999 2 14.7249 2 14.3339V9.29393C2.00834 7.4983 2.67265 5.76763 3.86792 4.42761C5.06319 3.08758 6.70699 2.23059 8.49 2.01793C8.656 2.00593 8.822 1.99993 8.988 1.99993C9.90927 1.99907 10.8217 2.17976 11.6731 2.53168C12.5245 2.88361 13.2982 3.39985 13.95 4.05093Z\", \"nonzero\"],\n]);\n\nexport const chevronDown = icon(24, [\n [\"M18.7099 8.21C18.6169 8.11627 18.5063 8.04187 18.3845 7.99111C18.2626 7.94034 18.1319 7.9142 17.9999 7.9142C17.8679 7.9142 17.7372 7.94034 17.6153 7.99111C17.4934 8.04187 17.3828 8.11627 17.2899 8.21L12.7099 12.79C12.6169 12.8837 12.5063 12.9581 12.3845 13.0089C12.2626 13.0596 12.1319 13.0858 11.9999 13.0858C11.8679 13.0858 11.7372 13.0596 11.6153 13.0089C11.4934 12.9581 11.3828 12.8837 11.2899 12.79L6.70988 8.21C6.61691 8.11627 6.50631 8.04187 6.38445 7.99111C6.26259 7.94034 6.13189 7.9142 5.99988 7.9142C5.86787 7.9142 5.73716 7.94034 5.6153 7.99111C5.49344 8.04187 5.38284 8.11627 5.28988 8.21C5.10363 8.39736 4.99908 8.65081 4.99908 8.915C4.99908 9.17918 5.10363 9.43263 5.28988 9.61999L9.87988 14.21C10.4424 14.7718 11.2049 15.0873 11.9999 15.0873C12.7949 15.0873 13.5574 14.7718 14.1199 14.21L18.7099 9.61999C18.8961 9.43263 19.0007 9.17918 19.0007 8.915C19.0007 8.65081 18.8961 8.39736 18.7099 8.21Z\", \"nonzero\"],\n]);\n\nexport const chevronRight = icon(24, [\n [\"M15.3998 9.88001L10.8098 5.29001C10.6224 5.10376 10.369 4.99921 10.1048 4.99921C9.84062 4.99921 9.58716 5.10376 9.3998 5.29001C9.30607 5.38297 9.23168 5.49357 9.18091 5.61543C9.13014 5.73729 9.104 5.86799 9.104 6.00001C9.104 6.13202 9.13014 6.26272 9.18091 6.38458C9.23168 6.50644 9.30607 6.61704 9.3998 6.71001L13.9998 11.29C14.0935 11.383 14.1679 11.4936 14.2187 11.6154C14.2695 11.7373 14.2956 11.868 14.2956 12C14.2956 12.132 14.2695 12.2627 14.2187 12.3846C14.1679 12.5064 14.0935 12.617 13.9998 12.71L9.3998 17.29C9.2115 17.477 9.10518 17.7311 9.10425 17.9965C9.10331 18.2618 9.20783 18.5167 9.3948 18.705C9.58178 18.8933 9.8359 18.9996 10.1013 19.0006C10.3666 19.0015 10.6215 18.897 10.8098 18.71L15.3998 14.12C15.9616 13.5575 16.2772 12.795 16.2772 12C16.2772 11.205 15.9616 10.4425 15.3998 9.88001Z\", \"nonzero\"],\n]);\n\nexport const chevronUp = icon(24, [\n [\"M17.9998 15.5C17.8682 15.5007 17.7377 15.4755 17.6159 15.4258C17.4941 15.376 17.3833 15.3027 17.2898 15.21L12.7098 10.62C12.6169 10.5263 12.5063 10.4519 12.3844 10.4011C12.2625 10.3503 12.1318 10.3242 11.9998 10.3242C11.8678 10.3242 11.7371 10.3503 11.6152 10.4011C11.4934 10.4519 11.3828 10.5263 11.2898 10.62L6.70982 15.21C6.52152 15.3983 6.26612 15.5041 5.99982 15.5041C5.73352 15.5041 5.47812 15.3983 5.28982 15.21C5.10152 15.0217 4.99573 14.7663 4.99573 14.5C4.99573 14.3681 5.0217 14.2376 5.07216 14.1157C5.12262 13.9939 5.19658 13.8832 5.28982 13.79L9.87982 9.21C10.4498 8.66243 11.2095 8.35663 11.9998 8.35663C12.7902 8.35663 13.5499 8.66243 14.1198 9.21L18.7098 13.79C18.8035 13.883 18.8779 13.9936 18.9287 14.1154C18.9795 14.2373 19.0056 14.368 19.0056 14.5C19.0056 14.632 18.9795 14.7627 18.9287 14.8846C18.8779 15.0064 18.8035 15.117 18.7098 15.21C18.6164 15.3027 18.5056 15.376 18.3837 15.4258C18.2619 15.4755 18.1314 15.5007 17.9998 15.5Z\", \"nonzero\"],\n]);\n\nexport const close = icon(24, [\n [\"M18 5.99998C17.8124 5.81251 17.5581 5.70719 17.293 5.70719C17.0278 5.70719 16.7735 5.81251 16.586 5.99998L12 10.586L7.41397 5.99998C7.22644 5.81251 6.97213 5.70719 6.70697 5.70719C6.44181 5.70719 6.1875 5.81251 5.99997 5.99998C5.8125 6.18751 5.70718 6.44181 5.70718 6.70698C5.70718 6.97214 5.8125 7.22645 5.99997 7.41398L10.586 12L5.99997 16.586C5.8125 16.7735 5.70718 17.0278 5.70718 17.293C5.70718 17.5581 5.8125 17.8125 5.99997 18C6.1875 18.1875 6.44181 18.2928 6.70697 18.2928C6.97213 18.2928 7.22644 18.1875 7.41397 18L12 13.414L16.586 18C16.7735 18.1875 17.0278 18.2928 17.293 18.2928C17.5581 18.2928 17.8124 18.1875 18 18C18.1874 17.8125 18.2928 17.5581 18.2928 17.293C18.2928 17.0278 18.1874 16.7735 18 16.586L13.414 12L18 7.41398C18.1874 7.22645 18.2928 6.97214 18.2928 6.70698C18.2928 6.44181 18.1874 6.18751 18 5.99998Z\", \"nonzero\"],\n]);\n\nexport const closeInput = icon(16, [\n [\"M10.6666 5.33342C10.5416 5.20844 10.3721 5.13823 10.1953 5.13823C10.0185 5.13823 9.84897 5.20844 9.72395 5.33342L7.99995 7.05742L6.27595 5.33342C6.15022 5.21198 5.98182 5.14479 5.80702 5.1463C5.63222 5.14782 5.46502 5.21794 5.34141 5.34154C5.21781 5.46515 5.14769 5.63236 5.14617 5.80715C5.14465 5.98195 5.21185 6.15035 5.33329 6.27609L7.05729 8.00009L5.33329 9.72409C5.21185 9.84982 5.14465 10.0182 5.14617 10.193C5.14769 10.3678 5.21781 10.535 5.34141 10.6586C5.46502 10.7822 5.63222 10.8524 5.80702 10.8539C5.98182 10.8554 6.15022 10.7882 6.27595 10.6668L7.99995 8.94275L9.72395 10.6668C9.84968 10.7882 10.0181 10.8554 10.1929 10.8539C10.3677 10.8524 10.5349 10.7822 10.6585 10.6586C10.7821 10.535 10.8522 10.3678 10.8537 10.193C10.8552 10.0182 10.7881 9.84982 10.6666 9.72409L8.94262 8.00009L10.6666 6.27609C10.7916 6.15107 10.8618 5.98153 10.8618 5.80475C10.8618 5.62798 10.7916 5.45844 10.6666 5.33342Z\", \"nonzero\"],\n [\"M8 0C6.41775 0 4.87104 0.469192 3.55544 1.34824C2.23985 2.22729 1.21447 3.47672 0.608967 4.93853C0.00346629 6.40034 -0.15496 8.00887 0.153721 9.56072C0.462403 11.1126 1.22433 12.538 2.34315 13.6569C3.46197 14.7757 4.88743 15.5376 6.43928 15.8463C7.99113 16.155 9.59966 15.9965 11.0615 15.391C12.5233 14.7855 13.7727 13.7602 14.6518 12.4446C15.5308 11.129 16 9.58225 16 8C15.9977 5.87897 15.1541 3.84547 13.6543 2.34568C12.1545 0.845886 10.121 0.00229405 8 0V0ZM8 14.6667C6.68146 14.6667 5.39253 14.2757 4.2962 13.5431C3.19987 12.8106 2.34539 11.7694 1.84081 10.5512C1.33622 9.33305 1.2042 7.99261 1.46144 6.6994C1.71867 5.40619 2.35361 4.21831 3.28596 3.28596C4.21831 2.35361 5.4062 1.71867 6.6994 1.46143C7.99261 1.2042 9.33305 1.33622 10.5512 1.8408C11.7694 2.34539 12.8106 3.19987 13.5431 4.2962C14.2757 5.39253 14.6667 6.68146 14.6667 8C14.6647 9.76752 13.9617 11.4621 12.7119 12.7119C11.4621 13.9617 9.76752 14.6647 8 14.6667Z\", \"nonzero\"],\n]);\n\nexport const creditCard = icon(24, [\n [\"M5.50006 17.0001C6.32849 17.0001 7.00006 16.3286 7.00006 15.5001C7.00006 14.6717 6.32849 14.0001 5.50006 14.0001C4.67163 14.0001 4.00006 14.6717 4.00006 15.5001C4.00006 16.3286 4.67163 17.0001 5.50006 17.0001Z\", \"nonzero\"],\n [\"M19 2.99999H5C3.67441 3.00158 2.40356 3.52887 1.46622 4.46621C0.528882 5.40355 0.00158786 6.6744 0 7.99999L0 16C0.00158786 17.3256 0.528882 18.5964 1.46622 19.5338C2.40356 20.4711 3.67441 20.9984 5 21H19C20.3256 20.9984 21.5964 20.4711 22.5338 19.5338C23.4711 18.5964 23.9984 17.3256 24 16V7.99999C23.9984 6.6744 23.4711 5.40355 22.5338 4.46621C21.5964 3.52887 20.3256 3.00158 19 2.99999ZM5 4.99999H19C19.7956 4.99999 20.5587 5.31606 21.1213 5.87867C21.6839 6.44128 22 7.20434 22 7.99999H2C2 7.20434 2.31607 6.44128 2.87868 5.87867C3.44129 5.31606 4.20435 4.99999 5 4.99999ZM19 19H5C4.20435 19 3.44129 18.6839 2.87868 18.1213C2.31607 17.5587 2 16.7956 2 16V9.99999H22V16C22 16.7956 21.6839 17.5587 21.1213 18.1213C20.5587 18.6839 19.7956 19 19 19Z\", \"nonzero\"],\n]);\n\nexport const document = icon(24, [\n [\"M19.535 3.12205L17.879 1.46405C17.4157 0.998363 16.8646 0.629189 16.2576 0.377895C15.6507 0.1266 14.9999 -0.00182547 14.343 5.0783e-05H8C6.67441 0.00163864 5.40356 0.528933 4.46622 1.46627C3.52888 2.40361 3.00159 3.67446 3 5.00005V19.0001C3.00159 20.3256 3.52888 21.5965 4.46622 22.5338C5.40356 23.4712 6.67441 23.9985 8 24.0001H16C17.3256 23.9985 18.5964 23.4712 19.5338 22.5338C20.4711 21.5965 20.9984 20.3256 21 19.0001V6.65705C21.0016 6.00024 20.873 5.34962 20.6215 4.74284C20.37 4.13607 20.0007 3.58518 19.535 3.12205ZM18.121 4.53605C18.2628 4.67737 18.3898 4.83285 18.5 5.00005H16V2.50005C16.1669 2.61137 16.3227 2.73863 16.465 2.88005L18.121 4.53605ZM19 19.0001C19 19.7957 18.6839 20.5588 18.1213 21.1214C17.5587 21.684 16.7956 22.0001 16 22.0001H8C7.20435 22.0001 6.44129 21.684 5.87868 21.1214C5.31607 20.5588 5 19.7957 5 19.0001V5.00005C5 4.2044 5.31607 3.44134 5.87868 2.87873C6.44129 2.31612 7.20435 2.00005 8 2.00005H14V5.00005C14 5.53048 14.2107 6.03919 14.5858 6.41427C14.9609 6.78934 15.4696 7.00005 16 7.00005H19V19.0001ZM16 9.00005C16.2652 9.00005 16.5196 9.10541 16.7071 9.29294C16.8946 9.48048 17 9.73484 17 10.0001C17 10.2653 16.8946 10.5196 16.7071 10.7072C16.5196 10.8947 16.2652 11.0001 16 11.0001H8C7.73478 11.0001 7.48043 10.8947 7.29289 10.7072C7.10536 10.5196 7 10.2653 7 10.0001C7 9.73484 7.10536 9.48048 7.29289 9.29294C7.48043 9.10541 7.73478 9.00005 8 9.00005H16ZM17 14.0001C17 14.2653 16.8946 14.5196 16.7071 14.7072C16.5196 14.8947 16.2652 15.0001 16 15.0001H8C7.73478 15.0001 7.48043 14.8947 7.29289 14.7072C7.10536 14.5196 7 14.2653 7 14.0001C7 13.7348 7.10536 13.4805 7.29289 13.2929C7.48043 13.1054 7.73478 13.0001 8 13.0001H16C16.2652 13.0001 16.5196 13.1054 16.7071 13.2929C16.8946 13.4805 17 13.7348 17 14.0001ZM16.808 17.4131C16.9634 17.6269 17.0279 17.8936 16.9872 18.1548C16.9466 18.4161 16.8041 18.6506 16.591 18.8071C15.5778 19.529 14.3778 19.9433 13.135 20.0001C12.4089 19.9966 11.7048 19.7501 11.135 19.3001C10.807 19.0751 10.682 19.0001 10.435 19.0001C9.76643 19.1035 9.13562 19.3769 8.603 19.7941C8.39175 19.9446 8.13024 20.0072 7.87369 19.9686C7.61715 19.93 7.38565 19.7932 7.22808 19.5871C7.07052 19.381 6.99922 19.1217 7.02925 18.864C7.05927 18.6063 7.18827 18.3704 7.389 18.2061C8.27018 17.522 9.32828 17.1036 10.439 17.0001C11.1051 17.0107 11.7491 17.2409 12.271 17.6551C12.5089 17.869 12.8152 17.9913 13.135 18.0001C13.9527 17.9388 14.739 17.6594 15.412 17.1911C15.6266 17.0355 15.8942 16.9715 16.1559 17.0131C16.4177 17.0548 16.6522 17.1986 16.808 17.4131Z\", \"nonzero\"],\n]);\n\nexport const edit = icon(24, [\n [\"M22.8531 1.148C22.1733 0.469196 21.2518 0.0879364 20.2911 0.0879364C19.3304 0.0879364 18.409 0.469196 17.7291 1.148L1.46514 17.412C0.999388 17.8751 0.630099 18.426 0.378635 19.0328C0.127171 19.6396 -0.00147591 20.2902 0.000137052 20.947V23C0.000137052 23.2652 0.105494 23.5196 0.29303 23.7071C0.480567 23.8946 0.734921 24 1.00014 24H3.05314C3.7099 24.0019 4.36051 23.8734 4.96729 23.6221C5.57408 23.3708 6.12499 23.0017 6.58814 22.536L22.8531 6.271C23.5316 5.59119 23.9127 4.66997 23.9127 3.7095C23.9127 2.74903 23.5316 1.8278 22.8531 1.148ZM5.17414 21.122C4.61014 21.6822 3.8481 21.9977 3.05314 22H2.00014V20.947C1.99913 20.5529 2.07629 20.1625 2.22717 19.7985C2.37806 19.4344 2.59965 19.1039 2.87914 18.826L15.2221 6.483L17.5221 8.783L5.17414 21.122ZM21.4381 4.857L18.9321 7.364L16.6321 5.069L19.1391 2.562C19.2902 2.41131 19.4694 2.29184 19.6666 2.21041C19.8638 2.12898 20.0751 2.08719 20.2884 2.08742C20.5017 2.08765 20.713 2.1299 20.91 2.21176C21.107 2.29362 21.2859 2.41348 21.4366 2.5645C21.5873 2.71552 21.7068 2.89474 21.7882 3.09193C21.8697 3.28913 21.9114 3.50042 21.9112 3.71377C21.911 3.92711 21.8687 4.13832 21.7869 4.33533C21.705 4.53235 21.5852 4.71131 21.4341 4.862L21.4381 4.857Z\", \"nonzero\"],\n]);\n\nexport const eye = icon(20, [\n [\"M19.3924 7.84905C18.0999 5.74405 15.1599 2.21238 9.99989 2.21238C4.83989 2.21238 1.89989 5.74405 0.60739 7.84905C0.20783 8.49531 -0.0038147 9.24009 -0.0038147 9.99988C-0.0038147 10.7597 0.20783 11.5045 0.60739 12.1507C1.89989 14.2557 4.83989 17.7874 9.99989 17.7874C15.1599 17.7874 18.0999 14.2557 19.3924 12.1507C19.792 11.5045 20.0036 10.7597 20.0036 9.99988C20.0036 9.24009 19.792 8.49531 19.3924 7.84905ZM17.9716 11.2782C16.8616 13.0832 14.3491 16.1207 9.99989 16.1207C5.65072 16.1207 3.13822 13.0832 2.02822 11.2782C1.79084 10.8941 1.6651 10.4514 1.6651 9.99988C1.6651 9.54832 1.79084 9.10568 2.02822 8.72155C3.13822 6.91655 5.65072 3.87905 9.99989 3.87905C14.3491 3.87905 16.8616 6.91322 17.9716 8.72155C18.2089 9.10568 18.3347 9.54832 18.3347 9.99988C18.3347 10.4514 18.2089 10.8941 17.9716 11.2782Z\", \"nonzero\"],\n [\"M9.99983 5.8332C9.17574 5.8332 8.37016 6.07757 7.68495 6.53541C6.99975 6.99325 6.4657 7.64399 6.15033 8.40535C5.83497 9.16671 5.75245 10.0045 5.91322 10.8127C6.074 11.621 6.47083 12.3634 7.05355 12.9461C7.63627 13.5289 8.3787 13.9257 9.18695 14.0865C9.99521 14.2472 10.833 14.1647 11.5943 13.8494C12.3557 13.534 13.0064 12.9999 13.4643 12.3147C13.9221 11.6295 14.1665 10.824 14.1665 9.99987C14.1652 8.8952 13.7258 7.83617 12.9446 7.05505C12.1635 6.27393 11.1045 5.83452 9.99983 5.8332ZM9.99983 12.4999C9.50538 12.4999 9.02203 12.3532 8.6109 12.0785C8.19978 11.8038 7.87935 11.4134 7.69013 10.9566C7.50091 10.4998 7.4514 9.99709 7.54787 9.51214C7.64433 9.02719 7.88243 8.58173 8.23206 8.2321C8.58169 7.88247 9.02715 7.64437 9.5121 7.5479C9.99706 7.45144 10.4997 7.50095 10.9565 7.69017C11.4134 7.87939 11.8038 8.19982 12.0785 8.61094C12.3532 9.02206 12.4998 9.50541 12.4998 9.99987C12.4998 10.6629 12.2364 11.2988 11.7676 11.7676C11.2988 12.2365 10.6629 12.4999 9.99983 12.4999Z\", \"nonzero\"],\n]);\n\nexport const eyeOff = icon(20, [\n [\"M19.3924 7.84901C18.6401 6.61712 17.6912 5.51672 16.5833 4.59151L18.9166 2.25818C19.0684 2.10101 19.1524 1.89051 19.1505 1.67201C19.1486 1.45351 19.0609 1.2445 18.9064 1.09C18.7519 0.93549 18.5429 0.847849 18.3244 0.84595C18.1059 0.844051 17.8954 0.928047 17.7383 1.07985L15.2008 3.62068C13.6277 2.68636 11.8294 2.1994 9.99992 2.21235C4.84075 2.21235 1.90075 5.74401 0.607421 7.84901C0.207861 8.49527 -0.00378418 9.24005 -0.00378418 9.99984C-0.00378418 10.7596 0.207861 11.5044 0.607421 12.1507C1.35972 13.3826 2.30866 14.483 3.41659 15.4082L1.08325 17.7415C1.00366 17.8184 0.940177 17.9103 0.896503 18.012C0.852829 18.1137 0.82984 18.223 0.828879 18.3337C0.827917 18.4443 0.849002 18.5541 0.890903 18.6565C0.932803 18.7589 0.994681 18.8519 1.07292 18.9302C1.15117 19.0084 1.24421 19.0703 1.34663 19.1122C1.44904 19.1541 1.55877 19.1752 1.66942 19.1742C1.78007 19.1733 1.88942 19.1503 1.99109 19.1066C2.09276 19.0629 2.18471 18.9994 2.26159 18.9198L4.80492 16.3765C6.37598 17.3107 8.17215 17.7985 9.99992 17.7873C15.1591 17.7873 18.0991 14.2557 19.3924 12.1507C19.792 11.5044 20.0036 10.7596 20.0036 9.99984C20.0036 9.24005 19.792 8.49527 19.3924 7.84901ZM2.02742 11.2782C1.79003 10.894 1.6643 10.4514 1.6643 9.99984C1.6643 9.54828 1.79003 9.10564 2.02742 8.72151C3.13909 6.91651 5.65159 3.87901 9.99992 3.87901C11.3835 3.87126 12.7476 4.20471 13.9716 4.84985L12.2941 6.52735C11.494 5.99618 10.5348 5.75818 9.57928 5.85372C8.62372 5.94926 7.73064 6.37246 7.05159 7.05151C6.37254 7.73057 5.94933 8.62364 5.85379 9.57921C5.75825 10.5348 5.99626 11.494 6.52742 12.294L4.60242 14.219C3.58167 13.3938 2.71062 12.399 2.02742 11.2782ZM12.4999 9.99984C12.4999 10.6629 12.2365 11.2988 11.7677 11.7676C11.2988 12.2365 10.663 12.4998 9.99992 12.4998C9.62868 12.4984 9.26259 12.4129 8.92909 12.2498L12.2499 8.92901C12.413 9.26251 12.4985 9.62861 12.4999 9.99984ZM7.49992 9.99984C7.49992 9.3368 7.76331 8.70092 8.23215 8.23208C8.70099 7.76324 9.33688 7.49985 9.99992 7.49985C10.3712 7.50128 10.7373 7.58675 11.0708 7.74985L7.74992 11.0707C7.58683 10.7372 7.50136 10.3711 7.49992 9.99984ZM17.9724 11.2782C16.8608 13.0832 14.3483 16.1207 9.99992 16.1207C8.61636 16.1284 7.25222 15.795 6.02825 15.1498L7.70575 13.4723C8.50581 14.0035 9.465 14.2415 10.4206 14.146C11.3761 14.0504 12.2692 13.6272 12.9483 12.9482C13.6273 12.2691 14.0505 11.376 14.146 10.4205C14.2416 9.46492 14.0036 8.50573 13.4724 7.70568L15.3974 5.78068C16.4182 6.60591 17.2892 7.60072 17.9724 8.72151C18.2098 9.10564 18.3355 9.54828 18.3355 9.99984C18.3355 10.4514 18.2098 10.894 17.9724 11.2782Z\", \"nonzero\"],\n]);\n\nexport const heart = icon(24, [\n [\"M17.5 1.91653C16.3739 1.93405 15.2724 2.24839 14.3068 2.82781C13.3411 3.40722 12.5453 4.2312 12 5.21653C11.4546 4.2312 10.6589 3.40722 9.69323 2.82781C8.72753 2.24839 7.62604 1.93405 6.49999 1.91653C4.70493 1.99453 3.01369 2.77979 1.79577 4.10077C0.577848 5.42175 -0.0677617 7.17106 -1.11917e-05 8.96653C-1.11917e-05 13.5135 4.78599 18.4795 8.79999 21.8465C9.69621 22.5997 10.8293 23.0126 12 23.0126C13.1706 23.0126 14.3038 22.5997 15.2 21.8465C19.214 18.4795 24 13.5135 24 8.96653C24.0677 7.17106 23.4221 5.42175 22.2042 4.10077C20.9863 2.77979 19.295 1.99453 17.5 1.91653ZM13.915 20.3165C13.379 20.7679 12.7007 21.0154 12 21.0154C11.2992 21.0154 10.621 20.7679 10.085 20.3165C4.94699 16.0055 1.99999 11.8695 1.99999 8.96653C1.93163 7.70125 2.36635 6.46026 3.20935 5.51423C4.05235 4.5682 5.23522 3.99388 6.49999 3.91653C7.76476 3.99388 8.94763 4.5682 9.79063 5.51423C10.6336 6.46026 11.0683 7.70125 11 8.96653C11 9.23175 11.1053 9.4861 11.2929 9.67364C11.4804 9.86118 11.7348 9.96653 12 9.96653C12.2652 9.96653 12.5196 9.86118 12.7071 9.67364C12.8946 9.4861 13 9.23175 13 8.96653C12.9316 7.70125 13.3664 6.46026 14.2094 5.51423C15.0523 4.5682 16.2352 3.99388 17.5 3.91653C18.7648 3.99388 19.9476 4.5682 20.7906 5.51423C21.6336 6.46026 22.0683 7.70125 22 8.96653C22 11.8695 19.053 16.0055 13.915 20.3125V20.3165Z\", \"nonzero\"],\n]);\n\nexport const help = icon(24, [\n [\"M12.0032 15.1479C11.697 15.1479 11.4033 15.0363 11.1867 14.8377C10.9702 14.6391 10.8485 14.3697 10.8485 14.0888C10.8914 13.3967 11.121 12.7251 11.5166 12.1345C11.9122 11.5439 12.4614 11.0526 13.1151 10.7047C13.5422 10.49 13.8841 10.1565 14.0916 9.75225C14.2991 9.34801 14.3614 8.89383 14.2697 8.45502C14.1808 8.03589 13.9574 7.65067 13.6283 7.34874C13.2991 7.04681 12.8792 6.84192 12.4223 6.76034C12.0888 6.70387 11.7458 6.71549 11.4177 6.79438C11.0896 6.87326 10.7845 7.01747 10.524 7.21677C10.2635 7.41606 10.0541 7.66553 9.91067 7.94746C9.7672 8.22938 9.6932 8.53684 9.69391 8.84797C9.69391 9.12888 9.57226 9.39828 9.35573 9.59692C9.13919 9.79555 8.84551 9.90714 8.53928 9.90714C8.23305 9.90714 7.93936 9.79555 7.72283 9.59692C7.50629 9.39828 7.38464 9.12888 7.38464 8.84797C7.38453 8.22915 7.53219 7.61783 7.81724 7.05697C8.1023 6.49612 8.51783 5.99935 9.03462 5.60161C9.52851 5.22285 10.1033 4.94299 10.722 4.77999C11.3408 4.61698 11.9898 4.57444 12.6275 4.65507C13.2653 4.73571 13.8776 4.93775 14.4251 5.24823C14.9727 5.55871 15.4435 5.97077 15.8073 6.45797C16.1711 6.94517 16.4198 7.49676 16.5375 8.07733C16.6553 8.6579 16.6394 9.25463 16.4909 9.82924C16.3424 10.4038 16.0646 10.9436 15.6754 11.414C15.2861 11.8843 14.7939 12.2748 14.2305 12.5604C13.9385 12.7254 13.6906 12.9484 13.505 13.2129C13.3194 13.4774 13.2007 13.7767 13.1578 14.0888C13.1578 14.3697 13.0362 14.6391 12.8196 14.8377C12.6031 15.0363 12.3094 15.1479 12.0032 15.1479ZM12.0032 17.2663C11.7748 17.2663 11.5516 17.3284 11.3617 17.4448C11.1718 17.5612 11.0238 17.7266 10.9364 17.9201C10.849 18.1137 10.8262 18.3266 10.8707 18.5321C10.9153 18.7375 11.0253 18.9263 11.1867 19.0744C11.3482 19.2225 11.5539 19.3234 11.7779 19.3643C12.0019 19.4051 12.2341 19.3842 12.445 19.304C12.656 19.2238 12.8363 19.0881 12.9632 18.9139C13.0901 18.7397 13.1578 18.5349 13.1578 18.3254C13.1578 18.0445 13.0362 17.7751 12.8196 17.5765C12.6031 17.3779 12.3094 17.2663 12.0032 17.2663Z\", \"nonzero\"],\n [\"M12 1.84615C6.39219 1.84615 1.84615 6.39219 1.84615 12C1.84615 17.6078 6.39219 22.1538 12 22.1538C17.6078 22.1538 22.1538 17.6078 22.1538 12C22.1538 6.39219 17.6078 1.84615 12 1.84615ZM0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z\", \"evenodd\"],\n]);\n\nexport const history = icon(20, [\n [\"M14.1668 11.6667C14.1668 11.8877 14.079 12.0996 13.9227 12.2559C13.7665 12.4122 13.5545 12.5 13.3335 12.5H6.66681C6.4458 12.5 6.23383 12.4122 6.07755 12.2559C5.92127 12.0996 5.83348 11.8877 5.83348 11.6667C5.83348 11.4456 5.92127 11.2337 6.07755 11.0774C6.23383 10.9211 6.4458 10.8333 6.66681 10.8333H13.3335C13.5545 10.8333 13.7665 10.9211 13.9227 11.0774C14.079 11.2337 14.1668 11.4456 14.1668 11.6667ZM10.8335 14.1667H6.66681C6.4458 14.1667 6.23383 14.2545 6.07755 14.4107C5.92127 14.567 5.83348 14.779 5.83348 15C5.83348 15.221 5.92127 15.433 6.07755 15.5892C6.23383 15.7455 6.4458 15.8333 6.66681 15.8333H10.8335C11.0545 15.8333 11.2665 15.7455 11.4227 15.5892C11.579 15.433 11.6668 15.221 11.6668 15C11.6668 14.779 11.579 14.567 11.4227 14.4107C11.2665 14.2545 11.0545 14.1667 10.8335 14.1667ZM18.3335 8.73749V15.8333C18.3322 16.938 17.8927 17.997 17.1116 18.7781C16.3305 19.5593 15.2715 19.9987 14.1668 20H5.83348C4.72881 19.9987 3.66977 19.5593 2.88866 18.7781C2.10754 17.997 1.66813 16.938 1.66681 15.8333V4.16666C1.66813 3.06199 2.10754 2.00295 2.88866 1.22184C3.66977 0.440724 4.72881 0.0013119 5.83348 -1.13103e-05H9.59598C10.3623 -0.00198375 11.1215 0.147978 11.8295 0.441205C12.5375 0.734431 13.1804 1.1651 13.721 1.70832L16.6243 4.61332C17.1678 5.15352 17.5988 5.7962 17.8922 6.50413C18.1856 7.21206 18.3356 7.97117 18.3335 8.73749ZM12.5426 2.88666C12.2804 2.63262 11.9859 2.41409 11.6668 2.23666V5.83332C11.6668 6.05434 11.7546 6.2663 11.9109 6.42258C12.0672 6.57886 12.2791 6.66666 12.5001 6.66666H16.0968C15.9193 6.34765 15.7004 6.05344 15.446 5.79166L12.5426 2.88666ZM16.6668 8.73749C16.6668 8.59999 16.6401 8.46832 16.6276 8.33332H12.5001C11.8371 8.33332 11.2012 8.06993 10.7324 7.60109C10.2635 7.13225 10.0001 6.49636 10.0001 5.83332V1.70582C9.86514 1.69332 9.73264 1.66666 9.59598 1.66666H5.83348C5.17043 1.66666 4.53455 1.93005 4.06571 2.39889C3.59687 2.86773 3.33348 3.50361 3.33348 4.16666V15.8333C3.33348 16.4964 3.59687 17.1322 4.06571 17.6011C4.53455 18.0699 5.17043 18.3333 5.83348 18.3333H14.1668C14.8299 18.3333 15.4657 18.0699 15.9346 17.6011C16.4034 17.1322 16.6668 16.4964 16.6668 15.8333V8.73749Z\", \"nonzero\"],\n]);\n\nexport const home = icon(20, [\n [\"M19.2677 7.55743L12.9469 1.23577C12.1646 0.455759 11.1049 0.017746 10.0002 0.017746C8.89548 0.017746 7.83582 0.455759 7.05353 1.23577L0.732693 7.55743C0.499714 7.78892 0.315001 8.06435 0.189262 8.36776C0.0635225 8.67116 -0.000742228 8.99651 0.000193172 9.32493V17.5058C0.000193172 18.1688 0.263585 18.8047 0.732426 19.2735C1.20127 19.7424 1.83715 20.0058 2.50019 20.0058H17.5002C18.1632 20.0058 18.7991 19.7424 19.268 19.2735C19.7368 18.8047 20.0002 18.1688 20.0002 17.5058V9.32493C20.0011 8.99651 19.9369 8.67116 19.8111 8.36776C19.6854 8.06435 19.5007 7.78892 19.2677 7.55743ZM12.5002 18.3391H7.50019V15.0608C7.50019 14.3977 7.76359 13.7618 8.23243 13.293C8.70127 12.8242 9.33715 12.5608 10.0002 12.5608C10.6632 12.5608 11.2991 12.8242 11.768 13.293C12.2368 13.7618 12.5002 14.3977 12.5002 15.0608V18.3391ZM18.3335 17.5058C18.3335 17.7268 18.2457 17.9387 18.0895 18.095C17.9332 18.2513 17.7212 18.3391 17.5002 18.3391H14.1669V15.0608C14.1669 13.9557 13.7279 12.8959 12.9465 12.1145C12.1651 11.3331 11.1053 10.8941 10.0002 10.8941C8.89513 10.8941 7.83532 11.3331 7.05392 12.1145C6.27251 12.8959 5.83353 13.9557 5.83353 15.0608V18.3391H2.50019C2.27918 18.3391 2.06722 18.2513 1.91094 18.095C1.75466 17.9387 1.66686 17.7268 1.66686 17.5058V9.32493C1.66763 9.10408 1.75535 8.89242 1.91103 8.73577L8.23186 2.4166C8.70161 1.94904 9.33741 1.68655 10.0002 1.68655C10.663 1.68655 11.2988 1.94904 11.7685 2.4166L18.0894 8.73827C18.2444 8.89431 18.3321 9.10495 18.3335 9.32493V17.5058Z\", \"nonzero\"],\n]);\n\nexport const key = icon(24, [\n [\"M16.495 0.000392914C18.3052 0.00155258 20.054 0.657415 21.4185 1.84695C22.7831 3.03649 23.6713 4.67943 23.9194 6.4726C24.1675 8.26578 23.7586 10.0882 22.7683 11.6035C21.7779 13.1188 20.2729 14.2248 18.531 14.7174C17.2648 15.08 15.9247 15.0965 14.65 14.7654L6.74196 22.6714C6.32215 23.0941 5.82258 23.4293 5.27224 23.6574C4.72189 23.8855 4.13172 24.0021 3.53596 24.0004C2.5984 23.9996 1.69947 23.6268 1.03651 22.9638C0.373554 22.3009 0.000757217 21.402 -3.8147e-05 20.4644C-0.00158882 19.8686 0.114979 19.2784 0.342922 18.728C0.570866 18.1775 0.905663 17.6777 1.32796 17.2574L1.99996 16.5854C2.37597 16.212 2.88402 16.0018 3.41396 16.0004H4.99996V15.0004C4.99996 14.47 5.21068 13.9613 5.58575 13.5862C5.96082 13.2111 6.46953 13.0004 6.99996 13.0004H7.99996V11.4144C7.99925 11.1517 8.05068 10.8914 8.15127 10.6487C8.25186 10.406 8.39961 10.1856 8.58596 10.0004L9.23596 9.35039C8.903 8.0763 8.91923 6.73605 9.28296 5.47039C9.69225 4.02839 10.5226 2.74138 11.6678 1.77418C12.813 0.806988 14.2208 0.203634 15.711 0.0413933C15.9714 0.0143242 16.2331 0.000638962 16.495 0.000392914ZM16.495 13.0004C17.5188 13.0014 18.5226 12.7166 19.3934 12.178C20.2641 11.6394 20.9673 10.8685 21.4237 9.95201C21.88 9.0355 22.0715 8.0098 21.9766 6.99036C21.8816 5.97092 21.504 4.99822 20.8862 4.18175C20.2685 3.36528 19.435 2.73747 18.4798 2.36897C17.5246 2.00047 16.4854 1.90593 15.4794 2.09598C14.4733 2.28603 13.5403 2.75312 12.7853 3.44469C12.0303 4.13625 11.4833 5.02483 11.206 6.01039C10.894 7.09386 10.9289 8.24781 11.306 9.31039C11.3675 9.48785 11.3778 9.67905 11.3357 9.8621C11.2936 10.0451 11.2008 10.2126 11.068 10.3454L9.99996 11.4144V13.0004C9.99996 13.5308 9.78925 14.0395 9.41417 14.4146C9.0391 14.7897 8.53039 15.0004 7.99996 15.0004H6.99996V16.0004C6.99996 16.5308 6.78925 17.0395 6.41418 17.4146C6.0391 17.7897 5.5304 18.0004 4.99996 18.0004H3.41396L2.74196 18.6724C2.506 18.9072 2.31894 19.1865 2.19158 19.4941C2.06422 19.8017 1.99909 20.1315 1.99996 20.4644C2.00023 20.8715 2.162 21.2619 2.44979 21.5499C2.73757 21.8378 3.12784 21.9999 3.53496 22.0004C3.8681 22.0012 4.1981 21.936 4.50586 21.8084C4.81362 21.6809 5.09304 21.4936 5.32796 21.2574L13.659 12.9274C13.7919 12.7945 13.9596 12.7018 14.1429 12.6599C14.3261 12.618 14.5175 12.6285 14.695 12.6904C15.2749 12.8946 15.8851 12.9994 16.5 13.0004H16.495ZM19 6.00039C19 5.80261 18.9413 5.60927 18.8314 5.44482C18.7215 5.28037 18.5654 5.1522 18.3826 5.07651C18.1999 5.00083 17.9989 4.98102 17.8049 5.01961C17.6109 5.05819 17.4327 5.15343 17.2929 5.29329C17.153 5.43314 17.0578 5.61132 17.0192 5.8053C16.9806 5.99928 17.0004 6.20035 17.0761 6.38308C17.1518 6.5658 17.2799 6.72198 17.4444 6.83186C17.6088 6.94175 17.8022 7.00039 18 7.00039C18.2652 7.00039 18.5195 6.89504 18.7071 6.7075C18.8946 6.51996 19 6.26561 19 6.00039Z\", \"nonzero\"],\n]);\n\nexport const lock = icon(24, [\n [\"M18.9999 8.424V7C18.9999 5.14348 18.2624 3.36301 16.9497 2.05025C15.6369 0.737498 13.8564 0 11.9999 0C10.1434 0 8.36292 0.737498 7.05016 2.05025C5.73741 3.36301 4.99991 5.14348 4.99991 7V8.424C4.10927 8.81271 3.3512 9.45252 2.81841 10.2652C2.28561 11.0779 2.00119 12.0282 1.99991 13V19C2.0015 20.3256 2.52879 21.5964 3.46613 22.5338C4.40347 23.4711 5.67431 23.9984 6.99991 24H16.9999C18.3255 23.9984 19.5964 23.4711 20.5337 22.5338C21.471 21.5964 21.9983 20.3256 21.9999 19V13C21.9986 12.0282 21.7142 11.0779 21.1814 10.2652C20.6486 9.45252 19.8905 8.81271 18.9999 8.424ZM6.99991 7C6.99991 5.67392 7.52669 4.40215 8.46437 3.46447C9.40206 2.52678 10.6738 2 11.9999 2C13.326 2 14.5978 2.52678 15.5354 3.46447C16.4731 4.40215 16.9999 5.67392 16.9999 7V8H6.99991V7ZM19.9999 19C19.9999 19.7956 19.6838 20.5587 19.1212 21.1213C18.5586 21.6839 17.7956 22 16.9999 22H6.99991C6.20426 22 5.4412 21.6839 4.87859 21.1213C4.31598 20.5587 3.99991 19.7956 3.99991 19V13C3.99991 12.2044 4.31598 11.4413 4.87859 10.8787C5.4412 10.3161 6.20426 10 6.99991 10H16.9999C17.7956 10 18.5586 10.3161 19.1212 10.8787C19.6838 11.4413 19.9999 12.2044 19.9999 13V19Z\", \"nonzero\"],\n [\"M11.9999 13.9997C11.7347 13.9997 11.4804 14.105 11.2928 14.2926C11.1053 14.4801 10.9999 14.7345 10.9999 14.9997V16.9997C10.9999 17.2649 11.1053 17.5192 11.2928 17.7068C11.4804 17.8943 11.7347 17.9997 11.9999 17.9997C12.2652 17.9997 12.5195 17.8943 12.7071 17.7068C12.8946 17.5192 13 17.2649 13 16.9997V14.9997C13 14.7345 12.8946 14.4801 12.7071 14.2926C12.5195 14.105 12.2652 13.9997 11.9999 13.9997Z\", \"nonzero\"],\n]);\n\nexport const logout = icon(24, [\n [\"M11.3193 22H6.43331C3.98931 22 2.00031 20.011 2.00031 17.565V6.436C2.00031 3.99 3.98931 2 6.43331 2H11.3083C13.7543 2 15.7443 3.99 15.7443 6.436V7.368C15.7443 7.782 15.4083 8.118 14.9943 8.118C14.5803 8.118 14.2443 7.782 14.2443 7.368V6.436C14.2443 4.816 12.9273 3.5 11.3083 3.5H6.43331C4.81631 3.5 3.50031 4.816 3.50031 6.436V17.565C3.50031 19.184 4.81631 20.5 6.43331 20.5H11.3193C12.9313 20.5 14.2443 19.188 14.2443 17.576V16.633C14.2443 16.219 14.5803 15.883 14.9943 15.883C15.4083 15.883 15.7443 16.219 15.7443 16.633V17.576C15.7443 20.016 13.7583 22 11.3193 22Z\", \"evenodd\"],\n [\"M6.4333 2.34999C4.1828 2.34999 2.3503 4.18309 2.3503 6.43599V17.565C2.3503 19.8178 4.1827 21.65 6.4333 21.65H11.3193C13.5652 21.65 15.3943 19.8225 15.3943 17.576V16.633C15.3943 16.4123 15.215 16.233 14.9943 16.233C14.7736 16.233 14.5943 16.4123 14.5943 16.633V17.576C14.5943 19.3815 13.1244 20.85 11.3193 20.85H6.4333C4.62284 20.85 3.1503 19.3771 3.1503 17.565V6.43599C3.1503 4.62293 4.62277 3.14999 6.4333 3.14999H11.3083C13.1205 3.14999 14.5943 4.62262 14.5943 6.43599V7.36799C14.5943 7.58869 14.7736 7.76799 14.9943 7.76799C15.215 7.76799 15.3943 7.58869 15.3943 7.36799V6.43599C15.3943 4.18329 13.561 2.34999 11.3083 2.34999H6.4333ZM1.6503 6.43599C1.6503 3.7969 3.79579 1.64999 6.4333 1.64999H11.3083C13.9476 1.64999 16.0943 3.79669 16.0943 6.43599V7.36799C16.0943 7.97529 15.6016 8.46799 14.9943 8.46799C14.387 8.46799 13.8943 7.97529 13.8943 7.36799V6.43599C13.8943 5.00937 12.7341 3.84999 11.3083 3.84999H6.4333C5.00983 3.84999 3.8503 5.00906 3.8503 6.43599V17.565C3.8503 18.9909 5.00975 20.15 6.4333 20.15H11.3193C12.7382 20.15 13.8943 18.9945 13.8943 17.576V16.633C13.8943 16.0257 14.387 15.533 14.9943 15.533C15.6016 15.533 16.0943 16.0257 16.0943 16.633V17.576C16.0943 20.2094 13.9514 22.35 11.3193 22.35H6.4333C3.7959 22.35 1.6503 20.2042 1.6503 17.565V6.43599Z\", \"evenodd\"],\n [\"M21.7871 12.75H9.74609C9.33209 12.75 8.99609 12.414 8.99609 12C8.99609 11.586 9.33209 11.25 9.74609 11.25H21.7871C22.2011 11.25 22.5371 11.586 22.5371 12C22.5371 12.414 22.2011 12.75 21.7871 12.75Z\", \"evenodd\"],\n [\"M9.74609 11.6C9.52539 11.6 9.34609 11.7793 9.34609 12C9.34609 12.2207 9.52539 12.4 9.74609 12.4H21.7871C22.0078 12.4 22.1871 12.2207 22.1871 12C22.1871 11.7793 22.0078 11.6 21.7871 11.6H9.74609ZM8.64609 12C8.64609 11.3927 9.13879 10.9 9.74609 10.9H21.7871C22.3944 10.9 22.8871 11.3927 22.8871 12C22.8871 12.6073 22.3944 13.1 21.7871 13.1H9.74609C9.13879 13.1 8.64609 12.6073 8.64609 12Z\", \"evenodd\"],\n [\"M18.8594 15.666C18.6674 15.666 18.4744 15.593 18.3284 15.445C18.0364 15.151 18.0374 14.677 18.3304 14.385L20.7244 12L18.3304 9.61599C18.0374 9.32399 18.0354 8.84999 18.3284 8.55599C18.6204 8.26199 19.0944 8.26199 19.3884 8.55399L22.3164 11.469C22.4584 11.609 22.5374 11.801 22.5374 12C22.5374 12.199 22.4584 12.391 22.3164 12.531L19.3884 15.447C19.2424 15.593 19.0504 15.666 18.8594 15.666Z\", \"evenodd\"],\n [\"M19.1417 8.80222C18.9838 8.64556 18.7315 8.64681 18.5767 8.80264C18.4206 8.95927 18.421 9.21201 18.5774 9.36799C18.5773 9.36796 18.5774 9.36802 18.5774 9.36799L21.2204 11.9999L18.5775 14.6329C18.5775 14.6329 18.5775 14.6329 18.5775 14.6329C18.4216 14.7883 18.4205 15.0411 18.5767 15.1984L18.5776 15.1992C18.6542 15.2768 18.7558 15.316 18.8594 15.316C18.9616 15.316 19.0634 15.2771 19.1409 15.1995L22.0707 12.2818C22.1449 12.2086 22.1874 12.1068 22.1874 12C22.1874 11.8932 22.1449 11.7914 22.0707 11.7182L22.0695 11.717L19.1417 8.80222C19.1417 8.80225 19.1416 8.80218 19.1417 8.80222ZM18.0803 8.30914C18.5095 7.87722 19.205 7.8785 19.6351 8.30566L22.5621 11.2198C22.5619 11.2195 22.5624 11.22 22.5621 11.2198C22.7715 11.4265 22.8874 11.7091 22.8874 12C22.8874 12.2909 22.7722 12.5728 22.5628 12.7795C22.5626 12.7798 22.5631 12.7793 22.5628 12.7795L19.6359 15.6945C19.6358 15.6945 19.636 15.6944 19.6359 15.6945C19.4215 15.9088 19.1391 16.016 18.8594 16.016C18.5792 16.016 18.295 15.9093 18.0796 15.6912C17.6523 15.2605 17.6535 14.5655 18.0833 14.1371L20.2284 12L18.0834 9.864C17.654 9.43604 17.6506 8.74049 18.0803 8.30914Z\", \"evenodd\"],\n]);\n\nexport const map = icon(24, [\n [\"M11.9988 12C12.79 12 13.5633 11.7654 14.2211 11.3259C14.8789 10.8863 15.3916 10.2616 15.6944 9.53073C15.9971 8.79982 16.0763 7.99556 15.922 7.21963C15.7676 6.44371 15.3867 5.73098 14.8273 5.17157C14.2679 4.61215 13.5551 4.23119 12.7792 4.07685C12.0033 3.92251 11.199 4.00172 10.4681 4.30447C9.7372 4.60722 9.11248 5.11992 8.67296 5.77771C8.23343 6.43551 7.99884 7.20887 7.99884 7.99999C7.99884 9.06086 8.42026 10.0783 9.17041 10.8284C9.92055 11.5786 10.938 12 11.9988 12ZM11.9988 5.99999C12.3944 5.99999 12.7811 6.11729 13.11 6.33705C13.4389 6.55682 13.6952 6.86917 13.8466 7.23463C13.998 7.60008 14.0376 8.00221 13.9604 8.39017C13.8832 8.77814 13.6928 9.1345 13.413 9.41421C13.1333 9.69391 12.777 9.88439 12.389 9.96156C12.0011 10.0387 11.5989 9.99913 11.2335 9.84775C10.868 9.69638 10.5557 9.44003 10.3359 9.11113C10.1161 8.78223 9.99884 8.39555 9.99884 7.99999C9.99884 7.46956 10.2095 6.96085 10.5846 6.58578C10.9597 6.21071 11.4684 5.99999 11.9988 5.99999ZM20.6588 9.15699L19.9398 8.91799C20.0692 7.79792 19.9604 6.66314 19.6204 5.58808C19.2805 4.51302 18.7172 3.52196 17.9673 2.67988C17.2175 1.83781 16.2982 1.16375 15.2696 0.701906C14.241 0.24006 13.1264 0.000859852 11.9988 -7.62939e-06C10.8566 0.00043334 9.72771 0.245686 8.68825 0.719227C7.64879 1.19277 6.7229 1.8836 5.97296 2.74517C5.22302 3.60674 4.66645 4.61904 4.34075 5.71386C4.01505 6.80868 3.92778 7.9606 4.08484 9.09199C3.12787 9.27043 2.24296 9.72191 1.53684 10.392C1.04801 10.8567 0.659405 11.4166 0.394913 12.037C0.130422 12.6575 -0.00436608 13.3255 -0.001165 14V18.075C0.0009366 19.1563 0.352627 20.208 1.00143 21.073C1.65022 21.9381 2.56135 22.5702 3.59884 22.875L6.46884 23.775C6.9509 23.925 7.45297 24.0009 7.95784 24C8.41583 23.9994 8.87163 23.9368 9.31284 23.814L15.0928 22.104C15.6078 21.9635 16.1509 21.9635 16.6658 22.104L19.0528 22.904C19.6411 23.0472 20.2543 23.055 20.846 22.9267C21.4377 22.7985 21.9926 22.5376 22.4689 22.1637C22.9451 21.7898 23.3303 21.3127 23.5953 20.7683C23.8603 20.2239 23.9983 19.6265 23.9988 19.021V13.872C23.9966 12.8374 23.6744 11.8288 23.0764 10.9845C22.4785 10.1402 21.634 9.50154 20.6588 9.15599V9.15699ZM7.75684 3.76199C8.31309 3.20348 8.97417 2.76031 9.70212 2.45792C10.4301 2.15553 11.2106 1.99987 11.9988 1.99987C12.7871 1.99987 13.5676 2.15553 14.2956 2.45792C15.0235 2.76031 15.6846 3.20348 16.2408 3.76199C17.363 4.89114 17.9938 6.41781 17.9958 8.00973C17.9979 9.60165 17.3711 11.1299 16.2518 12.262L12.6988 15.717C12.5134 15.8988 12.264 16.0007 12.0043 16.0007C11.7446 16.0007 11.4953 15.8988 11.3098 15.717L7.75684 12.277C6.63231 11.1454 6.00114 9.61483 6.00114 8.01949C6.00114 6.42415 6.63231 4.8936 7.75684 3.76199ZM21.9988 19.021C21.9994 19.3239 21.931 19.6229 21.7986 19.8953C21.6662 20.1677 21.4734 20.4063 21.2348 20.593C21.0094 20.7742 20.7469 20.9035 20.4659 20.9718C20.1849 21.0401 19.8922 21.0456 19.6088 20.988L17.2638 20.2C16.3768 19.9452 15.4368 19.9396 14.5468 20.184L8.76284 21.892C8.20711 22.0453 7.61899 22.0352 7.06884 21.863L4.17484 20.963C3.54849 20.7819 2.99779 20.4025 2.60543 19.8817C2.21307 19.361 2.00022 18.727 1.99884 18.075V14C1.99659 13.5958 2.07704 13.1954 2.23526 12.8234C2.39347 12.4514 2.6261 12.1157 2.91884 11.837C3.37709 11.4003 3.96085 11.1183 4.58784 11.031C4.99094 12.0302 5.59122 12.9379 6.35284 13.7L9.91984 17.153C10.4773 17.6989 11.2266 18.0046 12.0068 18.0046C12.7871 18.0046 13.5363 17.6989 14.0938 17.153L17.6568 13.69C18.4546 12.889 19.0726 11.9274 19.4698 10.869L20.0068 11.047C20.5892 11.2557 21.093 11.6389 21.4495 12.1445C21.806 12.6501 21.9978 13.2534 21.9988 13.872V19.021Z\", \"nonzero\"],\n]);\n\nexport const messageSquare = icon(24, [\n [\"M20 0H4C2.93913 0 1.92172 0.421427 1.17157 1.17157C0.421427 1.92172 0 2.93913 0 4L0 16C0 17.0609 0.421427 18.0783 1.17157 18.8284C1.92172 19.5786 2.93913 20 4 20H6.9L11.351 23.763C11.5316 23.9158 11.7605 23.9997 11.997 23.9997C12.2335 23.9997 12.4624 23.9158 12.643 23.763L17.1 20H20C21.0609 20 22.0783 19.5786 22.8284 18.8284C23.5786 18.0783 24 17.0609 24 16V4C24 2.93913 23.5786 1.92172 22.8284 1.17157C22.0783 0.421427 21.0609 0 20 0ZM22 16C22 16.5304 21.7893 17.0391 21.4142 17.4142C21.0391 17.7893 20.5304 18 20 18H17.1C16.6273 18.0001 16.1699 18.1677 15.809 18.473L12 21.69L8.193 18.473C7.83156 18.1673 7.3734 17.9997 6.9 18H4C3.46957 18 2.96086 17.7893 2.58579 17.4142C2.21071 17.0391 2 16.5304 2 16V4C2 3.46957 2.21071 2.96086 2.58579 2.58579C2.96086 2.21071 3.46957 2 4 2H20C20.5304 2 21.0391 2.21071 21.4142 2.58579C21.7893 2.96086 22 3.46957 22 4V16Z\", \"nonzero\"],\n [\"M7 7.00015H12C12.2652 7.00015 12.5196 6.89479 12.7071 6.70726C12.8946 6.51972 13 6.26537 13 6.00015C13 5.73493 12.8946 5.48058 12.7071 5.29305C12.5196 5.10551 12.2652 5.00015 12 5.00015H7C6.73478 5.00015 6.48043 5.10551 6.29289 5.29305C6.10536 5.48058 6 5.73493 6 6.00015C6 6.26537 6.10536 6.51972 6.29289 6.70726C6.48043 6.89479 6.73478 7.00015 7 7.00015Z\", \"nonzero\"],\n [\"M17 9H7C6.73478 9 6.48043 9.10536 6.29289 9.29289C6.10536 9.48043 6 9.73478 6 10C6 10.2652 6.10536 10.5196 6.29289 10.7071C6.48043 10.8946 6.73478 11 7 11H17C17.2652 11 17.5196 10.8946 17.7071 10.7071C17.8946 10.5196 18 10.2652 18 10C18 9.73478 17.8946 9.48043 17.7071 9.29289C17.5196 9.10536 17.2652 9 17 9Z\", \"nonzero\"],\n [\"M17 12.9999H7C6.73478 12.9999 6.48043 13.1052 6.29289 13.2928C6.10536 13.4803 6 13.7346 6 13.9999C6 14.2651 6.10536 14.5194 6.29289 14.707C6.48043 14.8945 6.73478 14.9999 7 14.9999H17C17.2652 14.9999 17.5196 14.8945 17.7071 14.707C17.8946 14.5194 18 14.2651 18 13.9999C18 13.7346 17.8946 13.4803 17.7071 13.2928C17.5196 13.1052 17.2652 12.9999 17 12.9999Z\", \"nonzero\"],\n]);\n\nexport const minus = icon(24, [\n [\"M17 10.9997H7C6.44772 10.9997 6 11.4474 6 11.9997C6 12.552 6.44772 12.9997 7 12.9997H17C17.5523 12.9997 18 12.552 18 11.9997C18 11.4474 17.5523 10.9997 17 10.9997Z\", \"nonzero\"],\n]);\n\nexport const phone = icon(24, [\n [\"M23.0929 16.7391C23.6724 17.3202 23.9978 18.1074 23.9978 18.9281C23.9978 19.7488 23.6724 20.536 23.0929 21.1171L22.1829 22.1661C13.9929 30.0071 -5.9371 10.0821 1.78289 1.8661L2.93289 0.866102C3.51466 0.302779 4.29482 -0.00884932 5.10459 -0.00136355C5.91436 0.00612221 6.68863 0.33212 7.25989 0.906102C7.29089 0.937102 9.14388 3.3441 9.14388 3.3441C9.69371 3.92173 9.99979 4.68903 9.99848 5.48651C9.99718 6.28398 9.6886 7.05028 9.13688 7.6261L7.97888 9.0821C8.61973 10.6392 9.56195 12.0543 10.7514 13.2462C11.9408 14.438 13.3541 15.3831 14.9099 16.0271L16.3749 14.8621C16.9508 14.3108 17.7169 14.0026 18.5142 14.0015C19.3114 14.0004 20.0784 14.3064 20.6559 14.8561C20.6559 14.8561 23.0619 16.7081 23.0929 16.7391ZM21.7169 18.1931C21.7169 18.1931 19.3239 16.3521 19.2929 16.3211C19.0869 16.1168 18.8085 16.0022 18.5184 16.0022C18.2283 16.0022 17.9499 16.1168 17.7439 16.3211C17.7169 16.3491 15.6999 17.9561 15.6999 17.9561C15.564 18.0643 15.4022 18.1352 15.2305 18.1619C15.0589 18.1885 14.8832 18.17 14.7209 18.1081C12.7053 17.3577 10.8746 16.1828 9.35272 14.6632C7.83082 13.1435 6.65329 11.3145 5.89989 9.3001C5.83309 9.13556 5.81131 8.95619 5.83679 8.78044C5.86227 8.60469 5.9341 8.4389 6.04489 8.3001C6.04489 8.3001 7.65189 6.2821 7.67888 6.2561C7.88315 6.05009 7.99776 5.77172 7.99776 5.4816C7.99776 5.19149 7.88315 4.91312 7.67888 4.7071C7.64788 4.6771 5.80689 2.2821 5.80689 2.2821C5.59779 2.09461 5.32489 1.9942 5.04414 2.00145C4.76338 2.0087 4.49603 2.12306 4.29689 2.3211L3.14689 3.3211C-2.4951 10.1051 14.7759 26.4181 20.7209 20.8001L21.6319 19.7501C21.8453 19.5524 21.9736 19.2794 21.9894 18.9888C22.0053 18.6982 21.9076 18.4129 21.7169 18.1931Z\", \"nonzero\"],\n]);\n\nexport const plus = icon(24, [\n [\"M17 11H13V7C13 6.73478 12.8946 6.48043 12.7071 6.29289C12.5196 6.10536 12.2652 6 12 6C11.7348 6 11.4804 6.10536 11.2929 6.29289C11.1054 6.48043 11 6.73478 11 7V11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H11V17C11 17.2652 11.1054 17.5196 11.2929 17.7071C11.4804 17.8946 11.7348 18 12 18C12.2652 18 12.5196 17.8946 12.7071 17.7071C12.8946 17.5196 13 17.2652 13 17V13H17C17.2652 13 17.5196 12.8946 17.7071 12.7071C17.8946 12.5196 18 12.2652 18 12C18 11.7348 17.8946 11.4804 17.7071 11.2929C17.5196 11.1054 17.2652 11 17 11Z\", \"nonzero\"],\n]);\n\nexport const referral = icon(24, [\n [\"M23.9549 21.3188C23.9159 21.1934 23.8526 21.0769 23.7686 20.9759C23.6846 20.875 23.5815 20.7916 23.4652 20.7305C23.349 20.6694 23.2218 20.6318 23.091 20.6198C22.9602 20.6079 22.8283 20.6218 22.7029 20.6608L21.4029 21.0608L20.4719 18.3238C21.4498 17.7751 22.2125 16.9108 22.6354 15.8723C23.0583 14.8338 23.1163 13.6826 22.7999 12.6068L20.9569 7.13181C20.725 6.38436 20.2122 5.756 19.5264 5.3789C18.8406 5.00179 18.0353 4.90533 17.2799 5.10981L13.4279 6.18381C12.8755 6.33751 12.3795 6.64804 11.9999 7.07781C11.6203 6.64804 11.1243 6.33751 10.5719 6.18381L6.71891 5.10981C5.96898 4.90295 5.16807 4.99467 4.48433 5.36573C3.80058 5.73678 3.28718 6.3583 3.05191 7.09981L1.18491 12.6568C0.880932 13.7317 0.949015 14.8778 1.37812 15.9092C1.80722 16.9406 2.57218 17.7967 3.54891 18.3388L2.60491 21.0668L1.29991 20.6608C1.1745 20.6214 1.04256 20.6071 0.911615 20.6187C0.780672 20.6303 0.653296 20.6676 0.536759 20.7284C0.420221 20.7892 0.316804 20.8724 0.232414 20.9732C0.148023 21.074 0.08431 21.1904 0.0449134 21.3158C0.00551686 21.4412 -0.00879213 21.5732 0.00280344 21.7041C0.014399 21.8351 0.051672 21.9624 0.112494 22.079C0.173317 22.1955 0.256497 22.2989 0.357287 22.3833C0.458076 22.4677 0.574501 22.5314 0.699914 22.5708L2.85991 23.2418C2.87491 23.2418 2.88391 23.2588 2.89891 23.2648C2.91391 23.2708 2.95091 23.2708 2.97691 23.2778L5.15791 23.9548C5.4112 24.0336 5.68539 24.0085 5.92019 23.8851C6.15499 23.7617 6.33114 23.5501 6.40991 23.2968C6.48868 23.0435 6.46361 22.7693 6.34021 22.5345C6.21681 22.2997 6.0052 22.1236 5.75191 22.0448L4.51591 21.6598L5.45091 18.9598C5.63635 18.9836 5.82298 18.997 6.00991 18.9998C7.09108 18.9971 8.14226 18.6441 9.00585 17.9936C9.86944 17.3431 10.4989 16.4302 10.7999 15.3918L11.9999 11.8358L13.1829 15.3358C13.4745 16.3875 14.1022 17.3148 14.9701 17.9764C15.838 18.6379 16.8986 18.9974 17.9899 18.9998C18.1842 18.998 18.3782 18.9846 18.5709 18.9598L19.4889 21.6598L18.2449 22.0458C17.9916 22.1246 17.78 22.3007 17.6566 22.5355C17.5332 22.7703 17.5081 23.0445 17.5869 23.2978C17.6657 23.5511 17.8418 23.7627 18.0766 23.8861C18.3114 24.0095 18.5856 24.0346 18.8389 23.9558L21.0139 23.2808C21.0399 23.2738 21.0669 23.2808 21.0929 23.2678C21.1189 23.2548 21.1189 23.2488 21.1349 23.2428L23.2969 22.5718C23.4225 22.5328 23.5391 22.4695 23.6401 22.3854C23.7411 22.3013 23.8246 22.1981 23.8857 22.0817C23.9468 21.9654 23.9844 21.8381 23.9963 21.7072C24.0081 21.5763 23.9941 21.4443 23.9549 21.3188ZM13.3569 8.59181C13.4205 8.47463 13.5072 8.37153 13.6117 8.2887C13.7162 8.20587 13.8363 8.14502 13.9649 8.10981L17.8159 7.03681C17.9019 7.01275 17.9907 7.00031 18.0799 6.99981C18.2998 7.00213 18.5132 7.07528 18.6883 7.20839C18.8633 7.34151 18.9909 7.52751 19.0519 7.73881L19.8129 9.99981H13.4899L13.2749 9.36281C13.2366 9.23531 13.2241 9.10144 13.2382 8.96904C13.2522 8.83665 13.2926 8.70839 13.3569 8.59181ZM5.91791 6.99981C6.00746 6.99998 6.09657 7.01208 6.18291 7.03581L10.0349 8.10981C10.2894 8.18 10.5058 8.34796 10.6369 8.57707C10.7681 8.80617 10.8033 9.07784 10.7349 9.33281L10.5099 9.99981H4.18691L4.95691 7.70981C5.02046 7.50446 5.14799 7.32481 5.32088 7.19708C5.49377 7.06934 5.70296 7.00023 5.91791 6.99981ZM8.89191 14.7998C8.73219 15.3706 8.40695 15.8813 7.95724 16.2675C7.50754 16.6536 6.95353 16.8979 6.36513 16.9694C5.77673 17.041 5.18032 16.9367 4.65116 16.6696C4.122 16.4025 3.68382 15.9847 3.39191 15.4688C3.00543 14.7949 2.9005 13.9957 3.09991 13.2448L3.51391 11.9998H9.83591L8.89191 14.7998ZM16.5239 16.6078C16.1735 16.409 15.8664 16.1421 15.6207 15.8228C15.3749 15.5036 15.1955 15.1384 15.0929 14.7488L14.1639 11.9998H20.4869L20.8869 13.1938C21.0465 13.7656 21.0329 14.372 20.8477 14.936C20.6625 15.5001 20.3141 15.9965 19.8466 16.3625C19.3792 16.7285 18.8136 16.9475 18.2216 16.9919C17.6296 17.0363 17.0377 16.904 16.5209 16.6118L16.5239 16.6078Z\", \"nonzero\"],\n [\"M15.553 3.89988C15.6711 3.95924 15.7998 3.99461 15.9316 4.00395C16.0634 4.01329 16.1958 3.99641 16.321 3.95429C16.4463 3.91216 16.5619 3.84563 16.6613 3.75854C16.7607 3.67144 16.8419 3.56552 16.9001 3.44688L17.9001 1.44688C18.0186 1.20951 18.038 0.934766 17.954 0.683092C17.87 0.431418 17.6894 0.223428 17.4521 0.104876C17.2147 -0.0136757 16.9399 -0.0330775 16.6883 0.0509388C16.4366 0.134955 16.2286 0.315507 16.1101 0.552876L15.11 2.55288C15.0503 2.67034 15.0144 2.79845 15.0044 2.92983C14.9943 3.06122 15.0104 3.1933 15.0515 3.31847C15.0927 3.44364 15.1582 3.55945 15.2443 3.65923C15.3303 3.759 15.4353 3.84079 15.553 3.89988Z\", \"nonzero\"],\n [\"M7.10506 3.44688C7.22361 3.68491 7.43186 3.8661 7.684 3.95058C7.80885 3.99241 7.94072 4.00925 8.07207 4.00012C8.20343 3.99099 8.3317 3.95608 8.44956 3.89738C8.56742 3.83868 8.67256 3.75733 8.75899 3.658C8.84541 3.55866 8.91143 3.44328 8.95326 3.31843C8.99509 3.19358 9.01193 3.06171 9.0028 2.93036C8.99367 2.79901 8.95876 2.67074 8.90006 2.55288L7.90006 0.552876C7.84136 0.435343 7.76008 0.330523 7.66087 0.2444C7.56166 0.158278 7.44646 0.0925394 7.32184 0.0509388C7.07017 -0.0330775 6.79543 -0.0136757 6.55806 0.104876C6.32069 0.223428 6.14014 0.431418 6.05612 0.683092C5.9721 0.934766 5.9915 1.20951 6.11006 1.44688L7.10506 3.44688Z\", \"nonzero\"],\n [\"M12.0002 3.99999C12.2654 3.99999 12.5198 3.89464 12.7073 3.7071C12.8948 3.51956 13.0002 3.26521 13.0002 2.99999V0.999992C13.0002 0.734776 12.8948 0.480422 12.7073 0.292886C12.5198 0.105349 12.2654 -7.62939e-06 12.0002 -7.62939e-06C11.735 -7.62939e-06 11.4806 0.105349 11.2931 0.292886C11.1055 0.480422 11.0002 0.734776 11.0002 0.999992V2.99999C11.0002 3.26521 11.1055 3.51956 11.2931 3.7071C11.4806 3.89464 11.735 3.99999 12.0002 3.99999Z\", \"nonzero\"],\n]);\n\nexport const search = icon(16, [\n [\"M15.8045 14.8625L11.8252 10.8831C12.9096 9.55687 13.4428 7.86453 13.3144 6.15618C13.1861 4.44783 12.406 2.85416 11.1356 1.70482C9.86516 0.55548 8.20158 -0.0615992 6.48895 -0.018778C4.77632 0.0240432 3.14566 0.723488 1.93426 1.93488C0.72287 3.14627 0.0234252 4.77693 -0.019396 6.48957C-0.0622172 8.2022 0.554862 9.86578 1.7042 11.1362C2.85354 12.4066 4.44721 13.1867 6.15556 13.315C7.86392 13.4434 9.55625 12.9102 10.8825 11.8258L14.8619 15.8051C14.9876 15.9266 15.156 15.9938 15.3308 15.9923C15.5056 15.9907 15.6728 15.9206 15.7964 15.797C15.92 15.6734 15.9901 15.5062 15.9916 15.3314C15.9932 15.1566 15.926 14.9882 15.8045 14.8625ZM6.66652 12.0005C5.61169 12.0005 4.58054 11.6877 3.70348 11.1016C2.82642 10.5156 2.14283 9.68266 1.73916 8.70812C1.3355 7.73358 1.22988 6.66122 1.43567 5.62666C1.64145 4.59209 2.14941 3.64178 2.89529 2.8959C3.64117 2.15002 4.59147 1.64207 5.62604 1.43628C6.6606 1.2305 7.73296 1.33611 8.7075 1.73978C9.68204 2.14345 10.515 2.82704 11.101 3.7041C11.6871 4.58116 11.9999 5.61231 11.9999 6.66714C11.9983 8.08114 11.4359 9.43677 10.436 10.4366C9.43615 11.4365 8.08052 11.9989 6.66652 12.0005Z\", \"nonzero\"],\n]);\n\nexport const send = icon(24, [\n [\"M23.1189 0.882022C22.7604 0.519149 22.3144 0.254877 21.8239 0.114738C21.3334 -0.0254009 20.8151 -0.0366693 20.3189 0.0820215L4.31895 3.45202C3.39753 3.57839 2.52968 3.9595 1.81315 4.55243C1.09662 5.14537 0.559862 5.92658 0.263324 6.80809C-0.033214 7.68959 -0.0777536 8.63638 0.134721 9.54184C0.347196 10.4473 0.808246 11.2754 1.46595 11.933L3.18395 13.65C3.27693 13.743 3.35067 13.8534 3.40095 13.9748C3.45123 14.0963 3.47705 14.2265 3.47695 14.358V17.526C3.47916 17.9715 3.5817 18.4107 3.77695 18.811L3.76895 18.818L3.79495 18.844C4.08796 19.4332 4.56653 19.9096 5.15695 20.2L5.18295 20.226L5.18995 20.218C5.59031 20.4133 6.02952 20.5158 6.47495 20.518H9.64295C9.908 20.5178 10.1623 20.6228 10.3499 20.81L12.0669 22.527C12.5275 22.9926 13.0756 23.3625 13.6797 23.6153C14.2839 23.8681 14.9321 23.9989 15.5869 24C16.1327 23.9993 16.6747 23.9102 17.1919 23.736C18.0654 23.4492 18.8413 22.924 19.4322 22.2197C20.023 21.5154 20.4053 20.66 20.5359 19.75L23.9109 3.71502C24.0358 3.21466 24.0284 2.69044 23.8896 2.19378C23.7507 1.69713 23.4852 1.24509 23.1189 0.882022ZM4.59995 12.238L2.88095 10.521C2.48067 10.1304 2.20012 9.63367 2.07224 9.08918C1.94435 8.54469 1.97443 7.97502 2.15895 7.44702C2.33784 6.90534 2.66855 6.42645 3.11175 6.06728C3.55494 5.70812 4.09196 5.48381 4.65895 5.42102L20.4999 2.08602L5.47495 17.113V14.358C5.47646 13.9644 5.39991 13.5743 5.24972 13.2104C5.09953 12.8465 4.87868 12.516 4.59995 12.238ZM18.5709 19.408C18.4942 19.9604 18.265 20.4804 17.909 20.9097C17.5531 21.339 17.0846 21.6606 16.5561 21.8384C16.0275 22.0162 15.4599 22.0432 14.9169 21.9163C14.3739 21.7894 13.877 21.5136 13.4819 21.12L11.7619 19.4C11.4843 19.1209 11.1541 18.8995 10.7904 18.7488C10.4267 18.5981 10.0367 18.521 9.64295 18.522H6.88795L21.9149 3.50002L18.5709 19.408Z\", \"nonzero\"],\n]);\n\nexport const sent = icon(24, [\n [\"M17.6457 5.23322L6.70665 16.1836C6.6331 16.2575 6.5457 16.3162 6.44945 16.3562C6.35321 16.3962 6.25002 16.4168 6.1458 16.4168C6.04158 16.4168 5.93839 16.3962 5.84215 16.3562C5.7459 16.3162 5.6585 16.2575 5.58495 16.1836L1.35465 11.9447C1.28111 11.8708 1.1937 11.8121 1.09746 11.7721C1.00121 11.7321 0.898023 11.7115 0.793806 11.7115C0.689589 11.7115 0.586398 11.7321 0.490154 11.7721C0.393909 11.8121 0.306506 11.8708 0.232959 11.9447C0.159121 12.0183 0.100533 12.1058 0.0605559 12.2022C0.0205789 12.2985 0 12.4018 0 12.5061C0 12.6105 0.0205789 12.7138 0.0605559 12.8101C0.100533 12.9065 0.159121 12.994 0.232959 13.0676L4.46484 17.3034C4.91126 17.7495 5.51624 18 6.14699 18C6.77774 18 7.38271 17.7495 7.82913 17.3034L18.7674 6.35536C18.8412 6.28174 18.8996 6.19429 18.9396 6.09802C18.9795 6.00174 19 5.89853 19 5.79429C19 5.69005 18.9795 5.58684 18.9396 5.49056C18.8996 5.39428 18.8412 5.30683 18.7674 5.23322C18.6939 5.1593 18.6065 5.10064 18.5102 5.06062C18.414 5.0206 18.3108 5 18.2066 5C18.1024 5 17.9992 5.0206 17.9029 5.06062C17.8067 5.10064 17.7193 5.1593 17.6457 5.23322Z\", \"nonzero\"],\n [\"M22.6457 5.23322L11.7066 16.1836C11.6331 16.2575 11.5457 16.3162 11.4495 16.3562C11.3532 16.3962 11.25 16.4168 11.1458 16.4168C11.0416 16.4168 10.9384 16.3962 10.8421 16.3562C10.7459 16.3162 10.6585 16.2575 10.585 16.1836L9.35465 14.9447C9.28111 14.8708 9.1937 14.8121 9.09746 14.7721C9.00121 14.7321 8.89802 14.7115 8.79381 14.7115C8.68959 14.7115 8.5864 14.7321 8.49015 14.7721C8.39391 14.8121 8.30651 14.8708 8.23296 14.9447C8.15912 15.0183 8.10053 15.1058 8.06056 15.2022C8.02058 15.2985 8 15.4018 8 15.5061C8 15.6105 8.02058 15.7138 8.06056 15.8101C8.10053 15.9065 8.15912 15.994 8.23296 16.0676L9.46484 17.3034C9.91126 17.7495 10.5162 18 11.147 18C11.7777 18 12.3827 17.7495 12.8291 17.3034L23.7674 6.35536C23.8412 6.28174 23.8996 6.19429 23.9396 6.09802C23.9795 6.00174 24 5.89853 24 5.79429C24 5.69005 23.9795 5.58684 23.9396 5.49056C23.8996 5.39428 23.8412 5.30683 23.7674 5.23322C23.6939 5.1593 23.6065 5.10064 23.5102 5.06062C23.414 5.0206 23.3108 5 23.2066 5C23.1024 5 22.9992 5.0206 22.9029 5.06062C22.8067 5.10064 22.7193 5.1593 22.6457 5.23322Z\", \"nonzero\"],\n]);\n\nexport const share = icon(24, [\n [\"M19.3331 14.6675C18.577 14.6682 17.8324 14.8527 17.1636 15.2054C16.4948 15.558 15.9218 16.0681 15.4941 16.6915L8.98512 13.7525C9.44743 12.6362 9.44922 11.3822 8.99012 10.2645L15.4901 7.31055C16.124 8.2273 17.0654 8.88651 18.1437 9.16859C19.222 9.45068 20.3656 9.33695 21.3672 8.84805C22.3688 8.35914 23.162 7.52744 23.603 6.50381C24.0439 5.48018 24.1033 4.33242 23.7705 3.26872C23.4376 2.20502 22.7346 1.29584 21.7888 0.7061C20.8431 0.116359 19.7173 -0.114882 18.6157 0.0543211C17.514 0.223525 16.5095 0.781966 15.7844 1.62835C15.0592 2.47473 14.6614 3.55299 14.6631 4.66755C14.6674 4.93135 14.6941 5.1943 14.7431 5.45355L7.83312 8.59355C7.16946 7.97176 6.33862 7.55738 5.44269 7.40131C4.54676 7.24523 3.62474 7.35426 2.78992 7.715C1.95511 8.07574 1.24384 8.67248 0.743512 9.43191C0.243183 10.1913 -0.0244188 11.0804 -0.026417 11.9898C-0.0284151 12.8992 0.235277 13.7894 0.732264 14.551C1.22925 15.3127 1.93789 15.9125 2.77111 16.2769C3.60434 16.6413 4.52586 16.7544 5.42247 16.6023C6.31908 16.4501 7.15173 16.0394 7.81812 15.4205L14.7461 18.5485C14.698 18.8076 14.6716 19.0701 14.6671 19.3335C14.6669 20.2567 14.9405 21.1591 15.4532 21.9268C15.966 22.6944 16.6948 23.2927 17.5477 23.6461C18.4005 23.9995 19.339 24.092 20.2444 23.9119C21.1498 23.7319 21.9814 23.2874 22.6342 22.6346C23.2869 21.9819 23.7314 21.1502 23.9115 20.2448C24.0915 19.3394 23.999 18.4009 23.6457 17.5481C23.2923 16.6953 22.694 15.9664 21.9263 15.4537C21.1587 14.9409 20.2562 14.6673 19.3331 14.6675ZM19.3331 2.00055C19.8606 2.00035 20.3764 2.1566 20.8151 2.44953C21.2538 2.74246 21.5958 3.15892 21.7978 3.64624C21.9998 4.13355 22.0528 4.66983 21.95 5.18724C21.8472 5.70465 21.5933 6.17996 21.2203 6.55305C20.8474 6.92613 20.3722 7.18024 19.8548 7.28323C19.3374 7.38621 18.8011 7.33346 18.3137 7.13163C17.8263 6.9298 17.4098 6.58796 17.1167 6.14936C16.8236 5.71075 16.6671 5.19507 16.6671 4.66755C16.6676 3.96055 16.9487 3.28265 17.4485 2.78263C17.9483 2.28261 18.6261 2.00134 19.3331 2.00055ZM4.66712 14.6675C4.13959 14.6677 3.62386 14.5115 3.18514 14.2186C2.74642 13.9256 2.40443 13.5092 2.20242 13.0219C2.0004 12.5345 1.94745 11.9983 2.05024 11.4809C2.15303 10.9634 2.40696 10.4881 2.77991 10.115C3.15286 9.74196 3.62807 9.48785 4.14544 9.38486C4.66282 9.28188 5.19911 9.33463 5.6865 9.53646C6.17389 9.73829 6.59048 10.0801 6.88358 10.5187C7.17667 10.9573 7.33312 11.473 7.33312 12.0005C7.33232 12.7075 7.05122 13.3852 6.55145 13.8852C6.05167 14.3851 5.37403 14.6665 4.66712 14.6675ZM19.3331 22.0005C18.8056 22.0005 18.29 21.8441 17.8514 21.5511C17.4128 21.258 17.071 20.8415 16.8691 20.3542C16.6673 19.8668 16.6145 19.3306 16.7174 18.8132C16.8203 18.2959 17.0743 17.8207 17.4473 17.4477C17.8202 17.0747 18.2955 16.8207 18.8128 16.7178C19.3302 16.6149 19.8664 16.6677 20.3537 16.8696C20.8411 17.0714 21.2576 17.4133 21.5506 17.8518C21.8437 18.2904 22.0001 18.8061 22.0001 19.3335C21.9996 20.0407 21.7184 20.7188 21.2184 21.2188C20.7183 21.7189 20.0403 22 19.3331 22.0005Z\", \"nonzero\"],\n]);\n\nexport const smartphone = icon(24, [\n [\"M15.0001 -7.62939e-06H9.00006C7.67447 0.00158023 6.40362 0.528874 5.46628 1.46621C4.52894 2.40355 4.00165 3.6744 4.00006 4.99999V19C4.00165 20.3256 4.52894 21.5964 5.46628 22.5338C6.40362 23.4711 7.67447 23.9984 9.00006 24H15.0001C16.3257 23.9984 17.5965 23.4711 18.5338 22.5338C19.4712 21.5964 19.9985 20.3256 20.0001 19V4.99999C19.9985 3.6744 19.4712 2.40355 18.5338 1.46621C17.5965 0.528874 16.3257 0.00158023 15.0001 -7.62939e-06V-7.62939e-06ZM9.00006 1.99999H15.0001C15.7957 1.99999 16.5588 2.31606 17.1214 2.87867C17.684 3.44128 18.0001 4.20434 18.0001 4.99999V16H6.00006V4.99999C6.00006 4.20434 6.31613 3.44128 6.87874 2.87867C7.44135 2.31606 8.20441 1.99999 9.00006 1.99999ZM15.0001 22H9.00006C8.20441 22 7.44135 21.6839 6.87874 21.1213C6.31613 20.5587 6.00006 19.7956 6.00006 19V18H18.0001V19C18.0001 19.7956 17.684 20.5587 17.1214 21.1213C16.5588 21.6839 15.7957 22 15.0001 22Z\", \"nonzero\"],\n [\"M12.0002 20.9994C12.5525 20.9994 13.0002 20.5517 13.0002 19.9994C13.0002 19.4471 12.5525 18.9994 12.0002 18.9994C11.4479 18.9994 11.0002 19.4471 11.0002 19.9994C11.0002 20.5517 11.4479 20.9994 12.0002 20.9994Z\", \"nonzero\"],\n]);\n\nexport const trash = icon(24, [\n [\"M20.9999 3.99999H17.8999C17.6678 2.8714 17.0538 1.85734 16.1612 1.12871C15.2686 0.400082 14.1521 0.00144689 12.9999 -7.62939e-06L10.9999 -7.62939e-06C9.84773 0.00144689 8.73126 0.400082 7.83869 1.12871C6.94612 1.85734 6.33204 2.8714 6.09994 3.99999H2.99994C2.73472 3.99999 2.48037 4.10535 2.29283 4.29289C2.1053 4.48042 1.99994 4.73478 1.99994 4.99999C1.99994 5.26521 2.1053 5.51956 2.29283 5.7071C2.48037 5.89464 2.73472 5.99999 2.99994 5.99999H3.99994V19C4.00153 20.3256 4.52882 21.5964 5.46616 22.5338C6.4035 23.4711 7.67434 23.9984 8.99994 24H14.9999C16.3255 23.9984 17.5964 23.4711 18.5337 22.5338C19.4711 21.5964 19.9984 20.3256 19.9999 19V5.99999H20.9999C21.2652 5.99999 21.5195 5.89464 21.707 5.7071C21.8946 5.51956 21.9999 5.26521 21.9999 4.99999C21.9999 4.73478 21.8946 4.48042 21.707 4.29289C21.5195 4.10535 21.2652 3.99999 20.9999 3.99999ZM10.9999 1.99999H12.9999C13.6202 2.00075 14.2251 2.19337 14.7316 2.55144C15.238 2.9095 15.6214 3.41548 15.8289 3.99999H8.17094C8.37852 3.41548 8.76184 2.9095 9.26833 2.55144C9.77481 2.19337 10.3797 2.00075 10.9999 1.99999ZM17.9999 19C17.9999 19.7956 17.6839 20.5587 17.1213 21.1213C16.5587 21.6839 15.7956 22 14.9999 22H8.99994C8.20429 22 7.44123 21.6839 6.87862 21.1213C6.31601 20.5587 5.99994 19.7956 5.99994 19V5.99999H17.9999V19Z\", \"nonzero\"],\n [\"M10 17.9994C10.2652 17.9994 10.5196 17.894 10.7071 17.7065C10.8946 17.5189 11 17.2646 11 16.9994V10.9994C11 10.7342 10.8946 10.4798 10.7071 10.2923C10.5196 10.1047 10.2652 9.99937 10 9.99937C9.73478 9.99937 9.48043 10.1047 9.29289 10.2923C9.10536 10.4798 9 10.7342 9 10.9994V16.9994C9 17.2646 9.10536 17.5189 9.29289 17.7065C9.48043 17.894 9.73478 17.9994 10 17.9994Z\", \"nonzero\"],\n [\"M13.9999 17.9994C14.2651 17.9994 14.5195 17.894 14.707 17.7065C14.8945 17.5189 14.9999 17.2646 14.9999 16.9994V10.9994C14.9999 10.7342 14.8945 10.4798 14.707 10.2923C14.5195 10.1047 14.2651 9.99937 13.9999 9.99937C13.7347 9.99937 13.4803 10.1047 13.2928 10.2923C13.1052 10.4798 12.9999 10.7342 12.9999 10.9994V16.9994C12.9999 17.2646 13.1052 17.5189 13.2928 17.7065C13.4803 17.894 13.7347 17.9994 13.9999 17.9994Z\", \"nonzero\"],\n]);\n\nexport const truck = icon(24, [\n [\"M19 4.99937H16.9C16.6679 3.87079 16.0538 2.85672 15.1613 2.12809C14.2687 1.39946 13.1522 1.00083 12 0.999374H5C3.67441 1.00096 2.40356 1.52826 1.46622 2.46559C0.528882 3.40293 0.00158786 4.67378 0 5.99937L0 14.9994C0.0025138 15.895 0.305538 16.7639 0.860536 17.4668C1.41553 18.1698 2.19039 18.6661 3.061 18.8764C2.96676 19.3768 2.98287 19.8918 3.10819 20.3854C3.23351 20.879 3.46503 21.3393 3.7866 21.7341C4.10816 22.129 4.51202 22.449 4.96999 22.6717C5.42796 22.8944 5.92901 23.0144 6.43817 23.0235C6.94733 23.0326 7.45234 22.9304 7.91796 22.7242C8.38357 22.518 8.79858 22.2126 9.13401 21.8295C9.46944 21.4463 9.71722 20.9946 9.86006 20.5058C10.0029 20.0169 10.0373 19.5029 9.961 18.9994H14.043C14.0173 19.1648 14.0036 19.3319 14.002 19.4994C14.002 20.4276 14.3707 21.3179 15.0271 21.9743C15.6835 22.6306 16.5737 22.9994 17.502 22.9994C18.4303 22.9994 19.3205 22.6306 19.9769 21.9743C20.6333 21.3179 21.002 20.4276 21.002 19.4994C21.0009 19.2903 20.9804 19.0817 20.941 18.8764C21.8112 18.6657 22.5856 18.1692 23.1403 17.4663C23.6949 16.7634 23.9976 15.8947 24 14.9994V9.99938C23.9984 8.67378 23.4711 7.40293 22.5338 6.46559C21.5964 5.52826 20.3256 5.00096 19 4.99937ZM22 9.99938V10.9994H17V6.99938H19C19.7956 6.99938 20.5587 7.31545 21.1213 7.87806C21.6839 8.44066 22 9.20373 22 9.99938ZM2 14.9994V5.99937C2 5.20373 2.31607 4.44066 2.87868 3.87805C3.44129 3.31545 4.20435 2.99937 5 2.99937H12C12.7956 2.99937 13.5587 3.31545 14.1213 3.87805C14.6839 4.44066 15 5.20373 15 5.99937V16.9994H4C3.46957 16.9994 2.96086 16.7887 2.58579 16.4136C2.21071 16.0385 2 15.5298 2 14.9994ZM8 19.4994C8 19.8972 7.84196 20.2787 7.56066 20.56C7.27936 20.8413 6.89782 20.9994 6.5 20.9994C6.10218 20.9994 5.72064 20.8413 5.43934 20.56C5.15804 20.2787 5 19.8972 5 19.4994C5.00061 19.3285 5.03212 19.1591 5.093 18.9994H7.907C7.96788 19.1591 7.99939 19.3285 8 19.4994ZM17.5 20.9994C17.1022 20.9994 16.7206 20.8413 16.4393 20.56C16.158 20.2787 16 19.8972 16 19.4994C16.0004 19.3285 16.0319 19.159 16.093 18.9994H18.907C18.9681 19.159 18.9996 19.3285 19 19.4994C19 19.8972 18.842 20.2787 18.5607 20.56C18.2794 20.8413 17.8978 20.9994 17.5 20.9994ZM20 16.9994H17V12.9994H22V14.9994C22 15.5298 21.7893 16.0385 21.4142 16.4136C21.0391 16.7887 20.5304 16.9994 20 16.9994Z\", \"nonzero\"],\n]);\n\nexport const unsent = icon(24, [\n [\"M12 2C10.0222 2 8.08879 2.58649 6.4443 3.6853C4.79981 4.78412 3.51809 6.3459 2.76121 8.17317C2.00433 10.0004 1.8063 12.0111 2.19215 13.9509C2.578 15.8907 3.53041 17.6725 4.92894 19.0711C6.32746 20.4696 8.10929 21.422 10.0491 21.8079C11.9889 22.1937 13.9996 21.9957 15.8268 21.2388C17.6541 20.4819 19.2159 19.2002 20.3147 17.5557C21.4135 15.9112 22 13.9778 22 12C21.9971 9.34872 20.9426 6.80684 19.0679 4.9321C17.1932 3.05736 14.6513 2.00287 12 2V2ZM12 20.3333C10.3518 20.3333 8.74066 19.8446 7.37025 18.9289C5.99984 18.0132 4.93174 16.7117 4.30101 15.189C3.67028 13.6663 3.50525 11.9908 3.82679 10.3742C4.14834 8.75774 4.94201 7.27288 6.10745 6.10744C7.27289 4.94201 8.75774 4.14833 10.3743 3.82679C11.9908 3.50525 13.6663 3.67027 15.189 4.301C16.7118 4.93173 18.0132 5.99984 18.9289 7.37025C19.8446 8.74066 20.3333 10.3518 20.3333 12C20.3309 14.2094 19.4522 16.3276 17.8899 17.8899C16.3276 19.4522 14.2094 20.3309 12 20.3333Z\", \"nonzero\"],\n [\"M11.9999 7C11.7788 7 11.5669 7.0878 11.4106 7.24408C11.2543 7.40036 11.1665 7.61232 11.1665 7.83333V11.4375L8.35735 13.1975C8.16949 13.3148 8.03594 13.502 7.98609 13.7179C7.93624 13.9337 7.97416 14.1605 8.09152 14.3483C8.20888 14.5362 8.39606 14.6697 8.61188 14.7196C8.8277 14.7694 9.05449 14.7315 9.24235 14.6142L12.4424 12.6142C12.5633 12.5384 12.6627 12.4329 12.7311 12.3077C12.7996 12.1825 12.8347 12.0418 12.8332 11.8992V7.83333C12.8332 7.61232 12.7454 7.40036 12.5891 7.24408C12.4328 7.0878 12.2209 7 11.9999 7Z\", \"nonzero\"],\n]);\n","import { forwardRef, useId, type InputHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './TextField.css';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'> {\n value: string;\n onChange: (value: string) => void;\n label?: string;\n /** Leading (left) icon or logo - e.g. a marker or payment-method logo. */\n leadingIcon?: ReactNode;\n /** Trailing (right) icon - e.g. eye toggle, chevron, calendar, clear. */\n trailingIcon?: ReactNode;\n /** Rotates the trailing icon 180deg - used by Dropdown while open. */\n trailingIconRotated?: boolean;\n error?: boolean | string;\n}\n\n/**\n * Snacky Text Field - the shared 312x48 field used for Text, Password\n * (type=\"password\" + trailingIcon), Dropdown (trailingIcon chevron, readOnly),\n * Date Picker (trailingIcon calendar, readOnly) and Address (leading/trailing\n * marker). Focus/error borders are real CSS (:focus-within, .snacky-field--error),\n * not JS-tracked state.\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(function TextField(\n {\n value,\n onChange,\n label,\n leadingIcon,\n trailingIcon,\n trailingIconRotated = false,\n error,\n disabled,\n className,\n id,\n ...rest\n },\n ref\n) {\n const autoId = useId();\n const fieldId = id ?? autoId;\n const errorMessage = typeof error === 'string' ? error : undefined;\n\n return (\n <div className={className}>\n {label && (\n <label className=\"snacky-field-label\" htmlFor={fieldId}>\n {label}\n </label>\n )}\n <div\n className={cx('snacky-field', !!error && 'snacky-field--error', disabled && 'snacky-field--disabled')}\n >\n {leadingIcon && <span className=\"snacky-field__icon\">{leadingIcon}</span>}\n <input\n ref={ref}\n id={fieldId}\n className=\"snacky-field__input\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n disabled={disabled}\n {...rest}\n />\n {trailingIcon && (\n <span\n className=\"snacky-field__icon\"\n style={trailingIconRotated ? { transform: 'rotate(180deg)' } : undefined}\n >\n {trailingIcon}\n </span>\n )}\n </div>\n {errorMessage && <span className=\"snacky-field-error\">{errorMessage}</span>}\n </div>\n );\n});\n","import { forwardRef, type InputHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './SearchField.css';\n\nexport interface SearchFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n value: string;\n onChange: (value: string) => void;\n searchIcon?: ReactNode;\n onClear?: () => void;\n}\n\n/** Snacky Search Field - compact 40px field with a leading search icon and a clear button once filled. */\nexport const SearchField = forwardRef<HTMLInputElement, SearchFieldProps>(function SearchField(\n { value, onChange, searchIcon, onClear, className, placeholder = 'Search products...', ...rest },\n ref\n) {\n return (\n <div className={cx('snacky-search', className)}>\n {searchIcon && <span className=\"snacky-search__icon\">{searchIcon}</span>}\n <input\n ref={ref}\n className=\"snacky-search__input\"\n value={value}\n placeholder={placeholder}\n onChange={(e) => onChange(e.target.value)}\n {...rest}\n />\n {value && onClear && (\n <button type=\"button\" className=\"snacky-search__clear\" onClick={onClear} aria-label=\"Clear search\">\n ✕\n </button>\n )}\n </div>\n );\n});\n","import { useRef } from 'react';\nimport type { KeyboardEvent } from 'react';\nimport './OtpField.css';\n\nexport interface OtpFieldProps {\n value: string;\n onChange: (value: string) => void;\n length?: number;\n disabled?: boolean;\n}\n\n/** Snacky OTP Field - N individual 48x48 cells with auto-advance and backspace-to-previous. */\nexport function OtpField({ value, onChange, length = 6, disabled }: OtpFieldProps) {\n const cellRefs = useRef<Array<HTMLInputElement | null>>([]);\n const digits = Array.from({ length }, (_, i) => value[i] ?? '');\n\n function setDigit(index: number, digit: string) {\n const next = digits.slice();\n next[index] = digit;\n onChange(next.join(''));\n if (digit && index < length - 1) cellRefs.current[index + 1]?.focus();\n }\n\n function handleKeyDown(index: number, e: KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Backspace' && !digits[index] && index > 0) {\n cellRefs.current[index - 1]?.focus();\n }\n }\n\n return (\n <div className=\"snacky-otp\">\n {digits.map((digit, i) => (\n <input\n key={i}\n ref={(el) => {\n cellRefs.current[i] = el;\n }}\n className=\"snacky-otp__cell\"\n inputMode=\"numeric\"\n maxLength={1}\n value={digit}\n disabled={disabled}\n onChange={(e) => setDigit(i, e.target.value.replace(/\\D/g, '').slice(-1))}\n onKeyDown={(e) => handleKeyDown(i, e)}\n aria-label={`Digit ${i + 1}`}\n />\n ))}\n </div>\n );\n}\n","import { useState } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './CopyField.css';\n\nexport interface CopyFieldProps {\n value: string;\n onCopy?: (value: string) => void;\n className?: string;\n}\n\n/** Snacky Copy Field - a read-only value with a \"Copy\" link that flips to \"Copied\" briefly. */\nexport function CopyField({ value, onCopy, className }: CopyFieldProps) {\n const [copied, setCopied] = useState(false);\n\n async function handleCopy() {\n try {\n await navigator.clipboard.writeText(value);\n } catch {\n // clipboard API unavailable - the copy affordance still reports success visually\n }\n onCopy?.(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n\n return (\n <div className={cx('snacky-copy', className)}>\n <span className=\"snacky-copy__value\">{value}</span>\n <button type=\"button\" className={cx('snacky-copy__action', copied && 'snacky-copy__action--copied')} onClick={handleCopy}>\n {copied ? 'Copied' : 'Copy'}\n </button>\n </div>\n );\n}\n","import { type InputHTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\n// Real send glyph rather than the '➤' text arrow this used to fall back to.\n// 20px matches index.html's verified preview.\nimport { send as SendIcon } from '../../icons/outline.js';\nimport './ChatInput.css';\n\nexport interface ChatInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n value: string;\n onChange: (value: string) => void;\n onSend: () => void;\n sendIcon?: ReactNode;\n}\n\n/** Snacky Chat Input - message compose bar with an inline 48x48 send button. */\nexport function ChatInput({ value, onChange, onSend, sendIcon, className, placeholder = 'Write your message here', ...rest }: ChatInputProps) {\n return (\n <div className={cx('snacky-chatfield', className)}>\n <input\n className=\"snacky-chatfield__input\"\n value={value}\n placeholder={placeholder}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && value && onSend()}\n {...rest}\n />\n <button\n type=\"button\"\n className={cx('snacky-chatfield__send', value && 'snacky-chatfield__send--active')}\n onClick={onSend}\n disabled={!value}\n aria-label=\"Send\"\n >\n {sendIcon ?? <SendIcon width={20} height={20} />}\n </button>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './AddressResult.css';\n\nexport interface AddressResultProps {\n icon?: ReactNode;\n title: string;\n subtitle: string;\n onClick?: () => void;\n className?: string;\n}\n\n/** Snacky Address Search Result row - selected address entry in a results list. */\nexport function AddressResult({ icon, title, subtitle, onClick, className }: AddressResultProps) {\n return (\n <button type=\"button\" className={cx('snacky-address-result', className)} onClick={onClick}>\n {icon && <span className=\"snacky-address-result__icon\">{icon}</span>}\n <span>\n <p className=\"snacky-address-result__title\">{title}</p>\n <p className=\"snacky-address-result__subtitle\">{subtitle}</p>\n </span>\n </button>\n );\n}\n","import type { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Chips.css';\n\nexport interface ProductChipProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n selected: boolean;\n thumbnail: ReactNode;\n}\n\n/** Snacky Product Chip - pill chip with a 24x24 thumbnail (e.g. weight/variant picker). */\nexport function ProductChip({ label, selected, thumbnail, onClick, className, ...rest }: ProductChipProps) {\n return (\n <button\n type=\"button\"\n className={cx('snacky-chip', selected && 'snacky-chip--selected', className)}\n aria-pressed={selected}\n onClick={onClick}\n {...rest}\n >\n <span className=\"snacky-chip__thumb\">{thumbnail}</span>\n {label}\n </button>\n );\n}\n","import type { ButtonHTMLAttributes } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Chips.css';\n\nexport interface FilterChipProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n selected: boolean;\n}\n\n/** Snacky Filter Chip - text-only pill toggle, e.g. category/sort filters. */\nexport function FilterChip({ label, selected, onClick, className, ...rest }: FilterChipProps) {\n return (\n <button\n type=\"button\"\n className={cx('snacky-chip', selected && 'snacky-chip--selected', className)}\n aria-pressed={selected}\n onClick={onClick}\n {...rest}\n >\n {label}\n </button>\n );\n}\n","import { useId } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './RadioButton.css';\n\nexport interface RadioOptionProps {\n label: string;\n selected: boolean;\n onClick: () => void;\n disabled?: boolean;\n name?: string;\n className?: string;\n}\n\n/** Snacky Radio Option - single-selection control. Always use within a group of 2+ options. */\nexport function RadioOption({ label, selected, onClick, disabled, name, className }: RadioOptionProps) {\n const id = useId();\n return (\n <label\n htmlFor={id}\n className={cx('snacky-radio-option', disabled && 'snacky-radio-option--disabled', className)}\n >\n <input\n id={id}\n type=\"radio\"\n className=\"snacky-radio\"\n name={name}\n checked={selected}\n disabled={disabled}\n onChange={onClick}\n />\n {label}\n </label>\n );\n}\n","import { useId } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Checkbox.css';\n\nexport interface CheckboxProps {\n label: string;\n checked: boolean;\n onChange: (checked: boolean) => void;\n disabled?: boolean;\n className?: string;\n}\n\n/** Snacky Checkbox - binary on/off selection control. */\nexport function Checkbox({ label, checked, onChange, disabled, className }: CheckboxProps) {\n const id = useId();\n return (\n <label htmlFor={id} className={cx('snacky-checkbox-option', className)}>\n <input\n id={id}\n type=\"checkbox\"\n className=\"snacky-checkbox\"\n checked={checked}\n disabled={disabled}\n onChange={(e) => onChange(e.target.checked)}\n />\n {label}\n </label>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './Toggle.css';\n\nexport interface ToggleProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n disabled?: boolean;\n ariaLabel?: string;\n className?: string;\n}\n\n/** Snacky Toggle - switch for settings that take effect immediately, no confirm step. */\nexport function Toggle({ checked, onChange, disabled, ariaLabel = 'Toggle', className }: ToggleProps) {\n return (\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n disabled={disabled}\n className={cx('snacky-toggle', checked && 'snacky-toggle--on', className)}\n onClick={() => onChange(!checked)}\n >\n <span className=\"snacky-toggle__track\" />\n <span className=\"snacky-toggle__thumb\" />\n </button>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Navbar.css';\n\nexport interface NavItem {\n label: string;\n icon: ReactNode;\n activeIcon?: ReactNode;\n}\n\nexport interface NavBarProps {\n items: NavItem[];\n selected: number;\n onSelect: (index: number) => void;\n className?: string;\n}\n\n/** Snacky Nav Bar - bottom navigation, 5 tabs for the customer flow. */\nexport function NavBar({ items, selected, onSelect, className }: NavBarProps) {\n return (\n <nav className={cx('snacky-navbar', className)}>\n {items.map((item, i) => {\n const active = i === selected;\n return (\n <button\n key={item.label}\n type=\"button\"\n className={cx('snacky-navbar__item', active && 'snacky-navbar__item--active')}\n aria-current={active ? 'page' : undefined}\n onClick={() => onSelect(i)}\n >\n <span className=\"snacky-navbar__icon\">{active && item.activeIcon ? item.activeIcon : item.icon}</span>\n {item.label}\n </button>\n );\n })}\n </nav>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './Tab.css';\n\nexport interface TabRowProps {\n tabs: string[];\n selected: number;\n onSelect: (index: number) => void;\n className?: string;\n}\n\n/** Snacky Tab Row - inline tab selector with a 2px accent underline on the active tab. */\nexport function TabRow({ tabs, selected, onSelect, className }: TabRowProps) {\n return (\n <div className={cx('snacky-tabrow', className)} role=\"tablist\">\n {tabs.map((tab, i) => (\n <button\n key={tab}\n type=\"button\"\n role=\"tab\"\n aria-selected={i === selected}\n className={cx('snacky-tab', i === selected && 'snacky-tab--active')}\n onClick={() => onSelect(i)}\n >\n {tab}\n </button>\n ))}\n </div>\n );\n}\n","// Generated from assets/icons/icons.json by scripts/generate-icons.js - do not hand-edit.\n/*!\n * Icon artwork: UIcons by Flaticon (https://www.flaticon.com/uicons),\n * used under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) and\n * modified: exported from the Figma Community file and renamed to semantic\n * English names. This attribution must be retained when redistributing.\n * See NOTICE at the repo root for the full statement.\n */\nimport type { IconProps } from './types.js';\n\n/**\n * Solid icon set, exported from Figma's `Icon-solid` component set\n * (node 8772:5851) - the filled counterparts used for active/selected\n * Navbar items and the clicked Favourite state.\n */\nfunction icon(viewBox: number, paths: Array<[string, string]>) {\n return function SnackyIcon({ width = viewBox, height = viewBox, color = 'currentColor', ...rest }: IconProps) {\n return (\n <svg width={width} height={height} viewBox={`0 0 ${viewBox} ${viewBox}`} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n {paths.map(([d, fillRule], i) => (\n <path\n key={i}\n d={d}\n fill={color}\n fillRule={fillRule as 'nonzero' | 'evenodd'}\n clipRule={fillRule as 'nonzero' | 'evenodd'}\n />\n ))}\n </svg>\n );\n };\n}\n\nexport const account = icon(20, [\n [\"M10 10C12.7614 10 15 7.76142 15 5C15 2.23858 12.7614 0 10 0C7.23858 0 5 2.23858 5 5C5 7.76142 7.23858 10 10 10Z\", \"nonzero\"],\n [\"M10 11.6659C5.85977 11.6705 2.50461 15.0257 2.5 19.1659C2.5 19.6261 2.87309 19.9992 3.33332 19.9992H16.6666C17.1269 19.9992 17.5 19.6261 17.5 19.1659C17.4954 15.0257 14.1402 11.6705 10 11.6659Z\", \"nonzero\"],\n]);\n\nexport const angleSmallRight = icon(24, [\n [\"M15.75 9.525L11.164 4.939C10.8827 4.65774 10.5011 4.49978 10.1032 4.49988C9.70534 4.49997 9.32381 4.65811 9.04255 4.9395C8.76129 5.2209 8.60333 5.6025 8.60342 6.00036C8.60352 6.39822 8.76166 6.77974 9.04305 7.061L13.629 11.646C13.6756 11.6925 13.7125 11.7476 13.7378 11.8084C13.763 11.8691 13.7759 11.9342 13.7759 12C13.7759 12.0658 13.763 12.1309 13.7378 12.1916C13.7125 12.2524 13.6756 12.3076 13.629 12.354L9.04305 16.939C8.76166 17.2203 8.60352 17.6018 8.60342 17.9997C8.60333 18.3975 8.76129 18.7791 9.04255 19.0605C9.32381 19.3419 9.70534 19.5 10.1032 19.5001C10.5011 19.5002 10.8827 19.3423 11.164 19.061L15.75 14.475C16.4053 13.818 16.7732 12.9279 16.7732 12C16.7732 11.0721 16.4053 10.182 15.75 9.525Z\", \"nonzero\"],\n]);\n\nexport const balance = icon(24, [\n [\"M19 4.00031H5C3.67441 4.00189 2.40356 4.52919 1.46622 5.46653C0.528882 6.40386 0.00158786 7.67471 0 9.00031L0 15.0003C0.00158786 16.3259 0.528882 17.5967 1.46622 18.5341C2.40356 19.4714 3.67441 19.9987 5 20.0003H19C20.3256 19.9987 21.5964 19.4714 22.5338 18.5341C23.4711 17.5967 23.9984 16.3259 24 15.0003V9.00031C23.9984 7.67471 23.4711 6.40386 22.5338 5.46653C21.5964 4.52919 20.3256 4.00189 19 4.00031ZM4 17.0003C3.80222 17.0003 3.60888 16.9417 3.44443 16.8318C3.27998 16.7219 3.15181 16.5657 3.07612 16.383C3.00043 16.2003 2.98063 15.9992 3.01921 15.8052C3.0578 15.6112 3.15304 15.4331 3.29289 15.2932C3.43275 15.1533 3.61093 15.0581 3.80491 15.0195C3.99889 14.9809 4.19996 15.0007 4.38268 15.0764C4.56541 15.1521 4.72159 15.2803 4.83147 15.4447C4.94135 15.6092 5 15.8025 5 16.0003C5 16.2655 4.89464 16.5199 4.70711 16.7074C4.51957 16.8949 4.26522 17.0003 4 17.0003ZM4 9.00031C3.80222 9.00031 3.60888 8.94166 3.44443 8.83177C3.27998 8.72189 3.15181 8.56571 3.07612 8.38299C3.00043 8.20026 2.98063 7.9992 3.01921 7.80521C3.0578 7.61123 3.15304 7.43305 3.29289 7.2932C3.43275 7.15335 3.61093 7.0581 3.80491 7.01952C3.99889 6.98093 4.19996 7.00074 4.38268 7.07643C4.56541 7.15211 4.72159 7.28029 4.83147 7.44474C4.94135 7.60918 5 7.80252 5 8.00031C5 8.26552 4.89464 8.51988 4.70711 8.70741C4.51957 8.89495 4.26522 9.00031 4 9.00031ZM12 16.0003C11.2089 16.0003 10.4355 15.7657 9.77772 15.3262C9.11992 14.8867 8.60723 14.2619 8.30448 13.531C8.00173 12.8001 7.92252 11.9959 8.07686 11.2199C8.2312 10.444 8.61216 9.73129 9.17157 9.17188C9.73098 8.61247 10.4437 8.2315 11.2196 8.07716C11.9956 7.92282 12.7998 8.00204 13.5307 8.30479C14.2616 8.60754 14.8864 9.12023 15.3259 9.77802C15.7654 10.4358 16 11.2092 16 12.0003C16 13.0612 15.5786 14.0786 14.8284 14.8287C14.0783 15.5789 13.0609 16.0003 12 16.0003ZM20 17.0003C19.8022 17.0003 19.6089 16.9417 19.4444 16.8318C19.28 16.7219 19.1518 16.5657 19.0761 16.383C19.0004 16.2003 18.9806 15.9992 19.0192 15.8052C19.0578 15.6112 19.153 15.4331 19.2929 15.2932C19.4327 15.1533 19.6109 15.0581 19.8049 15.0195C19.9989 14.9809 20.2 15.0007 20.3827 15.0764C20.5654 15.1521 20.7216 15.2803 20.8315 15.4447C20.9414 15.6092 21 15.8025 21 16.0003C21 16.2655 20.8946 16.5199 20.7071 16.7074C20.5196 16.8949 20.2652 17.0003 20 17.0003ZM20 9.00031C19.8022 9.00031 19.6089 8.94166 19.4444 8.83177C19.28 8.72189 19.1518 8.56571 19.0761 8.38299C19.0004 8.20026 18.9806 7.9992 19.0192 7.80521C19.0578 7.61123 19.153 7.43305 19.2929 7.2932C19.4327 7.15335 19.6109 7.0581 19.8049 7.01952C19.9989 6.98093 20.2 7.00074 20.3827 7.07643C20.5654 7.15211 20.7216 7.28029 20.8315 7.44474C20.9414 7.60918 21 7.80252 21 8.00031C21 8.26552 20.8946 8.51988 20.7071 8.70741C20.5196 8.89495 20.2652 9.00031 20 9.00031ZM14 12.0003C14 12.3959 13.8827 12.7825 13.6629 13.1114C13.4432 13.4403 13.1308 13.6967 12.7654 13.8481C12.3999 13.9994 11.9978 14.039 11.6098 13.9619C11.2219 13.8847 10.8655 13.6942 10.5858 13.4145C10.3061 13.1348 10.1156 12.7784 10.0384 12.3905C9.96126 12.0025 10.0009 11.6004 10.1522 11.2349C10.3036 10.8695 10.56 10.5571 10.8889 10.3374C11.2178 10.1176 11.6044 10.0003 12 10.0003C12.5304 10.0003 13.0391 10.211 13.4142 10.5861C13.7893 10.9612 14 11.4699 14 12.0003Z\", \"nonzero\"],\n]);\n\nexport const bell = icon(20, [\n [\"M6.18668 17.5C6.50973 18.2428 7.0427 18.8751 7.72014 19.3193C8.39757 19.7634 9.18997 20 10 20C10.81 20 11.6024 19.7634 12.2799 19.3193C12.9573 18.8751 13.4903 18.2428 13.8133 17.5H6.18668Z\", \"nonzero\"],\n [\"M18.6601 10.4575L17.2134 5.68834C16.7501 4.02029 15.7429 2.55481 14.3516 1.52459C12.9603 0.49436 11.2648 -0.0415661 9.53415 0.00190092C7.80351 0.0453679 6.13699 0.665736 4.79919 1.76451C3.4614 2.86328 2.529 4.37747 2.15005 6.06667L1.02672 10.6808C0.877415 11.294 0.869326 11.933 1.00306 12.5497C1.1368 13.1664 1.40887 13.7447 1.79874 14.2409C2.18861 14.7371 2.68609 15.1383 3.25365 15.4141C3.82121 15.69 4.44401 15.8333 5.07505 15.8333H14.6726C15.3232 15.8334 15.9647 15.681 16.5459 15.3885C17.1271 15.096 17.6316 14.6715 18.0192 14.149C18.4068 13.6264 18.6667 13.0203 18.778 12.3793C18.8892 11.7383 18.8489 11.0801 18.6601 10.4575Z\", \"nonzero\"],\n]);\n\nexport const cart = icon(20, [\n [\"M18.9275 3.3975C18.6931 3.1162 18.3996 2.88996 18.068 2.73485C17.7363 2.57973 17.3745 2.49955 17.0083 2.5H3.535L3.5 2.2075C3.42837 1.59951 3.13615 1.03894 2.67874 0.632065C2.22133 0.225186 1.63052 0.000284828 1.01833 0L0.833333 0C0.61232 0 0.400358 0.0877974 0.244078 0.244078C0.0877974 0.400358 0 0.61232 0 0.833333C0 1.05435 0.0877974 1.26631 0.244078 1.42259C0.400358 1.57887 0.61232 1.66667 0.833333 1.66667H1.01833C1.22244 1.66669 1.41945 1.74163 1.57198 1.87726C1.72451 2.0129 1.82195 2.19979 1.84583 2.4025L2.9925 12.1525C3.11154 13.1665 3.59873 14.1015 4.36159 14.78C5.12445 15.4585 6.10988 15.8334 7.13083 15.8333H15.8333C16.0543 15.8333 16.2663 15.7455 16.4226 15.5893C16.5789 15.433 16.6667 15.221 16.6667 15C16.6667 14.779 16.5789 14.567 16.4226 14.4107C16.2663 14.2545 16.0543 14.1667 15.8333 14.1667H7.13083C6.61505 14.1652 6.11233 14.0043 5.69161 13.7059C5.27089 13.4075 4.95276 12.9863 4.78083 12.5H14.7142C15.6911 12.5001 16.637 12.1569 17.3865 11.5304C18.1361 10.9039 18.6417 10.0339 18.815 9.0725L19.4692 5.44417C19.5345 5.08417 19.5198 4.71422 19.4262 4.36053C19.3326 4.00684 19.1623 3.67806 18.9275 3.3975Z\", \"nonzero\"],\n [\"M5.83329 20.0005C6.75376 20.0005 7.49995 19.2543 7.49995 18.3339C7.49995 17.4134 6.75376 16.6672 5.83329 16.6672C4.91282 16.6672 4.16663 17.4134 4.16663 18.3339C4.16663 19.2543 4.91282 20.0005 5.83329 20.0005Z\", \"nonzero\"],\n [\"M14.1667 20.0005C15.0871 20.0005 15.8333 19.2543 15.8333 18.3339C15.8333 17.4134 15.0871 16.6672 14.1667 16.6672C13.2462 16.6672 12.5 17.4134 12.5 18.3339C12.5 19.2543 13.2462 20.0005 14.1667 20.0005Z\", \"nonzero\"],\n]);\n\nexport const category = icon(20, [\n [\"M5.83333 0H3.33333C1.49238 0 0 1.49238 0 3.33333V5.83333C0 7.67428 1.49238 9.16667 3.33333 9.16667H5.83333C7.67428 9.16667 9.16667 7.67428 9.16667 5.83333V3.33333C9.16667 1.49238 7.67428 0 5.83333 0Z\", \"nonzero\"],\n [\"M16.6665 0H14.1665C12.3256 0 10.8332 1.49239 10.8332 3.33334V5.83334C10.8332 7.67429 12.3256 9.16667 14.1665 9.16667H16.6665C18.5075 9.16667 19.9998 7.67429 19.9998 5.83334V3.33334C19.9998 1.49239 18.5075 0 16.6665 0Z\", \"nonzero\"],\n [\"M5.83333 10.8333H3.33333C1.49238 10.8333 0 12.3257 0 14.1667V16.6667C0 18.5076 1.49238 20 3.33333 20H5.83333C7.67428 20 9.16667 18.5076 9.16667 16.6667V14.1667C9.16667 12.3257 7.67428 10.8333 5.83333 10.8333Z\", \"nonzero\"],\n [\"M16.6665 10.8333H14.1665C12.3256 10.8333 10.8332 12.3257 10.8332 14.1667V16.6667C10.8332 18.5076 12.3256 20 14.1665 20H16.6665C18.5075 20 19.9998 18.5076 19.9998 16.6667V14.1667C19.9998 12.3257 18.5075 10.8333 16.6665 10.8333Z\", \"nonzero\"],\n]);\n\nexport const heart = icon(20, [\n [\"M14.5833 1.59711C13.6449 1.6117 12.727 1.87365 11.9223 2.3565C11.1175 2.83935 10.4544 3.526 9.99998 4.34711C9.54551 3.526 8.88242 2.83935 8.07767 2.3565C7.27293 1.87365 6.35502 1.6117 5.41664 1.59711C3.92076 1.6621 2.5114 2.31649 1.49646 3.4173C0.481525 4.51812 -0.0564834 5.97588 -2.45855e-05 7.47211C-2.45855e-05 11.2613 3.98831 15.3996 7.33331 18.2054C8.08016 18.833 9.02444 19.1771 9.99998 19.1771C10.9755 19.1771 11.9198 18.833 12.6666 18.2054C16.0116 15.3996 20 11.2613 20 7.47211C20.0564 5.97588 19.5184 4.51812 18.5035 3.4173C17.4886 2.31649 16.0792 1.6621 14.5833 1.59711Z\", \"nonzero\"],\n]);\n\nexport const history = icon(20, [\n [\"M11.6668 5.83333V0.383333C12.4377 0.674446 13.1379 1.12609 13.721 1.70833L16.6243 4.61333C17.2072 5.19573 17.6592 5.89575 17.9501 6.66667H12.5001C12.2791 6.66667 12.0672 6.57887 11.9109 6.42259C11.7546 6.26631 11.6668 6.05435 11.6668 5.83333ZM18.3335 8.7375V15.8333C18.3322 16.938 17.8927 17.997 17.1116 18.7782C16.3305 19.5593 15.2715 19.9987 14.1668 20H5.83348C4.72881 19.9987 3.66977 19.5593 2.88866 18.7782C2.10754 17.997 1.66813 16.938 1.66681 15.8333V4.16667C1.66813 3.062 2.10754 2.00296 2.88866 1.22185C3.66977 0.440735 4.72881 0.00132321 5.83348 0L9.59598 0C9.73181 0 9.86598 0.0108333 10.0001 0.02V5.83333C10.0001 6.49637 10.2635 7.13226 10.7324 7.6011C11.2012 8.06994 11.8371 8.33333 12.5001 8.33333H18.3135C18.3226 8.4675 18.3335 8.60167 18.3335 8.7375ZM11.6668 15.8333C11.6668 15.6123 11.579 15.4004 11.4227 15.2441C11.2665 15.0878 11.0545 15 10.8335 15H6.66681C6.4458 15 6.23383 15.0878 6.07755 15.2441C5.92127 15.4004 5.83348 15.6123 5.83348 15.8333C5.83348 16.0543 5.92127 16.2663 6.07755 16.4226C6.23383 16.5789 6.4458 16.6667 6.66681 16.6667H10.8335C11.0545 16.6667 11.2665 16.5789 11.4227 16.4226C11.579 16.2663 11.6668 16.0543 11.6668 15.8333ZM14.1668 12.5C14.1668 12.279 14.079 12.067 13.9227 11.9107C13.7665 11.7545 13.5545 11.6667 13.3335 11.6667H6.66681C6.4458 11.6667 6.23383 11.7545 6.07755 11.9107C5.92127 12.067 5.83348 12.279 5.83348 12.5C5.83348 12.721 5.92127 12.933 6.07755 13.0893C6.23383 13.2455 6.4458 13.3333 6.66681 13.3333H13.3335C13.5545 13.3333 13.7665 13.2455 13.9227 13.0893C14.079 12.933 14.1668 12.721 14.1668 12.5Z\", \"nonzero\"],\n]);\n\nexport const home = icon(20, [\n [\"M10 12.4932C8.6193 12.4932 7.5 13.6125 7.5 14.9932V19.9932H12.5V14.9932C12.5 13.6125 11.3807 12.4932 10 12.4932Z\", \"nonzero\"],\n [\"M14.1667 14.9935V19.9935H17.5C18.8807 19.9935 20 18.8742 20 17.4935V9.89268C20.0002 9.45975 19.832 9.04373 19.5308 8.73268L12.4492 1.07682C11.1996 -0.275135 9.09074 -0.358143 7.73879 0.891389C7.67457 0.950764 7.6127 1.0126 7.55336 1.07682L0.48418 8.73018C0.173945 9.04252 -0.000117128 9.46494 5.9134e-08 9.90518V17.4935C5.9134e-08 18.8742 1.1193 19.9935 2.5 19.9935H5.83332V14.9935C5.84891 12.7212 7.68355 10.8655 9.89867 10.8121C12.1879 10.7569 14.1492 12.6441 14.1667 14.9935Z\", \"nonzero\"],\n [\"M10 12.4932C8.6193 12.4932 7.5 13.6125 7.5 14.9932V19.9932H12.5V14.9932C12.5 13.6125 11.3807 12.4932 10 12.4932Z\", \"nonzero\"],\n]);\n\nexport const points = icon(24, [\n [\"M2 15H11V24H7C5.67392 24 4.40215 23.4732 3.46447 22.5355C2.52678 21.5979 2 20.3261 2 19V15ZM24 11C24 11.5304 23.7893 12.0391 23.4142 12.4142C23.0391 12.7893 22.5304 13 22 13H13V8.957C12.664 8.983 12.329 9 12 9C11.671 9 11.336 8.983 11 8.957V13H2C1.46957 13 0.960859 12.7893 0.585786 12.4142C0.210714 12.0391 0 11.5304 0 11C0 9.93913 0.421427 8.92172 1.17157 8.17157C1.92172 7.42143 2.93913 7 4 7H5.738C5.1726 6.5016 4.7238 5.88488 4.42344 5.1936C4.12307 4.50232 3.97851 3.75341 4 3C4 2.73478 4.10536 2.48043 4.29289 2.29289C4.48043 2.10536 4.73478 2 5 2C5.26522 2 5.51957 2.10536 5.70711 2.29289C5.89464 2.48043 6 2.73478 6 3C6 5.622 8.371 6.53 10.174 6.841C9.50852 5.66105 9.10791 4.35037 9 3C9 2.20435 9.31607 1.44129 9.87868 0.87868C10.4413 0.31607 11.2044 0 12 0C12.7956 0 13.5587 0.31607 14.1213 0.87868C14.6839 1.44129 15 2.20435 15 3C14.8921 4.35037 14.4915 5.66105 13.826 6.841C15.629 6.53 18 5.622 18 3C18 2.73478 18.1054 2.48043 18.2929 2.29289C18.4804 2.10536 18.7348 2 19 2C19.2652 2 19.5196 2.10536 19.7071 2.29289C19.8946 2.48043 20 2.73478 20 3C20.0215 3.75341 19.8769 4.50232 19.5766 5.1936C19.2762 5.88488 18.8274 6.5016 18.262 7H20C21.0609 7 22.0783 7.42143 22.8284 8.17157C23.5786 8.92172 24 9.93913 24 11ZM11 3C11.1207 4.06283 11.4613 5.08891 12 6.013C12.5387 5.08891 12.8793 4.06283 13 3C13 2.73478 12.8946 2.48043 12.7071 2.29289C12.5196 2.10536 12.2652 2 12 2C11.7348 2 11.4804 2.10536 11.2929 2.29289C11.1054 2.48043 11 2.73478 11 3ZM13 24H17C17.6566 24 18.3068 23.8707 18.9134 23.6194C19.52 23.3681 20.0712 22.9998 20.5355 22.5355C20.9998 22.0712 21.3681 21.52 21.6194 20.9134C21.8707 20.3068 22 19.6566 22 19V15H13V24Z\", \"nonzero\"],\n]);\n\nexport const star = icon(24, [\n [\"M19.53 23.194L12.063 17.706L4.596 23.194L7.463 14.331L0 8.878L9.214 8.878L12.063 0L14.912 8.878L24.125 8.878L16.663 14.331L19.53 23.194Z\", \"nonzero\"],\n]);\n\nexport const truck = icon(24, [\n [\"M15 17.9994H4C2.93913 17.9994 1.92172 17.5779 1.17157 16.8278C0.421427 16.0776 0 15.0602 0 13.9994V5.99936C0 4.67328 0.526784 3.40151 1.46447 2.46383C2.40215 1.52614 3.67392 0.999359 5 0.999359H10C10.6566 0.999359 11.3068 1.12869 11.9134 1.37996C12.52 1.63124 13.0712 1.99953 13.5355 2.46383C13.9998 2.92812 14.3681 3.47931 14.6194 4.08594C14.8707 4.69257 15 5.34275 15 5.99936V17.9994ZM24 10.9994V9.99936C24 9.34275 23.8707 8.69257 23.6194 8.08594C23.3681 7.47931 22.9998 6.92812 22.5355 6.46383C22.0712 5.99953 21.52 5.63124 20.9134 5.37996C20.3068 5.12869 19.6566 4.99936 19 4.99936H17V10.9994H24ZM17 12.9994V17.9994H20C21.0609 17.9994 22.0783 17.5779 22.8284 16.8278C23.5786 16.0776 24 15.0602 24 13.9994V12.9994H17ZM4.058 19.9994C4.02137 20.1636 4.00193 20.3311 4 20.4994C4 21.1624 4.26339 21.7983 4.73223 22.2671C5.20107 22.736 5.83696 22.9994 6.5 22.9994C7.16304 22.9994 7.79893 22.736 8.26777 22.2671C8.73661 21.7983 9 21.1624 9 20.4994C8.99807 20.3311 8.97863 20.1636 8.942 19.9994H4.058ZM15.058 19.9994C15.0214 20.1636 15.0019 20.3311 15 20.4994C15 21.1624 15.2634 21.7983 15.7322 22.2671C16.2011 22.736 16.837 22.9994 17.5 22.9994C18.163 22.9994 18.7989 22.736 19.2678 22.2671C19.7366 21.7983 20 21.1624 20 20.4994C19.9981 20.3311 19.9786 20.1636 19.942 19.9994H15.058Z\", \"nonzero\"],\n]);\n","import * as outline from './outline.js';\nimport * as solid from './solid.js';\n\n/** Matches the `<SnackyIcons.outline.home />` / `<SnackyIcons.solid.home />` namespace used throughout the design system's documented code samples. */\nexport const SnackyIcons = { outline, solid };\nexport type { IconProps } from './types.js';\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { SnackyIcons } from '../../icons/index.js';\nimport './Header.css';\n\nexport type HeaderLeadingIcon = 'back' | 'close';\n\nexport interface HeaderProps {\n title: string;\n /** Back drills deeper into a flow (goes to the previous screen); Close dismisses it entirely. */\n leadingIcon?: HeaderLeadingIcon;\n onLeadingClick?: () => void;\n /** Only ever pairs with leadingIcon=\"close\", never \"back\", per the documented variants. */\n trailingIcon?: ReactNode;\n onTrailingClick?: () => void;\n className?: string;\n}\n\n/**\n * Snacky Header - page header bar. Title always centers in the remaining\n * space - when a leading icon is present but there's no trailing action,\n * the title row gets matching right padding so it stays optically centered\n * against the whole bar, not just the leftover space next to the icon.\n */\nexport function Header({ title, leadingIcon, onLeadingClick, trailingIcon, onTrailingClick, className }: HeaderProps) {\n const LeadingIconEl = leadingIcon === 'back' ? SnackyIcons.outline.back : SnackyIcons.outline.close;\n return (\n <header className={cx('snacky-header', className)}>\n {leadingIcon && (\n <button\n type=\"button\"\n className=\"snacky-header__icon-btn\"\n onClick={onLeadingClick}\n aria-label={leadingIcon === 'back' ? 'Back' : 'Close'}\n >\n <LeadingIconEl width={24} height={24} />\n </button>\n )}\n <div className={cx('snacky-header__title-row', leadingIcon && !trailingIcon && 'snacky-header__title-row--balance')}>\n <span className=\"snacky-header__title\">{title}</span>\n </div>\n {trailingIcon && (\n <button type=\"button\" className=\"snacky-header__icon-btn\" onClick={onTrailingClick} aria-label=\"Action\">\n {trailingIcon}\n </button>\n )}\n </header>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Banner.css';\n\nexport interface ImageBannerProps {\n imageUrl: string;\n alt: string;\n onClick?: () => void;\n className?: string;\n}\n\n/** Snacky Hero Banner - main promo carousel image. */\nexport function HeroBanner({ imageUrl, alt, onClick, className }: ImageBannerProps) {\n return <img src={imageUrl} alt={alt} onClick={onClick} className={cx('snacky-banner-hero', className)} />;\n}\n\n/** Snacky Square Banner - featured category tile (Discount / Favourites / Deals). */\nexport function SquareBanner({ imageUrl, alt, onClick, className }: ImageBannerProps) {\n return <img src={imageUrl} alt={alt} onClick={onClick} className={cx('snacky-banner-square', className)} />;\n}\n\n/** Snacky Full-width Banner - prominent promotional banner on detail pages. */\nexport function FullWidthBanner({ imageUrl, alt, onClick, className }: ImageBannerProps) {\n return <img src={imageUrl} alt={alt} onClick={onClick} className={cx('snacky-banner-full', className)} />;\n}\n\nexport interface PointBalanceBannerProps {\n pointsIcon: ReactNode;\n points: string;\n balanceIcon: ReactNode;\n balance: string;\n className?: string;\n}\n\n/** Snacky Point Balance Banner - loyalty points + wallet balance summary strip. */\nexport function PointBalanceBanner({ pointsIcon, points, balanceIcon, balance, className }: PointBalanceBannerProps) {\n return (\n <div className={cx('snacky-banner-point-balance', className)}>\n <div className=\"snacky-banner-point-balance__item\">\n <span className=\"snacky-banner-point-balance__icon\">{pointsIcon}</span>\n <div>\n <p className=\"snacky-banner-point-balance__label\">Points</p>\n <p className=\"snacky-banner-point-balance__value\">{points}</p>\n </div>\n </div>\n <div className=\"snacky-banner-point-balance__divider\" />\n <div className=\"snacky-banner-point-balance__item\">\n <span className=\"snacky-banner-point-balance__icon\">{balanceIcon}</span>\n <div>\n <p className=\"snacky-banner-point-balance__label\">Balance</p>\n <p className=\"snacky-banner-point-balance__value\">{balance}</p>\n </div>\n </div>\n </div>\n );\n}\n\nexport interface AlertBannerProps {\n message: string;\n countdown?: string;\n className?: string;\n}\n\n/** Snacky Alert Banner - inline info/warning strip, optionally with a countdown. */\nexport function AlertBanner({ message, countdown, className }: AlertBannerProps) {\n return (\n <div className={cx('snacky-banner-alert', className)}>\n <p className=\"snacky-banner-alert__message\">{message}</p>\n {countdown && <p className=\"snacky-banner-alert__countdown\">{countdown}</p>}\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './PageIndicator.css';\n\nexport interface PageIndicatorProps {\n /** How many pages the carousel has. */\n count: number;\n /** Zero-based index of the page currently shown. */\n activeIndex: number;\n /**\n * Announced to screen readers, defaulting to \"Page 2 of 3\". Pass your own\n * when the pages are not pages (a step counter, an onboarding sequence).\n */\n ariaLabel?: string;\n className?: string;\n}\n\n/**\n * Snacky Page Indicator - the dot row under a carousel. Figma draws the current\n * page as a 28x8 pill and every other page as an 8x8 dot, 4 apart, and the Home\n * hero carousel sits it 10 below the banner, centred.\n *\n * It reports position, it does not change it: the dots are decoration to a\n * screen reader and the row carries the label instead. Make the carousel itself\n * keyboard operable; do not wire clicks onto these.\n */\nexport function PageIndicator({ count, activeIndex, ariaLabel, className }: PageIndicatorProps) {\n return (\n <div\n className={cx('snacky-page-indicator', className)}\n role=\"status\"\n aria-label={ariaLabel ?? `Page ${activeIndex + 1} of ${count}`}\n >\n {Array.from({ length: count }, (_, i) => (\n <span\n key={i}\n aria-hidden=\"true\"\n className={cx('snacky-page-indicator__dot', i === activeIndex && 'snacky-page-indicator__dot--active')}\n />\n ))}\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Badge.css';\n\nexport interface NotificationBadgeProps {\n count: number;\n max?: number;\n children: ReactNode;\n className?: string;\n}\n\n/** Snacky Notification Badge - numeric count overlay on an icon (e.g. cart). */\nexport function NotificationBadge({ count, max = 99, children, className }: NotificationBadgeProps) {\n if (count <= 0) return <>{children}</>;\n return (\n <span className={cx('snacky-badge-wrap', className)}>\n {children}\n <span className=\"snacky-badge-notification\">{count > max ? `${max}+` : count}</span>\n </span>\n );\n}\n\nexport interface DiscountTagProps {\n label: string;\n className?: string;\n}\n\n/** Snacky Discount Tag - inline promo/percentage-off tag, e.g. on Product Card. */\nexport function DiscountTag({ label, className }: DiscountTagProps) {\n return <span className={cx('snacky-discount-tag', className)}>{label}</span>;\n}\n\nexport interface SoldOutBadgeProps {\n className?: string;\n}\n\n/** Snacky Sold Out Badge - absolute overlay on a product image. Position it with your own layout. */\nexport function SoldOutBadge({ className }: SoldOutBadgeProps) {\n return <span className={cx('snacky-soldout-badge', className)}>Sold Out</span>;\n}\n\nexport interface InfoBadgeProps {\n /** The whole string, including its own prefix if it has one - Figma draws this as a single text node (\"Variant: 75 Grams\", \"Points: 20,000\"). */\n label: string;\n /** Optional 12x12 leading icon. Its presence is the only structural difference between Figma's `Property 2=variant` and `Property 2=points`. */\n icon?: ReactNode;\n className?: string;\n}\n\n/**\n * Snacky Info Badge - static, non-interactive `Label: Value` chip on the\n * accent-highlighted style, for a single attribute of something: the selected\n * product variant, a loyalty points total, and so on.\n *\n * Named for the shape of the information, not one use of it. It was\n * `VariantBadge` until Figma grew a second use (`Points: 20,000` in the Home\n * header), which was identical apart from the icon - so the icon became a slot\n * rather than the pattern becoming a second component.\n */\nexport function InfoBadge({ label, icon, className }: InfoBadgeProps) {\n return (\n <span className={cx('snacky-info-badge', className)}>\n {icon && <span className=\"snacky-info-badge__icon\">{icon}</span>}\n {label}\n </span>\n );\n}\n\n/** @deprecated Renamed to {@link InfoBadge} in 0.8.0 - the same component, now with an optional `icon`. This alias will be removed in a future release. */\nexport const VariantBadge = InfoBadge;\n/** @deprecated Renamed to {@link InfoBadgeProps} in 0.8.0. */\nexport type VariantBadgeProps = InfoBadgeProps;\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Callout.css';\n\nexport type CalloutVariant = 'received' | 'sent' | 'pending';\n\nexport interface CalloutProps {\n message: string;\n timestamp: string;\n variant: CalloutVariant;\n /** Sent shows a checkmark, Pending a clock - pass your own icon for either. */\n statusIcon?: ReactNode;\n className?: string;\n}\n\n/** Snacky Callout - chat message bubble. Received aligns left/white, Sent/Pending align right/accent. */\nexport function Callout({ message, timestamp, variant, statusIcon, className }: CalloutProps) {\n return (\n <div className={cx('snacky-callout', `snacky-callout--${variant}`, className)}>\n <p className=\"snacky-callout__message\">{message}</p>\n <span className=\"snacky-callout__meta\">\n {timestamp}\n {statusIcon && variant !== 'received' && <span className=\"snacky-callout__meta-icon\">{statusIcon}</span>}\n </span>\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport { Button } from '../Button/Button.js';\nimport './List.css';\n\nexport type OrderStatus = 'waiting' | 'process' | 'processCod' | 'shipped' | 'received' | 'cancelled';\n\nconst STATUS_LABEL: Record<OrderStatus, string> = {\n waiting: 'Waiting for Payment',\n process: 'Order Processing',\n processCod: 'Order Processing',\n shipped: 'Order Shipped',\n received: 'Order Received',\n cancelled: 'Order Cancelled',\n};\n\nconst STATUS_ACTION: Partial<Record<OrderStatus, string>> = {\n shipped: 'Track Shipment',\n received: 'Buy Again',\n cancelled: 'Buy Again',\n};\n\nexport interface OrderListItemProps {\n productImage: string;\n /** The first/representative product in the order, shown next to the status. */\n productName: string;\n status: OrderStatus;\n /** e.g. \"2 products\" */\n itemsSummary: string;\n /** e.g. \"Rp 8,000\" */\n total: string;\n /** Waiting status only, e.g. \"Dec 30, 11:00\" */\n paymentDeadline?: string;\n /** Overrides the status-derived CTA label (Track Shipment / Buy Again). */\n actionLabel?: string;\n onAction?: () => void;\n /** Card click, e.g. to open order detail. */\n onClick?: () => void;\n className?: string;\n}\n\n/**\n * Snacky Order List Item - order summary card. Layout, CTA, and the COD chip\n * / payment-deadline banner are all driven by `status`, matching the real\n * per-status variants (Waiting/Process/Process COD/Shipped/Received/Cancelled).\n */\nexport function OrderListItem({\n productImage,\n productName,\n status,\n itemsSummary,\n total,\n paymentDeadline,\n actionLabel,\n onAction,\n onClick,\n className,\n}: OrderListItemProps) {\n const action = actionLabel ?? STATUS_ACTION[status];\n const isCod = status === 'processCod';\n\n return (\n <div\n className={cx('snacky-order-item', className)}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onClick={onClick}\n onKeyDown={onClick ? (e) => (e.key === 'Enter' || e.key === ' ') && onClick() : undefined}\n >\n <div className=\"snacky-order-item__top\">\n <div className=\"snacky-order-item__thumb-box\">\n <img className=\"snacky-order-item__thumb\" src={productImage} alt=\"\" />\n </div>\n <div className=\"snacky-order-item__info\">\n <span\n className={cx('snacky-order-item__status', status === 'cancelled' && 'snacky-order-item__status--cancelled')}\n >\n {STATUS_LABEL[status]}\n </span>\n <span className=\"snacky-order-item__name\">{productName}</span>\n </div>\n </div>\n\n <div className=\"snacky-order-item__details\">\n <span className=\"snacky-order-item__count\">{itemsSummary}</span>\n <span className={cx('snacky-order-item__total', isCod && 'snacky-order-item__total--cod')}>\n Order Total: <b>{total}</b>\n </span>\n {isCod && <span className=\"snacky-order-item__cod\">COD</span>}\n </div>\n\n {status === 'waiting' && paymentDeadline && (\n <div className=\"snacky-order-item__deadline\">Pay before {paymentDeadline}</div>\n )}\n\n {action && (\n <div className=\"snacky-order-item__action-row\">\n <Button\n variant=\"primary\"\n onClick={(e) => {\n e.stopPropagation();\n onAction?.();\n }}\n >\n {action}\n </Button>\n </div>\n )}\n </div>\n );\n}\n\nexport interface NotificationListItemProps {\n title: string;\n message: string;\n unread?: boolean;\n onClick?: () => void;\n className?: string;\n}\n\n/** Snacky Notification List Item - accent-tinted background for unread items. */\nexport function NotificationListItem({ title, message, unread = false, onClick, className }: NotificationListItemProps) {\n return (\n <div\n className={cx('snacky-notif-item', unread && 'snacky-notif-item--unread', className)}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onClick={onClick}\n onKeyDown={onClick ? (e) => (e.key === 'Enter' || e.key === ' ') && onClick() : undefined}\n >\n <span className=\"snacky-notif-item__title\">{title}</span>\n <span className=\"snacky-notif-item__message\">{message}</span>\n </div>\n );\n}\n","import { useId, useState, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './Accordion.css';\n\nexport interface AccordionProps {\n title: string;\n /** When passed, uses the compact 12px title (icon-slot variant) - e.g. a payment-method logo. */\n leadingIcon?: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n className?: string;\n}\n\n/**\n * Snacky Accordion - header and (when open) panel render as two separate\n * elevated cards with a small gap between them, not one continuous card;\n * title size responds to whether `leadingIcon` is passed (matches the\n * Figma source, which models icon presence as a real variant rather than\n * optional content). Neither state ever has a border, only elevation.\n */\nexport function Accordion({ title, leadingIcon, children, defaultOpen = false, className }: AccordionProps) {\n const [open, setOpen] = useState(defaultOpen);\n const panelId = useId();\n\n return (\n <div className={cx('snacky-accordion', !!leadingIcon && 'snacky-accordion--icon', className)}>\n <button\n type=\"button\"\n className=\"snacky-accordion__header\"\n aria-expanded={open}\n aria-controls={panelId}\n onClick={() => setOpen((v) => !v)}\n >\n {leadingIcon && <span className=\"snacky-accordion__icon\">{leadingIcon}</span>}\n <span className=\"snacky-accordion__title\">{title}</span>\n <svg\n className={cx('snacky-accordion__chevron', open && 'snacky-accordion__chevron--open')}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n {open && (\n <div id={panelId} className=\"snacky-accordion__panel\">\n {children}\n </div>\n )}\n </div>\n );\n}\n","import { useEffect, type ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport './BottomSheet.css';\n\nexport interface BottomSheetProps {\n open: boolean;\n onDismiss: () => void;\n children: ReactNode;\n /** Show the drag-handle bar. Defaults to false because 8 of Figma's 9\n * Modal variants have no handle. The `driver` variant does: it draws a\n * visible 40x4 `Driver Slider` (node 8693:6233). An earlier pass read\n * that as \"no variant shows one\", which was wrong, so a Driver Tracking\n * composition should pass showHandle. */\n showHandle?: boolean;\n className?: string;\n}\n\n/**\n * Snacky Bottom Sheet - the shared modal shell every documented Modal\n * \"variant\" (Welcome, Success, Confirmation, Calendar, Variants Selector,\n * Payment Methods, Buyer Reviews, Driver Tracking) composes from, matching\n * `SnackyBottomSheet(onDismiss = {...}) { ...content... }` in the code samples.\n * 20px radius on top corners only, dim overlay backdrop, dismiss on\n * backdrop click or Escape.\n */\nexport function BottomSheet({ open, onDismiss, children, showHandle = false, className }: BottomSheetProps) {\n useEffect(() => {\n if (!open) return;\n function onKeyDown(e: KeyboardEvent) {\n if (e.key === 'Escape') onDismiss();\n }\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [open, onDismiss]);\n\n if (!open) return null;\n\n return (\n <div className=\"snacky-sheet-overlay\" onClick={onDismiss}>\n <div\n className={cx('snacky-sheet', className)}\n role=\"dialog\"\n aria-modal=\"true\"\n onClick={(e) => e.stopPropagation()}\n >\n {showHandle && <div className=\"snacky-sheet__handle\" />}\n {children}\n </div>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { angleSmallRight as AngleSmallRightIcon } from '../../icons/solid.js';\nimport { IconButton } from '../IconButton/IconButton.js';\nimport './Section.css';\n\nexport interface SectionProps {\n title: string;\n /** \"See more\" action, shown when provided: Figma's small Icon-Button (24px circle, full-size angle chevron). */\n onAction?: () => void;\n children: ReactNode;\n className?: string;\n}\n\n/**\n * Snacky Section - the shared content-block shell every documented Section\n * \"variant\" (Variant Selector, Product Description, Buyer Reviews, product\n * rows, Order Summary, etc.) composes from, matching\n * `SnackySection(title = \"...\", onAction = {...}) { ...content... }`.\n */\nexport function Section({ title, onAction, children, className }: SectionProps) {\n return (\n <section className={cx('snacky-section', className)}>\n <div className=\"snacky-section__header\">\n <h3 className=\"snacky-section__title\">{title}</h3>\n {onAction && (\n <IconButton size=\"small\" icon={<AngleSmallRightIcon />} onClick={onAction} ariaLabel={`See more: ${title}`} />\n )}\n </div>\n {children}\n </section>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport { close as CloseIcon } from '../../icons/outline.js';\nimport './Stepper.css';\n\nexport type StepState = 'done' | 'pending' | 'cancelled';\n\nexport interface Step {\n label: string;\n /** Optional timestamp line under the label, e.g. \"Dec 30, 11:00 AM\". */\n timestamp?: string;\n state: StepState;\n}\n\nexport interface StepperProps {\n steps: Step[];\n className?: string;\n}\n\n/**\n * Snacky Stepper - the vertical order-progress timeline behind Section's four\n * `order-status-*` variants and Modal's driver-tracking sheet.\n *\n * This pattern was drawn by hand in every screen that used it before becoming a\n * component: Figma has 19 copies of it across 5 documented variants, under two\n * different frame names (`Order status step` in Section, `Driver Order Status\n * Item` in Modal), with the dot already named like a component variant\n * (`Progress dot/active`, `Progress dot/disabled`).\n *\n * The state names here come from the dots' real fills, not those Figma layer\n * names - `order-status-received` has a dot named \"disabled\" that is filled\n * icon-brand, i.e. actually done. Trusting the name would have produced a grey\n * dot in a completed timeline.\n */\nexport function Stepper({ steps, className }: StepperProps) {\n return (\n <ol className={cx('snacky-stepper', className)}>\n {steps.map((step, i) => (\n <li\n key={`${step.label}-${i}`}\n className={cx('snacky-stepper__step', i === steps.length - 1 && 'snacky-stepper__step--last')}\n >\n <span className={cx('snacky-stepper__dot', `snacky-stepper__dot--${step.state}`)}>\n {step.state === 'cancelled' && <CloseIcon width={12} height={12} />}\n </span>\n <span className=\"snacky-stepper__body\">\n <span className={cx('snacky-stepper__label', `snacky-stepper__label--${step.state}`)}>\n {step.label}\n </span>\n {step.timestamp && <span className=\"snacky-stepper__time\">{step.timestamp}</span>}\n </span>\n </li>\n ))}\n </ol>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport { back as BackIcon } from '../../icons/outline.js';\nimport { Button } from '../Button/Button.js';\nimport './Calendar.css';\n\nexport interface CalendarProps {\n /** Month shown, as any day within it. */\n month: Date;\n onPrevMonth?: () => void;\n onNextMonth?: () => void;\n /** Selected day, or the two ends of a selected range. */\n selected?: Date | [Date, Date];\n onSelect?: (day: Date) => void;\n /** Days that get the small accent dot under them, e.g. days with an order. */\n marked?: Date[];\n actionLabel?: string;\n onAction?: () => void;\n className?: string;\n}\n\nconst WEEKDAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst MONTHS = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n];\n\nconst sameDay = (a: Date, b: Date) =>\n a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n\n/**\n * Whole weeks covering the month, padded with the neighbouring months' days.\n * Only as many rows as the month actually needs - five for a month like June\n * 2021, six when one is genuinely required - which is what makes the grid match\n * Figma's 325px `date` frame instead of always reserving a sixth row.\n */\nfunction buildGrid(month: Date): Date[] {\n const first = new Date(month.getFullYear(), month.getMonth(), 1);\n const last = new Date(month.getFullYear(), month.getMonth() + 1, 0);\n const start = new Date(first);\n start.setDate(1 - first.getDay());\n const end = new Date(last);\n end.setDate(last.getDate() + (6 - last.getDay()));\n const days: Date[] = [];\n for (let d = new Date(start); d <= end; d.setDate(d.getDate() + 1)) {\n days.push(new Date(d));\n }\n return days;\n}\n\n/**\n * Snacky Calendar - the month grid behind Modal's `Calendar` variant, and the\n * panel the Input family's Date Picker field is meant to open.\n *\n * Figma already had this as a COMPONENT (360x505) with a full structure -\n * header, weekday row, six date rows, a range highlight and a Select Date\n * button - but no package ever shipped it, so the Date Picker field existed as\n * a component while the calendar it opens did not. Every screen that needed one\n * drew its own grid.\n */\nexport function Calendar({\n month,\n onPrevMonth,\n onNextMonth,\n selected,\n onSelect,\n marked = [],\n actionLabel = 'Select Date',\n onAction,\n className,\n}: CalendarProps) {\n const days = buildGrid(month);\n const range = Array.isArray(selected) ? selected : null;\n const single = selected instanceof Date ? selected : null;\n const [lo, hi] = range\n ? [range[0], range[1]].sort((a, b) => a.getTime() - b.getTime())\n : [null, null];\n\n const isEnd = (d: Date) =>\n (single && sameDay(d, single)) || (lo && hi && (sameDay(d, lo) || sameDay(d, hi)));\n const isInRange = (d: Date) => lo && hi && d > lo && d < hi;\n\n return (\n <div className={cx('snacky-calendar', className)}>\n <div className=\"snacky-calendar__header\">\n <button\n type=\"button\"\n className=\"snacky-calendar__nav\"\n onClick={onPrevMonth}\n aria-label=\"Previous month\"\n >\n <BackIcon width={24} height={24} />\n </button>\n <span className=\"snacky-calendar__label\">\n {MONTHS[month.getMonth()]} {month.getFullYear()}\n </span>\n <button\n type=\"button\"\n className=\"snacky-calendar__nav snacky-calendar__nav--next\"\n onClick={onNextMonth}\n aria-label=\"Next month\"\n >\n <BackIcon width={24} height={24} />\n </button>\n </div>\n\n <div className=\"snacky-calendar__grid\">\n {WEEKDAYS.map((d) => (\n <span key={d} className=\"snacky-calendar__weekday\">\n {d}\n </span>\n ))}\n {days.map((d, i) => {\n const outside = d.getMonth() !== month.getMonth();\n return (\n <button\n key={i}\n type=\"button\"\n className={cx(\n 'snacky-calendar__day',\n outside && 'snacky-calendar__day--outside',\n isInRange(d) && 'snacky-calendar__day--in-range',\n isEnd(d) && 'snacky-calendar__day--selected'\n )}\n onClick={() => onSelect?.(d)}\n disabled={outside}\n aria-current={isEnd(d) ? 'date' : undefined}\n >\n <span className=\"snacky-calendar__day-number\">{d.getDate()}</span>\n {marked.some((m) => sameDay(m, d)) && <span className=\"snacky-calendar__marker\" />}\n </button>\n );\n })}\n </div>\n\n {onAction && (\n <Button onClick={onAction} style={{ width: '100%' }}>\n {actionLabel}\n </Button>\n )}\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './Avatar.css';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport interface AvatarProps {\n src: string;\n alt: string;\n size?: AvatarSize;\n className?: string;\n}\n\n/** Snacky Avatar - circular profile photo in three fixed sizes (32 / 56 / 72px). */\nexport function Avatar({ src, alt, size = 'md', className }: AvatarProps) {\n return <img src={src} alt={alt} className={cx('snacky-avatar', `snacky-avatar--${size}`, className)} />;\n}\n","import { cx } from '../../utils/cx.js';\nimport './Illustration.css';\n\nexport type IllustrationVariant = 'empty' | 'createAccount' | 'welcome' | 'success' | 'discountReferral';\n\nconst SIZE: Record<IllustrationVariant, { width: number; height: number }> = {\n empty: { width: 268, height: 200 },\n createAccount: { width: 360, height: 240 },\n welcome: { width: 200, height: 200 },\n success: { width: 200, height: 200 },\n discountReferral: { width: 268, height: 200 },\n};\n\nexport interface IllustrationProps {\n variant: IllustrationVariant;\n /** Your own export of this illustration - this package ships no artwork. */\n src: string;\n alt: string;\n className?: string;\n}\n\n/**\n * Snacky Illustration - decorative spot illustration for empty states,\n * onboarding and confirmations.\n *\n * ```tsx\n * <Illustration variant=\"empty\" src=\"/img/empty.svg\" alt=\"No products found\" />\n * ```\n *\n * This ships no artwork, deliberately, and that is the normal split - Material,\n * Radix and Chakra ship none either. What belongs in a design system is the\n * documented canvas size per variant, which is what this owns; the Snacky\n * artwork itself is modified stock and is not ours to redistribute.\n *\n * Export your own at the variant's ratio (SVG preferred) and serve it wherever\n * your app already serves static assets. Open Peeps (openpeeps.com) is CC0 and\n * drops in cleanly; unDraw (undraw.co) is free without attribution but its\n * licence forbids redistributing assets \"in packs\", so keep it inside your own\n * app. See the package README for the fuller note.\n */\nexport function Illustration({ variant, src, alt, className }: IllustrationProps) {\n const { width, height } = SIZE[variant];\n return <img src={src} alt={alt} width={width} height={height} className={cx('snacky-illustration', className)} />;\n}\n","import { cx } from '../../utils/cx.js';\nimport './ProductImage.css';\n\nexport type ProductImageUsage = 'product-card' | 'product-details' | 'list' | 'review' | 'variant' | 'accordion-modal';\n\nexport interface ProductImageProps {\n src: string;\n alt: string;\n usage: ProductImageUsage;\n /** Overlays a centered \"Sold Out\" badge - product-card and product-details only. */\n sold?: boolean;\n className?: string;\n}\n\n/**\n * Snacky Product Image - adapts its frame size/border to where it appears:\n * product-card (128) and product-details (200) are bare transparent images;\n * list (56/48 inner) and review (48/40 inner, bordered) wrap in a padded\n * frame; variant (88) is a bordered selection frame; accordion-modal (24)\n * renders a payment-method logo instead of a product photo.\n */\nexport function ProductImage({ src, alt, usage, sold = false, className }: ProductImageProps) {\n return (\n <span className={cx('snacky-product-image-wrap', `snacky-product-image-wrap--${usage}`, className)}>\n <img src={src} alt={alt} className={cx('snacky-product-image', `snacky-product-image--${usage}`)} />\n {sold && (\n <span className=\"snacky-product-image-sold-overlay\">\n <span className=\"snacky-product-image-sold-label\">Sold Out</span>\n </span>\n )}\n </span>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { DiscountTag } from '../Badge/Badge.js';\nimport { SoldOutBadge } from '../Badge/Badge.js';\nimport { IconButton } from '../IconButton/IconButton.js';\n// Real icons as the fallback for every icon slot. These used to default to\n// emoji/text glyphs, which meant a caller who omitted the prop silently got\n// an emoji instead of the design system's own set, the exact thing the docs\n// tell integrators never to do. Sizes match index.html's verified preview:\n// 20px in the details actions, 16px in the list card's cart button.\nimport { cartAdd as CartAddIcon, chat as ChatIcon, heart as HeartOutlineIcon, share as ShareIcon } from '../../icons/outline.js';\nimport { heart as HeartSolidIcon, star as StarIcon } from '../../icons/solid.js';\nimport './ProductCard.css';\n\ninterface BaseProductCardProps {\n productName: string;\n imageUrl: string;\n price: string;\n rating: number;\n onClick?: () => void;\n className?: string;\n}\n\nexport interface ProductCardListProps extends BaseProductCardProps {\n variant?: 'list';\n originalPrice?: string;\n discountLabel?: string;\n onAddToCart: () => void;\n cartIcon?: ReactNode;\n ratingIcon?: ReactNode;\n}\n\nexport interface ProductCardDetailsProps extends BaseProductCardProps {\n variant: 'details';\n originalPrice?: string;\n discountLabel?: string;\n ratingCount: number;\n favorited: boolean;\n onFavoriteClick: () => void;\n onShareClick: () => void;\n onChatClick: () => void;\n sold?: boolean;\n ratingIcon?: ReactNode;\n favoriteIcon?: ReactNode;\n shareIcon?: ReactNode;\n chatIcon?: ReactNode;\n}\n\nexport type ProductCardProps = ProductCardListProps | ProductCardDetailsProps;\n\n/**\n * Snacky Product Card - `list` (default) for horizontal carousels/2-column\n * grids, `details` for the product detail page with rating count and\n * Favorite/Share/Chat actions.\n */\nexport function ProductCard(props: ProductCardProps) {\n if (props.variant === 'details') {\n const { productName, imageUrl, price, rating, originalPrice, discountLabel, ratingCount, favorited, onFavoriteClick, onShareClick, onChatClick, sold, ratingIcon, favoriteIcon, shareIcon, chatIcon, onClick, className } = props;\n return (\n <div className={cx('snacky-product-card', 'snacky-product-card--details', className)}>\n {/* Figma's details component is two stacked frames, not one flat column:\n an \"Image\" frame padded 12/8 (224 tall) and a \"Product details\n container\" padded 16/24 with an 8px gap (148 tall). Flattening them\n lost both paddings and came out 29px short. */}\n <div className=\"snacky-product-card__image-block\">\n <div className=\"snacky-product-card__image-wrap\" onClick={onClick}>\n <img className=\"snacky-product-card__image\" src={imageUrl} alt={productName} />\n {sold && (\n <span className=\"snacky-product-card__sold-overlay\">\n <SoldOutBadge />\n </span>\n )}\n </div>\n </div>\n <div className=\"snacky-product-card__details-body\">\n <p className=\"snacky-product-card__name\">{productName}</p>\n <div className=\"snacky-product-card__price-row\">\n <span className=\"snacky-product-card__price\">{price}</span>\n {originalPrice && <span className=\"snacky-product-card__original-price\">{originalPrice}</span>}\n {discountLabel && <DiscountTag label={discountLabel} />}\n </div>\n <div className=\"snacky-product-card__footer-row\">\n <span className=\"snacky-product-card__rating\">\n <span className=\"snacky-product-card__rating-icon\">{ratingIcon ?? <StarIcon width={16} height={16} />}</span>\n {rating} ({ratingCount})\n </span>\n <div className=\"snacky-product-card__actions snacky-product-card__actions--details\">\n {/* Solid heart when favorited, outline when not, mirroring index.html's fav-s/fav-o swap. */}\n <IconButton variant=\"secondary\" icon={favoriteIcon ?? (favorited ? <HeartSolidIcon width={20} height={20} /> : <HeartOutlineIcon width={20} height={20} />)} selected={favorited} onClick={onFavoriteClick} ariaLabel=\"Favorite\" />\n <IconButton variant=\"secondary\" icon={shareIcon ?? <ShareIcon width={20} height={20} />} onClick={onShareClick} ariaLabel=\"Share\" />\n <IconButton variant=\"secondary\" icon={chatIcon ?? <ChatIcon width={20} height={20} />} onClick={onChatClick} ariaLabel=\"Chat with seller\" />\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n const { productName, imageUrl, price, rating, originalPrice, discountLabel, onAddToCart, cartIcon, ratingIcon, onClick, className } = props;\n return (\n <div\n className={cx('snacky-product-card', 'snacky-product-card--list', className)}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(e) => (e.key === 'Enter' || e.key === ' ') && onClick?.()}\n >\n <div className=\"snacky-product-card__image-wrap\">\n <img className=\"snacky-product-card__image\" src={imageUrl} alt={productName} />\n {discountLabel && (\n <span className=\"snacky-product-card__discount\">\n <DiscountTag label={discountLabel} />\n </span>\n )}\n </div>\n <p className=\"snacky-product-card__name\">{productName}</p>\n <div className=\"snacky-product-card__price-row\">\n <span className=\"snacky-product-card__price\">{price}</span>\n {originalPrice && <span className=\"snacky-product-card__original-price\">{originalPrice}</span>}\n </div>\n <div className=\"snacky-product-card__footer-row\">\n <span className=\"snacky-product-card__rating\">\n <span className=\"snacky-product-card__rating-icon\">{ratingIcon ?? <StarIcon width={16} height={16} />}</span>\n {rating}\n </span>\n <IconButton\n variant=\"primary\"\n icon={cartIcon ?? <CartAddIcon width={16} height={16} />}\n onClick={(e) => {\n e.stopPropagation();\n onAddToCart();\n }}\n ariaLabel=\"Add to cart\"\n />\n </div>\n </div>\n );\n}\n","import { cx } from '../../utils/cx.js';\nimport './ImagePlaceholder.css';\n\nexport interface ImagePlaceholderProps {\n /** Match the width of the image slot this replaces. */\n width: number;\n /** Match the height of the image slot this replaces. */\n height: number;\n className?: string;\n}\n\n/**\n * Snacky Image Placeholder - a neutral \"no image yet\" state for any of this\n * package's required image slots (ProductCard, ProductImage, Avatar, the\n * Banner family, Illustration). This package ships no photography or\n * illustration artwork (see Illustration's own doc comment), so every image\n * prop is required rather than optional - pass this explicitly for a\n * genuinely empty state (a new product with no photo yet, a user with no\n * avatar) instead of inventing your own placeholder or leaving `src` empty,\n * which falls through to the browser's own broken-image icon.\n *\n * ```tsx\n * {photo ? (\n * <ProductCard imageUrl={photo} ... />\n * ) : (\n * <ImagePlaceholder width={152} height={128} />\n * )}\n * ```\n *\n * Standalone utility, not one of the 24 Figma-sourced components - there is\n * no Figma node for it. It exists to close a real integration gap without\n * reaching for stock imagery this package has no rights to bundle. Apply\n * your own border radius via `className` to match whatever slot it fills.\n */\nexport function ImagePlaceholder({ width, height, className }: ImagePlaceholderProps) {\n const iconSize = Math.round(Math.min(width, height) * 0.32);\n return (\n <div\n className={cx('snacky-image-placeholder', className)}\n style={{ width, height }}\n role=\"img\"\n aria-label=\"No image\"\n >\n <svg\n width={iconSize}\n height={iconSize}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <polyline points=\"21 15 16 10 5 21\" />\n </svg>\n </div>\n );\n}\n"],"mappings":"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","names":["Button","icon","forwardRef","jsx","forwardRef","IconButton","icon","forwardRef","jsx","jsx","forwardRef","UploadButton","icon","forwardRef","jsx","jsxs","forwardRef","TextField","forwardRef","jsx","jsxs","forwardRef","SearchField","jsx","jsx","jsxs","jsx","jsxs","jsx","jsxs","icon","jsx","jsxs","jsx","useId","jsx","jsxs","useId","useId","jsx","jsxs","useId","jsx","jsxs","jsx","jsxs","jsx","account","balance","bell","cart","category","heart","history","home","truck","jsx","icon","jsx","jsxs","jsx","jsxs","points","balance","jsx","jsx","jsxs","icon","jsx","jsxs","jsx","jsxs","useId","useState","jsx","jsxs","useState","useId","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsx","jsx","jsxs","jsx","jsxs","productName","imageUrl","price","rating","originalPrice","discountLabel","ratingIcon","onClick","className","heart","jsx","jsxs"]}