@accelint/design-system 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/aria/index.d.ts +32 -3
- package/dist/components/aria/index.js +36 -1
- package/dist/components/aria/index.js.map +1 -1
- package/dist/components/button/index.d.ts +45 -6
- package/dist/components/button/index.js +105 -3
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +28 -7
- package/dist/components/checkbox/index.js +124 -3
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/chip/index.d.ts +36 -6
- package/dist/components/chip/index.js +171 -3
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/collection/index.d.ts +16 -5
- package/dist/components/collection/index.js +19 -1
- package/dist/components/collection/index.js.map +1 -1
- package/dist/components/combo-box/index.d.ts +13 -5
- package/dist/components/combo-box/index.js +116 -3
- package/dist/components/combo-box/index.js.map +1 -1
- package/dist/components/date-field/index.d.ts +13 -5
- package/dist/components/date-field/index.js +106 -2
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-input/index.d.ts +19 -7
- package/dist/components/date-input/index.js +134 -2
- package/dist/components/date-input/index.js.map +1 -1
- package/dist/components/dialog/index.d.ts +24 -6
- package/dist/components/dialog/index.js +187 -3
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/drawer/index.d.ts +19 -7
- package/dist/components/drawer/index.js +306 -3
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/element/index.d.ts +15 -4
- package/dist/components/element/index.js +21 -2
- package/dist/components/element/index.js.map +1 -1
- package/dist/components/group/index.d.ts +15 -5
- package/dist/components/group/index.js +60 -3
- package/dist/components/group/index.js.map +1 -1
- package/dist/components/icon/index.d.ts +17 -5
- package/dist/components/icon/index.js +39 -3
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/index.d.ts +35 -35
- package/dist/components/index.js +58 -28
- package/dist/components/input/index.d.ts +12 -5
- package/dist/components/input/index.js +141 -3
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/menu/index.d.ts +29 -5
- package/dist/components/menu/index.js +253 -3
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/merge-provider/index.d.ts +18 -3
- package/dist/components/merge-provider/index.js +43 -2
- package/dist/components/merge-provider/index.js.map +1 -1
- package/dist/components/number-field/index.d.ts +14 -6
- package/dist/components/number-field/index.js +127 -2
- package/dist/components/number-field/index.js.map +1 -1
- package/dist/components/number-field/number-field.css.d.ts +1 -1
- package/dist/components/number-field/types.d.ts +1 -1
- package/dist/components/options/index.d.ts +25 -5
- package/dist/components/options/index.js +254 -3
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/picker/index.d.ts +23 -5
- package/dist/components/picker/index.js +113 -3
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/popover/index.d.ts +14 -6
- package/dist/components/popover/index.js +140 -3
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/query-builder/group.js +1 -1
- package/dist/components/query-builder/group.js.map +1 -1
- package/dist/components/query-builder/index.d.ts +7 -7
- package/dist/components/query-builder/index.js +198 -5
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/query-builder/rule.js +1 -1
- package/dist/components/query-builder/rule.js.map +1 -1
- package/dist/components/query-builder/value-editor.js.map +1 -1
- package/dist/components/query-builder/value-selector.js +1 -1
- package/dist/components/query-builder/value-selector.js.map +1 -1
- package/dist/components/radio/index.d.ts +22 -6
- package/dist/components/radio/index.js +114 -3
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/search-field/index.d.ts +15 -6
- package/dist/components/search-field/index.js +92 -3
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/select/index.d.ts +13 -5
- package/dist/components/select/index.js +109 -3
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/slider/index.d.ts +41 -7
- package/dist/components/slider/index.js +232 -3
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/slider.css.d.ts +1 -1
- package/dist/components/slider/types.d.ts +1 -1
- package/dist/components/switch/index.d.ts +9 -5
- package/dist/components/switch/index.js +60 -3
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/tabs/index.d.ts +74 -7
- package/dist/components/tabs/index.js +259 -3
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/text-field/index.d.ts +61 -6
- package/dist/components/text-field/index.js +93 -2
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/textarea/index.d.ts +18 -5
- package/dist/components/textarea/index.js +134 -3
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/time-field/index.d.ts +14 -6
- package/dist/components/time-field/index.js +103 -2
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +29 -6
- package/dist/components/tooltip/index.js +112 -3
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tree/index.d.ts +17 -5
- package/dist/components/tree/index.js +491 -3
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/utils.js.map +1 -1
- package/dist/hooks/index.d.ts +12 -12
- package/dist/hooks/use-collection-render/index.d.ts +11 -3
- package/dist/hooks/use-collection-render/index.js +25 -1
- package/dist/hooks/use-collection-render/index.js.map +1 -1
- package/dist/hooks/use-context-props/index.d.ts +10 -3
- package/dist/hooks/use-context-props/index.js +15 -1
- package/dist/hooks/use-context-props/index.js.map +1 -1
- package/dist/hooks/use-defaults/index.d.ts +99 -31
- package/dist/hooks/use-defaults/index.js +33 -2
- package/dist/hooks/use-defaults/index.js.map +1 -1
- package/dist/hooks/use-defaults/types.d.ts +6 -6
- package/dist/hooks/use-propagating-press/index.d.ts +13 -2
- package/dist/hooks/use-propagating-press/index.js +19 -1
- package/dist/hooks/use-propagating-press/index.js.map +1 -1
- package/dist/hooks/use-slot/index.d.ts +16 -2
- package/dist/hooks/use-slot/index.js +18 -1
- package/dist/hooks/use-slot/index.js.map +1 -1
- package/dist/hooks/use-theme/index.d.ts +37 -8
- package/dist/hooks/use-theme/index.js +105 -2
- package/dist/hooks/use-theme/index.js.map +1 -1
- package/dist/hooks/use-theme/types.d.ts +2 -2
- package/dist/hooks/use-tree/index.d.ts +5 -2
- package/dist/hooks/use-tree/index.js +259 -1
- package/dist/hooks/use-tree/index.js.map +1 -1
- package/dist/hooks/use-tree/utils.js.map +1 -1
- package/dist/hooks/use-update-effect/index.d.ts +3 -1
- package/dist/hooks/use-update-effect/index.js +20 -1
- package/dist/hooks/use-update-effect/index.js.map +1 -1
- package/dist/index.css +119 -119
- package/dist/index.d.ts +47 -47
- package/dist/ladle/actions.js.map +1 -1
- package/dist/styles/layers.css.d.ts +3 -3
- package/dist/styles/surfaces.css.d.ts +1 -1
- package/dist/test/setup.js +78 -8
- package/dist/test/setup.js.map +1 -1
- package/dist/utils/{css.d.ts → css/index.d.ts} +2 -2
- package/dist/utils/{css.js → css/index.js} +5 -5
- package/dist/utils/css/index.js.map +1 -0
- package/dist/utils/events/index.js +10 -0
- package/dist/utils/events/index.js.map +1 -0
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -4
- package/dist/utils/{props.d.ts → props/index.d.ts} +2 -2
- package/dist/utils/{props.js → props/index.js} +3 -3
- package/dist/utils/props/index.js.map +1 -0
- package/dist/utils/{validators.d.ts → validators/index.d.ts} +1 -1
- package/dist/utils/{validators.js → validators/index.js} +3 -3
- package/dist/utils/validators/index.js.map +1 -0
- package/dist/vanilla.d.ts +1 -1
- package/dist/vanilla.js +1 -1
- package/package.json +7 -8
- package/dist/components/aria/aria.d.ts +0 -32
- package/dist/components/aria/aria.js +0 -39
- package/dist/components/aria/aria.js.map +0 -1
- package/dist/components/button/button.d.ts +0 -47
- package/dist/components/button/button.js +0 -104
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts +0 -30
- package/dist/components/checkbox/checkbox.js +0 -123
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/chip/chip.d.ts +0 -41
- package/dist/components/chip/chip.js +0 -171
- package/dist/components/chip/chip.js.map +0 -1
- package/dist/components/collection/collection.d.ts +0 -17
- package/dist/components/collection/collection.js +0 -22
- package/dist/components/collection/collection.js.map +0 -1
- package/dist/components/combo-box/combo-box.d.ts +0 -21
- package/dist/components/combo-box/combo-box.js +0 -116
- package/dist/components/combo-box/combo-box.js.map +0 -1
- package/dist/components/date-field/date-field.d.ts +0 -20
- package/dist/components/date-field/date-field.js +0 -106
- package/dist/components/date-field/date-field.js.map +0 -1
- package/dist/components/date-input/date-input.d.ts +0 -42
- package/dist/components/date-input/date-input.js +0 -128
- package/dist/components/date-input/date-input.js.map +0 -1
- package/dist/components/dialog/dialog.d.ts +0 -29
- package/dist/components/dialog/dialog.js +0 -186
- package/dist/components/dialog/dialog.js.map +0 -1
- package/dist/components/drawer/drawer.d.ts +0 -28
- package/dist/components/drawer/drawer.js +0 -305
- package/dist/components/drawer/drawer.js.map +0 -1
- package/dist/components/element/element.d.ts +0 -16
- package/dist/components/element/element.js +0 -24
- package/dist/components/element/element.js.map +0 -1
- package/dist/components/group/group.d.ts +0 -16
- package/dist/components/group/group.js +0 -61
- package/dist/components/group/group.js.map +0 -1
- package/dist/components/icon/icon.d.ts +0 -17
- package/dist/components/icon/icon.js +0 -39
- package/dist/components/icon/icon.js.map +0 -1
- package/dist/components/input/input.d.ts +0 -13
- package/dist/components/input/input.js +0 -141
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/menu/menu.d.ts +0 -32
- package/dist/components/menu/menu.js +0 -252
- package/dist/components/menu/menu.js.map +0 -1
- package/dist/components/merge-provider/merge-provider.d.ts +0 -20
- package/dist/components/merge-provider/merge-provider.js +0 -46
- package/dist/components/merge-provider/merge-provider.js.map +0 -1
- package/dist/components/number-field/number-field.d.ts +0 -20
- package/dist/components/number-field/number-field.js +0 -125
- package/dist/components/number-field/number-field.js.map +0 -1
- package/dist/components/options/options.d.ts +0 -28
- package/dist/components/options/options.js +0 -253
- package/dist/components/options/options.js.map +0 -1
- package/dist/components/picker/picker.d.ts +0 -24
- package/dist/components/picker/picker.js +0 -113
- package/dist/components/picker/picker.js.map +0 -1
- package/dist/components/popover/popover.d.ts +0 -22
- package/dist/components/popover/popover.js +0 -139
- package/dist/components/popover/popover.js.map +0 -1
- package/dist/components/query-builder/query-builder.d.ts +0 -23
- package/dist/components/query-builder/query-builder.js +0 -200
- package/dist/components/query-builder/query-builder.js.map +0 -1
- package/dist/components/radio/radio.d.ts +0 -23
- package/dist/components/radio/radio.js +0 -114
- package/dist/components/radio/radio.js.map +0 -1
- package/dist/components/search-field/search-field.d.ts +0 -21
- package/dist/components/search-field/search-field.js +0 -92
- package/dist/components/search-field/search-field.js.map +0 -1
- package/dist/components/select/select.d.ts +0 -20
- package/dist/components/select/select.js +0 -109
- package/dist/components/select/select.js.map +0 -1
- package/dist/components/slider/slider.d.ts +0 -49
- package/dist/components/slider/slider.js +0 -230
- package/dist/components/slider/slider.js.map +0 -1
- package/dist/components/switch/switch.d.ts +0 -10
- package/dist/components/switch/switch.js +0 -60
- package/dist/components/switch/switch.js.map +0 -1
- package/dist/components/tabs/tabs.d.ts +0 -75
- package/dist/components/tabs/tabs.js +0 -258
- package/dist/components/tabs/tabs.js.map +0 -1
- package/dist/components/text-field/text-field.d.ts +0 -64
- package/dist/components/text-field/text-field.js +0 -92
- package/dist/components/text-field/text-field.js.map +0 -1
- package/dist/components/textarea/textarea.d.ts +0 -19
- package/dist/components/textarea/textarea.js +0 -134
- package/dist/components/textarea/textarea.js.map +0 -1
- package/dist/components/time-field/time-field.d.ts +0 -21
- package/dist/components/time-field/time-field.js +0 -106
- package/dist/components/time-field/time-field.js.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts +0 -30
- package/dist/components/tooltip/tooltip.js +0 -112
- package/dist/components/tooltip/tooltip.js.map +0 -1
- package/dist/components/tree/tree.d.ts +0 -29
- package/dist/components/tree/tree.js +0 -491
- package/dist/components/tree/tree.js.map +0 -1
- package/dist/hooks/use-collection-render/use-collection-render.d.ts +0 -11
- package/dist/hooks/use-collection-render/use-collection-render.js +0 -28
- package/dist/hooks/use-collection-render/use-collection-render.js.map +0 -1
- package/dist/hooks/use-context-props/use-context-props.d.ts +0 -10
- package/dist/hooks/use-context-props/use-context-props.js +0 -18
- package/dist/hooks/use-context-props/use-context-props.js.map +0 -1
- package/dist/hooks/use-defaults/use-defaults.d.ts +0 -110
- package/dist/hooks/use-defaults/use-defaults.js +0 -36
- package/dist/hooks/use-defaults/use-defaults.js.map +0 -1
- package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +0 -13
- package/dist/hooks/use-propagating-press/use-propagating-press.js +0 -21
- package/dist/hooks/use-propagating-press/use-propagating-press.js.map +0 -1
- package/dist/hooks/use-slot/use-slot.d.ts +0 -16
- package/dist/hooks/use-slot/use-slot.js +0 -21
- package/dist/hooks/use-slot/use-slot.js.map +0 -1
- package/dist/hooks/use-theme/use-theme.d.ts +0 -77
- package/dist/hooks/use-theme/use-theme.js +0 -108
- package/dist/hooks/use-theme/use-theme.js.map +0 -1
- package/dist/hooks/use-tree/use-tree.d.ts +0 -7
- package/dist/hooks/use-tree/use-tree.js +0 -262
- package/dist/hooks/use-tree/use-tree.js.map +0 -1
- package/dist/hooks/use-update-effect/use-update-effect.d.ts +0 -3
- package/dist/hooks/use-update-effect/use-update-effect.js +0 -23
- package/dist/hooks/use-update-effect/use-update-effect.js.map +0 -1
- package/dist/utils/css.js.map +0 -1
- package/dist/utils/events.js +0 -10
- package/dist/utils/events.js.map +0 -1
- package/dist/utils/props.js.map +0 -1
- package/dist/utils/validators.js.map +0 -1
- /package/dist/utils/{events.d.ts → events/index.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
2
|
import { useContext, useCallback, useMemo } from 'react';
|
|
3
3
|
import { useValueSelector, isOptionGroupArray } from 'react-querybuilder';
|
|
4
|
-
import { callRenderProps } from '../../utils/index.js';
|
|
4
|
+
import { callRenderProps } from '../../utils/props/index.js';
|
|
5
5
|
import { AriaSection, AriaHeader, AriaSelectValue } from '../aria/index.js';
|
|
6
6
|
import { Button } from '../button/index.js';
|
|
7
7
|
import { OptionsItem, OptionsList, Options } from '../options/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":[],"mappings":"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","file":"value-selector.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport { useCallback, useContext, useMemo } from 'react';\nimport type { Selection } from 'react-aria-components';\nimport {\n type FullOption,\n type ValueSelectorProps,\n isOptionGroupArray,\n useValueSelector,\n} from 'react-querybuilder';\nimport { callRenderProps } from '../../utils';\nimport { AriaHeader, AriaSection, AriaSelectValue } from '../aria';\nimport { Button } from '../button';\nimport { Options, OptionsItem, OptionsList } from '../options';\nimport { Select } from '../select';\nimport { QueryBuilderContext } from './constants';\n\nexport function ValueSelector<T extends FullOption = FullOption>({\n handleOnChange,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n}: ValueSelectorProps<T>) {\n const { icons, size } = useContext(QueryBuilderContext);\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key) => onChange(`${selection}`),\n [onChange],\n );\n\n const handleMultiSelectChange = useCallback(\n (keys: Selection) => onChange([...keys].join(', ')),\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <AriaSection key={section.label}>\n <AriaHeader>{section.label}</AriaHeader>\n {section.options.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n ))}\n </AriaSection>\n ))\n : optionsProp.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n )),\n [optionsProp],\n );\n\n return multiple ? (\n <OptionsList // TODO: Replace with ChipField when it exists\n {...rest}\n selectedKeys={val}\n selectionMode='multiple'\n size={size}\n onSelectionChange={handleMultiSelectChange}\n aria-label={title}\n >\n {options}\n </OptionsList>\n ) : (\n <Select\n {...rest}\n selectedKey={Array.isArray(val) ? val[0] : val}\n size={size}\n isInvalid={title === 'Value' && !validation}\n onSelectionChange={handleSelectionChange}\n aria-label={title}\n >\n {(renderProps) => (\n <>\n <Button>\n <AriaSelectValue>\n {({ selectedText }) => selectedText}\n </AriaSelectValue>\n {callRenderProps(icons?.select, renderProps)}\n </Button>\n <Options>\n <OptionsList>{options}</OptionsList>\n </Options>\n </>\n )}\n </Select>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":[],"mappings":"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","file":"value-selector.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport { useCallback, useContext, useMemo } from 'react';\nimport type { Selection } from 'react-aria-components';\nimport {\n type FullOption,\n type ValueSelectorProps,\n isOptionGroupArray,\n useValueSelector,\n} from 'react-querybuilder';\nimport { callRenderProps } from '../../utils/props';\nimport { AriaHeader, AriaSection, AriaSelectValue } from '../aria';\nimport { Button } from '../button';\nimport { Options, OptionsItem, OptionsList } from '../options';\nimport { Select } from '../select';\nimport { QueryBuilderContext } from './constants';\n\nexport function ValueSelector<T extends FullOption = FullOption>({\n handleOnChange,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n}: ValueSelectorProps<T>) {\n const { icons, size } = useContext(QueryBuilderContext);\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key) => onChange(`${selection}`),\n [onChange],\n );\n\n const handleMultiSelectChange = useCallback(\n (keys: Selection) => onChange([...keys].join(', ')),\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <AriaSection key={section.label}>\n <AriaHeader>{section.label}</AriaHeader>\n {section.options.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n ))}\n </AriaSection>\n ))\n : optionsProp.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n )),\n [optionsProp],\n );\n\n return multiple ? (\n <OptionsList // TODO: Replace with ChipField when it exists\n {...rest}\n selectedKeys={val}\n selectionMode='multiple'\n size={size}\n onSelectionChange={handleMultiSelectChange}\n aria-label={title}\n >\n {options}\n </OptionsList>\n ) : (\n <Select\n {...rest}\n selectedKey={Array.isArray(val) ? val[0] : val}\n size={size}\n isInvalid={title === 'Value' && !validation}\n onSelectionChange={handleSelectionChange}\n aria-label={title}\n >\n {(renderProps) => (\n <>\n <Button>\n <AriaSelectValue>\n {({ selectedText }) => selectedText}\n </AriaSelectValue>\n {callRenderProps(icons?.select, renderProps)}\n </Button>\n <Options>\n <OptionsList>{options}</OptionsList>\n </Options>\n </>\n )}\n </Select>\n );\n}\n"]}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import 'react';
|
|
5
|
-
import 'react-aria
|
|
6
|
-
import '../../types/react-aria.js';
|
|
1
|
+
import { RadioRenderProps, RadioClassNames, RadioAlignment, RadioContextProps, RadioGroupProps } from './types.js';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import * as react_aria_components from 'react-aria-components';
|
|
4
|
+
import { ContextValue } from 'react-aria-components';
|
|
5
|
+
import { RenderPropsChildren } from '../../types/react-aria.js';
|
|
7
6
|
import 'type-fest';
|
|
7
|
+
|
|
8
|
+
declare const RadioContext: react.Context<ContextValue<RadioContextProps, HTMLLabelElement>>;
|
|
9
|
+
declare const Radio: (props: Omit<react_aria_components.RadioProps, "children" | "className" | "style"> & {
|
|
10
|
+
children?: RenderPropsChildren<RadioRenderProps>;
|
|
11
|
+
label?: string;
|
|
12
|
+
classNames?: RadioClassNames;
|
|
13
|
+
alignInput?: RadioAlignment;
|
|
14
|
+
} & react.RefAttributes<HTMLLabelElement>) => react.ReactElement | null;
|
|
15
|
+
declare const RadioGroupContext: react.Context<ContextValue<RadioGroupProps, HTMLDivElement>>;
|
|
16
|
+
declare const RadioGroup: (props: Omit<react_aria_components.RadioGroupProps, "className" | "style"> & Pick<{
|
|
17
|
+
children?: RenderPropsChildren<RadioRenderProps>;
|
|
18
|
+
label?: string;
|
|
19
|
+
classNames?: RadioClassNames;
|
|
20
|
+
alignInput?: RadioAlignment;
|
|
21
|
+
}, "classNames" | "alignInput" | "label"> & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
22
|
+
|
|
23
|
+
export { Radio, RadioContext, RadioGroup, RadioGroupContext };
|
|
@@ -1,6 +1,117 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import '
|
|
2
|
+
import { createContext, forwardRef, useMemo, useCallback } from 'react';
|
|
3
|
+
import { Radio as Radio$1, Provider, RadioGroup as RadioGroup$1 } from 'react-aria-components';
|
|
4
|
+
import { useContextProps } from '../../hooks/use-context-props/index.js';
|
|
5
|
+
import { useDefaultProps } from '../../hooks/use-defaults/index.js';
|
|
6
|
+
import { useTheme } from '../../hooks/use-theme/index.js';
|
|
7
|
+
import { inlineVars } from '../../utils/css/index.js';
|
|
8
|
+
import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
|
|
9
|
+
import { AriaLabelContext } from '../aria/index.js';
|
|
10
|
+
import { radioClassNames, radioStateVars, radioGroupStateVars } from './radio.css.js';
|
|
11
|
+
import { jsx } from 'react/jsx-runtime';
|
|
12
|
+
|
|
13
|
+
var RadioContext = createContext(null);
|
|
14
|
+
var Radio = forwardRef(function Radio2(props, ref) {
|
|
15
|
+
[props, ref] = useContextProps(props, ref, RadioContext);
|
|
16
|
+
props = useDefaultProps(props, "Radio");
|
|
17
|
+
const {
|
|
18
|
+
children: childrenProp,
|
|
19
|
+
classNames: classNamesProp,
|
|
20
|
+
alignInput = "end",
|
|
21
|
+
...rest
|
|
22
|
+
} = props;
|
|
23
|
+
const theme = useTheme();
|
|
24
|
+
const classNames = useMemo(
|
|
25
|
+
() => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),
|
|
26
|
+
[classNamesProp, theme.Radio]
|
|
27
|
+
);
|
|
28
|
+
const style = useCallback(
|
|
29
|
+
(renderProps) => inlineVars(radioStateVars, {
|
|
30
|
+
...renderProps,
|
|
31
|
+
alignInput
|
|
32
|
+
}),
|
|
33
|
+
[alignInput]
|
|
34
|
+
);
|
|
35
|
+
const children = useCallback(
|
|
36
|
+
(renderProps) => /* @__PURE__ */ jsx("span", { className: classNames?.radio?.radio, children: callRenderProps(childrenProp, {
|
|
37
|
+
...renderProps,
|
|
38
|
+
defaultChildren: null
|
|
39
|
+
}) }),
|
|
40
|
+
[childrenProp, classNames?.radio]
|
|
41
|
+
);
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
Radio$1,
|
|
44
|
+
{
|
|
45
|
+
...rest,
|
|
46
|
+
ref,
|
|
47
|
+
style,
|
|
48
|
+
className: classNames?.radio?.container,
|
|
49
|
+
children
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
var RadioGroupContext = createContext(null);
|
|
54
|
+
var RadioGroup = forwardRef(function RadioGroup2(props, ref) {
|
|
55
|
+
[props, ref] = useContextProps(props, ref, RadioGroupContext);
|
|
56
|
+
props = useDefaultProps(props, "RadioGroup");
|
|
57
|
+
const theme = useTheme();
|
|
58
|
+
const {
|
|
59
|
+
children: childrenProp,
|
|
60
|
+
classNames: classNamesProp,
|
|
61
|
+
alignInput = "end",
|
|
62
|
+
orientation = "vertical",
|
|
63
|
+
...rest
|
|
64
|
+
} = props;
|
|
65
|
+
const classNames = useMemo(
|
|
66
|
+
() => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),
|
|
67
|
+
[classNamesProp, theme.Radio]
|
|
68
|
+
);
|
|
69
|
+
const style = useCallback(
|
|
70
|
+
(renderProps) => inlineVars(radioGroupStateVars, {
|
|
71
|
+
...renderProps,
|
|
72
|
+
alignInput,
|
|
73
|
+
orientation
|
|
74
|
+
}),
|
|
75
|
+
[alignInput, orientation]
|
|
76
|
+
);
|
|
77
|
+
const values = useMemo(
|
|
78
|
+
() => [
|
|
79
|
+
[
|
|
80
|
+
RadioContext,
|
|
81
|
+
{
|
|
82
|
+
classNames,
|
|
83
|
+
alignInput
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
AriaLabelContext,
|
|
88
|
+
{
|
|
89
|
+
className: classNames?.label
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
],
|
|
93
|
+
[alignInput, classNames]
|
|
94
|
+
);
|
|
95
|
+
const children = useCallback(
|
|
96
|
+
(renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.group?.group, children: callRenderProps(childrenProp, {
|
|
97
|
+
...renderProps,
|
|
98
|
+
defaultChildren: null
|
|
99
|
+
}) }) }),
|
|
100
|
+
[childrenProp, classNames?.group, values]
|
|
101
|
+
);
|
|
102
|
+
return /* @__PURE__ */ jsx(
|
|
103
|
+
RadioGroup$1,
|
|
104
|
+
{
|
|
105
|
+
...rest,
|
|
106
|
+
ref,
|
|
107
|
+
className: classNames?.group?.container,
|
|
108
|
+
style,
|
|
109
|
+
orientation,
|
|
110
|
+
children
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
export { Radio, RadioContext, RadioGroup, RadioGroupContext };
|
|
5
116
|
//# sourceMappingURL=index.js.map
|
|
6
117
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/radio/index.tsx"],"names":["Radio","RACRadio","RadioGroup","RACRadioGroup"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type LabelProps,\n Provider,\n Radio as RACRadio,\n RadioGroup as RACRadioGroup,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaLabelContext } from '../aria';\nimport {\n radioClassNames,\n radioGroupStateVars,\n radioStateVars,\n} from './radio.css';\nimport type {\n RadioContextProps,\n RadioGroupProps,\n RadioGroupRenderProps,\n RadioProps,\n RadioRenderProps,\n} from './types';\n\nexport const RadioContext =\n createContext<ContextValue<RadioContextProps, HTMLLabelElement>>(null);\n\nexport const Radio = forwardRef(function Radio(\n props: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n [props, ref] = useContextProps(props, ref, RadioContext);\n props = useDefaultProps(props, 'Radio');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput = 'end',\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),\n [classNamesProp, theme.Radio],\n );\n\n const style = useCallback(\n (renderProps: RadioRenderProps) =>\n inlineVars(radioStateVars, {\n ...renderProps,\n alignInput,\n }),\n [alignInput],\n );\n\n const children = useCallback(\n (renderProps: RadioRenderProps) => (\n <span className={classNames?.radio?.radio}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </span>\n ),\n [childrenProp, classNames?.radio],\n );\n\n return (\n <RACRadio\n {...rest}\n ref={ref}\n style={style}\n className={classNames?.radio?.container}\n >\n {children}\n </RACRadio>\n );\n});\n\nexport const RadioGroupContext =\n createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\n\nexport const RadioGroup = forwardRef(function RadioGroup(\n props: RadioGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, RadioGroupContext);\n\n props = useDefaultProps(props, 'RadioGroup');\n\n const theme = useTheme();\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput = 'end',\n orientation = 'vertical',\n ...rest\n } = props;\n\n const classNames = useMemo(\n () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),\n [classNamesProp, theme.Radio],\n );\n\n const style = useCallback(\n (renderProps: RadioGroupRenderProps) =>\n inlineVars(radioGroupStateVars, {\n ...renderProps,\n alignInput,\n orientation,\n }),\n [alignInput, orientation],\n );\n\n const values = useMemo<\n [\n [typeof RadioContext, ContextValue<RadioContextProps, HTMLLabelElement>],\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n ]\n >(\n () => [\n [\n RadioContext,\n {\n classNames,\n alignInput,\n },\n ],\n [\n AriaLabelContext,\n {\n className: classNames?.label,\n },\n ],\n ],\n [alignInput, classNames],\n );\n\n const children = useCallback(\n (renderProps: RadioGroupRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.group?.group}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.group, values],\n );\n\n return (\n <RACRadioGroup\n {...rest}\n ref={ref}\n className={classNames?.group?.container}\n style={style}\n orientation={orientation}\n >\n {children}\n </RACRadioGroup>\n );\n});\n"]}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import '
|
|
5
|
-
import 'react
|
|
1
|
+
import { InputSize } from '../input/types.js';
|
|
2
|
+
import { SearchFieldClassNames, SearchFieldMapping, SearchFieldVariants, SearchFieldProps } from './types.js';
|
|
3
|
+
import * as react_aria_components from 'react-aria-components';
|
|
4
|
+
import { ContextValue } from 'react-aria-components';
|
|
5
|
+
import * as react from 'react';
|
|
6
6
|
import '../../types/generic.js';
|
|
7
|
-
import 'react';
|
|
8
7
|
import 'type-fest';
|
|
9
8
|
import '../../types/props.js';
|
|
10
9
|
import '../button/types.js';
|
|
11
10
|
import '../../types/react-aria.js';
|
|
12
11
|
import '../icon/types.js';
|
|
12
|
+
|
|
13
|
+
declare const SearchFieldContext: react.Context<ContextValue<SearchFieldProps, HTMLDivElement>>;
|
|
14
|
+
declare const SearchField: (props: Omit<react_aria_components.SearchFieldProps, "className" | "style" | "type"> & {
|
|
15
|
+
classNames?: SearchFieldClassNames;
|
|
16
|
+
mapping?: Partial<SearchFieldMapping>;
|
|
17
|
+
size?: InputSize;
|
|
18
|
+
variant?: SearchFieldVariants;
|
|
19
|
+
} & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
20
|
+
|
|
21
|
+
export { SearchField, SearchFieldContext };
|
|
@@ -1,6 +1,95 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import '
|
|
2
|
+
import { createContext, forwardRef, useMemo, useCallback } from 'react';
|
|
3
|
+
import { Provider, SearchField as SearchField$1 } from 'react-aria-components';
|
|
4
|
+
import { useContextProps } from '../../hooks/use-context-props/index.js';
|
|
5
|
+
import { useDefaultProps } from '../../hooks/use-defaults/index.js';
|
|
6
|
+
import { useTheme } from '../../hooks/use-theme/index.js';
|
|
7
|
+
import { inlineVars } from '../../utils/css/index.js';
|
|
8
|
+
import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
|
|
9
|
+
import { AriaGroupContext } from '../aria/index.js';
|
|
10
|
+
import { ButtonContext } from '../button/index.js';
|
|
11
|
+
import { IconContext } from '../icon/index.js';
|
|
12
|
+
import { InputContext } from '../input/index.js';
|
|
13
|
+
import { searchFieldClassNames, searchFieldStateVars } from './search-field.css.js';
|
|
14
|
+
import { jsx } from 'react/jsx-runtime';
|
|
15
|
+
|
|
16
|
+
var defaultMapping = {
|
|
17
|
+
icon: {
|
|
18
|
+
sm: { size: "xs" },
|
|
19
|
+
lg: { size: "sm" }
|
|
20
|
+
},
|
|
21
|
+
clear: {
|
|
22
|
+
sm: { size: "xs", variant: "icon" },
|
|
23
|
+
lg: { size: "sm", variant: "icon" }
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var SearchFieldContext = createContext(null);
|
|
27
|
+
var SearchField = forwardRef(function SearchField2(props, ref) {
|
|
28
|
+
[props, ref] = useContextProps(props, ref, SearchFieldContext);
|
|
29
|
+
props = useDefaultProps(props, "SearchField");
|
|
30
|
+
const {
|
|
31
|
+
children: childrenProp,
|
|
32
|
+
classNames: classNamesProp,
|
|
33
|
+
mapping: mappingProp,
|
|
34
|
+
size = "lg",
|
|
35
|
+
variant = "solid",
|
|
36
|
+
isDisabled,
|
|
37
|
+
isReadOnly
|
|
38
|
+
} = props;
|
|
39
|
+
const theme = useTheme();
|
|
40
|
+
const mapping = useMemo(
|
|
41
|
+
() => ({
|
|
42
|
+
...defaultMapping,
|
|
43
|
+
...mappingProp
|
|
44
|
+
}),
|
|
45
|
+
[mappingProp]
|
|
46
|
+
);
|
|
47
|
+
const classNames = useMemo(
|
|
48
|
+
() => mergeClassNames(searchFieldClassNames, theme.SearchField, classNamesProp),
|
|
49
|
+
[theme.SearchField, classNamesProp]
|
|
50
|
+
);
|
|
51
|
+
const values = useMemo(
|
|
52
|
+
() => [
|
|
53
|
+
[AriaGroupContext, { className: classNames?.group }],
|
|
54
|
+
[IconContext, { ...mapping.icon[size], classNames: classNames?.icon }],
|
|
55
|
+
[InputContext, { classNames: classNames?.input, size }],
|
|
56
|
+
[
|
|
57
|
+
ButtonContext,
|
|
58
|
+
{
|
|
59
|
+
...mapping.clear[size],
|
|
60
|
+
classNames: classNames?.clear,
|
|
61
|
+
isDisabled: isDisabled ?? isReadOnly
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
],
|
|
65
|
+
[classNames, mapping, isDisabled, isReadOnly, size]
|
|
66
|
+
);
|
|
67
|
+
const style = useCallback(
|
|
68
|
+
({ state, ...renderProps }) => inlineVars(searchFieldStateVars, {
|
|
69
|
+
...renderProps,
|
|
70
|
+
variant
|
|
71
|
+
}),
|
|
72
|
+
[variant]
|
|
73
|
+
);
|
|
74
|
+
const children = useCallback(
|
|
75
|
+
(renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: callRenderProps(childrenProp, {
|
|
76
|
+
...renderProps,
|
|
77
|
+
defaultChildren: null
|
|
78
|
+
}) }),
|
|
79
|
+
[childrenProp, values]
|
|
80
|
+
);
|
|
81
|
+
return /* @__PURE__ */ jsx(
|
|
82
|
+
SearchField$1,
|
|
83
|
+
{
|
|
84
|
+
...props,
|
|
85
|
+
ref,
|
|
86
|
+
className: classNames?.container,
|
|
87
|
+
style,
|
|
88
|
+
children
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
export { SearchField, SearchFieldContext };
|
|
5
94
|
//# sourceMappingURL=index.js.map
|
|
6
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/search-field/index.tsx"],"names":["SearchField","RACSearchField"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Provider,\n type GroupProps as RACGroupProps,\n SearchField as RACSearchField,\n type SearchFieldRenderProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaGroupContext } from '../aria';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { IconContext } from '../icon';\nimport type { IconProps } from '../icon/types';\nimport { InputContext } from '../input';\nimport type { InputProps } from '../input/types';\nimport {\n searchFieldClassNames,\n searchFieldStateVars,\n} from './search-field.css';\nimport type { SearchFieldMapping, SearchFieldProps } from './types';\n\nconst defaultMapping: SearchFieldMapping = {\n icon: {\n sm: { size: 'xs' },\n lg: { size: 'sm' },\n },\n clear: {\n sm: { size: 'xs', variant: 'icon' },\n lg: { size: 'sm', variant: 'icon' },\n },\n};\n\nexport const SearchFieldContext =\n createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);\n\nexport const SearchField = forwardRef(function SearchField(\n props: SearchFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SearchFieldContext);\n props = useDefaultProps(props, 'SearchField');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n variant = 'solid',\n isDisabled,\n isReadOnly,\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(searchFieldClassNames, theme.SearchField, classNamesProp),\n [theme.SearchField, classNamesProp],\n );\n\n const values = useMemo<\n [\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof IconContext, ContextValue<IconProps, HTMLDivElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n ]\n >(\n () => [\n [AriaGroupContext, { className: classNames?.group }],\n [IconContext, { ...mapping.icon[size], classNames: classNames?.icon }],\n [InputContext, { classNames: classNames?.input, size }],\n [\n ButtonContext,\n {\n ...mapping.clear[size],\n classNames: classNames?.clear,\n isDisabled: isDisabled ?? isReadOnly,\n },\n ],\n ],\n [classNames, mapping, isDisabled, isReadOnly, size],\n );\n\n const style = useCallback(\n ({ state, ...renderProps }: SearchFieldRenderProps) =>\n inlineVars(searchFieldStateVars, {\n ...renderProps,\n variant,\n }),\n [variant],\n );\n\n const children = useCallback(\n (renderProps: SearchFieldRenderProps) => (\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n ),\n [childrenProp, values],\n );\n\n return (\n <RACSearchField\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSearchField>\n );\n});\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import 'react
|
|
5
|
-
import 'react';
|
|
1
|
+
import { SelectClassNames, SelectMapping, SelectSizes, SelectProps } from './types.js';
|
|
2
|
+
import * as react_aria_components from 'react-aria-components';
|
|
3
|
+
import { ContextValue } from 'react-aria-components';
|
|
4
|
+
import * as react from 'react';
|
|
6
5
|
import 'type-fest';
|
|
7
6
|
import '../../types/generic.js';
|
|
8
7
|
import '../../types/props.js';
|
|
@@ -10,3 +9,12 @@ import '../button/types.js';
|
|
|
10
9
|
import '../../types/react-aria.js';
|
|
11
10
|
import '../icon/types.js';
|
|
12
11
|
import '../options/types.js';
|
|
12
|
+
|
|
13
|
+
declare const SelectContext: react.Context<ContextValue<SelectProps<object>, HTMLDivElement>>;
|
|
14
|
+
declare const Select: <T extends object>(props: Omit<react_aria_components.SelectProps<T>, "className" | "style"> & {
|
|
15
|
+
classNames?: SelectClassNames;
|
|
16
|
+
mapping?: Partial<SelectMapping>;
|
|
17
|
+
size?: SelectSizes;
|
|
18
|
+
} & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
19
|
+
|
|
20
|
+
export { Select, SelectContext };
|
|
@@ -1,6 +1,112 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import '
|
|
2
|
+
import { createContext, forwardRef, useMemo, useCallback } from 'react';
|
|
3
|
+
import { Provider, Select as Select$1 } from 'react-aria-components';
|
|
4
|
+
import { useContextProps } from '../../hooks/use-context-props/index.js';
|
|
5
|
+
import { useDefaultProps } from '../../hooks/use-defaults/index.js';
|
|
6
|
+
import { useTheme } from '../../hooks/use-theme/index.js';
|
|
7
|
+
import { bodies } from '../../styles/typography.css.js';
|
|
8
|
+
import { inlineVars } from '../../utils/css/index.js';
|
|
9
|
+
import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
|
|
10
|
+
import { AriaLabelContext, AriaSelectValueContext, AriaTextContext, AriaFieldErrorContext } from '../aria/index.js';
|
|
11
|
+
import { ButtonContext } from '../button/index.js';
|
|
12
|
+
import { OptionsContext } from '../options/index.js';
|
|
13
|
+
import { selectClassNames, selectStateVars } from './select.css.js';
|
|
14
|
+
import { jsx } from 'react/jsx-runtime';
|
|
15
|
+
|
|
16
|
+
var defaultMapping = {
|
|
17
|
+
description: {
|
|
18
|
+
sm: bodies.xs,
|
|
19
|
+
lg: bodies.xs
|
|
20
|
+
},
|
|
21
|
+
error: {
|
|
22
|
+
sm: bodies.xs,
|
|
23
|
+
lg: bodies.xs
|
|
24
|
+
},
|
|
25
|
+
toggle: {
|
|
26
|
+
sm: { size: "sm", variant: "hollow" },
|
|
27
|
+
lg: { size: "md", variant: "hollow" }
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var SelectContext = createContext(null);
|
|
31
|
+
var Select = forwardRef(function Select2(props, ref) {
|
|
32
|
+
[props, ref] = useContextProps(props, ref, SelectContext);
|
|
33
|
+
props = useDefaultProps(props, "Select");
|
|
34
|
+
const {
|
|
35
|
+
children: childrenProp,
|
|
36
|
+
classNames: classNamesProp,
|
|
37
|
+
mapping: mappingProp,
|
|
38
|
+
size = "lg"
|
|
39
|
+
} = props;
|
|
40
|
+
const theme = useTheme();
|
|
41
|
+
const mapping = useMemo(
|
|
42
|
+
() => ({
|
|
43
|
+
...defaultMapping,
|
|
44
|
+
...mappingProp
|
|
45
|
+
}),
|
|
46
|
+
[mappingProp]
|
|
47
|
+
);
|
|
48
|
+
const classNames = useMemo(
|
|
49
|
+
() => mergeClassNames(selectClassNames, theme.Select, classNamesProp, {
|
|
50
|
+
description: mapping.description[size],
|
|
51
|
+
error: mapping.error[size]
|
|
52
|
+
}),
|
|
53
|
+
[classNamesProp, theme.Select, mapping, size]
|
|
54
|
+
);
|
|
55
|
+
const values = useMemo(
|
|
56
|
+
() => [
|
|
57
|
+
[AriaLabelContext, { className: classNames?.label }],
|
|
58
|
+
[
|
|
59
|
+
ButtonContext,
|
|
60
|
+
{
|
|
61
|
+
...mapping.toggle[size],
|
|
62
|
+
classNames: classNames?.toggle
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
AriaSelectValueContext,
|
|
67
|
+
{
|
|
68
|
+
className: classNames?.value
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
[
|
|
72
|
+
AriaTextContext,
|
|
73
|
+
{
|
|
74
|
+
slots: {
|
|
75
|
+
description: { className: classNames?.description }
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
[AriaFieldErrorContext, { className: classNames?.error }],
|
|
80
|
+
[OptionsContext, { classNames: classNames?.options, size }]
|
|
81
|
+
],
|
|
82
|
+
[classNames, mapping, size]
|
|
83
|
+
);
|
|
84
|
+
const style = useCallback(
|
|
85
|
+
(renderProps) => inlineVars(selectStateVars, {
|
|
86
|
+
...renderProps,
|
|
87
|
+
size
|
|
88
|
+
}),
|
|
89
|
+
[size]
|
|
90
|
+
);
|
|
91
|
+
const children = useCallback(
|
|
92
|
+
(renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.select, children: /* @__PURE__ */ jsx(Provider, { values, children: callRenderProps(childrenProp, {
|
|
93
|
+
...renderProps,
|
|
94
|
+
defaultChildren: null
|
|
95
|
+
}) }) }),
|
|
96
|
+
[childrenProp, values, classNames?.select]
|
|
97
|
+
);
|
|
98
|
+
return /* @__PURE__ */ jsx(
|
|
99
|
+
Select$1,
|
|
100
|
+
{
|
|
101
|
+
...props,
|
|
102
|
+
ref,
|
|
103
|
+
className: classNames?.container,
|
|
104
|
+
style,
|
|
105
|
+
children
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
export { Select, SelectContext };
|
|
5
111
|
//# sourceMappingURL=index.js.map
|
|
6
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/select/index.tsx"],"names":["Select","AriaSelect"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n Select as AriaSelect,\n type ContextValue,\n type FieldErrorProps,\n type LabelProps,\n Provider,\n type SelectRenderProps as RACSelectRenderProps,\n type SelectValueProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n AriaLabelContext,\n AriaSelectValueContext,\n AriaTextContext,\n} from '../aria';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { OptionsContext } from '../options';\nimport type { OptionsProps } from '../options/types';\nimport { selectClassNames, selectStateVars } from './select.css';\nimport type { SelectMapping, SelectProps } from './types';\n\nconst defaultMapping: SelectMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n toggle: {\n sm: { size: 'sm', variant: 'hollow' },\n lg: { size: 'md', variant: 'hollow' },\n },\n};\n\nexport const SelectContext =\n createContext<ContextValue<SelectProps<object>, HTMLDivElement>>(null);\n\nexport const Select = forwardRef(function Select<T extends object>(\n props: SelectProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SelectContext);\n props = useDefaultProps(props, 'Select');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(selectClassNames, theme.Select, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [classNamesProp, theme.Select, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [\n typeof AriaSelectValueContext,\n ContextValue<SelectValueProps<object>, HTMLSpanElement>,\n ],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof OptionsContext, ContextValue<OptionsProps, HTMLElement>],\n ]\n >(\n () => [\n [AriaLabelContext, { className: classNames?.label }],\n [\n ButtonContext,\n {\n ...mapping.toggle[size],\n classNames: classNames?.toggle,\n },\n ],\n [\n AriaSelectValueContext,\n {\n className: classNames?.value,\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [OptionsContext, { classNames: classNames?.options, size }],\n ],\n [classNames, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: RACSelectRenderProps) =>\n inlineVars(selectStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: RACSelectRenderProps) => (\n <div className={classNames?.select}>\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n </div>\n ),\n [childrenProp, values, classNames?.select],\n );\n\n return (\n <AriaSelect\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </AriaSelect>\n );\n});\n"]}
|
|
@@ -1,15 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import 'react';
|
|
5
|
-
import '
|
|
6
|
-
import '../../types/react-aria.js';
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as react_aria_components from 'react-aria-components';
|
|
3
|
+
import { ContextValue } from 'react-aria-components';
|
|
4
|
+
import { RenderPropsChildren } from '../../types/react-aria.js';
|
|
5
|
+
import { SliderRenderProps, SliderClassNames, SliderLayout, SliderProps, SliderBarProps, SliderOutputProps, SliderTrackProps, SliderThumbProps } from './types.js';
|
|
7
6
|
import 'type-fest';
|
|
8
7
|
import '../../types/generic.js';
|
|
9
8
|
import '../group/types.js';
|
|
10
9
|
import '@react-types/shared';
|
|
11
10
|
import '../number-field/types.js';
|
|
12
|
-
import '../button/types.js';
|
|
13
11
|
import '../../types/props.js';
|
|
12
|
+
import '../button/types.js';
|
|
14
13
|
import '../icon/types.js';
|
|
15
14
|
import '../input/types.js';
|
|
15
|
+
|
|
16
|
+
declare const SliderBarContext: react.Context<ContextValue<SliderBarProps, HTMLDivElement>>;
|
|
17
|
+
/**
|
|
18
|
+
* SliderBar is optional, but must be used as a child of SliderTrack
|
|
19
|
+
*/
|
|
20
|
+
declare const SliderBar: (props: SliderBarProps & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
21
|
+
declare const SliderOutputContext: react.Context<ContextValue<SliderOutputProps, HTMLOutputElement>>;
|
|
22
|
+
declare const SliderOutput: (props: Omit<react_aria_components.SliderOutputProps, "className" | "style"> & {
|
|
23
|
+
classNames?: SliderClassNames;
|
|
24
|
+
} & react.RefAttributes<HTMLOutputElement>) => react.ReactElement | null;
|
|
25
|
+
declare const SliderTrackContext: react.Context<ContextValue<SliderTrackProps, HTMLDivElement>>;
|
|
26
|
+
/**
|
|
27
|
+
* SliderTrack must be used as a child of Slider, a parent of SliderThumb,
|
|
28
|
+
* and if used, a parent of SliderBar
|
|
29
|
+
*/
|
|
30
|
+
declare const SliderTrack: (props: Omit<react_aria_components.SliderTrackProps, "className" | "style"> & {
|
|
31
|
+
classNames?: SliderClassNames;
|
|
32
|
+
} & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
33
|
+
declare const SliderThumbContext: react.Context<ContextValue<SliderThumbProps, HTMLDivElement>>;
|
|
34
|
+
/**
|
|
35
|
+
* SliderThumb must be used as a child of SliderTrack
|
|
36
|
+
*/
|
|
37
|
+
declare const SliderThumb: (props: Omit<react_aria_components.SliderThumbProps, "className" | "style"> & {
|
|
38
|
+
classNames?: SliderClassNames;
|
|
39
|
+
} & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
40
|
+
declare const SliderContext: react.Context<ContextValue<SliderProps, HTMLDivElement>>;
|
|
41
|
+
declare const Slider: (props: Omit<react_aria_components.SliderProps<number | number[]>, "children" | "style" | "classname"> & {
|
|
42
|
+
children?: RenderPropsChildren<SliderRenderProps>;
|
|
43
|
+
classNames?: SliderClassNames;
|
|
44
|
+
layout?: SliderLayout;
|
|
45
|
+
minValue?: number;
|
|
46
|
+
maxValue?: number;
|
|
47
|
+
} & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
48
|
+
|
|
49
|
+
export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext };
|