@phila/phila-ui-core 2.2.1-beta.0 → 2.3.0-beta.2
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/dist/index.css +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +366 -19
- package/dist/styles/elements/buttons.css +37 -29
- package/dist/styles/elements/icons.css +20 -13
- package/dist/styles/generated/other.css +27 -37
- package/dist/styles/generated/primitives.css +39 -270
- package/dist/styles/generated/ramps.css +275 -0
- package/dist/styles/generated/schemes.css +15 -14
- package/dist/styles/generated/size.css +45 -0
- package/dist/styles/generated/typography.css +126 -84
- package/dist/styles/legacy.css +48 -27
- package/dist/styles/raw/PhilaUI 4.0-variables.css +569 -463
- package/dist/styles/tokens.css +19 -15
- package/dist/styles/typography.css +0 -7
- package/package.json +1 -16
- package/dist/BaseLink.css +0 -1
- package/dist/BaseLink.vue_vue_type_script_setup_true_lang-Db_46DbD.js +0 -228
- package/dist/BaseLink.vue_vue_type_script_setup_true_lang-om8rL4lD.cjs +0 -1
- package/dist/classNames-CcykAxZN.js +0 -6
- package/dist/classNames-GLLmlfI4.cjs +0 -1
- package/dist/collapse-ApWEJVnD.cjs +0 -1
- package/dist/collapse-BvsHwQBu.js +0 -74
- package/dist/components.d.ts +0 -278
- package/dist/components.js +0 -1
- package/dist/components.mjs +0 -9
- package/dist/composables.d.ts +0 -127
- package/dist/composables.js +0 -1
- package/dist/composables.mjs +0 -9
- package/dist/styles/generated/sizes.css +0 -44
- package/dist/useRouter-BVKwor6C.js +0 -50
- package/dist/useRouter-C4oT8vFk.cjs +0 -1
- package/dist/utils.d.ts +0 -112
- package/dist/utils.js +0 -1
- package/dist/utils.mjs +0 -20
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[data-v-caba8dd2]{color:red;font-size:12px}[data-v-00c91174]{font-weight:700}[data-v-751bf20e] input{border:solid 4px var(--color-primary)}[data-v-751bf20e] input.invalid{border:solid 4px var(--color-danger)}.phila-icon__svg[data-v-55074cbf] svg{display:block;width:100%;height:100%}.phila-icon__svg[data-v-55074cbf] svg path,.phila-icon__svg[data-v-55074cbf] svg circle,.phila-icon__svg[data-v-55074cbf] svg rect,.phila-icon__svg[data-v-55074cbf] svg polygon,.phila-icon__svg[data-v-55074cbf] svg ellipse,.phila-icon__svg[data-v-55074cbf] svg line,.phila-icon__svg[data-v-55074cbf] svg polyline{fill:currentColor}.phila-icon__svg[data-v-55074cbf] svg [stroke]{stroke:currentColor}
|
package/dist/index.d.ts
CHANGED
|
@@ -170,8 +170,10 @@ export declare const ActionContent: __VLS_WithTemplateSlots_3<typeof __VLS_compo
|
|
|
170
170
|
export declare interface ActionContentProps extends BaseIconProps {
|
|
171
171
|
iconRight?: boolean;
|
|
172
172
|
iconOnly?: boolean;
|
|
173
|
+
inline?: boolean;
|
|
173
174
|
text?: string;
|
|
174
175
|
size?: ComponentSize;
|
|
176
|
+
shadow?: boolean;
|
|
175
177
|
}
|
|
176
178
|
|
|
177
179
|
export declare interface BaseIconProps {
|
|
@@ -247,6 +249,8 @@ declare type IconBaseProps = BaseProps & BaseIconProps & {
|
|
|
247
249
|
inline?: boolean;
|
|
248
250
|
/** Icon style variant */
|
|
249
251
|
variant?: IconVariant;
|
|
252
|
+
/** Whether to apply a drop shadow to the icon */
|
|
253
|
+
shadow?: boolean;
|
|
250
254
|
};
|
|
251
255
|
|
|
252
256
|
/** Icon props with discriminated union to enforce accessibility */
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("vue"),F=require("@fortawesome/vue-fontawesome");function M(...n){return n.filter(Boolean).join(" ")}function W(n,t){let o;return(...l)=>{o!==void 0&&window.clearTimeout(o),o=window.setTimeout(()=>{n(...l)},t)}}function H(n="phila-ui-"){const t=new Uint8Array(16);crypto.getRandomValues(t);const o=Array.from(t,l=>l.toString(36)).join("").substring(0,12);return`${n}-${o}`}const q=e.ref("");function E(){return{inputValue:q,setInputValue:t=>{q.value=t}}}const r=e.reactive({validateOnBlur:!1,validateOnInput:!1,validateOnChange:!1,validateOnMount:!1,required:!1,isValid:!0,errors:[]}),{inputValue:S}=E();function w(n,t){return{init:()=>{n&&(r.validateOnBlur=n.validateOnBlur??!1,r.validateOnInput=n.validateOnInput??!1,r.validateOnChange=n.validateOnChange??!1,r.validateOnMount=n.validateOnMount??!1,r.validate=n.validate,r.required=n.required??!1,r.errors=n.errors||[])},validation:()=>{const a=Object.assign([],n?.errors||[]);if(r.required&&!S.value&&(r.isValid=!1,a.push("This field is required")),r.validate){const s=r.validate(S.value);typeof s=="string"?(r.isValid=!1,a.push(s)):Array.isArray(s)?(r.isValid=!1,a.push(...s)):r.isValid=!0}r.errors=a,a.length>0?(r.isValid=!1,t?.("error",a)):r.isValid=!0},isValid:e.computed(()=>r.isValid),errors:e.computed(()=>r.errors)}}const U={key:0,class:"input-errors"},K=e.defineComponent({__name:"ErrorList",props:{errors:{},validateOnBlur:{type:Boolean},validateOnInput:{type:Boolean},validateOnChange:{type:Boolean},validateOnMount:{type:Boolean},validate:{type:Function},required:{type:Boolean}},setup(n){const{errors:t,isValid:o}=w(),l=n,a=e.computed(()=>Object.assign([],t.value,l.errors||[]));return(s,m)=>!e.unref(o)&&a.value?.length?(e.openBlock(),e.createElementBlock("div",U,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(c,d)=>(e.openBlock(),e.createElementBlock("li",{key:d},e.toDisplayString(c),1))),128))])])):e.createCommentVNode("",!0)}}),_=(n,t)=>{const o=n.__vccOpts||n;for(const[l,a]of t)o[l]=a;return o},N=_(K,[["__scopeId","data-v-caba8dd2"]]),G=["for"],J={key:0,class:"required"},Q=e.defineComponent({__name:"InputLabel",props:{id:{},required:{type:Boolean}},setup(n){return(t,o)=>(e.openBlock(),e.createElementBlock("label",{class:"input-label",for:n.id},[e.renderSlot(t.$slots,"default",{},void 0,!0),n.required?(e.openBlock(),e.createElementBlock("span",J,"*")):e.createCommentVNode("",!0)],8,G))}}),A=_(Q,[["__scopeId","data-v-00c91174"]]),X=e.defineComponent({inheritAttrs:!1,__name:"InputWrap",props:{id:{},name:{},placeholder:{},label:{},icon:{},required:{type:Boolean},errors:{},validateOnBlur:{type:Boolean},validateOnInput:{type:Boolean},validateOnChange:{type:Boolean},validateOnMount:{type:Boolean},validate:{type:Function},className:{}},emits:["update:modelValue","input","change","focus","blur","keydown","keyup","keypress","error"],setup(n,{emit:t}){const{setInputValue:o}=E(),l=e.ref(""),a=n,s=t,{init:m,isValid:c,validation:d}=w({validateOnMount:a.validateOnMount??!0,validateOnInput:a.validateOnInput??!0,validateOnBlur:a.validateOnBlur??!0,validateOnChange:a.validateOnChange??!0,required:a.required??!1,errors:a.errors||[],validate:a.validate},s),p=e.computed(()=>({invalid:!c.value})),C=B=>(l.value=B.target.value,s("update:modelValue",l.value),s("input",l.value),o(l.value),a.validateOnInput&&d(),l.value),b=()=>{a.validateOnBlur&&d(),s("blur")},O=()=>{s("focus")};return e.onBeforeMount(()=>{m()}),e.onMounted(()=>{a.validateOnMount&&d()}),(B,T)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input-wrap",{hasError:!e.unref(c)}])},[a.label?(e.openBlock(),e.createBlock(A,{key:0,id:a.id,required:a.required},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),_:1},8,["id","required"])):e.createCommentVNode("",!0),e.renderSlot(B.$slots,"default",e.normalizeProps(e.guardReactiveProps({inputValue:l.value,onBlur:b,onFocus:O,onInput:C,isValid:e.unref(c),inputClasses:p.value})),void 0,!0),e.createVNode(N)],2))}}),Y=_(X,[["__scopeId","data-v-751bf20e"]]),Z=["innerHTML"],ee=["src","alt"],te=e.defineComponent({__name:"Icon",props:{className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{},variant:{},size:{default:"small"},inline:{type:Boolean},shadow:{type:Boolean},decorative:{type:Boolean},ariaLabel:{}},setup(n){const t=n,o=e.computed(()=>M("phila-icon",t.size&&`phila-icon--${t.size}`,t.inline&&"phila-icon--inline",t.variant&&t.variant!=="default"&&`phila-icon--${t.variant}`,t.shadow&&"phila-icon--shadow",t.className)),l=e.computed(()=>t.decorative?{"aria-hidden":!0}:{"aria-label":t.ariaLabel,role:"img"});return(a,s)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({class:o.value},l.value),[t.iconDefinition?(e.openBlock(),e.createBlock(e.unref(F.FontAwesomeIcon),{key:0,icon:t.iconDefinition},null,8,["icon"])):t.iconClass?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(`fa fa-${t.iconClass}`)},null,2)):t.svgRaw?(e.openBlock(),e.createElementBlock("span",{key:2,class:"phila-icon__svg",innerHTML:t.svgRaw},null,8,Z)):t.src?(e.openBlock(),e.createElementBlock("img",{key:3,src:t.src,alt:t.decorative?"":t.ariaLabel||"Icon"},null,8,ee)):e.createCommentVNode("",!0)],16))}}),V=_(te,[["__scopeId","data-v-55074cbf"]]),ne={key:1},ae=e.defineComponent({__name:"ActionContent",props:{iconRight:{type:Boolean,default:!1},iconOnly:{type:Boolean,default:!1},inline:{type:Boolean},text:{default:void 0},size:{default:void 0},shadow:{type:Boolean},iconDefinition:{},iconClass:{},src:{},svgRaw:{},variant:{}},setup(n){const t=n,o=e.computed(()=>t.iconDefinition||t.iconClass||t.src||t.svgRaw),l=e.computed(()=>({iconDefinition:t.iconDefinition,iconClass:t.iconClass,src:t.src,svgRaw:t.svgRaw,size:t.iconOnly?t.size:void 0,decorative:!0,class:"icon",inline:t.inline??!t.iconOnly,shadow:t.shadow}));return(a,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o.value&&!t.iconRight?(e.openBlock(),e.createBlock(V,e.normalizeProps(e.mergeProps({key:0},l.value)),null,16)):e.createCommentVNode("",!0),t.iconOnly?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ne,[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)])])),o.value&&t.iconRight?(e.openBlock(),e.createBlock(V,e.normalizeProps(e.mergeProps({key:2},l.value)),null,16)):e.createCommentVNode("",!0)],64))}}),L=n=>"to"in n&&n.to!==void 0;function D(){const n=e.inject("router",null),t=e.computed(()=>n!==null);return{router:n,hasRouter:t}}const oe=e.defineComponent({__name:"BaseLink",props:{to:{},href:{},target:{},rel:{},disabled:{type:Boolean},ariaLabel:{},className:{}},setup(n){const t=n,{hasRouter:o}=D(),l=e.computed(()=>L(t)&&o.value?e.resolveComponent("RouterLink"):"a"),a=e.computed(()=>L(t)?{to:t.disabled?void 0:t.to,...t.disabled&&{"aria-disabled":"true"},...t.ariaLabel&&{"aria-label":t.ariaLabel}}:{href:t.disabled?void 0:t.href,...t.target&&{target:t.target},...t.rel&&{rel:t.rel},...t.disabled&&{"aria-disabled":"true"},...t.ariaLabel&&{"aria-label":t.ariaLabel}});return(s,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),e.mergeProps({class:n.className},a.value),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16,["class"]))}}),v=e.ref({}),f=e.ref(),h=400,I=e.ref(null);function le(n){const t=n?.group??"global",o=(i,u)=>{v.value[t][i]=u},l=(i,u)=>{v.value[t]={[i]:u}},a=i=>v.value[t][i]??!1,s=i=>{o(i,!a(i))},m=i=>{l(i,!a(i))},c=()=>{v.value[t]={}},d=i=>{i.key==="Escape"&&(o(n.id,!1),g())},p=i=>{if(!n)return;const u=i.target,[y]=Object.keys(v.value[t]).filter(j=>v.value[t][j]===!0),k=document.getElementById(y),P=document.querySelector(`[aria-controls="${y}"]`),x=u.getAttribute("aria-controls")===y||P?.contains(i.target);k&&!k.contains(u)&&!x&&(o(n.id,!1),g())},C=()=>{n&&(f.value=setTimeout(()=>{o(n.id,!1),g()},h))},b=()=>{n&&n.mouseOverToggle===!0&&(I.value=n.id,f.value=setTimeout(()=>{$()},h))},O=()=>{n&&n.mouseOverToggle===!0&&(I.value=null,clearTimeout(f.value),f.value=setTimeout(()=>{I.value!==n.id&&(o(n.id,!1),g())},h))},B=i=>{if(!n)return;const{relatedTarget:u}=i;if(!u||u.getAttribute("aria-controls")===n.id)return;const k=document.getElementById(n.id);k&&k.contains(u)||(clearTimeout(f.value),f.value=setTimeout(()=>{n.openSingle?l(n.id,!1):o(n.id,!1),g()},h))},T=()=>{n&&(n.outsideClickClose&&(document.addEventListener("click",p),document.addEventListener("touchend",p)),n.escapeKeyClose&&document.addEventListener("keydown",d))},g=()=>{document.removeEventListener("click",p),document.removeEventListener("touchend",p),document.removeEventListener("keydown",d),document.removeEventListener("scroll",C)},R=i=>{n&&(i?.preventDefault(),clearTimeout(f.value),T())},z=i=>{n&&(R(i),n.openSingle?m(n.id):s(n.id))},$=i=>{n&&(R(i),n.openSingle?l(n.id,!0):o(n.id,!0))};return e.onBeforeMount(()=>{v.value[t]||c()}),e.onUnmounted(()=>{g()}),{state:v,timeout:f,toggle:s,toggleSingle:m,setCollapsed:o,setSingleCollapsed:l,isCollapsed:a,reset:c,onMouseEnter:b,onMouseLeave:O,focusChange:B,onClickToggle:z,onClickOpen:$}}exports.ActionContent=ae;exports.BaseLink=oe;exports.ErrorList=N;exports.Icon=V;exports.InputLabel=A;exports.InputWrap=Y;exports.cn=M;exports.debounce=W;exports.generateRandomId=H;exports.isRouterLink=L;exports.useCollapse=le;exports.useInput=E;exports.useRouter=D;exports.useValidation=w;
|
package/dist/index.mjs
CHANGED
|
@@ -1,21 +1,368 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { ref as k, reactive as te, computed as c, defineComponent as O, createElementBlock as u, createCommentVNode as y, unref as V, openBlock as s, createElementVNode as ne, Fragment as H, renderList as ae, toDisplayString as D, renderSlot as T, onBeforeMount as U, onMounted as ie, normalizeClass as W, createBlock as C, createVNode as le, withCtx as K, createTextVNode as G, normalizeProps as A, guardReactiveProps as oe, mergeProps as w, inject as re, resolveComponent as se, resolveDynamicComponent as ue, onUnmounted as ce } from "vue";
|
|
2
|
+
import { FontAwesomeIcon as de } from "@fortawesome/vue-fontawesome";
|
|
3
|
+
import './index.css';function ve(...t) {
|
|
4
|
+
return t.filter(Boolean).join(" ");
|
|
5
|
+
}
|
|
6
|
+
function we(t, e) {
|
|
7
|
+
let a;
|
|
8
|
+
return (...i) => {
|
|
9
|
+
a !== void 0 && window.clearTimeout(a), a = window.setTimeout(() => {
|
|
10
|
+
t(...i);
|
|
11
|
+
}, e);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function Te(t = "phila-ui-") {
|
|
15
|
+
const e = new Uint8Array(16);
|
|
16
|
+
crypto.getRandomValues(e);
|
|
17
|
+
const a = Array.from(e, (i) => i.toString(36)).join("").substring(0, 12);
|
|
18
|
+
return `${t}-${a}`;
|
|
19
|
+
}
|
|
20
|
+
const z = k("");
|
|
21
|
+
function J() {
|
|
22
|
+
return {
|
|
23
|
+
inputValue: z,
|
|
24
|
+
setInputValue: (e) => {
|
|
25
|
+
z.value = e;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const o = te({
|
|
30
|
+
validateOnBlur: !1,
|
|
31
|
+
validateOnInput: !1,
|
|
32
|
+
validateOnChange: !1,
|
|
33
|
+
validateOnMount: !1,
|
|
34
|
+
required: !1,
|
|
35
|
+
isValid: !0,
|
|
36
|
+
errors: []
|
|
37
|
+
}), { inputValue: j } = J();
|
|
38
|
+
function Q(t, e) {
|
|
39
|
+
return {
|
|
40
|
+
init: () => {
|
|
41
|
+
t && (o.validateOnBlur = t.validateOnBlur ?? !1, o.validateOnInput = t.validateOnInput ?? !1, o.validateOnChange = t.validateOnChange ?? !1, o.validateOnMount = t.validateOnMount ?? !1, o.validate = t.validate, o.required = t.required ?? !1, o.errors = t.errors || []);
|
|
42
|
+
},
|
|
43
|
+
validation: () => {
|
|
44
|
+
const n = Object.assign([], t?.errors || []);
|
|
45
|
+
if (o.required && !j.value && (o.isValid = !1, n.push("This field is required")), o.validate) {
|
|
46
|
+
const r = o.validate(j.value);
|
|
47
|
+
typeof r == "string" ? (o.isValid = !1, n.push(r)) : Array.isArray(r) ? (o.isValid = !1, n.push(...r)) : o.isValid = !0;
|
|
48
|
+
}
|
|
49
|
+
o.errors = n, n.length > 0 ? (o.isValid = !1, e?.("error", n)) : o.isValid = !0;
|
|
50
|
+
},
|
|
51
|
+
isValid: c(() => o.isValid),
|
|
52
|
+
errors: c(() => o.errors)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const fe = {
|
|
56
|
+
key: 0,
|
|
57
|
+
class: "input-errors"
|
|
58
|
+
}, me = /* @__PURE__ */ O({
|
|
59
|
+
__name: "ErrorList",
|
|
60
|
+
props: {
|
|
61
|
+
errors: {},
|
|
62
|
+
validateOnBlur: { type: Boolean },
|
|
63
|
+
validateOnInput: { type: Boolean },
|
|
64
|
+
validateOnChange: { type: Boolean },
|
|
65
|
+
validateOnMount: { type: Boolean },
|
|
66
|
+
validate: { type: Function },
|
|
67
|
+
required: { type: Boolean }
|
|
68
|
+
},
|
|
69
|
+
setup(t) {
|
|
70
|
+
const { errors: e, isValid: a } = Q(), i = t, n = c(() => Object.assign([], e.value, i.errors || []));
|
|
71
|
+
return (r, h) => !V(a) && n.value?.length ? (s(), u("div", fe, [
|
|
72
|
+
ne("ul", null, [
|
|
73
|
+
(s(!0), u(H, null, ae(n.value, (v, f) => (s(), u("li", { key: f }, D(v), 1))), 128))
|
|
74
|
+
])
|
|
75
|
+
])) : y("", !0);
|
|
76
|
+
}
|
|
77
|
+
}), $ = (t, e) => {
|
|
78
|
+
const a = t.__vccOpts || t;
|
|
79
|
+
for (const [i, n] of e)
|
|
80
|
+
a[i] = n;
|
|
81
|
+
return a;
|
|
82
|
+
}, ge = /* @__PURE__ */ $(me, [["__scopeId", "data-v-caba8dd2"]]), ye = ["for"], he = {
|
|
83
|
+
key: 0,
|
|
84
|
+
class: "required"
|
|
85
|
+
}, _e = /* @__PURE__ */ O({
|
|
86
|
+
__name: "InputLabel",
|
|
87
|
+
props: {
|
|
88
|
+
id: {},
|
|
89
|
+
required: { type: Boolean }
|
|
90
|
+
},
|
|
91
|
+
setup(t) {
|
|
92
|
+
return (e, a) => (s(), u("label", {
|
|
93
|
+
class: "input-label",
|
|
94
|
+
for: t.id
|
|
95
|
+
}, [
|
|
96
|
+
T(e.$slots, "default", {}, void 0, !0),
|
|
97
|
+
t.required ? (s(), u("span", he, "*")) : y("", !0)
|
|
98
|
+
], 8, ye));
|
|
99
|
+
}
|
|
100
|
+
}), pe = /* @__PURE__ */ $(_e, [["__scopeId", "data-v-00c91174"]]), Oe = /* @__PURE__ */ O({
|
|
101
|
+
inheritAttrs: !1,
|
|
102
|
+
__name: "InputWrap",
|
|
103
|
+
props: {
|
|
104
|
+
id: {},
|
|
105
|
+
name: {},
|
|
106
|
+
placeholder: {},
|
|
107
|
+
label: {},
|
|
108
|
+
icon: {},
|
|
109
|
+
required: { type: Boolean },
|
|
110
|
+
errors: {},
|
|
111
|
+
validateOnBlur: { type: Boolean },
|
|
112
|
+
validateOnInput: { type: Boolean },
|
|
113
|
+
validateOnChange: { type: Boolean },
|
|
114
|
+
validateOnMount: { type: Boolean },
|
|
115
|
+
validate: { type: Function },
|
|
116
|
+
className: {}
|
|
117
|
+
},
|
|
118
|
+
emits: ["update:modelValue", "input", "change", "focus", "blur", "keydown", "keyup", "keypress", "error"],
|
|
119
|
+
setup(t, { emit: e }) {
|
|
120
|
+
const { setInputValue: a } = J(), i = k(""), n = t, r = e, { init: h, isValid: v, validation: f } = Q(
|
|
121
|
+
{
|
|
122
|
+
validateOnMount: n.validateOnMount ?? !0,
|
|
123
|
+
validateOnInput: n.validateOnInput ?? !0,
|
|
124
|
+
validateOnBlur: n.validateOnBlur ?? !0,
|
|
125
|
+
validateOnChange: n.validateOnChange ?? !0,
|
|
126
|
+
required: n.required ?? !1,
|
|
127
|
+
errors: n.errors || [],
|
|
128
|
+
validate: n.validate
|
|
129
|
+
},
|
|
130
|
+
r
|
|
131
|
+
), _ = c(() => ({
|
|
132
|
+
invalid: !v.value
|
|
133
|
+
})), R = (b) => (i.value = b.target.value, r("update:modelValue", i.value), r("input", i.value), a(i.value), n.validateOnInput && f(), i.value), E = () => {
|
|
134
|
+
n.validateOnBlur && f(), r("blur");
|
|
135
|
+
}, q = () => {
|
|
136
|
+
r("focus");
|
|
137
|
+
};
|
|
138
|
+
return U(() => {
|
|
139
|
+
h();
|
|
140
|
+
}), ie(() => {
|
|
141
|
+
n.validateOnMount && f();
|
|
142
|
+
}), (b, S) => (s(), u("div", {
|
|
143
|
+
class: W(["input-wrap", { hasError: !V(v) }])
|
|
144
|
+
}, [
|
|
145
|
+
n.label ? (s(), C(pe, {
|
|
146
|
+
key: 0,
|
|
147
|
+
id: n.id,
|
|
148
|
+
required: n.required
|
|
149
|
+
}, {
|
|
150
|
+
default: K(() => [
|
|
151
|
+
G(D(n.label), 1)
|
|
152
|
+
]),
|
|
153
|
+
_: 1
|
|
154
|
+
}, 8, ["id", "required"])) : y("", !0),
|
|
155
|
+
T(b.$slots, "default", A(oe({ inputValue: i.value, onBlur: E, onFocus: q, onInput: R, isValid: V(v), inputClasses: _.value })), void 0, !0),
|
|
156
|
+
le(ge)
|
|
157
|
+
], 2));
|
|
158
|
+
}
|
|
159
|
+
}), $e = /* @__PURE__ */ $(Oe, [["__scopeId", "data-v-751bf20e"]]), be = ["innerHTML"], Be = ["src", "alt"], Ce = /* @__PURE__ */ O({
|
|
160
|
+
__name: "Icon",
|
|
161
|
+
props: {
|
|
162
|
+
className: {},
|
|
163
|
+
iconDefinition: {},
|
|
164
|
+
iconClass: {},
|
|
165
|
+
src: {},
|
|
166
|
+
svgRaw: {},
|
|
167
|
+
variant: {},
|
|
168
|
+
size: { default: "small" },
|
|
169
|
+
inline: { type: Boolean },
|
|
170
|
+
shadow: { type: Boolean },
|
|
171
|
+
decorative: { type: Boolean },
|
|
172
|
+
ariaLabel: {}
|
|
173
|
+
},
|
|
174
|
+
setup(t) {
|
|
175
|
+
const e = t, a = c(() => ve(
|
|
176
|
+
"phila-icon",
|
|
177
|
+
e.size && `phila-icon--${e.size}`,
|
|
178
|
+
e.inline && "phila-icon--inline",
|
|
179
|
+
e.variant && e.variant !== "default" && `phila-icon--${e.variant}`,
|
|
180
|
+
e.shadow && "phila-icon--shadow",
|
|
181
|
+
e.className
|
|
182
|
+
)), i = c(() => e.decorative ? {
|
|
183
|
+
"aria-hidden": !0
|
|
184
|
+
} : {
|
|
185
|
+
"aria-label": e.ariaLabel,
|
|
186
|
+
role: "img"
|
|
187
|
+
});
|
|
188
|
+
return (n, r) => (s(), u("span", w({ class: a.value }, i.value), [
|
|
189
|
+
e.iconDefinition ? (s(), C(V(de), {
|
|
190
|
+
key: 0,
|
|
191
|
+
icon: e.iconDefinition
|
|
192
|
+
}, null, 8, ["icon"])) : e.iconClass ? (s(), u("i", {
|
|
193
|
+
key: 1,
|
|
194
|
+
class: W(`fa fa-${e.iconClass}`)
|
|
195
|
+
}, null, 2)) : e.svgRaw ? (s(), u("span", {
|
|
196
|
+
key: 2,
|
|
197
|
+
class: "phila-icon__svg",
|
|
198
|
+
innerHTML: e.svgRaw
|
|
199
|
+
}, null, 8, be)) : e.src ? (s(), u("img", {
|
|
200
|
+
key: 3,
|
|
201
|
+
src: e.src,
|
|
202
|
+
alt: e.decorative ? "" : e.ariaLabel || "Icon"
|
|
203
|
+
}, null, 8, Be)) : y("", !0)
|
|
204
|
+
], 16));
|
|
205
|
+
}
|
|
206
|
+
}), F = /* @__PURE__ */ $(Ce, [["__scopeId", "data-v-55074cbf"]]), ke = { key: 1 }, Re = /* @__PURE__ */ O({
|
|
207
|
+
__name: "ActionContent",
|
|
208
|
+
props: {
|
|
209
|
+
iconRight: { type: Boolean, default: !1 },
|
|
210
|
+
iconOnly: { type: Boolean, default: !1 },
|
|
211
|
+
inline: { type: Boolean },
|
|
212
|
+
text: { default: void 0 },
|
|
213
|
+
size: { default: void 0 },
|
|
214
|
+
shadow: { type: Boolean },
|
|
215
|
+
iconDefinition: {},
|
|
216
|
+
iconClass: {},
|
|
217
|
+
src: {},
|
|
218
|
+
svgRaw: {},
|
|
219
|
+
variant: {}
|
|
220
|
+
},
|
|
221
|
+
setup(t) {
|
|
222
|
+
const e = t, a = c(() => e.iconDefinition || e.iconClass || e.src || e.svgRaw), i = c(
|
|
223
|
+
() => ({
|
|
224
|
+
iconDefinition: e.iconDefinition,
|
|
225
|
+
iconClass: e.iconClass,
|
|
226
|
+
src: e.src,
|
|
227
|
+
svgRaw: e.svgRaw,
|
|
228
|
+
size: e.iconOnly ? e.size : void 0,
|
|
229
|
+
decorative: !0,
|
|
230
|
+
class: "icon",
|
|
231
|
+
inline: e.inline ?? !e.iconOnly,
|
|
232
|
+
shadow: e.shadow
|
|
233
|
+
})
|
|
234
|
+
);
|
|
235
|
+
return (n, r) => (s(), u(H, null, [
|
|
236
|
+
a.value && !e.iconRight ? (s(), C(F, A(w({ key: 0 }, i.value)), null, 16)) : y("", !0),
|
|
237
|
+
e.iconOnly ? y("", !0) : (s(), u("span", ke, [
|
|
238
|
+
T(n.$slots, "default", {}, () => [
|
|
239
|
+
G(D(e.text), 1)
|
|
240
|
+
])
|
|
241
|
+
])),
|
|
242
|
+
a.value && e.iconRight ? (s(), C(F, A(w({ key: 2 }, i.value)), null, 16)) : y("", !0)
|
|
243
|
+
], 64));
|
|
244
|
+
}
|
|
245
|
+
}), P = (t) => "to" in t && t.to !== void 0;
|
|
246
|
+
function Ie() {
|
|
247
|
+
const t = re("router", null), e = c(() => t !== null);
|
|
248
|
+
return {
|
|
249
|
+
router: t,
|
|
250
|
+
hasRouter: e
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
const Ee = /* @__PURE__ */ O({
|
|
254
|
+
__name: "BaseLink",
|
|
255
|
+
props: {
|
|
256
|
+
to: {},
|
|
257
|
+
href: {},
|
|
258
|
+
target: {},
|
|
259
|
+
rel: {},
|
|
260
|
+
disabled: { type: Boolean },
|
|
261
|
+
ariaLabel: {},
|
|
262
|
+
className: {}
|
|
263
|
+
},
|
|
264
|
+
setup(t) {
|
|
265
|
+
const e = t, { hasRouter: a } = Ie(), i = c(() => P(e) && a.value ? se("RouterLink") : "a"), n = c(() => P(e) ? {
|
|
266
|
+
to: e.disabled ? void 0 : e.to,
|
|
267
|
+
...e.disabled && { "aria-disabled": "true" },
|
|
268
|
+
...e.ariaLabel && { "aria-label": e.ariaLabel }
|
|
269
|
+
} : {
|
|
270
|
+
href: e.disabled ? void 0 : e.href,
|
|
271
|
+
...e.target && { target: e.target },
|
|
272
|
+
...e.rel && { rel: e.rel },
|
|
273
|
+
...e.disabled && { "aria-disabled": "true" },
|
|
274
|
+
...e.ariaLabel && { "aria-label": e.ariaLabel }
|
|
275
|
+
});
|
|
276
|
+
return (r, h) => (s(), C(ue(i.value), w({ class: t.className }, n.value), {
|
|
277
|
+
default: K(() => [
|
|
278
|
+
T(r.$slots, "default")
|
|
279
|
+
]),
|
|
280
|
+
_: 3
|
|
281
|
+
}, 16, ["class"]));
|
|
282
|
+
}
|
|
283
|
+
}), m = k({}), g = k(), L = 400, M = k(null);
|
|
284
|
+
function qe(t) {
|
|
285
|
+
const e = t?.group ?? "global", a = (l, d) => {
|
|
286
|
+
m.value[e][l] = d;
|
|
287
|
+
}, i = (l, d) => {
|
|
288
|
+
m.value[e] = { [l]: d };
|
|
289
|
+
}, n = (l) => m.value[e][l] ?? !1, r = (l) => {
|
|
290
|
+
a(l, !n(l));
|
|
291
|
+
}, h = (l) => {
|
|
292
|
+
i(l, !n(l));
|
|
293
|
+
}, v = () => {
|
|
294
|
+
m.value[e] = {};
|
|
295
|
+
}, f = (l) => {
|
|
296
|
+
l.key === "Escape" && (a(t.id, !1), p());
|
|
297
|
+
}, _ = (l) => {
|
|
298
|
+
if (!t) return;
|
|
299
|
+
const d = l.target, [I] = Object.keys(m.value[e]).filter((ee) => m.value[e][ee] === !0), B = document.getElementById(I), Y = document.querySelector(`[aria-controls="${I}"]`), Z = d.getAttribute("aria-controls") === I || Y?.contains(l.target);
|
|
300
|
+
B && !B.contains(d) && !Z && (a(t.id, !1), p());
|
|
301
|
+
}, R = () => {
|
|
302
|
+
t && (g.value = setTimeout(() => {
|
|
303
|
+
a(t.id, !1), p();
|
|
304
|
+
}, L));
|
|
305
|
+
}, E = () => {
|
|
306
|
+
t && t.mouseOverToggle === !0 && (M.value = t.id, g.value = setTimeout(() => {
|
|
307
|
+
x();
|
|
308
|
+
}, L));
|
|
309
|
+
}, q = () => {
|
|
310
|
+
t && t.mouseOverToggle === !0 && (M.value = null, clearTimeout(g.value), g.value = setTimeout(() => {
|
|
311
|
+
M.value !== t.id && (a(t.id, !1), p());
|
|
312
|
+
}, L));
|
|
313
|
+
}, b = (l) => {
|
|
314
|
+
if (!t) return;
|
|
315
|
+
const { relatedTarget: d } = l;
|
|
316
|
+
if (!d || d.getAttribute("aria-controls") === t.id)
|
|
317
|
+
return;
|
|
318
|
+
const B = document.getElementById(t.id);
|
|
319
|
+
B && B.contains(d) || (clearTimeout(g.value), g.value = setTimeout(() => {
|
|
320
|
+
t.openSingle ? i(t.id, !1) : a(t.id, !1), p();
|
|
321
|
+
}, L));
|
|
322
|
+
}, S = () => {
|
|
323
|
+
t && (t.outsideClickClose && (document.addEventListener("click", _), document.addEventListener("touchend", _)), t.escapeKeyClose && document.addEventListener("keydown", f));
|
|
324
|
+
}, p = () => {
|
|
325
|
+
document.removeEventListener("click", _), document.removeEventListener("touchend", _), document.removeEventListener("keydown", f), document.removeEventListener("scroll", R);
|
|
326
|
+
}, N = (l) => {
|
|
327
|
+
t && (l?.preventDefault(), clearTimeout(g.value), S());
|
|
328
|
+
}, X = (l) => {
|
|
329
|
+
t && (N(l), t.openSingle ? h(t.id) : r(t.id));
|
|
330
|
+
}, x = (l) => {
|
|
331
|
+
t && (N(l), t.openSingle ? i(t.id, !0) : a(t.id, !0));
|
|
332
|
+
};
|
|
333
|
+
return U(() => {
|
|
334
|
+
m.value[e] || v();
|
|
335
|
+
}), ce(() => {
|
|
336
|
+
p();
|
|
337
|
+
}), {
|
|
338
|
+
state: m,
|
|
339
|
+
timeout: g,
|
|
340
|
+
toggle: r,
|
|
341
|
+
toggleSingle: h,
|
|
342
|
+
setCollapsed: a,
|
|
343
|
+
setSingleCollapsed: i,
|
|
344
|
+
isCollapsed: n,
|
|
345
|
+
reset: v,
|
|
346
|
+
onMouseEnter: E,
|
|
347
|
+
onMouseLeave: q,
|
|
348
|
+
focusChange: b,
|
|
349
|
+
onClickToggle: X,
|
|
350
|
+
onClickOpen: x
|
|
351
|
+
};
|
|
352
|
+
}
|
|
6
353
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
354
|
+
Re as ActionContent,
|
|
355
|
+
Ee as BaseLink,
|
|
356
|
+
ge as ErrorList,
|
|
357
|
+
F as Icon,
|
|
358
|
+
pe as InputLabel,
|
|
359
|
+
$e as InputWrap,
|
|
360
|
+
ve as cn,
|
|
361
|
+
we as debounce,
|
|
362
|
+
Te as generateRandomId,
|
|
363
|
+
P as isRouterLink,
|
|
364
|
+
qe as useCollapse,
|
|
365
|
+
J as useInput,
|
|
366
|
+
Ie as useRouter,
|
|
367
|
+
Q as useValidation
|
|
21
368
|
};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
overflow: hidden;
|
|
9
9
|
white-space: nowrap;
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
border-radius: var(--
|
|
11
|
+
border-radius: var(--border-radius-2xl);
|
|
12
12
|
|
|
13
13
|
/* --- Text styles --- */
|
|
14
14
|
color: var(--Schemes-On-Primary-Container);
|
|
@@ -30,40 +30,47 @@
|
|
|
30
30
|
/* --- Reset link styles --- */
|
|
31
31
|
text-decoration: none;
|
|
32
32
|
|
|
33
|
+
/* --- Shadow --- */
|
|
34
|
+
box-shadow:
|
|
35
|
+
0 1px 2px 0 rgba(0, 0, 0, 0.3),
|
|
36
|
+
0 1px 3px 1px rgba(0, 0, 0, 0.15);
|
|
37
|
+
|
|
33
38
|
/* Prevent visited link color changes - maintain button color */
|
|
34
39
|
&:visited:not(:hover):not(:focus):not(:active) {
|
|
35
40
|
color: var(--Schemes-On-Primary-Container);
|
|
36
41
|
}
|
|
37
42
|
|
|
38
43
|
/* --- Sizing --- */
|
|
39
|
-
height: var(--
|
|
44
|
+
height: var(--dimension-core-700);
|
|
40
45
|
max-width: 18.75rem;
|
|
41
|
-
padding: var(--spacing-
|
|
46
|
+
padding: var(--spacing-xs) var(--spacing-l);
|
|
42
47
|
|
|
43
48
|
&.is-medium {
|
|
44
|
-
height: var(--
|
|
45
|
-
padding: var(--spacing-
|
|
49
|
+
height: var(--dimension-core-600);
|
|
50
|
+
padding: var(--spacing-xs) var(--spacing-m);
|
|
46
51
|
}
|
|
47
52
|
&.is-small {
|
|
48
|
-
height: var(--
|
|
49
|
-
padding: var(--spacing-
|
|
53
|
+
height: var(--dimension-core-500);
|
|
54
|
+
padding: var(--spacing-2xs) var(--spacing-s);
|
|
50
55
|
}
|
|
51
56
|
&.is-extra-small:not(.icon-button) {
|
|
57
|
+
box-shadow: none;
|
|
52
58
|
color: var(--Schemes-Primary-Container);
|
|
53
|
-
height: var(--
|
|
54
|
-
padding: var(--spacing-
|
|
55
|
-
background-color:
|
|
59
|
+
height: var(--dimension-core-400);
|
|
60
|
+
padding: var(--spacing-3xs);
|
|
61
|
+
background-color: inherit !important;
|
|
56
62
|
font-family: var(--Label-Default-font-label-default-family, Montserrat);
|
|
57
63
|
font-size: var(--Label-Small-font-label-small-size);
|
|
58
64
|
font-style: normal;
|
|
59
65
|
font-weight: 600;
|
|
60
66
|
line-height: var(--Label-Small-font-label-small-lineheight);
|
|
61
67
|
border-color: var(--Schemes-Surface-Container-Lowest);
|
|
62
|
-
border-width: var(--spacing-
|
|
68
|
+
border-width: var(--spacing-3xs);
|
|
63
69
|
border-style: solid;
|
|
64
70
|
box-sizing: border-box;
|
|
65
71
|
border-left: none;
|
|
66
72
|
border-right: none;
|
|
73
|
+
border-radius: 0;
|
|
67
74
|
&:focus:not(:disabled),
|
|
68
75
|
&:hover:not(:disabled) {
|
|
69
76
|
--Schemes-On-Primary-Container: --Schemes-Inverse-Surface;
|
|
@@ -79,7 +86,7 @@
|
|
|
79
86
|
color: var(--Schemes-Surface-Container-High);
|
|
80
87
|
}
|
|
81
88
|
&.phila-button--destructive:not(:active) {
|
|
82
|
-
color: var(--Schemes-Error
|
|
89
|
+
color: var(--Schemes-Error);
|
|
83
90
|
}
|
|
84
91
|
&:visited:not(:hover):not(:focus):not(:active) {
|
|
85
92
|
color: var(--Schemes-Primary-Container);
|
|
@@ -118,11 +125,11 @@
|
|
|
118
125
|
color: var(--Schemes-Primary);
|
|
119
126
|
background: var(--Schemes-Surface-Container-Lowest);
|
|
120
127
|
&:not(:active) {
|
|
121
|
-
border: var(--
|
|
128
|
+
border: var(--border-width-m) solid var(--Schemes-Primary);
|
|
122
129
|
}
|
|
123
130
|
&:active:not(:disabled):not(.is-extra-small) {
|
|
124
|
-
border-right: var(--
|
|
125
|
-
border-left: var(--
|
|
131
|
+
border-right: var(--border-width-m) solid var(--Schemes-Surface-Container-Lowest);
|
|
132
|
+
border-left: var(--border-width-m) solid var(--Schemes-Surface-Container-Lowest);
|
|
126
133
|
}
|
|
127
134
|
&:hover:not(:disabled),
|
|
128
135
|
&:focus:not(:disabled) {
|
|
@@ -136,50 +143,51 @@
|
|
|
136
143
|
|
|
137
144
|
&.phila-button--destructive:not(:disabled) {
|
|
138
145
|
&:not(.is-extra-small) {
|
|
139
|
-
background: var(--Schemes-Error
|
|
146
|
+
background: var(--Schemes-Error);
|
|
140
147
|
}
|
|
141
148
|
}
|
|
142
149
|
|
|
143
150
|
/* --- Icon Buttons --- */
|
|
144
151
|
&.icon-button {
|
|
145
152
|
padding: 0;
|
|
146
|
-
height:
|
|
147
|
-
width:
|
|
153
|
+
height: var(--dimension-core-700);
|
|
154
|
+
width: var(--dimension-core-700);
|
|
148
155
|
border-radius: var(--border-radius-l);
|
|
149
156
|
|
|
150
157
|
&.is-extra-large {
|
|
151
|
-
height:
|
|
152
|
-
width:
|
|
158
|
+
height: var(--dimension-core-1000);
|
|
159
|
+
width: var(--dimension-core-1000);
|
|
153
160
|
border-radius: var(--border-radius-l);
|
|
154
161
|
}
|
|
155
162
|
|
|
156
163
|
&.is-large {
|
|
157
|
-
height:
|
|
158
|
-
width:
|
|
164
|
+
height: var(--dimension-core-700);
|
|
165
|
+
width: var(--dimension-core-700);
|
|
159
166
|
border-radius: var(--border-radius-m);
|
|
160
167
|
}
|
|
161
168
|
|
|
162
169
|
&.is-medium {
|
|
163
|
-
height:
|
|
164
|
-
width:
|
|
170
|
+
height: var(--dimension-core-600);
|
|
171
|
+
width: var(--dimension-core-600);
|
|
165
172
|
border-radius: var(--border-radius-s);
|
|
166
173
|
}
|
|
167
174
|
|
|
168
175
|
&.is-small {
|
|
169
|
-
height:
|
|
170
|
-
width:
|
|
176
|
+
height: var(--dimension-core-400);
|
|
177
|
+
width: var(--dimension-core-400);
|
|
171
178
|
border-radius: var(--border-radius-xs);
|
|
172
179
|
}
|
|
173
180
|
|
|
174
181
|
&.is-extra-small {
|
|
175
|
-
width:
|
|
176
|
-
height:
|
|
182
|
+
width: var(--dimension-core-300);
|
|
183
|
+
height: var(--dimension-core-300);
|
|
177
184
|
border-radius: var(--border-radius-xs);
|
|
178
185
|
}
|
|
179
186
|
|
|
180
187
|
&.icon-button--standard:not(:disabled) {
|
|
188
|
+
box-shadow: none;
|
|
181
189
|
color: var(--Schemes-Primary, #003282);
|
|
182
|
-
background: var(--Schemes-
|
|
190
|
+
background: var(--Schemes-Background);
|
|
183
191
|
&:visited:not(:hover):not(:focus):not(:active) {
|
|
184
192
|
color: var(--Schemes-Primary, #003282);
|
|
185
193
|
}
|
|
@@ -7,45 +7,45 @@
|
|
|
7
7
|
font-weight: 900;
|
|
8
8
|
line-height: normal;
|
|
9
9
|
font-size: var(--Icon-Solid-Small-font-icon-solid-small-size);
|
|
10
|
-
height:
|
|
11
|
-
width:
|
|
10
|
+
height: var(--dimension-core-400);
|
|
11
|
+
width: var(--dimension-core-400);
|
|
12
12
|
padding: var(--spacing-s);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
/* Icon size variants */
|
|
16
16
|
.phila-icon--extra-large {
|
|
17
17
|
font-size: var(--Icon-Solid-ExtraLarge-font-icon-solid-xl-size);
|
|
18
|
-
height:
|
|
19
|
-
width:
|
|
18
|
+
height: var(--dimension-core-1000);
|
|
19
|
+
width: var(--dimension-core-1000);
|
|
20
20
|
padding: var(--spacing-xl);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
.phila-icon--large {
|
|
24
24
|
font-size: var(--Icon-Solid-Large-font-icon-solid-large-size);
|
|
25
|
-
height:
|
|
26
|
-
width:
|
|
25
|
+
height: var(--dimension-core-700);
|
|
26
|
+
width: var(--dimension-core-700);
|
|
27
27
|
padding: var(--spacing-m);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.phila-icon--medium {
|
|
31
31
|
font-size: var(--Icon-Solid-Default-font-icon-solid-default-size);
|
|
32
|
-
height:
|
|
33
|
-
width:
|
|
32
|
+
height: var(--dimension-core-600);
|
|
33
|
+
width: var(--dimension-core-600);
|
|
34
34
|
padding: var(--spacing-m);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
.phila-icon--small {
|
|
38
38
|
font-size: var(--Icon-Solid-Small-font-icon-solid-small-size);
|
|
39
|
-
height:
|
|
40
|
-
width:
|
|
39
|
+
height: var(--dimension-core-400);
|
|
40
|
+
width: var(--dimension-core-400);
|
|
41
41
|
padding: var(--spacing-s);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
.phila-icon--extra-small {
|
|
45
45
|
font-size: var(--Icon-Solid-XXSmall-font-icon-solid-xxs-size);
|
|
46
|
-
height:
|
|
47
|
-
width:
|
|
48
|
-
padding: var(--
|
|
46
|
+
height: var(--dimension-core-300);
|
|
47
|
+
width: var(--dimension-core-300);
|
|
48
|
+
padding: var(--spacing-xs);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.phila-icon.phila-icon--inline {
|
|
@@ -60,3 +60,10 @@
|
|
|
60
60
|
border-radius: 50%;
|
|
61
61
|
color: var(--Schemes-Background);
|
|
62
62
|
}
|
|
63
|
+
|
|
64
|
+
/* Shadow variant - applies drop shadow to the icon */
|
|
65
|
+
.phila-icon--shadow svg,
|
|
66
|
+
.phila-icon--shadow i,
|
|
67
|
+
.phila-icon--shadow .phila-icon__svg {
|
|
68
|
+
filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.2)) drop-shadow(0 2px 1px rgba(0, 0, 0, 0.1));
|
|
69
|
+
}
|