@uxf/ui 1.0.0-beta.56 → 1.0.0-beta.58

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 (162) hide show
  1. package/_private-utils/get-provider-config.js +2 -1
  2. package/avatar-file-input/avatar-file-input.d.ts +2 -2
  3. package/avatar-file-input/avatar-file-input.js +8 -8
  4. package/avatar-file-input/index.d.ts +1 -1
  5. package/avatar-file-input/index.js +14 -5
  6. package/button/button.d.ts +2 -3
  7. package/button/button.js +6 -7
  8. package/button/button.stories.js +8 -5
  9. package/button/index.d.ts +0 -1
  10. package/button/index.js +0 -6
  11. package/button/theme.d.ts +2 -1
  12. package/checkbox/checkbox.d.ts +5 -8
  13. package/checkbox/checkbox.js +9 -11
  14. package/checkbox/checkbox.stories.d.ts +2 -3
  15. package/checkbox/checkbox.stories.js +21 -4
  16. package/checkbox/index.d.ts +1 -1
  17. package/checkbox/index.js +14 -5
  18. package/checkbox-input/checkbox-input.d.ts +2 -3
  19. package/checkbox-input/checkbox-input.js +5 -3
  20. package/checkbox-input/checkbox-input.stories.d.ts +2 -3
  21. package/checkbox-input/index.d.ts +1 -1
  22. package/checkbox-input/index.js +14 -5
  23. package/chip/chip.d.ts +7 -0
  24. package/chip/chip.js +14 -0
  25. package/chip/chip.stories.d.ts +7 -0
  26. package/chip/chip.stories.js +22 -0
  27. package/chip/index.d.ts +1 -0
  28. package/chip/index.js +5 -0
  29. package/chip/theme.d.ts +5 -0
  30. package/chip/theme.js +2 -0
  31. package/color-radio-group/color-radio-group.d.ts +17 -0
  32. package/color-radio-group/color-radio-group.js +47 -0
  33. package/color-radio-group/color-radio-group.stories.d.ts +7 -0
  34. package/color-radio-group/color-radio-group.stories.js +79 -0
  35. package/color-radio-group/color-radio.d.ts +8 -0
  36. package/color-radio-group/color-radio.js +28 -0
  37. package/color-radio-group/index.d.ts +1 -0
  38. package/color-radio-group/index.js +5 -0
  39. package/combobox/combobox.d.ts +1 -2
  40. package/combobox/combobox.js +8 -7
  41. package/combobox/index.d.ts +1 -1
  42. package/combobox/index.js +14 -5
  43. package/config/icons-config.d.ts +2 -0
  44. package/config/icons-config.js +5 -0
  45. package/config/icons.d.ts +47 -0
  46. package/config/icons.js +14 -0
  47. package/content/content-schema.d.ts +3 -0
  48. package/content/content-schema.js +2 -0
  49. package/content/types.d.ts +27 -0
  50. package/content/types.js +2 -0
  51. package/css/button.css +171 -76
  52. package/css/checkbox.css +78 -12
  53. package/css/chip.css +37 -0
  54. package/css/color-radio-group.css +26 -0
  55. package/css/color-radio.css +21 -0
  56. package/css/input.css +123 -68
  57. package/css/label.css +7 -0
  58. package/css/radio-group.css +136 -1
  59. package/css/radio.css +79 -9
  60. package/css/textarea.css +48 -10
  61. package/css/toggle.css +60 -0
  62. package/dropdown/dropdown.d.ts +1 -1
  63. package/dropdown/dropdown.js +7 -7
  64. package/dropdown/index.d.ts +1 -1
  65. package/dropdown/index.js +15 -3
  66. package/error-message/error-message.d.ts +2 -2
  67. package/error-message/error-message.js +2 -1
  68. package/error-message/index.d.ts +1 -1
  69. package/error-message/index.js +14 -5
  70. package/form-control/form-control.js +2 -2
  71. package/hooks/use-dropdown.js +3 -1
  72. package/icon/icon.d.ts +2 -2
  73. package/icon/icon.js +11 -7
  74. package/icon/icon.stories.js +61 -60
  75. package/icon/index.d.ts +1 -5
  76. package/icon/index.js +14 -13
  77. package/icon/theme.d.ts +1 -2
  78. package/image-gallery/components/close-button.js +3 -3
  79. package/image-gallery/components/next-button.js +3 -3
  80. package/image-gallery/components/previous-button.js +3 -3
  81. package/input/index.d.ts +9 -10
  82. package/input/index.js +10 -13
  83. package/input/input-element.d.ts +2 -2
  84. package/input/input-element.js +5 -5
  85. package/input/input-left-addon.d.ts +3 -3
  86. package/input/input-left-addon.js +2 -1
  87. package/input/input-left-element.d.ts +3 -3
  88. package/input/input-left-element.js +2 -1
  89. package/input/input-right-addon.d.ts +2 -3
  90. package/input/input-right-addon.js +2 -1
  91. package/input/input-right-element.d.ts +3 -3
  92. package/input/input-right-element.js +2 -1
  93. package/input/input.d.ts +2 -2
  94. package/input/input.js +5 -4
  95. package/input/input.stories.d.ts +5 -5
  96. package/input/input.stories.js +13 -3
  97. package/label/index.d.ts +1 -1
  98. package/label/index.js +14 -5
  99. package/label/label.d.ts +1 -2
  100. package/label/label.js +4 -4
  101. package/package.json +5 -3
  102. package/radio/index.d.ts +1 -1
  103. package/radio/index.js +14 -5
  104. package/radio/radio.d.ts +4 -3
  105. package/radio/radio.js +6 -5
  106. package/radio/radio.stories.js +27 -13
  107. package/radio-group/index.d.ts +1 -1
  108. package/radio-group/index.js +14 -5
  109. package/radio-group/radio-group.d.ts +5 -10
  110. package/radio-group/radio-group.js +16 -12
  111. package/radio-group/radio-group.stories.d.ts +1 -1
  112. package/radio-group/radio-group.stories.js +12 -3
  113. package/raster-image/index.d.ts +1 -1
  114. package/raster-image/index.js +14 -5
  115. package/raster-image/raster-image.d.ts +4 -4
  116. package/raster-image/raster-image.js +7 -5
  117. package/raster-image/raster-image.stories.d.ts +2 -3
  118. package/select/index.d.ts +1 -1
  119. package/select/index.js +14 -5
  120. package/select/select.d.ts +1 -2
  121. package/select/select.js +8 -7
  122. package/text-input/text-input.d.ts +1 -1
  123. package/text-input/text-input.js +4 -4
  124. package/text-input/text-input.stories.js +4 -1
  125. package/textarea/index.d.ts +1 -1
  126. package/textarea/index.js +14 -5
  127. package/textarea/textarea.d.ts +1 -2
  128. package/textarea/textarea.js +8 -8
  129. package/textarea/textarea.stories.js +32 -20
  130. package/toggle/index.d.ts +1 -0
  131. package/toggle/index.js +17 -0
  132. package/toggle/toggle.d.ts +8 -0
  133. package/toggle/toggle.js +16 -0
  134. package/toggle/toggle.stories.d.ts +7 -0
  135. package/toggle/toggle.stories.js +51 -0
  136. package/utils/icons-config.js +43 -0
  137. package/utils/storybook-config.js +1 -1
  138. package/utils/tailwind-config.js +152 -0
  139. package/hooks/use-latest.d.ts +0 -2
  140. package/hooks/use-latest.js +0 -12
  141. package/icon/camera-icon.d.ts +0 -3
  142. package/icon/camera-icon.js +0 -11
  143. package/icon/chevron-down-icon.d.ts +0 -3
  144. package/icon/chevron-down-icon.js +0 -11
  145. package/icon/chevron-up-icon.d.ts +0 -3
  146. package/icon/chevron-up-icon.js +0 -11
  147. package/icon/pin-icon.d.ts +0 -3
  148. package/icon/pin-icon.js +0 -11
  149. package/image-gallery/components/icon-chevron-left.d.ts +0 -3
  150. package/image-gallery/components/icon-chevron-left.js +0 -11
  151. package/image-gallery/components/icon-chevron-right.d.ts +0 -3
  152. package/image-gallery/components/icon-chevron-right.js +0 -11
  153. package/image-gallery/components/icon-close.d.ts +0 -3
  154. package/image-gallery/components/icon-close.js +0 -11
  155. package/utils/cx.d.ts +0 -3
  156. package/utils/cx.js +0 -54
  157. package/utils/forward-ref.d.ts +0 -12
  158. package/utils/forward-ref.js +0 -10
  159. package/utils/rem.d.ts +0 -1
  160. package/utils/rem.js +0 -5
  161. package/utils/sr-only-mixin.d.ts +0 -2
  162. package/utils/sr-only-mixin.js +0 -14
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProviderConfig = void 0;
4
+ const icons_1 = require("../config/icons");
4
5
  const getProviderConfig = () => ({
5
- icon: { spriteFilePath: "/icons-generated/_icon-sprite.svg", iconsConfig: { test: { w: 29.65, h: 40 } } },
6
+ icon: { spriteFilePath: "/icons-generated/_icon-sprite.svg", iconsConfig: icons_1.ICONS },
6
7
  });
7
8
  exports.getProviderConfig = getProviderConfig;
@@ -28,5 +28,5 @@ export interface AvatarFileInputProps {
28
28
  value?: FileResponse | null | undefined;
29
29
  namespace?: "default" | "user-files";
30
30
  }
31
- declare const _default: React.ForwardRefExoticComponent<AvatarFileInputProps & React.RefAttributes<HTMLInputElement>>;
32
- export default _default;
31
+ export declare const AvatarFileInput: React.ForwardRefExoticComponent<AvatarFileInputProps & React.RefAttributes<HTMLInputElement>>;
32
+ export {};
@@ -23,16 +23,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AvatarFileInput = void 0;
26
27
  const classes_1 = require("@uxf/core/constants/classes");
27
28
  const useInputFocus_1 = require("@uxf/core/hooks/useInputFocus");
28
29
  const composeRefs_1 = require("@uxf/core/utils/composeRefs");
29
30
  const cx_1 = require("@uxf/core/utils/cx");
31
+ const forwardRef_1 = require("@uxf/core/utils/forwardRef");
30
32
  const react_1 = __importStar(require("react"));
31
33
  const error_message_1 = require("../error-message");
32
34
  const icon_1 = require("../icon");
33
35
  const raster_image_1 = require("../raster-image");
34
- const forward_ref_1 = require("../utils/forward-ref");
35
- function AvatarFileInput(props, ref) {
36
+ exports.AvatarFileInput = (0, forwardRef_1.forwardRef)("AvatarFileInput", (props, ref) => {
36
37
  const innerRef = (0, react_1.useRef)(null);
37
38
  const input = (0, useInputFocus_1.useInputFocus)(innerRef, props.onBlur, props.onFocus);
38
39
  const errorId = props.invalid && props.id ? `${props.id}--errormessage` : undefined;
@@ -59,11 +60,10 @@ function AvatarFileInput(props, ref) {
59
60
  return (react_1.default.createElement("div", { className: `_form-field ${props.className || ""}`, style: props.style },
60
61
  react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-avatar-file-input", input.focused && classes_1.CLASSES.IS_FOCUSED, props.disabled && classes_1.CLASSES.IS_DISABLED, props.readOnly && classes_1.CLASSES.IS_READONLY, props.invalid && classes_1.CLASSES.IS_INVALID, props.value && "is-disabled:opacity-50") },
61
62
  react_1.default.createElement("label", { className: "sr-only", htmlFor: props.id }, props.label),
62
- react_1.default.createElement("div", { className: "rounded-inherit relative flex h-full w-full flex-col items-center justify-center" },
63
- react_1.default.createElement(icon_1.Icon, { Component: icon_1.CameraIcon, size: 36, className: "text-gray-800" }),
63
+ react_1.default.createElement("div", { className: "relative flex h-full w-full flex-col items-center justify-center rounded-inherit" },
64
+ react_1.default.createElement(icon_1.Icon, { name: "camera", size: 36, className: "text-gray-800" }),
64
65
  react_1.default.createElement("p", { className: "mt-1 text-xs text-gray-800" }, uploading ? "nahrávám..." : props.value ? "změnit foto" : "přidat foto")),
65
- !!props.value && (react_1.default.createElement(raster_image_1.RasterImage, { alt: "", className: (0, cx_1.cx)("rounded-inherit absolute left-0 top-0 block h-full w-full object-cover", uploading && "opacity-0"), height: 96, src: props.value, width: 96 })),
66
- react_1.default.createElement("input", { accept: "image/*", "aria-describedby": errorId, "aria-invalid": props.invalid, className: "input-reset rounded-inherit absolute left-0 top-0 h-full w-full cursor-pointer opacity-0", disabled: props.disabled, form: props.form, id: props.id, name: props.name, onBlur: input.onBlur, onChange: _onChange, onFocus: input.onFocus, readOnly: props.readOnly, ref: (0, composeRefs_1.composeRefs)(innerRef, ref), required: props.required, tabIndex: props.readOnly ? -1 : undefined, type: "file" })),
66
+ !!props.value && (react_1.default.createElement(raster_image_1.RasterImage, { alt: "", className: (0, cx_1.cx)("absolute left-0 top-0 block h-full w-full rounded-inherit object-cover", uploading && "opacity-0"), height: 96, src: props.value, width: 96 })),
67
+ react_1.default.createElement("input", { accept: "image/*", "aria-describedby": errorId, "aria-invalid": props.invalid, className: "input-reset absolute left-0 top-0 h-full w-full cursor-pointer rounded-inherit opacity-0", disabled: props.disabled, form: props.form, id: props.id, name: props.name, onBlur: input.onBlur, onChange: _onChange, onFocus: input.onFocus, readOnly: props.readOnly, ref: (0, composeRefs_1.composeRefs)(innerRef, ref), required: props.required, tabIndex: props.readOnly ? -1 : undefined, type: "file" })),
67
68
  props.invalid && props.error && react_1.default.createElement(error_message_1.ErrorMessage, { id: errorId }, props.error)));
68
- }
69
- exports.default = (0, forward_ref_1.forwardRef)("AvatarFileInput", AvatarFileInput);
69
+ });
@@ -1 +1 @@
1
- export { default as AvatarFileInput } from "./avatar-file-input";
1
+ export * from "./avatar-file-input";
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AvatarFileInput = void 0;
7
- var avatar_file_input_1 = require("./avatar-file-input");
8
- Object.defineProperty(exports, "AvatarFileInput", { enumerable: true, get: function () { return __importDefault(avatar_file_input_1).default; } });
17
+ __exportStar(require("./avatar-file-input"), exports);
@@ -4,11 +4,10 @@ import React, { AnchorHTMLAttributes } from "react";
4
4
  export declare type ButtonVariant = keyof ButtonVariants;
5
5
  export declare type ButtonSize = keyof ButtonSizes;
6
6
  export declare type ButtonColor = keyof ButtonColors;
7
- export interface ButtonProps extends AnchorHTMLAttributes<HTMLAnchorElement>, UseAnchorProps {
7
+ export interface ButtonProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "type">, UseAnchorProps {
8
8
  color?: ButtonColor;
9
9
  isFullWidth?: boolean;
10
10
  size?: ButtonSize;
11
11
  variant?: ButtonVariant;
12
12
  }
13
- declare const _default: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLAnchorElement>>;
14
- export default _default;
13
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLAnchorElement>>;
package/button/button.js CHANGED
@@ -3,20 +3,19 @@ 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.Button = void 0;
6
7
  const useAnchorProps_1 = require("@uxf/core/hooks/useAnchorProps");
7
8
  const cx_1 = require("@uxf/core/utils/cx");
8
9
  const react_1 = __importDefault(require("react"));
9
- const forward_ref_1 = require("../utils/forward-ref");
10
- function Button(props, ref) {
10
+ const forwardRef_1 = require("@uxf/core/utils/forwardRef");
11
+ exports.Button = (0, forwardRef_1.forwardRef)("Button", (props, ref) => {
11
12
  // eslint-disable-next-line react/destructuring-assignment
12
- const { color, isFullWidth, size, variant, ...restProps } = props;
13
- const className = (0, cx_1.cx)("uxf-button", `uxf-button--color-${color !== null && color !== void 0 ? color : "default"}`, `uxf-button--size-${size !== null && size !== void 0 ? size : "default"}`, `uxf-button--variant-${variant !== null && variant !== void 0 ? variant : "default"}`, isFullWidth && "uxf-button--full-width", props.className);
13
+ const { color, isFullWidth, size, variant, className, ...restProps } = props;
14
14
  const anchorProps = (0, useAnchorProps_1.useAnchorProps)({
15
15
  ...restProps,
16
- className,
16
+ className: (0, cx_1.cx)("uxf-button", `uxf-button--color-${color !== null && color !== void 0 ? color : "default"}`, `uxf-button--size-${size !== null && size !== void 0 ? size : "default"}`, `uxf-button--variant-${variant !== null && variant !== void 0 ? variant : "default"}`, isFullWidth && "uxf-button--full-width", className),
17
17
  });
18
18
  return (react_1.default.createElement("a", { ref: ref, ...anchorProps },
19
19
  typeof props.children === "string" ? (react_1.default.createElement("span", { className: "uxf-button__text" }, props.children)) : (props.children),
20
20
  react_1.default.createElement("div", { className: "loader" })));
21
- }
22
- exports.default = (0, forward_ref_1.forwardRef)("Button", Button);
21
+ });
@@ -33,7 +33,7 @@ exports.default = {
33
33
  };
34
34
  function Default() {
35
35
  const config = (0, storybook_config_1.useStorybookConfig)("Button");
36
- return (react_1.default.createElement("div", { className: "space-y-2" }, config.variants.map((variant) => (react_1.default.createElement(react_1.Fragment, { key: variant }, config.colors.map((color) => (react_1.default.createElement(react_1.Fragment, { key: color }, config.sizes.map((size) => (react_1.default.createElement("div", { key: `${size}${color}${variant}`, className: "pb-4" },
36
+ const allButtons = (react_1.default.createElement(react_1.default.Fragment, null, config.variants.map((variant) => (react_1.default.createElement(react_1.Fragment, { key: variant }, config.colors.map((color) => (react_1.default.createElement(react_1.Fragment, { key: color }, config.sizes.map((size) => (react_1.default.createElement("div", { key: `${size}${color}${variant}`, className: "pb-4" },
37
37
  react_1.default.createElement("div", { className: "mb-2 text-sm" },
38
38
  "Variant: ",
39
39
  react_1.default.createElement("span", { className: "font-semibold" }, variant),
@@ -44,9 +44,12 @@ function Default() {
44
44
  " ",
45
45
  react_1.default.createElement("span", { className: "font-semibold" }, size)),
46
46
  react_1.default.createElement("div", { className: "mb-2 flex flex-row gap-2" },
47
- react_1.default.createElement(button_1.Button, { variant: variant, color: color, size: size }, "Default"),
48
- react_1.default.createElement(button_1.Button, { variant: variant, color: color, size: size, loading: true }, "Loading"),
49
- react_1.default.createElement(button_1.Button, { variant: variant, color: color, size: size, disabled: true }, "Disabled")),
50
- react_1.default.createElement(button_1.Button, { variant: variant, color: color, size: size, isFullWidth: true }, "Full width"))))))))))));
47
+ react_1.default.createElement(button_1.Button, { color: color, onClick: () => void null, size: size, variant: variant }, "Default"),
48
+ react_1.default.createElement(button_1.Button, { color: color, loading: true, size: size, variant: variant }, "Loading"),
49
+ react_1.default.createElement(button_1.Button, { color: color, disabled: true, size: size, variant: variant }, "Disabled")),
50
+ react_1.default.createElement(button_1.Button, { color: color, isFullWidth: true, onClick: () => void null, size: size, variant: variant }, "Full width"))))))))))));
51
+ return (react_1.default.createElement("div", { className: "flex flex-col space-x-8 lg:flex-row" },
52
+ react_1.default.createElement("div", { className: "light space-y-2 rounded bg-white p-8" }, allButtons),
53
+ react_1.default.createElement("div", { className: "dark space-y-2 rounded bg-gray-900 p-8 text-white" }, allButtons)));
51
54
  }
52
55
  exports.Default = Default;
package/button/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- export { default as Button } from "@uxf/ui/button/button";
2
1
  export * from "@uxf/ui/button/button";
package/button/index.js CHANGED
@@ -13,11 +13,5 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
16
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Button = void 0;
21
- var button_1 = require("@uxf/ui/button/button");
22
- Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(button_1).default; } });
23
17
  __exportStar(require("@uxf/ui/button/button"), exports);
package/button/theme.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export interface ButtonVariants {
2
- outlined: true;
3
2
  default: true;
3
+ outlined: true;
4
+ text: true;
4
5
  }
5
6
  export interface ButtonSizes {
6
7
  xs: true;
@@ -1,12 +1,9 @@
1
- import { CSSProperties } from "react";
2
- interface Props {
1
+ import React, { CSSProperties } from "react";
2
+ import { FormControlProps } from "../types";
3
+ export interface CheckboxProps extends FormControlProps<boolean> {
3
4
  className?: string;
4
- checked: boolean;
5
- disabled?: boolean;
6
- intermediate?: boolean;
5
+ indeterminate?: boolean;
7
6
  label: string;
8
- onChange: (checked: boolean) => void;
9
7
  style?: Partial<CSSProperties>;
10
8
  }
11
- declare function Checkbox(props: Props): JSX.Element;
12
- export default Checkbox;
9
+ export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
@@ -3,21 +3,19 @@ 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.Checkbox = void 0;
6
7
  const react_1 = require("@headlessui/react");
7
8
  const react_2 = __importDefault(require("react"));
8
9
  const cx_1 = require("@uxf/core/utils/cx");
9
10
  const classes_1 = require("@uxf/core/constants/classes");
11
+ const forwardRef_1 = require("@uxf/core/utils/forwardRef");
10
12
  function CheckIcon() {
11
- return (react_2.default.createElement("svg", { viewBox: "0 0 448 512", style: { height: 24 } },
12
- react_2.default.createElement("path", { fill: "currentColor", d: "M211.8 339.8C200.9 350.7 183.1 350.7 172.2 339.8L108.2 275.8C97.27 264.9 97.27 247.1 108.2 236.2C119.1 225.3 136.9 225.3 147.8 236.2L192 280.4L300.2 172.2C311.1 161.3 328.9 161.3 339.8 172.2C350.7 183.1 350.7 200.9 339.8 211.8L211.8 339.8zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z" })));
13
+ return (react_2.default.createElement("svg", { fill: "none", viewBox: "0 0 16 16" },
14
+ react_2.default.createElement("path", { d: "M13.333 4 6 11.333 2.667 8", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" })));
13
15
  }
14
- function SquareIcon() {
15
- return (react_2.default.createElement("svg", { viewBox: "0 0 448 512", style: { height: 24 } },
16
- react_2.default.createElement("path", { fill: "currentColor", d: "M384 32C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H384zM384 80H64C55.16 80 48 87.16 48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80z" })));
17
- }
18
- function Checkbox(props) {
19
- return (react_2.default.createElement(react_1.Switch, { checked: props.checked, className: (0, cx_1.cx)(props.checked && classes_1.CLASSES.IS_SELECTED, props.disabled && classes_1.CLASSES.IS_DISABLED, "uxf-checkbox", props.className), disabled: props.disabled, onChange: props.onChange, style: props.style },
16
+ exports.Checkbox = (0, forwardRef_1.forwardRef)("Checkbox", (props, ref) => {
17
+ return (react_2.default.createElement(react_1.Switch, { checked: props.value, className: (0, cx_1.cx)(props.value && classes_1.CLASSES.IS_SELECTED, props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, "uxf-checkbox", props.className), disabled: props.isDisabled, onChange: props.onChange, style: props.style, ref: ref },
20
18
  react_2.default.createElement("span", { className: "uxf-checkbox__label" }, props.label),
21
- props.checked ? react_2.default.createElement(CheckIcon, null) : react_2.default.createElement(SquareIcon, null)));
22
- }
23
- exports.default = Checkbox;
19
+ props.value && (react_2.default.createElement("span", { className: "uxf-checkbox__icon" },
20
+ react_2.default.createElement(CheckIcon, null)))));
21
+ });
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
- import { Checkbox } from "./index";
1
+ import React from "react";
3
2
  declare const _default: {
4
3
  title: string;
5
- component: typeof Checkbox;
4
+ component: React.ForwardRefExoticComponent<import("./checkbox").CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
6
5
  };
7
6
  export default _default;
8
7
  export declare function Default(): JSX.Element;
@@ -32,9 +32,26 @@ exports.default = {
32
32
  };
33
33
  function Default() {
34
34
  const [checked, setChecked] = (0, react_1.useState)(true);
35
- return (react_1.default.createElement("div", { className: "space-y-2" },
36
- react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", onChange: () => {
37
- setChecked(!checked);
38
- }, checked: checked })));
35
+ return (react_1.default.createElement("div", { className: "flex" },
36
+ react_1.default.createElement("div", { className: "light flex gap-4 p-20" },
37
+ react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", onChange: () => {
38
+ setChecked((prev) => !prev);
39
+ }, value: checked }),
40
+ react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", isDisabled: true, onChange: () => {
41
+ setChecked((prev) => !prev);
42
+ }, value: checked }),
43
+ react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", isInvalid: true, onChange: () => {
44
+ setChecked((prev) => !prev);
45
+ }, value: checked })),
46
+ react_1.default.createElement("div", { className: "dark flex gap-4 bg-gray-900 p-20" },
47
+ react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", onChange: () => {
48
+ setChecked((prev) => !prev);
49
+ }, value: checked }),
50
+ react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", isDisabled: true, onChange: () => {
51
+ setChecked((prev) => !prev);
52
+ }, value: checked }),
53
+ react_1.default.createElement(index_1.Checkbox, { label: "Opravdu?", isInvalid: true, onChange: () => {
54
+ setChecked((prev) => !prev);
55
+ }, value: checked }))));
39
56
  }
40
57
  exports.Default = Default;
@@ -1 +1 @@
1
- export { default as Checkbox } from "./checkbox";
1
+ export * from "./checkbox";
package/checkbox/index.js CHANGED
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Checkbox = void 0;
7
- var checkbox_1 = require("./checkbox");
8
- Object.defineProperty(exports, "Checkbox", { enumerable: true, get: function () { return __importDefault(checkbox_1).default; } });
17
+ __exportStar(require("./checkbox"), exports);
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
- declare function CheckboxInput(): JSX.Element;
3
- export default CheckboxInput;
1
+ import { FC } from "react";
2
+ export declare const CheckboxInput: FC;
@@ -3,8 +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.CheckboxInput = void 0;
6
7
  const react_1 = __importDefault(require("react"));
7
- function CheckboxInput() {
8
+ const CheckboxInput = () => {
8
9
  return react_1.default.createElement("div", { className: "uxf-checkbox-input" }, "xx");
9
- }
10
- exports.default = CheckboxInput;
10
+ };
11
+ exports.CheckboxInput = CheckboxInput;
12
+ exports.CheckboxInput.displayName = "CheckboxInput";
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
- import { CheckboxInput } from "./index";
1
+ import React from "react";
3
2
  declare const _default: {
4
3
  title: string;
5
- component: typeof CheckboxInput;
4
+ component: React.FC<{}>;
6
5
  };
7
6
  export default _default;
8
7
  export declare function Default(): JSX.Element;
@@ -1 +1 @@
1
- export { default as CheckboxInput } from "./checkbox-input";
1
+ export * from "./checkbox-input";
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CheckboxInput = void 0;
7
- var checkbox_input_1 = require("./checkbox-input");
8
- Object.defineProperty(exports, "CheckboxInput", { enumerable: true, get: function () { return __importDefault(checkbox_input_1).default; } });
17
+ __exportStar(require("./checkbox-input"), exports);
package/chip/chip.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import React, { HTMLAttributes } from "react";
2
+ import { ChipColors } from "@uxf/ui/chip/theme";
3
+ export declare type ChipColor = keyof ChipColors;
4
+ export interface ChipProps extends HTMLAttributes<HTMLDivElement> {
5
+ color?: ChipColor;
6
+ }
7
+ export declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLDivElement>>;
package/chip/chip.js ADDED
@@ -0,0 +1,14 @@
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.Chip = void 0;
7
+ const cx_1 = require("@uxf/core/utils/cx");
8
+ const react_1 = __importDefault(require("react"));
9
+ const forwardRef_1 = require("@uxf/core/utils/forwardRef");
10
+ exports.Chip = (0, forwardRef_1.forwardRef)("Chip", (props, ref) => {
11
+ var _a;
12
+ const chipClassName = (0, cx_1.cx)("uxf-chip", `uxf-chip--color-${(_a = props.color) !== null && _a !== void 0 ? _a : "success"}`, props.className);
13
+ return (react_1.default.createElement("div", { ref: ref, className: chipClassName }, typeof props.children === "string" ? (react_1.default.createElement("span", { className: "uxf-chip__text" }, props.children)) : (props.children)));
14
+ });
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ForwardRefExoticComponent<import("./chip").ChipProps & React.RefAttributes<HTMLDivElement>>;
5
+ };
6
+ export default _default;
7
+ export declare function Default(): JSX.Element;
@@ -0,0 +1,22 @@
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 chip_1 = require("@uxf/ui/chip");
9
+ exports.default = {
10
+ title: "UI/Chip",
11
+ component: chip_1.Chip,
12
+ };
13
+ function Default() {
14
+ const allChips = (react_1.default.createElement(react_1.default.Fragment, null,
15
+ react_1.default.createElement(chip_1.Chip, { color: "success" }, "Success"),
16
+ react_1.default.createElement(chip_1.Chip, { color: "warning" }, "Warning"),
17
+ react_1.default.createElement(chip_1.Chip, { color: "error" }, "Error")));
18
+ return (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
19
+ react_1.default.createElement("div", { className: "light space-x-4 rounded bg-white p-8" }, allChips),
20
+ react_1.default.createElement("div", { className: "dark space-x-4 rounded bg-gray-900 p-8 text-white" }, allChips)));
21
+ }
22
+ exports.Default = Default;
@@ -0,0 +1 @@
1
+ export { Chip } from "./chip";
package/chip/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chip = void 0;
4
+ var chip_1 = require("./chip");
5
+ Object.defineProperty(exports, "Chip", { enumerable: true, get: function () { return chip_1.Chip; } });
@@ -0,0 +1,5 @@
1
+ export interface ChipColors {
2
+ success: true;
3
+ warning: true;
4
+ error: true;
5
+ }
package/chip/theme.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ import React, { CSSProperties } from "react";
2
+ import { FormControlProps } from "../types";
3
+ import { HexCodeString } from "./color-radio";
4
+ export declare type ColorRadioGroupOptionValue = HexCodeString;
5
+ export interface ColorRadioGroupOption {
6
+ label: string;
7
+ value: ColorRadioGroupOptionValue;
8
+ }
9
+ export interface ColorRadioGroupProps extends FormControlProps<ColorRadioGroupOptionValue | null> {
10
+ className?: string;
11
+ hiddenLabel?: boolean;
12
+ id: string;
13
+ label: string;
14
+ options: ColorRadioGroupOption[];
15
+ style?: CSSProperties;
16
+ }
17
+ export declare const ColorRadioGroup: React.ForwardRefExoticComponent<ColorRadioGroupProps & React.RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ColorRadioGroup = void 0;
27
+ const react_1 = require("@headlessui/react");
28
+ const react_2 = __importStar(require("react"));
29
+ const use_input_submit_1 = require("../hooks/use-input-submit");
30
+ const label_1 = require("../label");
31
+ const cx_1 = require("@uxf/core/utils/cx");
32
+ const classes_1 = require("@uxf/core/constants/classes");
33
+ const forwardRef_1 = require("@uxf/core/utils/forwardRef");
34
+ const color_radio_1 = require("./color-radio");
35
+ exports.ColorRadioGroup = (0, forwardRef_1.forwardRef)("ColorRadioGroup", (props, ref) => {
36
+ // eslint-disable-next-line react/destructuring-assignment
37
+ const { className, hiddenLabel, id, isDisabled, label, onChange, options, style, value } = props;
38
+ const innerRef = (0, react_2.useRef)(null);
39
+ (0, use_input_submit_1.useInputSubmit)(innerRef, "radio-group", isDisabled);
40
+ const rootClassName = (0, cx_1.cx)("uxf-color-radio-group-group", className);
41
+ return (react_2.default.createElement(react_1.RadioGroup, { className: rootClassName, id: id, onChange: onChange, style: style, value: value },
42
+ react_2.default.createElement(react_1.RadioGroup.Label, { as: label_1.Label, className: `uxf-color-radio-group__label ${hiddenLabel ? "uxf-color-radio-group-group__label--hidden" : ""}`, ref: ref }, label),
43
+ react_2.default.createElement("div", { className: "uxf-color-radio-group__options-wrapper" }, options.map((option) => {
44
+ const optionStyle = { "--option-color": option.value };
45
+ return (react_2.default.createElement(react_1.RadioGroup.Option, { className: (0, cx_1.cx)("uxf-color-radio-group__option", props.isDisabled && classes_1.CLASSES.IS_DISABLED), key: option.value.toString(), value: option.value, style: optionStyle }, (o) => (react_2.default.createElement(color_radio_1.ColorRadio, { isDisabled: isDisabled || o.disabled, colorLabel: option.label, color: option.value, ref: o.checked ? innerRef : undefined, value: o.checked }))));
46
+ }))));
47
+ });
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ForwardRefExoticComponent<import("./color-radio-group").ColorRadioGroupProps & React.RefAttributes<HTMLLabelElement>>;
5
+ };
6
+ export default _default;
7
+ export declare function Default(): JSX.Element;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Default = void 0;
27
+ const index_1 = require("./index");
28
+ const react_1 = __importStar(require("react"));
29
+ exports.default = {
30
+ title: "UI/ColorRadioGroup",
31
+ component: index_1.ColorRadioGroup,
32
+ };
33
+ const options = [
34
+ {
35
+ value: "#ff0000",
36
+ label: "Red",
37
+ },
38
+ {
39
+ value: "#00ff00",
40
+ label: "Green",
41
+ },
42
+ {
43
+ value: "#ff00ff",
44
+ label: "Purple",
45
+ },
46
+ {
47
+ value: "#000000",
48
+ label: "Red",
49
+ },
50
+ {
51
+ value: "#ffff00",
52
+ label: "Green",
53
+ },
54
+ {
55
+ value: "#00ffff",
56
+ label: "Purple",
57
+ },
58
+ {
59
+ value: "#cccccc",
60
+ label: "Red",
61
+ },
62
+ {
63
+ value: "#3b1298",
64
+ label: "Green",
65
+ },
66
+ {
67
+ value: "#0000ff",
68
+ label: "Purple",
69
+ },
70
+ ];
71
+ function Default() {
72
+ const [value, setValue] = (0, react_1.useState)(options[0].value);
73
+ return (react_1.default.createElement("div", { className: "flex" },
74
+ react_1.default.createElement("div", { className: "light w-1/2 p-20" },
75
+ react_1.default.createElement(index_1.ColorRadioGroup, { id: "radiogroup", label: "Light Color Radio group", onChange: (v) => setValue(v), options: options, value: value })),
76
+ react_1.default.createElement("div", { className: "dark w-1/2 bg-gray-900 p-20" },
77
+ react_1.default.createElement(index_1.ColorRadioGroup, { id: "radiogroup", label: "Dark Color Radio group", onChange: (v) => setValue(v), options: options, value: value }))));
78
+ }
79
+ exports.Default = Default;