@pega/cosmos-react-core 3.0.5 → 3.0.7
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/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateInput.js +30 -23
- package/lib/components/DateTime/Input/DateInput.js.map +1 -1
- package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/DateTimeInput.js +63 -40
- package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
- package/lib/components/DateTime/Input/DateTimeInput.types.d.ts +16 -0
- package/lib/components/DateTime/Input/DateTimeInput.types.d.ts.map +1 -0
- package/lib/components/DateTime/Input/DateTimeInput.types.js +2 -0
- package/lib/components/DateTime/Input/DateTimeInput.types.js.map +1 -0
- package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/MonthInput.js +17 -21
- package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
- package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/QuarterInput.js +16 -20
- package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
- package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/TimeInput.js +27 -22
- package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
- package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
- package/lib/components/DateTime/Input/WeekInput.js +26 -26
- package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
- package/lib/components/DateTime/Input/useAutoFocusNextInput.js +1 -1
- package/lib/components/DateTime/Input/useAutoFocusNextInput.js.map +1 -1
- package/lib/components/DateTime/Input/utils.d.ts +3 -1
- package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
- package/lib/components/DateTime/Input/utils.js +19 -19
- package/lib/components/DateTime/Input/utils.js.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.js +2 -8
- package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
- package/lib/components/ListToolbar/QueryOptionPopover.js +1 -1
- package/lib/components/ListToolbar/QueryOptionPopover.js.map +1 -1
- package/lib/components/MultiStepForm/FormProgress.d.ts.map +1 -1
- package/lib/components/MultiStepForm/FormProgress.js +15 -6
- package/lib/components/MultiStepForm/FormProgress.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Input/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { cap } from '../../../utils';\nimport type { TranslationFunction, TranslationPack } from '../../../i18n';\n\nimport { CALENDAR_TYPES, CALENDAR_TYPE_LOCALES } from './local';\n\n// https://weeknumber.net/how-to/javascript\nexport const getWeekYear = (date: Date): number => {\n const result = new Date(date.getTime());\n result.setUTCDate(result.getUTCDate() + 3 - ((result.getUTCDay() + 6) % 7));\n return result.getUTCFullYear();\n};\n\nexport const getDayOfWeek = (date: Date, calendarType = CALENDAR_TYPES.ISO_8601) => {\n const weekday = date.getUTCDay();\n\n switch (calendarType) {\n case CALENDAR_TYPES.ISO_8601:\n // Shifts days of the week so that Monday is 0, Sunday is 6\n return (weekday + 6) % 7;\n case CALENDAR_TYPES.ARABIC:\n return (weekday + 1) % 7;\n case CALENDAR_TYPES.HEBREW:\n case CALENDAR_TYPES.US:\n return weekday;\n default:\n throw new Error('Unsupported calendar type.');\n }\n};\n\nexport const getWeekdays = (calendarType: string) => {\n const date = new Date();\n const beginOfMonth = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1));\n const year = beginOfMonth.getUTCFullYear();\n const monthIndex = beginOfMonth.getUTCMonth();\n\n return Array.from({ length: 7 }, (v, weekDay) => {\n return new Date(year, monthIndex, weekDay + 1 - getDayOfWeek(beginOfMonth, calendarType));\n });\n};\n\nconst getDateWithCorrectYear = (initialDate: Date | number, year: number) => {\n const dateObj = new Date(initialDate);\n // 2 digits years are converted to 19XX by Date constructors\n // setting year value directly to ensure it is correct\n if (!Number.isNaN(dateObj.getTime()) && year < 100) dateObj.setUTCFullYear(year);\n return dateObj;\n};\n\n// https://weeknumber.net/how-to/javascript\nexport const getWeek = (date: Date, calendarType: string = CALENDAR_TYPES.ISO_8601): number => {\n const result = new Date(date.getTime());\n result.setUTCHours(0, 0, 0, 0);\n // Thursday in current week decides the year.\n\n result.setUTCDate(result.getUTCDate() + 3 - getDayOfWeek(result, calendarType));\n // January 4 is always in week 1.\n\n const week1 = getDateWithCorrectYear(\n new Date(result.getUTCFullYear(), 0, 4),\n result.getUTCFullYear()\n );\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\n return (\n 1 +\n Math.round(\n ((result.getTime() - week1.getTime()) / 86400000 - 3 + getDayOfWeek(result, calendarType)) / 7\n )\n );\n};\n\nexport const getCalendarTypeFromLocale = (localeTag?: string) => {\n const calendarType = Object.keys(CALENDAR_TYPE_LOCALES).find(type =>\n CALENDAR_TYPE_LOCALES[type].includes(localeTag ?? navigator.language)\n );\n\n return calendarType || CALENDAR_TYPES.ISO_8601;\n};\n\nexport const getDateOfISOWeek = (week: number, year: number): Date => {\n const dateOfWeek = getDateWithCorrectYear(Date.UTC(year, 0, 1 + (week - 1) * 7), year);\n const dayOfWeek = dateOfWeek.getUTCDay();\n const weekStartISO = dateOfWeek;\n if (dayOfWeek <= 4) weekStartISO.setUTCDate(dateOfWeek.getUTCDate() - dayOfWeek + 1);\n else weekStartISO.setUTCDate(dateOfWeek.getUTCDate() + 8 - dayOfWeek);\n return weekStartISO;\n};\n\nconst timeRegex = /^T?\\d{2}:\\d{2}/;\n\nexport const parseToDate = (value: string | number | Date): Date => {\n let result = new Date(value);\n\n if (typeof value === 'string') {\n let [year, month, day, hour, minute, second] = [1970, 1, 1, 0, 0, 0];\n if (timeRegex.test(value)) {\n [hour, minute, second = 0] = value\n .toString()\n .slice(Number(value.startsWith('T')))\n .split(/[.:/]/)\n .map(Number);\n } else {\n [year, month, day = 0, hour = 0, minute = 0, second = 0] = value\n .toString()\n .split(/[.: T+-]/)\n .map(Number);\n }\n result = getDateWithCorrectYear(Date.UTC(year, month - 1, day, hour, minute, second), year);\n } else if (typeof value === 'number') {\n result = new Date(value);\n }\n return result;\n};\n\nexport type QuarterNumber = 1 | 2 | 3 | 4;\n\nexport function getQuarter(date: string | number | Date): QuarterNumber {\n const parsedDate = parseToDate(date);\n const quarter: QuarterNumber[] = [1, 2, 3, 4];\n return quarter[Math.floor(parsedDate.getUTCMonth() / 3)];\n}\n\nexport const getDateFormat = (\n localeTag?: string,\n options?: Intl.DateTimeFormatOptions | undefined,\n labelFormat?: boolean\n) => {\n return new Intl.DateTimeFormat(localeTag, options).formatToParts().map(({ type, value }) => {\n switch (type) {\n case 'day':\n return 'DD';\n case 'month':\n return 'MM';\n case 'year':\n return 'YYYY';\n case 'hour':\n return 'hh';\n case 'minute':\n return 'mm';\n case 'second':\n return 'ss';\n case 'dayPeriod':\n if (labelFormat) return '';\n return value;\n case 'literal':\n return value;\n default:\n return '';\n }\n });\n};\n\nexport const getStartOfWeek = (date: Date, calendarType: string = CALENDAR_TYPES.ISO_8601) => {\n const startDate = new Date(date);\n const day = getDayOfWeek(startDate, calendarType);\n if (day !== 0) startDate.setUTCHours(-24 * day);\n return startDate;\n};\n\nexport const getEndOfWeek = (date: Date, calendarType: string = CALENDAR_TYPES.ISO_8601) => {\n const endDate = new Date(date);\n const day = getDayOfWeek(endDate, calendarType);\n if (day !== 6) endDate.setUTCHours(24 * (6 - day));\n return endDate;\n};\n\nexport type ClockFormat = 12 | 24;\n\nexport const is12HClockFormat = (localeTag?: string): boolean => {\n const meridiem = new Intl.DateTimeFormat(localeTag, {\n hour: 'numeric'\n })\n .formatToParts()\n .find(({ type }) => type === 'dayPeriod');\n\n return !!meridiem?.value;\n};\n\nconst objDate = new Date();\nobjDate.setUTCDate(1);\n\nexport const getLocalizedMonths = (localeTag?: string) => {\n return [...Array(12).keys()].map(monthNo => {\n objDate.setUTCMonth(monthNo);\n return cap(objDate.toLocaleString(localeTag, { month: 'long', timeZone: 'UTC' }));\n });\n};\n\nexport const getLocalizedWeekDays = (localeTag?: string) => {\n const calendarType = getCalendarTypeFromLocale(localeTag);\n return getWeekdays(calendarType).reduce((accumulator, dayDate, index) => {\n accumulator[index + 1] = cap(\n dayDate.toLocaleString(localeTag, {\n weekday: 'long'\n })\n );\n return accumulator;\n }, {} as { [key: number]: string });\n};\n\nexport const MS_IN_SECOND = 1000;\nexport const MS_IN_MINUTE = 1000 * 60;\nexport const MS_IN_HOUR = 1000 * 60 * 60;\nexport const MS_IN_DAY = 1000 * 60 * 60 * 24;\n\nexport const msToTimeFormat = (ms: number): { hour?: number; minute?: number; second?: number } => {\n if (ms < 0) {\n return { hour: undefined, minute: undefined, second: undefined };\n }\n return {\n hour: Math.floor(ms / MS_IN_HOUR),\n minute: Math.floor((ms / MS_IN_MINUTE) % 60),\n second: Math.floor((ms / MS_IN_SECOND) % 60)\n };\n};\n\nexport const timeFormatToMs = ({\n hour,\n minute,\n second\n}: {\n hour: number;\n minute: number;\n second: number;\n}): number => {\n if (hour < 0 || minute < 0 || second < 0) {\n return 0;\n }\n return second * MS_IN_SECOND + minute * MS_IN_MINUTE + hour * MS_IN_HOUR;\n};\n\nexport const msToTimeUnit = (ms: number, format: string): number => {\n if (ms < 0) {\n return 0;\n }\n switch (format) {\n case 'seconds':\n return Math.floor(ms / MS_IN_SECOND);\n case 'minutes':\n return Math.floor(ms / MS_IN_MINUTE);\n case 'hours':\n return Math.floor(ms / MS_IN_HOUR);\n case 'days':\n return Math.floor(ms / MS_IN_DAY);\n default:\n return 0;\n }\n};\n\nexport const timeUnitToMs = (count: number, format: string): number => {\n if (count < 0) {\n return 0;\n }\n switch (format) {\n case 'seconds':\n return count * MS_IN_SECOND;\n case 'minutes':\n return count * MS_IN_MINUTE;\n case 'hours':\n return count * MS_IN_HOUR;\n case 'days':\n return count * MS_IN_DAY;\n default:\n return 0;\n }\n};\n\nexport const getTimeOptions = (withSeconds: boolean, is12h: boolean = false) => {\n return {\n hour: 'numeric',\n minute: 'numeric',\n ...(withSeconds && ({ second: 'numeric' } as const)),\n hour12: is12h\n } as const;\n};\n\nexport const validateDate = (year: string, month: number, day: number) => {\n return !(\n year.length < 4 ||\n month < 1 ||\n month > 12 ||\n day < 1 ||\n day > new Date(Number(year), month, 0).getDate()\n );\n};\n\nexport const validateTime = (hour: number, minute: number, second: number, is12h: boolean) => {\n const hourMax = is12h ? 12 : 23;\n const hourMin = is12h ? 1 : 0;\n return !(hour > hourMax || hour < hourMin || minute > 59 || second > 59);\n};\n\nexport const toUTCDateString = (date: Date, format?: Intl.DateTimeFormat) => {\n const adjustedDate = new Date(date.getTime() + date.getTimezoneOffset() * 60000);\n return format?.format(adjustedDate) ?? adjustedDate.toDateString();\n};\n\nconst ISO_DATE_REG_EXP =\n /(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))/;\n\nexport const isISODate = (value: string): boolean => {\n return ISO_DATE_REG_EXP.test(value);\n};\n\nconst TIME_REG_EXP = /^([01]?\\d|2[0-3]):[0-5]?\\d(:[0-5]?\\d)?$/;\n\nexport const isTime = (value: string): boolean => {\n return TIME_REG_EXP.test(value);\n};\n\nexport const parseLocaleTextToDateParams = (value: string, localeTag: string) => {\n const template = getDateFormat(localeTag, {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric'\n })\n .join('')\n .match(/\\w+/g);\n const valueParts = value.match(/\\d+/g);\n if (template && valueParts?.length === template?.length) {\n let year = 0;\n let month = 0;\n let day = 0;\n template.forEach((part, index) => {\n if (part === 'YYYY') {\n year = Number(valueParts[index]);\n } else if (part === 'MM') {\n month = Number((Number(valueParts[index]) - 1).toString().padStart(2, '0'));\n } else if (part === 'DD') {\n day = Number(valueParts[index].padStart(2, '0'));\n }\n });\n return [year, month, day];\n }\n return undefined;\n};\n\nexport const parsePastedTextToDate = (\n value: string,\n localeTag: string,\n currentDate: Date\n): Date | undefined => {\n let result;\n const dateParams = parseLocaleTextToDateParams(value, localeTag);\n if (isTime(value)) {\n const [hour, minute, second = 0] = value.split(':').map(Number);\n result = new Date(currentDate.getTime()); // clone currentDate object to avoid parameter manipulation\n result.setUTCHours(hour, minute, second);\n } else if (dateParams) {\n const [year, month, day] = dateParams;\n if (validateDate(year.toString(), month, day)) {\n result = new Date(currentDate.getTime());\n result.setUTCFullYear(year, month, day);\n }\n } else if (isISODate(value)) {\n result = new Date(value);\n }\n return result;\n};\n\nconst ariaDateTimeOpts = {\n weekday: 'long',\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n} as const;\nconst ariaDateOpts = {\n weekday: 'long',\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n} as const;\n\nexport const generatePickerButtonAriaLabel = (\n date: Date | undefined,\n type: 'date' | 'datetime' | 'week',\n locale: string,\n translateFn: TranslationFunction<TranslationPack>,\n open: boolean\n): string => {\n let datePart = '';\n if (type === 'week') {\n const displayNames = new Intl.DisplayNames(locale, { style: 'long', type: 'dateTimeField' });\n datePart = date\n ? `${translateFn('selected_date_a11y')} ${displayNames.of('weekOfYear')} ${getWeek(\n date,\n CALENDAR_TYPES.ISO_8601\n )}, ${date.getUTCFullYear()}, `\n : '';\n } else {\n const ariaFormat = Intl.DateTimeFormat(\n locale,\n type === 'date' ? ariaDateOpts : ariaDateTimeOpts\n );\n\n datePart = date\n ? `${translateFn('selected_date_a11y')} ${toUTCDateString(date, ariaFormat)}, `\n : '';\n }\n\n return `${datePart}${translateFn(\n open ? 'close_calendar_button_a11y' : 'open_calendar_button_a11y'\n )}`;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Input/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { cap } from '../../../utils';\nimport type { TranslationFunction, TranslationPack } from '../../../i18n';\n\nimport { CALENDAR_TYPES, CALENDAR_TYPE_LOCALES } from './local';\nimport { DateParts } from './DateTimeInput.types';\n\n// https://weeknumber.net/how-to/javascript\nexport const getWeekYear = (date: Date): number => {\n const result = new Date(date.getTime());\n result.setUTCDate(result.getUTCDate() + 3 - ((result.getUTCDay() + 6) % 7));\n return result.getUTCFullYear();\n};\n\nexport const getDayOfWeek = (date: Date, calendarType = CALENDAR_TYPES.ISO_8601) => {\n const weekday = date.getUTCDay();\n\n switch (calendarType) {\n case CALENDAR_TYPES.ISO_8601:\n // Shifts days of the week so that Monday is 0, Sunday is 6\n return (weekday + 6) % 7;\n case CALENDAR_TYPES.ARABIC:\n return (weekday + 1) % 7;\n case CALENDAR_TYPES.HEBREW:\n case CALENDAR_TYPES.US:\n return weekday;\n default:\n throw new Error('Unsupported calendar type.');\n }\n};\n\nexport const getWeekdays = (calendarType: string) => {\n const date = new Date();\n const beginOfMonth = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1));\n const year = beginOfMonth.getUTCFullYear();\n const monthIndex = beginOfMonth.getUTCMonth();\n\n return Array.from({ length: 7 }, (v, weekDay) => {\n return new Date(year, monthIndex, weekDay + 1 - getDayOfWeek(beginOfMonth, calendarType));\n });\n};\n\nconst getDateWithCorrectYear = (initialDate: Date | number, year: number) => {\n const dateObj = new Date(initialDate);\n // 2 digits years are converted to 19XX by Date constructors\n // setting year value directly to ensure it is correct\n if (!Number.isNaN(dateObj.getTime()) && year < 100) dateObj.setUTCFullYear(year);\n return dateObj;\n};\n\n// https://weeknumber.net/how-to/javascript\nexport const getWeek = (date: Date, calendarType: string = CALENDAR_TYPES.ISO_8601): number => {\n const result = new Date(date.getTime());\n result.setUTCHours(0, 0, 0, 0);\n // Thursday in current week decides the year.\n\n result.setUTCDate(result.getUTCDate() + 3 - getDayOfWeek(result, calendarType));\n // January 4 is always in week 1.\n\n const week1 = getDateWithCorrectYear(\n new Date(result.getUTCFullYear(), 0, 4),\n result.getUTCFullYear()\n );\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\n return (\n 1 +\n Math.round(\n ((result.getTime() - week1.getTime()) / 86400000 - 3 + getDayOfWeek(result, calendarType)) / 7\n )\n );\n};\n\nexport const getCalendarTypeFromLocale = (localeTag?: string) => {\n const calendarType = Object.keys(CALENDAR_TYPE_LOCALES).find(type =>\n CALENDAR_TYPE_LOCALES[type].includes(localeTag ?? navigator.language)\n );\n\n return calendarType || CALENDAR_TYPES.ISO_8601;\n};\n\nexport const getDateOfISOWeek = (week: number, year: number): Date => {\n const dateOfWeek = getDateWithCorrectYear(Date.UTC(year, 0, 1 + (week - 1) * 7), year);\n const dayOfWeek = dateOfWeek.getUTCDay();\n const weekStartISO = dateOfWeek;\n if (dayOfWeek <= 4) weekStartISO.setUTCDate(dateOfWeek.getUTCDate() - dayOfWeek + 1);\n else weekStartISO.setUTCDate(dateOfWeek.getUTCDate() + 8 - dayOfWeek);\n return weekStartISO;\n};\n\nconst timeRegex = /^T?\\d{2}:\\d{2}/;\n\nexport const parseToDate = (value: string | number | Date): Date => {\n let result = new Date(value);\n\n if (typeof value === 'string') {\n let [year, month, day, hour, minute, second] = [1970, 1, 1, 0, 0, 0];\n if (timeRegex.test(value)) {\n [hour, minute, second = 0] = value\n .toString()\n .slice(Number(value.startsWith('T')))\n .split(/[.:/]/)\n .map(Number);\n } else {\n [year, month, day = 0, hour = 0, minute = 0, second = 0] = value\n .toString()\n .split(/[.: T+-]/)\n .map(Number);\n }\n result = getDateWithCorrectYear(Date.UTC(year, month - 1, day, hour, minute, second), year);\n } else if (typeof value === 'number') {\n result = new Date(value);\n }\n return result;\n};\n\nexport type QuarterNumber = 1 | 2 | 3 | 4;\n\nexport function getQuarter(date: string | number | Date): QuarterNumber {\n const parsedDate = parseToDate(date);\n const quarter: QuarterNumber[] = [1, 2, 3, 4];\n return quarter[Math.floor(parsedDate.getUTCMonth() / 3)];\n}\n\nexport const getDateFormat = (\n localeTag?: string,\n options?: Intl.DateTimeFormatOptions | undefined,\n labelFormat?: boolean\n) => {\n return new Intl.DateTimeFormat(localeTag, options).formatToParts().map(({ type, value }) => {\n switch (type) {\n case 'day':\n return 'DD';\n case 'month':\n return 'MM';\n case 'year':\n return 'YYYY';\n case 'hour':\n return 'hh';\n case 'minute':\n return 'mm';\n case 'second':\n return 'ss';\n case 'dayPeriod':\n if (labelFormat) return '';\n return value;\n case 'literal':\n return value;\n default:\n return '';\n }\n });\n};\n\nexport const getStartOfWeek = (date: Date, calendarType: string = CALENDAR_TYPES.ISO_8601) => {\n const startDate = new Date(date);\n const day = getDayOfWeek(startDate, calendarType);\n if (day !== 0) startDate.setUTCHours(-24 * day);\n return startDate;\n};\n\nexport const getEndOfWeek = (date: Date, calendarType: string = CALENDAR_TYPES.ISO_8601) => {\n const endDate = new Date(date);\n const day = getDayOfWeek(endDate, calendarType);\n if (day !== 6) endDate.setUTCHours(24 * (6 - day));\n return endDate;\n};\n\nexport const convertWeekYearToDate = ({\n week,\n year\n}: DateParts<string | undefined>): DateParts<string> | undefined => {\n if ([week, year].every(Boolean)) {\n const dateOfWeek = getDateOfISOWeek(Number(week), Number(year));\n return {\n year: dateOfWeek.getUTCFullYear().toString(),\n month: dateOfWeek.getUTCMonth().toString(),\n day: dateOfWeek.getUTCDate().toString()\n };\n }\n return undefined;\n};\n\nexport type ClockFormat = 12 | 24;\n\nexport const is12HClockFormat = (localeTag?: string): boolean => {\n const meridiem = new Intl.DateTimeFormat(localeTag, {\n hour: 'numeric'\n })\n .formatToParts()\n .find(({ type }) => type === 'dayPeriod');\n\n return !!meridiem?.value;\n};\n\nconst objDate = new Date();\nobjDate.setUTCDate(1);\n\nexport const getLocalizedMonths = (localeTag?: string) => {\n return [...Array(12).keys()].map(monthNo => {\n objDate.setUTCMonth(monthNo);\n return cap(objDate.toLocaleString(localeTag, { month: 'long', timeZone: 'UTC' }));\n });\n};\n\nexport const getLocalizedWeekDays = (localeTag?: string) => {\n const calendarType = getCalendarTypeFromLocale(localeTag);\n return getWeekdays(calendarType).reduce((accumulator, dayDate, index) => {\n accumulator[index + 1] = cap(\n dayDate.toLocaleString(localeTag, {\n weekday: 'long'\n })\n );\n return accumulator;\n }, {} as { [key: number]: string });\n};\n\nexport const MS_IN_SECOND = 1000;\nexport const MS_IN_MINUTE = 1000 * 60;\nexport const MS_IN_HOUR = 1000 * 60 * 60;\nexport const MS_IN_DAY = 1000 * 60 * 60 * 24;\n\nexport const msToTimeFormat = (ms: number): { hour?: number; minute?: number; second?: number } => {\n if (ms < 0) {\n return { hour: undefined, minute: undefined, second: undefined };\n }\n return {\n hour: Math.floor(ms / MS_IN_HOUR),\n minute: Math.floor((ms / MS_IN_MINUTE) % 60),\n second: Math.floor((ms / MS_IN_SECOND) % 60)\n };\n};\n\nexport const timeFormatToMs = ({\n hour,\n minute,\n second\n}: {\n hour: number;\n minute: number;\n second: number;\n}): number => {\n if (hour < 0 || minute < 0 || second < 0) {\n return 0;\n }\n return second * MS_IN_SECOND + minute * MS_IN_MINUTE + hour * MS_IN_HOUR;\n};\n\nexport const msToTimeUnit = (ms: number, format: string): number => {\n if (ms < 0) {\n return 0;\n }\n switch (format) {\n case 'seconds':\n return Math.floor(ms / MS_IN_SECOND);\n case 'minutes':\n return Math.floor(ms / MS_IN_MINUTE);\n case 'hours':\n return Math.floor(ms / MS_IN_HOUR);\n case 'days':\n return Math.floor(ms / MS_IN_DAY);\n default:\n return 0;\n }\n};\n\nexport const timeUnitToMs = (count: number, format: string): number => {\n if (count < 0) {\n return 0;\n }\n switch (format) {\n case 'seconds':\n return count * MS_IN_SECOND;\n case 'minutes':\n return count * MS_IN_MINUTE;\n case 'hours':\n return count * MS_IN_HOUR;\n case 'days':\n return count * MS_IN_DAY;\n default:\n return 0;\n }\n};\n\nexport const getTimeOptions = (withSeconds: boolean, is12h: boolean = false) => {\n return {\n hour: 'numeric',\n minute: 'numeric',\n ...(withSeconds && ({ second: 'numeric' } as const)),\n hour12: is12h\n } as const;\n};\n\nexport const validateDate = (year: number, month: number, day: number) => {\n return !(\n year.toString().length < 4 ||\n month < 1 ||\n month > 12 ||\n day < 1 ||\n day > new Date(year, month, 0).getDate()\n );\n};\n\nexport const validateTime = (hour: number, minute: number, second: number, is12h: boolean) => {\n const hourMax = is12h ? 12 : 23;\n const hourMin = is12h ? 1 : 0;\n return !(hour > hourMax || hour < hourMin || minute > 59 || second > 59);\n};\n\nexport const toUTCDateString = (date: Date, format?: Intl.DateTimeFormat) => {\n const adjustedDate = new Date(date.getTime() + date.getTimezoneOffset() * 60000);\n return format?.format(adjustedDate) ?? adjustedDate.toDateString();\n};\n\nconst ISO_DATE_REG_EXP =\n /(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))/;\n\nexport const isISODate = (value: string): boolean => {\n return ISO_DATE_REG_EXP.test(value);\n};\n\nconst TIME_REG_EXP = /^([01]?\\d|2[0-3]):[0-5]?\\d(:[0-5]?\\d)?$/;\n\nexport const isTime = (value: string): boolean => {\n return TIME_REG_EXP.test(value);\n};\n\nexport const parseLocaleTextToDateParams = (value: string, localeTag: string) => {\n const template = getDateFormat(localeTag, {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric'\n })\n .join('')\n .match(/\\w+/g);\n const valueParts = value.match(/\\d+/g);\n if (template && valueParts?.length === template?.length) {\n let year = 0;\n let month = 0;\n let day = 0;\n template.forEach((part, index) => {\n if (part === 'YYYY') {\n year = Number(valueParts[index]);\n } else if (part === 'MM') {\n month = Number((Number(valueParts[index]) - 1).toString().padStart(2, '0'));\n } else if (part === 'DD') {\n day = Number(valueParts[index].padStart(2, '0'));\n }\n });\n return [year, month, day];\n }\n return undefined;\n};\n\nexport const parsePastedTextToDate = (\n value: string,\n localeTag: string,\n currentDate: Date\n): Date | undefined => {\n let result;\n const dateParams = parseLocaleTextToDateParams(value, localeTag);\n if (isTime(value)) {\n const [hour, minute, second = 0] = value.split(':').map(Number);\n result = new Date(currentDate.getTime()); // clone currentDate object to avoid parameter manipulation\n result.setUTCHours(hour, minute, second);\n } else if (dateParams) {\n const [year, month, day] = dateParams;\n if (validateDate(year, month, day)) {\n result = new Date(currentDate.getTime());\n result.setUTCFullYear(year, month, day);\n }\n } else if (isISODate(value)) {\n result = new Date(value);\n }\n return result;\n};\n\nexport const generatePickerButtonAriaLabel = (\n date: Date | undefined,\n type: 'date' | 'datetime' | 'week',\n locale: string,\n translateFn: TranslationFunction<TranslationPack>,\n open: boolean\n): string => {\n let datePart = '';\n if (type === 'week') {\n const displayNames = new Intl.DisplayNames(locale, { style: 'long', type: 'dateTimeField' });\n datePart = date\n ? `${translateFn('selected_date_a11y')} ${displayNames.of('weekOfYear')} ${getWeek(\n date,\n CALENDAR_TYPES.ISO_8601\n )}, ${date.getUTCFullYear()}, `\n : '';\n } else {\n datePart = date\n ? `${translateFn('selected_date_a11y')} ${date.toLocaleString(locale, {\n timeZone: 'UTC',\n dateStyle: 'full',\n ...(type === 'datetime' ? { timeStyle: 'short' } : {})\n })}, `\n : '';\n }\n\n return `${datePart}${translateFn(\n open ? 'close_calendar_button_a11y' : 'open_calendar_button_a11y'\n )}`;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAavE,OAAO,eAAe,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAavE,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAWjD,QAAA,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAmGlD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -14,16 +14,12 @@ import { ScreenReaderOnly } from './Calendar.styles';
|
|
|
14
14
|
import { isValidDate } from './utils';
|
|
15
15
|
import { StyledDatePicker, StyledMonthPicker } from './DatePicker.styles';
|
|
16
16
|
registerIcon(caretLeftIcon, caretRightIcon);
|
|
17
|
-
const defaultProps = {
|
|
18
|
-
showWeekNumber: false,
|
|
19
|
-
mode: 'date'
|
|
20
|
-
};
|
|
21
17
|
function toDateString(date) {
|
|
22
18
|
return date ? toUTCDateString(date) : undefined;
|
|
23
19
|
}
|
|
24
|
-
const DatePicker = (
|
|
20
|
+
const DatePicker = ({ selected: initial, onChange, min, max, mode = 'date', showWeekNumber, ...restProps }) => {
|
|
25
21
|
const { locale } = useConfiguration();
|
|
26
|
-
const
|
|
22
|
+
const t = useI18n();
|
|
27
23
|
const [selected, setSelected] = useState(initial);
|
|
28
24
|
const [current, setCurrent] = useState(selected && isValidDate(selected) ? selected : new Date());
|
|
29
25
|
useEffect(() => {
|
|
@@ -40,7 +36,6 @@ const DatePicker = (props) => {
|
|
|
40
36
|
});
|
|
41
37
|
}, []);
|
|
42
38
|
const calendarType = getCalendarTypeFromLocale(locale);
|
|
43
|
-
const t = useI18n();
|
|
44
39
|
const { start, end } = useDirection();
|
|
45
40
|
return (_jsxs(StyledDatePicker, { "aria-label": t('calendar'), role: 'region', ...restProps, children: [_jsxs(Flex, { as: StyledMonthPicker, container: { justify: 'between', alignItems: 'center' }, children: [_jsx(Button, { variant: 'simple', icon: true, onClick: () => {
|
|
46
41
|
const newCurrent = new Date(current);
|
|
@@ -62,6 +57,5 @@ const DatePicker = (props) => {
|
|
|
62
57
|
onChange?.(date);
|
|
63
58
|
}, min: min, max: max }) })] }));
|
|
64
59
|
};
|
|
65
|
-
DatePicker.defaultProps = defaultProps;
|
|
66
60
|
export default DatePicker;
|
|
67
61
|
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/DatePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvE,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/DatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FunctionComponent, useState, useEffect, useRef } from 'react';\n\nimport Flex from '../../Flex';\nimport MonthInput from '../Input/MonthInput';\nimport Button from '../../Button';\nimport Icon, { registerIcon } from '../../Icon';\nimport * as caretLeftIcon from '../../Icon/icons/caret-left.icon';\nimport * as caretRightIcon from '../../Icon/icons/caret-right.icon';\nimport { useConfiguration, useDirection, useI18n } from '../../../hooks';\nimport { getCalendarTypeFromLocale, toUTCDateString } from '../Input/utils';\nimport { CALENDAR_TYPES } from '../Input/local';\n\nimport Calendar from './Calendar';\nimport DatePickerProps from './DatePicker.types';\nimport { ScreenReaderOnly } from './Calendar.styles';\nimport { isValidDate } from './utils';\nimport { StyledDatePicker, StyledMonthPicker } from './DatePicker.styles';\n\nregisterIcon(caretLeftIcon, caretRightIcon);\n\nfunction toDateString(date: Date | undefined) {\n return date ? toUTCDateString(date) : undefined;\n}\n\nconst DatePicker: FunctionComponent<DatePickerProps> = ({\n selected: initial,\n onChange,\n min,\n max,\n mode = 'date',\n showWeekNumber,\n ...restProps\n}: DatePickerProps) => {\n const { locale } = useConfiguration();\n const t = useI18n();\n\n const [selected, setSelected] = useState(initial);\n const [current, setCurrent] = useState(selected && isValidDate(selected) ? selected : new Date());\n\n useEffect(() => {\n if (toDateString(initial) !== toDateString(selected)) {\n setSelected(initial);\n setCurrent(initial || new Date());\n }\n }, [toDateString(initial)]);\n\n const calendarRef = useRef<HTMLTableElement>(null);\n useEffect(() => {\n // need to postpone focusing to make sure onFocusWithin has been attached\n setTimeout(() => {\n calendarRef.current?.querySelector<HTMLElement>('button[tabindex=\"0\"]:enabled')?.focus();\n });\n }, []);\n\n const calendarType = getCalendarTypeFromLocale(locale);\n const { start, end } = useDirection();\n\n return (\n <StyledDatePicker aria-label={t('calendar')} role='region' {...restProps}>\n <Flex as={StyledMonthPicker} container={{ justify: 'between', alignItems: 'center' }}>\n <Button\n variant='simple'\n icon\n onClick={() => {\n const newCurrent = new Date(current);\n newCurrent.setUTCMonth(newCurrent.getUTCMonth() - 1);\n setCurrent(newCurrent);\n }}\n aria-label={t('picker_prev_month')}\n >\n <Icon name={`caret-${start}`} />\n </Button>\n <MonthInput\n value={current}\n required\n role='group'\n aria-label={t('picker_jump_to_month_and_year')}\n onChange={({ valueAsTimestamp }) => {\n const newCurrent = new Date(valueAsTimestamp!);\n newCurrent.setUTCDate(current.getUTCDate());\n setCurrent(newCurrent);\n }}\n min={min}\n max={max}\n />\n <ScreenReaderOnly aria-live='polite' role='alert'>\n {current.toLocaleString(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' })}\n </ScreenReaderOnly>\n <Button\n variant='simple'\n icon\n onClick={() => {\n const newCurrent = new Date(current);\n newCurrent.setUTCMonth(newCurrent.getUTCMonth() + 1);\n setCurrent(newCurrent);\n }}\n aria-label={t('picker_next_month')}\n >\n <Icon name={`caret-${end}`} />\n </Button>\n </Flex>\n <Flex container={{ wrap: 'nowrap' }} dir='ltr'>\n <Calendar\n ref={calendarRef}\n selected={selected && isValidDate(selected) ? selected : undefined}\n current={current}\n calendarType={mode === 'date' ? calendarType : CALENDAR_TYPES.ISO_8601}\n showWeekNumber={showWeekNumber}\n mode={mode}\n onFocus={date => {\n setCurrent(date);\n }}\n onSelect={date => {\n setCurrent(date);\n setSelected(date);\n onChange?.(date);\n }}\n min={min}\n max={max}\n />\n </Flex>\n </StyledDatePicker>\n );\n};\n\nexport default DatePicker;\n"]}
|
|
@@ -10,7 +10,7 @@ import Text from '../Text';
|
|
|
10
10
|
import { defaultThemeProp } from '../../theme';
|
|
11
11
|
const StyledQueryListPopover = styled(Popover)(({ theme: { base: { 'content-width': contentWidth } } }) => {
|
|
12
12
|
return css `
|
|
13
|
-
min-width: ${contentWidth.
|
|
13
|
+
min-width: min(${contentWidth.md}, 100vw);
|
|
14
14
|
`;
|
|
15
15
|
});
|
|
16
16
|
StyledQueryListPopover.defaultProps = defaultThemeProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryOptionPopover.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/QueryOptionPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAsC,UAAU,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,aAAa,EACb,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,OAAyB,MAAM,YAAY,CAAC;AACnD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY/C,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,CAC5C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,EACxC,EACF,EAAE,EAAE;IACH,OAAO,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"QueryOptionPopover.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/QueryOptionPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAsC,UAAU,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,aAAa,EACb,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,OAAyB,MAAM,YAAY,CAAC;AACnD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY/C,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,CAC5C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,EACxC,EACF,EAAE,EAAE;IACH,OAAO,GAAG,CAAA;uBACS,YAAY,CAAC,EAAE;KACjC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,kBAAkB,GAA8D,UAAU,CAC9F,CACE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAA4C,EAC3F,GAAmC,EACnC,EAAE;IACF,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChC,YAAY,CAAC,UAAU,CAAC,CAAC;IACzB,aAAa,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,KAAC,sBAAsB,IACrB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,UAAU,EACf,IAAI,EAAC,QAAQ,qBACI,SAAS,EAC1B,KAAK,kBAEL,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aACtD,KAAC,IAAI,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,SAAS,YAC7B,OAAO,GACH,EACN,QAAQ,EACT,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,aACrC,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;gCACZ,QAAQ,EAAE,CAAC;gCACX,MAAM,EAAE,KAAK,EAAE,CAAC;4BAClB,CAAC,YAEA,CAAC,CAAC,QAAQ,CAAC,GACL,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,QAAQ,EAAE,CAAC;gCACX,MAAM,EAAE,KAAK,EAAE,CAAC;4BAClB,CAAC,YAEA,CAAC,CAAC,QAAQ,CAAC,GACL,IACJ,IACF,GACgB,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { FunctionComponent, PropsWithoutRef, forwardRef, ReactNode, useEffect } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n useConsolidatedRef,\n useEscape,\n useFocusTrap,\n useI18n,\n useOuterEvent,\n useUID\n} from '../../hooks';\nimport { ForwardProps, OmitStrict } from '../../types';\nimport { getFocusables } from '../../utils';\nimport Button from '../Button';\nimport Flex from '../Flex';\nimport Popover, { PopoverProps } from '../Popover';\nimport Text from '../Text';\nimport { defaultThemeProp } from '../../theme';\n\nimport { QueryOptionDialogProps } from './ListToolbar.types';\n\ninterface ListToolbarPopoverProps\n extends OmitStrict<PopoverProps, 'target'>,\n Pick<QueryOptionDialogProps, 'onCancel' | 'onSubmit'> {\n heading: string;\n children: ReactNode;\n target?: HTMLButtonElement | null;\n}\n\nconst StyledQueryListPopover = styled(Popover)(\n ({\n theme: {\n base: { 'content-width': contentWidth }\n }\n }) => {\n return css`\n min-width: min(${contentWidth.md}, 100vw);\n `;\n }\n);\n\nStyledQueryListPopover.defaultProps = defaultThemeProp;\n\nconst QueryOptionPopover: FunctionComponent<ListToolbarPopoverProps & ForwardProps> = forwardRef(\n (\n { target, heading, children, onCancel, onSubmit }: PropsWithoutRef<ListToolbarPopoverProps>,\n ref: ListToolbarPopoverProps['ref']\n ) => {\n const t = useI18n();\n const headingId = useUID();\n const popoverRef = useConsolidatedRef(ref);\n\n useEscape(onCancel, popoverRef);\n useFocusTrap(popoverRef);\n useOuterEvent('mousedown', [popoverRef], onCancel);\n\n useEffect(() => {\n getFocusables(popoverRef)[0]?.focus();\n }, [popoverRef]);\n\n return (\n <StyledQueryListPopover\n target={target}\n ref={popoverRef}\n role='dialog'\n aria-labelledby={headingId}\n arrow\n >\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3' id={headingId}>\n {heading}\n </Text>\n {children}\n <Flex container={{ justify: 'between' }}>\n <Button\n onClick={() => {\n onCancel();\n target?.focus();\n }}\n >\n {t('cancel')}\n </Button>\n <Button\n variant='primary'\n onClick={() => {\n onSubmit();\n target?.focus();\n }}\n >\n {t('submit')}\n </Button>\n </Flex>\n </Flex>\n </StyledQueryListPopover>\n );\n }\n);\n\nexport default QueryOptionPopover;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormProgress.d.ts","sourceRoot":"","sources":["../../../src/components/MultiStepForm/FormProgress.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"FormProgress.d.ts","sourceRoot":"","sources":["../../../src/components/MultiStepForm/FormProgress.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAsC,MAAM,OAAO,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAa3C,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAC;AAE5D,UAAU,iBAAiB;IACzB,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,QAAA,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,GAAG,YAAY,CAiGrE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { remToPx, stripUnit } from 'polished';
|
|
3
|
-
import {
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
4
|
import { useElement, useTheme } from '../../hooks';
|
|
5
5
|
import { tryCatch } from '../../utils';
|
|
6
6
|
import Flex from '../Flex';
|
|
@@ -12,7 +12,7 @@ const FormProgress = ({ steps, currentStepId, ...restProps }) => {
|
|
|
12
12
|
const curStep = steps[curIdx];
|
|
13
13
|
const fillScale = curIdx / (steps.length - 1);
|
|
14
14
|
const [currentStepEl, setCurrentStepEl] = useElement();
|
|
15
|
-
const
|
|
15
|
+
const [stepEls, setStepEls] = useState({});
|
|
16
16
|
const theme = useTheme();
|
|
17
17
|
let popoverPlacement = 'top';
|
|
18
18
|
if (curIdx === 0)
|
|
@@ -20,8 +20,8 @@ const FormProgress = ({ steps, currentStepId, ...restProps }) => {
|
|
|
20
20
|
else if (curIdx === steps.length - 1)
|
|
21
21
|
popoverPlacement = 'top-end';
|
|
22
22
|
useEffect(() => {
|
|
23
|
-
setCurrentStepEl(
|
|
24
|
-
}, [
|
|
23
|
+
setCurrentStepEl(stepEls[curStep.id]);
|
|
24
|
+
}, [Object.keys(stepEls), curStep]);
|
|
25
25
|
return (_jsxs(StyledFormProgress, { ...restProps, container: { alignItems: 'center' }, role: 'progressbar', "aria-valuenow": curIdx, "aria-valuemin": 0, "aria-valuetext": curStep.name, "aria-valuemax": steps.length, children: [_jsx(CurrentStepPopover, { show: true, target: currentStepEl, placement: popoverPlacement, strategy: 'absolute', hideOnTargetHidden: true, modifiers: [
|
|
26
26
|
{
|
|
27
27
|
name: 'offset',
|
|
@@ -34,8 +34,17 @@ const FormProgress = ({ steps, currentStepId, ...restProps }) => {
|
|
|
34
34
|
}
|
|
35
35
|
], children: _jsx(Text, { variant: 'h4', children: curStep.name }) }), _jsx(Flex, { container: { justify: 'between', alignItems: 'center' }, item: { grow: 1 }, children: steps.map((step, index) => {
|
|
36
36
|
return (_jsx(StepMarker, { ref: (el) => {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
setStepEls(curr => {
|
|
38
|
+
const newEls = { ...curr };
|
|
39
|
+
if (!el && newEls[step.id]) {
|
|
40
|
+
delete newEls[step.id];
|
|
41
|
+
return newEls;
|
|
42
|
+
}
|
|
43
|
+
if (el)
|
|
44
|
+
return { ...newEls, [step.id]: el };
|
|
45
|
+
return newEls;
|
|
46
|
+
});
|
|
47
|
+
}, "aria-label": step.name, "aria-describedby": step.id, current: index === curIdx, depth: step.depth, prior: index < curIdx, onClick: step.onMarkerClick, children: index !== curIdx && (_jsx(Tooltip, { target: stepEls[step.id], showDelay: 'none', hideDelay: 'short', portal: false, children: step.name })) }, step.id));
|
|
39
48
|
}) }), _jsx(StyledBar, { children: _jsx(StyledFill, { style: { '--fillScale': fillScale } }) })] }));
|
|
40
49
|
};
|
|
41
50
|
export default FormProgress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormProgress.js","sourceRoot":"","sources":["../../../src/components/MultiStepForm/FormProgress.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAoC,
|
|
1
|
+
{"version":3,"file":"FormProgress.js","sourceRoot":"","sources":["../../../src/components/MultiStepForm/FormProgress.tsx"],"names":[],"mappings":"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","sourcesContent":["import { remToPx, stripUnit } from 'polished';\nimport { FunctionComponent, CSSProperties, useEffect, useState } from 'react';\n\nimport { useElement, useTheme } from '../../hooks';\nimport { ForwardProps } from '../../types';\nimport { tryCatch } from '../../utils';\nimport Flex from '../Flex';\nimport Text from '../Text';\nimport Tooltip from '../Tooltip';\n\nimport {\n CurrentStepPopover,\n StepMarker,\n StyledBar,\n StyledFill,\n StyledFormProgress\n} from './FormProgress.styles';\nimport type MultiStepFormProps from './MultiStepForm.types';\n\ninterface FormProgressProps {\n steps: MultiStepFormProps['steps'];\n currentStepId: MultiStepFormProps['currentStepId'];\n}\n\nconst FormProgress: FunctionComponent<FormProgressProps & ForwardProps> = ({\n steps,\n currentStepId,\n ...restProps\n}) => {\n const curIdx = steps.findIndex(step => step.id === currentStepId);\n const curStep = steps[curIdx];\n const fillScale = curIdx / (steps.length - 1);\n\n const [currentStepEl, setCurrentStepEl] = useElement();\n const [stepEls, setStepEls] = useState<Record<string, HTMLElement>>({});\n const theme = useTheme();\n\n let popoverPlacement: 'top' | 'top-start' | 'top-end' = 'top';\n if (curIdx === 0) popoverPlacement = 'top-start';\n else if (curIdx === steps.length - 1) popoverPlacement = 'top-end';\n\n useEffect(() => {\n setCurrentStepEl(stepEls[curStep.id]);\n }, [Object.keys(stepEls), curStep]);\n\n return (\n <StyledFormProgress\n {...restProps}\n container={{ alignItems: 'center' }}\n role='progressbar'\n aria-valuenow={curIdx}\n aria-valuemin={0}\n aria-valuetext={curStep.name}\n aria-valuemax={steps.length}\n >\n <CurrentStepPopover\n show\n target={currentStepEl}\n placement={popoverPlacement}\n strategy='absolute'\n hideOnTargetHidden\n modifiers={[\n {\n name: 'offset',\n options: {\n offset: [\n 0,\n tryCatch(\n () => stripUnit(remToPx(theme.base.spacing)),\n () => 8\n )\n ]\n }\n }\n ]}\n >\n <Text variant='h4'>{curStep.name}</Text>\n </CurrentStepPopover>\n <Flex container={{ justify: 'between', alignItems: 'center' }} item={{ grow: 1 }}>\n {steps.map((step, index) => {\n return (\n <StepMarker\n key={step.id}\n ref={(el: HTMLElement | null) => {\n setStepEls(curr => {\n const newEls = { ...curr };\n if (!el && newEls[step.id]) {\n delete newEls[step.id];\n return newEls;\n }\n if (el) return { ...newEls, [step.id]: el };\n return newEls;\n });\n }}\n aria-label={step.name}\n aria-describedby={step.id}\n current={index === curIdx}\n depth={step.depth}\n prior={index < curIdx}\n onClick={step.onMarkerClick}\n >\n {index !== curIdx && (\n <Tooltip\n target={stepEls[step.id]}\n showDelay='none'\n hideDelay='short'\n portal={false}\n >\n {step.name}\n </Tooltip>\n )}\n </StepMarker>\n );\n })}\n </Flex>\n\n <StyledBar>\n <StyledFill style={{ '--fillScale': fillScale } as CSSProperties} />\n </StyledBar>\n </StyledFormProgress>\n );\n};\n\nexport default FormProgress;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.7",
|
|
4
4
|
"description": "Cosmos is a visual design system and UI component collection. Its goal is to empower application developers in their pursuit to create engaging and rewarding user experiences.",
|
|
5
5
|
"author": "Pegasystems",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|