lizaui 9.0.44 → 9.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/autocomplete/index.cjs.js +2 -2
- package/dist/autocomplete/index.cjs.js.map +1 -1
- package/dist/autocomplete/index.es.js +2 -2
- package/dist/autocomplete/index.es.js.map +1 -1
- package/dist/button/index.cjs.js +1 -1
- package/dist/button/index.es.js +1 -1
- package/dist/chip/index.cjs.js +3 -3
- package/dist/chip/index.cjs.js.map +1 -1
- package/dist/chip/index.es.js +3 -3
- package/dist/chip/index.es.js.map +1 -1
- package/dist/chunks/{button-Dzqe0Scp.js → button-CBPwzm2F.js} +4 -4
- package/dist/chunks/{button-Dzqe0Scp.js.map → button-CBPwzm2F.js.map} +1 -1
- package/dist/chunks/{button-CsVgdTK2.js → button-c2tqObmX.js} +4 -4
- package/dist/chunks/{button-CsVgdTK2.js.map → button-c2tqObmX.js.map} +1 -1
- package/dist/chunks/createLucideIcon-Bxsl-Fn_.js.map +1 -1
- package/dist/chunks/createLucideIcon-C5oU6LEj.js.map +1 -1
- package/dist/chunks/index--Lp5VMoT.js.map +1 -1
- package/dist/chunks/index-xVewW5kR.js.map +1 -1
- package/dist/chunks/{scroll-area-A7wLpIdN.js → scroll-area-C-TOj3zQ.js} +2 -2
- package/dist/chunks/{scroll-area-A7wLpIdN.js.map → scroll-area-C-TOj3zQ.js.map} +1 -1
- package/dist/chunks/{scroll-area-BU8EXoIt.js → scroll-area-CLk54_91.js} +2 -2
- package/dist/chunks/{scroll-area-BU8EXoIt.js.map → scroll-area-CLk54_91.js.map} +1 -1
- package/dist/chunks/{select-D12sBtA8.js → select-B6phC9mi.js} +2 -2
- package/dist/chunks/{select-D12sBtA8.js.map → select-B6phC9mi.js.map} +1 -1
- package/dist/chunks/{select-dQq0NQ64.js → select-DVjRpYfX.js} +2 -2
- package/dist/chunks/{select-dQq0NQ64.js.map → select-DVjRpYfX.js.map} +1 -1
- package/dist/chunks/{textarea-CE8ScH_j.js → textarea-BKtuQhzG.js} +2 -2
- package/dist/chunks/{textarea-CE8ScH_j.js.map → textarea-BKtuQhzG.js.map} +1 -1
- package/dist/chunks/{textarea-DatQsnr3.js → textarea-C3AwF8SJ.js} +2 -2
- package/dist/chunks/{textarea-DatQsnr3.js.map → textarea-C3AwF8SJ.js.map} +1 -1
- package/dist/chunks/{tooltip-BVHPsFJx.js → tooltip-BVafMD5T.js} +37 -17
- package/dist/chunks/tooltip-BVafMD5T.js.map +1 -0
- package/dist/chunks/{tooltip-BT4TzSeu.js → tooltip-hhxclHkr.js} +37 -17
- package/dist/chunks/tooltip-hhxclHkr.js.map +1 -0
- package/dist/form-tabs/index.cjs.js.map +1 -1
- package/dist/form-tabs/index.es.js.map +1 -1
- package/dist/modal/index.cjs.js +1 -1
- package/dist/modal/index.es.js +1 -1
- package/dist/pagination/index.cjs.js +3 -3
- package/dist/pagination/index.es.js +3 -3
- package/dist/phone-input/index.cjs.js +3 -3
- package/dist/phone-input/index.es.js +3 -3
- package/dist/table/index.cjs.js +1 -1
- package/dist/table/index.es.js +1 -1
- package/dist/time-input/index.cjs.js +36 -11
- package/dist/time-input/index.cjs.js.map +1 -1
- package/dist/time-input/index.es.js +36 -11
- package/dist/time-input/index.es.js.map +1 -1
- package/dist/tooltip/index.cjs.js +1 -1
- package/dist/tooltip/index.es.js +1 -1
- package/dist/travel-calendar/index.cjs.js +2 -2
- package/dist/travel-calendar/index.es.js +2 -2
- package/dist/ui/index.cjs.js +4 -4
- package/dist/ui/index.cjs.js.map +1 -1
- package/dist/ui/index.es.js +7 -7
- package/dist/ui/index.es.js.map +1 -1
- package/package.json +10 -10
- package/dist/chunks/tooltip-BT4TzSeu.js.map +0 -1
- package/dist/chunks/tooltip-BVHPsFJx.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../node_modules/.pnpm/@wojtekmaj+date-utils@2.0.2/node_modules/@wojtekmaj/date-utils/dist/index.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/Hand.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/Mark.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/MarkNumber.js","../../node_modules/.pnpm/mimic-function@5.0.1/node_modules/mimic-function/index.js","../../node_modules/.pnpm/memoize@10.1.0/node_modules/memoize/distribution/index.js","../../node_modules/.pnpm/get-user-locale@3.0.0/node_modules/get-user-locale/dist/index.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/shared/hourFormatter.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/shared/utils.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/Clock.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/Divider.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/shared/dates.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/shared/dateFormatter.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/shared/utils.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/AmPm.js","../../node_modules/.pnpm/update-input-width@1.4.2/node_modules/update-input-width/dist/esm/index.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/Input.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/Hour12Input.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/Hour24Input.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/MinuteInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/NativeInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/SecondInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimePicker.js","../../src/components/time-input/time-picker.styled.tsx","../../src/components/time-input/time-picker-input.tsx"],"sourcesContent":["/**\n * Utils\n */\nfunction makeGetEdgeOfNeighbor(getPeriod, getEdgeOfPeriod, defaultOffset) {\n return function makeGetEdgeOfNeighborInternal(date, offset = defaultOffset) {\n const previousPeriod = getPeriod(date) + offset;\n return getEdgeOfPeriod(previousPeriod);\n };\n}\nfunction makeGetEnd(getBeginOfNextPeriod) {\n return function makeGetEndInternal(date) {\n return new Date(getBeginOfNextPeriod(date).getTime() - 1);\n };\n}\nfunction makeGetRange(getStart, getEnd) {\n return function makeGetRangeInternal(date) {\n return [getStart(date), getEnd(date)];\n };\n}\n/**\n * Simple getters - getting a property of a given point in time\n */\n/**\n * Gets year from a given date.\n *\n * @param {DateLike} date Date to get year from\n * @returns {number} Year\n */\nexport function getYear(date) {\n if (date instanceof Date) {\n return date.getFullYear();\n }\n if (typeof date === 'number') {\n return date;\n }\n const year = Number.parseInt(date, 10);\n if (typeof date === 'string' && !Number.isNaN(year)) {\n return year;\n }\n throw new Error(`Failed to get year from date: ${date}.`);\n}\n/**\n * Gets month from a given date.\n *\n * @param {Date} date Date to get month from\n * @returns {number} Month\n */\nexport function getMonth(date) {\n if (date instanceof Date) {\n return date.getMonth();\n }\n throw new Error(`Failed to get month from date: ${date}.`);\n}\n/**\n * Gets human-readable month from a given date.\n *\n * @param {Date} date Date to get human-readable month from\n * @returns {number} Human-readable month\n */\nexport function getMonthHuman(date) {\n if (date instanceof Date) {\n return date.getMonth() + 1;\n }\n throw new Error(`Failed to get human-readable month from date: ${date}.`);\n}\n/**\n * Gets day of the month from a given date.\n *\n * @param {Date} date Date to get day of the month from\n * @returns {number} Day of the month\n */\nexport function getDate(date) {\n if (date instanceof Date) {\n return date.getDate();\n }\n throw new Error(`Failed to get year from date: ${date}.`);\n}\n/**\n * Gets hours from a given date.\n *\n * @param {Date | string} date Date to get hours from\n * @returns {number} Hours\n */\nexport function getHours(date) {\n if (date instanceof Date) {\n return date.getHours();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const hoursString = datePieces[0];\n if (hoursString) {\n const hours = Number.parseInt(hoursString, 10);\n if (!Number.isNaN(hours)) {\n return hours;\n }\n }\n }\n }\n throw new Error(`Failed to get hours from date: ${date}.`);\n}\n/**\n * Gets minutes from a given date.\n *\n * @param {Date | string} date Date to get minutes from\n * @returns {number} Minutes\n */\nexport function getMinutes(date) {\n if (date instanceof Date) {\n return date.getMinutes();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const minutesString = datePieces[1] || '0';\n const minutes = Number.parseInt(minutesString, 10);\n if (!Number.isNaN(minutes)) {\n return minutes;\n }\n }\n }\n throw new Error(`Failed to get minutes from date: ${date}.`);\n}\n/**\n * Gets seconds from a given date.\n *\n * @param {Date | string} date Date to get seconds from\n * @returns {number} Seconds\n */\nexport function getSeconds(date) {\n if (date instanceof Date) {\n return date.getSeconds();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const secondsWithMillisecondsString = datePieces[2] || '0';\n const seconds = Number.parseInt(secondsWithMillisecondsString, 10);\n if (!Number.isNaN(seconds)) {\n return seconds;\n }\n }\n }\n throw new Error(`Failed to get seconds from date: ${date}.`);\n}\n/**\n * Gets milliseconds from a given date.\n *\n * @param {Date | string} date Date to get milliseconds from\n * @returns {number} Milliseconds\n */\nexport function getMilliseconds(date) {\n if (date instanceof Date) {\n return date.getMilliseconds();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const secondsWithMillisecondsString = datePieces[2] || '0';\n const millisecondsString = secondsWithMillisecondsString.split('.')[1] || '0';\n const milliseconds = Number.parseInt(millisecondsString, 10);\n if (!Number.isNaN(milliseconds)) {\n return milliseconds;\n }\n }\n }\n throw new Error(`Failed to get seconds from date: ${date}.`);\n}\n/**\n * Century\n */\n/**\n * Gets century start date from a given date.\n *\n * @param {DateLike} date Date to get century start from\n * @returns {Date} Century start date\n */\nexport function getCenturyStart(date) {\n const year = getYear(date);\n const centuryStartYear = year + ((-year + 1) % 100);\n const centuryStartDate = new Date();\n centuryStartDate.setFullYear(centuryStartYear, 0, 1);\n centuryStartDate.setHours(0, 0, 0, 0);\n return centuryStartDate;\n}\n/**\n * Gets previous century start date from a given date.\n *\n * @param {DateLike} date Date to get previous century start from\n * @param {number} [offset=-100] Offset in years to calculate previous century start from\n * @returns {Date} Previous century start date\n */\nexport const getPreviousCenturyStart = makeGetEdgeOfNeighbor(getYear, getCenturyStart, -100);\n/**\n * Gets next century start date from a given date.\n *\n * @param {DateLike} date Date to get next century start from\n * @param {number} [offset=100] Offset in years to calculate next century start from\n * @returns {Date} Next century start date\n */\nexport const getNextCenturyStart = makeGetEdgeOfNeighbor(getYear, getCenturyStart, 100);\n/**\n * Gets century end date from a given date.\n *\n * @param {DateLike} date Date to get century end from\n * @returns {Date} Century end date\n */\nexport const getCenturyEnd = makeGetEnd(getNextCenturyStart);\n/**\n * Gets previous century end date from a given date.\n *\n * @param {DateLike} date Date to get previous century end from\n * @param {number} [offset=-100] Offset in years to calculate previous century end from\n * @returns {Date} Previous century end date\n */\nexport const getPreviousCenturyEnd = makeGetEdgeOfNeighbor(getYear, getCenturyEnd, -100);\n/**\n * Gets next century end date from a given date.\n *\n * @param {DateLike} date Date to get next century end from\n * @param {number} [offset=100] Offset in years to calculate next century end from\n * @returns {Date} Next century end date\n */\nexport const getNextCenturyEnd = makeGetEdgeOfNeighbor(getYear, getCenturyEnd, 100);\n/**\n * Gets century start and end dates from a given date.\n *\n * @param {DateLike} date Date to get century start and end from\n * @returns {[Date, Date]} Century start and end dates\n */\nexport const getCenturyRange = makeGetRange(getCenturyStart, getCenturyEnd);\n/**\n * Decade\n */\n/**\n * Gets decade start date from a given date.\n *\n * @param {DateLike} date Date to get decade start from\n * @returns {Date} Decade start date\n */\nexport function getDecadeStart(date) {\n const year = getYear(date);\n const decadeStartYear = year + ((-year + 1) % 10);\n const decadeStartDate = new Date();\n decadeStartDate.setFullYear(decadeStartYear, 0, 1);\n decadeStartDate.setHours(0, 0, 0, 0);\n return decadeStartDate;\n}\n/**\n * Gets previous decade start date from a given date.\n *\n * @param {DateLike} date Date to get previous decade start from\n * @param {number} [offset=-10] Offset in years to calculate previous decade start from\n * @returns {Date} Previous decade start date\n */\nexport const getPreviousDecadeStart = makeGetEdgeOfNeighbor(getYear, getDecadeStart, -10);\n/**\n * Gets next decade start date from a given date.\n *\n * @param {DateLike} date Date to get next decade start from\n * @param {number} [offset=10] Offset in years to calculate next decade start from\n * @returns {Date} Next decade start date\n */\nexport const getNextDecadeStart = makeGetEdgeOfNeighbor(getYear, getDecadeStart, 10);\n/**\n * Gets decade end date from a given date.\n *\n * @param {DateLike} date Date to get decade end from\n * @returns {Date} Decade end date\n */\nexport const getDecadeEnd = makeGetEnd(getNextDecadeStart);\n/**\n * Gets previous decade end date from a given date.\n *\n * @param {DateLike} date Date to get previous decade end from\n * @param {number} [offset=-10] Offset in years to calculate previous decade end from\n * @returns {Date} Previous decade end date\n */\nexport const getPreviousDecadeEnd = makeGetEdgeOfNeighbor(getYear, getDecadeEnd, -10);\n/**\n * Gets next decade end date from a given date.\n *\n * @param {DateLike} date Date to get next decade end from\n * @param {number} [offset=10] Offset in years to calculate next decade end from\n * @returns {Date} Next decade end date\n */\nexport const getNextDecadeEnd = makeGetEdgeOfNeighbor(getYear, getDecadeEnd, 10);\n/**\n * Gets decade start and end dates from a given date.\n *\n * @param {DateLike} date Date to get decade start and end from\n * @returns {[Date, Date]} Decade start and end dates\n */\nexport const getDecadeRange = makeGetRange(getDecadeStart, getDecadeEnd);\n/**\n * Year\n */\n/**\n * Gets year start date from a given date.\n *\n * @param {DateLike} date Date to get year start from\n * @returns {Date} Year start date\n */\nexport function getYearStart(date) {\n const year = getYear(date);\n const yearStartDate = new Date();\n yearStartDate.setFullYear(year, 0, 1);\n yearStartDate.setHours(0, 0, 0, 0);\n return yearStartDate;\n}\n/**\n * Gets previous year start date from a given date.\n *\n * @param {DateLike} date Date to get previous year start from\n * @param {number} [offset=-1] Offset in years to calculate previous year start from\n * @returns {Date} Previous year start date\n */\nexport const getPreviousYearStart = makeGetEdgeOfNeighbor(getYear, getYearStart, -1);\n/**\n * Gets next year start date from a given date.\n *\n * @param {DateLike} date Date to get next year start from\n * @param {number} [offset=1] Offset in years to calculate next year start from\n * @returns {Date} Next year start date\n */\nexport const getNextYearStart = makeGetEdgeOfNeighbor(getYear, getYearStart, 1);\n/**\n * Gets year end date from a given date.\n *\n * @param {DateLike} date Date to get year end from\n * @returns {Date} Year end date\n */\nexport const getYearEnd = makeGetEnd(getNextYearStart);\n/**\n * Gets previous year end date from a given date.\n *\n * @param {DateLike} date Date to get previous year end from\n * @param {number} [offset=-1] Offset in years to calculate previous year end from\n * @returns {Date} Previous year end date\n */\nexport const getPreviousYearEnd = makeGetEdgeOfNeighbor(getYear, getYearEnd, -1);\n/**\n * Gets next year end date from a given date.\n *\n * @param {DateLike} date Date to get next year end from\n * @param {number} [offset=1] Offset in years to calculate next year end from\n * @returns {Date} Next year end date\n */\nexport const getNextYearEnd = makeGetEdgeOfNeighbor(getYear, getYearEnd, 1);\n/**\n * Gets year start and end dates from a given date.\n *\n * @param {DateLike} date Date to get year start and end from\n * @returns {[Date, Date]} Year start and end dates\n */\nexport const getYearRange = makeGetRange(getYearStart, getYearEnd);\n/**\n * Month\n */\nfunction makeGetEdgeOfNeighborMonth(getEdgeOfPeriod, defaultOffset) {\n return function makeGetEdgeOfNeighborMonthInternal(date, offset = defaultOffset) {\n const year = getYear(date);\n const month = getMonth(date) + offset;\n const previousPeriod = new Date();\n previousPeriod.setFullYear(year, month, 1);\n previousPeriod.setHours(0, 0, 0, 0);\n return getEdgeOfPeriod(previousPeriod);\n };\n}\n/**\n * Gets month start date from a given date.\n *\n * @param {DateLike} date Date to get month start from\n * @returns {Date} Month start date\n */\nexport function getMonthStart(date) {\n const year = getYear(date);\n const month = getMonth(date);\n const monthStartDate = new Date();\n monthStartDate.setFullYear(year, month, 1);\n monthStartDate.setHours(0, 0, 0, 0);\n return monthStartDate;\n}\n/**\n * Gets previous month start date from a given date.\n *\n * @param {Date} date Date to get previous month start from\n * @param {number} [offset=-1] Offset in months to calculate previous month start from\n * @returns {Date} Previous month start date\n */\nexport const getPreviousMonthStart = makeGetEdgeOfNeighborMonth(getMonthStart, -1);\n/**\n * Gets next month start date from a given date.\n *\n * @param {Date} date Date to get next month start from\n * @param {number} [offset=1] Offset in months to calculate next month start from\n * @returns {Date} Next month start date\n */\nexport const getNextMonthStart = makeGetEdgeOfNeighborMonth(getMonthStart, 1);\n/**\n * Gets month end date from a given date.\n *\n * @param {Date} date Date to get month end from\n * @returns {Date} Month end date\n */\nexport const getMonthEnd = makeGetEnd(getNextMonthStart);\n/**\n * Gets previous month end date from a given date.\n *\n * @param {Date} date Date to get previous month end from\n * @param {number} [offset=-1] Offset in months to calculate previous month end from\n * @returns {Date} Previous month end date\n */\nexport const getPreviousMonthEnd = makeGetEdgeOfNeighborMonth(getMonthEnd, -1);\n/**\n * Gets next month end date from a given date.\n *\n * @param {Date} date Date to get next month end from\n * @param {number} [offset=1] Offset in months to calculate next month end from\n * @returns {Date} Next month end date\n */\nexport const getNextMonthEnd = makeGetEdgeOfNeighborMonth(getMonthEnd, 1);\n/**\n * Gets month start and end dates from a given date.\n *\n * @param {Date} date Date to get month start and end from\n * @returns {[Date, Date]} Month start and end dates\n */\nexport const getMonthRange = makeGetRange(getMonthStart, getMonthEnd);\n/**\n * Day\n */\nfunction makeGetEdgeOfNeighborDay(getEdgeOfPeriod, defaultOffset) {\n return function makeGetEdgeOfNeighborDayInternal(date, offset = defaultOffset) {\n const year = getYear(date);\n const month = getMonth(date);\n const day = getDate(date) + offset;\n const previousPeriod = new Date();\n previousPeriod.setFullYear(year, month, day);\n previousPeriod.setHours(0, 0, 0, 0);\n return getEdgeOfPeriod(previousPeriod);\n };\n}\n/**\n * Gets day start date from a given date.\n *\n * @param {DateLike} date Date to get day start from\n * @returns {Date} Day start date\n */\nexport function getDayStart(date) {\n const year = getYear(date);\n const month = getMonth(date);\n const day = getDate(date);\n const dayStartDate = new Date();\n dayStartDate.setFullYear(year, month, day);\n dayStartDate.setHours(0, 0, 0, 0);\n return dayStartDate;\n}\n/**\n * Gets previous day start date from a given date.\n *\n * @param {Date} date Date to get previous day start from\n * @param {number} [offset=-1] Offset in days to calculate previous day start from\n * @returns {Date} Previous day start date\n */\nexport const getPreviousDayStart = makeGetEdgeOfNeighborDay(getDayStart, -1);\n/**\n * Gets next day start date from a given date.\n *\n * @param {Date} date Date to get next day start from\n * @param {number} [offset=1] Offset in days to calculate next day start from\n * @returns {Date} Next day start date\n */\nexport const getNextDayStart = makeGetEdgeOfNeighborDay(getDayStart, 1);\n/**\n * Gets day end date from a given date.\n *\n * @param {Date} date Date to get day end from\n * @returns {Date} Day end date\n */\nexport const getDayEnd = makeGetEnd(getNextDayStart);\n/**\n * Gets previous day end date from a given date.\n *\n * @param {DateLike} date Date to get previous day end from\n * @param {number} [offset=-1] Offset in days to calculate previous day end from\n * @returns {Date} Previous day end date\n */\nexport const getPreviousDayEnd = makeGetEdgeOfNeighborDay(getDayEnd, -1);\n/**\n * Gets next day end date from a given date.\n *\n * @param {DateLike} date Date to get next day end from\n * @param {number} [offset=1] Offset in days to calculate next day end from\n * @returns {Date} Next day end date\n */\nexport const getNextDayEnd = makeGetEdgeOfNeighborDay(getDayEnd, 1);\n/**\n * Gets day start and end dates from a given date.\n *\n * @param {DateLike} date Date to get day start and end from\n * @returns {[Date, Date]} Day start and end dates\n */\nexport const getDayRange = makeGetRange(getDayStart, getDayEnd);\n/**\n * Other\n */\n/**\n * Returns a number of days in a month of a given date.\n *\n * @param {Date} date Date\n * @returns {number} Number of days in a month\n */\nexport function getDaysInMonth(date) {\n return getDate(getMonthEnd(date));\n}\nfunction padStart(num, val = 2) {\n const numStr = `${num}`;\n if (numStr.length >= val) {\n return num;\n }\n return `0000${numStr}`.slice(-val);\n}\n/**\n * Returns local hours and minutes (hh:mm).\n *\n * @param {Date | string} date Date to get hours and minutes from\n * @returns {string} Local hours and minutes\n */\nexport function getHoursMinutes(date) {\n const hours = padStart(getHours(date));\n const minutes = padStart(getMinutes(date));\n return `${hours}:${minutes}`;\n}\n/**\n * Returns local hours, minutes and seconds (hh:mm:ss).\n *\n * @param {Date | string} date Date to get hours, minutes and seconds from\n * @returns {string} Local hours, minutes and seconds\n */\nexport function getHoursMinutesSeconds(date) {\n const hours = padStart(getHours(date));\n const minutes = padStart(getMinutes(date));\n const seconds = padStart(getSeconds(date));\n return `${hours}:${minutes}:${seconds}`;\n}\n/**\n * Returns local month in ISO-like format (YYYY-MM).\n *\n * @param {Date} date Date to get month in ISO-like format from\n * @returns {string} Local month in ISO-like format\n */\nexport function getISOLocalMonth(date) {\n const year = padStart(getYear(date), 4);\n const month = padStart(getMonthHuman(date));\n return `${year}-${month}`;\n}\n/**\n * Returns local date in ISO-like format (YYYY-MM-DD).\n *\n * @param {Date} date Date to get date in ISO-like format from\n * @returns {string} Local date in ISO-like format\n */\nexport function getISOLocalDate(date) {\n const year = padStart(getYear(date), 4);\n const month = padStart(getMonthHuman(date));\n const day = padStart(getDate(date));\n return `${year}-${month}-${day}`;\n}\n/**\n * Returns local date & time in ISO-like format (YYYY-MM-DDThh:mm:ss).\n *\n * @param {Date} date Date to get date & time in ISO-like format from\n * @returns {string} Local date & time in ISO-like format\n */\nexport function getISOLocalDateTime(date) {\n return `${getISOLocalDate(date)}T${getHoursMinutesSeconds(date)}`;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Hand(_a) {\n var _b = _a.angle, angle = _b === void 0 ? 0 : _b, name = _a.name, _c = _a.length, length = _c === void 0 ? 100 : _c, _d = _a.oppositeLength, oppositeLength = _d === void 0 ? 10 : _d, _e = _a.width, width = _e === void 0 ? 1 : _e;\n return (_jsx(\"div\", { className: \"react-clock__hand react-clock__\".concat(name, \"-hand\"), style: {\n transform: \"rotate(\".concat(angle, \"deg)\"),\n }, children: _jsx(\"div\", { className: \"react-clock__hand__body react-clock__\".concat(name, \"-hand__body\"), style: {\n width: \"\".concat(width, \"px\"),\n top: \"\".concat(50 - length / 2, \"%\"),\n bottom: \"\".concat(50 - oppositeLength / 2, \"%\"),\n } }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { memo } from 'react';\nvar Mark = memo(function Mark(_a) {\n var _b = _a.angle, angle = _b === void 0 ? 0 : _b, _c = _a.length, length = _c === void 0 ? 10 : _c, name = _a.name, _d = _a.width, width = _d === void 0 ? 1 : _d;\n return (_jsx(\"div\", { className: \"react-clock__mark react-clock__\".concat(name, \"-mark\"), style: {\n transform: \"rotate(\".concat(angle, \"deg)\"),\n }, children: _jsx(\"div\", { className: \"react-clock__mark__body react-clock__\".concat(name, \"-mark__body\"), style: {\n width: \"\".concat(width, \"px\"),\n top: 0,\n bottom: \"\".concat(100 - length / 2, \"%\"),\n } }) }));\n});\nexport default Mark;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { memo } from 'react';\nvar MarkNumber = memo(function MarkNumber(_a) {\n var _b = _a.angle, angle = _b === void 0 ? 0 : _b, _c = _a.length, length = _c === void 0 ? 10 : _c, name = _a.name, number = _a.number;\n return (_jsx(\"div\", { className: \"react-clock__mark react-clock__\".concat(name, \"-mark\"), style: {\n transform: \"rotate(\".concat(angle, \"deg)\"),\n }, children: _jsx(\"div\", { className: \"react-clock__mark__number\", style: {\n transform: \"rotate(-\".concat(angle, \"deg)\"),\n top: \"\".concat(length / 2, \"%\"),\n }, children: number }) }));\n});\nexport default MarkNumber;\n","const copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable\n\t\t&& toDescriptor.enumerable === fromDescriptor.enumerable\n\t\t&& toDescriptor.configurable === fromDescriptor.configurable\n\t\t&& (toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tconst {writable, enumerable, configurable} = toStringDescriptor; // We destructue to avoid a potential `get` descriptor.\n\tObject.defineProperty(to, 'toString', {value: newToString, writable, enumerable, configurable});\n};\n\nexport default function mimicFunction(to, from, {ignoreNonConfigurable = false} = {}) {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n}\n","import mimicFunction from 'mimic-function';\nconst cacheStore = new WeakMap();\nconst cacheTimerStore = new WeakMap();\n/**\n[Memoize](https://en.wikipedia.org/wiki/Memoization) functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input.\n\n@param function_ - The function to be memoized.\n\n@example\n```\nimport memoize from 'memoize';\n\nlet index = 0;\nconst counter = () => ++index;\nconst memoized = memoize(counter);\n\nmemoized('foo');\n//=> 1\n\n// Cached as it's the same argument\nmemoized('foo');\n//=> 1\n\n// Not cached anymore as the arguments changed\nmemoized('bar');\n//=> 2\n\nmemoized('bar');\n//=> 2\n```\n*/\nexport default function memoize(function_, { cacheKey, cache = new Map(), maxAge, } = {}) {\n if (maxAge === 0) {\n return function_;\n }\n if (typeof maxAge === 'number') {\n const maxSetIntervalValue = 2_147_483_647;\n if (maxAge > maxSetIntervalValue) {\n throw new TypeError(`The \\`maxAge\\` option cannot exceed ${maxSetIntervalValue}.`);\n }\n if (maxAge < 0) {\n throw new TypeError('The `maxAge` option should not be a negative number.');\n }\n }\n const memoized = function (...arguments_) {\n const key = cacheKey ? cacheKey(arguments_) : arguments_[0];\n const cacheItem = cache.get(key);\n if (cacheItem) {\n return cacheItem.data;\n }\n const result = function_.apply(this, arguments_);\n const computedMaxAge = typeof maxAge === 'function' ? maxAge(...arguments_) : maxAge;\n cache.set(key, {\n data: result,\n maxAge: computedMaxAge ? Date.now() + computedMaxAge : Number.POSITIVE_INFINITY,\n });\n if (computedMaxAge && computedMaxAge > 0 && computedMaxAge !== Number.POSITIVE_INFINITY) {\n const timer = setTimeout(() => {\n cache.delete(key);\n }, computedMaxAge);\n timer.unref?.();\n const timers = cacheTimerStore.get(function_) ?? new Set();\n timers.add(timer);\n cacheTimerStore.set(function_, timers);\n }\n return result;\n };\n mimicFunction(memoized, function_, {\n ignoreNonConfigurable: true,\n });\n cacheStore.set(memoized, cache);\n return memoized;\n}\n/**\n@returns A [decorator](https://github.com/tc39/proposal-decorators) to memoize class methods or static class methods.\n\n@example\n```\nimport {memoizeDecorator} from 'memoize';\n\nclass Example {\n index = 0\n\n @memoizeDecorator()\n counter() {\n return ++this.index;\n }\n}\n\nclass ExampleWithOptions {\n index = 0\n\n @memoizeDecorator({maxAge: 1000})\n counter() {\n return ++this.index;\n }\n}\n```\n*/\nexport function memoizeDecorator(options = {}) {\n const instanceMap = new WeakMap();\n return (target, propertyKey, descriptor) => {\n const input = target[propertyKey]; // eslint-disable-line @typescript-eslint/no-unsafe-assignment\n if (typeof input !== 'function') {\n throw new TypeError('The decorated value must be a function');\n }\n delete descriptor.value;\n delete descriptor.writable;\n descriptor.get = function () {\n if (!instanceMap.has(this)) {\n const value = memoize(input, options);\n instanceMap.set(this, value);\n return value;\n }\n return instanceMap.get(this);\n };\n };\n}\n/**\nClear all cached data of a memoized function.\n\n@param function_ - The memoized function.\n*/\nexport function memoizeClear(function_) {\n const cache = cacheStore.get(function_);\n if (!cache) {\n throw new TypeError('Can\\'t clear a function that was not memoized!');\n }\n if (typeof cache.clear !== 'function') {\n throw new TypeError('The cache Map can\\'t be cleared!');\n }\n cache.clear();\n for (const timer of cacheTimerStore.get(function_) ?? []) {\n clearTimeout(timer);\n }\n}\n","import memoize from 'memoize';\nfunction isString(el) {\n return typeof el === 'string';\n}\nfunction isUnique(el, index, arr) {\n return arr.indexOf(el) === index;\n}\nfunction isAllLowerCase(el) {\n return el.toLowerCase() === el;\n}\nfunction fixCommas(el) {\n return el.indexOf(',') === -1 ? el : el.split(',');\n}\nfunction normalizeLocale(locale) {\n if (!locale) {\n return locale;\n }\n if (locale === 'C' || locale === 'posix' || locale === 'POSIX') {\n return 'en-US';\n }\n // If there's a dot (.) in the locale, it's likely in the format of \"en-US.UTF-8\", so we only take the first part\n if (locale.indexOf('.') !== -1) {\n var _a = locale.split('.')[0], actualLocale = _a === void 0 ? '' : _a;\n return normalizeLocale(actualLocale);\n }\n // If there's an at sign (@) in the locale, it's likely in the format of \"en-US@posix\", so we only take the first part\n if (locale.indexOf('@') !== -1) {\n var _b = locale.split('@')[0], actualLocale = _b === void 0 ? '' : _b;\n return normalizeLocale(actualLocale);\n }\n // If there's a dash (-) in the locale and it's not all lower case, it's already in the format of \"en-US\", so we return it\n if (locale.indexOf('-') === -1 || !isAllLowerCase(locale)) {\n return locale;\n }\n var _c = locale.split('-'), splitEl1 = _c[0], _d = _c[1], splitEl2 = _d === void 0 ? '' : _d;\n return \"\".concat(splitEl1, \"-\").concat(splitEl2.toUpperCase());\n}\nfunction getUserLocalesInternal(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.useFallbackLocale, useFallbackLocale = _c === void 0 ? true : _c, _d = _b.fallbackLocale, fallbackLocale = _d === void 0 ? 'en-US' : _d;\n var languageList = [];\n if (typeof navigator !== 'undefined') {\n var rawLanguages = navigator.languages || [];\n var languages = [];\n for (var _i = 0, rawLanguages_1 = rawLanguages; _i < rawLanguages_1.length; _i++) {\n var rawLanguagesItem = rawLanguages_1[_i];\n languages = languages.concat(fixCommas(rawLanguagesItem));\n }\n var rawLanguage = navigator.language;\n var language = rawLanguage ? fixCommas(rawLanguage) : rawLanguage;\n languageList = languageList.concat(languages, language);\n }\n if (useFallbackLocale) {\n languageList.push(fallbackLocale);\n }\n return languageList.filter(isString).map(normalizeLocale).filter(isUnique);\n}\nexport var getUserLocales = memoize(getUserLocalesInternal, { cacheKey: JSON.stringify });\nfunction getUserLocaleInternal(options) {\n return getUserLocales(options)[0] || null;\n}\nexport var getUserLocale = memoize(getUserLocaleInternal, { cacheKey: JSON.stringify });\nexport default getUserLocale;\n","import getUserLocale from 'get-user-locale';\nexport function formatHour(locale, hour) {\n return hour.toLocaleString(locale || getUserLocale() || undefined);\n}\n","function isValidNumber(num) {\n return num !== null && num !== false && !Number.isNaN(Number(num));\n}\nexport function safeMax() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Math.max.apply(Math, args.filter(isValidNumber));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { getHours, getMilliseconds, getMinutes, getSeconds } from '@wojtekmaj/date-utils';\nimport Hand from './Hand.js';\nimport Mark from './Mark.js';\nimport MarkNumber from './MarkNumber.js';\nimport { formatHour as defaultFormatHour } from './shared/hourFormatter.js';\nimport { safeMax } from './shared/utils.js';\n/**\n * Displays a complete clock.\n */\nexport default function Clock(_a) {\n var className = _a.className, _b = _a.formatHour, formatHour = _b === void 0 ? defaultFormatHour : _b, _c = _a.hourHandLength, hourHandLength = _c === void 0 ? 50 : _c, hourHandOppositeLength = _a.hourHandOppositeLength, _d = _a.hourHandWidth, hourHandWidth = _d === void 0 ? 4 : _d, _e = _a.hourMarksLength, hourMarksLength = _e === void 0 ? 10 : _e, _f = _a.hourMarksWidth, hourMarksWidth = _f === void 0 ? 3 : _f, locale = _a.locale, _g = _a.minuteHandLength, minuteHandLength = _g === void 0 ? 70 : _g, minuteHandOppositeLength = _a.minuteHandOppositeLength, _h = _a.minuteHandWidth, minuteHandWidth = _h === void 0 ? 2 : _h, _j = _a.minuteMarksLength, minuteMarksLength = _j === void 0 ? 6 : _j, _k = _a.minuteMarksWidth, minuteMarksWidth = _k === void 0 ? 1 : _k, _l = _a.renderHourMarks, renderHourMarks = _l === void 0 ? true : _l, _m = _a.renderMinuteHand, renderMinuteHand = _m === void 0 ? true : _m, _o = _a.renderMinuteMarks, renderMinuteMarks = _o === void 0 ? true : _o, renderNumbers = _a.renderNumbers, _p = _a.renderSecondHand, renderSecondHand = _p === void 0 ? true : _p, _q = _a.secondHandLength, secondHandLength = _q === void 0 ? 90 : _q, secondHandOppositeLength = _a.secondHandOppositeLength, _r = _a.secondHandWidth, secondHandWidth = _r === void 0 ? 1 : _r, _s = _a.size, size = _s === void 0 ? 150 : _s, useMillisecondPrecision = _a.useMillisecondPrecision, value = _a.value;\n function renderMinuteMarksFn() {\n if (!renderMinuteMarks) {\n return null;\n }\n var minuteMarks = [];\n for (var i = 1; i <= 60; i += 1) {\n var isHourMark = renderHourMarks && !(i % 5);\n if (!isHourMark) {\n minuteMarks.push(_jsx(Mark, { angle: i * 6, length: minuteMarksLength, name: \"minute\", width: minuteMarksWidth }, \"minute_\".concat(i)));\n }\n }\n return minuteMarks;\n }\n function renderHourMarksFn() {\n if (!renderHourMarks) {\n return null;\n }\n var hourMarks = [];\n for (var i = 1; i <= 12; i += 1) {\n hourMarks.push(_jsx(Mark, { angle: i * 30, length: hourMarksLength, name: \"hour\", width: hourMarksWidth }, \"hour_\".concat(i)));\n }\n return hourMarks;\n }\n function renderNumbersFn() {\n if (!renderNumbers) {\n return null;\n }\n var numbers = [];\n for (var i = 1; i <= 12; i += 1) {\n numbers.push(_jsx(MarkNumber, { angle: i * 30, length: safeMax(renderHourMarks && hourMarksLength, renderMinuteMarks && minuteMarksLength, 0), name: \"number\", number: formatHour(locale, i) }, \"number_\".concat(i)));\n }\n return numbers;\n }\n function renderFace() {\n return (_jsxs(\"div\", { className: \"react-clock__face\", children: [renderMinuteMarksFn(), renderHourMarksFn(), renderNumbersFn()] }));\n }\n function renderHourHandFn() {\n var angle = value\n ? getHours(value) * 30 +\n getMinutes(value) / 2 +\n getSeconds(value) / 120 +\n (useMillisecondPrecision ? getMilliseconds(value) / 120000 : 0)\n : 0;\n return (_jsx(Hand, { angle: angle, length: hourHandLength, name: \"hour\", oppositeLength: hourHandOppositeLength, width: hourHandWidth }));\n }\n function renderMinuteHandFn() {\n if (!renderMinuteHand) {\n return null;\n }\n var angle = value\n ? getHours(value) * 360 +\n getMinutes(value) * 6 +\n getSeconds(value) / 10 +\n (useMillisecondPrecision ? getMilliseconds(value) / 10000 : 0)\n : 0;\n return (_jsx(Hand, { angle: angle, length: minuteHandLength, name: \"minute\", oppositeLength: minuteHandOppositeLength, width: minuteHandWidth }));\n }\n function renderSecondHandFn() {\n if (!renderSecondHand) {\n return null;\n }\n var angle = value\n ? getMinutes(value) * 360 +\n getSeconds(value) * 6 +\n (useMillisecondPrecision ? getMilliseconds(value) * 0.006 : 0)\n : 0;\n return (_jsx(Hand, { angle: angle, length: secondHandLength, name: \"second\", oppositeLength: secondHandOppositeLength, width: secondHandWidth }));\n }\n return (_jsxs(\"time\", { className: clsx('react-clock', className), dateTime: value instanceof Date\n ? // Returns a string in the format \"HH:MM\" or \"HH:MM:SS\"\n value.toLocaleTimeString('en', {\n hourCycle: 'h23',\n hour: '2-digit',\n minute: renderMinuteHand ? '2-digit' : undefined,\n second: renderSecondHand ? '2-digit' : undefined,\n })\n : value || undefined, style: {\n width: size,\n height: size,\n }, children: [renderFace(), renderHourHandFn(), renderMinuteHandFn(), renderSecondHandFn()] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Divider({ children }) {\n return _jsx(\"span\", { className: \"react-time-picker__inputGroup__divider\", children: children });\n}\n","export function convert12to24(hour12, amPm) {\n let hour24 = Number(hour12);\n if (amPm === 'am' && hour24 === 12) {\n hour24 = 0;\n }\n else if (amPm === 'pm' && hour24 < 12) {\n hour24 += 12;\n }\n return hour24;\n}\nexport function convert24to12(hour24) {\n const hour12 = Number(hour24) % 12 || 12;\n return [hour12, Number(hour24) < 12 ? 'am' : 'pm'];\n}\n","import getUserLocale from 'get-user-locale';\nconst formatterCache = new Map();\nexport function getFormatter(options) {\n return function formatter(locale, date) {\n const localeWithDefault = locale || getUserLocale();\n if (!formatterCache.has(localeWithDefault)) {\n formatterCache.set(localeWithDefault, new Map());\n }\n const formatterCacheLocale = formatterCache.get(localeWithDefault);\n if (!formatterCacheLocale.has(options)) {\n formatterCacheLocale.set(options, new Intl.DateTimeFormat(localeWithDefault || undefined, options).format);\n }\n return formatterCacheLocale.get(options)(date);\n };\n}\nconst numberFormatterCache = new Map();\nexport function getNumberFormatter(options) {\n return (locale, number) => {\n const localeWithDefault = locale || getUserLocale();\n if (!numberFormatterCache.has(localeWithDefault)) {\n numberFormatterCache.set(localeWithDefault, new Map());\n }\n const numberFormatterCacheLocale = numberFormatterCache.get(localeWithDefault);\n if (!numberFormatterCacheLocale.has(options)) {\n numberFormatterCacheLocale.set(options, new Intl.NumberFormat(localeWithDefault || undefined, options).format);\n }\n return numberFormatterCacheLocale.get(options)(number);\n };\n}\n","import { getFormatter } from './dateFormatter.js';\nconst nines = ['9', '٩'];\nconst ninesRegExp = new RegExp(`[${nines.join('')}]`);\nconst amPmFormatter = getFormatter({ hour: 'numeric' });\nexport function getAmPmLabels(locale) {\n const amString = amPmFormatter(locale, new Date(2017, 0, 1, 9));\n const pmString = amPmFormatter(locale, new Date(2017, 0, 1, 21));\n const [am1, am2] = amString.split(ninesRegExp);\n const [pm1, pm2] = pmString.split(ninesRegExp);\n if (pm2 !== undefined) {\n // If pm2 is undefined, nine was not found in pmString - this locale is not using 12-hour time\n if (am1 !== pm1) {\n return [am1, pm1].map((el) => el.trim());\n }\n if (am2 !== pm2) {\n return [am2, pm2].map((el) => el.trim());\n }\n }\n // Fallback\n return ['AM', 'PM'];\n}\nfunction isValidNumber(num) {\n return num !== null && num !== false && !Number.isNaN(Number(num));\n}\nexport function safeMin(...args) {\n return Math.min(...args.filter(isValidNumber));\n}\nexport function safeMax(...args) {\n return Math.max(...args.filter(isValidNumber));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { getHours } from '@wojtekmaj/date-utils';\nimport clsx from 'clsx';\nimport { convert24to12 } from '../shared/dates.js';\nimport { getAmPmLabels } from '../shared/utils.js';\nexport default function AmPm({ ariaLabel, autoFocus, className, disabled, inputRef, locale, maxTime, minTime, onChange, onKeyDown, required, value, }) {\n const amDisabled = minTime ? convert24to12(getHours(minTime))[1] === 'pm' : false;\n const pmDisabled = maxTime ? convert24to12(getHours(maxTime))[1] === 'am' : false;\n const name = 'amPm';\n const [amLabel, pmLabel] = getAmPmLabels(locale);\n return (_jsxs(\"select\", { \"aria-label\": ariaLabel, \n // biome-ignore lint/a11y/noAutofocus: This is up to developers' decision\n autoFocus: autoFocus, className: clsx(`${className}__input`, `${className}__${name}`), \"data-input\": \"true\", \"data-select\": \"true\", disabled: disabled, name: name, onChange: onChange, onKeyDown: onKeyDown, \n // Assertion is needed for React 18 compatibility\n ref: inputRef, required: required, value: value !== null ? value : '', children: [!value && _jsx(\"option\", { value: \"\", children: \"--\" }), _jsx(\"option\", { disabled: amDisabled, value: \"am\", children: amLabel }), _jsx(\"option\", { disabled: pmDisabled, value: \"pm\", children: pmLabel })] }));\n}\n","var allowedVariants = ['normal', 'small-caps'];\n/**\n * Gets font CSS shorthand property given element.\n *\n * @param {HTMLElement} element Element to get font CSS shorthand property from\n */\nexport function getFontShorthand(element) {\n if (!element) {\n return '';\n }\n var style = window.getComputedStyle(element);\n if (style.font) {\n return style.font;\n }\n var isFontDefined = style.fontFamily !== '';\n if (!isFontDefined) {\n return '';\n }\n var fontVariant = allowedVariants.includes(style.fontVariant) ? style.fontVariant : 'normal';\n return \"\".concat(style.fontStyle, \" \").concat(fontVariant, \" \").concat(style.fontWeight, \" \").concat(style.fontSize, \" / \").concat(style.lineHeight, \" \").concat(style.fontFamily);\n}\nvar cachedCanvas;\n/**\n * Measures text width given text and font CSS shorthand.\n *\n * @param {string} text Text to measure\n * @param {string} font Font to use when measuring the text\n */\nexport function measureText(text, font) {\n var canvas = cachedCanvas || (cachedCanvas = document.createElement('canvas'));\n var context = canvas.getContext('2d');\n // Context type not supported\n if (!context) {\n return null;\n }\n context.font = font;\n var width = context.measureText(text).width;\n return Math.ceil(width);\n}\n/**\n * Updates input element width to fit its content given input element\n * @param {HTMLInputElement} element\n */\nexport function updateInputWidth(element) {\n if (typeof document === 'undefined' || !element) {\n return null;\n }\n var font = getFontShorthand(element);\n var text = element.value || element.placeholder;\n var width = measureText(text, font);\n if (width === null) {\n return null;\n }\n element.style.width = \"\".concat(width, \"px\");\n return width;\n}\nexport default updateInputWidth;\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useLayoutEffect } from 'react';\nimport clsx from 'clsx';\nimport updateInputWidth, { getFontShorthand } from 'update-input-width';\nconst isBrowser = typeof window !== 'undefined';\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nconst isIEOrEdgeLegacy = isBrowser && /(MSIE|Trident\\/|Edge\\/)/.test(navigator.userAgent);\nconst isFirefox = isBrowser && /Firefox/.test(navigator.userAgent);\nfunction onFocus(event) {\n const { target } = event;\n if (isIEOrEdgeLegacy) {\n requestAnimationFrame(() => target.select());\n }\n else {\n target.select();\n }\n}\nfunction updateInputWidthOnLoad(element) {\n if (document.readyState === 'complete') {\n return;\n }\n function onLoad() {\n updateInputWidth(element);\n }\n window.addEventListener('load', onLoad);\n}\nfunction updateInputWidthOnFontLoad(element) {\n if (!document.fonts) {\n return;\n }\n const font = getFontShorthand(element);\n if (!font) {\n return;\n }\n const isFontLoaded = document.fonts.check(font);\n if (isFontLoaded) {\n return;\n }\n function onLoadingDone() {\n updateInputWidth(element);\n }\n document.fonts.addEventListener('loadingdone', onLoadingDone);\n}\nfunction getSelectionString(input) {\n /**\n * window.getSelection().toString() returns empty string in IE11 and Firefox,\n * so alternatives come first.\n */\n if (input &&\n 'selectionStart' in input &&\n input.selectionStart !== null &&\n 'selectionEnd' in input &&\n input.selectionEnd !== null) {\n return input.value.slice(input.selectionStart, input.selectionEnd);\n }\n if ('getSelection' in window) {\n const selection = window.getSelection();\n return selection === null || selection === void 0 ? void 0 : selection.toString();\n }\n return null;\n}\nfunction makeOnKeyPress(maxLength) {\n if (maxLength === null) {\n return undefined;\n }\n /**\n * Prevents keystrokes that would not produce a number or when value after keystroke would\n * exceed maxLength.\n */\n return function onKeyPress(event) {\n if (isFirefox) {\n // See https://github.com/wojtekmaj/react-time-picker/issues/92\n return;\n }\n const { key, target: input } = event;\n const { value } = input;\n const isNumberKey = key.length === 1 && /\\d/.test(key);\n const selection = getSelectionString(input);\n if (!isNumberKey || !(selection || value.length < maxLength)) {\n event.preventDefault();\n }\n };\n}\nexport default function Input({ ariaLabel, autoFocus, className, disabled, inputRef, max, min, name, nameForClass, onChange, onKeyDown, onKeyUp, placeholder = '--', required, showLeadingZeros, step, value, }) {\n useIsomorphicLayoutEffect(() => {\n if (!inputRef || !inputRef.current) {\n return;\n }\n updateInputWidth(inputRef.current);\n updateInputWidthOnLoad(inputRef.current);\n updateInputWidthOnFontLoad(inputRef.current);\n }, [inputRef, value]);\n const hasLeadingZero = showLeadingZeros &&\n value &&\n Number(value) < 10 &&\n (value === '0' || !value.toString().startsWith('0'));\n const maxLength = max ? max.toString().length : null;\n return (_jsxs(_Fragment, { children: [hasLeadingZero ? _jsx(\"span\", { className: `${className}__leadingZero`, children: \"0\" }) : null, _jsx(\"input\", { \"aria-label\": ariaLabel, autoComplete: \"off\", \n // biome-ignore lint/a11y/noAutofocus: This is up to developers' decision\n autoFocus: autoFocus, className: clsx(`${className}__input`, `${className}__${nameForClass || name}`, hasLeadingZero && `${className}__input--hasLeadingZero`), \"data-input\": \"true\", disabled: disabled, inputMode: \"numeric\", max: max, min: min, name: name, onChange: onChange, onFocus: onFocus, onKeyDown: onKeyDown, onKeyPress: makeOnKeyPress(maxLength), onKeyUp: (event) => {\n updateInputWidth(event.target);\n if (onKeyUp) {\n onKeyUp(event);\n }\n }, placeholder: placeholder, \n // Assertion is needed for React 18 compatibility\n ref: inputRef, required: required, step: step, type: \"number\", value: value !== null ? value : '' })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { convert24to12 } from '../shared/dates.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function Hour12Input({ amPm, maxTime, minTime, value, ...otherProps }) {\n const maxHour = safeMin(12, maxTime &&\n (() => {\n const [maxHourResult, maxAmPm] = convert24to12(getHours(maxTime));\n if (maxAmPm !== amPm) {\n // pm is always after am, so we should ignore validation\n return null;\n }\n return maxHourResult;\n })());\n const minHour = safeMax(1, minTime &&\n (() => {\n const [minHourResult, minAmPm] = convert24to12(getHours(minTime));\n if (\n // pm is always after am, so we should ignore validation\n minAmPm !== amPm ||\n // If minHour is 12 am/pm, user should be able to enter 12, 1, ..., 11.\n minHourResult === 12) {\n return null;\n }\n return minHourResult;\n })());\n const value12 = value ? convert24to12(value)[0].toString() : '';\n return (_jsx(Input, { max: maxHour, min: minHour, name: \"hour12\", nameForClass: \"hour\", value: value12, ...otherProps }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function Hour24Input({ maxTime, minTime, ...otherProps }) {\n const maxHour = safeMin(23, maxTime && getHours(maxTime));\n const minHour = safeMax(0, minTime && getHours(minTime));\n return _jsx(Input, { max: maxHour, min: minHour, name: \"hour24\", nameForClass: \"hour\", ...otherProps });\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours, getMinutes } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function MinuteInput({ hour, maxTime, minTime, showLeadingZeros = true, ...otherProps }) {\n function isSameHour(date) {\n return hour === getHours(date).toString();\n }\n const maxMinute = safeMin(59, maxTime && isSameHour(maxTime) && getMinutes(maxTime));\n const minMinute = safeMax(0, minTime && isSameHour(minTime) && getMinutes(minTime));\n return (_jsx(Input, { max: maxMinute, min: minMinute, name: \"minute\", showLeadingZeros: showLeadingZeros, ...otherProps }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours, getHoursMinutes, getHoursMinutesSeconds } from '@wojtekmaj/date-utils';\nexport default function NativeInput({ ariaLabel, disabled, maxTime, minTime, name, onChange, required, value, valueType, }) {\n const nativeValueParser = (() => {\n switch (valueType) {\n case 'hour':\n return (receivedValue) => `${getHours(receivedValue)}:00`;\n case 'minute':\n return getHoursMinutes;\n case 'second':\n return getHoursMinutesSeconds;\n default:\n throw new Error('Invalid valueType');\n }\n })();\n const step = (() => {\n switch (valueType) {\n case 'hour':\n return 3600;\n case 'minute':\n return 60;\n case 'second':\n return 1;\n default:\n throw new Error('Invalid valueType');\n }\n })();\n function stopPropagation(event) {\n event.stopPropagation();\n }\n return (_jsx(\"input\", { \"aria-label\": ariaLabel, disabled: disabled, hidden: true, max: maxTime ? nativeValueParser(maxTime) : undefined, min: minTime ? nativeValueParser(minTime) : undefined, name: name, onChange: onChange, onFocus: stopPropagation, required: required, step: step, style: {\n visibility: 'hidden',\n position: 'absolute',\n zIndex: '-999',\n }, type: \"time\", value: value ? nativeValueParser(value) : '' }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours, getMinutes, getSeconds } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function SecondInput({ hour, maxTime, minTime, minute, showLeadingZeros = true, ...otherProps }) {\n function isSameMinute(date) {\n return hour === getHours(date).toString() && minute === getMinutes(date).toString();\n }\n const maxSecond = safeMin(59, maxTime && isSameMinute(maxTime) && getSeconds(maxTime));\n const minSecond = safeMax(0, minTime && isSameMinute(minTime) && getSeconds(minTime));\n return (_jsx(Input, { max: maxSecond, min: minSecond, name: \"second\", showLeadingZeros: showLeadingZeros, ...otherProps }));\n}\n","'use client';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef, useState } from 'react';\nimport { getHours, getHoursMinutes, getHoursMinutesSeconds, getMinutes, getSeconds, } from '@wojtekmaj/date-utils';\nimport Divider from './Divider.js';\nimport AmPm from './TimeInput/AmPm.js';\nimport Hour12Input from './TimeInput/Hour12Input.js';\nimport Hour24Input from './TimeInput/Hour24Input.js';\nimport MinuteInput from './TimeInput/MinuteInput.js';\nimport NativeInput from './TimeInput/NativeInput.js';\nimport SecondInput from './TimeInput/SecondInput.js';\nimport { getFormatter, getNumberFormatter } from './shared/dateFormatter.js';\nimport { convert12to24, convert24to12 } from './shared/dates.js';\nimport { getAmPmLabels } from './shared/utils.js';\nconst getFormatterOptionsCache = {};\nconst allViews = ['hour', 'minute', 'second'];\nfunction isInternalInput(element) {\n return element.dataset.input === 'true';\n}\nfunction findInput(element, property) {\n let nextElement = element;\n do {\n nextElement = nextElement[property];\n } while (nextElement && !isInternalInput(nextElement));\n return nextElement;\n}\nfunction focus(element) {\n if (element) {\n element.focus();\n }\n}\nfunction renderCustomInputs(placeholder, elementFunctions, allowMultipleInstances) {\n const usedFunctions = [];\n const pattern = new RegExp(Object.keys(elementFunctions)\n .map((el) => `${el}+`)\n .join('|'), 'g');\n const matches = placeholder.match(pattern);\n return placeholder.split(pattern).reduce((arr, element, index) => {\n const divider = element && (\n // biome-ignore lint/suspicious/noArrayIndexKey: index is stable here\n _jsx(Divider, { children: element }, `separator_${index}`));\n arr.push(divider);\n const currentMatch = matches === null || matches === void 0 ? void 0 : matches[index];\n if (currentMatch) {\n const renderFunction = elementFunctions[currentMatch] ||\n elementFunctions[Object.keys(elementFunctions).find((elementFunction) => currentMatch.match(elementFunction))];\n if (!renderFunction) {\n return arr;\n }\n if (!allowMultipleInstances && usedFunctions.includes(renderFunction)) {\n arr.push(currentMatch);\n }\n else {\n arr.push(renderFunction(currentMatch, index));\n usedFunctions.push(renderFunction);\n }\n }\n return arr;\n }, []);\n}\nconst formatNumber = getNumberFormatter({ useGrouping: false });\nexport default function TimeInput({ amPmAriaLabel, autoFocus, className, disabled, format, hourAriaLabel, hourPlaceholder, isClockOpen: isClockOpenProps = null, locale, maxDetail = 'minute', maxTime, minTime, minuteAriaLabel, minutePlaceholder, name = 'time', nativeInputAriaLabel, onChange: onChangeProps, onInvalidChange, required, secondAriaLabel, secondPlaceholder, value: valueProps, }) {\n const [amPm, setAmPm] = useState(null);\n const [hour, setHour] = useState(null);\n const [minute, setMinute] = useState(null);\n const [second, setSecond] = useState(null);\n const [value, setValue] = useState(null);\n const amPmInput = useRef(null);\n const hour12Input = useRef(null);\n const hour24Input = useRef(null);\n const minuteInput = useRef(null);\n const secondInput = useRef(null);\n const [isClockOpen, setIsClockOpen] = useState(isClockOpenProps);\n const lastPressedKey = useRef(undefined);\n useEffect(() => {\n setIsClockOpen(isClockOpenProps);\n }, [isClockOpenProps]);\n // biome-ignore lint/correctness/useExhaustiveDependencies: useEffect intentionally triggered on props change\n useEffect(() => {\n const nextValue = valueProps;\n if (nextValue) {\n setAmPm(convert24to12(getHours(nextValue))[1]);\n setHour(getHours(nextValue).toString());\n setMinute(getMinutes(nextValue).toString());\n setSecond(getSeconds(nextValue).toString());\n setValue(nextValue);\n }\n else {\n setAmPm(null);\n setHour(null);\n setMinute(null);\n setSecond(null);\n setValue(null);\n }\n }, [\n valueProps,\n minTime,\n maxTime,\n maxDetail,\n // Toggling clock visibility resets values\n isClockOpen,\n ]);\n const valueType = maxDetail;\n const formatTime = (() => {\n const level = allViews.indexOf(maxDetail);\n const formatterOptions = getFormatterOptionsCache[level] ||\n (() => {\n const options = { hour: 'numeric' };\n if (level >= 1) {\n options.minute = 'numeric';\n }\n if (level >= 2) {\n options.second = 'numeric';\n }\n getFormatterOptionsCache[level] = options;\n return options;\n })();\n return getFormatter(formatterOptions);\n })();\n /**\n * Gets current value in a desired format.\n */\n function getProcessedValue(value) {\n const processFunction = (() => {\n switch (valueType) {\n case 'hour':\n case 'minute':\n return getHoursMinutes;\n case 'second':\n return getHoursMinutesSeconds;\n default:\n throw new Error('Invalid valueType');\n }\n })();\n return processFunction(value);\n }\n const placeholder = format ||\n (() => {\n const hour24 = 21;\n const hour12 = 9;\n const minute = 13;\n const second = 14;\n const date = new Date(2017, 0, 1, hour24, minute, second);\n return formatTime(locale, date)\n .replace(formatNumber(locale, hour12), 'h')\n .replace(formatNumber(locale, hour24), 'H')\n .replace(formatNumber(locale, minute), 'mm')\n .replace(formatNumber(locale, second), 'ss')\n .replace(new RegExp(getAmPmLabels(locale).join('|')), 'a');\n })();\n const divider = (() => {\n const dividers = placeholder.match(/[^0-9a-z]/i);\n return dividers ? dividers[0] : null;\n })();\n function onClick(event) {\n if (event.target === event.currentTarget) {\n // Wrapper was directly clicked\n const firstInput = event.target.children[1];\n focus(firstInput);\n }\n }\n function onKeyDown(event) {\n lastPressedKey.current = event.key;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case divider: {\n event.preventDefault();\n const { target: input } = event;\n const property = event.key === 'ArrowLeft' ? 'previousElementSibling' : 'nextElementSibling';\n const nextInput = findInput(input, property);\n focus(nextInput);\n break;\n }\n default:\n }\n }\n function onKeyUp(event) {\n const { key, target: input } = event;\n const isLastPressedKey = lastPressedKey.current === key;\n if (!isLastPressedKey) {\n return;\n }\n const isNumberKey = !Number.isNaN(Number(key));\n if (!isNumberKey) {\n return;\n }\n const max = input.getAttribute('max');\n if (!max) {\n return;\n }\n const { value } = input;\n /**\n * Given 1, the smallest possible number the user could type by adding another digit is 10.\n * 10 would be a valid value given max = 12, so we won't jump to the next input.\n * However, given 2, smallers possible number would be 20, and thus keeping the focus in\n * this field doesn't make sense.\n */\n if (Number(value) * 10 > Number(max) || value.length >= max.length) {\n const property = 'nextElementSibling';\n const nextInput = findInput(input, property);\n focus(nextInput);\n }\n }\n /**\n * Called after internal onChange. Checks input validity. If all fields are valid,\n * calls props.onChange.\n */\n function onChangeExternal() {\n if (!onChangeProps) {\n return;\n }\n function filterBoolean(value) {\n return Boolean(value);\n }\n const formElements = [\n amPmInput.current,\n hour12Input.current,\n hour24Input.current,\n minuteInput.current,\n secondInput.current,\n ].filter(filterBoolean);\n const formElementsWithoutSelect = formElements.slice(1);\n const values = {};\n for (const formElement of formElements) {\n values[formElement.name] =\n formElement.type === 'number' ? formElement.valueAsNumber : formElement.value;\n }\n const isEveryValueEmpty = formElementsWithoutSelect.every((formElement) => !formElement.value);\n if (isEveryValueEmpty) {\n onChangeProps(null, false);\n return;\n }\n const isEveryValueFilled = formElements.every((formElement) => formElement.value);\n const isEveryValueValid = formElements.every((formElement) => formElement.validity.valid);\n if (isEveryValueFilled && isEveryValueValid) {\n const hour = Number(values.hour24 ||\n (values.hour12 && values.amPm && convert12to24(values.hour12, values.amPm)) ||\n 0);\n const minute = Number(values.minute || 0);\n const second = Number(values.second || 0);\n const padStart = (num) => `0${num}`.slice(-2);\n const proposedValue = `${padStart(hour)}:${padStart(minute)}:${padStart(second)}`;\n const processedValue = getProcessedValue(proposedValue);\n onChangeProps(processedValue, false);\n return;\n }\n if (!onInvalidChange) {\n return;\n }\n onInvalidChange();\n }\n /**\n * Called when non-native date input is changed.\n */\n function onChange(event) {\n const { name, value } = event.target;\n switch (name) {\n case 'amPm':\n setAmPm(value);\n break;\n case 'hour12':\n setHour(value ? convert12to24(value, amPm || 'am').toString() : '');\n break;\n case 'hour24':\n setHour(value);\n break;\n case 'minute':\n setMinute(value);\n break;\n case 'second':\n setSecond(value);\n break;\n }\n onChangeExternal();\n }\n /**\n * Called when native date input is changed.\n */\n function onChangeNative(event) {\n const { value } = event.target;\n if (!onChangeProps) {\n return;\n }\n const processedValue = value || null;\n onChangeProps(processedValue, false);\n }\n const commonInputProps = {\n className,\n disabled,\n maxTime,\n minTime,\n onChange,\n onKeyDown,\n onKeyUp,\n // This is only for showing validity when editing\n required: Boolean(required || isClockOpen),\n };\n function renderHour12(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : false;\n return (_jsx(Hour12Input, { ...commonInputProps, amPm: amPm, ariaLabel: hourAriaLabel, autoFocus: index === 0 && autoFocus, inputRef: hour12Input, placeholder: hourPlaceholder, showLeadingZeros: showLeadingZeros, value: hour }, \"hour12\"));\n }\n function renderHour24(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : false;\n return (_jsx(Hour24Input, { ...commonInputProps, ariaLabel: hourAriaLabel, autoFocus: index === 0 && autoFocus, inputRef: hour24Input, placeholder: hourPlaceholder, showLeadingZeros: showLeadingZeros, value: hour }, \"hour24\"));\n }\n function renderHour(currentMatch, index) {\n if (/h/.test(currentMatch)) {\n return renderHour12(currentMatch, index);\n }\n return renderHour24(currentMatch, index);\n }\n function renderMinute(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : false;\n return (_jsx(MinuteInput, { ...commonInputProps, ariaLabel: minuteAriaLabel, autoFocus: index === 0 && autoFocus, hour: hour, inputRef: minuteInput, placeholder: minutePlaceholder, showLeadingZeros: showLeadingZeros, value: minute }, \"minute\"));\n }\n function renderSecond(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : true;\n return (_jsx(SecondInput, { ...commonInputProps, ariaLabel: secondAriaLabel, autoFocus: index === 0 && autoFocus, hour: hour, inputRef: secondInput, minute: minute, placeholder: secondPlaceholder, showLeadingZeros: showLeadingZeros, value: second }, \"second\"));\n }\n function renderAmPm(_currentMatch, index) {\n return (_jsx(AmPm, { ...commonInputProps, ariaLabel: amPmAriaLabel, autoFocus: index === 0 && autoFocus, inputRef: amPmInput, locale: locale, onChange: onChange, value: amPm }, \"ampm\"));\n }\n function renderCustomInputsInternal() {\n const elementFunctions = {\n h: renderHour,\n H: renderHour,\n m: renderMinute,\n s: renderSecond,\n a: renderAmPm,\n };\n const allowMultipleInstances = typeof format !== 'undefined';\n return renderCustomInputs(placeholder, elementFunctions, allowMultipleInstances);\n }\n function renderNativeInput() {\n return (_jsx(NativeInput, { ariaLabel: nativeInputAriaLabel, disabled: disabled, maxTime: maxTime, minTime: minTime, name: name, onChange: onChangeNative, required: required, value: value, valueType: valueType }, \"time\"));\n }\n return (\n // biome-ignore lint/a11y/useKeyWithClickEvents: This interaction is designed for mouse users only\n // biome-ignore lint/a11y/noStaticElementInteractions: This interaction is designed for mouse users only\n _jsxs(\"div\", { className: className, onClick: onClick, children: [renderNativeInput(), renderCustomInputsInternal()] }));\n}\n","'use client';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport clsx from 'clsx';\nimport makeEventProps from 'make-event-props';\nimport Clock from 'react-clock';\nimport Fit from 'react-fit';\nimport TimeInput from './TimeInput.js';\nconst baseClassName = 'react-time-picker';\nconst outsideActionEvents = ['mousedown', 'focusin', 'touchstart'];\nconst iconProps = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 19,\n height: 19,\n viewBox: '0 0 19 19',\n stroke: 'black',\n strokeWidth: 2,\n};\nconst ClockIcon = (_jsxs(\"svg\", { ...iconProps, \"aria-hidden\": \"true\", className: `${baseClassName}__clock-button__icon ${baseClassName}__button__icon`, fill: \"none\", children: [_jsx(\"circle\", { cx: \"9.5\", cy: \"9.5\", r: \"7.5\" }), _jsx(\"path\", { d: \"M9.5 4.5 v5 h4\" })] }));\nconst ClearIcon = (_jsxs(\"svg\", { ...iconProps, \"aria-hidden\": \"true\", className: `${baseClassName}__clear-button__icon ${baseClassName}__button__icon`, children: [_jsx(\"line\", { x1: \"4\", x2: \"15\", y1: \"4\", y2: \"15\" }), _jsx(\"line\", { x1: \"15\", x2: \"4\", y1: \"4\", y2: \"15\" })] }));\nexport default function TimePicker(props) {\n const { amPmAriaLabel, autoFocus, className, clearAriaLabel, clearIcon = ClearIcon, clockAriaLabel, clockIcon = ClockIcon, closeClock: shouldCloseClockOnSelect = true, 'data-testid': dataTestid, hourAriaLabel, hourPlaceholder, disableClock, disabled, format, id, isOpen: isOpenProps = null, locale, maxTime, maxDetail = 'minute', minTime, minuteAriaLabel, minutePlaceholder, name = 'time', nativeInputAriaLabel, onClockClose, onClockOpen, onChange: onChangeProps, onFocus: onFocusProps, onInvalidChange, openClockOnFocus = true, required, value, secondAriaLabel, secondPlaceholder, shouldCloseClock, shouldOpenClock, ...otherProps } = props;\n const [isOpen, setIsOpen] = useState(isOpenProps);\n const wrapper = useRef(null);\n const clockWrapper = useRef(null);\n useEffect(() => {\n setIsOpen(isOpenProps);\n }, [isOpenProps]);\n function openClock({ reason }) {\n if (shouldOpenClock) {\n if (!shouldOpenClock({ reason })) {\n return;\n }\n }\n setIsOpen(true);\n if (onClockOpen) {\n onClockOpen();\n }\n }\n const closeClock = useCallback(({ reason }) => {\n if (shouldCloseClock) {\n if (!shouldCloseClock({ reason })) {\n return;\n }\n }\n setIsOpen(false);\n if (onClockClose) {\n onClockClose();\n }\n }, [onClockClose, shouldCloseClock]);\n function toggleClock() {\n if (isOpen) {\n closeClock({ reason: 'buttonClick' });\n }\n else {\n openClock({ reason: 'buttonClick' });\n }\n }\n function onChange(value, shouldCloseClock = shouldCloseClockOnSelect) {\n if (shouldCloseClock) {\n closeClock({ reason: 'select' });\n }\n if (onChangeProps) {\n onChangeProps(value);\n }\n }\n function onFocus(event) {\n if (onFocusProps) {\n onFocusProps(event);\n }\n if (\n // Internet Explorer still fires onFocus on disabled elements\n disabled ||\n isOpen ||\n !openClockOnFocus ||\n event.target.dataset.select === 'true') {\n return;\n }\n openClock({ reason: 'focus' });\n }\n const onKeyDown = useCallback((event) => {\n if (event.key === 'Escape') {\n closeClock({ reason: 'escape' });\n }\n }, [closeClock]);\n function clear() {\n onChange(null);\n }\n function stopPropagation(event) {\n event.stopPropagation();\n }\n const onOutsideAction = useCallback((event) => {\n const { current: wrapperEl } = wrapper;\n const { current: clockWrapperEl } = clockWrapper;\n // Try event.composedPath first to handle clicks inside a Shadow DOM.\n const target = ('composedPath' in event ? event.composedPath()[0] : event.target);\n if (target &&\n wrapperEl &&\n !wrapperEl.contains(target) &&\n (!clockWrapperEl || !clockWrapperEl.contains(target))) {\n closeClock({ reason: 'outsideAction' });\n }\n }, [closeClock]);\n const handleOutsideActionListeners = useCallback((shouldListen = isOpen) => {\n for (const event of outsideActionEvents) {\n if (shouldListen) {\n document.addEventListener(event, onOutsideAction);\n }\n else {\n document.removeEventListener(event, onOutsideAction);\n }\n }\n if (shouldListen) {\n document.addEventListener('keydown', onKeyDown);\n }\n else {\n document.removeEventListener('keydown', onKeyDown);\n }\n }, [isOpen, onOutsideAction, onKeyDown]);\n useEffect(() => {\n handleOutsideActionListeners();\n return () => {\n handleOutsideActionListeners(false);\n };\n }, [handleOutsideActionListeners]);\n function renderInputs() {\n const [valueFrom] = Array.isArray(value) ? value : [value];\n const ariaLabelProps = {\n amPmAriaLabel,\n hourAriaLabel,\n minuteAriaLabel,\n nativeInputAriaLabel,\n secondAriaLabel,\n };\n const placeholderProps = {\n hourPlaceholder,\n minutePlaceholder,\n secondPlaceholder,\n };\n return (_jsxs(\"div\", { className: `${baseClassName}__wrapper`, children: [_jsx(TimeInput, { ...ariaLabelProps, ...placeholderProps, autoFocus: autoFocus, className: `${baseClassName}__inputGroup`, disabled: disabled, format: format, isClockOpen: isOpen, locale: locale, maxDetail: maxDetail, maxTime: maxTime, minTime: minTime, name: name, onChange: onChange, onInvalidChange: onInvalidChange, required: required, value: valueFrom }), clearIcon !== null && (_jsx(\"button\", { \"aria-label\": clearAriaLabel, className: `${baseClassName}__clear-button ${baseClassName}__button`, disabled: disabled, onClick: clear, onFocus: stopPropagation, type: \"button\", children: typeof clearIcon === 'function' ? createElement(clearIcon) : clearIcon })), clockIcon !== null && !disableClock && (_jsx(\"button\", { \"aria-expanded\": isOpen || false, \"aria-label\": clockAriaLabel, className: `${baseClassName}__clock-button ${baseClassName}__button`, disabled: disabled, onClick: toggleClock, onFocus: stopPropagation, type: \"button\", children: typeof clockIcon === 'function' ? createElement(clockIcon) : clockIcon }))] }));\n }\n function renderClock() {\n if (isOpen === null || disableClock) {\n return null;\n }\n const { clockProps, portalContainer, value } = props;\n const className = `${baseClassName}__clock`;\n const classNames = clsx(className, `${className}--${isOpen ? 'open' : 'closed'}`);\n const [valueFrom] = Array.isArray(value) ? value : [value];\n const clock = _jsx(Clock, { locale: locale, value: valueFrom, ...clockProps });\n return portalContainer ? (createPortal(_jsx(\"div\", { ref: clockWrapper, className: classNames, children: clock }), portalContainer)) : (_jsx(Fit, { children: _jsx(\"div\", { ref: (ref) => {\n if (ref && !isOpen) {\n ref.removeAttribute('style');\n }\n }, className: classNames, children: clock }) }));\n }\n const eventProps = useMemo(() => makeEventProps(otherProps), \n // biome-ignore lint/correctness/useExhaustiveDependencies: FIXME\n [otherProps]);\n return (\n // biome-ignore lint/a11y/noStaticElementInteractions: False positive caused by non interactive wrapper listening for bubbling events\n _jsxs(\"div\", { className: clsx(baseClassName, `${baseClassName}--${isOpen ? 'open' : 'closed'}`, `${baseClassName}--${disabled ? 'disabled' : 'enabled'}`, className), \"data-testid\": dataTestid, id: id, ...eventProps, onFocus: onFocus, ref: wrapper, children: [renderInputs(), renderClock()] }));\n}\n","import styled from \"styled-components\";\n\nexport const TimePickerInputStyled = styled.div<{ isInvalid?: boolean }>`\n\twidth: auto;\n\n\t.react-time-picker {\n\t\tdisplay: inline-flex;\n\t\tposition: relative;\n\t\tmin-width: 86px;\n\t}\n\n\t.react-time-picker,\n\t.react-time-picker *,\n\t.react-time-picker *:before,\n\t.react-time-picker *:after {\n\t\t-moz-box-sizing: border-box;\n\t\t-webkit-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\t.react-time-picker--disabled {\n\t\tbackground-color: #f0f0f0;\n\t\tcolor: #6d6d6d;\n\t}\n\t.react-time-picker__wrapper {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 0;\n\t\tborder: 1px solid ${({ isInvalid }) => (isInvalid ? \"var(--color-danger-default)\" : \"var(--input)\")};\n\t\tbackground-color: var(--select-input-bg);\n\t\tborder-radius: var(--radius-medium);\n\t\twidth: 100%;\n\t\theight: var(--input-default);\n\t\tpadding: 0 6px;\n\t\ttransition: border-color 120ms ease;\n\n\t\t&:focus-within {\n\t\t\tborder-color: ${({ isInvalid }) => (isInvalid ? \"var(--color-danger-default)\" : \"var(--color-primary-default)\")};\n\t\t\tbox-shadow: 0 0 0 3px\n\t\t\t\t${({ isInvalid }) =>\n\t\t\t\t\tisInvalid ? \"color-mix(in srgb, var(--color-danger-default) 20%, transparent)\" : \"color-mix(in srgb, var(--color-primary-default) 20%, transparent)\"};\n\t\t}\n\t}\n\t.react-time-picker__inputGroup {\n\t\tpadding: 0;\n\t\tmin-width: unset;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\t.react-time-picker__inputGroup__divider {\n\t\tpadding: 1px 0;\n\t\twhite-space: pre;\n\t}\n\t.react-time-picker__inputGroup__leadingZero {\n\t\tfont-weight: 400;\n\t\tfont-size: 14px;\n\t\tcolor: inherit;\n\t}\n\t.react-time-picker__inputGroup__input {\n\t\tmin-width: 0.54em;\n\t\theight: auto;\n\t\tposition: relative;\n\t\tpadding: 0 1px;\n\t\tborder: 0;\n\t\tbackground: none;\n\t\tfont: inherit;\n\t\tbox-sizing: content-box;\n\t\t-moz-appearance: textfield;\n\t\tfont-weight: 400;\n\t\tfont-size: 14px;\n\t\tcolor: inherit;\n\t\toutline: none;\n\t\tborder-radius: var(--radius-small);\n\t}\n\t.react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n\t.react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n\t\t-webkit-appearance: none;\n\t\tmargin: 0;\n\t}\n\t.react-time-picker__inputGroup__input:invalid {\n\t\tbackground: rgba(245, 65, 128, 0.1);\n\t}\n\t.react-time-picker__inputGroup__input--hasLeadingZero {\n\t\tmargin-left: -0.54em;\n\t\tpadding-left: calc(1px + 0.54em);\n\t}\n\t.react-time-picker__inputGroup__amPm {\n\t\tdisplay: none;\n\t\tfont: inherit;\n\t\t-moz-appearance: menulist;\n\t}\n\t.react-time-picker__button {\n\t\tborder: 0;\n\t\tbackground: transparent;\n\t\tpadding: 2px 2px;\n\t\tmargin-left: auto;\n\t\twidth: 20px;\n\t}\n\t.react-time-picker__button:enabled {\n\t\tcursor: pointer;\n\t\topacity: 0.7;\n\t}\n\n\t.react-time-picker__button:enabled:hover,\n\t.react-time-picker__button:enabled:focus {\n\t\topacity: 1;\n\t}\n\t.react-time-picker__button:enabled:hover .react-time-picker__button__icon,\n\t.react-time-picker__button:enabled:focus .react-time-picker__button__icon {\n\t\topacity: 1;\n\t}\n\t.react-time-picker__button:disabled .react-time-picker__button__icon {\n\t\tstroke: #6d6d6d;\n\t}\n\t.react-time-picker__button svg {\n\t\tdisplay: inherit;\n\t}\n\t.react-time-picker__clock {\n\t\twidth: 200px;\n\t\theight: 200px;\n\t\tmax-width: 100vw;\n\t\tpadding: 25px;\n\t\tbackground-color: white;\n\t\tborder: thin solid #a0a096;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tleft: 0;\n\t\tz-index: 1;\n\t}\n\t.react-time-picker__clock--closed {\n\t\tdisplay: none;\n\t}\n`;\n","import TimePicker, { type TimePickerProps } from \"react-time-picker\";\nimport { useEffect, useId, useRef } from \"react\";\nimport { TimePickerInputStyled } from \"./time-picker.styled\";\nimport { cn } from \"@/lib/utils\";\nimport { LabelError } from \"../ui\";\n\nexport interface TimePickerInputProps extends TimePickerProps {\n\tid?: string;\n\tonChange: (value: string | null) => void;\n\ttime: string | null;\n\tname: string;\n\thandleAddTime?: (e: any) => void;\n\tdisabled?: boolean;\n\tlabel?: string;\n\trequired?: boolean;\n\tisClearable?: boolean;\n\terror?: string;\n\ttouched?: boolean;\n\tisErrorText?: boolean;\n\tonBlurField?: (name: string) => void;\n}\n\nexport const TimePickerInput = ({\n\tonChange,\n\ttime,\n\tname,\n\thandleAddTime,\n\tid,\n\tlabel,\n\trequired = false,\n\tisClearable = true,\n\terror,\n\ttouched,\n\tonBlurField,\n\tisErrorText = true,\n\tdisabled = false,\n\t...rest\n}: TimePickerInputProps) => {\n\tconst refTimePicker = useRef<HTMLInputElement>(null);\n\n\tconst inputId = useId();\n\tconst resolvedId = id || inputId;\n\n\tconst isInvalid = !disabled && !!error && touched;\n\n\tconst labelClass = cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\n\t\t\"text-danger\": isInvalid,\n\t});\n\n\tuseEffect(() => {\n\t\tconst keyDownHandler = (event: any) => {\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (handleAddTime) handleAddTime(event);\n\t\t\t}\n\t\t};\n\n\t\tif (refTimePicker.current) {\n\t\t\trefTimePicker.current.addEventListener(\"keydown\", keyDownHandler);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (refTimePicker.current) {\n\t\t\t\trefTimePicker.current.removeEventListener(\"keydown\", keyDownHandler);\n\t\t\t}\n\t\t};\n\t}, [handleAddTime, name]);\n\n\treturn (\n\t\t<TimePickerInputStyled\n\t\t\tref={refTimePicker}\n\t\t\tisInvalid={isInvalid}\n\t\t\tclassName=\"time-picker-input relative flex flex-col\"\n\t\t\tonBlurCapture={() => onBlurField?.(name)}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\n\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\n\t\t\t\t</label>\n\t\t\t)}\n\t\t\t<TimePicker\n\t\t\t\tid={resolvedId}\n\t\t\t\tname={name}\n\t\t\t\tvalue={time}\n\t\t\t\tonChange={onChange}\n\t\t\t\tamPmAriaLabel=\"n/a\"\n\t\t\t\tdisableClock\n\t\t\t\tformat=\"HH:mm a\"\n\t\t\t\thourPlaceholder=\"hh\"\n\t\t\t\tminutePlaceholder=\"mm\"\n\t\t\t\tdisabled={disabled}\n\t\t\t\trequired={required}\n\t\t\t\tclearIcon={\n\t\t\t\t\tisClearable ? (\n\t\t\t\t\t\t<svg aria-hidden=\"true\" focusable=\"false\" height=\"1em\" role=\"presentation\" viewBox=\"0 0 24 24\" width=\"1em\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\t{...rest}\n\t\t\t/>\n {!disabled && error && touched && isErrorText && <LabelError text={error} />}\n\t\t</TimePickerInputStyled>\n\t);\n};\n"],"names":["_jsx","memo","Mark","MarkNumber","isValidNumber","safeMax","formatHour","defaultFormatHour","_jsxs","useLayoutEffect","useEffect","_Fragment","useState","useRef","value","minute","second","hour","padStart","name","useCallback","shouldCloseClock","onFocus","createElement","className","createPortal","Fit","useMemo","makeEventProps","TimePickerInputStyled","styled","div","isInvalid","TimePickerInput","t0","$","_c","error","handleAddTime","id","label","onBlurField","onChange","rest","t1","t2","t3","t4","time","touched","required","isClearable","isErrorText","disabled","undefined","refTimePicker","inputId","useId","resolvedId","t5","cn","labelClass","t6","keyDownHandler","event","key","preventDefault","current","addEventListener","removeEventListener","t7","t8","t9","jsxs","jsx","t10","t11","t12","LabelError","t13"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../node_modules/.pnpm/@wojtekmaj+date-utils@2.0.2/node_modules/@wojtekmaj/date-utils/dist/index.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/Hand.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/Mark.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/MarkNumber.js","../../node_modules/.pnpm/mimic-function@5.0.1/node_modules/mimic-function/index.js","../../node_modules/.pnpm/memoize@10.2.0/node_modules/memoize/distribution/index.js","../../node_modules/.pnpm/get-user-locale@3.0.0/node_modules/get-user-locale/dist/index.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/shared/hourFormatter.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/shared/utils.js","../../node_modules/.pnpm/react-clock@6.0.0_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-clock/dist/Clock.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/Divider.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/shared/dates.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/shared/dateFormatter.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/shared/utils.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/AmPm.js","../../node_modules/.pnpm/update-input-width@1.4.2/node_modules/update-input-width/dist/esm/index.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/Input.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/Hour12Input.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/Hour24Input.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/MinuteInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/NativeInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput/SecondInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimeInput.js","../../node_modules/.pnpm/react-time-picker@8.0.2_@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-time-picker/dist/TimePicker.js","../../src/components/time-input/time-picker.styled.tsx","../../src/components/time-input/time-picker-input.tsx"],"sourcesContent":["/**\n * Utils\n */\nfunction makeGetEdgeOfNeighbor(getPeriod, getEdgeOfPeriod, defaultOffset) {\n return function makeGetEdgeOfNeighborInternal(date, offset = defaultOffset) {\n const previousPeriod = getPeriod(date) + offset;\n return getEdgeOfPeriod(previousPeriod);\n };\n}\nfunction makeGetEnd(getBeginOfNextPeriod) {\n return function makeGetEndInternal(date) {\n return new Date(getBeginOfNextPeriod(date).getTime() - 1);\n };\n}\nfunction makeGetRange(getStart, getEnd) {\n return function makeGetRangeInternal(date) {\n return [getStart(date), getEnd(date)];\n };\n}\n/**\n * Simple getters - getting a property of a given point in time\n */\n/**\n * Gets year from a given date.\n *\n * @param {DateLike} date Date to get year from\n * @returns {number} Year\n */\nexport function getYear(date) {\n if (date instanceof Date) {\n return date.getFullYear();\n }\n if (typeof date === 'number') {\n return date;\n }\n const year = Number.parseInt(date, 10);\n if (typeof date === 'string' && !Number.isNaN(year)) {\n return year;\n }\n throw new Error(`Failed to get year from date: ${date}.`);\n}\n/**\n * Gets month from a given date.\n *\n * @param {Date} date Date to get month from\n * @returns {number} Month\n */\nexport function getMonth(date) {\n if (date instanceof Date) {\n return date.getMonth();\n }\n throw new Error(`Failed to get month from date: ${date}.`);\n}\n/**\n * Gets human-readable month from a given date.\n *\n * @param {Date} date Date to get human-readable month from\n * @returns {number} Human-readable month\n */\nexport function getMonthHuman(date) {\n if (date instanceof Date) {\n return date.getMonth() + 1;\n }\n throw new Error(`Failed to get human-readable month from date: ${date}.`);\n}\n/**\n * Gets day of the month from a given date.\n *\n * @param {Date} date Date to get day of the month from\n * @returns {number} Day of the month\n */\nexport function getDate(date) {\n if (date instanceof Date) {\n return date.getDate();\n }\n throw new Error(`Failed to get year from date: ${date}.`);\n}\n/**\n * Gets hours from a given date.\n *\n * @param {Date | string} date Date to get hours from\n * @returns {number} Hours\n */\nexport function getHours(date) {\n if (date instanceof Date) {\n return date.getHours();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const hoursString = datePieces[0];\n if (hoursString) {\n const hours = Number.parseInt(hoursString, 10);\n if (!Number.isNaN(hours)) {\n return hours;\n }\n }\n }\n }\n throw new Error(`Failed to get hours from date: ${date}.`);\n}\n/**\n * Gets minutes from a given date.\n *\n * @param {Date | string} date Date to get minutes from\n * @returns {number} Minutes\n */\nexport function getMinutes(date) {\n if (date instanceof Date) {\n return date.getMinutes();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const minutesString = datePieces[1] || '0';\n const minutes = Number.parseInt(minutesString, 10);\n if (!Number.isNaN(minutes)) {\n return minutes;\n }\n }\n }\n throw new Error(`Failed to get minutes from date: ${date}.`);\n}\n/**\n * Gets seconds from a given date.\n *\n * @param {Date | string} date Date to get seconds from\n * @returns {number} Seconds\n */\nexport function getSeconds(date) {\n if (date instanceof Date) {\n return date.getSeconds();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const secondsWithMillisecondsString = datePieces[2] || '0';\n const seconds = Number.parseInt(secondsWithMillisecondsString, 10);\n if (!Number.isNaN(seconds)) {\n return seconds;\n }\n }\n }\n throw new Error(`Failed to get seconds from date: ${date}.`);\n}\n/**\n * Gets milliseconds from a given date.\n *\n * @param {Date | string} date Date to get milliseconds from\n * @returns {number} Milliseconds\n */\nexport function getMilliseconds(date) {\n if (date instanceof Date) {\n return date.getMilliseconds();\n }\n if (typeof date === 'string') {\n const datePieces = date.split(':');\n if (datePieces.length >= 2) {\n const secondsWithMillisecondsString = datePieces[2] || '0';\n const millisecondsString = secondsWithMillisecondsString.split('.')[1] || '0';\n const milliseconds = Number.parseInt(millisecondsString, 10);\n if (!Number.isNaN(milliseconds)) {\n return milliseconds;\n }\n }\n }\n throw new Error(`Failed to get seconds from date: ${date}.`);\n}\n/**\n * Century\n */\n/**\n * Gets century start date from a given date.\n *\n * @param {DateLike} date Date to get century start from\n * @returns {Date} Century start date\n */\nexport function getCenturyStart(date) {\n const year = getYear(date);\n const centuryStartYear = year + ((-year + 1) % 100);\n const centuryStartDate = new Date();\n centuryStartDate.setFullYear(centuryStartYear, 0, 1);\n centuryStartDate.setHours(0, 0, 0, 0);\n return centuryStartDate;\n}\n/**\n * Gets previous century start date from a given date.\n *\n * @param {DateLike} date Date to get previous century start from\n * @param {number} [offset=-100] Offset in years to calculate previous century start from\n * @returns {Date} Previous century start date\n */\nexport const getPreviousCenturyStart = makeGetEdgeOfNeighbor(getYear, getCenturyStart, -100);\n/**\n * Gets next century start date from a given date.\n *\n * @param {DateLike} date Date to get next century start from\n * @param {number} [offset=100] Offset in years to calculate next century start from\n * @returns {Date} Next century start date\n */\nexport const getNextCenturyStart = makeGetEdgeOfNeighbor(getYear, getCenturyStart, 100);\n/**\n * Gets century end date from a given date.\n *\n * @param {DateLike} date Date to get century end from\n * @returns {Date} Century end date\n */\nexport const getCenturyEnd = makeGetEnd(getNextCenturyStart);\n/**\n * Gets previous century end date from a given date.\n *\n * @param {DateLike} date Date to get previous century end from\n * @param {number} [offset=-100] Offset in years to calculate previous century end from\n * @returns {Date} Previous century end date\n */\nexport const getPreviousCenturyEnd = makeGetEdgeOfNeighbor(getYear, getCenturyEnd, -100);\n/**\n * Gets next century end date from a given date.\n *\n * @param {DateLike} date Date to get next century end from\n * @param {number} [offset=100] Offset in years to calculate next century end from\n * @returns {Date} Next century end date\n */\nexport const getNextCenturyEnd = makeGetEdgeOfNeighbor(getYear, getCenturyEnd, 100);\n/**\n * Gets century start and end dates from a given date.\n *\n * @param {DateLike} date Date to get century start and end from\n * @returns {[Date, Date]} Century start and end dates\n */\nexport const getCenturyRange = makeGetRange(getCenturyStart, getCenturyEnd);\n/**\n * Decade\n */\n/**\n * Gets decade start date from a given date.\n *\n * @param {DateLike} date Date to get decade start from\n * @returns {Date} Decade start date\n */\nexport function getDecadeStart(date) {\n const year = getYear(date);\n const decadeStartYear = year + ((-year + 1) % 10);\n const decadeStartDate = new Date();\n decadeStartDate.setFullYear(decadeStartYear, 0, 1);\n decadeStartDate.setHours(0, 0, 0, 0);\n return decadeStartDate;\n}\n/**\n * Gets previous decade start date from a given date.\n *\n * @param {DateLike} date Date to get previous decade start from\n * @param {number} [offset=-10] Offset in years to calculate previous decade start from\n * @returns {Date} Previous decade start date\n */\nexport const getPreviousDecadeStart = makeGetEdgeOfNeighbor(getYear, getDecadeStart, -10);\n/**\n * Gets next decade start date from a given date.\n *\n * @param {DateLike} date Date to get next decade start from\n * @param {number} [offset=10] Offset in years to calculate next decade start from\n * @returns {Date} Next decade start date\n */\nexport const getNextDecadeStart = makeGetEdgeOfNeighbor(getYear, getDecadeStart, 10);\n/**\n * Gets decade end date from a given date.\n *\n * @param {DateLike} date Date to get decade end from\n * @returns {Date} Decade end date\n */\nexport const getDecadeEnd = makeGetEnd(getNextDecadeStart);\n/**\n * Gets previous decade end date from a given date.\n *\n * @param {DateLike} date Date to get previous decade end from\n * @param {number} [offset=-10] Offset in years to calculate previous decade end from\n * @returns {Date} Previous decade end date\n */\nexport const getPreviousDecadeEnd = makeGetEdgeOfNeighbor(getYear, getDecadeEnd, -10);\n/**\n * Gets next decade end date from a given date.\n *\n * @param {DateLike} date Date to get next decade end from\n * @param {number} [offset=10] Offset in years to calculate next decade end from\n * @returns {Date} Next decade end date\n */\nexport const getNextDecadeEnd = makeGetEdgeOfNeighbor(getYear, getDecadeEnd, 10);\n/**\n * Gets decade start and end dates from a given date.\n *\n * @param {DateLike} date Date to get decade start and end from\n * @returns {[Date, Date]} Decade start and end dates\n */\nexport const getDecadeRange = makeGetRange(getDecadeStart, getDecadeEnd);\n/**\n * Year\n */\n/**\n * Gets year start date from a given date.\n *\n * @param {DateLike} date Date to get year start from\n * @returns {Date} Year start date\n */\nexport function getYearStart(date) {\n const year = getYear(date);\n const yearStartDate = new Date();\n yearStartDate.setFullYear(year, 0, 1);\n yearStartDate.setHours(0, 0, 0, 0);\n return yearStartDate;\n}\n/**\n * Gets previous year start date from a given date.\n *\n * @param {DateLike} date Date to get previous year start from\n * @param {number} [offset=-1] Offset in years to calculate previous year start from\n * @returns {Date} Previous year start date\n */\nexport const getPreviousYearStart = makeGetEdgeOfNeighbor(getYear, getYearStart, -1);\n/**\n * Gets next year start date from a given date.\n *\n * @param {DateLike} date Date to get next year start from\n * @param {number} [offset=1] Offset in years to calculate next year start from\n * @returns {Date} Next year start date\n */\nexport const getNextYearStart = makeGetEdgeOfNeighbor(getYear, getYearStart, 1);\n/**\n * Gets year end date from a given date.\n *\n * @param {DateLike} date Date to get year end from\n * @returns {Date} Year end date\n */\nexport const getYearEnd = makeGetEnd(getNextYearStart);\n/**\n * Gets previous year end date from a given date.\n *\n * @param {DateLike} date Date to get previous year end from\n * @param {number} [offset=-1] Offset in years to calculate previous year end from\n * @returns {Date} Previous year end date\n */\nexport const getPreviousYearEnd = makeGetEdgeOfNeighbor(getYear, getYearEnd, -1);\n/**\n * Gets next year end date from a given date.\n *\n * @param {DateLike} date Date to get next year end from\n * @param {number} [offset=1] Offset in years to calculate next year end from\n * @returns {Date} Next year end date\n */\nexport const getNextYearEnd = makeGetEdgeOfNeighbor(getYear, getYearEnd, 1);\n/**\n * Gets year start and end dates from a given date.\n *\n * @param {DateLike} date Date to get year start and end from\n * @returns {[Date, Date]} Year start and end dates\n */\nexport const getYearRange = makeGetRange(getYearStart, getYearEnd);\n/**\n * Month\n */\nfunction makeGetEdgeOfNeighborMonth(getEdgeOfPeriod, defaultOffset) {\n return function makeGetEdgeOfNeighborMonthInternal(date, offset = defaultOffset) {\n const year = getYear(date);\n const month = getMonth(date) + offset;\n const previousPeriod = new Date();\n previousPeriod.setFullYear(year, month, 1);\n previousPeriod.setHours(0, 0, 0, 0);\n return getEdgeOfPeriod(previousPeriod);\n };\n}\n/**\n * Gets month start date from a given date.\n *\n * @param {DateLike} date Date to get month start from\n * @returns {Date} Month start date\n */\nexport function getMonthStart(date) {\n const year = getYear(date);\n const month = getMonth(date);\n const monthStartDate = new Date();\n monthStartDate.setFullYear(year, month, 1);\n monthStartDate.setHours(0, 0, 0, 0);\n return monthStartDate;\n}\n/**\n * Gets previous month start date from a given date.\n *\n * @param {Date} date Date to get previous month start from\n * @param {number} [offset=-1] Offset in months to calculate previous month start from\n * @returns {Date} Previous month start date\n */\nexport const getPreviousMonthStart = makeGetEdgeOfNeighborMonth(getMonthStart, -1);\n/**\n * Gets next month start date from a given date.\n *\n * @param {Date} date Date to get next month start from\n * @param {number} [offset=1] Offset in months to calculate next month start from\n * @returns {Date} Next month start date\n */\nexport const getNextMonthStart = makeGetEdgeOfNeighborMonth(getMonthStart, 1);\n/**\n * Gets month end date from a given date.\n *\n * @param {Date} date Date to get month end from\n * @returns {Date} Month end date\n */\nexport const getMonthEnd = makeGetEnd(getNextMonthStart);\n/**\n * Gets previous month end date from a given date.\n *\n * @param {Date} date Date to get previous month end from\n * @param {number} [offset=-1] Offset in months to calculate previous month end from\n * @returns {Date} Previous month end date\n */\nexport const getPreviousMonthEnd = makeGetEdgeOfNeighborMonth(getMonthEnd, -1);\n/**\n * Gets next month end date from a given date.\n *\n * @param {Date} date Date to get next month end from\n * @param {number} [offset=1] Offset in months to calculate next month end from\n * @returns {Date} Next month end date\n */\nexport const getNextMonthEnd = makeGetEdgeOfNeighborMonth(getMonthEnd, 1);\n/**\n * Gets month start and end dates from a given date.\n *\n * @param {Date} date Date to get month start and end from\n * @returns {[Date, Date]} Month start and end dates\n */\nexport const getMonthRange = makeGetRange(getMonthStart, getMonthEnd);\n/**\n * Day\n */\nfunction makeGetEdgeOfNeighborDay(getEdgeOfPeriod, defaultOffset) {\n return function makeGetEdgeOfNeighborDayInternal(date, offset = defaultOffset) {\n const year = getYear(date);\n const month = getMonth(date);\n const day = getDate(date) + offset;\n const previousPeriod = new Date();\n previousPeriod.setFullYear(year, month, day);\n previousPeriod.setHours(0, 0, 0, 0);\n return getEdgeOfPeriod(previousPeriod);\n };\n}\n/**\n * Gets day start date from a given date.\n *\n * @param {DateLike} date Date to get day start from\n * @returns {Date} Day start date\n */\nexport function getDayStart(date) {\n const year = getYear(date);\n const month = getMonth(date);\n const day = getDate(date);\n const dayStartDate = new Date();\n dayStartDate.setFullYear(year, month, day);\n dayStartDate.setHours(0, 0, 0, 0);\n return dayStartDate;\n}\n/**\n * Gets previous day start date from a given date.\n *\n * @param {Date} date Date to get previous day start from\n * @param {number} [offset=-1] Offset in days to calculate previous day start from\n * @returns {Date} Previous day start date\n */\nexport const getPreviousDayStart = makeGetEdgeOfNeighborDay(getDayStart, -1);\n/**\n * Gets next day start date from a given date.\n *\n * @param {Date} date Date to get next day start from\n * @param {number} [offset=1] Offset in days to calculate next day start from\n * @returns {Date} Next day start date\n */\nexport const getNextDayStart = makeGetEdgeOfNeighborDay(getDayStart, 1);\n/**\n * Gets day end date from a given date.\n *\n * @param {Date} date Date to get day end from\n * @returns {Date} Day end date\n */\nexport const getDayEnd = makeGetEnd(getNextDayStart);\n/**\n * Gets previous day end date from a given date.\n *\n * @param {DateLike} date Date to get previous day end from\n * @param {number} [offset=-1] Offset in days to calculate previous day end from\n * @returns {Date} Previous day end date\n */\nexport const getPreviousDayEnd = makeGetEdgeOfNeighborDay(getDayEnd, -1);\n/**\n * Gets next day end date from a given date.\n *\n * @param {DateLike} date Date to get next day end from\n * @param {number} [offset=1] Offset in days to calculate next day end from\n * @returns {Date} Next day end date\n */\nexport const getNextDayEnd = makeGetEdgeOfNeighborDay(getDayEnd, 1);\n/**\n * Gets day start and end dates from a given date.\n *\n * @param {DateLike} date Date to get day start and end from\n * @returns {[Date, Date]} Day start and end dates\n */\nexport const getDayRange = makeGetRange(getDayStart, getDayEnd);\n/**\n * Other\n */\n/**\n * Returns a number of days in a month of a given date.\n *\n * @param {Date} date Date\n * @returns {number} Number of days in a month\n */\nexport function getDaysInMonth(date) {\n return getDate(getMonthEnd(date));\n}\nfunction padStart(num, val = 2) {\n const numStr = `${num}`;\n if (numStr.length >= val) {\n return num;\n }\n return `0000${numStr}`.slice(-val);\n}\n/**\n * Returns local hours and minutes (hh:mm).\n *\n * @param {Date | string} date Date to get hours and minutes from\n * @returns {string} Local hours and minutes\n */\nexport function getHoursMinutes(date) {\n const hours = padStart(getHours(date));\n const minutes = padStart(getMinutes(date));\n return `${hours}:${minutes}`;\n}\n/**\n * Returns local hours, minutes and seconds (hh:mm:ss).\n *\n * @param {Date | string} date Date to get hours, minutes and seconds from\n * @returns {string} Local hours, minutes and seconds\n */\nexport function getHoursMinutesSeconds(date) {\n const hours = padStart(getHours(date));\n const minutes = padStart(getMinutes(date));\n const seconds = padStart(getSeconds(date));\n return `${hours}:${minutes}:${seconds}`;\n}\n/**\n * Returns local month in ISO-like format (YYYY-MM).\n *\n * @param {Date} date Date to get month in ISO-like format from\n * @returns {string} Local month in ISO-like format\n */\nexport function getISOLocalMonth(date) {\n const year = padStart(getYear(date), 4);\n const month = padStart(getMonthHuman(date));\n return `${year}-${month}`;\n}\n/**\n * Returns local date in ISO-like format (YYYY-MM-DD).\n *\n * @param {Date} date Date to get date in ISO-like format from\n * @returns {string} Local date in ISO-like format\n */\nexport function getISOLocalDate(date) {\n const year = padStart(getYear(date), 4);\n const month = padStart(getMonthHuman(date));\n const day = padStart(getDate(date));\n return `${year}-${month}-${day}`;\n}\n/**\n * Returns local date & time in ISO-like format (YYYY-MM-DDThh:mm:ss).\n *\n * @param {Date} date Date to get date & time in ISO-like format from\n * @returns {string} Local date & time in ISO-like format\n */\nexport function getISOLocalDateTime(date) {\n return `${getISOLocalDate(date)}T${getHoursMinutesSeconds(date)}`;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Hand(_a) {\n var _b = _a.angle, angle = _b === void 0 ? 0 : _b, name = _a.name, _c = _a.length, length = _c === void 0 ? 100 : _c, _d = _a.oppositeLength, oppositeLength = _d === void 0 ? 10 : _d, _e = _a.width, width = _e === void 0 ? 1 : _e;\n return (_jsx(\"div\", { className: \"react-clock__hand react-clock__\".concat(name, \"-hand\"), style: {\n transform: \"rotate(\".concat(angle, \"deg)\"),\n }, children: _jsx(\"div\", { className: \"react-clock__hand__body react-clock__\".concat(name, \"-hand__body\"), style: {\n width: \"\".concat(width, \"px\"),\n top: \"\".concat(50 - length / 2, \"%\"),\n bottom: \"\".concat(50 - oppositeLength / 2, \"%\"),\n } }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { memo } from 'react';\nvar Mark = memo(function Mark(_a) {\n var _b = _a.angle, angle = _b === void 0 ? 0 : _b, _c = _a.length, length = _c === void 0 ? 10 : _c, name = _a.name, _d = _a.width, width = _d === void 0 ? 1 : _d;\n return (_jsx(\"div\", { className: \"react-clock__mark react-clock__\".concat(name, \"-mark\"), style: {\n transform: \"rotate(\".concat(angle, \"deg)\"),\n }, children: _jsx(\"div\", { className: \"react-clock__mark__body react-clock__\".concat(name, \"-mark__body\"), style: {\n width: \"\".concat(width, \"px\"),\n top: 0,\n bottom: \"\".concat(100 - length / 2, \"%\"),\n } }) }));\n});\nexport default Mark;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { memo } from 'react';\nvar MarkNumber = memo(function MarkNumber(_a) {\n var _b = _a.angle, angle = _b === void 0 ? 0 : _b, _c = _a.length, length = _c === void 0 ? 10 : _c, name = _a.name, number = _a.number;\n return (_jsx(\"div\", { className: \"react-clock__mark react-clock__\".concat(name, \"-mark\"), style: {\n transform: \"rotate(\".concat(angle, \"deg)\"),\n }, children: _jsx(\"div\", { className: \"react-clock__mark__number\", style: {\n transform: \"rotate(-\".concat(angle, \"deg)\"),\n top: \"\".concat(length / 2, \"%\"),\n }, children: number }) }));\n});\nexport default MarkNumber;\n","const copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable\n\t\t&& toDescriptor.enumerable === fromDescriptor.enumerable\n\t\t&& toDescriptor.configurable === fromDescriptor.configurable\n\t\t&& (toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tconst {writable, enumerable, configurable} = toStringDescriptor; // We destructue to avoid a potential `get` descriptor.\n\tObject.defineProperty(to, 'toString', {value: newToString, writable, enumerable, configurable});\n};\n\nexport default function mimicFunction(to, from, {ignoreNonConfigurable = false} = {}) {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n}\n","import mimicFunction from 'mimic-function';\nconst maxTimeoutValue = 2_147_483_647;\nconst cacheStore = new WeakMap();\nconst cacheTimerStore = new WeakMap();\nconst cacheKeyStore = new WeakMap();\nfunction getValidCacheItem(cache, key) {\n const item = cache.get(key);\n if (!item) {\n return undefined;\n }\n if (item.maxAge <= Date.now()) {\n cache.delete(key);\n return undefined;\n }\n return item;\n}\n/**\n[Memoize](https://en.wikipedia.org/wiki/Memoization) functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input.\n\n@param function_ - The function to be memoized.\n\n@example\n```\nimport memoize from 'memoize';\n\nlet index = 0;\nconst counter = () => ++index;\nconst memoized = memoize(counter);\n\nmemoized('foo');\n//=> 1\n\n// Cached as it's the same argument\nmemoized('foo');\n//=> 1\n\n// Not cached anymore as the arguments changed\nmemoized('bar');\n//=> 2\n\nmemoized('bar');\n//=> 2\n```\n*/\nexport default function memoize(function_, { cacheKey, cache = new Map(), maxAge, } = {}) {\n if (maxAge === 0) {\n return function_;\n }\n if (typeof maxAge === 'number' && Number.isFinite(maxAge)) {\n if (maxAge > maxTimeoutValue) {\n throw new TypeError(`The \\`maxAge\\` option cannot exceed ${maxTimeoutValue}.`);\n }\n if (maxAge < 0) {\n throw new TypeError('The `maxAge` option should not be a negative number.');\n }\n }\n const memoized = function (...arguments_) {\n const key = cacheKey ? cacheKey(arguments_) : arguments_[0];\n const cacheItem = getValidCacheItem(cache, key);\n if (cacheItem) {\n return cacheItem.data;\n }\n const result = function_.apply(this, arguments_);\n const computedMaxAge = typeof maxAge === 'function' ? maxAge(...arguments_) : maxAge;\n if (computedMaxAge !== undefined && computedMaxAge !== Number.POSITIVE_INFINITY) {\n if (!Number.isFinite(computedMaxAge)) {\n throw new TypeError('The `maxAge` function must return a finite number, `0`, or `Infinity`.');\n }\n if (computedMaxAge <= 0) {\n return result; // Do not cache\n }\n if (computedMaxAge > maxTimeoutValue) {\n throw new TypeError(`The \\`maxAge\\` function result cannot exceed ${maxTimeoutValue}.`);\n }\n }\n cache.set(key, {\n data: result,\n maxAge: (computedMaxAge === undefined || computedMaxAge === Number.POSITIVE_INFINITY)\n ? Number.POSITIVE_INFINITY\n : Date.now() + computedMaxAge,\n });\n if (computedMaxAge !== undefined && computedMaxAge !== Number.POSITIVE_INFINITY) {\n const timer = setTimeout(() => {\n cache.delete(key);\n cacheTimerStore.get(memoized)?.delete(timer);\n }, computedMaxAge);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n timer.unref?.();\n const timers = cacheTimerStore.get(memoized) ?? new Set();\n timers.add(timer);\n cacheTimerStore.set(memoized, timers);\n }\n return result;\n };\n mimicFunction(memoized, function_, {\n ignoreNonConfigurable: true,\n });\n cacheStore.set(memoized, cache);\n cacheKeyStore.set(memoized, (cacheKey ?? ((arguments_) => arguments_[0])));\n return memoized;\n}\n/**\n@returns A [decorator](https://github.com/tc39/proposal-decorators) to memoize class methods or static class methods.\n\n@example\n```\nimport {memoizeDecorator} from 'memoize';\n\nclass Example {\n index = 0\n\n @memoizeDecorator()\n counter() {\n return ++this.index;\n }\n}\n\nclass ExampleWithOptions {\n index = 0\n\n @memoizeDecorator({maxAge: 1000})\n counter() {\n return ++this.index;\n }\n}\n```\n*/\nexport function memoizeDecorator(options = {}) {\n const instanceMap = new WeakMap();\n return (target, propertyKey, descriptor) => {\n const input = target[propertyKey]; // eslint-disable-line @typescript-eslint/no-unsafe-assignment\n if (typeof input !== 'function') {\n throw new TypeError('The decorated value must be a function');\n }\n delete descriptor.value;\n delete descriptor.writable;\n descriptor.get = function () {\n if (!instanceMap.has(this)) {\n const value = memoize(input, options);\n instanceMap.set(this, value);\n return value;\n }\n return instanceMap.get(this);\n };\n };\n}\n/**\nClear all cached data of a memoized function.\n\n@param function_ - The memoized function.\n*/\nexport function memoizeClear(function_) {\n const cache = cacheStore.get(function_);\n if (!cache) {\n throw new TypeError('Can\\'t clear a function that was not memoized!');\n }\n if (typeof cache.clear !== 'function') {\n throw new TypeError('The cache Map can\\'t be cleared!');\n }\n cache.clear();\n for (const timer of cacheTimerStore.get(function_) ?? []) {\n clearTimeout(timer);\n }\n cacheTimerStore.delete(function_);\n}\n/**\nCheck if a specific set of arguments is cached for a memoized function.\n\n@param function_ - The memoized function.\n@param arguments_ - The arguments to check.\n@returns `true` if the arguments are cached and not expired, `false` otherwise.\n\nUses the same argument processing as the memoized function, including any custom `cacheKey` function.\n\n@example\n```\nimport memoize, {memoizeIsCached} from 'memoize';\n\nconst expensive = memoize((a, b) => a + b, {cacheKey: JSON.stringify});\nexpensive(1, 2);\n\nmemoizeIsCached(expensive, 1, 2);\n//=> true\n\nmemoizeIsCached(expensive, 3, 4);\n//=> false\n```\n*/\nexport function memoizeIsCached(function_, ...arguments_) {\n const cacheKey = cacheKeyStore.get(function_);\n if (!cacheKey) {\n return false;\n }\n const cache = cacheStore.get(function_);\n const key = cacheKey(arguments_);\n const item = getValidCacheItem(cache, key);\n return item !== undefined;\n}\n","import memoize from 'memoize';\nfunction isString(el) {\n return typeof el === 'string';\n}\nfunction isUnique(el, index, arr) {\n return arr.indexOf(el) === index;\n}\nfunction isAllLowerCase(el) {\n return el.toLowerCase() === el;\n}\nfunction fixCommas(el) {\n return el.indexOf(',') === -1 ? el : el.split(',');\n}\nfunction normalizeLocale(locale) {\n if (!locale) {\n return locale;\n }\n if (locale === 'C' || locale === 'posix' || locale === 'POSIX') {\n return 'en-US';\n }\n // If there's a dot (.) in the locale, it's likely in the format of \"en-US.UTF-8\", so we only take the first part\n if (locale.indexOf('.') !== -1) {\n var _a = locale.split('.')[0], actualLocale = _a === void 0 ? '' : _a;\n return normalizeLocale(actualLocale);\n }\n // If there's an at sign (@) in the locale, it's likely in the format of \"en-US@posix\", so we only take the first part\n if (locale.indexOf('@') !== -1) {\n var _b = locale.split('@')[0], actualLocale = _b === void 0 ? '' : _b;\n return normalizeLocale(actualLocale);\n }\n // If there's a dash (-) in the locale and it's not all lower case, it's already in the format of \"en-US\", so we return it\n if (locale.indexOf('-') === -1 || !isAllLowerCase(locale)) {\n return locale;\n }\n var _c = locale.split('-'), splitEl1 = _c[0], _d = _c[1], splitEl2 = _d === void 0 ? '' : _d;\n return \"\".concat(splitEl1, \"-\").concat(splitEl2.toUpperCase());\n}\nfunction getUserLocalesInternal(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.useFallbackLocale, useFallbackLocale = _c === void 0 ? true : _c, _d = _b.fallbackLocale, fallbackLocale = _d === void 0 ? 'en-US' : _d;\n var languageList = [];\n if (typeof navigator !== 'undefined') {\n var rawLanguages = navigator.languages || [];\n var languages = [];\n for (var _i = 0, rawLanguages_1 = rawLanguages; _i < rawLanguages_1.length; _i++) {\n var rawLanguagesItem = rawLanguages_1[_i];\n languages = languages.concat(fixCommas(rawLanguagesItem));\n }\n var rawLanguage = navigator.language;\n var language = rawLanguage ? fixCommas(rawLanguage) : rawLanguage;\n languageList = languageList.concat(languages, language);\n }\n if (useFallbackLocale) {\n languageList.push(fallbackLocale);\n }\n return languageList.filter(isString).map(normalizeLocale).filter(isUnique);\n}\nexport var getUserLocales = memoize(getUserLocalesInternal, { cacheKey: JSON.stringify });\nfunction getUserLocaleInternal(options) {\n return getUserLocales(options)[0] || null;\n}\nexport var getUserLocale = memoize(getUserLocaleInternal, { cacheKey: JSON.stringify });\nexport default getUserLocale;\n","import getUserLocale from 'get-user-locale';\nexport function formatHour(locale, hour) {\n return hour.toLocaleString(locale || getUserLocale() || undefined);\n}\n","function isValidNumber(num) {\n return num !== null && num !== false && !Number.isNaN(Number(num));\n}\nexport function safeMax() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Math.max.apply(Math, args.filter(isValidNumber));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { getHours, getMilliseconds, getMinutes, getSeconds } from '@wojtekmaj/date-utils';\nimport Hand from './Hand.js';\nimport Mark from './Mark.js';\nimport MarkNumber from './MarkNumber.js';\nimport { formatHour as defaultFormatHour } from './shared/hourFormatter.js';\nimport { safeMax } from './shared/utils.js';\n/**\n * Displays a complete clock.\n */\nexport default function Clock(_a) {\n var className = _a.className, _b = _a.formatHour, formatHour = _b === void 0 ? defaultFormatHour : _b, _c = _a.hourHandLength, hourHandLength = _c === void 0 ? 50 : _c, hourHandOppositeLength = _a.hourHandOppositeLength, _d = _a.hourHandWidth, hourHandWidth = _d === void 0 ? 4 : _d, _e = _a.hourMarksLength, hourMarksLength = _e === void 0 ? 10 : _e, _f = _a.hourMarksWidth, hourMarksWidth = _f === void 0 ? 3 : _f, locale = _a.locale, _g = _a.minuteHandLength, minuteHandLength = _g === void 0 ? 70 : _g, minuteHandOppositeLength = _a.minuteHandOppositeLength, _h = _a.minuteHandWidth, minuteHandWidth = _h === void 0 ? 2 : _h, _j = _a.minuteMarksLength, minuteMarksLength = _j === void 0 ? 6 : _j, _k = _a.minuteMarksWidth, minuteMarksWidth = _k === void 0 ? 1 : _k, _l = _a.renderHourMarks, renderHourMarks = _l === void 0 ? true : _l, _m = _a.renderMinuteHand, renderMinuteHand = _m === void 0 ? true : _m, _o = _a.renderMinuteMarks, renderMinuteMarks = _o === void 0 ? true : _o, renderNumbers = _a.renderNumbers, _p = _a.renderSecondHand, renderSecondHand = _p === void 0 ? true : _p, _q = _a.secondHandLength, secondHandLength = _q === void 0 ? 90 : _q, secondHandOppositeLength = _a.secondHandOppositeLength, _r = _a.secondHandWidth, secondHandWidth = _r === void 0 ? 1 : _r, _s = _a.size, size = _s === void 0 ? 150 : _s, useMillisecondPrecision = _a.useMillisecondPrecision, value = _a.value;\n function renderMinuteMarksFn() {\n if (!renderMinuteMarks) {\n return null;\n }\n var minuteMarks = [];\n for (var i = 1; i <= 60; i += 1) {\n var isHourMark = renderHourMarks && !(i % 5);\n if (!isHourMark) {\n minuteMarks.push(_jsx(Mark, { angle: i * 6, length: minuteMarksLength, name: \"minute\", width: minuteMarksWidth }, \"minute_\".concat(i)));\n }\n }\n return minuteMarks;\n }\n function renderHourMarksFn() {\n if (!renderHourMarks) {\n return null;\n }\n var hourMarks = [];\n for (var i = 1; i <= 12; i += 1) {\n hourMarks.push(_jsx(Mark, { angle: i * 30, length: hourMarksLength, name: \"hour\", width: hourMarksWidth }, \"hour_\".concat(i)));\n }\n return hourMarks;\n }\n function renderNumbersFn() {\n if (!renderNumbers) {\n return null;\n }\n var numbers = [];\n for (var i = 1; i <= 12; i += 1) {\n numbers.push(_jsx(MarkNumber, { angle: i * 30, length: safeMax(renderHourMarks && hourMarksLength, renderMinuteMarks && minuteMarksLength, 0), name: \"number\", number: formatHour(locale, i) }, \"number_\".concat(i)));\n }\n return numbers;\n }\n function renderFace() {\n return (_jsxs(\"div\", { className: \"react-clock__face\", children: [renderMinuteMarksFn(), renderHourMarksFn(), renderNumbersFn()] }));\n }\n function renderHourHandFn() {\n var angle = value\n ? getHours(value) * 30 +\n getMinutes(value) / 2 +\n getSeconds(value) / 120 +\n (useMillisecondPrecision ? getMilliseconds(value) / 120000 : 0)\n : 0;\n return (_jsx(Hand, { angle: angle, length: hourHandLength, name: \"hour\", oppositeLength: hourHandOppositeLength, width: hourHandWidth }));\n }\n function renderMinuteHandFn() {\n if (!renderMinuteHand) {\n return null;\n }\n var angle = value\n ? getHours(value) * 360 +\n getMinutes(value) * 6 +\n getSeconds(value) / 10 +\n (useMillisecondPrecision ? getMilliseconds(value) / 10000 : 0)\n : 0;\n return (_jsx(Hand, { angle: angle, length: minuteHandLength, name: \"minute\", oppositeLength: minuteHandOppositeLength, width: minuteHandWidth }));\n }\n function renderSecondHandFn() {\n if (!renderSecondHand) {\n return null;\n }\n var angle = value\n ? getMinutes(value) * 360 +\n getSeconds(value) * 6 +\n (useMillisecondPrecision ? getMilliseconds(value) * 0.006 : 0)\n : 0;\n return (_jsx(Hand, { angle: angle, length: secondHandLength, name: \"second\", oppositeLength: secondHandOppositeLength, width: secondHandWidth }));\n }\n return (_jsxs(\"time\", { className: clsx('react-clock', className), dateTime: value instanceof Date\n ? // Returns a string in the format \"HH:MM\" or \"HH:MM:SS\"\n value.toLocaleTimeString('en', {\n hourCycle: 'h23',\n hour: '2-digit',\n minute: renderMinuteHand ? '2-digit' : undefined,\n second: renderSecondHand ? '2-digit' : undefined,\n })\n : value || undefined, style: {\n width: size,\n height: size,\n }, children: [renderFace(), renderHourHandFn(), renderMinuteHandFn(), renderSecondHandFn()] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Divider({ children }) {\n return _jsx(\"span\", { className: \"react-time-picker__inputGroup__divider\", children: children });\n}\n","export function convert12to24(hour12, amPm) {\n let hour24 = Number(hour12);\n if (amPm === 'am' && hour24 === 12) {\n hour24 = 0;\n }\n else if (amPm === 'pm' && hour24 < 12) {\n hour24 += 12;\n }\n return hour24;\n}\nexport function convert24to12(hour24) {\n const hour12 = Number(hour24) % 12 || 12;\n return [hour12, Number(hour24) < 12 ? 'am' : 'pm'];\n}\n","import getUserLocale from 'get-user-locale';\nconst formatterCache = new Map();\nexport function getFormatter(options) {\n return function formatter(locale, date) {\n const localeWithDefault = locale || getUserLocale();\n if (!formatterCache.has(localeWithDefault)) {\n formatterCache.set(localeWithDefault, new Map());\n }\n const formatterCacheLocale = formatterCache.get(localeWithDefault);\n if (!formatterCacheLocale.has(options)) {\n formatterCacheLocale.set(options, new Intl.DateTimeFormat(localeWithDefault || undefined, options).format);\n }\n return formatterCacheLocale.get(options)(date);\n };\n}\nconst numberFormatterCache = new Map();\nexport function getNumberFormatter(options) {\n return (locale, number) => {\n const localeWithDefault = locale || getUserLocale();\n if (!numberFormatterCache.has(localeWithDefault)) {\n numberFormatterCache.set(localeWithDefault, new Map());\n }\n const numberFormatterCacheLocale = numberFormatterCache.get(localeWithDefault);\n if (!numberFormatterCacheLocale.has(options)) {\n numberFormatterCacheLocale.set(options, new Intl.NumberFormat(localeWithDefault || undefined, options).format);\n }\n return numberFormatterCacheLocale.get(options)(number);\n };\n}\n","import { getFormatter } from './dateFormatter.js';\nconst nines = ['9', '٩'];\nconst ninesRegExp = new RegExp(`[${nines.join('')}]`);\nconst amPmFormatter = getFormatter({ hour: 'numeric' });\nexport function getAmPmLabels(locale) {\n const amString = amPmFormatter(locale, new Date(2017, 0, 1, 9));\n const pmString = amPmFormatter(locale, new Date(2017, 0, 1, 21));\n const [am1, am2] = amString.split(ninesRegExp);\n const [pm1, pm2] = pmString.split(ninesRegExp);\n if (pm2 !== undefined) {\n // If pm2 is undefined, nine was not found in pmString - this locale is not using 12-hour time\n if (am1 !== pm1) {\n return [am1, pm1].map((el) => el.trim());\n }\n if (am2 !== pm2) {\n return [am2, pm2].map((el) => el.trim());\n }\n }\n // Fallback\n return ['AM', 'PM'];\n}\nfunction isValidNumber(num) {\n return num !== null && num !== false && !Number.isNaN(Number(num));\n}\nexport function safeMin(...args) {\n return Math.min(...args.filter(isValidNumber));\n}\nexport function safeMax(...args) {\n return Math.max(...args.filter(isValidNumber));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { getHours } from '@wojtekmaj/date-utils';\nimport clsx from 'clsx';\nimport { convert24to12 } from '../shared/dates.js';\nimport { getAmPmLabels } from '../shared/utils.js';\nexport default function AmPm({ ariaLabel, autoFocus, className, disabled, inputRef, locale, maxTime, minTime, onChange, onKeyDown, required, value, }) {\n const amDisabled = minTime ? convert24to12(getHours(minTime))[1] === 'pm' : false;\n const pmDisabled = maxTime ? convert24to12(getHours(maxTime))[1] === 'am' : false;\n const name = 'amPm';\n const [amLabel, pmLabel] = getAmPmLabels(locale);\n return (_jsxs(\"select\", { \"aria-label\": ariaLabel, \n // biome-ignore lint/a11y/noAutofocus: This is up to developers' decision\n autoFocus: autoFocus, className: clsx(`${className}__input`, `${className}__${name}`), \"data-input\": \"true\", \"data-select\": \"true\", disabled: disabled, name: name, onChange: onChange, onKeyDown: onKeyDown, \n // Assertion is needed for React 18 compatibility\n ref: inputRef, required: required, value: value !== null ? value : '', children: [!value && _jsx(\"option\", { value: \"\", children: \"--\" }), _jsx(\"option\", { disabled: amDisabled, value: \"am\", children: amLabel }), _jsx(\"option\", { disabled: pmDisabled, value: \"pm\", children: pmLabel })] }));\n}\n","var allowedVariants = ['normal', 'small-caps'];\n/**\n * Gets font CSS shorthand property given element.\n *\n * @param {HTMLElement} element Element to get font CSS shorthand property from\n */\nexport function getFontShorthand(element) {\n if (!element) {\n return '';\n }\n var style = window.getComputedStyle(element);\n if (style.font) {\n return style.font;\n }\n var isFontDefined = style.fontFamily !== '';\n if (!isFontDefined) {\n return '';\n }\n var fontVariant = allowedVariants.includes(style.fontVariant) ? style.fontVariant : 'normal';\n return \"\".concat(style.fontStyle, \" \").concat(fontVariant, \" \").concat(style.fontWeight, \" \").concat(style.fontSize, \" / \").concat(style.lineHeight, \" \").concat(style.fontFamily);\n}\nvar cachedCanvas;\n/**\n * Measures text width given text and font CSS shorthand.\n *\n * @param {string} text Text to measure\n * @param {string} font Font to use when measuring the text\n */\nexport function measureText(text, font) {\n var canvas = cachedCanvas || (cachedCanvas = document.createElement('canvas'));\n var context = canvas.getContext('2d');\n // Context type not supported\n if (!context) {\n return null;\n }\n context.font = font;\n var width = context.measureText(text).width;\n return Math.ceil(width);\n}\n/**\n * Updates input element width to fit its content given input element\n * @param {HTMLInputElement} element\n */\nexport function updateInputWidth(element) {\n if (typeof document === 'undefined' || !element) {\n return null;\n }\n var font = getFontShorthand(element);\n var text = element.value || element.placeholder;\n var width = measureText(text, font);\n if (width === null) {\n return null;\n }\n element.style.width = \"\".concat(width, \"px\");\n return width;\n}\nexport default updateInputWidth;\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useLayoutEffect } from 'react';\nimport clsx from 'clsx';\nimport updateInputWidth, { getFontShorthand } from 'update-input-width';\nconst isBrowser = typeof window !== 'undefined';\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nconst isIEOrEdgeLegacy = isBrowser && /(MSIE|Trident\\/|Edge\\/)/.test(navigator.userAgent);\nconst isFirefox = isBrowser && /Firefox/.test(navigator.userAgent);\nfunction onFocus(event) {\n const { target } = event;\n if (isIEOrEdgeLegacy) {\n requestAnimationFrame(() => target.select());\n }\n else {\n target.select();\n }\n}\nfunction updateInputWidthOnLoad(element) {\n if (document.readyState === 'complete') {\n return;\n }\n function onLoad() {\n updateInputWidth(element);\n }\n window.addEventListener('load', onLoad);\n}\nfunction updateInputWidthOnFontLoad(element) {\n if (!document.fonts) {\n return;\n }\n const font = getFontShorthand(element);\n if (!font) {\n return;\n }\n const isFontLoaded = document.fonts.check(font);\n if (isFontLoaded) {\n return;\n }\n function onLoadingDone() {\n updateInputWidth(element);\n }\n document.fonts.addEventListener('loadingdone', onLoadingDone);\n}\nfunction getSelectionString(input) {\n /**\n * window.getSelection().toString() returns empty string in IE11 and Firefox,\n * so alternatives come first.\n */\n if (input &&\n 'selectionStart' in input &&\n input.selectionStart !== null &&\n 'selectionEnd' in input &&\n input.selectionEnd !== null) {\n return input.value.slice(input.selectionStart, input.selectionEnd);\n }\n if ('getSelection' in window) {\n const selection = window.getSelection();\n return selection === null || selection === void 0 ? void 0 : selection.toString();\n }\n return null;\n}\nfunction makeOnKeyPress(maxLength) {\n if (maxLength === null) {\n return undefined;\n }\n /**\n * Prevents keystrokes that would not produce a number or when value after keystroke would\n * exceed maxLength.\n */\n return function onKeyPress(event) {\n if (isFirefox) {\n // See https://github.com/wojtekmaj/react-time-picker/issues/92\n return;\n }\n const { key, target: input } = event;\n const { value } = input;\n const isNumberKey = key.length === 1 && /\\d/.test(key);\n const selection = getSelectionString(input);\n if (!isNumberKey || !(selection || value.length < maxLength)) {\n event.preventDefault();\n }\n };\n}\nexport default function Input({ ariaLabel, autoFocus, className, disabled, inputRef, max, min, name, nameForClass, onChange, onKeyDown, onKeyUp, placeholder = '--', required, showLeadingZeros, step, value, }) {\n useIsomorphicLayoutEffect(() => {\n if (!inputRef || !inputRef.current) {\n return;\n }\n updateInputWidth(inputRef.current);\n updateInputWidthOnLoad(inputRef.current);\n updateInputWidthOnFontLoad(inputRef.current);\n }, [inputRef, value]);\n const hasLeadingZero = showLeadingZeros &&\n value &&\n Number(value) < 10 &&\n (value === '0' || !value.toString().startsWith('0'));\n const maxLength = max ? max.toString().length : null;\n return (_jsxs(_Fragment, { children: [hasLeadingZero ? _jsx(\"span\", { className: `${className}__leadingZero`, children: \"0\" }) : null, _jsx(\"input\", { \"aria-label\": ariaLabel, autoComplete: \"off\", \n // biome-ignore lint/a11y/noAutofocus: This is up to developers' decision\n autoFocus: autoFocus, className: clsx(`${className}__input`, `${className}__${nameForClass || name}`, hasLeadingZero && `${className}__input--hasLeadingZero`), \"data-input\": \"true\", disabled: disabled, inputMode: \"numeric\", max: max, min: min, name: name, onChange: onChange, onFocus: onFocus, onKeyDown: onKeyDown, onKeyPress: makeOnKeyPress(maxLength), onKeyUp: (event) => {\n updateInputWidth(event.target);\n if (onKeyUp) {\n onKeyUp(event);\n }\n }, placeholder: placeholder, \n // Assertion is needed for React 18 compatibility\n ref: inputRef, required: required, step: step, type: \"number\", value: value !== null ? value : '' })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { convert24to12 } from '../shared/dates.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function Hour12Input({ amPm, maxTime, minTime, value, ...otherProps }) {\n const maxHour = safeMin(12, maxTime &&\n (() => {\n const [maxHourResult, maxAmPm] = convert24to12(getHours(maxTime));\n if (maxAmPm !== amPm) {\n // pm is always after am, so we should ignore validation\n return null;\n }\n return maxHourResult;\n })());\n const minHour = safeMax(1, minTime &&\n (() => {\n const [minHourResult, minAmPm] = convert24to12(getHours(minTime));\n if (\n // pm is always after am, so we should ignore validation\n minAmPm !== amPm ||\n // If minHour is 12 am/pm, user should be able to enter 12, 1, ..., 11.\n minHourResult === 12) {\n return null;\n }\n return minHourResult;\n })());\n const value12 = value ? convert24to12(value)[0].toString() : '';\n return (_jsx(Input, { max: maxHour, min: minHour, name: \"hour12\", nameForClass: \"hour\", value: value12, ...otherProps }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function Hour24Input({ maxTime, minTime, ...otherProps }) {\n const maxHour = safeMin(23, maxTime && getHours(maxTime));\n const minHour = safeMax(0, minTime && getHours(minTime));\n return _jsx(Input, { max: maxHour, min: minHour, name: \"hour24\", nameForClass: \"hour\", ...otherProps });\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours, getMinutes } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function MinuteInput({ hour, maxTime, minTime, showLeadingZeros = true, ...otherProps }) {\n function isSameHour(date) {\n return hour === getHours(date).toString();\n }\n const maxMinute = safeMin(59, maxTime && isSameHour(maxTime) && getMinutes(maxTime));\n const minMinute = safeMax(0, minTime && isSameHour(minTime) && getMinutes(minTime));\n return (_jsx(Input, { max: maxMinute, min: minMinute, name: \"minute\", showLeadingZeros: showLeadingZeros, ...otherProps }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours, getHoursMinutes, getHoursMinutesSeconds } from '@wojtekmaj/date-utils';\nexport default function NativeInput({ ariaLabel, disabled, maxTime, minTime, name, onChange, required, value, valueType, }) {\n const nativeValueParser = (() => {\n switch (valueType) {\n case 'hour':\n return (receivedValue) => `${getHours(receivedValue)}:00`;\n case 'minute':\n return getHoursMinutes;\n case 'second':\n return getHoursMinutesSeconds;\n default:\n throw new Error('Invalid valueType');\n }\n })();\n const step = (() => {\n switch (valueType) {\n case 'hour':\n return 3600;\n case 'minute':\n return 60;\n case 'second':\n return 1;\n default:\n throw new Error('Invalid valueType');\n }\n })();\n function stopPropagation(event) {\n event.stopPropagation();\n }\n return (_jsx(\"input\", { \"aria-label\": ariaLabel, disabled: disabled, hidden: true, max: maxTime ? nativeValueParser(maxTime) : undefined, min: minTime ? nativeValueParser(minTime) : undefined, name: name, onChange: onChange, onFocus: stopPropagation, required: required, step: step, style: {\n visibility: 'hidden',\n position: 'absolute',\n zIndex: '-999',\n }, type: \"time\", value: value ? nativeValueParser(value) : '' }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getHours, getMinutes, getSeconds } from '@wojtekmaj/date-utils';\nimport Input from './Input.js';\nimport { safeMax, safeMin } from '../shared/utils.js';\nexport default function SecondInput({ hour, maxTime, minTime, minute, showLeadingZeros = true, ...otherProps }) {\n function isSameMinute(date) {\n return hour === getHours(date).toString() && minute === getMinutes(date).toString();\n }\n const maxSecond = safeMin(59, maxTime && isSameMinute(maxTime) && getSeconds(maxTime));\n const minSecond = safeMax(0, minTime && isSameMinute(minTime) && getSeconds(minTime));\n return (_jsx(Input, { max: maxSecond, min: minSecond, name: \"second\", showLeadingZeros: showLeadingZeros, ...otherProps }));\n}\n","'use client';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef, useState } from 'react';\nimport { getHours, getHoursMinutes, getHoursMinutesSeconds, getMinutes, getSeconds, } from '@wojtekmaj/date-utils';\nimport Divider from './Divider.js';\nimport AmPm from './TimeInput/AmPm.js';\nimport Hour12Input from './TimeInput/Hour12Input.js';\nimport Hour24Input from './TimeInput/Hour24Input.js';\nimport MinuteInput from './TimeInput/MinuteInput.js';\nimport NativeInput from './TimeInput/NativeInput.js';\nimport SecondInput from './TimeInput/SecondInput.js';\nimport { getFormatter, getNumberFormatter } from './shared/dateFormatter.js';\nimport { convert12to24, convert24to12 } from './shared/dates.js';\nimport { getAmPmLabels } from './shared/utils.js';\nconst getFormatterOptionsCache = {};\nconst allViews = ['hour', 'minute', 'second'];\nfunction isInternalInput(element) {\n return element.dataset.input === 'true';\n}\nfunction findInput(element, property) {\n let nextElement = element;\n do {\n nextElement = nextElement[property];\n } while (nextElement && !isInternalInput(nextElement));\n return nextElement;\n}\nfunction focus(element) {\n if (element) {\n element.focus();\n }\n}\nfunction renderCustomInputs(placeholder, elementFunctions, allowMultipleInstances) {\n const usedFunctions = [];\n const pattern = new RegExp(Object.keys(elementFunctions)\n .map((el) => `${el}+`)\n .join('|'), 'g');\n const matches = placeholder.match(pattern);\n return placeholder.split(pattern).reduce((arr, element, index) => {\n const divider = element && (\n // biome-ignore lint/suspicious/noArrayIndexKey: index is stable here\n _jsx(Divider, { children: element }, `separator_${index}`));\n arr.push(divider);\n const currentMatch = matches === null || matches === void 0 ? void 0 : matches[index];\n if (currentMatch) {\n const renderFunction = elementFunctions[currentMatch] ||\n elementFunctions[Object.keys(elementFunctions).find((elementFunction) => currentMatch.match(elementFunction))];\n if (!renderFunction) {\n return arr;\n }\n if (!allowMultipleInstances && usedFunctions.includes(renderFunction)) {\n arr.push(currentMatch);\n }\n else {\n arr.push(renderFunction(currentMatch, index));\n usedFunctions.push(renderFunction);\n }\n }\n return arr;\n }, []);\n}\nconst formatNumber = getNumberFormatter({ useGrouping: false });\nexport default function TimeInput({ amPmAriaLabel, autoFocus, className, disabled, format, hourAriaLabel, hourPlaceholder, isClockOpen: isClockOpenProps = null, locale, maxDetail = 'minute', maxTime, minTime, minuteAriaLabel, minutePlaceholder, name = 'time', nativeInputAriaLabel, onChange: onChangeProps, onInvalidChange, required, secondAriaLabel, secondPlaceholder, value: valueProps, }) {\n const [amPm, setAmPm] = useState(null);\n const [hour, setHour] = useState(null);\n const [minute, setMinute] = useState(null);\n const [second, setSecond] = useState(null);\n const [value, setValue] = useState(null);\n const amPmInput = useRef(null);\n const hour12Input = useRef(null);\n const hour24Input = useRef(null);\n const minuteInput = useRef(null);\n const secondInput = useRef(null);\n const [isClockOpen, setIsClockOpen] = useState(isClockOpenProps);\n const lastPressedKey = useRef(undefined);\n useEffect(() => {\n setIsClockOpen(isClockOpenProps);\n }, [isClockOpenProps]);\n // biome-ignore lint/correctness/useExhaustiveDependencies: useEffect intentionally triggered on props change\n useEffect(() => {\n const nextValue = valueProps;\n if (nextValue) {\n setAmPm(convert24to12(getHours(nextValue))[1]);\n setHour(getHours(nextValue).toString());\n setMinute(getMinutes(nextValue).toString());\n setSecond(getSeconds(nextValue).toString());\n setValue(nextValue);\n }\n else {\n setAmPm(null);\n setHour(null);\n setMinute(null);\n setSecond(null);\n setValue(null);\n }\n }, [\n valueProps,\n minTime,\n maxTime,\n maxDetail,\n // Toggling clock visibility resets values\n isClockOpen,\n ]);\n const valueType = maxDetail;\n const formatTime = (() => {\n const level = allViews.indexOf(maxDetail);\n const formatterOptions = getFormatterOptionsCache[level] ||\n (() => {\n const options = { hour: 'numeric' };\n if (level >= 1) {\n options.minute = 'numeric';\n }\n if (level >= 2) {\n options.second = 'numeric';\n }\n getFormatterOptionsCache[level] = options;\n return options;\n })();\n return getFormatter(formatterOptions);\n })();\n /**\n * Gets current value in a desired format.\n */\n function getProcessedValue(value) {\n const processFunction = (() => {\n switch (valueType) {\n case 'hour':\n case 'minute':\n return getHoursMinutes;\n case 'second':\n return getHoursMinutesSeconds;\n default:\n throw new Error('Invalid valueType');\n }\n })();\n return processFunction(value);\n }\n const placeholder = format ||\n (() => {\n const hour24 = 21;\n const hour12 = 9;\n const minute = 13;\n const second = 14;\n const date = new Date(2017, 0, 1, hour24, minute, second);\n return formatTime(locale, date)\n .replace(formatNumber(locale, hour12), 'h')\n .replace(formatNumber(locale, hour24), 'H')\n .replace(formatNumber(locale, minute), 'mm')\n .replace(formatNumber(locale, second), 'ss')\n .replace(new RegExp(getAmPmLabels(locale).join('|')), 'a');\n })();\n const divider = (() => {\n const dividers = placeholder.match(/[^0-9a-z]/i);\n return dividers ? dividers[0] : null;\n })();\n function onClick(event) {\n if (event.target === event.currentTarget) {\n // Wrapper was directly clicked\n const firstInput = event.target.children[1];\n focus(firstInput);\n }\n }\n function onKeyDown(event) {\n lastPressedKey.current = event.key;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case divider: {\n event.preventDefault();\n const { target: input } = event;\n const property = event.key === 'ArrowLeft' ? 'previousElementSibling' : 'nextElementSibling';\n const nextInput = findInput(input, property);\n focus(nextInput);\n break;\n }\n default:\n }\n }\n function onKeyUp(event) {\n const { key, target: input } = event;\n const isLastPressedKey = lastPressedKey.current === key;\n if (!isLastPressedKey) {\n return;\n }\n const isNumberKey = !Number.isNaN(Number(key));\n if (!isNumberKey) {\n return;\n }\n const max = input.getAttribute('max');\n if (!max) {\n return;\n }\n const { value } = input;\n /**\n * Given 1, the smallest possible number the user could type by adding another digit is 10.\n * 10 would be a valid value given max = 12, so we won't jump to the next input.\n * However, given 2, smallers possible number would be 20, and thus keeping the focus in\n * this field doesn't make sense.\n */\n if (Number(value) * 10 > Number(max) || value.length >= max.length) {\n const property = 'nextElementSibling';\n const nextInput = findInput(input, property);\n focus(nextInput);\n }\n }\n /**\n * Called after internal onChange. Checks input validity. If all fields are valid,\n * calls props.onChange.\n */\n function onChangeExternal() {\n if (!onChangeProps) {\n return;\n }\n function filterBoolean(value) {\n return Boolean(value);\n }\n const formElements = [\n amPmInput.current,\n hour12Input.current,\n hour24Input.current,\n minuteInput.current,\n secondInput.current,\n ].filter(filterBoolean);\n const formElementsWithoutSelect = formElements.slice(1);\n const values = {};\n for (const formElement of formElements) {\n values[formElement.name] =\n formElement.type === 'number' ? formElement.valueAsNumber : formElement.value;\n }\n const isEveryValueEmpty = formElementsWithoutSelect.every((formElement) => !formElement.value);\n if (isEveryValueEmpty) {\n onChangeProps(null, false);\n return;\n }\n const isEveryValueFilled = formElements.every((formElement) => formElement.value);\n const isEveryValueValid = formElements.every((formElement) => formElement.validity.valid);\n if (isEveryValueFilled && isEveryValueValid) {\n const hour = Number(values.hour24 ||\n (values.hour12 && values.amPm && convert12to24(values.hour12, values.amPm)) ||\n 0);\n const minute = Number(values.minute || 0);\n const second = Number(values.second || 0);\n const padStart = (num) => `0${num}`.slice(-2);\n const proposedValue = `${padStart(hour)}:${padStart(minute)}:${padStart(second)}`;\n const processedValue = getProcessedValue(proposedValue);\n onChangeProps(processedValue, false);\n return;\n }\n if (!onInvalidChange) {\n return;\n }\n onInvalidChange();\n }\n /**\n * Called when non-native date input is changed.\n */\n function onChange(event) {\n const { name, value } = event.target;\n switch (name) {\n case 'amPm':\n setAmPm(value);\n break;\n case 'hour12':\n setHour(value ? convert12to24(value, amPm || 'am').toString() : '');\n break;\n case 'hour24':\n setHour(value);\n break;\n case 'minute':\n setMinute(value);\n break;\n case 'second':\n setSecond(value);\n break;\n }\n onChangeExternal();\n }\n /**\n * Called when native date input is changed.\n */\n function onChangeNative(event) {\n const { value } = event.target;\n if (!onChangeProps) {\n return;\n }\n const processedValue = value || null;\n onChangeProps(processedValue, false);\n }\n const commonInputProps = {\n className,\n disabled,\n maxTime,\n minTime,\n onChange,\n onKeyDown,\n onKeyUp,\n // This is only for showing validity when editing\n required: Boolean(required || isClockOpen),\n };\n function renderHour12(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : false;\n return (_jsx(Hour12Input, { ...commonInputProps, amPm: amPm, ariaLabel: hourAriaLabel, autoFocus: index === 0 && autoFocus, inputRef: hour12Input, placeholder: hourPlaceholder, showLeadingZeros: showLeadingZeros, value: hour }, \"hour12\"));\n }\n function renderHour24(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : false;\n return (_jsx(Hour24Input, { ...commonInputProps, ariaLabel: hourAriaLabel, autoFocus: index === 0 && autoFocus, inputRef: hour24Input, placeholder: hourPlaceholder, showLeadingZeros: showLeadingZeros, value: hour }, \"hour24\"));\n }\n function renderHour(currentMatch, index) {\n if (/h/.test(currentMatch)) {\n return renderHour12(currentMatch, index);\n }\n return renderHour24(currentMatch, index);\n }\n function renderMinute(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : false;\n return (_jsx(MinuteInput, { ...commonInputProps, ariaLabel: minuteAriaLabel, autoFocus: index === 0 && autoFocus, hour: hour, inputRef: minuteInput, placeholder: minutePlaceholder, showLeadingZeros: showLeadingZeros, value: minute }, \"minute\"));\n }\n function renderSecond(currentMatch, index) {\n if (currentMatch && currentMatch.length > 2) {\n throw new Error(`Unsupported token: ${currentMatch}`);\n }\n const showLeadingZeros = currentMatch ? currentMatch.length === 2 : true;\n return (_jsx(SecondInput, { ...commonInputProps, ariaLabel: secondAriaLabel, autoFocus: index === 0 && autoFocus, hour: hour, inputRef: secondInput, minute: minute, placeholder: secondPlaceholder, showLeadingZeros: showLeadingZeros, value: second }, \"second\"));\n }\n function renderAmPm(_currentMatch, index) {\n return (_jsx(AmPm, { ...commonInputProps, ariaLabel: amPmAriaLabel, autoFocus: index === 0 && autoFocus, inputRef: amPmInput, locale: locale, onChange: onChange, value: amPm }, \"ampm\"));\n }\n function renderCustomInputsInternal() {\n const elementFunctions = {\n h: renderHour,\n H: renderHour,\n m: renderMinute,\n s: renderSecond,\n a: renderAmPm,\n };\n const allowMultipleInstances = typeof format !== 'undefined';\n return renderCustomInputs(placeholder, elementFunctions, allowMultipleInstances);\n }\n function renderNativeInput() {\n return (_jsx(NativeInput, { ariaLabel: nativeInputAriaLabel, disabled: disabled, maxTime: maxTime, minTime: minTime, name: name, onChange: onChangeNative, required: required, value: value, valueType: valueType }, \"time\"));\n }\n return (\n // biome-ignore lint/a11y/useKeyWithClickEvents: This interaction is designed for mouse users only\n // biome-ignore lint/a11y/noStaticElementInteractions: This interaction is designed for mouse users only\n _jsxs(\"div\", { className: className, onClick: onClick, children: [renderNativeInput(), renderCustomInputsInternal()] }));\n}\n","'use client';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport clsx from 'clsx';\nimport makeEventProps from 'make-event-props';\nimport Clock from 'react-clock';\nimport Fit from 'react-fit';\nimport TimeInput from './TimeInput.js';\nconst baseClassName = 'react-time-picker';\nconst outsideActionEvents = ['mousedown', 'focusin', 'touchstart'];\nconst iconProps = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 19,\n height: 19,\n viewBox: '0 0 19 19',\n stroke: 'black',\n strokeWidth: 2,\n};\nconst ClockIcon = (_jsxs(\"svg\", { ...iconProps, \"aria-hidden\": \"true\", className: `${baseClassName}__clock-button__icon ${baseClassName}__button__icon`, fill: \"none\", children: [_jsx(\"circle\", { cx: \"9.5\", cy: \"9.5\", r: \"7.5\" }), _jsx(\"path\", { d: \"M9.5 4.5 v5 h4\" })] }));\nconst ClearIcon = (_jsxs(\"svg\", { ...iconProps, \"aria-hidden\": \"true\", className: `${baseClassName}__clear-button__icon ${baseClassName}__button__icon`, children: [_jsx(\"line\", { x1: \"4\", x2: \"15\", y1: \"4\", y2: \"15\" }), _jsx(\"line\", { x1: \"15\", x2: \"4\", y1: \"4\", y2: \"15\" })] }));\nexport default function TimePicker(props) {\n const { amPmAriaLabel, autoFocus, className, clearAriaLabel, clearIcon = ClearIcon, clockAriaLabel, clockIcon = ClockIcon, closeClock: shouldCloseClockOnSelect = true, 'data-testid': dataTestid, hourAriaLabel, hourPlaceholder, disableClock, disabled, format, id, isOpen: isOpenProps = null, locale, maxTime, maxDetail = 'minute', minTime, minuteAriaLabel, minutePlaceholder, name = 'time', nativeInputAriaLabel, onClockClose, onClockOpen, onChange: onChangeProps, onFocus: onFocusProps, onInvalidChange, openClockOnFocus = true, required, value, secondAriaLabel, secondPlaceholder, shouldCloseClock, shouldOpenClock, ...otherProps } = props;\n const [isOpen, setIsOpen] = useState(isOpenProps);\n const wrapper = useRef(null);\n const clockWrapper = useRef(null);\n useEffect(() => {\n setIsOpen(isOpenProps);\n }, [isOpenProps]);\n function openClock({ reason }) {\n if (shouldOpenClock) {\n if (!shouldOpenClock({ reason })) {\n return;\n }\n }\n setIsOpen(true);\n if (onClockOpen) {\n onClockOpen();\n }\n }\n const closeClock = useCallback(({ reason }) => {\n if (shouldCloseClock) {\n if (!shouldCloseClock({ reason })) {\n return;\n }\n }\n setIsOpen(false);\n if (onClockClose) {\n onClockClose();\n }\n }, [onClockClose, shouldCloseClock]);\n function toggleClock() {\n if (isOpen) {\n closeClock({ reason: 'buttonClick' });\n }\n else {\n openClock({ reason: 'buttonClick' });\n }\n }\n function onChange(value, shouldCloseClock = shouldCloseClockOnSelect) {\n if (shouldCloseClock) {\n closeClock({ reason: 'select' });\n }\n if (onChangeProps) {\n onChangeProps(value);\n }\n }\n function onFocus(event) {\n if (onFocusProps) {\n onFocusProps(event);\n }\n if (\n // Internet Explorer still fires onFocus on disabled elements\n disabled ||\n isOpen ||\n !openClockOnFocus ||\n event.target.dataset.select === 'true') {\n return;\n }\n openClock({ reason: 'focus' });\n }\n const onKeyDown = useCallback((event) => {\n if (event.key === 'Escape') {\n closeClock({ reason: 'escape' });\n }\n }, [closeClock]);\n function clear() {\n onChange(null);\n }\n function stopPropagation(event) {\n event.stopPropagation();\n }\n const onOutsideAction = useCallback((event) => {\n const { current: wrapperEl } = wrapper;\n const { current: clockWrapperEl } = clockWrapper;\n // Try event.composedPath first to handle clicks inside a Shadow DOM.\n const target = ('composedPath' in event ? event.composedPath()[0] : event.target);\n if (target &&\n wrapperEl &&\n !wrapperEl.contains(target) &&\n (!clockWrapperEl || !clockWrapperEl.contains(target))) {\n closeClock({ reason: 'outsideAction' });\n }\n }, [closeClock]);\n const handleOutsideActionListeners = useCallback((shouldListen = isOpen) => {\n for (const event of outsideActionEvents) {\n if (shouldListen) {\n document.addEventListener(event, onOutsideAction);\n }\n else {\n document.removeEventListener(event, onOutsideAction);\n }\n }\n if (shouldListen) {\n document.addEventListener('keydown', onKeyDown);\n }\n else {\n document.removeEventListener('keydown', onKeyDown);\n }\n }, [isOpen, onOutsideAction, onKeyDown]);\n useEffect(() => {\n handleOutsideActionListeners();\n return () => {\n handleOutsideActionListeners(false);\n };\n }, [handleOutsideActionListeners]);\n function renderInputs() {\n const [valueFrom] = Array.isArray(value) ? value : [value];\n const ariaLabelProps = {\n amPmAriaLabel,\n hourAriaLabel,\n minuteAriaLabel,\n nativeInputAriaLabel,\n secondAriaLabel,\n };\n const placeholderProps = {\n hourPlaceholder,\n minutePlaceholder,\n secondPlaceholder,\n };\n return (_jsxs(\"div\", { className: `${baseClassName}__wrapper`, children: [_jsx(TimeInput, { ...ariaLabelProps, ...placeholderProps, autoFocus: autoFocus, className: `${baseClassName}__inputGroup`, disabled: disabled, format: format, isClockOpen: isOpen, locale: locale, maxDetail: maxDetail, maxTime: maxTime, minTime: minTime, name: name, onChange: onChange, onInvalidChange: onInvalidChange, required: required, value: valueFrom }), clearIcon !== null && (_jsx(\"button\", { \"aria-label\": clearAriaLabel, className: `${baseClassName}__clear-button ${baseClassName}__button`, disabled: disabled, onClick: clear, onFocus: stopPropagation, type: \"button\", children: typeof clearIcon === 'function' ? createElement(clearIcon) : clearIcon })), clockIcon !== null && !disableClock && (_jsx(\"button\", { \"aria-expanded\": isOpen || false, \"aria-label\": clockAriaLabel, className: `${baseClassName}__clock-button ${baseClassName}__button`, disabled: disabled, onClick: toggleClock, onFocus: stopPropagation, type: \"button\", children: typeof clockIcon === 'function' ? createElement(clockIcon) : clockIcon }))] }));\n }\n function renderClock() {\n if (isOpen === null || disableClock) {\n return null;\n }\n const { clockProps, portalContainer, value } = props;\n const className = `${baseClassName}__clock`;\n const classNames = clsx(className, `${className}--${isOpen ? 'open' : 'closed'}`);\n const [valueFrom] = Array.isArray(value) ? value : [value];\n const clock = _jsx(Clock, { locale: locale, value: valueFrom, ...clockProps });\n return portalContainer ? (createPortal(_jsx(\"div\", { ref: clockWrapper, className: classNames, children: clock }), portalContainer)) : (_jsx(Fit, { children: _jsx(\"div\", { ref: (ref) => {\n if (ref && !isOpen) {\n ref.removeAttribute('style');\n }\n }, className: classNames, children: clock }) }));\n }\n const eventProps = useMemo(() => makeEventProps(otherProps), \n // biome-ignore lint/correctness/useExhaustiveDependencies: FIXME\n [otherProps]);\n return (\n // biome-ignore lint/a11y/noStaticElementInteractions: False positive caused by non interactive wrapper listening for bubbling events\n _jsxs(\"div\", { className: clsx(baseClassName, `${baseClassName}--${isOpen ? 'open' : 'closed'}`, `${baseClassName}--${disabled ? 'disabled' : 'enabled'}`, className), \"data-testid\": dataTestid, id: id, ...eventProps, onFocus: onFocus, ref: wrapper, children: [renderInputs(), renderClock()] }));\n}\n","import styled from \"styled-components\";\n\nexport const TimePickerInputStyled = styled.div<{ isInvalid?: boolean }>`\n\twidth: auto;\n\n\t.react-time-picker {\n\t\tdisplay: inline-flex;\n\t\tposition: relative;\n\t\tmin-width: 86px;\n\t}\n\n\t.react-time-picker,\n\t.react-time-picker *,\n\t.react-time-picker *:before,\n\t.react-time-picker *:after {\n\t\t-moz-box-sizing: border-box;\n\t\t-webkit-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\t.react-time-picker--disabled {\n\t\tbackground-color: #f0f0f0;\n\t\tcolor: #6d6d6d;\n\t}\n\t.react-time-picker__wrapper {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 0;\n\t\tborder: 1px solid ${({ isInvalid }) => (isInvalid ? \"var(--color-danger-default)\" : \"var(--input)\")};\n\t\tbackground-color: var(--select-input-bg);\n\t\tborder-radius: var(--radius-medium);\n\t\twidth: 100%;\n\t\theight: var(--input-default);\n\t\tpadding: 0 6px;\n\t\ttransition: border-color 120ms ease;\n\n\t\t&:focus-within {\n\t\t\tborder-color: ${({ isInvalid }) => (isInvalid ? \"var(--color-danger-default)\" : \"var(--color-primary-default)\")};\n\t\t\tbox-shadow: 0 0 0 3px\n\t\t\t\t${({ isInvalid }) =>\n\t\t\t\t\tisInvalid ? \"color-mix(in srgb, var(--color-danger-default) 20%, transparent)\" : \"color-mix(in srgb, var(--color-primary-default) 20%, transparent)\"};\n\t\t}\n\t}\n\t.react-time-picker__inputGroup {\n\t\tpadding: 0;\n\t\tmin-width: unset;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\t.react-time-picker__inputGroup__divider {\n\t\tpadding: 1px 0;\n\t\twhite-space: pre;\n\t}\n\t.react-time-picker__inputGroup__leadingZero {\n\t\tfont-weight: 400;\n\t\tfont-size: 14px;\n\t\tcolor: inherit;\n\t}\n\t.react-time-picker__inputGroup__input {\n\t\tmin-width: 0.54em;\n\t\theight: auto;\n\t\tposition: relative;\n\t\tpadding: 0 1px;\n\t\tborder: 0;\n\t\tbackground: none;\n\t\tfont: inherit;\n\t\tbox-sizing: content-box;\n\t\t-moz-appearance: textfield;\n\t\tfont-weight: 400;\n\t\tfont-size: 14px;\n\t\tcolor: inherit;\n\t\toutline: none;\n\t\tborder-radius: var(--radius-small);\n\t}\n\t.react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n\t.react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n\t\t-webkit-appearance: none;\n\t\tmargin: 0;\n\t}\n\t.react-time-picker__inputGroup__input:invalid {\n\t\tbackground: rgba(245, 65, 128, 0.1);\n\t}\n\t.react-time-picker__inputGroup__input--hasLeadingZero {\n\t\tmargin-left: -0.54em;\n\t\tpadding-left: calc(1px + 0.54em);\n\t}\n\t.react-time-picker__inputGroup__amPm {\n\t\tdisplay: none;\n\t\tfont: inherit;\n\t\t-moz-appearance: menulist;\n\t}\n\t.react-time-picker__button {\n\t\tborder: 0;\n\t\tbackground: transparent;\n\t\tpadding: 2px 2px;\n\t\tmargin-left: auto;\n\t\twidth: 20px;\n\t}\n\t.react-time-picker__button:enabled {\n\t\tcursor: pointer;\n\t\topacity: 0.7;\n\t}\n\n\t.react-time-picker__button:enabled:hover,\n\t.react-time-picker__button:enabled:focus {\n\t\topacity: 1;\n\t}\n\t.react-time-picker__button:enabled:hover .react-time-picker__button__icon,\n\t.react-time-picker__button:enabled:focus .react-time-picker__button__icon {\n\t\topacity: 1;\n\t}\n\t.react-time-picker__button:disabled .react-time-picker__button__icon {\n\t\tstroke: #6d6d6d;\n\t}\n\t.react-time-picker__button svg {\n\t\tdisplay: inherit;\n\t}\n\t.react-time-picker__clock {\n\t\twidth: 200px;\n\t\theight: 200px;\n\t\tmax-width: 100vw;\n\t\tpadding: 25px;\n\t\tbackground-color: white;\n\t\tborder: thin solid #a0a096;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tleft: 0;\n\t\tz-index: 1;\n\t}\n\t.react-time-picker__clock--closed {\n\t\tdisplay: none;\n\t}\n`;\n","import TimePicker, { type TimePickerProps } from \"react-time-picker\";\nimport { useEffect, useId, useRef } from \"react\";\nimport { TimePickerInputStyled } from \"./time-picker.styled\";\nimport { cn } from \"@/lib/utils\";\nimport { LabelError } from \"../ui\";\n\nexport interface TimePickerInputProps extends TimePickerProps {\n\tid?: string;\n\tonChange: (value: string | null) => void;\n\ttime: string | null;\n\tname: string;\n\thandleAddTime?: (e: any) => void;\n\tdisabled?: boolean;\n\tlabel?: string;\n\trequired?: boolean;\n\tisClearable?: boolean;\n\terror?: string;\n\ttouched?: boolean;\n\tisErrorText?: boolean;\n\tonBlurField?: (name: string) => void;\n}\n\nexport const TimePickerInput = ({\n\tonChange,\n\ttime,\n\tname,\n\thandleAddTime,\n\tid,\n\tlabel,\n\trequired = false,\n\tisClearable = true,\n\terror,\n\ttouched,\n\tonBlurField,\n\tisErrorText = true,\n\tdisabled = false,\n\t...rest\n}: TimePickerInputProps) => {\n\tconst refTimePicker = useRef<HTMLInputElement>(null);\n\n\tconst inputId = useId();\n\tconst resolvedId = id || inputId;\n\n\tconst isInvalid = !disabled && !!error && touched;\n\n\tconst labelClass = cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\n\t\t\"text-danger\": isInvalid,\n\t});\n\n\tuseEffect(() => {\n\t\tconst keyDownHandler = (event: any) => {\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (handleAddTime) handleAddTime(event);\n\t\t\t}\n\t\t};\n\n\t\tif (refTimePicker.current) {\n\t\t\trefTimePicker.current.addEventListener(\"keydown\", keyDownHandler);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (refTimePicker.current) {\n\t\t\t\trefTimePicker.current.removeEventListener(\"keydown\", keyDownHandler);\n\t\t\t}\n\t\t};\n\t}, [handleAddTime, name]);\n\n\treturn (\n\t\t<TimePickerInputStyled\n\t\t\tref={refTimePicker}\n\t\t\tisInvalid={isInvalid}\n\t\t\tclassName=\"time-picker-input relative flex flex-col\"\n\t\t\tonBlurCapture={() => onBlurField?.(name)}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\n\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\n\t\t\t\t</label>\n\t\t\t)}\n\t\t\t<TimePicker\n\t\t\t\tid={resolvedId}\n\t\t\t\tname={name}\n\t\t\t\tvalue={time}\n\t\t\t\tonChange={onChange}\n\t\t\t\tamPmAriaLabel=\"n/a\"\n\t\t\t\tdisableClock\n\t\t\t\tformat=\"HH:mm a\"\n\t\t\t\thourPlaceholder=\"hh\"\n\t\t\t\tminutePlaceholder=\"mm\"\n\t\t\t\tdisabled={disabled}\n\t\t\t\trequired={required}\n\t\t\t\tclearIcon={\n\t\t\t\t\tisClearable ? (\n\t\t\t\t\t\t<svg aria-hidden=\"true\" focusable=\"false\" height=\"1em\" role=\"presentation\" viewBox=\"0 0 24 24\" width=\"1em\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\t{...rest}\n\t\t\t/>\n {!disabled && error && touched && isErrorText && <LabelError text={error} />}\n\t\t</TimePickerInputStyled>\n\t);\n};\n"],"names":["_jsx","memo","Mark","MarkNumber","isValidNumber","safeMax","formatHour","defaultFormatHour","_jsxs","useLayoutEffect","useEffect","_Fragment","useState","useRef","value","minute","second","hour","padStart","name","useCallback","shouldCloseClock","onFocus","createElement","className","createPortal","Fit","useMemo","makeEventProps","TimePickerInputStyled","styled","div","isInvalid","TimePickerInput","t0","$","_c","error","handleAddTime","id","label","onBlurField","onChange","rest","t1","t2","t3","t4","time","touched","required","isClearable","isErrorText","disabled","undefined","refTimePicker","inputId","useId","resolvedId","t5","cn","labelClass","t6","keyDownHandler","event","key","preventDefault","current","addEventListener","removeEventListener","t7","t8","t9","jsxs","jsx","t10","t11","t12","LabelError","t13"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}
|