ngx-semantic 2.0.7-beta.0 → 2.0.7-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/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -10
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-form.mjs +987 -16
- package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-grid.mjs +13 -10
- package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-menu.mjs +25 -13
- package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-message.mjs +20 -20
- package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-table.mjs +17 -13
- package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-base.mjs +1 -0
- package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-util.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-button.mjs +9 -7
- package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-flag.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-icon.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-image.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-input.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-label.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-segment.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-steps.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-checkbox.mjs +19 -19
- package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dimmer.mjs +42 -33
- package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-embed.mjs +22 -22
- package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-modal.mjs +31 -32
- package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-popup.mjs +22 -23
- package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-progress.mjs +6 -6
- package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-rating.mjs +15 -17
- package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-search.mjs +34 -34
- package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-select.mjs +87 -88
- package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-shape.mjs +6 -6
- package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sidebar.mjs +13 -12
- package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sticky.mjs +9 -12
- package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-tabs.mjs +30 -30
- package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
- package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
- package/fesm2022/ngx-semantic-views-advertisement.mjs +5 -4
- package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-card.mjs +6 -9
- package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-feed.mjs +26 -26
- package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-items.mjs +13 -10
- package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
- package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
- package/fesm2022/ngx-semantic.mjs +11 -5
- package/fesm2022/ngx-semantic.mjs.map +1 -1
- package/modules/transition/package.json +4 -0
- package/package.json +5 -1
- package/types/ngx-semantic-collections-breadcrumb.d.ts +4 -17
- package/types/ngx-semantic-collections-form.d.ts +150 -20
- package/types/ngx-semantic-collections-grid.d.ts +4 -17
- package/types/ngx-semantic-collections-menu.d.ts +4 -17
- package/types/ngx-semantic-collections-message.d.ts +1 -3
- package/types/ngx-semantic-collections-table.d.ts +5 -22
- package/types/ngx-semantic-core-base.d.ts +1 -1
- package/types/ngx-semantic-elements-button.d.ts +3 -8
- package/types/ngx-semantic-elements-flag.d.ts +2 -3
- package/types/ngx-semantic-elements-icon.d.ts +1 -2
- package/types/ngx-semantic-elements-image.d.ts +2 -7
- package/types/ngx-semantic-elements-input.d.ts +2 -7
- package/types/ngx-semantic-elements-label.d.ts +2 -7
- package/types/ngx-semantic-elements-segment.d.ts +1 -6
- package/types/ngx-semantic-elements-steps.d.ts +1 -6
- package/types/ngx-semantic-modules-checkbox.d.ts +3 -4
- package/types/ngx-semantic-modules-dimmer.d.ts +2 -3
- package/types/ngx-semantic-modules-embed.d.ts +2 -5
- package/types/ngx-semantic-modules-modal.d.ts +2 -2
- package/types/ngx-semantic-modules-popup.d.ts +2 -4
- package/types/ngx-semantic-modules-rating.d.ts +4 -4
- package/types/ngx-semantic-modules-select.d.ts +1 -2
- package/types/ngx-semantic-modules-shape.d.ts +1 -2
- package/types/ngx-semantic-modules-sidebar.d.ts +1 -15
- package/types/ngx-semantic-modules-sticky.d.ts +1 -2
- package/types/ngx-semantic-modules-transition.d.ts +107 -0
- package/types/ngx-semantic-views-advertisement.d.ts +2 -7
- package/types/ngx-semantic-views-card.d.ts +2 -2
- package/types/ngx-semantic-views-feed.d.ts +2 -11
- package/types/ngx-semantic-views-items.d.ts +4 -9
- package/types/ngx-semantic-views-statistics.d.ts +13 -26
- package/types/ngx-semantic.d.ts +2 -1
|
@@ -154,27 +154,27 @@ class SuiTabsComponent {
|
|
|
154
154
|
this.currentTab = tabs[this.selectedTabIndex];
|
|
155
155
|
}
|
|
156
156
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SuiTabsComponent, isStandalone: true, selector: "sui-tabs", inputs: { suiTabMenuPosition: "suiTabMenuPosition", suiTabType: "suiTabType", suiColour: "suiColour", suiInverted: "suiInverted" }, outputs: { suiSelectedIndexChanged: "suiSelectedIndexChanged" }, queries: [{ propertyName: "tabs", predicate: SuiTabComponent }], ngImport: i0, template: `
|
|
158
|
+
@if (hasTabs) {
|
|
159
|
+
@if (isTop) {
|
|
160
160
|
<ng-container *ngTemplateOutlet="tabMenu"></ng-container>
|
|
161
|
-
|
|
161
|
+
}
|
|
162
162
|
|
|
163
163
|
<div class="active tab"
|
|
164
164
|
sui-segment
|
|
165
165
|
[class.loading]="currentTab?.suiLoading"
|
|
166
166
|
[suiAttached]="segmentAttachment">
|
|
167
|
-
|
|
167
|
+
@if (currentTab) {
|
|
168
168
|
<ng-container
|
|
169
169
|
*ngTemplateOutlet="currentTab.contentTemplate">
|
|
170
170
|
</ng-container>
|
|
171
|
-
|
|
171
|
+
}
|
|
172
172
|
</div>
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
@if (!isTop) {
|
|
175
175
|
<ng-container *ngTemplateOutlet="tabMenu"></ng-container>
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
178
|
|
|
179
179
|
<ng-template #tabMenu>
|
|
180
180
|
<div sui-menu
|
|
@@ -186,30 +186,30 @@ class SuiTabsComponent {
|
|
|
186
186
|
[suiPointing]="isPointing"
|
|
187
187
|
[suiText]="isText"
|
|
188
188
|
[suiBorderless]="isBorderless">
|
|
189
|
-
|
|
189
|
+
@for (tab of tabs; track tab; let i = $index) {
|
|
190
190
|
<div suiMenuItem
|
|
191
191
|
[disabled]="tab.disabled"
|
|
192
192
|
[suiActive]="isTabSelected(i)"
|
|
193
193
|
(click)="changeTab(tab, i)">
|
|
194
|
-
|
|
194
|
+
@if (tab.suiIcon) {
|
|
195
195
|
<i sui-icon
|
|
196
196
|
[suiIconType]="tab.suiIcon"></i>
|
|
197
|
-
|
|
197
|
+
}
|
|
198
198
|
|
|
199
199
|
{{tab.suiTitle}}
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
@if (tab.suiLabel) {
|
|
202
202
|
<div sui-label
|
|
203
203
|
[suiColour]="tab.suiLabelColour"
|
|
204
204
|
[suiCircular]="tab.suiLabelCircular">
|
|
205
205
|
{{tab.suiLabel}}
|
|
206
206
|
</div>
|
|
207
|
-
|
|
207
|
+
}
|
|
208
208
|
</div>
|
|
209
|
-
|
|
209
|
+
}
|
|
210
210
|
</div>
|
|
211
211
|
</ng-template>
|
|
212
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.
|
|
212
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SuiSegmentDirective, selector: "[sui-segment]", inputs: ["suiColour", "suiAttached", "suiStacked", "suiPadding", "suiTextAlignment", "suiFloated", "suiPlaceholder", "suiRaised", "suiPiled", "suiVertical", "suiInverted", "disabled", "suiLoading", "suiCompact", "suiCircular", "suiBasic", "suiClearing", "suiSecondary", "suiTertiary"], exportAs: ["suiSegment"] }, { kind: "directive", type: SuiMenuDirective, selector: "[sui-menu]", inputs: ["suiWidth", "suiAttached", "suiFixed", "suiColour", "suiIcon", "suiSize", "suiText", "suiSecondary", "suiPointing", "suiTabular", "suiVertical", "suiFluid", "suiRight", "suiPagination", "suiCompact", "suiStackable", "suiInverted", "suiBorderless"], exportAs: ["suiMenu"] }, { kind: "directive", type: SuiMenuItemDirective, selector: "[suiMenuItem]", inputs: ["suiLink", "suiActive", "suiBrowser", "disabled"], exportAs: ["suiMenuItem"] }, { kind: "directive", type: SuiIconDirective, selector: "i[sui-icon]", inputs: ["suiSize", "suiFlip", "suiRotation", "suiColour", "suiCorner", "suiIconType", "disabled", "suiLoading", "suiFitted", "suiLink", "suiCircular", "suiBordered", "suiInverted", "suiOutline"], exportAs: ["suiIcon"] }, { kind: "directive", type: SuiLabelDirective, selector: "[sui-label]", inputs: ["suiColour", "suiPointing", "suiCorner", "suiRibbon", "suiAttached", "suiSize", "suiImage", "suiBasic", "suiTag", "suiHorizontal", "suiFloating", "suiCircular", "suiEmpty"], exportAs: ["suiLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
213
213
|
}
|
|
214
214
|
__decorate([
|
|
215
215
|
InputBoolean()
|
|
@@ -231,26 +231,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
231
231
|
encapsulation: ViewEncapsulation.None,
|
|
232
232
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
233
233
|
template: `
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
@if (hasTabs) {
|
|
235
|
+
@if (isTop) {
|
|
236
236
|
<ng-container *ngTemplateOutlet="tabMenu"></ng-container>
|
|
237
|
-
|
|
237
|
+
}
|
|
238
238
|
|
|
239
239
|
<div class="active tab"
|
|
240
240
|
sui-segment
|
|
241
241
|
[class.loading]="currentTab?.suiLoading"
|
|
242
242
|
[suiAttached]="segmentAttachment">
|
|
243
|
-
|
|
243
|
+
@if (currentTab) {
|
|
244
244
|
<ng-container
|
|
245
245
|
*ngTemplateOutlet="currentTab.contentTemplate">
|
|
246
246
|
</ng-container>
|
|
247
|
-
|
|
247
|
+
}
|
|
248
248
|
</div>
|
|
249
249
|
|
|
250
|
-
|
|
250
|
+
@if (!isTop) {
|
|
251
251
|
<ng-container *ngTemplateOutlet="tabMenu"></ng-container>
|
|
252
|
-
|
|
253
|
-
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
254
|
|
|
255
255
|
<ng-template #tabMenu>
|
|
256
256
|
<div sui-menu
|
|
@@ -262,27 +262,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
262
262
|
[suiPointing]="isPointing"
|
|
263
263
|
[suiText]="isText"
|
|
264
264
|
[suiBorderless]="isBorderless">
|
|
265
|
-
|
|
265
|
+
@for (tab of tabs; track tab; let i = $index) {
|
|
266
266
|
<div suiMenuItem
|
|
267
267
|
[disabled]="tab.disabled"
|
|
268
268
|
[suiActive]="isTabSelected(i)"
|
|
269
269
|
(click)="changeTab(tab, i)">
|
|
270
|
-
|
|
270
|
+
@if (tab.suiIcon) {
|
|
271
271
|
<i sui-icon
|
|
272
272
|
[suiIconType]="tab.suiIcon"></i>
|
|
273
|
-
|
|
273
|
+
}
|
|
274
274
|
|
|
275
275
|
{{tab.suiTitle}}
|
|
276
276
|
|
|
277
|
-
|
|
277
|
+
@if (tab.suiLabel) {
|
|
278
278
|
<div sui-label
|
|
279
279
|
[suiColour]="tab.suiLabelColour"
|
|
280
280
|
[suiCircular]="tab.suiLabelCircular">
|
|
281
281
|
{{tab.suiLabel}}
|
|
282
282
|
</div>
|
|
283
|
-
|
|
283
|
+
}
|
|
284
284
|
</div>
|
|
285
|
-
|
|
285
|
+
}
|
|
286
286
|
</div>
|
|
287
287
|
</ng-template>
|
|
288
288
|
`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-tabs.mjs","sources":["../../src/modules/tabs/tab.component.ts","../../src/modules/tabs/tabs.component.ts","../../src/modules/tabs/tabs.module.ts","../../src/modules/tabs/public-api.ts","../../src/modules/tabs/ngx-semantic-modules-tabs.ts"],"sourcesContent":["/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nimport {Component, HostBinding, Input, TemplateRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport {SuiColour} from 'ngx-semantic/core/enums';\n\n@Component({\n standalone: true,\n selector: 'sui-tab',\n exportAs: 'suiTab',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class SuiTabComponent {\n @Input() public suiContent!: TemplateRef<any>;\n @Input() public suiTitle: string | null = null;\n @Input() public suiIcon: string | null = null;\n @Input() public suiLabel: string | number | null = null;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() public suiLabelColour: SuiColour = null;\n @Input() @InputBoolean() public suiLabelCircular = false;\n\n @ViewChild('contentTemplate', { static: true }) public contentTemplate!: TemplateRef<any>;\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n ClassUtils.getPropClass(this.disabled, 'disabled')\n ].join(' ');\n }\n}\n","/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChildren, EventEmitter,\n Input, Output,\n QueryList, ViewEncapsulation\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InputBoolean} from 'ngx-semantic/core/util';\nimport {SuiTabComponent} from './tab.component';\nimport {SuiColour} from 'ngx-semantic/core/enums';\nimport {SuiMenuAttachment, SuiMenuDirective, SuiMenuItemDirective} from 'ngx-semantic/collections/menu';\nimport {SuiSegmentAttachment, SuiSegmentDirective} from 'ngx-semantic/elements/segment';\nimport {SuiIconDirective} from 'ngx-semantic/elements/icon';\nimport {SuiLabelDirective} from 'ngx-semantic/elements/label';\n\nexport type SuiTabType = 'basic' | 'pointing' | 'secondary' | 'text' | 'bordered' | 'borderless';\nexport type SuiTabMenuPosition = 'top' | 'bottom';\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n SuiSegmentDirective,\n SuiMenuDirective,\n SuiMenuItemDirective,\n SuiIconDirective,\n SuiLabelDirective\n ],\n selector: 'sui-tabs',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-container *ngIf=\"hasTabs\">\n <ng-container *ngIf=\"isTop\">\n <ng-container *ngTemplateOutlet=\"tabMenu\"></ng-container>\n </ng-container>\n\n <div class=\"active tab\"\n sui-segment\n [class.loading]=\"currentTab?.suiLoading\"\n [suiAttached]=\"segmentAttachment\">\n <ng-container *ngIf=\"currentTab\">\n <ng-container\n *ngTemplateOutlet=\"currentTab.contentTemplate\">\n </ng-container>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"!isTop\">\n <ng-container *ngTemplateOutlet=\"tabMenu\"></ng-container>\n </ng-container>\n </ng-container>\n\n <ng-template #tabMenu>\n <div sui-menu\n [suiInverted]=\"suiInverted\"\n [suiColour]=\"suiColour\"\n [suiAttached]=\"menuAttachment\"\n [suiTabular]=\"isBasic\"\n [suiSecondary]=\"isSecondary\"\n [suiPointing]=\"isPointing\"\n [suiText]=\"isText\"\n [suiBorderless]=\"isBorderless\">\n <ng-container *ngFor=\"let tab of tabs; let i = index;\">\n <div suiMenuItem\n [disabled]=\"tab.disabled\"\n [suiActive]=\"isTabSelected(i)\"\n (click)=\"changeTab(tab, i)\">\n <ng-container *ngIf=\"tab.suiIcon\">\n <i sui-icon\n [suiIconType]=\"tab.suiIcon\"></i>\n </ng-container>\n\n {{tab.suiTitle}}\n\n <ng-container *ngIf=\"tab.suiLabel\">\n <div sui-label\n [suiColour]=\"tab.suiLabelColour\"\n [suiCircular]=\"tab.suiLabelCircular\">\n {{tab.suiLabel}}\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-template>\n `\n})\nexport class SuiTabsComponent implements AfterContentChecked {\n @ContentChildren(SuiTabComponent) public tabs: QueryList<SuiTabComponent> = new QueryList<SuiTabComponent>();\n\n @Input() public suiTabMenuPosition: SuiTabMenuPosition = 'top';\n @Input() public suiTabType: SuiTabType = 'basic';\n @Input() public suiColour: SuiColour = null;\n @Input() @InputBoolean() public suiInverted = false;\n\n @Output() public readonly suiSelectedIndexChanged = new EventEmitter<number>();\n\n private selectedTabIndex = 0;\n public hasTabs = false;\n public currentTab: SuiTabComponent | null = null;\n\n get isSecondary(): boolean {\n return this.suiTabType === 'secondary';\n }\n\n get isBasic(): boolean {\n return this.suiTabType === 'basic';\n }\n\n get isPointing(): boolean {\n return this.suiTabType === 'pointing';\n }\n\n get isText(): boolean {\n return this.suiTabType === 'text';\n }\n\n get isBorderless(): boolean {\n return this.suiTabType === 'borderless';\n }\n\n get isTop(): boolean {\n return this.suiTabMenuPosition === 'top';\n }\n\n get menuAttachment(): SuiMenuAttachment {\n if (this.suiTabType === 'basic') {\n if (this.isTop) {\n return 'top';\n } else {\n return 'bottom';\n }\n }\n\n return null;\n }\n\n get segmentAttachment(): SuiSegmentAttachment {\n if (this.suiTabType === 'basic') {\n if (this.isTop) {\n return 'bottom attached';\n } else {\n return 'top attached';\n }\n }\n\n return null;\n }\n\n public changeTab(tab: SuiTabComponent, index: number): void {\n if (tab.disabled) {\n return;\n }\n\n const tabChanged = this.selectedTabIndex !== index;\n\n this.selectedTabIndex = index;\n this.setCurrentTab();\n\n if (tabChanged) {\n this.suiSelectedIndexChanged.emit(this.selectedTabIndex);\n }\n }\n\n public isTabSelected(index: number): boolean {\n return this.selectedTabIndex === index;\n }\n\n public ngAfterContentChecked(): void {\n this.setCurrentTab();\n }\n\n private setCurrentTab(): void {\n const tabs = this.tabs.toArray();\n this.hasTabs = tabs.length > 0;\n this.currentTab = tabs[this.selectedTabIndex];\n }\n}\n","/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {SuiTabComponent} from './tab.component';\nimport {SuiTabsComponent} from './tabs.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiTabComponent,\n SuiTabsComponent\n ],\n exports: [\n SuiTabComponent,\n SuiTabsComponent\n ]\n})\nexport class SuiTabsModule {\n}\n","/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nexport * from './tabs.component';\nexport * from './tab.component';\nexport * from './tabs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-tabs.mjs","sources":["../../src/modules/tabs/tab.component.ts","../../src/modules/tabs/tabs.component.ts","../../src/modules/tabs/tabs.module.ts","../../src/modules/tabs/public-api.ts","../../src/modules/tabs/ngx-semantic-modules-tabs.ts"],"sourcesContent":["/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nimport { Component, HostBinding, Input, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiColour } from 'ngx-semantic/core/enums';\n\n@Component({\n standalone: true,\n selector: 'sui-tab',\n exportAs: 'suiTab',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class SuiTabComponent {\n @Input() public suiContent!: TemplateRef<any>;\n @Input() public suiTitle: string | null = null;\n @Input() public suiIcon: string | null = null;\n @Input() public suiLabel: string | number | null = null;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() public suiLabelColour: SuiColour = null;\n @Input() @InputBoolean() public suiLabelCircular = false;\n\n @ViewChild('contentTemplate', { static: true }) public contentTemplate!: TemplateRef<any>;\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n ClassUtils.getPropClass(this.disabled, 'disabled')\n ].join(' ');\n }\n}\n","/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChildren, EventEmitter,\n Input, Output,\n QueryList, ViewEncapsulation\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiTabComponent } from './tab.component';\nimport { SuiColour } from 'ngx-semantic/core/enums';\nimport { SuiMenuAttachment, SuiMenuDirective, SuiMenuItemDirective } from 'ngx-semantic/collections/menu';\nimport { SuiSegmentAttachment, SuiSegmentDirective } from 'ngx-semantic/elements/segment';\nimport { SuiIconDirective } from 'ngx-semantic/elements/icon';\nimport { SuiLabelDirective } from 'ngx-semantic/elements/label';\n\nexport type SuiTabType = 'basic' | 'pointing' | 'secondary' | 'text' | 'bordered' | 'borderless';\nexport type SuiTabMenuPosition = 'top' | 'bottom';\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n SuiSegmentDirective,\n SuiMenuDirective,\n SuiMenuItemDirective,\n SuiIconDirective,\n SuiLabelDirective\n ],\n selector: 'sui-tabs',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (hasTabs) {\n @if (isTop) {\n <ng-container *ngTemplateOutlet=\"tabMenu\"></ng-container>\n }\n\n <div class=\"active tab\"\n sui-segment\n [class.loading]=\"currentTab?.suiLoading\"\n [suiAttached]=\"segmentAttachment\">\n @if (currentTab) {\n <ng-container\n *ngTemplateOutlet=\"currentTab.contentTemplate\">\n </ng-container>\n }\n </div>\n\n @if (!isTop) {\n <ng-container *ngTemplateOutlet=\"tabMenu\"></ng-container>\n }\n }\n\n <ng-template #tabMenu>\n <div sui-menu\n [suiInverted]=\"suiInverted\"\n [suiColour]=\"suiColour\"\n [suiAttached]=\"menuAttachment\"\n [suiTabular]=\"isBasic\"\n [suiSecondary]=\"isSecondary\"\n [suiPointing]=\"isPointing\"\n [suiText]=\"isText\"\n [suiBorderless]=\"isBorderless\">\n @for (tab of tabs; track tab; let i = $index) {\n <div suiMenuItem\n [disabled]=\"tab.disabled\"\n [suiActive]=\"isTabSelected(i)\"\n (click)=\"changeTab(tab, i)\">\n @if (tab.suiIcon) {\n <i sui-icon\n [suiIconType]=\"tab.suiIcon\"></i>\n }\n\n {{tab.suiTitle}}\n\n @if (tab.suiLabel) {\n <div sui-label\n [suiColour]=\"tab.suiLabelColour\"\n [suiCircular]=\"tab.suiLabelCircular\">\n {{tab.suiLabel}}\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n `\n})\nexport class SuiTabsComponent implements AfterContentChecked {\n @ContentChildren(SuiTabComponent) public tabs: QueryList<SuiTabComponent> = new QueryList<SuiTabComponent>();\n\n @Input() public suiTabMenuPosition: SuiTabMenuPosition = 'top';\n @Input() public suiTabType: SuiTabType = 'basic';\n @Input() public suiColour: SuiColour = null;\n @Input() @InputBoolean() public suiInverted = false;\n\n @Output() public readonly suiSelectedIndexChanged = new EventEmitter<number>();\n\n private selectedTabIndex = 0;\n public hasTabs = false;\n public currentTab: SuiTabComponent | null = null;\n\n get isSecondary(): boolean {\n return this.suiTabType === 'secondary';\n }\n\n get isBasic(): boolean {\n return this.suiTabType === 'basic';\n }\n\n get isPointing(): boolean {\n return this.suiTabType === 'pointing';\n }\n\n get isText(): boolean {\n return this.suiTabType === 'text';\n }\n\n get isBorderless(): boolean {\n return this.suiTabType === 'borderless';\n }\n\n get isTop(): boolean {\n return this.suiTabMenuPosition === 'top';\n }\n\n get menuAttachment(): SuiMenuAttachment {\n if (this.suiTabType === 'basic') {\n if (this.isTop) {\n return 'top';\n } else {\n return 'bottom';\n }\n }\n\n return null;\n }\n\n get segmentAttachment(): SuiSegmentAttachment {\n if (this.suiTabType === 'basic') {\n if (this.isTop) {\n return 'bottom attached';\n } else {\n return 'top attached';\n }\n }\n\n return null;\n }\n\n public changeTab(tab: SuiTabComponent, index: number): void {\n if (tab.disabled) {\n return;\n }\n\n const tabChanged = this.selectedTabIndex !== index;\n\n this.selectedTabIndex = index;\n this.setCurrentTab();\n\n if (tabChanged) {\n this.suiSelectedIndexChanged.emit(this.selectedTabIndex);\n }\n }\n\n public isTabSelected(index: number): boolean {\n return this.selectedTabIndex === index;\n }\n\n public ngAfterContentChecked(): void {\n this.setCurrentTab();\n }\n\n private setCurrentTab(): void {\n const tabs = this.tabs.toArray();\n this.hasTabs = tabs.length > 0;\n this.currentTab = tabs[this.selectedTabIndex];\n }\n}\n","/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SuiTabComponent } from './tab.component';\nimport { SuiTabsComponent } from './tabs.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiTabComponent,\n SuiTabsComponent\n ],\n exports: [\n SuiTabComponent,\n SuiTabsComponent\n ]\n})\nexport class SuiTabsModule {\n}\n","/**\n * Created by bolorundurowb on 12/22/2020\n */\n\nexport * from './tabs.component';\nexport * from './tab.component';\nexport * from './tabs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|