@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
@@ -28,15 +28,6 @@ const react_1 = __importStar(require("react"));
28
28
  const date_range_picker_input_1 = require("./date-range-picker-input");
29
29
  // import Docs from "./date-picker.docs.mdx";
30
30
  const action_1 = require("../utils/action");
31
- exports.default = {
32
- title: "UI/DateRangePickerInput",
33
- component: date_range_picker_input_1.DateRangePickerInput,
34
- parameters: {
35
- docs: {
36
- // page: Docs,
37
- },
38
- },
39
- };
40
31
  function Default() {
41
32
  const [range, setRange] = (0, react_1.useState)(null);
42
33
  const onChange = (0, action_1.action)("onChange", setRange);
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.FC<import("./datetime-picker").DatetimePickerProps>;
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 datetime_picker_1 = require("./datetime-picker");
30
- exports.default = {
31
- title: "UI/DatetimePicker",
32
- component: datetime_picker_1.DatetimePicker,
33
- };
34
30
  function Default() {
35
31
  const [value, setValue] = (0, react_1.useState)(null);
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.ForwardRefExoticComponent<import("./datetime-picker-input").DatetimePickerInputProps & React.RefAttributes<HTMLInputElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -28,10 +28,6 @@ const react_1 = __importStar(require("react"));
28
28
  const icon_1 = require("../icon");
29
29
  const action_1 = require("../utils/action");
30
30
  const datetime_picker_input_1 = require("./datetime-picker-input");
31
- exports.default = {
32
- title: "UI/DatetimePickerInput",
33
- component: datetime_picker_input_1.DatetimePickerInput,
34
- };
35
31
  function Default() {
36
32
  const [date, setDate] = (0, react_1.useState)(null);
37
33
  const onChange = (0, action_1.action)("onChange", setDate);
@@ -1,11 +1,28 @@
1
- import { DialogVariant } from "@uxf/ui/dialog/theme";
2
- import React, { ReactNode } from "react";
1
+ import { UseFloatingReturn } from "@floating-ui/react";
2
+ import { DialogVariant, DialogWidth } from "@uxf/ui/dialog/theme";
3
+ import React, { FC, HTMLProps, ReactNode, Ref } from "react";
4
+ type GetFloatingElementProps = (userProps?: HTMLProps<HTMLElement>) => Record<string, unknown>;
3
5
  export interface DialogProps {
4
- children: ReactNode;
6
+ children?: ReactNode;
5
7
  className?: string;
6
- disableBackdropClose?: boolean;
7
- onClose: () => void;
8
- open: boolean;
8
+ context: UseFloatingReturn["context"];
9
+ isBackdropCloseDisabled?: boolean;
10
+ forwardedRef: Ref<HTMLDivElement>;
11
+ getFloatingProps: GetFloatingElementProps;
12
+ isOpen: boolean;
9
13
  variant?: DialogVariant;
14
+ width?: DialogWidth;
10
15
  }
16
+ type DialogProviderProps = Pick<DialogProps, "variant" | "width" | "className" | "children">;
11
17
  export declare const Dialog: React.NamedExoticComponent<DialogProps>;
18
+ type DialogCloseHandler = () => void;
19
+ export declare function useDialog(dialogConfig?: {
20
+ onDialogClose?: DialogCloseHandler;
21
+ isBackdropCloseDisabled?: boolean;
22
+ }): {
23
+ openDialog: (children: ReactNode) => void;
24
+ DialogProvider: FC<DialogProviderProps>;
25
+ closeDialog: DialogCloseHandler;
26
+ getFloatingElementProps: GetFloatingElementProps;
27
+ };
28
+ export {};
package/dialog/dialog.js CHANGED
@@ -25,14 +25,51 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.Dialog = void 0;
28
- const react_1 = require("@headlessui/react");
28
+ exports.useDialog = useDialog;
29
+ const react_1 = require("@floating-ui/react");
30
+ const show_1 = require("@uxf/core-react/components/show");
31
+ const use_latest_1 = require("@uxf/core-react/hooks/use-latest");
32
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
29
33
  const react_2 = __importStar(require("react"));
30
34
  exports.Dialog = (0, react_2.memo)((props) => {
31
- var _a, _b;
32
- return (react_2.default.createElement(react_1.Dialog, { className: `uxf-dialog uxf-dialog--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"} ${(_b = props.className) !== null && _b !== void 0 ? _b : ""}`, onClose: props.disableBackdropClose ? () => null : props.onClose, open: props.open },
33
- react_2.default.createElement(react_1.Dialog.Overlay, { className: "uxf-dialog__backdrop" }),
34
- react_2.default.createElement("div", { className: "uxf-dialog__wrapper" },
35
- react_2.default.createElement("div", { className: "uxf-dialog__body" },
36
- react_2.default.createElement(react_1.Dialog.Panel, { className: "uxf-dialog__panel" }, props.children)))));
35
+ var _a, _b, _c;
36
+ return (react_2.default.createElement(react_1.FloatingPortal, null,
37
+ react_2.default.createElement(show_1.Show, { when: props.isOpen },
38
+ react_2.default.createElement(react_1.FloatingOverlay, { className: `uxf-dialog uxf-dialog__backdrop uxf-dialog--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"} ${(_b = props.className) !== null && _b !== void 0 ? _b : ""} uxf-dialog--width-${(_c = props.width) !== null && _c !== void 0 ? _c : "default"}`, lockScroll: true },
39
+ react_2.default.createElement(react_1.FloatingFocusManager, { context: props.context, guards: true, initialFocus: 0, modal: true },
40
+ react_2.default.createElement("div", { className: "uxf-dialog__wrapper" },
41
+ react_2.default.createElement("div", { className: "uxf-dialog__body" },
42
+ react_2.default.createElement("div", { className: "uxf-dialog__panel", ref: props.forwardedRef, ...props.getFloatingProps() }, props.children))))))));
37
43
  });
38
44
  exports.Dialog.displayName = "UxfUiDialog";
45
+ function useDialog(dialogConfig) {
46
+ const [content, setContent] = (0, react_2.useState)(null);
47
+ const closeDialogHandler = (0, react_2.useCallback)(() => {
48
+ setContent(null);
49
+ if (dialogConfig === null || dialogConfig === void 0 ? void 0 : dialogConfig.onDialogClose) {
50
+ dialogConfig.onDialogClose();
51
+ }
52
+ }, [dialogConfig]);
53
+ const { refs, context } = (0, react_1.useFloating)({
54
+ open: (0, is_not_nil_1.isNotNil)(content),
55
+ onOpenChange(nextOpen, event, reason) {
56
+ if (!(reason === "outside-press" && (dialogConfig === null || dialogConfig === void 0 ? void 0 : dialogConfig.isBackdropCloseDisabled))) {
57
+ closeDialogHandler();
58
+ }
59
+ },
60
+ });
61
+ const click = (0, react_1.useClick)(context);
62
+ const role = (0, react_1.useRole)(context);
63
+ const dismiss = (0, react_1.useDismiss)(context, { outsidePressEvent: "mousedown" });
64
+ const { getReferenceProps, getFloatingProps } = (0, react_1.useInteractions)([click, role, dismiss]);
65
+ const latestContext = (0, use_latest_1.useLatest)(context);
66
+ const DialogProvider = (0, react_2.useCallback)((config) => {
67
+ return (react_2.default.createElement(exports.Dialog, { className: config === null || config === void 0 ? void 0 : config.className, context: latestContext.current, forwardedRef: refs.setFloating, getFloatingProps: getFloatingProps, isOpen: Boolean(content), variant: config === null || config === void 0 ? void 0 : config.variant, width: config === null || config === void 0 ? void 0 : config.width }, content));
68
+ }, [latestContext, refs.setFloating, getFloatingProps, content]);
69
+ return {
70
+ openDialog: setContent,
71
+ DialogProvider,
72
+ closeDialog: closeDialogHandler,
73
+ getFloatingElementProps: getReferenceProps,
74
+ };
75
+ }
@@ -1,41 +1,20 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
6
  exports.Default = Default;
27
- const react_1 = __importStar(require("react"));
7
+ const react_1 = __importDefault(require("react"));
28
8
  const button_1 = require("../button");
29
9
  const dialog_1 = require("./dialog");
30
10
  function Default() {
31
- const [open, setOpen] = (0, react_1.useState)();
32
- const storyDialog = (react_1.default.createElement("div", null,
33
- react_1.default.createElement(button_1.Button, { onClick: () => setOpen(true) }, "Click to open modal - default")));
11
+ const { openDialog, DialogProvider, closeDialog } = (0, dialog_1.useDialog)();
34
12
  return (react_1.default.createElement(react_1.default.Fragment, null,
35
13
  react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
36
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyDialog)),
37
- open && (react_1.default.createElement(dialog_1.Dialog, { onClose: () => setOpen(true), open: open },
38
- react_1.default.createElement("div", { className: "p-4" },
39
- react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Dialog"),
40
- react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: () => setOpen(false) }, "Close dialog"))))));
14
+ react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" },
15
+ react_1.default.createElement("div", null,
16
+ react_1.default.createElement(button_1.Button, { onClick: () => openDialog(react_1.default.createElement("div", { className: "p-4" },
17
+ react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Dialog"),
18
+ react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: closeDialog }, "Close dialog"))) }, "Click to open modal - default")))),
19
+ react_1.default.createElement(DialogProvider, null)));
41
20
  }
package/dialog/theme.d.ts CHANGED
@@ -3,3 +3,11 @@ export interface DialogVariants {
3
3
  "drawer-right": true;
4
4
  }
5
5
  export type DialogVariant = keyof DialogVariants;
6
+ export interface DialogWidths {
7
+ xs: true;
8
+ sm: true;
9
+ default: true;
10
+ lg: true;
11
+ xl: true;
12
+ }
13
+ export type DialogWidth = keyof DialogWidths;
@@ -1,10 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: {
5
- Item: React.ForwardRefExoticComponent<import("./dropdown").DropdownItemProps & React.RefAttributes<HTMLAnchorElement>>;
6
- Items: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
- };
8
- };
9
- export default _default;
10
2
  export declare function Default(): React.JSX.Element;
@@ -9,10 +9,6 @@ const classes_1 = require("@uxf/core/constants/classes");
9
9
  const react_2 = __importDefault(require("react"));
10
10
  const button_1 = require("../button");
11
11
  const index_1 = require("./index");
12
- exports.default = {
13
- title: "UI/Dropdown",
14
- component: index_1.Dropdown,
15
- };
16
12
  const testDropdownItems = [
17
13
  { id: 1, title: "Test 1" },
18
14
  { id: 2, title: "Test 2" },
@@ -1,9 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./dropzone-input").DropzoneInputProps & React.RefAttributes<HTMLDivElement>> & {
5
- List: typeof import("./dropzone-list").DropzoneList;
6
- };
7
- };
8
- export default _default;
9
2
  export declare function Default(): React.JSX.Element;
@@ -32,10 +32,6 @@ const toggle_1 = require("../toggle");
32
32
  const action_1 = require("../utils/action");
33
33
  const upload_file_mock_1 = require("../utils/mocks/upload-file.mock");
34
34
  const index_1 = require("./index");
35
- exports.default = {
36
- title: "UI/Dropzone",
37
- component: index_1.Dropzone,
38
- };
39
35
  const MB_SIZE = 1024 * 1024;
40
36
  function Default() {
41
37
  const [isDisabled, setIsDisabled] = (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.FC<import("./error-message").ErrorMessageProps>;
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/ErrorMessage",
11
- component: index_1.ErrorMessage,
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.ErrorMessage, null, "This field is required.")));
@@ -1,7 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./file-input").FileInputProps & React.RefAttributes<HTMLInputElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -28,10 +28,6 @@ const react_1 = __importStar(require("react"));
28
28
  const action_1 = require("../utils/action");
29
29
  const upload_file_mock_1 = require("../utils/mocks/upload-file.mock");
30
30
  const index_1 = require("./index");
31
- exports.default = {
32
- title: "UI/FileInput",
33
- component: index_1.FileInput,
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<React.RefAttributes<import("./flash-messages").FlashMessagesRef>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
@@ -7,12 +7,7 @@ exports.Default = Default;
7
7
  const button_1 = require("@uxf/ui/button");
8
8
  const icon_1 = require("@uxf/ui/icon");
9
9
  const react_1 = __importDefault(require("react"));
10
- const flash_messages_1 = require("./flash-messages");
11
10
  const flash_messages_service_1 = require("./flash-messages-service");
12
- exports.default = {
13
- title: "UI/FlashMessages",
14
- component: flash_messages_1.FlashMessages,
15
- };
16
11
  // Random texts for flash message height testing
17
12
  const randomTexts = [
18
13
  "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ex fuga neque. Delectus error, esse eum exercitationem iste iure maiores mollitia officia quasi reiciendis saepe voluptates voluptatum? Commodi, nulla, quo!",
@@ -1,12 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./form-component").FormComponentProps & React.RefAttributes<HTMLDivElement>>;
5
- parameters: {
6
- actions: {
7
- argTypesRegex: string;
8
- };
9
- };
10
- };
11
- export default _default;
12
2
  export declare function Default(): React.JSX.Element;
@@ -6,11 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const form_component_1 = require("./form-component");
9
- exports.default = {
10
- title: "UI/FormComponent",
11
- component: form_component_1.FormComponent,
12
- parameters: { actions: { argTypesRegex: "^on.*" } },
13
- };
14
9
  function Default() {
15
10
  return (react_1.default.createElement("div", { className: "space-y-4" },
16
11
  react_1.default.createElement(form_component_1.FormComponent, { helperText: "helper text", inputId: "default", label: "Default", name: "form-component" },
@@ -1,12 +1,4 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("./icon").IconProps & React.RefAttributes<SVGSVGElement>>;
5
- parameters: {
6
- docs: {};
7
- };
8
- };
9
- export default _default;
10
2
  export declare function AllIcons(): React.JSX.Element;
11
3
  export declare function ColorAndSizes(): React.JSX.Element;
12
4
  export declare function CustomComponent(): React.JSX.Element;
@@ -12,15 +12,6 @@ const react_1 = __importDefault(require("react"));
12
12
  const context_1 = require("../context");
13
13
  const icon_1 = require("./icon");
14
14
  // import Docs from "./icon.docs.mdx";
15
- exports.default = {
16
- title: "UI/Icon",
17
- component: icon_1.Icon,
18
- parameters: {
19
- docs: {
20
- // page: Docs,
21
- },
22
- },
23
- };
24
15
  function AllIcons() {
25
16
  const iconContext = (0, context_1.useComponentContext)("icon");
26
17
  return (react_1.default.createElement("div", { className: "flex flex-row flex-wrap" }, Object.keys(iconContext.iconsConfig).map((iconName) => (react_1.default.createElement("div", { className: "flex size-28 flex-col items-center justify-center gap-3", key: iconName },
package/icons-config.js CHANGED
@@ -140,4 +140,24 @@ module.exports = {
140
140
  height: 512,
141
141
  data: `<path d="M393.4 41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 256l169.3 169.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 301.3 54.6 470.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6c-12.5-12.5-12.5-32.7 0-45.2s32.8-12.5 45.3 0L224 210.7 393.4 41.4z" fill="currentColor"/>`,
142
142
  },
143
+ "solid-badge-check": {
144
+ width: 24,
145
+ height: 24,
146
+ data: `<path d="M12.5 2.5C13.9062 2.5 15.1562 3.32031 15.7812 4.53125C17.0703 4.10156 18.5547 4.41406 19.5703 5.42969C20.5859 6.44531 20.8984 7.92969 20.4688 9.21875C21.6797 9.84375 22.5 11.0938 22.5 12.5C22.5 13.9453 21.6797 15.1953 20.4688 15.8203C20.8984 17.1094 20.5859 18.5547 19.5703 19.5703C18.5547 20.5859 17.0703 20.8984 15.7812 20.5078C15.1562 21.7188 13.9062 22.5 12.5 22.5C11.0547 22.5 9.80469 21.7188 9.17969 20.5078C7.89062 20.8984 6.44531 20.5859 5.42969 19.5703C4.41406 18.5547 4.10156 17.1094 4.49219 15.8203C3.28125 15.1953 2.5 13.9453 2.5 12.5C2.5 11.0938 3.28125 9.84375 4.49219 9.21875C4.10156 7.92969 4.41406 6.44531 5.42969 5.42969C6.44531 4.41406 7.89062 4.10156 9.17969 4.53125C9.80469 3.32031 11.0547 2.5 12.5 2.5ZM16.9141 10.6641C17.2656 10.3125 17.2656 9.72656 16.9141 9.375C16.5234 8.98438 15.9375 8.98438 15.5859 9.375L11.25 13.7109L9.41406 11.875C9.02344 11.4844 8.4375 11.4844 8.08594 11.875C7.69531 12.2266 7.69531 12.8125 8.08594 13.1641L10.5859 15.6641C10.9375 16.0547 11.5234 16.0547 11.9141 15.6641L16.9141 10.6641Z" fill="currentColor"/>/>`,
147
+ },
148
+ "solid-triangle-exclamation": {
149
+ width: 24,
150
+ height: 24,
151
+ data: `<path d="M12.5 3.75C13.0469 3.75 13.5547 4.0625 13.8281 4.53125L22.2656 18.9062C22.5391 19.4141 22.5391 20 22.2656 20.4688C21.9922 20.9766 21.4844 21.25 20.9375 21.25H4.0625C3.47656 21.25 2.96875 20.9766 2.69531 20.4688C2.42188 20 2.42188 19.4141 2.69531 18.9062L11.1328 4.53125C11.4062 4.0625 11.9141 3.75 12.5 3.75ZM12.5 8.75C11.9531 8.75 11.5625 9.17969 11.5625 9.6875V14.0625C11.5625 14.6094 11.9531 15 12.5 15C13.0078 15 13.4375 14.6094 13.4375 14.0625V9.6875C13.4375 9.17969 13.0078 8.75 12.5 8.75ZM13.75 17.5C13.75 16.8359 13.1641 16.25 12.5 16.25C11.7969 16.25 11.25 16.8359 11.25 17.5C11.25 18.2031 11.7969 18.75 12.5 18.75C13.1641 18.75 13.75 18.2031 13.75 17.5Z" fill="currentColor"/>`,
152
+ },
153
+ "solid-octagon-xmark": {
154
+ width: 24,
155
+ height: 24,
156
+ data: `<path d="M7.96875 3.35938C8.51562 2.8125 9.21875 2.53906 9.96094 2.53906H15C15.7422 2.53906 16.4453 2.8125 16.9922 3.35938L21.6406 8.00781C22.1875 8.55469 22.4609 9.25781 22.4609 10V15.0391C22.4609 15.7812 22.1875 16.4844 21.6406 17.0312L16.9922 21.6797C16.4453 22.2266 15.7422 22.5 15 22.5H9.96094C9.21875 22.5 8.51562 22.2266 7.96875 21.6797L3.32031 17.0312C2.77344 16.4844 2.5 15.7812 2.5 15.0391V10C2.5 9.25781 2.77344 8.55469 3.32031 8.00781L7.96875 3.35938ZM9.33594 9.33594C8.94531 9.72656 8.94531 10.3125 9.33594 10.6641L11.1719 12.5L9.33594 14.3359C8.94531 14.7266 8.94531 15.3125 9.33594 15.6641C9.6875 16.0547 10.2734 16.0547 10.625 15.6641L12.4609 13.8281L14.2969 15.6641C14.6875 16.0547 15.2734 16.0547 15.625 15.6641C16.0156 15.3125 16.0156 14.7266 15.625 14.3359L13.7891 12.5L15.625 10.6641C16.0156 10.3125 16.0156 9.72656 15.625 9.33594C15.2734 8.98438 14.6875 8.98438 14.2969 9.33594L12.4609 11.1719L10.625 9.33594C10.2734 8.98438 9.6875 8.98438 9.33594 9.33594Z" fill="currentColor"/>`,
157
+ },
158
+ "solid-circle-info": {
159
+ width: 24,
160
+ height: 24,
161
+ data: `<path d="M12.5 22.5C8.90625 22.5 5.625 20.625 3.82812 17.5C2.03125 14.4141 2.03125 10.625 3.82812 7.5C5.625 4.41406 8.90625 2.5 12.5 2.5C16.0547 2.5 19.3359 4.41406 21.1328 7.5C22.9297 10.625 22.9297 14.4141 21.1328 17.5C19.3359 20.625 16.0547 22.5 12.5 22.5ZM10.9375 15.625C10.3906 15.625 10 16.0547 10 16.5625C10 17.1094 10.3906 17.5 10.9375 17.5H14.0625C14.5703 17.5 15 17.1094 15 16.5625C15 16.0547 14.5703 15.625 14.0625 15.625H13.75V12.1875C13.75 11.6797 13.3203 11.25 12.8125 11.25H10.9375C10.3906 11.25 10 11.6797 10 12.1875C10 12.7344 10.3906 13.125 10.9375 13.125H11.875V15.625H10.9375ZM12.5 7.5C11.7969 7.5 11.25 8.08594 11.25 8.75C11.25 9.45312 11.7969 10 12.5 10C13.1641 10 13.75 9.45312 13.75 8.75C13.75 8.08594 13.1641 7.5 12.5 7.5Z" fill="currentColor"/>`,
162
+ },
143
163
  };
@@ -1,14 +1,2 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.FC<import("./image-gallery").ImageGalleryProps> & {
5
- Image: React.FC<import("./types").ImageGalleryImageProps>;
6
- };
7
- parameters: {
8
- actions: {
9
- argTypesRegex: string;
10
- };
11
- };
12
- };
13
- export default _default;
14
2
  export declare function Default(): React.JSX.Element;
@@ -8,11 +8,6 @@ const image_1 = require("@uxf/core/utils/image");
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const icon_1 = require("../icon");
10
10
  const index_1 = require("./index");
11
- exports.default = {
12
- title: "Lab/ImageGallery",
13
- component: index_1.ImageGallery,
14
- parameters: { actions: { argTypesRegex: "^on.*" } },
15
- };
16
11
  const images = [
17
12
  { src: "https://opentopo.app/hero_image.jpeg", title: "Obr. 1" },
18
13
  {
@@ -0,0 +1,28 @@
1
+ # InfoBox
2
+
3
+ Figma: <a href="https://www.figma.com/design/InhbHrNUhDGbBvRDRonXsD/Vent-UI?node-id=3536-20607">zde</a>
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { InfoBox } from "@uxf/ui/info-box";
9
+
10
+ function Example() {
11
+ return (
12
+ <InfoBox
13
+ action={<Button color="negative" variant="secondary">Button</Button>}
14
+ color="negative"
15
+ description="Description.."
16
+ title="Title"
17
+ />
18
+ );
19
+ }
20
+ ```
21
+
22
+ ## CSS dependencies
23
+
24
+ ```css
25
+ @import url("@uxf/ui/css/info-box.css");
26
+ @import url("@uxf/ui/css/icon.css");
27
+ @import url("@uxf/ui/css/figma-colors.css");
28
+ ```
@@ -0,0 +1,2 @@
1
+ export { InfoBox, InfoboxProps } from "./info-box";
2
+ export { InfoBoxColor, InfoboxWidth } from "./types";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InfoBox = void 0;
4
+ var info_box_1 = require("./info-box");
5
+ Object.defineProperty(exports, "InfoBox", { enumerable: true, get: function () { return info_box_1.InfoBox; } });
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from "react";
2
+ import { IconName } from "../icon/types";
3
+ import { InfoBoxColor } from "./types";
4
+ import IntrinsicElements = React.JSX.IntrinsicElements;
5
+ export declare const getDefaultIconName: (color: InfoBoxColor) => IconName;
6
+ export interface InfoboxProps {
7
+ action?: ReactNode;
8
+ className?: string;
9
+ color?: InfoBoxColor;
10
+ description: ReactNode;
11
+ icon?: IconName | false;
12
+ title?: ReactNode;
13
+ titleElement?: keyof Pick<IntrinsicElements, "p" | "h1" | "h2" | "h3" | "h4">;
14
+ }
15
+ export declare const InfoBox: React.ForwardRefExoticComponent<InfoboxProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.InfoBox = exports.getDefaultIconName = void 0;
27
+ const show_1 = require("@uxf/core-react/components/show");
28
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
29
+ const react_1 = __importStar(require("react"));
30
+ const icon_1 = require("../icon");
31
+ const getDefaultIconName = (color) => {
32
+ switch (color) {
33
+ case "negative":
34
+ return "solid-octagon-xmark";
35
+ case "positive":
36
+ return "solid-badge-check";
37
+ case "warning":
38
+ return "solid-triangle-exclamation";
39
+ case "brand":
40
+ case "info":
41
+ case "neutral":
42
+ default:
43
+ return "solid-circle-info";
44
+ }
45
+ };
46
+ exports.getDefaultIconName = getDefaultIconName;
47
+ exports.InfoBox = (0, react_1.forwardRef)((props, ref) => {
48
+ var _a, _b, _c;
49
+ const color = (_a = props.color) !== null && _a !== void 0 ? _a : "warning";
50
+ const Component = (_b = props.titleElement) !== null && _b !== void 0 ? _b : "p";
51
+ return (react_1.default.createElement("div", { className: `uxf-infobox uxf-infobox--${color} ${(_c = props.className) !== null && _c !== void 0 ? _c : ""}`, ref: ref },
52
+ props.icon !== false && react_1.default.createElement(icon_1.Icon, { name: props.icon || (0, exports.getDefaultIconName)(color) }),
53
+ react_1.default.createElement("div", { className: "uxf-infobox__text-wrapper" },
54
+ react_1.default.createElement(show_1.Show, { when: (0, is_not_nil_1.isNotNil)(props.title) },
55
+ react_1.default.createElement(Component, { className: "uxf-infobox__title" }, props.title)),
56
+ react_1.default.createElement("p", { className: "uxf-infobox__description" }, props.description)),
57
+ (0, is_not_nil_1.isNotNil)(props.action) && react_1.default.createElement("div", { className: "uxf-info-box__action" }, props.action)));
58
+ });
59
+ exports.InfoBox.displayName = "UxfUiInfoBox";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const snap_test_1 = require("../utils/snap-test");
8
+ const info_box_stories_1 = require("./info-box.stories");
9
+ (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(info_box_stories_1.Default, null));
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Default = Default;
7
+ const react_1 = __importDefault(require("react"));
8
+ const button_1 = require("../button");
9
+ const info_box_1 = require("./info-box");
10
+ const TEXT = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus faucibus molestie nisl. Cras elementum.";
11
+ function Default() {
12
+ return (react_1.default.createElement("div", { className: "space-y-4 p-4" },
13
+ react_1.default.createElement(info_box_1.InfoBox, { action: react_1.default.createElement(button_1.Button, { color: "warning", variant: "secondary" }, "Button"), color: "warning", description: TEXT, title: "Warning" }),
14
+ react_1.default.createElement(info_box_1.InfoBox, { action: react_1.default.createElement(button_1.Button, { color: "positive", variant: "secondary" }, "Button"), color: "positive", description: TEXT, title: "Positive" }),
15
+ react_1.default.createElement(info_box_1.InfoBox, { color: "negative", description: TEXT, title: "Negative" }),
16
+ react_1.default.createElement(info_box_1.InfoBox, { color: "info", description: TEXT, title: "Info" }),
17
+ react_1.default.createElement(info_box_1.InfoBox, { color: "brand", description: TEXT, title: "Brand" }),
18
+ react_1.default.createElement(info_box_1.InfoBox, { color: "neutral", description: TEXT, title: "Neutral" })));
19
+ }
@@ -0,0 +1,15 @@
1
+ export interface InfoBoxColors {
2
+ brand: true;
3
+ info: true;
4
+ negative: true;
5
+ neutral: true;
6
+ positive: true;
7
+ warning: true;
8
+ }
9
+ export interface InfoboxWidths {
10
+ xs: true;
11
+ sm: true;
12
+ default: true;
13
+ lg: true;
14
+ xl: true;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { InfoBoxColors, InfoboxWidths } from "./theme";
2
+ export type InfoBoxColor = keyof InfoBoxColors;
3
+ export type InfoboxWidth = keyof InfoboxWidths;