@uxf/ui 11.28.4 → 11.29.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.
package/components.d.ts CHANGED
@@ -6,10 +6,6 @@ import * as buttonStories from "./button/button.stories";
6
6
  import * as buttonGroupStories from "./button-group/button-group.stories";
7
7
  import * as buttonListStories from "./button-list/button-list.stories";
8
8
  import * as calendarStories from "./calendar/calendar.stories";
9
- import * as checkboxStories from "./checkbox/checkbox.stories";
10
- import * as checkboxButtonStories from "./checkbox-button/checkbox-button.stories";
11
- import * as checkboxInputStories from "./checkbox-input/checkbox-input.stories";
12
- import * as chipStories from "./chip/chip.stories";
13
9
  import * as colorRadioStories from "./color-radio/color-radio.stories";
14
10
  import * as colorRadioGroupStories from "./color-radio-group/color-radio-group.stories";
15
11
  import * as comboboxStories from "./combobox/combobox.stories";
@@ -26,6 +22,10 @@ import * as errorMessageStories from "./error-message/error-message.stories";
26
22
  import * as fileInputStories from "./file-input/file-input.stories";
27
23
  import * as flashMessagesStories from "./flash-messages/flash-messages.stories";
28
24
  import * as formComponentStories from "./form-component/form-component.stories";
25
+ import * as checkboxStories from "./checkbox/checkbox.stories";
26
+ import * as checkboxButtonStories from "./checkbox-button/checkbox-button.stories";
27
+ import * as checkboxInputStories from "./checkbox-input/checkbox-input.stories";
28
+ import * as chipStories from "./chip/chip.stories";
29
29
  import * as iconStories from "./icon/icon.stories";
30
30
  import * as imageGalleryStories from "./image-gallery/image-gallery.stories";
31
31
  import * as inputStories from "./input/input.stories";
@@ -37,6 +37,7 @@ import * as lozengeStories from "./lozenge/lozenge.stories";
37
37
  import * as messageStories from "./message/message.stories";
38
38
  import * as modalStories from "./modal/modal.stories";
39
39
  import * as modalDialogStories from "./modal-dialog/modal-dialog.stories";
40
+ import * as modalHeaderStories from "./modal-header/modal-header.stories";
40
41
  import * as multiComboboxStories from "./multi-combobox/multi-combobox.stories";
41
42
  import * as multiSelectStories from "./multi-select/multi-select.stories";
42
43
  import * as paginationStories from "./pagination/pagination.stories";
@@ -87,22 +88,6 @@ export declare const components: {
87
88
  readonly title: "Calendar";
88
89
  readonly stories: typeof calendarStories;
89
90
  };
90
- readonly checkbox: {
91
- readonly title: "Checkbox";
92
- readonly stories: typeof checkboxStories;
93
- };
94
- readonly "checkbox-button": {
95
- readonly title: "CheckboxButton";
96
- readonly stories: typeof checkboxButtonStories;
97
- };
98
- readonly "checkbox-input": {
99
- readonly title: "CheckboxInput";
100
- readonly stories: typeof checkboxInputStories;
101
- };
102
- readonly chip: {
103
- readonly title: "Chip";
104
- readonly stories: typeof chipStories;
105
- };
106
91
  readonly "color-radio": {
107
92
  readonly title: "ColorRadio";
108
93
  readonly stories: typeof colorRadioStories;
@@ -167,6 +152,22 @@ export declare const components: {
167
152
  readonly title: "FormComponent";
168
153
  readonly stories: typeof formComponentStories;
169
154
  };
155
+ readonly checkbox: {
156
+ readonly title: "Checkbox";
157
+ readonly stories: typeof checkboxStories;
158
+ };
159
+ readonly "checkbox-button": {
160
+ readonly title: "CheckboxButton";
161
+ readonly stories: typeof checkboxButtonStories;
162
+ };
163
+ readonly "checkbox-input": {
164
+ readonly title: "CheckboxInput";
165
+ readonly stories: typeof checkboxInputStories;
166
+ };
167
+ readonly chip: {
168
+ readonly title: "Chip";
169
+ readonly stories: typeof chipStories;
170
+ };
170
171
  readonly icon: {
171
172
  readonly title: "Icon";
172
173
  readonly stories: typeof iconStories;
@@ -211,6 +212,10 @@ export declare const components: {
211
212
  readonly title: "ModalDialog";
212
213
  readonly stories: typeof modalDialogStories;
213
214
  };
215
+ readonly "modal-header": {
216
+ readonly title: "ModalHeader";
217
+ readonly stories: typeof modalHeaderStories;
218
+ };
214
219
  readonly "multi-combobox": {
215
220
  readonly title: "MultiCombobox";
216
221
  readonly stories: typeof multiComboboxStories;
package/components.js CHANGED
@@ -33,10 +33,6 @@ const buttonStories = __importStar(require("./button/button.stories"));
33
33
  const buttonGroupStories = __importStar(require("./button-group/button-group.stories"));
34
34
  const buttonListStories = __importStar(require("./button-list/button-list.stories"));
35
35
  const calendarStories = __importStar(require("./calendar/calendar.stories"));
36
- const checkboxStories = __importStar(require("./checkbox/checkbox.stories"));
37
- const checkboxButtonStories = __importStar(require("./checkbox-button/checkbox-button.stories"));
38
- const checkboxInputStories = __importStar(require("./checkbox-input/checkbox-input.stories"));
39
- const chipStories = __importStar(require("./chip/chip.stories"));
40
36
  const colorRadioStories = __importStar(require("./color-radio/color-radio.stories"));
41
37
  const colorRadioGroupStories = __importStar(require("./color-radio-group/color-radio-group.stories"));
42
38
  const comboboxStories = __importStar(require("./combobox/combobox.stories"));
@@ -53,6 +49,10 @@ const errorMessageStories = __importStar(require("./error-message/error-message.
53
49
  const fileInputStories = __importStar(require("./file-input/file-input.stories"));
54
50
  const flashMessagesStories = __importStar(require("./flash-messages/flash-messages.stories"));
55
51
  const formComponentStories = __importStar(require("./form-component/form-component.stories"));
52
+ const checkboxStories = __importStar(require("./checkbox/checkbox.stories"));
53
+ const checkboxButtonStories = __importStar(require("./checkbox-button/checkbox-button.stories"));
54
+ const checkboxInputStories = __importStar(require("./checkbox-input/checkbox-input.stories"));
55
+ const chipStories = __importStar(require("./chip/chip.stories"));
56
56
  const iconStories = __importStar(require("./icon/icon.stories"));
57
57
  const imageGalleryStories = __importStar(require("./image-gallery/image-gallery.stories"));
58
58
  const inputStories = __importStar(require("./input/input.stories"));
@@ -64,6 +64,7 @@ const lozengeStories = __importStar(require("./lozenge/lozenge.stories"));
64
64
  const messageStories = __importStar(require("./message/message.stories"));
65
65
  const modalStories = __importStar(require("./modal/modal.stories"));
66
66
  const modalDialogStories = __importStar(require("./modal-dialog/modal-dialog.stories"));
67
+ const modalHeaderStories = __importStar(require("./modal-header/modal-header.stories"));
67
68
  const multiComboboxStories = __importStar(require("./multi-combobox/multi-combobox.stories"));
68
69
  const multiSelectStories = __importStar(require("./multi-select/multi-select.stories"));
69
70
  const paginationStories = __importStar(require("./pagination/pagination.stories"));
@@ -114,22 +115,6 @@ exports.components = {
114
115
  title: "Calendar",
115
116
  stories: calendarStories
116
117
  },
117
- "checkbox": {
118
- title: "Checkbox",
119
- stories: checkboxStories
120
- },
121
- "checkbox-button": {
122
- title: "CheckboxButton",
123
- stories: checkboxButtonStories
124
- },
125
- "checkbox-input": {
126
- title: "CheckboxInput",
127
- stories: checkboxInputStories
128
- },
129
- "chip": {
130
- title: "Chip",
131
- stories: chipStories
132
- },
133
118
  "color-radio": {
134
119
  title: "ColorRadio",
135
120
  stories: colorRadioStories
@@ -194,6 +179,22 @@ exports.components = {
194
179
  title: "FormComponent",
195
180
  stories: formComponentStories
196
181
  },
182
+ "checkbox": {
183
+ title: "Checkbox",
184
+ stories: checkboxStories
185
+ },
186
+ "checkbox-button": {
187
+ title: "CheckboxButton",
188
+ stories: checkboxButtonStories
189
+ },
190
+ "checkbox-input": {
191
+ title: "CheckboxInput",
192
+ stories: checkboxInputStories
193
+ },
194
+ "chip": {
195
+ title: "Chip",
196
+ stories: chipStories
197
+ },
197
198
  "icon": {
198
199
  title: "Icon",
199
200
  stories: iconStories
@@ -238,6 +239,10 @@ exports.components = {
238
239
  title: "ModalDialog",
239
240
  stories: modalDialogStories
240
241
  },
242
+ "modal-header": {
243
+ title: "ModalHeader",
244
+ stories: modalHeaderStories
245
+ },
241
246
  "multi-combobox": {
242
247
  title: "MultiCombobox",
243
248
  stories: multiComboboxStories
package/css/colors.css CHANGED
@@ -2,6 +2,7 @@
2
2
  /** base */
3
3
  --uxf-color-base-border-inverted: #ffffff1f;
4
4
  --uxf-color-base-border-input: #d2d6db;
5
+ --uxf-color-base-border-border: #e5e7eb;
5
6
  --uxf-color-base-surface-main: #fff;
6
7
  --uxf-color-base-surface-main-hover: #f3f4f6;
7
8
  --uxf-color-base-surface-input-disabled: #f3f4f6;
package/css/dialog.css CHANGED
@@ -49,4 +49,20 @@
49
49
  border-radius: var(--panel-border-radius);
50
50
  }
51
51
  }
52
+
53
+ &--variant-rightDrawer {
54
+ .uxf-dialog__body {
55
+ @screen sm {
56
+ align-items: stretch;
57
+ justify-content: flex-end;
58
+ padding: 0;
59
+ }
60
+ }
61
+
62
+ .uxf-dialog__panel {
63
+ @screen sm {
64
+ border-radius: 0;
65
+ }
66
+ }
67
+ }
52
68
  }
package/css/icon.css CHANGED
@@ -1,4 +1,9 @@
1
+ :root {
2
+ --uxf-icon-color: initial;
3
+ }
4
+
1
5
  .uxf-icon {
6
+ color: var(--uxf-icon-color);
2
7
  flex-shrink: 0;
3
8
  height: var(--i-h);
4
9
  width: var(--i-w);
@@ -8,22 +13,22 @@
8
13
  }
9
14
 
10
15
  &--color-default {
11
- color: var(--uxf-color-base-text-high-emphasis);
16
+ --uxf-icon-color: var(--uxf-color-base-text-high-emphasis);
12
17
  }
13
18
 
14
19
  &--color-positive {
15
- color: var(--uxf-color-positive-text);
20
+ --uxf-icon-color: var(--uxf-color-positive-text);
16
21
  }
17
22
 
18
23
  &--color-negative {
19
- color: var(--uxf-color-negative-text);
24
+ --uxf-icon-color: var(--uxf-color-negative-text);
20
25
  }
21
26
 
22
27
  &--color-warning {
23
- color: var(--uxf-color-warning-text);
28
+ --uxf-icon-color: var(--uxf-color-warning-text);
24
29
  }
25
30
 
26
31
  &--color-info {
27
- color: var(--uxf-color-info-text);
32
+ --uxf-icon-color: var(--uxf-color-info-text);
28
33
  }
29
34
  }
@@ -0,0 +1,43 @@
1
+ :root {
2
+ /** modal header variables */
3
+ --uxf-modal-header-background-color: var(--uxf-color-base-surface-main);
4
+ --uxf-modal-header-border-color: var(--uxf-color-base-border-border);
5
+ --uxf-modal-header-border-width: theme("borderWidth.DEFAULT");
6
+ --uxf-modal-header-description-font-size: theme("fontSize.caption");
7
+ --uxf-modal-header-description-font-weight: theme("fontWeight.normal");
8
+ --uxf-modal-header-description-text-color: var(--uxf-color-base-text-low-emphasis);
9
+ --uxf-modal-header-title-font-size: 18px;
10
+ --uxf-modal-header-title-font-weight: theme("fontWeight.semibold");
11
+ --uxf-modal-header-title-line-height: 1.3333;
12
+ --uxf-modal-header-title-text-color: var(--uxf-color-base-text-high-emphasis);
13
+ }
14
+
15
+ .uxf-modal-header {
16
+ --uxf-icon-color: var(--uxf-modal-header-title-text-color);
17
+
18
+ background-color: var(--uxf-modal-header-background-color);
19
+ border-bottom: var(--uxf-modal-header-border-width) solid var(--uxf-modal-header-border-color);
20
+ color: var(--uxf-modal-header-title-text-color);
21
+ display: flex;
22
+ font-size: var(--uxf-modal-header-title-font-size);
23
+ font-weight: var(--uxf-modal-header-title-font-weight);
24
+ line-height: var(--uxf-modal-header-title-line-height);
25
+ padding: theme("spacing.2") theme("spacing.2") theme("spacing.2") theme("spacing.4");
26
+ width: 100%;
27
+
28
+ &--has-go-back {
29
+ padding: theme("spacing.2");
30
+ }
31
+
32
+ &__text-wrapper {
33
+ flex-grow: 1;
34
+ padding: theme("spacing.1");
35
+ }
36
+
37
+ &__description {
38
+ color: var(--uxf-modal-header-description-text-color);
39
+ font-size: var(--uxf-modal-header-description-font-size);
40
+ font-weight: var(--uxf-modal-header-description-font-weight);
41
+ margin-top: theme("spacing.1");
42
+ }
43
+ }
@@ -1,8 +1,13 @@
1
+ import { DatetimeString } from "@uxf/core/date";
1
2
  import React, { ReactNode } from "react";
2
3
  import { InputWithPopoverProps } from "../_input-with-popover";
4
+ import { ControlProps } from "../types";
3
5
  export declare const ALLOWED_DATETIME_FORMAT: string[];
4
6
  export declare const DISPLAY_DATETIME_FORMAT = "D. M. YYYY H:mm";
5
7
  export declare const BOUNDARY_DATE_FORMAT = "YYYY-MM-DD";
8
+ interface DatetimePickerProps extends ControlProps<DatetimeString | null> {
9
+ onClose: () => void;
10
+ }
6
11
  export interface DatetimePickerInputProps extends Omit<InputWithPopoverProps<string | null>, "children" | "placeholder" | "triggerElement"> {
7
12
  placeholder?: string;
8
13
  triggerElement?: ReactNode;
@@ -10,5 +15,7 @@ export interface DatetimePickerInputProps extends Omit<InputWithPopoverProps<str
10
15
  maxDate?: string;
11
16
  unavailableDates?: Date[];
12
17
  bottomContent?: ReactNode;
18
+ CustomDatetimePicker?: (props: DatetimePickerProps) => ReactNode;
13
19
  }
14
20
  export declare const DatetimePickerInput: React.ForwardRefExoticComponent<DatetimePickerInputProps & React.RefAttributes<HTMLInputElement>>;
21
+ export {};
@@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.DatetimePickerInput = exports.BOUNDARY_DATE_FORMAT = exports.DISPLAY_DATETIME_FORMAT = exports.ALLOWED_DATETIME_FORMAT = void 0;
30
30
  const cx_1 = require("@uxf/core/utils/cx");
31
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
31
32
  const dayjs_1 = __importStar(require("dayjs"));
32
33
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
33
34
  const react_1 = __importStar(require("react"));
@@ -78,6 +79,8 @@ exports.DatetimePickerInput = (0, react_1.forwardRef)((props, ref) => {
78
79
  const parsedMinDate = getBoundaryDate(props.minDate);
79
80
  const parsedMaxDate = getBoundaryDate(props.maxDate);
80
81
  return (react_1.default.createElement(react_1.default.Fragment, null,
81
- react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_DATETIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (react_1.default.createElement(datetime_picker_1.DatetimePicker, { minDate: parsedMinDate, maxDate: parsedMaxDate, bottomContent: props.bottomContent, closePopoverHandler: close, onChange: onChange, value: props.value, unavailableDates: props.unavailableDates })))));
82
+ react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_DATETIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (0, is_not_nil_1.isNotNil)(props.CustomDatetimePicker) ? (react_1.default.createElement(props.CustomDatetimePicker, { value: (0, is_not_nil_1.isNotNil)(value)
83
+ ? (0, dayjs_1.default)(value).format("YYYY-MM-DD[T]HH:mm:ssZ")
84
+ : null, onChange: onChange, onClose: close })) : (react_1.default.createElement(datetime_picker_1.DatetimePicker, { minDate: parsedMinDate, maxDate: parsedMaxDate, bottomContent: props.bottomContent, closePopoverHandler: close, onChange: onChange, value: props.value, unavailableDates: props.unavailableDates })))));
82
85
  });
83
86
  exports.DatetimePickerInput.displayName = "UxfUiDatePickerInput";
package/dialog/theme.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export interface DialogVariants {
2
2
  default: true;
3
+ "drawer-right": true;
3
4
  }
4
5
  export type DialogVariant = keyof DialogVariants;
package/icons-config.js CHANGED
@@ -1,5 +1,10 @@
1
1
  /** @type {import('@uxf/icons-generator/types').Config['icons']} */
2
2
  module.exports = {
3
+ "angle-left": {
4
+ width: 320,
5
+ height: 512,
6
+ data: `<path fill="currentColor" d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/>`,
7
+ },
3
8
  "arrow-left": {
4
9
  width: 448,
5
10
  height: 512,
@@ -54,7 +54,13 @@ function Default() {
54
54
  react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Modal - disable backdrop close"),
55
55
  react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: modal_service_1.closeModal }, "Close modal"))),
56
56
  disableBackdropClose: true,
57
- }) }, "Click to open modal - disable backdrop close")));
57
+ }) }, "Click to open modal - disable backdrop close"),
58
+ react_1.default.createElement(button_1.Button, { onClick: () => (0, modal_service_1.openModal)({
59
+ children: (react_1.default.createElement("div", { className: "p-4" },
60
+ react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Modal - variant right drawer"),
61
+ react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: modal_service_1.closeModal }, "Close modal"))),
62
+ variant: "drawer-right",
63
+ }) }, "Click to open modal - variant right drawer")));
58
64
  return (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
59
65
  react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyModals)));
60
66
  }
package/modal/theme.d.ts CHANGED
@@ -8,5 +8,6 @@ export interface ModalWidths {
8
8
  export type ModalWidth = keyof ModalWidths;
9
9
  export interface ModalVariants {
10
10
  default: true;
11
+ "drawer-right": true;
11
12
  }
12
13
  export type ModalVariant = keyof ModalVariants;
@@ -0,0 +1,23 @@
1
+ # ModalHeader
2
+
3
+ Figma: <a href="https://www.figma.com/design/InhbHrNUhDGbBvRDRonXsD/Vent-UI?node-id=5643-63799">zde</a>
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { ModalHeader } from "@uxf/ui/modal-header";
9
+
10
+ function Example() {
11
+ return (
12
+ <ModalHeader description="View and manage your time off" title="Time of details" onGoBack={() => void null} />
13
+ );
14
+ }
15
+ ```
16
+
17
+ ## CSS dependencies
18
+
19
+ ```css
20
+ @import url("@uxf/ui/css/button.css");
21
+ @import url("@uxf/ui/css/modal-header.css");
22
+ @import url("@uxf/ui/css/icon.css");
23
+ ```
@@ -0,0 +1,2 @@
1
+ export { ModalHeader } from "./modal-header";
2
+ export type { ModalHeaderProps } from "./modal-header";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModalHeader = void 0;
4
+ var modal_header_1 = require("./modal-header");
5
+ Object.defineProperty(exports, "ModalHeader", { enumerable: true, get: function () { return modal_header_1.ModalHeader; } });
@@ -0,0 +1,10 @@
1
+ import React, { ReactNode } from "react";
2
+ export interface ModalHeaderProps {
3
+ className?: string;
4
+ onGoBack?: () => void;
5
+ onClose?: () => void;
6
+ actionsComponent?: ReactNode;
7
+ title: ReactNode;
8
+ description?: ReactNode;
9
+ }
10
+ export declare function ModalHeader(props: ModalHeaderProps): React.JSX.Element;
@@ -0,0 +1,27 @@
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.ModalHeader = void 0;
7
+ const show_1 = require("@uxf/core-react/components/show");
8
+ const cx_1 = require("@uxf/core/utils/cx");
9
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
10
+ const react_1 = __importDefault(require("react"));
11
+ const button_1 = require("../button");
12
+ const icon_1 = require("../icon");
13
+ function ModalHeader(props) {
14
+ return (react_1.default.createElement("header", { className: (0, cx_1.cx)("uxf-modal-header", props.onGoBack && "uxf-modal-header--has-go-back") },
15
+ react_1.default.createElement(show_1.Show, { when: (0, is_not_nil_1.isNotNil)(props.onGoBack) },
16
+ react_1.default.createElement(button_1.Button, { onClick: props.onGoBack, size: "sm", variant: "text", isIconButton: true },
17
+ react_1.default.createElement(icon_1.Icon, { name: "angle-left" }))),
18
+ react_1.default.createElement("div", { className: "uxf-modal-header__text-wrapper" },
19
+ react_1.default.createElement("div", { className: "uxf-modal-header__title" }, props.title),
20
+ react_1.default.createElement(show_1.Show, { when: (0, is_not_nil_1.isNotNil)(props.description) },
21
+ react_1.default.createElement("div", { className: "uxf-modal-header__description" }, props.description))),
22
+ props.actionsComponent,
23
+ react_1.default.createElement(show_1.Show, { when: (0, is_not_nil_1.isNotNil)(props.onClose) },
24
+ react_1.default.createElement(button_1.Button, { onClick: props.onClose, size: "sm", variant: "text", isIconButton: true },
25
+ react_1.default.createElement(icon_1.Icon, { name: "xmark" })))));
26
+ }
27
+ exports.ModalHeader = ModalHeader;
@@ -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 modal_header_stories_1 = require("./modal-header.stories");
9
+ (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(modal_header_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 = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const button_1 = require("../button");
9
+ const icon_1 = require("../icon");
10
+ const modal_header_1 = require("./modal-header");
11
+ function Default() {
12
+ return (react_1.default.createElement("div", { className: "flex max-w-[480px] flex-col gap-4 p-8" },
13
+ react_1.default.createElement(modal_header_1.ModalHeader, { title: "Time of details", onClose: () => void null }),
14
+ react_1.default.createElement(modal_header_1.ModalHeader, { description: "View and manage your time off", title: "Time of details" }),
15
+ react_1.default.createElement(modal_header_1.ModalHeader, { description: "View and manage your time off", onClose: () => void null, onGoBack: () => alert("going back!"), title: "Time of details" }),
16
+ react_1.default.createElement(modal_header_1.ModalHeader, { actionsComponent: react_1.default.createElement(button_1.Button, { onClick: () => alert("action!"), size: "sm", variant: "text", isIconButton: true },
17
+ react_1.default.createElement(icon_1.Icon, { name: "ellipsis-vertical" })), description: "View and manage your time off", onClose: () => void null, onGoBack: () => alert("going back!"), title: "Time of details" })));
18
+ }
19
+ exports.Default = Default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/ui",
3
- "version": "11.28.4",
3
+ "version": "11.29.0",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -17,10 +17,10 @@
17
17
  "dependencies": {
18
18
  "@floating-ui/react": "0.26.9",
19
19
  "@headlessui/react": "1.7.14",
20
- "@uxf/core": "11.22.0",
21
- "@uxf/core-react": "11.22.0",
20
+ "@uxf/core": "11.29.0",
21
+ "@uxf/core-react": "11.29.0",
22
22
  "@uxf/datepicker": "11.25.0",
23
- "@uxf/styles": "11.22.0",
23
+ "@uxf/styles": "11.29.0",
24
24
  "color2k": "2.0.3",
25
25
  "dayjs": "1.11.10",
26
26
  "jump.js": "1.0.2",
package/readmes.d.ts CHANGED
@@ -9,10 +9,6 @@ export declare const readmes: {
9
9
  readonly "button-group": typeof alertBubbleReadme;
10
10
  readonly "button-list": typeof alertBubbleReadme;
11
11
  readonly calendar: typeof alertBubbleReadme;
12
- readonly checkbox: typeof alertBubbleReadme;
13
- readonly "checkbox-button": typeof alertBubbleReadme;
14
- readonly "checkbox-input": typeof alertBubbleReadme;
15
- readonly chip: typeof alertBubbleReadme;
16
12
  readonly "color-radio": typeof alertBubbleReadme;
17
13
  readonly "color-radio-group": typeof alertBubbleReadme;
18
14
  readonly combobox: typeof alertBubbleReadme;
@@ -29,6 +25,10 @@ export declare const readmes: {
29
25
  readonly "file-input": typeof alertBubbleReadme;
30
26
  readonly "flash-messages": typeof alertBubbleReadme;
31
27
  readonly "form-component": typeof alertBubbleReadme;
28
+ readonly checkbox: typeof alertBubbleReadme;
29
+ readonly "checkbox-button": typeof alertBubbleReadme;
30
+ readonly "checkbox-input": typeof alertBubbleReadme;
31
+ readonly chip: typeof alertBubbleReadme;
32
32
  readonly icon: typeof alertBubbleReadme;
33
33
  readonly "image-gallery": typeof alertBubbleReadme;
34
34
  readonly input: typeof alertBubbleReadme;
@@ -40,6 +40,7 @@ export declare const readmes: {
40
40
  readonly message: typeof alertBubbleReadme;
41
41
  readonly modal: typeof alertBubbleReadme;
42
42
  readonly "modal-dialog": typeof alertBubbleReadme;
43
+ readonly "modal-header": typeof alertBubbleReadme;
43
44
  readonly "multi-combobox": typeof alertBubbleReadme;
44
45
  readonly "multi-select": typeof alertBubbleReadme;
45
46
  readonly pagination: typeof alertBubbleReadme;
package/readmes.js CHANGED
@@ -13,26 +13,26 @@ const README_md_5 = __importDefault(require("./button/README.md"));
13
13
  const README_md_6 = __importDefault(require("./button-group/README.md"));
14
14
  const README_md_7 = __importDefault(require("./button-list/README.md"));
15
15
  const README_md_8 = __importDefault(require("./calendar/README.md"));
16
- const README_md_9 = __importDefault(require("./checkbox/README.md"));
17
- const README_md_10 = __importDefault(require("./checkbox-button/README.md"));
18
- const README_md_11 = __importDefault(require("./checkbox-input/README.md"));
19
- const README_md_12 = __importDefault(require("./chip/README.md"));
20
- const README_md_13 = __importDefault(require("./color-radio/README.md"));
21
- const README_md_14 = __importDefault(require("./color-radio-group/README.md"));
22
- const README_md_15 = __importDefault(require("./combobox/README.md"));
23
- const README_md_16 = __importDefault(require("./date-picker/README.md"));
24
- const README_md_17 = __importDefault(require("./date-picker-input/README.md"));
25
- const README_md_18 = __importDefault(require("./date-range-picker/README.md"));
26
- const README_md_19 = __importDefault(require("./date-range-picker-input/README.md"));
27
- const README_md_20 = __importDefault(require("./datetime-picker/README.md"));
28
- const README_md_21 = __importDefault(require("./datetime-picker-input/README.md"));
29
- const README_md_22 = __importDefault(require("./dialog/README.md"));
30
- const README_md_23 = __importDefault(require("./dropdown/README.md"));
31
- const README_md_24 = __importDefault(require("./dropzone/README.md"));
32
- const README_md_25 = __importDefault(require("./error-message/README.md"));
33
- const README_md_26 = __importDefault(require("./file-input/README.md"));
34
- const README_md_27 = __importDefault(require("./flash-messages/README.md"));
35
- const README_md_28 = __importDefault(require("./form-component/README.md"));
16
+ const README_md_9 = __importDefault(require("./color-radio/README.md"));
17
+ const README_md_10 = __importDefault(require("./color-radio-group/README.md"));
18
+ const README_md_11 = __importDefault(require("./combobox/README.md"));
19
+ const README_md_12 = __importDefault(require("./date-picker/README.md"));
20
+ const README_md_13 = __importDefault(require("./date-picker-input/README.md"));
21
+ const README_md_14 = __importDefault(require("./date-range-picker/README.md"));
22
+ const README_md_15 = __importDefault(require("./date-range-picker-input/README.md"));
23
+ const README_md_16 = __importDefault(require("./datetime-picker/README.md"));
24
+ const README_md_17 = __importDefault(require("./datetime-picker-input/README.md"));
25
+ const README_md_18 = __importDefault(require("./dialog/README.md"));
26
+ const README_md_19 = __importDefault(require("./dropdown/README.md"));
27
+ const README_md_20 = __importDefault(require("./dropzone/README.md"));
28
+ const README_md_21 = __importDefault(require("./error-message/README.md"));
29
+ const README_md_22 = __importDefault(require("./file-input/README.md"));
30
+ const README_md_23 = __importDefault(require("./flash-messages/README.md"));
31
+ const README_md_24 = __importDefault(require("./form-component/README.md"));
32
+ const README_md_25 = __importDefault(require("./checkbox/README.md"));
33
+ const README_md_26 = __importDefault(require("./checkbox-button/README.md"));
34
+ const README_md_27 = __importDefault(require("./checkbox-input/README.md"));
35
+ const README_md_28 = __importDefault(require("./chip/README.md"));
36
36
  const README_md_29 = __importDefault(require("./icon/README.md"));
37
37
  const README_md_30 = __importDefault(require("./image-gallery/README.md"));
38
38
  const README_md_31 = __importDefault(require("./input/README.md"));
@@ -44,23 +44,24 @@ const README_md_36 = __importDefault(require("./lozenge/README.md"));
44
44
  const README_md_37 = __importDefault(require("./message/README.md"));
45
45
  const README_md_38 = __importDefault(require("./modal/README.md"));
46
46
  const README_md_39 = __importDefault(require("./modal-dialog/README.md"));
47
- const README_md_40 = __importDefault(require("./multi-combobox/README.md"));
48
- const README_md_41 = __importDefault(require("./multi-select/README.md"));
49
- const README_md_42 = __importDefault(require("./pagination/README.md"));
50
- const README_md_43 = __importDefault(require("./paper/README.md"));
51
- const README_md_44 = __importDefault(require("./radio/README.md"));
52
- const README_md_45 = __importDefault(require("./radio-group/README.md"));
53
- const README_md_46 = __importDefault(require("./raster-image/README.md"));
54
- const README_md_47 = __importDefault(require("./select/README.md"));
55
- const README_md_48 = __importDefault(require("./tabs/README.md"));
56
- const README_md_49 = __importDefault(require("./text-input/README.md"));
57
- const README_md_50 = __importDefault(require("./text-link/README.md"));
58
- const README_md_51 = __importDefault(require("./textarea/README.md"));
59
- const README_md_52 = __importDefault(require("./time-picker/README.md"));
60
- const README_md_53 = __importDefault(require("./time-picker-input/README.md"));
61
- const README_md_54 = __importDefault(require("./toggle/README.md"));
62
- const README_md_55 = __importDefault(require("./tooltip/README.md"));
63
- const README_md_56 = __importDefault(require("./typography/README.md"));
47
+ const README_md_40 = __importDefault(require("./modal-header/README.md"));
48
+ const README_md_41 = __importDefault(require("./multi-combobox/README.md"));
49
+ const README_md_42 = __importDefault(require("./multi-select/README.md"));
50
+ const README_md_43 = __importDefault(require("./pagination/README.md"));
51
+ const README_md_44 = __importDefault(require("./paper/README.md"));
52
+ const README_md_45 = __importDefault(require("./radio/README.md"));
53
+ const README_md_46 = __importDefault(require("./radio-group/README.md"));
54
+ const README_md_47 = __importDefault(require("./raster-image/README.md"));
55
+ const README_md_48 = __importDefault(require("./select/README.md"));
56
+ const README_md_49 = __importDefault(require("./tabs/README.md"));
57
+ const README_md_50 = __importDefault(require("./text-input/README.md"));
58
+ const README_md_51 = __importDefault(require("./text-link/README.md"));
59
+ const README_md_52 = __importDefault(require("./textarea/README.md"));
60
+ const README_md_53 = __importDefault(require("./time-picker/README.md"));
61
+ const README_md_54 = __importDefault(require("./time-picker-input/README.md"));
62
+ const README_md_55 = __importDefault(require("./toggle/README.md"));
63
+ const README_md_56 = __importDefault(require("./tooltip/README.md"));
64
+ const README_md_57 = __importDefault(require("./typography/README.md"));
64
65
  exports.readmes = {
65
66
  "alert-bubble": README_md_1.default,
66
67
  "avatar": README_md_2.default,
@@ -70,26 +71,26 @@ exports.readmes = {
70
71
  "button-group": README_md_6.default,
71
72
  "button-list": README_md_7.default,
72
73
  "calendar": README_md_8.default,
73
- "checkbox": README_md_9.default,
74
- "checkbox-button": README_md_10.default,
75
- "checkbox-input": README_md_11.default,
76
- "chip": README_md_12.default,
77
- "color-radio": README_md_13.default,
78
- "color-radio-group": README_md_14.default,
79
- "combobox": README_md_15.default,
80
- "date-picker": README_md_16.default,
81
- "date-picker-input": README_md_17.default,
82
- "date-range-picker": README_md_18.default,
83
- "date-range-picker-input": README_md_19.default,
84
- "datetime-picker": README_md_20.default,
85
- "datetime-picker-input": README_md_21.default,
86
- "dialog": README_md_22.default,
87
- "dropdown": README_md_23.default,
88
- "dropzone": README_md_24.default,
89
- "error-message": README_md_25.default,
90
- "file-input": README_md_26.default,
91
- "flash-messages": README_md_27.default,
92
- "form-component": README_md_28.default,
74
+ "color-radio": README_md_9.default,
75
+ "color-radio-group": README_md_10.default,
76
+ "combobox": README_md_11.default,
77
+ "date-picker": README_md_12.default,
78
+ "date-picker-input": README_md_13.default,
79
+ "date-range-picker": README_md_14.default,
80
+ "date-range-picker-input": README_md_15.default,
81
+ "datetime-picker": README_md_16.default,
82
+ "datetime-picker-input": README_md_17.default,
83
+ "dialog": README_md_18.default,
84
+ "dropdown": README_md_19.default,
85
+ "dropzone": README_md_20.default,
86
+ "error-message": README_md_21.default,
87
+ "file-input": README_md_22.default,
88
+ "flash-messages": README_md_23.default,
89
+ "form-component": README_md_24.default,
90
+ "checkbox": README_md_25.default,
91
+ "checkbox-button": README_md_26.default,
92
+ "checkbox-input": README_md_27.default,
93
+ "chip": README_md_28.default,
93
94
  "icon": README_md_29.default,
94
95
  "image-gallery": README_md_30.default,
95
96
  "input": README_md_31.default,
@@ -101,21 +102,22 @@ exports.readmes = {
101
102
  "message": README_md_37.default,
102
103
  "modal": README_md_38.default,
103
104
  "modal-dialog": README_md_39.default,
104
- "multi-combobox": README_md_40.default,
105
- "multi-select": README_md_41.default,
106
- "pagination": README_md_42.default,
107
- "paper": README_md_43.default,
108
- "radio": README_md_44.default,
109
- "radio-group": README_md_45.default,
110
- "raster-image": README_md_46.default,
111
- "select": README_md_47.default,
112
- "tabs": README_md_48.default,
113
- "text-input": README_md_49.default,
114
- "text-link": README_md_50.default,
115
- "textarea": README_md_51.default,
116
- "time-picker": README_md_52.default,
117
- "time-picker-input": README_md_53.default,
118
- "toggle": README_md_54.default,
119
- "tooltip": README_md_55.default,
120
- "typography": README_md_56.default,
105
+ "modal-header": README_md_40.default,
106
+ "multi-combobox": README_md_41.default,
107
+ "multi-select": README_md_42.default,
108
+ "pagination": README_md_43.default,
109
+ "paper": README_md_44.default,
110
+ "radio": README_md_45.default,
111
+ "radio-group": README_md_46.default,
112
+ "raster-image": README_md_47.default,
113
+ "select": README_md_48.default,
114
+ "tabs": README_md_49.default,
115
+ "text-input": README_md_50.default,
116
+ "text-link": README_md_51.default,
117
+ "textarea": README_md_52.default,
118
+ "time-picker": README_md_53.default,
119
+ "time-picker-input": README_md_54.default,
120
+ "toggle": README_md_55.default,
121
+ "tooltip": README_md_56.default,
122
+ "typography": README_md_57.default,
121
123
  };
@@ -1,7 +1,9 @@
1
1
  import { ChangeEvent, FocusEventHandler } from "react";
2
- export interface FormControlProps<ValueType, ElementType = HTMLInputElement, RestParams extends unknown[] = []> {
2
+ export interface ControlProps<ValueType, ElementType = HTMLInputElement, RestParams extends unknown[] = []> {
3
3
  value: ValueType;
4
4
  onChange: (value: ValueType, event?: ChangeEvent<ElementType>, ...args: RestParams) => void;
5
+ }
6
+ export interface FormControlProps<ValueType, ElementType = HTMLInputElement, RestParams extends unknown[] = []> extends ControlProps<ValueType, ElementType, RestParams> {
5
7
  onBlur?: FocusEventHandler<ElementType>;
6
8
  onFocus?: FocusEventHandler<ElementType>;
7
9
  name: string;