markdown-flow-ui 0.2.9 → 0.2.11

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 (51) hide show
  1. package/dist/_virtual/index.cjs8.js +1 -1
  2. package/dist/_virtual/index.cjs9.js +1 -1
  3. package/dist/_virtual/index.es8.js +2 -2
  4. package/dist/_virtual/index.es9.js +2 -2
  5. package/dist/assets/markdown-flow-ui.css +1 -1
  6. package/dist/components/MarkdownFlow/ScrollToBottomButton.cjs.js +2 -0
  7. package/dist/components/MarkdownFlow/ScrollToBottomButton.cjs.js.map +1 -0
  8. package/dist/components/MarkdownFlow/ScrollToBottomButton.d.ts +8 -0
  9. package/dist/components/MarkdownFlow/ScrollToBottomButton.es.js +28 -0
  10. package/dist/components/MarkdownFlow/ScrollToBottomButton.es.js.map +1 -0
  11. package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.cjs.js +2 -0
  12. package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.cjs.js.map +1 -0
  13. package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.es.js +68 -0
  14. package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.es.js.map +1 -0
  15. package/dist/components/MarkdownFlow/index.cjs.js +1 -1
  16. package/dist/components/MarkdownFlow/index.d.ts +4 -1
  17. package/dist/components/MarkdownFlow/index.es.js +1 -0
  18. package/dist/components/MarkdownFlow/index.es.js.map +1 -1
  19. package/dist/components/MarkdownFlow/useScrollToBottom.cjs.js +2 -0
  20. package/dist/components/MarkdownFlow/useScrollToBottom.cjs.js.map +1 -0
  21. package/dist/components/MarkdownFlow/useScrollToBottom.d.ts +20 -8
  22. package/dist/components/MarkdownFlow/useScrollToBottom.es.js +101 -0
  23. package/dist/components/MarkdownFlow/useScrollToBottom.es.js.map +1 -0
  24. package/dist/components/MarkdownFlow/useScrollToBottom.test.d.ts +1 -0
  25. package/dist/components/Slide/Slide.cjs.js +1 -1
  26. package/dist/components/Slide/Slide.cjs.js.map +1 -1
  27. package/dist/components/Slide/Slide.es.js +412 -402
  28. package/dist/components/Slide/Slide.es.js.map +1 -1
  29. package/dist/components/Slide/utils/stepAudioProgress.cjs.js +2 -0
  30. package/dist/components/Slide/utils/stepAudioProgress.cjs.js.map +1 -0
  31. package/dist/components/Slide/utils/stepAudioProgress.d.ts +22 -0
  32. package/dist/components/Slide/utils/stepAudioProgress.es.js +6 -0
  33. package/dist/components/Slide/utils/stepAudioProgress.es.js.map +1 -0
  34. package/dist/components/Slide/utils/stepAudioProgress.test.d.ts +1 -0
  35. package/dist/components/index.d.ts +4 -1
  36. package/dist/index.cjs.js +1 -1
  37. package/dist/index.es.js +21 -19
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/node_modules/@braintree/sanitize-url/dist/index.cjs.js +1 -1
  40. package/dist/node_modules/@braintree/sanitize-url/dist/index.es.js +1 -1
  41. package/dist/node_modules/classnames/index.cjs.js +1 -1
  42. package/dist/node_modules/classnames/index.es.js +1 -1
  43. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js +7 -0
  44. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js.map +1 -0
  45. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.es.js +13 -0
  46. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.es.js.map +1 -0
  47. package/dist/renderer.cjs.js +1 -1
  48. package/dist/renderer.d.ts +5 -2
  49. package/dist/renderer.es.js +19 -17
  50. package/dist/renderer.es.js.map +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=(e,o)=>e.find(t=>!o.has(t)),i=(e,o)=>d(e,o)!==void 0;exports.hasUnplayedStepAudio=i;exports.resolvePendingStepAudioKey=d;
2
+ //# sourceMappingURL=stepAudioProgress.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepAudioProgress.cjs.js","sources":["../../../../src/components/Slide/utils/stepAudioProgress.ts"],"sourcesContent":["/**\n * Helpers for tracking which audio segments of the current step have played.\n *\n * A step's audio is not a fixed list. Narration is synthesized while the lesson\n * is still streaming, so segments keep arriving after playback has already\n * reached the end of what was available. Progress therefore has to be tracked\n * per audio key rather than by position in the sequence.\n */\n\n/**\n * Return the first audio key of the step that has not played yet.\n *\n * Used to resume playback when late audio extends the current step. Resuming at\n * index 0 instead would replay the opening segment every time.\n */\nexport const resolvePendingStepAudioKey = (\n audioSequenceKeys: readonly string[],\n playedAudioKeys: ReadonlySet<string>\n): string | undefined =>\n audioSequenceKeys.find((audioKey) => !playedAudioKeys.has(audioKey));\n\n/**\n * Return whether the step still holds audio that has not played.\n *\n * When this becomes true again after the step was marked complete, the step is\n * no longer finished and playback must be allowed to restart.\n */\nexport const hasUnplayedStepAudio = (\n audioSequenceKeys: readonly string[],\n playedAudioKeys: ReadonlySet<string>\n): boolean =>\n resolvePendingStepAudioKey(audioSequenceKeys, playedAudioKeys) !== undefined;\n"],"names":["resolvePendingStepAudioKey","audioSequenceKeys","playedAudioKeys","audioKey","hasUnplayedStepAudio"],"mappings":"gFAeO,MAAMA,EAA6B,CACxCC,EACAC,IAEAD,EAAkB,KAAME,GAAa,CAACD,EAAgB,IAAIC,CAAQ,CAAC,EAQxDC,EAAuB,CAClCH,EACAC,IAEAF,EAA2BC,EAAmBC,CAAe,IAAM"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Helpers for tracking which audio segments of the current step have played.
3
+ *
4
+ * A step's audio is not a fixed list. Narration is synthesized while the lesson
5
+ * is still streaming, so segments keep arriving after playback has already
6
+ * reached the end of what was available. Progress therefore has to be tracked
7
+ * per audio key rather than by position in the sequence.
8
+ */
9
+ /**
10
+ * Return the first audio key of the step that has not played yet.
11
+ *
12
+ * Used to resume playback when late audio extends the current step. Resuming at
13
+ * index 0 instead would replay the opening segment every time.
14
+ */
15
+ export declare const resolvePendingStepAudioKey: (audioSequenceKeys: readonly string[], playedAudioKeys: ReadonlySet<string>) => string | undefined;
16
+ /**
17
+ * Return whether the step still holds audio that has not played.
18
+ *
19
+ * When this becomes true again after the step was marked complete, the step is
20
+ * no longer finished and playback must be allowed to restart.
21
+ */
22
+ export declare const hasUnplayedStepAudio: (audioSequenceKeys: readonly string[], playedAudioKeys: ReadonlySet<string>) => boolean;
@@ -0,0 +1,6 @@
1
+ const n = (e, o) => e.find((d) => !o.has(d)), i = (e, o) => n(e, o) !== void 0;
2
+ export {
3
+ i as hasUnplayedStepAudio,
4
+ n as resolvePendingStepAudioKey
5
+ };
6
+ //# sourceMappingURL=stepAudioProgress.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepAudioProgress.es.js","sources":["../../../../src/components/Slide/utils/stepAudioProgress.ts"],"sourcesContent":["/**\n * Helpers for tracking which audio segments of the current step have played.\n *\n * A step's audio is not a fixed list. Narration is synthesized while the lesson\n * is still streaming, so segments keep arriving after playback has already\n * reached the end of what was available. Progress therefore has to be tracked\n * per audio key rather than by position in the sequence.\n */\n\n/**\n * Return the first audio key of the step that has not played yet.\n *\n * Used to resume playback when late audio extends the current step. Resuming at\n * index 0 instead would replay the opening segment every time.\n */\nexport const resolvePendingStepAudioKey = (\n audioSequenceKeys: readonly string[],\n playedAudioKeys: ReadonlySet<string>\n): string | undefined =>\n audioSequenceKeys.find((audioKey) => !playedAudioKeys.has(audioKey));\n\n/**\n * Return whether the step still holds audio that has not played.\n *\n * When this becomes true again after the step was marked complete, the step is\n * no longer finished and playback must be allowed to restart.\n */\nexport const hasUnplayedStepAudio = (\n audioSequenceKeys: readonly string[],\n playedAudioKeys: ReadonlySet<string>\n): boolean =>\n resolvePendingStepAudioKey(audioSequenceKeys, playedAudioKeys) !== undefined;\n"],"names":["resolvePendingStepAudioKey","audioSequenceKeys","playedAudioKeys","audioKey","hasUnplayedStepAudio"],"mappings":"AAeO,MAAMA,IAA6B,CACxCC,GACAC,MAEAD,EAAkB,KAAK,CAACE,MAAa,CAACD,EAAgB,IAAIC,CAAQ,CAAC,GAQxDC,IAAuB,CAClCH,GACAC,MAEAF,EAA2BC,GAAmBC,CAAe,MAAM;"}
@@ -1,6 +1,9 @@
1
1
  export { default as ContentRender } from './ContentRender';
2
2
  export { default as MarkdownFlow } from './MarkdownFlow';
3
- export { default as ScrollableMarkdown } from './MarkdownFlow/ScrollableMarkdownFlow';
3
+ export { default as ScrollableMarkdownFlow } from './MarkdownFlow/ScrollableMarkdownFlow';
4
+ export { default as ScrollToBottomButton } from './MarkdownFlow/ScrollToBottomButton';
5
+ export { default as useScrollToBottom } from './MarkdownFlow/useScrollToBottom';
6
+ export type { ScrollTarget, ScrollTargetRef, UseScrollToBottomOptions, UseScrollToBottomReturn, } from './MarkdownFlow/useScrollToBottom';
4
7
  export { default as MarkdownFlowEditor } from './MarkdownFlowEditor';
5
8
  export { default as Slide } from './Slide';
6
9
  export { Player, useSlide } from './Slide';
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./components/MarkdownFlowEditor/MarkdownFlowEditor.cjs.js"),n=require("./components/MarkdownFlow/MarkdownFlow.cjs.js");require("./_virtual/jsx-runtime.cjs.js");require("react");require("./components/ContentRender/contentRenderI18n.cjs.js");;/* empty css */const r=require("./components/ContentRender/ContentRender.cjs.js"),o=require("./components/ContentRender/IframeSandbox.cjs.js"),a=require("./components/ContentRender/utils/split-content.cjs.js"),u=require("./components/ContentRender/MarkdownFlowInput.cjs.js"),e=require("./lib/interaction-defaults.cjs.js");exports.MarkdownFlowEditor=t.default;exports.MarkdownFlow=n.default;exports.ContentRender=r.default;exports.IframeSandbox=o.default;exports.splitContentSegments=a.splitContentSegments;exports.MarkdownFlowInput=u.default;exports.getInteractionDefaultSelectedValues=e.getInteractionDefaultSelectedValues;exports.getInteractionDefaultValues=e.getInteractionDefaultValues;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/MarkdownFlowEditor/MarkdownFlowEditor.cjs.js"),o=require("./components/MarkdownFlow/MarkdownFlow.cjs.js"),n=require("./components/MarkdownFlow/ScrollableMarkdownFlow.cjs.js"),r=require("./components/MarkdownFlow/ScrollToBottomButton.cjs.js"),l=require("./components/MarkdownFlow/useScrollToBottom.cjs.js"),a=require("./components/ContentRender/ContentRender.cjs.js"),u=require("./components/ContentRender/IframeSandbox.cjs.js"),c=require("./components/ContentRender/utils/split-content.cjs.js"),s=require("./components/ContentRender/MarkdownFlowInput.cjs.js"),t=require("./lib/interaction-defaults.cjs.js");exports.MarkdownFlowEditor=e.default;exports.MarkdownFlow=o.default;exports.ScrollableMarkdownFlow=n.default;exports.ScrollToBottomButton=r.ScrollToBottomButton;exports.useScrollToBottom=l.useScrollToBottom;exports.ContentRender=a.default;exports.IframeSandbox=u.default;exports.splitContentSegments=c.splitContentSegments;exports.MarkdownFlowInput=s.default;exports.getInteractionDefaultSelectedValues=t.getInteractionDefaultSelectedValues;exports.getInteractionDefaultValues=t.getInteractionDefaultValues;
2
2
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.es.js CHANGED
@@ -1,22 +1,24 @@
1
- import { default as n } from "./components/MarkdownFlowEditor/MarkdownFlowEditor.es.js";
2
- import { default as m } from "./components/MarkdownFlow/MarkdownFlow.es.js";
3
- import "./_virtual/jsx-runtime.es.js";
4
- import "react";
5
- import "./components/ContentRender/contentRenderI18n.es.js";
6
- /* empty css */
7
- import { default as d } from "./components/ContentRender/ContentRender.es.js";
8
- import { default as s } from "./components/ContentRender/IframeSandbox.es.js";
9
- import { splitContentSegments as x } from "./components/ContentRender/utils/split-content.es.js";
10
- import { default as I } from "./components/ContentRender/MarkdownFlowInput.es.js";
11
- import { getInteractionDefaultSelectedValues as g, getInteractionDefaultValues as k } from "./lib/interaction-defaults.es.js";
1
+ import { default as e } from "./components/MarkdownFlowEditor/MarkdownFlowEditor.es.js";
2
+ import { default as a } from "./components/MarkdownFlow/MarkdownFlow.es.js";
3
+ import { default as f } from "./components/MarkdownFlow/ScrollableMarkdownFlow.es.js";
4
+ import { ScrollToBottomButton as d } from "./components/MarkdownFlow/ScrollToBottomButton.es.js";
5
+ import { useScrollToBottom as u } from "./components/MarkdownFlow/useScrollToBottom.es.js";
6
+ import { default as s } from "./components/ContentRender/ContentRender.es.js";
7
+ import { default as w } from "./components/ContentRender/IframeSandbox.es.js";
8
+ import { splitContentSegments as S } from "./components/ContentRender/utils/split-content.es.js";
9
+ import { default as k } from "./components/ContentRender/MarkdownFlowInput.es.js";
10
+ import { getInteractionDefaultSelectedValues as I, getInteractionDefaultValues as M } from "./lib/interaction-defaults.es.js";
12
11
  export {
13
- d as ContentRender,
14
- s as IframeSandbox,
15
- m as MarkdownFlow,
16
- n as MarkdownFlowEditor,
17
- I as MarkdownFlowInput,
18
- g as getInteractionDefaultSelectedValues,
19
- k as getInteractionDefaultValues,
20
- x as splitContentSegments
12
+ s as ContentRender,
13
+ w as IframeSandbox,
14
+ a as MarkdownFlow,
15
+ e as MarkdownFlowEditor,
16
+ k as MarkdownFlowInput,
17
+ d as ScrollToBottomButton,
18
+ f as ScrollableMarkdownFlow,
19
+ I as getInteractionDefaultSelectedValues,
20
+ M as getInteractionDefaultValues,
21
+ S as splitContentSegments,
22
+ u as useScrollToBottom
21
23
  };
22
24
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../_virtual/index.cjs8.js"),v=require("./constants.cjs.js");var d;function x(){if(d)return c.__exports;d=1,Object.defineProperty(c.__exports,"__esModule",{value:!0}),c.__exports.sanitizeUrl=void 0;var e=v.__require();function m(r){return e.relativeFirstCharacters.indexOf(r[0])>-1}function p(r){var i=r.replace(e.ctrlCharactersRegex,"");return i.replace(e.htmlEntitiesRegex,function(t,a){return String.fromCharCode(a)})}function R(r){return URL.canParse(r)}function l(r){try{return decodeURIComponent(r)}catch{return r}}function f(r){if(!r)return e.BLANK_URL;var i,t=l(r.trim());do t=p(t).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim(),t=l(t),i=t.match(e.ctrlCharactersRegex)||t.match(e.htmlEntitiesRegex)||t.match(e.htmlCtrlEntityRegex)||t.match(e.whitespaceEscapeCharsRegex);while(i&&i.length>0);var a=t;if(!a)return e.BLANK_URL;if(m(a))return a;var u=a.trimStart(),h=u.match(e.urlSchemeRegex);if(!h)return a;var n=h[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(n))return e.BLANK_URL;var s=u.replace(/\\/g,"/");if(n==="mailto:"||n.includes("://"))return s;if(n==="http:"||n==="https:"){if(!R(s))return e.BLANK_URL;var o=new URL(s);return o.protocol=o.protocol.toLowerCase(),o.hostname=o.hostname.toLowerCase(),o.toString()}return s}return c.__exports.sanitizeUrl=f,c.__exports}exports.__require=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../_virtual/index.cjs9.js"),v=require("./constants.cjs.js");var d;function x(){if(d)return c.__exports;d=1,Object.defineProperty(c.__exports,"__esModule",{value:!0}),c.__exports.sanitizeUrl=void 0;var e=v.__require();function m(r){return e.relativeFirstCharacters.indexOf(r[0])>-1}function p(r){var i=r.replace(e.ctrlCharactersRegex,"");return i.replace(e.htmlEntitiesRegex,function(t,a){return String.fromCharCode(a)})}function R(r){return URL.canParse(r)}function l(r){try{return decodeURIComponent(r)}catch{return r}}function f(r){if(!r)return e.BLANK_URL;var i,t=l(r.trim());do t=p(t).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim(),t=l(t),i=t.match(e.ctrlCharactersRegex)||t.match(e.htmlEntitiesRegex)||t.match(e.htmlCtrlEntityRegex)||t.match(e.whitespaceEscapeCharsRegex);while(i&&i.length>0);var a=t;if(!a)return e.BLANK_URL;if(m(a))return a;var u=a.trimStart(),h=u.match(e.urlSchemeRegex);if(!h)return a;var n=h[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(n))return e.BLANK_URL;var s=u.replace(/\\/g,"/");if(n==="mailto:"||n.includes("://"))return s;if(n==="http:"||n==="https:"){if(!R(s))return e.BLANK_URL;var o=new URL(s);return o.protocol=o.protocol.toLowerCase(),o.hostname=o.hostname.toLowerCase(),o.toString()}return s}return c.__exports.sanitizeUrl=f,c.__exports}exports.__require=x;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as c } from "../../../../_virtual/index.es8.js";
1
+ import { __exports as c } from "../../../../_virtual/index.es9.js";
2
2
  import { __require as v } from "./constants.es.js";
3
3
  var m;
4
4
  function g() {
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../_virtual/index.cjs9.js");/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../_virtual/index.cjs8.js");/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
@@ -1,4 +1,4 @@
1
- import { __module as s } from "../../_virtual/index.es9.js";
1
+ import { __module as s } from "../../_virtual/index.es8.js";
2
2
  /*!
3
3
  Copyright (c) 2018 Jed Watson.
4
4
  Licensed under the MIT License (MIT), see
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../createLucideIcon.cjs.js");/**
2
+ * @license lucide-react v0.525.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],t=o.default("chevron-down",e);exports.__iconNode=e;exports.default=t;
7
+ //# sourceMappingURL=chevron-down.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chevron-down.cjs.js","sources":["../../../../../../node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v0.525.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":"0JAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CAAC,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,SAAU,CAAC,EAC5DC,EAAcC,EAAAA,QAAiB,eAAgBF,CAAU","x_google_ignoreList":[0]}
@@ -0,0 +1,13 @@
1
+ import o from "../createLucideIcon.es.js";
2
+ /**
3
+ * @license lucide-react v0.525.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], c = o("chevron-down", e);
9
+ export {
10
+ e as __iconNode,
11
+ c as default
12
+ };
13
+ //# sourceMappingURL=chevron-down.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chevron-down.es.js","sources":["../../../../../../node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v0.525.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,UAAU,CAAC,GAC5DC,IAAcC,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./components/MarkdownFlow/MarkdownFlow.cjs.js");require("./_virtual/jsx-runtime.cjs.js");require("react");require("./components/ContentRender/contentRenderI18n.cjs.js");;/* empty css */const e=require("./components/ContentRender/ContentRender.cjs.js"),r=require("./components/ContentRender/IframeSandbox.cjs.js"),u=require("./components/ContentRender/utils/split-content.cjs.js"),a=require("./components/ContentRender/MarkdownFlowInput.cjs.js"),t=require("./lib/interaction-defaults.cjs.js");exports.MarkdownFlow=n.default;exports.ContentRender=e.default;exports.default=e.default;exports.IframeSandbox=r.default;exports.splitContentSegments=u.splitContentSegments;exports.MarkdownFlowInput=a.default;exports.getInteractionDefaultSelectedValues=t.getInteractionDefaultSelectedValues;exports.getInteractionDefaultValues=t.getInteractionDefaultValues;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./components/MarkdownFlow/MarkdownFlow.cjs.js"),l=require("./components/MarkdownFlow/ScrollableMarkdownFlow.cjs.js"),n=require("./components/MarkdownFlow/ScrollToBottomButton.cjs.js"),r=require("./components/MarkdownFlow/useScrollToBottom.cjs.js"),e=require("./components/ContentRender/ContentRender.cjs.js"),u=require("./components/ContentRender/IframeSandbox.cjs.js"),a=require("./components/ContentRender/utils/split-content.cjs.js"),c=require("./components/ContentRender/MarkdownFlowInput.cjs.js"),t=require("./lib/interaction-defaults.cjs.js");exports.MarkdownFlow=o.default;exports.ScrollableMarkdownFlow=l.default;exports.ScrollToBottomButton=n.ScrollToBottomButton;exports.useScrollToBottom=r.useScrollToBottom;exports.ContentRender=e.default;exports.default=e.default;exports.IframeSandbox=u.default;exports.splitContentSegments=a.splitContentSegments;exports.MarkdownFlowInput=c.default;exports.getInteractionDefaultSelectedValues=t.getInteractionDefaultSelectedValues;exports.getInteractionDefaultValues=t.getInteractionDefaultValues;
2
2
  //# sourceMappingURL=renderer.cjs.js.map
@@ -1,4 +1,7 @@
1
1
  import { default as MarkdownFlow } from './components/MarkdownFlow';
2
+ import { default as ScrollableMarkdownFlow, ScrollableMarkdownFlowProps } from './components/MarkdownFlow/ScrollableMarkdownFlow';
3
+ import { default as ScrollToBottomButton } from './components/MarkdownFlow/ScrollToBottomButton';
4
+ import { default as useScrollToBottom } from './components/MarkdownFlow/useScrollToBottom';
2
5
  import { default as ContentRender } from './components/ContentRender';
3
6
  import { default as MarkdownFlowInput, MarkdownFlowInputProps } from './components/ContentRender/MarkdownFlowInput';
4
7
  import { default as IframeSandbox, IframeSandboxProps } from './components/ContentRender/IframeSandbox';
@@ -9,7 +12,7 @@ import { ContentRenderProps } from './components/ContentRender/ContentRender';
9
12
  import { OnSendContentParams, CustomRenderBarProps } from './components/types';
10
13
  import { SandboxAppProps } from './components/ContentRender/SandboxApp';
11
14
  export default ContentRender;
12
- export { MarkdownFlow, ContentRender, MarkdownFlowInput, IframeSandbox, getInteractionDefaultValues, getInteractionDefaultSelectedValues, splitContentSegments, };
13
- export type { OnSendContentParams, CustomRenderBarProps, MarkdownFlowProps, ContentRenderProps, MarkdownFlowInputProps, IframeSandboxProps, SandboxAppProps, RenderSegment, };
15
+ export { MarkdownFlow, ScrollableMarkdownFlow, ScrollToBottomButton, useScrollToBottom, ContentRender, MarkdownFlowInput, IframeSandbox, getInteractionDefaultValues, getInteractionDefaultSelectedValues, splitContentSegments, };
16
+ export type { OnSendContentParams, CustomRenderBarProps, MarkdownFlowProps, ScrollableMarkdownFlowProps, ContentRenderProps, MarkdownFlowInputProps, IframeSandboxProps, SandboxAppProps, RenderSegment, };
14
17
  export type { InteractionDefaultResolver, InteractionDefaultResolverParams, InteractionDefaultValueOptions, InteractionDefaultValues, InteractionParseResult, } from './lib/interaction-defaults';
15
18
  export type { MarkdownFlowLocale } from './lib/locale';
@@ -1,21 +1,23 @@
1
- import { default as p } from "./components/MarkdownFlow/MarkdownFlow.es.js";
2
- import "./_virtual/jsx-runtime.es.js";
3
- import "react";
4
- import "./components/ContentRender/contentRenderI18n.es.js";
5
- /* empty css */
6
- import n from "./components/ContentRender/ContentRender.es.js";
7
- import { default as d } from "./components/ContentRender/IframeSandbox.es.js";
8
- import { splitContentSegments as i } from "./components/ContentRender/utils/split-content.es.js";
9
- import { default as x } from "./components/ContentRender/MarkdownFlowInput.es.js";
10
- import { getInteractionDefaultSelectedValues as I, getInteractionDefaultValues as c } from "./lib/interaction-defaults.es.js";
1
+ import { default as a } from "./components/MarkdownFlow/MarkdownFlow.es.js";
2
+ import { default as f } from "./components/MarkdownFlow/ScrollableMarkdownFlow.es.js";
3
+ import { ScrollToBottomButton as m } from "./components/MarkdownFlow/ScrollToBottomButton.es.js";
4
+ import { useScrollToBottom as u } from "./components/MarkdownFlow/useScrollToBottom.es.js";
5
+ import t from "./components/ContentRender/ContentRender.es.js";
6
+ import { default as s } from "./components/ContentRender/IframeSandbox.es.js";
7
+ import { splitContentSegments as c } from "./components/ContentRender/utils/split-content.es.js";
8
+ import { default as S } from "./components/ContentRender/MarkdownFlowInput.es.js";
9
+ import { getInteractionDefaultSelectedValues as I, getInteractionDefaultValues as g } from "./lib/interaction-defaults.es.js";
11
10
  export {
12
- n as ContentRender,
13
- d as IframeSandbox,
14
- p as MarkdownFlow,
15
- x as MarkdownFlowInput,
16
- n as default,
11
+ t as ContentRender,
12
+ s as IframeSandbox,
13
+ a as MarkdownFlow,
14
+ S as MarkdownFlowInput,
15
+ m as ScrollToBottomButton,
16
+ f as ScrollableMarkdownFlow,
17
+ t as default,
17
18
  I as getInteractionDefaultSelectedValues,
18
- c as getInteractionDefaultValues,
19
- i as splitContentSegments
19
+ g as getInteractionDefaultValues,
20
+ c as splitContentSegments,
21
+ u as useScrollToBottom
20
22
  };
21
23
  //# sourceMappingURL=renderer.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"renderer.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
package/package.json CHANGED
@@ -175,7 +175,7 @@
175
175
  ]
176
176
  }
177
177
  },
178
- "version": "0.2.9",
178
+ "version": "0.2.11",
179
179
  "type": "module",
180
180
  "exports": {
181
181
  ".": {