@ramathibodi/nuxt-commons 0.1.74 → 0.1.75

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 (96) hide show
  1. package/README.md +115 -115
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/components/Alert.vue +58 -58
  4. package/dist/runtime/components/BarcodeReader.vue +130 -130
  5. package/dist/runtime/components/ExportCSV.vue +110 -110
  6. package/dist/runtime/components/FileBtn.vue +79 -79
  7. package/dist/runtime/components/ImportCSV.vue +151 -151
  8. package/dist/runtime/components/MrzReader.vue +168 -168
  9. package/dist/runtime/components/SplitterPanel.vue +67 -67
  10. package/dist/runtime/components/TabsGroup.vue +39 -39
  11. package/dist/runtime/components/TextBarcode.vue +66 -66
  12. package/dist/runtime/components/device/IdCardButton.vue +95 -95
  13. package/dist/runtime/components/device/IdCardWebSocket.vue +207 -207
  14. package/dist/runtime/components/device/Scanner.vue +350 -350
  15. package/dist/runtime/components/dialog/Confirm.vue +112 -112
  16. package/dist/runtime/components/dialog/Host.vue +88 -88
  17. package/dist/runtime/components/dialog/Index.vue +84 -84
  18. package/dist/runtime/components/dialog/Loading.vue +51 -51
  19. package/dist/runtime/components/dialog/default/Confirm.vue +112 -112
  20. package/dist/runtime/components/dialog/default/Loading.vue +60 -60
  21. package/dist/runtime/components/dialog/default/Notify.vue +82 -82
  22. package/dist/runtime/components/dialog/default/Printing.vue +46 -46
  23. package/dist/runtime/components/dialog/default/VerifyUser.vue +144 -144
  24. package/dist/runtime/components/document/Form.vue +50 -50
  25. package/dist/runtime/components/document/TemplateBuilder.vue +536 -536
  26. package/dist/runtime/components/form/ActionPad.vue +156 -156
  27. package/dist/runtime/components/form/Birthdate.vue +116 -116
  28. package/dist/runtime/components/form/CheckboxGroup.vue +99 -99
  29. package/dist/runtime/components/form/CodeEditor.vue +45 -45
  30. package/dist/runtime/components/form/Date.vue +270 -270
  31. package/dist/runtime/components/form/DateTime.vue +220 -220
  32. package/dist/runtime/components/form/Dialog.vue +178 -178
  33. package/dist/runtime/components/form/EditPad.vue +157 -157
  34. package/dist/runtime/components/form/File.vue +295 -295
  35. package/dist/runtime/components/form/Hidden.vue +44 -44
  36. package/dist/runtime/components/form/Iterator.vue +538 -538
  37. package/dist/runtime/components/form/Login.vue +143 -143
  38. package/dist/runtime/components/form/Pad.vue +399 -399
  39. package/dist/runtime/components/form/SignPad.vue +226 -226
  40. package/dist/runtime/components/form/System.vue +34 -34
  41. package/dist/runtime/components/form/Table.vue +391 -391
  42. package/dist/runtime/components/form/TableData.vue +236 -236
  43. package/dist/runtime/components/form/Time.vue +177 -177
  44. package/dist/runtime/components/form/images/Capture.vue +245 -245
  45. package/dist/runtime/components/form/images/Edit.vue +133 -133
  46. package/dist/runtime/components/form/images/Field.vue +331 -331
  47. package/dist/runtime/components/form/images/Pad.vue +54 -54
  48. package/dist/runtime/components/label/Date.vue +37 -37
  49. package/dist/runtime/components/label/DateAgo.vue +102 -102
  50. package/dist/runtime/components/label/DateCount.vue +152 -152
  51. package/dist/runtime/components/label/Field.vue +111 -111
  52. package/dist/runtime/components/label/FormatMoney.vue +37 -37
  53. package/dist/runtime/components/label/Mask.vue +46 -46
  54. package/dist/runtime/components/label/Object.vue +21 -21
  55. package/dist/runtime/components/master/Autocomplete.vue +89 -89
  56. package/dist/runtime/components/master/Combobox.vue +88 -88
  57. package/dist/runtime/components/master/RadioGroup.vue +90 -90
  58. package/dist/runtime/components/master/Select.vue +70 -70
  59. package/dist/runtime/components/master/label.vue +55 -55
  60. package/dist/runtime/components/model/Autocomplete.vue +91 -91
  61. package/dist/runtime/components/model/Combobox.vue +90 -90
  62. package/dist/runtime/components/model/Pad.vue +114 -114
  63. package/dist/runtime/components/model/Select.vue +78 -84
  64. package/dist/runtime/components/model/Table.vue +370 -370
  65. package/dist/runtime/components/model/iterator.vue +497 -497
  66. package/dist/runtime/components/model/label.vue +58 -58
  67. package/dist/runtime/components/pdf/Print.vue +75 -75
  68. package/dist/runtime/components/pdf/View.vue +146 -146
  69. package/dist/runtime/composables/dialog.d.ts +1 -1
  70. package/dist/runtime/composables/graphql.d.ts +1 -1
  71. package/dist/runtime/composables/graphqlModel.d.ts +9 -9
  72. package/dist/runtime/composables/graphqlModelItem.d.ts +7 -7
  73. package/dist/runtime/composables/graphqlModelOperation.d.ts +6 -6
  74. package/dist/runtime/composables/userPermission.d.ts +1 -1
  75. package/dist/runtime/labs/Calendar.vue +99 -99
  76. package/dist/runtime/labs/form/EditMobile.vue +152 -152
  77. package/dist/runtime/labs/form/TextFieldMask.vue +43 -43
  78. package/dist/runtime/plugins/clientConfig.d.ts +1 -1
  79. package/dist/runtime/plugins/default.d.ts +1 -1
  80. package/dist/runtime/plugins/dialogManager.d.ts +1 -1
  81. package/dist/runtime/plugins/permission.d.ts +1 -1
  82. package/dist/runtime/types/alert.d.ts +11 -11
  83. package/dist/runtime/types/clientConfig.d.ts +13 -13
  84. package/dist/runtime/types/dialogManager.d.ts +35 -35
  85. package/dist/runtime/types/formDialog.d.ts +5 -5
  86. package/dist/runtime/types/graphqlOperation.d.ts +23 -23
  87. package/dist/runtime/types/menu.d.ts +31 -31
  88. package/dist/runtime/types/modules.d.ts +7 -7
  89. package/dist/runtime/types/permission.d.ts +13 -13
  90. package/package.json +131 -131
  91. package/scripts/enrich-vue-docs-from-ai.mjs +197 -197
  92. package/scripts/generate-ai-summary.mjs +321 -321
  93. package/scripts/generate-composables-md.mjs +129 -129
  94. package/scripts/postInstall.cjs +70 -70
  95. package/templates/.codegen/codegen.ts +32 -32
  96. package/templates/.codegen/plugin-schema-object.js +161 -161
@@ -1,113 +1,113 @@
1
- <script lang="ts" setup>
2
- /**
3
- * DialogDefaultConfirm is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
- * This doc block is consumed by vue-docgen for generated API documentation.
5
- */
6
- import { ref, watch, computed, type Ref } from 'vue'
7
- import { isEqual, isUndefined, isEmpty } from 'lodash-es'
8
-
9
- interface DialogProps {
10
- title?: string // Title text displayed in the component header or dialog.
11
- modelValue: boolean // Bound value for v-model synchronization with the parent component.
12
- message?: string // main message body shown in UI
13
- buttonTrueText?: string // label for the confirm/primary action
14
- buttonFalseText?: string // label for the cancel/secondary action
15
- type?: 'primary' | 'success' | 'warning' | 'info' | 'error' // visual variant controlling color and intent semantics
16
- confirmData?: string // confirmation text that users must type before continue
17
- width?: string // dialog/component width in CSS-compatible units
18
- }
19
-
20
- /**
21
- * Public props accepted by DialogDefaultConfirm.
22
- * Document each prop field with intent, defaults, and side effects for clear generated docs.
23
- */
24
- const props = withDefaults(defineProps<DialogProps>(), {
25
- title: 'Confirm',
26
- message: 'Do you want to proceed?',
27
- buttonTrueText: 'Ok',
28
- buttonFalseText: 'Cancel',
29
- type: 'primary',
30
- width: 'auto',
31
- })
32
-
33
- /**
34
- * Custom events emitted by DialogDefaultConfirm.
35
- * Parents can listen to these events to react to user actions and internal state changes.
36
- */
37
- const emit = defineEmits<{
38
- (e: 'update:modelValue', value: boolean): void
39
- (e: 'resolve', value: boolean): void
40
- (e: 'reject', value: any): void
41
- }>()
42
-
43
- const dialogVisible: Ref<boolean> = ref(props.modelValue)
44
-
45
- watch(() => props.modelValue, (val) => {
46
- dialogVisible.value = val
47
- })
48
-
49
- watch(dialogVisible, (val) => {
50
- if (!val) emit('update:modelValue', false)
51
- })
52
-
53
- const txtConfirm = ref<string>('')
54
-
55
- const isDisabled = computed(() => {
56
- if (isUndefined(props.confirmData)) return false
57
- if (isEmpty(props.confirmData)) return true
58
- return !isEqual(txtConfirm.value, props.confirmData)
59
- })
60
-
61
- const handleResult = (result: boolean) => {
62
- dialogVisible.value = false
63
- emit('resolve', result) // emit back to dialog-manager
64
- }
65
- </script>
66
-
67
- <template>
68
- <v-row justify="center">
69
- <v-dialog
70
- v-model="dialogVisible"
71
- persistent
72
- :width="props.width"
73
- >
74
- <v-card>
75
- <v-toolbar
76
- :color="props.type"
77
- :title="props.title"
78
- />
79
- <v-card-text>{{ props.message }}</v-card-text>
80
- <v-card-text v-if="props.confirmData">
81
- <v-text-field
82
- v-model="txtConfirm"
83
- variant="underlined"
84
- >
85
- <template #label>
86
- <slot
87
- name="labelTextConfirm"
88
- :text="props.confirmData"
89
- />
90
- </template>
91
- </v-text-field>
92
- </v-card-text>
93
- <v-card-actions>
94
- <v-spacer />
95
- <v-btn
96
- variant="text"
97
- @click="handleResult(false)"
98
- >
99
- {{ props.buttonFalseText }}
100
- </v-btn>
101
- <v-btn
102
- :color="props.type"
103
- variant="text"
104
- :disabled="isDisabled"
105
- @click="handleResult(true)"
106
- >
107
- {{ props.buttonTrueText }}
108
- </v-btn>
109
- </v-card-actions>
110
- </v-card>
111
- </v-dialog>
112
- </v-row>
1
+ <script lang="ts" setup>
2
+ /**
3
+ * DialogDefaultConfirm is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
+ * This doc block is consumed by vue-docgen for generated API documentation.
5
+ */
6
+ import { ref, watch, computed, type Ref } from 'vue'
7
+ import { isEqual, isUndefined, isEmpty } from 'lodash-es'
8
+
9
+ interface DialogProps {
10
+ title?: string // Title text displayed in the component header or dialog.
11
+ modelValue: boolean // Bound value for v-model synchronization with the parent component.
12
+ message?: string // main message body shown in UI
13
+ buttonTrueText?: string // label for the confirm/primary action
14
+ buttonFalseText?: string // label for the cancel/secondary action
15
+ type?: 'primary' | 'success' | 'warning' | 'info' | 'error' // visual variant controlling color and intent semantics
16
+ confirmData?: string // confirmation text that users must type before continue
17
+ width?: string // dialog/component width in CSS-compatible units
18
+ }
19
+
20
+ /**
21
+ * Public props accepted by DialogDefaultConfirm.
22
+ * Document each prop field with intent, defaults, and side effects for clear generated docs.
23
+ */
24
+ const props = withDefaults(defineProps<DialogProps>(), {
25
+ title: 'Confirm',
26
+ message: 'Do you want to proceed?',
27
+ buttonTrueText: 'Ok',
28
+ buttonFalseText: 'Cancel',
29
+ type: 'primary',
30
+ width: 'auto',
31
+ })
32
+
33
+ /**
34
+ * Custom events emitted by DialogDefaultConfirm.
35
+ * Parents can listen to these events to react to user actions and internal state changes.
36
+ */
37
+ const emit = defineEmits<{
38
+ (e: 'update:modelValue', value: boolean): void
39
+ (e: 'resolve', value: boolean): void
40
+ (e: 'reject', value: any): void
41
+ }>()
42
+
43
+ const dialogVisible: Ref<boolean> = ref(props.modelValue)
44
+
45
+ watch(() => props.modelValue, (val) => {
46
+ dialogVisible.value = val
47
+ })
48
+
49
+ watch(dialogVisible, (val) => {
50
+ if (!val) emit('update:modelValue', false)
51
+ })
52
+
53
+ const txtConfirm = ref<string>('')
54
+
55
+ const isDisabled = computed(() => {
56
+ if (isUndefined(props.confirmData)) return false
57
+ if (isEmpty(props.confirmData)) return true
58
+ return !isEqual(txtConfirm.value, props.confirmData)
59
+ })
60
+
61
+ const handleResult = (result: boolean) => {
62
+ dialogVisible.value = false
63
+ emit('resolve', result) // emit back to dialog-manager
64
+ }
65
+ </script>
66
+
67
+ <template>
68
+ <v-row justify="center">
69
+ <v-dialog
70
+ v-model="dialogVisible"
71
+ persistent
72
+ :width="props.width"
73
+ >
74
+ <v-card>
75
+ <v-toolbar
76
+ :color="props.type"
77
+ :title="props.title"
78
+ />
79
+ <v-card-text>{{ props.message }}</v-card-text>
80
+ <v-card-text v-if="props.confirmData">
81
+ <v-text-field
82
+ v-model="txtConfirm"
83
+ variant="underlined"
84
+ >
85
+ <template #label>
86
+ <slot
87
+ name="labelTextConfirm"
88
+ :text="props.confirmData"
89
+ />
90
+ </template>
91
+ </v-text-field>
92
+ </v-card-text>
93
+ <v-card-actions>
94
+ <v-spacer />
95
+ <v-btn
96
+ variant="text"
97
+ @click="handleResult(false)"
98
+ >
99
+ {{ props.buttonFalseText }}
100
+ </v-btn>
101
+ <v-btn
102
+ :color="props.type"
103
+ variant="text"
104
+ :disabled="isDisabled"
105
+ @click="handleResult(true)"
106
+ >
107
+ {{ props.buttonTrueText }}
108
+ </v-btn>
109
+ </v-card-actions>
110
+ </v-card>
111
+ </v-dialog>
112
+ </v-row>
113
113
  </template>
@@ -1,60 +1,60 @@
1
- <script setup lang="ts">
2
- /**
3
- * DialogDefaultLoading is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
- * This doc block is consumed by vue-docgen for generated API documentation.
5
- */
6
- import { ref, watch } from 'vue'
7
-
8
- interface DialogProps {
9
- modelValue: boolean // Bound value for v-model synchronization with the parent component.
10
- color?: string // Vuetify color name applied to the visual element.
11
- }
12
- /**
13
- * Custom events emitted by DialogDefaultLoading.
14
- * Parents can listen to these events to react to user actions and internal state changes.
15
- */
16
- const emit = defineEmits(['update:modelValue'])
17
-
18
- /**
19
- * Public props accepted by DialogDefaultLoading.
20
- * Document each prop field with intent, defaults, and side effects for clear generated docs.
21
- */
22
- const props = defineProps<DialogProps>()
23
- const dialogVisible = ref<boolean>(props.modelValue)
24
-
25
- watch(() => props.modelValue, (newValue) => {
26
- dialogVisible.value = newValue
27
- })
28
-
29
- watch(() => dialogVisible.value, (newValue) => {
30
- emit('update:modelValue', newValue)
31
- })
32
- </script>
33
-
34
- <template>
35
- <v-dialog
36
- v-model="dialogVisible"
37
- persistent
38
- max-width="400"
39
- class="rounded-xl"
40
- >
41
- <v-card :color="props.color || 'surface'" elevation="10" class="pa-4 rounded-xl">
42
- <v-card-title class="text-h6 text-center">
43
- <slot name="title">Please wait</slot>
44
- </v-card-title>
45
-
46
- <v-card-text class="text-center">
47
- <v-progress-circular
48
- indeterminate
49
- size="40"
50
- width="4"
51
- color="primary"
52
- class="mb-4"
53
- />
54
- <div>
55
- <slot>Loading data, please wait...</slot>
56
- </div>
57
- </v-card-text>
58
- </v-card>
59
- </v-dialog>
60
- </template>
1
+ <script setup lang="ts">
2
+ /**
3
+ * DialogDefaultLoading is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
+ * This doc block is consumed by vue-docgen for generated API documentation.
5
+ */
6
+ import { ref, watch } from 'vue'
7
+
8
+ interface DialogProps {
9
+ modelValue: boolean // Bound value for v-model synchronization with the parent component.
10
+ color?: string // Vuetify color name applied to the visual element.
11
+ }
12
+ /**
13
+ * Custom events emitted by DialogDefaultLoading.
14
+ * Parents can listen to these events to react to user actions and internal state changes.
15
+ */
16
+ const emit = defineEmits(['update:modelValue'])
17
+
18
+ /**
19
+ * Public props accepted by DialogDefaultLoading.
20
+ * Document each prop field with intent, defaults, and side effects for clear generated docs.
21
+ */
22
+ const props = defineProps<DialogProps>()
23
+ const dialogVisible = ref<boolean>(props.modelValue)
24
+
25
+ watch(() => props.modelValue, (newValue) => {
26
+ dialogVisible.value = newValue
27
+ })
28
+
29
+ watch(() => dialogVisible.value, (newValue) => {
30
+ emit('update:modelValue', newValue)
31
+ })
32
+ </script>
33
+
34
+ <template>
35
+ <v-dialog
36
+ v-model="dialogVisible"
37
+ persistent
38
+ max-width="400"
39
+ class="rounded-xl"
40
+ >
41
+ <v-card :color="props.color || 'surface'" elevation="10" class="pa-4 rounded-xl">
42
+ <v-card-title class="text-h6 text-center">
43
+ <slot name="title">Please wait</slot>
44
+ </v-card-title>
45
+
46
+ <v-card-text class="text-center">
47
+ <v-progress-circular
48
+ indeterminate
49
+ size="40"
50
+ width="4"
51
+ color="primary"
52
+ class="mb-4"
53
+ />
54
+ <div>
55
+ <slot>Loading data, please wait...</slot>
56
+ </div>
57
+ </v-card-text>
58
+ </v-card>
59
+ </v-dialog>
60
+ </template>
@@ -1,82 +1,82 @@
1
- <script lang="ts" setup>
2
- /**
3
- * DialogDefaultNotify is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
- * This doc block is consumed by vue-docgen for generated API documentation.
5
- */
6
- import { ref, watch, type Ref } from 'vue'
7
-
8
- interface DialogProps {
9
- title?: string // Title text displayed in the component header or dialog.
10
- modelValue: boolean // Bound value for v-model synchronization with the parent component.
11
- message?: string // main message body shown in UI
12
- buttonText?: string // Label text displayed on the primary action button.
13
- type?: 'primary' | 'success' | 'warning' | 'info' | 'error' // visual variant controlling color and intent semantics
14
- width?: string // dialog/component width in CSS-compatible units
15
- }
16
-
17
- /**
18
- * Public props accepted by DialogDefaultNotify.
19
- * Document each prop field with intent, defaults, and side effects for clear generated docs.
20
- */
21
- const props = withDefaults(defineProps<DialogProps>(), {
22
- title: 'Notice',
23
- message: 'Something happened.',
24
- buttonText: 'OK',
25
- type: 'primary',
26
- width: 'auto',
27
- })
28
-
29
- /**
30
- * Custom events emitted by DialogDefaultNotify.
31
- * Parents can listen to these events to react to user actions and internal state changes.
32
- */
33
- const emit = defineEmits<{
34
- (e: 'update:modelValue', value: boolean): void
35
- (e: 'resolve', value: boolean): void
36
- }>()
37
-
38
- const dialogVisible: Ref<boolean> = ref(props.modelValue)
39
-
40
- watch(() => props.modelValue, (val) => {
41
- dialogVisible.value = val
42
- })
43
-
44
- watch(dialogVisible, (val) => {
45
- if (!val) emit('update:modelValue', false)
46
- })
47
-
48
- const handleClose = () => {
49
- dialogVisible.value = false
50
- emit('resolve', true)
51
- }
52
- </script>
53
-
54
- <template>
55
- <v-row justify="center">
56
- <v-dialog
57
- v-model="dialogVisible"
58
- persistent
59
- :width="props.width"
60
- >
61
- <v-card>
62
- <v-toolbar
63
- :color="props.type"
64
- :title="props.title"
65
- density="compact"
66
- />
67
- <v-card-text class="text-body-2 text-center py-4">
68
- {{ props.message }}
69
- </v-card-text>
70
- <v-card-actions class="justify-center">
71
- <v-btn
72
- :color="props.type"
73
- variant="elevated"
74
- @click="handleClose"
75
- >
76
- {{ props.buttonText }}
77
- </v-btn>
78
- </v-card-actions>
79
- </v-card>
80
- </v-dialog>
81
- </v-row>
82
- </template>
1
+ <script lang="ts" setup>
2
+ /**
3
+ * DialogDefaultNotify is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
+ * This doc block is consumed by vue-docgen for generated API documentation.
5
+ */
6
+ import { ref, watch, type Ref } from 'vue'
7
+
8
+ interface DialogProps {
9
+ title?: string // Title text displayed in the component header or dialog.
10
+ modelValue: boolean // Bound value for v-model synchronization with the parent component.
11
+ message?: string // main message body shown in UI
12
+ buttonText?: string // Label text displayed on the primary action button.
13
+ type?: 'primary' | 'success' | 'warning' | 'info' | 'error' // visual variant controlling color and intent semantics
14
+ width?: string // dialog/component width in CSS-compatible units
15
+ }
16
+
17
+ /**
18
+ * Public props accepted by DialogDefaultNotify.
19
+ * Document each prop field with intent, defaults, and side effects for clear generated docs.
20
+ */
21
+ const props = withDefaults(defineProps<DialogProps>(), {
22
+ title: 'Notice',
23
+ message: 'Something happened.',
24
+ buttonText: 'OK',
25
+ type: 'primary',
26
+ width: 'auto',
27
+ })
28
+
29
+ /**
30
+ * Custom events emitted by DialogDefaultNotify.
31
+ * Parents can listen to these events to react to user actions and internal state changes.
32
+ */
33
+ const emit = defineEmits<{
34
+ (e: 'update:modelValue', value: boolean): void
35
+ (e: 'resolve', value: boolean): void
36
+ }>()
37
+
38
+ const dialogVisible: Ref<boolean> = ref(props.modelValue)
39
+
40
+ watch(() => props.modelValue, (val) => {
41
+ dialogVisible.value = val
42
+ })
43
+
44
+ watch(dialogVisible, (val) => {
45
+ if (!val) emit('update:modelValue', false)
46
+ })
47
+
48
+ const handleClose = () => {
49
+ dialogVisible.value = false
50
+ emit('resolve', true)
51
+ }
52
+ </script>
53
+
54
+ <template>
55
+ <v-row justify="center">
56
+ <v-dialog
57
+ v-model="dialogVisible"
58
+ persistent
59
+ :width="props.width"
60
+ >
61
+ <v-card>
62
+ <v-toolbar
63
+ :color="props.type"
64
+ :title="props.title"
65
+ density="compact"
66
+ />
67
+ <v-card-text class="text-body-2 text-center py-4">
68
+ {{ props.message }}
69
+ </v-card-text>
70
+ <v-card-actions class="justify-center">
71
+ <v-btn
72
+ :color="props.type"
73
+ variant="elevated"
74
+ @click="handleClose"
75
+ >
76
+ {{ props.buttonText }}
77
+ </v-btn>
78
+ </v-card-actions>
79
+ </v-card>
80
+ </v-dialog>
81
+ </v-row>
82
+ </template>
@@ -1,47 +1,47 @@
1
- <script setup lang="ts">
2
- /**
3
- * DialogDefaultPrinting is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
- * This doc block is consumed by vue-docgen for generated API documentation.
5
- */
6
- import { ref, watch } from 'vue'
7
-
8
- interface DialogProps {
9
- modelValue: boolean // Bound value for v-model synchronization with the parent component.
10
- color?: string // Vuetify color name applied to the visual element.
11
- }
12
- /**
13
- * Custom events emitted by DialogDefaultPrinting.
14
- * Parents can listen to these events to react to user actions and internal state changes.
15
- */
16
- const emit = defineEmits(['update:modelValue'])
17
- /**
18
- * Public props accepted by DialogDefaultPrinting.
19
- * Document each prop field with intent, defaults, and side effects for clear generated docs.
20
- */
21
- const props = defineProps<DialogProps>()
22
- const dialogVisible = ref(props.modelValue)
23
-
24
- watch(() => props.modelValue, (newValue) => {
25
- dialogVisible.value = newValue
26
- })
27
-
28
- watch(() => dialogVisible.value, (newValue) => {
29
- emit('update:modelValue', newValue)
30
- })
31
- </script>
32
-
33
- <template>
34
- <v-dialog
35
- v-model="dialogVisible"
36
- persistent
37
- max-width="320"
38
- class="rounded-lg"
39
- >
40
- <v-card :color="props.color || 'surface'" class="pa-3 rounded-lg d-flex flex-column align-center">
41
- <v-icon size="36" color="primary" class="mb-2">mdi mdi-printer</v-icon>
42
- <div class="text-center text-body-2">
43
- <slot>Preparing to print...</slot>
44
- </div>
45
- </v-card>
46
- </v-dialog>
1
+ <script setup lang="ts">
2
+ /**
3
+ * DialogDefaultPrinting is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
+ * This doc block is consumed by vue-docgen for generated API documentation.
5
+ */
6
+ import { ref, watch } from 'vue'
7
+
8
+ interface DialogProps {
9
+ modelValue: boolean // Bound value for v-model synchronization with the parent component.
10
+ color?: string // Vuetify color name applied to the visual element.
11
+ }
12
+ /**
13
+ * Custom events emitted by DialogDefaultPrinting.
14
+ * Parents can listen to these events to react to user actions and internal state changes.
15
+ */
16
+ const emit = defineEmits(['update:modelValue'])
17
+ /**
18
+ * Public props accepted by DialogDefaultPrinting.
19
+ * Document each prop field with intent, defaults, and side effects for clear generated docs.
20
+ */
21
+ const props = defineProps<DialogProps>()
22
+ const dialogVisible = ref(props.modelValue)
23
+
24
+ watch(() => props.modelValue, (newValue) => {
25
+ dialogVisible.value = newValue
26
+ })
27
+
28
+ watch(() => dialogVisible.value, (newValue) => {
29
+ emit('update:modelValue', newValue)
30
+ })
31
+ </script>
32
+
33
+ <template>
34
+ <v-dialog
35
+ v-model="dialogVisible"
36
+ persistent
37
+ max-width="320"
38
+ class="rounded-lg"
39
+ >
40
+ <v-card :color="props.color || 'surface'" class="pa-3 rounded-lg d-flex flex-column align-center">
41
+ <v-icon size="36" color="primary" class="mb-2">mdi mdi-printer</v-icon>
42
+ <div class="text-center text-body-2">
43
+ <slot>Preparing to print...</slot>
44
+ </div>
45
+ </v-card>
46
+ </v-dialog>
47
47
  </template>