@bcc-code/component-library-vue 0.0.0-dev.ee26b9d → 0.0.0-dev.f0229a6

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 (25) hide show
  1. package/dist/component-library.js +45012 -42101
  2. package/dist/component-library.umd.cjs +1671 -1475
  3. package/dist/index.css +1 -1
  4. package/dist/theme.css +301 -162
  5. package/dist-types/components/custom/BccAppNavigation/BccAppNavigation.vue.d.ts +32 -0
  6. package/dist-types/components/custom/BccBadge/BccBadge.vue.d.ts +2 -0
  7. package/dist-types/components/custom/BccCapacityIndicator/BccCapacityIndicator.vue.d.ts +3 -0
  8. package/dist-types/components/custom/BccDialKnob/BccDialKnob.vue.d.ts +1 -1
  9. package/dist-types/components/custom/BccNpsResult/BccNpsResult.vue.d.ts +2 -2
  10. package/dist-types/components/custom/BccReact/BccReact.vue.d.ts +1 -1
  11. package/dist-types/components/custom/BccStepIndicator/BccStepIndicator.vue.d.ts +5 -5
  12. package/dist-types/components/custom/BccTopNavigation/BccTopNavigation.vue.d.ts +47 -0
  13. package/dist-types/components/custom/index.d.ts +4 -0
  14. package/dist-types/components/wrapped/BccAvatar/BccAvatar.vue.d.ts +2 -2
  15. package/dist-types/components/wrapped/BccButton.vue.d.ts +1 -0
  16. package/dist-types/components/wrapped/BccImage.vue.d.ts +17 -0
  17. package/dist-types/components/wrapped/BccMenu/BccMenu.vue.d.ts +14 -0
  18. package/dist-types/components/wrapped/BccMessage.vue.d.ts +4 -2
  19. package/dist-types/components/wrapped/BccRadioButton.vue.d.ts +18 -0
  20. package/dist-types/components/wrapped/BccSelectButton.vue.d.ts +17 -0
  21. package/dist-types/components/wrapped/BccTabs/BccTabs.vue.d.ts +2 -0
  22. package/dist-types/components/wrapped/BccToggle/BccToggle.vue.d.ts +12 -1
  23. package/dist-types/components/wrapped/index.d.ts +11 -0
  24. package/dist-types/index.d.ts +14 -7
  25. package/package.json +103 -100
package/dist/theme.css CHANGED
@@ -1,10 +1,10 @@
1
1
  /* Layer order: Tailwind base/utilities first, then PrimeVue so component styles win */
2
2
  @layer theme, base, tailwind, primevue;
3
- @import "@bcc-code/design-tokens/css";
3
+ @import '@bcc-code/design-tokens/css';
4
4
 
5
- @import "tailwindcss";
6
- @import "@bcc-code/design-tokens/tailwind";
7
- @import "@bcc-code/design-tokens/primevue/overrides";
5
+ @import 'tailwindcss';
6
+ @import '@bcc-code/design-tokens/tailwind';
7
+ @import '@bcc-code/design-tokens/primevue/overrides';
8
8
 
9
9
 
10
10
  /* === ./styles/theme.css === */
@@ -649,7 +649,8 @@
649
649
 
650
650
  /* Capitalize first letter */
651
651
  @utility capital {
652
- display: inline-block;
652
+ @apply inline-block;
653
+
653
654
  &::first-letter {
654
655
  text-transform: uppercase;
655
656
  }
@@ -1824,93 +1825,212 @@
1824
1825
  /** Custom styles to fix primevue components that are not custom or wrapped. */
1825
1826
 
1826
1827
  /**
1827
- .BccAutocomplete
1828
+ * GUTTER FIX
1829
+ * Primevue's dropwdown components are all missing the gap between input and dropdown
1830
+ **/
1831
+ .p-autocomplete-overlay,
1832
+ .p-menu-overlay,
1833
+ .p-multiselect-overlay,
1834
+ .p-select-overlay,
1835
+ .p-datepicker-panel,
1836
+ .p-treeselect-overlay {
1837
+ margin: var(--p-anchor-gutter) 0;
1838
+ }
1839
+
1840
+ /* This fix is to ensure overlay badge is contained within the size of the component it wraps */
1841
+ .p-overlaybadge {
1842
+ display: inline-block;
1843
+ }
1844
+
1845
+ /**
1846
+ * BccAutocomplete
1828
1847
  **/
1829
1848
 
1830
1849
  /** Our icons are a bit smaller that Primevue's default */
1831
1850
  .p-autocomplete .p-icon {
1832
- --p-icon-size: var(--icon-size-sm);
1833
- --p-form-field-sm-font-size: var(--icon-size-sm);
1834
- --p-form-field-lg-font-size: var(--icon-size-md);
1851
+ --p-icon-size: var(--icon-size-sm);
1852
+ --p-form-field-sm-font-size: var(--icon-size-sm);
1853
+ --p-form-field-lg-font-size: var(--icon-size-md);
1854
+ }
1855
+
1856
+ .p-autocomplete .p-autocomplete-clear-icon {
1857
+ /** middle-align the icon */
1858
+ top: calc(50% - var(--icon-size-sm) / 2);
1859
+ margin-top: 0;
1835
1860
  }
1836
1861
 
1837
1862
  .p-autocomplete-clearable .p-inputtext {
1838
- flex-grow: 1;
1863
+ flex-grow: 1;
1839
1864
  }
1840
1865
 
1866
+ .p-autocomplete-chip.p-chip {
1867
+ padding-block-start: calc(var(--p-autocomplete-padding-y) / 2);
1868
+ padding-block-end: calc(var(--p-autocomplete-padding-y) / 2);
1869
+ border-radius: var(--p-autocomplete-chip-border-radius);
1870
+ }
1841
1871
 
1842
1872
  /**
1843
- GUTTER FIX
1844
- * Primevue's dropwdown components are all missing the gap between input and dropdown
1845
- **/
1846
- .p-autocomplete-overlay,
1847
- .p-menu-overlay,
1848
- .p-multiselect-overlay,
1849
- .p-select-overlay,
1850
- .p-treeselect-overlay {
1851
- margin: var(--p-anchor-gutter) 0;
1873
+ * BccSelect
1874
+ **/
1875
+ .p-select {
1876
+ --p-icon-size: var(--icon-size-sm);
1877
+ }
1878
+
1879
+ .p-select.inline-select {
1880
+ @apply mx-auto inline-flex w-auto items-center border-0 bg-transparent shadow-none;
1881
+ --p-icon-size: 1.25em;
1882
+ --p-select-dropdown-width: 1.5em;
1883
+ --p-select-min-height: auto;
1884
+ }
1885
+
1886
+ .p-select.inline-select .p-select-label {
1887
+ @apply inline-block font-semibold;
1888
+ font-size: inherit;
1889
+ padding: 0 0 0 0.25em;
1890
+ }
1891
+
1892
+ .p-select.inline-select.inverse {
1893
+ --p-select-color: var(--color-neutral-0);
1894
+ --p-select-dropdown-color: var(--color-neutral-0);
1895
+ --p-select-placeholder-color: var(--color-dark-neutral-1000);
1896
+ }
1897
+
1898
+ /**
1899
+ * Fix issue with icons inside Input within an InputGroup being hidden when Input is in focus
1900
+ **/
1901
+ .p-inputicon {
1902
+ z-index: 2;
1903
+ }
1904
+
1905
+ .p-dialog-close-button {
1906
+ --p-icon-size: var(--icon-size-sm);
1907
+ }
1908
+ .p-dialog .p-button-icon:empty {
1909
+ display: none;
1910
+ }
1911
+
1912
+ .p-togglebutton {
1913
+ font-size: var(--text-sm);
1914
+ border: 0;
1915
+ }
1916
+
1917
+ .p-togglebutton-sm {
1918
+ font-size: var(--text-sm);
1919
+ }
1920
+
1921
+ .p-togglebutton-lg {
1922
+ font-size: var(--text-md);
1852
1923
  }
1853
1924
 
1854
1925
 
1855
1926
 
1927
+
1856
1928
  /* === ./components/custom/styles.css === */
1857
1929
 
1930
+ /* from ./BccAppNavigation/BccAppNavigation.css */
1931
+ @layer components {
1932
+ .bcc-app-nav {
1933
+ @apply bg-elevation-surface-default dark:border-brand-800 sticky inset-x-0 bottom-0 z-20 overflow-visible shadow-md sm:rounded-t-xl dark:border-t;
1934
+ }
1935
+ .bcc-app-nav-container {
1936
+ @apply center pb-inset-bottom-1 mx-auto max-w-lg pt-1;
1937
+ }
1938
+
1939
+ .bcc-app-nav-item {
1940
+ @apply ctx-gray-subtlest text-ctx relative flex h-12 flex-1 flex-col items-center justify-center gap-1 transition-colors focus:ring-0 focus:outline-none;
1941
+ }
1942
+
1943
+ .bcc-nav-item-icon {
1944
+ @apply size-6 opacity-50;
1945
+ }
1946
+
1947
+ .bcc-nav-item-badge {
1948
+ @apply absolute top-0 right-1 opacity-75;
1949
+ }
1950
+
1951
+ .bcc-nav-item-title {
1952
+ @apply text-heading-xs text-center opacity-50;
1953
+ }
1954
+
1955
+ .bcc-app-nav-item--active {
1956
+ @apply text-selected;
1957
+ }
1958
+
1959
+ .bcc-app-nav-item--active .bcc-nav-item-icon,
1960
+ .bcc-app-nav-item--active .bcc-nav-item-badge,
1961
+ .bcc-app-nav-item--active .bcc-nav-item-title {
1962
+ @apply opacity-100;
1963
+ }
1964
+ }
1965
+
1966
+
1967
+
1858
1968
  /* from ./BccBadge/BccBadge.css */
1859
1969
  @layer components {
1860
- .bcc-badge {
1861
- @apply inline-flex shrink-0 gap-1 items-center justify-center rounded-full leading-none whitespace-nowrap;
1862
-
1863
- @apply bg-ctx text-ctx;
1864
- }
1865
- .bcc-badge.sm {
1866
- @apply w-4 h-4 text-heading-xs;
1867
- }
1868
- .bcc-badge.md {
1869
- @apply h-5 w-5 text-heading-sm;
1870
- }
1871
- .bcc-badge.lg {
1872
- @apply w-6 h-6 text-heading-md;
1873
- }
1874
- .bcc-badge.xl {
1875
- @apply w-8 h-8 text-heading-lg;
1876
- }
1970
+ .bcc-badge {
1971
+ @apply inline-flex shrink-0 items-center justify-center gap-1 rounded-full leading-none whitespace-nowrap;
1877
1972
 
1878
- .bcc-badge .bcc-badge-icon {
1879
- @apply size-4;
1880
- }
1881
- .bcc-badge.lg .bcc-badge-icon {
1882
- @apply size-5;
1883
- }
1884
- .bcc-badge.xl .bcc-badge-icon {
1885
- @apply size-6;
1886
- }
1973
+ @apply bg-ctx text-ctx;
1974
+ }
1887
1975
 
1888
- .bcc-badge.bcc-badge-text {
1889
- @apply w-auto px-2;
1890
- }
1891
- .bcc-badge-text.lg, .bcc-badge-text.xl {
1892
- @apply px-3;
1893
- }
1894
- .bcc-badge-text.border.lg, .bcc-badge-text.border.xl {
1895
- @apply px-2;
1896
- }
1897
- .bcc-badge-text.bordered.lg, .bcc-badge-text.bordered.xl {
1898
- @apply px-1;
1899
- }
1976
+ .bcc-badge.capital {
1977
+ @apply inline-flex;
1978
+ }
1979
+ .bcc-badge.gradient {
1980
+ @apply ctx-gradient;
1981
+ }
1982
+ .bcc-badge.sm {
1983
+ @apply text-heading-xs h-4 w-4;
1984
+ }
1985
+ .bcc-badge.md {
1986
+ @apply text-heading-sm h-5 w-5;
1987
+ }
1988
+ .bcc-badge.lg {
1989
+ @apply text-heading-md h-6 w-6;
1990
+ }
1991
+ .bcc-badge.xl {
1992
+ @apply text-heading-md h-8 w-8;
1993
+ }
1900
1994
 
1901
- .bcc-badge.border {
1902
- @apply border-1;
1903
- border-color: var(--ctx-background-pressed);
1904
- }
1995
+ .bcc-badge .bcc-badge-icon {
1996
+ @apply size-4;
1997
+ }
1998
+ .bcc-badge.lg .bcc-badge-icon {
1999
+ @apply size-5;
2000
+ }
2001
+ .bcc-badge.xl .bcc-badge-icon {
2002
+ @apply size-6;
2003
+ }
1905
2004
 
1906
- .bcc-badge.bordered {
1907
- @apply border-2;
1908
- border-color: var(--ctx-background-pressed);
1909
- }
2005
+ .bcc-badge.bcc-badge-text {
2006
+ @apply w-auto px-2;
2007
+ }
2008
+ .bcc-badge-text.lg,
2009
+ .bcc-badge-text.xl {
2010
+ @apply px-3;
2011
+ }
2012
+ .bcc-badge-text.border.lg,
2013
+ .bcc-badge-text.border.xl {
2014
+ @apply px-2;
2015
+ }
2016
+ .bcc-badge-text.bordered.lg,
2017
+ .bcc-badge-text.bordered.xl {
2018
+ @apply px-1;
2019
+ }
1910
2020
 
1911
- .bcc-badge.squared {
1912
- @apply rounded;
1913
- }
2021
+ .bcc-badge.border {
2022
+ @apply border-1;
2023
+ border-color: var(--ctx-background-pressed);
2024
+ }
2025
+
2026
+ .bcc-badge.bordered {
2027
+ @apply border-2;
2028
+ border-color: var(--ctx-background-pressed);
2029
+ }
2030
+
2031
+ .bcc-badge.squared {
2032
+ @apply rounded-sm;
2033
+ }
1914
2034
  }
1915
2035
 
1916
2036
 
@@ -1959,6 +2079,7 @@ GUTTER FIX
1959
2079
 
1960
2080
  .bcc-capacity-indicator.is-warning {
1961
2081
  @apply ctx-yellow-subtlest;
2082
+ --bcc-capacity-indicator-circle: var(--ctx-background);
1962
2083
  }
1963
2084
 
1964
2085
  .bcc-capacity-indicator.is-full {
@@ -2011,8 +2132,8 @@ GUTTER FIX
2011
2132
  .bcc-frame--raised {
2012
2133
  --ctx-background: var(--color-elevation-surface-raised-default);
2013
2134
  }
2014
- .bcc-frame--raised.rounded {
2015
- @apply rounded;
2135
+ .bcc-frame--rounded {
2136
+ @apply rounded-md;
2016
2137
  }
2017
2138
  .bcc-frame--raised.bcc-frame--shadow {
2018
2139
  @apply shadow-raised;
@@ -2083,43 +2204,53 @@ GUTTER FIX
2083
2204
  @apply relative w-full;
2084
2205
  }
2085
2206
 
2086
- .bcc-nps-result .result-gauge-dial {
2207
+ .bcc-nps-result.xs {
2208
+ @apply w-24;
2209
+ }
2210
+ .bcc-nps-result.sm {
2211
+ @apply w-36;
2212
+ }
2213
+ .bcc-nps-result.md {
2214
+ @apply w-48;
2215
+ }
2216
+ .bcc-nps-result.lg {
2217
+ @apply w-60;
2218
+ }
2219
+ .bcc-nps-result.xl {
2220
+ @apply w-72;
2221
+ }
2222
+
2223
+ .bcc-nps-result .bcc-nps-result-gauge-dial {
2087
2224
  transform-origin: center;
2088
2225
  }
2089
2226
 
2090
- .bcc-nps-result.animated .result-gauge-dial {
2227
+ .bcc-nps-result.animated .bcc-nps-result-gauge-dial {
2091
2228
  transition-delay: 0.3s;
2092
2229
  transition: all .7s cubic-bezier(0, 0, 0.3, 1.5);
2093
2230
  }
2094
2231
 
2095
- .bcc-nps-result-labels.lg {
2096
- @apply bottom-[2em];
2097
- }
2098
2232
  .bcc-nps-result-labels {
2099
- @apply absolute bottom-[1em] flex w-full flex-col items-center justify-center;
2100
- }
2101
- .bcc-nps-result-labels.sm {
2102
- @apply bottom-0;
2233
+ @apply absolute text-base bottom-1/4 translate-y-1/2 flex w-full flex-col items-center justify-center;
2103
2234
  }
2104
2235
 
2105
- .bcc-nps-result-labels.lg .bcc-nps-result-labels--heading {
2106
- @apply text-heading-xl leading-tight;
2107
- }
2108
2236
  .bcc-nps-result-labels--heading {
2109
- @apply text-heading-lg leading-none;
2237
+ @apply text-[1.25em] font-semibold leading-none;
2110
2238
  }
2111
- .bcc-nps-result-labels.sm .bcc-nps-result-labels--heading {
2112
- @apply text-heading-md leading-none;
2239
+ .bcc-nps-result-labels--label {
2240
+ @apply text-[0.75em] text-subtlest;
2113
2241
  }
2114
2242
 
2115
- .bcc-nps-result-labels.lg .bcc-nps-result-labels--label {
2116
- @apply text-body-lg opacity-60;
2243
+ .bcc-nps-result.md .bcc-nps-result-labels {
2244
+ @apply text-lg;
2117
2245
  }
2118
- .bcc-nps-result-labels--label {
2119
- @apply text-body-md opacity-60;
2246
+ .bcc-nps-result.lg .bcc-nps-result-labels {
2247
+ @apply text-xl;
2120
2248
  }
2121
- .bcc-nps-result-labels.sm .bcc-nps-result-labels--label {
2122
- @apply text-body-sm;
2249
+ .bcc-nps-result.xl .bcc-nps-result-labels {
2250
+ @apply text-2xl;
2251
+ }
2252
+ .bcc-nps-result.full .bcc-nps-result-labels {
2253
+ @apply text-lg;
2123
2254
  }
2124
2255
  }
2125
2256
 
@@ -2302,75 +2433,74 @@ GUTTER FIX
2302
2433
 
2303
2434
  /* from ./BccAvatar/BccAvatar.css */
2304
2435
  @layer components {
2305
- .bcc-avatar {
2306
- --p-avatar-background: var(--ctx-background);
2307
- --p-avatar-color: var(--ctx-text);
2308
- --bcc-avatar-border: var(--ctx-border);
2309
- @apply overflow-hidden shrink-0 ctx-gray-subtler;
2310
- }
2311
- .bcc-avatar.male,
2312
- .bcc-avatar.M {
2313
- @apply ctx-blue-subtler;
2314
- }
2315
- .bcc-avatar.female,
2316
- .bcc-avatar.F {
2317
- @apply ctx-purple-subtler;
2318
- }
2319
- .bcc-avatar.male.child,
2320
- .bcc-avatar.M.child {
2321
- @apply ctx-teal-subtler;
2322
- }
2323
- .bcc-avatar.female.child,
2324
- .bcc-avatar.F.child {
2325
- @apply ctx-magenta-subtler;
2326
- }
2327
- .bcc-avatar.bordered {
2328
- @apply border-2 border-ctx;
2329
- }
2330
- .bcc-avatar.xs {
2331
- @apply size-5 text-xs;
2332
- }
2333
- .bcc-avatar.sm {
2334
- @apply size-6 text-sm;
2335
- }
2336
- .bcc-avatar.md {
2337
- @apply size-8 text-base;
2338
- }
2339
- .bcc-avatar.lg {
2340
- @apply size-10 text-lg;
2341
- }
2342
- .bcc-avatar.xl {
2343
- @apply size-12 text-xl;
2344
- }
2345
- .bcc-avatar.xxl {
2346
- @apply size-20 text-3xl;
2347
- }
2348
- .bcc-avatar.xxxl {
2349
- @apply size-24 text-4xl;
2350
- }
2436
+ .bcc-avatar {
2437
+ --p-avatar-background: var(--ctx-background);
2438
+ --p-avatar-color: var(--ctx-text);
2439
+ --bcc-avatar-border: var(--ctx-border);
2440
+ --p-icon-size: var(--icon-size-sm);
2441
+ @apply ctx-gray-subtler shrink-0 overflow-hidden text-sm;
2442
+ }
2351
2443
 
2352
- .bcc-avatar.squared.lg {
2353
- @apply text-xl;
2354
- }
2355
- .bcc-avatar.squared.xl {
2356
- @apply text-2xl;
2357
- }
2358
- .bcc-avatar.squared.xxl {
2359
- @apply text-4xl;
2360
- }
2361
- .bcc-avatar.squared.xxxl {
2362
- @apply text-5xl;
2363
- }
2444
+ .bcc-avatar.male,
2445
+ .bcc-avatar.M {
2446
+ @apply ctx-blue-subtler;
2447
+ }
2448
+ .bcc-avatar.female,
2449
+ .bcc-avatar.F {
2450
+ @apply ctx-purple-subtler;
2451
+ }
2452
+ .bcc-avatar.male.child,
2453
+ .bcc-avatar.M.child {
2454
+ @apply ctx-teal-subtler;
2455
+ }
2456
+ .bcc-avatar.female.child,
2457
+ .bcc-avatar.F.child {
2458
+ @apply ctx-magenta-subtler;
2459
+ }
2460
+ .bcc-avatar.bordered {
2461
+ @apply border-ctx border-2;
2462
+ }
2463
+ .bcc-avatar.xs {
2464
+ @apply size-5 text-xs;
2465
+ --p-icon-size: var(--icon-size-xs);
2466
+ }
2467
+ .bcc-avatar.sm {
2468
+ @apply size-6 text-xs;
2469
+ --p-icon-size: var(--icon-size-xs);
2470
+ }
2471
+ /* .bcc-avatar.md {
2472
+ same as default
2473
+ }*/
2474
+ .bcc-avatar.lg {
2475
+ @apply text-md size-10;
2476
+ --p-icon-size: var(--icon-size-md);
2477
+ }
2478
+ .bcc-avatar.xl {
2479
+ @apply size-12 text-xl;
2480
+ --p-icon-size: var(--icon-size-lg);
2481
+ }
2482
+ .bcc-avatar.xxl {
2483
+ @apply size-20 text-3xl;
2484
+ --p-icon-size: var(--icon-size-xl);
2485
+ }
2486
+ .bcc-avatar.xxxl {
2487
+ @apply size-24 text-4xl;
2488
+ --p-icon-size: var(--icon-size-xl);
2489
+ }
2364
2490
 
2491
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.lg ~ .p-badge,
2492
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xl ~ .p-badge {
2493
+ transform: translate(40%, -40%);
2494
+ }
2365
2495
 
2366
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xxxl~.p-badge,
2367
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl~.p-badge,
2368
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xl~.p-badge {
2369
- transform: translate(25%, -25%);
2370
- }
2496
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xxxl ~ .p-badge,
2497
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl ~ .p-badge {
2498
+ transform: translate(20%, -20%);
2499
+ }
2371
2500
  }
2372
2501
 
2373
2502
 
2503
+
2374
2504
  /* from ./BccTabs/BccTabs.css */
2375
2505
  @layer components {
2376
2506
  .bcc-tabs-fill.p-tabs {
@@ -2389,6 +2519,9 @@ GUTTER FIX
2389
2519
  height: 100%;
2390
2520
  overflow: auto;
2391
2521
  }
2522
+ .bcc-tabs-fluid.p-tabs {
2523
+ width: 100%;
2524
+ }
2392
2525
  }
2393
2526
 
2394
2527
 
@@ -2411,24 +2544,30 @@ GUTTER FIX
2411
2544
 
2412
2545
 
2413
2546
 
2414
- :root, :host {
2547
+ :root,
2548
+ :host {
2415
2549
  --font-sans: 'Archivo', system-ui, sans-serif;
2416
- @apply font-sans antialiased p-0 m-0;
2417
- -webkit-font-smoothing: antialiased;
2418
- -moz-osx-font-smoothing: grayscale;
2550
+ @apply m-0 p-0 font-sans antialiased;
2551
+ -webkit-font-smoothing: antialiased;
2552
+ -moz-osx-font-smoothing: grayscale;
2553
+ line-height: 1.2;
2554
+ font-kerning: normal;
2555
+ }
2419
2556
 
2557
+ hr {
2558
+ border-color: var(--color-border-default);
2420
2559
  }
2421
2560
 
2422
2561
  b,
2423
2562
  strong,
2424
2563
  .bold {
2425
- font-weight: bold;
2426
- --ctx-text: var(--ctx-text-bold);
2564
+ font-weight: bold;
2565
+ --ctx-text: var(--ctx-text-bold);
2427
2566
  }
2428
2567
 
2429
2568
  /* Disable state */
2430
2569
  :disabled,
2431
2570
  .disabled {
2432
- cursor: not-allowed;
2433
- pointer-events: none;
2571
+ cursor: not-allowed;
2572
+ pointer-events: none;
2434
2573
  }
@@ -0,0 +1,32 @@
1
+ import type { VueComponent } from '@/types';
2
+ import { type Component } from 'vue';
3
+ export type BccAppNavigationItem = {
4
+ key: string;
5
+ title: string;
6
+ icon: Component;
7
+ pin?: number;
8
+ /** Any additional properties will be passed to the component.
9
+ * @example
10
+ * {
11
+ * href: '/',
12
+ * target: '_blank',
13
+ * } or for router link:
14
+ * {
15
+ * to: '/',
16
+ * replace: true,
17
+ * }
18
+ */
19
+ [key: string]: unknown;
20
+ };
21
+ type __VLS_Props = {
22
+ items: BccAppNavigationItem[];
23
+ linkComponent?: VueComponent;
24
+ activeKey?: BccAppNavigationItem['key'] | null;
25
+ };
26
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
+ select: (item: BccAppNavigationItem) => any;
28
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ onSelect?: ((item: BccAppNavigationItem) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
@@ -13,6 +13,7 @@ export type BadgeProps = {
13
13
  squared?: boolean;
14
14
  /** Design context (e.g. neutral, brand) used for background and text color. */
15
15
  context?: BCC_CONTEXT;
16
+ gradient?: boolean;
16
17
  };
17
18
  declare var __VLS_1: {};
18
19
  type __VLS_Slots = {} & {
@@ -21,6 +22,7 @@ type __VLS_Slots = {} & {
21
22
  declare const __VLS_base: import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
22
23
  size: "sm" | "md" | "lg" | "xl";
23
24
  context: BCC_CONTEXT;
25
+ gradient: boolean;
24
26
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
28
  declare const _default: typeof __VLS_export;
@@ -1,3 +1,4 @@
1
+ import { BCC_CONTEXT } from '@/contexts';
1
2
  export type CapacityIndicatorProps = {
2
3
  /** Total capacity; use -1 for “unlimited” (shows an infinity-style icon instead of a bar). */
3
4
  total: number;
@@ -11,6 +12,8 @@ export type CapacityIndicatorProps = {
11
12
  squared?: boolean;
12
13
  /** When true, applies warning/full color states (e.g. color change at high usage). */
13
14
  colored?: boolean;
15
+ /** Design context (e.g. neutral, brand) used for background and text color. */
16
+ context?: BCC_CONTEXT;
14
17
  };
15
18
  declare const __VLS_export: import("vue").DefineComponent<CapacityIndicatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CapacityIndicatorProps> & Readonly<{}>, {
16
19
  size: "xs" | "sm" | "base" | "lg";
@@ -44,6 +44,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
44
44
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
45
45
  }>, {
46
46
  size: number;
47
+ duration: number;
47
48
  colored: boolean;
48
49
  arcWidth: number;
49
50
  min: number;
@@ -51,7 +52,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
51
52
  steps: number;
52
53
  showHandle: boolean;
53
54
  hideArrows: boolean;
54
- duration: number;
55
55
  animateRotations: number;
56
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
57
57
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -2,7 +2,7 @@ export type NpsResultProps = {
2
2
  /** NPS score between -100 and 100; drives the gauge needle angle and position. */
3
3
  score: number;
4
4
  /** Controls the size of the gauge and optional text (lg, md, sm, xs). */
5
- size?: 'lg' | 'md' | 'sm' | 'xs';
5
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
6
6
  /** Text shown as the main heading; defaults to the numeric score when unset. */
7
7
  display?: string;
8
8
  /** Secondary label shown under the main heading. */
@@ -13,7 +13,7 @@ export type NpsResultProps = {
13
13
  animated?: boolean;
14
14
  };
15
15
  declare const __VLS_export: import("vue").DefineComponent<NpsResultProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NpsResultProps> & Readonly<{}>, {
16
- size: "lg" | "md" | "sm" | "xs";
16
+ size: "xs" | "sm" | "md" | "lg" | "xl" | "full";
17
17
  hideText: boolean;
18
18
  animated: boolean;
19
19
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -4,8 +4,8 @@ declare const __VLS_export: import("vue").DefineComponent<ReactProps, {}, {}, {}
4
4
  }, string, import("vue").PublicProps, Readonly<ReactProps> & Readonly<{
5
5
  onToggle?: ((id: string) => any) | undefined;
6
6
  }>, {
7
- top: boolean;
8
7
  placeholder: string;
8
+ top: boolean;
9
9
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
10
  declare const _default: typeof __VLS_export;
11
11
  export default _default;