@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
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,17 +1,4 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("@uxf/ui/input").InputProps & React.RefAttributes<HTMLInputElement>> & {
5
- ArrowIcon: typeof import("./input-arrow-icon").InputArrowIcon;
6
- Element: React.ForwardRefExoticComponent<import("@uxf/ui/input").InputElementProps & React.RefAttributes<HTMLInputElement>>;
7
- LeftAddon: React.FC<import("./input-left-addon").InputLeftAddonProps>;
8
- LeftElement: React.FC<import("./input-left-element").InputLeftElementProps>;
9
- RemoveButton: React.FC<import("@uxf/ui/input").InputRemoveButtonProps>;
10
- RightAddon: React.FC<import("./input-right-addon").InputRightAddonProps>;
11
- RightElement: React.FC<import("./input-right-element").InputRightElementProps>;
12
- };
13
- };
14
- export default _default;
15
2
  export declare function Default(): React.JSX.Element;
16
3
  export declare function Sizes(): React.JSX.Element;
17
4
  export declare function ComponentStructure(): React.JSX.Element;
@@ -34,10 +34,6 @@ const action_1 = require("@uxf/ui/utils/action");
34
34
  const component_structure_analyzer_1 = __importDefault(require("@uxf/ui/utils/component-structure-analyzer"));
35
35
  const react_1 = __importStar(require("react"));
36
36
  const storybook_config_1 = require("../utils/storybook-config");
37
- exports.default = {
38
- title: "UI/Input",
39
- component: input_1.Input,
40
- };
41
37
  function Default() {
42
38
  const [value, setValue] = (0, react_1.useState)("");
43
39
  const [isInvalid, setInvalid] = (0, react_1.useState)(false);
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./label").LabelProps & React.RefAttributes<HTMLLabelElement>>;
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/Label",
11
- component: index_1.Label,
12
- };
13
9
  function Default() {
14
10
  return (react_1.default.createElement("div", { className: "space-y-2" },
15
11
  react_1.default.createElement(index_1.Label, null, "Label")));
@@ -1,9 +1,11 @@
1
- import { FC, ReactNode } from "react";
1
+ import React, { ReactNode } from "react";
2
2
  export interface LayoutProps {
3
3
  children?: ReactNode;
4
- logo?: ReactNode;
5
- subtitle?: ReactNode;
6
- toolbarRight?: ReactNode;
7
4
  sidebar?: ReactNode;
5
+ sidebarHeader?: ReactNode;
6
+ appBar?: ReactNode;
7
+ }
8
+ export declare function Layout(props: LayoutProps): React.JSX.Element;
9
+ export declare namespace Layout {
10
+ var displayName: string;
8
11
  }
9
- export declare const Layout: FC<LayoutProps>;
package/layout/layout.js CHANGED
@@ -23,39 +23,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Layout = void 0;
27
- const react_1 = require("@headlessui/react");
28
- const react_2 = __importStar(require("react"));
29
- const icon_1 = require("../icon");
30
- const uxf_logo_1 = require("./uxf-logo");
31
- const Layout = (props) => {
32
- var _a, _b;
33
- const [sidebarOpen, setSidebarOpen] = (0, react_2.useState)(false);
34
- return (react_2.default.createElement("div", { className: "uxf-layout" },
35
- react_2.default.createElement("div", { className: "uxf-sidebar" },
36
- react_2.default.createElement("div", { className: "uxf-sidebar__content" }, props.sidebar)),
37
- react_2.default.createElement("div", { className: "uxf-app-bar" },
38
- react_2.default.createElement("div", { className: "uxf-app-bar__left-container" },
39
- react_2.default.createElement("button", { className: "uxf-app-bar__menu-button", onClick: () => setSidebarOpen(true), type: "button" },
40
- react_2.default.createElement(icon_1.Icon, { className: "text-white", name: "bars", size: 26 })),
41
- react_2.default.createElement("div", { className: "uxf-app-bar__logo" }, (_a = props.logo) !== null && _a !== void 0 ? _a : react_2.default.createElement(uxf_logo_1.UxfLogo, null))),
42
- react_2.default.createElement("div", { className: "uxf-app-bar__right-container" }, props.toolbarRight)),
43
- react_2.default.createElement(react_1.Transition.Root, { as: react_2.Fragment, show: sidebarOpen },
44
- react_2.default.createElement(react_1.Dialog, { as: "div", className: "relative z-40 md:hidden", onClose: setSidebarOpen },
45
- react_2.default.createElement(react_1.Transition.Child, { as: react_2.Fragment, enter: "transition-opacity ease-linear duration-300", enterFrom: "opacity-0", enterTo: "opacity-100", leave: "transition-opacity ease-linear duration-300", leaveFrom: "opacity-100", leaveTo: "opacity-0" },
46
- react_2.default.createElement("div", { className: "fixed inset-0 bg-gray-600/75" })),
47
- react_2.default.createElement("div", { className: "fixed inset-0 z-40 flex" },
48
- react_2.default.createElement(react_1.Transition.Child, { as: react_2.Fragment, enter: "transition ease-in-out duration-300 transform", enterFrom: "-translate-x-full", enterTo: "translate-x-0", leave: "transition ease-in-out duration-300 transform", leaveFrom: "translate-x-0", leaveTo: "-translate-x-full" },
49
- react_2.default.createElement(react_1.Dialog.Panel, { className: "relative flex w-full max-w-xs flex-1 flex-col bg-white pb-4 pt-5" },
50
- react_2.default.createElement(react_1.Transition.Child, { as: react_2.Fragment, enter: "ease-in-out duration-300", enterFrom: "opacity-0", enterTo: "opacity-100", leave: "ease-in-out duration-300", leaveFrom: "opacity-100", leaveTo: "opacity-0" },
51
- react_2.default.createElement("div", { className: "absolute right-0 top-0 -mr-12 pt-2" },
52
- react_2.default.createElement("button", { className: "ml-1 flex size-10 items-center justify-center rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white", onClick: () => setSidebarOpen(false), type: "button" },
53
- react_2.default.createElement("span", { className: "sr-only" }, "Close sidebar"),
54
- react_2.default.createElement(icon_1.Icon, { className: "text-white", name: "xmarkLarge", size: 24 })))),
55
- react_2.default.createElement("div", { className: "uxf-drawer__logo" }, (_b = props.logo) !== null && _b !== void 0 ? _b : react_2.default.createElement(uxf_logo_1.UxfLogo, { isDark: true })),
56
- react_2.default.createElement("div", { className: "uxf-drawer__content" }, props.sidebar))),
57
- react_2.default.createElement("div", { "aria-hidden": "true", className: "w-14 shrink-0" })))),
58
- react_2.default.createElement("main", { className: "uxf-layout__content" }, props.children)));
59
- };
60
26
  exports.Layout = Layout;
61
- exports.Layout.displayName = "UxfUiLayout";
27
+ const cx_1 = require("@uxf/core/utils/cx");
28
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
29
+ const react_1 = __importStar(require("react"));
30
+ const icon_button_1 = require("../icon-button");
31
+ function Layout(props) {
32
+ const [isSidebarOpen, setIsSidebarOpen] = (0, react_1.useState)(false);
33
+ return (react_1.default.createElement("div", { className: "uxf-layout" },
34
+ react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-sidebar", isSidebarOpen && "uxf-sidebar--is-open") },
35
+ (0, is_not_nil_1.isNotNil)(props.sidebarHeader) && react_1.default.createElement("div", { className: "uxf-sidebar__header" }, props.sidebarHeader),
36
+ react_1.default.createElement("div", { className: "uxf-sidebar__content" }, props.sidebar)),
37
+ isSidebarOpen && react_1.default.createElement("div", { className: "uxf-sidebar-overlay", onClick: () => setIsSidebarOpen(false) }),
38
+ react_1.default.createElement("div", { className: "uxf-app-bar" },
39
+ react_1.default.createElement(icon_button_1.IconButton, { className: "uxf-app-bar__menu-button", iconName: "bars", label: "Otev\u0159\u00EDt menu", onClick: () => setIsSidebarOpen(true), variant: "text" }),
40
+ react_1.default.createElement("div", { className: "uxf-app-bar__content" }, props.appBar)),
41
+ react_1.default.createElement("main", { className: "uxf-layout__content" }, props.children)));
42
+ }
43
+ Layout.displayName = "UxfUiLayout";
@@ -1,8 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.FC<import("./layout").LayoutProps>;
5
- layout: string;
6
- };
7
- export default _default;
8
2
  export declare function Default(): React.JSX.Element;
@@ -6,15 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const layout_1 = require("./layout");
9
- exports.default = {
10
- title: "Admin/Layout",
11
- component: layout_1.Layout,
12
- layout: "fulscreen",
13
- };
14
9
  function Default() {
15
- return (react_1.default.createElement(layout_1.Layout, { sidebar: react_1.default.createElement("div", { className: "p-8" },
16
- react_1.default.createElement("div", { className: "flex h-64 items-center justify-center rounded-xl border-4 border-dashed border-gray-200 text-xl font-semibold text-gray-300" }, "sidebar")), toolbarRight: react_1.default.createElement("div", { className: "p-8" },
17
- react_1.default.createElement("div", { className: "flex items-center justify-center rounded-xl border-4 border-dashed border-gray-200 px-5 text-xl font-semibold text-gray-300" }, "toolbarRight")) },
10
+ return (react_1.default.createElement(layout_1.Layout, { appBar: react_1.default.createElement("div", { className: "flex h-full items-center justify-center" }, "appBar"), sidebar: react_1.default.createElement("div", { className: "p-8" },
11
+ react_1.default.createElement("div", { className: "flex h-64 items-center justify-center rounded-xl border-4 border-dashed border-gray-200 text-xl font-semibold text-gray-300" }, "sidebar")), sidebarHeader: react_1.default.createElement("div", { className: "p-8" },
12
+ react_1.default.createElement("div", { className: "flex h-32 items-center justify-center rounded-xl border-4 border-dashed border-gray-200 text-xl font-semibold text-gray-300" }, "sidebarHeader")) },
18
13
  react_1.default.createElement("div", { className: "p-8" },
19
14
  react_1.default.createElement("div", { className: "flex h-64 items-center justify-center rounded-xl border-4 border-dashed border-gray-200 text-xl font-semibold text-gray-300" }, "children"))));
20
15
  }
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./list-item").ListItemProps & React.RefAttributes<HTMLAnchorElement>>;
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 icon_1 = require("../icon");
9
9
  const index_1 = require("./index");
10
- exports.default = {
11
- title: "UI/ListItem",
12
- component: index_1.ListItem,
13
- };
14
10
  function Default() {
15
11
  // eslint-disable-next-line no-console
16
12
  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("./loader").LoaderProps & React.RefAttributes<HTMLDivElement>>;
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 loader_1 = require("./loader");
9
- exports.default = {
10
- title: "UI/Loader",
11
- component: loader_1.Loader,
12
- };
13
9
  function Default() {
14
10
  const loaders = (react_1.default.createElement(react_1.default.Fragment, null,
15
11
  react_1.default.createElement(loader_1.Loader, { size: "sm" }),
@@ -26,22 +26,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Message = void 0;
27
27
  const cx_1 = require("@uxf/core/utils/cx");
28
28
  const react_1 = __importStar(require("react"));
29
- const dialog_1 = require("../dialog");
29
+ const dialog_1 = require("../dialog/dialog");
30
30
  const message_content_1 = require("./message-content");
31
+ const getMessageContent = (newMessage, closeDialog) => (react_1.default.createElement(message_content_1.MessageContent, { CustomIconComponent: newMessage.CustomIconComponent, acceptLabel: newMessage.acceptLabel, cancelLabel: newMessage.cancelLabel, color: newMessage.color, description: newMessage.description, icon: newMessage.icon, onAccept: newMessage.onAccept, onCancel: newMessage.onCancel, onClose: closeDialog, title: newMessage.title, variant: newMessage.variant }, newMessage.children));
31
32
  exports.Message = (0, react_1.forwardRef)((props, ref) => {
32
33
  var _a;
33
34
  const [content, setContent] = (0, react_1.useState)();
34
- const message = (0, react_1.useCallback)((newConfirm) => setContent(newConfirm), []);
35
- const close = (0, react_1.useCallback)(() => setContent(null), []);
35
+ const { openDialog, DialogProvider, closeDialog } = (0, dialog_1.useDialog)();
36
+ const openMessage = (newMessage) => {
37
+ openDialog(getMessageContent(newMessage, closeDialog));
38
+ setContent(newMessage);
39
+ };
36
40
  const innerRef = (0, react_1.useRef)({
37
- close,
38
- message,
41
+ close: closeDialog,
42
+ message: openMessage,
39
43
  });
40
44
  (0, react_1.useImperativeHandle)(ref, () => ({
41
45
  close: innerRef.current.close,
42
46
  message: innerRef.current.message,
43
47
  }), []);
44
- return content ? (react_1.default.createElement(dialog_1.Dialog, { className: (0, cx_1.cx)("uxf-message", `uxf-message--variant-${(_a = content.variant) !== null && _a !== void 0 ? _a : "simple"}`, `uxf-message--color-${content.color}`, content.className), disableBackdropClose: true, onClose: close, open: true },
45
- react_1.default.createElement(message_content_1.MessageContent, { CustomIconComponent: content.CustomIconComponent, acceptLabel: content.acceptLabel, cancelLabel: content.cancelLabel, color: content.color, description: content.description, icon: content.icon, onAccept: content.onAccept, onCancel: content.onCancel, onClose: close, title: content.title, variant: content.variant }, content.children))) : null;
48
+ return (react_1.default.createElement(DialogProvider, { className: (0, cx_1.cx)("uxf-message", `uxf-message--variant-${(_a = content === null || content === void 0 ? void 0 : content.variant) !== null && _a !== void 0 ? _a : "simple"}`, `uxf-message--color-${content === null || content === void 0 ? void 0 : content.color}`, content === null || content === void 0 ? void 0 : content.className) }, content ? getMessageContent(content, closeDialog) : null));
46
49
  });
47
50
  exports.Message.displayName = "UxfUiMessage";
package/modal/modal.d.ts CHANGED
@@ -4,7 +4,7 @@ import type { DialogProps } from "../dialog";
4
4
  export interface ModalProps {
5
5
  children: ReactNode;
6
6
  className?: DialogProps["className"];
7
- disableBackdropClose?: DialogProps["disableBackdropClose"];
7
+ isBackdropCloseDisabled?: DialogProps["isBackdropCloseDisabled"];
8
8
  onClose?: () => void;
9
9
  variant?: ModalVariant;
10
10
  width?: ModalWidth;
package/modal/modal.js CHANGED
@@ -26,27 +26,32 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.Modal = void 0;
28
28
  const react_1 = __importStar(require("react"));
29
- const dialog_1 = require("../dialog");
29
+ const dialog_1 = require("../dialog/dialog");
30
30
  exports.Modal = (0, react_1.forwardRef)((props, ref) => {
31
31
  var _a, _b, _c;
32
32
  const [content, setContent] = (0, react_1.useState)();
33
- const open = (0, react_1.useCallback)((newModal) => setContent(newModal), []);
34
- const close = (0, react_1.useCallback)(() => setContent(null), []);
33
+ const { openDialog, DialogProvider, closeDialog } = (0, dialog_1.useDialog)({
34
+ onDialogClose: content === null || content === void 0 ? void 0 : content.onClose,
35
+ isBackdropCloseDisabled: content === null || content === void 0 ? void 0 : content.isBackdropCloseDisabled,
36
+ });
37
+ const openModalHandler = (modal) => {
38
+ openDialog(modal.children);
39
+ setContent(modal);
40
+ };
41
+ const closeModalHandler = () => {
42
+ if (content === null || content === void 0 ? void 0 : content.onClose) {
43
+ content.onClose();
44
+ }
45
+ closeDialog();
46
+ };
35
47
  const innerRef = (0, react_1.useRef)({
36
- close,
37
- open,
48
+ close: closeModalHandler,
49
+ open: openModalHandler,
38
50
  });
39
51
  (0, react_1.useImperativeHandle)(ref, () => ({
40
52
  close: innerRef.current.close,
41
53
  open: innerRef.current.open,
42
54
  }), []);
43
- const onClose = (0, react_1.useCallback)(() => {
44
- setContent((prev) => {
45
- var _a;
46
- (_a = prev === null || prev === void 0 ? void 0 : prev.onClose) === null || _a === void 0 ? void 0 : _a.call(prev);
47
- return null;
48
- });
49
- }, []);
50
- return content ? (react_1.default.createElement(dialog_1.Dialog, { className: `uxf-modal uxf-modal--variant-${(_a = content.variant) !== null && _a !== void 0 ? _a : "default"} uxf-modal--width-${(_b = content.width) !== null && _b !== void 0 ? _b : "default"} ${(_c = content.className) !== null && _c !== void 0 ? _c : ""}`, disableBackdropClose: content.disableBackdropClose, onClose: onClose, open: true, variant: content.variant }, content.children)) : null;
55
+ return (react_1.default.createElement(DialogProvider, { className: `uxf-modal uxf-modal--variant-${(_a = content === null || content === void 0 ? void 0 : content.variant) !== null && _a !== void 0 ? _a : "default"} uxf-modal--width-${(_b = content === null || content === void 0 ? void 0 : content.width) !== null && _b !== void 0 ? _b : "default"} ${(_c = content === null || content === void 0 ? void 0 : content.className) !== null && _c !== void 0 ? _c : ""}`, variant: content === null || content === void 0 ? void 0 : content.variant, width: content === null || content === void 0 ? void 0 : content.width }));
51
56
  });
52
57
  exports.Modal.displayName = "UxfUiModal";
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<React.RefAttributes<import("./modal").ModalRef>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -6,18 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Default = Default;
7
7
  const button_1 = require("@uxf/ui/button");
8
8
  const react_1 = __importDefault(require("react"));
9
- const modal_1 = require("./modal");
10
9
  const modal_service_1 = require("./modal-service");
11
- exports.default = {
12
- title: "UI/Modal",
13
- component: modal_1.Modal,
14
- };
15
10
  function Default() {
16
11
  const storyModals = (react_1.default.createElement("div", { className: "light inline-flex flex-col space-y-4" },
17
12
  react_1.default.createElement(button_1.Button, { onClick: () => (0, modal_service_1.openModal)({
18
13
  children: (react_1.default.createElement("div", { className: "p-4" },
19
14
  react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Modal - default size"),
20
15
  react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: modal_service_1.closeModal }, "Close modal"))),
16
+ onClose: () => console.log("modal closed"),
21
17
  }) }, "Click to open modal - default"),
22
18
  react_1.default.createElement(button_1.Button, { onClick: () => (0, modal_service_1.openModal)({
23
19
  children: (react_1.default.createElement("div", { className: "p-4" },
@@ -53,7 +49,7 @@ function Default() {
53
49
  children: (react_1.default.createElement("div", { className: "p-4" },
54
50
  react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Modal - disable backdrop close"),
55
51
  react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: modal_service_1.closeModal }, "Close modal"))),
56
- disableBackdropClose: true,
52
+ isBackdropCloseDisabled: true,
57
53
  }) }, "Click to open modal - disable backdrop close"),
58
54
  react_1.default.createElement(button_1.Button, { onClick: () => (0, modal_service_1.openModal)({
59
55
  children: (react_1.default.createElement("div", { className: "p-4" },
@@ -1,10 +1,4 @@
1
1
  import React from "react";
2
- import { MultiComboboxOption } from "./types";
3
- declare const _default: {
4
- title: string;
5
- component: React.ForwardRefExoticComponent<import("./types").MultiComboboxProps<import("./types").MultiComboboxValueId, MultiComboboxOption<import("./types").MultiComboboxValueId>> & React.RefAttributes<HTMLInputElement>>;
6
- };
7
- export default _default;
8
2
  export declare function Default(): React.JSX.Element;
9
3
  export declare function Async(): React.JSX.Element;
10
4
  export declare function ComponentStructure(): React.JSX.Element;
@@ -33,10 +33,6 @@ const react_1 = __importStar(require("react"));
33
33
  const action_1 = require("../utils/action");
34
34
  const component_structure_analyzer_1 = __importDefault(require("../utils/component-structure-analyzer"));
35
35
  const multi_combobox_1 = require("./multi-combobox");
36
- exports.default = {
37
- title: "UI/MultiCombobox",
38
- component: multi_combobox_1.MultiCombobox,
39
- };
40
36
  const options = [
41
37
  { id: "one", label: "Option red", color: "red" },
42
38
  { id: "two", label: "Option blue", color: "blue", disabled: true },
@@ -1,9 +1,3 @@
1
1
  import React from "react";
2
- import { MultiSelectOption } from "./types";
3
- declare const _default: {
4
- title: string;
5
- component: React.ForwardRefExoticComponent<import("./types").MultiSelectProps<import("./types").MultiSelectValueId, MultiSelectOption<import("./types").MultiSelectValueId>> & React.RefAttributes<HTMLDivElement>>;
6
- };
7
- export default _default;
8
2
  export declare function Default(): React.JSX.Element;
9
3
  export declare function ComponentStructure(): React.JSX.Element;
@@ -32,10 +32,6 @@ const component_structure_analyzer_1 = __importDefault(require("@uxf/ui/utils/co
32
32
  const react_1 = __importStar(require("react"));
33
33
  const action_1 = require("../utils/action");
34
34
  const multi_select_1 = require("./multi-select");
35
- exports.default = {
36
- title: "UI/MultiSelect",
37
- component: multi_select_1.MultiSelect,
38
- };
39
35
  const options = [
40
36
  { id: "one", label: "Option red", color: "red" },
41
37
  { id: "two", label: "Option blue", color: "blue" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/ui",
3
- "version": "11.45.1",
3
+ "version": "11.47.0",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,10 +23,10 @@
23
23
  "dependencies": {
24
24
  "@floating-ui/react": "0.26.28",
25
25
  "@headlessui/react": "1.7.19",
26
- "@uxf/core": "11.45.0",
27
- "@uxf/core-react": "11.45.0",
26
+ "@uxf/core": "11.47.0",
27
+ "@uxf/core-react": "11.47.0",
28
28
  "@uxf/datepicker": "11.45.0",
29
- "@uxf/styles": "11.45.0",
29
+ "@uxf/styles": "11.47.0",
30
30
  "color2k": "2.0.3",
31
31
  "dayjs": "1.11.13",
32
32
  "jump.js": "1.0.2",
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.FC<import("./pagination").PaginationProps>;
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 pagination_1 = require("./pagination");
30
- exports.default = {
31
- title: "UI/Pagination",
32
- component: pagination_1.Pagination,
33
- };
34
30
  function Default() {
35
31
  const [page, setPage] = (0, react_1.useState)(1);
36
32
  const onPageChange = (0, action_1.action)("onPageChange", setPage);
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./paper").PaperProps & React.RefAttributes<HTMLDivElement>>;
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 paper_1 = require("./paper");
9
- exports.default = {
10
- title: "UI/Paper",
11
- component: paper_1.Paper,
12
- };
13
9
  function Default() {
14
10
  return (react_1.default.createElement("div", { className: "flex items-center justify-center bg-gray-100" },
15
11
  react_1.default.createElement(paper_1.Paper, null,
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./radio").RadioProps<string | number> & React.RefAttributes<HTMLDivElement>>;
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/Radio",
11
- component: index_1.Radio,
12
- };
13
9
  function Default() {
14
10
  const radios = (react_1.default.createElement("div", { className: "dark:text-white" },
15
11
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Default"),
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./radio-group").RadioGroupProps & React.RefAttributes<HTMLLabelElement>>;
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/RadioGroup",
32
- component: index_1.RadioGroup,
33
- };
34
30
  const options = [
35
31
  {
36
32
  id: "1",
@@ -1,8 +1,2 @@
1
1
  import React from "react";
2
- import { RasterImage } from "./index";
3
- declare const _default: {
4
- title: string;
5
- component: typeof RasterImage;
6
- };
7
- export default _default;
8
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/RasterImage",
11
- component: index_1.RasterImage,
12
- };
13
9
  function Default() {
14
10
  return (react_1.default.createElement("div", { className: "space-y-2" },
15
11
  react_1.default.createElement(index_1.RasterImage, { alt: "Alt text", height: 100, mode: "cover", src: undefined, width: 300 })));
package/readmes.d.ts CHANGED
@@ -31,6 +31,7 @@ export declare const readmes: {
31
31
  readonly icon: typeof alertBubbleReadme;
32
32
  readonly "icon-button": typeof alertBubbleReadme;
33
33
  readonly "image-gallery": typeof alertBubbleReadme;
34
+ readonly infobox: typeof alertBubbleReadme;
34
35
  readonly input: typeof alertBubbleReadme;
35
36
  readonly label: typeof alertBubbleReadme;
36
37
  readonly layout: typeof alertBubbleReadme;