sit-onyx 1.6.0-dev-20251216104923 → 1.6.0-dev-20251217080736

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.
@@ -32,6 +32,10 @@ declare const _default: <TModelValue extends SelectOptionValue | SelectOptionVal
32
32
  * Optional slot to override the option content.
33
33
  */
34
34
  option?(props: SelectOption<TValue>): unknown;
35
+ /**
36
+ * Optional slot to override the icon of the toggle button inside the input.
37
+ */
38
+ toggleIcon?(): unknown;
35
39
  }> & {
36
40
  /**
37
41
  * Optional slot to customize the empty state when no options exist.
@@ -51,6 +55,10 @@ declare const _default: <TModelValue extends SelectOptionValue | SelectOptionVal
51
55
  * Optional slot to override the option content.
52
56
  */
53
57
  option?(props: SelectOption<TValue>): unknown;
58
+ /**
59
+ * Optional slot to override the icon of the toggle button inside the input.
60
+ */
61
+ toggleIcon?(): unknown;
54
62
  };
55
63
  emit: ((evt: "validityChange", validity: ValidityState) => void) & ((evt: "update:modelValue", value?: Nullable<TModelValue>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "lazyLoad") => void) & ((evt: "update:searchTerm", value: string) => void);
56
64
  }>) => import('vue').VNode & {
@@ -9,7 +9,17 @@ declare const _default: <TValue extends SelectOptionValue>(__VLS_props: NonNulla
9
9
  input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
10
10
  }>): void;
11
11
  attrs: any;
12
- slots: {};
12
+ slots: Readonly<{
13
+ /**
14
+ * Optional slot to override the icon of the toggle button inside the input.
15
+ */
16
+ icon?(): unknown;
17
+ }> & {
18
+ /**
19
+ * Optional slot to override the icon of the toggle button inside the input.
20
+ */
21
+ icon?(): unknown;
22
+ };
13
23
  emit: ((evt: "validityChange", validity: ValidityState) => void) & ((evt: "inputClick") => void);
14
24
  }>) => import('vue').VNode & {
15
25
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -0,0 +1,129 @@
1
+ import { OnyxTimepickerProps, TimepickerType } from './types.js';
2
+ type __VLS_Props = OnyxTimepickerProps<TimepickerType>;
3
+ declare const _default: import('vue', { with: { "resolution-mode": "import" } }).DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
4
+ "update:modelValue": (value?: string | undefined) => any;
5
+ }, string, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, Readonly<__VLS_Props> & Readonly<{
6
+ "onUpdate:modelValue"?: ((value?: string | undefined) => any) | undefined;
7
+ }>, {
8
+ type: "default" | "select";
9
+ }, {}, {}, {}, string, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {
10
+ rootTemplateRef: HTMLDivElement;
11
+ hourInputTemplateRef: import('vue', { with: { "resolution-mode": "import" } }).CreateComponentPublicInstanceWithMixins<Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
12
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
14
+ }>, {
15
+ input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
16
+ }, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
17
+ validityChange: (validity: ValidityState) => any;
18
+ "update:modelValue": (value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any;
19
+ }, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, {
20
+ skeleton: import('../../index.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
21
+ disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
22
+ showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
23
+ readonly: boolean;
24
+ loading: boolean;
25
+ stepSize: number;
26
+ hideButtons: boolean;
27
+ }, false, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).GlobalComponents, import('vue', { with: { "resolution-mode": "import" } }).GlobalDirectives, string, {
28
+ inputRef: HTMLInputElement;
29
+ }, any, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, {
30
+ P: {};
31
+ B: {};
32
+ D: {};
33
+ C: {};
34
+ M: {};
35
+ Defaults: {};
36
+ }, Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
37
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
38
+ "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
39
+ }>, {
40
+ input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
41
+ }, {}, {}, {}, {
42
+ skeleton: import('../../index.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
43
+ disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
44
+ showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
45
+ readonly: boolean;
46
+ loading: boolean;
47
+ stepSize: number;
48
+ hideButtons: boolean;
49
+ }> | null;
50
+ minuteInputTemplateRef: import('vue', { with: { "resolution-mode": "import" } }).CreateComponentPublicInstanceWithMixins<Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
51
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
52
+ "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
53
+ }>, {
54
+ input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
55
+ }, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
56
+ validityChange: (validity: ValidityState) => any;
57
+ "update:modelValue": (value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any;
58
+ }, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, {
59
+ skeleton: import('../../index.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
60
+ disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
61
+ showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
62
+ readonly: boolean;
63
+ loading: boolean;
64
+ stepSize: number;
65
+ hideButtons: boolean;
66
+ }, false, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).GlobalComponents, import('vue', { with: { "resolution-mode": "import" } }).GlobalDirectives, string, {
67
+ inputRef: HTMLInputElement;
68
+ }, any, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, {
69
+ P: {};
70
+ B: {};
71
+ D: {};
72
+ C: {};
73
+ M: {};
74
+ Defaults: {};
75
+ }, Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
76
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
77
+ "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
78
+ }>, {
79
+ input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
80
+ }, {}, {}, {}, {
81
+ skeleton: import('../../index.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
82
+ disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
83
+ showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
84
+ readonly: boolean;
85
+ loading: boolean;
86
+ stepSize: number;
87
+ hideButtons: boolean;
88
+ }> | null;
89
+ secondInputTemplateRef: import('vue', { with: { "resolution-mode": "import" } }).CreateComponentPublicInstanceWithMixins<Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
90
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
91
+ "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
92
+ }>, {
93
+ input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
94
+ }, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
95
+ validityChange: (validity: ValidityState) => any;
96
+ "update:modelValue": (value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any;
97
+ }, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, {
98
+ skeleton: import('../../index.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
99
+ disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
100
+ showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
101
+ readonly: boolean;
102
+ loading: boolean;
103
+ stepSize: number;
104
+ hideButtons: boolean;
105
+ }, false, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).GlobalComponents, import('vue', { with: { "resolution-mode": "import" } }).GlobalDirectives, string, {
106
+ inputRef: HTMLInputElement;
107
+ }, any, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, {
108
+ P: {};
109
+ B: {};
110
+ D: {};
111
+ C: {};
112
+ M: {};
113
+ Defaults: {};
114
+ }, Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
115
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
116
+ "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
117
+ }>, {
118
+ input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
119
+ }, {}, {}, {}, {
120
+ skeleton: import('../../index.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
121
+ disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
122
+ showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
123
+ readonly: boolean;
124
+ loading: boolean;
125
+ stepSize: number;
126
+ hideButtons: boolean;
127
+ }> | null;
128
+ }, HTMLDivElement>;
129
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { OnyxTimepickerProps, TimepickerType } from './types.js';
2
+ type __VLS_Props = OnyxTimepickerProps<TimepickerType>;
3
+ declare const _default: import('vue', { with: { "resolution-mode": "import" } }).DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
4
+ "update:modelValue": (value?: string | undefined) => any;
5
+ }, string, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, Readonly<__VLS_Props> & Readonly<{
6
+ "onUpdate:modelValue"?: ((value?: string | undefined) => any) | undefined;
7
+ }>, {
8
+ type: "default" | "select";
9
+ }, {}, {}, {}, string, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -1,7 +1,8 @@
1
- import { OnyxTimepickerProps } from './types.js';
2
- declare const _default: import('vue', { with: { "resolution-mode": "import" } }).DefineComponent<OnyxTimepickerProps, {}, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
1
+ import { OnyxTimepickerProps, TimepickerType } from './types.js';
2
+ type __VLS_Props = OnyxTimepickerProps<TimepickerType>;
3
+ declare const _default: import('vue', { with: { "resolution-mode": "import" } }).DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
3
4
  "update:modelValue": (value?: string | undefined) => any;
4
- }, string, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, Readonly<OnyxTimepickerProps> & Readonly<{
5
+ }, string, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, Readonly<__VLS_Props> & Readonly<{
5
6
  "onUpdate:modelValue"?: ((value?: string | undefined) => any) | undefined;
6
7
  }>, {
7
8
  skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
@@ -10,125 +11,7 @@ declare const _default: import('vue', { with: { "resolution-mode": "import" } })
10
11
  showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
11
12
  requiredMarker: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType>;
12
13
  readonly: boolean;
14
+ type: "default" | "select";
13
15
  showSeconds: boolean;
14
- }, {}, {}, {}, string, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {
15
- rootTemplateRef: HTMLDivElement;
16
- hourInputTemplateRef: import('vue', { with: { "resolution-mode": "import" } }).CreateComponentPublicInstanceWithMixins<Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
17
- onValidityChange?: ((validity: ValidityState) => any) | undefined;
18
- "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
19
- }>, {
20
- input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
21
- }, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
22
- validityChange: (validity: ValidityState) => any;
23
- "update:modelValue": (value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any;
24
- }, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, {
25
- skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
26
- disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
27
- showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
28
- readonly: boolean;
29
- loading: boolean;
30
- stepSize: number;
31
- hideButtons: boolean;
32
- }, false, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).GlobalComponents, import('vue', { with: { "resolution-mode": "import" } }).GlobalDirectives, string, {
33
- inputRef: HTMLInputElement;
34
- }, any, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, {
35
- P: {};
36
- B: {};
37
- D: {};
38
- C: {};
39
- M: {};
40
- Defaults: {};
41
- }, Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
42
- onValidityChange?: ((validity: ValidityState) => any) | undefined;
43
- "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
44
- }>, {
45
- input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
46
- }, {}, {}, {}, {
47
- skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
48
- disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
49
- showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
50
- readonly: boolean;
51
- loading: boolean;
52
- stepSize: number;
53
- hideButtons: boolean;
54
- }> | null;
55
- minuteInputTemplateRef: import('vue', { with: { "resolution-mode": "import" } }).CreateComponentPublicInstanceWithMixins<Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
56
- onValidityChange?: ((validity: ValidityState) => any) | undefined;
57
- "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
58
- }>, {
59
- input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
60
- }, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
61
- validityChange: (validity: ValidityState) => any;
62
- "update:modelValue": (value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any;
63
- }, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, {
64
- skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
65
- disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
66
- showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
67
- readonly: boolean;
68
- loading: boolean;
69
- stepSize: number;
70
- hideButtons: boolean;
71
- }, false, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).GlobalComponents, import('vue', { with: { "resolution-mode": "import" } }).GlobalDirectives, string, {
72
- inputRef: HTMLInputElement;
73
- }, any, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, {
74
- P: {};
75
- B: {};
76
- D: {};
77
- C: {};
78
- M: {};
79
- Defaults: {};
80
- }, Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
81
- onValidityChange?: ((validity: ValidityState) => any) | undefined;
82
- "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
83
- }>, {
84
- input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
85
- }, {}, {}, {}, {
86
- skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
87
- disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
88
- showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
89
- readonly: boolean;
90
- loading: boolean;
91
- stepSize: number;
92
- hideButtons: boolean;
93
- }> | null;
94
- secondInputTemplateRef: import('vue', { with: { "resolution-mode": "import" } }).CreateComponentPublicInstanceWithMixins<Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
95
- onValidityChange?: ((validity: ValidityState) => any) | undefined;
96
- "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
97
- }>, {
98
- input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
99
- }, {}, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import('vue', { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
100
- validityChange: (validity: ValidityState) => any;
101
- "update:modelValue": (value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any;
102
- }, import('vue', { with: { "resolution-mode": "import" } }).PublicProps, {
103
- skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
104
- disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
105
- showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
106
- readonly: boolean;
107
- loading: boolean;
108
- stepSize: number;
109
- hideButtons: boolean;
110
- }, false, {}, {}, import('vue', { with: { "resolution-mode": "import" } }).GlobalComponents, import('vue', { with: { "resolution-mode": "import" } }).GlobalDirectives, string, {
111
- inputRef: HTMLInputElement;
112
- }, any, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, {
113
- P: {};
114
- B: {};
115
- D: {};
116
- C: {};
117
- M: {};
118
- Defaults: {};
119
- }, Readonly<import('../OnyxStepper/types.js', { with: { "resolution-mode": "import" } }).OnyxStepperProps> & Readonly<{
120
- onValidityChange?: ((validity: ValidityState) => any) | undefined;
121
- "onUpdate:modelValue"?: ((value?: import('../../index.js', { with: { "resolution-mode": "import" } }).Nullable<number>) => any) | undefined;
122
- }>, {
123
- input: Readonly<import('vue', { with: { "resolution-mode": "import" } }).ShallowRef<HTMLInputElement | null>>;
124
- }, {}, {}, {}, {
125
- skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
126
- disabled: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
127
- showError: import('../OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
128
- readonly: boolean;
129
- loading: boolean;
130
- stepSize: number;
131
- hideButtons: boolean;
132
- }> | null;
133
- }, HTMLDivElement>;
16
+ }, {}, {}, {}, string, import('vue', { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, HTMLDivElement>;
134
17
  export default _default;
@@ -1,5 +1,5 @@
1
- import { OnyxTimepickerProps } from './types.js';
2
- type __VLS_Props = OnyxTimepickerProps & {
1
+ import { OnyxTimepickerProps, TimepickerType } from './types.js';
2
+ type __VLS_Props = Omit<OnyxTimepickerProps<TimepickerType>, "type"> & {
3
3
  /**
4
4
  * Defines the granularity of the time input in seconds.
5
5
  */
@@ -1,6 +1,47 @@
1
1
  import { AutofocusProp } from '../../types/components.js';
2
2
  import { SharedFormElementProps } from '../OnyxFormElement/types.js';
3
- export type OnyxTimepickerProps = Omit<SharedFormElementProps, "placeholder"> & AutofocusProp & {
3
+ import { OnyxInputProps } from '../OnyxInput/types.js';
4
+ import { SelectOption } from '../OnyxSelect/types.js';
5
+ export declare const TIMEPICKER_TYPES: readonly ["default", "select"];
6
+ export type TimepickerType = (typeof TIMEPICKER_TYPES)[number];
7
+ export type TimepickerSelectOptions = {
8
+ /**
9
+ * The step size, in seconds, used for generating the time options.
10
+ * @default 1800 // 30 min
11
+ */
12
+ stepSize?: number;
13
+ /**
14
+ * A function that provides custom time options.
15
+ */
16
+ customTimes?: SelectOption<string>[];
17
+ };
18
+ export type OnyxTimepickerProps<TType extends TimepickerType = "default"> = Omit<SharedFormElementProps, "placeholder"> & Pick<OnyxInputProps, "hideClearIcon"> & AutofocusProp & {
19
+ /**
20
+ * Specifies the type of timepicker input.
21
+ * - 'default': Free text input with validation.
22
+ * - 'select': Displays a dropdown list with pre-generated time options.
23
+ * @default 'default'
24
+ */
25
+ type?: TType;
26
+ /**
27
+ * Configuration options for the timepicker's option generation.
28
+ * This property is ONLY available when `type` is set to 'select'.
29
+ */
30
+ options?: TType extends "select" ? TimepickerSelectOptions : never;
31
+ /**
32
+ * Time in Seconds since midnight.
33
+ */
34
+ modelValue?: string;
35
+ /**
36
+ * Minimum time to input in 24-hour format (including the minimum time).
37
+ * @format HH:MM:SS (e.g., "08:00:00")
38
+ */
39
+ min?: `${number}:${number}` | `${number}:${number}:${number}`;
40
+ /**
41
+ * Maximum time to input in 24-hour format (including the maximum time).
42
+ * @format HH:MM:ss (e.g., "17:30:00")
43
+ */
44
+ max?: `${number}:${number}` | `${number}:${number}:${number}`;
4
45
  /**
5
46
  * Whether to show the seconds segment (:SS).
6
47
  * If true, the format is HH:MM:SS. If false, the format is HH:MM.
@@ -14,8 +55,4 @@ export type OnyxTimepickerProps = Omit<SharedFormElementProps, "placeholder"> &
14
55
  * Whether to hide the info label.
15
56
  */
16
57
  hideInfoLabelIcon?: boolean;
17
- /**
18
- * Time in Seconds since midnight.
19
- */
20
- modelValue?: string;
21
58
  };
@@ -277,7 +277,8 @@
277
277
  "popover": "Timepicker Popover",
278
278
  "hour": "Stunde",
279
279
  "minute": "Minute",
280
- "second": "Sekunde"
280
+ "second": "Sekunde",
281
+ "listLabel": "Zeitoptionen"
281
282
  }
282
283
  },
283
284
  "itemsPerPage": {
@@ -280,7 +280,8 @@
280
280
  "popover": "Timepicker Popover",
281
281
  "hour": "Hour",
282
282
  "minute": "Minute",
283
- "second": "Second"
283
+ "second": "Second",
284
+ "listLabel": "Time options"
284
285
  }
285
286
  },
286
287
  "itemsPerPage": {
@@ -280,7 +280,8 @@ declare const _default: {
280
280
  "popover": "Timepicker Popover",
281
281
  "hour": "Hour",
282
282
  "minute": "Minute",
283
- "second": "Second"
283
+ "second": "Second",
284
+ "listLabel": "Time options"
284
285
  }
285
286
  },
286
287
  "itemsPerPage": {