@dev-dga/react 0.13.0 → 1.0.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 (57) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{chunk-TGM4JFWI.cjs → chunk-7GAELGEB.cjs} +3 -3
  3. package/dist/{chunk-TGM4JFWI.cjs.map → chunk-7GAELGEB.cjs.map} +1 -1
  4. package/dist/{chunk-J53OY747.js → chunk-AHUL5WRD.js} +5 -5
  5. package/dist/{chunk-5N6CFYT6.cjs → chunk-B3MX4XNP.cjs} +3 -3
  6. package/dist/{chunk-5N6CFYT6.cjs.map → chunk-B3MX4XNP.cjs.map} +1 -1
  7. package/dist/{chunk-KSEN4ESR.js → chunk-BJIB6S5L.js} +3 -3
  8. package/dist/chunk-BJIB6S5L.js.map +1 -0
  9. package/dist/{chunk-WLJHHTE2.js → chunk-EZRPCQSP.js} +7 -7
  10. package/dist/{chunk-P7WYXL4A.cjs → chunk-GXF5IZEX.cjs} +3 -3
  11. package/dist/{chunk-P7WYXL4A.cjs.map → chunk-GXF5IZEX.cjs.map} +1 -1
  12. package/dist/{chunk-ANHZT2X2.js → chunk-JADNUODB.js} +3 -3
  13. package/dist/{chunk-ANHZT2X2.js.map → chunk-JADNUODB.js.map} +1 -1
  14. package/dist/{chunk-NGDKAG2O.cjs → chunk-K27GNXBF.cjs} +4 -4
  15. package/dist/{chunk-NGDKAG2O.cjs.map → chunk-K27GNXBF.cjs.map} +1 -1
  16. package/dist/{chunk-J7HSAVFF.cjs → chunk-K7GLIST7.cjs} +6 -6
  17. package/dist/{chunk-J7HSAVFF.cjs.map → chunk-K7GLIST7.cjs.map} +1 -1
  18. package/dist/{chunk-MECGQLHL.js → chunk-NJIQJHJS.js} +4 -4
  19. package/dist/{chunk-QLV4RQVQ.cjs → chunk-V7U2CXYL.cjs} +3 -3
  20. package/dist/chunk-V7U2CXYL.cjs.map +1 -0
  21. package/dist/{chunk-4S2DSEXR.js → chunk-WRUVDZRI.js} +4 -4
  22. package/dist/components/Card/Card.cjs +3 -3
  23. package/dist/components/Card/Card.js +2 -2
  24. package/dist/components/Card/index.cjs +3 -3
  25. package/dist/components/Card/index.js +2 -2
  26. package/dist/components/FileUpload/FileUpload.cjs +3 -3
  27. package/dist/components/FileUpload/FileUpload.js +2 -2
  28. package/dist/components/FileUpload/index.cjs +3 -3
  29. package/dist/components/FileUpload/index.js +2 -2
  30. package/dist/components/Filtration/Filtration.cjs +6 -6
  31. package/dist/components/Filtration/Filtration.js +5 -5
  32. package/dist/components/Filtration/index.cjs +6 -6
  33. package/dist/components/Filtration/index.js +5 -5
  34. package/dist/components/Progress/Progress.cjs +2 -2
  35. package/dist/components/Progress/Progress.js +1 -1
  36. package/dist/components/Progress/index.cjs +2 -2
  37. package/dist/components/Progress/index.js +1 -1
  38. package/dist/components/SearchBox/SearchBox.cjs +3 -3
  39. package/dist/components/SearchBox/SearchBox.js +2 -2
  40. package/dist/components/SearchBox/index.cjs +3 -3
  41. package/dist/components/SearchBox/index.js +2 -2
  42. package/dist/components/SlideoutMenu/SlideoutMenu.cjs +2 -2
  43. package/dist/components/SlideoutMenu/SlideoutMenu.js +1 -1
  44. package/dist/components/SlideoutMenu/index.cjs +2 -2
  45. package/dist/components/SlideoutMenu/index.js +1 -1
  46. package/dist/index.cjs +53 -53
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.cts +4 -4
  49. package/dist/index.d.ts +4 -4
  50. package/dist/index.js +79 -79
  51. package/package.json +3 -3
  52. package/dist/chunk-KSEN4ESR.js.map +0 -1
  53. package/dist/chunk-QLV4RQVQ.cjs.map +0 -1
  54. /package/dist/{chunk-J53OY747.js.map → chunk-AHUL5WRD.js.map} +0 -0
  55. /package/dist/{chunk-WLJHHTE2.js.map → chunk-EZRPCQSP.js.map} +0 -0
  56. /package/dist/{chunk-MECGQLHL.js.map → chunk-NJIQJHJS.js.map} +0 -0
  57. /package/dist/{chunk-4S2DSEXR.js.map → chunk-WRUVDZRI.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NGDKAG2O.cjs","../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NGDKAG2O.cjs","sourcesContent":[null,"'use client';\n\nimport { useRef, useState, type ReactNode } from 'react';\nimport { cn } from '../../utils/cn';\nimport { useFieldA11y, FieldMessage } from '../../field';\nimport { Button } from '../Button';\nimport { Spinner } from '../Spinner';\nimport { Upload, Check, Exclamation, Close } from '../../internal/icons';\n\ntype FileStatus = 'uploading' | 'success' | 'error';\n\n/** Reason codes attached to a rejected file. */\ntype RejectionCode = 'file-too-large' | 'file-invalid-type' | 'too-many-files';\n\n/**\n * A controlled file entry. The consumer owns this array and is responsible for\n * performing the actual upload, updating `status`, and assigning a stable `id`\n * (used as the React key and the `onRemove` target).\n */\ninterface UploadFile {\n /** Stable, consumer-assigned id. Used as the React key and remove target. */\n id: string;\n /** The native File. */\n file: File;\n /** Defaults to `'uploading'`. Drives the per-row indicator. */\n status?: FileStatus;\n /** Shown in the row's second line (red) while `status === 'error'`. */\n error?: string;\n}\n\ninterface FileRejection {\n file: File;\n errors: RejectionCode[];\n}\n\ninterface FileUploadProps extends Omit<\n React.ComponentProps<'input'>,\n | 'onChange'\n | 'type'\n | 'accept'\n | 'multiple'\n | 'required'\n | 'disabled'\n | 'className'\n | 'id'\n | 'children'\n | 'title'\n> {\n variant?: 'dropzone' | 'button';\n\n /** Controlled list of files to render. The consumer is the source of truth. */\n files: UploadFile[];\n /** Called with the files that passed validation. The consumer wraps each in\n * an {@link UploadFile} (assigning an `id`) and starts the upload. */\n onFilesAdded: (accepted: File[]) => void;\n /** Called with files that failed validation. Never enter `files`. */\n onFilesRejected?: (rejections: FileRejection[]) => void;\n /** Per-row remove handler. Omit to hide the remove button. */\n onRemove?: (id: string) => void;\n\n /** Native `accept` string (e.g. `'image/*,.pdf'`). Also drives validation. */\n accept?: string;\n /** Maximum size per file, in bytes. */\n maxSize?: number;\n /** Maximum total files (existing + incoming). When `multiple` is false this\n * is forced to 1. */\n maxFiles?: number;\n /** Allow selecting/dropping more than one file. Defaults to true. */\n multiple?: boolean;\n /** Disables the drop zone / button and the picker. */\n disabled?: boolean;\n /** Marks the field required: renders the asterisk and sets the input's\n * `required` attribute. */\n required?: boolean;\n\n /** Visible field label, auto-associated to the input. */\n label?: ReactNode;\n title?: ReactNode;\n description?: ReactNode;\n buttonLabel?: ReactNode;\n /** Message shown below the field when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid: sets `aria-invalid` and error styling. */\n error?: boolean;\n\n /** Accessible label for the per-row remove button. Defaults to `'Remove'`. */\n removeLabel?: string;\n\n id?: string;\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\nfunction matchesAccept(file: File, accept?: string): boolean {\n if (!accept) return true;\n const tokens = accept\n .split(',')\n .map((t) => t.trim().toLowerCase())\n .filter(Boolean);\n if (tokens.length === 0) return true;\n\n const name = file.name.toLowerCase();\n const type = file.type.toLowerCase();\n\n return tokens.some((token) => {\n if (token.startsWith('.')) return name.endsWith(token);\n if (token.endsWith('/*')) return type.startsWith(token.slice(0, token.indexOf('/') + 1));\n return type === token;\n });\n}\n\ninterface ValidationConfig {\n accept?: string;\n maxSize?: number;\n maxFiles?: number;\n /** Files already in the list — counts against `maxFiles`. */\n currentCount: number;\n}\n\nfunction splitFiles(incoming: File[], config: ValidationConfig) {\n const { accept, maxSize, maxFiles, currentCount } = config;\n const accepted: File[] = [];\n const rejections: FileRejection[] = [];\n\n for (const file of incoming) {\n const errors: RejectionCode[] = [];\n if (!matchesAccept(file, accept)) errors.push('file-invalid-type');\n if (maxSize != null && file.size > maxSize) errors.push('file-too-large');\n\n if (errors.length > 0) {\n rejections.push({ file, errors });\n continue;\n }\n // Count last: only an otherwise-valid file consumes a slot.\n if (maxFiles != null && currentCount + accepted.length >= maxFiles) {\n rejections.push({ file, errors: ['too-many-files'] });\n continue;\n }\n accepted.push(file);\n }\n\n return { accepted, rejections };\n}\n\nfunction FileRow({\n item,\n onRemove,\n removeLabel,\n}: {\n item: UploadFile;\n onRemove?: (id: string) => void;\n removeLabel: string;\n}) {\n const status = item.status ?? 'uploading';\n return (\n <li\n data-slot=\"file-upload-item\"\n data-status={status}\n className={cn(\n 'ddga-file-upload__file',\n status === 'error' && 'ddga-file-upload__file--error',\n )}\n >\n <div className=\"ddga-file-upload__file-main\">\n {status === 'uploading' ? (\n <span className=\"ddga-file-upload__file-indicator ddga-file-upload__file-indicator--loading\">\n <Spinner aria-label={`Uploading ${item.file.name}`} />\n </span>\n ) : (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'ddga-file-upload__file-indicator',\n `ddga-file-upload__file-indicator--${status}`,\n )}\n >\n {status === 'success' ? <Check /> : <Exclamation />}\n </span>\n )}\n\n <span className=\"ddga-file-upload__file-name\" dir=\"auto\" title={item.file.name}>\n {item.file.name}\n </span>\n\n {onRemove && (\n <button\n type=\"button\"\n className=\"ddga-file-upload__file-remove\"\n aria-label={`${removeLabel}: ${item.file.name}`}\n onClick={() => onRemove(item.id)}\n >\n <Close aria-hidden=\"true\" />\n </button>\n )}\n </div>\n\n {status === 'error' && item.error && (\n <div className=\"ddga-file-upload__file-error-row\">\n <span role=\"alert\" className=\"ddga-file-upload__file-error\">\n {item.error}\n </span>\n </div>\n )}\n </li>\n );\n}\n\nfunction FileUpload({\n variant = 'dropzone',\n files,\n onFilesAdded,\n onFilesRejected,\n onRemove,\n accept,\n maxSize,\n maxFiles,\n multiple = true,\n disabled = false,\n required,\n label,\n title = 'Drag and drop files here to upload',\n description,\n buttonLabel = 'Browse Files',\n errorMessage,\n error,\n removeLabel = 'Remove',\n id: externalId,\n className,\n ...props\n}: FileUploadProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n\n const { fieldId, errorId, helperId, hasErrorMessage, controlProps } = useFieldA11y({\n name: 'FileUpload',\n id: externalId,\n label,\n error,\n errorMessage,\n helperText: description,\n 'aria-label': props['aria-label'],\n 'aria-labelledby': props['aria-labelledby'],\n });\n\n const effectiveMaxFiles = multiple ? maxFiles : 1;\n\n function process(incoming: File[]) {\n if (disabled || incoming.length === 0) return;\n const { accepted, rejections } = splitFiles(incoming, {\n accept,\n maxSize,\n maxFiles: effectiveMaxFiles,\n currentCount: files.length,\n });\n if (accepted.length > 0) onFilesAdded(accepted);\n if (rejections.length > 0) onFilesRejected?.(rejections);\n }\n\n function openPicker() {\n if (!disabled) inputRef.current?.click();\n }\n\n function handleInputChange(event: React.ChangeEvent<HTMLInputElement>) {\n process(Array.from(event.target.files ?? []));\n // Reset so re-selecting the same file re-fires change.\n event.target.value = '';\n }\n\n function handleDrop(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n setIsDragging(false);\n if (disabled) return;\n process(Array.from(event.dataTransfer.files));\n }\n\n function handleDragOver(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }\n\n function handleDragLeave(event: React.DragEvent<HTMLDivElement>) {\n // Ignore dragleave bubbling from descendants.\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) {\n setIsDragging(false);\n }\n }\n\n const labelNode = label && (\n <label htmlFor={fieldId} className=\"ddga-file-upload__label\">\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-file-upload__required\">\n *\n </span>\n )}\n {label}\n </label>\n );\n\n const descriptionNode = description && (\n <span id={helperId} className=\"ddga-file-upload__description\">\n {description}\n </span>\n );\n\n const fileInput = (\n <input\n {...props}\n {...controlProps}\n ref={inputRef}\n type=\"file\"\n tabIndex={-1}\n className=\"ddga-file-upload__input\"\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n required={required}\n onChange={handleInputChange}\n // Guard the openPicker() recursion: the programmatic input.click() would\n // bubble back to the dropzone's onClick.\n onClick={(event) => event.stopPropagation()}\n data-slot=\"file-upload-input\"\n />\n );\n\n // SDGA Single: the file row replaces the trigger once the one file is chosen.\n const showTrigger = variant === 'dropzone' || multiple || files.length === 0;\n\n return (\n <div\n data-slot=\"file-upload-field\"\n data-variant={variant}\n className={cn('ddga-field', 'ddga-file-upload', className)}\n >\n {variant === 'dropzone' ? (\n <>\n {labelNode}\n <div\n data-slot=\"file-upload-dropzone\"\n className=\"ddga-file-upload__dropzone\"\n data-dragging={isDragging || undefined}\n data-disabled={disabled || undefined}\n aria-disabled={disabled || undefined}\n onClick={openPicker}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n >\n <svg className=\"ddga-file-upload__border\" aria-hidden=\"true\" focusable=\"false\">\n <rect width=\"100%\" height=\"100%\" rx=\"4\" ry=\"4\" />\n </svg>\n <Upload className=\"ddga-file-upload__icon\" aria-hidden=\"true\" />\n <div className=\"ddga-file-upload__copy\">\n <span className=\"ddga-file-upload__title\">{title}</span>\n {descriptionNode}\n </div>\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"md\"\n disabled={disabled}\n className=\"ddga-file-upload__browse\"\n onClick={(event) => {\n event.stopPropagation();\n openPicker();\n }}\n >\n {buttonLabel}\n </Button>\n {fileInput}\n </div>\n </>\n ) : (\n <>\n <div className=\"ddga-file-upload__header\">\n {labelNode}\n {descriptionNode}\n </div>\n {showTrigger && (\n <Button\n type=\"button\"\n variant=\"black\"\n size=\"md\"\n disabled={disabled}\n className=\"ddga-file-upload__browse\"\n onClick={openPicker}\n >\n {buttonLabel}\n </Button>\n )}\n {fileInput}\n </>\n )}\n\n {hasErrorMessage && (\n <FieldMessage id={errorId} variant=\"error\">\n {errorMessage}\n </FieldMessage>\n )}\n\n {files.length > 0 && (\n <ul data-slot=\"file-upload-list\" className=\"ddga-file-upload__list\">\n {files.map((item) => (\n <FileRow key={item.id} item={item} onRemove={onRemove} removeLabel={removeLabel} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n\nexport { FileUpload };\nexport type { FileUploadProps, UploadFile, FileRejection, FileStatus, RejectionCode };\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-K27GNXBF.cjs","../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-K27GNXBF.cjs","sourcesContent":[null,"'use client';\n\nimport { useRef, useState, type ReactNode } from 'react';\nimport { cn } from '../../utils/cn';\nimport { useFieldA11y, FieldMessage } from '../../field';\nimport { Button } from '../Button';\nimport { Spinner } from '../Spinner';\nimport { Upload, Check, Exclamation, Close } from '../../internal/icons';\n\ntype FileStatus = 'uploading' | 'success' | 'error';\n\n/** Reason codes attached to a rejected file. */\ntype RejectionCode = 'file-too-large' | 'file-invalid-type' | 'too-many-files';\n\n/**\n * A controlled file entry. The consumer owns this array and is responsible for\n * performing the actual upload, updating `status`, and assigning a stable `id`\n * (used as the React key and the `onRemove` target).\n */\ninterface UploadFile {\n /** Stable, consumer-assigned id. Used as the React key and remove target. */\n id: string;\n /** The native File. */\n file: File;\n /** Defaults to `'uploading'`. Drives the per-row indicator. */\n status?: FileStatus;\n /** Shown in the row's second line (red) while `status === 'error'`. */\n error?: string;\n}\n\ninterface FileRejection {\n file: File;\n errors: RejectionCode[];\n}\n\ninterface FileUploadProps extends Omit<\n React.ComponentProps<'input'>,\n | 'onChange'\n | 'type'\n | 'accept'\n | 'multiple'\n | 'required'\n | 'disabled'\n | 'className'\n | 'id'\n | 'children'\n | 'title'\n> {\n variant?: 'dropzone' | 'button';\n\n /** Controlled list of files to render. The consumer is the source of truth. */\n files: UploadFile[];\n /** Called with the files that passed validation. The consumer wraps each in\n * an {@link UploadFile} (assigning an `id`) and starts the upload. */\n onFilesAdded: (accepted: File[]) => void;\n /** Called with files that failed validation. Never enter `files`. */\n onFilesRejected?: (rejections: FileRejection[]) => void;\n /** Per-row remove handler. Omit to hide the remove button. */\n onRemove?: (id: string) => void;\n\n /** Native `accept` string (e.g. `'image/*,.pdf'`). Also drives validation. */\n accept?: string;\n /** Maximum size per file, in bytes. */\n maxSize?: number;\n /** Maximum total files (existing + incoming). When `multiple` is false this\n * is forced to 1. */\n maxFiles?: number;\n /** Allow selecting/dropping more than one file. Defaults to true. */\n multiple?: boolean;\n /** Disables the drop zone / button and the picker. */\n disabled?: boolean;\n /** Marks the field required: renders the asterisk and sets the input's\n * `required` attribute. */\n required?: boolean;\n\n /** Visible field label, auto-associated to the input. */\n label?: ReactNode;\n title?: ReactNode;\n description?: ReactNode;\n buttonLabel?: ReactNode;\n /** Message shown below the field when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid: sets `aria-invalid` and error styling. */\n error?: boolean;\n\n /** Accessible label for the per-row remove button. Defaults to `'Remove'`. */\n removeLabel?: string;\n\n id?: string;\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\nfunction matchesAccept(file: File, accept?: string): boolean {\n if (!accept) return true;\n const tokens = accept\n .split(',')\n .map((t) => t.trim().toLowerCase())\n .filter(Boolean);\n if (tokens.length === 0) return true;\n\n const name = file.name.toLowerCase();\n const type = file.type.toLowerCase();\n\n return tokens.some((token) => {\n if (token.startsWith('.')) return name.endsWith(token);\n if (token.endsWith('/*')) return type.startsWith(token.slice(0, token.indexOf('/') + 1));\n return type === token;\n });\n}\n\ninterface ValidationConfig {\n accept?: string;\n maxSize?: number;\n maxFiles?: number;\n /** Files already in the list — counts against `maxFiles`. */\n currentCount: number;\n}\n\nfunction splitFiles(incoming: File[], config: ValidationConfig) {\n const { accept, maxSize, maxFiles, currentCount } = config;\n const accepted: File[] = [];\n const rejections: FileRejection[] = [];\n\n for (const file of incoming) {\n const errors: RejectionCode[] = [];\n if (!matchesAccept(file, accept)) errors.push('file-invalid-type');\n if (maxSize != null && file.size > maxSize) errors.push('file-too-large');\n\n if (errors.length > 0) {\n rejections.push({ file, errors });\n continue;\n }\n // Count last: only an otherwise-valid file consumes a slot.\n if (maxFiles != null && currentCount + accepted.length >= maxFiles) {\n rejections.push({ file, errors: ['too-many-files'] });\n continue;\n }\n accepted.push(file);\n }\n\n return { accepted, rejections };\n}\n\nfunction FileRow({\n item,\n onRemove,\n removeLabel,\n}: {\n item: UploadFile;\n onRemove?: (id: string) => void;\n removeLabel: string;\n}) {\n const status = item.status ?? 'uploading';\n return (\n <li\n data-slot=\"file-upload-item\"\n data-status={status}\n className={cn(\n 'ddga-file-upload__file',\n status === 'error' && 'ddga-file-upload__file--error',\n )}\n >\n <div className=\"ddga-file-upload__file-main\">\n {status === 'uploading' ? (\n <span className=\"ddga-file-upload__file-indicator ddga-file-upload__file-indicator--loading\">\n <Spinner aria-label={`Uploading ${item.file.name}`} />\n </span>\n ) : (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'ddga-file-upload__file-indicator',\n `ddga-file-upload__file-indicator--${status}`,\n )}\n >\n {status === 'success' ? <Check /> : <Exclamation />}\n </span>\n )}\n\n <span className=\"ddga-file-upload__file-name\" dir=\"auto\" title={item.file.name}>\n {item.file.name}\n </span>\n\n {onRemove && (\n <button\n type=\"button\"\n className=\"ddga-file-upload__file-remove\"\n aria-label={`${removeLabel}: ${item.file.name}`}\n onClick={() => onRemove(item.id)}\n >\n <Close aria-hidden=\"true\" />\n </button>\n )}\n </div>\n\n {status === 'error' && item.error && (\n <div className=\"ddga-file-upload__file-error-row\">\n <span role=\"alert\" className=\"ddga-file-upload__file-error\">\n {item.error}\n </span>\n </div>\n )}\n </li>\n );\n}\n\nfunction FileUpload({\n variant = 'dropzone',\n files,\n onFilesAdded,\n onFilesRejected,\n onRemove,\n accept,\n maxSize,\n maxFiles,\n multiple = true,\n disabled = false,\n required,\n label,\n title = 'Drag and drop files here to upload',\n description,\n buttonLabel = 'Browse Files',\n errorMessage,\n error,\n removeLabel = 'Remove',\n id: externalId,\n className,\n ...props\n}: FileUploadProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n\n const { fieldId, errorId, helperId, hasErrorMessage, controlProps } = useFieldA11y({\n name: 'FileUpload',\n id: externalId,\n label,\n error,\n errorMessage,\n helperText: description,\n 'aria-label': props['aria-label'],\n 'aria-labelledby': props['aria-labelledby'],\n });\n\n const effectiveMaxFiles = multiple ? maxFiles : 1;\n\n function process(incoming: File[]) {\n if (disabled || incoming.length === 0) return;\n const { accepted, rejections } = splitFiles(incoming, {\n accept,\n maxSize,\n maxFiles: effectiveMaxFiles,\n currentCount: files.length,\n });\n if (accepted.length > 0) onFilesAdded(accepted);\n if (rejections.length > 0) onFilesRejected?.(rejections);\n }\n\n function openPicker() {\n if (!disabled) inputRef.current?.click();\n }\n\n function handleInputChange(event: React.ChangeEvent<HTMLInputElement>) {\n process(Array.from(event.target.files ?? []));\n // Reset so re-selecting the same file re-fires change.\n event.target.value = '';\n }\n\n function handleDrop(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n setIsDragging(false);\n if (disabled) return;\n process(Array.from(event.dataTransfer.files));\n }\n\n function handleDragOver(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }\n\n function handleDragLeave(event: React.DragEvent<HTMLDivElement>) {\n // Ignore dragleave bubbling from descendants.\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) {\n setIsDragging(false);\n }\n }\n\n const labelNode = label && (\n <label htmlFor={fieldId} className=\"ddga-file-upload__label\">\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-file-upload__required\">\n *\n </span>\n )}\n {label}\n </label>\n );\n\n const descriptionNode = description && (\n <span id={helperId} className=\"ddga-file-upload__description\">\n {description}\n </span>\n );\n\n const fileInput = (\n <input\n {...props}\n {...controlProps}\n ref={inputRef}\n type=\"file\"\n tabIndex={-1}\n className=\"ddga-file-upload__input\"\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n required={required}\n onChange={handleInputChange}\n // Guard the openPicker() recursion: the programmatic input.click() would\n // bubble back to the dropzone's onClick.\n onClick={(event) => event.stopPropagation()}\n data-slot=\"file-upload-input\"\n />\n );\n\n // SDGA Single: the file row replaces the trigger once the one file is chosen.\n const showTrigger = variant === 'dropzone' || multiple || files.length === 0;\n\n return (\n <div\n data-slot=\"file-upload-field\"\n data-variant={variant}\n className={cn('ddga-field', 'ddga-file-upload', className)}\n >\n {variant === 'dropzone' ? (\n <>\n {labelNode}\n <div\n data-slot=\"file-upload-dropzone\"\n className=\"ddga-file-upload__dropzone\"\n data-dragging={isDragging || undefined}\n data-disabled={disabled || undefined}\n aria-disabled={disabled || undefined}\n onClick={openPicker}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n >\n <svg className=\"ddga-file-upload__border\" aria-hidden=\"true\" focusable=\"false\">\n <rect width=\"100%\" height=\"100%\" rx=\"4\" ry=\"4\" />\n </svg>\n <Upload className=\"ddga-file-upload__icon\" aria-hidden=\"true\" />\n <div className=\"ddga-file-upload__copy\">\n <span className=\"ddga-file-upload__title\">{title}</span>\n {descriptionNode}\n </div>\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"md\"\n disabled={disabled}\n className=\"ddga-file-upload__browse\"\n onClick={(event) => {\n event.stopPropagation();\n openPicker();\n }}\n >\n {buttonLabel}\n </Button>\n {fileInput}\n </div>\n </>\n ) : (\n <>\n <div className=\"ddga-file-upload__header\">\n {labelNode}\n {descriptionNode}\n </div>\n {showTrigger && (\n <Button\n type=\"button\"\n variant=\"black\"\n size=\"md\"\n disabled={disabled}\n className=\"ddga-file-upload__browse\"\n onClick={openPicker}\n >\n {buttonLabel}\n </Button>\n )}\n {fileInput}\n </>\n )}\n\n {hasErrorMessage && (\n <FieldMessage id={errorId} variant=\"error\">\n {errorMessage}\n </FieldMessage>\n )}\n\n {files.length > 0 && (\n <ul data-slot=\"file-upload-list\" className=\"ddga-file-upload__list\">\n {files.map((item) => (\n <FileRow key={item.id} item={item} onRemove={onRemove} removeLabel={removeLabel} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n\nexport { FileUpload };\nexport type { FileUploadProps, UploadFile, FileRejection, FileStatus, RejectionCode };\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkTGM4JFWIcjs = require('./chunk-TGM4JFWI.cjs');
3
+ var _chunk7GAELGEBcjs = require('./chunk-7GAELGEB.cjs');
4
4
 
5
5
 
6
6
 
@@ -8,15 +8,15 @@ var _chunkTGM4JFWIcjs = require('./chunk-TGM4JFWI.cjs');
8
8
  var _chunkBNCUXVZFcjs = require('./chunk-BNCUXVZF.cjs');
9
9
 
10
10
 
11
- var _chunkFV6E33FYcjs = require('./chunk-FV6E33FY.cjs');
11
+ var _chunk5NENDJOMcjs = require('./chunk-5NENDJOM.cjs');
12
12
 
13
13
 
14
+ var _chunkFV6E33FYcjs = require('./chunk-FV6E33FY.cjs');
14
15
 
15
16
 
16
- var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
17
17
 
18
18
 
19
- var _chunk5NENDJOMcjs = require('./chunk-5NENDJOM.cjs');
19
+ var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
20
20
 
21
21
 
22
22
  var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
@@ -242,7 +242,7 @@ function FiltrationCheckboxFilter({
242
242
  className: _chunkV6MXOJQ4cjs.cn.call(void 0, "ddga-filtration-checkbox-filter", className),
243
243
  children: [
244
244
  searchable ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
245
- _chunkTGM4JFWIcjs.SearchBox,
245
+ _chunk7GAELGEBcjs.SearchBox,
246
246
  {
247
247
  "aria-label": searchLabel,
248
248
  placeholder: searchPlaceholder,
@@ -372,4 +372,4 @@ function FiltrationFooter({
372
372
 
373
373
 
374
374
  exports.filtrationPanelVariants = filtrationPanelVariants; exports.Filtration = Filtration; exports.FiltrationTrigger = FiltrationTrigger; exports.FiltrationResults = FiltrationResults; exports.FiltrationPanel = FiltrationPanel; exports.FiltrationSection = FiltrationSection; exports.FiltrationCheckboxFilter = FiltrationCheckboxFilter; exports.FiltrationOptionList = FiltrationOptionList; exports.FiltrationOption = FiltrationOption; exports.FiltrationFooter = FiltrationFooter;
375
- //# sourceMappingURL=chunk-J7HSAVFF.cjs.map
375
+ //# sourceMappingURL=chunk-K7GLIST7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-J7HSAVFF.cjs","../src/components/Filtration/Filtration.tsx"],"names":["Fragment"],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-J7HSAVFF.cjs","sourcesContent":[null,"'use client';\n\nimport {\n Children,\n Fragment,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Button, type ButtonProps } from '../Button';\nimport { Popover, PopoverTrigger, PopoverContent } from '../Popover';\nimport { Checkbox } from '../Checkbox';\nimport { SearchBox } from '../SearchBox';\nimport { Check, Filter, ChevronDown } from '../../internal/icons';\n\nconst filtrationPanelVariants = cva('ddga-filtration-panel', {\n variants: {\n inline: {\n true: 'ddga-filtration-panel--inline',\n },\n },\n});\n\ninterface FiltrationContextValue {\n /** `true` = floating overlay (Popover); `false` = embedded inline panel. */\n overlay: boolean;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst FiltrationContext = createContext<FiltrationContextValue | null>(null);\n\ninterface FiltrationProps {\n /** Floating overlay anchored to the trigger (default) vs an embedded inline panel. */\n overlay?: boolean;\n /** Controlled open state (overlay only). */\n open?: boolean;\n /** Uncontrolled initial open state (overlay only). */\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n}\n\ntype FiltrationTriggerProps = Omit<ButtonProps, 'variant' | 'asChild'>;\n\ninterface FiltrationResultsProps extends React.ComponentProps<'div'> {\n /** Names the applied-filters chip group for assistive tech, e.g. \"Applied filters\". */\n 'aria-label'?: string;\n}\n\ntype FiltrationPanelProps = Omit<React.ComponentProps<typeof PopoverContent>, 'size' | 'arrow'>;\n\ninterface FiltrationSectionProps extends React.ComponentProps<'div'> {\n /** Section heading (Text sm/Semibold). */\n label: ReactNode;\n /** Selected-count badge; rendered via `formatCount`. */\n count?: number;\n /** Maps `count` → the suffix text. Defaults to `(n selections)`. Override for i18n. */\n formatCount?: (count: number) => ReactNode;\n}\n\ninterface FiltrationCheckboxOption {\n value: string;\n label: ReactNode;\n /** Optional trailing count, e.g. number of matching results. */\n count?: number;\n disabled?: boolean;\n}\n\ninterface FiltrationCheckboxFilterProps extends Omit<React.ComponentProps<'div'>, 'defaultValue'> {\n options: FiltrationCheckboxOption[];\n /** Controlled selected values. */\n value?: string[];\n /** Uncontrolled initial selected values. */\n defaultValue?: string[];\n onValueChange?: (next: string[]) => void;\n /** Show a search field that filters options by label. */\n searchable?: boolean;\n searchPlaceholder?: string;\n /** Accessible label for the search field (it has no visible label). */\n searchLabel?: string;\n /** Collapse to the first N options behind a \"Show more\" toggle. */\n collapseAfter?: number;\n /** Maps the hidden-count → the expand button label. Default `Show {n} more`. */\n showMoreLabel?: (remaining: number) => ReactNode;\n showLessLabel?: ReactNode;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n}\n\ntype FiltrationOptionListProps = Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Root>,\n 'asChild'\n>;\n\ninterface FiltrationOptionProps extends Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n 'children'\n> {\n children: ReactNode;\n}\n\ninterface FiltrationFooterProps extends React.ComponentProps<'div'> {\n applyLabel?: ReactNode;\n clearLabel?: ReactNode;\n /** Appended to the apply label as `(n)`. */\n appliedCount?: number;\n onApply?: () => void;\n onClear?: () => void;\n /** Close the overlay when Apply is pressed (overlay only). Default `true`. */\n closeOnApply?: boolean;\n}\n\nfunction Filtration({\n overlay = true,\n open,\n defaultOpen,\n onOpenChange,\n children,\n}: FiltrationProps) {\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);\n const actualOpen = isControlled ? open : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const ctx = useMemo<FiltrationContextValue>(\n () => ({ overlay, open: actualOpen, setOpen }),\n [overlay, actualOpen, setOpen],\n );\n\n return (\n <FiltrationContext.Provider value={ctx}>\n {overlay ? (\n <Popover open={actualOpen} onOpenChange={setOpen}>\n {children}\n </Popover>\n ) : (\n children\n )}\n </FiltrationContext.Provider>\n );\n}\n\nfunction FiltrationTrigger({\n size = 'lg',\n startIcon,\n endIcon,\n className,\n children,\n ...props\n}: FiltrationTriggerProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n const warned = useRef(false);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !overlay && !warned.current) {\n warned.current = true;\n console.warn(\n '[@dev-dga/react] <FiltrationTrigger> only renders in overlay mode. In an inline ' +\n '<Filtration overlay={false}> the panel is always visible, so the trigger is omitted.',\n );\n }\n }, [overlay]);\n\n if (!overlay) return null;\n\n const button = (\n <Button\n variant=\"black\"\n size={size}\n startIcon={startIcon ?? <Filter aria-hidden=\"true\" />}\n endIcon={endIcon ?? <ChevronDown aria-hidden=\"true\" />}\n data-slot=\"filtration-trigger\"\n className={cn('ddga-filtration__trigger', className)}\n {...props}\n >\n {children}\n </Button>\n );\n\n return <PopoverTrigger asChild>{button}</PopoverTrigger>;\n}\n\nfunction FiltrationResults({\n className,\n children,\n 'aria-label': ariaLabel,\n ...props\n}: FiltrationResultsProps) {\n if (process.env.NODE_ENV !== 'production' && !ariaLabel && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] <FiltrationResults> should have an `aria-label` (e.g. \"Applied filters\") so the chip group has an accessible name.',\n );\n }\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"filtration-results\"\n className={cn('ddga-filtration-results', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n// SDGA draws an explicit hairline between every panel child (sections + footer),\n// inset 8px each side and floating in the 8px inter-child gap — not an edge border.\nfunction interleaveDividers(children: ReactNode): ReactNode {\n const items = Children.toArray(children).filter(Boolean);\n return items.map((child, i) => (\n <Fragment key={i}>\n {i > 0 ? <div className=\"ddga-filtration__divider\" aria-hidden=\"true\" /> : null}\n {child}\n </Fragment>\n ));\n}\n\nfunction FiltrationPanel({ className, children, ...props }: FiltrationPanelProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n if (overlay) {\n return (\n <PopoverContent\n data-slot=\"filtration-panel\"\n align=\"start\"\n className={cn(filtrationPanelVariants(), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </PopoverContent>\n );\n }\n\n if (process.env.NODE_ENV !== 'production' && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] An inline <FiltrationPanel> should have an `aria-label` or `aria-labelledby` so the region has an accessible name.',\n );\n }\n\n return (\n <section\n data-slot=\"filtration-panel\"\n className={cn(filtrationPanelVariants({ inline: true }), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </section>\n );\n}\n\nfunction FiltrationSection({\n label,\n count,\n formatCount = (n) => `(${n} selections)`,\n className,\n children,\n ...props\n}: FiltrationSectionProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={labelId}\n data-slot=\"filtration-section\"\n className={cn('ddga-filtration-section', className)}\n {...props}\n >\n <p id={labelId} className=\"ddga-filtration-section__label\">\n {label}\n {count != null ? (\n <span className=\"ddga-filtration-section__count\"> {formatCount(count)}</span>\n ) : null}\n </p>\n <div className=\"ddga-filtration-section__body\">{children}</div>\n </div>\n );\n}\n\nfunction optionText(label: ReactNode, value: string): string {\n return typeof label === 'string' ? label : value;\n}\n\nfunction FiltrationCheckboxFilter({\n options,\n value,\n defaultValue,\n onValueChange,\n searchable = false,\n searchPlaceholder,\n searchLabel = 'Search options',\n collapseAfter,\n showMoreLabel = (remaining) => `Show ${remaining} more`,\n showLessLabel = 'Show less',\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rest\n}: FiltrationCheckboxFilterProps) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<string[]>(defaultValue ?? []);\n const selected = isControlled ? value : internal;\n\n const [query, setQuery] = useState('');\n const [expanded, setExpanded] = useState(false);\n const listId = useId();\n\n const toggle = (optValue: string) => {\n const next = selected.includes(optValue)\n ? selected.filter((v) => v !== optValue)\n : [...selected, optValue];\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n };\n\n const filtered = useMemo(() => {\n const q = query.trim().toLowerCase();\n if (!searchable || !q) return options;\n return options.filter((o) => optionText(o.label, o.value).toLowerCase().includes(q));\n }, [options, query, searchable]);\n\n const collapsible = collapseAfter != null && filtered.length > collapseAfter;\n const visible = collapsible && !expanded ? filtered.slice(0, collapseAfter) : filtered;\n const remaining = collapsible ? filtered.length - (collapseAfter ?? 0) : 0;\n\n return (\n <div\n {...rest}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n data-slot=\"filtration-checkbox-filter\"\n className={cn('ddga-filtration-checkbox-filter', className)}\n >\n {searchable ? (\n <SearchBox\n aria-label={searchLabel}\n placeholder={searchPlaceholder}\n voiceSearch={false}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n ) : null}\n <div id={listId} className=\"ddga-filtration-checkbox-filter__list\">\n {visible.map((opt) => (\n <Checkbox\n key={opt.value}\n size=\"sm\"\n value={opt.value}\n checked={selected.includes(opt.value)}\n onCheckedChange={() => toggle(opt.value)}\n disabled={opt.disabled}\n label={\n <>\n {opt.label}\n {opt.count != null ? (\n <span className=\"ddga-filtration-checkbox-filter__count\" aria-hidden=\"true\">\n {' '}\n ({opt.count})\n </span>\n ) : null}\n </>\n }\n />\n ))}\n </div>\n {collapsible ? (\n <button\n type=\"button\"\n className=\"ddga-filtration-checkbox-filter__more\"\n aria-expanded={expanded}\n aria-controls={listId}\n onClick={() => setExpanded((prev) => !prev)}\n >\n {expanded ? showLessLabel : showMoreLabel(remaining)}\n <ChevronDown\n className={cn('ddga-filtration-checkbox-filter__more-icon', expanded && 'is-open')}\n aria-hidden=\"true\"\n />\n </button>\n ) : null}\n </div>\n );\n}\n\nfunction FiltrationOptionList({ className, ...props }: FiltrationOptionListProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"filtration-option-list\"\n className={cn('ddga-filtration-option-list', className)}\n {...props}\n />\n );\n}\n\nfunction FiltrationOption({ className, children, ...props }: FiltrationOptionProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"filtration-option\"\n className={cn('ddga-filtration-option', className)}\n {...props}\n >\n <span className=\"ddga-filtration-option__label\">{children}</span>\n <RadioGroupPrimitive.Indicator className=\"ddga-filtration-option__indicator\">\n <Check className=\"ddga-filtration-option__check\" aria-hidden=\"true\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nfunction FiltrationFooter({\n applyLabel = 'Apply Filters',\n clearLabel = 'Clear Filter',\n appliedCount,\n onApply,\n onClear,\n closeOnApply = true,\n className,\n ...props\n}: FiltrationFooterProps) {\n const ctx = useContext(FiltrationContext);\n\n const handleApply = () => {\n onApply?.();\n if (closeOnApply && ctx?.overlay) ctx.setOpen(false);\n };\n\n return (\n <div\n data-slot=\"filtration-footer\"\n className={cn('ddga-filtration-footer', className)}\n {...props}\n >\n <Button\n variant=\"primary\"\n size=\"lg\"\n className=\"ddga-filtration-footer__apply\"\n onClick={handleApply}\n >\n {applyLabel}\n {appliedCount != null ? ` (${appliedCount})` : ''}\n </Button>\n <Button variant=\"ghost\" size=\"lg\" onClick={onClear}>\n {clearLabel}\n </Button>\n </div>\n );\n}\n\nexport {\n Filtration,\n FiltrationTrigger,\n FiltrationResults,\n FiltrationPanel,\n FiltrationSection,\n FiltrationCheckboxFilter,\n FiltrationOptionList,\n FiltrationOption,\n FiltrationFooter,\n filtrationPanelVariants,\n};\nexport type {\n FiltrationProps,\n FiltrationTriggerProps,\n FiltrationResultsProps,\n FiltrationPanelProps,\n FiltrationSectionProps,\n FiltrationCheckboxFilterProps,\n FiltrationCheckboxOption,\n FiltrationOptionListProps,\n FiltrationOptionProps,\n FiltrationFooterProps,\n};\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-K7GLIST7.cjs","../src/components/Filtration/Filtration.tsx"],"names":["Fragment"],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-K7GLIST7.cjs","sourcesContent":[null,"'use client';\n\nimport {\n Children,\n Fragment,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Button, type ButtonProps } from '../Button';\nimport { Popover, PopoverTrigger, PopoverContent } from '../Popover';\nimport { Checkbox } from '../Checkbox';\nimport { SearchBox } from '../SearchBox';\nimport { Check, Filter, ChevronDown } from '../../internal/icons';\n\nconst filtrationPanelVariants = cva('ddga-filtration-panel', {\n variants: {\n inline: {\n true: 'ddga-filtration-panel--inline',\n },\n },\n});\n\ninterface FiltrationContextValue {\n /** `true` = floating overlay (Popover); `false` = embedded inline panel. */\n overlay: boolean;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst FiltrationContext = createContext<FiltrationContextValue | null>(null);\n\ninterface FiltrationProps {\n /** Floating overlay anchored to the trigger (default) vs an embedded inline panel. */\n overlay?: boolean;\n /** Controlled open state (overlay only). */\n open?: boolean;\n /** Uncontrolled initial open state (overlay only). */\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n}\n\ntype FiltrationTriggerProps = Omit<ButtonProps, 'variant' | 'asChild'>;\n\ninterface FiltrationResultsProps extends React.ComponentProps<'div'> {\n /** Names the applied-filters chip group for assistive tech, e.g. \"Applied filters\". */\n 'aria-label'?: string;\n}\n\ntype FiltrationPanelProps = Omit<React.ComponentProps<typeof PopoverContent>, 'size' | 'arrow'>;\n\ninterface FiltrationSectionProps extends React.ComponentProps<'div'> {\n /** Section heading (Text sm/Semibold). */\n label: ReactNode;\n /** Selected-count badge; rendered via `formatCount`. */\n count?: number;\n /** Maps `count` → the suffix text. Defaults to `(n selections)`. Override for i18n. */\n formatCount?: (count: number) => ReactNode;\n}\n\ninterface FiltrationCheckboxOption {\n value: string;\n label: ReactNode;\n /** Optional trailing count, e.g. number of matching results. */\n count?: number;\n disabled?: boolean;\n}\n\ninterface FiltrationCheckboxFilterProps extends Omit<React.ComponentProps<'div'>, 'defaultValue'> {\n options: FiltrationCheckboxOption[];\n /** Controlled selected values. */\n value?: string[];\n /** Uncontrolled initial selected values. */\n defaultValue?: string[];\n onValueChange?: (next: string[]) => void;\n /** Show a search field that filters options by label. */\n searchable?: boolean;\n searchPlaceholder?: string;\n /** Accessible label for the search field (it has no visible label). */\n searchLabel?: string;\n /** Collapse to the first N options behind a \"Show more\" toggle. */\n collapseAfter?: number;\n /** Maps the hidden-count → the expand button label. Default `Show {n} more`. */\n showMoreLabel?: (remaining: number) => ReactNode;\n showLessLabel?: ReactNode;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n}\n\ntype FiltrationOptionListProps = Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Root>,\n 'asChild'\n>;\n\ninterface FiltrationOptionProps extends Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n 'children'\n> {\n children: ReactNode;\n}\n\ninterface FiltrationFooterProps extends React.ComponentProps<'div'> {\n applyLabel?: ReactNode;\n clearLabel?: ReactNode;\n /** Appended to the apply label as `(n)`. */\n appliedCount?: number;\n onApply?: () => void;\n onClear?: () => void;\n /** Close the overlay when Apply is pressed (overlay only). Default `true`. */\n closeOnApply?: boolean;\n}\n\nfunction Filtration({\n overlay = true,\n open,\n defaultOpen,\n onOpenChange,\n children,\n}: FiltrationProps) {\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);\n const actualOpen = isControlled ? open : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const ctx = useMemo<FiltrationContextValue>(\n () => ({ overlay, open: actualOpen, setOpen }),\n [overlay, actualOpen, setOpen],\n );\n\n return (\n <FiltrationContext.Provider value={ctx}>\n {overlay ? (\n <Popover open={actualOpen} onOpenChange={setOpen}>\n {children}\n </Popover>\n ) : (\n children\n )}\n </FiltrationContext.Provider>\n );\n}\n\nfunction FiltrationTrigger({\n size = 'lg',\n startIcon,\n endIcon,\n className,\n children,\n ...props\n}: FiltrationTriggerProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n const warned = useRef(false);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !overlay && !warned.current) {\n warned.current = true;\n console.warn(\n '[@dev-dga/react] <FiltrationTrigger> only renders in overlay mode. In an inline ' +\n '<Filtration overlay={false}> the panel is always visible, so the trigger is omitted.',\n );\n }\n }, [overlay]);\n\n if (!overlay) return null;\n\n const button = (\n <Button\n variant=\"black\"\n size={size}\n startIcon={startIcon ?? <Filter aria-hidden=\"true\" />}\n endIcon={endIcon ?? <ChevronDown aria-hidden=\"true\" />}\n data-slot=\"filtration-trigger\"\n className={cn('ddga-filtration__trigger', className)}\n {...props}\n >\n {children}\n </Button>\n );\n\n return <PopoverTrigger asChild>{button}</PopoverTrigger>;\n}\n\nfunction FiltrationResults({\n className,\n children,\n 'aria-label': ariaLabel,\n ...props\n}: FiltrationResultsProps) {\n if (process.env.NODE_ENV !== 'production' && !ariaLabel && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] <FiltrationResults> should have an `aria-label` (e.g. \"Applied filters\") so the chip group has an accessible name.',\n );\n }\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"filtration-results\"\n className={cn('ddga-filtration-results', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n// SDGA draws an explicit hairline between every panel child (sections + footer),\n// inset 8px each side and floating in the 8px inter-child gap — not an edge border.\nfunction interleaveDividers(children: ReactNode): ReactNode {\n const items = Children.toArray(children).filter(Boolean);\n return items.map((child, i) => (\n <Fragment key={i}>\n {i > 0 ? <div className=\"ddga-filtration__divider\" aria-hidden=\"true\" /> : null}\n {child}\n </Fragment>\n ));\n}\n\nfunction FiltrationPanel({ className, children, ...props }: FiltrationPanelProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n if (overlay) {\n return (\n <PopoverContent\n data-slot=\"filtration-panel\"\n align=\"start\"\n className={cn(filtrationPanelVariants(), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </PopoverContent>\n );\n }\n\n if (process.env.NODE_ENV !== 'production' && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] An inline <FiltrationPanel> should have an `aria-label` or `aria-labelledby` so the region has an accessible name.',\n );\n }\n\n return (\n <section\n data-slot=\"filtration-panel\"\n className={cn(filtrationPanelVariants({ inline: true }), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </section>\n );\n}\n\nfunction FiltrationSection({\n label,\n count,\n formatCount = (n) => `(${n} selections)`,\n className,\n children,\n ...props\n}: FiltrationSectionProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={labelId}\n data-slot=\"filtration-section\"\n className={cn('ddga-filtration-section', className)}\n {...props}\n >\n <p id={labelId} className=\"ddga-filtration-section__label\">\n {label}\n {count != null ? (\n <span className=\"ddga-filtration-section__count\"> {formatCount(count)}</span>\n ) : null}\n </p>\n <div className=\"ddga-filtration-section__body\">{children}</div>\n </div>\n );\n}\n\nfunction optionText(label: ReactNode, value: string): string {\n return typeof label === 'string' ? label : value;\n}\n\nfunction FiltrationCheckboxFilter({\n options,\n value,\n defaultValue,\n onValueChange,\n searchable = false,\n searchPlaceholder,\n searchLabel = 'Search options',\n collapseAfter,\n showMoreLabel = (remaining) => `Show ${remaining} more`,\n showLessLabel = 'Show less',\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rest\n}: FiltrationCheckboxFilterProps) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<string[]>(defaultValue ?? []);\n const selected = isControlled ? value : internal;\n\n const [query, setQuery] = useState('');\n const [expanded, setExpanded] = useState(false);\n const listId = useId();\n\n const toggle = (optValue: string) => {\n const next = selected.includes(optValue)\n ? selected.filter((v) => v !== optValue)\n : [...selected, optValue];\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n };\n\n const filtered = useMemo(() => {\n const q = query.trim().toLowerCase();\n if (!searchable || !q) return options;\n return options.filter((o) => optionText(o.label, o.value).toLowerCase().includes(q));\n }, [options, query, searchable]);\n\n const collapsible = collapseAfter != null && filtered.length > collapseAfter;\n const visible = collapsible && !expanded ? filtered.slice(0, collapseAfter) : filtered;\n const remaining = collapsible ? filtered.length - (collapseAfter ?? 0) : 0;\n\n return (\n <div\n {...rest}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n data-slot=\"filtration-checkbox-filter\"\n className={cn('ddga-filtration-checkbox-filter', className)}\n >\n {searchable ? (\n <SearchBox\n aria-label={searchLabel}\n placeholder={searchPlaceholder}\n voiceSearch={false}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n ) : null}\n <div id={listId} className=\"ddga-filtration-checkbox-filter__list\">\n {visible.map((opt) => (\n <Checkbox\n key={opt.value}\n size=\"sm\"\n value={opt.value}\n checked={selected.includes(opt.value)}\n onCheckedChange={() => toggle(opt.value)}\n disabled={opt.disabled}\n label={\n <>\n {opt.label}\n {opt.count != null ? (\n <span className=\"ddga-filtration-checkbox-filter__count\" aria-hidden=\"true\">\n {' '}\n ({opt.count})\n </span>\n ) : null}\n </>\n }\n />\n ))}\n </div>\n {collapsible ? (\n <button\n type=\"button\"\n className=\"ddga-filtration-checkbox-filter__more\"\n aria-expanded={expanded}\n aria-controls={listId}\n onClick={() => setExpanded((prev) => !prev)}\n >\n {expanded ? showLessLabel : showMoreLabel(remaining)}\n <ChevronDown\n className={cn('ddga-filtration-checkbox-filter__more-icon', expanded && 'is-open')}\n aria-hidden=\"true\"\n />\n </button>\n ) : null}\n </div>\n );\n}\n\nfunction FiltrationOptionList({ className, ...props }: FiltrationOptionListProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"filtration-option-list\"\n className={cn('ddga-filtration-option-list', className)}\n {...props}\n />\n );\n}\n\nfunction FiltrationOption({ className, children, ...props }: FiltrationOptionProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"filtration-option\"\n className={cn('ddga-filtration-option', className)}\n {...props}\n >\n <span className=\"ddga-filtration-option__label\">{children}</span>\n <RadioGroupPrimitive.Indicator className=\"ddga-filtration-option__indicator\">\n <Check className=\"ddga-filtration-option__check\" aria-hidden=\"true\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nfunction FiltrationFooter({\n applyLabel = 'Apply Filters',\n clearLabel = 'Clear Filter',\n appliedCount,\n onApply,\n onClear,\n closeOnApply = true,\n className,\n ...props\n}: FiltrationFooterProps) {\n const ctx = useContext(FiltrationContext);\n\n const handleApply = () => {\n onApply?.();\n if (closeOnApply && ctx?.overlay) ctx.setOpen(false);\n };\n\n return (\n <div\n data-slot=\"filtration-footer\"\n className={cn('ddga-filtration-footer', className)}\n {...props}\n >\n <Button\n variant=\"primary\"\n size=\"lg\"\n className=\"ddga-filtration-footer__apply\"\n onClick={handleApply}\n >\n {applyLabel}\n {appliedCount != null ? ` (${appliedCount})` : ''}\n </Button>\n <Button variant=\"ghost\" size=\"lg\" onClick={onClear}>\n {clearLabel}\n </Button>\n </div>\n );\n}\n\nexport {\n Filtration,\n FiltrationTrigger,\n FiltrationResults,\n FiltrationPanel,\n FiltrationSection,\n FiltrationCheckboxFilter,\n FiltrationOptionList,\n FiltrationOption,\n FiltrationFooter,\n filtrationPanelVariants,\n};\nexport type {\n FiltrationProps,\n FiltrationTriggerProps,\n FiltrationResultsProps,\n FiltrationPanelProps,\n FiltrationSectionProps,\n FiltrationCheckboxFilterProps,\n FiltrationCheckboxOption,\n FiltrationOptionListProps,\n FiltrationOptionProps,\n FiltrationFooterProps,\n};\n"]}
@@ -1,10 +1,10 @@
1
+ import {
2
+ Button
3
+ } from "./chunk-GQAX2CH6.js";
1
4
  import {
2
5
  Check,
3
6
  ChevronDown
4
7
  } from "./chunk-FFGALWM2.js";
5
- import {
6
- Button
7
- } from "./chunk-GQAX2CH6.js";
8
8
  import {
9
9
  cn
10
10
  } from "./chunk-7NTT2UXP.js";
@@ -261,4 +261,4 @@ export {
261
261
  CardFooter,
262
262
  CardExpandableContent
263
263
  };
264
- //# sourceMappingURL=chunk-MECGQLHL.js.map
264
+ //# sourceMappingURL=chunk-NJIQJHJS.js.map
@@ -66,7 +66,7 @@ function SlideoutMenuContent({
66
66
  }
67
67
  function SlideoutMenuHeader({
68
68
  icon,
69
- showClose = true,
69
+ showCloseButton = true,
70
70
  closeLabel = "Close",
71
71
  className,
72
72
  children,
@@ -91,7 +91,7 @@ function SlideoutMenuHeader({
91
91
  ) : null,
92
92
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ddga-slideout-menu__header-text", children })
93
93
  ] }),
94
- showClose ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
94
+ showCloseButton ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
95
95
  _radixui.Dialog.Close,
96
96
  {
97
97
  className: "ddga-slideout-menu__close",
@@ -227,4 +227,4 @@ function SlideoutMenuClose({ className, ...props }) {
227
227
 
228
228
 
229
229
  exports.slideoutMenuContentVariants = slideoutMenuContentVariants; exports.SlideoutMenu = SlideoutMenu; exports.SlideoutMenuTrigger = SlideoutMenuTrigger; exports.SlideoutMenuContent = SlideoutMenuContent; exports.SlideoutMenuHeader = SlideoutMenuHeader; exports.SlideoutMenuTitle = SlideoutMenuTitle; exports.SlideoutMenuDescription = SlideoutMenuDescription; exports.SlideoutMenuBody = SlideoutMenuBody; exports.SlideoutMenuGroup = SlideoutMenuGroup; exports.SlideoutMenuItem = SlideoutMenuItem; exports.SlideoutMenuSeparator = SlideoutMenuSeparator; exports.SlideoutMenuFooter = SlideoutMenuFooter; exports.SlideoutMenuClose = SlideoutMenuClose;
230
- //# sourceMappingURL=chunk-QLV4RQVQ.cjs.map
230
+ //# sourceMappingURL=chunk-V7U2CXYL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-V7U2CXYL.cjs","../src/components/SlideoutMenu/SlideoutMenu.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-V7U2CXYL.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, useId } from 'react';\nimport { Dialog as DialogPrimitive, Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\nimport { Close } from '../../internal/icons';\n\n// Nav panel on Radix Dialog. Uses <ul>/<li>/link semantics, NOT role=\"menu\" (which breaks SR browse mode for site nav).\n\nconst slideoutMenuContentVariants = cva('ddga-slideout-menu', {\n variants: {\n side: {\n start: 'ddga-slideout-menu--start',\n end: 'ddga-slideout-menu--end',\n },\n /** Panel surface — SDGA \"Background Color\". Gray (`gray-100`) or White. */\n background: {\n gray: 'ddga-slideout-menu--gray',\n white: 'ddga-slideout-menu--white',\n },\n },\n defaultVariants: {\n side: 'start',\n background: 'gray',\n },\n});\n\ntype SlideoutMenuProps = React.ComponentProps<typeof DialogPrimitive.Root>;\ntype SlideoutMenuTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;\ntype SlideoutMenuCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;\n\ninterface SlideoutMenuContentProps\n extends\n React.ComponentProps<typeof DialogPrimitive.Content>,\n VariantProps<typeof slideoutMenuContentVariants> {}\n\ninterface SlideoutMenuHeaderProps extends React.ComponentProps<'div'> {\n /** Optional featured icon, shown in a 32px brand-tinted disc before the title. */\n icon?: React.ReactNode;\n /** Render the close (X) button. Defaults to `true`. */\n showCloseButton?: boolean;\n /** Localized aria-label for the close button. Defaults to `\"Close\"`. */\n closeLabel?: string;\n}\n\ninterface SlideoutMenuTitleProps extends React.ComponentProps<typeof DialogPrimitive.Title> {\n asChild?: boolean;\n}\n\ninterface SlideoutMenuDescriptionProps extends React.ComponentProps<\n typeof DialogPrimitive.Description\n> {\n asChild?: boolean;\n}\n\ntype SlideoutMenuSectionProps = React.ComponentProps<'div'> & { asChild?: boolean };\n\ninterface SlideoutMenuGroupProps extends React.ComponentProps<'div'> {\n /** Section heading rendered above the list (SDGA \"Group Label\"). */\n label?: React.ReactNode;\n}\n\ninterface SlideoutMenuItemProps extends React.ComponentProps<'button'> {\n /** Render as the child element (e.g. an `<a>` or router `<Link>`). */\n asChild?: boolean;\n /** Leading 24px icon. */\n icon?: React.ReactNode;\n /** Trailing slot — counter text, an icon button, a check, a `Tag`, etc. */\n trailing?: React.ReactNode;\n /** Marks the current page — sets `aria-current=\"page\"` and the active style. */\n active?: boolean;\n}\n\nfunction SlideoutMenu(props: SlideoutMenuProps) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction SlideoutMenuTrigger({ className, ...props }: SlideoutMenuTriggerProps) {\n return (\n <DialogPrimitive.Trigger data-slot=\"slideout-menu-trigger\" className={className} {...props} />\n );\n}\n\nfunction SlideoutMenuContent({\n side,\n background,\n className,\n children,\n ...props\n}: SlideoutMenuContentProps) {\n // Portal anchored to the provider root so theme/dark-mode inherit and the fixed panel escapes ancestor transforms.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay\n className=\"ddga-slideout-menu__overlay\"\n data-slot=\"slideout-menu-overlay\"\n />\n <DialogPrimitive.Content\n data-slot=\"slideout-menu-content\"\n className={cn(slideoutMenuContentVariants({ side, background }), className)}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\nfunction SlideoutMenuHeader({\n icon,\n showCloseButton = true,\n closeLabel = 'Close',\n className,\n children,\n ...props\n}: SlideoutMenuHeaderProps) {\n return (\n <div\n data-slot=\"slideout-menu-header\"\n className={cn('ddga-slideout-menu__header', className)}\n {...props}\n >\n <div className=\"ddga-slideout-menu__header-content\">\n {icon ? (\n <span\n data-slot=\"slideout-menu-featured-icon\"\n className=\"ddga-slideout-menu__featured-icon\"\n aria-hidden=\"true\"\n >\n {icon}\n </span>\n ) : null}\n <div className=\"ddga-slideout-menu__header-text\">{children}</div>\n </div>\n {showCloseButton ? (\n <DialogPrimitive.Close\n className=\"ddga-slideout-menu__close\"\n aria-label={closeLabel}\n data-slot=\"slideout-menu-close-x\"\n >\n <Close aria-hidden=\"true\" />\n </DialogPrimitive.Close>\n ) : null}\n </div>\n );\n}\n\nfunction SlideoutMenuTitle({ asChild, className, ...props }: SlideoutMenuTitleProps) {\n return (\n <DialogPrimitive.Title\n asChild={asChild}\n data-slot=\"slideout-menu-title\"\n className={cn('ddga-slideout-menu__title', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuDescription({ asChild, className, ...props }: SlideoutMenuDescriptionProps) {\n return (\n <DialogPrimitive.Description\n asChild={asChild}\n data-slot=\"slideout-menu-description\"\n className={cn('ddga-slideout-menu__description', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuBody({ asChild, className, ...props }: SlideoutMenuSectionProps) {\n // asChild lets consumers make the scroll region a `<nav aria-label>` landmark.\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp\n data-slot=\"slideout-menu-body\"\n className={cn('ddga-slideout-menu__body', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuGroup({ label, className, children, ...props }: SlideoutMenuGroupProps) {\n const labelId = useId();\n return (\n <div\n data-slot=\"slideout-menu-group\"\n className={cn('ddga-slideout-menu__group', className)}\n {...props}\n >\n {label != null ? (\n <div id={labelId} className=\"ddga-slideout-menu__group-label\">\n {label}\n </div>\n ) : null}\n <ul\n className=\"ddga-slideout-menu__list\"\n {...(label != null ? { 'aria-labelledby': labelId } : {})}\n >\n {children}\n </ul>\n </div>\n );\n}\n\nfunction SlideoutMenuItem({\n asChild,\n icon,\n trailing,\n active,\n className,\n children,\n ...props\n}: SlideoutMenuItemProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n return (\n <li data-slot=\"slideout-menu-item-wrapper\" className=\"ddga-slideout-menu__item-wrapper\">\n <Comp\n data-slot=\"slideout-menu-item\"\n className={cn('ddga-slideout-menu__item', className)}\n data-active={active ? '' : undefined}\n aria-current={active ? 'page' : undefined}\n {...(asChild ? {} : { type: 'button' as const })}\n {...props}\n >\n {icon ? (\n <span className=\"ddga-slideout-menu__item-icon\" aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n {asChild ? (\n <SlotPrimitive.Slottable>{children}</SlotPrimitive.Slottable>\n ) : (\n <span className=\"ddga-slideout-menu__item-label\">{children}</span>\n )}\n {trailing ? <span className=\"ddga-slideout-menu__item-trailing\">{trailing}</span> : null}\n </Comp>\n </li>\n );\n}\n\nfunction SlideoutMenuSeparator({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"slideout-menu-separator\"\n role=\"separator\"\n className={cn('ddga-slideout-menu__separator', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuFooter({ asChild, className, ...props }: SlideoutMenuSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp\n data-slot=\"slideout-menu-footer\"\n className={cn('ddga-slideout-menu__footer', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuClose({ className, ...props }: SlideoutMenuCloseProps) {\n return <DialogPrimitive.Close data-slot=\"slideout-menu-close\" className={className} {...props} />;\n}\n\nexport {\n SlideoutMenu,\n SlideoutMenuTrigger,\n SlideoutMenuContent,\n SlideoutMenuHeader,\n SlideoutMenuTitle,\n SlideoutMenuDescription,\n SlideoutMenuBody,\n SlideoutMenuGroup,\n SlideoutMenuItem,\n SlideoutMenuSeparator,\n SlideoutMenuFooter,\n SlideoutMenuClose,\n slideoutMenuContentVariants,\n};\nexport type {\n SlideoutMenuProps,\n SlideoutMenuTriggerProps,\n SlideoutMenuContentProps,\n SlideoutMenuHeaderProps,\n SlideoutMenuTitleProps,\n SlideoutMenuDescriptionProps,\n SlideoutMenuSectionProps,\n SlideoutMenuGroupProps,\n SlideoutMenuItemProps,\n SlideoutMenuCloseProps,\n};\n"]}
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TextInput
3
3
  } from "./chunk-4HBVLISS.js";
4
+ import {
5
+ Button
6
+ } from "./chunk-GQAX2CH6.js";
4
7
  import {
5
8
  Close,
6
9
  HelpCircleGlyph,
7
10
  Mic,
8
11
  SearchGlyph
9
12
  } from "./chunk-FFGALWM2.js";
10
- import {
11
- Button
12
- } from "./chunk-GQAX2CH6.js";
13
13
  import {
14
14
  cn
15
15
  } from "./chunk-7NTT2UXP.js";
@@ -127,4 +127,4 @@ function SearchBox({
127
127
  export {
128
128
  SearchBox
129
129
  };
130
- //# sourceMappingURL=chunk-4S2DSEXR.js.map
130
+ //# sourceMappingURL=chunk-WRUVDZRI.js.map
@@ -10,12 +10,12 @@
10
10
 
11
11
 
12
12
 
13
- var _chunkP7WYXL4Acjs = require('../../chunk-P7WYXL4A.cjs');
14
- require('../../chunk-YS2JJ73M.cjs');
13
+ var _chunkGXF5IZEXcjs = require('../../chunk-GXF5IZEX.cjs');
15
14
  require('../../chunk-EACNRR3C.cjs');
16
15
  require('../../chunk-5NENDJOM.cjs');
17
16
  require('../../chunk-3RUIKBH4.cjs');
18
17
  require('../../chunk-JCOUZVG3.cjs');
18
+ require('../../chunk-YS2JJ73M.cjs');
19
19
  require('../../chunk-V6MXOJQ4.cjs');
20
20
 
21
21
 
@@ -28,5 +28,5 @@ require('../../chunk-V6MXOJQ4.cjs');
28
28
 
29
29
 
30
30
 
31
- exports.Card = _chunkP7WYXL4Acjs.Card; exports.CardContent = _chunkP7WYXL4Acjs.CardContent; exports.CardDescription = _chunkP7WYXL4Acjs.CardDescription; exports.CardExpandableContent = _chunkP7WYXL4Acjs.CardExpandableContent; exports.CardFooter = _chunkP7WYXL4Acjs.CardFooter; exports.CardHeader = _chunkP7WYXL4Acjs.CardHeader; exports.CardIcon = _chunkP7WYXL4Acjs.CardIcon; exports.CardImage = _chunkP7WYXL4Acjs.CardImage; exports.CardTitle = _chunkP7WYXL4Acjs.CardTitle; exports.cardVariants = _chunkP7WYXL4Acjs.cardVariants;
31
+ exports.Card = _chunkGXF5IZEXcjs.Card; exports.CardContent = _chunkGXF5IZEXcjs.CardContent; exports.CardDescription = _chunkGXF5IZEXcjs.CardDescription; exports.CardExpandableContent = _chunkGXF5IZEXcjs.CardExpandableContent; exports.CardFooter = _chunkGXF5IZEXcjs.CardFooter; exports.CardHeader = _chunkGXF5IZEXcjs.CardHeader; exports.CardIcon = _chunkGXF5IZEXcjs.CardIcon; exports.CardImage = _chunkGXF5IZEXcjs.CardImage; exports.CardTitle = _chunkGXF5IZEXcjs.CardTitle; exports.cardVariants = _chunkGXF5IZEXcjs.cardVariants;
32
32
  //# sourceMappingURL=Card.cjs.map
@@ -10,12 +10,12 @@ import {
10
10
  CardImage,
11
11
  CardTitle,
12
12
  cardVariants
13
- } from "../../chunk-MECGQLHL.js";
14
- import "../../chunk-FFGALWM2.js";
13
+ } from "../../chunk-NJIQJHJS.js";
15
14
  import "../../chunk-N5JDL4VE.js";
16
15
  import "../../chunk-GQAX2CH6.js";
17
16
  import "../../chunk-TH3ITGUM.js";
18
17
  import "../../chunk-FO7IICMM.js";
18
+ import "../../chunk-FFGALWM2.js";
19
19
  import "../../chunk-7NTT2UXP.js";
20
20
  export {
21
21
  Card,
@@ -10,12 +10,12 @@
10
10
 
11
11
 
12
12
 
13
- var _chunkP7WYXL4Acjs = require('../../chunk-P7WYXL4A.cjs');
14
- require('../../chunk-YS2JJ73M.cjs');
13
+ var _chunkGXF5IZEXcjs = require('../../chunk-GXF5IZEX.cjs');
15
14
  require('../../chunk-EACNRR3C.cjs');
16
15
  require('../../chunk-5NENDJOM.cjs');
17
16
  require('../../chunk-3RUIKBH4.cjs');
18
17
  require('../../chunk-JCOUZVG3.cjs');
18
+ require('../../chunk-YS2JJ73M.cjs');
19
19
  require('../../chunk-V6MXOJQ4.cjs');
20
20
 
21
21
 
@@ -28,5 +28,5 @@ require('../../chunk-V6MXOJQ4.cjs');
28
28
 
29
29
 
30
30
 
31
- exports.Card = _chunkP7WYXL4Acjs.Card; exports.CardContent = _chunkP7WYXL4Acjs.CardContent; exports.CardDescription = _chunkP7WYXL4Acjs.CardDescription; exports.CardExpandableContent = _chunkP7WYXL4Acjs.CardExpandableContent; exports.CardFooter = _chunkP7WYXL4Acjs.CardFooter; exports.CardHeader = _chunkP7WYXL4Acjs.CardHeader; exports.CardIcon = _chunkP7WYXL4Acjs.CardIcon; exports.CardImage = _chunkP7WYXL4Acjs.CardImage; exports.CardTitle = _chunkP7WYXL4Acjs.CardTitle; exports.cardVariants = _chunkP7WYXL4Acjs.cardVariants;
31
+ exports.Card = _chunkGXF5IZEXcjs.Card; exports.CardContent = _chunkGXF5IZEXcjs.CardContent; exports.CardDescription = _chunkGXF5IZEXcjs.CardDescription; exports.CardExpandableContent = _chunkGXF5IZEXcjs.CardExpandableContent; exports.CardFooter = _chunkGXF5IZEXcjs.CardFooter; exports.CardHeader = _chunkGXF5IZEXcjs.CardHeader; exports.CardIcon = _chunkGXF5IZEXcjs.CardIcon; exports.CardImage = _chunkGXF5IZEXcjs.CardImage; exports.CardTitle = _chunkGXF5IZEXcjs.CardTitle; exports.cardVariants = _chunkGXF5IZEXcjs.cardVariants;
32
32
  //# sourceMappingURL=index.cjs.map
@@ -10,12 +10,12 @@ import {
10
10
  CardImage,
11
11
  CardTitle,
12
12
  cardVariants
13
- } from "../../chunk-MECGQLHL.js";
14
- import "../../chunk-FFGALWM2.js";
13
+ } from "../../chunk-NJIQJHJS.js";
15
14
  import "../../chunk-N5JDL4VE.js";
16
15
  import "../../chunk-GQAX2CH6.js";
17
16
  import "../../chunk-TH3ITGUM.js";
18
17
  import "../../chunk-FO7IICMM.js";
18
+ import "../../chunk-FFGALWM2.js";
19
19
  import "../../chunk-7NTT2UXP.js";
20
20
  export {
21
21
  Card,
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkNGDKAG2Ocjs = require('../../chunk-NGDKAG2O.cjs');
5
- require('../../chunk-YS2JJ73M.cjs');
4
+ var _chunkK27GNXBFcjs = require('../../chunk-K27GNXBF.cjs');
6
5
  require('../../chunk-EACNRR3C.cjs');
7
6
  require('../../chunk-5NENDJOM.cjs');
8
7
  require('../../chunk-3RUIKBH4.cjs');
9
8
  require('../../chunk-JCOUZVG3.cjs');
9
+ require('../../chunk-YS2JJ73M.cjs');
10
10
  require('../../chunk-SICSD3HO.cjs');
11
11
  require('../../chunk-3UT22WQM.cjs');
12
12
  require('../../chunk-NH3KGR65.cjs');
13
13
  require('../../chunk-V6MXOJQ4.cjs');
14
14
 
15
15
 
16
- exports.FileUpload = _chunkNGDKAG2Ocjs.FileUpload;
16
+ exports.FileUpload = _chunkK27GNXBFcjs.FileUpload;
17
17
  //# sourceMappingURL=FileUpload.cjs.map
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  FileUpload
4
- } from "../../chunk-WLJHHTE2.js";
5
- import "../../chunk-FFGALWM2.js";
4
+ } from "../../chunk-EZRPCQSP.js";
6
5
  import "../../chunk-N5JDL4VE.js";
7
6
  import "../../chunk-GQAX2CH6.js";
8
7
  import "../../chunk-TH3ITGUM.js";
9
8
  import "../../chunk-FO7IICMM.js";
9
+ import "../../chunk-FFGALWM2.js";
10
10
  import "../../chunk-WI5UIBM5.js";
11
11
  import "../../chunk-E5ZIKIGB.js";
12
12
  import "../../chunk-HN5AFDQA.js";
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-5QWBRWSN.cjs');
2
2
 
3
3
 
4
- var _chunkNGDKAG2Ocjs = require('../../chunk-NGDKAG2O.cjs');
5
- require('../../chunk-YS2JJ73M.cjs');
4
+ var _chunkK27GNXBFcjs = require('../../chunk-K27GNXBF.cjs');
6
5
  require('../../chunk-EACNRR3C.cjs');
7
6
  require('../../chunk-5NENDJOM.cjs');
8
7
  require('../../chunk-3RUIKBH4.cjs');
9
8
  require('../../chunk-JCOUZVG3.cjs');
9
+ require('../../chunk-YS2JJ73M.cjs');
10
10
  require('../../chunk-SICSD3HO.cjs');
11
11
  require('../../chunk-3UT22WQM.cjs');
12
12
  require('../../chunk-NH3KGR65.cjs');
13
13
  require('../../chunk-V6MXOJQ4.cjs');
14
14
 
15
15
 
16
- exports.FileUpload = _chunkNGDKAG2Ocjs.FileUpload;
16
+ exports.FileUpload = _chunkK27GNXBFcjs.FileUpload;
17
17
  //# sourceMappingURL=index.cjs.map
@@ -1,12 +1,12 @@
1
1
  import "../../chunk-MZALAXZZ.js";
2
2
  import {
3
3
  FileUpload
4
- } from "../../chunk-WLJHHTE2.js";
5
- import "../../chunk-FFGALWM2.js";
4
+ } from "../../chunk-EZRPCQSP.js";
6
5
  import "../../chunk-N5JDL4VE.js";
7
6
  import "../../chunk-GQAX2CH6.js";
8
7
  import "../../chunk-TH3ITGUM.js";
9
8
  import "../../chunk-FO7IICMM.js";
9
+ import "../../chunk-FFGALWM2.js";
10
10
  import "../../chunk-WI5UIBM5.js";
11
11
  import "../../chunk-E5ZIKIGB.js";
12
12
  import "../../chunk-HN5AFDQA.js";
@@ -10,20 +10,20 @@
10
10
 
11
11
 
12
12
 
13
- var _chunkJ7HSAVFFcjs = require('../../chunk-J7HSAVFF.cjs');
13
+ var _chunkK7GLIST7cjs = require('../../chunk-K7GLIST7.cjs');
14
14
  require('../../chunk-SFLZT7UZ.cjs');
15
- require('../../chunk-TGM4JFWI.cjs');
15
+ require('../../chunk-7GAELGEB.cjs');
16
16
  require('../../chunk-C37NYN62.cjs');
17
17
  require('../../chunk-EQINOHB6.cjs');
18
18
  require('../../chunk-RKGIGQ5C.cjs');
19
19
  require('../../chunk-BNCUXVZF.cjs');
20
- require('../../chunk-SWPZ3HFY.cjs');
21
- require('../../chunk-FV6E33FY.cjs');
22
- require('../../chunk-YS2JJ73M.cjs');
23
20
  require('../../chunk-EACNRR3C.cjs');
24
21
  require('../../chunk-5NENDJOM.cjs');
25
22
  require('../../chunk-3RUIKBH4.cjs');
26
23
  require('../../chunk-JCOUZVG3.cjs');
24
+ require('../../chunk-SWPZ3HFY.cjs');
25
+ require('../../chunk-FV6E33FY.cjs');
26
+ require('../../chunk-YS2JJ73M.cjs');
27
27
  require('../../chunk-SICSD3HO.cjs');
28
28
  require('../../chunk-3UT22WQM.cjs');
29
29
  require('../../chunk-NH3KGR65.cjs');
@@ -40,5 +40,5 @@ require('../../chunk-V6MXOJQ4.cjs');
40
40
 
41
41
 
42
42
 
43
- exports.Filtration = _chunkJ7HSAVFFcjs.Filtration; exports.FiltrationCheckboxFilter = _chunkJ7HSAVFFcjs.FiltrationCheckboxFilter; exports.FiltrationFooter = _chunkJ7HSAVFFcjs.FiltrationFooter; exports.FiltrationOption = _chunkJ7HSAVFFcjs.FiltrationOption; exports.FiltrationOptionList = _chunkJ7HSAVFFcjs.FiltrationOptionList; exports.FiltrationPanel = _chunkJ7HSAVFFcjs.FiltrationPanel; exports.FiltrationResults = _chunkJ7HSAVFFcjs.FiltrationResults; exports.FiltrationSection = _chunkJ7HSAVFFcjs.FiltrationSection; exports.FiltrationTrigger = _chunkJ7HSAVFFcjs.FiltrationTrigger; exports.filtrationPanelVariants = _chunkJ7HSAVFFcjs.filtrationPanelVariants;
43
+ exports.Filtration = _chunkK7GLIST7cjs.Filtration; exports.FiltrationCheckboxFilter = _chunkK7GLIST7cjs.FiltrationCheckboxFilter; exports.FiltrationFooter = _chunkK7GLIST7cjs.FiltrationFooter; exports.FiltrationOption = _chunkK7GLIST7cjs.FiltrationOption; exports.FiltrationOptionList = _chunkK7GLIST7cjs.FiltrationOptionList; exports.FiltrationPanel = _chunkK7GLIST7cjs.FiltrationPanel; exports.FiltrationResults = _chunkK7GLIST7cjs.FiltrationResults; exports.FiltrationSection = _chunkK7GLIST7cjs.FiltrationSection; exports.FiltrationTrigger = _chunkK7GLIST7cjs.FiltrationTrigger; exports.filtrationPanelVariants = _chunkK7GLIST7cjs.filtrationPanelVariants;
44
44
  //# sourceMappingURL=Filtration.cjs.map
@@ -10,20 +10,20 @@ import {
10
10
  FiltrationSection,
11
11
  FiltrationTrigger,
12
12
  filtrationPanelVariants
13
- } from "../../chunk-J53OY747.js";
13
+ } from "../../chunk-AHUL5WRD.js";
14
14
  import "../../chunk-HBCSQSOP.js";
15
- import "../../chunk-4S2DSEXR.js";
15
+ import "../../chunk-WRUVDZRI.js";
16
16
  import "../../chunk-CWUZ4SZN.js";
17
17
  import "../../chunk-4HBVLISS.js";
18
18
  import "../../chunk-ZPUYNM37.js";
19
19
  import "../../chunk-APD5WA65.js";
20
- import "../../chunk-TZWNX7FF.js";
21
- import "../../chunk-TNIRKGXY.js";
22
- import "../../chunk-FFGALWM2.js";
23
20
  import "../../chunk-N5JDL4VE.js";
24
21
  import "../../chunk-GQAX2CH6.js";
25
22
  import "../../chunk-TH3ITGUM.js";
26
23
  import "../../chunk-FO7IICMM.js";
24
+ import "../../chunk-TZWNX7FF.js";
25
+ import "../../chunk-TNIRKGXY.js";
26
+ import "../../chunk-FFGALWM2.js";
27
27
  import "../../chunk-WI5UIBM5.js";
28
28
  import "../../chunk-E5ZIKIGB.js";
29
29
  import "../../chunk-HN5AFDQA.js";