@kosmeo-ui/react 0.2.0 → 1.0.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/README.md +3 -1
- package/dist/components/buttons/button/styles.css +43 -43
- package/dist/components/buttons/rowActions/index.d.ts.map +1 -1
- package/dist/components/buttons/rowActions/index.js +2 -1
- package/dist/components/buttons/rowActions/index.js.map +1 -1
- package/dist/components/data-display/addressBlock/styles.css +2 -2
- package/dist/components/data-display/colorSwatch/index.d.ts +1 -1
- package/dist/components/data-display/colorSwatch/index.d.ts.map +1 -1
- package/dist/components/data-display/colorSwatch/index.js +1 -1
- package/dist/components/data-display/colorSwatch/index.js.map +1 -1
- package/dist/components/data-display/colorSwatch/styles.css +1 -1
- package/dist/components/data-display/dataTable/index.d.ts.map +1 -1
- package/dist/components/data-display/dataTable/index.js +7 -3
- package/dist/components/data-display/dataTable/index.js.map +1 -1
- package/dist/components/data-display/dataTable/styles.css +3 -2
- package/dist/components/data-display/dataTable/utils/parseDataKey.d.ts +8 -1
- package/dist/components/data-display/dataTable/utils/parseDataKey.d.ts.map +1 -1
- package/dist/components/data-display/dataTable/utils/parseDataKey.js +13 -41
- package/dist/components/data-display/dataTable/utils/parseDataKey.js.map +1 -1
- package/dist/components/data-display/imagePreview/styles.css +2 -2
- package/dist/components/data-display/infiniteScroll/filters/index.d.ts +4 -0
- package/dist/components/data-display/infiniteScroll/filters/index.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/index.js +12 -2
- package/dist/components/data-display/infiniteScroll/filters/index.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/listFilter.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/listFilter.js +1 -1
- package/dist/components/data-display/infiniteScroll/filters/listFilter.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.d.ts +6 -0
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.js +55 -46
- package/dist/components/data-display/infiniteScroll/filters/rangeFilter.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.js +3 -5
- package/dist/components/data-display/infiniteScroll/filters/selectFilter.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/filters/styles.css +30 -1
- package/dist/components/data-display/infiniteScroll/header/limit.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/header/limit.js +1 -1
- package/dist/components/data-display/infiniteScroll/header/limit.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/header/sortBy.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/header/sortBy.js +1 -1
- package/dist/components/data-display/infiniteScroll/header/sortBy.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/header/sortDirection.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/header/sortDirection.js +1 -1
- package/dist/components/data-display/infiniteScroll/header/sortDirection.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/index.d.ts +8 -0
- package/dist/components/data-display/infiniteScroll/index.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/index.js +41 -23
- package/dist/components/data-display/infiniteScroll/index.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/styles.css +2 -2
- package/dist/components/data-display/infiniteScroll/tags/index.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/tags/index.js +6 -5
- package/dist/components/data-display/infiniteScroll/tags/index.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.js +6 -6
- package/dist/components/data-display/infiniteScroll/tags/listFilterTag.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.js +3 -5
- package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.d.ts +6 -0
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.js +24 -12
- package/dist/components/data-display/infiniteScroll/utils/generateQueryString.js.map +1 -1
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.d.ts +11 -1
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.d.ts.map +1 -1
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.js +37 -18
- package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.js.map +1 -1
- package/dist/components/data-display/listCard/styles.css +3 -3
- package/dist/components/data-display/listRow/styles.css +2 -2
- package/dist/components/data-display/recoveryCodeGrid/styles.css +3 -3
- package/dist/components/data-display/secretDisplay/styles.css +4 -4
- package/dist/components/data-display/statCard/styles.css +12 -12
- package/dist/components/data-display/summaryRow/styles.css +4 -4
- package/dist/components/data-display/table/index.d.ts.map +1 -1
- package/dist/components/data-display/table/index.js +2 -2
- package/dist/components/data-display/table/index.js.map +1 -1
- package/dist/components/data-display/table/styles.css +10 -10
- package/dist/components/data-display/tableFilters/index.d.ts +30 -0
- package/dist/components/data-display/tableFilters/index.d.ts.map +1 -0
- package/dist/components/data-display/tableFilters/index.js +67 -0
- package/dist/components/data-display/tableFilters/index.js.map +1 -0
- package/dist/components/data-display/tagCard/index.d.ts.map +1 -1
- package/dist/components/data-display/tagCard/index.js +1 -1
- package/dist/components/data-display/tagCard/index.js.map +1 -1
- package/dist/components/data-display/tagCard/styles.css +1 -1
- package/dist/components/feedback/alert/styles.css +15 -15
- package/dist/components/feedback/badge/index.d.ts.map +1 -1
- package/dist/components/feedback/badge/index.js +14 -8
- package/dist/components/feedback/badge/index.js.map +1 -1
- package/dist/components/feedback/badge/styles.css +44 -46
- package/dist/components/feedback/emptyState/styles.css +2 -2
- package/dist/components/feedback/loadingOverlay/styles.css +1 -1
- package/dist/components/feedback/progressBar/styles.css +11 -11
- package/dist/components/feedback/spinner/styles.css +14 -11
- package/dist/components/feedback/tooltip/styles.css +9 -7
- package/dist/components/forms/detailField/styles.css +1 -1
- package/dist/components/forms/fieldShell/index.d.ts +3 -1
- package/dist/components/forms/fieldShell/index.d.ts.map +1 -1
- package/dist/components/forms/fieldShell/index.js +1 -1
- package/dist/components/forms/fieldShell/index.js.map +1 -1
- package/dist/components/forms/fieldShell/styles.css +5 -5
- package/dist/components/forms/form/styles.css +6 -6
- package/dist/components/forms/formActions/styles.css +4 -4
- package/dist/components/forms/formGrid/styles.css +32 -0
- package/dist/components/forms/infoRow/styles.css +2 -2
- package/dist/components/forms/optionsGroup/index.d.ts +3 -1
- package/dist/components/forms/optionsGroup/index.d.ts.map +1 -1
- package/dist/components/forms/optionsGroup/index.js +5 -1
- package/dist/components/forms/optionsGroup/index.js.map +1 -1
- package/dist/components/forms/optionsGroup/styles.css +1 -1
- package/dist/components/forms/requiredAsterisk/index.d.ts.map +1 -1
- package/dist/components/forms/requiredAsterisk/index.js +3 -2
- package/dist/components/forms/requiredAsterisk/index.js.map +1 -1
- package/dist/components/forms/requiredAsterisk/styles.css +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/checkbox/index.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/index.js +3 -1
- package/dist/components/inputs/checkbox/index.js.map +1 -1
- package/dist/components/inputs/checkbox/styles.css +4 -4
- package/dist/components/inputs/colorPicker/index.d.ts.map +1 -1
- package/dist/components/inputs/colorPicker/index.js +3 -1
- package/dist/components/inputs/colorPicker/index.js.map +1 -1
- package/dist/components/inputs/colorPicker/styles.css +3 -3
- package/dist/components/inputs/dateInput/index.d.ts +3 -3
- package/dist/components/inputs/dateInput/index.d.ts.map +1 -1
- package/dist/components/inputs/dateInput/index.js +2 -2
- package/dist/components/inputs/dateInput/index.js.map +1 -1
- package/dist/components/inputs/dateInput/styles.css +5 -5
- package/dist/components/inputs/dateInput/utils.d.ts +0 -1
- package/dist/components/inputs/dateInput/utils.d.ts.map +1 -1
- package/dist/components/inputs/dateInput/utils.js +13 -8
- package/dist/components/inputs/dateInput/utils.js.map +1 -1
- package/dist/components/inputs/dropdown/index.js +1 -1
- package/dist/components/inputs/dropdown/index.js.map +1 -1
- package/dist/components/inputs/dropdown/styles.css +2 -2
- package/dist/components/inputs/dropdownArrowButton/styles.css +7 -5
- package/dist/components/inputs/fileDropZone/index.d.ts.map +1 -1
- package/dist/components/inputs/fileDropZone/index.js +3 -2
- package/dist/components/inputs/fileDropZone/index.js.map +1 -1
- package/dist/components/inputs/fileDropZone/styles.css +12 -12
- package/dist/components/inputs/fileUpload/index.d.ts.map +1 -1
- package/dist/components/inputs/fileUpload/index.js +11 -6
- package/dist/components/inputs/fileUpload/index.js.map +1 -1
- package/dist/components/inputs/fileUpload/styles.css +9 -9
- package/dist/components/inputs/input/index.d.ts +12 -0
- package/dist/components/inputs/input/index.d.ts.map +1 -1
- package/dist/components/inputs/input/index.js +4 -3
- package/dist/components/inputs/input/index.js.map +1 -1
- package/dist/components/inputs/input/styles.css +28 -28
- package/dist/components/inputs/languageSelect/index.d.ts.map +1 -1
- package/dist/components/inputs/languageSelect/index.js +15 -4
- package/dist/components/inputs/languageSelect/index.js.map +1 -1
- package/dist/components/inputs/multiSelect/dropDown.d.ts +7 -0
- package/dist/components/inputs/multiSelect/dropDown.d.ts.map +1 -1
- package/dist/components/inputs/multiSelect/dropDown.js +19 -12
- package/dist/components/inputs/multiSelect/dropDown.js.map +1 -1
- package/dist/components/inputs/multiSelect/index.d.ts.map +1 -1
- package/dist/components/inputs/multiSelect/index.js +49 -13
- package/dist/components/inputs/multiSelect/index.js.map +1 -1
- package/dist/components/inputs/multiSelect/styles.css +51 -43
- package/dist/components/inputs/multiSelect/utils.d.ts +7 -0
- package/dist/components/inputs/multiSelect/utils.d.ts.map +1 -0
- package/dist/components/inputs/multiSelect/utils.js +18 -0
- package/dist/components/inputs/multiSelect/utils.js.map +1 -0
- package/dist/components/inputs/phoneInput/index.d.ts.map +1 -1
- package/dist/components/inputs/phoneInput/index.js +11 -3
- package/dist/components/inputs/phoneInput/index.js.map +1 -1
- package/dist/components/inputs/phoneInput/styles.css +13 -13
- package/dist/components/inputs/radioGroup/index.d.ts.map +1 -1
- package/dist/components/inputs/radioGroup/index.js +1 -1
- package/dist/components/inputs/radioGroup/index.js.map +1 -1
- package/dist/components/inputs/richTextEditor/index.d.ts.map +1 -1
- package/dist/components/inputs/richTextEditor/index.js +21 -22
- package/dist/components/inputs/richTextEditor/index.js.map +1 -1
- package/dist/components/inputs/richTextEditor/styles.css +24 -24
- package/dist/components/inputs/searchList/index.d.ts +4 -1
- package/dist/components/inputs/searchList/index.d.ts.map +1 -1
- package/dist/components/inputs/searchList/index.js +46 -31
- package/dist/components/inputs/searchList/index.js.map +1 -1
- package/dist/components/inputs/searchList/styles.css +22 -22
- package/dist/components/inputs/searchSelect/index.d.ts.map +1 -1
- package/dist/components/inputs/searchSelect/index.js +8 -2
- package/dist/components/inputs/searchSelect/index.js.map +1 -1
- package/dist/components/inputs/select/index.js +3 -2
- package/dist/components/inputs/select/index.js.map +1 -1
- package/dist/components/inputs/select/styles.css +93 -15
- package/dist/components/inputs/switch/index.d.ts.map +1 -1
- package/dist/components/inputs/switch/index.js +3 -1
- package/dist/components/inputs/switch/index.js.map +1 -1
- package/dist/components/inputs/switch/styles.css +5 -5
- package/dist/components/inputs/textArea/index.d.ts.map +1 -1
- package/dist/components/inputs/textArea/index.js +3 -2
- package/dist/components/inputs/textArea/index.js.map +1 -1
- package/dist/components/inputs/textArea/styles.css +11 -11
- package/dist/components/inputs/typeahead/index.d.ts.map +1 -1
- package/dist/components/inputs/typeahead/index.js +21 -6
- package/dist/components/inputs/typeahead/index.js.map +1 -1
- package/dist/components/inputs/typeahead/styles.css +13 -13
- package/dist/components/layout/authPage/styles.css +6 -6
- package/dist/components/layout/borderedSection/styles.css +3 -3
- package/dist/components/layout/card/styles.css +31 -31
- package/dist/components/layout/col/styles.css +1 -1
- package/dist/components/layout/page/styles.css +25 -5
- package/dist/components/layout/sectionHeader/styles.css +3 -3
- package/dist/components/navigation/breadcrumbs/styles.css +7 -7
- package/dist/components/navigation/pagination/styles.css +15 -15
- package/dist/components/navigation/sidebar/styles.css +6 -6
- package/dist/components/navigation/stepper/styles.css +14 -14
- package/dist/components/navigation/tabButton/styles.css +59 -59
- package/dist/components/navigation/tabs/styles.css +5 -5
- package/dist/components/overlays/modal/styles.css +19 -19
- package/dist/hooks/useInfinite.d.ts +3 -1
- package/dist/hooks/useInfinite.d.ts.map +1 -1
- package/dist/hooks/useInfinite.js +4 -2
- package/dist/hooks/useInfinite.js.map +1 -1
- package/dist/hooks/useInfiniteArchivableCursor.d.ts +1 -1
- package/dist/hooks/useInfiniteArchivableCursor.d.ts.map +1 -1
- package/dist/hooks/useInfiniteArchivableCursor.js +11 -4
- package/dist/hooks/useInfiniteArchivableCursor.js.map +1 -1
- package/dist/hooks/useInfiniteCursor.d.ts +1 -1
- package/dist/hooks/useInfiniteCursor.d.ts.map +1 -1
- package/dist/hooks/useInfiniteCursor.js +11 -4
- package/dist/hooks/useInfiniteCursor.js.map +1 -1
- package/dist/styles.css +142 -127
- package/package.json +15 -4
- package/src/components/buttons/button/styles.css +43 -43
- package/src/components/buttons/rowActions/index.tsx +6 -1
- package/src/components/data-display/addressBlock/styles.css +2 -2
- package/src/components/data-display/colorSwatch/index.tsx +2 -2
- package/src/components/data-display/colorSwatch/styles.css +1 -1
- package/src/components/data-display/dataTable/index.tsx +6 -3
- package/src/components/data-display/dataTable/styles.css +3 -2
- package/src/components/data-display/dataTable/utils/parseDataKey.ts +18 -36
- package/src/components/data-display/imagePreview/styles.css +2 -2
- package/src/components/data-display/infiniteScroll/filters/index.tsx +18 -1
- package/src/components/data-display/infiniteScroll/filters/listFilter.tsx +1 -0
- package/src/components/data-display/infiniteScroll/filters/rangeFilter.tsx +77 -33
- package/src/components/data-display/infiniteScroll/filters/selectFilter.tsx +11 -17
- package/src/components/data-display/infiniteScroll/filters/styles.css +30 -1
- package/src/components/data-display/infiniteScroll/header/limit.tsx +1 -0
- package/src/components/data-display/infiniteScroll/header/sortBy.tsx +1 -0
- package/src/components/data-display/infiniteScroll/header/sortDirection.tsx +1 -0
- package/src/components/data-display/infiniteScroll/index.tsx +75 -29
- package/src/components/data-display/infiniteScroll/styles.css +2 -2
- package/src/components/data-display/infiniteScroll/tags/index.tsx +6 -5
- package/src/components/data-display/infiniteScroll/tags/listFilterTag.tsx +20 -13
- package/src/components/data-display/infiniteScroll/tags/rangeFilterTag.tsx +4 -3
- package/src/components/data-display/infiniteScroll/utils/generateQueryString.ts +28 -13
- package/src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts +48 -16
- package/src/components/data-display/listCard/styles.css +3 -3
- package/src/components/data-display/listRow/styles.css +2 -2
- package/src/components/data-display/recoveryCodeGrid/styles.css +3 -3
- package/src/components/data-display/secretDisplay/styles.css +4 -4
- package/src/components/data-display/statCard/styles.css +12 -12
- package/src/components/data-display/summaryRow/styles.css +4 -4
- package/src/components/data-display/table/index.tsx +2 -2
- package/src/components/data-display/table/styles.css +10 -10
- package/src/components/data-display/tableFilters/index.tsx +147 -0
- package/src/components/data-display/tagCard/index.tsx +3 -2
- package/src/components/data-display/tagCard/styles.css +1 -1
- package/src/components/feedback/alert/styles.css +15 -15
- package/src/components/feedback/badge/index.tsx +36 -16
- package/src/components/feedback/badge/styles.css +44 -46
- package/src/components/feedback/emptyState/styles.css +2 -2
- package/src/components/feedback/loadingOverlay/styles.css +1 -1
- package/src/components/feedback/progressBar/styles.css +11 -11
- package/src/components/feedback/spinner/styles.css +14 -11
- package/src/components/feedback/tooltip/styles.css +9 -7
- package/src/components/forms/detailField/styles.css +1 -1
- package/src/components/forms/fieldShell/index.tsx +4 -1
- package/src/components/forms/fieldShell/styles.css +5 -5
- package/src/components/forms/form/styles.css +6 -6
- package/src/components/forms/formActions/styles.css +4 -4
- package/src/components/forms/formGrid/styles.css +32 -0
- package/src/components/forms/infoRow/styles.css +2 -2
- package/src/components/forms/optionsGroup/index.tsx +31 -12
- package/src/components/forms/optionsGroup/styles.css +1 -1
- package/src/components/forms/requiredAsterisk/index.tsx +5 -1
- package/src/components/forms/requiredAsterisk/styles.css +1 -1
- package/src/components/index.ts +2 -0
- package/src/components/inputs/checkbox/index.tsx +3 -2
- package/src/components/inputs/checkbox/styles.css +4 -4
- package/src/components/inputs/colorPicker/index.tsx +5 -2
- package/src/components/inputs/colorPicker/styles.css +3 -3
- package/src/components/inputs/dateInput/index.tsx +4 -5
- package/src/components/inputs/dateInput/styles.css +5 -5
- package/src/components/inputs/dateInput/utils.ts +12 -8
- package/src/components/inputs/dropdown/index.tsx +1 -1
- package/src/components/inputs/dropdown/styles.css +2 -2
- package/src/components/inputs/dropdownArrowButton/styles.css +7 -5
- package/src/components/inputs/fileDropZone/index.tsx +4 -3
- package/src/components/inputs/fileDropZone/styles.css +12 -12
- package/src/components/inputs/fileUpload/index.tsx +33 -23
- package/src/components/inputs/fileUpload/styles.css +9 -9
- package/src/components/inputs/input/index.tsx +21 -3
- package/src/components/inputs/input/styles.css +28 -28
- package/src/components/inputs/languageSelect/index.tsx +19 -4
- package/src/components/inputs/multiSelect/dropDown.tsx +83 -35
- package/src/components/inputs/multiSelect/index.tsx +87 -30
- package/src/components/inputs/multiSelect/styles.css +51 -43
- package/src/components/inputs/multiSelect/utils.ts +18 -0
- package/src/components/inputs/phoneInput/index.tsx +10 -2
- package/src/components/inputs/phoneInput/styles.css +13 -13
- package/src/components/inputs/radioGroup/index.tsx +2 -1
- package/src/components/inputs/richTextEditor/index.tsx +42 -44
- package/src/components/inputs/richTextEditor/styles.css +24 -24
- package/src/components/inputs/searchList/index.tsx +121 -109
- package/src/components/inputs/searchList/styles.css +22 -22
- package/src/components/inputs/searchSelect/index.tsx +8 -2
- package/src/components/inputs/select/index.tsx +3 -3
- package/src/components/inputs/select/styles.css +93 -15
- package/src/components/inputs/switch/index.tsx +3 -2
- package/src/components/inputs/switch/styles.css +5 -5
- package/src/components/inputs/textArea/index.tsx +3 -3
- package/src/components/inputs/textArea/styles.css +11 -11
- package/src/components/inputs/typeahead/index.tsx +84 -54
- package/src/components/inputs/typeahead/styles.css +13 -13
- package/src/components/layout/authPage/styles.css +6 -6
- package/src/components/layout/borderedSection/styles.css +3 -3
- package/src/components/layout/card/styles.css +31 -31
- package/src/components/layout/col/styles.css +1 -1
- package/src/components/layout/page/styles.css +25 -5
- package/src/components/layout/sectionHeader/styles.css +3 -3
- package/src/components/navigation/breadcrumbs/styles.css +7 -7
- package/src/components/navigation/pagination/styles.css +15 -15
- package/src/components/navigation/sidebar/styles.css +6 -6
- package/src/components/navigation/stepper/styles.css +14 -14
- package/src/components/navigation/tabButton/styles.css +59 -59
- package/src/components/navigation/tabs/styles.css +5 -5
- package/src/components/overlays/modal/styles.css +19 -19
- package/src/hooks/useInfinite.ts +7 -3
- package/src/hooks/useInfiniteArchivableCursor.ts +11 -4
- package/src/hooks/useInfiniteCursor.ts +11 -4
- package/src/styles.css +142 -127
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
padding: 0 0.5rem 0 0;
|
|
14
14
|
margin: 0;
|
|
15
15
|
cursor: pointer;
|
|
16
|
-
color: var(--text-color);
|
|
16
|
+
color: var(--k-text-color);
|
|
17
17
|
font: inherit;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
|
|
30
30
|
.k-phone-input-dial {
|
|
31
31
|
font-variant-numeric: tabular-nums;
|
|
32
|
-
color: var(--text-color-secondary, var(--text-color));
|
|
32
|
+
color: var(--k-text-color-secondary, var(--k-text-color));
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
.k-phone-input-caret {
|
|
36
36
|
font-size: 0.75em;
|
|
37
|
-
color: var(--text-color-secondary, var(--text-color));
|
|
37
|
+
color: var(--k-text-color-secondary, var(--k-text-color));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.k-phone-input-panel {
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
left: -0.5rem;
|
|
44
44
|
width: 18rem;
|
|
45
45
|
max-height: 20rem;
|
|
46
|
-
background-color: var(--background-color);
|
|
47
|
-
border: 1px solid var(--border-color);
|
|
46
|
+
background-color: var(--k-background-color);
|
|
47
|
+
border: 1px solid var(--k-border-color);
|
|
48
48
|
border-radius: 0.5rem;
|
|
49
|
-
box-shadow: 0 0.375rem 1.25rem var(--shadow-color);
|
|
49
|
+
box-shadow: 0 0.375rem 1.25rem var(--k-shadow-color);
|
|
50
50
|
z-index: 100;
|
|
51
51
|
display: flex;
|
|
52
52
|
flex-direction: column;
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
align-items: center;
|
|
59
59
|
gap: 0.5rem;
|
|
60
60
|
padding: 0.5rem 0.75rem;
|
|
61
|
-
border-bottom: 1px solid var(--border-color);
|
|
62
|
-
color: var(--text-color-secondary, var(--text-color));
|
|
61
|
+
border-bottom: 1px solid var(--k-border-color);
|
|
62
|
+
color: var(--k-text-color-secondary, var(--k-text-color));
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
.k-phone-input-search input {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
border: none;
|
|
68
68
|
outline: none;
|
|
69
69
|
background: transparent;
|
|
70
|
-
color: var(--text-color);
|
|
70
|
+
color: var(--k-text-color);
|
|
71
71
|
font: inherit;
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -88,19 +88,19 @@
|
|
|
88
88
|
background: transparent;
|
|
89
89
|
border: none;
|
|
90
90
|
cursor: pointer;
|
|
91
|
-
color: var(--text-color);
|
|
91
|
+
color: var(--k-text-color);
|
|
92
92
|
font: inherit;
|
|
93
93
|
text-align: left;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
.k-phone-input-option:hover,
|
|
97
97
|
.k-phone-input-option:focus-visible {
|
|
98
|
-
background-color: var(--
|
|
98
|
+
background-color: var(--k-background-color-hover);
|
|
99
99
|
outline: none;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
.k-phone-input-option.selected {
|
|
103
|
-
background-color: var(--
|
|
103
|
+
background-color: var(--k-background-color-hover);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
.k-phone-input-name {
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
|
|
113
113
|
.k-phone-input-empty {
|
|
114
114
|
padding: 0.75rem;
|
|
115
|
-
color: var(--text-color-secondary, var(--text-color));
|
|
115
|
+
color: var(--k-text-color-secondary, var(--k-text-color));
|
|
116
116
|
text-align: center;
|
|
117
117
|
font-size: 0.875rem;
|
|
118
118
|
}
|
|
@@ -22,7 +22,7 @@ const RadioGroup = <T extends string = string>(props: RadioGroupProps<T>) => {
|
|
|
22
22
|
const { disabled = false, required = false } = props;
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
|
-
<OptionsGroup label={props.label} required={required}>
|
|
25
|
+
<OptionsGroup label={props.label} required={required} role="radiogroup">
|
|
26
26
|
{props.options.map((option, index) => (
|
|
27
27
|
<label key={index} className="k-options-group-option">
|
|
28
28
|
<input
|
|
@@ -32,6 +32,7 @@ const RadioGroup = <T extends string = string>(props: RadioGroupProps<T>) => {
|
|
|
32
32
|
checked={props.value === option.value}
|
|
33
33
|
onChange={() => props.onChange(option.value)}
|
|
34
34
|
disabled={disabled}
|
|
35
|
+
required={required}
|
|
35
36
|
/>
|
|
36
37
|
{option.label}
|
|
37
38
|
</label>
|
|
@@ -4,10 +4,10 @@ import { useEditor, EditorContent, useEditorState } from "@tiptap/react";
|
|
|
4
4
|
import MandatoryAsterisk from "../../forms/requiredAsterisk/index.js";
|
|
5
5
|
import IconButton from "../../buttons/iconButton/index.js";
|
|
6
6
|
import Tooltip from "../../feedback/tooltip/index.js";
|
|
7
|
+
import { useState, useEffect, useId } from "react";
|
|
7
8
|
import { Placeholder } from "@tiptap/extensions";
|
|
8
9
|
import { PropsWithSize } from "../../types.js";
|
|
9
10
|
import StarterKit from "@tiptap/starter-kit";
|
|
10
|
-
import { useState, useEffect } from "react";
|
|
11
11
|
import "./styles.css";
|
|
12
12
|
import {
|
|
13
13
|
faUnderline,
|
|
@@ -50,11 +50,8 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
50
50
|
const [charCount, setCharCount] = useState(0);
|
|
51
51
|
const [isInitialized, setIsInitialized] = useState(false);
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
() => `richtext-${Math.random().toString(36).substring(2, 9)}`
|
|
56
|
-
);
|
|
57
|
-
const fieldId = props.id || generatedId;
|
|
53
|
+
const generatedId = useId();
|
|
54
|
+
const fieldId = props.id || `richtext-${generatedId}`;
|
|
58
55
|
const labelId = `${fieldId}-label`;
|
|
59
56
|
|
|
60
57
|
const cleanHtml = (html: string): string | undefined => {
|
|
@@ -76,6 +73,10 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
76
73
|
};
|
|
77
74
|
|
|
78
75
|
const editor = useEditor({
|
|
76
|
+
// TipTap would create the editor during render outside Next.js but after
|
|
77
|
+
// mount inside it (warning in dev). Always after mount, so `editor` starts
|
|
78
|
+
// null everywhere and the null handling below has one code path.
|
|
79
|
+
immediatelyRender: false,
|
|
79
80
|
extensions: [
|
|
80
81
|
StarterKit,
|
|
81
82
|
Placeholder.configure({
|
|
@@ -86,6 +87,7 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
86
87
|
editorProps: {
|
|
87
88
|
attributes: {
|
|
88
89
|
"aria-multiline": "true",
|
|
90
|
+
...(props.required ? { "aria-required": "true" } : {}),
|
|
89
91
|
...(props.label
|
|
90
92
|
? { "aria-labelledby": labelId }
|
|
91
93
|
: { "aria-label": props.placeholder ?? "Rich text editor" }),
|
|
@@ -110,17 +112,17 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
110
112
|
|
|
111
113
|
const editorState = useEditorState({
|
|
112
114
|
editor,
|
|
113
|
-
selector: ({ editor }) => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
};
|
|
121
|
-
},
|
|
115
|
+
selector: ({ editor }) => ({
|
|
116
|
+
isBold: editor?.isActive("bold") ?? false,
|
|
117
|
+
isItalic: editor?.isActive("italic") ?? false,
|
|
118
|
+
isUnderlined: editor?.isActive("underline") ?? false,
|
|
119
|
+
isBulletedList: editor?.isActive("bulletList") ?? false,
|
|
120
|
+
isNumberedList: editor?.isActive("orderedList") ?? false,
|
|
121
|
+
}),
|
|
122
122
|
});
|
|
123
123
|
|
|
124
|
+
const toolbarDisabled = !editor || showHtml || disabled;
|
|
125
|
+
|
|
124
126
|
useEffect(() => {
|
|
125
127
|
if (editor) {
|
|
126
128
|
editor.setEditable(!disabled);
|
|
@@ -141,12 +143,8 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
141
143
|
const cleanedNew = cleanHtml(newValue) || "";
|
|
142
144
|
|
|
143
145
|
if (cleanedCurrent !== cleanedNew) {
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
setIsInitialized(false);
|
|
147
|
-
editor.commands.setContent(newValue);
|
|
148
|
-
// Re-enable after a short delay to allow content to settle
|
|
149
|
-
setTimeout(() => setIsInitialized(true), 0);
|
|
146
|
+
// An outside value isn't an edit, so don't echo it back to onChange.
|
|
147
|
+
editor.commands.setContent(newValue, { emitUpdate: false });
|
|
150
148
|
}
|
|
151
149
|
|
|
152
150
|
const textContent = editor.state.doc.textContent;
|
|
@@ -178,33 +176,33 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
178
176
|
<IconButton
|
|
179
177
|
icon={faBold}
|
|
180
178
|
aria-label="Bold"
|
|
181
|
-
aria-pressed={editorState
|
|
179
|
+
aria-pressed={editorState?.isBold}
|
|
182
180
|
size={size}
|
|
183
|
-
variant={editorState
|
|
184
|
-
onClick={() => editor
|
|
185
|
-
disabled={
|
|
181
|
+
variant={editorState?.isBold ? "primary" : "secondary"}
|
|
182
|
+
onClick={() => editor?.chain().focus().toggleBold().run()}
|
|
183
|
+
disabled={toolbarDisabled}
|
|
186
184
|
/>
|
|
187
185
|
</Tooltip>
|
|
188
186
|
<Tooltip content="Italic" position="top">
|
|
189
187
|
<IconButton
|
|
190
188
|
icon={faItalic}
|
|
191
189
|
aria-label="Italic"
|
|
192
|
-
aria-pressed={editorState
|
|
190
|
+
aria-pressed={editorState?.isItalic}
|
|
193
191
|
size={size}
|
|
194
|
-
variant={editorState
|
|
195
|
-
onClick={() => editor
|
|
196
|
-
disabled={
|
|
192
|
+
variant={editorState?.isItalic ? "primary" : "secondary"}
|
|
193
|
+
onClick={() => editor?.chain().focus().toggleItalic().run()}
|
|
194
|
+
disabled={toolbarDisabled}
|
|
197
195
|
/>
|
|
198
196
|
</Tooltip>
|
|
199
197
|
<Tooltip content="Underline" position="top">
|
|
200
198
|
<IconButton
|
|
201
199
|
icon={faUnderline}
|
|
202
200
|
aria-label="Underline"
|
|
203
|
-
aria-pressed={editorState
|
|
201
|
+
aria-pressed={editorState?.isUnderlined}
|
|
204
202
|
size={size}
|
|
205
|
-
variant={editorState
|
|
206
|
-
onClick={() => editor
|
|
207
|
-
disabled={
|
|
203
|
+
variant={editorState?.isUnderlined ? "primary" : "secondary"}
|
|
204
|
+
onClick={() => editor?.chain().focus().toggleUnderline().run()}
|
|
205
|
+
disabled={toolbarDisabled}
|
|
208
206
|
/>
|
|
209
207
|
</Tooltip>
|
|
210
208
|
<div className="k-toolbar-separator"></div>
|
|
@@ -212,22 +210,22 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
212
210
|
<IconButton
|
|
213
211
|
icon={faListUl}
|
|
214
212
|
aria-label="Bullet list"
|
|
215
|
-
aria-pressed={editorState
|
|
213
|
+
aria-pressed={editorState?.isBulletedList}
|
|
216
214
|
size={size}
|
|
217
|
-
variant={editorState
|
|
218
|
-
onClick={() => editor
|
|
219
|
-
disabled={
|
|
215
|
+
variant={editorState?.isBulletedList ? "primary" : "secondary"}
|
|
216
|
+
onClick={() => editor?.chain().focus().toggleBulletList().run()}
|
|
217
|
+
disabled={toolbarDisabled}
|
|
220
218
|
/>
|
|
221
219
|
</Tooltip>
|
|
222
220
|
<Tooltip content="Numbered List" position="top">
|
|
223
221
|
<IconButton
|
|
224
222
|
icon={faListOl}
|
|
225
223
|
aria-label="Numbered list"
|
|
226
|
-
aria-pressed={editorState
|
|
224
|
+
aria-pressed={editorState?.isNumberedList}
|
|
227
225
|
size={size}
|
|
228
|
-
variant={editorState
|
|
229
|
-
onClick={() => editor
|
|
230
|
-
disabled={
|
|
226
|
+
variant={editorState?.isNumberedList ? "primary" : "secondary"}
|
|
227
|
+
onClick={() => editor?.chain().focus().toggleOrderedList().run()}
|
|
228
|
+
disabled={toolbarDisabled}
|
|
231
229
|
/>
|
|
232
230
|
</Tooltip>
|
|
233
231
|
<div className="k-toolbar-separator"></div>
|
|
@@ -239,7 +237,7 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
239
237
|
variant="secondary"
|
|
240
238
|
onClick={() => {
|
|
241
239
|
editor
|
|
242
|
-
|
|
240
|
+
?.chain()
|
|
243
241
|
.focus()
|
|
244
242
|
.selectAll()
|
|
245
243
|
.clearNodes()
|
|
@@ -247,7 +245,7 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
247
245
|
.setTextSelection(0)
|
|
248
246
|
.run();
|
|
249
247
|
}}
|
|
250
|
-
disabled={
|
|
248
|
+
disabled={toolbarDisabled}
|
|
251
249
|
/>
|
|
252
250
|
</Tooltip>
|
|
253
251
|
<div className="k-toolbar-separator"></div>
|
|
@@ -261,7 +259,7 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
|
261
259
|
size={size}
|
|
262
260
|
variant={showHtml ? "primary" : "secondary"}
|
|
263
261
|
onClick={() => setShowHtml(!showHtml)}
|
|
264
|
-
disabled={disabled}
|
|
262
|
+
disabled={!editor || disabled}
|
|
265
263
|
/>
|
|
266
264
|
</Tooltip>
|
|
267
265
|
</div>
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
.k-richtext-label {
|
|
14
14
|
display: block;
|
|
15
|
-
font-size: var(--text-size-sm);
|
|
15
|
+
font-size: var(--k-text-size-sm);
|
|
16
16
|
font-weight: 500;
|
|
17
|
-
color: var(--text-color);
|
|
17
|
+
color: var(--k-text-color);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.k-editor-wrapper .tiptap {
|
|
21
|
-
color: var(--text-color);
|
|
21
|
+
color: var(--k-text-color);
|
|
22
22
|
min-width: 100%;
|
|
23
23
|
width: 100%;
|
|
24
24
|
box-sizing: border-box;
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
resize: both;
|
|
32
32
|
overflow-y: auto;
|
|
33
33
|
padding: 0.625rem 1rem;
|
|
34
|
-
font-size: var(--text-size-md);
|
|
35
|
-
background-color: var(--background-color-light);
|
|
34
|
+
font-size: var(--k-text-size-md);
|
|
35
|
+
background-color: var(--k-background-color-light);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.k-editor-wrapper p.is-editor-empty:first-child::before {
|
|
39
|
-
color: var(--text-color-secondary);
|
|
39
|
+
color: var(--k-text-color-secondary);
|
|
40
40
|
opacity: 0.7;
|
|
41
41
|
content: attr(data-placeholder);
|
|
42
42
|
float: left;
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
|
|
47
47
|
.k-editor-wrapper .tiptap:focus {
|
|
48
48
|
outline: none;
|
|
49
|
-
border-color: var(--border-color-active);
|
|
50
|
-
box-shadow: 0 0 0 0.1875rem var(--border-shadow-color-active);
|
|
49
|
+
border-color: var(--k-border-color-active);
|
|
50
|
+
box-shadow: 0 0 0 0.1875rem var(--k-border-shadow-color-active);
|
|
51
51
|
}
|
|
52
52
|
.k-editor-wrapper .tiptap p {
|
|
53
53
|
margin: 0 0 0.5rem 0;
|
|
@@ -71,26 +71,26 @@
|
|
|
71
71
|
display: flex;
|
|
72
72
|
gap: 0.25rem;
|
|
73
73
|
padding: 0.5rem;
|
|
74
|
-
background-color: var(--background-color-dark);
|
|
75
|
-
border-bottom: 0.0625rem solid var(--border-color);
|
|
74
|
+
background-color: var(--k-background-color-dark);
|
|
75
|
+
border-bottom: 0.0625rem solid var(--k-border-color);
|
|
76
76
|
border-radius: 0.375rem 0.375rem 0 0;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
.k-editor-wrapper {
|
|
80
80
|
position: relative;
|
|
81
|
-
border: 0.0625rem solid var(--border-color);
|
|
81
|
+
border: 0.0625rem solid var(--k-border-color);
|
|
82
82
|
border-radius: 0.375rem;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.k-toolbar-separator {
|
|
86
|
-
border-left: 1px solid var(--border-color);
|
|
86
|
+
border-left: 1px solid var(--k-border-color);
|
|
87
87
|
height: 1.5rem;
|
|
88
88
|
margin: 0 0.5rem;
|
|
89
89
|
align-self: center;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
.k-html-section {
|
|
93
|
-
background: var(--background-color-dark);
|
|
93
|
+
background: var(--k-background-color-dark);
|
|
94
94
|
padding: 1rem;
|
|
95
95
|
border-radius: 0 0 0.375rem 0.375rem;
|
|
96
96
|
overflow: auto;
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
min-width: 100%;
|
|
101
101
|
min-height: 30rem;
|
|
102
102
|
max-height: fit-content;
|
|
103
|
-
font-size: var(--text-size-md);
|
|
104
|
-
color: var(--text-color);
|
|
103
|
+
font-size: var(--k-text-size-md);
|
|
104
|
+
color: var(--k-text-color);
|
|
105
105
|
white-space: pre-wrap;
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
min-height: 25rem;
|
|
111
111
|
max-height: fit-content;
|
|
112
112
|
padding: 0.5rem 0.75rem;
|
|
113
|
-
font-size: var(--text-size-sm);
|
|
113
|
+
font-size: var(--k-text-size-sm);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
.k-richtext-container-sm .k-html-section {
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
min-height: 25rem;
|
|
119
119
|
max-height: fit-content;
|
|
120
120
|
padding: 0.75rem;
|
|
121
|
-
font-size: var(--text-size-sm);
|
|
121
|
+
font-size: var(--k-text-size-sm);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
.k-richtext-container-sm .k-editor-toolbar {
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
min-height: 35rem;
|
|
136
136
|
max-height: fit-content;
|
|
137
137
|
padding: 0.75rem 1.25rem;
|
|
138
|
-
font-size: var(--text-size-lg);
|
|
138
|
+
font-size: var(--k-text-size-lg);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
.k-richtext-container-lg .k-html-section {
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
min-height: 35rem;
|
|
144
144
|
max-height: fit-content;
|
|
145
145
|
padding: 1.25rem;
|
|
146
|
-
font-size: var(--text-size-lg);
|
|
146
|
+
font-size: var(--k-text-size-lg);
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
.k-richtext-container-lg .k-editor-toolbar {
|
|
@@ -162,23 +162,23 @@
|
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
.k-editor-wrapper-disabled .tiptap {
|
|
165
|
-
background-color: var(--background-color-light);
|
|
165
|
+
background-color: var(--k-background-color-light);
|
|
166
166
|
cursor: not-allowed;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
.k-editor-wrapper-disabled .k-editor-toolbar {
|
|
170
|
-
background-color: var(--background-color-light);
|
|
170
|
+
background-color: var(--k-background-color-light);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
.k-editor-wrapper-disabled .k-html-section {
|
|
174
|
-
background-color: var(--background-color-light);
|
|
174
|
+
background-color: var(--k-background-color-light);
|
|
175
175
|
cursor: not-allowed;
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
.k-richtext-char-count {
|
|
179
179
|
font-weight: 500;
|
|
180
|
-
font-size: var(--text-size-sm);
|
|
181
|
-
color: var(--text-color-secondary);
|
|
180
|
+
font-size: var(--k-text-size-sm);
|
|
181
|
+
color: var(--k-text-color-secondary);
|
|
182
182
|
margin-left: 0.5rem;
|
|
183
183
|
margin-right: 0.5rem;
|
|
184
184
|
}
|