@sb1/indeks-web 0.22.0 → 0.23.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 CHANGED
@@ -1,5 +1,33 @@
1
1
  # @sb1/indeks-web
2
2
 
3
+ ## 0.23.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 1e51aa3: Fikser at Checkbox mistet all tilstandsstyling (checked, indeterminate, feil, disabled, fokus) når den brukes med `description`, `errorMessage` eller `tooltip`. `<ix-field>` flyttet labelen bort fra inputen, så `input + label`-selektorene sluttet å treffe. Labelen blir nå stående, og tooltip-knappen legges rett etter den.
8
+ - 18bfb09: `indeks-react sync-cdn` rapporterer nå hva den faktisk fant
9
+
10
+ Tidligere endte kommandoen på «Ingen drift funnet.» både når alle CDN-URL-er var i takt og når den ikke hadde funnet en eneste URL — to helt ulike situasjoner med samme grønne svar. Nå skiller den mellom utfallene:
11
+
12
+ - **URL-er funnet, alle i takt:** `Alle 5 CDN-URL-er i 2 fil(er) bruker samme versjon som installert @sb1/indeks-react (0.22.0).`
13
+ - **Ingen URL-er funnet:** sier det eksplisitt, forklarer at det er forventet i et npm-basert prosjekt, og skriver ut et ferdig CDN-oppsett med installert versjon pluss lenke til utvikler-guiden.
14
+ - **Ingen filer skannet:** advarer om at `--root`/`--include`/`--exclude` kan være feil, i stedet for å melde at alt er i orden.
15
+ - **Ulik versjon:** viser hvilken versjon hver URL gikk fra og til.
16
+
17
+ I tillegg kommer en `Pakkestatus` for de tre versjonslåste pakkene (`@sb1/indeks-react`, `@sb1/indeks-css`, `@sb1/indeks-web`): versjon i bruk, om den hentes fra CDN eller npm, om du er på siste versjon på npm, og om CDN-en har artefaktene for versjonen ennå. Nettverksoppslagene er «best effort», påvirker aldri exit-koden, og kan skrus av med `--offline`.
18
+
19
+ Ligger du bak siste versjon, skrives oppgraderingen ut ferdig utfylt — `npm install @sb1/indeks-react@<ny> && npm run <ditt sync-script>`. Kommandoen oppgraderer ikke avhengigheten selv og skriver aldri en URL til en versjon som ikke er installert; da ville nettleseren kjørt CSS og web components fra en annen versjon enn React-koden. Scriptnavnet leses fra `scripts` i konsumentens `package.json` i stedet for å gjette på «sync-indeks», med `npx indeks-react sync-cdn` som fallback.
20
+
21
+ Nytt flagg `--require-urls` gir exit 1 når ingen CDN-URL-er blir funnet, for prosjekter som vet at de bruker CDN. Ugyldig `--root` gir nå exit 2 i stedet for å passere stille på null filer.
22
+
23
+ URL-er på den gamle formen `…/indeks/css/<versjon>.css` blir gjenkjent og migrert til `…/indeks/css/<versjon>/index.css`. Den flate formen finnes ikke på CDN-en (den svarer 403), men var dokumentert i READMEene våre — de er nå rettet i `indeks-css`, `indeks-react`, `indeks-tokens`, `indeks-utils` og `indeks-web`. Merk at `--check` derfor kan feile i et prosjekt som tidligere passerte; i så fall lastet ikke stilarket, og `npm run sync-indeks` retter det.
24
+
25
+ `@sb1/indeks-tokens` og `@sb1/indeks-utils` har egne versjoner og blir aldri skrevet om til react-versjonen. De blir nå rapportert til slutt i stedet for å forsvinne i stillhet.
26
+
27
+ ## 0.22.1
28
+
29
+ No changes in this release.
30
+
3
31
  ## 0.22.0
4
32
 
5
33
  ### Minor Changes
package/README.md CHANGED
@@ -16,7 +16,7 @@ CDN er anbefalt fordi URL-en deles på tvers av SB1-applikasjoner. Nettleseren k
16
16
 
17
17
  ```html
18
18
  <!-- Last inn CSS -->
19
- <link rel="stylesheet" href="https://cdn.sparebank1.no/indeks/css/<versjon>.css" />
19
+ <link rel="stylesheet" href="https://cdn.sparebank1.no/indeks/css/<versjon>/index.css" />
20
20
 
21
21
  <!-- Last inn og registrer web components -->
22
22
  <script type="module" src="https://cdn.sparebank1.no/indeks/web/<versjon>/index.js"></script>
package/dist/npm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.144.0/helpers/esm/typeof.js
1
+ //#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
2
2
  function _typeof(o) {
3
3
  "@babel/helpers - typeof";
4
4
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -8,7 +8,7 @@ function _typeof(o) {
8
8
  }, _typeof(o);
9
9
  }
10
10
  //#endregion
11
- //#region \0@oxc-project+runtime@0.144.0/helpers/esm/toPrimitive.js
11
+ //#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
12
12
  function toPrimitive(t, r) {
13
13
  if ("object" != _typeof(t) || !t) return t;
14
14
  var e = t[Symbol.toPrimitive];
@@ -20,13 +20,13 @@ function toPrimitive(t, r) {
20
20
  return ("string" === r ? String : Number)(t);
21
21
  }
22
22
  //#endregion
23
- //#region \0@oxc-project+runtime@0.144.0/helpers/esm/toPropertyKey.js
23
+ //#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
24
24
  function toPropertyKey(t) {
25
25
  var i = toPrimitive(t, "string");
26
26
  return "symbol" == _typeof(i) ? i : i + "";
27
27
  }
28
28
  //#endregion
29
- //#region \0@oxc-project+runtime@0.144.0/helpers/esm/defineProperty.js
29
+ //#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
30
30
  function _defineProperty(e, r, t) {
31
31
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
32
32
  value: t,
@@ -2007,7 +2007,8 @@ var IxField = class extends HTMLElement {
2007
2007
  ]
2008
2008
  });
2009
2009
  if (!control.id) control.id = `ix-field-${++fieldCounter}`;
2010
- if (label && !label.closest(".ix-field__label-row")) {
2010
+ const labelOwnedByControl = label?.previousElementSibling === control;
2011
+ if (label && !labelOwnedByControl && !label.closest(".ix-field__label-row")) {
2011
2012
  const labelRow = document.createElement("div");
2012
2013
  labelRow.className = "ix-field__label-row";
2013
2014
  label.parentNode.insertBefore(labelRow, label);
@@ -2223,7 +2224,8 @@ var IxField = class extends HTMLElement {
2223
2224
  return;
2224
2225
  }
2225
2226
  const labelRow = this.querySelector(".ix-field__label-row");
2226
- if (!labelRow) return;
2227
+ const label = labelRow ? null : this.querySelector("label");
2228
+ if (!labelRow && !label) return;
2227
2229
  const btn = document.createElement("button");
2228
2230
  btn.type = "button";
2229
2231
  btn.className = "ix-field__tooltip-btn";
@@ -2235,7 +2237,8 @@ var IxField = class extends HTMLElement {
2235
2237
  icon.setAttribute("aria-hidden", "true");
2236
2238
  icon.style.maskImage = `url(${ICON_URL})`;
2237
2239
  btn.appendChild(icon);
2238
- labelRow.appendChild(btn);
2240
+ if (labelRow) labelRow.appendChild(btn);
2241
+ else label.after(btn);
2239
2242
  }
2240
2243
  _teardownTooltipBtn() {
2241
2244
  this.querySelector(".ix-field__tooltip-btn")?.remove();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sb1/indeks-web",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "type": "module",
5
5
  "description": "Web components for Indeks design system",
6
6
  "homepage": "https://design.sparebank1.no",
@@ -40,11 +40,11 @@
40
40
  "author": "",
41
41
  "license": "MIT",
42
42
  "devDependencies": {
43
- "@types/node": "^26.4.1",
44
- "jsdom": "^30.0.1",
43
+ "@types/node": "^26.6.2",
44
+ "jsdom": "^30.1.0",
45
45
  "typescript": "~6.0.3",
46
46
  "vite": "^8.2.2",
47
- "vite-plugin-dts": "^5.1.0",
47
+ "vite-plugin-dts": "^5.1.1",
48
48
  "vitest": "^4.1.10"
49
49
  },
50
50
  "scripts": {
@@ -52,7 +52,7 @@
52
52
  "build": "rm -rf ./dist && pnpm run build:npm",
53
53
  "build:npm": "rm -rf ./dist/npm && vite build --mode npm",
54
54
  "build:cdn": "rm -rf ./dist/cdn && vite build --mode cdn",
55
- "lint": "eslint .",
55
+ "lint": "oxlint -c ../.oxlintrc.json .",
56
56
  "update-packages": "echo not implemented",
57
57
  "test": "vitest"
58
58
  }