@skdx/web-components 0.30.0 → 0.31.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 (325) hide show
  1. package/custom-elements.json +37729 -31148
  2. package/dist/alert/AlertAnatomy.cjs +1 -1
  3. package/dist/alert/AlertAnatomy.js +1 -1
  4. package/dist/autocomplete/AutocompleteAnatomy.cjs +1 -1
  5. package/dist/autocomplete/AutocompleteAnatomy.js +1 -1
  6. package/dist/autocomplete/AutocompleteContent.cjs +2 -2
  7. package/dist/autocomplete/AutocompleteContent.d.cts +3 -0
  8. package/dist/autocomplete/AutocompleteContent.d.ts +3 -0
  9. package/dist/autocomplete/AutocompleteContent.js +2 -2
  10. package/dist/avatar/AvatarImage.cjs +12 -6
  11. package/dist/avatar/AvatarImage.js +9 -3
  12. package/dist/backdrop/Backdrop.cjs +1 -0
  13. package/dist/backdrop/Backdrop.d.cts +12 -0
  14. package/dist/backdrop/Backdrop.d.ts +12 -0
  15. package/dist/backdrop/Backdrop.js +1 -0
  16. package/dist/backdrop/index.cjs +1 -0
  17. package/dist/backdrop/index.d.cts +1 -0
  18. package/dist/backdrop/index.d.ts +1 -0
  19. package/dist/backdrop/index.js +1 -0
  20. package/dist/badge/BadgeDelete.cjs +1 -1
  21. package/dist/badge/BadgeDelete.js +1 -1
  22. package/dist/badge/BadgeLabel.cjs +1 -1
  23. package/dist/badge/BadgeLabel.js +2 -2
  24. package/dist/badge/BadgeLeading.cjs +1 -1
  25. package/dist/badge/BadgeLeading.js +2 -2
  26. package/dist/breadcrumb/BreadcrumbLink.cjs +5 -1
  27. package/dist/breadcrumb/BreadcrumbLink.js +8 -4
  28. package/dist/checkbox-card/CheckboxCardAnatomy.cjs +9 -9
  29. package/dist/checkbox-card/CheckboxCardAnatomy.js +9 -9
  30. package/dist/checkbox-group/CheckboxGroupItem.cjs +1 -1
  31. package/dist/checkbox-group/CheckboxGroupItem.d.cts +2 -1
  32. package/dist/checkbox-group/CheckboxGroupItem.d.ts +2 -1
  33. package/dist/checkbox-group/CheckboxGroupItem.js +2 -2
  34. package/dist/checkbox-group/CheckboxGroupSelectAll.cjs +2 -2
  35. package/dist/checkbox-group/CheckboxGroupSelectAll.d.cts +2 -0
  36. package/dist/checkbox-group/CheckboxGroupSelectAll.d.ts +2 -0
  37. package/dist/checkbox-group/CheckboxGroupSelectAll.js +1 -1
  38. package/dist/checkbox-group/indicator.cjs +1 -1
  39. package/dist/checkbox-group/indicator.d.cts +7 -0
  40. package/dist/checkbox-group/indicator.d.ts +7 -0
  41. package/dist/checkbox-group/indicator.js +1 -1
  42. package/dist/chip/Chip.cjs +1 -0
  43. package/dist/chip/Chip.d.cts +11 -0
  44. package/dist/chip/Chip.d.ts +11 -0
  45. package/dist/chip/Chip.js +1 -0
  46. package/dist/chip/index.cjs +1 -0
  47. package/dist/chip/index.d.cts +1 -0
  48. package/dist/chip/index.d.ts +1 -0
  49. package/dist/chip/index.js +1 -0
  50. package/dist/clipboard/ClipboardTrigger.cjs +5 -5
  51. package/dist/clipboard/ClipboardTrigger.d.cts +3 -2
  52. package/dist/clipboard/ClipboardTrigger.d.ts +3 -2
  53. package/dist/clipboard/ClipboardTrigger.js +6 -6
  54. package/dist/combobox/Combobox.cjs +2 -2
  55. package/dist/combobox/Combobox.d.cts +4 -0
  56. package/dist/combobox/Combobox.d.ts +4 -0
  57. package/dist/combobox/Combobox.js +2 -2
  58. package/dist/combobox/ComboboxContent.cjs +1 -1
  59. package/dist/combobox/ComboboxContent.js +2 -2
  60. package/dist/combobox/index.cjs +1 -1
  61. package/dist/combobox/index.d.cts +2 -1
  62. package/dist/combobox/index.d.ts +2 -1
  63. package/dist/combobox/index.js +1 -1
  64. package/dist/date-picker/DatePickerCalendar.cjs +1 -1
  65. package/dist/date-picker/DatePickerCalendar.d.cts +1 -0
  66. package/dist/date-picker/DatePickerCalendar.d.ts +1 -0
  67. package/dist/date-picker/DatePickerCalendar.js +1 -1
  68. package/dist/date-picker/DatePickerContent.cjs +1 -1
  69. package/dist/date-picker/DatePickerContent.js +2 -2
  70. package/dist/date-picker/DatePickerTrigger.cjs +19 -6
  71. package/dist/date-picker/DatePickerTrigger.d.cts +8 -0
  72. package/dist/date-picker/DatePickerTrigger.d.ts +8 -0
  73. package/dist/date-picker/DatePickerTrigger.js +17 -4
  74. package/dist/date-picker/family.cjs +1 -1
  75. package/dist/date-picker/family.js +1 -1
  76. package/dist/date-range-picker/DateRangePicker.cjs +1 -0
  77. package/dist/date-range-picker/DateRangePicker.d.cts +12 -0
  78. package/dist/date-range-picker/DateRangePicker.d.ts +12 -0
  79. package/dist/date-range-picker/DateRangePicker.js +1 -0
  80. package/dist/date-range-picker/index.cjs +1 -0
  81. package/dist/date-range-picker/index.d.cts +1 -0
  82. package/dist/date-range-picker/index.d.ts +1 -0
  83. package/dist/date-range-picker/index.js +1 -0
  84. package/dist/date-time-picker/DateTimePicker.cjs +1 -0
  85. package/dist/date-time-picker/DateTimePicker.d.cts +12 -0
  86. package/dist/date-time-picker/DateTimePicker.d.ts +12 -0
  87. package/dist/date-time-picker/DateTimePicker.js +1 -0
  88. package/dist/date-time-picker/index.cjs +1 -0
  89. package/dist/date-time-picker/index.d.cts +1 -0
  90. package/dist/date-time-picker/index.d.ts +1 -0
  91. package/dist/date-time-picker/index.js +1 -0
  92. package/dist/dialog/DialogContent.cjs +1 -1
  93. package/dist/dialog/DialogContent.d.cts +2 -0
  94. package/dist/dialog/DialogContent.d.ts +2 -0
  95. package/dist/dialog/DialogContent.js +1 -1
  96. package/dist/dialog/Dialogs.cjs +24 -0
  97. package/dist/dialog/Dialogs.d.cts +43 -0
  98. package/dist/dialog/Dialogs.d.ts +43 -0
  99. package/dist/dialog/Dialogs.js +24 -0
  100. package/dist/dialog/index.cjs +1 -1
  101. package/dist/dialog/index.d.cts +2 -0
  102. package/dist/dialog/index.d.ts +2 -0
  103. package/dist/dialog/index.js +1 -1
  104. package/dist/drawer/DrawerContent.cjs +2 -2
  105. package/dist/drawer/DrawerContent.js +2 -2
  106. package/dist/fab/Fab.cjs +1 -0
  107. package/dist/fab/Fab.d.cts +12 -0
  108. package/dist/fab/Fab.d.ts +12 -0
  109. package/dist/fab/Fab.js +1 -0
  110. package/dist/fab/index.cjs +1 -0
  111. package/dist/fab/index.d.cts +1 -0
  112. package/dist/fab/index.d.ts +1 -0
  113. package/dist/fab/index.js +1 -0
  114. package/dist/field/FieldError.cjs +2 -2
  115. package/dist/field/FieldError.js +1 -1
  116. package/dist/floating-panel/FloatingPanel.cjs +2 -2
  117. package/dist/floating-panel/FloatingPanel.d.cts +3 -0
  118. package/dist/floating-panel/FloatingPanel.d.ts +3 -0
  119. package/dist/floating-panel/FloatingPanel.js +2 -2
  120. package/dist/floating-panel/FloatingPanelContent.cjs +2 -2
  121. package/dist/floating-panel/FloatingPanelContent.d.cts +3 -0
  122. package/dist/floating-panel/FloatingPanelContent.d.ts +3 -0
  123. package/dist/floating-panel/FloatingPanelContent.js +2 -2
  124. package/dist/gauge/Gauge.cjs +1 -0
  125. package/dist/gauge/Gauge.d.cts +12 -0
  126. package/dist/gauge/Gauge.d.ts +12 -0
  127. package/dist/gauge/Gauge.js +1 -0
  128. package/dist/gauge/index.cjs +1 -0
  129. package/dist/gauge/index.d.cts +1 -0
  130. package/dist/gauge/index.d.ts +1 -0
  131. package/dist/gauge/index.js +1 -0
  132. package/dist/grid/Grid.cjs +1 -0
  133. package/dist/grid/Grid.d.cts +12 -0
  134. package/dist/grid/Grid.d.ts +12 -0
  135. package/dist/grid/Grid.js +1 -0
  136. package/dist/grid/index.cjs +1 -0
  137. package/dist/grid/index.d.cts +1 -0
  138. package/dist/grid/index.d.ts +1 -0
  139. package/dist/grid/index.js +1 -0
  140. package/dist/index.cjs +1 -1
  141. package/dist/index.d.cts +16 -3
  142. package/dist/index.d.ts +16 -3
  143. package/dist/index.js +1 -1
  144. package/dist/internal/csv.cjs +2 -0
  145. package/dist/internal/csv.d.cts +43 -0
  146. package/dist/internal/csv.d.ts +43 -0
  147. package/dist/internal/csv.js +2 -0
  148. package/dist/internal/dialogs.cjs +1 -0
  149. package/dist/internal/dialogs.d.cts +96 -0
  150. package/dist/internal/dialogs.d.ts +96 -0
  151. package/dist/internal/dialogs.js +1 -0
  152. package/dist/internal/dismiss.cjs +1 -1
  153. package/dist/internal/dismiss.d.cts +1 -1
  154. package/dist/internal/dismiss.d.ts +1 -1
  155. package/dist/internal/dismiss.js +1 -1
  156. package/dist/internal/dismissal.cjs +1 -1
  157. package/dist/internal/dismissal.d.cts +7 -0
  158. package/dist/internal/dismissal.d.ts +7 -0
  159. package/dist/internal/dismissal.js +1 -1
  160. package/dist/internal/field-core.cjs +1 -1
  161. package/dist/internal/field-core.d.cts +2 -0
  162. package/dist/internal/field-core.d.ts +2 -0
  163. package/dist/internal/field-core.js +1 -1
  164. package/dist/internal/form-associated.cjs +1 -1
  165. package/dist/internal/form-associated.js +1 -1
  166. package/dist/internal/light-dom-styles.cjs +3 -1
  167. package/dist/internal/light-dom-styles.js +2 -0
  168. package/dist/internal/media-query.cjs +1 -0
  169. package/dist/internal/media-query.d.cts +7 -0
  170. package/dist/internal/media-query.d.ts +7 -0
  171. package/dist/internal/media-query.js +1 -0
  172. package/dist/internal/menu-panel.cjs +1 -1
  173. package/dist/internal/menu-panel.js +2 -2
  174. package/dist/internal/options.cjs +1 -1
  175. package/dist/internal/options.d.cts +1 -1
  176. package/dist/internal/options.d.ts +1 -1
  177. package/dist/internal/options.js +1 -1
  178. package/dist/internal/styles.cjs +20 -7
  179. package/dist/internal/styles.d.cts +1 -1
  180. package/dist/internal/styles.d.ts +1 -1
  181. package/dist/internal/styles.js +20 -7
  182. package/dist/list/ListItem.cjs +13 -8
  183. package/dist/list/ListItem.js +12 -7
  184. package/dist/loading-overlay/LoadingOverlayBackdrop.cjs +1 -1
  185. package/dist/loading-overlay/LoadingOverlayBackdrop.js +1 -1
  186. package/dist/loading-overlay/LoadingOverlayContent.cjs +1 -1
  187. package/dist/loading-overlay/LoadingOverlayContent.js +3 -3
  188. package/dist/mentions/MentionsContent.cjs +1 -1
  189. package/dist/mentions/MentionsContent.js +2 -2
  190. package/dist/menu/MenuAnatomy.cjs +1 -1
  191. package/dist/menu/MenuAnatomy.js +1 -1
  192. package/dist/menu/MenuTrigger.cjs +3 -2
  193. package/dist/menu/MenuTrigger.d.cts +5 -0
  194. package/dist/menu/MenuTrigger.d.ts +5 -0
  195. package/dist/menu/MenuTrigger.js +5 -4
  196. package/dist/navigation-menu/NavigationMenuContent.cjs +2 -2
  197. package/dist/navigation-menu/NavigationMenuContent.js +1 -1
  198. package/dist/paper/Paper.cjs +1 -0
  199. package/dist/paper/Paper.d.cts +11 -0
  200. package/dist/paper/Paper.d.ts +11 -0
  201. package/dist/paper/Paper.js +1 -0
  202. package/dist/paper/index.cjs +1 -0
  203. package/dist/paper/index.d.cts +1 -0
  204. package/dist/paper/index.d.ts +1 -0
  205. package/dist/paper/index.js +1 -0
  206. package/dist/password-input/PasswordInputField.cjs +2 -2
  207. package/dist/password-input/PasswordInputField.js +4 -4
  208. package/dist/popover/PopoverAnchor.cjs +1 -1
  209. package/dist/popover/PopoverAnchor.d.cts +1 -0
  210. package/dist/popover/PopoverAnchor.d.ts +1 -0
  211. package/dist/popover/PopoverAnchor.js +2 -2
  212. package/dist/popover/PopoverContent.cjs +1 -1
  213. package/dist/popover/PopoverContent.js +2 -2
  214. package/dist/popover/PopoverDescription.cjs +7 -2
  215. package/dist/popover/PopoverDescription.js +7 -2
  216. package/dist/popover/PopoverTitle.cjs +7 -2
  217. package/dist/popover/PopoverTitle.js +7 -2
  218. package/dist/popover/family.cjs +1 -1
  219. package/dist/popover/family.js +1 -1
  220. package/dist/progress/ProgressCircle.cjs +2 -2
  221. package/dist/progress/ProgressCircle.js +1 -1
  222. package/dist/progress/ProgressCircleIndicator.cjs +2 -2
  223. package/dist/progress/ProgressCircleIndicator.js +2 -2
  224. package/dist/progress/ProgressIndicator.cjs +2 -2
  225. package/dist/progress/ProgressIndicator.js +1 -1
  226. package/dist/progress/ProgressLabel.cjs +1 -1
  227. package/dist/progress/ProgressLabel.js +1 -1
  228. package/dist/progress/ProgressValue.cjs +1 -1
  229. package/dist/progress/ProgressValue.js +1 -1
  230. package/dist/select/SelectContent.cjs +2 -2
  231. package/dist/select/SelectContent.d.cts +3 -0
  232. package/dist/select/SelectContent.d.ts +3 -0
  233. package/dist/select/SelectContent.js +2 -2
  234. package/dist/speed-dial/SpeedDial.cjs +2 -2
  235. package/dist/speed-dial/SpeedDial.d.cts +6 -0
  236. package/dist/speed-dial/SpeedDial.d.ts +6 -0
  237. package/dist/speed-dial/SpeedDial.js +2 -2
  238. package/dist/speed-dial/SpeedDialAnatomy.cjs +1 -1
  239. package/dist/speed-dial/SpeedDialAnatomy.js +1 -1
  240. package/dist/speed-dial/SpeedDialContent.cjs +1 -1
  241. package/dist/speed-dial/SpeedDialContent.js +2 -2
  242. package/dist/speed-dial/SpeedDialTrigger.cjs +5 -4
  243. package/dist/speed-dial/SpeedDialTrigger.d.cts +5 -0
  244. package/dist/speed-dial/SpeedDialTrigger.d.ts +5 -0
  245. package/dist/speed-dial/SpeedDialTrigger.js +5 -4
  246. package/dist/stack/Stack.cjs +1 -0
  247. package/dist/stack/Stack.d.cts +12 -0
  248. package/dist/stack/Stack.d.ts +12 -0
  249. package/dist/stack/Stack.js +1 -0
  250. package/dist/stack/index.cjs +1 -0
  251. package/dist/stack/index.d.cts +1 -0
  252. package/dist/stack/index.d.ts +1 -0
  253. package/dist/stack/index.js +1 -0
  254. package/dist/table/Table.cjs +4 -4
  255. package/dist/table/Table.d.cts +17 -1
  256. package/dist/table/Table.d.ts +17 -1
  257. package/dist/table/Table.js +5 -5
  258. package/dist/table/TableAnatomy.cjs +5 -5
  259. package/dist/table/TableAnatomy.d.cts +4 -1
  260. package/dist/table/TableAnatomy.d.ts +4 -1
  261. package/dist/table/TableAnatomy.js +11 -11
  262. package/dist/table/TableColumnHeaderFilterInput.cjs +15 -0
  263. package/dist/table/TableColumnHeaderFilterInput.d.cts +37 -0
  264. package/dist/table/TableColumnHeaderFilterInput.d.ts +37 -0
  265. package/dist/table/TableColumnHeaderFilterInput.js +15 -0
  266. package/dist/table/TableExpandTrigger.cjs +5 -5
  267. package/dist/table/TableExpandTrigger.d.cts +1 -0
  268. package/dist/table/TableExpandTrigger.d.ts +1 -0
  269. package/dist/table/TableExpandTrigger.js +5 -5
  270. package/dist/table/TableHeaderCell.cjs +44 -31
  271. package/dist/table/TableHeaderCell.d.cts +18 -0
  272. package/dist/table/TableHeaderCell.d.ts +18 -0
  273. package/dist/table/TableHeaderCell.js +44 -31
  274. package/dist/table/index.cjs +1 -1
  275. package/dist/table/index.d.cts +1 -1
  276. package/dist/table/index.d.ts +1 -1
  277. package/dist/table/index.js +1 -1
  278. package/dist/table/primitives.cjs +1 -1
  279. package/dist/table/primitives.d.cts +1 -0
  280. package/dist/table/primitives.d.ts +1 -0
  281. package/dist/table/primitives.js +1 -1
  282. package/dist/table/types.cjs +1 -1
  283. package/dist/table/types.d.cts +2 -0
  284. package/dist/table/types.d.ts +2 -0
  285. package/dist/tag-group/TagGroupAnatomy.cjs +4 -4
  286. package/dist/tag-group/TagGroupAnatomy.d.cts +5 -1
  287. package/dist/tag-group/TagGroupAnatomy.d.ts +5 -1
  288. package/dist/tag-group/TagGroupAnatomy.js +5 -5
  289. package/dist/tags-input/TagsInputInput.cjs +3 -2
  290. package/dist/tags-input/TagsInputInput.d.cts +5 -0
  291. package/dist/tags-input/TagsInputInput.d.ts +5 -0
  292. package/dist/tags-input/TagsInputInput.js +10 -9
  293. package/dist/text-field/TextField.cjs +8 -4
  294. package/dist/text-field/TextField.js +8 -4
  295. package/dist/timeline/Timeline.cjs +9 -2
  296. package/dist/timeline/Timeline.d.cts +8 -1
  297. package/dist/timeline/Timeline.d.ts +8 -1
  298. package/dist/timeline/Timeline.js +9 -2
  299. package/dist/timeline/TimelineAnatomy.cjs +7 -7
  300. package/dist/timeline/TimelineAnatomy.js +8 -8
  301. package/dist/tooltip/Tooltip.cjs +1 -0
  302. package/dist/tooltip/Tooltip.d.cts +20 -0
  303. package/dist/tooltip/Tooltip.d.ts +20 -0
  304. package/dist/tooltip/Tooltip.js +1 -0
  305. package/dist/tooltip/index.cjs +1 -0
  306. package/dist/tooltip/index.d.cts +1 -0
  307. package/dist/tooltip/index.d.ts +1 -0
  308. package/dist/tooltip/index.js +1 -0
  309. package/dist/tour/TourAnatomy.cjs +1 -1
  310. package/dist/tour/TourAnatomy.d.cts +1 -0
  311. package/dist/tour/TourAnatomy.d.ts +1 -0
  312. package/dist/tour/TourAnatomy.js +1 -1
  313. package/dist/tour/TourContent.cjs +1 -1
  314. package/dist/tour/TourContent.js +2 -2
  315. package/dist/tour/TourNextTrigger.cjs +1 -1
  316. package/dist/tour/TourNextTrigger.js +1 -1
  317. package/dist/tree/Tree.cjs +1 -1
  318. package/dist/tree/Tree.d.cts +1 -1
  319. package/dist/tree/Tree.d.ts +1 -1
  320. package/dist/tree/Tree.js +1 -1
  321. package/dist/tree-select/TreeSelectContent.cjs +2 -2
  322. package/dist/tree-select/TreeSelectContent.d.cts +3 -0
  323. package/dist/tree-select/TreeSelectContent.d.ts +3 -0
  324. package/dist/tree-select/TreeSelectContent.js +2 -2
  325. package/package.json +126 -2
@@ -1,5 +1,5 @@
1
- var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var o=(a,n,t,i)=>{for(var s=i>1?void 0:i?f(n,t):n,l=a.length-1,d;l>=0;l--)(d=a[l])&&(s=(i?d(n,t,s):d(s))||s);return i&&s&&p(n,t,s),s};import{css as m,html as v,LitElement as y}from"lit";import{property as r}from"lit/decorators.js";import{anchorOf as g,toISODateString as O}from"../calendar/Calendar.js";import{closestThroughPortal as b}from"../internal/closest.js";import{customElement as L}from"../internal/define.js";import{dispatchAutoFocus as u,dispatchEscapeKeyDown as E,dispatchOutside as c,focusOnOpen as F,focusOutsideTarget as w}from"../internal/dismiss.js";import{handleEscapeKeyDown as A,pushDismissLayer as I}from"../internal/dismissal.js";import{optOutBoolean as P,positionFloating as H}from"../internal/positioning.js";import{hiddenHostStyles as D}from"../internal/styles.js";import{focusDatePickerContent as T,focusDelegate as B}from"./auto-focus.js";import{DATE_PICKER_FAMILY as h}from"./family.js";var e=class extends y{constructor(){super(...arguments);this.side="bottom";this.align="center";this.sideOffset=4;this.alignOffset=0;this.avoidCollisions=!0;this.collisionPadding=8;this.root=null;this.onRootUpdate=()=>this.syncHostState();this.authoredLabel=!1;this.wasOpen=!1;this.dismissedOutside=!1;this.focusFrame=0;this.layer={insideElements:()=>[this,this.root?.triggerHost]};this.handleKeyDown=t=>{this.root?.open&&A(t,this.layer,()=>{E(this,t)&&this.root?.setOpen(!1)})};this.handleOutsidePointerDown=t=>{!this.root?.open||this.isInside(t.target)||c(this,"pointer-down-outside",t)&&(this.dismissedOutside=!0,this.root.setOpen(!1))};this.handleOutsideFocus=t=>{if(!this.root?.open)return;let i=w(t);i===null||this.isInside(i)||c(this,"focus-outside",t)&&(this.dismissedOutside=!0,this.root.setOpen(!1))}}get anchorISO(){let t=g(this.root?.value??null);return t?O(t):null}connectedCallback(){super.connectedCallback(),this.root=b(this,h.selector),this.root&&(this.root.contentEl=this),this.authoredLabel=this.hasAttribute("aria-label")||this.hasAttribute("aria-labelledby"),this.setAttribute("role","dialog"),this.root?.addEventListener(h.event,this.onRootUpdate),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("pointerdown",this.handleOutsidePointerDown),document.addEventListener("focusin",this.handleOutsideFocus),this.root&&(this.id?this.root.contentId=this.id:this.id=this.root.contentId),this.syncHostState()}disconnectedCallback(){this.root?.removeEventListener(h.event,this.onRootUpdate),this.root?.contentEl===this&&(this.root.contentEl=null),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("pointerdown",this.handleOutsidePointerDown),document.removeEventListener("focusin",this.handleOutsideFocus),this.releaseLayer?.(),this.releaseLayer=void 0,this.cleanupPosition?.(),cancelAnimationFrame(this.focusFrame),super.disconnectedCallback()}syncHostState(){let t=this.root?.open??!1;this.setAttribute("data-state",t?"open":"closed");for(let[i,s]of[["data-invalid",this.root?.invalid??!1],["data-readonly",this.root?.readOnly??!1]])s?this.setAttribute(i,""):this.removeAttribute(i);(!t||!this.hasAttribute("data-side"))&&(this.setAttribute("data-side",this.side??"bottom"),this.setAttribute("data-align",this.align??"start")),this.syncLabelledBy(),this.applyOpenState(t)}syncLabelledBy(){let t=this.root?.triggerHost?.id||this.root?.triggerId;!this.authoredLabel&&t&&this.setAttribute("aria-labelledby",t)}applyOpenState(t){this.hidden=!t,t?this.releaseLayer??(this.releaseLayer=I(this.layer)):(this.releaseLayer?.(),this.releaseLayer=void 0),t?this.activate():this.deactivate(),t!==this.wasOpen&&(this.wasOpen=t,t?this.autoFocusIn():this.autoFocusOut())}autoFocusIn(){this.dismissedOutside=!1,this.focusFrame=requestAnimationFrame(()=>{this.root?.open&&(this.contains(document.activeElement)||u(this,"open-auto-focus")&&F(()=>T(this,this.anchorISO)))})}autoFocusOut(){if(cancelAnimationFrame(this.focusFrame),this.dismissedOutside||!u(this,"close-auto-focus"))return;let t=this.root?.triggerHost;t&&B(t).focus({preventScroll:!0})}activate(){this.cleanupPosition||!this.root?.triggerHost||(this.cleanupPosition=H(this.root.triggerHost,this,{side:this.side,align:this.align,sideOffset:this.sideOffset,alignOffset:this.alignOffset,avoidCollisions:this.avoidCollisions,collisionPadding:this.collisionPadding,collisionBoundary:this.collisionBoundary}))}deactivate(){this.cleanupPosition?.(),this.cleanupPosition=void 0}isInside(t){return t?this.contains(t)||this.root?.contains(t)===!0:!1}render(){return v`<slot></slot>`}};e.styles=[D,m`
1
+ var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var o=(a,n,t,i)=>{for(var s=i>1?void 0:i?f(n,t):n,l=a.length-1,d;l>=0;l--)(d=a[l])&&(s=(i?d(n,t,s):d(s))||s);return i&&s&&p(n,t,s),s};import{css as m,html as v,LitElement as y}from"lit";import{property as r}from"lit/decorators.js";import{anchorOf as g,toISODateString as O}from"../calendar/Calendar.js";import{closestThroughPortal as b}from"../internal/closest.js";import{customElement as L}from"../internal/define.js";import{dispatchAutoFocus as u,dispatchEscapeKeyDown as E,dispatchOutside as c,focusOnOpen as F,focusOutsideTarget as w}from"../internal/dismiss.js";import{handleEscapeKeyDown as A,nestedLayerContains as I,pushDismissLayer as P}from"../internal/dismissal.js";import{optOutBoolean as H,positionFloating as D}from"../internal/positioning.js";import{hiddenHostStyles as T}from"../internal/styles.js";import{focusDatePickerContent as B,focusDelegate as K}from"./auto-focus.js";import{DATE_PICKER_FAMILY as h}from"./family.js";var e=class extends y{constructor(){super(...arguments);this.side="bottom";this.align="center";this.sideOffset=4;this.alignOffset=0;this.avoidCollisions=!0;this.collisionPadding=8;this.root=null;this.onRootUpdate=()=>this.syncHostState();this.authoredLabel=!1;this.wasOpen=!1;this.dismissedOutside=!1;this.focusFrame=0;this.layer={insideElements:()=>[this,this.root?.triggerHost]};this.handleKeyDown=t=>{this.root?.open&&A(t,this.layer,()=>{E(this,t)&&this.root?.setOpen(!1)})};this.handleOutsidePointerDown=t=>{!this.root?.open||this.isInside(t.target)||c(this,"pointer-down-outside",t)&&(this.dismissedOutside=!0,this.root.setOpen(!1))};this.handleOutsideFocus=t=>{if(!this.root?.open)return;let i=w(t);i===null||this.isInside(i)||c(this,"focus-outside",t)&&(this.dismissedOutside=!0,this.root.setOpen(!1))}}get anchorISO(){let t=g(this.root?.value??null);return t?O(t):null}connectedCallback(){super.connectedCallback(),this.root=b(this,h.selector),this.root&&(this.root.contentEl=this),this.authoredLabel=this.hasAttribute("aria-label")||this.hasAttribute("aria-labelledby"),this.setAttribute("role","dialog"),this.root?.addEventListener(h.event,this.onRootUpdate),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("pointerdown",this.handleOutsidePointerDown),document.addEventListener("focusin",this.handleOutsideFocus),this.root&&(this.id?this.root.contentId=this.id:this.id=this.root.contentId),this.syncHostState()}disconnectedCallback(){this.root?.removeEventListener(h.event,this.onRootUpdate),this.root?.contentEl===this&&(this.root.contentEl=null),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("pointerdown",this.handleOutsidePointerDown),document.removeEventListener("focusin",this.handleOutsideFocus),this.releaseLayer?.(),this.releaseLayer=void 0,this.cleanupPosition?.(),cancelAnimationFrame(this.focusFrame),super.disconnectedCallback()}syncHostState(){let t=this.root?.open??!1;this.setAttribute("data-state",t?"open":"closed");for(let[i,s]of[["data-invalid",this.root?.invalid??!1],["data-readonly",this.root?.readOnly??!1]])s?this.setAttribute(i,""):this.removeAttribute(i);(!t||!this.hasAttribute("data-side"))&&(this.setAttribute("data-side",this.side??"bottom"),this.setAttribute("data-align",this.align??"start")),this.syncLabelledBy(),this.applyOpenState(t)}syncLabelledBy(){let t=this.root?.triggerHost?.id||this.root?.triggerId;!this.authoredLabel&&t&&this.setAttribute("aria-labelledby",t)}applyOpenState(t){this.hidden=!t,t?this.releaseLayer??(this.releaseLayer=P(this.layer)):(this.releaseLayer?.(),this.releaseLayer=void 0),t?this.activate():this.deactivate(),t!==this.wasOpen&&(this.wasOpen=t,t?this.autoFocusIn():this.autoFocusOut())}autoFocusIn(){this.dismissedOutside=!1,this.focusFrame=requestAnimationFrame(()=>{this.root?.open&&(this.contains(document.activeElement)||u(this,"open-auto-focus")&&F(()=>B(this,this.anchorISO)))})}autoFocusOut(){if(cancelAnimationFrame(this.focusFrame),this.dismissedOutside||!u(this,"close-auto-focus"))return;let t=this.root?.triggerHost;t&&K(t).focus({preventScroll:!0})}activate(){this.cleanupPosition||!this.root?.triggerHost||(this.cleanupPosition=D(this.root.triggerHost,this,{side:this.side,align:this.align,sideOffset:this.sideOffset,alignOffset:this.alignOffset,avoidCollisions:this.avoidCollisions,collisionPadding:this.collisionPadding,collisionBoundary:this.collisionBoundary}))}deactivate(){this.cleanupPosition?.(),this.cleanupPosition=void 0}isInside(t){return t?I(this.layer,t)?!0:this.contains(t)||this.root?.contains(t)===!0:!1}render(){return v`<slot></slot>`}};e.styles=[T,m`
2
2
  :host {
3
3
  display: block;
4
4
  }
5
- `],o([r({type:String})],e.prototype,"side",2),o([r({type:String})],e.prototype,"align",2),o([r({type:Number,attribute:"side-offset"})],e.prototype,"sideOffset",2),o([r({type:Number,attribute:"align-offset"})],e.prototype,"alignOffset",2),o([r({converter:P,attribute:"avoid-collisions"})],e.prototype,"avoidCollisions",2),o([r({type:Number,attribute:"collision-padding"})],e.prototype,"collisionPadding",2),o([r({attribute:!1})],e.prototype,"collisionBoundary",2),e=o([L("skdx-date-picker-content","date-picker","content")],e);export{e as SkdxDatePickerContent};
5
+ `],o([r({type:String})],e.prototype,"side",2),o([r({type:String})],e.prototype,"align",2),o([r({type:Number,attribute:"side-offset"})],e.prototype,"sideOffset",2),o([r({type:Number,attribute:"align-offset"})],e.prototype,"alignOffset",2),o([r({converter:H,attribute:"avoid-collisions"})],e.prototype,"avoidCollisions",2),o([r({type:Number,attribute:"collision-padding"})],e.prototype,"collisionPadding",2),o([r({attribute:!1})],e.prototype,"collisionBoundary",2),e=o([L("skdx-date-picker-content","date-picker","content")],e);export{e as SkdxDatePickerContent};
@@ -1,19 +1,32 @@
1
- "use strict";var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(o,t)=>{for(var i in t)l(o,i,{get:t[i],enumerable:!0})},k=(o,t,i,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of f(t))!g.call(o,e)&&e!==i&&l(o,e,{get:()=>t[e],enumerable:!(a=v(t,e))||a.enumerable});return o};var C=o=>k(l({},"__esModule",{value:!0}),o),m=(o,t,i,a)=>{for(var e=a>1?void 0:a?v(t,i):t,h=o.length-1,c;h>=0;h--)(c=o[h])&&(e=(a?c(t,i,e):c(e))||e);return a&&e&&l(t,i,e),e};var E={};y(E,{SkdxDatePickerTrigger:()=>r});module.exports=C(E);var s=require("lit"),u=require("lit/decorators.js"),p=require("../internal/define.cjs"),b=require("../internal/part.cjs"),d=require("../internal/styles.cjs"),n=require("./family.cjs");var r=class extends s.LitElement{constructor(){super(...arguments);this.disabled=!1;this.root=null;this.onUpdate=()=>this.requestUpdate();this.handleClick=()=>{this.isDisabled||this.root?.setOpen(!this.root.open)}}get isDisabled(){return this.disabled||(this.root?.disabled??!1)}connectedCallback(){super.connectedCallback(),this.root=n.DATE_PICKER_FAMILY.root(this),this.root?.addEventListener(n.DATE_PICKER_FAMILY.event,this.onUpdate),this.root&&(0,p.whenUpgraded)(this.root,()=>{this.root&&(this.root.triggerHost=this,this.id||(this.id=this.root.triggerId))})}disconnectedCallback(){this.root?.removeEventListener(n.DATE_PICKER_FAMILY.event,this.onUpdate),super.disconnectedCallback()}updated(){(0,b.reflectHostState)(this,{"data-state":this.root?.open??!1?"open":"closed","data-disabled":this.isDisabled?"":null,"data-invalid":this.root?.invalid??!1?"":null})}render(){let i=this.root?.open??!1;return s.html`
1
+ "use strict";var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var L=(o,t)=>{for(var a in t)p(o,a,{get:t[a],enumerable:!0})},w=(o,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of y(t))!g.call(o,e)&&e!==a&&p(o,e,{get:()=>t[e],enumerable:!(r=v(t,e))||r.enumerable});return o};var C=o=>w(p({},"__esModule",{value:!0}),o),l=(o,t,a,r)=>{for(var e=r>1?void 0:r?v(t,a):t,u=o.length-1,b;u>=0;u--)(b=o[u])&&(e=(r?b(t,a,e):b(e))||e);return r&&e&&p(t,a,e),e};var E={};L(E,{SkdxDatePickerTrigger:()=>i});module.exports=C(E);var s=require("lit"),n=require("lit/decorators.js"),c=require("../internal/define.cjs"),f=require("../internal/field-core.cjs"),m=require("../internal/part.cjs"),d=require("../internal/styles.cjs"),h=require("./family.cjs");var i=class extends s.LitElement{constructor(){super(...arguments);this.disabled=!1;this.ariaLabel=null;this.ariaLabelledBy=null;this.ariaDescribedBy=null;this.ariaInvalid=null;this.root=null;this.onUpdate=()=>this.requestUpdate();this.handleClick=()=>{this.isDisabled||this.root?.setOpen(!this.root.open)}}get isDisabled(){return this.disabled||(this.root?.disabled??!1)}connectedCallback(){super.connectedCallback(),this.setAttribute(f.FIELD_CONTROL_ATTRIBUTE,""),this.root=h.DATE_PICKER_FAMILY.root(this),this.root?.addEventListener(h.DATE_PICKER_FAMILY.event,this.onUpdate),this.root&&(0,c.whenUpgraded)(this.root,()=>{this.root&&(this.root.triggerHost=this,this.id||(this.id=this.root.triggerId))})}disconnectedCallback(){this.root?.removeEventListener(h.DATE_PICKER_FAMILY.event,this.onUpdate),super.disconnectedCallback()}updated(){(0,m.reflectHostState)(this,{"data-state":this.root?.open??!1?"open":"closed","data-disabled":this.isDisabled?"":null,"data-invalid":this.root?.invalid??!1?"":null})}render(){let a=this.root?.open??!1;return s.html`
2
2
  <button
3
3
  part="trigger"
4
4
  type="button"
5
5
  ?disabled=${this.isDisabled}
6
6
  aria-haspopup="dialog"
7
- aria-expanded=${i}
7
+ aria-expanded=${a}
8
8
  aria-controls=${this.root?.contentId??""}
9
- aria-invalid=${this.root?.invalid?"true":s.nothing}
10
- data-state=${i?"open":"closed"}
9
+ aria-label=${this.ariaLabel??s.nothing}
10
+ aria-labelledby=${this.ariaLabelledBy??s.nothing}
11
+ aria-describedby=${this.ariaDescribedBy??s.nothing}
12
+ aria-invalid=${this.root?.invalid?"true":this.ariaInvalid??s.nothing}
13
+ data-state=${a?"open":"closed"}
11
14
  @click=${this.handleClick}
12
15
  >
13
16
  <slot></slot>
14
17
  </button>
15
- `}};r.shadowRootOptions=d.delegatesFocusShadowRootOptions,r.styles=[d.resetNativeControl,s.css`
18
+ `}};i.shadowRootOptions=d.delegatesFocusShadowRootOptions,i.styles=[d.resetNativeControl,s.css`
16
19
  :host {
17
20
  display: inline-block;
18
21
  }
19
- `,d.controlBoxOnHost],m([(0,u.property)({type:Boolean,reflect:!0})],r.prototype,"disabled",2),r=m([(0,p.customElement)("skdx-date-picker-trigger","date-picker","trigger")],r);0&&(module.exports={SkdxDatePickerTrigger});
22
+
23
+ /* Declared locally, not left to the light-DOM :focus-visible rule: this
24
+ host sits inside <skdx-date-picker>'s own shadow tree, and delegated
25
+ focus crossing two nested shadow boundaries painted the ring around
26
+ the inner <button> instead of this host's own border box, leaving a
27
+ visible gap. A rule scoped to this shadow root paints it directly. */
28
+ :host(:focus-visible) {
29
+ outline: var(--skdx-focus-ring-width) solid var(--skdx-color-focus-ring);
30
+ outline-offset: var(--skdx-focus-ring-offset);
31
+ }
32
+ `,d.controlBoxOnHost],l([(0,n.property)({type:Boolean,reflect:!0})],i.prototype,"disabled",2),l([(0,n.property)({type:String,attribute:"aria-label"})],i.prototype,"ariaLabel",2),l([(0,n.property)({type:String,attribute:"aria-labelledby"})],i.prototype,"ariaLabelledBy",2),l([(0,n.property)({type:String,attribute:"aria-describedby"})],i.prototype,"ariaDescribedBy",2),l([(0,n.property)({type:String,attribute:"aria-invalid"})],i.prototype,"ariaInvalid",2),i=l([(0,c.customElement)("skdx-date-picker-trigger","date-picker","trigger")],i);0&&(module.exports={SkdxDatePickerTrigger});
@@ -11,6 +11,14 @@ export declare class SkdxDatePickerTrigger extends LitElement {
11
11
  * @default false — the trigger follows the root's `disabled`.
12
12
  */
13
13
  disabled: boolean;
14
+ /** Accessible name for the trigger, mirrored onto the shadow `<button>`. @default undefined */
15
+ ariaLabel: string | null;
16
+ /** Id(s) naming the trigger, mirrored onto the shadow `<button>` — a Field writes this onto the host. @default undefined */
17
+ ariaLabelledBy: string | null;
18
+ /** Id(s) describing the trigger, mirrored onto the shadow `<button>` — a Field writes this onto the host. @default undefined */
19
+ ariaDescribedBy: string | null;
20
+ /** Marks the trigger invalid, mirrored onto the shadow `<button>` — a Field writes this onto the host. @default undefined */
21
+ ariaInvalid: string | null;
14
22
  private root;
15
23
  private readonly onUpdate;
16
24
  private get isDisabled();
@@ -11,6 +11,14 @@ export declare class SkdxDatePickerTrigger extends LitElement {
11
11
  * @default false — the trigger follows the root's `disabled`.
12
12
  */
13
13
  disabled: boolean;
14
+ /** Accessible name for the trigger, mirrored onto the shadow `<button>`. @default undefined */
15
+ ariaLabel: string | null;
16
+ /** Id(s) naming the trigger, mirrored onto the shadow `<button>` — a Field writes this onto the host. @default undefined */
17
+ ariaLabelledBy: string | null;
18
+ /** Id(s) describing the trigger, mirrored onto the shadow `<button>` — a Field writes this onto the host. @default undefined */
19
+ ariaDescribedBy: string | null;
20
+ /** Marks the trigger invalid, mirrored onto the shadow `<button>` — a Field writes this onto the host. @default undefined */
21
+ ariaInvalid: string | null;
14
22
  private root;
15
23
  private readonly onUpdate;
16
24
  private get isDisabled();
@@ -1,4 +1,4 @@
1
- var p=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var l=(s,i,o,r)=>{for(var t=r>1?void 0:r?h(i,o):i,a=s.length-1,d;a>=0;a--)(d=s[a])&&(t=(r?d(i,o,t):d(t))||t);return r&&t&&p(i,o,t),t};import{css as c,html as m,LitElement as v,nothing as u}from"lit";import{property as b}from"lit/decorators.js";import{customElement as f,whenUpgraded as g}from"../internal/define.js";import{reflectHostState as y}from"../internal/part.js";import{controlBoxOnHost as k,delegatesFocusShadowRootOptions as C,resetNativeControl as E}from"../internal/styles.js";import{DATE_PICKER_FAMILY as n}from"./family.js";var e=class extends v{constructor(){super(...arguments);this.disabled=!1;this.root=null;this.onUpdate=()=>this.requestUpdate();this.handleClick=()=>{this.isDisabled||this.root?.setOpen(!this.root.open)}}get isDisabled(){return this.disabled||(this.root?.disabled??!1)}connectedCallback(){super.connectedCallback(),this.root=n.root(this),this.root?.addEventListener(n.event,this.onUpdate),this.root&&g(this.root,()=>{this.root&&(this.root.triggerHost=this,this.id||(this.id=this.root.triggerId))})}disconnectedCallback(){this.root?.removeEventListener(n.event,this.onUpdate),super.disconnectedCallback()}updated(){y(this,{"data-state":this.root?.open??!1?"open":"closed","data-disabled":this.isDisabled?"":null,"data-invalid":this.root?.invalid??!1?"":null})}render(){let o=this.root?.open??!1;return m`
1
+ var c=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var i=(n,a,o,r)=>{for(var e=r>1?void 0:r?u(a,o):a,d=n.length-1,p;d>=0;d--)(p=n[d])&&(e=(r?p(a,o,e):p(e))||e);return r&&e&&c(a,o,e),e};import{css as b,html as v,LitElement as f,nothing as l}from"lit";import{property as s}from"lit/decorators.js";import{customElement as m,whenUpgraded as y}from"../internal/define.js";import{FIELD_CONTROL_ATTRIBUTE as g}from"../internal/field-core.js";import{reflectHostState as L}from"../internal/part.js";import{controlBoxOnHost as w,delegatesFocusShadowRootOptions as C,resetNativeControl as E}from"../internal/styles.js";import{DATE_PICKER_FAMILY as h}from"./family.js";var t=class extends f{constructor(){super(...arguments);this.disabled=!1;this.ariaLabel=null;this.ariaLabelledBy=null;this.ariaDescribedBy=null;this.ariaInvalid=null;this.root=null;this.onUpdate=()=>this.requestUpdate();this.handleClick=()=>{this.isDisabled||this.root?.setOpen(!this.root.open)}}get isDisabled(){return this.disabled||(this.root?.disabled??!1)}connectedCallback(){super.connectedCallback(),this.setAttribute(g,""),this.root=h.root(this),this.root?.addEventListener(h.event,this.onUpdate),this.root&&y(this.root,()=>{this.root&&(this.root.triggerHost=this,this.id||(this.id=this.root.triggerId))})}disconnectedCallback(){this.root?.removeEventListener(h.event,this.onUpdate),super.disconnectedCallback()}updated(){L(this,{"data-state":this.root?.open??!1?"open":"closed","data-disabled":this.isDisabled?"":null,"data-invalid":this.root?.invalid??!1?"":null})}render(){let o=this.root?.open??!1;return v`
2
2
  <button
3
3
  part="trigger"
4
4
  type="button"
@@ -6,14 +6,27 @@ var p=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var l=(s,i,o,r
6
6
  aria-haspopup="dialog"
7
7
  aria-expanded=${o}
8
8
  aria-controls=${this.root?.contentId??""}
9
- aria-invalid=${this.root?.invalid?"true":u}
9
+ aria-label=${this.ariaLabel??l}
10
+ aria-labelledby=${this.ariaLabelledBy??l}
11
+ aria-describedby=${this.ariaDescribedBy??l}
12
+ aria-invalid=${this.root?.invalid?"true":this.ariaInvalid??l}
10
13
  data-state=${o?"open":"closed"}
11
14
  @click=${this.handleClick}
12
15
  >
13
16
  <slot></slot>
14
17
  </button>
15
- `}};e.shadowRootOptions=C,e.styles=[E,c`
18
+ `}};t.shadowRootOptions=C,t.styles=[E,b`
16
19
  :host {
17
20
  display: inline-block;
18
21
  }
19
- `,k],l([b({type:Boolean,reflect:!0})],e.prototype,"disabled",2),e=l([f("skdx-date-picker-trigger","date-picker","trigger")],e);export{e as SkdxDatePickerTrigger};
22
+
23
+ /* Declared locally, not left to the light-DOM :focus-visible rule: this
24
+ host sits inside <skdx-date-picker>'s own shadow tree, and delegated
25
+ focus crossing two nested shadow boundaries painted the ring around
26
+ the inner <button> instead of this host's own border box, leaving a
27
+ visible gap. A rule scoped to this shadow root paints it directly. */
28
+ :host(:focus-visible) {
29
+ outline: var(--skdx-focus-ring-width) solid var(--skdx-color-focus-ring);
30
+ outline-offset: var(--skdx-focus-ring-offset);
31
+ }
32
+ `,w],i([s({type:Boolean,reflect:!0})],t.prototype,"disabled",2),i([s({type:String,attribute:"aria-label"})],t.prototype,"ariaLabel",2),i([s({type:String,attribute:"aria-labelledby"})],t.prototype,"ariaLabelledBy",2),i([s({type:String,attribute:"aria-describedby"})],t.prototype,"ariaDescribedBy",2),i([s({type:String,attribute:"aria-invalid"})],t.prototype,"ariaInvalid",2),t=i([m("skdx-date-picker-trigger","date-picker","trigger")],t);export{t as SkdxDatePickerTrigger};
@@ -1 +1 @@
1
- "use strict";var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var i in e)o(t,i,{get:e[i],enumerable:!0})},s=(t,e,i,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!a.call(t,r)&&r!==i&&o(t,r,{get:()=>e[r],enumerable:!(c=d(e,r))||c.enumerable});return t};var x=t=>s(o({},"__esModule",{value:!0}),t);var P={};m(P,{DATE_PICKER_FAMILY:()=>D});module.exports=x(P);var k=require("../internal/family.cjs"),D=(0,k.defineFamily)("date-picker",{selector:"skdx-date-picker",init:{bubbles:!0,composed:!0}});0&&(module.exports={DATE_PICKER_FAMILY});
1
+ "use strict";var k=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var i in e)k(t,i,{get:e[i],enumerable:!0})},s=(t,e,i,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of o(e))!p.call(t,r)&&r!==i&&k(t,r,{get:()=>e[r],enumerable:!(d=a(e,r))||d.enumerable});return t};var x=t=>s(k({},"__esModule",{value:!0}),t);var D={};m(D,{DATE_PICKER_FAMILY:()=>n});module.exports=x(D);var c=require("../internal/family.cjs"),n=(0,c.defineFamily)("date-picker",{selector:"skdx-date-picker, skdx-date-time-picker, skdx-date-range-picker",init:{bubbles:!0,composed:!0}});0&&(module.exports={DATE_PICKER_FAMILY});
@@ -1 +1 @@
1
- import{defineFamily as e}from"../internal/family.js";var r=e("date-picker",{selector:"skdx-date-picker",init:{bubbles:!0,composed:!0}});export{r as DATE_PICKER_FAMILY};
1
+ import{defineFamily as e}from"../internal/family.js";var r=e("date-picker",{selector:"skdx-date-picker, skdx-date-time-picker, skdx-date-range-picker",init:{bubbles:!0,composed:!0}});export{r as DATE_PICKER_FAMILY};
@@ -0,0 +1 @@
1
+ "use strict";var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var a in e)s(t,a,{get:e[a],enumerable:!0})},m=(t,e,a,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of o(e))!k.call(t,r)&&r!==a&&s(t,r,{get:()=>e[r],enumerable:!(d=i(e,r))||d.enumerable});return t};var g=t=>m(s({},"__esModule",{value:!0}),t);var p={};l(p,{SkdxDateRangePicker:()=>n});module.exports=g(p);var c=require("../date-picker/DatePicker.cjs"),n=class extends c.SkdxDatePicker{constructor(){super(),this.selectionMode="range"}};customElements.get("skdx-date-range-picker")===void 0&&customElements.define("skdx-date-range-picker",n);0&&(module.exports={SkdxDateRangePicker});
@@ -0,0 +1,12 @@
1
+ import { SkdxDatePicker } from '../date-picker/DatePicker.cjs';
2
+ /**
3
+ * DateRangePicker alias of <skdx-date-picker>: the same component with `selectionMode='range'` as defaults. Every attribute, property, event and slot of `<skdx-date-picker>` applies; reach for `<skdx-date-picker>` itself for full control.
4
+ */
5
+ export declare class SkdxDateRangePicker extends SkdxDatePicker {
6
+ constructor();
7
+ }
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ 'skdx-date-range-picker': SkdxDateRangePicker;
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ import { SkdxDatePicker } from '../date-picker/DatePicker.js';
2
+ /**
3
+ * DateRangePicker alias of <skdx-date-picker>: the same component with `selectionMode='range'` as defaults. Every attribute, property, event and slot of `<skdx-date-picker>` applies; reach for `<skdx-date-picker>` itself for full control.
4
+ */
5
+ export declare class SkdxDateRangePicker extends SkdxDatePicker {
6
+ constructor();
7
+ }
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ 'skdx-date-range-picker': SkdxDateRangePicker;
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ import{SkdxDatePicker as t}from"../date-picker/DatePicker.js";var e=class extends t{constructor(){super(),this.selectionMode="range"}};customElements.get("skdx-date-range-picker")===void 0&&customElements.define("skdx-date-range-picker",e);export{e as SkdxDateRangePicker};
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var k in e)o(r,k,{get:e[k],enumerable:!0})},i=(r,e,k,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of d(e))!f.call(r,a)&&a!==k&&o(r,a,{get:()=>e[a],enumerable:!(t=c(e,a))||t.enumerable});return r};var m=r=>i(o({},"__esModule",{value:!0}),r);var n={};g(n,{SkdxDateRangePicker:()=>x.SkdxDateRangePicker});module.exports=m(n);var x=require("./DateRangePicker.cjs");0&&(module.exports={SkdxDateRangePicker});
@@ -0,0 +1 @@
1
+ export { SkdxDateRangePicker } from './DateRangePicker.cjs';
@@ -0,0 +1 @@
1
+ export { SkdxDateRangePicker } from './DateRangePicker.js';
@@ -0,0 +1 @@
1
+ import{SkdxDateRangePicker as a}from"./DateRangePicker.js";export{a as SkdxDateRangePicker};
@@ -0,0 +1 @@
1
+ "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},o=(t,e,r,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of n(e))!k.call(t,i)&&i!==r&&s(t,i,{get:()=>e[i],enumerable:!(d=c(e,i))||d.enumerable});return t};var p=t=>o(s({},"__esModule",{value:!0}),t);var u={};l(u,{SkdxDateTimePicker:()=>a});module.exports=p(u);var m=require("../date-picker/DatePicker.cjs"),a=class extends m.SkdxDatePicker{constructor(){super(),this.granularity="minute"}};customElements.get("skdx-date-time-picker")===void 0&&customElements.define("skdx-date-time-picker",a);0&&(module.exports={SkdxDateTimePicker});
@@ -0,0 +1,12 @@
1
+ import { SkdxDatePicker } from '../date-picker/DatePicker.cjs';
2
+ /**
3
+ * DateTimePicker alias of <skdx-date-picker>: the same component with `granularity='minute'` as defaults. Every attribute, property, event and slot of `<skdx-date-picker>` applies; reach for `<skdx-date-picker>` itself for full control.
4
+ */
5
+ export declare class SkdxDateTimePicker extends SkdxDatePicker {
6
+ constructor();
7
+ }
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ 'skdx-date-time-picker': SkdxDateTimePicker;
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ import { SkdxDatePicker } from '../date-picker/DatePicker.js';
2
+ /**
3
+ * DateTimePicker alias of <skdx-date-picker>: the same component with `granularity='minute'` as defaults. Every attribute, property, event and slot of `<skdx-date-picker>` applies; reach for `<skdx-date-picker>` itself for full control.
4
+ */
5
+ export declare class SkdxDateTimePicker extends SkdxDatePicker {
6
+ constructor();
7
+ }
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ 'skdx-date-time-picker': SkdxDateTimePicker;
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ import{SkdxDatePicker as t}from"../date-picker/DatePicker.js";var e=class extends t{constructor(){super(),this.granularity="minute"}};customElements.get("skdx-date-time-picker")===void 0&&customElements.define("skdx-date-time-picker",e);export{e as SkdxDateTimePicker};
@@ -0,0 +1 @@
1
+ "use strict";var m=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var d=(r,e)=>{for(var k in e)m(r,k,{get:e[k],enumerable:!0})},f=(r,e,k,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of a(e))!c.call(r,i)&&i!==k&&m(r,i,{get:()=>e[i],enumerable:!(o=x(e,i))||o.enumerable});return r};var p=r=>f(m({},"__esModule",{value:!0}),r);var D={};d(D,{SkdxDateTimePicker:()=>t.SkdxDateTimePicker});module.exports=p(D);var t=require("./DateTimePicker.cjs");0&&(module.exports={SkdxDateTimePicker});
@@ -0,0 +1 @@
1
+ export { SkdxDateTimePicker } from './DateTimePicker.cjs';
@@ -0,0 +1 @@
1
+ export { SkdxDateTimePicker } from './DateTimePicker.js';
@@ -0,0 +1 @@
1
+ import{SkdxDateTimePicker as i}from"./DateTimePicker.js";export{i as SkdxDateTimePicker};
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var w=(n,o)=>{for(var t in o)f(n,t,{get:o[t],enumerable:!0})},F=(n,o,t,e)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of E(o))!k.call(n,i)&&i!==t&&f(n,i,{get:()=>o[i],enumerable:!(e=g(o,i))||e.enumerable});return n};var O=n=>F(f({},"__esModule",{value:!0}),n),d=(n,o,t,e)=>{for(var i=e>1?void 0:e?g(o,t):o,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(e?a(o,t,i):a(i))||i);return e&&i&&f(o,t,i),i};var L={};w(L,{SkdxDialogContent:()=>l});module.exports=O(L);var m=require("lit"),c=require("lit/decorators.js"),u=require("../internal/aria-part.cjs"),h=require("../internal/body-scroll-lock.cjs"),b=require("../internal/closest.cjs"),y=require("../internal/define.cjs"),s=require("../internal/dismiss.cjs"),p=require("../internal/focus-targets.cjs"),A=require("../internal/light-dom-styles.cjs"),D=require("../internal/part.cjs");function v(n){return n==="any"||n==="outside"}var l=class extends m.LitElement{constructor(){super(...arguments);this.childObserver=new MutationObserver(()=>{this.adoptChildren(),this.syncHostAttributes()});this.dialogAncestor=null;this.locked=!1;this.wasOpen=!1;this.previouslyFocused=null;this.observer=new MutationObserver(()=>this.syncNativeDialog());this.handleCancel=t=>{let e=this.dialogAncestor?.effectiveDismiss??"any",i=e==="any"||e==="escape";(!(0,s.dispatchEscapeKeyDown)(this,t)||!i)&&t.preventDefault()};this.handleClose=()=>this.dialogAncestor?.setOpen(!1);this.handleBackdropPointerDown=t=>{let e=(0,s.backdropPointerDown)(t,this.nativeDialog);e&&(0,s.dispatchOutside)(this,"pointer-down-outside",e)&&this.dialogAncestor?.effectiveModal&&v(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsidePointerDown=t=>{if(!this.dialogAncestor?.open)return;let e=t.target;!e||this.contains(e)||e===this.nativeDialog||(0,s.triggerContains)(this.dialogAncestor.triggerEl,e)||(0,s.dispatchOutside)(this,"pointer-down-outside",t)&&this.dialogAncestor.effectiveModal&&v(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsideFocus=t=>{if(!this.dialogAncestor?.open)return;let e=(0,s.focusOutsideTarget)(t);!e||this.contains(e)||(0,s.triggerContains)(this.dialogAncestor.triggerEl,e)||(0,s.dispatchOutside)(this,"focus-outside",t)&&this.dialogAncestor.effectiveModal&&v(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()}}createRenderRoot(){let t=document.createElement("dialog");return t.setAttribute("part","content"),(0,D.applyHostPart)(t,"dialog","content"),t.addEventListener("cancel",this.handleCancel),t.addEventListener("close",this.handleClose),t.addEventListener("pointerdown",this.handleBackdropPointerDown),this.append(t),this.adoptChildren(),t}adoptChildren(){let t=this.nativeDialog;if(!t)return;let e=document.activeElement;for(let i of Array.from(this.childNodes))i!==t&&t.append(i);e&&document.activeElement!==e&&t.contains(e)&&e.focus({preventScroll:!0})}connectedCallback(){if(super.connectedCallback(),(0,A.installLightDomStyles)(),this.dialogAncestor=(0,b.closestThroughPortal)(this,"skdx-dialog, skdx-dialog-root"),!this.dialogAncestor)throw new Error("<skdx-dialog-content> must be used inside <skdx-dialog> or <skdx-dialog-root>.");this.observer.observe(this.dialogAncestor,{attributeFilter:["open","modal","dismiss","dismissible"]}),this.childObserver.observe(this,{childList:!0,subtree:!0}),document.addEventListener("focusin",this.handleOutsideFocus),document.addEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.syncHostAttributes()}disconnectedCallback(){this.observer.disconnect(),this.childObserver.disconnect(),document.removeEventListener("focusin",this.handleOutsideFocus),document.removeEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.locked&&((0,h.unlockBodyScroll)(),this.locked=!1),super.disconnectedCallback()}firstUpdated(){this.syncNativeDialog()}updated(t){(t.has("size")||t.has("status"))&&this.syncHostAttributes()}syncHostAttributes(){let t=this.dialogAncestor;if(!t)return;this.id?t.contentId=this.id:this.id=t.contentId;let e=t.open?"open":"closed";this.setAttribute("data-state",e),this.setAttribute("data-dismiss",t.effectiveDismiss);let i=this.nativeDialog;if(i){i.setAttribute("role",t.role),t.effectiveModal?i.setAttribute("aria-modal","true"):i.removeAttribute("aria-modal"),(0,u.forwardAuthoredAria)(this,i),(0,u.syncPartIdRef)(i,"aria-labelledby",this.querySelector("skdx-dialog-title"),"skdx-dialog-content","title"),(0,u.syncPartIdRef)(i,"aria-describedby",this.querySelector("skdx-dialog-description"),"skdx-dialog-content","description"),i.setAttribute("data-state",e),i.setAttribute("data-dismiss",t.effectiveDismiss);for(let r of["data-size","data-status"]){let a=this.getAttribute(r);a==null?i.removeAttribute(r):i.setAttribute(r,a)}}}requestRoleSync(){this.syncHostAttributes()}get nativeDialog(){return this.querySelector("dialog")}syncNativeDialog(){this.syncHostAttributes();let t=this.dialogAncestor,e=this.nativeDialog;if(!t||!e)return;t.open&&!e.open?(0,s.focusOnOpen)(()=>{t.effectiveModal?e.showModal?.():e.show?.()}):!t.open&&e.open&&(0,s.focusOnOpen)(()=>e.close?.());let i=t.open&&t.effectiveModal;i&&!this.locked?(0,h.lockBodyScroll)():!i&&this.locked&&(0,h.unlockBodyScroll)(),this.locked=i,this.syncAutoFocus(t.open)}syncAutoFocus(t){if(t===this.wasOpen)return;if(this.wasOpen=t,t){this.previouslyFocused=document.activeElement,requestAnimationFrame(()=>(0,s.focusOnOpen)(()=>(0,p.applyOpenAutoFocus)(this.nativeDialog??this,this.initialFocus,"Dialog",(0,s.autoFocusRelay)(this),this.previouslyFocused)));return}let e=this.previouslyFocused===document.body?null:this.previouslyFocused,i=!1,r=(0,s.autoFocusRelay)(this);(0,p.returnFocus)(this.finalFocus,"Dialog",e,a=>{r(a),i=a.defaultPrevented}),i&&document.activeElement===e&&e?.blur?.()}};d([(0,c.property)({type:String,attribute:"initial-focus"})],l.prototype,"initialFocus",2),d([(0,c.property)({type:String,attribute:"final-focus"})],l.prototype,"finalFocus",2),d([(0,c.property)({type:String,reflect:!0,attribute:"data-size"})],l.prototype,"size",2),d([(0,c.property)({type:String,reflect:!0,attribute:"data-status"})],l.prototype,"status",2),l=d([(0,y.customElement)("skdx-dialog-content")],l);0&&(module.exports={SkdxDialogContent});
1
+ "use strict";var f=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var L=(r,o)=>{for(var e in o)f(r,e,{get:o[e],enumerable:!0})},w=(r,o,e,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of E(o))!k.call(r,i)&&i!==e&&f(r,i,{get:()=>o[i],enumerable:!(t=g(o,i))||t.enumerable});return r};var F=r=>w(f({},"__esModule",{value:!0}),r),d=(r,o,e,t)=>{for(var i=t>1?void 0:t?g(o,e):o,n=r.length-1,a;n>=0;n--)(a=r[n])&&(i=(t?a(o,e,i):a(i))||i);return t&&i&&f(o,e,i),i};var O={};L(O,{SkdxDialogContent:()=>l});module.exports=F(O);var m=require("lit"),c=require("lit/decorators.js"),u=require("../internal/aria-part.cjs"),h=require("../internal/body-scroll-lock.cjs"),y=require("../internal/closest.cjs"),b=require("../internal/define.cjs"),s=require("../internal/dismiss.cjs"),p=require("../internal/focus-targets.cjs"),A=require("../internal/light-dom-styles.cjs"),D=require("../internal/part.cjs");function v(r){return r==="any"||r==="outside"}var l=class extends m.LitElement{constructor(){super(...arguments);this.childObserver=new MutationObserver(()=>{this.adoptChildren(),this.syncHostAttributes()});this.dialogAncestor=null;this.locked=!1;this.wasOpen=!1;this.previouslyFocused=null;this.observer=new MutationObserver(()=>this.syncNativeDialog());this.layer={insideElements:()=>[this,this.dialogAncestor?.triggerEl]};this.handleCancel=e=>{let t=this.dialogAncestor?.effectiveDismiss??"any",i=t==="any"||t==="escape";(!(0,s.dispatchEscapeKeyDown)(this,e)||!i)&&e.preventDefault()};this.handleClose=()=>this.dialogAncestor?.setOpen(!1);this.handleBackdropPointerDown=e=>{let t=(0,s.backdropPointerDown)(e,this.nativeDialog);t&&(0,s.dispatchOutside)(this,"pointer-down-outside",t)&&this.dialogAncestor?.effectiveModal&&v(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsidePointerDown=e=>{if(!this.dialogAncestor?.open)return;let t=e.target;!t||this.contains(t)||t===this.nativeDialog||(0,s.triggerContains)(this.dialogAncestor.triggerEl,t)||(0,s.nestedLayerContains)(this.layer,t)||(0,s.dispatchOutside)(this,"pointer-down-outside",e)&&this.dialogAncestor.effectiveModal&&v(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsideFocus=e=>{if(!this.dialogAncestor?.open)return;let t=(0,s.focusOutsideTarget)(e);!t||this.contains(t)||(0,s.triggerContains)(this.dialogAncestor.triggerEl,t)||(0,s.nestedLayerContains)(this.layer,t)||(0,s.dispatchOutside)(this,"focus-outside",e)&&this.dialogAncestor.effectiveModal&&v(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()}}createRenderRoot(){let e=document.createElement("dialog");return e.setAttribute("part","content"),(0,D.applyHostPart)(e,"dialog","content"),e.addEventListener("cancel",this.handleCancel),e.addEventListener("close",this.handleClose),e.addEventListener("pointerdown",this.handleBackdropPointerDown),this.append(e),this.adoptChildren(),e}adoptChildren(){let e=this.nativeDialog;if(!e)return;let t=document.activeElement;for(let i of Array.from(this.childNodes))i!==e&&e.append(i);t&&document.activeElement!==t&&e.contains(t)&&t.focus({preventScroll:!0})}connectedCallback(){if(super.connectedCallback(),(0,A.installLightDomStyles)(),this.dialogAncestor=(0,y.closestThroughPortal)(this,"skdx-dialog, skdx-dialog-root"),!this.dialogAncestor)throw new Error("<skdx-dialog-content> must be used inside <skdx-dialog> or <skdx-dialog-root>.");this.observer.observe(this.dialogAncestor,{attributeFilter:["open","modal","dismiss","dismissible"]}),this.childObserver.observe(this,{childList:!0,subtree:!0}),document.addEventListener("focusin",this.handleOutsideFocus),document.addEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.syncHostAttributes()}disconnectedCallback(){this.observer.disconnect(),this.childObserver.disconnect(),document.removeEventListener("focusin",this.handleOutsideFocus),document.removeEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.releaseLayer?.(),this.releaseLayer=void 0,this.locked&&((0,h.unlockBodyScroll)(),this.locked=!1),super.disconnectedCallback()}firstUpdated(){this.syncNativeDialog()}updated(e){(e.has("size")||e.has("status"))&&this.syncHostAttributes()}syncHostAttributes(){let e=this.dialogAncestor;if(!e)return;this.id?e.contentId=this.id:this.id=e.contentId;let t=e.open?"open":"closed";this.setAttribute("data-state",t),this.setAttribute("data-dismiss",e.effectiveDismiss);let i=this.nativeDialog;if(i){i.setAttribute("role",e.role),e.effectiveModal?i.setAttribute("aria-modal","true"):i.removeAttribute("aria-modal"),(0,u.forwardAuthoredAria)(this,i),(0,u.syncPartIdRef)(i,"aria-labelledby",this.querySelector("skdx-dialog-title"),"skdx-dialog-content","title"),(0,u.syncPartIdRef)(i,"aria-describedby",this.querySelector("skdx-dialog-description"),"skdx-dialog-content","description"),i.setAttribute("data-state",t),i.setAttribute("data-dismiss",e.effectiveDismiss);for(let n of["data-size","data-status"]){let a=this.getAttribute(n);a==null?i.removeAttribute(n):i.setAttribute(n,a)}}}requestRoleSync(){this.syncHostAttributes()}get nativeDialog(){return this.querySelector("dialog")}syncNativeDialog(){this.syncHostAttributes();let e=this.dialogAncestor,t=this.nativeDialog;if(!e||!t)return;e.open?this.releaseLayer??(this.releaseLayer=(0,s.pushDismissLayer)(this.layer)):(this.releaseLayer?.(),this.releaseLayer=void 0),e.open&&!t.open?(0,s.focusOnOpen)(()=>{e.effectiveModal?t.showModal?.():t.show?.()}):!e.open&&t.open&&(0,s.focusOnOpen)(()=>t.close?.());let i=e.open&&e.effectiveModal;i&&!this.locked?(0,h.lockBodyScroll)():!i&&this.locked&&(0,h.unlockBodyScroll)(),this.locked=i,this.syncAutoFocus(e.open)}syncAutoFocus(e){if(e===this.wasOpen)return;if(this.wasOpen=e,e){this.previouslyFocused=document.activeElement,requestAnimationFrame(()=>(0,s.focusOnOpen)(()=>(0,p.applyOpenAutoFocus)(this.nativeDialog??this,this.initialFocus,"Dialog",(0,s.autoFocusRelay)(this),this.previouslyFocused)));return}let t=this.previouslyFocused===document.body?null:this.previouslyFocused,i=!1,n=(0,s.autoFocusRelay)(this);(0,p.returnFocus)(this.finalFocus,"Dialog",t,a=>{n(a),i=a.defaultPrevented}),i&&document.activeElement===t&&t?.blur?.()}};d([(0,c.property)({type:String,attribute:"initial-focus"})],l.prototype,"initialFocus",2),d([(0,c.property)({type:String,attribute:"final-focus"})],l.prototype,"finalFocus",2),d([(0,c.property)({type:String,reflect:!0,attribute:"data-size"})],l.prototype,"size",2),d([(0,c.property)({type:String,reflect:!0,attribute:"data-status"})],l.prototype,"status",2),l=d([(0,b.customElement)("skdx-dialog-content")],l);0&&(module.exports={SkdxDialogContent});
@@ -38,6 +38,8 @@ export declare class SkdxDialogContent extends LitElement {
38
38
  private wasOpen;
39
39
  private previouslyFocused;
40
40
  private readonly observer;
41
+ private releaseLayer?;
42
+ private readonly layer;
41
43
  connectedCallback(): void;
42
44
  disconnectedCallback(): void;
43
45
  protected firstUpdated(): void;
@@ -38,6 +38,8 @@ export declare class SkdxDialogContent extends LitElement {
38
38
  private wasOpen;
39
39
  private previouslyFocused;
40
40
  private readonly observer;
41
+ private releaseLayer?;
42
+ private readonly layer;
41
43
  connectedCallback(): void;
42
44
  disconnectedCallback(): void;
43
45
  protected firstUpdated(): void;
@@ -1 +1 @@
1
- var m=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var a=(r,l,t,e)=>{for(var i=e>1?void 0:e?b(l,t):l,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(e?o(l,t,i):o(i))||i);return e&&i&&m(l,t,i),i};import{LitElement as y}from"lit";import{property as d}from"lit/decorators.js";import{forwardAuthoredAria as A,syncPartIdRef as f}from"../internal/aria-part.js";import{lockBodyScroll as D,unlockBodyScroll as p}from"../internal/body-scroll-lock.js";import{closestThroughPortal as E}from"../internal/closest.js";import{customElement as k}from"../internal/define.js";import{autoFocusRelay as v,backdropPointerDown as w,dispatchEscapeKeyDown as F,dispatchOutside as c,focusOnOpen as u,focusOutsideTarget as O,triggerContains as g}from"../internal/dismiss.js";import{applyOpenAutoFocus as L,returnFocus as M}from"../internal/focus-targets.js";import{installLightDomStyles as H}from"../internal/light-dom-styles.js";import{applyHostPart as x}from"../internal/part.js";function h(r){return r==="any"||r==="outside"}var n=class extends y{constructor(){super(...arguments);this.childObserver=new MutationObserver(()=>{this.adoptChildren(),this.syncHostAttributes()});this.dialogAncestor=null;this.locked=!1;this.wasOpen=!1;this.previouslyFocused=null;this.observer=new MutationObserver(()=>this.syncNativeDialog());this.handleCancel=t=>{let e=this.dialogAncestor?.effectiveDismiss??"any",i=e==="any"||e==="escape";(!F(this,t)||!i)&&t.preventDefault()};this.handleClose=()=>this.dialogAncestor?.setOpen(!1);this.handleBackdropPointerDown=t=>{let e=w(t,this.nativeDialog);e&&c(this,"pointer-down-outside",e)&&this.dialogAncestor?.effectiveModal&&h(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsidePointerDown=t=>{if(!this.dialogAncestor?.open)return;let e=t.target;!e||this.contains(e)||e===this.nativeDialog||g(this.dialogAncestor.triggerEl,e)||c(this,"pointer-down-outside",t)&&this.dialogAncestor.effectiveModal&&h(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsideFocus=t=>{if(!this.dialogAncestor?.open)return;let e=O(t);!e||this.contains(e)||g(this.dialogAncestor.triggerEl,e)||c(this,"focus-outside",t)&&this.dialogAncestor.effectiveModal&&h(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()}}createRenderRoot(){let t=document.createElement("dialog");return t.setAttribute("part","content"),x(t,"dialog","content"),t.addEventListener("cancel",this.handleCancel),t.addEventListener("close",this.handleClose),t.addEventListener("pointerdown",this.handleBackdropPointerDown),this.append(t),this.adoptChildren(),t}adoptChildren(){let t=this.nativeDialog;if(!t)return;let e=document.activeElement;for(let i of Array.from(this.childNodes))i!==t&&t.append(i);e&&document.activeElement!==e&&t.contains(e)&&e.focus({preventScroll:!0})}connectedCallback(){if(super.connectedCallback(),H(),this.dialogAncestor=E(this,"skdx-dialog, skdx-dialog-root"),!this.dialogAncestor)throw new Error("<skdx-dialog-content> must be used inside <skdx-dialog> or <skdx-dialog-root>.");this.observer.observe(this.dialogAncestor,{attributeFilter:["open","modal","dismiss","dismissible"]}),this.childObserver.observe(this,{childList:!0,subtree:!0}),document.addEventListener("focusin",this.handleOutsideFocus),document.addEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.syncHostAttributes()}disconnectedCallback(){this.observer.disconnect(),this.childObserver.disconnect(),document.removeEventListener("focusin",this.handleOutsideFocus),document.removeEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.locked&&(p(),this.locked=!1),super.disconnectedCallback()}firstUpdated(){this.syncNativeDialog()}updated(t){(t.has("size")||t.has("status"))&&this.syncHostAttributes()}syncHostAttributes(){let t=this.dialogAncestor;if(!t)return;this.id?t.contentId=this.id:this.id=t.contentId;let e=t.open?"open":"closed";this.setAttribute("data-state",e),this.setAttribute("data-dismiss",t.effectiveDismiss);let i=this.nativeDialog;if(i){i.setAttribute("role",t.role),t.effectiveModal?i.setAttribute("aria-modal","true"):i.removeAttribute("aria-modal"),A(this,i),f(i,"aria-labelledby",this.querySelector("skdx-dialog-title"),"skdx-dialog-content","title"),f(i,"aria-describedby",this.querySelector("skdx-dialog-description"),"skdx-dialog-content","description"),i.setAttribute("data-state",e),i.setAttribute("data-dismiss",t.effectiveDismiss);for(let s of["data-size","data-status"]){let o=this.getAttribute(s);o==null?i.removeAttribute(s):i.setAttribute(s,o)}}}requestRoleSync(){this.syncHostAttributes()}get nativeDialog(){return this.querySelector("dialog")}syncNativeDialog(){this.syncHostAttributes();let t=this.dialogAncestor,e=this.nativeDialog;if(!t||!e)return;t.open&&!e.open?u(()=>{t.effectiveModal?e.showModal?.():e.show?.()}):!t.open&&e.open&&u(()=>e.close?.());let i=t.open&&t.effectiveModal;i&&!this.locked?D():!i&&this.locked&&p(),this.locked=i,this.syncAutoFocus(t.open)}syncAutoFocus(t){if(t===this.wasOpen)return;if(this.wasOpen=t,t){this.previouslyFocused=document.activeElement,requestAnimationFrame(()=>u(()=>L(this.nativeDialog??this,this.initialFocus,"Dialog",v(this),this.previouslyFocused)));return}let e=this.previouslyFocused===document.body?null:this.previouslyFocused,i=!1,s=v(this);M(this.finalFocus,"Dialog",e,o=>{s(o),i=o.defaultPrevented}),i&&document.activeElement===e&&e?.blur?.()}};a([d({type:String,attribute:"initial-focus"})],n.prototype,"initialFocus",2),a([d({type:String,attribute:"final-focus"})],n.prototype,"finalFocus",2),a([d({type:String,reflect:!0,attribute:"data-size"})],n.prototype,"size",2),a([d({type:String,reflect:!0,attribute:"data-status"})],n.prototype,"status",2),n=a([k("skdx-dialog-content")],n);export{n as SkdxDialogContent};
1
+ var y=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var a=(n,l,e,t)=>{for(var i=t>1?void 0:t?b(l,e):l,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(t?o(l,e,i):o(i))||i);return t&&i&&y(l,e,i),i};import{LitElement as A}from"lit";import{property as d}from"lit/decorators.js";import{forwardAuthoredAria as D,syncPartIdRef as f}from"../internal/aria-part.js";import{lockBodyScroll as E,unlockBodyScroll as p}from"../internal/body-scroll-lock.js";import{closestThroughPortal as k}from"../internal/closest.js";import{customElement as L}from"../internal/define.js";import{autoFocusRelay as v,backdropPointerDown as w,dispatchEscapeKeyDown as F,dispatchOutside as c,focusOnOpen as u,focusOutsideTarget as O,nestedLayerContains as g,pushDismissLayer as M,triggerContains as m}from"../internal/dismiss.js";import{applyOpenAutoFocus as H,returnFocus as x}from"../internal/focus-targets.js";import{installLightDomStyles as P}from"../internal/light-dom-styles.js";import{applyHostPart as S}from"../internal/part.js";function h(n){return n==="any"||n==="outside"}var r=class extends A{constructor(){super(...arguments);this.childObserver=new MutationObserver(()=>{this.adoptChildren(),this.syncHostAttributes()});this.dialogAncestor=null;this.locked=!1;this.wasOpen=!1;this.previouslyFocused=null;this.observer=new MutationObserver(()=>this.syncNativeDialog());this.layer={insideElements:()=>[this,this.dialogAncestor?.triggerEl]};this.handleCancel=e=>{let t=this.dialogAncestor?.effectiveDismiss??"any",i=t==="any"||t==="escape";(!F(this,e)||!i)&&e.preventDefault()};this.handleClose=()=>this.dialogAncestor?.setOpen(!1);this.handleBackdropPointerDown=e=>{let t=w(e,this.nativeDialog);t&&c(this,"pointer-down-outside",t)&&this.dialogAncestor?.effectiveModal&&h(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsidePointerDown=e=>{if(!this.dialogAncestor?.open)return;let t=e.target;!t||this.contains(t)||t===this.nativeDialog||m(this.dialogAncestor.triggerEl,t)||g(this.layer,t)||c(this,"pointer-down-outside",e)&&this.dialogAncestor.effectiveModal&&h(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()};this.handleOutsideFocus=e=>{if(!this.dialogAncestor?.open)return;let t=O(e);!t||this.contains(t)||m(this.dialogAncestor.triggerEl,t)||g(this.layer,t)||c(this,"focus-outside",e)&&this.dialogAncestor.effectiveModal&&h(this.dialogAncestor.effectiveDismiss)&&this.nativeDialog?.close?.()}}createRenderRoot(){let e=document.createElement("dialog");return e.setAttribute("part","content"),S(e,"dialog","content"),e.addEventListener("cancel",this.handleCancel),e.addEventListener("close",this.handleClose),e.addEventListener("pointerdown",this.handleBackdropPointerDown),this.append(e),this.adoptChildren(),e}adoptChildren(){let e=this.nativeDialog;if(!e)return;let t=document.activeElement;for(let i of Array.from(this.childNodes))i!==e&&e.append(i);t&&document.activeElement!==t&&e.contains(t)&&t.focus({preventScroll:!0})}connectedCallback(){if(super.connectedCallback(),P(),this.dialogAncestor=k(this,"skdx-dialog, skdx-dialog-root"),!this.dialogAncestor)throw new Error("<skdx-dialog-content> must be used inside <skdx-dialog> or <skdx-dialog-root>.");this.observer.observe(this.dialogAncestor,{attributeFilter:["open","modal","dismiss","dismissible"]}),this.childObserver.observe(this,{childList:!0,subtree:!0}),document.addEventListener("focusin",this.handleOutsideFocus),document.addEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.syncHostAttributes()}disconnectedCallback(){this.observer.disconnect(),this.childObserver.disconnect(),document.removeEventListener("focusin",this.handleOutsideFocus),document.removeEventListener("pointerdown",this.handleOutsidePointerDown,!0),this.releaseLayer?.(),this.releaseLayer=void 0,this.locked&&(p(),this.locked=!1),super.disconnectedCallback()}firstUpdated(){this.syncNativeDialog()}updated(e){(e.has("size")||e.has("status"))&&this.syncHostAttributes()}syncHostAttributes(){let e=this.dialogAncestor;if(!e)return;this.id?e.contentId=this.id:this.id=e.contentId;let t=e.open?"open":"closed";this.setAttribute("data-state",t),this.setAttribute("data-dismiss",e.effectiveDismiss);let i=this.nativeDialog;if(i){i.setAttribute("role",e.role),e.effectiveModal?i.setAttribute("aria-modal","true"):i.removeAttribute("aria-modal"),D(this,i),f(i,"aria-labelledby",this.querySelector("skdx-dialog-title"),"skdx-dialog-content","title"),f(i,"aria-describedby",this.querySelector("skdx-dialog-description"),"skdx-dialog-content","description"),i.setAttribute("data-state",t),i.setAttribute("data-dismiss",e.effectiveDismiss);for(let s of["data-size","data-status"]){let o=this.getAttribute(s);o==null?i.removeAttribute(s):i.setAttribute(s,o)}}}requestRoleSync(){this.syncHostAttributes()}get nativeDialog(){return this.querySelector("dialog")}syncNativeDialog(){this.syncHostAttributes();let e=this.dialogAncestor,t=this.nativeDialog;if(!e||!t)return;e.open?this.releaseLayer??(this.releaseLayer=M(this.layer)):(this.releaseLayer?.(),this.releaseLayer=void 0),e.open&&!t.open?u(()=>{e.effectiveModal?t.showModal?.():t.show?.()}):!e.open&&t.open&&u(()=>t.close?.());let i=e.open&&e.effectiveModal;i&&!this.locked?E():!i&&this.locked&&p(),this.locked=i,this.syncAutoFocus(e.open)}syncAutoFocus(e){if(e===this.wasOpen)return;if(this.wasOpen=e,e){this.previouslyFocused=document.activeElement,requestAnimationFrame(()=>u(()=>H(this.nativeDialog??this,this.initialFocus,"Dialog",v(this),this.previouslyFocused)));return}let t=this.previouslyFocused===document.body?null:this.previouslyFocused,i=!1,s=v(this);x(this.finalFocus,"Dialog",t,o=>{s(o),i=o.defaultPrevented}),i&&document.activeElement===t&&t?.blur?.()}};a([d({type:String,attribute:"initial-focus"})],r.prototype,"initialFocus",2),a([d({type:String,attribute:"final-focus"})],r.prototype,"finalFocus",2),a([d({type:String,reflect:!0,attribute:"data-size"})],r.prototype,"size",2),a([d({type:String,reflect:!0,attribute:"data-status"})],r.prototype,"status",2),r=a([L("skdx-dialog-content")],r);export{r as SkdxDialogContent};
@@ -0,0 +1,24 @@
1
+ "use strict";var n=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var k=(r,s)=>{for(var t in s)n(r,t,{get:s[t],enumerable:!0})},C=(r,s,t,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let i of v(s))!$.call(r,i)&&i!==t&&n(r,i,{get:()=>s[i],enumerable:!(e=f(s,i))||e.enumerable});return r};var y=r=>C(n({},"__esModule",{value:!0}),r),p=(r,s,t,e)=>{for(var i=e>1?void 0:e?f(s,t):s,c=r.length-1,u;c>=0;c--)(u=r[c])&&(i=(e?u(s,t,i):u(i))||i);return e&&i&&n(s,t,i),i};var x={};k(x,{SkdxDialogs:()=>a});module.exports=y(x);var o=require("lit"),g=require("lit/decorators.js"),d=require("lit/directives/if-defined.js"),b=require("lit/directives/repeat.js"),h=require("../internal/define.cjs"),l=require("../internal/dialogs.cjs"),m=require("../internal/light-dom-styles.cjs"),T=require("../label/Label.cjs"),L=require("../text-field/TextField.cjs"),R=require("./Dialog.cjs");var a=class extends o.LitElement{constructor(){super(...arguments);this.dialogs=(0,l.createDialogs)();this.draft=""}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),(0,m.installLightDomStyles)(),this.subscribeToStore()}disconnectedCallback(){this.unsubscribe?.(),this.unsubscribe=void 0,super.disconnectedCallback()}willUpdate(t){t.has("dialogs")&&this.isConnected&&this.subscribeToStore()}subscribeToStore(){this.unsubscribe?.(),this.draft=this.dialogs.getCurrent()?.defaultValue??"",this.unsubscribe=this.dialogs.subscribe(()=>{this.draft=this.dialogs.getCurrent()?.defaultValue??"",this.requestUpdate()})}confirm(t){this.dialogs.settle(t.id,(0,l.dialogsConfirmResult)(t,this.draft))}dismiss(t){this.dialogs.settle(t.id,(0,l.dialogsCancelResult)(t))}render(){let t=this.dialogs.getCurrent();return t?o.html`${(0,b.repeat)([t],e=>e.id,e=>o.html`
2
+ <skdx-dialog
3
+ default-open
4
+ role=${e.kind==="confirm"?"alertdialog":"dialog"}
5
+ title=${e.title}
6
+ description=${(0,d.ifDefined)(e.description)}
7
+ data-status=${(0,d.ifDefined)(e.status)}
8
+ confirm-label=${e.confirmLabel}
9
+ cancel-label=${(0,d.ifDefined)(e.cancelLabel)}
10
+ data-kind=${e.kind}
11
+ @confirm=${()=>this.confirm(e)}
12
+ @cancel=${()=>this.dismiss(e)}
13
+ @open-change=${i=>{i.detail||this.dismiss(e)}}
14
+ >
15
+ ${e.kind==="prompt"?o.html`<skdx-label style="display: grid; gap: 0.5rem"
16
+ >${e.label??"Value"}
17
+ <skdx-text-field
18
+ .value=${this.draft}
19
+ placeholder=${(0,d.ifDefined)(e.placeholder)}
20
+ @value-change=${i=>{this.draft=i.detail}}
21
+ ></skdx-text-field
22
+ ></skdx-label>`:o.nothing}
23
+ </skdx-dialog>
24
+ `)}`:o.nothing}};p([(0,g.property)({attribute:!1})],a.prototype,"dialogs",2),a=p([(0,h.customElement)("skdx-dialogs")],a);0&&(module.exports={SkdxDialogs});
@@ -0,0 +1,43 @@
1
+ import { LitElement, nothing, type TemplateResult } from 'lit';
2
+ import { type DialogsStore } from '../internal/dialogs.cjs';
3
+ import '../label/Label.cjs';
4
+ import '../text-field/TextField.cjs';
5
+ import './Dialog.cjs';
6
+ /**
7
+ * Renders whatever the store is showing: an alert, a confirm or a prompt at a
8
+ * time, each an `<skdx-dialog>` recreated per entry so a new question starts
9
+ * from a clean panel. Mount it once, near the app root, and call `alert`,
10
+ * `confirm` or `prompt` on its `dialogs` store from anywhere.
11
+ *
12
+ * @example
13
+ * ```html
14
+ * <skdx-dialogs id="dialogs"></skdx-dialogs>
15
+ * <script type="module">
16
+ * const { dialogs } = document.getElementById('dialogs');
17
+ * if (await dialogs.confirm('Delete the project?')) remove();
18
+ * </script>
19
+ * ```
20
+ */
21
+ export declare class SkdxDialogs extends LitElement {
22
+ /** Renders into light DOM, so the page's own CSS reaches the dialogs this headless element raises. */
23
+ protected createRenderRoot(): HTMLElement;
24
+ /**
25
+ * The queue to render. Defaults to a store of its own, so an element dropped
26
+ * in with no wiring still works — read it back off the element to ask questions.
27
+ */
28
+ dialogs: DialogsStore;
29
+ private unsubscribe?;
30
+ private draft;
31
+ connectedCallback(): void;
32
+ disconnectedCallback(): void;
33
+ protected willUpdate(changed: Map<string, unknown>): void;
34
+ private subscribeToStore;
35
+ private confirm;
36
+ private dismiss;
37
+ render(): TemplateResult | typeof nothing;
38
+ }
39
+ declare global {
40
+ interface HTMLElementTagNameMap {
41
+ 'skdx-dialogs': SkdxDialogs;
42
+ }
43
+ }
@@ -0,0 +1,43 @@
1
+ import { LitElement, nothing, type TemplateResult } from 'lit';
2
+ import { type DialogsStore } from '../internal/dialogs.js';
3
+ import '../label/Label.js';
4
+ import '../text-field/TextField.js';
5
+ import './Dialog.js';
6
+ /**
7
+ * Renders whatever the store is showing: an alert, a confirm or a prompt at a
8
+ * time, each an `<skdx-dialog>` recreated per entry so a new question starts
9
+ * from a clean panel. Mount it once, near the app root, and call `alert`,
10
+ * `confirm` or `prompt` on its `dialogs` store from anywhere.
11
+ *
12
+ * @example
13
+ * ```html
14
+ * <skdx-dialogs id="dialogs"></skdx-dialogs>
15
+ * <script type="module">
16
+ * const { dialogs } = document.getElementById('dialogs');
17
+ * if (await dialogs.confirm('Delete the project?')) remove();
18
+ * </script>
19
+ * ```
20
+ */
21
+ export declare class SkdxDialogs extends LitElement {
22
+ /** Renders into light DOM, so the page's own CSS reaches the dialogs this headless element raises. */
23
+ protected createRenderRoot(): HTMLElement;
24
+ /**
25
+ * The queue to render. Defaults to a store of its own, so an element dropped
26
+ * in with no wiring still works — read it back off the element to ask questions.
27
+ */
28
+ dialogs: DialogsStore;
29
+ private unsubscribe?;
30
+ private draft;
31
+ connectedCallback(): void;
32
+ disconnectedCallback(): void;
33
+ protected willUpdate(changed: Map<string, unknown>): void;
34
+ private subscribeToStore;
35
+ private confirm;
36
+ private dismiss;
37
+ render(): TemplateResult | typeof nothing;
38
+ }
39
+ declare global {
40
+ interface HTMLElementTagNameMap {
41
+ 'skdx-dialogs': SkdxDialogs;
42
+ }
43
+ }
@@ -0,0 +1,24 @@
1
+ var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var n=(a,s,t,e)=>{for(var i=e>1?void 0:e?f(s,t):s,l=a.length-1,d;l>=0;l--)(d=a[l])&&(i=(e?d(s,t,i):d(i))||i);return e&&i&&p(s,t,i),i};import{html as c,LitElement as g,nothing as u}from"lit";import{property as b}from"lit/decorators.js";import{ifDefined as o}from"lit/directives/if-defined.js";import{repeat as h}from"lit/directives/repeat.js";import{customElement as m}from"../internal/define.js";import{createDialogs as v,dialogsCancelResult as $,dialogsConfirmResult as k}from"../internal/dialogs.js";import{installLightDomStyles as C}from"../internal/light-dom-styles.js";import"../label/Label.js";import"../text-field/TextField.js";import"./Dialog.js";var r=class extends g{constructor(){super(...arguments);this.dialogs=v();this.draft=""}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),C(),this.subscribeToStore()}disconnectedCallback(){this.unsubscribe?.(),this.unsubscribe=void 0,super.disconnectedCallback()}willUpdate(t){t.has("dialogs")&&this.isConnected&&this.subscribeToStore()}subscribeToStore(){this.unsubscribe?.(),this.draft=this.dialogs.getCurrent()?.defaultValue??"",this.unsubscribe=this.dialogs.subscribe(()=>{this.draft=this.dialogs.getCurrent()?.defaultValue??"",this.requestUpdate()})}confirm(t){this.dialogs.settle(t.id,k(t,this.draft))}dismiss(t){this.dialogs.settle(t.id,$(t))}render(){let t=this.dialogs.getCurrent();return t?c`${h([t],e=>e.id,e=>c`
2
+ <skdx-dialog
3
+ default-open
4
+ role=${e.kind==="confirm"?"alertdialog":"dialog"}
5
+ title=${e.title}
6
+ description=${o(e.description)}
7
+ data-status=${o(e.status)}
8
+ confirm-label=${e.confirmLabel}
9
+ cancel-label=${o(e.cancelLabel)}
10
+ data-kind=${e.kind}
11
+ @confirm=${()=>this.confirm(e)}
12
+ @cancel=${()=>this.dismiss(e)}
13
+ @open-change=${i=>{i.detail||this.dismiss(e)}}
14
+ >
15
+ ${e.kind==="prompt"?c`<skdx-label style="display: grid; gap: 0.5rem"
16
+ >${e.label??"Value"}
17
+ <skdx-text-field
18
+ .value=${this.draft}
19
+ placeholder=${o(e.placeholder)}
20
+ @value-change=${i=>{this.draft=i.detail}}
21
+ ></skdx-text-field
22
+ ></skdx-label>`:u}
23
+ </skdx-dialog>
24
+ `)}`:u}};n([b({attribute:!1})],r.prototype,"dialogs",2),r=n([m("skdx-dialogs")],r);export{r as SkdxDialogs};
@@ -1 +1 @@
1
- "use strict";var x=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var p=(i,o)=>{for(var l in o)x(i,l,{get:o[l],enumerable:!0})},s=(i,o,l,D)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of g(o))!k.call(i,e)&&e!==l&&x(i,e,{get:()=>o[e],enumerable:!(D=d(o,e))||D.enumerable});return i};var t=i=>s(x({},"__esModule",{value:!0}),i);var S={};p(S,{SkdxDialog:()=>a.SkdxDialog});module.exports=t(S);var a=require("./Dialog.cjs");0&&(module.exports={SkdxDialog});
1
+ "use strict";var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var x=(t,o)=>{for(var i in o)p(t,i,{get:o[i],enumerable:!0})},d=(t,o,i,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of r(o))!y.call(t,e)&&e!==i&&p(t,e,{get:()=>o[e],enumerable:!(s=g(o,e))||s.enumerable});return t};var m=t=>d(p({},"__esModule",{value:!0}),t);var S={};x(S,{SkdxDialog:()=>l.SkdxDialog,SkdxDialogs:()=>a.SkdxDialogs,createDialogs:()=>D.createDialogs});module.exports=m(S);var l=require("./Dialog.cjs"),a=require("./Dialogs.cjs"),D=require("../internal/dialogs.cjs");0&&(module.exports={SkdxDialog,SkdxDialogs,createDialogs});
@@ -1 +1,3 @@
1
1
  export { SkdxDialog, type SkdxDialogDismiss, type SkdxDialogRole } from './Dialog.cjs';
2
+ export { SkdxDialogs } from './Dialogs.cjs';
3
+ export { createDialogs, type DialogsStore, type DialogsEntry, type DialogsKind, type DialogsOptions, type DialogsPromptOptions, type DialogsResult, } from '../internal/dialogs.cjs';
@@ -1 +1,3 @@
1
1
  export { SkdxDialog, type SkdxDialogDismiss, type SkdxDialogRole } from './Dialog.js';
2
+ export { SkdxDialogs } from './Dialogs.js';
3
+ export { createDialogs, type DialogsStore, type DialogsEntry, type DialogsKind, type DialogsOptions, type DialogsPromptOptions, type DialogsResult, } from '../internal/dialogs.js';
@@ -1 +1 @@
1
- import{SkdxDialog as e}from"./Dialog.js";export{e as SkdxDialog};
1
+ import{SkdxDialog as e}from"./Dialog.js";import{SkdxDialogs as p}from"./Dialogs.js";import{createDialogs as l}from"../internal/dialogs.js";export{e as SkdxDialog,p as SkdxDialogs,l as createDialogs};
@@ -1,8 +1,8 @@
1
- "use strict";var m=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var O=(s,r)=>{for(var e in r)m(s,e,{get:r[e],enumerable:!0})},R=(s,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of L(r))!A.call(s,i)&&i!==e&&m(s,i,{get:()=>r[i],enumerable:!(t=g(r,i))||t.enumerable});return s};var S=s=>R(m({},"__esModule",{value:!0}),s),l=(s,r,e,t)=>{for(var i=t>1?void 0:t?g(r,e):r,a=s.length-1,y;a>=0;a--)(y=s[a])&&(i=(t?y(r,e,i):y(i))||i);return t&&i&&m(r,e,i),i};var K={};O(K,{SkdxDrawerContent:()=>n});module.exports=S(K);var d=require("lit"),f=require("lit/decorators.js"),E=require("../internal/aria-part.cjs"),c=require("../internal/body-scroll-lock.cjs"),T=require("../internal/closest.cjs"),k=require("../internal/define.cjs"),p=require("../internal/direction.cjs"),o=require("../internal/dismiss.cjs"),v=require("../internal/dismissal.cjs"),u=require("../internal/focus-targets.cjs"),b=require("../internal/outsideInert.cjs"),h=require("../internal/tabbable.cjs");function F(s){return Array.from(s.querySelectorAll("*")).filter(r=>r.matches(h.TABBABLE_SELECTOR)||!!r.shadowRoot?.querySelector(h.TABBABLE_SELECTOR))}function w(s){(s.matches(h.TABBABLE_SELECTOR)?s:s.shadowRoot?.querySelector(h.TABBABLE_SELECTOR)??s).focus({preventScroll:!0})}function x(s){let r=s.ownerDocument.activeElement;for(;r?.shadowRoot?.activeElement;)r=r.shadowRoot.activeElement;let e=r;for(;e;){if(s.contains(e))return!0;let t=e.getRootNode();e=t instanceof ShadowRoot?t.host:null}return!1}function D(s){return s==="any"||s==="outside"}var n=class extends d.LitElement{constructor(){super(...arguments);this.drawerEl=null;this.locked=!1;this.wasTrapped=!1;this.previouslyFocused=null;this.observer=new MutationObserver(()=>this.sync());this.layer={insideElements:()=>[this,this.drawerEl?.triggerEl]};this.armed=!1;this.handleSlotChange=()=>this.syncHostAttributes();this.handleKeyDown=e=>{if(e.key!=="Tab"||!this.drawerEl?.open||!this.drawerEl.modal)return;let t=F(this);if(t.length===0){e.preventDefault();return}let i=t[0],a=t[t.length-1];e.shiftKey&&(document.activeElement===i||document.activeElement===this)?(e.preventDefault(),a.focus()):!e.shiftKey&&document.activeElement===a&&(e.preventDefault(),i.focus())};this.handleDocumentKeyDown=e=>{this.drawerEl?.open&&(0,v.handleEscapeKeyDown)(e,this.layer,this.handleEscape)};this.handleEscape=e=>{let t=this.drawerEl;if(!t||!(0,o.dispatchEscapeKeyDown)(this,e)||t.effectiveDismiss!=="any"&&t.effectiveDismiss!=="escape")return;let i=!t.modal&&x(this);t.setOpen(!1),i&&(0,o.dispatchAutoFocus)(this,"close-auto-focus")&&!(0,u.applyFinalFocus)(this.finalFocus,"Drawer")&&t.triggerEl&&w(t.triggerEl)};this.handleOutsidePointerDown=e=>{let t=this.drawerEl;if(!this.armed||!t?.open)return;let i=e.target;i&&(this.contains(i)||t.triggerEl?.contains(i)||(0,o.dispatchOutside)(this,"pointer-down-outside",e)&&D(t.effectiveDismiss)&&t.setOpen(!1))};this.handleOutsideFocus=e=>{let t=this.drawerEl;if(!this.armed||!t?.open)return;let i=(0,o.focusOutsideTarget)(e);!i||this.contains(i)||t.triggerEl?.contains(i)||(0,o.dispatchOutside)(this,"focus-outside",e)&&D(t.effectiveDismiss)&&t.setOpen(!1)}}connectedCallback(){if(super.connectedCallback(),this.drawerEl=(0,T.closestThroughPortal)(this,"skdx-drawer, skdx-drawer-root"),!this.drawerEl)throw new Error("<skdx-drawer-content> must be used inside <skdx-drawer> or <skdx-drawer-root>.");this.observer.observe(this.drawerEl,{attributeFilter:["open","modal","placement","dismiss","dismissible"]}),this.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("pointerdown",this.handleOutsidePointerDown,!0),document.addEventListener("focusin",this.handleOutsideFocus,!0),this.armTimer=setTimeout(()=>{this.armed=!0},0),this.syncHostAttributes()}disconnectedCallback(){this.observer.disconnect(),this.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("pointerdown",this.handleOutsidePointerDown,!0),document.removeEventListener("focusin",this.handleOutsideFocus,!0),this.armTimer!==void 0&&clearTimeout(this.armTimer),this.armed=!1,this.releaseLayer?.(),this.releaseLayer=void 0,this.focusFrame!==void 0&&cancelAnimationFrame(this.focusFrame),this.locked&&((0,c.unlockBodyScroll)(),this.locked=!1),(0,b.setOutsideInert)(this,!1),super.disconnectedCallback()}firstUpdated(){this.sync()}syncHostAttributes(){let e=this.drawerEl;e&&(this.id?e.contentId=this.id:this.id=e.contentId,this.setAttribute("role","dialog"),e.open&&e.modal?this.setAttribute("aria-modal","true"):this.removeAttribute("aria-modal"),(0,E.syncPartIdRef)(this,"aria-labelledby",this.querySelector("skdx-drawer-title"),"skdx-drawer-content","title"),(0,E.syncPartIdRef)(this,"aria-describedby",this.querySelector("skdx-drawer-description"),"skdx-drawer-content","description"),this.setAttribute("data-state",e.open?"open":"closed"),this.setAttribute("data-placement",e.placement),this.setAttribute("data-side",(0,p.resolvePhysicalSide)(e.placement,(0,p.resolveDirection)(this))),this.setAttribute("data-dismiss",e.effectiveDismiss),this.hidden=!e.open)}sync(){this.syncHostAttributes();let e=this.drawerEl;if(!e)return;e.open?this.releaseLayer??(this.releaseLayer=(0,v.pushDismissLayer)(this.layer)):(this.releaseLayer?.(),this.releaseLayer=void 0);let t=e.open&&e.modal;t&&!this.locked?(0,c.lockBodyScroll)():!t&&this.locked&&(0,c.unlockBodyScroll)(),this.locked=t,(0,b.setOutsideInert)(this,t);let i=e.open&&e.modal;i!==this.wasTrapped&&(this.wasTrapped=i,i?this.activateTrap():this.deactivateTrap())}activateTrap(){this.previouslyFocused=document.activeElement,this.focusFrame=requestAnimationFrame(()=>(0,o.focusOnOpen)(()=>{if(!(0,o.dispatchAutoFocus)(this,"open-auto-focus")||!this.initialFocus&&this.contains(document.activeElement))return;let e=(0,u.resolveFocusSelector)(this,this.initialFocus,"initialFocus","Drawer")??F(this)[0];e||(this.tabIndex=this.tabIndex>=0?this.tabIndex:-1),w(e??this)}))}deactivateTrap(){if(this.focusFrame!==void 0&&cancelAnimationFrame(this.focusFrame),!(0,o.dispatchAutoFocus)(this,"close-auto-focus")){this.previouslyFocused=null;return}if((0,u.applyFinalFocus)(this.finalFocus,"Drawer")){this.previouslyFocused=null;return}this.previouslyFocused&&this.previouslyFocused!==document.body&&document.contains(this.previouslyFocused)&&w(this.previouslyFocused),this.previouslyFocused=null}render(){return d.html`<slot @slotchange=${this.handleSlotChange}></slot>`}};n.styles=d.css`
1
+ "use strict";var f=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var O=(s,r)=>{for(var e in r)f(s,e,{get:r[e],enumerable:!0})},R=(s,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of L(r))!A.call(s,i)&&i!==e&&f(s,i,{get:()=>r[i],enumerable:!(t=g(r,i))||t.enumerable});return s};var S=s=>R(f({},"__esModule",{value:!0}),s),c=(s,r,e,t)=>{for(var i=t>1?void 0:t?g(r,e):r,d=s.length-1,v;d>=0;d--)(v=s[d])&&(i=(t?v(r,e,i):v(i))||i);return t&&i&&f(r,e,i),i};var K={};O(K,{SkdxDrawerContent:()=>n});module.exports=S(K);var l=require("lit"),p=require("lit/decorators.js"),E=require("../internal/aria-part.cjs"),u=require("../internal/body-scroll-lock.cjs"),T=require("../internal/closest.cjs"),k=require("../internal/define.cjs"),y=require("../internal/direction.cjs"),o=require("../internal/dismiss.cjs"),a=require("../internal/dismissal.cjs"),h=require("../internal/focus-targets.cjs"),b=require("../internal/outsideInert.cjs"),m=require("../internal/tabbable.cjs");function F(s){return Array.from(s.querySelectorAll("*")).filter(r=>r.matches(m.TABBABLE_SELECTOR)||!!r.shadowRoot?.querySelector(m.TABBABLE_SELECTOR))}function w(s){(s.matches(m.TABBABLE_SELECTOR)?s:s.shadowRoot?.querySelector(m.TABBABLE_SELECTOR)??s).focus({preventScroll:!0})}function x(s){let r=s.ownerDocument.activeElement;for(;r?.shadowRoot?.activeElement;)r=r.shadowRoot.activeElement;let e=r;for(;e;){if(s.contains(e))return!0;let t=e.getRootNode();e=t instanceof ShadowRoot?t.host:null}return!1}function D(s){return s==="any"||s==="outside"}var n=class extends l.LitElement{constructor(){super(...arguments);this.drawerEl=null;this.locked=!1;this.wasTrapped=!1;this.previouslyFocused=null;this.observer=new MutationObserver(()=>this.sync());this.layer={insideElements:()=>[this,this.drawerEl?.triggerEl]};this.armed=!1;this.handleSlotChange=()=>this.syncHostAttributes();this.handleKeyDown=e=>{if(e.key!=="Tab"||!this.drawerEl?.open||!this.drawerEl.modal)return;let t=F(this);if(t.length===0){e.preventDefault();return}let i=t[0],d=t[t.length-1];e.shiftKey&&(document.activeElement===i||document.activeElement===this)?(e.preventDefault(),d.focus()):!e.shiftKey&&document.activeElement===d&&(e.preventDefault(),i.focus())};this.handleDocumentKeyDown=e=>{this.drawerEl?.open&&(0,a.handleEscapeKeyDown)(e,this.layer,this.handleEscape)};this.handleEscape=e=>{let t=this.drawerEl;if(!t||!(0,o.dispatchEscapeKeyDown)(this,e)||t.effectiveDismiss!=="any"&&t.effectiveDismiss!=="escape")return;let i=!t.modal&&x(this);t.setOpen(!1),i&&(0,o.dispatchAutoFocus)(this,"close-auto-focus")&&!(0,h.applyFinalFocus)(this.finalFocus,"Drawer")&&t.triggerEl&&w(t.triggerEl)};this.handleOutsidePointerDown=e=>{let t=this.drawerEl;if(!this.armed||!t?.open)return;let i=e.target;i&&(this.contains(i)||t.triggerEl?.contains(i)||(0,a.nestedLayerContains)(this.layer,i)||(0,o.dispatchOutside)(this,"pointer-down-outside",e)&&D(t.effectiveDismiss)&&t.setOpen(!1))};this.handleOutsideFocus=e=>{let t=this.drawerEl;if(!this.armed||!t?.open)return;let i=(0,o.focusOutsideTarget)(e);!i||this.contains(i)||t.triggerEl?.contains(i)||(0,a.nestedLayerContains)(this.layer,i)||(0,o.dispatchOutside)(this,"focus-outside",e)&&D(t.effectiveDismiss)&&t.setOpen(!1)}}connectedCallback(){if(super.connectedCallback(),this.drawerEl=(0,T.closestThroughPortal)(this,"skdx-drawer, skdx-drawer-root"),!this.drawerEl)throw new Error("<skdx-drawer-content> must be used inside <skdx-drawer> or <skdx-drawer-root>.");this.observer.observe(this.drawerEl,{attributeFilter:["open","modal","placement","dismiss","dismissible"]}),this.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("pointerdown",this.handleOutsidePointerDown,!0),document.addEventListener("focusin",this.handleOutsideFocus,!0),this.armTimer=setTimeout(()=>{this.armed=!0},0),this.syncHostAttributes()}disconnectedCallback(){this.observer.disconnect(),this.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("pointerdown",this.handleOutsidePointerDown,!0),document.removeEventListener("focusin",this.handleOutsideFocus,!0),this.armTimer!==void 0&&clearTimeout(this.armTimer),this.armed=!1,this.releaseLayer?.(),this.releaseLayer=void 0,this.focusFrame!==void 0&&cancelAnimationFrame(this.focusFrame),this.locked&&((0,u.unlockBodyScroll)(),this.locked=!1),(0,b.setOutsideInert)(this,!1),super.disconnectedCallback()}firstUpdated(){this.sync()}syncHostAttributes(){let e=this.drawerEl;e&&(this.id?e.contentId=this.id:this.id=e.contentId,this.setAttribute("role","dialog"),e.open&&e.modal?this.setAttribute("aria-modal","true"):this.removeAttribute("aria-modal"),(0,E.syncPartIdRef)(this,"aria-labelledby",this.querySelector("skdx-drawer-title"),"skdx-drawer-content","title"),(0,E.syncPartIdRef)(this,"aria-describedby",this.querySelector("skdx-drawer-description"),"skdx-drawer-content","description"),this.setAttribute("data-state",e.open?"open":"closed"),this.setAttribute("data-placement",e.placement),this.setAttribute("data-side",(0,y.resolvePhysicalSide)(e.placement,(0,y.resolveDirection)(this))),this.setAttribute("data-dismiss",e.effectiveDismiss),this.hidden=!e.open)}sync(){this.syncHostAttributes();let e=this.drawerEl;if(!e)return;e.open?this.releaseLayer??(this.releaseLayer=(0,a.pushDismissLayer)(this.layer)):(this.releaseLayer?.(),this.releaseLayer=void 0);let t=e.open&&e.modal;t&&!this.locked?(0,u.lockBodyScroll)():!t&&this.locked&&(0,u.unlockBodyScroll)(),this.locked=t,(0,b.setOutsideInert)(this,t);let i=e.open&&e.modal;i!==this.wasTrapped&&(this.wasTrapped=i,i?this.activateTrap():this.deactivateTrap())}activateTrap(){this.previouslyFocused=document.activeElement,this.focusFrame=requestAnimationFrame(()=>(0,o.focusOnOpen)(()=>{if(!(0,o.dispatchAutoFocus)(this,"open-auto-focus")||!this.initialFocus&&this.contains(document.activeElement))return;let e=(0,h.resolveFocusSelector)(this,this.initialFocus,"initialFocus","Drawer")??F(this)[0];e||(this.tabIndex=this.tabIndex>=0?this.tabIndex:-1),w(e??this)}))}deactivateTrap(){if(this.focusFrame!==void 0&&cancelAnimationFrame(this.focusFrame),!(0,o.dispatchAutoFocus)(this,"close-auto-focus")){this.previouslyFocused=null;return}if((0,h.applyFinalFocus)(this.finalFocus,"Drawer")){this.previouslyFocused=null;return}this.previouslyFocused&&this.previouslyFocused!==document.body&&document.contains(this.previouslyFocused)&&w(this.previouslyFocused),this.previouslyFocused=null}render(){return l.html`<slot @slotchange=${this.handleSlotChange}></slot>`}};n.styles=l.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
5
5
  :host([hidden]) {
6
6
  display: none;
7
7
  }
8
- `,l([(0,f.property)({type:String,attribute:"initial-focus"})],n.prototype,"initialFocus",2),l([(0,f.property)({type:String,attribute:"final-focus"})],n.prototype,"finalFocus",2),l([(0,f.property)({type:String,reflect:!0,attribute:"data-size"})],n.prototype,"size",2),n=l([(0,k.customElement)("skdx-drawer-content","drawer","content")],n);0&&(module.exports={SkdxDrawerContent});
8
+ `,c([(0,p.property)({type:String,attribute:"initial-focus"})],n.prototype,"initialFocus",2),c([(0,p.property)({type:String,attribute:"final-focus"})],n.prototype,"finalFocus",2),c([(0,p.property)({type:String,reflect:!0,attribute:"data-size"})],n.prototype,"size",2),n=c([(0,k.customElement)("skdx-drawer-content","drawer","content")],n);0&&(module.exports={SkdxDrawerContent});