@connextar/house 0.1.1 → 0.2.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 (112) hide show
  1. package/README.md +205 -28
  2. package/dist/changelog/changelog.d.ts +60 -0
  3. package/dist/changelog/changelog.d.ts.map +1 -0
  4. package/dist/changelog/changelog.js +61 -0
  5. package/dist/changelog/changelog.js.map +1 -0
  6. package/dist/changelog/index.d.ts +2 -0
  7. package/dist/changelog/index.d.ts.map +1 -0
  8. package/dist/changelog/index.js +2 -0
  9. package/dist/changelog/index.js.map +1 -0
  10. package/dist/editor/block-handle.d.ts +15 -0
  11. package/dist/editor/block-handle.d.ts.map +1 -0
  12. package/dist/editor/block-handle.js +106 -0
  13. package/dist/editor/block-handle.js.map +1 -0
  14. package/dist/editor/blocks.d.ts +35 -0
  15. package/dist/editor/blocks.d.ts.map +1 -0
  16. package/dist/editor/blocks.js +114 -0
  17. package/dist/editor/blocks.js.map +1 -0
  18. package/dist/editor/bubble-toolbar.d.ts +11 -0
  19. package/dist/editor/bubble-toolbar.d.ts.map +1 -0
  20. package/dist/editor/bubble-toolbar.js +87 -0
  21. package/dist/editor/bubble-toolbar.js.map +1 -0
  22. package/dist/editor/content-index.d.ts +2 -0
  23. package/dist/editor/content-index.d.ts.map +1 -0
  24. package/dist/editor/content-index.js +2 -0
  25. package/dist/editor/content-index.js.map +1 -0
  26. package/dist/editor/content.d.ts +30 -0
  27. package/dist/editor/content.d.ts.map +1 -0
  28. package/dist/editor/content.js +256 -0
  29. package/dist/editor/content.js.map +1 -0
  30. package/dist/editor/editor.d.ts +52 -0
  31. package/dist/editor/editor.d.ts.map +1 -0
  32. package/dist/editor/editor.js +160 -0
  33. package/dist/editor/editor.js.map +1 -0
  34. package/dist/editor/emoji-index.d.ts +2 -0
  35. package/dist/editor/emoji-index.d.ts.map +1 -0
  36. package/dist/editor/emoji-index.js +2 -0
  37. package/dist/editor/emoji-index.js.map +1 -0
  38. package/dist/editor/emoji-picker.d.ts +16 -0
  39. package/dist/editor/emoji-picker.d.ts.map +1 -0
  40. package/dist/editor/emoji-picker.js +37 -0
  41. package/dist/editor/emoji-picker.js.map +1 -0
  42. package/dist/editor/emoji.d.ts +18 -0
  43. package/dist/editor/emoji.d.ts.map +1 -0
  44. package/dist/editor/emoji.js +418 -0
  45. package/dist/editor/emoji.js.map +1 -0
  46. package/dist/editor/index.d.ts +5 -0
  47. package/dist/editor/index.d.ts.map +1 -0
  48. package/dist/editor/index.js +6 -0
  49. package/dist/editor/index.js.map +1 -0
  50. package/dist/editor/suggestion-popup.d.ts +17 -0
  51. package/dist/editor/suggestion-popup.d.ts.map +1 -0
  52. package/dist/editor/suggestion-popup.js +57 -0
  53. package/dist/editor/suggestion-popup.js.map +1 -0
  54. package/dist/editor/suggestions.d.ts +93 -0
  55. package/dist/editor/suggestions.d.ts.map +1 -0
  56. package/dist/editor/suggestions.js +179 -0
  57. package/dist/editor/suggestions.js.map +1 -0
  58. package/dist/editor/ui.d.ts +54 -0
  59. package/dist/editor/ui.d.ts.map +1 -0
  60. package/dist/editor/ui.js +58 -0
  61. package/dist/editor/ui.js.map +1 -0
  62. package/dist/house.css +267 -0
  63. package/dist/internal/cx.d.ts +3 -0
  64. package/dist/internal/cx.d.ts.map +1 -0
  65. package/dist/internal/cx.js +5 -0
  66. package/dist/internal/cx.js.map +1 -0
  67. package/dist/internal/next-link.d.ts +23 -0
  68. package/dist/internal/next-link.d.ts.map +1 -0
  69. package/dist/internal/next-link.js +3 -0
  70. package/dist/internal/next-link.js.map +1 -0
  71. package/dist/markdown/guide.d.ts +98 -0
  72. package/dist/markdown/guide.d.ts.map +1 -0
  73. package/dist/markdown/guide.js +328 -0
  74. package/dist/markdown/guide.js.map +1 -0
  75. package/dist/markdown/index.d.ts +4 -0
  76. package/dist/markdown/index.d.ts.map +1 -0
  77. package/dist/markdown/index.js +4 -0
  78. package/dist/markdown/index.js.map +1 -0
  79. package/dist/markdown/table-view.d.ts +28 -0
  80. package/dist/markdown/table-view.d.ts.map +1 -0
  81. package/dist/markdown/table-view.js +25 -0
  82. package/dist/markdown/table-view.js.map +1 -0
  83. package/dist/markdown/table.d.ts +35 -0
  84. package/dist/markdown/table.d.ts.map +1 -0
  85. package/dist/markdown/table.js +79 -0
  86. package/dist/markdown/table.js.map +1 -0
  87. package/dist/release/changelog.d.ts +72 -0
  88. package/dist/release/changelog.d.ts.map +1 -0
  89. package/dist/release/changelog.js +92 -0
  90. package/dist/release/changelog.js.map +1 -0
  91. package/dist/release/index.d.ts +3 -0
  92. package/dist/release/index.d.ts.map +1 -0
  93. package/dist/release/index.js +3 -0
  94. package/dist/release/index.js.map +1 -0
  95. package/dist/release/version.d.ts +33 -0
  96. package/dist/release/version.d.ts.map +1 -0
  97. package/dist/release/version.js +57 -0
  98. package/dist/release/version.js.map +1 -0
  99. package/dist/trail/index.d.ts +3 -0
  100. package/dist/trail/index.d.ts.map +1 -0
  101. package/dist/trail/index.js +3 -0
  102. package/dist/trail/index.js.map +1 -0
  103. package/dist/trail/rules.d.ts +44 -0
  104. package/dist/trail/rules.d.ts.map +1 -0
  105. package/dist/trail/rules.js +74 -0
  106. package/dist/trail/rules.js.map +1 -0
  107. package/dist/trail/trail.d.ts +49 -0
  108. package/dist/trail/trail.d.ts.map +1 -0
  109. package/dist/trail/trail.js +188 -0
  110. package/dist/trail/trail.js.map +1 -0
  111. package/docs/ReleaseProcess.md +315 -0
  112. package/package.json +75 -11
@@ -0,0 +1,418 @@
1
+ // A curated emoji set for the rich text editor's `:` shortcode picker and for
2
+ // page icons (a note, a notebook, a project).
3
+ //
4
+ // Deliberately hand-picked rather than a full Unicode database: the complete
5
+ // set is ~3,800 entries and over a megabyte of JSON, and the job here is a
6
+ // fast, searchable list of the few hundred people actually reach for when
7
+ // titling a page or punctuating a note. Every entry is a plain Unicode
8
+ // character, so it survives Markdown storage, every renderer, and copy-paste
9
+ // with nothing special-cased anywhere.
10
+ export const EMOJI_GROUP_LABELS = {
11
+ smileys: "Smileys",
12
+ people: "People & gestures",
13
+ nature: "Animals & nature",
14
+ food: "Food & drink",
15
+ activities: "Activities",
16
+ travel: "Travel & places",
17
+ objects: "Objects",
18
+ symbols: "Symbols",
19
+ };
20
+ const e = (char, name, group, ...keywords) => ({
21
+ char,
22
+ name,
23
+ keywords,
24
+ group,
25
+ });
26
+ export const EMOJI = [
27
+ // Smileys
28
+ e("😀", "grinning", "smileys", "happy", "smile"),
29
+ e("😃", "smiley", "smileys", "happy"),
30
+ e("😄", "smile", "smileys", "happy", "joy"),
31
+ e("😁", "grin", "smileys", "happy"),
32
+ e("😆", "laughing", "smileys", "haha"),
33
+ e("😅", "sweat_smile", "smileys", "relief"),
34
+ e("🤣", "rofl", "smileys", "laugh"),
35
+ e("😂", "joy", "smileys", "laugh", "tears"),
36
+ e("🙂", "slightly_smiling", "smileys", "ok"),
37
+ e("😉", "wink", "smileys"),
38
+ e("😊", "blush", "smileys", "happy", "shy"),
39
+ e("😇", "innocent", "smileys", "angel"),
40
+ e("🥰", "smiling_hearts", "smileys", "love"),
41
+ e("😍", "heart_eyes", "smileys", "love"),
42
+ e("🤩", "star_struck", "smileys", "wow"),
43
+ e("😘", "kissing_heart", "smileys", "kiss"),
44
+ e("😋", "yum", "smileys", "tasty"),
45
+ e("😛", "stuck_out_tongue", "smileys", "silly"),
46
+ e("🤪", "zany", "smileys", "crazy"),
47
+ e("🤔", "thinking", "smileys", "hmm", "wonder"),
48
+ e("🤫", "shushing", "smileys", "quiet", "secret"),
49
+ e("🤗", "hugs", "smileys", "hug"),
50
+ e("😐", "neutral", "smileys", "meh"),
51
+ e("😑", "expressionless", "smileys"),
52
+ e("🙄", "eye_roll", "smileys"),
53
+ e("😬", "grimacing", "smileys", "awkward"),
54
+ e("😴", "sleeping", "smileys", "tired", "zzz"),
55
+ e("🤒", "sick", "smileys", "ill", "thermometer"),
56
+ e("🤕", "head_bandage", "smileys", "hurt"),
57
+ e("🤯", "exploding_head", "smileys", "mind blown"),
58
+ e("🥳", "partying", "smileys", "celebrate", "party"),
59
+ e("😎", "sunglasses", "smileys", "cool"),
60
+ e("🤓", "nerd", "smileys", "glasses", "study"),
61
+ e("😕", "confused", "smileys"),
62
+ e("😟", "worried", "smileys"),
63
+ e("🙁", "slightly_frowning", "smileys", "sad"),
64
+ e("😮", "open_mouth", "smileys", "surprised"),
65
+ e("😲", "astonished", "smileys", "shocked"),
66
+ e("😢", "cry", "smileys", "sad", "tear"),
67
+ e("😭", "sob", "smileys", "cry"),
68
+ e("😤", "triumph", "smileys", "frustrated"),
69
+ e("😡", "rage", "smileys", "angry"),
70
+ e("😱", "scream", "smileys", "fear"),
71
+ e("🥺", "pleading", "smileys", "puppy eyes"),
72
+ e("😷", "mask", "smileys", "sick"),
73
+ e("💀", "skull", "smileys", "dead"),
74
+ e("👻", "ghost", "smileys", "boo"),
75
+ e("👽", "alien", "smileys"),
76
+ e("🤖", "robot", "smileys", "bot"),
77
+ e("💩", "poop", "smileys"),
78
+ // People & gestures
79
+ e("👍", "thumbsup", "people", "yes", "good", "like"),
80
+ e("👎", "thumbsdown", "people", "no", "bad"),
81
+ e("👏", "clap", "people", "applause", "bravo"),
82
+ e("🙌", "raised_hands", "people", "hooray", "praise"),
83
+ e("🙏", "pray", "people", "please", "thanks"),
84
+ e("🤝", "handshake", "people", "deal", "agree"),
85
+ e("👋", "wave", "people", "hello", "bye"),
86
+ e("✋", "raised_hand", "people", "stop"),
87
+ e("👌", "ok_hand", "people", "okay"),
88
+ e("✌️", "v", "people", "peace", "victory"),
89
+ e("🤞", "crossed_fingers", "people", "luck"),
90
+ e("💪", "muscle", "people", "strong", "flex"),
91
+ e("👉", "point_right", "people", "this"),
92
+ e("👈", "point_left", "people"),
93
+ e("☝️", "point_up", "people", "one"),
94
+ e("✍️", "writing_hand", "people", "write"),
95
+ e("👀", "eyes", "people", "look", "watch"),
96
+ e("🧠", "brain", "people", "think", "mind"),
97
+ e("👶", "baby", "people", "child"),
98
+ e("🧒", "child", "people", "kid"),
99
+ e("👦", "boy", "people"),
100
+ e("👧", "girl", "people"),
101
+ e("🧑", "person", "people", "adult"),
102
+ e("👩", "woman", "people"),
103
+ e("👨", "man", "people"),
104
+ e("🧑‍🏫", "teacher", "people", "tutor", "school"),
105
+ e("🧑‍🎓", "student", "people", "graduate", "learner"),
106
+ e("🧑‍💻", "technologist", "people", "coder", "laptop"),
107
+ e("🧑‍🔬", "scientist", "people", "lab"),
108
+ e("🧑‍🎨", "artist", "people", "paint"),
109
+ e("👨‍👩‍👧‍👦", "family", "people", "parents", "children"),
110
+ e("🧘", "meditate", "people", "yoga", "calm"),
111
+ e("🏃", "running", "people", "run", "exercise"),
112
+ // Animals & nature
113
+ e("🐶", "dog", "nature", "puppy", "pet"),
114
+ e("🐱", "cat", "nature", "kitten", "pet"),
115
+ e("🐭", "mouse", "nature"),
116
+ e("🐰", "rabbit", "nature", "bunny"),
117
+ e("🦊", "fox", "nature"),
118
+ e("🐻", "bear", "nature"),
119
+ e("🐼", "panda", "nature"),
120
+ e("🐨", "koala", "nature"),
121
+ e("🦁", "lion", "nature"),
122
+ e("🐯", "tiger", "nature"),
123
+ e("🐮", "cow", "nature"),
124
+ e("🐷", "pig", "nature"),
125
+ e("🐸", "frog", "nature"),
126
+ e("🐵", "monkey", "nature"),
127
+ e("🐔", "chicken", "nature", "hen"),
128
+ e("🐧", "penguin", "nature"),
129
+ e("🦉", "owl", "nature", "wise"),
130
+ e("🦋", "butterfly", "nature"),
131
+ e("🐝", "bee", "nature", "honey"),
132
+ e("🐛", "bug", "nature", "caterpillar"),
133
+ e("🐢", "turtle", "nature", "slow"),
134
+ e("🐍", "snake", "nature"),
135
+ e("🦕", "dinosaur", "nature", "dino"),
136
+ e("🐙", "octopus", "nature"),
137
+ e("🐟", "fish", "nature"),
138
+ e("🐬", "dolphin", "nature"),
139
+ e("🐳", "whale", "nature"),
140
+ e("🦄", "unicorn", "nature", "magic"),
141
+ e("🌱", "seedling", "nature", "plant", "grow", "sprout"),
142
+ e("🌿", "herb", "nature", "leaf"),
143
+ e("🍀", "four_leaf_clover", "nature", "luck"),
144
+ e("🌳", "tree", "nature", "forest"),
145
+ e("🌲", "evergreen", "nature", "pine"),
146
+ e("🌵", "cactus", "nature"),
147
+ e("🌸", "cherry_blossom", "nature", "flower", "spring"),
148
+ e("🌻", "sunflower", "nature", "flower"),
149
+ e("🌹", "rose", "nature", "flower"),
150
+ e("🍂", "fallen_leaf", "nature", "autumn"),
151
+ e("🍁", "maple_leaf", "nature", "autumn"),
152
+ e("🌍", "earth", "nature", "world", "globe", "geography"),
153
+ e("🌙", "moon", "nature", "night"),
154
+ e("⭐", "star", "nature", "favourite"),
155
+ e("🌟", "glowing_star", "nature", "sparkle"),
156
+ e("✨", "sparkles", "nature", "magic", "new"),
157
+ e("☀️", "sun", "nature", "sunny"),
158
+ e("⛅", "partly_sunny", "nature", "cloud"),
159
+ e("🌧️", "rain", "nature", "weather"),
160
+ e("⚡", "zap", "nature", "lightning", "energy"),
161
+ e("❄️", "snowflake", "nature", "winter", "cold"),
162
+ e("🌈", "rainbow", "nature"),
163
+ e("🔥", "fire", "nature", "hot", "lit"),
164
+ e("💧", "droplet", "nature", "water"),
165
+ e("🌊", "ocean_wave", "nature", "ocean", "sea", "wave"),
166
+ // Food & drink
167
+ e("🍎", "apple", "food", "fruit", "teacher"),
168
+ e("🍌", "banana", "food", "fruit"),
169
+ e("🍇", "grapes", "food", "fruit"),
170
+ e("🍓", "strawberry", "food", "fruit"),
171
+ e("🍉", "watermelon", "food", "fruit"),
172
+ e("🍊", "orange", "food", "fruit", "tangerine"),
173
+ e("🍋", "lemon", "food", "fruit"),
174
+ e("🥕", "carrot", "food", "vegetable"),
175
+ e("🥦", "broccoli", "food", "vegetable"),
176
+ e("🍞", "bread", "food", "loaf"),
177
+ e("🧀", "cheese", "food"),
178
+ e("🥚", "egg", "food"),
179
+ e("🍕", "pizza", "food"),
180
+ e("🍔", "hamburger", "food", "burger"),
181
+ e("🌮", "taco", "food"),
182
+ e("🍝", "spaghetti", "food", "pasta"),
183
+ e("🍜", "ramen", "food", "noodles"),
184
+ e("🍣", "sushi", "food"),
185
+ e("🍪", "cookie", "food", "biscuit"),
186
+ e("🎂", "birthday", "food", "cake"),
187
+ e("🧁", "cupcake", "food"),
188
+ e("🍫", "chocolate", "food"),
189
+ e("🍬", "candy", "food", "sweet"),
190
+ e("🍿", "popcorn", "food", "cinema"),
191
+ e("☕", "coffee", "food", "tea", "hot drink"),
192
+ e("🍵", "tea", "food", "green tea"),
193
+ e("🥤", "cup_with_straw", "food", "drink"),
194
+ e("🧃", "juice_box", "food", "drink"),
195
+ // Activities
196
+ e("⚽", "soccer", "activities", "football", "sport"),
197
+ e("🏀", "basketball", "activities", "sport"),
198
+ e("🏈", "football", "activities", "american football"),
199
+ e("🎾", "tennis", "activities", "sport"),
200
+ e("🏏", "cricket", "activities", "sport"),
201
+ e("🏊", "swimming", "activities", "swim", "pool"),
202
+ e("🚴", "cycling", "activities", "bike"),
203
+ e("🏆", "trophy", "activities", "winner", "award"),
204
+ e("🥇", "first_place", "activities", "gold", "medal"),
205
+ e("🎖️", "medal", "activities", "achievement"),
206
+ e("🎯", "dart", "activities", "target", "goal", "aim"),
207
+ e("🎮", "video_game", "activities", "gaming"),
208
+ e("🎲", "game_die", "activities", "dice", "random"),
209
+ e("🧩", "puzzle", "activities", "jigsaw", "piece"),
210
+ e("♟️", "chess", "activities", "strategy"),
211
+ e("🎨", "art", "activities", "paint", "palette"),
212
+ e("🎭", "performing_arts", "activities", "drama", "theatre"),
213
+ e("🎬", "clapper", "activities", "film", "movie"),
214
+ e("🎤", "microphone", "activities", "sing", "karaoke"),
215
+ e("🎧", "headphones", "activities", "music", "listen"),
216
+ e("🎵", "musical_note", "activities", "music", "song"),
217
+ e("🎹", "piano", "activities", "music", "keyboard"),
218
+ e("🎸", "guitar", "activities", "music"),
219
+ e("🥁", "drum", "activities", "music"),
220
+ e("🎻", "violin", "activities", "music"),
221
+ e("🎉", "tada", "activities", "party", "celebrate", "congratulations"),
222
+ e("🎈", "balloon", "activities", "party"),
223
+ e("🎁", "gift", "activities", "present"),
224
+ e("🎓", "mortar_board", "activities", "graduation", "school", "exam"),
225
+ e("🧪", "test_tube", "activities", "science", "chemistry", "experiment"),
226
+ e("🔬", "microscope", "activities", "science", "biology"),
227
+ e("🔭", "telescope", "activities", "space", "astronomy"),
228
+ e("🧮", "abacus", "activities", "maths", "count"),
229
+ e("🧲", "magnet", "activities", "physics"),
230
+ // Travel & places
231
+ e("🏠", "house", "travel", "home"),
232
+ e("🏫", "school", "travel", "education"),
233
+ e("🏛️", "classical_building", "travel", "museum", "history"),
234
+ e("🏰", "castle", "travel", "history"),
235
+ e("⛺", "tent", "travel", "camping", "outdoors"),
236
+ e("🏖️", "beach", "travel", "holiday", "summer"),
237
+ e("🏞️", "national_park", "travel", "nature", "outdoors"),
238
+ e("🗺️", "world_map", "travel", "geography", "map"),
239
+ e("🧭", "compass", "travel", "direction"),
240
+ e("🚗", "car", "travel", "drive"),
241
+ e("🚌", "bus", "travel"),
242
+ e("🚲", "bicycle", "travel", "bike"),
243
+ e("🚂", "train", "travel", "railway"),
244
+ e("✈️", "airplane", "travel", "flight", "trip"),
245
+ e("🚀", "rocket", "travel", "launch", "space", "fast"),
246
+ e("⛵", "sailboat", "travel", "boat"),
247
+ e("🌅", "sunrise", "travel", "morning"),
248
+ e("🌃", "night_stars", "travel", "night", "city"),
249
+ // Objects
250
+ e("📝", "memo", "objects", "note", "write", "pencil"),
251
+ e("📒", "ledger", "objects", "notebook", "yellow"),
252
+ e("📓", "notebook", "objects", "journal"),
253
+ e("📔", "notebook_decorative", "objects", "journal", "diary"),
254
+ e("📕", "closed_book", "objects", "book", "red"),
255
+ e("📗", "green_book", "objects", "book"),
256
+ e("📘", "blue_book", "objects", "book"),
257
+ e("📙", "orange_book", "objects", "book"),
258
+ e("📚", "books", "objects", "study", "library", "reading"),
259
+ e("📖", "open_book", "objects", "read", "reading"),
260
+ e("📄", "page", "objects", "document", "paper"),
261
+ e("📋", "clipboard", "objects", "list", "checklist"),
262
+ e("📌", "pushpin", "objects", "pin", "important"),
263
+ e("📍", "round_pushpin", "objects", "location", "pin"),
264
+ e("📎", "paperclip", "objects", "attach"),
265
+ e("✂️", "scissors", "objects", "cut", "craft"),
266
+ e("📏", "ruler", "objects", "measure", "maths"),
267
+ e("📐", "triangular_ruler", "objects", "geometry", "maths"),
268
+ e("✏️", "pencil", "objects", "write", "draw"),
269
+ e("🖊️", "pen", "objects", "write"),
270
+ e("🖍️", "crayon", "objects", "draw", "art", "colour"),
271
+ e("🖌️", "paintbrush", "objects", "art", "paint"),
272
+ e("📁", "file_folder", "objects", "folder"),
273
+ e("📂", "open_file_folder", "objects", "folder"),
274
+ e("🗂️", "card_index_dividers", "objects", "organise", "sections"),
275
+ e("🗓️", "calendar", "objects", "date", "schedule"),
276
+ e("📅", "date", "objects", "calendar", "day"),
277
+ e("⏰", "alarm_clock", "objects", "time", "reminder", "wake"),
278
+ e("⏳", "hourglass", "objects", "time", "waiting", "deadline"),
279
+ e("⌛", "hourglass_done", "objects", "time", "finished"),
280
+ e("🔔", "bell", "objects", "notification", "reminder"),
281
+ e("💡", "bulb", "objects", "idea", "light", "tip"),
282
+ e("🔦", "flashlight", "objects", "torch"),
283
+ e("🔑", "key", "objects", "unlock", "password"),
284
+ e("🔒", "lock", "objects", "private", "secure"),
285
+ e("🔓", "unlock", "objects", "open"),
286
+ e("🔍", "mag", "objects", "search", "find", "magnify"),
287
+ e("🧰", "toolbox", "objects", "tools"),
288
+ e("🔧", "wrench", "objects", "fix", "tool"),
289
+ e("🔨", "hammer", "objects", "build", "tool"),
290
+ e("⚙️", "gear", "objects", "settings", "cog"),
291
+ e("💻", "laptop", "objects", "computer"),
292
+ e("🖥️", "desktop", "objects", "computer", "monitor"),
293
+ e("⌨️", "keyboard", "objects", "type"),
294
+ e("🖱️", "computer_mouse", "objects", "click", "mouse"),
295
+ e("📱", "iphone", "objects", "phone", "mobile"),
296
+ e("📷", "camera", "objects", "photo", "picture"),
297
+ e("🎥", "movie_camera", "objects", "video", "film"),
298
+ e("📺", "tv", "objects", "television"),
299
+ e("📻", "radio", "objects"),
300
+ e("🎙️", "studio_microphone", "objects", "podcast", "record"),
301
+ e("💰", "moneybag", "objects", "money", "cash", "budget"),
302
+ e("💷", "pound", "objects", "money", "gbp", "fees"),
303
+ e("💳", "credit_card", "objects", "payment", "card"),
304
+ e("🧾", "receipt", "objects", "invoice", "bill"),
305
+ e("📈", "chart_up", "objects", "growth", "progress", "increase"),
306
+ e("📉", "chart_down", "objects", "decrease", "drop"),
307
+ e("📊", "bar_chart", "objects", "stats", "data", "report"),
308
+ e("🗃️", "card_file_box", "objects", "archive", "records"),
309
+ e("🗑️", "wastebasket", "objects", "bin", "delete", "trash"),
310
+ e("🧸", "teddy_bear", "objects", "toy", "child"),
311
+ e("🎒", "school_satchel", "objects", "backpack", "bag", "school"),
312
+ e("🧳", "luggage", "objects", "suitcase", "trip"),
313
+ e("🩺", "stethoscope", "objects", "doctor", "health"),
314
+ e("💊", "pill", "objects", "medicine", "health"),
315
+ e("🧬", "dna", "objects", "biology", "genetics"),
316
+ e("🪐", "ringed_planet", "objects", "saturn", "space"),
317
+ e("🌐", "globe_meridians", "objects", "web", "internet", "language"),
318
+ e("🏁", "checkered_flag", "objects", "finish", "done", "race"),
319
+ e("🚩", "triangular_flag", "objects", "flag", "attention", "issue"),
320
+ // Symbols
321
+ e("❤️", "heart", "symbols", "love", "red"),
322
+ e("🧡", "orange_heart", "symbols", "love"),
323
+ e("💛", "yellow_heart", "symbols", "love"),
324
+ e("💚", "green_heart", "symbols", "love"),
325
+ e("💙", "blue_heart", "symbols", "love"),
326
+ e("💜", "purple_heart", "symbols", "love"),
327
+ e("🖤", "black_heart", "symbols"),
328
+ e("💔", "broken_heart", "symbols", "sad"),
329
+ e("💯", "100", "symbols", "perfect", "score", "full marks"),
330
+ e("✅", "white_check_mark", "symbols", "done", "yes", "tick", "complete"),
331
+ e("☑️", "ballot_box_with_check", "symbols", "tick", "checked"),
332
+ e("✔️", "heavy_check_mark", "symbols", "tick", "done"),
333
+ e("❌", "x", "symbols", "no", "wrong", "cross", "cancel"),
334
+ e("❎", "negative_squared_cross", "symbols", "no"),
335
+ e("⭕", "o", "symbols", "circle", "correct"),
336
+ e("❓", "question", "symbols", "help", "ask"),
337
+ e("❗", "exclamation", "symbols", "important", "alert", "warning"),
338
+ e("⚠️", "warning", "symbols", "caution", "attention"),
339
+ e("🚫", "no_entry_sign", "symbols", "forbidden", "banned"),
340
+ e("♻️", "recycle", "symbols", "green", "environment"),
341
+ e("➕", "heavy_plus", "symbols", "add", "plus", "maths"),
342
+ e("➖", "heavy_minus", "symbols", "subtract", "minus", "maths"),
343
+ e("✖️", "heavy_multiplication", "symbols", "times", "maths"),
344
+ e("➗", "heavy_division", "symbols", "divide", "maths"),
345
+ e("🟰", "equals", "symbols", "maths"),
346
+ e("♾️", "infinity", "symbols", "forever", "maths"),
347
+ e("🔢", "1234", "symbols", "numbers", "maths"),
348
+ e("🔤", "abc", "symbols", "letters", "alphabet", "english"),
349
+ e("🔠", "capital_abcd", "symbols", "letters", "uppercase"),
350
+ e("ℹ️", "information", "symbols", "info"),
351
+ e("🆕", "new", "symbols"),
352
+ e("🆗", "ok", "symbols", "okay"),
353
+ e("🆙", "up", "symbols", "level up"),
354
+ e("🔝", "top", "symbols", "best"),
355
+ e("🔜", "soon", "symbols", "coming soon"),
356
+ e("▶️", "arrow_forward", "symbols", "play", "next"),
357
+ e("⏸️", "pause", "symbols"),
358
+ e("⏹️", "stop", "symbols"),
359
+ e("🔁", "repeat", "symbols", "loop", "recurring"),
360
+ e("🔀", "shuffle", "symbols", "random", "mix"),
361
+ e("➡️", "arrow_right", "symbols", "next", "then"),
362
+ e("⬅️", "arrow_left", "symbols", "back", "previous"),
363
+ e("⬆️", "arrow_up", "symbols", "up"),
364
+ e("⬇️", "arrow_down", "symbols", "down"),
365
+ e("↩️", "leftwards_arrow_with_hook", "symbols", "return", "undo"),
366
+ e("🔗", "link", "symbols", "url", "chain"),
367
+ e("💬", "speech_balloon", "symbols", "comment", "chat", "message"),
368
+ e("💭", "thought_balloon", "symbols", "thinking", "idea"),
369
+ e("🗨️", "left_speech_bubble", "symbols", "quote", "said"),
370
+ e("💤", "zzz", "symbols", "sleep", "tired"),
371
+ e("🔴", "red_circle", "symbols", "red", "stop", "urgent"),
372
+ e("🟠", "orange_circle", "symbols", "orange"),
373
+ e("🟡", "yellow_circle", "symbols", "yellow", "caution"),
374
+ e("🟢", "green_circle", "symbols", "green", "go", "good"),
375
+ e("🔵", "blue_circle", "symbols", "blue"),
376
+ e("🟣", "purple_circle", "symbols", "purple"),
377
+ e("⚫", "black_circle", "symbols", "black"),
378
+ e("⚪", "white_circle", "symbols", "white"),
379
+ e("🟥", "red_square", "symbols", "red"),
380
+ e("🟩", "green_square", "symbols", "green"),
381
+ e("🟦", "blue_square", "symbols", "blue"),
382
+ e("🔶", "large_orange_diamond", "symbols", "orange"),
383
+ e("🔷", "large_blue_diamond", "symbols", "blue"),
384
+ e("🔺", "small_red_triangle", "symbols", "up"),
385
+ e("🔻", "small_red_triangle_down", "symbols", "down"),
386
+ e("💠", "diamond_shape_with_a_dot_inside", "symbols"),
387
+ e("🏷️", "label", "symbols", "tag"),
388
+ e("🔖", "bookmark", "symbols", "save", "mark"),
389
+ e("📣", "mega", "symbols", "announce", "loud"),
390
+ e("🎗️", "reminder_ribbon", "symbols", "remember"),
391
+ e("♿", "wheelchair", "symbols", "accessible", "send"),
392
+ e("☪️", "star_and_crescent", "symbols", "islam", "ramadan", "eid"),
393
+ e("✝️", "latin_cross", "symbols", "christian", "church"),
394
+ e("✡️", "star_of_david", "symbols", "jewish"),
395
+ e("🕉️", "om", "symbols", "hindu"),
396
+ e("☮️", "peace_symbol", "symbols", "peace"),
397
+ ];
398
+ /**
399
+ * Case-insensitive search over names and keywords. An empty query returns the
400
+ * whole set in catalogue order, which is what a picker wants to open with.
401
+ */
402
+ export function searchEmoji(query, limit = 60) {
403
+ const term = query.trim().toLowerCase().replace(/^:/, "");
404
+ if (!term)
405
+ return EMOJI.slice(0, limit);
406
+ const starts = [];
407
+ const contains = [];
408
+ for (const entry of EMOJI) {
409
+ if (entry.name.startsWith(term))
410
+ starts.push(entry);
411
+ else if (entry.name.includes(term) || entry.keywords.some((k) => k.includes(term)))
412
+ contains.push(entry);
413
+ if (starts.length >= limit)
414
+ break;
415
+ }
416
+ return [...starts, ...contains].slice(0, limit);
417
+ }
418
+ //# sourceMappingURL=emoji.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../src/editor/emoji.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { RichTextEditor, type RichTextEditorProps } from "./editor.js";
2
+ export { EmojiPicker } from "./emoji-picker.js";
3
+ export { activeBlockType, BLOCK_TYPES, type BlockType } from "./blocks.js";
4
+ export { type SuggestionItem, type SuggestionSources } from "./suggestions.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ export { RichTextEditor } from "./editor.js";
3
+ export { EmojiPicker } from "./emoji-picker.js";
4
+ export { activeBlockType, BLOCK_TYPES } from "./blocks.js";
5
+ export {} from "./suggestions.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,cAAc,EAA4B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC3E,OAAO,EAA+C,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { SuggestionItem } from "./suggestions.js";
2
+ interface SuggestionPopupProps {
3
+ items: SuggestionItem[];
4
+ activeIndex: number;
5
+ clientRect: (() => DOMRect | null) | null;
6
+ onSelect: (item: SuggestionItem) => void;
7
+ onHover: (index: number) => void;
8
+ }
9
+ /**
10
+ * The floating list under an `@`, `#`, `/` or `:` being typed. Portalled to the
11
+ * body and positioned from the caret rect, so it works inside dialogs and scroll
12
+ * areas without a positioning library. Theme-safe by construction: popover and
13
+ * accent tokens only.
14
+ */
15
+ export declare function SuggestionPopup({ items, activeIndex, clientRect, onSelect, onHover }: SuggestionPopupProps): import("react").ReactPortal | null;
16
+ export {};
17
+ //# sourceMappingURL=suggestion-popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestion-popup.d.ts","sourceRoot":"","sources":["../../src/editor/suggestion-popup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,UAAU,oBAAoB;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,oBAAoB,sCAiH1G"}
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Fragment, useEffect, useLayoutEffect, useRef, useState } from "react";
4
+ import { createPortal } from "react-dom";
5
+ import { cx } from "../internal/cx.js";
6
+ /**
7
+ * The floating list under an `@`, `#`, `/` or `:` being typed. Portalled to the
8
+ * body and positioned from the caret rect, so it works inside dialogs and scroll
9
+ * areas without a positioning library. Theme-safe by construction: popover and
10
+ * accent tokens only.
11
+ */
12
+ export function SuggestionPopup({ items, activeIndex, clientRect, onSelect, onHover }) {
13
+ const ref = useRef(null);
14
+ const [position, setPosition] = useState(null);
15
+ useLayoutEffect(() => {
16
+ // The rect resolver holds a document position that this render may have
17
+ // outrun (an autosave refresh, an accepted suggestion shrinking the doc);
18
+ // ProseMirror then throws "Position out of range". A popup one frame from
19
+ // closing anyway must never be able to take the editor down with it.
20
+ let rect = null;
21
+ try {
22
+ rect = clientRect?.() ?? null;
23
+ }
24
+ catch {
25
+ rect = null;
26
+ }
27
+ if (!rect)
28
+ return;
29
+ const width = ref.current?.offsetWidth ?? 288;
30
+ const height = ref.current?.offsetHeight ?? 240;
31
+ // Below the caret unless that would leave the viewport; clamp horizontally.
32
+ const top = rect.bottom + height + 8 > window.innerHeight ? rect.top - height - 4 : rect.bottom + 4;
33
+ const left = Math.min(rect.left, window.innerWidth - width - 8);
34
+ setPosition({ left: Math.max(8, left), top: Math.max(8, top) });
35
+ }, [clientRect, items.length]);
36
+ // Keep the active row visible while arrowing through a long list.
37
+ useEffect(() => {
38
+ ref.current?.querySelector('[data-active="true"]')?.scrollIntoView({ block: "nearest" });
39
+ }, [activeIndex]);
40
+ if (items.length === 0)
41
+ return null;
42
+ return createPortal(_jsx("div", { ref: ref, role: "listbox", "aria-label": "Suggestions", style: position ? { left: position.left, top: position.top } : { visibility: "hidden" }, className: "fixed z-50 max-h-80 w-80 max-w-[calc(100vw-1rem)] overflow-y-auto rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-md", children: items.map((item, index) => {
43
+ const Icon = item.icon;
44
+ return (_jsxs(Fragment, { children: [item.group && item.group !== items[index - 1]?.group ? (_jsx("p", { role: "presentation", className: cx("px-2 pb-1 text-xs font-medium text-muted-foreground", index > 0 ? "mt-1 border-t border-border pt-2" : "pt-1"), children: item.group })) : null, _jsxs("button", { type: "button", role: "option", "aria-selected": index === activeIndex, "data-active": index === activeIndex,
45
+ // Mousedown, not click: click lands after the editor regains focus
46
+ // and the suggestion range has already been re-evaluated.
47
+ onMouseDown: (event) => {
48
+ event.preventDefault();
49
+ onSelect(item);
50
+ }, onMouseEnter: () => onHover(index), className: cx("flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm", index === activeIndex ? "bg-accent text-accent-foreground" : "hover:bg-accent/60"), children: [item.avatar ? (_jsx("span", { className: "flex size-7 shrink-0 items-center justify-center overflow-hidden rounded-full bg-muted text-[11px] font-semibold text-muted-foreground", "aria-hidden": true, children: item.avatar.image ? (
51
+ // A 28px avatar from the account; there is no optimisation to gain.
52
+ _jsx("img", { src: item.avatar.image, alt: "", className: "size-full object-cover" })) : (item.avatar.initials) })) : Icon ? (_jsx("span", { className: "flex size-7 shrink-0 items-center justify-center rounded-md border border-border bg-background", children: _jsx(Icon, { className: "size-4", "aria-hidden": true }) })) : item.glyph ? (_jsx("span", { className: "flex size-7 shrink-0 items-center justify-center text-lg leading-none", "aria-hidden": true, children: item.glyph })) : null, item.avatar ? (
53
+ // People get two lines: who they are to you can be a phrase, not a word.
54
+ _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate font-medium", children: item.label }), item.hint ? _jsx("span", { className: "block truncate text-xs text-muted-foreground", children: item.hint }) : null] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "min-w-0 flex-1 truncate font-medium", children: item.label }), item.hint ? (_jsx("span", { className: "max-w-[45%] shrink-0 truncate text-xs text-muted-foreground", children: item.hint })) : null] }))] })] }, item.key));
55
+ }) }), document.body);
56
+ }
57
+ //# sourceMappingURL=suggestion-popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestion-popup.js","sourceRoot":"","sources":["../../src/editor/suggestion-popup.tsx"],"names":[],"mappings":"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"}