n8n-nodes-craft-daily-notes 1.0.26 → 2.0.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 (76) hide show
  1. package/README.md +311 -62
  2. package/dist/nodes/CraftDailyNotes/CraftDailyNotes.node.json +2 -2
  3. package/dist/nodes/CraftDailyNotes/loadOptions/getCollections.js +16 -7
  4. package/dist/nodes/CraftDailyNotes/loadOptions/getCollections.js.map +1 -1
  5. package/dist/nodes/CraftDailyNotes/resources/block/delete.js +1 -1
  6. package/dist/nodes/CraftDailyNotes/resources/block/delete.js.map +1 -1
  7. package/dist/nodes/CraftDailyNotes/resources/block/insert.js +11 -33
  8. package/dist/nodes/CraftDailyNotes/resources/block/insert.js.map +1 -1
  9. package/dist/nodes/CraftDailyNotes/resources/block/move.js +2 -2
  10. package/dist/nodes/CraftDailyNotes/resources/block/move.js.map +1 -1
  11. package/dist/nodes/CraftDailyNotes/resources/block/search.js +3 -3
  12. package/dist/nodes/CraftDailyNotes/resources/block/search.js.map +1 -1
  13. package/dist/nodes/CraftDailyNotes/resources/block/update.js +118 -29
  14. package/dist/nodes/CraftDailyNotes/resources/block/update.js.map +1 -1
  15. package/dist/nodes/CraftDailyNotes/resources/collection/addItems.js +15 -1
  16. package/dist/nodes/CraftDailyNotes/resources/collection/addItems.js.map +1 -1
  17. package/dist/nodes/CraftDailyNotes/resources/collection/deleteItems.js +1 -1
  18. package/dist/nodes/CraftDailyNotes/resources/collection/deleteItems.js.map +1 -1
  19. package/dist/nodes/CraftDailyNotes/resources/collection/getSchema.js +3 -3
  20. package/dist/nodes/CraftDailyNotes/resources/collection/getSchema.js.map +1 -1
  21. package/dist/nodes/CraftDailyNotes/resources/collection/updateItems.js +15 -1
  22. package/dist/nodes/CraftDailyNotes/resources/collection/updateItems.js.map +1 -1
  23. package/dist/nodes/CraftDailyNotes/resources/search/index.js +67 -0
  24. package/dist/nodes/CraftDailyNotes/resources/search/index.js.map +1 -1
  25. package/dist/nodes/CraftDailyNotes/resources/task/add.js +5 -5
  26. package/dist/nodes/CraftDailyNotes/resources/task/add.js.map +1 -1
  27. package/dist/nodes/CraftDailyNotes/resources/task/delete.js +1 -1
  28. package/dist/nodes/CraftDailyNotes/resources/task/delete.js.map +1 -1
  29. package/dist/nodes/CraftDailyNotes/shared/transport.js +24 -1
  30. package/dist/nodes/CraftDailyNotes/shared/transport.js.map +1 -1
  31. package/dist/nodes/CraftDocuments/CraftDocuments.node.d.ts +2 -0
  32. package/dist/nodes/CraftDocuments/CraftDocuments.node.js +2 -0
  33. package/dist/nodes/CraftDocuments/CraftDocuments.node.js.map +1 -1
  34. package/dist/nodes/CraftDocuments/CraftDocuments.node.json +1 -1
  35. package/dist/nodes/CraftDocuments/loadOptions/getBlocks.d.ts +2 -0
  36. package/dist/nodes/CraftDocuments/loadOptions/getBlocks.js +42 -0
  37. package/dist/nodes/CraftDocuments/loadOptions/getBlocks.js.map +1 -0
  38. package/dist/nodes/CraftDocuments/loadOptions/getCollections.js +14 -9
  39. package/dist/nodes/CraftDocuments/loadOptions/getCollections.js.map +1 -1
  40. package/dist/nodes/CraftDocuments/loadOptions/getDocuments.js +14 -9
  41. package/dist/nodes/CraftDocuments/loadOptions/getDocuments.js.map +1 -1
  42. package/dist/nodes/CraftDocuments/resources/block/delete.js +1 -1
  43. package/dist/nodes/CraftDocuments/resources/block/delete.js.map +1 -1
  44. package/dist/nodes/CraftDocuments/resources/block/get.js +6 -4
  45. package/dist/nodes/CraftDocuments/resources/block/get.js.map +1 -1
  46. package/dist/nodes/CraftDocuments/resources/block/insert.js +16 -36
  47. package/dist/nodes/CraftDocuments/resources/block/insert.js.map +1 -1
  48. package/dist/nodes/CraftDocuments/resources/block/move.js +8 -6
  49. package/dist/nodes/CraftDocuments/resources/block/move.js.map +1 -1
  50. package/dist/nodes/CraftDocuments/resources/block/search.js +9 -7
  51. package/dist/nodes/CraftDocuments/resources/block/search.js.map +1 -1
  52. package/dist/nodes/CraftDocuments/resources/block/update.js +118 -29
  53. package/dist/nodes/CraftDocuments/resources/block/update.js.map +1 -1
  54. package/dist/nodes/CraftDocuments/resources/collection/addItems.js +15 -1
  55. package/dist/nodes/CraftDocuments/resources/collection/addItems.js.map +1 -1
  56. package/dist/nodes/CraftDocuments/resources/collection/deleteItems.js +1 -1
  57. package/dist/nodes/CraftDocuments/resources/collection/deleteItems.js.map +1 -1
  58. package/dist/nodes/CraftDocuments/resources/collection/list.js +1 -1
  59. package/dist/nodes/CraftDocuments/resources/collection/list.js.map +1 -1
  60. package/dist/nodes/CraftDocuments/resources/collection/updateItems.js +15 -1
  61. package/dist/nodes/CraftDocuments/resources/collection/updateItems.js.map +1 -1
  62. package/dist/nodes/CraftDocuments/resources/document/list.js +20 -5
  63. package/dist/nodes/CraftDocuments/resources/document/list.js.map +1 -1
  64. package/dist/nodes/CraftDocuments/resources/search/index.js +68 -1
  65. package/dist/nodes/CraftDocuments/resources/search/index.js.map +1 -1
  66. package/dist/nodes/CraftDocuments/shared/transport.js +24 -1
  67. package/dist/nodes/CraftDocuments/shared/transport.js.map +1 -1
  68. package/dist/nodes/shared/blockDefinitions.d.ts +6 -0
  69. package/dist/nodes/shared/blockDefinitions.js +42 -0
  70. package/dist/nodes/shared/blockDefinitions.js.map +1 -0
  71. package/dist/nodes/shared/transport.d.ts +3 -0
  72. package/dist/nodes/shared/transport.js +64 -0
  73. package/dist/nodes/shared/transport.js.map +1 -0
  74. package/dist/package.json +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +1 -1
package/README.md CHANGED
@@ -1,20 +1,194 @@
1
- # n8n-nodes-craft-daily-notes
1
+ <h1 align="center">📝 n8n-nodes-craft 📝</h1>
2
+ <h3 align="center">Automate your Craft docs. Stop manual copy-pasting.</h3>
3
+
4
+ <p align="center">
5
+ <strong>
6
+ <em>The ultimate n8n community nodes for Craft. Manage daily notes, documents, blocks, tasks, and collections — all from your workflows.</em>
7
+ </strong>
8
+ </p>
9
+
10
+ <p align="center">
11
+ <a href="https://www.npmjs.com/package/n8n-nodes-craft-daily-notes"><img alt="npm" src="https://img.shields.io/npm/v/n8n-nodes-craft-daily-notes.svg?style=flat-square&color=4D87E6"></a>
12
+ <a href="#"><img alt="node" src="https://img.shields.io/badge/node-%3E%3D20.15.0-4D87E6.svg?style=flat-square"></a>
13
+ &nbsp;&nbsp;•&nbsp;&nbsp;
14
+ <a href="LICENSE.md"><img alt="license" src="https://img.shields.io/badge/License-MIT-F9A825.svg?style=flat-square"></a>
15
+ <a href="https://docs.n8n.io/integrations/community-nodes/"><img alt="n8n" src="https://img.shields.io/badge/n8n-Community%20Node-FF6D5A.svg?style=flat-square"></a>
16
+ </p>
17
+
18
+ <!-- 🎉 V2 ANNOUNCEMENT -->
19
+ <div align="center">
20
+
21
+ <br/>
22
+
23
+ <a href="CHANGELOG.md"><img alt="v2" src="https://img.shields.io/badge/🎉_v2.0.0-NOW_AVAILABLE-00C853.svg?style=for-the-badge"></a>
24
+
25
+ ### ⚡ What's New in v2
2
26
 
3
- n8n community node for **[Craft Daily Notes API](https://www.craft.do/s/hLrMZpKFfYRWPT)** — manage blocks, tasks, collections, and search across your Craft daily notes.
27
+ </div>
4
28
 
5
- [![npm version](https://img.shields.io/npm/v/n8n-nodes-craft-daily-notes?style=flat-square&color=blue)](https://www.npmjs.com/package/n8n-nodes-craft-daily-notes)
6
- [![n8n](https://img.shields.io/badge/n8n-Community%20Node-FF6D5A?style=flat-square&logo=n8n&logoColor=white)](https://docs.n8n.io/integrations/community-nodes/)
7
- [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE.md)
8
- [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18.0.0-brightgreen?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/)
9
-
10
- ## Installation
29
+ <table align="center">
30
+ <tr>
31
+ <td align="center" width="25%">
32
+ <h3>🔔</h3>
33
+ <b>Trigger Node</b><br/>
34
+ <sub>Poll for document & collection changes</sub>
35
+ </td>
36
+ <td align="center" width="25%">
37
+ <h3>📋</h3>
38
+ <b>Document Dropdowns</b><br/>
39
+ <sub>Select docs visually, no more IDs</sub>
40
+ </td>
41
+ <td align="center" width="25%">
42
+ <h3>🧱</h3>
43
+ <b>Structured Blocks</b><br/>
44
+ <sub>Insert with full type control</sub>
45
+ </td>
46
+ <td align="center" width="25%">
47
+ <h3>🔍</h3>
48
+ <b>Regex Search</b><br/>
49
+ <sub>RE2-compatible pattern matching</sub>
50
+ </td>
51
+ </tr>
52
+ </table>
53
+
54
+ <div align="center">
55
+
56
+ **📊 Schema-Aware Collections** • **📅 Native Date Pickers** • **🤖 Enhanced AI Tool Support** • **100% API Coverage**
57
+
58
+ </div>
59
+
60
+ <!-- 📦 WORKFLOWS SECTION -->
61
+ <div align="center">
62
+
63
+ <br/>
64
+
65
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows"><img alt="workflows" src="https://img.shields.io/badge/📦_500+_WORKFLOWS-READY_TO_USE-7C4DFF.svg?style=for-the-badge"></a>
66
+
67
+ ### 🚀 Production-Ready Workflow Collection
68
+
69
+ **Ported from ClickUp, Airtable, Monday.com, Grist, NocoDB & Baserow — just copy & paste!**
70
+
71
+ <sub>✅ All workflows validated with <a href="https://www.npmjs.com/package/n8n-workflow-validator">n8n-workflow-validator</a> (built for this project)</sub>
72
+
73
+ </div>
74
+
75
+ <p align="center">
76
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Craft Chat Analyzer</a> ᛫
77
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Telegram AI Assistant</a> ᛫
78
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">DeepSeek Agent</a> ᛫
79
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Google Analytics AI</a> ᛫
80
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Social Caption Generator</a> ᛫
81
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Email to Craft Tasks</a> ᛫
82
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Job Application Processor</a> ᛫
83
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Fireflies Meeting Agent</a> ᛫
84
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Zoom Meeting Assistant</a> ᛫
85
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">AI Deep Research Agent</a> ᛫
86
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Obsidian Craft Sync</a> ᛫
87
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Support Sentiment Tracker</a> ᛫
88
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Dynamic AI Data Extractor</a> ᛫
89
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Pinterest Content Analyzer</a> ᛫
90
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">HubSpot Chat Assistant</a> ᛫
91
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">Stock Earnings RAG</a> ᛫
92
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">RFP Automation</a> ᛫
93
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows">and 40+ more...</a>
94
+ </p>
95
+
96
+ <div align="center">
97
+
98
+ <sub>🤖 AI Agents • 📊 Analytics • 🎨 Content Creation • 📧 Email • 💼 HR • 📋 Project Management • 🔍 Web Scraping • 🧠 Knowledge RAG</sub>
99
+
100
+ <br/><br/>
101
+
102
+ <a href="https://github.com/yigitkonur/craft-n8n-workflows"><img alt="browse" src="https://img.shields.io/badge/Browse_All_Workflows_→-7C4DFF.svg?style=flat-square"></a>
103
+
104
+ </div>
105
+
106
+ <p align="center">
107
+ <img alt="daily notes" src="https://img.shields.io/badge/📅_Daily_Notes-blocks,_tasks,_search-2ED573.svg?style=for-the-badge">
108
+ <img alt="documents" src="https://img.shields.io/badge/📄_Documents-multi--doc_management-2ED573.svg?style=for-the-badge">
109
+ </p>
110
+
111
+ <div align="center">
112
+
113
+ ### 🧭 Quick Navigation
114
+
115
+ [**🎉 What's New**](#-whats-new-in-v2) •
116
+ [**📦 Workflows**](https://github.com/yigitkonur/craft-n8n-workflows) •
117
+ [**⚡ Install**](#-installation) •
118
+ [**🔑 Setup**](#-setup) •
119
+ [**✨ Features**](#-features) •
120
+ [**🎮 Examples**](#-examples) •
121
+ [**🛠️ Development**](#️-development)
122
+
123
+ </div>
124
+
125
+ ---
126
+
127
+ **Two powerful nodes in one package.** Whether you're automating daily journaling, syncing tasks to external systems, or building AI-powered document workflows — this package has you covered.
128
+
129
+ <div align="center">
130
+ <table>
131
+ <tr>
132
+ <td align="center">
133
+ <h3>📅</h3>
134
+ <b>Craft Daily Notes</b><br/>
135
+ <sub>Blocks, tasks, collections, search</sub>
136
+ </td>
137
+ <td align="center">
138
+ <h3>📄</h3>
139
+ <b>Craft Documents</b><br/>
140
+ <sub>Multi-document management</sub>
141
+ </td>
142
+ <td align="center">
143
+ <h3>🤖</h3>
144
+ <b>AI Agent Ready</b><br/>
145
+ <sub>Works with n8n AI tools</sub>
146
+ </td>
147
+ </tr>
148
+ </table>
149
+ </div>
150
+
151
+ ---
152
+
153
+ ## 💥 Why This Exists
154
+
155
+ Craft is beautiful for writing. But getting data in and out? Pain. This package fixes that.
156
+
157
+ <table align="center">
158
+ <tr>
159
+ <td align="center"><b>❌ Without This Node</b></td>
160
+ <td align="center"><b>✅ With This Node</b></td>
161
+ </tr>
162
+ <tr>
163
+ <td>
164
+ <ol>
165
+ <li>Open Craft. Copy block IDs manually.</li>
166
+ <li>Write custom API scripts.</li>
167
+ <li>Debug authentication issues.</li>
168
+ <li>Pray your automation works.</li>
169
+ </ol>
170
+ </td>
171
+ <td>
172
+ <ol>
173
+ <li>Install the node.</li>
174
+ <li>Paste your Connect URL.</li>
175
+ <li>Build workflows visually.</li>
176
+ <li>Ship it. ☕</li>
177
+ </ol>
178
+ </td>
179
+ </tr>
180
+ </table>
181
+
182
+ ---
183
+
184
+ ## 🚀 Installation
11
185
 
12
186
  ### Community Nodes (Recommended)
13
187
 
14
- 1. Go to **Settings > Community Nodes** in n8n
15
- 2. Select **Install**
188
+ 1. Go to **Settings Community Nodes** in n8n
189
+ 2. Click **Install**
16
190
  3. Enter `n8n-nodes-craft-daily-notes`
17
- 4. Select **Install**
191
+ 4. Click **Install**
18
192
 
19
193
  ### Manual Installation
20
194
 
@@ -23,83 +197,158 @@ cd ~/.n8n/nodes
23
197
  npm install n8n-nodes-craft-daily-notes
24
198
  ```
25
199
 
26
- ## Setup
200
+ ---
201
+
202
+ ## 🔑 Setup
203
+
204
+ <table>
205
+ <tr>
206
+ <td width="50%">
207
+
208
+ ### Daily Notes API
209
+
210
+ 1. In Craft: **Settings → Connect → Daily Notes & Tasks**
211
+ 2. Copy your Connect API URL
212
+ 3. In n8n: Create **Craft Daily Notes API** credentials
213
+ 4. Paste the URL
214
+
215
+ </td>
216
+ <td width="50%">
217
+
218
+ ### Documents API
219
+
220
+ 1. In Craft: **Settings → Connect → Your Connection**
221
+ 2. Copy your Connect API URL
222
+ 3. In n8n: Create **Craft Documents API** credentials
223
+ 4. Paste the URL
224
+
225
+ </td>
226
+ </tr>
227
+ </table>
27
228
 
28
- 1. In Craft, go to **Settings Connect Daily Notes & Tasks**
29
- 2. Copy your **Connect API URL** (looks like `https://connect.craft.do/links/YOUR_ID/api/v1`)
30
- 3. In n8n, create new credentials for **Craft Daily Notes API**
31
- 4. Paste your API URL
229
+ > **🔐 Security Note:** The API URL contains your auth token. Keep it private.
32
230
 
33
- > **Note**: The API URL itself acts as your authentication token. Keep it secure and do not share it publicly.
231
+ ---
34
232
 
35
- ## Features
233
+ ## Features
234
+
235
+ <div align="center">
236
+
237
+ ### Craft Daily Notes
238
+
239
+ | Resource | Operations |
240
+ |:--------:|:-----------|
241
+ | **📦 Block** | Get, Insert, Update, Delete, Move, Search |
242
+ | **✅ Task** | Get, Add, Update, Delete |
243
+ | **🗂️ Collection** | List, Get Schema, Get/Add/Update/Delete Items |
244
+ | **🔍 Search** | Search Across All Daily Notes |
245
+
246
+ ### Craft Documents
36
247
 
37
248
  | Resource | Operations |
38
- |----------|------------|
39
- | **Block** | Get, Insert, Update, Delete, Move, Search in Document |
40
- | **Task** | Get, Add, Update, Delete |
41
- | **Collection** | List, Get Schema, Get Items, Add Items, Update Items, Delete Items |
42
- | **Search** | Search Across Daily Notes |
249
+ |:--------:|:-----------|
250
+ | **📄 Document** | List All Documents |
251
+ | **📦 Block** | Get, Insert, Update, Delete, Move, Search |
252
+ | **🗂️ Collection** | List, Get Schema, Get/Add/Update/Delete Items |
253
+ | **🔍 Search** | Search Across All Documents |
43
254
 
44
- ### Smart Block Builder
255
+ </div>
45
256
 
46
- Paste large markdown content — the node automatically splits it into optimal blocks while preserving headers and structure. Configurable options include:
257
+ ### 🎯 Key Capabilities
47
258
 
48
- - **Max Block Size**: Control maximum characters per block (1000-10000)
49
- - **Preserve Headers**: Keep markdown headers as separate styled blocks
50
- - **Split on Paragraphs**: Intelligent paragraph-aware splitting
259
+ - **📅 Relative Dates** Use `today`, `tomorrow`, `yesterday` or `YYYY-MM-DD`
260
+ - **🤖 AI Agent Support** Works as a tool in AI-powered workflows
261
+ - **📋 Smart Dropdowns** Collections load dynamically from your data
262
+ - **⚡ Declarative Routing** — Clean, maintainable node architecture
51
263
 
52
- ### Relative Dates
264
+ ---
53
265
 
54
- Use `today`, `tomorrow`, `yesterday`, or ISO format (`YYYY-MM-DD`) throughout all date fields.
266
+ ## 🎮 Examples
267
+
268
+ ### Get Today's Daily Note
269
+
270
+ ```
271
+ Node: Craft Daily Notes
272
+ Resource: Block → Get
273
+ Date: today
274
+ ```
55
275
 
56
- ### AI Agent Support
276
+ ### Add Task to Inbox
57
277
 
58
- This node is compatible with n8n AI agents (`usableAsTool: true`), allowing it to be used as a tool in AI-powered workflows.
278
+ ```
279
+ Node: Craft Daily Notes
280
+ Resource: Task → Add
281
+ Content: "Review pull requests"
282
+ Location: Inbox
283
+ ```
59
284
 
60
- ## Examples
285
+ ### Insert Content into Document
61
286
 
62
- ### Get Today's Blocks
63
- - Resource: **Block**
64
- - Operation: **Get**
65
- - Date: `today`
287
+ ```
288
+ Node: Craft Documents
289
+ Resource: Block → Insert
290
+ Document ID: (select from dropdown)
291
+ Content: "## Meeting Notes\n\n- Point 1\n- Point 2"
292
+ ```
66
293
 
67
- ### Add a Task to Inbox
68
- - Resource: **Task**
69
- - Operation: **Add**
70
- - Task Content: `Review pull requests`
71
- - Location Type: **Inbox**
294
+ ### Search Across Everything
72
295
 
73
- ### Search Across Notes
74
- - Resource: **Search**
75
- - Operation: **Search Across Daily Notes**
76
- - Search Terms: `project alpha`
296
+ ```
297
+ Node: Craft Daily Notes
298
+ Resource: Search → Search Across Daily Notes
299
+ Terms: "project alpha"
300
+ ```
77
301
 
78
- ### Insert Smart Blocks
79
- - Resource: **Block**
80
- - Operation: **Insert**
81
- - Content Mode: **Markdown Text**
82
- - Paste your long-form content and let the node handle optimal splitting
302
+ ---
83
303
 
84
- ## Development
304
+ ## 🛠️ Development
85
305
 
86
306
  ```bash
307
+ # Install dependencies
87
308
  npm install
88
- npm run dev # Start n8n with hot reload
89
- npm run build # Compile TypeScript
90
- npm run lint # Check code quality
309
+
310
+ # Development mode (hot reload)
311
+ npm run dev
312
+
313
+ # Build for production
314
+ npm run build
315
+
316
+ # Lint code
317
+ npm run lint
91
318
  ```
92
319
 
93
- ## Resources
320
+ ### Project Structure
94
321
 
95
- - [Craft Daily Notes API Documentation](https://www.craft.do/s/hLrMZpKFfYRWPT)
96
- - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
322
+ ```
323
+ ├── credentials/ # API credential definitions
324
+ ├── nodes/
325
+ │ ├── CraftDailyNotes/ # Daily Notes node
326
+ │ └── CraftDocuments/ # Documents node
327
+ ├── icons/ # Node icons (light/dark)
328
+ └── dist/ # Compiled output
329
+ ```
330
+
331
+ ---
332
+
333
+ ## 📚 Resources
334
+
335
+ - [Craft Connect Documentation](https://www.craft.do/s/hLrMZpKFfYRWPT)
336
+ - [n8n Community Nodes Guide](https://docs.n8n.io/integrations/community-nodes/)
97
337
  - [Changelog](CHANGELOG.md)
98
338
 
99
- ## Author
339
+ ---
340
+
341
+ <div align="center">
342
+
343
+ ## 👤 Author
344
+
345
+ **Yigit Konur**
346
+
347
+ [![GitHub](https://img.shields.io/badge/GitHub-yigitkonur-181717?style=flat-square&logo=github)](https://github.com/yigitkonur)
348
+ [![Email](https://img.shields.io/badge/Email-yigit@konur.dev-EA4335?style=flat-square&logo=gmail&logoColor=white)](mailto:yigit@konur.dev)
100
349
 
101
- **Yigit Konur** — [GitHub](https://github.com/yigitkonur) • [Email](mailto:yigit@konur.dev)
350
+ ---
102
351
 
103
- ## License
352
+ **[MIT License](LICENSE.md)** — Built with 🔥 for the Craft + n8n community.
104
353
 
105
- [MIT](LICENSE.md)
354
+ </div>
@@ -6,7 +6,7 @@
6
6
  "resources": {
7
7
  "credentialDocumentation": [
8
8
  {
9
- "url": "https://github.com/yigitkonur/n8n-nodes-craft-daily-notes#setup"
9
+ "url": "https://www.craft.do/s/hLrMZpKFfYRWPT"
10
10
  }
11
11
  ],
12
12
  "primaryDocumentation": [
@@ -17,6 +17,6 @@
17
17
  },
18
18
  "alias": ["craft", "daily notes", "notion", "notes", "tasks", "productivity"],
19
19
  "subcategories": {
20
- "Productivity": ["Note Taking"]
20
+ "Productivity": ["Notes & Documents"]
21
21
  }
22
22
  }
@@ -3,12 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCollections = getCollections;
4
4
  const transport_1 = require("../shared/transport");
5
5
  async function getCollections() {
6
- const response = await transport_1.craftApiRequest.call(this, 'GET', '/collections');
7
- const data = response;
8
- const collections = data.items || [];
9
- return collections.map((collection) => ({
10
- name: `${collection.name} (${collection.dailyNoteDate})`,
11
- value: collection.id,
12
- }));
6
+ try {
7
+ const response = (await transport_1.craftApiRequest.call(this, 'GET', '/collections'));
8
+ if (!(response === null || response === void 0 ? void 0 : response.items) || !Array.isArray(response.items)) {
9
+ return [];
10
+ }
11
+ return response.items.map((collection) => ({
12
+ name: collection.name || `Collection ${collection.id}`,
13
+ value: collection.id,
14
+ description: collection.dailyNoteDate
15
+ ? `Date: ${collection.dailyNoteDate}`
16
+ : `ID: ${collection.id}`,
17
+ }));
18
+ }
19
+ catch {
20
+ return [];
21
+ }
13
22
  }
14
23
  //# sourceMappingURL=getCollections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCollections.js","sourceRoot":"","sources":["../../../../nodes/CraftDailyNotes/loadOptions/getCollections.ts"],"names":[],"mappings":";;AAmBA,wCAaC;AA1BD,mDAAsD;AAa/C,KAAK,UAAU,cAAc;IAGnC,MAAM,QAAQ,GAAG,MAAM,2BAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAEzE,MAAM,IAAI,GAAG,QAA+C,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAGrC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,GAAG;QACxD,KAAK,EAAE,UAAU,CAAC,EAAE;KACpB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"getCollections.js","sourceRoot":"","sources":["../../../../nodes/CraftDailyNotes/loadOptions/getCollections.ts"],"names":[],"mappings":";;AAyBA,wCAyBC;AA5CD,mDAAsD;AAmB/C,KAAK,UAAU,cAAc;IAGnC,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,CAAC,MAAM,2BAAe,CAAC,IAAI,CAC3C,IAAI,EACJ,KAAK,EACL,cAAc,CACd,CAAmC,CAAC;QAErC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,cAAc,UAAU,CAAC,EAAE,EAAE;YACtD,KAAK,EAAE,UAAU,CAAC,EAAE;YACpB,WAAW,EAAE,UAAU,CAAC,aAAa;gBACpC,CAAC,CAAC,SAAS,UAAU,CAAC,aAAa,EAAE;gBACrC,CAAC,CAAC,OAAO,UAAU,CAAC,EAAE,EAAE;SACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QAER,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC"}
@@ -16,7 +16,7 @@ exports.blockDeleteDescription = [
16
16
  send: {
17
17
  type: 'body',
18
18
  property: 'blockIds',
19
- value: '={{ $value.startsWith("[") ? JSON.parse($value) : $value.split(",").map(id => id.trim()) }}',
19
+ value: '={{ $value && $value.trim().startsWith("[") ? (() => { try { return JSON.parse($value); } catch { return $value.split(",").map(id => id.trim()).filter(id => id); } })() : ($value ? $value.split(",").map(id => id.trim()).filter(id => id) : []) }}',
20
20
  },
21
21
  },
22
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/delete.ts"],"names":[],"mappings":";;;AAMA,MAAM,sBAAsB,GAAG,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAEjE,QAAA,sBAAsB,GAAsB;IAExD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EACV,uEAAuE;QACxE,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,KAAK,EACJ,6FAA6F;aAC9F;SACD;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/delete.ts"],"names":[],"mappings":";;;AAMA,MAAM,sBAAsB,GAAG,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAEjE,QAAA,sBAAsB,GAAsB;IAExD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EACV,uEAAuE;QACxE,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBAEpB,KAAK,EACJ,uPAAuP;aACxP;SACD;KACD;CACD,CAAC"}
@@ -4,40 +4,22 @@ exports.blockInsertDescription = void 0;
4
4
  exports.blockInsertPreSend = blockInsertPreSend;
5
5
  const showOnlyForBlockInsert = { operation: ['insert'], resource: ['block'] };
6
6
  function buildPositionObject(context) {
7
- let positionType = 'end';
8
- let targetDate = 'today';
9
- let referenceBlockId = '';
10
- try {
11
- positionType = context.getNodeParameter('positionType', 'end');
12
- targetDate = context.getNodeParameter('targetDate', 'today');
13
- referenceBlockId = context.getNodeParameter('referenceBlockId', '');
14
- }
15
- catch {
16
- }
7
+ const positionType = context.getNodeParameter('positionType', 'end') || 'end';
8
+ const targetDate = context.getNodeParameter('targetDate', 'today') || 'today';
9
+ const referenceBlockId = context.getNodeParameter('referenceBlockId', '') || '';
17
10
  const position = {
18
- position: positionType || 'end',
19
- date: targetDate || 'today',
11
+ position: positionType,
12
+ date: targetDate,
20
13
  };
21
14
  if (['before', 'after'].includes(positionType) && referenceBlockId) {
22
- position.referenceBlockId = referenceBlockId;
15
+ position.siblingId = referenceBlockId;
23
16
  }
24
17
  return position;
25
18
  }
26
19
  async function blockInsertPreSend(requestOptions) {
27
20
  const position = buildPositionObject(this);
28
- let markdownContent = '';
29
- try {
30
- const rawValue = this.getNodeParameter('markdownContent', '');
31
- if (typeof rawValue === 'string') {
32
- markdownContent = rawValue;
33
- }
34
- else if (rawValue) {
35
- markdownContent = String(rawValue);
36
- }
37
- }
38
- catch {
39
- markdownContent = '';
40
- }
21
+ const rawValue = this.getNodeParameter('markdownContent', '');
22
+ const markdownContent = typeof rawValue === 'string' ? rawValue : String(rawValue !== null && rawValue !== void 0 ? rawValue : '');
41
23
  const requestBody = {
42
24
  blocks: [
43
25
  {
@@ -50,14 +32,10 @@ async function blockInsertPreSend(requestOptions) {
50
32
  date: String(position.date || 'today'),
51
33
  },
52
34
  };
53
- if (position.referenceBlockId) {
54
- requestBody.position.referenceBlockId = String(position.referenceBlockId);
35
+ if (position.siblingId) {
36
+ requestBody.position.siblingId = String(position.siblingId);
55
37
  }
56
- requestOptions.body = JSON.stringify(requestBody);
57
- requestOptions.headers = {
58
- 'Content-Type': 'application/json',
59
- 'Accept': 'application/json',
60
- };
38
+ requestOptions.body = requestBody;
61
39
  return requestOptions;
62
40
  }
63
41
  exports.blockInsertDescription = [
@@ -1 +1 @@
1
- {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/insert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/insert.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ exports.blockMoveDescription = [
16
16
  send: {
17
17
  type: 'body',
18
18
  property: 'blockIds',
19
- value: '={{ $value.startsWith("[") ? JSON.parse($value) : $value.split(",").map(id => id.trim()) }}',
19
+ value: '={{ $value && $value.trim().startsWith("[") ? (() => { try { return JSON.parse($value); } catch { return $value.split(",").map(id => id.trim()).filter(id => id); } })() : ($value ? $value.split(",").map(id => id.trim()).filter(id => id) : []) }}',
20
20
  },
21
21
  },
22
22
  },
@@ -72,7 +72,7 @@ exports.blockMoveDescription = [
72
72
  send: {
73
73
  type: 'body',
74
74
  property: 'position',
75
- value: '={{ $value.positionValues ? { position: $value.positionValues.position, date: $value.positionValues.date, ...(["before", "after"].includes($value.positionValues.position) && $value.positionValues.referenceBlockId ? { referenceBlockId: $value.positionValues.referenceBlockId } : {}) } : { position: "end", date: "today" } }}',
75
+ value: '={{ $value.positionValues ? { position: $value.positionValues.position, date: $value.positionValues.date, ...(["before", "after"].includes($value.positionValues.position) && $value.positionValues.referenceBlockId ? { siblingId: $value.positionValues.referenceBlockId } : {}) } : { position: "end", date: "today" } }}',
76
76
  },
77
77
  },
78
78
  },
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/move.ts"],"names":[],"mappings":";;;AAMA,MAAM,oBAAoB,GAAG,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAE7D,QAAA,oBAAoB,GAAsB;IAEtD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE,qEAAqE;QAClF,cAAc,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC9C,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,KAAK,EACJ,6FAA6F;aAC9F;SACD;KACD;IAGD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,cAAc;QAC3B,cAAc,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC9C,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE;oBACP;wBACC,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;4BACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iCAAiC,EAAE;4BAC7E,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,mCAAmC,EAAE;4BACnF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;4BAChF,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE;yBAC7E;wBACD,OAAO,EAAE,KAAK;qBACd;oBACD;wBACC,WAAW,EAAE,aAAa;wBAC1B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,2CAA2C;wBACxD,WAAW,EAAE,wCAAwC;qBACrD;oBACD;wBACC,WAAW,EAAE,oBAAoB;wBACjC,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE;wBACX,WAAW,EAAE,iBAAiB;wBAC9B,WAAW,EAAE,kEAAkE;wBAC/E,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;6BAC7B;yBACD;qBACD;iBACD;aACD;SACD;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,KAAK,EACJ,qUAAqU;aACtU;SACD;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/move.ts"],"names":[],"mappings":";;;AAMA,MAAM,oBAAoB,GAAG,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAE7D,QAAA,oBAAoB,GAAsB;IAEtD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE,qEAAqE;QAClF,cAAc,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC9C,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBAEpB,KAAK,EACJ,uPAAuP;aACxP;SACD;KACD;IAGD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,cAAc;QAC3B,cAAc,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC9C,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE;oBACP;wBACC,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;4BACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iCAAiC,EAAE;4BAC7E,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,mCAAmC,EAAE;4BACnF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;4BAChF,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE;yBAC7E;wBACD,OAAO,EAAE,KAAK;qBACd;oBACD;wBACC,WAAW,EAAE,aAAa;wBAC1B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,2CAA2C;wBACxD,WAAW,EAAE,wCAAwC;qBACrD;oBACD;wBACC,WAAW,EAAE,oBAAoB;wBACjC,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE;wBACX,WAAW,EAAE,iBAAiB;wBAC9B,WAAW,EAAE,kEAAkE;wBAC/E,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;6BAC7B;yBACD;qBACD;iBACD;aACD;SACD;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,KAAK,EACJ,8TAA8T;aAC/T;SACD;KACD;CACD,CAAC"}
@@ -26,7 +26,7 @@ exports.blockSearchDescription = [
26
26
  default: '',
27
27
  required: true,
28
28
  placeholder: 'meeting|agenda',
29
- description: 'The search pattern. Supports NodeJS regular expressions.',
29
+ description: 'The search pattern. Supports RE2-compatible regex syntax.',
30
30
  displayOptions: { show: showOnlyForBlockSearch },
31
31
  routing: {
32
32
  send: {
@@ -64,7 +64,7 @@ exports.blockSearchDescription = [
64
64
  minValue: 0,
65
65
  maxValue: 5,
66
66
  },
67
- default: 0,
67
+ default: 5,
68
68
  description: 'Number of blocks to include before each match for context',
69
69
  routing: {
70
70
  send: {
@@ -81,7 +81,7 @@ exports.blockSearchDescription = [
81
81
  minValue: 0,
82
82
  maxValue: 5,
83
83
  },
84
- default: 0,
84
+ default: 5,
85
85
  description: 'Number of blocks to include after each match for context',
86
86
  routing: {
87
87
  send: {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/search.ts"],"names":[],"mappings":";;;AAMA,MAAM,sBAAsB,GAAG,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAE3E,QAAA,sBAAsB,GAAsB;IAExD;QACC,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,sCAAsC;QACnD,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;aAChB;SACD;KACD;IAGD;QACC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,0DAA0D;QACvE,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS;aACnB;SACD;KACD;IAGD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,eAAe;qBACzB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;iBACX;gBACD,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,2DAA2D;gBACxE,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,kBAAkB;qBAC5B;iBACD;aACD;YACD;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;iBACX;gBACD,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,iBAAiB;qBAC3B;iBACD;aACD;SACD;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../nodes/CraftDailyNotes/resources/block/search.ts"],"names":[],"mappings":";;;AAMA,MAAM,sBAAsB,GAAG,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAE3E,QAAA,sBAAsB,GAAsB;IAExD;QACC,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,sCAAsC;QACnD,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;aAChB;SACD;KACD;IAGD;QACC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,2DAA2D;QACxE,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS;aACnB;SACD;KACD;IAGD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,eAAe;qBACzB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;iBACX;gBACD,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,2DAA2D;gBACxE,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,kBAAkB;qBAC5B;iBACD;aACD;YACD;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;iBACX;gBACD,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,iBAAiB;qBAC3B;iBACD;aACD;SACD;KACD;CACD,CAAC"}