veleta-templates 0.0.20 → 0.0.22

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 (77) hide show
  1. package/dist/components/index.d.ts +2 -0
  2. package/dist/components/{veleta-umami-template.d.ts → veleta-menu-tabs.d.ts} +4 -4
  3. package/dist/types/components/default-template/components/menu-tabs/menu-tabs.d.ts +14 -0
  4. package/dist/types/components/default-template/default-template.d.ts +11 -1
  5. package/dist/types/components.d.ts +43 -23
  6. package/dist/types/stencil-public-runtime.d.ts +66 -5
  7. package/dist/types/types/interfaces.d.ts +1 -0
  8. package/dist/types/utils/prop-parser.d.ts +4 -0
  9. package/dist/veleta-templates/index-DwwvSqLV.js +4582 -0
  10. package/dist/veleta-templates/index.esm.js +1 -0
  11. package/dist/veleta-templates/veleta-default-template.entry.js +213 -0
  12. package/dist/veleta-templates/veleta-menu-tabs.entry.js +46 -0
  13. package/dist/veleta-templates/veleta-templates.css +8 -13
  14. package/dist/veleta-templates/veleta-templates.esm.js +47 -1
  15. package/package.json +4 -15
  16. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
  17. package/dist/cjs/index-DgFTJj_U.js +0 -1423
  18. package/dist/cjs/index.cjs.js +0 -2
  19. package/dist/cjs/loader.cjs.js +0 -13
  20. package/dist/cjs/veleta-default-template.cjs.entry.js +0 -62
  21. package/dist/cjs/veleta-templates.cjs.js +0 -25
  22. package/dist/cjs/veleta-umami-template.cjs.entry.js +0 -157
  23. package/dist/cjs/webfontloader-CDgRDOZ3.js +0 -61
  24. package/dist/collection/collection-manifest.json +0 -13
  25. package/dist/collection/components/default-template/default-template.css +0 -314
  26. package/dist/collection/components/default-template/default-template.js +0 -117
  27. package/dist/collection/components/umami-template/umami-template.css +0 -392
  28. package/dist/collection/components/umami-template/umami-template.js +0 -148
  29. package/dist/collection/components.js +0 -2
  30. package/dist/collection/index.js +0 -1
  31. package/dist/collection/types/index.js +0 -1
  32. package/dist/collection/types/interfaces.js +0 -1
  33. package/dist/collection/utils/data-helpers.js +0 -7
  34. package/dist/collection/utils/font-loader.js +0 -54
  35. package/dist/collection/utils/prop-parser.js +0 -64
  36. package/dist/components/index.js +0 -1183
  37. package/dist/components/p-DjUJwx0S.js +0 -59
  38. package/dist/components/veleta-default-template.js +0 -85
  39. package/dist/components/veleta-umami-template.js +0 -178
  40. package/dist/esm/app-globals-DQuL1Twl.js +0 -3
  41. package/dist/esm/index-RSrs046A.js +0 -1398
  42. package/dist/esm/index.js +0 -1
  43. package/dist/esm/loader.js +0 -11
  44. package/dist/esm/polyfills/core-js.js +0 -11
  45. package/dist/esm/polyfills/dom.js +0 -79
  46. package/dist/esm/polyfills/es5-html-element.js +0 -1
  47. package/dist/esm/polyfills/index.js +0 -34
  48. package/dist/esm/polyfills/system.js +0 -6
  49. package/dist/esm/veleta-default-template.entry.js +0 -60
  50. package/dist/esm/veleta-templates.js +0 -21
  51. package/dist/esm/veleta-umami-template.entry.js +0 -155
  52. package/dist/esm/webfontloader-DjUJwx0S.js +0 -59
  53. package/dist/esm-es5/app-globals-DQuL1Twl.js +0 -1
  54. package/dist/esm-es5/index-RSrs046A.js +0 -1
  55. package/dist/esm-es5/index.js +0 -0
  56. package/dist/esm-es5/loader.js +0 -1
  57. package/dist/esm-es5/veleta-default-template.entry.js +0 -1
  58. package/dist/esm-es5/veleta-templates.js +0 -1
  59. package/dist/esm-es5/veleta-umami-template.entry.js +0 -1
  60. package/dist/esm-es5/webfontloader-DjUJwx0S.js +0 -1
  61. package/dist/index.cjs.js +0 -1
  62. package/dist/index.js +0 -1
  63. package/dist/types/components/umami-template/umami-template.d.ts +0 -22
  64. package/dist/types/utils/font-loader.d.ts +0 -33
  65. package/dist/veleta-templates/p-04b3e514.entry.js +0 -1
  66. package/dist/veleta-templates/p-3aa8e836.system.entry.js +0 -1
  67. package/dist/veleta-templates/p-58a51a5c.system.entry.js +0 -1
  68. package/dist/veleta-templates/p-5kwxBi5X.system.js +0 -2
  69. package/dist/veleta-templates/p-6tMTQRgb.system.js +0 -1
  70. package/dist/veleta-templates/p-BbPAtVJG.system.js +0 -1
  71. package/dist/veleta-templates/p-DQuL1Twl.js +0 -1
  72. package/dist/veleta-templates/p-DjUJwx0S.js +0 -1
  73. package/dist/veleta-templates/p-RSrs046A.js +0 -2
  74. package/dist/veleta-templates/p-YWpyar7R.system.js +0 -1
  75. package/dist/veleta-templates/p-c4921741.entry.js +0 -1
  76. package/dist/veleta-templates/p-fzDonYKG.system.js +0 -1
  77. package/dist/veleta-templates/veleta-templates.js +0 -127
@@ -31,3 +31,5 @@ export interface SetPlatformOptions {
31
31
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
32
32
  }
33
33
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
34
+
35
+ export * from '../types';
@@ -1,9 +1,9 @@
1
1
  import type { Components, JSX } from "../types/components";
2
2
 
3
- interface VeletaUmamiTemplate extends Components.VeletaUmamiTemplate, HTMLElement {}
4
- export const VeletaUmamiTemplate: {
5
- prototype: VeletaUmamiTemplate;
6
- new (): VeletaUmamiTemplate;
3
+ interface VeletaMenuTabs extends Components.VeletaMenuTabs, HTMLElement {}
4
+ export const VeletaMenuTabs: {
5
+ prototype: VeletaMenuTabs;
6
+ new (): VeletaMenuTabs;
7
7
  };
8
8
  /**
9
9
  * Used to define this component and all nested components recursively.
@@ -0,0 +1,14 @@
1
+ import { EventEmitter } from '../../../../stencil-public-runtime';
2
+ export declare class MenuTabs {
3
+ el: HTMLElement;
4
+ sections: {
5
+ id: string;
6
+ title: string;
7
+ }[];
8
+ activeSectionId: string;
9
+ tabClick: EventEmitter<string>;
10
+ handleActiveSectionChange(): void;
11
+ componentDidLoad(): void;
12
+ private scrollToActiveTab;
13
+ render(): any;
14
+ }
@@ -2,8 +2,18 @@ import { Menu } from '../../types/interfaces';
2
2
  export declare class DefaultTemplate {
3
3
  el: HTMLElement;
4
4
  expandedDishes: Record<string, boolean>;
5
- searchQuery: string;
5
+ activeSectionId: string;
6
+ private sectionVisibility;
7
+ private isScrollingByTab;
8
+ private scrollTimeout;
9
+ private observer;
6
10
  private toggleDish;
11
+ private handleTabClick;
12
+ componentDidLoad(): void;
13
+ private handleScroll;
14
+ private updateActiveSection;
15
+ disconnectedCallback(): void;
16
+ private initIntersectionObserver;
7
17
  /**
8
18
  * Menu data as object (recommended for frameworks like Angular, React, Vue)
9
19
  */
@@ -19,19 +19,21 @@ export namespace Components {
19
19
  */
20
20
  "dataJson": string;
21
21
  }
22
- interface VeletaUmamiTemplate {
22
+ interface VeletaMenuTabs {
23
23
  /**
24
- * Menu data as object (recommended for frameworks like Angular, React, Vue) This takes precedence over dataJson if both are provided
24
+ * @default ''
25
25
  */
26
- "data"?: Menu;
26
+ "activeSectionId": string;
27
27
  /**
28
- * Menu data as JSON string (for compatibility with HTML attributes)
29
- * @deprecated Use `data` prop instead for better type safety
30
- * @default '{}'
28
+ * @default []
31
29
  */
32
- "dataJson": string;
30
+ "sections": { id: string; title: string }[];
33
31
  }
34
32
  }
33
+ export interface VeletaMenuTabsCustomEvent<T> extends CustomEvent<T> {
34
+ detail: T;
35
+ target: HTMLVeletaMenuTabsElement;
36
+ }
35
37
  declare global {
36
38
  interface HTMLVeletaDefaultTemplateElement extends Components.VeletaDefaultTemplate, HTMLStencilElement {
37
39
  }
@@ -39,15 +41,26 @@ declare global {
39
41
  prototype: HTMLVeletaDefaultTemplateElement;
40
42
  new (): HTMLVeletaDefaultTemplateElement;
41
43
  };
42
- interface HTMLVeletaUmamiTemplateElement extends Components.VeletaUmamiTemplate, HTMLStencilElement {
44
+ interface HTMLVeletaMenuTabsElementEventMap {
45
+ "tabClick": string;
46
+ }
47
+ interface HTMLVeletaMenuTabsElement extends Components.VeletaMenuTabs, HTMLStencilElement {
48
+ addEventListener<K extends keyof HTMLVeletaMenuTabsElementEventMap>(type: K, listener: (this: HTMLVeletaMenuTabsElement, ev: VeletaMenuTabsCustomEvent<HTMLVeletaMenuTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
49
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
50
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
51
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
52
+ removeEventListener<K extends keyof HTMLVeletaMenuTabsElementEventMap>(type: K, listener: (this: HTMLVeletaMenuTabsElement, ev: VeletaMenuTabsCustomEvent<HTMLVeletaMenuTabsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
53
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
54
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
55
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
43
56
  }
44
- var HTMLVeletaUmamiTemplateElement: {
45
- prototype: HTMLVeletaUmamiTemplateElement;
46
- new (): HTMLVeletaUmamiTemplateElement;
57
+ var HTMLVeletaMenuTabsElement: {
58
+ prototype: HTMLVeletaMenuTabsElement;
59
+ new (): HTMLVeletaMenuTabsElement;
47
60
  };
48
61
  interface HTMLElementTagNameMap {
49
62
  "veleta-default-template": HTMLVeletaDefaultTemplateElement;
50
- "veleta-umami-template": HTMLVeletaUmamiTemplateElement;
63
+ "veleta-menu-tabs": HTMLVeletaMenuTabsElement;
51
64
  }
52
65
  }
53
66
  declare namespace LocalJSX {
@@ -62,29 +75,36 @@ declare namespace LocalJSX {
62
75
  */
63
76
  "dataJson"?: string;
64
77
  }
65
- interface VeletaUmamiTemplate {
78
+ interface VeletaMenuTabs {
66
79
  /**
67
- * Menu data as object (recommended for frameworks like Angular, React, Vue) This takes precedence over dataJson if both are provided
80
+ * @default ''
68
81
  */
69
- "data"?: Menu;
82
+ "activeSectionId"?: string;
83
+ "onTabClick"?: (event: VeletaMenuTabsCustomEvent<string>) => void;
70
84
  /**
71
- * Menu data as JSON string (for compatibility with HTML attributes)
72
- * @deprecated Use `data` prop instead for better type safety
73
- * @default '{}'
85
+ * @default []
74
86
  */
75
- "dataJson"?: string;
87
+ "sections"?: { id: string; title: string }[];
88
+ }
89
+
90
+ interface VeletaDefaultTemplateAttributes {
91
+ "dataJson": string;
92
+ }
93
+ interface VeletaMenuTabsAttributes {
94
+ "activeSectionId": string;
76
95
  }
96
+
77
97
  interface IntrinsicElements {
78
- "veleta-default-template": VeletaDefaultTemplate;
79
- "veleta-umami-template": VeletaUmamiTemplate;
98
+ "veleta-default-template": Omit<VeletaDefaultTemplate, keyof VeletaDefaultTemplateAttributes> & { [K in keyof VeletaDefaultTemplate & keyof VeletaDefaultTemplateAttributes]?: VeletaDefaultTemplate[K] } & { [K in keyof VeletaDefaultTemplate & keyof VeletaDefaultTemplateAttributes as `attr:${K}`]?: VeletaDefaultTemplateAttributes[K] } & { [K in keyof VeletaDefaultTemplate & keyof VeletaDefaultTemplateAttributes as `prop:${K}`]?: VeletaDefaultTemplate[K] };
99
+ "veleta-menu-tabs": Omit<VeletaMenuTabs, keyof VeletaMenuTabsAttributes> & { [K in keyof VeletaMenuTabs & keyof VeletaMenuTabsAttributes]?: VeletaMenuTabs[K] } & { [K in keyof VeletaMenuTabs & keyof VeletaMenuTabsAttributes as `attr:${K}`]?: VeletaMenuTabsAttributes[K] } & { [K in keyof VeletaMenuTabs & keyof VeletaMenuTabsAttributes as `prop:${K}`]?: VeletaMenuTabs[K] };
80
100
  }
81
101
  }
82
102
  export { LocalJSX as JSX };
83
103
  declare module "@stencil/core" {
84
104
  export namespace JSX {
85
105
  interface IntrinsicElements {
86
- "veleta-default-template": LocalJSX.VeletaDefaultTemplate & JSXBase.HTMLAttributes<HTMLVeletaDefaultTemplateElement>;
87
- "veleta-umami-template": LocalJSX.VeletaUmamiTemplate & JSXBase.HTMLAttributes<HTMLVeletaUmamiTemplateElement>;
106
+ "veleta-default-template": LocalJSX.IntrinsicElements["veleta-default-template"] & JSXBase.HTMLAttributes<HTMLVeletaDefaultTemplateElement>;
107
+ "veleta-menu-tabs": LocalJSX.IntrinsicElements["veleta-menu-tabs"] & JSXBase.HTMLAttributes<HTMLVeletaMenuTabsElement>;
88
108
  }
89
109
  }
90
110
  }
@@ -63,6 +63,12 @@ export interface ShadowRootOptions {
63
63
  * focusable part is given focus, and the shadow host is given any available `:focus` styling.
64
64
  */
65
65
  delegatesFocus?: boolean;
66
+ /**
67
+ * Sets the slot assignment mode for the shadow root. When set to `'manual'`, enables imperative
68
+ * slotting using the `HTMLSlotElement.assign()` method. Defaults to `'named'` for standard
69
+ * declarative slotting behavior.
70
+ */
71
+ slotAssignment?: 'manual' | 'named';
66
72
  }
67
73
  export interface ModeStyles {
68
74
  [modeName: string]: string | string[];
@@ -119,8 +125,27 @@ export interface EventOptions {
119
125
  */
120
126
  composed?: boolean;
121
127
  }
128
+ export interface AttachInternalsOptions {
129
+ /**
130
+ * Initial custom states to set on the ElementInternals.states CustomStateSet.
131
+ * Each key is the state name and the value is the initial boolean state.
132
+ *
133
+ * These states can be targeted with the CSS `:state()` pseudo-class.
134
+ *
135
+ * @example
136
+ * ```tsx
137
+ * @AttachInternals({ states: { open: true, active: false } })
138
+ * internals: ElementInternals;
139
+ * ```
140
+ *
141
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet
142
+ */
143
+ states?: {
144
+ [stateName: string]: boolean;
145
+ };
146
+ }
122
147
  export interface AttachInternalsDecorator {
123
- (): PropertyDecorator;
148
+ (opts?: AttachInternalsOptions): PropertyDecorator;
124
149
  }
125
150
  export interface ListenDecorator {
126
151
  (eventName: string, opts?: ListenOptions): CustomMethodDecorator<any>;
@@ -156,7 +181,9 @@ export interface StateDecorator {
156
181
  (): PropertyDecorator;
157
182
  }
158
183
  export interface WatchDecorator {
159
- (propName: any): CustomMethodDecorator<(newValue?: any, oldValue?: any, propName?: any, ...args: any[]) => any | void>;
184
+ (propName: any, watchOptions?: {
185
+ immediate?: boolean;
186
+ }): CustomMethodDecorator<(newValue?: any, oldValue?: any, propName?: any, ...args: any[]) => any | void>;
160
187
  }
161
188
  export interface PropSerializeDecorator {
162
189
  (propName: any): CustomMethodDecorator<(newValue?: any, propName?: string, ...args: any[]) => string | null>;
@@ -610,7 +637,7 @@ export interface FunctionalUtilities {
610
637
  map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[];
611
638
  }
612
639
  export interface FunctionalComponent<T = {}> {
613
- (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[];
640
+ (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[] | null;
614
641
  }
615
642
  /**
616
643
  * A Child VDOM node
@@ -652,6 +679,7 @@ export declare namespace h {
652
679
  function h(sel: any, data: VNodeData | null, text: string): VNode;
653
680
  function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
654
681
  function h(sel: any, data: VNodeData | null, children: VNode): VNode;
682
+ function h(sel: any, data: VNodeData | null, ...children: (VNode | string | number)[]): VNode;
655
683
  namespace JSX {
656
684
  interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements {
657
685
  [tagName: string]: any;
@@ -666,6 +694,36 @@ export declare function h(sel: any, children: Array<VNode | undefined | null>):
666
694
  export declare function h(sel: any, data: VNodeData | null, text: string): VNode;
667
695
  export declare function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
668
696
  export declare function h(sel: any, data: VNodeData | null, children: VNode): VNode;
697
+ export declare function h(sel: any, data: VNodeData | null, ...children: (VNode | string | number)[]): VNode;
698
+ /**
699
+ * Automatic JSX runtime functions for TypeScript's react-jsx mode.
700
+ * These functions are called automatically by TypeScript when using "jsx": "react-jsx".
701
+ * @param type type of node
702
+ * @param props properties of node
703
+ * @param key optional key for the node
704
+ * @returns a jsx vnode
705
+ */
706
+ export declare function jsx(type: any, props: any, key?: string): VNode;
707
+ /**
708
+ * Automatic JSX runtime functions for TypeScript's react-jsxmode with multiple children.
709
+ * @param type type of node
710
+ * @param props properties of node
711
+ * @param key optional key for the node
712
+ * @returns a jsx vnode
713
+ */
714
+ export declare function jsxs(type: any, props: any, key?: string): VNode;
715
+ /**
716
+ * Automatic JSX runtime functions for TypeScript's react-jsxdev mode.
717
+ * These functions are called automatically by TypeScript when using "jsx": "react-jsxdev".
718
+ * @param type type of node
719
+ * @param props properties of node
720
+ * @param key optional key for the node
721
+ * @param isStaticChildren indicates if the children are static
722
+ * @param source source information
723
+ * @param self reference to the component instance
724
+ * @returns a jsx vnode
725
+ */
726
+ export declare function jsxDEV(type: any, props: any, key?: string | number, isStaticChildren?: boolean, source?: any, self?: any): VNode;
669
727
  /**
670
728
  * A virtual DOM node
671
729
  */
@@ -695,7 +753,7 @@ declare namespace LocalJSX {
695
753
  export { LocalJSX as JSX };
696
754
  export declare namespace JSXBase {
697
755
  interface IntrinsicElements {
698
- slot: JSXBase.SlotAttributes;
756
+ slot: JSXBase.SlotAttributes<HTMLSlotElement>;
699
757
  a: JSXBase.AnchorHTMLAttributes<HTMLAnchorElement>;
700
758
  abbr: JSXBase.HTMLAttributes;
701
759
  address: JSXBase.HTMLAttributes;
@@ -865,7 +923,7 @@ export declare namespace JSXBase {
865
923
  use: JSXBase.SVGAttributes;
866
924
  view: JSXBase.SVGAttributes;
867
925
  }
868
- interface SlotAttributes extends JSXAttributes {
926
+ interface SlotAttributes<T = HTMLSlotElement> extends JSXAttributes<T> {
869
927
  name?: string;
870
928
  slot?: string;
871
929
  onSlotchange?: (event: Event) => void;
@@ -921,6 +979,9 @@ export declare namespace JSXBase {
921
979
  popoverTargetAction?: string;
922
980
  popoverTargetElement?: Element | null;
923
981
  popoverTarget?: string;
982
+ command?: string;
983
+ commandFor?: string;
984
+ commandfor?: string;
924
985
  }
925
986
  interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
926
987
  height?: number | string;
@@ -25,6 +25,7 @@ export interface MenuInfo {
25
25
  name: string;
26
26
  slug: string;
27
27
  active: boolean;
28
+ description?: string;
28
29
  }
29
30
  export interface BusinessInfo {
30
31
  name: string;
@@ -9,3 +9,7 @@ export declare function parseList<T>(json: string | T[]): T[];
9
9
  * Compatible con Angular/Ionic (objetos directos) y Astro/vanilla JS (strings JSON).
10
10
  */
11
11
  export declare function parseTheme(themeJson: string | Theme): Theme | null;
12
+ /**
13
+ * Parsea los props de un menú (objeto directo o string JSON).
14
+ */
15
+ export declare function parseMenu(data?: any, dataJson?: string): any;