@epilot/volt-ui-experimental-griffel 0.2.0 → 0.2.3
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/AGENTS.md +153 -0
- package/AUTHORING.md +292 -0
- package/README.md +90 -7
- package/dist/components/alert-dialog/alert-dialog.js +18 -18
- package/dist/components/avatar/avatar.js +18 -19
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/badge/badge.js +13 -13
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +6 -6
- package/dist/components/button/button.js +20 -20
- package/dist/components/button-group/button-group.js +6 -6
- package/dist/components/callout/callout.js +6 -6
- package/dist/components/card/card.js +8 -8
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js +4 -4
- package/dist/components/command/command.js +15 -15
- package/dist/components/data-table/data-table-column-header.js +5 -5
- package/dist/components/data-table/data-table-error.js +13 -13
- package/dist/components/data-table/data-table-loading.js +4 -4
- package/dist/components/date-range-picker/date-range-picker.js +8 -8
- package/dist/components/date-time-picker/calendar.js +15 -15
- package/dist/components/date-time-picker/date-time-picker-panel.js +73 -67
- package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker.js +53 -49
- package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
- package/dist/components/date-time-picker/time-picker.js +77 -71
- package/dist/components/date-time-picker/time-picker.js.map +1 -1
- package/dist/components/dialog/dialog.js +21 -21
- package/dist/components/drawer/drawer.js +16 -16
- package/dist/components/dropdown-menu/dropdown-menu.js +13 -13
- package/dist/components/field/field-combobox.js +9 -9
- package/dist/components/field/field.js +22 -22
- package/dist/components/label/label.js +11 -11
- package/dist/components/list/list.js +13 -13
- package/dist/components/option-card/option-card.js +24 -24
- package/dist/components/pill/pill.js +21 -20
- package/dist/components/pill/pill.js.map +1 -1
- package/dist/components/popover/popover.js +4 -4
- package/dist/components/radio/radio.js +8 -8
- package/dist/components/scroll-overflow/scroll-overflow.js +6 -6
- package/dist/components/select/select.js +25 -25
- package/dist/components/skeleton/skeleton.js +17 -17
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/table/table-pagination.js +74 -76
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/tabs/tabs.js +19 -19
- package/dist/components/toast/toast.js +24 -24
- package/dist/components/toggle/toggle.js +17 -17
- package/dist/components/tooltip/tooltip.js +6 -6
- package/dist/index.d.ts +9200 -65
- package/dist/index.js +276 -273
- package/dist/index.js.map +1 -1
- package/dist/tokens/core.generated.js +1168 -1154
- package/dist/tokens/core.generated.js.map +1 -1
- package/dist/tokens/index.d.ts +1079 -1053
- package/dist/tokens/index.js +1078 -1056
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/install.js +21 -9
- package/dist/tokens/install.js.map +1 -1
- package/dist/tokens/palette.generated.js +1323 -1293
- package/dist/tokens/palette.generated.js.map +1 -1
- package/dist/tokens.json +45 -1
- package/package.json +12 -5
- package/testing/jest-preset.cjs +64 -0
- package/dist/components/accordion/accordion.d.ts +0 -14
- package/dist/components/alert-dialog/alert-dialog.d.ts +0 -36
- package/dist/components/avatar/avatar-group.d.ts +0 -7
- package/dist/components/avatar/avatar.d.ts +0 -17
- package/dist/components/badge/badge.d.ts +0 -41
- package/dist/components/breadcrumb/breadcrumb.d.ts +0 -37
- package/dist/components/button/button.d.ts +0 -18
- package/dist/components/button-group/button-group.d.ts +0 -30
- package/dist/components/callout/callout.d.ts +0 -23
- package/dist/components/card/card.d.ts +0 -9
- package/dist/components/checkbox/checkbox.d.ts +0 -4
- package/dist/components/collapsible-sidebar/collapsible-sidebar.d.ts +0 -33
- package/dist/components/command/command.d.ts +0 -85
- package/dist/components/data-table/data-table-body.d.ts +0 -21
- package/dist/components/data-table/data-table-column-header.d.ts +0 -13
- package/dist/components/data-table/data-table-column-visibility.d.ts +0 -21
- package/dist/components/data-table/data-table-content.d.ts +0 -13
- package/dist/components/data-table/data-table-context.d.ts +0 -66
- package/dist/components/data-table/data-table-error.d.ts +0 -21
- package/dist/components/data-table/data-table-header.d.ts +0 -14
- package/dist/components/data-table/data-table-loading.d.ts +0 -13
- package/dist/components/data-table/data-table-pagination.d.ts +0 -17
- package/dist/components/data-table/data-table-pinning-utils.d.ts +0 -17
- package/dist/components/data-table/data-table-row.d.ts +0 -14
- package/dist/components/data-table/data-table-toolbar.d.ts +0 -7
- package/dist/components/data-table/data-table.d.ts +0 -92
- package/dist/components/data-table/get-selected-row-data.d.ts +0 -18
- package/dist/components/data-table/hooks/index.d.ts +0 -2
- package/dist/components/data-table/hooks/use-data-table-content.d.ts +0 -1
- package/dist/components/data-table/hooks/use-data-table.d.ts +0 -2
- package/dist/components/date-range-picker/date-range-picker-utils.d.ts +0 -2
- package/dist/components/date-range-picker/date-range-picker.d.ts +0 -34
- package/dist/components/date-range-picker/range-calendar.d.ts +0 -15
- package/dist/components/date-time-picker/calendar.d.ts +0 -28
- package/dist/components/date-time-picker/date-time-picker-context.d.ts +0 -39
- package/dist/components/date-time-picker/date-time-picker-input.d.ts +0 -13
- package/dist/components/date-time-picker/date-time-picker-panel.d.ts +0 -15
- package/dist/components/date-time-picker/date-time-picker-popover.d.ts +0 -6
- package/dist/components/date-time-picker/date-time-picker-utils.d.ts +0 -37
- package/dist/components/date-time-picker/date-time-picker.d.ts +0 -47
- package/dist/components/date-time-picker/time-picker.d.ts +0 -12
- package/dist/components/dialog/dialog.d.ts +0 -27
- package/dist/components/drawer/drawer.d.ts +0 -27
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +0 -41
- package/dist/components/field/field-combobox.d.ts +0 -90
- package/dist/components/field/field-select.d.ts +0 -4
- package/dist/components/field/field.d.ts +0 -76
- package/dist/components/label/label.d.ts +0 -21
- package/dist/components/list/list.d.ts +0 -46
- package/dist/components/option-card/option-card.d.ts +0 -39
- package/dist/components/pill/pill.d.ts +0 -27
- package/dist/components/popover/popover.d.ts +0 -14
- package/dist/components/radio/radio.d.ts +0 -6
- package/dist/components/scroll-overflow/scroll-overflow.d.ts +0 -38
- package/dist/components/segmented-control/segmented-control.d.ts +0 -11
- package/dist/components/select/select.d.ts +0 -26
- package/dist/components/separator/separator.d.ts +0 -30
- package/dist/components/skeleton/skeleton.d.ts +0 -24
- package/dist/components/spinner/spinner.d.ts +0 -25
- package/dist/components/switch/switch.d.ts +0 -17
- package/dist/components/table/table-pagination.d.ts +0 -45
- package/dist/components/table/table.d.ts +0 -50
- package/dist/components/tabs/tabs.d.ts +0 -18
- package/dist/components/text/text.d.ts +0 -22
- package/dist/components/toast/toast.d.ts +0 -10
- package/dist/components/toggle/toggle-group.d.ts +0 -10
- package/dist/components/toggle/toggle.d.ts +0 -10
- package/dist/components/tooltip/tooltip.d.ts +0 -15
- package/dist/lib/clear-button.d.ts +0 -5
- package/dist/lib/icons.d.ts +0 -3
- package/dist/lib/pagination.d.ts +0 -71
- package/dist/renderer/contract.d.ts +0 -12
- package/dist/renderer/index.d.ts +0 -10
- package/dist/styles/make-styles.d.ts +0 -37
- package/dist/tokens/core.generated.d.ts +0 -3
- package/dist/tokens/install.d.ts +0 -38
- package/dist/tokens/palette.generated.d.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-picker.js","sources":["../../../src/components/date-time-picker/time-picker.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nimport {\n getHours,\n getMinutes,\n padNumber,\n updateTime,\n} from \"./date-time-picker-utils\"\n\nconst HOURS = Array.from({ length: 24 }, (_, i) => i)\n\nexport type TimePickerProps = {\n value: Date | null\n onChange: (date: Date) => void\n onTimeSelect?: () => void\n disablePast?: boolean\n currentTimeInTimezone?: Date\n fillHeight?: boolean\n minuteStep?: number\n className?: string\n}\n\nconst useStyles = makeVoltStyles({\n root: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"stretch\",\n justifyContent: \"center\",\n ...shorthands.gap(tokens.spacingElement1),\n },\n fillHeight: {\n height: \"100%\",\n },\n column: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"3.5rem\",\n },\n columnFillHeight: {\n minHeight: \"0\",\n },\n scroll: {\n display: \"flex\",\n flexDirection: \"column\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n width: \"100%\",\n alignItems: \"center\",\n ...shorthands.borderRadius(tokens.radiusMd),\n ...shorthands.border(\"1px\", \"solid\", tokens.grayA5),\n scrollbarWidth: \"thin\",\n scrollbarColor: `${tokens.grayA6} transparent`,\n },\n scrollFixed: {\n height: \"8rem\",\n },\n scrollFill: {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"0%\",\n minHeight: \"0\",\n },\n separator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: tokens.textBase,\n lineHeight: tokens.leadingBase,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.grayA8,\n },\n timeBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n ...shorthands.borderRadius(tokens.radiusMd),\n transitionProperty: \"background-color, color\",\n transitionDuration: \"150ms\",\n minHeight: \"2rem\",\n width: \"100%\",\n maxWidth: \"3rem\",\n ...shorthands.border(\"0\"),\n outlineStyle: \"none\",\n },\n timeBtnDefault: {\n backgroundColor: \"transparent\",\n color: tokens.grayA11,\n \":hover\": {\n backgroundColor: tokens.grayA4,\n },\n },\n timeBtnSelected: {\n fontWeight: tokens.fontWeightSemibold,\n backgroundColor: tokens.semAccentSolid,\n color: tokens.semAccentContrast,\n \":hover\": {\n backgroundColor: tokens.semAccentSolidHover,\n },\n },\n timeBtnDisabled: {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n timeBtnEnabled: {\n cursor: \"pointer\",\n },\n})\n\ntype TimeButtonProps = {\n value: number\n isSelected: boolean\n isDisabled: boolean\n onClick: (value: number) => void\n}\n\nconst TimeButton = React.memo(function TimeButton({\n value,\n isSelected,\n isDisabled,\n onClick,\n}: TimeButtonProps) {\n const styles = useStyles()\n const handleClick = React.useCallback(() => {\n if (!isDisabled) {\n onClick(value)\n }\n }, [onClick, value, isDisabled])\n\n return (\n <button\n aria-disabled={isDisabled}\n aria-pressed={isSelected}\n className={mergeClasses(\n styles.timeBtn,\n !isSelected && styles.timeBtnDefault,\n isSelected && styles.timeBtnSelected,\n isDisabled ? styles.timeBtnDisabled : styles.timeBtnEnabled\n )}\n data-selected={isSelected}\n data-slot=\"time-button\"\n {...{ [SLOT_ATTR]: \"time-button\" }}\n data-value={value}\n disabled={isDisabled}\n onClick={handleClick}\n type=\"button\"\n >\n {padNumber(value)}\n </button>\n )\n})\n\nTimeButton.displayName = \"TimeButton\"\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n function TimePicker(\n {\n value,\n onChange,\n onTimeSelect,\n disablePast = false,\n currentTimeInTimezone,\n fillHeight = false,\n minuteStep = 1,\n className,\n },\n ref\n ) {\n const styles = useStyles()\n const step = Math.max(1, Math.floor(minuteStep))\n\n // Enumerate buckets 0, step, 2·step… stopping at <60 so a step that\n // doesn't divide 60 evenly (e.g. 7) can never produce an out-of-range\n // value like 63.\n const MINUTES = React.useMemo(() => {\n const buckets: number[] = []\n for (let m = 0; m < 60; m += step) buckets.push(m)\n\n return buckets\n }, [step])\n\n const selectedHour = value !== null ? getHours(value) : -1\n const rawMinute = value !== null ? getMinutes(value) : -1\n const selectedMinute =\n value === null\n ? -1\n : step === 1\n ? rawMinute\n : Math.min(\n MINUTES[MINUTES.length - 1],\n Math.round(rawMinute / step) * step\n )\n\n const hoursRef = React.useRef<HTMLDivElement>(null)\n const minutesRef = React.useRef<HTMLDivElement>(null)\n\n const now = React.useMemo(\n () => currentTimeInTimezone || new Date(),\n [currentTimeInTimezone]\n )\n const isToday = React.useMemo(() => {\n if (!value) return false\n\n return (\n value.getFullYear() === now.getFullYear() &&\n value.getMonth() === now.getMonth() &&\n value.getDate() === now.getDate()\n )\n }, [value, now])\n\n const currentHour = now.getHours()\n const currentMinute = now.getMinutes()\n\n const isHourDisabled = React.useCallback(\n (hour: number) => {\n if (!disablePast || !isToday) return false\n\n return hour < currentHour\n },\n [disablePast, isToday, currentHour]\n )\n\n const isMinuteDisabled = React.useCallback(\n (minute: number) => {\n if (!disablePast || !isToday) return false\n if (selectedHour < currentHour) return true\n if (selectedHour === currentHour) return minute < currentMinute\n\n return false\n },\n [disablePast, isToday, selectedHour, currentHour, currentMinute]\n )\n\n const handleHourChange = React.useCallback(\n (hour: number) => {\n const base = value || now\n const minute = selectedMinute >= 0 ? selectedMinute : 0\n\n onChange(updateTime(base, hour, minute))\n },\n [onChange, value, now, selectedMinute]\n )\n\n const handleMinuteChange = React.useCallback(\n (minute: number) => {\n const base = value || now\n const hour = selectedHour >= 0 ? selectedHour : 0\n\n onChange(updateTime(base, hour, minute))\n onTimeSelect?.()\n },\n [onChange, onTimeSelect, value, now, selectedHour]\n )\n\n React.useEffect(() => {\n if (hoursRef.current) {\n const selectedElement = hoursRef.current.querySelector(\n `[data-value=\"${selectedHour}\"]`\n )\n\n if (selectedElement) {\n selectedElement.scrollIntoView?.({\n block: \"center\",\n behavior: \"auto\",\n })\n }\n }\n if (minutesRef.current) {\n const selectedElement = minutesRef.current.querySelector(\n `[data-value=\"${selectedMinute}\"]`\n )\n\n if (selectedElement) {\n selectedElement.scrollIntoView?.({\n block: \"center\",\n behavior: \"auto\",\n })\n }\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div\n ref={ref}\n className={mergeClasses(\n styles.root,\n fillHeight && styles.fillHeight,\n className\n )}\n data-slot=\"timepicker\"\n {...{ [SLOT_ATTR]: \"timepicker\" }}\n >\n <div\n className={mergeClasses(\n styles.column,\n fillHeight && styles.columnFillHeight\n )}\n >\n <div\n className={mergeClasses(\n styles.scroll,\n fillHeight ? styles.scrollFill : styles.scrollFixed\n )}\n data-slot=\"timepicker-scroll\"\n {...{ [SLOT_ATTR]: \"timepicker-scroll\" }}\n ref={hoursRef}\n >\n {HOURS.map((hour) => (\n <TimeButton\n isDisabled={isHourDisabled(hour)}\n isSelected={hour === selectedHour}\n key={hour}\n onClick={handleHourChange}\n value={hour}\n />\n ))}\n </div>\n </div>\n\n <div className={styles.separator}>:</div>\n\n <div\n className={mergeClasses(\n styles.column,\n fillHeight && styles.columnFillHeight\n )}\n >\n <div\n className={mergeClasses(\n styles.scroll,\n fillHeight ? styles.scrollFill : styles.scrollFixed\n )}\n data-slot=\"timepicker-scroll\"\n {...{ [SLOT_ATTR]: \"timepicker-scroll\" }}\n ref={minutesRef}\n >\n {MINUTES.map((minute) => (\n <TimeButton\n isDisabled={isMinuteDisabled(minute)}\n isSelected={minute === selectedMinute}\n key={minute}\n onClick={handleMinuteChange}\n value={minute}\n />\n ))}\n </div>\n </div>\n </div>\n )\n }\n)\n"],"names":["HOURS","_","i","useStyles","makeVoltStyles","shorthands","tokens.spacingElement1","tokens.radiusMd","tokens.grayA5","tokens.grayA6","tokens.textBase","tokens.leadingBase","tokens.fontWeightSemibold","tokens.grayA8","tokens.textSm","tokens.leadingSm","tokens.grayA11","tokens.grayA4","tokens.semAccentSolid","tokens.semAccentContrast","tokens.semAccentSolidHover","TimeButton","React","value","isSelected","isDisabled","onClick","styles","handleClick","jsx","mergeClasses","SLOT_ATTR","TimePicker","onChange","onTimeSelect","disablePast","currentTimeInTimezone","fillHeight","minuteStep","className","ref","step","MINUTES","buckets","m","selectedHour","getHours","rawMinute","getMinutes","selectedMinute","hoursRef","minutesRef","now","isToday","currentHour","currentMinute","isHourDisabled","hour","isMinuteDisabled","minute","handleHourChange","base","updateTime","handleMinuteChange","selectedElement","_a","_b","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"time-picker.js","sources":["../../../src/components/date-time-picker/time-picker.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nimport {\n getHours,\n getMinutes,\n padNumber,\n updateTime,\n} from \"./date-time-picker-utils\"\n\nconst HOURS = Array.from({ length: 24 }, (_, i) => i)\n\nexport type TimePickerProps = {\n value: Date | null\n onChange: (date: Date) => void\n onTimeSelect?: () => void\n disablePast?: boolean\n currentTimeInTimezone?: Date\n fillHeight?: boolean\n minuteStep?: number\n className?: string\n /**\n * Accessible name for the hours column. Pass a translated string.\n *\n * These are ACCESSIBLE NAMES, not visible headers, and the distinction is deliberate. v1 ≤1.3.x\n * had `hoursLabel`/`minutesLabel` that rendered visible \"HH\"/\"MM\" headings; v1 deleted them in\n * `138fe05` (2026-06-25) and this package mirrors v1's current output, which Rule 0 makes the\n * fidelity target. But v1 replaced them with nothing, so both libraries now hand a screen reader\n * two unnamed columns of bare numbers. Naming them via `aria-label` closes that without moving a\n * pixel — the VR gate still matches v1 specimen for specimen.\n */\n hoursLabel?: string\n /** Accessible name for the minutes column. Pass a translated string. See `hoursLabel`. */\n minutesLabel?: string\n}\n\nconst useStyles = makeVoltStyles({\n root: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"stretch\",\n justifyContent: \"center\",\n ...shorthands.gap(tokens.spacingElement1),\n },\n fillHeight: {\n height: \"100%\",\n },\n column: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"3.5rem\",\n },\n columnFillHeight: {\n minHeight: \"0\",\n },\n scroll: {\n display: \"flex\",\n flexDirection: \"column\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n width: \"100%\",\n alignItems: \"center\",\n ...shorthands.borderRadius(tokens.radiusMd),\n ...shorthands.border(\"1px\", \"solid\", tokens.grayA5),\n scrollbarWidth: \"thin\",\n scrollbarColor: `${tokens.grayA6} transparent`,\n },\n scrollFixed: {\n height: \"8rem\",\n },\n scrollFill: {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"0%\",\n minHeight: \"0\",\n },\n separator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: tokens.textBase,\n lineHeight: tokens.leadingBase,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.grayA8,\n },\n timeBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n ...shorthands.borderRadius(tokens.radiusMd),\n transitionProperty: \"background-color, color\",\n transitionDuration: \"150ms\",\n minHeight: \"2rem\",\n width: \"100%\",\n maxWidth: \"3rem\",\n ...shorthands.border(\"0\"),\n outlineStyle: \"none\",\n },\n timeBtnDefault: {\n backgroundColor: \"transparent\",\n color: tokens.grayA11,\n \":hover\": {\n backgroundColor: tokens.grayA4,\n },\n },\n timeBtnSelected: {\n fontWeight: tokens.fontWeightSemibold,\n backgroundColor: tokens.semAccentSolid,\n color: tokens.semAccentContrast,\n \":hover\": {\n backgroundColor: tokens.semAccentSolidHover,\n },\n },\n timeBtnDisabled: {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n timeBtnEnabled: {\n cursor: \"pointer\",\n },\n})\n\ntype TimeButtonProps = {\n value: number\n isSelected: boolean\n isDisabled: boolean\n onClick: (value: number) => void\n}\n\nconst TimeButton = React.memo(function TimeButton({\n value,\n isSelected,\n isDisabled,\n onClick,\n}: TimeButtonProps) {\n const styles = useStyles()\n const handleClick = React.useCallback(() => {\n if (!isDisabled) {\n onClick(value)\n }\n }, [onClick, value, isDisabled])\n\n return (\n <button\n aria-disabled={isDisabled}\n aria-pressed={isSelected}\n className={mergeClasses(\n styles.timeBtn,\n !isSelected && styles.timeBtnDefault,\n isSelected && styles.timeBtnSelected,\n isDisabled ? styles.timeBtnDisabled : styles.timeBtnEnabled\n )}\n data-selected={isSelected}\n data-slot=\"time-button\"\n {...{ [SLOT_ATTR]: \"time-button\" }}\n data-value={value}\n disabled={isDisabled}\n onClick={handleClick}\n type=\"button\"\n >\n {padNumber(value)}\n </button>\n )\n})\n\nTimeButton.displayName = \"TimeButton\"\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n function TimePicker(\n {\n value,\n onChange,\n onTimeSelect,\n disablePast = false,\n currentTimeInTimezone,\n fillHeight = false,\n minuteStep = 1,\n className,\n hoursLabel = \"Hours\",\n minutesLabel = \"Minutes\",\n },\n ref\n ) {\n const styles = useStyles()\n const step = Math.max(1, Math.floor(minuteStep))\n\n // Enumerate buckets 0, step, 2·step… stopping at <60 so a step that\n // doesn't divide 60 evenly (e.g. 7) can never produce an out-of-range\n // value like 63.\n const MINUTES = React.useMemo(() => {\n const buckets: number[] = []\n for (let m = 0; m < 60; m += step) buckets.push(m)\n\n return buckets\n }, [step])\n\n const selectedHour = value !== null ? getHours(value) : -1\n const rawMinute = value !== null ? getMinutes(value) : -1\n const selectedMinute =\n value === null\n ? -1\n : step === 1\n ? rawMinute\n : Math.min(\n MINUTES[MINUTES.length - 1],\n Math.round(rawMinute / step) * step\n )\n\n const hoursRef = React.useRef<HTMLDivElement>(null)\n const minutesRef = React.useRef<HTMLDivElement>(null)\n\n const now = React.useMemo(\n () => currentTimeInTimezone || new Date(),\n [currentTimeInTimezone]\n )\n const isToday = React.useMemo(() => {\n if (!value) return false\n\n return (\n value.getFullYear() === now.getFullYear() &&\n value.getMonth() === now.getMonth() &&\n value.getDate() === now.getDate()\n )\n }, [value, now])\n\n const currentHour = now.getHours()\n const currentMinute = now.getMinutes()\n\n const isHourDisabled = React.useCallback(\n (hour: number) => {\n if (!disablePast || !isToday) return false\n\n return hour < currentHour\n },\n [disablePast, isToday, currentHour]\n )\n\n const isMinuteDisabled = React.useCallback(\n (minute: number) => {\n if (!disablePast || !isToday) return false\n if (selectedHour < currentHour) return true\n if (selectedHour === currentHour) return minute < currentMinute\n\n return false\n },\n [disablePast, isToday, selectedHour, currentHour, currentMinute]\n )\n\n const handleHourChange = React.useCallback(\n (hour: number) => {\n const base = value || now\n const minute = selectedMinute >= 0 ? selectedMinute : 0\n\n onChange(updateTime(base, hour, minute))\n },\n [onChange, value, now, selectedMinute]\n )\n\n const handleMinuteChange = React.useCallback(\n (minute: number) => {\n const base = value || now\n const hour = selectedHour >= 0 ? selectedHour : 0\n\n onChange(updateTime(base, hour, minute))\n onTimeSelect?.()\n },\n [onChange, onTimeSelect, value, now, selectedHour]\n )\n\n React.useEffect(() => {\n if (hoursRef.current) {\n const selectedElement = hoursRef.current.querySelector(\n `[data-value=\"${selectedHour}\"]`\n )\n\n if (selectedElement) {\n selectedElement.scrollIntoView?.({\n block: \"center\",\n behavior: \"auto\",\n })\n }\n }\n if (minutesRef.current) {\n const selectedElement = minutesRef.current.querySelector(\n `[data-value=\"${selectedMinute}\"]`\n )\n\n if (selectedElement) {\n selectedElement.scrollIntoView?.({\n block: \"center\",\n behavior: \"auto\",\n })\n }\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div\n ref={ref}\n className={mergeClasses(\n styles.root,\n fillHeight && styles.fillHeight,\n className\n )}\n data-slot=\"timepicker\"\n {...{ [SLOT_ATTR]: \"timepicker\" }}\n >\n <div\n className={mergeClasses(\n styles.column,\n fillHeight && styles.columnFillHeight\n )}\n >\n <div\n className={mergeClasses(\n styles.scroll,\n fillHeight ? styles.scrollFill : styles.scrollFixed\n )}\n aria-label={hoursLabel}\n data-slot=\"timepicker-scroll\"\n role=\"group\"\n {...{ [SLOT_ATTR]: \"timepicker-scroll\" }}\n ref={hoursRef}\n >\n {HOURS.map((hour) => (\n <TimeButton\n isDisabled={isHourDisabled(hour)}\n isSelected={hour === selectedHour}\n key={hour}\n onClick={handleHourChange}\n value={hour}\n />\n ))}\n </div>\n </div>\n\n <div className={styles.separator}>:</div>\n\n <div\n className={mergeClasses(\n styles.column,\n fillHeight && styles.columnFillHeight\n )}\n >\n <div\n className={mergeClasses(\n styles.scroll,\n fillHeight ? styles.scrollFill : styles.scrollFixed\n )}\n aria-label={minutesLabel}\n data-slot=\"timepicker-scroll\"\n role=\"group\"\n {...{ [SLOT_ATTR]: \"timepicker-scroll\" }}\n ref={minutesRef}\n >\n {MINUTES.map((minute) => (\n <TimeButton\n isDisabled={isMinuteDisabled(minute)}\n isSelected={minute === selectedMinute}\n key={minute}\n onClick={handleMinuteChange}\n value={minute}\n />\n ))}\n </div>\n </div>\n </div>\n )\n }\n)\n"],"names":["HOURS","_","i","useStyles","makeVoltStyles","shorthands","tokens.spacingElement1","tokens.radiusMd","tokens.grayA5","tokens.grayA6","tokens.textBase","tokens.leadingBase","tokens.fontWeightSemibold","tokens.grayA8","tokens.textSm","tokens.leadingSm","tokens.grayA11","tokens.grayA4","tokens.semAccentSolid","tokens.semAccentContrast","tokens.semAccentSolidHover","TimeButton","React","value","isSelected","isDisabled","onClick","styles","handleClick","jsx","mergeClasses","SLOT_ATTR","TimePicker","onChange","onTimeSelect","disablePast","currentTimeInTimezone","fillHeight","minuteStep","className","hoursLabel","minutesLabel","ref","step","MINUTES","buckets","m","selectedHour","getHours","rawMinute","getMinutes","selectedMinute","hoursRef","minutesRef","now","isToday","currentHour","currentMinute","isHourDisabled","hour","isMinuteDisabled","minute","handleHourChange","base","updateTime","handleMinuteChange","selectedElement","_a","_b","jsxs"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { shorthands as s } from "../../packages/volt-runtime/dist/vendor/@griffe
|
|
|
5
5
|
import { SLOT_ATTR as l } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
6
6
|
import { mergeClasses as d } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
7
7
|
import { makeVoltStyles as W } from "../../styles/make-styles.js";
|
|
8
|
-
import { spacingElement2 as f, spacingGroup2 as p, grayA1 as L,
|
|
8
|
+
import { spacingElement2 as f, spacingGroup2 as p, grayA1 as L, radiusXl as N, spacingLayout1 as T, leadingSm as A, textSm as O, grayA11 as F, grayA12 as k, fontWeightSemibold as P, leadingLg as H, textLg as I, accentA8 as x, semAccentSoft as X, accentA11 as j, container5xl as B, container4xl as E, container3xl as _, container2xl as M, containerXl as G, containerLg as Q, containerMd as V, containerSm as Z, body as q } from "../../tokens/index.js";
|
|
9
9
|
const c = W({
|
|
10
10
|
overlay: {
|
|
11
11
|
position: "fixed",
|
|
@@ -31,7 +31,7 @@ const c = W({
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
content: {
|
|
34
|
-
backgroundColor:
|
|
34
|
+
backgroundColor: q,
|
|
35
35
|
position: "fixed",
|
|
36
36
|
top: "50%",
|
|
37
37
|
left: "50%",
|
|
@@ -41,8 +41,8 @@ const c = W({
|
|
|
41
41
|
width: "100%",
|
|
42
42
|
maxWidth: "calc(100% - 2rem)",
|
|
43
43
|
transform: "translate(-50%, -50%)",
|
|
44
|
-
...s.gap(
|
|
45
|
-
...s.borderRadius(
|
|
44
|
+
...s.gap(T),
|
|
45
|
+
...s.borderRadius(N),
|
|
46
46
|
...s.border("1px", "solid", L),
|
|
47
47
|
// v1 shadow-lg; elevation has no token in this package.
|
|
48
48
|
boxShadow: "0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a",
|
|
@@ -74,14 +74,14 @@ const c = W({
|
|
|
74
74
|
animationDuration: "150ms",
|
|
75
75
|
animationTimingFunction: "cubic-bezier(0.4, 0, 1, 1)"
|
|
76
76
|
},
|
|
77
|
-
"&[data-size='sm']": { maxWidth:
|
|
78
|
-
"&[data-size='md']": { maxWidth:
|
|
79
|
-
"&[data-size='lg']": { maxWidth:
|
|
80
|
-
"&[data-size='xl']": { maxWidth:
|
|
81
|
-
"&[data-size='2xl']": { maxWidth:
|
|
82
|
-
"&[data-size='3xl']": { maxWidth:
|
|
83
|
-
"&[data-size='4xl']": { maxWidth:
|
|
84
|
-
"&[data-size='5xl']": { maxWidth:
|
|
77
|
+
"&[data-size='sm']": { maxWidth: Z },
|
|
78
|
+
"&[data-size='md']": { maxWidth: V },
|
|
79
|
+
"&[data-size='lg']": { maxWidth: Q },
|
|
80
|
+
"&[data-size='xl']": { maxWidth: G },
|
|
81
|
+
"&[data-size='2xl']": { maxWidth: M },
|
|
82
|
+
"&[data-size='3xl']": { maxWidth: _ },
|
|
83
|
+
"&[data-size='4xl']": { maxWidth: E },
|
|
84
|
+
"&[data-size='5xl']": { maxWidth: B },
|
|
85
85
|
"&[data-size='full-width']": { maxWidth: "100%" }
|
|
86
86
|
},
|
|
87
87
|
contentPadding: {
|
|
@@ -103,9 +103,9 @@ const c = W({
|
|
|
103
103
|
// v1 rounded-full; no full-radius token exists in this package.
|
|
104
104
|
borderRadius: "9999px",
|
|
105
105
|
cursor: "pointer",
|
|
106
|
-
color:
|
|
106
|
+
color: j,
|
|
107
107
|
":hover": {
|
|
108
|
-
backgroundColor:
|
|
108
|
+
backgroundColor: X
|
|
109
109
|
},
|
|
110
110
|
":focus-visible": {
|
|
111
111
|
outlineWidth: "2px",
|
|
@@ -135,15 +135,15 @@ const c = W({
|
|
|
135
135
|
justifyContent: "flex-end"
|
|
136
136
|
},
|
|
137
137
|
title: {
|
|
138
|
-
fontSize:
|
|
139
|
-
lineHeight:
|
|
140
|
-
fontWeight:
|
|
141
|
-
color:
|
|
138
|
+
fontSize: I,
|
|
139
|
+
lineHeight: H,
|
|
140
|
+
fontWeight: P,
|
|
141
|
+
color: k
|
|
142
142
|
},
|
|
143
143
|
description: {
|
|
144
|
-
color:
|
|
145
|
-
fontSize:
|
|
146
|
-
lineHeight:
|
|
144
|
+
color: F,
|
|
145
|
+
fontSize: O,
|
|
146
|
+
lineHeight: A
|
|
147
147
|
},
|
|
148
148
|
srOnly: {
|
|
149
149
|
position: "absolute",
|
|
@@ -5,7 +5,7 @@ import { shorthands as i } from "../../packages/volt-runtime/dist/vendor/@griffe
|
|
|
5
5
|
import { SLOT_ATTR as c } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
6
6
|
import { mergeClasses as m } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
7
7
|
import { makeVoltStyles as L } from "../../styles/make-styles.js";
|
|
8
|
-
import { spacingElement2 as g, grayA1 as p, spacingElement3 as y,
|
|
8
|
+
import { spacingElement2 as g, grayA1 as p, spacingElement3 as y, radius2xl as X, spacingGroup2 as h, leadingSm as A, textSm as O, grayA11 as Y, grayA12 as k, fontWeightSemibold as E, leadingLg as P, textLg as B, accentA8 as b, semAccentSoft as H, accentA11 as I, spacingElement1 as n, gray2 as W } from "../../tokens/index.js";
|
|
9
9
|
const d = L({
|
|
10
10
|
overlay: {
|
|
11
11
|
position: "fixed",
|
|
@@ -31,14 +31,14 @@ const d = L({
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
content: {
|
|
34
|
-
backgroundColor:
|
|
34
|
+
backgroundColor: W,
|
|
35
35
|
position: "fixed",
|
|
36
36
|
// v1's z-1300 is the overlay tier; no z-index token exists in this package.
|
|
37
37
|
zIndex: 1300,
|
|
38
38
|
display: "flex",
|
|
39
39
|
flexDirection: "column",
|
|
40
|
-
...i.gap(
|
|
41
|
-
...i.borderRadius(
|
|
40
|
+
...i.gap(h),
|
|
41
|
+
...i.borderRadius(X),
|
|
42
42
|
// v1 shadow-lg; elevation has no token in this package.
|
|
43
43
|
boxShadow: "0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a"
|
|
44
44
|
},
|
|
@@ -191,27 +191,27 @@ const d = L({
|
|
|
191
191
|
outlineWidth: "2px",
|
|
192
192
|
outlineStyle: "solid",
|
|
193
193
|
outlineOffset: "2px",
|
|
194
|
-
outlineColor:
|
|
194
|
+
outlineColor: b
|
|
195
195
|
}
|
|
196
196
|
},
|
|
197
197
|
closeButton: {
|
|
198
198
|
position: "absolute",
|
|
199
199
|
// v1 top-3 is 0.75rem; no spacing token for 0.75rem exists in this package.
|
|
200
200
|
top: y,
|
|
201
|
-
right:
|
|
201
|
+
right: h,
|
|
202
202
|
...i.padding(g),
|
|
203
203
|
// v1 rounded-full; no full-radius token exists in this package.
|
|
204
204
|
borderRadius: "9999px",
|
|
205
205
|
cursor: "pointer",
|
|
206
|
-
color:
|
|
206
|
+
color: I,
|
|
207
207
|
":hover": {
|
|
208
|
-
backgroundColor:
|
|
208
|
+
backgroundColor: H
|
|
209
209
|
},
|
|
210
210
|
":focus-visible": {
|
|
211
211
|
outlineWidth: "2px",
|
|
212
212
|
outlineStyle: "solid",
|
|
213
213
|
outlineOffset: "2px",
|
|
214
|
-
outlineColor:
|
|
214
|
+
outlineColor: b
|
|
215
215
|
},
|
|
216
216
|
":disabled": {
|
|
217
217
|
pointerEvents: "none"
|
|
@@ -238,15 +238,15 @@ const d = L({
|
|
|
238
238
|
justifyContent: "flex-end"
|
|
239
239
|
},
|
|
240
240
|
title: {
|
|
241
|
-
fontSize:
|
|
242
|
-
lineHeight:
|
|
243
|
-
fontWeight:
|
|
244
|
-
color:
|
|
241
|
+
fontSize: B,
|
|
242
|
+
lineHeight: P,
|
|
243
|
+
fontWeight: E,
|
|
244
|
+
color: k
|
|
245
245
|
},
|
|
246
246
|
description: {
|
|
247
|
-
color:
|
|
248
|
-
fontSize:
|
|
249
|
-
lineHeight:
|
|
247
|
+
color: Y,
|
|
248
|
+
fontSize: O,
|
|
249
|
+
lineHeight: A
|
|
250
250
|
},
|
|
251
251
|
srOnly: {
|
|
252
252
|
position: "absolute",
|
|
@@ -5,7 +5,7 @@ import { shorthands as g } from "../../packages/volt-runtime/dist/vendor/@griffe
|
|
|
5
5
|
import { SLOT_ATTR as c } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
6
6
|
import { mergeClasses as p } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
7
7
|
import { makeVoltStyles as z } from "../../styles/make-styles.js";
|
|
8
|
-
import { spacingElement1 as u, grayA11 as
|
|
8
|
+
import { radiusMd as W, spacingElement2 as m, spacingElement1 as u, radiusXl as X, grayA11 as B, leadingXs as E, textXs as $, grayA3 as P, fontWeightSemibold as j, leadingSm as b, textSm as x, semAccentSoft as f, semErrorSoft as w, errorA8 as Y, errorA11 as _, grayA12 as F, body as H, accentA11 as Z } from "../../tokens/index.js";
|
|
9
9
|
const O = (r) => /* @__PURE__ */ e(
|
|
10
10
|
"svg",
|
|
11
11
|
{
|
|
@@ -41,17 +41,17 @@ const O = (r) => /* @__PURE__ */ e(
|
|
|
41
41
|
}
|
|
42
42
|
), l = z({
|
|
43
43
|
trigger: {
|
|
44
|
-
color:
|
|
44
|
+
color: Z
|
|
45
45
|
},
|
|
46
46
|
portal: {
|
|
47
47
|
display: "contents"
|
|
48
48
|
},
|
|
49
49
|
popup: {
|
|
50
|
-
backgroundColor:
|
|
51
|
-
color:
|
|
50
|
+
backgroundColor: H,
|
|
51
|
+
color: F,
|
|
52
52
|
minWidth: "10rem",
|
|
53
53
|
overflow: "hidden",
|
|
54
|
-
...g.borderRadius(
|
|
54
|
+
...g.borderRadius(X),
|
|
55
55
|
...g.padding(u),
|
|
56
56
|
// v1 shadow-lg
|
|
57
57
|
boxShadow: "0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a",
|
|
@@ -118,7 +118,7 @@ const O = (r) => /* @__PURE__ */ e(
|
|
|
118
118
|
userSelect: "none",
|
|
119
119
|
alignItems: "center",
|
|
120
120
|
...g.gap(m),
|
|
121
|
-
...g.borderRadius(
|
|
121
|
+
...g.borderRadius(W),
|
|
122
122
|
paddingLeft: m,
|
|
123
123
|
paddingRight: m,
|
|
124
124
|
paddingTop: "0.375rem",
|
|
@@ -153,7 +153,7 @@ const O = (r) => /* @__PURE__ */ e(
|
|
|
153
153
|
paddingLeft: "2rem"
|
|
154
154
|
},
|
|
155
155
|
itemDestructive: {
|
|
156
|
-
color:
|
|
156
|
+
color: _,
|
|
157
157
|
":hover": {
|
|
158
158
|
backgroundColor: w
|
|
159
159
|
},
|
|
@@ -161,7 +161,7 @@ const O = (r) => /* @__PURE__ */ e(
|
|
|
161
161
|
backgroundColor: w,
|
|
162
162
|
outlineWidth: "2px",
|
|
163
163
|
outlineStyle: "solid",
|
|
164
|
-
outlineColor:
|
|
164
|
+
outlineColor: Y
|
|
165
165
|
},
|
|
166
166
|
"&[data-highlighted]": {
|
|
167
167
|
backgroundColor: w
|
|
@@ -204,7 +204,7 @@ const O = (r) => /* @__PURE__ */ e(
|
|
|
204
204
|
paddingBottom: "0.375rem",
|
|
205
205
|
fontSize: x,
|
|
206
206
|
lineHeight: b,
|
|
207
|
-
fontWeight:
|
|
207
|
+
fontWeight: j
|
|
208
208
|
},
|
|
209
209
|
separator: {
|
|
210
210
|
marginLeft: `calc(-1 * ${u})`,
|
|
@@ -212,14 +212,14 @@ const O = (r) => /* @__PURE__ */ e(
|
|
|
212
212
|
marginTop: u,
|
|
213
213
|
marginBottom: u,
|
|
214
214
|
height: "1px",
|
|
215
|
-
backgroundColor:
|
|
215
|
+
backgroundColor: P
|
|
216
216
|
},
|
|
217
217
|
shortcut: {
|
|
218
218
|
marginLeft: "auto",
|
|
219
|
-
fontSize:
|
|
220
|
-
lineHeight:
|
|
219
|
+
fontSize: $,
|
|
220
|
+
lineHeight: E,
|
|
221
221
|
letterSpacing: "0.1em",
|
|
222
|
-
color:
|
|
222
|
+
color: B
|
|
223
223
|
}
|
|
224
224
|
}), ro = d.forwardRef(
|
|
225
225
|
function(o, t) {
|
|
@@ -4,7 +4,7 @@ import { shorthands as s } from "../../packages/volt-runtime/dist/vendor/@griffe
|
|
|
4
4
|
import { SLOT_ATTR as p } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
5
5
|
import { mergeClasses as m } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
6
6
|
import { makeVoltStyles as R } from "../../styles/make-styles.js";
|
|
7
|
-
import { spacingElement2 as b, grayA8 as
|
|
7
|
+
import { radiusMd as S, spacingElement2 as b, radiusLg as I, grayA8 as L, accentA11 as N, spacingGroup1 as x, grayA11 as f, spacingElement1 as y, semGraySoft as q, leadingXs as P, textXs as T, fontWeightSemibold as V, leadingSm as h, textSm as C, grayA12 as g } from "../../tokens/index.js";
|
|
8
8
|
import { Command as G, CommandEmpty as B, CommandGroup as D, CommandInput as k, CommandItem as A, CommandList as E, CommandLoading as j, CommandSeparator as H } from "../command/command.js";
|
|
9
9
|
import { Label as z } from "../label/label.js";
|
|
10
10
|
import { Popover as M, PopoverPortal as W, PopoverContent as X, PopoverTrigger as Z } from "../popover/popover.js";
|
|
@@ -49,7 +49,7 @@ const _ = (n) => /* @__PURE__ */ a(
|
|
|
49
49
|
alignItems: "center",
|
|
50
50
|
justifyContent: "space-between",
|
|
51
51
|
...s.gap(b),
|
|
52
|
-
...s.borderRadius(
|
|
52
|
+
...s.borderRadius(I),
|
|
53
53
|
backgroundColor: "transparent",
|
|
54
54
|
fontSize: C,
|
|
55
55
|
lineHeight: h,
|
|
@@ -109,7 +109,7 @@ const _ = (n) => /* @__PURE__ */ a(
|
|
|
109
109
|
cursor: "default",
|
|
110
110
|
alignItems: "center",
|
|
111
111
|
...s.gap(b),
|
|
112
|
-
...s.borderRadius(
|
|
112
|
+
...s.borderRadius(S),
|
|
113
113
|
fontSize: C,
|
|
114
114
|
lineHeight: h,
|
|
115
115
|
outlineStyle: "none",
|
|
@@ -142,16 +142,16 @@ const _ = (n) => /* @__PURE__ */ a(
|
|
|
142
142
|
},
|
|
143
143
|
groupLabel: {
|
|
144
144
|
color: f,
|
|
145
|
-
fontWeight:
|
|
145
|
+
fontWeight: V,
|
|
146
146
|
paddingLeft: b,
|
|
147
147
|
paddingRight: b,
|
|
148
148
|
paddingTop: b,
|
|
149
149
|
paddingBottom: b,
|
|
150
|
-
fontSize:
|
|
151
|
-
lineHeight:
|
|
150
|
+
fontSize: T,
|
|
151
|
+
lineHeight: P
|
|
152
152
|
},
|
|
153
153
|
separator: {
|
|
154
|
-
backgroundColor:
|
|
154
|
+
backgroundColor: q,
|
|
155
155
|
pointerEvents: "none",
|
|
156
156
|
marginLeft: `calc(-1 * ${y})`,
|
|
157
157
|
marginRight: `calc(-1 * ${y})`,
|
|
@@ -178,7 +178,7 @@ const _ = (n) => /* @__PURE__ */ a(
|
|
|
178
178
|
...s.borderRadius("9999px"),
|
|
179
179
|
backgroundColor: "transparent",
|
|
180
180
|
...s.border("0"),
|
|
181
|
-
color:
|
|
181
|
+
color: N
|
|
182
182
|
},
|
|
183
183
|
clearSvg: {
|
|
184
184
|
width: "1.25rem",
|
|
@@ -201,7 +201,7 @@ const _ = (n) => /* @__PURE__ */ a(
|
|
|
201
201
|
color: "currentColor"
|
|
202
202
|
},
|
|
203
203
|
placeholder: {
|
|
204
|
-
color:
|
|
204
|
+
color: L
|
|
205
205
|
}
|
|
206
206
|
}), io = l.forwardRef(
|
|
207
207
|
function(t, o) {
|
|
@@ -4,7 +4,7 @@ import { shorthands as r } from "../../packages/volt-runtime/dist/vendor/@griffe
|
|
|
4
4
|
import { SLOT_ATTR as c } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
5
5
|
import { mergeClasses as f } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
6
6
|
import { makeVoltStyles as W } from "../../styles/make-styles.js";
|
|
7
|
-
import { fontWeightNormal as x, leadingSm as
|
|
7
|
+
import { spacingElement2 as y, spacingElement1 as S, spacingLayout2 as P, radiusLg as X, fontWeightNormal as x, leadingSm as w, textSm as z, grayA11 as L, grayA8 as N, grayA12 as F, leadingXs as D, textXs as v, errorA11 as G, errorA8 as A, errorA4 as $, semErrorSoft as E, accentA8 as R, grayA3 as k, accentA4 as j, accentA3 as M, grayA4 as q, spacingElement3 as I } from "../../tokens/index.js";
|
|
8
8
|
const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createContext(null), T = () => {
|
|
9
9
|
const l = a.useContext(H);
|
|
10
10
|
if (!l)
|
|
@@ -24,8 +24,8 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
24
24
|
// silently loses 4px per side. See STATUS: the scale gap is the root cause.
|
|
25
25
|
paddingLeft: I,
|
|
26
26
|
paddingRight: I,
|
|
27
|
-
...r.gap(
|
|
28
|
-
...r.borderRadius(
|
|
27
|
+
...r.gap(S),
|
|
28
|
+
...r.borderRadius(X),
|
|
29
29
|
transitionProperty: "all",
|
|
30
30
|
transitionDuration: "75ms",
|
|
31
31
|
outlineOffset: "2px",
|
|
@@ -59,31 +59,31 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
59
59
|
rootDefault: {
|
|
60
60
|
backgroundColor: k,
|
|
61
61
|
":hover": {
|
|
62
|
-
backgroundColor:
|
|
62
|
+
backgroundColor: q
|
|
63
63
|
},
|
|
64
64
|
"&[data-focused='true'], &[data-focus-visible]": {
|
|
65
|
-
outlineColor:
|
|
65
|
+
outlineColor: R
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
rootHighlight: {
|
|
69
|
-
backgroundColor:
|
|
69
|
+
backgroundColor: M,
|
|
70
70
|
":hover": {
|
|
71
|
-
backgroundColor:
|
|
71
|
+
backgroundColor: j
|
|
72
72
|
},
|
|
73
73
|
"&[data-focused='true'], &[data-focus-visible]": {
|
|
74
|
-
outlineColor:
|
|
74
|
+
outlineColor: R
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
rootReadonly: {
|
|
78
78
|
backgroundColor: k,
|
|
79
79
|
"&[data-focused='true'], &[data-focus-visible]": {
|
|
80
|
-
outlineColor:
|
|
80
|
+
outlineColor: R
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
rootDestructive: {
|
|
84
84
|
backgroundColor: E,
|
|
85
85
|
":hover": {
|
|
86
|
-
backgroundColor:
|
|
86
|
+
backgroundColor: $
|
|
87
87
|
},
|
|
88
88
|
"&[data-focused='true'], &[data-focus-visible]": {
|
|
89
89
|
outlineColor: A
|
|
@@ -92,7 +92,7 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
92
92
|
fieldSet: {
|
|
93
93
|
display: "flex",
|
|
94
94
|
flexDirection: "column",
|
|
95
|
-
...r.gap(
|
|
95
|
+
...r.gap(P),
|
|
96
96
|
...r.border("0"),
|
|
97
97
|
...r.padding(0),
|
|
98
98
|
...r.margin(0)
|
|
@@ -120,7 +120,7 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
120
120
|
label: {
|
|
121
121
|
minHeight: "1rem",
|
|
122
122
|
fontSize: v,
|
|
123
|
-
lineHeight:
|
|
123
|
+
lineHeight: D,
|
|
124
124
|
display: "flex",
|
|
125
125
|
width: "fit-content",
|
|
126
126
|
...r.gap(y),
|
|
@@ -133,7 +133,7 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
133
133
|
labelContent: {
|
|
134
134
|
display: "inline-flex",
|
|
135
135
|
alignItems: "center",
|
|
136
|
-
...r.gap(
|
|
136
|
+
...r.gap(S),
|
|
137
137
|
transitionProperty: "opacity",
|
|
138
138
|
transitionDuration: "150ms"
|
|
139
139
|
},
|
|
@@ -164,7 +164,7 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
164
164
|
error: {
|
|
165
165
|
color: G,
|
|
166
166
|
fontSize: v,
|
|
167
|
-
lineHeight:
|
|
167
|
+
lineHeight: D,
|
|
168
168
|
fontWeight: x
|
|
169
169
|
},
|
|
170
170
|
errorList: {
|
|
@@ -177,7 +177,7 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
177
177
|
errorListItem: {
|
|
178
178
|
color: G,
|
|
179
179
|
fontSize: v,
|
|
180
|
-
lineHeight:
|
|
180
|
+
lineHeight: D,
|
|
181
181
|
fontWeight: x,
|
|
182
182
|
marginTop: "0.25rem",
|
|
183
183
|
marginBottom: "0.25rem"
|
|
@@ -186,8 +186,8 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
186
186
|
width: "100%",
|
|
187
187
|
height: "1.5rem",
|
|
188
188
|
outlineStyle: "none",
|
|
189
|
-
fontSize:
|
|
190
|
-
lineHeight:
|
|
189
|
+
fontSize: z,
|
|
190
|
+
lineHeight: w,
|
|
191
191
|
color: F,
|
|
192
192
|
backgroundColor: "transparent",
|
|
193
193
|
...r.border("0"),
|
|
@@ -202,14 +202,14 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
202
202
|
inputGroup: {
|
|
203
203
|
display: "flex",
|
|
204
204
|
alignItems: "center",
|
|
205
|
-
...r.gap(
|
|
205
|
+
...r.gap(S),
|
|
206
206
|
width: "100%"
|
|
207
207
|
},
|
|
208
208
|
textarea: {
|
|
209
209
|
width: "100%",
|
|
210
210
|
outlineStyle: "none",
|
|
211
|
-
fontSize:
|
|
212
|
-
lineHeight:
|
|
211
|
+
fontSize: z,
|
|
212
|
+
lineHeight: w,
|
|
213
213
|
color: F,
|
|
214
214
|
backgroundColor: "transparent",
|
|
215
215
|
...r.border("0"),
|
|
@@ -239,8 +239,8 @@ const Q = "div", U = "label", Y = "input", _ = "p", J = "div", H = a.createConte
|
|
|
239
239
|
alignItems: "center",
|
|
240
240
|
justifyContent: "center",
|
|
241
241
|
...r.gap(y),
|
|
242
|
-
fontSize:
|
|
243
|
-
lineHeight:
|
|
242
|
+
fontSize: z,
|
|
243
|
+
lineHeight: w,
|
|
244
244
|
fontWeight: x,
|
|
245
245
|
userSelect: "none"
|
|
246
246
|
},
|
|
@@ -4,12 +4,12 @@ import { shorthands as n } from "../../packages/volt-runtime/dist/vendor/@griffe
|
|
|
4
4
|
import { SLOT_ATTR as m } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
5
5
|
import { mergeClasses as f } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
6
6
|
import { makeVoltStyles as p } from "../../styles/make-styles.js";
|
|
7
|
-
import {
|
|
7
|
+
import { spacingElement2 as g, leadingBase as c, textBase as d, leadingSm as y, textSm as b, leadingXs as S, textXs as h, errorA12 as x, grayA12 as u, fontWeightNormal as z } from "../../tokens/index.js";
|
|
8
8
|
const A = p({
|
|
9
9
|
root: {
|
|
10
10
|
display: "flex",
|
|
11
11
|
alignItems: "center",
|
|
12
|
-
...n.gap(
|
|
12
|
+
...n.gap(g),
|
|
13
13
|
// The leading lives on the size slots below, and which value it takes is a decided question --
|
|
14
14
|
// see DECISIONS.md D9 and the label specimens in vr/specimens that pin it.
|
|
15
15
|
//
|
|
@@ -34,7 +34,7 @@ const A = p({
|
|
|
34
34
|
// and both belong in a STABLE360 ticket against v1. When v1 is fixed, delete the VR shim (see
|
|
35
35
|
// vr/run.mjs V1_DECLARED_LEADING_SHIM); vr/v1-leading-references.test.ts fails on purpose to
|
|
36
36
|
// force that, so the decision gets revisited together with the fix rather than silently.
|
|
37
|
-
fontWeight:
|
|
37
|
+
fontWeight: z,
|
|
38
38
|
"&[for]": {
|
|
39
39
|
cursor: "pointer"
|
|
40
40
|
},
|
|
@@ -53,23 +53,23 @@ const A = p({
|
|
|
53
53
|
},
|
|
54
54
|
// Variants
|
|
55
55
|
primary: {
|
|
56
|
-
color:
|
|
56
|
+
color: u
|
|
57
57
|
},
|
|
58
58
|
destructive: {
|
|
59
|
-
color:
|
|
59
|
+
color: x
|
|
60
60
|
},
|
|
61
61
|
// Sizes
|
|
62
62
|
sm: {
|
|
63
|
-
fontSize:
|
|
64
|
-
lineHeight:
|
|
63
|
+
fontSize: h,
|
|
64
|
+
lineHeight: S
|
|
65
65
|
},
|
|
66
66
|
base: {
|
|
67
|
-
fontSize:
|
|
68
|
-
lineHeight:
|
|
67
|
+
fontSize: b,
|
|
68
|
+
lineHeight: y
|
|
69
69
|
},
|
|
70
70
|
lg: {
|
|
71
|
-
fontSize:
|
|
72
|
-
lineHeight:
|
|
71
|
+
fontSize: d,
|
|
72
|
+
lineHeight: c
|
|
73
73
|
}
|
|
74
74
|
}), N = l.forwardRef(
|
|
75
75
|
function({ variant: t = "primary", size: o = "base", className: r, ...a }, s) {
|