@cocoar/vue-ui 1.0.1 → 1.2.0

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.
@@ -0,0 +1,27 @@
1
+ import { ContextMenuContext } from './useContextMenu';
2
+ type __VLS_Props = {
3
+ /** Context menu controller returned by useContextMenu() */
4
+ menu: ContextMenuContext;
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {
12
+ hostRef: HTMLDivElement;
13
+ };
14
+ rootEl: any;
15
+ };
16
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
18
+ hostRef: HTMLDivElement;
19
+ }, any>;
20
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
+ export default _default;
22
+ type __VLS_WithTemplateSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
27
+ //# sourceMappingURL=CoarContextMenu.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoarContextMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/menu/CoarContextMenu.vue"],"names":[],"mappings":"AAgHA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,KAAK,WAAW,GAAG;IACjB,2DAA2D;IAC3D,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAmFF,iBAAS,cAAc;WAyDT,OAAO,IAA6B;;yBAXpB,GAAG;;;;;;EAgBhC;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;OAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -5,6 +5,9 @@ export { default as CoarMenuDivider } from './CoarMenuDivider.vue';
5
5
  export { default as CoarMenuHeading } from './CoarMenuHeading.vue';
6
6
  export { default as CoarSubExpand } from './CoarSubExpand.vue';
7
7
  export { default as CoarSubmenuItem } from './CoarSubmenuItem.vue';
8
+ export { default as CoarContextMenu } from './CoarContextMenu.vue';
9
+ export { useContextMenu } from './useContextMenu';
10
+ export type { ContextMenuContext } from './useContextMenu';
8
11
  export { MenuCascade, provideMenuCascade, useMenuCascade, provideMenuClose, useMenuClose } from './menu-cascade';
9
12
  export { shouldDelaySubmenuSwitch } from './menu-aim';
10
13
  export type { MenuAimPoint, MenuAimDirection } from './menu-aim';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { DeepReadonly, Ref } from 'vue';
2
+ /**
3
+ * Reactive state object returned by {@link useContextMenu}.
4
+ * Pass it to `<CoarContextMenu :menu="...">` to wire up the context menu.
5
+ */
6
+ export interface ContextMenuContext {
7
+ /** Whether the context menu is currently open */
8
+ readonly isOpen: DeepReadonly<Ref<boolean>>;
9
+ /** Cursor position where the menu was opened — used internally by CoarContextMenu */
10
+ readonly position: DeepReadonly<Ref<{
11
+ x: number;
12
+ y: number;
13
+ }>>;
14
+ /** Open the context menu at the pointer position. Calls `preventDefault()` on the event. */
15
+ open(event: MouseEvent | {
16
+ clientX: number;
17
+ clientY: number;
18
+ }): void;
19
+ /** Close the context menu */
20
+ close(): void;
21
+ }
22
+ /**
23
+ * Composable for managing context menu state.
24
+ * Use together with `<CoarContextMenu>` to create right-click menus.
25
+ *
26
+ * @example
27
+ * ```vue
28
+ * <script setup>
29
+ * import { useContextMenu, CoarContextMenu, CoarMenuItem } from '@cocoar/vue-ui';
30
+ * const menu = useContextMenu();
31
+ * </script>
32
+ *
33
+ * <template>
34
+ * <div @contextmenu="menu.open">Right-click here</div>
35
+ * <CoarContextMenu :menu="menu">
36
+ * <CoarMenuItem label="Copy" icon="copy" />
37
+ * <CoarMenuItem label="Delete" icon="trash-2" />
38
+ * </CoarContextMenu>
39
+ * </template>
40
+ * ```
41
+ */
42
+ export declare function useContextMenu(): ContextMenuContext;
43
+ //# sourceMappingURL=useContextMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/menu/useContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC/D,4FAA4F;IAC5F,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,IAAI,kBAAkB,CAsBnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"vScrollbar.d.ts","sourceRoot":"","sources":["../../../src/components/scrollbar/vScrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAA0C,MAAM,mBAAmB,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,sDAAsD;IACtD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CAClD;AAyFD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CA0CzE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,iBAAiB,GAAG,IAAI,CAE9E"}
1
+ {"version":3,"file":"vScrollbar.d.ts","sourceRoot":"","sources":["../../../src/components/scrollbar/vScrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAA0C,MAAM,mBAAmB,CAAC;AAC9F,OAAO,yCAAyC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,sDAAsD;IACtD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CAClD;AAyFD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CA0CzE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,iBAAiB,GAAG,IAAI,CAE9E"}
@@ -1,8 +1,15 @@
1
+ type SidebarVariant = 'primary' | 'secondary';
1
2
  type __VLS_Props = {
2
3
  /** Sidebar position: left or right side */
3
4
  position?: 'left' | 'right';
4
5
  /** Collapsed state for narrow/icon-only sidebar */
5
6
  collapsed?: boolean;
7
+ /** Background variant */
8
+ variant?: SidebarVariant;
9
+ /** Whether to show elevation shadow */
10
+ elevated?: boolean;
11
+ /** Hide the border */
12
+ borderless?: boolean;
6
13
  /** Accessible label for the sidebar landmark */
7
14
  ariaLabel?: string;
8
15
  };
@@ -18,7 +25,10 @@ declare function __VLS_template(): {
18
25
  };
19
26
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
27
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
28
+ variant: SidebarVariant;
21
29
  ariaLabel: string;
30
+ elevated: boolean;
31
+ borderless: boolean;
22
32
  collapsed: boolean;
23
33
  position: "left" | "right";
24
34
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"CoarSidebar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/CoarSidebar.vue"],"names":[],"mappings":"AA+HA,KAAK,WAAW,GAAG;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiBJ,iBAAS,cAAc;WA4DT,OAAO,IAA6B;;wBAZtB,GAAG;yBACF,GAAG;wBACJ,GAAG;;;;EAe9B;AAUD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;eA9FL,MAAM;eAFN,OAAO;cAFR,MAAM,GAAG,OAAO;qFA0G7B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"CoarSidebar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/CoarSidebar.vue"],"names":[],"mappings":"AA2KA,KAAK,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;AAE9C,KAAK,WAAW,GAAG;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgCJ,iBAAS,cAAc;WA4DT,OAAO,IAA6B;;wBAZtB,GAAG;yBACF,GAAG;wBACJ,GAAG;;;;EAe9B;AAWD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;aApHP,cAAc;eAMZ,MAAM;cAJP,OAAO;gBAEL,OAAO;eANR,OAAO;cAFR,MAAM,GAAG,OAAO;qFAgI7B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/dist/fonts.js ADDED
@@ -0,0 +1,6 @@
1
+ import "@fontsource/poppins/400.css";
2
+ import "@fontsource/poppins/500.css";
3
+ import "@fontsource/poppins/600.css";
4
+ import "@fontsource/poppins/700.css";
5
+ import "@fontsource/inter/400.css";
6
+ import "@fontsource/inter/700.css";