@knkcs/contenthub-ui 0.3.1 → 0.5.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.
@@ -1,4 +1,4 @@
1
- import { C as e, S as t, h as n, y as r } from "./heads-dBmqNcOB.js";
1
+ import { T as e, h as t, w as n, y as r } from "./heads-BrvZ_GYT.js";
2
2
  import { useCallback as i, useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
3
3
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
4
4
  import { Button as f, EmptyState as p } from "@knkcs/anker/atoms";
@@ -45,6 +45,12 @@ var W = {
45
45
  "recorders",
46
46
  e
47
47
  ],
48
+ editingSettings: () => [...W.all, "editing-settings"],
49
+ effectiveEditingSettings: (e) => [
50
+ ...W.editingSettings(),
51
+ "effective",
52
+ e
53
+ ],
48
54
  collections: () => [...W.all, "collections"],
49
55
  collectionGrants: (e) => [
50
56
  ...W.collections(),
@@ -127,10 +133,11 @@ var W = {
127
133
  settings: {
128
134
  section: "Einstellungen",
129
135
  title: "Inhaltseinstellungen",
130
- subtitle: "Was die Veröffentlichung verlangt, warum Inhalte gesperrt werden und wie Inhalte abgelegt werden.",
136
+ subtitle: "Was die Veröffentlichung verlangt, warum Inhalte gesperrt werden, wie Inhalte geändert werden dürfen und wie sie abgelegt werden.",
131
137
  tabs: {
132
138
  requiredChecks: "Pflichtprüfungen",
133
139
  blockReasons: "Sperrgründe",
140
+ editing: "Bearbeitung",
134
141
  collections: "Sammlungen"
135
142
  }
136
143
  },
@@ -169,6 +176,73 @@ var W = {
169
176
  failed: "Der Sperrgrund konnte nicht entfernt werden. Versuche es erneut."
170
177
  }
171
178
  },
179
+ editing: {
180
+ mode: {
181
+ direct_edits: "Nur Direktbearbeitung",
182
+ change_sets: "Nur Change Sets",
183
+ both: "Direktbearbeitung und Change Sets"
184
+ },
185
+ block: {
186
+ on: "An",
187
+ off: "Aus"
188
+ },
189
+ workspace: {
190
+ title: "Vorgaben des Arbeitsbereichs",
191
+ description: "Wie Inhalte geändert werden dürfen: in einer Direktbearbeitung, vom Inhalt aus geöffnet, in einem Change Set oder beides; ob eine Direktbearbeitung andere Direktbearbeitungen mit einer Bearbeitungssperre fernhält; und wer eine Bearbeitungssperre übernehmen darf, die Force-Gruppe. Jeder Blueprint ohne Abweichung folgt diesen Vorgaben. Eine Änderung gilt sofort und lässt offene Arbeit, wie sie ist.",
192
+ edit: "Vorgaben ändern"
193
+ },
194
+ columns: {
195
+ blueprint: "Blueprint",
196
+ mode: "Bearbeitungsmodus",
197
+ block: "Bearbeitungssperre",
198
+ actions: "Aktionen",
199
+ force: "Force-Gruppe"
200
+ },
201
+ fromWorkspace: "{{value}} (Vorgabe des Arbeitsbereichs)",
202
+ createOverride: "Neue Abweichung",
203
+ editOverride: "Bearbeiten",
204
+ removeOverride: "Entfernen",
205
+ count_one: "{{count}} Blueprint-Abweichung",
206
+ count_other: "{{count}} Blueprint-Abweichungen",
207
+ empty: "Noch keine Blueprint-Abweichungen",
208
+ emptyHint: "Jeder Blueprint folgt den Vorgaben des Arbeitsbereichs. Weichen Sie für einen Blueprint ab, dessen Inhalte anders geändert werden, etwa Gesetze nur in Change Sets.",
209
+ loadError: "Die Bearbeitungseinstellungen konnten nicht geladen werden.",
210
+ form: {
211
+ workspaceTitle: "Vorgaben des Arbeitsbereichs",
212
+ createOverrideTitle: "Neue Blueprint-Abweichung",
213
+ editOverrideTitle: "Blueprint-Abweichung bearbeiten",
214
+ accessor: "Blueprint-Accessor",
215
+ accessorHelp: "Der Blueprint, für dessen Inhalte dies gilt, als Accessor.",
216
+ accessorRequired: "Geben Sie einen Blueprint-Accessor ein.",
217
+ accessorTooLong: "Höchstens {{max}} Zeichen.",
218
+ accessorTaken: "Für „{{name}}“ gibt es bereits eine Abweichung: Bearbeiten Sie diese.",
219
+ mode: "Bearbeitungsmodus",
220
+ modeHelp: "Nur „Nur Change Sets“ wird durchgesetzt: Eine Direktbearbeitung solcher Inhalte wird abgelehnt. Importe, Abläufe und Blueprint-Upgrades nutzen immer Change Sets.",
221
+ modeRequired: "Wählen Sie einen Bearbeitungsmodus.",
222
+ block: "Bearbeitungssperre",
223
+ blockHelp: "Ob das Öffnen einer Direktbearbeitung die Direktbearbeitungen anderer fernhält, bis sie veröffentlicht oder verworfen ist. Change Sets kommen weiter durch.",
224
+ follow: "Vorgabe des Arbeitsbereichs ({{value}})",
225
+ overridesNothing: "Weichen Sie beim Bearbeitungsmodus, bei der Bearbeitungssperre, bei der Force-Gruppe oder bei mehrerem ab. Um überall den Vorgaben des Arbeitsbereichs zu folgen, entfernen Sie die Abweichung.",
226
+ save: "Speichern",
227
+ denied: "Nur ein Admin des Arbeitsbereichs ändert die Bearbeitungseinstellungen.",
228
+ failed: "Die Bearbeitungseinstellungen konnten nicht gespeichert werden. Versuchen Sie es erneut.",
229
+ force: "Force-Gruppe",
230
+ forceHelp: "Wer eine Bearbeitungssperre aufheben und die Direktbearbeitung dahinter mit ihrer Arbeit übernehmen darf. Die Admins des Arbeitsbereichs dürfen das immer; nennen Sie alle, die es außerdem dürfen.",
231
+ forcePeople: "Personen neben den Admins",
232
+ forceNobody: "Nur Admins",
233
+ forceOwn: "Eigene Force-Gruppe"
234
+ },
235
+ removeDialog: {
236
+ title: "Abweichung entfernen",
237
+ message: "Die Abweichung für „{{name}}“ entfernen? Ihre Inhalte folgen dann wieder den Vorgaben des Arbeitsbereichs.",
238
+ confirm: "Entfernen",
239
+ failed: "Die Abweichung konnte nicht entfernt werden. Versuchen Sie es erneut."
240
+ },
241
+ force: {
242
+ adminsOnly: "Admins",
243
+ adminsAnd: "Admins und {{names}}"
244
+ }
245
+ },
172
246
  requiredChecks: {
173
247
  create: "Neue Pflichtprüfung",
174
248
  columns: {
@@ -367,7 +441,9 @@ var W = {
367
441
  anyState: "Jeder Zustand",
368
442
  assignee: "Zuständig",
369
443
  anyone: "Alle",
370
- me: "Mir zugewiesen"
444
+ me: "Mir zugewiesen",
445
+ kind: "Art",
446
+ anyKind: "Change Sets und Direktbearbeitungen"
371
447
  },
372
448
  count_one: "{{count}} Change Set",
373
449
  count_other: "{{count}} Change Sets",
@@ -390,7 +466,11 @@ var W = {
390
466
  failed: "Das Change Set konnte nicht angelegt werden. Versuche es erneut.",
391
467
  createSubmit: "Anlegen"
392
468
  },
393
- more: "Mehr anzeigen"
469
+ more: "Mehr anzeigen",
470
+ kind: {
471
+ change_set: "Change Sets",
472
+ direct_edit: "Direktbearbeitungen"
473
+ }
394
474
  },
395
475
  branch: {
396
476
  loading: "Inhalt wird geladen…",
@@ -642,7 +722,7 @@ var W = {
642
722
  archived: "Archiviert am"
643
723
  },
644
724
  actions: {
645
- startEditing: "Bearbeiten",
725
+ startEditing: "In Change Set bearbeiten",
646
726
  openBranch: "Branch öffnen",
647
727
  duplicate: "Duplizieren",
648
728
  repeal: "Aufheben",
@@ -650,7 +730,8 @@ var W = {
650
730
  block: "Sperren",
651
731
  unblock: "Entsperren",
652
732
  archive: "Archivieren",
653
- unarchive: "Aus dem Archiv holen"
733
+ unarchive: "Aus dem Archiv holen",
734
+ edit: "Bearbeiten"
654
735
  },
655
736
  data: {
656
737
  readOnMain: "Stand von Main, Revision {{revision}}. Nur lesbar: Zum Ändern in einem Branch auf „Bearbeiten“ klicken.",
@@ -670,7 +751,8 @@ var W = {
670
751
  published: "Veröffentlicht",
671
752
  inForce: "Heute",
672
753
  changeSet: "Change Set",
673
- proposed: "Herkunft"
754
+ proposed: "Herkunft",
755
+ actions: "Aktionen"
674
756
  },
675
757
  kind: {
676
758
  revision: "Revision",
@@ -689,7 +771,8 @@ var W = {
689
771
  noPlanned: "Kein offenes Change Set plant ein Release davon",
690
772
  proposed: "Vorgeschlagen",
691
773
  planned: "Geplant",
692
- loadError: "Die Zeitleiste konnte nicht geladen werden."
774
+ loadError: "Die Zeitleiste konnte nicht geladen werden.",
775
+ changeValidity: "Geltung ändern"
693
776
  },
694
777
  revisions: {
695
778
  columns: {
@@ -773,7 +856,8 @@ var W = {
773
856
  opened: "Geöffnet",
774
857
  empty: "Kein offenes Change Set ändert ihn",
775
858
  emptyHint: "„Bearbeiten“ öffnet eines oder nimmt ihn in ein offenes auf.",
776
- loadError: "Die Change Sets konnten nicht geladen werden."
859
+ loadError: "Die Change Sets konnten nicht geladen werden.",
860
+ directEditBy: "Direktbearbeitung von {{who}}"
777
861
  },
778
862
  filing: {
779
863
  title: "Ablage",
@@ -841,6 +925,120 @@ var W = {
841
925
  title: "Diesen Content archivieren?",
842
926
  message: "Archivierter Content verschwindet aus der Bibliothek, jeder Auswahl und der Bearbeitung. Seine Releases bleiben lesbar, und „Aus dem Archiv holen“ bringt ihn zurück.",
843
927
  confirm: "Archivieren"
928
+ },
929
+ editingBlock: {
930
+ beingEdited: "Wird bearbeitet von {{who}}, seit {{since}}",
931
+ force: "Übernehmen",
932
+ forceConfirm: {
933
+ title: "Direktbearbeitung übernehmen",
934
+ message: "Die Direktbearbeitung von „{{content}}“ durch {{who}} übernehmen? Die unveröffentlichten Änderungen gehören dann Ihnen zum Veröffentlichen oder Verwerfen, und {{who}} kann sie nicht mehr speichern. {{who}} erfährt, dass Sie übernommen haben.",
935
+ confirm: "Übernehmen",
936
+ failed: "Die Direktbearbeitung konnte nicht übernommen werden. Versuchen Sie es erneut.",
937
+ denied: "Nur die Force-Gruppe dieses Blueprints darf eine Direktbearbeitung übernehmen: seine Admins und die Personen, die sie nennt."
938
+ },
939
+ forced: "Sie haben die Direktbearbeitung von {{who}} übernommen. Die Änderungen gehören jetzt Ihnen."
940
+ },
941
+ directEdit: {
942
+ unpublished: "Sie haben unveröffentlichte Änderungen",
943
+ continue: "Weiter bearbeiten"
944
+ },
945
+ changeValidity: {
946
+ title: "Geltung ändern",
947
+ hint: "Korrigiert nur die Daten dieses Releases. Ein Release nur mit Datum auf derselben Revision ersetzt es und wird sofort veröffentlicht; die benachbarten Releases werden angepasst.",
948
+ release: "Release {{release}}, bisher {{period}}",
949
+ firstDay: "Erster Tag in Kraft",
950
+ firstDayHelp: "Der erste Tag des korrigierten Geltungszeitraums.",
951
+ firstDayRequired: "Wählen Sie den ersten Tag.",
952
+ lastDay: "Letzter Tag in Kraft",
953
+ lastDayHelp: "Leer lassen, solange kein Ende bekannt ist.",
954
+ lastDayBefore: "Der letzte Tag kann nicht vor dem ersten liegen.",
955
+ submit: "Geltung ändern",
956
+ done: "Fertig",
957
+ published_one: "Die Daten sind korrigiert: {{count}} Release wurde veröffentlicht.",
958
+ published_other: "Die Daten sind korrigiert: {{count}} Releases wurden veröffentlicht.",
959
+ editingMode: "Dieser Content wird nur in Change Sets geändert. Korrigieren Sie seine Daten in einem Change Set.",
960
+ covers: "Der neue Zeitraum würde {{releases}} vollständig überdecken. Ob es ersetzt wird, entscheidet ein Change Set.",
961
+ publishRefused: "Nichts wurde veröffentlicht:",
962
+ denied: "Nur wer veröffentlichen darf, kann die Geltung eines Releases ändern."
963
+ }
964
+ },
965
+ directEdit: {
966
+ badge: "Direktbearbeitung",
967
+ loading: "Direktbearbeitung wird geladen…",
968
+ notFound: "Diese Direktbearbeitung gibt es nicht.",
969
+ loadError: "Die Direktbearbeitung konnte nicht geladen werden.",
970
+ publish: "Veröffentlichen",
971
+ discard: "Verwerfen",
972
+ closed: {
973
+ open: "Diese Direktbearbeitung ist offen.",
974
+ published: "Veröffentlicht: das neue Release ist in Kraft.",
975
+ discarded: "Verworfen: die Änderungen sind weg, der Inhalt ist unverändert."
976
+ },
977
+ discardConfirm: {
978
+ title: "Änderungen verwerfen?",
979
+ message: "Ihre gespeicherten Änderungen an {{content}} werden verworfen, nichts wird veröffentlicht. Das lässt sich nicht rückgängig machen.",
980
+ failed: "Die Direktbearbeitung konnte nicht verworfen werden."
981
+ },
982
+ refused_one: "Veröffentlichen wurde aus {{count}} Grund abgelehnt",
983
+ refused_other: "Veröffentlichen wurde aus {{count}} Gründen abgelehnt",
984
+ refusedBecause: {
985
+ one_branch: "Eine Direktbearbeitung ändert nur einen Inhalt: verwenden Sie ein Change Set.",
986
+ not_a_direct_edit: "Dieses Change Set ist keine Direktbearbeitung.",
987
+ editing_blocked: "Jemand anderes bearbeitet diesen Inhalt direkt: warten Sie, bis die Änderungen veröffentlicht oder verworfen sind.",
988
+ not_the_editor: "Diese Direktbearbeitung gehört inzwischen jemand anderem: Nur ihre Bearbeiterin oder ihr Bearbeiter speichert, veröffentlicht oder verwirft sie.",
989
+ own_direct_edit: "Sie haben selbst eine Direktbearbeitung dieses Inhalts: Veröffentlichen oder verwerfen Sie sie, bevor Sie eine andere übernehmen.",
990
+ no_editing_block: "Diese Direktbearbeitung wurde inzwischen veröffentlicht oder verworfen: Es gibt nichts zu übernehmen.",
991
+ unknown: "Die Direktbearbeitung wurde abgelehnt."
992
+ },
993
+ updateFromMain: "Aus Main aktualisieren",
994
+ resolveMerge: "Zusammenführung lösen",
995
+ behind: {
996
+ title: "Main ist weiter: Ein Change Set hat diesen Inhalt geändert, nachdem Sie begonnen haben.",
997
+ message: "Veröffentlichen wartet, bis Sie aus Main aktualisieren. Ihre und die veröffentlichten Änderungen werden Feld für Feld zusammengeführt; wo beide ein Feld geändert haben, entscheiden Sie."
998
+ },
999
+ pendingMerge: {
1000
+ title: "Ihre Änderungen und die aus Main betreffen dieselben Felder.",
1001
+ message: "Veröffentlichen wartet, bis Sie die Zusammenführung Feld für Feld lösen oder verwerfen; Verwerfen lässt diese Bearbeitung hinter Main zurück. Auch Speichern wartet."
1002
+ },
1003
+ saveFirst: "Speichern Sie Ihre Änderungen zuerst: Veröffentlicht wird, was gespeichert ist.",
1004
+ changeSetsOnly: "Dieser Inhalt wird nur über Change Sets geändert: bearbeiten Sie ihn in einem Change Set.",
1005
+ saveAndPublish: "Speichern & veröffentlichen",
1006
+ publishDialog: {
1007
+ title: "Direktbearbeitung veröffentlichen",
1008
+ publishHint: "Veröffentlicht das Gespeicherte als neues Release, in Kraft ab jetzt.",
1009
+ saveAndPublishHint: "Speichert Ihre Änderungen und veröffentlicht sie in einem Schritt als neues Release, in Kraft ab jetzt. Wird das Veröffentlichen abgelehnt, wird nichts gespeichert.",
1010
+ specHint: "Die Werte, die dieses Release trägt, wie sein Blueprint sie festlegt. Werte, die der Blueprint vorbelegt, sind schon ausgefüllt.",
1011
+ refusedValues_one: "{{count}} Wert wurde abgelehnt",
1012
+ refusedValues_other: "{{count}} Werte wurden abgelehnt",
1013
+ datedPublishHint: "Veröffentlicht das Gespeicherte als neues Release für den Gültigkeitszeitraum unten.",
1014
+ datedSaveAndPublishHint: "Speichert Ihre Änderungen und veröffentlicht sie in einem Schritt als neues Release für den Gültigkeitszeitraum unten. Wird das Veröffentlichen abgelehnt, wird nichts gespeichert.",
1015
+ period: "Gültigkeitszeitraum",
1016
+ correction: "Eine Berichtigung der geltenden Fassung: ihr Release behält deren Gültigkeitszeitraum und ersetzt sie.",
1017
+ newWording: "Eine neue Fassung ab {{firstDay}}: sie schneidet in die vorher geltende Fassung.",
1018
+ firstDay: "Erster Tag",
1019
+ lastDay: "Letzter Tag",
1020
+ lastDayHelp: "Leer lassen für ein offenes Ende: es endet dann am Tag vor der nächsten späteren Fassung.",
1021
+ computed: "Releases nur mit Daten, die contenthub erzeugt",
1022
+ computedHint: "Aus dem Zeitraum berechnet, nicht änderbar: jedes beendet oder setzt eine Fassung fort, in die der Zeitraum schneidet.",
1023
+ computedRow: "Fassung {{release}}",
1024
+ noComputed: "Keine: der Zeitraum schneidet in keine andere Fassung.",
1025
+ carryForward: "Spätere Fassungen",
1026
+ carryForwardHint: "Fassungen, die für spätere Tage schon veröffentlicht sind. Geben Sie für jede an, ob Ihre Änderung auch für sie gilt.",
1027
+ wording: "Fassung ab {{firstDay}}",
1028
+ wordingUntil: "Fassung vom {{firstDay}} bis {{lastDay}}",
1029
+ carryYes: "Ja, Änderung auch hier übernehmen",
1030
+ carryNo: "Nein, wie veröffentlicht lassen",
1031
+ unanswered: "Beantworten Sie vor dem Veröffentlichen jede spätere Fassung.",
1032
+ previewFailed: "Was diese Veröffentlichung plant, konnte nicht gelesen werden.",
1033
+ covers: "Dieser Zeitraum würde {{releases}} vollständig überdecken. Ob es ersetzt oder die Daten geändert werden, wird in einem Change Set entschieden: verkürzen Sie den Zeitraum oder ändern Sie in einem Change Set."
1034
+ },
1035
+ effective: {
1036
+ title: "Bearbeiten: gilt ab",
1037
+ hint: "Sie bearbeiten die Fassung, die an diesem Tag gilt. Heute berichtigt die jetzt geltende Fassung; ein späterer Tag ergibt eine neue Fassung ab diesem Tag.",
1038
+ label: "Gilt ab",
1039
+ help: "Heute, außer die Änderung beginnt später.",
1040
+ required: "Wählen Sie den Tag, ab dem die Änderung gilt.",
1041
+ submit: "Bearbeiten"
844
1042
  }
845
1043
  }
846
1044
  }, fe = {
@@ -848,10 +1046,11 @@ var W = {
848
1046
  settings: {
849
1047
  section: "Settings",
850
1048
  title: "Content settings",
851
- subtitle: "What Publish requires, why Content is blocked, and how Content is filed.",
1049
+ subtitle: "What Publish requires, why Content is blocked, how Content may be changed, and how it is filed.",
852
1050
  tabs: {
853
1051
  requiredChecks: "Required Checks",
854
1052
  blockReasons: "Block Reasons",
1053
+ editing: "Editing",
855
1054
  collections: "Collections"
856
1055
  }
857
1056
  },
@@ -890,6 +1089,73 @@ var W = {
890
1089
  failed: "The Block Reason could not be removed. Try again."
891
1090
  }
892
1091
  },
1092
+ editing: {
1093
+ mode: {
1094
+ direct_edits: "Direct Edits only",
1095
+ change_sets: "Change Sets only",
1096
+ both: "Direct Edits and Change Sets"
1097
+ },
1098
+ block: {
1099
+ on: "On",
1100
+ off: "Off"
1101
+ },
1102
+ workspace: {
1103
+ title: "Workspace defaults",
1104
+ description: "How Content may be changed: in a Direct Edit, opened from the Content, in a Change Set, or both; whether a Direct Edit keeps other Direct Edits out with an Editing Block; and who may force one, the Force Group. Every Blueprint without an override follows these. A change takes effect at once and leaves open work as it is.",
1105
+ edit: "Change defaults"
1106
+ },
1107
+ columns: {
1108
+ blueprint: "Blueprint",
1109
+ mode: "Editing Mode",
1110
+ block: "Editing Block",
1111
+ actions: "Actions",
1112
+ force: "Force Group"
1113
+ },
1114
+ fromWorkspace: "{{value}} (workspace default)",
1115
+ createOverride: "New override",
1116
+ editOverride: "Edit",
1117
+ removeOverride: "Remove",
1118
+ count_one: "{{count}} Blueprint override",
1119
+ count_other: "{{count}} Blueprint overrides",
1120
+ empty: "No Blueprint overrides yet",
1121
+ emptyHint: "Every Blueprint follows the workspace defaults. Override them for a Blueprint whose Content is changed differently, such as statutes only in Change Sets.",
1122
+ loadError: "The editing settings could not be loaded.",
1123
+ form: {
1124
+ workspaceTitle: "Workspace defaults",
1125
+ createOverrideTitle: "New Blueprint override",
1126
+ editOverrideTitle: "Edit Blueprint override",
1127
+ accessor: "Blueprint accessor",
1128
+ accessorHelp: "The Blueprint whose Content this applies to, by accessor.",
1129
+ accessorRequired: "Enter a Blueprint accessor.",
1130
+ accessorTooLong: "At most {{max}} characters.",
1131
+ accessorTaken: "“{{name}}” has an override already: edit it instead.",
1132
+ mode: "Editing Mode",
1133
+ modeHelp: "Only “Change Sets only” is enforced: a Direct Edit on such Content is refused. Imports, flows and Blueprint upgrades always use Change Sets.",
1134
+ modeRequired: "Choose an Editing Mode.",
1135
+ block: "Editing Block",
1136
+ blockHelp: "Whether opening a Direct Edit keeps other editors' Direct Edits out until it is published or discarded. Change Sets still pass it.",
1137
+ follow: "Workspace default ({{value}})",
1138
+ overridesNothing: "Override the Editing Mode, the Editing Block, the Force Group or several. To follow the workspace in all, remove the override.",
1139
+ save: "Save",
1140
+ denied: "Only a workspace admin changes the editing settings.",
1141
+ failed: "The editing settings could not be saved. Try again.",
1142
+ force: "Force Group",
1143
+ forceHelp: "Who may force an Editing Block, taking over the Direct Edit holding it with its work. The workspace's admins always may; name anyone else who may too.",
1144
+ forcePeople: "People beside the admins",
1145
+ forceNobody: "Admins only",
1146
+ forceOwn: "Its own Force Group"
1147
+ },
1148
+ removeDialog: {
1149
+ title: "Remove override",
1150
+ message: "Remove the override of “{{name}}”? Its Content follows the workspace defaults again.",
1151
+ confirm: "Remove",
1152
+ failed: "The override could not be removed. Try again."
1153
+ },
1154
+ force: {
1155
+ adminsOnly: "Admins",
1156
+ adminsAnd: "Admins and {{names}}"
1157
+ }
1158
+ },
893
1159
  requiredChecks: {
894
1160
  create: "New Required Check",
895
1161
  columns: {
@@ -1088,7 +1354,9 @@ var W = {
1088
1354
  anyState: "Any state",
1089
1355
  assignee: "Assignee",
1090
1356
  anyone: "Anyone",
1091
- me: "Assigned to me"
1357
+ me: "Assigned to me",
1358
+ kind: "Kind",
1359
+ anyKind: "Change Sets and Direct Edits"
1092
1360
  },
1093
1361
  count_one: "{{count}} Change Set",
1094
1362
  count_other: "{{count}} Change Sets",
@@ -1111,7 +1379,11 @@ var W = {
1111
1379
  failed: "The Change Set could not be created. Try again.",
1112
1380
  createSubmit: "Create"
1113
1381
  },
1114
- more: "Show more"
1382
+ more: "Show more",
1383
+ kind: {
1384
+ change_set: "Change Sets",
1385
+ direct_edit: "Direct Edits"
1386
+ }
1115
1387
  },
1116
1388
  branch: {
1117
1389
  loading: "Loading Content…",
@@ -1608,7 +1880,8 @@ var W = {
1608
1880
  block: "Block",
1609
1881
  unblock: "Unblock",
1610
1882
  archive: "Archive",
1611
- unarchive: "Unarchive"
1883
+ unarchive: "Unarchive",
1884
+ edit: "Edit"
1612
1885
  },
1613
1886
  data: {
1614
1887
  readOnMain: "Main's head, Revision {{revision}}. Read-only: Start editing to change it in a Branch.",
@@ -1628,7 +1901,8 @@ var W = {
1628
1901
  published: "Published",
1629
1902
  inForce: "Today",
1630
1903
  changeSet: "Change Set",
1631
- proposed: "Origin"
1904
+ proposed: "Origin",
1905
+ actions: "Actions"
1632
1906
  },
1633
1907
  kind: {
1634
1908
  revision: "Revision",
@@ -1647,7 +1921,8 @@ var W = {
1647
1921
  noPlanned: "No open Change Set plans a Release of it",
1648
1922
  proposed: "Proposed",
1649
1923
  planned: "Planned",
1650
- loadError: "The Timeline could not be loaded."
1924
+ loadError: "The Timeline could not be loaded.",
1925
+ changeValidity: "Change validity"
1651
1926
  },
1652
1927
  revisions: {
1653
1928
  columns: {
@@ -1731,7 +2006,8 @@ var W = {
1731
2006
  opened: "Opened",
1732
2007
  empty: "No open Change Set changes it",
1733
2008
  emptyHint: "Start editing opens one, or adds it to one that is open.",
1734
- loadError: "The Change Sets could not be loaded."
2009
+ loadError: "The Change Sets could not be loaded.",
2010
+ directEditBy: "Direct Edit by {{who}}"
1735
2011
  },
1736
2012
  filing: {
1737
2013
  title: "Filing",
@@ -1799,6 +2075,120 @@ var W = {
1799
2075
  title: "Archive this Content?",
1800
2076
  message: "Archived Content leaves the Library, every picker and editing. Its Releases stay readable, and Unarchive brings it back.",
1801
2077
  confirm: "Archive"
2078
+ },
2079
+ editingBlock: {
2080
+ beingEdited: "Being edited by {{who}}, since {{since}}",
2081
+ force: "Force",
2082
+ forceConfirm: {
2083
+ title: "Take over the Direct Edit",
2084
+ message: "Take over {{who}}'s Direct Edit of “{{content}}”? Their unpublished changes become yours to publish or discard, and they can no longer save them. They are told that you took it over.",
2085
+ confirm: "Take over",
2086
+ failed: "The Direct Edit could not be taken over. Try again.",
2087
+ denied: "Only the Force Group of this Blueprint may take over a Direct Edit: its admins and the people it names."
2088
+ },
2089
+ forced: "You took over {{who}}'s Direct Edit. Their changes are yours now."
2090
+ },
2091
+ directEdit: {
2092
+ unpublished: "You have unpublished changes",
2093
+ continue: "Continue editing"
2094
+ },
2095
+ changeValidity: {
2096
+ title: "Change validity",
2097
+ hint: "Corrects only this Release's dates. A date-only Release on the same Revision replaces it, published at once; the Releases next to it are cut to fit.",
2098
+ release: "Release {{release}}, now {{period}}",
2099
+ firstDay: "First day in force",
2100
+ firstDayHelp: "The first day of the corrected Validity Period.",
2101
+ firstDayRequired: "Choose the first day.",
2102
+ lastDay: "Last day in force",
2103
+ lastDayHelp: "Leave it empty while no end is known.",
2104
+ lastDayBefore: "The last day can’t be before the first.",
2105
+ submit: "Change validity",
2106
+ done: "Done",
2107
+ published_one: "The dates are corrected: {{count}} Release was published.",
2108
+ published_other: "The dates are corrected: {{count}} Releases were published.",
2109
+ editingMode: "This Content is changed in Change Sets only. Correct its dates in a Change Set.",
2110
+ covers: "The new period would cover {{releases}} entirely. Whether to supersede it is decided in a Change Set.",
2111
+ publishRefused: "Nothing was published:",
2112
+ denied: "Only a publisher may change a Release's validity."
2113
+ }
2114
+ },
2115
+ directEdit: {
2116
+ badge: "Direct Edit",
2117
+ loading: "Loading the Direct Edit…",
2118
+ notFound: "This Direct Edit doesn't exist.",
2119
+ loadError: "The Direct Edit could not be loaded.",
2120
+ publish: "Publish",
2121
+ discard: "Discard",
2122
+ closed: {
2123
+ open: "This Direct Edit is open.",
2124
+ published: "Published: the new Release is In Force.",
2125
+ discarded: "Discarded: its changes are gone, and the Content is as it was."
2126
+ },
2127
+ discardConfirm: {
2128
+ title: "Discard your changes?",
2129
+ message: "Your saved changes to {{content}} are dropped, and nothing is published. This cannot be undone.",
2130
+ failed: "The Direct Edit could not be discarded."
2131
+ },
2132
+ refused_one: "Publish was refused for {{count}} reason",
2133
+ refused_other: "Publish was refused for {{count}} reasons",
2134
+ refusedBecause: {
2135
+ one_branch: "A Direct Edit changes one Content only: use a Change Set.",
2136
+ not_a_direct_edit: "This Change Set is not a Direct Edit.",
2137
+ editing_blocked: "Someone else is editing this Content directly: wait until they publish or discard their changes.",
2138
+ not_the_editor: "This Direct Edit is someone else's now: only its editor saves, publishes or discards it.",
2139
+ own_direct_edit: "You have a Direct Edit of this Content yourself: publish or discard it before taking over another.",
2140
+ no_editing_block: "This Direct Edit has been published or discarded meanwhile: there is nothing to take over.",
2141
+ unknown: "The Direct Edit was refused."
2142
+ },
2143
+ updateFromMain: "Update from Main",
2144
+ resolveMerge: "Resolve merge",
2145
+ behind: {
2146
+ title: "Main has moved on: a Change Set published a change to this Content after you started.",
2147
+ message: "Publish waits until you update from Main. Your changes and the published ones are merged field by field; where both changed a field, you choose."
2148
+ },
2149
+ pendingMerge: {
2150
+ title: "Your changes and Main's changed the same fields.",
2151
+ message: "Publish waits until you resolve the merge field by field, or abort it, which leaves this edit behind Main. Saves wait too."
2152
+ },
2153
+ saveFirst: "Save your changes first: Publish releases what is saved.",
2154
+ changeSetsOnly: "This Content is changed through Change Sets only: start editing it in a Change Set.",
2155
+ saveAndPublish: "Save & publish",
2156
+ publishDialog: {
2157
+ title: "Publish the Direct Edit",
2158
+ publishHint: "Publishes what is saved as a new Release, In Force from now.",
2159
+ saveAndPublishHint: "Saves your changes and publishes them as a new Release, In Force from now, in one step. If Publish is refused, nothing is saved.",
2160
+ specHint: "The values this Release carries, as its Blueprint declares them. Values the Blueprint prefills are filled in already.",
2161
+ refusedValues_one: "{{count}} value was refused",
2162
+ refusedValues_other: "{{count}} values were refused",
2163
+ datedPublishHint: "Publishes what is saved as a new Release for the Validity Period below.",
2164
+ datedSaveAndPublishHint: "Saves your changes and publishes them as a new Release for the Validity Period below, in one step. If Publish is refused, nothing is saved.",
2165
+ period: "Validity Period",
2166
+ correction: "A correction of the wording in force: its Release keeps that wording's Validity Period and supersedes it.",
2167
+ newWording: "A new wording from {{firstDay}}: it cuts into the wording in force before then.",
2168
+ firstDay: "First day",
2169
+ lastDay: "Last day",
2170
+ lastDayHelp: "Leave empty for an open end: it then ends the day before the next later wording.",
2171
+ computed: "Date-only Releases contenthub cuts",
2172
+ computedHint: "Worked out from the period, not editable: each ends or resumes a wording the period cuts into.",
2173
+ computedRow: "Wording {{release}}",
2174
+ noComputed: "None: the period cuts into no other wording.",
2175
+ carryForward: "Later wordings",
2176
+ carryForwardHint: "Wordings already published for later days. Say for each whether your change applies to it too.",
2177
+ wording: "Wording from {{firstDay}}",
2178
+ wordingUntil: "Wording from {{firstDay}} to {{lastDay}}",
2179
+ carryYes: "Yes, apply my change to it too",
2180
+ carryNo: "No, keep it as published",
2181
+ unanswered: "Answer every later wording before publishing.",
2182
+ previewFailed: "What this Publish would plan could not be read.",
2183
+ covers: "This period would cover {{releases}} entirely. Whether to supersede it or change the dates is decided in a Change Set: shorten the period, or make the change in a Change Set."
2184
+ },
2185
+ effective: {
2186
+ title: "Edit: takes effect on",
2187
+ hint: "The wording in force on this day is what you edit. Today corrects the wording in force now; a later day makes a new wording from that day.",
2188
+ label: "Takes effect on",
2189
+ help: "Today, unless the change starts later.",
2190
+ required: "Choose the day the change takes effect.",
2191
+ submit: "Edit"
1802
2192
  }
1803
2193
  }
1804
2194
  }, K = "contenthub-ui", q = {
@@ -1917,7 +2307,7 @@ var Z = {
1917
2307
  sourceDate: "",
1918
2308
  sourceReference: ""
1919
2309
  }, ye = "contenthub-create-change-set", Q = /^[^\u0000-\u001f\u007f]*$/;
1920
- function be({ open: e, onClose: n, onSubmit: r }) {
2310
+ function be({ open: e, onClose: t, onSubmit: r }) {
1921
2311
  let { t: i } = I(K), s = o(() => U.object({
1922
2312
  name: U.string().trim().min(1, i("changeSets.form.nameRequired")).max(200, i("changeSets.form.tooLong", { max: 200 })).regex(Q, i("changeSets.form.oneLine")),
1923
2313
  sourceDate: U.string().trim(),
@@ -1950,12 +2340,12 @@ function be({ open: e, onClose: n, onSubmit: r }) {
1950
2340
  }
1951
2341
  });
1952
2342
  } catch (e) {
1953
- m(e instanceof t ? e.message : i("changeSets.form.failed"));
2343
+ m(e instanceof n ? e.message : i("changeSets.form.failed"));
1954
2344
  }
1955
2345
  });
1956
2346
  return /* @__PURE__ */ u(g, {
1957
2347
  open: e,
1958
- onClose: n,
2348
+ onClose: t,
1959
2349
  lazyMount: !0,
1960
2350
  unmountOnExit: !0,
1961
2351
  size: "md",
@@ -1965,7 +2355,7 @@ function be({ open: e, onClose: n, onSubmit: r }) {
1965
2355
  children: [/* @__PURE__ */ u(f, {
1966
2356
  size: "sm",
1967
2357
  variant: "ghost",
1968
- onClick: n,
2358
+ onClick: t,
1969
2359
  children: i("common.cancel")
1970
2360
  }), /* @__PURE__ */ u(f, {
1971
2361
  type: "submit",
@@ -2165,7 +2555,7 @@ function Ee({ open: e, onClose: l, client: p, blueprintSource: m, initialChangeS
2165
2555
  let t = e.reasons.map(Te).join(", ");
2166
2556
  return v("library.create.refused", { reasons: t });
2167
2557
  }
2168
- return e instanceof n ? v("library.create.changeSetClosed") : e instanceof t ? e.message : v("library.create.failed");
2558
+ return e instanceof t ? v("library.create.changeSetClosed") : e instanceof n ? e.message : v("library.create.failed");
2169
2559
  }
2170
2560
  return /* @__PURE__ */ u(g, {
2171
2561
  open: e,
@@ -2279,8 +2669,8 @@ var De = [
2279
2669
  function Ne(e) {
2280
2670
  return Object.values(e).filter((e) => typeof e == "string" && e.trim() !== "" && e.length <= 200).slice(0, 2).join(" ");
2281
2671
  }
2282
- function Pe({ client: e, blueprintSource: n, onOpenContent: r, onOpenBranch: s }) {
2283
- let { t: l } = I(K), g = he(e, n), [v, y] = de(), b = v.get("collection") ?? "", [x, S] = c("main"), [ee, C] = c(""), [w, T] = c(""), [E, ae] = c(""), [F, se] = c(""), [L, R] = c(""), [z, B] = c(!1), { userId: V, members: le } = ue();
2672
+ function Pe({ client: e, blueprintSource: t, onOpenContent: r, onOpenBranch: s }) {
2673
+ let { t: l } = I(K), g = he(e, t), [v, y] = de(), b = v.get("collection") ?? "", [x, S] = c("main"), [ee, C] = c(""), [w, T] = c(""), [E, ae] = c(""), [F, se] = c(""), [L, R] = c(""), [z, B] = c(!1), { userId: V, members: le } = ue();
2284
2674
  a(() => {
2285
2675
  let e = setTimeout(() => ae(w), ke);
2286
2676
  return () => clearTimeout(e);
@@ -2387,7 +2777,7 @@ function Pe({ client: e, blueprintSource: n, onOpenContent: r, onOpenBranch: s }
2387
2777
  variant: "solid",
2388
2778
  onClick: () => B(!0),
2389
2779
  children: [/* @__PURE__ */ u(ce, { size: 16 }), l("library.create.button")]
2390
- }), we = J.error instanceof t ? J.error.message : l("library.loadError"), $ = b ? _e(b, U.data ?? []).map((e) => e.name).join(" / ") || b : l("library.allContent");
2780
+ }), we = J.error instanceof n ? J.error.message : l("library.loadError"), $ = b ? _e(b, U.data ?? []).map((e) => e.name).join(" / ") || b : l("library.allContent");
2391
2781
  return /* @__PURE__ */ d(ne, {
2392
2782
  title: l("library.title"),
2393
2783
  breadcrumbs: [{ label: l("library.title") }],
@@ -2546,4 +2936,4 @@ Pe.displayName = "ContentLibrary";
2546
2936
  //#endregion
2547
2937
  export { xe as a, _e as c, K as d, pe as f, Ce as i, ge as l, W as m, Pe as n, Se as o, q as p, Ne as r, be as s, Me as t, he as u };
2548
2938
 
2549
- //# sourceMappingURL=content-library-DoiD_FOJ.js.map
2939
+ //# sourceMappingURL=content-library-BdHuzmXL.js.map