@bodynarf/react.components 1.7.3 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{components → dist/components}/accordion/component/index.d.ts +1 -1
- package/{components → dist/components}/accordion/component/index.js +3 -3
- package/dist/components/accordion/types.d.ts +18 -0
- package/{components → dist/components}/anchor/component/index.d.ts +1 -1
- package/{components → dist/components}/anchor/component/index.js +2 -2
- package/{components → dist/components}/anchor/components/anchorWithIcon/index.d.ts +1 -1
- package/{components → dist/components}/anchor/components/anchorWithIcon/index.js +1 -1
- package/{components → dist/components}/anchor/components/simpleAnchor/index.d.ts +1 -1
- package/dist/components/anchor/types.d.ts +39 -0
- package/{components → dist/components}/button/component/index.d.ts +1 -1
- package/{components → dist/components}/button/component/index.js +3 -3
- package/{components → dist/components}/button/components/buttonWithIcon/index.d.ts +1 -1
- package/{components → dist/components}/button/components/buttonWithIcon/index.js +1 -1
- package/{components → dist/components}/button/components/simpleButton/index.d.ts +1 -1
- package/{components → dist/components}/button/types.d.ts +1 -1
- package/{components → dist/components}/dropdown/component/index.d.ts +1 -1
- package/{components → dist/components}/dropdown/component/index.js +2 -2
- package/{components → dist/components}/dropdown/components/compact/index.d.ts +1 -1
- package/{components → dist/components}/dropdown/components/compact/index.js +3 -3
- package/{components → dist/components}/dropdown/components/item/index.d.ts +1 -1
- package/{components → dist/components}/dropdown/components/label/index.d.ts +1 -1
- package/{components → dist/components}/dropdown/components/label/index.js +2 -2
- package/{components → dist/components}/dropdown/components/withLabel/index.d.ts +1 -1
- package/{components → dist/components}/dropdown/components/withLabel/index.js +4 -4
- package/dist/components/dropdown/types.d.ts +46 -0
- package/{components → dist/components}/icon/component/index.d.ts +1 -1
- package/{components → dist/components}/icon/component/index.js +1 -1
- package/dist/components/icon/types.d.ts +16 -0
- package/{components → dist/components}/paginator/component/index.d.ts +1 -1
- package/{components → dist/components}/paginator/component/index.js +1 -1
- package/{components → dist/components}/paginator/types.d.ts +1 -1
- package/{components → dist/components}/primitives/checkbox/component/index.d.ts +1 -1
- package/dist/components/primitives/checkbox/types.d.ts +25 -0
- package/{components → dist/components}/primitives/date/component/index.d.ts +1 -1
- package/{components → dist/components}/primitives/date/component/index.js +2 -2
- package/dist/components/primitives/date/types.d.ts +9 -0
- package/{components → dist/components}/primitives/multiline/component/index.d.ts +1 -1
- package/{components → dist/components}/primitives/multiline/component/index.js +2 -2
- package/{components → dist/components}/primitives/multiline/components/multilineWithLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/multiline/components/multilineWithLabel/index.js +2 -2
- package/{components → dist/components}/primitives/multiline/components/multilineWithoutLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/multiline/components/multilineWithoutLabel/index.js +2 -2
- package/dist/components/primitives/multiline/types.d.ts +11 -0
- package/{components → dist/components}/primitives/number/component/index.d.ts +1 -1
- package/{components → dist/components}/primitives/number/component/index.js +2 -2
- package/{components → dist/components}/primitives/number/components/withLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/number/components/withLabel/index.js +2 -2
- package/{components → dist/components}/primitives/number/components/withoutLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/number/components/withoutLabel/index.js +2 -2
- package/dist/components/primitives/number/types.d.ts +13 -0
- package/{components → dist/components}/primitives/password/component/index.d.ts +1 -1
- package/{components → dist/components}/primitives/password/component/index.js +2 -2
- package/{components → dist/components}/primitives/password/components/withLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/password/components/withLabel/index.js +3 -3
- package/{components → dist/components}/primitives/password/components/withoutLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/password/components/withoutLabel/index.js +3 -3
- package/dist/components/primitives/password/types.d.ts +10 -0
- package/{components → dist/components}/primitives/text/component/index.d.ts +1 -1
- package/{components → dist/components}/primitives/text/component/index.js +2 -2
- package/{components → dist/components}/primitives/text/components/textWithLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/text/components/textWithLabel/index.js +2 -2
- package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.d.ts +1 -1
- package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.js +2 -2
- package/dist/components/primitives/text/types.d.ts +7 -0
- package/dist/components/primitives/types/baseProps.d.ts +30 -0
- package/{components → dist/components}/search/component/index.d.ts +1 -1
- package/{components → dist/components}/search/component/index.js +1 -1
- package/dist/components/search/types.d.ts +27 -0
- package/{components → dist/components}/tabs/component/index.d.ts +2 -2
- package/{components → dist/components}/tabs/component/index.js +4 -4
- package/{components → dist/components}/tabs/components/item/index.d.ts +1 -1
- package/{components → dist/components}/tabs/components/item/index.js +1 -1
- package/{components → dist/components}/tabs/types.d.ts +1 -1
- package/{components → dist/components}/tag/component/index.d.ts +1 -1
- package/{components → dist/components}/tag/component/index.js +1 -1
- package/dist/components/tag/types.d.ts +27 -0
- package/dist/package.json +41 -0
- package/dist/readme.md +56 -0
- package/{utils → dist/utils}/dataAttributes.d.ts +1 -1
- package/{utils → dist/utils}/formValidation.d.ts +1 -1
- package/{utils → dist/utils}/formValidation.js +1 -1
- package/package.json +5 -3
- package/src/common.scss +3 -0
- package/src/components/accordion/component/index.tsx +84 -0
- package/src/components/accordion/index.ts +2 -0
- package/{components/accordion/types.d.ts → src/components/accordion/types.ts} +6 -2
- package/src/components/anchor/component/index.tsx +40 -0
- package/src/components/anchor/component/style.scss +15 -0
- package/src/components/anchor/components/anchorWithIcon/index.tsx +45 -0
- package/src/components/anchor/components/simpleAnchor/index.tsx +16 -0
- package/src/components/anchor/index.ts +2 -0
- package/{components/anchor/types.d.ts → src/components/anchor/types.ts} +16 -1
- package/src/components/button/component/index.tsx +58 -0
- package/src/components/button/component/style.scss +12 -0
- package/src/components/button/components/buttonWithIcon/index.tsx +53 -0
- package/src/components/button/components/simpleButton/index.tsx +21 -0
- package/src/components/button/index.ts +2 -0
- package/src/components/button/types.ts +64 -0
- package/src/components/dropdown/component/index.tsx +20 -0
- package/src/components/dropdown/component/style.scss +120 -0
- package/src/components/dropdown/components/compact/index.tsx +121 -0
- package/src/components/dropdown/components/item/index.tsx +30 -0
- package/src/components/dropdown/components/label/index.tsx +68 -0
- package/src/components/dropdown/components/withLabel/index.tsx +201 -0
- package/src/components/dropdown/index.ts +2 -0
- package/{components/dropdown/types.d.ts → src/components/dropdown/types.ts} +15 -2
- package/src/components/icon/component/index.tsx +34 -0
- package/src/components/icon/component/style.scss +21 -0
- package/src/components/icon/index.ts +2 -0
- package/{components/icon/types.d.ts → src/components/icon/types.ts} +3 -1
- package/src/components/index.ts +13 -0
- package/src/components/paginator/component/index.tsx +131 -0
- package/src/components/paginator/index.ts +3 -0
- package/src/components/paginator/types.ts +40 -0
- package/src/components/paginator/utils.ts +19 -0
- package/src/components/primitives/checkbox/component/index.tsx +102 -0
- package/src/components/primitives/checkbox/component/style.scss +10 -0
- package/src/components/primitives/checkbox/index.ts +2 -0
- package/{components/primitives/checkbox/types.d.ts → src/components/primitives/checkbox/types.ts} +6 -2
- package/src/components/primitives/date/component/index.tsx +129 -0
- package/src/components/primitives/date/index.ts +2 -0
- package/{components/primitives/date/types.d.ts → src/components/primitives/date/types.ts} +2 -1
- package/src/components/primitives/index.ts +7 -0
- package/src/components/primitives/multiline/component/index.tsx +20 -0
- package/src/components/primitives/multiline/components/multilineWithLabel/index.tsx +125 -0
- package/src/components/primitives/multiline/components/multilineWithoutLabel/index.tsx +62 -0
- package/src/components/primitives/multiline/index.ts +2 -0
- package/{components/primitives/multiline/types.d.ts → src/components/primitives/multiline/types.ts} +3 -1
- package/src/components/primitives/number/component/index.tsx +17 -0
- package/src/components/primitives/number/components/withLabel/index.tsx +127 -0
- package/src/components/primitives/number/components/withoutLabel/index.tsx +66 -0
- package/src/components/primitives/number/index.ts +2 -0
- package/{components/primitives/number/types.d.ts → src/components/primitives/number/types.ts} +2 -1
- package/src/components/primitives/password/component/index.tsx +19 -0
- package/src/components/primitives/password/component/style.scss +16 -0
- package/src/components/primitives/password/components/withLabel/index.tsx +147 -0
- package/src/components/primitives/password/components/withoutLabel/index.tsx +79 -0
- package/src/components/primitives/password/index.ts +2 -0
- package/{components/primitives/password/types.d.ts → src/components/primitives/password/types.ts} +1 -1
- package/src/components/primitives/text/component/index.tsx +20 -0
- package/src/components/primitives/text/components/textWithLabel/index.tsx +123 -0
- package/src/components/primitives/text/components/textWithoutLabel/index.tsx +64 -0
- package/src/components/primitives/text/index.tsx +2 -0
- package/{components/primitives/text/types.d.ts → src/components/primitives/text/types.ts} +1 -1
- package/{components/primitives/types/baseProps.d.ts → src/components/primitives/types/baseProps.ts} +13 -1
- package/src/components/primitives/types/index.ts +3 -0
- package/src/components/primitives/types/label.ts +17 -0
- package/src/components/primitives/types/validation/index.ts +2 -0
- package/src/components/primitives/types/validation/state.ts +10 -0
- package/src/components/primitives/types/validation/status.ts +11 -0
- package/src/components/search/component/index.tsx +88 -0
- package/src/components/search/component/style.scss +24 -0
- package/src/components/search/index.ts +2 -0
- package/{components/search/types.d.ts → src/components/search/types.ts} +10 -2
- package/src/components/tabs/component/index.tsx +147 -0
- package/src/components/tabs/component/style.scss +12 -0
- package/src/components/tabs/components/item/index.tsx +86 -0
- package/src/components/tabs/index.ts +2 -0
- package/src/components/tabs/types.ts +52 -0
- package/src/components/tag/component/index.tsx +52 -0
- package/src/components/tag/component/style.scss +27 -0
- package/src/components/tag/index.ts +2 -0
- package/{components/tag/types.d.ts → src/components/tag/types.ts} +8 -1
- package/src/components/types.ts +87 -0
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useComponentOutsideClick.ts +48 -0
- package/src/hooks/usePagination.ts +55 -0
- package/src/index.ts +3 -0
- package/src/utils/dataAttributes.ts +26 -0
- package/src/utils/formValidation.ts +42 -0
- package/src/utils/index.ts +2 -0
- package/tsconfig.json +42 -0
- /package/{components → dist/components}/accordion/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/accordion/index.d.ts +0 -0
- /package/{components → dist/components}/accordion/index.d.ts.map +0 -0
- /package/{components → dist/components}/accordion/index.js +0 -0
- /package/{components → dist/components}/accordion/types.d.ts.map +0 -0
- /package/{components → dist/components}/accordion/types.js +0 -0
- /package/{components → dist/components}/anchor/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/anchor/components/anchorWithIcon/index.d.ts.map +0 -0
- /package/{components → dist/components}/anchor/components/simpleAnchor/index.d.ts.map +0 -0
- /package/{components → dist/components}/anchor/components/simpleAnchor/index.js +0 -0
- /package/{components → dist/components}/anchor/index.d.ts +0 -0
- /package/{components → dist/components}/anchor/index.d.ts.map +0 -0
- /package/{components → dist/components}/anchor/index.js +0 -0
- /package/{components → dist/components}/anchor/types.d.ts.map +0 -0
- /package/{components → dist/components}/anchor/types.js +0 -0
- /package/{components → dist/components}/button/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/button/components/buttonWithIcon/index.d.ts.map +0 -0
- /package/{components → dist/components}/button/components/simpleButton/index.d.ts.map +0 -0
- /package/{components → dist/components}/button/components/simpleButton/index.js +0 -0
- /package/{components → dist/components}/button/index.d.ts +0 -0
- /package/{components → dist/components}/button/index.d.ts.map +0 -0
- /package/{components → dist/components}/button/index.js +0 -0
- /package/{components → dist/components}/button/types.d.ts.map +0 -0
- /package/{components → dist/components}/button/types.js +0 -0
- /package/{components → dist/components}/dropdown/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/components/compact/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/components/item/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/components/item/index.js +0 -0
- /package/{components → dist/components}/dropdown/components/label/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/components/withLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/index.d.ts +0 -0
- /package/{components → dist/components}/dropdown/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/index.js +0 -0
- /package/{components → dist/components}/dropdown/types.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/types.js +0 -0
- /package/{components → dist/components}/icon/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/icon/index.d.ts +0 -0
- /package/{components → dist/components}/icon/index.d.ts.map +0 -0
- /package/{components → dist/components}/icon/index.js +0 -0
- /package/{components → dist/components}/icon/types.d.ts.map +0 -0
- /package/{components → dist/components}/icon/types.js +0 -0
- /package/{components → dist/components}/index.d.ts +0 -0
- /package/{components → dist/components}/index.d.ts.map +0 -0
- /package/{components → dist/components}/index.js +0 -0
- /package/{components → dist/components}/paginator/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/paginator/index.d.ts +0 -0
- /package/{components → dist/components}/paginator/index.d.ts.map +0 -0
- /package/{components → dist/components}/paginator/index.js +0 -0
- /package/{components → dist/components}/paginator/types.d.ts.map +0 -0
- /package/{components → dist/components}/paginator/types.js +0 -0
- /package/{components → dist/components}/paginator/utils.d.ts +0 -0
- /package/{components → dist/components}/paginator/utils.d.ts.map +0 -0
- /package/{components → dist/components}/paginator/utils.js +0 -0
- /package/{components → dist/components}/primitives/checkbox/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/checkbox/component/index.js +0 -0
- /package/{components → dist/components}/primitives/checkbox/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/checkbox/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/checkbox/index.js +0 -0
- /package/{components → dist/components}/primitives/checkbox/types.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/checkbox/types.js +0 -0
- /package/{components → dist/components}/primitives/date/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/date/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/date/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/date/index.js +0 -0
- /package/{components → dist/components}/primitives/date/types.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/date/types.js +0 -0
- /package/{components → dist/components}/primitives/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/index.js +0 -0
- /package/{components → dist/components}/primitives/multiline/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/multiline/components/multilineWithLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/multiline/components/multilineWithoutLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/multiline/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/multiline/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/multiline/index.js +0 -0
- /package/{components → dist/components}/primitives/multiline/types.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/multiline/types.js +0 -0
- /package/{components → dist/components}/primitives/number/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/number/components/withLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/number/components/withoutLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/number/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/number/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/number/index.js +0 -0
- /package/{components → dist/components}/primitives/number/types.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/number/types.js +0 -0
- /package/{components → dist/components}/primitives/password/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/password/components/withLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/password/components/withoutLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/password/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/password/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/password/index.js +0 -0
- /package/{components → dist/components}/primitives/password/types.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/password/types.js +0 -0
- /package/{components → dist/components}/primitives/text/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/text/components/textWithLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/text/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/text/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/text/index.js +0 -0
- /package/{components → dist/components}/primitives/text/types.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/text/types.js +0 -0
- /package/{components → dist/components}/primitives/types/baseProps.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/types/baseProps.js +0 -0
- /package/{components → dist/components}/primitives/types/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/types/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/types/index.js +0 -0
- /package/{components → dist/components}/primitives/types/label.d.ts +0 -0
- /package/{components → dist/components}/primitives/types/label.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/types/label.js +0 -0
- /package/{components → dist/components}/primitives/types/validation/index.d.ts +0 -0
- /package/{components → dist/components}/primitives/types/validation/index.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/types/validation/index.js +0 -0
- /package/{components → dist/components}/primitives/types/validation/state.d.ts +0 -0
- /package/{components → dist/components}/primitives/types/validation/state.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/types/validation/state.js +0 -0
- /package/{components → dist/components}/primitives/types/validation/status.d.ts +0 -0
- /package/{components → dist/components}/primitives/types/validation/status.d.ts.map +0 -0
- /package/{components → dist/components}/primitives/types/validation/status.js +0 -0
- /package/{components → dist/components}/search/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/search/index.d.ts +0 -0
- /package/{components → dist/components}/search/index.d.ts.map +0 -0
- /package/{components → dist/components}/search/index.js +0 -0
- /package/{components → dist/components}/search/types.d.ts.map +0 -0
- /package/{components → dist/components}/search/types.js +0 -0
- /package/{components → dist/components}/tabs/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/tabs/components/item/index.d.ts.map +0 -0
- /package/{components → dist/components}/tabs/index.d.ts +0 -0
- /package/{components → dist/components}/tabs/index.d.ts.map +0 -0
- /package/{components → dist/components}/tabs/index.js +0 -0
- /package/{components → dist/components}/tabs/types.d.ts.map +0 -0
- /package/{components → dist/components}/tabs/types.js +0 -0
- /package/{components → dist/components}/tag/component/index.d.ts.map +0 -0
- /package/{components → dist/components}/tag/index.d.ts +0 -0
- /package/{components → dist/components}/tag/index.d.ts.map +0 -0
- /package/{components → dist/components}/tag/index.js +0 -0
- /package/{components → dist/components}/tag/types.d.ts.map +0 -0
- /package/{components → dist/components}/tag/types.js +0 -0
- /package/{components → dist/components}/types.d.ts +0 -0
- /package/{components → dist/components}/types.d.ts.map +0 -0
- /package/{components → dist/components}/types.js +0 -0
- /package/{hooks → dist/hooks}/index.d.ts +0 -0
- /package/{hooks → dist/hooks}/index.d.ts.map +0 -0
- /package/{hooks → dist/hooks}/index.js +0 -0
- /package/{hooks → dist/hooks}/useComponentOutsideClick.d.ts +0 -0
- /package/{hooks → dist/hooks}/useComponentOutsideClick.d.ts.map +0 -0
- /package/{hooks → dist/hooks}/useComponentOutsideClick.js +0 -0
- /package/{hooks → dist/hooks}/usePagination.d.ts +0 -0
- /package/{hooks → dist/hooks}/usePagination.d.ts.map +0 -0
- /package/{hooks → dist/hooks}/usePagination.js +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{index.d.ts.map → dist/index.d.ts.map} +0 -0
- /package/{index.js → dist/index.js} +0 -0
- /package/{tsconfig.tsbuildinfo → dist/tsconfig.tsbuildinfo} +0 -0
- /package/{utils → dist/utils}/dataAttributes.d.ts.map +0 -0
- /package/{utils → dist/utils}/dataAttributes.js +0 -0
- /package/{utils → dist/utils}/formValidation.d.ts.map +0 -0
- /package/{utils → dist/utils}/index.d.ts +0 -0
- /package/{utils → dist/utils}/index.d.ts.map +0 -0
- /package/{utils → dist/utils}/index.js +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DependencyList, useCallback, useEffect } from "react";
|
|
2
|
+
|
|
3
|
+
import { isNullOrUndefined, isNull } from "@bodynarf/utils";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Subscribe to component outside click
|
|
7
|
+
* @param selector Component root selector
|
|
8
|
+
* @param clickHandleCondition Condition to handle document click
|
|
9
|
+
* @param clickHandleChange Handler of outside component click
|
|
10
|
+
* @param clickListenCondition Condition to start listening document clicks
|
|
11
|
+
* @param dependencies Additional dependencies to update hook
|
|
12
|
+
*/
|
|
13
|
+
export const useComponentOutsideClick = (
|
|
14
|
+
selector: string,
|
|
15
|
+
clickHandleCondition: boolean,
|
|
16
|
+
clickHandleChange: () => void,
|
|
17
|
+
clickListenCondition?: boolean,
|
|
18
|
+
dependencies?: DependencyList
|
|
19
|
+
): void => {
|
|
20
|
+
const onDocumentClick = useCallback(
|
|
21
|
+
(event: MouseEvent): void => {
|
|
22
|
+
if (clickHandleCondition) {
|
|
23
|
+
const target: HTMLElement = event.target as HTMLElement;
|
|
24
|
+
|
|
25
|
+
if (isNullOrUndefined(target)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const relatedComponent: Element | null =
|
|
30
|
+
target.closest(selector);
|
|
31
|
+
|
|
32
|
+
if (isNull(relatedComponent)) {
|
|
33
|
+
clickHandleChange();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
37
|
+
}, [clickHandleCondition, selector, clickHandleChange, dependencies]);
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (isNullOrUndefined(clickListenCondition) || clickListenCondition === true) {
|
|
41
|
+
document.addEventListener("click", onDocumentClick);
|
|
42
|
+
|
|
43
|
+
return (): void => document.removeEventListener("click", onDocumentClick);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return () => { };
|
|
47
|
+
}, [clickListenCondition, onDocumentClick]);
|
|
48
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DependencyList, useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
|
|
3
|
+
/** Paginator hook state */
|
|
4
|
+
export interface PaginationState {
|
|
5
|
+
/** Number of current page */
|
|
6
|
+
currentPage: number;
|
|
7
|
+
|
|
8
|
+
/** Amount of pages */
|
|
9
|
+
pagesCount: number;
|
|
10
|
+
|
|
11
|
+
/** Handler of page change */
|
|
12
|
+
onPageChange: (page: number) => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Default page size */
|
|
16
|
+
const defaultPageSize: number = 30;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Hook to pagination state, return hooked values and handler for pagination
|
|
20
|
+
* @param length Pagionation items count
|
|
21
|
+
* @param size Page size. Default is 30
|
|
22
|
+
* @param initPage Initial page. Default is 1
|
|
23
|
+
* @param dependencies List of dependencies. On any dependency update current page will be set to 1
|
|
24
|
+
* @returns Pair of hook-stored state and handler for slicing current page items
|
|
25
|
+
*/
|
|
26
|
+
export const usePagination = (
|
|
27
|
+
length: number,
|
|
28
|
+
size: number = defaultPageSize,
|
|
29
|
+
initPage: number = 1,
|
|
30
|
+
dependencies: DependencyList = []
|
|
31
|
+
): [PaginationState, (data: Array<any>) => Array<any>] => {
|
|
32
|
+
const [currentPage, setCurrentPage] = useState(initPage);
|
|
33
|
+
const count = useMemo(() => Math.ceil(length / size), [size, length]);
|
|
34
|
+
const onChange = useCallback((page: number) => setCurrentPage(page), [setCurrentPage]);
|
|
35
|
+
|
|
36
|
+
const paginate = useCallback(
|
|
37
|
+
(data: Array<any>): Array<any> => {
|
|
38
|
+
const limit = size;
|
|
39
|
+
const offstet = (currentPage - 1) * size;
|
|
40
|
+
|
|
41
|
+
return data.slice(offstet, offstet + limit);
|
|
42
|
+
},
|
|
43
|
+
[size, currentPage]
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const state = useMemo(() => ({
|
|
47
|
+
currentPage: currentPage,
|
|
48
|
+
pagesCount: count,
|
|
49
|
+
onPageChange: onChange
|
|
50
|
+
}), [currentPage, count, onChange]);
|
|
51
|
+
|
|
52
|
+
useEffect(() => setCurrentPage(1), dependencies);
|
|
53
|
+
|
|
54
|
+
return [state, paginate];
|
|
55
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isNullOrUndefined } from "@bodynarf/utils";
|
|
2
|
+
|
|
3
|
+
import { DataAttributes } from "@bbr";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Map object with key-value pairs to html data attributes format
|
|
7
|
+
* @param dataAttributes Object with data attribute values
|
|
8
|
+
* @returns Object that could be injected into react html element as data-* attribute values
|
|
9
|
+
*/
|
|
10
|
+
export const mapDataAttributes = (dataAttributes: DataAttributes): object => {
|
|
11
|
+
const mappedAttributes =
|
|
12
|
+
Object
|
|
13
|
+
.entries(dataAttributes)
|
|
14
|
+
.reduce((result, [key, value]) => {
|
|
15
|
+
if (isNullOrUndefined(value)) {
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const newKey = key.startsWith("data-") ? key : `data-${key}`;
|
|
20
|
+
|
|
21
|
+
result[newKey] = value;
|
|
22
|
+
return result;
|
|
23
|
+
}, {} as any);
|
|
24
|
+
|
|
25
|
+
return mappedAttributes;
|
|
26
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isNullOrUndefined } from "@bodynarf/utils";
|
|
2
|
+
|
|
3
|
+
import { ElementColor, ValidationState, ValidationStatus } from "@bbr/components";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Get current validation state values
|
|
7
|
+
* @param style Component style color
|
|
8
|
+
* @param validationState Current form item validation state
|
|
9
|
+
* @returns [Is validation applicable; classname attribute value; validation messages]
|
|
10
|
+
*/
|
|
11
|
+
export const getValidationValues = (style?: ElementColor, validationState?: ValidationState): [boolean, string, Array<string>] => {
|
|
12
|
+
const validationStateDefined = !isNullOrUndefined(validationState) && validationState!.status !== ValidationStatus.None;
|
|
13
|
+
const styleClassName = getStyleClassName(style, validationState);
|
|
14
|
+
|
|
15
|
+
const messages = validationState?.messages ?? [];
|
|
16
|
+
|
|
17
|
+
return [validationStateDefined, styleClassName, messages];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Get classname attribute value based on current validation state and form item component style prop
|
|
22
|
+
* @param style Component style color
|
|
23
|
+
* @param validationState Current form item validation state
|
|
24
|
+
* @returns Classname attribute value
|
|
25
|
+
*/
|
|
26
|
+
export const getStyleClassName = (style?: ElementColor, validationState?: ValidationState): string => {
|
|
27
|
+
if (isNullOrUndefined(validationState)) {
|
|
28
|
+
return isNullOrUndefined(style) ? "" : `is-${style}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const { status } = validationState!;
|
|
32
|
+
switch (status) {
|
|
33
|
+
case ValidationStatus.Valid: {
|
|
34
|
+
return "is-success";
|
|
35
|
+
}
|
|
36
|
+
case ValidationStatus.Invalid: {
|
|
37
|
+
return "is-danger";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return isNullOrUndefined(style) ? "" : `is-${style}`;
|
|
42
|
+
};
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "esnext",
|
|
4
|
+
"jsx": "react-jsx",
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"esModuleInterop": true,
|
|
7
|
+
"forceConsistentCasingInFileNames": true,
|
|
8
|
+
"strict": true,
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"declaration": true,
|
|
11
|
+
"declarationMap": true,
|
|
12
|
+
"outDir": "./dist",
|
|
13
|
+
"incremental": true,
|
|
14
|
+
"moduleResolution": "Node",
|
|
15
|
+
"noUnusedLocals": true,
|
|
16
|
+
"noUnusedParameters": true,
|
|
17
|
+
"noImplicitReturns": true,
|
|
18
|
+
"baseUrl": "./",
|
|
19
|
+
"paths": {
|
|
20
|
+
"@bbr": [
|
|
21
|
+
"./src"
|
|
22
|
+
],
|
|
23
|
+
"@bbr/components": [
|
|
24
|
+
"./src/components"
|
|
25
|
+
],
|
|
26
|
+
"@bbr/components/*": [
|
|
27
|
+
"./src/components/*",
|
|
28
|
+
"./src/components/primitives/*"
|
|
29
|
+
],
|
|
30
|
+
"@bbr/hooks": [
|
|
31
|
+
"./src/hooks"
|
|
32
|
+
],
|
|
33
|
+
"@bbr/utils": [
|
|
34
|
+
"./src/utils"
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"exclude": [
|
|
39
|
+
"node_modules",
|
|
40
|
+
"dist"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{components → dist/components}/primitives/number/components/withLabel/index.d.ts.map
RENAMED
|
File without changes
|
/package/{components → dist/components}/primitives/number/components/withoutLabel/index.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{components → dist/components}/primitives/password/components/withLabel/index.d.ts.map
RENAMED
|
File without changes
|
/package/{components → dist/components}/primitives/password/components/withoutLabel/index.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{components → dist/components}/primitives/text/components/textWithLabel/index.d.ts.map
RENAMED
|
File without changes
|
/package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|