@wssto2/vue-core 0.12.0 → 0.13.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/CHANGELOG.md +33 -0
- package/README.md +4 -2
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-CzQbD2Pc.js → AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js} +1 -1
- package/dist/{Activity-CdkJW68R.js → Activity-ChfxdvXf.js} +24 -23
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js} +33 -33
- package/dist/{Changes-DxK_QfiB.js → Changes-BCa43_mO.js} +18 -17
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-x0jyJ01f.js → CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js} +6 -6
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-C_ZytnW-.js → DataTable.vue_vue_type_script_setup_true_lang-B9r9M5Gt.js} +1 -1
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-CeNwBbJT.js → DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js} +2 -2
- package/dist/{DeadLetters-DnA7LP1w.js → DeadLetters-wFTqhISU.js} +5 -5
- package/dist/{General-2matxl2Y.js → General-jW7u4MjH.js} +16 -15
- package/dist/{IncidentRecord-Bt3G4HlX.js → IncidentRecord-CXzgLKqI.js} +6 -6
- package/dist/{IncidentsList-2iwgqp9J.js → IncidentsList-D1MySyXb.js} +6 -6
- package/dist/{NewRolePage-DhGFwvk3.js → NewRolePage-CQ5UVaHs.js} +3 -3
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-B3UrXNqH.js → NumberField.vue_vue_type_script_setup_true_lang-YVgf5CP6.js} +1 -1
- package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js → PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js} +2 -2
- package/dist/{ProfilePage-CpuyDBAv.js → ProfilePage-Ca3x3UAH.js} +79 -77
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js → RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js} +1 -1
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js → ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js} +1 -1
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C0FIotFA.js → RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js} +2 -2
- package/dist/{RolePage-DaNv049g.js → RolePage-BUj1w1m1.js} +5 -5
- package/dist/{RolesPage-6hlzJes_.js → RolesPage-NKzBUsrM.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Dh3sXUt_.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DfKEhTFv.js} +2 -2
- package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-FJbWxME_.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js} +10 -9
- package/dist/{ServiceAccountRecord-0-JF5lRx.js → ServiceAccountRecord-ClbyeLhL.js} +8 -8
- package/dist/{ServiceAccountsList-DcsnOcf-.js → ServiceAccountsList-B2VDnYxD.js} +5 -5
- package/dist/{Sessions-DgWhpk-i.js → Sessions-BjkciyHH.js} +23 -21
- package/dist/{SettingsPage-BXPWATYU.js → SettingsPage-Csb14qsx.js} +7 -7
- package/dist/{SignIn-DPoUwHZd.js → SignIn-DPFMv4C7.js} +14 -12
- package/dist/{SignInPage-OyrVemro.js → SignInPage-DukoFqkt.js} +2 -2
- package/dist/{SignIns-BMDrZVVp.js → SignIns-DvdpNkiS.js} +23 -22
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-D-Em4glH.js → TimeField.vue_vue_type_script_setup_true_lang-DpDXHH7u.js} +2 -2
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js → Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js} +1 -1
- package/dist/{UserRecord-BW-gdCqi.js → UserRecord-B9SeSWQh.js} +57 -55
- package/dist/{UsersList-B3ZF_1Dj.js → UsersList-CREG8q3l.js} +4 -4
- package/dist/access/index.js +4 -4
- package/dist/app/application.d.ts +14 -6
- package/dist/app/current.d.ts +11 -0
- package/dist/app/environment.d.ts +8 -0
- package/dist/app/index.d.ts +1 -0
- package/dist/app/index.js +14 -12
- package/dist/application-DomS6sbx.js +435 -0
- package/dist/collection/http.d.ts +16 -1
- package/dist/collection/index.d.ts +1 -1
- package/dist/collection/index.js +34 -32
- package/dist/content/Money.vue.d.ts +1 -1
- package/dist/content/index.js +151 -158
- package/dist/{contributions-CeG4bszd.js → contributions-obnyn03x.js} +1 -1
- package/dist/current-B0lHKTWr.js +17 -0
- package/dist/form/DateField.vue.d.ts +2 -2
- package/dist/form/DateTimeField.vue.d.ts +2 -2
- package/dist/form/MoneyField.vue.d.ts +1 -1
- package/dist/form/NumberField.vue.d.ts +1 -1
- package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
- package/dist/form/date/days.d.ts +3 -3
- package/dist/form/index.d.ts +2 -0
- package/dist/form/index.js +1111 -1081
- package/dist/form/zodErrorMap.d.ts +35 -0
- package/dist/format/format.d.ts +51 -6
- package/dist/format/index.d.ts +1 -1
- package/dist/format/index.js +1 -1
- package/dist/format-DoKs29bZ.js +118 -0
- package/dist/{guards-Biv_SlGn.js → guards-DGcSfTEh.js} +1 -1
- package/dist/http-DOEfFCDA.js +107 -0
- package/dist/i18n/index.js +15 -15
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.js +43 -40
- package/dist/identity/usePreferences.d.ts +19 -0
- package/dist/incidents/clientErrorReporter.d.ts +2 -1
- package/dist/incidents/index.js +1 -1
- package/dist/{index-kEHY7hcG.js → index-CRxU_Wh2.js} +61 -61
- package/dist/{index-Cq9TuOqH.js → index-DZikGJ8L.js} +457 -511
- package/dist/{index-ClJeyW3F.js → index-D_yyd4C2.js} +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/intlLocale.d.ts +5 -2
- package/dist/modules/identity/entities.d.ts +7 -2
- package/dist/modules/identity/routes.d.ts +5 -2
- package/dist/modules/identity/schemas.d.ts +6 -2
- package/dist/{navigation-TnVFYRaX.js → navigation-CctcxT51.js} +1 -1
- package/dist/{neighbors-OyvGi233.js → neighbors-Csfan8Ho.js} +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/onboarding/Tip.vue.d.ts +41 -0
- package/dist/onboarding/index.d.ts +1 -0
- package/dist/onboarding/index.js +145 -0
- package/dist/onboarding/tips.d.ts +5 -0
- package/dist/page/index.js +3 -3
- package/dist/phone/index.js +74 -74
- package/dist/phone/phone.d.ts +3 -3
- package/dist/platform/httpSession.d.ts +1 -1
- package/dist/platform/index.d.ts +2 -0
- package/dist/platform/index.js +16 -13
- package/dist/platform/preferences.d.ts +35 -0
- package/dist/platform/session.d.ts +6 -1
- package/dist/platform-DtISOEt7.js +284 -0
- package/dist/playwright/session.d.ts +7 -11
- package/dist/preferences-hYhrw8Uy.js +91 -0
- package/dist/resource/index.d.ts +1 -0
- package/dist/resource/index.js +24 -8
- package/dist/resource/read.d.ts +16 -0
- package/dist/router/index.js +3 -3
- package/dist/{rowLayout-BsKEzEME.js → rowLayout-y1IB_h2r.js} +2 -2
- package/dist/{sections-CvUwZ-S1.js → sections-fkW_IJLc.js} +1 -1
- package/dist/{serverMessages-B6GHgi40.js → serverMessages-Ddghrewh.js} +1 -1
- package/dist/shell/darkMode.d.ts +13 -8
- package/dist/shell/index.js +396 -384
- package/dist/{state-6KSYsVw0.js → state-CXMexi0l.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing/app.d.ts +11 -0
- package/dist/testing/format.d.ts +4 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +96 -89
- package/dist/testing/platform.d.ts +2 -0
- package/dist/usePreferences-B8LIZp_f.js +47 -0
- package/dist/{useTypedEntry-C_Bk4sI0.js → useTypedEntry-DKs8I1yP.js} +279 -280
- package/package.json +6 -2
- package/src/styles/components.css +17 -0
- package/dist/application-CuzT-0vW.js +0 -420
- package/dist/format-D8KUBmbS.js +0 -87
- package/dist/http-Dm0uXY9O.js +0 -95
- package/dist/intlLocale-CeRU44qJ.js +0 -4
- package/dist/platform-BQOX_Ntw.js +0 -283
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.0 — 2026-10-18
|
|
4
|
+
|
|
5
|
+
Platform features an application kept to itself: per-person preferences (dark mode, dismissed tips) on go-core identity, an
|
|
6
|
+
anchored onboarding tip, the formatting options a house style needs, a Zod error map, handled-error reports and the bound
|
|
7
|
+
application for code outside setup. Needs go-core v1.18.0 (`goCore`, `src/modules` synced).
|
|
8
|
+
|
|
9
|
+
### New
|
|
10
|
+
- **platform:** `preferencesOf(platform)`, `mergePatch` (RFC 7396), `Preferences`, `PreferencesPatch`. The session snapshot carries `preferences` (the top-level `preferences` of the session payload; `{}` when absent or not an object); `session.update({ preferences })`; `createTestPlatform({ preferences })`.
|
|
11
|
+
- **identity:** `usePreferences<T>()`: a reactive `value` and `save(patch)`, applied at once, sent as `PUT /v1/auth/preferences` (`identityRoutes.preferencesUpdate`), replaced by the server's merged answer, saves one after another; a refusal takes back only that patch, with a toast.
|
|
12
|
+
- **onboarding:** new subpath `@wssto2/vue-core/onboarding` with `Tip`: an anchored, non-modal tip shown until closed and remembered in the person's preferences (`dismissedAt`, default `tips_dismissed`), one open at a time; the anchor glows (`[data-tip-anchor]`).
|
|
13
|
+
- **format:** `createFormatting` and `createApplication({ formatting })` take `intlLocale` (language code → `Intl` tag, used by every formatter and exposed as `format.intlLocale`), `datePattern` (a numeric date per language, `DD`/`MM`/`YYYY`), `numberSymbols` (group and decimal, grouping from four digits, `toFixed` rounding), `emptyNumber` and `translate`; `intlFormatters(settings)` takes the same settings.
|
|
14
|
+
- **format:** `format.day()` and `format.dayTime()`: "Today" / "Yesterday" / the date (`core.activity.*`), and the time after it.
|
|
15
|
+
- **form:** `zodErrorMap(application)`, a Zod 4 `customError` onto `validation_errors.*`: the application's key wins, else the library's new `core.validation_errors` (`required`, `min`, `max`, `min_value`, `max_value`, `email`, `url`, `date`, `datetime`) in five languages. `z.config({ customError: zodErrorMap(application) })`.
|
|
16
|
+
- **app:** `Application.report(error, { detail })` and `useApplication().report`: an error the code handled and the user saw, through `onError` with `source: "handled"`; `clientErrorReporter` sends it as an incident, its message headed `[handled: detail]` (go-core's `ClientErrorInput` has no source field yet).
|
|
17
|
+
- **app:** `currentApplication()`, the application `createApplication` made, for code outside setup (`currentApplication().platform.http` in an `api.ts`); `Application.platform` and `Application.format`. `createTestApplication()` in `@wssto2/vue-core/testing`.
|
|
18
|
+
- **resource / collection:** `readRecord`, `readRecordWithMeta`, `found`; `listLoader`, `routeListLoader`, on the current application.
|
|
19
|
+
- **i18n:** `core.tip.ok`, `core.preferences.save_failed`, `core.validation_errors.*` in hr, en, sl, bs and sr-Latn.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- **shell:** `darkMode()` needs no options: it keeps `dark_mode` in the person's preferences. `dark` and `set` are optional, for a preference kept elsewhere.
|
|
23
|
+
- **format:** `toDate` reads `YYYY-MM-DD HH:mm[:ss]` as local time (Safari's `Date` refuses the space) and anything starting `0000-00-00`, `0001-01-01` or `1970-01-01` as empty, with or without a time.
|
|
24
|
+
- **form, content:** the calendar, the date picker, the phone and country pickers, `I18nField` and `ResourceHeader` follow the application's `intlLocale` map (the first day of the week of `en` → `en-GB` is Monday); `ResourceHeader` and the phone field need the formatting provider (always there in an application). `ActivityStream` writes its day headings with `format.day()`.
|
|
25
|
+
- **Breaking:** `firstWeekday`, `weekendDays`, `countryName` and `searchCountries` take the `Intl` tag (`format.intlLocale`), not the language code. `ApplicationOptions.formatting` is `Partial<Formatters> & FormattingSettings`. `testFormatting(i18n, settings?)`.
|
|
26
|
+
- **modules:** regenerated from go-core v1.18.0 (identity: `PreferencesResponse`, `SessionResponse.preferences`, `UpdatePreferencesInput`, `preferencesUpdate`).
|
|
27
|
+
|
|
28
|
+
## 0.12.1 — 2026-10-18
|
|
29
|
+
|
|
30
|
+
go-core `v1.16.1`: a type the wire writes as text is generated as a string.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- **modules:** regenerated from go-core v1.16.1. In the identity entities `ClauseInfo.qualifier` and `PermissionAccess.qualifier` are `Qualifier` (`"own" | "own_location" | "all"`, exported from `modules/identity/entities`); they were `number`, while the wire sends the text.
|
|
34
|
+
- **playwright:** `SessionExtra.access` and `accessOf` use the generated `MyAccess`; the `WireAccess` workaround for the number-typed qualifier is gone.
|
|
35
|
+
|
|
3
36
|
## 0.12.0 — 2026-10-18
|
|
4
37
|
|
|
5
38
|
The developer kit an application copied: one `vue-core` command for the ratcheted lint, the feature-folder architecture rules, the feature generator and the e2e timings, the ESLint config, and Playwright mocks of the library's own endpoints. Nothing existing changes. go-core is unchanged (`v1.15.0`; v1.16.0 changes no wire type).
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Its plan and rules are in [PLAN.md](PLAN.md).
|
|
|
11
11
|
| Import | For |
|
|
12
12
|
|---|---|
|
|
13
13
|
| `@wssto2/vue-core/platform` | `readBootstrap`, `createPlatform` (HTTP client, session, access), `AccessGate`, typed contexts |
|
|
14
|
-
| `@wssto2/vue-core/app` | `createApplication`, `defineFeature`, shell outlets, effects |
|
|
14
|
+
| `@wssto2/vue-core/app` | `createApplication`, `defineFeature`, `currentApplication` and `application.report` (outside setup, handled errors), shell outlets, effects |
|
|
15
15
|
| `@wssto2/vue-core/shell` | `backofficeShell`, the shell's parts for a custom one |
|
|
16
16
|
| `@wssto2/vue-core/router` | `defineRoutes` (typed targets), guards, navigation |
|
|
17
17
|
| `@wssto2/vue-core/collection` | `defineCollection`, `useCollection`, `CollectionPage`, `DataTable` (a table over an array), record neighbors |
|
|
@@ -21,8 +21,9 @@ Its plan and rules are in [PLAN.md](PLAN.md).
|
|
|
21
21
|
| `@wssto2/vue-core/identity`, `/access` | go-core's module contracts (types, route tables) and, in `/identity`, `identityFeature` (sign-in page, language), `identityPlatform()` and `usersFeature` (users, "my profile") and `serviceAccountsFeature` (service accounts and their API keys): [sign-in](docs/recipes/sign-in.md), [users](docs/recipes/users.md), [service accounts](docs/recipes/service-accounts.md) |
|
|
22
22
|
| `@wssto2/vue-core/access` (screens) | `accessFeature({ catalogue })`: roles list and editor, compare, replace, a person's roles (`PersonAccess`) and what they can do: [roles and access](docs/recipes/access.md) |
|
|
23
23
|
| `@wssto2/vue-core/notifications` | go-core's notification and events modules: `notificationsFeature({ categories, deadLetters })`: the bell with the unread count, the inbox (popover, bottom sheet on phones), the live stream, the failed-events page: [notifications](docs/recipes/notifications.md) |
|
|
24
|
+
| `@wssto2/vue-core/onboarding` | `Tip`: a card beside something new, shown until the person closes it, remembered in their stored preferences (`usePreferences`, in `/identity`): [preferences and tips](docs/recipes/preferences.md) |
|
|
24
25
|
| `@wssto2/vue-core/incidents` | go-core's incident module: `incidentsFeature({ destination, appVersion })`: the list, an incident with its reports, comments and management form, "Report a bug" in the account menu; `clientErrorReporter({ platform })`: the browser's own errors reported as incidents: [incidents](docs/recipes/incidents.md) |
|
|
25
|
-
| `@wssto2/vue-core/testing` | `createTestPlatform`, `createTestApp`, fake transports: for your tests, [testing](docs/recipes/testing.md) |
|
|
26
|
+
| `@wssto2/vue-core/testing` | `createTestPlatform`, `createTestApp`, `createTestApplication`, fake transports: for your tests, [testing](docs/recipes/testing.md) |
|
|
26
27
|
| `@wssto2/vue-core/playwright` | `mockAuth`, `serveAccess`, `serveNotifications`, `serveProfile`, `serveUsers`: Playwright mocks of the library's endpoints, [end-to-end specs](docs/recipes/e2e.md) |
|
|
27
28
|
|
|
28
29
|
Nothing is reachable by a deep import. The peers are `vue`, `vue-router` and `vue-i18n`; the library never bundles them.
|
|
@@ -343,6 +344,7 @@ The library's own texts are under the `core` namespace in English, Croatian, Bos
|
|
|
343
344
|
- [Lint](docs/recipes/lint.md): `vue-core lint` and `@wssto2/vue-core/eslint`: ceilings per file and rule that only go down, the typed run on changed files
|
|
344
345
|
- [Notifications](docs/recipes/notifications.md): the bell, the inbox and the live stream, categories, the failed-events page, trying it against go-core's dev server
|
|
345
346
|
- [Incidents](docs/recipes/incidents.md): go-core's incident module: the list and an incident, "Report a bug", the browser's errors reported (what is and is not sent), source maps
|
|
347
|
+
- [Preferences and tips](docs/recipes/preferences.md): `usePreferences`, the person's stored settings, `darkMode()` on them, the `Tip` beside something new
|
|
346
348
|
- [Theming](docs/recipes/theming.md): brand accent, dark mode, tokens, status tones and category hues
|
|
347
349
|
- [Testing](docs/recipes/testing.md): the application's environment and a fake backend for your tests
|
|
348
350
|
- [End-to-end specs](docs/recipes/e2e.md): `@wssto2/vue-core/playwright`, the Playwright mocks of go-core's envelope, session, access, notification, profile and users routes
|
|
@@ -3,16 +3,17 @@ import { useI18n as D } from "vue-i18n";
|
|
|
3
3
|
import { RouterLink as I } from "vue-router";
|
|
4
4
|
import { _ as T } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
5
5
|
import { _ as z } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
|
|
6
|
-
import { u as G } from "./format-
|
|
7
|
-
import { _ as B } from "./DateField.vue_vue_type_script_setup_true_lang-
|
|
6
|
+
import { u as G } from "./format-DoKs29bZ.js";
|
|
7
|
+
import { _ as B } from "./DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js";
|
|
8
8
|
import { a as H } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
|
|
9
9
|
import { g as J } from "./options-B48UiYsG.js";
|
|
10
|
-
import {
|
|
11
|
-
import { u as
|
|
12
|
-
import { b as
|
|
13
|
-
import { _ as
|
|
14
|
-
import { _ as
|
|
15
|
-
import { u as
|
|
10
|
+
import { i as M } from "./preferences-hYhrw8Uy.js";
|
|
11
|
+
import { u as Q } from "./platform-DtISOEt7.js";
|
|
12
|
+
import { b as W } from "./routeResource-DlTsGTg_.js";
|
|
13
|
+
import { _ as X } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
|
|
14
|
+
import { _ as Y } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
15
|
+
import { u as Z } from "./useLoad-M7V-AVwR.js";
|
|
16
|
+
import { P as tt, f as et, j as at } from "./index-DZikGJ8L.js";
|
|
16
17
|
import { _ as st } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
|
|
17
18
|
const ot = {
|
|
18
19
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
@@ -28,15 +29,15 @@ const ot = {
|
|
|
28
29
|
key: 1,
|
|
29
30
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
30
31
|
"data-activity-feed": ""
|
|
31
|
-
}, ut = { class: "flex flex-wrap items-center gap-x-1.5" }, ct = { key: 1 }, dt = { class: "text-body tabular-nums text-content-muted" }, mt = { class: "px-row-inset text-footnote text-content-muted" },
|
|
32
|
+
}, ut = { class: "flex flex-wrap items-center gap-x-1.5" }, ct = { key: 1 }, dt = { class: "text-body tabular-nums text-content-muted" }, mt = { class: "px-row-inset text-footnote text-content-muted" }, Bt = /* @__PURE__ */ q({
|
|
32
33
|
__name: "Activity",
|
|
33
34
|
setup(pt) {
|
|
34
|
-
const { t: o, te: k } = D(), { http: E } =
|
|
35
|
+
const { t: o, te: k } = D(), { http: E } = Q(), w = G(), h = W(tt), { activityAreas: L, activityRecords: P } = et(), d = b("all"), m = b(null), p = b(null), y = b(1), _ = Z(
|
|
35
36
|
async ({ signal: e }) => {
|
|
36
37
|
const t = h.id.value;
|
|
37
38
|
if (t === null) return null;
|
|
38
39
|
const a = { id: t, page: y.value, per_page: 20, ...d.value === "all" ? {} : { area: d.value }, ...m.value ? { from: m.value } : {}, ...p.value ? { to: p.value } : {} };
|
|
39
|
-
return (await E.request(
|
|
40
|
+
return (await E.request(M.usersActivity, a, { signal: e })).data;
|
|
40
41
|
},
|
|
41
42
|
{ watch: () => h.id.value }
|
|
42
43
|
);
|
|
@@ -47,16 +48,16 @@ const ot = {
|
|
|
47
48
|
if (e === "all" || e === "identity" || e === "other") return o(`core.users.activity.areas.${e}`);
|
|
48
49
|
const t = L[e];
|
|
49
50
|
return t && k(t) ? o(t) : o("core.users.activity.areas.other");
|
|
50
|
-
},
|
|
51
|
-
const e =
|
|
51
|
+
}, j = V(() => _.data.value?.meta?.views ?? []), F = V(() => {
|
|
52
|
+
const e = j.value.filter((t) => t.key === "all" || t.key === d.value || t.count > 0).map((t) => ({ value: t.key, label: $(t.key), badge: t.count }));
|
|
52
53
|
return e.length > 0 ? e : [{ value: "all", label: $("all") }];
|
|
53
|
-
}),
|
|
54
|
+
}), K = (e, t) => {
|
|
54
55
|
const a = P[e];
|
|
55
56
|
return a && k(a.labelKey) ? { text: `${o(a.labelKey)} #${t}`, to: a.to?.(t) } : { text: `${e} #${t}`, to: void 0 };
|
|
56
|
-
},
|
|
57
|
+
}, O = (e) => k(`core.users.activity.actions.${e}`) ? o(`core.users.activity.actions.${e}`) : o("core.users.activity.actions.other"), S = V(() => {
|
|
57
58
|
const e = [];
|
|
58
59
|
for (const t of _.data.value?.data ?? []) {
|
|
59
|
-
const a = { row: t, record:
|
|
60
|
+
const a = { row: t, record: K(t.record_type, t.record_id) }, i = t.created_at.slice(0, 10), n = e[e.length - 1];
|
|
60
61
|
n && n.key === i ? n.rows.push(a) : e.push({ key: i, header: w.date(t.created_at), rows: [a] });
|
|
61
62
|
}
|
|
62
63
|
return e;
|
|
@@ -70,7 +71,7 @@ const ot = {
|
|
|
70
71
|
v(s(z), {
|
|
71
72
|
modelValue: d.value,
|
|
72
73
|
"onUpdate:modelValue": t[0] || (t[0] = (a) => d.value = a),
|
|
73
|
-
tabs:
|
|
74
|
+
tabs: F.value,
|
|
74
75
|
presentation: "scope",
|
|
75
76
|
label: s(o)("core.users.activity.areas_label")
|
|
76
77
|
}, null, 8, ["modelValue", "tabs", "label"]),
|
|
@@ -89,7 +90,7 @@ const ot = {
|
|
|
89
90
|
}, null, 8, ["modelValue", "label", "min"])
|
|
90
91
|
])
|
|
91
92
|
]),
|
|
92
|
-
v(s(
|
|
93
|
+
v(s(X), {
|
|
93
94
|
state: s(_).state.value,
|
|
94
95
|
"skeleton-rows": 5,
|
|
95
96
|
"is-empty": () => !1,
|
|
@@ -97,7 +98,7 @@ const ot = {
|
|
|
97
98
|
}, {
|
|
98
99
|
default: u(({ value: a }) => [
|
|
99
100
|
!a || a.data.length === 0 ? (l(), f("p", it, c(s(o)("core.users.activity.empty")), 1)) : (l(), f("div", rt, [
|
|
100
|
-
(l(!0), f(C, null, N(
|
|
101
|
+
(l(!0), f(C, null, N(S.value, (i) => (l(), g(s(H), {
|
|
101
102
|
key: i.key,
|
|
102
103
|
header: i.header
|
|
103
104
|
}, {
|
|
@@ -105,7 +106,7 @@ const ot = {
|
|
|
105
106
|
(l(!0), f(C, null, N(i.rows, ({ row: n, record: x }) => (l(), g(s(J), {
|
|
106
107
|
key: n.id,
|
|
107
108
|
layout: "setting",
|
|
108
|
-
label:
|
|
109
|
+
label: O(n.action),
|
|
109
110
|
"data-activity-row": ""
|
|
110
111
|
}, {
|
|
111
112
|
leading: u(() => [
|
|
@@ -132,7 +133,7 @@ const ot = {
|
|
|
132
133
|
])
|
|
133
134
|
]),
|
|
134
135
|
default: u(() => [
|
|
135
|
-
n.signed_in_as ? (l(), g(s(
|
|
136
|
+
n.signed_in_as ? (l(), g(s(Y), {
|
|
136
137
|
key: 0,
|
|
137
138
|
tone: "warning",
|
|
138
139
|
"data-activity-signed-in-as": ""
|
|
@@ -150,7 +151,7 @@ const ot = {
|
|
|
150
151
|
_: 2
|
|
151
152
|
}, 1032, ["header"]))), 128))
|
|
152
153
|
])),
|
|
153
|
-
a ? (l(), g(
|
|
154
|
+
a ? (l(), g(at, {
|
|
154
155
|
key: 2,
|
|
155
156
|
page: y.value,
|
|
156
157
|
"onUpdate:page": t[3] || (t[3] = (i) => y.value = i),
|
|
@@ -165,5 +166,5 @@ const ot = {
|
|
|
165
166
|
}
|
|
166
167
|
});
|
|
167
168
|
export {
|
|
168
|
-
|
|
169
|
+
Bt as default
|
|
169
170
|
};
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { a as
|
|
1
|
+
import { defineComponent as L, computed as _, openBlock as i, createElementBlock as d, Fragment as A, renderList as M, createBlock as x, withCtx as k, createTextVNode as w, toDisplayString as b, unref as l, createElementVNode as m, mergeProps as N, createVNode as v, createCommentVNode as f, renderSlot as h, toValue as P, watch as S, onMounted as R, onBeforeUnmount as T, useTemplateRef as I, provide as z, ref as O, createSlots as H, normalizeClass as D } from "vue";
|
|
2
|
+
import { a as V } from "./mediaQuery-CygcXmFW.js";
|
|
3
3
|
import { _ as K } from "./BottomDockPortal.vue_vue_type_script_setup_true_lang-DmwR-2SP.js";
|
|
4
|
-
import { useI18n as
|
|
4
|
+
import { useI18n as j } from "vue-i18n";
|
|
5
5
|
import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
|
|
6
6
|
import { _ as y } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
7
7
|
import { _ as Q } from "./Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
|
|
8
8
|
import { RouterLink as B, useRoute as U } from "vue-router";
|
|
9
|
-
import {
|
|
10
|
-
import { a as
|
|
9
|
+
import { u as W } from "./format-DoKs29bZ.js";
|
|
10
|
+
import { a as F, c as Y, p as G } from "./chrome-nUcmVu8G.js";
|
|
11
11
|
import { d as J } from "./context-Ch1r4fdN.js";
|
|
12
12
|
const X = {
|
|
13
13
|
key: 0,
|
|
14
14
|
"data-page-actions": "",
|
|
15
15
|
class: "flex min-w-0 flex-wrap items-center justify-end gap-2"
|
|
16
|
-
}, Z = ["aria-label", "onClick"],
|
|
16
|
+
}, Z = ["aria-label", "onClick"], E = /* @__PURE__ */ L({
|
|
17
17
|
__name: "PageActions",
|
|
18
18
|
props: {
|
|
19
19
|
actions: {},
|
|
20
20
|
leading: {}
|
|
21
21
|
},
|
|
22
22
|
setup(p) {
|
|
23
|
-
const e = p, { t: a } =
|
|
23
|
+
const e = p, { t: a } = j(), u = _(() => [
|
|
24
24
|
...e.leading ? [e.leading] : [],
|
|
25
25
|
...e.actions.filter((t) => t.placement !== "overflow" && t.tone !== "critical")
|
|
26
26
|
]), r = _(() => e.actions.filter((t) => t.placement === "overflow" || t.tone === "critical").map((t) => ({
|
|
@@ -36,7 +36,7 @@ const X = {
|
|
|
36
36
|
return t === e.leading || t.prominence === "plain" ? "plain" : t.prominence === "standard" ? "standard" : t.placement === "primary" ? "primary" : "standard";
|
|
37
37
|
}
|
|
38
38
|
return (t, o) => u.value.length || r.value.length ? (i(), d("div", X, [
|
|
39
|
-
(i(!0), d(
|
|
39
|
+
(i(!0), d(A, null, M(u.value, (s) => (i(), x(q, {
|
|
40
40
|
key: s.id,
|
|
41
41
|
prominence: c(s),
|
|
42
42
|
icon: s.icon,
|
|
@@ -57,7 +57,7 @@ const X = {
|
|
|
57
57
|
label: l(a)("core.page.more_actions")
|
|
58
58
|
}, {
|
|
59
59
|
trigger: k(({ toggle: s, attrs: g }) => [
|
|
60
|
-
m("button",
|
|
60
|
+
m("button", N({ type: "button" }, g, {
|
|
61
61
|
"aria-label": l(a)("core.page.more_actions"),
|
|
62
62
|
"data-page-overflow": "",
|
|
63
63
|
class: "hit-target flex size-9 cursor-pointer items-center justify-center rounded-button bg-fill text-content-strong transition-colors duration-motion-fast hover:bg-fill-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
|
|
@@ -84,7 +84,7 @@ const X = {
|
|
|
84
84
|
class: "flex shrink-0 items-center gap-1.5 text-footnote text-content-muted",
|
|
85
85
|
role: "status",
|
|
86
86
|
"data-page-status": ""
|
|
87
|
-
}, re = /* @__PURE__ */
|
|
87
|
+
}, re = /* @__PURE__ */ L({
|
|
88
88
|
__name: "PageToolbar",
|
|
89
89
|
props: {
|
|
90
90
|
back: {},
|
|
@@ -94,7 +94,7 @@ const X = {
|
|
|
94
94
|
status: {}
|
|
95
95
|
},
|
|
96
96
|
setup(p) {
|
|
97
|
-
const e = p, { t: a } =
|
|
97
|
+
const e = p, { t: a } = j(), u = _(() => e.path && e.path.length >= 2 ? e.path.slice(0, -1) : []), r = _(() => e.path && u.value.length ? e.path[e.path.length - 1] ?? null : e.back ?? null);
|
|
98
98
|
return (c, t) => (i(), d("div", ee, [
|
|
99
99
|
u.value.length && r.value ? (i(), d("nav", {
|
|
100
100
|
key: 0,
|
|
@@ -109,7 +109,7 @@ const X = {
|
|
|
109
109
|
})
|
|
110
110
|
]),
|
|
111
111
|
m("ol", ne, [
|
|
112
|
-
(i(!0), d(
|
|
112
|
+
(i(!0), d(A, null, M(u.value, (o) => (i(), d("li", {
|
|
113
113
|
key: o.label,
|
|
114
114
|
class: "flex min-w-0 max-w-48 shrink items-center max-lg:hidden"
|
|
115
115
|
}, [
|
|
@@ -167,7 +167,7 @@ const X = {
|
|
|
167
167
|
}, null, -1)),
|
|
168
168
|
w(b(e.status), 1)
|
|
169
169
|
])) : f("", !0),
|
|
170
|
-
v(
|
|
170
|
+
v(E, {
|
|
171
171
|
actions: e.actions,
|
|
172
172
|
leading: e.leading
|
|
173
173
|
}, null, 8, ["actions", "leading"])
|
|
@@ -175,13 +175,13 @@ const X = {
|
|
|
175
175
|
}
|
|
176
176
|
});
|
|
177
177
|
function ce(p, e, a = !0) {
|
|
178
|
-
const u =
|
|
179
|
-
if (!u || !
|
|
178
|
+
const u = F();
|
|
179
|
+
if (!u || !P(a)) return;
|
|
180
180
|
const r = u.claim();
|
|
181
181
|
let c = null;
|
|
182
|
-
S(() =>
|
|
182
|
+
S(() => P(e), (t) => r.setTitle(t), { immediate: !0 }), R(() => {
|
|
183
183
|
!p.value || typeof IntersectionObserver > "u" || (c = new IntersectionObserver(([t]) => r.setTitleInView(t?.isIntersecting ?? !0), { rootMargin: "-52px 0px 0px 0px" }), c.observe(p.value));
|
|
184
|
-
}),
|
|
184
|
+
}), T(() => {
|
|
185
185
|
c?.disconnect(), r.clearTitle();
|
|
186
186
|
});
|
|
187
187
|
}
|
|
@@ -204,7 +204,7 @@ const ue = { class: "flex min-w-0 flex-wrap items-center gap-x-4 gap-y-3" }, de
|
|
|
204
204
|
class: "flex shrink-0 items-center gap-1.5 text-footnote text-content-muted",
|
|
205
205
|
role: "status",
|
|
206
206
|
"data-page-status": ""
|
|
207
|
-
}, ke = /* @__PURE__ */
|
|
207
|
+
}, ke = /* @__PURE__ */ L({
|
|
208
208
|
__name: "ResourceHeader",
|
|
209
209
|
props: {
|
|
210
210
|
title: {},
|
|
@@ -217,7 +217,7 @@ const ue = { class: "flex min-w-0 flex-wrap items-center gap-x-4 gap-y-3" }, de
|
|
|
217
217
|
inlineActions: { type: Boolean, default: !1 }
|
|
218
218
|
},
|
|
219
219
|
setup(p) {
|
|
220
|
-
const e = p,
|
|
220
|
+
const e = p, a = W(), u = V("(max-width: 47.999rem)"), r = _(() => e.count == null ? null : a.number(e.count)), c = I("titleElement");
|
|
221
221
|
return ce(c, () => e.title), (t, o) => (i(), d("div", ue, [
|
|
222
222
|
m("div", de, [
|
|
223
223
|
h(t.$slots, "leading", {}, () => [
|
|
@@ -249,14 +249,14 @@ const ue = { class: "flex min-w-0 flex-wrap items-center gap-x-4 gap-y-3" }, de
|
|
|
249
249
|
}, null, -1)),
|
|
250
250
|
w(b(e.status), 1)
|
|
251
251
|
])) : f("", !0),
|
|
252
|
-
v(
|
|
252
|
+
v(E, {
|
|
253
253
|
actions: e.actions,
|
|
254
254
|
leading: e.leading
|
|
255
255
|
}, null, 8, ["actions", "leading"])
|
|
256
256
|
])) : f("", !0)
|
|
257
257
|
]));
|
|
258
258
|
}
|
|
259
|
-
}), [_e,
|
|
259
|
+
}), [_e, Ie] = J("vue-core.pageSectionBack");
|
|
260
260
|
function xe(p, e) {
|
|
261
261
|
const a = U();
|
|
262
262
|
let u = a.fullPath;
|
|
@@ -281,7 +281,7 @@ function xe(p, e) {
|
|
|
281
281
|
$ && ($.focus({ preventScroll: !0 }), window.scrollTo({ top: s.top, behavior: "instant" }), o());
|
|
282
282
|
};
|
|
283
283
|
c = new MutationObserver(g), c.observe(p.value, { subtree: !0, childList: !0 }), document.addEventListener("pointerdown", o, !0), document.addEventListener("keydown", o, !0), t = setTimeout(o, 1e4), g();
|
|
284
|
-
}),
|
|
284
|
+
}), T(() => {
|
|
285
285
|
const s = document.activeElement;
|
|
286
286
|
s instanceof HTMLAnchorElement && p.value?.contains(s) && e.focusMemory.put(u, { href: s.getAttribute("href") ?? "", top: window.scrollY }), o();
|
|
287
287
|
});
|
|
@@ -289,7 +289,7 @@ function xe(p, e) {
|
|
|
289
289
|
const we = { key: 1 }, ye = {
|
|
290
290
|
key: 2,
|
|
291
291
|
class: "flex justify-center pt-2"
|
|
292
|
-
}, $e = { class: "dock-safe-area pointer-events-auto order-1 border-t border-border-separator bg-surface-cell pt-screen-padding pr-[max(var(--app-screen-padding),var(--app-safe-right))] pb-screen-padding pl-[max(var(--app-screen-padding),var(--app-safe-left))]" }, Ve = /* @__PURE__ */
|
|
292
|
+
}, $e = { class: "dock-safe-area pointer-events-auto order-1 border-t border-border-separator bg-surface-cell pt-screen-padding pr-[max(var(--app-screen-padding),var(--app-safe-right))] pb-screen-padding pl-[max(var(--app-screen-padding),var(--app-safe-left))]" }, Ve = /* @__PURE__ */ L({
|
|
293
293
|
__name: "AdaptivePageShell",
|
|
294
294
|
props: {
|
|
295
295
|
title: {},
|
|
@@ -303,14 +303,14 @@ const we = { key: 1 }, ye = {
|
|
|
303
303
|
width: { default: "full" }
|
|
304
304
|
},
|
|
305
305
|
setup(p) {
|
|
306
|
-
const e = p, a =
|
|
307
|
-
|
|
306
|
+
const e = p, a = F() ?? Y();
|
|
307
|
+
z(G, a);
|
|
308
308
|
const u = a.claimShell();
|
|
309
|
-
|
|
310
|
-
const r =
|
|
309
|
+
T(u);
|
|
310
|
+
const r = I("root");
|
|
311
311
|
xe(r, a);
|
|
312
|
-
const c =
|
|
313
|
-
|
|
312
|
+
const c = V("(max-width: 47.999rem)"), t = O(null);
|
|
313
|
+
z(_e, t);
|
|
314
314
|
const o = _(() => {
|
|
315
315
|
if (t.value) return t.value;
|
|
316
316
|
if (e.back !== void 0) return e.back;
|
|
@@ -324,7 +324,7 @@ const we = { key: 1 }, ye = {
|
|
|
324
324
|
() => [e.actions, e.documentTitle],
|
|
325
325
|
([n, C]) => g.setRegistration({ actions: n, leading: null, status: null, navTitle: null, documentTitle: C ?? null }),
|
|
326
326
|
{ immediate: !0 }
|
|
327
|
-
), S(o, (n) => g.setBack(n), { immediate: !0 }),
|
|
327
|
+
), S(o, (n) => g.setBack(n), { immediate: !0 }), T(() => {
|
|
328
328
|
g.clearRegistration(), g.clearBack();
|
|
329
329
|
});
|
|
330
330
|
const $ = { full: "", content: "max-w-content", readable: "max-w-readable" };
|
|
@@ -364,7 +364,7 @@ const we = { key: 1 }, ye = {
|
|
|
364
364
|
status: o.value ? null : l(a).status.value
|
|
365
365
|
}, null, 8, ["title", "description", "icon", "count", "actions", "leading", "status"])
|
|
366
366
|
]),
|
|
367
|
-
n.$slots.header && !o.value && !l(c) ? (i(), x(
|
|
367
|
+
n.$slots.header && !o.value && !l(c) ? (i(), x(E, {
|
|
368
368
|
key: 0,
|
|
369
369
|
actions: l(a).actions.value,
|
|
370
370
|
leading: l(a).leading.value
|
|
@@ -390,10 +390,10 @@ const we = { key: 1 }, ye = {
|
|
|
390
390
|
});
|
|
391
391
|
export {
|
|
392
392
|
Ve as _,
|
|
393
|
-
|
|
393
|
+
E as a,
|
|
394
394
|
re as b,
|
|
395
395
|
ke as c,
|
|
396
|
-
|
|
396
|
+
Ie as d,
|
|
397
397
|
_e as p,
|
|
398
398
|
ce as u
|
|
399
399
|
};
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { defineComponent as h, ref as m, watch as p, openBlock as l, createElementBlock as d, createVNode as c, unref as t, withCtx as y, toDisplayString as x, createBlock as f, createCommentVNode as
|
|
2
|
-
import { useI18n as
|
|
3
|
-
import {
|
|
4
|
-
import { u as
|
|
5
|
-
import { b as
|
|
6
|
-
import { _ as
|
|
7
|
-
import { u as
|
|
1
|
+
import { defineComponent as h, ref as m, watch as p, openBlock as l, createElementBlock as d, createVNode as c, unref as t, withCtx as y, toDisplayString as x, createBlock as f, createCommentVNode as k } from "vue";
|
|
2
|
+
import { useI18n as C } from "vue-i18n";
|
|
3
|
+
import { i as $ } from "./preferences-hYhrw8Uy.js";
|
|
4
|
+
import { u as b } from "./platform-DtISOEt7.js";
|
|
5
|
+
import { b as V } from "./routeResource-DlTsGTg_.js";
|
|
6
|
+
import { _ as R } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
|
|
7
|
+
import { u as E } from "./useLoad-M7V-AVwR.js";
|
|
8
|
+
import { P as N, f as B, k as P, j as S } from "./index-DZikGJ8L.js";
|
|
8
9
|
import { _ as U } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
|
|
9
10
|
import { _ as I } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js";
|
|
10
11
|
const W = {
|
|
11
12
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
12
13
|
"data-person-changes": ""
|
|
13
|
-
},
|
|
14
|
+
}, j = {
|
|
14
15
|
key: 0,
|
|
15
16
|
class: "px-row-inset py-4 text-body text-content-muted",
|
|
16
17
|
"data-changes-empty": ""
|
|
17
|
-
},
|
|
18
|
+
}, M = /* @__PURE__ */ h({
|
|
18
19
|
__name: "Changes",
|
|
19
|
-
setup(
|
|
20
|
-
const g = ["all", "access", "details"], { t: a } =
|
|
20
|
+
setup(q) {
|
|
21
|
+
const g = ["all", "access", "details"], { t: a } = C(), { http: _ } = b(), i = V(N), { changeWords: v } = B(), r = m("all"), o = m(1), n = E(
|
|
21
22
|
async ({ signal: u }) => {
|
|
22
23
|
const s = i.id.value;
|
|
23
|
-
return s === null ? null : (await _.request(
|
|
24
|
+
return s === null ? null : (await _.request($.usersChanges, { id: s, view: r.value, page: o.value, per_page: 20 }, { signal: u })).data;
|
|
24
25
|
},
|
|
25
26
|
{ watch: () => i.id.value }
|
|
26
27
|
);
|
|
@@ -39,25 +40,25 @@ const W = {
|
|
|
39
40
|
"label-of": (e) => t(a)(`core.users.changes.views.${e}`),
|
|
40
41
|
label: t(a)("core.users.sections.changes")
|
|
41
42
|
}, null, 8, ["modelValue", "counts", "label-of", "label"]),
|
|
42
|
-
c(t(
|
|
43
|
+
c(t(R), {
|
|
43
44
|
state: t(n).state.value,
|
|
44
45
|
"skeleton-rows": 5,
|
|
45
46
|
"is-empty": () => !1,
|
|
46
47
|
onRetry: s[2] || (s[2] = (e) => t(n).reload())
|
|
47
48
|
}, {
|
|
48
49
|
default: y(({ value: e }) => [
|
|
49
|
-
!e || e.data.length === 0 ? (l(), d("p",
|
|
50
|
+
!e || e.data.length === 0 ? (l(), d("p", j, x(t(a)("core.users.changes.empty")), 1)) : (l(), f(P, {
|
|
50
51
|
key: 1,
|
|
51
52
|
rows: e.data,
|
|
52
53
|
words: t(v)
|
|
53
54
|
}, null, 8, ["rows", "words"])),
|
|
54
|
-
e ? (l(), f(
|
|
55
|
+
e ? (l(), f(S, {
|
|
55
56
|
key: 2,
|
|
56
57
|
page: o.value,
|
|
57
58
|
"onUpdate:page": s[1] || (s[1] = (w) => o.value = w),
|
|
58
59
|
"last-page": e.last_page,
|
|
59
60
|
total: e.total
|
|
60
|
-
}, null, 8, ["page", "last-page", "total"])) :
|
|
61
|
+
}, null, 8, ["page", "last-page", "total"])) : k("", !0)
|
|
61
62
|
]),
|
|
62
63
|
_: 1
|
|
63
64
|
}, 8, ["state"])
|
|
@@ -65,5 +66,5 @@ const W = {
|
|
|
65
66
|
}
|
|
66
67
|
});
|
|
67
68
|
export {
|
|
68
|
-
|
|
69
|
+
M as default
|
|
69
70
|
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { hasInjectionContext as lt, inject as ot, shallowRef as xe, computed as k, watch as Ve, toValue as Se, ref as ie, getCurrentScope as nt, onScopeDispose as st, defineComponent as be, openBlock as u, createElementBlock as y, createVNode as O, unref as t, createElementVNode as i, toDisplayString as g, Fragment as ee, renderList as le, createCommentVNode as F, createBlock as W, mergeProps as ve, withCtx as q, createTextVNode as G, normalizeClass as ue, useTemplateRef as fe, withModifiers as Ke, withDirectives as Le, vModelText as Fe, nextTick as at, onBeforeUnmount as rt, onMounted as it, renderSlot as ge, useSlots as We, createSlots as Qe, normalizeProps as Xe, guardReactiveProps as Je } from "vue";
|
|
2
2
|
import { routerKey as ct } from "vue-router";
|
|
3
3
|
import { i as qe, a as ut } from "./error-CD7x0Jrz.js";
|
|
4
|
-
import { d as dt } from "./http-
|
|
5
|
-
import { d as Re, o as ft, L as Te, e as je, w as pt, r as vt } from "./state-
|
|
6
|
-
import { _ as mt } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { d as dt } from "./http-DOEfFCDA.js";
|
|
5
|
+
import { d as Re, o as ft, L as Te, e as je, w as pt, r as vt } from "./state-CXMexi0l.js";
|
|
6
|
+
import { _ as mt } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
|
|
7
7
|
import { useI18n as he } from "vue-i18n";
|
|
8
8
|
import { _ as ce } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
|
|
9
9
|
import { _ as Ge } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
|
|
10
|
-
import { u as Pe } from "./format-
|
|
10
|
+
import { u as Pe } from "./format-DoKs29bZ.js";
|
|
11
11
|
import { _ as I } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
12
12
|
import { _ as Ne } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
|
|
13
13
|
import { _ as Ae } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
|
|
14
|
-
import { u as bt, _ as gt } from "./rowLayout-
|
|
14
|
+
import { u as bt, _ as gt } from "./rowLayout-y1IB_h2r.js";
|
|
15
15
|
import { u as Ee } from "./shortcut-DUR6yPWA.js";
|
|
16
16
|
import { _ as Ye } from "./Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
|
|
17
17
|
import { _ as Ze } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
|
|
18
18
|
import { _ as we } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
|
|
19
|
-
import { _ as ht } from "./NumberField.vue_vue_type_script_setup_true_lang-
|
|
19
|
+
import { _ as ht } from "./NumberField.vue_vue_type_script_setup_true_lang-YVgf5CP6.js";
|
|
20
20
|
import { _ as yt } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
|
|
21
21
|
import { a as _t } from "./mediaQuery-CygcXmFW.js";
|
|
22
22
|
import { _ as xt } from "./Sheet.vue_vue_type_script_setup_true_lang-B91aRD_y.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as d, computed as u, useSlots as p, openBlock as w, createElementBlock as y, createVNode as f, unref as k, createSlots as b, renderList as m, withCtx as h, renderSlot as v, normalizeProps as _, guardReactiveProps as g } from "vue";
|
|
2
|
-
import { u as R, _ as L } from "./rowLayout-
|
|
2
|
+
import { u as R, _ as L } from "./rowLayout-y1IB_h2r.js";
|
|
3
3
|
const F = ["aria-busy"], V = /* @__PURE__ */ d({
|
|
4
4
|
__name: "DataTable",
|
|
5
5
|
props: {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { computed as p, defineComponent as re, useModel as oe, useTemplateRef as T, openBlock as g, createBlock as Y, mergeProps as E, unref as s, createSlots as ae, withCtx as y, createElementBlock as C, Fragment as H, createVNode as D, createTextVNode as ne, toDisplayString as K, createCommentVNode as M, createElementVNode as O, normalizeClass as le, renderSlot as S, mergeModels as G, mergeDefaults as se, nextTick as J } from "vue";
|
|
2
2
|
import { useI18n as L } from "vue-i18n";
|
|
3
3
|
import { _ as ie } from "./DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
|
|
4
|
-
import { u as W } from "./format-
|
|
4
|
+
import { u as W } from "./format-DoKs29bZ.js";
|
|
5
5
|
import { _ as de } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
6
6
|
import { u as ue } from "./mediaQuery-CygcXmFW.js";
|
|
7
7
|
import { _ as ce } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
|
|
8
8
|
import { e as me, _ as fe, f as pe, b as be } from "./options-B48UiYsG.js";
|
|
9
|
-
import { e as q, f as j, m as X, g as Z, h as ve, j as ye, u as ke, k as ge, _ as he, l as xe, c as we } from "./useTypedEntry-
|
|
9
|
+
import { e as q, f as j, m as X, g as Z, h as ve, j as ye, u as ke, k as ge, _ as he, l as xe, c as we } from "./useTypedEntry-DKs8I1yP.js";
|
|
10
10
|
const _e = ["d", "m", "y"];
|
|
11
11
|
function $e(o) {
|
|
12
12
|
const r = o("2033-11-22"), t = { y: r.indexOf("2033") >= 0 ? r.indexOf("2033") : r.indexOf("33"), m: r.indexOf("11"), d: r.indexOf("22") };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as B, useTemplateRef as C, computed as y, ref as v, openBlock as D, createBlock as z, unref as r, withCtx as m, createVNode as F, createElementVNode as b, normalizeClass as $, toDisplayString as h } from "vue";
|
|
2
2
|
import { useI18n as q } from "vue-i18n";
|
|
3
3
|
import { a as k } from "./error-CD7x0Jrz.js";
|
|
4
|
-
import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js";
|
|
5
5
|
import { u as P } from "./describeError-B-NMa--w.js";
|
|
6
|
-
import { u as I } from "./format-
|
|
7
|
-
import { e as a, R as O } from "./index-
|
|
6
|
+
import { u as I } from "./format-DoKs29bZ.js";
|
|
7
|
+
import { e as a, R as O } from "./index-D_yyd4C2.js";
|
|
8
8
|
import { _ as W } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
|
|
9
9
|
import { t as i } from "./toast-CqSDTWRX.js";
|
|
10
10
|
import { u as Y } from "./useLoad-M7V-AVwR.js";
|
|
11
|
-
import { u as j } from "./platform-
|
|
12
|
-
import { d as G, r as H } from "./http-
|
|
11
|
+
import { u as j } from "./platform-DtISOEt7.js";
|
|
12
|
+
import { d as G, r as H } from "./http-DOEfFCDA.js";
|
|
13
13
|
function J(u) {
|
|
14
14
|
return G({
|
|
15
15
|
id: "events.deadletters",
|