@kismet-ux/constellation 1.0.0 → 1.1.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/README.md +2 -0
- package/dist/brand/Logo/logo.css +68 -0
- package/dist/brand/Logo/logo.module.scss.js +3 -1
- package/dist/brand/Logo/logo.module.scss.js.map +1 -1
- package/dist/form/Checkbox/checkbox.css +124 -0
- package/dist/form/Checkbox/checkbox.js +51 -4
- package/dist/form/Checkbox/checkbox.js.map +1 -1
- package/dist/form/Checkbox/checkbox.module.scss.js +3 -1
- package/dist/form/Checkbox/checkbox.module.scss.js.map +1 -1
- package/dist/form/DatePicker/date-picker.css +175 -0
- package/dist/form/DatePicker/date-picker.js +50 -4
- package/dist/form/DatePicker/date-picker.js.map +1 -1
- package/dist/form/DatePicker/date-picker.module.scss.js +3 -1
- package/dist/form/DatePicker/date-picker.module.scss.js.map +1 -1
- package/dist/form/Input/input.css +155 -0
- package/dist/form/Input/input.module.scss.js +3 -1
- package/dist/form/Input/input.module.scss.js.map +1 -1
- package/dist/form/Label/label.css +57 -0
- package/dist/form/Label/label.module.scss.js +3 -1
- package/dist/form/Label/label.module.scss.js.map +1 -1
- package/dist/form/Select/select.css +213 -0
- package/dist/form/Select/select.module.scss.js +3 -1
- package/dist/form/Select/select.module.scss.js.map +1 -1
- package/dist/form.d.ts +1 -1
- package/dist/{index-DECPicJT.d.ts → index-BeCWb0Ix.d.ts} +13 -13
- package/dist/{index-qbk6vH0X.d.ts → index-CBGZtocA.d.ts} +1 -1
- package/dist/{index-Bzf20Rpc.d.ts → index-DVEBz660.d.ts} +1 -1
- package/dist/index.css +1 -6752
- package/dist/index.d.ts +6 -6
- package/dist/index.js +27 -26
- package/dist/index.js.map +1 -1
- package/dist/layout/AppContent/app-content.css +3 -0
- package/dist/layout/AppContent/app-content.module.scss.js +3 -1
- package/dist/layout/AppContent/app-content.module.scss.js.map +1 -1
- package/dist/layout/AppFooter/app-footer.css +12 -0
- package/dist/layout/AppFooter/app-footer.module.scss.js +3 -1
- package/dist/layout/AppFooter/app-footer.module.scss.js.map +1 -1
- package/dist/layout/AppSidebarHeader/app-sidebar-header.css +20 -0
- package/dist/layout/AppSidebarHeader/app-sidebar-header.js +27 -1
- package/dist/layout/AppSidebarHeader/app-sidebar-header.js.map +1 -1
- package/dist/layout/AppSidebarHeader/app-sidebar-header.module.scss.js +3 -1
- package/dist/layout/AppSidebarHeader/app-sidebar-header.module.scss.js.map +1 -1
- package/dist/layout/Collapse/collapse.css +19 -0
- package/dist/layout/Collapse/collapse.module.scss.js +3 -1
- package/dist/layout/Collapse/collapse.module.scss.js.map +1 -1
- package/dist/layout/Column/column.css +95 -0
- package/dist/layout/Column/column.module.scss.js +3 -1
- package/dist/layout/Column/column.module.scss.js.map +1 -1
- package/dist/layout/Container/container.css +482 -0
- package/dist/layout/Container/container.module.scss.js +3 -1
- package/dist/layout/Container/container.module.scss.js.map +1 -1
- package/dist/layout/Grid/grid.css +346 -0
- package/dist/layout/Grid/grid.module.scss.js +3 -1
- package/dist/layout/Grid/grid.module.scss.js.map +1 -1
- package/dist/layout/Row/row.css +125 -0
- package/dist/layout/Row/row.module.scss.js +3 -1
- package/dist/layout/Row/row.module.scss.js.map +1 -1
- package/dist/layout/Sidebar/sidebar.css +554 -0
- package/dist/layout/Sidebar/sidebar.module.scss.js +3 -1
- package/dist/layout/Sidebar/sidebar.module.scss.js.map +1 -1
- package/dist/layout/Skeleton/skeleton.css +17 -0
- package/dist/layout/Skeleton/skeleton.module.scss.js +3 -1
- package/dist/layout/Skeleton/skeleton.module.scss.js.map +1 -1
- package/dist/layout.d.ts +2 -2
- package/dist/navigation/Breadcrumbs/breadcrumbs.css +53 -0
- package/dist/navigation/Breadcrumbs/breadcrumbs.module.scss.js +3 -1
- package/dist/navigation/Breadcrumbs/breadcrumbs.module.scss.js.map +1 -1
- package/dist/navigation/DropdownMenu/dropdown-menu.css +193 -0
- package/dist/navigation/DropdownMenu/dropdown-menu.module.scss.js +3 -1
- package/dist/navigation/DropdownMenu/dropdown-menu.module.scss.js.map +1 -1
- package/dist/navigation/Link/link.css +62 -0
- package/dist/navigation/Link/link.module.scss.js +3 -1
- package/dist/navigation/Link/link.module.scss.js.map +1 -1
- package/dist/navigation/NavUser/nav-user.css +21 -0
- package/dist/navigation/NavUser/nav-user.js +2 -2
- package/dist/navigation/NavUser/nav-user.module.scss.js +3 -1
- package/dist/navigation/NavUser/nav-user.module.scss.js.map +1 -1
- package/dist/navigation/Sheet/sheet.css +253 -0
- package/dist/navigation/Sheet/sheet.js +26 -3
- package/dist/navigation/Sheet/sheet.js.map +1 -1
- package/dist/navigation/Sheet/sheet.module.scss.js +3 -1
- package/dist/navigation/Sheet/sheet.module.scss.js.map +1 -1
- package/dist/navigation.d.ts +1 -1
- package/dist/settings/AppearanceTabs/appearance-tabs.css +12 -0
- package/dist/settings/AppearanceTabs/appearance-tabs.js +24 -1
- package/dist/settings/AppearanceTabs/appearance-tabs.js.map +1 -1
- package/dist/settings/AppearanceTabs/appearance-tabs.module.scss.js +3 -1
- package/dist/settings/AppearanceTabs/appearance-tabs.module.scss.js.map +1 -1
- package/dist/{tooltip-XagXjWLB.d.ts → tooltip-zOT3UHCF.d.ts} +2 -2
- package/dist/typography/Heading/heading.css +9 -0
- package/dist/typography/Heading/heading.module.scss.js +3 -1
- package/dist/typography/Heading/heading.module.scss.js.map +1 -1
- package/dist/typography/TruncatedText/truncated-text.css +12 -0
- package/dist/typography/TruncatedText/truncated-text.module.scss.js +3 -1
- package/dist/typography/TruncatedText/truncated-text.module.scss.js.map +1 -1
- package/dist/typography/Typography/typography.css +227 -0
- package/dist/typography/Typography/typography.module.scss.js +3 -1
- package/dist/typography/Typography/typography.module.scss.js.map +1 -1
- package/dist/ui/Alert/alert.css +295 -0
- package/dist/ui/Alert/alert.module.scss.js +3 -1
- package/dist/ui/Alert/alert.module.scss.js.map +1 -1
- package/dist/ui/Avatar/avatar.css +36 -0
- package/dist/ui/Avatar/avatar.module.scss.js +3 -1
- package/dist/ui/Avatar/avatar.module.scss.js.map +1 -1
- package/dist/ui/Button/button.css +451 -0
- package/dist/ui/Button/button.module.scss.js +3 -1
- package/dist/ui/Button/button.module.scss.js.map +1 -1
- package/dist/ui/Chip/chip.css +179 -0
- package/dist/ui/Chip/chip.module.scss.js +3 -1
- package/dist/ui/Chip/chip.module.scss.js.map +1 -1
- package/dist/ui/CodeBlock/code-block.css +217 -0
- package/dist/ui/CodeBlock/code-block.module.scss.js +3 -1
- package/dist/ui/CodeBlock/code-block.module.scss.js.map +1 -1
- package/dist/ui/DevIndicator/dev-indicator.css +31 -0
- package/dist/ui/DevIndicator/dev-indicator.module.scss.js +3 -1
- package/dist/ui/DevIndicator/dev-indicator.module.scss.js.map +1 -1
- package/dist/ui/Dialog/dialog.css +111 -0
- package/dist/ui/Dialog/dialog.module.scss.js +3 -1
- package/dist/ui/Dialog/dialog.module.scss.js.map +1 -1
- package/dist/ui/EmptyState/empty-state.css +183 -0
- package/dist/ui/EmptyState/empty-state.module.scss.js +3 -1
- package/dist/ui/EmptyState/empty-state.module.scss.js.map +1 -1
- package/dist/ui/Icon/icon.css +183 -0
- package/dist/ui/Icon/icon.module.scss.js +3 -1
- package/dist/ui/Icon/icon.module.scss.js.map +1 -1
- package/dist/ui/List/list.css +116 -0
- package/dist/ui/List/list.module.scss.js +3 -1
- package/dist/ui/List/list.module.scss.js.map +1 -1
- package/dist/ui/Pagination/pagination.css +31 -0
- package/dist/ui/Pagination/pagination.module.scss.js +3 -1
- package/dist/ui/Pagination/pagination.module.scss.js.map +1 -1
- package/dist/ui/ProgressBar/progress-bar.css +110 -0
- package/dist/ui/ProgressBar/progress-bar.module.scss.js +3 -1
- package/dist/ui/ProgressBar/progress-bar.module.scss.js.map +1 -1
- package/dist/ui/Separator/separator.css +14 -0
- package/dist/ui/Separator/separator.module.scss.js +3 -1
- package/dist/ui/Separator/separator.module.scss.js.map +1 -1
- package/dist/ui/StatCard/stat-card.css +112 -0
- package/dist/ui/StatCard/stat-card.module.scss.js +3 -1
- package/dist/ui/StatCard/stat-card.module.scss.js.map +1 -1
- package/dist/ui/StepProgress/step-progress.css +333 -0
- package/dist/ui/StepProgress/step-progress.module.scss.js +3 -1
- package/dist/ui/StepProgress/step-progress.module.scss.js.map +1 -1
- package/dist/ui/Switch/switch.css +116 -0
- package/dist/ui/Switch/switch.module.scss.js +3 -1
- package/dist/ui/Switch/switch.module.scss.js.map +1 -1
- package/dist/ui/Table/table.css +131 -0
- package/dist/ui/Table/table.module.scss.js +3 -1
- package/dist/ui/Table/table.module.scss.js.map +1 -1
- package/dist/ui/TableActionCell/table-action-cell.css +15 -0
- package/dist/ui/TableActionCell/table-action-cell.module.scss.js +3 -1
- package/dist/ui/TableActionCell/table-action-cell.module.scss.js.map +1 -1
- package/dist/ui/TableToolbar/table-toolbar.css +36 -0
- package/dist/ui/TableToolbar/table-toolbar.module.scss.js +3 -1
- package/dist/ui/TableToolbar/table-toolbar.module.scss.js.map +1 -1
- package/dist/ui/Toggle/toggle.css +551 -0
- package/dist/ui/Toggle/toggle.module.scss.js +3 -1
- package/dist/ui/Toggle/toggle.module.scss.js.map +1 -1
- package/dist/ui/ToggleGroup/toggle-group.css +70 -0
- package/dist/ui/ToggleGroup/toggle-group.module.scss.js +3 -1
- package/dist/ui/ToggleGroup/toggle-group.module.scss.js.map +1 -1
- package/dist/ui/Tooltip/tooltip.css +93 -0
- package/dist/ui/Tooltip/tooltip.module.scss.js +3 -1
- package/dist/ui/Tooltip/tooltip.module.scss.js.map +1 -1
- package/dist/ui.d.ts +2 -2
- package/dist/user/UserInfo/user-info.css +29 -0
- package/dist/user/UserInfo/user-info.module.scss.js +3 -1
- package/dist/user/UserInfo/user-info.module.scss.js.map +1 -1
- package/package.json +4 -2
- package/dist/index.css.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","sources":["../../../src/form/DatePicker/date-picker.tsx"],"sourcesContent":["import inputStyles from '@constellation/form/Input/input.module.scss';\nimport { Label } from '@constellation/form/Label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@constellation/form/Select';\nimport { useBreakpoint } from '@constellation/hooks/use-mobile';\nimport { Row } from '@constellation/layout';\nimport { type DatePickerProps } from '@constellation/types';\nimport { Typography } from '@constellation/typography/Typography';\nimport { Button } from '@constellation/ui';\nimport cn from 'clsx';\nimport { CalendarIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport s from './date-picker.module.scss';\nimport {\n formatDateValue,\n formatDisplayDate,\n formatIso,\n isDateWithinRange,\n maskDateInput,\n normalizeIsoValue,\n parseDateValue,\n useCalendar,\n} from './use-calendar';\n\nconst ANIMATION_DURATION = 200;\n\nfunction DatePicker({\n value: valueProp,\n defaultValue,\n onChange,\n label,\n helperText,\n error = false,\n disabled = false,\n sizeVariant,\n placeholder,\n min,\n max,\n required = false,\n id,\n className,\n name,\n}: DatePickerProps) {\n const generatedId = React.useId();\n const triggerId = id ?? generatedId;\n const helperId = `${triggerId}-helper`;\n const fieldRef = React.useRef<HTMLDivElement | null>(null);\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const contentRef = React.useRef<HTMLDivElement | null>(null);\n const { isBelow } = useBreakpoint();\n const resolvedSize = sizeVariant ?? (isBelow(900) ? 'sm' : 'md');\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = React.useState(() =>\n normalizeIsoValue(defaultValue),\n );\n const currentValue = isControlled ? valueProp : uncontrolledValue;\n const normalizedCurrentValue = normalizeIsoValue(currentValue);\n\n const [isOpen, setIsOpen] = React.useState(false);\n const [isClosing, setIsClosing] = React.useState(false);\n const [isFocused, setIsFocused] = React.useState(false);\n const [manualError, setManualError] = React.useState<string | null>(null);\n const [inputValue, setInputValue] = React.useState(() =>\n formatDisplayDate(normalizedCurrentValue),\n );\n const closeTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const [position, setPosition] = React.useState<{ top: number; left: number }>({\n top: 0,\n left: 0,\n });\n const hasError = error || !!manualError;\n\n const displayOpen = isOpen || isClosing;\n\n // Pixel-accurate positioning via fixed + raw getBoundingClientRect — matches\n // Tooltip / DropdownMenu / Select. Recomputes on scroll + resize so the\n // popover tracks the trigger when the page or a parent scrolls. Flips\n // above the trigger when there isn't enough room below (DropdownMenu pattern).\n const calcPosition = React.useCallback(() => {\n const rect = fieldRef.current?.getBoundingClientRect();\n if (!rect) return;\n const offset = 4;\n const popoverHeight = contentRef.current?.offsetHeight ?? 0;\n const fitsBelow = window.innerHeight - rect.bottom - offset >= popoverHeight;\n const top = fitsBelow ? rect.bottom + offset : rect.top - popoverHeight - offset;\n setPosition({ top, left: rect.left });\n }, []);\n\n React.useLayoutEffect(() => {\n if (!displayOpen) return;\n calcPosition();\n }, [displayOpen, calcPosition]);\n\n React.useEffect(() => {\n if (!displayOpen) return;\n window.addEventListener('scroll', calcPosition, true);\n window.addEventListener('resize', calcPosition);\n return () => {\n window.removeEventListener('scroll', calcPosition, true);\n window.removeEventListener('resize', calcPosition);\n };\n }, [displayOpen, calcPosition]);\n\n const hasValue = Boolean(normalizedCurrentValue);\n const helperMessage = manualError ?? helperText;\n const draftDate = parseDateValue(inputValue);\n const calendarValue = draftDate ? inputValue : isFocused ? undefined : normalizedCurrentValue;\n const resolvedPlaceholder = placeholder ?? 'MM/DD/YYYY';\n\n React.useEffect(() => {\n setInputValue(formatDisplayDate(normalizedCurrentValue));\n setManualError(null);\n }, [normalizedCurrentValue]);\n\n const {\n viewYear,\n viewMonth,\n setViewYear,\n setViewMonth,\n monthNames,\n yearRange,\n weekdays,\n days,\n goToPrevMonth,\n goToNextMonth,\n canGoPrev,\n canGoNext,\n } = useCalendar({ selectedDate: calendarValue, min, max });\n\n const clearCloseTimer = React.useCallback(() => {\n if (closeTimerRef.current) {\n clearTimeout(closeTimerRef.current);\n closeTimerRef.current = null;\n }\n }, []);\n\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n if (open) {\n clearCloseTimer();\n setIsClosing(false);\n setIsOpen(true);\n return;\n }\n\n setIsOpen(false);\n setIsClosing(true);\n clearCloseTimer();\n closeTimerRef.current = setTimeout(() => {\n setIsClosing(false);\n }, ANIMATION_DURATION);\n },\n [clearCloseTimer],\n );\n\n React.useEffect(() => {\n return () => clearCloseTimer();\n }, [clearCloseTimer]);\n\n // Click-outside handler\n React.useEffect(() => {\n if (!displayOpen) return;\n\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node;\n if (fieldRef.current?.contains(target)) return;\n if (contentRef.current?.contains(target)) return;\n handleOpenChange(false);\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [displayOpen, handleOpenChange]);\n\n const syncCalendarPreview = React.useCallback(\n (maskedValue: string) => {\n const digits = maskedValue.replace(/\\D/g, '');\n\n if (digits.length >= 2) {\n const month = Number(digits.slice(0, 2));\n if (month >= 1 && month <= 12) {\n setViewMonth(month - 1);\n }\n }\n\n if (digits.length === 8) {\n const year = Number(digits.slice(4, 8));\n if (year >= 1000 && year <= 9999) {\n setViewYear(year);\n }\n }\n },\n [setViewMonth, setViewYear],\n );\n\n const handleDayClick = React.useCallback(\n (date: Date) => {\n const isoDate = formatIso(date);\n const displayDate = formatDateValue(date);\n if (!isControlled) {\n setUncontrolledValue(isoDate);\n }\n setInputValue(displayDate);\n setManualError(null);\n onChange?.(isoDate);\n handleOpenChange(false);\n },\n [isControlled, onChange, handleOpenChange],\n );\n\n const syncSelectedDate = React.useCallback(\n (date: Date) => {\n const isoDate = formatIso(date);\n const displayDate = formatDateValue(date);\n\n if (!isDateWithinRange(date, min, max)) {\n return;\n }\n\n if (!isControlled) {\n setUncontrolledValue(isoDate);\n }\n setInputValue(displayDate);\n setManualError(null);\n onChange?.(isoDate);\n },\n [isControlled, max, min, onChange],\n );\n\n const commitValue = React.useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setUncontrolledValue(nextValue);\n }\n onChange?.(nextValue);\n },\n [isControlled, onChange],\n );\n\n const commitTypedValue = React.useCallback(() => {\n const trimmedValue = inputValue.trim();\n\n if (!trimmedValue) {\n setManualError(null);\n commitValue('');\n setInputValue('');\n return;\n }\n\n const parsedDate = parseDateValue(trimmedValue);\n\n if (!parsedDate) {\n setManualError('Enter a valid date in MM/DD/YYYY format.');\n return;\n }\n\n if (!isDateWithinRange(parsedDate, min, max)) {\n setManualError('Entered date is outside the allowed range.');\n return;\n }\n\n const normalizedDate = formatDateValue(parsedDate);\n const isoDate = formatIso(parsedDate);\n setManualError(null);\n commitValue(isoDate);\n setInputValue(normalizedDate);\n }, [commitValue, inputValue, max, min]);\n\n const updateDateFromCalendarView = React.useCallback(\n (nextYear: number, nextMonth: number) => {\n const baseDate = parseDateValue(inputValue) ?? parseDateValue(normalizedCurrentValue);\n\n if (!baseDate) {\n return;\n }\n\n const lastDayOfMonth = new Date(nextYear, nextMonth + 1, 0).getDate();\n const nextDay = Math.min(baseDate.getDate(), lastDayOfMonth);\n const nextDate = new Date(nextYear, nextMonth, nextDay);\n\n syncSelectedDate(nextDate);\n },\n [inputValue, normalizedCurrentValue, syncSelectedDate],\n );\n\n const containerClasses = cn(\n inputStyles.container,\n inputStyles[resolvedSize],\n { [inputStyles.error]: hasError },\n { [inputStyles.disabled]: disabled },\n { [inputStyles.placeholder]: !!resolvedPlaceholder },\n { [inputStyles['has-value']]: hasValue || !!inputValue },\n { [inputStyles['is-focused']]: isFocused || displayOpen },\n className,\n );\n\n return (\n <>\n <div data-slot={'date-picker'} data-constellation-field className={containerClasses}>\n <div ref={fieldRef} className={inputStyles['input-container']}>\n <div className={inputStyles['label-container']}>\n <Label htmlFor={triggerId}>\n {label}\n {required && <span className={inputStyles.required}>*</span>}\n </Label>\n </div>\n <input\n ref={inputRef}\n id={triggerId}\n type={'text'}\n className={cn(inputStyles['input-field'], s['text-input'])}\n value={inputValue}\n disabled={disabled}\n placeholder={resolvedPlaceholder}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={helperMessage ? helperId : undefined}\n inputMode={'numeric'}\n autoComplete={'off'}\n maxLength={10}\n pattern={'\\\\d{2}/\\\\d{2}/\\\\d{4}'}\n onChange={e => {\n const maskedValue = maskDateInput(e.target.value);\n setInputValue(maskedValue);\n syncCalendarPreview(maskedValue);\n setManualError(null);\n }}\n onFocus={() => {\n setIsFocused(true);\n handleOpenChange(true);\n syncCalendarPreview(inputValue);\n }}\n onBlur={() => {\n setIsFocused(false);\n commitTypedValue();\n }}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commitTypedValue();\n handleOpenChange(false);\n }\n\n // Guarded + preventDefault so Escape dismisses this calendar and\n // not the Dialog around it, while a closed field ignores the key.\n if (e.key === 'Escape' && displayOpen) {\n e.preventDefault();\n setManualError(null);\n setInputValue(formatDisplayDate(normalizedCurrentValue));\n handleOpenChange(false);\n }\n }}\n />\n <button\n type={'button'}\n className={s.trigger}\n aria-label={'Open calendar'}\n disabled={disabled}\n onMouseDown={e => e.preventDefault()}\n onClick={() => {\n handleOpenChange(true);\n syncCalendarPreview(inputValue);\n inputRef.current?.focus();\n }}\n >\n <CalendarIcon className={s['trigger-icon']} />\n <span className={'srOnly'}>Open calendar</span>\n </button>\n </div>\n {helperMessage ? (\n <Typography id={helperId} variant={'caption'} className={inputStyles['helper-text']}>\n {helperMessage}\n </Typography>\n ) : null}\n </div>\n {name && <input type={'hidden'} name={name} value={normalizedCurrentValue} />}\n {displayOpen\n ? createPortal(\n <div\n ref={contentRef}\n className={s.content}\n data-state={isOpen ? 'open' : 'closed'}\n data-closing={isClosing ? 'true' : undefined}\n data-side={'bottom'}\n style={{\n position: 'fixed',\n top: position.top,\n left: position.left,\n }}\n >\n <Row gap={1} justify={'space-between'}>\n <Button\n type={'button'}\n theme={'inherit'}\n size={'sm'}\n variant={'ghost'}\n iconOnly\n onClick={goToPrevMonth}\n disabled={!canGoPrev}\n aria-label={'Previous month'}\n >\n <ChevronLeftIcon />\n </Button>\n <Row gap={1}>\n <Select\n value={String(viewMonth)}\n onValueChange={v => {\n const nextMonth = Number(v);\n setViewMonth(nextMonth);\n updateDateFromCalendarView(viewYear, nextMonth);\n }}\n >\n <SelectTrigger className={s['header-trigger']} aria-label={'Month'}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {monthNames.map((name, i) => (\n <SelectItem key={i} value={String(i)}>\n {name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Select\n value={String(viewYear)}\n onValueChange={v => {\n const nextYear = Number(v);\n setViewYear(nextYear);\n updateDateFromCalendarView(nextYear, viewMonth);\n }}\n >\n <SelectTrigger className={s['header-trigger']} aria-label={'Year'}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {yearRange.map(y => (\n <SelectItem key={y} value={String(y)}>\n {y}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </Row>\n <Button\n theme={'inherit'}\n size={'sm'}\n variant={'ghost'}\n iconOnly\n type={'button'}\n onClick={goToNextMonth}\n disabled={!canGoNext}\n aria-label={'Next month'}\n >\n <ChevronRightIcon />\n </Button>\n </Row>\n <div className={s.weekdays}>\n {weekdays.map(wd => (\n <span key={wd} className={s.weekday}>\n {wd}\n </span>\n ))}\n </div>\n <div className={s.grid}>\n {days.map((d, i) => (\n <button\n key={i}\n type={'button'}\n className={cn(\n s.day,\n { [s.outside]: !d.isCurrentMonth },\n { [s.today]: d.isToday },\n { [s.selected]: d.isSelected },\n )}\n disabled={d.isDisabled}\n onClick={() => handleDayClick(d.date)}\n aria-label={d.date.toLocaleDateString(undefined, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })}\n >\n {d.day}\n </button>\n ))}\n </div>\n </div>,\n document.body,\n )\n : null}\n </>\n );\n}\n\nexport { DatePicker };\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-picker.js","sources":["../../../src/form/DatePicker/date-picker.tsx"],"sourcesContent":["import inputStyles from '@constellation/form/Input/input.module.scss';\nimport { Label } from '@constellation/form/Label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@constellation/form/Select';\nimport { useBreakpoint } from '@constellation/hooks/use-mobile';\nimport { Row } from '@constellation/layout';\nimport { type DatePickerProps } from '@constellation/types';\nimport { Typography } from '@constellation/typography/Typography';\nimport { Button } from '@constellation/ui';\nimport cn from 'clsx';\nimport { CalendarIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport s from './date-picker.module.scss';\nimport {\n formatDateValue,\n formatDisplayDate,\n formatIso,\n isDateWithinRange,\n maskDateInput,\n normalizeIsoValue,\n parseDateValue,\n useCalendar,\n} from './use-calendar';\n\nconst ANIMATION_DURATION = 200;\n\nfunction DatePicker({\n value: valueProp,\n defaultValue,\n onChange,\n label,\n helperText,\n error = false,\n disabled = false,\n sizeVariant,\n placeholder,\n min,\n max,\n required = false,\n id,\n className,\n name,\n}: DatePickerProps) {\n const generatedId = React.useId();\n const triggerId = id ?? generatedId;\n const helperId = `${triggerId}-helper`;\n const fieldRef = React.useRef<HTMLDivElement | null>(null);\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const contentRef = React.useRef<HTMLDivElement | null>(null);\n const { isBelow } = useBreakpoint();\n const resolvedSize = sizeVariant ?? (isBelow(900) ? 'sm' : 'md');\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = React.useState(() =>\n normalizeIsoValue(defaultValue),\n );\n const currentValue = isControlled ? valueProp : uncontrolledValue;\n const normalizedCurrentValue = normalizeIsoValue(currentValue);\n\n const [isOpen, setIsOpen] = React.useState(false);\n const [isClosing, setIsClosing] = React.useState(false);\n const [isFocused, setIsFocused] = React.useState(false);\n const [manualError, setManualError] = React.useState<string | null>(null);\n const [inputValue, setInputValue] = React.useState(() =>\n formatDisplayDate(normalizedCurrentValue),\n );\n const closeTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const [position, setPosition] = React.useState<{ top: number; left: number }>({\n top: 0,\n left: 0,\n });\n const hasError = error || !!manualError;\n\n const displayOpen = isOpen || isClosing;\n\n // Pixel-accurate positioning via fixed + raw getBoundingClientRect — matches\n // Tooltip / DropdownMenu / Select. Recomputes on scroll + resize so the\n // popover tracks the trigger when the page or a parent scrolls. Flips\n // above the trigger when there isn't enough room below (DropdownMenu pattern).\n const calcPosition = React.useCallback(() => {\n const rect = fieldRef.current?.getBoundingClientRect();\n if (!rect) return;\n const offset = 4;\n const popoverHeight = contentRef.current?.offsetHeight ?? 0;\n const fitsBelow = window.innerHeight - rect.bottom - offset >= popoverHeight;\n const top = fitsBelow ? rect.bottom + offset : rect.top - popoverHeight - offset;\n setPosition({ top, left: rect.left });\n }, []);\n\n React.useLayoutEffect(() => {\n if (!displayOpen) return;\n calcPosition();\n }, [displayOpen, calcPosition]);\n\n React.useEffect(() => {\n if (!displayOpen) return;\n window.addEventListener('scroll', calcPosition, true);\n window.addEventListener('resize', calcPosition);\n return () => {\n window.removeEventListener('scroll', calcPosition, true);\n window.removeEventListener('resize', calcPosition);\n };\n }, [displayOpen, calcPosition]);\n\n const hasValue = Boolean(normalizedCurrentValue);\n const helperMessage = manualError ?? helperText;\n const draftDate = parseDateValue(inputValue);\n const calendarValue = draftDate ? inputValue : isFocused ? undefined : normalizedCurrentValue;\n const resolvedPlaceholder = placeholder ?? 'MM/DD/YYYY';\n\n React.useEffect(() => {\n setInputValue(formatDisplayDate(normalizedCurrentValue));\n setManualError(null);\n }, [normalizedCurrentValue]);\n\n const {\n viewYear,\n viewMonth,\n setViewYear,\n setViewMonth,\n monthNames,\n yearRange,\n weekdays,\n days,\n goToPrevMonth,\n goToNextMonth,\n canGoPrev,\n canGoNext,\n } = useCalendar({ selectedDate: calendarValue, min, max });\n\n const clearCloseTimer = React.useCallback(() => {\n if (closeTimerRef.current) {\n clearTimeout(closeTimerRef.current);\n closeTimerRef.current = null;\n }\n }, []);\n\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n if (open) {\n clearCloseTimer();\n setIsClosing(false);\n setIsOpen(true);\n return;\n }\n\n setIsOpen(false);\n setIsClosing(true);\n clearCloseTimer();\n closeTimerRef.current = setTimeout(() => {\n setIsClosing(false);\n }, ANIMATION_DURATION);\n },\n [clearCloseTimer],\n );\n\n React.useEffect(() => {\n return () => clearCloseTimer();\n }, [clearCloseTimer]);\n\n // Click-outside handler\n React.useEffect(() => {\n if (!displayOpen) return;\n\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node;\n if (fieldRef.current?.contains(target)) return;\n if (contentRef.current?.contains(target)) return;\n handleOpenChange(false);\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [displayOpen, handleOpenChange]);\n\n const syncCalendarPreview = React.useCallback(\n (maskedValue: string) => {\n const digits = maskedValue.replace(/\\D/g, '');\n\n if (digits.length >= 2) {\n const month = Number(digits.slice(0, 2));\n if (month >= 1 && month <= 12) {\n setViewMonth(month - 1);\n }\n }\n\n if (digits.length === 8) {\n const year = Number(digits.slice(4, 8));\n if (year >= 1000 && year <= 9999) {\n setViewYear(year);\n }\n }\n },\n [setViewMonth, setViewYear],\n );\n\n const handleDayClick = React.useCallback(\n (date: Date) => {\n const isoDate = formatIso(date);\n const displayDate = formatDateValue(date);\n if (!isControlled) {\n setUncontrolledValue(isoDate);\n }\n setInputValue(displayDate);\n setManualError(null);\n onChange?.(isoDate);\n handleOpenChange(false);\n },\n [isControlled, onChange, handleOpenChange],\n );\n\n const syncSelectedDate = React.useCallback(\n (date: Date) => {\n const isoDate = formatIso(date);\n const displayDate = formatDateValue(date);\n\n if (!isDateWithinRange(date, min, max)) {\n return;\n }\n\n if (!isControlled) {\n setUncontrolledValue(isoDate);\n }\n setInputValue(displayDate);\n setManualError(null);\n onChange?.(isoDate);\n },\n [isControlled, max, min, onChange],\n );\n\n const commitValue = React.useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setUncontrolledValue(nextValue);\n }\n onChange?.(nextValue);\n },\n [isControlled, onChange],\n );\n\n const commitTypedValue = React.useCallback(() => {\n const trimmedValue = inputValue.trim();\n\n if (!trimmedValue) {\n setManualError(null);\n commitValue('');\n setInputValue('');\n return;\n }\n\n const parsedDate = parseDateValue(trimmedValue);\n\n if (!parsedDate) {\n setManualError('Enter a valid date in MM/DD/YYYY format.');\n return;\n }\n\n if (!isDateWithinRange(parsedDate, min, max)) {\n setManualError('Entered date is outside the allowed range.');\n return;\n }\n\n const normalizedDate = formatDateValue(parsedDate);\n const isoDate = formatIso(parsedDate);\n setManualError(null);\n commitValue(isoDate);\n setInputValue(normalizedDate);\n }, [commitValue, inputValue, max, min]);\n\n const updateDateFromCalendarView = React.useCallback(\n (nextYear: number, nextMonth: number) => {\n const baseDate = parseDateValue(inputValue) ?? parseDateValue(normalizedCurrentValue);\n\n if (!baseDate) {\n return;\n }\n\n const lastDayOfMonth = new Date(nextYear, nextMonth + 1, 0).getDate();\n const nextDay = Math.min(baseDate.getDate(), lastDayOfMonth);\n const nextDate = new Date(nextYear, nextMonth, nextDay);\n\n syncSelectedDate(nextDate);\n },\n [inputValue, normalizedCurrentValue, syncSelectedDate],\n );\n\n const containerClasses = cn(\n inputStyles.container,\n inputStyles[resolvedSize],\n { [inputStyles.error]: hasError },\n { [inputStyles.disabled]: disabled },\n { [inputStyles.placeholder]: !!resolvedPlaceholder },\n { [inputStyles['has-value']]: hasValue || !!inputValue },\n { [inputStyles['is-focused']]: isFocused || displayOpen },\n className,\n );\n\n return (\n <>\n <div data-slot={'date-picker'} data-constellation-field className={containerClasses}>\n <div ref={fieldRef} className={inputStyles['input-container']}>\n <div className={inputStyles['label-container']}>\n <Label htmlFor={triggerId}>\n {label}\n {required && <span className={inputStyles.required}>*</span>}\n </Label>\n </div>\n <input\n ref={inputRef}\n id={triggerId}\n type={'text'}\n className={cn(inputStyles['input-field'], s['text-input'])}\n value={inputValue}\n disabled={disabled}\n placeholder={resolvedPlaceholder}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={helperMessage ? helperId : undefined}\n inputMode={'numeric'}\n autoComplete={'off'}\n maxLength={10}\n pattern={'\\\\d{2}/\\\\d{2}/\\\\d{4}'}\n onChange={e => {\n const maskedValue = maskDateInput(e.target.value);\n setInputValue(maskedValue);\n syncCalendarPreview(maskedValue);\n setManualError(null);\n }}\n onFocus={() => {\n setIsFocused(true);\n handleOpenChange(true);\n syncCalendarPreview(inputValue);\n }}\n onBlur={() => {\n setIsFocused(false);\n commitTypedValue();\n }}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commitTypedValue();\n handleOpenChange(false);\n }\n\n // Guarded + preventDefault so Escape dismisses this calendar and\n // not the Dialog around it, while a closed field ignores the key.\n if (e.key === 'Escape' && displayOpen) {\n e.preventDefault();\n setManualError(null);\n setInputValue(formatDisplayDate(normalizedCurrentValue));\n handleOpenChange(false);\n }\n }}\n />\n <button\n type={'button'}\n className={s.trigger}\n aria-label={'Open calendar'}\n disabled={disabled}\n onMouseDown={e => e.preventDefault()}\n onClick={() => {\n handleOpenChange(true);\n syncCalendarPreview(inputValue);\n inputRef.current?.focus();\n }}\n >\n <CalendarIcon className={s['trigger-icon']} />\n <span className={'srOnly'}>Open calendar</span>\n </button>\n </div>\n {helperMessage ? (\n <Typography id={helperId} variant={'caption'} className={inputStyles['helper-text']}>\n {helperMessage}\n </Typography>\n ) : null}\n </div>\n {name && <input type={'hidden'} name={name} value={normalizedCurrentValue} />}\n {displayOpen\n ? createPortal(\n <div\n ref={contentRef}\n className={s.content}\n data-state={isOpen ? 'open' : 'closed'}\n data-closing={isClosing ? 'true' : undefined}\n data-side={'bottom'}\n style={{\n position: 'fixed',\n top: position.top,\n left: position.left,\n }}\n >\n <Row gap={1} justify={'space-between'}>\n <Button\n type={'button'}\n theme={'inherit'}\n size={'sm'}\n variant={'ghost'}\n iconOnly\n onClick={goToPrevMonth}\n disabled={!canGoPrev}\n aria-label={'Previous month'}\n >\n <ChevronLeftIcon />\n </Button>\n <Row gap={1}>\n <Select\n value={String(viewMonth)}\n onValueChange={v => {\n const nextMonth = Number(v);\n setViewMonth(nextMonth);\n updateDateFromCalendarView(viewYear, nextMonth);\n }}\n >\n <SelectTrigger className={s['header-trigger']} aria-label={'Month'}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {monthNames.map((name, i) => (\n <SelectItem key={i} value={String(i)}>\n {name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Select\n value={String(viewYear)}\n onValueChange={v => {\n const nextYear = Number(v);\n setViewYear(nextYear);\n updateDateFromCalendarView(nextYear, viewMonth);\n }}\n >\n <SelectTrigger className={s['header-trigger']} aria-label={'Year'}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {yearRange.map(y => (\n <SelectItem key={y} value={String(y)}>\n {y}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </Row>\n <Button\n theme={'inherit'}\n size={'sm'}\n variant={'ghost'}\n iconOnly\n type={'button'}\n onClick={goToNextMonth}\n disabled={!canGoNext}\n aria-label={'Next month'}\n >\n <ChevronRightIcon />\n </Button>\n </Row>\n <div className={s.weekdays}>\n {weekdays.map(wd => (\n <span key={wd} className={s.weekday}>\n {wd}\n </span>\n ))}\n </div>\n <div className={s.grid}>\n {days.map((d, i) => (\n <button\n key={i}\n type={'button'}\n className={cn(\n s.day,\n { [s.outside]: !d.isCurrentMonth },\n { [s.today]: d.isToday },\n { [s.selected]: d.isSelected },\n )}\n disabled={d.isDisabled}\n onClick={() => handleDayClick(d.date)}\n aria-label={d.date.toLocaleDateString(undefined, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })}\n >\n {d.day}\n </button>\n ))}\n </div>\n </div>,\n document.body,\n )\n : null}\n </>\n );\n}\n\nexport { DatePicker };\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import './date-picker.css';
|
|
2
|
+
|
|
3
|
+
var s = {"trigger":"date-picker-module_trigger__ETBtS","text-input":"date-picker-module_text-input__bJeCY","trigger-icon":"date-picker-module_trigger-icon__1hfj_","content":"date-picker-module_content__ZZBe0","header-trigger":"date-picker-module_header-trigger__1neop","weekdays":"date-picker-module_weekdays__b9C7m","weekday":"date-picker-module_weekday__MhcvD","grid":"date-picker-module_grid__cJ4ZT","day":"date-picker-module_day__3KTf0","selected":"date-picker-module_selected__JasbR","outside":"date-picker-module_outside__amvmk","today":"date-picker-module_today__nBKQf"};
|
|
2
4
|
|
|
3
5
|
export { s as default };
|
|
4
6
|
//# sourceMappingURL=date-picker.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"date-picker.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--large-font-size: 1.125rem;
|
|
3
|
+
--medium-font-size: 0.875rem;
|
|
4
|
+
--small-font-size: 0.8125rem;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.input-module_container__bycn1 {
|
|
8
|
+
display: flex;
|
|
9
|
+
--constellation-field-background: var(--background-default);
|
|
10
|
+
--constellation-field-label-background: transparent;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: 4px;
|
|
13
|
+
min-width: 140px;
|
|
14
|
+
}
|
|
15
|
+
.input-module_container__bycn1 .input-module_label-container__SngtG {
|
|
16
|
+
align-self: start;
|
|
17
|
+
height: 100%;
|
|
18
|
+
}
|
|
19
|
+
.input-module_container__bycn1 .input-module_label-container__SngtG label {
|
|
20
|
+
background: linear-gradient(to bottom, var(--constellation-field-label-background) 0 55%, var(--constellation-field-background) 55% 100%);
|
|
21
|
+
font-size: 0.75rem;
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
padding: 0 2px;
|
|
24
|
+
position: absolute;
|
|
25
|
+
text-overflow: ellipsis;
|
|
26
|
+
transform: translate(0, -18px);
|
|
27
|
+
transition-duration: 0.3s;
|
|
28
|
+
white-space: nowrap;
|
|
29
|
+
}
|
|
30
|
+
.input-module_container__bycn1 .input-module_label-container__SngtG label .input-module_required__J1bMP {
|
|
31
|
+
margin-inline-start: 2px;
|
|
32
|
+
}
|
|
33
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc {
|
|
34
|
+
align-items: center;
|
|
35
|
+
background-color: var(--constellation-field-background);
|
|
36
|
+
border: 1px solid var(--input-standard-enabled-border);
|
|
37
|
+
border-radius: 36px;
|
|
38
|
+
box-shadow: inset 0 0 0 0 transparent;
|
|
39
|
+
box-sizing: border-box;
|
|
40
|
+
display: flex;
|
|
41
|
+
gap: 2px;
|
|
42
|
+
margin: 1px;
|
|
43
|
+
min-width: 0;
|
|
44
|
+
position: relative;
|
|
45
|
+
transition: border-color 0.3s ease, box-shadow 0.3s ease;
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc input,
|
|
49
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc textarea {
|
|
50
|
+
background: none;
|
|
51
|
+
border: none !important;
|
|
52
|
+
box-shadow: none !important;
|
|
53
|
+
flex-grow: 1;
|
|
54
|
+
font-size: inherit;
|
|
55
|
+
outline: none !important;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
padding: 0;
|
|
58
|
+
text-overflow: ellipsis;
|
|
59
|
+
white-space: nowrap;
|
|
60
|
+
width: 100%;
|
|
61
|
+
}
|
|
62
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc input:-webkit-autofill, .input-module_container__bycn1 .input-module_input-container__nw0Oc input:-webkit-autofill:focus,
|
|
63
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc textarea:-webkit-autofill,
|
|
64
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc textarea:-webkit-autofill:focus {
|
|
65
|
+
-webkit-text-fill-color: var(--text-primary);
|
|
66
|
+
}
|
|
67
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc .input-module_adornment__cO4v1 {
|
|
68
|
+
align-items: center;
|
|
69
|
+
display: flex;
|
|
70
|
+
}
|
|
71
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc .input-module_adornment__cO4v1 svg {
|
|
72
|
+
color: var(--inherit-emphasis);
|
|
73
|
+
height: 22px;
|
|
74
|
+
width: 22px;
|
|
75
|
+
}
|
|
76
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc.input-module_textarea-container__cc9-3 {
|
|
77
|
+
border-radius: var(--size-2);
|
|
78
|
+
}
|
|
79
|
+
.input-module_container__bycn1 .input-module_input-container__nw0Oc.input-module_textarea-container__cc9-3 textarea {
|
|
80
|
+
border: none;
|
|
81
|
+
}
|
|
82
|
+
.input-module_container__bycn1 .input-module_helper-text__DvzFI {
|
|
83
|
+
margin-left: 8px;
|
|
84
|
+
}
|
|
85
|
+
.input-module_container__bycn1.input-module_is-focused__08nzj .input-module_label-container__SngtG label {
|
|
86
|
+
color: var(--primary-emphasis);
|
|
87
|
+
}
|
|
88
|
+
.input-module_container__bycn1.input-module_is-focused__08nzj .input-module_input-container__nw0Oc {
|
|
89
|
+
border-color: var(--primary-emphasis);
|
|
90
|
+
box-shadow: inset 0 0 0 1px var(--primary-emphasis);
|
|
91
|
+
}
|
|
92
|
+
.input-module_container__bycn1.input-module_error__ftn_q .input-module_label-container__SngtG label,
|
|
93
|
+
.input-module_container__bycn1.input-module_error__ftn_q .input-module_helper-text__DvzFI {
|
|
94
|
+
color: var(--destructive-emphasis);
|
|
95
|
+
}
|
|
96
|
+
.input-module_container__bycn1.input-module_error__ftn_q .input-module_input-container__nw0Oc {
|
|
97
|
+
border-color: var(--destructive-emphasis);
|
|
98
|
+
box-shadow: inset 0 0 0 1px var(--destructive-emphasis);
|
|
99
|
+
}
|
|
100
|
+
.input-module_container__bycn1.input-module_disabled__9RjjE {
|
|
101
|
+
cursor: not-allowed;
|
|
102
|
+
opacity: 0.55;
|
|
103
|
+
pointer-events: none;
|
|
104
|
+
}
|
|
105
|
+
.input-module_container__bycn1.input-module_disabled__9RjjE .input-module_input-container__nw0Oc {
|
|
106
|
+
pointer-events: none;
|
|
107
|
+
}
|
|
108
|
+
.input-module_container__bycn1.input-module_sm__AtYYB .input-module_input-container__nw0Oc {
|
|
109
|
+
font-size: var(--small-font-size);
|
|
110
|
+
padding: 4px 10px;
|
|
111
|
+
}
|
|
112
|
+
.input-module_container__bycn1.input-module_sm__AtYYB .input-module_input-container__nw0Oc:not(.input-module_textarea-container__cc9-3) {
|
|
113
|
+
height: 30px;
|
|
114
|
+
}
|
|
115
|
+
.input-module_container__bycn1.input-module_sm__AtYYB .input-module_input-container__nw0Oc .input-module_adornment__cO4v1 svg {
|
|
116
|
+
height: 16px;
|
|
117
|
+
width: 16px;
|
|
118
|
+
}
|
|
119
|
+
.input-module_container__bycn1.input-module_sm__AtYYB label {
|
|
120
|
+
transform: translate(0, -14px);
|
|
121
|
+
}
|
|
122
|
+
.input-module_container__bycn1.input-module_sm__AtYYB:not(.input-module_is-focused__08nzj, .input-module_placeholder__I29pr, .input-module_has-value__juKDe) label {
|
|
123
|
+
font-size: var(--small-font-size);
|
|
124
|
+
transform: translate(0, 2px);
|
|
125
|
+
}
|
|
126
|
+
.input-module_container__bycn1.input-module_md__nPnVp .input-module_input-container__nw0Oc {
|
|
127
|
+
font-size: var(--medium-font-size);
|
|
128
|
+
padding: 8px 12px;
|
|
129
|
+
}
|
|
130
|
+
.input-module_container__bycn1.input-module_md__nPnVp .input-module_input-container__nw0Oc:not(.input-module_textarea-container__cc9-3) {
|
|
131
|
+
height: 40px;
|
|
132
|
+
}
|
|
133
|
+
.input-module_container__bycn1.input-module_md__nPnVp:not(.input-module_is-focused__08nzj, .input-module_placeholder__I29pr, .input-module_has-value__juKDe) label {
|
|
134
|
+
font-size: var(--medium-font-size);
|
|
135
|
+
transform: translate(0, 2px);
|
|
136
|
+
}
|
|
137
|
+
.input-module_container__bycn1.input-module_lg__dC2Tp .input-module_input-container__nw0Oc {
|
|
138
|
+
font-size: var(--large-font-size);
|
|
139
|
+
padding: 12px 16px;
|
|
140
|
+
}
|
|
141
|
+
.input-module_container__bycn1.input-module_lg__dC2Tp .input-module_input-container__nw0Oc:not(.input-module_textarea-container__cc9-3) {
|
|
142
|
+
height: 66px;
|
|
143
|
+
}
|
|
144
|
+
.input-module_container__bycn1.input-module_lg__dC2Tp .input-module_input-container__nw0Oc .input-module_adornment__cO4v1 svg {
|
|
145
|
+
height: 26px;
|
|
146
|
+
width: 26px;
|
|
147
|
+
}
|
|
148
|
+
.input-module_container__bycn1.input-module_lg__dC2Tp .input-module_input-container__nw0Oc label {
|
|
149
|
+
font-size: var(--medium-font-size);
|
|
150
|
+
transform: translate(0, -22px);
|
|
151
|
+
}
|
|
152
|
+
.input-module_container__bycn1.input-module_lg__dC2Tp:not(.input-module_is-focused__08nzj, .input-module_placeholder__I29pr, .input-module_has-value__juKDe) label {
|
|
153
|
+
font-size: var(--large-font-size);
|
|
154
|
+
transform: translate(0, 11px);
|
|
155
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import './input.css';
|
|
2
|
+
|
|
3
|
+
var inputStyles = {"container":"input-module_container__bycn1","label-container":"input-module_label-container__SngtG","required":"input-module_required__J1bMP","input-container":"input-module_input-container__nw0Oc","adornment":"input-module_adornment__cO4v1","textarea-container":"input-module_textarea-container__cc9-3","helper-text":"input-module_helper-text__DvzFI","is-focused":"input-module_is-focused__08nzj","error":"input-module_error__ftn_q","disabled":"input-module_disabled__9RjjE","sm":"input-module_sm__AtYYB","placeholder":"input-module_placeholder__I29pr","has-value":"input-module_has-value__juKDe","md":"input-module_md__nPnVp","lg":"input-module_lg__dC2Tp"};
|
|
2
4
|
|
|
3
5
|
export { inputStyles as default };
|
|
4
6
|
//# sourceMappingURL=input.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"input.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
.label-module_label__lzEom {
|
|
2
|
+
color: var(--inherit-emphasis);
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
font-size: 0.875rem;
|
|
5
|
+
font-weight: 500;
|
|
6
|
+
line-height: 1rem;
|
|
7
|
+
max-width: 95%;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
text-overflow: ellipsis;
|
|
10
|
+
user-select: none;
|
|
11
|
+
white-space: nowrap;
|
|
12
|
+
}
|
|
13
|
+
[data-disabled=true] .label-module_label__lzEom {
|
|
14
|
+
opacity: 0.5;
|
|
15
|
+
pointer-events: none;
|
|
16
|
+
}
|
|
17
|
+
:disabled ~ .label-module_label__lzEom {
|
|
18
|
+
cursor: not-allowed;
|
|
19
|
+
opacity: 0.5;
|
|
20
|
+
}
|
|
21
|
+
.label-module_label--sm__OylH6 {
|
|
22
|
+
font-size: 0.8125rem;
|
|
23
|
+
}
|
|
24
|
+
.label-module_label--md__3Cjig {
|
|
25
|
+
font-size: 0.875rem;
|
|
26
|
+
}
|
|
27
|
+
.label-module_label--lg__C7pba {
|
|
28
|
+
font-size: 1rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.label-module_label--primary__o43TQ {
|
|
32
|
+
color: var(--primary-emphasis);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.label-module_label--secondary__eilbG {
|
|
36
|
+
color: var(--secondary-emphasis);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.label-module_label--destructive__n_Mto {
|
|
40
|
+
color: var(--destructive-emphasis);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.label-module_label--warning__MlZzU {
|
|
44
|
+
color: var(--warning-emphasis);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.label-module_label--success__dsNhO {
|
|
48
|
+
color: var(--success-emphasis);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.label-module_label--info__VFQ5U {
|
|
52
|
+
color: var(--info-emphasis);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.label-module_label--slate__C80IW {
|
|
56
|
+
color: var(--slate-emphasis);
|
|
57
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import './label.css';
|
|
2
|
+
|
|
3
|
+
var s = {"label":"label-module_label__lzEom","label--sm":"label-module_label--sm__OylH6","label--md":"label-module_label--md__3Cjig","label--lg":"label-module_label--lg__C7pba","label--primary":"label-module_label--primary__o43TQ","label--secondary":"label-module_label--secondary__eilbG","label--destructive":"label-module_label--destructive__n_Mto","label--warning":"label-module_label--warning__MlZzU","label--success":"label-module_label--success__dsNhO","label--info":"label-module_label--info__VFQ5U","label--slate":"label-module_label--slate__C80IW"};
|
|
2
4
|
|
|
3
5
|
export { s as default };
|
|
4
6
|
//# sourceMappingURL=label.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"label.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--select-duration: 200ms;
|
|
3
|
+
--select-ease: cubic-bezier(0.4, 0, 0.2, 1);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@keyframes select-module_selectFadeIn__w4EjH {
|
|
7
|
+
from {
|
|
8
|
+
opacity: 0;
|
|
9
|
+
transform: scale(0.95);
|
|
10
|
+
}
|
|
11
|
+
to {
|
|
12
|
+
opacity: 1;
|
|
13
|
+
transform: scale(1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
@keyframes select-module_selectFadeOut__8PdZb {
|
|
17
|
+
from {
|
|
18
|
+
opacity: 1;
|
|
19
|
+
transform: scale(1);
|
|
20
|
+
}
|
|
21
|
+
to {
|
|
22
|
+
opacity: 0;
|
|
23
|
+
transform: scale(0.95);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
.select-module_trigger__qCGcl {
|
|
27
|
+
align-items: center;
|
|
28
|
+
background: none;
|
|
29
|
+
border: none;
|
|
30
|
+
color: inherit;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
display: flex;
|
|
33
|
+
flex: 1;
|
|
34
|
+
gap: 0.5rem;
|
|
35
|
+
min-width: 0;
|
|
36
|
+
outline: none;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
padding: 0;
|
|
39
|
+
text-align: left;
|
|
40
|
+
width: 100%;
|
|
41
|
+
}
|
|
42
|
+
.select-module_trigger__qCGcl:focus-visible {
|
|
43
|
+
outline: none;
|
|
44
|
+
}
|
|
45
|
+
.select-module_trigger__qCGcl[data-placeholder=true] {
|
|
46
|
+
color: var(--text-secondary);
|
|
47
|
+
}
|
|
48
|
+
.select-module_trigger__qCGcl [data-slot='select-value'] {
|
|
49
|
+
min-width: 0;
|
|
50
|
+
overflow: hidden;
|
|
51
|
+
text-overflow: ellipsis;
|
|
52
|
+
white-space: nowrap;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.select-module_trigger-value__Vae0v {
|
|
56
|
+
min-width: 0;
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
text-overflow: ellipsis;
|
|
59
|
+
white-space: nowrap;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.select-module_input-trigger__hbH53 {
|
|
63
|
+
justify-content: space-between;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.select-module_trigger-icon__qRRBP {
|
|
67
|
+
color: var(--action-active);
|
|
68
|
+
flex-shrink: 0;
|
|
69
|
+
height: 1rem;
|
|
70
|
+
margin-left: 0.25rem;
|
|
71
|
+
opacity: 0.6;
|
|
72
|
+
width: 1rem;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.select-module_content__YXA6X {
|
|
76
|
+
animation-duration: var(--select-duration);
|
|
77
|
+
animation-fill-mode: both;
|
|
78
|
+
animation-timing-function: var(--select-ease);
|
|
79
|
+
background-color: var(--surface-muted);
|
|
80
|
+
border: 1px solid var(--divider);
|
|
81
|
+
border-radius: 0.5rem;
|
|
82
|
+
box-shadow: var(--shadow-elevation-12);
|
|
83
|
+
color: var(--text-primary);
|
|
84
|
+
max-height: 24rem;
|
|
85
|
+
max-width: min(24rem, 100vw - 1rem);
|
|
86
|
+
overflow: hidden;
|
|
87
|
+
pointer-events: auto;
|
|
88
|
+
width: fit-content;
|
|
89
|
+
z-index: var(--z-popover);
|
|
90
|
+
}
|
|
91
|
+
.select-module_content__YXA6X[data-state=open] {
|
|
92
|
+
animation-name: select-module_selectFadeIn__w4EjH;
|
|
93
|
+
}
|
|
94
|
+
.select-module_content__YXA6X[data-state=closed] {
|
|
95
|
+
animation-name: select-module_selectFadeOut__8PdZb;
|
|
96
|
+
}
|
|
97
|
+
.select-module_content__YXA6X[data-closing=true] {
|
|
98
|
+
animation-name: select-module_selectFadeOut__8PdZb;
|
|
99
|
+
pointer-events: none;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.select-module_multi-content__gWNO1 {
|
|
103
|
+
padding: 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.select-module_viewport__i2aSN {
|
|
107
|
+
display: flex;
|
|
108
|
+
flex-direction: column;
|
|
109
|
+
max-height: inherit;
|
|
110
|
+
overflow-y: auto;
|
|
111
|
+
overscroll-behavior: contain;
|
|
112
|
+
padding: 0.25rem;
|
|
113
|
+
width: fit-content;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.select-module_viewport-popper__KXAMM {
|
|
117
|
+
scroll-margin: 0.25rem;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.select-module_item__y1wex {
|
|
121
|
+
align-items: center;
|
|
122
|
+
appearance: none;
|
|
123
|
+
background: transparent;
|
|
124
|
+
border: none;
|
|
125
|
+
border-radius: 0.5rem;
|
|
126
|
+
color: inherit;
|
|
127
|
+
cursor: pointer;
|
|
128
|
+
display: flex;
|
|
129
|
+
font: inherit;
|
|
130
|
+
font-size: 0.875rem;
|
|
131
|
+
gap: 0.5rem;
|
|
132
|
+
line-height: 1.05rem;
|
|
133
|
+
margin: 0;
|
|
134
|
+
outline: none;
|
|
135
|
+
padding: 0.375rem 2rem 0.375rem 0.5rem;
|
|
136
|
+
position: relative;
|
|
137
|
+
text-align: left;
|
|
138
|
+
transition: background-color var(--select-duration) var(--select-ease), color var(--select-duration) var(--select-ease);
|
|
139
|
+
user-select: none;
|
|
140
|
+
white-space: nowrap;
|
|
141
|
+
}
|
|
142
|
+
.select-module_item__y1wex:focus-visible, .select-module_item__y1wex:focus {
|
|
143
|
+
background-color: var(--secondary-main);
|
|
144
|
+
color: var(--secondary-contrast);
|
|
145
|
+
}
|
|
146
|
+
.select-module_item__y1wex[data-disabled=true] {
|
|
147
|
+
opacity: 0.55;
|
|
148
|
+
pointer-events: none;
|
|
149
|
+
}
|
|
150
|
+
.select-module_item__y1wex svg {
|
|
151
|
+
height: 1rem;
|
|
152
|
+
pointer-events: none;
|
|
153
|
+
width: 1rem;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.select-module_search-trigger-input__23K3U {
|
|
157
|
+
background: transparent;
|
|
158
|
+
border: none;
|
|
159
|
+
color: inherit;
|
|
160
|
+
flex: 1;
|
|
161
|
+
font: inherit;
|
|
162
|
+
min-width: 0;
|
|
163
|
+
outline: none;
|
|
164
|
+
overflow: hidden;
|
|
165
|
+
padding: 0;
|
|
166
|
+
text-overflow: ellipsis;
|
|
167
|
+
}
|
|
168
|
+
.select-module_search-trigger-input__23K3U::placeholder {
|
|
169
|
+
color: var(--text-secondary);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.select-module_multi-options__aQkaR {
|
|
173
|
+
max-height: 20rem;
|
|
174
|
+
overflow-y: auto;
|
|
175
|
+
padding: 0.25rem;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.select-module_multi-item__S1Ykf {
|
|
179
|
+
justify-content: flex-start;
|
|
180
|
+
padding-left: 0.5rem;
|
|
181
|
+
padding-right: 2rem;
|
|
182
|
+
position: relative;
|
|
183
|
+
}
|
|
184
|
+
.select-module_multi-item__S1Ykf:focus-visible, .select-module_multi-item__S1Ykf:hover, .select-module_multi-item__S1Ykf:focus {
|
|
185
|
+
background-color: var(--secondary-main);
|
|
186
|
+
color: var(--secondary-contrast);
|
|
187
|
+
}
|
|
188
|
+
.select-module_multi-item__S1Ykf > span {
|
|
189
|
+
left: auto;
|
|
190
|
+
right: 0.5rem;
|
|
191
|
+
}
|
|
192
|
+
.select-module_multi-item__S1Ykf svg {
|
|
193
|
+
height: 1rem;
|
|
194
|
+
width: 1rem;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.select-module_item-indicator__m89G1 {
|
|
198
|
+
align-items: center;
|
|
199
|
+
display: flex;
|
|
200
|
+
height: 0.875rem;
|
|
201
|
+
justify-content: center;
|
|
202
|
+
position: absolute;
|
|
203
|
+
right: 0.5rem;
|
|
204
|
+
width: 0.875rem;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.select-module_separator__aPMWg {
|
|
208
|
+
background-color: var(--divider);
|
|
209
|
+
height: 1px;
|
|
210
|
+
margin: 0.25rem -0.25rem;
|
|
211
|
+
pointer-events: none;
|
|
212
|
+
width: calc(100% + 0.5rem);
|
|
213
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import './select.css';
|
|
2
|
+
|
|
3
|
+
var s = {"trigger":"select-module_trigger__qCGcl","trigger-value":"select-module_trigger-value__Vae0v","input-trigger":"select-module_input-trigger__hbH53","trigger-icon":"select-module_trigger-icon__qRRBP","content":"select-module_content__YXA6X","multi-content":"select-module_multi-content__gWNO1","viewport":"select-module_viewport__i2aSN","viewport-popper":"select-module_viewport-popper__KXAMM","item":"select-module_item__y1wex","search-trigger-input":"select-module_search-trigger-input__23K3U","multi-options":"select-module_multi-options__aQkaR","multi-item":"select-module_multi-item__S1Ykf","item-indicator":"select-module_item-indicator__m89G1","separator":"select-module_separator__aPMWg"};
|
|
2
4
|
|
|
3
5
|
export { s as default };
|
|
4
6
|
//# sourceMappingURL=select.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/form.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { C as Checkbox, a as CheckboxProps, D as DatePicker, L as Label, c as LabelProps, S as Select, e as SelectContent, g as SelectField, i as SelectGroup, j as SelectItem, m as SelectSeparator, o as SelectTrigger, p as SelectValue } from './index-
|
|
1
|
+
export { C as Checkbox, a as CheckboxProps, D as DatePicker, L as Label, c as LabelProps, S as Select, e as SelectContent, g as SelectField, i as SelectGroup, j as SelectItem, m as SelectSeparator, o as SelectTrigger, p as SelectValue } from './index-DVEBz660.js';
|
|
2
2
|
export { I as Input, a as InputBaseProps } from './input-CWHXOpeH.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'class-variance-authority';
|