@envive-ai/react-widgets 0.3.0 → 0.3.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.
Files changed (55) hide show
  1. package/dist/SearchResults/SearchResults.d.cts +11 -0
  2. package/dist/SearchResults/SearchResults.d.ts +11 -0
  3. package/dist/SearchResults/SearchResultsWidget.d.cts +2 -2
  4. package/dist/SearchResults/SearchResultsWidget.d.ts +2 -2
  5. package/dist/SearchResults/index.cjs +2 -0
  6. package/dist/SearchResults/index.d.cts +2 -1
  7. package/dist/SearchResults/index.d.ts +2 -1
  8. package/dist/SearchResults/index.js +2 -1
  9. package/dist/SearchResults/types.d.cts +17 -0
  10. package/dist/SearchResults/types.d.ts +17 -0
  11. package/dist/SearchZeroState/SearchZeroState.cjs +2 -2
  12. package/dist/SearchZeroState/SearchZeroState.js +2 -2
  13. package/dist/SearchZeroState/SearchZeroStateWidget.d.cts +2 -2
  14. package/dist/SearchZeroState/SearchZeroStateWidget.d.ts +2 -2
  15. package/dist/SearchZeroState/index.d.cts +1 -2
  16. package/dist/SearchZeroState/index.d.ts +1 -2
  17. package/dist/SearchZeroState/types.d.cts +2 -2
  18. package/dist/SearchZeroState/types.d.ts +2 -2
  19. package/dist/SuggestionBar/SuggestionBar.cjs +3 -3
  20. package/dist/SuggestionBar/SuggestionBar.d.cts +3 -3
  21. package/dist/SuggestionBar/SuggestionBar.d.ts +3 -3
  22. package/dist/SuggestionBar/SuggestionBar.js +4 -4
  23. package/dist/SuggestionButtonContainer/SuggestionButtonContainer.cjs +1 -1
  24. package/dist/SuggestionButtonContainer/SuggestionButtonContainer.js +1 -1
  25. package/dist/SuggestionButtonContainer/types.d.cts +2 -2
  26. package/dist/SuggestionButtonContainer/types.d.ts +2 -2
  27. package/dist/_virtual/rolldown_runtime.cjs +2 -4
  28. package/dist/config/BaseWidgetConfig.d.cts +10 -0
  29. package/dist/config/BaseWidgetConfig.d.ts +10 -0
  30. package/dist/config/WidgetType.d.cts +21 -0
  31. package/dist/config/WidgetType.d.ts +21 -0
  32. package/dist/node_modules/react-indiana-drag-scroll/dist/index.cjs +2 -2
  33. package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +2 -4
  34. package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +2 -4
  35. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +2 -2
  36. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +3 -3
  37. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +2 -2
  38. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +3 -3
  39. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +2 -2
  40. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +3 -3
  41. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +2 -2
  42. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +3 -3
  43. package/dist/packages/icons/dist/node_modules/react/index.cjs +2 -2
  44. package/dist/packages/icons/dist/node_modules/react/index.js +3 -3
  45. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +2 -2
  46. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +3 -3
  47. package/dist/styles.css +1 -0
  48. package/package.json +12 -4
  49. package/src/SearchResults/index.ts +1 -0
  50. package/src/SearchResults/types.ts +3 -4
  51. package/src/util/useReducedMotionWithOverride.ts +8 -8
  52. package/dist/hooks/dist/contexts/types.d.cts +0 -52
  53. package/dist/hooks/dist/types/test-types.d.cts +0 -8
  54. package/dist/packages/hooks/dist/contexts/types.d.ts +0 -52
  55. package/dist/packages/hooks/dist/types/test-types.d.ts +0 -8
@@ -0,0 +1,11 @@
1
+ import { SearchResultsEntryPointWidgetConfig } from "./types.cjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { SearchResultsHocProps } from "@envive-ai/react-hooks/hooks/Search";
4
+
5
+ //#region src/SearchResults/SearchResults.d.ts
6
+ interface SearchResultsProps extends SearchResultsHocProps {
7
+ widgetConfig: SearchResultsEntryPointWidgetConfig;
8
+ }
9
+ declare const SearchResults: (props: Omit<SearchResultsProps, string | number | symbol>) => react_jsx_runtime0.JSX.Element;
10
+ //#endregion
11
+ export { SearchResults };
@@ -0,0 +1,11 @@
1
+ import { SearchResultsEntryPointWidgetConfig } from "./types.js";
2
+ import { SearchResultsHocProps } from "@envive-ai/react-hooks/hooks/Search";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/SearchResults/SearchResults.d.ts
6
+ interface SearchResultsProps extends SearchResultsHocProps {
7
+ widgetConfig: SearchResultsEntryPointWidgetConfig;
8
+ }
9
+ declare const SearchResults: (props: Omit<SearchResultsProps, string | number | symbol>) => react_jsx_runtime0.JSX.Element;
10
+ //#endregion
11
+ export { SearchResults };
@@ -1,6 +1,6 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/SearchResults/SearchResultsWidget.d.ts
4
- declare const SearchResultsWidget: () => react_jsx_runtime0.JSX.Element;
4
+ declare const SearchResultsWidget: () => react_jsx_runtime2.JSX.Element;
5
5
  //#endregion
6
6
  export { SearchResultsWidget };
@@ -1,6 +1,6 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/SearchResults/SearchResultsWidget.d.ts
4
- declare const SearchResultsWidget: () => react_jsx_runtime0.JSX.Element;
4
+ declare const SearchResultsWidget: () => react_jsx_runtime1.JSX.Element;
5
5
  //#endregion
6
6
  export { SearchResultsWidget };
@@ -1,3 +1,5 @@
1
+ const require_SearchResults = require('./SearchResults.cjs');
1
2
  const require_SearchResultsWidget = require('./SearchResultsWidget.cjs');
2
3
 
4
+ exports.SearchResults = require_SearchResults.SearchResults;
3
5
  exports.SearchResultsWidget = require_SearchResultsWidget.SearchResultsWidget;
@@ -1,2 +1,3 @@
1
1
  import { SearchResultsWidget } from "./SearchResultsWidget.cjs";
2
- export { SearchResultsWidget };
2
+ import { SearchResults } from "./SearchResults.cjs";
3
+ export { SearchResults, SearchResultsWidget };
@@ -1,2 +1,3 @@
1
1
  import { SearchResultsWidget } from "./SearchResultsWidget.js";
2
- export { SearchResultsWidget };
2
+ import { SearchResults } from "./SearchResults.js";
3
+ export { SearchResults, SearchResultsWidget };
@@ -1,3 +1,4 @@
1
+ import { SearchResults } from "./SearchResults.js";
1
2
  import { SearchResultsWidget } from "./SearchResultsWidget.js";
2
3
 
3
- export { SearchResultsWidget };
4
+ export { SearchResults, SearchResultsWidget };
@@ -0,0 +1,17 @@
1
+ import { WidgetType } from "../config/WidgetType.cjs";
2
+ import { BaseWidgetConfig } from "../config/BaseWidgetConfig.cjs";
3
+ import { SearchFilterSidebarVariant } from "@envive-ai/react-toolkit/SearchResultsFilterSidebar";
4
+ import { ProductGridVariant } from "@envive-ai/react-toolkit/ProductCard";
5
+
6
+ //#region src/SearchResults/types.d.ts
7
+ type SearchInputVariant = 'standard';
8
+ interface SearchResultsEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchResultsEntryPoint> {
9
+ searchInputVariant: SearchInputVariant;
10
+ searchFilterSidebarVariant: SearchFilterSidebarVariant;
11
+ productGridVariant: ProductGridVariant;
12
+ searchBoxPlaceholder: string;
13
+ noResultsFoundText?: string;
14
+ isSearchInputSticky?: boolean;
15
+ }
16
+ //#endregion
17
+ export { SearchResultsEntryPointWidgetConfig };
@@ -0,0 +1,17 @@
1
+ import { WidgetType } from "../config/WidgetType.js";
2
+ import { BaseWidgetConfig } from "../config/BaseWidgetConfig.js";
3
+ import { SearchFilterSidebarVariant } from "@envive-ai/react-toolkit/SearchResultsFilterSidebar";
4
+ import { ProductGridVariant } from "@envive-ai/react-toolkit/ProductCard";
5
+
6
+ //#region src/SearchResults/types.d.ts
7
+ type SearchInputVariant = 'standard';
8
+ interface SearchResultsEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchResultsEntryPoint> {
9
+ searchInputVariant: SearchInputVariant;
10
+ searchFilterSidebarVariant: SearchFilterSidebarVariant;
11
+ productGridVariant: ProductGridVariant;
12
+ searchBoxPlaceholder: string;
13
+ noResultsFoundText?: string;
14
+ isSearchInputSticky?: boolean;
15
+ }
16
+ //#endregion
17
+ export { SearchResultsEntryPointWidgetConfig };
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_SuggestionBar = require('../SuggestionBar/SuggestionBar.cjs');
3
- require('../SuggestionBar/index.cjs');
4
2
  const require_Sparkles = require('../packages/icons/dist/Sparkles.cjs');
5
3
  const require_IconCloseVariant = require('../packages/icons/dist/IconCloseVariant.cjs');
4
+ const require_SuggestionBar = require('../SuggestionBar/SuggestionBar.cjs');
5
+ require('../SuggestionBar/index.cjs');
6
6
  const require_SearchOverlay = require('./SearchOverlay.cjs');
7
7
  const require_zeroStateSearchVariants = require('./zeroStateSearchVariants.cjs');
8
8
  const require_SearchIcon = require('./SearchIcon.cjs');
@@ -1,7 +1,7 @@
1
- import { SuggestionBar } from "../SuggestionBar/SuggestionBar.js";
2
- import "../SuggestionBar/index.js";
3
1
  import { Sparkles_default } from "../packages/icons/dist/Sparkles.js";
4
2
  import { IconCloseVariant_default } from "../packages/icons/dist/IconCloseVariant.js";
3
+ import { SuggestionBar } from "../SuggestionBar/SuggestionBar.js";
4
+ import "../SuggestionBar/index.js";
5
5
  import { SearchOverlay } from "./SearchOverlay.js";
6
6
  import { searchZeroStateVariantClasses } from "./zeroStateSearchVariants.js";
7
7
  import { SearchIcon } from "./SearchIcon.js";
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/SearchZeroState/SearchZeroStateWidget.d.ts
4
4
  type SearchZeroStateWidgetProps = {
@@ -10,6 +10,6 @@ declare const SearchZeroStateWidget: ({
10
10
  initialIsOpen,
11
11
  widgetConfigId,
12
12
  entryPointRef
13
- }: SearchZeroStateWidgetProps) => react_jsx_runtime1.JSX.Element;
13
+ }: SearchZeroStateWidgetProps) => react_jsx_runtime0.JSX.Element;
14
14
  //#endregion
15
15
  export { SearchZeroStateWidget };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/SearchZeroState/SearchZeroStateWidget.d.ts
4
4
  type SearchZeroStateWidgetProps = {
@@ -10,6 +10,6 @@ declare const SearchZeroStateWidget: ({
10
10
  initialIsOpen,
11
11
  widgetConfigId,
12
12
  entryPointRef
13
- }: SearchZeroStateWidgetProps) => react_jsx_runtime1.JSX.Element;
13
+ }: SearchZeroStateWidgetProps) => react_jsx_runtime2.JSX.Element;
14
14
  //#endregion
15
15
  export { SearchZeroStateWidget };
@@ -1,5 +1,4 @@
1
- import { SearchEntryPointWidgetConfig, SearchInputVariant } from "../hooks/dist/contexts/types.cjs";
2
- import { SearchZeroStateProps } from "./types.cjs";
1
+ import { SearchEntryPointWidgetConfig, SearchInputVariant, SearchZeroStateProps } from "./types.cjs";
3
2
  import { SearchZeroState } from "./SearchZeroState.cjs";
4
3
  import { SearchZeroStateWidget } from "./SearchZeroStateWidget.cjs";
5
4
  export { SearchEntryPointWidgetConfig, SearchInputVariant, SearchZeroState, SearchZeroStateProps, SearchZeroStateWidget };
@@ -1,5 +1,4 @@
1
- import { SearchEntryPointWidgetConfig, SearchInputVariant } from "../packages/hooks/dist/contexts/types.js";
2
- import { SearchZeroStateProps } from "./types.js";
1
+ import { SearchEntryPointWidgetConfig, SearchInputVariant, SearchZeroStateProps } from "./types.js";
3
2
  import { SearchZeroState } from "./SearchZeroState.js";
4
3
  import { SearchZeroStateWidget } from "./SearchZeroStateWidget.js";
5
4
  export { SearchEntryPointWidgetConfig, SearchInputVariant, SearchZeroState, SearchZeroStateProps, SearchZeroStateWidget };
@@ -1,4 +1,4 @@
1
- import { SearchEntryPointWidgetConfig, SearchInputVariant } from "../hooks/dist/contexts/types.cjs";
1
+ import { SearchEntryPointWidgetConfig, SearchInputVariant } from "@envive-ai/react-hooks/contexts/types";
2
2
 
3
3
  //#region src/SearchZeroState/types.d.ts
4
4
  interface SearchZeroStateProps {
@@ -7,4 +7,4 @@ interface SearchZeroStateProps {
7
7
  entryPointRef?: React.Ref<HTMLButtonElement>;
8
8
  }
9
9
  //#endregion
10
- export { SearchZeroStateProps };
10
+ export { type SearchEntryPointWidgetConfig, type SearchInputVariant, SearchZeroStateProps };
@@ -1,4 +1,4 @@
1
- import { SearchEntryPointWidgetConfig, SearchInputVariant } from "../packages/hooks/dist/contexts/types.js";
1
+ import { SearchEntryPointWidgetConfig, SearchInputVariant } from "@envive-ai/react-hooks/contexts/types";
2
2
 
3
3
  //#region src/SearchZeroState/types.d.ts
4
4
  interface SearchZeroStateProps {
@@ -7,4 +7,4 @@ interface SearchZeroStateProps {
7
7
  entryPointRef?: React.Ref<HTMLButtonElement>;
8
8
  }
9
9
  //#endregion
10
- export { SearchZeroStateProps };
10
+ export { type SearchEntryPointWidgetConfig, type SearchInputVariant, SearchZeroStateProps };
@@ -1,17 +1,17 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_SuggestionButtonContainer = require('../SuggestionButtonContainer/SuggestionButtonContainer.cjs');
3
+ require('../SuggestionButtonContainer/index.cjs');
2
4
  const require_index = require('../node_modules/react-indiana-drag-scroll/dist/index.cjs');
3
5
  const require_v4 = require('../node_modules/uuid/dist-node/v4.cjs');
4
6
  const require_types = require('./types.cjs');
5
- const require_SuggestionButtonContainer = require('../SuggestionButtonContainer/SuggestionButtonContainer.cjs');
6
- require('../SuggestionButtonContainer/index.cjs');
7
7
  let react = require("react");
8
8
  let jotai = require("jotai");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
10
10
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
11
- let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
12
11
  let __envive_ai_react_hooks_config = require("@envive-ai/react-hooks/config");
13
12
  let __envive_ai_react_hooks_hooks_IsSmallScreen = require("@envive-ai/react-hooks/hooks/IsSmallScreen");
14
13
  let __envive_ai_react_hooks_hooks_TrackComponentVisibleEvent = require("@envive-ai/react-hooks/hooks/TrackComponentVisibleEvent");
14
+ let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
15
15
 
16
16
  //#region src/SuggestionBar/SuggestionBar.tsx
17
17
  var import_dist = require_index.default;
@@ -1,6 +1,6 @@
1
- import { SuggestionButtonVariant } from "../hooks/dist/contexts/types.cjs";
2
1
  import { SuggestionBarLocationForMetrics } from "./types.cjs";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
3
+ import { SuggestionButtonVariant } from "@envive-ai/react-hooks/contexts/types";
4
4
  import { Message } from "postcss";
5
5
 
6
6
  //#region src/SuggestionBar/SuggestionBar.d.ts
@@ -29,6 +29,6 @@ declare function SuggestionBar({
29
29
  buttonBorderRadius,
30
30
  handleReply,
31
31
  dataTestId
32
- }: Readonly<SuggestionBarProps>): react_jsx_runtime0.JSX.Element;
32
+ }: Readonly<SuggestionBarProps>): react_jsx_runtime3.JSX.Element;
33
33
  //#endregion
34
34
  export { SuggestionBar };
@@ -1,6 +1,6 @@
1
- import { SuggestionButtonVariant } from "../packages/hooks/dist/contexts/types.js";
2
1
  import { SuggestionBarLocationForMetrics } from "./types.js";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
3
+ import { SuggestionButtonVariant } from "@envive-ai/react-hooks/contexts/types";
4
4
  import { Message } from "postcss";
5
5
 
6
6
  //#region src/SuggestionBar/SuggestionBar.d.ts
@@ -29,6 +29,6 @@ declare function SuggestionBar({
29
29
  buttonBorderRadius,
30
30
  handleReply,
31
31
  dataTestId
32
- }: Readonly<SuggestionBarProps>): react_jsx_runtime0.JSX.Element;
32
+ }: Readonly<SuggestionBarProps>): react_jsx_runtime3.JSX.Element;
33
33
  //#endregion
34
34
  export { SuggestionBar };
@@ -1,16 +1,16 @@
1
- import v4_default from "../node_modules/uuid/dist/v4.js";
2
- import { SuggestionBarLocationForMetrics } from "./types.js";
3
1
  import { SuggestionButtonContainer } from "../SuggestionButtonContainer/SuggestionButtonContainer.js";
4
2
  import "../SuggestionButtonContainer/index.js";
3
+ import v4_default from "../node_modules/uuid/dist/v4.js";
4
+ import { SuggestionBarLocationForMetrics } from "./types.js";
5
5
  import { useCallback, useRef } from "react";
6
6
  import { useSetAtom } from "jotai";
7
7
  import { jsx } from "react/jsx-runtime";
8
- import { useScrollContainer } from "react-indiana-drag-scroll";
9
8
  import { MessageRole, MessageType, SpiffyWidgets } from "@envive-ai/react-hooks/application/models";
10
- import { PerfMetricsEvents, logPerfMetricAtom } from "@envive-ai/react-hooks/atoms/chat";
11
9
  import { SUGGESTION_BAR_TESTID } from "@envive-ai/react-hooks/config";
12
10
  import { useIsSmallScreen } from "@envive-ai/react-hooks/hooks/IsSmallScreen";
13
11
  import { useTrackComponentVisibleEvent } from "@envive-ai/react-hooks/hooks/TrackComponentVisibleEvent";
12
+ import { useScrollContainer } from "react-indiana-drag-scroll";
13
+ import { PerfMetricsEvents, logPerfMetricAtom } from "@envive-ai/react-hooks/atoms/chat";
14
14
 
15
15
  //#region src/SuggestionBar/SuggestionBar.tsx
16
16
  function SuggestionBar({ id, locationForMetrics, buttonTexts, buttonVariation, hoverButtonVariation, boldFirstButton = false, twoRowsOnMobile = false, animationSpeed = "none", buttonBorderRadius = "lg", handleReply, dataTestId }) {
@@ -2,11 +2,11 @@ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_useHorizontalScrollAnimation = require('../util/useHorizontalScrollAnimation.cjs');
3
3
  let react = require("react");
4
4
  let react_jsx_runtime = require("react/jsx-runtime");
5
+ let __envive_ai_react_toolkit_SuggestionButton = require("@envive-ai/react-toolkit/SuggestionButton");
5
6
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
6
7
  let __envive_ai_react_hooks_config = require("@envive-ai/react-hooks/config");
7
8
  let __envive_ai_react_hooks_hooks_IsSmallScreen = require("@envive-ai/react-hooks/hooks/IsSmallScreen");
8
9
  let __envive_ai_react_hooks_hooks_TrackComponentVisibleEvent = require("@envive-ai/react-hooks/hooks/TrackComponentVisibleEvent");
9
- let __envive_ai_react_toolkit_SuggestionButton = require("@envive-ai/react-toolkit/SuggestionButton");
10
10
 
11
11
  //#region src/SuggestionButtonContainer/SuggestionButtonContainer.tsx
12
12
  function ButtonContainer({ children }) {
@@ -1,11 +1,11 @@
1
1
  import { useHorizontalScrollAnimation } from "../util/useHorizontalScrollAnimation.js";
2
2
  import { useRef } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { SuggestionButton } from "@envive-ai/react-toolkit/SuggestionButton";
4
5
  import { SpiffyWidgets } from "@envive-ai/react-hooks/application/models";
5
6
  import { SUGGESTION_BAR_BUTTON_TESTID } from "@envive-ai/react-hooks/config";
6
7
  import { useIsSmallScreen } from "@envive-ai/react-hooks/hooks/IsSmallScreen";
7
8
  import { useTrackComponentVisibleEvent } from "@envive-ai/react-hooks/hooks/TrackComponentVisibleEvent";
8
- import { SuggestionButton } from "@envive-ai/react-toolkit/SuggestionButton";
9
9
 
10
10
  //#region src/SuggestionButtonContainer/SuggestionButtonContainer.tsx
11
11
  function ButtonContainer({ children }) {
@@ -1,5 +1,5 @@
1
- import { TestProps } from "../hooks/dist/types/test-types.cjs";
2
- import { SuggestionButtonVariant } from "../hooks/dist/contexts/types.cjs";
1
+ import { SuggestionButtonVariant } from "@envive-ai/react-hooks/contexts/types";
2
+ import { TestProps } from "@envive-ai/react-hooks/types";
3
3
 
4
4
  //#region src/SuggestionButtonContainer/types.d.ts
5
5
  interface SuggestionButtonContainerProps extends TestProps {
@@ -1,5 +1,5 @@
1
- import { TestProps } from "../packages/hooks/dist/types/test-types.js";
2
- import { SuggestionButtonVariant } from "../packages/hooks/dist/contexts/types.js";
1
+ import { TestProps } from "@envive-ai/react-hooks/types";
2
+ import { SuggestionButtonVariant } from "@envive-ai/react-hooks/contexts/types";
3
3
 
4
4
  //#region src/SuggestionButtonContainer/types.d.ts
5
5
  interface SuggestionButtonContainerProps extends TestProps {
@@ -5,9 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJS = (cb, mod) => function() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
8
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
11
9
  var __copyProps = (to, from, except, desc) => {
12
10
  if (from && typeof from === "object" || typeof from === "function") {
13
11
  for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
@@ -29,5 +27,5 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
27
 
30
28
  //#endregion
31
29
 
32
- exports.__commonJS = __commonJS;
30
+ exports.__commonJSMin = __commonJSMin;
33
31
  exports.__toESM = __toESM;
@@ -0,0 +1,10 @@
1
+ import { WidgetType } from "./WidgetType.cjs";
2
+
3
+ //#region src/config/BaseWidgetConfig.d.ts
4
+ interface BaseWidgetConfig<T extends WidgetType> {
5
+ widgetConfigId: string;
6
+ type: T;
7
+ contentId?: string;
8
+ }
9
+ //#endregion
10
+ export { BaseWidgetConfig };
@@ -0,0 +1,10 @@
1
+ import { WidgetType } from "./WidgetType.js";
2
+
3
+ //#region src/config/BaseWidgetConfig.d.ts
4
+ interface BaseWidgetConfig<T extends WidgetType> {
5
+ widgetConfigId: string;
6
+ type: T;
7
+ contentId?: string;
8
+ }
9
+ //#endregion
10
+ export { BaseWidgetConfig };
@@ -0,0 +1,21 @@
1
+ //#region src/config/WidgetType.d.ts
2
+ declare enum WidgetType {
3
+ ChatPreview = "ChatPreview",
4
+ SocialProofV2 = "SocialProofV2",
5
+ ChatPreviewV2 = "ChatPreviewV2",
6
+ ChatPreviewIsLoading = "ChatPreviewIsLoading",
7
+ ChatPreviewPostInteraction = "ChatPreviewPostInteraction",
8
+ ChatPreviewProductComparison = "ChatPreviewProductComparison",
9
+ SuggestionBar = "SuggestionBar",
10
+ SuggestionBarV2 = "SuggestionBarV2",
11
+ ImagePromptCard = "ImagePromptCard",
12
+ ImageBanner = "ImageBanner",
13
+ SingleImagePrompt = "SingleImagePrompt",
14
+ SearchPrompt = "SearchPrompt",
15
+ SearchZeroStateEntryPoint = "SearchZeroStateEntryPoint",
16
+ SearchResultsEntryPoint = "SearchResultsEntryPoint",
17
+ SearchOverlayHost = "SearchOverlayHost",
18
+ NoOp = "NoOp",
19
+ }
20
+ //#endregion
21
+ export { WidgetType };
@@ -0,0 +1,21 @@
1
+ //#region src/config/WidgetType.d.ts
2
+ declare enum WidgetType {
3
+ ChatPreview = "ChatPreview",
4
+ SocialProofV2 = "SocialProofV2",
5
+ ChatPreviewV2 = "ChatPreviewV2",
6
+ ChatPreviewIsLoading = "ChatPreviewIsLoading",
7
+ ChatPreviewPostInteraction = "ChatPreviewPostInteraction",
8
+ ChatPreviewProductComparison = "ChatPreviewProductComparison",
9
+ SuggestionBar = "SuggestionBar",
10
+ SuggestionBarV2 = "SuggestionBarV2",
11
+ ImagePromptCard = "ImagePromptCard",
12
+ ImageBanner = "ImageBanner",
13
+ SingleImagePrompt = "SingleImagePrompt",
14
+ SearchPrompt = "SearchPrompt",
15
+ SearchZeroStateEntryPoint = "SearchZeroStateEntryPoint",
16
+ SearchResultsEntryPoint = "SearchResultsEntryPoint",
17
+ SearchOverlayHost = "SearchOverlayHost",
18
+ NoOp = "NoOp",
19
+ }
20
+ //#endregion
21
+ export { WidgetType };
@@ -3,7 +3,7 @@
3
3
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
4
4
 
5
5
  //#region ../../node_modules/react-indiana-drag-scroll/dist/index.js
6
- var require_dist = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react-indiana-drag-scroll/dist/index.js": ((exports) => {
6
+ var require_dist = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports) => {
7
7
  Object.defineProperty(exports, "__esModule", { value: !0 });
8
8
  var e = require("react");
9
9
  function t(e$1) {
@@ -309,7 +309,7 @@ var require_dist = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../
309
309
  }, y), i$1);
310
310
  }));
311
311
  exports.ScrollContainer = v, exports.default = v, exports.useScrollContainer = d;
312
- }) });
312
+ }));
313
313
 
314
314
  //#endregion
315
315
  Object.defineProperty(exports, 'default', {
@@ -6,9 +6,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __commonJS = (cb, mod) => function() {
10
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
- };
9
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
12
10
  var __copyProps = (to, from, except, desc) => {
13
11
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
14
12
  key = keys[i];
@@ -25,5 +23,5 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
23
  }) : target, mod));
26
24
 
27
25
  //#endregion
28
- exports.__commonJS = __commonJS;
26
+ exports.__commonJSMin = __commonJSMin;
29
27
  exports.__toESM = __toESM;
@@ -5,9 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJS = (cb, mod) => function() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
8
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
11
9
  var __copyProps = (to, from, except, desc) => {
12
10
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
13
11
  key = keys[i];
@@ -24,4 +22,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
22
  }) : target, mod));
25
23
 
26
24
  //#endregion
27
- export { __commonJS, __toESM };
25
+ export { __commonJSMin, __toESM };
@@ -11,7 +11,7 @@ const require_index = require('../index.cjs');
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
- var require_react_jsx_runtime_development = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react/cjs/react-jsx-runtime.development.js": ((exports$1) => {
14
+ var require_react_jsx_runtime_development = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports$1) => {
15
15
  if (process.env.NODE_ENV !== "production") (function() {
16
16
  "use strict";
17
17
  var React = require_index.require_react();
@@ -689,7 +689,7 @@ var require_react_jsx_runtime_development = /* @__PURE__ */ require_rolldown_run
689
689
  exports$1.jsx = jsx;
690
690
  exports$1.jsxs = jsxs;
691
691
  })();
692
- }) });
692
+ }));
693
693
  var react_jsx_runtime_development_default = require_react_jsx_runtime_development();
694
694
 
695
695
  //#endregion
@@ -1,4 +1,4 @@
1
- import { __commonJS } from "../../../_virtual/rolldown_runtime.js";
1
+ import { __commonJSMin } from "../../../_virtual/rolldown_runtime.js";
2
2
  import { require_react } from "../index.js";
3
3
 
4
4
  //#region ../icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js
@@ -11,7 +11,7 @@ import { require_react } from "../index.js";
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
- var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJS({ "../../node_modules/react/cjs/react-jsx-runtime.development.js": ((exports) => {
14
+ var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJSMin(((exports) => {
15
15
  if (process.env.NODE_ENV !== "production") (function() {
16
16
  "use strict";
17
17
  var React = require_react();
@@ -689,7 +689,7 @@ var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJS({ "../../
689
689
  exports.jsx = jsx;
690
690
  exports.jsxs = jsxs;
691
691
  })();
692
- }) });
692
+ }));
693
693
  var react_jsx_runtime_development_default = require_react_jsx_runtime_development();
694
694
 
695
695
  //#endregion
@@ -11,7 +11,7 @@ const require_index = require('../index.cjs');
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
- var require_react_jsx_runtime_production_min = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react/cjs/react-jsx-runtime.production.min.js": ((exports$1) => {
14
+ var require_react_jsx_runtime_production_min = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports$1) => {
15
15
  var f = require_index.require_react(), k = Symbol.for("react.element"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = {
16
16
  key: !0,
17
17
  ref: !0,
@@ -36,7 +36,7 @@ var require_react_jsx_runtime_production_min = /* @__PURE__ */ require_rolldown_
36
36
  }
37
37
  exports$1.jsx = q;
38
38
  exports$1.jsxs = q;
39
- }) });
39
+ }));
40
40
  var react_jsx_runtime_production_min_default = require_react_jsx_runtime_production_min();
41
41
 
42
42
  //#endregion
@@ -1,4 +1,4 @@
1
- import { __commonJS } from "../../../_virtual/rolldown_runtime.js";
1
+ import { __commonJSMin } from "../../../_virtual/rolldown_runtime.js";
2
2
  import { require_react } from "../index.js";
3
3
 
4
4
  //#region ../icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js
@@ -11,7 +11,7 @@ import { require_react } from "../index.js";
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
- var require_react_jsx_runtime_production_min = /* @__PURE__ */ __commonJS({ "../../node_modules/react/cjs/react-jsx-runtime.production.min.js": ((exports) => {
14
+ var require_react_jsx_runtime_production_min = /* @__PURE__ */ __commonJSMin(((exports) => {
15
15
  var f = require_react(), k = Symbol.for("react.element"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = {
16
16
  key: !0,
17
17
  ref: !0,
@@ -36,7 +36,7 @@ var require_react_jsx_runtime_production_min = /* @__PURE__ */ __commonJS({ "../
36
36
  }
37
37
  exports.jsx = q;
38
38
  exports.jsxs = q;
39
- }) });
39
+ }));
40
40
  var react_jsx_runtime_production_min_default = require_react_jsx_runtime_production_min();
41
41
 
42
42
  //#endregion
@@ -10,7 +10,7 @@ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs
10
10
  * This source code is licensed under the MIT license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
- var require_react_development = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react/cjs/react.development.js": ((exports$1, module$1) => {
13
+ var require_react_development = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports$1, module$1) => {
14
14
  if (process.env.NODE_ENV !== "production") (function() {
15
15
  "use strict";
16
16
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(/* @__PURE__ */ new Error());
@@ -1521,7 +1521,7 @@ var require_react_development = /* @__PURE__ */ require_rolldown_runtime.__commo
1521
1521
  exports$1.version = ReactVersion;
1522
1522
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(/* @__PURE__ */ new Error());
1523
1523
  })();
1524
- }) });
1524
+ }));
1525
1525
  var react_development_default = require_react_development();
1526
1526
 
1527
1527
  //#endregion
@@ -1,4 +1,4 @@
1
- import { __commonJS } from "../../../_virtual/rolldown_runtime.js";
1
+ import { __commonJSMin } from "../../../_virtual/rolldown_runtime.js";
2
2
 
3
3
  //#region ../icons/dist/node_modules/react/cjs/react.development.js
4
4
  /**
@@ -10,7 +10,7 @@ import { __commonJS } from "../../../_virtual/rolldown_runtime.js";
10
10
  * This source code is licensed under the MIT license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
- var require_react_development = /* @__PURE__ */ __commonJS({ "../../node_modules/react/cjs/react.development.js": ((exports, module) => {
13
+ var require_react_development = /* @__PURE__ */ __commonJSMin(((exports, module) => {
14
14
  if (process.env.NODE_ENV !== "production") (function() {
15
15
  "use strict";
16
16
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(/* @__PURE__ */ new Error());
@@ -1521,7 +1521,7 @@ var require_react_development = /* @__PURE__ */ __commonJS({ "../../node_modules
1521
1521
  exports.version = ReactVersion;
1522
1522
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(/* @__PURE__ */ new Error());
1523
1523
  })();
1524
- }) });
1524
+ }));
1525
1525
  var react_development_default = require_react_development();
1526
1526
 
1527
1527
  //#endregion
@@ -10,7 +10,7 @@ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs
10
10
  * This source code is licensed under the MIT license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
- var require_react_production_min = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react/cjs/react.production.min.js": ((exports$1) => {
13
+ var require_react_production_min = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports$1) => {
14
14
  var l = Symbol.for("react.element"), n = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), q = Symbol.for("react.strict_mode"), r = Symbol.for("react.profiler"), t = Symbol.for("react.provider"), u = Symbol.for("react.context"), v = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), x = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), z = Symbol.iterator;
15
15
  function A(a) {
16
16
  if (null === a || "object" !== typeof a) return null;
@@ -322,7 +322,7 @@ var require_react_production_min = /* @__PURE__ */ require_rolldown_runtime.__co
322
322
  return U.current.useTransition();
323
323
  };
324
324
  exports$1.version = "18.3.1";
325
- }) });
325
+ }));
326
326
  var react_production_min_default = require_react_production_min();
327
327
 
328
328
  //#endregion
@@ -1,4 +1,4 @@
1
- import { __commonJS } from "../../../_virtual/rolldown_runtime.js";
1
+ import { __commonJSMin } from "../../../_virtual/rolldown_runtime.js";
2
2
 
3
3
  //#region ../icons/dist/node_modules/react/cjs/react.production.min.js
4
4
  /**
@@ -10,7 +10,7 @@ import { __commonJS } from "../../../_virtual/rolldown_runtime.js";
10
10
  * This source code is licensed under the MIT license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
- var require_react_production_min = /* @__PURE__ */ __commonJS({ "../../node_modules/react/cjs/react.production.min.js": ((exports) => {
13
+ var require_react_production_min = /* @__PURE__ */ __commonJSMin(((exports) => {
14
14
  var l = Symbol.for("react.element"), n = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), q = Symbol.for("react.strict_mode"), r = Symbol.for("react.profiler"), t = Symbol.for("react.provider"), u = Symbol.for("react.context"), v = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), x = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), z = Symbol.iterator;
15
15
  function A(a) {
16
16
  if (null === a || "object" !== typeof a) return null;
@@ -322,7 +322,7 @@ var require_react_production_min = /* @__PURE__ */ __commonJS({ "../../node_modu
322
322
  return U.current.useTransition();
323
323
  };
324
324
  exports.version = "18.3.1";
325
- }) });
325
+ }));
326
326
  var react_production_min_default = require_react_production_min();
327
327
 
328
328
  //#endregion
@@ -3,10 +3,10 @@ const require_react_production_min$1 = require('./cjs/react.production.min.cjs')
3
3
  const require_react_development$1 = require('./cjs/react.development.cjs');
4
4
 
5
5
  //#region ../icons/dist/node_modules/react/index.js
6
- var require_react = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react/index.js": ((exports$1, module$1) => {
6
+ var require_react = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports$1, module$1) => {
7
7
  if (process.env.NODE_ENV === "production") module$1.exports = require_react_production_min$1.require_react_production_min();
8
8
  else module$1.exports = require_react_development$1.require_react_development();
9
- }) });
9
+ }));
10
10
  var react_default = require_react();
11
11
 
12
12
  //#endregion
@@ -1,12 +1,12 @@
1
- import { __commonJS } from "../../_virtual/rolldown_runtime.js";
1
+ import { __commonJSMin } from "../../_virtual/rolldown_runtime.js";
2
2
  import { require_react_production_min } from "./cjs/react.production.min.js";
3
3
  import { require_react_development } from "./cjs/react.development.js";
4
4
 
5
5
  //#region ../icons/dist/node_modules/react/index.js
6
- var require_react = /* @__PURE__ */ __commonJS({ "../../node_modules/react/index.js": ((exports, module) => {
6
+ var require_react = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7
7
  if (process.env.NODE_ENV === "production") module.exports = require_react_production_min();
8
8
  else module.exports = require_react_development();
9
- }) });
9
+ }));
10
10
  var react_default = require_react();
11
11
 
12
12
  //#endregion
@@ -3,10 +3,10 @@ const require_react_jsx_runtime_production_min$1 = require('./cjs/react-jsx-runt
3
3
  const require_react_jsx_runtime_development$1 = require('./cjs/react-jsx-runtime.development.cjs');
4
4
 
5
5
  //#region ../icons/dist/node_modules/react/jsx-runtime.js
6
- var require_jsx_runtime = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/react/jsx-runtime.js": ((exports$1, module$1) => {
6
+ var require_jsx_runtime = /* @__PURE__ */ require_rolldown_runtime.__commonJSMin(((exports$1, module$1) => {
7
7
  if (process.env.NODE_ENV === "production") module$1.exports = require_react_jsx_runtime_production_min$1.require_react_jsx_runtime_production_min();
8
8
  else module$1.exports = require_react_jsx_runtime_development$1.require_react_jsx_runtime_development();
9
- }) });
9
+ }));
10
10
  var jsx_runtime_default = require_jsx_runtime();
11
11
 
12
12
  //#endregion
@@ -1,12 +1,12 @@
1
- import { __commonJS } from "../../_virtual/rolldown_runtime.js";
1
+ import { __commonJSMin } from "../../_virtual/rolldown_runtime.js";
2
2
  import { require_react_jsx_runtime_production_min } from "./cjs/react-jsx-runtime.production.min.js";
3
3
  import { require_react_jsx_runtime_development } from "./cjs/react-jsx-runtime.development.js";
4
4
 
5
5
  //#region ../icons/dist/node_modules/react/jsx-runtime.js
6
- var require_jsx_runtime = /* @__PURE__ */ __commonJS({ "../../node_modules/react/jsx-runtime.js": ((exports, module) => {
6
+ var require_jsx_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7
7
  if (process.env.NODE_ENV === "production") module.exports = require_react_jsx_runtime_production_min();
8
8
  else module.exports = require_react_jsx_runtime_development();
9
- }) });
9
+ }));
10
10
  var jsx_runtime_default = require_jsx_runtime();
11
11
 
12
12
  //#endregion
@@ -0,0 +1 @@
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter Variable,Poppins,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.spiffy-tw-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.spiffy-tw-pointer-events-none{pointer-events:none}.spiffy-tw-fixed{position:fixed}.spiffy-tw-absolute{position:absolute}.spiffy-tw-relative{position:relative}.spiffy-tw-sticky{position:sticky}.-spiffy-tw-top-\[2px\]{top:-2px}.-spiffy-tw-top-\[7px\]{top:-7px}.spiffy-tw-bottom-\[0\],.spiffy-tw-bottom-\[0px\]{bottom:0}.spiffy-tw-left-3{left:12px}.spiffy-tw-left-\[0\]{left:0}.spiffy-tw-left-\[10px\]{left:10px}.spiffy-tw-left-\[12px\]{left:12px}.spiffy-tw-right-5{right:20px}.spiffy-tw-right-\[0\]{right:0}.spiffy-tw-top-1\/2{top:50%}.spiffy-tw-top-\[0\],.spiffy-tw-top-\[0px\]{top:0}.spiffy-tw-top-\[1px\]{top:1px}.spiffy-tw-z-10{z-index:10}.spiffy-tw-z-20{z-index:20}.spiffy-tw-z-\[100\]{z-index:100}.spiffy-tw-z-\[2147483647\]{z-index:2147483647}.spiffy-tw-mb-4{margin-bottom:16px}.spiffy-tw-mb-\[100vh\]{margin-bottom:100vh}.spiffy-tw-mb-\[16px\]{margin-bottom:16px}.spiffy-tw-mb-\[32px\]{margin-bottom:32px}.spiffy-tw-mb-\[8px\]{margin-bottom:8px}.spiffy-tw-ml-\[16px\]{margin-left:16px}.spiffy-tw-mr-\[16px\]{margin-right:16px}.spiffy-tw-mt-6{margin-top:24px}.spiffy-tw-mt-\[16px\]{margin-top:16px}.spiffy-tw-mt-\[24px\]{margin-top:24px}.spiffy-tw-mt-\[8px\]{margin-top:8px}.spiffy-tw-line-clamp-1{-webkit-line-clamp:1}.spiffy-tw-line-clamp-1,.spiffy-tw-line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.spiffy-tw-line-clamp-2{-webkit-line-clamp:2}.spiffy-tw-line-clamp-3{-webkit-line-clamp:3}.spiffy-tw-line-clamp-3,.spiffy-tw-line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.spiffy-tw-line-clamp-4{-webkit-line-clamp:4}.spiffy-tw-line-clamp-5{-webkit-line-clamp:5}.spiffy-tw-line-clamp-5,.spiffy-tw-line-clamp-6{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.spiffy-tw-line-clamp-6{-webkit-line-clamp:6}.spiffy-tw-block{display:block}.spiffy-tw-inline-block{display:inline-block}.spiffy-tw-flex{display:flex}.spiffy-tw-grid{display:grid}.spiffy-tw-hidden{display:none}.spiffy-tw-aspect-\[3\/4\]{aspect-ratio:3/4}.spiffy-tw-aspect-square{aspect-ratio:1/1}.spiffy-tw-h-2{height:8px}.spiffy-tw-h-4{height:16px}.spiffy-tw-h-6{height:24px}.spiffy-tw-h-\[11px\]{height:11px}.spiffy-tw-h-\[14px\]{height:14px}.spiffy-tw-h-\[15px\]{height:15px}.spiffy-tw-h-\[16px\]{height:16px}.spiffy-tw-h-\[21px\]{height:21px}.spiffy-tw-h-\[24px\]{height:24px}.spiffy-tw-h-\[268px\]{height:268px}.spiffy-tw-h-\[28px\]{height:28px}.spiffy-tw-h-\[32px\]{height:32px}.spiffy-tw-h-\[89\%\]{height:89%}.spiffy-tw-h-full{height:100%}.spiffy-tw-h-screen{height:100vh}.spiffy-tw-max-h-\[89\%\]{max-height:89%}.spiffy-tw-max-h-full{max-height:100%}.spiffy-tw-max-h-screen{max-height:100vh}.spiffy-tw-min-h-\[36px\]{min-height:36px}.spiffy-tw-w-2{width:8px}.spiffy-tw-w-4{width:16px}.spiffy-tw-w-6{width:24px}.spiffy-tw-w-\[11px\]{width:11px}.spiffy-tw-w-\[14px\]{width:14px}.spiffy-tw-w-\[160px\]{width:160px}.spiffy-tw-w-\[16px\]{width:16px}.spiffy-tw-w-\[208px\]{width:208px}.spiffy-tw-w-\[21px\]{width:21px}.spiffy-tw-w-\[24px\]{width:24px}.spiffy-tw-w-\[28px\]{width:28px}.spiffy-tw-w-\[512px\]{width:512px}.spiffy-tw-w-\[60\%\]{width:60%}.spiffy-tw-w-full{width:100%}.spiffy-tw-max-w-full{max-width:100%}.spiffy-tw-flex-1{flex:1 1 0%}.spiffy-tw-flex-shrink-0{flex-shrink:0}.spiffy-tw-flex-grow{flex-grow:1}.spiffy-tw-flex-grow-0{flex-grow:0}.spiffy-tw-grow{flex-grow:1}.spiffy-tw-origin-top{transform-origin:top}.-spiffy-tw-translate-y-full{--tw-translate-y:-100%}.-spiffy-tw-translate-y-full,.spiffy-tw--translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.spiffy-tw--translate-y-1\/2{--tw-translate-y:-50%}@keyframes spiffy-tw-pulse{50%{opacity:.5}0%{border-color:#edf2f7;background:#edf2f7}to{border-color:#a0aec0;background:#a0aec0}}.spiffy-tw-animate-pulse{animation:spiffy-tw-pulse .8s linear infinite alternate}@keyframes spiffy-tw-spin{to{transform:rotate(1turn)}}.spiffy-tw-animate-spin{animation:spiffy-tw-spin 1s linear infinite}.spiffy-tw-cursor-not-allowed{cursor:not-allowed}.spiffy-tw-cursor-pointer{cursor:pointer}.spiffy-tw-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.spiffy-tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.spiffy-tw-flex-row{flex-direction:row}.spiffy-tw-flex-col{flex-direction:column}.spiffy-tw-flex-wrap{flex-wrap:wrap}.spiffy-tw-items-start{align-items:flex-start}.spiffy-tw-items-center{align-items:center}.spiffy-tw-items-stretch{align-items:stretch}.spiffy-tw-justify-end{justify-content:flex-end}.spiffy-tw-justify-center{justify-content:center}.spiffy-tw-justify-between{justify-content:space-between}.spiffy-tw-justify-items-stretch{justify-items:stretch}.spiffy-tw-gap-1{gap:4px}.spiffy-tw-gap-2{gap:8px}.spiffy-tw-gap-4,.spiffy-tw-gap-\[16px\]{gap:16px}.spiffy-tw-gap-\[4px\]{gap:4px}.spiffy-tw-gap-\[8px\]{gap:8px}.spiffy-tw-gap-x-\[4px\]{-moz-column-gap:4px;column-gap:4px}.spiffy-tw-gap-y-\[24px\]{row-gap:24px}.spiffy-tw-overflow-hidden{overflow:hidden}.spiffy-tw-overflow-clip{overflow:clip}.spiffy-tw-overflow-y-auto{overflow-y:auto}.spiffy-tw-overflow-x-hidden{overflow-x:hidden}.spiffy-tw-overflow-x-scroll{overflow-x:scroll}.spiffy-tw-whitespace-normal{white-space:normal}.spiffy-tw-whitespace-nowrap{white-space:nowrap}.\!spiffy-tw-rounded-\[0px\]{border-radius:0!important}.\!spiffy-tw-rounded-\[20px\]{border-radius:20px!important}.\!spiffy-tw-rounded-\[8px\]{border-radius:8px!important}.spiffy-tw-rounded-\[0px\]{border-radius:0}.spiffy-tw-rounded-\[200px\]{border-radius:200px}.spiffy-tw-rounded-\[20px\]{border-radius:20px}.spiffy-tw-rounded-\[64px\]{border-radius:64px}.spiffy-tw-rounded-\[8px\]{border-radius:8px}.spiffy-tw-rounded-\[99px\]{border-radius:99px}.spiffy-tw-rounded-full{border-radius:9999px}.spiffy-tw-rounded-sm{border-radius:2px}.spiffy-tw-rounded-b-lg{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.spiffy-tw-rounded-t-\[16px\]{border-top-left-radius:16px;border-top-right-radius:16px}.spiffy-tw-border{border-width:1px}.spiffy-tw-border-2{border-width:2px}.spiffy-tw-border-\[1px\]{border-width:1px}.spiffy-tw-border-b{border-bottom-width:1px}.spiffy-tw-border-t{border-top-width:1px}.spiffy-tw-border-t-0{border-top-width:0}.spiffy-tw-border-solid{border-style:solid}.spiffy-tw-border-\[--spiffy-colors-background-dark\]{border-color:var(--spiffy-colors-background-dark)}.spiffy-tw-border-\[--spiffy-colors-background-light\]{border-color:var(--spiffy-colors-background-light)}.spiffy-tw-border-\[--spiffy-colors-background-primary\]{border-color:var(--spiffy-colors-background-primary)}.spiffy-tw-border-\[--spiffy-colors-background-secondary-dark\]{border-color:var(--spiffy-colors-background-secondary-dark)}.spiffy-tw-border-\[--spiffy-colors-background-secondary\]{border-color:var(--spiffy-colors-background-secondary)}.spiffy-tw-border-\[--spiffy-colors-background-tertiary\]{border-color:var(--spiffy-colors-background-tertiary)}.spiffy-tw-border-\[--spiffy-colors-border-light\]{border-color:var(--spiffy-colors-border-light)}.spiffy-tw-border-\[--spiffy-colors-border-medium\]{border-color:var(--spiffy-colors-border-medium)}.spiffy-tw-border-\[--spiffy-colors-border-outline\]{border-color:var(--spiffy-colors-border-outline)}.spiffy-tw-border-b-\[--spiffy-colors-text-accent\]{border-bottom-color:var(--spiffy-colors-text-accent)}.spiffy-tw-border-t-\[--spiffy-colors-border-light\]{border-top-color:var(--spiffy-colors-border-light)}.spiffy-tw-bg-\[\#F4F4F6\]{--tw-bg-opacity:1;background-color:rgb(244 244 246/var(--tw-bg-opacity,1))}.spiffy-tw-bg-\[--spiffy-colors-accent-primary\]{background-color:var(--spiffy-colors-accent-primary)}.spiffy-tw-bg-\[--spiffy-colors-background-dark\]{background-color:var(--spiffy-colors-background-dark)}.spiffy-tw-bg-\[--spiffy-colors-background-light\]{background-color:var(--spiffy-colors-background-light)}.spiffy-tw-bg-\[--spiffy-colors-background-primary\]{background-color:var(--spiffy-colors-background-primary)}.spiffy-tw-bg-\[--spiffy-colors-background-secondary-dark\]{background-color:var(--spiffy-colors-background-secondary-dark)}.spiffy-tw-bg-\[--spiffy-colors-background-secondary\]{background-color:var(--spiffy-colors-background-secondary)}.spiffy-tw-bg-\[--spiffy-colors-background-tertiary\]{background-color:var(--spiffy-colors-background-tertiary)}.spiffy-tw-bg-\[--spiffy-colors-border-light\]{background-color:var(--spiffy-colors-border-light)}.spiffy-tw-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.spiffy-tw-bg-black\/30{background-color:rgba(0,0,0,.3)}.spiffy-tw-bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.spiffy-tw-bg-transparent{background-color:transparent}.spiffy-tw-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.spiffy-tw-fill-\[--spiffy-colors-accent-primary\]{fill:var(--spiffy-colors-accent-primary)}.spiffy-tw-fill-\[--spiffy-colors-text-accent\]{fill:var(--spiffy-colors-text-accent)}.spiffy-tw-fill-\[--spiffy-colors-text-light\]{fill:var(--spiffy-colors-text-light)}.spiffy-tw-fill-\[--spiffy-colors-text-link\]{fill:var(--spiffy-colors-text-link)}.spiffy-tw-fill-\[--spiffy-colors-text-primary\]{fill:var(--spiffy-colors-text-primary)}.spiffy-tw-fill-black{fill:#000}.spiffy-tw-fill-inherit{fill:inherit}.spiffy-tw-fill-transparent{fill:transparent}.spiffy-tw-stroke-\[--spiffy-colors-accent-primary\]{stroke:var(--spiffy-colors-accent-primary)}.spiffy-tw-stroke-\[--spiffy-colors-text-accent\]{stroke:var(--spiffy-colors-text-accent)}.spiffy-tw-stroke-\[--spiffy-colors-text-light\]{stroke:var(--spiffy-colors-text-light)}.spiffy-tw-stroke-\[--spiffy-colors-text-link\]{stroke:var(--spiffy-colors-text-link)}.spiffy-tw-stroke-\[--spiffy-colors-text-primary\]{stroke:var(--spiffy-colors-text-primary)}.spiffy-tw-stroke-inherit{stroke:inherit}.spiffy-tw-object-cover{-o-object-fit:cover;object-fit:cover}.spiffy-tw-object-center{-o-object-position:center;object-position:center}.spiffy-tw-object-top{-o-object-position:top;object-position:top}.spiffy-tw-p-2{padding:8px}.spiffy-tw-p-\[16px\]{padding:16px}.spiffy-tw-px-4{padding-left:16px;padding-right:16px}.spiffy-tw-px-\[12px\]{padding-left:12px;padding-right:12px}.spiffy-tw-px-\[16px\]{padding-left:16px;padding-right:16px}.spiffy-tw-px-\[24px\]{padding-left:24px;padding-right:24px}.spiffy-tw-px-\[42px\]{padding-left:42px;padding-right:42px}.spiffy-tw-px-\[8px\]{padding-left:8px;padding-right:8px}.spiffy-tw-py-2{padding-top:8px;padding-bottom:8px}.spiffy-tw-py-3{padding-top:12px;padding-bottom:12px}.spiffy-tw-py-\[16px\]{padding-top:16px;padding-bottom:16px}.spiffy-tw-py-\[4px\]{padding-top:4px;padding-bottom:4px}.spiffy-tw-py-\[8px\]{padding-top:8px;padding-bottom:8px}.spiffy-tw-pb-2{padding-bottom:8px}.spiffy-tw-pb-\[1px\]{padding-bottom:1px}.spiffy-tw-pb-\[8px\]{padding-bottom:8px}.spiffy-tw-pl-\[16px\]{padding-left:16px}.spiffy-tw-pr-2{padding-right:8px}.spiffy-tw-pt-2{padding-top:8px}.spiffy-tw-pt-4,.spiffy-tw-pt-\[16px\]{padding-top:16px}.spiffy-tw-pt-\[8px\]{padding-top:8px}.spiffy-tw-font-\[Poppins\,sans-serif\]{font-family:Poppins,sans-serif}.spiffy-tw-text-\[10px\]{font-size:10px}.spiffy-tw-text-\[14px\]{font-size:14px}.spiffy-tw-text-\[15px\]{font-size:15px}.spiffy-tw-text-\[16px\]{font-size:16px}.spiffy-tw-text-\[20px\]{font-size:20px}.spiffy-tw-text-\[24px\]{font-size:24px}.spiffy-tw-text-\[32px\]{font-size:32px}.spiffy-tw-text-sm{font-size:14px}.spiffy-tw-text-xs{font-size:12px}.\!spiffy-tw-font-\[400\]{font-weight:400!important}.\!spiffy-tw-font-bold{font-weight:700!important}.spiffy-tw-font-\[400\]{font-weight:400}.spiffy-tw-font-bold{font-weight:700}.spiffy-tw-font-medium{font-weight:500}.spiffy-tw-font-normal{font-weight:400}.spiffy-tw-font-semibold{font-weight:600}.spiffy-tw-uppercase{text-transform:uppercase}.spiffy-tw-normal-case{text-transform:none}.spiffy-tw-leading-\[100\%\]{line-height:100%}.spiffy-tw-leading-\[120\%\]{line-height:120%}.spiffy-tw-leading-\[124\%\]{line-height:124%}.spiffy-tw-leading-\[130\%\]{line-height:130%}.spiffy-tw-leading-\[140\%\]{line-height:140%}.spiffy-tw-leading-\[148\%\]{line-height:148%}.spiffy-tw-tracking-\[0\.8px\]{letter-spacing:.8px}.spiffy-tw-text-\[--spiffy-colors-background-primary\]{color:var(--spiffy-colors-background-primary)}.spiffy-tw-text-\[--spiffy-colors-text-accent\]{color:var(--spiffy-colors-text-accent)}.spiffy-tw-text-\[--spiffy-colors-text-light\]{color:var(--spiffy-colors-text-light)}.spiffy-tw-text-\[--spiffy-colors-text-link\]{color:var(--spiffy-colors-text-link)}.spiffy-tw-text-\[--spiffy-colors-text-primary\]{color:var(--spiffy-colors-text-primary)}.spiffy-tw-text-\[--spiffy-colors-text-secondary\]{color:var(--spiffy-colors-text-secondary)}.spiffy-tw-text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.spiffy-tw-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.spiffy-tw-line-through{text-decoration-line:line-through}.spiffy-tw-opacity-40{opacity:.4}.spiffy-tw-opacity-70{opacity:.7}.spiffy-tw-shadow-\[0px_-8px_16px_0px_\#0000001A\]{--tw-shadow:0px -8px 16px 0px #0000001a;--tw-shadow-colored:0px -8px 16px 0px var(--tw-shadow-color)}.spiffy-tw-shadow-\[0px_-8px_16px_0px_\#0000001A\],.spiffy-tw-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.spiffy-tw-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.spiffy-tw-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.spiffy-tw-outline-none{outline:2px solid transparent;outline-offset:2px}.spiffy-tw-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.spiffy-tw-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.spiffy-tw-duration-200{transition-duration:.2s}.spiffy-tw-no-scrollbar::-webkit-scrollbar{display:none}.spiffy-tw-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}#spiffy-ai-chat-preview,#spiffy-ai-chat-preview-contents,#spiffy-ai-container,#spiffy-ai-floating-button{font-family:Inter Variable,sans-serif;h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-italic.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.placeholder\:spiffy-tw-font-medium::-moz-placeholder{font-weight:500}.placeholder\:spiffy-tw-font-medium::placeholder{font-weight:500}.placeholder\:spiffy-tw-leading-\[124\%\]::-moz-placeholder{line-height:124%}.placeholder\:spiffy-tw-leading-\[124\%\]::placeholder{line-height:124%}.placeholder\:spiffy-tw-text-\[--spiffy-colors-text-secondary\]::-moz-placeholder{color:var(--spiffy-colors-text-secondary)}.placeholder\:spiffy-tw-text-\[--spiffy-colors-text-secondary\]::placeholder{color:var(--spiffy-colors-text-secondary)}@media (hover:hover) and (pointer:fine){.hover\:spiffy-tw-scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:spiffy-tw-border:hover{border-width:1px}.hover\:spiffy-tw-border-\[--spiffy-colors-accent-primary\]:hover{border-color:var(--spiffy-colors-accent-primary)}.hover\:spiffy-tw-border-\[--spiffy-colors-background-dark\]:hover{border-color:var(--spiffy-colors-background-dark)}.hover\:spiffy-tw-border-\[--spiffy-colors-background-light\]:hover{border-color:var(--spiffy-colors-background-light)}.hover\:spiffy-tw-border-\[--spiffy-colors-background-secondary-dark\]:hover{border-color:var(--spiffy-colors-background-secondary-dark)}.hover\:spiffy-tw-border-\[--spiffy-colors-background-secondary\]:hover{border-color:var(--spiffy-colors-background-secondary)}.hover\:spiffy-tw-border-\[--spiffy-colors-border-light\]:hover{border-color:var(--spiffy-colors-border-light)}.hover\:spiffy-tw-border-\[--spiffy-colors-border-outline\]:hover{border-color:var(--spiffy-colors-border-outline)}.hover\:spiffy-tw-bg-\[--spiffy-colors-background-dark\]:hover{background-color:var(--spiffy-colors-background-dark)}.hover\:spiffy-tw-bg-\[--spiffy-colors-background-light\]:hover{background-color:var(--spiffy-colors-background-light)}.hover\:spiffy-tw-bg-\[--spiffy-colors-background-primary\]:hover{background-color:var(--spiffy-colors-background-primary)}.hover\:spiffy-tw-bg-\[--spiffy-colors-background-secondary-dark\]:hover{background-color:var(--spiffy-colors-background-secondary-dark)}.hover\:spiffy-tw-bg-\[--spiffy-colors-background-secondary\]:hover{background-color:var(--spiffy-colors-background-secondary)}.hover\:spiffy-tw-bg-\[--spiffy-colors-background-tertiary\]:hover{background-color:var(--spiffy-colors-background-tertiary)}.hover\:spiffy-tw-bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:spiffy-tw-bg-transparent:hover{background-color:transparent}.hover\:spiffy-tw-fill-\[--spiffy-colors-accent-primary\]:hover{fill:var(--spiffy-colors-accent-primary)}.hover\:spiffy-tw-fill-\[--spiffy-colors-text-accent\]:hover{fill:var(--spiffy-colors-text-accent)}.hover\:spiffy-tw-fill-\[--spiffy-colors-text-light\]:hover{fill:var(--spiffy-colors-text-light)}.hover\:spiffy-tw-fill-\[--spiffy-colors-text-link\]:hover{fill:var(--spiffy-colors-text-link)}.hover\:spiffy-tw-fill-\[--spiffy-colors-text-primary\]:hover{fill:var(--spiffy-colors-text-primary)}.hover\:spiffy-tw-fill-transparent:hover{fill:transparent}.hover\:spiffy-tw-stroke-\[--spiffy-colors-accent-primary\]:hover{stroke:var(--spiffy-colors-accent-primary)}.hover\:spiffy-tw-stroke-\[--spiffy-colors-text-accent\]:hover{stroke:var(--spiffy-colors-text-accent)}.hover\:spiffy-tw-stroke-\[--spiffy-colors-text-light\]:hover{stroke:var(--spiffy-colors-text-light)}.hover\:spiffy-tw-stroke-\[--spiffy-colors-text-link\]:hover{stroke:var(--spiffy-colors-text-link)}.hover\:spiffy-tw-stroke-\[--spiffy-colors-text-primary\]:hover{stroke:var(--spiffy-colors-text-primary)}.hover\:spiffy-tw-text-\[--spiffy-colors-text-light\]:hover{color:var(--spiffy-colors-text-light)}.hover\:spiffy-tw-text-\[--spiffy-colors-text-link\]:hover{color:var(--spiffy-colors-text-link)}.hover\:spiffy-tw-text-\[--spiffy-colors-text-primary\]:hover{color:var(--spiffy-colors-text-primary)}.hover\:spiffy-tw-text-\[--spiffy-colors-text-secondary\]:hover{color:var(--spiffy-colors-text-secondary)}.hover\:spiffy-tw-text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}}.spiffy-tw-group[aria-expanded=true] .group-aria-expanded\:\!spiffy-tw-font-medium{font-weight:500!important}@media (min-width:480px){.sm\:spiffy-tw-h-\[24px\]{height:24px}.sm\:spiffy-tw-w-\[24px\]{width:24px}.sm\:spiffy-tw-w-\[32px\]{width:32px}.sm\:spiffy-tw-gap-\[8px\]{gap:8px}.sm\:spiffy-tw-p-3{padding:12px}.sm\:spiffy-tw-px-4{padding-left:16px;padding-right:16px}.sm\:spiffy-tw-px-\[41px\]{padding-left:41px;padding-right:41px}.sm\:spiffy-tw-px-\[46px\]{padding-left:46px;padding-right:46px}.sm\:spiffy-tw-px-\[48px\]{padding-left:48px;padding-right:48px}.sm\:spiffy-tw-py-\[40px\]{padding-top:40px;padding-bottom:40px}}@media (min-width:768px){.md\:spiffy-tw-ml-\[80px\]{margin-left:80px}.md\:spiffy-tw-block{display:block}.md\:spiffy-tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:976px){.lg\:spiffy-tw-h-\[400px\]{height:400px}.lg\:spiffy-tw-h-\[496px\]{height:496px}.lg\:spiffy-tw-w-\[280px\]{width:280px}.lg\:spiffy-tw-w-\[300px\]{width:300px}.lg\:spiffy-tw-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>circle\]\:spiffy-tw-fill-\[--spiffy-colors-text-secondary\]>circle{fill:var(--spiffy-colors-text-secondary)}.\[\&\>path\]\:spiffy-tw-fill-\[\#fff\]>path{fill:#fff}.first\:\[\&\>path\]\:spiffy-tw-fill-\[--spiffy-colors-accent-primary\]>path:first-child{fill:var(--spiffy-colors-accent-primary)}.first\:\[\&\>path\]\:spiffy-tw-stroke-\[--spiffy-colors-accent-primary\]>path:first-child{stroke:var(--spiffy-colors-accent-primary)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envive-ai/react-widgets",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "React widget library for Envive services.",
5
5
  "keywords": [
6
6
  "react",
@@ -21,8 +21,9 @@
21
21
  "tailwind-preset.js"
22
22
  ],
23
23
  "scripts": {
24
- "build": "tsdown",
25
- "build:watch": "tsdown --watch",
24
+ "build:css": "tailwindcss -c tailwind.config.js -i ./.storybook/index.css -o ./dist/styles.css --minify",
25
+ "build": "tsdown && npm run build:css && node scripts/preserve-styles-export.js",
26
+ "build:watch": "npm run build:css && tsdown --watch",
26
27
  "dev": "npm run get-merchants && storybook dev -p 6006",
27
28
  "prepublish": "npm run build",
28
29
  "storybook": "tsx ./.storybook/getMerchants.ts && storybook dev -p 6006",
@@ -53,6 +54,9 @@
53
54
  "@storybook/addon-vitest": "^9.1.10",
54
55
  "@storybook/icons": "^1.6.0",
55
56
  "@storybook/react-vite": "^9.1.4",
57
+ "@testing-library/jest-dom": "^6.9.1",
58
+ "@testing-library/react": "^16.3.0",
59
+ "@testing-library/user-event": "^14.6.1",
56
60
  "@types/node": "^24.3.2",
57
61
  "@types/react": "^19.1.12",
58
62
  "@vitejs/plugin-react": "^5.0.0",
@@ -89,7 +93,11 @@
89
93
  "import": "./dist/SuggestionButtonContainer/index.js",
90
94
  "require": "./dist/SuggestionButtonContainer/index.cjs"
91
95
  },
92
- "./package.json": "./package.json"
96
+ "./package.json": "./package.json",
97
+ "./styles.css": {
98
+ "import": "./dist/styles.css",
99
+ "require": "./dist/styles.css"
100
+ }
93
101
  },
94
102
  "eslintConfig": {
95
103
  "extends": [
@@ -1 +1,2 @@
1
1
  export { SearchResultsWidget } from './SearchResultsWidget';
2
+ export { SearchResults } from './SearchResults';
@@ -1,12 +1,11 @@
1
1
  import { SearchFilterSidebarVariant } from '@envive-ai/react-toolkit/SearchResultsFilterSidebar';
2
2
  import { ProductGridVariant } from '@envive-ai/react-toolkit/ProductCard';
3
- import { BaseWidgetConfig } from 'src/config/BaseWidgetConfig';
4
- import { WidgetType } from 'src/config/WidgetType';
3
+ import { BaseWidgetConfig } from '../config/BaseWidgetConfig';
4
+ import { WidgetType } from '../config/WidgetType';
5
5
 
6
6
  export type SearchInputVariant = 'standard';
7
7
 
8
- export interface SearchResultsEntryPointWidgetConfig
9
- extends BaseWidgetConfig<WidgetType.SearchResultsEntryPoint> {
8
+ export interface SearchResultsEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchResultsEntryPoint> {
10
9
  searchInputVariant: SearchInputVariant;
11
10
  searchFilterSidebarVariant: SearchFilterSidebarVariant;
12
11
  productGridVariant: ProductGridVariant;
@@ -1,14 +1,14 @@
1
1
  import { useReducedMotionConfig } from 'framer-motion';
2
2
  import { useMemo } from 'react';
3
3
 
4
- // TODO: Should this be moved?
5
- declare global {
6
- interface Window {
7
- _spiffy?: {
8
- reducedMotionOverride?: boolean;
9
- };
10
- }
11
- }
4
+ // Redeclare the _spiffy property on the window object to include the reducedMotionOverride property here
5
+ type WindowOverride = Omit<Window, '_spiffy'> & {
6
+ _spiffy?: {
7
+ reducedMotionOverride?: boolean;
8
+ };
9
+ };
10
+
11
+ declare const window: WindowOverride;
12
12
 
13
13
  export const useReducedMotionWithOverride = () => {
14
14
  const reducedMotionConfig = useReducedMotionConfig();
@@ -1,52 +0,0 @@
1
- //#region ../hooks/dist/contexts/types.d.ts
2
-
3
- type SuggestionButtonVariant = 'outlined' | 'outlinedLight' | 'primary' | 'secondary' | 'tertiary' | 'dark' | 'darkAccent' | 'darkPrimary' | 'secondaryDark' | 'secondaryAccent' | 'transparent' | 'transparentDark' | 'lightDark';
4
- interface SuggestionButtonConfig {
5
- variant?: SuggestionButtonVariant;
6
- hoverVariant?: SuggestionButtonVariant;
7
- answerVariant?: SuggestionButtonVariant;
8
- borderRadius?: 'sm' | 'md' | 'lg';
9
- }
10
- type SearchZeroStateVariant = 'backgroundTertiary' | 'backgroundDark' | 'backgroundPrimary';
11
- type SearchZeroStateLayout = 'input' | 'icon';
12
- type SearchInputVariant = 'standard';
13
- type SearchIconVariant = 'thin' | 'bold';
14
- declare enum WidgetType {
15
- ChatPreview = "ChatPreview",
16
- SocialProofV2 = "SocialProofV2",
17
- ChatPreviewV2 = "ChatPreviewV2",
18
- ChatPreviewIsLoading = "ChatPreviewIsLoading",
19
- ChatPreviewPostInteraction = "ChatPreviewPostInteraction",
20
- ChatPreviewProductComparison = "ChatPreviewProductComparison",
21
- SuggestionBar = "SuggestionBar",
22
- SuggestionBarV2 = "SuggestionBarV2",
23
- ImagePromptCard = "ImagePromptCard",
24
- ImageBanner = "ImageBanner",
25
- SingleImagePrompt = "SingleImagePrompt",
26
- SearchPrompt = "SearchPrompt",
27
- SearchZeroStateEntryPoint = "SearchZeroStateEntryPoint",
28
- SearchResultsEntryPoint = "SearchResultsEntryPoint",
29
- SearchOverlayHost = "SearchOverlayHost",
30
- NoOp = "NoOp",
31
- }
32
- interface BaseWidgetConfig<T extends WidgetType> {
33
- widgetConfigId: string;
34
- type: T;
35
- contentId?: string;
36
- }
37
- interface SearchEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchZeroStateEntryPoint> {
38
- searchZeroStateVariant: SearchZeroStateVariant;
39
- searchInputVariant: SearchInputVariant;
40
- searchIconVariant?: SearchIconVariant;
41
- searchIconSize?: number;
42
- suggestionButtonConfig: SuggestionButtonConfig;
43
- layout: SearchZeroStateLayout;
44
- searchBoxPlaceholder: string;
45
- animationSpeed?: 'standard' | 'slow' | 'none';
46
- compactLabel?: string;
47
- initialSuggestions?: string[];
48
- usingPortal?: boolean;
49
- includeSubtitle?: boolean;
50
- }
51
- //#endregion
52
- export { type SearchEntryPointWidgetConfig, SearchInputVariant, type SuggestionButtonVariant };
@@ -1,8 +0,0 @@
1
- //#region ../hooks/dist/types/test-types.d.ts
2
- //#region src/types/test-types.d.ts
3
- interface TestProps {
4
- dataTestId?: string;
5
- }
6
- //#endregion
7
- //#endregion
8
- export { TestProps };
@@ -1,52 +0,0 @@
1
- //#region ../hooks/dist/contexts/types.d.ts
2
-
3
- type SuggestionButtonVariant = 'outlined' | 'outlinedLight' | 'primary' | 'secondary' | 'tertiary' | 'dark' | 'darkAccent' | 'darkPrimary' | 'secondaryDark' | 'secondaryAccent' | 'transparent' | 'transparentDark' | 'lightDark';
4
- interface SuggestionButtonConfig {
5
- variant?: SuggestionButtonVariant;
6
- hoverVariant?: SuggestionButtonVariant;
7
- answerVariant?: SuggestionButtonVariant;
8
- borderRadius?: 'sm' | 'md' | 'lg';
9
- }
10
- type SearchZeroStateVariant = 'backgroundTertiary' | 'backgroundDark' | 'backgroundPrimary';
11
- type SearchZeroStateLayout = 'input' | 'icon';
12
- type SearchInputVariant = 'standard';
13
- type SearchIconVariant = 'thin' | 'bold';
14
- declare enum WidgetType {
15
- ChatPreview = "ChatPreview",
16
- SocialProofV2 = "SocialProofV2",
17
- ChatPreviewV2 = "ChatPreviewV2",
18
- ChatPreviewIsLoading = "ChatPreviewIsLoading",
19
- ChatPreviewPostInteraction = "ChatPreviewPostInteraction",
20
- ChatPreviewProductComparison = "ChatPreviewProductComparison",
21
- SuggestionBar = "SuggestionBar",
22
- SuggestionBarV2 = "SuggestionBarV2",
23
- ImagePromptCard = "ImagePromptCard",
24
- ImageBanner = "ImageBanner",
25
- SingleImagePrompt = "SingleImagePrompt",
26
- SearchPrompt = "SearchPrompt",
27
- SearchZeroStateEntryPoint = "SearchZeroStateEntryPoint",
28
- SearchResultsEntryPoint = "SearchResultsEntryPoint",
29
- SearchOverlayHost = "SearchOverlayHost",
30
- NoOp = "NoOp",
31
- }
32
- interface BaseWidgetConfig<T extends WidgetType> {
33
- widgetConfigId: string;
34
- type: T;
35
- contentId?: string;
36
- }
37
- interface SearchEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchZeroStateEntryPoint> {
38
- searchZeroStateVariant: SearchZeroStateVariant;
39
- searchInputVariant: SearchInputVariant;
40
- searchIconVariant?: SearchIconVariant;
41
- searchIconSize?: number;
42
- suggestionButtonConfig: SuggestionButtonConfig;
43
- layout: SearchZeroStateLayout;
44
- searchBoxPlaceholder: string;
45
- animationSpeed?: 'standard' | 'slow' | 'none';
46
- compactLabel?: string;
47
- initialSuggestions?: string[];
48
- usingPortal?: boolean;
49
- includeSubtitle?: boolean;
50
- }
51
- //#endregion
52
- export { type SearchEntryPointWidgetConfig, SearchInputVariant, type SuggestionButtonVariant };
@@ -1,8 +0,0 @@
1
- //#region ../hooks/dist/types/test-types.d.ts
2
- //#region src/types/test-types.d.ts
3
- interface TestProps {
4
- dataTestId?: string;
5
- }
6
- //#endregion
7
- //#endregion
8
- export { TestProps };