Skip to content

Commit 6f970da

Browse files
committed
fix(plugin-designer): NAV_TYPE_META has an entry for the spec's doc navigation item type
objectstack#19789 widened the spec's navigation item union with `doc`, and `NAV_TYPE_META` is a Record keyed by that spec-derived union, so objectui stopped compiling against @objectstack/spec built from objectstack main (the Spec Main Shape Gate, TS2741 on NavigationDesigner). - `doc` entry: `appDesigner.navTypeDoc`, `bg-blue-100 text-blue-700`, `BookOpen`. - The map is typed `Record<NavigationItemType | 'doc', ...>`: the pinned spec 17.4.0 has no `doc`, so a plain `doc:` key is an excess property there. The `| 'doc'` goes at the pin bump that ships `doc`. - `appDesigner.navTypeDoc` fallback in useDesignerTranslation and all ten locale packs. - Guard test: every discriminant of the installed spec's NavigationItemSchema renders a row with a resolved type badge (spec subset of map, not equality). - `doc` is deliberately NOT in QUICK_ADD_TYPES: an empty doc item fails the spec's book-or-doc requirement; authoring it is objectui#10188. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BA3nKVUwKQJf8DBxrSVtNC
1 parent 8b1f066 commit 6f970da

14 files changed

Lines changed: 137 additions & 1 deletion

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
'@object-ui/plugin-designer': patch
3+
'@object-ui/i18n': patch
4+
---
5+
6+
fix(plugin-designer): the Navigation Designer has an entry for the spec's `doc` navigation item type
7+
8+
objectstack#19789 added a `doc` member to the spec's navigation item union (an
9+
item that targets a book and/or a doc). `NAV_TYPE_META` in `NavigationDesigner`
10+
is keyed by that spec-derived union, so objectui stopped compiling against
11+
`@objectstack/spec` built from objectstack `main`, and every row reads its badge,
12+
colour and icon from that map. The map now has a `doc` entry (a `BookOpen` icon,
13+
its own colour and the `appDesigner.navTypeDoc` label key). The key has an
14+
English fallback in the designer's defaults and a translation in all ten locale
15+
packs.
16+
17+
The map is typed `Record<NavigationItemType | 'doc', ...>` so it compiles both
18+
against the pinned `@objectstack/spec`, which predates `doc`, and against
19+
objectstack `main`. The `| 'doc'` goes away at the pin bump that ships `doc`.
20+
`doc` is not added to the quick-add buttons: an empty `doc` item fails the spec's
21+
book-or-doc requirement, and authoring one is objectui#10188.

‎packages/i18n/src/locales/ar.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1405,6 +1405,7 @@ const ar = {
14051405
navTypeSeparator: "فاصل",
14061406
navTypeAction: "إجراء",
14071407
navTypeComponent: "مكوّن",
1408+
navTypeDoc: "مستند",
14081409
navEditIcon: "تعديل الأيقونة",
14091410
navToggleVisible: "تبديل الرؤية",
14101411
navHidden: "مخفي",

‎packages/i18n/src/locales/de.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,6 +1398,7 @@ const de = {
13981398
navTypeSeparator: "Trenner",
13991399
navTypeAction: "Aktion",
14001400
navTypeComponent: "Komponente",
1401+
navTypeDoc: "Dokument",
14011402
navEditIcon: "Symbol bearbeiten",
14021403
navToggleVisible: "Sichtbarkeit umschalten",
14031404
navHidden: "Ausgeblendet",

‎packages/i18n/src/locales/en.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,6 +1647,7 @@ const en = {
16471647
navTypeSeparator: 'Separator',
16481648
navTypeAction: 'Action',
16491649
navTypeComponent: 'Component',
1650+
navTypeDoc: 'Doc',
16501651
navEditIcon: 'Edit icon',
16511652
navToggleVisible: 'Toggle visibility',
16521653
navHidden: 'Hidden',

‎packages/i18n/src/locales/es.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1402,6 +1402,7 @@ const es = {
14021402
navTypeSeparator: "Separador",
14031403
navTypeAction: "Acción",
14041404
navTypeComponent: "Componente",
1405+
navTypeDoc: "Documento",
14051406
navEditIcon: "Editar icono",
14061407
navToggleVisible: "Alternar visibilidad",
14071408
navHidden: "Oculto",

‎packages/i18n/src/locales/fr.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,6 +1400,7 @@ const fr = {
14001400
navTypeSeparator: "Séparateur",
14011401
navTypeAction: "Action",
14021402
navTypeComponent: "Composant",
1403+
navTypeDoc: "Document",
14031404
navEditIcon: "Modifier l'icône",
14041405
navToggleVisible: "Basculer la visibilité",
14051406
navHidden: "Masqué",

‎packages/i18n/src/locales/ja.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,6 +1398,7 @@ const ja = {
13981398
navTypeSeparator: "区切り",
13991399
navTypeAction: "アクション",
14001400
navTypeComponent: "コンポーネント",
1401+
navTypeDoc: "ドキュメント",
14011402
navEditIcon: "アイコンを編集",
14021403
navToggleVisible: "表示を切り替え",
14031404
navHidden: "非表示",

‎packages/i18n/src/locales/ko.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,6 +1398,7 @@ const ko = {
13981398
navTypeSeparator: "구분선",
13991399
navTypeAction: "작업",
14001400
navTypeComponent: "컴포넌트",
1401+
navTypeDoc: "문서",
14011402
navEditIcon: "아이콘 편집",
14021403
navToggleVisible: "가시성 토글",
14031404
navHidden: "숨김",

‎packages/i18n/src/locales/pt.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,6 +1397,7 @@ const pt = {
13971397
navTypeSeparator: "Separador",
13981398
navTypeAction: "Ação",
13991399
navTypeComponent: "Componente",
1400+
navTypeDoc: "Documento",
14001401
navEditIcon: "Editar ícone",
14011402
navToggleVisible: "Alternar visibilidade",
14021403
navHidden: "Oculto",

‎packages/i18n/src/locales/ru.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1408,6 +1408,7 @@ const ru = {
14081408
navTypeSeparator: "Разделитель",
14091409
navTypeAction: "Действие",
14101410
navTypeComponent: "Компонент",
1411+
navTypeDoc: "Документ",
14111412
navEditIcon: "Редактировать значок",
14121413
navToggleVisible: "Переключить видимость",
14131414
navHidden: "Скрыто",

0 commit comments

Comments
 (0)