dolphin-components 2.0.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.
package/LICENSE ADDED
@@ -0,0 +1,229 @@
1
+ Apache License
2
+
3
+ Version 2.0, January 2004
4
+
5
+ http://www.apache.org/licenses/ TERMS
6
+ AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+
11
+
12
+
13
+ "License" shall mean the terms and conditions for use, reproduction, and
14
+ distribution as defined by Sections 1 through 9 of this document.
15
+
16
+
17
+
18
+
19
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright
20
+ owner that is granting the License.
21
+
22
+
23
+
24
+ "Legal Entity" shall mean the
25
+ union of the acting entity and all other entities that control, are controlled
26
+ by, or are under common control with that entity. For the purposes of this
27
+ definition, "control" means (i) the power, direct or indirect, to cause the
28
+ direction or management of such entity, whether by contract or otherwise, or (ii)
29
+ ownership of fifty percent (50%) or more of the outstanding shares, or (iii)
30
+ beneficial ownership of such entity.
31
+
32
+
33
+
34
+ "You" (or "Your") shall mean
35
+ an individual or Legal Entity exercising permissions granted by this License.
36
+
37
+
38
+
39
+
40
+ "Source" form shall mean the preferred form for making modifications,
41
+ including but not limited to software source code, documentation source, and
42
+ configuration files.
43
+
44
+
45
+
46
+ "Object" form shall mean any form resulting
47
+ from mechanical transformation or translation of a Source form, including but not
48
+ limited to compiled object code, generated documentation, and conversions to
49
+ other media types.
50
+
51
+
52
+
53
+ "Work" shall mean the work of authorship,
54
+ whether in Source or Object form, made available under the License, as indicated
55
+ by a copyright notice that is included in or attached to the work (an example is
56
+ provided in the Appendix below).
57
+
58
+
59
+
60
+ "Derivative Works" shall mean any
61
+ work, whether in Source or Object form, that is based on (or derived from) the
62
+ Work and for which the editorial revisions, annotations, elaborations, or other
63
+ modifications represent, as a whole, an original work of authorship. For the
64
+ purposes of this License, Derivative Works shall not include works that remain
65
+ separable from, or merely link (or bind by name) to the interfaces of, the Work
66
+ and Derivative Works thereof.
67
+
68
+
69
+
70
+ "Contribution" shall mean any work
71
+ of authorship, including the original version of the Work and any modifications
72
+ or additions to that Work or Derivative Works thereof, that is intentionally
73
+ submitted to Licensor for inclusion in the Work by the copyright owner or by an
74
+ individual or Legal Entity authorized to submit on behalf of the copyright owner.
75
+ For the purposes of this definition, "submitted" means any form of electronic,
76
+ verbal, or written communication sent to the Licensor or its representatives,
77
+ including but not limited to communication on electronic mailing lists, source
78
+ code control systems, and issue tracking systems that are managed by, or on
79
+ behalf of, the Licensor for the purpose of discussing and improving the Work, but
80
+ excluding communication that is conspicuously marked or otherwise designated in
81
+ writing by the copyright owner as "Not a Contribution."
82
+
83
+
84
+
85
+
86
+ "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of
87
+ whom a Contribution has been received by Licensor and subsequently incorporated
88
+ within the Work.
89
+
90
+ 2. Grant of Copyright License. Subject to the terms and
91
+ conditions of this License, each Contributor hereby grants to You a perpetual,
92
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license
93
+ to reproduce, prepare Derivative Works of, publicly display, publicly perform,
94
+ sublicense, and distribute the Work and such Derivative Works in Source or Object
95
+ form.
96
+
97
+ 3. Grant of Patent License. Subject to the terms and conditions of this
98
+ License, each Contributor hereby grants to You a perpetual, worldwide,
99
+ non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
100
+ section) patent license to make, have made, use, offer to sell, sell, import, and
101
+ otherwise transfer the Work, where such license applies only to those patent
102
+ claims licensable by such Contributor that are necessarily infringed by their
103
+ Contribution(s) alone or by combination of their Contribution(s) with the Work to
104
+ which such Contribution(s) was submitted. If You institute patent litigation
105
+ against any entity (including a cross-claim or counterclaim in a lawsuit)
106
+ alleging that the Work or a Contribution incorporated within the Work constitutes
107
+ direct or contributory patent infringement, then any patent licenses granted to
108
+ You under this License for that Work shall terminate as of the date such
109
+ litigation is filed.
110
+
111
+ 4. Redistribution. You may reproduce and distribute
112
+ copies of the Work or Derivative Works thereof in any medium, with or without
113
+ modifications, and in Source or Object form, provided that You meet the following
114
+ conditions:
115
+
116
+ (a) You must give any other recipients of the Work or
117
+ Derivative Works a copy of this License; and
118
+
119
+ (b) You must cause any
120
+ modified files to carry prominent notices stating that You changed the files;
121
+ and
122
+
123
+ (c) You must retain, in the Source form of any Derivative Works that
124
+ You distribute, all copyright, patent, trademark, and attribution notices from
125
+ the Source form of the Work, excluding those notices that do not pertain to any
126
+ part of the Derivative Works; and
127
+
128
+ (d) If the Work includes a "NOTICE" text
129
+ file as part of its distribution, then any Derivative Works that You distribute
130
+ must include a readable copy of the attribution notices contained within such
131
+ NOTICE file, excluding those notices that do not pertain to any part of the
132
+ Derivative Works, in at least one of the following places: within a NOTICE text
133
+ file distributed as part of the Derivative Works; within the Source form or
134
+ documentation, if provided along with the Derivative Works; or, within a display
135
+ generated by the Derivative Works, if and wherever such third-party notices
136
+ normally appear. The contents of the NOTICE file are for informational purposes
137
+ only and do not modify the License. You may add Your own attribution notices
138
+ within Derivative Works that You distribute, alongside or as an addendum to the
139
+ NOTICE text from the Work, provided that such additional attribution notices
140
+ cannot be construed as modifying the License.
141
+
142
+ You may add Your own
143
+ copyright statement to Your modifications and may provide additional or different
144
+ license terms and conditions for use, reproduction, or distribution of Your
145
+ modifications, or for any such Derivative Works as a whole, provided Your use,
146
+ reproduction, and distribution of the Work otherwise complies with the conditions
147
+ stated in this License.
148
+
149
+ 5. Submission of Contributions. Unless You explicitly
150
+ state otherwise, any Contribution intentionally submitted for inclusion in the
151
+ Work by You to the Licensor shall be under the terms and conditions of this
152
+ License, without any additional terms or conditions. Notwithstanding the above,
153
+ nothing herein shall supersede or modify the terms of any separate license
154
+ agreement you may have executed with Licensor regarding such Contributions.
155
+
156
+
157
+ 6. Trademarks. This License does not grant permission to use the trade names,
158
+ trademarks, service marks, or product names of the Licensor, except as required
159
+ for reasonable and customary use in describing the origin of the Work and
160
+ reproducing the content of the NOTICE file.
161
+
162
+ 7. Disclaimer of Warranty. Unless
163
+ required by applicable law or agreed to in writing, Licensor provides the Work
164
+ (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT
165
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
166
+ without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
167
+ MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible
168
+ for determining the appropriateness of using or redistributing the Work and
169
+ assume any risks associated with Your exercise of permissions under this
170
+ License.
171
+
172
+ 8. Limitation of Liability. In no event and under no legal theory,
173
+ whether in tort (including negligence), contract, or otherwise, unless required
174
+ by applicable law (such as deliberate and grossly negligent acts) or agreed to in
175
+ writing, shall any Contributor be liable to You for damages, including any
176
+ direct, indirect, special, incidental, or consequential damages of any character
177
+ arising as a result of this License or out of the use or inability to use the
178
+ Work (including but not limited to damages for loss of goodwill, work stoppage,
179
+ computer failure or malfunction, or any and all other commercial damages or
180
+ losses), even if such Contributor has been advised of the possibility of such
181
+ damages.
182
+
183
+ 9. Accepting Warranty or Additional Liability. While redistributing
184
+ the Work or Derivative Works thereof, You may choose to offer, and charge a fee
185
+ for, acceptance of support, warranty, indemnity, or other liability obligations
186
+ and/or rights consistent with this License. However, in accepting such
187
+ obligations, You may act only on Your own behalf and on Your sole responsibility,
188
+ not on behalf of any other Contributor, and only if You agree to indemnify,
189
+ defend, and hold each Contributor harmless for any liability incurred by, or
190
+ claims asserted against, such Contributor by reason of your accepting any such
191
+ warranty or additional liability. END OF TERMS AND CONDITIONS
192
+
193
+ APPENDIX: How to
194
+ apply the Apache License to your work.
195
+
196
+ To apply the Apache License to your work,
197
+ attach the following boilerplate notice, with the fields enclosed by brackets
198
+ "[]" replaced with your own identifying information. (Don't include the
199
+ brackets!) The text should be enclosed in the appropriate comment syntax for the
200
+ file format. We also recommend that a file or class name and description of
201
+ purpose be included on the same "printed page" as the copyright notice for easier
202
+ identification within third-party archives.
203
+
204
+ Copyright [yyyy] Sandip
205
+
206
+ Licensed
207
+ under the Apache License, Version 2.0 (the "License");
208
+
209
+ you may not use this file
210
+ except in compliance with the License.
211
+
212
+ You may obtain a copy of the License
213
+ at
214
+
215
+ http://www.apache.org/licenses/LICENSE-2.0
216
+
217
+ Unless required by applicable law
218
+ or agreed to in writing, software
219
+
220
+ distributed under the License is distributed
221
+ on an "AS IS" BASIS,
222
+
223
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
224
+ express or implied.
225
+
226
+ See the License for the specific language governing
227
+ permissions and
228
+
229
+ limitations under the License.
package/README.md ADDED
@@ -0,0 +1,133 @@
1
+ # Dolphin Component Library
2
+
3
+ ![npm](https://img.shields.io/npm/v/dolphin-components) ![License](https://img.shields.io/npm/l/dolphin-components) ![Vue](https://img.shields.io/badge/vue-3.x-brightgreen)
4
+
5
+ A Vue component library built with TypeScript, Vite, Vue, TailwindCSS, Multiselect, Sweetalert2, and Tabulator.
6
+
7
+ ## Installation
8
+
9
+ Install the package via npm:
10
+
11
+ ```sh
12
+ npm install dolphin-components
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ### 1. Import Styles
18
+
19
+ Make sure to import the CSS styles in your main entry file (e.g., `main.ts` or `main.js`):
20
+
21
+ ```ts
22
+ import 'dolphin-components/dist/dolphin-components.css';
23
+ ```
24
+
25
+ ### 2. Register Components
26
+
27
+ #### Global Registration
28
+
29
+ You can globally register all components in your Vue app:
30
+
31
+ ```ts
32
+ import { createApp } from 'vue';
33
+ import App from './App.vue';
34
+ import { ContentLayout, Modal, Switch, Tabulator, Toggle, Towser } from 'dolphin-components';
35
+
36
+ const app = createApp(App);
37
+
38
+ app.component('ContentLayout', ContentLayout);
39
+ app.component('Modal', Modal);
40
+ app.component('Switch', Switch);
41
+ app.component('Tabulator', Tabulator);
42
+ app.component('Toggle', Toggle);
43
+ app.component('Towser', Towser);
44
+
45
+ app.mount('#app');
46
+ ```
47
+
48
+ ### 3. Available Components
49
+
50
+ #### ContentLayout
51
+
52
+ **Props:**
53
+ - `title` (Array of `ContentTitle[]`, required) - Defines the content titles with optional links.
54
+ - `action` (Array of `ContentAction[]`, optional) - Defines actions with a title, emit event, and optional class.
55
+ - `bodyClass` (String, optional) - Additional class for the body.
56
+ - `titleClass` (String, optional) - Additional class for the title.
57
+
58
+ #### Modal
59
+
60
+ **Props:**
61
+ - `title` (Array of `ModalTitle[]`, required) - Defines modal titles with optional links.
62
+ - `action` (Array of `ModalAction[]`, required) - Defines actions with an emit event and optional class.
63
+ - `show` (Boolean, required) - Controls modal visibility.
64
+ - `width` (String, optional) - Defines modal width.
65
+
66
+ #### Switch
67
+
68
+ **Props:**
69
+ - `modelValue` (Boolean, required) - The v-model value.
70
+ - `background` (String, optional) - Background color.
71
+ - `disable` (Boolean, optional) - Disable Switch.
72
+
73
+ #### Tabulator
74
+
75
+ **Props:**
76
+ - `data` (Array of `TabulatorData[]`, required) - Defines table data.
77
+ - `columns` (Array of `TabulatorHeader[]`, required) - Defines table headers.
78
+ - `placeholder` (String, required) - Placeholder text when no data is present.
79
+ - `paginationSize` (Number, required) - Pagination size.
80
+ - `paginationSizeSelector` (Array of numbers, required) - Pagination size options.
81
+ - `action` (Boolean, required) - Enables or disables action buttons.
82
+ - `actionButtons` (Array of `TabulatorAction[]`, required) - Defines action buttons.
83
+ - `heightOffset` (Number, required) - Adjusts table height.
84
+
85
+ #### Toggle
86
+
87
+ **Props:**
88
+ - `modelValue` (Boolean, required) - The v-model value.
89
+ - `onText` (String, optional) - Text when toogle on.
90
+ - `offText` (String, optional) - Text when toogle off.
91
+ - `width` (String, optional) - Width of Toggle [Eg: 100px].
92
+ - `disable` (Boolean, optional) - Disable Toggle.
93
+
94
+ #### Towser
95
+
96
+ **Props:**
97
+ - `show` (Boolean, required) - Controls visibility.
98
+ - `title` (Array of `TowserTitle[]`, required) - Defines the titles with optional links.
99
+ - `action` (Array of `TowserAction[]`, optional) - Defines actions.
100
+ - `double` (Boolean, optional) - Enables double-pane layout.
101
+ - `bodyWidth` (Number, optional) - Width of the main body.
102
+ - `body2Width` (Number, optional) - Width of the secondary body.
103
+
104
+ ### 4. Register Directives
105
+ ``` ts
106
+ import { InputError } from 'dolphin-components';
107
+ app.directive('error', InputError)
108
+
109
+ ```
110
+
111
+ ### 5. Available Directives
112
+
113
+ #### Input Error
114
+
115
+ A Vue directive for handling form input error states and displaying error messages.
116
+
117
+ **Usage:**
118
+ ```vue
119
+ <div v-error="error">
120
+ <input type="text" v-model="fieldValue" />
121
+ </div>
122
+ ```
123
+
124
+ **Properties:**
125
+ - `error` (String, required) - Error message to display
126
+
127
+ ## TypeScript Support
128
+
129
+ This package includes TypeScript support with full typings for all components.
130
+
131
+ ## License
132
+
133
+ This project is licensed under the Apache 2.0 License. See the [LICENSE](https://opensource.org/license/apache-2-0) file for more details.
@@ -0,0 +1,5 @@
1
+ import { DirectiveBinding } from "vue";
2
+ export declare const InputError: {
3
+ mounted: (el: HTMLElement, binding: DirectiveBinding) => void;
4
+ updated: (el: HTMLElement, binding: DirectiveBinding) => void;
5
+ };
@@ -0,0 +1,29 @@
1
+ import type { ContentAction, ContentProps } from '../types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ 'action-before'?(_: {}): any;
6
+ 'action-after'?(_: {}): any;
7
+ default?(_: {}): any;
8
+ };
9
+ refs: {};
10
+ rootEl: HTMLDivElement;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import("vue").DefineComponent<ContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ [x: string]: never;
15
+ }, string, import("vue").PublicProps, Readonly<ContentProps> & Readonly<{
16
+ [x: `on${Capitalize<string>}`]: (...args: unknown[]) => any;
17
+ }>, {
18
+ title: import("../types").ContentTitle[];
19
+ action: ContentAction[];
20
+ bodyClass: string;
21
+ titleClass: string;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
23
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
+ export default _default;
25
+ type __VLS_WithTemplateSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,30 @@
1
+ import type { ModalProps } from '../types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {
8
+ dynamicDiv: HTMLDivElement;
9
+ };
10
+ rootEl: any;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import("vue").DefineComponent<ModalProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ [x: string]: never;
15
+ }, string, import("vue").PublicProps, Readonly<ModalProps> & Readonly<{
16
+ [x: `on${Capitalize<string>}`]: (...args: unknown[]) => any;
17
+ }>, {
18
+ show: boolean;
19
+ width: string;
20
+ title: import("../types").ModalTitle[];
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
22
+ dynamicDiv: HTMLDivElement;
23
+ }, any>;
24
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,11 @@
1
+ import type { SwitchProps } from '../types';
2
+ declare const _default: import("vue").DefineComponent<SwitchProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: boolean) => any;
4
+ }, string, import("vue").PublicProps, Readonly<SwitchProps> & Readonly<{
5
+ "onUpdate:modelValue"?: (value: boolean) => any;
6
+ }>, {
7
+ background: string;
8
+ modelValue: boolean;
9
+ disable: boolean;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLButtonElement>;
11
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import { type TabulatorHeader, type TabulatorProps } from '../types';
2
+ declare const _default: import("vue").DefineComponent<TabulatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
3
+ [x: string]: never;
4
+ }, string, import("vue").PublicProps, Readonly<TabulatorProps> & Readonly<{
5
+ [x: `on${Capitalize<string>}`]: (...args: unknown[]) => any;
6
+ }>, {
7
+ data: import("../types").TabulatorData[];
8
+ columns: TabulatorHeader[];
9
+ action: boolean;
10
+ placeholder: string;
11
+ paginationSize: number;
12
+ paginationSizeSelector: number[];
13
+ actionButtons: import("../types").TabulatorAction[];
14
+ heightOffset: number;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
16
+ table: HTMLDivElement;
17
+ }, HTMLDivElement>;
18
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { ToggleProps } from '../types';
2
+ declare const _default: import("vue").DefineComponent<ToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: boolean) => any;
4
+ }, string, import("vue").PublicProps, Readonly<ToggleProps> & Readonly<{
5
+ "onUpdate:modelValue"?: (value: boolean) => any;
6
+ }>, {
7
+ width: string;
8
+ modelValue: boolean;
9
+ disable: boolean;
10
+ onText: string;
11
+ offText: string;
12
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLButtonElement>;
13
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import type { TowserProps } from '../types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ body2?(_: {}): any;
7
+ };
8
+ refs: {};
9
+ rootEl: any;
10
+ };
11
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
+ declare const __VLS_component: import("vue").DefineComponent<TowserProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
+ [x: string]: never;
14
+ }, string, import("vue").PublicProps, Readonly<TowserProps> & Readonly<{
15
+ [x: `on${Capitalize<string>}`]: (...args: unknown[]) => any;
16
+ }>, {
17
+ show: boolean;
18
+ title: import("../types").TowserTitle[];
19
+ action: import("../types").TowserAction[];
20
+ double: boolean;
21
+ bodyWidth: number;
22
+ body2Width: number;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };