@kubex/zinc 1.1.64 → 1.1.66
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.
- package/dist/custom-elements.json +255 -27
- package/dist/vscode.html-custom-data.json +13 -3
- package/dist/web-types.json +44 -5
- package/dist/zn.d.ts +47 -11
- package/dist/zn.min.js +447 -394
- package/docs/pages/components/remarkd-editor.md +25 -9
- package/package.json +2 -2
- package/src/components/data-table/data-table.component.ts +16 -10
- package/src/components/data-table/data-table.test.ts +24 -0
- package/src/components/page-builder/page-builder.component.ts +118 -54
- package/src/components/query-builder/query-builder.component.ts +2 -1
- package/src/components/remarkd-editor/remarkd-editor.component.ts +240 -55
- package/src/components/remarkd-editor/remarkd-editor.scss +106 -3
- package/src/components/remarkd-editor/remarkd-editor.test.ts +40 -6
- package/web-test-runner.config.js +2 -2
|
@@ -8132,6 +8132,15 @@
|
|
|
8132
8132
|
"privacy": "private",
|
|
8133
8133
|
"default": "false"
|
|
8134
8134
|
},
|
|
8135
|
+
{
|
|
8136
|
+
"kind": "field",
|
|
8137
|
+
"name": "_lastLoadHadRows",
|
|
8138
|
+
"type": {
|
|
8139
|
+
"text": "boolean"
|
|
8140
|
+
},
|
|
8141
|
+
"privacy": "private",
|
|
8142
|
+
"default": "false"
|
|
8143
|
+
},
|
|
8135
8144
|
{
|
|
8136
8145
|
"kind": "field",
|
|
8137
8146
|
"name": "_lastTableContent",
|
|
@@ -24847,6 +24856,34 @@
|
|
|
24847
24856
|
"static": true,
|
|
24848
24857
|
"default": "{ 'zn-collapsible': ZnCollapsible, 'zn-icon': ZnIcon, 'zn-input': ZnInput, 'zn-page-palette-item': ZnPagePaletteItem, 'zn-page-section-card': ZnPageSectionCard, }"
|
|
24849
24858
|
},
|
|
24859
|
+
{
|
|
24860
|
+
"kind": "field",
|
|
24861
|
+
"name": "formControlController",
|
|
24862
|
+
"privacy": "private",
|
|
24863
|
+
"readonly": true,
|
|
24864
|
+
"default": "new FormControlController(this)"
|
|
24865
|
+
},
|
|
24866
|
+
{
|
|
24867
|
+
"kind": "field",
|
|
24868
|
+
"name": "name",
|
|
24869
|
+
"type": {
|
|
24870
|
+
"text": "string"
|
|
24871
|
+
},
|
|
24872
|
+
"default": "''",
|
|
24873
|
+
"description": "The name of the control, submitted as a name/value pair with form data.",
|
|
24874
|
+
"attribute": "name"
|
|
24875
|
+
},
|
|
24876
|
+
{
|
|
24877
|
+
"kind": "field",
|
|
24878
|
+
"name": "form",
|
|
24879
|
+
"type": {
|
|
24880
|
+
"text": "string"
|
|
24881
|
+
},
|
|
24882
|
+
"default": "''",
|
|
24883
|
+
"description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
|
|
24884
|
+
"attribute": "form",
|
|
24885
|
+
"reflects": true
|
|
24886
|
+
},
|
|
24850
24887
|
{
|
|
24851
24888
|
"kind": "field",
|
|
24852
24889
|
"name": "config",
|
|
@@ -24973,7 +25010,7 @@
|
|
|
24973
25010
|
"kind": "field",
|
|
24974
25011
|
"name": "_slotDragOver",
|
|
24975
25012
|
"type": {
|
|
24976
|
-
"text": "{containerId: string; index: number} | null"
|
|
25013
|
+
"text": "{ containerId: string; index: number } | null"
|
|
24977
25014
|
},
|
|
24978
25015
|
"privacy": "private",
|
|
24979
25016
|
"default": "null",
|
|
@@ -24983,7 +25020,7 @@
|
|
|
24983
25020
|
"kind": "field",
|
|
24984
25021
|
"name": "_slotPicker",
|
|
24985
25022
|
"type": {
|
|
24986
|
-
"text": "{containerId: string; index: number} | null"
|
|
25023
|
+
"text": "{ containerId: string; index: number } | null"
|
|
24987
25024
|
},
|
|
24988
25025
|
"privacy": "private",
|
|
24989
25026
|
"default": "null",
|
|
@@ -25032,6 +25069,78 @@
|
|
|
25032
25069
|
},
|
|
25033
25070
|
"description": "Replaces the page state wholesale (does not emit zn-page-change)."
|
|
25034
25071
|
},
|
|
25072
|
+
{
|
|
25073
|
+
"kind": "field",
|
|
25074
|
+
"name": "value",
|
|
25075
|
+
"type": {
|
|
25076
|
+
"text": "string"
|
|
25077
|
+
},
|
|
25078
|
+
"description": "Replaces the page state from a JSON string (does not emit zn-page-change)."
|
|
25079
|
+
},
|
|
25080
|
+
{
|
|
25081
|
+
"kind": "field",
|
|
25082
|
+
"name": "defaultValue",
|
|
25083
|
+
"description": "The serialised state of the last externally loaded page — restored on form reset."
|
|
25084
|
+
},
|
|
25085
|
+
{
|
|
25086
|
+
"kind": "field",
|
|
25087
|
+
"name": "validity",
|
|
25088
|
+
"type": {
|
|
25089
|
+
"text": "ValidityState"
|
|
25090
|
+
},
|
|
25091
|
+
"description": "Gets the validity state object.",
|
|
25092
|
+
"readonly": true
|
|
25093
|
+
},
|
|
25094
|
+
{
|
|
25095
|
+
"kind": "field",
|
|
25096
|
+
"name": "validationMessage",
|
|
25097
|
+
"type": {
|
|
25098
|
+
"text": "string"
|
|
25099
|
+
},
|
|
25100
|
+
"description": "Gets the validation message.",
|
|
25101
|
+
"readonly": true
|
|
25102
|
+
},
|
|
25103
|
+
{
|
|
25104
|
+
"kind": "method",
|
|
25105
|
+
"name": "checkValidity",
|
|
25106
|
+
"return": {
|
|
25107
|
+
"type": {
|
|
25108
|
+
"text": "boolean"
|
|
25109
|
+
}
|
|
25110
|
+
},
|
|
25111
|
+
"description": "Checks for validity but does not show a validation message."
|
|
25112
|
+
},
|
|
25113
|
+
{
|
|
25114
|
+
"kind": "method",
|
|
25115
|
+
"name": "getForm",
|
|
25116
|
+
"return": {
|
|
25117
|
+
"type": {
|
|
25118
|
+
"text": "HTMLFormElement | null"
|
|
25119
|
+
}
|
|
25120
|
+
},
|
|
25121
|
+
"description": "Gets the associated form, if one exists."
|
|
25122
|
+
},
|
|
25123
|
+
{
|
|
25124
|
+
"kind": "method",
|
|
25125
|
+
"name": "reportValidity",
|
|
25126
|
+
"return": {
|
|
25127
|
+
"type": {
|
|
25128
|
+
"text": "boolean"
|
|
25129
|
+
}
|
|
25130
|
+
},
|
|
25131
|
+
"description": "Checks for validity and shows the browser's validation message if the control is invalid."
|
|
25132
|
+
},
|
|
25133
|
+
{
|
|
25134
|
+
"kind": "method",
|
|
25135
|
+
"name": "setCustomValidity",
|
|
25136
|
+
"parameters": [
|
|
25137
|
+
{
|
|
25138
|
+
"name": "_message",
|
|
25139
|
+
"default": "''"
|
|
25140
|
+
}
|
|
25141
|
+
],
|
|
25142
|
+
"description": "Sets a custom validation message. Pass an empty string to restore validity."
|
|
25143
|
+
},
|
|
25035
25144
|
{
|
|
25036
25145
|
"kind": "method",
|
|
25037
25146
|
"name": "handleConfigChange"
|
|
@@ -25157,7 +25266,7 @@
|
|
|
25157
25266
|
"kind": "field",
|
|
25158
25267
|
"name": "_restorePrompt",
|
|
25159
25268
|
"type": {
|
|
25160
|
-
"text": "{savedAt: number} | null"
|
|
25269
|
+
"text": "{ savedAt: number } | null"
|
|
25161
25270
|
},
|
|
25162
25271
|
"privacy": "private",
|
|
25163
25272
|
"default": "null",
|
|
@@ -25195,7 +25304,7 @@
|
|
|
25195
25304
|
"privacy": "private",
|
|
25196
25305
|
"return": {
|
|
25197
25306
|
"type": {
|
|
25198
|
-
"text": "{savedAt: number; state: PageState} | null"
|
|
25307
|
+
"text": "{ savedAt: number; state: PageState } | null"
|
|
25199
25308
|
}
|
|
25200
25309
|
},
|
|
25201
25310
|
"description": "The stored auto-save, purging it when past its TTL (or unreadable)."
|
|
@@ -25690,7 +25799,7 @@
|
|
|
25690
25799
|
{
|
|
25691
25800
|
"name": "drop",
|
|
25692
25801
|
"type": {
|
|
25693
|
-
"text": "{over: (e: DragEvent) => void; drop: (e: DragEvent) => void}"
|
|
25802
|
+
"text": "{ over: (e: DragEvent) => void; drop: (e: DragEvent) => void }"
|
|
25694
25803
|
}
|
|
25695
25804
|
},
|
|
25696
25805
|
{
|
|
@@ -25887,6 +25996,24 @@
|
|
|
25887
25996
|
}
|
|
25888
25997
|
],
|
|
25889
25998
|
"attributes": [
|
|
25999
|
+
{
|
|
26000
|
+
"name": "name",
|
|
26001
|
+
"type": {
|
|
26002
|
+
"text": "string"
|
|
26003
|
+
},
|
|
26004
|
+
"default": "''",
|
|
26005
|
+
"description": "The name of the control, submitted as a name/value pair with form data.",
|
|
26006
|
+
"fieldName": "name"
|
|
26007
|
+
},
|
|
26008
|
+
{
|
|
26009
|
+
"name": "form",
|
|
26010
|
+
"type": {
|
|
26011
|
+
"text": "string"
|
|
26012
|
+
},
|
|
26013
|
+
"default": "''",
|
|
26014
|
+
"description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
|
|
26015
|
+
"fieldName": "form"
|
|
26016
|
+
},
|
|
25890
26017
|
{
|
|
25891
26018
|
"name": "config",
|
|
25892
26019
|
"type": {
|
|
@@ -31582,6 +31709,10 @@
|
|
|
31582
31709
|
{
|
|
31583
31710
|
"description": "The context menu opened by typing \"/\" in a block.",
|
|
31584
31711
|
"name": "slash-menu"
|
|
31712
|
+
},
|
|
31713
|
+
{
|
|
31714
|
+
"description": "The caption / alignment / size panel shown when an image block is clicked.",
|
|
31715
|
+
"name": "image-controls"
|
|
31585
31716
|
}
|
|
31586
31717
|
],
|
|
31587
31718
|
"members": [
|
|
@@ -31674,25 +31805,25 @@
|
|
|
31674
31805
|
},
|
|
31675
31806
|
{
|
|
31676
31807
|
"kind": "field",
|
|
31677
|
-
"name": "
|
|
31808
|
+
"name": "imagePickerIndex",
|
|
31678
31809
|
"type": {
|
|
31679
|
-
"text": "
|
|
31810
|
+
"text": "number | null"
|
|
31680
31811
|
},
|
|
31681
31812
|
"privacy": "private",
|
|
31682
|
-
"default": "
|
|
31813
|
+
"default": "null"
|
|
31683
31814
|
},
|
|
31684
31815
|
{
|
|
31685
31816
|
"kind": "field",
|
|
31686
|
-
"name": "
|
|
31817
|
+
"name": "imageEdit",
|
|
31687
31818
|
"type": {
|
|
31688
|
-
"text": "
|
|
31819
|
+
"text": "ImageBlockData | null"
|
|
31689
31820
|
},
|
|
31690
31821
|
"privacy": "private",
|
|
31691
31822
|
"default": "null"
|
|
31692
31823
|
},
|
|
31693
31824
|
{
|
|
31694
31825
|
"kind": "field",
|
|
31695
|
-
"name": "
|
|
31826
|
+
"name": "dropIndicator",
|
|
31696
31827
|
"type": {
|
|
31697
31828
|
"text": "number | null"
|
|
31698
31829
|
},
|
|
@@ -31701,21 +31832,21 @@
|
|
|
31701
31832
|
},
|
|
31702
31833
|
{
|
|
31703
31834
|
"kind": "field",
|
|
31704
|
-
"name": "
|
|
31835
|
+
"name": "dragIndex",
|
|
31705
31836
|
"type": {
|
|
31706
|
-
"text": "
|
|
31837
|
+
"text": "number | null"
|
|
31707
31838
|
},
|
|
31708
31839
|
"privacy": "private",
|
|
31709
|
-
"default": "
|
|
31840
|
+
"default": "null"
|
|
31710
31841
|
},
|
|
31711
31842
|
{
|
|
31712
31843
|
"kind": "field",
|
|
31713
|
-
"name": "
|
|
31844
|
+
"name": "editShell",
|
|
31714
31845
|
"type": {
|
|
31715
|
-
"text": "
|
|
31846
|
+
"text": "string"
|
|
31716
31847
|
},
|
|
31717
31848
|
"privacy": "private",
|
|
31718
|
-
"default": "
|
|
31849
|
+
"default": "''"
|
|
31719
31850
|
},
|
|
31720
31851
|
{
|
|
31721
31852
|
"kind": "field",
|
|
@@ -31799,7 +31930,7 @@
|
|
|
31799
31930
|
"text": "string"
|
|
31800
31931
|
},
|
|
31801
31932
|
"default": "''",
|
|
31802
|
-
"description": "Endpoint for image uploads. Posting the file
|
|
31933
|
+
"description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
|
|
31803
31934
|
"attribute": "attachment-url"
|
|
31804
31935
|
},
|
|
31805
31936
|
{
|
|
@@ -32002,6 +32133,43 @@
|
|
|
32002
32133
|
}
|
|
32003
32134
|
]
|
|
32004
32135
|
},
|
|
32136
|
+
{
|
|
32137
|
+
"kind": "method",
|
|
32138
|
+
"name": "parseImageBlock",
|
|
32139
|
+
"privacy": "private",
|
|
32140
|
+
"return": {
|
|
32141
|
+
"type": {
|
|
32142
|
+
"text": "ImageBlockData | null"
|
|
32143
|
+
}
|
|
32144
|
+
},
|
|
32145
|
+
"parameters": [
|
|
32146
|
+
{
|
|
32147
|
+
"name": "block",
|
|
32148
|
+
"type": {
|
|
32149
|
+
"text": "string"
|
|
32150
|
+
}
|
|
32151
|
+
}
|
|
32152
|
+
],
|
|
32153
|
+
"description": "Parses a block that is purely an image (with optional caption/align lines)."
|
|
32154
|
+
},
|
|
32155
|
+
{
|
|
32156
|
+
"kind": "method",
|
|
32157
|
+
"name": "serializeImageBlock",
|
|
32158
|
+
"privacy": "private",
|
|
32159
|
+
"return": {
|
|
32160
|
+
"type": {
|
|
32161
|
+
"text": "string"
|
|
32162
|
+
}
|
|
32163
|
+
},
|
|
32164
|
+
"parameters": [
|
|
32165
|
+
{
|
|
32166
|
+
"name": "data",
|
|
32167
|
+
"type": {
|
|
32168
|
+
"text": "ImageBlockData"
|
|
32169
|
+
}
|
|
32170
|
+
}
|
|
32171
|
+
]
|
|
32172
|
+
},
|
|
32005
32173
|
{
|
|
32006
32174
|
"kind": "method",
|
|
32007
32175
|
"name": "toggleCheckbox",
|
|
@@ -32041,6 +32209,44 @@
|
|
|
32041
32209
|
}
|
|
32042
32210
|
]
|
|
32043
32211
|
},
|
|
32212
|
+
{
|
|
32213
|
+
"kind": "method",
|
|
32214
|
+
"name": "updateImageEdit",
|
|
32215
|
+
"privacy": "private",
|
|
32216
|
+
"parameters": [
|
|
32217
|
+
{
|
|
32218
|
+
"name": "patch",
|
|
32219
|
+
"type": {
|
|
32220
|
+
"text": "Partial<ImageBlockData>"
|
|
32221
|
+
}
|
|
32222
|
+
}
|
|
32223
|
+
]
|
|
32224
|
+
},
|
|
32225
|
+
{
|
|
32226
|
+
"kind": "field",
|
|
32227
|
+
"name": "saveImageEdit",
|
|
32228
|
+
"privacy": "private"
|
|
32229
|
+
},
|
|
32230
|
+
{
|
|
32231
|
+
"kind": "field",
|
|
32232
|
+
"name": "closeImageEdit",
|
|
32233
|
+
"privacy": "private"
|
|
32234
|
+
},
|
|
32235
|
+
{
|
|
32236
|
+
"kind": "field",
|
|
32237
|
+
"name": "deleteImageBlock",
|
|
32238
|
+
"privacy": "private"
|
|
32239
|
+
},
|
|
32240
|
+
{
|
|
32241
|
+
"kind": "field",
|
|
32242
|
+
"name": "editImageSource",
|
|
32243
|
+
"privacy": "private"
|
|
32244
|
+
},
|
|
32245
|
+
{
|
|
32246
|
+
"kind": "field",
|
|
32247
|
+
"name": "handleImageControlsKeydown",
|
|
32248
|
+
"privacy": "private"
|
|
32249
|
+
},
|
|
32044
32250
|
{
|
|
32045
32251
|
"kind": "method",
|
|
32046
32252
|
"name": "computeEditShell",
|
|
@@ -32084,6 +32290,19 @@
|
|
|
32084
32290
|
}
|
|
32085
32291
|
]
|
|
32086
32292
|
},
|
|
32293
|
+
{
|
|
32294
|
+
"kind": "method",
|
|
32295
|
+
"name": "deleteBlock",
|
|
32296
|
+
"privacy": "private",
|
|
32297
|
+
"parameters": [
|
|
32298
|
+
{
|
|
32299
|
+
"name": "index",
|
|
32300
|
+
"type": {
|
|
32301
|
+
"text": "number"
|
|
32302
|
+
}
|
|
32303
|
+
}
|
|
32304
|
+
]
|
|
32305
|
+
},
|
|
32087
32306
|
{
|
|
32088
32307
|
"kind": "method",
|
|
32089
32308
|
"name": "insertDraftBlock",
|
|
@@ -32247,12 +32466,12 @@
|
|
|
32247
32466
|
},
|
|
32248
32467
|
{
|
|
32249
32468
|
"kind": "field",
|
|
32250
|
-
"name": "
|
|
32469
|
+
"name": "closeImagePicker",
|
|
32251
32470
|
"privacy": "private"
|
|
32252
32471
|
},
|
|
32253
32472
|
{
|
|
32254
32473
|
"kind": "field",
|
|
32255
|
-
"name": "
|
|
32474
|
+
"name": "handleImagePicked",
|
|
32256
32475
|
"privacy": "private"
|
|
32257
32476
|
},
|
|
32258
32477
|
{
|
|
@@ -32323,6 +32542,11 @@
|
|
|
32323
32542
|
"name": "renderSlashMenu",
|
|
32324
32543
|
"privacy": "private"
|
|
32325
32544
|
},
|
|
32545
|
+
{
|
|
32546
|
+
"kind": "method",
|
|
32547
|
+
"name": "renderImageControls",
|
|
32548
|
+
"privacy": "private"
|
|
32549
|
+
},
|
|
32326
32550
|
{
|
|
32327
32551
|
"kind": "method",
|
|
32328
32552
|
"name": "renderBlock",
|
|
@@ -32344,7 +32568,13 @@
|
|
|
32344
32568
|
},
|
|
32345
32569
|
{
|
|
32346
32570
|
"kind": "method",
|
|
32347
|
-
"name": "
|
|
32571
|
+
"name": "renderBody",
|
|
32572
|
+
"privacy": "private",
|
|
32573
|
+
"description": "The block views, with the inline image picker spliced in when active."
|
|
32574
|
+
},
|
|
32575
|
+
{
|
|
32576
|
+
"kind": "method",
|
|
32577
|
+
"name": "renderImagePicker",
|
|
32348
32578
|
"privacy": "private"
|
|
32349
32579
|
}
|
|
32350
32580
|
],
|
|
@@ -32392,7 +32622,7 @@
|
|
|
32392
32622
|
"text": "string"
|
|
32393
32623
|
},
|
|
32394
32624
|
"default": "''",
|
|
32395
|
-
"description": "Endpoint for image uploads. Posting the file
|
|
32625
|
+
"description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
|
|
32396
32626
|
"fieldName": "attachmentUrl"
|
|
32397
32627
|
},
|
|
32398
32628
|
{
|
|
@@ -32431,7 +32661,7 @@
|
|
|
32431
32661
|
"tagNameWithoutPrefix": "remarkd-editor",
|
|
32432
32662
|
"tagName": "zn-remarkd-editor",
|
|
32433
32663
|
"customElement": true,
|
|
32434
|
-
"jsDoc": "/**\n * @summary A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n * @documentation https://zinc.style/components/remarkd-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-button-group\n * @dependency zn-icon\n * @dependency zn-
|
|
32664
|
+
"jsDoc": "/**\n * @summary A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n * @documentation https://zinc.style/components/remarkd-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-button-group\n * @dependency zn-icon\n * @dependency zn-file\n *\n * @event zn-input - Emitted on each keystroke while editing a block.\n * @event zn-change - Emitted when a block edit is committed and the value changes.\n *\n * @csspart base - The component's base wrapper.\n * @csspart toolbar - The always-visible block-insert toolbar.\n * @csspart block - A rendered block wrapper.\n * @csspart rendered - The rendered remarkd output of a block.\n * @csspart input - The textarea shown while editing a block.\n * @csspart slash-menu - The context menu opened by typing \"/\" in a block.\n * @csspart image-controls - The caption / alignment / size panel shown when an image block is clicked.\n */",
|
|
32435
32665
|
"documentation": "https://zinc.style/components/remarkd-editor",
|
|
32436
32666
|
"status": "experimental",
|
|
32437
32667
|
"since": "1.0",
|
|
@@ -32439,9 +32669,7 @@
|
|
|
32439
32669
|
"zn-button",
|
|
32440
32670
|
"zn-button-group",
|
|
32441
32671
|
"zn-icon",
|
|
32442
|
-
"zn-
|
|
32443
|
-
"zn-file",
|
|
32444
|
-
"zn-input"
|
|
32672
|
+
"zn-file"
|
|
32445
32673
|
]
|
|
32446
32674
|
}
|
|
32447
32675
|
],
|
|
@@ -42082,7 +42310,7 @@
|
|
|
42082
42310
|
"package": {
|
|
42083
42311
|
"name": "@kubex/zinc",
|
|
42084
42312
|
"description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
|
|
42085
|
-
"version": "1.1.
|
|
42313
|
+
"version": "1.1.66",
|
|
42086
42314
|
"author": "",
|
|
42087
42315
|
"license": "MIT"
|
|
42088
42316
|
}
|
|
@@ -2646,8 +2646,18 @@
|
|
|
2646
2646
|
},
|
|
2647
2647
|
{
|
|
2648
2648
|
"name": "zn-page-builder",
|
|
2649
|
-
"description": "A config-driven page composer: a palette of predefined section types, a linear\ncanvas of section cards, and an inspector for editing each section's content.\n---\n\n\n### **Events:**\n - **zn-page-change** - Emitted whenever the page state changes. `event.detail.state` is the new PageState.\n- **zn-page-selection-change** - Emitted when the selected section changes. `event.detail.sectionId`.\n\n### **Methods:**\n - **addSection(type: _string_, index: _number_): _PageSection | null_** - Adds a section of a registered type at `index` (default: end). Returns null for unknown types.\n- **addSectionToSlot(type: _string_, containerId: _string_, slotIndex: _number_): _PageSection | null_** - Adds a new section of a registered type into a container's slot. Returns null if not allowed.\n\n### **Slots:**\n - **config** - `<template type=\"…\">` declarations; never displayed. Each template's attributes (type, label, icon, icon-library, color, category, description, slots, accepts) declare a palette entry and its content declares the inspector form for that type. `slots` makes the section a container with that many child slots; `accepts` is a comma-separated list of the type keys its slots allow.\n- **header-left** - Actions shown on the left of the header bar.\n- **header-right** - Actions shown on the right of the header bar.\n\n### **CSS Parts:**\n - **base** - The grid wrapper.\n- **header** - The full-width header action bar (only rendered when header slots are filled).\n- **palette** - The left palette panel.\n- **canvas** - The centre section-card canvas.\n- **inspector** - The right panel while a section is selected.",
|
|
2649
|
+
"description": "A config-driven page composer: a palette of predefined section types, a linear\ncanvas of section cards, and an inspector for editing each section's content.\n---\n\n\n### **Events:**\n - **zn-page-change** - Emitted whenever the page state changes. `event.detail.state` is the new PageState.\n- **zn-page-selection-change** - Emitted when the selected section changes. `event.detail.sectionId`.\n\n### **Methods:**\n - **checkValidity(): _boolean_** - Checks for validity but does not show a validation message.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(_message)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **addSection(type: _string_, index: _number_): _PageSection | null_** - Adds a section of a registered type at `index` (default: end). Returns null for unknown types.\n- **addSectionToSlot(type: _string_, containerId: _string_, slotIndex: _number_): _PageSection | null_** - Adds a new section of a registered type into a container's slot. Returns null if not allowed.\n\n### **Slots:**\n - **config** - `<template type=\"…\">` declarations; never displayed. Each template's attributes (type, label, icon, icon-library, color, category, description, slots, accepts) declare a palette entry and its content declares the inspector form for that type. `slots` makes the section a container with that many child slots; `accepts` is a comma-separated list of the type keys its slots allow.\n- **header-left** - Actions shown on the left of the header bar.\n- **header-right** - Actions shown on the right of the header bar.\n\n### **CSS Parts:**\n - **base** - The grid wrapper.\n- **header** - The full-width header action bar (only rendered when header slots are filled).\n- **palette** - The left palette panel.\n- **canvas** - The centre section-card canvas.\n- **inspector** - The right panel while a section is selected.",
|
|
2650
2650
|
"attributes": [
|
|
2651
|
+
{
|
|
2652
|
+
"name": "name",
|
|
2653
|
+
"description": "The name of the control, submitted as a name/value pair with form data.",
|
|
2654
|
+
"values": []
|
|
2655
|
+
},
|
|
2656
|
+
{
|
|
2657
|
+
"name": "form",
|
|
2658
|
+
"description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
|
|
2659
|
+
"values": []
|
|
2660
|
+
},
|
|
2651
2661
|
{
|
|
2652
2662
|
"name": "config",
|
|
2653
2663
|
"description": "The page state as a JSON string. Parsed on set; invalid JSON is ignored with a warning.",
|
|
@@ -3255,7 +3265,7 @@
|
|
|
3255
3265
|
},
|
|
3256
3266
|
{
|
|
3257
3267
|
"name": "zn-remarkd-editor",
|
|
3258
|
-
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block edit.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert toolbar.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **input** - The textarea shown while editing a block.\n- **slash-menu** - The context menu opened by typing \"/\" in a block.",
|
|
3268
|
+
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block edit.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert toolbar.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **input** - The textarea shown while editing a block.\n- **slash-menu** - The context menu opened by typing \"/\" in a block.\n- **image-controls** - The caption / alignment / size panel shown when an image block is clicked.",
|
|
3259
3269
|
"attributes": [
|
|
3260
3270
|
{
|
|
3261
3271
|
"name": "name",
|
|
@@ -3274,7 +3284,7 @@
|
|
|
3274
3284
|
},
|
|
3275
3285
|
{
|
|
3276
3286
|
"name": "attachment-url",
|
|
3277
|
-
"description": "Endpoint for image uploads. Posting the file
|
|
3287
|
+
"description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
|
|
3278
3288
|
"values": []
|
|
3279
3289
|
},
|
|
3280
3290
|
{
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@kubex/zinc",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.66",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -6234,9 +6234,19 @@
|
|
|
6234
6234
|
},
|
|
6235
6235
|
{
|
|
6236
6236
|
"name": "zn-page-builder",
|
|
6237
|
-
"description": "A config-driven page composer: a palette of predefined section types, a linear\ncanvas of section cards, and an inspector for editing each section's content.\n---\n\n\n### **Events:**\n - **zn-page-change** - Emitted whenever the page state changes. `event.detail.state` is the new PageState.\n- **zn-page-selection-change** - Emitted when the selected section changes. `event.detail.sectionId`.\n\n### **Methods:**\n - **addSection(type: _string_, index: _number_): _PageSection | null_** - Adds a section of a registered type at `index` (default: end). Returns null for unknown types.\n- **addSectionToSlot(type: _string_, containerId: _string_, slotIndex: _number_): _PageSection | null_** - Adds a new section of a registered type into a container's slot. Returns null if not allowed.\n\n### **Slots:**\n - **config** - `<template type=\"…\">` declarations; never displayed. Each template's attributes (type, label, icon, icon-library, color, category, description, slots, accepts) declare a palette entry and its content declares the inspector form for that type. `slots` makes the section a container with that many child slots; `accepts` is a comma-separated list of the type keys its slots allow.\n- **header-left** - Actions shown on the left of the header bar.\n- **header-right** - Actions shown on the right of the header bar.\n\n### **CSS Parts:**\n - **base** - The grid wrapper.\n- **header** - The full-width header action bar (only rendered when header slots are filled).\n- **palette** - The left palette panel.\n- **canvas** - The centre section-card canvas.\n- **inspector** - The right panel while a section is selected.",
|
|
6237
|
+
"description": "A config-driven page composer: a palette of predefined section types, a linear\ncanvas of section cards, and an inspector for editing each section's content.\n---\n\n\n### **Events:**\n - **zn-page-change** - Emitted whenever the page state changes. `event.detail.state` is the new PageState.\n- **zn-page-selection-change** - Emitted when the selected section changes. `event.detail.sectionId`.\n\n### **Methods:**\n - **checkValidity(): _boolean_** - Checks for validity but does not show a validation message.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(_message)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **addSection(type: _string_, index: _number_): _PageSection | null_** - Adds a section of a registered type at `index` (default: end). Returns null for unknown types.\n- **addSectionToSlot(type: _string_, containerId: _string_, slotIndex: _number_): _PageSection | null_** - Adds a new section of a registered type into a container's slot. Returns null if not allowed.\n\n### **Slots:**\n - **config** - `<template type=\"…\">` declarations; never displayed. Each template's attributes (type, label, icon, icon-library, color, category, description, slots, accepts) declare a palette entry and its content declares the inspector form for that type. `slots` makes the section a container with that many child slots; `accepts` is a comma-separated list of the type keys its slots allow.\n- **header-left** - Actions shown on the left of the header bar.\n- **header-right** - Actions shown on the right of the header bar.\n\n### **CSS Parts:**\n - **base** - The grid wrapper.\n- **header** - The full-width header action bar (only rendered when header slots are filled).\n- **palette** - The left palette panel.\n- **canvas** - The centre section-card canvas.\n- **inspector** - The right panel while a section is selected.",
|
|
6238
6238
|
"doc-url": "",
|
|
6239
6239
|
"attributes": [
|
|
6240
|
+
{
|
|
6241
|
+
"name": "name",
|
|
6242
|
+
"description": "The name of the control, submitted as a name/value pair with form data.",
|
|
6243
|
+
"value": { "type": "string", "default": "''" }
|
|
6244
|
+
},
|
|
6245
|
+
{
|
|
6246
|
+
"name": "form",
|
|
6247
|
+
"description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
|
|
6248
|
+
"value": { "type": "string", "default": "''" }
|
|
6249
|
+
},
|
|
6240
6250
|
{
|
|
6241
6251
|
"name": "config",
|
|
6242
6252
|
"description": "The page state as a JSON string. Parsed on set; invalid JSON is ignored with a warning.",
|
|
@@ -6292,6 +6302,16 @@
|
|
|
6292
6302
|
],
|
|
6293
6303
|
"js": {
|
|
6294
6304
|
"properties": [
|
|
6305
|
+
{
|
|
6306
|
+
"name": "name",
|
|
6307
|
+
"description": "The name of the control, submitted as a name/value pair with form data.",
|
|
6308
|
+
"type": "string"
|
|
6309
|
+
},
|
|
6310
|
+
{
|
|
6311
|
+
"name": "form",
|
|
6312
|
+
"description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
|
|
6313
|
+
"type": "string"
|
|
6314
|
+
},
|
|
6295
6315
|
{
|
|
6296
6316
|
"name": "config",
|
|
6297
6317
|
"description": "The page state as a JSON string. Parsed on set; invalid JSON is ignored with a warning.",
|
|
@@ -6324,6 +6344,25 @@
|
|
|
6324
6344
|
"description": "Replaces the page state wholesale (does not emit zn-page-change).",
|
|
6325
6345
|
"type": "PageState"
|
|
6326
6346
|
},
|
|
6347
|
+
{
|
|
6348
|
+
"name": "value",
|
|
6349
|
+
"description": "Replaces the page state from a JSON string (does not emit zn-page-change).",
|
|
6350
|
+
"type": "string"
|
|
6351
|
+
},
|
|
6352
|
+
{
|
|
6353
|
+
"name": "defaultValue",
|
|
6354
|
+
"description": "The serialised state of the last externally loaded page — restored on form reset."
|
|
6355
|
+
},
|
|
6356
|
+
{
|
|
6357
|
+
"name": "validity",
|
|
6358
|
+
"description": "Gets the validity state object.",
|
|
6359
|
+
"type": "ValidityState"
|
|
6360
|
+
},
|
|
6361
|
+
{
|
|
6362
|
+
"name": "validationMessage",
|
|
6363
|
+
"description": "Gets the validation message.",
|
|
6364
|
+
"type": "string"
|
|
6365
|
+
},
|
|
6327
6366
|
{
|
|
6328
6367
|
"name": "restoreAutoSave",
|
|
6329
6368
|
"description": "Load the auto-saved page, if one exists within the 1-day TTL."
|
|
@@ -7591,7 +7630,7 @@
|
|
|
7591
7630
|
},
|
|
7592
7631
|
{
|
|
7593
7632
|
"name": "zn-remarkd-editor",
|
|
7594
|
-
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block edit.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert toolbar.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **input** - The textarea shown while editing a block.\n- **slash-menu** - The context menu opened by typing \"/\" in a block.",
|
|
7633
|
+
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block edit.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert toolbar.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **input** - The textarea shown while editing a block.\n- **slash-menu** - The context menu opened by typing \"/\" in a block.\n- **image-controls** - The caption / alignment / size panel shown when an image block is clicked.",
|
|
7595
7634
|
"doc-url": "",
|
|
7596
7635
|
"attributes": [
|
|
7597
7636
|
{
|
|
@@ -7611,7 +7650,7 @@
|
|
|
7611
7650
|
},
|
|
7612
7651
|
{
|
|
7613
7652
|
"name": "attachment-url",
|
|
7614
|
-
"description": "Endpoint for image uploads. Posting the file
|
|
7653
|
+
"description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
|
|
7615
7654
|
"value": { "type": "string", "default": "''" }
|
|
7616
7655
|
},
|
|
7617
7656
|
{
|
|
@@ -7664,7 +7703,7 @@
|
|
|
7664
7703
|
},
|
|
7665
7704
|
{
|
|
7666
7705
|
"name": "attachmentUrl",
|
|
7667
|
-
"description": "Endpoint for image uploads. Posting the file
|
|
7706
|
+
"description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
|
|
7668
7707
|
"type": "string"
|
|
7669
7708
|
},
|
|
7670
7709
|
{
|