@abraca/schema 2.3.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 (92) hide show
  1. package/dist/abracadabra-schema.cjs +853 -0
  2. package/dist/abracadabra-schema.cjs.map +1 -0
  3. package/dist/abracadabra-schema.esm.js +781 -0
  4. package/dist/abracadabra-schema.esm.js.map +1 -0
  5. package/dist/index.d.ts +2538 -0
  6. package/package.json +41 -0
  7. package/src/crdt.ts +63 -0
  8. package/src/generated/calendar.ts +35 -0
  9. package/src/generated/chart.ts +35 -0
  10. package/src/generated/checklist.ts +35 -0
  11. package/src/generated/dashboard.ts +35 -0
  12. package/src/generated/doc.ts +35 -0
  13. package/src/generated/gallery.ts +35 -0
  14. package/src/generated/graph.ts +35 -0
  15. package/src/generated/json-schema/calendar.json +140 -0
  16. package/src/generated/json-schema/chart.json +164 -0
  17. package/src/generated/json-schema/checklist.json +138 -0
  18. package/src/generated/json-schema/dashboard.json +122 -0
  19. package/src/generated/json-schema/doc.json +122 -0
  20. package/src/generated/json-schema/gallery.json +157 -0
  21. package/src/generated/json-schema/graph.json +125 -0
  22. package/src/generated/json-schema/kanban.json +145 -0
  23. package/src/generated/json-schema/map.json +125 -0
  24. package/src/generated/json-schema/outline.json +122 -0
  25. package/src/generated/json-schema/overview.json +122 -0
  26. package/src/generated/json-schema/plugin-manifest.json +221 -0
  27. package/src/generated/json-schema/prose.json +122 -0
  28. package/src/generated/json-schema/sheets.json +135 -0
  29. package/src/generated/json-schema/slides.json +129 -0
  30. package/src/generated/json-schema/table.json +136 -0
  31. package/src/generated/json-schema/timeline.json +122 -0
  32. package/src/generated/kanban.ts +35 -0
  33. package/src/generated/map.ts +35 -0
  34. package/src/generated/markdown/calendar.md +59 -0
  35. package/src/generated/markdown/chart.md +62 -0
  36. package/src/generated/markdown/checklist.md +58 -0
  37. package/src/generated/markdown/dashboard.md +56 -0
  38. package/src/generated/markdown/doc.md +56 -0
  39. package/src/generated/markdown/gallery.md +61 -0
  40. package/src/generated/markdown/graph.md +57 -0
  41. package/src/generated/markdown/kanban.md +62 -0
  42. package/src/generated/markdown/map.md +57 -0
  43. package/src/generated/markdown/outline.md +56 -0
  44. package/src/generated/markdown/overview.md +56 -0
  45. package/src/generated/markdown/prose.md +56 -0
  46. package/src/generated/markdown/sheets.md +59 -0
  47. package/src/generated/markdown/slides.md +57 -0
  48. package/src/generated/markdown/table.md +58 -0
  49. package/src/generated/markdown/timeline.md +56 -0
  50. package/src/generated/outline.ts +35 -0
  51. package/src/generated/overview.ts +35 -0
  52. package/src/generated/prose.ts +35 -0
  53. package/src/generated/rust/calendar.rs +125 -0
  54. package/src/generated/rust/chart.rs +151 -0
  55. package/src/generated/rust/checklist.rs +123 -0
  56. package/src/generated/rust/dashboard.rs +101 -0
  57. package/src/generated/rust/doc.rs +101 -0
  58. package/src/generated/rust/gallery.rs +146 -0
  59. package/src/generated/rust/graph.rs +104 -0
  60. package/src/generated/rust/kanban.rs +127 -0
  61. package/src/generated/rust/map.rs +104 -0
  62. package/src/generated/rust/outline.rs +101 -0
  63. package/src/generated/rust/overview.rs +101 -0
  64. package/src/generated/rust/prose.rs +101 -0
  65. package/src/generated/rust/sheets.rs +110 -0
  66. package/src/generated/rust/slides.rs +111 -0
  67. package/src/generated/rust/table.rs +121 -0
  68. package/src/generated/rust/timeline.rs +101 -0
  69. package/src/generated/sheets.ts +35 -0
  70. package/src/generated/slides.ts +35 -0
  71. package/src/generated/table.ts +35 -0
  72. package/src/generated/timeline.ts +35 -0
  73. package/src/index.ts +389 -0
  74. package/src/manifest/plugin-manifest.ts +212 -0
  75. package/src/query.ts +150 -0
  76. package/src/types/calendar.ts +23 -0
  77. package/src/types/chart.ts +36 -0
  78. package/src/types/checklist.ts +22 -0
  79. package/src/types/dashboard.ts +18 -0
  80. package/src/types/doc.ts +19 -0
  81. package/src/types/gallery.ts +24 -0
  82. package/src/types/graph.ts +21 -0
  83. package/src/types/kanban.ts +27 -0
  84. package/src/types/map.ts +21 -0
  85. package/src/types/outline.ts +17 -0
  86. package/src/types/overview.ts +17 -0
  87. package/src/types/prose.ts +19 -0
  88. package/src/types/sheets.ts +24 -0
  89. package/src/types/slides.ts +22 -0
  90. package/src/types/table.ts +22 -0
  91. package/src/types/timeline.ts +18 -0
  92. package/src/types/universal.ts +59 -0
@@ -0,0 +1,221 @@
1
+ {
2
+ "$schema": "https://abraca.dev/schema/plugin-manifest/v1.json",
3
+ "schemaVersion": 1,
4
+ "label": "plugin-manifest",
5
+ "schema": {
6
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
7
+ "type": "object",
8
+ "properties": {
9
+ "manifestVersion": {
10
+ "type": "number",
11
+ "const": 1
12
+ },
13
+ "id": {
14
+ "type": "string",
15
+ "pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$"
16
+ },
17
+ "name": {
18
+ "type": "string",
19
+ "minLength": 1,
20
+ "maxLength": 80
21
+ },
22
+ "version": {
23
+ "type": "string",
24
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
25
+ },
26
+ "author": {
27
+ "type": "object",
28
+ "properties": {
29
+ "github": {
30
+ "type": "string",
31
+ "minLength": 1,
32
+ "maxLength": 64
33
+ },
34
+ "name": {
35
+ "type": "string",
36
+ "minLength": 1,
37
+ "maxLength": 120
38
+ },
39
+ "url": {
40
+ "type": "string",
41
+ "maxLength": 512,
42
+ "format": "uri"
43
+ },
44
+ "email": {
45
+ "type": "string",
46
+ "maxLength": 254,
47
+ "format": "email",
48
+ "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
49
+ }
50
+ }
51
+ },
52
+ "license": {
53
+ "type": "string",
54
+ "minLength": 1,
55
+ "maxLength": 80
56
+ },
57
+ "description": {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "maxLength": 280
61
+ },
62
+ "readme": {
63
+ "type": "string",
64
+ "maxLength": 100000
65
+ },
66
+ "homepage": {
67
+ "type": "string",
68
+ "maxLength": 512,
69
+ "format": "uri"
70
+ },
71
+ "repository": {
72
+ "type": "string",
73
+ "minLength": 3,
74
+ "maxLength": 512
75
+ },
76
+ "minAbracadabraVersion": {
77
+ "type": "string",
78
+ "minLength": 1,
79
+ "maxLength": 80,
80
+ "pattern": "^[\\d.xX*~^<>=|\\s&,a-zA-Z+-]+$"
81
+ },
82
+ "entry": {
83
+ "type": "string",
84
+ "minLength": 1,
85
+ "maxLength": 256
86
+ },
87
+ "integrity": {
88
+ "type": "string",
89
+ "pattern": "^sha256-[0-9a-f]{64}$"
90
+ },
91
+ "pricing": {
92
+ "type": "string",
93
+ "enum": [
94
+ "free",
95
+ "optional",
96
+ "paid"
97
+ ]
98
+ },
99
+ "screenshots": {
100
+ "readOnly": true,
101
+ "maxItems": 20,
102
+ "type": "array",
103
+ "items": {
104
+ "type": "string",
105
+ "minLength": 1,
106
+ "maxLength": 256
107
+ }
108
+ },
109
+ "categories": {
110
+ "readOnly": true,
111
+ "maxItems": 10,
112
+ "type": "array",
113
+ "items": {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 40
117
+ }
118
+ },
119
+ "capabilities": {
120
+ "type": "object",
121
+ "properties": {
122
+ "required": {
123
+ "readOnly": true,
124
+ "type": "array",
125
+ "items": {
126
+ "type": "string",
127
+ "pattern": "^(fs:read|fs:write|clipboard:read|clipboard:write|doc-read|doc-write|awareness|server-runner|command-palette|toolbar|bubble-menu|slash-command|drag-handle|chat:send|chat:read|notifications:show|network|network:\\S+|page-type:[a-z][a-z0-9-]*)$"
128
+ }
129
+ },
130
+ "optional": {
131
+ "readOnly": true,
132
+ "type": "array",
133
+ "items": {
134
+ "type": "string",
135
+ "pattern": "^(fs:read|fs:write|clipboard:read|clipboard:write|doc-read|doc-write|awareness|server-runner|command-palette|toolbar|bubble-menu|slash-command|drag-handle|chat:send|chat:read|notifications:show|network|network:\\S+|page-type:[a-z][a-z0-9-]*)$"
136
+ }
137
+ }
138
+ },
139
+ "required": [
140
+ "required"
141
+ ]
142
+ },
143
+ "contributes": {
144
+ "type": "object",
145
+ "properties": {
146
+ "pageTypes": {
147
+ "readOnly": true,
148
+ "type": "array",
149
+ "items": {
150
+ "type": "string",
151
+ "minLength": 1
152
+ }
153
+ },
154
+ "extensions": {
155
+ "readOnly": true,
156
+ "type": "array",
157
+ "items": {
158
+ "type": "string",
159
+ "minLength": 1
160
+ }
161
+ },
162
+ "awarenessFields": {
163
+ "readOnly": true,
164
+ "type": "array",
165
+ "items": {
166
+ "type": "string",
167
+ "minLength": 1
168
+ }
169
+ },
170
+ "serverRunners": {
171
+ "readOnly": true,
172
+ "type": "array",
173
+ "items": {
174
+ "type": "string",
175
+ "minLength": 1
176
+ }
177
+ },
178
+ "commands": {
179
+ "readOnly": true,
180
+ "type": "array",
181
+ "items": {
182
+ "type": "string",
183
+ "minLength": 1
184
+ }
185
+ },
186
+ "settingsPanels": {
187
+ "readOnly": true,
188
+ "type": "array",
189
+ "items": {
190
+ "type": "string",
191
+ "minLength": 1
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "peerDeps": {
197
+ "type": "object",
198
+ "propertyNames": {
199
+ "type": "string"
200
+ },
201
+ "additionalProperties": {
202
+ "type": "string",
203
+ "minLength": 1,
204
+ "maxLength": 80,
205
+ "pattern": "^[\\d.xX*~^<>=|\\s&,a-zA-Z+-]+$"
206
+ }
207
+ }
208
+ },
209
+ "required": [
210
+ "manifestVersion",
211
+ "id",
212
+ "version",
213
+ "author",
214
+ "license",
215
+ "description",
216
+ "entry",
217
+ "integrity",
218
+ "capabilities"
219
+ ]
220
+ }
221
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "$schema": "https://abraca.dev/schema/registry/v1.json",
3
+ "schemaVersion": 1,
4
+ "label": "prose",
5
+ "types": {
6
+ "prose": {
7
+ "version": 1,
8
+ "meta": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {
12
+ "color": {
13
+ "type": "string",
14
+ "pattern": "^#[0-9a-fA-F]{6}$"
15
+ },
16
+ "icon": {
17
+ "type": "string"
18
+ },
19
+ "datetimeStart": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
23
+ },
24
+ "datetimeEnd": {
25
+ "type": "string",
26
+ "format": "date-time",
27
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
28
+ },
29
+ "allDay": {
30
+ "type": "boolean"
31
+ },
32
+ "dateStart": {
33
+ "type": "string",
34
+ "format": "date",
35
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
36
+ },
37
+ "dateEnd": {
38
+ "type": "string",
39
+ "format": "date",
40
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
41
+ },
42
+ "timeStart": {
43
+ "type": "string",
44
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
45
+ },
46
+ "timeEnd": {
47
+ "type": "string",
48
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
49
+ },
50
+ "tags": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "checked": {
57
+ "type": "boolean"
58
+ },
59
+ "priority": {
60
+ "type": "integer",
61
+ "minimum": 0,
62
+ "maximum": 4
63
+ },
64
+ "status": {
65
+ "type": "string"
66
+ },
67
+ "rating": {
68
+ "type": "number",
69
+ "minimum": 0,
70
+ "maximum": 5
71
+ },
72
+ "url": {
73
+ "type": "string"
74
+ },
75
+ "email": {
76
+ "type": "string"
77
+ },
78
+ "phone": {
79
+ "type": "string"
80
+ },
81
+ "number": {
82
+ "type": "number"
83
+ },
84
+ "unit": {
85
+ "type": "string"
86
+ },
87
+ "subtitle": {
88
+ "type": "string"
89
+ },
90
+ "note": {
91
+ "type": "string"
92
+ },
93
+ "taskProgress": {
94
+ "type": "number",
95
+ "minimum": 0,
96
+ "maximum": 100
97
+ },
98
+ "assignedTo": {
99
+ "type": "string"
100
+ },
101
+ "coverUploadId": {
102
+ "type": "string"
103
+ },
104
+ "coverDocId": {
105
+ "type": "string"
106
+ },
107
+ "coverMimeType": {
108
+ "type": "string"
109
+ },
110
+ "__schemaVersion": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 9007199254740991
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ },
118
+ "body": "ytext",
119
+ "children": []
120
+ }
121
+ }
122
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "$schema": "https://abraca.dev/schema/registry/v1.json",
3
+ "schemaVersion": 1,
4
+ "label": "sheets",
5
+ "types": {
6
+ "sheets": {
7
+ "version": 1,
8
+ "meta": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {
12
+ "color": {
13
+ "type": "string",
14
+ "pattern": "^#[0-9a-fA-F]{6}$"
15
+ },
16
+ "icon": {
17
+ "type": "string"
18
+ },
19
+ "datetimeStart": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
23
+ },
24
+ "datetimeEnd": {
25
+ "type": "string",
26
+ "format": "date-time",
27
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
28
+ },
29
+ "allDay": {
30
+ "type": "boolean"
31
+ },
32
+ "dateStart": {
33
+ "type": "string",
34
+ "format": "date",
35
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
36
+ },
37
+ "dateEnd": {
38
+ "type": "string",
39
+ "format": "date",
40
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
41
+ },
42
+ "timeStart": {
43
+ "type": "string",
44
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
45
+ },
46
+ "timeEnd": {
47
+ "type": "string",
48
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
49
+ },
50
+ "tags": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "checked": {
57
+ "type": "boolean"
58
+ },
59
+ "priority": {
60
+ "type": "integer",
61
+ "minimum": 0,
62
+ "maximum": 4
63
+ },
64
+ "status": {
65
+ "type": "string"
66
+ },
67
+ "rating": {
68
+ "type": "number",
69
+ "minimum": 0,
70
+ "maximum": 5
71
+ },
72
+ "url": {
73
+ "type": "string"
74
+ },
75
+ "email": {
76
+ "type": "string"
77
+ },
78
+ "phone": {
79
+ "type": "string"
80
+ },
81
+ "number": {
82
+ "type": "number"
83
+ },
84
+ "unit": {
85
+ "type": "string"
86
+ },
87
+ "subtitle": {
88
+ "type": "string"
89
+ },
90
+ "note": {
91
+ "type": "string"
92
+ },
93
+ "taskProgress": {
94
+ "type": "number",
95
+ "minimum": 0,
96
+ "maximum": 100
97
+ },
98
+ "assignedTo": {
99
+ "type": "string"
100
+ },
101
+ "coverUploadId": {
102
+ "type": "string"
103
+ },
104
+ "coverDocId": {
105
+ "type": "string"
106
+ },
107
+ "coverMimeType": {
108
+ "type": "string"
109
+ },
110
+ "__schemaVersion": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 9007199254740991
114
+ },
115
+ "sheetsDefaultColWidth": {
116
+ "type": "number",
117
+ "minimum": 40,
118
+ "maximum": 500
119
+ },
120
+ "sheetsDefaultRowHeight": {
121
+ "type": "number",
122
+ "minimum": 20,
123
+ "maximum": 100
124
+ },
125
+ "sheetsShowGridlines": {
126
+ "type": "boolean"
127
+ }
128
+ },
129
+ "additionalProperties": false
130
+ },
131
+ "body": "none",
132
+ "children": []
133
+ }
134
+ }
135
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "$schema": "https://abraca.dev/schema/registry/v1.json",
3
+ "schemaVersion": 1,
4
+ "label": "slides",
5
+ "types": {
6
+ "slides": {
7
+ "version": 1,
8
+ "meta": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {
12
+ "color": {
13
+ "type": "string",
14
+ "pattern": "^#[0-9a-fA-F]{6}$"
15
+ },
16
+ "icon": {
17
+ "type": "string"
18
+ },
19
+ "datetimeStart": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
23
+ },
24
+ "datetimeEnd": {
25
+ "type": "string",
26
+ "format": "date-time",
27
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
28
+ },
29
+ "allDay": {
30
+ "type": "boolean"
31
+ },
32
+ "dateStart": {
33
+ "type": "string",
34
+ "format": "date",
35
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
36
+ },
37
+ "dateEnd": {
38
+ "type": "string",
39
+ "format": "date",
40
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
41
+ },
42
+ "timeStart": {
43
+ "type": "string",
44
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
45
+ },
46
+ "timeEnd": {
47
+ "type": "string",
48
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
49
+ },
50
+ "tags": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "checked": {
57
+ "type": "boolean"
58
+ },
59
+ "priority": {
60
+ "type": "integer",
61
+ "minimum": 0,
62
+ "maximum": 4
63
+ },
64
+ "status": {
65
+ "type": "string"
66
+ },
67
+ "rating": {
68
+ "type": "number",
69
+ "minimum": 0,
70
+ "maximum": 5
71
+ },
72
+ "url": {
73
+ "type": "string"
74
+ },
75
+ "email": {
76
+ "type": "string"
77
+ },
78
+ "phone": {
79
+ "type": "string"
80
+ },
81
+ "number": {
82
+ "type": "number"
83
+ },
84
+ "unit": {
85
+ "type": "string"
86
+ },
87
+ "subtitle": {
88
+ "type": "string"
89
+ },
90
+ "note": {
91
+ "type": "string"
92
+ },
93
+ "taskProgress": {
94
+ "type": "number",
95
+ "minimum": 0,
96
+ "maximum": 100
97
+ },
98
+ "assignedTo": {
99
+ "type": "string"
100
+ },
101
+ "coverUploadId": {
102
+ "type": "string"
103
+ },
104
+ "coverDocId": {
105
+ "type": "string"
106
+ },
107
+ "coverMimeType": {
108
+ "type": "string"
109
+ },
110
+ "__schemaVersion": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 9007199254740991
114
+ },
115
+ "slidesTheme": {
116
+ "type": "string",
117
+ "enum": [
118
+ "dark",
119
+ "light"
120
+ ]
121
+ }
122
+ },
123
+ "additionalProperties": false
124
+ },
125
+ "body": "none",
126
+ "children": []
127
+ }
128
+ }
129
+ }