@welldot/vue 0.0.0-stage → 0.1.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 (293) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +526 -2
  3. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  4. package/dist/_virtual/icons/ph/caret-down.js +21 -0
  5. package/dist/_virtual/icons/ph/caret-down.js.map +1 -0
  6. package/dist/_virtual/icons/ph/info.js +21 -0
  7. package/dist/_virtual/icons/ph/info.js.map +1 -0
  8. package/dist/_virtual/icons/ph/pencil-simple-line.js +21 -0
  9. package/dist/_virtual/icons/ph/pencil-simple-line.js.map +1 -0
  10. package/dist/_virtual/icons/ph/pencil-simple.js +21 -0
  11. package/dist/_virtual/icons/ph/pencil-simple.js.map +1 -0
  12. package/dist/_virtual/icons/ph/plus.js +21 -0
  13. package/dist/_virtual/icons/ph/plus.js.map +1 -0
  14. package/dist/_virtual/icons/ph/x.js +21 -0
  15. package/dist/_virtual/icons/ph/x.js.map +1 -0
  16. package/dist/components/WellChip.d.ts +30 -0
  17. package/dist/components/WellChip.d.ts.map +1 -0
  18. package/dist/components/WellChip.js +9 -0
  19. package/dist/components/WellChip.js.map +1 -0
  20. package/dist/components/WellChip.vue_vue_type_script_setup_true_lang.js +43 -0
  21. package/dist/components/WellChip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  22. package/dist/components/WellComboSelect.d.ts +19 -0
  23. package/dist/components/WellComboSelect.d.ts.map +1 -0
  24. package/dist/components/WellComboSelect.js +7 -0
  25. package/dist/components/WellComboSelect.js.map +1 -0
  26. package/dist/components/WellComboSelect.vue_vue_type_script_setup_true_lang.js +31 -0
  27. package/dist/components/WellComboSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  28. package/dist/components/WellInfoPopover.d.ts +31 -0
  29. package/dist/components/WellInfoPopover.d.ts.map +1 -0
  30. package/dist/components/WellInfoPopover.js +7 -0
  31. package/dist/components/WellInfoPopover.js.map +1 -0
  32. package/dist/components/WellInfoPopover.vue_vue_type_script_setup_true_lang.js +50 -0
  33. package/dist/components/WellInfoPopover.vue_vue_type_script_setup_true_lang.js.map +1 -0
  34. package/dist/components/WellInputNumber.d.ts +4 -0
  35. package/dist/components/WellInputNumber.d.ts.map +1 -0
  36. package/dist/components/WellInputNumber.js +7 -0
  37. package/dist/components/WellInputNumber.js.map +1 -0
  38. package/dist/components/WellInputNumber.vue_vue_type_script_setup_true_lang.js +16 -0
  39. package/dist/components/WellInputNumber.vue_vue_type_script_setup_true_lang.js.map +1 -0
  40. package/dist/components/WellLabeledField.d.ts +22 -0
  41. package/dist/components/WellLabeledField.d.ts.map +1 -0
  42. package/dist/components/WellLabeledField.js +7 -0
  43. package/dist/components/WellLabeledField.js.map +1 -0
  44. package/dist/components/WellLabeledField.vue_vue_type_script_setup_true_lang.js +32 -0
  45. package/dist/components/WellLabeledField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  46. package/dist/components/WellTagSelect.d.ts +21 -0
  47. package/dist/components/WellTagSelect.d.ts.map +1 -0
  48. package/dist/components/WellTagSelect.js +7 -0
  49. package/dist/components/WellTagSelect.js.map +1 -0
  50. package/dist/components/WellTagSelect.vue_vue_type_script_setup_true_lang.js +66 -0
  51. package/dist/components/WellTagSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  52. package/dist/components/WellTextureSelect.d.ts +30 -0
  53. package/dist/components/WellTextureSelect.d.ts.map +1 -0
  54. package/dist/components/WellTextureSelect.js +7 -0
  55. package/dist/components/WellTextureSelect.js.map +1 -0
  56. package/dist/components/WellTextureSelect.vue_vue_type_script_setup_true_lang.js +103 -0
  57. package/dist/components/WellTextureSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  58. package/dist/components/WellTextureThumbnail.d.ts +10 -0
  59. package/dist/components/WellTextureThumbnail.d.ts.map +1 -0
  60. package/dist/components/WellTextureThumbnail.js +9 -0
  61. package/dist/components/WellTextureThumbnail.js.map +1 -0
  62. package/dist/components/WellTextureThumbnail.vue_vue_type_script_setup_true_lang.js +393 -0
  63. package/dist/components/WellTextureThumbnail.vue_vue_type_script_setup_true_lang.js.map +1 -0
  64. package/dist/components/WellUnitInput.d.ts +19 -0
  65. package/dist/components/WellUnitInput.d.ts.map +1 -0
  66. package/dist/components/WellUnitInput.js +7 -0
  67. package/dist/components/WellUnitInput.js.map +1 -0
  68. package/dist/components/WellUnitInput.vue_vue_type_script_setup_true_lang.js +41 -0
  69. package/dist/components/WellUnitInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  70. package/dist/components/parts/WellInfoTrigger.d.ts +8 -0
  71. package/dist/components/parts/WellInfoTrigger.d.ts.map +1 -0
  72. package/dist/components/parts/WellInfoTrigger.js +7 -0
  73. package/dist/components/parts/WellInfoTrigger.js.map +1 -0
  74. package/dist/components/parts/WellInfoTrigger.vue_vue_type_script_setup_true_lang.js +26 -0
  75. package/dist/components/parts/WellInfoTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
  76. package/dist/composables/useWellNumberFormat.d.ts +12 -0
  77. package/dist/composables/useWellNumberFormat.d.ts.map +1 -0
  78. package/dist/composables/useWellNumberFormat.js +25 -0
  79. package/dist/composables/useWellNumberFormat.js.map +1 -0
  80. package/dist/composables/useWellText.d.ts +11 -0
  81. package/dist/composables/useWellText.d.ts.map +1 -0
  82. package/dist/composables/useWellText.js +15 -0
  83. package/dist/composables/useWellText.js.map +1 -0
  84. package/dist/composables/useWellUnits.d.ts +29 -0
  85. package/dist/composables/useWellUnits.d.ts.map +1 -0
  86. package/dist/composables/useWellUnits.js +52 -0
  87. package/dist/composables/useWellUnits.js.map +1 -0
  88. package/dist/config.d.ts +110 -0
  89. package/dist/config.d.ts.map +1 -0
  90. package/dist/config.js +76 -0
  91. package/dist/config.js.map +1 -0
  92. package/dist/grid/WellDataGrid.d.ts +29 -0
  93. package/dist/grid/WellDataGrid.d.ts.map +1 -0
  94. package/dist/grid/WellDataGrid.js +9 -0
  95. package/dist/grid/WellDataGrid.js.map +1 -0
  96. package/dist/grid/WellDataGrid.vue_vue_type_script_setup_true_lang.js +84 -0
  97. package/dist/grid/WellDataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  98. package/dist/grid/cells/GridCheckboxCell.d.ts +10 -0
  99. package/dist/grid/cells/GridCheckboxCell.d.ts.map +1 -0
  100. package/dist/grid/cells/GridCheckboxCell.js +7 -0
  101. package/dist/grid/cells/GridCheckboxCell.js.map +1 -0
  102. package/dist/grid/cells/GridCheckboxCell.vue_vue_type_script_setup_true_lang.js +32 -0
  103. package/dist/grid/cells/GridCheckboxCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  104. package/dist/grid/cells/GridColorCell.d.ts +7 -0
  105. package/dist/grid/cells/GridColorCell.d.ts.map +1 -0
  106. package/dist/grid/cells/GridColorCell.js +7 -0
  107. package/dist/grid/cells/GridColorCell.js.map +1 -0
  108. package/dist/grid/cells/GridColorCell.vue_vue_type_script_setup_true_lang.js +18 -0
  109. package/dist/grid/cells/GridColorCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  110. package/dist/grid/cells/GridColorPickerEditor.d.ts +12 -0
  111. package/dist/grid/cells/GridColorPickerEditor.d.ts.map +1 -0
  112. package/dist/grid/cells/GridColorPickerEditor.js +7 -0
  113. package/dist/grid/cells/GridColorPickerEditor.js.map +1 -0
  114. package/dist/grid/cells/GridColorPickerEditor.vue_vue_type_script_setup_true_lang.js +70 -0
  115. package/dist/grid/cells/GridColorPickerEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  116. package/dist/grid/cells/GridComboEditor.d.ts +14 -0
  117. package/dist/grid/cells/GridComboEditor.d.ts.map +1 -0
  118. package/dist/grid/cells/GridComboEditor.js +7 -0
  119. package/dist/grid/cells/GridComboEditor.js.map +1 -0
  120. package/dist/grid/cells/GridComboEditor.vue_vue_type_script_setup_true_lang.js +177 -0
  121. package/dist/grid/cells/GridComboEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  122. package/dist/grid/cells/GridDeleteCell.d.ts +12 -0
  123. package/dist/grid/cells/GridDeleteCell.d.ts.map +1 -0
  124. package/dist/grid/cells/GridDeleteCell.js +7 -0
  125. package/dist/grid/cells/GridDeleteCell.js.map +1 -0
  126. package/dist/grid/cells/GridDeleteCell.vue_vue_type_script_setup_true_lang.js +33 -0
  127. package/dist/grid/cells/GridDeleteCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  128. package/dist/grid/cells/GridDragCell.d.ts +16 -0
  129. package/dist/grid/cells/GridDragCell.d.ts.map +1 -0
  130. package/dist/grid/cells/GridDragCell.js +7 -0
  131. package/dist/grid/cells/GridDragCell.js.map +1 -0
  132. package/dist/grid/cells/GridDragCell.vue_vue_type_script_setup_true_lang.js +50 -0
  133. package/dist/grid/cells/GridDragCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  134. package/dist/grid/cells/GridFormattedCell.d.ts +9 -0
  135. package/dist/grid/cells/GridFormattedCell.d.ts.map +1 -0
  136. package/dist/grid/cells/GridFormattedCell.js +7 -0
  137. package/dist/grid/cells/GridFormattedCell.js.map +1 -0
  138. package/dist/grid/cells/GridFormattedCell.vue_vue_type_script_setup_true_lang.js +19 -0
  139. package/dist/grid/cells/GridFormattedCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  140. package/dist/grid/cells/GridHeaderCell.d.ts +11 -0
  141. package/dist/grid/cells/GridHeaderCell.d.ts.map +1 -0
  142. package/dist/grid/cells/GridHeaderCell.js +7 -0
  143. package/dist/grid/cells/GridHeaderCell.js.map +1 -0
  144. package/dist/grid/cells/GridHeaderCell.vue_vue_type_script_setup_true_lang.js +35 -0
  145. package/dist/grid/cells/GridHeaderCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  146. package/dist/grid/cells/GridNumberEditor.d.ts +9 -0
  147. package/dist/grid/cells/GridNumberEditor.d.ts.map +1 -0
  148. package/dist/grid/cells/GridNumberEditor.js +7 -0
  149. package/dist/grid/cells/GridNumberEditor.js.map +1 -0
  150. package/dist/grid/cells/GridNumberEditor.vue_vue_type_script_setup_true_lang.js +50 -0
  151. package/dist/grid/cells/GridNumberEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  152. package/dist/grid/cells/GridSelectButtonCell.d.ts +12 -0
  153. package/dist/grid/cells/GridSelectButtonCell.d.ts.map +1 -0
  154. package/dist/grid/cells/GridSelectButtonCell.js +7 -0
  155. package/dist/grid/cells/GridSelectButtonCell.js.map +1 -0
  156. package/dist/grid/cells/GridSelectButtonCell.vue_vue_type_script_setup_true_lang.js +52 -0
  157. package/dist/grid/cells/GridSelectButtonCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  158. package/dist/grid/cells/GridSelectCell.d.ts +9 -0
  159. package/dist/grid/cells/GridSelectCell.d.ts.map +1 -0
  160. package/dist/grid/cells/GridSelectCell.js +7 -0
  161. package/dist/grid/cells/GridSelectCell.js.map +1 -0
  162. package/dist/grid/cells/GridSelectCell.vue_vue_type_script_setup_true_lang.js +18 -0
  163. package/dist/grid/cells/GridSelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  164. package/dist/grid/cells/GridSelectEditor.d.ts +11 -0
  165. package/dist/grid/cells/GridSelectEditor.d.ts.map +1 -0
  166. package/dist/grid/cells/GridSelectEditor.js +7 -0
  167. package/dist/grid/cells/GridSelectEditor.js.map +1 -0
  168. package/dist/grid/cells/GridSelectEditor.vue_vue_type_script_setup_true_lang.js +51 -0
  169. package/dist/grid/cells/GridSelectEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  170. package/dist/grid/cells/GridTextEditor.d.ts +9 -0
  171. package/dist/grid/cells/GridTextEditor.d.ts.map +1 -0
  172. package/dist/grid/cells/GridTextEditor.js +7 -0
  173. package/dist/grid/cells/GridTextEditor.js.map +1 -0
  174. package/dist/grid/cells/GridTextEditor.vue_vue_type_script_setup_true_lang.js +44 -0
  175. package/dist/grid/cells/GridTextEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  176. package/dist/grid/cells/GridTextureSelectCell.d.ts +7 -0
  177. package/dist/grid/cells/GridTextureSelectCell.d.ts.map +1 -0
  178. package/dist/grid/cells/GridTextureSelectCell.js +7 -0
  179. package/dist/grid/cells/GridTextureSelectCell.js.map +1 -0
  180. package/dist/grid/cells/GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js +19 -0
  181. package/dist/grid/cells/GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  182. package/dist/grid/cells/GridTextureSelectEditor.d.ts +13 -0
  183. package/dist/grid/cells/GridTextureSelectEditor.d.ts.map +1 -0
  184. package/dist/grid/cells/GridTextureSelectEditor.js +7 -0
  185. package/dist/grid/cells/GridTextureSelectEditor.js.map +1 -0
  186. package/dist/grid/cells/GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js +49 -0
  187. package/dist/grid/cells/GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  188. package/dist/grid/cells/GridUnitCell.d.ts +9 -0
  189. package/dist/grid/cells/GridUnitCell.d.ts.map +1 -0
  190. package/dist/grid/cells/GridUnitCell.js +7 -0
  191. package/dist/grid/cells/GridUnitCell.js.map +1 -0
  192. package/dist/grid/cells/GridUnitCell.vue_vue_type_script_setup_true_lang.js +29 -0
  193. package/dist/grid/cells/GridUnitCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  194. package/dist/grid/cells/GridUnitEditor.d.ts +11 -0
  195. package/dist/grid/cells/GridUnitEditor.d.ts.map +1 -0
  196. package/dist/grid/cells/GridUnitEditor.js +7 -0
  197. package/dist/grid/cells/GridUnitEditor.js.map +1 -0
  198. package/dist/grid/cells/GridUnitEditor.vue_vue_type_script_setup_true_lang.js +58 -0
  199. package/dist/grid/cells/GridUnitEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
  200. package/dist/grid/columnStretchPlugin.d.ts +12 -0
  201. package/dist/grid/columnStretchPlugin.d.ts.map +1 -0
  202. package/dist/grid/columnStretchPlugin.js +35 -0
  203. package/dist/grid/columnStretchPlugin.js.map +1 -0
  204. package/dist/grid/composables/useCellTemplate.d.ts +35 -0
  205. package/dist/grid/composables/useCellTemplate.d.ts.map +1 -0
  206. package/dist/grid/composables/useCellTemplate.js +30 -0
  207. package/dist/grid/composables/useCellTemplate.js.map +1 -0
  208. package/dist/grid/composables/useGridOverlayFocusGuard.d.ts +5 -0
  209. package/dist/grid/composables/useGridOverlayFocusGuard.d.ts.map +1 -0
  210. package/dist/grid/composables/useGridOverlayFocusGuard.js +12 -0
  211. package/dist/grid/composables/useGridOverlayFocusGuard.js.map +1 -0
  212. package/dist/grid/composables/useUnitSuffix.d.ts +9 -0
  213. package/dist/grid/composables/useUnitSuffix.d.ts.map +1 -0
  214. package/dist/grid/composables/useUnitSuffix.js +13 -0
  215. package/dist/grid/composables/useUnitSuffix.js.map +1 -0
  216. package/dist/grid/index.d.ts +8 -0
  217. package/dist/grid/index.d.ts.map +1 -0
  218. package/dist/grid/index.js +4 -0
  219. package/dist/grid/parts/WellGridAddButton.d.ts +5 -0
  220. package/dist/grid/parts/WellGridAddButton.d.ts.map +1 -0
  221. package/dist/grid/parts/WellGridAddButton.js +7 -0
  222. package/dist/grid/parts/WellGridAddButton.js.map +1 -0
  223. package/dist/grid/parts/WellGridAddButton.vue_vue_type_script_setup_true_lang.js +23 -0
  224. package/dist/grid/parts/WellGridAddButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  225. package/dist/grid/parts/WellGridDeleteButton.d.ts +5 -0
  226. package/dist/grid/parts/WellGridDeleteButton.d.ts.map +1 -0
  227. package/dist/grid/parts/WellGridDeleteButton.js +7 -0
  228. package/dist/grid/parts/WellGridDeleteButton.js.map +1 -0
  229. package/dist/grid/parts/WellGridDeleteButton.vue_vue_type_script_setup_true_lang.js +21 -0
  230. package/dist/grid/parts/WellGridDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  231. package/dist/grid/types.d.ts +90 -0
  232. package/dist/grid/types.d.ts.map +1 -0
  233. package/dist/grid/useWellGridColumns.d.ts +40 -0
  234. package/dist/grid/useWellGridColumns.d.ts.map +1 -0
  235. package/dist/grid/useWellGridColumns.js +242 -0
  236. package/dist/grid/useWellGridColumns.js.map +1 -0
  237. package/dist/grid.css +407 -0
  238. package/dist/index.d.ts +17 -0
  239. package/dist/index.d.ts.map +1 -0
  240. package/dist/index.js +14 -0
  241. package/dist/location/WellCoordinateInput.d.ts +14 -0
  242. package/dist/location/WellCoordinateInput.d.ts.map +1 -0
  243. package/dist/location/WellCoordinateInput.js +7 -0
  244. package/dist/location/WellCoordinateInput.js.map +1 -0
  245. package/dist/location/WellCoordinateInput.vue_vue_type_script_setup_true_lang.js +53 -0
  246. package/dist/location/WellCoordinateInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  247. package/dist/location/WellLocationMap.d.ts +22 -0
  248. package/dist/location/WellLocationMap.d.ts.map +1 -0
  249. package/dist/location/WellLocationMap.js +9 -0
  250. package/dist/location/WellLocationMap.js.map +1 -0
  251. package/dist/location/WellLocationMap.vue_vue_type_script_setup_true_lang.js +91 -0
  252. package/dist/location/WellLocationMap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  253. package/dist/location/WellLocationPicker.d.ts +32 -0
  254. package/dist/location/WellLocationPicker.d.ts.map +1 -0
  255. package/dist/location/WellLocationPicker.js +7 -0
  256. package/dist/location/WellLocationPicker.js.map +1 -0
  257. package/dist/location/WellLocationPicker.vue_vue_type_script_setup_true_lang.js +117 -0
  258. package/dist/location/WellLocationPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  259. package/dist/location/index.d.ts +6 -0
  260. package/dist/location/index.d.ts.map +1 -0
  261. package/dist/location/index.js +5 -0
  262. package/dist/location/location.d.ts +61 -0
  263. package/dist/location/location.d.ts.map +1 -0
  264. package/dist/location/location.js +15 -0
  265. package/dist/location/location.js.map +1 -0
  266. package/dist/nuxt/module.d.ts +76 -0
  267. package/dist/nuxt/module.d.ts.map +1 -0
  268. package/dist/nuxt/module.js +129 -0
  269. package/dist/nuxt/module.js.map +1 -0
  270. package/dist/nuxt/runtime/plugin.d.ts +14 -0
  271. package/dist/nuxt/runtime/plugin.d.ts.map +1 -0
  272. package/dist/nuxt/runtime/plugin.js +13 -0
  273. package/dist/nuxt/runtime/plugin.js.map +1 -0
  274. package/dist/style.css +2 -0
  275. package/dist/tailwind.css +160 -0
  276. package/dist/theme/define.d.ts +44 -0
  277. package/dist/theme/define.d.ts.map +1 -0
  278. package/dist/theme/define.js +14 -0
  279. package/dist/theme/define.js.map +1 -0
  280. package/dist/theme/index.d.ts +5 -0
  281. package/dist/theme/index.d.ts.map +1 -0
  282. package/dist/theme/index.js +4 -0
  283. package/dist/theme/preset.d.ts +20 -0
  284. package/dist/theme/preset.d.ts.map +1 -0
  285. package/dist/theme/preset.js +977 -0
  286. package/dist/theme/preset.js.map +1 -0
  287. package/dist/theme/pt.d.ts +8 -0
  288. package/dist/theme/pt.d.ts.map +1 -0
  289. package/dist/theme/pt.js +66 -0
  290. package/dist/theme/pt.js.map +1 -0
  291. package/dist/types.d.ts +38 -0
  292. package/dist/types.d.ts.map +1 -0
  293. package/package.json +134 -3
@@ -0,0 +1,7 @@
1
+ import e from "./GridTextEditor.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/grid/cells/GridTextEditor.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
6
+
7
+ //# sourceMappingURL=GridTextEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextEditor.js","names":[],"sources":["../../../src/grid/cells/GridTextEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport InputText from 'primevue/inputtext';\nimport { nextTick, onMounted, ref } from 'vue';\n\nconst props = defineProps<{\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst inputRef = ref<{ $el: HTMLInputElement } | null>(null);\n// RevoGrid passes the typed key when editing starts by typing, the cell's\n// current value otherwise.\nconst localValue = ref<string>(\n props.val === undefined || props.val === null ? '' : String(props.val),\n);\n\nonMounted(() =>\n nextTick(() => {\n const el = inputRef.value?.$el;\n if (!el) return;\n el.focus();\n const end = el.value.length;\n el.setSelectionRange(end, end);\n }),\n);\n\nfunction commit(preventFocus = true) {\n props.save(localValue.value, preventFocus);\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n e.stopPropagation();\n commit(false);\n } else if (e.key === 'Escape') {\n e.stopPropagation();\n props.close();\n }\n}\n\nfunction update(value: string | undefined) {\n localValue.value = value || '';\n}\n</script>\n\n<template>\n <p v-show=\"false\" class=\"h-0 w-0\">{{ localValue }}</p>\n <InputText\n ref=\"inputRef\"\n :pt=\"{\n root: 'well-cell-input',\n }\"\n :model-value=\"localValue\"\n @update:model-value=\"update\"\n @blur=\"() => commit(true)\"\n @keydown=\"onKeydown\"\n />\n</template>\n"],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { Fragment as e, createElementBlock as t, createElementVNode as n, createVNode as r, defineComponent as i, nextTick as a, onMounted as o, openBlock as s, ref as c, toDisplayString as l, unref as u, vShow as d, withDirectives as f } from "vue";
2
+ import p from "primevue/inputtext";
3
+ //#region src/grid/cells/GridTextEditor.vue?vue&type=script&setup=true&lang.ts
4
+ var m = /* @__PURE__ */ i({
5
+ inheritAttrs: !1,
6
+ __name: "GridTextEditor",
7
+ props: {
8
+ val: {},
9
+ save: { type: Function },
10
+ close: { type: Function }
11
+ },
12
+ setup(i) {
13
+ let m = i, h = c(null), g = c(m.val === void 0 || m.val === null ? "" : String(m.val));
14
+ o(() => a(() => {
15
+ let e = h.value?.$el;
16
+ if (!e) return;
17
+ e.focus();
18
+ let t = e.value.length;
19
+ e.setSelectionRange(t, t);
20
+ }));
21
+ function _(e = !0) {
22
+ m.save(g.value, e);
23
+ }
24
+ function v(e) {
25
+ e.key === "Enter" ? (e.stopPropagation(), _(!1)) : e.key === "Escape" && (e.stopPropagation(), m.close());
26
+ }
27
+ function y(e) {
28
+ g.value = e || "";
29
+ }
30
+ return (i, a) => (s(), t(e, null, [f(n("p", { class: "h-0 w-0" }, l(g.value), 513), [[d, !1]]), r(u(p), {
31
+ ref_key: "inputRef",
32
+ ref: h,
33
+ pt: { root: "well-cell-input" },
34
+ "model-value": g.value,
35
+ "onUpdate:modelValue": y,
36
+ onBlur: a[0] || (a[0] = () => _(!0)),
37
+ onKeydown: v
38
+ }, null, 8, ["model-value"])], 64));
39
+ }
40
+ });
41
+ //#endregion
42
+ export { m as default };
43
+
44
+ //# sourceMappingURL=GridTextEditor.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextEditor.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/grid/cells/GridTextEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport InputText from 'primevue/inputtext';\nimport { nextTick, onMounted, ref } from 'vue';\n\nconst props = defineProps<{\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst inputRef = ref<{ $el: HTMLInputElement } | null>(null);\n// RevoGrid passes the typed key when editing starts by typing, the cell's\n// current value otherwise.\nconst localValue = ref<string>(\n props.val === undefined || props.val === null ? '' : String(props.val),\n);\n\nonMounted(() =>\n nextTick(() => {\n const el = inputRef.value?.$el;\n if (!el) return;\n el.focus();\n const end = el.value.length;\n el.setSelectionRange(end, end);\n }),\n);\n\nfunction commit(preventFocus = true) {\n props.save(localValue.value, preventFocus);\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n e.stopPropagation();\n commit(false);\n } else if (e.key === 'Escape') {\n e.stopPropagation();\n props.close();\n }\n}\n\nfunction update(value: string | undefined) {\n localValue.value = value || '';\n}\n</script>\n\n<template>\n <p v-show=\"false\" class=\"h-0 w-0\">{{ localValue }}</p>\n <InputText\n ref=\"inputRef\"\n :pt=\"{\n root: 'well-cell-input',\n }\"\n :model-value=\"localValue\"\n @update:model-value=\"update\"\n @blur=\"() => commit(true)\"\n @keydown=\"onKeydown\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;EAIA,IAAM,IAAQ,GAQR,IAAW,EAAsC,KAAK,EAGtD,IAAa,EACjB,EAAM,QAAQ,KAAA,KAAa,EAAM,QAAQ,OAAO,KAAK,OAAO,EAAM,IAAI,CACvE;AAED,UACE,QAAe;GACb,IAAM,IAAK,EAAS,OAAO;AAC3B,OAAI,CAAC,EAAI;AACT,KAAG,OAAO;GACV,IAAM,IAAM,EAAG,MAAM;AACrB,KAAG,kBAAkB,GAAK,EAAI;IAC9B,CACH;EAED,SAAS,EAAO,IAAe,IAAM;AACnC,KAAM,KAAK,EAAW,OAAO,EAAa;;EAG5C,SAAS,EAAU,GAAkB;AACnC,GAAI,EAAE,QAAQ,WACZ,EAAE,iBAAiB,EACnB,EAAO,GAAM,IACJ,EAAE,QAAQ,aACnB,EAAE,iBAAiB,EACnB,EAAM,OAAO;;EAIjB,SAAS,EAAO,GAA2B;AACzC,KAAW,QAAQ,KAAS;;uCAK5B,EAAsD,KAAA,EAApC,OAAM,WAAS,EAAA,EAAI,EAAA,MAAU,EAAA,IAAA,EAAA,CAAA,CAAA,GAApC,GAAK,CAAA,CAAA,EAChB,EASE,EAAA,EAAA,EAAA;YARI;GAAJ,KAAI;GACH,IAAI,EAAA,MAAA,mBAEJ;GACA,eAAa,EAAA;GACb,uBAAoB;GACpB,QAAI,EAAA,OAAA,EAAA,WAAQ,EAAM,GAAA;GACT"}
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ value?: unknown;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
7
+ //# sourceMappingURL=GridTextureSelectCell.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextureSelectCell.d.ts","sourceRoot":"","sources":["../../../src/grid/cells/GridTextureSelectCell.vue"],"names":[],"mappings":"AAyBA,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AA8CF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,7 @@
1
+ import e from "./GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/grid/cells/GridTextureSelectCell.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
6
+
7
+ //# sourceMappingURL=GridTextureSelectCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextureSelectCell.js","names":[],"sources":["../../../src/grid/cells/GridTextureSelectCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport WellTextureThumbnail from '../../components/WellTextureThumbnail.vue';\n\nconst props = defineProps<{\n value?: unknown;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst typedValue = computed(() => props.value as string | number | undefined);\n</script>\n\n<template>\n <span class=\"flex h-full w-full items-center gap-1.5\">\n <WellTextureThumbnail :code=\"typedValue\" :size=\"28\" />\n <span class=\"font-mono text-[11px]\">{{ typedValue }}</span>\n </span>\n</template>\n"],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import e from "../../components/WellTextureThumbnail.js";
2
+ import { computed as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, openBlock as o, toDisplayString as s } from "vue";
3
+ //#region src/grid/cells/GridTextureSelectCell.vue?vue&type=script&setup=true&lang.ts
4
+ var c = { class: "flex h-full w-full items-center gap-1.5" }, l = { class: "font-mono text-[11px]" }, u = /* @__PURE__ */ a({
5
+ inheritAttrs: !1,
6
+ __name: "GridTextureSelectCell",
7
+ props: { value: {} },
8
+ setup(a) {
9
+ let u = a, d = t(() => u.value);
10
+ return (t, a) => (o(), n("span", c, [i(e, {
11
+ code: d.value,
12
+ size: 28
13
+ }, null, 8, ["code"]), r("span", l, s(d.value), 1)]));
14
+ }
15
+ });
16
+ //#endregion
17
+ export { u as default };
18
+
19
+ //# sourceMappingURL=GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/grid/cells/GridTextureSelectCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport WellTextureThumbnail from '../../components/WellTextureThumbnail.vue';\n\nconst props = defineProps<{\n value?: unknown;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst typedValue = computed(() => props.value as string | number | undefined);\n</script>\n\n<template>\n <span class=\"flex h-full w-full items-center gap-1.5\">\n <WellTextureThumbnail :code=\"typedValue\" :size=\"28\" />\n <span class=\"font-mono text-[11px]\">{{ typedValue }}</span>\n </span>\n</template>\n"],"mappings":";;;;;;;;EAIA,IAAM,IAAQ,GAMR,IAAa,QAAe,EAAM,MAAqC;yBAI3E,EAGO,QAHP,GAGO,CAFL,EAAsD,GAAA;GAA/B,MAAM,EAAA;GAAa,MAAM;yBAChD,EAA2D,QAA3D,GAA2D,EAApB,EAAA,MAAU,EAAA,EAAA,CAAA,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { LanguageTextInput } from '@welldot/core';
2
+ type __VLS_Props = {
3
+ val?: unknown;
4
+ save: (value: unknown, preventFocus?: boolean) => void;
5
+ close: (focusNext?: boolean) => void;
6
+ placeholder?: LanguageTextInput;
7
+ /** Label of the pending-textures toggle; hidden without it. */
8
+ showPending?: LanguageTextInput;
9
+ };
10
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ //# sourceMappingURL=GridTextureSelectEditor.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextureSelectEditor.d.ts","sourceRoot":"","sources":["../../../src/grid/cells/GridTextureSelectEditor.vue"],"names":[],"mappings":"AAyDA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,eAAe,CAAC;AAKpE,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAoEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,7 @@
1
+ import e from "./GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/grid/cells/GridTextureSelectEditor.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
6
+
7
+ //# sourceMappingURL=GridTextureSelectEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextureSelectEditor.js","names":[],"sources":["../../../src/grid/cells/GridTextureSelectEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Texture editor: `WellTextureSelect` opened on mount, committing on select\n * and closing on Escape. Its overlay lives in `body`, so it carries the\n * focus guard that keeps RevoGrid from ending the edit on overlay clicks.\n */\nimport type { LanguageTextInput, TextureCode } from '@welldot/core';\nimport { nextTick, onMounted, ref } from 'vue';\nimport WellTextureSelect from '../../components/WellTextureSelect.vue';\nimport { useGridOverlayFocusGuard } from '../composables/useGridOverlayFocusGuard';\n\nconst props = defineProps<{\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n placeholder?: LanguageTextInput;\n /** Label of the pending-textures toggle; hidden without it. */\n showPending?: LanguageTextInput;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst selectRef = ref<InstanceType<typeof WellTextureSelect> | null>(null);\nconst overlayFocusGuard = useGridOverlayFocusGuard();\n\nonMounted(() => nextTick(() => selectRef.value?.show()));\n\nfunction onSelect(value: unknown) {\n props.save(value);\n props.close();\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.stopPropagation();\n props.close();\n }\n}\n</script>\n\n<template>\n <WellTextureSelect\n ref=\"selectRef\"\n :model-value=\"(val ?? null) as TextureCode | null\"\n :labels=\"{ placeholder, showPending }\"\n append-to=\"body\"\n :pt=\"{\n root: 'well-cell-select well-cell-texture-select',\n overlay: overlayFocusGuard,\n }\"\n @update:model-value=\"onSelect\"\n @keydown=\"onKeydown\"\n />\n</template>\n"],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import e from "../../components/WellTextureSelect.js";
2
+ import { useGridOverlayFocusGuard as t } from "../composables/useGridOverlayFocusGuard.js";
3
+ import { createBlock as n, defineComponent as r, nextTick as i, onMounted as a, openBlock as o, ref as s, unref as c } from "vue";
4
+ //#region src/grid/cells/GridTextureSelectEditor.vue?vue&type=script&setup=true&lang.ts
5
+ var l = /* @__PURE__ */ r({
6
+ inheritAttrs: !1,
7
+ __name: "GridTextureSelectEditor",
8
+ props: {
9
+ val: {},
10
+ save: { type: Function },
11
+ close: { type: Function },
12
+ placeholder: {},
13
+ showPending: {}
14
+ },
15
+ setup(r) {
16
+ let l = r, u = s(null), d = t();
17
+ a(() => i(() => u.value?.show()));
18
+ function f(e) {
19
+ l.save(e), l.close();
20
+ }
21
+ function p(e) {
22
+ e.key === "Escape" && (e.stopPropagation(), l.close());
23
+ }
24
+ return (t, i) => (o(), n(e, {
25
+ ref_key: "selectRef",
26
+ ref: u,
27
+ "model-value": r.val ?? null,
28
+ labels: {
29
+ placeholder: r.placeholder,
30
+ showPending: r.showPending
31
+ },
32
+ "append-to": "body",
33
+ pt: {
34
+ root: "well-cell-select well-cell-texture-select",
35
+ overlay: c(d)
36
+ },
37
+ "onUpdate:modelValue": f,
38
+ onKeydown: p
39
+ }, null, 8, [
40
+ "model-value",
41
+ "labels",
42
+ "pt"
43
+ ]));
44
+ }
45
+ });
46
+ //#endregion
47
+ export { l as default };
48
+
49
+ //# sourceMappingURL=GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/grid/cells/GridTextureSelectEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Texture editor: `WellTextureSelect` opened on mount, committing on select\n * and closing on Escape. Its overlay lives in `body`, so it carries the\n * focus guard that keeps RevoGrid from ending the edit on overlay clicks.\n */\nimport type { LanguageTextInput, TextureCode } from '@welldot/core';\nimport { nextTick, onMounted, ref } from 'vue';\nimport WellTextureSelect from '../../components/WellTextureSelect.vue';\nimport { useGridOverlayFocusGuard } from '../composables/useGridOverlayFocusGuard';\n\nconst props = defineProps<{\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n placeholder?: LanguageTextInput;\n /** Label of the pending-textures toggle; hidden without it. */\n showPending?: LanguageTextInput;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst selectRef = ref<InstanceType<typeof WellTextureSelect> | null>(null);\nconst overlayFocusGuard = useGridOverlayFocusGuard();\n\nonMounted(() => nextTick(() => selectRef.value?.show()));\n\nfunction onSelect(value: unknown) {\n props.save(value);\n props.close();\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.stopPropagation();\n props.close();\n }\n}\n</script>\n\n<template>\n <WellTextureSelect\n ref=\"selectRef\"\n :model-value=\"(val ?? null) as TextureCode | null\"\n :labels=\"{ placeholder, showPending }\"\n append-to=\"body\"\n :pt=\"{\n root: 'well-cell-select well-cell-texture-select',\n overlay: overlayFocusGuard,\n }\"\n @update:model-value=\"onSelect\"\n @keydown=\"onKeydown\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAWA,IAAM,IAAQ,GAWR,IAAY,EAAmD,KAAK,EACpE,IAAoB,GAA0B;AAEpD,UAAgB,QAAe,EAAU,OAAO,MAAM,CAAC,CAAC;EAExD,SAAS,EAAS,GAAgB;AAEhC,GADA,EAAM,KAAK,EAAM,EACjB,EAAM,OAAO;;EAGf,SAAS,EAAU,GAAkB;AACnC,GAAI,EAAE,QAAQ,aACZ,EAAE,iBAAiB,EACnB,EAAM,OAAO;;yBAMf,EAWE,GAAA;YAVI;GAAJ,KAAI;GACH,eAAc,EAAA,OAAG;GACjB,QAAM;IAAA,aAAI,EAAA;IAAW,aAAE,EAAA;IAAW;GACnC,aAAU;GACT,IAAE;;aAA4E,EAAA,EAAiB;;GAI/F,uBAAoB;GACX"}
@@ -0,0 +1,9 @@
1
+ import { DisplayUnitType } from '../../composables/useWellUnits';
2
+ type __VLS_Props = {
3
+ value?: unknown;
4
+ unitType: DisplayUnitType;
5
+ };
6
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
9
+ //# sourceMappingURL=GridUnitCell.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridUnitCell.d.ts","sourceRoot":"","sources":["../../../src/grid/cells/GridUnitCell.vue"],"names":[],"mappings":"AAgDA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AAGxC,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AA2CF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,7 @@
1
+ import e from "./GridUnitCell.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/grid/cells/GridUnitCell.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
6
+
7
+ //# sourceMappingURL=GridUnitCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridUnitCell.js","names":[],"sources":["../../../src/grid/cells/GridUnitCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Unit-aware cell: the value is canonical (SI); it is shown converted to\n * the configured display unit, with the unit as suffix.\n */\nimport { computed } from 'vue';\nimport { useWellNumberFormat } from '../../composables/useWellNumberFormat';\nimport {\n useWellUnits,\n type DisplayUnitType,\n} from '../../composables/useWellUnits';\nimport { useUnitSuffix } from '../composables/useUnitSuffix';\n\nconst props = defineProps<{\n value?: unknown;\n unitType: DisplayUnitType;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst { toDisplay } = useWellUnits(() => props.unitType);\nconst suffix = useUnitSuffix(() => props.unitType);\nconst { formatNumber } = useWellNumberFormat();\n\nconst display = computed((): string => {\n const raw = props.value;\n if (raw === null || raw === undefined || raw === '') return '—';\n const canonical = Number(raw);\n if (isNaN(canonical)) return '—';\n return formatNumber(toDisplay(canonical), {\n maximumFractionDigits: 4,\n suffix: suffix.value,\n });\n});\n</script>\n\n<template>\n <span class=\"flex h-full w-full items-center justify-end\">{{ display }}</span>\n</template>\n"],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { useWellNumberFormat as e } from "../../composables/useWellNumberFormat.js";
2
+ import { useWellUnits as t } from "../../composables/useWellUnits.js";
3
+ import { useUnitSuffix as n } from "../composables/useUnitSuffix.js";
4
+ import { computed as r, createElementBlock as i, defineComponent as a, openBlock as o, toDisplayString as s } from "vue";
5
+ //#region src/grid/cells/GridUnitCell.vue?vue&type=script&setup=true&lang.ts
6
+ var c = { class: "flex h-full w-full items-center justify-end" }, l = /* @__PURE__ */ a({
7
+ inheritAttrs: !1,
8
+ __name: "GridUnitCell",
9
+ props: {
10
+ value: {},
11
+ unitType: {}
12
+ },
13
+ setup(a) {
14
+ let l = a, { toDisplay: u } = t(() => l.unitType), d = n(() => l.unitType), { formatNumber: f } = e(), p = r(() => {
15
+ let e = l.value;
16
+ if (e == null || e === "") return "—";
17
+ let t = Number(e);
18
+ return isNaN(t) ? "—" : f(u(t), {
19
+ maximumFractionDigits: 4,
20
+ suffix: d.value
21
+ });
22
+ });
23
+ return (e, t) => (o(), i("span", c, s(p.value), 1));
24
+ }
25
+ });
26
+ //#endregion
27
+ export { l as default };
28
+
29
+ //# sourceMappingURL=GridUnitCell.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridUnitCell.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/grid/cells/GridUnitCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Unit-aware cell: the value is canonical (SI); it is shown converted to\n * the configured display unit, with the unit as suffix.\n */\nimport { computed } from 'vue';\nimport { useWellNumberFormat } from '../../composables/useWellNumberFormat';\nimport {\n useWellUnits,\n type DisplayUnitType,\n} from '../../composables/useWellUnits';\nimport { useUnitSuffix } from '../composables/useUnitSuffix';\n\nconst props = defineProps<{\n value?: unknown;\n unitType: DisplayUnitType;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst { toDisplay } = useWellUnits(() => props.unitType);\nconst suffix = useUnitSuffix(() => props.unitType);\nconst { formatNumber } = useWellNumberFormat();\n\nconst display = computed((): string => {\n const raw = props.value;\n if (raw === null || raw === undefined || raw === '') return '—';\n const canonical = Number(raw);\n if (isNaN(canonical)) return '—';\n return formatNumber(toDisplay(canonical), {\n maximumFractionDigits: 4,\n suffix: suffix.value,\n });\n});\n</script>\n\n<template>\n <span class=\"flex h-full w-full items-center justify-end\">{{ display }}</span>\n</template>\n"],"mappings":";;;;;;;;;;;;;EAaA,IAAM,IAAQ,GAOR,EAAE,iBAAc,QAAmB,EAAM,SAAS,EAClD,IAAS,QAAoB,EAAM,SAAS,EAC5C,EAAE,oBAAiB,GAAqB,EAExC,IAAU,QAAuB;GACrC,IAAM,IAAM,EAAM;AAClB,OAAI,KAAQ,QAA6B,MAAQ,GAAI,QAAO;GAC5D,IAAM,IAAY,OAAO,EAAI;AAE7B,UADI,MAAM,EAAU,GAAS,MACtB,EAAa,EAAU,EAAU,EAAE;IACxC,uBAAuB;IACvB,QAAQ,EAAO;IAChB,CAAC;IACF;yBAIA,EAA8E,QAA9E,GAA8E,EAAjB,EAAA,MAAO,EAAA,EAAA"}
@@ -0,0 +1,11 @@
1
+ import { DisplayUnitType } from '../../composables/useWellUnits';
2
+ type __VLS_Props = {
3
+ val?: unknown;
4
+ save: (value: unknown, preventFocus?: boolean) => void;
5
+ close: (focusNext?: boolean) => void;
6
+ unitType: DisplayUnitType;
7
+ };
8
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;
11
+ //# sourceMappingURL=GridUnitEditor.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridUnitEditor.d.ts","sourceRoot":"","sources":["../../../src/grid/cells/GridUnitEditor.vue"],"names":[],"mappings":"AA8FA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AAExC,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AA8GF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,7 @@
1
+ import e from "./GridUnitEditor.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/grid/cells/GridUnitEditor.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
6
+
7
+ //# sourceMappingURL=GridUnitEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridUnitEditor.js","names":[],"sources":["../../../src/grid/cells/GridUnitEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { nextTick, onMounted, ref } from 'vue';\nimport WellInputNumber from '../../components/WellInputNumber.vue';\nimport {\n isDisplayedValue,\n useWellUnits,\n type DisplayUnitType,\n} from '../../composables/useWellUnits';\n\nconst props = defineProps<{\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n unitType: DisplayUnitType;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst { toDisplay, toCanonical } = useWellUnits(() => props.unitType);\n\n/** Matches the `max-fraction-digits` of the input below. */\nconst MAX_FRACTION_DIGITS = 4;\n\nconst numRef = ref<{ $el: HTMLElement } | null>(null);\n\nconst raw =\n props.val !== undefined && props.val !== null && props.val !== ''\n ? Number(props.val)\n : null;\n\n/** Display value the editor opened with (null for an empty cell). */\nconst initialDisplay = raw != null && !isNaN(raw) ? toDisplay(raw) : null;\nconst localValue = ref<number | null>(initialDisplay);\n\nonMounted(() =>\n nextTick(() => {\n const el = numRef.value?.$el;\n (el?.querySelector('input') as HTMLInputElement | null)?.focus();\n }),\n);\n\nlet lastKeyWasEnter = false;\n\nfunction onKeydownCapture(e: KeyboardEvent) {\n lastKeyWasEnter = e.key === 'Enter';\n}\n\nfunction commit() {\n if (localValue.value === null) return;\n // `InputNumber` emits its rounded text on blur/Enter: an untouched edit\n // closes without saving, so the exact canonical value is kept.\n if (isDisplayedValue(localValue.value, initialDisplay, MAX_FRACTION_DIGITS)) {\n props.close(lastKeyWasEnter);\n return;\n }\n props.save(toCanonical(localValue.value), !lastKeyWasEnter);\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n e.stopPropagation();\n commit();\n } else if (e.key === 'Escape') {\n e.stopPropagation();\n props.close();\n }\n}\n\nfunction update(value: number | null) {\n localValue.value = value;\n commit();\n}\n</script>\n\n<template>\n <div class=\"contents\" @keydown.capture=\"onKeydownCapture\">\n <WellInputNumber\n ref=\"numRef\"\n :model-value=\"localValue\"\n :max-fraction-digits=\"MAX_FRACTION_DIGITS\"\n :pt=\"{\n root: 'well-cell-input-number',\n pcInput: { root: 'well-cell-input well-cell-input-number text-right' },\n }\"\n @update:model-value=\"update\"\n @keydown=\"onKeydown\"\n />\n </div>\n</template>\n"],"mappings":""}
@@ -0,0 +1,58 @@
1
+ import { isDisplayedValue as e, useWellUnits as t } from "../../composables/useWellUnits.js";
2
+ import n from "../../components/WellInputNumber.js";
3
+ import { createElementBlock as r, createVNode as i, defineComponent as a, nextTick as o, onMounted as s, openBlock as c, ref as l } from "vue";
4
+ //#region src/grid/cells/GridUnitEditor.vue?vue&type=script&setup=true&lang.ts
5
+ var u = 4, d = /* @__PURE__ */ a({
6
+ inheritAttrs: !1,
7
+ __name: "GridUnitEditor",
8
+ props: {
9
+ val: {},
10
+ save: { type: Function },
11
+ close: { type: Function },
12
+ unitType: {}
13
+ },
14
+ setup(a) {
15
+ let d = a, { toDisplay: f, toCanonical: p } = t(() => d.unitType), m = l(null), h = d.val !== void 0 && d.val !== null && d.val !== "" ? Number(d.val) : null, g = h != null && !isNaN(h) ? f(h) : null, _ = l(g);
16
+ s(() => o(() => {
17
+ ((m.value?.$el)?.querySelector("input"))?.focus();
18
+ }));
19
+ let v = !1;
20
+ function y(e) {
21
+ v = e.key === "Enter";
22
+ }
23
+ function b() {
24
+ if (_.value !== null) {
25
+ if (e(_.value, g, u)) {
26
+ d.close(v);
27
+ return;
28
+ }
29
+ d.save(p(_.value), !v);
30
+ }
31
+ }
32
+ function x(e) {
33
+ e.key === "Enter" ? (e.stopPropagation(), b()) : e.key === "Escape" && (e.stopPropagation(), d.close());
34
+ }
35
+ function S(e) {
36
+ _.value = e, b();
37
+ }
38
+ return (e, t) => (c(), r("div", {
39
+ class: "contents",
40
+ onKeydownCapture: y
41
+ }, [i(n, {
42
+ ref_key: "numRef",
43
+ ref: m,
44
+ "model-value": _.value,
45
+ "max-fraction-digits": u,
46
+ pt: {
47
+ root: "well-cell-input-number",
48
+ pcInput: { root: "well-cell-input well-cell-input-number text-right" }
49
+ },
50
+ "onUpdate:modelValue": S,
51
+ onKeydown: x
52
+ }, null, 8, ["model-value"])], 32));
53
+ }
54
+ });
55
+ //#endregion
56
+ export { d as default };
57
+
58
+ //# sourceMappingURL=GridUnitEditor.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridUnitEditor.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/grid/cells/GridUnitEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { nextTick, onMounted, ref } from 'vue';\nimport WellInputNumber from '../../components/WellInputNumber.vue';\nimport {\n isDisplayedValue,\n useWellUnits,\n type DisplayUnitType,\n} from '../../composables/useWellUnits';\n\nconst props = defineProps<{\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n unitType: DisplayUnitType;\n}>();\n\ndefineOptions({ inheritAttrs: false });\n\nconst { toDisplay, toCanonical } = useWellUnits(() => props.unitType);\n\n/** Matches the `max-fraction-digits` of the input below. */\nconst MAX_FRACTION_DIGITS = 4;\n\nconst numRef = ref<{ $el: HTMLElement } | null>(null);\n\nconst raw =\n props.val !== undefined && props.val !== null && props.val !== ''\n ? Number(props.val)\n : null;\n\n/** Display value the editor opened with (null for an empty cell). */\nconst initialDisplay = raw != null && !isNaN(raw) ? toDisplay(raw) : null;\nconst localValue = ref<number | null>(initialDisplay);\n\nonMounted(() =>\n nextTick(() => {\n const el = numRef.value?.$el;\n (el?.querySelector('input') as HTMLInputElement | null)?.focus();\n }),\n);\n\nlet lastKeyWasEnter = false;\n\nfunction onKeydownCapture(e: KeyboardEvent) {\n lastKeyWasEnter = e.key === 'Enter';\n}\n\nfunction commit() {\n if (localValue.value === null) return;\n // `InputNumber` emits its rounded text on blur/Enter: an untouched edit\n // closes without saving, so the exact canonical value is kept.\n if (isDisplayedValue(localValue.value, initialDisplay, MAX_FRACTION_DIGITS)) {\n props.close(lastKeyWasEnter);\n return;\n }\n props.save(toCanonical(localValue.value), !lastKeyWasEnter);\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n e.stopPropagation();\n commit();\n } else if (e.key === 'Escape') {\n e.stopPropagation();\n props.close();\n }\n}\n\nfunction update(value: number | null) {\n localValue.value = value;\n commit();\n}\n</script>\n\n<template>\n <div class=\"contents\" @keydown.capture=\"onKeydownCapture\">\n <WellInputNumber\n ref=\"numRef\"\n :model-value=\"localValue\"\n :max-fraction-digits=\"MAX_FRACTION_DIGITS\"\n :pt=\"{\n root: 'well-cell-input-number',\n pcInput: { root: 'well-cell-input well-cell-input-number text-right' },\n }\"\n @update:model-value=\"update\"\n @keydown=\"onKeydown\"\n />\n </div>\n</template>\n"],"mappings":";;;;AAqBA,IAAM,IAAsB;;;;;;;;;;EAZ5B,IAAM,IAAQ,GASR,EAAE,cAAW,mBAAgB,QAAmB,EAAM,SAAS,EAK/D,IAAS,EAAiC,KAAK,EAE/C,IACJ,EAAM,QAAQ,KAAA,KAAa,EAAM,QAAQ,QAAQ,EAAM,QAAQ,KAC3D,OAAO,EAAM,IAAG,GAChB,MAGA,IAAiB,KAAO,QAAQ,CAAC,MAAM,EAAI,GAAG,EAAU,EAAI,GAAG,MAC/D,IAAa,EAAmB,EAAe;AAErD,UACE,QAAe;AAEb,KADW,EAAO,OAAO,MACpB,cAAc,QAAQ,GAA8B,OAAO;IAChE,CACH;EAED,IAAI,IAAkB;EAEtB,SAAS,EAAiB,GAAkB;AAC1C,OAAkB,EAAE,QAAQ;;EAG9B,SAAS,IAAS;AACZ,SAAW,UAAU,MAGzB;QAAI,EAAiB,EAAW,OAAO,GAAgB,EAAoB,EAAE;AAC3E,OAAM,MAAM,EAAgB;AAC5B;;AAEF,MAAM,KAAK,EAAY,EAAW,MAAM,EAAE,CAAC,EAAgB;;;EAG7D,SAAS,EAAU,GAAkB;AACnC,GAAI,EAAE,QAAQ,WACZ,EAAE,iBAAiB,EACnB,GAAQ,IACC,EAAE,QAAQ,aACnB,EAAE,iBAAiB,EACnB,EAAM,OAAO;;EAIjB,SAAS,EAAO,GAAsB;AAEpC,GADA,EAAW,QAAQ,GACnB,GAAQ;;yBAKR,EAYM,OAAA;GAZD,OAAM;GAA6B;MACtC,EAUE,GAAA;YATI;GAAJ,KAAI;GACH,eAAa,EAAA;GACb,uBAAqB;GACrB,IAAI;;;IAGJ;GACA,uBAAoB;GACX"}
@@ -0,0 +1,12 @@
1
+ import { ColumnProp, GridPlugin } from '@revolist/revogrid';
2
+ /**
3
+ * Factory that returns a RevoGrid plugin class whose instance keeps one
4
+ * column filling all horizontal space left over by the other columns.
5
+ *
6
+ * `WellDataGrid` applies it to the column flagged `stretch: true`.
7
+ *
8
+ * Usage:
9
+ * plugins: [columnStretchPlugin('myProp', 120)]
10
+ */
11
+ export declare function columnStretchPlugin(stretchProp: ColumnProp, minSize?: number): GridPlugin;
12
+ //# sourceMappingURL=columnStretchPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnStretchPlugin.d.ts","sourceRoot":"","sources":["../../src/grid/columnStretchPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOhF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,UAAU,EACvB,OAAO,SAAoB,GAC1B,UAAU,CAuDZ"}
@@ -0,0 +1,35 @@
1
+ import { BasePlugin as e } from "@revolist/vue3-datagrid";
2
+ //#region src/grid/columnStretchPlugin.ts
3
+ var t = 50, n = 150;
4
+ function r(r, i = t) {
5
+ return class extends e {
6
+ constructor(e, t) {
7
+ super(e, t), this.raf = null, this.ro = new ResizeObserver(() => this.schedule()), this.ro.observe(e), this.addEventListener("aftergridinit", () => this.schedule()), this.addEventListener("aftercolumnsset", () => this.schedule()), this.addEventListener("aftercolumnresize", () => this.schedule());
8
+ }
9
+ schedule() {
10
+ this.raf !== null && cancelAnimationFrame(this.raf), this.raf = requestAnimationFrame(() => {
11
+ this.raf = null, this.recalc();
12
+ });
13
+ }
14
+ recalc() {
15
+ let e = this.revogrid.clientWidth;
16
+ if (!e) return;
17
+ let t = this.providers.column.getColumns("all"), a = t.find((e) => e.prop === r);
18
+ if (!a) return;
19
+ let o = t.filter((e) => e.prop !== r).reduce((e, t) => e + (t.size ?? n), 0), s = Math.max(i, e - o);
20
+ if (s === a.size) return;
21
+ let c = a.pin ?? "rgCol", l = this.providers.column.getColumnIndexByProp(r, c);
22
+ l < 0 || (this.providers.column.updateColumn({
23
+ ...a,
24
+ size: s
25
+ }, l), this.providers.dimension.setCustomSizes(c, { [l]: s }, !0));
26
+ }
27
+ destroy() {
28
+ this.ro.disconnect(), this.raf !== null && cancelAnimationFrame(this.raf), super.destroy();
29
+ }
30
+ };
31
+ }
32
+ //#endregion
33
+ export { r as columnStretchPlugin };
34
+
35
+ //# sourceMappingURL=columnStretchPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnStretchPlugin.js","names":[],"sources":["../../src/grid/columnStretchPlugin.ts"],"sourcesContent":["import type { ColumnProp, DimensionCols, GridPlugin } from '@revolist/revogrid';\nimport type { PluginProviders } from '@revolist/vue3-datagrid';\nimport { BasePlugin } from '@revolist/vue3-datagrid';\n\nconst FALLBACK_MIN_SIZE = 50;\nconst DEFAULT_COL_SIZE = 150;\n\n/**\n * Factory that returns a RevoGrid plugin class whose instance keeps one\n * column filling all horizontal space left over by the other columns.\n *\n * `WellDataGrid` applies it to the column flagged `stretch: true`.\n *\n * Usage:\n * plugins: [columnStretchPlugin('myProp', 120)]\n */\nexport function columnStretchPlugin(\n stretchProp: ColumnProp,\n minSize = FALLBACK_MIN_SIZE,\n): GridPlugin {\n return class extends BasePlugin {\n private ro: ResizeObserver;\n private raf: number | null = null;\n\n constructor(el: HTMLRevoGridElement, providers: PluginProviders) {\n super(el, providers);\n\n this.ro = new ResizeObserver(() => this.schedule());\n this.ro.observe(el);\n\n this.addEventListener('aftergridinit', () => this.schedule());\n this.addEventListener('aftercolumnsset', () => this.schedule());\n this.addEventListener('aftercolumnresize', () => this.schedule());\n }\n\n private schedule() {\n if (this.raf !== null) cancelAnimationFrame(this.raf);\n this.raf = requestAnimationFrame(() => {\n this.raf = null;\n this.recalc();\n });\n }\n\n private recalc() {\n const gridWidth = this.revogrid.clientWidth;\n if (!gridWidth) return;\n\n const all = this.providers.column.getColumns('all');\n const target = all.find(c => c.prop === stretchProp);\n if (!target) return;\n\n const otherWidth = all\n .filter(c => c.prop !== stretchProp)\n .reduce((sum, c) => sum + (c.size ?? DEFAULT_COL_SIZE), 0);\n\n const newSize = Math.max(minSize, gridWidth - otherWidth);\n if (newSize === target.size) return;\n\n const type = (target.pin ?? 'rgCol') as DimensionCols;\n const idx = this.providers.column.getColumnIndexByProp(stretchProp, type);\n if (idx < 0) return;\n\n // Update column metadata in the column store\n this.providers.column.updateColumn({ ...target, size: newSize }, idx);\n // Update visual width in the dimension store (this is what actually moves pixels)\n this.providers.dimension.setCustomSizes(type, { [idx]: newSize }, true);\n }\n\n destroy() {\n this.ro.disconnect();\n if (this.raf !== null) cancelAnimationFrame(this.raf);\n super.destroy();\n }\n };\n}\n"],"mappings":";;AAIA,IAAM,IAAoB,IACpB,IAAmB;AAWzB,SAAgB,EACd,GACA,IAAU,GACE;AACZ,QAAO,cAAc,EAAW;EAI9B,YAAY,GAAyB,GAA4B;AAQ/D,GAPA,MAAM,GAAI,EAAU,aAHO,MAK3B,KAAK,KAAK,IAAI,qBAAqB,KAAK,UAAU,CAAC,EACnD,KAAK,GAAG,QAAQ,EAAG,EAEnB,KAAK,iBAAiB,uBAAuB,KAAK,UAAU,CAAC,EAC7D,KAAK,iBAAiB,yBAAyB,KAAK,UAAU,CAAC,EAC/D,KAAK,iBAAiB,2BAA2B,KAAK,UAAU,CAAC;;EAGnE,WAAmB;AAEjB,GADI,KAAK,QAAQ,QAAM,qBAAqB,KAAK,IAAI,EACrD,KAAK,MAAM,4BAA4B;AAErC,IADA,KAAK,MAAM,MACX,KAAK,QAAQ;KACb;;EAGJ,SAAiB;GACf,IAAM,IAAY,KAAK,SAAS;AAChC,OAAI,CAAC,EAAW;GAEhB,IAAM,IAAM,KAAK,UAAU,OAAO,WAAW,MAAM,EAC7C,IAAS,EAAI,MAAK,MAAK,EAAE,SAAS,EAAY;AACpD,OAAI,CAAC,EAAQ;GAEb,IAAM,IAAa,EAChB,QAAO,MAAK,EAAE,SAAS,EAAY,CACnC,QAAQ,GAAK,MAAM,KAAO,EAAE,QAAQ,IAAmB,EAAE,EAEtD,IAAU,KAAK,IAAI,GAAS,IAAY,EAAW;AACzD,OAAI,MAAY,EAAO,KAAM;GAE7B,IAAM,IAAQ,EAAO,OAAO,SACtB,IAAM,KAAK,UAAU,OAAO,qBAAqB,GAAa,EAAK;AACrE,OAAM,MAGV,KAAK,UAAU,OAAO,aAAa;IAAE,GAAG;IAAQ,MAAM;IAAS,EAAE,EAAI,EAErE,KAAK,UAAU,UAAU,eAAe,GAAM,GAAG,IAAM,GAAS,EAAE,GAAK;;EAGzE,UAAU;AAGR,GAFA,KAAK,GAAG,YAAY,EAChB,KAAK,QAAQ,QAAM,qBAAqB,KAAK,IAAI,EACrD,MAAM,SAAS"}
@@ -0,0 +1,35 @@
1
+ import { HyperFunc, VNode } from '@revolist/revogrid';
2
+ import { Component } from 'vue';
3
+ /** What a template reads from RevoGrid's cell / header props. */
4
+ type TemplateProps = {
5
+ prop?: unknown;
6
+ rowIndex?: unknown;
7
+ };
8
+ /**
9
+ * A RevoGrid `cellTemplate` / `columnTemplate` rendering a Vue component.
10
+ * Assignable to both (`CellTemplateProp` and `ColumnTemplateProp` fit
11
+ * `TemplateProps`).
12
+ */
13
+ export type GridVueTemplate = (h: HyperFunc<VNode>, props: TemplateProps, addition?: unknown) => VNode;
14
+ /**
15
+ * Setup-bound `VGridVueTemplate`.
16
+ *
17
+ * RevoGrid renders each cell with `render()` into its own element, so a cell
18
+ * only sees what the captured component instance's **app context** provides
19
+ * (`app.provide`, i.e. `createWelldot` and PrimeVue) — never `provide()` of
20
+ * an ancestor component. `VGridVueTemplate` captures that instance when it
21
+ * is called, so calling it inside a `computed` that re-runs outside render
22
+ * yields cells with no app context at all.
23
+ *
24
+ * Call this in `setup`: the returned factory carries the instance captured
25
+ * there and can then be called anywhere (e.g. in a column `computed`). Extra
26
+ * props are merged under the cell props RevoGrid passes (`value`, `model`,
27
+ * `rowIndex`, `column`, …), exactly like `VGridVueTemplate`'s `customProps`.
28
+ *
29
+ * Every cell mounted through the factory is unmounted when the calling
30
+ * component unmounts: RevoGrid only tears a cell down when it removes that
31
+ * single cell, not when the whole grid goes away.
32
+ */
33
+ export declare function useCellTemplate(): (component: Component, extraProps?: Record<string, unknown>) => GridVueTemplate;
34
+ export {};
35
+ //# sourceMappingURL=useCellTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCellTemplate.d.ts","sourceRoot":"","sources":["../../../src/grid/composables/useCellTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAE1E,iEAAiE;AACjE,KAAK,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EACnB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,OAAO,KACf,KAAK,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,KAa3B,WAAW,SAAS,EACpB,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,eAAe,CAsBnB"}
@@ -0,0 +1,30 @@
1
+ import { getCurrentInstance as e, onBeforeUnmount as t } from "vue";
2
+ import { VGridVueTemplateConstructor as n } from "@revolist/vue3-datagrid";
3
+ //#region src/grid/composables/useCellTemplate.ts
4
+ function r() {
5
+ let r = e(), i = /* @__PURE__ */ new Map();
6
+ return r && t(() => {
7
+ for (let e of i.values()) e();
8
+ i.clear();
9
+ }), function(e, t) {
10
+ return (a, o, s) => {
11
+ let c = {
12
+ ...t,
13
+ ...o
14
+ };
15
+ c.addition = s;
16
+ let l = null;
17
+ return a("span", {
18
+ key: `${String(o.prop)}-${Number(o.rowIndex) || 0}`,
19
+ ref: (t) => {
20
+ let a = l;
21
+ l = n(e, t, c, r, l), t ? i.set(t, l.destroy) : a?.el && i.delete(a.el);
22
+ }
23
+ });
24
+ };
25
+ };
26
+ }
27
+ //#endregion
28
+ export { r as useCellTemplate };
29
+
30
+ //# sourceMappingURL=useCellTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCellTemplate.js","names":[],"sources":["../../../src/grid/composables/useCellTemplate.ts"],"sourcesContent":["import type { HyperFunc, VNode } from '@revolist/revogrid';\nimport { VGridVueTemplateConstructor } from '@revolist/vue3-datagrid';\nimport { getCurrentInstance, onBeforeUnmount, type Component } from 'vue';\n\n/** What a template reads from RevoGrid's cell / header props. */\ntype TemplateProps = { prop?: unknown; rowIndex?: unknown };\n\n/**\n * A RevoGrid `cellTemplate` / `columnTemplate` rendering a Vue component.\n * Assignable to both (`CellTemplateProp` and `ColumnTemplateProp` fit\n * `TemplateProps`).\n */\nexport type GridVueTemplate = (\n h: HyperFunc<VNode>,\n props: TemplateProps,\n addition?: unknown,\n) => VNode;\n\n/**\n * Setup-bound `VGridVueTemplate`.\n *\n * RevoGrid renders each cell with `render()` into its own element, so a cell\n * only sees what the captured component instance's **app context** provides\n * (`app.provide`, i.e. `createWelldot` and PrimeVue) — never `provide()` of\n * an ancestor component. `VGridVueTemplate` captures that instance when it\n * is called, so calling it inside a `computed` that re-runs outside render\n * yields cells with no app context at all.\n *\n * Call this in `setup`: the returned factory carries the instance captured\n * there and can then be called anywhere (e.g. in a column `computed`). Extra\n * props are merged under the cell props RevoGrid passes (`value`, `model`,\n * `rowIndex`, `column`, …), exactly like `VGridVueTemplate`'s `customProps`.\n *\n * Every cell mounted through the factory is unmounted when the calling\n * component unmounts: RevoGrid only tears a cell down when it removes that\n * single cell, not when the whole grid goes away.\n */\nexport function useCellTemplate() {\n const instance = getCurrentInstance();\n /** Live cells, keyed by their host element, with their unmount. */\n const live = new Map<Element, () => void>();\n\n if (instance) {\n onBeforeUnmount(() => {\n for (const destroy of live.values()) destroy();\n live.clear();\n });\n }\n\n return function cellTemplate(\n component: Component,\n extraProps?: Record<string, unknown>,\n ): GridVueTemplate {\n return (h, props, addition) => {\n const merged: Record<string, unknown> = { ...extraProps, ...props };\n merged.addition = addition;\n let last: { destroy: () => void; el: Element | null } | null = null;\n return h('span', {\n key: `${String(props.prop)}-${Number(props.rowIndex) || 0}`,\n ref: (el: Element | null) => {\n const previous = last;\n last = VGridVueTemplateConstructor(\n component,\n el,\n merged,\n instance,\n last,\n );\n if (el) live.set(el, last.destroy);\n else if (previous?.el) live.delete(previous.el);\n },\n });\n };\n };\n}\n"],"mappings":";;;AAqCA,SAAgB,IAAkB;CAChC,IAAM,IAAW,GAAoB,EAE/B,oBAAO,IAAI,KAA0B;AAS3C,QAPI,KACF,QAAsB;AACpB,OAAK,IAAM,KAAW,EAAK,QAAQ,CAAE,IAAS;AAC9C,IAAK,OAAO;GACZ,EAGG,SACL,GACA,GACiB;AACjB,UAAQ,GAAG,GAAO,MAAa;GAC7B,IAAM,IAAkC;IAAE,GAAG;IAAY,GAAG;IAAO;AACnE,KAAO,WAAW;GAClB,IAAI,IAA2D;AAC/D,UAAO,EAAE,QAAQ;IACf,KAAK,GAAG,OAAO,EAAM,KAAK,CAAC,GAAG,OAAO,EAAM,SAAS,IAAI;IACxD,MAAM,MAAuB;KAC3B,IAAM,IAAW;AAQjB,KAPA,IAAO,EACL,GACA,GACA,GACA,GACA,EACD,EACG,IAAI,EAAK,IAAI,GAAI,EAAK,QAAQ,GACzB,GAAU,MAAI,EAAK,OAAO,EAAS,GAAG;;IAElD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function useGridOverlayFocusGuard(): {
2
+ onMouseup: (event: Event) => void;
3
+ onTouchend: (event: Event) => void;
4
+ };
5
+ //# sourceMappingURL=useGridOverlayFocusGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridOverlayFocusGuard.d.ts","sourceRoot":"","sources":["../../../src/grid/composables/useGridOverlayFocusGuard.ts"],"names":[],"mappings":"AAQA,wBAAgB,wBAAwB;uBACP,KAAK;wBAAL,KAAK;EAMrC"}
@@ -0,0 +1,12 @@
1
+ //#region src/grid/composables/useGridOverlayFocusGuard.ts
2
+ function e() {
3
+ let e = (e) => e.preventDefault();
4
+ return {
5
+ onMouseup: e,
6
+ onTouchend: e
7
+ };
8
+ }
9
+ //#endregion
10
+ export { e as useGridOverlayFocusGuard };
11
+
12
+ //# sourceMappingURL=useGridOverlayFocusGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridOverlayFocusGuard.js","names":[],"sources":["../../../src/grid/composables/useGridOverlayFocusGuard.ts"],"sourcesContent":["// RevoGrid clears the active cell's editor on any document-level\n// mouseup/touchend that wasn't already preventDefault()'d (see revo-grid's\n// mouseupHandle, which checks event.defaultPrevented before clearing focus).\n// PrimeVue overlays rendered with append-to=\"body\" live outside the grid's\n// DOM tree, so interacting with them (filter input, footer controls) bubbles\n// up unprevented and is mistaken for a click outside the grid. Spreading\n// these handlers onto the overlay's pt props keeps it open; preventDefault\n// (unlike stopPropagation) doesn't block the target's own click handling.\nexport function useGridOverlayFocusGuard() {\n const preventDefault = (event: Event) => event.preventDefault();\n\n return {\n onMouseup: preventDefault,\n onTouchend: preventDefault,\n };\n}\n"],"mappings":";AAQA,SAAgB,IAA2B;CACzC,IAAM,KAAkB,MAAiB,EAAM,gBAAgB;AAE/D,QAAO;EACL,WAAW;EACX,YAAY;EACb"}
@@ -0,0 +1,9 @@
1
+ import { ComputedRef, MaybeRefOrGetter } from 'vue';
2
+ import { DisplayUnitType } from '../../composables/useWellUnits';
3
+ /**
4
+ * Display suffix of the configured unit for `unitType` (`m`, `ft`, `mm`,
5
+ * `in.`/`"`, `m³/h`, `kW`, `m³`…). Diameter inches depend on the language.
6
+ * `unitType` is a value, ref or getter.
7
+ */
8
+ export declare function useUnitSuffix(unitType: MaybeRefOrGetter<DisplayUnitType>): ComputedRef<string>;
9
+ //# sourceMappingURL=useUnitSuffix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnitSuffix.d.ts","sourceRoot":"","sources":["../../../src/grid/composables/useUnitSuffix.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAC;AACb,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AAGxC;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,GAC1C,WAAW,CAAC,MAAM,CAAC,CAWrB"}
@@ -0,0 +1,13 @@
1
+ import { useWelldotConfig as e } from "../../config.js";
2
+ import { useWellUnits as t } from "../../composables/useWellUnits.js";
3
+ import { computed as n, toValue as r } from "vue";
4
+ import { resolveDiameterUnitLabel as i } from "@welldot/utils";
5
+ //#region src/grid/composables/useUnitSuffix.ts
6
+ function a(a) {
7
+ let o = e(), { unit: s } = t(a);
8
+ return n(() => r(a) === "diameter" ? i(s.value, o.locale.split("-")[0].toLowerCase()) : s.value);
9
+ }
10
+ //#endregion
11
+ export { a as useUnitSuffix };
12
+
13
+ //# sourceMappingURL=useUnitSuffix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnitSuffix.js","names":[],"sources":["../../../src/grid/composables/useUnitSuffix.ts"],"sourcesContent":["import type { DiameterUnits } from '@welldot/core';\nimport { resolveDiameterUnitLabel } from '@welldot/utils';\nimport {\n computed,\n toValue,\n type ComputedRef,\n type MaybeRefOrGetter,\n} from 'vue';\nimport {\n useWellUnits,\n type DisplayUnitType,\n} from '../../composables/useWellUnits';\nimport { useWelldotConfig } from '../../config';\n\n/**\n * Display suffix of the configured unit for `unitType` (`m`, `ft`, `mm`,\n * `in.`/`\"`, `m³/h`, `kW`, `m³`…). Diameter inches depend on the language.\n * `unitType` is a value, ref or getter.\n */\nexport function useUnitSuffix(\n unitType: MaybeRefOrGetter<DisplayUnitType>,\n): ComputedRef<string> {\n const config = useWelldotConfig();\n const { unit } = useWellUnits(unitType);\n return computed(() =>\n toValue(unitType) === 'diameter'\n ? resolveDiameterUnitLabel(\n unit.value as DiameterUnits,\n config.locale.split('-')[0].toLowerCase(),\n )\n : unit.value,\n );\n}\n"],"mappings":";;;;;AAmBA,SAAgB,EACd,GACqB;CACrB,IAAM,IAAS,GAAkB,EAC3B,EAAE,YAAS,EAAa,EAAS;AACvC,QAAO,QACL,EAAQ,EAAS,KAAK,aAClB,EACE,EAAK,OACL,EAAO,OAAO,MAAM,IAAI,CAAC,GAAG,aAAa,CAC1C,GACD,EAAK,MACV"}
@@ -0,0 +1,8 @@
1
+ export { columnStretchPlugin } from './columnStretchPlugin';
2
+ export { useWellGridColumns } from './useWellGridColumns';
3
+ export type { UseWellGridColumnsOptions } from './useWellGridColumns';
4
+ /** Editable spreadsheet of a well feature array (`WellGridColumn`s, parts, labels). */
5
+ export { default as WellDataGrid } from './WellDataGrid';
6
+ export type { WellAddButtonProps, WellDeleteButtonProps, WellDragHandleProps, } from '../types';
7
+ export type { WellDataGridComponents, WellDataGridLabels, WellGridColumn, WellGridColumnBase, WellGridColumnType, WellGridOption, } from './types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/grid/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,uFAAuF;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE7D,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GACf,MAAM,SAAS,CAAC"}