barsa-tiles 3.0.13 → 3.0.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barsa-tiles",
3
- "version": "3.0.13",
3
+ "version": "3.0.14",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^22.0.8",
6
6
  "@angular/common": "^22.0.8",
@@ -1144,6 +1144,18 @@ declare class TilePropPipe implements PipeTransform {
1144
1144
 
1145
1145
  /** کلید گروه‌های chip فیلتر نتایج جستجو (به‌جز «همه»). */
1146
1146
  type SuggestionGroupFilter = 'subsystem' | 'navgroup' | 'report' | 'command';
1147
+ /**
1148
+ * یک ورودی از فهرست واحد دستورات نوار (BTILES-006). ترتیب فهرست = ترتیب نمایش:
1149
+ * اول دستورات سراسری، بعد workflow، بعد منوهای گروهی.
1150
+ * `action` همان ورودی به شکل گره‌ی منوی ⋯ است.
1151
+ */
1152
+ interface ShellbarCommandEntry {
1153
+ id: string;
1154
+ kind: 'global' | 'workflow' | 'group';
1155
+ command?: ShellbarCommandAction;
1156
+ group?: ShellbarGroupedCommandMenu;
1157
+ action: ShellbarCommandAction;
1158
+ }
1147
1159
  interface ShellbarSetting extends MetaobjectDataModel {
1148
1160
  subtitle: string;
1149
1161
  calcSubtitle: string;
@@ -1237,6 +1249,10 @@ declare class BarsaShellbarComponent extends BaseComponent implements OnInit {
1237
1249
  comboboxComponent: ComboboxComponent;
1238
1250
  popoverComponent: PopoverComponent;
1239
1251
  _notificationsDialog: TemplateRef<any>;
1252
+ /** ظرف دستورات نوار؛ عرضش = فضای در اختیار دستورات (مستقل از تعداد دستورات نمایان). */
1253
+ commandsHost: ElementRef<HTMLElement>;
1254
+ /** لایه‌ی اندازه‌گیری پنهان که همه‌ی ورودی‌ها و دکمه‌ی ⋯ را با همان markup نوار رندر می‌کند. */
1255
+ commandsMeasure: ElementRef<HTMLElement>;
1240
1256
  /** گروه فعال فیلتر نتایج جستجو؛ `null` یعنی «همه». signal است تا view داخل dialog (OnPush) رفرش شود. */
1241
1257
  selectedSuggestionFilter: i0.WritableSignal<SuggestionGroupFilter | null>;
1242
1258
  isOpenNotificatoin: boolean;
@@ -1250,6 +1266,19 @@ declare class BarsaShellbarComponent extends BaseComponent implements OnInit {
1250
1266
  appVersion: string;
1251
1267
  /** روی موبایل اگه شل‌بار جا کم بیاره، تایتلِ برندینگ حذف می‌شه تا لوگو/آواتار از صفحه نزنن بیرون. */
1252
1268
  brandingTitleHidden: boolean;
1269
+ /** فهرست واحد دستورات نوار (سراسری، workflow، گروهی)؛ در `ngOnChanges` از روی inputها ساخته می‌شود. */
1270
+ readonly commandEntries: i0.WritableSignal<ShellbarCommandEntry[]>;
1271
+ /**
1272
+ * تعداد ورودی‌هایی که در نوار می‌مانند (priority+، BTILES-006). روی موبایل همه به ⋯ می‌روند؛
1273
+ * در بقیه‌ی اندازه‌ها از اندازه‌گیری عرض می‌آید (تا قبل از اولین اندازه‌گیری، همه نمایان‌اند).
1274
+ */
1275
+ readonly visibleCommandCount: i0.Signal<number>;
1276
+ /** ورودی‌های نمایان در نوار: `slice(0, visibleCount)`. */
1277
+ readonly visibleCommandEntries: i0.Signal<ShellbarCommandEntry[]>;
1278
+ /** ورودی‌های داخل منوی ⋯: `slice(visibleCount)`؛ هر ورودی یا این‌جاست یا در نوار (AC-3). */
1279
+ readonly hiddenCommandEntries: i0.Signal<ShellbarCommandEntry[]>;
1280
+ /** گره‌های منوی ⋯ (همان نگاشت `mobileCommandNodes`، فقط برای ورودی‌های پنهان). */
1281
+ readonly hiddenCommandNodes: i0.Signal<ShellbarCommandAction[]>;
1253
1282
  private _bbbTranslate;
1254
1283
  private _portalService;
1255
1284
  private _favoriteItems;
@@ -1260,16 +1289,27 @@ declare class BarsaShellbarComponent extends BaseComponent implements OnInit {
1260
1289
  private _dialogReference;
1261
1290
  private _titleWidth;
1262
1291
  private _brandingResizeObserver?;
1263
- /** در اندازه‌های کوچک و متوسط، دستورات به‌جای نمایش مستقیم داخل منوی overflow قرار می‌گیرند. */
1292
+ private _commandsResizeObserver?;
1293
+ private _commandMeasureFrame;
1294
+ /** نتیجه‌ی آخرین اندازه‌گیری؛ مقدار اولیه یعنی «همه نمایان» (fallback وقتی ResizeObserver نیست). */
1295
+ private readonly _measuredVisibleCount;
1296
+ private readonly _allCommandsInOverflow;
1297
+ /**
1298
+ * فقط روی موبایل (`'s'`) همه‌ی دستورات به‌جای نمایش مستقیم داخل منوی overflow (⋯) قرار می‌گیرند.
1299
+ * در بقیه‌ی اندازه‌ها سرریز priority+ است: فقط دستوراتی که جا نمی‌شوند به ⋯ می‌روند (BTILES-006).
1300
+ */
1264
1301
  get isCompactShellbar(): boolean;
1302
+ /** ظاهر منوی ⋯ در جایی که قبلاً هم ⋯ داشت (`'s'` و `'m'`) عوض نمی‌شود؛ در `'l'`/`'xl'` popover عادی است. */
1303
+ get isOverflowMenuMobile(): boolean;
1265
1304
  /**
1266
- * روی موبایل و تبلت همه‌ی دستورات (global + workflow + grouped) توی یک منوی overflow (⋯) جمع می‌شن
1267
- * تا شل‌بار سرریز نکنه و برندینگ/آواتار جا بمونن. این getter اون سه منبع رو به یک درختِ واحد ادغام می‌کنه.
1305
+ * همه‌ی دستورات (global + workflow + grouped) به شکل یک درختِ واحد، به همان ترتیب نوار.
1306
+ * منوی ⋯ زیرمجموعه‌ی انتهایی همین فهرست را نشان می‌دهد (`hiddenCommandNodes`).
1268
1307
  */
1269
1308
  get mobileCommandNodes(): ShellbarCommandAction[];
1270
1309
  constructor();
1271
1310
  ngOnInit(): void;
1272
1311
  ngOnChanges(changes: SimpleChanges): void;
1312
+ ngAfterViewInit(): void;
1273
1313
  ngOnDestroy(): void;
1274
1314
  onSearchSubmit(e: SearchInput): void;
1275
1315
  /**
@@ -1299,6 +1339,23 @@ declare class BarsaShellbarComponent extends BaseComponent implements OnInit {
1299
1339
  * تایتلِ برندینگ رو حذف می‌کنه. با hysteresis (پهنای تایتل + کمی فاصله) از نوسانِ پنهان/نمایان جلوگیری می‌شه.
1300
1340
  */
1301
1341
  private _initBrandingOverflowWatch;
1342
+ /**
1343
+ * سرریز priority+ دستورات (BTILES-006): عرض ظرف دستورات و عرض لایه‌ی اندازه‌گیری را با ResizeObserver
1344
+ * می‌پاید. لایه‌ی اندازه‌گیری هم پاییده می‌شود تا تغییر برچسب‌ها (زبان، فونت) هم بازمحاسبه شود.
1345
+ * اگر ResizeObserver نبود، همه‌ی دستورات نمایان می‌مانند (رفتار قبلی عرض کامل).
1346
+ */
1347
+ private _initCommandOverflowWatch;
1348
+ /** اندازه‌گیری را به فریم بعد (بعد از رندر) می‌برد و چند درخواست هم‌فریم را یکی می‌کند. */
1349
+ private _scheduleCommandMeasure;
1350
+ /**
1351
+ * عرض هر ورودی و دکمه‌ی ⋯ را از لایه‌ی اندازه‌گیری می‌خواند و `visibleCount` را با تابع خالص حساب می‌کند.
1352
+ * عرض ظرف (`flex: 1 1 0`، `min-width: 0`) به تعداد دستورات نمایان وابسته نیست، پس حلقه‌ی بازخورد نداریم —
1353
+ * به شرط override ِ کانتکست‌اریا در scss (10061): fundamental-ngx آن را `flex: none` می‌کند و بدون override،
1354
+ * `host.clientWidth` همان عرض دستورات نمایان می‌شد و شمارش فقط کم می‌شد، هیچ‌وقت زیاد.
1355
+ */
1356
+ private _measureCommands;
1357
+ /** فهرست واحد دستورات به ترتیب نوار؛ نگاشت هر ورودی به گره‌ی منوی ⋯ فقط همین‌جاست. */
1358
+ private _buildCommandEntries;
1302
1359
  private _closeSideMenu;
1303
1360
  private _changeCulture;
1304
1361
  static ɵfac: i0.ɵɵFactoryDeclaration<BarsaShellbarComponent, never>;