@nldd/design-system 0.8.80 → 0.8.83

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 (302) hide show
  1. package/custom-elements.json +1138 -71
  2. package/dist/components/actions/button/button.d.ts +5 -0
  3. package/dist/components/actions/button/button.d.ts.map +1 -1
  4. package/dist/components/actions/button/button.js +8 -0
  5. package/dist/components/actions/button/button.js.map +1 -1
  6. package/dist/components/actions/button/button.template.d.ts.map +1 -1
  7. package/dist/components/actions/button/button.template.js +2 -0
  8. package/dist/components/actions/button/button.template.js.map +1 -1
  9. package/dist/components/actions/icon-button/icon-button.d.ts +1 -1
  10. package/dist/components/actions/icon-button/icon-button.js +1 -1
  11. package/dist/components/actions/menu/menu.d.ts +25 -2
  12. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  13. package/dist/components/actions/menu/menu.js +31 -8
  14. package/dist/components/actions/menu/menu.js.map +1 -1
  15. package/dist/components/actions/menu/menu.template.d.ts +1 -1
  16. package/dist/components/actions/menu/menu.template.d.ts.map +1 -1
  17. package/dist/components/actions/menu/menu.template.js +7 -3
  18. package/dist/components/actions/menu/menu.template.js.map +1 -1
  19. package/dist/components/actions/toolbar/toolbar.d.ts +20 -0
  20. package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
  21. package/dist/components/actions/toolbar/toolbar.js +54 -0
  22. package/dist/components/actions/toolbar/toolbar.js.map +1 -1
  23. package/dist/components/breakpoints-CkxsiRgH.js +10 -0
  24. package/dist/components/components.js +52643 -117
  25. package/dist/components/content/avatar/avatar.styles.d.ts.map +1 -1
  26. package/dist/components/content/avatar/avatar.styles.js +5 -1
  27. package/dist/components/content/avatar/avatar.styles.js.map +1 -1
  28. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  29. package/dist/components/content/icon/icon-aliases.js +78 -6
  30. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  31. package/dist/components/content/icon/icon-gallery-status.d.ts.map +1 -1
  32. package/dist/components/content/icon/icon-gallery-status.js +63 -92
  33. package/dist/components/content/icon/icon-gallery-status.js.map +1 -1
  34. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  35. package/dist/components/content/icon/icon-registry.js +44 -6
  36. package/dist/components/content/icon/icon-registry.js.map +1 -1
  37. package/dist/components/content/icon/icon.d.ts +8 -2
  38. package/dist/components/content/icon/icon.d.ts.map +1 -1
  39. package/dist/components/content/icon/icon.js +17 -2
  40. package/dist/components/content/icon/icon.js.map +1 -1
  41. package/dist/components/content/icon/icon.styles.d.ts.map +1 -1
  42. package/dist/components/content/icon/icon.styles.js +8 -0
  43. package/dist/components/content/icon/icon.styles.js.map +1 -1
  44. package/dist/components/content/text/text.d.ts +50 -0
  45. package/dist/components/content/text/text.d.ts.map +1 -0
  46. package/dist/components/content/text/text.js +81 -0
  47. package/dist/components/content/text/text.js.map +1 -0
  48. package/dist/components/content/text/text.styles.d.ts +2 -0
  49. package/dist/components/content/text/text.styles.d.ts.map +1 -0
  50. package/dist/components/content/text/text.styles.js +116 -0
  51. package/dist/components/content/text/text.styles.js.map +1 -0
  52. package/dist/components/content/text/text.template.d.ts +3 -0
  53. package/dist/components/content/text/text.template.d.ts.map +1 -0
  54. package/dist/components/content/text/text.template.js +7 -0
  55. package/dist/components/content/text/text.template.js.map +1 -0
  56. package/dist/components/content/title/title.styles.d.ts.map +1 -1
  57. package/dist/components/content/title/title.styles.js +9 -13
  58. package/dist/components/content/title/title.styles.js.map +1 -1
  59. package/dist/components/decorate-BKn10QQi.js +9 -0
  60. package/dist/components/dist-BYVOPNHp.js +381 -0
  61. package/dist/components/dist-Bq4xc7Bm.js +624 -0
  62. package/dist/components/dist-C0PiB1dr.js +870 -0
  63. package/dist/components/dist-C400RcFU.js +1498 -0
  64. package/dist/components/dist-CCg5Mso_.js +390 -0
  65. package/dist/components/dist-CJR_Rwhh.js +464 -0
  66. package/dist/components/dist-Ccw7ZfsU.js +18481 -0
  67. package/dist/components/dist-OBifyiJS.js +887 -0
  68. package/dist/components/dist-TpIL8G4G.js +1480 -0
  69. package/dist/components/dist-afrAoubg.js +1181 -0
  70. package/dist/components/dist-bO14jlsr.js +78 -0
  71. package/dist/components/forms/form-field/form-field.d.ts +59 -2
  72. package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
  73. package/dist/components/forms/form-field/form-field.js +120 -35
  74. package/dist/components/forms/form-field/form-field.js.map +1 -1
  75. package/dist/components/gherkin-uCVRxsGf.js +108 -0
  76. package/dist/components/icon-C1Kikpol.js +841 -0
  77. package/dist/components/icon-button-BYy6hnAY.js +1676 -0
  78. package/dist/components/index.d.ts +2 -1
  79. package/dist/components/index.d.ts.map +1 -1
  80. package/dist/components/index.js +2 -1
  81. package/dist/components/index.js.map +1 -1
  82. package/dist/components/input-modality-DhTeUxKi.js +43 -0
  83. package/dist/components/inputs/checkbox/checkbox.d.ts +8 -0
  84. package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
  85. package/dist/components/inputs/checkbox/checkbox.js +10 -0
  86. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  87. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts +9 -0
  88. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
  89. package/dist/components/inputs/checkbox-field/checkbox-field.js +11 -0
  90. package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
  91. package/dist/components/inputs/code-editor/code-editor.d.ts +3 -0
  92. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  93. package/dist/components/inputs/code-editor/code-editor.js +3 -0
  94. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  95. package/dist/components/inputs/combo-box/combo-box.d.ts +8 -0
  96. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  97. package/dist/components/inputs/combo-box/combo-box.js +36 -0
  98. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  99. package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
  100. package/dist/components/inputs/combo-box/combo-box.styles.js +5 -0
  101. package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
  102. package/dist/components/inputs/combo-box/combo-box.template.d.ts.map +1 -1
  103. package/dist/components/inputs/combo-box/combo-box.template.js +23 -20
  104. package/dist/components/inputs/combo-box/combo-box.template.js.map +1 -1
  105. package/dist/components/inputs/date-field/date-field.d.ts +6 -0
  106. package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
  107. package/dist/components/inputs/date-field/date-field.js +11 -0
  108. package/dist/components/inputs/date-field/date-field.js.map +1 -1
  109. package/dist/components/inputs/date-field/date-field.template.d.ts.map +1 -1
  110. package/dist/components/inputs/date-field/date-field.template.js +7 -1
  111. package/dist/components/inputs/date-field/date-field.template.js.map +1 -1
  112. package/dist/components/inputs/date-picker/date-picker.d.ts +3 -0
  113. package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -1
  114. package/dist/components/inputs/date-picker/date-picker.js +4 -1
  115. package/dist/components/inputs/date-picker/date-picker.js.map +1 -1
  116. package/dist/components/inputs/dropdown/dropdown.d.ts +29 -0
  117. package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
  118. package/dist/components/inputs/dropdown/dropdown.js +44 -1
  119. package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
  120. package/dist/components/inputs/file-field/file-field.d.ts +3 -0
  121. package/dist/components/inputs/file-field/file-field.d.ts.map +1 -1
  122. package/dist/components/inputs/file-field/file-field.js +3 -0
  123. package/dist/components/inputs/file-field/file-field.js.map +1 -1
  124. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +11 -1
  125. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
  126. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +11 -0
  127. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
  128. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.d.ts.map +1 -1
  129. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js +2 -0
  130. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js.map +1 -1
  131. package/dist/components/inputs/number-field/number-field.d.ts +9 -0
  132. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  133. package/dist/components/inputs/number-field/number-field.js +12 -0
  134. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  135. package/dist/components/inputs/number-field/number-field.template.d.ts.map +1 -1
  136. package/dist/components/inputs/number-field/number-field.template.js +1 -0
  137. package/dist/components/inputs/number-field/number-field.template.js.map +1 -1
  138. package/dist/components/inputs/password-field/password-field.d.ts +9 -0
  139. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  140. package/dist/components/inputs/password-field/password-field.js +12 -0
  141. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  142. package/dist/components/inputs/password-field/password-field.template.d.ts.map +1 -1
  143. package/dist/components/inputs/password-field/password-field.template.js +1 -0
  144. package/dist/components/inputs/password-field/password-field.template.js.map +1 -1
  145. package/dist/components/inputs/radio-button/radio-button.d.ts +8 -0
  146. package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
  147. package/dist/components/inputs/radio-button/radio-button.js +10 -0
  148. package/dist/components/inputs/radio-button/radio-button.js.map +1 -1
  149. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts +9 -0
  150. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
  151. package/dist/components/inputs/radio-button-field/radio-button-field.js +11 -0
  152. package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
  153. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +16 -0
  154. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
  155. package/dist/components/inputs/radio-button-group/radio-button-group.js +33 -0
  156. package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
  157. package/dist/components/inputs/search-field/search-field.d.ts +6 -0
  158. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  159. package/dist/components/inputs/search-field/search-field.js +6 -0
  160. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  161. package/dist/components/inputs/segmented-control/segmented-control.d.ts +16 -0
  162. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  163. package/dist/components/inputs/segmented-control/segmented-control.js +26 -7
  164. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  165. package/dist/components/inputs/stepper/stepper.d.ts +17 -0
  166. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  167. package/dist/components/inputs/stepper/stepper.js +22 -0
  168. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  169. package/dist/components/inputs/stepper/stepper.template.js +1 -1
  170. package/dist/components/inputs/stepper/stepper.template.js.map +1 -1
  171. package/dist/components/inputs/switch/switch.d.ts +3 -0
  172. package/dist/components/inputs/switch/switch.d.ts.map +1 -1
  173. package/dist/components/inputs/switch/switch.js +3 -0
  174. package/dist/components/inputs/switch/switch.js.map +1 -1
  175. package/dist/components/inputs/switch-field/switch-field.d.ts +3 -0
  176. package/dist/components/inputs/switch-field/switch-field.d.ts.map +1 -1
  177. package/dist/components/inputs/switch-field/switch-field.js +3 -0
  178. package/dist/components/inputs/switch-field/switch-field.js.map +1 -1
  179. package/dist/components/inputs/text-editor/text-editor.d.ts +3 -0
  180. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
  181. package/dist/components/inputs/text-editor/text-editor.js +4 -1
  182. package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
  183. package/dist/components/inputs/text-field/text-field.d.ts +30 -0
  184. package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
  185. package/dist/components/inputs/text-field/text-field.js +60 -0
  186. package/dist/components/inputs/text-field/text-field.js.map +1 -1
  187. package/dist/components/inputs/text-field/text-field.template.d.ts.map +1 -1
  188. package/dist/components/inputs/text-field/text-field.template.js +3 -0
  189. package/dist/components/inputs/text-field/text-field.template.js.map +1 -1
  190. package/dist/components/inputs/time-field/time-field.d.ts +6 -0
  191. package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
  192. package/dist/components/inputs/time-field/time-field.js +11 -0
  193. package/dist/components/inputs/time-field/time-field.js.map +1 -1
  194. package/dist/components/inputs/time-field/time-field.template.d.ts.map +1 -1
  195. package/dist/components/inputs/time-field/time-field.template.js +7 -1
  196. package/dist/components/inputs/time-field/time-field.template.js.map +1 -1
  197. package/dist/components/inputs/time-picker/time-picker.d.ts +3 -0
  198. package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
  199. package/dist/components/inputs/time-picker/time-picker.js +4 -1
  200. package/dist/components/inputs/time-picker/time-picker.js.map +1 -1
  201. package/dist/components/inputs/toggle-button/toggle-button.d.ts +10 -0
  202. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  203. package/dist/components/inputs/toggle-button/toggle-button.js +14 -0
  204. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  205. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +11 -0
  206. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  207. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +16 -6
  208. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  209. package/dist/components/inputs/token-field/token-field.d.ts +6 -0
  210. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
  211. package/dist/components/inputs/token-field/token-field.js +13 -0
  212. package/dist/components/inputs/token-field/token-field.js.map +1 -1
  213. package/dist/components/layout/box/box.d.ts +3 -3
  214. package/dist/components/layout/box/box.d.ts.map +1 -1
  215. package/dist/components/layout/box/box.js +3 -3
  216. package/dist/components/layout/box/box.js.map +1 -1
  217. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  218. package/dist/components/layout/box/box.styles.js +3 -6
  219. package/dist/components/layout/box/box.styles.js.map +1 -1
  220. package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
  221. package/dist/components/layout/sheet/sheet.styles.js +10 -3
  222. package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
  223. package/dist/components/lists-and-tables/list/list.d.ts +60 -45
  224. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  225. package/dist/components/lists-and-tables/list/list.js +94 -80
  226. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  227. package/dist/components/lists-and-tables/list-item/list-item.d.ts +94 -21
  228. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  229. package/dist/components/lists-and-tables/list-item/list-item.js +275 -48
  230. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  231. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  232. package/dist/components/lists-and-tables/list-item/list-item.styles.js +116 -34
  233. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  234. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  235. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  236. package/dist/components/lists-and-tables/list-item/list-item.template.js +5 -2
  237. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  238. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts +116 -0
  239. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts.map +1 -0
  240. package/dist/components/lists-and-tables/{list-item-action/list-item-action.js → list-item-segment/list-item-segment.js} +77 -52
  241. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js.map +1 -0
  242. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts +2 -0
  243. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts.map +1 -0
  244. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js +179 -0
  245. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js.map +1 -0
  246. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts +3 -0
  247. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts.map +1 -0
  248. package/dist/components/lists-and-tables/{list-item-action/list-item-action.template.js → list-item-segment/list-item-segment.template.js} +5 -4
  249. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.js.map +1 -0
  250. package/dist/components/reflect-non-default-OLaK60rT.js +37 -0
  251. package/dist/components/rolldown-runtime-D7D4PA-g.js +13 -0
  252. package/dist/components/shadow-resets-aG-rgyNQ.js +61 -0
  253. package/dist/components/shell-C61GCsJA.js +223 -0
  254. package/dist/components/status-and-feedback/badge/badge.d.ts +8 -2
  255. package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
  256. package/dist/components/status-and-feedback/badge/badge.js +17 -1
  257. package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
  258. package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
  259. package/dist/components/status-and-feedback/badge/badge.styles.js +35 -6
  260. package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
  261. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.d.ts.map +1 -1
  262. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js +7 -0
  263. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js.map +1 -1
  264. package/dist/components/toml-C2HBbPgG.js +59 -0
  265. package/dist/components/visibility-mixin-GxbwkBb1.js +104 -0
  266. package/dist/components/with-translations-DzAdFTK8.js +48 -0
  267. package/dist/css/variables.css +25 -1
  268. package/dist/nldd.min.js +2797 -2355
  269. package/dist/types/vue.d.ts +106 -48
  270. package/dist/utilities/implicit-submission.d.ts +31 -0
  271. package/dist/utilities/implicit-submission.d.ts.map +1 -0
  272. package/dist/utilities/implicit-submission.js +65 -0
  273. package/dist/utilities/implicit-submission.js.map +1 -0
  274. package/dist/utilities/owned-attribute.d.ts +19 -0
  275. package/dist/utilities/owned-attribute.d.ts.map +1 -0
  276. package/dist/utilities/owned-attribute.js +32 -0
  277. package/dist/utilities/owned-attribute.js.map +1 -0
  278. package/dist/utilities/scroll-mode-controller.d.ts +9 -1
  279. package/dist/utilities/scroll-mode-controller.d.ts.map +1 -1
  280. package/dist/utilities/scroll-mode-controller.js +10 -2
  281. package/dist/utilities/scroll-mode-controller.js.map +1 -1
  282. package/package.json +10 -6
  283. package/dist/components/gherkin-DhZlEZiy.js +0 -115
  284. package/dist/components/index-8pDDdMeW.js +0 -384
  285. package/dist/components/index-C7QocEcT.js +0 -81
  286. package/dist/components/index-CDz7-C9c.js +0 -177
  287. package/dist/components/index-CWQunWUb.js +0 -75039
  288. package/dist/components/index-CoY3JfIy.js +0 -688
  289. package/dist/components/index-DP9dl7P7.js +0 -703
  290. package/dist/components/index-DV_2YpaH.js +0 -405
  291. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts +0 -108
  292. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts.map +0 -1
  293. package/dist/components/lists-and-tables/list-item-action/list-item-action.js.map +0 -1
  294. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts +0 -2
  295. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts.map +0 -1
  296. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js +0 -145
  297. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js.map +0 -1
  298. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts +0 -3
  299. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts.map +0 -1
  300. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js.map +0 -1
  301. package/dist/components/shell-BlsXDxCn.js +0 -222
  302. package/dist/components/toml-BOuWGMcf.js +0 -76
@@ -0,0 +1,624 @@
1
+ import { A as syntaxTree, C as indentNodeProp, M as styleTags, N as tags, m as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, y as foldNodeProp } from "./dist-Ccw7ZfsU.js";
2
+ import { a as ifNotIn, r as completeFromList } from "./dist-C400RcFU.js";
3
+ //#region node_modules/@codemirror/lang-sql/dist/index.js
4
+ var whitespace = 36;
5
+ var LineComment = 1;
6
+ var BlockComment = 2;
7
+ var String$1 = 3;
8
+ var Number = 4;
9
+ var Bool = 5;
10
+ var Null = 6;
11
+ var ParenL = 7;
12
+ var ParenR = 8;
13
+ var BraceL = 9;
14
+ var BraceR = 10;
15
+ var BracketL = 11;
16
+ var BracketR = 12;
17
+ var Semi = 13;
18
+ var Dot = 14;
19
+ var Operator = 15;
20
+ var Punctuation = 16;
21
+ var SpecialVar = 17;
22
+ var Identifier = 18;
23
+ var QuotedIdentifier = 19;
24
+ var Keyword = 20;
25
+ var Type = 21;
26
+ var Bits = 22;
27
+ var Bytes = 23;
28
+ var Builtin = 24;
29
+ function isAlpha(ch) {
30
+ return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57;
31
+ }
32
+ function isHexDigit(ch) {
33
+ return ch >= 48 && ch <= 57 || ch >= 97 && ch <= 102 || ch >= 65 && ch <= 70;
34
+ }
35
+ function readLiteral(input, endQuote, backslashEscapes) {
36
+ for (let escaped = false;;) {
37
+ if (input.next < 0) return;
38
+ if (input.next == endQuote && !escaped) {
39
+ input.advance();
40
+ return;
41
+ }
42
+ escaped = backslashEscapes && !escaped && input.next == 92;
43
+ input.advance();
44
+ }
45
+ }
46
+ function readDoubleDollarLiteral(input, tag) {
47
+ scan: for (;;) {
48
+ if (input.next < 0) return;
49
+ if (input.next == 36) {
50
+ input.advance();
51
+ for (let i = 0; i < tag.length; i++) {
52
+ if (input.next != tag.charCodeAt(i)) continue scan;
53
+ input.advance();
54
+ }
55
+ if (input.next == 36) {
56
+ input.advance();
57
+ return;
58
+ }
59
+ } else input.advance();
60
+ }
61
+ }
62
+ function readPLSQLQuotedLiteral(input, openDelim) {
63
+ let matchingDelim = "[{<(".indexOf(String.fromCharCode(openDelim));
64
+ let closeDelim = matchingDelim < 0 ? openDelim : "]}>)".charCodeAt(matchingDelim);
65
+ for (;;) {
66
+ if (input.next < 0) return;
67
+ if (input.next == closeDelim && input.peek(1) == 39) {
68
+ input.advance(2);
69
+ return;
70
+ }
71
+ input.advance();
72
+ }
73
+ }
74
+ function readWord(input, result) {
75
+ for (;;) {
76
+ if (input.next != 95 && !isAlpha(input.next)) break;
77
+ if (result != null) result += String.fromCharCode(input.next);
78
+ input.advance();
79
+ }
80
+ return result;
81
+ }
82
+ function readWordOrQuoted(input) {
83
+ if (input.next == 39 || input.next == 34 || input.next == 96) {
84
+ let quote = input.next;
85
+ input.advance();
86
+ readLiteral(input, quote, false);
87
+ } else readWord(input);
88
+ }
89
+ function readBits(input, endQuote) {
90
+ while (input.next == 48 || input.next == 49) input.advance();
91
+ if (endQuote && input.next == endQuote) input.advance();
92
+ }
93
+ function readNumber(input, sawDot) {
94
+ for (;;) {
95
+ if (input.next == 46) {
96
+ if (sawDot) break;
97
+ sawDot = true;
98
+ } else if (input.next < 48 || input.next > 57) break;
99
+ input.advance();
100
+ }
101
+ if (input.next == 69 || input.next == 101) {
102
+ input.advance();
103
+ if (input.next == 43 || input.next == 45) input.advance();
104
+ while (input.next >= 48 && input.next <= 57) input.advance();
105
+ }
106
+ }
107
+ function eol(input) {
108
+ while (!(input.next < 0 || input.next == 10)) input.advance();
109
+ }
110
+ function inString(ch, str) {
111
+ for (let i = 0; i < str.length; i++) if (str.charCodeAt(i) == ch) return true;
112
+ return false;
113
+ }
114
+ var Space = " \r\n";
115
+ function keywords(keywords, types, builtin) {
116
+ let result = Object.create(null);
117
+ result["true"] = result["false"] = Bool;
118
+ result["null"] = result["unknown"] = Null;
119
+ for (let kw of keywords.split(" ")) if (kw) result[kw] = Keyword;
120
+ for (let tp of types.split(" ")) if (tp) result[tp] = Type;
121
+ for (let kw of (builtin || "").split(" ")) if (kw) result[kw] = Builtin;
122
+ return result;
123
+ }
124
+ var defaults = {
125
+ backslashEscapes: false,
126
+ hashComments: false,
127
+ spaceAfterDashes: false,
128
+ slashComments: false,
129
+ doubleQuotedStrings: false,
130
+ doubleDollarQuotedStrings: false,
131
+ unquotedBitLiterals: false,
132
+ treatBitsAsBytes: false,
133
+ charSetCasts: false,
134
+ plsqlQuotingMechanism: false,
135
+ operatorChars: "*+-%<>!=&|~^/",
136
+ specialVar: "?",
137
+ identifierQuotes: "\"",
138
+ caseInsensitiveIdentifiers: false,
139
+ words: /*@__PURE__*/ keywords("absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ", "array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ")
140
+ };
141
+ function dialect(spec, kws, types, builtin) {
142
+ let dialect = {};
143
+ for (let prop in defaults) dialect[prop] = (spec.hasOwnProperty(prop) ? spec : defaults)[prop];
144
+ if (kws) dialect.words = keywords(kws, types || "", builtin);
145
+ return dialect;
146
+ }
147
+ function tokensFor(d) {
148
+ return new ExternalTokenizer((input) => {
149
+ var _a;
150
+ let { next } = input;
151
+ input.advance();
152
+ if (inString(next, Space)) {
153
+ while (inString(input.next, Space)) input.advance();
154
+ input.acceptToken(whitespace);
155
+ } else if (next == 36 && d.doubleDollarQuotedStrings) {
156
+ let tag = readWord(input, "");
157
+ if (input.next == 36) {
158
+ input.advance();
159
+ readDoubleDollarLiteral(input, tag);
160
+ input.acceptToken(String$1);
161
+ }
162
+ } else if (next == 39 || next == 34 && d.doubleQuotedStrings) {
163
+ readLiteral(input, next, d.backslashEscapes);
164
+ input.acceptToken(String$1);
165
+ } else if (next == 35 && d.hashComments || next == 47 && input.next == 47 && d.slashComments) {
166
+ eol(input);
167
+ input.acceptToken(LineComment);
168
+ } else if (next == 45 && input.next == 45 && (!d.spaceAfterDashes || input.peek(1) == 32)) {
169
+ eol(input);
170
+ input.acceptToken(LineComment);
171
+ } else if (next == 47 && input.next == 42) {
172
+ input.advance();
173
+ for (let depth = 1;;) {
174
+ let cur = input.next;
175
+ if (input.next < 0) break;
176
+ input.advance();
177
+ if (cur == 42 && input.next == 47) {
178
+ depth--;
179
+ input.advance();
180
+ if (!depth) break;
181
+ } else if (cur == 47 && input.next == 42) {
182
+ depth++;
183
+ input.advance();
184
+ }
185
+ }
186
+ input.acceptToken(BlockComment);
187
+ } else if ((next == 101 || next == 69) && input.next == 39) {
188
+ input.advance();
189
+ readLiteral(input, 39, true);
190
+ input.acceptToken(String$1);
191
+ } else if ((next == 110 || next == 78) && input.next == 39 && d.charSetCasts) {
192
+ input.advance();
193
+ readLiteral(input, 39, d.backslashEscapes);
194
+ input.acceptToken(String$1);
195
+ } else if (next == 95 && d.charSetCasts) for (let i = 0;; i++) {
196
+ if (input.next == 39 && i > 1) {
197
+ input.advance();
198
+ readLiteral(input, 39, d.backslashEscapes);
199
+ input.acceptToken(String$1);
200
+ break;
201
+ }
202
+ if (!isAlpha(input.next)) break;
203
+ input.advance();
204
+ }
205
+ else if (d.plsqlQuotingMechanism && (next == 113 || next == 81) && input.next == 39 && input.peek(1) > 0 && !inString(input.peek(1), Space)) {
206
+ let openDelim = input.peek(1);
207
+ input.advance(2);
208
+ readPLSQLQuotedLiteral(input, openDelim);
209
+ input.acceptToken(String$1);
210
+ } else if (inString(next, d.identifierQuotes)) {
211
+ readLiteral(input, next == 91 ? 93 : next, false);
212
+ input.acceptToken(QuotedIdentifier);
213
+ } else if (next == 40) input.acceptToken(ParenL);
214
+ else if (next == 41) input.acceptToken(ParenR);
215
+ else if (next == 123) input.acceptToken(BraceL);
216
+ else if (next == 125) input.acceptToken(BraceR);
217
+ else if (next == 91) input.acceptToken(BracketL);
218
+ else if (next == 93) input.acceptToken(BracketR);
219
+ else if (next == 59) input.acceptToken(Semi);
220
+ else if (d.unquotedBitLiterals && next == 48 && input.next == 98) {
221
+ input.advance();
222
+ readBits(input);
223
+ input.acceptToken(Bits);
224
+ } else if ((next == 98 || next == 66) && (input.next == 39 || input.next == 34)) {
225
+ const quoteStyle = input.next;
226
+ input.advance();
227
+ if (d.treatBitsAsBytes) {
228
+ readLiteral(input, quoteStyle, d.backslashEscapes);
229
+ input.acceptToken(Bytes);
230
+ } else {
231
+ readBits(input, quoteStyle);
232
+ input.acceptToken(Bits);
233
+ }
234
+ } else if (next == 48 && (input.next == 120 || input.next == 88) || (next == 120 || next == 88) && input.next == 39) {
235
+ let quoted = input.next == 39;
236
+ input.advance();
237
+ while (isHexDigit(input.next)) input.advance();
238
+ if (quoted && input.next == 39) input.advance();
239
+ input.acceptToken(Number);
240
+ } else if (next == 46 && input.next >= 48 && input.next <= 57) {
241
+ readNumber(input, true);
242
+ input.acceptToken(Number);
243
+ } else if (next == 46) input.acceptToken(Dot);
244
+ else if (next >= 48 && next <= 57) {
245
+ readNumber(input, false);
246
+ input.acceptToken(Number);
247
+ } else if (inString(next, d.operatorChars)) {
248
+ while (inString(input.next, d.operatorChars)) input.advance();
249
+ input.acceptToken(Operator);
250
+ } else if (inString(next, d.specialVar)) {
251
+ if (input.next == next) input.advance();
252
+ readWordOrQuoted(input);
253
+ input.acceptToken(SpecialVar);
254
+ } else if (next == 58 || next == 44) input.acceptToken(Punctuation);
255
+ else if (isAlpha(next)) {
256
+ let word = readWord(input, String.fromCharCode(next));
257
+ input.acceptToken(input.next == 46 || input.peek(-word.length - 1) == 46 ? Identifier : (_a = d.words[word.toLowerCase()]) !== null && _a !== void 0 ? _a : Identifier);
258
+ }
259
+ });
260
+ }
261
+ var tokens = /*@__PURE__*/ tokensFor(defaults);
262
+ var parser$1 = /*@__PURE__*/ LRParser.deserialize({
263
+ version: 14,
264
+ states: "%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",
265
+ stateData: ",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",
266
+ goto: "#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",
267
+ nodeNames: "⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",
268
+ maxTerm: 38,
269
+ nodeProps: [[
270
+ "isolate",
271
+ -4,
272
+ 1,
273
+ 2,
274
+ 3,
275
+ 19,
276
+ ""
277
+ ]],
278
+ skippedNodes: [
279
+ 0,
280
+ 1,
281
+ 2
282
+ ],
283
+ repeatNodeCount: 3,
284
+ tokenData: "RORO",
285
+ tokenizers: [0, tokens],
286
+ topRules: { "Script": [0, 25] },
287
+ tokenPrec: 0
288
+ });
289
+ function tokenBefore(tree) {
290
+ let cursor = tree.cursor().moveTo(tree.from, -1);
291
+ while (/Comment/.test(cursor.name)) cursor.moveTo(cursor.from, -1);
292
+ return cursor.node;
293
+ }
294
+ function idName(doc, node) {
295
+ let text = doc.sliceString(node.from, node.to);
296
+ let quoted = /^([`'"\[])(.*)([`'"\]])$/.exec(text);
297
+ return quoted ? quoted[2] : text;
298
+ }
299
+ function plainID(node) {
300
+ return node && (node.name == "Identifier" || node.name == "QuotedIdentifier");
301
+ }
302
+ function pathFor(doc, id) {
303
+ if (id.name == "CompositeIdentifier") {
304
+ let path = [];
305
+ for (let ch = id.firstChild; ch; ch = ch.nextSibling) if (plainID(ch)) path.push(idName(doc, ch));
306
+ return path;
307
+ }
308
+ return [idName(doc, id)];
309
+ }
310
+ function parentsFor(doc, node) {
311
+ for (let path = [];;) {
312
+ if (!node || node.name != ".") return path;
313
+ let name = tokenBefore(node);
314
+ if (!plainID(name)) return path;
315
+ path.unshift(idName(doc, name));
316
+ node = tokenBefore(name);
317
+ }
318
+ }
319
+ function sourceContext(state, startPos) {
320
+ let pos = syntaxTree(state).resolveInner(startPos, -1);
321
+ let aliases = getAliases(state.doc, pos);
322
+ if (pos.name == "Identifier" || pos.name == "QuotedIdentifier" || pos.name == "Keyword") return {
323
+ from: pos.from,
324
+ quoted: pos.name == "QuotedIdentifier" ? state.doc.sliceString(pos.from, pos.from + 1) : null,
325
+ parents: parentsFor(state.doc, tokenBefore(pos)),
326
+ aliases
327
+ };
328
+ if (pos.name == ".") return {
329
+ from: startPos,
330
+ quoted: null,
331
+ parents: parentsFor(state.doc, pos),
332
+ aliases
333
+ };
334
+ else return {
335
+ from: startPos,
336
+ quoted: null,
337
+ parents: [],
338
+ empty: true,
339
+ aliases
340
+ };
341
+ }
342
+ var EndFrom = /*@__PURE__*/ new Set(/*@__PURE__*/ "where group having order union intersect except all distinct limit offset fetch for".split(" "));
343
+ function getAliases(doc, at) {
344
+ let statement;
345
+ for (let parent = at; !statement; parent = parent.parent) {
346
+ if (!parent) return null;
347
+ if (parent.name == "Statement") statement = parent;
348
+ }
349
+ let aliases = null;
350
+ for (let scan = statement.firstChild, sawFrom = false, prevID = null; scan; scan = scan.nextSibling) {
351
+ let kw = scan.name == "Keyword" ? doc.sliceString(scan.from, scan.to).toLowerCase() : null;
352
+ let alias = null;
353
+ if (!sawFrom) sawFrom = kw == "from";
354
+ else if (kw == "as" && prevID && plainID(scan.nextSibling)) alias = idName(doc, scan.nextSibling);
355
+ else if (kw && EndFrom.has(kw)) break;
356
+ else if (prevID && plainID(scan)) alias = idName(doc, scan);
357
+ if (alias) {
358
+ if (!aliases) aliases = Object.create(null);
359
+ aliases[alias] = pathFor(doc, prevID);
360
+ }
361
+ prevID = /Identifier$/.test(scan.name) ? scan : null;
362
+ }
363
+ return aliases;
364
+ }
365
+ function maybeQuoteCompletions(openingQuote, closingQuote, completions) {
366
+ return completions.map((c) => ({
367
+ ...c,
368
+ label: c.label[0] == openingQuote ? c.label : openingQuote + c.label + closingQuote,
369
+ apply: void 0
370
+ }));
371
+ }
372
+ var Span = /^\w*$/;
373
+ var QuotedSpan = /^[`'"\[]?\w*[`'"\]]?$/;
374
+ function isSelfTag(namespace) {
375
+ return namespace.self && typeof namespace.self.label == "string";
376
+ }
377
+ var CompletionLevel = class CompletionLevel {
378
+ constructor(idQuote, idCaseInsensitive) {
379
+ this.idQuote = idQuote;
380
+ this.idCaseInsensitive = idCaseInsensitive;
381
+ this.list = [];
382
+ this.children = void 0;
383
+ }
384
+ child(name) {
385
+ let children = this.children || (this.children = Object.create(null));
386
+ let found = children[name];
387
+ if (found) return found;
388
+ if (name && !this.list.some((c) => c.label == name)) this.list.push(nameCompletion(name, "type", this.idQuote, this.idCaseInsensitive));
389
+ return children[name] = new CompletionLevel(this.idQuote, this.idCaseInsensitive);
390
+ }
391
+ maybeChild(name) {
392
+ return this.children ? this.children[name] : null;
393
+ }
394
+ addCompletion(option) {
395
+ let found = this.list.findIndex((o) => o.label == option.label);
396
+ if (found > -1) this.list[found] = option;
397
+ else this.list.push(option);
398
+ }
399
+ addCompletions(completions) {
400
+ for (let option of completions) this.addCompletion(typeof option == "string" ? nameCompletion(option, "property", this.idQuote, this.idCaseInsensitive) : option);
401
+ }
402
+ addNamespace(namespace) {
403
+ if (Array.isArray(namespace)) this.addCompletions(namespace);
404
+ else if (isSelfTag(namespace)) this.addNamespace(namespace.children);
405
+ else this.addNamespaceObject(namespace);
406
+ }
407
+ addNamespaceObject(namespace) {
408
+ for (let name of Object.keys(namespace)) {
409
+ let children = namespace[name], self = null;
410
+ let parts = name.replace(/\\?\./g, (p) => p == "." ? "\0" : p).split("\0");
411
+ let scope = this;
412
+ if (isSelfTag(children)) {
413
+ self = children.self;
414
+ children = children.children;
415
+ }
416
+ for (let i = 0; i < parts.length; i++) {
417
+ if (self && i == parts.length - 1) scope.addCompletion(self);
418
+ scope = scope.child(parts[i].replace(/\\\./g, "."));
419
+ }
420
+ scope.addNamespace(children);
421
+ }
422
+ }
423
+ };
424
+ function nameCompletion(label, type, idQuote, idCaseInsensitive) {
425
+ if (new RegExp("^[a-z_][a-z_\\d]*$", idCaseInsensitive ? "i" : "").test(label)) return {
426
+ label,
427
+ type
428
+ };
429
+ return {
430
+ label,
431
+ type,
432
+ apply: idQuote + label + getClosingQuote(idQuote)
433
+ };
434
+ }
435
+ function getClosingQuote(openingQuote) {
436
+ return openingQuote === "[" ? "]" : openingQuote;
437
+ }
438
+ function completeFromSchema(schema, tables, schemas, defaultTableName, defaultSchemaName, dialect) {
439
+ var _a;
440
+ let top = new CompletionLevel(((_a = dialect === null || dialect === void 0 ? void 0 : dialect.spec.identifierQuotes) === null || _a === void 0 ? void 0 : _a[0]) || "\"", !!(dialect === null || dialect === void 0 ? void 0 : dialect.spec.caseInsensitiveIdentifiers));
441
+ let defaultSchema = defaultSchemaName ? top.child(defaultSchemaName) : null;
442
+ top.addNamespace(schema);
443
+ if (tables) (defaultSchema || top).addCompletions(tables);
444
+ if (schemas) top.addCompletions(schemas);
445
+ if (defaultSchema) top.addCompletions(defaultSchema.list);
446
+ if (defaultTableName) top.addCompletions((defaultSchema || top).child(defaultTableName).list);
447
+ return (context) => {
448
+ let { parents, from, quoted, empty, aliases } = sourceContext(context.state, context.pos);
449
+ if (empty && !context.explicit) return null;
450
+ if (aliases && parents.length == 1) parents = aliases[parents[0]] || parents;
451
+ let level = top;
452
+ for (let name of parents) {
453
+ while (!level.children || !level.children[name]) if (level == top && defaultSchema) level = defaultSchema;
454
+ else if (level == defaultSchema && defaultTableName) level = level.child(defaultTableName);
455
+ else return null;
456
+ let next = level.maybeChild(name);
457
+ if (!next) return null;
458
+ level = next;
459
+ }
460
+ let options = level.list;
461
+ if (level == top && aliases) options = options.concat(Object.keys(aliases).map((name) => ({
462
+ label: name,
463
+ type: "constant"
464
+ })));
465
+ if (quoted) {
466
+ let openingQuote = quoted[0];
467
+ let closingQuote = getClosingQuote(openingQuote);
468
+ return {
469
+ from,
470
+ to: context.state.sliceDoc(context.pos, context.pos + 1) == closingQuote ? context.pos + 1 : void 0,
471
+ options: maybeQuoteCompletions(openingQuote, closingQuote, options),
472
+ validFor: QuotedSpan
473
+ };
474
+ } else return {
475
+ from,
476
+ options,
477
+ validFor: Span
478
+ };
479
+ };
480
+ }
481
+ function completionType(tokenType) {
482
+ return tokenType == Type ? "type" : tokenType == Keyword ? "keyword" : "variable";
483
+ }
484
+ function completeKeywords(keywords, upperCase, build) {
485
+ let completions = Object.keys(keywords).map((keyword) => build(upperCase ? keyword.toUpperCase() : keyword, completionType(keywords[keyword])));
486
+ return ifNotIn([
487
+ "QuotedIdentifier",
488
+ "String",
489
+ "LineComment",
490
+ "BlockComment",
491
+ "."
492
+ ], completeFromList(completions));
493
+ }
494
+ var parser = /*@__PURE__*/ parser$1.configure({ props: [
495
+ /*@__PURE__*/ indentNodeProp.add({ Statement: /*@__PURE__*/ continuedIndent() }),
496
+ /*@__PURE__*/ foldNodeProp.add({
497
+ Statement(tree, state) {
498
+ return {
499
+ from: Math.min(tree.from + 100, state.doc.lineAt(tree.from).to),
500
+ to: tree.to
501
+ };
502
+ },
503
+ BlockComment(tree) {
504
+ return {
505
+ from: tree.from + 2,
506
+ to: tree.to - 2
507
+ };
508
+ }
509
+ }),
510
+ /*@__PURE__*/ styleTags({
511
+ Keyword: tags.keyword,
512
+ Type: tags.typeName,
513
+ Builtin: /*@__PURE__*/ tags.standard(tags.name),
514
+ Bits: tags.number,
515
+ Bytes: tags.string,
516
+ Bool: tags.bool,
517
+ Null: tags.null,
518
+ Number: tags.number,
519
+ String: tags.string,
520
+ Identifier: tags.name,
521
+ QuotedIdentifier: /*@__PURE__*/ tags.special(tags.string),
522
+ SpecialVar: /*@__PURE__*/ tags.special(tags.name),
523
+ LineComment: tags.lineComment,
524
+ BlockComment: tags.blockComment,
525
+ Operator: tags.operator,
526
+ "Semi Punctuation": tags.punctuation,
527
+ "( )": tags.paren,
528
+ "{ }": tags.brace,
529
+ "[ ]": tags.squareBracket
530
+ })
531
+ ] });
532
+ /**
533
+ Represents an SQL dialect.
534
+ */
535
+ var SQLDialect = class SQLDialect {
536
+ constructor(dialect, language, spec) {
537
+ this.dialect = dialect;
538
+ this.language = language;
539
+ this.spec = spec;
540
+ }
541
+ /**
542
+ Returns the language for this dialect as an extension.
543
+ */
544
+ get extension() {
545
+ return this.language.extension;
546
+ }
547
+ /**
548
+ Reconfigure the parser used by this dialect. Returns a new
549
+ dialect object.
550
+ */
551
+ configureLanguage(options, name) {
552
+ return new SQLDialect(this.dialect, this.language.configure(options, name), this.spec);
553
+ }
554
+ /**
555
+ Define a new dialect.
556
+ */
557
+ static define(spec) {
558
+ let d = dialect(spec, spec.keywords, spec.types, spec.builtin);
559
+ let language = LRLanguage.define({
560
+ name: "sql",
561
+ parser: parser.configure({ tokenizers: [{
562
+ from: tokens,
563
+ to: tokensFor(d)
564
+ }] }),
565
+ languageData: {
566
+ commentTokens: {
567
+ line: "--",
568
+ block: {
569
+ open: "/*",
570
+ close: "*/"
571
+ }
572
+ },
573
+ closeBrackets: { brackets: [
574
+ "(",
575
+ "[",
576
+ "{",
577
+ "'",
578
+ "\"",
579
+ "`"
580
+ ] }
581
+ }
582
+ });
583
+ return new SQLDialect(d, language, spec);
584
+ }
585
+ };
586
+ function defaultKeyword(label, type) {
587
+ return {
588
+ label,
589
+ type,
590
+ boost: -1
591
+ };
592
+ }
593
+ /**
594
+ Returns a completion source that provides keyword completion for
595
+ the given SQL dialect.
596
+ */
597
+ function keywordCompletionSource(dialect, upperCase = false, build) {
598
+ return completeKeywords(dialect.dialect.words, upperCase, build || defaultKeyword);
599
+ }
600
+ /**
601
+ Returns a completion sources that provides schema-based completion
602
+ for the given configuration.
603
+ */
604
+ function schemaCompletionSource(config) {
605
+ return config.schema ? completeFromSchema(config.schema, config.tables, config.schemas, config.defaultTable, config.defaultSchema, config.dialect || StandardSQL) : () => null;
606
+ }
607
+ function schemaCompletion(config) {
608
+ return config.schema ? (config.dialect || StandardSQL).language.data.of({ autocomplete: schemaCompletionSource(config) }) : [];
609
+ }
610
+ /**
611
+ SQL language support for the given SQL dialect, with keyword
612
+ completion, and, if provided, schema-based completion as extra
613
+ extensions.
614
+ */
615
+ function sql(config = {}) {
616
+ let lang = config.dialect || StandardSQL;
617
+ return new LanguageSupport(lang.language, [schemaCompletion(config), lang.language.data.of({ autocomplete: keywordCompletionSource(lang, config.upperCaseKeywords, config.keywordCompletion) })]);
618
+ }
619
+ /**
620
+ The standard SQL dialect.
621
+ */
622
+ var StandardSQL = /*@__PURE__*/ SQLDialect.define({});
623
+ //#endregion
624
+ export { sql };