@thi.ng/imgui 2.0.10 → 2.1.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +218 -98
  2. package/package.json +158 -153
package/CHANGELOG.md CHANGED
@@ -1,135 +1,255 @@
1
1
  # Change Log
2
2
 
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@2.0.9...@thi.ng/imgui@2.0.10) (2021-11-10)
7
-
8
- **Note:** Version bump only for package @thi.ng/imgui
9
-
10
-
11
-
12
-
13
-
14
- ## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@2.0.8...@thi.ng/imgui@2.0.9) (2021-11-04)
15
-
16
- **Note:** Version bump only for package @thi.ng/imgui
17
-
18
-
19
-
20
-
21
-
22
- ## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@2.0.7...@thi.ng/imgui@2.0.8) (2021-11-03)
23
-
24
- **Note:** Version bump only for package @thi.ng/imgui
25
-
26
-
3
+ - **Last updated**: 2021-11-21T17:09:28Z
4
+ - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
27
5
 
6
+ All notable changes to this project will be documented in this file.
7
+ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
28
8
 
9
+ **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
10
+ and/or version bumps of transitive dependencies.
29
11
 
30
- # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@1.0.7...@thi.ng/imgui@2.0.0) (2021-10-12)
12
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@2.1.0) (2021-11-17)
31
13
 
14
+ #### 🚀 Features
32
15
 
33
- ### Build System
16
+ - Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
17
+ Improving the overall build ergonomics
18
+ - introduced a tools workspaces
19
+ - imported it in all needed packages/examples
20
+ - inclusive project root
34
21
 
35
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
22
+ #### ♻️ Refactoring
36
23
 
24
+ - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
25
+ this commit reverts (partly) changes made in:
26
+ ef346d7a8753590dc9094108a3d861a8dbd5dd2c
27
+ overall purpose is better testament ergonomics:
28
+ instead of having to pass NODE_OPTIONS with every invocation
29
+ having a binary to handle this for us.
37
30
 
38
- ### BREAKING CHANGES
31
+ ### [2.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@2.0.1) (2021-10-13)
39
32
 
40
- * discontinue CommonJS & UMD versions
33
+ #### ♻️ Refactoring
41
34
 
42
- - only ESM modules will be published from now on
43
- - CJS obsolete due to ESM support in recent versions of node:
44
- - i.e. launch NodeJS via:
45
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
46
- - in the node REPL use `await import(...)` instead of `require()`
47
- - UMD obsolete due to widespread browser support for ESM
35
+ - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
36
+ - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
37
+ - add .js suffix for all relative imports
48
38
 
49
- Also:
50
- - normalize/restructure/reorg all package.json files
51
- - cleanup all build scripts, remove obsolete
52
- - switch from mocha to @thi.ng/testament for all tests
39
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@2.0.0) (2021-10-12)
53
40
 
41
+ #### 🛑 Breaking changes
54
42
 
43
+ - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
44
+ - BREAKING CHANGE: discontinue CommonJS & UMD versions
45
+ - only ESM modules will be published from now on
46
+ - CJS obsolete due to ESM support in recent versions of node:
47
+ - i.e. launch NodeJS via:
48
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
49
+ - in the node REPL use `await import(...)` instead of `require()`
50
+ - UMD obsolete due to widespread browser support for ESM
51
+ Also:
52
+ - normalize/restructure/reorg all package.json files
53
+ - cleanup all build scripts, remove obsolete
54
+ - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
55
55
 
56
+ #### ♻️ Refactoring
56
57
 
58
+ - update imports ([e6c97d2](https://github.com/thi-ng/umbrella/commit/e6c97d2))
59
+ - update imports ([d885c67](https://github.com/thi-ng/umbrella/commit/d885c67))
60
+ - update imports ([1381ade](https://github.com/thi-ng/umbrella/commit/1381ade))
61
+ - dedupe ringRaw() internals ([6af7e1e](https://github.com/thi-ng/umbrella/commit/6af7e1e))
62
+ - update imports (transducers) ([1ffb357](https://github.com/thi-ng/umbrella/commit/1ffb357))
63
+ - update imports ([82767ed](https://github.com/thi-ng/umbrella/commit/82767ed))
64
+ - update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
65
+ - update all test stubs ([f2d6d53](https://github.com/thi-ng/umbrella/commit/f2d6d53))
66
+ - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
67
+ - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
57
68
 
69
+ ### [1.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@1.0.3) (2021-08-18)
58
70
 
59
- ## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@1.0.2...@thi.ng/imgui@1.0.3) (2021-08-18)
71
+ #### 🩹 Bug fixes
60
72
 
61
- ### Bug Fixes
73
+ - include missing src folder in pkg ([67e2f71](https://github.com/thi-ng/umbrella/commit/67e2f71))
74
+ - thanks to @djmike for reporting
75
+ - see fix in [fa8fdda12](https://github.com/thi-ng/umbrella/commit/fa8fdda12)
62
76
 
63
- - **imgui:** include missing src folder in pkg ([67e2f71](https://github.com/thi-ng/umbrella/commit/67e2f71e098a57677d8a44a44b30c31ae11546ca))
77
+ ### [0.2.70](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.70) (2021-04-24)
64
78
 
65
- ## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.41...@thi.ng/imgui@0.2.42) (2020-11-24)
79
+ #### ♻️ Refactoring
66
80
 
67
- ### Bug Fixes
81
+ - modulo handling in radialMenu() ([7a207ab](https://github.com/thi-ng/umbrella/commit/7a207ab))
82
+ - reflecting change in [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/main/packages/math)
68
83
 
69
- - **imgui:** update XY-pad value rounding/snapping ([d45c073](https://github.com/thi-ng/umbrella/commit/d45c073cea07dd35035a3be3e0ba94e2bc89cf69))
84
+ ### [0.2.53](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.53) (2021-02-20)
70
85
 
71
- ## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.35...@thi.ng/imgui@0.2.36) (2020-08-19)
86
+ #### ♻️ Refactoring
72
87
 
73
- ### Bug Fixes
88
+ - use clamp0() ([6c4a2c0](https://github.com/thi-ng/umbrella/commit/6c4a2c0))
74
89
 
75
- - **imgui:** don't update curr value to click position ([12d6705](https://github.com/thi-ng/umbrella/commit/12d670515ecf7b44ca3143b933a459e760e4d918))
90
+ ### [0.2.44](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.44) (2020-12-07)
76
91
 
77
- # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.1.7...@thi.ng/imgui@0.2.0) (2020-02-25)
92
+ #### ♻️ Refactoring
78
93
 
79
- ### Features
94
+ - update type-only imports ([f01e3f4](https://github.com/thi-ng/umbrella/commit/f01e3f4))
95
+ - update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
80
96
 
81
- - **imgui:** remove layout, update imports, readme ([c89a6d8](https://github.com/thi-ng/umbrella/commit/c89a6d8c200631f257cb8051214848ebd88cdd9a))
97
+ ### [0.2.42](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.42) (2020-11-24)
82
98
 
83
- # 0.1.0 (2019-08-16)
99
+ #### 🩹 Bug fixes
84
100
 
85
- ### Bug Fixes
101
+ - update XY-pad value rounding/snapping ([d45c073](https://github.com/thi-ng/umbrella/commit/d45c073))
86
102
 
87
- - **imgui:** touch event handling (FF/Safari) ([af697d9](https://github.com/thi-ng/umbrella/commit/af697d9))
103
+ #### ♻️ Refactoring
88
104
 
89
- ### Features
105
+ - update destructuring ([273e2bd](https://github.com/thi-ng/umbrella/commit/273e2bd))
90
106
 
91
- - **imgui:** add buttonV, radialMenu, update dropdown ([03d5932](https://github.com/thi-ng/umbrella/commit/03d5932))
92
- - **imgui:** add color type, keys, update default theme ([e4facae](https://github.com/thi-ng/umbrella/commit/e4facae))
93
- - **imgui:** add component resource caching & GC, update all comps & theme ([7c3d399](https://github.com/thi-ng/umbrella/commit/7c3d399))
94
- - **imgui:** add cursor & LayoutBox support, add docs ([b8d0892](https://github.com/thi-ng/umbrella/commit/b8d0892))
95
- - **imgui:** add cursor blink config, update textFieldRaw() ([1d80e14](https://github.com/thi-ng/umbrella/commit/1d80e14))
96
- - **imgui:** add dial widget, extract key handlers, update layout ([d3d2b27](https://github.com/thi-ng/umbrella/commit/d3d2b27))
97
- - **imgui:** add dialGroup, ringGroup, fix/update label hashing ([0333fa6](https://github.com/thi-ng/umbrella/commit/0333fa6))
98
- - **imgui:** add disabled component stack, update theme & behaviors ([dce481a](https://github.com/thi-ng/umbrella/commit/dce481a))
99
- - **imgui:** add dropdown widget, update hover behaviors ([b9d725a](https://github.com/thi-ng/umbrella/commit/b9d725a))
100
- - **imgui:** add GridLayout, update all components ([4f94981](https://github.com/thi-ng/umbrella/commit/4f94981))
101
- - **imgui:** add GridLayout.spansForSize/colsForWidth/rowsForHeight ([713dce1](https://github.com/thi-ng/umbrella/commit/713dce1))
102
- - **imgui:** add home/end key support in textField ([ae75c08](https://github.com/thi-ng/umbrella/commit/ae75c08))
103
- - **imgui:** add iconButton() ([07599a4](https://github.com/thi-ng/umbrella/commit/07599a4))
104
- - **imgui:** add IMGUI.clear(), update deps ([d10732d](https://github.com/thi-ng/umbrella/commit/d10732d))
105
- - **imgui:** add IMGUI.draw flag, update components, add/update hash fns ([c9bc287](https://github.com/thi-ng/umbrella/commit/c9bc287))
106
- - **imgui:** add key consts, update key handling (shift/alt mods) ([7809734](https://github.com/thi-ng/umbrella/commit/7809734))
107
- - **imgui:** add key handling for radialMenu() ([99c2987](https://github.com/thi-ng/umbrella/commit/99c2987))
108
- - **imgui:** add layouted sliderV/Group, add/update various comp ([7e0bfeb](https://github.com/thi-ng/umbrella/commit/7e0bfeb))
109
- - **imgui:** add slider value format, minor other updates ([399fa21](https://github.com/thi-ng/umbrella/commit/399fa21))
110
- - **imgui:** add textfield scrolling, cursor movement, word jump ([c94d4d9](https://github.com/thi-ng/umbrella/commit/c94d4d9))
111
- - **imgui:** add textField widget, update theme & key handling ([53b068f](https://github.com/thi-ng/umbrella/commit/53b068f))
112
- - **imgui:** add textTransformH/V, update buttons to allow any body ([05cc31f](https://github.com/thi-ng/umbrella/commit/05cc31f))
113
- - **imgui:** add theme stack, extract default event handlers ([b4aee22](https://github.com/thi-ng/umbrella/commit/b4aee22))
114
- - **imgui:** add toggle & radio buttons ([6a491aa](https://github.com/thi-ng/umbrella/commit/6a491aa))
115
- - **imgui:** add touch support, minor widget refactoring ([dcd19bc](https://github.com/thi-ng/umbrella/commit/dcd19bc))
116
- - **imgui:** add vertical slider, rename slider/sliderGroup ([40c050e](https://github.com/thi-ng/umbrella/commit/40c050e))
117
- - **imgui:** add XY-pad widget ([6446e6e](https://github.com/thi-ng/umbrella/commit/6446e6e))
118
- - **imgui:** add xyPad label offset args, minor refactoring ([d224fe0](https://github.com/thi-ng/umbrella/commit/d224fe0))
119
- - **imgui:** add/update layout types, handling, add more ctrl key consts ([4086590](https://github.com/thi-ng/umbrella/commit/4086590))
120
- - **imgui:** import as new package [@thi](https://github.com/thi).ng/imgui ([f94b430](https://github.com/thi-ng/umbrella/commit/f94b430))
121
- - **imgui:** non-destructive value updates, local state ([b499c8c](https://github.com/thi-ng/umbrella/commit/b499c8c))
122
- - **imgui:** rename dial => ring, add new dial, extract dialVal() ([cd9a339](https://github.com/thi-ng/umbrella/commit/cd9a339))
123
- - **imgui:** update button, dropdown, radio, sliderHGroup ([588a321](https://github.com/thi-ng/umbrella/commit/588a321))
124
- - **imgui:** update dropdown key handlers (Esc) ([c2ef036](https://github.com/thi-ng/umbrella/commit/c2ef036))
125
- - **imgui:** update dropdown, add tooltip support & tri icon ([d662811](https://github.com/thi-ng/umbrella/commit/d662811))
126
- - **imgui:** update IGridLayout & GridLayout.next() ([0c1d483](https://github.com/thi-ng/umbrella/commit/0c1d483))
127
- - **imgui:** update IMGUIOpts, input handling, optional event handling ([d06a235](https://github.com/thi-ng/umbrella/commit/d06a235))
128
- - **imgui:** update tab handling, allow all items unfocused ([1a63694](https://github.com/thi-ng/umbrella/commit/1a63694))
129
- - **imgui:** update textField, set cursor via mouse, update alt move/del ([4f9760d](https://github.com/thi-ng/umbrella/commit/4f9760d))
130
- - **imgui:** update theme init/config, add setTheme() ([76ad91c](https://github.com/thi-ng/umbrella/commit/76ad91c))
131
- - **imgui:** update toggleRaw() to update value earlier ([21ba39d](https://github.com/thi-ng/umbrella/commit/21ba39d))
107
+ ### [0.2.40](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.40) (2020-09-22)
132
108
 
133
- ### Performance Improvements
109
+ #### ♻️ Refactoring
134
110
 
135
- - **imgui:** update comp hashing to use murmur hash vs toString, use ES6 Maps ([7db92b9](https://github.com/thi-ng/umbrella/commit/7db92b9))
111
+ - extract handleTextfieldKeys() ([3c676aa](https://github.com/thi-ng/umbrella/commit/3c676aa))
112
+ - update hoverButton() behavior, re-use ([a2a4c3b](https://github.com/thi-ng/umbrella/commit/a2a4c3b))
113
+ - extract layoutBox() helper, re-use ([7e94bb4](https://github.com/thi-ng/umbrella/commit/7e94bb4))
114
+ - minor updates IMGUI class ([aec84c6](https://github.com/thi-ng/umbrella/commit/aec84c6))
115
+ - extract gc() method
116
+ - update endTheme()/endDisabled()
117
+ - dedupe dropdown caret ([69332d9](https://github.com/thi-ng/umbrella/commit/69332d9))
118
+ - dedupe button label handling/creation ([467159c](https://github.com/thi-ng/umbrella/commit/467159c))
119
+ - update textField() key/cursor handling ([27889d3](https://github.com/thi-ng/umbrella/commit/27889d3))
120
+ - dedupe dial/ring value labels ([ff2b318](https://github.com/thi-ng/umbrella/commit/ff2b318))
121
+ - extract dialValueLabel() helper
122
+
123
+ ### [0.2.39](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.39) (2020-09-13)
124
+
125
+ #### ♻️ Refactoring
126
+
127
+ - update deps, imports, use new Fn types ([7921929](https://github.com/thi-ng/umbrella/commit/7921929))
128
+
129
+ ### [0.2.36](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.36) (2020-08-19)
130
+
131
+ #### 🩹 Bug fixes
132
+
133
+ - don't update curr value to click position ([12d6705](https://github.com/thi-ng/umbrella/commit/12d6705))
134
+ - when click occurs only update result value, not current value
135
+ - fixes jitter issue when component state values are
136
+ being interpolated (externally)
137
+
138
+ ### [0.2.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.7) (2020-04-05)
139
+
140
+ #### ♻️ Refactoring
141
+
142
+ - switch to non-const enums ([f0552e2](https://github.com/thi-ng/umbrella/commit/f0552e2))
143
+
144
+ ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.0) (2020-02-25)
145
+
146
+ #### 🚀 Features
147
+
148
+ - remove layout, update imports, readme ([c89a6d8](https://github.com/thi-ng/umbrella/commit/c89a6d8))
149
+ - all layout features migrated to new [@thi.ng/layout](https://github.com/thi-ng/umbrella/tree/main/packages/layout) pkg
150
+
151
+ #### ♻️ Refactoring
152
+
153
+ - update imports ([feba46c](https://github.com/thi-ng/umbrella/commit/feba46c))
154
+
155
+ ### [0.1.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.1.6) (2020-01-24)
156
+
157
+ #### ♻️ Refactoring
158
+
159
+ - add IClear decl ([f498e31](https://github.com/thi-ng/umbrella/commit/f498e31))
160
+
161
+ ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.1.0) (2019-08-16)
162
+
163
+ #### 🚀 Features
164
+
165
+ - add IMGUI.clear(), update deps ([d10732d](https://github.com/thi-ng/umbrella/commit/d10732d))
166
+ - add IMGUI.draw flag, update components, add/update hash fns ([c9bc287](https://github.com/thi-ng/umbrella/commit/c9bc287))
167
+ - add key handling for radialMenu() ([99c2987](https://github.com/thi-ng/umbrella/commit/99c2987))
168
+ - add dialGroup, ringGroup, fix/update label hashing ([0333fa6](https://github.com/thi-ng/umbrella/commit/0333fa6))
169
+ - add disabled component stack, update theme & behaviors ([dce481a](https://github.com/thi-ng/umbrella/commit/dce481a))
170
+ - add theme stack, extract default event handlers ([b4aee22](https://github.com/thi-ng/umbrella/commit/b4aee22))
171
+ - add cursor & LayoutBox support, add docs ([b8d0892](https://github.com/thi-ng/umbrella/commit/b8d0892))
172
+ - non-destructive value updates, local state ([b499c8c](https://github.com/thi-ng/umbrella/commit/b499c8c))
173
+ - update all components to return new values (if edited) or else undefined
174
+ - store local state (dropdown, textfield) in IMGUI state cache
175
+ - update dropdown key handlers (Esc) ([c2ef036](https://github.com/thi-ng/umbrella/commit/c2ef036))
176
+ - add cursor blink config, update textFieldRaw() ([1d80e14](https://github.com/thi-ng/umbrella/commit/1d80e14))
177
+ - add iconButton() ([07599a4](https://github.com/thi-ng/umbrella/commit/07599a4))
178
+ - add textTransformH/V, update buttons to allow any body ([05cc31f](https://github.com/thi-ng/umbrella/commit/05cc31f))
179
+ - cache button labels in buttonH/V
180
+ - add GridLayout.spansForSize/colsForWidth/rowsForHeight ([713dce1](https://github.com/thi-ng/umbrella/commit/713dce1))
181
+ - update toggleRaw() to update value earlier ([21ba39d](https://github.com/thi-ng/umbrella/commit/21ba39d))
182
+ - update IMGUIOpts, input handling, optional event handling ([d06a235](https://github.com/thi-ng/umbrella/commit/d06a235))
183
+ - remove width/height from IMGUIOpts
184
+ - add IMGUI.setMouse/setKey to update mouse/key state
185
+ - remove obsolete Set of active keys
186
+ - make existing event handling optional, move to .useDefaultEventHandlers()
187
+ - add component resource caching & GC, update all comps & theme ([7c3d399](https://github.com/thi-ng/umbrella/commit/7c3d399))
188
+ - add .registerID() to mark used components & invalidate cache
189
+ - add .resource() to retrieved component assets
190
+ - update all comps to use cached shapes (at least partially)
191
+ - rename dial => ring, add new dial, extract dialVal() ([cd9a339](https://github.com/thi-ng/umbrella/commit/cd9a339))
192
+ - add buttonV, radialMenu, update dropdown ([03d5932](https://github.com/thi-ng/umbrella/commit/03d5932))
193
+ - add dial widget, extract key handlers, update layout ([d3d2b27](https://github.com/thi-ng/umbrella/commit/d3d2b27))
194
+ - add dial/diaRaw() widgets
195
+ - extract button & slider value updaters / key handlers
196
+ - add GridLayout.nextSquare()
197
+ - update button, toggle, sliders & xyPad widgets
198
+ - add layouted sliderV/Group, add/update various comp ([7e0bfeb](https://github.com/thi-ng/umbrella/commit/7e0bfeb))
199
+ - add `square` option for toggle() & radio()
200
+ - add sliderV/sliderVGroup()
201
+ - add textLabel() (layouted version)
202
+ - add layouted xyPad w/ opt height constraints
203
+ - minor optimizations GridLayout.next()
204
+ - add IMGUI.textWidth()
205
+ - update button, dropdown, radio, sliderHGroup ([588a321](https://github.com/thi-ng/umbrella/commit/588a321))
206
+ - update buttonRaw to allow any IShape
207
+ - update button to provide rect
208
+ - update dropdown, radio, sliderHGroup to use nested layout
209
+ - update radio to support horizontal/vertical layouts
210
+ - remove dropdownRaw, radioRaw, sliderHGroupRaw
211
+ - update IGridLayout & GridLayout.next() ([0c1d483](https://github.com/thi-ng/umbrella/commit/0c1d483))
212
+ - expose readonly layout props
213
+ - clamp colspan to max cols
214
+ - minor optimizations
215
+ - add/update layout types, handling, add more ctrl key consts ([4086590](https://github.com/thi-ng/umbrella/commit/4086590))
216
+ - add GridLayout, update all components ([4f94981](https://github.com/thi-ng/umbrella/commit/4f94981))
217
+ - add xyPad label offset args, minor refactoring ([d224fe0](https://github.com/thi-ng/umbrella/commit/d224fe0))
218
+ - update theme init/config, add setTheme() ([76ad91c](https://github.com/thi-ng/umbrella/commit/76ad91c))
219
+ - add toggle & radio buttons ([6a491aa](https://github.com/thi-ng/umbrella/commit/6a491aa))
220
+ - add vertical slider, rename slider/sliderGroup ([40c050e](https://github.com/thi-ng/umbrella/commit/40c050e))
221
+ - slider / sliderGroup = sliderH/sliderHGroup
222
+ - add new sliderV / sliderVGroup
223
+ - update dropdown, add tooltip support & tri icon ([d662811](https://github.com/thi-ng/umbrella/commit/d662811))
224
+ - add home/end key support in textField ([ae75c08](https://github.com/thi-ng/umbrella/commit/ae75c08))
225
+ - add color type, keys, update default theme ([e4facae](https://github.com/thi-ng/umbrella/commit/e4facae))
226
+ - add dropdown widget, update hover behaviors ([b9d725a](https://github.com/thi-ng/umbrella/commit/b9d725a))
227
+ - add XY-pad widget ([6446e6e](https://github.com/thi-ng/umbrella/commit/6446e6e))
228
+ - add touch support, minor widget refactoring ([dcd19bc](https://github.com/thi-ng/umbrella/commit/dcd19bc))
229
+ - update tab handling, allow all items unfocused ([1a63694](https://github.com/thi-ng/umbrella/commit/1a63694))
230
+ - update textField, set cursor via mouse, update alt move/del ([4f9760d](https://github.com/thi-ng/umbrella/commit/4f9760d))
231
+ - add textfield scrolling, cursor movement, word jump ([c94d4d9](https://github.com/thi-ng/umbrella/commit/c94d4d9))
232
+ - add slider value format, minor other updates ([399fa21](https://github.com/thi-ng/umbrella/commit/399fa21))
233
+ - add textField widget, update theme & key handling ([53b068f](https://github.com/thi-ng/umbrella/commit/53b068f))
234
+ - add key consts, update key handling (shift/alt mods) ([7809734](https://github.com/thi-ng/umbrella/commit/7809734))
235
+ - import as new package [@thi.ng/imgui](https://github.com/thi-ng/umbrella/tree/main/packages/imgui) ([f94b430](https://github.com/thi-ng/umbrella/commit/f94b430))
236
+
237
+ #### 🩹 Bug fixes
238
+
239
+ - touch event handling (FF/Safari) ([af697d9](https://github.com/thi-ng/umbrella/commit/af697d9))
240
+
241
+ #### ⏱ Performance improvements
242
+
243
+ - update comp hashing to use murmur hash vs toString, use ES6 Maps ([7db92b9](https://github.com/thi-ng/umbrella/commit/7db92b9))
244
+ - hash() ~2x faster than String()
245
+ - use ES6 Maps for IMGUI resource caches to avoid hash string conv (8-10x faster)
246
+
247
+ #### ♻️ Refactoring
248
+
249
+ - extract hover behavior fns, fix button behavior ([15ae744](https://github.com/thi-ng/umbrella/commit/15ae744))
250
+ - extract IMGUI.isHover as isHoverSlider()
251
+ - add isHoverButton(), revert behavior to not trigger if mouse released outside
252
+ - update all required comps
253
+ - update label handling in sliderV/radialMenu, update ring ([ad0d9c9](https://github.com/thi-ng/umbrella/commit/ad0d9c9))
254
+ - update mouse hover handling ([8e907e0](https://github.com/thi-ng/umbrella/commit/8e907e0))
255
+ - update button & dropdown ([c030b4d](https://github.com/thi-ng/umbrella/commit/c030b4d))
package/package.json CHANGED
@@ -1,157 +1,162 @@
1
1
  {
2
- "name": "@thi.ng/imgui",
3
- "version": "2.0.10",
4
- "description": "Immediate mode GUI with flexible state handling & data only shape output",
5
- "type": "module",
6
- "module": "./index.js",
7
- "typings": "./index.d.ts",
8
- "sideEffects": false,
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/thi-ng/umbrella.git"
12
- },
13
- "homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/imgui#readme",
14
- "funding": [
15
- {
16
- "type": "github",
17
- "url": "https://github.com/sponsors/postspectacular"
18
- },
19
- {
20
- "type": "patreon",
21
- "url": "https://patreon.com/thing_umbrella"
22
- }
23
- ],
24
- "author": "Karsten Schmidt <k+npm@thi.ng>",
25
- "license": "Apache-2.0",
26
- "scripts": {
27
- "build": "yarn clean && tsc --declaration",
28
- "clean": "rimraf *.js *.d.ts *.map doc behaviors components",
29
- "doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
30
- "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose",
31
- "doc:readme": "yarn doc:stats && ../../scripts/node-esm ../../tools/src/readme.ts",
32
- "doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts",
33
- "pub": "yarn build && yarn publish --access public",
34
- "test": "testament test"
35
- },
36
- "dependencies": {
37
- "@thi.ng/api": "^8.2.0",
38
- "@thi.ng/checks": "^3.0.7",
39
- "@thi.ng/geom": "^3.0.10",
40
- "@thi.ng/geom-api": "^3.0.9",
41
- "@thi.ng/geom-isec": "^2.0.9",
42
- "@thi.ng/geom-tessellate": "^2.0.9",
43
- "@thi.ng/layout": "^2.0.7",
44
- "@thi.ng/math": "^5.0.8",
45
- "@thi.ng/transducers": "^8.0.8",
46
- "@thi.ng/vectors": "^7.1.1"
47
- },
48
- "devDependencies": {
49
- "@thi.ng/testament": "^0.1.6"
50
- },
51
- "keywords": [
52
- "browser",
53
- "canvas",
54
- "component",
55
- "datastructure",
56
- "gui",
57
- "hiccup",
58
- "imgui",
59
- "typescript",
60
- "ui"
61
- ],
62
- "publishConfig": {
63
- "access": "public"
2
+ "name": "@thi.ng/imgui",
3
+ "version": "2.1.3",
4
+ "description": "Immediate mode GUI with flexible state handling & data only shape output",
5
+ "type": "module",
6
+ "module": "./index.js",
7
+ "typings": "./index.d.ts",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/thi-ng/umbrella.git"
12
+ },
13
+ "homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/imgui#readme",
14
+ "funding": [
15
+ {
16
+ "type": "github",
17
+ "url": "https://github.com/sponsors/postspectacular"
18
+ },
19
+ {
20
+ "type": "patreon",
21
+ "url": "https://patreon.com/thing_umbrella"
22
+ }
23
+ ],
24
+ "author": "Karsten Schmidt <k+npm@thi.ng>",
25
+ "license": "Apache-2.0",
26
+ "scripts": {
27
+ "build": "yarn clean && tsc --declaration",
28
+ "clean": "rimraf '*.js' '*.d.ts' '*.map' doc behaviors components",
29
+ "doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
30
+ "doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
31
+ "doc:readme": "yarn doc:stats && tools:readme",
32
+ "doc:stats": "tools:module-stats",
33
+ "pub": "yarn npm publish --access public",
34
+ "test": "testament test"
35
+ },
36
+ "dependencies": {
37
+ "@thi.ng/api": "^8.3.2",
38
+ "@thi.ng/checks": "^3.1.2",
39
+ "@thi.ng/geom": "^3.1.3",
40
+ "@thi.ng/geom-api": "^3.1.3",
41
+ "@thi.ng/geom-isec": "^2.1.3",
42
+ "@thi.ng/geom-tessellate": "^2.1.3",
43
+ "@thi.ng/layout": "^2.1.2",
44
+ "@thi.ng/math": "^5.1.2",
45
+ "@thi.ng/transducers": "^8.1.2",
46
+ "@thi.ng/vectors": "^7.3.0"
47
+ },
48
+ "devDependencies": {
49
+ "@microsoft/api-extractor": "^7.18.19",
50
+ "@thi.ng/testament": "^0.2.2",
51
+ "rimraf": "^3.0.2",
52
+ "tools": "^0.0.1",
53
+ "typedoc": "^0.22.9",
54
+ "typescript": "^4.5.2"
55
+ },
56
+ "keywords": [
57
+ "browser",
58
+ "canvas",
59
+ "component",
60
+ "datastructure",
61
+ "gui",
62
+ "hiccup",
63
+ "imgui",
64
+ "typescript",
65
+ "ui"
66
+ ],
67
+ "publishConfig": {
68
+ "access": "public"
69
+ },
70
+ "engines": {
71
+ "node": ">=12.7"
72
+ },
73
+ "files": [
74
+ "*.js",
75
+ "*.d.ts",
76
+ "behaviors",
77
+ "components"
78
+ ],
79
+ "exports": {
80
+ ".": {
81
+ "import": "./index.js"
82
+ },
83
+ "./api": {
84
+ "import": "./api.js"
85
+ },
86
+ "./behaviors/button": {
87
+ "import": "./behaviors/button.js"
88
+ },
89
+ "./behaviors/dial": {
90
+ "import": "./behaviors/dial.js"
91
+ },
92
+ "./behaviors/slider": {
93
+ "import": "./behaviors/slider.js"
94
+ },
95
+ "./behaviors/text": {
96
+ "import": "./behaviors/text.js"
97
+ },
98
+ "./components/button": {
99
+ "import": "./components/button.js"
100
+ },
101
+ "./components/dial": {
102
+ "import": "./components/dial.js"
103
+ },
104
+ "./components/dropdown": {
105
+ "import": "./components/dropdown.js"
106
+ },
107
+ "./components/icon-button": {
108
+ "import": "./components/icon-button.js"
109
+ },
110
+ "./components/radial-menu": {
111
+ "import": "./components/radial-menu.js"
112
+ },
113
+ "./components/radio": {
114
+ "import": "./components/radio.js"
115
+ },
116
+ "./components/ring": {
117
+ "import": "./components/ring.js"
118
+ },
119
+ "./components/sliderh": {
120
+ "import": "./components/sliderh.js"
121
+ },
122
+ "./components/sliderv": {
123
+ "import": "./components/sliderv.js"
124
+ },
125
+ "./components/textfield": {
126
+ "import": "./components/textfield.js"
127
+ },
128
+ "./components/textlabel": {
129
+ "import": "./components/textlabel.js"
130
+ },
131
+ "./components/toggle": {
132
+ "import": "./components/toggle.js"
133
+ },
134
+ "./components/tooltip": {
135
+ "import": "./components/tooltip.js"
136
+ },
137
+ "./components/xypad": {
138
+ "import": "./components/xypad.js"
139
+ },
140
+ "./events": {
141
+ "import": "./events.js"
142
+ },
143
+ "./gui": {
144
+ "import": "./gui.js"
64
145
  },
65
- "engines": {
66
- "node": ">=12.7"
146
+ "./hash": {
147
+ "import": "./hash.js"
67
148
  },
68
- "files": [
69
- "*.js",
70
- "*.d.ts",
71
- "behaviors",
72
- "components"
149
+ "./layout": {
150
+ "import": "./layout.js"
151
+ }
152
+ },
153
+ "thi.ng": {
154
+ "related": [
155
+ "hdom-canvas",
156
+ "hiccup-canvas",
157
+ "rdom-canvas"
73
158
  ],
74
- "exports": {
75
- ".": {
76
- "import": "./index.js"
77
- },
78
- "./api": {
79
- "import": "./api.js"
80
- },
81
- "./behaviors/button": {
82
- "import": "./behaviors/button.js"
83
- },
84
- "./behaviors/dial": {
85
- "import": "./behaviors/dial.js"
86
- },
87
- "./behaviors/slider": {
88
- "import": "./behaviors/slider.js"
89
- },
90
- "./behaviors/text": {
91
- "import": "./behaviors/text.js"
92
- },
93
- "./components/button": {
94
- "import": "./components/button.js"
95
- },
96
- "./components/dial": {
97
- "import": "./components/dial.js"
98
- },
99
- "./components/dropdown": {
100
- "import": "./components/dropdown.js"
101
- },
102
- "./components/icon-button": {
103
- "import": "./components/icon-button.js"
104
- },
105
- "./components/radial-menu": {
106
- "import": "./components/radial-menu.js"
107
- },
108
- "./components/radio": {
109
- "import": "./components/radio.js"
110
- },
111
- "./components/ring": {
112
- "import": "./components/ring.js"
113
- },
114
- "./components/sliderh": {
115
- "import": "./components/sliderh.js"
116
- },
117
- "./components/sliderv": {
118
- "import": "./components/sliderv.js"
119
- },
120
- "./components/textfield": {
121
- "import": "./components/textfield.js"
122
- },
123
- "./components/textlabel": {
124
- "import": "./components/textlabel.js"
125
- },
126
- "./components/toggle": {
127
- "import": "./components/toggle.js"
128
- },
129
- "./components/tooltip": {
130
- "import": "./components/tooltip.js"
131
- },
132
- "./components/xypad": {
133
- "import": "./components/xypad.js"
134
- },
135
- "./events": {
136
- "import": "./events.js"
137
- },
138
- "./gui": {
139
- "import": "./gui.js"
140
- },
141
- "./hash": {
142
- "import": "./hash.js"
143
- },
144
- "./layout": {
145
- "import": "./layout.js"
146
- }
147
- },
148
- "thi.ng": {
149
- "related": [
150
- "hdom-canvas",
151
- "hiccup-canvas",
152
- "rdom-canvas"
153
- ],
154
- "year": 2019
155
- },
156
- "gitHead": "5fe52419af63984ebe53032201b2a6174b9cb159"
157
- }
159
+ "year": 2019
160
+ },
161
+ "gitHead": "d777b58d7bec4496d38166cdabda4ffb78b0dc47\n"
162
+ }