procode-vs-theme 2.1.0 → 2.4.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 (68) hide show
  1. package/CHANGELOG.md +214 -45
  2. package/dist/components.esm.js +28 -4
  3. package/dist/components.esm.js.map +1 -1
  4. package/dist/components.js +35 -3
  5. package/dist/components.js.map +1 -1
  6. package/dist/index.esm.js +41 -5
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.js +41 -5
  9. package/dist/index.js.map +1 -1
  10. package/dist/src/base/_border.scss +21 -12
  11. package/dist/src/base/_color.scss +106 -47
  12. package/dist/src/base/_custom-properties.scss +166 -111
  13. package/dist/src/base/_font.scss +61 -37
  14. package/dist/src/base/_size.scss +30 -17
  15. package/dist/src/base/_space.scss +53 -33
  16. package/dist/src/base/_variants.scss +128 -0
  17. package/dist/src/components/_alert.scss +83 -0
  18. package/dist/src/components/_badge.scss +100 -0
  19. package/dist/src/components/_buttons.scss +189 -420
  20. package/dist/src/components/_cards.scss +130 -0
  21. package/dist/src/components/_input.scss +186 -32
  22. package/dist/src/components/_link.scss +34 -0
  23. package/dist/src/components/_page.scss +87 -0
  24. package/dist/src/components/_pagination.scss +71 -0
  25. package/dist/src/components/_table.scss +171 -0
  26. package/dist/src/components/_tabs.scss +77 -0
  27. package/dist/src/components.ts +47 -23
  28. package/dist/src/index.scss +82 -71
  29. package/dist/src/utilities/_interaction.scss +72 -0
  30. package/dist/src/utilities/background-color/index.scss +13 -0
  31. package/dist/src/utilities/border/_border-color.scss +2 -0
  32. package/dist/src/utilities/box-shadow/index.scss +8 -8
  33. package/dist/src/utilities/spaces/_gap.scss +21 -2
  34. package/dist/src/utilities/typography/_color.scss +38 -34
  35. package/dist/src/variables.ts +38 -35
  36. package/dist/types/components.d.ts +18 -2
  37. package/dist/types/variables.d.ts +2 -0
  38. package/dist/variables.esm.js +4 -1
  39. package/dist/variables.esm.js.map +1 -1
  40. package/dist/variables.js +4 -0
  41. package/dist/variables.js.map +1 -1
  42. package/package.json +84 -84
  43. package/src/base/_border.scss +21 -12
  44. package/src/base/_color.scss +106 -47
  45. package/src/base/_custom-properties.scss +166 -111
  46. package/src/base/_font.scss +61 -37
  47. package/src/base/_size.scss +30 -17
  48. package/src/base/_space.scss +53 -33
  49. package/src/base/_variants.scss +128 -0
  50. package/src/components/_alert.scss +83 -0
  51. package/src/components/_badge.scss +100 -0
  52. package/src/components/_buttons.scss +189 -420
  53. package/src/components/_cards.scss +130 -0
  54. package/src/components/_input.scss +186 -32
  55. package/src/components/_link.scss +34 -0
  56. package/src/components/_page.scss +87 -0
  57. package/src/components/_pagination.scss +71 -0
  58. package/src/components/_table.scss +171 -0
  59. package/src/components/_tabs.scss +77 -0
  60. package/src/components.ts +47 -23
  61. package/src/index.scss +82 -71
  62. package/src/utilities/_interaction.scss +72 -0
  63. package/src/utilities/background-color/index.scss +13 -0
  64. package/src/utilities/border/_border-color.scss +2 -0
  65. package/src/utilities/box-shadow/index.scss +8 -8
  66. package/src/utilities/spaces/_gap.scss +21 -2
  67. package/src/utilities/typography/_color.scss +38 -34
  68. package/src/variables.ts +38 -35
package/CHANGELOG.md CHANGED
@@ -1,46 +1,215 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [2.1.0] - 2026-08-18
9
-
10
- > Minor: both entries are additive — new tokens, no existing value changed.
11
-
12
- ### Added
13
- - **Dialog-scale spacing: `$space-xxl` (28px) and `$space-xxxl` (30px).** The
14
- legacy alias scale topped out at `$space-xl` (21px), which is too tight for
15
- the outer padding of the larger modals the column chooser wanted 28/30 and
16
- had nowhere on the scale to get it. Both are in `$spacers`, so the
17
- `qo-p-*` / `qo-m-*` / `qo-gap-*` utilities pick them up, and both are exposed
18
- as `--qo-space-xxl` / `--qo-space-xxxl`.
19
- - **`$text-darker` (#333333).** `$text-dark` (#464646) was the darkest text
20
- token, but dialog headings in the design sit a step below it — measured off
21
- the column-chooser reference screenshot, whose title renders at #333333.
22
- Exposed as `--qo-text-darker` and the `qo-text-darker` utility.
23
-
24
- ⚠️ **Cross-package coupling:** `procode-vs-template` now references these in
25
- `GridToolBar/scss/index.scss`. An app pinning an older `procode-vs-theme`
26
- alongside that vs-template will fail to compile with "Undefined variable".
27
- Ship the two together.
28
-
29
- ## [1.0.0] - 2025-10-08
30
-
31
- ### Added
32
- - Initial release of VarStreet VS Theme Package
33
- - Comprehensive SCSS theme system with modular architecture
34
- - Multiple export endpoints:
35
- - Main theme export for complete theme access
36
- - `/variables` for design tokens and theme variables
37
- - `/components` for component-specific styling
38
- - `/layout` for layout and grid system
39
- - `/utilities` for utility classes and helpers
40
- - `/scss` and `/styles` for direct SCSS file access
41
- - Theme configuration interface and utility functions
42
- - Full TypeScript support with comprehensive type definitions
43
- - Base styling system with typography, colors, and foundational styles
44
- - Component-specific styling for buttons, forms, and UI elements
45
- - Flexible layout system with grid, flexbox, and positioning utilities
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [2.4.0] - 2026-09-11
9
+
10
+ > Minor and **purely additive at the class level** 473 new classes, **none
11
+ > removed**. 2.3.0 aligned the *tokens* with the VARStreet listing-page
12
+ > specification; 2.4.0 builds the Bootstrap-shaped **component layer** on top
13
+ > of them, so a screen composes `qo-btn qo-btn-primary` instead of assembling
14
+ > a button out of utilities. Every component carries its own `:hover`,
15
+ > `:active`, `:focus-visible` and `:disabled` statesthere are no separate
16
+ > state classes to add.
17
+
18
+ ### Added — `base/_variants.scss`, the single source of truth
19
+
20
+ Buttons, badges, alerts, cards, links and inputs all loop over one
21
+ `$variants` map. Each entry carries `base` / `hover` / `active` / `on` /
22
+ `soft` / `ink`, so a new semantic colour is declared once and every component
23
+ picks it up. `hover` and `active` are pre-computed there rather than in each
24
+ component, so the two can no longer drift, and a design token
25
+ (`$text-primary-hover`, `$text-danger-hover`) always wins over the computed
26
+ −8 % / −12 % step.
27
+
28
+ `$status-variants` holds the tint-only entries — `standard`, `lite`,
29
+ `system`, `custom`, `active`. These name *a state of a record*, not a
30
+ component colour: there is no solid "system role" button, so they get `soft`
31
+ and `ink` and nothing else.
32
+
33
+ ### Added components
34
+
35
+ | Component | Classes | Notes |
36
+ |---|---|---|
37
+ | Buttons | `qo-btn` + `-<v>`, `-outline-<v>`, `-soft-<v>`, `-link-<v>` | 4 families × 10 variants |
38
+ | Button sizes | `qo-btn-xs\|sm\|md\|lg`, `-icon`, `-full`, `-pill`, `-square` | `-icon` is square at every size |
39
+ | Button group | `qo-btn-group` | Adjacent buttons share one outline |
40
+ | Badges | `qo-badge` + 15 tint, 10 solid, 10 outline variants | `-sm\|md\|lg`, `-square`, `-fixed`, `-action`, `qo-badge-dot` |
41
+ | Forms | `qo-input` (+ `-xs\|sm\|md\|lg`), `qo-select`, `qo-check`, `qo-label`, `qo-help`, `qo-field` | Validation states `-success\|warning\|danger\|info` |
42
+ | Input group | `qo-input-group`, `qo-input-icon-start\|end`, `-search` | Icon is positioned, not padded in by hand |
43
+ | Cards | `qo-card` (+ accent per variant), `qo-card-header\|body\|footer` | `qo-metric-card`, `qo-metric-icon` (any tint), `qo-metrics-grid` |
44
+ | Data grid | `qo-grid-shell`, `qo-grid-scroll`, `qo-table`, `qo-table-header\|filter`, `qo-table-link\|meta\|sort` | `-striped`, `-compact`, `-borderless`, `qo-table-row-locked` |
45
+ | Pagination | `qo-pagination`, `qo-page-btn` (+ `-active`), `qo-page-size` | |
46
+ | Tabs | `qo-tabs` (+ `-sm`, `-pill`), `qo-tab` (+ `-active`) | Underline drawn on `::after` so the tab does not shift 2px when activated |
47
+ | Alerts | `qo-alert` + 15 tint, 10 outline, 10 accent variants | `qo-alert-icon\|title\|close` |
48
+ | Page shell | `qo-page`, `qo-page-header\|title\|subtitle\|action`, `qo-toolbar` (+ `-between`, `-end`, `-wrap`), `qo-toolbar-search` | Responsive at 1200px / 768px per the spec |
49
+ | Links | `qo-link` + per-variant, `-muted`, `-underline`, `-plain` | |
50
+
51
+ ### Added — interaction utilities (`utilities/_interaction.scss`)
52
+
53
+ - `qo-focusable` applies the theme's single `$focus-ring` to anything;
54
+ `qo-clickable` is the whole pointer affordance; `qo-hoverable` is elevation-only.
55
+ - `qo-shadow-none|sm|md|lg|xl` — the token-named aliases of `qo-boxshadow-*`.
56
+ - `qo-h-control`, `-control-sm`, `-badge`, `-grid-header`, `-grid-filter`,
57
+ `-grid-row`, `qo-min-h-control` — so a bare element lines up with a control.
58
+ - `qo-sr-only` — the spec requires icon-only buttons to carry a real label.
59
+ - A `prefers-reduced-motion` block that neutralises every transition the
60
+ component layer introduces.
61
+
62
+ ### Fixed — two defects that were in the register
63
+
64
+ - **`qo-btn-danger` was red-on-red.** `color` was `$text-danger` over a
65
+ `$background-danger` fill. It now uses the variant's `on` colour (white),
66
+ and `:hover` darkens the fill instead of washing it out to a 6 %-alpha
67
+ transparency.
68
+ - **`qo-btn-outline-default` had invisible text.** It set `color: $text-light`
69
+ (white) on a transparent background, so the label only appeared on hover —
70
+ which stayed hidden because six of its seven uses were icon-only buttons.
71
+ Outline variants now take the variant's `ink` colour, which is legible on a
72
+ white page by construction.
73
+
74
+ ### Notes
75
+
76
+ - **Focus is `:focus-visible`, not `:focus`.** A mouse click does not leave a
77
+ ring behind, which is why hand-rolled `:focus` rings were being deleted
78
+ screen by screen. Keyboard focus is never suppressed.
79
+ - **The global `*:disabled` rule still wins.** `components/_disabled.scss`
80
+ sets `background-color: $background-disabled !important` on every disabled
81
+ element, so a disabled `qo-btn-primary` renders grey rather than a faded
82
+ blue. That rule predates this release and was left alone.
83
+ - `qo-select` uses `@extend .qo-input`, and `.qo-input-group` uses `:has()`
84
+ for its trailing-icon padding — Chrome 105+, Safari 15.4+, Firefox 121+.
85
+
86
+ ## [2.3.0] - 2026-09-11
87
+
88
+ > Minor, but **every screen changes appearance**. This aligns the theme with the
89
+ > VARStreet listing-page specification (`Resprces/varstreet-listing-page.css`).
90
+ > 48 token values move and 44 tokens are added; **no token or utility class is
91
+ > removed**, so nothing breaks by reference — but sizes, spacing, radii and
92
+ > colours all shift. Read "Behaviour changes" below before adopting.
93
+
94
+ ### Changed — scales restructured as whole ladders
95
+
96
+ A scale is only coherent if it moves as a set, so where the spec redefined one
97
+ step, the whole ladder was re-derived rather than spot-patched.
98
+
99
+ - **Font sizes.** The spec supplies six steps (11/12/13/14/18/22) and the ladder
100
+ has six slots above `xxs`, so each spec value lands on exactly one existing
101
+ name: `xs` 10→11, `sm` 11→12, `md` 12→13, `lg` **14 (unchanged)**, `xl` 16→18,
102
+ `xxl` 18→22, `xxs` 8→10. `lg` holding at 14px is what makes this survivable —
103
+ it is both the most-used step in the consuming app and the spec's body size.
104
+ `$font-size-base` is added as an explicit alias of `lg`.
105
+ - **Spacing.** Replaced the non-linear Bootstrap rem ladder with the spec's
106
+ strict 4px grid, where the index is the multiplier: `1`→4px, `2`→8px,
107
+ `3` 16→12px, `4` 24→16px, `5` 48→20px, plus new `6` (24px) and `8` (32px).
108
+ Steps 1 and 2 were already correct and do not move.
109
+ The t-shirt aliases are now the same ladder instead of a parallel off-grid
110
+ one: `xs` 2.5→4, `sm` 5→8, `md` 12.5→12, `lg` 16.5→16, `xl` 21→20,
111
+ `xxl` 28→24, `xxxl` 30→32 — every one moves 3px or less.
112
+ - **Border radius.** `sm` 2→4, `md` 4→6, `lg` 16→8 per the spec. `xl` is now
113
+ 16px, which also resolves a latent duplication: `lg` and `xl` were both 16px.
114
+ `pill` is 999px rather than 50rem (identical rendering).
115
+ - **The neutral ramp is now cool.** The spec's greys are blue-tinted where the
116
+ previous ones were flat, and mixing the two ramps is what makes a
117
+ half-rebranded screen look dirty, so they were replaced as a set:
118
+ `#f7f7f7`→`#f7f9fc`, `#f4f4f4`→`#f8fafc`, `#e3e3e3`→`#e9edf2`,
119
+ `#d9d9d9`→`#d9e0e7`, `#808080`→`#7b8492`, `#595959`→`#667085`,
120
+ `#464646`→`#273142`, `#333333`→`#111827`.
121
+ - **Brand and status colours.** primary `#2666e3`→`#1261e8` (hover
122
+ `#1c428d`→`#0d4fc4`), success `#5ca224`/`#67b926`→`#49a51a`, danger
123
+ `#f90b0b`/`#e74c3c`→`#ef4444`, warning `#f39c12`/`#f97d0b`→`#ef8a00`, info
124
+ `#17baff`→`#164ea3`, placeholder `#808080`→`#8a94a6`.
125
+
126
+ ### Added
127
+
128
+ - **Soft/tint background family** — `$background-{primary,success,warning,danger,info}-soft`
129
+ plus `-lite-soft`, `-system-soft`, `-custom-soft`, with matching
130
+ `qo-bg-*-soft` classes. Badges, banners and icon chips had no pale fill to
131
+ use and were hand-colouring hex values screen by screen.
132
+ - **`$focus-ring`** (`--qo-focus-ring`). The stack had no focus token at all;
133
+ several screens hand-rolled `box-shadow: 0 0 0 …`.
134
+ - **Shadow tokens** `$shadow-sm|md|lg|xl` (`--qo-shadow-*`) on the spec's
135
+ cool-neutral hue. The `qo-boxshadow-*` utilities now consume these.
136
+ `$boxshadow-primary` is retained as the shadow *colour* token.
137
+ - **Component heights** — `$control-height` (40px), `$control-height-sm` (32px),
138
+ `$grid-header-height` (44px), `$grid-filter-height` (48px),
139
+ `$grid-row-height` (58px), `$badge-height` (24px).
140
+ - **Badge/status text** `$text-lite`, `$text-system`, `$text-custom` and
141
+ `$border-primary-soft`, `$background-hover`, `$background-header`.
142
+ - **Missing utility classes** for tokens that already existed but were
143
+ unreachable from JSON: `qo-border-default`, `qo-bg-disabled`,
144
+ `qo-text-placeholder`.
145
+
146
+ ### Fixed — values that existed but were never emitted
147
+
148
+ Eleven SCSS values were declared and then not exposed as custom properties, so
149
+ JSON and inline styles could not reach them. All are now emitted:
150
+ `--qo-line-height-{xxs…xxl}` (+ new `-base`), `--qo-space-xs`,
151
+ `--qo-text-primary-hover`, `--qo-text-danger-hover`, `--qo-bg-lime`,
152
+ `--qo-bg-transparent`, `--qo-menu-size`.
153
+
154
+ - **`--qo-text-muted` added as an alias of `--qo-text-secondary`.** The
155
+ consuming app references `--qo-text-muted` in 6 places against a variable the
156
+ theme never defined, so those declarations silently resolved to nothing.
157
+
158
+ ### Behaviour changes that can break an existing screen
159
+
160
+ - Any screen using `qo-font-md` / `--qo-font-size-md` gains 1px; `qo-font-xxl`
161
+ gains 4px. `qo-font-lg` is unaffected.
162
+ - `--qo-space-3` loses 4px and `--qo-space-4` loses 8px — the two heaviest
163
+ non-matching spacing steps. `--qo-space-5` drops from 48px to 20px, which is
164
+ the largest single move in this release; check anything using it for layout.
165
+ - `--qo-border-radius-lg` halves (16→8px).
166
+ - **Hardcoded hex values do not follow the tokens.** The consuming app contains
167
+ 675 hardcoded colour literals, led by `#2666e3` ×61 (the old primary),
168
+ `#464646` ×35 and `#808080` ×22. Until those are swept onto tokens, adopting
169
+ this version produces a half-rebranded UI. This sweep is the real adoption
170
+ cost of 2.3.0, not the version bump.
171
+ - Seven further `--qo-*` names are referenced by the app but defined nowhere
172
+ (`--qo-border-color` ×13, `--qo-border-radius` ×3, `--qo-primary` ×2,
173
+ `--qo-font-sm` ×2, `--qo-bg-muted` ×2, `--qo-spacing-md` ×1,
174
+ `--qo-line-height-md` ×1 — the last now resolves). They remain broken and
175
+ should be corrected app-side.
176
+
177
+ ## [2.1.0] - 2026-08-18
178
+
179
+ > Minor: both entries are additive — new tokens, no existing value changed.
180
+
181
+ ### Added
182
+ - **Dialog-scale spacing: `$space-xxl` (28px) and `$space-xxxl` (30px).** The
183
+ legacy alias scale topped out at `$space-xl` (21px), which is too tight for
184
+ the outer padding of the larger modals — the column chooser wanted 28/30 and
185
+ had nowhere on the scale to get it. Both are in `$spacers`, so the
186
+ `qo-p-*` / `qo-m-*` / `qo-gap-*` utilities pick them up, and both are exposed
187
+ as `--qo-space-xxl` / `--qo-space-xxxl`.
188
+ - **`$text-darker` (#333333).** `$text-dark` (#464646) was the darkest text
189
+ token, but dialog headings in the design sit a step below it — measured off
190
+ the column-chooser reference screenshot, whose title renders at #333333.
191
+ Exposed as `--qo-text-darker` and the `qo-text-darker` utility.
192
+
193
+ ⚠️ **Cross-package coupling:** `procode-vs-template` now references these in
194
+ `GridToolBar/scss/index.scss`. An app pinning an older `procode-vs-theme`
195
+ alongside that vs-template will fail to compile with "Undefined variable".
196
+ Ship the two together.
197
+
198
+ ## [1.0.0] - 2025-10-08
199
+
200
+ ### Added
201
+ - Initial release of VarStreet VS Theme Package
202
+ - Comprehensive SCSS theme system with modular architecture
203
+ - Multiple export endpoints:
204
+ - Main theme export for complete theme access
205
+ - `/variables` for design tokens and theme variables
206
+ - `/components` for component-specific styling
207
+ - `/layout` for layout and grid system
208
+ - `/utilities` for utility classes and helpers
209
+ - `/scss` and `/styles` for direct SCSS file access
210
+ - Theme configuration interface and utility functions
211
+ - Full TypeScript support with comprehensive type definitions
212
+ - Base styling system with typography, colors, and foundational styles
213
+ - Component-specific styling for buttons, forms, and UI elements
214
+ - Flexible layout system with grid, flexbox, and positioning utilities
46
215
  - Comprehensive utility classes for spacing, colors, and responsive design
@@ -1,23 +1,47 @@
1
1
  // VS Theme Components Export
2
2
  // Provides access to all component styles
3
3
  const buttons = './components/_buttons.scss';
4
+ const badge = './components/_badge.scss';
4
5
  const input = './components/_input.scss';
5
- const placeholder = './components/_placeholder.scss';
6
+ const link = './components/_link.scss';
6
7
  const cards = './components/_cards.scss';
8
+ const table = './components/_table.scss';
9
+ const pagination = './components/_pagination.scss';
10
+ const tabs = './components/_tabs.scss';
11
+ const alert = './components/_alert.scss';
12
+ const page = './components/_page.scss';
13
+ const placeholder = './components/_placeholder.scss';
14
+ const disabled = './components/_disabled.scss';
7
15
  // All components combined
8
16
  const allComponents = [
9
17
  buttons,
18
+ badge,
10
19
  input,
20
+ link,
21
+ cards,
22
+ table,
23
+ pagination,
24
+ tabs,
25
+ alert,
26
+ page,
11
27
  placeholder,
12
- cards
28
+ disabled
13
29
  ];
14
30
  var components = {
15
31
  buttons,
32
+ badge,
16
33
  input,
17
- placeholder,
34
+ link,
18
35
  cards,
36
+ table,
37
+ pagination,
38
+ tabs,
39
+ alert,
40
+ page,
41
+ placeholder,
42
+ disabled,
19
43
  all: allComponents
20
44
  };
21
45
 
22
- export { allComponents, buttons, cards, components as default, input, placeholder };
46
+ export { alert, allComponents, badge, buttons, cards, components as default, disabled, input, link, page, pagination, placeholder, table, tabs };
23
47
  //# sourceMappingURL=components.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,28 +5,60 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  // VS Theme Components Export
6
6
  // Provides access to all component styles
7
7
  const buttons = './components/_buttons.scss';
8
+ const badge = './components/_badge.scss';
8
9
  const input = './components/_input.scss';
9
- const placeholder = './components/_placeholder.scss';
10
+ const link = './components/_link.scss';
10
11
  const cards = './components/_cards.scss';
12
+ const table = './components/_table.scss';
13
+ const pagination = './components/_pagination.scss';
14
+ const tabs = './components/_tabs.scss';
15
+ const alert = './components/_alert.scss';
16
+ const page = './components/_page.scss';
17
+ const placeholder = './components/_placeholder.scss';
18
+ const disabled = './components/_disabled.scss';
11
19
  // All components combined
12
20
  const allComponents = [
13
21
  buttons,
22
+ badge,
14
23
  input,
24
+ link,
25
+ cards,
26
+ table,
27
+ pagination,
28
+ tabs,
29
+ alert,
30
+ page,
15
31
  placeholder,
16
- cards
32
+ disabled
17
33
  ];
18
34
  var components = {
19
35
  buttons,
36
+ badge,
20
37
  input,
21
- placeholder,
38
+ link,
22
39
  cards,
40
+ table,
41
+ pagination,
42
+ tabs,
43
+ alert,
44
+ page,
45
+ placeholder,
46
+ disabled,
23
47
  all: allComponents
24
48
  };
25
49
 
50
+ exports.alert = alert;
26
51
  exports.allComponents = allComponents;
52
+ exports.badge = badge;
27
53
  exports.buttons = buttons;
28
54
  exports.cards = cards;
29
55
  exports.default = components;
56
+ exports.disabled = disabled;
30
57
  exports.input = input;
58
+ exports.link = link;
59
+ exports.page = page;
60
+ exports.pagination = pagination;
31
61
  exports.placeholder = placeholder;
62
+ exports.table = table;
63
+ exports.tabs = tabs;
32
64
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.esm.js CHANGED
@@ -6,6 +6,7 @@ const fonts$1 = './base/_font.scss';
6
6
  const spacing$2 = './base/_space.scss';
7
7
  const borders$2 = './base/_border.scss';
8
8
  const sizes$1 = './base/_size.scss';
9
+ const variants = './base/_variants.scss';
9
10
  // Mixins
10
11
  const mediaQueryMixins$1 = './base/mixins/_media-query-mx.scss';
11
12
  const fontSizeMixins$1 = './base/mixins/_font_size-mx.scss';
@@ -16,6 +17,7 @@ const allVariables = [
16
17
  spacing$2,
17
18
  borders$2,
18
19
  sizes$1,
20
+ variants,
19
21
  mediaQueryMixins$1,
20
22
  fontSizeMixins$1,
21
23
  ];
@@ -25,6 +27,7 @@ var variables = {
25
27
  spacing: spacing$2,
26
28
  borders: borders$2,
27
29
  sizes: sizes$1,
30
+ variants,
28
31
  mixins: {
29
32
  mediaQuery: mediaQueryMixins$1,
30
33
  fontSize: fontSizeMixins$1,
@@ -42,7 +45,8 @@ var variables$1 = /*#__PURE__*/Object.freeze({
42
45
  fonts: fonts$1,
43
46
  mediaQueryMixins: mediaQueryMixins$1,
44
47
  sizes: sizes$1,
45
- spacing: spacing$2
48
+ spacing: spacing$2,
49
+ variants: variants
46
50
  });
47
51
 
48
52
  // VS Theme Base Export
@@ -94,32 +98,64 @@ var baseExports$1 = /*#__PURE__*/Object.freeze({
94
98
  // VS Theme Components Export
95
99
  // Provides access to all component styles
96
100
  const buttons = './components/_buttons.scss';
101
+ const badge = './components/_badge.scss';
97
102
  const input = './components/_input.scss';
98
- const placeholder = './components/_placeholder.scss';
103
+ const link = './components/_link.scss';
99
104
  const cards = './components/_cards.scss';
105
+ const table = './components/_table.scss';
106
+ const pagination = './components/_pagination.scss';
107
+ const tabs = './components/_tabs.scss';
108
+ const alert = './components/_alert.scss';
109
+ const page = './components/_page.scss';
110
+ const placeholder = './components/_placeholder.scss';
111
+ const disabled = './components/_disabled.scss';
100
112
  // All components combined
101
113
  const allComponents = [
102
114
  buttons,
115
+ badge,
103
116
  input,
117
+ link,
118
+ cards,
119
+ table,
120
+ pagination,
121
+ tabs,
122
+ alert,
123
+ page,
104
124
  placeholder,
105
- cards
125
+ disabled
106
126
  ];
107
127
  var components = {
108
128
  buttons,
129
+ badge,
109
130
  input,
110
- placeholder,
131
+ link,
111
132
  cards,
133
+ table,
134
+ pagination,
135
+ tabs,
136
+ alert,
137
+ page,
138
+ placeholder,
139
+ disabled,
112
140
  all: allComponents
113
141
  };
114
142
 
115
143
  var components$1 = /*#__PURE__*/Object.freeze({
116
144
  __proto__: null,
145
+ alert: alert,
117
146
  allComponents: allComponents,
147
+ badge: badge,
118
148
  buttons: buttons,
119
149
  cards: cards,
120
150
  default: components,
151
+ disabled: disabled,
121
152
  input: input,
122
- placeholder: placeholder
153
+ link: link,
154
+ page: page,
155
+ pagination: pagination,
156
+ placeholder: placeholder,
157
+ table: table,
158
+ tabs: tabs
123
159
  });
124
160
 
125
161
  // VS Theme Layout Export
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ const fonts$1 = './base/_font.scss';
10
10
  const spacing$2 = './base/_space.scss';
11
11
  const borders$2 = './base/_border.scss';
12
12
  const sizes$1 = './base/_size.scss';
13
+ const variants = './base/_variants.scss';
13
14
  // Mixins
14
15
  const mediaQueryMixins$1 = './base/mixins/_media-query-mx.scss';
15
16
  const fontSizeMixins$1 = './base/mixins/_font_size-mx.scss';
@@ -20,6 +21,7 @@ const allVariables = [
20
21
  spacing$2,
21
22
  borders$2,
22
23
  sizes$1,
24
+ variants,
23
25
  mediaQueryMixins$1,
24
26
  fontSizeMixins$1,
25
27
  ];
@@ -29,6 +31,7 @@ var variables = {
29
31
  spacing: spacing$2,
30
32
  borders: borders$2,
31
33
  sizes: sizes$1,
34
+ variants,
32
35
  mixins: {
33
36
  mediaQuery: mediaQueryMixins$1,
34
37
  fontSize: fontSizeMixins$1,
@@ -46,7 +49,8 @@ var variables$1 = /*#__PURE__*/Object.freeze({
46
49
  fonts: fonts$1,
47
50
  mediaQueryMixins: mediaQueryMixins$1,
48
51
  sizes: sizes$1,
49
- spacing: spacing$2
52
+ spacing: spacing$2,
53
+ variants: variants
50
54
  });
51
55
 
52
56
  // VS Theme Base Export
@@ -98,32 +102,64 @@ var baseExports$1 = /*#__PURE__*/Object.freeze({
98
102
  // VS Theme Components Export
99
103
  // Provides access to all component styles
100
104
  const buttons = './components/_buttons.scss';
105
+ const badge = './components/_badge.scss';
101
106
  const input = './components/_input.scss';
102
- const placeholder = './components/_placeholder.scss';
107
+ const link = './components/_link.scss';
103
108
  const cards = './components/_cards.scss';
109
+ const table = './components/_table.scss';
110
+ const pagination = './components/_pagination.scss';
111
+ const tabs = './components/_tabs.scss';
112
+ const alert = './components/_alert.scss';
113
+ const page = './components/_page.scss';
114
+ const placeholder = './components/_placeholder.scss';
115
+ const disabled = './components/_disabled.scss';
104
116
  // All components combined
105
117
  const allComponents = [
106
118
  buttons,
119
+ badge,
107
120
  input,
121
+ link,
122
+ cards,
123
+ table,
124
+ pagination,
125
+ tabs,
126
+ alert,
127
+ page,
108
128
  placeholder,
109
- cards
129
+ disabled
110
130
  ];
111
131
  var components = {
112
132
  buttons,
133
+ badge,
113
134
  input,
114
- placeholder,
135
+ link,
115
136
  cards,
137
+ table,
138
+ pagination,
139
+ tabs,
140
+ alert,
141
+ page,
142
+ placeholder,
143
+ disabled,
116
144
  all: allComponents
117
145
  };
118
146
 
119
147
  var components$1 = /*#__PURE__*/Object.freeze({
120
148
  __proto__: null,
149
+ alert: alert,
121
150
  allComponents: allComponents,
151
+ badge: badge,
122
152
  buttons: buttons,
123
153
  cards: cards,
124
154
  default: components,
155
+ disabled: disabled,
125
156
  input: input,
126
- placeholder: placeholder
157
+ link: link,
158
+ page: page,
159
+ pagination: pagination,
160
+ placeholder: placeholder,
161
+ table: table,
162
+ tabs: tabs
127
163
  });
128
164
 
129
165
  // VS Theme Layout Export
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,12 +1,21 @@
1
- $border-radius-0: 0 !default;
2
- $border-radius-sm: 2px !default;
3
- $border-radius-md: 4px !default;
4
- $border-radius-lg: 16px !default;
5
- $border-radius-xl: 1rem !default;
6
- $border-radius-pill: 50rem !default;
7
- $border-radius-full: 50% !default;
8
-
9
- $border-width-none: 0 !default;
10
- $border-width-sm: 1px !default;
11
- $border-width-md: 2px !default;
12
- $border-width-lg: 4px !default;
1
+ // Border radius
2
+ //
3
+ // Restructured to the VARStreet listing-page scale. The spec gives sm/md/lg as
4
+ // 4/6/8px; `xl` keeps its existing 16px, which also resolves a latent
5
+ // duplication — `lg` and `xl` were both 16px before.
6
+ //
7
+ // 0 0 sm → 4px (inputs, filter cells, page buttons)
8
+ // md → 6px (cards, panels, buttons, the grid shell)
9
+ // lg 8px xl → 16px pill → 999px full → 50%
10
+ $border-radius-0: 0 !default;
11
+ $border-radius-sm: 4px !default;
12
+ $border-radius-md: 6px !default;
13
+ $border-radius-lg: 8px !default;
14
+ $border-radius-xl: 16px !default;
15
+ $border-radius-pill: 999px !default;
16
+ $border-radius-full: 50% !default;
17
+
18
+ $border-width-none: 0 !default;
19
+ $border-width-sm: 1px !default;
20
+ $border-width-md: 2px !default;
21
+ $border-width-lg: 4px !default;