@allejo/decap-extras 0.0.0 → 0.0.1
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/README.md +20 -2
- package/dist/index.d.mts +3 -2
- package/dist/index.d.mts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -229,9 +229,26 @@ type SeoWidget = WidgetTypeFromFactory<typeof seoWidget>;
|
|
|
229
229
|
// { metaTitle: string; metaDescription?: string }
|
|
230
230
|
```
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
#### Constraining to valid file names
|
|
233
|
+
|
|
234
|
+
Use `CollectionItemNames` to get a union of all file name literals for a collection. This is useful for constraining generic components or functions that accept a page name.
|
|
235
|
+
|
|
236
|
+
```ts
|
|
237
|
+
import type { CollectionItemNames } from '@allejo/decap-extras';
|
|
238
|
+
|
|
239
|
+
import type { config } from '@/cms/config';
|
|
233
240
|
|
|
234
|
-
|
|
241
|
+
type PageName = CollectionItemNames<typeof config, 'pages'>;
|
|
242
|
+
// "home" | "about" | ...
|
|
243
|
+
|
|
244
|
+
function getPageProps<F extends PageName>(
|
|
245
|
+
page: F,
|
|
246
|
+
): PropsByCollectionAndFile<typeof config, 'pages', F> {
|
|
247
|
+
// ...
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
235
252
|
|
|
236
253
|
### Widget functions
|
|
237
254
|
|
|
@@ -261,6 +278,7 @@ type SeoWidget = WidgetTypeFromFactory<typeof seoWidget>;
|
|
|
261
278
|
| Type | Description |
|
|
262
279
|
| ----------------------------------------- | ------------------------------------------------------------------------------------ |
|
|
263
280
|
| `PropsByCollectionAndFile<TConfig, C, F>` | Derives a typed content object from a CMS config for collection `C` and file `F`. |
|
|
281
|
+
| `CollectionItemNames<TConfig, C>` | Union of all file name literals defined in collection `C`. |
|
|
264
282
|
| `WidgetTypeFromFactory<F>` | Returns the TypeScript content type produced by a widget factory function `F`. |
|
|
265
283
|
| `OptionalWidget<T>` | Brands a `CmsField` as optional (added by `optional()`). |
|
|
266
284
|
| `WidgetOpts<T>` | The options type for a given widget field type, with `widget` and `fields` stripped. |
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _$decap_cms_core0 from "decap-cms-core";
|
|
1
2
|
import { CmsField, CmsFieldBoolean, CmsFieldFileOrImage, CmsFieldList, CmsFieldMarkdown, CmsFieldNumber, CmsFieldObject, CmsFieldSelect, CmsFieldStringOrText } from "decap-cms-core";
|
|
2
3
|
|
|
3
4
|
//#region src/api.d.ts
|
|
@@ -257,7 +258,7 @@ declare function listWidget<T extends string, F extends CmsField[]>(label: strin
|
|
|
257
258
|
declare function markdownWidget<T extends string>(label: string, name: T, options?: WidgetOpts<CmsFieldMarkdown>): {
|
|
258
259
|
readonly default?: string;
|
|
259
260
|
readonly minimal?: boolean;
|
|
260
|
-
readonly buttons?:
|
|
261
|
+
readonly buttons?: _$decap_cms_core0.CmsMarkdownWidgetButton[];
|
|
261
262
|
readonly editor_components?: string[];
|
|
262
263
|
readonly modes?: ("raw" | "rich_text")[];
|
|
263
264
|
readonly editorComponents?: string[];
|
|
@@ -341,5 +342,5 @@ declare const BARE_MARKDOWN: WidgetOpts<CmsFieldMarkdown>;
|
|
|
341
342
|
*/
|
|
342
343
|
declare const INLINE_MARKDOWN: WidgetOpts<CmsFieldMarkdown>;
|
|
343
344
|
//#endregion
|
|
344
|
-
export { BARE_MARKDOWN, INLINE_MARKDOWN,
|
|
345
|
+
export { BARE_MARKDOWN, CollectionItemNames, INLINE_MARKDOWN, OptionalWidget, PropsByCollectionAndFile, WidgetOpts, WidgetTypeFromFactory, boolWidget, imageWidget, listWidget, markdownWidget, numberWidget, objectWidget, optional, selectWidget, stringWidget, textWidget };
|
|
345
346
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/api.ts","../src/widgets.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/api.ts","../src/widgets.ts"],"mappings":";;;;;;;AAMA;KAAY,UAAA;EAAuB,MAAA;EAAiB,MAAA;AAAA,KACnD,IAAI,CAAC,CAAA;EACJ,QAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,KAGU,cAAA,WAAyB,QAAA,IAAY,CAAC;EACjD,QAAA;EACA,UAAA;AAAA;AALQ;AAGT;;;;;;;;;;AAEW;AACT;;;;;;;AANO,KA2BJ,4BAAA,MAAkC,CAAA,iCAExB,CAAA,GAAI,CAAA,CAAE,CAAA,mBACf,4BAAA,CAA6B,CAAA,CAAE,CAAA,KAC/B,CAAA,CAAE,CAAA;;;;;;;;;;;;;;;;;;AAAC;KAsBJ,MAAA,+EAID,KAAA,iDACD,KAAA,SAAc,MAAA,CAAO,GAAA,EAAK,KAAA,IACzB,KAAA,GACA,MAAA,CAAO,IAAA,EAAM,GAAA,EAAK,KAAA;;;;KAMjB,eAAA;EAAkC,WAAA;AAAA,KACtC,OAAO;;;;;KAMH,eAAA;EAAkC,WAAA;AAAA,KACtC,eAAA,CAAgB,OAAA;EAAmB,IAAA;AAAA,IAAkB,CAAA;;;;;;;;;;;;;;AAd3B;AAAA;;;;KAkCtB,gBAAA;EACc,WAAA;AAAA,aACR,eAAA,CAAgB,OAAA,KACvB,MAAA,CAAO,OAAA,yBAAgC,CAAA;;AA9BnC;AAAA;;;;;;;;;;;;KA8CH,UAAA;EACQ,KAAA;AAAA,cACF,CAAA;EAA6B,IAAA;AAAA,IAAkB,CAAA,sBACtD,MAAA,CAAO,CAAA,mBAAoB,CAAA;AA1CwB;;;;AAAA,KAgDlD,iBAAA;EACJ,IAAA;EACA,IAAA;EACA,MAAA,WAAiB,QAAQ;AAAA;;;;;;;;;;;AA5BkB;AAAA;;;;KA8CvC,cAAA,yBAAuC,QAAA,cACrC,MAAA,YAAkB,CAAA,SAAU,cAAA,CAAe,CAAA,IAC9C,CAAA,oBACS,sBAAA,CAAuB,CAAA,cAE7B,MAAA,YAAkB,CAAA,SAAU,cAAA,CAAe,CAAA,YAE9C,CAAA,WAAY,sBAAA,CAAuB,CAAA;;;;;;;;;KAWlC,YAAA,WAAuB,iBAAA,IAAqB,cAAA,CAAe,CAAA;;;;AA7ChC;AAAA;;;;;;;;;KA4D3B,sBAAA,WAAiC,QAAA,IAAY,CAAA,uEAM/C,CAAA,uCAEC,CAAA,yCAEC,CAAA,8BACC,CAAA;EAAY,OAAA;AAAA,IACX,CAAA,YAED,CAAA,4BACC,CAAA;EAAY,MAAA,WAAiB,QAAA;AAAA,IAC5B,KAAA,CAAM,cAAA,CAAe,CAAA,eACrB,CAAA;EAAY,KAAA,EAAO,QAAA;AAAA,IAClB,KAAA,CAAM,sBAAA,CAAuB,CAAA,0BAE/B,CAAA,8BACC,CAAA;EAAY,MAAA,WAAiB,QAAA;AAAA,IAC5B,cAAA,CAAe,CAAA,cACf,MAAA;;;;;;;KASG,mBAAA;EACO,WAAA;AAAA,aACR,eAAA,CAAgB,OAAA,KAE1B,gBAAA,CAAiB,OAAA,EAAS,CAAA;EAAa,KAAA;AAAA,IACpC,gBAAA,CAAiB,OAAA,EAAS,CAAA;EAA8B,IAAA;AAAA,IACvD,CAAA;;;;;;;;;;KAaO,wBAAA;EACO,WAAA;AAAA,aACR,eAAA,CAAgB,OAAA,aAChB,mBAAA,CAAoB,OAAA,EAAS,CAAA,KACpC,4BAAA,CACH,gBAAA,CAAiB,OAAA,EAAS,CAAA;EACzB,KAAA;AAAA,IAEE,YAAA,CAAa,UAAA;EAAa,KAAA,EAAO,KAAA;AAAA,GAAS,CAAA;AAAA,KAIzC,aAAA,OAAoB,IAAA,YAAgB,QAAQ;;AAzFT;AAAA;;;;;;;KAoG5B,qBAAA,WAAgC,aAAA,IAC3C,4BAAA,CAA6B,sBAAA,CAAuB,UAAA,CAAW,CAAA;;;iBCrPhD,QAAA,WAAmB,QAAA,CAAA,CAAU,MAAA,EAAQ,CAAA,GAAI,cAAA,CAAe,CAAA;AAAA,iBAUxD,UAAA,kBAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,UAAA,CAAW,eAAA;EAAA;;;;;;;;iBAUN,WAAA,kBAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,UAAA,CAAW,mBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;iBAyBN,UAAA,6BAAuC,QAAA,CAAA,CACtD,KAAA,UACA,IAAA,EAAM,CAAA,EACN,MAAA,EAAQ,CAAA,EACR,OAAA,GAAU,UAAA,CAAW,YAAA;EACjB,KAAA;EAAe,IAAA,EAAM,CAAA;EAAG,MAAA;EAAgB,KAAA,EAAO,CAAA;AAAA;AAAA,iBACpC,UAAA,6BAAuC,QAAA,GAAA,CACtD,KAAA,UACA,IAAA,EAAM,CAAA,EACN,MAAA,EAAQ,CAAA,EACR,OAAA,GAAU,UAAA,CAAW,YAAA;EACjB,KAAA;EAAe,IAAA,EAAM,CAAA;EAAG,MAAA;EAAgB,MAAA,EAAQ,CAAA;AAAA;AAAA,iBAgBrC,cAAA,kBAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,UAAA,CAAW,gBAAA;EAAA;;qBAAD,iBAAA,CAAA,uBAAA;EAAA;;;;;;;;;;iBAUL,YAAA,6BAAyC,QAAA,GAAA,CACxD,KAAA,UACA,IAAA,EAAM,CAAA,EACN,MAAA,EAAQ,CAAA,EACR,OAAA,GAAU,UAAA,CAAW,cAAA;EAAA;;;;;;;;;;;iBAWN,YAAA,kBAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,UAAA,CAAW,cAAA;EAAA;;;;;;;;;;;;;iBAUN,YAAA,sCAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,EAAS,CAAA,EACT,OAAA,GAAU,UAAA,CAAW,cAAA;EAAA;;;;;;;;;;;;iBAWN,YAAA,kBAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,UAAA,CAAW,oBAAA;EAAA;;;;;;;;;iBAUN,UAAA,kBAAA,CACf,KAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,UAAA,CAAW,oBAAA;EAAA;;;;;;;;;;;;;;;;cAmBT,aAAA,EAAe,UAAU,CAAC,gBAAA;;;;;cAiB1B,eAAA,EAAiB,UAAU,CAAC,gBAAA"}
|
package/package.json
CHANGED