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.
- package/dist/alert-dialog.d.ts.map +1 -1
- package/dist/alert-dialog.js +6 -33
- package/dist/alert-dialog.js.map +1 -1
- package/dist/button.js +2 -3
- package/dist/button.js.map +1 -1
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +5 -18
- package/dist/checkbox.js.map +1 -1
- package/dist/combobox.d.ts.map +1 -1
- package/dist/combobox.js +18 -93
- package/dist/combobox.js.map +1 -1
- package/dist/command-bar.d.ts.map +1 -1
- package/dist/command-bar.js +6 -33
- package/dist/command-bar.js.map +1 -1
- package/dist/command.d.ts.map +1 -1
- package/dist/command.js +19 -56
- package/dist/command.js.map +1 -1
- package/dist/context-menu.d.ts.map +1 -1
- package/dist/context-menu.js +5 -35
- package/dist/context-menu.js.map +1 -1
- package/dist/dialog.d.ts.map +1 -1
- package/dist/dialog.js +6 -33
- package/dist/dialog.js.map +1 -1
- package/dist/disclosure.d.ts.map +1 -1
- package/dist/disclosure.js +4 -25
- package/dist/disclosure.js.map +1 -1
- package/dist/feed.d.ts.map +1 -1
- package/dist/feed.js +11 -16
- package/dist/feed.js.map +1 -1
- package/dist/index-BRrO30DW.d.ts.map +1 -1
- package/dist/listbox.d.ts.map +1 -1
- package/dist/listbox.js +17 -80
- package/dist/listbox.js.map +1 -1
- package/dist/menu.d.ts.map +1 -1
- package/dist/menu.js +3 -9
- package/dist/menu.js.map +1 -1
- package/dist/popover.d.ts.map +1 -1
- package/dist/popover.js +5 -31
- package/dist/popover.js.map +1 -1
- package/dist/radio-group.d.ts.map +1 -1
- package/dist/radio-group.js +5 -32
- package/dist/radio-group.js.map +1 -1
- package/dist/select.d.ts.map +1 -1
- package/dist/select.js +5 -38
- package/dist/select.js.map +1 -1
- package/dist/tabs.d.ts.map +1 -1
- package/dist/tabs.js +11 -47
- package/dist/tabs.js.map +1 -1
- package/dist/toast.js +3 -4
- package/dist/toast.js.map +1 -1
- package/dist/toggle.d.ts.map +1 -1
- package/dist/toggle.js +2 -15
- package/dist/toggle.js.map +1 -1
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +2 -7
- package/dist/toolbar.js.map +1 -1
- package/dist/transition.d.ts.map +1 -1
- package/dist/transition.js +4 -4
- package/dist/transition.js.map +1 -1
- package/package.json +5 -5
- package/src/components/alert-dialog/AlertDialog.ts +7 -5
- package/src/components/alert-dialog/AlertDialogDescription.ts +2 -3
- package/src/components/alert-dialog/AlertDialogOverlay.ts +2 -3
- package/src/components/alert-dialog/AlertDialogPanel.ts +2 -3
- package/src/components/alert-dialog/AlertDialogTitle.ts +4 -7
- package/src/components/button/index.ts +2 -3
- package/src/components/checkbox/Checkbox.ts +5 -11
- package/src/components/checkbox/CheckboxDescription.ts +2 -3
- package/src/components/checkbox/CheckboxIndicator.ts +2 -3
- package/src/components/checkbox/CheckboxLabel.ts +2 -3
- package/src/components/combobox/Combobox.ts +17 -21
- package/src/components/combobox/ComboboxContext.ts +7 -2
- package/src/components/combobox/ComboboxInput.ts +5 -6
- package/src/components/combobox/ComboboxLabel.ts +2 -3
- package/src/components/combobox/ComboboxOption.ts +4 -4
- package/src/components/combobox/ComboboxOptions.ts +2 -3
- package/src/components/command/Command.ts +11 -17
- package/src/components/command/CommandContext.ts +5 -2
- package/src/components/command/CommandInput.ts +8 -8
- package/src/components/command/CommandLabel.ts +2 -3
- package/src/components/command/CommandOption.ts +10 -5
- package/src/components/command/CommandOptions.ts +2 -3
- package/src/components/command-bar/CommandBar.ts +7 -5
- package/src/components/command-bar/CommandBarDescription.ts +2 -3
- package/src/components/command-bar/CommandBarOverlay.ts +2 -3
- package/src/components/command-bar/CommandBarPanel.ts +2 -3
- package/src/components/command-bar/CommandBarTitle.ts +2 -3
- package/src/components/context-menu/ContextMenu.ts +13 -6
- package/src/components/context-menu/ContextMenuBoundary.ts +2 -3
- package/src/components/context-menu/ContextMenuOverlay.ts +2 -3
- package/src/components/context-menu/ContextMenuPanel.ts +2 -3
- package/src/components/dialog/Dialog.ts +13 -6
- package/src/components/dialog/DialogDescription.ts +2 -3
- package/src/components/dialog/DialogOverlay.ts +2 -3
- package/src/components/dialog/DialogPanel.ts +2 -3
- package/src/components/dialog/DialogTitle.ts +2 -3
- package/src/components/disclosure/Disclosure.ts +7 -6
- package/src/components/disclosure/DisclosureButton.ts +2 -3
- package/src/components/disclosure/DisclosurePanel.ts +2 -3
- package/src/components/feed/Feed.ts +4 -5
- package/src/components/feed/FeedArticle.ts +3 -4
- package/src/components/feed/FeedArticleDescription.ts +2 -3
- package/src/components/feed/FeedArticleLabel.ts +2 -3
- package/src/components/feed/FeedContent.ts +3 -4
- package/src/components/feed/FeedContext.ts +2 -2
- package/src/components/feed/FeedLabel.ts +2 -3
- package/src/components/listbox/Listbox.ts +17 -15
- package/src/components/listbox/ListboxButton.ts +2 -3
- package/src/components/listbox/ListboxContext.ts +6 -3
- package/src/components/listbox/ListboxLabel.ts +2 -3
- package/src/components/listbox/ListboxOptions.ts +7 -8
- package/src/components/menu/Menu.ts +2 -3
- package/src/components/menu/MenuItem.ts +2 -3
- package/src/components/popover/Popover.ts +13 -6
- package/src/components/popover/PopoverButton.ts +2 -3
- package/src/components/popover/PopoverOverlay.ts +2 -3
- package/src/components/popover/PopoverPanel.ts +2 -3
- package/src/components/radio-group/RadioGroup.ts +13 -6
- package/src/components/radio-group/RadioGroupDescription.ts +2 -3
- package/src/components/radio-group/RadioGroupLabel.ts +2 -3
- package/src/components/radio-group/RadioGroupOption.ts +8 -3
- package/src/components/select/Select.ts +14 -12
- package/src/components/select/SelectContext.ts +2 -7
- package/src/components/select/SelectOption.ts +3 -4
- package/src/components/tabs/Tab.ts +5 -9
- package/src/components/tabs/TabGroup.ts +14 -7
- package/src/components/tabs/TabGroupContext.ts +1 -1
- package/src/components/tabs/TabList.ts +7 -8
- package/src/components/tabs/TabPanel.ts +2 -3
- package/src/components/toast/index.ts +3 -3
- package/src/components/toggle/index.ts +8 -17
- package/src/components/toolbar/index.ts +2 -3
- package/src/components/transition/index.ts +6 -10
- 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;;;
|
|
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"}
|
package/dist/alert-dialog.js
CHANGED
|
@@ -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) ?
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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() {
|
package/dist/alert-dialog.js.map
CHANGED
|
@@ -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":"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"}
|
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),
|
|
28
|
+
}, createDisabledState(() => props.disabled), createARIADisabledState(() => props.disabled), omit(props, "as", "ref"), { ref: setInternalRef }));
|
|
30
29
|
}
|
|
31
30
|
//#endregion
|
|
32
31
|
export { Button };
|
package/dist/button.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/checkbox.d.ts.map
CHANGED
|
@@ -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":";;;;;
|
|
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) ?
|
|
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(
|
|
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(
|
|
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(
|
|
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() {
|
package/dist/checkbox.js.map
CHANGED
|
@@ -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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"}
|
package/dist/combobox.d.ts.map
CHANGED
|
@@ -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
|
|
52
|
-
|
|
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
|
|
83
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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()),
|
|
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()),
|
|
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.
|
|
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.
|
|
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()),
|
|
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()),
|
|
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
|
} });
|