@jskit-ai/payments-web 0.2.9 → 0.2.11
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
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
- Plans show as filled Material 3 cards (`surface-container-highest`) instead of bordered boxes.
|
|
6
|
+
|
|
3
7
|
## 0.2.0 - 2026-10-29
|
|
4
8
|
|
|
5
9
|
- Translation ready: every user-visible text is a message key with its English in `locales/en.json`, so an app translates it by supplying translation files only. With no translations, texts and behaviour are unchanged. See the guide "Translating a JSKIT app".
|
package/README.md
CHANGED
|
@@ -144,7 +144,7 @@ loading behavior. A separate browser fixture uses real Vuetify and controlled
|
|
|
144
144
|
component inputs, without a generated application or provider connection:
|
|
145
145
|
|
|
146
146
|
```sh
|
|
147
|
-
JSKIT_PAYMENTS_WEB_BROWSER_INTEGRATION=1
|
|
147
|
+
JSKIT_PAYMENTS_WEB_BROWSER_INTEGRATION=1 npx jskit test packages/payments-web/test/paymentAccount.browser.test.js
|
|
148
148
|
```
|
|
149
149
|
|
|
150
150
|
Run that command from the JSKIT repository root with its prepared browser tools.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jskit-ai/payments-web",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Application-owned billing views for JSKIT Vue applications.",
|
|
6
6
|
"exports": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"./locales/en.json": "./locales/en.json"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@jskit-ai/kernel": "0.2.
|
|
11
|
+
"@jskit-ai/kernel": "0.2.11",
|
|
12
12
|
"vue": "^3.5.13",
|
|
13
13
|
"vuetify": "^4.0.0"
|
|
14
14
|
},
|
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
|
-
"test": "
|
|
31
|
+
"test": "jskit test"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -127,13 +127,13 @@ function loadHistory(collection, after = null) {
|
|
|
127
127
|
<style scoped>
|
|
128
128
|
.payment-account { min-width: 0; overflow-wrap: anywhere; }
|
|
129
129
|
.payment-account__summary { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: 0 0 1rem; }
|
|
130
|
-
.payment-account__summary dt { font-weight:
|
|
130
|
+
.payment-account__summary dt { font-weight: 500; }
|
|
131
131
|
.payment-account__summary dd { margin: .25rem 0 0; }
|
|
132
132
|
.payment-account__subscriptions { list-style: none; padding: 0; }
|
|
133
133
|
.payment-account__subscriptions li { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding-block: .5rem; }
|
|
134
134
|
.payment-account__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
|
|
135
135
|
.payment-account__plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; padding: 0; list-style: none; }
|
|
136
|
-
.payment-account__plan { min-width: 0; padding: 1rem; border:
|
|
136
|
+
.payment-account__plan { min-width: 0; padding: 1rem; border-radius: 12px; background: rgb(var(--v-theme-surface-container-highest)); }
|
|
137
137
|
.payment-account :deep(.v-list-item-title), .payment-account :deep(.v-list-item-subtitle) { white-space: normal; overflow-wrap: anywhere; }
|
|
138
138
|
.payment-account :deep(.v-btn) { min-height: 48px; max-width: 100%; height: auto; white-space: normal; }
|
|
139
139
|
.payment-account :deep(.v-btn__content) { white-space: normal; }
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import test from "node:test";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { sharedBrowserFixture } from "../../../tooling/testUtils/browserFixture.mjs";
|
|
6
|
+
|
|
7
|
+
const openFixture = sharedBrowserFixture({ fixtureRoot: fileURLToPath(new URL("../fixtures/payment-account/", import.meta.url)) });
|
|
6
8
|
|
|
7
9
|
test("billing component supports responsive layout, keyboard actions and recoverable states", {
|
|
8
10
|
skip: process.env.JSKIT_PAYMENTS_WEB_BROWSER_INTEGRATION !== "1", timeout: 120_000
|
|
9
|
-
}, async () => {
|
|
10
|
-
const
|
|
11
|
-
let browser;
|
|
11
|
+
}, async (t) => {
|
|
12
|
+
const { vite: runtime, browser } = await openFixture(t);
|
|
12
13
|
try {
|
|
13
|
-
browser = await chromium.launch(createChromiumLaunchOptions());
|
|
14
14
|
const page = await browser.newPage();
|
|
15
15
|
const errors = [];
|
|
16
16
|
page.on("pageerror", (error) => errors.push(error.message));
|
|
@@ -62,7 +62,6 @@ test("billing component supports responsive layout, keyboard actions and recover
|
|
|
62
62
|
await expect(billing.getByRole("button")).toHaveCount(0);
|
|
63
63
|
assert.deepEqual(errors, []);
|
|
64
64
|
} finally {
|
|
65
|
-
await browser
|
|
66
|
-
await stopProcess(runtime);
|
|
65
|
+
await browser.close();
|
|
67
66
|
}
|
|
68
67
|
});
|