@arbor-education/design-system.components 4.6.3 → 4.7.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 (67) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/components/fileUpload/FileUpload.d.ts +12 -4
  3. package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
  4. package/dist/components/fileUpload/FileUpload.js +32 -7
  5. package/dist/components/fileUpload/FileUpload.js.map +1 -1
  6. package/dist/components/fileUpload/FileUpload.stories.d.ts +1 -0
  7. package/dist/components/fileUpload/FileUpload.stories.d.ts.map +1 -1
  8. package/dist/components/fileUpload/FileUpload.stories.js +59 -6
  9. package/dist/components/fileUpload/FileUpload.stories.js.map +1 -1
  10. package/dist/components/fileUpload/FileUpload.test.js +102 -1
  11. package/dist/components/fileUpload/FileUpload.test.js.map +1 -1
  12. package/dist/components/fileUpload/FileUploadLinkModal.d.ts +14 -0
  13. package/dist/components/fileUpload/FileUploadLinkModal.d.ts.map +1 -0
  14. package/dist/components/fileUpload/FileUploadLinkModal.js +61 -0
  15. package/dist/components/fileUpload/FileUploadLinkModal.js.map +1 -0
  16. package/dist/components/formField/inputs/text/TextInput.d.ts.map +1 -1
  17. package/dist/components/formField/inputs/text/TextInput.js +2 -2
  18. package/dist/components/formField/inputs/text/TextInput.js.map +1 -1
  19. package/dist/components/kpiCard/KPICard.stories.js +2 -2
  20. package/dist/components/kpiCard/KPICard.stories.js.map +1 -1
  21. package/dist/components/sideNavigation/SideNavigation.d.ts +5 -0
  22. package/dist/components/sideNavigation/SideNavigation.d.ts.map +1 -1
  23. package/dist/components/sideNavigation/SideNavigation.js +5 -4
  24. package/dist/components/sideNavigation/SideNavigation.js.map +1 -1
  25. package/dist/components/sideNavigation/SideNavigation.stories.d.ts.map +1 -1
  26. package/dist/components/sideNavigation/SideNavigation.stories.js +6 -2
  27. package/dist/components/sideNavigation/SideNavigation.stories.js.map +1 -1
  28. package/dist/components/sideNavigation/SideNavigation.test.js +13 -0
  29. package/dist/components/sideNavigation/SideNavigation.test.js.map +1 -1
  30. package/dist/components/sideNavigation/SideNavigationTitle.d.ts.map +1 -1
  31. package/dist/components/sideNavigation/SideNavigationTitle.js +1 -1
  32. package/dist/components/sideNavigation/SideNavigationTitle.js.map +1 -1
  33. package/dist/components/sidebar/Sidebar.stories.d.ts.map +1 -1
  34. package/dist/components/sidebar/Sidebar.stories.js +3 -11
  35. package/dist/components/sidebar/Sidebar.stories.js.map +1 -1
  36. package/dist/components/table/columnFilters/TimeFilter/TimeFilter.d.ts.map +1 -1
  37. package/dist/components/table/columnFilters/TimeFilter/TimeFilter.js +1 -1
  38. package/dist/components/table/columnFilters/TimeFilter/TimeFilter.js.map +1 -1
  39. package/dist/components/table/columnFilters/TimeFilter/TimeFilter.test.js +2 -2
  40. package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.d.ts +1 -0
  41. package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.d.ts.map +1 -1
  42. package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.js +2 -2
  43. package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.js.map +1 -1
  44. package/dist/components/table/pagination/PageSizeSelector.js +1 -1
  45. package/dist/components/table/pagination/PageSizeSelector.js.map +1 -1
  46. package/dist/components/table/pagination/Pagination.test.js +3 -3
  47. package/dist/components/table/pagination/Pagination.test.js.map +1 -1
  48. package/dist/index.css +20 -1
  49. package/dist/index.css.map +1 -1
  50. package/package.json +1 -1
  51. package/src/components/fileUpload/FileUpload.stories.tsx +74 -6
  52. package/src/components/fileUpload/FileUpload.test.tsx +139 -1
  53. package/src/components/fileUpload/FileUpload.tsx +109 -14
  54. package/src/components/fileUpload/FileUploadLinkModal.tsx +109 -0
  55. package/src/components/fileUpload/fileUpload.scss +24 -1
  56. package/src/components/formField/inputs/text/TextInput.tsx +2 -0
  57. package/src/components/kpiCard/KPICard.stories.tsx +2 -2
  58. package/src/components/sideNavigation/SideNavigation.stories.tsx +6 -2
  59. package/src/components/sideNavigation/SideNavigation.test.tsx +21 -0
  60. package/src/components/sideNavigation/SideNavigation.tsx +19 -2
  61. package/src/components/sideNavigation/SideNavigationTitle.tsx +5 -3
  62. package/src/components/sidebar/Sidebar.stories.tsx +3 -16
  63. package/src/components/table/columnFilters/TimeFilter/TimeFilter.test.tsx +2 -2
  64. package/src/components/table/columnFilters/TimeFilter/TimeFilter.tsx +4 -1
  65. package/src/components/table/columnFilters/filterResetButton/FilterResetButton.tsx +3 -2
  66. package/src/components/table/pagination/PageSizeSelector.tsx +1 -1
  67. package/src/components/table/pagination/Pagination.test.tsx +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#298](https://github.com/arbor-education/design-system.components/pull/298) [`86257e6`](https://github.com/arbor-education/design-system.components/commit/86257e6d7aefa24aeb2d1167be2db5889b7396e0) Thanks [@Alex-DN-SP](https://github.com/Alex-DN-SP)! - MIS-73773 Add URL link attachments to FileUpload with add and edit modal
8
+
9
+ - [#296](https://github.com/arbor-education/design-system.components/pull/296) [`aecd32a`](https://github.com/arbor-education/design-system.components/commit/aecd32aed10a75ed2d7fee35197b6b148926e500) Thanks [@manisha-bit-beep](https://github.com/manisha-bit-beep)! - MIS-75861 SideNavigation: added a `title` prop that renders a visible `<h2>` above the list and names the `<nav>` via `aria-labelledby` (this overrides `ariaLabel` when set). `SideNavigation.Title` is now a list item, so it must be used inside `<SideNavigation>`; rendering it outside the component produces an orphan `<li>`. Use `title` for the panel heading instead.
10
+
11
+ ### Patch Changes
12
+
13
+ - [#294](https://github.com/arbor-education/design-system.components/pull/294) [`455802e`](https://github.com/arbor-education/design-system.components/commit/455802e2ba15c2b7169597d0687e0e3192851412) Thanks [@manisha-bit-beep](https://github.com/manisha-bit-beep)! - MIS-75858 Fixing accessibility for FileUpload
14
+
15
+ - [#300](https://github.com/arbor-education/design-system.components/pull/300) [`325cb36`](https://github.com/arbor-education/design-system.components/commit/325cb360224c16686fe5419f56d1e55ef577ae2e) Thanks [@manisha-bit-beep](https://github.com/manisha-bit-beep)! - MIS-75866 Added aria labels for reset options on time filter
16
+
17
+ - [#299](https://github.com/arbor-education/design-system.components/pull/299) [`c44d478`](https://github.com/arbor-education/design-system.components/commit/c44d478d176635df12b40bc5b3f34b9e29d7041c) Thanks [@manisha-bit-beep](https://github.com/manisha-bit-beep)! - MIS-75862 Added aria labels for progress bar
18
+
3
19
  ## 4.6.3
4
20
 
5
21
  ### Patch Changes
@@ -1,10 +1,18 @@
1
1
  import type { IconName } from '../icon/allowedIcons.js';
2
- import type { ReactNode } from 'react';
2
+ import { type AnchorHTMLAttributes, type ReactElement, type ReactNode } from 'react';
3
+ import type { WidgetRenderLinkArgs } from '../widget/types.js';
4
+ import { type FileUploadLink } from './FileUploadLinkModal.js';
5
+ export type { FileUploadLink };
6
+ type LinkAnchorProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'className' | 'children'>;
3
7
  type UploadedFile = {
4
8
  fileName: string;
5
9
  icon?: IconName;
6
- fileType: string;
7
- fileSize: string;
10
+ fileType?: string;
11
+ fileSize?: string;
12
+ href?: string;
13
+ linkProps?: LinkAnchorProps;
14
+ renderLink?: (args: WidgetRenderLinkArgs) => ReactElement;
15
+ onEdit?: (link: FileUploadLink) => void;
8
16
  onDownload?: () => void;
9
17
  onDelete: () => void;
10
18
  progressPercentage?: number;
@@ -15,7 +23,7 @@ export type FileUploadProps = {
15
23
  uploadedFiles: UploadedFile[];
16
24
  uploadFiles: (files: File[]) => void;
17
25
  dropzoneContent?: ReactNode;
26
+ onAddLink?: (link: FileUploadLink) => void;
18
27
  };
19
28
  export declare const FileUpload: (props: FileUploadProps) => import("react").JSX.Element;
20
- export {};
21
29
  //# sourceMappingURL=FileUpload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,gCAuHhD,CAAC"}
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAY,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEpF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,KAAK,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;AAExG,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C,CAAC;AAgBF,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,gCA6LhD,CAAC"}
@@ -1,21 +1,46 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import classNames from 'classnames';
3
3
  import { Button } from '../button/Button.js';
4
4
  import { Card } from '../card/Card.js';
5
5
  import { Icon } from '../icon/Icon.js';
6
6
  import { Separator } from '../separator/Separator.js';
7
+ import { useState } from 'react';
7
8
  import Dropzone from 'react-dropzone';
8
9
  import { Progress } from '../progress/Progress.js';
10
+ import { FileUploadLinkModal } from './FileUploadLinkModal.js';
11
+ const renderFileLink = ({ href = '', linkProps, renderLink }, children) => {
12
+ const className = 'ds-file-upload__file-link';
13
+ if (renderLink) {
14
+ return renderLink({ href, className, children, linkProps });
15
+ }
16
+ return (_jsx("a", { href: href, target: "_blank", rel: "noopener noreferrer", className: className, ...linkProps, children: children }));
17
+ };
9
18
  export const FileUpload = (props) => {
10
- const { className, uploadedFiles, uploadFiles, dropzoneContent = (_jsxs("p", { children: ["Drag and drop, or", ' ', _jsx(Button, { variant: "text-link", children: "click to upload" })] })), } = props;
19
+ const { className, uploadedFiles, uploadFiles, onAddLink, } = props;
20
+ const [linkPopup, setLinkPopup] = useState(null);
21
+ const dropzoneContent = props.dropzoneContent ?? (_jsxs(_Fragment, { children: [_jsx("p", { children: onAddLink
22
+ ? (_jsxs(_Fragment, { children: ["Drag and drop,", ' ', _jsx(Button, { variant: "text-link", onClick: (event) => {
23
+ event.stopPropagation();
24
+ setLinkPopup({ mode: 'add' });
25
+ }, children: "add a link" }), ' ', "or"] }))
26
+ : 'Drag and drop or' }), _jsx(Button, { variant: "secondary", children: "Browse files" })] }));
27
+ const editedFile = linkPopup?.mode === 'edit' ? uploadedFiles[linkPopup.index] : undefined;
11
28
  return (_jsxs("div", { className: classNames('ds-file-upload', className), children: [_jsx(Dropzone, { onDrop: (acceptedFiles) => {
12
29
  uploadFiles(acceptedFiles);
13
- }, children: ({ getRootProps, getInputProps }) => (_jsx(Card, { children: _jsxs("div", { ...getRootProps(), className: "ds-file-upload__dropzone-input", children: [_jsx("input", { ...getInputProps() }), _jsxs("div", { className: "ds-file-upload__dropzone-content", children: [_jsx("span", { className: "ds-file-upload__icon-wrapper", children: _jsx(Icon, { name: "cloud-upload", size: 24, color: "var(--color-brand-600)" }) }), _jsx("div", { className: "ds-file-upload__dropzone-text-wrapper", children: dropzoneContent })] })] }) })) }), uploadedFiles.length > 0 && (_jsx(Card, { className: "ds-file-upload__file-list", children: uploadedFiles.map((file, index) => {
14
- const { fileName, icon = 'file', fileSize, fileType, onDelete, onDownload, hasUploadFailed, progressPercentage, } = file;
15
- return (_jsxs("div", { className: "ds-file-upload__file-outer", children: [_jsxs("span", { className: "ds-file-upload__file", children: [_jsx("span", { className: "ds-file-upload__icon-wrapper", children: _jsx(Icon, { size: 24, name: icon, color: "var(--color-brand-600)" }) }), _jsxs("span", { className: "ds-file-upload__file-details", children: [_jsx("span", { className: "ds-file-upload__file-name", children: fileName }), hasUploadFailed
30
+ }, children: ({ getRootProps, getInputProps }) => (_jsx(Card, { children: _jsxs("div", { ...getRootProps(), className: "ds-file-upload__dropzone-input", children: [_jsx("input", { ...getInputProps({ 'aria-label': 'Upload files' }) }), _jsxs("div", { className: "ds-file-upload__dropzone-content", children: [_jsx("span", { className: "ds-file-upload__icon-wrapper", children: _jsx(Icon, { name: "cloud-upload", size: 24, color: "var(--color-brand-600)" }) }), _jsx("div", { className: "ds-file-upload__dropzone-text-wrapper", children: dropzoneContent })] })] }) })) }), linkPopup?.mode === 'add' && onAddLink && (_jsx(FileUploadLinkModal, { title: "Add URL attachment", submitLabel: "Add", onSubmit: (link) => {
31
+ onAddLink(link);
32
+ setLinkPopup(null);
33
+ }, onCancel: () => setLinkPopup(null) })), editedFile?.href && editedFile.onEdit && (_jsx(FileUploadLinkModal, { title: "Update URL attachment", submitLabel: "Update", initialLink: { url: editedFile.href, name: editedFile.fileName }, onSubmit: (link) => {
34
+ editedFile.onEdit?.(link);
35
+ setLinkPopup(null);
36
+ }, onCancel: () => setLinkPopup(null) })), uploadedFiles.length > 0 && (_jsx(Card, { className: "ds-file-upload__file-list", children: uploadedFiles.map((file, index) => {
37
+ const { fileName, fileSize, fileType, href, onEdit, onDelete, onDownload, hasUploadFailed, progressPercentage, } = file;
38
+ const icon = file.icon ?? (href ? 'link' : 'file');
39
+ const nameNode = _jsx("span", { className: "ds-file-upload__file-name", children: fileName });
40
+ return (_jsxs("div", { className: "ds-file-upload__file-outer", children: [_jsxs("span", { className: "ds-file-upload__file", children: [_jsx("span", { className: "ds-file-upload__icon-wrapper", children: _jsx(Icon, { size: 24, name: icon, color: "var(--color-brand-600)" }) }), _jsxs("span", { className: "ds-file-upload__file-details", children: [href ? renderFileLink(file, nameNode) : nameNode, hasUploadFailed
16
41
  ? (_jsxs("span", { className: "ds-file-upload__upload-failed", children: [_jsx(Icon, { name: "circle-alert" }), ' ', "Upload failed"] }))
17
- : _jsx("span", { className: "ds-file-upload__file-meta", children: `${fileType}, ${fileSize}` })] }), onDownload && (_jsx(Button, { variant: "secondary", isRound: true, onClick: onDownload, children: _jsx(Icon, { name: "download", screenReaderText: "Download file" }) })), onDelete && (_jsx(Button, { variant: "secondary", isRound: true, onClick: onDelete, children: _jsx(Icon, { name: "trash", screenReaderText: "Delete file" }) }))] }), typeof progressPercentage === 'number' && progressPercentage < 100
18
- && (_jsx(Progress, { value: progressPercentage, className: "ds-file-upload__progress-bar", indicatorClassName: classNames('ds-file-upload__progress-bar-indicator', {
42
+ : _jsx("span", { className: "ds-file-upload__file-meta", children: href ?? `${fileType}, ${fileSize}` })] }), href && (_jsx(Button, { variant: "secondary", isRound: true, onClick: () => navigator.clipboard.writeText(href), children: _jsx(Icon, { name: "copy", screenReaderText: "Copy link" }) })), href && onEdit && (_jsx(Button, { variant: "secondary", isRound: true, onClick: () => setLinkPopup({ mode: 'edit', index }), children: _jsx(Icon, { name: "pencil", screenReaderText: "Edit link" }) })), onDownload && (_jsx(Button, { variant: "secondary", isRound: true, onClick: onDownload, children: _jsx(Icon, { name: "download", screenReaderText: "Download file" }) })), onDelete && (_jsx(Button, { variant: "secondary", isRound: true, onClick: onDelete, children: _jsx(Icon, { name: "trash", screenReaderText: href ? 'Delete link' : 'Delete file' }) }))] }), typeof progressPercentage === 'number' && progressPercentage < 100
43
+ && (_jsx(Progress, { value: progressPercentage, className: "ds-file-upload__progress-bar", "aria-label": "Upload progress bar", indicatorClassName: classNames('ds-file-upload__progress-bar-indicator', {
19
44
  'ds-file-upload__progress-bar-indicator--failed': hasUploadFailed,
20
45
  }) })), index < uploadedFiles.length - 1 && _jsx(Separator, {})] }, fileName));
21
46
  }) }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.tsx"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ export default meta;
61
61
  type Story = StoryObj<typeof meta>;
62
62
  export declare const Default: Story;
63
63
  export declare const WithUploadedFiles: Story;
64
+ export declare const WithLinks: Story;
64
65
  export declare const SingleFile: Story;
65
66
  export declare const WithoutDownloadButton: Story;
66
67
  export declare const UploadInProgress: Story;
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.stories.d.ts","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAc5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAyGvD,iBAAS,kBAAkB,gCAmB1B;AAID,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkDnC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,KAsD/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,KAgDxB,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,KA8DnC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,KAmF9B,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,KAiE1B,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,KAuEhC,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,KAiDnC,CAAC;AA2FF,eAAO,MAAM,wBAAwB,EAAE,KAuGtC,CAAC"}
1
+ {"version":3,"file":"FileUpload.stories.d.ts","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAe5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA6GvD,iBAAS,kBAAkB,gCAmB1B;AAID,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkDnC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,KAsD/B,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,KA2DvB,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,KAgDxB,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,KA8DnC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,KAmF9B,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,KAiE1B,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,KAuEhC,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,KAiDnC,CAAC;AA2FF,eAAO,MAAM,wBAAwB,EAAE,KAuGtC,CAAC"}
@@ -75,8 +75,12 @@ it is exported you can inline the shape or declare your own local type:
75
75
  type UploadedFile = {
76
76
  fileName: string;
77
77
  icon?: string; // any IconName from the design system Icon component
78
- fileType: string; // e.g. 'PDF', 'XLSX', 'DOCX'
79
- fileSize: string; // human-readable, e.g. '1.2 MB'
78
+ fileType?: string; // e.g. 'PDF', 'XLSX', 'DOCX'
79
+ fileSize?: string; // human-readable, e.g. '1.2 MB'
80
+ href?: string; // renders the row as a link; fileName becomes the link name
81
+ linkProps?: object; // extra anchor attributes (target/rel default to new tab, noopener)
82
+ renderLink?: (args: WidgetRenderLinkArgs) => ReactElement; // e.g. router links
83
+ onEdit?: (link: { url: string; name: string }) => void; // link rows only
80
84
  onDownload?: () => void;
81
85
  onDelete: () => void;
82
86
  progressPercentage?: number; // 0–100; hidden at exactly 100
@@ -89,7 +93,7 @@ const RELATED_COMPONENTS = `
89
93
 
90
94
  - [Progress](?path=/docs/components-progress--docs) — the progress bar used
91
95
  inside each file row to indicate upload completion.
92
- - [Button](?path=/docs/components-button--docs) — the "click to upload",
96
+ - [Button](?path=/docs/components-button--docs) — the "Browse files",
93
97
  download, and delete buttons inside the component.
94
98
  - [Card](?path=/docs/components-card--docs) — the visual wrapper for both the
95
99
  dropzone area and the file list.
@@ -135,13 +139,13 @@ const meta = {
135
139
  },
136
140
  dropzoneContent: {
137
141
  description: 'Custom content rendered inside the dropzone area. Defaults to a '
138
- + '"Drag and drop, or click to upload" paragraph. Pass a `ReactNode` to '
142
+ + '"Drag and drop, add a link or" paragraph with a "Browse files" button. Pass a `ReactNode` to '
139
143
  + 'replace this with your own copy or layout.',
140
144
  control: false,
141
145
  table: {
142
146
  type: { summary: 'ReactNode' },
143
147
  defaultValue: {
144
- summary: '<p>Drag and drop, or <Button variant="text-link">click to upload</Button></p>',
148
+ summary: '<p>Drag and drop, add a link or</p> + <Button variant="secondary">Browse files</Button>',
145
149
  },
146
150
  },
147
151
  },
@@ -259,6 +263,55 @@ export default UploadWithFilesExample;
259
263
  + 'Each file shows its type and size. The download button only appears when '
260
264
  + '`onDownload` is provided.');
261
265
  // ─────────────────────────────────────────────────────────────────────────────
266
+ export const WithLinks = withDescription({
267
+ render: () => {
268
+ const [links, setLinks] = useState([
269
+ { name: 'Pastoral policy', url: 'https://example.com/pastoral-policy' },
270
+ ]);
271
+ return (_jsx("div", { style: { maxWidth: '560px', padding: 'var(--spacing-large)' }, children: _jsx(FileUpload, { uploadFiles: noop, onAddLink: link => setLinks(previous => [...previous, link]), uploadedFiles: [
272
+ {
273
+ fileName: 'spring-term-report-2024.pdf',
274
+ fileType: 'PDF',
275
+ fileSize: '1.2 MB',
276
+ onDownload: noop,
277
+ onDelete: noop,
278
+ },
279
+ ...links.map((link, index) => ({
280
+ fileName: link.name,
281
+ href: link.url,
282
+ onEdit: (updated) => setLinks(previous => previous.map((item, i) => (i === index ? updated : item))),
283
+ onDelete: () => setLinks(previous => previous.filter((_, i) => i !== index)),
284
+ })),
285
+ ] }) }));
286
+ },
287
+ parameters: {
288
+ controls: { disable: true },
289
+ docs: {
290
+ source: {
291
+ language: 'tsx',
292
+ code: `
293
+ <FileUpload
294
+ uploadFiles={(files) => { /* start upload */ }}
295
+ onAddLink={({ url, name }) => { /* save the new link */ }}
296
+ uploadedFiles={[
297
+ { fileName: 'report.pdf', fileType: 'PDF', fileSize: '1.2 MB', onDelete: () => {} },
298
+ {
299
+ fileName: 'Pastoral policy',
300
+ href: 'https://example.com/pastoral-policy',
301
+ onEdit: ({ url, name }) => { /* save the edited link */ },
302
+ onDelete: () => {},
303
+ },
304
+ ]}
305
+ />
306
+ `.trim(),
307
+ },
308
+ },
309
+ },
310
+ }, 'A mixed list of file rows and link rows. Passing `onAddLink` turns "add a link" into '
311
+ + 'a trigger for a modal form (name and URL). A row with `href` renders as a link that '
312
+ + 'opens in a new tab, with copy and delete actions; adding `onEdit` shows an edit action '
313
+ + 'that opens the same modal pre-filled.');
314
+ // ─────────────────────────────────────────────────────────────────────────────
262
315
  export const SingleFile = withDescription({
263
316
  render: () => (_jsx("div", { style: { maxWidth: '560px', padding: 'var(--spacing-large)' }, children: _jsx(FileUpload, { uploadedFiles: [{
264
317
  fileName: 'spring-term-report-2024.pdf',
@@ -578,7 +631,7 @@ export default CustomDropzoneExample;
578
631
  },
579
632
  },
580
633
  }, 'Pass a `ReactNode` to `dropzoneContent` to replace the default '
581
- + '"Drag and drop, or click to upload" copy. This is useful when you need '
634
+ + 'default "Drag and drop" copy. This is useful when you need '
582
635
  + 'context-specific instructions or a branded call-to-action button.');
583
636
  const DEMO_FILENAME = 'spring-term-report-2024.pdf';
584
637
  const SimulatedUploadLifecycleTemplate = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.stories.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.stories.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,12 @@ describe('FileUpload', () => {
14
14
  describe('dropzone', () => {
15
15
  test('renders default dropzone content', () => {
16
16
  render(_jsx(FileUpload, { uploadedFiles: [], uploadFiles: vi.fn() }));
17
- expect(screen.getByText('click to upload')).toBeInTheDocument();
17
+ expect(screen.getByRole('button', { name: 'Browse files' })).toBeInTheDocument();
18
+ expect(screen.getByText('Drag and drop or')).toBeInTheDocument();
19
+ });
20
+ test('does not render the add a link trigger without onAddLink', () => {
21
+ render(_jsx(FileUpload, { uploadedFiles: [], uploadFiles: vi.fn() }));
22
+ expect(screen.queryByRole('button', { name: 'add a link' })).not.toBeInTheDocument();
18
23
  });
19
24
  test('renders custom dropzoneContent', () => {
20
25
  render(_jsx(FileUpload, { uploadedFiles: [], uploadFiles: vi.fn(), dropzoneContent: _jsx("p", { children: "Custom content here" }) }));
@@ -95,5 +100,101 @@ describe('FileUpload', () => {
95
100
  expect(container.firstChild).toHaveClass('ds-file-upload', 'my-custom-class');
96
101
  });
97
102
  });
103
+ describe('link rows', () => {
104
+ const linkRow = {
105
+ fileName: 'Pastoral policy',
106
+ href: 'https://example.com/policy',
107
+ onDelete: vi.fn(),
108
+ };
109
+ test('renders a link row as an anchor opening in a new tab', () => {
110
+ render(_jsx(FileUpload, { uploadedFiles: [linkRow], uploadFiles: vi.fn() }));
111
+ const anchor = screen.getByRole('link', { name: 'Pastoral policy' });
112
+ expect(anchor).toHaveAttribute('href', 'https://example.com/policy');
113
+ expect(anchor).toHaveAttribute('target', '_blank');
114
+ expect(anchor).toHaveAttribute('rel', 'noopener noreferrer');
115
+ expect(screen.getByText('https://example.com/policy')).toBeInTheDocument();
116
+ });
117
+ test('merges linkProps onto the anchor', () => {
118
+ render(_jsx(FileUpload, { uploadedFiles: [{ ...linkRow, linkProps: { target: '_self' } }], uploadFiles: vi.fn() }));
119
+ expect(screen.getByRole('link', { name: 'Pastoral policy' })).toHaveAttribute('target', '_self');
120
+ });
121
+ test('uses renderLink when provided', () => {
122
+ render(_jsx(FileUpload, { uploadedFiles: [{
123
+ ...linkRow,
124
+ renderLink: ({ href, className, children }) => (_jsx("a", { href: href, className: className, "data-custom": "true", children: children })),
125
+ }], uploadFiles: vi.fn() }));
126
+ expect(screen.getByRole('link', { name: 'Pastoral policy' })).toHaveAttribute('data-custom', 'true');
127
+ });
128
+ test('does not render a link for rows without href', () => {
129
+ render(_jsx(FileUpload, { uploadedFiles: [baseFile], uploadFiles: vi.fn() }));
130
+ expect(screen.queryByRole('link')).not.toBeInTheDocument();
131
+ expect(screen.queryByRole('button', { name: 'Edit link' })).not.toBeInTheDocument();
132
+ });
133
+ test('calls onDelete without triggering other actions', async () => {
134
+ const onDelete = vi.fn();
135
+ const onEdit = vi.fn();
136
+ render(_jsx(FileUpload, { uploadedFiles: [{ ...linkRow, onDelete, onEdit }], uploadFiles: vi.fn() }));
137
+ await userEvent.click(screen.getByRole('button', { name: 'Delete link' }));
138
+ expect(onDelete).toHaveBeenCalledOnce();
139
+ expect(onEdit).not.toHaveBeenCalled();
140
+ });
141
+ test('copies the link to the clipboard', async () => {
142
+ const user = userEvent.setup();
143
+ render(_jsx(FileUpload, { uploadedFiles: [linkRow], uploadFiles: vi.fn() }));
144
+ await user.click(screen.getByRole('button', { name: 'Copy link' }));
145
+ expect(await navigator.clipboard.readText()).toBe('https://example.com/policy');
146
+ });
147
+ });
148
+ describe('adding a link', () => {
149
+ test('opens the form from the add a link trigger and submits trimmed values', async () => {
150
+ const onAddLink = vi.fn();
151
+ const uploadFiles = vi.fn();
152
+ render(_jsx(FileUpload, { uploadedFiles: [], uploadFiles: uploadFiles, onAddLink: onAddLink }));
153
+ await userEvent.click(screen.getByRole('button', { name: 'add a link' }));
154
+ expect(screen.getByRole('dialog', { name: 'Add URL attachment' })).toBeInTheDocument();
155
+ await userEvent.type(screen.getByLabelText('Name of link'), ' Policy ');
156
+ await userEvent.type(screen.getByLabelText('Paste your link URL here'), ' https://example.com ');
157
+ await userEvent.click(screen.getByRole('button', { name: 'Add' }));
158
+ expect(onAddLink).toHaveBeenCalledWith({ name: 'Policy', url: 'https://example.com' });
159
+ expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
160
+ });
161
+ test('shows validation errors and does not submit invalid values', async () => {
162
+ const onAddLink = vi.fn();
163
+ render(_jsx(FileUpload, { uploadedFiles: [], uploadFiles: vi.fn(), onAddLink: onAddLink }));
164
+ await userEvent.click(screen.getByRole('button', { name: 'add a link' }));
165
+ await userEvent.click(screen.getByRole('button', { name: 'Add' }));
166
+ expect(screen.getByText('Name is required.')).toBeInTheDocument();
167
+ expect(screen.getByText('URL is required.')).toBeInTheDocument();
168
+ await userEvent.type(screen.getByLabelText('Name of link'), 'Policy');
169
+ await userEvent.type(screen.getByLabelText('Paste your link URL here'), 'ftp://example.com');
170
+ await userEvent.click(screen.getByRole('button', { name: 'Add' }));
171
+ expect(screen.getByText('Enter a valid URL starting with http:// or https://.')).toBeInTheDocument();
172
+ expect(onAddLink).not.toHaveBeenCalled();
173
+ });
174
+ test('closes the form on cancel', async () => {
175
+ render(_jsx(FileUpload, { uploadedFiles: [], uploadFiles: vi.fn(), onAddLink: vi.fn() }));
176
+ await userEvent.click(screen.getByRole('button', { name: 'add a link' }));
177
+ await userEvent.click(screen.getByRole('button', { name: 'Cancel' }));
178
+ expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
179
+ });
180
+ });
181
+ describe('editing a link', () => {
182
+ test('opens a pre-filled form and calls onEdit with the updated link', async () => {
183
+ const onEdit = vi.fn();
184
+ render(_jsx(FileUpload, { uploadFiles: vi.fn(), uploadedFiles: [{
185
+ fileName: 'Policy',
186
+ href: 'https://example.com',
187
+ onEdit,
188
+ onDelete: vi.fn(),
189
+ }] }));
190
+ await userEvent.click(screen.getByRole('button', { name: 'Edit link' }));
191
+ expect(screen.getByLabelText('Name of link')).toHaveValue('Policy');
192
+ expect(screen.getByLabelText('Paste your link URL here')).toHaveValue('https://example.com');
193
+ await userEvent.clear(screen.getByLabelText('Name of link'));
194
+ await userEvent.type(screen.getByLabelText('Name of link'), 'Updated');
195
+ await userEvent.click(screen.getByRole('button', { name: 'Update' }));
196
+ expect(onEdit).toHaveBeenCalledWith({ name: 'Updated', url: 'https://example.com' });
197
+ });
198
+ });
98
199
  });
99
200
  //# sourceMappingURL=FileUpload.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.test.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.test.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUpload.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type FileUploadLink = {
2
+ url: string;
3
+ name: string;
4
+ };
5
+ type FileUploadLinkModalProps = {
6
+ title: string;
7
+ submitLabel: string;
8
+ initialLink?: FileUploadLink;
9
+ onSubmit: (link: FileUploadLink) => void;
10
+ onCancel: () => void;
11
+ };
12
+ export declare const FileUploadLinkModal: (props: FileUploadLinkModalProps) => import("react").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=FileUploadLinkModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadLinkModal.d.ts","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUploadLinkModal.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AA4BF,eAAO,MAAM,mBAAmB,GAAI,OAAO,wBAAwB,gCAgElE,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button/Button.js';
3
+ import { FormField } from '../formField/FormField.js';
4
+ import { Modal } from '../modal/Modal.js';
5
+ import { useId, useState } from 'react';
6
+ const isHttpUrl = (value) => {
7
+ try {
8
+ const { protocol } = new URL(value);
9
+ return protocol === 'http:' || protocol === 'https:';
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ };
15
+ const validate = ({ url, name }) => {
16
+ const errors = {};
17
+ if (!name) {
18
+ errors.name = 'Name is required.';
19
+ }
20
+ if (!url) {
21
+ errors.url = 'URL is required.';
22
+ }
23
+ else if (!isHttpUrl(url)) {
24
+ errors.url = 'Enter a valid URL starting with http:// or https://.';
25
+ }
26
+ return errors;
27
+ };
28
+ export const FileUploadLinkModal = (props) => {
29
+ const { title, submitLabel, initialLink, onSubmit, onCancel } = props;
30
+ const formId = useId();
31
+ const nameId = useId();
32
+ const urlId = useId();
33
+ const [url, setUrl] = useState(initialLink?.url ?? '');
34
+ const [name, setName] = useState(initialLink?.name ?? '');
35
+ const [errors, setErrors] = useState({});
36
+ const handleSubmit = (event) => {
37
+ event.preventDefault();
38
+ const link = { url: url.trim(), name: name.trim() };
39
+ const validationErrors = validate(link);
40
+ setErrors(validationErrors);
41
+ if (Object.keys(validationErrors).length === 0) {
42
+ onSubmit(link);
43
+ }
44
+ };
45
+ return (_jsxs(Modal, { open: true, title: title, closeHandler: onCancel, children: [_jsx(Modal.Body, { children: _jsxs("form", { id: formId, className: "ds-file-upload__link-form", onSubmit: handleSubmit, noValidate: true, children: [_jsx(FormField, { inputType: "text", id: nameId, label: "Name of link", errorText: errors.name, inputProps: {
46
+ value: name,
47
+ onChange: (event) => {
48
+ setName(event.target.value);
49
+ setErrors(previous => ({ ...previous, name: undefined }));
50
+ },
51
+ } }), _jsx(FormField, { inputType: "text", id: urlId, label: "Paste your link URL here", errorText: errors.url, inputProps: {
52
+ type: 'url',
53
+ value: url,
54
+ placeholder: 'https://',
55
+ onChange: (event) => {
56
+ setUrl(event.target.value);
57
+ setErrors(previous => ({ ...previous, url: undefined }));
58
+ },
59
+ } })] }) }), _jsxs(Modal.Footer, { children: [_jsx(Button, { type: "button", variant: "secondary", onClick: onCancel, children: "Cancel" }), _jsx(Button, { type: "submit", form: formId, children: submitLabel })] })] }));
60
+ };
61
+ //# sourceMappingURL=FileUploadLinkModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadLinkModal.js","sourceRoot":"","sources":["../../../src/components/fileUpload/FileUploadLinkModal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/formField/inputs/text/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS;WAJb,GAAG,GAAG,GAAG;eACL,OAAO;0GA8BlB,CAAC;AAIH,yBAAiB,SAAS,CAAC;IACzB,KAAY,KAAK,GAAG,cAAc,CAAC;CACpC"}
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/formField/inputs/text/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS;WAJb,GAAG,GAAG,GAAG;eACL,OAAO;0GAgClB,CAAC;AAIH,yBAAiB,SAAS,CAAC;IACzB,KAAY,KAAK,GAAG,cAAc,CAAC;CACpC"}
@@ -2,11 +2,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import classNames from 'classnames';
3
3
  import { forwardRef } from 'react';
4
4
  export const TextInput = forwardRef((props, ref) => {
5
- const { size = 'M', hasError, className = '', disabled = false, ...rest } = props;
5
+ const { size = 'M', hasError, className = '', disabled = false, type = 'text', ...rest } = props;
6
6
  const inputClasses = classNames('ds-text-input', 'ds-input', `ds-input--${size}`, {
7
7
  'ds-input--error': hasError,
8
8
  }, className);
9
- return (_jsx("input", { ref: ref, className: inputClasses, disabled: disabled, ...rest }));
9
+ return (_jsx("input", { ref: ref, className: inputClasses, disabled: disabled, type: type, ...rest }));
10
10
  });
11
11
  TextInput.displayName = 'TextInput';
12
12
  //# sourceMappingURL=TextInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../../../src/components/formField/inputs/text/TextInput.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAA4B,MAAM,OAAO,CAAC;AAO7D,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAmC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,EACJ,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,KAAK,EAChB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,UAAU,CAC7B,eAAe,EACf,UAAU,EACV,aAAa,IAAI,EAAE,EACnB;QACE,iBAAiB,EAAE,QAAQ;KAC5B,EACD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,QAAQ,KACd,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../../../src/components/formField/inputs/text/TextInput.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAA4B,MAAM,OAAO,CAAC;AAO7D,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAmC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,EACJ,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,MAAM,EACb,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,UAAU,CAC7B,eAAe,EACf,UAAU,EACV,aAAa,IAAI,EAAE,EACnB;QACE,iBAAiB,EAAE,QAAQ;KAC5B,EACD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,KACN,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}