@kosmeo-ui/react 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +86 -0
- package/dist/components/buttons/button/index.d.ts +40 -0
- package/dist/components/buttons/button/index.d.ts.map +1 -0
- package/dist/components/buttons/button/index.js +11 -0
- package/dist/components/buttons/button/index.js.map +1 -0
- package/dist/components/buttons/button/styles.css +193 -0
- package/dist/components/buttons/iconButton/index.d.ts +10 -0
- package/dist/components/buttons/iconButton/index.d.ts.map +1 -0
- package/dist/components/buttons/iconButton/index.js +10 -0
- package/dist/components/buttons/iconButton/index.js.map +1 -0
- package/dist/components/buttons/iconButton/styles.css +14 -0
- package/dist/components/buttons/rowActions/index.d.ts +12 -0
- package/dist/components/buttons/rowActions/index.d.ts.map +1 -0
- package/dist/components/buttons/rowActions/index.js +13 -0
- package/dist/components/buttons/rowActions/index.js.map +1 -0
- package/dist/components/buttons/rowActions/styles.css +27 -0
- package/dist/components/data-display/addressBlock/index.d.ts +26 -0
- package/dist/components/data-display/addressBlock/index.d.ts.map +1 -0
- package/dist/components/data-display/addressBlock/index.js +13 -0
- package/dist/components/data-display/addressBlock/index.js.map +1 -0
- package/dist/components/data-display/addressBlock/styles.css +41 -0
- package/dist/components/data-display/colorSwatch/index.d.ts +12 -0
- package/dist/components/data-display/colorSwatch/index.d.ts.map +1 -0
- package/dist/components/data-display/colorSwatch/index.js +8 -0
- package/dist/components/data-display/colorSwatch/index.js.map +1 -0
- package/dist/components/data-display/colorSwatch/styles.css +25 -0
- package/dist/components/data-display/dataTable/index.d.ts +28 -0
- package/dist/components/data-display/dataTable/index.d.ts.map +1 -0
- package/dist/components/data-display/dataTable/index.js +84 -0
- package/dist/components/data-display/dataTable/index.js.map +1 -0
- package/dist/components/data-display/dataTable/styles.css +54 -0
- package/dist/components/data-display/dataTable/types.d.ts +68 -0
- package/dist/components/data-display/dataTable/types.d.ts.map +1 -0
- package/dist/components/data-display/dataTable/types.js +2 -0
- package/dist/components/data-display/dataTable/types.js.map +1 -0
- package/dist/components/data-display/dataTable/utils/parseDataKey.d.ts +3 -0
- package/dist/components/data-display/dataTable/utils/parseDataKey.d.ts.map +1 -0
- package/dist/components/data-display/dataTable/utils/parseDataKey.js +44 -0
- package/dist/components/data-display/dataTable/utils/parseDataKey.js.map +1 -0
- package/dist/components/data-display/imagePreview/index.d.ts +13 -0
- package/dist/components/data-display/imagePreview/index.d.ts.map +1 -0
- package/dist/components/data-display/imagePreview/index.js +10 -0
- package/dist/components/data-display/imagePreview/index.js.map +1 -0
- package/dist/components/data-display/imagePreview/styles.css +52 -0
- package/dist/components/data-display/infiniteScroll/filters/index.d.ts +11 -0
- package/dist/components/data-display/infiniteScroll/filters/index.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/index.js +30 -0
- package/dist/components/data-display/infiniteScroll/filters/index.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/listFilter.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/filters/listFilter.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/listFilter.js +40 -0
- package/dist/components/data-display/infiniteScroll/filters/listFilter.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.js +126 -0
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/searchFilter.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/filters/searchFilter.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/searchFilter.js +41 -0
- package/dist/components/data-display/infiniteScroll/filters/searchFilter.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.js +53 -0
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/filters/styles.css +48 -0
- package/dist/components/data-display/infiniteScroll/header/deleteButton.d.ts +10 -0
- package/dist/components/data-display/infiniteScroll/header/deleteButton.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/deleteButton.js +29 -0
- package/dist/components/data-display/infiniteScroll/header/deleteButton.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/index.d.ts +22 -0
- package/dist/components/data-display/infiniteScroll/header/index.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/index.js +15 -0
- package/dist/components/data-display/infiniteScroll/header/index.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/limit.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/header/limit.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/limit.js +34 -0
- package/dist/components/data-display/infiniteScroll/header/limit.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/sortBy.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/header/sortBy.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/sortBy.js +24 -0
- package/dist/components/data-display/infiniteScroll/header/sortBy.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/sortDirection.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/header/sortDirection.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/sortDirection.js +19 -0
- package/dist/components/data-display/infiniteScroll/header/sortDirection.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/header/styles.css +64 -0
- package/dist/components/data-display/infiniteScroll/index.d.ts +57 -0
- package/dist/components/data-display/infiniteScroll/index.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/index.js +190 -0
- package/dist/components/data-display/infiniteScroll/index.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/styles.css +37 -0
- package/dist/components/data-display/infiniteScroll/table/index.d.ts +16 -0
- package/dist/components/data-display/infiniteScroll/table/index.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/table/index.js +15 -0
- package/dist/components/data-display/infiniteScroll/table/index.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/index.d.ts +9 -0
- package/dist/components/data-display/infiniteScroll/tags/index.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/index.js +43 -0
- package/dist/components/data-display/infiniteScroll/tags/index.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.d.ts +10 -0
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.js +82 -0
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.d.ts +11 -0
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.js +54 -0
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.d.ts +10 -0
- package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.js +22 -0
- package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.d.ts +11 -0
- package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.js +26 -0
- package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/tags/styles.css +65 -0
- package/dist/components/data-display/infiniteScroll/types.d.ts +87 -0
- package/dist/components/data-display/infiniteScroll/types.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/types.js +2 -0
- package/dist/components/data-display/infiniteScroll/types.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.d.ts +12 -0
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.js +49 -0
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.js.map +1 -0
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.d.ts +15 -0
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.d.ts.map +1 -0
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.js +87 -0
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.js.map +1 -0
- package/dist/components/data-display/listCard/index.d.ts +13 -0
- package/dist/components/data-display/listCard/index.d.ts.map +1 -0
- package/dist/components/data-display/listCard/index.js +9 -0
- package/dist/components/data-display/listCard/index.js.map +1 -0
- package/dist/components/data-display/listCard/styles.css +48 -0
- package/dist/components/data-display/listRow/index.d.ts +10 -0
- package/dist/components/data-display/listRow/index.d.ts.map +1 -0
- package/dist/components/data-display/listRow/index.js +8 -0
- package/dist/components/data-display/listRow/index.js.map +1 -0
- package/dist/components/data-display/listRow/styles.css +22 -0
- package/dist/components/data-display/recoveryCodeGrid/index.d.ts +11 -0
- package/dist/components/data-display/recoveryCodeGrid/index.d.ts.map +1 -0
- package/dist/components/data-display/recoveryCodeGrid/index.js +8 -0
- package/dist/components/data-display/recoveryCodeGrid/index.js.map +1 -0
- package/dist/components/data-display/recoveryCodeGrid/styles.css +47 -0
- package/dist/components/data-display/secretDisplay/index.d.ts +19 -0
- package/dist/components/data-display/secretDisplay/index.d.ts.map +1 -0
- package/dist/components/data-display/secretDisplay/index.js +24 -0
- package/dist/components/data-display/secretDisplay/index.js.map +1 -0
- package/dist/components/data-display/secretDisplay/styles.css +24 -0
- package/dist/components/data-display/statCard/index.d.ts +22 -0
- package/dist/components/data-display/statCard/index.d.ts.map +1 -0
- package/dist/components/data-display/statCard/index.js +24 -0
- package/dist/components/data-display/statCard/index.js.map +1 -0
- package/dist/components/data-display/statCard/styles.css +96 -0
- package/dist/components/data-display/summaryRow/index.d.ts +12 -0
- package/dist/components/data-display/summaryRow/index.d.ts.map +1 -0
- package/dist/components/data-display/summaryRow/index.js +8 -0
- package/dist/components/data-display/summaryRow/index.js.map +1 -0
- package/dist/components/data-display/summaryRow/styles.css +26 -0
- package/dist/components/data-display/table/index.d.ts +37 -0
- package/dist/components/data-display/table/index.d.ts.map +1 -0
- package/dist/components/data-display/table/index.js +50 -0
- package/dist/components/data-display/table/index.js.map +1 -0
- package/dist/components/data-display/table/styles.css +61 -0
- package/dist/components/data-display/tagCard/index.d.ts +10 -0
- package/dist/components/data-display/tagCard/index.d.ts.map +1 -0
- package/dist/components/data-display/tagCard/index.js +12 -0
- package/dist/components/data-display/tagCard/index.js.map +1 -0
- package/dist/components/data-display/tagCard/styles.css +14 -0
- package/dist/components/feedback/alert/index.d.ts +17 -0
- package/dist/components/feedback/alert/index.d.ts.map +1 -0
- package/dist/components/feedback/alert/index.js +26 -0
- package/dist/components/feedback/alert/index.js.map +1 -0
- package/dist/components/feedback/alert/styles.css +88 -0
- package/dist/components/feedback/badge/index.d.ts +23 -0
- package/dist/components/feedback/badge/index.d.ts.map +1 -0
- package/dist/components/feedback/badge/index.js +33 -0
- package/dist/components/feedback/badge/index.js.map +1 -0
- package/dist/components/feedback/badge/styles.css +162 -0
- package/dist/components/feedback/badge/utils.d.ts +6 -0
- package/dist/components/feedback/badge/utils.d.ts.map +1 -0
- package/dist/components/feedback/badge/utils.js +17 -0
- package/dist/components/feedback/badge/utils.js.map +1 -0
- package/dist/components/feedback/emptyState/index.d.ts +13 -0
- package/dist/components/feedback/emptyState/index.d.ts.map +1 -0
- package/dist/components/feedback/emptyState/index.js +8 -0
- package/dist/components/feedback/emptyState/index.js.map +1 -0
- package/dist/components/feedback/emptyState/styles.css +32 -0
- package/dist/components/feedback/loadingOverlay/index.d.ts +12 -0
- package/dist/components/feedback/loadingOverlay/index.d.ts.map +1 -0
- package/dist/components/feedback/loadingOverlay/index.js +30 -0
- package/dist/components/feedback/loadingOverlay/index.js.map +1 -0
- package/dist/components/feedback/loadingOverlay/styles.css +48 -0
- package/dist/components/feedback/progressBar/index.d.ts +11 -0
- package/dist/components/feedback/progressBar/index.d.ts.map +1 -0
- package/dist/components/feedback/progressBar/index.js +11 -0
- package/dist/components/feedback/progressBar/index.js.map +1 -0
- package/dist/components/feedback/progressBar/styles.css +42 -0
- package/dist/components/feedback/spinner/index.d.ts +7 -0
- package/dist/components/feedback/spinner/index.d.ts.map +1 -0
- package/dist/components/feedback/spinner/index.js +9 -0
- package/dist/components/feedback/spinner/index.js.map +1 -0
- package/dist/components/feedback/spinner/styles.css +64 -0
- package/dist/components/feedback/tooltip/index.d.ts +32 -0
- package/dist/components/feedback/tooltip/index.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/index.js +37 -0
- package/dist/components/feedback/tooltip/index.js.map +1 -0
- package/dist/components/feedback/tooltip/styles.css +84 -0
- package/dist/components/forms/detailField/index.d.ts +11 -0
- package/dist/components/forms/detailField/index.d.ts.map +1 -0
- package/dist/components/forms/detailField/index.js +8 -0
- package/dist/components/forms/detailField/index.js.map +1 -0
- package/dist/components/forms/detailField/styles.css +27 -0
- package/dist/components/forms/fieldShell/index.d.ts +24 -0
- package/dist/components/forms/fieldShell/index.d.ts.map +1 -0
- package/dist/components/forms/fieldShell/index.js +8 -0
- package/dist/components/forms/fieldShell/index.js.map +1 -0
- package/dist/components/forms/fieldShell/styles.css +38 -0
- package/dist/components/forms/form/index.d.ts +11 -0
- package/dist/components/forms/form/index.d.ts.map +1 -0
- package/dist/components/forms/form/index.js +56 -0
- package/dist/components/forms/form/index.js.map +1 -0
- package/dist/components/forms/form/styles.css +27 -0
- package/dist/components/forms/formActions/formError.d.ts +7 -0
- package/dist/components/forms/formActions/formError.d.ts.map +1 -0
- package/dist/components/forms/formActions/formError.js +7 -0
- package/dist/components/forms/formActions/formError.js.map +1 -0
- package/dist/components/forms/formActions/index.d.ts +14 -0
- package/dist/components/forms/formActions/index.d.ts.map +1 -0
- package/dist/components/forms/formActions/index.js +8 -0
- package/dist/components/forms/formActions/index.js.map +1 -0
- package/dist/components/forms/formActions/styles.css +50 -0
- package/dist/components/forms/formGrid/index.d.ts +10 -0
- package/dist/components/forms/formGrid/index.d.ts.map +1 -0
- package/dist/components/forms/formGrid/index.js +8 -0
- package/dist/components/forms/formGrid/index.js.map +1 -0
- package/dist/components/forms/formGrid/styles.css +41 -0
- package/dist/components/forms/infoRow/index.d.ts +11 -0
- package/dist/components/forms/infoRow/index.d.ts.map +1 -0
- package/dist/components/forms/infoRow/index.js +8 -0
- package/dist/components/forms/infoRow/index.js.map +1 -0
- package/dist/components/forms/infoRow/styles.css +38 -0
- package/dist/components/forms/optionsGroup/index.d.ts +11 -0
- package/dist/components/forms/optionsGroup/index.d.ts.map +1 -0
- package/dist/components/forms/optionsGroup/index.js +8 -0
- package/dist/components/forms/optionsGroup/index.js.map +1 -0
- package/dist/components/forms/optionsGroup/styles.css +34 -0
- package/dist/components/forms/requiredAsterisk/index.d.ts +4 -0
- package/dist/components/forms/requiredAsterisk/index.d.ts.map +1 -0
- package/dist/components/forms/requiredAsterisk/index.js +6 -0
- package/dist/components/forms/requiredAsterisk/index.js.map +1 -0
- package/dist/components/forms/requiredAsterisk/styles.css +3 -0
- package/dist/components/index.d.ts +93 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +65 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/inputs/checkbox/index.d.ts +17 -0
- package/dist/components/inputs/checkbox/index.d.ts.map +1 -0
- package/dist/components/inputs/checkbox/index.js +11 -0
- package/dist/components/inputs/checkbox/index.js.map +1 -0
- package/dist/components/inputs/checkbox/styles.css +48 -0
- package/dist/components/inputs/checkboxGroup/index.d.ts +17 -0
- package/dist/components/inputs/checkboxGroup/index.d.ts.map +1 -0
- package/dist/components/inputs/checkboxGroup/index.js +16 -0
- package/dist/components/inputs/checkboxGroup/index.js.map +1 -0
- package/dist/components/inputs/colorPicker/index.d.ts +16 -0
- package/dist/components/inputs/colorPicker/index.d.ts.map +1 -0
- package/dist/components/inputs/colorPicker/index.js +20 -0
- package/dist/components/inputs/colorPicker/index.js.map +1 -0
- package/dist/components/inputs/colorPicker/styles.css +52 -0
- package/dist/components/inputs/dateInput/index.d.ts +31 -0
- package/dist/components/inputs/dateInput/index.d.ts.map +1 -0
- package/dist/components/inputs/dateInput/index.js +18 -0
- package/dist/components/inputs/dateInput/index.js.map +1 -0
- package/dist/components/inputs/dateInput/styles.css +22 -0
- package/dist/components/inputs/dateInput/utils.d.ts +5 -0
- package/dist/components/inputs/dateInput/utils.d.ts.map +1 -0
- package/dist/components/inputs/dateInput/utils.js +30 -0
- package/dist/components/inputs/dateInput/utils.js.map +1 -0
- package/dist/components/inputs/dropdown/index.d.ts +18 -0
- package/dist/components/inputs/dropdown/index.d.ts.map +1 -0
- package/dist/components/inputs/dropdown/index.js +30 -0
- package/dist/components/inputs/dropdown/index.js.map +1 -0
- package/dist/components/inputs/dropdown/styles.css +46 -0
- package/dist/components/inputs/dropdownArrowButton/index.d.ts +10 -0
- package/dist/components/inputs/dropdownArrowButton/index.d.ts.map +1 -0
- package/dist/components/inputs/dropdownArrowButton/index.js +10 -0
- package/dist/components/inputs/dropdownArrowButton/index.js.map +1 -0
- package/dist/components/inputs/dropdownArrowButton/styles.css +47 -0
- package/dist/components/inputs/fileDropZone/index.d.ts +16 -0
- package/dist/components/inputs/fileDropZone/index.d.ts.map +1 -0
- package/dist/components/inputs/fileDropZone/index.js +66 -0
- package/dist/components/inputs/fileDropZone/index.js.map +1 -0
- package/dist/components/inputs/fileDropZone/styles.css +43 -0
- package/dist/components/inputs/fileUpload/index.d.ts +61 -0
- package/dist/components/inputs/fileUpload/index.d.ts.map +1 -0
- package/dist/components/inputs/fileUpload/index.js +92 -0
- package/dist/components/inputs/fileUpload/index.js.map +1 -0
- package/dist/components/inputs/fileUpload/styles.css +104 -0
- package/dist/components/inputs/input/index.d.ts +62 -0
- package/dist/components/inputs/input/index.d.ts.map +1 -0
- package/dist/components/inputs/input/index.js +33 -0
- package/dist/components/inputs/input/index.js.map +1 -0
- package/dist/components/inputs/input/styles.css +152 -0
- package/dist/components/inputs/languageSelect/index.d.ts +18 -0
- package/dist/components/inputs/languageSelect/index.d.ts.map +1 -0
- package/dist/components/inputs/languageSelect/index.js +40 -0
- package/dist/components/inputs/languageSelect/index.js.map +1 -0
- package/dist/components/inputs/multiSelect/dropDown.d.ts +16 -0
- package/dist/components/inputs/multiSelect/dropDown.d.ts.map +1 -0
- package/dist/components/inputs/multiSelect/dropDown.js +31 -0
- package/dist/components/inputs/multiSelect/dropDown.js.map +1 -0
- package/dist/components/inputs/multiSelect/index.d.ts +39 -0
- package/dist/components/inputs/multiSelect/index.d.ts.map +1 -0
- package/dist/components/inputs/multiSelect/index.js +134 -0
- package/dist/components/inputs/multiSelect/index.js.map +1 -0
- package/dist/components/inputs/multiSelect/styles.css +265 -0
- package/dist/components/inputs/phoneInput/index.d.ts +25 -0
- package/dist/components/inputs/phoneInput/index.d.ts.map +1 -0
- package/dist/components/inputs/phoneInput/index.js +120 -0
- package/dist/components/inputs/phoneInput/index.js.map +1 -0
- package/dist/components/inputs/phoneInput/styles.css +118 -0
- package/dist/components/inputs/radioGroup/index.d.ts +17 -0
- package/dist/components/inputs/radioGroup/index.d.ts.map +1 -0
- package/dist/components/inputs/radioGroup/index.js +9 -0
- package/dist/components/inputs/radioGroup/index.js.map +1 -0
- package/dist/components/inputs/richTextEditor/index.d.ts +29 -0
- package/dist/components/inputs/richTextEditor/index.d.ts.map +1 -0
- package/dist/components/inputs/richTextEditor/index.js +115 -0
- package/dist/components/inputs/richTextEditor/index.js.map +1 -0
- package/dist/components/inputs/richTextEditor/styles.css +184 -0
- package/dist/components/inputs/searchList/index.d.ts +38 -0
- package/dist/components/inputs/searchList/index.d.ts.map +1 -0
- package/dist/components/inputs/searchList/index.js +148 -0
- package/dist/components/inputs/searchList/index.js.map +1 -0
- package/dist/components/inputs/searchList/styles.css +114 -0
- package/dist/components/inputs/searchSelect/index.d.ts +26 -0
- package/dist/components/inputs/searchSelect/index.d.ts.map +1 -0
- package/dist/components/inputs/searchSelect/index.js +82 -0
- package/dist/components/inputs/searchSelect/index.js.map +1 -0
- package/dist/components/inputs/select/index.d.ts +31 -0
- package/dist/components/inputs/select/index.d.ts.map +1 -0
- package/dist/components/inputs/select/index.js +35 -0
- package/dist/components/inputs/select/index.js.map +1 -0
- package/dist/components/inputs/select/styles.css +66 -0
- package/dist/components/inputs/switch/index.d.ts +14 -0
- package/dist/components/inputs/switch/index.d.ts.map +1 -0
- package/dist/components/inputs/switch/index.js +10 -0
- package/dist/components/inputs/switch/index.js.map +1 -0
- package/dist/components/inputs/switch/styles.css +116 -0
- package/dist/components/inputs/textArea/index.d.ts +43 -0
- package/dist/components/inputs/textArea/index.d.ts.map +1 -0
- package/dist/components/inputs/textArea/index.js +47 -0
- package/dist/components/inputs/textArea/index.js.map +1 -0
- package/dist/components/inputs/textArea/styles.css +55 -0
- package/dist/components/inputs/typeahead/index.d.ts +65 -0
- package/dist/components/inputs/typeahead/index.d.ts.map +1 -0
- package/dist/components/inputs/typeahead/index.js +232 -0
- package/dist/components/inputs/typeahead/index.js.map +1 -0
- package/dist/components/inputs/typeahead/styles.css +86 -0
- package/dist/components/layout/authPage/index.d.ts +14 -0
- package/dist/components/layout/authPage/index.d.ts.map +1 -0
- package/dist/components/layout/authPage/index.js +8 -0
- package/dist/components/layout/authPage/index.js.map +1 -0
- package/dist/components/layout/authPage/styles.css +63 -0
- package/dist/components/layout/borderedSection/index.d.ts +18 -0
- package/dist/components/layout/borderedSection/index.d.ts.map +1 -0
- package/dist/components/layout/borderedSection/index.js +17 -0
- package/dist/components/layout/borderedSection/index.js.map +1 -0
- package/dist/components/layout/borderedSection/styles.css +46 -0
- package/dist/components/layout/card/index.d.ts +29 -0
- package/dist/components/layout/card/index.d.ts.map +1 -0
- package/dist/components/layout/card/index.js +25 -0
- package/dist/components/layout/card/index.js.map +1 -0
- package/dist/components/layout/card/styles.css +160 -0
- package/dist/components/layout/centered/index.d.ts +5 -0
- package/dist/components/layout/centered/index.d.ts.map +1 -0
- package/dist/components/layout/centered/index.js +8 -0
- package/dist/components/layout/centered/index.js.map +1 -0
- package/dist/components/layout/centered/styles.css +9 -0
- package/dist/components/layout/col/index.d.ts +21 -0
- package/dist/components/layout/col/index.d.ts.map +1 -0
- package/dist/components/layout/col/index.js +20 -0
- package/dist/components/layout/col/index.js.map +1 -0
- package/dist/components/layout/col/styles.css +27 -0
- package/dist/components/layout/page/index.d.ts +20 -0
- package/dist/components/layout/page/index.d.ts.map +1 -0
- package/dist/components/layout/page/index.js +22 -0
- package/dist/components/layout/page/index.js.map +1 -0
- package/dist/components/layout/page/styles.css +53 -0
- package/dist/components/layout/row/index.d.ts +19 -0
- package/dist/components/layout/row/index.d.ts.map +1 -0
- package/dist/components/layout/row/index.js +19 -0
- package/dist/components/layout/row/index.js.map +1 -0
- package/dist/components/layout/row/styles.css +33 -0
- package/dist/components/layout/sectionHeader/index.d.ts +26 -0
- package/dist/components/layout/sectionHeader/index.d.ts.map +1 -0
- package/dist/components/layout/sectionHeader/index.js +19 -0
- package/dist/components/layout/sectionHeader/index.js.map +1 -0
- package/dist/components/layout/sectionHeader/styles.css +116 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts +21 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumbs/index.js +9 -0
- package/dist/components/navigation/breadcrumbs/index.js.map +1 -0
- package/dist/components/navigation/breadcrumbs/styles.css +42 -0
- package/dist/components/navigation/sidebar/index.d.ts +23 -0
- package/dist/components/navigation/sidebar/index.d.ts.map +1 -0
- package/dist/components/navigation/sidebar/index.js +17 -0
- package/dist/components/navigation/sidebar/index.js.map +1 -0
- package/dist/components/navigation/sidebar/styles.css +57 -0
- package/dist/components/navigation/stepper/index.d.ts +21 -0
- package/dist/components/navigation/stepper/index.d.ts.map +1 -0
- package/dist/components/navigation/stepper/index.js +25 -0
- package/dist/components/navigation/stepper/index.js.map +1 -0
- package/dist/components/navigation/stepper/styles.css +101 -0
- package/dist/components/navigation/tabButton/index.d.ts +11 -0
- package/dist/components/navigation/tabButton/index.d.ts.map +1 -0
- package/dist/components/navigation/tabButton/index.js +17 -0
- package/dist/components/navigation/tabButton/index.js.map +1 -0
- package/dist/components/navigation/tabButton/styles.css +148 -0
- package/dist/components/navigation/tabs/index.d.ts +18 -0
- package/dist/components/navigation/tabs/index.d.ts.map +1 -0
- package/dist/components/navigation/tabs/index.js +9 -0
- package/dist/components/navigation/tabs/index.js.map +1 -0
- package/dist/components/navigation/tabs/styles.css +46 -0
- package/dist/components/overlays/confirmationModal/index.d.ts +13 -0
- package/dist/components/overlays/confirmationModal/index.d.ts.map +1 -0
- package/dist/components/overlays/confirmationModal/index.js +12 -0
- package/dist/components/overlays/confirmationModal/index.js.map +1 -0
- package/dist/components/overlays/modal/index.d.ts +22 -0
- package/dist/components/overlays/modal/index.d.ts.map +1 -0
- package/dist/components/overlays/modal/index.js +43 -0
- package/dist/components/overlays/modal/index.js.map +1 -0
- package/dist/components/overlays/modal/styles.css +137 -0
- package/dist/components/overlays/portal/index.d.ts +10 -0
- package/dist/components/overlays/portal/index.d.ts.map +1 -0
- package/dist/components/overlays/portal/index.js +10 -0
- package/dist/components/overlays/portal/index.js.map +1 -0
- package/dist/components/types.d.ts +34 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/types.js +2 -0
- package/dist/components/types.js.map +1 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useDebouncedValue.d.ts +7 -0
- package/dist/hooks/useDebouncedValue.d.ts.map +1 -0
- package/dist/hooks/useDebouncedValue.js +16 -0
- package/dist/hooks/useDebouncedValue.js.map +1 -0
- package/dist/hooks/useFloatingPosition.d.ts +32 -0
- package/dist/hooks/useFloatingPosition.d.ts.map +1 -0
- package/dist/hooks/useFloatingPosition.js +69 -0
- package/dist/hooks/useFloatingPosition.js.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +9 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/hooks/useFocusTrap.js +51 -0
- package/dist/hooks/useFocusTrap.js.map +1 -0
- package/dist/hooks/useInfinite.d.ts +28 -0
- package/dist/hooks/useInfinite.d.ts.map +1 -0
- package/dist/hooks/useInfinite.js +95 -0
- package/dist/hooks/useInfinite.js.map +1 -0
- package/dist/hooks/useInfiniteArchivableCursor.d.ts +31 -0
- package/dist/hooks/useInfiniteArchivableCursor.d.ts.map +1 -0
- package/dist/hooks/useInfiniteArchivableCursor.js +95 -0
- package/dist/hooks/useInfiniteArchivableCursor.js.map +1 -0
- package/dist/hooks/useInfiniteCursor.d.ts +27 -0
- package/dist/hooks/useInfiniteCursor.d.ts.map +1 -0
- package/dist/hooks/useInfiniteCursor.js +81 -0
- package/dist/hooks/useInfiniteCursor.js.map +1 -0
- package/dist/hooks/useListKeyboard.d.ts +19 -0
- package/dist/hooks/useListKeyboard.d.ts.map +1 -0
- package/dist/hooks/useListKeyboard.js +45 -0
- package/dist/hooks/useListKeyboard.js.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +8 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.js +68 -0
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/useOutsideClick.d.ts +9 -0
- package/dist/hooks/useOutsideClick.d.ts.map +1 -0
- package/dist/hooks/useOutsideClick.js +23 -0
- package/dist/hooks/useOutsideClick.js.map +1 -0
- package/dist/hooks/useScrollIntoView.d.ts +9 -0
- package/dist/hooks/useScrollIntoView.d.ts.map +1 -0
- package/dist/hooks/useScrollIntoView.js +19 -0
- package/dist/hooks/useScrollIntoView.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +386 -0
- package/package.json +80 -0
- package/src/components/buttons/button/index.tsx +82 -0
- package/src/components/buttons/button/styles.css +193 -0
- package/src/components/buttons/iconButton/index.tsx +23 -0
- package/src/components/buttons/iconButton/styles.css +14 -0
- package/src/components/buttons/rowActions/index.tsx +27 -0
- package/src/components/buttons/rowActions/styles.css +27 -0
- package/src/components/data-display/addressBlock/index.tsx +71 -0
- package/src/components/data-display/addressBlock/styles.css +41 -0
- package/src/components/data-display/colorSwatch/index.tsx +33 -0
- package/src/components/data-display/colorSwatch/styles.css +25 -0
- package/src/components/data-display/dataTable/index.tsx +206 -0
- package/src/components/data-display/dataTable/styles.css +54 -0
- package/src/components/data-display/dataTable/types.ts +71 -0
- package/src/components/data-display/dataTable/utils/parseDataKey.ts +39 -0
- package/src/components/data-display/imagePreview/index.tsx +42 -0
- package/src/components/data-display/imagePreview/styles.css +52 -0
- package/src/components/data-display/infiniteScroll/filters/index.tsx +77 -0
- package/src/components/data-display/infiniteScroll/filters/listFilter.tsx +83 -0
- package/src/components/data-display/infiniteScroll/filters/rangeFilter.tsx +168 -0
- package/src/components/data-display/infiniteScroll/filters/searchFilter.tsx +83 -0
- package/src/components/data-display/infiniteScroll/filters/selectFilter.tsx +104 -0
- package/src/components/data-display/infiniteScroll/filters/styles.css +48 -0
- package/src/components/data-display/infiniteScroll/header/deleteButton.tsx +58 -0
- package/src/components/data-display/infiniteScroll/header/index.tsx +109 -0
- package/src/components/data-display/infiniteScroll/header/limit.tsx +68 -0
- package/src/components/data-display/infiniteScroll/header/sortBy.tsx +56 -0
- package/src/components/data-display/infiniteScroll/header/sortDirection.tsx +60 -0
- package/src/components/data-display/infiniteScroll/header/styles.css +64 -0
- package/src/components/data-display/infiniteScroll/index.tsx +394 -0
- package/src/components/data-display/infiniteScroll/styles.css +37 -0
- package/src/components/data-display/infiniteScroll/table/index.tsx +56 -0
- package/src/components/data-display/infiniteScroll/tags/index.tsx +82 -0
- package/src/components/data-display/infiniteScroll/tags/listFilterTag.tsx +165 -0
- package/src/components/data-display/infiniteScroll/tags/rangeFilterTag.tsx +77 -0
- package/src/components/data-display/infiniteScroll/tags/searchFilterTag.tsx +41 -0
- package/src/components/data-display/infiniteScroll/tags/selectFilterTag.tsx +46 -0
- package/src/components/data-display/infiniteScroll/tags/styles.css +65 -0
- package/src/components/data-display/infiniteScroll/types.ts +125 -0
- package/src/components/data-display/infiniteScroll/utils/generateQueryString.ts +75 -0
- package/src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts +113 -0
- package/src/components/data-display/listCard/index.tsx +42 -0
- package/src/components/data-display/listCard/styles.css +48 -0
- package/src/components/data-display/listRow/index.tsx +21 -0
- package/src/components/data-display/listRow/styles.css +22 -0
- package/src/components/data-display/recoveryCodeGrid/index.tsx +32 -0
- package/src/components/data-display/recoveryCodeGrid/styles.css +47 -0
- package/src/components/data-display/secretDisplay/index.tsx +79 -0
- package/src/components/data-display/secretDisplay/styles.css +24 -0
- package/src/components/data-display/statCard/index.tsx +93 -0
- package/src/components/data-display/statCard/styles.css +96 -0
- package/src/components/data-display/summaryRow/index.tsx +28 -0
- package/src/components/data-display/summaryRow/styles.css +26 -0
- package/src/components/data-display/table/index.tsx +155 -0
- package/src/components/data-display/table/styles.css +61 -0
- package/src/components/data-display/tagCard/index.tsx +39 -0
- package/src/components/data-display/tagCard/styles.css +14 -0
- package/src/components/feedback/alert/index.tsx +69 -0
- package/src/components/feedback/alert/styles.css +88 -0
- package/src/components/feedback/badge/index.tsx +104 -0
- package/src/components/feedback/badge/styles.css +162 -0
- package/src/components/feedback/badge/utils.ts +14 -0
- package/src/components/feedback/emptyState/index.tsx +32 -0
- package/src/components/feedback/emptyState/styles.css +32 -0
- package/src/components/feedback/loadingOverlay/index.tsx +49 -0
- package/src/components/feedback/loadingOverlay/styles.css +48 -0
- package/src/components/feedback/progressBar/index.tsx +34 -0
- package/src/components/feedback/progressBar/styles.css +42 -0
- package/src/components/feedback/spinner/index.tsx +23 -0
- package/src/components/feedback/spinner/styles.css +64 -0
- package/src/components/feedback/tooltip/index.tsx +101 -0
- package/src/components/feedback/tooltip/styles.css +84 -0
- package/src/components/forms/detailField/index.tsx +25 -0
- package/src/components/forms/detailField/styles.css +27 -0
- package/src/components/forms/fieldShell/index.tsx +66 -0
- package/src/components/forms/fieldShell/styles.css +38 -0
- package/src/components/forms/form/index.tsx +81 -0
- package/src/components/forms/form/styles.css +27 -0
- package/src/components/forms/formActions/formError.tsx +17 -0
- package/src/components/forms/formActions/index.tsx +30 -0
- package/src/components/forms/formActions/styles.css +50 -0
- package/src/components/forms/formGrid/index.tsx +22 -0
- package/src/components/forms/formGrid/styles.css +41 -0
- package/src/components/forms/infoRow/index.tsx +22 -0
- package/src/components/forms/infoRow/styles.css +38 -0
- package/src/components/forms/optionsGroup/index.tsx +26 -0
- package/src/components/forms/optionsGroup/styles.css +34 -0
- package/src/components/forms/requiredAsterisk/index.tsx +9 -0
- package/src/components/forms/requiredAsterisk/styles.css +3 -0
- package/src/components/index.ts +139 -0
- package/src/components/inputs/checkbox/index.tsx +54 -0
- package/src/components/inputs/checkbox/styles.css +48 -0
- package/src/components/inputs/checkboxGroup/index.tsx +50 -0
- package/src/components/inputs/colorPicker/index.tsx +77 -0
- package/src/components/inputs/colorPicker/styles.css +52 -0
- package/src/components/inputs/dateInput/index.tsx +158 -0
- package/src/components/inputs/dateInput/styles.css +22 -0
- package/src/components/inputs/dateInput/utils.ts +33 -0
- package/src/components/inputs/dropdown/index.tsx +86 -0
- package/src/components/inputs/dropdown/styles.css +46 -0
- package/src/components/inputs/dropdownArrowButton/index.tsx +37 -0
- package/src/components/inputs/dropdownArrowButton/styles.css +47 -0
- package/src/components/inputs/fileDropZone/index.tsx +122 -0
- package/src/components/inputs/fileDropZone/styles.css +43 -0
- package/src/components/inputs/fileUpload/index.tsx +292 -0
- package/src/components/inputs/fileUpload/styles.css +104 -0
- package/src/components/inputs/input/index.tsx +186 -0
- package/src/components/inputs/input/styles.css +152 -0
- package/src/components/inputs/languageSelect/index.tsx +77 -0
- package/src/components/inputs/multiSelect/dropDown.tsx +114 -0
- package/src/components/inputs/multiSelect/index.tsx +250 -0
- package/src/components/inputs/multiSelect/styles.css +265 -0
- package/src/components/inputs/phoneInput/index.tsx +237 -0
- package/src/components/inputs/phoneInput/styles.css +118 -0
- package/src/components/inputs/radioGroup/index.tsx +43 -0
- package/src/components/inputs/richTextEditor/index.tsx +266 -0
- package/src/components/inputs/richTextEditor/styles.css +184 -0
- package/src/components/inputs/searchList/index.tsx +296 -0
- package/src/components/inputs/searchList/styles.css +114 -0
- package/src/components/inputs/searchSelect/index.tsx +176 -0
- package/src/components/inputs/select/index.tsx +102 -0
- package/src/components/inputs/select/styles.css +66 -0
- package/src/components/inputs/switch/index.tsx +56 -0
- package/src/components/inputs/switch/styles.css +116 -0
- package/src/components/inputs/textArea/index.tsx +137 -0
- package/src/components/inputs/textArea/styles.css +55 -0
- package/src/components/inputs/typeahead/index.tsx +368 -0
- package/src/components/inputs/typeahead/styles.css +86 -0
- package/src/components/layout/authPage/index.tsx +37 -0
- package/src/components/layout/authPage/styles.css +63 -0
- package/src/components/layout/borderedSection/index.tsx +55 -0
- package/src/components/layout/borderedSection/styles.css +46 -0
- package/src/components/layout/card/index.tsx +96 -0
- package/src/components/layout/card/styles.css +160 -0
- package/src/components/layout/centered/index.tsx +10 -0
- package/src/components/layout/centered/styles.css +9 -0
- package/src/components/layout/col/index.tsx +43 -0
- package/src/components/layout/col/styles.css +27 -0
- package/src/components/layout/page/index.tsx +56 -0
- package/src/components/layout/page/styles.css +53 -0
- package/src/components/layout/row/index.tsx +40 -0
- package/src/components/layout/row/styles.css +33 -0
- package/src/components/layout/sectionHeader/index.tsx +77 -0
- package/src/components/layout/sectionHeader/styles.css +116 -0
- package/src/components/navigation/breadcrumbs/index.tsx +48 -0
- package/src/components/navigation/breadcrumbs/styles.css +42 -0
- package/src/components/navigation/sidebar/index.tsx +59 -0
- package/src/components/navigation/sidebar/styles.css +57 -0
- package/src/components/navigation/stepper/index.tsx +71 -0
- package/src/components/navigation/stepper/styles.css +101 -0
- package/src/components/navigation/tabButton/index.tsx +43 -0
- package/src/components/navigation/tabButton/styles.css +148 -0
- package/src/components/navigation/tabs/index.tsx +49 -0
- package/src/components/navigation/tabs/styles.css +46 -0
- package/src/components/overlays/confirmationModal/index.tsx +48 -0
- package/src/components/overlays/modal/index.tsx +89 -0
- package/src/components/overlays/modal/styles.css +137 -0
- package/src/components/overlays/portal/index.tsx +18 -0
- package/src/components/types.ts +46 -0
- package/src/css.d.ts +1 -0
- package/src/hooks/index.ts +17 -0
- package/src/hooks/useDebouncedValue.ts +20 -0
- package/src/hooks/useFloatingPosition.ts +110 -0
- package/src/hooks/useFocusTrap.ts +56 -0
- package/src/hooks/useInfinite.ts +151 -0
- package/src/hooks/useInfiniteArchivableCursor.ts +143 -0
- package/src/hooks/useInfiniteCursor.ts +125 -0
- package/src/hooks/useListKeyboard.ts +68 -0
- package/src/hooks/useLocalStorage.tsx +92 -0
- package/src/hooks/useOutsideClick.ts +27 -0
- package/src/hooks/useScrollIntoView.ts +24 -0
- package/src/index.ts +13 -0
- package/src/styles.css +386 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
.k-switch-container {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: 0.5rem;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.k-switch-left {
|
|
8
|
+
flex-direction: row;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.k-switch-right {
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.k-switch-label {
|
|
16
|
+
font-size: 0.875rem;
|
|
17
|
+
font-weight: 500;
|
|
18
|
+
color: var(--text-color);
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
user-select: none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.k-switch-track {
|
|
24
|
+
position: relative;
|
|
25
|
+
border-radius: 999px;
|
|
26
|
+
background-color: var(--border-color);
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
transition: background-color 0.2s ease-in-out;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.k-switch-track.k-switch-on {
|
|
32
|
+
background-color: var(--success-color);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Size: md (default) */
|
|
36
|
+
.k-switch-md {
|
|
37
|
+
width: 40px;
|
|
38
|
+
height: 22px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.k-switch-md .k-switch-thumb {
|
|
42
|
+
width: 18px;
|
|
43
|
+
height: 18px;
|
|
44
|
+
top: 2px;
|
|
45
|
+
left: 2px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.k-switch-md.k-switch-on .k-switch-thumb {
|
|
49
|
+
transform: translateX(18px);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Size: sm */
|
|
53
|
+
.k-switch-sm {
|
|
54
|
+
width: 32px;
|
|
55
|
+
height: 18px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.k-switch-sm .k-switch-thumb {
|
|
59
|
+
width: 14px;
|
|
60
|
+
height: 14px;
|
|
61
|
+
top: 2px;
|
|
62
|
+
left: 2px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.k-switch-sm.k-switch-on .k-switch-thumb {
|
|
66
|
+
transform: translateX(14px);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Thumb */
|
|
70
|
+
.k-switch-thumb {
|
|
71
|
+
position: absolute;
|
|
72
|
+
border-radius: 50%;
|
|
73
|
+
background-color: var(--background-color-light);
|
|
74
|
+
transition: transform 0.2s ease-in-out;
|
|
75
|
+
pointer-events: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Hidden input */
|
|
79
|
+
.k-switch-input {
|
|
80
|
+
position: absolute;
|
|
81
|
+
width: 100%;
|
|
82
|
+
height: 100%;
|
|
83
|
+
top: 0;
|
|
84
|
+
left: 0;
|
|
85
|
+
margin: 0;
|
|
86
|
+
padding: 0;
|
|
87
|
+
opacity: 0;
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
z-index: 1;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Disabled */
|
|
93
|
+
.k-switch-disabled {
|
|
94
|
+
opacity: 0.6;
|
|
95
|
+
cursor: not-allowed;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.k-switch-disabled .k-switch-input {
|
|
99
|
+
cursor: not-allowed;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.k-switch-disabled + .k-switch-label,
|
|
103
|
+
.k-switch-label:has(~ .k-switch-track.k-switch-disabled) {
|
|
104
|
+
color: var(--text-color-disabled);
|
|
105
|
+
cursor: not-allowed;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* Loading */
|
|
109
|
+
.k-switch-loading {
|
|
110
|
+
opacity: 0.5;
|
|
111
|
+
cursor: wait;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.k-switch-loading .k-switch-input {
|
|
115
|
+
cursor: wait;
|
|
116
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { PropsWithSize } from "../../types.js";
|
|
2
|
+
import "./styles.css";
|
|
3
|
+
interface TextAreaProps extends PropsWithSize {
|
|
4
|
+
/** **_Optional_** if the field is disabled */
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
/** **_Optional_** label that appears above the input */
|
|
7
|
+
label?: string | React.ReactNode;
|
|
8
|
+
/** **_Optional_** whether the field is required (shows red asterisk and enables validation) */
|
|
9
|
+
required?: boolean;
|
|
10
|
+
/** **_Optional_** ID of the field. If one is not provided, it will be randomly generated */
|
|
11
|
+
id?: string;
|
|
12
|
+
/** **_Optional_** placeholder text that will appear in the input until the user adds a value */
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
/** **_Optional_** value to be set when the element first loads */
|
|
15
|
+
value?: string;
|
|
16
|
+
/** **_Optional_** the number of rows */
|
|
17
|
+
rows?: number;
|
|
18
|
+
/** **_Optional_** the number of colomuns */
|
|
19
|
+
cols?: number;
|
|
20
|
+
/** **_Optional_** maximum value for the input */
|
|
21
|
+
ref?: React.Ref<HTMLTextAreaElement>;
|
|
22
|
+
/** **_Optional_** maximum value for the input */
|
|
23
|
+
max?: number;
|
|
24
|
+
/** **_Optional_** minimum value for the input */
|
|
25
|
+
min?: number;
|
|
26
|
+
/** **_Optional_** whether to show character count next to label */
|
|
27
|
+
showCharCount?: boolean;
|
|
28
|
+
/** **_Optional_** function that is called when the value of the input changes */
|
|
29
|
+
onChange?: React.ChangeEventHandler<HTMLTextAreaElement>;
|
|
30
|
+
/** **_Optional_** function that is called when the input is focused */
|
|
31
|
+
onFocus?: React.FocusEventHandler<HTMLTextAreaElement>;
|
|
32
|
+
/** **_Optional_** function that is called when the input loses focus */
|
|
33
|
+
onBlur?: React.FocusEventHandler<HTMLTextAreaElement>;
|
|
34
|
+
/** **_Optional_** function that is called when the user presses a key down in the input */
|
|
35
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLTextAreaElement>;
|
|
36
|
+
/** **_Optional_** whether to auto-expand the textarea as user types */
|
|
37
|
+
autoExpand?: boolean;
|
|
38
|
+
/** **_Optional_** maximum number of rows when auto-expanding */
|
|
39
|
+
maxRows?: number;
|
|
40
|
+
}
|
|
41
|
+
declare const TextArea: (props: TextAreaProps) => import("react").JSX.Element;
|
|
42
|
+
export default TextArea;
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/textArea/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,cAAc,CAAC;AAEtB,UAAU,aAAc,SAAQ,aAAa;IAC3C,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4FAA4F;IAC5F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACzD,uEAAuE;IACvE,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACvD,wEAAwE;IACxE,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACtD,2FAA2F;IAC3F,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,QAAQ,GAAI,OAAO,aAAa,gCAwFrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import FieldShell from "../../forms/fieldShell/index.js";
|
|
4
|
+
import { useEffect, useRef } from "react";
|
|
5
|
+
import "./styles.css";
|
|
6
|
+
const TextArea = (props) => {
|
|
7
|
+
const { size = "md", disabled = false, required = false, autoExpand = false, maxRows = 5, rows = 3, } = props;
|
|
8
|
+
const textareaRef = useRef(null);
|
|
9
|
+
const internalRef = props.ref || textareaRef;
|
|
10
|
+
const inputId = props.id || `input-${Math.random().toString(36).substring(2, 9)}`;
|
|
11
|
+
const adjustHeight = () => {
|
|
12
|
+
if (!autoExpand)
|
|
13
|
+
return;
|
|
14
|
+
const ref = typeof internalRef === "object" && internalRef?.current;
|
|
15
|
+
if (!ref)
|
|
16
|
+
return;
|
|
17
|
+
ref.style.height = "auto";
|
|
18
|
+
const style = window.getComputedStyle(ref);
|
|
19
|
+
const lHeight = parseInt(style.lineHeight);
|
|
20
|
+
const pTop = parseInt(style.paddingTop);
|
|
21
|
+
const pBottom = parseInt(style.paddingBottom);
|
|
22
|
+
const bTop = parseInt(style.borderTopWidth);
|
|
23
|
+
const bBottom = parseInt(style.borderBottomWidth);
|
|
24
|
+
const minHeight = lHeight * rows + pTop + pBottom + bTop + bBottom;
|
|
25
|
+
const maxHeight = lHeight * maxRows + pTop + pBottom + bTop + bBottom;
|
|
26
|
+
if (!ref.value.trim()) {
|
|
27
|
+
ref.style.height = `${minHeight}px`;
|
|
28
|
+
ref.style.overflowY = "hidden";
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const newHeight = Math.min(ref.scrollHeight, maxHeight);
|
|
32
|
+
ref.style.height = `${Math.max(newHeight, minHeight)}px`;
|
|
33
|
+
ref.style.overflowY = ref.scrollHeight > maxHeight ? "auto" : "hidden";
|
|
34
|
+
};
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
adjustHeight();
|
|
37
|
+
}, [props.value, autoExpand, maxRows, rows]);
|
|
38
|
+
const handleChange = (e) => {
|
|
39
|
+
if (props.onChange)
|
|
40
|
+
props.onChange(e);
|
|
41
|
+
adjustHeight();
|
|
42
|
+
};
|
|
43
|
+
const charCount = props.showCharCount ? (_jsxs(_Fragment, { children: [props.value?.length || 0, props.max && ` / ${props.max}`] })) : undefined;
|
|
44
|
+
return (_jsx(FieldShell, { label: props.label, required: required, htmlFor: inputId, labelAside: charCount, children: _jsx("textarea", { id: inputId, className: `k-textarea k-textarea-${size} ${autoExpand ? "k-textarea-auto-expand" : ""}`, placeholder: props.placeholder, rows: rows, cols: props.cols, value: props.value, ref: internalRef, required: required, maxLength: props.max, minLength: props.min, disabled: disabled, onChange: handleChange, onFocus: props.onFocus, onBlur: props.onBlur, onKeyDown: props.onKeyDown }) }));
|
|
45
|
+
};
|
|
46
|
+
export default TextArea;
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/textArea/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
.k-textarea {
|
|
2
|
+
background-color: var(--background-color-light);
|
|
3
|
+
border: 0.0625rem solid var(--border-color);
|
|
4
|
+
border-radius: 0.375rem;
|
|
5
|
+
color: var(--text-color);
|
|
6
|
+
width: 100%;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
transition:
|
|
9
|
+
border-color 0.2s ease-in-out,
|
|
10
|
+
box-shadow 0.2s ease-in-out;
|
|
11
|
+
resize: vertical;
|
|
12
|
+
min-height: 5rem;
|
|
13
|
+
display: block;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.k-textarea-sm {
|
|
17
|
+
font-size: var(--text-size-sm);
|
|
18
|
+
padding: 0.5rem 0.75rem;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.k-textarea-md {
|
|
22
|
+
font-size: var(--text-size-md);
|
|
23
|
+
padding: 0.625rem 1rem;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.k-textarea-lg {
|
|
27
|
+
font-size: var(--text-size-lg);
|
|
28
|
+
padding: 0.75rem 1.25rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.k-textarea::placeholder {
|
|
32
|
+
color: var(--text-color-secondary);
|
|
33
|
+
opacity: 0.7;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.k-textarea:focus {
|
|
37
|
+
outline: none;
|
|
38
|
+
border-color: var(--border-color-active);
|
|
39
|
+
box-shadow: 0 0 0 0.1875rem var(--border-shadow-color-active);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.k-textarea:disabled {
|
|
43
|
+
background-color: var(--bg-color-disabled);
|
|
44
|
+
color: var(--text-color-disabled);
|
|
45
|
+
cursor: not-allowed;
|
|
46
|
+
opacity: 0.6;
|
|
47
|
+
resize: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.k-textarea-auto-expand {
|
|
51
|
+
resize: none;
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
transition: height 0.1s ease;
|
|
54
|
+
min-height: unset;
|
|
55
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { PropsWithSize } from "../../types.js";
|
|
3
|
+
import "./styles.css";
|
|
4
|
+
interface TypeaheadRenderResult {
|
|
5
|
+
/** The text label used for filtering and input display */
|
|
6
|
+
label: string;
|
|
7
|
+
/** The React component to render in the dropdown */
|
|
8
|
+
node: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
type TypeaheadPropsBase<T> = {
|
|
11
|
+
/** The options that will be available to the user in the Typeahead */
|
|
12
|
+
options: T[];
|
|
13
|
+
/** Function that is called when the user selects an option */
|
|
14
|
+
onSelect: (selectedOption: T | null, event?: React.MouseEvent) => void;
|
|
15
|
+
/** **_Optional_** initial value to be pre-selected in the Typeahead */
|
|
16
|
+
value?: T | null;
|
|
17
|
+
/** **_Optional_** placeholder value to show in the input field before the user adds a value */
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
/** **_Optional_** label to appear above the Typeahead */
|
|
20
|
+
label?: string;
|
|
21
|
+
/** **_Optional_** whether the field is required (shows red asterisk and enables validation) */
|
|
22
|
+
required?: boolean;
|
|
23
|
+
/** **_Optional_** if the typeahead is disabled */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** **_Optional_** ID of the field. If one is not provided, it will be randomly generated */
|
|
26
|
+
id?: string;
|
|
27
|
+
/** **_Optional_** if the drop down should be longer than default */
|
|
28
|
+
longDropDown?: boolean;
|
|
29
|
+
/** **_Optional_** optional function that will get the value of the filter input */
|
|
30
|
+
onFilterChange?: (filterText: string) => void;
|
|
31
|
+
/** **_Optional_** enables lazy loading - number of items to show initially and load on scroll */
|
|
32
|
+
lazyLoad?: number;
|
|
33
|
+
/** **_Optional_** if true, shows all options when dropdown opens before user starts typing */
|
|
34
|
+
showAll?: boolean;
|
|
35
|
+
} & PropsWithSize;
|
|
36
|
+
type TypeaheadPropsWithLabelKey<T> = TypeaheadPropsBase<T> & {
|
|
37
|
+
/** The key of the Options object that will be displayed to the user */
|
|
38
|
+
labelKey: keyof T;
|
|
39
|
+
/** Function to render custom option content */
|
|
40
|
+
renderOption?: never;
|
|
41
|
+
};
|
|
42
|
+
type TypeaheadPropsWithRenderOption<T> = TypeaheadPropsBase<T> & {
|
|
43
|
+
/** The key of the Options object that will be displayed to the user */
|
|
44
|
+
labelKey?: never;
|
|
45
|
+
/** Function to render custom option content and provide label text */
|
|
46
|
+
renderOption: (option: T) => TypeaheadRenderResult;
|
|
47
|
+
};
|
|
48
|
+
type TypeaheadProps<T> = TypeaheadPropsWithLabelKey<T> | TypeaheadPropsWithRenderOption<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Typeahead component for filtering and selecting options from a dropdown list.
|
|
51
|
+
*
|
|
52
|
+
* @param options - Array of options to filter through.
|
|
53
|
+
* @param labelKey - The key in each option object that will be displayed in the dropdown (use this OR renderOption).
|
|
54
|
+
* @param renderOption - Function that returns both label text and custom React content (use this OR labelKey).
|
|
55
|
+
* @param onSelect - Callback function that is called when an option is selected. Receives the selected option or `null` if no match.
|
|
56
|
+
* @param label - **_Optional_** label to appear above the input field.
|
|
57
|
+
* @param placeholder - **_Optional_** placeholder text for the input field.
|
|
58
|
+
* @param value - **_Optional_** initial value to be pre-selected in the Typeahead. Should match the structure of the options.
|
|
59
|
+
* @param size - **_Optional_** size for the typeahead input.
|
|
60
|
+
* - Accepts `sm`, `md`, or `lg`.
|
|
61
|
+
* - Defaults to `md`.
|
|
62
|
+
*/
|
|
63
|
+
declare const Typeahead: <T>(props: TypeaheadProps<T>) => import("react").JSX.Element;
|
|
64
|
+
export default Typeahead;
|
|
65
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/typeahead/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAA+B,SAAS,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,cAAc,CAAC;AAEtB,UAAU,qBAAqB;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,sEAAsE;IACtE,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACvE,uEAAuE;IACvE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4FAA4F;IAC5F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mFAAmF;IACnF,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,aAAa,CAAC;AAElB,KAAK,0BAA0B,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAC3D,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,KAAK,8BAA8B,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAC/D,uEAAuE;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,sEAAsE;IACtE,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,qBAAqB,CAAC;CACpD,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IACnB,0BAA0B,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AAEH,QAAA,MAAM,SAAS,GAAI,CAAC,EAAG,OAAO,cAAc,CAAC,CAAC,CAAC,gCA+R9C,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import useFloatingPosition from "../../../hooks/useFloatingPosition.js";
|
|
4
|
+
import useScrollIntoView from "../../../hooks/useScrollIntoView.js";
|
|
5
|
+
import useListKeyboard from "../../../hooks/useListKeyboard.js";
|
|
6
|
+
import useOutsideClick from "../../../hooks/useOutsideClick.js";
|
|
7
|
+
import { useEffect, useRef, useState } from "react";
|
|
8
|
+
import Portal from "../../overlays/portal/index.js";
|
|
9
|
+
import Input from "../input/index.js";
|
|
10
|
+
import "./styles.css";
|
|
11
|
+
/**
|
|
12
|
+
* Typeahead component for filtering and selecting options from a dropdown list.
|
|
13
|
+
*
|
|
14
|
+
* @param options - Array of options to filter through.
|
|
15
|
+
* @param labelKey - The key in each option object that will be displayed in the dropdown (use this OR renderOption).
|
|
16
|
+
* @param renderOption - Function that returns both label text and custom React content (use this OR labelKey).
|
|
17
|
+
* @param onSelect - Callback function that is called when an option is selected. Receives the selected option or `null` if no match.
|
|
18
|
+
* @param label - **_Optional_** label to appear above the input field.
|
|
19
|
+
* @param placeholder - **_Optional_** placeholder text for the input field.
|
|
20
|
+
* @param value - **_Optional_** initial value to be pre-selected in the Typeahead. Should match the structure of the options.
|
|
21
|
+
* @param size - **_Optional_** size for the typeahead input.
|
|
22
|
+
* - Accepts `sm`, `md`, or `lg`.
|
|
23
|
+
* - Defaults to `md`.
|
|
24
|
+
*/
|
|
25
|
+
const Typeahead = (props) => {
|
|
26
|
+
const { size = "md", disabled = false, required = false, longDropDown = false, showAll = false, } = props;
|
|
27
|
+
const getDisplayText = (option) => {
|
|
28
|
+
if (props.renderOption)
|
|
29
|
+
return props.renderOption(option).label;
|
|
30
|
+
else if (props.labelKey)
|
|
31
|
+
return String(option[props.labelKey]);
|
|
32
|
+
return "";
|
|
33
|
+
};
|
|
34
|
+
const getOptionContent = (option) => {
|
|
35
|
+
if (props.renderOption)
|
|
36
|
+
return props.renderOption(option).node;
|
|
37
|
+
else if (props.labelKey)
|
|
38
|
+
return getDisplayText(option);
|
|
39
|
+
return null;
|
|
40
|
+
};
|
|
41
|
+
const [inputValue, setInputValue] = useState(props.value ? getDisplayText(props.value) : "");
|
|
42
|
+
const [filteredOptions, setFilteredOptions] = useState([]);
|
|
43
|
+
const [displayedOptions, setDisplayedOptions] = useState([]);
|
|
44
|
+
const [displayCount, setDisplayCount] = useState(props.lazyLoad || Infinity);
|
|
45
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
46
|
+
const [highlightedIndex, setHighlightedIndex] = useState(-1);
|
|
47
|
+
const [hasUserTyped, setHasUserTyped] = useState(false);
|
|
48
|
+
const optionRefs = useRef([]);
|
|
49
|
+
const dropdownRef = useRef(null);
|
|
50
|
+
const isSelectingOption = useRef(false);
|
|
51
|
+
const observerRef = useRef(null);
|
|
52
|
+
const listRef = useRef(null);
|
|
53
|
+
const { anchorRef: inputWrapperRef, position: dropdownPos } = useFloatingPosition({ isOpen });
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (props.value)
|
|
56
|
+
setInputValue(getDisplayText(props.value));
|
|
57
|
+
else
|
|
58
|
+
setInputValue("");
|
|
59
|
+
}, [props.value, props.labelKey]);
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
// When dropdown first opens with showAll and user hasn't typed yet, show all options
|
|
62
|
+
if (inputValue && !showAll && !hasUserTyped) {
|
|
63
|
+
const filtered = props.options.filter((option) => getDisplayText(option).toLowerCase().includes(inputValue.toLowerCase()));
|
|
64
|
+
setFilteredOptions(filtered);
|
|
65
|
+
}
|
|
66
|
+
else if (!inputValue && !showAll && !hasUserTyped) {
|
|
67
|
+
setDisplayedOptions(props.options);
|
|
68
|
+
}
|
|
69
|
+
else if (showAll && !hasUserTyped) {
|
|
70
|
+
setFilteredOptions(props.options);
|
|
71
|
+
}
|
|
72
|
+
else if (inputValue && hasUserTyped) {
|
|
73
|
+
// User is actively filtering
|
|
74
|
+
const filtered = props.options.filter((option) => getDisplayText(option).toLowerCase().includes(inputValue.toLowerCase()));
|
|
75
|
+
setFilteredOptions(filtered);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
setFilteredOptions(props.options);
|
|
79
|
+
}
|
|
80
|
+
// Reset display count when filtering changes
|
|
81
|
+
setDisplayCount(props.lazyLoad || Infinity);
|
|
82
|
+
}, [
|
|
83
|
+
inputValue,
|
|
84
|
+
props.options,
|
|
85
|
+
props.labelKey,
|
|
86
|
+
props.lazyLoad,
|
|
87
|
+
isOpen,
|
|
88
|
+
showAll,
|
|
89
|
+
hasUserTyped,
|
|
90
|
+
]);
|
|
91
|
+
// Update displayed options based on lazy loading
|
|
92
|
+
useEffect(() => {
|
|
93
|
+
if (props.lazyLoad) {
|
|
94
|
+
setDisplayedOptions(filteredOptions.slice(0, displayCount));
|
|
95
|
+
}
|
|
96
|
+
else
|
|
97
|
+
setDisplayedOptions(filteredOptions);
|
|
98
|
+
}, [filteredOptions, displayCount, props.lazyLoad]);
|
|
99
|
+
useScrollIntoView(optionRefs, highlightedIndex, isOpen);
|
|
100
|
+
useOutsideClick([dropdownRef, listRef], () => setIsOpen(false));
|
|
101
|
+
// Set up intersection observer for lazy loading
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
const { lazyLoad } = props;
|
|
104
|
+
if (!lazyLoad || !isOpen || !listRef.current)
|
|
105
|
+
return;
|
|
106
|
+
// Clean up previous observer
|
|
107
|
+
if (observerRef.current)
|
|
108
|
+
observerRef.current.disconnect();
|
|
109
|
+
const observerCallback = (entries) => {
|
|
110
|
+
const [entry] = entries;
|
|
111
|
+
if (entry.isIntersecting && displayCount < filteredOptions.length) {
|
|
112
|
+
setDisplayCount((prev) => Math.min(prev + lazyLoad, filteredOptions.length));
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
observerRef.current = new IntersectionObserver(observerCallback, {
|
|
116
|
+
root: listRef.current,
|
|
117
|
+
rootMargin: "50px",
|
|
118
|
+
threshold: 0.1,
|
|
119
|
+
});
|
|
120
|
+
// Observe the last item or loading indicator
|
|
121
|
+
const lastItem = listRef.current.querySelector(".k-typeahead-sentinel");
|
|
122
|
+
if (lastItem)
|
|
123
|
+
observerRef.current.observe(lastItem);
|
|
124
|
+
return () => {
|
|
125
|
+
if (observerRef.current)
|
|
126
|
+
observerRef.current.disconnect();
|
|
127
|
+
};
|
|
128
|
+
}, [
|
|
129
|
+
isOpen,
|
|
130
|
+
props.lazyLoad,
|
|
131
|
+
displayCount,
|
|
132
|
+
filteredOptions.length,
|
|
133
|
+
displayedOptions,
|
|
134
|
+
]);
|
|
135
|
+
const handleInputChange = (e) => {
|
|
136
|
+
const newValue = e.target.value;
|
|
137
|
+
setInputValue(newValue);
|
|
138
|
+
setHasUserTyped(true);
|
|
139
|
+
if (props.onFilterChange)
|
|
140
|
+
props.onFilterChange(newValue);
|
|
141
|
+
setIsOpen(true);
|
|
142
|
+
setHighlightedIndex(-1);
|
|
143
|
+
if (newValue === "")
|
|
144
|
+
props.onSelect(null);
|
|
145
|
+
};
|
|
146
|
+
const handleOptionClick = (option, event) => {
|
|
147
|
+
// If Ctrl/Cmd key is pressed, don't update the input value
|
|
148
|
+
// Just call onSelect and let it handle opening in new tab
|
|
149
|
+
if (event && (event.ctrlKey || event.metaKey)) {
|
|
150
|
+
props.onSelect(option, event);
|
|
151
|
+
setIsOpen(false);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
isSelectingOption.current = true;
|
|
155
|
+
setInputValue(getDisplayText(option));
|
|
156
|
+
setHasUserTyped(false);
|
|
157
|
+
props.onSelect(option, event);
|
|
158
|
+
setIsOpen(false);
|
|
159
|
+
setHighlightedIndex(-1);
|
|
160
|
+
setTimeout(() => {
|
|
161
|
+
isSelectingOption.current = false;
|
|
162
|
+
}, 150);
|
|
163
|
+
};
|
|
164
|
+
const handleInputClick = () => {
|
|
165
|
+
if (disabled)
|
|
166
|
+
return;
|
|
167
|
+
const newIsOpen = !isOpen;
|
|
168
|
+
setIsOpen(newIsOpen);
|
|
169
|
+
if (newIsOpen) {
|
|
170
|
+
setHasUserTyped(false);
|
|
171
|
+
}
|
|
172
|
+
if (!inputValue)
|
|
173
|
+
setFilteredOptions(props.options);
|
|
174
|
+
};
|
|
175
|
+
const handleInputBlur = () => {
|
|
176
|
+
setTimeout(() => {
|
|
177
|
+
if (isSelectingOption.current)
|
|
178
|
+
return;
|
|
179
|
+
if (dropdownRef.current &&
|
|
180
|
+
!dropdownRef.current.contains(document.activeElement)) {
|
|
181
|
+
setHighlightedIndex(-1);
|
|
182
|
+
setIsOpen(false);
|
|
183
|
+
const currentValueLabel = props.value
|
|
184
|
+
? getDisplayText(props.value)
|
|
185
|
+
: "";
|
|
186
|
+
if (inputValue === currentValueLabel)
|
|
187
|
+
return;
|
|
188
|
+
const exactMatch = props.options.find((opt) => getDisplayText(opt).toLowerCase() === inputValue.toLowerCase());
|
|
189
|
+
if (exactMatch) {
|
|
190
|
+
props.onSelect(exactMatch);
|
|
191
|
+
setInputValue(getDisplayText(exactMatch));
|
|
192
|
+
}
|
|
193
|
+
else if (inputValue === "")
|
|
194
|
+
props.onSelect(null);
|
|
195
|
+
else
|
|
196
|
+
setInputValue(currentValueLabel);
|
|
197
|
+
}
|
|
198
|
+
}, 100);
|
|
199
|
+
};
|
|
200
|
+
const handleKeyDown = useListKeyboard({
|
|
201
|
+
isOpen,
|
|
202
|
+
length: displayedOptions.length,
|
|
203
|
+
highlightedIndex,
|
|
204
|
+
setHighlightedIndex,
|
|
205
|
+
onSelect: (index) => handleOptionClick(displayedOptions[index]),
|
|
206
|
+
onClose: () => setIsOpen(false),
|
|
207
|
+
selectOnTab: true,
|
|
208
|
+
});
|
|
209
|
+
// Reset the refs array before each render
|
|
210
|
+
optionRefs.current = [];
|
|
211
|
+
const dropdownList = isOpen && dropdownPos ? (_jsx("ul", { ref: listRef, className: `k-typeahead-options-list k-typeahead-options-list-portal ${longDropDown
|
|
212
|
+
? "k-typeahead-options-list-large"
|
|
213
|
+
: "k-typeahead-options-list-small"}`, style: {
|
|
214
|
+
position: "fixed",
|
|
215
|
+
top: dropdownPos.top,
|
|
216
|
+
left: dropdownPos.left,
|
|
217
|
+
width: dropdownPos.width,
|
|
218
|
+
}, children: displayedOptions.length > 0 ? (_jsxs(_Fragment, { children: [displayedOptions.map((option, index) => (_jsx("li", { ref: (el) => {
|
|
219
|
+
optionRefs.current[index] = el;
|
|
220
|
+
}, className: `k-typeahead-option k-typeahead-option-${size} ${index === highlightedIndex
|
|
221
|
+
? "k-typeahead-option-highlighted"
|
|
222
|
+
: ""}`, onMouseDown: (e) => {
|
|
223
|
+
e.preventDefault();
|
|
224
|
+
handleOptionClick(option, e);
|
|
225
|
+
}, onMouseOver: () => setHighlightedIndex(index), children: getOptionContent(option) }, index))), props.lazyLoad &&
|
|
226
|
+
displayedOptions.length < filteredOptions.length && (_jsx("li", { className: "k-typeahead-sentinel k-typeahead-loading", children: "Loading more..." }))] })) : (_jsx("li", { className: `k-typeahead-no-results-item k-typeahead-option-${size}`, children: props.options.length === 0
|
|
227
|
+
? "No options available"
|
|
228
|
+
: "No matches found" })) })) : null;
|
|
229
|
+
return (_jsxs("div", { className: `k-typeahead-dropdown-container`, ref: dropdownRef, children: [_jsx("div", { className: "k-typeahead-input-wrapper", ref: inputWrapperRef, children: _jsx(Input, { id: props.id, label: props.label, required: required, size: size, placeholder: props.placeholder, value: inputValue, onChange: handleInputChange, onBlur: handleInputBlur, onKeyDown: handleKeyDown, onClick: handleInputClick, isOpen: isOpen, disabled: disabled, dropDown: true }) }), _jsx(Portal, { children: dropdownList })] }));
|
|
230
|
+
};
|
|
231
|
+
export default Typeahead;
|
|
232
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/typeahead/index.tsx"],"names":[],"mappings":"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"}
|