@egov3/system-design 2.1.49 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -29
- package/dist/cjs/components/Accordion/index.d.ts +8 -0
- package/dist/cjs/components/Button/index.d.ts +13 -0
- package/dist/cjs/components/Calendar/Body/index.d.ts +12 -0
- package/dist/cjs/components/Calendar/Footer/index.d.ts +9 -0
- package/dist/cjs/components/Calendar/Header/index.d.ts +8 -0
- package/dist/cjs/components/Calendar/Main/index.d.ts +9 -0
- package/dist/cjs/components/Calendar/index.d.ts +8 -0
- package/dist/cjs/components/InputField/index.d.ts +22 -0
- package/dist/cjs/components/Modal/index.d.ts +9 -0
- package/dist/cjs/components/RadioGroup/index.d.ts +20 -0
- package/dist/cjs/components/RadioToggle/index.d.ts +6 -0
- package/dist/cjs/components/SelectBoxButton/index.d.ts +9 -0
- package/dist/cjs/components/Typography/index.d.ts +8 -0
- package/dist/cjs/components/index.d.ts +20 -0
- package/dist/cjs/constants/calendar/index.d.ts +2 -0
- package/dist/cjs/index.d.ts +21 -0
- package/dist/cjs/index.js +3496 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/Calendar.d.ts +24 -0
- package/dist/cjs/stories/Accordion.stories.d.ts +7 -0
- package/dist/cjs/stories/Button.stories.d.ts +28 -0
- package/dist/cjs/stories/Calendar.stories.d.ts +6 -0
- package/dist/cjs/stories/CardWrapperItem.d.ts +4 -0
- package/dist/cjs/stories/InputField.stories.d.ts +22 -0
- package/dist/cjs/stories/Modal.stories.d.ts +8 -0
- package/dist/cjs/stories/RadioGroup.stories.d.ts +23 -0
- package/dist/cjs/stories/RadioToggle.stories.d.ts +13 -0
- package/dist/cjs/stories/Typography.stories.d.ts +12 -0
- package/dist/cjs/svg/ClearIcon.d.ts +4 -0
- package/dist/cjs/svg/index.d.ts +2 -0
- package/dist/cjs/utils/CreateArray.d.ts +1 -0
- package/dist/cjs/utils/GenerateArray.d.ts +1 -0
- package/dist/cjs/utils/date/convertType.d.ts +53 -0
- package/dist/cjs/utils/date/formatDate.d.ts +1 -0
- package/dist/cjs/utils/date/getDaysInMonth.d.ts +1 -0
- package/dist/cjs/utils/date/getMonthNameProper.d.ts +1 -0
- package/dist/cjs/utils/date/getValideMonth.d.ts +6 -0
- package/dist/cjs/utils/date/index.d.ts +6 -0
- package/dist/cjs/utils/date/inverseDate.d.ts +1 -0
- package/dist/cjs/utils/date/isValidateDate.d.ts +3 -0
- package/dist/cjs/utils/date/normalizeDayAndMonth.d.ts +2 -0
- package/dist/cjs/utils/date/range/getDaysRange.d.ts +2 -0
- package/dist/cjs/utils/date/range/getMonthRange.d.ts +1 -0
- package/dist/cjs/utils/date/range/getYearRange.d.ts +1 -0
- package/dist/cjs/utils/date/range/isValidDateRange.d.ts +3 -0
- package/dist/cjs/utils/joinClasses.d.ts +1 -0
- package/dist/cjs/utils/string/SetCharAt.d.ts +1 -0
- package/dist/cjs/utils/string/toPascalCase.d.ts +1 -0
- package/dist/esm/components/Accordion/index.d.ts +8 -0
- package/dist/esm/components/Button/index.d.ts +13 -0
- package/dist/esm/components/Calendar/Body/index.d.ts +12 -0
- package/dist/esm/components/Calendar/Footer/index.d.ts +9 -0
- package/dist/esm/components/Calendar/Header/index.d.ts +8 -0
- package/dist/esm/components/Calendar/Main/index.d.ts +9 -0
- package/dist/esm/components/Calendar/index.d.ts +8 -0
- package/dist/esm/components/InputField/index.d.ts +22 -0
- package/dist/esm/components/Modal/index.d.ts +9 -0
- package/dist/esm/components/RadioGroup/index.d.ts +20 -0
- package/dist/esm/components/RadioToggle/index.d.ts +6 -0
- package/dist/esm/components/SelectBoxButton/index.d.ts +9 -0
- package/dist/esm/components/Typography/index.d.ts +8 -0
- package/dist/esm/components/index.d.ts +20 -0
- package/dist/esm/constants/calendar/index.d.ts +2 -0
- package/dist/{index.d.ts → esm/index.d.ts} +6 -30
- package/dist/esm/index.js +3494 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/Calendar.d.ts +24 -0
- package/dist/esm/stories/Accordion.stories.d.ts +7 -0
- package/dist/esm/stories/Button.stories.d.ts +28 -0
- package/dist/esm/stories/Calendar.stories.d.ts +6 -0
- package/dist/esm/stories/CardWrapperItem.d.ts +4 -0
- package/dist/esm/stories/InputField.stories.d.ts +22 -0
- package/dist/esm/stories/Modal.stories.d.ts +8 -0
- package/dist/esm/stories/RadioGroup.stories.d.ts +23 -0
- package/dist/esm/stories/RadioToggle.stories.d.ts +13 -0
- package/dist/esm/stories/Typography.stories.d.ts +12 -0
- package/dist/esm/svg/ClearIcon.d.ts +4 -0
- package/dist/esm/svg/index.d.ts +2 -0
- package/dist/esm/utils/CreateArray.d.ts +1 -0
- package/dist/esm/utils/GenerateArray.d.ts +1 -0
- package/dist/esm/utils/date/convertType.d.ts +53 -0
- package/dist/esm/utils/date/formatDate.d.ts +1 -0
- package/dist/esm/utils/date/getDaysInMonth.d.ts +1 -0
- package/dist/esm/utils/date/getMonthNameProper.d.ts +1 -0
- package/dist/esm/utils/date/getValideMonth.d.ts +6 -0
- package/dist/esm/utils/date/index.d.ts +6 -0
- package/dist/esm/utils/date/inverseDate.d.ts +1 -0
- package/dist/esm/utils/date/isValidateDate.d.ts +3 -0
- package/dist/esm/utils/date/normalizeDayAndMonth.d.ts +2 -0
- package/dist/esm/utils/date/range/getDaysRange.d.ts +2 -0
- package/dist/esm/utils/date/range/getMonthRange.d.ts +1 -0
- package/dist/esm/utils/date/range/getYearRange.d.ts +1 -0
- package/dist/esm/utils/date/range/isValidDateRange.d.ts +3 -0
- package/dist/esm/utils/joinClasses.d.ts +1 -0
- package/dist/esm/utils/string/SetCharAt.d.ts +1 -0
- package/dist/esm/utils/string/toPascalCase.d.ts +1 -0
- package/package.json +24 -32
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.css +0 -2
- package/dist/index.css.map +0 -1
- package/dist/index.d.cts +0 -164
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/components/Accordion/index.tsx","../src/components/Accordion/Accordion.module.css","../src/utils/joinClasses.tsx","../src/components/Button/index.tsx","../src/components/Button/Button.module.css","../src/components/Calendar/Body/index.tsx","../src/utils/date/convertType.tsx","../src/utils/date/index.tsx","../src/utils/date/getMonthNameProper.tsx","../src/utils/date/getDaysInMonth.tsx","../src/utils/GenerateArray.tsx","../src/utils/date/range/getDaysRange.tsx","../src/utils/date/range/getMonthRange.tsx","../src/utils/date/range/getYearRange.tsx","../src/utils/date/range/isValidDateRange.tsx","../src/utils/string/toPascalCase.tsx","../src/components/Calendar/Body/CalendarBody.module.css","../src/components/Calendar/Footer/index.tsx","../src/components/Calendar/Footer/CalendarFooter.module.css","../src/components/Calendar/Header/index.tsx","../src/constants/calendar/index.tsx","../src/components/Calendar/Header/CalendarHeader.module.css","../src/components/Calendar/Main/index.tsx","../src/utils/date/normalizeDayAndMonth.tsx","../src/utils/date/getValideMonth.tsx","../src/utils/date/isValidateDate.tsx","../src/components/Calendar/Main/Main.module.css","../src/components/Calendar/index.tsx","../src/components/InputField/index.tsx","../src/components/InputField/InputField.module.css","../src/svg/ClearIcon.tsx","../src/components/Modal/index.tsx","../src/components/Modal/Modal.module.css","../src/components/RadioGroup/index.tsx","../src/components/RadioGroup/RadioGroup.module.css","../src/components/RadioToggle/index.tsx","../src/components/RadioToggle/RadioToggle.module.css","../src/components/SelectBoxButton/index.tsx","../src/components/SelectBoxButton/SelectBoxButton.module.css","../src/components/Typography/index.tsx","../src/components/Typography/Typography.module.css","../src/components/index.ts"],"sourcesContent":["import { Components } from \"./components\";\n\nconst SystemDesign = {\n Components\n} \n\nexport default SystemDesign","import React, { Dispatch } from \"react\";\n\nimport styles from \"./Accordion.module.css\";\nimport { joinClasses } from \"~utils/joinClasses\";\n\nexport interface IAccordionProps {\n open: boolean;\n setOpen: Dispatch<React.SetStateAction<boolean>>;\n children: React.ReactNode;\n title: React.JSX.Element;\n}\n\nexport const Accordion = ({\n open,\n setOpen,\n children,\n title,\n}: IAccordionProps) => {\n return (\n <>\n <button\n data-testid=\"Accordion_BUTTON\"\n className={styles.accordionBtn}\n onClick={() => {\n setOpen(!open);\n }}\n >\n {title}\n <svg\n data-testid=\"Accordion_DIRECTION\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n style={{\n transform: !open ? \"none\" : \"rotate(0.5turn)\",\n }}\n >\n <path d=\"M15.8346 7.5L10.0013 13.3333L4.16797 7.5\" stroke=\"#758393\" />\n </svg>\n </button>\n <div\n data-testid=\"Accordion_CONTENT\"\n className={joinClasses(\n styles.accordionContent,\n !open && styles[`accordionContent--hidden`]\n )}\n >\n {children}\n </div>\n </>\n );\n};\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.accordionBtn {\n border-radius: inherit;\n width: 100%;\n text-align: left;\n\n display: flex;\n justify-content: space-between;\n cursor: pointer;\n}\n\n.accordionContent {\n max-height: 1000px;\n overflow: hidden;\n transition: all 0.3s ease-in-out;\n}\n\n.accordionContent--hidden {\n max-height: 0;\n}\n","export const joinClasses = (...args: unknown[]) =>\n args.filter((item) => !!item).join(\" \");\n","import React from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./Button.module.css\";\n\nexport interface IButtonProps {\n ariaLabel?: string;\n onClick?: () => void;\n children: React.ReactNode;\n className?: string;\n isRounded?: boolean;\n disabled?: boolean;\n variant?: \"default\" | \"tinted\" | \"secondary\";\n size?: \"mini\" | \"small\" | \"medium\" | \"large\";\n style?: React.CSSProperties;\n}\n\nexport const Button = ({\n onClick,\n children,\n style,\n className = \"\",\n isRounded = false,\n disabled = false,\n variant = \"default\",\n size = \"medium\",\n ariaLabel = \"Кнопка\",\n}: IButtonProps) => (\n <button\n data-testid=\"Button_MAIN\"\n aria-label={ariaLabel}\n disabled={disabled}\n aria-disabled={disabled}\n onClick={onClick}\n className={joinClasses(\n styles[`btn--${size}`],\n isRounded\n ? styles[`btn-rounded--${size}`]\n : styles[`btn-square--${size}`],\n disabled ? styles[`btn-${variant}--disabled`] : styles[`btn-${variant}`],\n styles.button,\n className\n )}\n style={style}\n >\n {children}\n </button>\n);\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.button {\n border: none;\n transition: background-color 0.2s ease;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.btn-default {\n color: var(--default-white-color);\n background-color: var(--default-primary-accent);\n}\n\n.btn-default--disabled {\n color: var(--text-disabled-color);\n background-color: var(--button-disabled-default-color);\n}\n\n.btn-tinted {\n color: var(--text-accent);\n background-color: var(--button-tinted-default-color);\n}\n\n.btn-tinted--disabled {\n color: var(--text-disabled-accent-color);\n background-color: var(--button-tinted-default-color);\n}\n\n.btn-secondary {\n color: var(--text-primary);\n background-color: var(--surface-surface-3-color);\n}\n\n.btn-secondary--disabled {\n color: var(--text-secondary);\n background-color: var(--surface-surface-3-color);\n}\n\n.btn-default:hover {\n background-color: var(--button-primary-on-hover-color);\n}\n\n.btn-tinted:hover {\n background-color: var(--button-tinted-on-hover-color);\n}\n\n.btn-secondary:hover {\n background-color: var(--button-secondary-on-hover);\n}\n\n.btn--mini {\n gap: 4px;\n padding: 6px 12px;\n font: var(--caption2-medium);\n}\n\n.btn--small {\n gap: 8px;\n padding: 8px 16px;\n font: var(--caption1-medium);\n}\n\n.btn--medium {\n gap: 8px;\n padding: 8px 20px;\n font: var(--body2-medium);\n}\n\n.btn--large {\n gap: 8px;\n padding: 14px 24px;\n font: var(--body1-medium);\n}\n\n.btn-square--mini {\n border-radius: 4px;\n}\n\n.btn-square--small {\n border-radius: 6px;\n}\n\n.btn-square--medium {\n border-radius: 10px;\n}\n\n.btn-square--large {\n border-radius: 12px;\n}\n\n.btn-rounded--mini,\n.btn-rounded--small,\n.btn-rounded--medium {\n border-radius: 32px;\n}\n\n.btn-rounded--large {\n border-radius: 40px;\n}\n","import Icons from \"@egov3/graphics\";\nimport React, { Dispatch, SetStateAction } from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\nimport { convertType } from \"~utils/date/convertType\";\nimport { getMonthNameProper } from \"~utils/date/getMonthNameProper\";\nimport { getDaysRange } from \"~utils/date/range/getDaysRange\";\nimport { getMonthRange } from \"~utils/date/range/getMonthRange\";\nimport { getYearRange } from \"~utils/date/range/getYearRange\";\nimport { isInvalidDateRange } from \"~utils/date/range/isValidDateRange\";\nimport { toPascalCase } from \"~utils/string/toPascalCase\";\n\nimport styles from \"./CalendarBody.module.css\";\nimport {\n ICalendarPeriod,\n IDateItem,\n TPeriodKeys,\n TTimeUnit,\n} from \"~interfaces/Calendar\";\nimport { Components } from \"~components\";\n\nexport interface IBodyProps {\n changeDate: IDateItem<(direction: number) => void>;\n handleMouseDown: (e: React.MouseEvent, type: TTimeUnit) => void;\n handleMouseUp: () => void;\n selectedCalenderDate: ICalendarPeriod<string>;\n selectedPeriodInterval: TPeriodKeys;\n setDistanceTraveled: Dispatch<SetStateAction<number>>;\n setInitialY: Dispatch<SetStateAction<number>>;\n}\n\nexport const Body = ({\n changeDate,\n handleMouseDown,\n handleMouseUp,\n selectedCalenderDate,\n selectedPeriodInterval,\n setDistanceTraveled,\n setInitialY,\n}: IBodyProps) => {\n const isEndOrStart: IDateItem<boolean> = {\n day:\n convertType[\"month\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].month\n ) < 15,\n month:\n convertType[\"month\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].month\n ) < 6,\n year:\n convertType[\"year\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].year\n ) < 2020,\n };\n const unitTimeClassname = {\n day: (item: string) =>\n selectedCalenderDate[selectedPeriodInterval].day === item\n ? styles.currentText\n : styles.text,\n month: (item: string) =>\n item ===\n getMonthNameProper(\n convertType.month.toNumber(\n selectedCalenderDate[selectedPeriodInterval].month\n )\n )\n ? joinClasses(styles.currentText, styles.currentMonth)\n : styles.text,\n year: (item: string) =>\n selectedCalenderDate[selectedPeriodInterval].year === item\n ? styles.currentText\n : styles.text,\n };\n\n const displayedYear = getYearRange(\n convertType.year.toNumber(selectedCalenderDate[selectedPeriodInterval].year)\n );\n const displayedMonth = getMonthRange(\n convertType.month.toNumber(\n selectedCalenderDate[selectedPeriodInterval].month\n ),\n convertType.year.toNumber(selectedCalenderDate[selectedPeriodInterval].year)\n ).map((monthIndex) => getMonthNameProper(monthIndex));\n const displayedDay = getDaysRange(\n convertType.date.toNumber(selectedCalenderDate[selectedPeriodInterval])\n ).map((item) => convertType.day.toString(item));\n\n const displayedDate: IDateItem<string[]> = {\n year: displayedYear,\n month: displayedMonth,\n day: displayedDay,\n };\n\n const handleWheel = (event: React.WheelEvent, type: TTimeUnit) => {\n const delta = event.deltaY;\n const distance = Math.abs(delta);\n const direction = delta > 0 ? 1 : -1;\n\n if (distance > 0) {\n changeDate[type](direction);\n\n setDistanceTraveled(distance);\n setInitialY(event.clientY);\n }\n };\n\n const arr: TTimeUnit[] = [\"day\", \"month\", \"year\"];\n return (\n <div data-testid=\"Calendar_COVER\" className={styles.cover}>\n {arr.map((timeUnit) => (\n <div\n data-testid={`Calendar${toPascalCase(timeUnit)}_WRAPPER`}\n className={joinClasses(\n styles.wrapper,\n `styles.wrapper${toPascalCase(timeUnit)}`\n )}\n key={timeUnit}\n >\n <button\n data-testid={`Calendar${toPascalCase(timeUnit)}Button_UP`}\n onClick={() => changeDate[timeUnit](-1)}\n aria-label=\"Кнопка вверх\"\n className={styles.btnUpAndDown}\n >\n <Icons.Basic.ChevronUpSmall fill=\"#758393\" />\n </button>\n <div\n data-testid={`Calendar${toPascalCase(timeUnit)}_SELECT`}\n className={joinClasses(\n styles.block,\n isEndOrStart[timeUnit] ? styles.end : styles.start\n )}\n >\n <button\n data-testid={`Calendar${toPascalCase(timeUnit)}_BUTTON`}\n onMouseDown={(e) => handleMouseDown(e, timeUnit)}\n onMouseUp={handleMouseUp}\n onWheel={(e) => handleWheel(e, timeUnit)}\n className={styles.btn}\n >\n {displayedDate[timeUnit].map((item) => (\n <Components.Typography\n key={item}\n data-testid={`Calendar${toPascalCase(timeUnit)}_ITEM`}\n tag=\"span\"\n fontClass=\"Body1Regular\"\n aria-label={item}\n className={joinClasses(\n unitTimeClassname[timeUnit](item),\n isInvalidDateRange(\n convertType.dateRange.toNumber(selectedCalenderDate)\n )\n ? styles.currentError\n : undefined\n )}\n >\n {item}\n </Components.Typography>\n ))}\n </button>\n </div>\n <button\n data-testid={`Calendar${toPascalCase(timeUnit)}Button_DOWN`}\n onClick={() => {\n changeDate[timeUnit](1);\n }}\n aria-label=\"кнопка вниз\"\n className={styles.btnUpAndDown}\n >\n <Icons.Basic.ChevronDownSmall fill=\"#758393\" />\n </button>\n </div>\n ))}\n </div>\n );\n};\n","import { ICalendarPeriod, IDateItem } from \"~interfaces/Calendar\";\n\nconst convert = {\n day: {\n toString: (num: number) => {\n return String(num).padStart(2, \"0\");\n },\n toNumber: (str: string) => {\n return +str;\n },\n },\n month: {\n toString: (num: number) => {\n return String(num + 1).padStart(2, \"0\");\n },\n toNumber: (str: string) => {\n return +str - 1;\n },\n },\n year: {\n toString: (num: number) => {\n return String(num);\n },\n toNumber: (str: string) => {\n return +str;\n },\n },\n};\nconst convertDate = {\n toString: ({ day, month, year }: IDateItem<number>) => ({\n day: convert.day.toString(day),\n month: convert.month.toString(month),\n year: convert.year.toString(year),\n }),\n toNumber: ({ day, month, year }: IDateItem<string>) => ({\n day: convert.day.toNumber(day),\n month: convert.month.toNumber(month),\n year: convert.year.toNumber(year),\n }),\n};\nconst convertDateRange = {\n toString: ({\n from: { day: fromday, month: fromMonth, year: fromYear },\n to: { day: toDay, month: toMonth, year: toYear },\n }: ICalendarPeriod<number>) => ({\n from: {\n day: convert.day.toString(fromday),\n month: convert.month.toString(fromMonth),\n year: convert.year.toString(fromYear),\n },\n to: {\n day: convert.day.toString(toDay),\n month: convert.month.toString(toMonth),\n year: convert.year.toString(toYear),\n },\n }),\n toNumber: ({\n from: { day: fromday, month: fromMonth, year: fromYear },\n to: { day: toDay, month: toMonth, year: toYear },\n }: ICalendarPeriod<string>) => ({\n from: {\n day: convert.day.toNumber(fromday),\n month: convert.month.toNumber(fromMonth),\n year: convert.year.toNumber(fromYear),\n },\n to: {\n day: convert.day.toNumber(toDay),\n month: convert.month.toNumber(toMonth),\n year: convert.year.toNumber(toYear),\n },\n }),\n};\n\nexport const convertType = {\n date: convertDate,\n dateRange: convertDateRange,\n ...convert,\n};\n","export const minYear = new Date(0).getFullYear();\nexport const minMonth = 0;\nexport const maxMonth = 11;\n\nexport const currentYear = new Date().getFullYear();\nexport const currentMonth = new Date().getMonth();\nexport const currentDay = new Date().getDate();\n","import { currentYear } from \".\";\n\nexport const getMonthNameProper = (month: number): string => {\n const monthName = new Date(currentYear, month).toLocaleString(\"ru-RU\", {\n month: \"long\",\n });\n return monthName.charAt(0).toUpperCase() + monthName.slice(1);\n};\n","export const getDaysInMonth = (month: number, year: number): number => {\n return new Date(year, month + 1, 0).getDate();\n};\n","export const GenerateArray = (length: number, start: number = 1): number[] =>\n Array.from({ length }, (_, i) => start + i);\n","// src/utils/range/getDaysRange.tsx\n\nimport { IDateItem } from \"~interfaces/Calendar\";\nimport { getDaysInMonth } from \"../getDaysInMonth\";\nimport { GenerateArray } from \"~utils/GenerateArray\";\n\nexport const getDaysRange = ({ day, month, year }: IDateItem<number>) => {\n const start = Math.max(day - 2, 1);\n const end = Math.min(day + 2, getDaysInMonth(month, year));\n\n return GenerateArray(end - start + 1, start);\n};\n","import { maxMonth, minMonth } from \"..\";\nimport { GenerateArray } from \"~utils/GenerateArray\";\n\nexport const getMonthRange = (month: number, year: number): number[] => {\n if (!Number.isInteger(month) || month < 0 || month > 11) {\n throw new Error(`Invalid month: ${month}`);\n }\n if (!Number.isInteger(year)) {\n throw new Error(`Invalid year: ${year}`);\n }\n\n const start = Math.max(month - 2, minMonth);\n const end = Math.min(month + 2, maxMonth);\n\n return GenerateArray(end - start + 1, start);\n};\n","// src/utils/range/getYearRange.tsx\n\nimport { GenerateArray } from \"~utils/GenerateArray\";\nimport { currentYear, minYear } from \"..\";\n\nexport const getYearRange = (year: number): string[] => {\n const start = Math.max(year - 2, minYear);\n const end = Math.min(year + 2, currentYear);\n\n return GenerateArray(end - start + 1, start).map(String);\n};\n","import { ICalendarPeriod } from \"~interfaces/Calendar\";\n\nexport const isValidDateRange = ({ from, to }: ICalendarPeriod): boolean => {\n const fromDate = new Date(from.year, from.month - 1, from.day);\n const toDate = new Date(to.year, to.month - 1, to.day);\n\n return fromDate.getTime() <= toDate.getTime();\n};\n\nexport const isInvalidDateRange = (props: ICalendarPeriod): boolean => {\n return !isValidDateRange(props);\n};\n","export const toPascalCase = (str: string): string =>\n str.toLowerCase().charAt(0).toUpperCase() + str.toLowerCase().slice(1);\n","@import \"src/styles/colors.css\";\n\n.wrapper {\n width: 118px;\n height: 24px;\n display: flex;\n padding: 4px 0px;\n justify-content: center;\n align-items: center;\n gap: 4px;\n flex: 1;\n border-top: 1px solid var(--surface-surface-3-color);\n border-bottom: 1px solid var(--surface-surface-3-color);\n}\n\n.wrapperDay {\n width: 118px;\n}\n\n.wrapperMonth {\n width: 132px;\n}\n\n.wrapperYear {\n width: 118px;\n}\n\n.cover {\n width: 368px;\n height: 128px;\n display: flex;\n align-items: center;\n padding: 8px 0;\n}\n\n.block {\n height: 21px;\n display: flex;\n flex-direction: column;\n align-self: center;\n gap: 4px;\n position: relative;\n top: -58px;\n}\n\n.end {\n top: 58px;\n justify-content: end;\n}\n\n.start {\n top: -58px;\n justify-content: start;\n}\n\n.btn {\n gap: 4px;\n display: flex;\n flex-direction: column;\n padding: 0px;\n}\n\n.currentText {\n display: block;\n margin: 0 auto;\n color: var(--text-primary);\n text-align: center;\n}\n\n.text {\n margin: 0 auto;\n height: 24px;\n color: var(--text-disabled-color);\n text-align: center;\n}\n\n.currentMonth {\n display: block;\n width: 76px;\n}\n\n.currentError {\n color: var(--text-error);\n}\n\n.btnUpAndDown {\n padding: 0px;\n}\n","import React, { Dispatch, SetStateAction } from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\nimport { convertType } from \"~utils/date/convertType\";\nimport { isInvalidDateRange } from \"~utils/date/range/isValidDateRange\";\n\nimport styles from \"./CalendarFooter.module.css\";\nimport { ICalendarPeriod, IStrictSelectedPeriod } from \"~interfaces/Calendar\";\nimport { Components } from \"~components\";\n\nexport interface IFooterProps {\n selectedCalenderDate: ICalendarPeriod<string>;\n setSelectedPeriod: Dispatch<SetStateAction<IStrictSelectedPeriod>>;\n setIsModalOpen: Dispatch<SetStateAction<boolean>>;\n setSelectedRadioOption: Dispatch<SetStateAction<string>>;\n}\nexport const Footer = ({\n selectedCalenderDate,\n setSelectedPeriod,\n setIsModalOpen,\n setSelectedRadioOption,\n}: IFooterProps) => {\n const updateDate = () => {\n setIsModalOpen(false);\n setSelectedRadioOption(\"custom\");\n const fromDate = [\n selectedCalenderDate.from.year,\n selectedCalenderDate.from.month,\n selectedCalenderDate.from.day,\n ].join(\"-\");\n const toDate = [\n selectedCalenderDate.to.year,\n selectedCalenderDate.to.month,\n selectedCalenderDate.to.day,\n ].join(\"-\");\n\n setSelectedPeriod({\n fromDate: fromDate,\n toDate: toDate,\n periodSelected: true,\n });\n };\n return (\n <>\n {isInvalidDateRange(\n convertType.dateRange.toNumber(selectedCalenderDate)\n ) && (\n <Components.Typography\n className={joinClasses(styles.currentError, styles.textError)}\n data-testid=\"CalendarError_DISCRIPTION\"\n tag=\"span\"\n fontClass=\"Caption1Regular\"\n aria-label=\"Вы ввели некорректную дату, измените данные\"\n >\n Вы ввели некорректную дату, измените данные\n </Components.Typography>\n )}\n <Components.Button\n disabled={isInvalidDateRange(\n convertType.dateRange.toNumber(selectedCalenderDate)\n )}\n className={styles.save}\n size=\"large\"\n onClick={updateDate}\n >\n Сохранить\n </Components.Button>\n </>\n );\n};\n","@import \"src/styles/colors.css\";\n\n.tab {\n width: 368px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex: 1 0 0;\n}\n\n.titleActiv {\n padding: 8px 0px;\n width: 180px;\n color: var(--text-primary);\n text-align: center;\n border-bottom: 2px solid var(--icon-accent-color);\n}\n\n.title {\n width: 180px;\n padding: 8px 0px;\n color: var(--text-disabled-color);\n text-align: center;\n border-bottom: 2px solid var(--surface-surface-3-color);\n}\n\n.titleError {\n text-align: center;\n border-bottom: 2px solid var(--text-error);\n}\n","import React, { Dispatch, SetStateAction } from \"react\";\n\nimport { PERIOD_KEYS } from \"~constants/calendar\";\nimport { joinClasses } from \"~utils/joinClasses\";\nimport { convertType } from \"~utils/date/convertType\";\nimport { isInvalidDateRange } from \"~utils/date/range/isValidDateRange\";\n\nimport styles from \"./CalendarHeader.module.css\";\nimport { ICalendarPeriod, TPeriodKeys } from \"~interfaces/Calendar\";\nimport { Components } from \"~components\";\n\ninterface ICalendarTabs {\n key: TPeriodKeys;\n label: string;\n onClick: () => void;\n}\n\nexport interface IHeaderProps {\n setSelectedPeriodInterval: Dispatch<SetStateAction<TPeriodKeys>>;\n selectedPeriodInterval: TPeriodKeys;\n selectedCalenderDate: ICalendarPeriod<string>;\n}\n\nexport const Header = ({\n setSelectedPeriodInterval,\n selectedPeriodInterval,\n selectedCalenderDate,\n}: IHeaderProps) => {\n const tabs: ICalendarTabs[] = [\n {\n key: PERIOD_KEYS.from,\n label: \"Период с\",\n onClick: () => {\n setSelectedPeriodInterval(PERIOD_KEYS.from);\n },\n },\n {\n key: PERIOD_KEYS.to,\n label: \"Период до\",\n onClick: () => {\n setSelectedPeriodInterval(PERIOD_KEYS.to);\n },\n },\n ];\n return (\n <div data-testid=\"CalendarTab_WRAP\" className={styles.tab}>\n {tabs.map((tab) => (\n <button\n key={tab.key}\n data-testid={`CalendarTabButton_${tab.key.toUpperCase()}`}\n className={joinClasses(\n selectedPeriodInterval === tab.key\n ? styles.titleActiv\n : styles.title,\n isInvalidDateRange(\n convertType.dateRange.toNumber(selectedCalenderDate)\n )\n ? styles.titleError\n : undefined\n )}\n onClick={() => {\n setSelectedPeriodInterval(tab.key);\n }}\n aria-label={`Кнопка ${tab.label}`}\n >\n <Components.Typography\n data-testid={`CalendarTabTitle_${tab.key.toUpperCase()}`}\n tag=\"span\"\n fontClass=\"Body1Medium\"\n aria-label=\"Период с\"\n >\n {tab.label} ...*\n </Components.Typography>\n </button>\n ))}\n </div>\n );\n};\n","import { IPeriodKeys } from \"~interfaces/Calendar\";\n\nexport const PERIOD_KEYS: IPeriodKeys = {\n from: \"from\",\n to: \"to\",\n};\n","@import \"src/styles/colors.css\";\n\n.tab {\n width: 368px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex: 1 0 0;\n}\n\n.titleActiv {\n padding: 8px 0px;\n width: 180px;\n color: var(--text-primary);\n text-align: center;\n border-bottom: 2px solid var(--icon-accent-color);\n}\n\n.title {\n width: 180px;\n padding: 8px 0px;\n color: var(--text-disabled-color);\n text-align: center;\n border-bottom: 2px solid var(--surface-surface-3-color);\n}\n\n.titleError {\n text-align: center;\n border-bottom: 2px solid var(--text-error);\n}\n","import React, {\n Dispatch,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { PERIOD_KEYS } from \"~constants/calendar/index\";\n\nimport { convertType } from \"~utils/date/convertType\";\nimport { getValideMonthAndDay } from \"~utils/date/getValideMonth\";\nimport { isValidateDate } from \"~utils/date/isValidateDate\";\nimport { normalizeDayAndMonth } from \"~utils/date/normalizeDayAndMonth\";\n\nimport styles from \"./Main.module.css\";\nimport {\n ICalendarPeriod,\n IDateItem,\n IStrictSelectedPeriod,\n TPeriodKeys,\n TTimeUnit,\n} from \"~interfaces/Calendar\";\nimport { Components } from \"~components\";\n\nexport interface IMainProps {\n setSelectedPeriod: Dispatch<SetStateAction<IStrictSelectedPeriod>>;\n selectedPeriod: IStrictSelectedPeriod;\n setIsModalOpen: Dispatch<SetStateAction<boolean>>;\n setSelectedRadioOption: Dispatch<SetStateAction<string>>;\n}\n\nexport const Main = ({\n setSelectedPeriod,\n selectedPeriod,\n setIsModalOpen,\n setSelectedRadioOption,\n}: IMainProps) => {\n const [selectedCalenderDate, setSelectedCalenderDate] = useState<\n ICalendarPeriod<string>\n >({\n from: {\n day: selectedPeriod.fromDate.split(\"-\")[2],\n month: selectedPeriod.fromDate.split(\"-\")[1],\n year: selectedPeriod.fromDate.split(\"-\")[0],\n },\n to: {\n day: selectedPeriod.toDate.split(\"-\")[2],\n month: selectedPeriod.fromDate.split(\"-\")[1],\n year: selectedPeriod.toDate.split(\"-\")[0],\n },\n });\n const [selectedPeriodInterval, setSelectedPeriodInterval] =\n useState<TPeriodKeys>(PERIOD_KEYS.from);\n\n const [isMouseDown, setIsMouseDown] = useState<IDateItem<boolean>>({\n day: false,\n month: false,\n year: false,\n });\n const [initialY, setInitialY] = useState(0);\n const [distanceTraveled, setDistanceTraveled] = useState(0);\n\n const changeDay = useCallback(\n (direction: number) => {\n const newDay =\n convertType[\"day\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].day\n ) + direction;\n\n const newDate = {\n day: newDay,\n month: convertType[\"month\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].month\n ),\n year: convertType[\"year\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].year\n ),\n };\n if (isValidateDate(newDate)) {\n setSelectedCalenderDate({\n ...selectedCalenderDate,\n [selectedPeriodInterval]: convertType.date.toString(newDate),\n });\n }\n },\n [selectedCalenderDate, selectedPeriodInterval, setSelectedCalenderDate]\n );\n\n const changeMonth = useCallback(\n (direction: number) => {\n const newMonth =\n convertType[\"month\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].month\n ) + direction;\n\n const normalizedDay = normalizeDayAndMonth({\n day: convertType[\"day\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].day\n ),\n month: newMonth,\n year: convertType[\"year\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].year\n ),\n });\n\n const newDate = {\n day: normalizedDay,\n month: newMonth,\n year: convertType[\"year\"].toNumber(\n selectedCalenderDate[selectedPeriodInterval].year\n ),\n };\n if (isValidateDate(newDate)) {\n setSelectedCalenderDate({\n ...selectedCalenderDate,\n [selectedPeriodInterval]: convertType.date.toString(newDate),\n });\n }\n },\n [selectedCalenderDate, selectedPeriodInterval, setSelectedCalenderDate]\n );\n\n const changeYear = useCallback(\n (direction: number) => {\n const newYear =\n convertType.year.toNumber(\n selectedCalenderDate[selectedPeriodInterval].year\n ) + direction;\n\n const newDate = getValideMonthAndDay(\n convertType.date.toNumber({\n day: selectedCalenderDate[selectedPeriodInterval].day,\n month: selectedCalenderDate[selectedPeriodInterval].month,\n year: convertType.year.toString(newYear),\n })\n );\n\n if (isValidateDate(newDate)) {\n setSelectedCalenderDate({\n ...selectedCalenderDate,\n [selectedPeriodInterval]: convertType.date.toString(newDate),\n });\n }\n },\n [selectedCalenderDate, selectedPeriodInterval, setSelectedCalenderDate]\n );\n\n const changeDate = useMemo(\n () => ({\n day: changeDay,\n month: changeMonth,\n year: changeYear,\n }),\n [changeDay, changeMonth, changeYear]\n );\n\n const handleMouseDown = (e: React.MouseEvent, type: TTimeUnit) => {\n const mouseDownActions: { [key in TTimeUnit]: () => void } = {\n day: () => setIsMouseDown((prev) => ({ ...prev, day: true })),\n month: () => setIsMouseDown((prev) => ({ ...prev, month: true })),\n year: () => setIsMouseDown((prev) => ({ ...prev, year: true })),\n };\n mouseDownActions[type] && mouseDownActions[type]();\n setInitialY(e.clientY);\n setDistanceTraveled(0);\n };\n\n const isMouseOverStopButton = (e: MouseEvent) => {\n const button = document.querySelector(\"[aria-disabled=true]\");\n if (!button) return false;\n const rect = button.getBoundingClientRect();\n return (\n e.clientX >= rect.left &&\n e.clientX <= rect.right &&\n e.clientY >= rect.top &&\n e.clientY <= rect.bottom\n );\n };\n\n const handleMouseUp = useCallback(() => {\n setIsMouseDown({\n day: false,\n month: false,\n year: false,\n });\n }, []);\n\n const handleMouseMove = useCallback(\n (e: MouseEvent, type: \"day\" | \"month\" | \"year\") => {\n if (isMouseOverStopButton(e)) {\n handleMouseUp();\n return;\n }\n\n const deltaY = e.clientY - initialY;\n\n if (!isMouseDown[type]) return;\n\n const distance = Math.abs(deltaY);\n\n if (distance > 5 && distance - distanceTraveled >= 5) {\n changeDate[type](deltaY > 0 ? -1 : 1);\n setDistanceTraveled(distance);\n setInitialY(e.clientY);\n }\n\n if (type === \"year\") {\n setIsMouseDown((prev) => ({ ...prev, year: true }));\n }\n },\n [changeDate, distanceTraveled, handleMouseUp, initialY, isMouseDown]\n );\n\n useEffect(() => {\n const onMouseMoveHandler = (e: MouseEvent) => {\n const timeUnits: TTimeUnit[] = [\"day\", \"month\", \"year\"];\n\n timeUnits.forEach((type) => {\n handleMouseMove(e, type);\n });\n };\n\n document.addEventListener(\"mousemove\", onMouseMoveHandler);\n document.addEventListener(\"mouseup\", handleMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMoveHandler);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n };\n }, [handleMouseMove, handleMouseUp]);\n return (\n <div data-testid=\"Calendar_MODAL\" className={styles.modalBlock}>\n <Components.Calendar.Header\n selectedCalenderDate={selectedCalenderDate}\n selectedPeriodInterval={selectedPeriodInterval}\n setSelectedPeriodInterval={setSelectedPeriodInterval}\n />\n <Components.Calendar.Body\n changeDate={changeDate}\n handleMouseDown={handleMouseDown}\n handleMouseUp={handleMouseUp}\n selectedCalenderDate={selectedCalenderDate}\n selectedPeriodInterval={selectedPeriodInterval}\n setDistanceTraveled={setDistanceTraveled}\n setInitialY={setInitialY}\n />\n <Components.Calendar.Footer\n selectedCalenderDate={selectedCalenderDate}\n setIsModalOpen={setIsModalOpen}\n setSelectedPeriod={setSelectedPeriod}\n setSelectedRadioOption={setSelectedRadioOption}\n />\n </div>\n );\n};\n","import { IDateItem } from \"~interfaces/Calendar\";\nimport { currentDay, currentMonth, currentYear } from \".\";\nimport { getDaysInMonth } from \"./getDaysInMonth\";\n\nexport const normalizeDayAndMonth = ({ day, month, year }: IDateItem) => {\n const lastDay = getDaysInMonth(month, year);\n let normalizedDay;\n if (day > lastDay) {\n normalizedDay = lastDay;\n } else {\n normalizedDay = day;\n }\n\n if (\n month === currentMonth &&\n year === currentYear &&\n normalizedDay > currentDay\n ) {\n normalizedDay = currentDay;\n }\n\n return normalizedDay;\n};\n","import { IDateItem } from \"~interfaces/Calendar\";\nimport { currentMonth, currentYear } from \".\";\nimport { normalizeDayAndMonth } from \"./normalizeDayAndMonth\";\n\nexport const getValideMonthAndDay = ({ day, month, year }: IDateItem) => {\n const normalizedMonth =\n currentYear === year && month > currentMonth ? currentMonth : month;\n const normalizedDay = normalizeDayAndMonth({\n day,\n month: normalizedMonth,\n year,\n });\n\n return {\n day: normalizedDay,\n month: normalizedMonth,\n year,\n };\n};\n","import { IDateItem } from \"~interfaces/Calendar\";\nimport { minYear } from \".\";\n\nexport const isValidateDate = (date: IDateItem): boolean => {\n const { day, month, year } = date;\n\n if (year < minYear) return false;\n\n if (month < 0 || month > 11) return false;\n\n const dateObj = new Date(year, month, day);\n\n if (\n dateObj.getFullYear() !== year ||\n dateObj.getMonth() !== month ||\n dateObj.getDate() !== day\n ) {\n return false;\n }\n\n const today = new Date();\n const currentDate = new Date(\n today.getFullYear(),\n today.getMonth(),\n today.getDate()\n );\n\n return dateObj <= currentDate;\n};\n\nexport const isInvalidateDate = (props: IDateItem): boolean => {\n return !isValidateDate(props);\n};\n","@import \"src/styles/colors.css\";\n\n.modalBlock {\n display: flex;\n padding: 16px;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n}\n\n.currentError {\n color: var(--text-error);\n}\n\n.textError {\n padding: 0 0 8px 0;\n}\n\n.save {\n align-self: stretch;\n}\n","import { Body } from './Body';\nimport { Footer } from './Footer';\nimport { Header } from './Header';\nimport { Main } from './Main';\n\nconst Calendar = {\n Body,\n Footer,\n Main,\n Header,\n};\n\nexport { Calendar };\n","// InputField.tsx\nimport React, { forwardRef, HTMLInputTypeAttribute, JSX } from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./InputField.module.css\";\nimport { ClearIcon } from \"~svg\";\n\nexport type TOtpType = \"OTP\" | \"TEXT\";\n\nexport interface IInputFieldProps\n extends React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n > {\n onFocus?: () => void;\n onBlur?: () => void;\n onEnterPress?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n placeholder?: string;\n className?: string;\n style?: React.CSSProperties;\n isClearable?: boolean;\n inputLeftIcon?: JSX.Element;\n type?: HTMLInputTypeAttribute;\n id: string;\n labelText?: string;\n ariaLabel: string;\n focused?: boolean;\n setFocused?: (val: boolean) => void;\n readOnly?: boolean;\n inline?: boolean;\n}\n\nexport const InputField = forwardRef<HTMLInputElement, IInputFieldProps>(\n (\n {\n onFocus,\n onBlur,\n onChange,\n onEnterPress,\n value = \"\",\n inputLeftIcon,\n placeholder = \"\",\n className = \"\",\n style,\n isClearable = false,\n type = \"text\",\n id,\n labelText = \"\",\n ariaLabel = \"\",\n focused = false,\n setFocused = () => {},\n readOnly = false,\n inline = true,\n }: IInputFieldProps,\n ref\n ): JSX.Element => {\n const handleClear = () => {\n if (onChange) {\n onChange({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n };\n const handleFocus = () => {\n setFocused(true);\n if (onFocus) onFocus();\n };\n const handleBlur = () => {\n setFocused(false);\n if (onBlur) onBlur();\n };\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (onEnterPress && event.key === \"Enter\") {\n onEnterPress(event);\n }\n };\n\n return (\n <div\n data-testid=\"InputField_MAIN\"\n className={joinClasses(\n styles[labelText.length ? \"inputContainerLabeled\" : \"inputContainer\"],\n focused ? styles[`input--onfocus`] : undefined,\n styles[`input-${type?.toLocaleLowerCase()}`],\n className\n )}\n style={style}\n >\n <div className={inline && styles.inline}>\n {labelText.length > 0 && (\n <label htmlFor={id} data-testid=\"InputField_LABEL\">\n {labelText}\n </label>\n )}\n {inputLeftIcon}\n <input\n ref={ref}\n data-testid=\"InputField_INPUT\"\n aria-label={ariaLabel}\n id={id}\n type={type}\n className={styles.input}\n placeholder={placeholder}\n aria-placeholder={placeholder}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={onChange}\n onKeyDown={handleKeyDown}\n value={value}\n readOnly={readOnly}\n />\n </div>\n {isClearable && value && (\n <ClearIcon\n fill=\"red\"\n pathFill=\"#758393\"\n className={styles.clearIcon}\n onClick={handleClear}\n />\n )}\n </div>\n );\n }\n);\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.inputContainer {\n display: flex;\n align-items: center;\n background-color: var(--surface-surface-1);\n border-radius: 8px;\n padding: 12px 16px;\n}\n\n.inputContainerLabeled {\n display: flex;\n align-items: center;\n background-color: var(--surface-surface-1);\n border-radius: 8px;\n padding: 12px 16px;\n}\n\n.inputContainerLabeled label {\n color: var(--text-secondary);\n}\n\n.input {\n width: 100%;\n border: none;\n background-color: var(--surface-surface-1);\n}\n\n.input:active,\n.input:focus {\n outline: none;\n}\n\n.input::placeholder {\n color: var(--text-disabled-color);\n}\n\n.input::-webkit-inner-spin-button,\n.input::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.clearIcon {\n cursor: pointer;\n}\n\n.input--onfocus {\n background-color: var(--surface-surface-3-color);\n}\n\n.input--onfocus .input {\n background-color: var(--surface-surface-3-color);\n}\n\n.input-text {\n font-family: Inter, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n}\n\n.inline {\n display: flex;\n gap: 8px;\n}\n","import React from \"react\";\n\nexport const ClearIcon = ({\n fill = \"none\",\n pathFill = \"#fff\",\n width = 20,\n height = 20,\n ...props\n}: React.SVGProps<SVGSVGElement> & { pathFill?: string }) => {\n return (\n <svg\n data-testid=\"Icons_CLEAR\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width}\n height={height}\n fill={fill}\n viewBox=\"0 0 20 20\"\n {...props}\n >\n <path\n fill={pathFill}\n fillRule=\"evenodd\"\n d=\"M10 18.333a8.333 8.333 0 100-16.666 8.333 8.333 0 000 16.666zM7.5 6.027L6.027 7.5l2.5 2.5-2.5 2.5L7.5 13.973l2.5-2.5 2.5 2.5 1.473-1.473-2.5-2.5 2.5-2.5L12.5 6.027l-2.5 2.5-2.5-2.5z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n );\n};\n","import React, { Dispatch, JSX } from \"react\";\nimport Icons from \"@egov3/graphics\";\n\nimport styles from \"./Modal.module.css\";\nimport { joinClasses } from \"~utils/joinClasses\";\nimport { Components } from \"~components\";\n\nexport interface IModalProps {\n open: boolean;\n children: JSX.Element;\n setOpen: Dispatch<React.SetStateAction<boolean>>;\n headerTitle?: string;\n variant: \"large\" | \"small\";\n}\n\nexport const Modal = ({\n open,\n setOpen,\n children,\n headerTitle,\n variant,\n}: IModalProps) => {\n if (open) {\n return (\n <div data-testid=\"Modal_OVERLAY\" className={styles.overlay}>\n <div\n data-testid=\"Modal_WRAPPER\"\n className={joinClasses(\n styles.contentWrap,\n styles[`${variant}Variant`]\n )}\n >\n {headerTitle && headerTitle.length > 0 && (\n <div data-testid=\"Modal_HEADER\" className={styles.contentHeader}>\n <Components.Typography\n tag=\"h3\"\n fontClass=\"Body1Medium\"\n data-testid=\"Modal_TITLE\"\n className={styles.title}\n >\n {headerTitle}\n </Components.Typography>\n <button\n data-testid=\"ModalHeader_BTN\"\n onClick={() => {\n setOpen(!open);\n }}\n >\n <Icons.General.Close data-testid=\"Modal_ICON\" />\n </button>\n </div>\n )}\n {children}\n </div>\n </div>\n );\n } else {\n return null;\n }\n};\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n box-sizing: border-box;\n}\n\n.contentWrap {\n background: var(--page-color-background-white);\n border-radius: 16px;\n height: fit-content;\n animation: flyDawn 1s;\n}\n\n.largeVariant {\n width: 1052px;\n}\n\n.smallVariant {\n width: 400px;\n}\n\n.contentHeader {\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n padding: 12px 16px;\n}\n\n.title {\n color: var(--text-primary);\n}\n\n@keyframes flyDawn {\n from {\n transform: translateY(-1000px);\n opacity: 0.1;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n","import React from \"react\";\n\nimport styles from \"./RadioGroup.module.css\";\n\nexport interface RadioGroupItem {\n label: string;\n value: string;\n}\n\nexport interface ICustomRadioButtonProps {\n label: string;\n name: string;\n checked: boolean;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n value: string;\n}\n\nexport interface IRadioGroupProps {\n RadioGroupItems: RadioGroupItem[];\n invokeCustomOnChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n setSelectedOption: React.Dispatch<React.SetStateAction<string>>;\n selectedOption: string;\n}\n\nexport const CustomRadioButton = ({\n label,\n name,\n checked,\n onChange,\n value,\n}: ICustomRadioButtonProps) => (\n <label data-testid=\"RadioGroupItem_LABEL\" className={styles.radio}>\n <input\n data-testid=\"RadioGroupItem_INPUT\"\n value={value}\n type=\"radio\"\n name={name}\n checked={checked}\n onChange={onChange}\n />\n <span data-testid=\"RadioGroupItem_RADIO\" className={styles.radioBtn}></span>\n <span data-testid=\"RadioGroupItem_TEXT\" className={styles.radioBtnText}>\n {label}\n </span>\n </label>\n);\n\nexport const RadioGroup = ({\n RadioGroupItems,\n invokeCustomOnChange,\n setSelectedOption,\n selectedOption,\n}: IRadioGroupProps) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSelectedOption(event.target.value);\n invokeCustomOnChange(event);\n };\n return (\n <fieldset data-testid=\"RadioGroup_FIELDSET\">\n {RadioGroupItems.map((item) => (\n <CustomRadioButton\n key={item.label}\n label={item.label}\n name=\"radio\"\n checked={selectedOption === item.value}\n onChange={handleChange}\n value={item.value}\n />\n ))}\n </fieldset>\n );\n};\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.radio {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n\n.radio input {\n display: none;\n}\n\n.radioBtn {\n position: relative;\n height: 15px;\n width: 15px;\n border-radius: 50%;\n border: 2px solid var(--button-secondary-on-hover);\n margin: 10px;\n transition: background 0.3s;\n}\n\n.radioBtn::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n height: 10px;\n width: 10px;\n background: var(--button-primary-default);\n border-radius: 50%;\n transform: scale(0) translate(-50%, -50%);\n transition: transform 0.3s;\n}\n\ninput:checked + .radioBtn::after {\n transform: scale(1) translate(-50%, -50%);\n}\n\ninput:checked + .radioBtn {\n border: 2px solid var(--button-primary-default);\n}\n\n.radioBtnText {\n padding-left: 10px;\n width: fit-content;\n font: var(--body2-regular);\n}\n","import React, { Dispatch, SetStateAction } from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./RadioToggle.module.css\";\n\nexport interface IRadioToggleProps {\n lock: boolean;\n setLock: Dispatch<SetStateAction<boolean>>;\n}\n\nexport const RadioToggle = ({ lock, setLock }: IRadioToggleProps) => (\n <button\n data-testid=\"RadioToggle_BUTTON\"\n aria-pressed={lock}\n aria-label=\"Кнопка переключения\"\n onClick={() => {\n setLock(!lock);\n }}\n >\n <div\n data-testid=\"RadioToggle_WRAP\"\n className={joinClasses(styles.wrap, lock && styles.wrapLock)}\n >\n <div data-testid=\"RadioToggle_ROUND\" className={styles.round}></div>\n </div>\n </button>\n);\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.wrap {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n padding: 4px;\n width: 32px;\n height: 16px;\n border-radius: 40px;\n background: var(--leaf);\n}\n\n.wrapLock {\n justify-content: flex-start;\n background: var(--surface-surface-3-color);\n}\n\n.round {\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--surface-surface-2);\n}\n","import React, { Dispatch, JSX } from \"react\";\nimport Icons from \"@egov3/graphics\";\n\nimport styles from \"./SelectBoxButton.module.css\";\nimport { Components } from \"~components\";\n\nexport interface ISelectBoxProps {\n labelText?: string;\n setIsOpen: Dispatch<React.SetStateAction<boolean>>;\n disabled: boolean;\n error?: boolean;\n modalValue?: string;\n}\n\nexport const SelectBoxButton = ({\n setIsOpen,\n labelText,\n disabled,\n error,\n modalValue,\n}: ISelectBoxProps): JSX.Element => (\n <button\n data-testid=\"SelectBoxModal_BUTTON\"\n className={styles.selectContainer}\n onClick={() => !disabled && setIsOpen(true)}\n >\n <div data-testid=\"SelectBoxModal_TITLE\">\n <Components.Typography\n tag=\"label\"\n fontClass=\"Caption1Regular\"\n data-testid=\"SelectBoxModal_LABEL\"\n className={error ? styles.errorLabel : styles.label}\n aria-label={labelText}\n >\n {labelText}\n </Components.Typography>\n {modalValue && modalValue.length > 0 && (\n <Components.Typography\n tag=\"div\"\n fontClass=\"Body2Regular\"\n data-testid=\"SelectBoxModal_VALUE\"\n className={styles.selectText}\n aria-label={modalValue}\n >\n {modalValue}\n </Components.Typography>\n )}\n </div>\n <Icons.Basic.ChevronDownSmall\n aria-label=\"кнопка развернуть\"\n fill=\"#758393\"\n className={styles.clearIcon}\n />\n </button>\n);\n","@import \"src/styles/colors.css\";\n\n.selectContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 56px;\n padding: 8px 16px;\n border-radius: 8px;\n background-color: var(--surface-surface-1);\n gap: 8px;\n}\n\n.label,\n.errorLabel,\n.selectText {\n display: flex;\n align-items: center;\n}\n\n.label {\n color: var(--text-secondary);\n}\n\n.errorLabel {\n color: var(--icon-error-color);\n}\n\n.selectText {\n color: var(--text-primary);\n}\n","// Typography.tsx\nimport React, { FC, JSX } from \"react\";\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./Typography.module.css\";\n\ntype TFontClass =\n | \"Heading1\"\n | \"Heading3\"\n | \"Subtitles3\"\n | \"Body1Medium\"\n | \"Body1Regular\"\n | \"Body2Medium\"\n | \"Body2Regular\"\n | \"Body3Regular\"\n | \"Caption1Medium\"\n | \"Caption1Regular\"\n | \"Caption1Semibold\"\n | \"Caption2Medium\"\n | \"Caption2Regular\";\n\nexport interface ITypographyProps extends React.HTMLAttributes<HTMLElement> {\n tag: keyof JSX.IntrinsicElements | React.JSXElementConstructor<any>;\n fontClass: TFontClass;\n}\n\nexport const Typography: FC<ITypographyProps> = ({\n tag,\n fontClass,\n className,\n children,\n style,\n ...restProps\n}) =>\n React.createElement(\n tag,\n {\n ...restProps,\n className: joinClasses(fontClass ? styles[fontClass] : \"\", className),\n style,\n },\n children\n );\n","@import \"src/styles/typography.css\";\n\n.Heading1 {\n font: var(--heading1);\n letter-spacing: var(--heading1-letter-spacing);\n}\n\n.Heading3 {\n font: var(--heading3);\n letter-spacing: var(--heading3-letter-spacing);\n}\n\n.Subtitle3 {\n font: var(--subtitle3);\n}\n\n.Body1Medium {\n font: var(--body1-medium);\n}\n\n.Body1Regular {\n font: var(--body1-regular);\n}\n\n.Body2Medium {\n font: var(--body2-medium);\n}\n\n.Body2Regular {\n font: var(--body2-regular);\n}\n\n.Body3Regular {\n font: var(--body3-regular);\n}\n\n.Caption1Medium {\n font: var(--caption1-medium);\n}\n\n.Caption1Regular {\n font: var(--caption1-regular);\n}\n\n.Caption1Semibold {\n font: var(--caption1-semibold);\n}\n\n.Caption2Medium {\n font: var(--caption2-medium);\n}\n\n.Caption2Regular {\n font: var(--caption2-regular);\n}\n","import { Accordion } from \"./Accordion\";\nimport { Button } from \"./Button\";\nimport { Calendar } from \"./Calendar\";\nimport { InputField } from \"./InputField\";\nimport { Modal } from \"./Modal\";\nimport { CustomRadioButton, RadioGroup } from \"./RadioGroup\";\nimport { RadioToggle } from \"./RadioToggle\";\nimport { SelectBoxButton } from \"./SelectBoxButton\";\nimport { Typography } from \"./Typography\";\n\nexport const Components = {\n Accordion,\n Button,\n Calendar,\n CustomRadioButton,\n InputField,\n Modal,\n RadioGroup,\n RadioToggle,\n SelectBoxButton,\n Typography,\n}\n\n"],"mappings":"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","names":["index_exports","__export","index_default","__toCommonJS","import_react","Accordion_default","joinClasses","args","item","Accordion","open","setOpen","children","title","React","Accordion_default","joinClasses","import_react","Button_default","Button","onClick","children","style","className","isRounded","disabled","variant","size","ariaLabel","React","joinClasses","Button_default","import_graphics","import_react","convert","num","str","convertDate","day","month","year","convertDateRange","fromday","fromMonth","fromYear","toDay","toMonth","toYear","convertType","minYear","minMonth","maxMonth","currentYear","currentMonth","currentDay","getMonthNameProper","month","monthName","currentYear","getDaysInMonth","month","year","GenerateArray","length","start","_","i","getDaysRange","day","month","year","start","end","getDaysInMonth","GenerateArray","getMonthRange","month","year","start","minMonth","end","maxMonth","GenerateArray","getYearRange","year","start","minYear","end","currentYear","GenerateArray","isValidDateRange","from","to","fromDate","toDate","isInvalidDateRange","props","toPascalCase","str","CalendarBody_default","Body","changeDate","handleMouseDown","handleMouseUp","selectedCalenderDate","selectedPeriodInterval","setDistanceTraveled","setInitialY","isEndOrStart","convertType","unitTimeClassname","item","CalendarBody_default","getMonthNameProper","joinClasses","displayedYear","getYearRange","displayedMonth","getMonthRange","monthIndex","displayedDay","getDaysRange","displayedDate","handleWheel","event","type","delta","distance","direction","arr","React","timeUnit","toPascalCase","Icons","e","Components","isInvalidDateRange","import_react","CalendarFooter_default","Footer","selectedCalenderDate","setSelectedPeriod","setIsModalOpen","setSelectedRadioOption","updateDate","fromDate","toDate","React","isInvalidDateRange","convertType","Components","joinClasses","CalendarFooter_default","import_react","PERIOD_KEYS","CalendarHeader_default","Header","setSelectedPeriodInterval","selectedPeriodInterval","selectedCalenderDate","tabs","PERIOD_KEYS","React","CalendarHeader_default","tab","joinClasses","isInvalidDateRange","convertType","Components","import_react","normalizeDayAndMonth","day","month","year","lastDay","getDaysInMonth","normalizedDay","currentMonth","currentYear","currentDay","getValideMonthAndDay","day","month","year","normalizedMonth","currentYear","currentMonth","normalizeDayAndMonth","isValidateDate","date","day","month","year","minYear","dateObj","today","currentDate","Main_default","Main","setSelectedPeriod","selectedPeriod","setIsModalOpen","setSelectedRadioOption","selectedCalenderDate","setSelectedCalenderDate","selectedPeriodInterval","setSelectedPeriodInterval","PERIOD_KEYS","isMouseDown","setIsMouseDown","initialY","setInitialY","distanceTraveled","setDistanceTraveled","changeDay","direction","newDate","convertType","isValidateDate","changeMonth","newMonth","normalizeDayAndMonth","changeYear","newYear","getValideMonthAndDay","changeDate","handleMouseDown","e","type","mouseDownActions","prev","isMouseOverStopButton","button","rect","handleMouseUp","handleMouseMove","deltaY","distance","onMouseMoveHandler","React","Main_default","Components","Calendar","Body","Footer","Main","Header","import_react","InputField_default","import_react","ClearIcon","fill","pathFill","width","height","props","React","InputField","onFocus","onBlur","onChange","onEnterPress","value","inputLeftIcon","placeholder","className","style","isClearable","type","id","labelText","ariaLabel","focused","setFocused","readOnly","inline","ref","handleClear","handleFocus","handleBlur","handleKeyDown","event","React","joinClasses","InputField_default","ClearIcon","import_react","import_graphics","Modal_default","Modal","open","setOpen","children","headerTitle","variant","React","Modal_default","joinClasses","Components","Icons","import_react","RadioGroup_default","CustomRadioButton","label","name","checked","onChange","value","React","RadioGroup_default","RadioGroup","RadioGroupItems","invokeCustomOnChange","setSelectedOption","selectedOption","handleChange","event","item","import_react","RadioToggle_default","RadioToggle","lock","setLock","React","joinClasses","RadioToggle_default","import_react","import_graphics","SelectBoxButton_default","SelectBoxButton","setIsOpen","labelText","disabled","error","modalValue","React","SelectBoxButton_default","Components","Icons","import_react","Typography_default","Typography","tag","fontClass","className","children","style","restProps","React","joinClasses","Typography_default","Components","Accordion","Button","Calendar","CustomRadioButton","InputField","Modal","RadioGroup","RadioToggle","SelectBoxButton","Typography","SystemDesign","Components","index_default"]}
|
package/dist/index.css
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
.accordionBtn{border-radius:inherit;width:100%;text-align:left;display:flex;justify-content:space-between;cursor:pointer}.accordionContent{max-height:1000px;overflow:hidden;transition:all .3s ease-in-out}.accordionContent--hidden{max-height:0}.button{border:none;transition:background-color .2s ease;display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.btn-default{color:var(--default-white-color);background-color:var(--default-primary-accent)}.btn-default--disabled{color:var(--text-disabled-color);background-color:var(--button-disabled-default-color)}.btn-tinted{color:var(--text-accent);background-color:var(--button-tinted-default-color)}.btn-tinted--disabled{color:var(--text-disabled-accent-color);background-color:var(--button-tinted-default-color)}.btn-secondary{color:var(--text-primary);background-color:var(--surface-surface-3-color)}.btn-secondary--disabled{color:var(--text-secondary);background-color:var(--surface-surface-3-color)}.btn-default:hover{background-color:var(--button-primary-on-hover-color)}.btn-tinted:hover{background-color:var(--button-tinted-on-hover-color)}.btn-secondary:hover{background-color:var(--button-secondary-on-hover)}.btn--mini{gap:4px;padding:6px 12px;font:var(--caption2-medium)}.btn--small{gap:8px;padding:8px 16px;font:var(--caption1-medium)}.btn--medium{gap:8px;padding:8px 20px;font:var(--body2-medium)}.btn--large{gap:8px;padding:14px 24px;font:var(--body1-medium)}.btn-square--mini{border-radius:4px}.btn-square--small{border-radius:6px}.btn-square--medium{border-radius:10px}.btn-square--large{border-radius:12px}.btn-rounded--mini,.btn-rounded--small,.btn-rounded--medium{border-radius:32px}.btn-rounded--large{border-radius:40px}.wrapper{width:118px;height:24px;display:flex;padding:4px 0;justify-content:center;align-items:center;gap:4px;flex:1;border-top:1px solid var(--surface-surface-3-color);border-bottom:1px solid var(--surface-surface-3-color)}.wrapperDay{width:118px}.wrapperMonth{width:132px}.wrapperYear{width:118px}.cover{width:368px;height:128px;display:flex;align-items:center;padding:8px 0}.block{height:21px;display:flex;flex-direction:column;align-self:center;gap:4px;position:relative;top:-58px}.end{top:58px;justify-content:end}.start{top:-58px;justify-content:start}.btn{gap:4px;display:flex;flex-direction:column;padding:0}.currentText{display:block;margin:0 auto;color:var(--text-primary);text-align:center}.text{margin:0 auto;height:24px;color:var(--text-disabled-color);text-align:center}.currentMonth{display:block;width:76px}.btnUpAndDown{padding:0}.tab{width:368px;display:flex;justify-content:center;align-items:center;gap:8px;flex:1 0 0}.titleActiv{padding:8px 0;width:180px;color:var(--text-primary);text-align:center;border-bottom:2px solid var(--icon-accent-color)}.title{width:180px;padding:8px 0;color:var(--text-disabled-color);text-align:center;border-bottom:2px solid var(--surface-surface-3-color)}.titleError{text-align:center;border-bottom:2px solid var(--text-error)}.modalBlock{display:flex;padding:16px;flex-direction:column;align-items:center;gap:8px;align-self:stretch}.currentError{color:var(--text-error)}.textError{padding:0 0 8px}.save{align-self:stretch}.inputContainer,.inputContainerLabeled{display:flex;align-items:center;background-color:var(--surface-surface-1);border-radius:8px;padding:12px 16px}.inputContainerLabeled label{color:var(--text-secondary)}.input{width:100%;border:none;background-color:var(--surface-surface-1)}.input:active,.input:focus{outline:none}.input::placeholder{color:var(--text-disabled-color)}.input::-webkit-inner-spin-button,.input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.clearIcon{cursor:pointer}.input--onfocus,.input--onfocus .input{background-color:var(--surface-surface-3-color)}.input-text{font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.inline{display:flex;gap:8px}.overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1;box-sizing:border-box}.contentWrap{background:var(--page-color-background-white);border-radius:16px;height:fit-content;animation:flyDawn 1s}.largeVariant{width:1052px}.smallVariant{width:400px}.contentHeader{position:relative;display:flex;justify-content:space-between;align-items:center;align-self:stretch;padding:12px 16px}.title{color:var(--text-primary)}@keyframes flyDawn{0%{transform:translateY(-1000px);opacity:.1}to{transform:translateY(0);opacity:1}}.radio{display:flex;align-items:center;cursor:pointer}.radio input{display:none}.radioBtn{position:relative;height:15px;width:15px;border-radius:50%;border:2px solid var(--button-secondary-on-hover);margin:10px;transition:background .3s}.radioBtn:after{content:"";position:absolute;top:50%;left:50%;height:10px;width:10px;background:var(--button-primary-default);border-radius:50%;transform:scale(0) translate(-50%,-50%);transition:transform .3s}input:checked+.radioBtn:after{transform:scale(1) translate(-50%,-50%)}input:checked+.radioBtn{border:2px solid var(--button-primary-default)}.radioBtnText{padding-left:10px;width:fit-content;font:var(--body2-regular)}.wrap{display:flex;justify-content:flex-end;align-items:center;padding:4px;width:32px;height:16px;border-radius:40px;background:var(--leaf)}.wrapLock{justify-content:flex-start;background:var(--surface-surface-3-color)}.round{width:16px;height:16px;border-radius:50%;background:var(--surface-surface-2)}:root{--button-alternative-default-color: rgba(170, 170, 170, .64);--button-disabled-default-color: #c5ccd3;--button-primary-default: #0581da;--button-primary-on-hover-color: #1a9cfa;--button-secondary-default-color: #e6e9ec;--button-secondary-on-hover: #c5ccd3;--button-tinted-default-color: #e1f0fb;--button-tinted-on-hover-color: #b2d9f5;--default-primary-accent: #0581da;--default-white-color: #fff;--default-black-color: #000;--leaf: #c1dc19;--icon-accent-color: #0581da;--icon-error-color: #f35929;--icon-secondary-color: #758393;--icon-success: #57bb09;--icon-warning-color: #f3a229;--page-color-background-gray: #f0f2f4;--page-color-background-white: #fff;--surface-surface-1: #f0f2f4;--surface-surface-2: #fff;--surface-surface-3-color: #e3e7eb;--surface-surface-alt: rgba(240, 242, 244, .8);--surface-surface-black-nonconvert: #000;--surface-surface-black-opacity: rgba(0, 0, 0, .24);--surface-surface-white-nonconvert: #fff;--surface-surface-tinted: #e1f0fb;--text-accent: #0581da;--text-disabled-accent-color: #9bcdf0;--text-disabled-color: #929daa;--text-primary: #000;--text-secondary: #758393;--text-white-nonconvert-color: #fff;--text-error: #f35929;--border-stroke-primary: #e6e9ec}.selectContainer{display:flex;align-items:center;justify-content:space-between;height:56px;padding:8px 16px;border-radius:8px;background-color:var(--surface-surface-1);gap:8px}.label,.errorLabel,.selectText{display:flex;align-items:center}.label{color:var(--text-secondary)}.errorLabel{color:var(--icon-error-color)}.selectText{color:var(--text-primary)}:root{--border-radius: 4px;--font-family: Inter, sans-serif;--heading1: 600 32px / 36px var(--font-family);--heading1-letter-spacing: -.32px;--heading3: 600 24px / 28px var(--font-family);--heading3-letter-spacing: -.24px;--subtitle3: 600 16px / 24px var(--font-family);--body1-medium: 500 16px / 24px var(--font-family);--body1-regular: 400 16px / 24px var(--font-family);--body2-medium: 500 14px / 20px var(--font-family);--body2-regular: 400 14px / 20px var(--font-family);--body3-regular: 400 14px / 16px var(--font-family);--caption1-medium: 500 12px / 16px var(--font-family);--caption1-regular: 400 12px / 16px var(--font-family);--caption1-semibold: 600 12px / 16px var(--font-family);--caption2-medium: 500 10px / 12px var(--font-family);--caption2-regular: 400 10px / 12px var(--font-family)}h1{font:var(--heading1);letter-spacing:var(--heading1-letter-spacing)}h3{font:var(--heading3);letter-spacing:var(--heading3-letter-spacing)}p{font:var(--body1-regular)}button{border-radius:var(--border-radius)}.Heading1{font:var(--heading1);letter-spacing:var(--heading1-letter-spacing)}.Heading3{font:var(--heading3);letter-spacing:var(--heading3-letter-spacing)}.Subtitle3{font:var(--subtitle3)}.Body1Medium{font:var(--body1-medium)}.Body1Regular{font:var(--body1-regular)}.Body2Medium{font:var(--body2-medium)}.Body2Regular{font:var(--body2-regular)}.Body3Regular{font:var(--body3-regular)}.Caption1Medium{font:var(--caption1-medium)}.Caption1Regular{font:var(--caption1-regular)}.Caption1Semibold{font:var(--caption1-semibold)}.Caption2Medium{font:var(--caption2-medium)}.Caption2Regular{font:var(--caption2-regular)}
|
|
2
|
-
/*# sourceMappingURL=index.css.map */
|
package/dist/index.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Accordion/Accordion.module.css","../src/components/Button/Button.module.css","../src/components/Calendar/Body/CalendarBody.module.css","../src/components/Calendar/Header/CalendarHeader.module.css","../src/components/Calendar/Main/Main.module.css","../src/components/InputField/InputField.module.css","../src/components/Modal/Modal.module.css","../src/components/RadioGroup/RadioGroup.module.css","../src/components/RadioToggle/RadioToggle.module.css","../src/styles/colors.css","../src/components/SelectBoxButton/SelectBoxButton.module.css","../src/styles/typography.css","../src/components/Typography/Typography.module.css"],"sourcesContent":["@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.accordionBtn {\n border-radius: inherit;\n width: 100%;\n text-align: left;\n\n display: flex;\n justify-content: space-between;\n cursor: pointer;\n}\n\n.accordionContent {\n max-height: 1000px;\n overflow: hidden;\n transition: all 0.3s ease-in-out;\n}\n\n.accordionContent--hidden {\n max-height: 0;\n}\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.button {\n border: none;\n transition: background-color 0.2s ease;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.btn-default {\n color: var(--default-white-color);\n background-color: var(--default-primary-accent);\n}\n\n.btn-default--disabled {\n color: var(--text-disabled-color);\n background-color: var(--button-disabled-default-color);\n}\n\n.btn-tinted {\n color: var(--text-accent);\n background-color: var(--button-tinted-default-color);\n}\n\n.btn-tinted--disabled {\n color: var(--text-disabled-accent-color);\n background-color: var(--button-tinted-default-color);\n}\n\n.btn-secondary {\n color: var(--text-primary);\n background-color: var(--surface-surface-3-color);\n}\n\n.btn-secondary--disabled {\n color: var(--text-secondary);\n background-color: var(--surface-surface-3-color);\n}\n\n.btn-default:hover {\n background-color: var(--button-primary-on-hover-color);\n}\n\n.btn-tinted:hover {\n background-color: var(--button-tinted-on-hover-color);\n}\n\n.btn-secondary:hover {\n background-color: var(--button-secondary-on-hover);\n}\n\n.btn--mini {\n gap: 4px;\n padding: 6px 12px;\n font: var(--caption2-medium);\n}\n\n.btn--small {\n gap: 8px;\n padding: 8px 16px;\n font: var(--caption1-medium);\n}\n\n.btn--medium {\n gap: 8px;\n padding: 8px 20px;\n font: var(--body2-medium);\n}\n\n.btn--large {\n gap: 8px;\n padding: 14px 24px;\n font: var(--body1-medium);\n}\n\n.btn-square--mini {\n border-radius: 4px;\n}\n\n.btn-square--small {\n border-radius: 6px;\n}\n\n.btn-square--medium {\n border-radius: 10px;\n}\n\n.btn-square--large {\n border-radius: 12px;\n}\n\n.btn-rounded--mini,\n.btn-rounded--small,\n.btn-rounded--medium {\n border-radius: 32px;\n}\n\n.btn-rounded--large {\n border-radius: 40px;\n}\n","@import \"src/styles/colors.css\";\n\n.wrapper {\n width: 118px;\n height: 24px;\n display: flex;\n padding: 4px 0px;\n justify-content: center;\n align-items: center;\n gap: 4px;\n flex: 1;\n border-top: 1px solid var(--surface-surface-3-color);\n border-bottom: 1px solid var(--surface-surface-3-color);\n}\n\n.wrapperDay {\n width: 118px;\n}\n\n.wrapperMonth {\n width: 132px;\n}\n\n.wrapperYear {\n width: 118px;\n}\n\n.cover {\n width: 368px;\n height: 128px;\n display: flex;\n align-items: center;\n padding: 8px 0;\n}\n\n.block {\n height: 21px;\n display: flex;\n flex-direction: column;\n align-self: center;\n gap: 4px;\n position: relative;\n top: -58px;\n}\n\n.end {\n top: 58px;\n justify-content: end;\n}\n\n.start {\n top: -58px;\n justify-content: start;\n}\n\n.btn {\n gap: 4px;\n display: flex;\n flex-direction: column;\n padding: 0px;\n}\n\n.currentText {\n display: block;\n margin: 0 auto;\n color: var(--text-primary);\n text-align: center;\n}\n\n.text {\n margin: 0 auto;\n height: 24px;\n color: var(--text-disabled-color);\n text-align: center;\n}\n\n.currentMonth {\n display: block;\n width: 76px;\n}\n\n.currentError {\n color: var(--text-error);\n}\n\n.btnUpAndDown {\n padding: 0px;\n}\n","@import \"src/styles/colors.css\";\n\n.tab {\n width: 368px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex: 1 0 0;\n}\n\n.titleActiv {\n padding: 8px 0px;\n width: 180px;\n color: var(--text-primary);\n text-align: center;\n border-bottom: 2px solid var(--icon-accent-color);\n}\n\n.title {\n width: 180px;\n padding: 8px 0px;\n color: var(--text-disabled-color);\n text-align: center;\n border-bottom: 2px solid var(--surface-surface-3-color);\n}\n\n.titleError {\n text-align: center;\n border-bottom: 2px solid var(--text-error);\n}\n","@import \"src/styles/colors.css\";\n\n.modalBlock {\n display: flex;\n padding: 16px;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n}\n\n.currentError {\n color: var(--text-error);\n}\n\n.textError {\n padding: 0 0 8px 0;\n}\n\n.save {\n align-self: stretch;\n}\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.inputContainer {\n display: flex;\n align-items: center;\n background-color: var(--surface-surface-1);\n border-radius: 8px;\n padding: 12px 16px;\n}\n\n.inputContainerLabeled {\n display: flex;\n align-items: center;\n background-color: var(--surface-surface-1);\n border-radius: 8px;\n padding: 12px 16px;\n}\n\n.inputContainerLabeled label {\n color: var(--text-secondary);\n}\n\n.input {\n width: 100%;\n border: none;\n background-color: var(--surface-surface-1);\n}\n\n.input:active,\n.input:focus {\n outline: none;\n}\n\n.input::placeholder {\n color: var(--text-disabled-color);\n}\n\n.input::-webkit-inner-spin-button,\n.input::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.clearIcon {\n cursor: pointer;\n}\n\n.input--onfocus {\n background-color: var(--surface-surface-3-color);\n}\n\n.input--onfocus .input {\n background-color: var(--surface-surface-3-color);\n}\n\n.input-text {\n font-family: Inter, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n}\n\n.inline {\n display: flex;\n gap: 8px;\n}\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n box-sizing: border-box;\n}\n\n.contentWrap {\n background: var(--page-color-background-white);\n border-radius: 16px;\n height: fit-content;\n animation: flyDawn 1s;\n}\n\n.largeVariant {\n width: 1052px;\n}\n\n.smallVariant {\n width: 400px;\n}\n\n.contentHeader {\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n padding: 12px 16px;\n}\n\n.title {\n color: var(--text-primary);\n}\n\n@keyframes flyDawn {\n from {\n transform: translateY(-1000px);\n opacity: 0.1;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.radio {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n\n.radio input {\n display: none;\n}\n\n.radioBtn {\n position: relative;\n height: 15px;\n width: 15px;\n border-radius: 50%;\n border: 2px solid var(--button-secondary-on-hover);\n margin: 10px;\n transition: background 0.3s;\n}\n\n.radioBtn::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n height: 10px;\n width: 10px;\n background: var(--button-primary-default);\n border-radius: 50%;\n transform: scale(0) translate(-50%, -50%);\n transition: transform 0.3s;\n}\n\ninput:checked + .radioBtn::after {\n transform: scale(1) translate(-50%, -50%);\n}\n\ninput:checked + .radioBtn {\n border: 2px solid var(--button-primary-default);\n}\n\n.radioBtnText {\n padding-left: 10px;\n width: fit-content;\n font: var(--body2-regular);\n}\n","@import \"src/styles/typography.css\";\n@import \"src/styles/colors.css\";\n\n.wrap {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n padding: 4px;\n width: 32px;\n height: 16px;\n border-radius: 40px;\n background: var(--leaf);\n}\n\n.wrapLock {\n justify-content: flex-start;\n background: var(--surface-surface-3-color);\n}\n\n.round {\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--surface-surface-2);\n}\n",":root {\n /* Buttons Colors */\n --button-alternative-default-color: rgba(170, 170, 170, 0.64);\n --button-disabled-default-color: #c5ccd3;\n --button-primary-default: #0581da;\n --button-primary-on-hover-color: #1a9cfa;\n --button-secondary-default-color: #e6e9ec;\n --button-secondary-on-hover: #c5ccd3;\n --button-tinted-default-color: #e1f0fb;\n --button-tinted-on-hover-color: #b2d9f5;\n\n /* Default Colors */\n --default-primary-accent: #0581da;\n --default-white-color: #fff;\n --default-black-color: #000;\n\n /* General lightmode colors */\n --leaf: #c1dc19;\n\n /* Icons Colors */\n --icon-accent-color: #0581da;\n --icon-error-color: #f35929;\n --icon-secondary-color: #758393;\n --icon-success: #57bb09;\n --icon-warning-color: #f3a229;\n\n /* Page Colors */\n --page-color-background-gray: #f0f2f4;\n --page-color-background-white: #fff;\n\n /* Surface Colors */\n --surface-surface-1: #f0f2f4;\n --surface-surface-2: #fff;\n --surface-surface-3-color: #e3e7eb;\n --surface-surface-alt: rgba(240, 242, 244, 0.8);\n --surface-surface-black-nonconvert: #000;\n --surface-surface-black-opacity: rgba(0, 0, 0, 0.24);\n --surface-surface-white-nonconvert: #fff;\n --surface-surface-tinted: #e1f0fb;\n\n /* Text Colors */\n --text-accent: #0581da;\n --text-disabled-accent-color: #9bcdf0;\n --text-disabled-color: #929daa;\n --text-primary: #000;\n --text-secondary: #758393;\n --text-white-nonconvert-color: #fff;\n --text-error: #f35929;\n\n /* Border-Stroke Colors */\n --border-stroke-primary: #e6e9ec;\n}\n","@import \"src/styles/colors.css\";\n\n.selectContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 56px;\n padding: 8px 16px;\n border-radius: 8px;\n background-color: var(--surface-surface-1);\n gap: 8px;\n}\n\n.label,\n.errorLabel,\n.selectText {\n display: flex;\n align-items: center;\n}\n\n.label {\n color: var(--text-secondary);\n}\n\n.errorLabel {\n color: var(--icon-error-color);\n}\n\n.selectText {\n color: var(--text-primary);\n}\n",":root {\n --border-radius: 4px;\n --font-family: Inter, sans-serif;\n\n /* Headings */\n --heading1: 600 32px / 36px var(--font-family);\n --heading1-letter-spacing: -0.32px;\n\n --heading3: 600 24px / 28px var(--font-family);\n --heading3-letter-spacing: -0.24px;\n\n /* Subtitles */\n --subtitle3: 600 16px / 24px var(--font-family);\n\n /* Body */\n --body1-medium: 500 16px / 24px var(--font-family);\n --body1-regular: 400 16px / 24px var(--font-family);\n\n --body2-medium: 500 14px / 20px var(--font-family);\n --body2-regular: 400 14px / 20px var(--font-family);\n\n --body3-regular: 400 14px / 16px var(--font-family);\n\n /* Captions */\n --caption1-medium: 500 12px / 16px var(--font-family);\n --caption1-regular: 400 12px / 16px var(--font-family);\n --caption1-semibold: 600 12px / 16px var(--font-family);\n\n --caption2-medium: 500 10px / 12px var(--font-family);\n --caption2-regular: 400 10px / 12px var(--font-family);\n}\n\n/* Примеры использования */\nh1 {\n font: var(--heading1);\n letter-spacing: var(--heading1-letter-spacing);\n}\n\nh3 {\n font: var(--heading3);\n letter-spacing: var(--heading3-letter-spacing);\n}\n\np {\n font: var(--body1-regular);\n}\n\nbutton {\n border-radius: var(--border-radius);\n}\n","@import \"src/styles/typography.css\";\n\n.Heading1 {\n font: var(--heading1);\n letter-spacing: var(--heading1-letter-spacing);\n}\n\n.Heading3 {\n font: var(--heading3);\n letter-spacing: var(--heading3-letter-spacing);\n}\n\n.Subtitle3 {\n font: var(--subtitle3);\n}\n\n.Body1Medium {\n font: var(--body1-medium);\n}\n\n.Body1Regular {\n font: var(--body1-regular);\n}\n\n.Body2Medium {\n font: var(--body2-medium);\n}\n\n.Body2Regular {\n font: var(--body2-regular);\n}\n\n.Body3Regular {\n font: var(--body3-regular);\n}\n\n.Caption1Medium {\n font: var(--caption1-medium);\n}\n\n.Caption1Regular {\n font: var(--caption1-regular);\n}\n\n.Caption1Semibold {\n font: var(--caption1-semibold);\n}\n\n.Caption2Medium {\n font: var(--caption2-medium);\n}\n\n.Caption2Regular {\n font: var(--caption2-regular);\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.d.cts
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import React__default, { JSX, Dispatch, SetStateAction, HTMLInputTypeAttribute } from 'react';
|
|
3
|
-
|
|
4
|
-
type TFontClass = "Heading1" | "Heading3" | "Subtitles3" | "Body1Medium" | "Body1Regular" | "Body2Medium" | "Body2Regular" | "Body3Regular" | "Caption1Medium" | "Caption1Regular" | "Caption1Semibold" | "Caption2Medium" | "Caption2Regular";
|
|
5
|
-
interface ITypographyProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
6
|
-
tag: keyof JSX.IntrinsicElements | React__default.JSXElementConstructor<any>;
|
|
7
|
-
fontClass: TFontClass;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
interface ISelectBoxProps {
|
|
11
|
-
labelText?: string;
|
|
12
|
-
setIsOpen: Dispatch<React__default.SetStateAction<boolean>>;
|
|
13
|
-
disabled: boolean;
|
|
14
|
-
error?: boolean;
|
|
15
|
-
modalValue?: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
interface IRadioToggleProps {
|
|
19
|
-
lock: boolean;
|
|
20
|
-
setLock: Dispatch<SetStateAction<boolean>>;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
interface IModalProps {
|
|
24
|
-
open: boolean;
|
|
25
|
-
children: JSX.Element;
|
|
26
|
-
setOpen: Dispatch<React__default.SetStateAction<boolean>>;
|
|
27
|
-
headerTitle?: string;
|
|
28
|
-
variant: "large" | "small";
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
interface IInputFieldProps extends React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> {
|
|
32
|
-
onFocus?: () => void;
|
|
33
|
-
onBlur?: () => void;
|
|
34
|
-
onEnterPress?: (event: React__default.KeyboardEvent<HTMLInputElement>) => void;
|
|
35
|
-
onChange?: (event: React__default.ChangeEvent<HTMLInputElement>) => void;
|
|
36
|
-
value?: string;
|
|
37
|
-
placeholder?: string;
|
|
38
|
-
className?: string;
|
|
39
|
-
style?: React__default.CSSProperties;
|
|
40
|
-
isClearable?: boolean;
|
|
41
|
-
inputLeftIcon?: JSX.Element;
|
|
42
|
-
type?: HTMLInputTypeAttribute;
|
|
43
|
-
id: string;
|
|
44
|
-
labelText?: string;
|
|
45
|
-
ariaLabel: string;
|
|
46
|
-
focused?: boolean;
|
|
47
|
-
setFocused?: (val: boolean) => void;
|
|
48
|
-
readOnly?: boolean;
|
|
49
|
-
inline?: boolean;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
interface RadioGroupItem {
|
|
53
|
-
label: string;
|
|
54
|
-
value: string;
|
|
55
|
-
}
|
|
56
|
-
interface ICustomRadioButtonProps {
|
|
57
|
-
label: string;
|
|
58
|
-
name: string;
|
|
59
|
-
checked: boolean;
|
|
60
|
-
onChange: (event: React__default.ChangeEvent<HTMLInputElement>) => void;
|
|
61
|
-
value: string;
|
|
62
|
-
}
|
|
63
|
-
interface IRadioGroupProps {
|
|
64
|
-
RadioGroupItems: RadioGroupItem[];
|
|
65
|
-
invokeCustomOnChange: (event: React__default.ChangeEvent<HTMLInputElement>) => void;
|
|
66
|
-
setSelectedOption: React__default.Dispatch<React__default.SetStateAction<string>>;
|
|
67
|
-
selectedOption: string;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
interface ISelectedPeriod {
|
|
71
|
-
fromDate?: string;
|
|
72
|
-
toDate?: string;
|
|
73
|
-
periodSelected: boolean;
|
|
74
|
-
}
|
|
75
|
-
interface IStrictSelectedPeriod extends Omit<ISelectedPeriod, "fromDate" | "toDate"> {
|
|
76
|
-
fromDate: string;
|
|
77
|
-
toDate: string;
|
|
78
|
-
}
|
|
79
|
-
interface IDateItem<T = number> {
|
|
80
|
-
day: T;
|
|
81
|
-
month: T;
|
|
82
|
-
year: T;
|
|
83
|
-
}
|
|
84
|
-
interface IPeriodKeys {
|
|
85
|
-
from: "from";
|
|
86
|
-
to: "to";
|
|
87
|
-
}
|
|
88
|
-
type TPeriodKeys = keyof IPeriodKeys;
|
|
89
|
-
interface ICalendarPeriod<T = number> {
|
|
90
|
-
from: IDateItem<T>;
|
|
91
|
-
to: IDateItem<T>;
|
|
92
|
-
}
|
|
93
|
-
type TTimeUnit = keyof IDateItem;
|
|
94
|
-
|
|
95
|
-
interface IHeaderProps {
|
|
96
|
-
setSelectedPeriodInterval: Dispatch<SetStateAction<TPeriodKeys>>;
|
|
97
|
-
selectedPeriodInterval: TPeriodKeys;
|
|
98
|
-
selectedCalenderDate: ICalendarPeriod<string>;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
interface IMainProps {
|
|
102
|
-
setSelectedPeriod: Dispatch<SetStateAction<IStrictSelectedPeriod>>;
|
|
103
|
-
selectedPeriod: IStrictSelectedPeriod;
|
|
104
|
-
setIsModalOpen: Dispatch<SetStateAction<boolean>>;
|
|
105
|
-
setSelectedRadioOption: Dispatch<SetStateAction<string>>;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
interface IFooterProps {
|
|
109
|
-
selectedCalenderDate: ICalendarPeriod<string>;
|
|
110
|
-
setSelectedPeriod: Dispatch<SetStateAction<IStrictSelectedPeriod>>;
|
|
111
|
-
setIsModalOpen: Dispatch<SetStateAction<boolean>>;
|
|
112
|
-
setSelectedRadioOption: Dispatch<SetStateAction<string>>;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
interface IBodyProps {
|
|
116
|
-
changeDate: IDateItem<(direction: number) => void>;
|
|
117
|
-
handleMouseDown: (e: React__default.MouseEvent, type: TTimeUnit) => void;
|
|
118
|
-
handleMouseUp: () => void;
|
|
119
|
-
selectedCalenderDate: ICalendarPeriod<string>;
|
|
120
|
-
selectedPeriodInterval: TPeriodKeys;
|
|
121
|
-
setDistanceTraveled: Dispatch<SetStateAction<number>>;
|
|
122
|
-
setInitialY: Dispatch<SetStateAction<number>>;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
interface IButtonProps {
|
|
126
|
-
ariaLabel?: string;
|
|
127
|
-
onClick?: () => void;
|
|
128
|
-
children: React__default.ReactNode;
|
|
129
|
-
className?: string;
|
|
130
|
-
isRounded?: boolean;
|
|
131
|
-
disabled?: boolean;
|
|
132
|
-
variant?: "default" | "tinted" | "secondary";
|
|
133
|
-
size?: "mini" | "small" | "medium" | "large";
|
|
134
|
-
style?: React__default.CSSProperties;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
interface IAccordionProps {
|
|
138
|
-
open: boolean;
|
|
139
|
-
setOpen: Dispatch<React__default.SetStateAction<boolean>>;
|
|
140
|
-
children: React__default.ReactNode;
|
|
141
|
-
title: React__default.JSX.Element;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
declare const SystemDesign: {
|
|
145
|
-
Components: {
|
|
146
|
-
Accordion: ({ open, setOpen, children, title, }: IAccordionProps) => React.JSX.Element;
|
|
147
|
-
Button: ({ onClick, children, style, className, isRounded, disabled, variant, size, ariaLabel, }: IButtonProps) => React.JSX.Element;
|
|
148
|
-
Calendar: {
|
|
149
|
-
Body: ({ changeDate, handleMouseDown, handleMouseUp, selectedCalenderDate, selectedPeriodInterval, setDistanceTraveled, setInitialY, }: IBodyProps) => React.JSX.Element;
|
|
150
|
-
Footer: ({ selectedCalenderDate, setSelectedPeriod, setIsModalOpen, setSelectedRadioOption, }: IFooterProps) => React.JSX.Element;
|
|
151
|
-
Main: ({ setSelectedPeriod, selectedPeriod, setIsModalOpen, setSelectedRadioOption, }: IMainProps) => React.JSX.Element;
|
|
152
|
-
Header: ({ setSelectedPeriodInterval, selectedPeriodInterval, selectedCalenderDate, }: IHeaderProps) => React.JSX.Element;
|
|
153
|
-
};
|
|
154
|
-
CustomRadioButton: ({ label, name, checked, onChange, value, }: ICustomRadioButtonProps) => React.JSX.Element;
|
|
155
|
-
InputField: React.ForwardRefExoticComponent<Omit<IInputFieldProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
156
|
-
Modal: ({ open, setOpen, children, headerTitle, variant, }: IModalProps) => React.JSX.Element | null;
|
|
157
|
-
RadioGroup: ({ RadioGroupItems, invokeCustomOnChange, setSelectedOption, selectedOption, }: IRadioGroupProps) => React.JSX.Element;
|
|
158
|
-
RadioToggle: ({ lock, setLock }: IRadioToggleProps) => React.JSX.Element;
|
|
159
|
-
SelectBoxButton: ({ setIsOpen, labelText, disabled, error, modalValue, }: ISelectBoxProps) => React.JSX.Element;
|
|
160
|
-
Typography: React.FC<ITypographyProps>;
|
|
161
|
-
};
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export { SystemDesign as default };
|
package/dist/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import _ from"react";var W={};var p=(...t)=>t.filter(o=>!!o).join(" ");var mt=({open:t,setOpen:o,children:a,title:r})=>_.createElement(_.Fragment,null,_.createElement("button",{"data-testid":"Accordion_BUTTON",className:W.accordionBtn,onClick:()=>{o(!t)}},r,_.createElement("svg",{"data-testid":"Accordion_DIRECTION",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{transform:t?"rotate(0.5turn)":"none"}},_.createElement("path",{d:"M15.8346 7.5L10.0013 13.3333L4.16797 7.5",stroke:"#758393"}))),_.createElement("div",{"data-testid":"Accordion_CONTENT",className:p(W.accordionContent,!t&&W["accordionContent--hidden"])},a));import Yt from"react";var k={};var ut=({onClick:t,children:o,style:a,className:r="",isRounded:e=!1,disabled:n=!1,variant:s="default",size:h="medium",ariaLabel:I="\u041A\u043D\u043E\u043F\u043A\u0430"})=>Yt.createElement("button",{"data-testid":"Button_MAIN","aria-label":I,disabled:n,"aria-disabled":n,onClick:t,className:p(k[`btn--${h}`],e?k[`btn-rounded--${h}`]:k[`btn-square--${h}`],n?k[`btn-${s}--disabled`]:k[`btn-${s}`],k.button,r),style:a},o);import xt from"@egov3/graphics";import v from"react";var m={day:{toString:t=>String(t).padStart(2,"0"),toNumber:t=>+t},month:{toString:t=>String(t+1).padStart(2,"0"),toNumber:t=>+t-1},year:{toString:t=>String(t),toNumber:t=>+t}},Ht={toString:({day:t,month:o,year:a})=>({day:m.day.toString(t),month:m.month.toString(o),year:m.year.toString(a)}),toNumber:({day:t,month:o,year:a})=>({day:m.day.toNumber(t),month:m.month.toNumber(o),year:m.year.toNumber(a)})},Ft={toString:({from:{day:t,month:o,year:a},to:{day:r,month:e,year:n}})=>({from:{day:m.day.toString(t),month:m.month.toString(o),year:m.year.toString(a)},to:{day:m.day.toString(r),month:m.month.toString(e),year:m.year.toString(n)}}),toNumber:({from:{day:t,month:o,year:a},to:{day:r,month:e,year:n}})=>({from:{day:m.day.toNumber(t),month:m.month.toNumber(o),year:m.year.toNumber(a)},to:{day:m.day.toNumber(r),month:m.month.toNumber(e),year:m.year.toNumber(n)}})},l={date:Ht,dateRange:Ft,...m};var q=new Date(0).getFullYear(),yt=0,ft=11,M=new Date().getFullYear(),$=new Date().getMonth(),it=new Date().getDate();var st=t=>{let o=new Date(M,t).toLocaleString("ru-RU",{month:"long"});return o.charAt(0).toUpperCase()+o.slice(1)};var Q=(t,o)=>new Date(o,t+1,0).getDate();var O=(t,o=1)=>Array.from({length:t},(a,r)=>o+r);var gt=({day:t,month:o,year:a})=>{let r=Math.max(t-2,1),e=Math.min(t+2,Q(o,a));return O(e-r+1,r)};var bt=(t,o)=>{if(!Number.isInteger(t)||t<0||t>11)throw new Error(`Invalid month: ${t}`);if(!Number.isInteger(o))throw new Error(`Invalid year: ${o}`);let a=Math.max(t-2,yt),r=Math.min(t+2,ft);return O(r-a+1,a)};var ht=t=>{let o=Math.max(t-2,q),a=Math.min(t+2,M);return O(a-o+1,o).map(String)};var jt=({from:t,to:o})=>{let a=new Date(t.year,t.month-1,t.day),r=new Date(o.year,o.month-1,o.day);return a.getTime()<=r.getTime()},P=t=>!jt(t);var w=t=>t.toLowerCase().charAt(0).toUpperCase()+t.toLowerCase().slice(1);var f={};var vt=({changeDate:t,handleMouseDown:o,handleMouseUp:a,selectedCalenderDate:r,selectedPeriodInterval:e,setDistanceTraveled:n,setInitialY:s})=>{let h={day:l.month.toNumber(r[e].month)<15,month:l.month.toNumber(r[e].month)<6,year:l.year.toNumber(r[e].year)<2020},I={day:i=>r[e].day===i?f.currentText:f.text,month:i=>i===st(l.month.toNumber(r[e].month))?p(f.currentText,f.currentMonth):f.text,year:i=>r[e].year===i?f.currentText:f.text},x=ht(l.year.toNumber(r[e].year)),N=bt(l.month.toNumber(r[e].month),l.year.toNumber(r[e].year)).map(i=>st(i)),C=gt(l.date.toNumber(r[e])).map(i=>l.day.toString(i)),D={year:x,month:N,day:C},E=(i,g)=>{let S=i.deltaY,L=Math.abs(S),G=S>0?1:-1;L>0&&(t[g](G),n(L),s(i.clientY))},A=["day","month","year"];return v.createElement("div",{"data-testid":"Calendar_COVER",className:f.cover},A.map(i=>v.createElement("div",{"data-testid":`Calendar${w(i)}_WRAPPER`,className:p(f.wrapper,`styles.wrapper${w(i)}`),key:i},v.createElement("button",{"data-testid":`Calendar${w(i)}Button_UP`,onClick:()=>t[i](-1),"aria-label":"\u041A\u043D\u043E\u043F\u043A\u0430 \u0432\u0432\u0435\u0440\u0445",className:f.btnUpAndDown},v.createElement(xt.Basic.ChevronUpSmall,{fill:"#758393"})),v.createElement("div",{"data-testid":`Calendar${w(i)}_SELECT`,className:p(f.block,h[i]?f.end:f.start)},v.createElement("button",{"data-testid":`Calendar${w(i)}_BUTTON`,onMouseDown:g=>o(g,i),onMouseUp:a,onWheel:g=>E(g,i),className:f.btn},D[i].map(g=>v.createElement(y.Typography,{key:g,"data-testid":`Calendar${w(i)}_ITEM`,tag:"span",fontClass:"Body1Regular","aria-label":g,className:p(I[i](g),P(l.dateRange.toNumber(r))?f.currentError:void 0)},g)))),v.createElement("button",{"data-testid":`Calendar${w(i)}Button_DOWN`,onClick:()=>{t[i](1)},"aria-label":"\u043A\u043D\u043E\u043F\u043A\u0430 \u0432\u043D\u0438\u0437",className:f.btnUpAndDown},v.createElement(xt.Basic.ChevronDownSmall,{fill:"#758393"})))))};import tt from"react";var Z={};var It=({selectedCalenderDate:t,setSelectedPeriod:o,setIsModalOpen:a,setSelectedRadioOption:r})=>{let e=()=>{a(!1),r("custom");let n=[t.from.year,t.from.month,t.from.day].join("-"),s=[t.to.year,t.to.month,t.to.day].join("-");o({fromDate:n,toDate:s,periodSelected:!0})};return tt.createElement(tt.Fragment,null,P(l.dateRange.toNumber(t))&&tt.createElement(y.Typography,{className:p(Z.currentError,Z.textError),"data-testid":"CalendarError_DISCRIPTION",tag:"span",fontClass:"Caption1Regular","aria-label":"\u0412\u044B \u0432\u0432\u0435\u043B\u0438 \u043D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u0443\u044E \u0434\u0430\u0442\u0443, \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"},"\u0412\u044B \u0432\u0432\u0435\u043B\u0438 \u043D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u0443\u044E \u0434\u0430\u0442\u0443, \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"),tt.createElement(y.Button,{disabled:P(l.dateRange.toNumber(t)),className:Z.save,size:"large",onClick:e},"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C"))};import lt from"react";var B={from:"from",to:"to"};var U={};var Ct=({setSelectedPeriodInterval:t,selectedPeriodInterval:o,selectedCalenderDate:a})=>{let r=[{key:B.from,label:"\u041F\u0435\u0440\u0438\u043E\u0434 \u0441",onClick:()=>{t(B.from)}},{key:B.to,label:"\u041F\u0435\u0440\u0438\u043E\u0434 \u0434\u043E",onClick:()=>{t(B.to)}}];return lt.createElement("div",{"data-testid":"CalendarTab_WRAP",className:U.tab},r.map(e=>lt.createElement("button",{key:e.key,"data-testid":`CalendarTabButton_${e.key.toUpperCase()}`,className:p(o===e.key?U.titleActiv:U.title,P(l.dateRange.toNumber(a))?U.titleError:void 0),onClick:()=>{t(e.key)},"aria-label":`\u041A\u043D\u043E\u043F\u043A\u0430 ${e.label}`},lt.createElement(y.Typography,{"data-testid":`CalendarTabTitle_${e.key.toUpperCase()}`,tag:"span",fontClass:"Body1Medium","aria-label":"\u041F\u0435\u0440\u0438\u043E\u0434 \u0441"},e.label," ...*"))))};import rt,{useCallback as K,useEffect as Xt,useMemo as zt,useState as X}from"react";var et=({day:t,month:o,year:a})=>{let r=Q(o,a),e;return t>r?e=r:e=t,o===$&&a===M&&e>it&&(e=it),e};var Dt=({day:t,month:o,year:a})=>{let r=M===a&&o>$?$:o;return{day:et({day:t,month:r,year:a}),month:r,year:a}};var ot=t=>{let{day:o,month:a,year:r}=t;if(r<q||a<0||a>11)return!1;let e=new Date(r,a,o);if(e.getFullYear()!==r||e.getMonth()!==a||e.getDate()!==o)return!1;let n=new Date,s=new Date(n.getFullYear(),n.getMonth(),n.getDate());return e<=s};var St={};var Tt=({setSelectedPeriod:t,selectedPeriod:o,setIsModalOpen:a,setSelectedRadioOption:r})=>{let[e,n]=X({from:{day:o.fromDate.split("-")[2],month:o.fromDate.split("-")[1],year:o.fromDate.split("-")[0]},to:{day:o.toDate.split("-")[2],month:o.fromDate.split("-")[1],year:o.toDate.split("-")[0]}}),[s,h]=X(B.from),[I,x]=X({day:!1,month:!1,year:!1}),[N,C]=X(0),[D,E]=X(0),A=K(d=>{let u={day:l.day.toNumber(e[s].day)+d,month:l.month.toNumber(e[s].month),year:l.year.toNumber(e[s].year)};ot(u)&&n({...e,[s]:l.date.toString(u)})},[e,s,n]),i=K(d=>{let c=l.month.toNumber(e[s].month)+d,b={day:et({day:l.day.toNumber(e[s].day),month:c,year:l.year.toNumber(e[s].year)}),month:c,year:l.year.toNumber(e[s].year)};ot(b)&&n({...e,[s]:l.date.toString(b)})},[e,s,n]),g=K(d=>{let c=l.year.toNumber(e[s].year)+d,u=Dt(l.date.toNumber({day:e[s].day,month:e[s].month,year:l.year.toString(c)}));ot(u)&&n({...e,[s]:l.date.toString(u)})},[e,s,n]),S=zt(()=>({day:A,month:i,year:g}),[A,i,g]),L=(d,c)=>{let u={day:()=>x(b=>({...b,day:!0})),month:()=>x(b=>({...b,month:!0})),year:()=>x(b=>({...b,year:!0}))};u[c]&&u[c](),C(d.clientY),E(0)},G=d=>{let c=document.querySelector("[aria-disabled=true]");if(!c)return!1;let u=c.getBoundingClientRect();return d.clientX>=u.left&&d.clientX<=u.right&&d.clientY>=u.top&&d.clientY<=u.bottom},T=K(()=>{x({day:!1,month:!1,year:!1})},[]),J=K((d,c)=>{if(G(d)){T();return}let u=d.clientY-N;if(!I[c])return;let b=Math.abs(u);b>5&&b-D>=5&&(S[c](u>0?-1:1),E(b),C(d.clientY)),c==="year"&&x(Lt=>({...Lt,year:!0}))},[S,D,T,N,I]);return Xt(()=>{let d=c=>{["day","month","year"].forEach(b=>{J(c,b)})};return document.addEventListener("mousemove",d),document.addEventListener("mouseup",T),()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",T)}},[J,T]),rt.createElement("div",{"data-testid":"Calendar_MODAL",className:St.modalBlock},rt.createElement(y.Calendar.Header,{selectedCalenderDate:e,selectedPeriodInterval:s,setSelectedPeriodInterval:h}),rt.createElement(y.Calendar.Body,{changeDate:S,handleMouseDown:L,handleMouseUp:T,selectedCalenderDate:e,selectedPeriodInterval:s,setDistanceTraveled:E,setInitialY:C}),rt.createElement(y.Calendar.Footer,{selectedCalenderDate:e,setIsModalOpen:a,setSelectedPeriod:t,setSelectedRadioOption:r}))};var Mt={Body:vt,Footer:It,Main:Tt,Header:Ct};import z,{forwardRef as Jt}from"react";var R={};import wt from"react";var dt=({fill:t="none",pathFill:o="#fff",width:a=20,height:r=20,...e})=>wt.createElement("svg",{"data-testid":"Icons_CLEAR",xmlns:"http://www.w3.org/2000/svg",width:a,height:r,fill:t,viewBox:"0 0 20 20",...e},wt.createElement("path",{fill:o,fillRule:"evenodd",d:"M10 18.333a8.333 8.333 0 100-16.666 8.333 8.333 0 000 16.666zM7.5 6.027L6.027 7.5l2.5 2.5-2.5 2.5L7.5 13.973l2.5-2.5 2.5 2.5 1.473-1.473-2.5-2.5 2.5-2.5L12.5 6.027l-2.5 2.5-2.5-2.5z",clipRule:"evenodd"}));var Nt=Jt(({onFocus:t,onBlur:o,onChange:a,onEnterPress:r,value:e="",inputLeftIcon:n,placeholder:s="",className:h="",style:I,isClearable:x=!1,type:N="text",id:C,labelText:D="",ariaLabel:E="",focused:A=!1,setFocused:i=()=>{},readOnly:g=!1,inline:S=!0},L)=>{let G=()=>{a&&a({target:{value:""}})},T=()=>{i(!0),t&&t()},J=()=>{i(!1),o&&o()},d=c=>{r&&c.key==="Enter"&&r(c)};return z.createElement("div",{"data-testid":"InputField_MAIN",className:p(R[D.length?"inputContainerLabeled":"inputContainer"],A?R["input--onfocus"]:void 0,R[`input-${N?.toLocaleLowerCase()}`],h),style:I},z.createElement("div",{className:S&&R.inline},D.length>0&&z.createElement("label",{htmlFor:C,"data-testid":"InputField_LABEL"},D),n,z.createElement("input",{ref:L,"data-testid":"InputField_INPUT","aria-label":E,id:C,type:N,className:R.input,placeholder:s,"aria-placeholder":s,onFocus:T,onBlur:J,onChange:a,onKeyDown:d,value:e,readOnly:g})),x&&e&&z.createElement(dt,{fill:"red",pathFill:"#758393",className:R.clearIcon,onClick:G}))});import H from"react";import qt from"@egov3/graphics";var Y={};var Et=({open:t,setOpen:o,children:a,headerTitle:r,variant:e})=>t?H.createElement("div",{"data-testid":"Modal_OVERLAY",className:Y.overlay},H.createElement("div",{"data-testid":"Modal_WRAPPER",className:p(Y.contentWrap,Y[`${e}Variant`])},r&&r.length>0&&H.createElement("div",{"data-testid":"Modal_HEADER",className:Y.contentHeader},H.createElement(y.Typography,{tag:"h3",fontClass:"Body1Medium","data-testid":"Modal_TITLE",className:Y.title},r),H.createElement("button",{"data-testid":"ModalHeader_BTN",onClick:()=>{o(!t)}},H.createElement(qt.General.Close,{"data-testid":"Modal_ICON"}))),a)):null;import F from"react";var at={};var pt=({label:t,name:o,checked:a,onChange:r,value:e})=>F.createElement("label",{"data-testid":"RadioGroupItem_LABEL",className:at.radio},F.createElement("input",{"data-testid":"RadioGroupItem_INPUT",value:e,type:"radio",name:o,checked:a,onChange:r}),F.createElement("span",{"data-testid":"RadioGroupItem_RADIO",className:at.radioBtn}),F.createElement("span",{"data-testid":"RadioGroupItem_TEXT",className:at.radioBtnText},t)),kt=({RadioGroupItems:t,invokeCustomOnChange:o,setSelectedOption:a,selectedOption:r})=>{let e=n=>{a(n.target.value),o(n)};return F.createElement("fieldset",{"data-testid":"RadioGroup_FIELDSET"},t.map(n=>F.createElement(pt,{key:n.label,label:n.label,name:"radio",checked:r===n.value,onChange:e,value:n.value})))};import ct from"react";var nt={};var Pt=({lock:t,setLock:o})=>ct.createElement("button",{"data-testid":"RadioToggle_BUTTON","aria-pressed":t,"aria-label":"\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F",onClick:()=>{o(!t)}},ct.createElement("div",{"data-testid":"RadioToggle_WRAP",className:p(nt.wrap,t&&nt.wrapLock)},ct.createElement("div",{"data-testid":"RadioToggle_ROUND",className:nt.round})));import V from"react";import ee from"@egov3/graphics";var j={};var Bt=({setIsOpen:t,labelText:o,disabled:a,error:r,modalValue:e})=>V.createElement("button",{"data-testid":"SelectBoxModal_BUTTON",className:j.selectContainer,onClick:()=>!a&&t(!0)},V.createElement("div",{"data-testid":"SelectBoxModal_TITLE"},V.createElement(y.Typography,{tag:"label",fontClass:"Caption1Regular","data-testid":"SelectBoxModal_LABEL",className:r?j.errorLabel:j.label,"aria-label":o},o),e&&e.length>0&&V.createElement(y.Typography,{tag:"div",fontClass:"Body2Regular","data-testid":"SelectBoxModal_VALUE",className:j.selectText,"aria-label":e},e)),V.createElement(ee.Basic.ChevronDownSmall,{"aria-label":"\u043A\u043D\u043E\u043F\u043A\u0430 \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C",fill:"#758393",className:j.clearIcon}));import re from"react";var Rt={};var At=({tag:t,fontClass:o,className:a,children:r,style:e,...n})=>re.createElement(t,{...n,className:p(o?Rt[o]:"",a),style:e},r);var y={Accordion:mt,Button:ut,Calendar:Mt,CustomRadioButton:pt,InputField:Nt,Modal:Et,RadioGroup:kt,RadioToggle:Pt,SelectBoxButton:Bt,Typography:At};var ae={Components:y},Vr=ae;export{Vr as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|