@codeleap/web 7.0.0 → 7.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ActivityIndicator/index.js +46 -0
- package/dist/components/ActivityIndicator/index.js.map +1 -0
- package/dist/components/ActivityIndicator/styles.js +3 -0
- package/dist/components/ActivityIndicator/styles.js.map +1 -0
- package/dist/components/ActivityIndicator/types.js +3 -0
- package/dist/components/ActivityIndicator/types.js.map +1 -0
- package/dist/components/Badge/index.js +86 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/Badge/styles.js +3 -0
- package/dist/components/Badge/styles.js.map +1 -0
- package/dist/components/Badge/types.js +3 -0
- package/dist/components/Badge/types.js.map +1 -0
- package/dist/components/Button/index.js +69 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Button/styles.js +3 -0
- package/dist/components/Button/styles.js.map +1 -0
- package/dist/components/Button/types.js +3 -0
- package/dist/components/Button/types.js.map +1 -0
- package/dist/components/Calendar/index.js +67 -0
- package/dist/components/Calendar/index.js.map +1 -0
- package/dist/components/Calendar/styles.js +3 -0
- package/dist/components/Calendar/styles.js.map +1 -0
- package/dist/components/Calendar/types.js +3 -0
- package/dist/components/Calendar/types.js.map +1 -0
- package/dist/components/Carousel/index.js +171 -0
- package/dist/components/Carousel/index.js.map +1 -0
- package/dist/components/Carousel/styles.js +3 -0
- package/dist/components/Carousel/styles.js.map +1 -0
- package/dist/components/Carousel/types.js +3 -0
- package/dist/components/Carousel/types.js.map +1 -0
- package/dist/components/Checkbox/index.js +62 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/Checkbox/styles.js +3 -0
- package/dist/components/Checkbox/styles.js.map +1 -0
- package/dist/components/Checkbox/types.js +3 -0
- package/dist/components/Checkbox/types.js.map +1 -0
- package/dist/components/Collapse/index.js +45 -0
- package/dist/components/Collapse/index.js.map +1 -0
- package/dist/components/Collapse/styles.js +3 -0
- package/dist/components/Collapse/styles.js.map +1 -0
- package/dist/components/Collapse/types.js +3 -0
- package/dist/components/Collapse/types.js.map +1 -0
- package/dist/components/ColorPicker/index.js +83 -0
- package/dist/components/ColorPicker/index.js.map +1 -0
- package/dist/components/ColorPicker/styles.js +3 -0
- package/dist/components/ColorPicker/styles.js.map +1 -0
- package/dist/components/ColorPicker/types.js +3 -0
- package/dist/components/ColorPicker/types.js.map +1 -0
- package/dist/components/CropPicker/hooks.d.ts +2 -2
- package/dist/components/CropPicker/hooks.js +133 -0
- package/dist/components/CropPicker/hooks.js.map +1 -0
- package/dist/components/CropPicker/index.js +56 -0
- package/dist/components/CropPicker/index.js.map +1 -0
- package/dist/components/CropPicker/styles.js +3 -0
- package/dist/components/CropPicker/styles.js.map +1 -0
- package/dist/components/CropPicker/types.js +3 -0
- package/dist/components/CropPicker/types.js.map +1 -0
- package/dist/components/CropPicker/utils.js +76 -0
- package/dist/components/CropPicker/utils.js.map +1 -0
- package/dist/components/DatePicker/index.js +87 -0
- package/dist/components/DatePicker/index.js.map +1 -0
- package/dist/components/DatePicker/styles.js +3 -0
- package/dist/components/DatePicker/styles.js.map +1 -0
- package/dist/components/DatePicker/types.js +3 -0
- package/dist/components/DatePicker/types.js.map +1 -0
- package/dist/components/Drawer/index.js +68 -0
- package/dist/components/Drawer/index.js.map +1 -0
- package/dist/components/Drawer/styles.js +3 -0
- package/dist/components/Drawer/styles.js.map +1 -0
- package/dist/components/Drawer/types.js +3 -0
- package/dist/components/Drawer/types.js.map +1 -0
- package/dist/components/Dropzone/context.js +44 -0
- package/dist/components/Dropzone/context.js.map +1 -0
- package/dist/components/Dropzone/elements.js +57 -0
- package/dist/components/Dropzone/elements.js.map +1 -0
- package/dist/components/Dropzone/index.js +89 -0
- package/dist/components/Dropzone/index.js.map +1 -0
- package/dist/components/Dropzone/styles.js +3 -0
- package/dist/components/Dropzone/styles.js.map +1 -0
- package/dist/components/Dropzone/types.js +3 -0
- package/dist/components/Dropzone/types.js.map +1 -0
- package/dist/components/Dropzone/useDropzone.js +20 -0
- package/dist/components/Dropzone/useDropzone.js.map +1 -0
- package/dist/components/EmptyPlaceholder/index.js +86 -0
- package/dist/components/EmptyPlaceholder/index.js.map +1 -0
- package/dist/components/EmptyPlaceholder/styles.js +3 -0
- package/dist/components/EmptyPlaceholder/styles.js.map +1 -0
- package/dist/components/EmptyPlaceholder/types.js +3 -0
- package/dist/components/EmptyPlaceholder/types.js.map +1 -0
- package/dist/components/Field/context.js +58 -0
- package/dist/components/Field/context.js.map +1 -0
- package/dist/components/Field/elements.js +92 -0
- package/dist/components/Field/elements.js.map +1 -0
- package/dist/components/Field/index.js +55 -0
- package/dist/components/Field/index.js.map +1 -0
- package/dist/components/Field/styles.js +3 -0
- package/dist/components/Field/styles.js.map +1 -0
- package/dist/components/Field/types.js +3 -0
- package/dist/components/Field/types.js.map +1 -0
- package/dist/components/Field/useFieldInput.d.ts +1 -1
- package/dist/components/Field/useFieldInput.js +50 -0
- package/dist/components/Field/useFieldInput.js.map +1 -0
- package/dist/components/FileInput/index.js +73 -0
- package/dist/components/FileInput/index.js.map +1 -0
- package/dist/components/FileInput/types.js +3 -0
- package/dist/components/FileInput/types.js.map +1 -0
- package/dist/components/Icon/index.js +69 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/Icon/styles.js +3 -0
- package/dist/components/Icon/styles.js.map +1 -0
- package/dist/components/Icon/types.js +3 -0
- package/dist/components/Icon/types.js.map +1 -0
- package/dist/components/List/context.js +81 -0
- package/dist/components/List/context.js.map +1 -0
- package/dist/components/List/elements.js +164 -0
- package/dist/components/List/elements.js.map +1 -0
- package/dist/components/List/index.js +52 -0
- package/dist/components/List/index.js.map +1 -0
- package/dist/components/List/scroll.js +80 -0
- package/dist/components/List/scroll.js.map +1 -0
- package/dist/components/List/styles.js +3 -0
- package/dist/components/List/styles.js.map +1 -0
- package/dist/components/List/types.js +3 -0
- package/dist/components/List/types.js.map +1 -0
- package/dist/components/LoadingOverlay/index.js +50 -0
- package/dist/components/LoadingOverlay/index.js.map +1 -0
- package/dist/components/LoadingOverlay/styles.js +3 -0
- package/dist/components/LoadingOverlay/styles.js.map +1 -0
- package/dist/components/LoadingOverlay/types.js +3 -0
- package/dist/components/LoadingOverlay/types.js.map +1 -0
- package/dist/components/MaskedTextInput/index.js +52 -0
- package/dist/components/MaskedTextInput/index.js.map +1 -0
- package/dist/components/MaskedTextInput/mask.js +37 -0
- package/dist/components/MaskedTextInput/mask.js.map +1 -0
- package/dist/components/MaskedTextInput/types.js +3 -0
- package/dist/components/MaskedTextInput/types.js.map +1 -0
- package/dist/components/Modal/context.js +41 -0
- package/dist/components/Modal/context.js.map +1 -0
- package/dist/components/Modal/elements.js +74 -0
- package/dist/components/Modal/elements.js.map +1 -0
- package/dist/components/Modal/index.js +52 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/Modal/styles.js +3 -0
- package/dist/components/Modal/styles.js.map +1 -0
- package/dist/components/Modal/types.js +3 -0
- package/dist/components/Modal/types.js.map +1 -0
- package/dist/components/NumberIncrement/index.js +83 -0
- package/dist/components/NumberIncrement/index.js.map +1 -0
- package/dist/components/NumberIncrement/styles.js +3 -0
- package/dist/components/NumberIncrement/styles.js.map +1 -0
- package/dist/components/NumberIncrement/types.js +3 -0
- package/dist/components/NumberIncrement/types.js.map +1 -0
- package/dist/components/NumberIncrement/useNumberIncrement.js +116 -0
- package/dist/components/NumberIncrement/useNumberIncrement.js.map +1 -0
- package/dist/components/Overlay/index.js +62 -0
- package/dist/components/Overlay/index.js.map +1 -0
- package/dist/components/Overlay/styles.js +3 -0
- package/dist/components/Overlay/styles.js.map +1 -0
- package/dist/components/Overlay/types.js +3 -0
- package/dist/components/Overlay/types.js.map +1 -0
- package/dist/components/PaginationButtons/index.js +118 -0
- package/dist/components/PaginationButtons/index.js.map +1 -0
- package/dist/components/PaginationButtons/styles.js +3 -0
- package/dist/components/PaginationButtons/styles.js.map +1 -0
- package/dist/components/PaginationButtons/types.js +3 -0
- package/dist/components/PaginationButtons/types.js.map +1 -0
- package/dist/components/PaginationIndicator/index.js +59 -0
- package/dist/components/PaginationIndicator/index.js.map +1 -0
- package/dist/components/PaginationIndicator/styles.js +3 -0
- package/dist/components/PaginationIndicator/styles.js.map +1 -0
- package/dist/components/PaginationIndicator/types.js +3 -0
- package/dist/components/PaginationIndicator/types.js.map +1 -0
- package/dist/components/Progress/Bar/Segmented.js +41 -0
- package/dist/components/Progress/Bar/Segmented.js.map +1 -0
- package/dist/components/Progress/Bar/index.js +62 -0
- package/dist/components/Progress/Bar/index.js.map +1 -0
- package/dist/components/Progress/Bar/styles.js +3 -0
- package/dist/components/Progress/Bar/styles.js.map +1 -0
- package/dist/components/Progress/Bar/types.js +3 -0
- package/dist/components/Progress/Bar/types.js.map +1 -0
- package/dist/components/Progress/Circle/Segmented.js +64 -0
- package/dist/components/Progress/Circle/Segmented.js.map +1 -0
- package/dist/components/Progress/Circle/index.js +83 -0
- package/dist/components/Progress/Circle/index.js.map +1 -0
- package/dist/components/Progress/Circle/styles.js +3 -0
- package/dist/components/Progress/Circle/styles.js.map +1 -0
- package/dist/components/Progress/Circle/types.js +3 -0
- package/dist/components/Progress/Circle/types.js.map +1 -0
- package/dist/components/Progress/index.js +19 -0
- package/dist/components/Progress/index.js.map +1 -0
- package/dist/components/Progress/utils.js +7 -0
- package/dist/components/Progress/utils.js.map +1 -0
- package/dist/components/RadioInput/index.js +68 -0
- package/dist/components/RadioInput/index.js.map +1 -0
- package/dist/components/RadioInput/styles.js +3 -0
- package/dist/components/RadioInput/styles.js.map +1 -0
- package/dist/components/RadioInput/types.js +3 -0
- package/dist/components/RadioInput/types.js.map +1 -0
- package/dist/components/SearchInput/index.js +98 -0
- package/dist/components/SearchInput/index.js.map +1 -0
- package/dist/components/SectionFilters/index.js +166 -0
- package/dist/components/SectionFilters/index.js.map +1 -0
- package/dist/components/SectionFilters/styles.js +3 -0
- package/dist/components/SectionFilters/styles.js.map +1 -0
- package/dist/components/SectionFilters/types.js +3 -0
- package/dist/components/SectionFilters/types.js.map +1 -0
- package/dist/components/Select/context.js +162 -0
- package/dist/components/Select/context.js.map +1 -0
- package/dist/components/Select/elements.js +53 -0
- package/dist/components/Select/elements.js.map +1 -0
- package/dist/components/Select/index.js +70 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/styles.js +3 -0
- package/dist/components/Select/styles.js.map +1 -0
- package/dist/components/Select/types.js +3 -0
- package/dist/components/Select/types.js.map +1 -0
- package/dist/components/Select/useTriggerWidth.js +30 -0
- package/dist/components/Select/useTriggerWidth.js.map +1 -0
- package/dist/components/Slider/index.js +160 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/Slider/styles.js +3 -0
- package/dist/components/Slider/styles.js.map +1 -0
- package/dist/components/Slider/types.js +3 -0
- package/dist/components/Slider/types.js.map +1 -0
- package/dist/components/Switch/index.js +66 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Switch/styles.js +3 -0
- package/dist/components/Switch/styles.js.map +1 -0
- package/dist/components/Switch/types.js +3 -0
- package/dist/components/Switch/types.js.map +1 -0
- package/dist/components/Tag/index.js +74 -0
- package/dist/components/Tag/index.js.map +1 -0
- package/dist/components/Tag/styles.js +3 -0
- package/dist/components/Tag/styles.js.map +1 -0
- package/dist/components/Tag/types.js +3 -0
- package/dist/components/Tag/types.js.map +1 -0
- package/dist/components/Text/index.js +115 -0
- package/dist/components/Text/index.js.map +1 -0
- package/dist/components/Text/styles.js +3 -0
- package/dist/components/Text/styles.js.map +1 -0
- package/dist/components/Text/types.js +3 -0
- package/dist/components/Text/types.js.map +1 -0
- package/dist/components/TextEditor/index.js +111 -0
- package/dist/components/TextEditor/index.js.map +1 -0
- package/dist/components/TextEditor/styles.js +3 -0
- package/dist/components/TextEditor/styles.js.map +1 -0
- package/dist/components/TextEditor/types.js +3 -0
- package/dist/components/TextEditor/types.js.map +1 -0
- package/dist/components/TextInput/index.js +86 -0
- package/dist/components/TextInput/index.js.map +1 -0
- package/dist/components/TextInput/styles.js +3 -0
- package/dist/components/TextInput/styles.js.map +1 -0
- package/dist/components/TextInput/types.js +3 -0
- package/dist/components/TextInput/types.js.map +1 -0
- package/dist/components/TextInput/useTextInput.d.ts +2 -2
- package/dist/components/TextInput/useTextInput.js +67 -0
- package/dist/components/TextInput/useTextInput.js.map +1 -0
- package/dist/components/Tooltip/index.js +115 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/Tooltip/styles.js +3 -0
- package/dist/components/Tooltip/styles.js.map +1 -0
- package/dist/components/Tooltip/types.js +3 -0
- package/dist/components/Tooltip/types.js.map +1 -0
- package/dist/components/Touchable/index.js +100 -0
- package/dist/components/Touchable/index.js.map +1 -0
- package/dist/components/Touchable/styles.js +3 -0
- package/dist/components/Touchable/styles.js.map +1 -0
- package/dist/components/Touchable/types.js +3 -0
- package/dist/components/Touchable/types.js.map +1 -0
- package/dist/components/View/index.js +56 -0
- package/dist/components/View/index.js.map +1 -0
- package/dist/components/View/styles.js +3 -0
- package/dist/components/View/styles.js.map +1 -0
- package/dist/components/View/types.js +3 -0
- package/dist/components/View/types.js.map +1 -0
- package/dist/components/components.js +58 -0
- package/dist/components/components.js.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/ListMasonry.js +95 -0
- package/dist/lib/ListMasonry.js.map +1 -0
- package/dist/lib/ThemeVariables.js +27 -0
- package/dist/lib/ThemeVariables.js.map +1 -0
- package/dist/lib/WebStyleRegistry.js +73 -0
- package/dist/lib/WebStyleRegistry.js.map +1 -0
- package/dist/lib/hooks/index.js +39 -0
- package/dist/lib/hooks/index.js.map +1 -0
- package/dist/lib/hooks/useAnimatedStyle.js +27 -0
- package/dist/lib/hooks/useAnimatedStyle.js.map +1 -0
- package/dist/lib/hooks/useAnimatedVariantStyles.js +23 -0
- package/dist/lib/hooks/useAnimatedVariantStyles.js.map +1 -0
- package/dist/lib/hooks/useAsyncSelect.js +60 -0
- package/dist/lib/hooks/useAsyncSelect.js.map +1 -0
- package/dist/lib/hooks/useBreakpointMatch.js +111 -0
- package/dist/lib/hooks/useBreakpointMatch.js.map +1 -0
- package/dist/lib/hooks/useClick.js +41 -0
- package/dist/lib/hooks/useClick.js.map +1 -0
- package/dist/lib/hooks/useClickOutside.js +34 -0
- package/dist/lib/hooks/useClickOutside.js.map +1 -0
- package/dist/lib/hooks/useFileInput.js +21 -0
- package/dist/lib/hooks/useFileInput.js.map +1 -0
- package/dist/lib/hooks/useIsomorphicEffect.js +10 -0
- package/dist/lib/hooks/useIsomorphicEffect.js.map +1 -0
- package/dist/lib/hooks/useKeydown.js +43 -0
- package/dist/lib/hooks/useKeydown.js.map +1 -0
- package/dist/lib/hooks/useListFocus.js +49 -0
- package/dist/lib/hooks/useListFocus.js.map +1 -0
- package/dist/lib/hooks/useMediaQuery.js +28 -0
- package/dist/lib/hooks/useMediaQuery.js.map +1 -0
- package/dist/lib/hooks/usePageExitBlocker.js +48 -0
- package/dist/lib/hooks/usePageExitBlocker.js.map +1 -0
- package/dist/lib/hooks/usePagination.js +93 -0
- package/dist/lib/hooks/usePagination.js.map +1 -0
- package/dist/lib/hooks/usePopState.js +35 -0
- package/dist/lib/hooks/usePopState.js.map +1 -0
- package/dist/lib/hooks/usePopoverDismiss.js +35 -0
- package/dist/lib/hooks/usePopoverDismiss.js.map +1 -0
- package/dist/lib/hooks/useRefresh.js +74 -0
- package/dist/lib/hooks/useRefresh.js.map +1 -0
- package/dist/lib/hooks/useScrollEffect.js +22 -0
- package/dist/lib/hooks/useScrollEffect.js.map +1 -0
- package/dist/lib/hooks/useSearchParams.js +51 -0
- package/dist/lib/hooks/useSearchParams.js.map +1 -0
- package/dist/lib/hooks/useStaticAnimationStyles.js +19 -0
- package/dist/lib/hooks/useStaticAnimationStyles.js.map +1 -0
- package/dist/lib/hooks/useStylesFor.js +40 -0
- package/dist/lib/hooks/useStylesFor.js.map +1 -0
- package/dist/lib/hooks/useTouchableEvents.js +37 -0
- package/dist/lib/hooks/useTouchableEvents.js.map +1 -0
- package/dist/lib/hooks/useWindowFocus.js +34 -0
- package/dist/lib/hooks/useWindowFocus.js.map +1 -0
- package/dist/lib/hooks/useWindowSize.js +32 -0
- package/dist/lib/hooks/useWindowSize.js.map +1 -0
- package/dist/lib/index.js +23 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/tools/index.js +20 -0
- package/dist/lib/tools/index.js.map +1 -0
- package/dist/lib/tools/localStorage.js +159 -0
- package/dist/lib/tools/localStorage.js.map +1 -0
- package/dist/lib/tools/mediaQuery.js +38 -0
- package/dist/lib/tools/mediaQuery.js.map +1 -0
- package/dist/lib/tools/modal.js +60 -0
- package/dist/lib/tools/modal.js.map +1 -0
- package/dist/lib/utils/attributes.js +26 -0
- package/dist/lib/utils/attributes.js.map +1 -0
- package/dist/lib/utils/cache.d.ts +2 -2
- package/dist/lib/utils/cache.js +17 -0
- package/dist/lib/utils/cache.js.map +1 -0
- package/dist/lib/utils/index.js +22 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/pollyfils/scroll.js +70 -0
- package/dist/lib/utils/pollyfils/scroll.js.map +1 -0
- package/dist/lib/utils/stopPropagation.js +22 -0
- package/dist/lib/utils/stopPropagation.js.map +1 -0
- package/dist/lib/utils/test.js +18 -0
- package/dist/lib/utils/test.js.map +1 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utility.js +3 -0
- package/dist/types/utility.js.map +1 -0
- package/package.json +18 -18
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.Tooltip = void 0;
|
|
21
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
22
|
+
const react_1 = __importDefault(require("react"));
|
|
23
|
+
const react_tooltip_1 = require("@radix-ui/react-tooltip");
|
|
24
|
+
const hooks_1 = require("@codeleap/hooks");
|
|
25
|
+
const types_1 = require("@codeleap/types");
|
|
26
|
+
const View_1 = require("../View");
|
|
27
|
+
const lib_1 = require("../../lib");
|
|
28
|
+
const WebStyleRegistry_1 = require("../../lib/WebStyleRegistry");
|
|
29
|
+
const useStylesFor_1 = require("../../lib/hooks/useStylesFor");
|
|
30
|
+
__exportStar(require("./styles"), exports);
|
|
31
|
+
__exportStar(require("./types"), exports);
|
|
32
|
+
/**
|
|
33
|
+
* Contextual bubble that floats near a trigger element, supporting hover and/or press to open.
|
|
34
|
+
* Visibility can be fully controlled via `visible` / `toggle` or left to internal state.
|
|
35
|
+
* Uses: `View`, `useStylesFor`
|
|
36
|
+
*/
|
|
37
|
+
const Tooltip = (props) => {
|
|
38
|
+
const allProps = {
|
|
39
|
+
...exports.Tooltip.defaultProps,
|
|
40
|
+
...props,
|
|
41
|
+
};
|
|
42
|
+
const { toggle: _toggle, visible: _visible, children, content: Content, triggerWrapperProps, triggerWrapper: TriggerWrapper, side, disabled, delayDuration, openOnPress, openOnHover, onOpen, onClose, onValueChange, onHover, onPress, contentProps, portalProps, arrowProps, triggerProps, providerProps, closeOnClickOutside, style, ...rest } = allProps;
|
|
43
|
+
const styles = (0, useStylesFor_1.useStylesFor)(exports.Tooltip.styleRegistryName, style);
|
|
44
|
+
const [visible, toggle] = (0, hooks_1.useConditionalState)(_visible, _toggle, { initialValue: false });
|
|
45
|
+
const tooltipDirectionStyle = react_1.default.useMemo(() => {
|
|
46
|
+
return side ? styles[`content:${side}`] : styles.content;
|
|
47
|
+
}, [side, styles]);
|
|
48
|
+
function handleToggle(_value, isToggle = true) {
|
|
49
|
+
if (disabled)
|
|
50
|
+
return;
|
|
51
|
+
if (_value === true) {
|
|
52
|
+
onOpen?.();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
onClose?.();
|
|
56
|
+
}
|
|
57
|
+
if (isToggle)
|
|
58
|
+
toggle(_value);
|
|
59
|
+
if (types_1.TypeGuards.isFunction(onValueChange))
|
|
60
|
+
onValueChange?.(_value);
|
|
61
|
+
}
|
|
62
|
+
const onOpenChange = react_1.default.useCallback((_open) => {
|
|
63
|
+
handleToggle(_open, false);
|
|
64
|
+
}, [handleToggle]);
|
|
65
|
+
const _onHover = (type) => {
|
|
66
|
+
if (!openOnHover || disabled)
|
|
67
|
+
return;
|
|
68
|
+
const value = !visible;
|
|
69
|
+
if (type === 'leave' && visible === false)
|
|
70
|
+
return;
|
|
71
|
+
handleToggle(value);
|
|
72
|
+
if (types_1.TypeGuards.isFunction(onHover))
|
|
73
|
+
onHover?.(type, value);
|
|
74
|
+
};
|
|
75
|
+
const _onPress = () => {
|
|
76
|
+
if (!openOnPress || disabled)
|
|
77
|
+
return;
|
|
78
|
+
const value = !visible;
|
|
79
|
+
handleToggle(value);
|
|
80
|
+
if (types_1.TypeGuards.isFunction(onPress))
|
|
81
|
+
onPress?.(value);
|
|
82
|
+
};
|
|
83
|
+
const triggerRef = react_1.default.useRef(null);
|
|
84
|
+
const contentRef = (0, lib_1.useClickOutsideElement)((isOutside) => {
|
|
85
|
+
if (isOutside && closeOnClickOutside && !openOnHover && visible) {
|
|
86
|
+
handleToggle(false);
|
|
87
|
+
}
|
|
88
|
+
}, [triggerRef]);
|
|
89
|
+
return ((0, jsx_runtime_1.jsx)(react_tooltip_1.Provider, { ...providerProps, children: (0, jsx_runtime_1.jsxs)(react_tooltip_1.Root, { delayDuration: delayDuration, open: visible, onOpenChange: onOpenChange, ...rest, children: [(0, jsx_runtime_1.jsx)(react_tooltip_1.Trigger, { onClick: _onPress, onMouseEnter: () => _onHover('enter'), onMouseLeave: () => _onHover('leave'), asChild: true, ref: triggerRef, ...triggerProps, css: styles.triggerWrapper, children: (0, jsx_runtime_1.jsx)(TriggerWrapper, { ...allProps, ...triggerWrapperProps, css: styles.triggerInnerWrapper, children: children }) }), (0, jsx_runtime_1.jsx)(react_tooltip_1.Portal, { ...portalProps, children: (0, jsx_runtime_1.jsxs)(react_tooltip_1.Content, { ref: contentRef, css: [tooltipDirectionStyle, styles.content], sideOffset: 2, side: side, ...contentProps, children: [types_1.TypeGuards.isFunction(Content)
|
|
90
|
+
? (0, jsx_runtime_1.jsx)(Content, { ...allProps, visible: visible, toggle: toggle, variantsStyles: styles })
|
|
91
|
+
: Content, (0, jsx_runtime_1.jsx)(react_tooltip_1.Arrow, { ...arrowProps, css: styles.arrow })] }) })] }) }));
|
|
92
|
+
};
|
|
93
|
+
exports.Tooltip = Tooltip;
|
|
94
|
+
exports.Tooltip.styleRegistryName = 'Tooltip';
|
|
95
|
+
exports.Tooltip.elements = [
|
|
96
|
+
'content',
|
|
97
|
+
'arrow',
|
|
98
|
+
'triggerWrapper',
|
|
99
|
+
'triggerInnerWrapper',
|
|
100
|
+
];
|
|
101
|
+
exports.Tooltip.rootElement = 'content';
|
|
102
|
+
exports.Tooltip.withVariantTypes = (styles) => {
|
|
103
|
+
return exports.Tooltip;
|
|
104
|
+
};
|
|
105
|
+
exports.Tooltip.defaultProps = {
|
|
106
|
+
openOnPress: true,
|
|
107
|
+
openOnHover: true,
|
|
108
|
+
disabled: false,
|
|
109
|
+
delayDuration: 0,
|
|
110
|
+
closeOnClickOutside: false,
|
|
111
|
+
side: 'bottom',
|
|
112
|
+
triggerWrapper: View_1.View,
|
|
113
|
+
};
|
|
114
|
+
WebStyleRegistry_1.WebStyleRegistry.registerComponent(exports.Tooltip);
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Tooltip/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/Tooltip/styles.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.Touchable = Touchable;
|
|
21
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
22
|
+
const hooks_1 = require("@codeleap/hooks");
|
|
23
|
+
const types_1 = require("@codeleap/types");
|
|
24
|
+
const react_1 = __importDefault(require("react"));
|
|
25
|
+
const lib_1 = require("../../lib");
|
|
26
|
+
const test_1 = require("../../lib/utils/test");
|
|
27
|
+
const useStylesFor_1 = require("../../lib/hooks/useStylesFor");
|
|
28
|
+
const WebStyleRegistry_1 = require("../../lib/WebStyleRegistry");
|
|
29
|
+
__exportStar(require("./styles"), exports);
|
|
30
|
+
__exportStar(require("./types"), exports);
|
|
31
|
+
/**
|
|
32
|
+
* Click wrapper that normalises keyboard Enter presses as clicks, debounces
|
|
33
|
+
* repeated presses, propagates analytics events, and applies disabled state.
|
|
34
|
+
* Uses: `useStylesFor`, `WebStyleRegistry`
|
|
35
|
+
*/
|
|
36
|
+
function Touchable(touchableProps) {
|
|
37
|
+
const allProps = {
|
|
38
|
+
...Touchable.defaultProps,
|
|
39
|
+
...touchableProps,
|
|
40
|
+
};
|
|
41
|
+
const { propagate, debounce, leadingDebounce, component, disabled, onPress, onClick, debugName, debugComponent, style, analyticsEnabled, analyticsName, analyticsData, ref, ...props } = allProps;
|
|
42
|
+
const styles = (0, useStylesFor_1.useStylesFor)(Touchable.styleRegistryName, style);
|
|
43
|
+
const pressed = react_1.default.useRef(!!leadingDebounce);
|
|
44
|
+
(0, hooks_1.onMount)(() => {
|
|
45
|
+
if (!!leadingDebounce && !!debounce) {
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
pressed.current = false;
|
|
48
|
+
}, debounce);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const Component = component;
|
|
52
|
+
const notPressable = !types_1.TypeGuards.isFunction(onPress) && !types_1.TypeGuards.isFunction(onClick);
|
|
53
|
+
const handleClick = (event) => {
|
|
54
|
+
if (disabled)
|
|
55
|
+
return;
|
|
56
|
+
if (!propagate)
|
|
57
|
+
(0, lib_1.stopPropagation)(event);
|
|
58
|
+
if (notPressable)
|
|
59
|
+
return;
|
|
60
|
+
const _onPress = () => {
|
|
61
|
+
if (event && (event?.type !== 'click' && event?.keyCode !== 13 && event?.key !== 'Enter'))
|
|
62
|
+
return null;
|
|
63
|
+
if (types_1.TypeGuards.isFunction(onClick))
|
|
64
|
+
onClick?.(event);
|
|
65
|
+
onPress?.();
|
|
66
|
+
};
|
|
67
|
+
if (types_1.TypeGuards.isNumber(debounce)) {
|
|
68
|
+
if (pressed.current) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
pressed.current = true;
|
|
72
|
+
_onPress();
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
pressed.current = false;
|
|
75
|
+
}, debounce);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
_onPress();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const testId = (0, test_1.getTestId)(allProps);
|
|
82
|
+
return ((0, jsx_runtime_1.jsx)(Component, { ...props, disabled: disabled, onClick: handleClick, onKeyDown: handleClick, "aria-disabled": disabled || undefined, ref: ref, css: [
|
|
83
|
+
styles.wrapper,
|
|
84
|
+
disabled && styles?.['wrapper:disabled'],
|
|
85
|
+
], "data-testid": testId }));
|
|
86
|
+
}
|
|
87
|
+
Touchable.styleRegistryName = 'Touchable';
|
|
88
|
+
Touchable.elements = ['wrapper'];
|
|
89
|
+
Touchable.rootElement = 'wrapper';
|
|
90
|
+
Touchable.defaultProps = {
|
|
91
|
+
propagate: true,
|
|
92
|
+
debounce: null,
|
|
93
|
+
component: 'button',
|
|
94
|
+
analyticsEnabled: false,
|
|
95
|
+
analyticsName: null,
|
|
96
|
+
analyticsData: {},
|
|
97
|
+
tabIndex: 0,
|
|
98
|
+
};
|
|
99
|
+
WebStyleRegistry_1.WebStyleRegistry.registerComponent(Touchable);
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Touchable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/Touchable/styles.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/Touchable/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.View = View;
|
|
18
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
19
|
+
const types_1 = require("@codeleap/types");
|
|
20
|
+
const react_1 = require("motion/react");
|
|
21
|
+
const test_1 = require("../../lib/utils/test");
|
|
22
|
+
const useStylesFor_1 = require("../../lib/hooks/useStylesFor");
|
|
23
|
+
const WebStyleRegistry_1 = require("../../lib/WebStyleRegistry");
|
|
24
|
+
__exportStar(require("./styles"), exports);
|
|
25
|
+
__exportStar(require("./types"), exports);
|
|
26
|
+
/**
|
|
27
|
+
* Generic layout wrapper that renders any DOM element with responsive styling,
|
|
28
|
+
* hover callbacks, and optional Framer Motion animation.
|
|
29
|
+
* Uses: `useStylesFor`, `WebStyleRegistry`
|
|
30
|
+
*/
|
|
31
|
+
function View(viewProps) {
|
|
32
|
+
const { component, children, is, not, up, onHover, debugName, down, style, animated, animatedProps, ref, ...props } = {
|
|
33
|
+
...View.defaultProps,
|
|
34
|
+
...viewProps,
|
|
35
|
+
};
|
|
36
|
+
const styles = (0, useStylesFor_1.useStylesFor)(View.styleRegistryName, style);
|
|
37
|
+
const Component = animated ? (react_1.motion?.[component] || react_1.motion.div) : (component || 'div');
|
|
38
|
+
function handleHover(isMouseOverElement) {
|
|
39
|
+
onHover?.(isMouseOverElement);
|
|
40
|
+
}
|
|
41
|
+
const hoverProps = types_1.TypeGuards.isFunction(onHover) && {
|
|
42
|
+
onMouseEnter: () => handleHover(true),
|
|
43
|
+
onMouseLeave: () => handleHover(false),
|
|
44
|
+
};
|
|
45
|
+
const testId = (0, test_1.getTestId)(viewProps);
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)(Component, { ...hoverProps, ...props, ...animatedProps, ref: ref, "data-testid": testId, css: styles.wrapper, children: children }));
|
|
47
|
+
}
|
|
48
|
+
View.styleRegistryName = 'View';
|
|
49
|
+
View.elements = ['wrapper'];
|
|
50
|
+
View.rootElement = 'wrapper';
|
|
51
|
+
View.defaultProps = {
|
|
52
|
+
component: 'div',
|
|
53
|
+
animated: false,
|
|
54
|
+
};
|
|
55
|
+
WebStyleRegistry_1.WebStyleRegistry.registerComponent(View);
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/View/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAiBA,oBA+CC;;AAhED,2CAA4C;AAE5C,wCAAqC;AAErC,+CAAgD;AAChD,+DAA2D;AAC3D,iEAA6D;AAG7D,2CAAwB;AACxB,0CAAuB;AAEvB;;;;GAIG;AACH,SAAgB,IAAI,CAAwB,SAAuB;IACjE,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,aAAa,EACb,GAAG,EACH,GAAG,KAAK,EACT,GAAG;QACF,GAAG,IAAI,CAAC,YAAY;QACpB,GAAG,SAAS;KACb,CAAA;IAED,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAE1D,MAAM,SAAS,GAAQ,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAM,EAAE,CAAC,SAAmB,CAAC,IAAI,cAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAA;IAEtG,SAAS,WAAW,CAAC,kBAA2B;QAC9C,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,UAAU,GAAG,kBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;QACnD,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;KACvC,CAAA;IAED,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC,SAAS,CAAC,CAAA;IAEnC,OAAO,CACL,uBAAC,SAAS,OACJ,UAAU,KACV,KAAK,KACL,aAAa,EACjB,GAAG,EAAE,GAAG,iBACK,MAAM,EACnB,GAAG,EAAE,MAAM,CAAC,OAAO,YAElB,QAAQ,GACC,CACb,CAAA;AACH,CAAC;AAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAA;AAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;AAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;AAG5B,IAAI,CAAC,YAAY,GAAG;IAClB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,KAAK;CACM,CAAA;AAEvB,mCAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/View/styles.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/View/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./View"), exports);
|
|
18
|
+
__exportStar(require("./Icon"), exports);
|
|
19
|
+
__exportStar(require("./Touchable"), exports);
|
|
20
|
+
__exportStar(require("./Text"), exports);
|
|
21
|
+
__exportStar(require("./Slider"), exports);
|
|
22
|
+
__exportStar(require("./List"), exports);
|
|
23
|
+
__exportStar(require("./ActivityIndicator"), exports);
|
|
24
|
+
__exportStar(require("./Button"), exports);
|
|
25
|
+
__exportStar(require("./Modal"), exports);
|
|
26
|
+
__exportStar(require("./Checkbox"), exports);
|
|
27
|
+
__exportStar(require("./Collapse"), exports);
|
|
28
|
+
__exportStar(require("./Drawer"), exports);
|
|
29
|
+
__exportStar(require("./Overlay"), exports);
|
|
30
|
+
__exportStar(require("./TextInput"), exports);
|
|
31
|
+
__exportStar(require("./MaskedTextInput"), exports);
|
|
32
|
+
__exportStar(require("./RadioInput"), exports);
|
|
33
|
+
__exportStar(require("./Select"), exports);
|
|
34
|
+
__exportStar(require("./FileInput"), exports);
|
|
35
|
+
__exportStar(require("./Slider"), exports);
|
|
36
|
+
__exportStar(require("./List"), exports);
|
|
37
|
+
__exportStar(require("./LoadingOverlay"), exports);
|
|
38
|
+
__exportStar(require("./Switch"), exports);
|
|
39
|
+
__exportStar(require("./NumberIncrement"), exports);
|
|
40
|
+
__exportStar(require("./SearchInput"), exports);
|
|
41
|
+
__exportStar(require("./Tooltip"), exports);
|
|
42
|
+
__exportStar(require("./Field"), exports);
|
|
43
|
+
__exportStar(require("./Carousel"), exports);
|
|
44
|
+
__exportStar(require("./EmptyPlaceholder"), exports);
|
|
45
|
+
__exportStar(require("./Badge"), exports);
|
|
46
|
+
__exportStar(require("./CropPicker"), exports);
|
|
47
|
+
__exportStar(require("./Calendar"), exports);
|
|
48
|
+
__exportStar(require("./DatePicker"), exports);
|
|
49
|
+
__exportStar(require("./Dropzone"), exports);
|
|
50
|
+
__exportStar(require("./Progress"), exports);
|
|
51
|
+
__exportStar(require("./Tag"), exports);
|
|
52
|
+
__exportStar(require("./TextEditor"), exports);
|
|
53
|
+
__exportStar(require("./ColorPicker"), exports);
|
|
54
|
+
__exportStar(require("./PaginationButtons"), exports);
|
|
55
|
+
__exportStar(require("./SectionFilters"), exports);
|
|
56
|
+
__exportStar(require("./PaginationIndicator"), exports);
|
|
57
|
+
__exportStar(require("./Carousel"), exports);
|
|
58
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,yCAAsB;AACtB,8CAA2B;AAC3B,yCAAsB;AACtB,2CAAwB;AACxB,yCAAsB;AACtB,sDAAmC;AACnC,2CAAwB;AACxB,0CAAuB;AACvB,6CAA0B;AAC1B,6CAA0B;AAC1B,2CAAwB;AACxB,4CAAyB;AACzB,8CAA2B;AAC3B,oDAAiC;AACjC,+CAA4B;AAC5B,2CAAwB;AACxB,8CAA2B;AAC3B,2CAAwB;AACxB,yCAAsB;AACtB,mDAAgC;AAChC,2CAAwB;AACxB,oDAAiC;AACjC,gDAA6B;AAC7B,4CAAyB;AACzB,0CAAuB;AACvB,6CAA0B;AAC1B,qDAAkC;AAClC,0CAAuB;AACvB,+CAA4B;AAC5B,6CAA0B;AAC1B,+CAA4B;AAC5B,6CAA0B;AAC1B,6CAA0B;AAC1B,wCAAqB;AACrB,+CAA4B;AAC5B,gDAA6B;AAC7B,sDAAmC;AACnC,mDAAgC;AAChC,wDAAqC;AACrC,6CAA0B"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./components/components"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./lib"), exports);
|
|
20
|
+
__exportStar(require("./lib/WebStyleRegistry"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,0CAAuB;AACvB,wCAAqB;AACrB,yDAAsC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useMasonryReload = void 0;
|
|
7
|
+
exports.MasonryComponent = MasonryComponent;
|
|
8
|
+
exports.ListMasonry = ListMasonry;
|
|
9
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
10
|
+
const react_1 = __importDefault(require("react"));
|
|
11
|
+
const window_size_1 = require("@react-hook/window-size");
|
|
12
|
+
const types_1 = require("@codeleap/types");
|
|
13
|
+
const EmptyPlaceholder_1 = require("../components/EmptyPlaceholder");
|
|
14
|
+
const masonic_1 = require("masonic");
|
|
15
|
+
function fillItems(arr, toCount, fillContent = {}) {
|
|
16
|
+
if (!arr || !types_1.TypeGuards.isArray(arr))
|
|
17
|
+
return [];
|
|
18
|
+
if (toCount === arr?.length)
|
|
19
|
+
return arr;
|
|
20
|
+
const diff = toCount - arr?.length;
|
|
21
|
+
if (diff < 0)
|
|
22
|
+
return arr;
|
|
23
|
+
const right = Array(diff).fill(fillContent);
|
|
24
|
+
return arr.concat(right);
|
|
25
|
+
}
|
|
26
|
+
const useMasonryReload = (args) => {
|
|
27
|
+
const { data, reloadTimeout = 350, } = args;
|
|
28
|
+
const [reloadingLayout, setReloadingLayout] = react_1.default.useState(false);
|
|
29
|
+
const previousLengthRef = react_1.default.useRef(data?.length ?? 0);
|
|
30
|
+
const updater = () => {
|
|
31
|
+
previousLengthRef.current = (data?.length ?? 0);
|
|
32
|
+
};
|
|
33
|
+
react_1.default.useEffect(() => {
|
|
34
|
+
if (previousLengthRef.current > data?.length) {
|
|
35
|
+
setReloadingLayout(true);
|
|
36
|
+
setTimeout(() => {
|
|
37
|
+
updater();
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
setReloadingLayout(false);
|
|
40
|
+
}, reloadTimeout);
|
|
41
|
+
}, reloadTimeout);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
updater();
|
|
45
|
+
}
|
|
46
|
+
}, [data?.length]);
|
|
47
|
+
return {
|
|
48
|
+
reloadingLayout,
|
|
49
|
+
setReloadingLayout,
|
|
50
|
+
previousLength: previousLengthRef.current,
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
exports.useMasonryReload = useMasonryReload;
|
|
54
|
+
function MasonryComponent(props) {
|
|
55
|
+
const containerRef = react_1.default.useRef(null);
|
|
56
|
+
const windowSize = (0, window_size_1.useWindowSize)({
|
|
57
|
+
initialWidth: props?.ssrWidth,
|
|
58
|
+
initialHeight: props?.ssrHeight,
|
|
59
|
+
});
|
|
60
|
+
const containerPosition = (0, masonic_1.useContainerPosition)(containerRef, windowSize);
|
|
61
|
+
const listProps = Object.assign({
|
|
62
|
+
offset: containerPosition?.offset,
|
|
63
|
+
width: containerPosition?.width || containerRef?.current?.clientWidth || windowSize?.[0],
|
|
64
|
+
height: windowSize?.[1],
|
|
65
|
+
containerRef,
|
|
66
|
+
scrollFps: props?.scrollFps || 12,
|
|
67
|
+
}, props);
|
|
68
|
+
const positioner = (0, masonic_1.usePositioner)({
|
|
69
|
+
width: listProps?.width,
|
|
70
|
+
columnGutter: listProps?.columnGutter,
|
|
71
|
+
columnWidth: listProps?.columnWidth,
|
|
72
|
+
columnCount: listProps?.columnCount,
|
|
73
|
+
maxColumnCount: listProps?.columnCount,
|
|
74
|
+
rowGutter: listProps?.rowGutter
|
|
75
|
+
});
|
|
76
|
+
const { scrollTop, isScrolling } = (0, masonic_1.useScroller)(listProps?.offset, listProps?.scrollFps);
|
|
77
|
+
const resizeObserver = (0, masonic_1.useResizeObserver)(positioner);
|
|
78
|
+
return (0, masonic_1.useMasonry)({
|
|
79
|
+
...listProps,
|
|
80
|
+
resizeObserver,
|
|
81
|
+
positioner,
|
|
82
|
+
scrollTop,
|
|
83
|
+
isScrolling,
|
|
84
|
+
items: fillItems(props?.items, props?.previousItemsLength)
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function ListMasonry(props) {
|
|
88
|
+
if (props?.reloadingLayout) {
|
|
89
|
+
return ((0, jsx_runtime_1.jsx)(EmptyPlaceholder_1.EmptyPlaceholder, { loading: true, title: '', description: null }));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return ((0, jsx_runtime_1.jsx)(MasonryComponent, { ...props, items: props?.items || [] }));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=ListMasonry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListMasonry.js","sourceRoot":"","sources":["../../src/lib/ListMasonry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColorSchemeFoucScript = exports.ThemeVariables = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
5
|
+
const styles_1 = require("@codeleap/styles");
|
|
6
|
+
const toDeclarations = (vars) => Object.entries(vars).map(([n, v]) => ` ${n}: ${v};`).join('\n');
|
|
7
|
+
const ThemeVariables = ({ theme }) => {
|
|
8
|
+
const defaultVars = theme.getCssVariables();
|
|
9
|
+
const alternateColors = theme.alternateColors ?? {};
|
|
10
|
+
const blocks = [
|
|
11
|
+
`:root {\n${toDeclarations(defaultVars)}\n}`,
|
|
12
|
+
`[data-color-scheme="light"] {\n${toDeclarations(defaultVars)}\n}`,
|
|
13
|
+
];
|
|
14
|
+
for (const scheme of Object.keys(alternateColors)) {
|
|
15
|
+
const vars = theme.getCssVariables(scheme);
|
|
16
|
+
if (scheme === 'dark') {
|
|
17
|
+
blocks.push(`@media (prefers-color-scheme: dark) {\n :root:not([data-color-scheme="light"]) {\n${toDeclarations(vars)}\n }\n}`);
|
|
18
|
+
}
|
|
19
|
+
blocks.push(`[data-color-scheme="${scheme}"] {\n${toDeclarations(vars)}\n}`);
|
|
20
|
+
}
|
|
21
|
+
return (0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: blocks.join('\n\n') } });
|
|
22
|
+
};
|
|
23
|
+
exports.ThemeVariables = ThemeVariables;
|
|
24
|
+
const FOUC_SCRIPT = `(function(){try{var s=localStorage.getItem('${styles_1.DOM_COLOR_SCHEME_KEY}');if(s&&s!=='default')document.documentElement.dataset.colorScheme=s;}catch(e){}})()`;
|
|
25
|
+
const ColorSchemeFoucScript = () => ((0, jsx_runtime_1.jsx)("script", { dangerouslySetInnerHTML: { __html: FOUC_SCRIPT } }));
|
|
26
|
+
exports.ColorSchemeFoucScript = ColorSchemeFoucScript;
|
|
27
|
+
//# sourceMappingURL=ThemeVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeVariables.js","sourceRoot":"","sources":["../../src/lib/ThemeVariables.tsx"],"names":[],"mappings":";;;;AACA,6CAAuD;AAOvD,MAAM,cAAc,GAAG,CAAC,IAA4B,EAAE,EAAE,CACtD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAE3D,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAkC,EAAE,EAAE;IAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAA;IAEnD,MAAM,MAAM,GAAa;QACvB,YAAY,cAAc,CAAC,WAAW,CAAC,KAAK;QAC5C,kCAAkC,cAAc,CAAC,WAAW,CAAC,KAAK;KACnE,CAAA;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CACT,sFAAsF,cAAc,CAAC,IAAI,CAAC,UAAU,CACrH,CAAA;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,SAAS,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,kCAAO,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAI,CAAA;AAC5E,CAAC,CAAA;AApBY,QAAA,cAAc,kBAoB1B;AAED,MAAM,WAAW,GAAG,+CAA+C,6BAAoB,uFAAuF,CAAA;AAEvK,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CACzC,mCAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,GAAI,CAC7D,CAAA;AAFY,QAAA,qBAAqB,yBAEjC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebStyleRegistry = void 0;
|
|
4
|
+
const styles_1 = require("@codeleap/styles");
|
|
5
|
+
const persistor = new styles_1.StylePersistor({
|
|
6
|
+
set(key, value) {
|
|
7
|
+
if (typeof window === 'undefined')
|
|
8
|
+
return null;
|
|
9
|
+
return localStorage?.setItem(key, value);
|
|
10
|
+
},
|
|
11
|
+
get(key) {
|
|
12
|
+
if (typeof window === 'undefined')
|
|
13
|
+
return null;
|
|
14
|
+
return localStorage?.getItem(key);
|
|
15
|
+
},
|
|
16
|
+
del(key) {
|
|
17
|
+
if (typeof window === 'undefined')
|
|
18
|
+
return null;
|
|
19
|
+
return localStorage?.removeItem(key);
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
let instance;
|
|
23
|
+
const components = [];
|
|
24
|
+
/**
|
|
25
|
+
* Singleton style registry for the web platform.
|
|
26
|
+
*
|
|
27
|
+
* Extends `CodeleapStyleRegistry` with localStorage-backed style persistence
|
|
28
|
+
* and a variant-element map that tracks which HTML element tag should be used
|
|
29
|
+
* for each component variant.
|
|
30
|
+
*
|
|
31
|
+
* Only one instance exists per JS runtime. The first `new WebStyleRegistry()`
|
|
32
|
+
* call creates the instance; subsequent calls return the same object. Components
|
|
33
|
+
* register themselves via the static `WebStyleRegistry.registerComponent()` —
|
|
34
|
+
* call this at module level so registrations survive before the registry is
|
|
35
|
+
* instantiated (they are replayed on construction).
|
|
36
|
+
*
|
|
37
|
+
* Access the live singleton via `WebStyleRegistry.current`.
|
|
38
|
+
*/
|
|
39
|
+
class WebStyleRegistry extends styles_1.CodeleapStyleRegistry {
|
|
40
|
+
variantElements = {};
|
|
41
|
+
constructor() {
|
|
42
|
+
super(persistor);
|
|
43
|
+
components.forEach((component) => {
|
|
44
|
+
this.registerComponent(component);
|
|
45
|
+
});
|
|
46
|
+
if (!instance) {
|
|
47
|
+
instance = this;
|
|
48
|
+
}
|
|
49
|
+
return instance;
|
|
50
|
+
}
|
|
51
|
+
/** Registers the HTML element tag to render for each variant of a component (e.g. `{ h1: 'h1', p: 'p' }`). */
|
|
52
|
+
registerVariantElements(componentName, elements) {
|
|
53
|
+
this.variantElements[componentName] = elements;
|
|
54
|
+
}
|
|
55
|
+
/** Returns the element tag registered for the given component variant, or `undefined` if none was registered. */
|
|
56
|
+
variantElementFor(componentName, variantName) {
|
|
57
|
+
return this.variantElements[componentName]?.[variantName];
|
|
58
|
+
}
|
|
59
|
+
createStyle(css) {
|
|
60
|
+
return css;
|
|
61
|
+
}
|
|
62
|
+
static get current() {
|
|
63
|
+
return instance;
|
|
64
|
+
}
|
|
65
|
+
static registerComponent(component) {
|
|
66
|
+
components.push(component);
|
|
67
|
+
if (instance) {
|
|
68
|
+
instance.registerComponent(component);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.WebStyleRegistry = WebStyleRegistry;
|
|
73
|
+
//# sourceMappingURL=WebStyleRegistry.js.map
|