@devalok/shilp-sutra 0.32.0 → 0.33.0

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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_chunks/date-time-picker.js +851 -0
  3. package/dist/_chunks/mention-suggestion.js +362 -0
  4. package/dist/_chunks/tiptap.js +11595 -7731
  5. package/dist/_chunks/use-calendar.js +115 -956
  6. package/dist/_chunks/vendor-client.js +1055 -894
  7. package/dist/composed/date-picker/index.js +9 -8
  8. package/dist/composed/emoji-picker.d.ts +8 -2
  9. package/dist/composed/emoji-picker.d.ts.map +1 -1
  10. package/dist/composed/emoji-picker.js +65 -56
  11. package/dist/composed/extensions/emoji-data.d.ts +35 -0
  12. package/dist/composed/extensions/emoji-data.d.ts.map +1 -0
  13. package/dist/composed/extensions/emoji-node.d.ts +11 -0
  14. package/dist/composed/extensions/emoji-node.d.ts.map +1 -0
  15. package/dist/composed/extensions/emoji-suggestion.d.ts +4 -6
  16. package/dist/composed/extensions/emoji-suggestion.d.ts.map +1 -1
  17. package/dist/composed/extensions/slash-command.d.ts +35 -0
  18. package/dist/composed/extensions/slash-command.d.ts.map +1 -0
  19. package/dist/composed/index.d.ts +7 -1
  20. package/dist/composed/index.d.ts.map +1 -1
  21. package/dist/composed/index.js +79 -70
  22. package/dist/composed/rich-chat-input/attachment-strip.d.ts +15 -0
  23. package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -0
  24. package/dist/composed/rich-chat-input/audio-player.d.ts +11 -0
  25. package/dist/composed/rich-chat-input/audio-player.d.ts.map +1 -0
  26. package/dist/composed/rich-chat-input/audio-waveform.d.ts +24 -0
  27. package/dist/composed/rich-chat-input/audio-waveform.d.ts.map +1 -0
  28. package/dist/composed/rich-chat-input/chat-toolbar.d.ts +51 -0
  29. package/dist/composed/rich-chat-input/chat-toolbar.d.ts.map +1 -0
  30. package/dist/composed/rich-chat-input/recording-overlay.d.ts +15 -0
  31. package/dist/composed/rich-chat-input/recording-overlay.d.ts.map +1 -0
  32. package/dist/composed/rich-chat-input/reply-banner.d.ts +8 -0
  33. package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -0
  34. package/dist/composed/rich-chat-input/schedule-send.d.ts +22 -0
  35. package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -0
  36. package/dist/composed/rich-chat-input/use-voice-recorder.d.ts +18 -0
  37. package/dist/composed/rich-chat-input/use-voice-recorder.d.ts.map +1 -0
  38. package/dist/composed/rich-chat-input.d.ts +91 -0
  39. package/dist/composed/rich-chat-input.d.ts.map +1 -0
  40. package/dist/composed/rich-chat-input.js +1861 -0
  41. package/dist/composed/rich-text-editor.d.ts +3 -0
  42. package/dist/composed/rich-text-editor.d.ts.map +1 -1
  43. package/dist/composed/rich-text-editor.js +278 -448
  44. package/dist/ui/button-group.d.ts +27 -37
  45. package/dist/ui/button-group.d.ts.map +1 -1
  46. package/dist/ui/button-group.js +95 -29
  47. package/dist/ui/button.d.ts.map +1 -1
  48. package/dist/ui/button.js +110 -106
  49. package/dist/ui/index.d.ts +1 -0
  50. package/dist/ui/index.d.ts.map +1 -1
  51. package/dist/ui/index.js +335 -333
  52. package/dist/ui/split-button.d.ts +45 -0
  53. package/dist/ui/split-button.d.ts.map +1 -0
  54. package/dist/ui/split-button.js +282 -0
  55. package/docs/components/composed/emoji-picker.md +9 -0
  56. package/docs/components/composed/rich-chat-input.md +88 -0
  57. package/docs/components/composed/rich-text-editor.md +5 -0
  58. package/docs/components/ui/button-group.md +9 -0
  59. package/docs/components/ui/button.md +4 -0
  60. package/docs/components/ui/split-button.md +41 -0
  61. package/llms-full.txt +157 -1
  62. package/llms.txt +22 -2
  63. package/package.json +30 -26
@@ -1,13 +1,14 @@
1
1
  "use client";
2
- import { C as r, D as s, a as i, b as P, M as c, P as k, T as t, Y as n, u as D } from "../../_chunks/use-calendar.js";
2
+ import { C as r, u as s } from "../../_chunks/use-calendar.js";
3
+ import { D as P, a as t, b as c, M as k, P as o, T as m, Y as n } from "../../_chunks/date-time-picker.js";
3
4
  export {
4
5
  r as CalendarGrid,
5
- s as DatePicker,
6
- i as DateRangePicker,
7
- P as DateTimePicker,
8
- c as MonthPicker,
9
- k as Presets,
10
- t as TimePicker,
6
+ P as DatePicker,
7
+ t as DateRangePicker,
8
+ c as DateTimePicker,
9
+ k as MonthPicker,
10
+ o as Presets,
11
+ m as TimePicker,
11
12
  n as YearPicker,
12
- D as useCalendar
13
+ s as useCalendar
13
14
  };
@@ -5,8 +5,11 @@ export interface EmojiData {
5
5
  native: string;
6
6
  shortcodes?: string;
7
7
  }
8
+ export type EmojiSet = 'native' | 'apple' | 'google' | 'twitter' | 'facebook';
8
9
  export interface EmojiPickerProps {
9
10
  onSelect: (emoji: EmojiData) => void;
11
+ /** Emoji art style. Set once — dynamic switching is not supported (emoji-mart limitation). @default 'native' */
12
+ set?: EmojiSet;
10
13
  /** @default 'auto' */
11
14
  theme?: 'auto' | 'light' | 'dark';
12
15
  /** @default 'none' */
@@ -20,11 +23,14 @@ export interface EmojiPickerPopoverProps extends EmojiPickerProps {
20
23
  /** @default 'start' */
21
24
  align?: 'start' | 'center' | 'end';
22
25
  }
23
- declare function EmojiPicker({ onSelect, theme, previewPosition, skinTonePosition, className, }: EmojiPickerProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare const emojiDataLoaders: Record<string, () => Promise<{
27
+ default: unknown;
28
+ }>>;
29
+ declare function EmojiPicker({ onSelect, set, theme, previewPosition, skinTonePosition, className, }: EmojiPickerProps): import("react/jsx-runtime").JSX.Element;
24
30
  declare namespace EmojiPicker {
25
31
  var displayName: string;
26
32
  }
27
- declare function EmojiPickerPopover({ children, align, onSelect, theme, previewPosition, skinTonePosition, className, }: EmojiPickerPopoverProps): import("react/jsx-runtime").JSX.Element;
33
+ declare function EmojiPickerPopover({ children, align, onSelect, set, theme, previewPosition, skinTonePosition, className, }: EmojiPickerPopoverProps): import("react/jsx-runtime").JSX.Element;
28
34
  declare namespace EmojiPickerPopover {
29
35
  var displayName: string;
30
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-picker.d.ts","sourceRoot":"","sources":["../../src/composed/emoji-picker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACpC,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACjC,sBAAsB;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC3C,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,uBAAuB;IACvB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;CACnC;AAsBD,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,KAAc,EACd,eAAwB,EACxB,gBAA2B,EAC3B,SAAS,GACV,EAAE,gBAAgB,2CAqDlB;kBA3DQ,WAAW;;;AAiEpB,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,KAAe,EACf,QAAQ,EACR,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,EAAE,uBAAuB,2CA0BzB;kBAlCQ,kBAAkB;;;AAuC3B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"emoji-picker.d.ts","sourceRoot":"","sources":["../../src/composed/emoji-picker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACpC,gHAAgH;IAChH,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACjC,sBAAsB;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC3C,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,uBAAuB;IACvB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;CACnC;AAgBD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAMhF,CAAA;AAYD,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,GAAc,EACd,KAAc,EACd,eAAwB,EACxB,gBAA2B,EAC3B,SAAS,GACV,EAAE,gBAAgB,2CAqDlB;kBA5DQ,WAAW;;;AAkEpB,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,KAAe,EACf,QAAQ,EACR,GAAG,EACH,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,EAAE,uBAAuB,2CA2BzB;kBApCQ,kBAAkB;;;AAyC3B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA"}
@@ -1,50 +1,56 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as k } from "react/jsx-runtime";
3
- import * as n from "react";
4
- import { cn as m } from "../ui/lib/utils.js";
5
- import { springs as u } from "../ui/lib/motion.js";
6
- import { Skeleton as f } from "../ui/skeleton.js";
7
- import { Popover as P, PopoverTrigger as v, PopoverContent as S } from "../ui/popover.js";
8
- import { A as x, m as h } from "../_chunks/framer.js";
9
- const j = n.lazy(
2
+ import { jsx as e, jsxs as S } from "react/jsx-runtime";
3
+ import * as o from "react";
4
+ import { cn as u } from "../ui/lib/utils.js";
5
+ import { springs as f } from "../ui/lib/motion.js";
6
+ import { Skeleton as h } from "../ui/skeleton.js";
7
+ import { Popover as j, PopoverTrigger as x, PopoverContent as E } from "../ui/popover.js";
8
+ import { A as w, m as y } from "../_chunks/framer.js";
9
+ const N = o.lazy(
10
10
  () => import("@emoji-mart/react").then((t) => ({
11
11
  default: t.default
12
12
  }))
13
- );
14
- function E(t) {
13
+ ), g = {
14
+ native: () => import("@emoji-mart/data"),
15
+ apple: () => import("@emoji-mart/data/sets/15/apple.json"),
16
+ google: () => import("@emoji-mart/data/sets/15/google.json"),
17
+ twitter: () => import("@emoji-mart/data/sets/15/twitter.json"),
18
+ facebook: () => import("@emoji-mart/data/sets/15/facebook.json")
19
+ };
20
+ function b(t) {
15
21
  return t !== "auto" ? t : typeof document > "u" ? "light" : document.documentElement.classList.contains("dark") ? "dark" : "light";
16
22
  }
17
- function y({
23
+ function k({
18
24
  onSelect: t,
19
- theme: r = "auto",
20
- previewPosition: s = "none",
21
- skinTonePosition: c = "search",
22
- className: o
25
+ set: n = "native",
26
+ theme: s = "auto",
27
+ previewPosition: c = "none",
28
+ skinTonePosition: d = "search",
29
+ className: a
23
30
  }) {
24
- const [d, l] = n.useState(!1), [i, a] = n.useState(null);
25
- return n.useEffect(() => {
26
- l(!0), import("@emoji-mart/data").then((p) => {
27
- a(p.default);
28
- });
29
- }, []), /* @__PURE__ */ e(x, { mode: "wait", children: d && !!i ? /* @__PURE__ */ e(
30
- h.div,
31
+ const [l, p] = o.useState(!1), [i, r] = o.useState(null);
32
+ return o.useEffect(() => {
33
+ p(!0), (g[n] ?? g.native)().then((P) => r(P.default));
34
+ }, [n]), /* @__PURE__ */ e(w, { mode: "wait", children: l && !!i ? /* @__PURE__ */ e(
35
+ y.div,
31
36
  {
32
37
  initial: { opacity: 0, scale: 0.95 },
33
38
  animate: { opacity: 1, scale: 1 },
34
- transition: u.snappy,
35
- className: o,
39
+ transition: f.snappy,
40
+ className: a,
36
41
  children: /* @__PURE__ */ e(
37
- n.Suspense,
42
+ o.Suspense,
38
43
  {
39
- fallback: /* @__PURE__ */ e("div", { className: m("rounded-ds-lg", o), children: /* @__PURE__ */ e(f, { className: "h-[435px] w-[352px] rounded-ds-lg" }) }),
44
+ fallback: /* @__PURE__ */ e("div", { className: u("rounded-ds-lg", a), children: /* @__PURE__ */ e(h, { className: "h-[435px] w-[352px] rounded-ds-lg" }) }),
40
45
  children: /* @__PURE__ */ e(
41
- j,
46
+ N,
42
47
  {
43
48
  data: i,
49
+ set: n,
44
50
  onEmojiSelect: t,
45
- theme: E(r),
46
- previewPosition: s,
47
- skinTonePosition: c
51
+ theme: b(s),
52
+ previewPosition: c,
53
+ skinTonePosition: d
48
54
  }
49
55
  )
50
56
  }
@@ -52,55 +58,58 @@ function y({
52
58
  },
53
59
  "picker"
54
60
  ) : /* @__PURE__ */ e(
55
- h.div,
61
+ y.div,
56
62
  {
57
63
  initial: { opacity: 0 },
58
64
  animate: { opacity: 1 },
59
65
  exit: { opacity: 0 },
60
- transition: u.snappy,
61
- className: m("rounded-ds-lg", o),
62
- children: /* @__PURE__ */ e(f, { className: "h-[435px] w-[352px] rounded-ds-lg" })
66
+ transition: f.snappy,
67
+ className: u("rounded-ds-lg", a),
68
+ children: /* @__PURE__ */ e(h, { className: "h-[435px] w-[352px] rounded-ds-lg" })
63
69
  },
64
70
  "skeleton"
65
71
  ) });
66
72
  }
67
- function w({
73
+ function C({
68
74
  children: t,
69
- align: r = "start",
75
+ align: n = "start",
70
76
  onSelect: s,
71
- theme: c,
72
- previewPosition: o,
73
- skinTonePosition: d,
74
- className: l
77
+ set: c,
78
+ theme: d,
79
+ previewPosition: a,
80
+ skinTonePosition: l,
81
+ className: p
75
82
  }) {
76
- const [i, a] = n.useState(!1);
77
- return /* @__PURE__ */ k(P, { open: i, onOpenChange: a, children: [
78
- /* @__PURE__ */ e(v, { asChild: !0, children: t }),
83
+ const [i, r] = o.useState(!1);
84
+ return /* @__PURE__ */ S(j, { open: i, onOpenChange: r, children: [
85
+ /* @__PURE__ */ e(x, { asChild: !0, children: t }),
79
86
  /* @__PURE__ */ e(
80
- S,
87
+ E,
81
88
  {
82
- align: r,
89
+ align: n,
83
90
  className: "w-auto border-none bg-transparent p-0 shadow-none",
84
91
  sideOffset: 8,
85
92
  children: /* @__PURE__ */ e(
86
- y,
93
+ k,
87
94
  {
88
- onSelect: (p) => {
89
- s(p), a(!1);
95
+ onSelect: (m) => {
96
+ s(m), r(!1);
90
97
  },
91
- theme: c,
92
- previewPosition: o,
93
- skinTonePosition: d,
94
- className: l
98
+ set: c,
99
+ theme: d,
100
+ previewPosition: a,
101
+ skinTonePosition: l,
102
+ className: p
95
103
  }
96
104
  )
97
105
  }
98
106
  )
99
107
  ] });
100
108
  }
101
- y.displayName = "EmojiPicker";
102
- w.displayName = "EmojiPickerPopover";
109
+ k.displayName = "EmojiPicker";
110
+ C.displayName = "EmojiPickerPopover";
103
111
  export {
104
- y as EmojiPicker,
105
- w as EmojiPickerPopover
112
+ k as EmojiPicker,
113
+ C as EmojiPickerPopover,
114
+ g as emojiDataLoaders
106
115
  };
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ export declare const SPRITESHEET_URL: (set: string) => string;
3
+ export declare const SHEET_COLS = 61;
4
+ export declare const SHEET_ROWS = 61;
5
+ interface EmojiSkin {
6
+ unified: string;
7
+ native: string;
8
+ x?: number;
9
+ y?: number;
10
+ }
11
+ interface EmojiEntry {
12
+ id: string;
13
+ name: string;
14
+ keywords?: string[];
15
+ skins: EmojiSkin[];
16
+ }
17
+ export interface EmojiDataset {
18
+ emojis: Record<string, EmojiEntry>;
19
+ sheet?: {
20
+ cols: number;
21
+ rows: number;
22
+ };
23
+ }
24
+ export interface ResolvedEmoji {
25
+ id: string;
26
+ name: string;
27
+ native: string;
28
+ x: number;
29
+ y: number;
30
+ }
31
+ export declare function loadEmojiData(set: string): Promise<EmojiDataset>;
32
+ export declare function lookupEmoji(data: EmojiDataset, id: string): ResolvedEmoji | null;
33
+ export declare function searchEmoji(data: EmojiDataset, query: string, limit?: number): ResolvedEmoji[];
34
+ export {};
35
+ //# sourceMappingURL=emoji-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-data.d.ts","sourceRoot":"","sources":["../../../src/composed/extensions/emoji-data.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,WACiD,CAAA;AAC5F,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAA;AAE5B,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAKD,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAOtE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAYhF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,aAAa,EAAE,CA8BzF"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { Node } from '@tiptap/core';
3
+ export interface EmojiNodeAttrs {
4
+ id: string;
5
+ native: string;
6
+ set: string;
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export declare const EmojiNode: Node<any, any>;
11
+ //# sourceMappingURL=emoji-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-node.d.ts","sourceRoot":"","sources":["../../../src/composed/extensions/emoji-node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAInC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAgCD,eAAO,MAAM,SAAS,gBAmDpB,CAAA"}
@@ -1,9 +1,7 @@
1
1
  "use client";
2
2
  import { Extension } from '@tiptap/core';
3
- export interface EmojiSuggestionItem {
4
- id: string;
5
- name: string;
6
- native: string;
7
- }
8
- export declare const EmojiSuggestion: Extension<any, any>;
3
+ import { ResolvedEmoji } from './emoji-data';
4
+ export type { ResolvedEmoji as EmojiSuggestionItem };
5
+ /** Factory: call with the emoji set to get a configured extension. */
6
+ export declare function createEmojiSuggestion(set?: string): Extension<any, any>;
9
7
  //# sourceMappingURL=emoji-suggestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-suggestion.d.ts","sourceRoot":"","sources":["../../../src/composed/extensions/emoji-suggestion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAexC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAoJD,eAAO,MAAM,eAAe,qBA8B1B,CAAA"}
1
+ {"version":3,"file":"emoji-suggestion.d.ts","sourceRoot":"","sources":["../../../src/composed/extensions/emoji-suggestion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAMxC,OAAO,EAAE,KAAK,aAAa,EAAuE,MAAM,cAAc,CAAA;AAGtH,YAAY,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAA;AAwJpD,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,GAAG,SAAW,uBA+BnD"}
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { Extension, Editor } from '@tiptap/core';
3
+ import * as React from 'react';
4
+ export interface SlashCommand {
5
+ id: string;
6
+ label: string;
7
+ description?: string;
8
+ icon?: React.ComponentType<{
9
+ className?: string;
10
+ }>;
11
+ action: (editor: Editor) => void;
12
+ }
13
+ export interface SlashCommandGroup {
14
+ label: string;
15
+ commands: SlashCommand[];
16
+ }
17
+ /**
18
+ * Creates a configured TipTap Extension for slash commands.
19
+ *
20
+ * Triggers on `/` at the start of a line, shows a grouped command palette,
21
+ * and executes the selected command's action on the editor.
22
+ *
23
+ * @example
24
+ * const slashExt = createSlashCommandExtension([
25
+ * {
26
+ * label: 'Format',
27
+ * commands: [
28
+ * { id: 'h1', label: 'Heading 1', action: (editor) => editor.chain().focus().toggleHeading({ level: 1 }).run() },
29
+ * { id: 'bullet', label: 'Bullet List', action: (editor) => editor.chain().focus().toggleBulletList().run() },
30
+ * ],
31
+ * },
32
+ * ])
33
+ */
34
+ export declare function createSlashCommandExtension(groups: SlashCommandGroup[]): Extension<any, any>;
35
+ //# sourceMappingURL=slash-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-command.d.ts","sourceRoot":"","sources":["../../../src/composed/extensions/slash-command.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,YAAY,EAAE,CAAA;CACzB;AAwMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,uBAoCtE"}
@@ -27,6 +27,9 @@ export { PriorityIndicator } from './priority-indicator';
27
27
  export type { PriorityIndicatorProps, Priority } from './priority-indicator';
28
28
  export { RichTextEditor, RichTextViewer } from './rich-text-editor';
29
29
  export type { RichTextEditorProps, RichTextViewerProps, MentionItem, ToolbarItem } from './rich-text-editor';
30
+ export { RichChatInput, AudioWaveform, AudioPlayer, useVoiceRecorder } from './rich-chat-input';
31
+ export type { RichChatInputProps, RichChatInputMessage, ChatToolbarItem, AudioWaveformProps, AudioPlayerProps, UseVoiceRecorderOptions, UseVoiceRecorderReturn } from './rich-chat-input';
32
+ export type { SlashCommand, SlashCommandGroup } from './extensions/slash-command';
30
33
  export { DatePicker, DateRangePicker, CalendarGrid, TimePicker, DateTimePicker, Presets, useCalendar, YearPicker, MonthPicker } from './date-picker';
31
34
  export type { DatePickerProps, DateRangePickerProps, CalendarGridProps, CalendarEvent, TimePickerProps, DateTimePickerProps, PresetsProps, PresetKey, YearPickerProps, MonthPickerProps } from './date-picker';
32
35
  export { CardSkeleton, TableSkeleton, BoardSkeleton, ListSkeleton } from './loading-skeleton';
@@ -67,7 +70,10 @@ export type { ResponsiveOverlayProps } from './responsive-overlay';
67
70
  export { MarkdownViewer } from './markdown-viewer';
68
71
  export type { MarkdownViewerProps } from './markdown-viewer';
69
72
  export { EmojiPicker, EmojiPickerPopover } from './emoji-picker';
70
- export type { EmojiPickerProps, EmojiPickerPopoverProps, EmojiData } from './emoji-picker';
73
+ export type { EmojiPickerProps, EmojiPickerPopoverProps, EmojiData, EmojiSet } from './emoji-picker';
74
+ export { EmojiNode } from './extensions/emoji-node';
75
+ export type { EmojiNodeAttrs } from './extensions/emoji-node';
76
+ export { createEmojiSuggestion } from './extensions/emoji-suggestion';
71
77
  export { FilePreview } from './file-preview';
72
78
  export type { FilePreviewProps } from './file-preview';
73
79
  export { getInitials } from './lib/string-utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composed/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composed/index.ts"],"names":[],"mappings":"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"}
@@ -1,84 +1,93 @@
1
1
  "use client";
2
2
  import { PageHeader as o } from "./page-header.js";
3
3
  import { ContentCard as a, contentCardVariants as i } from "./content-card.js";
4
- import { StatusBadge as p, statusBadgeVariants as l } from "./status-badge.js";
5
- import { EmptyState as f } from "./empty-state.js";
4
+ import { StatusBadge as p, statusBadgeVariants as f } from "./status-badge.js";
5
+ import { EmptyState as x } from "./empty-state.js";
6
6
  import { AvatarGroup as s } from "./avatar-group.js";
7
7
  import { PriorityIndicator as d } from "./priority-indicator.js";
8
- import { RichTextEditor as P, RichTextViewer as S } from "./rich-text-editor.js";
9
- import { BoardSkeleton as D, CardSkeleton as C, ListSkeleton as T, TableSkeleton as g } from "./loading-skeleton.js";
10
- import { DashboardSkeleton as v, ProjectListSkeleton as y, TaskDetailSkeleton as E } from "./page-skeletons.js";
11
- import { ErrorBoundary as M, ErrorDisplay as b } from "./error-boundary.js";
12
- import { GlobalLoading as w } from "./global-loading.js";
13
- import { CommandPalette as V } from "./command-palette.js";
14
- import { MemberPicker as j } from "./member-picker.js";
15
- import { SimpleTooltip as G } from "./simple-tooltip.js";
16
- import { ScheduleView as Y } from "./schedule-view.js";
17
- import { ConfirmDialog as O } from "./confirm-dialog.js";
18
- import { ActivityFeed as z, groupItemsByTime as J } from "./activity-feed.js";
19
- import { MultiSelectPopover as N } from "./multi-select-popover.js";
20
- import { FilterBar as U, FilterMultiSelect as W, FilterSelect as X } from "./filter-bar.js";
21
- import { InlineEdit as _ } from "./inline-edit.js";
22
- import { FormSection as ee } from "./form-section.js";
23
- import { BulkActionBar as oe } from "./bulk-action-bar.js";
24
- import { DeadlineIndicator as ae } from "./deadline-indicator.js";
25
- import { MasterDetail as me } from "./master-detail.js";
26
- import { ResponsiveOverlay as le } from "./responsive-overlay.js";
27
- import { MarkdownViewer as fe } from "./markdown-viewer.js";
28
- import { EmojiPicker as se, EmojiPickerPopover as ce } from "./emoji-picker.js";
29
- import { F as ke } from "../_chunks/file-preview.js";
30
- import { getInitials as Se } from "./lib/string-utils.js";
31
- import { C as De, D as Ce, a as Te, b as ge, M as Be, P as ve, T as ye, Y as Ee, u as Fe } from "../_chunks/use-calendar.js";
8
+ import { RichTextEditor as P, RichTextViewer as u } from "./rich-text-editor.js";
9
+ import { AudioPlayer as g, AudioWaveform as C, RichChatInput as D, useVoiceRecorder as E } from "./rich-chat-input.js";
10
+ import { BoardSkeleton as v, CardSkeleton as y, ListSkeleton as B, TableSkeleton as h } from "./loading-skeleton.js";
11
+ import { DashboardSkeleton as M, ProjectListSkeleton as I, TaskDetailSkeleton as R } from "./page-skeletons.js";
12
+ import { ErrorBoundary as b, ErrorDisplay as j } from "./error-boundary.js";
13
+ import { GlobalLoading as A } from "./global-loading.js";
14
+ import { CommandPalette as L } from "./command-palette.js";
15
+ import { MemberPicker as H } from "./member-picker.js";
16
+ import { SimpleTooltip as O } from "./simple-tooltip.js";
17
+ import { ScheduleView as q } from "./schedule-view.js";
18
+ import { ConfirmDialog as J } from "./confirm-dialog.js";
19
+ import { ActivityFeed as Q, groupItemsByTime as U } from "./activity-feed.js";
20
+ import { MultiSelectPopover as Z } from "./multi-select-popover.js";
21
+ import { FilterBar as $, FilterMultiSelect as ee, FilterSelect as re } from "./filter-bar.js";
22
+ import { InlineEdit as te } from "./inline-edit.js";
23
+ import { FormSection as ie } from "./form-section.js";
24
+ import { BulkActionBar as pe } from "./bulk-action-bar.js";
25
+ import { DeadlineIndicator as le } from "./deadline-indicator.js";
26
+ import { MasterDetail as ne } from "./master-detail.js";
27
+ import { ResponsiveOverlay as ce } from "./responsive-overlay.js";
28
+ import { MarkdownViewer as ke } from "./markdown-viewer.js";
29
+ import { EmojiPicker as ue, EmojiPickerPopover as Se } from "./emoji-picker.js";
30
+ import { E as Ce, c as De } from "../_chunks/mention-suggestion.js";
31
+ import { F as Te } from "../_chunks/file-preview.js";
32
+ import { getInitials as ye } from "./lib/string-utils.js";
33
+ import { C as he, u as Fe } from "../_chunks/use-calendar.js";
34
+ import { D as Ie, a as Re, b as Ve, M as be, P as je, T as we, Y as Ae } from "../_chunks/date-time-picker.js";
32
35
  export {
33
- z as ActivityFeed,
36
+ Q as ActivityFeed,
37
+ g as AudioPlayer,
38
+ C as AudioWaveform,
34
39
  s as AvatarGroup,
35
- D as BoardSkeleton,
36
- oe as BulkActionBar,
37
- De as CalendarGrid,
38
- C as CardSkeleton,
39
- V as CommandPalette,
40
- O as ConfirmDialog,
40
+ v as BoardSkeleton,
41
+ pe as BulkActionBar,
42
+ he as CalendarGrid,
43
+ y as CardSkeleton,
44
+ L as CommandPalette,
45
+ J as ConfirmDialog,
41
46
  a as ContentCard,
42
- v as DashboardSkeleton,
43
- Ce as DatePicker,
44
- Te as DateRangePicker,
45
- ge as DateTimePicker,
46
- ae as DeadlineIndicator,
47
- se as EmojiPicker,
48
- ce as EmojiPickerPopover,
49
- f as EmptyState,
50
- M as ErrorBoundary,
51
- b as ErrorDisplay,
52
- ke as FilePreview,
53
- U as FilterBar,
54
- W as FilterMultiSelect,
55
- X as FilterSelect,
56
- ee as FormSection,
57
- w as GlobalLoading,
58
- _ as InlineEdit,
59
- T as ListSkeleton,
60
- fe as MarkdownViewer,
61
- me as MasterDetail,
62
- j as MemberPicker,
63
- Be as MonthPicker,
64
- N as MultiSelectPopover,
47
+ M as DashboardSkeleton,
48
+ Ie as DatePicker,
49
+ Re as DateRangePicker,
50
+ Ve as DateTimePicker,
51
+ le as DeadlineIndicator,
52
+ Ce as EmojiNode,
53
+ ue as EmojiPicker,
54
+ Se as EmojiPickerPopover,
55
+ x as EmptyState,
56
+ b as ErrorBoundary,
57
+ j as ErrorDisplay,
58
+ Te as FilePreview,
59
+ $ as FilterBar,
60
+ ee as FilterMultiSelect,
61
+ re as FilterSelect,
62
+ ie as FormSection,
63
+ A as GlobalLoading,
64
+ te as InlineEdit,
65
+ B as ListSkeleton,
66
+ ke as MarkdownViewer,
67
+ ne as MasterDetail,
68
+ H as MemberPicker,
69
+ be as MonthPicker,
70
+ Z as MultiSelectPopover,
65
71
  o as PageHeader,
66
- ve as Presets,
72
+ je as Presets,
67
73
  d as PriorityIndicator,
68
- y as ProjectListSkeleton,
69
- le as ResponsiveOverlay,
74
+ I as ProjectListSkeleton,
75
+ ce as ResponsiveOverlay,
76
+ D as RichChatInput,
70
77
  P as RichTextEditor,
71
- S as RichTextViewer,
72
- Y as ScheduleView,
73
- G as SimpleTooltip,
78
+ u as RichTextViewer,
79
+ q as ScheduleView,
80
+ O as SimpleTooltip,
74
81
  p as StatusBadge,
75
- g as TableSkeleton,
76
- E as TaskDetailSkeleton,
77
- ye as TimePicker,
78
- Ee as YearPicker,
82
+ h as TableSkeleton,
83
+ R as TaskDetailSkeleton,
84
+ we as TimePicker,
85
+ Ae as YearPicker,
79
86
  i as contentCardVariants,
80
- Se as getInitials,
81
- J as groupItemsByTime,
82
- l as statusBadgeVariants,
83
- Fe as useCalendar
87
+ De as createEmojiSuggestion,
88
+ ye as getInitials,
89
+ U as groupItemsByTime,
90
+ f as statusBadgeVariants,
91
+ Fe as useCalendar,
92
+ E as useVoiceRecorder
84
93
  };
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ export interface Attachment {
3
+ id: string;
4
+ url?: string;
5
+ name: string;
6
+ size: number;
7
+ type: 'image' | 'file';
8
+ uploading: boolean;
9
+ }
10
+ export interface AttachmentStripProps {
11
+ attachments: Attachment[];
12
+ onRemoveAttachment: (id: string) => void;
13
+ }
14
+ export declare function AttachmentStrip({ attachments, onRemoveAttachment, }: AttachmentStripProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=attachment-strip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-strip.d.ts","sourceRoot":"","sources":["../../../src/composed/rich-chat-input/attachment-strip.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAQD,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,kBAAkB,GACnB,EAAE,oBAAoB,2CA+FtB"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import * as React from 'react';
3
+ interface AudioPlayerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
4
+ src: string | Blob;
5
+ duration: number;
6
+ waveformData?: number[];
7
+ }
8
+ declare const AudioPlayer: React.ForwardRefExoticComponent<AudioPlayerProps & React.RefAttributes<HTMLDivElement>>;
9
+ export { AudioPlayer };
10
+ export type { AudioPlayerProps };
11
+ //# sourceMappingURL=audio-player.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-player.d.ts","sourceRoot":"","sources":["../../../src/composed/rich-chat-input/audio-player.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,UAAU,gBACR,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC9D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAUD,QAAA,MAAM,WAAW,yFAoJhB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import * as React from 'react';
3
+ interface AudioWaveformProps extends React.SVGAttributes<SVGSVGElement> {
4
+ /** 'live' reads from AnalyserNode in real-time. 'static' renders pre-computed data. */
5
+ mode: 'live' | 'static';
6
+ /** Web Audio API analyser node — required for live mode */
7
+ analyserNode?: AnalyserNode | null;
8
+ /** Pre-computed amplitude data (0-1 normalized) — required for static mode */
9
+ data?: number[];
10
+ /** Playback progress 0-1 — static mode only, controls fill coloring */
11
+ progress?: number;
12
+ /** Bar width in pixels @default 3 */
13
+ barWidth?: number;
14
+ /** Gap between bars in pixels @default 2 */
15
+ barGap?: number;
16
+ /** Number of bars to render @default 40 */
17
+ barCount?: number;
18
+ /** Height in pixels @default 32 */
19
+ height?: number;
20
+ }
21
+ declare const AudioWaveform: React.ForwardRefExoticComponent<AudioWaveformProps & React.RefAttributes<SVGSVGElement>>;
22
+ export { AudioWaveform };
23
+ export type { AudioWaveformProps };
24
+ //# sourceMappingURL=audio-waveform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-waveform.d.ts","sourceRoot":"","sources":["../../../src/composed/rich-chat-input/audio-waveform.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,UAAU,kBAAmB,SAAQ,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;IACrE,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,QAAA,MAAM,aAAa,0FAoHlB,CAAA;AAGD,OAAO,EAAE,aAAa,EAAE,CAAA;AACxB,YAAY,EAAE,kBAAkB,EAAE,CAAA"}