reactive-bulma 1.14.0 → 1.16.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +22 -17
- package/dist/cjs/index.js +65 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/atoms/Input/index.d.ts +4 -0
- package/dist/cjs/types/components/atoms/TextArea/index.d.ts +4 -0
- package/dist/cjs/types/components/atoms/index.d.ts +2 -0
- package/dist/cjs/types/interfaces/atomProps.d.ts +25 -6
- package/dist/cjs/types/types/domTypes.d.ts +1 -0
- package/dist/cjs/types/types/styleTypes.d.ts +2 -2
- package/dist/esm/index.js +64 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/atoms/Input/index.d.ts +4 -0
- package/dist/esm/types/components/atoms/TextArea/index.d.ts +4 -0
- package/dist/esm/types/components/atoms/index.d.ts +2 -0
- package/dist/esm/types/interfaces/atomProps.d.ts +25 -6
- package/dist/esm/types/types/domTypes.d.ts +1 -0
- package/dist/esm/types/types/styleTypes.d.ts +2 -2
- package/dist/index.d.ts +32 -8
- package/package.json +27 -26
@@ -1,5 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { basicColorType, columnOffsetType, columnSizeType, fixedImageSizeType, iconColorModeType,
|
2
|
+
import { basicColorType, columnOffsetType, columnSizeType, fixedImageSizeType, iconColorModeType, basicSizeType, textColorType, titleSizeType } from '../types/styleTypes';
|
3
|
+
import { inputTypes } from '../types/domTypes';
|
3
4
|
interface BasicProps {
|
4
5
|
testId?: string;
|
5
6
|
style?: React.CSSProperties;
|
@@ -20,7 +21,7 @@ export interface ButtonProps extends BasicProps, React.ComponentPropsWithoutRef<
|
|
20
21
|
isLoading?: boolean;
|
21
22
|
isDisabled?: boolean;
|
22
23
|
isStatic?: boolean;
|
23
|
-
size?:
|
24
|
+
size?: basicSizeType;
|
24
25
|
onClick?: () => void;
|
25
26
|
}
|
26
27
|
export interface ProgressBarProps extends BasicProps, React.ComponentPropsWithoutRef<'progress'> {
|
@@ -28,7 +29,7 @@ export interface ProgressBarProps extends BasicProps, React.ComponentPropsWithou
|
|
28
29
|
max?: number;
|
29
30
|
style?: React.CSSProperties;
|
30
31
|
color?: basicColorType;
|
31
|
-
size?:
|
32
|
+
size?: basicSizeType;
|
32
33
|
isLoading?: boolean;
|
33
34
|
}
|
34
35
|
export interface BlockProps extends BasicProps, React.ComponentPropsWithoutRef<'section'> {
|
@@ -39,7 +40,7 @@ export interface TagProps extends BasicProps, React.ComponentPropsWithoutRef<'sp
|
|
39
40
|
color?: basicColorType;
|
40
41
|
isLight?: boolean;
|
41
42
|
isRounded?: boolean;
|
42
|
-
size?: Exclude<
|
43
|
+
size?: Exclude<basicSizeType, 'is-normal'>;
|
43
44
|
withDelete?: boolean;
|
44
45
|
withAddon?: boolean;
|
45
46
|
addonText?: string;
|
@@ -55,7 +56,7 @@ export interface BoxProps extends BasicProps, React.ComponentPropsWithoutRef<'se
|
|
55
56
|
}
|
56
57
|
export interface TitleSectionProps extends BasicProps, React.ComponentPropsWithoutRef<'p'> {
|
57
58
|
text: string;
|
58
|
-
size?:
|
59
|
+
size?: titleSizeType;
|
59
60
|
prop: 'title' | 'subtitle';
|
60
61
|
isSpaced?: boolean;
|
61
62
|
}
|
@@ -67,8 +68,26 @@ export interface IconProps extends BasicProps {
|
|
67
68
|
iconLabel: string;
|
68
69
|
text?: string;
|
69
70
|
color?: textColorType;
|
70
|
-
size?: Exclude<
|
71
|
+
size?: Exclude<basicSizeType, 'is-normal'>;
|
71
72
|
colorMode?: iconColorModeType;
|
72
73
|
isSpinning?: boolean;
|
73
74
|
}
|
75
|
+
export interface InputProps extends BasicProps {
|
76
|
+
type: inputTypes;
|
77
|
+
text?: string;
|
78
|
+
isDisabled?: boolean;
|
79
|
+
isReadonly?: boolean;
|
80
|
+
color?: basicColorType;
|
81
|
+
size?: basicSizeType;
|
82
|
+
isRounded?: boolean;
|
83
|
+
isHovered?: boolean;
|
84
|
+
isFocused?: boolean;
|
85
|
+
onClick?: () => void;
|
86
|
+
onChange?: () => void;
|
87
|
+
}
|
88
|
+
export interface TextAreaProps extends Omit<InputProps, 'isRounded' | 'type'> {
|
89
|
+
cols?: number;
|
90
|
+
rows?: number;
|
91
|
+
isFixedSize?: boolean;
|
92
|
+
}
|
74
93
|
export {};
|
@@ -1,8 +1,8 @@
|
|
1
1
|
export type columnSizeType = 'is-three-quarters' | 'is-two-thirds' | 'is-half' | 'is-one-third' | 'is-one-quarter' | 'is-full' | 'is-four-fifths' | 'is-three-fifths' | 'is-two-fifths' | 'is-one-fifth' | 'is-1' | 'is-2' | 'is-3' | 'is-4' | 'is-5' | 'is-6' | 'is-7' | 'is-8' | 'is-9' | 'is-10' | 'is-11' | 'is-12';
|
2
|
-
export type
|
2
|
+
export type titleSizeType = 'is-1' | 'is-2' | 'is-3' | 'is-4' | 'is-5' | 'is-6';
|
3
3
|
export type columnOffsetType = 'is-offset-1' | 'is-offset-2' | 'is-offset-3' | 'is-offset-4' | 'is-offset-5' | 'is-offset-6' | 'is-offset-7' | 'is-offset-8' | 'is-offset-9' | 'is-offset-10' | 'is-offset-11' | 'is-offset-12';
|
4
4
|
export type basicColorType = 'is-white' | 'is-light' | 'is-dark' | 'is-black' | 'is-text' | 'is-ghost' | 'is-primary' | 'is-link' | 'is-info' | 'is-success' | 'is-warning' | 'is-danger';
|
5
5
|
export type textColorType = 'has-text-white' | 'has-text-black' | 'has-text-light' | 'has-text-dark' | 'has-text-primary' | 'has-text-link' | 'has-text-info' | 'has-text-success' | 'has-text-warning' | 'has-text-danger';
|
6
6
|
export type fixedImageSizeType = 'is-16x16' | 'is-24x24' | 'is-32x32' | 'is-48x48' | 'is-64x64' | 'is-96x96' | 'is-128x128' | 'is-square' | 'is-1by1' | 'is-5by4' | 'is-4by3' | 'is-3by2' | 'is-5by3' | 'is-16by9' | 'is-2by1' | 'is-3by1' | 'is-4by5' | 'is-3by4' | 'is-2by3' | 'is-3by5' | 'is-9by16' | 'is-1by2' | 'is-1by3';
|
7
|
-
export type
|
7
|
+
export type basicSizeType = 'is-small' | 'is-normal' | 'is-medium' | 'is-large';
|
8
8
|
export type iconColorModeType = 'light' | 'dark';
|
package/dist/esm/index.js
CHANGED
@@ -2884,7 +2884,7 @@ const Column = ({ testId = null, style = null, size = null, offset = null, isNar
|
|
2884
2884
|
isNarrow ? 'is-narrow' : null
|
2885
2885
|
]);
|
2886
2886
|
const _testId = testId !== null && testId !== void 0 ? testId : parseTestId({ tag: 'column', parsedClasses: columnClasses });
|
2887
|
-
return (React.createElement("section", { "data-testid": _testId, className: columnClasses, style: style
|
2887
|
+
return (React.createElement("section", { "data-testid": _testId, className: columnClasses, style: style !== null && style !== void 0 ? style : undefined }, children));
|
2888
2888
|
};
|
2889
2889
|
|
2890
2890
|
const ProgressBar = ({ value = 0, max = 100, testId = null, style = null, color = 'is-primary', size = null, isLoading = false }) => {
|
@@ -2897,7 +2897,7 @@ const ProgressBar = ({ value = 0, max = 100, testId = null, style = null, color
|
|
2897
2897
|
return (React.createElement("progress", { "data-testid": _testId, className: progressClasses, style: style !== null && style !== void 0 ? style : undefined, value: isLoading ? undefined : value, max: max }, `${isLoading ? 0 : fixedValue}%`));
|
2898
2898
|
};
|
2899
2899
|
|
2900
|
-
const Block = ({ testId = 'test-block', style = null, children = null }) => children ? (React.createElement("section", { "data-testid": testId, className: 'block', style: style
|
2900
|
+
const Block = ({ testId = 'test-block', style = null, children = null }) => children ? (React.createElement("section", { "data-testid": testId, className: 'block', style: style !== null && style !== void 0 ? style : undefined }, children)) : null;
|
2901
2901
|
|
2902
2902
|
const Tag = ({ text, testId = null, style = null, color = null, isLight = null, isRounded = null, size = null, withDelete = false, withAddon = false, addonText = null, addonColor = null, onDeleteClick = null }) => {
|
2903
2903
|
const tagLabel = withAddon ? 'tags' : 'tag';
|
@@ -2919,14 +2919,14 @@ const Tag = ({ text, testId = null, style = null, color = null, isLight = null,
|
|
2919
2919
|
parsedClasses: withAddon ? tagsWrapperClasses : tagClasses,
|
2920
2920
|
separator: withAddon ? '-' : ''
|
2921
2921
|
});
|
2922
|
-
return withAddon ? (React.createElement("section", { "data-testid": _testId, style: style
|
2922
|
+
return withAddon ? (React.createElement("section", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: tagsWrapperClasses },
|
2923
2923
|
React.createElement("span", { className: tagClasses }, text),
|
2924
|
-
withDelete ? (React.createElement("a", { "data-testid": `${_testId}-delete`, className: 'tag is-delete', onClick: onDeleteClick || undefined })) : (React.createElement("span", { className: addonTagClasses }, addonText)))) : (React.createElement("span", { "data-testid": _testId, style: style
|
2924
|
+
withDelete ? (React.createElement("a", { "data-testid": `${_testId}-delete`, className: 'tag is-delete', onClick: onDeleteClick || undefined })) : (React.createElement("span", { className: addonTagClasses }, addonText)))) : (React.createElement("span", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: tagClasses },
|
2925
2925
|
text,
|
2926
2926
|
withDelete ? (React.createElement("button", { "data-testid": `${_testId}-delete`, className: 'delete', onClick: onDeleteClick || undefined })) : null));
|
2927
2927
|
};
|
2928
2928
|
|
2929
|
-
const Box = ({ testId = 'test-box', style = null, children = null }) => children ? (React.createElement("section", { "data-testid": testId, className: 'box', style: style
|
2929
|
+
const Box = ({ testId = 'test-box', style = null, children = null }) => children ? (React.createElement("section", { "data-testid": testId, className: 'box', style: style !== null && style !== void 0 ? style : undefined }, children)) : null;
|
2930
2930
|
|
2931
2931
|
const renderTitleSection = (section) => {
|
2932
2932
|
var _a, _b;
|
@@ -2948,7 +2948,21 @@ var IconSizeEnum;
|
|
2948
2948
|
IconSizeEnum[IconSizeEnum["is-large"] = 48] = "is-large";
|
2949
2949
|
})(IconSizeEnum || (IconSizeEnum = {}));
|
2950
2950
|
|
2951
|
-
const generateIconContainer = (icon, color) =>
|
2951
|
+
const generateIconContainer = (icon, color) => {
|
2952
|
+
var _a;
|
2953
|
+
const containerClasses = color ? `icon-text-${color}` : 'icon-text';
|
2954
|
+
const containerTestId = parseTestId({
|
2955
|
+
tag: 'icon-container',
|
2956
|
+
parsedClasses: (_a = color === null || color === void 0 ? void 0 : color.toString()) !== null && _a !== void 0 ? _a : '',
|
2957
|
+
rules: [
|
2958
|
+
{
|
2959
|
+
usedRegExp: /has-text/gm,
|
2960
|
+
regExpReplacer: ''
|
2961
|
+
}
|
2962
|
+
]
|
2963
|
+
});
|
2964
|
+
return (React.createElement("span", { "data-testid": containerTestId, className: containerClasses }, icon));
|
2965
|
+
};
|
2952
2966
|
const Icon = ({ iconLabel, testId = null, text = null, style = null, color = null, size = null, colorMode = null, isSpinning = false }) => {
|
2953
2967
|
const iconSpanClasses = parseClasses(['icon', color, size]);
|
2954
2968
|
const iconClasses = parseClasses([
|
@@ -2974,11 +2988,53 @@ const Icon = ({ iconLabel, testId = null, text = null, style = null, color = nul
|
|
2974
2988
|
separator: '-'
|
2975
2989
|
});
|
2976
2990
|
const _internalTestId = `${_testId}-i`;
|
2977
|
-
const iconComponent = (React.createElement("span", { "data-testid": _testId, style: style
|
2991
|
+
const iconComponent = (React.createElement("span", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: iconSpanClasses },
|
2978
2992
|
React.createElement("i", { "data-testid": _internalTestId, className: iconClasses }),
|
2979
2993
|
text ? React.createElement("span", null, text) : null));
|
2980
2994
|
return text ? generateIconContainer(iconComponent, color) : iconComponent;
|
2981
2995
|
};
|
2982
2996
|
|
2983
|
-
|
2997
|
+
const Input = ({ testId = null, type, text = null, isDisabled = false, isReadonly = false, style = null, color = null, size = null, isRounded = null, isHovered = null, isFocused = null, onClick = null, onChange = null }) => {
|
2998
|
+
const inputClasses = parseClasses([
|
2999
|
+
'input',
|
3000
|
+
color,
|
3001
|
+
size,
|
3002
|
+
isRounded ? 'is-rounded' : null,
|
3003
|
+
isHovered ? 'is-hovered' : null,
|
3004
|
+
isFocused ? 'is-focused' : null
|
3005
|
+
]);
|
3006
|
+
const _testId = testId !== null && testId !== void 0 ? testId : parseTestId({
|
3007
|
+
tag: 'input',
|
3008
|
+
parsedClasses: inputClasses
|
3009
|
+
});
|
3010
|
+
return (React.createElement("input", { "data-testid": _testId, type: type, defaultValue: text !== null && text !== void 0 ? text : undefined, disabled: isDisabled, readOnly: isReadonly, style: style !== null && style !== void 0 ? style : undefined, className: inputClasses, onClick: onClick !== null && onClick !== void 0 ? onClick : undefined, onChange: onChange !== null && onChange !== void 0 ? onChange : undefined }));
|
3011
|
+
};
|
3012
|
+
|
3013
|
+
const TextArea = ({ testId = null, text = null, cols = null, rows = null, isDisabled = false, isReadonly = false, isFixedSize = false, style = null, color = null, size = null, isHovered = null, isFocused = null, onClick = null, onChange = null }) => {
|
3014
|
+
const textAreaClasses = parseClasses([
|
3015
|
+
'textarea',
|
3016
|
+
color,
|
3017
|
+
size,
|
3018
|
+
isHovered ? 'is-hovered' : null,
|
3019
|
+
isFocused ? 'is-focused' : null,
|
3020
|
+
isFixedSize ? 'has-fixed-size' : null
|
3021
|
+
]);
|
3022
|
+
const _testId = testId !== null && testId !== void 0 ? testId : parseTestId({
|
3023
|
+
tag: 'textarea',
|
3024
|
+
parsedClasses: textAreaClasses,
|
3025
|
+
rules: [
|
3026
|
+
{
|
3027
|
+
usedRegExp: /textarea/gm,
|
3028
|
+
regExpReplacer: ''
|
3029
|
+
},
|
3030
|
+
{
|
3031
|
+
usedRegExp: /is-|has-/gm,
|
3032
|
+
regExpReplacer: '-'
|
3033
|
+
}
|
3034
|
+
]
|
3035
|
+
});
|
3036
|
+
return (React.createElement("textarea", { "data-testid": _testId, defaultValue: text !== null && text !== void 0 ? text : undefined, cols: cols !== null && cols !== void 0 ? cols : undefined, rows: rows !== null && rows !== void 0 ? rows : undefined, disabled: isDisabled, readOnly: isReadonly, style: style !== null && style !== void 0 ? style : undefined, className: textAreaClasses, onClick: onClick !== null && onClick !== void 0 ? onClick : undefined, onChange: onChange !== null && onChange !== void 0 ? onChange : undefined }));
|
3037
|
+
};
|
3038
|
+
|
3039
|
+
export { Block, Box, Button, Column, Icon, Input, ProgressBar, Tag, TextArea, Title };
|
2984
3040
|
//# sourceMappingURL=index.js.map
|