kanto-ds 1.0.1 → 1.2.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.
Files changed (90) hide show
  1. package/README.md +20 -2
  2. package/dist/chunks/form-control-CxjBTt1c.js.map +1 -1
  3. package/dist/chunks/kt-element-B_jjQDhg.js +38 -0
  4. package/dist/chunks/kt-element-B_jjQDhg.js.map +1 -0
  5. package/dist/components/core/kt-avatar/kt-avatar.js +9 -6
  6. package/dist/components/core/kt-avatar/kt-avatar.js.map +1 -1
  7. package/dist/components/core/kt-badge/kt-badge.js +17 -17
  8. package/dist/components/core/kt-badge/kt-badge.js.map +1 -1
  9. package/dist/components/core/kt-button/kt-button.d.ts +7 -0
  10. package/dist/components/core/kt-button/kt-button.js +68 -60
  11. package/dist/components/core/kt-button/kt-button.js.map +1 -1
  12. package/dist/components/core/kt-card/kt-card.js +1 -1
  13. package/dist/components/core/kt-code/kt-code.js +12 -12
  14. package/dist/components/core/kt-code/kt-code.js.map +1 -1
  15. package/dist/components/core/kt-icon/kt-icon.js +1 -1
  16. package/dist/components/core/kt-kbd/kt-kbd.js +14 -14
  17. package/dist/components/core/kt-kbd/kt-kbd.js.map +1 -1
  18. package/dist/components/core/kt-split-button/kt-split-button.js +3 -3
  19. package/dist/components/core/kt-split-button/kt-split-button.js.map +1 -1
  20. package/dist/components/data/kt-chart/kt-chart.js +1 -1
  21. package/dist/components/data/kt-meter/kt-meter.js +1 -1
  22. package/dist/components/data/kt-pagination/kt-pagination.js +1 -1
  23. package/dist/components/data/kt-stat/kt-stat.js +5 -5
  24. package/dist/components/data/kt-stat/kt-stat.js.map +1 -1
  25. package/dist/components/data/kt-table/kt-table.js +2 -2
  26. package/dist/components/data/kt-table/kt-table.js.map +1 -1
  27. package/dist/components/data/kt-timeline/kt-timeline.js +1 -1
  28. package/dist/components/feedback/kt-alert/kt-alert.js +26 -26
  29. package/dist/components/feedback/kt-alert/kt-alert.js.map +1 -1
  30. package/dist/components/feedback/kt-empty-state/kt-empty-state.js +1 -1
  31. package/dist/components/feedback/kt-progress-bar/kt-progress-bar.js +2 -2
  32. package/dist/components/feedback/kt-progress-bar/kt-progress-bar.js.map +1 -1
  33. package/dist/components/feedback/kt-skeleton/kt-skeleton.js +1 -1
  34. package/dist/components/feedback/kt-toast/kt-toast.js +22 -22
  35. package/dist/components/feedback/kt-toast/kt-toast.js.map +1 -1
  36. package/dist/components/feedback/kt-toast-container/kt-toast-container.js +1 -1
  37. package/dist/components/feedback/kt-tooltip/kt-tooltip.js +1 -1
  38. package/dist/components/forms/kt-drag-drop/kt-drag-drop.d.ts +11 -1
  39. package/dist/components/forms/kt-drag-drop/kt-drag-drop.js +69 -36
  40. package/dist/components/forms/kt-drag-drop/kt-drag-drop.js.map +1 -1
  41. package/dist/components/forms/kt-form/kt-form.js +1 -1
  42. package/dist/components/forms/kt-input/kt-input.js +95 -91
  43. package/dist/components/forms/kt-input/kt-input.js.map +1 -1
  44. package/dist/components/forms/kt-input-menu/kt-input-menu.d.ts +10 -1
  45. package/dist/components/forms/kt-input-menu/kt-input-menu.js +83 -53
  46. package/dist/components/forms/kt-input-menu/kt-input-menu.js.map +1 -1
  47. package/dist/components/forms/kt-label-input/kt-label-input.js +2 -2
  48. package/dist/components/forms/kt-label-input/kt-label-input.js.map +1 -1
  49. package/dist/components/forms/kt-select/kt-select.js +2 -2
  50. package/dist/components/forms/kt-select/kt-select.js.map +1 -1
  51. package/dist/components/forms/kt-textarea/kt-textarea.js +15 -13
  52. package/dist/components/forms/kt-textarea/kt-textarea.js.map +1 -1
  53. package/dist/components/forms/kt-toggle/kt-toggle.js +8 -7
  54. package/dist/components/forms/kt-toggle/kt-toggle.js.map +1 -1
  55. package/dist/components/navigation/kt-breadcrumb/kt-breadcrumb.js +1 -1
  56. package/dist/components/navigation/kt-header/kt-header.js +1 -1
  57. package/dist/components/navigation/kt-page-header/kt-page-header.js +18 -18
  58. package/dist/components/navigation/kt-page-header/kt-page-header.js.map +1 -1
  59. package/dist/components/navigation/kt-segmented-control/kt-segmented-control.d.ts +10 -1
  60. package/dist/components/navigation/kt-segmented-control/kt-segmented-control.js +88 -62
  61. package/dist/components/navigation/kt-segmented-control/kt-segmented-control.js.map +1 -1
  62. package/dist/components/navigation/kt-sub-menu-navigation/kt-sub-menu-navigation.js +5 -5
  63. package/dist/components/navigation/kt-sub-menu-navigation/kt-sub-menu-navigation.js.map +1 -1
  64. package/dist/components/navigation/kt-tabs/kt-tabs.js +1 -1
  65. package/dist/components/navigation/kt-toggle-button/kt-toggle-button.js +3 -3
  66. package/dist/components/navigation/kt-toggle-button/kt-toggle-button.js.map +1 -1
  67. package/dist/components/navigation/kt-toggle-button-group/kt-toggle-button-group.js +1 -1
  68. package/dist/components/overlays/kt-collapsible/kt-collapsible.js +1 -1
  69. package/dist/components/overlays/kt-confirm-dialog/kt-confirm-dialog.js +1 -1
  70. package/dist/components/overlays/kt-dropdown/kt-dropdown.d.ts +13 -0
  71. package/dist/components/overlays/kt-dropdown/kt-dropdown.js +74 -59
  72. package/dist/components/overlays/kt-dropdown/kt-dropdown.js.map +1 -1
  73. package/dist/components/overlays/kt-modal/kt-modal.js +1 -1
  74. package/dist/components/overlays/kt-side-panel/kt-side-panel.js +1 -1
  75. package/dist/custom-elements.json +11791 -0
  76. package/dist/index.js +1 -1
  77. package/dist/internal/form-control.d.ts +7 -2
  78. package/dist/react/index.js.map +1 -1
  79. package/dist/react/jsx.d.ts +213 -0
  80. package/dist/react/jsx.js +2 -0
  81. package/dist/react/jsx.js.map +1 -0
  82. package/dist/tokens/README.md +7 -3
  83. package/dist/tokens/colors.css +24 -5
  84. package/dist/tokens/theme-light.css +18 -0
  85. package/dist/vscode.css-custom-data.json +154 -0
  86. package/dist/vscode.html-custom-data.json +1136 -0
  87. package/dist/web-types.json +3186 -0
  88. package/package.json +28 -9
  89. package/dist/chunks/kt-element-CcMLO5e8.js +0 -28
  90. package/dist/chunks/kt-element-CcMLO5e8.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kanto-ds",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "description": "Framework-agnostic design system for data-dense product interfaces.",
5
5
  "keywords": [
6
6
  "design-system",
@@ -10,7 +10,7 @@
10
10
  "ui",
11
11
  "dark-theme"
12
12
  ],
13
- "homepage": "https://github.com/MrArnaudMichel/kanto#readme",
13
+ "homepage": "https://kanto.arnaudmichel.fr",
14
14
  "bugs": "https://github.com/MrArnaudMichel/kanto/issues",
15
15
  "repository": {
16
16
  "type": "git",
@@ -32,6 +32,8 @@
32
32
  "main": "./dist/index.js",
33
33
  "module": "./dist/index.js",
34
34
  "types": "./dist/index.d.ts",
35
+ "customElements": "./dist/custom-elements.json",
36
+ "web-types": "./dist/web-types.json",
35
37
  "imports": {
36
38
  "#internal/*": {
37
39
  "kanto-source": "./src/internal/*.ts",
@@ -53,6 +55,10 @@
53
55
  "types": "./dist/react/index.d.ts",
54
56
  "default": "./dist/react/index.js"
55
57
  },
58
+ "./react/jsx": {
59
+ "types": "./dist/react/jsx.d.ts",
60
+ "default": "./dist/react/jsx.js"
61
+ },
56
62
  "./vue": {
57
63
  "types": "./dist/vue/index.d.ts",
58
64
  "default": "./dist/vue/index.js"
@@ -228,6 +234,10 @@
228
234
  "./styles.css": "./dist/styles.css",
229
235
  "./tokens/*": "./dist/tokens/*",
230
236
  "./assets/*": "./dist/assets/*",
237
+ "./custom-elements.json": "./dist/custom-elements.json",
238
+ "./web-types.json": "./dist/web-types.json",
239
+ "./vscode.html-custom-data.json": "./dist/vscode.html-custom-data.json",
240
+ "./vscode.css-custom-data.json": "./dist/vscode.css-custom-data.json",
231
241
  "./package.json": "./package.json"
232
242
  },
233
243
  "files": [
@@ -238,10 +248,11 @@
238
248
  ],
239
249
  "scripts": {
240
250
  "dev": "vite --config demo/vite.config.ts",
241
- "build": "npm run build:js && npm run build:types && npm run build:static",
251
+ "build": "npm run build:js && npm run build:types && npm run build:static && npm run build:manifest",
242
252
  "build:js": "vite build",
243
253
  "build:types": "tsc -p tsconfig.build.json",
244
254
  "build:static": "node scripts/copy-static.js",
255
+ "build:manifest": "cem analyze --config custom-elements-manifest.config.js",
245
256
  "build:demo": "vite build --config demo/vite.config.ts",
246
257
  "test": "vitest run",
247
258
  "test:watch": "vitest",
@@ -259,20 +270,19 @@
259
270
  "prepublishOnly": "npm run verify"
260
271
  },
261
272
  "dependencies": {
262
- "@lit/react": "^1.0.8",
263
273
  "lit": "^3.3.3",
264
274
  "lucide": "^1.43.0"
265
275
  },
266
276
  "peerDependencies": {
277
+ "@lit/react": "^1.0.8",
267
278
  "react": "^18.0.0 || ^19.0.0",
268
- "react-dom": "^18.0.0 || ^19.0.0",
269
279
  "vue": "^3.4.0"
270
280
  },
271
281
  "peerDependenciesMeta": {
272
- "react": {
282
+ "@lit/react": {
273
283
  "optional": true
274
284
  },
275
- "react-dom": {
285
+ "react": {
276
286
  "optional": true
277
287
  },
278
288
  "vue": {
@@ -280,9 +290,16 @@
280
290
  }
281
291
  },
282
292
  "devDependencies": {
293
+ "@custom-elements-manifest/analyzer": "^0.11.0",
283
294
  "@eslint/js": "^10.0.1",
295
+ "@lit/react": "^1.0.8",
284
296
  "@types/react": "^19.2.18",
285
- "@vitest/coverage-v8": "^5.0.0",
297
+ "@types/react-dom": "^19.3.0",
298
+ "@vitest/browser-playwright": "^5.0.1",
299
+ "@vitest/coverage-v8": "^5.0.1",
300
+ "axe-core": "^4.13.0",
301
+ "custom-element-jet-brains-integration": "^1.8.0",
302
+ "custom-element-vs-code-integration": "^1.5.0",
286
303
  "eslint": "^10.10.0",
287
304
  "eslint-config-prettier": "^10.1.8",
288
305
  "eslint-plugin-lit": "^2.3.1",
@@ -291,12 +308,14 @@
291
308
  "highlight.js": "^11.12.0",
292
309
  "jsdom": "^30.0.1",
293
310
  "marked": "^18.0.12",
311
+ "playwright": "^1.63.0",
294
312
  "prettier": "^3.9.6",
295
313
  "react": "^19.2.8",
314
+ "react-dom": "^19.2.8",
296
315
  "typescript": "^5.9.3",
297
316
  "typescript-eslint": "^8.70.0",
298
317
  "vite": "^7.3.6",
299
- "vitest": "^5.0.0",
318
+ "vitest": "^5.0.1",
300
319
  "vue": "^3.5.42"
301
320
  }
302
321
  }
@@ -1,28 +0,0 @@
1
- import { LitElement as s, css as n } from "lit";
2
- class o extends s {
3
- static {
4
- this.styles = n`
5
- :host {
6
- box-sizing: border-box;
7
- }
8
-
9
- :host([hidden]) {
10
- display: none !important;
11
- }
12
-
13
- *,
14
- *::before,
15
- *::after {
16
- box-sizing: inherit;
17
- }
18
- `;
19
- }
20
- }
21
- function r(e, t) {
22
- customElements.get(e) || customElements.define(e, t);
23
- }
24
- export {
25
- o as K,
26
- r as d
27
- };
28
- //# sourceMappingURL=kt-element-CcMLO5e8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kt-element-CcMLO5e8.js","sources":["../../src/internal/kt-element.ts"],"sourcesContent":["import { LitElement, css, type CSSResultGroup } from 'lit';\n\n/**\n * Base class for every Kanto element.\n *\n * It exists for two reasons. First, `box-sizing: border-box` does not cross a\n * shadow boundary, so each root has to re-establish it. Second, `[hidden]`\n * loses to a `:host { display: flex }` rule inside the shadow root, and every\n * element in this system sets its own display — without the override here,\n * hiding a Kanto element from the outside silently does nothing.\n */\nexport class KtElement extends LitElement {\n static override styles: CSSResultGroup = css`\n :host {\n box-sizing: border-box;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n `;\n}\n\n/**\n * Registers a custom element, tolerating a repeat call.\n *\n * A design system gets loaded twice more often than you would like — two\n * versions in one dependency tree, a dev-server hot reload, a micro-frontend\n * mounting a second copy. `customElements.define` throws on a duplicate tag\n * and would take the whole page down with it.\n */\nexport function defineElement(tag: string, ctor: CustomElementConstructor): void {\n if (customElements.get(tag)) return;\n customElements.define(tag, ctor);\n}\n"],"names":["KtElement","LitElement","css","defineElement","tag","ctor"],"mappings":";AAWO,MAAMA,UAAkBC,EAAW;AAAA,EACxC,OAAA;AAAA,SAAgB,SAAyBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAe3C;AAUO,SAASC,EAAcC,GAAaC,GAAsC;AAC/E,EAAI,eAAe,IAAID,CAAG,KAC1B,eAAe,OAAOA,GAAKC,CAAI;AACjC;"}