@bcc-code/component-library-vue 0.0.0-dev.aab0e5c → 0.0.0-dev.ac45ef3

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.
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 === */
@@ -1824,7 +1824,6 @@
1824
1824
  /* === ./styles/component-overrides.css === */
1825
1825
  /** Custom styles to fix primevue components that are not custom or wrapped. */
1826
1826
 
1827
-
1828
1827
  /**
1829
1828
  * GUTTER FIX
1830
1829
  * Primevue's dropwdown components are all missing the gap between input and dropdown
@@ -1833,6 +1832,7 @@
1833
1832
  .p-menu-overlay,
1834
1833
  .p-multiselect-overlay,
1835
1834
  .p-select-overlay,
1835
+ .p-datepicker-panel,
1836
1836
  .p-treeselect-overlay {
1837
1837
  margin: var(--p-anchor-gutter) 0;
1838
1838
  }
@@ -1853,6 +1853,12 @@
1853
1853
  --p-form-field-lg-font-size: var(--icon-size-md);
1854
1854
  }
1855
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;
1860
+ }
1861
+
1856
1862
  .p-autocomplete-clearable .p-inputtext {
1857
1863
  flex-grow: 1;
1858
1864
  }
@@ -1865,34 +1871,83 @@
1865
1871
 
1866
1872
  /**
1867
1873
  * BccSelect
1868
- **/
1874
+ **/
1869
1875
  .p-select {
1870
1876
  --p-icon-size: var(--icon-size-sm);
1871
1877
  }
1872
1878
 
1873
- .p-select.inline {
1874
- @apply inline-flex items-center mx-auto w-auto border-0 bg-transparent shadow-none;
1879
+ .p-select.inline-select {
1880
+ @apply mx-auto inline-flex w-auto items-center border-0 bg-transparent shadow-none;
1875
1881
  --p-icon-size: 1.25em;
1876
- --p-select-dropdown-width: 1.5em;
1877
- --p-select-min-height: auto;
1882
+ --p-select-dropdown-width: 1.5em;
1883
+ --p-select-min-height: auto;
1878
1884
  }
1879
1885
 
1880
- .p-select.inline .p-select-label {
1881
- @apply font-semibold inline-block;
1882
- font-size: inherit;
1883
- padding: 0 0 0 0.25em;
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;
1884
1890
  }
1885
1891
 
1886
- .p-select.inline.inverse {
1887
- --p-select-color: var(--color-neutral-0);
1892
+ .p-select.inline-select.inverse {
1893
+ --p-select-color: var(--color-neutral-0);
1888
1894
  --p-select-dropdown-color: var(--color-neutral-0);
1889
- --p-select-placeholder-color: var(--color-dark-neutral-1000);
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);
1890
1923
  }
1891
1924
 
1892
1925
 
1893
1926
 
1927
+
1894
1928
  /* === ./components/custom/styles.css === */
1895
1929
 
1930
+ /* from ./BccAppNavigation/BccAppNavigation.css */
1931
+ @layer components {
1932
+ .bcc-app-nav {
1933
+ @apply sticky inset-x-0 bottom-0 z-20 overflow-visible bg-elevation-surface-default shadow-md sm:rounded-t-xl;
1934
+ }
1935
+ .bcc-app-nav .bcc-app-nav-container {
1936
+ @apply center pb-inset-bottom-1 mx-auto max-w-lg pt-1;
1937
+ }
1938
+
1939
+ .bcc-app-nav .bcc-app-nav-item {
1940
+ @apply flex flex-col items-center justify-center relative h-12 flex-1 gap-1 ctx-gray-subtlest transition-colors focus:outline-none focus:ring-0 text-ctx;
1941
+ @apply opacity-50;
1942
+ }
1943
+
1944
+ .bcc-app-nav .bcc-app-nav-item--active {
1945
+ @apply text-selected opacity-100;
1946
+ }
1947
+ }
1948
+
1949
+
1950
+
1896
1951
  /* from ./BccBadge/BccBadge.css */
1897
1952
  @layer components {
1898
1953
  .bcc-badge {
@@ -1904,6 +1959,9 @@
1904
1959
  .bcc-badge.capital {
1905
1960
  @apply inline-flex;
1906
1961
  }
1962
+ .bcc-badge.gradient {
1963
+ @apply ctx-gradient;
1964
+ }
1907
1965
  .bcc-badge.sm {
1908
1966
  @apply w-4 h-4 text-heading-xs;
1909
1967
  }
@@ -2001,6 +2059,7 @@
2001
2059
 
2002
2060
  .bcc-capacity-indicator.is-warning {
2003
2061
  @apply ctx-yellow-subtlest;
2062
+ --bcc-capacity-indicator-circle: var(--ctx-background);
2004
2063
  }
2005
2064
 
2006
2065
  .bcc-capacity-indicator.is-full {
@@ -2354,78 +2413,74 @@
2354
2413
 
2355
2414
  /* from ./BccAvatar/BccAvatar.css */
2356
2415
  @layer components {
2357
- .bcc-avatar {
2358
- --p-avatar-background: var(--ctx-background);
2359
- --p-avatar-color: var(--ctx-text);
2360
- --bcc-avatar-border: var(--ctx-border);
2361
- @apply overflow-hidden shrink-0 ctx-gray-subtler;
2362
- }
2363
- .bcc-avatar.male,
2364
- .bcc-avatar.M {
2365
- @apply ctx-blue-subtler;
2366
- }
2367
- .bcc-avatar.female,
2368
- .bcc-avatar.F {
2369
- @apply ctx-purple-subtler;
2370
- }
2371
- .bcc-avatar.male.child,
2372
- .bcc-avatar.M.child {
2373
- @apply ctx-teal-subtler;
2374
- }
2375
- .bcc-avatar.female.child,
2376
- .bcc-avatar.F.child {
2377
- @apply ctx-magenta-subtler;
2378
- }
2379
- .bcc-avatar.bordered {
2380
- @apply border-2 border-ctx;
2381
- }
2382
- .bcc-avatar.xs {
2383
- @apply size-5 text-xs;
2384
- }
2385
- .bcc-avatar.sm {
2386
- @apply size-6 text-sm;
2387
- }
2388
- .bcc-avatar.md {
2389
- @apply size-8 text-base;
2390
- }
2391
- .bcc-avatar.lg {
2392
- @apply size-10 text-lg;
2393
- }
2394
- .bcc-avatar.xl {
2395
- @apply size-12 text-xl;
2396
- }
2397
- .bcc-avatar.xxl {
2398
- @apply size-20 text-3xl;
2399
- }
2400
- .bcc-avatar.xxxl {
2401
- @apply size-24 text-4xl;
2402
- }
2416
+ .bcc-avatar {
2417
+ --p-avatar-background: var(--ctx-background);
2418
+ --p-avatar-color: var(--ctx-text);
2419
+ --bcc-avatar-border: var(--ctx-border);
2420
+ --p-icon-size: var(--icon-size-sm);
2421
+ @apply ctx-gray-subtler shrink-0 overflow-hidden text-sm;
2422
+ }
2403
2423
 
2404
- .bcc-avatar.squared.lg {
2405
- @apply text-xl;
2406
- }
2407
- .bcc-avatar.squared.xl {
2408
- @apply text-2xl;
2409
- }
2410
- .bcc-avatar.squared.xxl {
2411
- @apply text-4xl;
2412
- }
2413
- .bcc-avatar.squared.xxxl {
2414
- @apply text-5xl;
2415
- }
2424
+ .bcc-avatar.male,
2425
+ .bcc-avatar.M {
2426
+ @apply ctx-blue-subtler;
2427
+ }
2428
+ .bcc-avatar.female,
2429
+ .bcc-avatar.F {
2430
+ @apply ctx-purple-subtler;
2431
+ }
2432
+ .bcc-avatar.male.child,
2433
+ .bcc-avatar.M.child {
2434
+ @apply ctx-teal-subtler;
2435
+ }
2436
+ .bcc-avatar.female.child,
2437
+ .bcc-avatar.F.child {
2438
+ @apply ctx-magenta-subtler;
2439
+ }
2440
+ .bcc-avatar.bordered {
2441
+ @apply border-ctx border-2;
2442
+ }
2443
+ .bcc-avatar.xs {
2444
+ @apply size-5 text-xs;
2445
+ --p-icon-size: var(--icon-size-xs);
2446
+ }
2447
+ .bcc-avatar.sm {
2448
+ @apply size-6 text-xs;
2449
+ --p-icon-size: var(--icon-size-xs);
2450
+ }
2451
+ /* .bcc-avatar.md {
2452
+ same as default
2453
+ }*/
2454
+ .bcc-avatar.lg {
2455
+ @apply text-md size-10;
2456
+ --p-icon-size: var(--icon-size-md);
2457
+ }
2458
+ .bcc-avatar.xl {
2459
+ @apply size-12 text-xl;
2460
+ --p-icon-size: var(--icon-size-lg);
2461
+ }
2462
+ .bcc-avatar.xxl {
2463
+ @apply size-20 text-3xl;
2464
+ --p-icon-size: var(--icon-size-xl);
2465
+ }
2466
+ .bcc-avatar.xxxl {
2467
+ @apply size-24 text-4xl;
2468
+ --p-icon-size: var(--icon-size-xl);
2469
+ }
2416
2470
 
2417
- .p-overlaybadge .bcc-avatar.p-avatar-circle.lg~.p-badge,
2418
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xl~.p-badge {
2419
- transform: translate(40%, -40%);
2420
- }
2471
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.lg ~ .p-badge,
2472
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xl ~ .p-badge {
2473
+ transform: translate(40%, -40%);
2474
+ }
2421
2475
 
2422
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xxxl~.p-badge,
2423
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl~.p-badge {
2424
- transform: translate(20%, -20%);
2425
- }
2476
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xxxl ~ .p-badge,
2477
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl ~ .p-badge {
2478
+ transform: translate(20%, -20%);
2479
+ }
2426
2480
  }
2427
2481
 
2428
2482
 
2483
+
2429
2484
  /* from ./BccTabs/BccTabs.css */
2430
2485
  @layer components {
2431
2486
  .bcc-tabs-fill.p-tabs {
@@ -2444,6 +2499,9 @@
2444
2499
  height: 100%;
2445
2500
  overflow: auto;
2446
2501
  }
2502
+ .bcc-tabs-fluid.p-tabs {
2503
+ width: 100%;
2504
+ }
2447
2505
  }
2448
2506
 
2449
2507
 
@@ -2466,24 +2524,29 @@
2466
2524
 
2467
2525
 
2468
2526
 
2469
- :root, :host {
2527
+ :root,
2528
+ :host {
2470
2529
  --font-sans: 'Archivo', system-ui, sans-serif;
2471
- @apply font-sans antialiased p-0 m-0;
2472
- -webkit-font-smoothing: antialiased;
2473
- -moz-osx-font-smoothing: grayscale;
2530
+ @apply m-0 p-0 font-sans antialiased;
2531
+ -webkit-font-smoothing: antialiased;
2532
+ -moz-osx-font-smoothing: grayscale;
2533
+ line-height: 1.2;
2534
+ }
2474
2535
 
2536
+ hr {
2537
+ border-color: var(--color-border-default);
2475
2538
  }
2476
2539
 
2477
2540
  b,
2478
2541
  strong,
2479
2542
  .bold {
2480
- font-weight: bold;
2481
- --ctx-text: var(--ctx-text-bold);
2543
+ font-weight: bold;
2544
+ --ctx-text: var(--ctx-text-bold);
2482
2545
  }
2483
2546
 
2484
2547
  /* Disable state */
2485
2548
  :disabled,
2486
2549
  .disabled {
2487
- cursor: not-allowed;
2488
- pointer-events: none;
2550
+ cursor: not-allowed;
2551
+ pointer-events: none;
2489
2552
  }
@@ -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>;
@@ -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;
@@ -1,8 +1,8 @@
1
1
  import { type BCC_CONTEXT } from '@/contexts';
2
2
  export type StepIndicatorProps = {
3
- steps: string[];
4
- additionalText?: boolean;
5
- showStepLabel?: boolean;
3
+ steps: string[] | number;
4
+ hideText?: boolean;
5
+ hideLabel?: boolean;
6
6
  left?: boolean;
7
7
  right?: boolean;
8
8
  context?: BCC_CONTEXT;
@@ -20,8 +20,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
20
20
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
21
21
  }>, {
22
22
  context: BCC_CONTEXT;
23
- additionalText: boolean;
24
- showStepLabel: boolean;
23
+ hideText: boolean;
24
+ hideLabel: boolean;
25
25
  headingFn: (currentStep: number, totalSteps: number) => string;
26
26
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
27
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,47 @@
1
+ import { type Component } from 'vue';
2
+ export type TopNavigationProps = {
3
+ title?: string | (() => string);
4
+ subtitle?: string | (() => string);
5
+ left?: ((...args: unknown[]) => Component | null) | Component | string | 'event-logo';
6
+ right?: ((...args: unknown[]) => Component | null) | Component | string;
7
+ hideBack?: boolean;
8
+ backTitle?: string;
9
+ };
10
+ type __VLS_Props = TopNavigationProps & {
11
+ relative?: boolean;
12
+ fixed?: boolean;
13
+ padded?: boolean;
14
+ transparent?: boolean;
15
+ glass?: boolean;
16
+ backTitle?: string;
17
+ force?: boolean;
18
+ titleLeft?: boolean;
19
+ };
20
+ declare var __VLS_1: {
21
+ title: {
22
+ title: string;
23
+ subtitle: string;
24
+ };
25
+ }, __VLS_13: {}, __VLS_20: {};
26
+ type __VLS_Slots = {} & {
27
+ default?: (props: typeof __VLS_1) => any;
28
+ } & {
29
+ right?: (props: typeof __VLS_13) => any;
30
+ } & {
31
+ bottom?: (props: typeof __VLS_20) => any;
32
+ };
33
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
34
+ back: () => any;
35
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
36
+ onBack?: (() => any) | undefined;
37
+ }>, {
38
+ hideBack: boolean;
39
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ type __VLS_WithSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -2,6 +2,7 @@
2
2
  * Custom BCC components (not based on PrimeVue).
3
3
  * Add new custom components here and export them from this file.
4
4
  */
5
+ export { default as BccAppNavigation } from './BccAppNavigation/BccAppNavigation.vue';
5
6
  export { default as BccBadge } from './BccBadge/BccBadge.vue';
6
7
  export { default as BccCapacityIndicator } from './BccCapacityIndicator/BccCapacityIndicator.vue';
7
8
  export { default as BccCircleLoader } from './BccCircleLoader/BccCircleLoader.vue';
@@ -14,6 +15,8 @@ export { default as BccReact } from './BccReact/BccReact.vue';
14
15
  export { default as BccReactEmoji } from './BccReact/BccReactEmoji.vue';
15
16
  export { default as BccStepIndicator } from './BccStepIndicator/BccStepIndicator.vue';
16
17
  export { default as BccTag } from './BccTag/BccTag.vue';
18
+ export { default as BccTopNavigation } from './BccTopNavigation/BccTopNavigation.vue';
19
+ export type { BccAppNavigationItem } from './BccAppNavigation/BccAppNavigation.vue';
17
20
  export type { BadgeProps } from './BccBadge/BccBadge.vue';
18
21
  export type { CapacityIndicatorProps } from './BccCapacityIndicator/BccCapacityIndicator.vue';
19
22
  export type { KnobProps, KnobSlots } from './BccDialKnob/BccDialKnob.vue';
@@ -24,3 +27,4 @@ export type { NpsScoreProps } from './BccNpsScore/BccNpsScore.vue';
24
27
  export type { ReactInfo, ReactProps } from './BccReact/types';
25
28
  export type { StepIndicatorProps } from './BccStepIndicator/BccStepIndicator.vue';
26
29
  export type { TagProps } from './BccTag/BccTag.vue';
30
+ export type { TopNavigationProps } from './BccTopNavigation/BccTopNavigation.vue';
@@ -12,7 +12,7 @@ export type AvatarProps = Omit<PrimeAvatarProps, 'shape' | 'size'> & {
12
12
  /** Adds a visible border around the avatar. */
13
13
  bordered?: boolean;
14
14
  /** Controls the avatar dimensions; maps to CSS size classes (xs through xxl). Default: md */
15
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
15
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl';
16
16
  };
17
17
  declare const __VLS_export: import("vue").DefineComponent<AvatarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
18
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,17 @@
1
+ import { type ImageProps as PrimeImageProps } from 'primevue/image';
2
+ export type ImageProps = PrimeImageProps;
3
+ declare var __VLS_9: {}, __VLS_17: {};
4
+ type __VLS_Slots = {} & {
5
+ refresh?: (props: typeof __VLS_9) => any;
6
+ } & {
7
+ undo?: (props: typeof __VLS_17) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<PrimeImageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PrimeImageProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,14 @@
1
+ import type { VueComponent } from '@/types';
2
+ import { type MenuMethods as PrimeMenuMethods, type MenuProps as PrimeMenuProps } from 'primevue/menu';
3
+ import type { MenuItem } from 'primevue/menuitem';
4
+ /** Menu item model for BccMenu: icon can be a PrimeVue icon class string or a Vue icon component. */
5
+ export type BccMenuItem = Omit<MenuItem, 'icon' | 'items'> & {
6
+ icon?: VueComponent;
7
+ items?: BccMenuItem[];
8
+ };
9
+ export type MenuProps = {
10
+ model?: BccMenuItem[];
11
+ } & Omit<PrimeMenuProps, 'model'>;
12
+ declare const __VLS_export: import("vue").DefineComponent<MenuProps, PrimeMenuMethods, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MenuProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
@@ -3,10 +3,12 @@ import { type MessageProps as PrimeMessageProps } from 'primevue/message';
3
3
  export type MessageProps = Omit<PrimeMessageProps, 'icon'> & {
4
4
  icon?: boolean | VueComponent;
5
5
  iconRight?: VueComponent | boolean;
6
+ title?: string;
7
+ message?: string;
6
8
  };
7
- declare var __VLS_14: {};
9
+ declare var __VLS_19: {};
8
10
  type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_14) => any;
11
+ default?: (props: typeof __VLS_19) => any;
10
12
  };
11
13
  declare const __VLS_base: import("vue").DefineComponent<MessageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MessageProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,18 @@
1
+ import { type RadioButtonProps as PrimeRadioButtonProps } from 'primevue/radiobutton';
2
+ export type RadioButtonProps = PrimeRadioButtonProps & {
3
+ label?: string;
4
+ labelLeft?: boolean;
5
+ };
6
+ declare var __VLS_6: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_6) => any;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<RadioButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<RadioButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -13,6 +13,8 @@ export type TabsProps = Omit<PrimeTabsProps, 'value'> & {
13
13
  fill?: boolean;
14
14
  modelValue?: number;
15
15
  noPanels?: boolean;
16
+ fluid?: boolean;
17
+ bold?: boolean;
16
18
  };
17
19
  type __VLS_Props = TabsProps;
18
20
  type __VLS_ModelProps = {
@@ -14,6 +14,17 @@ export type ToggleProps = ToggleSwitchProps & {
14
14
  /** When true, applies context-aware styling (e.g. from design tokens/theme). */
15
15
  useCtx?: boolean;
16
16
  };
17
- declare const __VLS_export: import("vue").DefineComponent<ToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ToggleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ type __VLS_Props = ToggleProps;
18
+ type __VLS_ModelProps = {
19
+ modelValue: boolean;
20
+ };
21
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
22
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ "update:modelValue": (value: boolean) => any;
24
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
25
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
26
+ }>, {
27
+ defaultValue: string | boolean;
28
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
29
  declare const _default: typeof __VLS_export;
19
30
  export default _default;
@@ -6,8 +6,12 @@ export { default as BccAvatar } from './BccAvatar/BccAvatar.vue';
6
6
  export { default as BccButton } from './BccButton.vue';
7
7
  export { default as BccCheckbox } from './BccCheckbox.vue';
8
8
  export { default as BccChip } from './BccChip/BccChip.vue';
9
+ export { default as BccConfirmDialog } from './BccConfirmDialog/BccConfirmDialog.vue';
10
+ export { default as BccImage } from './BccImage.vue';
9
11
  export { default as BccInput } from './BccInput.vue';
12
+ export { default as BccMenu } from './BccMenu/BccMenu.vue';
10
13
  export { default as BccMessage } from './BccMessage.vue';
14
+ export { default as BccRadioButton } from './BccRadioButton.vue';
11
15
  export { default as BccTabs } from './BccTabs/BccTabs.vue';
12
16
  export { default as BccToggle } from './BccToggle/BccToggle.vue';
13
17
  export { default as BccToggleButton } from './BccToggleButton.vue';
@@ -15,8 +19,11 @@ export type { AvatarProps } from './BccAvatar/BccAvatar.vue';
15
19
  export type { ButtonProps } from './BccButton.vue';
16
20
  export type { CheckboxProps } from './BccCheckbox.vue';
17
21
  export type { ChipProps } from './BccChip/BccChip.vue';
22
+ export type { ImageProps } from './BccImage.vue';
18
23
  export type { InputProps } from './BccInput.vue';
24
+ export type { BccMenuItem, MenuProps } from './BccMenu/BccMenu.vue';
19
25
  export type { MessageProps } from './BccMessage.vue';
26
+ export type { RadioButtonProps } from './BccRadioButton.vue';
20
27
  export type { TabItem, TabsProps } from './BccTabs/BccTabs.vue';
21
28
  export type { ToggleProps } from './BccToggle/BccToggle.vue';
22
29
  export type { ToggleButtonProps } from './BccToggleButton.vue';