@se-studio/core-data-types 1.0.167 → 1.0.169
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/CHANGELOG.md +13 -0
- package/README.md +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/getContentTypeKey.d.ts +7 -0
- package/dist/utils/getContentTypeKey.d.ts.map +1 -0
- package/dist/utils/getContentTypeKey.js +18 -0
- package/dist/utils/getContentTypeKey.js.map +1 -0
- package/docs/llms.md +6 -0
- package/package.json +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
# @se-studio/core-data-types
|
|
2
2
|
|
|
3
|
+
## 1.0.169
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 16e795f: Fix `indexOfType` to use CMS-facing type keys (`componentType`, `collectionType`, `externalComponentType`) instead of structural `type`. Adds shared `getContentTypeKey()` helper. Fixes #41.
|
|
8
|
+
|
|
9
|
+
## 1.0.168
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Bulk version bump: patch for all packages
|
|
14
|
+
|
|
3
15
|
## 1.0.167
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
6
18
|
|
|
19
|
+
- Version bump: patch for changed packages
|
|
7
20
|
- ccad4d9: Document external component type discriminator (#34): projects must use `externalComponentType` (Contentful field name), not `externalType`. Restore deferred discriminator pattern on `IBaseExternalComponent`. Consumer upgrade guide: `docs/UPGRADE_EXTERNAL_COMPONENT_TYPE.md`.
|
|
8
21
|
|
|
9
22
|
## 1.0.166
|
package/README.md
CHANGED
|
@@ -92,7 +92,7 @@ type PartialPage = DeepPartial<IPage>;
|
|
|
92
92
|
- Tag / tag type `show?: boolean` - Visual display on cards and detail pages only (`false` hides; unset = visible). Distinct from `hidden` and `indexed` on `IInternalLink`
|
|
93
93
|
- `date?: string` - Publication date
|
|
94
94
|
- `author?: IPersonLink` - Optional author
|
|
95
|
-
- `externalLink?: string | null` -
|
|
95
|
+
- `externalLink?: string | null` - Supplementary external URL (e.g. DOI or publisher link). On `IArticleLink`, `href` is the internal detail URL when the article has article-level body content (`topContent`, `content`, or `bottomContent` on the article entry; article-type `articlePageTopContent` does not count); external-only articles use `externalLink` as `href`.
|
|
96
96
|
- `download?: IDownloadAsset` - Optional downloadable asset
|
|
97
97
|
- `subtitle?: string` - Article subtitle (e.g. customer name for case studies)
|
|
98
98
|
- `visuals?: ReadonlyArray<IVisual>` - Additional visuals beyond the featured image; used for article browser / gallery views
|
package/dist/index.d.ts
CHANGED
|
@@ -43,5 +43,6 @@ export type { IBaseTag, IBaseTags, IBaseTagType } from './types/tag';
|
|
|
43
43
|
export { isTag, isTags, } from './types/tag';
|
|
44
44
|
export type { Horizontal, IAnimation, IExternalVideo, IFullVideo, IImage, ILocalVideo, IOptimisedSvg, IPicture, IResponsiveVisual, ISvgData, ISvgImage, IVideo, IVideoDetails, IVideoEmbed, IVisual, IVisualCommon, IVisualSizes, Vertical, } from './types/visual';
|
|
45
45
|
export { getVisualHorizontalPosition, getVisualWidthPercent, isAnimation, isExternalVideo, isFullVideo, isImage, isLocalVideo, isPicture, isResponsiveVisual, isSvgData, isSvgImage, isVideo, isVisual, isVisualAnimation, isVisualImage, isVisualVideo, processSizes, } from './types/visual';
|
|
46
|
+
export { getContentTypeKey } from './utils/getContentTypeKey';
|
|
46
47
|
export { orderContentWithHtmlHeroFirst } from './utils/orderContentWithHtmlHeroFirst';
|
|
47
48
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,MAAM,EACN,UAAU,EACV,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,MAAM,EACN,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,KAAK,EACL,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,MAAM,EACN,UAAU,EACV,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,MAAM,EACN,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,KAAK,EACL,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -36,5 +36,6 @@ export { isCustomType } from './types/customType';
|
|
|
36
36
|
export { isPage } from './types/page';
|
|
37
37
|
export { isTag, isTags, } from './types/tag';
|
|
38
38
|
export { getVisualHorizontalPosition, getVisualWidthPercent, isAnimation, isExternalVideo, isFullVideo, isImage, isLocalVideo, isPicture, isResponsiveVisual, isSvgData, isSvgImage, isVideo, isVisual, isVisualAnimation, isVisualImage, isVisualVideo, processSizes, } from './types/visual';
|
|
39
|
+
export { getContentTypeKey } from './utils/getContentTypeKey';
|
|
39
40
|
export { orderContentWithHtmlHeroFirst } from './utils/orderContentWithHtmlHeroFirst';
|
|
40
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAqC1C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,MAAM,EACN,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,8BAA8B;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,KAAK,EACL,MAAM,GACP,MAAM,aAAa,CAAC;AAqBrB,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAqC1C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,MAAM,EACN,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,8BAA8B;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,KAAK,EACL,MAAM,GACP,MAAM,aAAa,CAAC;AAqBrB,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ITyped } from '../types/common';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the CMS-facing type key used for renderer lookup and position metadata.
|
|
4
|
+
* Component → componentType, Collection → collectionType, External component → externalComponentType.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getContentTypeKey(item: ITyped): string;
|
|
7
|
+
//# sourceMappingURL=getContentTypeKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getContentTypeKey.d.ts","sourceRoot":"","sources":["../../src/utils/getContentTypeKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,MAAM,EACP,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYtD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the CMS-facing type key used for renderer lookup and position metadata.
|
|
3
|
+
* Component → componentType, Collection → collectionType, External component → externalComponentType.
|
|
4
|
+
*/
|
|
5
|
+
export function getContentTypeKey(item) {
|
|
6
|
+
switch (item.type) {
|
|
7
|
+
case 'Component':
|
|
8
|
+
return item.componentType;
|
|
9
|
+
case 'Collection':
|
|
10
|
+
return item.collectionType;
|
|
11
|
+
case 'External component':
|
|
12
|
+
return item
|
|
13
|
+
.externalComponentType;
|
|
14
|
+
default:
|
|
15
|
+
return item.type;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getContentTypeKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getContentTypeKey.js","sourceRoot":"","sources":["../../src/utils/getContentTypeKey.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,OAAQ,IAAmD,CAAC,aAAa,CAAC;QAC5E,KAAK,YAAY;YACf,OAAQ,IAAqD,CAAC,cAAc,CAAC;QAC/E,KAAK,oBAAoB;YACvB,OAAQ,IAAmE;iBACxE,qBAAqB,CAAC;QAC3B;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;AACH,CAAC"}
|
package/docs/llms.md
CHANGED
|
@@ -109,6 +109,12 @@ import {
|
|
|
109
109
|
} from '@se-studio/core-data-types';
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
+
**`IArticleLink` `href` vs `externalLink`:**
|
|
113
|
+
|
|
114
|
+
- `href` is internal when the article has article-level body content (`topContent`, `content`, or `bottomContent` on the article entry). Article-type `articlePageTopContent` does not count.
|
|
115
|
+
- External-only articles (no article-level body content, with `externalLink`) use `externalLink` as `href`.
|
|
116
|
+
- `externalLink` is always preserved on the link object when set (e.g. DOI or publisher URL alongside an on-site detail page).
|
|
117
|
+
|
|
112
118
|
## Visual / Media Types
|
|
113
119
|
|
|
114
120
|
```ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/core-data-types",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.169",
|
|
4
4
|
"description": "Core TypeScript type definitions for SE Studio content models",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -39,14 +39,16 @@
|
|
|
39
39
|
"url": "https://github.com/Something-Else-Studio/se-core-product/issues"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@biomejs/biome": "^2.4.
|
|
43
|
-
"typescript": "^6.0.3"
|
|
42
|
+
"@biomejs/biome": "^2.4.16",
|
|
43
|
+
"typescript": "^6.0.3",
|
|
44
|
+
"vitest": "^4.1.8"
|
|
44
45
|
},
|
|
45
46
|
"scripts": {
|
|
46
47
|
"build": "tsc --project tsconfig.build.json",
|
|
47
48
|
"dev": "tsc --project tsconfig.build.json --watch",
|
|
48
49
|
"type-check": "tsc --noEmit",
|
|
49
50
|
"lint": "biome lint .",
|
|
51
|
+
"test": "vitest run",
|
|
50
52
|
"clean": "rm -rf dist .turbo *.tsbuildinfo"
|
|
51
53
|
}
|
|
52
54
|
}
|