codexly-ui 0.19.5 → 0.19.6
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/fesm2022/codexly-ui.mjs +23 -16
- package/fesm2022/codexly-ui.mjs.map +1 -1
- package/package.json +1 -1
package/fesm2022/codexly-ui.mjs
CHANGED
|
@@ -1247,17 +1247,24 @@ class ClxButtonGroupComponent {
|
|
|
1247
1247
|
_groupClass = computed(() => {
|
|
1248
1248
|
const isVertical = this.orientation() === 'vertical';
|
|
1249
1249
|
const dir = isVertical ? 'flex-col' : 'flex-row';
|
|
1250
|
-
|
|
1251
|
-
|
|
1250
|
+
if (!this.attached())
|
|
1251
|
+
return `inline-flex items-center ${dir} gap-2`;
|
|
1252
|
+
// Attached = one segmented control: only the outer corners stay rounded and neighbouring
|
|
1253
|
+
// borders overlap (no double line). The hovered/focused button is raised so its full border
|
|
1254
|
+
// and focus ring are never hidden under the next one.
|
|
1255
|
+
const joined = isVertical
|
|
1256
|
+
? '[&>*:not(:first-child)]:!rounded-t-none [&>*:not(:last-child)]:!rounded-b-none [&>*:not(:first-child)]:-mt-0.5'
|
|
1257
|
+
: '[&>*:not(:first-child)]:!rounded-l-none [&>*:not(:last-child)]:!rounded-r-none [&>*:not(:first-child)]:-ml-0.5';
|
|
1258
|
+
return `inline-flex items-stretch ${dir} gap-0 ${joined} [&>*]:relative [&>*:hover]:z-10 [&>*:focus-visible]:z-10`;
|
|
1252
1259
|
}, ...(ngDevMode ? [{ debugName: "_groupClass" }] : /* istanbul ignore next */ []));
|
|
1253
1260
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1254
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxButtonGroupComponent, isStandalone: true, selector: "clx-button-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, attached: { classPropertyName: "attached", publicName: "attached", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1.5" }, ngImport: i0, template: `
|
|
1255
|
-
@if (label()) {
|
|
1256
|
-
<span class="text-sm font-medium text-clx-text-label leading-none">{{ label() }}</span>
|
|
1257
|
-
}
|
|
1258
|
-
<div [class]="_groupClass()">
|
|
1259
|
-
<ng-content />
|
|
1260
|
-
</div>
|
|
1261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxButtonGroupComponent, isStandalone: true, selector: "clx-button-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, attached: { classPropertyName: "attached", publicName: "attached", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1.5" }, ngImport: i0, template: `
|
|
1262
|
+
@if (label()) {
|
|
1263
|
+
<span class="text-sm font-medium text-clx-text-label leading-none">{{ label() }}</span>
|
|
1264
|
+
}
|
|
1265
|
+
<div [class]="_groupClass()">
|
|
1266
|
+
<ng-content />
|
|
1267
|
+
</div>
|
|
1261
1268
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1262
1269
|
}
|
|
1263
1270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxButtonGroupComponent, decorators: [{
|
|
@@ -1265,13 +1272,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
1265
1272
|
args: [{
|
|
1266
1273
|
selector: 'clx-button-group',
|
|
1267
1274
|
standalone: true,
|
|
1268
|
-
template: `
|
|
1269
|
-
@if (label()) {
|
|
1270
|
-
<span class="text-sm font-medium text-clx-text-label leading-none">{{ label() }}</span>
|
|
1271
|
-
}
|
|
1272
|
-
<div [class]="_groupClass()">
|
|
1273
|
-
<ng-content />
|
|
1274
|
-
</div>
|
|
1275
|
+
template: `
|
|
1276
|
+
@if (label()) {
|
|
1277
|
+
<span class="text-sm font-medium text-clx-text-label leading-none">{{ label() }}</span>
|
|
1278
|
+
}
|
|
1279
|
+
<div [class]="_groupClass()">
|
|
1280
|
+
<ng-content />
|
|
1281
|
+
</div>
|
|
1275
1282
|
`,
|
|
1276
1283
|
encapsulation: ViewEncapsulation.None,
|
|
1277
1284
|
changeDetection: ChangeDetectionStrategy.OnPush,
|