@bcc-code/component-library-vue 0.0.0-dev.edf8c5a → 0.0.0-dev.fd7e9e4

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 === */
@@ -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,39 +1825,76 @@
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-treeselect-overlay {
1836
+ margin: var(--p-anchor-gutter) 0;
1837
+ }
1838
+
1839
+ /* This fix is to ensure overlay badge is contained within the size of the component it wraps */
1840
+ .p-overlaybadge {
1841
+ display: inline-block;
1842
+ }
1843
+
1844
+ /**
1845
+ * BccAutocomplete
1828
1846
  **/
1829
1847
 
1830
1848
  /** Our icons are a bit smaller that Primevue's default */
1831
1849
  .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);
1850
+ --p-icon-size: var(--icon-size-sm);
1851
+ --p-form-field-sm-font-size: var(--icon-size-sm);
1852
+ --p-form-field-lg-font-size: var(--icon-size-md);
1853
+ }
1854
+
1855
+ .p-autocomplete .p-autocomplete-clear-icon {
1856
+ /** middle-align the icon */
1857
+ top: calc(50% - var(--icon-size-sm) / 2);
1858
+ margin-top: 0;
1835
1859
  }
1836
1860
 
1837
1861
  .p-autocomplete-clearable .p-inputtext {
1838
- flex-grow: 1;
1862
+ flex-grow: 1;
1839
1863
  }
1840
1864
 
1841
1865
  .p-autocomplete-chip.p-chip {
1842
- padding-block-start: calc(var(--p-autocomplete-padding-y) / 2);
1843
- padding-block-end: calc(var(--p-autocomplete-padding-y) / 2);
1844
- border-radius: var(--p-autocomplete-chip-border-radius);
1866
+ padding-block-start: calc(var(--p-autocomplete-padding-y) / 2);
1867
+ padding-block-end: calc(var(--p-autocomplete-padding-y) / 2);
1868
+ border-radius: var(--p-autocomplete-chip-border-radius);
1845
1869
  }
1846
1870
 
1847
-
1848
1871
  /**
1849
- GUTTER FIX
1850
- * Primevue's dropwdown components are all missing the gap between input and dropdown
1851
- **/
1852
- .p-autocomplete-overlay,
1853
- .p-menu-overlay,
1854
- .p-multiselect-overlay,
1855
- .p-select-overlay,
1856
- .p-treeselect-overlay {
1857
- margin: var(--p-anchor-gutter) 0;
1872
+ * BccSelect
1873
+ **/
1874
+ .p-select {
1875
+ --p-icon-size: var(--icon-size-sm);
1876
+ }
1877
+
1878
+ .p-select.inline-select {
1879
+ @apply mx-auto inline-flex w-auto items-center border-0 bg-transparent shadow-none;
1880
+ --p-icon-size: 1.25em;
1881
+ --p-select-dropdown-width: 1.5em;
1882
+ --p-select-min-height: auto;
1883
+ }
1884
+
1885
+ .p-select.inline-select .p-select-label {
1886
+ @apply inline-block font-semibold;
1887
+ font-size: inherit;
1888
+ padding: 0 0 0 0.25em;
1858
1889
  }
1859
1890
 
1891
+ .p-select.inline-select.inverse {
1892
+ --p-select-color: var(--color-neutral-0);
1893
+ --p-select-dropdown-color: var(--color-neutral-0);
1894
+ --p-select-placeholder-color: var(--color-dark-neutral-1000);
1895
+ }
1896
+
1897
+
1860
1898
 
1861
1899
 
1862
1900
  /* === ./components/custom/styles.css === */
@@ -1868,6 +1906,10 @@ GUTTER FIX
1868
1906
 
1869
1907
  @apply bg-ctx text-ctx;
1870
1908
  }
1909
+
1910
+ .bcc-badge.capital {
1911
+ @apply inline-flex;
1912
+ }
1871
1913
  .bcc-badge.sm {
1872
1914
  @apply w-4 h-4 text-heading-xs;
1873
1915
  }
@@ -1878,7 +1920,7 @@ GUTTER FIX
1878
1920
  @apply w-6 h-6 text-heading-md;
1879
1921
  }
1880
1922
  .bcc-badge.xl {
1881
- @apply w-8 h-8 text-heading-lg;
1923
+ @apply w-8 h-8 text-heading-md;
1882
1924
  }
1883
1925
 
1884
1926
  .bcc-badge .bcc-badge-icon {
@@ -2017,8 +2059,8 @@ GUTTER FIX
2017
2059
  .bcc-frame--raised {
2018
2060
  --ctx-background: var(--color-elevation-surface-raised-default);
2019
2061
  }
2020
- .bcc-frame--raised.rounded {
2021
- @apply rounded;
2062
+ .bcc-frame--rounded {
2063
+ @apply rounded-md;
2022
2064
  }
2023
2065
  .bcc-frame--raised.bcc-frame--shadow {
2024
2066
  @apply shadow-raised;
@@ -2089,43 +2131,53 @@ GUTTER FIX
2089
2131
  @apply relative w-full;
2090
2132
  }
2091
2133
 
2092
- .bcc-nps-result .result-gauge-dial {
2134
+ .bcc-nps-result.xs {
2135
+ @apply w-24;
2136
+ }
2137
+ .bcc-nps-result.sm {
2138
+ @apply w-36;
2139
+ }
2140
+ .bcc-nps-result.md {
2141
+ @apply w-48;
2142
+ }
2143
+ .bcc-nps-result.lg {
2144
+ @apply w-60;
2145
+ }
2146
+ .bcc-nps-result.xl {
2147
+ @apply w-72;
2148
+ }
2149
+
2150
+ .bcc-nps-result .bcc-nps-result-gauge-dial {
2093
2151
  transform-origin: center;
2094
2152
  }
2095
2153
 
2096
- .bcc-nps-result.animated .result-gauge-dial {
2154
+ .bcc-nps-result.animated .bcc-nps-result-gauge-dial {
2097
2155
  transition-delay: 0.3s;
2098
2156
  transition: all .7s cubic-bezier(0, 0, 0.3, 1.5);
2099
2157
  }
2100
2158
 
2101
- .bcc-nps-result-labels.lg {
2102
- @apply bottom-[2em];
2103
- }
2104
2159
  .bcc-nps-result-labels {
2105
- @apply absolute bottom-[1em] flex w-full flex-col items-center justify-center;
2106
- }
2107
- .bcc-nps-result-labels.sm {
2108
- @apply bottom-0;
2160
+ @apply absolute text-base bottom-1/4 translate-y-1/2 flex w-full flex-col items-center justify-center;
2109
2161
  }
2110
2162
 
2111
- .bcc-nps-result-labels.lg .bcc-nps-result-labels--heading {
2112
- @apply text-heading-xl leading-tight;
2113
- }
2114
2163
  .bcc-nps-result-labels--heading {
2115
- @apply text-heading-lg leading-none;
2164
+ @apply text-[1.25em] font-semibold leading-none;
2116
2165
  }
2117
- .bcc-nps-result-labels.sm .bcc-nps-result-labels--heading {
2118
- @apply text-heading-md leading-none;
2166
+ .bcc-nps-result-labels--label {
2167
+ @apply text-[0.75em] text-subtlest;
2119
2168
  }
2120
2169
 
2121
- .bcc-nps-result-labels.lg .bcc-nps-result-labels--label {
2122
- @apply text-body-lg opacity-60;
2170
+ .bcc-nps-result.md .bcc-nps-result-labels {
2171
+ @apply text-lg;
2123
2172
  }
2124
- .bcc-nps-result-labels--label {
2125
- @apply text-body-md opacity-60;
2173
+ .bcc-nps-result.lg .bcc-nps-result-labels {
2174
+ @apply text-xl;
2175
+ }
2176
+ .bcc-nps-result.xl .bcc-nps-result-labels {
2177
+ @apply text-2xl;
2126
2178
  }
2127
- .bcc-nps-result-labels.sm .bcc-nps-result-labels--label {
2128
- @apply text-body-sm;
2179
+ .bcc-nps-result.full .bcc-nps-result-labels {
2180
+ @apply text-lg;
2129
2181
  }
2130
2182
  }
2131
2183
 
@@ -2368,11 +2420,14 @@ GUTTER FIX
2368
2420
  @apply text-5xl;
2369
2421
  }
2370
2422
 
2423
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.lg~.p-badge,
2424
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xl~.p-badge {
2425
+ transform: translate(40%, -40%);
2426
+ }
2371
2427
 
2372
2428
  .p-overlaybadge .bcc-avatar.p-avatar-circle.xxxl~.p-badge,
2373
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl~.p-badge,
2374
- .p-overlaybadge .bcc-avatar.p-avatar-circle.xl~.p-badge {
2375
- transform: translate(25%, -25%);
2429
+ .p-overlaybadge .bcc-avatar.p-avatar-circle.xxl~.p-badge {
2430
+ transform: translate(20%, -20%);
2376
2431
  }
2377
2432
  }
2378
2433
 
@@ -2417,24 +2472,28 @@ GUTTER FIX
2417
2472
 
2418
2473
 
2419
2474
 
2420
- :root, :host {
2475
+ :root,
2476
+ :host {
2421
2477
  --font-sans: 'Archivo', system-ui, sans-serif;
2422
- @apply font-sans antialiased p-0 m-0;
2423
- -webkit-font-smoothing: antialiased;
2424
- -moz-osx-font-smoothing: grayscale;
2478
+ @apply m-0 p-0 font-sans antialiased;
2479
+ -webkit-font-smoothing: antialiased;
2480
+ -moz-osx-font-smoothing: grayscale;
2481
+ }
2425
2482
 
2483
+ hr {
2484
+ border-color: var(--color-border-default);
2426
2485
  }
2427
2486
 
2428
2487
  b,
2429
2488
  strong,
2430
2489
  .bold {
2431
- font-weight: bold;
2432
- --ctx-text: var(--ctx-text-bold);
2490
+ font-weight: bold;
2491
+ --ctx-text: var(--ctx-text-bold);
2433
2492
  }
2434
2493
 
2435
2494
  /* Disable state */
2436
2495
  :disabled,
2437
2496
  .disabled {
2438
- cursor: not-allowed;
2439
- pointer-events: none;
2497
+ cursor: not-allowed;
2498
+ pointer-events: none;
2440
2499
  }
@@ -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>;
@@ -1,8 +1,8 @@
1
1
  import { type BCC_CONTEXT } from '@/contexts';
2
2
  export type StepIndicatorProps = {
3
3
  steps: string[];
4
- additionalText?: boolean;
5
- showStepLabel?: boolean;
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;
@@ -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'>;
@@ -0,0 +1,14 @@
1
+ import type { VueComponent } from '@/types';
2
+ import type { MenuItem } from 'primevue/menuitem';
3
+ /** Menu item model for BccMenu: icon can be a PrimeVue icon class string or a Vue icon component. */
4
+ export type BccMenuItem = Omit<MenuItem, 'icon' | 'items'> & {
5
+ icon?: string | VueComponent;
6
+ items?: BccMenuItem[];
7
+ };
8
+ declare const __VLS_export: import("vue").DefineComponent<{}, {
9
+ toggle: (event: Event, target?: unknown) => void | undefined;
10
+ show: (event: Event, target?: unknown) => void | undefined;
11
+ hide: () => void | undefined;
12
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
@@ -5,7 +5,9 @@
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';
10
+ export { default as BccMenu } from './BccMenu/BccMenu.vue';
9
11
  export { default as BccMessage } from './BccMessage.vue';
10
12
  export { default as BccTabs } from './BccTabs/BccTabs.vue';
11
13
  export { default as BccToggle } from './BccToggle/BccToggle.vue';
@@ -13,7 +15,9 @@ export { default as BccToggleButton } from './BccToggleButton.vue';
13
15
  export type { AvatarProps } from './BccAvatar/BccAvatar.vue';
14
16
  export type { ButtonProps } from './BccButton.vue';
15
17
  export type { CheckboxProps } from './BccCheckbox.vue';
18
+ export type { ChipProps } from './BccChip/BccChip.vue';
16
19
  export type { InputProps } from './BccInput.vue';
20
+ export type { BccMenuItem } from './BccMenu/BccMenu.vue';
17
21
  export type { MessageProps } from './BccMessage.vue';
18
22
  export type { TabItem, TabsProps } from './BccTabs/BccTabs.vue';
19
23
  export type { ToggleProps } from './BccToggle/BccToggle.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';
@@ -80,7 +80,7 @@ export { default as BccKeyFilter } from 'primevue/keyfilter';
80
80
  export { default as BccKnob } from 'primevue/knob';
81
81
  export { default as BccListbox } from 'primevue/listbox';
82
82
  export { default as BccMegaMenu } from 'primevue/megamenu';
83
- export { default as BccMenu } from 'primevue/menu';
83
+ export { BccMenu, type BccMenuItem } from './components/wrapped';
84
84
  export { default as BccMenubar } from 'primevue/menubar';
85
85
  export { default as BccMeterGroup } from 'primevue/metergroup';
86
86
  export { default as BccMultiSelect } from 'primevue/multiselect';
@@ -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,102 +1,105 @@
1
1
  {
2
- "name": "@bcc-code/component-library-vue",
3
- "version": "0.0.0-dev.edf8c5a",
4
- "type": "module",
5
- "description": "Extended Vue component library based on PrimeVue and BCC design tokens",
6
- "repository": "https://github.com/bcc-code/bcc-design.git",
7
- "license": "Apache-2.0",
8
- "publishConfig": {
9
- "access": "public"
10
- },
11
- "packageManager": "pnpm@9.15.0",
12
- "files": [
13
- "dist",
14
- "dist-types",
15
- "dist-css"
16
- ],
17
- "main": "./dist/component-library.umd.cjs",
18
- "module": "./dist/component-library.js",
19
- "types": "./dist-types/index.d.ts",
20
- "exports": {
21
- ".": {
22
- "import": {
23
- "types": "./dist-types/index.d.ts",
24
- "default": "./dist/component-library.js"
25
- },
26
- "require": {
27
- "types": "./dist-types/index.d.ts",
28
- "default": "./dist/component-library.umd.cjs"
29
- }
30
- },
31
- "./style.css": "./dist/index.css",
32
- "./theme.css": "./dist/theme.css",
33
- "./archivo-font.css": "./dist/archivo-font.css",
34
- "./tailwind.css": "./dist-css/tailwind.css"
35
- },
36
- "scripts": {
37
- "start": "storybook dev -p 6006",
38
- "build-storybook": "storybook build",
39
- "build": "run-p typecheck build:types build:vite",
40
- "build:vite": "rimraf dist && vite build && node scripts/build-theme-css.mjs",
41
- "build:types": "rimraf dist-types && vue-tsc -p tsconfig.build.json",
42
- "generate:semantic": "node scripts/restructure-semantic-primitives.mjs",
43
- "generate:semantic-css": "node scripts/generate-semantic-css.mjs",
44
- "generate:context-modes": "node scripts/generate-context-modes.mjs",
45
- "generate:context-css": "node scripts/generate-context-css.mjs",
46
- "generate": "pnpm run generate:semantic && pnpm run generate:semantic-css && pnpm run generate:context-modes && pnpm run generate:context-css",
47
- "sync:primevue-icon-patches": "node scripts/sync-primevue-icon-patches.mjs",
48
- "typecheck": "vue-tsc --noEmit",
49
- "lint": "eslint src/**/*.ts src/**/*.vue",
50
- "lint:fix": "eslint --fix src/**/*.ts src/**/*.vue",
51
- "test:unit": "vitest run",
52
- "release-channel": "node ./scripts/release-channel.cjs",
53
- "create-version": "node ./scripts/version.cjs"
54
- },
55
- "dependencies": {
56
- "@bcc-code/design-tokens": "^5.1.2",
57
- "@bcc-code/icons-vue": "^1.4.0",
58
- "@primeuix/themes": "^2.0.3",
59
- "@tailwindcss/vite": "^4.1.18",
60
- "primevue": "^4.5.4",
61
- "tailwindcss": "^4.0.0"
62
- },
63
- "peerDependencies": {
64
- "vue": "^3.5.0"
65
- },
66
- "devDependencies": {
67
- "@eslint/js": "^9.39.2",
68
- "@primevue/auto-import-resolver": "^4.5.4",
69
- "@storybook/addon-docs": "^10.2.8",
70
- "@storybook/vue3": "^10.0.0",
71
- "@storybook/vue3-vite": "^10.0.0",
72
- "@types/node": "^22.0.0",
73
- "@vitejs/plugin-vue": "^6.0.0",
74
- "@vue/eslint-config-prettier": "^10.2.0",
75
- "@vue/test-utils": "^2.4.6",
76
- "@vue/tsconfig": "^0.7.0",
77
- "autoprefixer": "^10.4.20",
78
- "eslint": "^9.39.2",
79
- "eslint-plugin-prettier": "^5.5.5",
80
- "eslint-plugin-vue": "^10.7.0",
81
- "globals": "^17.3.0",
82
- "jiti": "^2.6.1",
83
- "npm-run-all": "^4.1.5",
84
- "postcss": "^8.4.49",
85
- "prettier": "^3.8.1",
86
- "prettier-plugin-tailwindcss": "^0.7.2",
87
- "rimraf": "^6.0.0",
88
- "storybook": "^10.0.0",
89
- "typescript": "~5.7.0",
90
- "typescript-eslint": "^8.54.0",
91
- "unplugin-vue-components": "^31.0.0",
92
- "vite": "^7.3.0",
93
- "vitest": "^4.0.18",
94
- "vue": "^3.5.0",
95
- "vue-tsc": "^3.2.4"
96
- },
97
- "pnpm": {
98
- "patchedDependencies": {
99
- "@primevue/icons": "patches/@primevue__icons.patch"
100
- }
101
- }
2
+ "name": "@bcc-code/component-library-vue",
3
+ "version": "0.0.0-dev.fd7e9e4",
4
+ "type": "module",
5
+ "description": "Extended Vue component library based on PrimeVue and BCC design tokens",
6
+ "repository": "https://github.com/bcc-code/bcc-design.git",
7
+ "license": "Apache-2.0",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "packageManager": "pnpm@9.15.0",
12
+ "files": [
13
+ "dist",
14
+ "dist-types",
15
+ "dist-css"
16
+ ],
17
+ "main": "./dist/component-library.umd.cjs",
18
+ "module": "./dist/component-library.js",
19
+ "types": "./dist-types/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": {
23
+ "types": "./dist-types/index.d.ts",
24
+ "default": "./dist/component-library.js"
25
+ },
26
+ "require": {
27
+ "types": "./dist-types/index.d.ts",
28
+ "default": "./dist/component-library.umd.cjs"
29
+ }
30
+ },
31
+ "./style.css": "./dist/index.css",
32
+ "./theme.css": "./dist/theme.css",
33
+ "./archivo-font.css": "./dist/archivo-font.css",
34
+ "./tailwind.css": "./dist-css/tailwind.css"
35
+ },
36
+ "scripts": {
37
+ "start": "storybook dev -p 6006",
38
+ "build-storybook": "storybook build",
39
+ "build": "run-p typecheck build:types build:vite",
40
+ "build:vite": "rimraf dist && vite build && node scripts/build-theme-css.mjs",
41
+ "build:types": "rimraf dist-types && vue-tsc -p tsconfig.build.json",
42
+ "generate:semantic": "node scripts/restructure-semantic-primitives.mjs",
43
+ "generate:semantic-css": "node scripts/generate-semantic-css.mjs",
44
+ "generate:context-modes": "node scripts/generate-context-modes.mjs",
45
+ "generate:context-css": "node scripts/generate-context-css.mjs",
46
+ "generate": "pnpm run generate:semantic && pnpm run generate:semantic-css && pnpm run generate:context-modes && pnpm run generate:context-css",
47
+ "sync:primevue-icon-patches": "node scripts/sync-primevue-icon-patches.mjs",
48
+ "typecheck": "vue-tsc --noEmit",
49
+ "lint": "eslint src/**/*.ts src/**/*.vue",
50
+ "lint:fix": "eslint --fix src/**/*.ts src/**/*.vue",
51
+ "test:unit": "vitest run",
52
+ "release-channel": "node ./scripts/release-channel.cjs",
53
+ "create-version": "node ./scripts/version.cjs"
54
+ },
55
+ "dependencies": {
56
+ "@bcc-code/design-tokens": "^5.1.34",
57
+ "@bcc-code/icons-vue": "^1.4.0",
58
+ "@primeuix/themes": "^2.0.3",
59
+ "@tailwindcss/vite": "^4.1.18",
60
+ "primevue": "^4.5.4",
61
+ "tailwindcss": "^4.0.0"
62
+ },
63
+ "peerDependencies": {
64
+ "vue": "^3.5.0"
65
+ },
66
+ "devDependencies": {
67
+ "@eslint/js": "^9.39.2",
68
+ "@primevue/auto-import-resolver": "^4.5.4",
69
+ "@storybook/addon-docs": "^10.2.8",
70
+ "@storybook/manager-api": "^8.6.14",
71
+ "@storybook/theming": "^8.6.14",
72
+ "@storybook/vue3": "^10.0.0",
73
+ "@storybook/vue3-vite": "^10.0.0",
74
+ "@types/node": "^22.0.0",
75
+ "@vitejs/plugin-vue": "^6.0.0",
76
+ "@vue/eslint-config-prettier": "^10.2.0",
77
+ "@vue/test-utils": "^2.4.6",
78
+ "@vue/tsconfig": "^0.7.0",
79
+ "autoprefixer": "^10.4.20",
80
+ "eslint": "^9.39.2",
81
+ "eslint-plugin-prettier": "^5.5.5",
82
+ "eslint-plugin-vue": "^10.7.0",
83
+ "globals": "^17.3.0",
84
+ "jiti": "^2.6.1",
85
+ "npm-run-all": "^4.1.5",
86
+ "postcss": "^8.4.49",
87
+ "prettier": "^3.8.1",
88
+ "prettier-plugin-tailwindcss": "^0.7.2",
89
+ "remark-gfm": "^4.0.0",
90
+ "rimraf": "^6.0.0",
91
+ "storybook": "^10.0.0",
92
+ "typescript": "~5.7.0",
93
+ "typescript-eslint": "^8.54.0",
94
+ "unplugin-vue-components": "^31.0.0",
95
+ "vite": "^7.3.0",
96
+ "vitest": "^4.0.18",
97
+ "vue": "^3.5.0",
98
+ "vue-tsc": "^3.2.4"
99
+ },
100
+ "pnpm": {
101
+ "patchedDependencies": {
102
+ "@primevue/icons": "patches/@primevue__icons.patch"
103
+ }
104
+ }
102
105
  }