@oktis-works/admin 0.8.8 → 0.10.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.
- package/dist/client/_astro/ActivityWidget.ChQWOeJC.js +16 -0
- package/dist/client/_astro/{AdminBar.5-l0PBZz.js → AdminBar.Dt8_nO1o.js} +2 -2
- package/dist/client/_astro/{AtGlanceWidget.B5ytZ8mp.js → AtGlanceWidget.NFubs9y9.js} +3 -3
- package/dist/client/_astro/BaseLayout.DAkzjMTq.css +1 -0
- package/dist/client/_astro/ContentEditor.CV3dhbjt.js +1 -0
- package/dist/client/_astro/{ContentEditor.CQ2OYPHn.js → ContentEditor.DfL_lpMd.js} +2 -2
- package/dist/client/_astro/{ContentTypeWorkspace.CdsUQQfa.js → ContentTypeWorkspace.BitHXXxQ.js} +1 -1
- package/dist/client/_astro/{DashboardHome.BYOWl94l.js → DashboardHome.Bc3UoI13.js} +1 -1
- package/dist/client/_astro/DashboardLayout.DM3iZCrw.css +1 -0
- package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.CzpgSZHu.js +1 -0
- package/dist/client/_astro/FbIcon.CUNS6rpP.js +1 -0
- package/dist/client/_astro/FieldGroupEditor.DZI2aKIV.js +69 -0
- package/dist/client/_astro/FieldGroupList.Jz2ScLbc.js +1 -0
- package/dist/client/_astro/FloatingPanel.BeCEt_JP.js +1 -0
- package/dist/client/_astro/{Footer.CnuW-fOP.js → Footer.CoQHbtro.js} +2 -2
- package/dist/client/_astro/GeneralSettings.CE_IKxIn.js +1 -0
- package/dist/client/_astro/LogsManager.BQUduS0g.js +1 -0
- package/dist/client/_astro/MediaLibrary.Bt-NcHbG.js +1 -0
- package/dist/client/_astro/{MenuManager.Bl_gpt5T.js → MenuManager.D4NmoaFw.js} +1 -1
- package/dist/client/_astro/{PluginManager.ClpQA_a-.js → PluginManager.BlNWs5RU.js} +2 -2
- package/dist/client/_astro/PostTypesManager.BKcoZ1gF.js +1 -0
- package/dist/client/_astro/{QuickDraftWidget.Gjzwimmf.js → QuickDraftWidget.CRQ7FmTm.js} +2 -2
- package/dist/client/_astro/ResourceHubs.Dz0u_gL5.js +1 -0
- package/dist/client/_astro/TaxonomiesManager.BZZ626v_.js +1 -0
- package/dist/client/_astro/TaxonomyTermsManager.CxXNNf5j.js +1 -0
- package/dist/client/_astro/ThemeManager.DzbQaPu4.js +176 -0
- package/dist/client/_astro/UserCreateForm.DL04jrgd.js +1 -0
- package/dist/client/_astro/{UsersManager.GrlsCN-n.js → UsersManager.DGQJqlbN.js} +1 -1
- package/dist/client/_astro/WebhooksManager.DACLOiX1.js +1 -0
- package/dist/client/_astro/api.CNp-a9Z3.js +1 -0
- package/dist/client/_astro/{ar.9BcNkJMI.js → ar.BeEmOTlL.js} +1 -1
- package/dist/client/_astro/client.DU9Dc2oe.js +1 -0
- package/dist/client/_astro/{es-ES.DgqDFCmG.js → es-ES.C0DI0CK6.js} +1 -1
- package/dist/client/_astro/extensions.BWDpAUyI.js +1 -0
- package/dist/client/_astro/{he.11dIJHQw.js → he.RF4swhtn.js} +1 -1
- package/dist/client/_astro/i18n.DCpVFQAZ.js +1 -0
- package/dist/client/_astro/{it.yCdgk3Xj.js → it.DhCR9YsW.js} +1 -1
- package/dist/client/_astro/{ja.BIm7Hwe_.js → ja.DPrxHQvU.js} +1 -1
- package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.D7pjn1zG.js → login.astro_astro_type_script_index_0_lang.Dni6a5dD.js} +1 -1
- package/dist/client/_astro/{pl.dUwrcITB.js → pl.6VCoPa7y.js} +1 -1
- package/dist/client/_astro/pt-BR.BpKbXMEZ.js +1 -0
- package/dist/client/_astro/{ru.lmDiQaSu.js → ru.Cv0Z6X2y.js} +1 -1
- package/dist/client/_astro/solid.D49dPDCT.js +1 -0
- package/dist/client/_astro/{src.BJaHBCQK.js → src.DXVWCoHp.js} +1 -1
- package/dist/client/_astro/{sw._qHdoFbp.js → sw.BBMIgY-Y.js} +1 -1
- package/dist/client/_astro/{tr.Do-lr98T.js → tr.BWEmWhCE.js} +1 -1
- package/dist/client/_astro/{uk.DTUX-N1c.js → uk.DDXJXOmn.js} +1 -1
- package/dist/client/_astro/web.Bqbl_1YR.js +1 -0
- package/dist/client/_astro/{yo.BIYG0J7I.js → yo.DNoEBLJd.js} +1 -1
- package/dist/client/_astro/{zh-CN.C7Iod1E1.js → zh-CN.CVKBB6Ky.js} +1 -1
- package/dist/server/chunks/404_CfM6kYWd.mjs +56 -0
- package/dist/server/chunks/{BaseLayout_DAvxa2_1.mjs → BaseLayout_DTOkhEmH.mjs} +1 -1
- package/dist/server/chunks/{ContentEditor_GY92E-dL.mjs → ContentEditor_D3N5qDZK.mjs} +2 -2
- package/dist/server/chunks/{DashboardLayout_U7BSt4BY.mjs → DashboardLayout_CidaIIqh.mjs} +12 -8
- package/dist/server/chunks/FloatingPanel_DI2CdUZK.mjs +57 -0
- package/dist/server/chunks/{MediaLibrary_B-7kFx0j.mjs → MediaLibrary_DZqdhYpt.mjs} +2 -2
- package/dist/server/chunks/{_id__CrGKzk8c.mjs → _id__9FIehtyR.mjs} +21 -10
- package/dist/server/chunks/{_slug__BFkT7tf-.mjs → _slug__Izz0oLah.mjs} +1 -1
- package/dist/server/chunks/access_BSltT-j0.mjs +417 -0
- package/dist/server/chunks/{ar_DlCzOUGe.mjs → ar_DObFFdrO.mjs} +10 -1
- package/dist/server/chunks/{custom-fields_C21soZ6X.mjs → custom-fields_ChGoFU6v.mjs} +2 -2
- package/dist/server/chunks/{edit_BX_SHtDf.mjs → edit_BDJsuJht.mjs} +2 -2
- package/dist/server/chunks/{es-ES_DD40B9Zr.mjs → es-ES_D6jd6T7H.mjs} +10 -1
- package/dist/server/chunks/{general_4pi2Xyk_.mjs → general_J5JruaEJ.mjs} +31 -27
- package/dist/server/chunks/{he_8WSAyM_S.mjs → he_DwGJwonL.mjs} +10 -1
- package/dist/server/chunks/{i18n_k88p-B6j.mjs → i18n_Cr9pc66i.mjs} +229 -527
- package/dist/server/chunks/{index_J14tJb39.mjs → index_BZk89gnA.mjs} +2 -2
- package/dist/server/chunks/{index_BrpYs70y.mjs → index_DEkpVnI-.mjs} +2 -2
- package/dist/server/chunks/{index_BwnKp1u1.mjs → index__TzLfz1Y.mjs} +2 -2
- package/dist/server/chunks/{index_DlZPZgHm.mjs → index_goZUoZn8.mjs} +3 -3
- package/dist/server/chunks/{index_DfzW3lzT.mjs → index_ph0CQvPI.mjs} +1 -1
- package/dist/server/chunks/{it_DEDC6yxf.mjs → it_CMLpQyoj.mjs} +10 -1
- package/dist/server/chunks/{ja_BRQi6rW3.mjs → ja_CYRz0pHv.mjs} +10 -1
- package/dist/server/chunks/{login_CnlPFzuR.mjs → login_D1vntlDR.mjs} +1 -1
- package/dist/server/chunks/{logs_ClikIoCW.mjs → logs_BQ-8tURM.mjs} +2 -2
- package/dist/server/chunks/{menus_UezEKuJz.mjs → menus_CxwSYjnB.mjs} +2 -2
- package/dist/server/chunks/{new_Cgxb7rz2.mjs → new_CZGMo6CG.mjs} +2 -2
- package/dist/server/chunks/{new_BNlbLJSd.mjs → new_DoFj-hVB.mjs} +2 -2
- package/dist/server/chunks/{pl_CKanAk0F.mjs → pl_BuXVPvU1.mjs} +10 -1
- package/dist/server/chunks/{plugins_Cdlj5IY8.mjs → plugins_CM-vRDfx.mjs} +2 -2
- package/dist/server/chunks/post-types_9YdRCAhN.mjs +437 -0
- package/dist/server/chunks/{pt-BR_X0hfCrsD.mjs → pt-BR_CLa-GGIZ.mjs} +48 -5
- package/dist/server/chunks/{ru_CuNXt2MB.mjs → ru_C56ltukG.mjs} +10 -1
- package/dist/server/chunks/{sw_RLMWPkos.mjs → sw_Dhw0GAgD.mjs} +10 -1
- package/dist/server/chunks/{taxonomies_DprUiQYq.mjs → taxonomies_C2yLbsVU.mjs} +2 -2
- package/dist/server/chunks/{taxonomy_ECx2rh8K.mjs → taxonomy_BAqqS2TS.mjs} +2 -2
- package/dist/server/chunks/{themes_B8BHsKmD.mjs → themes_zV_FXCDj.mjs} +2 -2
- package/dist/server/chunks/{tr_Dz8pqyTZ.mjs → tr_zELRy7A-.mjs} +10 -1
- package/dist/server/chunks/{uk_BjwqlweA.mjs → uk_DVOqp1x6.mjs} +10 -1
- package/dist/server/chunks/{upload_FUWLBTTZ.mjs → upload_Bba7badi.mjs} +2 -2
- package/dist/server/chunks/{webhooks_BH1Qrnee.mjs → webhooks_LTF3h9-l.mjs} +2 -2
- package/dist/server/chunks/{yo_Dv14KWVR.mjs → yo_BqgZcoxs.mjs} +10 -1
- package/dist/server/chunks/{zh-CN_DjIZCWzG.mjs → zh-CN_Dz2D1XUc.mjs} +10 -1
- package/dist/server/entry.mjs +74 -47
- package/dist/server/virtual_astro_middleware.mjs +87 -17
- package/package.json +1 -1
- package/dist/client/_astro/ActivityWidget.DFfbrs-K.js +0 -16
- package/dist/client/_astro/BaseLayout.3eIEVCjB.css +0 -1
- package/dist/client/_astro/ContentEditor.DANKVwCI.js +0 -1
- package/dist/client/_astro/DashboardLayout.C1hUraeX.css +0 -1
- package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.DP7AKyOy.js +0 -1
- package/dist/client/_astro/FbIcon.uhYN8ybK.js +0 -1
- package/dist/client/_astro/FieldGroupEditor.5iB_mZUP.js +0 -69
- package/dist/client/_astro/FieldGroupList.CN3KGhw5.js +0 -1
- package/dist/client/_astro/GeneralSettings.Dzv_7xWf.js +0 -1
- package/dist/client/_astro/LogsManager.C3XW2Gze.js +0 -1
- package/dist/client/_astro/MediaLibrary.bx1yD6aC.js +0 -1
- package/dist/client/_astro/PostTypesManager.BJNKEOXY.js +0 -1
- package/dist/client/_astro/ResourceHubs.D11v_J8D.js +0 -1
- package/dist/client/_astro/TaxonomiesManager.DAC1s3aS.js +0 -1
- package/dist/client/_astro/TaxonomyTermsManager.RsO79xRU.js +0 -1
- package/dist/client/_astro/ThemeManager.BO-12WST.js +0 -176
- package/dist/client/_astro/UserCreateForm.CSYbfU4r.js +0 -1
- package/dist/client/_astro/WebhooksManager.BNaGM-w5.js +0 -1
- package/dist/client/_astro/api.D7bs6UOp.js +0 -1
- package/dist/client/_astro/client.DWJHz38V.js +0 -1
- package/dist/client/_astro/extensions.CpcwMaUF.js +0 -1
- package/dist/client/_astro/i18n.CjQozXLx.js +0 -1
- package/dist/client/_astro/pt-BR.BnllmbjP.js +0 -1
- package/dist/client/_astro/solid.8gBSxpeo.js +0 -1
- package/dist/client/_astro/web.DwNv8rLL.js +0 -1
- package/dist/server/chunks/access_C2K6rVdx.mjs +0 -138
- package/dist/server/chunks/post-types_BzDitU7n.mjs +0 -185
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
+
import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
|
+
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
+
import { n as useTranslation, r as apiClient } from "./i18n_Cr9pc66i.mjs";
|
|
5
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_CidaIIqh.mjs";
|
|
6
|
+
import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
|
|
7
|
+
import { t as FloatingPanel } from "./FloatingPanel_DI2CdUZK.mjs";
|
|
8
|
+
import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
9
|
+
import { For, Show, createEffect, createMemo, createSignal, onCleanup, onMount } from "solid-js";
|
|
10
|
+
//#region src/components/ui/Modal.tsx
|
|
11
|
+
var _tmpl$$2 = [
|
|
12
|
+
"<div",
|
|
13
|
+
" class=\"modal-overlay\" role=\"presentation\"><section class=\"modal\" role=\"dialog\" aria-modal=\"true\"",
|
|
14
|
+
"><header class=\"modal-header\"><h3>",
|
|
15
|
+
"</h3><button type=\"button\" class=\"modal-close\"",
|
|
16
|
+
">×</button></header><!--$-->",
|
|
17
|
+
"<!--/--></section></div>"
|
|
18
|
+
];
|
|
19
|
+
function Modal(props) {
|
|
20
|
+
const { t } = useTranslation();
|
|
21
|
+
createEffect(() => {
|
|
22
|
+
if (!props.open) return;
|
|
23
|
+
const onKey = (event) => {
|
|
24
|
+
if (event.key === "Escape") props.onClose();
|
|
25
|
+
};
|
|
26
|
+
document.addEventListener("keydown", onKey);
|
|
27
|
+
onCleanup(() => document.removeEventListener("keydown", onKey));
|
|
28
|
+
});
|
|
29
|
+
return createComponent(Show, {
|
|
30
|
+
get when() {
|
|
31
|
+
return props.open;
|
|
32
|
+
},
|
|
33
|
+
get children() {
|
|
34
|
+
return ssr(_tmpl$$2, ssrHydrationKey(), ssrAttribute("aria-label", escape(props.title, true), false), escape(props.title), ssrAttribute("aria-label", escape(t("common.close"), true), false), escape(props.children));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/components/apps/settings/PermissionPicker.tsx
|
|
40
|
+
var _tmpl$$1 = [
|
|
41
|
+
"<input",
|
|
42
|
+
" type=\"search\" class=\"input permission-picker__search\"",
|
|
43
|
+
">"
|
|
44
|
+
];
|
|
45
|
+
var _tmpl$2$1 = [
|
|
46
|
+
"<div",
|
|
47
|
+
" class=\"permission-picker__matrix\" role=\"presentation\"><div class=\"permission-picker__row permission-picker__row--head\" role=\"presentation\"><span class=\"permission-picker__resource\"></span><!--$-->",
|
|
48
|
+
"<!--/--><!--$-->",
|
|
49
|
+
"<!--/--></div><!--$-->",
|
|
50
|
+
"<!--/--></div>"
|
|
51
|
+
];
|
|
52
|
+
var _tmpl$3$1 = [
|
|
53
|
+
"<div",
|
|
54
|
+
" class=\"permission-picker__custom\"><p class=\"permission-picker__custom-label\">",
|
|
55
|
+
"</p><div class=\"permission-picker__chips\"><!--$-->",
|
|
56
|
+
"<!--/--><form class=\"permission-picker__custom-form\"><input class=\"input permission-picker__custom-input\"",
|
|
57
|
+
"><button class=\"btn btn-secondary btn-sm\" type=\"submit\">",
|
|
58
|
+
"</button></form></div></div>"
|
|
59
|
+
];
|
|
60
|
+
var _tmpl$4$1 = [
|
|
61
|
+
"<p",
|
|
62
|
+
" class=\"icon-picker__count\">",
|
|
63
|
+
"</p>"
|
|
64
|
+
];
|
|
65
|
+
var _tmpl$5$1 = [
|
|
66
|
+
"<div",
|
|
67
|
+
" class=\"permission-picker\"><button type=\"button\" class=\"input permission-picker__trigger\" aria-haspopup=\"dialog\"",
|
|
68
|
+
"><span class=\"",
|
|
69
|
+
"\">",
|
|
70
|
+
"</span><span class=\"icon-picker__caret\" aria-hidden=\"true\">",
|
|
71
|
+
"</span></button><!--$-->",
|
|
72
|
+
"<!--/--></div>"
|
|
73
|
+
];
|
|
74
|
+
var _tmpl$6$1 = [
|
|
75
|
+
"<span",
|
|
76
|
+
" class=\"permission-picker__action-label\">",
|
|
77
|
+
"</span>"
|
|
78
|
+
];
|
|
79
|
+
var _tmpl$7$1 = [
|
|
80
|
+
"<p",
|
|
81
|
+
" class=\"permission-picker__empty\">",
|
|
82
|
+
"</p>"
|
|
83
|
+
];
|
|
84
|
+
var _tmpl$8 = [
|
|
85
|
+
"<div",
|
|
86
|
+
" class=\"permission-picker__row\"><span class=\"permission-picker__resource\"",
|
|
87
|
+
">",
|
|
88
|
+
"</span><!--$-->",
|
|
89
|
+
"<!--/--></div>"
|
|
90
|
+
];
|
|
91
|
+
var _tmpl$9 = [
|
|
92
|
+
"<label",
|
|
93
|
+
" class=\"",
|
|
94
|
+
"\" title=\"",
|
|
95
|
+
"\"><input type=\"checkbox\"",
|
|
96
|
+
"><span aria-hidden=\"true\">✓</span></label>"
|
|
97
|
+
];
|
|
98
|
+
var _tmpl$0 = ["<span", " class=\"permission-picker__cell permission-picker__cell--empty\"></span>"];
|
|
99
|
+
var _tmpl$1 = [
|
|
100
|
+
"<span",
|
|
101
|
+
" class=\"permission-picker__chip\"><code>",
|
|
102
|
+
"</code><button type=\"button\" aria-label=\"",
|
|
103
|
+
"\">×</button></span>"
|
|
104
|
+
];
|
|
105
|
+
/** Ações canônicas (o que `requirePermission(action, resource)` recebe). */
|
|
106
|
+
var ACTIONS = [
|
|
107
|
+
"read",
|
|
108
|
+
"create",
|
|
109
|
+
"update",
|
|
110
|
+
"delete"
|
|
111
|
+
];
|
|
112
|
+
/** Recursos protegidos pela API, na ordem em que aparecem na matriz. */
|
|
113
|
+
var RESOURCES = [
|
|
114
|
+
"content",
|
|
115
|
+
"media",
|
|
116
|
+
"category",
|
|
117
|
+
"tag",
|
|
118
|
+
"menu",
|
|
119
|
+
"user",
|
|
120
|
+
"roles",
|
|
121
|
+
"theme",
|
|
122
|
+
"plugin",
|
|
123
|
+
"setting",
|
|
124
|
+
"webhook",
|
|
125
|
+
"tenants",
|
|
126
|
+
"audit",
|
|
127
|
+
"build",
|
|
128
|
+
"system"
|
|
129
|
+
];
|
|
130
|
+
/** Ação extra por recurso (fora do padrão read/create/update/delete). */
|
|
131
|
+
var EXTRA_ACTIONS = { media: ["upload"] };
|
|
132
|
+
var permissionKey = (action, resource) => `${action}:${resource}`;
|
|
133
|
+
var isKnown = (token) => {
|
|
134
|
+
const [action, resource] = token.split(":");
|
|
135
|
+
if (!action || !resource) return false;
|
|
136
|
+
return ACTIONS.includes(action) && RESOURCES.includes(resource);
|
|
137
|
+
};
|
|
138
|
+
function PermissionPicker(props) {
|
|
139
|
+
const { t } = useTranslation();
|
|
140
|
+
const [open, setOpen] = createSignal(false);
|
|
141
|
+
const [query, setQuery] = createSignal("");
|
|
142
|
+
const [customDraft, setCustomDraft] = createSignal("");
|
|
143
|
+
const [trigger, setTrigger] = createSignal(void 0);
|
|
144
|
+
const selected = createMemo(() => new Set(props.value));
|
|
145
|
+
const custom = createMemo(() => props.value.filter((token) => !isKnown(token)));
|
|
146
|
+
const filteredResources = createMemo(() => {
|
|
147
|
+
const q = query().trim().toLowerCase();
|
|
148
|
+
if (!q) return RESOURCES;
|
|
149
|
+
return RESOURCES.filter((resource) => resource.includes(q) || t(`access.resources.${resource}`).toLowerCase().includes(q));
|
|
150
|
+
});
|
|
151
|
+
/** Colunas extras visíveis (ex.: upload quando "media" está no filtro). */
|
|
152
|
+
const extraColumns = createMemo(() => {
|
|
153
|
+
const seen = /* @__PURE__ */ new Set();
|
|
154
|
+
for (const resource of filteredResources()) for (const action of EXTRA_ACTIONS[resource] ?? []) seen.add(action);
|
|
155
|
+
return [...seen];
|
|
156
|
+
});
|
|
157
|
+
/** Coluna completa para o par (ação, recurso)? */
|
|
158
|
+
const hasColumn = (action, resource) => ACTIONS.includes(action) || (EXTRA_ACTIONS[resource] ?? []).includes(action);
|
|
159
|
+
const summary = () => {
|
|
160
|
+
const count = props.value.length;
|
|
161
|
+
if (count === 0) return props.placeholder ?? t("access.permissionsPlaceholder");
|
|
162
|
+
const resources = new Set(props.value.map((token) => token.split(":")[1] ?? token));
|
|
163
|
+
return t("access.permissionsSummary", {
|
|
164
|
+
resources: resources.size,
|
|
165
|
+
count
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
return ssr(_tmpl$5$1, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), `permission-picker__value ${props.value.length === 0 ? "is-empty" : ""}`, escape(summary()), open() ? "▴" : "▾", escape(createComponent(FloatingPanel, {
|
|
169
|
+
get open() {
|
|
170
|
+
return open();
|
|
171
|
+
},
|
|
172
|
+
get trigger() {
|
|
173
|
+
return trigger();
|
|
174
|
+
},
|
|
175
|
+
onClose: () => setOpen(false),
|
|
176
|
+
"class": "permission-picker__panel",
|
|
177
|
+
role: "dialog",
|
|
178
|
+
get ["aria-label"]() {
|
|
179
|
+
return t("access.permissions");
|
|
180
|
+
},
|
|
181
|
+
minWidth: 440,
|
|
182
|
+
get children() {
|
|
183
|
+
return [
|
|
184
|
+
ssr(_tmpl$$1, ssrHydrationKey(), ssrAttribute("placeholder", escape(props.searchPlaceholder ?? t("access.permissionSearch"), true), false) + ssrAttribute("value", escape(query(), true), false)),
|
|
185
|
+
ssr(_tmpl$2$1, ssrHydrationKey(), escape(createComponent(For, {
|
|
186
|
+
each: ACTIONS,
|
|
187
|
+
children: (action) => ssr(_tmpl$6$1, ssrHydrationKey(), escape(action))
|
|
188
|
+
})), escape(createComponent(For, {
|
|
189
|
+
get each() {
|
|
190
|
+
return extraColumns();
|
|
191
|
+
},
|
|
192
|
+
children: (action) => ssr(_tmpl$6$1, ssrHydrationKey(), escape(action))
|
|
193
|
+
})), escape(createComponent(For, {
|
|
194
|
+
get each() {
|
|
195
|
+
return filteredResources();
|
|
196
|
+
},
|
|
197
|
+
get fallback() {
|
|
198
|
+
return ssr(_tmpl$7$1, ssrHydrationKey(), escape(t("access.permissionNoMatches")));
|
|
199
|
+
},
|
|
200
|
+
children: (resource) => ssr(_tmpl$8, ssrHydrationKey(), ssrAttribute("title", escape(resource, true), false), escape(t(`access.resources.${resource}`)), escape(createComponent(For, {
|
|
201
|
+
get each() {
|
|
202
|
+
return [...ACTIONS, ...extraColumns()];
|
|
203
|
+
},
|
|
204
|
+
children: (action) => hasColumn(action, resource) ? ssr(_tmpl$9, ssrHydrationKey(), `permission-picker__cell ${selected().has(permissionKey(action, resource)) ? "is-checked" : ""}`, `${escape(action, true)}:${escape(resource, true)}`, ssrAttribute("checked", selected().has(permissionKey(action, resource)), true)) : ssr(_tmpl$0, ssrHydrationKey())
|
|
205
|
+
})))
|
|
206
|
+
}))),
|
|
207
|
+
ssr(_tmpl$3$1, ssrHydrationKey(), escape(t("access.customPermissions")), escape(createComponent(For, {
|
|
208
|
+
get each() {
|
|
209
|
+
return custom();
|
|
210
|
+
},
|
|
211
|
+
children: (token) => ssr(_tmpl$1, ssrHydrationKey(), escape(token), `${escape(t("common.remove"), true)}: ${escape(token, true)}`)
|
|
212
|
+
})), ssrAttribute("placeholder", escape(t("access.customPermission"), true), false) + ssrAttribute("value", escape(customDraft(), true), false), escape(t("common.add"))),
|
|
213
|
+
createComponent(Show, {
|
|
214
|
+
get when() {
|
|
215
|
+
return props.value.length > 0;
|
|
216
|
+
},
|
|
217
|
+
get children() {
|
|
218
|
+
return ssr(_tmpl$4$1, ssrHydrationKey(), escape(t("access.permissionsSelected", { count: props.value.length })));
|
|
219
|
+
}
|
|
220
|
+
})
|
|
221
|
+
];
|
|
222
|
+
}
|
|
223
|
+
})));
|
|
224
|
+
}
|
|
225
|
+
//#endregion
|
|
226
|
+
//#region src/components/apps/settings/ResourceHubs.tsx
|
|
227
|
+
var _tmpl$ = [
|
|
228
|
+
"<div",
|
|
229
|
+
" class=\"notice notice--error\">",
|
|
230
|
+
"</div>"
|
|
231
|
+
];
|
|
232
|
+
var _tmpl$2 = [
|
|
233
|
+
"<div",
|
|
234
|
+
" class=\"resource-hub\"><!--$-->",
|
|
235
|
+
"<!--/--><div class=\"access-grid\"><section class=\"card\"><div class=\"card-header-row\"><h3>",
|
|
236
|
+
"</h3><button class=\"btn btn-primary\" type=\"button\">+ <!--$-->",
|
|
237
|
+
"<!--/--></button></div><table class=\"table\"><thead><tr><th>",
|
|
238
|
+
"</th><th>",
|
|
239
|
+
"</th><th>",
|
|
240
|
+
"</th><th></th></tr></thead><tbody>",
|
|
241
|
+
"</tbody></table><!--$-->",
|
|
242
|
+
"<!--/--></section><section class=\"card\"><div class=\"card-header-row\"><h3>",
|
|
243
|
+
"</h3><button class=\"btn btn-primary\" type=\"button\">+ <!--$-->",
|
|
244
|
+
"<!--/--></button></div><table class=\"table\"><thead><tr><th>",
|
|
245
|
+
"</th><th>",
|
|
246
|
+
"</th><th>",
|
|
247
|
+
"</th><th></th></tr></thead><tbody>",
|
|
248
|
+
"</tbody></table><!--$-->",
|
|
249
|
+
"<!--/--></section></div></div>"
|
|
250
|
+
];
|
|
251
|
+
var _tmpl$3 = [
|
|
252
|
+
"<button",
|
|
253
|
+
" class=\"btn btn-danger btn-sm\" type=\"button\">",
|
|
254
|
+
"</button>"
|
|
255
|
+
];
|
|
256
|
+
var _tmpl$4 = [
|
|
257
|
+
"<tr",
|
|
258
|
+
"><td>",
|
|
259
|
+
"</td><td><code>",
|
|
260
|
+
"</code></td><td class=\"access-permissions-cell\"",
|
|
261
|
+
">",
|
|
262
|
+
"</td><td class=\"access-actions\"><button class=\"btn btn-secondary btn-sm\" type=\"button\">",
|
|
263
|
+
"</button><!--$-->",
|
|
264
|
+
"<!--/--></td></tr>"
|
|
265
|
+
];
|
|
266
|
+
var _tmpl$5 = [
|
|
267
|
+
"<form",
|
|
268
|
+
" class=\"resource-form\"><label><span class=\"resource-form__label\">",
|
|
269
|
+
"</span><input class=\"input\" required",
|
|
270
|
+
"></label><label><span class=\"resource-form__label\">",
|
|
271
|
+
"</span><input class=\"input\" required",
|
|
272
|
+
"></label><div class=\"resource-form__field\"><span class=\"resource-form__label\">",
|
|
273
|
+
"</span><!--$-->",
|
|
274
|
+
"<!--/--></div><div class=\"form-actions\"><button class=\"btn btn-secondary\" type=\"button\">",
|
|
275
|
+
"</button><button class=\"btn btn-primary\" type=\"submit\"",
|
|
276
|
+
">",
|
|
277
|
+
"</button></div></form>"
|
|
278
|
+
];
|
|
279
|
+
var _tmpl$6 = [
|
|
280
|
+
"<tr",
|
|
281
|
+
"><td>",
|
|
282
|
+
"</td><td><code>",
|
|
283
|
+
"</code></td><td>",
|
|
284
|
+
"</td><td class=\"access-actions\"><button class=\"btn btn-secondary btn-sm\" type=\"button\">",
|
|
285
|
+
"</button><button class=\"btn btn-danger btn-sm\" type=\"button\">",
|
|
286
|
+
"</button></td></tr>"
|
|
287
|
+
];
|
|
288
|
+
var _tmpl$7 = [
|
|
289
|
+
"<form",
|
|
290
|
+
" class=\"resource-form\"><label><span class=\"resource-form__label\">",
|
|
291
|
+
"</span><input class=\"input\" required",
|
|
292
|
+
"></label><label><span class=\"resource-form__label\">",
|
|
293
|
+
"</span><input class=\"input\" required",
|
|
294
|
+
"></label><label><span class=\"resource-form__label\">",
|
|
295
|
+
"</span><input class=\"input\"",
|
|
296
|
+
"></label><div class=\"form-actions\"><button class=\"btn btn-secondary\" type=\"button\">",
|
|
297
|
+
"</button><button class=\"btn btn-primary\" type=\"submit\"",
|
|
298
|
+
">",
|
|
299
|
+
"</button></div></form>"
|
|
300
|
+
];
|
|
301
|
+
function AccessManager() {
|
|
302
|
+
const { t } = useTranslation();
|
|
303
|
+
const [roles, setRoles] = createSignal([]);
|
|
304
|
+
const [tenants, setTenants] = createSignal([]);
|
|
305
|
+
const [editingRole, setEditingRole] = createSignal(null);
|
|
306
|
+
const [editingTenant, setEditingTenant] = createSignal(null);
|
|
307
|
+
const [saving, setSaving] = createSignal(false);
|
|
308
|
+
const [error, setError] = createSignal("");
|
|
309
|
+
const load = async () => {
|
|
310
|
+
try {
|
|
311
|
+
setRoles(await apiClient.listRoles());
|
|
312
|
+
setTenants((await apiClient.listTenants({ limit: 100 })).data ?? []);
|
|
313
|
+
} catch (err) {
|
|
314
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
onMount(load);
|
|
318
|
+
const permissionsSummary = (role) => {
|
|
319
|
+
const list = role.permissions ?? [];
|
|
320
|
+
if (list.length === 0) return "—";
|
|
321
|
+
return list.slice(0, 4).join(", ") + (list.length > 4 ? ` +${list.length - 4}` : "");
|
|
322
|
+
};
|
|
323
|
+
return ssr(_tmpl$2, ssrHydrationKey(), escape(createComponent(Show, {
|
|
324
|
+
get when() {
|
|
325
|
+
return error();
|
|
326
|
+
},
|
|
327
|
+
get children() {
|
|
328
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
|
|
329
|
+
}
|
|
330
|
+
})), escape(t("access.roles")), escape(t("common.create")), escape(t("resources.name")), escape(t("resources.slug")), escape(t("access.permissions")), escape(createComponent(For, {
|
|
331
|
+
get each() {
|
|
332
|
+
return roles();
|
|
333
|
+
},
|
|
334
|
+
children: (role) => ssr(_tmpl$4, ssrHydrationKey(), escape(role.name), escape(role.slug), ssrAttribute("title", escape((role.permissions ?? []).join(", "), true), false), escape(permissionsSummary(role)), escape(t("common.edit")), escape(createComponent(Show, {
|
|
335
|
+
get when() {
|
|
336
|
+
return !role.is_system;
|
|
337
|
+
},
|
|
338
|
+
get children() {
|
|
339
|
+
return ssr(_tmpl$3, ssrHydrationKey(), escape(t("common.delete")));
|
|
340
|
+
}
|
|
341
|
+
})))
|
|
342
|
+
})), escape(createComponent(Modal, {
|
|
343
|
+
get open() {
|
|
344
|
+
return editingRole() !== null;
|
|
345
|
+
},
|
|
346
|
+
onClose: () => setEditingRole(null),
|
|
347
|
+
get title() {
|
|
348
|
+
return memo(() => !!editingRole()?.id)() ? t("access.editRole") : t("access.newRole");
|
|
349
|
+
},
|
|
350
|
+
get children() {
|
|
351
|
+
return createComponent(Show, {
|
|
352
|
+
get when() {
|
|
353
|
+
return editingRole();
|
|
354
|
+
},
|
|
355
|
+
children: (role) => ssr(_tmpl$5, ssrHydrationKey(), escape(t("resources.name")), ssrAttribute("placeholder", escape(t("resources.name"), true), false) + ssrAttribute("value", escape(role().name ?? "", true), false), escape(t("resources.slug")), ssrAttribute("placeholder", escape(t("resources.slug"), true), false) + ssrAttribute("value", escape(role().slug ?? "", true), false), escape(t("access.permissions")), escape(createComponent(PermissionPicker, {
|
|
356
|
+
get value() {
|
|
357
|
+
return role().permissions ?? [];
|
|
358
|
+
},
|
|
359
|
+
onChange: (permissions) => setEditingRole({
|
|
360
|
+
...role(),
|
|
361
|
+
permissions
|
|
362
|
+
})
|
|
363
|
+
})), escape(t("common.cancel")), ssrAttribute("disabled", saving(), true), saving() ? escape(t("common.loading")) : escape(t("common.save")))
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
})), escape(t("access.tenants")), escape(t("common.create")), escape(t("resources.name")), escape(t("resources.slug")), escape(t("common.status")), escape(createComponent(For, {
|
|
367
|
+
get each() {
|
|
368
|
+
return tenants();
|
|
369
|
+
},
|
|
370
|
+
children: (tenant) => ssr(_tmpl$6, ssrHydrationKey(), escape(tenant.name), escape(tenant.slug), escape(tenant.status), escape(t("common.edit")), escape(t("common.delete")))
|
|
371
|
+
})), escape(createComponent(Modal, {
|
|
372
|
+
get open() {
|
|
373
|
+
return editingTenant() !== null;
|
|
374
|
+
},
|
|
375
|
+
onClose: () => setEditingTenant(null),
|
|
376
|
+
get title() {
|
|
377
|
+
return memo(() => !!editingTenant()?.id)() ? t("access.editTenant") : t("access.newTenant");
|
|
378
|
+
},
|
|
379
|
+
get children() {
|
|
380
|
+
return createComponent(Show, {
|
|
381
|
+
get when() {
|
|
382
|
+
return editingTenant();
|
|
383
|
+
},
|
|
384
|
+
children: (tenant) => ssr(_tmpl$7, ssrHydrationKey(), escape(t("resources.name")), ssrAttribute("placeholder", escape(t("resources.name"), true), false) + ssrAttribute("value", escape(tenant().name ?? "", true), false), escape(t("resources.slug")), ssrAttribute("placeholder", escape(t("resources.slug"), true), false) + ssrAttribute("value", escape(tenant().slug ?? "", true), false), escape(t("access.domain")), ssrAttribute("placeholder", escape(t("access.domain"), true), false) + ssrAttribute("value", escape(tenant().domain ?? "", true), false), escape(t("common.cancel")), ssrAttribute("disabled", saving(), true), saving() ? escape(t("common.loading")) : escape(t("common.save")))
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
})));
|
|
388
|
+
}
|
|
389
|
+
//#endregion
|
|
390
|
+
//#region src/pages/settings/access.astro
|
|
391
|
+
var access_exports = /* @__PURE__ */ __exportAll({
|
|
392
|
+
default: () => $$Access,
|
|
393
|
+
file: () => $$file,
|
|
394
|
+
url: () => $$url
|
|
395
|
+
});
|
|
396
|
+
createAstro("https://astro.build");
|
|
397
|
+
var $$Access = createComponent$1(($$result, $$props, $$slots) => {
|
|
398
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
399
|
+
Astro.self = $$Access;
|
|
400
|
+
const { t } = Astro.locals;
|
|
401
|
+
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, { "title": t("access.title") }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "PageHeader", PageHeader, {
|
|
402
|
+
"title": t("access.title"),
|
|
403
|
+
"description": t("access.description")
|
|
404
|
+
})}${renderComponent($$result, "AccessManager", AccessManager, {
|
|
405
|
+
"client:load": true,
|
|
406
|
+
"client:component-hydration": "load",
|
|
407
|
+
"client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/settings/ResourceHubs.tsx",
|
|
408
|
+
"client:component-export": "AccessManager"
|
|
409
|
+
})}` })}`;
|
|
410
|
+
}, "/home/runner/work/cms/cms/apps/admin/src/pages/settings/access.astro", void 0);
|
|
411
|
+
var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/settings/access.astro";
|
|
412
|
+
var $$url = "/settings/access";
|
|
413
|
+
//#endregion
|
|
414
|
+
//#region \0virtual:astro:page:src/pages/settings/access@_@astro
|
|
415
|
+
var page = () => access_exports;
|
|
416
|
+
//#endregion
|
|
417
|
+
export { page };
|
|
@@ -315,6 +315,14 @@ var settings = {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
};
|
|
318
|
+
var notFound = {
|
|
319
|
+
"title": "الصفحة غير موجودة",
|
|
320
|
+
"description": "قد يكون القديم أو تم نقل الصفحة. تحقق من العنوان أو انتقل إلى أحد الأقسام أدناه.",
|
|
321
|
+
"requestedPath": "لقد حاولت فتح",
|
|
322
|
+
"suggestionsLabel": "أو انتقل إلى أحد هذه الأقسام",
|
|
323
|
+
"goHome": "العودة إلى الصفحة الرئيسية",
|
|
324
|
+
"goBack": "رجوع"
|
|
325
|
+
};
|
|
318
326
|
var login = {
|
|
319
327
|
"title": "تسجيل الدخول",
|
|
320
328
|
"subtitle": "سجّل دخولك إلى حسابك",
|
|
@@ -418,6 +426,7 @@ var ar_default = {
|
|
|
418
426
|
media,
|
|
419
427
|
users,
|
|
420
428
|
settings,
|
|
429
|
+
notFound,
|
|
421
430
|
login,
|
|
422
431
|
common,
|
|
423
432
|
activity,
|
|
@@ -427,4 +436,4 @@ var ar_default = {
|
|
|
427
436
|
screenOptions
|
|
428
437
|
};
|
|
429
438
|
//#endregion
|
|
430
|
-
export { activity, adminBar, common, content, dashboard, ar_default as default, footer, helpTabs, layout, login, media, menus, screenOptions, settings, users };
|
|
439
|
+
export { activity, adminBar, common, content, dashboard, ar_default as default, footer, helpTabs, layout, login, media, menus, notFound, screenOptions, settings, users };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { n as useTranslation, r as apiClient } from "./
|
|
5
|
-
import { t as $$DashboardLayout } from "./
|
|
4
|
+
import { n as useTranslation, r as apiClient } from "./i18n_Cr9pc66i.mjs";
|
|
5
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_CidaIIqh.mjs";
|
|
6
6
|
import { t as FbIcon } from "./FbIcon_D0f6QiFJ.mjs";
|
|
7
7
|
import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
8
8
|
import { For, Show, createMemo, createSignal, onMount } from "solid-js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { t as $$DashboardLayout } from "./
|
|
5
|
-
import { t as ContentEditor } from "./
|
|
4
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_CidaIIqh.mjs";
|
|
5
|
+
import { t as ContentEditor } from "./ContentEditor_D3N5qDZK.mjs";
|
|
6
6
|
import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
|
|
7
7
|
//#region src/pages/content/[type]/edit.astro
|
|
8
8
|
var edit_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -315,6 +315,14 @@ var settings = {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
};
|
|
318
|
+
var notFound = {
|
|
319
|
+
"title": "Página no encontrada",
|
|
320
|
+
"description": "La dirección puede haber cambiado o la página haberse movido. Comprueba la URL o visita una de estas secciones.",
|
|
321
|
+
"requestedPath": "Intentaste abrir",
|
|
322
|
+
"suggestionsLabel": "O visita una de estas secciones",
|
|
323
|
+
"goHome": "Volver al inicio",
|
|
324
|
+
"goBack": "Volver"
|
|
325
|
+
};
|
|
318
326
|
var login = {
|
|
319
327
|
"title": "Iniciar Sesión",
|
|
320
328
|
"subtitle": "Accede a tu cuenta",
|
|
@@ -418,6 +426,7 @@ var es_ES_default = {
|
|
|
418
426
|
media,
|
|
419
427
|
users,
|
|
420
428
|
settings,
|
|
429
|
+
notFound,
|
|
421
430
|
login,
|
|
422
431
|
common,
|
|
423
432
|
activity,
|
|
@@ -427,4 +436,4 @@ var es_ES_default = {
|
|
|
427
436
|
screenOptions
|
|
428
437
|
};
|
|
429
438
|
//#endregion
|
|
430
|
-
export { activity, adminBar, common, content, dashboard, es_ES_default as default, footer, helpTabs, layout, login, media, menus, screenOptions, settings, users };
|
|
439
|
+
export { activity, adminBar, common, content, dashboard, es_ES_default as default, footer, helpTabs, layout, login, media, menus, notFound, screenOptions, settings, users };
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { a as LOCALE_FLAGS, n as useTranslation, o as
|
|
5
|
-
import { f as createMemo$1, i as Card, l as Select, m as onMount$1, o as Input, p as createSignal$1, r as Button, t as $$DashboardLayout, u as Show2 } from "./
|
|
4
|
+
import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_Cr9pc66i.mjs";
|
|
5
|
+
import { f as createMemo$1, i as Card, l as Select, m as onMount$1, o as Input, p as createSignal$1, r as Button, t as $$DashboardLayout, u as Show2 } from "./DashboardLayout_CidaIIqh.mjs";
|
|
6
6
|
import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
|
|
7
|
+
import { t as FloatingPanel } from "./FloatingPanel_DI2CdUZK.mjs";
|
|
7
8
|
import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
8
|
-
import { For, Show, createMemo, createSignal
|
|
9
|
+
import { For, Show, createMemo, createSignal } from "solid-js";
|
|
9
10
|
//#region src/components/apps/settings/TimezoneSelect.tsx
|
|
10
11
|
var _tmpl$$1 = [
|
|
11
|
-
"<
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"</div></div>"
|
|
12
|
+
"<input",
|
|
13
|
+
" type=\"search\" class=\"input tz-select__search\"",
|
|
14
|
+
">"
|
|
15
15
|
];
|
|
16
16
|
var _tmpl$2$1 = [
|
|
17
|
+
"<div",
|
|
18
|
+
" class=\"tz-select__options\">",
|
|
19
|
+
"</div>"
|
|
20
|
+
];
|
|
21
|
+
var _tmpl$3$1 = [
|
|
17
22
|
"<div",
|
|
18
23
|
" class=\"tz-select\"><button type=\"button\" class=\"input tz-select__trigger\" aria-haspopup=\"listbox\"",
|
|
19
24
|
"><span class=\"tz-select__value\">",
|
|
@@ -21,8 +26,8 @@ var _tmpl$2$1 = [
|
|
|
21
26
|
"</span></button><!--$-->",
|
|
22
27
|
"<!--/--></div>"
|
|
23
28
|
];
|
|
24
|
-
var _tmpl$
|
|
25
|
-
var _tmpl$
|
|
29
|
+
var _tmpl$4$1 = ["<p", " class=\"tz-select__empty\">—</p>"];
|
|
30
|
+
var _tmpl$5$1 = [
|
|
26
31
|
"<button",
|
|
27
32
|
" type=\"button\" role=\"option\"",
|
|
28
33
|
" class=\"",
|
|
@@ -74,6 +79,7 @@ var normalize = (text) => text.toLowerCase().replace(/[/_\-]/g, " ");
|
|
|
74
79
|
function TimezoneSelect(props) {
|
|
75
80
|
const [open, setOpen] = createSignal(false);
|
|
76
81
|
const [query, setQuery] = createSignal("");
|
|
82
|
+
const [trigger, setTrigger] = createSignal(void 0);
|
|
77
83
|
const options = createMemo(() => buildTimezoneOptions());
|
|
78
84
|
const selected = createMemo(() => options().find((option) => option.tz === props.value));
|
|
79
85
|
const filtered = createMemo(() => {
|
|
@@ -81,39 +87,37 @@ function TimezoneSelect(props) {
|
|
|
81
87
|
if (!q) return options();
|
|
82
88
|
return options().filter((option) => normalize(option.label).includes(q));
|
|
83
89
|
});
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const onKey = (event) => {
|
|
87
|
-
if (event.key === "Escape") setOpen(false);
|
|
88
|
-
};
|
|
89
|
-
document.addEventListener("mousedown", close);
|
|
90
|
-
document.addEventListener("keydown", onKey);
|
|
91
|
-
onCleanup(() => {
|
|
92
|
-
document.removeEventListener("mousedown", close);
|
|
93
|
-
document.removeEventListener("keydown", onKey);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
return ssr(_tmpl$2$1, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), escape(selected()?.label ?? props.placeholder ?? ""), open() ? "▴" : "▾", escape(createComponent(Show, {
|
|
97
|
-
get when() {
|
|
90
|
+
return ssr(_tmpl$3$1, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), escape(selected()?.label ?? props.placeholder ?? ""), open() ? "▴" : "▾", escape(createComponent(FloatingPanel, {
|
|
91
|
+
get open() {
|
|
98
92
|
return open();
|
|
99
93
|
},
|
|
94
|
+
get trigger() {
|
|
95
|
+
return trigger();
|
|
96
|
+
},
|
|
97
|
+
onClose: () => {
|
|
98
|
+
setOpen(false);
|
|
99
|
+
setQuery("");
|
|
100
|
+
},
|
|
101
|
+
"class": "tz-select__panel",
|
|
102
|
+
role: "listbox",
|
|
103
|
+
minWidth: 320,
|
|
100
104
|
get children() {
|
|
101
|
-
return ssr(_tmpl$$1, ssrHydrationKey(), ssrAttribute("placeholder", escape(props.searchPlaceholder ?? props.placeholder ?? "", true), false) + ssrAttribute("value", escape(query(), true), false), escape(createComponent(Show, {
|
|
105
|
+
return [ssr(_tmpl$$1, ssrHydrationKey(), ssrAttribute("placeholder", escape(props.searchPlaceholder ?? props.placeholder ?? "", true), false) + ssrAttribute("value", escape(query(), true), false)), ssr(_tmpl$2$1, ssrHydrationKey(), escape(createComponent(Show, {
|
|
102
106
|
get when() {
|
|
103
107
|
return filtered().length > 0;
|
|
104
108
|
},
|
|
105
109
|
get fallback() {
|
|
106
|
-
return ssr(_tmpl$
|
|
110
|
+
return ssr(_tmpl$4$1, ssrHydrationKey());
|
|
107
111
|
},
|
|
108
112
|
get children() {
|
|
109
113
|
return createComponent(For, {
|
|
110
114
|
get each() {
|
|
111
115
|
return filtered();
|
|
112
116
|
},
|
|
113
|
-
children: (option) => ssr(_tmpl$
|
|
117
|
+
children: (option) => ssr(_tmpl$5$1, ssrHydrationKey(), ssrAttribute("aria-selected", escape(props.value, true) === escape(option.tz, true), false), `tz-select__option ${props.value === option.tz ? "is-selected" : ""}`, escape(option.label))
|
|
114
118
|
});
|
|
115
119
|
}
|
|
116
|
-
})));
|
|
120
|
+
})))];
|
|
117
121
|
}
|
|
118
122
|
})));
|
|
119
123
|
}
|
|
@@ -315,6 +315,14 @@ var settings = {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
};
|
|
318
|
+
var notFound = {
|
|
319
|
+
"title": "הדף לא נמצא",
|
|
320
|
+
"description": "הכתובת יתכן שהתיישנה או שהדף הועבר. בדוק את הכתובת או כניסה לאחת מהחטיבות שלמטה.",
|
|
321
|
+
"requestedPath": "ניסית לפתוח",
|
|
322
|
+
"suggestionsLabel": "או כניסה לאחת מהחטיבות האלה",
|
|
323
|
+
"goHome": "חזרה לעמוד הראשי",
|
|
324
|
+
"goBack": "חזרה"
|
|
325
|
+
};
|
|
318
326
|
var login = {
|
|
319
327
|
"title": "התחברות",
|
|
320
328
|
"subtitle": "התחבר לחשבונך",
|
|
@@ -418,6 +426,7 @@ var he_default = {
|
|
|
418
426
|
media,
|
|
419
427
|
users,
|
|
420
428
|
settings,
|
|
429
|
+
notFound,
|
|
421
430
|
login,
|
|
422
431
|
common,
|
|
423
432
|
activity,
|
|
@@ -427,4 +436,4 @@ var he_default = {
|
|
|
427
436
|
screenOptions
|
|
428
437
|
};
|
|
429
438
|
//#endregion
|
|
430
|
-
export { activity, adminBar, common, content, dashboard, he_default as default, footer, helpTabs, layout, login, media, menus, screenOptions, settings, users };
|
|
439
|
+
export { activity, adminBar, common, content, dashboard, he_default as default, footer, helpTabs, layout, login, media, menus, notFound, screenOptions, settings, users };
|