@mekari/pixel3-textarea 0.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.
@@ -0,0 +1,44 @@
1
+ // src/modules/textarea.props.ts
2
+ var textareaProps = {
3
+ modelValue: {
4
+ type: [String, Number]
5
+ },
6
+ id: {
7
+ type: [String]
8
+ },
9
+ placeholder: {
10
+ type: String
11
+ },
12
+ isReadOnly: {
13
+ type: Boolean,
14
+ default: false
15
+ },
16
+ isDisabled: {
17
+ type: Boolean,
18
+ default: false
19
+ },
20
+ isInvalid: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ isRequired: {
25
+ type: Boolean,
26
+ default: false
27
+ },
28
+ isFullWidth: {
29
+ type: Boolean,
30
+ default: true
31
+ },
32
+ ariaLabel: {
33
+ type: String
34
+ },
35
+ ariaLabelledBy: {
36
+ type: String
37
+ }
38
+ };
39
+ var textareaEmits = ["update:modelValue", "change", "input"];
40
+
41
+ export {
42
+ textareaProps,
43
+ textareaEmits
44
+ };
@@ -0,0 +1,37 @@
1
+ import {
2
+ __name
3
+ } from "./chunk-QZ7VFGWC.mjs";
4
+
5
+ // src/modules/textarea.hooks.ts
6
+ import { computed } from "vue";
7
+ import { textareaRecipe } from "@mekari/pixel3-styled-system/recipes";
8
+ import { useId } from "@mekari/pixel3-utils";
9
+ function useTextarea(props, emit) {
10
+ const rootAttrs = computed(() => {
11
+ return {
12
+ "data-pixel-component": "MpTextarea",
13
+ class: textareaRecipe(),
14
+ id: props.id || useId(4),
15
+ placeholder: props.placeholder,
16
+ disabled: props.isDisabled,
17
+ readonly: props.isReadOnly,
18
+ "aria-label": props.ariaLabel,
19
+ "aria-labelledby": props.ariaLabel,
20
+ "data-fullwidth": props.isFullWidth || void 0,
21
+ onInput: (e) => {
22
+ const target = e.target;
23
+ emit("input", e, target.value);
24
+ emit("change", e, target.value);
25
+ emit("update:modelValue", target.value);
26
+ }
27
+ };
28
+ });
29
+ return {
30
+ rootAttrs
31
+ };
32
+ }
33
+ __name(useTextarea, "useTextarea");
34
+
35
+ export {
36
+ useTextarea
37
+ };
@@ -0,0 +1,30 @@
1
+ import {
2
+ useTextarea
3
+ } from "./chunk-HKSNK6BO.mjs";
4
+ import {
5
+ textareaEmits,
6
+ textareaProps
7
+ } from "./chunk-EAK7LYJG.mjs";
8
+
9
+ // src/textarea.tsx
10
+ import { createVNode as _createVNode } from "vue";
11
+ import { defineComponent } from "vue";
12
+ var MpTextarea = defineComponent({
13
+ name: "MpTextarea",
14
+ props: textareaProps,
15
+ emits: textareaEmits,
16
+ setup(props, {
17
+ emit
18
+ }) {
19
+ const {
20
+ rootAttrs
21
+ } = useTextarea(props, emit);
22
+ return () => {
23
+ return _createVNode("textarea", rootAttrs.value, null);
24
+ };
25
+ }
26
+ });
27
+
28
+ export {
29
+ MpTextarea
30
+ };
@@ -0,0 +1,6 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ export {
5
+ __name
6
+ };
@@ -0,0 +1,2 @@
1
+ export { MpTextarea } from './textarea.mjs';
2
+ import 'vue';
@@ -0,0 +1,2 @@
1
+ export { MpTextarea } from './textarea.js';
2
+ import 'vue';
package/dist/index.js ADDED
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.tsx
22
+ var src_exports = {};
23
+ __export(src_exports, {
24
+ MpTextarea: () => MpTextarea
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/textarea.tsx
29
+ var import_vue2 = require("vue");
30
+ var import_vue3 = require("vue");
31
+
32
+ // src/modules/textarea.props.ts
33
+ var textareaProps = {
34
+ modelValue: {
35
+ type: [String, Number]
36
+ },
37
+ id: {
38
+ type: [String]
39
+ },
40
+ placeholder: {
41
+ type: String
42
+ },
43
+ isReadOnly: {
44
+ type: Boolean,
45
+ default: false
46
+ },
47
+ isDisabled: {
48
+ type: Boolean,
49
+ default: false
50
+ },
51
+ isInvalid: {
52
+ type: Boolean,
53
+ default: false
54
+ },
55
+ isRequired: {
56
+ type: Boolean,
57
+ default: false
58
+ },
59
+ isFullWidth: {
60
+ type: Boolean,
61
+ default: true
62
+ },
63
+ ariaLabel: {
64
+ type: String
65
+ },
66
+ ariaLabelledBy: {
67
+ type: String
68
+ }
69
+ };
70
+ var textareaEmits = ["update:modelValue", "change", "input"];
71
+
72
+ // src/modules/textarea.hooks.ts
73
+ var import_vue = require("vue");
74
+ var import_recipes = require("@mekari/pixel3-styled-system/recipes");
75
+ var import_pixel3_utils = require("@mekari/pixel3-utils");
76
+ function useTextarea(props, emit) {
77
+ const rootAttrs = (0, import_vue.computed)(() => {
78
+ return {
79
+ "data-pixel-component": "MpTextarea",
80
+ class: (0, import_recipes.textareaRecipe)(),
81
+ id: props.id || (0, import_pixel3_utils.useId)(4),
82
+ placeholder: props.placeholder,
83
+ disabled: props.isDisabled,
84
+ readonly: props.isReadOnly,
85
+ "aria-label": props.ariaLabel,
86
+ "aria-labelledby": props.ariaLabel,
87
+ "data-fullwidth": props.isFullWidth || void 0,
88
+ onInput: (e) => {
89
+ const target = e.target;
90
+ emit("input", e, target.value);
91
+ emit("change", e, target.value);
92
+ emit("update:modelValue", target.value);
93
+ }
94
+ };
95
+ });
96
+ return {
97
+ rootAttrs
98
+ };
99
+ }
100
+ __name(useTextarea, "useTextarea");
101
+
102
+ // src/textarea.tsx
103
+ var MpTextarea = (0, import_vue3.defineComponent)({
104
+ name: "MpTextarea",
105
+ props: textareaProps,
106
+ emits: textareaEmits,
107
+ setup(props, {
108
+ emit
109
+ }) {
110
+ const {
111
+ rootAttrs
112
+ } = useTextarea(props, emit);
113
+ return () => {
114
+ return (0, import_vue2.createVNode)("textarea", rootAttrs.value, null);
115
+ };
116
+ }
117
+ });
118
+ // Annotate the CommonJS export names for ESM import in node:
119
+ 0 && (module.exports = {
120
+ MpTextarea
121
+ });
package/dist/index.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import {
2
+ MpTextarea
3
+ } from "./chunk-JCW6GRGD.mjs";
4
+ import "./chunk-HKSNK6BO.mjs";
5
+ import "./chunk-EAK7LYJG.mjs";
6
+ import "./chunk-QZ7VFGWC.mjs";
7
+ export {
8
+ MpTextarea
9
+ };
@@ -0,0 +1 @@
1
+ {"inputs":{"src/modules/textarea.props.ts":{"bytes":1159,"imports":[],"format":"esm"},"src/modules/textarea.hooks.ts":{"bytes":1043,"imports":[{"path":"vue","kind":"import-statement","external":true},{"path":"@mekari/pixel3-styled-system/recipes","kind":"import-statement","external":true},{"path":"@mekari/pixel3-utils","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/textarea.tsx":{"bytes":608,"imports":[{"path":"vue","kind":"import-statement","external":true},{"path":"vue","kind":"import-statement","external":true},{"path":"src/modules/textarea.props.ts","kind":"import-statement","original":"./modules/textarea.props"},{"path":"src/modules/textarea.hooks.ts","kind":"import-statement","original":"./modules/textarea.hooks"}],"format":"esm"},"src/index.tsx":{"bytes":125,"imports":[{"path":"src/textarea.tsx","kind":"import-statement","original":"./textarea"}],"format":"esm"}},"outputs":{"dist/index.js":{"imports":[{"path":"vue","kind":"require-call","external":true},{"path":"vue","kind":"require-call","external":true},{"path":"vue","kind":"require-call","external":true},{"path":"@mekari/pixel3-styled-system/recipes","kind":"require-call","external":true},{"path":"@mekari/pixel3-utils","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/index.tsx","inputs":{"src/index.tsx":{"bytesInOutput":125},"src/textarea.tsx":{"bytesInOutput":397},"src/modules/textarea.props.ts":{"bytesInOutput":578},"src/modules/textarea.hooks.ts":{"bytesInOutput":930}},"bytes":3151},"dist/textarea.js":{"imports":[{"path":"vue","kind":"require-call","external":true},{"path":"vue","kind":"require-call","external":true},{"path":"vue","kind":"require-call","external":true},{"path":"@mekari/pixel3-styled-system/recipes","kind":"require-call","external":true},{"path":"@mekari/pixel3-utils","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/textarea.tsx","inputs":{"src/textarea.tsx":{"bytesInOutput":537},"src/modules/textarea.props.ts":{"bytesInOutput":578},"src/modules/textarea.hooks.ts":{"bytesInOutput":930}},"bytes":3148},"dist/modules/textarea.hooks.js":{"imports":[{"path":"vue","kind":"require-call","external":true},{"path":"@mekari/pixel3-styled-system/recipes","kind":"require-call","external":true},{"path":"@mekari/pixel3-utils","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/modules/textarea.hooks.ts","inputs":{"src/modules/textarea.hooks.ts":{"bytesInOutput":1090}},"bytes":2118},"dist/modules/textarea.props.js":{"imports":[],"exports":[],"entryPoint":"src/modules/textarea.props.ts","inputs":{"src/modules/textarea.props.ts":{"bytesInOutput":780}},"bytes":1737}}}
@@ -0,0 +1 @@
1
+ {"inputs":{"src/modules/textarea.props.ts":{"bytes":1159,"imports":[],"format":"esm"},"src/modules/textarea.hooks.ts":{"bytes":1043,"imports":[{"path":"vue","kind":"import-statement","external":true},{"path":"@mekari/pixel3-styled-system/recipes","kind":"import-statement","external":true},{"path":"@mekari/pixel3-utils","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/textarea.tsx":{"bytes":608,"imports":[{"path":"vue","kind":"import-statement","external":true},{"path":"vue","kind":"import-statement","external":true},{"path":"src/modules/textarea.props.ts","kind":"import-statement","original":"./modules/textarea.props"},{"path":"src/modules/textarea.hooks.ts","kind":"import-statement","original":"./modules/textarea.hooks"}],"format":"esm"},"src/index.tsx":{"bytes":125,"imports":[{"path":"src/textarea.tsx","kind":"import-statement","original":"./textarea"}],"format":"esm"}},"outputs":{"dist/index.mjs":{"imports":[{"path":"dist/chunk-JCW6GRGD.mjs","kind":"import-statement"},{"path":"dist/chunk-HKSNK6BO.mjs","kind":"import-statement"},{"path":"dist/chunk-EAK7LYJG.mjs","kind":"import-statement"},{"path":"dist/chunk-QZ7VFGWC.mjs","kind":"import-statement"}],"exports":["MpTextarea"],"entryPoint":"src/index.tsx","inputs":{"src/index.tsx":{"bytesInOutput":0}},"bytes":171},"dist/textarea.mjs":{"imports":[{"path":"dist/chunk-JCW6GRGD.mjs","kind":"import-statement"},{"path":"dist/chunk-HKSNK6BO.mjs","kind":"import-statement"},{"path":"dist/chunk-EAK7LYJG.mjs","kind":"import-statement"},{"path":"dist/chunk-QZ7VFGWC.mjs","kind":"import-statement"}],"exports":["MpTextarea"],"entryPoint":"src/textarea.tsx","inputs":{},"bytes":171},"dist/chunk-JCW6GRGD.mjs":{"imports":[{"path":"dist/chunk-HKSNK6BO.mjs","kind":"import-statement"},{"path":"dist/chunk-EAK7LYJG.mjs","kind":"import-statement"},{"path":"vue","kind":"import-statement","external":true},{"path":"vue","kind":"import-statement","external":true}],"exports":["MpTextarea"],"inputs":{"src/textarea.tsx":{"bytesInOutput":386}},"bytes":560},"dist/modules/textarea.hooks.mjs":{"imports":[{"path":"dist/chunk-HKSNK6BO.mjs","kind":"import-statement"},{"path":"dist/chunk-QZ7VFGWC.mjs","kind":"import-statement"}],"exports":["useTextarea"],"entryPoint":"src/modules/textarea.hooks.ts","inputs":{},"bytes":113},"dist/chunk-HKSNK6BO.mjs":{"imports":[{"path":"dist/chunk-QZ7VFGWC.mjs","kind":"import-statement"},{"path":"vue","kind":"import-statement","external":true},{"path":"@mekari/pixel3-styled-system/recipes","kind":"import-statement","external":true},{"path":"@mekari/pixel3-utils","kind":"import-statement","external":true}],"exports":["useTextarea"],"inputs":{"src/modules/textarea.hooks.ts":{"bytesInOutput":856}},"bytes":966},"dist/modules/textarea.props.mjs":{"imports":[{"path":"dist/chunk-EAK7LYJG.mjs","kind":"import-statement"},{"path":"dist/chunk-QZ7VFGWC.mjs","kind":"import-statement"}],"exports":["textareaEmits","textareaProps"],"entryPoint":"src/modules/textarea.props.ts","inputs":{},"bytes":151},"dist/chunk-EAK7LYJG.mjs":{"imports":[],"exports":["textareaEmits","textareaProps"],"inputs":{"src/modules/textarea.props.ts":{"bytesInOutput":578}},"bytes":657},"dist/chunk-QZ7VFGWC.mjs":{"imports":[],"exports":["__name"],"inputs":{},"bytes":151}}}
@@ -0,0 +1,19 @@
1
+ import * as vue from 'vue';
2
+ import { TextareaProps, TextareaEmits } from './textarea.props.mjs';
3
+
4
+ declare function useTextarea(props: TextareaProps, emit: TextareaEmits): {
5
+ rootAttrs: vue.ComputedRef<{
6
+ 'data-pixel-component': string;
7
+ class: string;
8
+ id: string;
9
+ placeholder: string | undefined;
10
+ disabled: boolean;
11
+ readonly: boolean;
12
+ 'aria-label': string | undefined;
13
+ 'aria-labelledby': string | undefined;
14
+ 'data-fullwidth': true | undefined;
15
+ onInput: (e: Event) => void;
16
+ }>;
17
+ };
18
+
19
+ export { useTextarea };
@@ -0,0 +1,19 @@
1
+ import * as vue from 'vue';
2
+ import { TextareaProps, TextareaEmits } from './textarea.props.js';
3
+
4
+ declare function useTextarea(props: TextareaProps, emit: TextareaEmits): {
5
+ rootAttrs: vue.ComputedRef<{
6
+ 'data-pixel-component': string;
7
+ class: string;
8
+ id: string;
9
+ placeholder: string | undefined;
10
+ disabled: boolean;
11
+ readonly: boolean;
12
+ 'aria-label': string | undefined;
13
+ 'aria-labelledby': string | undefined;
14
+ 'data-fullwidth': true | undefined;
15
+ onInput: (e: Event) => void;
16
+ }>;
17
+ };
18
+
19
+ export { useTextarea };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/modules/textarea.hooks.ts
22
+ var textarea_hooks_exports = {};
23
+ __export(textarea_hooks_exports, {
24
+ useTextarea: () => useTextarea
25
+ });
26
+ module.exports = __toCommonJS(textarea_hooks_exports);
27
+ var import_vue = require("vue");
28
+ var import_recipes = require("@mekari/pixel3-styled-system/recipes");
29
+ var import_pixel3_utils = require("@mekari/pixel3-utils");
30
+ function useTextarea(props, emit) {
31
+ const rootAttrs = (0, import_vue.computed)(() => {
32
+ return {
33
+ "data-pixel-component": "MpTextarea",
34
+ class: (0, import_recipes.textareaRecipe)(),
35
+ id: props.id || (0, import_pixel3_utils.useId)(4),
36
+ placeholder: props.placeholder,
37
+ disabled: props.isDisabled,
38
+ readonly: props.isReadOnly,
39
+ "aria-label": props.ariaLabel,
40
+ "aria-labelledby": props.ariaLabel,
41
+ "data-fullwidth": props.isFullWidth || void 0,
42
+ onInput: (e) => {
43
+ const target = e.target;
44
+ emit("input", e, target.value);
45
+ emit("change", e, target.value);
46
+ emit("update:modelValue", target.value);
47
+ }
48
+ };
49
+ });
50
+ return {
51
+ rootAttrs
52
+ };
53
+ }
54
+ __name(useTextarea, "useTextarea");
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ useTextarea
58
+ });
@@ -0,0 +1,7 @@
1
+ import {
2
+ useTextarea
3
+ } from "../chunk-HKSNK6BO.mjs";
4
+ import "../chunk-QZ7VFGWC.mjs";
5
+ export {
6
+ useTextarea
7
+ };
@@ -0,0 +1,44 @@
1
+ import { PropType, ExtractPropTypes } from 'vue';
2
+
3
+ declare const textareaProps: {
4
+ modelValue: {
5
+ type: PropType<string | number>;
6
+ };
7
+ id: {
8
+ type: PropType<string>;
9
+ };
10
+ placeholder: {
11
+ type: PropType<string>;
12
+ };
13
+ isReadOnly: {
14
+ type: PropType<boolean>;
15
+ default: boolean;
16
+ };
17
+ isDisabled: {
18
+ type: PropType<boolean>;
19
+ default: boolean;
20
+ };
21
+ isInvalid: {
22
+ type: PropType<boolean>;
23
+ default: boolean;
24
+ };
25
+ isRequired: {
26
+ type: PropType<boolean>;
27
+ default: boolean;
28
+ };
29
+ isFullWidth: {
30
+ type: PropType<boolean>;
31
+ default: boolean;
32
+ };
33
+ ariaLabel: {
34
+ type: PropType<string>;
35
+ };
36
+ ariaLabelledBy: {
37
+ type: PropType<string>;
38
+ };
39
+ };
40
+ declare const textareaEmits: string[];
41
+ type TextareaEmits = (event: 'update:modelValue' | 'change' | 'input', e: Event | string, value?: string) => void;
42
+ type TextareaProps = ExtractPropTypes<typeof textareaProps>;
43
+
44
+ export { TextareaEmits, TextareaProps, textareaEmits, textareaProps };
@@ -0,0 +1,44 @@
1
+ import { PropType, ExtractPropTypes } from 'vue';
2
+
3
+ declare const textareaProps: {
4
+ modelValue: {
5
+ type: PropType<string | number>;
6
+ };
7
+ id: {
8
+ type: PropType<string>;
9
+ };
10
+ placeholder: {
11
+ type: PropType<string>;
12
+ };
13
+ isReadOnly: {
14
+ type: PropType<boolean>;
15
+ default: boolean;
16
+ };
17
+ isDisabled: {
18
+ type: PropType<boolean>;
19
+ default: boolean;
20
+ };
21
+ isInvalid: {
22
+ type: PropType<boolean>;
23
+ default: boolean;
24
+ };
25
+ isRequired: {
26
+ type: PropType<boolean>;
27
+ default: boolean;
28
+ };
29
+ isFullWidth: {
30
+ type: PropType<boolean>;
31
+ default: boolean;
32
+ };
33
+ ariaLabel: {
34
+ type: PropType<string>;
35
+ };
36
+ ariaLabelledBy: {
37
+ type: PropType<string>;
38
+ };
39
+ };
40
+ declare const textareaEmits: string[];
41
+ type TextareaEmits = (event: 'update:modelValue' | 'change' | 'input', e: Event | string, value?: string) => void;
42
+ type TextareaProps = ExtractPropTypes<typeof textareaProps>;
43
+
44
+ export { TextareaEmits, TextareaProps, textareaEmits, textareaProps };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/modules/textarea.props.ts
21
+ var textarea_props_exports = {};
22
+ __export(textarea_props_exports, {
23
+ textareaEmits: () => textareaEmits,
24
+ textareaProps: () => textareaProps
25
+ });
26
+ module.exports = __toCommonJS(textarea_props_exports);
27
+ var textareaProps = {
28
+ modelValue: {
29
+ type: [String, Number]
30
+ },
31
+ id: {
32
+ type: [String]
33
+ },
34
+ placeholder: {
35
+ type: String
36
+ },
37
+ isReadOnly: {
38
+ type: Boolean,
39
+ default: false
40
+ },
41
+ isDisabled: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ isInvalid: {
46
+ type: Boolean,
47
+ default: false
48
+ },
49
+ isRequired: {
50
+ type: Boolean,
51
+ default: false
52
+ },
53
+ isFullWidth: {
54
+ type: Boolean,
55
+ default: true
56
+ },
57
+ ariaLabel: {
58
+ type: String
59
+ },
60
+ ariaLabelledBy: {
61
+ type: String
62
+ }
63
+ };
64
+ var textareaEmits = ["update:modelValue", "change", "input"];
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ textareaEmits,
68
+ textareaProps
69
+ });
@@ -0,0 +1,9 @@
1
+ import {
2
+ textareaEmits,
3
+ textareaProps
4
+ } from "../chunk-EAK7LYJG.mjs";
5
+ import "../chunk-QZ7VFGWC.mjs";
6
+ export {
7
+ textareaEmits,
8
+ textareaProps
9
+ };
@@ -0,0 +1,85 @@
1
+ import * as vue from 'vue';
2
+
3
+ declare const MpTextarea: vue.DefineComponent<{
4
+ modelValue: {
5
+ type: vue.PropType<string | number>;
6
+ };
7
+ id: {
8
+ type: vue.PropType<string>;
9
+ };
10
+ placeholder: {
11
+ type: vue.PropType<string>;
12
+ };
13
+ isReadOnly: {
14
+ type: vue.PropType<boolean>;
15
+ default: boolean;
16
+ };
17
+ isDisabled: {
18
+ type: vue.PropType<boolean>;
19
+ default: boolean;
20
+ };
21
+ isInvalid: {
22
+ type: vue.PropType<boolean>;
23
+ default: boolean;
24
+ };
25
+ isRequired: {
26
+ type: vue.PropType<boolean>;
27
+ default: boolean;
28
+ };
29
+ isFullWidth: {
30
+ type: vue.PropType<boolean>;
31
+ default: boolean;
32
+ };
33
+ ariaLabel: {
34
+ type: vue.PropType<string>;
35
+ };
36
+ ariaLabelledBy: {
37
+ type: vue.PropType<string>;
38
+ };
39
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, string[], string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
40
+ modelValue: {
41
+ type: vue.PropType<string | number>;
42
+ };
43
+ id: {
44
+ type: vue.PropType<string>;
45
+ };
46
+ placeholder: {
47
+ type: vue.PropType<string>;
48
+ };
49
+ isReadOnly: {
50
+ type: vue.PropType<boolean>;
51
+ default: boolean;
52
+ };
53
+ isDisabled: {
54
+ type: vue.PropType<boolean>;
55
+ default: boolean;
56
+ };
57
+ isInvalid: {
58
+ type: vue.PropType<boolean>;
59
+ default: boolean;
60
+ };
61
+ isRequired: {
62
+ type: vue.PropType<boolean>;
63
+ default: boolean;
64
+ };
65
+ isFullWidth: {
66
+ type: vue.PropType<boolean>;
67
+ default: boolean;
68
+ };
69
+ ariaLabel: {
70
+ type: vue.PropType<string>;
71
+ };
72
+ ariaLabelledBy: {
73
+ type: vue.PropType<string>;
74
+ };
75
+ }>> & {
76
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
77
+ }, {
78
+ isReadOnly: boolean;
79
+ isDisabled: boolean;
80
+ isInvalid: boolean;
81
+ isRequired: boolean;
82
+ isFullWidth: boolean;
83
+ }, {}>;
84
+
85
+ export { MpTextarea };
@@ -0,0 +1,85 @@
1
+ import * as vue from 'vue';
2
+
3
+ declare const MpTextarea: vue.DefineComponent<{
4
+ modelValue: {
5
+ type: vue.PropType<string | number>;
6
+ };
7
+ id: {
8
+ type: vue.PropType<string>;
9
+ };
10
+ placeholder: {
11
+ type: vue.PropType<string>;
12
+ };
13
+ isReadOnly: {
14
+ type: vue.PropType<boolean>;
15
+ default: boolean;
16
+ };
17
+ isDisabled: {
18
+ type: vue.PropType<boolean>;
19
+ default: boolean;
20
+ };
21
+ isInvalid: {
22
+ type: vue.PropType<boolean>;
23
+ default: boolean;
24
+ };
25
+ isRequired: {
26
+ type: vue.PropType<boolean>;
27
+ default: boolean;
28
+ };
29
+ isFullWidth: {
30
+ type: vue.PropType<boolean>;
31
+ default: boolean;
32
+ };
33
+ ariaLabel: {
34
+ type: vue.PropType<string>;
35
+ };
36
+ ariaLabelledBy: {
37
+ type: vue.PropType<string>;
38
+ };
39
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, string[], string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
40
+ modelValue: {
41
+ type: vue.PropType<string | number>;
42
+ };
43
+ id: {
44
+ type: vue.PropType<string>;
45
+ };
46
+ placeholder: {
47
+ type: vue.PropType<string>;
48
+ };
49
+ isReadOnly: {
50
+ type: vue.PropType<boolean>;
51
+ default: boolean;
52
+ };
53
+ isDisabled: {
54
+ type: vue.PropType<boolean>;
55
+ default: boolean;
56
+ };
57
+ isInvalid: {
58
+ type: vue.PropType<boolean>;
59
+ default: boolean;
60
+ };
61
+ isRequired: {
62
+ type: vue.PropType<boolean>;
63
+ default: boolean;
64
+ };
65
+ isFullWidth: {
66
+ type: vue.PropType<boolean>;
67
+ default: boolean;
68
+ };
69
+ ariaLabel: {
70
+ type: vue.PropType<string>;
71
+ };
72
+ ariaLabelledBy: {
73
+ type: vue.PropType<string>;
74
+ };
75
+ }>> & {
76
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
77
+ }, {
78
+ isReadOnly: boolean;
79
+ isDisabled: boolean;
80
+ isInvalid: boolean;
81
+ isRequired: boolean;
82
+ isFullWidth: boolean;
83
+ }, {}>;
84
+
85
+ export { MpTextarea };
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/textarea.tsx
22
+ var textarea_exports = {};
23
+ __export(textarea_exports, {
24
+ MpTextarea: () => MpTextarea
25
+ });
26
+ module.exports = __toCommonJS(textarea_exports);
27
+ var import_vue2 = require("vue");
28
+ var import_vue3 = require("vue");
29
+
30
+ // src/modules/textarea.props.ts
31
+ var textareaProps = {
32
+ modelValue: {
33
+ type: [String, Number]
34
+ },
35
+ id: {
36
+ type: [String]
37
+ },
38
+ placeholder: {
39
+ type: String
40
+ },
41
+ isReadOnly: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ isDisabled: {
46
+ type: Boolean,
47
+ default: false
48
+ },
49
+ isInvalid: {
50
+ type: Boolean,
51
+ default: false
52
+ },
53
+ isRequired: {
54
+ type: Boolean,
55
+ default: false
56
+ },
57
+ isFullWidth: {
58
+ type: Boolean,
59
+ default: true
60
+ },
61
+ ariaLabel: {
62
+ type: String
63
+ },
64
+ ariaLabelledBy: {
65
+ type: String
66
+ }
67
+ };
68
+ var textareaEmits = ["update:modelValue", "change", "input"];
69
+
70
+ // src/modules/textarea.hooks.ts
71
+ var import_vue = require("vue");
72
+ var import_recipes = require("@mekari/pixel3-styled-system/recipes");
73
+ var import_pixel3_utils = require("@mekari/pixel3-utils");
74
+ function useTextarea(props, emit) {
75
+ const rootAttrs = (0, import_vue.computed)(() => {
76
+ return {
77
+ "data-pixel-component": "MpTextarea",
78
+ class: (0, import_recipes.textareaRecipe)(),
79
+ id: props.id || (0, import_pixel3_utils.useId)(4),
80
+ placeholder: props.placeholder,
81
+ disabled: props.isDisabled,
82
+ readonly: props.isReadOnly,
83
+ "aria-label": props.ariaLabel,
84
+ "aria-labelledby": props.ariaLabel,
85
+ "data-fullwidth": props.isFullWidth || void 0,
86
+ onInput: (e) => {
87
+ const target = e.target;
88
+ emit("input", e, target.value);
89
+ emit("change", e, target.value);
90
+ emit("update:modelValue", target.value);
91
+ }
92
+ };
93
+ });
94
+ return {
95
+ rootAttrs
96
+ };
97
+ }
98
+ __name(useTextarea, "useTextarea");
99
+
100
+ // src/textarea.tsx
101
+ var MpTextarea = (0, import_vue3.defineComponent)({
102
+ name: "MpTextarea",
103
+ props: textareaProps,
104
+ emits: textareaEmits,
105
+ setup(props, {
106
+ emit
107
+ }) {
108
+ const {
109
+ rootAttrs
110
+ } = useTextarea(props, emit);
111
+ return () => {
112
+ return (0, import_vue2.createVNode)("textarea", rootAttrs.value, null);
113
+ };
114
+ }
115
+ });
116
+ // Annotate the CommonJS export names for ESM import in node:
117
+ 0 && (module.exports = {
118
+ MpTextarea
119
+ });
@@ -0,0 +1,9 @@
1
+ import {
2
+ MpTextarea
3
+ } from "./chunk-JCW6GRGD.mjs";
4
+ import "./chunk-HKSNK6BO.mjs";
5
+ import "./chunk-EAK7LYJG.mjs";
6
+ import "./chunk-QZ7VFGWC.mjs";
7
+ export {
8
+ MpTextarea
9
+ };
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@mekari/pixel3-textarea",
3
+ "version": "0.0.0",
4
+ "main": "dist/index.js",
5
+ "license": "MIT",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "dependencies": {
10
+ "@xstate/vue": "2.0.0",
11
+ "xstate": "4.35.0",
12
+ "@mekari/pixel3-styled-system": "0.0.0",
13
+ "@mekari/pixel3-utils": "0.0.0"
14
+ },
15
+ "peerDependencies": {
16
+ "vue": "^3.3.7"
17
+ },
18
+ "devDependencies": {
19
+ "vue": "^3.3.7"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "module": "dist/index.mjs",
25
+ "types": "dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "require": "./dist/index.js",
30
+ "default": "./dist/index.mjs"
31
+ }
32
+ },
33
+ "scripts": {
34
+ "clean": "rimraf dist .turbo",
35
+ "build": "tsup && pnpm build:types",
36
+ "build:fast": "tsup",
37
+ "build:types": "tsup src --dts-only",
38
+ "build:external": "tsup src/index.tsx --external @acme-org/styled-system",
39
+ "types:check": "tsc --noEmit",
40
+ "replace-config": "clean-package",
41
+ "restore-config": "clean-package restore"
42
+ }
43
+ }