@alfadocs/ui-kit-debug 0.89.0 → 0.94.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{antenatal-schedule-timeline-UiZQze4P.js → antenatal-schedule-timeline-BMMpi2lb.js} +17 -17
- package/dist/_chunks/{antenatal-schedule-timeline-UiZQze4P.js.map → antenatal-schedule-timeline-BMMpi2lb.js.map} +1 -1
- package/dist/_chunks/apexcharts-theme-fAQXLIMW.js +67 -0
- package/dist/_chunks/apexcharts-theme-fAQXLIMW.js.map +1 -0
- package/dist/_chunks/{appointment-timeline-CwpbQGC1.js → appointment-timeline-BB-c1LeR.js} +2 -2
- package/dist/_chunks/{appointment-timeline-CwpbQGC1.js.map → appointment-timeline-BB-c1LeR.js.map} +1 -1
- package/dist/_chunks/{ar-C9FRRqJs.js → ar-THMLfSoN.js} +22 -22
- package/dist/_chunks/{ar-C9FRRqJs.js.map → ar-THMLfSoN.js.map} +1 -1
- package/dist/_chunks/{booking-DEwmDprH.js → booking-BSpSMmJ2.js} +4 -4
- package/dist/_chunks/{booking-DEwmDprH.js.map → booking-BSpSMmJ2.js.map} +1 -1
- package/dist/_chunks/{chart-CNaLgvx4.js → chart-DqxVCm1I.js} +288 -257
- package/dist/_chunks/chart-DqxVCm1I.js.map +1 -0
- package/dist/_chunks/{cycle-calculator-DXSNIWFk.js → cycle-calculator-DNvvr0bP.js} +3 -3
- package/dist/_chunks/{cycle-calculator-DXSNIWFk.js.map → cycle-calculator-DNvvr0bP.js.map} +1 -1
- package/dist/_chunks/date-picker-BP_W6VtE.js +265 -0
- package/dist/_chunks/date-picker-BP_W6VtE.js.map +1 -0
- package/dist/_chunks/{date-picker-variants-D9B6hg15.js → date-picker-variants-eL6HjWvw.js} +966 -841
- package/dist/_chunks/{date-picker-variants-D9B6hg15.js.map → date-picker-variants-eL6HjWvw.js.map} +1 -1
- package/dist/_chunks/date-range-picker-Cfv4Sr63.js +832 -0
- package/dist/_chunks/date-range-picker-Cfv4Sr63.js.map +1 -0
- package/dist/_chunks/{date-time-picker-BU-j0qj4.js → date-time-picker-695QvBGj.js} +2 -2
- package/dist/_chunks/{date-time-picker-BU-j0qj4.js.map → date-time-picker-695QvBGj.js.map} +1 -1
- package/dist/_chunks/{de-C3_KZ6mR.js → de-DmZ-8rTN.js} +4 -4
- package/dist/_chunks/{de-C3_KZ6mR.js.map → de-DmZ-8rTN.js.map} +1 -1
- package/dist/_chunks/{due-date-calculator-BR_GuqHH.js → due-date-calculator-BEcdoy_E.js} +3 -3
- package/dist/_chunks/{due-date-calculator-BR_GuqHH.js.map → due-date-calculator-BEcdoy_E.js.map} +1 -1
- package/dist/_chunks/{el-v9xDKHgu.js → el-Bela9mxs.js} +6 -6
- package/dist/_chunks/{el-v9xDKHgu.js.map → el-Bela9mxs.js.map} +1 -1
- package/dist/_chunks/{es-Lgmjq9Rp.js → es-BNncHKex.js} +10 -10
- package/dist/_chunks/{es-Lgmjq9Rp.js.map → es-BNncHKex.js.map} +1 -1
- package/dist/_chunks/{fr-INS1OD7m.js → fr-CH8ADfhN.js} +12 -12
- package/dist/_chunks/{fr-INS1OD7m.js.map → fr-CH8ADfhN.js.map} +1 -1
- package/dist/_chunks/{gestational-age-calculator-DBIcxfjP.js → gestational-age-calculator-CuGkVqKp.js} +5 -5
- package/dist/_chunks/{gestational-age-calculator-DBIcxfjP.js.map → gestational-age-calculator-CuGkVqKp.js.map} +1 -1
- package/dist/_chunks/{hcg-doubling-BgCkds8R.js → hcg-doubling-fZ6qQN08.js} +2 -2
- package/dist/_chunks/{hcg-doubling-BgCkds8R.js.map → hcg-doubling-fZ6qQN08.js.map} +1 -1
- package/dist/_chunks/{hi-BUYtlosF.js → hi-Bppfxp8l.js} +16 -16
- package/dist/_chunks/{hi-BUYtlosF.js.map → hi-Bppfxp8l.js.map} +1 -1
- package/dist/_chunks/{isSameWeek-BUNsv4OO.js → isSameWeek-CK4HS9lH.js} +2 -2
- package/dist/_chunks/{isSameWeek-BUNsv4OO.js.map → isSameWeek-CK4HS9lH.js.map} +1 -1
- package/dist/_chunks/{it-VfsdUqeV.js → it-B4ySaRyK.js} +24 -24
- package/dist/_chunks/{it-VfsdUqeV.js.map → it-B4ySaRyK.js.map} +1 -1
- package/dist/_chunks/{ja-Dfk9qwzE.js → ja-CGF6Io9P.js} +12 -12
- package/dist/_chunks/{ja-Dfk9qwzE.js.map → ja-CGF6Io9P.js.map} +1 -1
- package/dist/_chunks/{link-cell-renderer-BzITwSXq.js → link-cell-renderer-_LDZhY4r.js} +214 -197
- package/dist/_chunks/link-cell-renderer-_LDZhY4r.js.map +1 -0
- package/dist/_chunks/{nl-Crxwg0IZ.js → nl-DuShqwuV.js} +12 -12
- package/dist/_chunks/{nl-Crxwg0IZ.js.map → nl-DuShqwuV.js.map} +1 -1
- package/dist/_chunks/parse-DvA97ro9.js +1601 -0
- package/dist/_chunks/parse-DvA97ro9.js.map +1 -0
- package/dist/_chunks/{patient-details-Dggsz-ki.js → patient-details-DrhlTrLf.js} +2 -2
- package/dist/_chunks/{patient-details-Dggsz-ki.js.map → patient-details-DrhlTrLf.js.map} +1 -1
- package/dist/_chunks/{patient-table-ps4byVwA.js → patient-table-CFM92QqU.js} +2 -2
- package/dist/_chunks/{patient-table-ps4byVwA.js.map → patient-table-CFM92QqU.js.map} +1 -1
- package/dist/_chunks/{pl-IdHtxWTl.js → pl-CKQwX9Fk.js} +22 -22
- package/dist/_chunks/{pl-IdHtxWTl.js.map → pl-CKQwX9Fk.js.map} +1 -1
- package/dist/_chunks/{pregnancy-dating-CvIRwWaG.js → pregnancy-dating-BdFl-rB1.js} +5 -5
- package/dist/_chunks/{pregnancy-dating-CvIRwWaG.js.map → pregnancy-dating-BdFl-rB1.js.map} +1 -1
- package/dist/_chunks/{pt-CY2m2bBz.js → pt-_njpXyOZ.js} +16 -16
- package/dist/_chunks/{pt-CY2m2bBz.js.map → pt-_njpXyOZ.js.map} +1 -1
- package/dist/_chunks/{radiograph-panel.agent-C93AXgtV.js → radiograph-panel.agent-DDnDGVpN.js} +3 -3
- package/dist/_chunks/{radiograph-panel.agent-C93AXgtV.js.map → radiograph-panel.agent-DDnDGVpN.js.map} +1 -1
- package/dist/_chunks/{ro-qoxLkXED.js → ro-3X6_4FcN.js} +14 -14
- package/dist/_chunks/{ro-qoxLkXED.js.map → ro-3X6_4FcN.js.map} +1 -1
- package/dist/_chunks/{ru-BVZlxoKf.js → ru-bAcgmnS-.js} +20 -20
- package/dist/_chunks/{ru-BVZlxoKf.js.map → ru-bAcgmnS-.js.map} +1 -1
- package/dist/_chunks/{sparkline-iOXYgvJe.js → sparkline-o6JH4O66.js} +2 -2
- package/dist/_chunks/{sparkline-iOXYgvJe.js.map → sparkline-o6JH4O66.js.map} +1 -1
- package/dist/_chunks/{sq--eT8hIiD.js → sq-jYFqr4Ga.js} +6 -6
- package/dist/_chunks/{sq--eT8hIiD.js.map → sq-jYFqr4Ga.js.map} +1 -1
- package/dist/_chunks/subDays-BcNi04uf.js +8 -0
- package/dist/_chunks/{subDays-fEHRx4hg.js.map → subDays-BcNi04uf.js.map} +1 -1
- package/dist/_chunks/{sv-BGNQ5gX6.js → sv-BSGEJ-8B.js} +10 -10
- package/dist/_chunks/{sv-BGNQ5gX6.js.map → sv-BSGEJ-8B.js.map} +1 -1
- package/dist/_chunks/{tr-B2NEu6Gy.js → tr-CTpgUtw6.js} +14 -14
- package/dist/_chunks/{tr-B2NEu6Gy.js.map → tr-CTpgUtw6.js.map} +1 -1
- package/dist/_chunks/{zh-CN-DClT1wDk.js → zh-CN-BgM0Io2O.js} +22 -22
- package/dist/_chunks/{zh-CN-DClT1wDk.js.map → zh-CN-BgM0Io2O.js.map} +1 -1
- package/dist/agent-catalog.json +101 -2
- package/dist/agent-i18n/en.json +8 -2
- package/dist/components/_shared/calendar-class-names.d.ts +5 -0
- package/dist/components/_shared/calendar-class-names.d.ts.map +1 -1
- package/dist/components/_shared/date-picker-variants.d.ts +23 -1
- package/dist/components/_shared/date-picker-variants.d.ts.map +1 -1
- package/dist/components/_shared/index.d.ts +2 -2
- package/dist/components/_shared/index.d.ts.map +1 -1
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/chart/chart.agent.d.ts.map +1 -1
- package/dist/components/chart/chart.d.ts +20 -0
- package/dist/components/chart/chart.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/filters/date-range-filter.d.ts +13 -0
- package/dist/components/data-table/filters/date-range-filter.d.ts.map +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts +91 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.d.ts +1 -1
- package/dist/components/date-range-picker/index.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +24 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +24 -0
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +24 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +24 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +24 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +24 -0
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +24 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +24 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +24 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +24 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +24 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +24 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +24 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +24 -0
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +24 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +24 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +24 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +24 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +24 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +24 -0
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +24 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +24 -0
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +24 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +24 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +24 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +24 -0
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +24 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +24 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +24 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +24 -0
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +24 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +24 -0
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +24 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +24 -0
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +24 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +24 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +17 -17
- package/dist/locales/ar.json +24 -0
- package/dist/locales/de.json +24 -0
- package/dist/locales/el.json +24 -0
- package/dist/locales/en.json +24 -0
- package/dist/locales/es.json +24 -0
- package/dist/locales/fr.json +24 -0
- package/dist/locales/hi.json +24 -0
- package/dist/locales/it.json +24 -0
- package/dist/locales/ja.json +24 -0
- package/dist/locales/nl.json +24 -0
- package/dist/locales/pl.json +24 -0
- package/dist/locales/pt.json +24 -0
- package/dist/locales/ro.json +24 -0
- package/dist/locales/ru.json +24 -0
- package/dist/locales/sq.json +24 -0
- package/dist/locales/sv.json +24 -0
- package/dist/locales/tr.json +24 -0
- package/dist/locales/zh.json +24 -0
- package/dist/tokens/apexcharts-theme.d.ts +36 -1
- package/dist/tokens/apexcharts-theme.d.ts.map +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/apexcharts-theme-BJigns_V.js +0 -53
- package/dist/_chunks/apexcharts-theme-BJigns_V.js.map +0 -1
- package/dist/_chunks/chart-CNaLgvx4.js.map +0 -1
- package/dist/_chunks/date-picker-ffmyjvlI.js +0 -1845
- package/dist/_chunks/date-picker-ffmyjvlI.js.map +0 -1
- package/dist/_chunks/date-range-picker-DSOH50-f.js +0 -325
- package/dist/_chunks/date-range-picker-DSOH50-f.js.map +0 -1
- package/dist/_chunks/link-cell-renderer-BzITwSXq.js.map +0 -1
- package/dist/_chunks/subDays-fEHRx4hg.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fr-INS1OD7m.js","sources":["../../node_modules/date-fns/locale/fr/_lib/formatDistance.js","../../node_modules/date-fns/locale/fr/_lib/formatLong.js","../../node_modules/date-fns/locale/fr/_lib/formatRelative.js","../../node_modules/date-fns/locale/fr/_lib/localize.js","../../node_modules/date-fns/locale/fr/_lib/match.js","../../node_modules/date-fns/locale/fr.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"moins d’une seconde\",\n other: \"moins de {{count}} secondes\",\n },\n\n xSeconds: {\n one: \"1 seconde\",\n other: \"{{count}} secondes\",\n },\n\n halfAMinute: \"30 secondes\",\n\n lessThanXMinutes: {\n one: \"moins d’une minute\",\n other: \"moins de {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"environ 1 heure\",\n other: \"environ {{count}} heures\",\n },\n\n xHours: {\n one: \"1 heure\",\n other: \"{{count}} heures\",\n },\n\n xDays: {\n one: \"1 jour\",\n other: \"{{count}} jours\",\n },\n\n aboutXWeeks: {\n one: \"environ 1 semaine\",\n other: \"environ {{count}} semaines\",\n },\n\n xWeeks: {\n one: \"1 semaine\",\n other: \"{{count}} semaines\",\n },\n\n aboutXMonths: {\n one: \"environ 1 mois\",\n other: \"environ {{count}} mois\",\n },\n\n xMonths: {\n one: \"1 mois\",\n other: \"{{count}} mois\",\n },\n\n aboutXYears: {\n one: \"environ 1 an\",\n other: \"environ {{count}} ans\",\n },\n\n xYears: {\n one: \"1 an\",\n other: \"{{count}} ans\",\n },\n\n overXYears: {\n one: \"plus d’un an\",\n other: \"plus de {{count}} ans\",\n },\n\n almostXYears: {\n one: \"presqu’un an\",\n other: \"presque {{count}} ans\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n const form = formatDistanceLocale[token];\n if (typeof form === \"string\") {\n result = form;\n } else if (count === 1) {\n result = form.one;\n } else {\n result = form.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"dans \" + result;\n } else {\n return \"il y a \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE d MMMM y\",\n long: \"d MMMM y\",\n medium: \"d MMM y\",\n short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'à' {{time}}\",\n long: \"{{date}} 'à' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"eeee 'dernier à' p\",\n yesterday: \"'hier à' p\",\n today: \"'aujourd’hui à' p\",\n tomorrow: \"'demain à' p'\",\n nextWeek: \"eeee 'prochain à' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"av. J.-C\", \"ap. J.-C\"],\n abbreviated: [\"av. J.-C\", \"ap. J.-C\"],\n wide: [\"avant Jésus-Christ\", \"après Jésus-Christ\"],\n};\n\nconst quarterValues = {\n narrow: [\"T1\", \"T2\", \"T3\", \"T4\"],\n abbreviated: [\"1er trim.\", \"2ème trim.\", \"3ème trim.\", \"4ème trim.\"],\n wide: [\"1er trimestre\", \"2ème trimestre\", \"3ème trimestre\", \"4ème trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"janv.\",\n \"févr.\",\n \"mars\",\n \"avr.\",\n \"mai\",\n \"juin\",\n \"juil.\",\n \"août\",\n \"sept.\",\n \"oct.\",\n \"nov.\",\n \"déc.\",\n ],\n\n wide: [\n \"janvier\",\n \"février\",\n \"mars\",\n \"avril\",\n \"mai\",\n \"juin\",\n \"juillet\",\n \"août\",\n \"septembre\",\n \"octobre\",\n \"novembre\",\n \"décembre\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"D\", \"L\", \"M\", \"M\", \"J\", \"V\", \"S\"],\n short: [\"di\", \"lu\", \"ma\", \"me\", \"je\", \"ve\", \"sa\"],\n abbreviated: [\"dim.\", \"lun.\", \"mar.\", \"mer.\", \"jeu.\", \"ven.\", \"sam.\"],\n\n wide: [\n \"dimanche\",\n \"lundi\",\n \"mardi\",\n \"mercredi\",\n \"jeudi\",\n \"vendredi\",\n \"samedi\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"minuit\",\n noon: \"midi\",\n morning: \"mat.\",\n afternoon: \"ap.m.\",\n evening: \"soir\",\n night: \"mat.\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"minuit\",\n noon: \"midi\",\n morning: \"matin\",\n afternoon: \"après-midi\",\n evening: \"soir\",\n night: \"matin\",\n },\n wide: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"minuit\",\n noon: \"midi\",\n morning: \"du matin\",\n afternoon: \"de l’après-midi\",\n evening: \"du soir\",\n night: \"du matin\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n\n if (number === 0) return \"0\";\n\n const feminineUnits = [\"year\", \"week\", \"hour\", \"minute\", \"second\"];\n let suffix;\n\n if (number === 1) {\n suffix = unit && feminineUnits.includes(unit) ? \"ère\" : \"er\";\n } else {\n suffix = \"ème\";\n }\n\n return number + suffix;\n};\n\nconst LONG_MONTHS_TOKENS = [\"MMM\", \"MMMM\"];\n\nexport const localize = {\n preprocessor: (date, parts) => {\n // Replaces the `do` tokens with `d` when used with long month tokens and the day of the month is greater than one.\n // Use case \"do MMMM\" => 1er août, 29 août\n // see https://github.com/date-fns/date-fns/issues/1391\n\n if (date.getDate() === 1) return parts;\n\n const hasLongMonthToken = parts.some(\n (part) => part.isToken && LONG_MONTHS_TOKENS.includes(part.value),\n );\n\n if (!hasLongMonthToken) return parts;\n\n return parts.map((part) =>\n part.isToken && part.value === \"do\"\n ? { isToken: true, value: \"d\" }\n : part,\n );\n },\n\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(ième|ère|ème|er|e)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(av\\.J\\.C|ap\\.J\\.C|ap\\.J\\.-C)/i,\n abbreviated: /^(av\\.J\\.-C|av\\.J-C|apr\\.J\\.-C|apr\\.J-C|ap\\.J-C)/i,\n wide: /^(avant Jésus-Christ|après Jésus-Christ)/i,\n};\nconst parseEraPatterns = {\n any: [/^av/i, /^ap/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^T?[1234]/i,\n abbreviated: /^[1234](er|ème|e)? trim\\.?/i,\n wide: /^[1234](er|ème|e)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated:\n /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\\.?/i,\n wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^av/i,\n /^ma/i,\n /^juin/i,\n /^juil/i,\n /^ao/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[lmjvsd]/i,\n short: /^(di|lu|ma|me|je|ve|sa)/i,\n abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\\.?/i,\n wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|minuit|midi|mat\\.?|ap\\.?m\\.?|soir|nuit)/i,\n any: /^([ap]\\.?\\s?m\\.?|du matin|de l'après[-\\s]midi|du soir|de la nuit)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^min/i,\n noon: /^mid/i,\n morning: /mat/i,\n afternoon: /ap/i,\n evening: /soir/i,\n night: /nuit/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./fr/_lib/formatDistance.js\";\nimport { formatLong } from \"./fr/_lib/formatLong.js\";\nimport { formatRelative } from \"./fr/_lib/formatRelative.js\";\nimport { localize } from \"./fr/_lib/localize.js\";\nimport { match } from \"./fr/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary French locale.\n * @language French\n * @iso-639-2 fra\n * @author Jean Dupouy [@izeau](https://github.com/izeau)\n * @author François B [@fbonzon](https://github.com/fbonzon)\n */\nexport const fr = {\n code: \"fr\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default fr;\n"],"names":["formatDistanceLocale","formatDistance","token","count","options","result","form","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","_options","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","ordinalNumber","dirtyNumber","number","unit","feminineUnits","suffix","LONG_MONTHS_TOKENS","localize","date","parts","part","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","fr"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
1
|
+
{"version":3,"file":"fr-CH8ADfhN.js","sources":["../../node_modules/date-fns/locale/fr/_lib/formatDistance.js","../../node_modules/date-fns/locale/fr/_lib/formatLong.js","../../node_modules/date-fns/locale/fr/_lib/formatRelative.js","../../node_modules/date-fns/locale/fr/_lib/localize.js","../../node_modules/date-fns/locale/fr/_lib/match.js","../../node_modules/date-fns/locale/fr.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"moins d’une seconde\",\n other: \"moins de {{count}} secondes\",\n },\n\n xSeconds: {\n one: \"1 seconde\",\n other: \"{{count}} secondes\",\n },\n\n halfAMinute: \"30 secondes\",\n\n lessThanXMinutes: {\n one: \"moins d’une minute\",\n other: \"moins de {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"environ 1 heure\",\n other: \"environ {{count}} heures\",\n },\n\n xHours: {\n one: \"1 heure\",\n other: \"{{count}} heures\",\n },\n\n xDays: {\n one: \"1 jour\",\n other: \"{{count}} jours\",\n },\n\n aboutXWeeks: {\n one: \"environ 1 semaine\",\n other: \"environ {{count}} semaines\",\n },\n\n xWeeks: {\n one: \"1 semaine\",\n other: \"{{count}} semaines\",\n },\n\n aboutXMonths: {\n one: \"environ 1 mois\",\n other: \"environ {{count}} mois\",\n },\n\n xMonths: {\n one: \"1 mois\",\n other: \"{{count}} mois\",\n },\n\n aboutXYears: {\n one: \"environ 1 an\",\n other: \"environ {{count}} ans\",\n },\n\n xYears: {\n one: \"1 an\",\n other: \"{{count}} ans\",\n },\n\n overXYears: {\n one: \"plus d’un an\",\n other: \"plus de {{count}} ans\",\n },\n\n almostXYears: {\n one: \"presqu’un an\",\n other: \"presque {{count}} ans\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n const form = formatDistanceLocale[token];\n if (typeof form === \"string\") {\n result = form;\n } else if (count === 1) {\n result = form.one;\n } else {\n result = form.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"dans \" + result;\n } else {\n return \"il y a \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE d MMMM y\",\n long: \"d MMMM y\",\n medium: \"d MMM y\",\n short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'à' {{time}}\",\n long: \"{{date}} 'à' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"eeee 'dernier à' p\",\n yesterday: \"'hier à' p\",\n today: \"'aujourd’hui à' p\",\n tomorrow: \"'demain à' p'\",\n nextWeek: \"eeee 'prochain à' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"av. J.-C\", \"ap. J.-C\"],\n abbreviated: [\"av. J.-C\", \"ap. J.-C\"],\n wide: [\"avant Jésus-Christ\", \"après Jésus-Christ\"],\n};\n\nconst quarterValues = {\n narrow: [\"T1\", \"T2\", \"T3\", \"T4\"],\n abbreviated: [\"1er trim.\", \"2ème trim.\", \"3ème trim.\", \"4ème trim.\"],\n wide: [\"1er trimestre\", \"2ème trimestre\", \"3ème trimestre\", \"4ème trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"janv.\",\n \"févr.\",\n \"mars\",\n \"avr.\",\n \"mai\",\n \"juin\",\n \"juil.\",\n \"août\",\n \"sept.\",\n \"oct.\",\n \"nov.\",\n \"déc.\",\n ],\n\n wide: [\n \"janvier\",\n \"février\",\n \"mars\",\n \"avril\",\n \"mai\",\n \"juin\",\n \"juillet\",\n \"août\",\n \"septembre\",\n \"octobre\",\n \"novembre\",\n \"décembre\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"D\", \"L\", \"M\", \"M\", \"J\", \"V\", \"S\"],\n short: [\"di\", \"lu\", \"ma\", \"me\", \"je\", \"ve\", \"sa\"],\n abbreviated: [\"dim.\", \"lun.\", \"mar.\", \"mer.\", \"jeu.\", \"ven.\", \"sam.\"],\n\n wide: [\n \"dimanche\",\n \"lundi\",\n \"mardi\",\n \"mercredi\",\n \"jeudi\",\n \"vendredi\",\n \"samedi\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"minuit\",\n noon: \"midi\",\n morning: \"mat.\",\n afternoon: \"ap.m.\",\n evening: \"soir\",\n night: \"mat.\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"minuit\",\n noon: \"midi\",\n morning: \"matin\",\n afternoon: \"après-midi\",\n evening: \"soir\",\n night: \"matin\",\n },\n wide: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"minuit\",\n noon: \"midi\",\n morning: \"du matin\",\n afternoon: \"de l’après-midi\",\n evening: \"du soir\",\n night: \"du matin\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n\n if (number === 0) return \"0\";\n\n const feminineUnits = [\"year\", \"week\", \"hour\", \"minute\", \"second\"];\n let suffix;\n\n if (number === 1) {\n suffix = unit && feminineUnits.includes(unit) ? \"ère\" : \"er\";\n } else {\n suffix = \"ème\";\n }\n\n return number + suffix;\n};\n\nconst LONG_MONTHS_TOKENS = [\"MMM\", \"MMMM\"];\n\nexport const localize = {\n preprocessor: (date, parts) => {\n // Replaces the `do` tokens with `d` when used with long month tokens and the day of the month is greater than one.\n // Use case \"do MMMM\" => 1er août, 29 août\n // see https://github.com/date-fns/date-fns/issues/1391\n\n if (date.getDate() === 1) return parts;\n\n const hasLongMonthToken = parts.some(\n (part) => part.isToken && LONG_MONTHS_TOKENS.includes(part.value),\n );\n\n if (!hasLongMonthToken) return parts;\n\n return parts.map((part) =>\n part.isToken && part.value === \"do\"\n ? { isToken: true, value: \"d\" }\n : part,\n );\n },\n\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(ième|ère|ème|er|e)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(av\\.J\\.C|ap\\.J\\.C|ap\\.J\\.-C)/i,\n abbreviated: /^(av\\.J\\.-C|av\\.J-C|apr\\.J\\.-C|apr\\.J-C|ap\\.J-C)/i,\n wide: /^(avant Jésus-Christ|après Jésus-Christ)/i,\n};\nconst parseEraPatterns = {\n any: [/^av/i, /^ap/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^T?[1234]/i,\n abbreviated: /^[1234](er|ème|e)? trim\\.?/i,\n wide: /^[1234](er|ème|e)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated:\n /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\\.?/i,\n wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^av/i,\n /^ma/i,\n /^juin/i,\n /^juil/i,\n /^ao/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[lmjvsd]/i,\n short: /^(di|lu|ma|me|je|ve|sa)/i,\n abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\\.?/i,\n wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|minuit|midi|mat\\.?|ap\\.?m\\.?|soir|nuit)/i,\n any: /^([ap]\\.?\\s?m\\.?|du matin|de l'après[-\\s]midi|du soir|de la nuit)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^min/i,\n noon: /^mid/i,\n morning: /mat/i,\n afternoon: /ap/i,\n evening: /soir/i,\n night: /nuit/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./fr/_lib/formatDistance.js\";\nimport { formatLong } from \"./fr/_lib/formatLong.js\";\nimport { formatRelative } from \"./fr/_lib/formatRelative.js\";\nimport { localize } from \"./fr/_lib/localize.js\";\nimport { match } from \"./fr/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary French locale.\n * @language French\n * @iso-639-2 fra\n * @author Jean Dupouy [@izeau](https://github.com/izeau)\n * @author François B [@fbonzon](https://github.com/fbonzon)\n */\nexport const fr = {\n code: \"fr\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default fr;\n"],"names":["formatDistanceLocale","formatDistance","token","count","options","result","form","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","_options","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","ordinalNumber","dirtyNumber","number","unit","feminineUnits","suffix","LONG_MONTHS_TOKENS","localize","date","parts","part","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","fr"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
@@ -5,15 +5,15 @@ import { useTranslation as te } from "react-i18next";
|
|
|
5
5
|
import { R as i } from "./radio-TWf9Q-mp.js";
|
|
6
6
|
import { R as y } from "./radio-group-CI-6SmSw.js";
|
|
7
7
|
import { F as x } from "./form-field-M5UpX65Z.js";
|
|
8
|
-
import { D as w } from "./date-picker-
|
|
8
|
+
import { D as w } from "./date-picker-BP_W6VtE.js";
|
|
9
9
|
import { S as le } from "./select-BW5ecXlX.js";
|
|
10
10
|
import { S as se } from "./switch-OILsBLWo.js";
|
|
11
11
|
import { C as R } from "./card-DPmk26CL.js";
|
|
12
12
|
import { B as T } from "./badge-DCOqV9mI.js";
|
|
13
13
|
import { I as ie } from "./insert-result-D074GtHX.js";
|
|
14
|
-
import { c as ne, g as oe, e as re, f as de, A as ce, h as me, i as ge, G as ue } from "./antenatal-schedule-timeline-
|
|
15
|
-
import { s as he } from "./subDays-
|
|
16
|
-
import { i as pe } from "./date-picker-variants-
|
|
14
|
+
import { c as ne, g as oe, e as re, f as de, A as ce, h as me, i as ge, G as ue } from "./antenatal-schedule-timeline-BMMpi2lb.js";
|
|
15
|
+
import { s as he } from "./subDays-BcNi04uf.js";
|
|
16
|
+
import { i as pe } from "./date-picker-variants-eL6HjWvw.js";
|
|
17
17
|
const fe = ae("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
18
18
|
variants: {
|
|
19
19
|
width: { full: "ds:w-full", auto: "ds:inline-flex" }
|
|
@@ -308,4 +308,4 @@ ve.displayName = "GestationalAgeCalculator";
|
|
|
308
308
|
export {
|
|
309
309
|
ve as G
|
|
310
310
|
};
|
|
311
|
-
//# sourceMappingURL=gestational-age-calculator-
|
|
311
|
+
//# sourceMappingURL=gestational-age-calculator-CuGkVqKp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestational-age-calculator-DBIcxfjP.js","sources":["../../src/components/gestational-age-calculator/gestational-age-calculator.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* GestationalAgeCalculator — current gestational age, trimester and */\n/* milestone dates, from either a known LMP or a known due date. */\n/* */\n/* Reuses the shared `gestation` maths from due-date-calculator: GA day */\n/* 0 is the LMP; from an EDD we back out LMP = EDD − 280 days. */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { subDays, isAfter } from 'date-fns';\nimport { RadioGroup, Radio } from '../radio-group';\nimport { FormField } from '../form-field';\nimport { DatePicker } from '../date-picker';\nimport { Select } from '../select';\nimport { Switch } from '../switch';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport {\n type Trimester,\n type GestationalAge,\n type Plurality,\n type Chorionicity,\n computeDueDate,\n gestationalMilestones,\n GESTATION_DAYS,\n TRIMESTER_BADGE_VARIANT,\n trimesterHighlightToken,\n} from '../_shared/obstetrics';\nimport {\n computeAntenatalSchedule,\n type AntenatalScheduleOptions,\n type GdmRisk,\n} from '../_shared/antenatal-schedule';\nimport {\n AntenatalScheduleTimeline,\n buildScheduleInsertFields,\n} from '../_shared/antenatal-schedule-timeline';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\ntype DateMethod = 'lmp' | 'edd';\n\nexport interface GestationalAgeResult {\n gestationalAge: GestationalAge | null;\n trimester: Trimester;\n dueDate: Date;\n}\n\nexport interface GestationalAgeCalculatorProps extends VariantProps<\n typeof rootVariants\n> {\n /** Whether the input date is the last period (`lmp`) or the due date (`edd`). */\n defaultMethod?: DateMethod;\n /** Pre-fill the reference date (e.g. a known LMP from the patient record). */\n defaultReferenceDate?: Date;\n /** Fires whenever a result can be computed (and `null` when it can't). */\n onResultChange?: (result: GestationalAgeResult | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /**\n * Which verb the result button performs. Defaults to `'insert'`.\n * Use `'copy'` in an app-shell surface (no editor to insert into) — the\n * button writes the result to the clipboard as a multi-format `ClipboardItem`.\n */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /**\n * Brand wordmark printed in the inserted/copied result-card footer.\n * Omitted → no brand line (and no footer hairline); a string → that custom\n * brand; `false` → no brand line. Brand is opt-in.\n */\n insertBrand?: string | false;\n /**\n * Append the antenatal exam schedule (the time-sensitive screening windows)\n * below the result, dated from the computed gestational start, and reveal the\n * plurality / chorionicity inputs that drive it.\n */\n showSchedule?: boolean;\n /** `showSchedule` only — initial number of babies. Defaults to `'singleton'`. */\n defaultPlurality?: Plurality;\n /** `showSchedule` only — initial chorionicity for multiples. Defaults to `'unknown'`. */\n defaultChorionicity?: Chorionicity;\n /** `showSchedule` only — initial Rh-negative state (surfaces anti-D). */\n defaultRhNegative?: boolean;\n /** `showSchedule` only — initial gestational-diabetes risk tier (surfaces OGTT). */\n defaultGdmRisk?: GdmRisk;\n /**\n * Passthrough options for the appended schedule (national `schedule`,\n * `includeOnIndication`, `birthGuideline`). `today`, `plurality`,\n * `chorionicity`, `rhNegative` and `gdmRisk` come from the component's own\n * inputs. Ignored unless `showSchedule` is set.\n */\n scheduleOptions?: Omit<\n AntenatalScheduleOptions,\n 'today' | 'plurality' | 'chorionicity' | 'rhNegative' | 'gdmRisk'\n >;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\n/**\n * @deprecated Superseded by `PregnancyDating`, which unifies the due-date and\n * gestational-age calculators (any anchor → both EDD and current GA) and adds a\n * manual ±days dating adjustment. This component will be removed in a future\n * release; migrate to `PregnancyDating` (`defaultMethod=\"edd\"` for the\n * date-back-from-EDD flow).\n */\nexport const GestationalAgeCalculator = forwardRef<\n HTMLDivElement,\n GestationalAgeCalculatorProps\n>(\n (\n {\n defaultMethod = 'lmp',\n defaultReferenceDate,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n showSchedule = false,\n defaultPlurality = 'singleton',\n defaultChorionicity = 'unknown',\n defaultRhNegative = false,\n defaultGdmRisk,\n scheduleOptions,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [method, setMethod] = useState<DateMethod>(defaultMethod);\n const [refDate, setRefDate] = useState<Date | undefined>(\n defaultReferenceDate,\n );\n // The date the result is evaluated against (\"as of\"); defaults to today but\n // can be a future appointment date to project the GA/schedule forward.\n const [asOfDate, setAsOfDate] = useState<Date>(() => new Date());\n // Real today — caps the dating-anchor input (an LMP can't be in the future).\n const today = useMemo(() => new Date(), []);\n const [plurality, setPlurality] = useState<Plurality>(defaultPlurality);\n const [chorionicity, setChorionicity] =\n useState<Chorionicity>(defaultChorionicity);\n const [rhNegative, setRhNegative] = useState<boolean>(defaultRhNegative);\n const [gdmRisk, setGdmRisk] = useState<GdmRisk | 'none'>(\n defaultGdmRisk ?? 'none',\n );\n\n const data = useMemo(() => {\n if (!refDate) return null;\n // Normalise to an LMP, then reuse the shared gestation maths.\n const lmp = method === 'lmp' ? refDate : subDays(refDate, GESTATION_DAYS);\n const r = computeDueDate({ method: 'lmp', date: lmp }, asOfDate);\n return {\n result: {\n gestationalAge: r.gestationalAge,\n trimester: r.trimester,\n dueDate: r.dueDate,\n } satisfies GestationalAgeResult,\n milestones: gestationalMilestones(r.gestationalStart),\n gestationalStart: r.gestationalStart,\n };\n }, [method, refDate, asOfDate]);\n\n const schedule = useMemo(() => {\n if (!showSchedule || !data) return null;\n return computeAntenatalSchedule(data.gestationalStart, {\n ...scheduleOptions,\n today: asOfDate,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk: gdmRisk === 'none' ? undefined : gdmRisk,\n });\n }, [\n showSchedule,\n data,\n asOfDate,\n scheduleOptions,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk,\n ]);\n\n const chorionicityOptions = useMemo(\n () =>\n (\n [\n 'unknown',\n 'dichorionic-diamniotic',\n 'monochorionic-diamniotic',\n 'monochorionic-monoamniotic',\n ] as const\n ).map((c) => ({\n value: c,\n label: t(`antenatalSchedule.chorionicity.${c}`),\n })),\n [t],\n );\n\n const dateFormatter = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'medium' }),\n [i18n.language],\n );\n\n useEffect(() => {\n onResultChange?.(data?.result ?? null);\n }, [data, onResultChange]);\n\n const gaText = (ga: GestationalAge | null): string =>\n ga\n ? t('gestationalAgeCalculator.gestation', {\n weeks: ga.weeks,\n days: ga.days,\n })\n : '—';\n\n return (\n <div\n ref={ref}\n data-component=\"gestational-age-calculator\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <RadioGroup\n label={t('gestationalAgeCalculator.method.label')}\n variant=\"horizontal\"\n value={method}\n onValueChange={(next) => setMethod(next as DateMethod)}\n >\n <Radio label={t('gestationalAgeCalculator.method.lmp')} value=\"lmp\" />\n <Radio label={t('gestationalAgeCalculator.method.edd')} value=\"edd\" />\n </RadioGroup>\n\n <FormField\n label={t(\n method === 'lmp'\n ? 'gestationalAgeCalculator.lmpDate'\n : 'gestationalAgeCalculator.eddDate',\n )}\n >\n <DatePicker\n value={refDate}\n onChange={setRefDate}\n maxDate={method === 'lmp' ? today : undefined}\n />\n </FormField>\n\n <FormField\n label={t('gestationalAgeCalculator.asOfDate')}\n description={t('gestationalAgeCalculator.asOfDateHint')}\n >\n <DatePicker value={asOfDate} onChange={(d) => d && setAsOfDate(d)} />\n </FormField>\n\n {showSchedule ? (\n <>\n <RadioGroup\n label={t('antenatalSchedule.plurality.label')}\n variant=\"horizontal\"\n value={plurality}\n onValueChange={(next) => setPlurality(next as Plurality)}\n >\n <Radio\n label={t('antenatalSchedule.plurality.singleton')}\n value=\"singleton\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.twin')}\n value=\"twin\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.triplet')}\n value=\"triplet\"\n />\n </RadioGroup>\n\n {plurality !== 'singleton' ? (\n <FormField label={t('antenatalSchedule.chorionicity.label')}>\n <Select\n options={chorionicityOptions}\n value={chorionicity}\n onValueChange={(next) =>\n setChorionicity(next as Chorionicity)\n }\n />\n </FormField>\n ) : null}\n\n <Switch\n label={t('antenatalSchedule.rhNegative')}\n checked={rhNegative}\n onCheckedChange={setRhNegative}\n />\n\n <RadioGroup\n label={t('antenatalSchedule.gdmRisk.label')}\n variant=\"horizontal\"\n value={gdmRisk}\n onValueChange={(next) => setGdmRisk(next as GdmRisk | 'none')}\n >\n <Radio label={t('antenatalSchedule.gdmRisk.none')} value=\"none\" />\n <Radio\n label={t('antenatalSchedule.gdmRisk.medium')}\n value=\"medium\"\n />\n <Radio label={t('antenatalSchedule.gdmRisk.high')} value=\"high\" />\n </RadioGroup>\n </>\n ) : null}\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {data\n ? `${t('gestationalAgeCalculator.gestationLabel')}: ${gaText(\n data.result.gestationalAge,\n )}. ${t('gestationalAgeCalculator.trimesterLabel')}: ${t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n )}.`\n : ''}\n </p>\n\n {data ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <dl className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.trimesterLabel')}\n </dt>\n <dd>\n <Badge\n variant={TRIMESTER_BADGE_VARIANT[data.result.trimester]}\n size=\"lg\"\n >\n {t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n )}\n </Badge>\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-end ds:gap-[var(--spacing-xs)] ds:text-end\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.gestationLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {gaText(data.result.gestationalAge)}\n </dd>\n </div>\n </dl>\n\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <span className=\"type-label ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.milestonesLabel')}\n </span>\n <ul className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n {data.milestones.map((m) => {\n const reached = isAfter(asOfDate, m.date);\n return (\n <li\n key={m.key}\n className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-md)]\"\n >\n <span className=\"type-body ds:text-foreground\">\n {t(`gestationalAgeCalculator.milestone.${m.key}`)}\n </span>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span className=\"type-body ds:text-muted-foreground\">\n {dateFormatter.format(m.date)}\n </span>\n {reached ? (\n <Badge variant=\"success\">\n {t('gestationalAgeCalculator.reached')}\n </Badge>\n ) : null}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.empty')}\n </p>\n )}\n\n {schedule ? <AntenatalScheduleTimeline events={schedule} /> : null}\n\n {/* One result-action group for the whole result — sits after both the\n gestational-age card and the schedule, and its payload carries the\n schedule rows when shown (no per-card buttons). */}\n {data && (insertVariant === 'copy' || onInsert) ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.gestationalAge'),\n icon: 'baby',\n highlight: t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n ),\n // Chip shares the trimester's semantic token so the inserted PNG\n // chip matches the on-screen trimester badge — with the\n // contrast-safe orange override for the `--warning` third trimester.\n highlightToken: trimesterHighlightToken(data.result.trimester),\n brand: insertBrand,\n fields: [\n {\n // Gestational age is an elapsed duration → clock glyph.\n icon: 'clock',\n label: t('gestationalAgeCalculator.gestationLabel'),\n value: gaText(data.result.gestationalAge),\n },\n {\n // Trimester is a clinical-stage classification → tag.\n icon: 'tag',\n label: t('gestationalAgeCalculator.trimesterLabel'),\n value: t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n ),\n },\n // When the schedule is shown, the single Insert button carries\n // the exam windows too (no second button).\n ...(schedule\n ? buildScheduleInsertFields(schedule, t, (d) =>\n dateFormatter.format(d),\n )\n : []),\n ],\n }}\n />\n ) : null}\n </div>\n );\n },\n);\n\nGestationalAgeCalculator.displayName = 'GestationalAgeCalculator';\n"],"names":["rootVariants","cva","GestationalAgeCalculator","forwardRef","defaultMethod","defaultReferenceDate","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","showSchedule","defaultPlurality","defaultChorionicity","defaultRhNegative","defaultGdmRisk","scheduleOptions","id","width","className","ref","t","i18n","useTranslation","method","setMethod","useState","refDate","setRefDate","asOfDate","setAsOfDate","today","useMemo","plurality","setPlurality","chorionicity","setChorionicity","rhNegative","setRhNegative","gdmRisk","setGdmRisk","data","lmp","subDays","GESTATION_DAYS","r","computeDueDate","gestationalMilestones","schedule","computeAntenatalSchedule","chorionicityOptions","c","dateFormatter","useEffect","gaText","ga","jsxs","RadioGroup","next","jsx","Radio","FormField","DatePicker","d","Fragment","Select","Switch","Card","Badge","TRIMESTER_BADGE_VARIANT","m","reached","isAfter","AntenatalScheduleTimeline","InsertButton","trimesterHighlightToken","buildScheduleInsertFields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gestational-age-calculator-CuGkVqKp.js","sources":["../../src/components/gestational-age-calculator/gestational-age-calculator.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* GestationalAgeCalculator — current gestational age, trimester and */\n/* milestone dates, from either a known LMP or a known due date. */\n/* */\n/* Reuses the shared `gestation` maths from due-date-calculator: GA day */\n/* 0 is the LMP; from an EDD we back out LMP = EDD − 280 days. */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { subDays, isAfter } from 'date-fns';\nimport { RadioGroup, Radio } from '../radio-group';\nimport { FormField } from '../form-field';\nimport { DatePicker } from '../date-picker';\nimport { Select } from '../select';\nimport { Switch } from '../switch';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport {\n type Trimester,\n type GestationalAge,\n type Plurality,\n type Chorionicity,\n computeDueDate,\n gestationalMilestones,\n GESTATION_DAYS,\n TRIMESTER_BADGE_VARIANT,\n trimesterHighlightToken,\n} from '../_shared/obstetrics';\nimport {\n computeAntenatalSchedule,\n type AntenatalScheduleOptions,\n type GdmRisk,\n} from '../_shared/antenatal-schedule';\nimport {\n AntenatalScheduleTimeline,\n buildScheduleInsertFields,\n} from '../_shared/antenatal-schedule-timeline';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\ntype DateMethod = 'lmp' | 'edd';\n\nexport interface GestationalAgeResult {\n gestationalAge: GestationalAge | null;\n trimester: Trimester;\n dueDate: Date;\n}\n\nexport interface GestationalAgeCalculatorProps extends VariantProps<\n typeof rootVariants\n> {\n /** Whether the input date is the last period (`lmp`) or the due date (`edd`). */\n defaultMethod?: DateMethod;\n /** Pre-fill the reference date (e.g. a known LMP from the patient record). */\n defaultReferenceDate?: Date;\n /** Fires whenever a result can be computed (and `null` when it can't). */\n onResultChange?: (result: GestationalAgeResult | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /**\n * Which verb the result button performs. Defaults to `'insert'`.\n * Use `'copy'` in an app-shell surface (no editor to insert into) — the\n * button writes the result to the clipboard as a multi-format `ClipboardItem`.\n */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /**\n * Brand wordmark printed in the inserted/copied result-card footer.\n * Omitted → no brand line (and no footer hairline); a string → that custom\n * brand; `false` → no brand line. Brand is opt-in.\n */\n insertBrand?: string | false;\n /**\n * Append the antenatal exam schedule (the time-sensitive screening windows)\n * below the result, dated from the computed gestational start, and reveal the\n * plurality / chorionicity inputs that drive it.\n */\n showSchedule?: boolean;\n /** `showSchedule` only — initial number of babies. Defaults to `'singleton'`. */\n defaultPlurality?: Plurality;\n /** `showSchedule` only — initial chorionicity for multiples. Defaults to `'unknown'`. */\n defaultChorionicity?: Chorionicity;\n /** `showSchedule` only — initial Rh-negative state (surfaces anti-D). */\n defaultRhNegative?: boolean;\n /** `showSchedule` only — initial gestational-diabetes risk tier (surfaces OGTT). */\n defaultGdmRisk?: GdmRisk;\n /**\n * Passthrough options for the appended schedule (national `schedule`,\n * `includeOnIndication`, `birthGuideline`). `today`, `plurality`,\n * `chorionicity`, `rhNegative` and `gdmRisk` come from the component's own\n * inputs. Ignored unless `showSchedule` is set.\n */\n scheduleOptions?: Omit<\n AntenatalScheduleOptions,\n 'today' | 'plurality' | 'chorionicity' | 'rhNegative' | 'gdmRisk'\n >;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\n/**\n * @deprecated Superseded by `PregnancyDating`, which unifies the due-date and\n * gestational-age calculators (any anchor → both EDD and current GA) and adds a\n * manual ±days dating adjustment. This component will be removed in a future\n * release; migrate to `PregnancyDating` (`defaultMethod=\"edd\"` for the\n * date-back-from-EDD flow).\n */\nexport const GestationalAgeCalculator = forwardRef<\n HTMLDivElement,\n GestationalAgeCalculatorProps\n>(\n (\n {\n defaultMethod = 'lmp',\n defaultReferenceDate,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n showSchedule = false,\n defaultPlurality = 'singleton',\n defaultChorionicity = 'unknown',\n defaultRhNegative = false,\n defaultGdmRisk,\n scheduleOptions,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [method, setMethod] = useState<DateMethod>(defaultMethod);\n const [refDate, setRefDate] = useState<Date | undefined>(\n defaultReferenceDate,\n );\n // The date the result is evaluated against (\"as of\"); defaults to today but\n // can be a future appointment date to project the GA/schedule forward.\n const [asOfDate, setAsOfDate] = useState<Date>(() => new Date());\n // Real today — caps the dating-anchor input (an LMP can't be in the future).\n const today = useMemo(() => new Date(), []);\n const [plurality, setPlurality] = useState<Plurality>(defaultPlurality);\n const [chorionicity, setChorionicity] =\n useState<Chorionicity>(defaultChorionicity);\n const [rhNegative, setRhNegative] = useState<boolean>(defaultRhNegative);\n const [gdmRisk, setGdmRisk] = useState<GdmRisk | 'none'>(\n defaultGdmRisk ?? 'none',\n );\n\n const data = useMemo(() => {\n if (!refDate) return null;\n // Normalise to an LMP, then reuse the shared gestation maths.\n const lmp = method === 'lmp' ? refDate : subDays(refDate, GESTATION_DAYS);\n const r = computeDueDate({ method: 'lmp', date: lmp }, asOfDate);\n return {\n result: {\n gestationalAge: r.gestationalAge,\n trimester: r.trimester,\n dueDate: r.dueDate,\n } satisfies GestationalAgeResult,\n milestones: gestationalMilestones(r.gestationalStart),\n gestationalStart: r.gestationalStart,\n };\n }, [method, refDate, asOfDate]);\n\n const schedule = useMemo(() => {\n if (!showSchedule || !data) return null;\n return computeAntenatalSchedule(data.gestationalStart, {\n ...scheduleOptions,\n today: asOfDate,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk: gdmRisk === 'none' ? undefined : gdmRisk,\n });\n }, [\n showSchedule,\n data,\n asOfDate,\n scheduleOptions,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk,\n ]);\n\n const chorionicityOptions = useMemo(\n () =>\n (\n [\n 'unknown',\n 'dichorionic-diamniotic',\n 'monochorionic-diamniotic',\n 'monochorionic-monoamniotic',\n ] as const\n ).map((c) => ({\n value: c,\n label: t(`antenatalSchedule.chorionicity.${c}`),\n })),\n [t],\n );\n\n const dateFormatter = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'medium' }),\n [i18n.language],\n );\n\n useEffect(() => {\n onResultChange?.(data?.result ?? null);\n }, [data, onResultChange]);\n\n const gaText = (ga: GestationalAge | null): string =>\n ga\n ? t('gestationalAgeCalculator.gestation', {\n weeks: ga.weeks,\n days: ga.days,\n })\n : '—';\n\n return (\n <div\n ref={ref}\n data-component=\"gestational-age-calculator\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <RadioGroup\n label={t('gestationalAgeCalculator.method.label')}\n variant=\"horizontal\"\n value={method}\n onValueChange={(next) => setMethod(next as DateMethod)}\n >\n <Radio label={t('gestationalAgeCalculator.method.lmp')} value=\"lmp\" />\n <Radio label={t('gestationalAgeCalculator.method.edd')} value=\"edd\" />\n </RadioGroup>\n\n <FormField\n label={t(\n method === 'lmp'\n ? 'gestationalAgeCalculator.lmpDate'\n : 'gestationalAgeCalculator.eddDate',\n )}\n >\n <DatePicker\n value={refDate}\n onChange={setRefDate}\n maxDate={method === 'lmp' ? today : undefined}\n />\n </FormField>\n\n <FormField\n label={t('gestationalAgeCalculator.asOfDate')}\n description={t('gestationalAgeCalculator.asOfDateHint')}\n >\n <DatePicker value={asOfDate} onChange={(d) => d && setAsOfDate(d)} />\n </FormField>\n\n {showSchedule ? (\n <>\n <RadioGroup\n label={t('antenatalSchedule.plurality.label')}\n variant=\"horizontal\"\n value={plurality}\n onValueChange={(next) => setPlurality(next as Plurality)}\n >\n <Radio\n label={t('antenatalSchedule.plurality.singleton')}\n value=\"singleton\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.twin')}\n value=\"twin\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.triplet')}\n value=\"triplet\"\n />\n </RadioGroup>\n\n {plurality !== 'singleton' ? (\n <FormField label={t('antenatalSchedule.chorionicity.label')}>\n <Select\n options={chorionicityOptions}\n value={chorionicity}\n onValueChange={(next) =>\n setChorionicity(next as Chorionicity)\n }\n />\n </FormField>\n ) : null}\n\n <Switch\n label={t('antenatalSchedule.rhNegative')}\n checked={rhNegative}\n onCheckedChange={setRhNegative}\n />\n\n <RadioGroup\n label={t('antenatalSchedule.gdmRisk.label')}\n variant=\"horizontal\"\n value={gdmRisk}\n onValueChange={(next) => setGdmRisk(next as GdmRisk | 'none')}\n >\n <Radio label={t('antenatalSchedule.gdmRisk.none')} value=\"none\" />\n <Radio\n label={t('antenatalSchedule.gdmRisk.medium')}\n value=\"medium\"\n />\n <Radio label={t('antenatalSchedule.gdmRisk.high')} value=\"high\" />\n </RadioGroup>\n </>\n ) : null}\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {data\n ? `${t('gestationalAgeCalculator.gestationLabel')}: ${gaText(\n data.result.gestationalAge,\n )}. ${t('gestationalAgeCalculator.trimesterLabel')}: ${t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n )}.`\n : ''}\n </p>\n\n {data ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <dl className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.trimesterLabel')}\n </dt>\n <dd>\n <Badge\n variant={TRIMESTER_BADGE_VARIANT[data.result.trimester]}\n size=\"lg\"\n >\n {t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n )}\n </Badge>\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-end ds:gap-[var(--spacing-xs)] ds:text-end\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.gestationLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {gaText(data.result.gestationalAge)}\n </dd>\n </div>\n </dl>\n\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <span className=\"type-label ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.milestonesLabel')}\n </span>\n <ul className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n {data.milestones.map((m) => {\n const reached = isAfter(asOfDate, m.date);\n return (\n <li\n key={m.key}\n className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-md)]\"\n >\n <span className=\"type-body ds:text-foreground\">\n {t(`gestationalAgeCalculator.milestone.${m.key}`)}\n </span>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span className=\"type-body ds:text-muted-foreground\">\n {dateFormatter.format(m.date)}\n </span>\n {reached ? (\n <Badge variant=\"success\">\n {t('gestationalAgeCalculator.reached')}\n </Badge>\n ) : null}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('gestationalAgeCalculator.empty')}\n </p>\n )}\n\n {schedule ? <AntenatalScheduleTimeline events={schedule} /> : null}\n\n {/* One result-action group for the whole result — sits after both the\n gestational-age card and the schedule, and its payload carries the\n schedule rows when shown (no per-card buttons). */}\n {data && (insertVariant === 'copy' || onInsert) ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.gestationalAge'),\n icon: 'baby',\n highlight: t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n ),\n // Chip shares the trimester's semantic token so the inserted PNG\n // chip matches the on-screen trimester badge — with the\n // contrast-safe orange override for the `--warning` third trimester.\n highlightToken: trimesterHighlightToken(data.result.trimester),\n brand: insertBrand,\n fields: [\n {\n // Gestational age is an elapsed duration → clock glyph.\n icon: 'clock',\n label: t('gestationalAgeCalculator.gestationLabel'),\n value: gaText(data.result.gestationalAge),\n },\n {\n // Trimester is a clinical-stage classification → tag.\n icon: 'tag',\n label: t('gestationalAgeCalculator.trimesterLabel'),\n value: t(\n `gestationalAgeCalculator.trimester.${data.result.trimester}`,\n ),\n },\n // When the schedule is shown, the single Insert button carries\n // the exam windows too (no second button).\n ...(schedule\n ? buildScheduleInsertFields(schedule, t, (d) =>\n dateFormatter.format(d),\n )\n : []),\n ],\n }}\n />\n ) : null}\n </div>\n );\n },\n);\n\nGestationalAgeCalculator.displayName = 'GestationalAgeCalculator';\n"],"names":["rootVariants","cva","GestationalAgeCalculator","forwardRef","defaultMethod","defaultReferenceDate","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","showSchedule","defaultPlurality","defaultChorionicity","defaultRhNegative","defaultGdmRisk","scheduleOptions","id","width","className","ref","t","i18n","useTranslation","method","setMethod","useState","refDate","setRefDate","asOfDate","setAsOfDate","today","useMemo","plurality","setPlurality","chorionicity","setChorionicity","rhNegative","setRhNegative","gdmRisk","setGdmRisk","data","lmp","subDays","GESTATION_DAYS","r","computeDueDate","gestationalMilestones","schedule","computeAntenatalSchedule","chorionicityOptions","c","dateFormatter","useEffect","gaText","ga","jsxs","RadioGroup","next","jsx","Radio","FormField","DatePicker","d","Fragment","Select","Switch","Card","Badge","TRIMESTER_BADGE_VARIANT","m","reached","isAfter","AntenatalScheduleTimeline","InsertButton","trimesterHighlightToken","buildScheduleInsertFields"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { c as V } from "./index-D2ZczOXr.js";
|
|
|
4
4
|
import { useTranslation as j } from "react-i18next";
|
|
5
5
|
import { F as f } from "./form-field-M5UpX65Z.js";
|
|
6
6
|
import { N as L } from "./number-input-DjWzmlEY.js";
|
|
7
|
-
import { D as M } from "./date-time-picker-
|
|
7
|
+
import { D as M } from "./date-time-picker-695QvBGj.js";
|
|
8
8
|
import { C as _ } from "./card-DPmk26CL.js";
|
|
9
9
|
import { B as A } from "./badge-DCOqV9mI.js";
|
|
10
10
|
import { I as C } from "./insert-result-D074GtHX.js";
|
|
@@ -167,4 +167,4 @@ export {
|
|
|
167
167
|
z as M,
|
|
168
168
|
G as a
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=hcg-doubling-
|
|
170
|
+
//# sourceMappingURL=hcg-doubling-fZ6qQN08.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hcg-doubling-BgCkds8R.js","sources":["../../src/components/hcg-doubling/hcg.ts","../../src/components/hcg-doubling/hcg-doubling.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* Serum β-hCG doubling time — early-pregnancy viability. */\n/* */\n/* Pure, framework-free, unit-testable. From two timed β-hCG values it */\n/* derives the doubling time, the rise over the actual interval, and the */\n/* rise normalised to 48 hours (the standard comparison window). A */\n/* normal early intrauterine pregnancy rises at least ~35% over 48h */\n/* (Barnhart 2004); a plateau or fall is abnormal. */\n/* */\n/* Barnhart KT et al. \"Symptomatic patients with an early viable */\n/* intrauterine pregnancy.\" Obstet Gynecol 2004;104:50-5. */\n/* ------------------------------------------------------------------ */\n\nconst MS_PER_HOUR = 1000 * 60 * 60;\n/** Conservative minimal 48-hour rise for a potentially viable IUP, %. */\nexport const MINIMAL_48H_RISE_PERCENT = 35;\n\nexport interface HcgInput {\n /** First β-hCG value, mIU/mL. */\n hcg1: number;\n /** When the first sample was drawn. */\n date1: Date;\n /** Second β-hCG value, mIU/mL. */\n hcg2: number;\n /** When the second sample was drawn (must be after `date1`). */\n date2: Date;\n}\n\nexport type HcgTrend = 'rising-normal' | 'rising-slow' | 'plateau-falling';\n\nexport interface HcgResult {\n /** Hours between the two samples. */\n intervalHours: number;\n /** hcg2 / hcg1. */\n ratio: number;\n /** Rise over the actual interval, %. */\n percentRise: number;\n /** Rise normalised to a 48-hour window, % (comparable to the benchmark). */\n twoDayRisePercent: number;\n /** Doubling time in hours, or `null` when not rising. */\n doublingTimeHours: number | null;\n /** Trend band against the Barnhart minimal-rise benchmark. */\n trend: HcgTrend;\n}\n\n/**\n * Analyse a two-point β-hCG series. Returns `null` unless both values are\n * positive and the second sample is strictly after the first.\n */\nexport function analyseHcg(input: HcgInput): HcgResult | null {\n const { hcg1, hcg2, date1, date2 } = input;\n if (!(hcg1 > 0) || !(hcg2 > 0)) return null;\n\n const intervalHours = (date2.getTime() - date1.getTime()) / MS_PER_HOUR;\n if (!(intervalHours > 0)) return null;\n\n const ratio = hcg2 / hcg1;\n const percentRise = (ratio - 1) * 100;\n const twoDayRisePercent = (ratio ** (48 / intervalHours) - 1) * 100;\n const doublingTimeHours =\n ratio > 1 ? (intervalHours * Math.LN2) / Math.log(ratio) : null;\n\n const trend: HcgTrend =\n ratio <= 1\n ? 'plateau-falling'\n : twoDayRisePercent >= MINIMAL_48H_RISE_PERCENT\n ? 'rising-normal'\n : 'rising-slow';\n\n return {\n intervalHours,\n ratio,\n percentRise,\n twoDayRisePercent,\n doublingTimeHours,\n trend,\n };\n}\n","/* ------------------------------------------------------------------ */\n/* HcgDoubling — serum β-hCG doubling time from two timed values. */\n/* */\n/* Maths in `./hcg` (pure, tested). Two timepoints (value + datetime) */\n/* → doubling time, 48-hour-normalised rise and a viability trend band. */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { FormField } from '../form-field';\nimport { NumberInput } from '../number-input';\nimport { DateTimePicker } from '../date-time-picker';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport { type HcgResult, type HcgTrend, analyseHcg } from './hcg';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\nconst TREND_BADGE: Record<HcgTrend, 'success' | 'warning' | 'error'> = {\n 'rising-normal': 'success',\n 'rising-slow': 'warning',\n 'plateau-falling': 'error',\n};\nconst TREND_TOKEN: Record<HcgTrend, string> = {\n 'rising-normal': '--success',\n 'rising-slow': '--warning-readable',\n 'plateau-falling': '--destructive',\n};\n\nexport interface HcgDoublingProps extends VariantProps<typeof rootVariants> {\n /** Pre-fill the first sample's date/time (e.g. from the lab record). */\n defaultDate1?: Date;\n /** Pre-fill the second sample's date/time. */\n defaultDate2?: Date;\n /** Fires whenever both timed values resolve (and `null` when not). */\n onResultChange?: (result: HcgResult | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /** Which verb the result button performs. Defaults to `'insert'`. */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /** Brand wordmark printed in the inserted/copied result-card footer. */\n insertBrand?: string | false;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\nexport const HcgDoubling = forwardRef<HTMLDivElement, HcgDoublingProps>(\n (\n {\n defaultDate1,\n defaultDate2,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [hcg1, setHcg1] = useState<number | null>(null);\n const [date1, setDate1] = useState<Date | undefined>(defaultDate1);\n const [hcg2, setHcg2] = useState<number | null>(null);\n const [date2, setDate2] = useState<Date | undefined>(defaultDate2);\n\n const today = useMemo(() => new Date(), []);\n\n const result = useMemo(() => {\n if (hcg1 === null || hcg2 === null || !date1 || !date2) return null;\n return analyseHcg({ hcg1, date1, hcg2, date2 });\n }, [hcg1, date1, hcg2, date2]);\n\n useEffect(() => {\n onResultChange?.(result);\n }, [result, onResultChange]);\n\n const num = useMemo(\n () => new Intl.NumberFormat(i18n.language, { maximumFractionDigits: 0 }),\n [i18n.language],\n );\n\n const doublingText = (r: HcgResult): string =>\n r.doublingTimeHours === null\n ? '—'\n : t('hcgDoubling.hoursValue', {\n hours: num.format(r.doublingTimeHours),\n });\n const riseText = (r: HcgResult): string =>\n t('hcgDoubling.percentValue', { value: num.format(r.twoDayRisePercent) });\n\n return (\n <div\n ref={ref}\n data-component=\"hcg-doubling\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField\n label={`${t('hcgDoubling.hcg1')} (${t('hcgDoubling.units')})`}\n >\n <NumberInput\n mode=\"decimal\"\n min={0}\n value={hcg1}\n onChange={setHcg1}\n />\n </FormField>\n <FormField label={t('hcgDoubling.date1')}>\n <DateTimePicker value={date1} onChange={setDate1} maxDate={today} />\n </FormField>\n <FormField\n label={`${t('hcgDoubling.hcg2')} (${t('hcgDoubling.units')})`}\n >\n <NumberInput\n mode=\"decimal\"\n min={0}\n value={hcg2}\n onChange={setHcg2}\n />\n </FormField>\n <FormField label={t('hcgDoubling.date2')}>\n <DateTimePicker value={date2} onChange={setDate2} maxDate={today} />\n </FormField>\n </div>\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {result\n ? `${t('hcgDoubling.doublingLabel')}: ${doublingText(result)}. ${t(\n `hcgDoubling.trend.${result.trend}`,\n )}.`\n : ''}\n </p>\n\n {result ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <dl className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-3\">\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('hcgDoubling.doublingLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {doublingText(result)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('hcgDoubling.riseLabel')}\n </dt>\n <dd className=\"type-body ds:text-foreground\">\n {riseText(result)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-end ds:gap-[var(--spacing-xs)] ds:text-end\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('hcgDoubling.trendLabel')}\n </dt>\n <dd>\n <Badge variant={TREND_BADGE[result.trend]} size=\"lg\">\n {t(`hcgDoubling.trend.${result.trend}`)}\n </Badge>\n </dd>\n </div>\n </dl>\n <p className=\"type-body-sm ds:text-muted-foreground\">\n {t('hcgDoubling.disclaimer')}\n </p>\n {insertVariant === 'copy' || onInsert ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.hcg'),\n icon: 'activity',\n highlight: t(`hcgDoubling.trend.${result.trend}`),\n highlightToken: TREND_TOKEN[result.trend],\n brand: insertBrand,\n fields: [\n {\n icon: 'clock',\n label: t('hcgDoubling.doublingLabel'),\n value: doublingText(result),\n },\n {\n icon: 'trending-up',\n label: t('hcgDoubling.riseLabel'),\n value: riseText(result),\n },\n {\n icon: 'tag',\n label: t('hcgDoubling.trendLabel'),\n value: t(`hcgDoubling.trend.${result.trend}`),\n },\n ],\n }}\n />\n ) : null}\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('hcgDoubling.empty')}\n </p>\n )}\n </div>\n );\n },\n);\n\nHcgDoubling.displayName = 'HcgDoubling';\n"],"names":["MS_PER_HOUR","MINIMAL_48H_RISE_PERCENT","analyseHcg","input","hcg1","hcg2","date1","date2","intervalHours","ratio","percentRise","twoDayRisePercent","doublingTimeHours","trend","rootVariants","cva","TREND_BADGE","TREND_TOKEN","HcgDoubling","forwardRef","defaultDate1","defaultDate2","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","id","width","className","ref","t","i18n","useTranslation","setHcg1","useState","setDate1","setHcg2","setDate2","today","useMemo","result","useEffect","num","doublingText","r","riseText","jsxs","jsx","FormField","NumberInput","DateTimePicker","Card","Badge","InsertButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hcg-doubling-fZ6qQN08.js","sources":["../../src/components/hcg-doubling/hcg.ts","../../src/components/hcg-doubling/hcg-doubling.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* Serum β-hCG doubling time — early-pregnancy viability. */\n/* */\n/* Pure, framework-free, unit-testable. From two timed β-hCG values it */\n/* derives the doubling time, the rise over the actual interval, and the */\n/* rise normalised to 48 hours (the standard comparison window). A */\n/* normal early intrauterine pregnancy rises at least ~35% over 48h */\n/* (Barnhart 2004); a plateau or fall is abnormal. */\n/* */\n/* Barnhart KT et al. \"Symptomatic patients with an early viable */\n/* intrauterine pregnancy.\" Obstet Gynecol 2004;104:50-5. */\n/* ------------------------------------------------------------------ */\n\nconst MS_PER_HOUR = 1000 * 60 * 60;\n/** Conservative minimal 48-hour rise for a potentially viable IUP, %. */\nexport const MINIMAL_48H_RISE_PERCENT = 35;\n\nexport interface HcgInput {\n /** First β-hCG value, mIU/mL. */\n hcg1: number;\n /** When the first sample was drawn. */\n date1: Date;\n /** Second β-hCG value, mIU/mL. */\n hcg2: number;\n /** When the second sample was drawn (must be after `date1`). */\n date2: Date;\n}\n\nexport type HcgTrend = 'rising-normal' | 'rising-slow' | 'plateau-falling';\n\nexport interface HcgResult {\n /** Hours between the two samples. */\n intervalHours: number;\n /** hcg2 / hcg1. */\n ratio: number;\n /** Rise over the actual interval, %. */\n percentRise: number;\n /** Rise normalised to a 48-hour window, % (comparable to the benchmark). */\n twoDayRisePercent: number;\n /** Doubling time in hours, or `null` when not rising. */\n doublingTimeHours: number | null;\n /** Trend band against the Barnhart minimal-rise benchmark. */\n trend: HcgTrend;\n}\n\n/**\n * Analyse a two-point β-hCG series. Returns `null` unless both values are\n * positive and the second sample is strictly after the first.\n */\nexport function analyseHcg(input: HcgInput): HcgResult | null {\n const { hcg1, hcg2, date1, date2 } = input;\n if (!(hcg1 > 0) || !(hcg2 > 0)) return null;\n\n const intervalHours = (date2.getTime() - date1.getTime()) / MS_PER_HOUR;\n if (!(intervalHours > 0)) return null;\n\n const ratio = hcg2 / hcg1;\n const percentRise = (ratio - 1) * 100;\n const twoDayRisePercent = (ratio ** (48 / intervalHours) - 1) * 100;\n const doublingTimeHours =\n ratio > 1 ? (intervalHours * Math.LN2) / Math.log(ratio) : null;\n\n const trend: HcgTrend =\n ratio <= 1\n ? 'plateau-falling'\n : twoDayRisePercent >= MINIMAL_48H_RISE_PERCENT\n ? 'rising-normal'\n : 'rising-slow';\n\n return {\n intervalHours,\n ratio,\n percentRise,\n twoDayRisePercent,\n doublingTimeHours,\n trend,\n };\n}\n","/* ------------------------------------------------------------------ */\n/* HcgDoubling — serum β-hCG doubling time from two timed values. */\n/* */\n/* Maths in `./hcg` (pure, tested). Two timepoints (value + datetime) */\n/* → doubling time, 48-hour-normalised rise and a viability trend band. */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { FormField } from '../form-field';\nimport { NumberInput } from '../number-input';\nimport { DateTimePicker } from '../date-time-picker';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport { type HcgResult, type HcgTrend, analyseHcg } from './hcg';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\nconst TREND_BADGE: Record<HcgTrend, 'success' | 'warning' | 'error'> = {\n 'rising-normal': 'success',\n 'rising-slow': 'warning',\n 'plateau-falling': 'error',\n};\nconst TREND_TOKEN: Record<HcgTrend, string> = {\n 'rising-normal': '--success',\n 'rising-slow': '--warning-readable',\n 'plateau-falling': '--destructive',\n};\n\nexport interface HcgDoublingProps extends VariantProps<typeof rootVariants> {\n /** Pre-fill the first sample's date/time (e.g. from the lab record). */\n defaultDate1?: Date;\n /** Pre-fill the second sample's date/time. */\n defaultDate2?: Date;\n /** Fires whenever both timed values resolve (and `null` when not). */\n onResultChange?: (result: HcgResult | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /** Which verb the result button performs. Defaults to `'insert'`. */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /** Brand wordmark printed in the inserted/copied result-card footer. */\n insertBrand?: string | false;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\nexport const HcgDoubling = forwardRef<HTMLDivElement, HcgDoublingProps>(\n (\n {\n defaultDate1,\n defaultDate2,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [hcg1, setHcg1] = useState<number | null>(null);\n const [date1, setDate1] = useState<Date | undefined>(defaultDate1);\n const [hcg2, setHcg2] = useState<number | null>(null);\n const [date2, setDate2] = useState<Date | undefined>(defaultDate2);\n\n const today = useMemo(() => new Date(), []);\n\n const result = useMemo(() => {\n if (hcg1 === null || hcg2 === null || !date1 || !date2) return null;\n return analyseHcg({ hcg1, date1, hcg2, date2 });\n }, [hcg1, date1, hcg2, date2]);\n\n useEffect(() => {\n onResultChange?.(result);\n }, [result, onResultChange]);\n\n const num = useMemo(\n () => new Intl.NumberFormat(i18n.language, { maximumFractionDigits: 0 }),\n [i18n.language],\n );\n\n const doublingText = (r: HcgResult): string =>\n r.doublingTimeHours === null\n ? '—'\n : t('hcgDoubling.hoursValue', {\n hours: num.format(r.doublingTimeHours),\n });\n const riseText = (r: HcgResult): string =>\n t('hcgDoubling.percentValue', { value: num.format(r.twoDayRisePercent) });\n\n return (\n <div\n ref={ref}\n data-component=\"hcg-doubling\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField\n label={`${t('hcgDoubling.hcg1')} (${t('hcgDoubling.units')})`}\n >\n <NumberInput\n mode=\"decimal\"\n min={0}\n value={hcg1}\n onChange={setHcg1}\n />\n </FormField>\n <FormField label={t('hcgDoubling.date1')}>\n <DateTimePicker value={date1} onChange={setDate1} maxDate={today} />\n </FormField>\n <FormField\n label={`${t('hcgDoubling.hcg2')} (${t('hcgDoubling.units')})`}\n >\n <NumberInput\n mode=\"decimal\"\n min={0}\n value={hcg2}\n onChange={setHcg2}\n />\n </FormField>\n <FormField label={t('hcgDoubling.date2')}>\n <DateTimePicker value={date2} onChange={setDate2} maxDate={today} />\n </FormField>\n </div>\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {result\n ? `${t('hcgDoubling.doublingLabel')}: ${doublingText(result)}. ${t(\n `hcgDoubling.trend.${result.trend}`,\n )}.`\n : ''}\n </p>\n\n {result ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <dl className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-3\">\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('hcgDoubling.doublingLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {doublingText(result)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('hcgDoubling.riseLabel')}\n </dt>\n <dd className=\"type-body ds:text-foreground\">\n {riseText(result)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-end ds:gap-[var(--spacing-xs)] ds:text-end\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('hcgDoubling.trendLabel')}\n </dt>\n <dd>\n <Badge variant={TREND_BADGE[result.trend]} size=\"lg\">\n {t(`hcgDoubling.trend.${result.trend}`)}\n </Badge>\n </dd>\n </div>\n </dl>\n <p className=\"type-body-sm ds:text-muted-foreground\">\n {t('hcgDoubling.disclaimer')}\n </p>\n {insertVariant === 'copy' || onInsert ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.hcg'),\n icon: 'activity',\n highlight: t(`hcgDoubling.trend.${result.trend}`),\n highlightToken: TREND_TOKEN[result.trend],\n brand: insertBrand,\n fields: [\n {\n icon: 'clock',\n label: t('hcgDoubling.doublingLabel'),\n value: doublingText(result),\n },\n {\n icon: 'trending-up',\n label: t('hcgDoubling.riseLabel'),\n value: riseText(result),\n },\n {\n icon: 'tag',\n label: t('hcgDoubling.trendLabel'),\n value: t(`hcgDoubling.trend.${result.trend}`),\n },\n ],\n }}\n />\n ) : null}\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('hcgDoubling.empty')}\n </p>\n )}\n </div>\n );\n },\n);\n\nHcgDoubling.displayName = 'HcgDoubling';\n"],"names":["MS_PER_HOUR","MINIMAL_48H_RISE_PERCENT","analyseHcg","input","hcg1","hcg2","date1","date2","intervalHours","ratio","percentRise","twoDayRisePercent","doublingTimeHours","trend","rootVariants","cva","TREND_BADGE","TREND_TOKEN","HcgDoubling","forwardRef","defaultDate1","defaultDate2","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","id","width","className","ref","t","i18n","useTranslation","setHcg1","useState","setDate1","setHcg2","setDate2","today","useMemo","result","useEffect","num","doublingText","r","riseText","jsxs","jsx","FormField","NumberInput","DateTimePicker","Card","Badge","InsertButton"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as o, A as s, E as r, F as u } from "./date-picker-variants-eL6HjWvw.js";
|
|
2
2
|
const d = {
|
|
3
3
|
locale: {
|
|
4
4
|
1: "१",
|
|
@@ -315,11 +315,11 @@ const y = {
|
|
|
315
315
|
wide: /^(ईसा-पूर्व|ईसवी पूर्व|ईसवी सन|ईसवी)/i
|
|
316
316
|
}, X = {
|
|
317
317
|
any: [/^b/i, /^(a|c)/i]
|
|
318
|
-
},
|
|
318
|
+
}, E = {
|
|
319
319
|
narrow: /^[1234]/i,
|
|
320
320
|
abbreviated: /^ति[1234]/i,
|
|
321
321
|
wide: /^[1234](पहली|दूसरी|तीसरी|चौथी)? तिमाही/i
|
|
322
|
-
},
|
|
322
|
+
}, L = {
|
|
323
323
|
any: [/1/i, /2/i, /3/i, /4/i]
|
|
324
324
|
}, S = {
|
|
325
325
|
// eslint-disable-next-line no-misleading-character-class
|
|
@@ -355,19 +355,19 @@ const y = {
|
|
|
355
355
|
/^नव/i,
|
|
356
356
|
/^दिस/i
|
|
357
357
|
]
|
|
358
|
-
},
|
|
358
|
+
}, C = {
|
|
359
359
|
// eslint-disable-next-line no-misleading-character-class
|
|
360
360
|
narrow: /^[रविसोममंगलबुधगुरुशुक्रशनि]/i,
|
|
361
361
|
short: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,
|
|
362
362
|
abbreviated: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,
|
|
363
363
|
wide: /^(रविवार|सोमवार|मंगलवार|बुधवार|गुरुवार|शुक्रवार|शनिवार)/i
|
|
364
|
-
},
|
|
364
|
+
}, Y = {
|
|
365
365
|
narrow: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i],
|
|
366
366
|
any: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i]
|
|
367
|
-
},
|
|
367
|
+
}, _ = {
|
|
368
368
|
narrow: /^(पू|अ|म|द.\?|सु|दो|शा|रा)/i,
|
|
369
369
|
any: /^(पूर्वाह्न|अपराह्न|म|द.\?|सु|दो|शा|रा)/i
|
|
370
|
-
},
|
|
370
|
+
}, q = {
|
|
371
371
|
any: {
|
|
372
372
|
am: /^पूर्वाह्न/i,
|
|
373
373
|
pm: /^अपराह्न/i,
|
|
@@ -391,9 +391,9 @@ const y = {
|
|
|
391
391
|
defaultParseWidth: "any"
|
|
392
392
|
}),
|
|
393
393
|
quarter: r({
|
|
394
|
-
matchPatterns:
|
|
394
|
+
matchPatterns: E,
|
|
395
395
|
defaultMatchWidth: "wide",
|
|
396
|
-
parsePatterns:
|
|
396
|
+
parsePatterns: L,
|
|
397
397
|
defaultParseWidth: "any",
|
|
398
398
|
valueCallback: (t) => t + 1
|
|
399
399
|
}),
|
|
@@ -404,18 +404,18 @@ const y = {
|
|
|
404
404
|
defaultParseWidth: "any"
|
|
405
405
|
}),
|
|
406
406
|
day: r({
|
|
407
|
-
matchPatterns:
|
|
407
|
+
matchPatterns: C,
|
|
408
408
|
defaultMatchWidth: "wide",
|
|
409
|
-
parsePatterns:
|
|
409
|
+
parsePatterns: Y,
|
|
410
410
|
defaultParseWidth: "any"
|
|
411
411
|
}),
|
|
412
412
|
dayPeriod: r({
|
|
413
|
-
matchPatterns:
|
|
413
|
+
matchPatterns: _,
|
|
414
414
|
defaultMatchWidth: "any",
|
|
415
|
-
parsePatterns:
|
|
415
|
+
parsePatterns: q,
|
|
416
416
|
defaultParseWidth: "any"
|
|
417
417
|
})
|
|
418
|
-
},
|
|
418
|
+
}, A = {
|
|
419
419
|
code: "hi",
|
|
420
420
|
formatDistance: v,
|
|
421
421
|
formatLong: k,
|
|
@@ -428,6 +428,6 @@ const y = {
|
|
|
428
428
|
}
|
|
429
429
|
};
|
|
430
430
|
export {
|
|
431
|
-
|
|
431
|
+
A as hi
|
|
432
432
|
};
|
|
433
|
-
//# sourceMappingURL=hi-
|
|
433
|
+
//# sourceMappingURL=hi-Bppfxp8l.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hi-BUYtlosF.js","sources":["../../node_modules/date-fns/locale/hi/_lib/localize.js","../../node_modules/date-fns/locale/hi/_lib/formatDistance.js","../../node_modules/date-fns/locale/hi/_lib/formatLong.js","../../node_modules/date-fns/locale/hi/_lib/formatRelative.js","../../node_modules/date-fns/locale/hi/_lib/match.js","../../node_modules/date-fns/locale/hi.js"],"sourcesContent":["import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst numberValues = {\n locale: {\n 1: \"१\",\n 2: \"२\",\n 3: \"३\",\n 4: \"४\",\n 5: \"५\",\n 6: \"६\",\n 7: \"७\",\n 8: \"८\",\n 9: \"९\",\n 0: \"०\",\n },\n number: {\n \"१\": \"1\",\n \"२\": \"2\",\n \"३\": \"3\",\n \"४\": \"4\",\n \"५\": \"5\",\n \"६\": \"6\",\n \"७\": \"7\",\n \"८\": \"8\",\n \"९\": \"9\",\n \"०\": \"0\",\n },\n};\n\n// CLDR #1585 - #1592\nconst eraValues = {\n narrow: [\"ईसा-पूर्व\", \"ईस्वी\"],\n abbreviated: [\"ईसा-पूर्व\", \"ईस्वी\"],\n wide: [\"ईसा-पूर्व\", \"ईसवी सन\"],\n};\n\n// CLDR #1593 - #1616\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"ति1\", \"ति2\", \"ति3\", \"ति4\"],\n wide: [\"पहली तिमाही\", \"दूसरी तिमाही\", \"तीसरी तिमाही\", \"चौथी तिमाही\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n// https://www.unicode.org/cldr/charts/32/summary/hi.html\n// CLDR #1617 - #1688\nconst monthValues = {\n narrow: [\n \"ज\",\n \"फ़\",\n \"मा\",\n \"अ\",\n \"मई\",\n \"जू\",\n \"जु\",\n \"अग\",\n \"सि\",\n \"अक्टू\",\n \"न\",\n \"दि\",\n ],\n\n abbreviated: [\n \"जन\",\n \"फ़र\",\n \"मार्च\",\n \"अप्रैल\",\n \"मई\",\n \"जून\",\n \"जुल\",\n \"अग\",\n \"सित\",\n \"अक्टू\",\n \"नव\",\n \"दिस\",\n ],\n\n wide: [\n \"जनवरी\",\n \"फ़रवरी\",\n \"मार्च\",\n \"अप्रैल\",\n \"मई\",\n \"जून\",\n \"जुलाई\",\n \"अगस्त\",\n \"सितंबर\",\n \"अक्टूबर\",\n \"नवंबर\",\n \"दिसंबर\",\n ],\n};\n\n// CLDR #1689 - #1744\nconst dayValues = {\n narrow: [\"र\", \"सो\", \"मं\", \"बु\", \"गु\", \"शु\", \"श\"],\n short: [\"र\", \"सो\", \"मं\", \"बु\", \"गु\", \"शु\", \"श\"],\n abbreviated: [\"रवि\", \"सोम\", \"मंगल\", \"बुध\", \"गुरु\", \"शुक्र\", \"शनि\"],\n wide: [\n \"रविवार\",\n \"सोमवार\",\n \"मंगलवार\",\n \"बुधवार\",\n \"गुरुवार\",\n \"शुक्रवार\",\n \"शनिवार\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n abbreviated: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n wide: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n abbreviated: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n wide: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n return numberToLocale(number);\n};\n\nexport function localeToNumber(locale) {\n const enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) {\n return numberValues.number[match];\n });\n return Number(enNumber);\n}\n\nexport function numberToLocale(enNumber) {\n return enNumber.toString().replace(/\\d/g, function (match) {\n return numberValues.locale[match];\n });\n}\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { numberToLocale } from \"./localize.js\";\n\n// Source: https://www.unicode.org/cldr/charts/32/summary/hi.html\n\nconst formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"१ सेकंड से कम\", // CLDR #1310\n other: \"{{count}} सेकंड से कम\",\n },\n\n xSeconds: {\n one: \"१ सेकंड\",\n other: \"{{count}} सेकंड\",\n },\n\n halfAMinute: \"आधा मिनट\",\n\n lessThanXMinutes: {\n one: \"१ मिनट से कम\",\n other: \"{{count}} मिनट से कम\",\n },\n\n xMinutes: {\n one: \"१ मिनट\", // CLDR #1307\n other: \"{{count}} मिनट\",\n },\n\n aboutXHours: {\n one: \"लगभग १ घंटा\",\n other: \"लगभग {{count}} घंटे\",\n },\n\n xHours: {\n one: \"१ घंटा\", // CLDR #1304\n other: \"{{count}} घंटे\", // CLDR #4467\n },\n\n xDays: {\n one: \"१ दिन\", // CLDR #1286\n other: \"{{count}} दिन\",\n },\n\n aboutXWeeks: {\n one: \"लगभग १ सप्ताह\",\n other: \"लगभग {{count}} सप्ताह\",\n },\n\n xWeeks: {\n one: \"१ सप्ताह\",\n other: \"{{count}} सप्ताह\",\n },\n\n aboutXMonths: {\n one: \"लगभग १ महीना\",\n other: \"लगभग {{count}} महीने\",\n },\n\n xMonths: {\n one: \"१ महीना\",\n other: \"{{count}} महीने\",\n },\n\n aboutXYears: {\n one: \"लगभग १ वर्ष\",\n other: \"लगभग {{count}} वर्ष\", // CLDR #4823\n },\n\n xYears: {\n one: \"१ वर्ष\",\n other: \"{{count}} वर्ष\",\n },\n\n overXYears: {\n one: \"१ वर्ष से अधिक\",\n other: \"{{count}} वर्ष से अधिक\",\n },\n\n almostXYears: {\n one: \"लगभग १ वर्ष\",\n other: \"लगभग {{count}} वर्ष\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", numberToLocale(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + \"मे \";\n } else {\n return result + \" पहले\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, do MMMM, y\", // CLDR #1787\n long: \"do MMMM, y\", // CLDR #1788\n medium: \"d MMM, y\", // CLDR #1789\n short: \"dd/MM/yyyy\", // CLDR #1790\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\", // CLDR #1791\n long: \"h:mm:ss a z\", // CLDR #1792\n medium: \"h:mm:ss a\", // CLDR #1793\n short: \"h:mm a\", // CLDR #1794\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'को' {{time}}\", // CLDR #1795\n long: \"{{date}} 'को' {{time}}\", // CLDR #1796\n medium: \"{{date}}, {{time}}\", // CLDR #1797\n short: \"{{date}}, {{time}}\", // CLDR #1798\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'पिछले' eeee p\",\n yesterday: \"'कल' p\",\n today: \"'आज' p\",\n tomorrow: \"'कल' p\",\n nextWeek: \"eeee 'को' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\nimport { localeToNumber } from \"./localize.js\";\n\nconst matchOrdinalNumberPattern = /^[०१२३४५६७८९]+/i;\nconst parseOrdinalNumberPattern = /^[०१२३४५६७८९]+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ईसा-पूर्व|ईस्वी)/i,\n abbreviated: /^(ईसा\\.?\\s?पूर्व\\.?|ईसा\\.?)/i,\n wide: /^(ईसा-पूर्व|ईसवी पूर्व|ईसवी सन|ईसवी)/i,\n};\n\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ति[1234]/i,\n wide: /^[1234](पहली|दूसरी|तीसरी|चौथी)? तिमाही/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[जफ़माअप्मईजूनजुअगसिअक्तनदि]/i,\n abbreviated: /^(जन|फ़र|मार्च|अप्|मई|जून|जुल|अग|सित|अक्तू|नव|दिस)/i,\n wide: /^(जनवरी|फ़रवरी|मार्च|अप्रैल|मई|जून|जुलाई|अगस्त|सितंबर|अक्तूबर|नवंबर|दिसंबर)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^ज/i,\n /^फ़/i,\n /^मा/i,\n /^अप्/i,\n /^मई/i,\n /^जू/i,\n /^जु/i,\n /^अग/i,\n /^सि/i,\n /^अक्तू/i,\n /^न/i,\n /^दि/i,\n ],\n\n any: [\n /^जन/i,\n /^फ़/i,\n /^मा/i,\n /^अप्/i,\n /^मई/i,\n /^जू/i,\n /^जु/i,\n /^अग/i,\n /^सि/i,\n /^अक्तू/i,\n /^नव/i,\n /^दिस/i,\n ],\n};\n\nconst matchDayPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[रविसोममंगलबुधगुरुशुक्रशनि]/i,\n short: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,\n abbreviated: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,\n wide: /^(रविवार|सोमवार|मंगलवार|बुधवार|गुरुवार|शुक्रवार|शनिवार)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i],\n\n any: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(पू|अ|म|द.\\?|सु|दो|शा|रा)/i,\n any: /^(पूर्वाह्न|अपराह्न|म|द.\\?|सु|दो|शा|रा)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^पूर्वाह्न/i,\n pm: /^अपराह्न/i,\n midnight: /^मध्य/i,\n noon: /^दो/i,\n morning: /सु/i,\n afternoon: /दो/i,\n evening: /शा/i,\n night: /रा/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: localeToNumber,\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./hi/_lib/formatDistance.js\";\nimport { formatLong } from \"./hi/_lib/formatLong.js\";\nimport { formatRelative } from \"./hi/_lib/formatRelative.js\";\nimport { localize } from \"./hi/_lib/localize.js\";\nimport { match } from \"./hi/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Hindi locale (India).\n * @language Hindi\n * @iso-639-2 hin\n * @author Mukesh Mandiwal [@mukeshmandiwal](https://github.com/mukeshmandiwal)\n */\nexport const hi = {\n code: \"hi\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default hi;\n"],"names":["numberValues","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","_options","number","numberToLocale","localeToNumber","locale","enNumber","match","localize","buildLocalizeFn","quarter","formatDistanceLocale","formatDistance","token","count","options","result","tokenValue","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","buildMatchPatternFn","buildMatchFn","index","hi"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
1
|
+
{"version":3,"file":"hi-Bppfxp8l.js","sources":["../../node_modules/date-fns/locale/hi/_lib/localize.js","../../node_modules/date-fns/locale/hi/_lib/formatDistance.js","../../node_modules/date-fns/locale/hi/_lib/formatLong.js","../../node_modules/date-fns/locale/hi/_lib/formatRelative.js","../../node_modules/date-fns/locale/hi/_lib/match.js","../../node_modules/date-fns/locale/hi.js"],"sourcesContent":["import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst numberValues = {\n locale: {\n 1: \"१\",\n 2: \"२\",\n 3: \"३\",\n 4: \"४\",\n 5: \"५\",\n 6: \"६\",\n 7: \"७\",\n 8: \"८\",\n 9: \"९\",\n 0: \"०\",\n },\n number: {\n \"१\": \"1\",\n \"२\": \"2\",\n \"३\": \"3\",\n \"४\": \"4\",\n \"५\": \"5\",\n \"६\": \"6\",\n \"७\": \"7\",\n \"८\": \"8\",\n \"९\": \"9\",\n \"०\": \"0\",\n },\n};\n\n// CLDR #1585 - #1592\nconst eraValues = {\n narrow: [\"ईसा-पूर्व\", \"ईस्वी\"],\n abbreviated: [\"ईसा-पूर्व\", \"ईस्वी\"],\n wide: [\"ईसा-पूर्व\", \"ईसवी सन\"],\n};\n\n// CLDR #1593 - #1616\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"ति1\", \"ति2\", \"ति3\", \"ति4\"],\n wide: [\"पहली तिमाही\", \"दूसरी तिमाही\", \"तीसरी तिमाही\", \"चौथी तिमाही\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n// https://www.unicode.org/cldr/charts/32/summary/hi.html\n// CLDR #1617 - #1688\nconst monthValues = {\n narrow: [\n \"ज\",\n \"फ़\",\n \"मा\",\n \"अ\",\n \"मई\",\n \"जू\",\n \"जु\",\n \"अग\",\n \"सि\",\n \"अक्टू\",\n \"न\",\n \"दि\",\n ],\n\n abbreviated: [\n \"जन\",\n \"फ़र\",\n \"मार्च\",\n \"अप्रैल\",\n \"मई\",\n \"जून\",\n \"जुल\",\n \"अग\",\n \"सित\",\n \"अक्टू\",\n \"नव\",\n \"दिस\",\n ],\n\n wide: [\n \"जनवरी\",\n \"फ़रवरी\",\n \"मार्च\",\n \"अप्रैल\",\n \"मई\",\n \"जून\",\n \"जुलाई\",\n \"अगस्त\",\n \"सितंबर\",\n \"अक्टूबर\",\n \"नवंबर\",\n \"दिसंबर\",\n ],\n};\n\n// CLDR #1689 - #1744\nconst dayValues = {\n narrow: [\"र\", \"सो\", \"मं\", \"बु\", \"गु\", \"शु\", \"श\"],\n short: [\"र\", \"सो\", \"मं\", \"बु\", \"गु\", \"शु\", \"श\"],\n abbreviated: [\"रवि\", \"सोम\", \"मंगल\", \"बुध\", \"गुरु\", \"शुक्र\", \"शनि\"],\n wide: [\n \"रविवार\",\n \"सोमवार\",\n \"मंगलवार\",\n \"बुधवार\",\n \"गुरुवार\",\n \"शुक्रवार\",\n \"शनिवार\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n abbreviated: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n wide: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n abbreviated: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n wide: {\n am: \"पूर्वाह्न\",\n pm: \"अपराह्न\",\n midnight: \"मध्यरात्रि\",\n noon: \"दोपहर\",\n morning: \"सुबह\",\n afternoon: \"दोपहर\",\n evening: \"शाम\",\n night: \"रात\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n return numberToLocale(number);\n};\n\nexport function localeToNumber(locale) {\n const enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) {\n return numberValues.number[match];\n });\n return Number(enNumber);\n}\n\nexport function numberToLocale(enNumber) {\n return enNumber.toString().replace(/\\d/g, function (match) {\n return numberValues.locale[match];\n });\n}\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { numberToLocale } from \"./localize.js\";\n\n// Source: https://www.unicode.org/cldr/charts/32/summary/hi.html\n\nconst formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"१ सेकंड से कम\", // CLDR #1310\n other: \"{{count}} सेकंड से कम\",\n },\n\n xSeconds: {\n one: \"१ सेकंड\",\n other: \"{{count}} सेकंड\",\n },\n\n halfAMinute: \"आधा मिनट\",\n\n lessThanXMinutes: {\n one: \"१ मिनट से कम\",\n other: \"{{count}} मिनट से कम\",\n },\n\n xMinutes: {\n one: \"१ मिनट\", // CLDR #1307\n other: \"{{count}} मिनट\",\n },\n\n aboutXHours: {\n one: \"लगभग १ घंटा\",\n other: \"लगभग {{count}} घंटे\",\n },\n\n xHours: {\n one: \"१ घंटा\", // CLDR #1304\n other: \"{{count}} घंटे\", // CLDR #4467\n },\n\n xDays: {\n one: \"१ दिन\", // CLDR #1286\n other: \"{{count}} दिन\",\n },\n\n aboutXWeeks: {\n one: \"लगभग १ सप्ताह\",\n other: \"लगभग {{count}} सप्ताह\",\n },\n\n xWeeks: {\n one: \"१ सप्ताह\",\n other: \"{{count}} सप्ताह\",\n },\n\n aboutXMonths: {\n one: \"लगभग १ महीना\",\n other: \"लगभग {{count}} महीने\",\n },\n\n xMonths: {\n one: \"१ महीना\",\n other: \"{{count}} महीने\",\n },\n\n aboutXYears: {\n one: \"लगभग १ वर्ष\",\n other: \"लगभग {{count}} वर्ष\", // CLDR #4823\n },\n\n xYears: {\n one: \"१ वर्ष\",\n other: \"{{count}} वर्ष\",\n },\n\n overXYears: {\n one: \"१ वर्ष से अधिक\",\n other: \"{{count}} वर्ष से अधिक\",\n },\n\n almostXYears: {\n one: \"लगभग १ वर्ष\",\n other: \"लगभग {{count}} वर्ष\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", numberToLocale(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + \"मे \";\n } else {\n return result + \" पहले\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, do MMMM, y\", // CLDR #1787\n long: \"do MMMM, y\", // CLDR #1788\n medium: \"d MMM, y\", // CLDR #1789\n short: \"dd/MM/yyyy\", // CLDR #1790\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\", // CLDR #1791\n long: \"h:mm:ss a z\", // CLDR #1792\n medium: \"h:mm:ss a\", // CLDR #1793\n short: \"h:mm a\", // CLDR #1794\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'को' {{time}}\", // CLDR #1795\n long: \"{{date}} 'को' {{time}}\", // CLDR #1796\n medium: \"{{date}}, {{time}}\", // CLDR #1797\n short: \"{{date}}, {{time}}\", // CLDR #1798\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'पिछले' eeee p\",\n yesterday: \"'कल' p\",\n today: \"'आज' p\",\n tomorrow: \"'कल' p\",\n nextWeek: \"eeee 'को' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\nimport { localeToNumber } from \"./localize.js\";\n\nconst matchOrdinalNumberPattern = /^[०१२३४५६७८९]+/i;\nconst parseOrdinalNumberPattern = /^[०१२३४५६७८९]+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ईसा-पूर्व|ईस्वी)/i,\n abbreviated: /^(ईसा\\.?\\s?पूर्व\\.?|ईसा\\.?)/i,\n wide: /^(ईसा-पूर्व|ईसवी पूर्व|ईसवी सन|ईसवी)/i,\n};\n\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ति[1234]/i,\n wide: /^[1234](पहली|दूसरी|तीसरी|चौथी)? तिमाही/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[जफ़माअप्मईजूनजुअगसिअक्तनदि]/i,\n abbreviated: /^(जन|फ़र|मार्च|अप्|मई|जून|जुल|अग|सित|अक्तू|नव|दिस)/i,\n wide: /^(जनवरी|फ़रवरी|मार्च|अप्रैल|मई|जून|जुलाई|अगस्त|सितंबर|अक्तूबर|नवंबर|दिसंबर)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^ज/i,\n /^फ़/i,\n /^मा/i,\n /^अप्/i,\n /^मई/i,\n /^जू/i,\n /^जु/i,\n /^अग/i,\n /^सि/i,\n /^अक्तू/i,\n /^न/i,\n /^दि/i,\n ],\n\n any: [\n /^जन/i,\n /^फ़/i,\n /^मा/i,\n /^अप्/i,\n /^मई/i,\n /^जू/i,\n /^जु/i,\n /^अग/i,\n /^सि/i,\n /^अक्तू/i,\n /^नव/i,\n /^दिस/i,\n ],\n};\n\nconst matchDayPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[रविसोममंगलबुधगुरुशुक्रशनि]/i,\n short: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,\n abbreviated: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,\n wide: /^(रविवार|सोमवार|मंगलवार|बुधवार|गुरुवार|शुक्रवार|शनिवार)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i],\n\n any: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(पू|अ|म|द.\\?|सु|दो|शा|रा)/i,\n any: /^(पूर्वाह्न|अपराह्न|म|द.\\?|सु|दो|शा|रा)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^पूर्वाह्न/i,\n pm: /^अपराह्न/i,\n midnight: /^मध्य/i,\n noon: /^दो/i,\n morning: /सु/i,\n afternoon: /दो/i,\n evening: /शा/i,\n night: /रा/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: localeToNumber,\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./hi/_lib/formatDistance.js\";\nimport { formatLong } from \"./hi/_lib/formatLong.js\";\nimport { formatRelative } from \"./hi/_lib/formatRelative.js\";\nimport { localize } from \"./hi/_lib/localize.js\";\nimport { match } from \"./hi/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Hindi locale (India).\n * @language Hindi\n * @iso-639-2 hin\n * @author Mukesh Mandiwal [@mukeshmandiwal](https://github.com/mukeshmandiwal)\n */\nexport const hi = {\n code: \"hi\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default hi;\n"],"names":["numberValues","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","_options","number","numberToLocale","localeToNumber","locale","enNumber","match","localize","buildLocalizeFn","quarter","formatDistanceLocale","formatDistance","token","count","options","result","tokenValue","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","buildMatchPatternFn","buildMatchFn","index","hi"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|