@phila/phila-ui-textarea 0.0.1

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 ADDED
@@ -0,0 +1,16 @@
1
+ # Textarea component
2
+
3
+ ## Create a new local build
4
+
5
+ In src/components/COMPONENT_NAME:
6
+
7
+ ```
8
+ npm run build
9
+ npm pack
10
+ ```
11
+
12
+ copy .tgz file to project and run:
13
+
14
+ ```
15
+ npm install COMPONENT_NAME*.tgz
16
+ ```
@@ -0,0 +1 @@
1
+ @font-face{font-family:Montserrat;src:local("Montserrat Regular"),local("Montserrat-Regular"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Regular.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Regular.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Italic.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Italic.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-BoldItalic.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Bold.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Bold.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans SemiBold Italic"),local("OpenSans-SemiBoldItalic"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBoldItalic.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBoldItalic.woff) format("woff");font-weight:600;font-style:italic}@font-face{font-family:Open Sans;src:local("Open Sans SemiBold"),local("OpenSans-SemiBold"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBold.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBold.woff) format("woff");font-weight:600;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Regular.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Regular.woff) format("woff");font-weight:400;font-style:normal}textarea[data-v-3a01cc14]::-webkit-input-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]::-moz-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]:-moz-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]:-ms-input-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]::placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]:focus::-webkit-input-placeholder{color:transparent}textarea[data-v-3a01cc14]:focus:-moz-placeholder{color:transparent}textarea[data-v-3a01cc14]:focus::-moz-placeholder{color:transparent}textarea[data-v-3a01cc14]:focus:-ms-input-placeholder{color:transparent}.input-textarea.inner-label textarea[data-v-3a01cc14]::-webkit-input-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]::-moz-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]:-moz-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]:-ms-input-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]::placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label .textarea+label[data-v-3a01cc14]{opacity:0;z-index:-1}.input-textarea.inner-label .textarea[data-v-3a01cc14]:not(:placeholder-shown),.input-textarea.inner-label .textarea[data-v-3a01cc14]:focus{padding:1.5rem 1rem 0 .75rem}.input-textarea.inner-label .textarea:not(:placeholder-shown)+label[data-v-3a01cc14],.input-textarea.inner-label .textarea:focus+label[data-v-3a01cc14]{opacity:1;z-index:1}.input-textarea.inner-label .textarea[data-v-3a01cc14]:not(:-ms-input-placeholder){padding:1.5rem 1rem 0 .75rem}.input-textarea.inner-label .textarea:not(:-ms-input-placeholder)+label[data-v-3a01cc14]{opacity:1;z-index:1}
@@ -0,0 +1,62 @@
1
+ import PhilaUICore from "@phila/phila-ui-core";
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PhilaUICore.InputProps & PhilaUICore.TextboxProps>, {
3
+ id: string;
4
+ errors(): never[];
5
+ label: string;
6
+ desc: string;
7
+ placeholder: string;
8
+ type: string;
9
+ modelValue: string;
10
+ icon: string;
11
+ isLoading: boolean;
12
+ innerLabel: boolean;
13
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ [x: string]: (...args: unknown[]) => void;
15
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PhilaUICore.InputProps & PhilaUICore.TextboxProps>, {
16
+ id: string;
17
+ errors(): never[];
18
+ label: string;
19
+ desc: string;
20
+ placeholder: string;
21
+ type: string;
22
+ modelValue: string;
23
+ icon: string;
24
+ isLoading: boolean;
25
+ innerLabel: boolean;
26
+ }>>>, {
27
+ id: string;
28
+ errors: PhilaUICore.InputErrors;
29
+ label: string;
30
+ desc: string;
31
+ placeholder: string;
32
+ type: string;
33
+ modelValue: string | number;
34
+ icon: string;
35
+ isLoading: boolean;
36
+ innerLabel: boolean;
37
+ }, {}>, {
38
+ desc?(_: {}): any;
39
+ }>;
40
+ export default _default;
41
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
42
+ type __VLS_TypePropsToRuntimeProps<T> = {
43
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
44
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
45
+ } : {
46
+ type: import('vue').PropType<T[K]>;
47
+ required: true;
48
+ };
49
+ };
50
+ type __VLS_WithDefaults<P, D> = {
51
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
52
+ default: D[K];
53
+ }> : P[K];
54
+ };
55
+ type __VLS_Prettify<T> = {
56
+ [K in keyof T]: T[K];
57
+ } & {};
58
+ type __VLS_WithTemplateSlots<T, S> = T & {
59
+ new (): {
60
+ $slots: S;
61
+ };
62
+ };
@@ -0,0 +1,88 @@
1
+ import "./TextArea.css";
2
+ import { defineComponent as y, getCurrentInstance as I, openBlock as s, createElementBlock as a, normalizeClass as g, unref as t, createElementVNode as l, toDisplayString as i, createCommentVNode as u, mergeProps as k, Fragment as $, renderSlot as C, pushScopeId as S, popScopeId as B } from "vue";
3
+ import V from "@phila/phila-ui-core";
4
+ const L = (o) => (S("data-v-3a01cc14"), o = o(), B(), o), P = { class: "field" }, T = ["for"], A = { class: "control" }, w = ["id", "value", "placeholder"], x = ["for"], D = {
5
+ key: 1,
6
+ class: "supplemental-text"
7
+ }, E = {
8
+ key: 0,
9
+ class: "supplemental-text"
10
+ }, K = {
11
+ key: 0,
12
+ class: "input-error-msg"
13
+ }, N = /* @__PURE__ */ L(() => /* @__PURE__ */ l("span", { class: "icon" }, [
14
+ /* @__PURE__ */ l("i", { class: "fas fa-exclamation-circle" })
15
+ ], -1)), q = () => Math.random().toString(36).substring(2, 9), z = {
16
+ inheritAttrs: !1
17
+ }, F = /* @__PURE__ */ y({
18
+ ...z,
19
+ __name: "TextArea",
20
+ props: {
21
+ id: { default: q() },
22
+ errors: { default() {
23
+ return [];
24
+ } },
25
+ optgroup: { type: Boolean },
26
+ options: {},
27
+ textKey: {},
28
+ valueKey: {},
29
+ imaskProps: {},
30
+ label: { default: "" },
31
+ desc: { default: "" },
32
+ placeholder: { default: "" },
33
+ type: { default: "text" },
34
+ modelValue: { default: "" },
35
+ icon: { default: "" },
36
+ isLoading: { type: Boolean, default: !1 },
37
+ innerLabel: { type: Boolean, default: !0 }
38
+ },
39
+ emits: ["update:modelValue", "input"],
40
+ setup(o, { emit: p }) {
41
+ const { formHelpers: r } = V, n = o, c = p, h = I(), { error: m, classes: v } = r.useInput.useInputComposable(
42
+ h,
43
+ n
44
+ ), { defaultPlaceholder: d, onInput: f } = r.useTextbox.useTextboxComposable(c, n);
45
+ return (e, _) => (s(), a("div", {
46
+ class: g(["input-wrap input-textarea", t(v)])
47
+ }, [
48
+ l("div", P, [
49
+ e.innerLabel ? u("", !0) : (s(), a("label", {
50
+ key: 0,
51
+ for: `ta-${e.id}`
52
+ }, i(e.label), 9, T)),
53
+ l("div", A, [
54
+ l("textarea", k({
55
+ id: `ta-${e.id}`,
56
+ class: "textarea"
57
+ }, e.$attrs, {
58
+ value: e.modelValue,
59
+ placeholder: e.$attrs.required !== void 0 && t(d) !== "" ? `${t(d)} *` : t(d),
60
+ onInput: _[0] || (_[0] = //@ts-ignore
61
+ (...b) => t(f) && t(f)(...b))
62
+ }), null, 16, w),
63
+ e.innerLabel ? (s(), a("label", {
64
+ key: 0,
65
+ for: `ta-${e.id}`
66
+ }, i(e.label ? e.label : t(d)), 9, x)) : u("", !0),
67
+ e.desc ? (s(), a("div", D, i(e.desc), 1)) : (s(), a($, { key: 2 }, [
68
+ e.$slots.desc ? (s(), a("div", E, [
69
+ C(e.$slots, "desc", {}, void 0, !0)
70
+ ])) : u("", !0)
71
+ ], 64))
72
+ ])
73
+ ]),
74
+ t(m) ? (s(), a("div", K, [
75
+ N,
76
+ l("span", null, i(t(m)), 1)
77
+ ])) : u("", !0)
78
+ ], 2));
79
+ }
80
+ }), H = (o, p) => {
81
+ const r = o.__vccOpts || o;
82
+ for (const [n, c] of p)
83
+ r[n] = c;
84
+ return r;
85
+ }, j = /* @__PURE__ */ H(F, [["__scopeId", "data-v-3a01cc14"]]);
86
+ export {
87
+ j as default
88
+ };
@@ -0,0 +1,2 @@
1
+ (function(t,o){typeof exports=="object"&&typeof module<"u"?module.exports=o(require("vue"),require("@phila/phila-ui-core")):typeof define=="function"&&define.amd?define(["vue","@phila/phila-ui-core"],o):(t=typeof globalThis<"u"?globalThis:t||self,t.TextArea=o(t.Vue,t.PhilaUICore))})(this,function(t,o){"use strict";var p=document.createElement("style");p.textContent=`@font-face{font-family:Montserrat;src:local("Montserrat Regular"),local("Montserrat-Regular"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Regular.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Regular.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Italic.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Italic.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-BoldItalic.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Bold.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/Montserrat/Montserrat-Bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Bold.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans SemiBold Italic"),local("OpenSans-SemiBoldItalic"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBoldItalic.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBoldItalic.woff) format("woff");font-weight:600;font-style:italic}@font-face{font-family:Open Sans;src:local("Open Sans SemiBold"),local("OpenSans-SemiBold"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBold.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-SemiBold.woff) format("woff");font-weight:600;font-style:normal}@font-face{font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Regular.woff2) format("woff2"),url(https://www.phila.gov/assets/fonts/OpenSans/OpenSans-Regular.woff) format("woff");font-weight:400;font-style:normal}textarea[data-v-3a01cc14]::-webkit-input-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]::-moz-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]:-moz-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]:-ms-input-placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]::placeholder{color:#a1a1a1!important;opacity:1!important}textarea[data-v-3a01cc14]:focus::-webkit-input-placeholder{color:transparent}textarea[data-v-3a01cc14]:focus:-moz-placeholder{color:transparent}textarea[data-v-3a01cc14]:focus::-moz-placeholder{color:transparent}textarea[data-v-3a01cc14]:focus:-ms-input-placeholder{color:transparent}.input-textarea.inner-label textarea[data-v-3a01cc14]::-webkit-input-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]::-moz-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]:-moz-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]:-ms-input-placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label textarea[data-v-3a01cc14]::placeholder{color:#444!important;opacity:1!important}.input-textarea.inner-label .textarea+label[data-v-3a01cc14]{opacity:0;z-index:-1}.input-textarea.inner-label .textarea[data-v-3a01cc14]:not(:placeholder-shown),.input-textarea.inner-label .textarea[data-v-3a01cc14]:focus{padding:1.5rem 1rem 0 .75rem}.input-textarea.inner-label .textarea:not(:placeholder-shown)+label[data-v-3a01cc14],.input-textarea.inner-label .textarea:focus+label[data-v-3a01cc14]{opacity:1;z-index:1}.input-textarea.inner-label .textarea[data-v-3a01cc14]:not(:-ms-input-placeholder){padding:1.5rem 1rem 0 .75rem}.input-textarea.inner-label .textarea:not(:-ms-input-placeholder)+label[data-v-3a01cc14]{opacity:1;z-index:1}
2
+ `,document.head.appendChild(p);const m=e=>(t.pushScopeId("data-v-3a01cc14"),e=e(),t.popScopeId(),e),w={class:"field"},h=["for"],u={class:"control"},S=["id","value","placeholder"],y=["for"],g={key:1,class:"supplemental-text"},x={key:0,class:"supplemental-text"},O={key:0,class:"input-error-msg"},B=m(()=>t.createElementVNode("span",{class:"icon"},[t.createElementVNode("i",{class:"fas fa-exclamation-circle"})],-1)),b=()=>Math.random().toString(36).substring(2,9),k={inheritAttrs:!1},_=t.defineComponent({...k,__name:"TextArea",props:{id:{default:b()},errors:{default(){return[]}},optgroup:{type:Boolean},options:{},textKey:{},valueKey:{},imaskProps:{},label:{default:""},desc:{default:""},placeholder:{default:""},type:{default:"text"},modelValue:{default:""},icon:{default:""},isLoading:{type:Boolean,default:!1},innerLabel:{type:Boolean,default:!0}},emits:["update:modelValue","input"],setup(e,{emit:s}){const{formHelpers:n}=o,l=e,c=s,I=t.getCurrentInstance(),{error:i,classes:M}=n.useInput.useInputComposable(I,l),{defaultPlaceholder:r,onInput:f}=n.useTextbox.useTextboxComposable(c,l);return(a,d)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["input-wrap input-textarea",t.unref(M)])},[t.createElementVNode("div",w,[a.innerLabel?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("label",{key:0,for:`ta-${a.id}`},t.toDisplayString(a.label),9,h)),t.createElementVNode("div",u,[t.createElementVNode("textarea",t.mergeProps({id:`ta-${a.id}`,class:"textarea"},a.$attrs,{value:a.modelValue,placeholder:a.$attrs.required!==void 0&&t.unref(r)!==""?`${t.unref(r)} *`:t.unref(r),onInput:d[0]||(d[0]=(...E)=>t.unref(f)&&t.unref(f)(...E))}),null,16,S),a.innerLabel?(t.openBlock(),t.createElementBlock("label",{key:0,for:`ta-${a.id}`},t.toDisplayString(a.label?a.label:t.unref(r)),9,y)):t.createCommentVNode("",!0),a.desc?(t.openBlock(),t.createElementBlock("div",g,t.toDisplayString(a.desc),1)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[a.$slots.desc?(t.openBlock(),t.createElementBlock("div",x,[t.renderSlot(a.$slots,"desc",{},void 0,!0)])):t.createCommentVNode("",!0)],64))])]),t.unref(i)?(t.openBlock(),t.createElementBlock("div",O,[B,t.createElementVNode("span",null,t.toDisplayString(t.unref(i)),1)])):t.createCommentVNode("",!0)],2))}});return((e,s)=>{const n=e.__vccOpts||e;for(const[l,c]of s)n[l]=c;return n})(_,[["__scopeId","data-v-3a01cc14"]])});
@@ -0,0 +1,6 @@
1
+ import TextArea from 'TextArea.vue';
2
+ declare module '@vue/runtime-core' {
3
+ interface GlobalComponents {
4
+ TextArea: typeof TextArea;
5
+ }
6
+ }
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@phila/phila-ui-textarea",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "type": "module",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "main": "./dist/textarea.umd.cjs",
10
+ "module": "./dist/textarea.js",
11
+ "types": "./dist/types.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": {
15
+ "types": "./dist/types.d.ts",
16
+ "default": "./dist/textarea.js"
17
+ },
18
+ "require": "./dist/textarea.umd.cjs"
19
+ }
20
+ },
21
+ "scripts": {
22
+ "dev": "vite",
23
+ "prepublish": "npm i && npm run build",
24
+ "build": "vite build && vue-tsc --declaration --emitDeclarationOnly --outdir ./dist",
25
+ "preview": "vite preview"
26
+ },
27
+ "dependencies": {
28
+ "@phila/phila-ui-core": "1.0.12",
29
+ "bulma": "^0.9.4",
30
+ "vue": "^3.3.8"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^20.10.3",
34
+ "@vitejs/plugin-vue": "^4.5.0",
35
+ "sass": "^1.69.5",
36
+ "typescript": "^5.2.2",
37
+ "vite": "^5.0.0",
38
+ "vite-plugin-dts": "^3.6.4",
39
+ "vite-plugin-lib-inject-css": "^1.3.0",
40
+ "vue-tsc": "^1.8.22"
41
+ },
42
+ "publishConfig": {
43
+ "registry": "https://registry.npmjs.com/",
44
+ "access": "public"
45
+ },
46
+ "gitHead": "24a55656d994e2c54c353513e478fc74091bafc8"
47
+ }