Skip to content

Commit aa2333c

Browse files
committed
Merge branch '4.x' into 5.x
2 parents 9bee608 + 519f073 commit aa2333c

109 files changed

Lines changed: 2694 additions & 605 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs-assets/screenshots/package-lock.json

Lines changed: 596 additions & 365 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs-assets/screenshots/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"type": "module",
33
"dependencies": {
44
"puppeteer": "^22.15.0",
5-
"sharp": "^0.32.1"
5+
"sharp": "^0.35.0"
66
}
77
}

package-lock.json

Lines changed: 213 additions & 199 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -38,38 +38,38 @@
3838
"@fontsource-variable/inter": "^5.0.18",
3939
"@ryangjchandler/alpine-tooltip": "^2.0",
4040
"@tailwindcss/cli": "^4.1.10",
41-
"@tiptap/core": "^3.0.0",
42-
"@tiptap/extension-blockquote": "^3.0.0",
43-
"@tiptap/extension-bold": "^3.0.0",
44-
"@tiptap/extension-bubble-menu": "^3.0.0",
45-
"@tiptap/extension-code": "^3.0.0",
46-
"@tiptap/extension-code-block": "^3.0.0",
47-
"@tiptap/extension-details": "^3.0.0",
48-
"@tiptap/extension-document": "^3.0.0",
49-
"@tiptap/extension-hard-break": "^3.0.0",
50-
"@tiptap/extension-heading": "^3.0.0",
51-
"@tiptap/extension-highlight": "^3.0.0",
52-
"@tiptap/extension-horizontal-rule": "^3.0.0",
53-
"@tiptap/extension-image": "^3.0.0",
54-
"@tiptap/extension-italic": "^3.0.0",
55-
"@tiptap/extension-link": "^3.0.0",
56-
"@tiptap/extension-list": "^3.0.0",
57-
"@tiptap/extension-mention": "^3.0.0",
58-
"@tiptap/extension-paragraph": "^3.0.0",
59-
"@tiptap/extension-placeholder": "^3.0.0",
60-
"@tiptap/extension-strike": "^3.0.0",
61-
"@tiptap/extension-subscript": "^3.0.0",
62-
"@tiptap/extension-superscript": "^3.0.0",
63-
"@tiptap/extension-table": "^3.0.0",
64-
"@tiptap/extension-table-cell": "^3.0.0",
65-
"@tiptap/extension-table-header": "^3.0.0",
66-
"@tiptap/extension-table-row": "^3.0.0",
67-
"@tiptap/extension-text": "^3.0.0",
68-
"@tiptap/extension-text-align": "^3.0.0",
69-
"@tiptap/extension-underline": "^3.0.0",
70-
"@tiptap/extensions": "^3.0.0",
71-
"@tiptap/pm": "^3.0.0",
72-
"@tiptap/suggestion": "^3.0.0",
41+
"@tiptap/core": "^3.29.1",
42+
"@tiptap/extension-blockquote": "^3.29.1",
43+
"@tiptap/extension-bold": "^3.29.1",
44+
"@tiptap/extension-bubble-menu": "^3.29.1",
45+
"@tiptap/extension-code": "^3.29.1",
46+
"@tiptap/extension-code-block": "^3.29.1",
47+
"@tiptap/extension-details": "^3.29.1",
48+
"@tiptap/extension-document": "^3.29.1",
49+
"@tiptap/extension-hard-break": "^3.29.1",
50+
"@tiptap/extension-heading": "^3.29.1",
51+
"@tiptap/extension-highlight": "^3.29.1",
52+
"@tiptap/extension-horizontal-rule": "^3.29.1",
53+
"@tiptap/extension-image": "^3.29.1",
54+
"@tiptap/extension-italic": "^3.29.1",
55+
"@tiptap/extension-link": "^3.29.1",
56+
"@tiptap/extension-list": "^3.29.1",
57+
"@tiptap/extension-mention": "^3.29.1",
58+
"@tiptap/extension-paragraph": "^3.29.1",
59+
"@tiptap/extension-placeholder": "^3.29.1",
60+
"@tiptap/extension-strike": "^3.29.1",
61+
"@tiptap/extension-subscript": "^3.29.1",
62+
"@tiptap/extension-superscript": "^3.29.1",
63+
"@tiptap/extension-table": "^3.29.1",
64+
"@tiptap/extension-table-cell": "^3.29.1",
65+
"@tiptap/extension-table-header": "^3.29.1",
66+
"@tiptap/extension-table-row": "^3.29.1",
67+
"@tiptap/extension-text": "^3.29.1",
68+
"@tiptap/extension-text-align": "^3.29.1",
69+
"@tiptap/extension-underline": "^3.29.1",
70+
"@tiptap/extensions": "^3.29.1",
71+
"@tiptap/pm": "^3.29.1",
72+
"@tiptap/suggestion": "^3.29.1",
7373
"alpine-lazy-load-assets": "^1.3.0",
7474
"alpinejs": "^3.10.4",
7575
"async-alpine": "^2.0.0",

packages/actions/resources/lang/de/delete.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,18 @@
5454
'title' => 'Gelöscht',
5555
],
5656

57+
'deleted_partial' => [
58+
'title' => ':count von :total gelöscht',
59+
'missing_authorization_failure_message' => 'Sie sind nicht berechtigt, :count zu löschen.',
60+
'missing_processing_failure_message' => ':count konnte nicht gelöscht werden.',
61+
],
62+
63+
'deleted_none' => [
64+
'title' => 'Löschen fehlgeschlagen',
65+
'missing_authorization_failure_message' => 'Sie sind nicht berechtigt, :count zu löschen.',
66+
'missing_processing_failure_message' => ':count konnte nicht gelöscht werden.',
67+
],
68+
5769
],
5870

5971
],

packages/actions/resources/lang/de/force-delete.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,18 @@
5454
'title' => 'Einträge gelöscht',
5555
],
5656

57+
'deleted_partial' => [
58+
'title' => ':count von :total gelöscht',
59+
'missing_authorization_failure_message' => 'Sie sind nicht berechtigt, :count zu löschen.',
60+
'missing_processing_failure_message' => ':count konnte nicht gelöscht werden.',
61+
],
62+
63+
'deleted_none' => [
64+
'title' => 'Löschen fehlgeschlagen',
65+
'missing_authorization_failure_message' => 'Sie sind nicht berechtigt, :count zu löschen.',
66+
'missing_processing_failure_message' => ':count konnte nicht gelöscht werden.',
67+
],
68+
5769
],
5870

5971
],

packages/actions/resources/lang/de/restore.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,18 @@
5454
'title' => 'Einträge wiederhergestellt',
5555
],
5656

57+
'restored_partial' => [
58+
'title' => ':count von :total wiederhergestellt',
59+
'missing_authorization_failure_message' => 'Sie sind nicht berechtigt, :count wiederherzustellen.',
60+
'missing_processing_failure_message' => ':count konnte nicht wiederhergestellt werden.',
61+
],
62+
63+
'restored_none' => [
64+
'title' => 'Wiederherstellen fehlgeschlagen',
65+
'missing_authorization_failure_message' => 'Sie sind nicht berechtigt, :count wiederherzustellen.',
66+
'missing_processing_failure_message' => ':count konnte nicht wiederhergestellt werden.',
67+
],
68+
5769
],
5870

5971
],

packages/actions/resources/lang/pt_BR/export.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,18 @@
1414

1515
'label' => 'Colunas',
1616

17+
'actions' => [
18+
19+
'select_all' => [
20+
'label' => 'Selecionar todas',
21+
],
22+
23+
'deselect_all' => [
24+
'label' => 'Desmarcar todas',
25+
],
26+
27+
],
28+
1729
'form' => [
1830

1931
'is_enabled' => [
@@ -65,6 +77,11 @@
6577
'body' => 'Não é possível exportar mais de 1 linha de uma vez.|Não é possível exportar mais de :count linhas de uma vez.',
6678
],
6779

80+
'no_columns' => [
81+
'title' => 'Nenhuma coluna selecionada',
82+
'body' => 'Selecione pelo menos uma coluna para exportar.',
83+
],
84+
6885
'started' => [
6986
'title' => 'Exportação iniciada',
7087
'body' => 'A exportação foi iniciada e 1 linha será processada em segundo plano.|A exportação foi iniciada e :count linhas serão processadas em segundo plano.',

packages/actions/resources/lang/tr/export.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@
2626

2727
],
2828

29+
'actions' => [
30+
31+
'select_all' => [
32+
'label' => 'Tümünü seç',
33+
],
34+
35+
'deselect_all' => [
36+
'label' => 'Tüm seçimleri kaldır',
37+
],
38+
39+
],
40+
2941
],
3042

3143
],
@@ -65,6 +77,11 @@
6577
'body' => 'Birden fazla satırı dışa aktaramazsınız.|:count satırı dışa aktaramazsınız.',
6678
],
6779

80+
'no_columns' => [
81+
'title' => 'Hiçbir sütun seçilmedi',
82+
'body' => 'Lütfen dışa aktarmak için en az bir sütun seçin.',
83+
],
84+
6885
'started' => [
6986
'title' => 'Dışa Aktarım Başladı',
7087
'body' => 'Dışa aktarım başladı ve 1 satır arka planda işlenecek.|Dışa aktarım başladı ve :count satır arka planda işlenecek.',

packages/actions/src/Concerns/InteractsWithActions.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,33 @@ trait InteractsWithActions /** @phpstan-ignore trait.unused */
8888

8989
protected bool $hasActionsModalRendered = false;
9090

91+
/**
92+
* Context for the `mountAction()` call that opens the `?action=` default action on
93+
* page load. `mountedFromUrl` is forced on last, so a crafted `?actionContext=` value
94+
* cannot unset it to run a modal-less action.
95+
*
96+
* @return array<string, mixed>
97+
*/
98+
public function getDefaultActionUrlContext(): array
99+
{
100+
return array_merge(
101+
is_array($this->defaultActionContext) ? $this->defaultActionContext : [],
102+
['mountedFromUrl' => true],
103+
);
104+
}
105+
106+
/**
107+
* @return array<string, mixed>
108+
*/
109+
public function getDefaultTableActionUrlContext(): array
110+
{
111+
return [
112+
'table' => true,
113+
'recordKey' => $this->defaultTableActionRecord,
114+
'mountedFromUrl' => true,
115+
];
116+
}
117+
91118
public function bootedInteractsWithActions(): void
92119
{
93120
if (filled($originallyMountedActionIndex = array_key_last($this->mountedActions))) {
@@ -181,6 +208,14 @@ public function mountAction(string $name, array $arguments = [], array $context
181208
}
182209

183210
if (! $this->mountedActionShouldOpenModal(mountedAction: $action)) {
211+
if ($context['mountedFromUrl'] ?? false) {
212+
// A modal-less action mounted from the URL has nothing to show the user, so
213+
// running it here would let a crafted link trigger it with no interaction.
214+
$this->unmountAction(cancelParentActions: false);
215+
216+
return null;
217+
}
218+
184219
return $this->callMountedAction();
185220
}
186221

0 commit comments

Comments
 (0)