bm-core-ui 2.7.0 → 2.8.3
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/CHANGELOG.md +147 -0
- package/build/@types/index.d.ts +672 -92
- package/build/BMCodeEditor/BMCodeEditor.js +24 -27
- package/build/BMCollectionView/BMCollectionView.js +404 -55
- package/build/BMCollectionView/BMCollectionViewFlowLayout.js +423 -33
- package/build/BMCollectionView/BMCollectionViewLayout.js +158 -0
- package/build/BMCollectionView/BMCollectionViewMasonryLayout.js +145 -5
- package/build/BMCollectionView/BMCollectionViewTileLayout.js +147 -2
- package/build/BMCoreUI.css +60 -10
- package/build/BMView/BMMenu.js +155 -8
- package/build/BMView/BMTextField.js +25 -14
- package/build/BMView/BMView_v2.5.js +205 -3
- package/build/BMViewLayoutEditor/BMLayoutEditor.js +188 -168
- package/build/BMViewLayoutEditor/BMLayoutEditorSettingCells.js +2 -2
- package/build/BMWindow/BMConfirmationPopup.js +15 -0
- package/build/BMWindow/BMKeyboardShortcut.js +122 -3
- package/build/BMWindow/BMWindow.js +25 -90
- package/build/Core/BMAnimationContext.js +0 -4
- package/build/Core/BMCoreUI.js +9 -1
- package/lib/@types/BMCoreUI.min.d.ts +672 -92
- package/lib/BMCoreUI.min.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,150 @@
|
|
|
1
|
+
# 2.8.3
|
|
2
|
+
|
|
3
|
+
## BMCollectionView
|
|
4
|
+
|
|
5
|
+
Fixed an issue that could cause drag & drop to occasionally fail when the drag status indicator was positioned below the mouse pointer.
|
|
6
|
+
|
|
7
|
+
The default value for `supportsKeyboardNavigation` has been set to `NO` to avoid side effects when upgrading from older versions.
|
|
8
|
+
|
|
9
|
+
Collection view will no longer acquire focus when its cells are clicked when keyboard navigation is disabled.
|
|
10
|
+
|
|
11
|
+
## BMCollectionViewFlowLayout
|
|
12
|
+
|
|
13
|
+
Resolves an issue that caused keyboard navigation using the up/down arrows in vertical layout and left/right arrows in horizontal layouts to fail when using non-static cell sizes.
|
|
14
|
+
|
|
15
|
+
Resolves an issue where using the `Expand` content gravity with a horizontal layout caused the size adjustments to be applied to the cell heights instead of their widths.
|
|
16
|
+
|
|
17
|
+
Resolves an issue when using automatic cell sizes that could occur when the preliminary layout would fit in the collection view's frame after a first measurement but a scrollbar would be required after subsequent measurements.
|
|
18
|
+
|
|
19
|
+
## BMMenu
|
|
20
|
+
|
|
21
|
+
Resolves an issue that caused the last item in menus to not be selectable using the spacebar or return key.
|
|
22
|
+
|
|
23
|
+
Resolves an issue that caused the active menu item's text to temporarily become dark and unreadable in dark mode when selected.
|
|
24
|
+
|
|
25
|
+
## BMWindow
|
|
26
|
+
|
|
27
|
+
Resolves an issue that caused the node referenced via the `anchorNode` property to remain permanently hidden if the window was dismissed while its appear animation was in progress.
|
|
28
|
+
|
|
29
|
+
## BMViewLayoutEditor
|
|
30
|
+
|
|
31
|
+
Resolves an issue that caused the "Deactivate Constraints" button to not work.
|
|
32
|
+
|
|
33
|
+
# 2.8.2
|
|
34
|
+
|
|
35
|
+
## BMMonacoCodeEditor
|
|
36
|
+
|
|
37
|
+
Fixed an issue that caused an error to be thrown on registering the color themes when using the latest monaco editor.
|
|
38
|
+
|
|
39
|
+
## BMCollectionViewFlowLayout
|
|
40
|
+
|
|
41
|
+
Resolved an issue that would cause an invalid layout to be created when the available space wasn't sufficient for any cell.
|
|
42
|
+
|
|
43
|
+
# 2.8.1
|
|
44
|
+
|
|
45
|
+
## BMKeyboardShortcut
|
|
46
|
+
|
|
47
|
+
Resolved an issue with `initWithKeyboardEvent` that caused it to ignore the control key.
|
|
48
|
+
|
|
49
|
+
# 2.8
|
|
50
|
+
|
|
51
|
+
## Generic
|
|
52
|
+
|
|
53
|
+
Resolved a typo with the `BMButton` CSS class that prevented its active state rules from applying.
|
|
54
|
+
|
|
55
|
+
Added the `Control` and `Escape` properties to `BMHTMLEntity`.
|
|
56
|
+
|
|
57
|
+
## BMAnimationContext
|
|
58
|
+
|
|
59
|
+
Animations will no longer run in slow-motion when triggered from an event while the shift key was pressed.
|
|
60
|
+
|
|
61
|
+
## BMView
|
|
62
|
+
|
|
63
|
+
The methods for registering and managing keyboard shortcuts have moved from `BMWindow` to `BMView` so that any subclass can make use of this functionality. Improved performance when registering a large number of keyboard shortcuts.
|
|
64
|
+
|
|
65
|
+
Added two new static methods `registerKeyboardShortcut(_, {forNode})` and `unregisterKeyboardShortcut(_, {forNode})` that can be used to add keyboard shortcuts to elements without creating a view for them.
|
|
66
|
+
|
|
67
|
+
When setting the `layoutQueue` property, any pending layout pass will now occur on the new layout queue.
|
|
68
|
+
|
|
69
|
+
## BMMenu
|
|
70
|
+
|
|
71
|
+
While a menu is open, menu items can now be navigated using the keyboard up and down arrow keys and can be selected using the return or spacebar keys. Additionally it can be closed with the escape key.
|
|
72
|
+
|
|
73
|
+
## BMCollectionView
|
|
74
|
+
|
|
75
|
+
Added a new readonly `visibleBounds` property that returns a rect describing the part of the bounds that are visible on screen.
|
|
76
|
+
|
|
77
|
+
When using `scrollToSupplementaryViewWithIdentifier` or `scrollToCellAtIndexPath` and not specifying any gravity, the default values will now depend on the cell's position relative to the current bounds, rather that defaulting to top and left.
|
|
78
|
+
|
|
79
|
+
Resolved an issue in `scrollToSupplementaryViewWithIdentifier` where the default top gravity was set to an improper default value when omitted.
|
|
80
|
+
|
|
81
|
+
Resolved an issue when using nested collection views that all had drag & drop enabled which would cause multiple collection views to start their drag & drop operation at the same when initiating it from a cell in one of the nested collection views. Now, starting a drag & drop from one collection view will prevent any parent collection views from starting their own drag & drop.
|
|
82
|
+
|
|
83
|
+
Collection View will now ignore clicks originating on content editable elements, in addition to its previous exclusion list.
|
|
84
|
+
|
|
85
|
+
Added support for a new state for cells called highlighting and a series of new properties and method to support this. Cells are highlighted when they are clicked or by using the keyboard arrow keys. The following properties and methods related to this functionality have been added:
|
|
86
|
+
- A new `highlightedIndexPath` property can be used to set or retrieve the currently highlighted index path.
|
|
87
|
+
- A new `isCellAtIndexPathHighlighted(_)` method can be used to test if a given index path is highlighted.
|
|
88
|
+
- A new `keyboardArrowPressed(_, {withEvent})` method is invoked when arrow keys are pressed on the keyboard and can be invoked to simulate an arrow press.
|
|
89
|
+
- A new `configureKeyboardShortcuts` method is now invoked during initialization to enable cell highlighting via the keyboard. Subclasses may also override this method to add their own keyboard shortcuts. A similar `disableKeyboardShortcuts` method is invoked when keyboard navigation is disabled.
|
|
90
|
+
- A new `supportsKeyboardNavigation` property, with a default value of `YES` can be used to control whether keyboard navigation is enabled or not.
|
|
91
|
+
|
|
92
|
+
When creating cells, collection view will now properly handle layout changes that occur in the cell's initializer.
|
|
93
|
+
|
|
94
|
+
## BMCollectionViewDelegate
|
|
95
|
+
|
|
96
|
+
Delegates can now implement the following methods to control and respond to cells being highlighted:
|
|
97
|
+
- `collectionViewShouldHighlightCellForArrowKey(_, _, {withEvent})` can be used to control when keyboard events are processed.
|
|
98
|
+
- `collectionViewCanHighlightCellAtIndexPath(_, _, {withEvent})` can be used to control whether specific cells may be highlighted or not.
|
|
99
|
+
- `collectionViewDidHighlightCellAtIndexPath(_, _, {withEvent})` can be used to respond to cells being highlighted.
|
|
100
|
+
- `collectionViewDidDehighlightCellAtIndexPath(_, _, {withEvent})` can be used to respond to cells being dehighlighted.
|
|
101
|
+
- `collectionViewShouldScrollToHighlightedCellAtIndexPath(_, _)` is invoked when an off-screen cell is highlighted to determine whether the collection should scroll to reveal that cell.
|
|
102
|
+
|
|
103
|
+
Resolved an issue where several event arguments were declared as jQuery events when in fact they were standard events.
|
|
104
|
+
|
|
105
|
+
## BMCollectionViewLayout
|
|
106
|
+
|
|
107
|
+
The following new methods have been added and may be overriden by layout subclasses to improve keyboard navigation:
|
|
108
|
+
- `firstIndexPath()` is used to obtain the first visible index path.
|
|
109
|
+
- `indexPathToTheLeftOfIndexPath(_)` is used to obtain the index path that is visually to the left of a given index path.
|
|
110
|
+
- `indexPathToTheRightOfIndexPath(_)` is used to obtain the index path that is visually to the right of a given index path.
|
|
111
|
+
- `indexPathAboveIndexPath(_)` is used to obtain the index path that is visually above a given index path.
|
|
112
|
+
- `indexPathBelowIndexPath(_)` is used to obtain the index path that is visually below a given index path.
|
|
113
|
+
|
|
114
|
+
A new `indexPathsFromIndexPath(_, {toIndexPath})` method can be used to obtain a list of index paths that are visually between two index paths.
|
|
115
|
+
|
|
116
|
+
The `BMCollectionViewFlowLayout`, `BMCollectionViewMasonryLayout` and `BMCollectionViewTileLayout` classes each provide their own specific implementation of those methods.
|
|
117
|
+
|
|
118
|
+
## BMCollectionViewFlowLayout
|
|
119
|
+
|
|
120
|
+
Resolves an issue with `BMCollectionViewFlowLayoutGravity`, `BMCollectionViewFlowLayoutAlignment` and `BMCollectionViewFlowLayoutOrientation` that had improper type definitions.
|
|
121
|
+
|
|
122
|
+
## BMKeyboardShortcut
|
|
123
|
+
|
|
124
|
+
This type is now properly included in the definitions file.
|
|
125
|
+
|
|
126
|
+
Added a new `serializedKeyboardShortcutWithTargetID(_)` method that can be used to obtain a plain object representing the keyboard shortcut that can be stringified. A new static `keyboardShortcutWithSerializedKeyboardShortcut(_, {targetID})` method and a new `initWithSerializedKeyboardShortcut(_, {targetID})` initializer can be used to obtain back a keyboard shortcut from a plain object representation.
|
|
127
|
+
|
|
128
|
+
Added a new `initWithKeyboardEvent(_, {target, action, preventsDefault})` initializer and a new `keyboardShortcutWithKeyboardEvent(_, {target, action, preventsDefault})` static method that can be used to obtain a keyboard shortcut from a keyboard event.
|
|
129
|
+
|
|
130
|
+
When keyboard shortcuts are triggered, the action method will now also receive a second parameter containing the triggered shortcut object. The signature of the method becomes `(_, {forKeyboardShortcut})`.
|
|
131
|
+
|
|
132
|
+
## BMAlertPopup
|
|
133
|
+
|
|
134
|
+
When dismissed, the element that was focused when the alert was shown will acquire focus again.
|
|
135
|
+
|
|
136
|
+
## BMTextField
|
|
137
|
+
|
|
138
|
+
Resolved various bugs with this class.
|
|
139
|
+
|
|
140
|
+
A new `maxSuggestions` property can be set to control how many entries appear in the autocomplete menu.
|
|
141
|
+
|
|
142
|
+
# 2.7.1
|
|
143
|
+
|
|
144
|
+
## BMMonacoCodeEditor
|
|
145
|
+
|
|
146
|
+
When initializing, the compiler defaults will now be set each time.
|
|
147
|
+
|
|
1
148
|
# 2.7
|
|
2
149
|
|
|
3
150
|
## BMLayoutEditorSettingsView
|