UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

1 lines 1.39 kB
{"version":3,"file":"clamp-level.cjs","names":[],"sources":["../../../../src/components/Calendar/clamp-level/clamp-level.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport type { CalendarLevel } from '../../../types';\n\n// 0 – month, 1 – year, 2 – decade;\ntype LevelNumber = 0 | 1 | 2;\n\nfunction levelToNumber(\n level: CalendarLevel | undefined,\n fallback: LevelNumber | undefined\n): LevelNumber {\n if (!level) {\n return fallback || 0;\n }\n\n return level === 'month' ? 0 : level === 'year' ? 1 : 2;\n}\n\nfunction levelNumberToLevel(levelNumber: LevelNumber | undefined): CalendarLevel {\n return levelNumber === 0 ? 'month' : levelNumber === 1 ? 'year' : 'decade';\n}\n\nexport function clampLevel(\n level: CalendarLevel | undefined,\n minLevel: CalendarLevel | undefined,\n maxLevel: CalendarLevel | undefined\n): CalendarLevel {\n return levelNumberToLevel(\n clamp(\n levelToNumber(level, 0),\n levelToNumber(minLevel, 0),\n levelToNumber(maxLevel, 2)\n ) as LevelNumber\n );\n}\n"],"mappings":";;;AAMA,SAAS,cACP,OACA,UACa;CACb,IAAI,CAAC,OACH,OAAO,YAAY;CAGrB,OAAO,UAAU,UAAU,IAAI,UAAU,SAAS,IAAI;AACxD;AAEA,SAAS,mBAAmB,aAAqD;CAC/E,OAAO,gBAAgB,IAAI,UAAU,gBAAgB,IAAI,SAAS;AACpE;AAEA,SAAgB,WACd,OACA,UACA,UACe;CACf,OAAO,oBAAA,GAAA,eAAA,MAAA,CAEH,cAAc,OAAO,CAAC,GACtB,cAAc,UAAU,CAAC,GACzB,cAAc,UAAU,CAAC,CAC3B,CACF;AACF"}