@bcc-code/component-library-vue 0.0.0-dev.1f2ce94

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 (33) hide show
  1. package/README.md +184 -0
  2. package/dist/component-library.js +69546 -0
  3. package/dist/component-library.umd.cjs +11694 -0
  4. package/dist/index.css +1 -0
  5. package/dist/theme.css +2404 -0
  6. package/dist-types/components/custom/BccAvatar/BccAvatar.vue.d.ts +19 -0
  7. package/dist-types/components/custom/BccBadge/BccBadge.vue.d.ts +32 -0
  8. package/dist-types/components/custom/BccCapacityIndicator/BccCapacityIndicator.vue.d.ts +23 -0
  9. package/dist-types/components/custom/BccCircleLoader/BccCircleLoader.vue.d.ts +3 -0
  10. package/dist-types/components/custom/BccDialKnob/BccDialKnob.vue.d.ts +64 -0
  11. package/dist-types/components/custom/BccFrame/BccFrame.vue.d.ts +39 -0
  12. package/dist-types/components/custom/BccGraphic/BccGraphic.vue.d.ts +47 -0
  13. package/dist-types/components/custom/BccNpsResult/BccNpsResult.vue.d.ts +21 -0
  14. package/dist-types/components/custom/BccNpsScore/BccNpsScore.vue.d.ts +36 -0
  15. package/dist-types/components/custom/BccReact/BccReact.vue.d.ts +11 -0
  16. package/dist-types/components/custom/BccReact/BccReactEmoji.vue.d.ts +4 -0
  17. package/dist-types/components/custom/BccReact/types.d.ts +18 -0
  18. package/dist-types/components/custom/BccTabs/BccTabs.vue.d.ts +38 -0
  19. package/dist-types/components/custom/BccTag/BccTag.vue.d.ts +27 -0
  20. package/dist-types/components/custom/BccToggle/BccToggle.vue.d.ts +19 -0
  21. package/dist-types/components/custom/index.d.ts +30 -0
  22. package/dist-types/components/wrapped/BccButton.vue.d.ts +21 -0
  23. package/dist-types/components/wrapped/BccCheckbox.vue.d.ts +17 -0
  24. package/dist-types/components/wrapped/BccInput.vue.d.ts +48 -0
  25. package/dist-types/components/wrapped/BccMessage.vue.d.ts +19 -0
  26. package/dist-types/components/wrapped/BccToggleButton.vue.d.ts +21 -0
  27. package/dist-types/components/wrapped/index.d.ts +14 -0
  28. package/dist-types/composables/animatedNumber.d.ts +4 -0
  29. package/dist-types/contexts.d.ts +52 -0
  30. package/dist-types/index.d.ts +146 -0
  31. package/dist-types/setup.d.ts +2 -0
  32. package/dist-types/types.d.ts +4 -0
  33. package/package.json +103 -0
@@ -0,0 +1,52 @@
1
+ export declare enum COLORS {
2
+ BRAND = "brand",
3
+ NEUTRAL = "neutral",
4
+ DANGER = "danger",
5
+ WARNING = "warning",
6
+ SUCCESS = "success",
7
+ INFO = "info",
8
+ GRAY = "gray",
9
+ BLUE = "blue",
10
+ TEAL = "teal",
11
+ GREEN = "green",
12
+ BROWN = "brown",
13
+ YELLOW = "yellow",
14
+ ORANGE = "orange",
15
+ RED = "red",
16
+ PURPLE = "purple",
17
+ MAGENTA = "magenta"
18
+ }
19
+ export declare enum LEVELS {
20
+ SUBTLEST = "subtlest",
21
+ SUBTLER = "subtler",
22
+ SUBTLE = "subtle",
23
+ BOLD = "bold",
24
+ BOLDER = "bolder",
25
+ BOLDEST = "boldest"
26
+ }
27
+ /** Colors that have all level variants (default, bolder, boldest, etc.). */
28
+ type FullLevelColors = COLORS.BRAND | COLORS.NEUTRAL;
29
+ type AccentColors = COLORS.GRAY | COLORS.BLUE | COLORS.TEAL | COLORS.GREEN | COLORS.BROWN | COLORS.YELLOW | COLORS.ORANGE | COLORS.RED | COLORS.PURPLE | COLORS.MAGENTA;
30
+ type Severities = COLORS.INFO | COLORS.SUCCESS | COLORS.WARNING | COLORS.DANGER;
31
+ type SeverityLevels = LEVELS.SUBTLEST | LEVELS.BOLDER;
32
+ /** Accent colors only have these four levels (no default, bolder, boldest). */
33
+ type AccentLevels = LEVELS.SUBTLEST | LEVELS.SUBTLER | LEVELS.SUBTLE | LEVELS.BOLDER;
34
+ /** Context token for color C at level L (helper to avoid ambiguous > in template literal). */
35
+ type ContextToken<C extends COLORS, L extends LEVELS> = `${C}-${L}`;
36
+ export type LEVELS_MAP<L extends LEVELS, C extends COLORS> = {
37
+ [K in L]: ContextToken<C, K>;
38
+ };
39
+ /**
40
+ * Type with only the specified context levels for all colors.
41
+ * For brand/neutral, any level in L is allowed.
42
+ * For accent colors, only levels in L that are also in AccentLevels (subtlest, subtler, subtle, bold) are allowed.
43
+ */
44
+ export type ONLY_LEVELS<L extends LEVELS, C extends COLORS = COLORS> = {
45
+ [K in C]: LEVELS_MAP<L, K>;
46
+ };
47
+ /** Type with all context levels: brand/neutral have all levels, accent colors have only subtlest, subtler, subtle, bold. */
48
+ export type ALL_LEVELS = ONLY_LEVELS<AccentLevels, AccentColors> & ONLY_LEVELS<LEVELS, FullLevelColors> & ONLY_LEVELS<SeverityLevels, Severities>;
49
+ export declare const BCC_CONTEXTS: Readonly<ALL_LEVELS>;
50
+ export declare const BCC_CONTEXT_LIST: readonly BCC_CONTEXT[];
51
+ export type BCC_CONTEXT = ContextToken<AccentColors, AccentLevels> | ContextToken<FullLevelColors, LEVELS> | ContextToken<Severities, SeverityLevels> | Severities;
52
+ export {};
@@ -0,0 +1,146 @@
1
+ /**
2
+ * @bcc-code/component-library-vue
3
+ *
4
+ * Vue component library with PrimeVue and BCC design tokens. You only need this
5
+ * package: no separate Tailwind or PrimeVue install.
6
+ *
7
+ * Usage: In your main.ts file, import the library and use the setup function.
8
+ * import { BccComponentLibrary } from '@bcc-code/component-library-vue';
9
+ * app.use(BccComponentLibrary);
10
+ *
11
+ * For styling, you have two options:
12
+ * 1. Recommended (full Tailwind: utility classes + tree-shaking in your app):
13
+ * - vite.config: plugins: [..., tailwindcss()] with import tailwindcss from '@tailwindcss/vite'
14
+ * - Main CSS file: @import "@bcc-code/component-library-vue/theme.css";
15
+ * Tailwind runs in your build and only bundles classes you use.
16
+ * 2. Alternative: Pre-built CSS only (no Tailwind in your app; library styles + components only):
17
+ * - main.ts: import "@bcc-code/component-library-vue/style.css";
18
+ */
19
+ import './style.css';
20
+ export { default as BccPreset } from '@bcc-code/design-tokens/primevue';
21
+ export { BCC_CONTEXTS, type BCC_CONTEXT } from './contexts';
22
+ export { default as BccComponentLibrary } from './setup';
23
+ export * from './types';
24
+ export * from './components/custom';
25
+ export * from './components/wrapped';
26
+ export { default as BccAccordion } from 'primevue/accordion';
27
+ export { default as BccAccordionContent } from 'primevue/accordioncontent';
28
+ export { default as BccAccordionHeader } from 'primevue/accordionheader';
29
+ export { default as BccAccordionPanel } from 'primevue/accordionpanel';
30
+ export { default as BccAccordionTab } from 'primevue/accordiontab';
31
+ export { default as BccAnimateOnScroll } from 'primevue/animateonscroll';
32
+ export { default as BccAutoComplete } from 'primevue/autocomplete';
33
+ export { default as BccAvatarGroup } from 'primevue/avatargroup';
34
+ export { default as BccBadgeDirective } from 'primevue/badgedirective';
35
+ export { default as BccBlockUI } from 'primevue/blockui';
36
+ export { default as BccBreadcrumb } from 'primevue/breadcrumb';
37
+ export { default as BccButtonGroup } from 'primevue/buttongroup';
38
+ export { default as BccCard } from 'primevue/card';
39
+ export { default as BccCarousel } from 'primevue/carousel';
40
+ export { default as BccCascadeSelect } from 'primevue/cascadeselect';
41
+ export { default as BccCheckboxGroup } from 'primevue/checkboxgroup';
42
+ export { default as BccChip } from 'primevue/chip';
43
+ export { default as BccChips } from 'primevue/chips';
44
+ export { default as BccColorPicker } from 'primevue/colorpicker';
45
+ export { default as BccColumn } from 'primevue/column';
46
+ export { default as BccColumnGroup } from 'primevue/columngroup';
47
+ export { default as BccConfig } from 'primevue/config';
48
+ export { default as BccConfirmDialog } from 'primevue/confirmdialog';
49
+ export { default as BccConfirmPopup } from 'primevue/confirmpopup';
50
+ export { default as BccContextMenu } from 'primevue/contextmenu';
51
+ export { default as BccDataTable } from 'primevue/datatable';
52
+ export { default as BccDataView } from 'primevue/dataview';
53
+ export { default as BccDatePicker } from 'primevue/datepicker';
54
+ export { default as BccDeferredContent } from 'primevue/deferredcontent';
55
+ export { default as BccDialog } from 'primevue/dialog';
56
+ export { default as BccDivider } from 'primevue/divider';
57
+ export { default as BccDock } from 'primevue/dock';
58
+ export { default as BccDrawer } from 'primevue/drawer';
59
+ export { default as BccDynamicDialog } from 'primevue/dynamicdialog';
60
+ export { default as BccFieldset } from 'primevue/fieldset';
61
+ export { default as BccFileUpload } from 'primevue/fileupload';
62
+ export { default as BccFloatLabel } from 'primevue/floatlabel';
63
+ export { default as BccFluid } from 'primevue/fluid';
64
+ export { default as BccFocusTrap } from 'primevue/focustrap';
65
+ export { default as BccGalleria } from 'primevue/galleria';
66
+ export { default as BccIconField } from 'primevue/iconfield';
67
+ export { default as BccIftaLabel } from 'primevue/iftalabel';
68
+ export { default as BccImage } from 'primevue/image';
69
+ export { default as BccImageCompare } from 'primevue/imagecompare';
70
+ export { default as BccInplace } from 'primevue/inplace';
71
+ export { default as BccInputChips } from 'primevue/inputchips';
72
+ export { default as BccInputGroup } from 'primevue/inputgroup';
73
+ export { default as BccInputGroupAddon } from 'primevue/inputgroupaddon';
74
+ export { default as BccInputIcon } from 'primevue/inputicon';
75
+ export { default as BccInputMask } from 'primevue/inputmask';
76
+ export { default as BccInputNumber } from 'primevue/inputnumber';
77
+ export { default as BccInputOtp } from 'primevue/inputotp';
78
+ export { default as BccInputText } from 'primevue/inputtext';
79
+ export { default as BccKeyFilter } from 'primevue/keyfilter';
80
+ export { default as BccKnob } from 'primevue/knob';
81
+ export { default as BccListbox } from 'primevue/listbox';
82
+ export { default as BccMegaMenu } from 'primevue/megamenu';
83
+ export { default as BccMenu } from 'primevue/menu';
84
+ export { default as BccMenubar } from 'primevue/menubar';
85
+ export { default as BccMeterGroup } from 'primevue/metergroup';
86
+ export { default as BccMultiSelect } from 'primevue/multiselect';
87
+ export { default as BccOrderList } from 'primevue/orderlist';
88
+ export { default as BccOrganizationChart } from 'primevue/organizationchart';
89
+ export { default as BccOverlayBadge } from 'primevue/overlaybadge';
90
+ export { default as BccPaginator } from 'primevue/paginator';
91
+ export { default as BccPanel } from 'primevue/panel';
92
+ export { default as BccPanelMenu } from 'primevue/panelmenu';
93
+ export { default as BccPassword } from 'primevue/password';
94
+ export { default as BccPickList } from 'primevue/picklist';
95
+ export { default as BccPopover } from 'primevue/popover';
96
+ export { default as BccPortal } from 'primevue/portal';
97
+ export { default as BccProgressBar } from 'primevue/progressbar';
98
+ export { default as BccProgressSpinner } from 'primevue/progressspinner';
99
+ export { default as BccRadioButton } from 'primevue/radiobutton';
100
+ export { default as BccRadioButtonGroup } from 'primevue/radiobuttongroup';
101
+ export { default as BccRating } from 'primevue/rating';
102
+ export { default as BccRipple } from 'primevue/ripple';
103
+ export { default as BccRow } from 'primevue/row';
104
+ export { default as BccScrollPanel } from 'primevue/scrollpanel';
105
+ export { default as BccScrollTop } from 'primevue/scrolltop';
106
+ export { default as BccSelect } from 'primevue/select';
107
+ export { default as BccSelectButton } from 'primevue/selectbutton';
108
+ export { default as BccSkeleton } from 'primevue/skeleton';
109
+ export { default as BccSlider } from 'primevue/slider';
110
+ export { default as BccSpeedDial } from 'primevue/speeddial';
111
+ export { default as BccSplitButton } from 'primevue/splitbutton';
112
+ export { default as BccSplitter } from 'primevue/splitter';
113
+ export { default as BccSplitterPanel } from 'primevue/splitterpanel';
114
+ export { default as BccStep } from 'primevue/step';
115
+ export { default as BccStepItem } from 'primevue/stepitem';
116
+ export { default as BccStepList } from 'primevue/steplist';
117
+ export { default as BccStepPanel } from 'primevue/steppanel';
118
+ export { default as BccStepPanels } from 'primevue/steppanels';
119
+ export { default as BccStepper } from 'primevue/stepper';
120
+ export { default as BccSteps } from 'primevue/steps';
121
+ export { default as BccStyleClass } from 'primevue/styleclass';
122
+ export { default as BccTab } from 'primevue/tab';
123
+ export { default as BccTabList } from 'primevue/tablist';
124
+ export { default as BccTabMenu } from 'primevue/tabmenu';
125
+ export { default as BccTabPanel } from 'primevue/tabpanel';
126
+ export { default as BccTabPanels } from 'primevue/tabpanels';
127
+ export { default as PrimevueTabs } from 'primevue/tabs';
128
+ export { default as BccTabView } from 'primevue/tabview';
129
+ export { default as BccTerminal } from 'primevue/terminal';
130
+ export { default as BccTerminalService } from 'primevue/terminalservice';
131
+ export { default as BccTextarea } from 'primevue/textarea';
132
+ export { default as BccTieredMenu } from 'primevue/tieredmenu';
133
+ export { default as BccTimeline } from 'primevue/timeline';
134
+ export { default as BccToast } from 'primevue/toast';
135
+ export { default as BccToastService } from 'primevue/toastservice';
136
+ export { default as BccToggleSwitch } from 'primevue/toggleswitch';
137
+ export { default as BccToolbar } from 'primevue/toolbar';
138
+ export { default as BccTooltip } from 'primevue/tooltip';
139
+ export { default as BccTree } from 'primevue/tree';
140
+ export { default as BccTreeSelect } from 'primevue/treeselect';
141
+ export { default as BccTreeTable } from 'primevue/treetable';
142
+ export { default as BccVirtualScroller } from 'primevue/virtualscroller';
143
+ export { useConfirm } from 'primevue/useconfirm';
144
+ export { useDialog } from 'primevue/usedialog';
145
+ export { useToast } from 'primevue/usetoast';
146
+ export { default as useAnimatedNumber } from './composables/animatedNumber';
@@ -0,0 +1,2 @@
1
+ import type { App } from 'vue';
2
+ export default function setup(app: App): void;
@@ -0,0 +1,4 @@
1
+ import type { Component, FunctionalComponent, RenderFunction, VNode } from 'vue';
2
+ export type VueComponent = string | Component | FunctionalComponent | VNode | RenderFunction;
3
+ export type IInterval = ReturnType<typeof setInterval>;
4
+ export type ITimeout = ReturnType<typeof setTimeout>;
package/package.json ADDED
@@ -0,0 +1,103 @@
1
+ {
2
+ "name": "@bcc-code/component-library-vue",
3
+ "version": "0.0.0-dev.1f2ce94",
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/icons-vue": "^1.4.0",
57
+ "@primeuix/themes": "^2.0.3",
58
+ "@tailwindcss/vite": "^4.1.18",
59
+ "primevue": "^4.5.4",
60
+ "tailwindcss": "^4.0.0"
61
+ },
62
+ "peerDependencies": {
63
+ "@bcc-code/design-tokens": "^5.1.0",
64
+ "vue": "^3.5.0"
65
+ },
66
+ "devDependencies": {
67
+ "@bcc-code/design-tokens": "^5.1.0",
68
+ "@eslint/js": "^9.39.2",
69
+ "@primevue/auto-import-resolver": "^4.5.4",
70
+ "@storybook/addon-docs": "^10.2.8",
71
+ "@storybook/vue3": "^10.0.0",
72
+ "@storybook/vue3-vite": "^10.0.0",
73
+ "@types/node": "^22.0.0",
74
+ "@vitejs/plugin-vue": "^6.0.0",
75
+ "@vue/eslint-config-prettier": "^10.2.0",
76
+ "@vue/test-utils": "^2.4.6",
77
+ "@vue/tsconfig": "^0.7.0",
78
+ "autoprefixer": "^10.4.20",
79
+ "eslint": "^9.39.2",
80
+ "eslint-plugin-prettier": "^5.5.5",
81
+ "eslint-plugin-vue": "^10.7.0",
82
+ "globals": "^17.3.0",
83
+ "jiti": "^2.6.1",
84
+ "npm-run-all": "^4.1.5",
85
+ "postcss": "^8.4.49",
86
+ "prettier": "^3.8.1",
87
+ "prettier-plugin-tailwindcss": "^0.7.2",
88
+ "rimraf": "^6.0.0",
89
+ "storybook": "^10.0.0",
90
+ "typescript": "~5.7.0",
91
+ "typescript-eslint": "^8.54.0",
92
+ "unplugin-vue-components": "^31.0.0",
93
+ "vite": "^7.3.0",
94
+ "vitest": "^4.0.18",
95
+ "vue": "^3.5.0",
96
+ "vue-tsc": "^3.2.4"
97
+ },
98
+ "pnpm": {
99
+ "patchedDependencies": {
100
+ "@primevue/icons": "patches/@primevue__icons.patch"
101
+ }
102
+ }
103
+ }