@sectile/vue 0.2.1

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 (287) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/accordion.d.ts +250 -0
  4. package/dist/accordion.d.ts.map +1 -0
  5. package/dist/accordion.js +242 -0
  6. package/dist/accordion.js.map +1 -0
  7. package/dist/alert-dialog.d.ts +16 -0
  8. package/dist/alert-dialog.d.ts.map +1 -0
  9. package/dist/alert-dialog.js +18 -0
  10. package/dist/alert-dialog.js.map +1 -0
  11. package/dist/calendar.d.ts +232 -0
  12. package/dist/calendar.d.ts.map +1 -0
  13. package/dist/calendar.js +109 -0
  14. package/dist/calendar.js.map +1 -0
  15. package/dist/carousel.d.ts +365 -0
  16. package/dist/carousel.d.ts.map +1 -0
  17. package/dist/carousel.js +140 -0
  18. package/dist/carousel.js.map +1 -0
  19. package/dist/cascade-select.d.ts +442 -0
  20. package/dist/cascade-select.d.ts.map +1 -0
  21. package/dist/cascade-select.js +111 -0
  22. package/dist/cascade-select.js.map +1 -0
  23. package/dist/checkbox-group.d.ts +206 -0
  24. package/dist/checkbox-group.d.ts.map +1 -0
  25. package/dist/checkbox-group.js +98 -0
  26. package/dist/checkbox-group.js.map +1 -0
  27. package/dist/checkbox.d.ts +152 -0
  28. package/dist/checkbox.d.ts.map +1 -0
  29. package/dist/checkbox.js +164 -0
  30. package/dist/checkbox.js.map +1 -0
  31. package/dist/color-picker.d.ts +602 -0
  32. package/dist/color-picker.d.ts.map +1 -0
  33. package/dist/color-picker.js +129 -0
  34. package/dist/color-picker.js.map +1 -0
  35. package/dist/combobox.d.ts +320 -0
  36. package/dist/combobox.d.ts.map +1 -0
  37. package/dist/combobox.js +176 -0
  38. package/dist/combobox.js.map +1 -0
  39. package/dist/date-field.d.ts +15 -0
  40. package/dist/date-field.d.ts.map +1 -0
  41. package/dist/date-field.js +19 -0
  42. package/dist/date-field.js.map +1 -0
  43. package/dist/date-picker.d.ts +554 -0
  44. package/dist/date-picker.d.ts.map +1 -0
  45. package/dist/date-picker.js +18 -0
  46. package/dist/date-picker.js.map +1 -0
  47. package/dist/date-range-field.d.ts +129 -0
  48. package/dist/date-range-field.d.ts.map +1 -0
  49. package/dist/date-range-field.js +134 -0
  50. package/dist/date-range-field.js.map +1 -0
  51. package/dist/date-range-picker.d.ts +594 -0
  52. package/dist/date-range-picker.d.ts.map +1 -0
  53. package/dist/date-range-picker.js +19 -0
  54. package/dist/date-range-picker.js.map +1 -0
  55. package/dist/date-time-field.d.ts +15 -0
  56. package/dist/date-time-field.d.ts.map +1 -0
  57. package/dist/date-time-field.js +19 -0
  58. package/dist/date-time-field.js.map +1 -0
  59. package/dist/date-time-picker.d.ts +635 -0
  60. package/dist/date-time-picker.d.ts.map +1 -0
  61. package/dist/date-time-picker.js +20 -0
  62. package/dist/date-time-picker.js.map +1 -0
  63. package/dist/date-time-range-picker.d.ts +755 -0
  64. package/dist/date-time-range-picker.d.ts.map +1 -0
  65. package/dist/date-time-range-picker.js +23 -0
  66. package/dist/date-time-range-picker.js.map +1 -0
  67. package/dist/dialog.d.ts +16 -0
  68. package/dist/dialog.d.ts.map +1 -0
  69. package/dist/dialog.js +15 -0
  70. package/dist/dialog.js.map +1 -0
  71. package/dist/disclosure.d.ts +147 -0
  72. package/dist/disclosure.d.ts.map +1 -0
  73. package/dist/disclosure.js +129 -0
  74. package/dist/disclosure.js.map +1 -0
  75. package/dist/editable.d.ts +300 -0
  76. package/dist/editable.d.ts.map +1 -0
  77. package/dist/editable.js +181 -0
  78. package/dist/editable.js.map +1 -0
  79. package/dist/feed.d.ts +216 -0
  80. package/dist/feed.d.ts.map +1 -0
  81. package/dist/feed.js +85 -0
  82. package/dist/feed.js.map +1 -0
  83. package/dist/form.d.ts +356 -0
  84. package/dist/form.d.ts.map +1 -0
  85. package/dist/form.js +752 -0
  86. package/dist/form.js.map +1 -0
  87. package/dist/grid.d.ts +254 -0
  88. package/dist/grid.d.ts.map +1 -0
  89. package/dist/grid.js +95 -0
  90. package/dist/grid.js.map +1 -0
  91. package/dist/host-provider.d.ts +46 -0
  92. package/dist/host-provider.d.ts.map +1 -0
  93. package/dist/host-provider.js +39 -0
  94. package/dist/host-provider.js.map +1 -0
  95. package/dist/index.d.ts +124 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +61 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/internal/date-picker.d.ts +539 -0
  100. package/dist/internal/date-picker.d.ts.map +1 -0
  101. package/dist/internal/date-picker.js +522 -0
  102. package/dist/internal/date-picker.js.map +1 -0
  103. package/dist/internal/form-control-inventory.d.ts +154 -0
  104. package/dist/internal/form-control-inventory.d.ts.map +1 -0
  105. package/dist/internal/form-control-inventory.js +43 -0
  106. package/dist/internal/form-control-inventory.js.map +1 -0
  107. package/dist/internal/form-control.d.ts +41 -0
  108. package/dist/internal/form-control.d.ts.map +1 -0
  109. package/dist/internal/form-control.js +52 -0
  110. package/dist/internal/form-control.js.map +1 -0
  111. package/dist/internal/native-field.d.ts +49 -0
  112. package/dist/internal/native-field.d.ts.map +1 -0
  113. package/dist/internal/native-field.js +81 -0
  114. package/dist/internal/native-field.js.map +1 -0
  115. package/dist/internal/native-input.d.ts +9 -0
  116. package/dist/internal/native-input.d.ts.map +1 -0
  117. package/dist/internal/native-input.js +9 -0
  118. package/dist/internal/native-input.js.map +1 -0
  119. package/dist/internal/part-contract.d.ts +9 -0
  120. package/dist/internal/part-contract.d.ts.map +1 -0
  121. package/dist/internal/part-contract.js +12 -0
  122. package/dist/internal/part-contract.js.map +1 -0
  123. package/dist/internal/popup.d.ts +99 -0
  124. package/dist/internal/popup.d.ts.map +1 -0
  125. package/dist/internal/popup.js +238 -0
  126. package/dist/internal/popup.js.map +1 -0
  127. package/dist/internal/tabs-context.d.ts +25 -0
  128. package/dist/internal/tabs-context.d.ts.map +1 -0
  129. package/dist/internal/tabs-context.js +9 -0
  130. package/dist/internal/tabs-context.js.map +1 -0
  131. package/dist/listbox.d.ts +275 -0
  132. package/dist/listbox.d.ts.map +1 -0
  133. package/dist/listbox.js +258 -0
  134. package/dist/listbox.js.map +1 -0
  135. package/dist/menu-button.d.ts +2 -0
  136. package/dist/menu-button.d.ts.map +1 -0
  137. package/dist/menu-button.js +2 -0
  138. package/dist/menu-button.js.map +1 -0
  139. package/dist/menu.d.ts +638 -0
  140. package/dist/menu.d.ts.map +1 -0
  141. package/dist/menu.js +167 -0
  142. package/dist/menu.js.map +1 -0
  143. package/dist/menubar.d.ts +2 -0
  144. package/dist/menubar.d.ts.map +1 -0
  145. package/dist/menubar.js +2 -0
  146. package/dist/menubar.js.map +1 -0
  147. package/dist/month-picker.d.ts +353 -0
  148. package/dist/month-picker.d.ts.map +1 -0
  149. package/dist/month-picker.js +10 -0
  150. package/dist/month-picker.js.map +1 -0
  151. package/dist/month-range-picker.d.ts +393 -0
  152. package/dist/month-range-picker.d.ts.map +1 -0
  153. package/dist/month-range-picker.js +11 -0
  154. package/dist/month-range-picker.js.map +1 -0
  155. package/dist/multi-thumb-slider.d.ts +299 -0
  156. package/dist/multi-thumb-slider.d.ts.map +1 -0
  157. package/dist/multi-thumb-slider.js +204 -0
  158. package/dist/multi-thumb-slider.js.map +1 -0
  159. package/dist/navigation-menu.d.ts +114 -0
  160. package/dist/navigation-menu.d.ts.map +1 -0
  161. package/dist/navigation-menu.js +36 -0
  162. package/dist/navigation-menu.js.map +1 -0
  163. package/dist/number-field.d.ts +12 -0
  164. package/dist/number-field.d.ts.map +1 -0
  165. package/dist/number-field.js +21 -0
  166. package/dist/number-field.js.map +1 -0
  167. package/dist/pagination.d.ts +294 -0
  168. package/dist/pagination.d.ts.map +1 -0
  169. package/dist/pagination.js +145 -0
  170. package/dist/pagination.js.map +1 -0
  171. package/dist/pin-input.d.ts +207 -0
  172. package/dist/pin-input.d.ts.map +1 -0
  173. package/dist/pin-input.js +129 -0
  174. package/dist/pin-input.js.map +1 -0
  175. package/dist/popover.d.ts +17 -0
  176. package/dist/popover.d.ts.map +1 -0
  177. package/dist/popover.js +16 -0
  178. package/dist/popover.js.map +1 -0
  179. package/dist/primitive.d.ts +41 -0
  180. package/dist/primitive.d.ts.map +1 -0
  181. package/dist/primitive.js +27 -0
  182. package/dist/primitive.js.map +1 -0
  183. package/dist/quantity-field.d.ts +249 -0
  184. package/dist/quantity-field.d.ts.map +1 -0
  185. package/dist/quantity-field.js +131 -0
  186. package/dist/quantity-field.js.map +1 -0
  187. package/dist/radio-group.d.ts +225 -0
  188. package/dist/radio-group.d.ts.map +1 -0
  189. package/dist/radio-group.js +198 -0
  190. package/dist/radio-group.js.map +1 -0
  191. package/dist/range-calendar.d.ts +336 -0
  192. package/dist/range-calendar.d.ts.map +1 -0
  193. package/dist/range-calendar.js +15 -0
  194. package/dist/range-calendar.js.map +1 -0
  195. package/dist/rating.d.ts +228 -0
  196. package/dist/rating.d.ts.map +1 -0
  197. package/dist/rating.js +118 -0
  198. package/dist/rating.js.map +1 -0
  199. package/dist/reorder.d.ts +209 -0
  200. package/dist/reorder.d.ts.map +1 -0
  201. package/dist/reorder.js +186 -0
  202. package/dist/reorder.js.map +1 -0
  203. package/dist/select.d.ts +352 -0
  204. package/dist/select.d.ts.map +1 -0
  205. package/dist/select.js +191 -0
  206. package/dist/select.js.map +1 -0
  207. package/dist/slider.d.ts +269 -0
  208. package/dist/slider.d.ts.map +1 -0
  209. package/dist/slider.js +197 -0
  210. package/dist/slider.js.map +1 -0
  211. package/dist/spin-button.d.ts +272 -0
  212. package/dist/spin-button.d.ts.map +1 -0
  213. package/dist/spin-button.js +190 -0
  214. package/dist/spin-button.js.map +1 -0
  215. package/dist/stepper.d.ts +310 -0
  216. package/dist/stepper.d.ts.map +1 -0
  217. package/dist/stepper.js +87 -0
  218. package/dist/stepper.js.map +1 -0
  219. package/dist/switch.d.ts +149 -0
  220. package/dist/switch.d.ts.map +1 -0
  221. package/dist/switch.js +140 -0
  222. package/dist/switch.js.map +1 -0
  223. package/dist/tabs.d.ts +290 -0
  224. package/dist/tabs.d.ts.map +1 -0
  225. package/dist/tabs.js +258 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tags-input.d.ts +297 -0
  228. package/dist/tags-input.d.ts.map +1 -0
  229. package/dist/tags-input.js +196 -0
  230. package/dist/tags-input.js.map +1 -0
  231. package/dist/text.d.ts +138 -0
  232. package/dist/text.d.ts.map +1 -0
  233. package/dist/text.js +125 -0
  234. package/dist/text.js.map +1 -0
  235. package/dist/time-field.d.ts +15 -0
  236. package/dist/time-field.d.ts.map +1 -0
  237. package/dist/time-field.js +19 -0
  238. package/dist/time-field.js.map +1 -0
  239. package/dist/time-range-field.d.ts +128 -0
  240. package/dist/time-range-field.d.ts.map +1 -0
  241. package/dist/time-range-field.js +44 -0
  242. package/dist/time-range-field.js.map +1 -0
  243. package/dist/timer.d.ts +232 -0
  244. package/dist/timer.d.ts.map +1 -0
  245. package/dist/timer.js +51 -0
  246. package/dist/timer.js.map +1 -0
  247. package/dist/toast.d.ts +189 -0
  248. package/dist/toast.d.ts.map +1 -0
  249. package/dist/toast.js +78 -0
  250. package/dist/toast.js.map +1 -0
  251. package/dist/toggle-button.d.ts +81 -0
  252. package/dist/toggle-button.d.ts.map +1 -0
  253. package/dist/toggle-button.js +75 -0
  254. package/dist/toggle-button.js.map +1 -0
  255. package/dist/toggle-group.d.ts +228 -0
  256. package/dist/toggle-group.d.ts.map +1 -0
  257. package/dist/toggle-group.js +143 -0
  258. package/dist/toggle-group.js.map +1 -0
  259. package/dist/toolbar.d.ts +202 -0
  260. package/dist/toolbar.d.ts.map +1 -0
  261. package/dist/toolbar.js +82 -0
  262. package/dist/toolbar.js.map +1 -0
  263. package/dist/tooltip.d.ts +13 -0
  264. package/dist/tooltip.d.ts.map +1 -0
  265. package/dist/tooltip.js +15 -0
  266. package/dist/tooltip.js.map +1 -0
  267. package/dist/tree-grid.d.ts +359 -0
  268. package/dist/tree-grid.d.ts.map +1 -0
  269. package/dist/tree-grid.js +125 -0
  270. package/dist/tree-grid.js.map +1 -0
  271. package/dist/tree-view.d.ts +304 -0
  272. package/dist/tree-view.d.ts.map +1 -0
  273. package/dist/tree-view.js +131 -0
  274. package/dist/tree-view.js.map +1 -0
  275. package/dist/window-splitter.d.ts +204 -0
  276. package/dist/window-splitter.d.ts.map +1 -0
  277. package/dist/window-splitter.js +82 -0
  278. package/dist/window-splitter.js.map +1 -0
  279. package/dist/year-picker.d.ts +353 -0
  280. package/dist/year-picker.d.ts.map +1 -0
  281. package/dist/year-picker.js +10 -0
  282. package/dist/year-picker.js.map +1 -0
  283. package/dist/year-range-picker.d.ts +393 -0
  284. package/dist/year-range-picker.d.ts.map +1 -0
  285. package/dist/year-range-picker.js +11 -0
  286. package/dist/year-range-picker.js.map +1 -0
  287. package/package.json +356 -0
package/dist/menu.js ADDED
@@ -0,0 +1,167 @@
1
+ import { Fragment, computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
2
+ import { createMenu } from '@sectile/dom/menu';
3
+ import { createMenuButton } from '@sectile/dom/menu-button';
4
+ import { createMenubar } from '@sectile/dom/menubar';
5
+ import { createNavigationMenu } from '@sectile/dom/navigation-menu';
6
+ import { Primitive } from './primitive.js';
7
+ import { useHostDirection, useHostId } from './host-provider.js';
8
+ const key = Symbol('SectileMenuRoot');
9
+ const partProps = { as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false } };
10
+ const commonProps = {
11
+ items: { type: Array, required: true },
12
+ disabledItems: { type: Array, default: () => [] }, disabled: { type: Boolean, default: false },
13
+ defaultHighlightedValue: { type: String, default: null }, label: { type: String, default: undefined },
14
+ textValue: { type: Function, default: undefined },
15
+ policies: { type: Object, default: undefined },
16
+ as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false },
17
+ };
18
+ function createRoot(kind, providerOnly = false) {
19
+ return defineComponent({
20
+ name: kind === 'menu-button' ? 'SectileMenuButtonRoot' : kind === 'menubar' ? 'SectileMenubarRoot' : kind === 'navigation-menu' ? 'SectileNavigationMenuRoot' : 'SectileMenuRoot',
21
+ inheritAttrs: false,
22
+ props: { ...commonProps, open: { type: Boolean, default: undefined }, defaultOpen: { type: Boolean, default: false } },
23
+ emits: { 'update:open': (_value) => true, invoke: (_value) => true },
24
+ slots: Object,
25
+ setup(props, { attrs, emit, slots }) {
26
+ const direction = useHostDirection();
27
+ const baseID = useHostId();
28
+ const root = shallowRef();
29
+ const trigger = shallowRef();
30
+ const connection = shallowRef();
31
+ const openProp = props.open;
32
+ const open = shallowRef(kind === 'menu-button' ? openProp ?? props.defaultOpen : true);
33
+ const highlighted = shallowRef(props.defaultHighlightedValue);
34
+ const openPath = shallowRef([]);
35
+ const controlled = kind === 'menu-button' && openProp !== undefined;
36
+ const state = computed(() => ({
37
+ open: kind === 'menu-button' && props.open !== undefined ? props.open : open.value,
38
+ highlightedValue: highlighted.value, openPath: openPath.value, disabled: props.disabled,
39
+ }));
40
+ const refresh = () => {
41
+ const snapshot = connection.value?.getSnapshot().state;
42
+ if (snapshot === undefined)
43
+ return;
44
+ open.value = snapshot.open;
45
+ highlighted.value = snapshot.cursor.current;
46
+ openPath.value = snapshot.openPath;
47
+ refreshParts();
48
+ };
49
+ const refreshParts = () => {
50
+ if (root.value === undefined || connection.value === undefined)
51
+ return;
52
+ root.value.querySelectorAll('[data-sectile-menu-id]').forEach((element) => { const id = element.dataset['sectileMenuId']; if (id !== undefined)
53
+ connection.value?.setItemAttributes(element, id); });
54
+ root.value.querySelectorAll('[data-sectile-submenu-for]').forEach((element) => { const id = element.dataset['sectileSubmenuFor']; if (id !== undefined)
55
+ connection.value?.setSubmenuAttributes(element, id); });
56
+ };
57
+ const connect = () => {
58
+ connection.value?.disconnect();
59
+ if (root.value === undefined || (kind === 'menu-button' && trigger.value === undefined))
60
+ return;
61
+ const options = {
62
+ root: root.value, items: props.items, disabledItems: props.disabledItems, disabled: props.disabled,
63
+ direction: direction.value, baseID,
64
+ ...(props.policies === undefined ? {} : { policies: props.policies }),
65
+ defaultHighlightedValue: props.defaultHighlightedValue,
66
+ ...(props.label === undefined ? {} : { label: props.label }),
67
+ ...(props.textValue === undefined ? {} : { typeahead: { textValue: props.textValue } }),
68
+ onOpenChange: (value) => { open.value = value; emit('update:open', value); },
69
+ onInvoke: (value) => emit('invoke', value), onUpdate: refresh,
70
+ };
71
+ connection.value = kind === 'menu-button'
72
+ ? createMenuButton({ ...options, trigger: trigger.value, ...(controlled ? { open: props.open } : { defaultOpen: open.value }) })
73
+ : kind === 'menubar' ? createMenubar(options) : kind === 'navigation-menu' ? createNavigationMenu(options) : createMenu(options);
74
+ refreshParts();
75
+ refresh();
76
+ };
77
+ provide(key, {
78
+ state, kind, label: computed(() => props.label), disabledItems: computed(() => new Set(props.disabledItems)), direction,
79
+ registerRoot: (element) => { root.value = element; }, registerTrigger: (element) => { trigger.value = element; },
80
+ registerItem: (element, id) => connection.value?.setItemAttributes(element, id),
81
+ registerSubmenu: (element, parent) => connection.value?.setSubmenuAttributes(element, parent),
82
+ });
83
+ onMounted(connect);
84
+ onBeforeUnmount(() => connection.value?.disconnect());
85
+ watch([() => props.items, () => props.disabledItems, () => props.disabled, () => props.label, () => props.textValue, () => props.policies, direction], connect);
86
+ watch(() => props.open, (value) => { if (!controlled || value === undefined || connection.value === undefined)
87
+ return; const result = connection.value.syncControlledValue(value); if (!result.ok)
88
+ throw new TypeError(result.error.message); refresh(); });
89
+ return () => {
90
+ if (providerOnly)
91
+ return h(Fragment, null, slots['default']?.(state.value) ?? []);
92
+ return h(Primitive, mergeProps(attrs, {
93
+ as: props.as, asChild: props.asChild, elementRef: (node) => { root.value = node instanceof HTMLElement ? node : undefined; },
94
+ role: kind === 'navigation-menu' ? 'navigation' : kind === 'menubar' ? 'menubar' : 'menu', 'aria-label': props.label,
95
+ dir: direction.value,
96
+ 'data-scope': kind === 'navigation-menu' ? 'navigation-menu' : kind === 'menubar' ? 'menubar' : 'menu', 'data-part': 'root', 'data-state': state.value.open ? 'open' : 'closed',
97
+ }), { default: () => slots['default']?.(state.value) });
98
+ };
99
+ },
100
+ });
101
+ }
102
+ export const MenuRoot = createRoot('menu');
103
+ export const MenubarRoot = createRoot('menubar');
104
+ export const NavigationMenuRoot = createRoot('navigation-menu');
105
+ export const MenuButtonRoot = createRoot('menu-button', true);
106
+ export const MenuButtonTrigger = defineComponent({
107
+ name: 'SectileMenuButtonTrigger', inheritAttrs: false,
108
+ props: { as: { type: [String, Object, Function], default: 'button' }, asChild: { type: Boolean, default: false } },
109
+ slots: Object,
110
+ setup(props, { attrs, slots }) {
111
+ const root = useRoot('MenuButtonTrigger');
112
+ return () => h(Primitive, mergeProps(attrs, {
113
+ as: props.as, asChild: props.asChild, elementRef: (node) => root.registerTrigger(node instanceof HTMLElement ? node : undefined),
114
+ type: props.as === 'button' ? 'button' : undefined, disabled: root.state.value.disabled,
115
+ 'aria-haspopup': 'menu', 'aria-expanded': String(root.state.value.open), 'data-scope': 'menu-button', 'data-part': 'trigger',
116
+ }), { default: () => slots['default']?.(root.state.value) });
117
+ },
118
+ });
119
+ export const MenuButtonContent = defineComponent({
120
+ name: 'SectileMenuButtonContent', inheritAttrs: false, props: partProps,
121
+ slots: Object,
122
+ setup(props, { attrs, slots }) {
123
+ const root = useRoot('MenuButtonContent');
124
+ return () => h(Primitive, mergeProps(attrs, {
125
+ as: props.as, asChild: props.asChild, elementRef: (node) => root.registerRoot(node instanceof HTMLElement ? node : undefined),
126
+ role: 'menu', hidden: !root.state.value.open, 'aria-label': root.label.value, dir: root.direction.value,
127
+ 'data-scope': 'menu-button', 'data-part': 'content', 'data-state': root.state.value.open ? 'open' : 'closed',
128
+ }), { default: () => slots['default']?.(root.state.value) });
129
+ },
130
+ });
131
+ export const MenuItem = defineComponent({
132
+ name: 'SectileMenuItem', inheritAttrs: false,
133
+ props: { value: { type: String, required: true }, disabled: { type: Boolean, default: false }, ...partProps },
134
+ slots: Object,
135
+ setup(props, { attrs, slots }) {
136
+ const root = useRoot('MenuItem');
137
+ const state = computed(() => ({ value: props.value, highlighted: root.state.value.highlightedValue === props.value, open: root.state.value.openPath.includes(props.value), disabled: root.state.value.disabled || props.disabled || root.disabledItems.value.has(props.value) }));
138
+ return () => h(Primitive, mergeProps(attrs, {
139
+ as: props.as, asChild: props.asChild, elementRef: (node) => { if (node instanceof HTMLElement)
140
+ root.registerItem(node, props.value); },
141
+ role: root.kind === 'navigation-menu' ? undefined : 'menuitem', 'aria-disabled': state.value.disabled ? 'true' : undefined, 'data-sectile-menu-id': props.value,
142
+ 'data-scope': root.kind === 'navigation-menu' ? 'navigation-menu' : root.kind === 'menubar' ? 'menubar' : 'menu', 'data-part': 'item', 'data-highlighted': state.value.highlighted ? '' : undefined,
143
+ 'data-state': state.value.open ? 'open' : 'closed',
144
+ }), { default: () => slots['default']?.(state.value) });
145
+ },
146
+ });
147
+ export const MenuSubContent = defineComponent({
148
+ name: 'SectileMenuSubContent', inheritAttrs: false,
149
+ props: { for: { type: String, required: true }, ...partProps },
150
+ slots: Object,
151
+ setup(props, { attrs, slots }) {
152
+ const root = useRoot('MenuSubContent');
153
+ return () => h(Primitive, mergeProps(attrs, {
154
+ as: props.as, asChild: props.asChild, elementRef: (node) => { if (node instanceof HTMLElement)
155
+ root.registerSubmenu(node, props.for); },
156
+ role: root.kind === 'navigation-menu' ? undefined : 'menu', hidden: !root.state.value.openPath.includes(props.for), dir: root.direction.value, 'data-sectile-submenu-for': props.for,
157
+ 'data-scope': root.kind === 'navigation-menu' ? 'navigation-menu' : 'menu', 'data-part': 'sub-content', 'data-state': root.state.value.openPath.includes(props.for) ? 'open' : 'closed',
158
+ }), { default: () => slots['default']?.(root.state.value) });
159
+ },
160
+ });
161
+ export const MenuSeparator = defineComponent({
162
+ name: 'SectileMenuSeparator', inheritAttrs: false, props: partProps,
163
+ setup(props, { attrs }) { return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, role: 'separator', 'data-scope': 'menu', 'data-part': 'separator' })); },
164
+ });
165
+ function useRoot(part) { const root = inject(key); if (root === undefined)
166
+ throw new TypeError(`${part} must be used inside a menu root.`); return root; }
167
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { MenuItem as MenubarItem, MenuSeparator as MenubarSeparator, MenuSubContent as MenubarContent, MenubarRoot, type MenuItemProps as MenubarItemProps, type MenuItemSlotProps as MenubarItemSlotProps, type MenuPartProps as MenubarPartProps, type MenuRootProps as MenubarRootProps, type MenuRootSlotProps as MenubarRootSlotProps, type MenuSubContentProps as MenubarContentProps, } from './menu.js';
2
+ //# sourceMappingURL=menubar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../src/menubar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,aAAa,IAAI,gBAAgB,EACjC,cAAc,IAAI,cAAc,EAChC,WAAW,EACX,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,mBAAmB,IAAI,mBAAmB,GAChD,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { MenuItem as MenubarItem, MenuSeparator as MenubarSeparator, MenuSubContent as MenubarContent, MenubarRoot, } from './menu.js';
2
+ //# sourceMappingURL=menubar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.js","sourceRoot":"","sources":["../src/menubar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,aAAa,IAAI,gBAAgB,EACjC,cAAc,IAAI,cAAc,EAChC,WAAW,GAOZ,MAAM,WAAW,CAAC"}
@@ -0,0 +1,353 @@
1
+ import type { DatePickerOptions } from '@sectile/dom/date-picker';
2
+ import type { DateValue } from '@sectile/dom/date-field';
3
+ import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerRootSlotProps } from './internal/date-picker.js';
4
+ export interface MonthPickerRootProps {
5
+ readonly modelValue?: DateValue | null;
6
+ readonly defaultValue?: DateValue | null;
7
+ readonly highlightedValue?: DateValue;
8
+ readonly defaultHighlightedValue?: DateValue;
9
+ readonly open?: boolean;
10
+ readonly defaultOpen?: boolean;
11
+ readonly disabled?: boolean;
12
+ readonly?: boolean;
13
+ readonly required?: boolean;
14
+ readonly label?: string;
15
+ readonly policies?: DatePickerOptions['policies'];
16
+ }
17
+ export declare const MonthPickerRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18
+ modelValue: {
19
+ type: import("vue").PropType<import("./internal/date-picker.js").PickerValue>;
20
+ default: undefined;
21
+ };
22
+ defaultValue: {
23
+ type: import("vue").PropType<import("./internal/date-picker.js").PickerValue>;
24
+ default: null;
25
+ };
26
+ open: {
27
+ type: BooleanConstructor;
28
+ default: undefined;
29
+ };
30
+ defaultOpen: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ highlightedValue: {
35
+ type: import("vue").PropType<DateValue>;
36
+ default: undefined;
37
+ };
38
+ defaultHighlightedValue: {
39
+ type: import("vue").PropType<DateValue>;
40
+ default: undefined;
41
+ };
42
+ defaultView: {
43
+ type: import("vue").PropType<import("@sectile/core/date-picker").DatePickerViewMode>;
44
+ default: import("@sectile/core/date-picker").DatePickerViewMode;
45
+ };
46
+ disabled: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ readonly: {
51
+ type: BooleanConstructor;
52
+ default: boolean;
53
+ };
54
+ required: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ label: {
59
+ type: StringConstructor;
60
+ default: undefined;
61
+ };
62
+ policies: {
63
+ type: import("vue").PropType<Readonly<Record<string, unknown>>>;
64
+ default: undefined;
65
+ };
66
+ as: {
67
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
68
+ default: string;
69
+ };
70
+ asChild: {
71
+ type: BooleanConstructor;
72
+ default: boolean;
73
+ };
74
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
75
+ 'update:modelValue': (_value: import("./internal/date-picker.js").PickerValue) => boolean;
76
+ 'update:open': (_value: boolean) => boolean;
77
+ 'update:highlightedValue': (_value: DateValue) => boolean;
78
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
79
+ modelValue: {
80
+ type: import("vue").PropType<import("./internal/date-picker.js").PickerValue>;
81
+ default: undefined;
82
+ };
83
+ defaultValue: {
84
+ type: import("vue").PropType<import("./internal/date-picker.js").PickerValue>;
85
+ default: null;
86
+ };
87
+ open: {
88
+ type: BooleanConstructor;
89
+ default: undefined;
90
+ };
91
+ defaultOpen: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ highlightedValue: {
96
+ type: import("vue").PropType<DateValue>;
97
+ default: undefined;
98
+ };
99
+ defaultHighlightedValue: {
100
+ type: import("vue").PropType<DateValue>;
101
+ default: undefined;
102
+ };
103
+ defaultView: {
104
+ type: import("vue").PropType<import("@sectile/core/date-picker").DatePickerViewMode>;
105
+ default: import("@sectile/core/date-picker").DatePickerViewMode;
106
+ };
107
+ disabled: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
111
+ readonly: {
112
+ type: BooleanConstructor;
113
+ default: boolean;
114
+ };
115
+ required: {
116
+ type: BooleanConstructor;
117
+ default: boolean;
118
+ };
119
+ label: {
120
+ type: StringConstructor;
121
+ default: undefined;
122
+ };
123
+ policies: {
124
+ type: import("vue").PropType<Readonly<Record<string, unknown>>>;
125
+ default: undefined;
126
+ };
127
+ as: {
128
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
129
+ default: string;
130
+ };
131
+ asChild: {
132
+ type: BooleanConstructor;
133
+ default: boolean;
134
+ };
135
+ }>> & Readonly<{
136
+ "onUpdate:highlightedValue"?: (_value: DateValue) => any;
137
+ "onUpdate:modelValue"?: (_value: import("./internal/date-picker.js").PickerValue) => any;
138
+ "onUpdate:open"?: (_value: boolean) => any;
139
+ }>, {
140
+ modelValue: import("./internal/date-picker.js").PickerValue;
141
+ defaultValue: import("./internal/date-picker.js").PickerValue;
142
+ open: boolean;
143
+ defaultOpen: boolean;
144
+ highlightedValue: DateValue;
145
+ defaultHighlightedValue: DateValue;
146
+ defaultView: import("@sectile/core/date-picker").DatePickerViewMode;
147
+ disabled: boolean;
148
+ readonly: boolean;
149
+ required: boolean;
150
+ label: string;
151
+ policies: Readonly<Record<string, unknown>>;
152
+ as: import("./primitive.js").PrimitiveAs;
153
+ asChild: boolean;
154
+ }, import("vue").SlotsType<{
155
+ default: (props: PickerRootSlotProps) => import("vue").VNodeChild;
156
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
157
+ export type MonthPickerValueChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:modelValue']>;
158
+ export type MonthPickerOpenChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:open']>;
159
+ export type MonthPickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:highlightedValue']>;
160
+ export declare const MonthPickerTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
161
+ as: {
162
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
163
+ default: string;
164
+ };
165
+ asChild: {
166
+ type: BooleanConstructor;
167
+ default: boolean;
168
+ };
169
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
170
+ as: {
171
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
172
+ default: string;
173
+ };
174
+ asChild: {
175
+ type: BooleanConstructor;
176
+ default: boolean;
177
+ };
178
+ }>> & Readonly<{}>, {
179
+ as: import("./primitive.js").PrimitiveAs;
180
+ asChild: boolean;
181
+ }, import("vue").SlotsType<{
182
+ default: (props: PickerRootSlotProps) => import("vue").VNodeChild;
183
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
184
+ export declare const MonthPickerContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
185
+ as: {
186
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
187
+ default: string;
188
+ };
189
+ asChild: {
190
+ type: BooleanConstructor;
191
+ default: boolean;
192
+ };
193
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
194
+ as: {
195
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
196
+ default: string;
197
+ };
198
+ asChild: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ }>> & Readonly<{}>, {
203
+ as: import("./primitive.js").PrimitiveAs;
204
+ asChild: boolean;
205
+ }, import("vue").SlotsType<{
206
+ default: (props: PickerRootSlotProps) => import("vue").VNodeChild;
207
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
208
+ export declare const MonthPickerGrid: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
209
+ as: {
210
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
211
+ default: string;
212
+ };
213
+ asChild: {
214
+ type: BooleanConstructor;
215
+ default: boolean;
216
+ };
217
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
218
+ as: {
219
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
220
+ default: string;
221
+ };
222
+ asChild: {
223
+ type: BooleanConstructor;
224
+ default: boolean;
225
+ };
226
+ }>> & Readonly<{}>, {
227
+ as: import("./primitive.js").PrimitiveAs;
228
+ asChild: boolean;
229
+ }, import("vue").SlotsType<{
230
+ default: (props: PickerRootSlotProps) => import("vue").VNodeChild;
231
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
232
+ export declare const MonthPickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
233
+ value: {
234
+ type: import("vue").PropType<import("@sectile/core/date-picker").DatePickerMonthValue>;
235
+ required: true;
236
+ };
237
+ as: {
238
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
239
+ default: string;
240
+ };
241
+ asChild: {
242
+ type: BooleanConstructor;
243
+ default: boolean;
244
+ };
245
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
246
+ value: {
247
+ type: import("vue").PropType<import("@sectile/core/date-picker").DatePickerMonthValue>;
248
+ required: true;
249
+ };
250
+ as: {
251
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
252
+ default: string;
253
+ };
254
+ asChild: {
255
+ type: BooleanConstructor;
256
+ default: boolean;
257
+ };
258
+ }>> & Readonly<{}>, {
259
+ as: import("./primitive.js").PrimitiveAs;
260
+ asChild: boolean;
261
+ }, import("vue").SlotsType<{
262
+ default: (props: PickerMonthCellSlotProps) => import("vue").VNodeChild;
263
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
264
+ export declare const MonthPickerInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
265
+ name: {
266
+ type: StringConstructor;
267
+ default: undefined;
268
+ };
269
+ form: {
270
+ type: StringConstructor;
271
+ default: undefined;
272
+ };
273
+ as: {
274
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
275
+ default: string;
276
+ };
277
+ asChild: {
278
+ type: BooleanConstructor;
279
+ default: boolean;
280
+ };
281
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
282
+ name: {
283
+ type: StringConstructor;
284
+ default: undefined;
285
+ };
286
+ form: {
287
+ type: StringConstructor;
288
+ default: undefined;
289
+ };
290
+ as: {
291
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
292
+ default: string;
293
+ };
294
+ asChild: {
295
+ type: BooleanConstructor;
296
+ default: boolean;
297
+ };
298
+ }>> & Readonly<{}>, {
299
+ name: string;
300
+ form: string;
301
+ as: import("./primitive.js").PrimitiveAs;
302
+ asChild: boolean;
303
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
304
+ export declare const MonthPickerPreviousYear: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
305
+ as: {
306
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
307
+ default: string;
308
+ };
309
+ asChild: {
310
+ type: BooleanConstructor;
311
+ default: boolean;
312
+ };
313
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
314
+ as: {
315
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
316
+ default: string;
317
+ };
318
+ asChild: {
319
+ type: BooleanConstructor;
320
+ default: boolean;
321
+ };
322
+ }>> & Readonly<{}>, {
323
+ as: import("./primitive.js").PrimitiveAs;
324
+ asChild: boolean;
325
+ }, import("vue").SlotsType<{
326
+ default: (props: PickerRootSlotProps) => import("vue").VNodeChild;
327
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
328
+ export declare const MonthPickerNextYear: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
329
+ as: {
330
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
331
+ default: string;
332
+ };
333
+ asChild: {
334
+ type: BooleanConstructor;
335
+ default: boolean;
336
+ };
337
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
338
+ as: {
339
+ type: import("vue").PropType<import("./primitive.js").PrimitiveAs>;
340
+ default: string;
341
+ };
342
+ asChild: {
343
+ type: BooleanConstructor;
344
+ default: boolean;
345
+ };
346
+ }>> & Readonly<{}>, {
347
+ as: import("./primitive.js").PrimitiveAs;
348
+ asChild: boolean;
349
+ }, import("vue").SlotsType<{
350
+ default: (props: PickerRootSlotProps) => import("vue").VNodeChild;
351
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
352
+ export type { DateValue as MonthPickerValue, PickerMonthCellSlotProps as MonthPickerCellSlotProps, PickerPartProps as MonthPickerPartProps, PickerRootSlotProps as MonthPickerRootSlotProps, };
353
+ //# sourceMappingURL=month-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month-picker.d.ts","sourceRoot":"","sources":["../src/month-picker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAEa,KAAK,wBAAwB,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAChG,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAA2H,CAAC;AACxJ,MAAM,MAAM,6BAA6B,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC/H,MAAM,MAAM,4BAA4B,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AACxH,MAAM,MAAM,wCAAwC,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAChJ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;yEAAgB,CAAC;AAChD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;yEAAgB,CAAC;AAChD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;yEAAa,CAAC;AAC1C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAA0D,CAAC;AACvF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAAwD,CAAC;AACtF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;yEAAiE,CAAC;AACtG,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;yEAA4D,CAAC;AAE7F,YAAY,EACV,SAAS,IAAI,gBAAgB,EAC7B,wBAAwB,IAAI,wBAAwB,EACpD,eAAe,IAAI,oBAAoB,EACvC,mBAAmB,IAAI,wBAAwB,GAChD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { PickerContent, PickerGrid, PickerTrigger, createPickerInput, createPickerMonthCell, createPickerMove, createPickerRoot, } from './internal/date-picker.js';
2
+ export const MonthPickerRoot = createPickerRoot('date', 'SectileMonthPickerRoot', { scope: 'month-picker', granularity: 'month', defaultView: 'year' });
3
+ export const MonthPickerTrigger = PickerTrigger;
4
+ export const MonthPickerContent = PickerContent;
5
+ export const MonthPickerGrid = PickerGrid;
6
+ export const MonthPickerCell = createPickerMonthCell('cell', 'SectileMonthPickerCell');
7
+ export const MonthPickerInput = createPickerInput('input', 'SectileMonthPickerInput');
8
+ export const MonthPickerPreviousYear = createPickerMove('year', -1, 'SectileMonthPickerPreviousYear');
9
+ export const MonthPickerNextYear = createPickerMove('year', 1, 'SectileMonthPickerNextYear');
10
+ //# sourceMappingURL=month-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month-picker.js","sourceRoot":"","sources":["../src/month-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EACpG,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAgBnC,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAIxJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC"}