@sqrzro/ui 4.0.0-alpha.6 → 4.0.0-alpha.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/buttons/ActionButton/index.d.ts +8 -6
- package/dist/components/buttons/ActionButton/index.js +3 -27
- package/dist/components/buttons/Button/index.d.ts +7 -6
- package/dist/components/buttons/Button/index.js +9 -19
- package/dist/components/collections/Collection/index.d.ts +7 -3
- package/dist/components/collections/Collection/index.js +9 -7
- package/dist/components/collections/DataTable/index.d.ts +14 -0
- package/dist/components/collections/DataTable/index.js +14 -0
- package/dist/components/collections/DefinitionList/index.d.ts +13 -0
- package/dist/components/collections/DefinitionList/index.js +13 -0
- package/dist/components/collections/EmptyMessage/index.d.ts +1 -1
- package/dist/components/collections/EmptyMessage/index.js +6 -4
- package/dist/components/collections/EmptyMessageAction/index.d.ts +2 -2
- package/dist/components/collections/EmptyMessageAction/index.js +1 -1
- package/dist/components/collections/List/index.d.ts +6 -3
- package/dist/components/collections/List/index.js +2 -2
- package/dist/components/collections/ListClientComponent/index.d.ts +7 -4
- package/dist/components/collections/ListClientComponent/index.js +8 -5
- package/dist/components/collections/ListItem/index.d.ts +10 -3
- package/dist/components/collections/ListItem/index.js +15 -23
- package/dist/components/collections/ListItemMenu/index.d.ts +8 -0
- package/dist/components/collections/ListItemMenu/index.js +7 -0
- package/dist/components/collections/ListItemMeta/index.d.ts +6 -4
- package/dist/components/collections/ListItemMeta/index.js +13 -17
- package/dist/components/collections/ListItemSecondary/index.d.ts +5 -3
- package/dist/components/collections/ListItemSecondary/index.js +12 -8
- package/dist/components/collections/Pagination/index.d.ts +1 -1
- package/dist/components/collections/Pagination/index.js +6 -7
- package/dist/components/collections/PaginationLink/index.d.ts +9 -0
- package/dist/components/collections/PaginationLink/index.js +9 -0
- package/dist/components/collections/Table/index.d.ts +3 -4
- package/dist/components/collections/Table/index.js +2 -8
- package/dist/components/collections/TableClientComponent/index.d.ts +7 -6
- package/dist/components/collections/TableClientComponent/index.js +11 -26
- package/dist/components/collections/TableRow/index.d.ts +13 -0
- package/dist/components/collections/TableRow/index.js +15 -0
- package/dist/components/collections/interfaces.d.ts +41 -34
- package/dist/components/collections/lang.js +1 -1
- package/dist/components/collections/utility/is-paginated.d.ts +1 -1
- package/dist/components/collections/utility/is-right-aligned.d.ts +3 -0
- package/dist/components/collections/utility/is-right-aligned.js +11 -0
- package/dist/components/collections/utility/normalize-href.d.ts +2 -0
- package/dist/components/collections/utility/normalize-href.js +8 -0
- package/dist/components/collections/utility/render-cell.d.ts +5 -0
- package/dist/components/collections/utility/render-cell.js +33 -0
- package/dist/components/elements/Badge/index.d.ts +12 -0
- package/dist/components/elements/Badge/index.js +9 -0
- package/dist/components/elements/ContentLink/index.d.ts +4 -0
- package/dist/components/elements/ContentLink/index.js +7 -0
- package/dist/components/elements/InfoPanel/index.d.ts +11 -0
- package/dist/components/elements/InfoPanel/index.js +9 -0
- package/dist/components/{utility → elements}/Link/index.d.ts +3 -2
- package/dist/components/{utility → elements}/Link/index.js +10 -9
- package/dist/components/elements/Menu/index.d.ts +19 -0
- package/dist/components/elements/Menu/index.js +17 -0
- package/dist/components/elements/MenuItem/index.d.ts +9 -0
- package/dist/components/elements/MenuItem/index.js +12 -0
- package/dist/components/elements/Page/index.d.ts +19 -0
- package/dist/components/elements/Page/index.js +18 -0
- package/dist/components/elements/Reference/index.d.ts +9 -0
- package/dist/components/elements/Reference/index.js +16 -0
- package/dist/components/elements/Summary/index.d.ts +13 -0
- package/dist/components/elements/Summary/index.js +22 -0
- package/dist/components/errors/AppError/index.d.ts +19 -0
- package/dist/components/errors/AppError/index.js +9 -0
- package/dist/components/errors/AppForbiddenError/index.d.ts +7 -0
- package/dist/components/errors/AppForbiddenError/index.js +6 -0
- package/dist/components/errors/AppNotFoundError/index.d.ts +7 -0
- package/dist/components/errors/AppNotFoundError/index.js +6 -0
- package/dist/components/errors/AppServerError/index.d.ts +8 -0
- package/dist/components/errors/AppServerError/index.js +17 -0
- package/dist/components/index.d.ts +35 -6
- package/dist/components/index.js +17 -3
- package/dist/components/modals/ConfirmModal/index.d.ts +5 -3
- package/dist/components/modals/ConfirmModal/index.js +3 -3
- package/dist/components/modals/Modal/index.d.ts +4 -4
- package/dist/components/modals/Modal/index.js +3 -3
- package/dist/components/modals/ModalActions/index.d.ts +3 -3
- package/dist/components/modals/ModalActions/index.js +4 -3
- package/dist/components/utility/Action/index.d.ts +11 -0
- package/dist/components/utility/Action/index.js +48 -0
- package/dist/components/utility/ActionList/index.d.ts +5 -5
- package/dist/components/utility/ActionList/index.js +5 -3
- package/dist/components/utility/AppBody/index.d.ts +5 -0
- package/dist/components/utility/AppBody/index.js +9 -0
- package/dist/components/utility/Calendar/index.d.ts +32 -0
- package/dist/components/utility/Calendar/index.js +66 -0
- package/dist/components/utility/CalendarDay/index.d.ts +11 -0
- package/dist/components/utility/CalendarDay/index.js +22 -0
- package/dist/components/utility/Confirmable/index.d.ts +9 -0
- package/dist/components/utility/Confirmable/index.js +14 -0
- package/dist/components/utility/Container/index.d.ts +1 -1
- package/dist/components/utility/Container/index.js +2 -2
- package/dist/components/utility/Loader/index.d.ts +1 -1
- package/dist/components/utility/Loader/index.js +5 -4
- package/dist/components/utility/Popover/index.d.ts +1 -1
- package/dist/components/utility/Popover/index.js +5 -5
- package/dist/components/utility/Toast/index.d.ts +2 -2
- package/dist/components/utility/Toast/index.js +6 -4
- package/dist/components/utility/Toaster/index.js +5 -5
- package/dist/filters/components/FilterBar/index.d.ts +5 -2
- package/dist/filters/components/FilterBarClientComponent/index.d.ts +2 -4
- package/dist/filters/components/FilterBarClientComponent/index.js +3 -43
- package/dist/filters/components/FilterClearButton/index.d.ts +7 -2
- package/dist/filters/components/FilterClearButton/index.js +8 -4
- package/dist/filters/components/FilterControl/index.d.ts +1 -1
- package/dist/filters/components/FilterControl/index.js +11 -4
- package/dist/filters/components/FilterItem/index.d.ts +2 -1
- package/dist/filters/components/FilterItem/index.js +3 -7
- package/dist/filters/components/FilterPanel/index.d.ts +1 -1
- package/dist/filters/{utility/filter.d.ts → filter.d.ts} +1 -1
- package/dist/filters/{utility/filter.js → filter.js} +8 -8
- package/dist/filters/filters/BooleanFilter/index.js +1 -1
- package/dist/filters/filters/CalendarFilter/index.js +3 -2
- package/dist/filters/filters/DateFilter/index.d.ts +1 -1
- package/dist/filters/filters/DateFilter/index.js +9 -4
- package/dist/filters/filters/DropdownFilter/index.js +1 -1
- package/dist/filters/filters/Filter/index.d.ts +5 -4
- package/dist/filters/filters/Filter/index.js +7 -7
- package/dist/filters/filters/SearchFilter/index.d.ts +7 -2
- package/dist/filters/filters/SearchFilter/index.js +8 -8
- package/dist/filters/filters/interfaces.d.ts +0 -2
- package/dist/filters/index.d.ts +2 -1
- package/dist/filters/index.js +2 -1
- package/dist/filters/interfaces.d.ts +2 -2
- package/dist/filters/utility/render-value.js +5 -5
- package/dist/forms/components/Autocomplete/index.d.ts +2 -2
- package/dist/forms/components/Autocomplete/index.js +3 -3
- package/dist/forms/components/AutocompleteList/index.d.ts +7 -0
- package/dist/forms/components/AutocompleteList/index.js +15 -0
- package/dist/forms/components/BaseCalendarInput/index.d.ts +11 -0
- package/dist/forms/components/BaseCalendarInput/index.js +22 -0
- package/dist/forms/components/CSVInput/index.d.ts +11 -0
- package/dist/forms/components/CSVInput/index.js +32 -0
- package/dist/forms/components/CalendarInput/index.d.ts +6 -0
- package/dist/forms/components/CalendarInput/index.js +14 -0
- package/dist/forms/components/ColorInput/index.d.ts +16 -0
- package/dist/forms/components/ColorInput/index.js +14 -0
- package/dist/forms/components/Dropdown/index.d.ts +1 -1
- package/dist/forms/components/Dropdown/index.js +9 -8
- package/dist/forms/components/DropdownItem/index.d.ts +9 -0
- package/dist/forms/components/DropdownItem/index.js +9 -0
- package/dist/forms/components/DropdownList/index.d.ts +1 -1
- package/dist/forms/components/DropdownList/index.js +7 -11
- package/dist/forms/components/EditableForm/index.d.ts +3 -3
- package/dist/forms/components/EditableForm/index.js +9 -9
- package/dist/forms/components/EditableFormField/index.d.ts +1 -1
- package/dist/forms/components/EditableFormField/index.js +3 -3
- package/dist/forms/components/EditableFormFields/index.d.ts +6 -0
- package/dist/forms/components/EditableFormFields/index.js +22 -1
- package/dist/forms/components/Form/index.d.ts +4 -2
- package/dist/forms/components/Form/index.js +7 -6
- package/dist/forms/components/FormError/index.d.ts +2 -2
- package/dist/forms/components/FormError/index.js +7 -5
- package/dist/forms/components/FormField/index.d.ts +7 -5
- package/dist/forms/components/FormField/index.js +15 -7
- package/dist/forms/components/FormFields/index.d.ts +19 -2
- package/dist/forms/components/FormFields/index.js +38 -2
- package/dist/forms/components/FormLabel/index.d.ts +1 -1
- package/dist/forms/components/FormLabel/index.js +4 -3
- package/dist/forms/components/ModalForm/index.d.ts +3 -2
- package/dist/forms/components/ModalForm/index.js +4 -3
- package/dist/forms/components/NumberInput/index.d.ts +1 -1
- package/dist/forms/components/PasswordComplexity/index.d.ts +16 -0
- package/dist/forms/components/PasswordComplexity/index.js +14 -0
- package/dist/forms/components/PasswordComplexityItem/index.d.ts +8 -0
- package/dist/forms/components/PasswordComplexityItem/index.js +10 -0
- package/dist/forms/components/PasswordInput/index.d.ts +1 -1
- package/dist/forms/components/PasswordInput/index.js +6 -6
- package/dist/forms/components/PointsInput/index.d.ts +5 -0
- package/dist/forms/components/{MoneyInput → PointsInput}/index.js +3 -3
- package/dist/forms/components/RangeCalendarInput/index.d.ts +6 -0
- package/dist/forms/components/RangeCalendarInput/index.js +14 -0
- package/dist/forms/components/StaticTextInput/index.d.ts +2 -2
- package/dist/forms/components/StaticTextInput/index.js +6 -7
- package/dist/forms/components/Switch/index.d.ts +9 -3
- package/dist/forms/components/Switch/index.js +7 -5
- package/dist/forms/components/TextArea/index.d.ts +14 -0
- package/dist/forms/components/TextArea/index.js +15 -0
- package/dist/forms/components/TextInput/index.d.ts +1 -1
- package/dist/forms/components/TextInput/index.js +5 -4
- package/dist/forms/hooks/useAutocomplete.d.ts +8 -6
- package/dist/forms/hooks/useAutocomplete.js +4 -4
- package/dist/forms/hooks/useDropdown.d.ts +5 -7
- package/dist/forms/hooks/useDropdown.js +5 -5
- package/dist/forms/hooks/useEditableDropdown.d.ts +4 -0
- package/dist/forms/hooks/useEditableDropdown.js +6 -0
- package/dist/forms/hooks/useEditableForm.js +8 -1
- package/dist/forms/hooks/useForm.d.ts +6 -7
- package/dist/forms/hooks/useForm.js +25 -27
- package/dist/forms/hooks/useModalForm.d.ts +2 -2
- package/dist/forms/hooks/useModalForm.js +8 -1
- package/dist/forms/index.d.ts +22 -6
- package/dist/forms/index.js +9 -4
- package/dist/forms/interfaces.d.ts +1 -1
- package/dist/forms/utility/extract-input-props.js +1 -0
- package/dist/forms/utility/format-date-value.d.ts +2 -0
- package/dist/forms/utility/format-date-value.js +13 -0
- package/dist/forms/utility/format-file-size.d.ts +2 -0
- package/dist/forms/utility/format-file-size.js +11 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/useConfirmable.d.ts +21 -0
- package/dist/hooks/useConfirmable.js +58 -0
- package/dist/hooks/useDownload.d.ts +2 -0
- package/dist/hooks/useDownload.js +18 -0
- package/dist/hooks/usePopover.d.ts +12 -0
- package/dist/hooks/usePopover.js +24 -0
- package/dist/hooks/useSelected.d.ts +12 -0
- package/dist/hooks/useSelected.js +35 -0
- package/dist/hooks/useServerAction.d.ts +10 -0
- package/dist/hooks/useServerAction.js +17 -0
- package/dist/hooks/useSuccess.d.ts +10 -0
- package/dist/hooks/useSuccess.js +22 -0
- package/dist/mail/Mail/index.d.ts +8 -0
- package/dist/mail/Mail/index.js +106 -0
- package/dist/mail/MailBlock/index.d.ts +5 -0
- package/dist/mail/MailBlock/index.js +5 -0
- package/dist/mail/MailButton/index.d.ts +8 -0
- package/dist/mail/MailButton/index.js +28 -0
- package/dist/mail/MailTable/index.d.ts +9 -0
- package/dist/mail/MailTable/index.js +7 -0
- package/dist/mail/index.d.ts +8 -0
- package/dist/mail/index.js +4 -0
- package/dist/mail/utility/convert-to-datauri.d.ts +2 -0
- package/dist/mail/utility/convert-to-datauri.js +16 -0
- package/dist/mail/utility/get-mail-config.d.ts +4 -0
- package/dist/mail/utility/get-mail-config.js +34 -0
- package/dist/mail/utility/interfaces.d.ts +23 -0
- package/dist/navigation/components/AppNavigation/index.d.ts +3 -1
- package/dist/navigation/components/AppNavigation/index.js +4 -4
- package/dist/navigation/components/AppNavigationItem/index.d.ts +5 -3
- package/dist/navigation/components/AppNavigationItem/index.js +16 -7
- package/dist/navigation/components/Tabs/index.js +1 -4
- package/dist/navigation/hooks/useNavigation.d.ts +3 -3
- package/dist/navigation/hooks/useNavigation.js +5 -5
- package/dist/styles/classnames/config.d.ts +91 -0
- package/dist/styles/classnames/config.js +1 -0
- package/dist/styles/classnames/interfaces.d.ts +56 -0
- package/dist/styles/classnames/interfaces.js +1 -0
- package/dist/styles/classnames/utility/apply-sizes.d.ts +3 -0
- package/dist/styles/classnames/utility/apply-sizes.js +21 -0
- package/dist/styles/classnames/utility/apply-variants.d.ts +3 -0
- package/dist/styles/classnames/utility/apply-variants.js +26 -0
- package/dist/styles/classnames/utility/is-classname-object.d.ts +3 -0
- package/dist/styles/classnames/utility/is-classname-object.js +7 -0
- package/dist/styles/classnames/utility/parse-classnames.d.ts +6 -0
- package/dist/styles/classnames/utility/parse-classnames.js +33 -0
- package/dist/styles/context.d.ts +28 -0
- package/dist/styles/context.js +19 -0
- package/dist/styles/icons/config.d.ts +22 -0
- package/dist/styles/icons/config.js +1 -0
- package/dist/styles/icons/interfaces.d.ts +4 -0
- package/dist/styles/icons/interfaces.js +1 -0
- package/dist/styles/index.d.ts +6 -2
- package/dist/styles/index.js +2 -1
- package/dist/styles/styles.css +60 -0
- package/dist/utility/compare-dates.d.ts +2 -0
- package/dist/utility/compare-dates.js +13 -0
- package/dist/utility/get-date-state.d.ts +8 -0
- package/dist/utility/get-date-state.js +63 -0
- package/dist/utility/get-days.d.ts +2 -0
- package/dist/utility/get-days.js +5 -0
- package/dist/utility/get-weeks.d.ts +2 -0
- package/dist/utility/get-weeks.js +31 -0
- package/dist/utility/index.d.ts +1 -1
- package/dist/utility/interfaces.d.ts +33 -17
- package/dist/utility/is-data-object-array.d.ts +3 -0
- package/dist/utility/is-data-object-array.js +5 -0
- package/dist/utility/is-data-object.d.ts +3 -0
- package/dist/utility/is-data-object.js +4 -0
- package/package.json +31 -19
- package/dist/components/buttons/ConfirmableButton/index.d.ts +0 -7
- package/dist/components/buttons/ConfirmableButton/index.js +0 -13
- package/dist/components/collections/utility/filter-columns.d.ts +0 -3
- package/dist/components/collections/utility/filter-columns.js +0 -8
- package/dist/components/collections/utility/get-selected-from-search-params.d.ts +0 -2
- package/dist/components/collections/utility/get-selected-from-search-params.js +0 -5
- package/dist/components/collections/utility/set-selected-to-search-params.d.ts +0 -2
- package/dist/components/collections/utility/set-selected-to-search-params.js +0 -4
- package/dist/components/utility/ClassNames/index.d.ts +0 -6
- package/dist/components/utility/ClassNames/index.js +0 -7
- package/dist/components/utility/Page/index.d.ts +0 -18
- package/dist/components/utility/Page/index.js +0 -34
- package/dist/components/utility/RootLayout/index.d.ts +0 -12
- package/dist/components/utility/RootLayout/index.js +0 -14
- package/dist/forms/components/MoneyInput/index.d.ts +0 -5
- package/dist/styles/config.d.ts +0 -64
- package/dist/styles/config.js +0 -43
- package/dist/styles/icons.d.ts +0 -15
- package/dist/styles/icons.js +0 -7
- package/dist/styles/interfaces.d.ts +0 -41
- /package/dist/{styles → mail/utility}/interfaces.js +0 -0
- /package/dist/styles/{tw.d.ts → classnames/utility/tw.d.ts} +0 -0
- /package/dist/styles/{tw.js → classnames/utility/tw.js} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const keyMap = {
|
|
2
|
+
extraSmall: 'isExtraSmall',
|
|
3
|
+
small: 'isSmall',
|
|
4
|
+
medium: 'isMedium',
|
|
5
|
+
large: 'isLarge',
|
|
6
|
+
extraLarge: 'isExtraLarge',
|
|
7
|
+
};
|
|
8
|
+
function applySizes(sizes) {
|
|
9
|
+
if (!sizes) {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
const sizeArray = Array.isArray(sizes) ? sizes : [sizes];
|
|
13
|
+
return sizeArray.reduce((acc, size) => {
|
|
14
|
+
const key = keyMap[size];
|
|
15
|
+
if (key) {
|
|
16
|
+
acc[key] = true;
|
|
17
|
+
}
|
|
18
|
+
return acc;
|
|
19
|
+
}, {});
|
|
20
|
+
}
|
|
21
|
+
export default applySizes;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const keyMap = {
|
|
2
|
+
bordered: 'isBordered',
|
|
3
|
+
danger: 'isDanger',
|
|
4
|
+
error: 'isError',
|
|
5
|
+
hollow: 'isHollow',
|
|
6
|
+
info: 'isInfo',
|
|
7
|
+
primary: 'isPrimary',
|
|
8
|
+
secondary: 'isSecondary',
|
|
9
|
+
success: 'isSuccess',
|
|
10
|
+
tertiary: 'isTertiary',
|
|
11
|
+
warning: 'isWarning',
|
|
12
|
+
};
|
|
13
|
+
function applyVariants(variants) {
|
|
14
|
+
if (!variants) {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
const variantArray = Array.isArray(variants) ? variants : [variants];
|
|
18
|
+
return variantArray.reduce((acc, variant) => {
|
|
19
|
+
const key = keyMap[variant];
|
|
20
|
+
if (key) {
|
|
21
|
+
acc[key] = true;
|
|
22
|
+
}
|
|
23
|
+
return acc;
|
|
24
|
+
}, {});
|
|
25
|
+
}
|
|
26
|
+
export default applyVariants;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { getEntries } from '@sqrzro/utility';
|
|
2
|
+
import tw from '../utility/tw';
|
|
3
|
+
import isClassNameObject from './is-classname-object';
|
|
4
|
+
function parseClassNames(classNames, config, overrides) {
|
|
5
|
+
if (!classNames) {
|
|
6
|
+
return {};
|
|
7
|
+
}
|
|
8
|
+
const overridden = { ...classNames, ...overrides };
|
|
9
|
+
return getEntries(overridden).reduce((acc, [key, value]) => {
|
|
10
|
+
if (typeof value === 'string') {
|
|
11
|
+
return { ...acc, [key]: value };
|
|
12
|
+
}
|
|
13
|
+
if (isClassNameObject(value)) {
|
|
14
|
+
const { default: defaultClassName, props, states } = value;
|
|
15
|
+
const propClassNames = props
|
|
16
|
+
? Object.keys(props)
|
|
17
|
+
.filter((key) => config?.props?.[key])
|
|
18
|
+
.map((key) => props[key])
|
|
19
|
+
: [];
|
|
20
|
+
const stateClassNames = states
|
|
21
|
+
? Object.keys(states)
|
|
22
|
+
.filter((key) => config?.states?.[key])
|
|
23
|
+
.map((key) => states[key])
|
|
24
|
+
: [];
|
|
25
|
+
return {
|
|
26
|
+
...acc,
|
|
27
|
+
[key]: tw(defaultClassName, ...propClassNames, ...stateClassNames),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return acc;
|
|
31
|
+
}, {});
|
|
32
|
+
}
|
|
33
|
+
export default parseClassNames;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UIClassNames } from './classnames/config';
|
|
2
|
+
import { UIIcons } from './icons/config';
|
|
3
|
+
import type { ExtractClassNames } from './classnames/interfaces';
|
|
4
|
+
declare function createUIContext<TClassNames extends object, TIcons extends object>(): {
|
|
5
|
+
UIProvider: ({ data, children }: {
|
|
6
|
+
data: {
|
|
7
|
+
classNames: TClassNames;
|
|
8
|
+
icons: TIcons;
|
|
9
|
+
};
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
useClassNames: <K extends keyof TClassNames>(component: K, config?: {
|
|
13
|
+
props?: Record<string, boolean>;
|
|
14
|
+
states?: Record<string, boolean>;
|
|
15
|
+
}, overrides?: TClassNames[K]) => ExtractClassNames<TClassNames[K]>;
|
|
16
|
+
useIcon: <K extends keyof TIcons>(component: K) => TIcons[K];
|
|
17
|
+
};
|
|
18
|
+
export declare const UIProvider: ({ data, children }: {
|
|
19
|
+
data: {
|
|
20
|
+
classNames: UIClassNames;
|
|
21
|
+
icons: UIIcons;
|
|
22
|
+
};
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
}) => import("react/jsx-runtime").JSX.Element, useClassNames: <K extends keyof UIClassNames>(component: K, config?: {
|
|
25
|
+
props?: Record<string, boolean>;
|
|
26
|
+
states?: Record<string, boolean>;
|
|
27
|
+
} | undefined, overrides?: UIClassNames[K] | undefined) => ExtractClassNames<UIClassNames[K]>, useIcon: <K extends keyof UIIcons>(component: K) => UIIcons[K];
|
|
28
|
+
export default createUIContext;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext } from 'react';
|
|
4
|
+
import parseClassNames from './classnames/utility/parse-classnames';
|
|
5
|
+
function createUIContext() {
|
|
6
|
+
const UIContext = createContext({});
|
|
7
|
+
const UIProvider = ({ data, children }) => (_jsx(UIContext.Provider, { value: data, children: children }));
|
|
8
|
+
function useClassNames(component, config, overrides) {
|
|
9
|
+
const ctx = useContext(UIContext);
|
|
10
|
+
return parseClassNames(ctx.classNames[component], config, overrides);
|
|
11
|
+
}
|
|
12
|
+
function useIcon(component) {
|
|
13
|
+
const ctx = useContext(UIContext);
|
|
14
|
+
return ctx.icons[component];
|
|
15
|
+
}
|
|
16
|
+
return { UIProvider, useClassNames, useIcon };
|
|
17
|
+
}
|
|
18
|
+
export const { UIProvider, useClassNames, useIcon } = createUIContext();
|
|
19
|
+
export default createUIContext;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IconComponent } from './interfaces';
|
|
2
|
+
export interface UIIcons {
|
|
3
|
+
'appNavigation.menu'?: IconComponent;
|
|
4
|
+
'calendar.previous'?: IconComponent;
|
|
5
|
+
'calendar.next'?: IconComponent;
|
|
6
|
+
'csvInput.upload'?: IconComponent;
|
|
7
|
+
'csvInput.success'?: IconComponent;
|
|
8
|
+
'collection.empty'?: IconComponent;
|
|
9
|
+
'colorInput.clear'?: IconComponent;
|
|
10
|
+
'dropdown.control'?: IconComponent;
|
|
11
|
+
'filter.clear'?: IconComponent;
|
|
12
|
+
'filter.panel'?: IconComponent;
|
|
13
|
+
'filter.search'?: IconComponent;
|
|
14
|
+
'formField.error'?: IconComponent;
|
|
15
|
+
'passwordComplexity.invalid'?: IconComponent;
|
|
16
|
+
'passwordComplexity.valid'?: IconComponent;
|
|
17
|
+
'passwordInput.hidden'?: IconComponent;
|
|
18
|
+
'passwordInput.visible'?: IconComponent;
|
|
19
|
+
'staticTextInput.clear'?: IconComponent;
|
|
20
|
+
'utility.success'?: IconComponent;
|
|
21
|
+
'utility.error'?: IconComponent;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/styles/index.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export
|
|
1
|
+
export type { UIClassNames } from './classnames/config';
|
|
2
|
+
export type * from './classnames/interfaces';
|
|
3
|
+
export { default as tw, twx } from './classnames/utility/tw';
|
|
4
|
+
export type { UIIcons } from './icons/config';
|
|
5
|
+
export type * from './icons/interfaces';
|
|
6
|
+
export { default as createUIContext, UIProvider, useClassNames, useIcon } from './context';
|
package/dist/styles/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { default as tw, twx } from './tw';
|
|
1
|
+
export { default as tw, twx } from './classnames/utility/tw';
|
|
2
|
+
export { default as createUIContext, UIProvider, useClassNames, useIcon } from './context';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
@theme {
|
|
2
|
+
/* These are defaults that will (probably) be overwritten by the consuming application */
|
|
3
|
+
--color-primary: var(--color-teal-600);
|
|
4
|
+
--color-primary-dark: var(--color-teal-700);
|
|
5
|
+
--color-on-primary: var(--color-white);
|
|
6
|
+
/* End defaults */
|
|
7
|
+
|
|
8
|
+
--color-button-bg: var(--color-primary);
|
|
9
|
+
--color-button-bg-hover: var(--color-primary-dark);
|
|
10
|
+
--color-button-text: var(--color-on-primary);
|
|
11
|
+
--color-link: var(--color-primary);
|
|
12
|
+
--color-panel: var(--color-white);
|
|
13
|
+
|
|
14
|
+
--color-error: var(--color-red-600);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@layer base {
|
|
18
|
+
button {
|
|
19
|
+
@apply cursor-pointer;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
hr {
|
|
23
|
+
@apply border-slate-200;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
input::-webkit-inner-spin-button {
|
|
27
|
+
@apply appearance-none m-0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
input[type=number] {
|
|
31
|
+
-moz-appearance: textfield;
|
|
32
|
+
appearance: textfield;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
small {
|
|
36
|
+
@apply text-xs;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
strong {
|
|
40
|
+
@apply font-semibold;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@layer utilities {
|
|
45
|
+
.fade {
|
|
46
|
+
@apply transition-discrete transition-all duration-100 invisible opacity-0 ease-in-out;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.fade-open {
|
|
50
|
+
@apply starting:opacity-0 visible opacity-100;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.show {
|
|
54
|
+
@apply transition-discrete transition-all duration-100 invisible opacity-0 ease-in-out scale-90;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.show-open {
|
|
58
|
+
@apply starting:opacity-0 starting:scale-90 visible opacity-100 scale-100;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
function compareDates(first, second) {
|
|
2
|
+
if (first.getFullYear() !== second.getFullYear()) {
|
|
3
|
+
return first.getFullYear() < second.getFullYear() ? -1 : 1;
|
|
4
|
+
}
|
|
5
|
+
if (first.getMonth() !== second.getMonth()) {
|
|
6
|
+
return first.getMonth() < second.getMonth() ? -1 : 1;
|
|
7
|
+
}
|
|
8
|
+
if (first.getDate() !== second.getDate()) {
|
|
9
|
+
return first.getDate() < second.getDate() ? -1 : 1;
|
|
10
|
+
}
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
export default compareDates;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface DateState {
|
|
2
|
+
isEnd: boolean;
|
|
3
|
+
isInRange: boolean;
|
|
4
|
+
isSelected: boolean;
|
|
5
|
+
isStart: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare function getDateState(date: Date | null, pendingValue?: Date | null, value?: Date | [Date, Date] | null): DateState;
|
|
8
|
+
export default getDateState;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import compareDates from './compare-dates';
|
|
2
|
+
function getDateState(date, pendingValue, value) {
|
|
3
|
+
const defaultState = {
|
|
4
|
+
isEnd: false,
|
|
5
|
+
isInRange: false,
|
|
6
|
+
isSelected: false,
|
|
7
|
+
isStart: false,
|
|
8
|
+
};
|
|
9
|
+
// If there is no date, pending value, or value, return null
|
|
10
|
+
if (!date || (!pendingValue && !value)) {
|
|
11
|
+
return defaultState;
|
|
12
|
+
}
|
|
13
|
+
// For single date, check that the date is selected
|
|
14
|
+
if (date &&
|
|
15
|
+
!pendingValue &&
|
|
16
|
+
!Array.isArray(value) &&
|
|
17
|
+
value &&
|
|
18
|
+
compareDates(date, value) === 0) {
|
|
19
|
+
return { ...defaultState, isSelected: true };
|
|
20
|
+
}
|
|
21
|
+
// For range, check that the date is selected, and is the only one selected
|
|
22
|
+
if (date && pendingValue && compareDates(date, pendingValue) === 0) {
|
|
23
|
+
return { ...defaultState, isSelected: true };
|
|
24
|
+
}
|
|
25
|
+
// For range, check that both dates are the same
|
|
26
|
+
if (date &&
|
|
27
|
+
!pendingValue &&
|
|
28
|
+
Array.isArray(value) &&
|
|
29
|
+
value[0] &&
|
|
30
|
+
value[1] &&
|
|
31
|
+
compareDates(value[0], value[1]) === 0 &&
|
|
32
|
+
compareDates(date, value[0]) === 0) {
|
|
33
|
+
return { ...defaultState, isSelected: true };
|
|
34
|
+
}
|
|
35
|
+
// For range, check that the date is selected, and is the first of two selected
|
|
36
|
+
if (date &&
|
|
37
|
+
!pendingValue &&
|
|
38
|
+
Array.isArray(value) &&
|
|
39
|
+
value[0] &&
|
|
40
|
+
compareDates(date, value[0]) === 0) {
|
|
41
|
+
return { ...defaultState, isStart: true };
|
|
42
|
+
}
|
|
43
|
+
// For range, check that the date is selected, and is the second of two selected
|
|
44
|
+
if (date &&
|
|
45
|
+
!pendingValue &&
|
|
46
|
+
Array.isArray(value) &&
|
|
47
|
+
value[1] &&
|
|
48
|
+
compareDates(date, value[1]) === 0) {
|
|
49
|
+
return { ...defaultState, isEnd: true };
|
|
50
|
+
}
|
|
51
|
+
// For range, check that the date is in between two selected dates
|
|
52
|
+
if (date &&
|
|
53
|
+
!pendingValue &&
|
|
54
|
+
Array.isArray(value) &&
|
|
55
|
+
value[0] &&
|
|
56
|
+
value[1] &&
|
|
57
|
+
compareDates(date, value[0]) > 0 &&
|
|
58
|
+
compareDates(date, value[1]) < 0) {
|
|
59
|
+
return { ...defaultState, isInRange: true };
|
|
60
|
+
}
|
|
61
|
+
return defaultState;
|
|
62
|
+
}
|
|
63
|
+
export default getDateState;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const DAYS_IN_WEEK = 7;
|
|
2
|
+
const SUNDAY = 6;
|
|
3
|
+
// Most date libraries start the week on Sunday (US). We want to start on Monday (UK).
|
|
4
|
+
function adjustDayOfWeek(num) {
|
|
5
|
+
return num === 0 ? SUNDAY : num - 1;
|
|
6
|
+
}
|
|
7
|
+
function getWeeks(date) {
|
|
8
|
+
const firstDay = new Date(date);
|
|
9
|
+
firstDay.setDate(1);
|
|
10
|
+
const firstDayofMonth = adjustDayOfWeek(firstDay.getDay());
|
|
11
|
+
const daysInMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
|
|
12
|
+
// First, fill an array with nulls from Monday until whatver day the first of the month is
|
|
13
|
+
const days = Array(firstDayofMonth).fill(null);
|
|
14
|
+
// Now, add subsequential dates to the array until we reach the number of days in the month
|
|
15
|
+
for (let index = 0; index < daysInMonth; index += 1) {
|
|
16
|
+
const dt = new Date(firstDay);
|
|
17
|
+
dt.setDate(dt.getDate() + index);
|
|
18
|
+
days.push(dt);
|
|
19
|
+
}
|
|
20
|
+
// Fill up the array with nulls until it's a multiple of 7
|
|
21
|
+
while (days.length % DAYS_IN_WEEK) {
|
|
22
|
+
days.push(null);
|
|
23
|
+
}
|
|
24
|
+
// Split the array into 7s, to create a multidimensional array of weeks and days in those weeks
|
|
25
|
+
const weeks = [];
|
|
26
|
+
for (let index = 0; index < days.length; index += DAYS_IN_WEEK) {
|
|
27
|
+
weeks.push(days.slice(index, index + DAYS_IN_WEEK));
|
|
28
|
+
}
|
|
29
|
+
return weeks;
|
|
30
|
+
}
|
|
31
|
+
export default getWeeks;
|
package/dist/utility/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type * from './interfaces';
|
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { UseSuccessArgs } from '../hooks/useSuccess';
|
|
2
|
+
export type ActionEvent = React.MouseEvent<HTMLAnchorElement> | React.MouseEvent<HTMLButtonElement>;
|
|
3
|
+
export interface SimpleActionObject {
|
|
4
|
+
details?: React.ReactNode;
|
|
5
|
+
href?: string;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
isDisabled?: boolean;
|
|
8
|
+
isLoading?: boolean;
|
|
9
|
+
isSubmittable?: boolean;
|
|
10
|
+
label: React.ReactNode;
|
|
11
|
+
onClick?: (event?: ActionEvent) => void;
|
|
12
|
+
searchParams?: Record<string, string>;
|
|
13
|
+
variant?: StyleVariant[] | StyleVariant;
|
|
14
|
+
}
|
|
15
|
+
export interface ActionObject<Data, Response> extends SimpleActionObject, UseSuccessArgs<Response> {
|
|
16
|
+
action?: (data: Data) => Promise<Response>;
|
|
17
|
+
confirmable?: ConfirmableObject<Data, Response>;
|
|
18
|
+
data?: Data;
|
|
19
|
+
}
|
|
20
|
+
export interface ConfirmableObject<Data, Response> extends UseSuccessArgs<Response> {
|
|
21
|
+
actions?: Omit<ActionObject<Data, Response>, 'confirmable'>[];
|
|
3
22
|
confirmText?: string;
|
|
4
23
|
description?: React.ReactNode;
|
|
5
24
|
icon?: React.ReactNode;
|
|
6
25
|
isLoading?: boolean;
|
|
7
26
|
modalIcon?: React.ReactNode;
|
|
8
27
|
onBeforeConfirm?: () => void;
|
|
9
|
-
onConfirm
|
|
28
|
+
onConfirm?: () => void;
|
|
10
29
|
submitLabel?: string;
|
|
11
|
-
title?:
|
|
30
|
+
title?: React.ReactNode;
|
|
12
31
|
}
|
|
13
|
-
export interface
|
|
14
|
-
action?: string;
|
|
15
|
-
confirmable?: ConfirmableObject;
|
|
16
|
-
details?: React.ReactNode;
|
|
17
|
-
href?: string;
|
|
18
|
-
icon?: React.ReactNode;
|
|
19
|
-
isDisabled?: boolean;
|
|
20
|
-
isLoading?: boolean;
|
|
21
|
-
isSubmittable?: boolean;
|
|
32
|
+
export interface DataObject {
|
|
22
33
|
label: React.ReactNode;
|
|
23
|
-
|
|
24
|
-
variant?: ButtonVariant;
|
|
34
|
+
value: React.ReactNode;
|
|
25
35
|
}
|
|
26
36
|
export interface NextLayoutProps {
|
|
27
37
|
children: React.ReactNode;
|
|
@@ -31,5 +41,11 @@ export interface NextPageProps {
|
|
|
31
41
|
params?: Promise<Record<string, string>> | null;
|
|
32
42
|
searchParams?: Promise<Record<string, string>> | null;
|
|
33
43
|
}
|
|
34
|
-
export type
|
|
35
|
-
|
|
44
|
+
export type ReferenceObject = {
|
|
45
|
+
id?: string;
|
|
46
|
+
name: string;
|
|
47
|
+
path?: string;
|
|
48
|
+
reference?: string;
|
|
49
|
+
};
|
|
50
|
+
export type SizeVariant = 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge';
|
|
51
|
+
export type StyleVariant = 'bordered' | 'danger' | 'error' | 'hollow' | 'info' | 'primary' | 'secondary' | 'success' | 'tertiary' | 'warning';
|
package/package.json
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sqrzro/ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-alpha.
|
|
4
|
+
"version": "4.0.0-alpha.61",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "ISC",
|
|
8
8
|
"exports": {
|
|
9
|
+
"./addon": {
|
|
10
|
+
"types": "./dist/addon/index.d.ts",
|
|
11
|
+
"default": "./dist/addon/index.js"
|
|
12
|
+
},
|
|
9
13
|
"./components": {
|
|
10
14
|
"types": "./dist/components/index.d.ts",
|
|
11
15
|
"default": "./dist/components/index.js"
|
|
@@ -22,6 +26,10 @@
|
|
|
22
26
|
"types": "./dist/hooks/index.d.ts",
|
|
23
27
|
"default": "./dist/hooks/index.js"
|
|
24
28
|
},
|
|
29
|
+
"./mail": {
|
|
30
|
+
"types": "./dist/mail/index.d.ts",
|
|
31
|
+
"default": "./dist/mail/index.js"
|
|
32
|
+
},
|
|
25
33
|
"./navigation": {
|
|
26
34
|
"types": "./dist/navigation/index.d.ts",
|
|
27
35
|
"default": "./dist/navigation/index.js"
|
|
@@ -30,6 +38,9 @@
|
|
|
30
38
|
"types": "./dist/styles/index.d.ts",
|
|
31
39
|
"default": "./dist/styles/index.js"
|
|
32
40
|
},
|
|
41
|
+
"./styles.css": {
|
|
42
|
+
"default": "./dist/styles/styles.css"
|
|
43
|
+
},
|
|
33
44
|
"./utility": {
|
|
34
45
|
"types": "./dist/utility/index.d.ts",
|
|
35
46
|
"default": "./dist/utility/index.js"
|
|
@@ -40,39 +51,40 @@
|
|
|
40
51
|
],
|
|
41
52
|
"dependencies": {
|
|
42
53
|
"clsx": "^2.1.1",
|
|
43
|
-
"
|
|
54
|
+
"drizzle-orm": "^0.45.1",
|
|
55
|
+
"next": "^16.2.0",
|
|
44
56
|
"react": "^19.2.4",
|
|
45
|
-
"react-dom": "^19.2.
|
|
46
|
-
"tailwind-merge": "^3.
|
|
57
|
+
"react-dom": "^19.2.4",
|
|
58
|
+
"tailwind-merge": "^3.5.0",
|
|
47
59
|
"use-deep-compare-effect": "^1.8.1",
|
|
48
|
-
"@sqrzro/
|
|
60
|
+
"@sqrzro/addons": "^4.0.0-alpha.10",
|
|
61
|
+
"@sqrzro/utility": "^4.0.0-alpha.19"
|
|
49
62
|
},
|
|
50
63
|
"devDependencies": {
|
|
51
|
-
"@storybook/addon-a11y": "^10.1
|
|
52
|
-
"@storybook/addon-docs": "^10.1
|
|
53
|
-
"@storybook/nextjs": "^10.1
|
|
54
|
-
"@testing-library/react": "^16.3.
|
|
64
|
+
"@storybook/addon-a11y": "^10.3.1",
|
|
65
|
+
"@storybook/addon-docs": "^10.3.1",
|
|
66
|
+
"@storybook/nextjs": "^10.3.1",
|
|
67
|
+
"@testing-library/react": "^16.3.2",
|
|
55
68
|
"@testing-library/user-event": "^14.6.1",
|
|
56
|
-
"@types/react": "^19.2.
|
|
69
|
+
"@types/react": "^19.2.14",
|
|
57
70
|
"@types/react-dom": "^19.2.3",
|
|
58
71
|
"concurrently": "^9.2.1",
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"rimraf": "^6.1.
|
|
62
|
-
"storybook": "^10.1
|
|
72
|
+
"cpx": "^1.5.0",
|
|
73
|
+
"next-router-mock": "^1.0.5",
|
|
74
|
+
"rimraf": "^6.1.3",
|
|
75
|
+
"storybook": "^10.3.1",
|
|
63
76
|
"tsc-alias": "^1.8.16",
|
|
64
77
|
"tslib": "^2.8.1",
|
|
65
|
-
"typescript": "^5.9.3"
|
|
66
|
-
"@sqrzro/prettier-config": "^4.0.0-alpha.1"
|
|
78
|
+
"typescript": "^5.9.3"
|
|
67
79
|
},
|
|
68
80
|
"scripts": {
|
|
69
|
-
"build": "pnpm clean && tsc -p tsconfig.build.json && tsc-alias",
|
|
81
|
+
"build": "pnpm clean && tsc -p tsconfig.build.json && tsc-alias && pnpm build:css",
|
|
82
|
+
"build:css": "cpx \"./src/**/*.css\" ./dist",
|
|
70
83
|
"clean": "rimraf ./dist",
|
|
71
|
-
"dev": "(concurrently \"tsc -p tsconfig.build.json --watch\" \"tsc-alias -w\")",
|
|
84
|
+
"dev": "pnpm build:css && (concurrently \"tsc -p tsconfig.build.json --watch\" \"tsc-alias -w\")",
|
|
72
85
|
"docs:start": "storybook dev -p 6006",
|
|
73
86
|
"docs:build": "storybook build",
|
|
74
87
|
"lint": "tsc --noEmit && eslint \"./src/**/*.ts\"",
|
|
75
|
-
"prettier": "prettier --write \"./src/**/*.tsx\" \"./src/**/*.ts\"",
|
|
76
88
|
"start": "pnpm dev"
|
|
77
89
|
}
|
|
78
90
|
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ConfirmableObject } from '../../../utility/interfaces';
|
|
2
|
-
import type { ButtonProps } from '../Button';
|
|
3
|
-
export type ConfirmableButtonProps = ButtonProps & {
|
|
4
|
-
confirmable: ConfirmableObject;
|
|
5
|
-
};
|
|
6
|
-
declare function ConfirmableButton({ confirmable, ...buttonProps }: Readonly<ConfirmableButtonProps>): React.ReactElement;
|
|
7
|
-
export default ConfirmableButton;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Fragment } from 'react';
|
|
4
|
-
import Button from '../Button';
|
|
5
|
-
function ConfirmableButton({ confirmable, ...buttonProps }) {
|
|
6
|
-
// const { handle, modalProps } = useConfirmable<HTMLButtonElement>({
|
|
7
|
-
// isLoading,
|
|
8
|
-
// onBeforeConfirm,
|
|
9
|
-
// onConfirm: (event) => onClick?.(event),
|
|
10
|
-
// });
|
|
11
|
-
return (_jsx(Fragment, { children: _jsx(Button, { ...buttonProps, icon: confirmable.icon, isLoading: confirmable.isLoading }) }));
|
|
12
|
-
}
|
|
13
|
-
export default ConfirmableButton;
|