terracotta 2.0.0-next.0 → 2.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/alert-dialog.d.ts.map +1 -1
  2. package/dist/alert-dialog.js +6 -33
  3. package/dist/alert-dialog.js.map +1 -1
  4. package/dist/button.js +2 -3
  5. package/dist/button.js.map +1 -1
  6. package/dist/checkbox.d.ts.map +1 -1
  7. package/dist/checkbox.js +5 -18
  8. package/dist/checkbox.js.map +1 -1
  9. package/dist/combobox.d.ts.map +1 -1
  10. package/dist/combobox.js +18 -93
  11. package/dist/combobox.js.map +1 -1
  12. package/dist/command-bar.d.ts.map +1 -1
  13. package/dist/command-bar.js +6 -33
  14. package/dist/command-bar.js.map +1 -1
  15. package/dist/command.d.ts.map +1 -1
  16. package/dist/command.js +19 -56
  17. package/dist/command.js.map +1 -1
  18. package/dist/context-menu.d.ts.map +1 -1
  19. package/dist/context-menu.js +5 -35
  20. package/dist/context-menu.js.map +1 -1
  21. package/dist/dialog.d.ts.map +1 -1
  22. package/dist/dialog.js +6 -33
  23. package/dist/dialog.js.map +1 -1
  24. package/dist/disclosure.d.ts.map +1 -1
  25. package/dist/disclosure.js +4 -25
  26. package/dist/disclosure.js.map +1 -1
  27. package/dist/feed.d.ts.map +1 -1
  28. package/dist/feed.js +11 -16
  29. package/dist/feed.js.map +1 -1
  30. package/dist/index-BRrO30DW.d.ts.map +1 -1
  31. package/dist/listbox.d.ts.map +1 -1
  32. package/dist/listbox.js +17 -80
  33. package/dist/listbox.js.map +1 -1
  34. package/dist/menu.d.ts.map +1 -1
  35. package/dist/menu.js +3 -9
  36. package/dist/menu.js.map +1 -1
  37. package/dist/popover.d.ts.map +1 -1
  38. package/dist/popover.js +5 -31
  39. package/dist/popover.js.map +1 -1
  40. package/dist/radio-group.d.ts.map +1 -1
  41. package/dist/radio-group.js +5 -32
  42. package/dist/radio-group.js.map +1 -1
  43. package/dist/select.d.ts.map +1 -1
  44. package/dist/select.js +5 -38
  45. package/dist/select.js.map +1 -1
  46. package/dist/tabs.d.ts.map +1 -1
  47. package/dist/tabs.js +11 -47
  48. package/dist/tabs.js.map +1 -1
  49. package/dist/toast.js +3 -4
  50. package/dist/toast.js.map +1 -1
  51. package/dist/toggle.d.ts.map +1 -1
  52. package/dist/toggle.js +2 -15
  53. package/dist/toggle.js.map +1 -1
  54. package/dist/toolbar.d.ts.map +1 -1
  55. package/dist/toolbar.js +2 -7
  56. package/dist/toolbar.js.map +1 -1
  57. package/dist/transition.d.ts.map +1 -1
  58. package/dist/transition.js +4 -4
  59. package/dist/transition.js.map +1 -1
  60. package/package.json +5 -5
  61. package/src/components/alert-dialog/AlertDialog.ts +7 -5
  62. package/src/components/alert-dialog/AlertDialogDescription.ts +2 -3
  63. package/src/components/alert-dialog/AlertDialogOverlay.ts +2 -3
  64. package/src/components/alert-dialog/AlertDialogPanel.ts +2 -3
  65. package/src/components/alert-dialog/AlertDialogTitle.ts +4 -7
  66. package/src/components/button/index.ts +2 -3
  67. package/src/components/checkbox/Checkbox.ts +5 -11
  68. package/src/components/checkbox/CheckboxDescription.ts +2 -3
  69. package/src/components/checkbox/CheckboxIndicator.ts +2 -3
  70. package/src/components/checkbox/CheckboxLabel.ts +2 -3
  71. package/src/components/combobox/Combobox.ts +17 -21
  72. package/src/components/combobox/ComboboxContext.ts +7 -2
  73. package/src/components/combobox/ComboboxInput.ts +5 -6
  74. package/src/components/combobox/ComboboxLabel.ts +2 -3
  75. package/src/components/combobox/ComboboxOption.ts +4 -4
  76. package/src/components/combobox/ComboboxOptions.ts +2 -3
  77. package/src/components/command/Command.ts +11 -17
  78. package/src/components/command/CommandContext.ts +5 -2
  79. package/src/components/command/CommandInput.ts +8 -8
  80. package/src/components/command/CommandLabel.ts +2 -3
  81. package/src/components/command/CommandOption.ts +10 -5
  82. package/src/components/command/CommandOptions.ts +2 -3
  83. package/src/components/command-bar/CommandBar.ts +7 -5
  84. package/src/components/command-bar/CommandBarDescription.ts +2 -3
  85. package/src/components/command-bar/CommandBarOverlay.ts +2 -3
  86. package/src/components/command-bar/CommandBarPanel.ts +2 -3
  87. package/src/components/command-bar/CommandBarTitle.ts +2 -3
  88. package/src/components/context-menu/ContextMenu.ts +13 -6
  89. package/src/components/context-menu/ContextMenuBoundary.ts +2 -3
  90. package/src/components/context-menu/ContextMenuOverlay.ts +2 -3
  91. package/src/components/context-menu/ContextMenuPanel.ts +2 -3
  92. package/src/components/dialog/Dialog.ts +13 -6
  93. package/src/components/dialog/DialogDescription.ts +2 -3
  94. package/src/components/dialog/DialogOverlay.ts +2 -3
  95. package/src/components/dialog/DialogPanel.ts +2 -3
  96. package/src/components/dialog/DialogTitle.ts +2 -3
  97. package/src/components/disclosure/Disclosure.ts +7 -6
  98. package/src/components/disclosure/DisclosureButton.ts +2 -3
  99. package/src/components/disclosure/DisclosurePanel.ts +2 -3
  100. package/src/components/feed/Feed.ts +4 -5
  101. package/src/components/feed/FeedArticle.ts +3 -4
  102. package/src/components/feed/FeedArticleDescription.ts +2 -3
  103. package/src/components/feed/FeedArticleLabel.ts +2 -3
  104. package/src/components/feed/FeedContent.ts +3 -4
  105. package/src/components/feed/FeedContext.ts +2 -2
  106. package/src/components/feed/FeedLabel.ts +2 -3
  107. package/src/components/listbox/Listbox.ts +17 -15
  108. package/src/components/listbox/ListboxButton.ts +2 -3
  109. package/src/components/listbox/ListboxContext.ts +6 -3
  110. package/src/components/listbox/ListboxLabel.ts +2 -3
  111. package/src/components/listbox/ListboxOptions.ts +7 -8
  112. package/src/components/menu/Menu.ts +2 -3
  113. package/src/components/menu/MenuItem.ts +2 -3
  114. package/src/components/popover/Popover.ts +13 -6
  115. package/src/components/popover/PopoverButton.ts +2 -3
  116. package/src/components/popover/PopoverOverlay.ts +2 -3
  117. package/src/components/popover/PopoverPanel.ts +2 -3
  118. package/src/components/radio-group/RadioGroup.ts +13 -6
  119. package/src/components/radio-group/RadioGroupDescription.ts +2 -3
  120. package/src/components/radio-group/RadioGroupLabel.ts +2 -3
  121. package/src/components/radio-group/RadioGroupOption.ts +8 -3
  122. package/src/components/select/Select.ts +14 -12
  123. package/src/components/select/SelectContext.ts +2 -7
  124. package/src/components/select/SelectOption.ts +3 -4
  125. package/src/components/tabs/Tab.ts +5 -9
  126. package/src/components/tabs/TabGroup.ts +14 -7
  127. package/src/components/tabs/TabGroupContext.ts +1 -1
  128. package/src/components/tabs/TabList.ts +7 -8
  129. package/src/components/tabs/TabPanel.ts +2 -3
  130. package/src/components/toast/index.ts +3 -3
  131. package/src/components/toggle/index.ts +8 -17
  132. package/src/components/toolbar/index.ts +2 -3
  133. package/src/components/transition/index.ts +6 -10
  134. package/src/utils/index.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../src/components/alert-dialog/AlertDialog.ts","../src/components/alert-dialog/AlertDialogDescription.ts","../src/components/alert-dialog/AlertDialogOverlay.ts","../src/components/alert-dialog/AlertDialogPanel.ts","../src/components/alert-dialog/AlertDialogTitle.ts"],"mappings":";;;;;;KA+BY,8BAAA,GAAiC,QAAA,CAC3C,gCAAA,GACE,0BAAA,GACA,gBAAA;AAAA,KAGQ,0BAAA,WAAqC,cAAA,YAC/C,aAAA,CAAc,CAAA,EAAG,8BAAA;AAAA,KAEP,gCAAA,GAAmC,QAAA,CAC7C,kCAAA,GACE,0BAAA,GACA,gBAAA;AAAA,KAGQ,4BAAA,WAAuC,cAAA,YACjD,aAAA,CAAc,CAAA,EAAG,gCAAA;AAAA,KAEP,gBAAA,WAA2B,cAAA,YACnC,0BAAA,CAA2B,CAAA,IAC3B,4BAAA,CAA6B,CAAA;AAAA,iBAQjB,WAAA,WAAsB,cAAA,SAAA,CACpC,KAAA,EAAO,gBAAA,CAAiB,CAAA,IACvB,GAAA,CAAI,OAAA;;;KC5CK,2BAAA,WAAsC,cAAA,UAChD,aAAA,CAAc,CAAA,EAAG,0BAAA;AAAA,iBAEH,sBAAA,WAAiC,cAAA,OAAA,CAC/C,KAAA,EAAO,2BAAA,CAA4B,CAAA,IAClC,GAAA,CAAI,OAAA;;;KCJK,uBAAA,WAAkC,cAAA,YAC5C,oBAAA,CAAqB,CAAA,EAAG,0BAAA;AAAA,iBAEV,kBAAA,WAA6B,cAAA,SAAA,CAC3C,KAAA,EAAO,uBAAA,CAAwB,CAAA,IAC9B,GAAA,CAAI,OAAA;;;KCFK,qBAAA,WAAgC,cAAA,YAC1C,oBAAA,CAAqB,CAAA,EAAG,0BAAA;AAAA,iBAEV,gBAAA,WAA2B,cAAA,SAAA,CACzC,KAAA,EAAO,qBAAA,CAAsB,CAAA,IAC5B,GAAA,CAAI,OAAA;;;KCPK,qBAAA,WAAgC,cAAA,WAC1C,oBAAA,CAAqB,CAAA,EAAG,0BAAA;AAAA,iBAEV,gBAAA,WAA2B,cAAA,QAAA,CACzC,KAAA,EAAO,qBAAA,CAAsB,CAAA,IAC5B,GAAA,CAAI,OAAA"}
1
+ {"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../src/components/alert-dialog/AlertDialog.ts","../src/components/alert-dialog/AlertDialogDescription.ts","../src/components/alert-dialog/AlertDialogOverlay.ts","../src/components/alert-dialog/AlertDialogPanel.ts","../src/components/alert-dialog/AlertDialogTitle.ts"],"mappings":";;;;;;KA+BY,8BAAA,GAAiC,QAAA,CAC3C,gCAAA,GACE,0BAAA,GACA,gBAAA;AAAA,KAGQ,0BAAA,WAAqC,cAAA,YAC/C,aAAA,CAAc,CAAA,EAAG,8BAAA;AAAA,KAEP,gCAAA,GAAmC,QAAA,CAC7C,kCAAA,GACE,0BAAA,GACA,gBAAA;AAAA,KAGQ,4BAAA,WAAuC,cAAA,YACjD,aAAA,CAAc,CAAA,EAAG,gCAAA;AAAA,KAEP,gBAAA,WAA2B,cAAA,YACnC,0BAAA,CAA2B,CAAA,IAC3B,4BAAA,CAA6B,CAAA;AAAA,iBAQjB,WAAA,WAAsB,cAAA,SAAA,CACpC,KAAA,EAAO,gBAAA,CAAiB,CAAA,IACvB,GAAA,CAAI,OAAA;;;KC7CK,2BAAA,WAAsC,cAAA,UAChD,aAAA,CAAc,CAAA,EAAG,0BAAA;AAAA,iBAEH,sBAAA,WAAiC,cAAA,OAAA,CAC/C,KAAA,EAAO,2BAAA,CAA4B,CAAA,IAClC,GAAA,CAAI,OAAA;;;KCJK,uBAAA,WAAkC,cAAA,YAC5C,oBAAA,CAAqB,CAAA,EAAG,0BAAA;AAAA,iBAEV,kBAAA,WAA6B,cAAA,SAAA,CAC3C,KAAA,EAAO,uBAAA,CAAwB,CAAA,IAC9B,GAAA,CAAI,OAAA;;;KCFK,qBAAA,WAAgC,cAAA,YAC1C,oBAAA,CAAqB,CAAA,EAAG,0BAAA;AAAA,iBAEV,gBAAA,WAA2B,cAAA,SAAA,CACzC,KAAA,EAAO,qBAAA,CAAsB,CAAA,IAC5B,GAAA,CAAI,OAAA;;;KCTK,qBAAA,WAAgC,cAAA,WAC1C,oBAAA,CAAqB,CAAA,EAAG,0BAAA;AAAA,iBAEV,gBAAA,WAA2B,cAAA,QAAA,CACzC,KAAA,EAAO,qBAAA,CAAsB,CAAA,IAC5B,GAAA,CAAI,OAAA"}
@@ -8,8 +8,7 @@ import { t as createUnmountable } from "./create-unmountable-BA-xISc6.js";
8
8
  import { i as useDisclosureState, n as DisclosureStateProvider, r as createDisclosureState, t as DisclosureStateChild } from "./create-disclosure-state-DvrsDbX_.js";
9
9
  import { t as useFocusStartPoint } from "./use-focus-start-point-DzHdmdUG.js";
10
10
  import { createDynamic } from "@solidjs/web";
11
- import { createComponent, createContext, createEffect, createTrackedEffect, createUniqueId, merge, useContext } from "solid-js";
12
- import { omitProps } from "solid-use/props";
11
+ import { createComponent, createContext, createEffect, createTrackedEffect, createUniqueId, merge, omit, useContext } from "solid-js";
13
12
  //#region src/components/alert-dialog/AlertDialogContext.ts
14
13
  const AlertDialogContext = createContext();
15
14
  function useAlertDialogContext(componentName) {
@@ -48,25 +47,7 @@ function AlertDialog(props) {
48
47
  descriptionID
49
48
  },
50
49
  get children() {
51
- return createUnmountable(props, () => state.isOpen(), () => createDynamic(() => props.as || "div", merge(isAlertDialogUncontrolled(props) ? omitProps(props, [
52
- "as",
53
- "children",
54
- "defaultOpen",
55
- "disabled",
56
- "onChange",
57
- "onClose",
58
- "onOpen",
59
- "unmount"
60
- ]) : omitProps(props, [
61
- "as",
62
- "children",
63
- "isOpen",
64
- "disabled",
65
- "onChange",
66
- "onClose",
67
- "onOpen",
68
- "unmount"
69
- ]), ALERT_DIALOG_TAG, {
50
+ return createUnmountable(props, () => state.isOpen(), () => createDynamic(() => props.as || "div", merge(isAlertDialogUncontrolled(props) ? omit(props, "as", "children", "defaultOpen", "disabled", "onChange", "onClose", "onOpen", "unmount") : omit(props, "as", "children", "isOpen", "disabled", "onChange", "onClose", "onOpen", "unmount"), ALERT_DIALOG_TAG, {
70
51
  id: ownerID,
71
52
  role: "alertdialog",
72
53
  "aria-modal": true,
@@ -89,7 +70,7 @@ function AlertDialog(props) {
89
70
  function AlertDialogDescription(props) {
90
71
  const context = useAlertDialogContext("AlertDialogDescription");
91
72
  const state = useDisclosureState();
92
- return createDynamic(() => props.as || "p", merge(omitProps(props, ["as", "children"]), ALERT_DIALOG_DESCRIPTION_TAG, {
73
+ return createDynamic(() => props.as || "p", merge(omit(props, "as", "children"), ALERT_DIALOG_DESCRIPTION_TAG, {
93
74
  id: context.descriptionID,
94
75
  get children() {
95
76
  return createComponent(DisclosureStateChild, { get children() {
@@ -109,11 +90,7 @@ function AlertDialogOverlay(props) {
109
90
  state.close();
110
91
  });
111
92
  });
112
- return createDynamic(() => props.as || "div", merge(omitProps(props, [
113
- "as",
114
- "children",
115
- "ref"
116
- ]), ALERT_DIALOG_OVERLAY_TAG, {
93
+ return createDynamic(() => props.as || "div", merge(omit(props, "as", "children", "ref"), ALERT_DIALOG_OVERLAY_TAG, {
117
94
  ref: setInternalRef,
118
95
  get children() {
119
96
  return createComponent(DisclosureStateChild, { get children() {
@@ -147,11 +124,7 @@ function AlertDialogPanel(props) {
147
124
  }
148
125
  }
149
126
  });
150
- return createDynamic(() => props.as || "div", merge(omitProps(props, [
151
- "as",
152
- "children",
153
- "ref"
154
- ]), ALERT_DIALOG_PANEL_TAG, {
127
+ return createDynamic(() => props.as || "div", merge(omit(props, "as", "children", "ref"), ALERT_DIALOG_PANEL_TAG, {
155
128
  id: context.panelID,
156
129
  ref: setInternalRef,
157
130
  get children() {
@@ -166,7 +139,7 @@ function AlertDialogPanel(props) {
166
139
  function AlertDialogTitle(props) {
167
140
  const context = useAlertDialogContext("AlertDialogTitle");
168
141
  const state = useDisclosureState();
169
- return createDynamic(() => props.as || "h2", merge(omitProps(props, ["as", "children"]), ALERT_DIALOG_TITLE_TAG, {
142
+ return createDynamic(() => props.as || "h2", merge(omit(props, "as", "children"), ALERT_DIALOG_TITLE_TAG, {
170
143
  id: context.titleID,
171
144
  get children() {
172
145
  return createComponent(DisclosureStateChild, { get children() {
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.js","names":[],"sources":["../src/components/alert-dialog/AlertDialogContext.ts","../src/components/alert-dialog/tags.ts","../src/components/alert-dialog/AlertDialog.ts","../src/components/alert-dialog/AlertDialogDescription.ts","../src/components/alert-dialog/AlertDialogOverlay.ts","../src/components/alert-dialog/AlertDialogPanel.ts","../src/components/alert-dialog/AlertDialogTitle.ts"],"sourcesContent":["import { createContext, useContext } from 'solid-js';\nimport assert from '../../utils/assert';\n\ninterface AlertDialogContextData {\n ownerID: string;\n panelID: string;\n titleID: string;\n descriptionID: string;\n}\n\nexport const AlertDialogContext = createContext<AlertDialogContextData>();\n\nexport function useAlertDialogContext(\n componentName: string,\n): AlertDialogContextData {\n const context = useContext(AlertDialogContext);\n assert(\n context,\n new Error(`<${componentName}> must be used inside a <AlertDialog>`),\n );\n return context;\n}\n","import { createTag } from '../../utils/namespace';\n\nexport const ALERT_DIALOG_TAG = createTag('alert-dialog');\nexport const ALERT_DIALOG_DESCRIPTION_TAG = createTag(\n 'alert-dialog-description',\n);\nexport const ALERT_DIALOG_OVERLAY_TAG = createTag('alert-dialog-overlay');\nexport const ALERT_DIALOG_PANEL_TAG = createTag('alert-dialog-panel');\nexport const ALERT_DIALOG_TITLE_TAG = createTag('alert-dialog-title');\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport {\n createComponent,\n createTrackedEffect,\n createUniqueId,\n merge,\n} from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type {\n DisclosureStateControlledOptions,\n DisclosureStateRenderProps,\n DisclosureStateUncontrolledOptions,\n} from '../../states/create-disclosure-state';\nimport {\n createDisclosureState,\n DisclosureStateProvider,\n} from '../../states/create-disclosure-state';\nimport type { UnmountableProps } from '../../utils/create-unmountable';\nimport { createUnmountable } from '../../utils/create-unmountable';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createARIADisabledState,\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport type { Prettify } from '../../utils/types';\nimport useFocusStartPoint from '../../utils/use-focus-start-point';\nimport { AlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_TAG } from './tags';\n\nexport type AlertDialogControlledBaseProps = Prettify<\n DisclosureStateControlledOptions &\n DisclosureStateRenderProps &\n UnmountableProps\n>;\n\nexport type AlertDialogControlledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, AlertDialogControlledBaseProps>;\n\nexport type AlertDialogUncontrolledBaseProps = Prettify<\n DisclosureStateUncontrolledOptions &\n DisclosureStateRenderProps &\n UnmountableProps\n>;\n\nexport type AlertDialogUncontrolledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, AlertDialogUncontrolledBaseProps>;\n\nexport type AlertDialogProps<T extends ValidComponent = 'div'> =\n | AlertDialogControlledProps<T>\n | AlertDialogUncontrolledProps<T>;\n\nfunction isAlertDialogUncontrolled<T extends ValidComponent = 'div'>(\n props: AlertDialogProps<T>,\n): props is AlertDialogUncontrolledProps<T> {\n return 'defaultOpen' in props;\n}\n\nexport function AlertDialog<T extends ValidComponent = 'div'>(\n props: AlertDialogProps<T>,\n): JSX.Element {\n const ownerID = createUniqueId();\n const panelID = createUniqueId();\n const titleID = createUniqueId();\n const descriptionID = createUniqueId();\n\n const fsp = useFocusStartPoint();\n\n const state = createDisclosureState(props);\n\n createTrackedEffect(() => {\n if (state.isOpen()) {\n fsp.save();\n } else {\n fsp.load();\n }\n });\n\n return createComponent(AlertDialogContext, {\n value: {\n ownerID,\n panelID,\n titleID,\n descriptionID,\n },\n get children() {\n return createUnmountable(\n props,\n () => state.isOpen(),\n () =>\n createDynamic(\n () => props.as || ('div' as T),\n merge(\n isAlertDialogUncontrolled(props)\n ? omitProps(props, [\n 'as',\n 'children',\n 'defaultOpen',\n 'disabled',\n 'onChange',\n 'onClose',\n 'onOpen',\n 'unmount',\n ])\n : omitProps(props, [\n 'as',\n 'children',\n 'isOpen',\n 'disabled',\n 'onChange',\n 'onClose',\n 'onOpen',\n 'unmount',\n ]),\n ALERT_DIALOG_TAG,\n {\n id: ownerID,\n role: 'alertdialog',\n 'aria-modal': true,\n 'aria-labelledby': titleID,\n 'aria-describedby': descriptionID,\n get children() {\n return createComponent(DisclosureStateProvider, {\n state,\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createARIADisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n ),\n );\n },\n });\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_DESCRIPTION_TAG } from './tags';\n\nexport type AlertDialogDescriptionProps<T extends ValidComponent = 'p'> =\n HeadlessProps<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogDescription<T extends ValidComponent = 'p'>(\n props: AlertDialogDescriptionProps<T>,\n): JSX.Element {\n const context = useAlertDialogContext('AlertDialogDescription');\n const state = useDisclosureState();\n return createDynamic(\n () => props.as || ('p' as T),\n merge(\n omitProps(props, ['as', 'children']),\n ALERT_DIALOG_DESCRIPTION_TAG,\n {\n id: context.descriptionID,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createEffect, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_OVERLAY_TAG } from './tags';\nexport type AlertDialogOverlayProps<T extends ValidComponent = 'div'> =\n HeadlessPropsWithRef<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogOverlay<T extends ValidComponent = 'div'>(\n props: AlertDialogOverlayProps<T>,\n): JSX.Element {\n useAlertDialogContext('AlertDialogOverlay');\n const state = useDisclosureState();\n\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(internalRef, current => {\n if (current instanceof HTMLElement) {\n return useEventListener(current, 'click', () => {\n state.close();\n });\n }\n return undefined;\n });\n\n return createDynamic(\n () => props.as || ('div' as T),\n merge(\n omitProps(props, ['as', 'children', 'ref']),\n ALERT_DIALOG_OVERLAY_TAG,\n {\n ref: setInternalRef,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createEffect, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport { focusFirst, lockFocus } from '../../utils/focus-navigation';\nimport getFocusableElements from '../../utils/focus-query';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_PANEL_TAG } from './tags';\n\nexport type AlertDialogPanelProps<T extends ValidComponent = 'div'> =\n HeadlessPropsWithRef<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogPanel<T extends ValidComponent = 'div'>(\n props: AlertDialogPanelProps<T>,\n): JSX.Element {\n const context = useAlertDialogContext('AlertDialogPanel');\n const state = useDisclosureState();\n\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(\n () => [internalRef(), state.isOpen()] as const,\n ([current, isOpen]) => {\n if (current instanceof HTMLElement) {\n if (isOpen) {\n focusFirst(getFocusableElements(current), false);\n\n return useEventListener(current, 'keydown', e => {\n if (!props.disabled) {\n switch (e.key) {\n case 'Tab': {\n e.preventDefault();\n lockFocus(current, e.shiftKey, false);\n break;\n }\n case 'Escape': {\n state.close();\n break;\n }\n default:\n break;\n }\n }\n });\n }\n }\n return undefined;\n },\n );\n\n return createDynamic(\n () => props.as || ('div' as T),\n merge(\n omitProps(props, ['as', 'children', 'ref']),\n ALERT_DIALOG_PANEL_TAG,\n {\n id: context.panelID,\n ref: setInternalRef,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n","import type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type {\n HeadlessPropsWithRef,\n} from '../../utils/dynamic-prop';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_TITLE_TAG } from './tags';\nimport { createDynamic } from '@solidjs/web';\n\nexport type AlertDialogTitleProps<T extends ValidComponent = 'h2'> =\n HeadlessPropsWithRef<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogTitle<T extends ValidComponent = 'h2'>(\n props: AlertDialogTitleProps<T>,\n): JSX.Element {\n const context = useAlertDialogContext('AlertDialogTitle');\n const state = useDisclosureState();\n\n return createDynamic(\n () => props.as || ('h2' as T),\n merge(\n omitProps(props, ['as', 'children']),\n ALERT_DIALOG_TITLE_TAG,\n {\n id: context.titleID,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"alert-dialog.js","names":[],"sources":["../src/components/alert-dialog/AlertDialogContext.ts","../src/components/alert-dialog/tags.ts","../src/components/alert-dialog/AlertDialog.ts","../src/components/alert-dialog/AlertDialogDescription.ts","../src/components/alert-dialog/AlertDialogOverlay.ts","../src/components/alert-dialog/AlertDialogPanel.ts","../src/components/alert-dialog/AlertDialogTitle.ts"],"sourcesContent":["import { createContext, useContext } from 'solid-js';\nimport assert from '../../utils/assert';\n\ninterface AlertDialogContextData {\n ownerID: string;\n panelID: string;\n titleID: string;\n descriptionID: string;\n}\n\nexport const AlertDialogContext = createContext<AlertDialogContextData>();\n\nexport function useAlertDialogContext(\n componentName: string,\n): AlertDialogContextData {\n const context = useContext(AlertDialogContext);\n assert(\n context,\n new Error(`<${componentName}> must be used inside a <AlertDialog>`),\n );\n return context;\n}\n","import { createTag } from '../../utils/namespace';\n\nexport const ALERT_DIALOG_TAG = createTag('alert-dialog');\nexport const ALERT_DIALOG_DESCRIPTION_TAG = createTag(\n 'alert-dialog-description',\n);\nexport const ALERT_DIALOG_OVERLAY_TAG = createTag('alert-dialog-overlay');\nexport const ALERT_DIALOG_PANEL_TAG = createTag('alert-dialog-panel');\nexport const ALERT_DIALOG_TITLE_TAG = createTag('alert-dialog-title');\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport {\n createComponent,\n createTrackedEffect,\n createUniqueId,\n merge,\n omit,\n} from 'solid-js';\nimport type {\n DisclosureStateControlledOptions,\n DisclosureStateRenderProps,\n DisclosureStateUncontrolledOptions,\n} from '../../states/create-disclosure-state';\nimport {\n createDisclosureState,\n DisclosureStateProvider,\n} from '../../states/create-disclosure-state';\nimport type { UnmountableProps } from '../../utils/create-unmountable';\nimport { createUnmountable } from '../../utils/create-unmountable';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createARIADisabledState,\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport type { Prettify } from '../../utils/types';\nimport useFocusStartPoint from '../../utils/use-focus-start-point';\nimport { AlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_TAG } from './tags';\n\nexport type AlertDialogControlledBaseProps = Prettify<\n DisclosureStateControlledOptions &\n DisclosureStateRenderProps &\n UnmountableProps\n>;\n\nexport type AlertDialogControlledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, AlertDialogControlledBaseProps>;\n\nexport type AlertDialogUncontrolledBaseProps = Prettify<\n DisclosureStateUncontrolledOptions &\n DisclosureStateRenderProps &\n UnmountableProps\n>;\n\nexport type AlertDialogUncontrolledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, AlertDialogUncontrolledBaseProps>;\n\nexport type AlertDialogProps<T extends ValidComponent = 'div'> =\n | AlertDialogControlledProps<T>\n | AlertDialogUncontrolledProps<T>;\n\nfunction isAlertDialogUncontrolled<T extends ValidComponent = 'div'>(\n props: AlertDialogProps<T>,\n): props is AlertDialogUncontrolledProps<T> {\n return 'defaultOpen' in props;\n}\n\nexport function AlertDialog<T extends ValidComponent = 'div'>(\n props: AlertDialogProps<T>,\n): JSX.Element {\n const ownerID = createUniqueId();\n const panelID = createUniqueId();\n const titleID = createUniqueId();\n const descriptionID = createUniqueId();\n\n const fsp = useFocusStartPoint();\n\n const state = createDisclosureState(props);\n\n createTrackedEffect(() => {\n if (state.isOpen()) {\n fsp.save();\n } else {\n fsp.load();\n }\n });\n\n return createComponent(AlertDialogContext, {\n value: {\n ownerID,\n panelID,\n titleID,\n descriptionID,\n },\n get children() {\n return createUnmountable(\n props,\n () => state.isOpen(),\n () =>\n createDynamic(\n () => props.as || ('div' as T),\n merge(\n isAlertDialogUncontrolled(props)\n ? omit(\n props,\n 'as',\n 'children',\n 'defaultOpen',\n 'disabled',\n 'onChange',\n 'onClose',\n 'onOpen',\n 'unmount',\n )\n : omit(\n props,\n 'as',\n 'children',\n 'isOpen',\n 'disabled',\n 'onChange',\n 'onClose',\n 'onOpen',\n 'unmount',\n ),\n ALERT_DIALOG_TAG,\n {\n id: ownerID,\n role: 'alertdialog',\n 'aria-modal': true,\n 'aria-labelledby': titleID,\n 'aria-describedby': descriptionID,\n get children() {\n return createComponent(DisclosureStateProvider, {\n state,\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createARIADisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n ),\n );\n },\n });\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge, omit } from 'solid-js';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_DESCRIPTION_TAG } from './tags';\n\nexport type AlertDialogDescriptionProps<T extends ValidComponent = 'p'> =\n HeadlessProps<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogDescription<T extends ValidComponent = 'p'>(\n props: AlertDialogDescriptionProps<T>,\n): JSX.Element {\n const context = useAlertDialogContext('AlertDialogDescription');\n const state = useDisclosureState();\n return createDynamic(\n () => props.as || ('p' as T),\n merge(\n omit(props, 'as', 'children'),\n ALERT_DIALOG_DESCRIPTION_TAG,\n {\n id: context.descriptionID,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createEffect, merge, omit } from 'solid-js';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_OVERLAY_TAG } from './tags';\nexport type AlertDialogOverlayProps<T extends ValidComponent = 'div'> =\n HeadlessPropsWithRef<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogOverlay<T extends ValidComponent = 'div'>(\n props: AlertDialogOverlayProps<T>,\n): JSX.Element {\n useAlertDialogContext('AlertDialogOverlay');\n const state = useDisclosureState();\n\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(internalRef, current => {\n if (current instanceof HTMLElement) {\n return useEventListener(current, 'click', () => {\n state.close();\n });\n }\n return undefined;\n });\n\n return createDynamic(\n () => props.as || ('div' as T),\n merge(\n omit(props, 'as', 'children', 'ref'),\n ALERT_DIALOG_OVERLAY_TAG,\n {\n ref: setInternalRef,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createEffect, merge, omit } from 'solid-js';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport { focusFirst, lockFocus } from '../../utils/focus-navigation';\nimport getFocusableElements from '../../utils/focus-query';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_PANEL_TAG } from './tags';\n\nexport type AlertDialogPanelProps<T extends ValidComponent = 'div'> =\n HeadlessPropsWithRef<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogPanel<T extends ValidComponent = 'div'>(\n props: AlertDialogPanelProps<T>,\n): JSX.Element {\n const context = useAlertDialogContext('AlertDialogPanel');\n const state = useDisclosureState();\n\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(\n () => [internalRef(), state.isOpen()] as const,\n ([current, isOpen]) => {\n if (current instanceof HTMLElement) {\n if (isOpen) {\n focusFirst(getFocusableElements(current), false);\n\n return useEventListener(current, 'keydown', e => {\n if (!props.disabled) {\n switch (e.key) {\n case 'Tab': {\n e.preventDefault();\n lockFocus(current, e.shiftKey, false);\n break;\n }\n case 'Escape': {\n state.close();\n break;\n }\n default:\n break;\n }\n }\n });\n }\n }\n return undefined;\n },\n );\n\n return createDynamic(\n () => props.as || ('div' as T),\n merge(\n omit(props, 'as', 'children', 'ref'),\n ALERT_DIALOG_PANEL_TAG,\n {\n id: context.panelID,\n ref: setInternalRef,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge, omit } from 'solid-js';\nimport type { DisclosureStateRenderProps } from '../../states/create-disclosure-state';\nimport {\n DisclosureStateChild,\n useDisclosureState,\n} from '../../states/create-disclosure-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport {\n createDisabledState,\n createExpandedState,\n} from '../../utils/state-props';\nimport { useAlertDialogContext } from './AlertDialogContext';\nimport { ALERT_DIALOG_TITLE_TAG } from './tags';\n\nexport type AlertDialogTitleProps<T extends ValidComponent = 'h2'> =\n HeadlessPropsWithRef<T, DisclosureStateRenderProps>;\n\nexport function AlertDialogTitle<T extends ValidComponent = 'h2'>(\n props: AlertDialogTitleProps<T>,\n): JSX.Element {\n const context = useAlertDialogContext('AlertDialogTitle');\n const state = useDisclosureState();\n\n return createDynamic(\n () => props.as || ('h2' as T),\n merge(\n omit(props, 'as', 'children'),\n ALERT_DIALOG_TITLE_TAG,\n {\n id: context.titleID,\n get children() {\n return createComponent(DisclosureStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createExpandedState(() => state.isOpen()),\n ) as ComponentProps<T>,\n );\n}\n"],"mappings":";;;;;;;;;;;;AAUA,MAAa,qBAAqB,eAAuC;AAEzE,SAAgB,sBACd,eACwB;CACxB,MAAM,UAAU,WAAW,mBAAmB;AAC9C,QACE,yBACA,IAAI,MAAM,IAAI,cAAc,uCAAuC,CACpE;AACD,QAAO;;;;AClBT,MAAa,mBAAmB,UAAU,eAAe;AACzD,MAAa,+BAA+B,UAC1C,2BACD;AACD,MAAa,2BAA2B,UAAU,uBAAuB;AACzE,MAAa,yBAAyB,UAAU,qBAAqB;AACrE,MAAa,yBAAyB,UAAU,qBAAqB;;;AC6CrE,SAAS,0BACP,OAC0C;AAC1C,QAAO,iBAAiB;;AAG1B,SAAgB,YACd,OACa;CACb,MAAM,UAAU,gBAAgB;CAChC,MAAM,UAAU,gBAAgB;CAChC,MAAM,UAAU,gBAAgB;CAChC,MAAM,gBAAgB,gBAAgB;CAEtC,MAAM,MAAM,oBAAoB;CAEhC,MAAM,QAAQ,sBAAsB,MAAM;AAE1C,2BAA0B;AACxB,MAAI,MAAM,QAAQ,CAChB,KAAI,MAAM;MAEV,KAAI,MAAM;GAEZ;AAEF,QAAO,gBAAgB,oBAAoB;EACzC,OAAO;GACL;GACA;GACA;GACA;GACD;EACD,IAAI,WAAW;AACb,UAAO,kBACL,aACM,MAAM,QAAQ,QAElB,oBACQ,MAAM,MAAO,OACnB,MACE,0BAA0B,MAAM,GAC5B,KACE,OACA,MACA,YACA,eACA,YACA,YACA,WACA,UACA,UACD,GACD,KACE,OACA,MACA,YACA,UACA,YACA,YACA,WACA,UACA,UACD,EACL,kBACA;IACE,IAAI;IACJ,MAAM;IACN,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,IAAI,WAAW;AACb,YAAO,gBAAgB,yBAAyB;MAC9C;MACA,IAAI,WAAW;AACb,cAAO,MAAM;;MAEhB,CAAC;;IAEL,EACD,0BAA0B,MAAM,UAAU,CAAC,EAC3C,8BAA8B,MAAM,UAAU,CAAC,EAC/C,0BAA0B,MAAM,QAAQ,CAAC,CAC1C,CACF,CACJ;;EAEJ,CAAC;;;;ACzHJ,SAAgB,uBACd,OACa;CACb,MAAM,UAAU,sBAAsB,yBAAyB;CAC/D,MAAM,QAAQ,oBAAoB;AAClC,QAAO,oBACC,MAAM,MAAO,KACnB,MACE,KAAK,OAAO,MAAM,WAAW,EAC7B,8BACA;EACE,IAAI,QAAQ;EACZ,IAAI,WAAW;AACb,UAAO,gBAAgB,sBAAsB,EAC3C,IAAI,WAAW;AACb,WAAO,MAAM;MAEhB,CAAC;;EAEL,EACD,0BAA0B,MAAM,UAAU,CAAC,EAC3C,0BAA0B,MAAM,QAAQ,CAAC,CAC1C,CACF;;;;ACtBH,SAAgB,mBACd,OACa;AACb,uBAAsB,qBAAqB;CAC3C,MAAM,QAAQ,oBAAoB;CAElC,MAAM,CAAC,aAAa,kBAAkB,iBAAiB,MAAM;AAE7D,cAAa,cAAa,YAAW;AACnC,MAAI,mBAAmB,YACrB,QAAO,iBAAiB,SAAS,eAAe;AAC9C,SAAM,OAAO;IACb;GAGJ;AAEF,QAAO,oBACC,MAAM,MAAO,OACnB,MACE,KAAK,OAAO,MAAM,YAAY,MAAM,EACpC,0BACA;EACE,KAAK;EACL,IAAI,WAAW;AACb,UAAO,gBAAgB,sBAAsB,EAC3C,IAAI,WAAW;AACb,WAAO,MAAM;MAEhB,CAAC;;EAEL,EACD,0BAA0B,MAAM,UAAU,CAAC,EAC3C,0BAA0B,MAAM,QAAQ,CAAC,CAC1C,CACF;;;;AChCH,SAAgB,iBACd,OACa;CACb,MAAM,UAAU,sBAAsB,mBAAmB;CACzD,MAAM,QAAQ,oBAAoB;CAElC,MAAM,CAAC,aAAa,kBAAkB,iBAAiB,MAAM;AAE7D,oBACQ,CAAC,aAAa,EAAE,MAAM,QAAQ,CAAC,GACpC,CAAC,SAAS,YAAY;AACrB,MAAI,mBAAmB;OACjB,QAAQ;AACV,eAAW,qBAAqB,QAAQ,EAAE,MAAM;AAEhD,WAAO,iBAAiB,SAAS,YAAW,MAAK;AAC/C,SAAI,CAAC,MAAM,SACT,SAAQ,EAAE,KAAV;MACE,KAAK;AACH,SAAE,gBAAgB;AAClB,iBAAU,SAAS,EAAE,UAAU,MAAM;AACrC;MAEF,KAAK;AACH,aAAM,OAAO;AACb;MAEF,QACE;;MAGN;;;GAKT;AAED,QAAO,oBACC,MAAM,MAAO,OACnB,MACE,KAAK,OAAO,MAAM,YAAY,MAAM,EACpC,wBACA;EACE,IAAI,QAAQ;EACZ,KAAK;EACL,IAAI,WAAW;AACb,UAAO,gBAAgB,sBAAsB,EAC3C,IAAI,WAAW;AACb,WAAO,MAAM;MAEhB,CAAC;;EAEL,EACD,0BAA0B,MAAM,UAAU,CAAC,EAC3C,0BAA0B,MAAM,QAAQ,CAAC,CAC1C,CACF;;;;AC7DH,SAAgB,iBACd,OACa;CACb,MAAM,UAAU,sBAAsB,mBAAmB;CACzD,MAAM,QAAQ,oBAAoB;AAElC,QAAO,oBACC,MAAM,MAAO,MACnB,MACE,KAAK,OAAO,MAAM,WAAW,EAC7B,wBACA;EACE,IAAI,QAAQ;EACZ,IAAI,WAAW;AACb,UAAO,gBAAgB,sBAAsB,EAC3C,IAAI,WAAW;AACb,WAAO,MAAM;MAEhB,CAAC;;EAEL,EACD,0BAA0B,MAAM,UAAU,CAAC,EAC3C,0BAA0B,MAAM,QAAQ,CAAC,CAC1C,CACF"}
package/dist/button.js CHANGED
@@ -3,8 +3,7 @@ import { c as createDisabledState, n as createARIADisabledState } from "./state-
3
3
  import { t as useEventListener } from "./use-event-listener-B0fInUUI.js";
4
4
  import { i as createTag } from "./namespace-BNSl8VB1.js";
5
5
  import { createDynamic } from "@solidjs/web";
6
- import { createEffect, merge } from "solid-js";
7
- import { omitProps } from "solid-use/props";
6
+ import { createEffect, merge, omit } from "solid-js";
8
7
  //#region src/components/button/index.ts
9
8
  const BUTTON_TAG = createTag("button");
10
9
  function Button(props) {
@@ -26,7 +25,7 @@ function Button(props) {
26
25
  return props.disabled ? -1 : 0;
27
26
  },
28
27
  role: "button"
29
- }, createDisabledState(() => props.disabled), createARIADisabledState(() => props.disabled), omitProps(props, ["as", "ref"]), { ref: setInternalRef }));
28
+ }, createDisabledState(() => props.disabled), createARIADisabledState(() => props.disabled), omit(props, "as", "ref"), { ref: setInternalRef }));
30
29
  }
31
30
  //#endregion
32
31
  export { Button };
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","names":[],"sources":["../src/components/button/index.ts"],"sourcesContent":["import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createEffect, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport { createTag } from '../../utils/namespace';\nimport {\n createARIADisabledState,\n createDisabledState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\n\nconst BUTTON_TAG = createTag('button');\n\ninterface ButtonBaseProps {\n disabled?: boolean;\n}\n\nexport type ButtonProps<T extends ValidComponent = 'button'> =\n HeadlessPropsWithRef<T, ButtonBaseProps>;\n\nexport function Button<T extends ValidComponent = 'button'>(\n props: ButtonProps<T>,\n): JSX.Element {\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(internalRef, current => {\n if (current instanceof HTMLElement) {\n // This behavior is redundant for buttons\n if (current.tagName !== 'BUTTON') {\n return useEventListener(current, 'keydown', e => {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n current.click();\n break;\n }\n }\n });\n }\n }\n return undefined;\n });\n\n return createDynamic(\n () => props.as || ('button' as T),\n merge(\n BUTTON_TAG,\n {\n get tabindex() {\n return props.disabled ? -1 : 0;\n },\n role: 'button',\n },\n createDisabledState(() => props.disabled),\n createARIADisabledState(() => props.disabled),\n omitProps(props, ['as', 'ref']),\n {\n ref: setInternalRef,\n },\n ) as ComponentProps<T>,\n );\n}\n"],"mappings":";;;;;;;;AAaA,MAAM,aAAa,UAAU,SAAS;AAStC,SAAgB,OACd,OACa;CACb,MAAM,CAAC,aAAa,kBAAkB,iBAAiB,MAAM;AAE7D,cAAa,cAAa,YAAW;AACnC,MAAI,mBAAmB;OAEjB,QAAQ,YAAY,SACtB,QAAO,iBAAiB,SAAS,YAAW,MAAK;AAC/C,YAAQ,EAAE,KAAV;KACE,KAAK;KACL,KAAK;AACH,cAAQ,OAAO;AACf;;KAGJ;;GAIN;AAEF,QAAO,oBACC,MAAM,MAAO,UACnB,MACE,YACA;EACE,IAAI,WAAW;AACb,UAAO,MAAM,WAAW,KAAK;;EAE/B,MAAM;EACP,EACD,0BAA0B,MAAM,SAAS,EACzC,8BAA8B,MAAM,SAAS,EAC7C,UAAU,OAAO,CAAC,MAAM,MAAM,CAAC,EAC/B,EACE,KAAK,gBACN,CACF,CACF"}
1
+ {"version":3,"file":"button.js","names":[],"sources":["../src/components/button/index.ts"],"sourcesContent":["import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createEffect, merge, omit } from 'solid-js';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport { createTag } from '../../utils/namespace';\nimport {\n createARIADisabledState,\n createDisabledState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\n\nconst BUTTON_TAG = createTag('button');\n\ninterface ButtonBaseProps {\n disabled?: boolean;\n}\n\nexport type ButtonProps<T extends ValidComponent = 'button'> =\n HeadlessPropsWithRef<T, ButtonBaseProps>;\n\nexport function Button<T extends ValidComponent = 'button'>(\n props: ButtonProps<T>,\n): JSX.Element {\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(internalRef, current => {\n if (current instanceof HTMLElement) {\n // This behavior is redundant for buttons\n if (current.tagName !== 'BUTTON') {\n return useEventListener(current, 'keydown', e => {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n current.click();\n break;\n }\n }\n });\n }\n }\n return undefined;\n });\n\n return createDynamic(\n () => props.as || ('button' as T),\n merge(\n BUTTON_TAG,\n {\n get tabindex() {\n return props.disabled ? -1 : 0;\n },\n role: 'button',\n },\n createDisabledState(() => props.disabled),\n createARIADisabledState(() => props.disabled),\n omit(props, 'as', 'ref'),\n {\n ref: setInternalRef,\n },\n ) as ComponentProps<T>,\n );\n}\n"],"mappings":";;;;;;;AAYA,MAAM,aAAa,UAAU,SAAS;AAStC,SAAgB,OACd,OACa;CACb,MAAM,CAAC,aAAa,kBAAkB,iBAAiB,MAAM;AAE7D,cAAa,cAAa,YAAW;AACnC,MAAI,mBAAmB;OAEjB,QAAQ,YAAY,SACtB,QAAO,iBAAiB,SAAS,YAAW,MAAK;AAC/C,YAAQ,EAAE,KAAV;KACE,KAAK;KACL,KAAK;AACH,cAAQ,OAAO;AACf;;KAGJ;;GAIN;AAEF,QAAO,oBACC,MAAM,MAAO,UACnB,MACE,YACA;EACE,IAAI,WAAW;AACb,UAAO,MAAM,WAAW,KAAK;;EAE/B,MAAM;EACP,EACD,0BAA0B,MAAM,SAAS,EACzC,8BAA8B,MAAM,SAAS,EAC7C,KAAK,OAAO,MAAM,MAAM,EACxB,EACE,KAAK,gBACN,CACF,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","names":[],"sources":["../src/components/checkbox/Checkbox.ts","../src/components/checkbox/CheckboxDescription.ts","../src/components/checkbox/CheckboxIndicator.ts","../src/components/checkbox/CheckboxLabel.ts"],"mappings":";;;;;KAuBY,2BAAA,GAA8B,QAAA,CACxC,2BAAA,GAA8B,qBAAA;AAAA,KAGpB,uBAAA,WAAkC,cAAA,YAC5C,aAAA,CAAc,CAAA,EAAG,2BAAA;AAAA,KAEP,6BAAA,GAAgC,QAAA,CAC1C,6BAAA,GAAgC,qBAAA;AAAA,KAGtB,yBAAA,WAAoC,cAAA,YAC9C,aAAA,CAAc,CAAA,EAAG,6BAAA;AAAA,KAEP,aAAA,WAAwB,cAAA,YAChC,uBAAA,CAAwB,CAAA,IACxB,yBAAA,CAA0B,CAAA;AAAA,iBAQd,QAAA,WAAmB,cAAA,SAAA,CACjC,KAAA,EAAO,aAAA,CAAc,CAAA,IACpB,GAAA,CAAI,OAAA;;;KChCK,wBAAA,WAAmC,cAAA,UAC7C,aAAA,CAAc,CAAA,EAAG,qBAAA;AAAA,iBAEH,mBAAA,WAA8B,cAAA,OAAA,CAC5C,KAAA,EAAO,wBAAA,CAAyB,CAAA,IAC/B,GAAA,CAAI,OAAA;;;KCDK,sBAAA,WAAiC,cAAA,eAC3C,oBAAA,CAAqB,CAAA,EAAG,qBAAA;AAAA,iBAEV,iBAAA,WAA4B,cAAA,YAAA,CAC1C,KAAA,EAAO,sBAAA,CAAuB,CAAA,IAC7B,GAAA,CAAI,OAAA;;;KCTK,kBAAA,WAA6B,cAAA,cACvC,aAAA,CAAc,CAAA,EAAG,qBAAA;AAAA,iBAEH,aAAA,WAAwB,cAAA,WAAA,CACtC,KAAA,EAAO,kBAAA,CAAmB,CAAA,IACzB,GAAA,CAAI,OAAA"}
1
+ {"version":3,"file":"checkbox.d.ts","names":[],"sources":["../src/components/checkbox/Checkbox.ts","../src/components/checkbox/CheckboxDescription.ts","../src/components/checkbox/CheckboxIndicator.ts","../src/components/checkbox/CheckboxLabel.ts"],"mappings":";;;;;KAsBY,2BAAA,GAA8B,QAAA,CACxC,2BAAA,GAA8B,qBAAA;AAAA,KAGpB,uBAAA,WAAkC,cAAA,YAC5C,aAAA,CAAc,CAAA,EAAG,2BAAA;AAAA,KAEP,6BAAA,GAAgC,QAAA,CAC1C,6BAAA,GAAgC,qBAAA;AAAA,KAGtB,yBAAA,WAAoC,cAAA,YAC9C,aAAA,CAAc,CAAA,EAAG,6BAAA;AAAA,KAEP,aAAA,WAAwB,cAAA,YAChC,uBAAA,CAAwB,CAAA,IACxB,yBAAA,CAA0B,CAAA;AAAA,iBAQd,QAAA,WAAmB,cAAA,SAAA,CACjC,KAAA,EAAO,aAAA,CAAc,CAAA,IACpB,GAAA,CAAI,OAAA;;;KChCK,wBAAA,WAAmC,cAAA,UAC7C,aAAA,CAAc,CAAA,EAAG,qBAAA;AAAA,iBAEH,mBAAA,WAA8B,cAAA,OAAA,CAC5C,KAAA,EAAO,wBAAA,CAAyB,CAAA,IAC/B,GAAA,CAAI,OAAA;;;KCDK,sBAAA,WAAiC,cAAA,eAC3C,oBAAA,CAAqB,CAAA,EAAG,qBAAA;AAAA,iBAEV,iBAAA,WAA4B,cAAA,YAAA,CAC1C,KAAA,EAAO,sBAAA,CAAuB,CAAA,IAC7B,GAAA,CAAI,OAAA;;;KCTK,kBAAA,WAA6B,cAAA,cACvC,aAAA,CAAc,CAAA,EAAG,qBAAA;AAAA,iBAEH,aAAA,WAAwB,cAAA,WAAA,CACtC,KAAA,EAAO,kBAAA,CAAmB,CAAA,IACzB,GAAA,CAAI,OAAA"}
package/dist/checkbox.js CHANGED
@@ -6,8 +6,7 @@ import { i as createTag } from "./namespace-BNSl8VB1.js";
6
6
  import { Button } from "./button.js";
7
7
  import { i as useCheckState, n as CheckStateProvider, r as createCheckState, t as CheckStateChild } from "./create-check-state-VhSIb3pa.js";
8
8
  import { createDynamic } from "@solidjs/web";
9
- import { createComponent, createContext, createEffect, createUniqueId, merge, useContext } from "solid-js";
10
- import { omitProps } from "solid-use/props";
9
+ import { createComponent, createContext, createEffect, createUniqueId, merge, omit, useContext } from "solid-js";
11
10
  //#region src/components/checkbox/CheckboxContext.ts
12
11
  const CheckboxContext = createContext();
13
12
  function useCheckboxContext(componentName) {
@@ -40,19 +39,7 @@ function Checkbox(props) {
40
39
  descriptionID
41
40
  },
42
41
  get children() {
43
- return createDynamic(() => props.as || "div", merge(CHECKBOX_TAG, createDisabledState(() => state.disabled()), createARIADisabledState(() => state.disabled()), createCheckedState(() => state.checked()), isCheckboxUncontrolled(props) ? omitProps(props, [
44
- "as",
45
- "children",
46
- "defaultChecked",
47
- "disabled",
48
- "onChange"
49
- ]) : omitProps(props, [
50
- "as",
51
- "children",
52
- "checked",
53
- "disabled",
54
- "onChange"
55
- ]), { get children() {
42
+ return createDynamic(() => props.as || "div", merge(CHECKBOX_TAG, createDisabledState(() => state.disabled()), createARIADisabledState(() => state.disabled()), createCheckedState(() => state.checked()), isCheckboxUncontrolled(props) ? omit(props, "as", "children", "defaultChecked", "disabled", "onChange") : omit(props, "as", "children", "checked", "disabled", "onChange"), { get children() {
56
43
  return createComponent(CheckStateProvider, {
57
44
  state,
58
45
  get children() {
@@ -68,7 +55,7 @@ function Checkbox(props) {
68
55
  function CheckboxDescription(props) {
69
56
  const context = useCheckboxContext("CheckboxDescription");
70
57
  const state = useCheckState();
71
- return createDynamic(() => props.as || "p", merge(omitProps(props, ["as", "children"]), CHECKBOX_DESCRIPTION, {
58
+ return createDynamic(() => props.as || "p", merge(omit(props, "as", "children"), CHECKBOX_DESCRIPTION, {
72
59
  id: context.descriptionID,
73
60
  get children() {
74
61
  return createComponent(CheckStateChild, { get children() {
@@ -88,7 +75,7 @@ function CheckboxIndicator(props) {
88
75
  state.toggle();
89
76
  });
90
77
  });
91
- return createComponent(Button, merge(omitProps(props, ["children", "ref"]), CHECKBOX_INDICATOR, {
78
+ return createComponent(Button, merge(omit(props, "children", "ref"), CHECKBOX_INDICATOR, {
92
79
  id: context.indicatorID,
93
80
  role: "checkbox",
94
81
  "aria-labelledby": context.labelID,
@@ -105,7 +92,7 @@ function CheckboxIndicator(props) {
105
92
  function CheckboxLabel(props) {
106
93
  const context = useCheckboxContext("CheckboxLabel");
107
94
  const state = useCheckState();
108
- return createDynamic(() => props.as || "label", merge(omitProps(props, ["as", "children"]), CHECKBOX_LABEL, {
95
+ return createDynamic(() => props.as || "label", merge(omit(props, "as", "children"), CHECKBOX_LABEL, {
109
96
  id: context.labelID,
110
97
  for: context.indicatorID,
111
98
  get children() {
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","names":[],"sources":["../src/components/checkbox/CheckboxContext.ts","../src/components/checkbox/tags.ts","../src/components/checkbox/Checkbox.ts","../src/components/checkbox/CheckboxDescription.ts","../src/components/checkbox/CheckboxIndicator.ts","../src/components/checkbox/CheckboxLabel.ts"],"sourcesContent":["import { createContext, useContext } from 'solid-js';\nimport assert from '../../utils/assert';\n\ninterface CheckboxContextData {\n ownerID: string;\n labelID: string;\n indicatorID: string;\n descriptionID: string;\n}\n\nexport const CheckboxContext = createContext<CheckboxContextData>();\n\nexport function useCheckboxContext(componentName: string): CheckboxContextData {\n const context = useContext(CheckboxContext);\n assert(\n context,\n new Error(`<${componentName}> must be used inside a <Checkbox>`),\n );\n return context;\n}\n","import { createTag } from '../../utils/namespace';\n\nexport const CHECKBOX_TAG = createTag('checkbox');\nexport const CHECKBOX_DESCRIPTION = createTag('checkbox-description');\nexport const CHECKBOX_INDICATOR = createTag('checkbox-indicator');\nexport const CHECKBOX_LABEL = createTag('checkbox-label');\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createUniqueId, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type {\n CheckStateControlledOptions,\n CheckStateRenderProps,\n CheckStateUncontrolledOptions,\n} from '../../states/create-check-state';\nimport {\n CheckStateProvider,\n createCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createARIADisabledState,\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport type { Prettify } from '../../utils/types';\nimport { CheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_TAG } from './tags';\n\nexport type CheckboxControlledBaseProps = Prettify<\n CheckStateControlledOptions & CheckStateRenderProps\n>;\n\nexport type CheckboxControlledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, CheckboxControlledBaseProps>;\n\nexport type CheckboxUncontrolledBaseProps = Prettify<\n CheckStateUncontrolledOptions & CheckStateRenderProps\n>;\n\nexport type CheckboxUncontrolledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, CheckboxUncontrolledBaseProps>;\n\nexport type CheckboxProps<T extends ValidComponent = 'div'> =\n | CheckboxControlledProps<T>\n | CheckboxUncontrolledProps<T>;\n\nfunction isCheckboxUncontrolled<T extends ValidComponent = 'div'>(\n props: CheckboxProps<T>,\n): props is CheckboxUncontrolledProps<T> {\n return 'defaultChecked' in props;\n}\n\nexport function Checkbox<T extends ValidComponent = 'div'>(\n props: CheckboxProps<T>,\n): JSX.Element {\n const ownerID = createUniqueId();\n const labelID = createUniqueId();\n const indicatorID = createUniqueId();\n const descriptionID = createUniqueId();\n\n const state = createCheckState(props);\n\n return createComponent(CheckboxContext, {\n value: {\n ownerID,\n labelID,\n indicatorID,\n descriptionID,\n },\n get children() {\n return createDynamic(\n () => props.as || 'div',\n merge(\n CHECKBOX_TAG,\n createDisabledState(() => state.disabled()),\n createARIADisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n isCheckboxUncontrolled(props)\n ? omitProps(props, [\n 'as',\n 'children',\n 'defaultChecked',\n 'disabled',\n 'onChange',\n ])\n : omitProps(props, [\n 'as',\n 'children',\n 'checked',\n 'disabled',\n 'onChange',\n ]),\n {\n get children() {\n return createComponent(CheckStateProvider, {\n state,\n get children() {\n return props.children;\n },\n });\n },\n },\n ) as ComponentProps<T>,\n );\n },\n });\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { CheckStateRenderProps } from '../../states/create-check-state';\nimport {\n CheckStateChild,\n useCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport { useCheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_DESCRIPTION } from './tags';\n\nexport type CheckboxDescriptionProps<T extends ValidComponent = 'p'> =\n HeadlessProps<T, CheckStateRenderProps>;\n\nexport function CheckboxDescription<T extends ValidComponent = 'p'>(\n props: CheckboxDescriptionProps<T>,\n): JSX.Element {\n const context = useCheckboxContext('CheckboxDescription');\n const state = useCheckState();\n return createDynamic(\n () => props.as || ('p' as T),\n merge(\n omitProps(props, ['as', 'children']),\n CHECKBOX_DESCRIPTION,\n {\n id: context.descriptionID,\n get children() {\n return createComponent(CheckStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n ) as ComponentProps<T>,\n );\n}\n","import type { JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createEffect, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { CheckStateRenderProps } from '../../states/create-check-state';\nimport {\n CheckStateChild,\n useCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport {\n createARIADisabledState,\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\nimport type { ButtonProps } from '../button';\nimport { Button } from '../button';\nimport { useCheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_INDICATOR } from './tags';\n\nexport type CheckboxIndicatorProps<T extends ValidComponent = 'button'> =\n HeadlessPropsWithRef<T, CheckStateRenderProps>;\n\nexport function CheckboxIndicator<T extends ValidComponent = 'button'>(\n props: CheckboxIndicatorProps<T>,\n): JSX.Element {\n const context = useCheckboxContext('CheckboxIndicator');\n const state = useCheckState();\n\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(internalRef, current => {\n if (current instanceof HTMLElement) {\n return useEventListener(current, 'click', () => {\n state.toggle();\n });\n }\n return undefined;\n });\n\n return createComponent(\n Button,\n merge(\n omitProps(props, ['children', 'ref']),\n CHECKBOX_INDICATOR,\n {\n id: context.indicatorID,\n role: 'checkbox',\n 'aria-labelledby': context.labelID,\n 'aria-describedby': context.descriptionID,\n ref: setInternalRef,\n },\n createDisabledState(() => state.disabled()),\n createARIADisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n {\n get children() {\n return createComponent(CheckStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n ) as ButtonProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge } from 'solid-js';\nimport { omitProps } from 'solid-use/props';\nimport type { CheckStateRenderProps } from '../../states/create-check-state';\nimport {\n CheckStateChild,\n useCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport { useCheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_LABEL } from './tags';\n\nexport type CheckboxLabelProps<T extends ValidComponent = 'label'> =\n HeadlessProps<T, CheckStateRenderProps>;\n\nexport function CheckboxLabel<T extends ValidComponent = 'label'>(\n props: CheckboxLabelProps<T>,\n): JSX.Element {\n const context = useCheckboxContext('CheckboxLabel');\n const state = useCheckState();\n return createDynamic(\n () => props.as || ('label' as T),\n merge(\n omitProps(props, ['as', 'children']),\n CHECKBOX_LABEL,\n {\n id: context.labelID,\n for: context.indicatorID,\n get children() {\n return createComponent(CheckStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n ) as ComponentProps<T>,\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.js","names":[],"sources":["../src/components/checkbox/CheckboxContext.ts","../src/components/checkbox/tags.ts","../src/components/checkbox/Checkbox.ts","../src/components/checkbox/CheckboxDescription.ts","../src/components/checkbox/CheckboxIndicator.ts","../src/components/checkbox/CheckboxLabel.ts"],"sourcesContent":["import { createContext, useContext } from 'solid-js';\nimport assert from '../../utils/assert';\n\ninterface CheckboxContextData {\n ownerID: string;\n labelID: string;\n indicatorID: string;\n descriptionID: string;\n}\n\nexport const CheckboxContext = createContext<CheckboxContextData>();\n\nexport function useCheckboxContext(componentName: string): CheckboxContextData {\n const context = useContext(CheckboxContext);\n assert(\n context,\n new Error(`<${componentName}> must be used inside a <Checkbox>`),\n );\n return context;\n}\n","import { createTag } from '../../utils/namespace';\n\nexport const CHECKBOX_TAG = createTag('checkbox');\nexport const CHECKBOX_DESCRIPTION = createTag('checkbox-description');\nexport const CHECKBOX_INDICATOR = createTag('checkbox-indicator');\nexport const CHECKBOX_LABEL = createTag('checkbox-label');\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createUniqueId, merge, omit } from 'solid-js';\nimport type {\n CheckStateControlledOptions,\n CheckStateRenderProps,\n CheckStateUncontrolledOptions,\n} from '../../states/create-check-state';\nimport {\n CheckStateProvider,\n createCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createARIADisabledState,\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport type { Prettify } from '../../utils/types';\nimport { CheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_TAG } from './tags';\n\nexport type CheckboxControlledBaseProps = Prettify<\n CheckStateControlledOptions & CheckStateRenderProps\n>;\n\nexport type CheckboxControlledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, CheckboxControlledBaseProps>;\n\nexport type CheckboxUncontrolledBaseProps = Prettify<\n CheckStateUncontrolledOptions & CheckStateRenderProps\n>;\n\nexport type CheckboxUncontrolledProps<T extends ValidComponent = 'div'> =\n HeadlessProps<T, CheckboxUncontrolledBaseProps>;\n\nexport type CheckboxProps<T extends ValidComponent = 'div'> =\n | CheckboxControlledProps<T>\n | CheckboxUncontrolledProps<T>;\n\nfunction isCheckboxUncontrolled<T extends ValidComponent = 'div'>(\n props: CheckboxProps<T>,\n): props is CheckboxUncontrolledProps<T> {\n return 'defaultChecked' in props;\n}\n\nexport function Checkbox<T extends ValidComponent = 'div'>(\n props: CheckboxProps<T>,\n): JSX.Element {\n const ownerID = createUniqueId();\n const labelID = createUniqueId();\n const indicatorID = createUniqueId();\n const descriptionID = createUniqueId();\n\n const state = createCheckState(props);\n\n return createComponent(CheckboxContext, {\n value: {\n ownerID,\n labelID,\n indicatorID,\n descriptionID,\n },\n get children() {\n return createDynamic(\n () => props.as || 'div',\n merge(\n CHECKBOX_TAG,\n createDisabledState(() => state.disabled()),\n createARIADisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n isCheckboxUncontrolled(props)\n ? omit(\n props,\n 'as',\n 'children',\n 'defaultChecked',\n 'disabled',\n 'onChange',\n )\n : omit(props, 'as', 'children', 'checked', 'disabled', 'onChange'),\n {\n get children() {\n return createComponent(CheckStateProvider, {\n state,\n get children() {\n return props.children;\n },\n });\n },\n },\n ) as ComponentProps<T>,\n );\n },\n });\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge, omit } from 'solid-js';\nimport type { CheckStateRenderProps } from '../../states/create-check-state';\nimport {\n CheckStateChild,\n useCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport { useCheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_DESCRIPTION } from './tags';\n\nexport type CheckboxDescriptionProps<T extends ValidComponent = 'p'> =\n HeadlessProps<T, CheckStateRenderProps>;\n\nexport function CheckboxDescription<T extends ValidComponent = 'p'>(\n props: CheckboxDescriptionProps<T>,\n): JSX.Element {\n const context = useCheckboxContext('CheckboxDescription');\n const state = useCheckState();\n return createDynamic(\n () => props.as || ('p' as T),\n merge(\n omit(props, 'as', 'children'),\n CHECKBOX_DESCRIPTION,\n {\n id: context.descriptionID,\n get children() {\n return createComponent(CheckStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n ) as ComponentProps<T>,\n );\n}\n","import type { JSX, ValidComponent } from 'solid-js';\nimport { createComponent, createEffect, merge, omit } from 'solid-js';\nimport type { CheckStateRenderProps } from '../../states/create-check-state';\nimport {\n CheckStateChild,\n useCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessPropsWithRef } from '../../utils/dynamic-prop';\nimport { createForwardRef } from '../../utils/dynamic-prop';\nimport {\n createARIADisabledState,\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport useEventListener from '../../utils/use-event-listener';\nimport type { ButtonProps } from '../button';\nimport { Button } from '../button';\nimport { useCheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_INDICATOR } from './tags';\n\nexport type CheckboxIndicatorProps<T extends ValidComponent = 'button'> =\n HeadlessPropsWithRef<T, CheckStateRenderProps>;\n\nexport function CheckboxIndicator<T extends ValidComponent = 'button'>(\n props: CheckboxIndicatorProps<T>,\n): JSX.Element {\n const context = useCheckboxContext('CheckboxIndicator');\n const state = useCheckState();\n\n const [internalRef, setInternalRef] = createForwardRef(props);\n\n createEffect(internalRef, current => {\n if (current instanceof HTMLElement) {\n return useEventListener(current, 'click', () => {\n state.toggle();\n });\n }\n return undefined;\n });\n\n return createComponent(\n Button,\n merge(\n omit(props, 'children', 'ref'),\n CHECKBOX_INDICATOR,\n {\n id: context.indicatorID,\n role: 'checkbox',\n 'aria-labelledby': context.labelID,\n 'aria-describedby': context.descriptionID,\n ref: setInternalRef,\n },\n createDisabledState(() => state.disabled()),\n createARIADisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n {\n get children() {\n return createComponent(CheckStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n ) as ButtonProps<T>,\n );\n}\n","import { createDynamic } from '@solidjs/web';\nimport type { ComponentProps, JSX, ValidComponent } from 'solid-js';\nimport { createComponent, merge, omit } from 'solid-js';\nimport type { CheckStateRenderProps } from '../../states/create-check-state';\nimport {\n CheckStateChild,\n useCheckState,\n} from '../../states/create-check-state';\nimport type { HeadlessProps } from '../../utils/dynamic-prop';\nimport {\n createCheckedState,\n createDisabledState,\n} from '../../utils/state-props';\nimport { useCheckboxContext } from './CheckboxContext';\nimport { CHECKBOX_LABEL } from './tags';\n\nexport type CheckboxLabelProps<T extends ValidComponent = 'label'> =\n HeadlessProps<T, CheckStateRenderProps>;\n\nexport function CheckboxLabel<T extends ValidComponent = 'label'>(\n props: CheckboxLabelProps<T>,\n): JSX.Element {\n const context = useCheckboxContext('CheckboxLabel');\n const state = useCheckState();\n return createDynamic(\n () => props.as || ('label' as T),\n merge(\n omit(props, 'as', 'children'),\n CHECKBOX_LABEL,\n {\n id: context.labelID,\n for: context.indicatorID,\n get children() {\n return createComponent(CheckStateChild, {\n get children() {\n return props.children;\n },\n });\n },\n },\n createDisabledState(() => state.disabled()),\n createCheckedState(() => state.checked()),\n ) as ComponentProps<T>,\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.d.ts","names":[],"sources":["../src/components/combobox/Combobox.ts","../src/components/combobox/ComboboxInput.ts","../src/components/combobox/ComboboxLabel.ts","../src/components/combobox/ComboboxOption.ts","../src/components/combobox/ComboboxOptions.ts"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.d.ts","names":[],"sources":["../src/components/combobox/Combobox.ts","../src/components/combobox/ComboboxInput.ts","../src/components/combobox/ComboboxLabel.ts","../src/components/combobox/ComboboxOption.ts","../src/components/combobox/ComboboxOptions.ts"],"mappings":"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"}
package/dist/combobox.js CHANGED
@@ -13,8 +13,7 @@ import { a as useAutocompleteState, i as createSingleAutocompleteState, n as Aut
13
13
  import { n as createAutocompleteOptionState, r as COMMAND_INPUT_TAG, t as AutocompleteOptionStateProvider } from "./create-autocomplete-option-state-IiLdhCUt.js";
14
14
  import { t as waitForTransition } from "./wait-for-transition-2M-Jo4Cq.js";
15
15
  import { createDynamic } from "@solidjs/web";
16
- import { createComponent, createContext, createEffect, createMemo, createSignal, createUniqueId, merge, useContext } from "solid-js";
17
- import { omitProps } from "solid-use/props";
16
+ import { createComponent, createContext, createEffect, createMemo, createSignal, createUniqueId, merge, omit, useContext } from "solid-js";
18
17
  //#region src/components/combobox/ComboboxContext.ts
19
18
  const ComboboxContext = createContext();
20
19
  function useComboboxContext(componentName) {
@@ -48,67 +47,11 @@ function isComboboxDisclosureUncontrolled(props) {
48
47
  }
49
48
  function getProps(props) {
50
49
  if (isComboboxSelectUncontrolled(props)) {
51
- if (isComboboxDisclosureUncontrolled(props)) return omitProps(props, [
52
- "as",
53
- "by",
54
- "children",
55
- "defaultOpen",
56
- "defaultValue",
57
- "disabled",
58
- "matchBy",
59
- "multiple",
60
- "onClose",
61
- "onDisclosureChange",
62
- "onOpen",
63
- "onSelectChange",
64
- "toggleable"
65
- ]);
66
- return omitProps(props, [
67
- "as",
68
- "by",
69
- "children",
70
- "defaultValue",
71
- "disabled",
72
- "isOpen",
73
- "matchBy",
74
- "multiple",
75
- "onClose",
76
- "onDisclosureChange",
77
- "onOpen",
78
- "onSelectChange",
79
- "toggleable"
80
- ]);
50
+ if (isComboboxDisclosureUncontrolled(props)) return omit(props, "as", "by", "children", "defaultOpen", "defaultValue", "disabled", "matchBy", "multiple", "onClose", "onDisclosureChange", "onOpen", "onSelectChange", "toggleable");
51
+ return omit(props, "as", "by", "children", "defaultValue", "disabled", "isOpen", "matchBy", "multiple", "onClose", "onDisclosureChange", "onOpen", "onSelectChange", "toggleable");
81
52
  }
82
- if (isComboboxDisclosureUncontrolled(props)) return omitProps(props, [
83
- "as",
84
- "by",
85
- "children",
86
- "defaultOpen",
87
- "disabled",
88
- "matchBy",
89
- "multiple",
90
- "onClose",
91
- "onDisclosureChange",
92
- "onOpen",
93
- "onSelectChange",
94
- "toggleable",
95
- "value"
96
- ]);
97
- return omitProps(props, [
98
- "as",
99
- "by",
100
- "children",
101
- "disabled",
102
- "isOpen",
103
- "matchBy",
104
- "multiple",
105
- "onClose",
106
- "onDisclosureChange",
107
- "onOpen",
108
- "onSelectChange",
109
- "toggleable",
110
- "value"
111
- ]);
53
+ if (isComboboxDisclosureUncontrolled(props)) return omit(props, "as", "by", "children", "defaultOpen", "disabled", "matchBy", "multiple", "onClose", "onDisclosureChange", "onOpen", "onSelectChange", "toggleable", "value");
54
+ return omit(props, "as", "by", "children", "disabled", "isOpen", "matchBy", "multiple", "onClose", "onDisclosureChange", "onOpen", "onSelectChange", "toggleable", "value");
112
55
  }
113
56
  function Combobox(props) {
114
57
  return createMemo(() => {
@@ -140,18 +83,10 @@ function Combobox(props) {
140
83
  controller,
141
84
  inputHovering: false,
142
85
  optionsHovering: false,
143
- get activeDescendant() {
144
- return activeDescendant();
145
- },
146
- set activeDescendant(value) {
147
- setActiveDescendant(value);
148
- },
149
- get selectedDescendant() {
150
- return selectedDescendant();
151
- },
152
- set selectedDescendant(value) {
153
- setSelectedDescendant(value);
154
- }
86
+ getActiveDescendant: activeDescendant,
87
+ setActiveDescendant,
88
+ getSelectedDescendant: selectedDescendant,
89
+ setSelectedDescendant
155
90
  },
156
91
  get children() {
157
92
  return createComponent(AutocompleteStateProvider, {
@@ -204,7 +139,7 @@ function ComboboxInput(props) {
204
139
  break;
205
140
  case "Enter":
206
141
  e.preventDefault();
207
- if (disclosureState.isOpen()) context.selectedDescendant = context.activeDescendant;
142
+ if (disclosureState.isOpen()) context.setSelectedDescendant(context.getActiveDescendant());
208
143
  break;
209
144
  default: break;
210
145
  }
@@ -225,7 +160,7 @@ function ComboboxInput(props) {
225
160
  if (query !== "") if (disclosureState.isOpen()) context.controller.setFirstChecked();
226
161
  else disclosureState.open();
227
162
  });
228
- createEffect(() => context.activeDescendant, (activeDescendant) => {
163
+ createEffect(() => context.getActiveDescendant(), (activeDescendant) => {
229
164
  if (activeDescendant) {
230
165
  const current = document.getElementById(activeDescendant);
231
166
  if (current) context.controller.setCurrent(current);
@@ -244,9 +179,9 @@ function ComboboxInput(props) {
244
179
  return disclosureState.isOpen();
245
180
  },
246
181
  get "aria-activedescendant"() {
247
- return context.activeDescendant;
182
+ return context.getActiveDescendant();
248
183
  }
249
- }, createDisabledState(isDisabled), createARIADisabledState(isDisabled), createExpandedState(() => disclosureState.isOpen()), createARIAExpandedState(() => disclosureState.isOpen()), createHasSelectedState(() => autocompleteState.hasSelected()), createHasActiveState(() => autocompleteState.hasActive()), createHasQueryState(() => autocompleteState.hasQuery()), omitProps(props, ["as", "ref"])));
184
+ }, createDisabledState(isDisabled), createARIADisabledState(isDisabled), createExpandedState(() => disclosureState.isOpen()), createARIAExpandedState(() => disclosureState.isOpen()), createHasSelectedState(() => autocompleteState.hasSelected()), createHasActiveState(() => autocompleteState.hasActive()), createHasQueryState(() => autocompleteState.hasQuery()), omit(props, "as", "ref")));
250
185
  }
251
186
  //#endregion
252
187
  //#region src/components/combobox/ComboboxLabel.ts
@@ -254,7 +189,7 @@ function ComboboxLabel(props) {
254
189
  const context = useComboboxContext("ComboboxLabel");
255
190
  const autocompleteState = useAutocompleteState();
256
191
  const disclosureState = useDisclosureState();
257
- return createDynamic(() => props.as || "label", merge(COMBOBOX_LABEL_TAG, { id: context.labelID }, createDisabledState(() => autocompleteState.disabled()), createExpandedState(() => disclosureState.isOpen()), createHasSelectedState(() => autocompleteState.hasSelected()), createHasActiveState(() => autocompleteState.hasActive()), createHasQueryState(() => autocompleteState.hasQuery()), omitProps(props, ["as"])));
192
+ return createDynamic(() => props.as || "label", merge(COMBOBOX_LABEL_TAG, { id: context.labelID }, createDisabledState(() => autocompleteState.disabled()), createExpandedState(() => disclosureState.isOpen()), createHasSelectedState(() => autocompleteState.hasSelected()), createHasActiveState(() => autocompleteState.hasActive()), createHasQueryState(() => autocompleteState.hasQuery()), omit(props, "as")));
258
193
  }
259
194
  //#endregion
260
195
  //#region src/components/combobox/ComboboxOption.ts
@@ -264,14 +199,14 @@ function ComboboxOption(props) {
264
199
  const state = createAutocompleteOptionState(props);
265
200
  const [internalRef, setInternalRef] = createForwardRef(props);
266
201
  const id = createUniqueId();
267
- createEffect(() => !state.disabled() && context.selectedDescendant === id, (value) => {
202
+ createEffect(() => !state.disabled() && context.getSelectedDescendant() === id, (value) => {
268
203
  if (value) {
269
204
  state.select();
270
205
  if (!context.multiple) disclosure.close();
271
206
  }
272
207
  });
273
208
  function focusOption() {
274
- context.activeDescendant = id;
209
+ context.setActiveDescendant(id);
275
210
  state.focus();
276
211
  }
277
212
  createEffect(internalRef, (current) => {
@@ -297,13 +232,7 @@ function ComboboxOption(props) {
297
232
  role: "option",
298
233
  tabindex: -1,
299
234
  ref: setInternalRef
300
- }, createDisabledState(() => state.disabled()), createARIADisabledState(() => state.disabled()), createSelectedState(() => state.isSelected()), createARIASelectedState(() => state.isSelected()), createActiveState(() => state.isActive()), createMatchesState(() => state.matches()), omitProps(props, [
301
- "as",
302
- "children",
303
- "disabled",
304
- "value",
305
- "ref"
306
- ]), { get children() {
235
+ }, createDisabledState(() => state.disabled()), createARIADisabledState(() => state.disabled()), createSelectedState(() => state.isSelected()), createARIASelectedState(() => state.isSelected()), createActiveState(() => state.isActive()), createMatchesState(() => state.matches()), omit(props, "as", "children", "disabled", "value", "ref"), { get children() {
307
236
  return createComponent(AutocompleteOptionStateProvider, {
308
237
  state,
309
238
  get children() {
@@ -349,11 +278,7 @@ function ComboboxOptions(props) {
349
278
  ref: setInternalRef,
350
279
  "aria-orientation": "vertical",
351
280
  tabindex: -1
352
- }, createDisabledState(() => autocompleteState.disabled()), createARIADisabledState(() => autocompleteState.disabled()), createExpandedState(() => disclosureState.isOpen()), createHasSelectedState(() => autocompleteState.hasSelected()), createHasActiveState(() => autocompleteState.hasActive()), createHasQueryState(() => autocompleteState.hasQuery()), omitProps(props, [
353
- "as",
354
- "children",
355
- "ref"
356
- ]), { get children() {
281
+ }, createDisabledState(() => autocompleteState.disabled()), createARIADisabledState(() => autocompleteState.disabled()), createExpandedState(() => disclosureState.isOpen()), createHasSelectedState(() => autocompleteState.hasSelected()), createHasActiveState(() => autocompleteState.hasActive()), createHasQueryState(() => autocompleteState.hasQuery()), omit(props, "as", "children", "ref"), { get children() {
357
282
  return createComponent(AutocompleteStateChild, { get children() {
358
283
  return props.children;
359
284
  } });