@bcc-code/component-library-vue 0.0.0-dev.b7ec5fd → 0.0.0-dev.ed4fb0b

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
@@ -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
  }
@@ -1838,6 +1839,12 @@
1838
1839
  flex-grow: 1;
1839
1840
  }
1840
1841
 
1842
+ .p-autocomplete-chip.p-chip {
1843
+ padding-block-start: calc(var(--p-autocomplete-padding-y) / 2);
1844
+ padding-block-end: calc(var(--p-autocomplete-padding-y) / 2);
1845
+ border-radius: var(--p-autocomplete-chip-border-radius);
1846
+ }
1847
+
1841
1848
 
1842
1849
  /**
1843
1850
  GUTTER FIX
@@ -1851,6 +1858,11 @@ GUTTER FIX
1851
1858
  margin: var(--p-anchor-gutter) 0;
1852
1859
  }
1853
1860
 
1861
+ /* This fix is to ensure overlay badge is contained within the size of the component it wraps */
1862
+ .p-overlaybadge {
1863
+ display: inline-block;
1864
+ }
1865
+
1854
1866
 
1855
1867
 
1856
1868
  /* === ./components/custom/styles.css === */
@@ -1862,6 +1874,10 @@ GUTTER FIX
1862
1874
 
1863
1875
  @apply bg-ctx text-ctx;
1864
1876
  }
1877
+
1878
+ .bcc-badge.capital {
1879
+ @apply inline-flex;
1880
+ }
1865
1881
  .bcc-badge.sm {
1866
1882
  @apply w-4 h-4 text-heading-xs;
1867
1883
  }
@@ -1872,7 +1888,7 @@ GUTTER FIX
1872
1888
  @apply w-6 h-6 text-heading-md;
1873
1889
  }
1874
1890
  .bcc-badge.xl {
1875
- @apply w-8 h-8 text-heading-lg;
1891
+ @apply w-8 h-8 text-heading-md;
1876
1892
  }
1877
1893
 
1878
1894
  .bcc-badge .bcc-badge-icon {
@@ -1909,7 +1925,7 @@ GUTTER FIX
1909
1925
  }
1910
1926
 
1911
1927
  .bcc-badge.squared {
1912
- @apply rounded;
1928
+ @apply rounded-sm;
1913
1929
  }
1914
1930
  }
1915
1931
 
@@ -2011,8 +2027,8 @@ GUTTER FIX
2011
2027
  .bcc-frame--raised {
2012
2028
  --ctx-background: var(--color-elevation-surface-raised-default);
2013
2029
  }
2014
- .bcc-frame--raised.rounded {
2015
- @apply rounded;
2030
+ .bcc-frame--rounded {
2031
+ @apply rounded-md;
2016
2032
  }
2017
2033
  .bcc-frame--raised.bcc-frame--shadow {
2018
2034
  @apply shadow-raised;
@@ -2083,43 +2099,53 @@ GUTTER FIX
2083
2099
  @apply relative w-full;
2084
2100
  }
2085
2101
 
2086
- .bcc-nps-result .result-gauge-dial {
2102
+ .bcc-nps-result.xs {
2103
+ @apply w-24;
2104
+ }
2105
+ .bcc-nps-result.sm {
2106
+ @apply w-36;
2107
+ }
2108
+ .bcc-nps-result.md {
2109
+ @apply w-48;
2110
+ }
2111
+ .bcc-nps-result.lg {
2112
+ @apply w-60;
2113
+ }
2114
+ .bcc-nps-result.xl {
2115
+ @apply w-72;
2116
+ }
2117
+
2118
+ .bcc-nps-result .bcc-nps-result-gauge-dial {
2087
2119
  transform-origin: center;
2088
2120
  }
2089
2121
 
2090
- .bcc-nps-result.animated .result-gauge-dial {
2122
+ .bcc-nps-result.animated .bcc-nps-result-gauge-dial {
2091
2123
  transition-delay: 0.3s;
2092
2124
  transition: all .7s cubic-bezier(0, 0, 0.3, 1.5);
2093
2125
  }
2094
2126
 
2095
- .bcc-nps-result-labels.lg {
2096
- @apply bottom-[2em];
2097
- }
2098
2127
  .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;
2128
+ @apply absolute text-base bottom-1/4 translate-y-1/2 flex w-full flex-col items-center justify-center;
2103
2129
  }
2104
2130
 
2105
- .bcc-nps-result-labels.lg .bcc-nps-result-labels--heading {
2106
- @apply text-heading-xl leading-tight;
2107
- }
2108
2131
  .bcc-nps-result-labels--heading {
2109
- @apply text-heading-lg leading-none;
2132
+ @apply text-[1.25em] font-semibold leading-none;
2110
2133
  }
2111
- .bcc-nps-result-labels.sm .bcc-nps-result-labels--heading {
2112
- @apply text-heading-md leading-none;
2134
+ .bcc-nps-result-labels--label {
2135
+ @apply text-[0.75em] text-subtlest;
2113
2136
  }
2114
2137
 
2115
- .bcc-nps-result-labels.lg .bcc-nps-result-labels--label {
2116
- @apply text-body-lg opacity-60;
2138
+ .bcc-nps-result.md .bcc-nps-result-labels {
2139
+ @apply text-lg;
2117
2140
  }
2118
- .bcc-nps-result-labels--label {
2119
- @apply text-body-md opacity-60;
2141
+ .bcc-nps-result.lg .bcc-nps-result-labels {
2142
+ @apply text-xl;
2143
+ }
2144
+ .bcc-nps-result.xl .bcc-nps-result-labels {
2145
+ @apply text-2xl;
2120
2146
  }
2121
- .bcc-nps-result-labels.sm .bcc-nps-result-labels--label {
2122
- @apply text-body-sm;
2147
+ .bcc-nps-result.full .bcc-nps-result-labels {
2148
+ @apply text-lg;
2123
2149
  }
2124
2150
  }
2125
2151
 
@@ -2362,11 +2388,14 @@ GUTTER FIX
2362
2388
  @apply text-5xl;
2363
2389
  }
2364
2390
 
2391
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.lg~.p-badge,
2392
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xl~.p-badge {
2393
+ transform: translate(40%, -40%);
2394
+ }
2365
2395
 
2366
2396
  .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%);
2397
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl~.p-badge {
2398
+ transform: translate(20%, -20%);
2370
2399
  }
2371
2400
  }
2372
2401
 
@@ -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>;
@@ -11,7 +11,7 @@ export type AvatarProps = Omit<PrimeAvatarProps, 'shape' | 'size'> & {
11
11
  squared?: boolean;
12
12
  /** Adds a visible border around the avatar. */
13
13
  bordered?: boolean;
14
- /** Controls the avatar dimensions; maps to CSS size classes (xs through xxl). */
14
+ /** Controls the avatar dimensions; maps to CSS size classes (xs through xxl). Default: md */
15
15
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
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>;
@@ -3,6 +3,7 @@ import { type ButtonProps as PrimeButtonProps } from 'primevue/button';
3
3
  export type ButtonProps = {
4
4
  icon?: VueComponent;
5
5
  iconRight?: boolean;
6
+ iconClass?: PrimeButtonProps['iconClass'];
6
7
  size?: PrimeButtonProps['size'];
7
8
  useCtx?: boolean;
8
9
  } & /* @vue-ignore */ Omit<PrimeButtonProps, 'icon' | 'iconPos'>;
@@ -5,6 +5,7 @@
5
5
  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
+ export { default as BccChip } from './BccChip/BccChip.vue';
8
9
  export { default as BccInput } from './BccInput.vue';
9
10
  export { default as BccMessage } from './BccMessage.vue';
10
11
  export { default as BccTabs } from './BccTabs/BccTabs.vue';
@@ -13,6 +14,7 @@ export { default as BccToggleButton } from './BccToggleButton.vue';
13
14
  export type { AvatarProps } from './BccAvatar/BccAvatar.vue';
14
15
  export type { ButtonProps } from './BccButton.vue';
15
16
  export type { CheckboxProps } from './BccCheckbox.vue';
17
+ export type { ChipProps } from './BccChip/BccChip.vue';
16
18
  export type { InputProps } from './BccInput.vue';
17
19
  export type { MessageProps } from './BccMessage.vue';
18
20
  export type { TabItem, TabsProps } from './BccTabs/BccTabs.vue';
@@ -16,6 +16,7 @@
16
16
  * 2. Alternative: Pre-built CSS only (no Tailwind in your app; library styles + components only):
17
17
  * - main.ts: import "@bcc-code/component-library-vue/style.css";
18
18
  */
19
+ import type { ConfirmationOptions } from 'primevue/confirmationoptions';
19
20
  import './style.css';
20
21
  export { default as BccPreset } from '@bcc-code/design-tokens/primevue';
21
22
  export { BCC_CONTEXTS, type BCC_CONTEXT } from './contexts';
@@ -45,7 +46,6 @@ export { default as BccColorPicker } from 'primevue/colorpicker';
45
46
  export { default as BccColumn } from 'primevue/column';
46
47
  export { default as BccColumnGroup } from 'primevue/columngroup';
47
48
  export { default as BccConfig } from 'primevue/config';
48
- export { default as BccConfirmDialog } from 'primevue/confirmdialog';
49
49
  export { default as BccConfirmPopup } from 'primevue/confirmpopup';
50
50
  export { default as BccContextMenu } from 'primevue/contextmenu';
51
51
  export { default as BccDataTable } from 'primevue/datatable';
@@ -116,6 +116,7 @@ export { default as BccStepItem } from 'primevue/stepitem';
116
116
  export { default as BccStepList } from 'primevue/steplist';
117
117
  export { default as BccStepPanel } from 'primevue/steppanel';
118
118
  export { default as BccStepPanels } from 'primevue/steppanels';
119
+ export { default as BccStepper } from 'primevue/stepper';
119
120
  export { default as BccSteps } from 'primevue/steps';
120
121
  export { default as BccStyleClass } from 'primevue/styleclass';
121
122
  export { default as BccTab } from 'primevue/tab';
@@ -137,8 +138,18 @@ export { default as BccTooltip } from 'primevue/tooltip';
137
138
  export { default as BccTree } from 'primevue/tree';
138
139
  export { default as BccTreeSelect } from 'primevue/treeselect';
139
140
  export { default as BccTreeTable } from 'primevue/treetable';
140
- export { default as BccVirtualScroller } from 'primevue/virtualscroller';
141
- export { useConfirm } from 'primevue/useconfirm';
142
141
  export { useDialog } from 'primevue/usedialog';
143
142
  export { useToast } from 'primevue/usetoast';
143
+ export { default as BccVirtualScroller } from 'primevue/virtualscroller';
144
144
  export { default as useAnimatedNumber } from './composables/animatedNumber';
145
+ import type { VueComponent } from './types';
146
+ interface UseConfirmOptions extends Omit<ConfirmationOptions, 'icon' | 'acceptIcon' | 'rejectIcon'> {
147
+ icon?: VueComponent | undefined;
148
+ acceptIcon?: VueComponent | undefined;
149
+ rejectIcon?: VueComponent | undefined;
150
+ }
151
+ type UseConfirmReturn = {
152
+ require: (option: UseConfirmOptions) => void;
153
+ close: () => void;
154
+ };
155
+ export declare function useConfirm(): UseConfirmReturn;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bcc-code/component-library-vue",
3
- "version": "0.0.0-dev.b7ec5fd",
3
+ "version": "0.0.0-dev.ed4fb0b",
4
4
  "type": "module",
5
5
  "description": "Extended Vue component library based on PrimeVue and BCC design tokens",
6
6
  "repository": "https://github.com/bcc-code/bcc-design.git",
@@ -53,7 +53,7 @@
53
53
  "create-version": "node ./scripts/version.cjs"
54
54
  },
55
55
  "dependencies": {
56
- "@bcc-code/design-tokens": "^5.1.2",
56
+ "@bcc-code/design-tokens": "^5.1.34",
57
57
  "@bcc-code/icons-vue": "^1.4.0",
58
58
  "@primeuix/themes": "^2.0.3",
59
59
  "@tailwindcss/vite": "^4.1.18",
@@ -67,6 +67,8 @@
67
67
  "@eslint/js": "^9.39.2",
68
68
  "@primevue/auto-import-resolver": "^4.5.4",
69
69
  "@storybook/addon-docs": "^10.2.8",
70
+ "@storybook/manager-api": "^8.6.14",
71
+ "@storybook/theming": "^8.6.14",
70
72
  "@storybook/vue3": "^10.0.0",
71
73
  "@storybook/vue3-vite": "^10.0.0",
72
74
  "@types/node": "^22.0.0",