@uxf/ui 11.30.1 → 11.32.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 (176) hide show
  1. package/_file-input-base/file-input-base.js +4 -3
  2. package/_input-with-popover/input-with-popover.js +2 -2
  3. package/alert-bubble/alert-bubble.stories.js +3 -5
  4. package/avatar/avatar.js +1 -1
  5. package/avatar/avatar.stories.js +1 -2
  6. package/avatar-file-input/avatar-file-input.js +3 -2
  7. package/avatar-file-input/avatar-file-input.stories.js +4 -5
  8. package/badge/badge.js +1 -1
  9. package/badge/badge.stories.js +2 -4
  10. package/button/button.stories.js +8 -9
  11. package/button/next-link.d.ts +0 -1
  12. package/button-group/button-group.stories.d.ts +1 -1
  13. package/button-group/button-group.stories.js +9 -10
  14. package/button-list/button-list.js +7 -6
  15. package/button-list/button-list.stories.d.ts +1 -1
  16. package/button-list/button-list.stories.js +14 -14
  17. package/calendar/calendar-day-cell.js +1 -1
  18. package/calendar/calendar-navigation.js +1 -1
  19. package/calendar/calendar.js +5 -5
  20. package/calendar/calendar.stories.js +3 -6
  21. package/checkbox/checkbox.stories.js +5 -6
  22. package/checkbox-button/checkbox-button.stories.js +4 -5
  23. package/checkbox-input/checkbox-input.js +3 -3
  24. package/checkbox-input/checkbox-input.stories.js +6 -7
  25. package/chip/chip.js +5 -4
  26. package/chip/chip.stories.js +2 -3
  27. package/color-radio/color-radio.js +3 -3
  28. package/color-radio/color-radio.stories.js +8 -9
  29. package/color-radio-group/color-radio-group.js +1 -1
  30. package/color-radio-group/color-radio-group.stories.js +4 -4
  31. package/color-scheme/get-color-scheme-class-name.js +1 -2
  32. package/color-scheme/get-color-scheme.js +1 -2
  33. package/color-scheme/use-color-scheme.js +1 -2
  34. package/color-scheme/use-handle-color-scheme.js +1 -2
  35. package/color-scheme/use-toggle-color-scheme.js +1 -2
  36. package/combobox/combobox.js +7 -7
  37. package/combobox/combobox.stories.js +8 -9
  38. package/context/context.d.ts +0 -1
  39. package/context/use-component-context.d.ts +1 -1
  40. package/create-component-preview-page/create-component-preview-page.js +3 -3
  41. package/css/checkbox-button.css +2 -6
  42. package/css/checkbox.css +1 -3
  43. package/css/color-radio-group.css +1 -2
  44. package/css/input.css +1 -1
  45. package/css/list-item.css +1 -3
  46. package/css/pagination.css +1 -2
  47. package/css/radio-group.css +2 -4
  48. package/css/radio.css +1 -2
  49. package/date-picker/date-picker-decade.js +6 -5
  50. package/date-picker/date-picker-month.js +8 -7
  51. package/date-picker/date-picker-year.js +7 -6
  52. package/date-picker/date-picker.stories.js +6 -8
  53. package/date-picker-input/date-picker-input.js +1 -1
  54. package/date-picker-input/date-picker-input.stories.js +3 -5
  55. package/date-range-picker/date-range-picker-decade.js +6 -5
  56. package/date-range-picker/date-range-picker-month.js +6 -6
  57. package/date-range-picker/date-range-picker-year.js +8 -7
  58. package/date-range-picker/date-range-picker.stories.js +3 -6
  59. package/date-range-picker-input/date-range-picker-input.js +1 -1
  60. package/date-range-picker-input/date-range-picker-input.stories.js +8 -10
  61. package/datetime-picker/datetime-picker.js +3 -3
  62. package/datetime-picker/datetime-picker.stories.js +5 -8
  63. package/datetime-picker-input/datetime-picker-input.js +1 -2
  64. package/datetime-picker-input/datetime-picker-input.stories.js +3 -5
  65. package/datetime-picker-input/get-datetime-string.js +1 -2
  66. package/dialog/dialog.js +1 -1
  67. package/dialog/dialog.stories.js +1 -2
  68. package/dropdown/dropdown.stories.js +4 -6
  69. package/dropzone/dropzone-list.js +2 -2
  70. package/dropzone/dropzone.stories.js +10 -11
  71. package/dropzone/index.d.ts +0 -1
  72. package/error-message/error-message.js +1 -1
  73. package/error-message/error-message.stories.js +1 -2
  74. package/file-input/file-input.js +3 -3
  75. package/file-input/file-input.stories.js +6 -8
  76. package/flash-messages/flash-messages-service.d.ts +0 -1
  77. package/flash-messages/flash-messages-service.js +2 -3
  78. package/flash-messages/flash-messages.js +4 -4
  79. package/flash-messages/flash-messages.stories.js +1 -2
  80. package/form-component/form-component.js +2 -2
  81. package/form-component/form-component.stories.js +5 -6
  82. package/hooks/use-async-loading.js +1 -2
  83. package/hooks/use-dropdown.d.ts +1 -2
  84. package/hooks/use-dropdown.js +1 -2
  85. package/hooks/use-input-submit.js +1 -2
  86. package/icon/icon.js +2 -2
  87. package/icon/icon.stories.js +10 -11
  88. package/image-gallery/components/gallery.js +3 -3
  89. package/image-gallery/context.d.ts +0 -1
  90. package/image-gallery/image-gallery.js +1 -1
  91. package/image-gallery/image-gallery.stories.js +3 -4
  92. package/image-gallery/image.js +1 -1
  93. package/image-gallery/index.d.ts +0 -1
  94. package/image-gallery/use-image.js +1 -2
  95. package/input/index.d.ts +0 -1
  96. package/input/input-arrow-icon.js +1 -2
  97. package/input/input-element.js +1 -1
  98. package/input/input.js +1 -1
  99. package/input/input.stories.js +13 -14
  100. package/label/label.stories.js +1 -2
  101. package/layout/layout.js +6 -6
  102. package/layout/layout.stories.js +1 -2
  103. package/layout/uxf-logo.js +3 -3
  104. package/list-item/list-item.stories.js +3 -4
  105. package/loader/loader.js +1 -1
  106. package/loader/loader.stories.js +1 -2
  107. package/lozenge/lozenge.js +1 -1
  108. package/lozenge/lozenge.stories.js +1 -2
  109. package/message/message-content.js +1 -1
  110. package/message/message-service.d.ts +0 -1
  111. package/message/message.js +1 -1
  112. package/message/message.stories.js +1 -2
  113. package/modal/modal-service.d.ts +0 -1
  114. package/modal/modal-service.js +3 -4
  115. package/modal/modal.js +1 -1
  116. package/modal/modal.stories.js +1 -2
  117. package/modal-dialog/modal-dialog.js +1 -2
  118. package/modal-dialog/modal-dialog.stories.js +11 -12
  119. package/modal-header/modal-header.js +3 -4
  120. package/modal-header/modal-header.stories.js +6 -6
  121. package/multi-combobox/multi-combobox.js +9 -8
  122. package/multi-combobox/multi-combobox.stories.js +8 -9
  123. package/multi-select/multi-select.js +6 -5
  124. package/multi-select/multi-select.stories.d.ts +1 -1
  125. package/multi-select/multi-select.stories.js +9 -10
  126. package/package.json +9 -9
  127. package/pagination/pagination.stories.js +6 -7
  128. package/paper/paper.js +1 -1
  129. package/paper/paper.stories.js +1 -2
  130. package/radio/radio.stories.js +9 -10
  131. package/radio-group/radio-group.js +1 -1
  132. package/radio-group/radio-group.stories.js +9 -10
  133. package/raster-image/empty-image.js +1 -2
  134. package/raster-image/img-sources.js +6 -7
  135. package/raster-image/raster-image.js +3 -4
  136. package/raster-image/raster-image.stories.js +2 -3
  137. package/raster-image/responsive-img-sources.js +1 -2
  138. package/readmes.d.ts +0 -1
  139. package/select/select.js +3 -4
  140. package/select/select.stories.js +15 -16
  141. package/tabs/components/tabs-button-list.js +3 -3
  142. package/tabs/components/tabs-button.js +3 -3
  143. package/tabs/components/tabs-panel.js +1 -2
  144. package/tabs/components/tabs-panels.js +1 -2
  145. package/tabs/components/tabs-root.js +1 -2
  146. package/tabs/panel.js +2 -2
  147. package/tabs/tabs.js +4 -2
  148. package/tabs/tabs.stories.js +20 -21
  149. package/text-input/text-input.stories.js +9 -10
  150. package/text-link/text-link.stories.js +1 -2
  151. package/textarea/textarea.js +1 -1
  152. package/textarea/textarea.stories.js +6 -8
  153. package/time-picker/time-picker-hours.js +1 -1
  154. package/time-picker/time-picker-minutes.js +1 -1
  155. package/time-picker/time-picker.js +2 -2
  156. package/time-picker/time-picker.stories.js +3 -6
  157. package/time-picker-input/time-picker-input.d.ts +7 -0
  158. package/time-picker-input/time-picker-input.js +3 -1
  159. package/time-picker-input/time-picker-input.stories.d.ts +0 -5
  160. package/time-picker-input/time-picker-input.stories.js +8 -10
  161. package/toggle/toggle.js +1 -1
  162. package/toggle/toggle.stories.js +6 -7
  163. package/tooltip/tooltip.js +2 -2
  164. package/tooltip/tooltip.stories.js +1 -2
  165. package/tooltip/use-tooltip.d.ts +7 -7
  166. package/tooltip/use-tooltip.js +1 -2
  167. package/types/file-response.d.ts +1 -1
  168. package/typography/typography.stories.js +1 -2
  169. package/utils/action.js +1 -2
  170. package/utils/files/get-file-icon.js +1 -2
  171. package/utils/files/get-file-url.js +1 -2
  172. package/utils/get-dropzone-state.js +3 -3
  173. package/utils/mocks/upload-file.mock.js +1 -2
  174. package/utils/snap-test.js +4 -4
  175. package/utils/storybook-config.d.ts +1 -1
  176. package/utils/storybook-config.js +3 -3
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ImgSources = void 0;
6
+ exports.ImgSources = ImgSources;
7
7
  const hide_1 = require("@uxf/core-react/components/hide");
8
8
  const image_1 = require("@uxf/core/utils/image");
9
9
  const is_empty_1 = require("@uxf/core/utils/is-empty");
10
10
  const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
11
11
  const react_1 = __importDefault(require("react"));
12
12
  function ImgSources(props) {
13
- var _a, _b, _c, _d, _e;
13
+ var _a, _b;
14
14
  if ((0, image_1.isSrcString)(props.src) && (0, is_empty_1.isEmpty)(props.src)) {
15
15
  return null;
16
16
  }
@@ -27,19 +27,18 @@ function ImgSources(props) {
27
27
  return (react_1.default.createElement(react_1.default.Fragment, null,
28
28
  react_1.default.createElement(hide_1.Hide, { when: Boolean((_a = props.options) === null || _a === void 0 ? void 0 : _a.isAvifDisabled) },
29
29
  react_1.default.createElement("source", { media: media, srcSet: (0, image_1.getImgSrcSet)(props.src, props.width, props.height, {
30
- ...((_b = props.options) !== null && _b !== void 0 ? _b : {}),
30
+ ...props.options,
31
31
  quality: (0, image_1.getImgQuality)(props.quality, "avif"),
32
32
  toFormat: "avif",
33
33
  }), type: "image/avif" })),
34
- react_1.default.createElement(hide_1.Hide, { when: Boolean((_c = props.options) === null || _c === void 0 ? void 0 : _c.isWebPDisabled) },
34
+ react_1.default.createElement(hide_1.Hide, { when: Boolean((_b = props.options) === null || _b === void 0 ? void 0 : _b.isWebPDisabled) },
35
35
  react_1.default.createElement("source", { media: media, srcSet: (0, image_1.getImgSrcSet)(props.src, props.width, props.height, {
36
- ...((_d = props.options) !== null && _d !== void 0 ? _d : {}),
36
+ ...props.options,
37
37
  quality: (0, image_1.getImgQuality)(props.quality, "webp"),
38
38
  toFormat: "webp",
39
39
  }), type: "image/webp" })),
40
40
  react_1.default.createElement("source", { media: media, srcSet: (0, image_1.getImgSrcSet)(props.src, props.width, props.height, {
41
- ...((_e = props.options) !== null && _e !== void 0 ? _e : {}),
41
+ ...props.options,
42
42
  quality: (0, image_1.getImgQuality)(props.quality, "original"),
43
43
  }) })));
44
44
  }
45
- exports.ImgSources = ImgSources;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RasterImage = void 0;
6
+ exports.RasterImage = RasterImage;
7
7
  const cx_1 = require("@uxf/core/utils/cx");
8
8
  const image_1 = require("@uxf/core/utils/image");
9
9
  const resizer_1 = require("@uxf/core/utils/resizer");
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
11
11
  const empty_image_1 = require("./empty-image");
12
12
  const responsive_img_sources_1 = require("./responsive-img-sources");
13
13
  function RasterImage(props) {
14
- var _a, _b, _c;
14
+ var _a, _b;
15
15
  const className = (0, cx_1.cx)("uxf-raster-image", props.mode === "contain" && "uxf-raster-image--contain", props.mode === "cover" && "uxf-raster-image--cover", props.className);
16
16
  const imgClassName = (0, cx_1.cx)("uxf-raster-image__img", props.mode === "contain" && "uxf-raster-image__img--contain", props.mode === "cover" && "uxf-raster-image__img--cover", props.imgClassName);
17
17
  if (!props.src) {
@@ -23,7 +23,7 @@ function RasterImage(props) {
23
23
  react_1.default.createElement("img", { alt: props.alt, className: imgClassName, height: props.height, loading: props.loading, src: svgUrl, width: props.width })));
24
24
  }
25
25
  const resizerSrc = (0, resizer_1.resizerImageUrl)(props.src, (_a = props.width) !== null && _a !== void 0 ? _a : "auto", (_b = props.height) !== null && _b !== void 0 ? _b : "auto", {
26
- ...((_c = props.options) !== null && _c !== void 0 ? _c : {}),
26
+ ...props.options,
27
27
  quality: (0, image_1.getImgQuality)(props.quality, "original"),
28
28
  });
29
29
  if (resizerSrc) {
@@ -33,5 +33,4 @@ function RasterImage(props) {
33
33
  }
34
34
  return (react_1.default.createElement(empty_image_1.EmptyImage, { alt: props.alt, className: className, imgClassName: imgClassName, noImageContent: props.noImageContent }));
35
35
  }
36
- exports.RasterImage = RasterImage;
37
36
  RasterImage.displayName = "UxfUiRasterImage";
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Default = void 0;
6
+ exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const index_1 = require("./index");
9
9
  exports.default = {
@@ -12,6 +12,5 @@ exports.default = {
12
12
  };
13
13
  function Default() {
14
14
  return (react_1.default.createElement("div", { className: "space-y-2" },
15
- react_1.default.createElement(index_1.RasterImage, { alt: "Alt text", height: 100, width: 300, mode: "cover", src: undefined })));
15
+ react_1.default.createElement(index_1.RasterImage, { alt: "Alt text", height: 100, mode: "cover", src: undefined, width: 300 })));
16
16
  }
17
- exports.Default = Default;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ResponsiveImgSources = void 0;
6
+ exports.ResponsiveImgSources = ResponsiveImgSources;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const context_1 = require("../context");
9
9
  const img_sources_1 = require("./img-sources");
@@ -17,4 +17,3 @@ function ResponsiveImgSources(props) {
17
17
  ? Math.ceil((props.height / props.width) * w)
18
18
  : "auto", key: `${w}-${i}`, options: props.options, quality: props.quality, src: props.src, width: w }))).reverse()) !== null && _c !== void 0 ? _c : (react_1.default.createElement(img_sources_1.ImgSources, { height: (_d = props.height) !== null && _d !== void 0 ? _d : "auto", options: props.options, quality: props.quality, src: props.src, width: (_e = props.width) !== null && _e !== void 0 ? _e : "auto" }))));
19
19
  }
20
- exports.ResponsiveImgSources = ResponsiveImgSources;
package/readmes.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="mdx" />
2
1
  import alertBubbleReadme from "./alert-bubble/README.md";
3
2
  export declare const readmes: {
4
3
  readonly "alert-bubble": typeof alertBubbleReadme;
package/select/select.js CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Select = void 0;
26
+ exports.Select = Select;
27
27
  const react_1 = require("@floating-ui/react");
28
28
  const react_2 = require("@headlessui/react");
29
29
  const show_1 = require("@uxf/core-react/components/show");
@@ -79,11 +79,11 @@ function Select(props) {
79
79
  react_3.default.createElement("div", { className: "uxf-form-component__label" },
80
80
  react_3.default.createElement(react_2.Listbox.Label, { as: label_1.Label, isHidden: props.hiddenLabel, onClick: isNotInteractive ? undefined : input.focus }, props.label)),
81
81
  react_3.default.createElement("div", { className: "uxf-form-component__input" },
82
- react_3.default.createElement(react_2.Listbox.Button, { as: input_1.Input, "aria-invalid": props.isInvalid, "aria-describedby": errorId, className: (0, cx_1.cx)("uxf-select__button", dropdown.placement === "bottom" && `${classes_1.CLASSES.IS_OPEN}--bottom`, dropdown.placement === "top" && `${classes_1.CLASSES.IS_OPEN}--top`, renderProps.open && classes_1.CLASSES.IS_OPEN), customInputElementDisplayName: (_a = SelectedValue.displayName) !== null && _a !== void 0 ? _a : "", inputFocus: input, inputGroupRef: stableRef, inputWrapperRef: props.inputWrapperRef, isDisabled: props.isDisabled, isFocused: renderProps.open, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, ref: props.inputRef, size: props.size, variant: props.variant },
82
+ react_3.default.createElement(react_2.Listbox.Button, { "aria-describedby": errorId, "aria-invalid": props.isInvalid, as: input_1.Input, className: (0, cx_1.cx)("uxf-select__button", dropdown.placement === "bottom" && `${classes_1.CLASSES.IS_OPEN}--bottom`, dropdown.placement === "top" && `${classes_1.CLASSES.IS_OPEN}--top`, renderProps.open && classes_1.CLASSES.IS_OPEN), customInputElementDisplayName: (_a = SelectedValue.displayName) !== null && _a !== void 0 ? _a : "", inputFocus: input, inputGroupRef: stableRef, inputWrapperRef: props.inputWrapperRef, isDisabled: props.isDisabled, isFocused: renderProps.open, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, ref: props.inputRef, size: props.size, variant: props.variant },
83
83
  props.leftAddon && react_3.default.createElement(input_1.Input.LeftAddon, null, props.leftAddon),
84
84
  props.leftElement && react_3.default.createElement(input_1.Input.LeftElement, null, props.leftElement),
85
85
  react_3.default.createElement(SelectedValue, { isEmpty: (0, is_nil_1.isNil)(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) }, selectedOption
86
- ? (_c = (_b = props.renderSelectedOption) === null || _b === void 0 ? void 0 : _b.call(props, selectedOption)) !== null && _c !== void 0 ? _c : selectedOption.label
86
+ ? ((_c = (_b = props.renderSelectedOption) === null || _b === void 0 ? void 0 : _b.call(props, selectedOption)) !== null && _c !== void 0 ? _c : selectedOption.label)
87
87
  : props.placeholder),
88
88
  react_3.default.createElement(input_1.Input.RightElement, null,
89
89
  react_3.default.createElement(show_1.Show, { when: Boolean(props.isClearable) && (0, is_not_nil_1.isNotNil)(value) && !isNotInteractive },
@@ -97,5 +97,4 @@ function Select(props) {
97
97
  react_3.default.createElement("div", { className: (0, cx_1.cx)("uxf-helper-text", props.isInvalid && classes_1.CLASSES.IS_INVALID), id: errorId }, props.helperText)))));
98
98
  }));
99
99
  }
100
- exports.Select = Select;
101
100
  Select.displayName = "UxfUiSelect";
@@ -26,7 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ComponentStructure = exports.Default = void 0;
29
+ exports.Default = Default;
30
+ exports.ComponentStructure = ComponentStructure;
30
31
  const react_1 = __importStar(require("react"));
31
32
  const action_1 = require("../utils/action");
32
33
  const component_structure_analyzer_1 = __importDefault(require("../utils/component-structure-analyzer"));
@@ -51,29 +52,27 @@ function Default() {
51
52
  setValue(v);
52
53
  });
53
54
  const storyComboboxes = (react_1.default.createElement("div", { className: "space-y-8" },
54
- react_1.default.createElement(index_1.Select, { dropdownMaxHeight: 350, helperText: "Helper text", label: "Default select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select" }),
55
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isInvalid: true, label: "Invalid select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, isClearable: true, name: "select-invalid" }),
56
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isDisabled: true, label: "Disabled select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-disabled" }),
57
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isReadOnly: true, label: "Read only select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-read-only" }),
58
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isRequired: true, label: "Required select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-required" }),
59
- react_1.default.createElement(index_1.Select, { dropdownPlacement: "top", isRequired: true, label: "Select with dropdown top", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-required-dropdown-top" }),
60
- react_1.default.createElement(index_1.Select, { helperText: "Helper text of Select with hidden label", hiddenLabel: true, label: "Hidden label", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-hidden-label" }),
61
- react_1.default.createElement(index_1.Select, { label: "Size sm", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, size: "small", name: "select-size-sm" }),
62
- react_1.default.createElement(index_1.Select, { label: "Size default", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-size-default" }),
63
- react_1.default.createElement(index_1.Select, { label: "Size lg", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, size: "large", name: "select-size-lg" }),
64
- react_1.default.createElement(index_1.Select, { label: "RenderOption & RenderSelectedOption", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, renderOption: (option, isSelected) => (react_1.default.createElement(react_1.default.Fragment, null,
55
+ react_1.default.createElement(index_1.Select, { dropdownMaxHeight: 350, helperText: "Helper text", label: "Default select", name: "select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
56
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isClearable: true, isInvalid: true, label: "Invalid select", name: "select-invalid", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
57
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isDisabled: true, label: "Disabled select", name: "select-disabled", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
58
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isReadOnly: true, label: "Read only select", name: "select-read-only", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
59
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isRequired: true, label: "Required select", name: "select-required", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
60
+ react_1.default.createElement(index_1.Select, { dropdownPlacement: "top", isRequired: true, label: "Select with dropdown top", name: "select-required-dropdown-top", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
61
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text of Select with hidden label", hiddenLabel: true, label: "Hidden label", name: "select-hidden-label", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
62
+ react_1.default.createElement(index_1.Select, { label: "Size sm", name: "select-size-sm", onChange: onChange, options: options, placeholder: "Vyberte...", size: "small", value: value }),
63
+ react_1.default.createElement(index_1.Select, { label: "Size default", name: "select-size-default", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
64
+ react_1.default.createElement(index_1.Select, { label: "Size lg", name: "select-size-lg", onChange: onChange, options: options, placeholder: "Vyberte...", size: "large", value: value }),
65
+ react_1.default.createElement(index_1.Select, { label: "RenderOption & RenderSelectedOption", name: "select-render-option", onChange: onChange, options: options, placeholder: "Vyberte...", renderOption: (option, isSelected) => (react_1.default.createElement(react_1.default.Fragment, null,
65
66
  "Option: ",
66
67
  option.label,
67
68
  isSelected && " (selected)")), renderSelectedOption: (option) => react_1.default.createElement(react_1.default.Fragment, null,
68
69
  "Selected: ",
69
- option.label), name: "select-render-option" })));
70
+ option.label), value: value })));
70
71
  return (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
71
72
  react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyComboboxes)));
72
73
  }
73
- exports.Default = Default;
74
74
  function ComponentStructure() {
75
75
  const [value, onChange] = (0, react_1.useState)(null);
76
76
  return (react_1.default.createElement(component_structure_analyzer_1.default, null,
77
- react_1.default.createElement(index_1.Select, { id: "select-1", name: "select", label: "Choose option...", options: options, onChange: onChange, value: value })));
77
+ react_1.default.createElement(index_1.Select, { id: "select-1", label: "Choose option...", name: "select", onChange: onChange, options: options, value: value })));
78
78
  }
79
- exports.ComponentStructure = ComponentStructure;
@@ -23,14 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TabsButtonList = exports.Component = void 0;
26
+ exports.TabsButtonList = void 0;
27
+ exports.Component = Component;
27
28
  const cx_1 = require("@uxf/core/utils/cx");
28
29
  const react_1 = __importStar(require("react"));
29
30
  function Component(props, ref) {
30
31
  var _a;
31
32
  return (
32
33
  // eslint-disable-next-line jsx-a11y/interactive-supports-focus
33
- react_1.default.createElement("div", { ref: ref, className: (0, cx_1.cx)("uxf-tabs__button-list", props.isVertical ? "uxf-tabs__button-list--vertical" : "uxf-tabs__button-list--horizontal", `uxf-tabs__button-list--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`, props.className), role: "tablist", onKeyDown: props.onKeyDown, style: props.style }, props.children));
34
+ react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-tabs__button-list", props.isVertical ? "uxf-tabs__button-list--vertical" : "uxf-tabs__button-list--horizontal", `uxf-tabs__button-list--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`, props.className), onKeyDown: props.onKeyDown, ref: ref, role: "tablist", style: props.style }, props.children));
34
35
  }
35
- exports.Component = Component;
36
36
  exports.TabsButtonList = (0, react_1.forwardRef)(Component);
@@ -23,7 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TabsButton = exports.Component = void 0;
26
+ exports.TabsButton = void 0;
27
+ exports.Component = Component;
27
28
  const classes_1 = require("@uxf/core/constants/classes");
28
29
  const cx_1 = require("@uxf/core/utils/cx");
29
30
  const react_1 = __importStar(require("react"));
@@ -33,7 +34,6 @@ function Component(props, ref) {
33
34
  return null;
34
35
  }
35
36
  const className = (0, cx_1.cx)("uxf-tabs__button", `uxf-tabs__button--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`, props.isVertical ? "uxf-tabs__button--vertical" : "uxf-tabs__button--horizontal", props.isActive && `uxf-tabs__button--${classes_1.CLASSES.IS_ACTIVE} ${classes_1.CLASSES.IS_ACTIVE}`, props.isDisabled && `uxf-tabs__button--${classes_1.CLASSES.IS_DISABLED} ${classes_1.CLASSES.IS_DISABLED}`, props.className);
36
- return (react_1.default.createElement("button", { id: props.id, ref: ref, className: className, onClick: props.isDisabled ? undefined : props.onClick, role: "tab", tabIndex: props.isActive ? undefined : -1, "aria-selected": props.isActive }, props.children));
37
+ return (react_1.default.createElement("button", { "aria-selected": props.isActive, className: className, id: props.id, onClick: props.isDisabled ? undefined : props.onClick, ref: ref, role: "tab", tabIndex: props.isActive ? undefined : -1 }, props.children));
37
38
  }
38
- exports.Component = Component;
39
39
  exports.TabsButton = (0, react_1.forwardRef)(Component);
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TabsPanel = void 0;
6
+ exports.TabsPanel = TabsPanel;
7
7
  const classes_1 = require("@uxf/core/constants/classes");
8
8
  const cx_1 = require("@uxf/core/utils/cx");
9
9
  const react_1 = __importDefault(require("react"));
10
10
  function TabsPanel(props) {
11
11
  return props.isAlwaysMounted || props.isActive ? (react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-tabs__panel", !props.isActive && `uxf-tabs__panel--${classes_1.CLASSES.IS_HIDDEN} ${classes_1.CLASSES.IS_HIDDEN}`, props.className) }, props.children)) : null;
12
12
  }
13
- exports.TabsPanel = TabsPanel;
@@ -3,9 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TabsPanels = void 0;
6
+ exports.TabsPanels = TabsPanels;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  function TabsPanels(props) {
9
9
  return react_1.default.createElement("div", { className: "uxf-tabs__panels" }, props.children);
10
10
  }
11
- exports.TabsPanels = TabsPanels;
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TabsRoot = void 0;
6
+ exports.TabsRoot = TabsRoot;
7
7
  const cx_1 = require("@uxf/core/utils/cx");
8
8
  const react_1 = __importDefault(require("react"));
9
9
  function TabsRoot(props) {
10
10
  var _a;
11
11
  return (react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-tabs", `uxf-tabs--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`, props.isVertical ? "uxf-tabs--vertical" : "uxf-tabs--horizontal", props.className) }, props.children));
12
12
  }
13
- exports.TabsRoot = TabsRoot;
package/tabs/panel.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TABS_PANEL_DISPLAY_NAME = exports.Panel = void 0;
3
+ exports.TABS_PANEL_DISPLAY_NAME = void 0;
4
+ exports.Panel = Panel;
4
5
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
6
  function Panel(props) {
6
7
  // this is never rendered
7
8
  return null;
8
9
  }
9
- exports.Panel = Panel;
10
10
  exports.TABS_PANEL_DISPLAY_NAME = "UxfUiTabPanel";
11
11
  Panel.displayName = exports.TABS_PANEL_DISPLAY_NAME;
package/tabs/tabs.js CHANGED
@@ -64,10 +64,12 @@ function Root(props) {
64
64
  };
65
65
  const hasPanelWithChildren = (0, is_not_nil_1.isNotNil)(tabPanels.find((panel) => (0, is_not_nil_1.isNotNil)(panel.props.children)));
66
66
  return (react_1.default.createElement(tabs_root_1.TabsRoot, { className: props.className, isVertical: props.isVertical, variant: props.variant },
67
- react_1.default.createElement(tabs_button_list_1.TabsButtonList, { isVertical: props.isVertical, variant: props.variant, onKeyDown: onKeyDown, ref: buttonListRef, style: buttonListStyle, className: props.classNameButtonList }, tabPanels.map((panel, index) => (react_1.default.createElement(tabs_button_1.TabsButton, { key: panel.props.name, ref: (ref) => (tabRefs.current[index] = ref), className: panel.props.classNameButton, id: createId(id, panel.props.name), isActive: panel.props.name === props.value, isDisabled: panel.props.isDisabled, isHidden: panel.props.isHidden, isVertical: props.isVertical, onClick: () => props.onChange(panel.props.name), variant: props.variant }, typeof panel.props.label === "function"
67
+ react_1.default.createElement(tabs_button_list_1.TabsButtonList, { className: props.classNameButtonList, isVertical: props.isVertical, onKeyDown: onKeyDown, ref: buttonListRef, style: buttonListStyle, variant: props.variant }, tabPanels.map((panel, index) => (react_1.default.createElement(tabs_button_1.TabsButton, { className: panel.props.classNameButton, id: createId(id, panel.props.name), isActive: panel.props.name === props.value, isDisabled: panel.props.isDisabled, isHidden: panel.props.isHidden, isVertical: props.isVertical, key: panel.props.name, onClick: () => props.onChange(panel.props.name), ref: (ref) => {
68
+ tabRefs.current[index] = ref;
69
+ }, variant: props.variant }, typeof panel.props.label === "function"
68
70
  ? panel.props.label({ isActive: panel.props.name === props.value })
69
71
  : panel.props.label)))),
70
- hasPanelWithChildren && (react_1.default.createElement(tabs_panels_1.TabsPanels, null, tabPanels.map((panel) => (react_1.default.createElement(tabs_panel_1.TabsPanel, { key: panel.props.name, className: panel.props.classNamePanel, isActive: panel.props.name === props.value, isHidden: panel.props.isHidden, isAlwaysMounted: panel.props.isAlwaysMounted }, panel.props.children)))))));
72
+ hasPanelWithChildren && (react_1.default.createElement(tabs_panels_1.TabsPanels, null, tabPanels.map((panel) => (react_1.default.createElement(tabs_panel_1.TabsPanel, { className: panel.props.classNamePanel, isActive: panel.props.name === props.value, isAlwaysMounted: panel.props.isAlwaysMounted, isHidden: panel.props.isHidden, key: panel.props.name }, panel.props.children)))))));
71
73
  }
72
74
  Root.displayName = "UxfUiTabs";
73
75
  exports.Tabs = Object.assign(Root, { Panel: panel_1.Panel });
@@ -24,7 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  return result;
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.Segmented = exports.Default = void 0;
27
+ exports.Default = Default;
28
+ exports.Segmented = Segmented;
28
29
  const react_1 = __importStar(require("react"));
29
30
  const icon_1 = require("../icon");
30
31
  const toggle_1 = require("../toggle");
@@ -41,29 +42,27 @@ function Default() {
41
42
  const [activeTab, setActiveTab] = (0, react_1.useState)(TabEnum.Basic);
42
43
  const [isVertical, setIsVertical] = (0, react_1.useState)(false);
43
44
  return (react_1.default.createElement(react_1.default.Fragment, null,
44
- react_1.default.createElement(toggle_1.Toggle, { label: "Vertical", value: isVertical, onChange: setIsVertical, name: "isVertical", className: "mb-5" }),
45
- react_1.default.createElement(tabs_1.Tabs, { value: activeTab, onChange: setActiveTab, isVertical: isVertical },
46
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Basic, label: "Basic" }, "Basic tab"),
47
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Disabled, label: "Disabled", isDisabled: true }, "Disabled tab"),
48
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Hidden, label: "Hidden", isHidden: true }, "Hidden"),
49
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.AlwaysMounted, label: "Always mounted", isAlwaysMounted: true }, "Always mounted tab"),
50
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Custom, label: () => (react_1.default.createElement("span", { className: "flex items-center gap-2" },
51
- react_1.default.createElement(icon_1.Icon, { name: "camera", className: "size-4" }),
52
- " Custom button")) }, "Custom button tab"))));
45
+ react_1.default.createElement(toggle_1.Toggle, { className: "mb-5", label: "Vertical", name: "isVertical", onChange: setIsVertical, value: isVertical }),
46
+ react_1.default.createElement(tabs_1.Tabs, { isVertical: isVertical, onChange: setActiveTab, value: activeTab },
47
+ react_1.default.createElement(tabs_1.Tabs.Panel, { label: "Basic", name: TabEnum.Basic }, "Basic tab"),
48
+ react_1.default.createElement(tabs_1.Tabs.Panel, { isDisabled: true, label: "Disabled", name: TabEnum.Disabled }, "Disabled tab"),
49
+ react_1.default.createElement(tabs_1.Tabs.Panel, { isHidden: true, label: "Hidden", name: TabEnum.Hidden }, "Hidden"),
50
+ react_1.default.createElement(tabs_1.Tabs.Panel, { isAlwaysMounted: true, label: "Always mounted", name: TabEnum.AlwaysMounted }, "Always mounted tab"),
51
+ react_1.default.createElement(tabs_1.Tabs.Panel, { label: () => (react_1.default.createElement("span", { className: "flex items-center gap-2" },
52
+ react_1.default.createElement(icon_1.Icon, { className: "size-4", name: "camera" }),
53
+ " Custom button")), name: TabEnum.Custom }, "Custom button tab"))));
53
54
  }
54
- exports.Default = Default;
55
55
  function Segmented() {
56
56
  const [activeTab, setActiveTab] = (0, react_1.useState)("tab-basic");
57
57
  const [isVertical, setIsVertical] = (0, react_1.useState)(false);
58
58
  return (react_1.default.createElement(react_1.default.Fragment, null,
59
- react_1.default.createElement(toggle_1.Toggle, { label: "Vertical", value: isVertical, onChange: setIsVertical, name: "isVertical", className: "mb-5" }),
60
- react_1.default.createElement(tabs_1.Tabs, { value: activeTab, onChange: setActiveTab, variant: "segmented", isVertical: isVertical },
61
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-basic", label: "Basic" }, "Basic tab"),
62
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-disabled", label: "Disabled", isDisabled: true }, "Disabled tab"),
63
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-hidden", label: "Hidden", isHidden: true }, "Hidden"),
64
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-always-mounted", label: "Always mounted", isAlwaysMounted: true }, "Always mounted tab"),
65
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-custom", label: () => (react_1.default.createElement("span", { className: "flex items-center gap-2" },
66
- react_1.default.createElement(icon_1.Icon, { name: "camera", className: "size-4" }),
67
- " Custom button")) }, "Custom button tab"))));
59
+ react_1.default.createElement(toggle_1.Toggle, { className: "mb-5", label: "Vertical", name: "isVertical", onChange: setIsVertical, value: isVertical }),
60
+ react_1.default.createElement(tabs_1.Tabs, { isVertical: isVertical, onChange: setActiveTab, value: activeTab, variant: "segmented" },
61
+ react_1.default.createElement(tabs_1.Tabs.Panel, { label: "Basic", name: "tab-basic" }, "Basic tab"),
62
+ react_1.default.createElement(tabs_1.Tabs.Panel, { isDisabled: true, label: "Disabled", name: "tab-disabled" }, "Disabled tab"),
63
+ react_1.default.createElement(tabs_1.Tabs.Panel, { isHidden: true, label: "Hidden", name: "tab-hidden" }, "Hidden"),
64
+ react_1.default.createElement(tabs_1.Tabs.Panel, { isAlwaysMounted: true, label: "Always mounted", name: "tab-always-mounted" }, "Always mounted tab"),
65
+ react_1.default.createElement(tabs_1.Tabs.Panel, { label: () => (react_1.default.createElement("span", { className: "flex items-center gap-2" },
66
+ react_1.default.createElement(icon_1.Icon, { className: "size-4", name: "camera" }),
67
+ " Custom button")), name: "tab-custom" }, "Custom button tab"))));
68
68
  }
69
- exports.Segmented = Segmented;
@@ -26,7 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ComponentStructure = exports.Default = void 0;
29
+ exports.Default = Default;
30
+ exports.ComponentStructure = ComponentStructure;
30
31
  const copy_to_clipboard_1 = require("@uxf/core/utils/copy-to-clipboard");
31
32
  const button_1 = require("@uxf/ui/button");
32
33
  const flash_messages_service_1 = require("@uxf/ui/flash-messages/flash-messages-service");
@@ -48,18 +49,16 @@ function Default() {
48
49
  });
49
50
  });
50
51
  return (react_1.default.createElement("div", { className: "space-y-2 p-20" },
51
- react_1.default.createElement(text_input_1.TextInput, { name: "default", label: "Default input", value: value, onChange: onChange, helperText: "Helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder..." }),
52
- react_1.default.createElement(text_input_1.TextInput, { name: "error", label: "Error input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isInvalid: true }),
53
- react_1.default.createElement(text_input_1.TextInput, { name: "readOnly", label: "Read only input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isReadOnly: true }),
54
- react_1.default.createElement(text_input_1.TextInput, { name: "disabled", label: "Disabled input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isDisabled: true }),
55
- react_1.default.createElement(text_input_1.TextInput, { name: "defaultHtmlTime", label: "Default html time input", value: timeValue, onChange: onTimeChange, placeholder: "Some beautiful placeholder...", type: "time" }),
56
- react_1.default.createElement(text_input_1.TextInput, { name: "copyToClipboard", label: "Copy to clipboard input", leftAddon: "I can be copied!", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: react_1.default.createElement(button_1.Button, { className: "size-full rounded-l-none border-none", isDisabled: value === "", onClick: onCopy, variant: "secondary" },
52
+ react_1.default.createElement(text_input_1.TextInput, { helperText: "Helper text", label: "Default input", leftAddon: "https://", leftElement: "\uD83C\uDF37", name: "default", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: ".cz", rightElement: "\uD83D\uDD14", value: value }),
53
+ react_1.default.createElement(text_input_1.TextInput, { helperText: "Error helper text", isInvalid: true, label: "Error input", leftAddon: "https://", leftElement: "\uD83C\uDF37", name: "error", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: ".cz", rightElement: "\uD83D\uDD14", value: value }),
54
+ react_1.default.createElement(text_input_1.TextInput, { helperText: "Error helper text", isReadOnly: true, label: "Read only input", leftAddon: "https://", leftElement: "\uD83C\uDF37", name: "readOnly", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: ".cz", rightElement: "\uD83D\uDD14", value: value }),
55
+ react_1.default.createElement(text_input_1.TextInput, { helperText: "Error helper text", isDisabled: true, label: "Disabled input", leftAddon: "https://", leftElement: "\uD83C\uDF37", name: "disabled", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: ".cz", rightElement: "\uD83D\uDD14", value: value }),
56
+ react_1.default.createElement(text_input_1.TextInput, { label: "Default html time input", name: "defaultHtmlTime", onChange: onTimeChange, placeholder: "Some beautiful placeholder...", type: "time", value: timeValue }),
57
+ react_1.default.createElement(text_input_1.TextInput, { label: "Copy to clipboard input", leftAddon: "I can be copied!", name: "copyToClipboard", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: react_1.default.createElement(button_1.Button, { className: "size-full rounded-l-none border-none", isDisabled: value === "", onClick: onCopy, variant: "secondary" },
57
58
  react_1.default.createElement(icon_1.Icon, { className: "w-4", name: "copy" })), value: value })));
58
59
  }
59
- exports.Default = Default;
60
60
  function ComponentStructure() {
61
61
  const [value, onChange] = (0, react_1.useState)("");
62
62
  return (react_1.default.createElement(component_structure_analyzer_1.default, null,
63
- react_1.default.createElement(text_input_1.TextInput, { label: "Label", placeholder: "Placeholder", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", leftAddon: "https://", rightAddon: ".cz", value: value, onChange: onChange, isInvalid: false, helperText: "Helper text", name: "text-input" })));
63
+ react_1.default.createElement(text_input_1.TextInput, { helperText: "Helper text", isInvalid: false, label: "Label", leftAddon: "https://", leftElement: "\uD83C\uDF37", name: "text-input", onChange: onChange, placeholder: "Placeholder", rightAddon: ".cz", rightElement: "\uD83D\uDD14", value: value })));
64
64
  }
65
- exports.ComponentStructure = ComponentStructure;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Default = void 0;
6
+ exports.Default = Default;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const index_1 = require("./index");
9
9
  exports.default = {
@@ -19,4 +19,3 @@ function Default() {
19
19
  "Pokra\u010Dujte ",
20
20
  react_1.default.createElement(index_1.TextLink, { onClick: onClick }, "t\u00EDmto odkazem")))));
21
21
  }
22
- exports.Default = Default;
@@ -68,6 +68,6 @@ exports.Textarea = (0, react_1.forwardRef)((props, ref) => {
68
68
  const onWrapperClick = () => { var _a; return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus(); };
69
69
  return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label, name: props.name },
70
70
  react_1.default.createElement("div", { className: "uxf-textarea__wrapper", onClick: onWrapperClick, style: props.style },
71
- react_1.default.createElement("textarea", { "aria-describedby": errorId, "aria-invalid": props.isInvalid, autoComplete: props.autoComplete, className: "uxf-textarea__element", disabled: props.isDisabled, form: props.form, id: id, maxLength: props.maxLength, minLength: props.minLength, name: props.name, onBlur: input.onBlur, onChange: (event) => props.onChange(event.target.value, event), onFocus: input.onFocus, placeholder: props.placeholder, readOnly: props.isReadOnly, rows: props.rows, ref: (0, compose_refs_1.composeRefs)(innerRef, ref), required: props.isRequired, value: props.value }))));
71
+ react_1.default.createElement("textarea", { "aria-describedby": errorId, "aria-invalid": props.isInvalid, autoComplete: props.autoComplete, className: "uxf-textarea__element", disabled: props.isDisabled, form: props.form, id: id, maxLength: props.maxLength, minLength: props.minLength, name: props.name, onBlur: input.onBlur, onChange: (event) => props.onChange(event.target.value, event), onFocus: input.onFocus, placeholder: props.placeholder, readOnly: props.isReadOnly, ref: (0, compose_refs_1.composeRefs)(innerRef, ref), required: props.isRequired, rows: props.rows, value: props.value }))));
72
72
  });
73
73
  exports.Textarea.displayName = "UxfUiTextarea";
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Default = void 0;
26
+ 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");
@@ -35,11 +35,9 @@ function Default() {
35
35
  const [value, setValue] = (0, react_1.useState)("test");
36
36
  const onChange = (0, action_1.action)("onChange", setValue);
37
37
  const storyTextAreas = (react_1.default.createElement("div", { className: "space-y-2" },
38
- react_1.default.createElement(index_1.Textarea, { id: "textarea", label: "Textarea", onChange: onChange, placeholder: "Placeholder text...", value: value, name: "text-area" }),
39
- react_1.default.createElement(index_1.Textarea, { id: "textarea-readonly", label: "Readonly", isReadOnly: true, onChange: onChange, value: value, name: "text-area-read-only" }),
40
- react_1.default.createElement(index_1.Textarea, { isDisabled: true, id: "textarea-disabled", label: "Textarea disabled", onChange: onChange, value: value, name: "text-area-diabled" }),
41
- react_1.default.createElement(index_1.Textarea, { id: "textarea-rows10", isInvalid: true, label: "Textarea rows = 10, invalid", placeholder: "Placeholder text....", rows: 10, onChange: onChange, value: value, name: "text-area-invalid" })));
42
- return (react_1.default.createElement(react_1.default.Fragment, null,
43
- react_1.default.createElement("div", { className: "space-y-2 p-20" }, storyTextAreas)));
38
+ react_1.default.createElement(index_1.Textarea, { id: "textarea", label: "Textarea", name: "text-area", onChange: onChange, placeholder: "Placeholder text...", value: value }),
39
+ react_1.default.createElement(index_1.Textarea, { id: "textarea-readonly", isReadOnly: true, label: "Readonly", name: "text-area-read-only", onChange: onChange, value: value }),
40
+ react_1.default.createElement(index_1.Textarea, { id: "textarea-disabled", isDisabled: true, label: "Textarea disabled", name: "text-area-diabled", onChange: onChange, value: value }),
41
+ react_1.default.createElement(index_1.Textarea, { id: "textarea-rows10", isInvalid: true, label: "Textarea rows = 10, invalid", name: "text-area-invalid", onChange: onChange, placeholder: "Placeholder text....", rows: 10, value: value })));
42
+ return react_1.default.createElement("div", { className: "space-y-2 p-20" }, storyTextAreas);
44
43
  }
45
- exports.Default = Default;
@@ -9,7 +9,7 @@ const react_1 = __importDefault(require("react"));
9
9
  const time_picker_hour_1 = require("./time-picker-hour");
10
10
  const TimePickerHours = () => {
11
11
  const { hours } = (0, use_hours_1.useHours)({});
12
- return (react_1.default.createElement("div", { className: "uxf-time-picker__hours uxf-calendar__hours" }, hours.map((hour) => (react_1.default.createElement(time_picker_hour_1.TimePickerHour, { hour: hour.value, label: hour.label, key: hour.value })))));
12
+ return (react_1.default.createElement("div", { className: "uxf-time-picker__hours uxf-calendar__hours" }, hours.map((hour) => (react_1.default.createElement(time_picker_hour_1.TimePickerHour, { hour: hour.value, key: hour.value, label: hour.label })))));
13
13
  };
14
14
  exports.TimePickerHours = TimePickerHours;
15
15
  exports.TimePickerHours.displayName = "UxfUiTimePickerHours";
@@ -9,7 +9,7 @@ const react_1 = __importDefault(require("react"));
9
9
  const time_picker_minute_1 = require("./time-picker-minute");
10
10
  const TimePickerMinutes = () => {
11
11
  const { minutes } = (0, use_minutes_1.useMinutes)({});
12
- return (react_1.default.createElement("div", { className: "uxf-time-picker__minutes uxf-calendar__minutes" }, minutes.map((minute) => (react_1.default.createElement(time_picker_minute_1.TimePickerMinute, { minute: minute.value, label: minute.label, key: minute.value })))));
12
+ return (react_1.default.createElement("div", { className: "uxf-time-picker__minutes uxf-calendar__minutes" }, minutes.map((minute) => (react_1.default.createElement(time_picker_minute_1.TimePickerMinute, { key: minute.value, label: minute.label, minute: minute.value })))));
13
13
  };
14
14
  exports.TimePickerMinutes = TimePickerMinutes;
15
15
  exports.TimePickerMinutes.displayName = "UxfUiTimePickerMinutes";
@@ -46,14 +46,14 @@ const TimePicker = (props) => {
46
46
  react_1.default.createElement("div", { className: "uxf-time-picker__global__column" },
47
47
  react_1.default.createElement(button_1.Button, { isIconButton: true, onClick: goToNextHour, title: "Nadch\u00E1zej\u00EDc\u00ED", variant: "text" },
48
48
  react_1.default.createElement(icon_1.Icon, { name: "chevronUp", size: 16 })),
49
- react_1.default.createElement(button_1.Button, { variant: "text", onClick: () => setViewMode("hour") }, (_b = (_a = props.selectedTime) === null || _a === void 0 ? void 0 : _a.hour.toString()) !== null && _b !== void 0 ? _b : "0"),
49
+ react_1.default.createElement(button_1.Button, { onClick: () => setViewMode("hour"), variant: "text" }, (_b = (_a = props.selectedTime) === null || _a === void 0 ? void 0 : _a.hour.toString()) !== null && _b !== void 0 ? _b : "0"),
50
50
  react_1.default.createElement(button_1.Button, { isIconButton: true, onClick: goToPrevHour, title: "P\u0159edchoz\u00ED", variant: "text" },
51
51
  react_1.default.createElement(icon_1.Icon, { name: "chevronDown", size: 16 }))),
52
52
  react_1.default.createElement("div", null, ":"),
53
53
  react_1.default.createElement("div", { className: "uxf-time-picker__global__column" },
54
54
  react_1.default.createElement(button_1.Button, { isIconButton: true, onClick: goToNextMinute, title: "Nadch\u00E1zej\u00EDc\u00ED", variant: "text" },
55
55
  react_1.default.createElement(icon_1.Icon, { name: "chevronUp", size: 16 })),
56
- react_1.default.createElement(button_1.Button, { variant: "text", onClick: () => setViewMode("minute") }, props.selectedTime
56
+ react_1.default.createElement(button_1.Button, { onClick: () => setViewMode("minute"), variant: "text" }, props.selectedTime
57
57
  ? props.selectedTime.minute < 10
58
58
  ? "0" + props.selectedTime.minute
59
59
  : props.selectedTime.minute.toString()
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Default = void 0;
26
+ exports.Default = Default;
27
27
  const react_1 = __importStar(require("react"));
28
28
  const action_1 = require("../utils/action");
29
29
  const time_picker_1 = require("./time-picker");
@@ -35,9 +35,6 @@ function Default() {
35
35
  const [value, setValue] = (0, react_1.useState)(null);
36
36
  const onChange = (0, action_1.action)("onChange", setValue);
37
37
  const onClose = () => null;
38
- const testTimePickers = (react_1.default.createElement(react_1.default.Fragment, null,
39
- react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: onClose, onChange: onChange, selectedTime: value })));
40
- return (react_1.default.createElement(react_1.default.Fragment, null,
41
- react_1.default.createElement("div", { className: "max-w-[640px] space-y-4 rounded p-8" }, testTimePickers)));
38
+ const testTimePickers = react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: onClose, onChange: onChange, selectedTime: value });
39
+ return react_1.default.createElement("div", { className: "max-w-screen-sm space-y-4 rounded p-8" }, testTimePickers);
42
40
  }
43
- exports.Default = Default;
@@ -1,10 +1,17 @@
1
+ import { TimeString } 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_TIME_FORMAT: string[];
4
6
  export declare const DISPLAY_TIME_FORMAT = "H:mm";
5
7
  export declare const OUTPUT_TIME_FORMAT = "HH:mm:ss";
8
+ interface CustomTimePickerProps extends ControlProps<TimeString | null> {
9
+ onClose: () => void;
10
+ }
6
11
  export interface TimePickerInputProps extends Omit<InputWithPopoverProps<string | null>, "children" | "placeholder" | "triggerElement"> {
7
12
  placeholder?: string;
8
13
  triggerElement?: ReactNode;
14
+ CustomTimePicker?: (props: CustomTimePickerProps) => ReactNode;
9
15
  }
10
16
  export declare const TimePickerInput: React.ForwardRefExoticComponent<TimePickerInputProps & React.RefAttributes<HTMLInputElement>>;
17
+ export {};
@@ -27,7 +27,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.TimePickerInput = exports.OUTPUT_TIME_FORMAT = exports.DISPLAY_TIME_FORMAT = exports.ALLOWED_TIME_FORMAT = void 0;
30
+ const is_time_string_1 = require("@uxf/core/date/is-time-string");
30
31
  const cx_1 = require("@uxf/core/utils/cx");
32
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
31
33
  const dayjs_1 = __importStar(require("dayjs"));
32
34
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
33
35
  const react_1 = __importStar(require("react"));
@@ -75,6 +77,6 @@ exports.TimePickerInput = (0, react_1.forwardRef)((props, ref) => {
75
77
  }, [onChange]);
76
78
  const value = getValue(props.value);
77
79
  const selectedTime = getSelectedTime(props.value);
78
- return (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_TIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "clock", size: 20 }) }, ({ close }) => (react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: close, onChange: onTimePickerChange, preventScroll: true, selectedTime: selectedTime }))));
80
+ return (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_TIME_FORMAT), ref: ref, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "clock", size: 20 }), value: value }, ({ close }) => (0, is_not_nil_1.isNotNil)(props.CustomTimePicker) ? (react_1.default.createElement(props.CustomTimePicker, { onChange: props.onChange, onClose: close, value: (0, is_time_string_1.isTimeString)(props.value) ? props.value : null })) : (react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: close, onChange: onTimePickerChange, preventScroll: true, selectedTime: selectedTime }))));
79
81
  });
80
82
  exports.TimePickerInput.displayName = "UxfUiTimePickerInput";