@v1nt1248/3nclient-lib 0.3.22 → 0.3.24

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/README.md CHANGED
@@ -22,6 +22,8 @@ You can run the project as `pnpm dev` or `npm run dev`.
22
22
  - Ui3nInputFile
23
23
  - Ui3nList
24
24
  - Ui3nMenu
25
+ - Ui3nMobileMenu
26
+ - Ui3nMobileMenuItem
25
27
  - Ui3nNotification
26
28
  - Ui3nProgressCircular
27
29
  - Ui3nProgressLinear
@@ -9,7 +9,7 @@ import { Ui3nDropFilesProps, Ui3nDropFilesEmits, Ui3nDropFilesSlots } from './ui
9
9
  import { default as Ui3nEmoji } from './ui3n-emoji/ui3n-emoji.vue';
10
10
  import { Ui3nEmojiProps, Ui3nEmojiEmits } from './ui3n-emoji/types';
11
11
  import { default as Ui3nInput } from './ui3n-input/ui3n-input.vue';
12
- import { Ui3nInputProps, Ui3nInputEmits } from './ui3n-input/types';
12
+ import { Ui3nInputProps, Ui3nInputEmits, Ui3nInputSlots, Ui3nInputExpose } from './ui3n-input/types';
13
13
  import { default as Ui3nInputFile } from './ui3n-input-file/ui3n-input-file.vue';
14
14
  import { Ui3nInputFileProps, Ui3nInputFileEmits } from './ui3n-input-file/types';
15
15
  import { default as Ui3nText } from './ui3n-text/ui3n-text.vue';
@@ -56,4 +56,8 @@ import { default as Ui3nSlider } from './ui3n-slider/ui3n-slider.vue';
56
56
  import { UI3nSliderProps, UI3nSliderEmits } from './ui3n-slider/types';
57
57
  import { default as Ui3nSelector } from './ui3n-selector/ui3n-selector.vue';
58
58
  import { Ui3nSelectorOptionBase, Ui3nSelectorProps, Ui3nSelectorEmits, Ui3nSelectorSlots, Ui3nSelectorItemDisplayingFunction } from './ui3n-selector/types';
59
- export { Ui3nIcon, Ui3nIconProps, Ui3nIconEmits, Ui3nButton, Ui3nButtonProps, Ui3nButtonEmits, Ui3nChip, Ui3nChipProps, Ui3nChipEmits, Ui3nChipSlots, Ui3nDropFiles, Ui3nDropFilesProps, Ui3nDropFilesEmits, Ui3nDropFilesSlots, Ui3nEmoji, Ui3nEmojiProps, Ui3nEmojiEmits, Ui3nInput, Ui3nInputProps, Ui3nInputEmits, Ui3nInputFile, Ui3nInputFileProps, Ui3nInputFileEmits, Ui3nText, Ui3nTextProps, Ui3nTextEmits, Ui3nCheckbox, Ui3nCheckboxProps, Ui3nCheckboxEmits, Ui3nCheckboxSlots, Ui3nCheckboxValue, Ui3nNotification, Ui3nTableSortIcon, Ui3nTableSortIconProps, Ui3nTable, Ui3nTableSort, Ui3nTableConfig, Ui3nTableHeadProps, Ui3nTableBodyProps, Ui3nTableGroupActionsSlot, Ui3nTableHeaderCellSlot, Ui3nTableBodyRowSlotScope, Ui3nTableBodyRowSlot, Ui3nTableBodyRowCellSlotScope, Ui3nTableBodyRowCellSlot, Ui3nTableSlots, Ui3nTableProps, Ui3nTableEmits, Ui3nTableExpose, Ui3nDialogProvider, Ui3nDialog, Ui3nDialogComponentProps, Ui3nDialogComponentEmits, Ui3nDialogComponentSlots, Ui3nDialogEvent, Ui3nMenu, Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots, Ui3nList, Ui3nListProps, Ui3nListEmits, Ui3nListSlots, Ui3nVirtualScroll, Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots, Ui3nTabs, Ui3nTabsProps, Ui3nTabsEmits, Ui3nTabsSlots, Ui3nBadge, Ui3nBadgeProps, Ui3nBreadcrumb, Ui3nBreadcrumbProps, Ui3nBreadcrumbEmits, Ui3nBreadcrumbSlots, Ui3nBreadcrumbs, Ui3nBreadcrumbsProps, Ui3nSwitch, Ui3nSwitchProps, Ui3nSwitchEmits, Ui3nSwitchSlots, Ui3nStepLineBar, Ui3nStepLineBarProps, Ui3nProgressLinear, Ui3nProgressLinearProps, Ui3nProgressCircular, Ui3nProgressCircularProps, Ui3nTooltip, Ui3nTooltipEmits, Ui3nTooltipProps, Ui3nTooltipSlots, Ui3nTooltipPlacement, Ui3nRadio, Ui3nRadioGroup, Ui3nRadioValue, Ui3nRadioEmits, Ui3nRadioProps, Ui3nRadioSlots, Ui3nRadioGroupEmits, Ui3nRadioGroupProps, Ui3nRadioGroupSlots, Ui3nEditable, Ui3nEditableProps, Ui3nEditableEmits, Ui3nAutocomplete, Ui3nAutocompleteProps, Ui3nAutocompleteEmits, Ui3nAutocompleteSlots, Ui3nAutocompleteOptionBase, Ui3nSlider, UI3nSliderProps, UI3nSliderEmits, Ui3nSelector, Ui3nSelectorProps, Ui3nSelectorEmits, Ui3nSelectorSlots, Ui3nSelectorOptionBase, Ui3nSelectorItemDisplayingFunction, };
59
+ import { default as Ui3nMobileMenu } from './ui3n-mobile-menu/ui3n-mobile-menu.vue';
60
+ import { Ui3nMobileMenuProps, Ui3nMobileMenuEmits, Ui3nMobileMenuSlots } from './ui3n-mobile-menu/types';
61
+ import { default as Ui3nMobileMenuItem } from './ui3n-mobile-menu-item/ui3n-mobile-menu-item.vue';
62
+ import { Ui3nMobileMenuItemBase, Ui3nMobileMenuItemProps, Ui3nMobileMenuItemEmits } from './ui3n-mobile-menu-item/types';
63
+ export { Ui3nIcon, Ui3nIconProps, Ui3nIconEmits, Ui3nButton, Ui3nButtonProps, Ui3nButtonEmits, Ui3nChip, Ui3nChipProps, Ui3nChipEmits, Ui3nChipSlots, Ui3nDropFiles, Ui3nDropFilesProps, Ui3nDropFilesEmits, Ui3nDropFilesSlots, Ui3nEmoji, Ui3nEmojiProps, Ui3nEmojiEmits, Ui3nInput, Ui3nInputProps, Ui3nInputEmits, Ui3nInputSlots, Ui3nInputExpose, Ui3nInputFile, Ui3nInputFileProps, Ui3nInputFileEmits, Ui3nText, Ui3nTextProps, Ui3nTextEmits, Ui3nCheckbox, Ui3nCheckboxProps, Ui3nCheckboxEmits, Ui3nCheckboxSlots, Ui3nCheckboxValue, Ui3nNotification, Ui3nTableSortIcon, Ui3nTableSortIconProps, Ui3nTable, Ui3nTableSort, Ui3nTableConfig, Ui3nTableHeadProps, Ui3nTableBodyProps, Ui3nTableGroupActionsSlot, Ui3nTableHeaderCellSlot, Ui3nTableBodyRowSlotScope, Ui3nTableBodyRowSlot, Ui3nTableBodyRowCellSlotScope, Ui3nTableBodyRowCellSlot, Ui3nTableSlots, Ui3nTableProps, Ui3nTableEmits, Ui3nTableExpose, Ui3nDialogProvider, Ui3nDialog, Ui3nDialogComponentProps, Ui3nDialogComponentEmits, Ui3nDialogComponentSlots, Ui3nDialogEvent, Ui3nMenu, Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots, Ui3nList, Ui3nListProps, Ui3nListEmits, Ui3nListSlots, Ui3nVirtualScroll, Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots, Ui3nTabs, Ui3nTabsProps, Ui3nTabsEmits, Ui3nTabsSlots, Ui3nBadge, Ui3nBadgeProps, Ui3nBreadcrumb, Ui3nBreadcrumbProps, Ui3nBreadcrumbEmits, Ui3nBreadcrumbSlots, Ui3nBreadcrumbs, Ui3nBreadcrumbsProps, Ui3nSwitch, Ui3nSwitchProps, Ui3nSwitchEmits, Ui3nSwitchSlots, Ui3nStepLineBar, Ui3nStepLineBarProps, Ui3nProgressLinear, Ui3nProgressLinearProps, Ui3nProgressCircular, Ui3nProgressCircularProps, Ui3nTooltip, Ui3nTooltipEmits, Ui3nTooltipProps, Ui3nTooltipSlots, Ui3nTooltipPlacement, Ui3nRadio, Ui3nRadioGroup, Ui3nRadioValue, Ui3nRadioEmits, Ui3nRadioProps, Ui3nRadioSlots, Ui3nRadioGroupEmits, Ui3nRadioGroupProps, Ui3nRadioGroupSlots, Ui3nEditable, Ui3nEditableProps, Ui3nEditableEmits, Ui3nAutocomplete, Ui3nAutocompleteProps, Ui3nAutocompleteEmits, Ui3nAutocompleteSlots, Ui3nAutocompleteOptionBase, Ui3nSlider, UI3nSliderProps, UI3nSliderEmits, Ui3nSelector, Ui3nSelectorProps, Ui3nSelectorEmits, Ui3nSelectorSlots, Ui3nSelectorOptionBase, Ui3nSelectorItemDisplayingFunction, Ui3nMobileMenu, Ui3nMobileMenuProps, Ui3nMobileMenuEmits, Ui3nMobileMenuSlots, Ui3nMobileMenuItem, Ui3nMobileMenuItemBase, Ui3nMobileMenuItemProps, Ui3nMobileMenuItemEmits, };
@@ -1,3 +1,4 @@
1
+ import { Ref, VNode } from 'vue';
1
2
  export interface Ui3nInputProps {
2
3
  /**
3
4
  * Input value
@@ -32,13 +33,27 @@ export interface Ui3nInputProps {
32
33
  */
33
34
  autofocus?: boolean;
34
35
  /**
35
- * Input icon
36
+ * Whether input is readonly
37
+ * @default false
38
+ */
39
+ readonly?: boolean;
40
+ /**
41
+ * Input name attribute (for use in native forms)
36
42
  */
37
- icon?: string;
43
+ name?: string;
38
44
  /**
39
- * Input icon color
45
+ * Maximum length of input value
40
46
  */
41
- iconColor?: string;
47
+ maxlength?: number;
48
+ /**
49
+ * Minimum length of input value
50
+ */
51
+ minlength?: number;
52
+ /**
53
+ * Autocomplete attribute
54
+ * @default 'off'
55
+ */
56
+ autocomplete?: string;
42
57
  /**
43
58
  * Validation rules
44
59
  */
@@ -124,3 +139,31 @@ export interface Ui3nInputEmits {
124
139
  */
125
140
  (event: 'update:valid', value: boolean): void;
126
141
  }
142
+ export interface Ui3nInputSlots {
143
+ /**
144
+ * Slot for prepend icon (displayed at the start of the input)
145
+ */
146
+ 'prepend-icon'?: () => VNode[];
147
+ /**
148
+ * Slot for append icon (displayed at the end of the input)
149
+ */
150
+ 'append-icon'?: () => VNode[];
151
+ }
152
+ export interface Ui3nInputExpose {
153
+ /**
154
+ * Reference to the input DOM element
155
+ */
156
+ inputElement: Ref<HTMLInputElement | null>;
157
+ /**
158
+ * Whether the input has been modified
159
+ */
160
+ isDirty: Ref<boolean>;
161
+ /**
162
+ * Whether the input is currently focused
163
+ */
164
+ isFocused: Ref<boolean>;
165
+ /**
166
+ * Clear the input value
167
+ */
168
+ clearValue: () => void;
169
+ }
@@ -1,9 +1,18 @@
1
- import { Ui3nInputProps } from './types';
2
- declare function clearValue(): void;
3
- declare const _default: import('vue').DefineComponent<Ui3nInputProps, {
4
- isDirty: import('vue').Ref<boolean, boolean>;
5
- isFocused: import('vue').Ref<boolean, boolean>;
6
- clearValue: typeof clearValue;
1
+ import { Ui3nInputProps, Ui3nInputSlots } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: Readonly<Ui3nInputSlots> & Ui3nInputSlots;
5
+ refs: {
6
+ inputElement: HTMLInputElement;
7
+ };
8
+ rootEl: HTMLDivElement;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<Ui3nInputProps, {
12
+ inputElement: import('vue').Ref<HTMLInputElement | null>;
13
+ isDirty: import('vue').Ref<boolean>;
14
+ isFocused: import('vue').Ref<boolean>;
15
+ clearValue: () => void;
7
16
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
8
17
  input: (value: string) => any;
9
18
  enter: (value: {
@@ -41,16 +50,16 @@ declare const _default: import('vue').DefineComponent<Ui3nInputProps, {
41
50
  onEscape?: ((value: Event) => any) | undefined;
42
51
  "onUpdate:valid"?: ((value: boolean) => any) | undefined;
43
52
  }>, {
44
- icon: string;
45
53
  size: "regular" | "large";
46
54
  type: "text" | "password";
47
55
  label: string;
48
56
  disabled: boolean;
49
- iconColor: string;
50
57
  placeholder: string;
51
58
  modelValue: string;
59
+ readonly: boolean;
52
60
  clearable: boolean;
53
61
  autofocus: boolean;
62
+ autocomplete: string;
54
63
  rules: Array<(v: unknown) => boolean | string>;
55
64
  validateAtStartup: boolean;
56
65
  hideBottomSpace: boolean;
@@ -60,4 +69,10 @@ declare const _default: import('vue').DefineComponent<Ui3nInputProps, {
60
69
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
61
70
  inputElement: HTMLInputElement;
62
71
  }, HTMLDivElement>;
72
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
63
73
  export default _default;
74
+ type __VLS_WithTemplateSlots<T, S> = T & {
75
+ new (): {
76
+ $slots: S;
77
+ };
78
+ };
@@ -0,0 +1,35 @@
1
+ import { VNode } from 'vue';
2
+ /**
3
+ * Menu component properties
4
+ */
5
+ export interface Ui3nMobileMenuProps {
6
+ modelValue: boolean;
7
+ width?: string;
8
+ withBlur?: boolean;
9
+ }
10
+ /**
11
+ * Menu component emits
12
+ */
13
+ export interface Ui3nMobileMenuEmits {
14
+ /**
15
+ * Emitted when model value updates
16
+ */
17
+ (event: 'update:modelValue', value: boolean): void;
18
+ }
19
+ /**
20
+ * Menu component slots
21
+ */
22
+ export interface Ui3nMobileMenuSlots {
23
+ /**
24
+ * Menu Header slot - section to add custom data on top of the menu
25
+ */
26
+ header: () => VNode;
27
+ /**
28
+ * Menu body slot - The section is where your menu items are placed
29
+ */
30
+ menuBody: () => VNode;
31
+ /**
32
+ * Menu footer slot - section to add custm data on the bottom of menu
33
+ */
34
+ footer: () => VNode;
35
+ }
@@ -0,0 +1,20 @@
1
+ import { Ui3nMobileMenuProps, Ui3nMobileMenuSlots } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: Readonly<Ui3nMobileMenuSlots> & Ui3nMobileMenuSlots;
5
+ refs: {};
6
+ rootEl: any;
7
+ };
8
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
+ declare const __VLS_component: import('vue').DefineComponent<Ui3nMobileMenuProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
10
+ "update:modelValue": (value: boolean) => any;
11
+ }, string, import('vue').PublicProps, Readonly<Ui3nMobileMenuProps> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,21 @@
1
+ export interface Ui3nMobileMenuItemBase {
2
+ id: string | number;
3
+ name: string;
4
+ icon?: string;
5
+ }
6
+ /**
7
+ * Menu Item component properties
8
+ */
9
+ export interface Ui3nMobileMenuItemProps<T extends Ui3nMobileMenuItemBase> {
10
+ item: T;
11
+ isActive?: boolean;
12
+ }
13
+ /**
14
+ * Menu Item component emits
15
+ */
16
+ export interface Ui3nMobileMenuItemEmits<T extends Ui3nMobileMenuItemBase> {
17
+ /**
18
+ * Emitted when an item is selected on the menu
19
+ */
20
+ (event: 'selectItem', item: T): void;
21
+ }
@@ -0,0 +1,16 @@
1
+ import { Ui3nMobileMenuItemBase, Ui3nMobileMenuItemProps, Ui3nMobileMenuItemEmits } from './types';
2
+ declare const _default: <T extends Ui3nMobileMenuItemBase>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
+ readonly onSelectItem?: ((item: T) => any) | undefined;
5
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSelectItem"> & Ui3nMobileMenuItemProps<T> & Partial<{}>> & import('vue').PublicProps;
6
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
7
+ attrs: any;
8
+ slots: {};
9
+ emit: Ui3nMobileMenuItemEmits<T>;
10
+ }>) => import('vue').VNode & {
11
+ __ctx?: Awaited<typeof __VLS_setup>;
12
+ };
13
+ export default _default;
14
+ type __VLS_PrettifyLocal<T> = {
15
+ [K in keyof T]: T[K];
16
+ } & {};
package/dist/index.d.ts CHANGED
@@ -31,6 +31,8 @@ import { default as Ui3nEditable } from './components/ui3n-editable/ui3n-editabl
31
31
  import { default as Ui3nAutocomplete } from './components/ui3n-autocomplete/ui3n-autocomplete.vue';
32
32
  import { default as Ui3nSlider } from './components/ui3n-slider/ui3n-slider.vue';
33
33
  import { default as Ui3nSelector } from './components/ui3n-selector/ui3n-selector.vue';
34
+ import { default as Ui3nMobileMenu } from './components/ui3n-mobile-menu/ui3n-mobile-menu.vue';
35
+ import { default as Ui3nMobileMenuItem } from './components/ui3n-mobile-menu-item/ui3n-mobile-menu-item.vue';
34
36
  import { default as Ui3nHtml } from './directives/ui3n-html';
35
37
  import { default as Ui3nClickOutside } from './directives/ui3n-click-outside';
36
38
  import { default as Ui3nResize } from './directives/ui3n-resize';
@@ -92,6 +94,8 @@ declare module 'vue' {
92
94
  Ui3nTabs: typeof Ui3nTabs;
93
95
  Ui3nText: typeof Ui3nText;
94
96
  Ui3nVirtualScroll: typeof Ui3nVirtualScroll;
97
+ Ui3nMobileMenu: typeof Ui3nMobileMenu;
98
+ Ui3nMobileMenuMenuItem: typeof Ui3nMobileMenuItem;
95
99
  }
96
100
  interface GlobalDirectives {
97
101
  Ui3nHtml: typeof Ui3nHtml;