@optimum-intelligence/opti-ui 0.3.0 → 0.4.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.
Files changed (115) hide show
  1. package/README.md +19 -0
  2. package/dist/components/accordion/Accordion.d.ts +12 -0
  3. package/dist/components/accordion/Accordion.js +12 -0
  4. package/dist/components/accordion/Accordion.js.map +1 -1
  5. package/dist/components/alert/Alert.d.ts +4 -0
  6. package/dist/components/alert/Alert.js.map +1 -1
  7. package/dist/components/app-shell/AppShell.d.ts +22 -0
  8. package/dist/components/app-shell/AppShell.js +6 -0
  9. package/dist/components/app-shell/AppShell.js.map +1 -1
  10. package/dist/components/avatar/Avatar.d.ts +8 -0
  11. package/dist/components/avatar/Avatar.js +2 -0
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/badge/Badge.d.ts +9 -0
  14. package/dist/components/badge/Badge.js +6 -0
  15. package/dist/components/badge/Badge.js.map +1 -1
  16. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -0
  17. package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
  18. package/dist/components/button/Button.d.ts +8 -0
  19. package/dist/components/button/Button.js +6 -0
  20. package/dist/components/button/Button.js.map +1 -1
  21. package/dist/components/calendar/Calendar.d.ts +3 -0
  22. package/dist/components/calendar/Calendar.js.map +1 -1
  23. package/dist/components/card/Card.d.ts +13 -0
  24. package/dist/components/card/Card.js +13 -0
  25. package/dist/components/card/Card.js.map +1 -1
  26. package/dist/components/choice/Choice.d.ts +13 -0
  27. package/dist/components/choice/Choice.js +10 -0
  28. package/dist/components/choice/Choice.js.map +1 -1
  29. package/dist/components/combobox/Combobox.d.ts +12 -0
  30. package/dist/components/combobox/Combobox.js.map +1 -1
  31. package/dist/components/command-palette/CommandPalette.d.ts +10 -0
  32. package/dist/components/command-palette/CommandPalette.js.map +1 -1
  33. package/dist/components/data-table/DataTable.d.ts +4 -0
  34. package/dist/components/data-table/DataTable.js.map +1 -1
  35. package/dist/components/data-table/DataTableContent.d.ts +1 -0
  36. package/dist/components/data-table/DataTableContent.js.map +1 -1
  37. package/dist/components/data-table/DataTableFilters.d.ts +3 -0
  38. package/dist/components/data-table/DataTableFilters.js.map +1 -1
  39. package/dist/components/data-table/types.d.ts +16 -0
  40. package/dist/components/date-picker/DateRangePicker.d.ts +1 -0
  41. package/dist/components/date-picker/DateRangePicker.js.map +1 -1
  42. package/dist/components/date-picker/PickerField.d.ts +13 -0
  43. package/dist/components/date-picker/PickerField.js.map +1 -1
  44. package/dist/components/dialog/Dialog.d.ts +5 -0
  45. package/dist/components/dialog/Dialog.js.map +1 -1
  46. package/dist/components/drawer/Drawer.d.ts +10 -0
  47. package/dist/components/drawer/Drawer.js.map +1 -1
  48. package/dist/components/empty-state/EmptyState.d.ts +5 -0
  49. package/dist/components/empty-state/EmptyState.js.map +1 -1
  50. package/dist/components/file-upload/FileUpload.d.ts +21 -0
  51. package/dist/components/file-upload/FileUpload.js.map +1 -1
  52. package/dist/components/input/Input.d.ts +7 -0
  53. package/dist/components/input/Input.js +3 -0
  54. package/dist/components/input/Input.js.map +1 -1
  55. package/dist/components/link/Link.d.ts +1 -0
  56. package/dist/components/link/Link.js.map +1 -1
  57. package/dist/components/menu/Menu.d.ts +6 -0
  58. package/dist/components/menu/Menu.js.map +1 -1
  59. package/dist/components/number-field/NumberField.d.ts +7 -0
  60. package/dist/components/number-field/NumberField.js.map +1 -1
  61. package/dist/components/pagination/Pagination.d.ts +4 -0
  62. package/dist/components/pagination/Pagination.js.map +1 -1
  63. package/dist/components/popover/Popover.d.ts +4 -0
  64. package/dist/components/popover/Popover.js.map +1 -1
  65. package/dist/components/preview-card/PreviewCard.d.ts +4 -0
  66. package/dist/components/preview-card/PreviewCard.js.map +1 -1
  67. package/dist/components/progress/Progress.d.ts +8 -0
  68. package/dist/components/progress/Progress.js.map +1 -1
  69. package/dist/components/scroll-area/ScrollArea.d.ts +1 -0
  70. package/dist/components/scroll-area/ScrollArea.js.map +1 -1
  71. package/dist/components/search-input/SearchInput.d.ts +2 -0
  72. package/dist/components/search-input/SearchInput.js.map +1 -1
  73. package/dist/components/select/Select.d.ts +11 -0
  74. package/dist/components/select/Select.js.map +1 -1
  75. package/dist/components/separator/Separator.d.ts +1 -0
  76. package/dist/components/separator/Separator.js +1 -0
  77. package/dist/components/separator/Separator.js.map +1 -1
  78. package/dist/components/skeleton/Skeleton.d.ts +7 -0
  79. package/dist/components/skeleton/Skeleton.js +1 -0
  80. package/dist/components/skeleton/Skeleton.js.map +1 -1
  81. package/dist/components/slider/Slider.d.ts +1 -0
  82. package/dist/components/slider/Slider.js.map +1 -1
  83. package/dist/components/spinner/Spinner.d.ts +2 -0
  84. package/dist/components/spinner/Spinner.js +1 -0
  85. package/dist/components/spinner/Spinner.js.map +1 -1
  86. package/dist/components/stat-card/StatCard.d.ts +4 -0
  87. package/dist/components/stat-card/StatCard.js.map +1 -1
  88. package/dist/components/stepper/Stepper.d.ts +4 -0
  89. package/dist/components/stepper/Stepper.js.map +1 -1
  90. package/dist/components/table/Table.d.ts +23 -0
  91. package/dist/components/table/Table.js +17 -0
  92. package/dist/components/table/Table.js.map +1 -1
  93. package/dist/components/tabs/Tabs.d.ts +1 -0
  94. package/dist/components/tabs/Tabs.js.map +1 -1
  95. package/dist/components/tag/Tag.d.ts +3 -0
  96. package/dist/components/tag/Tag.js.map +1 -1
  97. package/dist/components/toast/Toast.d.ts +2 -0
  98. package/dist/components/toast/Toast.js.map +1 -1
  99. package/dist/components/toggle/Toggle.d.ts +7 -0
  100. package/dist/components/toggle/Toggle.js +1 -0
  101. package/dist/components/toggle/Toggle.js.map +1 -1
  102. package/dist/components/tooltip/Tooltip.d.ts +8 -0
  103. package/dist/components/tooltip/Tooltip.js.map +1 -1
  104. package/dist/components/typography/Typography.d.ts +5 -0
  105. package/dist/components/typography/Typography.js +2 -0
  106. package/dist/components/typography/Typography.js.map +1 -1
  107. package/dist/components.json +5375 -0
  108. package/dist/llms-full.txt +2590 -0
  109. package/dist/llms.txt +175 -0
  110. package/dist/theme/ThemeProvider.d.ts +1 -0
  111. package/dist/theme/ThemeProvider.js.map +1 -1
  112. package/dist/utils/portal.d.ts +4 -0
  113. package/dist/utils/portal.js +4 -0
  114. package/dist/utils/portal.js.map +1 -1
  115. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","names":["React","cx","CircleCheckIcon","FileIcon","UploadIcon","XIcon","IconButton","Progress","FileRejection","file","File","reason","formatFileSize","bytes","locale","units","value","unit","length","digits","Intl","NumberFormat","maximumFractionDigits","format","accepts","accept","tokens","split","map","token","trim","toLowerCase","filter","Boolean","name","type","some","startsWith","endsWith","slice","setInputFiles","input","HTMLInputElement","files","DataTransfer","transfer","items","add","DropzoneProps","Omit","LabelHTMLAttributes","HTMLLabelElement","ref","Ref","onFiles","onReject","rejections","multiple","maxSize","disabled","invalid","size","icon","ReactNode","title","hint","inputProps","ComponentProps","Dropzone","t0","$","_c","children","className","props","t1","undefined","dragging","setDragging","useState","inputRef","useRef","t2","t3","current","useEffect","t4","list","accepted","rejected","Array","from","push","take","hasFiles","_temp","t5","t6","t7","t8","t9","event_0","event","t10","t11","Symbol","for","event_1","preventDefault","event_2","currentTarget","contains","relatedTarget","Node","t12","event_3","dataTransfer","t13","t14","t15","t16","event_4","target","t17","t18","t19","t20","t21","t22","t23","t24","types","includes","FileItemStatus","FileItemProps","HTMLAttributes","HTMLDivElement","status","progress","error","onRemove","removeLabel","actions","FileItem","uploading","Math","round","meta","join","FileUploadLabels","remove","defaultLabels","sameFile","a","b","lastModified","FileUploadProps","Pick","defaultValue","onValueChange","maxFiles","fileState","label","description","required","id","labels","Partial","FileUpload","idProp","text","inner","setInner","generatedId","useId","descriptionId","errorId","describedBy","next","commit","added","fresh","existing","room","max","_temp2","file_1","index","_","position","file_0","_c"],"sources":["../../../src/components/file-upload/FileUpload.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { CircleCheckIcon, FileIcon, UploadIcon, XIcon } from '../../icons';\nimport { IconButton } from '../button/Button';\nimport { Progress } from '../progress/Progress';\n\nexport interface FileRejection {\n file: File;\n /** `type`: not matched by `accept`. `size`: larger than `maxSize`. `count`: over the file limit. */\n reason: 'type' | 'size' | 'count';\n}\n\n/** `1536` → `\"1.5 KB\"`. */\nexport function formatFileSize(bytes: number, locale?: string): string {\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let value = bytes;\n let unit = 0;\n while (value >= 1024 && unit < units.length - 1) {\n value /= 1024;\n unit += 1;\n }\n const digits = unit > 0 && value < 10 ? 1 : 0;\n return `${new Intl.NumberFormat(locale, { maximumFractionDigits: digits }).format(value)} ${units[unit]}`;\n}\n\n// Dropped files bypass the input's `accept`, so it is checked here too.\nfunction accepts(file: File, accept?: string): boolean {\n const tokens = (accept ?? '')\n .split(',')\n .map((token) => token.trim().toLowerCase())\n .filter(Boolean);\n if (!tokens.length) return true;\n const [name, type] = [file.name.toLowerCase(), file.type.toLowerCase()];\n return tokens.some((token) =>\n token.startsWith('.') ? name.endsWith(token) : token.endsWith('/*') ? type.startsWith(token.slice(0, -1)) : type === token,\n );\n}\n\nfunction setInputFiles(input: HTMLInputElement | null, files: File[] | undefined) {\n if (!input) return;\n if (!files?.length || typeof DataTransfer === 'undefined') {\n input.value = '';\n return;\n }\n const transfer = new DataTransfer();\n for (const file of files) transfer.items.add(file);\n input.files = transfer.files;\n}\n\nexport interface DropzoneProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'title'> {\n ref?: React.Ref<HTMLLabelElement>;\n /** Called with the picked or dropped files that pass `accept` and `maxSize`. */\n onFiles?: (files: File[]) => void;\n /** Called with the files that were turned away, and why. */\n onReject?: (rejections: FileRejection[]) => void;\n /** Allowed types, as for `<input accept>`: `\".pdf,image/*\"`. */\n accept?: string;\n multiple?: boolean;\n /** Largest allowed file, in bytes. */\n maxSize?: number;\n /**\n * The current selection. It is kept in the native input, so the files submit\n * with a form and `required` validates. Without it the input is emptied after each pick.\n */\n files?: File[];\n disabled?: boolean;\n invalid?: boolean;\n /** `sm` is a single compact row. */\n size?: 'sm' | 'md';\n icon?: React.ReactNode;\n title?: React.ReactNode;\n /** Secondary line, e.g. the allowed types and size. */\n hint?: React.ReactNode;\n /** Props for the file input (name, id, required, aria-*…). */\n inputProps?: Omit<React.ComponentProps<'input'>, 'ref' | 'type'>;\n}\n\n/** Drop target that also opens the file browser on click, Enter or Space. */\nexport function Dropzone({\n onFiles,\n onReject,\n accept,\n multiple,\n maxSize,\n files,\n disabled,\n invalid,\n size = 'md',\n icon,\n title,\n hint,\n inputProps,\n className,\n children,\n ref,\n ...props\n}: DropzoneProps) {\n const [dragging, setDragging] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n setInputFiles(inputRef.current, files);\n }, [files]);\n\n const take = (list: FileList | null) => {\n const accepted: File[] = [];\n const rejected: FileRejection[] = [];\n for (const file of Array.from(list ?? [])) {\n if (!accepts(file, accept)) rejected.push({ file, reason: 'type' });\n else if (maxSize != null && file.size > maxSize) rejected.push({ file, reason: 'size' });\n else if (!multiple && accepted.length) rejected.push({ file, reason: 'count' });\n else accepted.push(file);\n }\n // Restore the selection (or empty the input, so the same file can be picked again).\n setInputFiles(inputRef.current, files);\n if (accepted.length) onFiles?.(accepted);\n if (rejected.length) onReject?.(rejected);\n };\n\n const hasFiles = (event: React.DragEvent) => event.dataTransfer.types.includes('Files');\n\n return (\n <label\n ref={ref}\n {...props}\n className={cx('oui-dropzone', className)}\n data-size={size}\n data-dragging={dragging ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n data-invalid={invalid ? '' : undefined}\n onDragEnter={(event) => {\n if (!disabled && hasFiles(event)) setDragging(true);\n }}\n onDragOver={(event) => {\n if (hasFiles(event)) event.preventDefault();\n }}\n onDragLeave={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragging(false);\n }}\n onDrop={(event) => {\n if (!hasFiles(event)) return;\n event.preventDefault();\n setDragging(false);\n if (!disabled) take(event.dataTransfer.files);\n }}\n >\n <input\n {...inputProps}\n ref={inputRef}\n type=\"file\"\n className={cx('oui-dropzone__input', inputProps?.className)}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n aria-invalid={invalid || undefined}\n onChange={(event) => take(event.target.files)}\n />\n <span className=\"oui-dropzone__icon\">{icon ?? <UploadIcon />}</span>\n <span className=\"oui-dropzone__text\">\n <span className=\"oui-dropzone__title\">\n {title ?? (multiple ? 'Drop files here or click to browse' : 'Drop a file here or click to browse')}\n </span>\n {hint != null && <span className=\"oui-dropzone__hint\">{hint}</span>}\n </span>\n {children}\n </label>\n );\n}\n\nexport type FileItemStatus = 'idle' | 'uploading' | 'success' | 'error';\n\nexport interface FileItemProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement>;\n name: string;\n /** Size in bytes. */\n size?: number;\n icon?: React.ReactNode;\n status?: FileItemStatus;\n /** Upload progress from 0 to 100, shown while `uploading`. `null` is indeterminate. */\n progress?: number | null;\n /** Message shown in place of the size when `status` is `error`. */\n error?: React.ReactNode;\n /** Adds the remove button. */\n onRemove?: () => void;\n removeLabel?: string;\n /** Extra controls before the remove button (download, preview…). */\n actions?: React.ReactNode;\n /** BCP 47 locale for the size. */\n locale?: string;\n}\n\n/** One file in a list: name, size, upload progress or error, and a remove button. */\nexport function FileItem({\n name,\n size,\n icon,\n status = 'idle',\n progress = null,\n error,\n onRemove,\n removeLabel,\n actions,\n locale,\n className,\n ref,\n ...props\n}: FileItemProps) {\n const uploading = status === 'uploading';\n const meta = [\n size != null && formatFileSize(size, locale),\n uploading && progress != null && `${Math.round(progress)}%`,\n ].filter(Boolean);\n return (\n <div ref={ref} className={cx('oui-file-item', className)} data-status={status} {...props}>\n <span className=\"oui-file-item__icon\">{icon ?? <FileIcon />}</span>\n <div className=\"oui-file-item__body\">\n <span className=\"oui-file-item__name\" title={name}>\n {name}\n </span>\n {status === 'error' && error ? (\n <span className=\"oui-file-item__meta\" role=\"alert\">\n {error}\n </span>\n ) : (\n meta.length > 0 && <span className=\"oui-file-item__meta\">{meta.join(' · ')}</span>\n )}\n {uploading && <Progress size=\"sm\" value={progress} aria-label={name} />}\n </div>\n {status === 'success' && <CircleCheckIcon className=\"oui-file-item__done\" />}\n {actions}\n {onRemove && (\n <IconButton size=\"sm\" aria-label={removeLabel ?? `Remove ${name}`} onClick={onRemove}>\n <XIcon />\n </IconButton>\n )}\n </div>\n );\n}\n\nexport interface FileUploadLabels {\n remove: (name: string) => string;\n}\n\nconst defaultLabels: FileUploadLabels = { remove: (name) => `Remove ${name}` };\n\nconst sameFile = (a: File, b: File) => a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;\n\nexport interface FileUploadProps\n extends Pick<DropzoneProps, 'accept' | 'multiple' | 'maxSize' | 'onReject' | 'size' | 'icon' | 'title' | 'hint'> {\n ref?: React.Ref<HTMLLabelElement>;\n value?: File[];\n defaultValue?: File[];\n onValueChange?: (files: File[]) => void;\n /** Most files allowed when `multiple`. */\n maxFiles?: number;\n /** Upload state of a file, for showing progress and errors in the list. */\n fileState?: (file: File) => Pick<FileItemProps, 'status' | 'progress' | 'error'> | undefined;\n label?: React.ReactNode;\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n required?: boolean;\n disabled?: boolean;\n /** Submits the files with a form under this name. */\n name?: string;\n id?: string;\n className?: string;\n /** BCP 47 locale for file sizes. */\n locale?: string;\n /** Override texts for localisation. */\n labels?: Partial<FileUploadLabels>;\n}\n\n/**\n * File field: a dropzone plus the list of chosen files. It only collects\n * `File` objects; upload them yourself and report progress through `fileState`.\n */\nexport function FileUpload({\n value,\n defaultValue,\n onValueChange,\n accept,\n multiple,\n maxSize,\n maxFiles,\n onReject,\n fileState,\n size,\n icon,\n title,\n hint,\n label,\n description,\n error,\n required,\n disabled,\n name,\n id: idProp,\n className,\n locale,\n labels,\n ref,\n}: FileUploadProps) {\n const text = { ...defaultLabels, ...labels };\n const [inner, setInner] = React.useState(defaultValue ?? []);\n const files = value ?? inner;\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const descriptionId = description != null ? `${id}-description` : null;\n const errorId = error ? `${id}-error` : null;\n const describedBy = cx(descriptionId, errorId) || undefined;\n\n const commit = (next: File[]) => {\n setInner(next);\n onValueChange?.(next);\n };\n\n const add = (added: File[]) => {\n if (!multiple) {\n commit(added.slice(0, 1));\n return;\n }\n const fresh = added.filter((file) => !files.some((existing) => sameFile(existing, file)));\n const room = maxFiles == null ? fresh.length : Math.max(0, maxFiles - files.length);\n if (fresh.length > room) onReject?.(fresh.slice(room).map((file) => ({ file, reason: 'count' })));\n if (room > 0 && fresh.length > 0) commit([...files, ...fresh.slice(0, room)]);\n };\n\n return (\n <div\n className={cx('oui-field', 'oui-file-upload', className)}\n data-disabled={disabled || undefined}\n data-invalid={error ? '' : undefined}\n >\n {label != null && (\n <label htmlFor={id} className=\"oui-field__label\">\n {label}\n {required && (\n <span className=\"oui-field__required\" aria-hidden>\n *\n </span>\n )}\n </label>\n )}\n <Dropzone\n ref={ref}\n files={files}\n onFiles={add}\n onReject={onReject}\n accept={accept}\n multiple={multiple}\n maxSize={maxSize}\n disabled={disabled}\n invalid={Boolean(error)}\n size={size}\n icon={icon}\n title={title}\n hint={hint}\n inputProps={{ id, name, required, 'aria-describedby': describedBy }}\n />\n {files.length > 0 && (\n <ul className=\"oui-file-upload__list\">\n {files.map((file, index) => (\n <li key={`${file.name}-${file.size}-${file.lastModified}`}>\n <FileItem\n name={file.name}\n size={file.size}\n locale={locale}\n removeLabel={text.remove(file.name)}\n onRemove={disabled ? undefined : () => commit(files.filter((_, position) => position !== index))}\n {...fileState?.(file)}\n />\n </li>\n ))}\n </ul>\n )}\n {description != null && (\n <p id={`${id}-description`} className=\"oui-field__description\">\n {description}\n </p>\n )}\n {error && (\n <div id={`${id}-error`} className=\"oui-field__error\">\n {error}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.js","names":["React","cx","CircleCheckIcon","FileIcon","UploadIcon","XIcon","IconButton","Progress","FileRejection","file","File","reason","formatFileSize","bytes","locale","units","value","unit","length","digits","Intl","NumberFormat","maximumFractionDigits","format","accepts","accept","tokens","split","map","token","trim","toLowerCase","filter","Boolean","name","type","some","startsWith","endsWith","slice","setInputFiles","input","HTMLInputElement","files","DataTransfer","transfer","items","add","DropzoneProps","Omit","LabelHTMLAttributes","HTMLLabelElement","ref","Ref","onFiles","onReject","rejections","multiple","maxSize","disabled","invalid","size","icon","ReactNode","title","hint","inputProps","ComponentProps","Dropzone","t0","$","_c","children","className","props","t1","undefined","dragging","setDragging","useState","inputRef","useRef","t2","t3","current","useEffect","t4","list","accepted","rejected","Array","from","push","take","hasFiles","_temp","t5","t6","t7","t8","t9","event_0","event","t10","t11","Symbol","for","event_1","preventDefault","event_2","currentTarget","contains","relatedTarget","Node","t12","event_3","dataTransfer","t13","t14","t15","t16","event_4","target","t17","t18","t19","t20","t21","t22","t23","t24","types","includes","FileItemStatus","FileItemProps","HTMLAttributes","HTMLDivElement","status","progress","error","onRemove","removeLabel","actions","FileItem","uploading","Math","round","meta","join","FileUploadLabels","remove","defaultLabels","sameFile","a","b","lastModified","FileUploadProps","Pick","defaultValue","onValueChange","maxFiles","fileState","label","description","required","id","labels","Partial","FileUpload","idProp","text","inner","setInner","generatedId","useId","descriptionId","errorId","describedBy","next","commit","added","fresh","existing","room","max","_temp2","file_1","index","_","position","file_0","_c"],"sources":["../../../src/components/file-upload/FileUpload.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { CircleCheckIcon, FileIcon, UploadIcon, XIcon } from '../../icons';\nimport { IconButton } from '../button/Button';\nimport { Progress } from '../progress/Progress';\n\nexport interface FileRejection {\n file: File;\n /** `type`: not matched by `accept`. `size`: larger than `maxSize`. `count`: over the file limit. */\n reason: 'type' | 'size' | 'count';\n}\n\n/** `1536` → `\"1.5 KB\"`. */\nexport function formatFileSize(bytes: number, locale?: string): string {\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let value = bytes;\n let unit = 0;\n while (value >= 1024 && unit < units.length - 1) {\n value /= 1024;\n unit += 1;\n }\n const digits = unit > 0 && value < 10 ? 1 : 0;\n return `${new Intl.NumberFormat(locale, { maximumFractionDigits: digits }).format(value)} ${units[unit]}`;\n}\n\n// Dropped files bypass the input's `accept`, so it is checked here too.\nfunction accepts(file: File, accept?: string): boolean {\n const tokens = (accept ?? '')\n .split(',')\n .map((token) => token.trim().toLowerCase())\n .filter(Boolean);\n if (!tokens.length) return true;\n const [name, type] = [file.name.toLowerCase(), file.type.toLowerCase()];\n return tokens.some((token) =>\n token.startsWith('.') ? name.endsWith(token) : token.endsWith('/*') ? type.startsWith(token.slice(0, -1)) : type === token,\n );\n}\n\nfunction setInputFiles(input: HTMLInputElement | null, files: File[] | undefined) {\n if (!input) return;\n if (!files?.length || typeof DataTransfer === 'undefined') {\n input.value = '';\n return;\n }\n const transfer = new DataTransfer();\n for (const file of files) transfer.items.add(file);\n input.files = transfer.files;\n}\n\nexport interface DropzoneProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'title'> {\n /** Ref to the dropzone element. */\n ref?: React.Ref<HTMLLabelElement>;\n /** Called with the picked or dropped files that pass `accept` and `maxSize`. */\n onFiles?: (files: File[]) => void;\n /** Called with the files that were turned away, and why. */\n onReject?: (rejections: FileRejection[]) => void;\n /** Allowed types, as for `<input accept>`: `\".pdf,image/*\"`. */\n accept?: string;\n /** Allow choosing several files. */\n multiple?: boolean;\n /** Largest allowed file, in bytes. */\n maxSize?: number;\n /**\n * The current selection. It is kept in the native input, so the files submit\n * with a form and `required` validates. Without it the input is emptied after each pick.\n */\n files?: File[];\n /** Disables picking and dropping. */\n disabled?: boolean;\n /** Shows the error styling. */\n invalid?: boolean;\n /** `sm` is a single compact row. */\n size?: 'sm' | 'md';\n /** Icon shown before the title. Defaults to an upload icon. */\n icon?: React.ReactNode;\n /** Main line. Defaults to \"Drop files here or click to browse\". */\n title?: React.ReactNode;\n /** Secondary line, e.g. the allowed types and size. */\n hint?: React.ReactNode;\n /** Props for the file input (name, id, required, aria-*…). */\n inputProps?: Omit<React.ComponentProps<'input'>, 'ref' | 'type'>;\n}\n\n/** Drop target that also opens the file browser on click, Enter or Space. */\nexport function Dropzone({\n onFiles,\n onReject,\n accept,\n multiple,\n maxSize,\n files,\n disabled,\n invalid,\n size = 'md',\n icon,\n title,\n hint,\n inputProps,\n className,\n children,\n ref,\n ...props\n}: DropzoneProps) {\n const [dragging, setDragging] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n setInputFiles(inputRef.current, files);\n }, [files]);\n\n const take = (list: FileList | null) => {\n const accepted: File[] = [];\n const rejected: FileRejection[] = [];\n for (const file of Array.from(list ?? [])) {\n if (!accepts(file, accept)) rejected.push({ file, reason: 'type' });\n else if (maxSize != null && file.size > maxSize) rejected.push({ file, reason: 'size' });\n else if (!multiple && accepted.length) rejected.push({ file, reason: 'count' });\n else accepted.push(file);\n }\n // Restore the selection (or empty the input, so the same file can be picked again).\n setInputFiles(inputRef.current, files);\n if (accepted.length) onFiles?.(accepted);\n if (rejected.length) onReject?.(rejected);\n };\n\n const hasFiles = (event: React.DragEvent) => event.dataTransfer.types.includes('Files');\n\n return (\n <label\n ref={ref}\n {...props}\n className={cx('oui-dropzone', className)}\n data-size={size}\n data-dragging={dragging ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n data-invalid={invalid ? '' : undefined}\n onDragEnter={(event) => {\n if (!disabled && hasFiles(event)) setDragging(true);\n }}\n onDragOver={(event) => {\n if (hasFiles(event)) event.preventDefault();\n }}\n onDragLeave={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragging(false);\n }}\n onDrop={(event) => {\n if (!hasFiles(event)) return;\n event.preventDefault();\n setDragging(false);\n if (!disabled) take(event.dataTransfer.files);\n }}\n >\n <input\n {...inputProps}\n ref={inputRef}\n type=\"file\"\n className={cx('oui-dropzone__input', inputProps?.className)}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n aria-invalid={invalid || undefined}\n onChange={(event) => take(event.target.files)}\n />\n <span className=\"oui-dropzone__icon\">{icon ?? <UploadIcon />}</span>\n <span className=\"oui-dropzone__text\">\n <span className=\"oui-dropzone__title\">\n {title ?? (multiple ? 'Drop files here or click to browse' : 'Drop a file here or click to browse')}\n </span>\n {hint != null && <span className=\"oui-dropzone__hint\">{hint}</span>}\n </span>\n {children}\n </label>\n );\n}\n\nexport type FileItemStatus = 'idle' | 'uploading' | 'success' | 'error';\n\nexport interface FileItemProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Ref to the item element. */\n ref?: React.Ref<HTMLDivElement>;\n /** File name. */\n name: string;\n /** Size in bytes. */\n size?: number;\n /** Icon before the name. Defaults to a file icon. */\n icon?: React.ReactNode;\n /** Upload state; sets the progress bar and error styling. */\n status?: FileItemStatus;\n /** Upload progress from 0 to 100, shown while `uploading`. `null` is indeterminate. */\n progress?: number | null;\n /** Message shown in place of the size when `status` is `error`. */\n error?: React.ReactNode;\n /** Adds the remove button. */\n onRemove?: () => void;\n /** Accessible name of the remove button. Defaults to \"Remove {name}\". */\n removeLabel?: string;\n /** Extra controls before the remove button (download, preview…). */\n actions?: React.ReactNode;\n /** BCP 47 locale for the size. */\n locale?: string;\n}\n\n/** One file in a list: name, size, upload progress or error, and a remove button. */\nexport function FileItem({\n name,\n size,\n icon,\n status = 'idle',\n progress = null,\n error,\n onRemove,\n removeLabel,\n actions,\n locale,\n className,\n ref,\n ...props\n}: FileItemProps) {\n const uploading = status === 'uploading';\n const meta = [\n size != null && formatFileSize(size, locale),\n uploading && progress != null && `${Math.round(progress)}%`,\n ].filter(Boolean);\n return (\n <div ref={ref} className={cx('oui-file-item', className)} data-status={status} {...props}>\n <span className=\"oui-file-item__icon\">{icon ?? <FileIcon />}</span>\n <div className=\"oui-file-item__body\">\n <span className=\"oui-file-item__name\" title={name}>\n {name}\n </span>\n {status === 'error' && error ? (\n <span className=\"oui-file-item__meta\" role=\"alert\">\n {error}\n </span>\n ) : (\n meta.length > 0 && <span className=\"oui-file-item__meta\">{meta.join(' · ')}</span>\n )}\n {uploading && <Progress size=\"sm\" value={progress} aria-label={name} />}\n </div>\n {status === 'success' && <CircleCheckIcon className=\"oui-file-item__done\" />}\n {actions}\n {onRemove && (\n <IconButton size=\"sm\" aria-label={removeLabel ?? `Remove ${name}`} onClick={onRemove}>\n <XIcon />\n </IconButton>\n )}\n </div>\n );\n}\n\nexport interface FileUploadLabels {\n remove: (name: string) => string;\n}\n\nconst defaultLabels: FileUploadLabels = { remove: (name) => `Remove ${name}` };\n\nconst sameFile = (a: File, b: File) => a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;\n\nexport interface FileUploadProps\n extends Pick<DropzoneProps, 'accept' | 'multiple' | 'maxSize' | 'onReject' | 'size' | 'icon' | 'title' | 'hint'> {\n /** Ref to the dropzone element. */\n ref?: React.Ref<HTMLLabelElement>;\n /** Chosen files (controlled). */\n value?: File[];\n /** Initially chosen files when uncontrolled. */\n defaultValue?: File[];\n /** Called with the full list of files after a file is added or removed. */\n onValueChange?: (files: File[]) => void;\n /** Most files allowed when `multiple`. */\n maxFiles?: number;\n /** Upload state of a file, for showing progress and errors in the list. */\n fileState?: (file: File) => Pick<FileItemProps, 'status' | 'progress' | 'error'> | undefined;\n /** Visible field label. */\n label?: React.ReactNode;\n /** Help text under the dropzone. */\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n /** Requires at least one file before the form submits. */\n required?: boolean;\n /** Disables picking, dropping and removing files. */\n disabled?: boolean;\n /** Submits the files with a form under this name. */\n name?: string;\n /** Id of the file input. Generated when omitted. */\n id?: string;\n /** Class name for the root element. */\n className?: string;\n /** BCP 47 locale for file sizes. */\n locale?: string;\n /** Override texts for localisation. */\n labels?: Partial<FileUploadLabels>;\n}\n\n/**\n * File field: a dropzone plus the list of chosen files. It only collects\n * `File` objects; upload them yourself and report progress through `fileState`.\n */\nexport function FileUpload({\n value,\n defaultValue,\n onValueChange,\n accept,\n multiple,\n maxSize,\n maxFiles,\n onReject,\n fileState,\n size,\n icon,\n title,\n hint,\n label,\n description,\n error,\n required,\n disabled,\n name,\n id: idProp,\n className,\n locale,\n labels,\n ref,\n}: FileUploadProps) {\n const text = { ...defaultLabels, ...labels };\n const [inner, setInner] = React.useState(defaultValue ?? []);\n const files = value ?? inner;\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const descriptionId = description != null ? `${id}-description` : null;\n const errorId = error ? `${id}-error` : null;\n const describedBy = cx(descriptionId, errorId) || undefined;\n\n const commit = (next: File[]) => {\n setInner(next);\n onValueChange?.(next);\n };\n\n const add = (added: File[]) => {\n if (!multiple) {\n commit(added.slice(0, 1));\n return;\n }\n const fresh = added.filter((file) => !files.some((existing) => sameFile(existing, file)));\n const room = maxFiles == null ? fresh.length : Math.max(0, maxFiles - files.length);\n if (fresh.length > room) onReject?.(fresh.slice(room).map((file) => ({ file, reason: 'count' })));\n if (room > 0 && fresh.length > 0) commit([...files, ...fresh.slice(0, room)]);\n };\n\n return (\n <div\n className={cx('oui-field', 'oui-file-upload', className)}\n data-disabled={disabled || undefined}\n data-invalid={error ? '' : undefined}\n >\n {label != null && (\n <label htmlFor={id} className=\"oui-field__label\">\n {label}\n {required && (\n <span className=\"oui-field__required\" aria-hidden>\n *\n </span>\n )}\n </label>\n )}\n <Dropzone\n ref={ref}\n files={files}\n onFiles={add}\n onReject={onReject}\n accept={accept}\n multiple={multiple}\n maxSize={maxSize}\n disabled={disabled}\n invalid={Boolean(error)}\n size={size}\n icon={icon}\n title={title}\n hint={hint}\n inputProps={{ id, name, required, 'aria-describedby': describedBy }}\n />\n {files.length > 0 && (\n <ul className=\"oui-file-upload__list\">\n {files.map((file, index) => (\n <li key={`${file.name}-${file.size}-${file.lastModified}`}>\n <FileItem\n name={file.name}\n size={file.size}\n locale={locale}\n removeLabel={text.remove(file.name)}\n onRemove={disabled ? undefined : () => commit(files.filter((_, position) => position !== index))}\n {...fileState?.(file)}\n />\n </li>\n ))}\n </ul>\n )}\n {description != null && (\n <p id={`${id}-description`} className=\"oui-field__description\">\n {description}\n </p>\n )}\n {error && (\n <div id={`${id}-error`} className=\"oui-field__error\">\n {error}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -3,17 +3,21 @@ import { Input as BaseInput } from '@base-ui/react/input';
3
3
  import { Field } from '../field/Field';
4
4
  export type ControlSize = 'sm' | 'md' | 'lg';
5
5
  export interface InputProps extends Omit<BaseInput.Props, 'size'> {
6
+ /** Control height. */
6
7
  size?: ControlSize;
7
8
  /** Icon or text rendered inside the box, before the value. */
8
9
  startAdornment?: React.ReactNode;
9
10
  /** Icon, text or button rendered inside the box, after the value. */
10
11
  endAdornment?: React.ReactNode;
11
12
  }
13
+ /** Text input, optionally with `startAdornment` / `endAdornment` inside the box. Use `TextField` for a labelled one. */
12
14
  export declare function Input({ size, startAdornment, endAdornment, className, ref, ...props }: InputProps): React.JSX.Element;
13
15
  export interface PasswordInputProps extends Omit<InputProps, 'type' | 'endAdornment'> {
14
16
  /** Whether the value is shown as plain text. */
15
17
  visible?: boolean;
18
+ /** Initial visibility when uncontrolled. */
16
19
  defaultVisible?: boolean;
20
+ /** Called when the user toggles visibility. */
17
21
  onVisibleChange?: (visible: boolean) => void;
18
22
  /** Accessible name of the show/hide button. */
19
23
  toggleLabel?: string;
@@ -21,10 +25,12 @@ export interface PasswordInputProps extends Omit<InputProps, 'type' | 'endAdornm
21
25
  /** Password input with a button that reveals the value. */
22
26
  export declare function PasswordInput({ visible, defaultVisible, onVisibleChange, toggleLabel, ...props }: PasswordInputProps): React.JSX.Element;
23
27
  export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
28
+ /** Ref to the `<textarea>`. */
24
29
  ref?: React.Ref<HTMLTextAreaElement>;
25
30
  /** Grow with content up to `maxRows` (uses CSS field-sizing where supported). */
26
31
  autoResize?: boolean;
27
32
  }
33
+ /** Multi-line text input. Use `TextareaField` for a labelled one. */
28
34
  export declare function Textarea({ autoResize, className, rows, ref, ...props }: TextareaProps): React.JSX.Element;
29
35
  interface FieldShellProps {
30
36
  label?: React.ReactNode;
@@ -45,5 +51,6 @@ export interface PasswordFieldProps extends PasswordInputProps, FieldShellProps
45
51
  export declare function PasswordField({ label, description, error, required, fieldProps, name, disabled, ref, ...props }: PasswordFieldProps): React.JSX.Element;
46
52
  export interface TextareaFieldProps extends TextareaProps, FieldShellProps {
47
53
  }
54
+ /** Labelled textarea with description and error message. */
48
55
  export declare function TextareaField({ label, description, error, required, fieldProps, name, disabled, ref, ...props }: TextareaFieldProps): React.JSX.Element;
49
56
  export {};
@@ -9,6 +9,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { Field } from "@base-ui/react/field";
10
10
  import { Input } from "@base-ui/react/input";
11
11
  //#region src/components/input/Input.tsx
12
+ /** Text input, optionally with `startAdornment` / `endAdornment` inside the box. Use `TextField` for a labelled one. */
12
13
  function Input$1(t0) {
13
14
  const $ = c(25);
14
15
  let className;
@@ -178,6 +179,7 @@ function PasswordInput(t0) {
178
179
  } else t7 = $[20];
179
180
  return t7;
180
181
  }
182
+ /** Multi-line text input. Use `TextareaField` for a labelled one. */
181
183
  function Textarea(t0) {
182
184
  const $ = c(16);
183
185
  let autoResize;
@@ -434,6 +436,7 @@ function PasswordField(t0) {
434
436
  } else t6 = $[30];
435
437
  return t6;
436
438
  }
439
+ /** Labelled textarea with description and error message. */
437
440
  function TextareaField(t0) {
438
441
  const $ = c(30);
439
442
  let description;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["React","Input","BaseInput","Field","BaseField","cx","withClass","IconButton","EyeIcon","EyeOffIcon","ControlSize","InputProps","Omit","Props","size","startAdornment","ReactNode","endAdornment","t0","$","_c","className","props","ref","t1","undefined","grouped","t2","t3","t4","input","t5","disabled","t6","t7","t8","PasswordInputProps","visible","defaultVisible","onVisibleChange","toggleLabel","PasswordInput","inner","setInner","useState","shown","TextareaProps","TextareaHTMLAttributes","HTMLTextAreaElement","Ref","autoResize","Textarea","rows","HTMLInputElement","Control","FieldShellProps","label","description","error","required","fieldProps","ComponentProps","Root","TextFieldProps","TextField","name","PasswordFieldProps","PasswordField","TextareaFieldProps","TextareaField","Input","_c","BaseInput","BaseField","Field"],"sources":["../../../src/components/input/Input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input as BaseInput } from '@base-ui/react/input';\nimport { Field as BaseField } from '@base-ui/react/field';\nimport { cx, withClass } from '../../utils/cx';\nimport { Field } from '../field/Field';\nimport { IconButton } from '../button/Button';\nimport { EyeIcon, EyeOffIcon } from '../../icons';\n\nexport type ControlSize = 'sm' | 'md' | 'lg';\n\nexport interface InputProps extends Omit<BaseInput.Props, 'size'> {\n size?: ControlSize;\n /** Icon or text rendered inside the box, before the value. */\n startAdornment?: React.ReactNode;\n /** Icon, text or button rendered inside the box, after the value. */\n endAdornment?: React.ReactNode;\n}\n\nexport function Input({ size = 'md', startAdornment, endAdornment, className, ref, ...props }: InputProps) {\n const grouped = startAdornment != null || endAdornment != null;\n const input = (\n <BaseInput\n ref={ref}\n className={withClass('oui-input', className)}\n data-size={size}\n data-grouped={grouped || undefined}\n {...props}\n />\n );\n if (!grouped) return input;\n return (\n <span className=\"oui-input-group\" data-size={size} data-disabled={props.disabled || undefined}>\n {startAdornment != null && <span className=\"oui-input-group__adornment\">{startAdornment}</span>}\n {input}\n {endAdornment != null && <span className=\"oui-input-group__adornment\">{endAdornment}</span>}\n </span>\n );\n}\n\nexport interface PasswordInputProps extends Omit<InputProps, 'type' | 'endAdornment'> {\n /** Whether the value is shown as plain text. */\n visible?: boolean;\n defaultVisible?: boolean;\n onVisibleChange?: (visible: boolean) => void;\n /** Accessible name of the show/hide button. */\n toggleLabel?: string;\n}\n\n/** Password input with a button that reveals the value. */\nexport function PasswordInput({\n visible,\n defaultVisible = false,\n onVisibleChange,\n toggleLabel = 'Show password',\n ...props\n}: PasswordInputProps) {\n const [inner, setInner] = React.useState(defaultVisible);\n const shown = visible ?? inner;\n return (\n <Input\n autoCapitalize=\"off\"\n spellCheck={false}\n {...props}\n type={shown ? 'text' : 'password'}\n endAdornment={\n <IconButton\n size=\"sm\"\n aria-label={toggleLabel}\n aria-pressed={shown}\n disabled={props.disabled}\n onClick={() => {\n setInner(!shown);\n onVisibleChange?.(!shown);\n }}\n >\n {shown ? <EyeOffIcon /> : <EyeIcon />}\n </IconButton>\n }\n />\n );\n}\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n ref?: React.Ref<HTMLTextAreaElement>;\n /** Grow with content up to `maxRows` (uses CSS field-sizing where supported). */\n autoResize?: boolean;\n}\n\nexport function Textarea({ autoResize, className, rows = 3, ref, ...props }: TextareaProps) {\n // Field.Control wires the textarea into Field labelling and validation.\n return (\n <BaseField.Control\n ref={ref as unknown as React.Ref<HTMLInputElement>}\n render={<textarea rows={rows} />}\n className={cx('oui-input', 'oui-textarea', className)}\n data-auto-resize={autoResize || undefined}\n {...(props as unknown as BaseField.Control.Props)}\n />\n );\n}\n\ninterface FieldShellProps {\n label?: React.ReactNode;\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n required?: boolean;\n /** Props for the wrapping Field.Root. */\n fieldProps?: Omit<React.ComponentProps<typeof Field.Root>, 'children'>;\n}\n\nexport interface TextFieldProps extends InputProps, FieldShellProps {}\n\n/** Labelled input with description and error message. */\nexport function TextField({\n label,\n description,\n error,\n required,\n fieldProps,\n name,\n disabled,\n ref,\n ...props\n}: TextFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined} {...fieldProps}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <Input ref={ref} required={required} {...props} />\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n\nexport interface PasswordFieldProps extends PasswordInputProps, FieldShellProps {}\n\n/** Labelled password input with description and error message. */\nexport function PasswordField({\n label,\n description,\n error,\n required,\n fieldProps,\n name,\n disabled,\n ref,\n ...props\n}: PasswordFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined} {...fieldProps}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <PasswordInput ref={ref} required={required} disabled={disabled} {...props} />\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n\nexport interface TextareaFieldProps extends TextareaProps, FieldShellProps {}\n\nexport function TextareaField({\n label,\n description,\n error,\n required,\n fieldProps,\n name,\n disabled,\n ref,\n ...props\n}: TextareaFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined} {...fieldProps}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <Textarea ref={ref} required={required} {...props} />\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","names":["React","Input","BaseInput","Field","BaseField","cx","withClass","IconButton","EyeIcon","EyeOffIcon","ControlSize","InputProps","Omit","Props","size","startAdornment","ReactNode","endAdornment","t0","$","_c","className","props","ref","t1","undefined","grouped","t2","t3","t4","input","t5","disabled","t6","t7","t8","PasswordInputProps","visible","defaultVisible","onVisibleChange","toggleLabel","PasswordInput","inner","setInner","useState","shown","TextareaProps","TextareaHTMLAttributes","HTMLTextAreaElement","Ref","autoResize","Textarea","rows","HTMLInputElement","Control","FieldShellProps","label","description","error","required","fieldProps","ComponentProps","Root","TextFieldProps","TextField","name","PasswordFieldProps","PasswordField","TextareaFieldProps","TextareaField","Input","_c","BaseInput","BaseField","Field"],"sources":["../../../src/components/input/Input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input as BaseInput } from '@base-ui/react/input';\nimport { Field as BaseField } from '@base-ui/react/field';\nimport { cx, withClass } from '../../utils/cx';\nimport { Field } from '../field/Field';\nimport { IconButton } from '../button/Button';\nimport { EyeIcon, EyeOffIcon } from '../../icons';\n\nexport type ControlSize = 'sm' | 'md' | 'lg';\n\nexport interface InputProps extends Omit<BaseInput.Props, 'size'> {\n /** Control height. */\n size?: ControlSize;\n /** Icon or text rendered inside the box, before the value. */\n startAdornment?: React.ReactNode;\n /** Icon, text or button rendered inside the box, after the value. */\n endAdornment?: React.ReactNode;\n}\n\n/** Text input, optionally with `startAdornment` / `endAdornment` inside the box. Use `TextField` for a labelled one. */\nexport function Input({ size = 'md', startAdornment, endAdornment, className, ref, ...props }: InputProps) {\n const grouped = startAdornment != null || endAdornment != null;\n const input = (\n <BaseInput\n ref={ref}\n className={withClass('oui-input', className)}\n data-size={size}\n data-grouped={grouped || undefined}\n {...props}\n />\n );\n if (!grouped) return input;\n return (\n <span className=\"oui-input-group\" data-size={size} data-disabled={props.disabled || undefined}>\n {startAdornment != null && <span className=\"oui-input-group__adornment\">{startAdornment}</span>}\n {input}\n {endAdornment != null && <span className=\"oui-input-group__adornment\">{endAdornment}</span>}\n </span>\n );\n}\n\nexport interface PasswordInputProps extends Omit<InputProps, 'type' | 'endAdornment'> {\n /** Whether the value is shown as plain text. */\n visible?: boolean;\n /** Initial visibility when uncontrolled. */\n defaultVisible?: boolean;\n /** Called when the user toggles visibility. */\n onVisibleChange?: (visible: boolean) => void;\n /** Accessible name of the show/hide button. */\n toggleLabel?: string;\n}\n\n/** Password input with a button that reveals the value. */\nexport function PasswordInput({\n visible,\n defaultVisible = false,\n onVisibleChange,\n toggleLabel = 'Show password',\n ...props\n}: PasswordInputProps) {\n const [inner, setInner] = React.useState(defaultVisible);\n const shown = visible ?? inner;\n return (\n <Input\n autoCapitalize=\"off\"\n spellCheck={false}\n {...props}\n type={shown ? 'text' : 'password'}\n endAdornment={\n <IconButton\n size=\"sm\"\n aria-label={toggleLabel}\n aria-pressed={shown}\n disabled={props.disabled}\n onClick={() => {\n setInner(!shown);\n onVisibleChange?.(!shown);\n }}\n >\n {shown ? <EyeOffIcon /> : <EyeIcon />}\n </IconButton>\n }\n />\n );\n}\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Ref to the `<textarea>`. */\n ref?: React.Ref<HTMLTextAreaElement>;\n /** Grow with content up to `maxRows` (uses CSS field-sizing where supported). */\n autoResize?: boolean;\n}\n\n/** Multi-line text input. Use `TextareaField` for a labelled one. */\nexport function Textarea({ autoResize, className, rows = 3, ref, ...props }: TextareaProps) {\n // Field.Control wires the textarea into Field labelling and validation.\n return (\n <BaseField.Control\n ref={ref as unknown as React.Ref<HTMLInputElement>}\n render={<textarea rows={rows} />}\n className={cx('oui-input', 'oui-textarea', className)}\n data-auto-resize={autoResize || undefined}\n {...(props as unknown as BaseField.Control.Props)}\n />\n );\n}\n\ninterface FieldShellProps {\n label?: React.ReactNode;\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n required?: boolean;\n /** Props for the wrapping Field.Root. */\n fieldProps?: Omit<React.ComponentProps<typeof Field.Root>, 'children'>;\n}\n\nexport interface TextFieldProps extends InputProps, FieldShellProps {}\n\n/** Labelled input with description and error message. */\nexport function TextField({\n label,\n description,\n error,\n required,\n fieldProps,\n name,\n disabled,\n ref,\n ...props\n}: TextFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined} {...fieldProps}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <Input ref={ref} required={required} {...props} />\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n\nexport interface PasswordFieldProps extends PasswordInputProps, FieldShellProps {}\n\n/** Labelled password input with description and error message. */\nexport function PasswordField({\n label,\n description,\n error,\n required,\n fieldProps,\n name,\n disabled,\n ref,\n ...props\n}: PasswordFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined} {...fieldProps}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <PasswordInput ref={ref} required={required} disabled={disabled} {...props} />\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n\nexport interface TextareaFieldProps extends TextareaProps, FieldShellProps {}\n\n/** Labelled textarea with description and error message. */\nexport function TextareaField({\n label,\n description,\n error,\n required,\n fieldProps,\n name,\n disabled,\n ref,\n ...props\n}: TextareaFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined} {...fieldProps}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <Textarea ref={ref} required={required} {...props} />\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ export type LinkState = {
9
9
  export interface LinkProps extends useRender.ComponentProps<'a', LinkState> {
10
10
  /** `inherit` takes the color of the surrounding text. */
11
11
  tone?: LinkTone;
12
+ /** When the underline shows. */
12
13
  underline?: LinkUnderline;
13
14
  /** Opens in a new tab, with a trailing icon. */
14
15
  external?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","names":["useRender","mergeProps","ExternalLinkIcon","LinkTone","LinkUnderline","LinkState","tone","underline","external","LinkProps","ComponentProps","Link","t0","$","_c","t1","t2","t3","t4","t5","t6","t7","t8","t9","render","children","ref","props","undefined","t10","state","t11","className","target","rel","defaultTagName","_c","_Fragment"],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["import { useRender } from '@base-ui/react/use-render';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { ExternalLinkIcon } from '../../icons';\n\nexport type LinkTone = 'accent' | 'muted' | 'inherit';\nexport type LinkUnderline = 'always' | 'hover' | 'none';\n\nexport type LinkState = { tone: LinkTone; underline: LinkUnderline; external: boolean };\n\nexport interface LinkProps extends useRender.ComponentProps<'a', LinkState> {\n /** `inherit` takes the color of the surrounding text. */\n tone?: LinkTone;\n underline?: LinkUnderline;\n /** Opens in a new tab, with a trailing icon. */\n external?: boolean;\n}\n\n/** Text link. Pass a router link through `render`: `<Link render={<NavLink to=\"/fleet\" />}>`. */\nexport function Link({\n tone = 'accent',\n underline = 'always',\n external = false,\n render,\n children,\n ref,\n ...props\n}: LinkProps) {\n const state: LinkState = { tone, underline, external };\n return useRender({\n defaultTagName: 'a',\n render,\n ref,\n state,\n props: mergeProps<'a'>(\n {\n className: 'oui-link',\n ...(external && { target: '_blank', rel: 'noopener noreferrer' }),\n children: external ? (\n <>\n {children}\n <ExternalLinkIcon className=\"oui-link__icon\" />\n </>\n ) : (\n children\n ),\n },\n props,\n ),\n });\n}\n"],"mappings":";;;;;;;;AAkBA,SAAOW,KAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAP,EAAA,OAAAD,IAAA;EAAc,MAAA,EAAAN,MAAAe,IAAAd,WAAAe,IAAAd,UAAAe,IAAAC,QAAAC,UAAAC,KAAA,GAAAC,UAAAf;EACnB,MAAAN,OAAAe,OAAAO,KAAAA,IAAA,WAAAP;EACA,MAAAd,YAAAe,OAAAM,KAAAA,IAAA,WAAAN;EACA,MAAAd,WAAAe,OAAAK,KAAAA,IAAA,QAAAL;EAAgB,IAAAM;EAAA,IAAAhB,EAAA,OAAAL,YAAAK,EAAA,OAAAP,QAAAO,EAAA,OAAAN,WAAA;GAMSsB,MAAA;IAAAvB;IAAAC;IAAAC;GAA4B;GAACK,EAAA,KAAAL;GAAAK,EAAA,KAAAP;GAAAO,EAAA,KAAAN;GAAAM,EAAA,MAAAgB;EAAA,OAAAA,MAAAhB,EAAA;EAAtD,MAAAiB,QAAyBD;EAClB7B,KAAAA;EACWe,KAAA;EAChBS,KAAAA;EACAE,KAAAA;EACAI,KAAAA;EAAK,IAAAC;EAAA,IAAAlB,EAAA,QAAAY,YAAAZ,EAAA,QAAAL,UAAA;GAKSuB,MAAAvB,WAAA,qBAAA6B,UAAA,EAAA,UAAA,CAELZ,UACD,oBAAC,kBAAD,EAA4B,WAAA,iBAAgB,CAAA,CAAG,EAAA,CAAA,IAHzCA;GAOTZ,EAAA,MAAAY;GAAAZ,EAAA,MAAAL;GAAAK,EAAA,MAAAkB;EAAA,OAAAA,MAAAlB,EAAA;EAXEM,KAAAlB,WACL;GAAA+B,WACa;GAAU,GACjBxB,YAAA;IAAAyB,QAAsB;IAAQC,KAAO;GAAsB;GAACT,UACtDM;EAQZ,GACAJ,KACF;EAACd,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAA;EAAAL,KAAAF,EAAA;EAAAG,KAAAH,EAAA;EAAAI,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;EAAAM,KAAAN,EAAA;EAAAO,KAAAP,EAAA;CAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,QAAAE,MAAAF,EAAA,QAAAG,MAAAH,EAAA,QAAAI,MAAAJ,EAAA,QAAAK,MAAAL,EAAA,QAAAM,IAAA;EAnBcE,KAAA;GAAAc,gBACCpB;GAAGS,QACnBA;GAAME,KACNA;GAAGI,OACHA;GAAKH,OACER;EAeT;EAACN,EAAA,MAAAE;EAAAF,EAAA,MAAAG;EAAAH,EAAA,MAAAI;EAAAJ,EAAA,MAAAK;EAAAL,EAAA,MAAAM;EAAAN,EAAA,MAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OApBMb,GAAUqB,EAoBhB;AAAC"}
1
+ {"version":3,"file":"Link.js","names":["useRender","mergeProps","ExternalLinkIcon","LinkTone","LinkUnderline","LinkState","tone","underline","external","LinkProps","ComponentProps","Link","t0","$","_c","t1","t2","t3","t4","t5","t6","t7","t8","t9","render","children","ref","props","undefined","t10","state","t11","className","target","rel","defaultTagName","_c","_Fragment"],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["import { useRender } from '@base-ui/react/use-render';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { ExternalLinkIcon } from '../../icons';\n\nexport type LinkTone = 'accent' | 'muted' | 'inherit';\nexport type LinkUnderline = 'always' | 'hover' | 'none';\n\nexport type LinkState = { tone: LinkTone; underline: LinkUnderline; external: boolean };\n\nexport interface LinkProps extends useRender.ComponentProps<'a', LinkState> {\n /** `inherit` takes the color of the surrounding text. */\n tone?: LinkTone;\n /** When the underline shows. */\n underline?: LinkUnderline;\n /** Opens in a new tab, with a trailing icon. */\n external?: boolean;\n}\n\n/** Text link. Pass a router link through `render`: `<Link render={<NavLink to=\"/fleet\" />}>`. */\nexport function Link({\n tone = 'accent',\n underline = 'always',\n external = false,\n render,\n children,\n ref,\n ...props\n}: LinkProps) {\n const state: LinkState = { tone, underline, external };\n return useRender({\n defaultTagName: 'a',\n render,\n ref,\n state,\n props: mergeProps<'a'>(\n {\n className: 'oui-link',\n ...(external && { target: '_blank', rel: 'noopener noreferrer' }),\n children: external ? (\n <>\n {children}\n <ExternalLinkIcon className=\"oui-link__icon\" />\n </>\n ) : (\n children\n ),\n },\n props,\n ),\n });\n}\n"],"mappings":";;;;;;;;AAmBA,SAAOW,KAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAP,EAAA,OAAAD,IAAA;EAAc,MAAA,EAAAN,MAAAe,IAAAd,WAAAe,IAAAd,UAAAe,IAAAC,QAAAC,UAAAC,KAAA,GAAAC,UAAAf;EACnB,MAAAN,OAAAe,OAAAO,KAAAA,IAAA,WAAAP;EACA,MAAAd,YAAAe,OAAAM,KAAAA,IAAA,WAAAN;EACA,MAAAd,WAAAe,OAAAK,KAAAA,IAAA,QAAAL;EAAgB,IAAAM;EAAA,IAAAhB,EAAA,OAAAL,YAAAK,EAAA,OAAAP,QAAAO,EAAA,OAAAN,WAAA;GAMSsB,MAAA;IAAAvB;IAAAC;IAAAC;GAA4B;GAACK,EAAA,KAAAL;GAAAK,EAAA,KAAAP;GAAAO,EAAA,KAAAN;GAAAM,EAAA,MAAAgB;EAAA,OAAAA,MAAAhB,EAAA;EAAtD,MAAAiB,QAAyBD;EAClB7B,KAAAA;EACWe,KAAA;EAChBS,KAAAA;EACAE,KAAAA;EACAI,KAAAA;EAAK,IAAAC;EAAA,IAAAlB,EAAA,QAAAY,YAAAZ,EAAA,QAAAL,UAAA;GAKSuB,MAAAvB,WAAA,qBAAA6B,UAAA,EAAA,UAAA,CAELZ,UACD,oBAAC,kBAAD,EAA4B,WAAA,iBAAgB,CAAA,CAAG,EAAA,CAAA,IAHzCA;GAOTZ,EAAA,MAAAY;GAAAZ,EAAA,MAAAL;GAAAK,EAAA,MAAAkB;EAAA,OAAAA,MAAAlB,EAAA;EAXEM,KAAAlB,WACL;GAAA+B,WACa;GAAU,GACjBxB,YAAA;IAAAyB,QAAsB;IAAQC,KAAO;GAAsB;GAACT,UACtDM;EAQZ,GACAJ,KACF;EAACd,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAA;EAAAL,KAAAF,EAAA;EAAAG,KAAAH,EAAA;EAAAI,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;EAAAM,KAAAN,EAAA;EAAAO,KAAAP,EAAA;CAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,QAAAE,MAAAF,EAAA,QAAAG,MAAAH,EAAA,QAAAI,MAAAJ,EAAA,QAAAK,MAAAL,EAAA,QAAAM,IAAA;EAnBcE,KAAA;GAAAc,gBACCpB;GAAGS,QACnBA;GAAME,KACNA;GAAGI,OACHA;GAAKH,OACER;EAeT;EAACN,EAAA,MAAAE;EAAAF,EAAA,MAAAG;EAAAH,EAAA,MAAAI;EAAAJ,EAAA,MAAAK;EAAAL,EAAA,MAAAM;EAAAN,EAAA,MAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OApBMb,GAAUqB,EAoBhB;AAAC"}
@@ -2,14 +2,20 @@ import * as React from 'react';
2
2
  import { Menu as BaseMenu } from '@base-ui/react/menu';
3
3
  import { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';
4
4
  export interface MenuContentProps extends BaseMenu.Popup.Props {
5
+ /** Which side of the trigger the menu opens on. */
5
6
  side?: BaseMenu.Positioner.Props['side'];
7
+ /** Alignment along that side. */
6
8
  align?: BaseMenu.Positioner.Props['align'];
9
+ /** Distance from the trigger in px. */
7
10
  sideOffset?: BaseMenu.Positioner.Props['sideOffset'];
11
+ /** Shift along the alignment axis in px. */
8
12
  alignOffset?: BaseMenu.Positioner.Props['alignOffset'];
13
+ /** Props for the positioner element that places the popup. */
9
14
  positionerProps?: BaseMenu.Positioner.Props;
10
15
  }
11
16
  declare function MenuContent({ side, align, sideOffset, alignOffset, positionerProps, className, ref, ...props }: MenuContentProps): React.JSX.Element;
12
17
  export interface ContextMenuContentProps extends BaseContextMenu.Popup.Props {
18
+ /** Props for the positioner element that places the popup. */
13
19
  positionerProps?: BaseContextMenu.Positioner.Props;
14
20
  }
15
21
  declare function ContextMenuContent({ positionerProps, className, ref, ...props }: ContextMenuContentProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","Menu","BaseMenu","ContextMenu","BaseContextMenu","withClass","usePortalContainer","CheckIcon","ChevronRightIcon","MenuContentProps","Popup","Props","side","Positioner","align","sideOffset","alignOffset","positionerProps","MenuContent","t0","$","_c","className","props","ref","t1","t2","undefined","container","t3","t4","t5","t6","ContextMenuContentProps","ContextMenuContent","ItemExtras","icon","ReactNode","shortcut","danger","ItemInner","children","MenuItemProps","Item","MenuItem","MenuLinkItemProps","LinkItem","Omit","MenuLinkItem","MenuCheckboxItemProps","CheckboxItem","MenuCheckboxItem","Symbol","for","MenuRadioGroup","RadioGroup","MenuRadioItemProps","RadioItem","MenuRadioItem","MenuSeparator","MenuGroupLabel","MenuSubmenuTriggerProps","SubmenuTrigger","MenuSubmenuTrigger","Root","Trigger","Content","Group","GroupLabel","Separator","SubmenuRoot","_c","BaseMenu","BaseContextMenu","_Fragment","Menu","ContextMenu"],"sources":["../../../src/components/menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Menu as BaseMenu } from '@base-ui/react/menu';\nimport { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';\nimport { withClass } from '../../utils/cx';\nimport { usePortalContainer } from '../../utils/portal';\nimport { CheckIcon, ChevronRightIcon } from '../../icons';\n\nexport interface MenuContentProps extends BaseMenu.Popup.Props {\n side?: BaseMenu.Positioner.Props['side'];\n align?: BaseMenu.Positioner.Props['align'];\n sideOffset?: BaseMenu.Positioner.Props['sideOffset'];\n alignOffset?: BaseMenu.Positioner.Props['alignOffset'];\n positionerProps?: BaseMenu.Positioner.Props;\n}\n\nfunction MenuContent({\n side,\n align = 'start',\n sideOffset = 6,\n alignOffset,\n positionerProps,\n className,\n ref,\n ...props\n}: MenuContentProps) {\n const container = usePortalContainer();\n return (\n <BaseMenu.Portal container={container}>\n <BaseMenu.Positioner\n className=\"oui-menu__positioner\"\n side={side}\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n {...positionerProps}\n >\n <BaseMenu.Popup ref={ref} className={withClass('oui-menu', className)} {...props} />\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n}\n\nexport interface ContextMenuContentProps extends BaseContextMenu.Popup.Props {\n positionerProps?: BaseContextMenu.Positioner.Props;\n}\n\n// Opens at the pointer; a submenu's content opens beside its trigger.\nfunction ContextMenuContent({ positionerProps, className, ref, ...props }: ContextMenuContentProps) {\n const container = usePortalContainer();\n return (\n <BaseContextMenu.Portal container={container}>\n <BaseContextMenu.Positioner className=\"oui-menu__positioner\" {...positionerProps}>\n <BaseContextMenu.Popup ref={ref} className={withClass('oui-menu', className)} {...props} />\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n );\n}\n\ninterface ItemExtras {\n /** Leading icon. */\n icon?: React.ReactNode;\n /** Trailing hint, e.g. a keyboard shortcut. */\n shortcut?: React.ReactNode;\n /** Destructive styling. */\n danger?: boolean;\n}\n\nfunction ItemInner({ icon, shortcut, children }: ItemExtras & { children?: React.ReactNode }) {\n return (\n <>\n {icon && <span className=\"oui-menu__item-icon\">{icon}</span>}\n <span className=\"oui-menu__item-label\">{children}</span>\n {shortcut && <span className=\"oui-menu__shortcut\">{shortcut}</span>}\n </>\n );\n}\n\nexport interface MenuItemProps extends BaseMenu.Item.Props, ItemExtras {}\n\nfunction MenuItem({ icon, shortcut, danger, className, children, ref, ...props }: MenuItemProps) {\n return (\n <BaseMenu.Item ref={ref} className={withClass('oui-menu__item', className)} data-danger={danger || undefined} {...props}>\n <ItemInner icon={icon} shortcut={shortcut}>\n {children}\n </ItemInner>\n </BaseMenu.Item>\n );\n}\n\nexport interface MenuLinkItemProps extends BaseMenu.LinkItem.Props, Omit<ItemExtras, 'danger'> {}\n\nfunction MenuLinkItem({ icon, shortcut, className, children, ref, ...props }: MenuLinkItemProps) {\n return (\n <BaseMenu.LinkItem ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <ItemInner icon={icon} shortcut={shortcut}>\n {children}\n </ItemInner>\n </BaseMenu.LinkItem>\n );\n}\n\nexport interface MenuCheckboxItemProps extends BaseMenu.CheckboxItem.Props, Omit<ItemExtras, 'icon' | 'danger'> {}\n\nfunction MenuCheckboxItem({ shortcut, className, children, ref, ...props }: MenuCheckboxItemProps) {\n return (\n <BaseMenu.CheckboxItem ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <span className=\"oui-menu__item-icon\">\n <BaseMenu.CheckboxItemIndicator className=\"oui-menu__indicator\">\n <CheckIcon />\n </BaseMenu.CheckboxItemIndicator>\n </span>\n <ItemInner shortcut={shortcut}>{children}</ItemInner>\n </BaseMenu.CheckboxItem>\n );\n}\n\nconst MenuRadioGroup = BaseMenu.RadioGroup;\n\nexport interface MenuRadioItemProps extends BaseMenu.RadioItem.Props, Omit<ItemExtras, 'icon' | 'danger'> {}\n\nfunction MenuRadioItem({ shortcut, className, children, ref, ...props }: MenuRadioItemProps) {\n return (\n <BaseMenu.RadioItem ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <span className=\"oui-menu__item-icon\">\n <BaseMenu.RadioItemIndicator className=\"oui-menu__indicator oui-menu__indicator--radio\" />\n </span>\n <ItemInner shortcut={shortcut}>{children}</ItemInner>\n </BaseMenu.RadioItem>\n );\n}\n\nfunction MenuSeparator({ className, ref, ...props }: BaseMenu.Separator.Props) {\n return <BaseMenu.Separator ref={ref} className={withClass('oui-menu__separator', className)} {...props} />;\n}\n\nfunction MenuGroupLabel({ className, ref, ...props }: BaseMenu.GroupLabel.Props) {\n return <BaseMenu.GroupLabel ref={ref} className={withClass('oui-menu__group-label', className)} {...props} />;\n}\n\nexport interface MenuSubmenuTriggerProps extends BaseMenu.SubmenuTrigger.Props, Omit<ItemExtras, 'shortcut' | 'danger'> {}\n\nfunction MenuSubmenuTrigger({ icon, className, children, ref, ...props }: MenuSubmenuTriggerProps) {\n return (\n <BaseMenu.SubmenuTrigger ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <ItemInner icon={icon} shortcut={<ChevronRightIcon />}>\n {children}\n </ItemInner>\n </BaseMenu.SubmenuTrigger>\n );\n}\n\n/**\n * Dropdown menu of actions. Compose `Menu.Root` › `Menu.Trigger` + `Menu.Content` › items.\n * For nested menus use `Menu.SubmenuRoot` › `Menu.SubmenuTrigger` + `Menu.Content`.\n */\nexport const Menu = {\n Root: BaseMenu.Root,\n Trigger: BaseMenu.Trigger,\n Content: MenuContent,\n Item: MenuItem,\n LinkItem: MenuLinkItem,\n CheckboxItem: MenuCheckboxItem,\n RadioGroup: MenuRadioGroup,\n RadioItem: MenuRadioItem,\n Group: BaseMenu.Group,\n GroupLabel: MenuGroupLabel,\n Separator: MenuSeparator,\n SubmenuRoot: BaseMenu.SubmenuRoot,\n SubmenuTrigger: MenuSubmenuTrigger,\n};\n\n/**\n * Menu opened by right click or long press on `ContextMenu.Trigger`, which wraps\n * the target area. The item parts are the same as `Menu`'s.\n */\nexport const ContextMenu = {\n ...Menu,\n Root: BaseContextMenu.Root,\n Trigger: BaseContextMenu.Trigger,\n Content: ContextMenuContent,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["React","Menu","BaseMenu","ContextMenu","BaseContextMenu","withClass","usePortalContainer","CheckIcon","ChevronRightIcon","MenuContentProps","Popup","Props","side","Positioner","align","sideOffset","alignOffset","positionerProps","MenuContent","t0","$","_c","className","props","ref","t1","t2","undefined","container","t3","t4","t5","t6","ContextMenuContentProps","ContextMenuContent","ItemExtras","icon","ReactNode","shortcut","danger","ItemInner","children","MenuItemProps","Item","MenuItem","MenuLinkItemProps","LinkItem","Omit","MenuLinkItem","MenuCheckboxItemProps","CheckboxItem","MenuCheckboxItem","Symbol","for","MenuRadioGroup","RadioGroup","MenuRadioItemProps","RadioItem","MenuRadioItem","MenuSeparator","MenuGroupLabel","MenuSubmenuTriggerProps","SubmenuTrigger","MenuSubmenuTrigger","Root","Trigger","Content","Group","GroupLabel","Separator","SubmenuRoot","_c","BaseMenu","BaseContextMenu","_Fragment","Menu","ContextMenu"],"sources":["../../../src/components/menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Menu as BaseMenu } from '@base-ui/react/menu';\nimport { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';\nimport { withClass } from '../../utils/cx';\nimport { usePortalContainer } from '../../utils/portal';\nimport { CheckIcon, ChevronRightIcon } from '../../icons';\n\nexport interface MenuContentProps extends BaseMenu.Popup.Props {\n /** Which side of the trigger the menu opens on. */\n side?: BaseMenu.Positioner.Props['side'];\n /** Alignment along that side. */\n align?: BaseMenu.Positioner.Props['align'];\n /** Distance from the trigger in px. */\n sideOffset?: BaseMenu.Positioner.Props['sideOffset'];\n /** Shift along the alignment axis in px. */\n alignOffset?: BaseMenu.Positioner.Props['alignOffset'];\n /** Props for the positioner element that places the popup. */\n positionerProps?: BaseMenu.Positioner.Props;\n}\n\nfunction MenuContent({\n side,\n align = 'start',\n sideOffset = 6,\n alignOffset,\n positionerProps,\n className,\n ref,\n ...props\n}: MenuContentProps) {\n const container = usePortalContainer();\n return (\n <BaseMenu.Portal container={container}>\n <BaseMenu.Positioner\n className=\"oui-menu__positioner\"\n side={side}\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n {...positionerProps}\n >\n <BaseMenu.Popup ref={ref} className={withClass('oui-menu', className)} {...props} />\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n}\n\nexport interface ContextMenuContentProps extends BaseContextMenu.Popup.Props {\n /** Props for the positioner element that places the popup. */\n positionerProps?: BaseContextMenu.Positioner.Props;\n}\n\n// Opens at the pointer; a submenu's content opens beside its trigger.\nfunction ContextMenuContent({ positionerProps, className, ref, ...props }: ContextMenuContentProps) {\n const container = usePortalContainer();\n return (\n <BaseContextMenu.Portal container={container}>\n <BaseContextMenu.Positioner className=\"oui-menu__positioner\" {...positionerProps}>\n <BaseContextMenu.Popup ref={ref} className={withClass('oui-menu', className)} {...props} />\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n );\n}\n\ninterface ItemExtras {\n /** Leading icon. */\n icon?: React.ReactNode;\n /** Trailing hint, e.g. a keyboard shortcut. */\n shortcut?: React.ReactNode;\n /** Destructive styling. */\n danger?: boolean;\n}\n\nfunction ItemInner({ icon, shortcut, children }: ItemExtras & { children?: React.ReactNode }) {\n return (\n <>\n {icon && <span className=\"oui-menu__item-icon\">{icon}</span>}\n <span className=\"oui-menu__item-label\">{children}</span>\n {shortcut && <span className=\"oui-menu__shortcut\">{shortcut}</span>}\n </>\n );\n}\n\nexport interface MenuItemProps extends BaseMenu.Item.Props, ItemExtras {}\n\nfunction MenuItem({ icon, shortcut, danger, className, children, ref, ...props }: MenuItemProps) {\n return (\n <BaseMenu.Item ref={ref} className={withClass('oui-menu__item', className)} data-danger={danger || undefined} {...props}>\n <ItemInner icon={icon} shortcut={shortcut}>\n {children}\n </ItemInner>\n </BaseMenu.Item>\n );\n}\n\nexport interface MenuLinkItemProps extends BaseMenu.LinkItem.Props, Omit<ItemExtras, 'danger'> {}\n\nfunction MenuLinkItem({ icon, shortcut, className, children, ref, ...props }: MenuLinkItemProps) {\n return (\n <BaseMenu.LinkItem ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <ItemInner icon={icon} shortcut={shortcut}>\n {children}\n </ItemInner>\n </BaseMenu.LinkItem>\n );\n}\n\nexport interface MenuCheckboxItemProps extends BaseMenu.CheckboxItem.Props, Omit<ItemExtras, 'icon' | 'danger'> {}\n\nfunction MenuCheckboxItem({ shortcut, className, children, ref, ...props }: MenuCheckboxItemProps) {\n return (\n <BaseMenu.CheckboxItem ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <span className=\"oui-menu__item-icon\">\n <BaseMenu.CheckboxItemIndicator className=\"oui-menu__indicator\">\n <CheckIcon />\n </BaseMenu.CheckboxItemIndicator>\n </span>\n <ItemInner shortcut={shortcut}>{children}</ItemInner>\n </BaseMenu.CheckboxItem>\n );\n}\n\nconst MenuRadioGroup = BaseMenu.RadioGroup;\n\nexport interface MenuRadioItemProps extends BaseMenu.RadioItem.Props, Omit<ItemExtras, 'icon' | 'danger'> {}\n\nfunction MenuRadioItem({ shortcut, className, children, ref, ...props }: MenuRadioItemProps) {\n return (\n <BaseMenu.RadioItem ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <span className=\"oui-menu__item-icon\">\n <BaseMenu.RadioItemIndicator className=\"oui-menu__indicator oui-menu__indicator--radio\" />\n </span>\n <ItemInner shortcut={shortcut}>{children}</ItemInner>\n </BaseMenu.RadioItem>\n );\n}\n\nfunction MenuSeparator({ className, ref, ...props }: BaseMenu.Separator.Props) {\n return <BaseMenu.Separator ref={ref} className={withClass('oui-menu__separator', className)} {...props} />;\n}\n\nfunction MenuGroupLabel({ className, ref, ...props }: BaseMenu.GroupLabel.Props) {\n return <BaseMenu.GroupLabel ref={ref} className={withClass('oui-menu__group-label', className)} {...props} />;\n}\n\nexport interface MenuSubmenuTriggerProps extends BaseMenu.SubmenuTrigger.Props, Omit<ItemExtras, 'shortcut' | 'danger'> {}\n\nfunction MenuSubmenuTrigger({ icon, className, children, ref, ...props }: MenuSubmenuTriggerProps) {\n return (\n <BaseMenu.SubmenuTrigger ref={ref} className={withClass('oui-menu__item', className)} {...props}>\n <ItemInner icon={icon} shortcut={<ChevronRightIcon />}>\n {children}\n </ItemInner>\n </BaseMenu.SubmenuTrigger>\n );\n}\n\n/**\n * Dropdown menu of actions. Compose `Menu.Root` › `Menu.Trigger` + `Menu.Content` › items.\n * For nested menus use `Menu.SubmenuRoot` › `Menu.SubmenuTrigger` + `Menu.Content`.\n */\nexport const Menu = {\n Root: BaseMenu.Root,\n Trigger: BaseMenu.Trigger,\n Content: MenuContent,\n Item: MenuItem,\n LinkItem: MenuLinkItem,\n CheckboxItem: MenuCheckboxItem,\n RadioGroup: MenuRadioGroup,\n RadioItem: MenuRadioItem,\n Group: BaseMenu.Group,\n GroupLabel: MenuGroupLabel,\n Separator: MenuSeparator,\n SubmenuRoot: BaseMenu.SubmenuRoot,\n SubmenuTrigger: MenuSubmenuTrigger,\n};\n\n/**\n * Menu opened by right click or long press on `ContextMenu.Trigger`, which wraps\n * the target area. The item parts are the same as `Menu`'s.\n */\nexport const ContextMenu = {\n ...Menu,\n Root: BaseContextMenu.Root,\n Trigger: BaseContextMenu.Trigger,\n Content: ContextMenuContent,\n};\n"],"mappings":"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"}
@@ -2,14 +2,21 @@ import * as React from 'react';
2
2
  import { NumberField as BaseNumberField } from '@base-ui/react/number-field';
3
3
  import type { ControlSize } from '../input/Input';
4
4
  export interface NumberFieldProps extends BaseNumberField.Root.Props {
5
+ /** Visible field label. */
5
6
  label?: React.ReactNode;
7
+ /** Help text under the input. */
6
8
  description?: React.ReactNode;
9
+ /** Error message. When set, the field is marked invalid. */
7
10
  error?: React.ReactNode;
11
+ /** Control height. */
8
12
  size?: ControlSize;
13
+ /** Placeholder shown while empty. */
9
14
  placeholder?: string;
10
15
  /** Hide the − / + stepper buttons. */
11
16
  hideStepper?: boolean;
17
+ /** Accessible name of the − button. */
12
18
  decrementLabel?: string;
19
+ /** Accessible name of the + button. */
13
20
  incrementLabel?: string;
14
21
  }
15
22
  /** Numeric input with stepper buttons, locale formatting and keyboard stepping. */
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.js","names":["React","NumberField","BaseNumberField","withClass","MinusIcon","PlusIcon","Field","ControlSize","NumberFieldProps","Root","Props","label","ReactNode","description","error","size","placeholder","hideStepper","decrementLabel","incrementLabel","t0","$","_c","className","disabled","name","props","ref","required","t1","t2","t3","undefined","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","NumberField","_c","BaseNumberField"],"sources":["../../../src/components/number-field/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NumberField as BaseNumberField } from '@base-ui/react/number-field';\nimport { withClass } from '../../utils/cx';\nimport { MinusIcon, PlusIcon } from '../../icons';\nimport { Field } from '../field/Field';\nimport type { ControlSize } from '../input/Input';\n\nexport interface NumberFieldProps extends BaseNumberField.Root.Props {\n label?: React.ReactNode;\n description?: React.ReactNode;\n error?: React.ReactNode;\n size?: ControlSize;\n placeholder?: string;\n /** Hide the − / + stepper buttons. */\n hideStepper?: boolean;\n decrementLabel?: string;\n incrementLabel?: string;\n}\n\n/** Numeric input with stepper buttons, locale formatting and keyboard stepping. */\nexport function NumberField({\n label,\n description,\n error,\n size = 'md',\n placeholder,\n hideStepper,\n decrementLabel = 'Decrease',\n incrementLabel = 'Increase',\n className,\n name,\n disabled,\n required,\n ref,\n ...props\n}: NumberFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <BaseNumberField.Root\n ref={ref}\n className={withClass('oui-number-field', className)}\n disabled={disabled}\n required={required}\n {...props}\n >\n <BaseNumberField.Group className=\"oui-number-field__group\" data-size={size}>\n {!hideStepper && (\n <BaseNumberField.Decrement className=\"oui-number-field__step\" aria-label={decrementLabel}>\n <MinusIcon />\n </BaseNumberField.Decrement>\n )}\n <BaseNumberField.Input className=\"oui-number-field__input\" placeholder={placeholder} />\n {!hideStepper && (\n <BaseNumberField.Increment className=\"oui-number-field__step\" aria-label={incrementLabel}>\n <PlusIcon />\n </BaseNumberField.Increment>\n )}\n </BaseNumberField.Group>\n </BaseNumberField.Root>\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberField.js","names":["React","NumberField","BaseNumberField","withClass","MinusIcon","PlusIcon","Field","ControlSize","NumberFieldProps","Root","Props","label","ReactNode","description","error","size","placeholder","hideStepper","decrementLabel","incrementLabel","t0","$","_c","className","disabled","name","props","ref","required","t1","t2","t3","undefined","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","NumberField","_c","BaseNumberField"],"sources":["../../../src/components/number-field/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NumberField as BaseNumberField } from '@base-ui/react/number-field';\nimport { withClass } from '../../utils/cx';\nimport { MinusIcon, PlusIcon } from '../../icons';\nimport { Field } from '../field/Field';\nimport type { ControlSize } from '../input/Input';\n\nexport interface NumberFieldProps extends BaseNumberField.Root.Props {\n /** Visible field label. */\n label?: React.ReactNode;\n /** Help text under the input. */\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n /** Control height. */\n size?: ControlSize;\n /** Placeholder shown while empty. */\n placeholder?: string;\n /** Hide the − / + stepper buttons. */\n hideStepper?: boolean;\n /** Accessible name of the − button. */\n decrementLabel?: string;\n /** Accessible name of the + button. */\n incrementLabel?: string;\n}\n\n/** Numeric input with stepper buttons, locale formatting and keyboard stepping. */\nexport function NumberField({\n label,\n description,\n error,\n size = 'md',\n placeholder,\n hideStepper,\n decrementLabel = 'Decrease',\n incrementLabel = 'Increase',\n className,\n name,\n disabled,\n required,\n ref,\n ...props\n}: NumberFieldProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined}>\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <BaseNumberField.Root\n ref={ref}\n className={withClass('oui-number-field', className)}\n disabled={disabled}\n required={required}\n {...props}\n >\n <BaseNumberField.Group className=\"oui-number-field__group\" data-size={size}>\n {!hideStepper && (\n <BaseNumberField.Decrement className=\"oui-number-field__step\" aria-label={decrementLabel}>\n <MinusIcon />\n </BaseNumberField.Decrement>\n )}\n <BaseNumberField.Input className=\"oui-number-field__input\" placeholder={placeholder} />\n {!hideStepper && (\n <BaseNumberField.Increment className=\"oui-number-field__step\" aria-label={incrementLabel}>\n <PlusIcon />\n </BaseNumberField.Increment>\n )}\n </BaseNumberField.Group>\n </BaseNumberField.Root>\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n"],"mappings":"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"}
@@ -11,15 +11,19 @@ export interface PaginationLabels {
11
11
  /** Page numbers to render, with `'gap'` where pages are skipped. */
12
12
  export declare function getPageItems(page: number, pageCount: number, siblingCount?: number): Array<number | 'gap'>;
13
13
  export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
14
+ /** Ref to the `<nav>` element. */
14
15
  ref?: React.Ref<HTMLElement>;
15
16
  /** Current page, starting at 1. */
16
17
  page: number;
18
+ /** Items per page. */
17
19
  pageSize: number;
18
20
  /** Total number of items across all pages. */
19
21
  total: number;
22
+ /** Called with the new page number. */
20
23
  onPageChange: (page: number) => void;
21
24
  /** Passing this adds the rows-per-page select. */
22
25
  onPageSizeChange?: (pageSize: number) => void;
26
+ /** Choices in the rows-per-page select. */
23
27
  pageSizeOptions?: number[];
24
28
  /** `pages` shows numbered buttons; `simple` only previous / next. */
25
29
  variant?: 'pages' | 'simple';