sard-uniapp 1.14.0 → 1.14.2

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 (100) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/components/accordion/variables.scss +2 -1
  3. package/components/action-sheet/variables.scss +2 -1
  4. package/components/alert/variables.scss +2 -1
  5. package/components/avatar/variables.scss +2 -1
  6. package/components/back-top/variables.scss +2 -1
  7. package/components/badge/variables.scss +2 -1
  8. package/components/button/variables.scss +2 -1
  9. package/components/calendar/calendar.vue +16 -17
  10. package/components/calendar/variables.scss +2 -1
  11. package/components/calendar-input/calendar-input.vue +35 -31
  12. package/components/calendar-input/common.d.ts +3 -0
  13. package/components/card/variables.scss +2 -1
  14. package/components/cascader/variables.scss +2 -1
  15. package/components/cascader-input/cascader-input.vue +32 -28
  16. package/components/cascader-input/common.d.ts +3 -0
  17. package/components/check-icon/variables.scss +2 -1
  18. package/components/checkbox/variables.scss +2 -1
  19. package/components/checkbox-input/checkbox-input.vue +60 -56
  20. package/components/checkbox-input/common.d.ts +3 -0
  21. package/components/checkbox-input/variables.scss +2 -1
  22. package/components/collapse/variables.scss +2 -1
  23. package/components/datetime-picker-input/common.d.ts +3 -0
  24. package/components/datetime-picker-input/datetime-picker-input.vue +29 -25
  25. package/components/datetime-range-picker/variables.scss +2 -1
  26. package/components/datetime-range-picker-input/common.d.ts +3 -0
  27. package/components/datetime-range-picker-input/datetime-range-picker-input.vue +30 -26
  28. package/components/dialog/common.d.ts +2 -0
  29. package/components/dialog/dialog.vue +11 -2
  30. package/components/dialog/variables.scss +2 -1
  31. package/components/dialog-agent/dialog-agent.vue +2 -0
  32. package/components/divider/variables.scss +2 -1
  33. package/components/dropdown/variables.scss +2 -1
  34. package/components/empty/variables.scss +2 -1
  35. package/components/fab/variables.scss +2 -1
  36. package/components/floating-bubble/variables.scss +2 -1
  37. package/components/floating-panel/variables.scss +2 -1
  38. package/components/form/variables.scss +2 -1
  39. package/components/grid/variables.scss +2 -1
  40. package/components/indexes/variables.scss +2 -1
  41. package/components/input/common.d.ts +1 -0
  42. package/components/input/index.scss +1 -0
  43. package/components/input/input.vue +6 -3
  44. package/components/input/variables.scss +2 -1
  45. package/components/keyboard/variables.scss +2 -1
  46. package/components/list/variables.scss +2 -1
  47. package/components/load-more/variables.scss +2 -1
  48. package/components/loading/variables.scss +2 -1
  49. package/components/menu/variables.scss +2 -1
  50. package/components/navbar/variables.scss +2 -1
  51. package/components/notice-bar/variables.scss +2 -1
  52. package/components/notify/variables.scss +2 -1
  53. package/components/overlay/variables.scss +2 -1
  54. package/components/pagination/variables.scss +2 -1
  55. package/components/password-input/variables.scss +2 -1
  56. package/components/picker/variables.scss +2 -1
  57. package/components/picker-input/common.d.ts +3 -0
  58. package/components/picker-input/picker-input.vue +26 -22
  59. package/components/popout/variables.scss +2 -1
  60. package/components/popout-input/popout-input.d.ts +10 -1
  61. package/components/popout-input/popout-input.vue +5 -3
  62. package/components/popout-input/variables.scss +2 -1
  63. package/components/popover/variables.scss +2 -1
  64. package/components/popup/popup.vue +32 -18
  65. package/components/popup/variables.scss +2 -1
  66. package/components/progress-bar/variables.scss +2 -1
  67. package/components/progress-circle/variables.scss +2 -1
  68. package/components/pull-down-refresh/variables.scss +2 -1
  69. package/components/qrcode/variables.scss +1 -1
  70. package/components/radio/variables.scss +2 -1
  71. package/components/radio-input/common.d.ts +3 -0
  72. package/components/radio-input/radio-input.vue +59 -58
  73. package/components/radio-input/variables.scss +2 -1
  74. package/components/rate/variables.scss +2 -1
  75. package/components/result/variables.scss +2 -1
  76. package/components/search/variables.scss +2 -1
  77. package/components/share-sheet/variables.scss +2 -1
  78. package/components/sidebar/variables.scss +2 -1
  79. package/components/signature/variables.scss +2 -1
  80. package/components/skeleton/variables.scss +2 -1
  81. package/components/slider/variables.scss +2 -1
  82. package/components/space/common.d.ts +3 -0
  83. package/components/space/common.js +7 -0
  84. package/components/space/space.vue +4 -1
  85. package/components/space/variables.scss +2 -1
  86. package/components/stepper/variables.scss +2 -1
  87. package/components/steps/variables.scss +2 -1
  88. package/components/style/mixins/theme-dark.scss +4 -2
  89. package/components/style/variables.scss +2 -1
  90. package/components/swiper-dot/variables.scss +2 -1
  91. package/components/switch/variables.scss +2 -1
  92. package/components/tabbar/variables.scss +2 -1
  93. package/components/table/variables.scss +2 -1
  94. package/components/tabs/variables.scss +2 -1
  95. package/components/tag/variables.scss +2 -1
  96. package/components/timeline/variables.scss +2 -1
  97. package/components/toast/variables.scss +2 -1
  98. package/components/tree/variables.scss +2 -1
  99. package/components/upload/variables.scss +2 -1
  100. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [1.14.2](https://github.com/sutras/sard-uniapp/compare/v1.14.1...v1.14.2) (2025-05-14)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * 使 *-input 弹出式输入框组件只有一个根节点 ([91fe1c0](https://github.com/sutras/sard-uniapp/commit/91fe1c0af91cf0aef3f3e7429483613a743e0520))
7
+
8
+
9
+
10
+ ## [1.14.1](https://github.com/sutras/sard-uniapp/compare/v1.14.0...v1.14.1) (2025-05-13)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * 修复 popup 组件 transform+fixed 渲染问题 ([5d0bf10](https://github.com/sutras/sard-uniapp/commit/5d0bf106df39e9c48c84bd7f76c71bb9306070c9))
16
+
17
+
18
+
1
19
  # [1.14.0](https://github.com/sutras/sard-uniapp/compare/v1.13.3...v1.14.0) (2025-05-12)
2
20
 
3
21
 
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-accordion-bg: var(--sar-emphasis-bg);
4
5
  --sar-accordion-active-bg: var(--sar-active-bg);
5
6
  --sar-accordion-border-color: var(--sar-border-color);
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-action-sheet-border-radius: var(--sar-rounded-xl);
4
5
  --sar-action-sheet-border-color: var(--sar-border-color);
5
6
  --sar-action-sheet-bg: var(--sar-emphasis-bg);
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-alert-paddding-x: 32rpx;
4
5
  --sar-alert-paddding-y: 16rpx;
5
6
  --sar-alert-font-size: var(--sar-text-base);
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-avatar-width: 128rpx;
4
5
  --sar-avatar-height: 128rpx;
5
6
  --sar-avatar-font-size: 64rpx;
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-back-top-right: 48rpx;
4
5
  --sar-back-top-bottom: 96rpx;
5
6
  --sar-back-top-z-index: 1000;
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-badge-height: 36rpx;
4
5
  --sar-badge-padding-x: 8rpx;
5
6
  --sar-badge-font-size: var(--sar-text-sm);
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-button-height-mini: 56rpx;
4
5
  --sar-button-padding-y-mini: 0;
5
6
  --sar-button-padding-x-mini: 12rpx;
@@ -78,24 +78,23 @@
78
78
  />
79
79
  </scroll-view>
80
80
  </view>
81
+ <sar-popout
82
+ v-if="!severalMonths"
83
+ v-model:visible="pickerVisible"
84
+ type="compact"
85
+ @confirm="onPickerConfirm"
86
+ >
87
+ <template #visible="{ already }">
88
+ <sar-datetime-picker
89
+ v-if="already"
90
+ type="yM"
91
+ v-model="pickerValue"
92
+ :min="minDate"
93
+ :max="maxDate"
94
+ />
95
+ </template>
96
+ </sar-popout>
81
97
  </view>
82
-
83
- <sar-popout
84
- v-if="!severalMonths"
85
- v-model:visible="pickerVisible"
86
- type="compact"
87
- @confirm="onPickerConfirm"
88
- >
89
- <template #visible="{ already }">
90
- <sar-datetime-picker
91
- v-if="already"
92
- type="yM"
93
- v-model="pickerValue"
94
- :min="minDate"
95
- :max="maxDate"
96
- />
97
- </template>
98
- </sar-popout>
99
98
  </template>
100
99
 
101
100
  <script>
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-calendar-current-month-font-size: var(--sar-text-lg);
4
5
 
5
6
  --sar-calendar-week-item-height: 64rpx;
@@ -5,40 +5,42 @@
5
5
  :readonly="readonly"
6
6
  :disabled="disabled"
7
7
  :clearable="clearable"
8
- @clear="onClear"
9
- @click="onInputClick"
10
- />
11
-
12
- <sar-popout
13
8
  :root-class="rootClass"
14
9
  :root-style="rootStyle"
15
- :visible="innerVisible"
16
- @update:visible="onVisible"
17
- :title="title ?? placeholder"
18
- :show-confirm="showConfirm"
19
- :confirm-disabled="confirmDisabled"
20
- @confirm="onConfirm"
10
+ @clear="onClear"
11
+ @click="onInputClick"
21
12
  >
22
- <template #visible="{ already }">
23
- <sar-calendar
24
- v-if="already"
25
- :model-value="popoutValue"
26
- @change="onChange"
27
- :type="type"
28
- :min="min"
29
- :max="max"
30
- :current-date="currentDate"
31
- :disabled-date="disabledDate"
32
- :max-days="maxDays"
33
- :over-max-days="overMaxDays"
34
- :week-starts-on="weekStartsOn"
35
- :formatter="formatter"
36
- :allow-same-day="allowSameDay"
37
- :several-months="severalMonths"
38
- :value-format="valueFormat"
39
- />
40
- </template>
41
- </sar-popout>
13
+ <sar-popout
14
+ :visible="innerVisible"
15
+ :title="title ?? placeholder"
16
+ :show-confirm="showConfirm"
17
+ :confirm-disabled="confirmDisabled"
18
+ :root-class="popoutClass"
19
+ :root-style="popoutStyle"
20
+ @update:visible="onVisible"
21
+ @confirm="onConfirm"
22
+ >
23
+ <template #visible="{ already }">
24
+ <sar-calendar
25
+ v-if="already"
26
+ :model-value="popoutValue"
27
+ @change="onChange"
28
+ :type="type"
29
+ :min="min"
30
+ :max="max"
31
+ :current-date="currentDate"
32
+ :disabled-date="disabledDate"
33
+ :max-days="maxDays"
34
+ :over-max-days="overMaxDays"
35
+ :week-starts-on="weekStartsOn"
36
+ :formatter="formatter"
37
+ :allow-same-day="allowSameDay"
38
+ :several-months="severalMonths"
39
+ :value-format="valueFormat"
40
+ />
41
+ </template>
42
+ </sar-popout>
43
+ </sar-popout-input>
42
44
  </template>
43
45
 
44
46
  <script>
@@ -72,6 +74,8 @@ export default _defineComponent({
72
74
  showConfirm: { type: Boolean, required: false },
73
75
  outletFormat: { type: String, required: false },
74
76
  validateEvent: { type: Boolean, required: false },
77
+ popoutClass: { type: String, required: false },
78
+ popoutStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
75
79
  rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
76
80
  rootClass: { type: String, required: false },
77
81
  type: { type: String, required: false },
@@ -1,11 +1,14 @@
1
1
  import { type CalendarProps } from '../calendar/common';
2
2
  import { type PopoutInputProps } from '../popout-input/common';
3
+ import { type StyleValue } from 'vue';
3
4
  export interface CalendarInputProps extends CalendarProps, Omit<PopoutInputProps, 'modelValue' | 'loading'> {
4
5
  visible?: boolean;
5
6
  title?: string;
6
7
  showConfirm?: boolean;
7
8
  outletFormat?: string;
8
9
  validateEvent?: boolean;
10
+ popoutClass?: string;
11
+ popoutStyle?: StyleValue;
9
12
  }
10
13
  export declare const defaultCalendarInputProps: () => {
11
14
  type: CalendarProps["type"];
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-card-border-radius: var(--sar-rounded-lg);
4
5
  --sar-card-border-color: var(--sar-border-color);
5
6
  --sar-card-bg: var(--sar-emphasis-bg);
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-cascader-wrapper-duration: var(--sar-duration);
4
5
  --sar-cascader-loading-wrapper-duration: var(--sar-duration);
5
6
 
@@ -5,38 +5,40 @@
5
5
  :readonly="readonly"
6
6
  :disabled="disabled"
7
7
  :clearable="clearable"
8
- @clear="onClear"
9
- @click="onInputClick"
10
8
  :loading="loading"
11
- />
12
-
13
- <sar-popout
14
9
  :root-class="rootClass"
15
10
  :root-style="rootStyle"
16
- :visible="innerVisible"
17
- @update:visible="onVisible"
18
- :title="title ?? placeholder"
19
- :show-confirm="showConfirm"
20
- @confirm="onConfirm"
11
+ @clear="onClear"
12
+ @click="onInputClick"
21
13
  >
22
- <template #visible="{ already }">
23
- <sar-cascader
24
- v-if="already"
25
- :model-value="popoutValue"
26
- :options="options"
27
- :field-keys="fieldKeys"
28
- :hint-text="hintText"
29
- :change-on-select="changeOnSelect"
30
- :label-render="labelRender"
31
- @select="(option, tabIndex) => $emit('select', option, tabIndex)"
32
- @change="onChange"
33
- >
34
- <template #top="{ tabIndex }">
35
- <slot name="top" :tab-index="tabIndex"></slot>
36
- </template>
37
- </sar-cascader>
38
- </template>
39
- </sar-popout>
14
+ <sar-popout
15
+ :visible="innerVisible"
16
+ :title="title ?? placeholder"
17
+ :show-confirm="showConfirm"
18
+ :root-class="popoutClass"
19
+ :root-style="popoutStyle"
20
+ @confirm="onConfirm"
21
+ @update:visible="onVisible"
22
+ >
23
+ <template #visible="{ already }">
24
+ <sar-cascader
25
+ v-if="already"
26
+ :model-value="popoutValue"
27
+ :options="options"
28
+ :field-keys="fieldKeys"
29
+ :hint-text="hintText"
30
+ :change-on-select="changeOnSelect"
31
+ :label-render="labelRender"
32
+ @select="(option, tabIndex) => $emit('select', option, tabIndex)"
33
+ @change="onChange"
34
+ >
35
+ <template #top="{ tabIndex }">
36
+ <slot name="top" :tab-index="tabIndex"></slot>
37
+ </template>
38
+ </sar-cascader>
39
+ </template>
40
+ </sar-popout>
41
+ </sar-popout-input>
40
42
  </template>
41
43
 
42
44
  <script>
@@ -72,6 +74,8 @@ export default _defineComponent({
72
74
  title: { type: String, required: false },
73
75
  showConfirm: { type: Boolean, required: false },
74
76
  validateEvent: { type: Boolean, required: false },
77
+ popoutClass: { type: String, required: false },
78
+ popoutStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
75
79
  rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
76
80
  rootClass: { type: String, required: false },
77
81
  modelValue: { type: [String, Number], required: false },
@@ -1,10 +1,13 @@
1
1
  import { type CascaderProps, type CascaderOption } from '../cascader/common';
2
2
  import { type PopoutInputProps } from '../popout-input/common';
3
+ import { type StyleValue } from 'vue';
3
4
  export interface CascaderInputProps extends CascaderProps, Omit<PopoutInputProps, 'modelValue'> {
4
5
  visible?: boolean;
5
6
  title?: string;
6
7
  showConfirm?: boolean;
7
8
  validateEvent?: boolean;
9
+ popoutClass?: string;
10
+ popoutStyle?: StyleValue;
8
11
  }
9
12
  export declare const defaultCascaderInputProps: {
10
13
  showConfirm: boolean;
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-check-icon-size: 1em;
4
5
  --sar-check-icon-square-border-radius: 0.15em;
5
6
  --sar-check-icon-border-color: var(--sar-quaternary-color);
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-checkbox-group-column-gap: 24rpx;
4
5
  --sar-checkbox-group-row-gap: 16rpx;
5
6
 
@@ -6,66 +6,68 @@
6
6
  :disabled="disabled"
7
7
  :clearable="clearable"
8
8
  multiline
9
- @clear="onClear"
10
- @click="onInputClick"
11
- />
12
-
13
- <sar-popout
14
9
  :root-class="rootClass"
15
10
  :root-style="rootStyle"
16
- :visible="innerVisible"
17
- @update:visible="onVisible"
18
- :title="title ?? placeholder"
19
- @confirm="onConfirm"
11
+ @clear="onClear"
12
+ @click="onInputClick"
20
13
  >
21
- <template #visible="{ already }">
22
- <view v-if="already" :class="containerClass">
23
- <scroll-view
24
- :class="bem.e('scroll')"
25
- scroll-y
26
- trap-scroll
27
- :upper-threshold="0"
28
- :lower-threshold="0"
29
- :throttle="false"
30
- @scroll="onScroll"
31
- @scrolltoupper="onScrolltoupper"
32
- @scrolltolower="onScrolltolower"
33
- >
34
- <sar-checkbox-group
35
- :size="size"
36
- :type="type"
37
- :checkedColor="checkedColor"
38
- :direction="direction"
39
- :validate-event="false"
40
- :model-value="popoutValue"
41
- @change="onChange"
14
+ <sar-popout
15
+ :visible="innerVisible"
16
+ :title="title ?? placeholder"
17
+ :root-class="popoutClass"
18
+ :root-style="popoutStyle"
19
+ @update:visible="onVisible"
20
+ @confirm="onConfirm"
21
+ >
22
+ <template #visible="{ already }">
23
+ <view v-if="already" :class="containerClass">
24
+ <scroll-view
25
+ :class="bem.e('scroll')"
26
+ scroll-y
27
+ trap-scroll
28
+ :upper-threshold="0"
29
+ :lower-threshold="0"
30
+ :throttle="false"
31
+ @scroll="onScroll"
32
+ @scrolltoupper="onScrolltoupper"
33
+ @scrolltolower="onScrolltolower"
42
34
  >
43
- <template #custom="{ toggle }">
44
- <sar-list inlaid>
45
- <sar-list-item
46
- v-for="option in options"
47
- :key="getMayPrimitiveOption(option, fieldKeys.value)"
48
- :title="getMayPrimitiveOption(option, fieldKeys.label)"
49
- hover
50
- @click="
51
- toggle(getMayPrimitiveOption(option, fieldKeys.value))
52
- "
53
- >
54
- <template #value>
55
- <sar-checkbox
56
- readonly
57
- :value="getMayPrimitiveOption(option, fieldKeys.value)"
58
- :validate-event="false"
59
- />
60
- </template>
61
- </sar-list-item>
62
- </sar-list>
63
- </template>
64
- </sar-checkbox-group>
65
- </scroll-view>
66
- </view>
67
- </template>
68
- </sar-popout>
35
+ <sar-checkbox-group
36
+ :size="size"
37
+ :type="type"
38
+ :checkedColor="checkedColor"
39
+ :direction="direction"
40
+ :validate-event="false"
41
+ :model-value="popoutValue"
42
+ @change="onChange"
43
+ >
44
+ <template #custom="{ toggle }">
45
+ <sar-list inlaid>
46
+ <sar-list-item
47
+ v-for="option in options"
48
+ :key="getMayPrimitiveOption(option, fieldKeys.value)"
49
+ :title="getMayPrimitiveOption(option, fieldKeys.label)"
50
+ hover
51
+ @click="
52
+ toggle(getMayPrimitiveOption(option, fieldKeys.value))
53
+ "
54
+ >
55
+ <template #value>
56
+ <sar-checkbox
57
+ readonly
58
+ :value="getMayPrimitiveOption(option, fieldKeys.value)"
59
+ :validate-event="false"
60
+ />
61
+ </template>
62
+ </sar-list-item>
63
+ </sar-list>
64
+ </template>
65
+ </sar-checkbox-group>
66
+ </scroll-view>
67
+ </view>
68
+ </template>
69
+ </sar-popout>
70
+ </sar-popout-input>
69
71
  </template>
70
72
 
71
73
  <script>
@@ -110,6 +112,8 @@ export default _defineComponent({
110
112
  props: _mergeDefaults({
111
113
  visible: { type: Boolean, required: false },
112
114
  title: { type: String, required: false },
115
+ popoutClass: { type: String, required: false },
116
+ popoutStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
113
117
  rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
114
118
  rootClass: { type: String, required: false },
115
119
  modelValue: { type: Array, required: false },
@@ -1,9 +1,12 @@
1
1
  import { type CheckboxGroupOption, type CheckboxGroupProps } from '../checkbox/common';
2
2
  import { type PopoutInputProps } from '../popout-input/common';
3
+ import { type StyleValue } from 'vue';
3
4
  export type CheckboxInputOption = CheckboxGroupOption;
4
5
  export interface CheckboxInputProps extends CheckboxGroupProps, Omit<PopoutInputProps, 'modelValue'> {
5
6
  visible?: boolean;
6
7
  title?: string;
8
+ popoutClass?: string;
9
+ popoutStyle?: StyleValue;
7
10
  }
8
11
  export declare const defaultCheckboxInputProps: () => {
9
12
  options: () => never[];
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-checkbox-input-max-height: 640rpx;
4
5
  }
5
6
  // #endvariables
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-collapse-transition-duration: var(--sar-duration);
4
5
  }
5
6
  // #endvariables
@@ -1,11 +1,14 @@
1
1
  import { type DatetimePickerProps } from '../datetime-picker/common';
2
2
  import { type PopoutInputProps } from '../popout-input/common';
3
+ import { type StyleValue } from 'vue';
3
4
  export interface DatetimePickerInputProps extends DatetimePickerProps, Omit<PopoutInputProps, 'modelValue' | 'loading'> {
4
5
  visible?: boolean;
5
6
  title?: string;
6
7
  outletFormat?: string;
7
8
  valueFormat?: string;
8
9
  validateEvent?: boolean;
10
+ popoutClass?: string;
11
+ popoutStyle?: StyleValue;
9
12
  }
10
13
  export declare const defaultDatetimePickerInputProps: () => {
11
14
  validateEvent: boolean;
@@ -5,34 +5,36 @@
5
5
  :readonly="readonly"
6
6
  :disabled="disabled"
7
7
  :clearable="clearable"
8
- @clear="onClear"
9
- @click="onInputClick"
10
- />
11
-
12
- <sar-popout
13
8
  :root-class="rootClass"
14
9
  :root-style="rootStyle"
15
- keep-render
16
- :visible="innerVisible"
17
- @update:visible="onVisible"
18
- :title="title ?? placeholder"
19
- @confirm="onConfirm"
20
- @enter="onEnter"
10
+ @clear="onClear"
11
+ @click="onInputClick"
21
12
  >
22
- <template #visible="{ already }">
23
- <sar-datetime-picker
24
- v-if="already"
25
- :model-value="popoutValue"
26
- @change="onChange"
27
- :type="type"
28
- :min="min"
29
- :max="max"
30
- :filter="filter"
31
- :formatter="formatter"
32
- :value-format="valueFormat"
33
- />
34
- </template>
35
- </sar-popout>
13
+ <sar-popout
14
+ keep-render
15
+ :visible="innerVisible"
16
+ :title="title ?? placeholder"
17
+ :root-class="popoutClass"
18
+ :root-style="popoutStyle"
19
+ @update:visible="onVisible"
20
+ @confirm="onConfirm"
21
+ @enter="onEnter"
22
+ >
23
+ <template #visible="{ already }">
24
+ <sar-datetime-picker
25
+ v-if="already"
26
+ :model-value="popoutValue"
27
+ @change="onChange"
28
+ :type="type"
29
+ :min="min"
30
+ :max="max"
31
+ :filter="filter"
32
+ :formatter="formatter"
33
+ :value-format="valueFormat"
34
+ />
35
+ </template>
36
+ </sar-popout>
37
+ </sar-popout-input>
36
38
  </template>
37
39
 
38
40
  <script>
@@ -71,6 +73,8 @@ export default _defineComponent({
71
73
  outletFormat: { type: String, required: false },
72
74
  valueFormat: { type: String, required: false },
73
75
  validateEvent: { type: Boolean, required: false },
76
+ popoutClass: { type: String, required: false },
77
+ popoutStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
74
78
  rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
75
79
  rootClass: { type: String, required: false },
76
80
  type: { type: String, required: false },
@@ -1,5 +1,6 @@
1
1
  // #variables
2
- page {
2
+ page,
3
+ .sar-portal {
3
4
  --sar-datetime-range-picker-wrapper-duration: var(--sar-duration);
4
5
  }
5
6
  // #endvariables
@@ -1,11 +1,14 @@
1
1
  import { type DatetimeRangePickerProps } from '../datetime-range-picker/common';
2
2
  import { type PopoutInputProps } from '../popout-input/common';
3
+ import { type StyleValue } from 'vue';
3
4
  export interface DatetimeRangePickerInputProps extends DatetimeRangePickerProps, Omit<PopoutInputProps, 'modelValue' | 'loading'> {
4
5
  visible?: boolean;
5
6
  title?: string;
6
7
  outletFormat?: string;
7
8
  valueFormat?: string;
8
9
  validateEvent?: boolean;
10
+ popoutClass?: string;
11
+ popoutStyle?: StyleValue;
9
12
  }
10
13
  export declare const defaultDatetimeRangePickerInputProps: () => {
11
14
  validateEvent: boolean;