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.
@@ -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
- const gap = this.attached() ? 'gap-0' : 'gap-2';
1251
- return `inline-flex items-center ${dir} ${gap}`;
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,