smoosic 1.0.24 → 1.0.26

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 (189) hide show
  1. package/build/smoosic.js +1 -1
  2. package/package.json +1 -1
  3. package/release/smoosic.js +1 -1
  4. package/release/styles/ribbon.css +5 -10
  5. package/src/application/exports.ts +1 -0
  6. package/src/styles/ribbon.css +5 -10
  7. package/types/src/application/application.d.ts +102 -102
  8. package/types/src/application/common.d.ts +74 -74
  9. package/types/src/application/configuration.d.ts +74 -74
  10. package/types/src/application/dom.d.ts +8 -8
  11. package/types/src/application/dynamicInit.d.ts +1 -1
  12. package/types/src/application/eventHandler.d.ts +78 -78
  13. package/types/src/application/exports.d.ts +494 -493
  14. package/types/src/application/generateVexTests.d.ts +10 -10
  15. package/types/src/application/keyCommands.d.ts +90 -90
  16. package/types/src/common/bootstrap.bundle.d.ts +1138 -1138
  17. package/types/src/common/htmlHelpers.d.ts +105 -105
  18. package/types/src/common/jszip.d.ts +2 -2
  19. package/types/src/common/midi-parser.d.ts +38 -38
  20. package/types/src/common/promiseHelpers.d.ts +30 -30
  21. package/types/src/common/serializationHelpers.d.ts +29 -29
  22. package/types/src/common/textformatter.d.ts +140 -140
  23. package/types/src/common/vex.d.ts +222 -222
  24. package/types/src/render/audio/musicCursor.d.ts +25 -25
  25. package/types/src/render/audio/oscillator.d.ts +98 -98
  26. package/types/src/render/audio/player.d.ts +141 -141
  27. package/types/src/render/audio/samples.d.ts +56 -56
  28. package/types/src/render/sui/configuration.d.ts +12 -12
  29. package/types/src/render/sui/formatter.d.ts +151 -151
  30. package/types/src/render/sui/layoutDebug.d.ts +43 -43
  31. package/types/src/render/sui/mapper.d.ts +116 -116
  32. package/types/src/render/sui/piano.d.ts +46 -46
  33. package/types/src/render/sui/renderState.d.ts +88 -88
  34. package/types/src/render/sui/scoreRender.d.ts +93 -93
  35. package/types/src/render/sui/scoreView.d.ts +267 -267
  36. package/types/src/render/sui/scoreViewOperations.d.ts +594 -594
  37. package/types/src/render/sui/scroller.d.ts +34 -34
  38. package/types/src/render/sui/svgHelpers.d.ts +85 -85
  39. package/types/src/render/sui/svgPageMap.d.ts +318 -318
  40. package/types/src/render/sui/textEdit.d.ts +310 -310
  41. package/types/src/render/sui/textRender.d.ts +189 -189
  42. package/types/src/render/sui/tracker.d.ts +90 -90
  43. package/types/src/render/vex/glyphDimensions.d.ts +23 -23
  44. package/types/src/render/vex/smoAdapter.d.ts +46 -46
  45. package/types/src/render/vex/toVex.d.ts +13 -13
  46. package/types/src/render/vex/vxMeasure.d.ts +95 -95
  47. package/types/src/render/vex/vxNote.d.ts +55 -55
  48. package/types/src/render/vex/vxSystem.d.ts +64 -64
  49. package/types/src/smo/data/common.d.ts +220 -220
  50. package/types/src/smo/data/measure.d.ts +510 -510
  51. package/types/src/smo/data/measureModifiers.d.ts +506 -506
  52. package/types/src/smo/data/music.d.ts +438 -438
  53. package/types/src/smo/data/note.d.ts +485 -485
  54. package/types/src/smo/data/noteModifiers.d.ts +590 -590
  55. package/types/src/smo/data/partInfo.d.ts +162 -162
  56. package/types/src/smo/data/score.d.ts +395 -395
  57. package/types/src/smo/data/scoreModifiers.d.ts +433 -433
  58. package/types/src/smo/data/scoreText.d.ts +277 -277
  59. package/types/src/smo/data/staffModifiers.d.ts +767 -767
  60. package/types/src/smo/data/systemStaff.d.ts +238 -238
  61. package/types/src/smo/data/tuplet.d.ts +146 -146
  62. package/types/src/smo/midi/midiToSmo.d.ts +198 -198
  63. package/types/src/smo/midi/smoToMidi.d.ts +23 -23
  64. package/types/src/smo/mxml/smoToXml.d.ts +165 -165
  65. package/types/src/smo/mxml/xmlHelpers.d.ts +140 -140
  66. package/types/src/smo/mxml/xmlState.d.ts +257 -257
  67. package/types/src/smo/mxml/xmlToSmo.d.ts +92 -92
  68. package/types/src/smo/xform/beamers.d.ts +46 -46
  69. package/types/src/smo/xform/copypaste.d.ts +99 -99
  70. package/types/src/smo/xform/operations.d.ts +127 -127
  71. package/types/src/smo/xform/roadmap.d.ts +70 -70
  72. package/types/src/smo/xform/selections.d.ts +153 -153
  73. package/types/src/smo/xform/tickDuration.d.ts +155 -155
  74. package/types/src/smo/xform/tickMap.d.ts +34 -34
  75. package/types/src/smo/xform/undo.d.ts +142 -142
  76. package/types/src/smo/xform/updateAudio.d.ts +9 -9
  77. package/types/src/styles/font_metrics/Commissioner-Medium-Metrics.d.ts +871 -871
  78. package/types/src/styles/font_metrics/ConcertOne-Regular.d.ts +871 -871
  79. package/types/src/styles/font_metrics/Merriweather-Regular.d.ts +871 -871
  80. package/types/src/styles/font_metrics/arial_metrics.d.ts +870 -870
  81. package/types/src/styles/font_metrics/ssp-sans-metrics.d.ts +871 -871
  82. package/types/src/styles/font_metrics/ssp-serif-metrics.d.ts +871 -871
  83. package/types/src/styles/font_metrics/times_metrics.d.ts +870 -870
  84. package/types/src/ui/buttons/button.d.ts +95 -95
  85. package/types/src/ui/buttons/collapsable.d.ts +42 -42
  86. package/types/src/ui/buttons/display.d.ts +23 -23
  87. package/types/src/ui/buttons/ribbon.d.ts +76 -76
  88. package/types/src/ui/common.d.ts +45 -45
  89. package/types/src/ui/composable/draggable.d.ts +12 -12
  90. package/types/src/ui/configuration.d.ts +31 -31
  91. package/types/src/ui/dialogs/adapter.d.ts +107 -107
  92. package/types/src/ui/dialogs/addMeasure.d.ts +20 -20
  93. package/types/src/ui/dialogs/arpeggio.d.ts +2 -2
  94. package/types/src/ui/dialogs/articulation.d.ts +2 -2
  95. package/types/src/ui/dialogs/audioSettings.d.ts +32 -32
  96. package/types/src/ui/dialogs/chordChange.d.ts +35 -35
  97. package/types/src/ui/dialogs/clefChange.d.ts +2 -2
  98. package/types/src/ui/dialogs/components/baseComponent.d.ts +158 -158
  99. package/types/src/ui/dialogs/components/button.d.ts +54 -54
  100. package/types/src/ui/dialogs/components/buttonArray.d.ts +101 -101
  101. package/types/src/ui/dialogs/components/checkdrop.d.ts +27 -27
  102. package/types/src/ui/dialogs/components/dragText.d.ts +27 -27
  103. package/types/src/ui/dialogs/components/dropdown.d.ts +78 -78
  104. package/types/src/ui/dialogs/components/fileDownload.d.ts +28 -28
  105. package/types/src/ui/dialogs/components/fontComponent.d.ts +32 -32
  106. package/types/src/ui/dialogs/components/noteText.d.ts +98 -98
  107. package/types/src/ui/dialogs/components/pitch.d.ts +95 -95
  108. package/types/src/ui/dialogs/components/rocker.d.ts +66 -66
  109. package/types/src/ui/dialogs/components/staffComponents.d.ts +77 -77
  110. package/types/src/ui/dialogs/components/textCheck.d.ts +38 -38
  111. package/types/src/ui/dialogs/components/textInPlace.d.ts +90 -90
  112. package/types/src/ui/dialogs/components/textInput.d.ts +58 -58
  113. package/types/src/ui/dialogs/components/tie.d.ts +41 -41
  114. package/types/src/ui/dialogs/components/toggle.d.ts +53 -53
  115. package/types/src/ui/dialogs/components/tree.d.ts +46 -46
  116. package/types/src/ui/dialogs/customTuplets.d.ts +25 -25
  117. package/types/src/ui/dialogs/dialog.d.ts +201 -201
  118. package/types/src/ui/dialogs/durations.d.ts +2 -2
  119. package/types/src/ui/dialogs/dynamics.d.ts +37 -37
  120. package/types/src/ui/dialogs/endings.d.ts +61 -61
  121. package/types/src/ui/dialogs/factory.d.ts +15 -15
  122. package/types/src/ui/dialogs/fileDialogs.d.ts +4 -4
  123. package/types/src/ui/dialogs/fonts.d.ts +2 -2
  124. package/types/src/ui/dialogs/globalLayout.d.ts +2 -2
  125. package/types/src/ui/dialogs/gracenote.d.ts +2 -2
  126. package/types/src/ui/dialogs/hairpin.d.ts +35 -35
  127. package/types/src/ui/dialogs/instrument.d.ts +3 -3
  128. package/types/src/ui/dialogs/keySignature.d.ts +33 -33
  129. package/types/src/ui/dialogs/library.d.ts +70 -70
  130. package/types/src/ui/dialogs/lyric.d.ts +39 -39
  131. package/types/src/ui/dialogs/measureFormat.d.ts +52 -52
  132. package/types/src/ui/dialogs/microtones.d.ts +2 -2
  133. package/types/src/ui/dialogs/noteHead.d.ts +2 -2
  134. package/types/src/ui/dialogs/ornament.d.ts +2 -2
  135. package/types/src/ui/dialogs/pageLayout.d.ts +2 -2
  136. package/types/src/ui/dialogs/partInfo.d.ts +2 -2
  137. package/types/src/ui/dialogs/pedalMarking.d.ts +35 -35
  138. package/types/src/ui/dialogs/pitch.d.ts +2 -2
  139. package/types/src/ui/dialogs/preferences.d.ts +2 -2
  140. package/types/src/ui/dialogs/scoreId.d.ts +2 -2
  141. package/types/src/ui/dialogs/scoreView.d.ts +2 -2
  142. package/types/src/ui/dialogs/slur.d.ts +57 -57
  143. package/types/src/ui/dialogs/staffGroup.d.ts +2 -2
  144. package/types/src/ui/dialogs/tabNote.d.ts +32 -32
  145. package/types/src/ui/dialogs/tabStave.d.ts +43 -43
  146. package/types/src/ui/dialogs/tempo.d.ts +50 -50
  147. package/types/src/ui/dialogs/textBlock.d.ts +61 -61
  148. package/types/src/ui/dialogs/textBracket.d.ts +35 -35
  149. package/types/src/ui/dialogs/tie.d.ts +41 -41
  150. package/types/src/ui/dialogs/timeSignature.d.ts +34 -34
  151. package/types/src/ui/dialogs/transposeScore.d.ts +2 -2
  152. package/types/src/ui/dialogs/volta.d.ts +40 -40
  153. package/types/src/ui/eventSource.d.ts +63 -63
  154. package/types/src/ui/exceptions.d.ts +12 -12
  155. package/types/src/ui/fileio/fileInput.d.ts +12 -12
  156. package/types/src/ui/fileio/library.d.ts +40 -40
  157. package/types/src/ui/fileio/xhrLoader.d.ts +18 -18
  158. package/types/src/ui/help.d.ts +22 -22
  159. package/types/src/ui/i18n/language.d.ts +37 -37
  160. package/types/src/ui/i18n/language_ar.d.ts +5 -5
  161. package/types/src/ui/i18n/language_de.d.ts +1 -1
  162. package/types/src/ui/i18n/language_en.d.ts +18 -18
  163. package/types/src/ui/i18n/translationEditor.d.ts +14 -14
  164. package/types/src/ui/keyBindings/default/editorKeys.d.ts +7 -7
  165. package/types/src/ui/keyBindings/default/trackerKeys.d.ts +7 -7
  166. package/types/src/ui/menus/beams.d.ts +13 -13
  167. package/types/src/ui/menus/edit.d.ts +8 -8
  168. package/types/src/ui/menus/file.d.ts +26 -26
  169. package/types/src/ui/menus/help.d.ts +8 -8
  170. package/types/src/ui/menus/keySignature.d.ts +13 -13
  171. package/types/src/ui/menus/language.d.ts +12 -12
  172. package/types/src/ui/menus/manager.d.ts +57 -57
  173. package/types/src/ui/menus/measure.d.ts +8 -8
  174. package/types/src/ui/menus/menu.d.ts +136 -136
  175. package/types/src/ui/menus/note.d.ts +8 -8
  176. package/types/src/ui/menus/partSelection.d.ts +19 -19
  177. package/types/src/ui/menus/parts.d.ts +50 -50
  178. package/types/src/ui/menus/score.d.ts +20 -20
  179. package/types/src/ui/menus/staffModifier.d.ts +21 -21
  180. package/types/src/ui/menus/text.d.ts +8 -8
  181. package/types/src/ui/menus/timeSignature.d.ts +12 -12
  182. package/types/src/ui/menus/tuplets.d.ts +13 -13
  183. package/types/src/ui/menus/voices.d.ts +8 -8
  184. package/types/src/ui/modalDialogs.d.ts +1 -1
  185. package/types/src/ui/navigation.d.ts +15 -15
  186. package/types/src/ui/qwerty.d.ts +41 -41
  187. package/types/src/ui/ribbonLayout/default/defaultRibbon.d.ts +15 -15
  188. package/types/src/ui/ribbonLayout/default/tabletRibbon.d.ts +22 -22
  189. package/types/typedoc.d.ts +158 -158
@@ -1,201 +1,201 @@
1
- import { InputTrapper } from '../../common/htmlHelpers';
2
- import { SmoModifier } from '../../smo/data/score';
3
- import { SvgBox } from '../../smo/data/common';
4
- import { SuiTracker } from '../../render/sui/tracker';
5
- import { SuiScoreViewOperations } from '../../render/sui/scoreViewOperations';
6
- import { CompleteNotifier } from '../common';
7
- import { BrowserEventSource } from '../eventSource';
8
- import { SuiDialogNotifier, DialogDefinitionElement, SuiComponentBase, DialogDefinitionOption } from './components/baseComponent';
9
- import { SuiScroller } from '../../render/sui/scroller';
10
- import { EventHandler } from '../eventSource';
11
- import { SmoUiConfiguration } from '../configuration';
12
- export type DialogCallback = () => Promise<void>;
13
- /**
14
- * Parameters for installing a dialog. VUE-based dialog logic.
15
- * complete is a Ref that is set to true when the dialog is finished, used to
16
- * hand off keyboard control between dialogs and menus.
17
- * app is a VUE app, appParams are the parameters to pass to the app.
18
- * we override commitCb, cancelCb, and removeCb to manage the dialog lifetime.
19
- * root is the DOM id to mount the dialog in (without the '#')
20
- * @category SuiDialog
21
- */
22
- export interface DialogInstallParams {
23
- root: string;
24
- app: any;
25
- appParams: any;
26
- dialogParams: SuiDialogParams;
27
- commitCb: DialogCallback;
28
- cancelCb: DialogCallback;
29
- removeCb?: DialogCallback;
30
- }
31
- /**
32
- * The callbacks can be confusing. Dialog CB button calls this callback,
33
- * which in turn calls the user-supplied callback, and then hides the dialog.
34
- * params.commitCb is the supplied callback,
35
- * but appParams.commitCb is set to this function.
36
- * @param params
37
- */
38
- export declare const InstallDialog: (params: DialogInstallParams) => Promise<void>;
39
- /**
40
- * The JSON dialog template is a declaritive structore for the html of the dialog
41
- * and components.
42
- * @param label for the dialog itself
43
- * @param elements a series of elements that define the component
44
- * @param staticText a hash of text for the dialog and components to use
45
- * @category SuiDialog
46
- */
47
- export interface DialogDefinition {
48
- label: string;
49
- elements: DialogDefinitionElement[];
50
- staticText: Record<string, string>[];
51
- }
52
- /**
53
- * A translation of the labels in DialogDefintionElement
54
- * @param label the component label
55
- * @param id used as a key in translation tool
56
- * @param options options for dropdown and other array components
57
- * @category SuiDialog
58
- */
59
- export interface DialogTranslationElement {
60
- label: string;
61
- id: string;
62
- options?: DialogDefinitionOption[];
63
- }
64
- /**
65
- * A translation of all the strings in the dialog itself, used
66
- * when switching languages.
67
- * @param ctor the constructor for the dialog class, used to call static methods
68
- * @param label the translated label
69
- * @param dialogElements the translated component json
70
- * @param staticText translated misc text
71
- * @category SuiDialog
72
- */
73
- export interface DialogTranslation {
74
- ctor: string;
75
- label: string;
76
- dialogElements: DialogTranslationElement[];
77
- staticText: Record<string, string>;
78
- }
79
- export declare const DialogTranslations: DialogTranslation[];
80
- /**
81
- * Dialog params always contain basic information about the runtime
82
- * for modal functionality
83
- * @param ctor dialog constructor
84
- * @param id DOM id for the dialog
85
- * @param tracker to get and set selections
86
- * @param completeNotifier used to take over key/mouse control
87
- * @param startPromise used if this is called from another modal element
88
- * @param view the MVVM object to change the score
89
- * @param eventSource event source to register for additional events like mouseup
90
- * @param undoBuffer used to create undo
91
- * @category SuiDialog
92
- */
93
- export interface SuiDialogParams {
94
- ctor: string;
95
- id: string;
96
- tracker: SuiTracker;
97
- completeNotifier: CompleteNotifier;
98
- startPromise: Promise<void> | null;
99
- view: SuiScoreViewOperations;
100
- eventSource: BrowserEventSource;
101
- modifier?: any;
102
- config?: SmoUiConfiguration;
103
- }
104
- /**
105
- * internal interface used to create the DOM
106
- * @internal
107
- */
108
- export interface SuiDomParams {
109
- id: string;
110
- top: number;
111
- left: number;
112
- label: string;
113
- }
114
- /**
115
- * DOM interface for the dialog
116
- * @internal
117
- * @param element parent element
118
- * @param trapper used to trap focus events for the dialog
119
- */
120
- export interface DialogDom {
121
- element: any;
122
- trapper: any;
123
- }
124
- export declare const suiDialogTranslate: (dialog: DialogDefinition, ctor: string) => DialogTranslation;
125
- /**
126
- * Note: Most dialogs will inherit from SuiDialogAdapter, not SuiDialogBase.
127
- * You will only want to inherit from SuiDialogBase under 2 conditions:
128
- * 1. the dialog is triviailly simple, like an alert box that makes no changes to the score, or
129
- * 2. the dialog is extremely complicated in how it interacts with the user, such that a form-based approach won't work
130
- * @category SuiDialog
131
- */
132
- export declare abstract class SuiDialogBase extends SuiDialogNotifier {
133
- static get displayOptions(): Record<string, string>;
134
- static getStaticText(staticText: Record<string, string>[]): Record<string, string>;
135
- id: string;
136
- ctor: string;
137
- boundKeyboard: boolean;
138
- components: SuiComponentBase[];
139
- boundComponents: SuiComponentBase[];
140
- cmap: Record<string, SuiComponentBase>;
141
- scroller: SuiScroller;
142
- closeDialogPromise: Promise<void>;
143
- label: string;
144
- staticText: Record<string, string>[];
145
- startPromise: Promise<void> | null;
146
- dialogElements: DialogDefinition;
147
- eventSource: BrowserEventSource;
148
- view: SuiScoreViewOperations;
149
- completeNotifier: CompleteNotifier;
150
- modifier: any;
151
- dgDom: DialogDom;
152
- displayOptions: string[];
153
- keydownHandler: EventHandler | null;
154
- constructor(dialogElements: DialogDefinition, parameters: SuiDialogParams);
155
- display(): void;
156
- bindElements(): void;
157
- bindComponents(): void;
158
- initialValue(): void;
159
- changed(): void;
160
- getId(): string;
161
- getModifier(): SmoModifier | null;
162
- getEventSource(): BrowserEventSource;
163
- getStaticText(): Record<string, string>;
164
- commit(): Promise<any>;
165
- get closeModalPromise(): Promise<any>;
166
- static position(box: SvgBox, dgDom: DialogDom, scroller: SuiScroller): void;
167
- getView(): SuiScoreViewOperations;
168
- applyDisplayOptions(): void;
169
- position(box: SvgBox): void;
170
- hideRemoveButton(): void;
171
- positionFromModifier(): void;
172
- positionGlobally(): void;
173
- positionFromSelection(): void;
174
- _constructDialog(dialogElements: DialogDefinition, parameters: SuiDomParams): {
175
- element: any;
176
- trapper: InputTrapper;
177
- };
178
- complete(): void;
179
- makeDraggable(): void;
180
- captureKeyboardPromise(): Promise<void>;
181
- evKey(evdata: any): void;
182
- bindKeyboard(): void;
183
- }
184
- /**
185
- * Convenience functions
186
- * @param type
187
- * @param parameters
188
- * @returns a new dialog of type T
189
- * @category SuiDialog
190
- */
191
- export declare function dialogConstructor<T extends SuiDialogBase>(type: {
192
- new (parameters: SuiDialogParams): T;
193
- }, parameters: SuiDialogParams): T;
194
- /**
195
- * Convenience function to display a dialog
196
- * @category SuiDialog
197
- * @param ctor
198
- * @param parameters
199
- * @returns
200
- */
201
- export declare function createAndDisplayDialog<T extends SuiDialogBase>(ctor: new (parameters: SuiDialogParams) => T, parameters: SuiDialogParams): T;
1
+ import { InputTrapper } from '../../common/htmlHelpers';
2
+ import { SmoModifier } from '../../smo/data/score';
3
+ import { SvgBox } from '../../smo/data/common';
4
+ import { SuiTracker } from '../../render/sui/tracker';
5
+ import { SuiScoreViewOperations } from '../../render/sui/scoreViewOperations';
6
+ import { CompleteNotifier } from '../common';
7
+ import { BrowserEventSource } from '../eventSource';
8
+ import { SuiDialogNotifier, DialogDefinitionElement, SuiComponentBase, DialogDefinitionOption } from './components/baseComponent';
9
+ import { SuiScroller } from '../../render/sui/scroller';
10
+ import { EventHandler } from '../eventSource';
11
+ import { SmoUiConfiguration } from '../configuration';
12
+ export type DialogCallback = () => Promise<void>;
13
+ /**
14
+ * Parameters for installing a dialog. VUE-based dialog logic.
15
+ * complete is a Ref that is set to true when the dialog is finished, used to
16
+ * hand off keyboard control between dialogs and menus.
17
+ * app is a VUE app, appParams are the parameters to pass to the app.
18
+ * we override commitCb, cancelCb, and removeCb to manage the dialog lifetime.
19
+ * root is the DOM id to mount the dialog in (without the '#')
20
+ * @category SuiDialog
21
+ */
22
+ export interface DialogInstallParams {
23
+ root: string;
24
+ app: any;
25
+ appParams: any;
26
+ dialogParams: SuiDialogParams;
27
+ commitCb: DialogCallback;
28
+ cancelCb: DialogCallback;
29
+ removeCb?: DialogCallback;
30
+ }
31
+ /**
32
+ * The callbacks can be confusing. Dialog CB button calls this callback,
33
+ * which in turn calls the user-supplied callback, and then hides the dialog.
34
+ * params.commitCb is the supplied callback,
35
+ * but appParams.commitCb is set to this function.
36
+ * @param params
37
+ */
38
+ export declare const InstallDialog: (params: DialogInstallParams) => Promise<void>;
39
+ /**
40
+ * The JSON dialog template is a declaritive structore for the html of the dialog
41
+ * and components.
42
+ * @param label for the dialog itself
43
+ * @param elements a series of elements that define the component
44
+ * @param staticText a hash of text for the dialog and components to use
45
+ * @category SuiDialog
46
+ */
47
+ export interface DialogDefinition {
48
+ label: string;
49
+ elements: DialogDefinitionElement[];
50
+ staticText: Record<string, string>[];
51
+ }
52
+ /**
53
+ * A translation of the labels in DialogDefintionElement
54
+ * @param label the component label
55
+ * @param id used as a key in translation tool
56
+ * @param options options for dropdown and other array components
57
+ * @category SuiDialog
58
+ */
59
+ export interface DialogTranslationElement {
60
+ label: string;
61
+ id: string;
62
+ options?: DialogDefinitionOption[];
63
+ }
64
+ /**
65
+ * A translation of all the strings in the dialog itself, used
66
+ * when switching languages.
67
+ * @param ctor the constructor for the dialog class, used to call static methods
68
+ * @param label the translated label
69
+ * @param dialogElements the translated component json
70
+ * @param staticText translated misc text
71
+ * @category SuiDialog
72
+ */
73
+ export interface DialogTranslation {
74
+ ctor: string;
75
+ label: string;
76
+ dialogElements: DialogTranslationElement[];
77
+ staticText: Record<string, string>;
78
+ }
79
+ export declare const DialogTranslations: DialogTranslation[];
80
+ /**
81
+ * Dialog params always contain basic information about the runtime
82
+ * for modal functionality
83
+ * @param ctor dialog constructor
84
+ * @param id DOM id for the dialog
85
+ * @param tracker to get and set selections
86
+ * @param completeNotifier used to take over key/mouse control
87
+ * @param startPromise used if this is called from another modal element
88
+ * @param view the MVVM object to change the score
89
+ * @param eventSource event source to register for additional events like mouseup
90
+ * @param undoBuffer used to create undo
91
+ * @category SuiDialog
92
+ */
93
+ export interface SuiDialogParams {
94
+ ctor: string;
95
+ id: string;
96
+ tracker: SuiTracker;
97
+ completeNotifier: CompleteNotifier;
98
+ startPromise: Promise<void> | null;
99
+ view: SuiScoreViewOperations;
100
+ eventSource: BrowserEventSource;
101
+ modifier?: any;
102
+ config?: SmoUiConfiguration;
103
+ }
104
+ /**
105
+ * internal interface used to create the DOM
106
+ * @internal
107
+ */
108
+ export interface SuiDomParams {
109
+ id: string;
110
+ top: number;
111
+ left: number;
112
+ label: string;
113
+ }
114
+ /**
115
+ * DOM interface for the dialog
116
+ * @internal
117
+ * @param element parent element
118
+ * @param trapper used to trap focus events for the dialog
119
+ */
120
+ export interface DialogDom {
121
+ element: any;
122
+ trapper: any;
123
+ }
124
+ export declare const suiDialogTranslate: (dialog: DialogDefinition, ctor: string) => DialogTranslation;
125
+ /**
126
+ * Note: Most dialogs will inherit from SuiDialogAdapter, not SuiDialogBase.
127
+ * You will only want to inherit from SuiDialogBase under 2 conditions:
128
+ * 1. the dialog is triviailly simple, like an alert box that makes no changes to the score, or
129
+ * 2. the dialog is extremely complicated in how it interacts with the user, such that a form-based approach won't work
130
+ * @category SuiDialog
131
+ */
132
+ export declare abstract class SuiDialogBase extends SuiDialogNotifier {
133
+ static get displayOptions(): Record<string, string>;
134
+ static getStaticText(staticText: Record<string, string>[]): Record<string, string>;
135
+ id: string;
136
+ ctor: string;
137
+ boundKeyboard: boolean;
138
+ components: SuiComponentBase[];
139
+ boundComponents: SuiComponentBase[];
140
+ cmap: Record<string, SuiComponentBase>;
141
+ scroller: SuiScroller;
142
+ closeDialogPromise: Promise<void>;
143
+ label: string;
144
+ staticText: Record<string, string>[];
145
+ startPromise: Promise<void> | null;
146
+ dialogElements: DialogDefinition;
147
+ eventSource: BrowserEventSource;
148
+ view: SuiScoreViewOperations;
149
+ completeNotifier: CompleteNotifier;
150
+ modifier: any;
151
+ dgDom: DialogDom;
152
+ displayOptions: string[];
153
+ keydownHandler: EventHandler | null;
154
+ constructor(dialogElements: DialogDefinition, parameters: SuiDialogParams);
155
+ display(): void;
156
+ bindElements(): void;
157
+ bindComponents(): void;
158
+ initialValue(): void;
159
+ changed(): void;
160
+ getId(): string;
161
+ getModifier(): SmoModifier | null;
162
+ getEventSource(): BrowserEventSource;
163
+ getStaticText(): Record<string, string>;
164
+ commit(): Promise<any>;
165
+ get closeModalPromise(): Promise<any>;
166
+ static position(box: SvgBox, dgDom: DialogDom, scroller: SuiScroller): void;
167
+ getView(): SuiScoreViewOperations;
168
+ applyDisplayOptions(): void;
169
+ position(box: SvgBox): void;
170
+ hideRemoveButton(): void;
171
+ positionFromModifier(): void;
172
+ positionGlobally(): void;
173
+ positionFromSelection(): void;
174
+ _constructDialog(dialogElements: DialogDefinition, parameters: SuiDomParams): {
175
+ element: any;
176
+ trapper: InputTrapper;
177
+ };
178
+ complete(): void;
179
+ makeDraggable(): void;
180
+ captureKeyboardPromise(): Promise<void>;
181
+ evKey(evdata: any): void;
182
+ bindKeyboard(): void;
183
+ }
184
+ /**
185
+ * Convenience functions
186
+ * @param type
187
+ * @param parameters
188
+ * @returns a new dialog of type T
189
+ * @category SuiDialog
190
+ */
191
+ export declare function dialogConstructor<T extends SuiDialogBase>(type: {
192
+ new (parameters: SuiDialogParams): T;
193
+ }, parameters: SuiDialogParams): T;
194
+ /**
195
+ * Convenience function to display a dialog
196
+ * @category SuiDialog
197
+ * @param ctor
198
+ * @param parameters
199
+ * @returns
200
+ */
201
+ export declare function createAndDisplayDialog<T extends SuiDialogBase>(ctor: new (parameters: SuiDialogParams) => T, parameters: SuiDialogParams): T;
@@ -1,2 +1,2 @@
1
- import { SuiDialogParams } from './dialog';
2
- export declare const SuiDurationNoteVue: (parameters: SuiDialogParams) => void;
1
+ import { SuiDialogParams } from './dialog';
2
+ export declare const SuiDurationNoteVue: (parameters: SuiDialogParams) => void;
@@ -1,37 +1,37 @@
1
- import { DialogDefinition, SuiDialogParams } from './dialog';
2
- import { SmoDynamicText } from '../../smo/data/noteModifiers';
3
- import { SuiScoreViewOperations } from '../../render/sui/scoreViewOperations';
4
- import { SmoSelection } from '../../smo/xform/selections';
5
- import { SuiComponentAdapter, SuiDialogAdapterBase } from './adapter';
6
- /**
7
- * Edit or remove dynamice, a SmoNote attribute adapter
8
- * @category SuiDialog
9
- */
10
- export declare class SuiDynamicDialogAdapter extends SuiComponentAdapter {
11
- modifier: SmoDynamicText;
12
- backup: SmoDynamicText;
13
- selections: SmoSelection[];
14
- changed: boolean;
15
- constructor(view: SuiScoreViewOperations, modifier: SmoDynamicText);
16
- cancel(): Promise<void>;
17
- commit(): Promise<any>;
18
- get xOffset(): number;
19
- remove(): Promise<void>;
20
- syncModifiers(): void;
21
- set xOffset(value: number);
22
- get fontSize(): number;
23
- set fontSize(value: number);
24
- get yOffsetLine(): number;
25
- set yOffsetLine(value: number);
26
- get yOffsetPixels(): number;
27
- set yOffsetPixels(value: number);
28
- get text(): string;
29
- set text(value: string);
30
- }
31
- /**
32
- * @category SuiDialog
33
- */
34
- export declare class SuiDynamicModifierDialog extends SuiDialogAdapterBase<SuiDynamicDialogAdapter> {
35
- static dialogElements: DialogDefinition;
36
- constructor(parameters: SuiDialogParams);
37
- }
1
+ import { DialogDefinition, SuiDialogParams } from './dialog';
2
+ import { SmoDynamicText } from '../../smo/data/noteModifiers';
3
+ import { SuiScoreViewOperations } from '../../render/sui/scoreViewOperations';
4
+ import { SmoSelection } from '../../smo/xform/selections';
5
+ import { SuiComponentAdapter, SuiDialogAdapterBase } from './adapter';
6
+ /**
7
+ * Edit or remove dynamice, a SmoNote attribute adapter
8
+ * @category SuiDialog
9
+ */
10
+ export declare class SuiDynamicDialogAdapter extends SuiComponentAdapter {
11
+ modifier: SmoDynamicText;
12
+ backup: SmoDynamicText;
13
+ selections: SmoSelection[];
14
+ changed: boolean;
15
+ constructor(view: SuiScoreViewOperations, modifier: SmoDynamicText);
16
+ cancel(): Promise<void>;
17
+ commit(): Promise<any>;
18
+ get xOffset(): number;
19
+ remove(): Promise<void>;
20
+ syncModifiers(): void;
21
+ set xOffset(value: number);
22
+ get fontSize(): number;
23
+ set fontSize(value: number);
24
+ get yOffsetLine(): number;
25
+ set yOffsetLine(value: number);
26
+ get yOffsetPixels(): number;
27
+ set yOffsetPixels(value: number);
28
+ get text(): string;
29
+ set text(value: string);
30
+ }
31
+ /**
32
+ * @category SuiDialog
33
+ */
34
+ export declare class SuiDynamicModifierDialog extends SuiDialogAdapterBase<SuiDynamicDialogAdapter> {
35
+ static dialogElements: DialogDefinition;
36
+ constructor(parameters: SuiDialogParams);
37
+ }
@@ -1,61 +1,61 @@
1
- import { SuiScoreViewOperations } from '../../render/sui/scoreViewOperations';
2
- import { DialogDefinition, SuiDialogParams } from './dialog';
3
- import { SuiComponentAdapter, SuiDialogAdapterBase } from './adapter';
4
- import { getButtonsFcn, SuiButtonArrayComponent } from './components/buttonArray';
5
- import { SuiDialogNotifier, SuiBaseComponentParams } from './components/baseComponent';
6
- /**
7
- * @category SuiDialog
8
- * Buttons with ending or repeat functions
9
- * @returns SuiButtonArrayParameters
10
- */
11
- export declare const endingsButtonFactory: getButtonsFcn;
12
- /**
13
- * @category SuiDialog
14
- */
15
- export declare class SuiEndBarButtonComponent extends SuiButtonArrayComponent {
16
- constructor(dialog: SuiDialogNotifier, parameter: SuiBaseComponentParams);
17
- }
18
- /**
19
- * @category SuiDialog
20
- */
21
- export declare class SuiStartBarButtonComponent extends SuiButtonArrayComponent {
22
- constructor(dialog: SuiDialogNotifier, parameter: SuiBaseComponentParams);
23
- }
24
- /**
25
- * @category SuiDialog
26
- */
27
- export declare class SuiRepeatSymbolButtonComponent extends SuiButtonArrayComponent {
28
- constructor(dialog: SuiDialogNotifier, parameter: SuiBaseComponentParams);
29
- }
30
- /**
31
- * Smo dialog adapter for measure endings and repeats.
32
- * @category SuiDialog
33
- */
34
- export declare class SuiEndingsAdapter extends SuiComponentAdapter {
35
- startBarCode: string;
36
- endBarCode: string;
37
- repeatSymbolCode: string;
38
- constructor(view: SuiScoreViewOperations);
39
- get repeatSymbolComponent(): string;
40
- set repeatSymbolComponent(value: string);
41
- get endBarComponent(): string;
42
- set endBarComponent(value: string);
43
- get startBarComponent(): string;
44
- set startBarComponent(value: string);
45
- commit(): Promise<void>;
46
- cancel(): Promise<void>;
47
- remove(): Promise<void>;
48
- }
49
- /**
50
- * @category SuiDialog
51
- */
52
- export declare class SuiEndingsDialog extends SuiDialogAdapterBase<SuiEndingsAdapter> {
53
- static get applyTo(): {
54
- score: number;
55
- selected: number;
56
- remaining: number;
57
- };
58
- static dialogElements: DialogDefinition;
59
- constructor(parameters: SuiDialogParams);
60
- changed(): Promise<void>;
61
- }
1
+ import { SuiScoreViewOperations } from '../../render/sui/scoreViewOperations';
2
+ import { DialogDefinition, SuiDialogParams } from './dialog';
3
+ import { SuiComponentAdapter, SuiDialogAdapterBase } from './adapter';
4
+ import { getButtonsFcn, SuiButtonArrayComponent } from './components/buttonArray';
5
+ import { SuiDialogNotifier, SuiBaseComponentParams } from './components/baseComponent';
6
+ /**
7
+ * @category SuiDialog
8
+ * Buttons with ending or repeat functions
9
+ * @returns SuiButtonArrayParameters
10
+ */
11
+ export declare const endingsButtonFactory: getButtonsFcn;
12
+ /**
13
+ * @category SuiDialog
14
+ */
15
+ export declare class SuiEndBarButtonComponent extends SuiButtonArrayComponent {
16
+ constructor(dialog: SuiDialogNotifier, parameter: SuiBaseComponentParams);
17
+ }
18
+ /**
19
+ * @category SuiDialog
20
+ */
21
+ export declare class SuiStartBarButtonComponent extends SuiButtonArrayComponent {
22
+ constructor(dialog: SuiDialogNotifier, parameter: SuiBaseComponentParams);
23
+ }
24
+ /**
25
+ * @category SuiDialog
26
+ */
27
+ export declare class SuiRepeatSymbolButtonComponent extends SuiButtonArrayComponent {
28
+ constructor(dialog: SuiDialogNotifier, parameter: SuiBaseComponentParams);
29
+ }
30
+ /**
31
+ * Smo dialog adapter for measure endings and repeats.
32
+ * @category SuiDialog
33
+ */
34
+ export declare class SuiEndingsAdapter extends SuiComponentAdapter {
35
+ startBarCode: string;
36
+ endBarCode: string;
37
+ repeatSymbolCode: string;
38
+ constructor(view: SuiScoreViewOperations);
39
+ get repeatSymbolComponent(): string;
40
+ set repeatSymbolComponent(value: string);
41
+ get endBarComponent(): string;
42
+ set endBarComponent(value: string);
43
+ get startBarComponent(): string;
44
+ set startBarComponent(value: string);
45
+ commit(): Promise<void>;
46
+ cancel(): Promise<void>;
47
+ remove(): Promise<void>;
48
+ }
49
+ /**
50
+ * @category SuiDialog
51
+ */
52
+ export declare class SuiEndingsDialog extends SuiDialogAdapterBase<SuiEndingsAdapter> {
53
+ static get applyTo(): {
54
+ score: number;
55
+ selected: number;
56
+ remaining: number;
57
+ };
58
+ static dialogElements: DialogDefinition;
59
+ constructor(parameters: SuiDialogParams);
60
+ changed(): Promise<void>;
61
+ }
@@ -1,15 +1,15 @@
1
- import { SmoModifier } from '../../smo/data/score';
2
- import { SuiDialogBase, SuiDialogParams } from './dialog';
3
- export type ModifiersWithDialogs = 'SmoStaffHairpin' | 'SmoTie' | 'SmoSlur' | 'SmoDynamicText' | 'SmoVolta' | 'SmoScoreText' | 'SmoLoadScore' | 'SmoLyric' | 'SmoPedalMarking';
4
- export declare var ModifiersWithDialogNames: string[];
5
- export declare function isModifierWithDialog(modifier: SmoModifier): boolean;
6
- /**
7
- * Dialogs bound to hot keys are created here
8
- * directly from a button/menu option
9
- * @category SuiDialog
10
- */
11
- export declare class SuiModifierDialogFactory {
12
- static createModifierDialog(modifier: SmoModifier, parameters: SuiDialogParams): SuiDialogBase | null;
13
- }
14
- export declare const initDialogTranslationElements: () => void;
15
- export declare const initDialogConstructors: () => void;
1
+ import { SmoModifier } from '../../smo/data/score';
2
+ import { SuiDialogBase, SuiDialogParams } from './dialog';
3
+ export type ModifiersWithDialogs = 'SmoStaffHairpin' | 'SmoTie' | 'SmoSlur' | 'SmoDynamicText' | 'SmoVolta' | 'SmoScoreText' | 'SmoLoadScore' | 'SmoLyric' | 'SmoPedalMarking';
4
+ export declare var ModifiersWithDialogNames: string[];
5
+ export declare function isModifierWithDialog(modifier: SmoModifier): boolean;
6
+ /**
7
+ * Dialogs bound to hot keys are created here
8
+ * directly from a button/menu option
9
+ * @category SuiDialog
10
+ */
11
+ export declare class SuiModifierDialogFactory {
12
+ static createModifierDialog(modifier: SmoModifier, parameters: SuiDialogParams): SuiDialogBase | null;
13
+ }
14
+ export declare const initDialogTranslationElements: () => void;
15
+ export declare const initDialogConstructors: () => void;
@@ -1,4 +1,4 @@
1
- import { SuiDialogParams } from './dialog';
2
- export declare const SuiFileUploadDialog: (parameters: SuiDialogParams) => Promise<void>;
3
- export declare const SuiFileSaveDialog: (parameters: SuiDialogParams) => Promise<void>;
4
- export declare const SuiPrintDialog: (parameters: SuiDialogParams) => Promise<void>;
1
+ import { SuiDialogParams } from './dialog';
2
+ export declare const SuiFileUploadDialog: (parameters: SuiDialogParams) => Promise<void>;
3
+ export declare const SuiFileSaveDialog: (parameters: SuiDialogParams) => Promise<void>;
4
+ export declare const SuiPrintDialog: (parameters: SuiDialogParams) => Promise<void>;
@@ -1,2 +1,2 @@
1
- import { SuiDialogParams } from './dialog';
2
- export declare const SuiScoreFontDialogVue: (parameters: SuiDialogParams) => void;
1
+ import { SuiDialogParams } from './dialog';
2
+ export declare const SuiScoreFontDialogVue: (parameters: SuiDialogParams) => void;
@@ -1,2 +1,2 @@
1
- import { SuiDialogParams } from './dialog';
2
- export declare const SuiGlobalLayoutDialogVue: (parameters: SuiDialogParams) => void;
1
+ import { SuiDialogParams } from './dialog';
2
+ export declare const SuiGlobalLayoutDialogVue: (parameters: SuiDialogParams) => void;