@envive-ai/react-widgets-v3 0.3.14 → 0.3.15-beta.1
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/hocs/withBaseWidget/types.d.cts +3 -3
- package/dist/hocs/withBaseWidget/types.d.ts +5 -3
- package/dist/hocs/withBaseWidget/withBaseWidget.d.cts +2 -2
- package/dist/hocs/withBaseWidget/withBaseWidget.d.ts +2 -2
- package/dist/hooks/dist/application/models/api/widgetText.d.cts +8 -0
- package/dist/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.cts +12 -0
- package/dist/hooks/dist/contexts/types.d.cts +38 -0
- package/dist/hooks/dist/contexts/typesV3.d.cts +239 -0
- package/dist/hooks/dist/services/amplitudeService/eventNames.d.cts +43 -0
- package/dist/hooks/dist/types/customerService.d.cts +21 -0
- package/dist/packages/hooks/dist/application/models/api/orgConfigResults.d.ts +1 -0
- package/dist/packages/hooks/dist/application/models/api/widgetText.d.ts +8 -0
- package/dist/packages/hooks/dist/application/models/frontendConfig.d.ts +1 -0
- package/dist/packages/hooks/dist/contexts/amplitudeContext/amplitudeContext.d.ts +2 -0
- package/dist/packages/hooks/dist/contexts/amplitudeContext/index.d.ts +2 -0
- package/dist/packages/hooks/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -0
- package/dist/packages/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.ts +14 -0
- package/dist/packages/hooks/dist/contexts/hardcopyContext/index.d.ts +1 -0
- package/dist/packages/hooks/dist/contexts/types.d.ts +42 -0
- package/dist/packages/hooks/dist/contexts/typesV3.d.ts +239 -0
- package/dist/packages/hooks/dist/services/amplitudeService/amplitudeService.d.ts +1 -0
- package/dist/packages/hooks/dist/services/amplitudeService/eventNames.d.ts +43 -0
- package/dist/packages/hooks/dist/types/customerService.d.ts +21 -0
- package/dist/packages/widgets/dist/SearchResults/SearchResults.d.ts +4 -3
- package/dist/packages/widgets/dist/SearchResults/SearchResultsWidget.d.ts +2 -2
- package/dist/packages/widgets/dist/SearchZeroState/index.d.ts +2 -1
- package/dist/packages/widgets/dist/SearchZeroState/types.d.ts +2 -2
- package/dist/packages/widgets/dist/SuggestionBar/SuggestionBar.d.ts +3 -3
- package/dist/packages/widgets/dist/SuggestionButtonContainer/index.d.ts +2 -0
- package/dist/packages/widgets/dist/SuggestionButtonContainer/types.d.ts +3 -2
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/api/response.d.ts +14 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/api/search.d.ts +15 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCase.d.ts +73 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts +61 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/internal.d.ts +25 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/splitWords.d.ts +35 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/trim.d.ts +32 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/unknownArray.d.ts +32 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/application/models/variantInfo/variantInfo.d.ts +1 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/atoms/search/searchAPI.d.ts +15 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.ts +1 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/contexts/types.d.ts +63 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/hooks/Search/useSearch.d.ts +60 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/hooks/utils.d.ts +13 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/types/OrgInfo.d.ts +1 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/types/index.d.ts +1 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/types/search-filter-types.d.ts +28 -0
- package/dist/packages/widgets/dist/packages/hooks/dist/types/test-types.d.ts +10 -0
- package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.cts +3 -3
- package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +3 -3
- package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +3 -3
- package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.cts +3 -3
- package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.ts +3 -3
- package/dist/widgets/FloatingChatWidget/FloatingChatWidget.cjs +29 -5
- package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.cts +2 -2
- package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +2 -2
- package/dist/widgets/FloatingChatWidget/FloatingChatWidget.js +30 -6
- package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.cts +2 -2
- package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts +2 -2
- package/dist/widgets/ProductCardWidget/ProductCardWidget.d.cts +2 -2
- package/dist/widgets/ProductCardWidget/ProductCardWidget.d.ts +2 -2
- package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.cts +3 -3
- package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +3 -3
- package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.cjs +13 -1
- package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.cts +2 -2
- package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +2 -2
- package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.js +15 -3
- package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.cts +2 -2
- package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +2 -2
- package/dist/widgets/SocialProofWidget/SocialProofWidget.d.cts +3 -3
- package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.cts +2 -2
- package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts +2 -2
- package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.cts +2 -2
- package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +2 -2
- package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.cts +3 -3
- package/dist/widgets/dist/SearchResults/SearchResults.d.cts +4 -3
- package/dist/widgets/dist/SearchResults/SearchResultsWidget.d.cts +2 -2
- package/dist/widgets/dist/SearchZeroState/types.d.cts +2 -2
- package/dist/widgets/dist/SuggestionBar/SuggestionBar.d.cts +3 -3
- package/dist/widgets/dist/SuggestionButtonContainer/types.d.cts +3 -2
- package/dist/widgets/dist/packages/hooks/dist/application/models/api/response.d.cts +14 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/api/search.d.cts +15 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCase.d.cts +73 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.cts +61 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/internal.d.cts +25 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/splitWords.d.cts +35 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/trim.d.cts +32 -0
- package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/unknownArray.d.cts +32 -0
- package/dist/widgets/dist/packages/hooks/dist/atoms/search/searchAPI.d.cts +14 -0
- package/dist/widgets/dist/packages/hooks/dist/contexts/types.d.cts +61 -0
- package/dist/widgets/dist/packages/hooks/dist/hooks/Search/useSearch.d.cts +60 -0
- package/dist/widgets/dist/packages/hooks/dist/hooks/utils.d.cts +12 -0
- package/dist/widgets/dist/packages/hooks/dist/types/search-filter-types.d.cts +28 -0
- package/dist/widgets/dist/packages/hooks/dist/types/test-types.d.cts +10 -0
- package/dist/widgets-v2/SearchZeroState/index.d.cts +2 -1
- package/dist/widgets-v2/SearchZeroState/index.d.ts +2 -1
- package/dist/widgets-v2/SuggestionButtonContainer/index.d.ts +1 -0
- package/package.json +1 -1
- package/src/widgets/FloatingChatWidget/FloatingChatWidget.tsx +56 -15
- package/src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx +32 -9
package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime3 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts
|
|
5
5
|
declare const PromptButtonCarouselWithImageWidgetWithBaseWidget: {
|
|
6
|
-
(props: BaseWidgetProps):
|
|
6
|
+
(props: BaseWidgetProps): react_jsx_runtime3.JSX.Element;
|
|
7
7
|
displayName: string;
|
|
8
8
|
};
|
|
9
9
|
interface PromptButtonCarouselWithImageWidgetProps {
|
|
@@ -12,7 +12,7 @@ interface PromptButtonCarouselWithImageWidgetProps {
|
|
|
12
12
|
declare const PromptButtonCarouselWithImageWidget: {
|
|
13
13
|
({
|
|
14
14
|
widgetConfigId
|
|
15
|
-
}: PromptButtonCarouselWithImageWidgetProps):
|
|
15
|
+
}: PromptButtonCarouselWithImageWidgetProps): react_jsx_runtime3.JSX.Element;
|
|
16
16
|
displayName: string;
|
|
17
17
|
};
|
|
18
18
|
//#endregion
|
|
@@ -10,8 +10,9 @@ let __envive_ai_react_hooks_contexts_salesAgentContext = require("@envive-ai/rea
|
|
|
10
10
|
let __envive_ai_react_hooks_hooks_ChatToggle = require("@envive-ai/react-hooks/hooks/ChatToggle");
|
|
11
11
|
let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
|
|
12
12
|
let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
|
|
13
|
-
let
|
|
13
|
+
let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
|
|
14
14
|
let __envive_ai_react_toolkit_v3_PromptCarousel = require("@envive-ai/react-toolkit-v3/PromptCarousel");
|
|
15
|
+
let __envive_ai_react_toolkit_v3_PromptCarousel_types_types = require("@envive-ai/react-toolkit-v3/PromptCarousel/types/types");
|
|
15
16
|
|
|
16
17
|
//#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx
|
|
17
18
|
const mockButtonTexts = [
|
|
@@ -25,6 +26,10 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
25
26
|
const { onTypedMessageSubmitted } = (0, __envive_ai_react_hooks_contexts_salesAgentContext.useSalesAgent)();
|
|
26
27
|
const { openChat } = (0, __envive_ai_react_hooks_hooks_ChatToggle.useChatToggle)();
|
|
27
28
|
const { hardcopyContent, widgetConfig, isLoading, widgetConfigId } = props;
|
|
29
|
+
const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = (0, __envive_ai_react_toolkit_v3_PromptCarousel.usePromptCarouselAnalytics)(__envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.SUGGESTION_BAR, (text) => {
|
|
30
|
+
const rawValues = hardcopyContent?.rawValues;
|
|
31
|
+
return require_functions.getStringIdForText(rawValues, text);
|
|
32
|
+
});
|
|
28
33
|
const promptButtonTexts = hardcopyContent?.values?.promptButtonTexts || [];
|
|
29
34
|
const buttonTexts = isLoading ? mockButtonTexts : promptButtonTexts;
|
|
30
35
|
const promptCarouselWidgetConfig = widgetConfig;
|
|
@@ -46,6 +51,7 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
46
51
|
const handleButtonClick = (0, react.useCallback)((text) => {
|
|
47
52
|
const rawValues = hardcopyContent?.rawValues;
|
|
48
53
|
const stringId = require_functions.getStringIdForText(rawValues, text);
|
|
54
|
+
onSuggestionClick(stringId);
|
|
49
55
|
trackEvent({
|
|
50
56
|
eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetTextClicked,
|
|
51
57
|
eventProps: {
|
|
@@ -76,6 +82,12 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
76
82
|
promptCarouselRows,
|
|
77
83
|
animationSpeed,
|
|
78
84
|
handleButtonClick,
|
|
85
|
+
handleButtonHover: onHover,
|
|
86
|
+
handleButtonDrag: onDrag,
|
|
87
|
+
handleButtonMouseUp: onMouseUp,
|
|
88
|
+
handleButtonMouseDown: onMouseDown,
|
|
89
|
+
handleButtonTouchStart: onTouchStart,
|
|
90
|
+
handleButtonTouchEnd: onTouchEnd,
|
|
79
91
|
promptButtonTexts: buttonTexts
|
|
80
92
|
});
|
|
81
93
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime6 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts
|
|
4
4
|
interface PromptCarouselWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface PromptCarouselWidgetProps {
|
|
|
7
7
|
declare const PromptCarouselWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: PromptCarouselWidgetProps):
|
|
10
|
+
}: PromptCarouselWidgetProps): react_jsx_runtime6.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime10 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts
|
|
4
4
|
interface PromptCarouselWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface PromptCarouselWidgetProps {
|
|
|
7
7
|
declare const PromptCarouselWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: PromptCarouselWidgetProps):
|
|
10
|
+
}: PromptCarouselWidgetProps): react_jsx_runtime10.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -9,8 +9,9 @@ import { useSalesAgent } from "@envive-ai/react-hooks/contexts/salesAgentContext
|
|
|
9
9
|
import { useChatToggle } from "@envive-ai/react-hooks/hooks/ChatToggle";
|
|
10
10
|
import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
|
|
11
11
|
import { ChatElementDisplayLocationV3 } from "@envive-ai/react-hooks/application/models";
|
|
12
|
-
import {
|
|
13
|
-
import { PromptCarousel } from "@envive-ai/react-toolkit-v3/PromptCarousel";
|
|
12
|
+
import { WidgetInteractionComponent } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
|
|
13
|
+
import { PromptCarousel, usePromptCarouselAnalytics } from "@envive-ai/react-toolkit-v3/PromptCarousel";
|
|
14
|
+
import { AnimationSpeed as AnimationSpeed$1 } from "@envive-ai/react-toolkit-v3/PromptCarousel/types/types";
|
|
14
15
|
|
|
15
16
|
//#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx
|
|
16
17
|
const mockButtonTexts = [
|
|
@@ -24,6 +25,10 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
24
25
|
const { onTypedMessageSubmitted } = useSalesAgent();
|
|
25
26
|
const { openChat } = useChatToggle();
|
|
26
27
|
const { hardcopyContent, widgetConfig, isLoading, widgetConfigId } = props;
|
|
28
|
+
const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = usePromptCarouselAnalytics(WidgetInteractionComponent.SUGGESTION_BAR, (text) => {
|
|
29
|
+
const rawValues = hardcopyContent?.rawValues;
|
|
30
|
+
return getStringIdForText(rawValues, text);
|
|
31
|
+
});
|
|
27
32
|
const promptButtonTexts = hardcopyContent?.values?.promptButtonTexts || [];
|
|
28
33
|
const buttonTexts = isLoading ? mockButtonTexts : promptButtonTexts;
|
|
29
34
|
const promptCarouselWidgetConfig = widgetConfig;
|
|
@@ -31,7 +36,7 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
31
36
|
const boldFirstButton = promptCarouselWidgetConfig?.boldFirstButton;
|
|
32
37
|
const promptButtonType = promptCarouselWidgetConfig?.promptButtonType;
|
|
33
38
|
const promptCarouselRows = promptCarouselWidgetConfig?.promptCarouselRows;
|
|
34
|
-
const animationSpeed = isLoading ? AnimationSpeed.NONE : promptCarouselWidgetConfig?.animationSpeed;
|
|
39
|
+
const animationSpeed = isLoading ? AnimationSpeed$1.NONE : promptCarouselWidgetConfig?.animationSpeed;
|
|
35
40
|
const { trackEvent } = useAmplitude();
|
|
36
41
|
useEffect(() => {
|
|
37
42
|
trackEvent({
|
|
@@ -45,6 +50,7 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
45
50
|
const handleButtonClick = useCallback((text) => {
|
|
46
51
|
const rawValues = hardcopyContent?.rawValues;
|
|
47
52
|
const stringId = getStringIdForText(rawValues, text);
|
|
53
|
+
onSuggestionClick(stringId);
|
|
48
54
|
trackEvent({
|
|
49
55
|
eventName: EnviveMetricsEventName.WidgetTextClicked,
|
|
50
56
|
eventProps: {
|
|
@@ -75,6 +81,12 @@ const PromptCarouselWidgetHandler = (props) => {
|
|
|
75
81
|
promptCarouselRows,
|
|
76
82
|
animationSpeed,
|
|
77
83
|
handleButtonClick,
|
|
84
|
+
handleButtonHover: onHover,
|
|
85
|
+
handleButtonDrag: onDrag,
|
|
86
|
+
handleButtonMouseUp: onMouseUp,
|
|
87
|
+
handleButtonMouseDown: onMouseDown,
|
|
88
|
+
handleButtonTouchStart: onTouchStart,
|
|
89
|
+
handleButtonTouchEnd: onTouchEnd,
|
|
78
90
|
promptButtonTexts: buttonTexts
|
|
79
91
|
});
|
|
80
92
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime11 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts
|
|
4
4
|
interface SocialProofFlowWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface SocialProofFlowWidgetProps {
|
|
|
7
7
|
declare const SocialProofFlowWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: SocialProofFlowWidgetProps):
|
|
10
|
+
}: SocialProofFlowWidgetProps): react_jsx_runtime11.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime6 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts
|
|
4
4
|
interface SocialProofFlowWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface SocialProofFlowWidgetProps {
|
|
|
7
7
|
declare const SocialProofFlowWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: SocialProofFlowWidgetProps):
|
|
10
|
+
}: SocialProofFlowWidgetProps): react_jsx_runtime6.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/widgets/SocialProofWidget/SocialProofWidget.d.ts
|
|
5
5
|
declare const SocialProofWidgetWithBaseWidget: {
|
|
6
|
-
(props: BaseWidgetProps):
|
|
6
|
+
(props: BaseWidgetProps): react_jsx_runtime0.JSX.Element;
|
|
7
7
|
displayName: string;
|
|
8
8
|
};
|
|
9
9
|
interface SocialProofWidgetProps {
|
|
@@ -12,7 +12,7 @@ interface SocialProofWidgetProps {
|
|
|
12
12
|
declare const SocialProofWidget: {
|
|
13
13
|
({
|
|
14
14
|
widgetConfigId
|
|
15
|
-
}: SocialProofWidgetProps):
|
|
15
|
+
}: SocialProofWidgetProps): react_jsx_runtime0.JSX.Element;
|
|
16
16
|
displayName: string;
|
|
17
17
|
};
|
|
18
18
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime5 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts
|
|
4
4
|
interface TitledPromptCarouselWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface TitledPromptCarouselWidgetProps {
|
|
|
7
7
|
declare const TitledPromptCarouselWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: TitledPromptCarouselWidgetProps):
|
|
10
|
+
}: TitledPromptCarouselWidgetProps): react_jsx_runtime5.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime13 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts
|
|
4
4
|
interface TitledPromptCarouselWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface TitledPromptCarouselWidgetProps {
|
|
|
7
7
|
declare const TitledPromptCarouselWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: TitledPromptCarouselWidgetProps):
|
|
10
|
+
}: TitledPromptCarouselWidgetProps): react_jsx_runtime13.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts
|
|
4
4
|
interface TypingAnimationFlowWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface TypingAnimationFlowWidgetProps {
|
|
|
7
7
|
declare const TypingAnimationFlowWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: TypingAnimationFlowWidgetProps):
|
|
10
|
+
}: TypingAnimationFlowWidgetProps): react_jsx_runtime12.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts
|
|
4
4
|
interface TypingAnimationFlowWidgetProps {
|
|
@@ -7,7 +7,7 @@ interface TypingAnimationFlowWidgetProps {
|
|
|
7
7
|
declare const TypingAnimationFlowWidget: {
|
|
8
8
|
({
|
|
9
9
|
widgetConfigId
|
|
10
|
-
}: TypingAnimationFlowWidgetProps):
|
|
10
|
+
}: TypingAnimationFlowWidgetProps): react_jsx_runtime2.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime18 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts
|
|
5
5
|
declare const TypingAnimationWithBaseWidget: {
|
|
6
|
-
(props: BaseWidgetProps):
|
|
6
|
+
(props: BaseWidgetProps): react_jsx_runtime18.JSX.Element;
|
|
7
7
|
displayName: string;
|
|
8
8
|
};
|
|
9
9
|
interface TypingAnimationWidgetProps {
|
|
@@ -12,7 +12,7 @@ interface TypingAnimationWidgetProps {
|
|
|
12
12
|
declare const TypingAnimationWidget: {
|
|
13
13
|
({
|
|
14
14
|
widgetConfigId
|
|
15
|
-
}: TypingAnimationWidgetProps):
|
|
15
|
+
}: TypingAnimationWidgetProps): react_jsx_runtime18.JSX.Element;
|
|
16
16
|
displayName: string;
|
|
17
17
|
};
|
|
18
18
|
//#endregion
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { SearchResultsHocProps } from "../packages/hooks/dist/hooks/Search/useSearch.cjs";
|
|
1
2
|
import { SearchResultsEntryPointWidgetConfig } from "./types.cjs";
|
|
2
|
-
import * as
|
|
3
|
-
import { SearchResultsHocProps } from "@envive-ai/react-hooks/hooks/Search";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region ../widgets/dist/SearchResults/SearchResults.d.ts
|
|
6
|
+
|
|
6
7
|
//#region src/SearchResults/SearchResults.d.ts
|
|
7
8
|
interface SearchResultsProps extends SearchResultsHocProps {
|
|
8
9
|
widgetConfig: SearchResultsEntryPointWidgetConfig;
|
|
9
10
|
}
|
|
10
|
-
declare const SearchResults: (props: Omit<SearchResultsProps,
|
|
11
|
+
declare const SearchResults: (props: Omit<SearchResultsProps, keyof SearchResultsHocProps>) => react_jsx_runtime0.JSX.Element;
|
|
11
12
|
//#endregion
|
|
12
13
|
|
|
13
14
|
//#endregion
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region ../widgets/dist/SearchResults/SearchResultsWidget.d.ts
|
|
4
4
|
//#region src/SearchResults/SearchResultsWidget.d.ts
|
|
5
|
-
declare const SearchResultsWidget: () =>
|
|
5
|
+
declare const SearchResultsWidget: () => react_jsx_runtime2.JSX.Element;
|
|
6
6
|
//#endregion
|
|
7
7
|
|
|
8
8
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SearchEntryPointWidgetConfig
|
|
1
|
+
import { SearchEntryPointWidgetConfig } from "../packages/hooks/dist/contexts/types.cjs";
|
|
2
2
|
|
|
3
3
|
//#region ../widgets/dist/SearchZeroState/types.d.ts
|
|
4
4
|
//#region src/SearchZeroState/types.d.ts
|
|
@@ -10,4 +10,4 @@ interface SearchZeroStateProps {
|
|
|
10
10
|
//#endregion
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
|
-
export {
|
|
13
|
+
export { SearchZeroStateProps };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { SuggestionButtonVariant } from "../packages/hooks/dist/contexts/types.cjs";
|
|
1
2
|
import { SuggestionBarLocationForMetrics } from "./types.cjs";
|
|
2
|
-
import * as
|
|
3
|
-
import { SuggestionButtonVariant } from "@envive-ai/react-hooks/contexts/types";
|
|
3
|
+
import * as react_jsx_runtime3 from "react/jsx-runtime";
|
|
4
4
|
import { Message } from "postcss";
|
|
5
5
|
|
|
6
6
|
//#region ../widgets/dist/SuggestionBar/SuggestionBar.d.ts
|
|
@@ -30,7 +30,7 @@ declare function SuggestionBar({
|
|
|
30
30
|
buttonBorderRadius,
|
|
31
31
|
handleReply,
|
|
32
32
|
dataTestId
|
|
33
|
-
}: Readonly<SuggestionBarProps>):
|
|
33
|
+
}: Readonly<SuggestionBarProps>): react_jsx_runtime3.JSX.Element;
|
|
34
34
|
//#endregion
|
|
35
35
|
//#endregion
|
|
36
36
|
export { SuggestionBar };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { TestProps } from "../packages/hooks/dist/types/test-types.cjs";
|
|
2
|
+
import { SuggestionButtonVariant } from "../packages/hooks/dist/contexts/types.cjs";
|
|
3
3
|
|
|
4
4
|
//#region ../widgets/dist/SuggestionButtonContainer/types.d.ts
|
|
5
|
+
|
|
5
6
|
//#region src/SuggestionButtonContainer/types.d.ts
|
|
6
7
|
interface SuggestionButtonContainerProps extends TestProps {
|
|
7
8
|
buttonVariation: SuggestionButtonVariant;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CamelCasedPropertiesDeep } from "../utilityTypes/camelCasedPropertiesDeep.cjs";
|
|
2
|
+
import { ResponseCategory, SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
3
|
+
|
|
4
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/api/response.d.ts
|
|
5
|
+
|
|
6
|
+
//#region ../hooks/dist/application/models/api/response.d.ts
|
|
7
|
+
interface SearchResponseProductAttributes {
|
|
8
|
+
category: ResponseCategory.Product;
|
|
9
|
+
attributes: CamelCasedPropertiesDeep<SearchResponseProduct>;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { SearchResponseProductAttributes };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
2
|
+
|
|
3
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/api/search.d.ts
|
|
4
|
+
|
|
5
|
+
//#region ../hooks/dist/application/models/api/search.d.ts
|
|
6
|
+
interface SearchResult {
|
|
7
|
+
products: SearchResponseProduct[];
|
|
8
|
+
filters: string[];
|
|
9
|
+
generatedQuery?: string;
|
|
10
|
+
totalProductCount: number;
|
|
11
|
+
searchResponseId: string;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
//#endregion
|
|
15
|
+
export { SearchResult };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { SplitWords } from "./splitWords.cjs";
|
|
2
|
+
|
|
3
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCase.d.ts
|
|
4
|
+
|
|
5
|
+
//#region ../hooks/dist/application/models/utilityTypes/camelCase.d.ts
|
|
6
|
+
//#region src/application/models/utilityTypes/camelCase.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* CamelCase options.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link CamelCase}
|
|
11
|
+
*/
|
|
12
|
+
type CamelCaseOptions = {
|
|
13
|
+
/**
|
|
14
|
+
* Whether to preserved consecutive uppercase letter.
|
|
15
|
+
*
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
preserveConsecutiveUppercase?: boolean;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Convert an array of words to camel-case.
|
|
22
|
+
*/
|
|
23
|
+
type CamelCaseFromArray<Words extends string[], Options extends CamelCaseOptions, OutputString extends string = ''> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]] ? Options['preserveConsecutiveUppercase'] extends true ? `${Capitalize<FirstWord>}${CamelCaseFromArray<RemainingWords, Options>}` : `${Capitalize<Lowercase<FirstWord>>}${CamelCaseFromArray<RemainingWords, Options>}` : OutputString;
|
|
24
|
+
/**
|
|
25
|
+
* Convert a string literal to camel-case.
|
|
26
|
+
*
|
|
27
|
+
* This can be useful when, for example, converting some kebab-cased command-line flags or a snake-cased database result.
|
|
28
|
+
*
|
|
29
|
+
* By default, consecutive uppercase letter are preserved. See {@link CamelCaseOptions.preserveConsecutiveUppercase preserveConsecutiveUppercase} option to change this behaviour.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```
|
|
33
|
+
* import type {CamelCase} from 'type-fest';
|
|
34
|
+
*
|
|
35
|
+
* // Simple
|
|
36
|
+
*
|
|
37
|
+
* const someVariable: CamelCase<'foo-bar'> = 'fooBar';
|
|
38
|
+
*
|
|
39
|
+
* // Advanced
|
|
40
|
+
*
|
|
41
|
+
* type CamelCasedProperties<T> = {
|
|
42
|
+
* [K in keyof T as CamelCase<K>]: T[K]
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* interface RawOptions {
|
|
46
|
+
* 'dry-run': boolean;
|
|
47
|
+
* 'full_family_name': string;
|
|
48
|
+
* foo: number;
|
|
49
|
+
* BAR: string;
|
|
50
|
+
* QUZ_QUX: number;
|
|
51
|
+
* 'OTHER-FIELD': boolean;
|
|
52
|
+
* }
|
|
53
|
+
*
|
|
54
|
+
* const dbResult: CamelCasedProperties<RawOptions> = {
|
|
55
|
+
* dryRun: true,
|
|
56
|
+
* fullFamilyName: 'bar.js',
|
|
57
|
+
* foo: 123,
|
|
58
|
+
* bar: 'foo',
|
|
59
|
+
* quzQux: 6,
|
|
60
|
+
* otherField: false
|
|
61
|
+
* };
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @category Change case
|
|
65
|
+
* @category Template literal
|
|
66
|
+
*/
|
|
67
|
+
type CamelCase<Type, Options extends CamelCaseOptions = {
|
|
68
|
+
preserveConsecutiveUppercase: true;
|
|
69
|
+
}> = Type extends string ? string extends Type ? Type : Uncapitalize<CamelCaseFromArray<SplitWords<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, Options>> : Type;
|
|
70
|
+
//#endregion
|
|
71
|
+
//#endregion
|
|
72
|
+
//#endregion
|
|
73
|
+
export { CamelCase, CamelCaseOptions };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CamelCase, CamelCaseOptions } from "./camelCase.cjs";
|
|
2
|
+
import { UnknownArray } from "./unknownArray.cjs";
|
|
3
|
+
|
|
4
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts
|
|
5
|
+
|
|
6
|
+
//#region ../hooks/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts
|
|
7
|
+
//#region src/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Convert object properties to camel case recursively.
|
|
10
|
+
*
|
|
11
|
+
* This can be useful when, for example, converting some API types from a different style.
|
|
12
|
+
*
|
|
13
|
+
* @see CamelCasedProperties
|
|
14
|
+
* @see CamelCase
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```
|
|
18
|
+
* import type {CamelCasedPropertiesDeep} from 'type-fest';
|
|
19
|
+
*
|
|
20
|
+
* interface User {
|
|
21
|
+
* UserId: number;
|
|
22
|
+
* UserName: string;
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* interface UserWithFriends {
|
|
26
|
+
* UserInfo: User;
|
|
27
|
+
* UserFriends: User[];
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* const result: CamelCasedPropertiesDeep<UserWithFriends> = {
|
|
31
|
+
* userInfo: {
|
|
32
|
+
* userId: 1,
|
|
33
|
+
* userName: 'Tom',
|
|
34
|
+
* },
|
|
35
|
+
* userFriends: [
|
|
36
|
+
* {
|
|
37
|
+
* userId: 2,
|
|
38
|
+
* userName: 'Jerry',
|
|
39
|
+
* },
|
|
40
|
+
* {
|
|
41
|
+
* userId: 3,
|
|
42
|
+
* userName: 'Spike',
|
|
43
|
+
* },
|
|
44
|
+
* ],
|
|
45
|
+
* };
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @category Change case
|
|
49
|
+
* @category Template literal
|
|
50
|
+
* @category Object
|
|
51
|
+
*/
|
|
52
|
+
type CamelCasedPropertiesDeep<Value, Options extends CamelCaseOptions = {
|
|
53
|
+
preserveConsecutiveUppercase: true;
|
|
54
|
+
}> = Value extends Function ? Value : Value extends UnknownArray ? CamelCasedPropertiesArrayDeep<Value> : Value extends Set<infer U> ? Set<CamelCasedPropertiesDeep<U, Options>> : { [K in keyof Value as CamelCase<K, Options>]: CamelCasedPropertiesDeep<Value[K], Options> };
|
|
55
|
+
type CamelCasedPropertiesArrayDeep<Value extends UnknownArray> = Value extends [] ? [] : Value extends [infer U, ...infer V] ? [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [infer U, ...infer V] ? readonly [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? readonly [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends Array<infer U> ? Array<CamelCasedPropertiesDeep<U>> : Value extends ReadonlyArray<infer U> ? ReadonlyArray<CamelCasedPropertiesDeep<U>> : never;
|
|
56
|
+
//#endregion
|
|
57
|
+
|
|
58
|
+
//#endregion
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
export { CamelCasedPropertiesDeep };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Trim } from "./trim.cjs";
|
|
2
|
+
|
|
3
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/utilityTypes/internal.d.ts
|
|
4
|
+
|
|
5
|
+
//#region ../hooks/dist/application/models/utilityTypes/internal.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Returns a boolean for whether the string is numeric.
|
|
8
|
+
*
|
|
9
|
+
* This type is a workaround for [Microsoft/TypeScript#46109](https://github.com/microsoft/TypeScript/issues/46109#issuecomment-930307987).
|
|
10
|
+
*/
|
|
11
|
+
type IsNumeric<T extends string> = T extends `${number}` ? Trim<T> extends T ? true : false : false;
|
|
12
|
+
/**
|
|
13
|
+
* Returns a boolean for whether the string is lowercased.
|
|
14
|
+
*/
|
|
15
|
+
type IsLowerCase<T extends string> = T extends Lowercase<T> ? true : false;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a boolean for whether the string is upper-cased.
|
|
18
|
+
*/
|
|
19
|
+
type IsUpperCase<T extends string> = T extends Uppercase<T> ? true : false;
|
|
20
|
+
type WordSeparators = '-' | '_' | Whitespace;
|
|
21
|
+
type Whitespace = '\u{9}' | '\u{A}' | '\u{B}' | '\u{C}' | '\u{D}' | '\u{20}' | '\u{85}' | '\u{A0}' | '\u{1680}' | '\u{2000}' | '\u{2001}' | '\u{2002}' | '\u{2003}' | '\u{2004}' | '\u{2005}' | '\u{2006}' | '\u{2007}' | '\u{2008}' | '\u{2009}' | '\u{200A}' | '\u{2028}' | '\u{2029}' | '\u{202F}' | '\u{205F}' | '\u{3000}' | '\u{FEFF}';
|
|
22
|
+
//#endregion
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { IsLowerCase, IsNumeric, IsUpperCase, Whitespace, WordSeparators };
|
package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/splitWords.d.cts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IsLowerCase, IsNumeric, IsUpperCase, WordSeparators } from "./internal.cjs";
|
|
2
|
+
|
|
3
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/utilityTypes/splitWords.d.ts
|
|
4
|
+
|
|
5
|
+
//#region ../hooks/dist/application/models/utilityTypes/splitWords.d.ts
|
|
6
|
+
//#region src/application/models/utilityTypes/splitWords.d.ts
|
|
7
|
+
type SkipEmptyWord<Word extends string> = Word extends '' ? [] : [Word];
|
|
8
|
+
type RemoveLastCharacter<Sentence extends string, Character extends string> = Sentence extends `${infer LeftSide}${Character}` ? SkipEmptyWord<LeftSide> : never;
|
|
9
|
+
/**
|
|
10
|
+
* Split a string (almost) like Lodash's `_.words()` function.
|
|
11
|
+
*
|
|
12
|
+
* - Split on each word that begins with a capital letter.
|
|
13
|
+
* - Split on each {@link WordSeparators}.
|
|
14
|
+
* - Split on numeric sequence.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```
|
|
18
|
+
* type Words0 = SplitWords<'helloWorld'>; // ['hello', 'World']
|
|
19
|
+
* type Words1 = SplitWords<'helloWORLD'>; // ['hello', 'WORLD']
|
|
20
|
+
* type Words2 = SplitWords<'hello-world'>; // ['hello', 'world']
|
|
21
|
+
* type Words3 = SplitWords<'--hello the_world'>; // ['hello', 'the', 'world']
|
|
22
|
+
* type Words4 = SplitWords<'lifeIs42'>; // ['life', 'Is', '42']
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
* @category Change case
|
|
27
|
+
* @category Template literal
|
|
28
|
+
*/
|
|
29
|
+
type SplitWords<Sentence extends string, LastCharacter extends string = '', CurrentWord extends string = ''> = Sentence extends `${infer FirstCharacter}${infer RemainingCharacters}` ? FirstCharacter extends WordSeparators ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters>] : LastCharacter extends '' ? SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter> : [false, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, false] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [true, true] extends [IsLowerCase<LastCharacter>, IsUpperCase<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsUpperCase<LastCharacter>, IsLowerCase<FirstCharacter>] ? [...RemoveLastCharacter<CurrentWord, LastCharacter>, ...SplitWords<RemainingCharacters, FirstCharacter, `${LastCharacter}${FirstCharacter}`>] : SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [...SkipEmptyWord<CurrentWord>];
|
|
30
|
+
//#endregion
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { SplitWords };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Whitespace } from "./internal.cjs";
|
|
2
|
+
|
|
3
|
+
//#region ../widgets/dist/packages/hooks/dist/application/models/utilityTypes/trim.d.ts
|
|
4
|
+
|
|
5
|
+
//#region ../hooks/dist/application/models/utilityTypes/trim.d.ts
|
|
6
|
+
//#region src/application/models/utilityTypes/trim.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Remove spaces from the left side.
|
|
9
|
+
*/
|
|
10
|
+
type TrimLeft<V extends string> = V extends `${Whitespace}${infer R}` ? TrimLeft<R> : V;
|
|
11
|
+
/**
|
|
12
|
+
* Remove spaces from the right side.
|
|
13
|
+
*/
|
|
14
|
+
type TrimRight<V extends string> = V extends `${infer R}${Whitespace}` ? TrimRight<R> : V;
|
|
15
|
+
/**
|
|
16
|
+
* Remove leading and trailing spaces from a string.
|
|
17
|
+
* @example
|
|
18
|
+
* ```
|
|
19
|
+
* import type {Trim} from 'type-fest';
|
|
20
|
+
*
|
|
21
|
+
* Trim<' foo '>
|
|
22
|
+
* //=> 'foo'
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @category String
|
|
26
|
+
* @category Template literal
|
|
27
|
+
*/
|
|
28
|
+
type Trim<V extends string> = TrimLeft<TrimRight<V>>;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#endregion
|
|
31
|
+
//#endregion
|
|
32
|
+
export { Trim };
|