bm-core-ui 2.9.3 → 2.10.0

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.
Files changed (59) hide show
  1. package/build/@types/index.d.ts +353 -61
  2. package/build/BMCollectionView/BMCollectionView.js +77 -39
  3. package/build/BMCollectionView/BMCollectionViewFlowLayout.js +18 -5
  4. package/build/BMCoreUI.css +45 -18
  5. package/build/BMView/BMMenu.js +134 -7
  6. package/build/BMView/BMView_v2.5.js +62 -3
  7. package/build/BMWindow/BMConfirmationPopup.js +1 -1
  8. package/build/BMWindow/BMKeyboardShortcut.js +338 -88
  9. package/build/BMWindow/BMPopover/BMPopover.js +53 -12
  10. package/build/BMWindow/BMWindow.js +32 -6
  11. package/build/Core/BMCoreUI.js +20 -8
  12. package/build/Core/BMRect.js +1 -1
  13. package/build/images/AlignBottom.png +0 -0
  14. package/build/images/AlignCenterX.png +0 -0
  15. package/build/images/AlignCenterY.png +0 -0
  16. package/build/images/AlignLeading.png +0 -0
  17. package/build/images/AlignTop.png +0 -0
  18. package/build/images/AlignTrailing.png +0 -0
  19. package/build/images/AllConstraints.png +0 -0
  20. package/build/images/BottomConstraint.png +0 -0
  21. package/build/images/CenterXConstraint.png +0 -0
  22. package/build/images/CenterYConstraint.png +0 -0
  23. package/build/images/CoreUI2.png +0 -0
  24. package/build/images/CoreUI2@2x.png +0 -0
  25. package/build/images/Desktop.png +0 -0
  26. package/build/images/DesktopMini.png +0 -0
  27. package/build/images/EqualHeight.png +0 -0
  28. package/build/images/EqualHorizontalSpacing.png +0 -0
  29. package/build/images/EqualHorizontalSpacingInSuperview.png +0 -0
  30. package/build/images/EqualVerticalSpacing.png +0 -0
  31. package/build/images/EqualVerticalSpacingInSuperview.png +0 -0
  32. package/build/images/EqualWidth.png +0 -0
  33. package/build/images/HeightConstraint.png +0 -0
  34. package/build/images/InactiveConstraints.png +0 -0
  35. package/build/images/Layout.png +0 -0
  36. package/build/images/LayoutVariables.png +0 -0
  37. package/build/images/LeftConstraint.png +0 -0
  38. package/build/images/OwnConstraints.png +0 -0
  39. package/build/images/Phone.png +0 -0
  40. package/build/images/PhoneLandscape.png +0 -0
  41. package/build/images/PhoneLandscapeMini.png +0 -0
  42. package/build/images/PhoneMini.png +0 -0
  43. package/build/images/PhonePortrait.png +0 -0
  44. package/build/images/PhonePortraitMini.png +0 -0
  45. package/build/images/Properties.png +0 -0
  46. package/build/images/RightConstraint.png +0 -0
  47. package/build/images/SubviewConstraints.png +0 -0
  48. package/build/images/Tablet.png +0 -0
  49. package/build/images/TabletLandscape.png +0 -0
  50. package/build/images/TabletLandscapeMini.png +0 -0
  51. package/build/images/TabletMini.png +0 -0
  52. package/build/images/TabletPortrait.png +0 -0
  53. package/build/images/TabletPortraitMini.png +0 -0
  54. package/build/images/TopConstraint.png +0 -0
  55. package/build/images/WidthConstraint.png +0 -0
  56. package/build/index.js +2 -0
  57. package/lib/@types/BMCoreUI.min.d.ts +353 -61
  58. package/lib/BMCoreUI.min.js +3 -1
  59. package/package.json +9 -10
@@ -245,49 +245,55 @@ export class BMHTMLEntity {
245
245
  * The HTML entity representing the control key.
246
246
  *
247
247
  */
248
- static Control: BMHTMLEntity;
248
+ static Control: string;
249
249
 
250
250
  /**
251
251
  * The HTML entity representing the bowen knot Command symbol.
252
252
  *
253
253
  */
254
- static Command: BMHTMLEntity;
254
+ static Command: string;
255
255
 
256
256
  /**
257
257
  * The HTML entity representing the Option symbol.
258
258
  *
259
259
  */
260
- static Option: BMHTMLEntity;
260
+ static Option: string;
261
261
 
262
262
  /**
263
263
  * The HTML entity representing the Shift symbol.
264
264
  *
265
265
  */
266
- static Shift: BMHTMLEntity;
266
+ static Shift: string;
267
267
 
268
268
  /**
269
269
  * The HTML entity representing the Caps-Lock symbol.
270
270
  *
271
271
  */
272
- static CapsLock: BMHTMLEntity;
272
+ static CapsLock: string;
273
273
 
274
274
  /**
275
275
  * The HTML entity representing the Backspace delete symbol.
276
276
  *
277
277
  */
278
- static Delete: BMHTMLEntity;
278
+ static Delete: string;
279
279
 
280
280
  /**
281
281
  * The HTML entity representing the Return symbol.
282
282
  *
283
283
  */
284
- static Return: BMHTMLEntity;
284
+ static Return: string;
285
285
 
286
286
  /**
287
287
  * The HTML entity representing the Escape symbol.
288
288
  *
289
289
  */
290
- static Escape: BMHTMLEntity;
290
+ static Escape: string;
291
+
292
+ /**
293
+ * The HTML entity representing the Tab symbol.
294
+ *
295
+ */
296
+ static Tab: string;
291
297
 
292
298
  private constructor();
293
299
  }
@@ -3441,6 +3447,17 @@ export class BMViewConstraintAttribute {
3441
3447
  */
3442
3448
  private _view: BMView;
3443
3449
 
3450
+ /**
3451
+ * Constructs and returns a layout constraint that links this view constraint attribute to constant value.
3452
+ * The constraint will be created with an equality sign.
3453
+ * @param constant The constraint's constant.
3454
+ * @param priority Defaults to `BMLayoutConstraintPriorityRequired`. The constraint's priority.
3455
+ * @return A layout constraint.
3456
+ *
3457
+ */
3458
+ equalTo(constant: number, {priority}?: {priority?: number | null | undefined}): BMLayoutConstraint;
3459
+
3460
+
3444
3461
  /**
3445
3462
  * Constructs and returns a layout constraint that links this view constraint attribute to the given attribute.
3446
3463
  * The constraint will be created with an equality sign.
@@ -3454,6 +3471,17 @@ export class BMViewConstraintAttribute {
3454
3471
  equalTo(attribute: BMViewConstraintAttribute, {times, plus, priority}?: {times?: number | null | undefined, plus?: number | null | undefined, priority?: number | null | undefined}): BMLayoutConstraint;
3455
3472
 
3456
3473
 
3474
+ /**
3475
+ * Constructs and returns a layout constraint that links this view constraint attribute to constant value.
3476
+ * The constraint will be created with a less than or equals sign.
3477
+ * @param constant The constraint's constant.
3478
+ * @param priority Defaults to `BMLayoutConstraintPriorityRequired`. The constraint's priority.
3479
+ * @return A layout constraint.
3480
+ *
3481
+ */
3482
+ lessThanOrEqualTo(constant: number, {priority}?: {priority?: number | null | undefined}): BMLayoutConstraint;
3483
+
3484
+
3457
3485
  /**
3458
3486
  * Constructs and returns a layout constraint that links this view constraint attribute to the given attribute.
3459
3487
  * The constraint will be created with a less than or equals sign.
@@ -3467,6 +3495,17 @@ export class BMViewConstraintAttribute {
3467
3495
  lessThanOrEqualTo(attribute: BMViewConstraintAttribute, {times, plus, priority}?: {times?: number | null | undefined, plus?: number | null | undefined, priority?: number | null | undefined}): BMLayoutConstraint;
3468
3496
 
3469
3497
 
3498
+ /**
3499
+ * Constructs and returns a layout constraint that links this view constraint attribute to constant value.
3500
+ * The constraint will be created with a greather than or equals sign.
3501
+ * @param constant The constraint's constant.
3502
+ * @param priority Defaults to `BMLayoutConstraintPriorityRequired`. The constraint's priority.
3503
+ * @return A layout constraint.
3504
+ *
3505
+ */
3506
+ greaterThanOrEqualTo(constant: number, {priority}?: {priority?: number | null | undefined}): BMLayoutConstraint;
3507
+
3508
+
3470
3509
  /**
3471
3510
  * Constructs and returns a layout constraint that links this view constraint attribute to the given attribute.
3472
3511
  * The constraint will be created with a greater than or equals sign.
@@ -3534,6 +3573,32 @@ export class BMViewLayoutQueue {
3534
3573
  }
3535
3574
 
3536
3575
 
3576
+ /**
3577
+ * Constants that describe the color scheme that a view should use when drawing itself.
3578
+ *
3579
+ */
3580
+ export class BMViewColorScheme {
3581
+ /**
3582
+ * Indicates that the view's color scheme should be based on the system color scheme.
3583
+ *
3584
+ */
3585
+ static Auto: BMViewColorScheme;
3586
+
3587
+ /**
3588
+ * Indicates that the view should always use a dark color scheme regardless of the system color scheme setting.
3589
+ *
3590
+ */
3591
+ static Dark: BMViewColorScheme;
3592
+
3593
+ /**
3594
+ * Indicates that the view should always use a light color scheme regardless of the system color scheme setting.
3595
+ *
3596
+ */
3597
+ static Light: BMViewColorScheme;
3598
+
3599
+ private constructor();
3600
+ }
3601
+
3537
3602
  /**
3538
3603
  * A view is a wrapper around a DOM node enabling various CoreUI-related functionality.
3539
3604
  * Views typically do not duplicate existing DOM capabilities, but instead are used to
@@ -4255,6 +4320,24 @@ export class BMView {
4255
4320
  hasIsVisibleVariationForSizeClass(sizeClass: BMLayoutSizeClass): boolean;
4256
4321
 
4257
4322
 
4323
+ /**
4324
+ * The color scheme that this view should use.
4325
+ *
4326
+ */
4327
+ colorScheme: BMViewColorScheme;
4328
+
4329
+ /**
4330
+ * Invoked by CoreUI whenever the color scheme that the view should use changes.
4331
+ *
4332
+ * Subclasses may use this method to perform any changes needed to support the requested color scheme.
4333
+ * Subclasses that override this method must invoke the superclass method at some point in their implementation.
4334
+ *
4335
+ * @param scheme The previous color scheme.
4336
+ *
4337
+ */
4338
+ protected colorSchemeDidChange(scheme: BMViewColorScheme): void;
4339
+
4340
+
4258
4341
  /**
4259
4342
  * Used by CoreUI to determine if this view's intrinsic size should match the intrinsic size reported by its node element.
4260
4343
  * When this getter returns `YES`, CoreUI will measure the view's node to determine its intrinsic size.
@@ -7998,6 +8081,19 @@ export class BMMenuItem {
7998
8081
  */
7999
8082
  CSSClass?: string | null | undefined;
8000
8083
 
8084
+ /**
8085
+ * An optional key sequence that may be used to select this menu item via a keyboard shortcut.
8086
+ * Updates to this property do not take effect while a menu displaying this menu item is open.
8087
+ *
8088
+ */
8089
+ keySequence?: BMKeySequence | null | undefined;
8090
+
8091
+ /**
8092
+ * An optional hint HTML text that will be displayed next to the menu item.
8093
+ *
8094
+ */
8095
+ hintHTML?: string | null | undefined;
8096
+
8001
8097
  /**
8002
8098
  * The node that represents this menu item, available while its menu
8003
8099
  * is open.
@@ -8005,6 +8101,13 @@ export class BMMenuItem {
8005
8101
  */
8006
8102
  private _node?: DOMNode | null | undefined;
8007
8103
 
8104
+ /**
8105
+ * Defaults to `YES`. Controls whether this menu item is enabled. If this menu
8106
+ * item is not enabled, it can not be highlighted or selected.
8107
+ *
8108
+ */
8109
+ enabled: boolean;
8110
+
8008
8111
  /**
8009
8112
  * Constructs and returns a menu item with the given name.
8010
8113
  * Optionally, the menu item may have an icon associated with it as well as an
@@ -8015,12 +8118,13 @@ export class BMMenuItem {
8015
8118
  *
8016
8119
  * @param action If specified, this is a function that will be invoked when this menu item is selected.
8017
8120
  * This function will receive the selected menu item as a parameter.
8121
+ * @param enabled Defaults to `YES`. Controls whether this item is enabled and can be selected.
8018
8122
  * @param submenu Optional. If specified, this represents a menu that opens from this menu item.
8019
8123
  * @param userInfo Optional. If specified, this represents additional arbitrary data attached to this menu item.
8020
8124
  * @return This menu item.
8021
8125
  *
8022
8126
  */
8023
- initWithName(name: string, {icon, action, submenu, userInfo}?: {icon?: string | null | undefined, action?: (($0: BMMenuItem) => void) | null | undefined, submenu?: BMMenu | null | undefined, userInfo?: any | null | undefined}): BMMenuItem;
8127
+ initWithName(name: string, {icon, action, enabled, submenu, userInfo}?: {icon?: string | null | undefined, action?: (($0: BMMenuItem) => void) | null | undefined, enabled?: boolean | null | undefined, submenu?: BMMenu | null | undefined, userInfo?: any | null | undefined}): BMMenuItem;
8024
8128
 
8025
8129
 
8026
8130
  /**
@@ -8033,12 +8137,13 @@ export class BMMenuItem {
8033
8137
  *
8034
8138
  * @param action If specified, this is a function that will be invoked when this menu item is selected.
8035
8139
  * This function will receive the selected menu item as a parameter.
8140
+ * @param enabled Defaults to `YES`. Controls whether this item is enabled and can be selected.
8036
8141
  * @param submenu Optional. If specified, this represents a menu that opens from this menu item.
8037
8142
  * @param userInfo Optional. If specified, this represents additional arbitrary data attached to this menu item.
8038
8143
  * @return A menu item.
8039
8144
  *
8040
8145
  */
8041
- static menuItemWithName (name: string, {icon, action, submenu, userInfo}?: {icon?: string | null | undefined, action?: (($0: BMMenuItem) => void) | null | undefined, submenu?: BMMenu | null | undefined, userInfo?: any | null | undefined}): BMMenuItem;
8146
+ static menuItemWithName (name: string, {icon, action, enabled, submenu, userInfo}?: {icon?: string | null | undefined, action?: (($0: BMMenuItem) => void) | null | undefined, enabled?: boolean | null | undefined, submenu?: BMMenu | null | undefined, userInfo?: any | null | undefined}): BMMenuItem;
8042
8147
 
8043
8148
 
8044
8149
  /**
@@ -8070,7 +8175,7 @@ export class BMMenu {
8070
8175
  delegate?: BMMenuDelegate | null | undefined;
8071
8176
 
8072
8177
  /**
8073
- * Defaults to 24. The size to use for this menu's icons.
8178
+ * Defaults to `24`. The size to use for this menu's icons.
8074
8179
  *
8075
8180
  */
8076
8181
  iconSize: number;
@@ -8210,7 +8315,8 @@ export class BMMenu {
8210
8315
  private readonly _kind: any;
8211
8316
 
8212
8317
  /**
8213
- * Animatable. Shows this menu from the given DOM node.
8318
+ * Animatable. Shows this menu from the specified DOM node. The menu will be displayed as a touch menu,
8319
+ * highlighting the source node and de-emphasizing the rest of the document.
8214
8320
  * @param node The node from which to show this menu.
8215
8321
  * @param animated Defaults to `NO`. If set to `YES`, this change will be animated.
8216
8322
  * If this method is invoked from within an animation context, the value of this parameter is ignored
@@ -8318,6 +8424,15 @@ export class BMMenu {
8318
8424
  arrowLeftPressedWithEvent(event: KeyboardEvent): void;
8319
8425
 
8320
8426
 
8427
+ /**
8428
+ * Invoked when the key sequence for a menu item is pressed.
8429
+ * @param event The event that triggered this action.
8430
+ * @param forKeyboardShortcut The keyboard shortcut that was triggered.
8431
+ *
8432
+ */
8433
+ private _selectMenuItemWithEvent(event: KeyboardEvent, {forKeyboardShortcut}: {forKeyboardShortcut: BMKeyboardShortcut}): void;
8434
+
8435
+
8321
8436
  /**
8322
8437
  * Invoked when the return or spacebar key is pressed.
8323
8438
  * @param event The event that triggered this action.
@@ -9917,19 +10032,19 @@ export class BMCollectionViewTableLayoutSupplementaryView {
9917
10032
  * Indicates that this supplementary view is a footer.
9918
10033
  *
9919
10034
  */
9920
- static Footer: BMCollectionViewTableLayoutSupplementaryView;
10035
+ static Footer: string;
9921
10036
 
9922
10037
  /**
9923
10038
  * Indicates that this supplementary view is a header.
9924
10039
  *
9925
10040
  */
9926
- static Header: BMCollectionViewTableLayoutSupplementaryView;
10041
+ static Header: string;
9927
10042
 
9928
10043
  /**
9929
10044
  * Indicates that this supplementary is an empty content view.
9930
10045
  *
9931
10046
  */
9932
- static Empty: BMCollectionViewTableLayoutSupplementaryView;
10047
+ static Empty: string;
9933
10048
 
9934
10049
  private constructor();
9935
10050
  }
@@ -10561,7 +10676,7 @@ export class BMCollectionViewFlowLayout extends BMCollectionViewLayout {
10561
10676
  * the identifiers used by the table layout are reused in this case.
10562
10677
  *
10563
10678
  */
10564
- export var BMCollectionViewFlowLayoutSupplementaryView: any;
10679
+ export var BMCollectionViewFlowLayoutSupplementaryView: typeof BMCollectionViewTableLayoutSupplementaryView;
10565
10680
 
10566
10681
 
10567
10682
 
@@ -11309,6 +11424,13 @@ export class BMCollectionView<T = any> extends BMView {
11309
11424
  */
11310
11425
  layout: BMCollectionViewLayout;
11311
11426
 
11427
+ /**
11428
+ * Set to a transition layout while an animated layout update is in progress. Undefined
11429
+ * in all other cases.
11430
+ *
11431
+ */
11432
+ private _transitionLayout?: BMCollectionViewLayout | null | undefined;
11433
+
11312
11434
  /**
11313
11435
  * Animatable. The collection view's size and its position relative to its parent element.
11314
11436
  *
@@ -11516,7 +11638,24 @@ export class BMCollectionView<T = any> extends BMView {
11516
11638
 
11517
11639
 
11518
11640
  /**
11519
- * Should not be invoked manually. It is invoked by collection view to create the initial layout and cells.
11641
+ * Initializes this collection view with the specified DOM node and default properties.
11642
+ * The collection view will use a `BMCollectionViewFlowLayout` layout object.
11643
+ * A valid object should be assigned to the `dataSet` property to fully initialize and use this collection view.
11644
+ * @param node The container that the collection view will manage. This should be an empty div element,
11645
+ * otherwise the behaviour of the collection view will be undefined.
11646
+ * @param customScroll Defaults to `NO`. When set to `YES`, collection view will use custom scrolling in
11647
+ * place of regular scrolling. Otherwise, it will use native scrolling. This should only be
11648
+ * used with layouts where cell positions depend on the scroll position of collection view.
11649
+ * This property cannot be changed after being set in the intializer.
11650
+ * @return A collection view.
11651
+ *
11652
+ */
11653
+ initWithDOMNode(node: DOMNode, {customScroll}?: {customScroll?: boolean | null | undefined}): BMCollectionView;
11654
+
11655
+
11656
+ /**
11657
+ * Should not be invoked manually. Invoked by collection view the first time a data set is assigned
11658
+ * to it to create the initial layout and cells.
11520
11659
  *
11521
11660
  */
11522
11661
  private _init(): void;
@@ -12464,26 +12603,31 @@ export interface BMCollectionViewDataSet<T = any> {
12464
12603
 
12465
12604
 
12466
12605
  /**
12467
- * Returns the complete index path for the object with the given section and row indexes.
12606
+ * Returns the index path for the object with the specified section and row indexes.
12468
12607
  * @param row The object's index within the section.
12469
12608
  * @param inSectionAtIndex The section's index.
12470
- * @return The complete index path.
12609
+ * @return The index path if these indexes are part of the data set,
12610
+ * `undefined` otherwise. `undefined` may only be returned during
12611
+ * animated data updates while `isUsingOldData` returns `YES`.
12471
12612
  *
12472
12613
  */
12473
- indexPathForObjectAtRow(row: Int, {inSectionAtIndex}: {inSectionAtIndex: Int}): BMIndexPath<T>;
12614
+ indexPathForObjectAtRow(row: Int, {inSectionAtIndex}: {inSectionAtIndex: Int}): BMIndexPath<T> | null | undefined;
12474
12615
 
12475
12616
 
12476
12617
  /**
12477
- * Returns the index path for the given object.
12478
- * @param object The object.
12479
- * @return The index path.
12618
+ * Returns the index path for the specified object.
12619
+ * @param object The object.
12620
+ * @return The index path, if the object is part of the data set,
12621
+ * `undefined` otherwise. `undefined` may only be returned during
12622
+ * animated data updates while `isUsingOldData` returns `YES`.
12480
12623
  *
12481
12624
  */
12482
- indexPathForObject(object: any): BMIndexPath<T>;
12625
+ indexPathForObject(object: any): BMIndexPath<T> | null | undefined;
12483
12626
 
12484
12627
 
12485
12628
  /**
12486
12629
  * @deprecated Deprecated. Consider using custom cell classes instead. Only invoked when using the default cell class.
12630
+ * ---
12487
12631
  * Returns the jQuery element that represents the contents of a cell with the given reuse identifier.
12488
12632
  * The collection view will invoke this method whenever a new cell has to be created.
12489
12633
  * @param identifier The cell's identifier.
@@ -12507,6 +12651,7 @@ export interface BMCollectionViewDataSet<T = any> {
12507
12651
 
12508
12652
  /**
12509
12653
  * @deprecated Deprecated. Consider using custom cell classes instead. Only invoked when using the default cell class.
12654
+ * ---
12510
12655
  * Returns the jQuery element that represents the contents of a supplementary view of the given type.
12511
12656
  * The supplementary view's type is defined entirely by the layout object.
12512
12657
  * @param identifier The supplementary view's type identifier.
@@ -12530,8 +12675,9 @@ export interface BMCollectionViewDataSet<T = any> {
12530
12675
 
12531
12676
 
12532
12677
  /**
12533
- * @deprecated Deprecated. This method is optional, but is still invoked by the collection view when implemented. It is recommended to use cell
12534
- * enumeration and manually update cells as needed during data updates.
12678
+ * @deprecated Deprecated. This method is optional, but is still invoked by the collection view when implemented. Consider using cell
12679
+ * enumeration and manually updating cells as needed during data updates.
12680
+ * ---
12535
12681
  * This method will be invoked by the collection view when it is needed to update the contents of an already rendered cell.
12536
12682
  * The data set object should always use the supplied indexPath parameter as the binding to the model object rather than the cell's
12537
12683
  * own indexPath property as this method may be invoked during an update when the cell's old indexPath no longer matches the new data set.
@@ -12543,8 +12689,9 @@ export interface BMCollectionViewDataSet<T = any> {
12543
12689
 
12544
12690
 
12545
12691
  /**
12546
- * @deprecated Deprecated. This method is optional, but is still invoked by the collection view when implemented. It is recommended to use cell
12547
- * enumeration and manually update cells as needed during data updates.
12692
+ * @deprecated Deprecated. This method is optional, but is still invoked by the collection view when implemented. Consider using cell
12693
+ * enumeration and manually updating cells as needed during data updates.
12694
+ * ---
12548
12695
  * This method will be invoked by the collection view when it is needed to update the contents of an already rendered supplementary view.
12549
12696
  * The data set object should always use the supplied indexPath parameter as the binding to the model object rather than the cell's
12550
12697
  * own indexPath property as this method may be invoked during an update when the cell's old indexPath no longer matches the new data set.
@@ -12584,6 +12731,9 @@ export interface BMCollectionViewDataSet<T = any> {
12584
12731
  * Data set objects implementing this method are expected to update their internal data structures to match
12585
12732
  * the item's new position, then trigger a data update to run on the collection view.
12586
12733
  * Optionally, data sets may reject the change and not perform any action.
12734
+ * ---
12735
+ * For collection views that support moving items, this method must be implemented by the data sets these collection views
12736
+ * use. In this case, data sets that don't support moving items may simply return `NO` from this method.
12587
12737
  * @param indexPath The item's current index path.
12588
12738
  * @param toIndexPath The index path to which the item should move.
12589
12739
  * @return `YES` if the data set has performed the requested change, `NO` otherwise.
@@ -12973,9 +13123,10 @@ export interface BMCollectionViewDelegate {
12973
13123
  * @param collectionView The calling collection view.
12974
13124
  * @param cell The cell that is about to be dragged.
12975
13125
  * @param atIndexPath The cell's index path.
13126
+ * @return `YES` if interaction movement can begin for the specified cell, `NO` otherwise.
12976
13127
  *
12977
13128
  */
12978
- collectionViewCanMoveCell?(collectionView: BMCollectionView, cell: BMCollectionViewCell, {atIndexPath}: {atIndexPath: BMIndexPath}): void;
13129
+ collectionViewCanMoveCell?(collectionView: BMCollectionView, cell: BMCollectionViewCell, {atIndexPath}: {atIndexPath: BMIndexPath}): boolean;
12979
13130
 
12980
13131
 
12981
13132
  /**
@@ -14116,6 +14267,12 @@ export class BMPopover extends BMWindow {
14116
14267
  */
14117
14268
  private _clipPathOutlinePath?: DOMNode | null | undefined;
14118
14269
 
14270
+ /**
14271
+ * When `_clipPathSVG` is defined, this represents the box shadow path element.
14272
+ *
14273
+ */
14274
+ private _clipPathBoxShadowPath?: DOMNode | null | undefined;
14275
+
14119
14276
  /**
14120
14277
  * A string that forms part of the HTML IDs that will be assigned to the clip paths
14121
14278
  * to be used on browsers.
@@ -14448,37 +14605,112 @@ export class BMConfirmationPopup extends BMAlertPopup {
14448
14605
  export class BMKeyboardShortcutModifier {
14449
14606
  /**
14450
14607
  * Represents the command key on macOS and iOS, windows key on Windows and meta key on Linux.
14451
- *
14608
+ *
14452
14609
  */
14453
14610
  static Command: BMKeyboardShortcutModifier;
14454
14611
 
14455
14612
  /**
14456
14613
  * Represents the option key on macOS and alt on other systems.
14457
- *
14614
+ *
14458
14615
  */
14459
14616
  static Option: BMKeyboardShortcutModifier;
14460
14617
 
14461
14618
  /**
14462
14619
  * Represents the shit key.
14463
- *
14620
+ *
14464
14621
  */
14465
14622
  static Shift: BMKeyboardShortcutModifier;
14466
14623
 
14467
14624
  /**
14468
14625
  * Represents the control key.
14469
- *
14626
+ *
14470
14627
  */
14471
14628
  static Control: BMKeyboardShortcutModifier;
14472
14629
 
14473
14630
  /**
14474
14631
  * Represents the command key on macOS and iOS and control key on other systems.
14475
- *
14632
+ *
14476
14633
  */
14477
14634
  static System: BMKeyboardShortcutModifier;
14478
14635
 
14479
14636
  private constructor();
14480
14637
  }
14481
14638
 
14639
+ /**
14640
+ * A class whose instances describe sequences of keys on a keyboard that must be
14641
+ * pressed for an action to take place.
14642
+ *
14643
+ */
14644
+ export class BMKeySequence {
14645
+
14646
+ /**
14647
+ * The key that should be pressed for this keyboard shortcut.
14648
+ *
14649
+ */
14650
+ readonly keyCode: string;
14651
+
14652
+ /**
14653
+ * An array of keyboard modifiers that must be pressed
14654
+ * together with the key in order to trigger the shortcut.
14655
+ *
14656
+ */
14657
+ readonly modifiers: BMKeyboardShortcutModifier[];
14658
+
14659
+ /**
14660
+ * Designated initializer. Initializes this key sequence with the specified key and optional modifiers.
14661
+ * @param key The key that should be pressed for this key sequence.
14662
+ * This maps to the `code` property of keyboard events.
14663
+ * @param modifiers Defaults to an empty array. An optional array of modifiers
14664
+ * that must be pressed together with the target key.
14665
+ * @return This key sequence.
14666
+ *
14667
+ */
14668
+ initWithKeyCode(key: string, {modifiers}?: {modifiers?: BMKeyboardShortcutModifier[] | null | undefined}): BMKeySequence;
14669
+
14670
+
14671
+ /**
14672
+ * Initializes this key sequence with the specified keyboard event, using the event's key code
14673
+ * and any active modifier keys. If the event includes the control or command keys, these may be converted
14674
+ * into a system key modifier based on the current platform.
14675
+ * @param event The keyboard event from which this key sequence should be initialized.
14676
+ * @return This key sequence.
14677
+ *
14678
+ */
14679
+ initWithKeyboardEvent(event: KeyboardEvent): BMKeySequence;
14680
+
14681
+
14682
+ /**
14683
+ * A string description of this key sequence, intended to be displayed to end-users.
14684
+ * Its format depends on the current platform.
14685
+ *
14686
+ */
14687
+ readonly HTMLDescription: string;
14688
+
14689
+ /**
14690
+ * Creates and returns a key sequence initialized with the specified key and optional modifiers.
14691
+ * @param key The key that should be pressed for this key sequence.
14692
+ * This maps to the `code` property of keyboard events.
14693
+ * @param modifiers Defaults to an empty array. An optional array of modifiers
14694
+ * that must be pressed together with the target key.
14695
+ * @return This key sequence.
14696
+ *
14697
+ */
14698
+ static keySequenceWithKeyCode (key: string, {modifiers}?: {modifiers?: BMKeyboardShortcutModifier[] | null | undefined}): BMKeySequence;
14699
+
14700
+
14701
+ /**
14702
+ * Creates and returns a key sequence initialized with the specified keyboard event, using the event's key code
14703
+ * and any active modifier keys. If the event includes the control or command keys, these may be converted
14704
+ * into a system key modifier based on the current platform.
14705
+ * @param event The keyboard event from which this key sequence should be initialized.
14706
+ * @return This key sequence.
14707
+ *
14708
+ */
14709
+ static keySequenceWithKeyboardEvent (event: KeyboardEvent): BMKeySequence;
14710
+
14711
+ }
14712
+
14713
+
14482
14714
  /**
14483
14715
  * A keyboard shortcut object describes the keys that must be pressed for a keyboard shortcut to trigger as
14484
14716
  * well as what should happen when that shortcut is triggered.
@@ -14486,6 +14718,12 @@ export class BMKeyboardShortcutModifier {
14486
14718
  */
14487
14719
  export class BMKeyboardShortcut {
14488
14720
 
14721
+ /**
14722
+ * The key sequence that should be pressed to trigger this keyboard shortcut.
14723
+ *
14724
+ */
14725
+ readonly keySequence: BMKeySequence;
14726
+
14489
14727
  /**
14490
14728
  * The key that should be pressed for this keyboard shortcut.
14491
14729
  *
@@ -14493,7 +14731,7 @@ export class BMKeyboardShortcut {
14493
14731
  readonly keyCode: string;
14494
14732
 
14495
14733
  /**
14496
- * An optional array of keyboard modifiers that must be pressed
14734
+ * An array of keyboard modifiers that must be pressed
14497
14735
  * together with the key in order to trigger the shortcut.
14498
14736
  *
14499
14737
  */
@@ -14526,7 +14764,26 @@ export class BMKeyboardShortcut {
14526
14764
  preventsDefault: boolean;
14527
14765
 
14528
14766
  /**
14529
- * Designated initializer. Initializes this keyboard shortcut with the given key and optional modifiers, as well as
14767
+ * Designated Initializer. Initializes this keyboard shortcut with the specified key sequence and the action that the
14768
+ * keyboard shortcut should trigger.
14769
+ * @param keySequence The key sequence describing the keyboard buttons that
14770
+ * should be pressed to trigger this keyboard shortcut.
14771
+ * @param target The object that will handle this keyboard shortcut action.
14772
+ * @param action The name of a method on the target object that will be invoked when this
14773
+ * keyboard shortcut is triggered. That method will receive the following arguments:
14774
+ *
14775
+ * - `event`: {@link KeyboardEvent} The keyboard event that triggered the keyboard shortcut
14776
+ * - `{forKeyboardShortcut}`: {@link BMKeyboardShortcut} The associated keyboard shortcut
14777
+ * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers
14778
+ * normally as a result of the key sequence will be prevented.
14779
+ * @return This keyboard shortcut.
14780
+ *
14781
+ */
14782
+ initWithKeySequence(keySequence: BMKeySequence, {target, action, preventsDefault}: {target: any, action: string, preventsDefault?: boolean | null | undefined}): BMKeyboardShortcut;
14783
+
14784
+
14785
+ /**
14786
+ * Initializes this keyboard shortcut with the given key and optional modifiers, as well as
14530
14787
  * the target and action that will handle it.
14531
14788
  *
14532
14789
  * In order to be triggered, this keyboard shortcut must be registered with an event handler such as a window
@@ -14534,10 +14791,14 @@ export class BMKeyboardShortcut {
14534
14791
  * @param key The key that should be pressed for this keyboard shortcut. This maps to the `code` property of keyboard events.
14535
14792
  * @param modifiers Defaults to an empty array. An optional array of keyboard modifiers that must be active.
14536
14793
  * for the keyboard shortcut to fire.
14537
- * @param target The object that will handle this keyboard shortcut action.
14538
- * @param action The name of a method on the target object that will be invoked when this
14539
- * keyboard shortcut is triggered. That method will receive the keyboard event as its single parameter.
14540
- * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers this keyboard shortcut will be prevented.
14794
+ * @param target The object that will handle this keyboard shortcut action.
14795
+ * @param action The name of a method on the target object that will be invoked when this
14796
+ * keyboard shortcut is triggered. That method will receive the following arguments:
14797
+ *
14798
+ * - `event`: {@link KeyboardEvent} The keyboard event that triggered the keyboard shortcut
14799
+ * - `{forKeyboardShortcut}`: {@link BMKeyboardShortcut} The associated keyboard shortcut
14800
+ * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers
14801
+ * normally as a result of the key sequence will be prevented.
14541
14802
  * @return This keyboard shortcut.
14542
14803
  *
14543
14804
  */
@@ -14547,15 +14808,19 @@ export class BMKeyboardShortcut {
14547
14808
  /**
14548
14809
  * Initializes this keyboard shortcut with the given keyboard event. If the event includes the control or command keys, these may be converted
14549
14810
  * into a system key modifier based on the current platform.
14550
- * @param event The keyboard event from which this keyboard shortcut should be initialized.
14551
- * @param target The object that will handle this keyboard shortcut action.
14552
- * @param action The name of a method on the target object that will be invoked when this
14553
- * keyboard shortcut is triggered. That method will receive the keyboard event as its single parameter.
14554
- * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers this keyboard shortcut will be prevented.
14555
- *
14811
+ * @param event The keyboard event from which this keyboard shortcut should be initialized.
14812
+ * @param target The object that will handle this keyboard shortcut action.
14813
+ * @param action The name of a method on the target object that will be invoked when this
14814
+ * keyboard shortcut is triggered. That method will receive the following arguments:
14815
+ *
14816
+ * - `event`: {@link KeyboardEvent} The keyboard event that triggered the keyboard shortcut
14817
+ * - `{forKeyboardShortcut}`: {@link BMKeyboardShortcut} The associated keyboard shortcut
14818
+ * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers
14819
+ * normally as a result of the key sequence will be prevented.
14820
+ * @return This keyboard shortcut.
14556
14821
  *
14557
14822
  */
14558
- initWithKeyboardEvent(event: KeyboardEvent, {target, action, preventsDefault}: {target: any, action: string, preventsDefault?: boolean | null | undefined}): void;
14823
+ initWithKeyboardEvent(event: KeyboardEvent, {target, action, preventsDefault}: {target: any, action: string, preventsDefault?: boolean | null | undefined}): BMKeyboardShortcut;
14559
14824
 
14560
14825
 
14561
14826
  /**
@@ -14564,10 +14829,10 @@ export class BMKeyboardShortcut {
14564
14829
  * @param shortcut A serialized keyboard shortcut.
14565
14830
  * @param targetID A callback that is invoked with the target ID and should return
14566
14831
  * the target object which will handle the keyboard shortcut.
14567
- * @return This keyboard shortcut.
14832
+ * @return This keyboard shortcut.
14568
14833
  *
14569
14834
  */
14570
- initWithSerializedKeyboardShortcut(shortcut: any, {targetID}: {targetID: (($0: string) => any)}): any;
14835
+ initWithSerializedKeyboardShortcut(shortcut: any, {targetID}: {targetID: (($0: string) => any)}): BMKeyboardShortcut;
14571
14836
 
14572
14837
 
14573
14838
  /**
@@ -14581,6 +14846,25 @@ export class BMKeyboardShortcut {
14581
14846
  serializedKeyboardShortcutWithTargetID(ID: string): any;
14582
14847
 
14583
14848
 
14849
+ /**
14850
+ * Constructs and returns a keyboard shortcut with the specified key sequence and action that will be triggered
14851
+ * by the keyboard shortcut.
14852
+ * @param keySequence The key sequence describing the keys that should be pressed to
14853
+ * trigger this shortcut.s
14854
+ * @param target The object that will handle this keyboard shortcut action.
14855
+ * @param action The name of a method on the target object that will be invoked when this
14856
+ * keyboard shortcut is triggered. That method will receive the following arguments:
14857
+ *
14858
+ * - `event`: {@link KeyboardEvent} The keyboard event that triggered the keyboard shortcut
14859
+ * - `{forKeyboardShortcut}`: {@link BMKeyboardShortcut} The associated keyboard shortcut
14860
+ * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers
14861
+ * normally as a result of the key sequence will be prevented.
14862
+ * @return A keyboard shortcut.
14863
+ *
14864
+ */
14865
+ static keyboardShortcutWithKeySequence (keySequence: BMKeySequence, {target, action, preventsDefault}: {target: any, action: string, preventsDefault?: boolean | null | undefined}): BMKeyboardShortcut;
14866
+
14867
+
14584
14868
  /**
14585
14869
  * Constructs and returns a keyboard shortcut with the given key and optional modifiers, as well as
14586
14870
  * the target and action that will handle it.
@@ -14590,10 +14874,14 @@ export class BMKeyboardShortcut {
14590
14874
  * @param key The key that should be pressed for this keyboard shortcut. This maps to the `code` property of keyboard events.
14591
14875
  * @param modifiers Defaults to an empty array. An optional array of keyboard modifiers that must be active.
14592
14876
  * for the keyboard shortcut to fire.
14593
- * @param target The object that will handle this keyboard shortcut action.
14594
- * @param action The name of a method on the target object that will be invoked when this
14595
- * keyboard shortcut is triggered. That method will receive the keyboard event as its single parameter.
14596
- * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers this keyboard shortcut will be prevented.
14877
+ * @param target The object that will handle this keyboard shortcut action.
14878
+ * @param action The name of a method on the target object that will be invoked when this
14879
+ * keyboard shortcut is triggered. That method will receive the following arguments:
14880
+ *
14881
+ * - `event`: {@link KeyboardEvent} The keyboard event that triggered the keyboard shortcut
14882
+ * - `{forKeyboardShortcut}`: {@link BMKeyboardShortcut} The associated keyboard shortcut
14883
+ * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers
14884
+ * normally as a result of the key sequence will be prevented.
14597
14885
  * @return A keyboard shortcut.
14598
14886
  *
14599
14887
  */
@@ -14603,15 +14891,19 @@ export class BMKeyboardShortcut {
14603
14891
  /**
14604
14892
  * Constructs and returns a keyboard shortcut with the given keyboard event. If the event includes the control or command keys, these may be converted
14605
14893
  * into a system key modifier based on the current platform.
14606
- * @param event The keyboard event from which this keyboard shortcut should be initialized.
14607
- * @param target The object that will handle this keyboard shortcut action.
14608
- * @param action The name of a method on the target object that will be invoked when this
14609
- * keyboard shortcut is triggered. That method will receive the keyboard event as its single parameter.
14610
- * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers this keyboard shortcut will be prevented.
14894
+ * @param event The keyboard event from which this keyboard shortcut should be initialized.
14895
+ * @param target The object that will handle this keyboard shortcut action.
14896
+ * @param action The name of a method on the target object that will be invoked when this
14897
+ * keyboard shortcut is triggered. That method will receive the following arguments:
14611
14898
  *
14899
+ * - `event`: {@link KeyboardEvent} The keyboard event that triggered the keyboard shortcut
14900
+ * - `{forKeyboardShortcut}`: {@link BMKeyboardShortcut} The associated keyboard shortcut
14901
+ * @param preventsDefault Defaults to `NO`. When set to `YES`, the default action of the event that triggers
14902
+ * normally as a result of the key sequence will be prevented.
14903
+ * @return A keyboard shortcut.
14612
14904
  *
14613
14905
  */
14614
- static keyboardShortcutWithKeyboardEvent (event: KeyboardEvent, {target, action, preventsDefault}: {target: any, action: string, preventsDefault?: boolean | null | undefined}): void;
14906
+ static keyboardShortcutWithKeyboardEvent (event: KeyboardEvent, {target, action, preventsDefault}: {target: any, action: string, preventsDefault?: boolean | null | undefined}): BMKeyboardShortcut;
14615
14907
 
14616
14908
 
14617
14909
  /**
@@ -14620,10 +14912,10 @@ export class BMKeyboardShortcut {
14620
14912
  * @param shortcut A serialized keyboard shortcut.
14621
14913
  * @param targetID A callback that is invoked with the target ID and should return
14622
14914
  * the target object which will handle the keyboard shortcut.
14623
- * @return A keyboard shortcut.
14915
+ * @return A keyboard shortcut.
14624
14916
  *
14625
14917
  */
14626
- static keyboardShortcutWithSerializedKeyboardShortcut (shortcut: any, {targetID}: {targetID: (($0: string) => any)}): any;
14918
+ static keyboardShortcutWithSerializedKeyboardShortcut (shortcut: any, {targetID}: {targetID: (($0: string) => any)}): BMKeyboardShortcut | null | undefined;
14627
14919
 
14628
14920
  }
14629
14921