tuix-webcomponents 0.0.25 → 0.0.27

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.
@@ -28,6 +28,7 @@
28
28
  --tuix-light-color-error-200: #FFD8D8;
29
29
  --tuix-light-color-section-bg: #FAFAFA;
30
30
  --tuix-light-color-disabled-bg: #EBEAF4;
31
+ --tuix-light-color-stroke-grey: #E1E0E7;
31
32
  --tuix-light-color-shadow: rgba(66, 79, 101, 0.16);
32
33
  --tuix-dark-color-primary-50: #F4F5FB;
33
34
  --tuix-dark-color-primary-100: #E3E5F4;
@@ -53,20 +54,26 @@
53
54
  --tuix-dark-color-black: #0F1117;
54
55
  --tuix-dark-color-neutral-200: #C9C8D3;
55
56
  --tuix-dark-color-neutral-600: #8A8894;
56
- --tuix-dark-color-success: #439F6E;
57
- --tuix-dark-color-#439f6e: SUCCESS;
58
- --tuix-dark-color-success-50: rgba(241, 249, 245, 0.30);
59
- --tuix-dark-color-validation: #FFD489;
60
- --tuix-dark-color-validation-50: rgba(255, 212, 137, 0.20);
57
+ --tuix-dark-color-success: #6BC49D;
58
+ --tuix-dark-color-success-50: #F1F9F5;
59
+ --tuix-dark-color-validation: #F5C66A;
60
+ --tuix-dark-color-validation-50: #FFFBF4;
61
+ --tuix-dark-color-#fffbf4: VALIDATION_50;
61
62
  --tuix-dark-color-validation-200: #FFEAC1;
62
63
  --tuix-dark-color-#ffeac1: VALIDATION_200;
63
- --tuix-dark-color-error: #FF8486;
64
- --tuix-dark-color-error-50: rgba(255, 132, 134, 0.20);
64
+ --tuix-dark-color-error: #FF7A7A;
65
+ --tuix-dark-color-error-50: #FFF5F5;
66
+ --tuix-dark-color-#fff5f5: ERROR_50;
65
67
  --tuix-dark-color-error-200: #FFD8D8;
66
68
  --tuix-dark-color-#ffd8d8: ERROR_200;
67
69
  --tuix-dark-color-section-bg: #0E0E0E;
70
+ --tuix-dark-color-stroke-grey: #32355F;
68
71
  --tuix-dark-color-elevation-1: #141722;
69
72
  --tuix-dark-color-elevation-2: #181C29;
70
73
  --tuix-dark-color-elevation-3: #1D2131;
71
74
  --tuix-dark-color-elevation-4: #23273A;
75
+ --tuix-dark-color-toast-success: #3C4046;
76
+ --tuix-dark-color-toast-warning: #3F382D;
77
+ --tuix-dark-color-toast-text: #181A32;
78
+ --tuix-dark-color-toast-error: #3F282D;
72
79
  }
@@ -392,4 +392,12 @@ export const iconContentMap = {
392
392
  <path d="M12 20H21" stroke="#121212" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
393
393
  <path d="M16.5 3.50023C16.8978 3.1024 17.4374 2.87891 18 2.87891C18.2786 2.87891 18.5544 2.93378 18.8118 3.04038C19.0692 3.14699 19.303 3.30324 19.5 3.50023C19.697 3.69721 19.8532 3.93106 19.9598 4.18843C20.0665 4.4458 20.1213 4.72165 20.1213 5.00023C20.1213 5.2788 20.0665 5.55465 19.9598 5.81202C19.8532 6.06939 19.697 6.30324 19.5 6.50023L7 19.0002L3 20.0002L4 16.0002L16.5 3.50023Z" stroke="#121212" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
394
394
  </svg>`,
395
+ [IconName.MCP_LOGO]: `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
396
+ <path fill-rule="evenodd" clip-rule="evenodd" d="m21.835 11.813-.083.081-8.706 8.537a.274.274 0 0 0-.004.388l.004.005 1.788 1.755a.825.825 0 0 1 .017 1.164l-.015.015a.86.86 0 0 1-1.205 0l-1.788-1.752a1.92 1.92 0 0 1 0-2.754l8.708-8.538a2.47 2.47 0 0 0 .046-3.492l-.046-.048-.051-.048a2.587 2.587 0 0 0-3.608-.003l-7.171 7.035h-.003l-.098.097a.863.863 0 0 1-1.204 0 .825.825 0 0 1-.015-1.164l.015-.015 7.273-7.135a2.47 2.47 0 0 0 .04-3.494l-.043-.045a2.587 2.587 0 0 0-3.61 0l-9.624 9.443a.86.86 0 0 1-1.203 0 .825.825 0 0 1-.017-1.164l.017-.015 9.625-9.444a4.313 4.313 0 0 1 6.015 0 4.12 4.12 0 0 1 1.205 3.54 4.3 4.3 0 0 1 3.609 1.18l.05.05a4.115 4.115 0 0 1 .08 5.82m-2.536-2.33a.825.825 0 0 0 .015-1.164l-.015-.015a.86.86 0 0 0-1.205 0l-7.117 6.983a2.587 2.587 0 0 1-3.61 0 2.47 2.47 0 0 1-.046-3.495l.047-.047 7.12-6.982a.825.825 0 0 0 .017-1.164l-.017-.015a.86.86 0 0 0-1.204 0l-7.12 6.98a4.114 4.114 0 0 0 0 5.9 4.314 4.314 0 0 0 6.016 0z" fill="#121212"/>
397
+ </svg>`,
398
+ [IconName.ENDPOINTS]: `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
399
+ <path d="M17 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6M7 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6M21 7a3 3 0 1 0-6 0 3 3 0 0 0 6 0M10.5 10.5l4 4" stroke="#121212" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
400
+ <rect width="8" height="8" x="3" y="3" rx="2" stroke="#121212" stroke-width="2"/>
401
+ <path d="M7 12v3M12 7h3" stroke="#121212" stroke-width="2" stroke-linecap="round"/>
402
+ </svg>`,
395
403
  };
@@ -85,5 +85,7 @@ export declare enum IconName {
85
85
  TRIANGLE_RIGHT = "triangle-right",
86
86
  FILE_PLUS = "file-plus",
87
87
  FILE_TEXT = "file-text",
88
- HIGHLIGHT = "highlight"
88
+ HIGHLIGHT = "highlight",
89
+ MCP_LOGO = "mcp-logo",
90
+ ENDPOINTS = "endpoints"
89
91
  }
@@ -93,4 +93,6 @@ export var IconName;
93
93
  IconName["FILE_PLUS"] = "file-plus";
94
94
  IconName["FILE_TEXT"] = "file-text";
95
95
  IconName["HIGHLIGHT"] = "highlight";
96
+ IconName["MCP_LOGO"] = "mcp-logo";
97
+ IconName["ENDPOINTS"] = "endpoints";
96
98
  })(IconName || (IconName = {}));
@@ -51,9 +51,6 @@ let TuixInput = class TuixInput extends LitElement {
51
51
  _handleInputBase(e, eventName) {
52
52
  this.dispatchEvent(new CustomEvent(eventName, {
53
53
  detail: {
54
- // The listener is on the input itself, so the target is always one
55
- // of the two; the fallback keeps the detail a string, which is what
56
- // `CustomEventTuixInput` promises, rather than `false`.
57
54
  value: e.target instanceof HTMLInputElement ||
58
55
  e.target instanceof HTMLTextAreaElement
59
56
  ? e.target.value
@@ -34,6 +34,8 @@ export const hostStyles = css `
34
34
  --t-field-padding-top: 1.625rem;
35
35
  --t-field-padding-bottom: 0.625rem;
36
36
  --t-field-title-left-position: 1.25rem;
37
+ --t-field-title-font-size: 0.75rem;
38
+ --t-field-title-line-height: 0.875rem;
37
39
  }
38
40
  :host([dark]) {
39
41
  --t-field-color-form: ${unsafeCSS(DarkPalette.PRIMARY_950)};
@@ -184,18 +186,27 @@ export const inputTitleStyles = css `
184
186
  -ms-user-select: none;
185
187
  user-select: none;
186
188
  }
189
+ .t-input.with-title:not(.t-textarea):focus + .t-title,
190
+ .t-input.with-title:not(.t-textarea):not(:placeholder-shown) + .t-title,
187
191
  .t-textarea-container .t-title {
188
- top: 1rem;
189
- transform: none;
192
+ font-size: var(--t-field-title-font-size);
193
+ line-height: var(--t-field-title-line-height);
190
194
  }
191
- .t-input.with-title:focus + .t-title,
192
- .t-input.with-title:not(:placeholder-shown) + .t-title {
193
- font-size: 0.75rem;
194
- font-weight: 300;
195
- line-height: 0.875rem;
195
+ .t-input.with-title:not(.t-textarea):focus + .t-title,
196
+ .t-input.with-title:not(.t-textarea):not(:placeholder-shown) + .t-title {
196
197
  transform: translateY(0);
197
198
  top: 0.5rem;
198
199
  }
200
+ .t-textarea-container .t-title {
201
+ inset: var(--t-border-size) var(--t-border-size) auto;
202
+ padding: calc(
203
+ var(--t-field-padding-top) - var(--t-field-title-line-height) - 4px
204
+ )
205
+ var(--t-field-padding-x) 4px;
206
+ background-color: var(--t-field-color-form);
207
+ border-radius: 4px 4px 0 0;
208
+ transform: none;
209
+ }
199
210
  `;
200
211
  export const inputIconStyles = css `
201
212
  .t-input-container .t-icon-set-container {
@@ -16,10 +16,10 @@ export const toastBgColorMap = {
16
16
  [ToastType.SUCCESS]: Palette.SUCCESS_50,
17
17
  };
18
18
  export const toastBgDarkColorMap = {
19
- [ToastType.TEXT]: Palette.PRIMARY_950,
20
- [ToastType.WARNING]: DarkPalette.VALIDATION_50,
21
- [ToastType.ERROR]: DarkPalette.ERROR_50,
22
- [ToastType.SUCCESS]: DarkPalette.SUCCESS_50,
19
+ [ToastType.TEXT]: DarkPalette.TOAST_TEXT,
20
+ [ToastType.WARNING]: DarkPalette.TOAST_WARNING,
21
+ [ToastType.ERROR]: DarkPalette.TOAST_ERROR,
22
+ [ToastType.SUCCESS]: DarkPalette.TOAST_SUCCESS,
23
23
  };
24
24
  export const iconPropertiesMap = {
25
25
  [ToastType.TEXT]: {
@@ -26,5 +26,6 @@ export declare enum Palette {
26
26
  ERROR_200 = "#FFD8D8",
27
27
  SECTION_BG = "#FAFAFA",
28
28
  DISABLED_BG = "#EBEAF4",
29
+ STROKE_GREY = "#E1E0E7",
29
30
  SHADOW = "rgba(66, 79, 101, 0.16)"
30
31
  }
@@ -27,5 +27,6 @@ export var Palette;
27
27
  Palette["ERROR_200"] = "#FFD8D8";
28
28
  Palette["SECTION_BG"] = "#FAFAFA";
29
29
  Palette["DISABLED_BG"] = "#EBEAF4";
30
+ Palette["STROKE_GREY"] = "#E1E0E7";
30
31
  Palette["SHADOW"] = "rgba(66, 79, 101, 0.16)";
31
32
  })(Palette || (Palette = {}));
@@ -16,17 +16,22 @@ export declare enum DarkPalette {
16
16
  BLACK = "#0F1117",
17
17
  NEUTRAL_200 = "#C9C8D3",
18
18
  NEUTRAL_600 = "#8A8894",
19
- SUCCESS = "#439F6E",
20
- SUCCESS_50 = "rgba(241, 249, 245, 0.30)",
21
- VALIDATION = "#FFD489",
22
- VALIDATION_50 = "rgba(255, 212, 137, 0.20)",
19
+ SUCCESS = "#6BC49D",
20
+ SUCCESS_50 = "#F1F9F5",
21
+ VALIDATION = "#F5C66A",
22
+ VALIDATION_50 = "#FFFBF4",
23
23
  VALIDATION_200 = "#FFEAC1",
24
- ERROR = "#FF8486",
25
- ERROR_50 = "rgba(255, 132, 134, 0.20)",
24
+ ERROR = "#FF7A7A",
25
+ ERROR_50 = "#FFF5F5",
26
26
  ERROR_200 = "#FFD8D8",
27
27
  SECTION_BG = "#0E0E0E",
28
+ STROKE_GREY = "#32355F",
28
29
  ELEVATION_1 = "#141722",
29
30
  ELEVATION_2 = "#181C29",
30
31
  ELEVATION_3 = "#1D2131",
31
- ELEVATION_4 = "#23273A"
32
+ ELEVATION_4 = "#23273A",
33
+ TOAST_SUCCESS = "#3C4046",
34
+ TOAST_WARNING = "#3F382D",
35
+ TOAST_TEXT = "#181A32",
36
+ TOAST_ERROR = "#3F282D"
32
37
  }
@@ -17,17 +17,22 @@ export var DarkPalette;
17
17
  DarkPalette["BLACK"] = "#0F1117";
18
18
  DarkPalette["NEUTRAL_200"] = "#C9C8D3";
19
19
  DarkPalette["NEUTRAL_600"] = "#8A8894";
20
- DarkPalette["SUCCESS"] = "#439F6E";
21
- DarkPalette["SUCCESS_50"] = "rgba(241, 249, 245, 0.30)";
22
- DarkPalette["VALIDATION"] = "#FFD489";
23
- DarkPalette["VALIDATION_50"] = "rgba(255, 212, 137, 0.20)";
20
+ DarkPalette["SUCCESS"] = "#6BC49D";
21
+ DarkPalette["SUCCESS_50"] = "#F1F9F5";
22
+ DarkPalette["VALIDATION"] = "#F5C66A";
23
+ DarkPalette["VALIDATION_50"] = "#FFFBF4";
24
24
  DarkPalette["VALIDATION_200"] = "#FFEAC1";
25
- DarkPalette["ERROR"] = "#FF8486";
26
- DarkPalette["ERROR_50"] = "rgba(255, 132, 134, 0.20)";
25
+ DarkPalette["ERROR"] = "#FF7A7A";
26
+ DarkPalette["ERROR_50"] = "#FFF5F5";
27
27
  DarkPalette["ERROR_200"] = "#FFD8D8";
28
28
  DarkPalette["SECTION_BG"] = "#0E0E0E";
29
+ DarkPalette["STROKE_GREY"] = "#32355F";
29
30
  DarkPalette["ELEVATION_1"] = "#141722";
30
31
  DarkPalette["ELEVATION_2"] = "#181C29";
31
32
  DarkPalette["ELEVATION_3"] = "#1D2131";
32
33
  DarkPalette["ELEVATION_4"] = "#23273A";
34
+ DarkPalette["TOAST_SUCCESS"] = "#3C4046";
35
+ DarkPalette["TOAST_WARNING"] = "#3F382D";
36
+ DarkPalette["TOAST_TEXT"] = "#181A32";
37
+ DarkPalette["TOAST_ERROR"] = "#3F282D";
33
38
  })(DarkPalette || (DarkPalette = {}));
package/package.json CHANGED
@@ -7,7 +7,6 @@
7
7
  },
8
8
  "customElements": "custom-elements.json",
9
9
  "dependencies": {
10
- "countries-list": "^3.0.6",
11
10
  "lit": "^2.7.2"
12
11
  },
13
12
  "peerDependencies": {
@@ -33,7 +32,6 @@
33
32
  "@lit/react": "^1.0.8",
34
33
  "@storybook/addon-a11y": "^9.1.10",
35
34
  "@storybook/addon-docs": "^9.1.10",
36
- "@storybook/addon-vitest": "^9.1.10",
37
35
  "@storybook/web-components-vite": "^9.1.10",
38
36
  "@types/debug": "^4.1.12",
39
37
  "@types/react": "^18.3.31",
@@ -41,9 +39,8 @@
41
39
  "@types/uuid": "^10.0.0",
42
40
  "@typescript-eslint/eslint-plugin": "^5.59.1",
43
41
  "@typescript-eslint/parser": "^5.59.1",
44
- "@vitest/browser": "^3.2.4",
45
- "@vitest/coverage-v8": "^3.2.4",
46
42
  "commitlint": "^17.6.1",
43
+ "countries-list": "^3.0.6",
47
44
  "esbuild": "0.19.6",
48
45
  "eslint": "^8.39.0",
49
46
  "eslint-config-prettier": "^8.8.0",
@@ -57,7 +54,6 @@
57
54
  "jss": "^10.10.0",
58
55
  "jss-plugin-global": "^10.10.0",
59
56
  "lint-staged": "^13.2.1",
60
- "playwright": "^1.55.1",
61
57
  "prettier": "^2.8.8",
62
58
  "react": "^18.3.1",
63
59
  "semver": "^7.5.4",
@@ -69,8 +65,7 @@
69
65
  "tsx": "^4.20.6",
70
66
  "typescript": "~5.9.3",
71
67
  "uuid": "^10.0.0",
72
- "vite": "^7.1.7",
73
- "vitest": "^3.2.4"
68
+ "vite": "^7.1.7"
74
69
  },
75
70
  "exports": {
76
71
  ".": {
@@ -85,6 +80,7 @@
85
80
  "./tuix-webcomponents.js": "./dist/src/index.js"
86
81
  },
87
82
  "files": [
83
+ "custom-elements.json",
88
84
  "dist"
89
85
  ],
90
86
  "husky": {
@@ -128,22 +124,19 @@
128
124
  "createWebbundle": "tsx ./scripts/build-webbundle.ts",
129
125
  "docs:build": "npm --prefix docs run build",
130
126
  "docs:dev": "npm --prefix docs run dev",
131
- "docs:install": "npm --prefix docs install",
127
+ "docs:install": "npm --prefix docs ci",
132
128
  "docs:format": "npm --prefix docs run format",
133
129
  "generate:react": "tsx ./scripts/build-react.ts",
134
130
  "format": "prettier --write './**/*.{mjs,js,ts,tsx,vue}'",
135
131
  "format:check": "prettier --check \"**/**/*.ts\" ",
136
132
  "lint": "eslint './src/**/*.{ts,tsx}' --fix",
137
133
  "prepare": "husky install",
138
- "preview": "node ./scripts/preview.mjs",
139
- "prepublishOnly": "npm run build && npm run stage:package",
140
134
  "publish:local": "./scripts/publish-local-npm.sh",
141
135
  "stage:package": "rm -rf dist && mkdir dist && cp -a package-build/. dist/",
142
- "start": "rm -rf build && tsc --outDir build && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
143
- "storybook": "rm -rf build && npm run analyze && storybook dev -p 6006",
136
+ "storybook": "npm run analyze && storybook dev -p 6006",
144
137
  "storybook:build": "rm -rf dist/storybook && npm run analyze && storybook build -o dist/storybook",
145
- "test": "echo \"Error: no test specified\" && exit 1"
138
+ "test": "echo \"No tests configured\""
146
139
  },
147
140
  "type": "module",
148
- "version": "0.0.25"
141
+ "version": "0.0.27"
149
142
  }