@kingsy/headlessui-vue 1.7.23-alpha.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 (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/dist/components/combobox/combobox.d.ts +323 -0
  4. package/dist/components/combobox/combobox.js +1 -0
  5. package/dist/components/description/description.d.ts +32 -0
  6. package/dist/components/description/description.js +1 -0
  7. package/dist/components/dialog/dialog.d.ts +202 -0
  8. package/dist/components/dialog/dialog.js +1 -0
  9. package/dist/components/disclosure/disclosure.d.ts +105 -0
  10. package/dist/components/disclosure/disclosure.js +1 -0
  11. package/dist/components/focus-trap/focus-trap.d.ts +151 -0
  12. package/dist/components/focus-trap/focus-trap.js +1 -0
  13. package/dist/components/label/label.d.ts +41 -0
  14. package/dist/components/label/label.js +1 -0
  15. package/dist/components/listbox/listbox.d.ts +229 -0
  16. package/dist/components/listbox/listbox.js +1 -0
  17. package/dist/components/menu/menu.d.ts +131 -0
  18. package/dist/components/menu/menu.js +1 -0
  19. package/dist/components/popover/popover.d.ts +151 -0
  20. package/dist/components/popover/popover.js +1 -0
  21. package/dist/components/portal/portal.d.ts +45 -0
  22. package/dist/components/portal/portal.js +1 -0
  23. package/dist/components/radio-group/radio-group.d.ts +184 -0
  24. package/dist/components/radio-group/radio-group.js +1 -0
  25. package/dist/components/switch/switch.d.ts +166 -0
  26. package/dist/components/switch/switch.js +1 -0
  27. package/dist/components/tabs/tabs.d.ts +177 -0
  28. package/dist/components/tabs/tabs.js +1 -0
  29. package/dist/components/transitions/transition.d.ts +234 -0
  30. package/dist/components/transitions/transition.js +1 -0
  31. package/dist/components/transitions/utils/transition.d.ts +5 -0
  32. package/dist/components/transitions/utils/transition.js +1 -0
  33. package/dist/headlessui.dev.cjs +8042 -0
  34. package/dist/headlessui.esm.js +1 -0
  35. package/dist/headlessui.esm.js.map +7 -0
  36. package/dist/headlessui.prod.cjs +7 -0
  37. package/dist/hooks/__mocks__/use-id.d.ts +1 -0
  38. package/dist/hooks/document-overflow/adjust-scrollbar-padding.d.ts +2 -0
  39. package/dist/hooks/document-overflow/adjust-scrollbar-padding.js +1 -0
  40. package/dist/hooks/document-overflow/handle-ios-locking.d.ts +6 -0
  41. package/dist/hooks/document-overflow/handle-ios-locking.js +1 -0
  42. package/dist/hooks/document-overflow/overflow-store.d.ts +19 -0
  43. package/dist/hooks/document-overflow/overflow-store.js +1 -0
  44. package/dist/hooks/document-overflow/prevent-scroll.d.ts +2 -0
  45. package/dist/hooks/document-overflow/prevent-scroll.js +1 -0
  46. package/dist/hooks/document-overflow/use-document-overflow.d.ts +3 -0
  47. package/dist/hooks/document-overflow/use-document-overflow.js +1 -0
  48. package/dist/hooks/use-controllable.d.ts +2 -0
  49. package/dist/hooks/use-controllable.js +1 -0
  50. package/dist/hooks/use-disposables.d.ts +25 -0
  51. package/dist/hooks/use-disposables.js +1 -0
  52. package/dist/hooks/use-document-event.d.ts +2 -0
  53. package/dist/hooks/use-document-event.js +1 -0
  54. package/dist/hooks/use-event-listener.d.ts +1 -0
  55. package/dist/hooks/use-event-listener.js +1 -0
  56. package/dist/hooks/use-frame-debounce.d.ts +8 -0
  57. package/dist/hooks/use-frame-debounce.js +1 -0
  58. package/dist/hooks/use-id.d.ts +1 -0
  59. package/dist/hooks/use-id.js +1 -0
  60. package/dist/hooks/use-inert.d.ts +2 -0
  61. package/dist/hooks/use-inert.js +1 -0
  62. package/dist/hooks/use-outside-click.d.ts +6 -0
  63. package/dist/hooks/use-outside-click.js +1 -0
  64. package/dist/hooks/use-resolve-button-type.d.ts +5 -0
  65. package/dist/hooks/use-resolve-button-type.js +1 -0
  66. package/dist/hooks/use-root-containers.d.ts +19 -0
  67. package/dist/hooks/use-root-containers.js +1 -0
  68. package/dist/hooks/use-store.d.ts +2 -0
  69. package/dist/hooks/use-store.js +1 -0
  70. package/dist/hooks/use-tab-direction.d.ts +5 -0
  71. package/dist/hooks/use-tab-direction.js +1 -0
  72. package/dist/hooks/use-text-value.d.ts +2 -0
  73. package/dist/hooks/use-text-value.js +1 -0
  74. package/dist/hooks/use-tracked-pointer.d.ts +4 -0
  75. package/dist/hooks/use-tracked-pointer.js +1 -0
  76. package/dist/hooks/use-tree-walker.d.ts +9 -0
  77. package/dist/hooks/use-tree-walker.js +1 -0
  78. package/dist/hooks/use-window-event.d.ts +2 -0
  79. package/dist/hooks/use-window-event.js +1 -0
  80. package/dist/index.cjs +7 -0
  81. package/dist/index.d.cts +12 -0
  82. package/dist/index.d.ts +12 -0
  83. package/dist/index.js +1 -0
  84. package/dist/internal/dom-containers.d.ts +1 -0
  85. package/dist/internal/dom-containers.js +1 -0
  86. package/dist/internal/focus-sentinel.d.ts +13 -0
  87. package/dist/internal/focus-sentinel.js +1 -0
  88. package/dist/internal/hidden.d.ts +32 -0
  89. package/dist/internal/hidden.js +1 -0
  90. package/dist/internal/open-closed.d.ts +10 -0
  91. package/dist/internal/open-closed.js +1 -0
  92. package/dist/internal/portal-force-root.d.ts +27 -0
  93. package/dist/internal/portal-force-root.js +1 -0
  94. package/dist/internal/stack-context.d.ts +14 -0
  95. package/dist/internal/stack-context.js +1 -0
  96. package/dist/keyboard.d.ts +16 -0
  97. package/dist/keyboard.js +1 -0
  98. package/dist/mouse.d.ts +4 -0
  99. package/dist/mouse.js +1 -0
  100. package/dist/utils/active-element-history.d.ts +1 -0
  101. package/dist/utils/active-element-history.js +1 -0
  102. package/dist/utils/calculate-active-index.d.ts +25 -0
  103. package/dist/utils/calculate-active-index.js +1 -0
  104. package/dist/utils/disposables.d.ts +12 -0
  105. package/dist/utils/disposables.js +1 -0
  106. package/dist/utils/document-ready.d.ts +1 -0
  107. package/dist/utils/document-ready.js +1 -0
  108. package/dist/utils/dom.d.ts +4 -0
  109. package/dist/utils/dom.js +1 -0
  110. package/dist/utils/env.d.ts +13 -0
  111. package/dist/utils/env.js +1 -0
  112. package/dist/utils/focus-management.d.ts +38 -0
  113. package/dist/utils/focus-management.js +1 -0
  114. package/dist/utils/form.d.ts +4 -0
  115. package/dist/utils/form.js +1 -0
  116. package/dist/utils/get-text-value.d.ts +1 -0
  117. package/dist/utils/get-text-value.js +1 -0
  118. package/dist/utils/match.d.ts +1 -0
  119. package/dist/utils/match.js +1 -0
  120. package/dist/utils/micro-task.d.ts +1 -0
  121. package/dist/utils/micro-task.js +1 -0
  122. package/dist/utils/once.d.ts +1 -0
  123. package/dist/utils/once.js +1 -0
  124. package/dist/utils/owner.d.ts +2 -0
  125. package/dist/utils/owner.js +1 -0
  126. package/dist/utils/pipeline.d.ts +4 -0
  127. package/dist/utils/pipeline.js +1 -0
  128. package/dist/utils/platform.d.ts +3 -0
  129. package/dist/utils/platform.js +1 -0
  130. package/dist/utils/render.d.ts +39 -0
  131. package/dist/utils/render.js +4 -0
  132. package/dist/utils/resolve-prop-value.d.ts +1 -0
  133. package/dist/utils/resolve-prop-value.js +1 -0
  134. package/dist/utils/store.d.ts +11 -0
  135. package/dist/utils/store.js +1 -0
  136. package/package.json +55 -0
@@ -0,0 +1,166 @@
1
+ export declare let SwitchGroup: import("vue").DefineComponent<{
2
+ as: {
3
+ type: (ObjectConstructor | StringConstructor)[];
4
+ default: string;
5
+ };
6
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
7
+ [key: string]: any;
8
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
9
+ [key: string]: any;
10
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
11
+ as: {
12
+ type: (ObjectConstructor | StringConstructor)[];
13
+ default: string;
14
+ };
15
+ }>>, {
16
+ as: string | Record<string, any>;
17
+ }>;
18
+ export declare let Switch: import("vue").DefineComponent<{
19
+ as: {
20
+ type: (ObjectConstructor | StringConstructor)[];
21
+ default: string;
22
+ };
23
+ modelValue: {
24
+ type: BooleanConstructor;
25
+ default: undefined;
26
+ };
27
+ defaultChecked: {
28
+ type: BooleanConstructor;
29
+ optional: boolean;
30
+ };
31
+ form: {
32
+ type: StringConstructor;
33
+ optional: boolean;
34
+ };
35
+ name: {
36
+ type: StringConstructor;
37
+ optional: boolean;
38
+ };
39
+ value: {
40
+ type: StringConstructor;
41
+ optional: boolean;
42
+ };
43
+ id: {
44
+ type: StringConstructor;
45
+ default: () => string;
46
+ };
47
+ disabled: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ tabIndex: {
52
+ type: NumberConstructor;
53
+ default: number;
54
+ };
55
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
56
+ [key: string]: any;
57
+ }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
58
+ 'update:modelValue': (_value: boolean) => true;
59
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
60
+ as: {
61
+ type: (ObjectConstructor | StringConstructor)[];
62
+ default: string;
63
+ };
64
+ modelValue: {
65
+ type: BooleanConstructor;
66
+ default: undefined;
67
+ };
68
+ defaultChecked: {
69
+ type: BooleanConstructor;
70
+ optional: boolean;
71
+ };
72
+ form: {
73
+ type: StringConstructor;
74
+ optional: boolean;
75
+ };
76
+ name: {
77
+ type: StringConstructor;
78
+ optional: boolean;
79
+ };
80
+ value: {
81
+ type: StringConstructor;
82
+ optional: boolean;
83
+ };
84
+ id: {
85
+ type: StringConstructor;
86
+ default: () => string;
87
+ };
88
+ disabled: {
89
+ type: BooleanConstructor;
90
+ default: boolean;
91
+ };
92
+ tabIndex: {
93
+ type: NumberConstructor;
94
+ default: number;
95
+ };
96
+ }>> & {
97
+ "onUpdate:modelValue"?: ((_value: boolean) => any) | undefined;
98
+ }, {
99
+ id: string;
100
+ tabIndex: number;
101
+ as: string | Record<string, any>;
102
+ disabled: boolean;
103
+ modelValue: boolean;
104
+ defaultChecked: boolean;
105
+ }>;
106
+ export declare let SwitchLabel: import("vue").DefineComponent<{
107
+ as: {
108
+ type: (ObjectConstructor | StringConstructor)[];
109
+ default: string;
110
+ };
111
+ passive: {
112
+ type: BooleanConstructor[];
113
+ default: boolean;
114
+ };
115
+ id: {
116
+ type: StringConstructor;
117
+ default: () => string;
118
+ };
119
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
120
+ [key: string]: any;
121
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
122
+ [key: string]: any;
123
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
124
+ as: {
125
+ type: (ObjectConstructor | StringConstructor)[];
126
+ default: string;
127
+ };
128
+ passive: {
129
+ type: BooleanConstructor[];
130
+ default: boolean;
131
+ };
132
+ id: {
133
+ type: StringConstructor;
134
+ default: () => string;
135
+ };
136
+ }>>, {
137
+ passive: boolean;
138
+ id: string;
139
+ as: string | Record<string, any>;
140
+ }>;
141
+ export declare let SwitchDescription: import("vue").DefineComponent<{
142
+ as: {
143
+ type: (ObjectConstructor | StringConstructor)[];
144
+ default: string;
145
+ };
146
+ id: {
147
+ type: StringConstructor;
148
+ default: () => string;
149
+ };
150
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
151
+ [key: string]: any;
152
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
153
+ [key: string]: any;
154
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
155
+ as: {
156
+ type: (ObjectConstructor | StringConstructor)[];
157
+ default: string;
158
+ };
159
+ id: {
160
+ type: StringConstructor;
161
+ default: () => string;
162
+ };
163
+ }>>, {
164
+ id: string;
165
+ as: string | Record<string, any>;
166
+ }>;
@@ -0,0 +1 @@
1
+ import{Fragment as B,computed as d,defineComponent as y,h as b,inject as H,onMounted as M,provide as I,ref as v,watch as P}from"vue";import{useControllable as j}from'../../hooks/use-controllable.js';import{useId as G}from'../../hooks/use-id.js';import{useResolveButtonType as V}from'../../hooks/use-resolve-button-type.js';import{Hidden as F,Features as O}from'../../internal/hidden.js';import{Keys as S}from'../../keyboard.js';import{dom as A}from'../../utils/dom.js';import{attemptSubmit as N}from'../../utils/form.js';import{compact as $,omit as U,render as w}from'../../utils/render.js';import{Description as _,useDescriptions as q}from'../description/description.js';import{Label as z,useLabels as J}from'../label/label.js';let g=Symbol("GroupContext"),ie=y({name:"SwitchGroup",props:{as:{type:[Object,String],default:"template"}},setup(l,{slots:p,attrs:o}){let a=v(null),f=J({name:"SwitchLabel",props:{htmlFor:d(()=>{var n;return(n=a.value)==null?void 0:n.id}),onClick(n){a.value&&(n.currentTarget.tagName==="LABEL"&&n.preventDefault(),a.value.click(),a.value.focus({preventScroll:!0}))}}}),t=q({name:"SwitchDescription"});return I(g,{switchRef:a,labelledby:f,describedby:t}),()=>w({theirProps:l,ourProps:{},slot:{},slots:p,attrs:o,name:"SwitchGroup"})}}),oe=y({name:"Switch",emits:{"update:modelValue":l=>!0},props:{as:{type:[Object,String],default:"button"},modelValue:{type:Boolean,default:void 0},defaultChecked:{type:Boolean,optional:!0},form:{type:String,optional:!0},name:{type:String,optional:!0},value:{type:String,optional:!0},id:{type:String,default:()=>`headlessui-switch-${G()}`},disabled:{type:Boolean,default:!1},tabIndex:{type:Number,default:0}},inheritAttrs:!1,setup(l,{emit:p,attrs:o,slots:a,expose:f}){let t=H(g,null),[i,n]=j(d(()=>l.modelValue),e=>p("update:modelValue",e),d(()=>l.defaultChecked));function s(){n(!i.value)}let k=v(null),u=t===null?k:t.switchRef,C=V(d(()=>({as:l.as,type:o.type})),u);f({el:u,$el:u});function E(e){e.preventDefault(),s()}function L(e){e.key===S.Space?(e.preventDefault(),s()):e.key===S.Enter&&N(e.currentTarget)}function D(e){e.preventDefault()}let c=d(()=>{var e,r;return(r=(e=A(u))==null?void 0:e.closest)==null?void 0:r.call(e,"form")});return M(()=>{P([c],()=>{if(!c.value||l.defaultChecked===void 0)return;function e(){n(l.defaultChecked)}return c.value.addEventListener("reset",e),()=>{var r;(r=c.value)==null||r.removeEventListener("reset",e)}},{immediate:!0})}),()=>{let{id:e,name:r,value:R,form:x,tabIndex:m,...h}=l,K={checked:i.value},T={id:e,ref:u,role:"switch",type:C.value,tabIndex:m===-1?0:m,"aria-checked":i.value,"aria-labelledby":t==null?void 0:t.labelledby.value,"aria-describedby":t==null?void 0:t.describedby.value,onClick:E,onKeyup:L,onKeypress:D};return b(B,[r!=null&&i.value!=null?b(F,$({features:O.Hidden,as:"input",type:"checkbox",hidden:!0,readOnly:!0,checked:i.value,form:x,disabled:h.disabled,name:r,value:R})):null,w({ourProps:T,theirProps:{...o,...U(h,["modelValue","defaultChecked"])},slot:K,attrs:o,slots:a,name:"Switch"})])}}}),ue=z,de=_;export{oe as Switch,de as SwitchDescription,ie as SwitchGroup,ue as SwitchLabel};
@@ -0,0 +1,177 @@
1
+ export declare let TabGroup: import("vue").DefineComponent<{
2
+ as: {
3
+ type: (ObjectConstructor | StringConstructor)[];
4
+ default: string;
5
+ };
6
+ selectedIndex: {
7
+ type: NumberConstructor[];
8
+ default: null;
9
+ };
10
+ defaultIndex: {
11
+ type: NumberConstructor[];
12
+ default: number;
13
+ };
14
+ vertical: {
15
+ type: BooleanConstructor[];
16
+ default: boolean;
17
+ };
18
+ manual: {
19
+ type: BooleanConstructor[];
20
+ default: boolean;
21
+ };
22
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
23
+ [key: string]: any;
24
+ }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ change: (_index: number) => true;
26
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
+ as: {
28
+ type: (ObjectConstructor | StringConstructor)[];
29
+ default: string;
30
+ };
31
+ selectedIndex: {
32
+ type: NumberConstructor[];
33
+ default: null;
34
+ };
35
+ defaultIndex: {
36
+ type: NumberConstructor[];
37
+ default: number;
38
+ };
39
+ vertical: {
40
+ type: BooleanConstructor[];
41
+ default: boolean;
42
+ };
43
+ manual: {
44
+ type: BooleanConstructor[];
45
+ default: boolean;
46
+ };
47
+ }>> & {
48
+ onChange?: ((_index: number) => any) | undefined;
49
+ }, {
50
+ as: string | Record<string, any>;
51
+ vertical: boolean;
52
+ manual: boolean;
53
+ selectedIndex: number;
54
+ defaultIndex: number;
55
+ }>;
56
+ export declare let TabList: import("vue").DefineComponent<{
57
+ as: {
58
+ type: (ObjectConstructor | StringConstructor)[];
59
+ default: string;
60
+ };
61
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
62
+ [key: string]: any;
63
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
64
+ [key: string]: any;
65
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
66
+ as: {
67
+ type: (ObjectConstructor | StringConstructor)[];
68
+ default: string;
69
+ };
70
+ }>>, {
71
+ as: string | Record<string, any>;
72
+ }>;
73
+ export declare let Tab: import("vue").DefineComponent<{
74
+ as: {
75
+ type: (ObjectConstructor | StringConstructor)[];
76
+ default: string;
77
+ };
78
+ disabled: {
79
+ type: BooleanConstructor[];
80
+ default: boolean;
81
+ };
82
+ id: {
83
+ type: StringConstructor;
84
+ default: () => string;
85
+ };
86
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
87
+ [key: string]: any;
88
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
89
+ [key: string]: any;
90
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
91
+ as: {
92
+ type: (ObjectConstructor | StringConstructor)[];
93
+ default: string;
94
+ };
95
+ disabled: {
96
+ type: BooleanConstructor[];
97
+ default: boolean;
98
+ };
99
+ id: {
100
+ type: StringConstructor;
101
+ default: () => string;
102
+ };
103
+ }>>, {
104
+ id: string;
105
+ as: string | Record<string, any>;
106
+ disabled: boolean;
107
+ }>;
108
+ export declare let TabPanels: import("vue").DefineComponent<{
109
+ as: {
110
+ type: (ObjectConstructor | StringConstructor)[];
111
+ default: string;
112
+ };
113
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
114
+ [key: string]: any;
115
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
116
+ [key: string]: any;
117
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
118
+ as: {
119
+ type: (ObjectConstructor | StringConstructor)[];
120
+ default: string;
121
+ };
122
+ }>>, {
123
+ as: string | Record<string, any>;
124
+ }>;
125
+ export declare let TabPanel: import("vue").DefineComponent<{
126
+ as: {
127
+ type: (ObjectConstructor | StringConstructor)[];
128
+ default: string;
129
+ };
130
+ static: {
131
+ type: BooleanConstructor;
132
+ default: boolean;
133
+ };
134
+ unmount: {
135
+ type: BooleanConstructor;
136
+ default: boolean;
137
+ };
138
+ id: {
139
+ type: StringConstructor;
140
+ default: () => string;
141
+ };
142
+ tabIndex: {
143
+ type: NumberConstructor;
144
+ default: number;
145
+ };
146
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
147
+ [key: string]: any;
148
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
149
+ [key: string]: any;
150
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
151
+ as: {
152
+ type: (ObjectConstructor | StringConstructor)[];
153
+ default: string;
154
+ };
155
+ static: {
156
+ type: BooleanConstructor;
157
+ default: boolean;
158
+ };
159
+ unmount: {
160
+ type: BooleanConstructor;
161
+ default: boolean;
162
+ };
163
+ id: {
164
+ type: StringConstructor;
165
+ default: () => string;
166
+ };
167
+ tabIndex: {
168
+ type: NumberConstructor;
169
+ default: number;
170
+ };
171
+ }>>, {
172
+ id: string;
173
+ tabIndex: number;
174
+ as: string | Record<string, any>;
175
+ unmount: boolean;
176
+ static: boolean;
177
+ }>;
@@ -0,0 +1 @@
1
+ import{Fragment as z,computed as c,defineComponent as D,h as H,inject as A,onMounted as M,onUnmounted as K,provide as N,ref as h,watch as _,watchEffect as J}from"vue";import{useId as $}from'../../hooks/use-id.js';import{useResolveButtonType as Q}from'../../hooks/use-resolve-button-type.js';import{FocusSentinel as V}from'../../internal/focus-sentinel.js';import{Hidden as X}from'../../internal/hidden.js';import{Keys as I}from'../../keyboard.js';import{dom as o}from'../../utils/dom.js';import{Focus as y,FocusResult as C,focusIn as R,sortByDomNode as O}from'../../utils/focus-management.js';import{match as F}from'../../utils/match.js';import{microTask as Y}from'../../utils/micro-task.js';import{getOwnerDocument as Z}from'../../utils/owner.js';import{Features as q,omit as ee,render as L}from'../../utils/render.js';var te=(i=>(i[i.Forwards=0]="Forwards",i[i.Backwards=1]="Backwards",i))(te||{}),le=(s=>(s[s.Less=-1]="Less",s[s.Equal=0]="Equal",s[s.Greater=1]="Greater",s))(le||{});let U=Symbol("TabsContext");function k(a){let v=A(U,null);if(v===null){let i=new Error(`<${a} /> is missing a parent <TabGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,k),i}return v}let j=Symbol("TabsSSRContext"),me=D({name:"TabGroup",emits:{change:a=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(a,{slots:v,attrs:i,emit:s}){var P;let l=h((P=a.selectedIndex)!=null?P:a.defaultIndex),n=h([]),d=h([]),S=c(()=>a.selectedIndex!==null),b=c(()=>S.value?a.selectedIndex:l.value);function m(t){var T;let e=O(r.tabs.value,o),u=O(r.panels.value,o),f=e.filter(p=>{var x;return!((x=o(p))!=null&&x.hasAttribute("disabled"))});if(t<0||t>e.length-1){let p=F(l.value===null?0:Math.sign(t-l.value),{[-1]:()=>1,[0]:()=>F(Math.sign(t),{[-1]:()=>0,[0]:()=>0,[1]:()=>1}),[1]:()=>0}),x=F(p,{[0]:()=>e.indexOf(f[0]),[1]:()=>e.indexOf(f[f.length-1])});x!==-1&&(l.value=x),r.tabs.value=e,r.panels.value=u}else{let p=e.slice(0,t),G=[...e.slice(t),...p].find(W=>f.includes(W));if(!G)return;let B=(T=e.indexOf(G))!=null?T:r.selectedIndex.value;B===-1&&(B=r.selectedIndex.value),l.value=B,r.tabs.value=e,r.panels.value=u}}let r={selectedIndex:c(()=>{var t,e;return(e=(t=l.value)!=null?t:a.defaultIndex)!=null?e:null}),orientation:c(()=>a.vertical?"vertical":"horizontal"),activation:c(()=>a.manual?"manual":"auto"),tabs:n,panels:d,setSelectedIndex(t){b.value!==t&&s("change",t),S.value||m(t)},registerTab(t){var u;if(n.value.includes(t))return;let e=n.value[l.value];if(n.value.push(t),n.value=O(n.value,o),!S.value){let f=(u=n.value.indexOf(e))!=null?u:l.value;f!==-1&&(l.value=f)}},unregisterTab(t){let e=n.value.indexOf(t);e!==-1&&n.value.splice(e,1)},registerPanel(t){d.value.includes(t)||(d.value.push(t),d.value=O(d.value,o))},unregisterPanel(t){let e=d.value.indexOf(t);e!==-1&&d.value.splice(e,1)}};N(U,r);let w=h({tabs:[],panels:[]}),g=h(!1);M(()=>{g.value=!0}),N(j,c(()=>g.value?null:w.value));let E=c(()=>a.selectedIndex);return M(()=>{_([E],()=>{var t;return m((t=a.selectedIndex)!=null?t:a.defaultIndex)},{immediate:!0})}),J(()=>{if(!S.value||b.value==null||r.tabs.value.length<=0)return;let t=O(r.tabs.value,o);t.some((u,f)=>o(r.tabs.value[f])!==o(u))&&r.setSelectedIndex(t.findIndex(u=>o(u)===o(r.tabs.value[b.value])))}),()=>{let t={selectedIndex:l.value};return H(z,[n.value.length<=0&&H(V,{onFocus:()=>{for(let e of n.value){let u=o(e);if((u==null?void 0:u.tabIndex)===0)return u.focus(),!0}return!1}}),L({theirProps:{...i,...ee(a,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:t,slots:v,attrs:i,name:"TabGroup"})])}}}),pe=D({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(a,{attrs:v,slots:i}){let s=k("TabList");return()=>{let l={selectedIndex:s.selectedIndex.value},n={role:"tablist","aria-orientation":s.orientation.value};return L({ourProps:n,theirProps:a,slot:l,attrs:v,slots:i,name:"TabList"})}}}),xe=D({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-tabs-tab-${$()}`}},setup(a,{attrs:v,slots:i,expose:s}){let l=k("Tab"),n=h(null);s({el:n,$el:n}),M(()=>l.registerTab(n)),K(()=>l.unregisterTab(n));let d=A(j),S=c(()=>{if(d.value){let e=d.value.tabs.indexOf(a.id);return e===-1?d.value.tabs.push(a.id)-1:e}return-1}),b=c(()=>{let e=l.tabs.value.indexOf(n);return e===-1?S.value:e}),m=c(()=>b.value===l.selectedIndex.value);function r(e){var f;let u=e();if(u===C.Success&&l.activation.value==="auto"){let T=(f=Z(n))==null?void 0:f.activeElement,p=l.tabs.value.findIndex(x=>o(x)===T);p!==-1&&l.setSelectedIndex(p)}return u}function w(e){let u=l.tabs.value.map(T=>o(T)).filter(Boolean);if(e.key===I.Space||e.key===I.Enter){e.preventDefault(),e.stopPropagation(),l.setSelectedIndex(b.value);return}switch(e.key){case I.Home:case I.PageUp:return e.preventDefault(),e.stopPropagation(),r(()=>R(u,y.First));case I.End:case I.PageDown:return e.preventDefault(),e.stopPropagation(),r(()=>R(u,y.Last))}if(r(()=>F(l.orientation.value,{vertical(){return e.key===I.ArrowUp?R(u,y.Previous|y.WrapAround):e.key===I.ArrowDown?R(u,y.Next|y.WrapAround):C.Error},horizontal(){return e.key===I.ArrowLeft?R(u,y.Previous|y.WrapAround):e.key===I.ArrowRight?R(u,y.Next|y.WrapAround):C.Error}}))===C.Success)return e.preventDefault()}let g=h(!1);function E(){var e;g.value||(g.value=!0,!a.disabled&&((e=o(n))==null||e.focus({preventScroll:!0}),l.setSelectedIndex(b.value),Y(()=>{g.value=!1})))}function P(e){e.preventDefault()}let t=Q(c(()=>({as:a.as,type:v.type})),n);return()=>{var p,x;let e={selected:m.value,disabled:(p=a.disabled)!=null?p:!1},{id:u,...f}=a,T={ref:n,onKeydown:w,onMousedown:P,onClick:E,id:u,role:"tab",type:t.value,"aria-controls":(x=o(l.panels.value[b.value]))==null?void 0:x.id,"aria-selected":m.value,tabIndex:m.value?0:-1,disabled:a.disabled?!0:void 0};return L({ourProps:T,theirProps:f,slot:e,attrs:v,slots:i,name:"Tab"})}}}),Ie=D({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(a,{slots:v,attrs:i}){let s=k("TabPanels");return()=>{let l={selectedIndex:s.selectedIndex.value};return L({theirProps:a,ourProps:{},slot:l,attrs:i,slots:v,name:"TabPanels"})}}}),ye=D({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`headlessui-tabs-panel-${$()}`},tabIndex:{type:Number,default:0}},setup(a,{attrs:v,slots:i,expose:s}){let l=k("TabPanel"),n=h(null);s({el:n,$el:n}),M(()=>l.registerPanel(n)),K(()=>l.unregisterPanel(n));let d=A(j),S=c(()=>{if(d.value){let r=d.value.panels.indexOf(a.id);return r===-1?d.value.panels.push(a.id)-1:r}return-1}),b=c(()=>{let r=l.panels.value.indexOf(n);return r===-1?S.value:r}),m=c(()=>b.value===l.selectedIndex.value);return()=>{var t;let r={selected:m.value},{id:w,tabIndex:g,...E}=a,P={ref:n,id:w,role:"tabpanel","aria-labelledby":(t=o(l.tabs.value[b.value]))==null?void 0:t.id,tabIndex:m.value?g:-1};return!m.value&&a.unmount&&!a.static?H(X,{as:"span","aria-hidden":!0,...P}):L({ourProps:P,theirProps:E,slot:r,attrs:v,slots:i,features:q.Static|q.RenderStrategy,visible:m.value,name:"TabPanel"})}}});export{xe as Tab,me as TabGroup,pe as TabList,ye as TabPanel,Ie as TabPanels};
@@ -0,0 +1,234 @@
1
+ export declare let TransitionChild: import("vue").DefineComponent<{
2
+ as: {
3
+ type: (ObjectConstructor | StringConstructor)[];
4
+ default: string;
5
+ };
6
+ show: {
7
+ type: BooleanConstructor[];
8
+ default: null;
9
+ };
10
+ unmount: {
11
+ type: BooleanConstructor[];
12
+ default: boolean;
13
+ };
14
+ appear: {
15
+ type: BooleanConstructor[];
16
+ default: boolean;
17
+ };
18
+ enter: {
19
+ type: StringConstructor[];
20
+ default: string;
21
+ };
22
+ enterFrom: {
23
+ type: StringConstructor[];
24
+ default: string;
25
+ };
26
+ enterTo: {
27
+ type: StringConstructor[];
28
+ default: string;
29
+ };
30
+ entered: {
31
+ type: StringConstructor[];
32
+ default: string;
33
+ };
34
+ leave: {
35
+ type: StringConstructor[];
36
+ default: string;
37
+ };
38
+ leaveFrom: {
39
+ type: StringConstructor[];
40
+ default: string;
41
+ };
42
+ leaveTo: {
43
+ type: StringConstructor[];
44
+ default: string;
45
+ };
46
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
47
+ [key: string]: any;
48
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
49
+ [key: string]: any;
50
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
51
+ beforeEnter: () => true;
52
+ afterEnter: () => true;
53
+ beforeLeave: () => true;
54
+ afterLeave: () => true;
55
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
56
+ as: {
57
+ type: (ObjectConstructor | StringConstructor)[];
58
+ default: string;
59
+ };
60
+ show: {
61
+ type: BooleanConstructor[];
62
+ default: null;
63
+ };
64
+ unmount: {
65
+ type: BooleanConstructor[];
66
+ default: boolean;
67
+ };
68
+ appear: {
69
+ type: BooleanConstructor[];
70
+ default: boolean;
71
+ };
72
+ enter: {
73
+ type: StringConstructor[];
74
+ default: string;
75
+ };
76
+ enterFrom: {
77
+ type: StringConstructor[];
78
+ default: string;
79
+ };
80
+ enterTo: {
81
+ type: StringConstructor[];
82
+ default: string;
83
+ };
84
+ entered: {
85
+ type: StringConstructor[];
86
+ default: string;
87
+ };
88
+ leave: {
89
+ type: StringConstructor[];
90
+ default: string;
91
+ };
92
+ leaveFrom: {
93
+ type: StringConstructor[];
94
+ default: string;
95
+ };
96
+ leaveTo: {
97
+ type: StringConstructor[];
98
+ default: string;
99
+ };
100
+ }>> & {
101
+ onBeforeEnter?: (() => any) | undefined;
102
+ onAfterEnter?: (() => any) | undefined;
103
+ onBeforeLeave?: (() => any) | undefined;
104
+ onAfterLeave?: (() => any) | undefined;
105
+ }, {
106
+ as: string | Record<string, any>;
107
+ unmount: boolean;
108
+ show: boolean;
109
+ appear: boolean;
110
+ enter: string;
111
+ enterFrom: string;
112
+ enterTo: string;
113
+ entered: string;
114
+ leave: string;
115
+ leaveFrom: string;
116
+ leaveTo: string;
117
+ }>;
118
+ export declare let TransitionRoot: import("vue").DefineComponent<{
119
+ as: {
120
+ type: (ObjectConstructor | StringConstructor)[];
121
+ default: string;
122
+ };
123
+ show: {
124
+ type: BooleanConstructor[];
125
+ default: null;
126
+ };
127
+ unmount: {
128
+ type: BooleanConstructor[];
129
+ default: boolean;
130
+ };
131
+ appear: {
132
+ type: BooleanConstructor[];
133
+ default: boolean;
134
+ };
135
+ enter: {
136
+ type: StringConstructor[];
137
+ default: string;
138
+ };
139
+ enterFrom: {
140
+ type: StringConstructor[];
141
+ default: string;
142
+ };
143
+ enterTo: {
144
+ type: StringConstructor[];
145
+ default: string;
146
+ };
147
+ entered: {
148
+ type: StringConstructor[];
149
+ default: string;
150
+ };
151
+ leave: {
152
+ type: StringConstructor[];
153
+ default: string;
154
+ };
155
+ leaveFrom: {
156
+ type: StringConstructor[];
157
+ default: string;
158
+ };
159
+ leaveTo: {
160
+ type: StringConstructor[];
161
+ default: string;
162
+ };
163
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
164
+ [key: string]: any;
165
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
166
+ [key: string]: any;
167
+ }>[] | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
168
+ beforeEnter: () => true;
169
+ afterEnter: () => true;
170
+ beforeLeave: () => true;
171
+ afterLeave: () => true;
172
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
173
+ as: {
174
+ type: (ObjectConstructor | StringConstructor)[];
175
+ default: string;
176
+ };
177
+ show: {
178
+ type: BooleanConstructor[];
179
+ default: null;
180
+ };
181
+ unmount: {
182
+ type: BooleanConstructor[];
183
+ default: boolean;
184
+ };
185
+ appear: {
186
+ type: BooleanConstructor[];
187
+ default: boolean;
188
+ };
189
+ enter: {
190
+ type: StringConstructor[];
191
+ default: string;
192
+ };
193
+ enterFrom: {
194
+ type: StringConstructor[];
195
+ default: string;
196
+ };
197
+ enterTo: {
198
+ type: StringConstructor[];
199
+ default: string;
200
+ };
201
+ entered: {
202
+ type: StringConstructor[];
203
+ default: string;
204
+ };
205
+ leave: {
206
+ type: StringConstructor[];
207
+ default: string;
208
+ };
209
+ leaveFrom: {
210
+ type: StringConstructor[];
211
+ default: string;
212
+ };
213
+ leaveTo: {
214
+ type: StringConstructor[];
215
+ default: string;
216
+ };
217
+ }>> & {
218
+ onBeforeEnter?: (() => any) | undefined;
219
+ onAfterEnter?: (() => any) | undefined;
220
+ onBeforeLeave?: (() => any) | undefined;
221
+ onAfterLeave?: (() => any) | undefined;
222
+ }, {
223
+ as: string | Record<string, any>;
224
+ unmount: boolean;
225
+ show: boolean;
226
+ appear: boolean;
227
+ enter: string;
228
+ enterFrom: string;
229
+ enterTo: string;
230
+ entered: string;
231
+ leave: string;
232
+ leaveFrom: string;
233
+ leaveTo: string;
234
+ }>;
@@ -0,0 +1 @@
1
+ import{computed as w,defineComponent as K,h as k,inject as F,normalizeClass as ae,onMounted as C,onUnmounted as z,provide as B,ref as m,watch as le,watchEffect as x}from"vue";import{useId as ie}from'../../hooks/use-id.js';import{State as u,hasOpenClosed as se,useOpenClosed as oe,useOpenClosedProvider as ue}from'../../internal/open-closed.js';import{dom as $}from'../../utils/dom.js';import{env as fe}from'../../utils/env.js';import{match as O}from'../../utils/match.js';import{Features as de,RenderStrategy as T,omit as ve,render as q}from'../../utils/render.js';import{Reason as G,transition as J}from'./utils/transition.js';function g(e=""){return e.split(/\s+/).filter(t=>t.length>1)}let R=Symbol("TransitionContext");var pe=(a=>(a.Visible="visible",a.Hidden="hidden",a))(pe||{});function me(){return F(R,null)!==null}function Te(){let e=F(R,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}function ge(){let e=F(N,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}let N=Symbol("NestingContext");function L(e){return"children"in e?L(e.children):e.value.filter(({state:t})=>t==="visible").length>0}function Q(e){let t=m([]),a=m(!1);C(()=>a.value=!0),z(()=>a.value=!1);function s(n,r=T.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&(O(r,{[T.Unmount](){t.value.splice(l,1)},[T.Hidden](){t.value[l].state="hidden"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!=="visible"&&(r.state="visible"):t.value.push({id:n,state:"visible"}),()=>s(n,T.Unmount)}return{children:t,register:h,unregister:s}}let W=de.RenderStrategy,he=K({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=m(0);function r(){n.value|=u.Opening,t("beforeEnter")}function l(){n.value&=~u.Opening,t("afterEnter")}function f(){n.value|=u.Closing,t("beforeLeave")}function S(){n.value&=~u.Closing,t("afterLeave")}if(!me()&&se())return()=>k(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=m(null),y=w(()=>e.unmount?T.Unmount:T.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=m(v.value?"visible":"hidden"),I={value:!0},c=ie(),b={value:!1},P=Q(()=>{!b.value&&i.value!=="hidden"&&(i.value="hidden",H(c),S())});C(()=>{let o=D(c);z(o)}),x(()=>{if(y.value===T.Hidden&&c){if(v.value&&i.value!=="visible"){i.value="visible";return}O(i.value,{["hidden"]:()=>H(c),["visible"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);C(()=>{x(()=>{if(i.value==="visible"){let o=$(d);if(o instanceof Comment&&o.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function te(o){let E=I.value&&!A.value,p=$(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?J(p,j,M,X,_,V=>{b.value=!1,V===G.Finished&&l()}):J(p,Y,Z,ee,_,V=>{b.value=!1,V===G.Finished&&(L(P)||(i.value="hidden",H(c),S()))})))}return C(()=>{le([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),B(N,P),ue(w(()=>O(i.value,{["visible"]:u.Open,["hidden"]:u.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&fe.isServer?{class:ae([a.class,U.class,...j,...M])}:{}};return q({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value==="visible",name:"TransitionChild"})}}}),ce=he,Se=K({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=oe(),n=w(()=>e.show===null&&h!==null?(h.value&u.Open)===u.Open:e.show);x(()=>{if(![!0,!1].includes(n.value))throw new Error('A <Transition /> is used but it is missing a `:show="true | false"` prop.')});let r=m(n.value?"visible":"hidden"),l=Q(()=>{r.value="hidden"}),f=m(!0),S={show:n,appear:w(()=>e.appear||!f.value)};return C(()=>{x(()=>{f.value=!1,n.value?r.value="visible":L(l)||(r.value="hidden")})}),B(N,l),B(R,S),()=>{let d=ve(e,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),y={unmount:e.unmount};return q({ourProps:{...y,as:"template"},theirProps:{},slot:{},slots:{...s,default:()=>[k(ce,{onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value==="visible",name:"Transition"})}}});export{he as TransitionChild,Se as TransitionRoot};
@@ -0,0 +1,5 @@
1
+ export declare enum Reason {
2
+ Finished = "finished",
3
+ Cancelled = "cancelled"
4
+ }
5
+ export declare function transition(node: HTMLElement, base: string[], from: string[], to: string[], entered: string[], done?: (reason: Reason) => void): () => void;
@@ -0,0 +1 @@
1
+ import{disposables as p}from'../../../utils/disposables.js';import{once as f}from'../../../utils/once.js';function m(e,...t){e&&t.length>0&&e.classList.add(...t)}function d(e,...t){e&&t.length>0&&e.classList.remove(...t)}var g=(i=>(i.Finished="finished",i.Cancelled="cancelled",i))(g||{});function F(e,t){let i=p();if(!e)return i.dispose;let{transitionDuration:n,transitionDelay:a}=getComputedStyle(e),[l,s]=[n,a].map(o=>{let[u=0]=o.split(",").filter(Boolean).map(r=>r.includes("ms")?parseFloat(r):parseFloat(r)*1e3).sort((r,c)=>c-r);return u});return l!==0?i.setTimeout(()=>t("finished"),l+s):t("finished"),i.add(()=>t("cancelled")),i.dispose}function L(e,t,i,n,a,l){let s=p(),o=l!==void 0?f(l):()=>{};return d(e,...a),m(e,...t,...i),s.nextFrame(()=>{d(e,...i),m(e,...n),s.add(F(e,u=>(d(e,...n,...t),m(e,...a),o(u))))}),s.add(()=>d(e,...t,...i,...n,...a)),s.add(()=>o("cancelled")),s.dispose}export{g as Reason,L as transition};