@uxf/ui 11.45.1 → 11.47.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 (137) hide show
  1. package/alert-bubble/alert-bubble.stories.d.ts +0 -5
  2. package/alert-bubble/alert-bubble.stories.js +0 -4
  3. package/badge/badge.stories.d.ts +0 -5
  4. package/badge/badge.stories.js +0 -4
  5. package/button-group/button-group.stories.d.ts +0 -5
  6. package/button-group/button-group.stories.js +0 -4
  7. package/button-list/button-list.stories.d.ts +0 -5
  8. package/button-list/button-list.stories.js +0 -4
  9. package/calendar/calendar.stories.d.ts +0 -8
  10. package/calendar/calendar.stories.js +0 -10
  11. package/checkbox/checkbox.stories.d.ts +0 -5
  12. package/checkbox/checkbox.stories.js +0 -4
  13. package/checkbox-button/checkbox-button.stories.d.ts +0 -5
  14. package/checkbox-button/checkbox-button.stories.js +0 -4
  15. package/checkbox-input/checkbox-input.stories.d.ts +0 -5
  16. package/checkbox-input/checkbox-input.stories.js +0 -4
  17. package/chip/chip.stories.d.ts +0 -8
  18. package/chip/chip.stories.js +0 -9
  19. package/color-radio/color-radio.stories.d.ts +0 -5
  20. package/color-radio/color-radio.stories.js +0 -4
  21. package/color-radio-group/color-radio-group.stories.d.ts +0 -5
  22. package/color-radio-group/color-radio-group.stories.js +0 -4
  23. package/components.d.ts +5 -0
  24. package/components.js +5 -0
  25. package/create-component-preview-page/create-component-preview-page.d.ts +9 -4
  26. package/create-component-preview-page/create-component-preview-page.js +22 -19
  27. package/css/info-box.css +74 -0
  28. package/css/input.css +14 -0
  29. package/css/layout.css +66 -20
  30. package/date-picker/date-picker.stories.d.ts +0 -5
  31. package/date-picker/date-picker.stories.js +0 -4
  32. package/date-picker-input/date-picker-input.stories.d.ts +0 -5
  33. package/date-picker-input/date-picker-input.stories.js +0 -4
  34. package/date-range-picker/date-range-picker.stories.d.ts +0 -5
  35. package/date-range-picker/date-range-picker.stories.js +0 -4
  36. package/date-range-picker-input/date-range-picker-input.stories.d.ts +0 -8
  37. package/date-range-picker-input/date-range-picker-input.stories.js +0 -9
  38. package/datetime-picker/datetime-picker.stories.d.ts +0 -5
  39. package/datetime-picker/datetime-picker.stories.js +0 -4
  40. package/datetime-picker-input/datetime-picker-input.stories.d.ts +0 -5
  41. package/datetime-picker-input/datetime-picker-input.stories.js +0 -4
  42. package/dialog/dialog.d.ts +23 -6
  43. package/dialog/dialog.js +44 -7
  44. package/dialog/dialog.stories.js +10 -31
  45. package/dialog/theme.d.ts +8 -0
  46. package/dropdown/dropdown.stories.d.ts +0 -8
  47. package/dropdown/dropdown.stories.js +0 -4
  48. package/dropzone/dropzone.stories.d.ts +0 -7
  49. package/dropzone/dropzone.stories.js +0 -4
  50. package/error-message/error-message.stories.d.ts +0 -5
  51. package/error-message/error-message.stories.js +0 -4
  52. package/file-input/file-input.stories.d.ts +0 -5
  53. package/file-input/file-input.stories.js +0 -4
  54. package/flash-messages/flash-messages.stories.d.ts +0 -5
  55. package/flash-messages/flash-messages.stories.js +0 -5
  56. package/form-component/form-component.stories.d.ts +0 -10
  57. package/form-component/form-component.stories.js +0 -5
  58. package/icon/icon.stories.d.ts +0 -8
  59. package/icon/icon.stories.js +0 -9
  60. package/icons-config.js +20 -0
  61. package/image-gallery/image-gallery.stories.d.ts +0 -12
  62. package/image-gallery/image-gallery.stories.js +0 -5
  63. package/info-box/README.md +28 -0
  64. package/info-box/index.d.ts +2 -0
  65. package/info-box/index.js +5 -0
  66. package/info-box/info-box.d.ts +15 -0
  67. package/info-box/info-box.js +59 -0
  68. package/info-box/info-box.spec.d.ts +1 -0
  69. package/info-box/info-box.spec.js +9 -0
  70. package/info-box/info-box.stories.d.ts +2 -0
  71. package/info-box/info-box.stories.js +19 -0
  72. package/info-box/theme.d.ts +15 -0
  73. package/info-box/theme.js +2 -0
  74. package/info-box/types.d.ts +3 -0
  75. package/info-box/types.js +2 -0
  76. package/input/input.stories.d.ts +0 -13
  77. package/input/input.stories.js +0 -4
  78. package/label/label.stories.d.ts +0 -5
  79. package/label/label.stories.js +0 -4
  80. package/layout/layout.d.ts +7 -5
  81. package/layout/layout.js +17 -35
  82. package/layout/layout.stories.d.ts +0 -6
  83. package/layout/layout.stories.js +3 -8
  84. package/list-item/list-item.stories.d.ts +0 -5
  85. package/list-item/list-item.stories.js +0 -4
  86. package/loader/loader.stories.d.ts +0 -5
  87. package/loader/loader.stories.js +0 -4
  88. package/message/message.js +10 -7
  89. package/modal/modal.d.ts +1 -1
  90. package/modal/modal.js +18 -13
  91. package/modal/modal.stories.d.ts +0 -5
  92. package/modal/modal.stories.js +2 -6
  93. package/multi-combobox/multi-combobox.stories.d.ts +0 -6
  94. package/multi-combobox/multi-combobox.stories.js +0 -4
  95. package/multi-select/multi-select.stories.d.ts +0 -6
  96. package/multi-select/multi-select.stories.js +0 -4
  97. package/package.json +4 -4
  98. package/pagination/pagination.stories.d.ts +0 -5
  99. package/pagination/pagination.stories.js +0 -4
  100. package/paper/paper.stories.d.ts +0 -5
  101. package/paper/paper.stories.js +0 -4
  102. package/radio/radio.stories.d.ts +0 -5
  103. package/radio/radio.stories.js +0 -4
  104. package/radio-group/radio-group.stories.d.ts +0 -5
  105. package/radio-group/radio-group.stories.js +0 -4
  106. package/raster-image/raster-image.stories.d.ts +0 -6
  107. package/raster-image/raster-image.stories.js +0 -4
  108. package/readmes.d.ts +1 -0
  109. package/readmes.js +56 -54
  110. package/tabs/components/tabs-button.d.ts +1 -1
  111. package/tabs/components/tabs-root.d.ts +1 -1
  112. package/tabs/index.d.ts +1 -0
  113. package/tabs/index.js +1 -0
  114. package/tabs/tabs.d.ts +1 -1
  115. package/tabs/theme.d.ts +0 -1
  116. package/tabs/types.d.ts +2 -0
  117. package/tabs/types.js +2 -0
  118. package/text-link/text-link.stories.d.ts +0 -5
  119. package/text-link/text-link.stories.js +0 -4
  120. package/textarea/textarea.stories.d.ts +0 -5
  121. package/textarea/textarea.stories.js +0 -4
  122. package/time-picker/time-picker.stories.d.ts +0 -5
  123. package/time-picker/time-picker.stories.js +0 -4
  124. package/toggle/toggle.stories.d.ts +0 -5
  125. package/toggle/toggle.stories.js +0 -4
  126. package/tooltip/tooltip.stories.d.ts +0 -5
  127. package/tooltip/tooltip.stories.js +0 -4
  128. package/typography/typography.stories.d.ts +0 -5
  129. package/typography/typography.stories.js +0 -4
  130. package/utils/files/get-file-icon.test.d.ts +1 -0
  131. package/utils/files/get-file-icon.test.js +22 -0
  132. package/utils/files/get-file-url.test.d.ts +1 -0
  133. package/utils/files/get-file-url.test.js +44 -0
  134. package/utils/get-dropzone-state.test.d.ts +1 -0
  135. package/utils/get-dropzone-state.test.js +88 -0
  136. package/utils/mocks/upload-file.mock.test.d.ts +1 -0
  137. package/utils/mocks/upload-file.mock.test.js +34 -0
package/readmes.js CHANGED
@@ -36,33 +36,34 @@ const README_md_28 = __importDefault(require("./form-component/README.md"));
36
36
  const README_md_29 = __importDefault(require("./icon/README.md"));
37
37
  const README_md_30 = __importDefault(require("./icon-button/README.md"));
38
38
  const README_md_31 = __importDefault(require("./image-gallery/README.md"));
39
- const README_md_32 = __importDefault(require("./input/README.md"));
40
- const README_md_33 = __importDefault(require("./label/README.md"));
41
- const README_md_34 = __importDefault(require("./layout/README.md"));
42
- const README_md_35 = __importDefault(require("./list-item/README.md"));
43
- const README_md_36 = __importDefault(require("./loader/README.md"));
44
- const README_md_37 = __importDefault(require("./lozenge/README.md"));
45
- const README_md_38 = __importDefault(require("./message/README.md"));
46
- const README_md_39 = __importDefault(require("./modal/README.md"));
47
- const README_md_40 = __importDefault(require("./modal-dialog/README.md"));
48
- const README_md_41 = __importDefault(require("./modal-header/README.md"));
49
- const README_md_42 = __importDefault(require("./multi-combobox/README.md"));
50
- const README_md_43 = __importDefault(require("./multi-select/README.md"));
51
- const README_md_44 = __importDefault(require("./pagination/README.md"));
52
- const README_md_45 = __importDefault(require("./paper/README.md"));
53
- const README_md_46 = __importDefault(require("./radio/README.md"));
54
- const README_md_47 = __importDefault(require("./radio-group/README.md"));
55
- const README_md_48 = __importDefault(require("./raster-image/README.md"));
56
- const README_md_49 = __importDefault(require("./select/README.md"));
57
- const README_md_50 = __importDefault(require("./tabs/README.md"));
58
- const README_md_51 = __importDefault(require("./text-input/README.md"));
59
- const README_md_52 = __importDefault(require("./text-link/README.md"));
60
- const README_md_53 = __importDefault(require("./textarea/README.md"));
61
- const README_md_54 = __importDefault(require("./time-picker/README.md"));
62
- const README_md_55 = __importDefault(require("./time-picker-input/README.md"));
63
- const README_md_56 = __importDefault(require("./toggle/README.md"));
64
- const README_md_57 = __importDefault(require("./tooltip/README.md"));
65
- const README_md_58 = __importDefault(require("./typography/README.md"));
39
+ const README_md_32 = __importDefault(require("./info-box/README.md"));
40
+ const README_md_33 = __importDefault(require("./input/README.md"));
41
+ const README_md_34 = __importDefault(require("./label/README.md"));
42
+ const README_md_35 = __importDefault(require("./layout/README.md"));
43
+ const README_md_36 = __importDefault(require("./list-item/README.md"));
44
+ const README_md_37 = __importDefault(require("./loader/README.md"));
45
+ const README_md_38 = __importDefault(require("./lozenge/README.md"));
46
+ const README_md_39 = __importDefault(require("./message/README.md"));
47
+ const README_md_40 = __importDefault(require("./modal/README.md"));
48
+ const README_md_41 = __importDefault(require("./modal-dialog/README.md"));
49
+ const README_md_42 = __importDefault(require("./modal-header/README.md"));
50
+ const README_md_43 = __importDefault(require("./multi-combobox/README.md"));
51
+ const README_md_44 = __importDefault(require("./multi-select/README.md"));
52
+ const README_md_45 = __importDefault(require("./pagination/README.md"));
53
+ const README_md_46 = __importDefault(require("./paper/README.md"));
54
+ const README_md_47 = __importDefault(require("./radio/README.md"));
55
+ const README_md_48 = __importDefault(require("./radio-group/README.md"));
56
+ const README_md_49 = __importDefault(require("./raster-image/README.md"));
57
+ const README_md_50 = __importDefault(require("./select/README.md"));
58
+ const README_md_51 = __importDefault(require("./tabs/README.md"));
59
+ const README_md_52 = __importDefault(require("./text-input/README.md"));
60
+ const README_md_53 = __importDefault(require("./text-link/README.md"));
61
+ const README_md_54 = __importDefault(require("./textarea/README.md"));
62
+ const README_md_55 = __importDefault(require("./time-picker/README.md"));
63
+ const README_md_56 = __importDefault(require("./time-picker-input/README.md"));
64
+ const README_md_57 = __importDefault(require("./toggle/README.md"));
65
+ const README_md_58 = __importDefault(require("./tooltip/README.md"));
66
+ const README_md_59 = __importDefault(require("./typography/README.md"));
66
67
  exports.readmes = {
67
68
  "alert-bubble": README_md_1.default,
68
69
  "avatar": README_md_2.default,
@@ -95,31 +96,32 @@ exports.readmes = {
95
96
  "icon": README_md_29.default,
96
97
  "icon-button": README_md_30.default,
97
98
  "image-gallery": README_md_31.default,
98
- "input": README_md_32.default,
99
- "label": README_md_33.default,
100
- "layout": README_md_34.default,
101
- "list-item": README_md_35.default,
102
- "loader": README_md_36.default,
103
- "lozenge": README_md_37.default,
104
- "message": README_md_38.default,
105
- "modal": README_md_39.default,
106
- "modal-dialog": README_md_40.default,
107
- "modal-header": README_md_41.default,
108
- "multi-combobox": README_md_42.default,
109
- "multi-select": README_md_43.default,
110
- "pagination": README_md_44.default,
111
- "paper": README_md_45.default,
112
- "radio": README_md_46.default,
113
- "radio-group": README_md_47.default,
114
- "raster-image": README_md_48.default,
115
- "select": README_md_49.default,
116
- "tabs": README_md_50.default,
117
- "text-input": README_md_51.default,
118
- "text-link": README_md_52.default,
119
- "textarea": README_md_53.default,
120
- "time-picker": README_md_54.default,
121
- "time-picker-input": README_md_55.default,
122
- "toggle": README_md_56.default,
123
- "tooltip": README_md_57.default,
124
- "typography": README_md_58.default,
99
+ "infobox": README_md_32.default,
100
+ "input": README_md_33.default,
101
+ "label": README_md_34.default,
102
+ "layout": README_md_35.default,
103
+ "list-item": README_md_36.default,
104
+ "loader": README_md_37.default,
105
+ "lozenge": README_md_38.default,
106
+ "message": README_md_39.default,
107
+ "modal": README_md_40.default,
108
+ "modal-dialog": README_md_41.default,
109
+ "modal-header": README_md_42.default,
110
+ "multi-combobox": README_md_43.default,
111
+ "multi-select": README_md_44.default,
112
+ "pagination": README_md_45.default,
113
+ "paper": README_md_46.default,
114
+ "radio": README_md_47.default,
115
+ "radio-group": README_md_48.default,
116
+ "raster-image": README_md_49.default,
117
+ "select": README_md_50.default,
118
+ "tabs": README_md_51.default,
119
+ "text-input": README_md_52.default,
120
+ "text-link": README_md_53.default,
121
+ "textarea": README_md_54.default,
122
+ "time-picker": README_md_55.default,
123
+ "time-picker-input": README_md_56.default,
124
+ "toggle": README_md_57.default,
125
+ "tooltip": README_md_58.default,
126
+ "typography": README_md_59.default,
125
127
  };
@@ -1,5 +1,5 @@
1
1
  import { Nullish } from "@uxf/core/types";
2
- import { TabsVariant } from "@uxf/ui/tabs/theme";
2
+ import { TabsVariant } from "@uxf/ui/tabs/types";
3
3
  import React, { ForwardedRef, ReactNode } from "react";
4
4
  interface TabsButtonProps {
5
5
  className?: string;
@@ -1,4 +1,4 @@
1
- import { TabsVariant } from "@uxf/ui/tabs/theme";
1
+ import { TabsVariant } from "@uxf/ui/tabs/types";
2
2
  import React, { ReactNode } from "react";
3
3
  interface TabsRootProps {
4
4
  className?: string;
package/tabs/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from "./tabs";
2
+ export * from "./types";
package/tabs/index.js CHANGED
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./tabs"), exports);
18
+ __exportStar(require("./types"), exports);
package/tabs/tabs.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { TabsVariant } from "@uxf/ui/tabs/theme";
1
+ import { TabsVariant } from "@uxf/ui/tabs/types";
2
2
  import React, { ReactNode } from "react";
3
3
  import { Panel } from "./panel";
4
4
  import { PanelContent } from "./panel-content";
package/tabs/theme.d.ts CHANGED
@@ -2,4 +2,3 @@ export interface TabsVariants {
2
2
  default: true;
3
3
  segmented: true;
4
4
  }
5
- export type TabsVariant = keyof TabsVariants;
@@ -0,0 +1,2 @@
1
+ import { TabsVariants } from "@uxf/ui/tabs/theme";
2
+ export type TabsVariant = keyof TabsVariants;
package/tabs/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./text-link").TextLinkProps & React.RefAttributes<HTMLAnchorElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -6,10 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const index_1 = require("./index");
9
- exports.default = {
10
- title: "UI/TextLink",
11
- component: index_1.TextLink,
12
- };
13
9
  function Default() {
14
10
  // eslint-disable-next-line no-console
15
11
  const onClick = console.log;
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./textarea").TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -27,10 +27,6 @@ exports.Default = Default;
27
27
  const react_1 = __importStar(require("react"));
28
28
  const action_1 = require("../utils/action");
29
29
  const index_1 = require("./index");
30
- exports.default = {
31
- title: "UI/Textarea",
32
- component: index_1.Textarea,
33
- };
34
30
  function Default() {
35
31
  const [value, setValue] = (0, react_1.useState)("test");
36
32
  const onChange = (0, action_1.action)("onChange", setValue);
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.FC<import("./time-picker").TimePickerProps>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -28,10 +28,6 @@ const noop_1 = require("@uxf/core/utils/noop");
28
28
  const react_1 = __importStar(require("react"));
29
29
  const action_1 = require("../utils/action");
30
30
  const time_picker_1 = require("./time-picker");
31
- exports.default = {
32
- title: "UI/TimePicker",
33
- component: time_picker_1.TimePicker,
34
- };
35
31
  function Default() {
36
32
  const [value, setValue] = (0, react_1.useState)(null);
37
33
  const onChange = (0, action_1.action)("onChange", setValue);
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./toggle").ToggleProps & React.RefAttributes<HTMLButtonElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -27,10 +27,6 @@ exports.Default = Default;
27
27
  const react_1 = __importStar(require("react"));
28
28
  const action_1 = require("../utils/action");
29
29
  const index_1 = require("./index");
30
- exports.default = {
31
- title: "UI/Toggle",
32
- component: index_1.Toggle,
33
- };
34
30
  function Default() {
35
31
  const [isChecked, setIsChecked] = (0, react_1.useState)(true);
36
32
  const onChange = (0, action_1.action)("onChange", () => setIsChecked((prev) => !prev));
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./tooltip").TooltipProps & React.RefAttributes<HTMLElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -7,10 +7,6 @@ exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const chip_1 = require("../chip");
9
9
  const tooltip_1 = require("./tooltip");
10
- exports.default = {
11
- title: "UI/Tooltip",
12
- component: tooltip_1.Tooltip,
13
- };
14
10
  function Default() {
15
11
  const sides = ["top", "bottom", "bottom-start", "left", "right"];
16
12
  return (react_1.default.createElement("div", { className: "grid h-96 place-items-center" }, sides.map((placement) => (react_1.default.createElement(tooltip_1.Tooltip, { content: "My tooltip content", key: placement, placement: placement },
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: null;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -5,10 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
- exports.default = {
9
- title: "UI/Typography",
10
- component: null,
11
- };
12
8
  function Default() {
13
9
  return (react_1.default.createElement("div", { className: "space-y-4 dark:text-white" },
14
10
  react_1.default.createElement("h1", { className: "uxf-typo-h1" }, ".uxf-typo-h1"),
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_file_icon_1 = require("./get-file-icon");
4
+ describe("getIconNameFromFileExtension", () => {
5
+ it("should return 'imageFile' for image extensions", () => {
6
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("jpg")).toBe("imageFile");
7
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("jpeg")).toBe("imageFile");
8
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("png")).toBe("imageFile");
9
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("gif")).toBe("imageFile");
10
+ });
11
+ it("should return 'videoFile' for video extensions", () => {
12
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("mp4")).toBe("videoFile");
13
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("avi")).toBe("videoFile");
14
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("mov")).toBe("videoFile");
15
+ });
16
+ it("should return 'file' for unknown extensions", () => {
17
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("pdf")).toBe("file");
18
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("docx")).toBe("file");
19
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("txt")).toBe("file");
20
+ expect((0, get_file_icon_1.getIconNameFromFileExtension)("exe")).toBe("file");
21
+ });
22
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_file_url_1 = require("./get-file-url");
4
+ describe("getFileUrl", () => {
5
+ it("should generate a correct file URL with default namespace", () => {
6
+ const domain = "https://example.com";
7
+ const file = {
8
+ id: 1,
9
+ name: "test",
10
+ namespace: null,
11
+ uuid: "123-456-789",
12
+ extension: "jpg",
13
+ type: "image/jpeg",
14
+ };
15
+ const result = (0, get_file_url_1.getFileUrl)(domain, file);
16
+ expect(result).toBe("https://example.com/upload/default/1/2/123-456-789.jpg");
17
+ });
18
+ it("should generate a correct file URL with specified namespace", () => {
19
+ const domain = "https://example.com";
20
+ const file = {
21
+ id: 2,
22
+ name: "anotherTest",
23
+ namespace: "customNamespace",
24
+ uuid: "123-456-789",
25
+ extension: "png",
26
+ type: "image/png",
27
+ };
28
+ const result = (0, get_file_url_1.getFileUrl)(domain, file);
29
+ expect(result).toBe("https://example.com/upload/customNamespace/1/2/123-456-789.png");
30
+ });
31
+ it("should generate a correct file URL with default namespace and different extension", () => {
32
+ const domain = "https://example.com";
33
+ const file = {
34
+ id: 3,
35
+ name: "document",
36
+ namespace: null,
37
+ uuid: "111-222-333",
38
+ extension: "pdf",
39
+ type: "application/pdf",
40
+ };
41
+ const result = (0, get_file_url_1.getFileUrl)(domain, file);
42
+ expect(result).toBe("https://example.com/upload/default/1/1/111-222-333.pdf");
43
+ });
44
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_dropzone_state_1 = require("./get-dropzone-state");
4
+ describe("getDropzoneState", () => {
5
+ it("should return OK state when there are no files", () => {
6
+ const files = [];
7
+ const result = (0, get_dropzone_state_1.getDropzoneState)(files);
8
+ expect(result).toEqual({ status: "OK" });
9
+ });
10
+ it("should return UPLOADING state when there are files with negative IDs", () => {
11
+ const files = [
12
+ {
13
+ id: -1,
14
+ name: "file1.txt",
15
+ uuid: "uuid1",
16
+ extension: "txt",
17
+ error: null,
18
+ progress: null,
19
+ namespace: null,
20
+ },
21
+ { id: 1, name: "file2.txt", uuid: "uuid2", extension: "txt", error: null, progress: null, namespace: null },
22
+ ];
23
+ const result = (0, get_dropzone_state_1.getDropzoneState)(files);
24
+ expect(result).toEqual({ status: "UPLOADING" });
25
+ });
26
+ it("should return ERROR state with error messages when files have errors", () => {
27
+ const files = [
28
+ {
29
+ id: 1,
30
+ name: "file1.txt",
31
+ uuid: "uuid1",
32
+ extension: "txt",
33
+ error: "File too large",
34
+ progress: null,
35
+ namespace: null,
36
+ },
37
+ {
38
+ id: 2,
39
+ name: "file2.txt",
40
+ uuid: "uuid2",
41
+ extension: "txt",
42
+ error: "Unsupported format",
43
+ progress: null,
44
+ namespace: null,
45
+ },
46
+ ];
47
+ const result = (0, get_dropzone_state_1.getDropzoneState)(files);
48
+ expect(result).toEqual({
49
+ errorMessage: "File too large; Unsupported format",
50
+ status: "ERROR",
51
+ });
52
+ });
53
+ it("should return OK state when files are uploaded successfully", () => {
54
+ const files = [
55
+ { id: 1, name: "file1.txt", uuid: "uuid1", extension: "txt", error: null, progress: null, namespace: null },
56
+ { id: 2, name: "file2.txt", uuid: "uuid2", extension: "txt", error: null, progress: null, namespace: null },
57
+ ];
58
+ const result = (0, get_dropzone_state_1.getDropzoneState)(files);
59
+ expect(result).toEqual({ status: "OK" });
60
+ });
61
+ it("should return OK state when some files are uploading but no errors", () => {
62
+ const files = [
63
+ { id: 1, name: "file1.txt", uuid: "uuid1", extension: "txt", error: null, progress: 50, namespace: null },
64
+ { id: 2, name: "file2.txt", uuid: "uuid2", extension: "txt", error: null, progress: 75, namespace: null },
65
+ ];
66
+ const result = (0, get_dropzone_state_1.getDropzoneState)(files);
67
+ expect(result).toEqual({ status: "OK" });
68
+ });
69
+ it("should return ERROR state when there is a file with an error and uploading files", () => {
70
+ const files = [
71
+ {
72
+ id: -1,
73
+ name: "file1.txt",
74
+ uuid: "uuid1",
75
+ extension: "txt",
76
+ error: "File too large",
77
+ progress: null,
78
+ namespace: null,
79
+ },
80
+ { id: -2, name: "file2.txt", uuid: "uuid2", extension: "txt", error: null, progress: 50, namespace: null },
81
+ ];
82
+ const result = (0, get_dropzone_state_1.getDropzoneState)(files);
83
+ expect(result).toEqual({
84
+ errorMessage: "File too large",
85
+ status: "ERROR",
86
+ });
87
+ });
88
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const upload_file_mock_1 = require("./upload-file.mock");
4
+ describe("uploadFile", () => {
5
+ const mockFile = new File(["file content"], "test.txt", { type: "text/plain" });
6
+ it("should resolve with a FileResponse object after upload", async () => {
7
+ const mockOnUploadProgress = jest.fn();
8
+ const mockAbortController = new AbortController();
9
+ const response = await (0, upload_file_mock_1.uploadFile)(mockFile, {
10
+ onUploadProgress: mockOnUploadProgress,
11
+ abortController: mockAbortController,
12
+ });
13
+ expect(response).toEqual({
14
+ id: expect.any(Number),
15
+ uuid: expect.any(String),
16
+ name: "test.txt",
17
+ namespace: null,
18
+ extension: "txt",
19
+ });
20
+ });
21
+ it("should call onUploadProgress with correct values", async () => {
22
+ const mockOnUploadProgress = jest.fn();
23
+ const mockAbortController = new AbortController();
24
+ await (0, upload_file_mock_1.uploadFile)(mockFile, {
25
+ onUploadProgress: mockOnUploadProgress,
26
+ abortController: mockAbortController,
27
+ });
28
+ expect(mockOnUploadProgress).toHaveBeenCalledWith(expect.objectContaining({
29
+ lengthComputable: true,
30
+ loaded: expect.any(Number),
31
+ total: mockFile.size,
32
+ }));
33
+ });
34
+ });