@ixfx/components 0.2.4 → 0.2.5
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/bundle/index.d.ts +130 -130
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +2196 -2196
- package/bundle/index.js.map +1 -1
- package/dist/ac-text.d.ts +97 -0
- package/dist/ac-text.d.ts.map +1 -0
- package/dist/ac-text.js +484 -0
- package/dist/ac-text.js.map +1 -0
- package/dist/{button/button-styles.js → button-DgKUzE5o.js} +49 -3
- package/dist/button-DgKUzE5o.js.map +1 -0
- package/dist/button.d.ts +21 -0
- package/dist/button.d.ts.map +1 -0
- package/dist/button.js +3 -0
- package/dist/checkbox.d.ts +27 -57
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +74 -88
- package/dist/checkbox.js.map +1 -1
- package/dist/chunk-pbuEa-1d.js +13 -0
- package/dist/colour-C3MQIjFJ-BJV-QC-3.js +4138 -0
- package/dist/colour-C3MQIjFJ-BJV-QC-3.js.map +1 -0
- package/dist/colour-picker-Bw-AZoWx.js +922 -0
- package/dist/colour-picker-Bw-AZoWx.js.map +1 -0
- package/dist/colour-picker.d.ts +2 -0
- package/dist/colour-picker.js +2 -0
- package/dist/crumbs.d.ts +92 -0
- package/dist/crumbs.d.ts.map +1 -0
- package/dist/crumbs.js +789 -0
- package/dist/crumbs.js.map +1 -0
- package/dist/data-display.d.ts +23 -18
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +82 -108
- package/dist/data-display.js.map +1 -1
- package/dist/decorate-BZbkqIhA.js +9 -0
- package/dist/defaults-FEZaGiYZ.js +38 -0
- package/dist/defaults-FEZaGiYZ.js.map +1 -0
- package/dist/dist-By5URG0Y.js +1290 -0
- package/dist/dist-By5URG0Y.js.map +1 -0
- package/dist/dist-D7kJgnSE.js +1039 -0
- package/dist/dist-D7kJgnSE.js.map +1 -0
- package/dist/editable-label.d.ts +71 -0
- package/dist/editable-label.d.ts.map +1 -0
- package/dist/editable-label.js +279 -0
- package/dist/editable-label.js.map +1 -0
- package/dist/hex-editor-Gib1Grg2.d.ts +131 -0
- package/dist/hex-editor-Gib1Grg2.d.ts.map +1 -0
- package/dist/hex-editor-Wd6ZtZA2.js +1147 -0
- package/dist/hex-editor-Wd6ZtZA2.js.map +1 -0
- package/dist/hex.d.ts +2 -0
- package/dist/hex.js +2 -0
- package/dist/highlight-CAjwQ4GE.js +50 -0
- package/dist/highlight-CAjwQ4GE.js.map +1 -0
- package/dist/icon-BR5aTIiP.js +100 -0
- package/dist/icon-BR5aTIiP.js.map +1 -0
- package/dist/icon-DQKdfR7U.d.ts +36 -0
- package/dist/icon-DQKdfR7U.d.ts.map +1 -0
- package/dist/icons.d.ts +3 -0
- package/dist/icons.js +9 -0
- package/dist/icons.js.map +1 -0
- package/dist/incr-search-BjCNClnC.js +311 -0
- package/dist/incr-search-BjCNClnC.js.map +1 -0
- package/dist/incr-search.d.ts +2 -0
- package/dist/incr-search.js +3 -0
- package/dist/index-B1hNR7Z9.d.ts +36 -0
- package/dist/index-B1hNR7Z9.d.ts.map +1 -0
- package/dist/index-C5dK8RZa.d.ts +23 -0
- package/dist/index-C5dK8RZa.d.ts.map +1 -0
- package/dist/index-C9iBN908.d.ts +160 -0
- package/dist/index-C9iBN908.d.ts.map +1 -0
- package/dist/index-CPVcTTXo.d.ts +396 -0
- package/dist/index-CPVcTTXo.d.ts.map +1 -0
- package/dist/index-CQxanqXF.d.ts +183 -0
- package/dist/index-CQxanqXF.d.ts.map +1 -0
- package/dist/index-CpbBI3n7.d.ts +1239 -0
- package/dist/index-CpbBI3n7.d.ts.map +1 -0
- package/dist/index.d.ts +422 -53
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5729 -54
- package/dist/index.js.map +1 -1
- package/dist/interaction-CQDQJf2Q.js +1 -0
- package/dist/keyboard-De_vOHLg.js +20 -0
- package/dist/keyboard-De_vOHLg.js.map +1 -0
- package/dist/labelled-input-base-DS6-6C0r.js +155 -0
- package/dist/labelled-input-base-DS6-6C0r.js.map +1 -0
- package/dist/labelled-input-base-DnRh4reU.d.ts +43 -0
- package/dist/labelled-input-base-DnRh4reU.d.ts.map +1 -0
- package/dist/labelled-radial-input.d.ts +34 -0
- package/dist/labelled-radial-input.d.ts.map +1 -0
- package/dist/labelled-radial-input.js +188 -0
- package/dist/labelled-radial-input.js.map +1 -0
- package/dist/labelled-range-input.d.ts +2 -0
- package/dist/{labelled-range-input/labelled-range-input.js → labelled-range-input.js} +40 -45
- package/dist/labelled-range-input.js.map +1 -0
- package/dist/led.d.ts +21 -16
- package/dist/led.d.ts.map +1 -1
- package/dist/led.js +70 -78
- package/dist/led.js.map +1 -1
- package/dist/menu-BV6UFx_z.js +813 -0
- package/dist/menu-BV6UFx_z.js.map +1 -0
- package/dist/menu-item-Cikacp4F.d.ts +128 -0
- package/dist/menu-item-Cikacp4F.d.ts.map +1 -0
- package/dist/menu-item-DEzL_Yjk.js +766 -0
- package/dist/menu-item-DEzL_Yjk.js.map +1 -0
- package/dist/menu.d.ts +3 -0
- package/dist/menu.js +3 -0
- package/dist/miller.d.ts +324 -0
- package/dist/miller.d.ts.map +1 -0
- package/dist/miller.js +1343 -0
- package/dist/miller.js.map +1 -0
- package/dist/narrowed-text.d.ts +72 -0
- package/dist/narrowed-text.d.ts.map +1 -0
- package/dist/narrowed-text.js +571 -0
- package/dist/narrowed-text.js.map +1 -0
- package/dist/panel.d.ts +43 -0
- package/dist/panel.d.ts.map +1 -0
- package/dist/{panel/panel.js → panel.js} +82 -91
- package/dist/panel.js.map +1 -0
- package/dist/plots.d.ts +2 -0
- package/dist/plots.js +2 -0
- package/dist/polar-pad.d.ts +67 -0
- package/dist/polar-pad.d.ts.map +1 -0
- package/dist/polar-pad.js +537 -0
- package/dist/polar-pad.js.map +1 -0
- package/dist/popup-Ddx9LCzY.js +24 -0
- package/dist/popup-Ddx9LCzY.js.map +1 -0
- package/dist/prominence-CreDBdCs.js +98 -0
- package/dist/prominence-CreDBdCs.js.map +1 -0
- package/dist/radial-input-CNJ8asY2.js +849 -0
- package/dist/radial-input-CNJ8asY2.js.map +1 -0
- package/dist/radial-input-xSTd4kEz.d.ts +70 -0
- package/dist/radial-input-xSTd4kEz.d.ts.map +1 -0
- package/dist/radial-input.d.ts +2 -0
- package/dist/radial-input.js +2 -0
- package/dist/range-input.d.ts +43 -0
- package/dist/range-input.d.ts.map +1 -0
- package/dist/{range-input/range-input.js → range-input.js} +155 -168
- package/dist/range-input.js.map +1 -0
- package/dist/range.d.ts +28 -0
- package/dist/range.d.ts.map +1 -0
- package/dist/range.js +136 -0
- package/dist/range.js.map +1 -0
- package/dist/registry-CZEB1YI9.js +21 -0
- package/dist/registry-CZEB1YI9.js.map +1 -0
- package/dist/selecthorizontal.d.ts +13 -8
- package/dist/selecthorizontal.d.ts.map +1 -1
- package/dist/selecthorizontal.js +19 -23
- package/dist/selecthorizontal.js.map +1 -1
- package/dist/snap-container.d.ts +50 -0
- package/dist/snap-container.d.ts.map +1 -0
- package/dist/snap-container.js +297 -0
- package/dist/snap-container.js.map +1 -0
- package/dist/{split-layout/split-layout.d.ts → split-layout.d.ts} +30 -25
- package/dist/split-layout.d.ts.map +1 -0
- package/dist/split-layout.js +545 -0
- package/dist/split-layout.js.map +1 -0
- package/dist/style.css +133 -0
- package/dist/swipe.d.ts +48 -0
- package/dist/swipe.d.ts.map +1 -0
- package/dist/swipe.js +204 -0
- package/dist/swipe.js.map +1 -0
- package/dist/tab-list-CFF7uSYH.d.ts +66 -0
- package/dist/tab-list-CFF7uSYH.d.ts.map +1 -0
- package/dist/tabs.d.ts +2 -0
- package/dist/tabs.js +203 -0
- package/dist/tabs.js.map +1 -0
- package/dist/tickled-controller-Cq1Va0rR.d.ts +218 -0
- package/dist/tickled-controller-Cq1Va0rR.d.ts.map +1 -0
- package/dist/tickled-styles-Bg3QbcrD.js +327 -0
- package/dist/tickled-styles-Bg3QbcrD.js.map +1 -0
- package/dist/timeline-DBWJsSjd.js +1748 -0
- package/dist/timeline-DBWJsSjd.js.map +1 -0
- package/dist/timeline.d.ts +2 -0
- package/dist/timeline.js +2 -0
- package/dist/{styles/tooltip.js → tooltip-DMxmBNky.js} +6 -2
- package/dist/tooltip-DMxmBNky.js.map +1 -0
- package/dist/tooltip-kfUBWYVB.d.ts +26 -0
- package/dist/tooltip-kfUBWYVB.d.ts.map +1 -0
- package/dist/tree-component-CQpoPo4s.d.ts +326 -0
- package/dist/tree-component-CQpoPo4s.d.ts.map +1 -0
- package/dist/tree-data-model-DGvRVOFY.js +190 -0
- package/dist/tree-data-model-DGvRVOFY.js.map +1 -0
- package/dist/tree.d.ts +100 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +1144 -0
- package/dist/tree.js.map +1 -0
- package/dist/types-BKaqnpwx.d.ts +8 -0
- package/dist/types-BKaqnpwx.d.ts.map +1 -0
- package/dist/xy-axis-BANbgrI5.js +6243 -0
- package/dist/xy-axis-BANbgrI5.js.map +1 -0
- package/dist/xy-axis-CIFok7MF.d.ts +141 -0
- package/dist/xy-axis-CIFok7MF.d.ts.map +1 -0
- package/dist/xy-pad.d.ts +74 -110
- package/dist/xy-pad.d.ts.map +1 -1
- package/dist/xy-pad.js +300 -320
- package/dist/xy-pad.js.map +1 -1
- package/package.json +10 -18
- package/dist/ac-text/ac-text.d.ts +0 -99
- package/dist/ac-text/ac-text.d.ts.map +0 -1
- package/dist/ac-text/ac-text.js +0 -571
- package/dist/ac-text/ac-text.js.map +0 -1
- package/dist/button/button-styles.d.ts +0 -2
- package/dist/button/button-styles.d.ts.map +0 -1
- package/dist/button/button-styles.js.map +0 -1
- package/dist/button/button.d.ts +0 -16
- package/dist/button/button.d.ts.map +0 -1
- package/dist/button/button.js +0 -58
- package/dist/button/button.js.map +0 -1
- package/dist/button/radio-group.d.ts +0 -44
- package/dist/button/radio-group.d.ts.map +0 -1
- package/dist/button/radio-group.js +0 -385
- package/dist/button/radio-group.js.map +0 -1
- package/dist/button/split-button.d.ts +0 -59
- package/dist/button/split-button.d.ts.map +0 -1
- package/dist/button/split-button.js +0 -480
- package/dist/button/split-button.js.map +0 -1
- package/dist/button/types.d.ts +0 -18
- package/dist/button/types.d.ts.map +0 -1
- package/dist/button/types.js +0 -2
- package/dist/button/types.js.map +0 -1
- package/dist/colour-picker/colour-picker-popup.d.ts +0 -102
- package/dist/colour-picker/colour-picker-popup.d.ts.map +0 -1
- package/dist/colour-picker/colour-picker-popup.js +0 -399
- package/dist/colour-picker/colour-picker-popup.js.map +0 -1
- package/dist/colour-picker/colour-picker.d.ts +0 -100
- package/dist/colour-picker/colour-picker.d.ts.map +0 -1
- package/dist/colour-picker/colour-picker.js +0 -567
- package/dist/colour-picker/colour-picker.js.map +0 -1
- package/dist/colour-picker/index.d.ts +0 -4
- package/dist/colour-picker/index.d.ts.map +0 -1
- package/dist/colour-picker/index.js +0 -3
- package/dist/colour-picker/index.js.map +0 -1
- package/dist/colour-picker/styles.d.ts +0 -2
- package/dist/colour-picker/styles.d.ts.map +0 -1
- package/dist/colour-picker/styles.js +0 -139
- package/dist/colour-picker/styles.js.map +0 -1
- package/dist/colour-picker/types.d.ts +0 -33
- package/dist/colour-picker/types.d.ts.map +0 -1
- package/dist/colour-picker/types.js +0 -2
- package/dist/colour-picker/types.js.map +0 -1
- package/dist/colour-picker/util.d.ts +0 -15
- package/dist/colour-picker/util.d.ts.map +0 -1
- package/dist/colour-picker/util.js +0 -35
- package/dist/colour-picker/util.js.map +0 -1
- package/dist/common/searchable.d.ts +0 -9
- package/dist/common/searchable.d.ts.map +0 -1
- package/dist/common/searchable.js +0 -9
- package/dist/common/searchable.js.map +0 -1
- package/dist/common/tree-component.d.ts +0 -172
- package/dist/common/tree-component.d.ts.map +0 -1
- package/dist/common/tree-component.js +0 -8
- package/dist/common/tree-component.js.map +0 -1
- package/dist/common/tree-data-model.d.ts +0 -100
- package/dist/common/tree-data-model.d.ts.map +0 -1
- package/dist/common/tree-data-model.js +0 -207
- package/dist/common/tree-data-model.js.map +0 -1
- package/dist/common/tree-item.d.ts +0 -7
- package/dist/common/tree-item.d.ts.map +0 -1
- package/dist/common/tree-item.js +0 -2
- package/dist/common/tree-item.js.map +0 -1
- package/dist/common/types.d.ts +0 -69
- package/dist/common/types.d.ts.map +0 -1
- package/dist/common/types.js +0 -6
- package/dist/common/types.js.map +0 -1
- package/dist/crumbs/crumb-navigation.d.ts +0 -96
- package/dist/crumbs/crumb-navigation.d.ts.map +0 -1
- package/dist/crumbs/crumb-navigation.js +0 -911
- package/dist/crumbs/crumb-navigation.js.map +0 -1
- package/dist/crumbs/crumb-path-controller.d.ts +0 -18
- package/dist/crumbs/crumb-path-controller.d.ts.map +0 -1
- package/dist/crumbs/crumb-path-controller.js +0 -81
- package/dist/crumbs/crumb-path-controller.js.map +0 -1
- package/dist/crumbs/crumb-path.d.ts +0 -65
- package/dist/crumbs/crumb-path.d.ts.map +0 -1
- package/dist/crumbs/crumb-path.js +0 -691
- package/dist/crumbs/crumb-path.js.map +0 -1
- package/dist/editable-label/editable-label.d.ts +0 -98
- package/dist/editable-label/editable-label.d.ts.map +0 -1
- package/dist/editable-label/editable-label.js +0 -348
- package/dist/editable-label/editable-label.js.map +0 -1
- package/dist/editable-label/editable-number.d.ts +0 -96
- package/dist/editable-label/editable-number.d.ts.map +0 -1
- package/dist/editable-label/editable-number.js +0 -702
- package/dist/editable-label/editable-number.js.map +0 -1
- package/dist/hex/colour.d.ts +0 -6
- package/dist/hex/colour.d.ts.map +0 -1
- package/dist/hex/colour.js +0 -33
- package/dist/hex/colour.js.map +0 -1
- package/dist/hex/data.d.ts +0 -18
- package/dist/hex/data.d.ts.map +0 -1
- package/dist/hex/data.js +0 -61
- package/dist/hex/data.js.map +0 -1
- package/dist/hex/diff.d.ts +0 -14
- package/dist/hex/diff.d.ts.map +0 -1
- package/dist/hex/diff.js +0 -31
- package/dist/hex/diff.js.map +0 -1
- package/dist/hex/hex-editor.d.ts +0 -101
- package/dist/hex/hex-editor.d.ts.map +0 -1
- package/dist/hex/hex-editor.js +0 -894
- package/dist/hex/hex-editor.js.map +0 -1
- package/dist/hex/selection.d.ts +0 -11
- package/dist/hex/selection.d.ts.map +0 -1
- package/dist/hex/selection.js +0 -218
- package/dist/hex/selection.js.map +0 -1
- package/dist/hex/types.d.ts +0 -34
- package/dist/hex/types.d.ts.map +0 -1
- package/dist/hex/types.js +0 -4
- package/dist/hex/types.js.map +0 -1
- package/dist/icons/defaults.d.ts +0 -27
- package/dist/icons/defaults.d.ts.map +0 -1
- package/dist/icons/defaults.js +0 -34
- package/dist/icons/defaults.js.map +0 -1
- package/dist/icons/icon.d.ts +0 -31
- package/dist/icons/icon.d.ts.map +0 -1
- package/dist/icons/icon.js +0 -125
- package/dist/icons/icon.js.map +0 -1
- package/dist/icons/index.d.ts +0 -5
- package/dist/icons/index.d.ts.map +0 -1
- package/dist/icons/index.js +0 -6
- package/dist/icons/index.js.map +0 -1
- package/dist/icons/registry.d.ts +0 -11
- package/dist/icons/registry.d.ts.map +0 -1
- package/dist/icons/registry.js +0 -17
- package/dist/icons/registry.js.map +0 -1
- package/dist/incr-search/ac-adapter.d.ts +0 -18
- package/dist/incr-search/ac-adapter.d.ts.map +0 -1
- package/dist/incr-search/ac-adapter.js +0 -29
- package/dist/incr-search/ac-adapter.js.map +0 -1
- package/dist/incr-search/controller-miller.d.ts +0 -9
- package/dist/incr-search/controller-miller.d.ts.map +0 -1
- package/dist/incr-search/controller-miller.js +0 -8
- package/dist/incr-search/controller-miller.js.map +0 -1
- package/dist/incr-search/controller-tree.d.ts +0 -55
- package/dist/incr-search/controller-tree.d.ts.map +0 -1
- package/dist/incr-search/controller-tree.js +0 -106
- package/dist/incr-search/controller-tree.js.map +0 -1
- package/dist/incr-search/element-search.d.ts +0 -15
- package/dist/incr-search/element-search.d.ts.map +0 -1
- package/dist/incr-search/element-search.js +0 -82
- package/dist/incr-search/element-search.js.map +0 -1
- package/dist/incr-search/fuzzy.d.ts +0 -3
- package/dist/incr-search/fuzzy.d.ts.map +0 -1
- package/dist/incr-search/fuzzy.js +0 -37
- package/dist/incr-search/fuzzy.js.map +0 -1
- package/dist/incr-search/highlight.d.ts +0 -5
- package/dist/incr-search/highlight.d.ts.map +0 -1
- package/dist/incr-search/highlight.js +0 -54
- package/dist/incr-search/highlight.js.map +0 -1
- package/dist/incr-search/incr-search.d.ts +0 -3
- package/dist/incr-search/incr-search.d.ts.map +0 -1
- package/dist/incr-search/incr-search.js +0 -73
- package/dist/incr-search/incr-search.js.map +0 -1
- package/dist/incr-search/index.d.ts +0 -12
- package/dist/incr-search/index.d.ts.map +0 -1
- package/dist/incr-search/index.js +0 -8
- package/dist/incr-search/index.js.map +0 -1
- package/dist/incr-search/types.d.ts +0 -59
- package/dist/incr-search/types.d.ts.map +0 -1
- package/dist/incr-search/types.js +0 -2
- package/dist/incr-search/types.js.map +0 -1
- package/dist/interaction/index.d.ts +0 -10
- package/dist/interaction/index.d.ts.map +0 -1
- package/dist/interaction/index.js +0 -10
- package/dist/interaction/index.js.map +0 -1
- package/dist/interaction/tickled-controller.d.ts +0 -186
- package/dist/interaction/tickled-controller.d.ts.map +0 -1
- package/dist/interaction/tickled-controller.js +0 -256
- package/dist/interaction/tickled-controller.js.map +0 -1
- package/dist/interaction/tickled-styles.d.ts +0 -53
- package/dist/interaction/tickled-styles.d.ts.map +0 -1
- package/dist/interaction/tickled-styles.js +0 -106
- package/dist/interaction/tickled-styles.js.map +0 -1
- package/dist/interaction/tree-keyboard-controller.d.ts +0 -30
- package/dist/interaction/tree-keyboard-controller.d.ts.map +0 -1
- package/dist/interaction/tree-keyboard-controller.js +0 -105
- package/dist/interaction/tree-keyboard-controller.js.map +0 -1
- package/dist/keyboard.d.ts +0 -16
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js +0 -22
- package/dist/keyboard.js.map +0 -1
- package/dist/labelled-radial-input/index.d.ts +0 -2
- package/dist/labelled-radial-input/index.d.ts.map +0 -1
- package/dist/labelled-radial-input/index.js +0 -2
- package/dist/labelled-radial-input/index.js.map +0 -1
- package/dist/labelled-radial-input/labelled-radial-input.d.ts +0 -77
- package/dist/labelled-radial-input/labelled-radial-input.d.ts.map +0 -1
- package/dist/labelled-radial-input/labelled-radial-input.js +0 -214
- package/dist/labelled-radial-input/labelled-radial-input.js.map +0 -1
- package/dist/labelled-range-input/index.d.ts +0 -2
- package/dist/labelled-range-input/index.d.ts.map +0 -1
- package/dist/labelled-range-input/index.js +0 -2
- package/dist/labelled-range-input/index.js.map +0 -1
- package/dist/labelled-range-input/labelled-range-input.d.ts +0 -80
- package/dist/labelled-range-input/labelled-range-input.d.ts.map +0 -1
- package/dist/labelled-range-input/labelled-range-input.js.map +0 -1
- package/dist/menu/index.d.ts +0 -14
- package/dist/menu/index.d.ts.map +0 -1
- package/dist/menu/index.js +0 -13
- package/dist/menu/index.js.map +0 -1
- package/dist/menu/menu-bar.d.ts +0 -23
- package/dist/menu/menu-bar.d.ts.map +0 -1
- package/dist/menu/menu-bar.js +0 -110
- package/dist/menu/menu-bar.js.map +0 -1
- package/dist/menu/menu-check-item.d.ts +0 -33
- package/dist/menu/menu-check-item.d.ts.map +0 -1
- package/dist/menu/menu-check-item.js +0 -175
- package/dist/menu/menu-check-item.js.map +0 -1
- package/dist/menu/menu-command-controller.d.ts +0 -14
- package/dist/menu/menu-command-controller.d.ts.map +0 -1
- package/dist/menu/menu-command-controller.js +0 -22
- package/dist/menu/menu-command-controller.js.map +0 -1
- package/dist/menu/menu-container.d.ts +0 -36
- package/dist/menu/menu-container.d.ts.map +0 -1
- package/dist/menu/menu-container.js +0 -351
- package/dist/menu/menu-container.js.map +0 -1
- package/dist/menu/menu-from-tree.d.ts +0 -17
- package/dist/menu/menu-from-tree.d.ts.map +0 -1
- package/dist/menu/menu-from-tree.js +0 -103
- package/dist/menu/menu-from-tree.js.map +0 -1
- package/dist/menu/menu-header.d.ts +0 -12
- package/dist/menu/menu-header.d.ts.map +0 -1
- package/dist/menu/menu-header.js +0 -36
- package/dist/menu/menu-header.js.map +0 -1
- package/dist/menu/menu-item.d.ts +0 -41
- package/dist/menu/menu-item.d.ts.map +0 -1
- package/dist/menu/menu-item.js +0 -240
- package/dist/menu/menu-item.js.map +0 -1
- package/dist/menu/menu-radio-group.d.ts +0 -24
- package/dist/menu/menu-radio-group.d.ts.map +0 -1
- package/dist/menu/menu-radio-group.js +0 -71
- package/dist/menu/menu-radio-group.js.map +0 -1
- package/dist/menu/menu-radio-item.d.ts +0 -22
- package/dist/menu/menu-radio-item.d.ts.map +0 -1
- package/dist/menu/menu-radio-item.js +0 -116
- package/dist/menu/menu-radio-item.js.map +0 -1
- package/dist/menu/menu-separator.d.ts +0 -11
- package/dist/menu/menu-separator.d.ts.map +0 -1
- package/dist/menu/menu-separator.js +0 -29
- package/dist/menu/menu-separator.js.map +0 -1
- package/dist/menu/menu-sub-trigger.d.ts +0 -46
- package/dist/menu/menu-sub-trigger.d.ts.map +0 -1
- package/dist/menu/menu-sub-trigger.js +0 -302
- package/dist/menu/menu-sub-trigger.js.map +0 -1
- package/dist/menu/menu-trigger.d.ts +0 -57
- package/dist/menu/menu-trigger.d.ts.map +0 -1
- package/dist/menu/menu-trigger.js +0 -351
- package/dist/menu/menu-trigger.js.map +0 -1
- package/dist/miller/index.d.ts +0 -5
- package/dist/miller/index.d.ts.map +0 -1
- package/dist/miller/index.js +0 -5
- package/dist/miller/index.js.map +0 -1
- package/dist/miller/miller-base.d.ts +0 -184
- package/dist/miller/miller-base.d.ts.map +0 -1
- package/dist/miller/miller-base.js +0 -1249
- package/dist/miller/miller-base.js.map +0 -1
- package/dist/miller/miller-list.d.ts +0 -30
- package/dist/miller/miller-list.d.ts.map +0 -1
- package/dist/miller/miller-list.js +0 -192
- package/dist/miller/miller-list.js.map +0 -1
- package/dist/miller/miller-tree-controller.d.ts +0 -58
- package/dist/miller/miller-tree-controller.d.ts.map +0 -1
- package/dist/miller/miller-tree-controller.js +0 -134
- package/dist/miller/miller-tree-controller.js.map +0 -1
- package/dist/miller/types.d.ts +0 -63
- package/dist/miller/types.d.ts.map +0 -1
- package/dist/miller/types.js +0 -6
- package/dist/miller/types.js.map +0 -1
- package/dist/mixins/labelled-input-base.d.ts +0 -38
- package/dist/mixins/labelled-input-base.d.ts.map +0 -1
- package/dist/mixins/labelled-input-base.js +0 -171
- package/dist/mixins/labelled-input-base.js.map +0 -1
- package/dist/mixins/labelled-input-util.d.ts +0 -3
- package/dist/mixins/labelled-input-util.d.ts.map +0 -1
- package/dist/mixins/labelled-input-util.js +0 -10
- package/dist/mixins/labelled-input-util.js.map +0 -1
- package/dist/my-element.d.ts +0 -14
- package/dist/my-element.d.ts.map +0 -1
- package/dist/my-element.js +0 -44
- package/dist/my-element.js.map +0 -1
- package/dist/narrowed-text/index.d.ts +0 -3
- package/dist/narrowed-text/index.d.ts.map +0 -1
- package/dist/narrowed-text/index.js +0 -3
- package/dist/narrowed-text/index.js.map +0 -1
- package/dist/narrowed-text/narrowed-text.d.ts +0 -48
- package/dist/narrowed-text/narrowed-text.d.ts.map +0 -1
- package/dist/narrowed-text/narrowed-text.js +0 -668
- package/dist/narrowed-text/narrowed-text.js.map +0 -1
- package/dist/narrowed-text/types.d.ts +0 -20
- package/dist/narrowed-text/types.d.ts.map +0 -1
- package/dist/narrowed-text/types.js +0 -2
- package/dist/narrowed-text/types.js.map +0 -1
- package/dist/panel/panel-group.d.ts +0 -23
- package/dist/panel/panel-group.d.ts.map +0 -1
- package/dist/panel/panel-group.js +0 -109
- package/dist/panel/panel-group.js.map +0 -1
- package/dist/panel/panel.d.ts +0 -39
- package/dist/panel/panel.d.ts.map +0 -1
- package/dist/panel/panel.js.map +0 -1
- package/dist/plots/colour-map.d.ts +0 -31
- package/dist/plots/colour-map.d.ts.map +0 -1
- package/dist/plots/colour-map.js +0 -133
- package/dist/plots/colour-map.js.map +0 -1
- package/dist/plots/data.d.ts +0 -27
- package/dist/plots/data.d.ts.map +0 -1
- package/dist/plots/data.js +0 -47
- package/dist/plots/data.js.map +0 -1
- package/dist/plots/single-axis.d.ts +0 -41
- package/dist/plots/single-axis.d.ts.map +0 -1
- package/dist/plots/single-axis.js +0 -428
- package/dist/plots/single-axis.js.map +0 -1
- package/dist/plots/svg-utils.d.ts +0 -12
- package/dist/plots/svg-utils.d.ts.map +0 -1
- package/dist/plots/svg-utils.js +0 -64
- package/dist/plots/svg-utils.js.map +0 -1
- package/dist/plots/xy-axis.d.ts +0 -42
- package/dist/plots/xy-axis.d.ts.map +0 -1
- package/dist/plots/xy-axis.js +0 -307
- package/dist/plots/xy-axis.js.map +0 -1
- package/dist/polar-pad/polar-pad.d.ts +0 -132
- package/dist/polar-pad/polar-pad.d.ts.map +0 -1
- package/dist/polar-pad/polar-pad.js +0 -598
- package/dist/polar-pad/polar-pad.js.map +0 -1
- package/dist/radial-input/radial-input.d.ts +0 -45
- package/dist/radial-input/radial-input.d.ts.map +0 -1
- package/dist/radial-input/radial-input.js +0 -692
- package/dist/radial-input/radial-input.js.map +0 -1
- package/dist/radial-input/svg-utils.d.ts +0 -147
- package/dist/radial-input/svg-utils.d.ts.map +0 -1
- package/dist/radial-input/svg-utils.js +0 -346
- package/dist/radial-input/svg-utils.js.map +0 -1
- package/dist/radial-input/types.d.ts +0 -25
- package/dist/radial-input/types.d.ts.map +0 -1
- package/dist/radial-input/types.js +0 -5
- package/dist/radial-input/types.js.map +0 -1
- package/dist/range/range-multi.d.ts +0 -62
- package/dist/range/range-multi.d.ts.map +0 -1
- package/dist/range/range-multi.js +0 -652
- package/dist/range/range-multi.js.map +0 -1
- package/dist/range/range.d.ts +0 -23
- package/dist/range/range.d.ts.map +0 -1
- package/dist/range/range.js +0 -153
- package/dist/range/range.js.map +0 -1
- package/dist/range-input/index.d.ts +0 -2
- package/dist/range-input/index.d.ts.map +0 -1
- package/dist/range-input/index.js +0 -2
- package/dist/range-input/index.js.map +0 -1
- package/dist/range-input/range-input.d.ts +0 -92
- package/dist/range-input/range-input.d.ts.map +0 -1
- package/dist/range-input/range-input.js.map +0 -1
- package/dist/snap-container/snap-container.d.ts +0 -45
- package/dist/snap-container/snap-container.d.ts.map +0 -1
- package/dist/snap-container/snap-container.js +0 -352
- package/dist/snap-container/snap-container.js.map +0 -1
- package/dist/split-layout/split-layout.d.ts.map +0 -1
- package/dist/split-layout/split-layout.js +0 -674
- package/dist/split-layout/split-layout.js.map +0 -1
- package/dist/styles/popup.d.ts +0 -11
- package/dist/styles/popup.d.ts.map +0 -1
- package/dist/styles/popup.js +0 -20
- package/dist/styles/popup.js.map +0 -1
- package/dist/styles/prominence.d.ts +0 -58
- package/dist/styles/prominence.d.ts.map +0 -1
- package/dist/styles/prominence.js +0 -94
- package/dist/styles/prominence.js.map +0 -1
- package/dist/styles/tooltip.d.ts +0 -2
- package/dist/styles/tooltip.d.ts.map +0 -1
- package/dist/styles/tooltip.js.map +0 -1
- package/dist/svg-edit-label.d.ts +0 -2
- package/dist/svg-edit-label.d.ts.map +0 -1
- package/dist/svg-edit-label.js +0 -110
- package/dist/svg-edit-label.js.map +0 -1
- package/dist/swipe/index.d.ts +0 -2
- package/dist/swipe/index.d.ts.map +0 -1
- package/dist/swipe/index.js +0 -2
- package/dist/swipe/index.js.map +0 -1
- package/dist/swipe/swipe.d.ts +0 -65
- package/dist/swipe/swipe.d.ts.map +0 -1
- package/dist/swipe/swipe.js +0 -229
- package/dist/swipe/swipe.js.map +0 -1
- package/dist/tabs/tab-layout-item.d.ts +0 -10
- package/dist/tabs/tab-layout-item.d.ts.map +0 -1
- package/dist/tabs/tab-layout-item.js +0 -20
- package/dist/tabs/tab-layout-item.js.map +0 -1
- package/dist/tabs/tab-layout.d.ts +0 -10
- package/dist/tabs/tab-layout.d.ts.map +0 -1
- package/dist/tabs/tab-layout.js +0 -25
- package/dist/tabs/tab-layout.js.map +0 -1
- package/dist/tabs/tab-list-item.d.ts +0 -34
- package/dist/tabs/tab-list-item.d.ts.map +0 -1
- package/dist/tabs/tab-list-item.js +0 -195
- package/dist/tabs/tab-list-item.js.map +0 -1
- package/dist/tabs/tab-list.d.ts +0 -31
- package/dist/tabs/tab-list.d.ts.map +0 -1
- package/dist/tabs/tab-list.js +0 -257
- package/dist/tabs/tab-list.js.map +0 -1
- package/dist/tabs/tab-panel.d.ts +0 -11
- package/dist/tabs/tab-panel.d.ts.map +0 -1
- package/dist/tabs/tab-panel.js +0 -30
- package/dist/tabs/tab-panel.js.map +0 -1
- package/dist/tabs/tab-panels.d.ts +0 -30
- package/dist/tabs/tab-panels.d.ts.map +0 -1
- package/dist/tabs/tab-panels.js +0 -80
- package/dist/tabs/tab-panels.js.map +0 -1
- package/dist/timeline/index.d.ts +0 -9
- package/dist/timeline/index.d.ts.map +0 -1
- package/dist/timeline/index.js +0 -8
- package/dist/timeline/index.js.map +0 -1
- package/dist/timeline/timeline-controller.d.ts +0 -48
- package/dist/timeline/timeline-controller.d.ts.map +0 -1
- package/dist/timeline/timeline-controller.js +0 -81
- package/dist/timeline/timeline-controller.js.map +0 -1
- package/dist/timeline/timeline-draw.d.ts +0 -28
- package/dist/timeline/timeline-draw.d.ts.map +0 -1
- package/dist/timeline/timeline-draw.js +0 -330
- package/dist/timeline/timeline-draw.js.map +0 -1
- package/dist/timeline/timeline-element.d.ts +0 -140
- package/dist/timeline/timeline-element.d.ts.map +0 -1
- package/dist/timeline/timeline-element.js +0 -888
- package/dist/timeline/timeline-element.js.map +0 -1
- package/dist/timeline/timeline-interactions.d.ts +0 -40
- package/dist/timeline/timeline-interactions.d.ts.map +0 -1
- package/dist/timeline/timeline-interactions.js +0 -393
- package/dist/timeline/timeline-interactions.js.map +0 -1
- package/dist/timeline/timeline-styles.d.ts +0 -2
- package/dist/timeline/timeline-styles.d.ts.map +0 -1
- package/dist/timeline/timeline-styles.js +0 -153
- package/dist/timeline/timeline-styles.js.map +0 -1
- package/dist/timeline/timeline-track-tabs.d.ts +0 -30
- package/dist/timeline/timeline-track-tabs.d.ts.map +0 -1
- package/dist/timeline/timeline-track-tabs.js +0 -204
- package/dist/timeline/timeline-track-tabs.js.map +0 -1
- package/dist/timeline/types.d.ts +0 -144
- package/dist/timeline/types.d.ts.map +0 -1
- package/dist/timeline/types.js +0 -3
- package/dist/timeline/types.js.map +0 -1
- package/dist/tree/index.d.ts +0 -5
- package/dist/tree/index.d.ts.map +0 -1
- package/dist/tree/index.js +0 -5
- package/dist/tree/index.js.map +0 -1
- package/dist/tree/tree-base.d.ts +0 -70
- package/dist/tree/tree-base.d.ts.map +0 -1
- package/dist/tree/tree-base.js +0 -1028
- package/dist/tree/tree-base.js.map +0 -1
- package/dist/tree/tree-controller.d.ts +0 -14
- package/dist/tree/tree-controller.d.ts.map +0 -1
- package/dist/tree/tree-controller.js +0 -96
- package/dist/tree/tree-controller.js.map +0 -1
- package/dist/tree/tree-list.d.ts +0 -20
- package/dist/tree/tree-list.d.ts.map +0 -1
- package/dist/tree/tree-list.js +0 -174
- package/dist/tree/tree-list.js.map +0 -1
- package/dist/tree/types.d.ts +0 -14
- package/dist/tree/types.d.ts.map +0 -1
- package/dist/tree/types.js +0 -7
- package/dist/tree/types.js.map +0 -1
- package/dist/util/checkbox.d.ts +0 -2
- package/dist/util/checkbox.d.ts.map +0 -1
- package/dist/util/checkbox.js +0 -69
- package/dist/util/checkbox.js.map +0 -1
- package/dist/util/circle-arc.d.ts +0 -34
- package/dist/util/circle-arc.d.ts.map +0 -1
- package/dist/util/circle-arc.js +0 -85
- package/dist/util/circle-arc.js.map +0 -1
- package/dist/util/clamp.d.ts +0 -4
- package/dist/util/clamp.d.ts.map +0 -1
- package/dist/util/clamp.js +0 -23
- package/dist/util/clamp.js.map +0 -1
- package/dist/util/compare.d.ts +0 -53
- package/dist/util/compare.d.ts.map +0 -1
- package/dist/util/compare.js +0 -91
- package/dist/util/compare.js.map +0 -1
- package/dist/util/content-editable.d.ts +0 -2
- package/dist/util/content-editable.d.ts.map +0 -1
- package/dist/util/content-editable.js +0 -13
- package/dist/util/content-editable.js.map +0 -1
- package/dist/util/coordinates.d.ts +0 -3
- package/dist/util/coordinates.d.ts.map +0 -1
- package/dist/util/coordinates.js +0 -11
- package/dist/util/coordinates.js.map +0 -1
- package/dist/util/drag.d.ts +0 -16
- package/dist/util/drag.d.ts.map +0 -1
- package/dist/util/drag.js +0 -20
- package/dist/util/drag.js.map +0 -1
- package/dist/util/is-numeric.d.ts +0 -2
- package/dist/util/is-numeric.d.ts.map +0 -1
- package/dist/util/is-numeric.js +0 -9
- package/dist/util/is-numeric.js.map +0 -1
- package/dist/util/key-value.d.ts +0 -5
- package/dist/util/key-value.d.ts.map +0 -1
- package/dist/util/key-value.js +0 -29
- package/dist/util/key-value.js.map +0 -1
- package/dist/util/near.d.ts +0 -2
- package/dist/util/near.d.ts.map +0 -1
- package/dist/util/near.js +0 -6
- package/dist/util/near.js.map +0 -1
- package/dist/util/primitive-types.d.ts +0 -6
- package/dist/util/primitive-types.d.ts.map +0 -1
- package/dist/util/primitive-types.js +0 -2
- package/dist/util/primitive-types.js.map +0 -1
- package/dist/util/svg-editable-text.d.ts +0 -26
- package/dist/util/svg-editable-text.d.ts.map +0 -1
- package/dist/util/svg-editable-text.js +0 -119
- package/dist/util/svg-editable-text.js.map +0 -1
- package/dist/util/time.d.ts +0 -2
- package/dist/util/time.d.ts.map +0 -1
- package/dist/util/time.js +0 -2
- package/dist/util/time.js.map +0 -1
- package/dist/util/tooltip-controller.d.ts +0 -10
- package/dist/util/tooltip-controller.d.ts.map +0 -1
- package/dist/util/tooltip-controller.js +0 -237
- package/dist/util/tooltip-controller.js.map +0 -1
- package/dist/util/tooltip.d.ts +0 -21
- package/dist/util/tooltip.d.ts.map +0 -1
- package/dist/util/tooltip.js +0 -98
- package/dist/util/tooltip.js.map +0 -1
- package/dist/util/value-drag.d.ts +0 -33
- package/dist/util/value-drag.d.ts.map +0 -1
- package/dist/util/value-drag.js +0 -154
- package/dist/util/value-drag.js.map +0 -1
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { t as __decorate } from "./decorate-BZbkqIhA.js";
|
|
2
|
+
import { LitElement, css } from "lit";
|
|
3
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
4
|
+
//#region src/editable-label/editable-label.ts
|
|
5
|
+
let EditableLabel = class EditableLabel extends LitElement {
|
|
6
|
+
constructor(..._args) {
|
|
7
|
+
super(..._args);
|
|
8
|
+
this.mode = `label`;
|
|
9
|
+
this.entryMode = `free`;
|
|
10
|
+
this.value = ``;
|
|
11
|
+
this.disabled = false;
|
|
12
|
+
this.placeholder = ``;
|
|
13
|
+
this.displayTextLogic = `hidden`;
|
|
14
|
+
this.appearDelay = 50;
|
|
15
|
+
this.disappearDelay = 1e3;
|
|
16
|
+
this._editing = false;
|
|
17
|
+
this._prevValue = ``;
|
|
18
|
+
this._hovering = false;
|
|
19
|
+
this._transientShowingValue = false;
|
|
20
|
+
this._transientTimer = void 0;
|
|
21
|
+
this._showModeWaitingToHide = false;
|
|
22
|
+
this._onMouseEnter = () => {
|
|
23
|
+
if (this.displayTextLogic !== `transient`) return;
|
|
24
|
+
this._hovering = true;
|
|
25
|
+
this._clearTransientTimer();
|
|
26
|
+
this._transientTimer = window.setTimeout(() => {
|
|
27
|
+
this._transientShowingValue = true;
|
|
28
|
+
this._requestDisplayUpdate();
|
|
29
|
+
}, this.appearDelay);
|
|
30
|
+
};
|
|
31
|
+
this._onMouseLeave = () => {
|
|
32
|
+
if (this.displayTextLogic !== `transient`) return;
|
|
33
|
+
this._hovering = false;
|
|
34
|
+
this._startTransientRevertTimer();
|
|
35
|
+
};
|
|
36
|
+
this._handleFocus = () => {
|
|
37
|
+
if (this.mode === `editor` && !this.disabled && !this._editing) this._beginEdit();
|
|
38
|
+
};
|
|
39
|
+
this._handleBlur = () => {
|
|
40
|
+
if (this._editing) this._tryCommit();
|
|
41
|
+
};
|
|
42
|
+
this._handleKeydown = (e) => {
|
|
43
|
+
if (!this._editing) return;
|
|
44
|
+
if (e.key === `Enter`) {
|
|
45
|
+
e.preventDefault();
|
|
46
|
+
this._tryCommit();
|
|
47
|
+
if (this.mode === `editor`) this._contentEl?.blur();
|
|
48
|
+
} else if (e.key === `Escape`) {
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
this._cancelEdit();
|
|
51
|
+
if (this.mode === `editor`) this._contentEl?.blur();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
this._handleBeforeInput = (e) => {
|
|
55
|
+
if (e.inputType !== `insertText` || !e.data) return;
|
|
56
|
+
if (!this._isAllowedInput(e.data)) e.preventDefault();
|
|
57
|
+
};
|
|
58
|
+
this._handleInput = () => {
|
|
59
|
+
if (!this._editing) return;
|
|
60
|
+
const raw = this._contentEl?.textContent?.trim() ?? ``;
|
|
61
|
+
this.dispatchEvent(new CustomEvent(`input`, {
|
|
62
|
+
detail: { value: raw },
|
|
63
|
+
bubbles: true,
|
|
64
|
+
composed: true
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
get _contentEl() {
|
|
69
|
+
return this.renderRoot?.querySelector(`.content`) ?? void 0;
|
|
70
|
+
}
|
|
71
|
+
_clearTransientTimer() {
|
|
72
|
+
if (this._transientTimer !== void 0) {
|
|
73
|
+
clearTimeout(this._transientTimer);
|
|
74
|
+
this._transientTimer = void 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_startTransientRevertTimer() {
|
|
78
|
+
this._clearTransientTimer();
|
|
79
|
+
this._transientTimer = window.setTimeout(() => {
|
|
80
|
+
if (!this._hovering && this.displayTextLogic === `transient`) {
|
|
81
|
+
this._transientShowingValue = false;
|
|
82
|
+
this._requestDisplayUpdate();
|
|
83
|
+
}
|
|
84
|
+
}, this.disappearDelay);
|
|
85
|
+
}
|
|
86
|
+
_requestDisplayUpdate() {
|
|
87
|
+
if (!this._editing) {
|
|
88
|
+
const el = this._contentEl;
|
|
89
|
+
if (el) el.textContent = this._getDisplayText();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Called by subclasses when user interacts (drag, keyboard, etc) to temporarily show value in transient mode */
|
|
93
|
+
_onUserInteraction() {
|
|
94
|
+
if (this.displayTextLogic !== `transient`) return;
|
|
95
|
+
this._clearTransientTimer();
|
|
96
|
+
this._transientTimer = window.setTimeout(() => {
|
|
97
|
+
this._transientShowingValue = true;
|
|
98
|
+
this._startTransientRevertTimer();
|
|
99
|
+
this._requestDisplayUpdate();
|
|
100
|
+
}, this.appearDelay);
|
|
101
|
+
}
|
|
102
|
+
_beginEdit() {
|
|
103
|
+
this._prevValue = this.value;
|
|
104
|
+
this._editing = true;
|
|
105
|
+
this.removeAttribute(`invalid`);
|
|
106
|
+
}
|
|
107
|
+
_tryCommit() {
|
|
108
|
+
let raw = this._contentEl?.textContent?.trim() ?? ``;
|
|
109
|
+
if (this.entryMode === `percent`) raw = raw.replaceAll(`%`, ``).trim();
|
|
110
|
+
if ((this.validator ?? this._defaultValidator.bind(this))(raw)) {
|
|
111
|
+
this.removeAttribute(`invalid`);
|
|
112
|
+
const prev = this.value;
|
|
113
|
+
this.value = raw;
|
|
114
|
+
this._editing = false;
|
|
115
|
+
if (raw !== prev) this.dispatchEvent(new CustomEvent(`change`, {
|
|
116
|
+
detail: { value: raw },
|
|
117
|
+
bubbles: true,
|
|
118
|
+
composed: true
|
|
119
|
+
}));
|
|
120
|
+
} else this._cancelEdit();
|
|
121
|
+
}
|
|
122
|
+
_cancelEdit() {
|
|
123
|
+
this.value = this._prevValue;
|
|
124
|
+
this._editing = false;
|
|
125
|
+
this.removeAttribute(`invalid`);
|
|
126
|
+
}
|
|
127
|
+
_getDisplayText() {
|
|
128
|
+
if (this._shouldUseDisplayText() && this.displayText !== void 0 && this.displayText !== ``) return this.displayText;
|
|
129
|
+
if (!this.value) return ``;
|
|
130
|
+
if (this.formatter) return this.formatter(this.value);
|
|
131
|
+
if (this.entryMode === `percent`) return `${this.value}%`;
|
|
132
|
+
return this.value;
|
|
133
|
+
}
|
|
134
|
+
_shouldUseDisplayText() {
|
|
135
|
+
if (this.displayTextLogic === `hidden`) return false;
|
|
136
|
+
if (this.displayTextLogic === `override`) return true;
|
|
137
|
+
if (this.displayTextLogic === `show`) {
|
|
138
|
+
if (this._editing) return false;
|
|
139
|
+
return this._showModeWaitingToHide;
|
|
140
|
+
}
|
|
141
|
+
if (this.displayTextLogic === `transient`) {
|
|
142
|
+
if (this._editing) return false;
|
|
143
|
+
if (this._transientShowingValue) return false;
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
_isAllowedInput(char) {
|
|
149
|
+
switch (this.entryMode) {
|
|
150
|
+
case `text`: return /^[a-z\s]$/i.test(char);
|
|
151
|
+
case `number`: return /^[\d.\-]$/.test(char);
|
|
152
|
+
case `percent`: return /^[\d.%]$/.test(char);
|
|
153
|
+
default: return true;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
_defaultValidator(value) {
|
|
157
|
+
switch (this.entryMode) {
|
|
158
|
+
case `text`: return /^[a-z\s]*$/i.test(value);
|
|
159
|
+
case `number`: return value === `` || /^-?\d*(?:\.\d*)?$/.test(value);
|
|
160
|
+
case `percent`: return value === `` || /^\d*(?:\.\d*)?$/.test(value);
|
|
161
|
+
default: return true;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
static {
|
|
165
|
+
this.styles = [css`
|
|
166
|
+
:host {
|
|
167
|
+
display: inline-flex;
|
|
168
|
+
align-items: center;
|
|
169
|
+
justify-content: center;
|
|
170
|
+
|
|
171
|
+
--_font-size: var(--label-font-size, var(--text-m, 12px));
|
|
172
|
+
--_font-family: var(--label-font-family, var(--font-family, system-ui, sans-serif));
|
|
173
|
+
--_color: var(--label-color, var(--surface-2-text));
|
|
174
|
+
--_muted: var(--label-muted-color, var(--surface-muted-text, oklch(55% 0.02 240)));
|
|
175
|
+
--_padding: var(--label-padding, var(--space-xs, 3px) var(--space-s, 4px));
|
|
176
|
+
--_radius: var(--label-radius, var(--radius-s, 3px));
|
|
177
|
+
--_align: var(--label-align, center);
|
|
178
|
+
--_min-width: var(--label-min-width, 1ch);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.content {
|
|
182
|
+
box-sizing: border-box;
|
|
183
|
+
width: 100%;
|
|
184
|
+
text-align: var(--_align);
|
|
185
|
+
outline: none;
|
|
186
|
+
white-space: nowrap;
|
|
187
|
+
overflow: hidden;
|
|
188
|
+
text-overflow: ellipsis;
|
|
189
|
+
min-width: var(--_min-width);
|
|
190
|
+
font-family: var(--_font-family);
|
|
191
|
+
font-size: var(--_font-size);
|
|
192
|
+
color: var(--_color);
|
|
193
|
+
padding: var(--_padding);
|
|
194
|
+
border: 1px solid transparent;
|
|
195
|
+
border-radius: var(--_radius);
|
|
196
|
+
cursor: pointer;
|
|
197
|
+
transition:
|
|
198
|
+
background var(--transition, 0.15s ease-out),
|
|
199
|
+
border-color var(--transition, 0.15s ease-out);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* Remove overflow clipping while editing so the cursor is never hidden */
|
|
203
|
+
.content[contenteditable="plaintext-only"] {
|
|
204
|
+
overflow: visible;
|
|
205
|
+
text-overflow: clip;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* ── Label mode ── */
|
|
209
|
+
:host([mode="label"]) .content {
|
|
210
|
+
background: transparent;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
:host([mode="label"]) .content[contenteditable="plaintext-only"] {
|
|
214
|
+
background: var(--surface-4, oklch(22% 0.02 240));
|
|
215
|
+
border: var(--border, 1px solid oklch(25% 0.02 240));
|
|
216
|
+
cursor: text;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/* ── Editor mode — always shows box ── */
|
|
220
|
+
:host([mode="editor"]) .content {
|
|
221
|
+
background: var(--surface-4, oklch(22% 0.02 240));
|
|
222
|
+
border: var(--border, 1px solid oklch(25% 0.02 240));
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
:host([mode="editor"]) .content[contenteditable="plaintext-only"] {
|
|
226
|
+
border-color: var(--accent, oklch(60% 0.15 140));
|
|
227
|
+
cursor: text;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* ── Placeholder ── */
|
|
231
|
+
.content:empty::before {
|
|
232
|
+
content: attr(data-placeholder);
|
|
233
|
+
color: var(--_muted);
|
|
234
|
+
pointer-events: none;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/* ── Invalid ── */
|
|
238
|
+
:host([invalid]) .content {
|
|
239
|
+
border-color: var(--error, oklch(60% 0.15 20));
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* ── Disabled ── */
|
|
243
|
+
:host([disabled]) .content {
|
|
244
|
+
opacity: var(--disabled-opacity, 0.5);
|
|
245
|
+
cursor: not-allowed;
|
|
246
|
+
pointer-events: none;
|
|
247
|
+
}
|
|
248
|
+
`];
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
__decorate([property({ reflect: true })], EditableLabel.prototype, "mode", void 0);
|
|
252
|
+
__decorate([property({
|
|
253
|
+
attribute: `entry-mode`,
|
|
254
|
+
reflect: true
|
|
255
|
+
})], EditableLabel.prototype, "entryMode", void 0);
|
|
256
|
+
__decorate([property({ reflect: true })], EditableLabel.prototype, "value", void 0);
|
|
257
|
+
__decorate([property({
|
|
258
|
+
type: Boolean,
|
|
259
|
+
reflect: true
|
|
260
|
+
})], EditableLabel.prototype, "disabled", void 0);
|
|
261
|
+
__decorate([property()], EditableLabel.prototype, "placeholder", void 0);
|
|
262
|
+
__decorate([property({ attribute: `display-text` })], EditableLabel.prototype, "displayText", void 0);
|
|
263
|
+
__decorate([property({ attribute: `display-text-logic` })], EditableLabel.prototype, "displayTextLogic", void 0);
|
|
264
|
+
__decorate([property({
|
|
265
|
+
type: Number,
|
|
266
|
+
attribute: `appear-delay`
|
|
267
|
+
})], EditableLabel.prototype, "appearDelay", void 0);
|
|
268
|
+
__decorate([property({
|
|
269
|
+
type: Number,
|
|
270
|
+
attribute: `disappear-delay`
|
|
271
|
+
})], EditableLabel.prototype, "disappearDelay", void 0);
|
|
272
|
+
__decorate([property({ attribute: false })], EditableLabel.prototype, "validator", void 0);
|
|
273
|
+
__decorate([property({ attribute: false })], EditableLabel.prototype, "formatter", void 0);
|
|
274
|
+
__decorate([state()], EditableLabel.prototype, "_editing", void 0);
|
|
275
|
+
EditableLabel = __decorate([customElement(`ixfx-editable-label`)], EditableLabel);
|
|
276
|
+
//#endregion
|
|
277
|
+
export { EditableLabel };
|
|
278
|
+
|
|
279
|
+
//# sourceMappingURL=editable-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-label.js","names":[],"sources":["../src/editable-label/editable-label.ts"],"sourcesContent":["/**\n * <ixfx-editable-label> — inline editable text label.\n *\n * Two display modes:\n * label (default) — renders as plain text until clicked, then becomes an editable box.\n * editor — always renders as an editable box; becomes active on focus/click.\n *\n * Entry modes (filter characters as typed):\n * free (default) — no restrictions\n * text — alphabetical characters and spaces only\n * number — digits, decimal point, minus sign\n * percent — digits, decimal point, percent sign\n *\n * Properties (not attributes):\n * validator (value: string) => boolean — override commit validation; default uses entry-mode rules\n * formatter (value: string) => string — transform committed value for display\n *\n * Events:\n * input — CustomEvent<{ value: string }>, bubbles + composed; fired as value changes during editing\n * change — CustomEvent<{ value: string }>, bubbles + composed; fired when value is committed\n *\n * CSS variables:\n * --label-font-size defaults to var(--text-m, 12px)\n * --label-font-family defaults to var(--font-family, system-ui, sans-serif)\n * --label-color defaults to var(--surface-2-text)\n * --label-muted-color placeholder colour, defaults to var(--surface-muted-text)\n * --label-padding defaults to var(--space-xs, 3px) var(--space-s, 4px)\n * --label-radius defaults to var(--radius-s, 3px)\n * --label-align text alignment: left | center (default) | right\n */\nimport type { CSSResult } from 'lit';\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\n\nexport type EditableMode = `label` | `editor`;\nexport type EntryMode = `free` | `text` | `number` | `percent`;\nexport type DisplayTextLogic = `hidden` | `show` | `override` | `transient`;\n\nexport type EditableLabelChangeDetail = {\n readonly value: string;\n};\nexport type EditableLabelChangeEvent = CustomEvent<EditableLabelChangeDetail>;\n\n@customElement(`ixfx-editable-label`)\nexport class EditableLabel extends LitElement {\n @property({ reflect: true }) mode: EditableMode = `label`;\n @property({ attribute: `entry-mode`, reflect: true }) entryMode: EntryMode = `free`;\n @property({ reflect: true }) value = ``;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property() placeholder = ``;\n\n /** Override displayed text. Bypasses formatter and value. When editing, shows raw value. */\n @property({ attribute: `display-text` }) displayText?: string;\n\n /**\n * Controls when displayText is shown:\n * - 'hidden' (default): never use displayText\n * - 'show': show displayText instead of formatted value, but hide while editing; revert after disappearDelay\n * - 'override': always show displayText, even when editing\n * - 'transient': show displayText by default, switch to formatted value after appearDelay on hover/interaction; revert after disappearDelay\n */\n @property({ attribute: `display-text-logic` }) displayTextLogic: DisplayTextLogic = `hidden`;\n\n /** Delay before showing value in transient mode (ms). Default: 50 */\n @property({ type: Number, attribute: `appear-delay` }) appearDelay = 50;\n\n /** Delay before reverting to displayText after editing ends (ms). Default: 1000 */\n @property({ type: Number, attribute: `disappear-delay` }) disappearDelay = 1000;\n\n /** Override commit validation. Return true to accept, false to reject (reverts). */\n @property({ attribute: false }) validator?: (value: string) => boolean;\n\n /** Transform the committed value for display. Does not affect the stored value. */\n @property({ attribute: false }) formatter?: (value: string) => string;\n\n @state() protected _editing = false;\n\n protected get _contentEl(): HTMLElement | undefined {\n return this.renderRoot?.querySelector<HTMLElement>(`.content`) ?? undefined;\n }\n\n /** Snapshot of value taken when editing begins; restored on cancel. */\n protected _prevValue = ``;\n\n // ── Transient display state ─────────────────────────────────────────────────\n protected _hovering = false;\n protected _transientShowingValue = false;\n protected _transientTimer: number | undefined = undefined;\n protected _showModeWaitingToHide = false;\n\n protected _clearTransientTimer(): void {\n if (this._transientTimer !== undefined) {\n clearTimeout(this._transientTimer);\n this._transientTimer = undefined;\n }\n }\n\n private _onMouseEnter = (): void => {\n if (this.displayTextLogic !== `transient`)\n return;\n this._hovering = true;\n this._clearTransientTimer();\n this._transientTimer = window.setTimeout(() => {\n this._transientShowingValue = true;\n this._requestDisplayUpdate();\n }, this.appearDelay);\n };\n\n private _onMouseLeave = (): void => {\n if (this.displayTextLogic !== `transient`)\n return;\n this._hovering = false;\n this._startTransientRevertTimer();\n };\n\n protected _startTransientRevertTimer(): void {\n this._clearTransientTimer();\n this._transientTimer = window.setTimeout(() => {\n if (!this._hovering && this.displayTextLogic === `transient`) {\n this._transientShowingValue = false;\n this._requestDisplayUpdate();\n }\n }, this.disappearDelay);\n }\n\n protected _requestDisplayUpdate(): void {\n if (!this._editing) {\n const el = this._contentEl;\n if (el) {\n el.textContent = this._getDisplayText();\n }\n }\n }\n\n /** Called by subclasses when user interacts (drag, keyboard, etc) to temporarily show value in transient mode */\n protected _onUserInteraction(): void {\n if (this.displayTextLogic !== `transient`)\n return;\n this._clearTransientTimer();\n this._transientTimer = window.setTimeout(() => {\n this._transientShowingValue = true;\n this._startTransientRevertTimer();\n this._requestDisplayUpdate();\n }, this.appearDelay);\n };\n\n protected _handleFocus = (): void => {\n if (this.mode === `editor` && !this.disabled && !this._editing) {\n this._beginEdit();\n }\n };\n\n protected _handleBlur = (): void => {\n if (this._editing)\n this._tryCommit();\n };\n\n protected _handleKeydown = (e: KeyboardEvent): void => {\n if (!this._editing)\n return;\n if (e.key === `Enter`) {\n e.preventDefault();\n this._tryCommit();\n if (this.mode === `editor`)\n this._contentEl?.blur();\n } else if (e.key === `Escape`) {\n e.preventDefault();\n this._cancelEdit();\n if (this.mode === `editor`)\n this._contentEl?.blur();\n }\n };\n\n protected _handleBeforeInput = (e: InputEvent): void => {\n if (e.inputType !== `insertText` || !e.data)\n return;\n if (!this._isAllowedInput(e.data)) {\n e.preventDefault();\n }\n };\n\n protected _handleInput = (): void => {\n if (!this._editing)\n return;\n\n const raw = this._contentEl?.textContent?.trim() ?? ``;\n\n this.dispatchEvent(new CustomEvent<EditableLabelChangeDetail>(`input`, {\n detail: { value: raw },\n bubbles: true,\n composed: true,\n }));\n };\n\n // ── Core logic ───────────────────────────────────────────────────────────\n\n protected _beginEdit(): void {\n this._prevValue = this.value;\n this._editing = true;\n this.removeAttribute(`invalid`);\n }\n\n protected _tryCommit(): void {\n let raw = this._contentEl?.textContent?.trim() ?? ``;\n if (this.entryMode === `percent`)\n raw = raw.replaceAll(`%`, ``).trim();\n const validate = this.validator ?? this._defaultValidator.bind(this);\n if (validate(raw)) {\n this.removeAttribute(`invalid`);\n const prev = this.value;\n this.value = raw;\n this._editing = false;\n if (raw !== prev) {\n this.dispatchEvent(new CustomEvent<EditableLabelChangeDetail>(`change`, {\n detail: { value: raw },\n bubbles: true,\n composed: true,\n }));\n }\n } else {\n this._cancelEdit();\n }\n }\n\n protected _cancelEdit(): void {\n this.value = this._prevValue;\n this._editing = false;\n this.removeAttribute(`invalid`);\n }\n\n protected _getDisplayText(): string {\n const useDisplayText = this._shouldUseDisplayText();\n if (useDisplayText && this.displayText !== undefined && this.displayText !== ``) {\n return this.displayText;\n }\n if (!this.value)\n return ``;\n if (this.formatter)\n return this.formatter(this.value);\n if (this.entryMode === `percent`)\n return `${this.value}%`;\n return this.value;\n }\n\n protected _shouldUseDisplayText(): boolean {\n if (this.displayTextLogic === `hidden`)\n return false;\n if (this.displayTextLogic === `override`)\n return true;\n if (this.displayTextLogic === `show`) {\n if (this._editing)\n return false;\n return this._showModeWaitingToHide;\n }\n if (this.displayTextLogic === `transient`) {\n if (this._editing)\n return false;\n if (this._transientShowingValue)\n return false;\n return true;\n }\n return false;\n }\n\n protected _isAllowedInput(char: string): boolean {\n switch (this.entryMode) {\n case `text`: return /^[a-z\\s]$/i.test(char);\n case `number`: return /^[\\d.\\-]$/.test(char);\n case `percent`: return /^[\\d.%]$/.test(char);\n default: return true;\n }\n }\n\n private _defaultValidator(value: string): boolean {\n switch (this.entryMode) {\n case `text`: return /^[a-z\\s]*$/i.test(value);\n case `number`: return value === `` || /^-?\\d*(?:\\.\\d*)?$/.test(value);\n case `percent`: return value === `` || /^\\d*(?:\\.\\d*)?$/.test(value);\n default: return true;\n } // asdf\n }\n\n // ── Styles ───────────────────────────────────────────────────────────────\n\n static override styles: CSSResult[] = [css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n --_font-size: var(--label-font-size, var(--text-m, 12px));\n --_font-family: var(--label-font-family, var(--font-family, system-ui, sans-serif));\n --_color: var(--label-color, var(--surface-2-text));\n --_muted: var(--label-muted-color, var(--surface-muted-text, oklch(55% 0.02 240)));\n --_padding: var(--label-padding, var(--space-xs, 3px) var(--space-s, 4px));\n --_radius: var(--label-radius, var(--radius-s, 3px));\n --_align: var(--label-align, center);\n --_min-width: var(--label-min-width, 1ch);\n }\n\n .content {\n box-sizing: border-box;\n width: 100%;\n text-align: var(--_align);\n outline: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: var(--_min-width);\n font-family: var(--_font-family);\n font-size: var(--_font-size);\n color: var(--_color);\n padding: var(--_padding);\n border: 1px solid transparent;\n border-radius: var(--_radius);\n cursor: pointer;\n transition:\n background var(--transition, 0.15s ease-out),\n border-color var(--transition, 0.15s ease-out);\n }\n\n /* Remove overflow clipping while editing so the cursor is never hidden */\n .content[contenteditable=\"plaintext-only\"] {\n overflow: visible;\n text-overflow: clip;\n }\n\n /* ── Label mode ── */\n :host([mode=\"label\"]) .content {\n background: transparent;\n }\n\n :host([mode=\"label\"]) .content[contenteditable=\"plaintext-only\"] {\n background: var(--surface-4, oklch(22% 0.02 240));\n border: var(--border, 1px solid oklch(25% 0.02 240));\n cursor: text;\n }\n\n /* ── Editor mode — always shows box ── */\n :host([mode=\"editor\"]) .content {\n background: var(--surface-4, oklch(22% 0.02 240));\n border: var(--border, 1px solid oklch(25% 0.02 240));\n }\n\n :host([mode=\"editor\"]) .content[contenteditable=\"plaintext-only\"] {\n border-color: var(--accent, oklch(60% 0.15 140));\n cursor: text;\n }\n\n /* ── Placeholder ── */\n .content:empty::before {\n content: attr(data-placeholder);\n color: var(--_muted);\n pointer-events: none;\n }\n\n /* ── Invalid ── */\n :host([invalid]) .content {\n border-color: var(--error, oklch(60% 0.15 20));\n }\n\n /* ── Disabled ── */\n :host([disabled]) .content {\n opacity: var(--disabled-opacity, 0.5);\n cursor: not-allowed;\n pointer-events: none;\n }\n `];\n}\n\nfunction _selectAll(el: HTMLElement): void {\n const range = document.createRange();\n range.selectNodeContents(el);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(range);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-editable-label': EditableLabel;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import * as _$lit from "lit";
|
|
2
|
+
import { LitElement } from "lit";
|
|
3
|
+
|
|
4
|
+
//#region src/hex/types.d.ts
|
|
5
|
+
type BytePos = number;
|
|
6
|
+
type SingleSelection = {
|
|
7
|
+
readonly kind: 'single';
|
|
8
|
+
readonly pos: BytePos;
|
|
9
|
+
};
|
|
10
|
+
type ContiguousSelection = {
|
|
11
|
+
readonly kind: 'contiguous';
|
|
12
|
+
readonly start: BytePos;
|
|
13
|
+
readonly end: BytePos;
|
|
14
|
+
};
|
|
15
|
+
type RectangularSelection = {
|
|
16
|
+
readonly kind: 'rectangular';
|
|
17
|
+
readonly x: number;
|
|
18
|
+
readonly y: number;
|
|
19
|
+
readonly width: number;
|
|
20
|
+
readonly height: number;
|
|
21
|
+
};
|
|
22
|
+
type Selection = SingleSelection | ContiguousSelection | RectangularSelection | null;
|
|
23
|
+
type DiffEntry = {
|
|
24
|
+
readonly before: number;
|
|
25
|
+
readonly after: number;
|
|
26
|
+
};
|
|
27
|
+
type Diff = ReadonlyMap<BytePos, DiffEntry>;
|
|
28
|
+
type ColourScheme = 'ascii' | 'shade';
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/hex/hex-editor.d.ts
|
|
31
|
+
declare class IxfxHexEditorElement extends LitElement {
|
|
32
|
+
columns: number;
|
|
33
|
+
colourScheme: ColourScheme;
|
|
34
|
+
showChangeset: boolean;
|
|
35
|
+
hideOffsetCol: boolean;
|
|
36
|
+
hideHexCol: boolean;
|
|
37
|
+
hideTextCol: boolean;
|
|
38
|
+
private _selection;
|
|
39
|
+
private _scrollTop;
|
|
40
|
+
private _editState;
|
|
41
|
+
private _containerH;
|
|
42
|
+
private _shadeMap;
|
|
43
|
+
private _focusSide;
|
|
44
|
+
private _store;
|
|
45
|
+
private _undoStack;
|
|
46
|
+
private _copyBuffer;
|
|
47
|
+
private _rowHeight;
|
|
48
|
+
private _dragStart;
|
|
49
|
+
private _dragAnchor;
|
|
50
|
+
private _rectAnchorX;
|
|
51
|
+
private _rectAnchorY;
|
|
52
|
+
private _rectAnchorXFromKeyboard;
|
|
53
|
+
private _rectAnchorYFromKeyboard;
|
|
54
|
+
private _initialSelectionPoint;
|
|
55
|
+
private _currentCursorPoint;
|
|
56
|
+
private _pointerMode;
|
|
57
|
+
private _currentDragDiff;
|
|
58
|
+
private _shiftClickTarget;
|
|
59
|
+
static styles: _$lit.CSSResult;
|
|
60
|
+
setData(data: Uint8Array): void;
|
|
61
|
+
undo(): void;
|
|
62
|
+
redo(): void;
|
|
63
|
+
recomputeColours(): void;
|
|
64
|
+
selectedBytes(): Generator<{
|
|
65
|
+
selection_index: number;
|
|
66
|
+
array_index: number;
|
|
67
|
+
value: number;
|
|
68
|
+
}>;
|
|
69
|
+
containsPosition(pos: number): boolean;
|
|
70
|
+
selectSingle(position: number): void;
|
|
71
|
+
selectContiguous(start: number, end: number): void;
|
|
72
|
+
selectRectangular(x: number, y: number, width: number, height: number): void;
|
|
73
|
+
clearSelection(): void;
|
|
74
|
+
getSelection(): Selection;
|
|
75
|
+
protected firstUpdated(): void;
|
|
76
|
+
private _onScroll;
|
|
77
|
+
private _onPointerDown;
|
|
78
|
+
private _onPointerMove;
|
|
79
|
+
private _onPointerUp;
|
|
80
|
+
private _onKeyDown;
|
|
81
|
+
private _handleBackspace;
|
|
82
|
+
private _handleValueEntry;
|
|
83
|
+
private _commitDecimalValue;
|
|
84
|
+
private _advanceCursor;
|
|
85
|
+
private _dispatchChangeEvent;
|
|
86
|
+
private _dispatchSelectEvent;
|
|
87
|
+
private _copy;
|
|
88
|
+
private _paste;
|
|
89
|
+
private _parseHexString;
|
|
90
|
+
private _getColHeaders;
|
|
91
|
+
private _isRowShaded;
|
|
92
|
+
private _isHexShaded;
|
|
93
|
+
private _isTextShaded;
|
|
94
|
+
protected render(): _$lit.TemplateResult<1>;
|
|
95
|
+
private _renderRow;
|
|
96
|
+
private _renderColumn;
|
|
97
|
+
private _renderHexCell;
|
|
98
|
+
private _renderTextChar;
|
|
99
|
+
}
|
|
100
|
+
type HexChangeDetail = {
|
|
101
|
+
readonly diff: Diff;
|
|
102
|
+
};
|
|
103
|
+
type HexChangeEvent = CustomEvent<HexChangeDetail>;
|
|
104
|
+
type SingleSelectEventDetail = {
|
|
105
|
+
readonly type: `single`;
|
|
106
|
+
readonly position: number;
|
|
107
|
+
};
|
|
108
|
+
type ContiguousSelectEventDetail = {
|
|
109
|
+
readonly type: `contiguous`;
|
|
110
|
+
readonly start: number;
|
|
111
|
+
readonly end: number;
|
|
112
|
+
};
|
|
113
|
+
type RectangularSelectEventDetail = {
|
|
114
|
+
readonly type: `rectangular`;
|
|
115
|
+
readonly x: number;
|
|
116
|
+
readonly y: number;
|
|
117
|
+
readonly width: number;
|
|
118
|
+
readonly height: number;
|
|
119
|
+
};
|
|
120
|
+
type NoneSelectEventDetail = {
|
|
121
|
+
readonly type: `none`;
|
|
122
|
+
};
|
|
123
|
+
type SelectEventDetail = SingleSelectEventDetail | ContiguousSelectEventDetail | RectangularSelectEventDetail | NoneSelectEventDetail;
|
|
124
|
+
declare global {
|
|
125
|
+
interface HTMLElementTagNameMap {
|
|
126
|
+
'ixfx-hex-editor': IxfxHexEditorElement;
|
|
127
|
+
}
|
|
128
|
+
} //# sourceMappingURL=hex-editor.d.ts.map
|
|
129
|
+
//#endregion
|
|
130
|
+
export { NoneSelectEventDetail as a, SingleSelectEventDetail as c, IxfxHexEditorElement as i, HexChangeDetail as n, RectangularSelectEventDetail as o, HexChangeEvent as r, SelectEventDetail as s, ContiguousSelectEventDetail as t };
|
|
131
|
+
//# sourceMappingURL=hex-editor-Gib1Grg2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex-editor-Gib1Grg2.d.ts","names":[],"sources":["../src/hex/types.ts","../src/hex/hex-editor.ts"],"mappings":"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"}
|