@bodynarf/react.components 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/components → components}/accordion/component/index.d.ts +7 -4
- package/components/accordion/component/index.d.ts.map +1 -0
- package/components/accordion/component/index.js +35 -0
- package/components/accordion/index.d.ts +3 -0
- package/components/accordion/index.d.ts.map +1 -0
- package/{dist/components/anchor/index.d.ts → components/accordion/index.js} +2 -2
- package/{dist/components → components}/accordion/types.d.ts +18 -16
- package/components/accordion/types.d.ts.map +1 -0
- package/components/accordion/types.js +1 -0
- package/components/anchor/component/index.d.ts +6 -0
- package/components/anchor/component/index.d.ts.map +1 -0
- package/components/anchor/component/index.js +20 -0
- package/{dist/components → components}/anchor/components/anchorWithIcon/index.d.ts +5 -3
- package/components/anchor/components/anchorWithIcon/index.d.ts.map +1 -0
- package/components/anchor/components/anchorWithIcon/index.js +16 -0
- package/{dist/components → components}/anchor/components/simpleAnchor/index.d.ts +5 -3
- package/components/anchor/components/simpleAnchor/index.d.ts.map +1 -0
- package/components/anchor/components/simpleAnchor/index.js +5 -0
- package/components/anchor/index.d.ts +3 -0
- package/components/anchor/index.d.ts.map +1 -0
- package/{dist/components/button/index.d.ts → components/anchor/index.js} +2 -2
- package/{dist/components → components}/anchor/types.d.ts +39 -38
- package/components/anchor/types.d.ts.map +1 -0
- package/components/anchor/types.js +1 -0
- package/{dist/components → components}/button/component/index.d.ts +9 -6
- package/components/button/component/index.d.ts.map +1 -0
- package/components/button/component/index.js +36 -0
- package/{dist/components → components}/button/components/buttonWithIcon/index.d.ts +5 -3
- package/components/button/components/buttonWithIcon/index.d.ts.map +1 -0
- package/components/button/components/buttonWithIcon/index.js +19 -0
- package/{dist/components → components}/button/components/simpleButton/index.d.ts +5 -3
- package/components/button/components/simpleButton/index.d.ts.map +1 -0
- package/components/button/components/simpleButton/index.js +5 -0
- package/components/button/index.d.ts +3 -0
- package/components/button/index.d.ts.map +1 -0
- package/{dist/components/dropdown/index.d.ts → components/button/index.js} +2 -2
- package/{dist/components → components}/button/types.d.ts +37 -36
- package/components/button/types.d.ts.map +1 -0
- package/components/button/types.js +4 -0
- package/components/dropdown/component/index.d.ts +7 -0
- package/components/dropdown/component/index.d.ts.map +1 -0
- package/components/dropdown/component/index.js +15 -0
- package/{dist/components → components}/dropdown/components/compact/index.d.ts +5 -3
- package/components/dropdown/components/compact/index.d.ts.map +1 -0
- package/components/dropdown/components/compact/index.js +62 -0
- package/{dist/components → components}/dropdown/components/item/index.d.ts +15 -13
- package/components/dropdown/components/item/index.d.ts.map +1 -0
- package/components/dropdown/components/item/index.js +6 -0
- package/{dist/components → components}/dropdown/components/label/index.d.ts +18 -17
- package/components/dropdown/components/label/index.d.ts.map +1 -0
- package/components/dropdown/components/label/index.js +22 -0
- package/{dist/components → components}/dropdown/components/withLabel/index.d.ts +5 -3
- package/components/dropdown/components/withLabel/index.d.ts.map +1 -0
- package/components/dropdown/components/withLabel/index.js +83 -0
- package/components/dropdown/index.d.ts +3 -0
- package/components/dropdown/index.d.ts.map +1 -0
- package/{dist/components/accordion/index.d.ts → components/dropdown/index.js} +2 -2
- package/{dist/components → components}/dropdown/types.d.ts +46 -45
- package/components/dropdown/types.d.ts.map +1 -0
- package/components/dropdown/types.js +1 -0
- package/components/icon/component/index.d.ts +8 -0
- package/components/icon/component/index.d.ts.map +1 -0
- package/components/icon/component/index.js +23 -0
- package/components/icon/index.d.ts +3 -0
- package/components/icon/index.d.ts.map +1 -0
- package/components/icon/index.js +2 -0
- package/{dist/components → components}/icon/types.d.ts +16 -15
- package/components/icon/types.d.ts.map +1 -0
- package/components/icon/types.js +1 -0
- package/components/index.d.ts +12 -0
- package/components/index.d.ts.map +1 -0
- package/{dist/components/index.d.ts → components/index.js} +11 -11
- package/{dist/components → components}/paginator/component/index.d.ts +8 -6
- package/components/paginator/component/index.d.ts.map +1 -0
- package/components/paginator/component/index.js +47 -0
- package/components/paginator/index.d.ts +4 -0
- package/components/paginator/index.d.ts.map +1 -0
- package/{dist/components/paginator/index.d.ts → components/paginator/index.js} +3 -3
- package/{dist/components → components}/paginator/types.d.ts +28 -27
- package/components/paginator/types.d.ts.map +1 -0
- package/components/paginator/types.js +1 -0
- package/{dist/components → components}/paginator/utils.d.ts +10 -9
- package/components/paginator/utils.d.ts.map +1 -0
- package/components/paginator/utils.js +18 -0
- package/{dist/components → components}/primitives/checkbox/component/index.d.ts +7 -4
- package/components/primitives/checkbox/component/index.d.ts.map +1 -0
- package/components/primitives/checkbox/component/index.js +37 -0
- package/components/primitives/checkbox/index.d.ts +3 -0
- package/components/primitives/checkbox/index.d.ts.map +1 -0
- package/components/primitives/checkbox/index.js +2 -0
- package/{dist/components → components}/primitives/checkbox/types.d.ts +25 -24
- package/components/primitives/checkbox/types.d.ts.map +1 -0
- package/components/primitives/checkbox/types.js +1 -0
- package/{dist/components → components}/primitives/date/component/index.d.ts +7 -4
- package/components/primitives/date/component/index.d.ts.map +1 -0
- package/components/primitives/date/component/index.js +48 -0
- package/components/primitives/date/index.d.ts +3 -0
- package/components/primitives/date/index.d.ts.map +1 -0
- package/components/primitives/date/index.js +2 -0
- package/{dist/components → components}/primitives/date/types.d.ts +9 -8
- package/components/primitives/date/types.d.ts.map +1 -0
- package/components/primitives/date/types.js +1 -0
- package/components/primitives/index.d.ts +8 -0
- package/components/primitives/index.d.ts.map +1 -0
- package/{dist/components/primitives/index.d.ts → components/primitives/index.js} +7 -7
- package/components/primitives/multiline/component/index.d.ts +7 -0
- package/components/primitives/multiline/component/index.d.ts.map +1 -0
- package/components/primitives/multiline/component/index.js +15 -0
- package/{dist/components → components}/primitives/multiline/components/multilineWithLabel/index.d.ts +6 -4
- package/components/primitives/multiline/components/multilineWithLabel/index.d.ts.map +1 -0
- package/components/primitives/multiline/components/multilineWithLabel/index.js +45 -0
- package/{dist/components → components}/primitives/multiline/components/multilineWithoutLabel/index.d.ts +6 -4
- package/components/primitives/multiline/components/multilineWithoutLabel/index.d.ts.map +1 -0
- package/components/primitives/multiline/components/multilineWithoutLabel/index.js +27 -0
- package/components/primitives/multiline/index.d.ts +3 -0
- package/components/primitives/multiline/index.d.ts.map +1 -0
- package/components/primitives/multiline/index.js +2 -0
- package/{dist/components → components}/primitives/multiline/types.d.ts +11 -10
- package/components/primitives/multiline/types.d.ts.map +1 -0
- package/components/primitives/multiline/types.js +1 -0
- package/components/primitives/number/component/index.d.ts +6 -0
- package/components/primitives/number/component/index.d.ts.map +1 -0
- package/components/primitives/number/component/index.js +14 -0
- package/{dist/components → components}/primitives/number/components/withLabel/index.d.ts +6 -4
- package/components/primitives/number/components/withLabel/index.d.ts.map +1 -0
- package/components/primitives/number/components/withLabel/index.js +44 -0
- package/{dist/components → components}/primitives/number/components/withoutLabel/index.d.ts +6 -4
- package/components/primitives/number/components/withoutLabel/index.d.ts.map +1 -0
- package/components/primitives/number/components/withoutLabel/index.js +26 -0
- package/components/primitives/number/index.d.ts +3 -0
- package/components/primitives/number/index.d.ts.map +1 -0
- package/components/primitives/number/index.js +2 -0
- package/{dist/components → components}/primitives/number/types.d.ts +13 -12
- package/components/primitives/number/types.d.ts.map +1 -0
- package/components/primitives/number/types.js +1 -0
- package/components/primitives/password/component/index.d.ts +7 -0
- package/components/primitives/password/component/index.d.ts.map +1 -0
- package/components/primitives/password/component/index.js +13 -0
- package/{dist/components → components}/primitives/password/components/withLabel/index.d.ts +5 -3
- package/components/primitives/password/components/withLabel/index.d.ts.map +1 -0
- package/components/primitives/password/components/withLabel/index.js +51 -0
- package/{dist/components → components}/primitives/password/components/withoutLabel/index.d.ts +5 -3
- package/components/primitives/password/components/withoutLabel/index.d.ts.map +1 -0
- package/components/primitives/password/components/withoutLabel/index.js +33 -0
- package/components/primitives/password/index.d.ts +3 -0
- package/components/primitives/password/index.d.ts.map +1 -0
- package/components/primitives/password/index.js +2 -0
- package/{dist/components → components}/primitives/password/types.d.ts +10 -9
- package/components/primitives/password/types.d.ts.map +1 -0
- package/components/primitives/password/types.js +1 -0
- package/components/primitives/text/component/index.d.ts +7 -0
- package/components/primitives/text/component/index.d.ts.map +1 -0
- package/components/primitives/text/component/index.js +15 -0
- package/{dist/components → components}/primitives/text/components/textWithLabel/index.d.ts +6 -4
- package/components/primitives/text/components/textWithLabel/index.d.ts.map +1 -0
- package/components/primitives/text/components/textWithLabel/index.js +44 -0
- package/{dist/components → components}/primitives/text/components/textWithoutLabel/index.d.ts +6 -4
- package/components/primitives/text/components/textWithoutLabel/index.d.ts.map +1 -0
- package/components/primitives/text/components/textWithoutLabel/index.js +26 -0
- package/components/primitives/text/index.d.ts +3 -0
- package/components/primitives/text/index.d.ts.map +1 -0
- package/components/primitives/text/index.js +2 -0
- package/{dist/components → components}/primitives/text/types.d.ts +7 -6
- package/components/primitives/text/types.d.ts.map +1 -0
- package/components/primitives/text/types.js +1 -0
- package/{dist/components → components}/primitives/types/baseProps.d.ts +30 -29
- package/components/primitives/types/baseProps.d.ts.map +1 -0
- package/components/primitives/types/baseProps.js +1 -0
- package/components/primitives/types/index.d.ts +4 -0
- package/components/primitives/types/index.d.ts.map +1 -0
- package/{dist/components/primitives/types/index.d.ts → components/primitives/types/index.js} +3 -3
- package/{dist/components → components}/primitives/types/label.d.ts +14 -13
- package/components/primitives/types/label.d.ts.map +1 -0
- package/components/primitives/types/label.js +1 -0
- package/components/primitives/types/validation/index.d.ts +3 -0
- package/components/primitives/types/validation/index.d.ts.map +1 -0
- package/{dist/components/primitives/types/validation/index.d.ts → components/primitives/types/validation/index.js} +2 -2
- package/{dist/components → components}/primitives/types/validation/state.d.ts +9 -8
- package/components/primitives/types/validation/state.d.ts.map +1 -0
- package/components/primitives/types/validation/state.js +2 -0
- package/{dist/components → components}/primitives/types/validation/status.d.ts +10 -9
- package/components/primitives/types/validation/status.d.ts.map +1 -0
- package/components/primitives/types/validation/status.js +11 -0
- package/{dist/components → components}/search/component/index.d.ts +6 -3
- package/components/search/component/index.d.ts.map +1 -0
- package/components/search/component/index.js +37 -0
- package/components/search/index.d.ts +3 -0
- package/components/search/index.d.ts.map +1 -0
- package/components/search/index.js +2 -0
- package/{dist/components → components}/search/types.d.ts +27 -26
- package/components/search/types.d.ts.map +1 -0
- package/components/search/types.js +1 -0
- package/{dist/components → components}/tabs/component/index.d.ts +34 -31
- package/components/tabs/component/index.d.ts.map +1 -0
- package/components/tabs/component/index.js +68 -0
- package/{dist/components → components}/tabs/components/item/index.d.ts +13 -11
- package/components/tabs/components/item/index.d.ts.map +1 -0
- package/components/tabs/components/item/index.js +27 -0
- package/components/tabs/index.d.ts +3 -0
- package/components/tabs/index.d.ts.map +1 -0
- package/components/tabs/index.js +2 -0
- package/{dist/components → components}/tabs/types.d.ts +43 -42
- package/components/tabs/types.d.ts.map +1 -0
- package/components/tabs/types.js +34 -0
- package/{dist/components → components}/tag/component/index.d.ts +7 -4
- package/components/tag/component/index.d.ts.map +1 -0
- package/components/tag/component/index.js +28 -0
- package/components/tag/index.d.ts +3 -0
- package/components/tag/index.d.ts.map +1 -0
- package/components/tag/index.js +2 -0
- package/{dist/components → components}/tag/types.d.ts +27 -26
- package/components/tag/types.d.ts.map +1 -0
- package/components/tag/types.js +1 -0
- package/{dist/components → components}/types.d.ts +67 -66
- package/components/types.d.ts.map +1 -0
- package/components/types.js +31 -0
- package/hooks/index.d.ts +3 -0
- package/hooks/index.d.ts.map +1 -0
- package/{dist/hooks/index.d.ts → hooks/index.js} +2 -2
- package/{dist/hooks → hooks}/useComponentOutsideClick.d.ts +11 -10
- package/hooks/useComponentOutsideClick.d.ts.map +1 -0
- package/hooks/useComponentOutsideClick.js +32 -0
- package/{dist/hooks → hooks}/usePagination.d.ts +20 -19
- package/hooks/usePagination.d.ts.map +1 -0
- package/hooks/usePagination.js +28 -0
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -0
- package/{dist/index.d.ts → index.js} +3 -3
- package/package.json +39 -45
- package/readme.md +56 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/{dist/utils → utils}/dataAttributes.d.ts +8 -7
- package/utils/dataAttributes.d.ts.map +1 -0
- package/utils/dataAttributes.js +19 -0
- package/{dist/utils → utils}/formValidation.d.ts +16 -15
- package/utils/formValidation.d.ts.map +1 -0
- package/utils/formValidation.js +35 -0
- package/utils/index.d.ts +3 -0
- package/utils/index.d.ts.map +1 -0
- package/{dist/utils/index.d.ts → utils/index.js} +2 -2
- package/dist/bbr-components.js +0 -1040
- package/dist/bbr-components.umd.cjs +0 -27
- package/dist/components/anchor/component/index.d.ts +0 -3
- package/dist/components/dropdown/component/index.d.ts +0 -4
- package/dist/components/icon/component/index.d.ts +0 -5
- package/dist/components/icon/index.d.ts +0 -2
- package/dist/components/primitives/checkbox/index.d.ts +0 -2
- package/dist/components/primitives/date/index.d.ts +0 -2
- package/dist/components/primitives/multiline/component/index.d.ts +0 -4
- package/dist/components/primitives/multiline/index.d.ts +0 -2
- package/dist/components/primitives/number/component/index.d.ts +0 -4
- package/dist/components/primitives/number/index.d.ts +0 -2
- package/dist/components/primitives/password/component/index.d.ts +0 -4
- package/dist/components/primitives/password/index.d.ts +0 -2
- package/dist/components/primitives/text/component/index.d.ts +0 -4
- package/dist/components/primitives/text/index.d.ts +0 -2
- package/dist/components/search/index.d.ts +0 -2
- package/dist/components/tabs/index.d.ts +0 -2
- package/dist/components/tag/index.d.ts +0 -2
- package/dist/style.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,cAAc,SAAS,CAAC"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { BaseElementProps, ElementColor, ElementSize } from
|
|
2
|
-
/** Tag item prop types */
|
|
3
|
-
export interface TagProps extends BaseElementProps {
|
|
4
|
-
/** Tag content */
|
|
5
|
-
content: string;
|
|
6
|
-
/**
|
|
7
|
-
* Element size.
|
|
8
|
-
* `Small` isn"t allowed
|
|
9
|
-
*/
|
|
10
|
-
size?: ElementSize;
|
|
11
|
-
/** Element color */
|
|
12
|
-
style?: ElementColor;
|
|
13
|
-
/** Is element with rounded border */
|
|
14
|
-
rounded?: boolean;
|
|
15
|
-
/** Is element has light color */
|
|
16
|
-
lightColor?: boolean;
|
|
17
|
-
/** Click handler */
|
|
18
|
-
onClick?: () => void;
|
|
19
|
-
/** Manual color scheme */
|
|
20
|
-
customColor?: {
|
|
21
|
-
/** Text color */
|
|
22
|
-
color: string;
|
|
23
|
-
/** Background color */
|
|
24
|
-
backgroundColor: string;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
1
|
+
import { BaseElementProps, ElementColor, ElementSize } from "..";
|
|
2
|
+
/** Tag item prop types */
|
|
3
|
+
export interface TagProps extends BaseElementProps {
|
|
4
|
+
/** Tag content */
|
|
5
|
+
content: string;
|
|
6
|
+
/**
|
|
7
|
+
* Element size.
|
|
8
|
+
* `Small` isn"t allowed
|
|
9
|
+
*/
|
|
10
|
+
size?: ElementSize;
|
|
11
|
+
/** Element color */
|
|
12
|
+
style?: ElementColor;
|
|
13
|
+
/** Is element with rounded border */
|
|
14
|
+
rounded?: boolean;
|
|
15
|
+
/** Is element has light color */
|
|
16
|
+
lightColor?: boolean;
|
|
17
|
+
/** Click handler */
|
|
18
|
+
onClick?: () => void;
|
|
19
|
+
/** Manual color scheme */
|
|
20
|
+
customColor?: {
|
|
21
|
+
/** Text color */
|
|
22
|
+
color: string;
|
|
23
|
+
/** Background color */
|
|
24
|
+
backgroundColor: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tag/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9E,0BAA0B;AAC1B,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAC9C,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB;;;MAGE;IACF,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACV,iBAAiB;QACjB,KAAK,EAAE,MAAM,CAAC;QAEd,uBAAuB;QACvB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,66 +1,67 @@
|
|
|
1
|
-
/** Base interface for component props */
|
|
2
|
-
export interface BaseElementProps {
|
|
3
|
-
/** Additional class names */
|
|
4
|
-
className?: string;
|
|
5
|
-
/** Title */
|
|
6
|
-
title?: string;
|
|
7
|
-
/** Extra data-* attributes */
|
|
8
|
-
data?: DataAttributes;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Html data-* attributes
|
|
12
|
-
* @description All keys with defined values will be mapped injected into html element as data-{key} attributes
|
|
13
|
-
*/
|
|
14
|
-
export interface DataAttributes {
|
|
15
|
-
/** Single data-* attribute value */
|
|
16
|
-
[key: string]: any;
|
|
17
|
-
}
|
|
18
|
-
/** Input component size variety */
|
|
19
|
-
export declare enum ElementSize {
|
|
20
|
-
/** Font size is 0.75rem */
|
|
21
|
-
Small = "small",
|
|
22
|
-
/** Font size is 1rem. Default */
|
|
23
|
-
Normal = "normal",
|
|
24
|
-
/** Font size is 1.25rem */
|
|
25
|
-
Medium = "medium",
|
|
26
|
-
/** Font size is 1.5rem */
|
|
27
|
-
Large = "large"
|
|
28
|
-
}
|
|
29
|
-
/** Input component border-color type */
|
|
30
|
-
export declare enum ElementColor {
|
|
31
|
-
/** color: transparent */
|
|
32
|
-
Default = "default",
|
|
33
|
-
/** color: seawave green */
|
|
34
|
-
Primary = "primary",
|
|
35
|
-
/** color: blue-violet */
|
|
36
|
-
Link = "link",
|
|
37
|
-
/** color: sky-blue */
|
|
38
|
-
Info = "info",
|
|
39
|
-
/** color: green */
|
|
40
|
-
Success = "success",
|
|
41
|
-
/** color: yellow */
|
|
42
|
-
Warning = "warning",
|
|
43
|
-
/** color: red */
|
|
44
|
-
Danger = "danger"
|
|
45
|
-
}
|
|
46
|
-
/** Allowed icon position */
|
|
47
|
-
export type IconPosition = "left" | "right";
|
|
48
|
-
/** Icon for component */
|
|
49
|
-
export interface ElementIcon {
|
|
50
|
-
/**
|
|
51
|
-
* Icon name. Must be without `bi-`
|
|
52
|
-
* @example ["Arrow repeat", "arrow-repeat"]
|
|
53
|
-
* // Icon name to icon class name.
|
|
54
|
-
* // For class name check bootstrap icons website
|
|
55
|
-
*/
|
|
56
|
-
name: string;
|
|
57
|
-
/** Additional classname */
|
|
58
|
-
className?: string;
|
|
59
|
-
/** Icon size */
|
|
60
|
-
size?: ElementSize;
|
|
61
|
-
/**
|
|
62
|
-
* Position
|
|
63
|
-
* Works only with other content
|
|
64
|
-
*/
|
|
65
|
-
position?: IconPosition;
|
|
66
|
-
}
|
|
1
|
+
/** Base interface for component props */
|
|
2
|
+
export interface BaseElementProps {
|
|
3
|
+
/** Additional class names */
|
|
4
|
+
className?: string;
|
|
5
|
+
/** Title */
|
|
6
|
+
title?: string;
|
|
7
|
+
/** Extra data-* attributes */
|
|
8
|
+
data?: DataAttributes;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Html data-* attributes
|
|
12
|
+
* @description All keys with defined values will be mapped injected into html element as data-{key} attributes
|
|
13
|
+
*/
|
|
14
|
+
export interface DataAttributes {
|
|
15
|
+
/** Single data-* attribute value */
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
/** Input component size variety */
|
|
19
|
+
export declare enum ElementSize {
|
|
20
|
+
/** Font size is 0.75rem */
|
|
21
|
+
Small = "small",
|
|
22
|
+
/** Font size is 1rem. Default */
|
|
23
|
+
Normal = "normal",
|
|
24
|
+
/** Font size is 1.25rem */
|
|
25
|
+
Medium = "medium",
|
|
26
|
+
/** Font size is 1.5rem */
|
|
27
|
+
Large = "large"
|
|
28
|
+
}
|
|
29
|
+
/** Input component border-color type */
|
|
30
|
+
export declare enum ElementColor {
|
|
31
|
+
/** color: transparent */
|
|
32
|
+
Default = "default",
|
|
33
|
+
/** color: seawave green */
|
|
34
|
+
Primary = "primary",
|
|
35
|
+
/** color: blue-violet */
|
|
36
|
+
Link = "link",
|
|
37
|
+
/** color: sky-blue */
|
|
38
|
+
Info = "info",
|
|
39
|
+
/** color: green */
|
|
40
|
+
Success = "success",
|
|
41
|
+
/** color: yellow */
|
|
42
|
+
Warning = "warning",
|
|
43
|
+
/** color: red */
|
|
44
|
+
Danger = "danger"
|
|
45
|
+
}
|
|
46
|
+
/** Allowed icon position */
|
|
47
|
+
export declare type IconPosition = "left" | "right";
|
|
48
|
+
/** Icon for component */
|
|
49
|
+
export interface ElementIcon {
|
|
50
|
+
/**
|
|
51
|
+
* Icon name. Must be without `bi-`
|
|
52
|
+
* @example ["Arrow repeat", "arrow-repeat"]
|
|
53
|
+
* // Icon name to icon class name.
|
|
54
|
+
* // For class name check bootstrap icons website
|
|
55
|
+
*/
|
|
56
|
+
name: string;
|
|
57
|
+
/** Additional classname */
|
|
58
|
+
className?: string;
|
|
59
|
+
/** Icon size */
|
|
60
|
+
size?: ElementSize;
|
|
61
|
+
/**
|
|
62
|
+
* Position
|
|
63
|
+
* Works only with other content
|
|
64
|
+
*/
|
|
65
|
+
position?: IconPosition;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC7B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;EAGE;AACF,MAAM,WAAW,cAAc;IAC3B,oCAAoC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,mCAAmC;AACnC,oBAAY,WAAW;IACnB,2BAA2B;IAC3B,KAAK,UAAU;IAEf,iCAAiC;IACjC,MAAM,WAAW;IAEjB,2BAA2B;IAC3B,MAAM,WAAW;IAEjB,0BAA0B;IAC1B,KAAK,UAAU;CAClB;AAED,wCAAwC;AACxC,oBAAY,YAAY;IACpB,yBAAyB;IACzB,OAAO,YAAY;IAEnB,2BAA2B;IAC3B,OAAO,YAAY;IAEnB,yBAAyB;IACzB,IAAI,SAAS;IAEb,sBAAsB;IACtB,IAAI,SAAS;IAEb,mBAAmB;IACnB,OAAO,YAAY;IAEnB,oBAAoB;IACpB,OAAO,YAAY;IAEnB,iBAAiB;IACjB,MAAM,WAAW;CACpB;AAED,4BAA4B;AAC5B,oBAAY,YAAY,GAClB,MAAM,GACN,OAAO,CAAC;AAEd,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IACxB;;;;;MAKE;IACF,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;MAGE;IACF,QAAQ,CAAC,EAAE,YAAY,CAAC;CAC3B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Input component size variety */
|
|
2
|
+
export var ElementSize;
|
|
3
|
+
(function (ElementSize) {
|
|
4
|
+
/** Font size is 0.75rem */
|
|
5
|
+
ElementSize["Small"] = "small";
|
|
6
|
+
/** Font size is 1rem. Default */
|
|
7
|
+
ElementSize["Normal"] = "normal";
|
|
8
|
+
/** Font size is 1.25rem */
|
|
9
|
+
ElementSize["Medium"] = "medium";
|
|
10
|
+
/** Font size is 1.5rem */
|
|
11
|
+
ElementSize["Large"] = "large";
|
|
12
|
+
})(ElementSize || (ElementSize = {}));
|
|
13
|
+
/** Input component border-color type */
|
|
14
|
+
export var ElementColor;
|
|
15
|
+
(function (ElementColor) {
|
|
16
|
+
/** color: transparent */
|
|
17
|
+
ElementColor["Default"] = "default";
|
|
18
|
+
/** color: seawave green */
|
|
19
|
+
ElementColor["Primary"] = "primary";
|
|
20
|
+
/** color: blue-violet */
|
|
21
|
+
ElementColor["Link"] = "link";
|
|
22
|
+
/** color: sky-blue */
|
|
23
|
+
ElementColor["Info"] = "info";
|
|
24
|
+
/** color: green */
|
|
25
|
+
ElementColor["Success"] = "success";
|
|
26
|
+
/** color: yellow */
|
|
27
|
+
ElementColor["Warning"] = "warning";
|
|
28
|
+
/** color: red */
|
|
29
|
+
ElementColor["Danger"] = "danger";
|
|
30
|
+
})(ElementColor || (ElementColor = {}));
|
|
31
|
+
;
|
package/hooks/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./useComponentOutsideClick";
|
|
2
|
-
export * from "./usePagination";
|
|
1
|
+
export * from "./useComponentOutsideClick";
|
|
2
|
+
export * from "./usePagination";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { DependencyList } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Subscribe to component outside click
|
|
4
|
-
* @param selector Component root selector
|
|
5
|
-
* @param clickHandleCondition Condition to handle document click
|
|
6
|
-
* @param clickHandleChange Handler of outside component click
|
|
7
|
-
* @param clickListenCondition Condition to start listening document clicks
|
|
8
|
-
* @param dependencies Additional dependencies to update hook
|
|
9
|
-
*/
|
|
10
|
-
export declare const useComponentOutsideClick: (selector: string, clickHandleCondition: boolean, clickHandleChange: () => void, clickListenCondition?: boolean, dependencies?: DependencyList) => void;
|
|
1
|
+
import { DependencyList } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribe to component outside click
|
|
4
|
+
* @param selector Component root selector
|
|
5
|
+
* @param clickHandleCondition Condition to handle document click
|
|
6
|
+
* @param clickHandleChange Handler of outside component click
|
|
7
|
+
* @param clickListenCondition Condition to start listening document clicks
|
|
8
|
+
* @param dependencies Additional dependencies to update hook
|
|
9
|
+
*/
|
|
10
|
+
export declare const useComponentOutsideClick: (selector: string, clickHandleCondition: boolean, clickHandleChange: () => void, clickListenCondition?: boolean, dependencies?: DependencyList) => void;
|
|
11
|
+
//# sourceMappingURL=useComponentOutsideClick.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComponentOutsideClick.d.ts","sourceRoot":"","sources":["../../src/hooks/useComponentOutsideClick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,OAAO,CAAC;AAI/D;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,aACvB,MAAM,wBACM,OAAO,qBACV,MAAM,IAAI,yBACN,OAAO,iBACf,cAAc,KAC9B,IA6BF,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useCallback, useEffect } from "react";
|
|
2
|
+
import { isNullOrUndefined, isNull } from "@bodynarf/utils";
|
|
3
|
+
/**
|
|
4
|
+
* Subscribe to component outside click
|
|
5
|
+
* @param selector Component root selector
|
|
6
|
+
* @param clickHandleCondition Condition to handle document click
|
|
7
|
+
* @param clickHandleChange Handler of outside component click
|
|
8
|
+
* @param clickListenCondition Condition to start listening document clicks
|
|
9
|
+
* @param dependencies Additional dependencies to update hook
|
|
10
|
+
*/
|
|
11
|
+
export const useComponentOutsideClick = (selector, clickHandleCondition, clickHandleChange, clickListenCondition, dependencies) => {
|
|
12
|
+
const onDocumentClick = useCallback((event) => {
|
|
13
|
+
if (clickHandleCondition) {
|
|
14
|
+
const target = event.target;
|
|
15
|
+
if (isNullOrUndefined(target)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const relatedComponent = target.closest(selector);
|
|
19
|
+
if (isNull(relatedComponent)) {
|
|
20
|
+
clickHandleChange();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
|
+
}, [clickHandleCondition, selector, clickHandleChange, dependencies]);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (isNullOrUndefined(clickListenCondition) || clickListenCondition === true) {
|
|
27
|
+
document.addEventListener("click", onDocumentClick);
|
|
28
|
+
return () => document.removeEventListener("click", onDocumentClick);
|
|
29
|
+
}
|
|
30
|
+
return () => { };
|
|
31
|
+
}, [clickListenCondition, onDocumentClick]);
|
|
32
|
+
};
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { DependencyList } from "react";
|
|
2
|
-
/** Paginator hook state */
|
|
3
|
-
export interface PaginationState {
|
|
4
|
-
/** Number of current page */
|
|
5
|
-
currentPage: number;
|
|
6
|
-
/** Amount of pages */
|
|
7
|
-
pagesCount: number;
|
|
8
|
-
/** Handler of page change */
|
|
9
|
-
onPageChange: (page: number) => void;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Hook to pagination state, return hooked values and handler for pagination
|
|
13
|
-
* @param length Pagionation items count
|
|
14
|
-
* @param size Page size. Default is 30
|
|
15
|
-
* @param initPage Initial page. Default is 1
|
|
16
|
-
* @param dependencies List of dependencies. On any dependency update current page will be set to 1
|
|
17
|
-
* @returns Pair of hook-stored state and handler for slicing current page items
|
|
18
|
-
*/
|
|
19
|
-
export declare const usePagination: (length: number, size?: number, initPage?: number, dependencies?: DependencyList) => [PaginationState, (data: Array<any>) => Array<any>];
|
|
1
|
+
import { DependencyList } from "react";
|
|
2
|
+
/** Paginator hook state */
|
|
3
|
+
export interface PaginationState {
|
|
4
|
+
/** Number of current page */
|
|
5
|
+
currentPage: number;
|
|
6
|
+
/** Amount of pages */
|
|
7
|
+
pagesCount: number;
|
|
8
|
+
/** Handler of page change */
|
|
9
|
+
onPageChange: (page: number) => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Hook to pagination state, return hooked values and handler for pagination
|
|
13
|
+
* @param length Pagionation items count
|
|
14
|
+
* @param size Page size. Default is 30
|
|
15
|
+
* @param initPage Initial page. Default is 1
|
|
16
|
+
* @param dependencies List of dependencies. On any dependency update current page will be set to 1
|
|
17
|
+
* @returns Pair of hook-stored state and handler for slicing current page items
|
|
18
|
+
*/
|
|
19
|
+
export declare const usePagination: (length: number, size?: number, initPage?: number, dependencies?: DependencyList) => [PaginationState, (data: Array<any>) => Array<any>];
|
|
20
|
+
//# sourceMappingURL=usePagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6C,MAAM,OAAO,CAAC;AAElF,2BAA2B;AAC3B,MAAM,WAAW,eAAe;IAC5B,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAKD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,WACd,MAAM,SACR,MAAM,aACF,MAAM,6DAEQ,MAAM,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,CAwBpD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
/** Default page size */
|
|
3
|
+
const defaultPageSize = 30;
|
|
4
|
+
/**
|
|
5
|
+
* Hook to pagination state, return hooked values and handler for pagination
|
|
6
|
+
* @param length Pagionation items count
|
|
7
|
+
* @param size Page size. Default is 30
|
|
8
|
+
* @param initPage Initial page. Default is 1
|
|
9
|
+
* @param dependencies List of dependencies. On any dependency update current page will be set to 1
|
|
10
|
+
* @returns Pair of hook-stored state and handler for slicing current page items
|
|
11
|
+
*/
|
|
12
|
+
export const usePagination = (length, size = defaultPageSize, initPage = 1, dependencies = []) => {
|
|
13
|
+
const [currentPage, setCurrentPage] = useState(initPage);
|
|
14
|
+
const count = useMemo(() => Math.ceil(length / size), [size, length]);
|
|
15
|
+
const onChange = useCallback((page) => setCurrentPage(page), [setCurrentPage]);
|
|
16
|
+
const paginate = useCallback((data) => {
|
|
17
|
+
const limit = size;
|
|
18
|
+
const offstet = (currentPage - 1) * size;
|
|
19
|
+
return data.slice(offstet, offstet + limit);
|
|
20
|
+
}, [size, currentPage]);
|
|
21
|
+
const state = useMemo(() => ({
|
|
22
|
+
currentPage: currentPage,
|
|
23
|
+
pagesCount: count,
|
|
24
|
+
onPageChange: onChange
|
|
25
|
+
}), [currentPage, count, onChange]);
|
|
26
|
+
useEffect(() => setCurrentPage(1), dependencies);
|
|
27
|
+
return [state, paginate];
|
|
28
|
+
};
|
package/index.d.ts
ADDED
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./components";
|
|
2
|
-
export * from "./hooks";
|
|
3
|
-
export * from "./utils";
|
|
1
|
+
export * from "./components";
|
|
2
|
+
export * from "./hooks";
|
|
3
|
+
export * from "./utils";
|
package/package.json
CHANGED
|
@@ -1,45 +1,39 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"typescript": "^5.0.2",
|
|
41
|
-
"vite": "^4.3.2",
|
|
42
|
-
"vite-plugin-dts": "^2.3.0",
|
|
43
|
-
"vite-tsconfig-paths": "^4.2.0"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@bodynarf/react.components",
|
|
3
|
+
"version": "1.7.2",
|
|
4
|
+
"author": {
|
|
5
|
+
"name": "Artem",
|
|
6
|
+
"email": "bodynar@gmail.com"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"url": "https://github.com/bodynar/bodynarf.react-components",
|
|
10
|
+
"type": "git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/bodynar/bodynarf.react-components/issues",
|
|
14
|
+
"email": "bodynar@gmail.com"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"ts",
|
|
18
|
+
"typescript",
|
|
19
|
+
"react",
|
|
20
|
+
"react component",
|
|
21
|
+
"bulma"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "npx tsc && tsc-alias -p tsconfig.json",
|
|
25
|
+
"publish": "npx tsc && copy package.json dist && copy readme.md dist && cd dist && npm publish --access=public"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/react": "^18.0.11",
|
|
29
|
+
"@types/react-dom": "^18.0.5",
|
|
30
|
+
"tsc-alias": "^1.8.6",
|
|
31
|
+
"typescript": "^4.7.3"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@bodynarf/utils": "^1.1.1",
|
|
35
|
+
"bulma": "^0.9.4",
|
|
36
|
+
"react": "^18.1.0",
|
|
37
|
+
"react-dom": "^18.1.0"
|
|
38
|
+
}
|
|
39
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# About
|
|
2
|
+
Small library with react components based on Bulma CSS framework <a href="https://bulma.io" title="Bulma css framework">
|
|
3
|
+
<img
|
|
4
|
+
src="https://bulma.io/images/made-with-bulma.png"
|
|
5
|
+
alt="Made with Bulma"
|
|
6
|
+
width="128"
|
|
7
|
+
height="24"/>
|
|
8
|
+
</a>
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
1. Install [React](https://reactjs.org/)
|
|
12
|
+
2. Install [Bulma](https://bulma.io/)
|
|
13
|
+
3. Make sure you imported bulma styles in parent container
|
|
14
|
+
4. *(Optional)* To use **Icon** component - install [Bootstrap Icons](https://icons.getbootstrap.com/) and make sure you imported these styles in parent container
|
|
15
|
+
5. *(Optional)* To use **Checkbox** component - install [bulma-checkradio](https://www.npmjs.com/package/bulma-checkradio) and make sure you imported these styles in parent container
|
|
16
|
+
|
|
17
|
+
## Description
|
|
18
|
+
|
|
19
|
+
Mostly all components have root class with `bbr-` prefix. BBR - Bodynarf Bulma React
|
|
20
|
+
### Simple components
|
|
21
|
+
Simple react components based on html elements.
|
|
22
|
+
|
|
23
|
+
- **Date** - date input;
|
|
24
|
+
- **Multiline** - multiline text input;
|
|
25
|
+
- **Text**- single line text input;
|
|
26
|
+
- **Anchor**
|
|
27
|
+
- **Button**
|
|
28
|
+
- **Number**
|
|
29
|
+
- **Password** - single line password input (requires icon, see *p.4*)
|
|
30
|
+
- **Icon** - *see p.4 of installation*
|
|
31
|
+
- **Dropdown** - custom dropdown component, based on html div elements & css. Allows to use icon in elements
|
|
32
|
+
- **Checkbox** - (*see p.5 of installation*) Checkbox component based on [bulma-checkradio](https://wikiki.github.io/form/checkradio)
|
|
33
|
+
|
|
34
|
+
### Complex components
|
|
35
|
+
Complex components is set of components built via combining simple components or represent complex logical component
|
|
36
|
+
- **Search** - Search bar with optional button to perform search
|
|
37
|
+
- **Paginator** - Pagination elements to navigate through paged list
|
|
38
|
+
|
|
39
|
+
Example:
|
|
40
|
+
```tsx
|
|
41
|
+
const [{ currentPage, pagesCount, onPageChange }, paginate] = usePagination(items.length, ITEMS_PER_PAGE);
|
|
42
|
+
const pageItems = useMemo(() => paginate(items), [paginate, items]);
|
|
43
|
+
|
|
44
|
+
// ...
|
|
45
|
+
|
|
46
|
+
<Paginator
|
|
47
|
+
count={pagesCount}
|
|
48
|
+
currentPage={currentPage}
|
|
49
|
+
onPageChange={onPageChange}
|
|
50
|
+
/>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Hooks
|
|
54
|
+
|
|
55
|
+
- **useComponentOutsideClick** - Attach watcher for mouse clicks and emmit event when click was outside of component
|
|
56
|
+
- **usePagination** - Create a pagination config to easily manipulate with Paginator component
|