@websolutespa/bom-llm 0.0.12 → 0.0.13

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/umd/index.js CHANGED
@@ -7905,6 +7905,39 @@
7905
7905
  return classNames.trim();
7906
7906
  }
7907
7907
 
7908
+ /**
7909
+ * PascalCase
7910
+ * camelCase
7911
+ * kebab-case
7912
+ * snake_case
7913
+ * char*case
7914
+ **/
7915
+
7916
+ function unknownCaseToPascalCase(unknownCase) {
7917
+ const pascalCase = unknownCase.replace(/(^[a-zA-Z])|(\W|_)+(\w?)([a-z0-9]*)?/g, (m, g1, g2, g3, g4) => (g1 ? g1.toUpperCase() : '') + (g3 ? g3.toUpperCase() : '') + (g4 ? g4.toLowerCase() : ''));
7918
+ // console.log('unknownCaseToPascalCase', unknownCase, pascalCase);
7919
+ return pascalCase;
7920
+ }
7921
+ function pascalCaseToCharCase(pascalCase, char) {
7922
+ if (char === void 0) {
7923
+ char = '-';
7924
+ }
7925
+ const charCase = pascalCase.replace(/([A-Z]+)/g, (m, g1, index) => (index > 0 ? char : '') + m).toLowerCase();
7926
+ return charCase;
7927
+ }
7928
+ function toCharCase(unknownCase, char) {
7929
+ if (char === void 0) {
7930
+ char = '-';
7931
+ }
7932
+ const pascalCase = unknownCaseToPascalCase(unknownCase);
7933
+ const charCase = pascalCaseToCharCase(pascalCase, char);
7934
+ return charCase;
7935
+ }
7936
+ function toKebabCase(unknownCase) {
7937
+ const kebabCase = toCharCase(unknownCase, '-');
7938
+ return kebabCase;
7939
+ }
7940
+
7908
7941
  function isArray(item) {
7909
7942
  return Array.isArray(item);
7910
7943
  }
@@ -7912,6 +7945,41 @@
7912
7945
  return item != null && typeof item === 'object' && !isArray(item);
7913
7946
  }
7914
7947
 
7948
+ /**
7949
+ * Represents a primitive value that can be used in the deep merge operation.
7950
+ */
7951
+
7952
+ /**
7953
+ * Represents a dynamic value that can be used in the deep merge operation.
7954
+ */
7955
+
7956
+ /**
7957
+ * Deeply merges two objects or arrays.
7958
+ *
7959
+ * @param target - The target object or array to merge into.
7960
+ * @param source - The source object or array to merge from.
7961
+ * @returns The merged object or array.
7962
+ */
7963
+ function deepMerge(target, source) {
7964
+ const output = {
7965
+ ...target
7966
+ };
7967
+ if (isObject$3(target) && isObject$3(source)) {
7968
+ Object.entries(source).forEach(_ref => {
7969
+ let [k, v] = _ref;
7970
+ if (isArray(v)) {
7971
+ output[k] = v.map(x => deepMerge(x, x));
7972
+ } else if (isObject$3(v)) {
7973
+ const targetValue = k in target ? target[k] : undefined;
7974
+ output[k] = isObject$3(targetValue) ? deepMerge(targetValue, v) : deepMerge(v, v);
7975
+ } else {
7976
+ output[k] = v;
7977
+ }
7978
+ });
7979
+ }
7980
+ return output;
7981
+ }
7982
+
7915
7983
  const isBrowser$1 = typeof window !== 'undefined';
7916
7984
 
7917
7985
  function getDefaultLocale() {
@@ -22720,6 +22788,170 @@
22720
22788
  });
22721
22789
  SwiperSlide.displayName = 'SwiperSlide';
22722
22790
 
22791
+ const defaultTheme = {
22792
+ font: {
22793
+ primary: 'Aeonik',
22794
+ secondary: 'Capraia'
22795
+ },
22796
+ color: {
22797
+ neutral: {
22798
+ '100': '#ffffff',
22799
+ // *
22800
+ '200': '#e8e8e8',
22801
+ // *
22802
+ '300': '#bdbdbd',
22803
+ '500': '#7c7c7c',
22804
+ '600': '#525252',
22805
+ '700': '#3d3d3d',
22806
+ '800': '#292929',
22807
+ '900': '#000000' // *
22808
+ },
22809
+ base: {
22810
+ '100': '#003c8c',
22811
+ // *
22812
+ '200': '#73c3ff',
22813
+ // *
22814
+ '300': '#96dca0',
22815
+ // *
22816
+ '400': '#dcdc3c',
22817
+ // *
22818
+ '500': '#007378',
22819
+ // *
22820
+ '600': '#b41e5f',
22821
+ '700': '#aa96f0',
22822
+ '800': '#cda582',
22823
+ '900': '#ffe6a0'
22824
+ },
22825
+ blob: {
22826
+ '100': 'var(--llm-color-base-400)',
22827
+ '200': '#d0c911',
22828
+ '300': 'var(--llm-color-base-100)',
22829
+ '400': '#054ead',
22830
+ '500': 'var(--llm-color-base-300)',
22831
+ '600': '#0ba224'
22832
+ },
22833
+ background: 'var(--llm-color-base-100)',
22834
+ foreground: 'var(--llm-color-neutral-100)',
22835
+ primary: {
22836
+ background: 'var(--llm-color-base-200)',
22837
+ foreground: 'var(--llm-color-neutral-100)' // 'var(--llm-color-base-100)'
22838
+ },
22839
+ secondary: {
22840
+ background: 'var(--llm-color-base-500)',
22841
+ foreground: 'var(--llm-color-neutral-100)'
22842
+ },
22843
+ accent: {
22844
+ background: 'transparent',
22845
+ foreground: 'var(--llm-color-base-400)'
22846
+ }
22847
+ },
22848
+ border: '1px solid var(--llm-color-neutral-200)',
22849
+ canvas: {
22850
+ opacity: 0.8
22851
+ },
22852
+ trigger: {
22853
+ size: '60px',
22854
+ background: 'var(--llm-color-base-200)',
22855
+ foreground: 'var(--llm-color-base-100)',
22856
+ boxShadow: '0 0 30px rgba(0, 0, 0, 0.3)'
22857
+ },
22858
+ hint: {
22859
+ fontFamily: 'var(--llm-font-primary)',
22860
+ background: 'linear-gradient(rgba(154, 154, 154, 0.2) 10%, rgba(221, 221, 221, 0.1) 80%)',
22861
+ foreground: 'var(--llm-color-foreground)',
22862
+ border: '1px solid rgba(237, 237, 237, 0.3)',
22863
+ borderRadius: '12px'
22864
+ },
22865
+ pill: {
22866
+ fontFamily: 'var(--llm-font-primary)',
22867
+ background: 'rgba(255, 255, 255, 0.2)',
22868
+ foreground: 'var(--llm-color-foreground)',
22869
+ border: '1px solid rgba(237, 237, 237, 0.3)',
22870
+ borderRadius: '5px'
22871
+ },
22872
+ input: {
22873
+ fontFamily: 'var(--llm-font-secondary)',
22874
+ background: 'var(--llm-color-neutral-100)',
22875
+ foreground: 'var(--llm-color-neutral-900)',
22876
+ accent: 'var(--llm-color-base-100)'
22877
+ },
22878
+ checkbox: {
22879
+ border: '2px solid var(--llm-color-neutral-100)'
22880
+ }
22881
+ };
22882
+ function getTheme() {
22883
+ let theme = {
22884
+ ...defaultTheme
22885
+ };
22886
+ for (var _len = arguments.length, overrides = new Array(_len), _key = 0; _key < _len; _key++) {
22887
+ overrides[_key] = arguments[_key];
22888
+ }
22889
+ overrides.forEach(override => {
22890
+ theme = deepMerge(theme, {
22891
+ ...override
22892
+ });
22893
+ });
22894
+ return theme;
22895
+ }
22896
+
22897
+ function collectNameAndValues(object, parentKey, collection) {
22898
+ if (parentKey === void 0) {
22899
+ parentKey = '';
22900
+ }
22901
+ if (collection === void 0) {
22902
+ collection = {
22903
+ names: [],
22904
+ values: []
22905
+ };
22906
+ }
22907
+ if (object) {
22908
+ Object.entries(object).forEach(_ref => {
22909
+ let [key, value] = _ref;
22910
+ key = (parentKey.length ? `${parentKey}-` : '') + toKebabCase(key);
22911
+ if (value && typeof value === 'object') {
22912
+ collection = collectNameAndValues(value, key, collection);
22913
+ } else if (typeof value === 'string' || typeof value === 'number') {
22914
+ collection.names.push(key);
22915
+ collection.values.push(value);
22916
+ }
22917
+ });
22918
+ }
22919
+ return collection;
22920
+ }
22921
+ function getVars(theme, namespace) {
22922
+ if (namespace === void 0) {
22923
+ namespace = 'llm';
22924
+ }
22925
+ const nameAndValues = collectNameAndValues(theme);
22926
+ const vars = {};
22927
+ nameAndValues.names.forEach((key, i) => {
22928
+ const value = nameAndValues.values[i];
22929
+ vars[`--${namespace}-${key}`] = String(value);
22930
+ });
22931
+ return vars;
22932
+ }
22933
+ function createVars(vars) {
22934
+ if (isBrowser$1) {
22935
+ const style = `<style id="llm-style">
22936
+ /**
22937
+ * websolute - llm generated vars
22938
+ */
22939
+ .llm {
22940
+ ${Object.entries(vars).map(_ref2 => {
22941
+ let [k, v] = _ref2;
22942
+ return `
22943
+ ${k}: ${v};`;
22944
+ }).join('')}
22945
+ }
22946
+ </style>`;
22947
+ const styleNode = document.querySelector('#llm-style');
22948
+ if (styleNode !== null) {
22949
+ styleNode.remove();
22950
+ }
22951
+ document.head.insertAdjacentHTML('beforeend', style);
22952
+ }
22953
+ }
22954
+
22723
22955
  class MessageService {
22724
22956
  decoder_ = new TextDecoder('utf-8');
22725
22957
  constructor(options) {
@@ -22860,37 +23092,24 @@
22860
23092
  response.chunks = chunksToChunkItems(decodedChunks, response);
22861
23093
  return response;
22862
23094
  }
23095
+ let lastUnparsedText = '';
22863
23096
  function textToChunks(decodedText) {
22864
23097
  let decodedChunks = [];
23098
+ let didError = false;
22865
23099
  try {
22866
- // const replacedText = decodedText.replace(/(^\[)|(,$)|(\]$)/g, '');
22867
- let replacedText = decodedText;
22868
- // replacedText = replacedText.replace(/(^,")/, '",');
23100
+ let replacedText = lastUnparsedText + decodedText;
22869
23101
  replacedText = replacedText.replace(/(,$)/, '');
22870
- // replacedText = replacedText.replace(/}\s{/g, '},{');
22871
- /*
22872
- replacedText = replacedText.split(',').map(x => {
22873
- return x.replace(/^"([^{]*)"$/m, (m, g) => {
22874
- return '"' + g.replace('"', '\\"') + '"';
22875
- });
22876
- }).join(',');
22877
- */
22878
- // console.log('textToChunks.replacedText', `[${replacedText}]`);
22879
23102
  const chunks = JSON.parse(`[${replacedText}]`);
22880
- // console.log('chunks', chunks);
22881
- /*
22882
- decodedChunks = chunks.map(chunk => {
22883
- if (typeof chunk === 'string') {
22884
- chunk = chunk.replace(/\r\n/g, '<br>');
22885
- }
22886
- return chunk;
22887
- });
22888
- */
22889
23103
  decodedChunks = chunks;
22890
23104
  } catch (error) {
22891
23105
  console.log('textToChunks.error', error, decodedText);
23106
+ didError = true;
23107
+ }
23108
+ if (didError) {
23109
+ lastUnparsedText += decodedText;
23110
+ } else {
23111
+ lastUnparsedText = '';
22892
23112
  }
22893
- // console.log(decodedChunks, decodedText);
22894
23113
  return decodedChunks;
22895
23114
  }
22896
23115
  function chunksToChunkItems(decodedChunks, response) {
@@ -23026,7 +23245,7 @@
23026
23245
  return !hasFormRequest && importantMessages.length > 1;
23027
23246
  }
23028
23247
 
23029
- const THREAD = {
23248
+ const mockThread = {
23030
23249
  it: [{
23031
23250
  chunks: ['Sarò a Pesaro con la mia famiglia a giugno. Siamo tutti appassionati di arte e natura. Cosa ci consigli di fare qui?\n'],
23032
23251
  role: 'user'
@@ -23425,8 +23644,10 @@
23425
23644
  role: 'assistant'
23426
23645
  }]
23427
23646
  };
23647
+
23648
+ const MOCK_THREAD = mockThread;
23428
23649
  function getMockPrompt(index, locale) {
23429
- const message = THREAD[locale][index];
23650
+ const message = MOCK_THREAD[locale][index];
23430
23651
  if (message && message.role === 'user') {
23431
23652
  return message.chunks[0];
23432
23653
  }
@@ -23790,14 +24011,17 @@
23790
24011
  threadId,
23791
24012
  opened,
23792
24013
  embedded,
23793
- send
24014
+ send,
24015
+ setEmbed
23794
24016
  } = _ref;
23795
24017
  const props = {
23796
24018
  opened: opened != null || embedded != null ? Boolean(opened || embedded) : threadId != null ? true : false,
23797
24019
  embedded: embedded || false,
24020
+ introed: false,
23798
24021
  hidden: false,
23799
24022
  fixed: false,
23800
24023
  idle: true,
24024
+ visible: false,
23801
24025
  direction: 0
23802
24026
  };
23803
24027
  let lenis_ = undefined;
@@ -23845,6 +24069,35 @@
23845
24069
  handleIdleTimes();
23846
24070
  }, 2000);
23847
24071
  },
24072
+ initIntersection: element => {
24073
+ const handleIntersection = () => {
24074
+ // console.log('handleIntersection', element);
24075
+ if (!element) {
24076
+ return;
24077
+ }
24078
+ if ('IntersectionObserver' in window) {
24079
+ const observer = new IntersectionObserver((entries, observer) => {
24080
+ entries.forEach(entry => {
24081
+ // console.log('IntersectionObserver', entry.target, entry.isIntersecting);
24082
+ const state = get();
24083
+ state.actions.setVisible(entry.isIntersecting);
24084
+ if (embedded) {
24085
+ setEmbed(entry.target, entry.isIntersecting);
24086
+ }
24087
+ });
24088
+ }, {
24089
+ root: document,
24090
+ rootMargin: '50px',
24091
+ threshold: [0.01, 0.99]
24092
+ });
24093
+ observer.observe(element);
24094
+ } else {
24095
+ const state = get();
24096
+ state.actions.setVisible(true);
24097
+ }
24098
+ };
24099
+ handleIntersection();
24100
+ },
23848
24101
  send: async (prompt, onMessage, onEnd) => {
23849
24102
  const state = get();
23850
24103
  autoScroll = true;
@@ -23864,6 +24117,12 @@
23864
24117
  open: () => set(state => ({
23865
24118
  opened: !state.opened
23866
24119
  })),
24120
+ setIntroed: introed => set(state => ({
24121
+ introed
24122
+ })),
24123
+ setVisible: visible => set(state => ({
24124
+ visible
24125
+ })),
23867
24126
  setLenis: lenis => {
23868
24127
  if (lenis_ !== lenis) {
23869
24128
  lenis_ = lenis;
@@ -23912,13 +24171,15 @@
23912
24171
  ...props
23913
24172
  } = _ref2;
23914
24173
  const {
23915
- send
24174
+ send,
24175
+ setEmbed
23916
24176
  } = useLlm(state => state.actions);
23917
24177
  const storeRef = reactExports.useRef();
23918
24178
  if (!storeRef.current) {
23919
24179
  storeRef.current = createLlmViewStore({
23920
24180
  ...props,
23921
- send
24181
+ send,
24182
+ setEmbed
23922
24183
  });
23923
24184
  }
23924
24185
  return storeRef.current && /*#__PURE__*/jsxRuntimeExports.jsx(LlmViewContext.Provider, {
@@ -23937,14 +24198,19 @@
23937
24198
  appKey,
23938
24199
  apiKey,
23939
24200
  threadId,
24201
+ customTheme,
23940
24202
  decorateUrl,
23941
24203
  endpoint,
23942
24204
  test,
23943
24205
  storage,
23944
24206
  label
23945
24207
  } = _ref;
24208
+ const theme = getTheme(customTheme);
24209
+ const vars = getVars(theme);
23946
24210
  const props = {
23947
24211
  hydrated: false,
24212
+ theme,
24213
+ vars,
23948
24214
  messages: [],
23949
24215
  prompt: '',
23950
24216
  locale: 'en',
@@ -24058,9 +24324,14 @@
24058
24324
  } : undefined;
24059
24325
  };
24060
24326
  const thread = decodeThread(app.thread);
24327
+ const theme = getTheme(app.contents.customTheme, customTheme);
24328
+ const vars = getVars(theme);
24329
+ createVars(vars);
24061
24330
  // console.log('thread', thread);
24062
24331
  set(() => ({
24063
24332
  app,
24333
+ theme,
24334
+ vars,
24064
24335
  locale,
24065
24336
  ...thread
24066
24337
  }));
@@ -24180,6 +24451,20 @@
24180
24451
  messageService = undefined;
24181
24452
  }
24182
24453
  },
24454
+ setVars: vars => set(state => ({
24455
+ vars: Object.assign({}, state.vars, vars)
24456
+ })),
24457
+ setEmbed: (element, active) => {
24458
+ const embed = get().embed;
24459
+ if (!active && embed !== element) {
24460
+ return;
24461
+ }
24462
+ set(state => {
24463
+ return {
24464
+ embed: active ? element : undefined
24465
+ };
24466
+ });
24467
+ },
24183
24468
  setPrompt: prompt => set(state => ({
24184
24469
  prompt
24185
24470
  })),
@@ -24328,7 +24613,7 @@
24328
24613
 
24329
24614
  var __assign=function(){return __assign=Object.assign||function __assign(t){for(var e,i=1,o=arguments.length;i<o;i++)for(var s in e=arguments[i])Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s]);return t},__assign.apply(this,arguments)};function clamp$1(t,e,i){return Math.max(t,Math.min(e,i))}class Animate{advance(t){if(!this.isRunning)return;let e=!1;if(this.lerp)this.value=function damp(t,e,i,o){return function lerp(t,e,i){return (1-i)*t+i*e}(t,e,1-Math.exp(-i*o))}(this.value,this.to,60*this.lerp,t),Math.round(this.value)===this.to&&(this.value=this.to,e=!0);else {this.currentTime+=t;const i=clamp$1(0,this.currentTime/this.duration,1);e=i>=1;const o=e?1:this.easing(i);this.value=this.from+(this.to-this.from)*o;}e&&this.stop(),this.onUpdate?.(this.value,e);}stop(){this.isRunning=!1;}fromTo(t,e,{lerp:i=.1,duration:o=1,easing:s=(t=>t),onStart:n,onUpdate:r}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=o,this.easing=s,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=r;}}class Dimensions{constructor({wrapper:t,content:e,autoResize:i=!0,debounce:o=250}={}){this.wrapper=t,this.content=e,i&&(this.debouncedResize=function debounce(t,e){let i;return function(){let o=arguments,s=this;clearTimeout(i),i=setTimeout((function(){t.apply(s,o);}),e);}}(this.resize,o),this.wrapper===window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize();}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),window.removeEventListener("resize",this.debouncedResize,!1);}resize=()=>{this.onWrapperResize(),this.onContentResize();};onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight);};onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth);};get limit(){return {x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={};}emit(t,...e){let i=this.events[t]||[];for(let t=0,o=i.length;t<o;t++)i[t](...e);}on(t,e){return this.events[t]?.push(e)||(this.events[t]=[e]),()=>{this.events[t]=this.events[t]?.filter((t=>e!==t));}}off(t,e){this.events[t]=this.events[t]?.filter((t=>e!==t));}destroy(){this.events={};}}const t=100/6;class VirtualScroll{constructor(t,{wheelMultiplier:e=1,touchMultiplier:i=1}){this.element=t,this.wheelMultiplier=e,this.touchMultiplier=i,this.touchStart={x:null,y:null},this.emitter=new Emitter,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,{passive:!1}),this.element.addEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.addEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.addEventListener("touchend",this.onTouchEnd,{passive:!1});}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,{passive:!1}),this.element.removeEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.removeEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.removeEventListener("touchend",this.onTouchEnd,{passive:!1});}onTouchStart=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:t});};onTouchMove=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,o=-(e-this.touchStart.x)*this.touchMultiplier,s=-(i-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:o,y:s},this.emitter.emit("scroll",{deltaX:o,deltaY:s,event:t});};onTouchEnd=t=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t});};onWheel=e=>{let{deltaX:i,deltaY:o,deltaMode:s}=e;i*=1===s?t:2===s?this.windowWidth:1,o*=1===s?t:2===s?this.windowHeight:1,i*=this.wheelMultiplier,o*=this.wheelMultiplier,this.emitter.emit("scroll",{deltaX:i,deltaY:o,event:e});};onWindowResize=()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight;}}var e=function(){function Lenis(t){var e=void 0===t?{}:t,i=e.wrapper,o=void 0===i?window:i,s=e.content,n=void 0===s?document.documentElement:s,r=e.wheelEventsTarget,l=void 0===r?o:r,h=e.eventsTarget,a=void 0===h?l:h,c=e.smoothWheel,p=void 0===c||c,u=e.syncTouch,d=void 0!==u&&u,m=e.syncTouchLerp,v=void 0===m?.075:m,g=e.touchInertiaMultiplier,f=void 0===g?35:g,S=e.duration,w=e.easing,y=void 0===w?function(t){return Math.min(1,1.001-Math.pow(2,-10*t))}:w,b=e.lerp,L=void 0===b?!S&&.1:b,_=e.infinite,z=void 0!==_&&_,E=e.orientation,T=void 0===E?"vertical":E,M=e.gestureOrientation,R=void 0===M?"vertical":M,O=e.touchMultiplier,W=void 0===O?1:O,x=e.wheelMultiplier,H=void 0===x?1:x,N=e.autoResize,k=void 0===N||N,C=e.__experimental__naiveDimensions,j=void 0!==C&&C,P=this;this.__isSmooth=!1,this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.onVirtualScroll=function(t){var e=t.deltaX,i=t.deltaY,o=t.event;if(!o.ctrlKey){var s=o.type.includes("touch"),n=o.type.includes("wheel");if(P.options.syncTouch&&s&&"touchstart"===o.type&&!P.isStopped&&!P.isLocked)P.reset();else {var r=0===e&&0===i,l="vertical"===P.options.gestureOrientation&&0===i||"horizontal"===P.options.gestureOrientation&&0===e;if(!r&&!l){var h=o.composedPath();if(!(h=h.slice(0,h.indexOf(P.rootElement))).find((function(t){var e,i,o,r,l;return (null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,"data-lenis-prevent"))||s&&(null===(i=t.hasAttribute)||void 0===i?void 0:i.call(t,"data-lenis-prevent-touch"))||n&&(null===(o=t.hasAttribute)||void 0===o?void 0:o.call(t,"data-lenis-prevent-wheel"))||(null===(r=t.classList)||void 0===r?void 0:r.contains("lenis"))&&!(null===(l=t.classList)||void 0===l?void 0:l.contains("lenis-stopped"))})))if(P.isStopped||P.isLocked)o.preventDefault();else {if(P.isSmooth=P.options.syncTouch&&s||P.options.smoothWheel&&n,!P.isSmooth)return P.isScrolling=!1,void P.animate.stop();o.preventDefault();var a=i;"both"===P.options.gestureOrientation?a=Math.abs(i)>Math.abs(e)?i:e:"horizontal"===P.options.gestureOrientation&&(a=e);var c=s&&P.options.syncTouch,p=s&&"touchend"===o.type&&Math.abs(a)>5;p&&(a=P.velocity*P.options.touchInertiaMultiplier),P.scrollTo(P.targetScroll+a,__assign({programmatic:!1},c?{lerp:p?P.options.syncTouchLerp:1}:{lerp:P.options.lerp,duration:P.options.duration,easing:P.options.easing}));}}}}},this.onNativeScroll=function(){if(!P.__preventNextScrollEvent&&!P.isScrolling){var t=P.animatedScroll;P.animatedScroll=P.targetScroll=P.actualScroll,P.velocity=0,P.direction=Math.sign(P.animatedScroll-t),P.emit();}},window.lenisVersion="1.0.45",o!==document.documentElement&&o!==document.body||(o=window),this.options={wrapper:o,content:n,wheelEventsTarget:l,eventsTarget:a,smoothWheel:p,syncTouch:d,syncTouchLerp:v,touchInertiaMultiplier:f,duration:S,easing:y,lerp:L,infinite:z,gestureOrientation:R,orientation:T,touchMultiplier:W,wheelMultiplier:H,autoResize:k,__experimental__naiveDimensions:j},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:o,content:n,autoResize:k}),this.toggleClassName("lenis",!0),this.velocity=0,this.isLocked=!1,this.isStopped=!1,this.isSmooth=d||p,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.virtualScroll=new VirtualScroll(a,{touchMultiplier:W,wheelMultiplier:H}),this.virtualScroll.on("scroll",this.onVirtualScroll);}return Lenis.prototype.destroy=function(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.toggleClassName("lenis",!1),this.toggleClassName("lenis-smooth",!1),this.toggleClassName("lenis-scrolling",!1),this.toggleClassName("lenis-stopped",!1),this.toggleClassName("lenis-locked",!1);},Lenis.prototype.on=function(t,e){return this.emitter.on(t,e)},Lenis.prototype.off=function(t,e){return this.emitter.off(t,e)},Lenis.prototype.setScroll=function(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t;},Lenis.prototype.resize=function(){this.dimensions.resize();},Lenis.prototype.emit=function(){this.emitter.emit("scroll",this);},Lenis.prototype.reset=function(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.animate.stop();},Lenis.prototype.start=function(){this.isStopped&&(this.isStopped=!1,this.reset());},Lenis.prototype.stop=function(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset());},Lenis.prototype.raf=function(t){var e=t-(this.time||t);this.time=t,this.animate.advance(.001*e);},Lenis.prototype.scrollTo=function(t,e){var i=this,o=void 0===e?{}:e,s=o.offset,n=void 0===s?0:s,r=o.immediate,l=void 0!==r&&r,h=o.lock,a=void 0!==h&&h,c=o.duration,p=void 0===c?this.options.duration:c,u=o.easing,d=void 0===u?this.options.easing:u,m=o.lerp,v=void 0===m?!p&&this.options.lerp:m,g=o.onComplete,f=o.force,S=void 0!==f&&f,w=o.programmatic,y=void 0===w||w;if(!this.isStopped&&!this.isLocked||S){if(["top","left","start"].includes(t))t=0;else if(["bottom","right","end"].includes(t))t=this.limit;else {var b=void 0;if("string"==typeof t?b=document.querySelector(t):(null==t?void 0:t.nodeType)&&(b=t),b){if(this.options.wrapper!==window){var L=this.options.wrapper.getBoundingClientRect();n-=this.isHorizontal?L.left:L.top;}var _=b.getBoundingClientRect();t=(this.isHorizontal?_.left:_.top)+this.animatedScroll;}}if("number"==typeof t){if(t+=n,t=Math.round(t),this.options.infinite?y&&(this.targetScroll=this.animatedScroll=this.scroll):t=clamp$1(0,t,this.limit),l)return this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),void(null==g||g(this));if(!y){if(t===this.targetScroll)return;this.targetScroll=t;}this.animate.fromTo(this.animatedScroll,t,{duration:p,easing:d,lerp:v,onStart:function(){a&&(i.isLocked=!0),i.isScrolling=!0;},onUpdate:function(t,e){i.isScrolling=!0,i.velocity=t-i.animatedScroll,i.direction=Math.sign(i.velocity),i.animatedScroll=t,i.setScroll(i.scroll),y&&(i.targetScroll=t),e||i.emit(),e&&(i.reset(),i.emit(),null==g||g(i),i.__preventNextScrollEvent=!0,requestAnimationFrame((function(){delete i.__preventNextScrollEvent;})));}});}}},Object.defineProperty(Lenis.prototype,"rootElement",{get:function(){return this.options.wrapper===window?document.documentElement:this.options.wrapper},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"limit",{get:function(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"isHorizontal",{get:function(){return "horizontal"===this.options.orientation},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"actualScroll",{get:function(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"scroll",{get:function(){return this.options.infinite?function modulo(t,e){return (t%e+e)%e}(this.animatedScroll,this.limit):this.animatedScroll},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"progress",{get:function(){return 0===this.limit?1:this.scroll/this.limit},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"isSmooth",{get:function(){return this.__isSmooth},set:function(t){this.__isSmooth!==t&&(this.__isSmooth=t,this.toggleClassName("lenis-smooth",t));},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"isScrolling",{get:function(){return this.__isScrolling},set:function(t){this.__isScrolling!==t&&(this.__isScrolling=t,this.toggleClassName("lenis-scrolling",t));},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"isStopped",{get:function(){return this.__isStopped},set:function(t){this.__isStopped!==t&&(this.__isStopped=t,this.toggleClassName("lenis-stopped",t));},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"isLocked",{get:function(){return this.__isLocked},set:function(t){this.__isLocked!==t&&(this.__isLocked=t,this.toggleClassName("lenis-locked",t));},enumerable:!1,configurable:!0}),Object.defineProperty(Lenis.prototype,"className",{get:function(){var t="lenis";return this.isStopped&&(t+=" lenis-stopped"),this.isLocked&&(t+=" lenis-locked"),this.isScrolling&&(t+=" lenis-scrolling"),this.isSmooth&&(t+=" lenis-smooth"),t},enumerable:!1,configurable:!0}),Lenis.prototype.toggleClassName=function(t,e){this.rootElement.classList.toggle(t,e),this.emitter.emit("className change",this);},Lenis}();
24330
24615
 
24331
- const p=reactExports.createContext(null),d=new class Store{constructor(r){this.listeners=[],this.state=r;}set(r){this.state=r;for(let r of this.listeners)r(this.state);}subscribe(r){return this.listeners=[...this.listeners,r],()=>{this.listeners=this.listeners.filter((e=>e!==r));}}get(){return this.state}}({});const m=reactExports.forwardRef(((o,i)=>{var{children:f,root:m=!1,options:b={},autoRaf:h=!0,rafPriority:y=0,className:v}=o,g=function __rest(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(r);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(r,n[s])&&(t[n[s]]=r[n[s]]);}return t}(o,["children","root","options","autoRaf","rafPriority","className"]);const O=reactExports.useRef(null),k=reactExports.useRef(null),[N,j]=reactExports.useState(void 0),C=reactExports.useRef([]),w=reactExports.useCallback(((r,e)=>{C.current.push({callback:r,priority:e}),C.current.sort(((r,e)=>r.priority-e.priority));}),[]),S=reactExports.useCallback((r=>{C.current=C.current.filter((e=>e.callback!==r));}),[]);reactExports.useImperativeHandle(i,(()=>({wrapper:O.current,content:k.current,lenis:N})),[N]),reactExports.useEffect((()=>{const r=new e(Object.assign(Object.assign({},b),!m&&{wrapper:O.current,content:k.current}));return j(r),()=>{r.destroy(),j(void 0);}}),[m,JSON.stringify(b)]),reactExports.useEffect((()=>{if(N&&h)return a.add((r=>{null==N||N.raf(r);}),y)}),[N,h,y]),reactExports.useEffect((()=>{if(m&&N)return d.set({lenis:N,addCallback:w,removeCallback:S}),()=>d.set({})}),[m,N,w,S]);const P=reactExports.useCallback((r=>{for(let e=0;e<C.current.length;e++)C.current[e].callback(r);}),[]);reactExports.useEffect((()=>(null==N||N.on("scroll",P),()=>{null==N||N.off("scroll",P);})),[N,P]);const x=reactExports.useCallback((()=>{O.current&&(O.current.className=clsx(null==N?void 0:N.className,v));}),[N,v]);return reactExports.useEffect((()=>(x(),null==N||N.on("className change",x),()=>{null==N||N.off("className change",x);})),[N,x]),jsxRuntimeExports.jsx(p.Provider,{value:{lenis:N,addCallback:w,removeCallback:S},children:m?f:jsxRuntimeExports.jsx("div",Object.assign({ref:O,className:clsx(null==N?void 0:N.className,v)},g,{children:jsxRuntimeExports.jsx("div",{ref:k,children:f})}))})}));
24616
+ const p=reactExports.createContext(null),d=new class Store{constructor(r){this.listeners=[],this.state=r;}set(r){this.state=r;for(let r of this.listeners)r(this.state);}subscribe(r){return this.listeners=[...this.listeners,r],()=>{this.listeners=this.listeners.filter((e=>e!==r));}}get(){return this.state}}({});function useCurrentLenis(){const r=reactExports.useContext(p),e=function useStore(r){const[e,t]=reactExports.useState(r.get());return reactExports.useEffect((()=>r.subscribe((r=>t(r)))),[r]),e}(d);return null!=r?r:e}function useLenis(r,e=[],t=0){const{lenis:n,addCallback:s,removeCallback:o}=useCurrentLenis();return reactExports.useEffect((()=>{if(r&&s&&o&&n)return s(r,t),r(n),()=>{o(r);}}),[n,s,o,t,...e]),n}const m=reactExports.forwardRef(((o,i)=>{var{children:f,root:m=!1,options:b={},autoRaf:h=!0,rafPriority:y=0,className:v}=o,g=function __rest(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(r);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(r,n[s])&&(t[n[s]]=r[n[s]]);}return t}(o,["children","root","options","autoRaf","rafPriority","className"]);const O=reactExports.useRef(null),k=reactExports.useRef(null),[N,j]=reactExports.useState(void 0),C=reactExports.useRef([]),w=reactExports.useCallback(((r,e)=>{C.current.push({callback:r,priority:e}),C.current.sort(((r,e)=>r.priority-e.priority));}),[]),S=reactExports.useCallback((r=>{C.current=C.current.filter((e=>e.callback!==r));}),[]);reactExports.useImperativeHandle(i,(()=>({wrapper:O.current,content:k.current,lenis:N})),[N]),reactExports.useEffect((()=>{const r=new e(Object.assign(Object.assign({},b),!m&&{wrapper:O.current,content:k.current}));return j(r),()=>{r.destroy(),j(void 0);}}),[m,JSON.stringify(b)]),reactExports.useEffect((()=>{if(N&&h)return a.add((r=>{null==N||N.raf(r);}),y)}),[N,h,y]),reactExports.useEffect((()=>{if(m&&N)return d.set({lenis:N,addCallback:w,removeCallback:S}),()=>d.set({})}),[m,N,w,S]);const P=reactExports.useCallback((r=>{for(let e=0;e<C.current.length;e++)C.current[e].callback(r);}),[]);reactExports.useEffect((()=>(null==N||N.on("scroll",P),()=>{null==N||N.off("scroll",P);})),[N,P]);const x=reactExports.useCallback((()=>{O.current&&(O.current.className=clsx(null==N?void 0:N.className,v));}),[N,v]);return reactExports.useEffect((()=>(x(),null==N||N.on("className change",x),()=>{null==N||N.off("className change",x);})),[N,x]),jsxRuntimeExports.jsx(p.Provider,{value:{lenis:N,addCallback:w,removeCallback:S},children:m?f:jsxRuntimeExports.jsx("div",Object.assign({ref:O,className:clsx(null==N?void 0:N.className,v)},g,{children:jsxRuntimeExports.jsx("div",{ref:k,children:f})}))})}));
24332
24617
 
24333
24618
  class BaseBuffer {
24334
24619
  drawPoints(count, offset) {
@@ -24704,6 +24989,7 @@ uniform float uBlobSize;
24704
24989
  uniform float uCellSize;
24705
24990
  uniform float uNoiseSize;
24706
24991
  uniform float uOpacity;
24992
+ uniform float uScale;
24707
24993
  uniform float uTime;
24708
24994
 
24709
24995
  vec2 random2(vec2 st) {
@@ -24757,7 +25043,7 @@ vec3 intToColor(int color) {
24757
25043
  }
24758
25044
 
24759
25045
  void main(void) {
24760
- vec2 st = vUv;
25046
+ vec2 st = vUv / uScale;
24761
25047
 
24762
25048
  vec2 p1 = st + vec2(cos(uTime * 0.1), sin(uTime * 0.1));
24763
25049
  vec3 b1 = blob(p1);
@@ -24783,7 +25069,8 @@ void main(void) {
24783
25069
 
24784
25070
  color += b3 * c4;
24785
25071
 
24786
- vec2 n = random2(st) * 0.05;
25072
+ // noise
25073
+ vec2 n = random2(st) * 0.025;
24787
25074
  color += n.x - n.y;
24788
25075
 
24789
25076
  gl_FragColor = vec4(color, 1.0);
@@ -24793,16 +25080,17 @@ void main(void) {
24793
25080
  vertex,
24794
25081
  fragment
24795
25082
  };
24796
- const initWebGl = (canvas, _ref) => {
25083
+ const initShader = (canvas, _ref) => {
24797
25084
  let {
24798
- color1 = '#003c8c',
24799
- color2 = '#73c3ff',
24800
- color3 = '#96dca0',
24801
- color4 = '#dcdc3c',
25085
+ color1,
25086
+ color2,
25087
+ color3,
25088
+ color4,
24802
25089
  blobSize = 0.3,
24803
25090
  cellSize = 0.6,
24804
25091
  noiseSize = 0.3,
24805
- opacity = 0.5
25092
+ opacity = 0.5,
25093
+ scale = 1
24806
25094
  } = _ref;
24807
25095
  const gl = canvas.getContext('webgl');
24808
25096
  if (!gl) {
@@ -24858,6 +25146,7 @@ void main(void) {
24858
25146
  program.uCellSize(cellSize);
24859
25147
  program.uNoiseSize(noiseSize);
24860
25148
  program.uOpacity(opacity);
25149
+ program.uScale(scale);
24861
25150
  }
24862
25151
  program.uTime(time * 0.001);
24863
25152
  quad.attribPointer(program);
@@ -24865,6 +25154,24 @@ void main(void) {
24865
25154
  isDirty = !shouldRenderSingleFrame;
24866
25155
  rafID = window.requestAnimationFrame(render);
24867
25156
  };
25157
+ const setUniforms = uniforms => {
25158
+ // console.log('setUniforms', uniforms);
25159
+ if (!program.uColor1) {
25160
+ return;
25161
+ }
25162
+ if (uniforms.color1) {
25163
+ program.uColor1(parseInt(uniforms.color1.replace('#', ''), 16));
25164
+ }
25165
+ if (uniforms.color2) {
25166
+ program.uColor2(parseInt(uniforms.color2.replace('#', ''), 16));
25167
+ }
25168
+ if (uniforms.color3) {
25169
+ program.uColor3(parseInt(uniforms.color3.replace('#', ''), 16));
25170
+ }
25171
+ if (uniforms.color4) {
25172
+ program.uColor4(parseInt(uniforms.color4.replace('#', ''), 16));
25173
+ }
25174
+ };
24868
25175
  setTimeout(render, 0);
24869
25176
  const dispose = () => {
24870
25177
  canRender = false;
@@ -24874,18 +25181,57 @@ void main(void) {
24874
25181
  resizeObserver.disconnect();
24875
25182
  program.dispose();
24876
25183
  };
24877
- return dispose;
25184
+ return {
25185
+ dispose,
25186
+ setUniforms
25187
+ };
24878
25188
  };
24879
- function Canvas() {
25189
+ function Canvas(_ref3) {
25190
+ let {
25191
+ scale = 1
25192
+ } = _ref3;
24880
25193
  const ref = reactExports.useRef(null);
25194
+ const shaderRef = reactExports.useRef();
25195
+ const theme = useLlm(state => state.theme);
25196
+ const getColors = () => {
25197
+ return {
25198
+ color1: theme.color.base[100],
25199
+ color2: theme.color.base[200],
25200
+ color3: theme.color.base[300],
25201
+ color4: theme.color.base[400]
25202
+ };
25203
+ };
25204
+
25205
+ /*
25206
+ const vars = useLlm(state => state.vars);
25207
+ const getColors_ = () => {
25208
+ console.log(vars['--llm-color-base-100']);
25209
+ return {
25210
+ color1: vars['--llm-color-base-100'] || '#003c8c',
25211
+ color2: vars['--llm-color-base-200'] || '#73c3ff',
25212
+ color3: vars['--llm-color-base-300'] || '#96dca0',
25213
+ color4: vars['--llm-color-base-400'] || '#dcdc3c',
25214
+ }
25215
+ };
25216
+ */
25217
+
24881
25218
  reactExports.useEffect(() => {
24882
25219
  if (isBrowser$1 && ref.current) {
24883
- const dispose = initWebGl(ref.current, {});
24884
- return () => dispose();
25220
+ const wgl = initShader(ref.current, {
25221
+ ...getColors(),
25222
+ scale
25223
+ });
25224
+ shaderRef.current = wgl;
25225
+ return () => wgl.dispose();
24885
25226
  } else {
24886
25227
  return undefined;
24887
25228
  }
24888
25229
  }, []);
25230
+ reactExports.useEffect(() => {
25231
+ if (shaderRef.current) {
25232
+ shaderRef.current.setUniforms(getColors());
25233
+ }
25234
+ }, [theme]);
24889
25235
  return /*#__PURE__*/jsxRuntimeExports.jsx("canvas", {
24890
25236
  className: "llm__canvas",
24891
25237
  ref: ref
@@ -25200,9 +25546,9 @@ void main(void) {
25200
25546
  });
25201
25547
  };
25202
25548
 
25203
- const Nl2Br = props => {
25549
+ const NewLineToBr = props => {
25204
25550
  const lines = props.text?.split('\\n').map(function (line, n) {
25205
- return n == 0 ? [line] : [/*#__PURE__*/jsxRuntimeExports.jsx("br", {}, n), line];
25551
+ return n == 0 ? [line] : [/*#__PURE__*/jsxRuntimeExports.jsx("br", {}, `line-${n}`), line];
25206
25552
  });
25207
25553
  return /*#__PURE__*/jsxRuntimeExports.jsx("span", {
25208
25554
  children: lines
@@ -25210,7 +25556,7 @@ void main(void) {
25210
25556
  };
25211
25557
  const clamp = (min, max) => Math.min(Math.max(min + (window.innerWidth - 375) / (1920 - 375) * (max - min), min), max);
25212
25558
 
25213
- const QuickLinks = () => {
25559
+ const Hints = () => {
25214
25560
  const {
25215
25561
  width
25216
25562
  } = useWindowSize();
@@ -25231,23 +25577,25 @@ void main(void) {
25231
25577
  // console.log('QuickLinks.onEnd', response);
25232
25578
  });
25233
25579
  };
25234
- const getCard = (item, j) => {
25580
+ const getCard = (item, index) => {
25235
25581
  return /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
25236
- className: "llm__links-card",
25582
+ className: "llm__hint",
25237
25583
  onClick: () => onClick(item),
25238
25584
  children: [/*#__PURE__*/jsxRuntimeExports.jsxs("div", {
25239
- className: "llm__links-title -llm-t-label-1",
25585
+ className: "llm__hint-title -llm-t-label-1",
25240
25586
  children: [item.icon && /*#__PURE__*/jsxRuntimeExports.jsx("i", {
25241
25587
  children: /*#__PURE__*/jsxRuntimeExports.jsx("img", {
25242
25588
  src: item.icon.src || item.icon.url,
25243
25589
  alt: item.icon.alt
25244
25590
  })
25245
25591
  }), item.title]
25246
- }), /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25247
- className: "llm__links-body -llm-t-body-3",
25248
- children: item.body
25592
+ }), item.body && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25593
+ className: "llm__hint-body -llm-t-body-3",
25594
+ dangerouslySetInnerHTML: {
25595
+ __html: item.body
25596
+ }
25249
25597
  })]
25250
- }, j);
25598
+ }, `card-${index}`);
25251
25599
  };
25252
25600
  const getCards = () => {
25253
25601
  if (width < 768) {
@@ -25262,7 +25610,7 @@ void main(void) {
25262
25610
  }
25263
25611
  };
25264
25612
  return /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25265
- className: "llm__links",
25613
+ className: "llm__hints",
25266
25614
  children: getCards()
25267
25615
  });
25268
25616
  };
@@ -25288,12 +25636,12 @@ void main(void) {
25288
25636
  children: [/*#__PURE__*/jsxRuntimeExports.jsx("stop", {
25289
25637
  offset: "0%",
25290
25638
  style: {
25291
- stopColor: '#dcdc3c'
25639
+ stopColor: 'var(--llm-color-blob-100)'
25292
25640
  }
25293
25641
  }), /*#__PURE__*/jsxRuntimeExports.jsx("stop", {
25294
25642
  offset: "100%",
25295
25643
  style: {
25296
- stopColor: '#d0c911'
25644
+ stopColor: 'var(--llm-color-blob-200)'
25297
25645
  }
25298
25646
  })]
25299
25647
  })
@@ -25325,12 +25673,12 @@ void main(void) {
25325
25673
  children: [/*#__PURE__*/jsxRuntimeExports.jsx("stop", {
25326
25674
  offset: "0%",
25327
25675
  style: {
25328
- stopColor: '#003c8c'
25676
+ stopColor: 'var(--llm-color-blob-300)'
25329
25677
  }
25330
25678
  }), /*#__PURE__*/jsxRuntimeExports.jsx("stop", {
25331
25679
  offset: "100%",
25332
25680
  style: {
25333
- stopColor: '#054ead'
25681
+ stopColor: 'var(--llm-color-blob-400)'
25334
25682
  }
25335
25683
  })]
25336
25684
  })
@@ -25362,12 +25710,12 @@ void main(void) {
25362
25710
  children: [/*#__PURE__*/jsxRuntimeExports.jsx("stop", {
25363
25711
  offset: "0%",
25364
25712
  style: {
25365
- stopColor: '#96dca0'
25713
+ stopColor: 'var(--llm-color-blob-500)'
25366
25714
  }
25367
25715
  }), /*#__PURE__*/jsxRuntimeExports.jsx("stop", {
25368
25716
  offset: "100%",
25369
25717
  style: {
25370
- stopColor: '#0ba224'
25718
+ stopColor: 'var(--llm-color-blob-600)'
25371
25719
  }
25372
25720
  })]
25373
25721
  })
@@ -25386,7 +25734,12 @@ void main(void) {
25386
25734
  };
25387
25735
 
25388
25736
  const Intro = () => {
25737
+ const iframeRef = reactExports.useRef(null);
25389
25738
  const app = useLlm(state => state.app);
25739
+ useLlmView(state => state.introed);
25740
+ const {
25741
+ setIntroed
25742
+ } = useLlmView(state => state.actions);
25390
25743
  const motionItem = {
25391
25744
  hidden: {
25392
25745
  y: '40px'
@@ -25421,7 +25774,67 @@ void main(void) {
25421
25774
  }
25422
25775
  }
25423
25776
  };
25424
- return /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25777
+ const lenis = useLenis();
25778
+ reactExports.useEffect(() => {
25779
+ if (isBrowser$1) {
25780
+ const onMessage = event => {
25781
+ if (!event.data) {
25782
+ return;
25783
+ }
25784
+ const message = JSON.parse(event.data);
25785
+ switch (message.type) {
25786
+ case 'resize':
25787
+ break;
25788
+ case 'introed':
25789
+ // console.log('onMessage.introed');
25790
+ setIntroed(message.introed);
25791
+ break;
25792
+ }
25793
+ };
25794
+ window.addEventListener('message', onMessage);
25795
+ // console.log('onMessage');
25796
+ return () => window.removeEventListener('message', onMessage);
25797
+ }
25798
+ return () => {};
25799
+ }, [setIntroed]);
25800
+
25801
+ /*
25802
+ useEffect(() => {
25803
+ const onScroll = () => {
25804
+ if (iframeRef.current) {
25805
+ const rect = iframeRef.current.getBoundingClientRect();
25806
+ console.log('onScroll', rect.bottom < window.innerHeight);
25807
+ onIntroed(rect.bottom < window.innerHeight);
25808
+ }
25809
+ }
25810
+ window.addEventListener('scroll', onScroll);
25811
+ return () => window.removeEventListener('scroll', onScroll);
25812
+ }, [setIntroed]);
25813
+ */
25814
+
25815
+ reactExports.useEffect(() => {
25816
+ const onLenisScroll = () => {
25817
+ if (iframeRef.current) {
25818
+ const rect = iframeRef.current.getBoundingClientRect();
25819
+ console.log('onLenisScroll', rect.bottom < window.innerHeight);
25820
+ setIntroed(rect.bottom < window.innerHeight);
25821
+ }
25822
+ };
25823
+ if (lenis) {
25824
+ lenis.on('scroll', onLenisScroll);
25825
+ return () => lenis.off('scroll', onLenisScroll);
25826
+ }
25827
+ return () => {};
25828
+ }, [lenis, setIntroed]);
25829
+ if (!app) {
25830
+ return;
25831
+ }
25832
+ return app.contents.customIntro ? /*#__PURE__*/jsxRuntimeExports.jsx("iframe", {
25833
+ ref: iframeRef,
25834
+ className: "llm__customIntro",
25835
+ src: typeof app.contents.customIntro === 'object' ? app.contents.customIntro['it'] : app.contents.customIntro,
25836
+ sandbox: "allow-scripts"
25837
+ }) : /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25425
25838
  className: "llm__intro",
25426
25839
  children: /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25427
25840
  className: "llm-container",
@@ -25446,8 +25859,8 @@ void main(void) {
25446
25859
  })]
25447
25860
  }), /*#__PURE__*/jsxRuntimeExports.jsx(motion.div, {
25448
25861
  variants: motionItem,
25449
- className: "llm__intro-links llm-span-md-6 llm-span-lg-5",
25450
- children: /*#__PURE__*/jsxRuntimeExports.jsx(QuickLinks, {})
25862
+ className: "llm__intro-hints llm-span-md-6 llm-span-lg-5",
25863
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(Hints, {})
25451
25864
  })]
25452
25865
  })
25453
25866
  })
@@ -25492,6 +25905,7 @@ void main(void) {
25492
25905
  onInit: swiper => swiper.update(),
25493
25906
  children: app?.contents.sampleInputTexts.map((s, j) => /*#__PURE__*/jsxRuntimeExports.jsx(SwiperSlide, {
25494
25907
  children: /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25908
+ className: "llm__pill",
25495
25909
  onClick: () => onClick(s),
25496
25910
  children: s.sampleInputText
25497
25911
  })
@@ -25600,85 +26014,15 @@ void main(void) {
25600
26014
  });
25601
26015
  };
25602
26016
 
25603
- const defaultProps = {
25604
- blur: '10px',
25605
- blob1: {
25606
- duration: '4s',
25607
- color: 'var(--llm-color-ui-2)',
25608
- transform: 'translate(400 -100) scale(2 2)'
25609
- },
25610
- blob2: {
25611
- duration: '6s',
25612
- color: 'var(--llm-color-ui-3)',
25613
- transform: 'translate(-600 0) scale(2 2)'
25614
- },
25615
- blob3: {
25616
- duration: '8s',
25617
- color: 'var(--llm-color-ui-4)',
25618
- transform: 'translate(-200 -600) scale(2 2)'
25619
- }
25620
- };
25621
- const Background = props => {
25622
- const blob1 = Object.assign({}, defaultProps.blob1, props.blob1);
25623
- const blob2 = Object.assign({}, defaultProps.blob2, props.blob2);
25624
- const blob3 = Object.assign({}, defaultProps.blob3, props.blob3);
25625
- return /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
25626
- className: "llm__background",
25627
- children: [/*#__PURE__*/jsxRuntimeExports.jsx("span", {
25628
- className: "llm__background-noise",
25629
- style: {
25630
- backgroundImage: 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGuGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjItMDYtMjZUMjM6NTA6NTIrMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIyLTA2LTI2VDIzOjU2OjM4KzAzOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTA2LTI2VDIzOjU2OjM4KzAzOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBkYTdiMWEyLWZhMzAtNDc3ZC05MTkzLTE1N2NlYjlhNjlhYiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOWMwMjFlNy03Y2UyLTQyMjUtOTBjMi1kNWViMjhhZTdjZWQiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxOWMwMjFlNy03Y2UyLTQyMjUtOTBjMi1kNWViMjhhZTdjZWQiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjE5YzAyMWU3LTdjZTItNDIyNS05MGMyLWQ1ZWIyOGFlN2NlZCIgc3RFdnQ6d2hlbj0iMjAyMi0wNi0yNlQyMzo1MDo1MiswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZkMmZmNzcxLTU0YjQtNDMxZi1iMmE0LThhNjRjOTEyNTllNyIgc3RFdnQ6d2hlbj0iMjAyMi0wNi0yNlQyMzo1NjoyNiswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjBkYTdiMWEyLWZhMzAtNDc3ZC05MTkzLTE1N2NlYjlhNjlhYiIgc3RFdnQ6d2hlbj0iMjAyMi0wNi0yNlQyMzo1NjozOCswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3K8pSwAA1CBJREFUeJxk/ddz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)'
25631
- }
25632
- }), /*#__PURE__*/jsxRuntimeExports.jsx("div", {
25633
- className: "llm__background-shade",
25634
- children: /*#__PURE__*/jsxRuntimeExports.jsxs("svg", {
25635
- filter: `blur(${props.blur})`,
25636
- version: "1.1",
25637
- xmlns: "http://www.w3.org/2000/svg",
25638
- width: "100%",
25639
- height: "100%",
25640
- viewBox: "0 0 500 500",
25641
- children: [/*#__PURE__*/jsxRuntimeExports.jsx("path", {
25642
- fill: blob1.color,
25643
- transform: blob1.transform,
25644
- children: /*#__PURE__*/jsxRuntimeExports.jsx("animate", {
25645
- attributeName: "d",
25646
- dur: blob1.duration,
25647
- repeatCount: "indefinite",
25648
- values: "M405.0078,325.44624Q400.89248,400.89248,325.44624,434.97549Q250,469.0585,165.42535,444.1039Q80.8507,419.1493,84.75627,334.57465Q88.66184,250,94.44262,175.1117Q100.2234,100.2234,175.1117,82.29749Q250,64.37159,306.73538,100.45042Q363.47075,136.52925,386.29693,193.26462Q409.12312,250,405.0078,325.44624Z;M385.47259,309.13613Q368.27225,368.27225,309.13613,425.14983Q250,482.02741,183.02911,432.9846Q116.05821,383.94179,100.85787,316.97089Q85.65753,250,111.11302,193.28426Q136.56852,136.56852,193.28426,70.4846Q250,4.40068,303.89298,73.30736Q357.78596,142.21404,380.22944,196.10702Q402.67293,250,385.47259,309.13613Z;M446.86448,329.36764Q408.73529,408.73529,329.36764,419.76576Q250,430.79624,166.60504,423.79308Q83.21008,416.78992,69.36975,333.39496Q55.52942,250,96.13341,193.3687Q136.7374,136.7374,193.3687,119.10083Q250,101.46426,313.50105,112.23108Q377.00211,122.99789,430.99789,186.49895Q484.99368,250,446.86448,329.36764Z;M449.05134,329.9003Q409.80059,409.80059,329.9003,451.15995Q250,492.5193,162.89881,458.36084Q75.79762,424.20238,65.04837,337.10119Q54.29911,250,85.74629,183.59673Q117.19347,117.19347,183.59673,88.1905Q250,59.18753,328.8549,75.73886Q407.7098,92.2902,448.00594,171.1451Q488.30208,250,449.05134,329.9003Z;M405.0078,325.44624Q400.89248,400.89248,325.44624,434.97549Q250,469.0585,165.42535,444.1039Q80.8507,419.1493,84.75627,334.57465Q88.66184,250,94.44262,175.1117Q100.2234,100.2234,175.1117,82.29749Q250,64.37159,306.73538,100.45042Q363.47075,136.52925,386.29693,193.26462Q409.12312,250,405.0078,325.44624Z"
25649
- })
25650
- }), /*#__PURE__*/jsxRuntimeExports.jsx("path", {
25651
- fill: blob2.color,
25652
- transform: blob2.transform,
25653
- children: /*#__PURE__*/jsxRuntimeExports.jsx("animate", {
25654
- attributeName: "d",
25655
- dur: blob2.duration,
25656
- repeatCount: "indefinite",
25657
- values: "M385.47259,309.13613Q368.27225,368.27225,309.13613,425.14983Q250,482.02741,183.02911,432.9846Q116.05821,383.94179,100.85787,316.97089Q85.65753,250,111.11302,193.28426Q136.56852,136.56852,193.28426,70.4846Q250,4.40068,303.89298,73.30736Q357.78596,142.21404,380.22944,196.10702Q402.67293,250,385.47259,309.13613Z;M409.06419,322.5266Q395.0532,395.0532,322.5266,445.11739Q250,495.18159,163.51944,459.07135Q77.03888,422.96112,82.39949,336.48056Q87.7601,250,115.64271,196.76266Q143.52532,143.52532,196.76266,76.83657Q250,10.14783,323.24578,56.82813Q396.49156,103.50844,409.78338,176.75422Q423.07519,250,409.06419,322.5266Z;M423.42552,332.41134Q414.82268,414.82268,332.41134,424.30554Q250,433.78841,170.96572,420.92848Q91.93144,408.06856,46.07152,329.03428Q0.21159,250,66.88003,191.77423Q133.54846,133.54846,191.77423,102.82861Q250,72.10876,305.00592,106.04846Q360.01185,139.98815,396.0201,194.99408Q432.02836,250,423.42552,332.41134Z;M408.24461,332.63257Q415.26513,415.26513,332.63257,434.71568Q250,454.16622,179.33614,422.74697Q108.67228,391.32772,65.87585,320.66386Q23.07942,250,63.27221,176.73251Q103.46501,103.46501,176.73251,63.02288Q250,22.58075,311.86507,74.4253Q373.73015,126.26985,387.47712,188.13493Q401.22409,250,408.24461,332.63257Z;M385.47259,309.13613Q368.27225,368.27225,309.13613,425.14983Q250,482.02741,183.02911,432.9846Q116.05821,383.94179,100.85787,316.97089Q85.65753,250,111.11302,193.28426Q136.56852,136.56852,193.28426,70.4846Q250,4.40068,303.89298,73.30736Q357.78596,142.21404,380.22944,196.10702Q402.67293,250,385.47259,309.13613Z"
25658
- })
25659
- }), /*#__PURE__*/jsxRuntimeExports.jsx("path", {
25660
- fill: blob3.color,
25661
- transform: blob3.transform,
25662
- children: /*#__PURE__*/jsxRuntimeExports.jsx("animate", {
25663
- attributeName: "d",
25664
- dur: blob3.duration,
25665
- repeatCount: "indefinite",
25666
- values: "M385.47259,309.13613Q368.27225,368.27225,309.13613,425.14983Q250,482.02741,183.02911,432.9846Q116.05821,383.94179,100.85787,316.97089Q85.65753,250,111.11302,193.28426Q136.56852,136.56852,193.28426,70.4846Q250,4.40068,303.89298,73.30736Q357.78596,142.21404,380.22944,196.10702Q402.67293,250,385.47259,309.13613Z;M409.06419,322.5266Q395.0532,395.0532,322.5266,445.11739Q250,495.18159,163.51944,459.07135Q77.03888,422.96112,82.39949,336.48056Q87.7601,250,115.64271,196.76266Q143.52532,143.52532,196.76266,76.83657Q250,10.14783,323.24578,56.82813Q396.49156,103.50844,409.78338,176.75422Q423.07519,250,409.06419,322.5266Z;M423.42552,332.41134Q414.82268,414.82268,332.41134,424.30554Q250,433.78841,170.96572,420.92848Q91.93144,408.06856,46.07152,329.03428Q0.21159,250,66.88003,191.77423Q133.54846,133.54846,191.77423,102.82861Q250,72.10876,305.00592,106.04846Q360.01185,139.98815,396.0201,194.99408Q432.02836,250,423.42552,332.41134Z;M408.24461,332.63257Q415.26513,415.26513,332.63257,434.71568Q250,454.16622,179.33614,422.74697Q108.67228,391.32772,65.87585,320.66386Q23.07942,250,63.27221,176.73251Q103.46501,103.46501,176.73251,63.02288Q250,22.58075,311.86507,74.4253Q373.73015,126.26985,387.47712,188.13493Q401.22409,250,408.24461,332.63257Z;M385.47259,309.13613Q368.27225,368.27225,309.13613,425.14983Q250,482.02741,183.02911,432.9846Q116.05821,383.94179,100.85787,316.97089Q85.65753,250,111.11302,193.28426Q136.56852,136.56852,193.28426,70.4846Q250,4.40068,303.89298,73.30736Q357.78596,142.21404,380.22944,196.10702Q402.67293,250,385.47259,309.13613Z"
25667
- })
25668
- })]
25669
- })
25670
- })]
25671
- });
25672
- };
25673
- Background.defaultProps = defaultProps;
25674
-
25675
26017
  const Cta = props => {
25676
- const onClick = () => {
26018
+ const onClick = event => {
25677
26019
  if (typeof props.onClick === 'function') {
25678
- props.onClick();
26020
+ props.onClick(event);
25679
26021
  }
25680
26022
  };
25681
- const bg = props.type == 'button' || props.type == 'submit' ? /*#__PURE__*/jsxRuntimeExports.jsx(Background, {}) : '';
26023
+ const bg = props.type == 'button' || props.type == 'submit' ? /*#__PURE__*/jsxRuntimeExports.jsx(Canvas, {
26024
+ scale: 4
26025
+ }) : '';
25682
26026
  const icon = props.type == 'text' ? /*#__PURE__*/jsxRuntimeExports.jsx(IconLlmArrowRight, {}) : '';
25683
26027
  const classNames = getClassNames('llm__cta', `llm__cta--${props.type}`);
25684
26028
  return props.url ? /*#__PURE__*/jsxRuntimeExports.jsxs("a", {
@@ -25690,7 +26034,7 @@ void main(void) {
25690
26034
  }), icon]
25691
26035
  }) : /*#__PURE__*/jsxRuntimeExports.jsxs("button", {
25692
26036
  className: classNames,
25693
- onClick: () => onClick(),
26037
+ onClick: onClick,
25694
26038
  type: props.type == 'button' || props.type == 'submit' ? props.type : undefined,
25695
26039
  children: [bg, /*#__PURE__*/jsxRuntimeExports.jsx("span", {
25696
26040
  children: props.label
@@ -25706,7 +26050,7 @@ void main(void) {
25706
26050
  const {
25707
26051
  send
25708
26052
  } = useLlmView(state => state.actions);
25709
- const onTellMeMore = async () => {
26053
+ const onTellMeMore = async event => {
25710
26054
  const prompt = `${label('llm.tellMeMoreAbout')} ${props.title}`;
25711
26055
  await send(prompt, response => {
25712
26056
  // console.log('Prompt.onChunk', response.chunks);
@@ -25714,8 +26058,9 @@ void main(void) {
25714
26058
  // console.log('Prompt.onEnd', response);
25715
26059
  });
25716
26060
  };
25717
- const onGoToWebsite = async () => {
26061
+ const onGoToWebsite = async event => {
25718
26062
  if (isBrowser$1) {
26063
+ event.preventDefault();
25719
26064
  const url = await decorateUrl(props, props.url);
25720
26065
  window.open(url, '_blank');
25721
26066
  }
@@ -28494,7 +28839,7 @@ void main(void) {
28494
28839
  const {
28495
28840
  send
28496
28841
  } = useLlmView(state => state.actions);
28497
- const onTellMeMore = async () => {
28842
+ const onTellMeMore = async event => {
28498
28843
  const prompt = `${label('llm.tellMeMoreAbout')} ${props.title}`;
28499
28844
  await send(prompt, response => {
28500
28845
  // console.log('Prompt.onChunk', response.chunks);
@@ -28502,8 +28847,9 @@ void main(void) {
28502
28847
  // console.log('Prompt.onEnd', response);
28503
28848
  });
28504
28849
  };
28505
- const onGoToWebsite = async () => {
28850
+ const onGoToWebsite = async event => {
28506
28851
  if (isBrowser$1) {
28852
+ event.preventDefault();
28507
28853
  const url = await decorateUrl(props, props.url);
28508
28854
  window.open(url, '_blank');
28509
28855
  }
@@ -28571,8 +28917,15 @@ void main(void) {
28571
28917
  const {
28572
28918
  decorateUrl
28573
28919
  } = useLlm(state => state.actions);
28574
- const onGoToWebsite = async () => {
28920
+ const onBookNow = async event => {
28921
+ if (isBrowser$1) {
28922
+ event.preventDefault();
28923
+ window.open(props.book, '_blank');
28924
+ }
28925
+ };
28926
+ const onGoToWebsite = async event => {
28575
28927
  if (isBrowser$1) {
28928
+ event.preventDefault();
28576
28929
  const url = await decorateUrl(props, props.url);
28577
28930
  window.open(url, '_blank');
28578
28931
  }
@@ -28617,9 +28970,8 @@ void main(void) {
28617
28970
  className: "llm__tripadv-ctas",
28618
28971
  children: [props.book && /*#__PURE__*/jsxRuntimeExports.jsx(Cta, {
28619
28972
  type: "button",
28620
- url: props.book,
28621
- target: "_blank",
28622
- label: label('llm.bookNow')
28973
+ label: label('llm.bookNow'),
28974
+ onClick: onBookNow
28623
28975
  }), /*#__PURE__*/jsxRuntimeExports.jsx(Cta, {
28624
28976
  type: "text",
28625
28977
  label: label('llm.goToWebsite'),
@@ -28786,7 +29138,10 @@ void main(void) {
28786
29138
 
28787
29139
  const Main = () => {
28788
29140
  const lenisRef = reactExports.useRef(null);
29141
+ const app = useLlm(state => state.app);
28789
29142
  const messages = useLlm(state => state.messages);
29143
+ const introed = useLlmView(state => state.introed);
29144
+ const visible = useLlmView(state => state.visible);
28790
29145
  const embedded = useLlmView(state => state.embedded);
28791
29146
  const {
28792
29147
  setLenis
@@ -28833,7 +29188,7 @@ void main(void) {
28833
29188
  y: 0,
28834
29189
  transition: {
28835
29190
  type: 'tween',
28836
- delay: 1.2,
29191
+ delay: app?.contents.customIntro ? 0 : 1.2,
28837
29192
  duration: .6
28838
29193
  }
28839
29194
  },
@@ -28845,19 +29200,20 @@ void main(void) {
28845
29200
  }
28846
29201
  }
28847
29202
  });
29203
+ const shouldShowPrompt = !app?.contents.customIntro || introed;
28848
29204
  return /*#__PURE__*/jsxRuntimeExports.jsxs(motion.div, {
28849
29205
  variants: reveal,
28850
29206
  initial: "hidden",
28851
29207
  animate: "show",
28852
29208
  exit: "exit",
28853
29209
  className: classNames,
28854
- children: [/*#__PURE__*/jsxRuntimeExports.jsx(Canvas, {}), /*#__PURE__*/jsxRuntimeExports.jsx(motion.div, {
29210
+ children: [visible && /*#__PURE__*/jsxRuntimeExports.jsx(Canvas, {}), !embedded && /*#__PURE__*/jsxRuntimeExports.jsx(motion.div, {
28855
29211
  className: "llm__top",
28856
29212
  variants: slideIn(-1),
28857
29213
  initial: "hidden",
28858
29214
  animate: "show",
28859
29215
  exit: "exit",
28860
- children: !embedded && /*#__PURE__*/jsxRuntimeExports.jsx(Header, {})
29216
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(Header, {})
28861
29217
  }), /*#__PURE__*/jsxRuntimeExports.jsx(m, {
28862
29218
  ref: lenisRef,
28863
29219
  className: "llm__scroller",
@@ -28868,7 +29224,7 @@ void main(void) {
28868
29224
  className: "llm__content",
28869
29225
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(Intro, {}), messages && messages.length > 0 && /*#__PURE__*/jsxRuntimeExports.jsx(Thread, {})]
28870
29226
  })
28871
- }), /*#__PURE__*/jsxRuntimeExports.jsx(motion.div, {
29227
+ }), shouldShowPrompt && /*#__PURE__*/jsxRuntimeExports.jsx(motion.div, {
28872
29228
  className: "llm__bottom",
28873
29229
  variants: slideIn(1),
28874
29230
  initial: "hidden",
@@ -28881,6 +29237,7 @@ void main(void) {
28881
29237
 
28882
29238
  const Trigger = () => {
28883
29239
  const app = useLlm(state => state.app);
29240
+ const opened = useLlmView(state => state.opened);
28884
29241
  const {
28885
29242
  open
28886
29243
  } = useLlmView(state => state.actions);
@@ -28910,20 +29267,24 @@ void main(void) {
28910
29267
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(Blob, {}), /*#__PURE__*/jsxRuntimeExports.jsx("span", {
28911
29268
  children: label('llm.button')
28912
29269
  })]
28913
- }), /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
29270
+ }), !opened && /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
28914
29271
  className: "llm__trigger-welcome -llm-t-body-2",
28915
29272
  children: [/*#__PURE__*/jsxRuntimeExports.jsxs(motion.div, {
28916
29273
  exit: {
28917
29274
  opacity: 0
28918
29275
  },
28919
- children: [/*#__PURE__*/jsxRuntimeExports.jsx(Background, {}), /*#__PURE__*/jsxRuntimeExports.jsx(Nl2Br, {
29276
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(Canvas, {
29277
+ scale: 8
29278
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(NewLineToBr, {
28920
29279
  text: app?.contents.collapsedWelcomeText
28921
29280
  })]
28922
29281
  }), app?.contents.collapsedWelcomeTextHover && /*#__PURE__*/jsxRuntimeExports.jsxs(motion.div, {
28923
29282
  exit: {
28924
29283
  opacity: 0
28925
29284
  },
28926
- children: [/*#__PURE__*/jsxRuntimeExports.jsx(Background, {}), /*#__PURE__*/jsxRuntimeExports.jsx(Nl2Br, {
29285
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(Canvas, {
29286
+ scale: 8
29287
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(NewLineToBr, {
28927
29288
  text: app?.contents.collapsedWelcomeTextHover
28928
29289
  })]
28929
29290
  })]
@@ -28932,6 +29293,8 @@ void main(void) {
28932
29293
  };
28933
29294
 
28934
29295
  const LlmComponent = /*#__PURE__*/reactExports.forwardRef((props, ref) => {
29296
+ const innerRef = reactExports.useRef(null);
29297
+ const mounted = useMounted();
28935
29298
  const {
28936
29299
  locale
28937
29300
  } = useLayout();
@@ -28939,12 +29302,15 @@ void main(void) {
28939
29302
  init
28940
29303
  } = useLlm(state => state.actions);
28941
29304
  const app = useLlm(state => state.app);
29305
+ const embed = useLlm(state => state.embed);
28942
29306
  const {
28943
29307
  initView,
29308
+ initIntersection,
28944
29309
  open
28945
29310
  } = useLlmView(state => state.actions);
28946
29311
  const idle = useLlmView(state => state.idle);
28947
29312
  const opened = useLlmView(state => state.opened);
29313
+ const introed = useLlmView(state => state.introed);
28948
29314
  const embedded = useLlmView(state => state.embedded);
28949
29315
  reactExports.useImperativeHandle(ref, () => ({
28950
29316
  open: () => {
@@ -28955,26 +29321,72 @@ void main(void) {
28955
29321
  init(locale);
28956
29322
  initView();
28957
29323
  }, [init, locale, initView]);
29324
+ reactExports.useEffect(() => {
29325
+ if (innerRef.current) {
29326
+ initIntersection(innerRef.current);
29327
+ }
29328
+ }, [mounted, initIntersection, innerRef.current]);
28958
29329
  reactExports.useEffect(() => {
28959
29330
  if (!embedded) {
28960
29331
  document.documentElement.style.overflow = opened ? 'hidden' : 'auto';
28961
29332
  }
28962
29333
  }, [opened, embedded]);
28963
- const mounted = useMounted();
29334
+
29335
+ /*
29336
+ useEffect(() => {
29337
+ if (innerRef.current) {
29338
+ const observer = new MutationObserver((mutations) => {
29339
+ const target = mutations[0].target as HTMLDivElement;
29340
+ const mutatedVars: Partial<LlmVars> = {};
29341
+ Object.entries(vars).forEach(([k, v]) => {
29342
+ const newValue = target.style.getPropertyValue(k);
29343
+ if (v !== newValue) {
29344
+ mutatedVars[k] = newValue;
29345
+ }
29346
+ if (
29347
+ k === '--llm-color-base-100' ||
29348
+ k === '--llm-color-base-200' ||
29349
+ k === '--llm-color-base-300' ||
29350
+ k === '--llm-color-base-400'
29351
+ ) {
29352
+ console.log(k, newValue, v);
29353
+ }
29354
+ });
29355
+ if (Object.keys(mutatedVars).length > 0) {
29356
+ setVars(mutatedVars);
29357
+ }
29358
+ });
29359
+ observer.observe(innerRef.current, {
29360
+ attributes: true,
29361
+ attributeFilter: ['style'],
29362
+ });
29363
+ return () => observer.disconnect();
29364
+ } else {
29365
+ return () => { };
29366
+ }
29367
+ }, []);
29368
+ */
29369
+
29370
+ const shouldShowTrigger = !opened && !idle && !embed || app?.contents.customIntro && !introed;
28964
29371
  const classNames = getClassNames('llm', {
28965
29372
  '-open': opened,
28966
29373
  '-embedded': embedded
28967
29374
  });
28968
29375
  if (mounted) {
28969
29376
  return /*#__PURE__*/jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
28970
- children: app && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
29377
+ children: app && /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
29378
+ ref: innerRef,
28971
29379
  className: classNames,
28972
29380
  ...props,
28973
- children: /*#__PURE__*/jsxRuntimeExports.jsxs(AnimatePresence, {
29381
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(AnimatePresence, {
28974
29382
  mode: "wait",
28975
29383
  initial: false,
28976
- children: [!opened && !idle && /*#__PURE__*/jsxRuntimeExports.jsx(Trigger, {}), opened && /*#__PURE__*/jsxRuntimeExports.jsx(Main, {})]
28977
- })
29384
+ children: opened && /*#__PURE__*/jsxRuntimeExports.jsx(Main, {}, "main")
29385
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(AnimatePresence, {
29386
+ mode: "wait",
29387
+ initial: false,
29388
+ children: shouldShowTrigger && /*#__PURE__*/jsxRuntimeExports.jsx(Trigger, {}, "trigger")
29389
+ })]
28978
29390
  })
28979
29391
  });
28980
29392
  } else {
@@ -29491,8 +29903,7 @@ void main(void) {
29491
29903
  filteredElements.push(childElement);
29492
29904
  }
29493
29905
  }
29494
- // console.log('element.tagName', element.tagName);
29495
- if (element.tagName.toLowerCase() === 'llm-embed' && !element.hasAttribute('data-llm')) {
29906
+ if (element.tagName && element.tagName.toLowerCase() === 'llm-embed' && !element.hasAttribute('data-llm')) {
29496
29907
  filteredElements.push(element);
29497
29908
  }
29498
29909
  }