@birdapi/velinstyle 1.2.0 → 1.2.2

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 (89) hide show
  1. package/README.de.md +150 -24
  2. package/README.md +155 -33
  3. package/cli/__fixtures__/atelier-library/showcases/01-login/app.css +1 -0
  4. package/cli/__fixtures__/atelier-library/showcases/01-login/app.js +2 -0
  5. package/cli/__fixtures__/atelier-library/showcases/01-login/index.html +5 -0
  6. package/cli/__fixtures__/atelier-library/showcases/04-pricing/app.css +1 -0
  7. package/cli/__fixtures__/atelier-library/showcases/04-pricing/app.js +2 -0
  8. package/cli/__fixtures__/atelier-library/showcases/04-pricing/index.html +5 -0
  9. package/cli/__fixtures__/atelier-library/showcases/36-calendar/app.css +1 -0
  10. package/cli/__fixtures__/atelier-library/showcases/36-calendar/app.js +2 -0
  11. package/cli/__fixtures__/atelier-library/showcases/36-calendar/index.html +5 -0
  12. package/cli/atelier-catalog.json +1267 -0
  13. package/cli/atelier-formats.js +159 -0
  14. package/cli/atelier.js +382 -0
  15. package/cli/blueprints/empty-state.html +3 -5
  16. package/cli/cli-manifest.json +23 -10
  17. package/cli/docgen/extract-attributes.js +2 -0
  18. package/cli/docgen/extract-cli.js +1 -1
  19. package/cli/index.js +181 -6
  20. package/cli/production/component-graph.json +166 -0
  21. package/cli/production/explain.js +52 -0
  22. package/cli/production/extract.js +238 -0
  23. package/cli/production/graph.js +102 -0
  24. package/cli/production/report.js +78 -0
  25. package/cli/production/run.js +312 -0
  26. package/cli/production/trim-css.js +177 -0
  27. package/cli/production/trim-fonts.js +23 -0
  28. package/cli/production/trim-icons.js +38 -0
  29. package/cli/production/trim-js.js +48 -0
  30. package/cli/production/trim-motion.js +22 -0
  31. package/cli/production/trim-themes.js +50 -0
  32. package/cli/production/watch.js +38 -0
  33. package/cli/review.js +48 -1
  34. package/cli/scripts/write-atelier-fixtures.mjs +33 -0
  35. package/cli/transparency.js +221 -0
  36. package/components/index.js +3 -0
  37. package/components/runtime/component-loaders.js +3 -0
  38. package/components/velin-drawer.js +43 -4
  39. package/components/velin-empty-state.js +83 -0
  40. package/components/velin-modal.js +76 -15
  41. package/components/velin-otp-input.js +220 -0
  42. package/components/velin-password-strength.js +147 -0
  43. package/components/velin-sheet.js +49 -4
  44. package/core/a11y/component-contracts.json +23 -4
  45. package/core/attributes/registry.js +14 -0
  46. package/core/meta/knowledge/components.json +75 -3
  47. package/core/meta/schema.js +10 -0
  48. package/core/transparency/attach.js +74 -0
  49. package/core/transparency/claims.js +97 -0
  50. package/core/transparency/doctor.js +142 -0
  51. package/core/transparency/engine.js +75 -0
  52. package/core/transparency/export.js +98 -0
  53. package/core/transparency/index.js +30 -0
  54. package/core/transparency/migrate.js +130 -0
  55. package/core/transparency/normalize.js +125 -0
  56. package/core/transparency/policy.js +105 -0
  57. package/core/transparency/providers.js +235 -0
  58. package/core/transparency/registry.js +104 -0
  59. package/core/transparency/renderer.js +111 -0
  60. package/core/transparency/reporter.js +113 -0
  61. package/core/transparency/validator.js +112 -0
  62. package/dist/chunks/attach-H2ZSEAE6.js +365 -0
  63. package/dist/chunks/attributes-2ORR27KA.js +404 -0
  64. package/dist/chunks/attributes-DZCXX2RZ.js +404 -0
  65. package/dist/chunks/chunk-CQMTCEI6.js +113 -0
  66. package/dist/chunks/chunk-Y6HN7HWX.js +116 -0
  67. package/dist/chunks/runtime-entry.js +1 -1
  68. package/dist/chunks/velin-drawer-A7Q7EBOS.js +162 -0
  69. package/dist/chunks/velin-empty-state-3NTUH2RF.js +81 -0
  70. package/dist/chunks/velin-modal-3MV4FYBK.js +231 -0
  71. package/dist/chunks/velin-otp-input-PSK42MM6.js +207 -0
  72. package/dist/chunks/velin-password-strength-TAXMLSED.js +136 -0
  73. package/dist/chunks/velin-sheet-N2VVYXFP.js +157 -0
  74. package/dist/llms.txt +5 -4
  75. package/dist/search-index.json +94 -5
  76. package/dist/velin-agent.json +290 -23
  77. package/dist/velinstyle-components.iife.js +3189 -2202
  78. package/dist/velinstyle-components.js +3187 -2196
  79. package/dist/velinstyle-components.min.js +261 -119
  80. package/dist/velinstyle.css +214 -6
  81. package/dist/velinstyle.d.ts +3 -0
  82. package/dist/velinstyle.min.css +1 -1
  83. package/package.json +143 -142
  84. package/packages/velinstyle-skills/catalog.json +1 -1
  85. package/src/components/data-table.css +19 -0
  86. package/src/components/empty-auth.css +33 -0
  87. package/src/components/table.css +16 -6
  88. package/src/components/transparency.css +138 -0
  89. package/src/velinstyle.css +2 -0
@@ -2974,6 +2974,166 @@
2974
2974
  font-size: var(--velin-text-sm);
2975
2975
  }
2976
2976
 
2977
+ .velin-transparency {
2978
+ --velin-tx-bg: color-mix(in oklab, var(--velin-color-surface) 88%, transparent);
2979
+ --velin-tx-fg: var(--velin-color-text);
2980
+ --velin-tx-border: var(--velin-color-border);
2981
+ --velin-tx-accent: var(--velin-color-info, var(--velin-color-primary));
2982
+ box-sizing: border-box;
2983
+ z-index: var(--velin-z-overlay, 1900);
2984
+ font-family: var(--velin-font-sans, system-ui, sans-serif);
2985
+ font-size: var(--velin-text-xs, .75rem);
2986
+ color: var(--velin-tx-fg);
2987
+ line-height: 1.3;
2988
+ }
2989
+
2990
+ .velin-transparency--tone-information {
2991
+ --velin-tx-accent: var(--velin-color-info, var(--velin-color-primary));
2992
+ }
2993
+
2994
+ .velin-transparency--tone-warning {
2995
+ --velin-tx-accent: var(--velin-color-warning);
2996
+ }
2997
+
2998
+ .velin-transparency--tone-neutral {
2999
+ --velin-tx-accent: var(--velin-color-text-muted);
3000
+ }
3001
+
3002
+ .velin-transparency--tone-verified {
3003
+ --velin-tx-accent: var(--velin-color-success);
3004
+ }
3005
+
3006
+ .velin-transparency--tone-generated {
3007
+ --velin-tx-accent: var(--velin-color-primary);
3008
+ }
3009
+
3010
+ .velin-transparency--tone-human {
3011
+ --velin-tx-accent: var(--velin-color-success);
3012
+ }
3013
+
3014
+ .velin-transparency--tone-mixed {
3015
+ --velin-tx-accent: var(--velin-color-secondary, var(--velin-color-primary));
3016
+ }
3017
+
3018
+ .velin-transparency--badge, .velin-transparency--icon, .velin-transparency--overlay {
3019
+ border-radius: var(--velin-radius-full, 999px);
3020
+ border: 1px solid color-mix(in oklab, var(--velin-tx-accent) 45%, var(--velin-tx-border));
3021
+ background: var(--velin-tx-bg);
3022
+ backdrop-filter: blur(8px);
3023
+ max-width: min(16rem, 90%);
3024
+ box-shadow: var(--velin-shadow-sm, 0 1px 2px #00000026);
3025
+ align-items: center;
3026
+ gap: .35rem;
3027
+ padding: .25rem .55rem;
3028
+ display: inline-flex;
3029
+ position: absolute;
3030
+ }
3031
+
3032
+ .velin-transparency--pos-top-right {
3033
+ inset: .5rem .5rem auto auto;
3034
+ }
3035
+
3036
+ .velin-transparency--pos-top-left {
3037
+ inset: .5rem auto auto .5rem;
3038
+ }
3039
+
3040
+ .velin-transparency--pos-bottom-right {
3041
+ inset: auto .5rem .5rem auto;
3042
+ }
3043
+
3044
+ .velin-transparency--pos-bottom-left {
3045
+ inset: auto auto .5rem .5rem;
3046
+ }
3047
+
3048
+ .velin-transparency--ribbon {
3049
+ border-radius: var(--velin-radius-sm, 4px);
3050
+ background: var(--velin-tx-accent);
3051
+ color: var(--velin-color-on-primary, #fff);
3052
+ box-shadow: var(--velin-shadow-sm, 0 1px 2px #0003);
3053
+ padding: .3rem .85rem;
3054
+ position: absolute;
3055
+ top: .85rem;
3056
+ right: -.35rem;
3057
+ transform: rotate(8deg);
3058
+ }
3059
+
3060
+ .velin-transparency--inline {
3061
+ border-radius: var(--velin-radius-md, 6px);
3062
+ border: 1px solid var(--velin-tx-border);
3063
+ background: var(--velin-color-surface-dim, var(--velin-tx-bg));
3064
+ align-items: center;
3065
+ gap: .35rem;
3066
+ margin-inline: .25rem;
3067
+ padding: .15rem .45rem;
3068
+ display: inline-flex;
3069
+ position: static;
3070
+ }
3071
+
3072
+ .velin-transparency--footer, .velin-transparency--banner {
3073
+ border-block-start: 2px solid var(--velin-tx-accent);
3074
+ background: color-mix(in oklab, var(--velin-tx-accent) 8%, var(--velin-color-surface));
3075
+ border-radius: 0 0 var(--velin-radius-md, 6px) var(--velin-radius-md, 6px);
3076
+ flex-wrap: wrap;
3077
+ gap: .35rem .75rem;
3078
+ width: 100%;
3079
+ margin-block-start: .5rem;
3080
+ padding: .55rem .75rem;
3081
+ display: flex;
3082
+ position: static;
3083
+ }
3084
+
3085
+ .velin-transparency--panel, .velin-transparency--tooltip {
3086
+ border-radius: var(--velin-radius-md, 6px);
3087
+ border: 1px solid var(--velin-tx-border);
3088
+ background: var(--velin-color-surface);
3089
+ min-width: 12rem;
3090
+ max-width: min(20rem, 92%);
3091
+ box-shadow: var(--velin-shadow-md, 0 8px 24px #0000002e);
3092
+ gap: .25rem;
3093
+ padding: .65rem .75rem;
3094
+ display: grid;
3095
+ position: absolute;
3096
+ }
3097
+
3098
+ .velin-transparency--panel .velin-transparency__details, .velin-transparency--tooltip .velin-transparency__details, .velin-transparency--footer .velin-transparency__details, .velin-transparency--ribbon .velin-transparency__details {
3099
+ display: block;
3100
+ }
3101
+
3102
+ .velin-transparency__label {
3103
+ font-weight: var(--velin-weight-semibold, 600);
3104
+ color: var(--velin-tx-accent);
3105
+ }
3106
+
3107
+ .velin-transparency__details {
3108
+ color: var(--velin-color-text-muted);
3109
+ font-weight: var(--velin-weight-normal, 400);
3110
+ }
3111
+
3112
+ .velin-transparency--icon {
3113
+ justify-content: center;
3114
+ min-width: 1.75rem;
3115
+ min-height: 1.75rem;
3116
+ padding: .25rem;
3117
+ }
3118
+
3119
+ .velin-transparency--icon .velin-transparency__label {
3120
+ clip: rect(0, 0, 0, 0);
3121
+ width: 1px;
3122
+ height: 1px;
3123
+ position: absolute;
3124
+ overflow: hidden;
3125
+ }
3126
+
3127
+ .velin-transparency--icon:before {
3128
+ content: "ⓘ";
3129
+ color: var(--velin-tx-accent);
3130
+ font-style: normal;
3131
+ }
3132
+
3133
+ [velin-transparency], [velin-disclosure] {
3134
+ position: relative;
3135
+ }
3136
+
2977
3137
  .velin-table-wrapper {
2978
3138
  -webkit-overflow-scrolling: touch;
2979
3139
  overflow-x: auto;
@@ -3016,30 +3176,35 @@
3016
3176
  font-size: var(--velin-text-sm);
3017
3177
  }
3018
3178
 
3019
- .velin-table-primary {
3179
+ .velin-table-primary, .velin-table--primary {
3020
3180
  background-color: color-mix(in oklch, var(--velin-color-primary) 10%, transparent);
3021
3181
  }
3022
3182
 
3023
- .velin-table-secondary {
3183
+ .velin-table-secondary, .velin-table--secondary {
3024
3184
  background-color: color-mix(in oklch, var(--velin-color-secondary) 10%, transparent);
3025
3185
  }
3026
3186
 
3027
- .velin-table-success {
3187
+ .velin-table-success, .velin-table--success {
3028
3188
  background-color: color-mix(in oklch, var(--velin-color-success) 10%, transparent);
3029
3189
  }
3030
3190
 
3031
- .velin-table-warning {
3191
+ .velin-table-warning, .velin-table--warning {
3032
3192
  background-color: color-mix(in oklch, var(--velin-color-warning) 10%, transparent);
3033
3193
  }
3034
3194
 
3035
- .velin-table-danger {
3195
+ .velin-table-danger, .velin-table--danger {
3036
3196
  background-color: color-mix(in oklch, var(--velin-color-danger) 10%, transparent);
3037
3197
  }
3038
3198
 
3039
- .velin-table-info {
3199
+ .velin-table-info, .velin-table--info {
3040
3200
  background-color: color-mix(in oklch, var(--velin-color-info) 10%, transparent);
3041
3201
  }
3042
3202
 
3203
+ .velin-table--selected {
3204
+ background-color: color-mix(in oklch, var(--velin-color-primary) 12%, transparent);
3205
+ box-shadow: inset 3px 0 0 var(--velin-color-primary);
3206
+ }
3207
+
3043
3208
  .velin-table .velin-caption-top {
3044
3209
  caption-side: top;
3045
3210
  padding-block: var(--velin-space-2);
@@ -3146,6 +3311,21 @@
3146
3311
  text-align: center;
3147
3312
  }
3148
3313
 
3314
+ .velin-data-table__row--danger, .velin-data-table tr[data-severity="danger"] {
3315
+ background-color: color-mix(in oklch, var(--velin-color-danger) 12%, transparent);
3316
+ box-shadow: inset 3px 0 0 var(--velin-color-danger);
3317
+ }
3318
+
3319
+ .velin-data-table__row--warning, .velin-data-table tr[data-severity="warning"] {
3320
+ background-color: color-mix(in oklch, var(--velin-color-warning) 12%, transparent);
3321
+ box-shadow: inset 3px 0 0 var(--velin-color-warning);
3322
+ }
3323
+
3324
+ .velin-data-table__row--selected, .velin-data-table tr[data-severity="selected"] {
3325
+ background-color: color-mix(in oklch, var(--velin-color-primary) 12%, transparent);
3326
+ box-shadow: inset 3px 0 0 var(--velin-color-primary);
3327
+ }
3328
+
3149
3329
  .velin-data-table__pagination {
3150
3330
  justify-content: space-between;
3151
3331
  align-items: center;
@@ -5062,6 +5242,34 @@
5062
5242
  inset-block-start: var(--velin-space-2);
5063
5243
  inset-inline-end: var(--velin-space-2);
5064
5244
  }
5245
+
5246
+ .velin-otp-input, .velin-password-strength {
5247
+ display: block;
5248
+ }
5249
+
5250
+ .velin-empty-state {
5251
+ text-align: center;
5252
+ padding: var(--velin-space-8) var(--velin-space-4);
5253
+ display: block;
5254
+ }
5255
+
5256
+ .velin-empty-state__title {
5257
+ margin: 0 0 var(--velin-space-2);
5258
+ font-size: var(--velin-text-xl);
5259
+ font-weight: var(--velin-weight-bold);
5260
+ }
5261
+
5262
+ .velin-empty-state__description {
5263
+ margin: 0 0 var(--velin-space-4);
5264
+ color: var(--velin-color-text-muted);
5265
+ }
5266
+
5267
+ .velin-empty-state__actions {
5268
+ gap: var(--velin-space-3);
5269
+ flex-wrap: wrap;
5270
+ justify-content: center;
5271
+ display: flex;
5272
+ }
5065
5273
  }
5066
5274
 
5067
5275
  @layer utilities {
@@ -29,6 +29,7 @@ declare global {
29
29
  'velin-drawer': HTMLElement;
30
30
  'velin-dropdown': HTMLElement;
31
31
  'velin-email': HTMLElement;
32
+ 'velin-empty-state': HTMLElement;
32
33
  'velin-file-dropzone': HTMLElement;
33
34
  'velin-form-summary': HTMLElement;
34
35
  'velin-icon': HTMLElement;
@@ -36,6 +37,8 @@ declare global {
36
37
  'velin-live-dot': HTMLElement;
37
38
  'velin-menubar': HTMLElement;
38
39
  'velin-modal': HTMLElement;
40
+ 'velin-otp-input': HTMLElement;
41
+ 'velin-password-strength': HTMLElement;
39
42
  'velin-persist': HTMLElement;
40
43
  'velin-popover': HTMLElement;
41
44
  'velin-progress-ring': HTMLElement;