import { a8 as W, ao as l, A as Q, j as e, z as C, t as K, g as m, d as p, P as h, _ as M, ad as P, ap as H, $ as i, aq as y, B as D, ar as c, u as $, v as ee, N as r, as as w, at as te, x as q, F as v, au as O, H as R, q as Y, M as x, i as oe, U as ne, k as _, G as T, J as se, Q as ae, W as J } from "./styles.css-DWQk1uxg.mjs";
import { useState as k, useEffect as ie } from "react";
const V = `\`\`\`javascript
<script type="text/javascript">
  (function(d, t) {
      var v = d.createElement(t), s = d.getElementsByTagName(t)[0];
      v.onload = function() {
        window.voiceflow.chat.load({
          verify: { projectID: 'howdy folks, very cool verification hash here' },
          url: 'https://general-runtime.voiceflow.com',
          versionID: 'production'
        });
      }
      v.src = "https://cdn.voiceflow.com/widget/bundle.mjs"; v.type = "text/javascript"; s.parentNode.insertBefore(v, s);
  })(document, 'script');
<\/script>
\`\`\`
`, re = `# Code and Syntax Highlighting

\`\`\`javascript
<script type="text/javascript">
  (function(d, t) {
      var v = d.createElement(t), s = d.getElementsByTagName(t)[0];
      v.onload = function() {
        window.voiceflow.chat.load({
          verify: { projectID: 'howdy folks, very cool verification hash here' },
          url: 'https://general-runtime.voiceflow.com',
          versionID: 'production'
        });
      }
      v.src = "https://cdn.voiceflow.com/widget/bundle.mjs"; v.type = "text/javascript"; s.parentNode.insertBefore(v, s);
  })(document, 'script');
<\/script>
\`\`\`

\`\`\`css
@font-face {
  font-family: Chunkfive;
  src: url('Chunkfive.otf');
}

body,
.usertext {
  color: #f0f0f0;
  background: #600;
  font-family: Chunkfive, sans;
}

@import url(print.css);
@media print {
  a[href^='http']::after {
    content: attr(href);
  }
}
\`\`\`
`, le = `# Lists

1. First ordered list item
2. Another item
3. Actual numbers don't matter, just that it's a number
4. And another item.

- Unordered list can use asterisks

* Or minuses

- Or pluses

1. Make my changes
   1. Fix bug
   2. Improve formatting
      - Make the headings bigger
2. Push my commits to GitHub
3. Open a pull request
   - Describe my changes
   - Mention all the members of my team
     - Ask for feedback

---

# Task lists

- [x] Finish my changes
- [ ] Push my commits to GitHub
- [ ] Open a pull request
- [x] @mentions, #refs, [links](), **formatting**, and <del>tags</del> supported
- [x] list syntax required (any unordered or ordered list supported)
- [ ] this is a complete item
- [ ] this is an incomplete item

---

# Ignoring Markdown formatting

You can tell GitHub to ignore (or escape) Markdown formatting by using \\ before the Markdown character.

Let's rename \\*our-new-project\\* to \\*our-old-project\\*.

---

# Links

[I'm an inline-style link](https://www.google.com)

[I'm an inline-style link with title](https://www.google.com "Google's Homepage")

[I'm a reference-style link][Arbitrary case-insensitive reference text]

[I'm a relative reference to a repository file](../blob/master/LICENSE)

[You can use numbers for reference-style link definitions][1]

Or leave it empty and use the [link text itself].

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or <http://www.example.com> and sometimes
example.com (but not on Github, for example).

Some text to show that the reference links can follow later.

[arbitrary case-insensitive reference text]: https://www.mozilla.org
[1]: http://slashdot.org
[link text itself]: http://www.reddit.com

# Images

Here's our logo (hover to see the title text):

Inline-style:
![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png 'Logo Title Text 1')

Reference-style:
![alt text][logo]

[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png 'Logo Title Text 2'

Like links, Images also have a footnote style syntax

![Alt text][id]

With a reference later in the document defining the URL location:

---

# [Footnotes](https://github.com/markdown-it/markdown-it-footnote)

Footnote 1 link[^first].

Footnote 2 link[^second].

Inline footnote^[Text of inline footnote] definition.

Duplicated footnote reference[^second].

[^first]: Footnote **can have markup**

    and multiple paragraphs.

[^second]: Footnote text.

---
`, ce = `# Tables

Colons can be used to align columns.

| Tables        |      Are      |  Cool |
| ------------- | :-----------: | ----: |
| col 3 is      | right-aligned | $1600 |
| col 2 is      |   centered    |   $12 |
| zebra stripes |   are neat    |    $1 |

There must be at least 3 dashes separating each header cell.
The outer pipes (|) are optional, and you don't need to make the
raw Markdown line up prettily. You can also use inline Markdown.

| Markdown | Less      | Pretty     |
| -------- | --------- | ---------- |
| _Still_  | \`renders\` | **nicely** |
| 1        | 2         | 3          |

| First Header | Second Header |
| ------------ | ------------- |
| Content Cell | Content Cell  |
| Content Cell | Content Cell  |

| Command    | Description                                    |
| ---------- | ---------------------------------------------- |
| git status | List all new or modified files                 |
| git diff   | Show file differences that haven't been staged |

| Command      | Description                                        |
| ------------ | -------------------------------------------------- |
| \`git status\` | List all _new or modified_ files                   |
| \`git diff\`   | Show file differences that **haven't been** staged |

| Left-aligned | Center-aligned | Right-aligned |
| :----------- | :------------: | ------------: |
| git status   |   git status   |    git status |
| git diff     |    git diff    |      git diff |

| Name     | Character |
| -------- | --------- |
| Backtick | \`         |
| Pipe     | \\|        |

---

# Blockquotes

> Blockquotes are very handy in email to emulate reply text.
> This line is part of the same quote.
> Quote break.

> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can _put_ **Markdown** into a blockquote.
> Blockquotes can also be nested...
>
> > ...by using additional greater-than signs right next to each other...
> >
> > > ...or with spaces between arrows.

---

# Inline HTML

<dl>
  <dt>Definition list</dt>
  <dd>Is something people use sometimes.</dd>

  <dt>Markdown in HTML</dt>
  <dd>Does *not* work **very** well. Use HTML <em>tags</em>.</dd>
</dl>

---

# Horizontal Rules

Three or more...

---

Hyphens

---

Asterisks

---

Underscores

---
`, N = `# Howdy!

# h1 Voiceflow

## h2 Voiceflow

### h3 Voiceflow

#### h4 Voiceflow

##### h5 Voiceflow

###### h6 Voiceflow

# Alt-H1

## Alt-H2

---

What does a really long block of text look like? Well, it looks like this. And there's even more of it than you could ever imagine. We want to see how this wraps and displays line height properly. So we're going to keep going. What does a really long block of text look like? Well, it looks like this. And there's even more of it than you could ever imagine. We want to see how this wraps and displays line height properly. So we're going to keep going.

---

# Emphasis

Emphasis, aka italics, with _asterisks_ or _underscores_.

Strong emphasis, aka bold, with **asterisks** or **underscores**.

Combined emphasis with **asterisks and _underscores_**.

**This is bold text**

_This is italic text_

~~Strikethrough~~
`, f = [{ type: "paragraph", children: [{ text: "Hello, world!" }] }], de = { type: "speak", payload: { message: "End of conversation." } }, ge = {
  name: "SampleExtension",
  type: W.RESPONSE,
  match() {
    throw new Error("Function not implemented.");
  }
};
l.TEXT;
l.TEXT;
l.IMAGE;
l.CARD;
l.CAROUSEL;
l.END;
l.EXTENSION;
const g = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABlSURBVHgB7ZOxCYBQDEQvH2LhKI7h0nauYOcoIkE4d0hzgvf6QOC9i+24+WBCl3UJzP1zDERAyYCYDzxAQokbsAIrsAI3IG8gqoqZiS77SVyFNoNqBfH7GcoVQIwb8AytwArcwAspAyS5uk3juAAAAABJRU5ErkJggg==", ue = "Howdy folks how yall doing out there?", Ae = {
  title: "Core/AgentMessage",
  component: Q
}, me = {
  args: {
    text: f
  }
}, pe = {
  args: {
    text: f,
    ai: !0,
    generatedMessage: "Generated by AI, double-check for accuracy."
  }
}, he = {
  args: {
    text: f,
    ai: !0,
    generatedMessage: "Generated by AI, double-check for accuracy.",
    children: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
      /* @__PURE__ */ e.jsx(
        C,
        {
          image: g,
          inline: !0,
          title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
          link: "voiceflow.com"
        }
      ),
      /* @__PURE__ */ e.jsx(
        C,
        {
          image: g,
          inline: !0,
          title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
          link: "voiceflow.com"
        }
      ),
      /* @__PURE__ */ e.jsx(
        C,
        {
          image: g,
          inline: !0,
          title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
          link: "voiceflow.com"
        }
      )
    ] })
  }
}, Ie = {
  args: {
    text: N
  }
}, Ee = {
  args: {
    text: re
  }
}, Ce = {
  args: {
    text: V
  },
  render: ({ children: t, ...n }) => /* @__PURE__ */ e.jsx("div", { style: { maxWidth: "300px" }, children: /* @__PURE__ */ e.jsx(Q, { ...n }) })
}, ye = {
  args: {
    text: ce
  }
}, fe = {
  args: {
    text: le
  }
}, U = ({ message: t }) => {
  const [n, E] = k("");
  return ie(() => {
    let d = 0;
    const I = setInterval(() => {
      E(t.slice(0, d + 1)), d++, d === t.length && clearInterval(I);
    }, 5);
    return () => clearInterval(I);
  }, [t]), /* @__PURE__ */ e.jsx(Q, { text: n });
}, Be = {
  render: () => /* @__PURE__ */ e.jsx(U, { message: ue }),
  parameters: {
    chromatic: { disableSnapshot: !0 }
  }
}, we = {
  render: () => /* @__PURE__ */ e.jsx(U, { message: N }),
  parameters: {
    chromatic: { disableSnapshot: !0 }
  }
}, Xt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  AIGenerated: pe,
  CodeResponse: Ce,
  InlineCode: Ee,
  Lists: fe,
  Markdown: Ie,
  Small: me,
  Streaming: Be,
  StreamingFullMarkdown: we,
  Tables: ye,
  WithLink: he,
  default: Ae
}, Symbol.toStringTag, { value: "Module" })), o = "data:image/png;base64, ", Qe = {
  title: "Core/Avatar",
  component: K,
  argTypes: {
    size: {
      options: ["small", "large"],
      control: { type: "radio" },
      defaultValue: "small"
    }
  },
  args: {
    avatar: o
  }
}, ve = {
  args: {
    size: "small"
  }
}, xe = {
  args: {
    size: "large"
  }
}, Wt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Large: xe,
  Small: ve,
  default: Qe
}, Symbol.toStringTag, { value: "Module" })), s = (t, { args: n }) => /* @__PURE__ */ e.jsx("div", { style: m(h, { colors: p() }), children: /* @__PURE__ */ e.jsx(t, { args: { ...n } }) }), z = (t) => /* @__PURE__ */ e.jsx(
  M,
  {
    config: {
      verify: { projectID: "project-id" },
      url: "",
      versionID: "version-id",
      autostart: !0,
      allowDangerousHTML: !0,
      user: { name: "User" },
      render: { mode: P.OVERLAY }
    },
    assistant: {
      title: "Voiceflow Assistant",
      color: H.ACCENT[500],
      image: i,
      avatar: i,
      launcher: void 0,
      watermark: !0,
      feedback: !1,
      stylesheet: void 0,
      description: "",
      position: y.ChatPosition.RIGHT,
      persistence: y.ChatPersistence.LOCAL_STORAGE,
      audioInterface: !1,
      defaultAudioOutput: void 0,
      spacing: {
        side: 30,
        bottom: 30
      },
      extensions: []
    },
    children: t()
  }
), ke = "test-id", be = {
  title: "Core/Button",
  component: D,
  argTypes: {
    variant: {
      options: Object.values(c),
      control: { type: "radio" },
      defaultValue: c.PRIMARY
    }
  },
  args: {
    children: "Button label",
    round: !1,
    onClick: () => {
      alert("Button clicked");
    },
    testID: ke
  },
  decorators: [s]
}, Se = {
  args: {
    variant: c.PRIMARY
  }
}, Le = {
  args: {
    variant: c.PRIMARY,
    large: "true"
  }
}, je = {
  args: {
    variant: c.SECONDARY
  }
}, Re = {
  args: {
    variant: c.SECONDARY,
    large: "true"
  }
}, Te = {
  args: {
    variant: c.INLINE
  }
}, Me = {
  args: {
    variant: c.INLINE,
    children: "Button label that is very long and should wrap. Button label that is very long and should wrap."
  },
  render: () => /* @__PURE__ */ e.jsx("div", { style: { width: "200px" }, children: /* @__PURE__ */ e.jsx(D, { variant: c.INLINE, large: "true", children: "Button label that is very long and should wrap. Button label that is very long and should wrap." }) })
}, Kt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Inline: Te,
  InlineWrapped: Me,
  Primary: Se,
  PrimaryLarge: Le,
  Secondary: je,
  SecondaryLarge: Re,
  default: be
}, Symbol.toStringTag, { value: "Module" })), Pe = {
  title: "Components/Card",
  component: $,
  args: {
    title: "Title",
    image: "",
    description: "Description.",
    actions: []
  }
}, He = {}, De = {
  args: {
    description: void 0
  }
}, qe = {
  args: {
    title: void 0
  }
}, B = {
  args: {
    image: g
  }
}, Oe = {
  args: {
    ...B.args,
    actions: [
      { request: {}, name: "Label" },
      { request: {}, name: "Label" },
      { request: {}, name: "Label" }
    ]
  }
}, Ye = {
  args: {
    title: void 0,
    description: void 0,
    actions: [
      { request: {}, name: "Label" },
      { request: {}, name: "Label" },
      { request: {}, name: "Label" }
    ]
  }
}, _e = {
  args: {
    ...B.args,
    actions: [
      { request: {}, name: "First Button with a very long long long wrapping label" },
      { request: {}, name: "Second Button with a shorter text" },
      { request: {}, name: "Third button, also with a shorter text" }
    ]
  }
}, Je = {
  args: {
    ...B.args,
    title: "Long card title to wrap inside the card. Some more text to test the growth of card.",
    actions: [{ request: {}, name: "First Button" }]
  }
}, $t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Actionable: Oe,
  OnlyActions: Ye,
  OnlyDescription: qe,
  OnlyTitle: De,
  Simple: He,
  WithImage: B,
  WithLongLabels: _e,
  WithLongTitle: Je,
  default: Pe
}, Symbol.toStringTag, { value: "Module" })), G = "https://picsum.photos/seed/9/300/200", Ve = {
  component: ee,
  title: "Components/Carousel",
  decorators: [
    (t) => /* @__PURE__ */ e.jsx(
      M,
      {
        config: {
          verify: { projectID: "project-id" },
          url: "",
          versionID: "version-id",
          autostart: !0,
          allowDangerousHTML: !0,
          user: { name: "User" },
          render: { mode: P.OVERLAY }
        },
        assistant: {
          title: "Voiceflow Assistant",
          color: H.ACCENT[500],
          image: i,
          avatar: i,
          launcher: void 0,
          watermark: !0,
          feedback: !1,
          stylesheet: void 0,
          description: "",
          position: y.ChatPosition.RIGHT,
          persistence: y.ChatPersistence.LOCAL_STORAGE,
          audioInterface: !1,
          defaultAudioOutput: void 0,
          spacing: {
            side: 30,
            bottom: 30
          },
          extensions: []
        },
        children: t()
      }
    ),
    s
  ]
}, F = G, Z = {
  title: "First Card",
  description: "Lorem ipsum dolor sit amet",
  image: F,
  actions: [
    { request: {}, name: "First Button" },
    { request: {}, name: "Second Button" },
    { request: {}, name: "Third Button" }
  ]
}, b = [
  Z,
  {
    title: "Second Card",
    description: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem voluptas perspiciatis est quis dolores!",
    image: F
  },
  {
    title: "Third Card with a long title that wraps",
    description: "Lorem ipsum dolor sit amet consectetur adipisicing elit.",
    actions: [
      { request: {}, name: "Fourth Button with a long label that wraps" },
      { request: {}, name: "Fifth Button" }
    ]
  }
], Ne = {
  render: () => /* @__PURE__ */ e.jsx("div", { style: { width: "380px" }, children: /* @__PURE__ */ e.jsxs(
    r,
    {
      title: "Your awesome assistant",
      description: "Im hot, youre not, deal with it",
      avatar: i,
      isLoading: !1,
      image: G,
      hasEnded: !1,
      messageInputProps: {},
      children: [
        /* @__PURE__ */ e.jsx(
          w,
          {
            avatar: i,
            message: {
              type: l.CAROUSEL,
              cards: b
            },
            withImage: !1
          }
        ),
        /* @__PURE__ */ e.jsx(
          w,
          {
            avatar: i,
            message: {
              type: l.TEXT,
              text: "Do you like this carousel ?"
            },
            withImage: !0
          }
        )
      ]
    }
  ) })
}, Ue = {
  args: {
    cards: [Z]
  }
}, ze = {
  args: {
    cards: b
  }
}, Ge = {
  args: {
    cards: b
  }
}, eo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Default: Ne,
  MultipleCards: ze,
  SingleCard: Ue,
  WithControls: Ge,
  default: Ve
}, Symbol.toStringTag, { value: "Module" })), Fe = {
  title: "Core/Carousel Button",
  component: te,
  args: {
    visible: !0
  }
}, Ze = {
  args: {
    direction: "right"
  }
}, Xe = {
  args: {
    direction: "left"
  }
}, to = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Left: Xe,
  Right: Ze,
  default: Fe
}, Symbol.toStringTag, { value: "Module" })), We = [
  "orange",
  "#397DFF",
  "#A3E4D7",
  "red",
  "#F1948A",
  "#0000FF",
  "#85C1E9",
  "#F7DC6F",
  "#BB8FCE",
  "green",
  "black",
  "yellow",
  "purple"
], Ke = {
  title: "Theme/Colors",
  component: q
}, $e = {
  render: () => /* @__PURE__ */ e.jsx("div", { children: We.map((t, n) => /* @__PURE__ */ e.jsx("div", { style: { marginBottom: "2rem" }, children: /* @__PURE__ */ e.jsx(q, { color: t }) }, n)) })
}, oo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Primary: $e,
  default: Ke
}, Symbol.toStringTag, { value: "Module" })), et = {
  title: "Button/FeedbackButton",
  component: v,
  args: {}
}, tt = {
  render: () => /* @__PURE__ */ e.jsx("div", { style: { width: "400px", ...m(h, { colors: p("green") }) }, children: /* @__PURE__ */ e.jsx(v, { onClick: () => null, variant: O.PREVIOUS_RESPONSE }) })
}, ot = {
  render: () => /* @__PURE__ */ e.jsx("div", { style: { width: "400px", ...m(h, { colors: p("red") }) }, children: /* @__PURE__ */ e.jsx(v, { onClick: () => null, variant: O.LAST_RESPONSE }) })
}, no = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  LastResponse: ot,
  PreviousResponse: tt,
  default: et
}, Symbol.toStringTag, { value: "Module" })), nt = {
  title: "Components/Chat/Header",
  component: R,
  args: {
    title: "Agent name",
    image: o,
    actions: []
  },
  render: (t) => /* @__PURE__ */ e.jsx(R, { ...t }),
  decorators: [s]
}, st = {}, at = {
  args: {
    actions: [{ svg: "volume" }, { svg: "reset" }]
  }
}, it = {
  args: {
    actions: [{ svg: "mute" }, { svg: "reset" }]
  }
}, rt = {
  args: {
    actions: [{ svg: "volume" }, { svg: "reset" }]
  },
  decorators: [s]
}, lt = {
  args: {
    actions: [{ svg: "volume" }, { svg: "reset" }],
    image: void 0
  },
  decorators: [s]
}, ct = {
  args: {
    actions: [{ svg: "volume" }, { svg: "reset" }, { svg: "close" }]
  },
  decorators: [s]
}, so = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Actionable: at,
  Base: st,
  Mobile: ct,
  Muted: it,
  NoImage: lt,
  Themed: rt,
  default: nt
}, Symbol.toStringTag, { value: "Module" })), dt = {
  title: "Components/Launcher",
  component: Y,
  parameters: {
    controls: { hideNoControlsWarning: !0 }
  },
  decorators: [s]
}, S = (t) => {
  const [n, E] = k(!1), d = () => {
    E((I) => !I), console.log("toggle");
  };
  return /* @__PURE__ */ e.jsx(Y, { isOpen: n, onClick: d, ...t });
}, gt = {
  render: () => /* @__PURE__ */ e.jsx(S, {})
}, ut = { render: () => /* @__PURE__ */ e.jsx(S, { image: g }) }, At = {
  render: () => /* @__PURE__ */ e.jsx(S, { image: g, label: "Label" })
}, ao = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Base: gt,
  WithCustomIcon: ut,
  WithLabel: At,
  default: dt
}, Symbol.toStringTag, { value: "Module" })), mt = {
  title: "Components/LinkPreview",
  component: C,
  parameters: {
    controls: { hideNoControlsWarning: !0 }
  }
}, pt = {
  args: {
    image: g,
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "websiteexample.com"
  }
}, ht = {
  args: {
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "websiteexample.com"
  }
}, It = {
  args: {
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "https://google.com"
  }
}, Et = {
  args: {
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "some_guide.pdf"
  }
}, Ct = {
  args: {
    inline: !0,
    image: g,
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "websiteexample.com"
  }
}, yt = {
  args: {
    inline: !0,
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "websiteexample.com"
  }
}, ft = {
  args: {
    inline: !0,
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "https://google.com"
  }
}, Bt = {
  args: {
    inline: !0,
    title: "Lorem ipsum dolor sit amet consectetur. Quis risus nibh tincidunt platea. A donec amet gravida aliquam sed eget aliquet sollicitudin turpis.",
    link: "some_guide.pdf"
  }
}, io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Default: pt,
  DocumentPdf: Et,
  DocumentUrl: It,
  Inline: Ct,
  InlineDocumentPdf: Bt,
  InlineDocumentUrl: ft,
  Loading: ht,
  LoadingInline: yt,
  default: mt
}, Symbol.toStringTag, { value: "Module" })), wt = {
  title: "Core/MessageInput",
  component: x,
  decorators: [
    s,
    (t) => /* @__PURE__ */ e.jsx("div", { style: { width: "400px" }, children: /* @__PURE__ */ e.jsx(t, {}) })
  ]
}, Qt = () => /* @__PURE__ */ e.jsx("div", { style: { width: "380px" }, children: /* @__PURE__ */ e.jsx(x, { placeholder: "Message...", onSubmit: () => Promise.resolve() }) }), vt = {
  render: () => /* @__PURE__ */ e.jsx(Qt, {})
}, xt = {
  render: () => /* @__PURE__ */ e.jsx("div", { style: { width: "380px" }, children: /* @__PURE__ */ e.jsx(
    x,
    {
      placeholder: "Message...",
      disableSend: !1,
      audioInterface: !0,
      onSubmit: () => Promise.resolve()
    }
  ) })
}, ro = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Base: vt,
  WithAudioInput: xt,
  default: wt
}, Symbol.toStringTag, { value: "Module" })), kt = {
  title: "Widget",
  parameters: {
    layout: "centered"
  },
  decorators: [z, s]
}, a = (t) => /* @__PURE__ */ e.jsx(
  oe,
  {
    avatar: o,
    timestamp: Date.now(),
    messages: t.map((n) => ({ type: "text", text: n }))
  }
), A = (t) => /* @__PURE__ */ e.jsx(ne, { message: t, timestamp: Date.now() }), L = ({ isLoading: t }) => {
  const [n, E] = k([
    { type: "User", text: "Cool, great weather ☀️" },
    {
      type: "User",
      text: "How bout you? What about Bob? How has he been. Is he ok. Should I separate these messages?"
    },
    { type: "Agent", text: "Howdy, great to meet you!" },
    { type: "Agent", text: "What up" },
    { type: "User", text: "How bout you?" },
    { type: "Agent", text: "Howdy, great to meet you!" },
    { type: "Agent", text: "What up" },
    { type: "User", text: "How bout you?" },
    { type: "Agent", text: "Howdy, great to meet you!" },
    { type: "Agent", text: "What up" },
    { type: "User", text: "How bout you? Hows it going does this hit the loading state at the bottom of the chat?" }
  ]), d = [
    "How are you today?",
    "Nice to hear from you!",
    "I’m here to help!",
    "What can I do for you?",
    "Good to see you!"
  ], I = async (u) => {
    if (!u)
      return;
    const j = [...n], X = d[Math.floor(Math.random() * d.length)];
    j.push({ type: "Agent", text: X }), E(j);
  };
  return /* @__PURE__ */ e.jsxs(
    r,
    {
      title: "Your AI assistant",
      image: "",
      description: "Hello, I am here to help with whatever you need.",
      avatar: o,
      showPoweredBy: !0,
      extraLinkText: "Privacy",
      extraLinkUrl: "https://voiceflow.com",
      isLoading: !1,
      hasEnded: !1,
      messageInputProps: {
        onSubmit: async (u) => I(u),
        placeholder: "Message..."
      },
      children: [
        n.map((u) => u.type === "Agent" ? a([u.text]) : A(u.text)),
        t && /* @__PURE__ */ e.jsx(_, { avatar: o })
      ]
    }
  );
}, bt = {
  render: () => /* @__PURE__ */ e.jsx(L, {})
}, St = {
  render: () => /* @__PURE__ */ e.jsx("div", { style: m(h, { colors: p("red") }), children: /* @__PURE__ */ e.jsx(L, {}) })
}, Lt = {
  render: () => /* @__PURE__ */ e.jsx(L, { isLoading: !0 })
}, jt = {
  render: () => /* @__PURE__ */ e.jsxs("div", { style: { display: "flex", gap: "32px" }, children: [
    /* @__PURE__ */ e.jsx("div", { style: { width: "400px", ...m(h, { colors: p("red") }) }, children: /* @__PURE__ */ e.jsx(
      r,
      {
        title: "Your AI assistant",
        image: "",
        description: "Hello, I am here to help with whatever you need.",
        avatar: o,
        showPoweredBy: !0,
        extraLinkText: "Privacy",
        extraLinkUrl: "https://voiceflow.com",
        isLoading: !1,
        hasEnded: !1,
        messageInputProps: {
          onSubmit: () => Promise.resolve(),
          placeholder: "Message..."
        }
      }
    ) }),
    /* @__PURE__ */ e.jsx("div", { style: { width: "400px", ...m(h, { colors: p("green") }) }, children: /* @__PURE__ */ e.jsx(
      r,
      {
        title: "Your AI assistant",
        image: "",
        description: "Hello, I am here to help with whatever you need.",
        avatar: o,
        showPoweredBy: !0,
        extraLinkText: "Privacy",
        extraLinkUrl: "https://voiceflow.com",
        isLoading: !1,
        hasEnded: !1,
        messageInputProps: {
          onSubmit: () => Promise.resolve(),
          placeholder: "Message..."
        }
      }
    ) }),
    /* @__PURE__ */ e.jsx("div", { style: { width: "400px", ...m(h, { colors: p("purple") }) }, children: /* @__PURE__ */ e.jsx(
      r,
      {
        title: "",
        image: "",
        description: "",
        avatar: o,
        showPoweredBy: !0,
        extraLinkText: "Privacy",
        extraLinkUrl: "https://voiceflow.com",
        isLoading: !1,
        hasEnded: !1,
        messageInputProps: {
          onSubmit: () => Promise.resolve(),
          placeholder: "Message..."
        }
      }
    ) })
  ] })
}, Rt = {
  render: () => /* @__PURE__ */ e.jsx(
    r,
    {
      title: "Your AI assistant",
      image: "",
      description: "Let's get this party started already!",
      avatar: o,
      buttons: [],
      extraLinkText: "Privacy",
      extraLinkUrl: "https://voiceflow.com",
      showPoweredBy: !1,
      isLoading: !1,
      hasEnded: !1,
      messageInputProps: { onSubmit: () => Promise.resolve(), placeholder: "Message..." }
    }
  )
}, Tt = {
  render: () => /* @__PURE__ */ e.jsx(
    r,
    {
      title: "Your AI assistant",
      image: "",
      description: "Let's get this party started already!",
      avatar: o,
      buttons: [],
      showPoweredBy: !0,
      isLoading: !1,
      hasEnded: !1,
      messageInputProps: { onSubmit: () => Promise.resolve(), placeholder: "Message..." }
    }
  )
}, Mt = {
  render: () => /* @__PURE__ */ e.jsxs(
    r,
    {
      title: "Your AI assistant",
      image: "",
      description: "Let's get this party started already!",
      avatar: o,
      buttons: [],
      showPoweredBy: !1,
      isLoading: !1,
      hasEnded: !1,
      messageInputProps: { onSubmit: () => Promise.resolve(), placeholder: "Message..." },
      children: [
        a(["👋🏻 Good morning!", "How are you today?", "How can I help you ?"]),
        A("How bout you?"),
        a(["Thanks for asking", "here are some cool emojis:", "😝 ✌️ ☎️  🤦🏼‍♀️  🤯"]),
        a(["Anything else I can do to help you today?"]),
        A("Dont think so. Everything else is amazing!"),
        a(["ok, so bye for now"])
      ]
    }
  )
}, Pt = {
  render: () => /* @__PURE__ */ e.jsxs(
    r,
    {
      title: "Your amazing assistant",
      image: o,
      description: "Let's get this party started already!",
      avatar: o,
      buttons: [],
      showPoweredBy: !0,
      isLoading: !1,
      hasEnded: !0,
      messageInputProps: { onSubmit: () => Promise.resolve(), placeholder: "Message..." },
      children: [
        a(["👋🏻 Good morning!", "How are you today?", "How can I help you ?"]),
        A("How bout you?"),
        a(["Thanks for asking", "here are some cool emojis:", "😝 ✌️ ☎️  🤦🏼‍♀️  🤯"]),
        A("Cool, I *LOVE* emojis!"),
        a([`I know.
That's why I sent you some.`]),
        A("🤯"),
        a(["Anything else I can do to help you today?"]),
        A("Dont think so. Everything else is amazing!"),
        a(["ok, so bye for now"])
      ]
    }
  )
}, lo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Base: bt,
  BaseThemed: St,
  ChatEnded: Pt,
  LoadingState: Lt,
  NoFooterLinks: Mt,
  NoPoweredBy: Rt,
  OnlyPoweredBy: Tt,
  Themed: jt,
  default: kt
}, Symbol.toStringTag, { value: "Module" })), Ht = {
  title: "Components/Chat/Prompt",
  component: T,
  args: {
    cancel: { label: "Cancel" }
  },
  render: (t) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
    /* @__PURE__ */ e.jsx("div", { style: { height: 250, backgroundColor: "lavender" } }),
    /* @__PURE__ */ e.jsx(T, { ...t })
  ] }),
  decorators: [s]
}, Dt = {
  args: {
    visible: !0,
    accept: { label: "Primary Action" }
  }
}, qt = {
  args: {
    visible: !0,
    accept: { label: "Dangerous Action" }
  }
}, co = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Base: Dt,
  Dangerous: qt,
  default: Ht
}, Symbol.toStringTag, { value: "Module" })), Ot = {
  title: "Core/Send Button",
  component: se,
  decorators: [s]
}, Yt = {
  args: {
    disabled: !1,
    color: "#387dff"
  }
}, _t = {
  args: {
    disabled: !0,
    color: "#387dff"
  }
}, go = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Default: Yt,
  Disabled: _t,
  default: Ot
}, Symbol.toStringTag, { value: "Module" })), Jt = {
  title: "Components/TypingIndicator",
  component: ae,
  decorators: [z, s]
}, Vt = {
  args: {}
}, Nt = {
  render: () => /* @__PURE__ */ e.jsx("div", { style: { width: "380px" }, children: /* @__PURE__ */ e.jsxs(
    r,
    {
      title: "Your AI assistant",
      image: "",
      description: "It's tricky to rock a rhyme, to rock a rhyme thats right on time, it's tricky",
      avatar: i,
      showPoweredBy: !0,
      extraLinkText: "Privacy",
      extraLinkUrl: "https://voiceflow.com",
      isLoading: !1,
      hasEnded: !1,
      messageInputProps: {
        onSubmit: () => Promise.resolve(),
        placeholder: "Message..."
      },
      children: [
        /* @__PURE__ */ e.jsx(w, { avatar: i, withImage: !1, message: { type: "text", text: "Good morning" } }),
        /* @__PURE__ */ e.jsx(_, { avatar: i })
      ]
    }
  ) })
}, uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Default: Vt,
  InsideChat: Nt,
  default: Jt
}, Symbol.toStringTag, { value: "Module" })), Ut = {
  title: "Core/WelcomeMessage",
  component: J,
  args: {
    avatar: o
  },
  parameters: {
    layout: "centered"
  }
}, zt = {
  args: {
    avatar: o,
    title: "Agent name",
    description: "Agent description."
  }
}, Gt = {
  args: {
    avatar: o,
    title: "Hello, I am your #1 favourite AI assistant, meant to help you out in all sorts of ways. Hello, I am your #1 favourite AI assistant, meant to help you out in all sorts of ways. Hello, I am your #1 favourite AI assistant, meant to help you out in all sorts of ways. Hello, I am your #1 favourite AI assistant, meant to help you out in all sorts of ways. Hello, I am your #1 favourite AI assistant, meant to help you out in all sorts of ways.",
    description: "I can do tons of stuff, like help you with your account, answer questions, and even tell you a joke or two. Just ask me anything! I can do tons of stuff, like help you with your account, answer questions, and even tell you a joke or two. Just ask me anything! I can do tons of stuff, like help you with your account, answer questions, and even tell you a joke or two. Just ask me anything!I can do tons of stuff, like help you with your account, answer questions, and even tell you a joke or two. Just ask me anything! I can do tons of stuff, like help you with your account, answer questions, and even tell you a joke or two. Just ask me anything! I can do tons of stuff, like help you with your account, answer questions, and even tell you a joke or two. Just ask me anything!"
  },
  render: (t) => /* @__PURE__ */ e.jsxs("div", { children: [
    "Mock container",
    /* @__PURE__ */ e.jsx("div", { style: { border: "1px solid black" }, children: /* @__PURE__ */ e.jsx(J, { ...t }) })
  ] })
}, Ao = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Base: zt,
  LongContent: Gt,
  default: Ut
}, Symbol.toStringTag, { value: "Module" }));
export {
  Xt as AgentMessage,
  Wt as Avatar,
  Kt as Button,
  $t as Card,
  eo as Carousel,
  to as CarouselButton,
  oo as ColorTheme,
  no as FeedbackButton,
  so as Header,
  ao as Launcher,
  io as LinkPreview,
  ro as MessageInput,
  lo as NewChat,
  co as Prompt,
  go as SendButton,
  uo as TypingIndicator,
  Ao as WelcomeMessage
};
