codexly-ui 0.10.87 → 0.10.89
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/assets/styles/_theme.css
CHANGED
|
@@ -24,9 +24,15 @@
|
|
|
24
24
|
--clx-text: #0f172a; /* slate-900 — body text */
|
|
25
25
|
--clx-text-label: #475569; /* slate-600 — field labels */
|
|
26
26
|
--clx-text-muted: #64748b; /* slate-500 — secondary text, body in alerts */
|
|
27
|
-
--clx-text-subtle: #94a3b8; /* slate-400 — hints,
|
|
27
|
+
--clx-text-subtle: #94a3b8; /* slate-400 — hints, idle nav */
|
|
28
28
|
--clx-text-faint: #cbd5e1; /* slate-300 — out-of-range calendar days */
|
|
29
29
|
|
|
30
|
+
/* Fixed input placeholder color — intentionally NOT derived from --clx-text-subtle:
|
|
31
|
+
a custom theme can set --clx-text-subtle close to --clx-text-label (e.g. via the
|
|
32
|
+
theme picker), which collapses placeholder/typed-text contrast. Placeholders need
|
|
33
|
+
a guaranteed-low-contrast color regardless of the user's theme customization. */
|
|
34
|
+
--clx-placeholder: #94a3b8; /* slate-400 */
|
|
35
|
+
|
|
30
36
|
/* ── Borders ── */
|
|
31
37
|
--clx-border: #e2e8f0; /* slate-200 — default input/card border */
|
|
32
38
|
--clx-border-soft: #f1f5f9; /* slate-100 — card/modal header-footer divider */
|
|
@@ -63,6 +69,10 @@
|
|
|
63
69
|
--clx-text-subtle: #64748b; /* slate-500 */
|
|
64
70
|
--clx-text-faint: #475569; /* slate-600 */
|
|
65
71
|
|
|
72
|
+
/* Fixed input placeholder color — see :root definition above for why this is independent
|
|
73
|
+
of --clx-text-subtle. */
|
|
74
|
+
--clx-placeholder: #64748b; /* slate-500 */
|
|
75
|
+
|
|
66
76
|
/* ── Borders ── */
|
|
67
77
|
--clx-border: #334155; /* slate-700 */
|
|
68
78
|
--clx-border-soft: #1e293b; /* slate-800 */
|
|
@@ -87,6 +97,7 @@
|
|
|
87
97
|
--color-clx-text-muted: var(--clx-text-muted);
|
|
88
98
|
--color-clx-text-subtle: var(--clx-text-subtle);
|
|
89
99
|
--color-clx-text-faint: var(--clx-text-faint);
|
|
100
|
+
--color-clx-placeholder: var(--clx-placeholder);
|
|
90
101
|
--color-clx-border: var(--clx-border);
|
|
91
102
|
--color-clx-border-soft: var(--clx-border-soft);
|
|
92
103
|
--color-clx-primary: var(--clx-primary);
|
package/assets/styles/styles.css
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
@source inline("text-{black,white}");
|
|
10
10
|
@source inline("focus:ring-2 focus-within:ring-2 ring-2");
|
|
11
11
|
@source inline("{bg,border,text}-clx-{surface,surface-2,surface-3,bg,text,text-label,text-muted,text-subtle,text-faint,border,border-soft}");
|
|
12
|
-
@source inline("placeholder:text-clx-
|
|
12
|
+
@source inline("placeholder:text-clx-placeholder");
|
|
13
13
|
|
|
14
14
|
/* ── Shared backdrop base ── */
|
|
15
15
|
.clx-modal-backdrop,
|
package/fesm2022/codexly-ui.mjs
CHANGED
|
@@ -700,8 +700,10 @@ class ClxSocialIconComponent {
|
|
|
700
700
|
size = input(undefined, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
701
701
|
_color = computed(() => this.color() ?? this._themeSvc.config().primaryColor, ...(ngDevMode ? [{ debugName: "_color" }] : /* istanbul ignore next */ []));
|
|
702
702
|
_size = computed(() => this.size() ?? this._themeSvc.config().defaultSize, ...(ngDevMode ? [{ debugName: "_size" }] : /* istanbul ignore next */ []));
|
|
703
|
-
|
|
704
|
-
|
|
703
|
+
_markup = computed(() => {
|
|
704
|
+
const def = SOCIAL_ICON_DEFS[this.platform()];
|
|
705
|
+
return this._sanitizer.bypassSecurityTrustHtml(`<svg viewBox="${def.viewBox}" class="w-full h-full">${def.markup}</svg>`);
|
|
706
|
+
}, ...(ngDevMode ? [{ debugName: "_markup" }] : /* istanbul ignore next */ []));
|
|
705
707
|
_hostClass = computed(() => {
|
|
706
708
|
const { color, shade } = parseColorInput(this._color());
|
|
707
709
|
const base = resolveColor(this._color());
|
|
@@ -721,14 +723,14 @@ class ClxSocialIconComponent {
|
|
|
721
723
|
return `inline-flex items-center justify-center rounded-xl transition-colors duration-200 cursor-pointer ${sizeClass} ${cls}`;
|
|
722
724
|
}, ...(ngDevMode ? [{ debugName: "_hostClass" }] : /* istanbul ignore next */ []));
|
|
723
725
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxSocialIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
724
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.15", type: ClxSocialIconComponent, isStandalone: true, selector: "a[clx-social-icon], button[clx-social-icon]", inputs: { platform: { classPropertyName: "platform", publicName: "platform", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_hostClass()", "attr.aria-label": "platform()" } }, ngImport: i0, template: `<svg [
|
|
726
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.15", type: ClxSocialIconComponent, isStandalone: true, selector: "a[clx-social-icon], button[clx-social-icon]", inputs: { platform: { classPropertyName: "platform", publicName: "platform", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_hostClass()", "attr.aria-label": "platform()" } }, ngImport: i0, template: `<span class="w-full h-full [&>svg]:w-full [&>svg]:h-full" [innerHTML]="_markup()"></span>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
725
727
|
}
|
|
726
728
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxSocialIconComponent, decorators: [{
|
|
727
729
|
type: Component,
|
|
728
730
|
args: [{
|
|
729
731
|
selector: 'a[clx-social-icon], button[clx-social-icon]',
|
|
730
732
|
standalone: true,
|
|
731
|
-
template: `<svg [
|
|
733
|
+
template: `<span class="w-full h-full [&>svg]:w-full [&>svg]:h-full" [innerHTML]="_markup()"></span>`,
|
|
732
734
|
encapsulation: ViewEncapsulation.None,
|
|
733
735
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
734
736
|
host: {
|
|
@@ -2006,7 +2008,8 @@ const CLX_BG_SECTION = 'bg-clx-surface-2'; // card/modal header+footer
|
|
|
2006
2008
|
const CLX_BG_ICON_WRAP = 'bg-clx-surface-3'; // empty-state icon wrapper
|
|
2007
2009
|
const CLX_BG_ADDON = 'bg-clx-surface-3'; // prefix/suffix text addon
|
|
2008
2010
|
// ── Placeholder ───────────────────────────────────────────────────────────────
|
|
2009
|
-
|
|
2011
|
+
// Fixed color independent of --clx-text-subtle — see _theme.css for why.
|
|
2012
|
+
const CLX_PLACEHOLDER = 'placeholder:text-clx-placeholder';
|
|
2010
2013
|
// ── Disabled borders ──────────────────────────────────────────────────────────
|
|
2011
2014
|
const CLX_BORDER_DISABLED = 'border-clx-border';
|
|
2012
2015
|
// ── Addon (prefix/suffix text) ────────────────────────────────────────────────
|