@glissandoo/lib 1.114.1 → 1.115.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/functions/auth.d.ts +3 -1
  2. package/functions/composer.d.ts +13 -0
  3. package/functions/composerComposition.d.ts +102 -0
  4. package/functions/composerNotification.d.ts +38 -0
  5. package/functions/composerPayout.d.ts +20 -0
  6. package/functions/customer.d.ts +4 -0
  7. package/functions/event.js +1 -1
  8. package/functions/eventPlayer.js +1 -1
  9. package/functions/eventRepertory.d.ts +2 -0
  10. package/functions/eventRepertory.js +1 -1
  11. package/functions/groupRepertory.d.ts +110 -0
  12. package/functions/index.d.ts +30 -0
  13. package/functions/index.js +31 -1
  14. package/functions/misc.d.ts +6 -0
  15. package/functions/regions.js +31 -1
  16. package/helpers/appScenes.js +1 -1
  17. package/helpers/auth.d.ts +2 -9
  18. package/helpers/auth.js +33 -14
  19. package/helpers/badges.js +1 -1
  20. package/helpers/catalogBridge.d.ts +121 -0
  21. package/helpers/catalogBridge.js +95 -0
  22. package/helpers/collections.js +2 -2
  23. package/helpers/communicationTemplate/index.d.ts +3 -2
  24. package/helpers/communicationTemplate/index.js +5 -5
  25. package/helpers/compositionCategories/genres.d.ts +922 -0
  26. package/helpers/compositionCategories/genres.js +940 -0
  27. package/helpers/compositionCategories/index.d.ts +2 -0
  28. package/helpers/compositionCategories/index.js +18 -0
  29. package/helpers/compositionCategories/styles.d.ts +181 -0
  30. package/helpers/compositionCategories/styles.js +197 -0
  31. package/helpers/compositionSoloistOffstageParts/index.d.ts +34 -0
  32. package/helpers/compositionSoloistOffstageParts/index.js +117 -0
  33. package/helpers/currency.d.ts +19 -0
  34. package/helpers/currency.js +85 -0
  35. package/helpers/currencyConversion.d.ts +45 -0
  36. package/helpers/currencyConversion.js +119 -0
  37. package/helpers/dataStructures/trees/index.d.ts +12 -0
  38. package/helpers/dataStructures/trees/index.js +71 -0
  39. package/helpers/dataStructures/trees/types.d.ts +14 -0
  40. package/helpers/dataStructures/trees/types.js +5 -0
  41. package/helpers/dlinks.js +1 -1
  42. package/helpers/errors.d.ts +1 -0
  43. package/helpers/errors.js +2 -1
  44. package/helpers/externalUrls.d.ts +12 -0
  45. package/helpers/externalUrls.js +40 -0
  46. package/helpers/instruments/index.d.ts +17 -0
  47. package/helpers/instruments/index.js +5 -1
  48. package/helpers/instruments/lists.d.ts +3 -3
  49. package/helpers/instruments/lists.js +5 -5
  50. package/helpers/musicStyles/index.d.ts +22 -4
  51. package/helpers/musicStyles/index.js +114 -35
  52. package/helpers/notifications/index.js +1 -1
  53. package/helpers/objects.d.ts +5 -1
  54. package/helpers/objects.js +7 -6
  55. package/helpers/plans.js +2 -2
  56. package/helpers/rates.d.ts +1 -1
  57. package/helpers/slate.d.ts +64 -5
  58. package/helpers/slate.js +7 -1
  59. package/helpers/ts-extras/array-includes.js +1 -2
  60. package/helpers/ts-extras/as-mutable.js +1 -2
  61. package/helpers/ts-extras/assert-error.js +1 -2
  62. package/helpers/ts-extras/index.js +1 -1
  63. package/helpers/ts-extras/is-defined.js +1 -2
  64. package/helpers/ts-extras/is-empty.js +1 -2
  65. package/helpers/ts-extras/is-infinite.js +1 -2
  66. package/helpers/ts-extras/is-present.js +1 -2
  67. package/helpers/ts-extras/object-entries.d.ts +1 -1
  68. package/helpers/ts-extras/object-from-entries.d.ts +1 -1
  69. package/helpers/ts-extras/object-has-own.js +1 -2
  70. package/helpers/ts-extras/object-keys.d.ts +1 -1
  71. package/helpers/ts-extras/object-keys.js +0 -1
  72. package/helpers/ts-extras/set-has.js +1 -2
  73. package/helpers/types.d.ts +26 -0
  74. package/helpers/types.js +25 -5
  75. package/lang/ca.json +325 -91
  76. package/lang/de.json +325 -91
  77. package/lang/en.json +325 -91
  78. package/lang/es.json +325 -91
  79. package/lang/eu.json +325 -91
  80. package/lang/fr.json +325 -91
  81. package/lang/gl.json +325 -91
  82. package/lang/index.js +3 -2
  83. package/lang/it.json +325 -91
  84. package/lang/nl.json +325 -91
  85. package/lang/pt.json +325 -91
  86. package/models/Communication/types.d.ts +0 -16
  87. package/models/Communication/types.js +3 -9
  88. package/models/CompositionGenre/index.d.ts +9 -0
  89. package/models/CompositionGenre/index.js +16 -0
  90. package/models/CompositionStyle/index.d.ts +9 -0
  91. package/models/CompositionStyle/index.js +16 -0
  92. package/models/Counters/Group/Analytics/types.js +1 -1
  93. package/models/Customer/index.d.ts +1 -1
  94. package/models/Customer/index.js +3 -3
  95. package/models/Customer/types.js +1 -1
  96. package/models/Evento/Player/types.js +3 -3
  97. package/models/Evento/Repertory/types.d.ts +2 -1
  98. package/models/Evento/index.d.ts +3 -2
  99. package/models/Evento/index.js +5 -4
  100. package/models/Evento/types.d.ts +2 -31
  101. package/models/Evento/types.js +8 -39
  102. package/models/Federation/index.d.ts +1 -1
  103. package/models/Federation/index.js +3 -3
  104. package/models/Group/Analytics/types.js +1 -1
  105. package/models/Group/Player/types.js +1 -1
  106. package/models/Group/Repertory/File/Section/index.d.ts +3 -3
  107. package/models/Group/Repertory/File/Section/index.js +3 -2
  108. package/models/Group/Repertory/File/Section/types.d.ts +7 -0
  109. package/models/Group/Repertory/File/Section/types.js +1 -1
  110. package/models/Group/Repertory/File/index.d.ts +4 -2
  111. package/models/Group/Repertory/File/index.js +4 -4
  112. package/models/Group/Repertory/FilePath/index.d.ts +3 -4
  113. package/models/Group/Repertory/index.d.ts +12 -4
  114. package/models/Group/Repertory/index.js +9 -0
  115. package/models/Group/Repertory/types.d.ts +21 -32
  116. package/models/Group/Repertory/types.js +8 -18
  117. package/models/Group/index.d.ts +15 -13
  118. package/models/Group/index.js +16 -15
  119. package/models/Group/types.d.ts +6 -66
  120. package/models/Group/types.js +8 -50
  121. package/models/Instrument/{group.d.ts → fromRecord.d.ts} +4 -5
  122. package/models/Instrument/{group.js → fromRecord.js} +10 -10
  123. package/models/Instrument/index.d.ts +2 -0
  124. package/models/Instrument/index.js +38 -1
  125. package/models/Inventory/Item/types.js +2 -2
  126. package/models/Inventory/types.js +1 -1
  127. package/models/Notification/types.js +2 -2
  128. package/models/Offer/types.d.ts +0 -12
  129. package/models/Offer/types.js +2 -15
  130. package/models/Partnership/Partner/types.js +1 -1
  131. package/models/Partnership/Payment/types.js +2 -2
  132. package/models/Partnership/index.d.ts +1 -1
  133. package/models/Partnership/index.js +3 -3
  134. package/models/Partnership/types.js +1 -1
  135. package/models/Repertory/types.d.ts +12 -0
  136. package/models/Repertory/types.js +2 -2
  137. package/models/User/Group/index.js +1 -2
  138. package/models/User/index.d.ts +1 -1
  139. package/models/User/index.js +3 -3
  140. package/models/User/types.d.ts +2 -1
  141. package/models/User/types.js +7 -7
  142. package/models/WebhookEvent/types.js +1 -1
  143. package/models/supabase/Comm/index.d.ts +24 -0
  144. package/models/supabase/Comm/index.js +68 -0
  145. package/models/supabase/Comm/types.d.ts +6 -0
  146. package/models/supabase/CommHistory/index.d.ts +22 -0
  147. package/models/supabase/CommHistory/index.js +37 -0
  148. package/models/supabase/CommHistory/types.d.ts +11 -0
  149. package/models/supabase/CommHistory/types.js +9 -0
  150. package/models/supabase/Composer/Composition/Acquisition/index.d.ts +4 -0
  151. package/models/supabase/Composer/Composition/Acquisition/index.js +9 -0
  152. package/models/supabase/Composer/Composition/Acquisition/types.d.ts +36 -0
  153. package/models/supabase/Composer/Composition/Favorite/index.d.ts +4 -0
  154. package/models/supabase/Composer/Composition/Favorite/index.js +9 -0
  155. package/models/supabase/Composer/Composition/Favorite/types.d.ts +6 -0
  156. package/models/supabase/Composer/Composition/View/index.d.ts +4 -0
  157. package/models/supabase/Composer/Composition/View/index.js +9 -0
  158. package/models/supabase/Composer/Composition/View/types.d.ts +6 -0
  159. package/models/supabase/Composer/Composition/index.d.ts +5284 -0
  160. package/models/supabase/Composer/Composition/index.js +166 -0
  161. package/models/supabase/Composer/Composition/types.d.ts +96 -0
  162. package/models/supabase/Composer/Composition/types.js +32 -0
  163. package/models/supabase/Composer/Notification/index.d.ts +4 -0
  164. package/models/supabase/Composer/Notification/index.js +9 -0
  165. package/models/supabase/Composer/Notification/types.d.ts +39 -0
  166. package/models/supabase/Composer/Notification/types.js +27 -0
  167. package/models/supabase/Composer/Payout/index.d.ts +4 -0
  168. package/models/supabase/Composer/Payout/index.js +9 -0
  169. package/models/supabase/Composer/Payout/status.d.ts +1 -0
  170. package/models/supabase/Composer/Payout/types.d.ts +5 -0
  171. package/models/supabase/Composer/PerformanceAttendance/types.d.ts +4 -0
  172. package/models/supabase/Composer/index.d.ts +78 -0
  173. package/models/supabase/Composer/index.js +105 -0
  174. package/models/supabase/Composer/types.d.ts +6 -0
  175. package/models/supabase/Composer/types.js +2 -0
  176. package/models/supabase/EventHistory/index.d.ts +22 -0
  177. package/models/supabase/EventHistory/index.js +37 -0
  178. package/models/supabase/EventHistory/types.d.ts +36 -0
  179. package/models/supabase/EventHistory/types.js +34 -0
  180. package/models/supabase/GroupHistory/index.d.ts +21 -0
  181. package/models/supabase/GroupHistory/index.js +34 -0
  182. package/models/supabase/GroupHistory/types.d.ts +27 -0
  183. package/models/supabase/GroupHistory/types.js +25 -0
  184. package/models/supabase/Model/index.d.ts +10 -0
  185. package/models/supabase/Model/index.js +21 -0
  186. package/models/supabase/OfferHistory/index.d.ts +22 -0
  187. package/models/supabase/OfferHistory/index.js +37 -0
  188. package/models/supabase/OfferHistory/types.d.ts +18 -0
  189. package/models/supabase/OfferHistory/types.js +16 -0
  190. package/models/supabase/Repertoire/index.d.ts +16 -0
  191. package/models/supabase/Repertoire/index.js +43 -0
  192. package/models/supabase/Repertoire/types.d.ts +6 -0
  193. package/models/supabase/Repertoire/types.js +2 -0
  194. package/models/supabase/RepertoireHistory/index.d.ts +22 -0
  195. package/models/supabase/RepertoireHistory/index.js +37 -0
  196. package/models/supabase/RepertoireHistory/types.d.ts +21 -0
  197. package/models/supabase/RepertoireHistory/types.js +19 -0
  198. package/models/supabase/User/Group/index.d.ts +11 -0
  199. package/models/supabase/User/Group/index.js +30 -0
  200. package/models/supabase/User/Group/types.d.ts +6 -0
  201. package/models/supabase/User/Group/types.js +2 -0
  202. package/models/supabase/User/index.d.ts +13 -0
  203. package/models/supabase/User/index.js +37 -0
  204. package/models/supabase/User/types.d.ts +6 -0
  205. package/models/supabase/User/types.js +2 -0
  206. package/package.json +28 -20
  207. package/types/firestore.d.ts +0 -1
  208. package/types/firestore.js +1 -1
  209. package/types/supabase/catalog.d.ts +46 -0
  210. package/types/supabase/catalog.js +2 -0
  211. package/types/supabase/catalog.ts +67 -0
  212. package/types/supabase/composerMetrics.d.ts +27 -0
  213. package/types/supabase/composerMetrics.js +2 -0
  214. package/types/supabase/composerMetrics.ts +26 -0
  215. package/types/supabase/generated.d.ts +3158 -451
  216. package/types/supabase/generated.js +13 -0
  217. package/types/supabase/generated.ts +3116 -496
  218. package/types/supabase/index.d.ts +155 -19
  219. package/types/supabase/index.js +15 -0
  220. package/types/supabase/index.ts +288 -21
  221. package/types/supabase/overwrites/index.d.ts +1 -1
  222. package/types/supabase/overwrites/index.ts +1 -1
  223. package/types/supabase/overwrites/tables/comm/model.d.ts +4 -0
  224. package/types/supabase/overwrites/tables/comm/model.js +2 -0
  225. package/types/supabase/overwrites/tables/comm/model.ts +4 -0
  226. package/types/supabase/overwrites/tables/comm_history/index.d.ts +7 -0
  227. package/types/supabase/overwrites/tables/comm_history/index.js +2 -0
  228. package/types/supabase/overwrites/tables/comm_history/index.ts +9 -0
  229. package/types/supabase/overwrites/tables/comm_history/model.d.ts +10 -0
  230. package/types/supabase/overwrites/tables/comm_history/model.js +2 -0
  231. package/types/supabase/overwrites/tables/comm_history/model.ts +13 -0
  232. package/types/supabase/overwrites/tables/common/index.js +2 -0
  233. package/types/supabase/overwrites/tables/composer/index.d.ts +9 -0
  234. package/types/supabase/overwrites/tables/composer/index.js +2 -0
  235. package/types/supabase/overwrites/tables/composer/index.ts +10 -0
  236. package/types/supabase/overwrites/tables/composer/model.d.ts +12 -0
  237. package/types/supabase/overwrites/tables/composer/model.js +2 -0
  238. package/types/supabase/overwrites/tables/composer/model.ts +15 -0
  239. package/types/supabase/overwrites/tables/composer/publicModel.d.ts +11 -0
  240. package/types/supabase/overwrites/tables/composer/publicModel.js +2 -0
  241. package/types/supabase/overwrites/tables/composer/publicModel.ts +15 -0
  242. package/types/supabase/overwrites/tables/composerComposition/index.d.ts +18 -0
  243. package/types/supabase/overwrites/tables/composerComposition/index.js +2 -0
  244. package/types/supabase/overwrites/tables/composerComposition/index.ts +24 -0
  245. package/types/supabase/overwrites/tables/composerComposition/model.d.ts +9 -0
  246. package/types/supabase/overwrites/tables/composerComposition/model.js +2 -0
  247. package/types/supabase/overwrites/tables/composerComposition/model.ts +26 -0
  248. package/types/supabase/overwrites/tables/composerComposition/publicModel.d.ts +9 -0
  249. package/types/supabase/overwrites/tables/composerComposition/publicModel.js +2 -0
  250. package/types/supabase/overwrites/tables/composerComposition/publicModel.ts +37 -0
  251. package/types/supabase/overwrites/tables/composerNotification/index.d.ts +19 -0
  252. package/types/supabase/overwrites/tables/composerNotification/index.js +2 -0
  253. package/types/supabase/overwrites/tables/composerNotification/index.ts +25 -0
  254. package/types/supabase/overwrites/tables/composerOwnedTransaction/model.d.ts +2 -0
  255. package/types/supabase/overwrites/tables/composerOwnedTransaction/model.js +2 -0
  256. package/types/supabase/overwrites/tables/composerOwnedTransaction/model.ts +3 -0
  257. package/types/supabase/overwrites/tables/composerPayout/index.d.ts +7 -0
  258. package/types/supabase/overwrites/tables/composerPayout/index.js +2 -0
  259. package/types/supabase/overwrites/tables/composerPayout/index.ts +8 -0
  260. package/types/supabase/overwrites/tables/compositionAcquisition/index.d.ts +4 -0
  261. package/types/supabase/overwrites/tables/compositionAcquisition/index.js +2 -0
  262. package/types/supabase/overwrites/tables/compositionAcquisition/index.ts +8 -0
  263. package/types/supabase/overwrites/tables/compositionAcquisition/model.d.ts +6 -0
  264. package/types/supabase/overwrites/tables/compositionAcquisition/model.js +2 -0
  265. package/types/supabase/overwrites/tables/compositionAcquisition/model.ts +11 -0
  266. package/types/supabase/overwrites/tables/compositionFavorite/index.d.ts +1 -0
  267. package/types/supabase/overwrites/tables/compositionFavorite/index.js +2 -0
  268. package/types/supabase/overwrites/tables/compositionFavorite/index.ts +2 -0
  269. package/types/supabase/overwrites/tables/compositionFavorite/model.d.ts +1 -0
  270. package/types/supabase/overwrites/tables/compositionFavorite/model.js +2 -0
  271. package/types/supabase/overwrites/tables/compositionFavorite/model.ts +1 -0
  272. package/types/supabase/overwrites/tables/compositionView/index.d.ts +1 -0
  273. package/types/supabase/overwrites/tables/compositionView/index.js +2 -0
  274. package/types/supabase/overwrites/tables/compositionView/index.ts +2 -0
  275. package/types/supabase/overwrites/tables/compositionView/model.d.ts +1 -0
  276. package/types/supabase/overwrites/tables/compositionView/model.js +2 -0
  277. package/types/supabase/overwrites/tables/compositionView/model.ts +1 -0
  278. package/types/supabase/overwrites/tables/currencyExchangeRate/index.d.ts +16 -0
  279. package/types/supabase/overwrites/tables/currencyExchangeRate/index.js +2 -0
  280. package/types/supabase/overwrites/tables/currencyExchangeRate/index.ts +18 -0
  281. package/types/supabase/overwrites/{event.d.ts → tables/event/index.d.ts} +1 -1
  282. package/types/supabase/overwrites/tables/event/index.js +2 -0
  283. package/types/supabase/overwrites/{event.ts → tables/event/index.ts} +1 -1
  284. package/types/supabase/overwrites/tables/event_history/index.d.ts +7 -0
  285. package/types/supabase/overwrites/tables/event_history/index.js +2 -0
  286. package/types/supabase/overwrites/tables/event_history/index.ts +9 -0
  287. package/types/supabase/overwrites/tables/event_history/model.d.ts +10 -0
  288. package/types/supabase/overwrites/tables/event_history/model.js +2 -0
  289. package/types/supabase/overwrites/tables/event_history/model.ts +13 -0
  290. package/types/supabase/overwrites/{group.d.ts → tables/group/index.d.ts} +2 -5
  291. package/types/supabase/overwrites/tables/group/index.js +2 -0
  292. package/types/supabase/overwrites/{group.ts → tables/group/index.ts} +2 -6
  293. package/types/supabase/overwrites/tables/group_history/index.d.ts +7 -0
  294. package/types/supabase/overwrites/tables/group_history/index.js +2 -0
  295. package/types/supabase/overwrites/tables/group_history/index.ts +9 -0
  296. package/types/supabase/overwrites/tables/group_history/model.d.ts +10 -0
  297. package/types/supabase/overwrites/tables/group_history/model.js +2 -0
  298. package/types/supabase/overwrites/tables/group_history/model.ts +13 -0
  299. package/types/supabase/overwrites/{offer.d.ts → tables/offer/index.d.ts} +6 -2
  300. package/types/supabase/overwrites/tables/offer/index.js +2 -0
  301. package/types/supabase/overwrites/{offer.ts → tables/offer/index.ts} +7 -2
  302. package/types/supabase/overwrites/tables/offer_history/index.d.ts +7 -0
  303. package/types/supabase/overwrites/tables/offer_history/index.js +2 -0
  304. package/types/supabase/overwrites/tables/offer_history/index.ts +9 -0
  305. package/types/supabase/overwrites/tables/offer_history/model.d.ts +10 -0
  306. package/types/supabase/overwrites/tables/offer_history/model.js +2 -0
  307. package/types/supabase/overwrites/tables/offer_history/model.ts +13 -0
  308. package/types/supabase/overwrites/tables/repertoire/model.d.ts +7 -0
  309. package/types/supabase/overwrites/tables/repertoire/model.js +2 -0
  310. package/types/supabase/overwrites/tables/repertoire/model.ts +7 -0
  311. package/types/supabase/overwrites/tables/repertoire_history/index.d.ts +7 -0
  312. package/types/supabase/overwrites/tables/repertoire_history/index.js +2 -0
  313. package/types/supabase/overwrites/tables/repertoire_history/index.ts +9 -0
  314. package/types/supabase/overwrites/tables/repertoire_history/model.d.ts +10 -0
  315. package/types/supabase/overwrites/tables/repertoire_history/model.js +2 -0
  316. package/types/supabase/overwrites/tables/repertoire_history/model.ts +13 -0
  317. package/types/supabase/overwrites/tables/user/index.d.ts +11 -0
  318. package/types/supabase/overwrites/tables/user/index.js +2 -0
  319. package/types/supabase/overwrites/tables/user/index.ts +13 -0
  320. package/helpers/glissandooAdmin.d.ts +0 -3
  321. package/helpers/glissandooAdmin.js +0 -6
  322. package/types/supabase/overwrites/comm.d.ts +0 -18
  323. package/types/supabase/overwrites/comm.ts +0 -18
  324. package/types/supabase/overwrites/comm_history.d.ts +0 -10
  325. package/types/supabase/overwrites/comm_history.ts +0 -10
  326. package/types/supabase/overwrites/event_history.d.ts +0 -10
  327. package/types/supabase/overwrites/event_history.ts +0 -10
  328. package/types/supabase/overwrites/group_history.d.ts +0 -9
  329. package/types/supabase/overwrites/group_history.ts +0 -9
  330. package/types/supabase/overwrites/offer_history.d.ts +0 -10
  331. package/types/supabase/overwrites/offer_history.ts +0 -10
  332. package/types/supabase/overwrites/repertoire.d.ts +0 -12
  333. package/types/supabase/overwrites/repertoire.ts +0 -12
  334. package/types/supabase/overwrites/repertoire_history.d.ts +0 -10
  335. package/types/supabase/overwrites/repertoire_history.ts +0 -10
  336. /package/{types/supabase/overwrites/comm.js → functions/composer.js} +0 -0
  337. /package/{types/supabase/overwrites/comm_history.js → functions/composerComposition.js} +0 -0
  338. /package/{types/supabase/overwrites/event.js → functions/composerNotification.js} +0 -0
  339. /package/{types/supabase/overwrites/event_history.js → functions/composerPayout.js} +0 -0
  340. /package/{types/supabase/overwrites/group.js → models/supabase/Comm/types.js} +0 -0
  341. /package/{types/supabase/overwrites/group_history.js → models/supabase/Composer/Composition/Acquisition/types.js} +0 -0
  342. /package/{types/supabase/overwrites/offer.js → models/supabase/Composer/Composition/Favorite/types.js} +0 -0
  343. /package/{types/supabase/overwrites/offer_history.js → models/supabase/Composer/Composition/View/types.js} +0 -0
  344. /package/{types/supabase/overwrites/repertoire.js → models/supabase/Composer/Payout/status.js} +0 -0
  345. /package/{types/supabase/overwrites/repertoire_history.js → models/supabase/Composer/Payout/types.js} +0 -0
  346. /package/{types/supabase/overwrites/utils.js → models/supabase/Composer/PerformanceAttendance/types.js} +0 -0
  347. /package/types/supabase/overwrites/{utils.d.ts → tables/common/index.d.ts} +0 -0
  348. /package/types/supabase/overwrites/{utils.ts → tables/common/index.ts} +0 -0
@@ -0,0 +1,940 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compositionGenresTree = void 0;
4
+ const types_1 = require("../dataStructures/trees/types");
5
+ exports.compositionGenresTree = (0, types_1.defineTable)({
6
+ // --- ROOT CATEGORIES ---
7
+ 'ge-festive': {
8
+ id: 'ge-festive',
9
+ labelKey: 'compositionGenres.festive',
10
+ order: 0,
11
+ },
12
+ 'ge-symphonic': {
13
+ id: 'ge-symphonic',
14
+ labelKey: 'compositionGenres.symphonic',
15
+ order: 1,
16
+ },
17
+ 'ge-stage': {
18
+ id: 'ge-stage',
19
+ labelKey: 'compositionGenres.stage',
20
+ order: 2,
21
+ },
22
+ 'ge-modern': {
23
+ id: 'ge-modern',
24
+ labelKey: 'compositionGenres.modern',
25
+ order: 3,
26
+ },
27
+ 'ge-percussion': {
28
+ id: 'ge-percussion',
29
+ labelKey: 'compositionGenres.percussion',
30
+ order: 4,
31
+ },
32
+ 'ge-vocal': {
33
+ id: 'ge-vocal',
34
+ labelKey: 'compositionGenres.vocal',
35
+ order: 5,
36
+ },
37
+ 'ge-educational': {
38
+ id: 'ge-educational',
39
+ labelKey: 'compositionGenres.educational',
40
+ order: 6,
41
+ },
42
+ // --- 1. FESTIVE & TRADITIONAL ---
43
+ // Pasodobles
44
+ 'ge-pasodoble': {
45
+ id: 'ge-pasodoble',
46
+ parentId: 'ge-festive',
47
+ labelKey: 'compositionGenres.festive.pasodoble',
48
+ order: 0,
49
+ },
50
+ 'ge-pasodoble-concert': {
51
+ id: 'ge-pasodoble-concert',
52
+ parentId: 'ge-pasodoble',
53
+ labelKey: 'compositionGenres.festive.pasodoble.concert',
54
+ order: 0,
55
+ },
56
+ 'ge-pasodoble-fallero': {
57
+ id: 'ge-pasodoble-fallero',
58
+ parentId: 'ge-pasodoble',
59
+ labelKey: 'compositionGenres.festive.pasodoble.fallero',
60
+ order: 1,
61
+ },
62
+ 'ge-pasodoble-foguerer': {
63
+ id: 'ge-pasodoble-foguerer',
64
+ parentId: 'ge-pasodoble',
65
+ labelKey: 'compositionGenres.festive.pasodoble.foguerer',
66
+ order: 2,
67
+ },
68
+ 'ge-pasodoble-taurino': {
69
+ id: 'ge-pasodoble-taurino',
70
+ parentId: 'ge-pasodoble',
71
+ labelKey: 'compositionGenres.festive.pasodoble.taurino',
72
+ order: 3,
73
+ },
74
+ 'ge-pasodoble-regional': {
75
+ id: 'ge-pasodoble-regional',
76
+ parentId: 'ge-pasodoble',
77
+ labelKey: 'compositionGenres.festive.pasodoble.regional',
78
+ order: 4,
79
+ },
80
+ 'ge-pasodoble-festero': {
81
+ id: 'ge-pasodoble-festero',
82
+ parentId: 'ge-pasodoble',
83
+ labelKey: 'compositionGenres.festive.pasodoble.festero',
84
+ order: 5,
85
+ },
86
+ 'ge-pasodoble-dianero': {
87
+ id: 'ge-pasodoble-dianero',
88
+ parentId: 'ge-pasodoble',
89
+ labelKey: 'compositionGenres.festive.pasodoble.dianero',
90
+ order: 6,
91
+ },
92
+ 'ge-pasodoble-contrabandista': {
93
+ id: 'ge-pasodoble-contrabandista',
94
+ parentId: 'ge-pasodoble',
95
+ labelKey: 'compositionGenres.festive.pasodoble.contrabandista',
96
+ order: 7,
97
+ },
98
+ 'ge-pasodoble-march': {
99
+ id: 'ge-pasodoble-march',
100
+ parentId: 'ge-pasodoble',
101
+ labelKey: 'compositionGenres.festive.pasodoble.march',
102
+ order: 8,
103
+ },
104
+ 'ge-pasodoble-other': {
105
+ id: 'ge-pasodoble-other',
106
+ parentId: 'ge-pasodoble',
107
+ labelKey: 'compositionGenres.festive.pasodoble.other',
108
+ order: 9,
109
+ },
110
+ // Moors & Christians
111
+ 'ge-moors-christians': {
112
+ id: 'ge-moors-christians',
113
+ parentId: 'ge-festive',
114
+ labelKey: 'compositionGenres.festive.moors_christians',
115
+ order: 1,
116
+ },
117
+ 'ge-march-moor': {
118
+ id: 'ge-march-moor',
119
+ parentId: 'ge-moors-christians',
120
+ labelKey: 'compositionGenres.festive.moors_christians.moor_march',
121
+ order: 0,
122
+ },
123
+ 'ge-marches-christian': {
124
+ id: 'ge-marches-christian',
125
+ parentId: 'ge-moors-christians',
126
+ labelKey: 'compositionGenres.festive.moors_christians.christian_marches',
127
+ order: 1,
128
+ },
129
+ // Christian Marches children
130
+ 'ge-march-christian': {
131
+ id: 'ge-march-christian',
132
+ parentId: 'ge-marches-christian',
133
+ labelKey: 'compositionGenres.festive.moors_christians.christian_march',
134
+ order: 0,
135
+ },
136
+ 'ge-paso-masero': {
137
+ id: 'ge-paso-masero',
138
+ parentId: 'ge-marches-christian',
139
+ labelKey: 'compositionGenres.festive.moors_christians.paso_masero',
140
+ order: 1,
141
+ },
142
+ 'ge-march-christian-other': {
143
+ id: 'ge-march-christian-other',
144
+ parentId: 'ge-marches-christian',
145
+ labelKey: 'compositionGenres.festive.moors_christians.christian_other',
146
+ order: 2,
147
+ },
148
+ 'ge-boato': {
149
+ id: 'ge-boato',
150
+ parentId: 'ge-moors-christians',
151
+ labelKey: 'compositionGenres.festive.moors_christians.boato',
152
+ order: 2,
153
+ },
154
+ // Boato children
155
+ 'ge-ballet-festero': {
156
+ id: 'ge-ballet-festero',
157
+ parentId: 'ge-boato',
158
+ labelKey: 'compositionGenres.festive.moors_christians.ballet',
159
+ order: 0,
160
+ },
161
+ 'ge-fanfare-festera': {
162
+ id: 'ge-fanfare-festera',
163
+ parentId: 'ge-boato',
164
+ labelKey: 'compositionGenres.festive.moors_christians.fanfare',
165
+ order: 1,
166
+ },
167
+ 'ge-incidental-music': {
168
+ id: 'ge-incidental-music',
169
+ parentId: 'ge-boato',
170
+ labelKey: 'compositionGenres.festive.moors_christians.incidental',
171
+ order: 2,
172
+ },
173
+ 'ge-boato-other': {
174
+ id: 'ge-boato-other',
175
+ parentId: 'ge-boato',
176
+ labelKey: 'compositionGenres.festive.moors_christians.boato_other',
177
+ order: 3,
178
+ },
179
+ // Hymns/Anthems
180
+ 'ge-anthems': {
181
+ id: 'ge-anthems',
182
+ parentId: 'ge-festive',
183
+ labelKey: 'compositionGenres.festive.anthems',
184
+ order: 2,
185
+ },
186
+ 'ge-anthem-regional': {
187
+ id: 'ge-anthem-regional',
188
+ parentId: 'ge-anthems',
189
+ labelKey: 'compositionGenres.festive.anthems.regional',
190
+ order: 0,
191
+ },
192
+ 'ge-anthem-festero': {
193
+ id: 'ge-anthem-festero',
194
+ parentId: 'ge-anthems',
195
+ labelKey: 'compositionGenres.festive.anthems.festero',
196
+ order: 1,
197
+ },
198
+ 'ge-anthem-national': {
199
+ id: 'ge-anthem-national',
200
+ parentId: 'ge-anthems',
201
+ labelKey: 'compositionGenres.festive.anthems.national',
202
+ order: 2,
203
+ },
204
+ // Processional
205
+ 'ge-processional': {
206
+ id: 'ge-processional',
207
+ parentId: 'ge-festive',
208
+ labelKey: 'compositionGenres.festive.processional',
209
+ order: 3,
210
+ },
211
+ 'ge-march-procession': {
212
+ id: 'ge-march-procession',
213
+ parentId: 'ge-processional',
214
+ labelKey: 'compositionGenres.festive.processional.march',
215
+ order: 0,
216
+ },
217
+ 'ge-march-funeral': {
218
+ id: 'ge-march-funeral',
219
+ parentId: 'ge-processional',
220
+ labelKey: 'compositionGenres.festive.processional.funeral',
221
+ order: 1,
222
+ },
223
+ 'ge-processional-other': {
224
+ id: 'ge-processional-other',
225
+ parentId: 'ge-processional',
226
+ labelKey: 'compositionGenres.festive.processional.other',
227
+ order: 2,
228
+ },
229
+ // Marches & Parades
230
+ 'ge-marches-parades': {
231
+ id: 'ge-marches-parades',
232
+ parentId: 'ge-festive',
233
+ labelKey: 'compositionGenres.festive.marches_parades',
234
+ order: 4,
235
+ },
236
+ 'ge-march-military': {
237
+ id: 'ge-march-military',
238
+ parentId: 'ge-marches-parades',
239
+ labelKey: 'compositionGenres.festive.marches_parades.military',
240
+ order: 0,
241
+ },
242
+ 'ge-march-parade': {
243
+ id: 'ge-march-parade',
244
+ parentId: 'ge-marches-parades',
245
+ labelKey: 'compositionGenres.festive.marches_parades.parade',
246
+ order: 1,
247
+ },
248
+ 'ge-march-symphonic': {
249
+ id: 'ge-march-symphonic',
250
+ parentId: 'ge-marches-parades',
251
+ labelKey: 'compositionGenres.festive.marches_parades.symphonic',
252
+ order: 2,
253
+ },
254
+ 'ge-march-circus': {
255
+ id: 'ge-march-circus',
256
+ parentId: 'ge-marches-parades',
257
+ labelKey: 'compositionGenres.festive.marches_parades.circus',
258
+ order: 3,
259
+ },
260
+ 'ge-march-concert': {
261
+ id: 'ge-march-concert',
262
+ parentId: 'ge-marches-parades',
263
+ labelKey: 'compositionGenres.festive.marches_parades.concert',
264
+ order: 4,
265
+ },
266
+ // Folklore
267
+ 'ge-folklore': {
268
+ id: 'ge-folklore',
269
+ parentId: 'ge-festive',
270
+ labelKey: 'compositionGenres.festive.folklore',
271
+ order: 5,
272
+ },
273
+ 'ge-celtic': {
274
+ id: 'ge-celtic',
275
+ parentId: 'ge-folklore',
276
+ labelKey: 'compositionGenres.festive.folklore.celtic',
277
+ order: 0,
278
+ },
279
+ 'ge-klezmer': {
280
+ id: 'ge-klezmer',
281
+ parentId: 'ge-folklore',
282
+ labelKey: 'compositionGenres.festive.folklore.klezmer',
283
+ order: 1,
284
+ },
285
+ 'ge-folk-american': {
286
+ id: 'ge-folk-american',
287
+ parentId: 'ge-folklore',
288
+ labelKey: 'compositionGenres.festive.folklore.american',
289
+ order: 2,
290
+ },
291
+ 'ge-folk-native': {
292
+ id: 'ge-folk-native',
293
+ parentId: 'ge-folklore',
294
+ labelKey: 'compositionGenres.festive.folklore.native',
295
+ order: 3,
296
+ },
297
+ 'ge-folk-african': {
298
+ id: 'ge-folk-african',
299
+ parentId: 'ge-folklore',
300
+ labelKey: 'compositionGenres.festive.folklore.african',
301
+ order: 4,
302
+ },
303
+ 'ge-folk-oceania': {
304
+ id: 'ge-folk-oceania',
305
+ parentId: 'ge-folklore',
306
+ labelKey: 'compositionGenres.festive.folklore.oceania',
307
+ order: 5,
308
+ },
309
+ 'ge-folk-slavic': {
310
+ id: 'ge-folk-slavic',
311
+ parentId: 'ge-folklore',
312
+ labelKey: 'compositionGenres.festive.folklore.slavic',
313
+ order: 6,
314
+ },
315
+ 'ge-folk-latin': {
316
+ id: 'ge-folk-latin',
317
+ parentId: 'ge-folklore',
318
+ labelKey: 'compositionGenres.festive.folklore.latin',
319
+ order: 7,
320
+ },
321
+ 'ge-folk-asian': {
322
+ id: 'ge-folk-asian',
323
+ parentId: 'ge-folklore',
324
+ labelKey: 'compositionGenres.festive.folklore.asian',
325
+ order: 8,
326
+ },
327
+ 'ge-sardana': {
328
+ id: 'ge-sardana',
329
+ parentId: 'ge-folklore',
330
+ labelKey: 'compositionGenres.festive.folklore.sardana',
331
+ order: 9,
332
+ },
333
+ 'ge-jota': {
334
+ id: 'ge-jota',
335
+ parentId: 'ge-folklore',
336
+ labelKey: 'compositionGenres.festive.folklore.jota',
337
+ order: 10,
338
+ },
339
+ 'ge-muineira': {
340
+ id: 'ge-muineira',
341
+ parentId: 'ge-folklore',
342
+ labelKey: 'compositionGenres.festive.folklore.muineira',
343
+ order: 11,
344
+ },
345
+ 'ge-txistu': {
346
+ id: 'ge-txistu',
347
+ parentId: 'ge-folklore',
348
+ labelKey: 'compositionGenres.festive.folklore.txistu',
349
+ order: 12,
350
+ },
351
+ 'ge-cercavila': {
352
+ id: 'ge-cercavila',
353
+ parentId: 'ge-folklore',
354
+ labelKey: 'compositionGenres.festive.folklore.cercavila',
355
+ order: 13,
356
+ },
357
+ 'ge-folk-dances': {
358
+ id: 'ge-folk-dances',
359
+ parentId: 'ge-folklore',
360
+ labelKey: 'compositionGenres.festive.folklore.dances',
361
+ order: 14,
362
+ },
363
+ 'ge-charanga': {
364
+ id: 'ge-charanga',
365
+ parentId: 'ge-folklore',
366
+ labelKey: 'compositionGenres.festive.folklore.charanga',
367
+ order: 15,
368
+ },
369
+ 'ge-folk-other': {
370
+ id: 'ge-folk-other',
371
+ parentId: 'ge-folklore',
372
+ labelKey: 'compositionGenres.festive.folklore.other',
373
+ order: 16,
374
+ },
375
+ // Festive Other
376
+ 'ge-festive-other': {
377
+ id: 'ge-festive-other',
378
+ parentId: 'ge-festive',
379
+ labelKey: 'compositionGenres.festive.other',
380
+ order: 6,
381
+ },
382
+ // --- 2. SYMPHONIC / INSTRUMENTAL ---
383
+ 'ge-symphony': {
384
+ id: 'ge-symphony',
385
+ parentId: 'ge-symphonic',
386
+ labelKey: 'compositionGenres.symphonic.symphony',
387
+ order: 0,
388
+ },
389
+ 'ge-overture': {
390
+ id: 'ge-overture',
391
+ parentId: 'ge-symphonic',
392
+ labelKey: 'compositionGenres.symphonic.overture',
393
+ order: 1,
394
+ },
395
+ 'ge-symphonic-poem': {
396
+ id: 'ge-symphonic-poem',
397
+ parentId: 'ge-symphonic',
398
+ labelKey: 'compositionGenres.symphonic.poem',
399
+ order: 2,
400
+ },
401
+ 'ge-suite': {
402
+ id: 'ge-suite',
403
+ parentId: 'ge-symphonic',
404
+ labelKey: 'compositionGenres.symphonic.suite',
405
+ order: 3,
406
+ },
407
+ 'ge-concerto': {
408
+ id: 'ge-concerto',
409
+ parentId: 'ge-symphonic',
410
+ labelKey: 'compositionGenres.symphonic.concerto',
411
+ order: 4,
412
+ },
413
+ 'ge-chamber-music': {
414
+ id: 'ge-chamber-music',
415
+ parentId: 'ge-symphonic',
416
+ labelKey: 'compositionGenres.symphonic.chamber',
417
+ order: 5,
418
+ },
419
+ 'ge-sonata': {
420
+ id: 'ge-sonata',
421
+ parentId: 'ge-symphonic',
422
+ labelKey: 'compositionGenres.symphonic.sonata',
423
+ order: 6,
424
+ },
425
+ 'ge-variations': {
426
+ id: 'ge-variations',
427
+ parentId: 'ge-symphonic',
428
+ labelKey: 'compositionGenres.symphonic.variations',
429
+ order: 7,
430
+ },
431
+ 'ge-free-form': {
432
+ id: 'ge-free-form',
433
+ parentId: 'ge-symphonic',
434
+ labelKey: 'compositionGenres.symphonic.free_form',
435
+ order: 8,
436
+ },
437
+ 'ge-miniature': {
438
+ id: 'ge-miniature',
439
+ parentId: 'ge-symphonic',
440
+ labelKey: 'compositionGenres.symphonic.miniature',
441
+ order: 9,
442
+ },
443
+ 'ge-dance-concert': {
444
+ id: 'ge-dance-concert',
445
+ parentId: 'ge-symphonic',
446
+ labelKey: 'compositionGenres.symphonic.dance',
447
+ order: 10,
448
+ },
449
+ 'ge-waltz': {
450
+ id: 'ge-waltz',
451
+ parentId: 'ge-dance-concert',
452
+ labelKey: 'compositionGenres.symphonic.dance.waltz',
453
+ order: 0,
454
+ },
455
+ 'ge-polka': {
456
+ id: 'ge-polka',
457
+ parentId: 'ge-dance-concert',
458
+ labelKey: 'compositionGenres.symphonic.dance.polka',
459
+ order: 1,
460
+ },
461
+ 'ge-mazurka': {
462
+ id: 'ge-mazurka',
463
+ parentId: 'ge-dance-concert',
464
+ labelKey: 'compositionGenres.symphonic.dance.mazurka',
465
+ order: 2,
466
+ },
467
+ 'ge-landler': {
468
+ id: 'ge-landler',
469
+ parentId: 'ge-dance-concert',
470
+ labelKey: 'compositionGenres.symphonic.dance.landler',
471
+ order: 3,
472
+ },
473
+ 'ge-tarantella': {
474
+ id: 'ge-tarantella',
475
+ parentId: 'ge-dance-concert',
476
+ labelKey: 'compositionGenres.symphonic.dance.tarantella',
477
+ order: 4,
478
+ },
479
+ 'ge-ragtime': {
480
+ id: 'ge-ragtime',
481
+ parentId: 'ge-dance-concert',
482
+ labelKey: 'compositionGenres.symphonic.dance.ragtime',
483
+ order: 5,
484
+ },
485
+ 'ge-habanera-instr': {
486
+ id: 'ge-habanera-instr',
487
+ parentId: 'ge-dance-concert',
488
+ labelKey: 'compositionGenres.symphonic.dance.habanera',
489
+ order: 6,
490
+ },
491
+ 'ge-tango': {
492
+ id: 'ge-tango',
493
+ parentId: 'ge-dance-concert',
494
+ labelKey: 'compositionGenres.symphonic.dance.tango',
495
+ order: 7,
496
+ },
497
+ 'ge-dance-ancient': {
498
+ id: 'ge-dance-ancient',
499
+ parentId: 'ge-dance-concert',
500
+ labelKey: 'compositionGenres.symphonic.dance.ancient',
501
+ order: 8,
502
+ },
503
+ 'ge-symphonic-other': {
504
+ id: 'ge-symphonic-other',
505
+ parentId: 'ge-symphonic',
506
+ labelKey: 'compositionGenres.symphonic.other',
507
+ order: 11,
508
+ },
509
+ // --- 3. STAGE (SCENIC) ---
510
+ 'ge-opera': {
511
+ id: 'ge-opera',
512
+ parentId: 'ge-stage',
513
+ labelKey: 'compositionGenres.stage.opera',
514
+ order: 0,
515
+ },
516
+ 'ge-opera-complete': {
517
+ id: 'ge-opera-complete',
518
+ parentId: 'ge-opera',
519
+ labelKey: 'compositionGenres.stage.opera.complete',
520
+ order: 0,
521
+ },
522
+ 'ge-opera-selection': {
523
+ id: 'ge-opera-selection',
524
+ parentId: 'ge-opera',
525
+ labelKey: 'compositionGenres.stage.opera.selection',
526
+ order: 1,
527
+ },
528
+ 'ge-opera-fragment': {
529
+ id: 'ge-opera-fragment',
530
+ parentId: 'ge-opera',
531
+ labelKey: 'compositionGenres.stage.opera.fragment',
532
+ order: 2,
533
+ },
534
+ 'ge-opera-other': {
535
+ id: 'ge-opera-other',
536
+ parentId: 'ge-opera',
537
+ labelKey: 'compositionGenres.stage.opera.other',
538
+ order: 3,
539
+ },
540
+ 'ge-zarzuela': {
541
+ id: 'ge-zarzuela',
542
+ parentId: 'ge-stage',
543
+ labelKey: 'compositionGenres.stage.zarzuela',
544
+ order: 1,
545
+ },
546
+ 'ge-zarzuela-complete': {
547
+ id: 'ge-zarzuela-complete',
548
+ parentId: 'ge-zarzuela',
549
+ labelKey: 'compositionGenres.stage.zarzuela.complete',
550
+ order: 0,
551
+ },
552
+ 'ge-zarzuela-selection': {
553
+ id: 'ge-zarzuela-selection',
554
+ parentId: 'ge-zarzuela',
555
+ labelKey: 'compositionGenres.stage.zarzuela.selection',
556
+ order: 1,
557
+ },
558
+ 'ge-zarzuela-prelude': {
559
+ id: 'ge-zarzuela-prelude',
560
+ parentId: 'ge-zarzuela',
561
+ labelKey: 'compositionGenres.stage.zarzuela.prelude',
562
+ order: 2,
563
+ },
564
+ 'ge-zarzuela-romanza': {
565
+ id: 'ge-zarzuela-romanza',
566
+ parentId: 'ge-zarzuela',
567
+ labelKey: 'compositionGenres.stage.zarzuela.romanza',
568
+ order: 3,
569
+ },
570
+ 'ge-zarzuela-other': {
571
+ id: 'ge-zarzuela-other',
572
+ parentId: 'ge-zarzuela',
573
+ labelKey: 'compositionGenres.stage.zarzuela.other',
574
+ order: 4,
575
+ },
576
+ 'ge-operetta': {
577
+ id: 'ge-operetta',
578
+ parentId: 'ge-stage',
579
+ labelKey: 'compositionGenres.stage.operetta',
580
+ order: 2,
581
+ },
582
+ 'ge-operetta-complete': {
583
+ id: 'ge-operetta-complete',
584
+ parentId: 'ge-operetta',
585
+ labelKey: 'compositionGenres.stage.operetta.complete',
586
+ order: 0,
587
+ },
588
+ 'ge-operetta-selection': {
589
+ id: 'ge-operetta-selection',
590
+ parentId: 'ge-operetta',
591
+ labelKey: 'compositionGenres.stage.operetta.selection',
592
+ order: 1,
593
+ },
594
+ 'ge-operetta-other': {
595
+ id: 'ge-operetta-other',
596
+ parentId: 'ge-operetta',
597
+ labelKey: 'compositionGenres.stage.operetta.other',
598
+ order: 2,
599
+ },
600
+ 'ge-musical-theatre': {
601
+ id: 'ge-musical-theatre',
602
+ parentId: 'ge-stage',
603
+ labelKey: 'compositionGenres.stage.musical',
604
+ order: 3,
605
+ },
606
+ 'ge-musical-complete': {
607
+ id: 'ge-musical-complete',
608
+ parentId: 'ge-musical-theatre',
609
+ labelKey: 'compositionGenres.stage.musical.complete',
610
+ order: 0,
611
+ },
612
+ 'ge-musical-selection': {
613
+ id: 'ge-musical-selection',
614
+ parentId: 'ge-musical-theatre',
615
+ labelKey: 'compositionGenres.stage.musical.selection',
616
+ order: 1,
617
+ },
618
+ 'ge-musical-song': {
619
+ id: 'ge-musical-song',
620
+ parentId: 'ge-musical-theatre',
621
+ labelKey: 'compositionGenres.stage.musical.song',
622
+ order: 2,
623
+ },
624
+ 'ge-musical-other': {
625
+ id: 'ge-musical-other',
626
+ parentId: 'ge-musical-theatre',
627
+ labelKey: 'compositionGenres.stage.musical.other',
628
+ order: 3,
629
+ },
630
+ 'ge-ballet': {
631
+ id: 'ge-ballet',
632
+ parentId: 'ge-stage',
633
+ labelKey: 'compositionGenres.stage.ballet',
634
+ order: 4,
635
+ },
636
+ 'ge-ballet-complete': {
637
+ id: 'ge-ballet-complete',
638
+ parentId: 'ge-ballet',
639
+ labelKey: 'compositionGenres.stage.ballet.complete',
640
+ order: 0,
641
+ },
642
+ 'ge-ballet-suite': {
643
+ id: 'ge-ballet-suite',
644
+ parentId: 'ge-ballet',
645
+ labelKey: 'compositionGenres.stage.ballet.suite',
646
+ order: 1,
647
+ },
648
+ 'ge-ballet-other': {
649
+ id: 'ge-ballet-other',
650
+ parentId: 'ge-ballet',
651
+ labelKey: 'compositionGenres.stage.ballet.other',
652
+ order: 2,
653
+ },
654
+ 'ge-stage-other': {
655
+ id: 'ge-stage-other',
656
+ parentId: 'ge-stage',
657
+ labelKey: 'compositionGenres.stage.other',
658
+ order: 5,
659
+ },
660
+ // --- 4. MODERN ---
661
+ 'ge-soundtrack': {
662
+ id: 'ge-soundtrack',
663
+ parentId: 'ge-modern',
664
+ labelKey: 'compositionGenres.modern.soundtrack',
665
+ order: 0,
666
+ },
667
+ 'ge-jazz': {
668
+ id: 'ge-jazz',
669
+ parentId: 'ge-modern',
670
+ labelKey: 'compositionGenres.modern.jazz',
671
+ order: 1,
672
+ },
673
+ 'ge-swing': {
674
+ id: 'ge-swing',
675
+ parentId: 'ge-jazz',
676
+ labelKey: 'compositionGenres.modern.jazz.swing',
677
+ order: 0,
678
+ },
679
+ 'ge-dixieland': {
680
+ id: 'ge-dixieland',
681
+ parentId: 'ge-jazz',
682
+ labelKey: 'compositionGenres.modern.jazz.dixieland',
683
+ order: 1,
684
+ },
685
+ 'ge-blues': {
686
+ id: 'ge-blues',
687
+ parentId: 'ge-jazz',
688
+ labelKey: 'compositionGenres.modern.jazz.blues',
689
+ order: 2,
690
+ },
691
+ 'ge-latin-jazz': {
692
+ id: 'ge-latin-jazz',
693
+ parentId: 'ge-jazz',
694
+ labelKey: 'compositionGenres.modern.jazz.latin',
695
+ order: 3,
696
+ },
697
+ 'ge-pop-rock': {
698
+ id: 'ge-pop-rock',
699
+ parentId: 'ge-modern',
700
+ labelKey: 'compositionGenres.modern.pop_rock',
701
+ order: 2,
702
+ },
703
+ 'ge-latin': {
704
+ id: 'ge-latin',
705
+ parentId: 'ge-modern',
706
+ labelKey: 'compositionGenres.modern.latin',
707
+ order: 3,
708
+ },
709
+ 'ge-funk': {
710
+ id: 'ge-funk',
711
+ parentId: 'ge-modern',
712
+ labelKey: 'compositionGenres.modern.funk',
713
+ order: 4,
714
+ },
715
+ 'ge-videogames': {
716
+ id: 'ge-videogames',
717
+ parentId: 'ge-modern',
718
+ labelKey: 'compositionGenres.modern.videogames',
719
+ order: 5,
720
+ },
721
+ 'ge-modern-other': {
722
+ id: 'ge-modern-other',
723
+ parentId: 'ge-modern',
724
+ labelKey: 'compositionGenres.modern.other',
725
+ order: 6,
726
+ },
727
+ // --- 5. PERCUSSION ---
728
+ 'ge-perc-ethnic': {
729
+ id: 'ge-perc-ethnic',
730
+ parentId: 'ge-percussion',
731
+ labelKey: 'compositionGenres.percussion.ethnic',
732
+ order: 0,
733
+ },
734
+ 'ge-perc-contemporary': {
735
+ id: 'ge-perc-contemporary',
736
+ parentId: 'ge-percussion',
737
+ labelKey: 'compositionGenres.percussion.contemporary',
738
+ order: 1,
739
+ },
740
+ 'ge-perc-other': {
741
+ id: 'ge-perc-other',
742
+ parentId: 'ge-percussion',
743
+ labelKey: 'compositionGenres.percussion.other',
744
+ order: 2,
745
+ },
746
+ // --- 6. VOCAL / CHORAL ---
747
+ 'ge-sacred': {
748
+ id: 'ge-sacred',
749
+ parentId: 'ge-vocal',
750
+ labelKey: 'compositionGenres.vocal.sacred',
751
+ order: 0,
752
+ },
753
+ 'ge-mass': {
754
+ id: 'ge-mass',
755
+ parentId: 'ge-sacred',
756
+ labelKey: 'compositionGenres.vocal.sacred.mass',
757
+ order: 0,
758
+ },
759
+ 'ge-mass-complete': {
760
+ id: 'ge-mass-complete',
761
+ parentId: 'ge-mass',
762
+ labelKey: 'compositionGenres.vocal.sacred.mass.complete',
763
+ order: 0,
764
+ },
765
+ 'ge-mass-kyrie': {
766
+ id: 'ge-mass-kyrie',
767
+ parentId: 'ge-mass',
768
+ labelKey: 'compositionGenres.vocal.sacred.mass.kyrie',
769
+ order: 1,
770
+ },
771
+ 'ge-mass-gloria': {
772
+ id: 'ge-mass-gloria',
773
+ parentId: 'ge-mass',
774
+ labelKey: 'compositionGenres.vocal.sacred.mass.gloria',
775
+ order: 2,
776
+ },
777
+ 'ge-mass-credo': {
778
+ id: 'ge-mass-credo',
779
+ parentId: 'ge-mass',
780
+ labelKey: 'compositionGenres.vocal.sacred.mass.credo',
781
+ order: 3,
782
+ },
783
+ 'ge-mass-sanctus': {
784
+ id: 'ge-mass-sanctus',
785
+ parentId: 'ge-mass',
786
+ labelKey: 'compositionGenres.vocal.sacred.mass.sanctus',
787
+ order: 4,
788
+ },
789
+ 'ge-mass-agnus': {
790
+ id: 'ge-mass-agnus',
791
+ parentId: 'ge-mass',
792
+ labelKey: 'compositionGenres.vocal.sacred.mass.agnus',
793
+ order: 5,
794
+ },
795
+ 'ge-requiem': {
796
+ id: 'ge-requiem',
797
+ parentId: 'ge-sacred',
798
+ labelKey: 'compositionGenres.vocal.sacred.requiem',
799
+ order: 1,
800
+ },
801
+ 'ge-oratorio': {
802
+ id: 'ge-oratorio',
803
+ parentId: 'ge-sacred',
804
+ labelKey: 'compositionGenres.vocal.sacred.oratorio',
805
+ order: 2,
806
+ },
807
+ 'ge-cantata-sacred': {
808
+ id: 'ge-cantata-sacred',
809
+ parentId: 'ge-sacred',
810
+ labelKey: 'compositionGenres.vocal.sacred.cantata',
811
+ order: 3,
812
+ },
813
+ 'ge-motet': {
814
+ id: 'ge-motet',
815
+ parentId: 'ge-sacred',
816
+ labelKey: 'compositionGenres.vocal.sacred.motet',
817
+ order: 4,
818
+ },
819
+ 'ge-chorale': {
820
+ id: 'ge-chorale',
821
+ parentId: 'ge-sacred',
822
+ labelKey: 'compositionGenres.vocal.sacred.chorale',
823
+ order: 5,
824
+ },
825
+ 'ge-te-deum': {
826
+ id: 'ge-te-deum',
827
+ parentId: 'ge-sacred',
828
+ labelKey: 'compositionGenres.vocal.sacred.tedeum',
829
+ order: 6,
830
+ },
831
+ 'ge-gospel': {
832
+ id: 'ge-gospel',
833
+ parentId: 'ge-sacred',
834
+ labelKey: 'compositionGenres.vocal.sacred.gospel',
835
+ order: 7,
836
+ },
837
+ 'ge-procession-vocal': {
838
+ id: 'ge-procession-vocal',
839
+ parentId: 'ge-sacred',
840
+ labelKey: 'compositionGenres.vocal.sacred.procession',
841
+ order: 8,
842
+ },
843
+ 'ge-sacred-other': {
844
+ id: 'ge-sacred-other',
845
+ parentId: 'ge-sacred',
846
+ labelKey: 'compositionGenres.vocal.sacred.other',
847
+ order: 9,
848
+ },
849
+ 'ge-secular': {
850
+ id: 'ge-secular',
851
+ parentId: 'ge-vocal',
852
+ labelKey: 'compositionGenres.vocal.secular',
853
+ order: 1,
854
+ },
855
+ 'ge-cantata-secular': {
856
+ id: 'ge-cantata-secular',
857
+ parentId: 'ge-secular',
858
+ labelKey: 'compositionGenres.vocal.secular.cantata',
859
+ order: 0,
860
+ },
861
+ 'ge-madrigal': {
862
+ id: 'ge-madrigal',
863
+ parentId: 'ge-secular',
864
+ labelKey: 'compositionGenres.vocal.secular.madrigal',
865
+ order: 1,
866
+ },
867
+ 'ge-choral-concert': {
868
+ id: 'ge-choral-concert',
869
+ parentId: 'ge-secular',
870
+ labelKey: 'compositionGenres.vocal.secular.concert_work',
871
+ order: 2,
872
+ },
873
+ 'ge-choral-pop': {
874
+ id: 'ge-choral-pop',
875
+ parentId: 'ge-secular',
876
+ labelKey: 'compositionGenres.vocal.secular.pop_arrangement',
877
+ order: 3,
878
+ },
879
+ 'ge-anthem-secular': {
880
+ id: 'ge-anthem-secular',
881
+ parentId: 'ge-secular',
882
+ labelKey: 'compositionGenres.vocal.secular.anthem',
883
+ order: 4,
884
+ },
885
+ 'ge-secular-other': {
886
+ id: 'ge-secular-other',
887
+ parentId: 'ge-secular',
888
+ labelKey: 'compositionGenres.vocal.secular.other',
889
+ order: 5,
890
+ },
891
+ 'ge-solo-voice': {
892
+ id: 'ge-solo-voice',
893
+ parentId: 'ge-vocal',
894
+ labelKey: 'compositionGenres.vocal.solo',
895
+ order: 2,
896
+ },
897
+ 'ge-lied': {
898
+ id: 'ge-lied',
899
+ parentId: 'ge-solo-voice',
900
+ labelKey: 'compositionGenres.vocal.solo.lied',
901
+ order: 0,
902
+ },
903
+ 'ge-aria-concert': {
904
+ id: 'ge-aria-concert',
905
+ parentId: 'ge-solo-voice',
906
+ labelKey: 'compositionGenres.vocal.solo.aria',
907
+ order: 1,
908
+ },
909
+ 'ge-carols': {
910
+ id: 'ge-carols',
911
+ parentId: 'ge-vocal',
912
+ labelKey: 'compositionGenres.vocal.carols',
913
+ order: 3,
914
+ },
915
+ 'ge-habanera-vocal': {
916
+ id: 'ge-habanera-vocal',
917
+ parentId: 'ge-vocal',
918
+ labelKey: 'compositionGenres.vocal.habanera',
919
+ order: 4,
920
+ },
921
+ // --- 7. EDUCATIONAL ---
922
+ 'ge-method': {
923
+ id: 'ge-method',
924
+ parentId: 'ge-educational',
925
+ labelKey: 'compositionGenres.educational.method',
926
+ order: 0,
927
+ },
928
+ 'ge-didactic': {
929
+ id: 'ge-didactic',
930
+ parentId: 'ge-educational',
931
+ labelKey: 'compositionGenres.educational.didactic',
932
+ order: 1,
933
+ },
934
+ 'ge-flex-band': {
935
+ id: 'ge-flex-band',
936
+ parentId: 'ge-educational',
937
+ labelKey: 'compositionGenres.educational.flex_band',
938
+ order: 2,
939
+ },
940
+ });