@yamada-ui/react 2.2.1-dev-20260413015504 → 2.2.1-dev-20260421145002
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/cjs/components/autocomplete/autocomplete.cjs +1 -1
- package/dist/cjs/components/autocomplete/autocomplete.cjs.map +1 -1
- package/dist/cjs/components/calendar/use-calendar.cjs.map +1 -1
- package/dist/cjs/components/chart/chart.cjs.map +1 -1
- package/dist/cjs/components/date-picker/date-picker.cjs +1 -1
- package/dist/cjs/components/date-picker/date-picker.cjs.map +1 -1
- package/dist/cjs/components/drawer/use-drawer.cjs +1 -1
- package/dist/cjs/components/drawer/use-drawer.cjs.map +1 -1
- package/dist/cjs/components/format/namespace.cjs.map +1 -1
- package/dist/cjs/components/group/use-group.cjs +1 -1
- package/dist/cjs/components/group/use-group.cjs.map +1 -1
- package/dist/cjs/components/indicator/indicator.cjs +4 -3
- package/dist/cjs/components/indicator/indicator.cjs.map +1 -1
- package/dist/cjs/components/input/use-input-border.cjs +4 -2
- package/dist/cjs/components/input/use-input-border.cjs.map +1 -1
- package/dist/cjs/components/native-select/native-select.cjs +1 -1
- package/dist/cjs/components/native-select/native-select.cjs.map +1 -1
- package/dist/cjs/components/native-select/use-native-select.cjs +1 -1
- package/dist/cjs/components/native-select/use-native-select.cjs.map +1 -1
- package/dist/cjs/components/number-input/number-input.style.cjs +1 -1
- package/dist/cjs/components/number-input/number-input.style.cjs.map +1 -1
- package/dist/cjs/components/password-input/password-input.style.cjs +1 -1
- package/dist/cjs/components/password-input/password-input.style.cjs.map +1 -1
- package/dist/cjs/components/select/select.cjs +1 -1
- package/dist/cjs/components/select/select.cjs.map +1 -1
- package/dist/cjs/components/sidebar/sidebar.cjs +1 -1
- package/dist/cjs/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/cjs/components/table/table.cjs +0 -3
- package/dist/cjs/components/table/table.cjs.map +1 -1
- package/dist/cjs/core/css/at-rule.cjs.map +1 -1
- package/dist/cjs/core/css/color-mix.cjs +1 -1
- package/dist/cjs/core/css/color-mix.cjs.map +1 -1
- package/dist/cjs/core/css/color-scheme.cjs.map +1 -1
- package/dist/cjs/core/css/styles.cjs +92 -92
- package/dist/cjs/core/css/styles.cjs.map +1 -1
- package/dist/cjs/core/system/var.cjs.map +1 -1
- package/dist/cjs/hooks/use-combobox/index.cjs +1 -1
- package/dist/cjs/hooks/use-combobox/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-local-storage/index.cjs +1 -1
- package/dist/cjs/hooks/use-local-storage/index.cjs.map +1 -1
- package/dist/cjs/utils/ref.cjs +1 -1
- package/dist/cjs/utils/ref.cjs.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete.js +1 -1
- package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
- package/dist/esm/components/calendar/use-calendar.js.map +1 -1
- package/dist/esm/components/chart/chart.js.map +1 -1
- package/dist/esm/components/date-picker/date-picker.js +1 -1
- package/dist/esm/components/date-picker/date-picker.js.map +1 -1
- package/dist/esm/components/drawer/use-drawer.js +1 -1
- package/dist/esm/components/drawer/use-drawer.js.map +1 -1
- package/dist/esm/components/format/namespace.js.map +1 -1
- package/dist/esm/components/group/use-group.js +1 -1
- package/dist/esm/components/group/use-group.js.map +1 -1
- package/dist/esm/components/indicator/indicator.js +4 -3
- package/dist/esm/components/indicator/indicator.js.map +1 -1
- package/dist/esm/components/input/use-input-border.js +4 -2
- package/dist/esm/components/input/use-input-border.js.map +1 -1
- package/dist/esm/components/native-select/native-select.js +1 -1
- package/dist/esm/components/native-select/native-select.js.map +1 -1
- package/dist/esm/components/native-select/use-native-select.js +1 -1
- package/dist/esm/components/native-select/use-native-select.js.map +1 -1
- package/dist/esm/components/number-input/number-input.style.js +1 -1
- package/dist/esm/components/number-input/number-input.style.js.map +1 -1
- package/dist/esm/components/password-input/password-input.style.js +1 -1
- package/dist/esm/components/password-input/password-input.style.js.map +1 -1
- package/dist/esm/components/select/select.js +1 -1
- package/dist/esm/components/select/select.js.map +1 -1
- package/dist/esm/components/sidebar/sidebar.js +1 -1
- package/dist/esm/components/sidebar/sidebar.js.map +1 -1
- package/dist/esm/components/table/table.js +0 -3
- package/dist/esm/components/table/table.js.map +1 -1
- package/dist/esm/core/css/at-rule.js.map +1 -1
- package/dist/esm/core/css/color-mix.js +1 -1
- package/dist/esm/core/css/color-mix.js.map +1 -1
- package/dist/esm/core/css/color-scheme.js.map +1 -1
- package/dist/esm/core/css/styles.js +92 -92
- package/dist/esm/core/css/styles.js.map +1 -1
- package/dist/esm/core/system/var.js.map +1 -1
- package/dist/esm/hooks/use-combobox/index.js +1 -1
- package/dist/esm/hooks/use-combobox/index.js.map +1 -1
- package/dist/esm/hooks/use-local-storage/index.js +1 -1
- package/dist/esm/hooks/use-local-storage/index.js.map +1 -1
- package/dist/esm/utils/ref.js +1 -1
- package/dist/esm/utils/ref.js.map +1 -1
- package/dist/types/components/accordion/accordion.d.ts +2 -2
- package/dist/types/components/accordion/use-accordion.d.ts +11 -11
- package/dist/types/components/action-bar/action-bar.d.ts +2 -2
- package/dist/types/components/airy/airy.d.ts +2 -2
- package/dist/types/components/alert/alert.d.ts +2 -2
- package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
- package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
- package/dist/types/components/autocomplete/autocomplete.d.ts +2 -2
- package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
- package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -5
- package/dist/types/components/avatar/avatar.d.ts +5 -5
- package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
- package/dist/types/components/badge/badge.d.ts +2 -2
- package/dist/types/components/bleed/bleed.d.ts +2 -2
- package/dist/types/components/blockquote/blockquote.d.ts +2 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/button/icon-button.d.ts +2 -2
- package/dist/types/components/calendar/calendar.d.ts +2 -2
- package/dist/types/components/calendar/calendar.style.d.ts +2 -2
- package/dist/types/components/calendar/use-calendar.d.ts +9 -9
- package/dist/types/components/card/card.d.ts +2 -2
- package/dist/types/components/carousel/carousel.d.ts +2 -2
- package/dist/types/components/carousel/carousel.style.d.ts +2 -2
- package/dist/types/components/carousel/use-carousel.d.ts +3 -3
- package/dist/types/components/center/center.d.ts +2 -2
- package/dist/types/components/chart/bar-chart.d.ts +2 -2
- package/dist/types/components/chart/chart.d.ts +11 -9
- package/dist/types/components/chart/composed-chart.d.ts +2 -2
- package/dist/types/components/chart/polar-chart.style.d.ts +1 -1
- package/dist/types/components/chart/radar-chart.d.ts +2 -2
- package/dist/types/components/chart/radial-chart.d.ts +2 -2
- package/dist/types/components/chart/use-chart.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox.d.ts +5 -5
- package/dist/types/components/checkbox/checkbox.style.d.ts +1 -1
- package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
- package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -5
- package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
- package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
- package/dist/types/components/close-button/close-button.d.ts +2 -2
- package/dist/types/components/code/code.d.ts +2 -2
- package/dist/types/components/collapse/collapse.d.ts +2 -2
- package/dist/types/components/color-picker/color-picker.d.ts +2 -2
- package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
- package/dist/types/components/color-picker/use-color-picker.d.ts +2 -2
- package/dist/types/components/color-selector/color-selector.d.ts +2 -2
- package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
- package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
- package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
- package/dist/types/components/container/container.d.ts +2 -2
- package/dist/types/components/data-list/data-list.d.ts +2 -2
- package/dist/types/components/data-list/data-list.style.d.ts +1 -1
- package/dist/types/components/date-picker/date-picker.d.ts +2 -2
- package/dist/types/components/date-picker/use-date-picker.d.ts +4 -4
- package/dist/types/components/drawer/drawer.d.ts +2 -2
- package/dist/types/components/drawer/drawer.style.d.ts +2 -2
- package/dist/types/components/dropzone/dropzone.d.ts +4 -4
- package/dist/types/components/editable/editable.d.ts +4 -4
- package/dist/types/components/editable/use-editable.d.ts +2 -2
- package/dist/types/components/em/em.d.ts +2 -2
- package/dist/types/components/empty-state/empty-state.d.ts +2 -2
- package/dist/types/components/empty-state/empty-state.style.d.ts +2 -2
- package/dist/types/components/fade/fade.d.ts +2 -2
- package/dist/types/components/field/field.d.ts +3 -3
- package/dist/types/components/field/use-field-props.d.ts +3 -3
- package/dist/types/components/fieldset/fieldset.d.ts +3 -3
- package/dist/types/components/file-button/file-button.d.ts +2 -2
- package/dist/types/components/file-button/use-file-button.d.ts +18 -18
- package/dist/types/components/file-input/file-input.d.ts +2 -2
- package/dist/types/components/file-input/file-input.style.d.ts +1 -1
- package/dist/types/components/file-input/use-file-input.d.ts +15 -15
- package/dist/types/components/flex/flex.d.ts +2 -2
- package/dist/types/components/flip/flip.d.ts +4 -4
- package/dist/types/components/float/float.d.ts +2 -2
- package/dist/types/components/form/form.d.ts +3 -3
- package/dist/types/components/format/format-byte.d.ts +4 -4
- package/dist/types/components/format/format-date-time.d.ts +4 -4
- package/dist/types/components/format/format-number.d.ts +2 -2
- package/dist/types/components/grid/grid-item.d.ts +2 -2
- package/dist/types/components/grid/grid.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +2 -2
- package/dist/types/components/group/use-group.d.ts +2 -2
- package/dist/types/components/heading/heading.d.ts +2 -2
- package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
- package/dist/types/components/icon/icon.d.ts +5 -5
- package/dist/types/components/image/image.d.ts +2 -2
- package/dist/types/components/indicator/indicator.d.ts +4 -4
- package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
- package/dist/types/components/input/input-addon.d.ts +2 -2
- package/dist/types/components/input/input-element.d.ts +2 -2
- package/dist/types/components/input/input.d.ts +2 -2
- package/dist/types/components/input/use-input-border.d.ts +2 -5
- package/dist/types/components/kbd/kbd.d.ts +2 -2
- package/dist/types/components/link/link.d.ts +2 -2
- package/dist/types/components/link-box/link-box.d.ts +2 -2
- package/dist/types/components/list/list.d.ts +2 -2
- package/dist/types/components/loading/loading-provider.d.ts +2 -2
- package/dist/types/components/loading/loading.d.ts +3 -3
- package/dist/types/components/mark/mark.d.ts +2 -2
- package/dist/types/components/menu/menu.d.ts +2 -2
- package/dist/types/components/menu/menu.style.d.ts +2 -2
- package/dist/types/components/menu/use-menu.d.ts +11 -11
- package/dist/types/components/modal/modal.d.ts +2 -2
- package/dist/types/components/modal/modal.style.d.ts +2 -2
- package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
- package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
- package/dist/types/components/native-popover/native-popover.d.ts +2 -2
- package/dist/types/components/native-select/native-select.d.ts +2 -2
- package/dist/types/components/native-table/native-table.d.ts +4 -4
- package/dist/types/components/notice/notice.style.d.ts +1 -1
- package/dist/types/components/number-input/number-input.d.ts +2 -2
- package/dist/types/components/number-input/number-input.style.d.ts +1 -1
- package/dist/types/components/pagination/pagination.d.ts +2 -2
- package/dist/types/components/pagination/use-pagination.d.ts +2 -2
- package/dist/types/components/password-input/password-input.d.ts +2 -2
- package/dist/types/components/password-input/strength-meter.d.ts +2 -2
- package/dist/types/components/password-input/strength-meter.style.d.ts +1 -1
- package/dist/types/components/password-input/use-password-input.d.ts +2 -2
- package/dist/types/components/pin-input/pin-input.d.ts +2 -2
- package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
- package/dist/types/components/popover/popover.d.ts +2 -2
- package/dist/types/components/progress/progress.d.ts +4 -4
- package/dist/types/components/progress/use-progress.d.ts +706 -706
- package/dist/types/components/qr-code/qr-code.d.ts +2 -2
- package/dist/types/components/radio/radio.d.ts +5 -5
- package/dist/types/components/radio/radio.style.d.ts +1 -1
- package/dist/types/components/radio/use-radio-group.d.ts +2 -2
- package/dist/types/components/radio-card/radio-card.d.ts +5 -5
- package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
- package/dist/types/components/rating/use-rating.d.ts +7 -7
- package/dist/types/components/reorder/reorder.d.ts +2 -2
- package/dist/types/components/reorder/reorder.style.d.ts +1 -1
- package/dist/types/components/reorder/use-reorder.d.ts +3 -3
- package/dist/types/components/resizable/resizable.d.ts +2 -2
- package/dist/types/components/resizable/resizable.style.d.ts +2 -2
- package/dist/types/components/resizable/use-resizable.d.ts +2 -2
- package/dist/types/components/ripple/ripple.d.ts +2 -2
- package/dist/types/components/ripple/use-ripple.d.ts +2 -2
- package/dist/types/components/rotate/rotate.d.ts +2 -2
- package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
- package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
- package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
- package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
- package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
- package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
- package/dist/types/components/select/select.d.ts +2 -2
- package/dist/types/components/select/select.style.d.ts +1 -1
- package/dist/types/components/select/use-select.d.ts +4 -4
- package/dist/types/components/separator/separator.d.ts +2 -2
- package/dist/types/components/sidebar/sidebar.d.ts +2 -2
- package/dist/types/components/sidebar/sidebar.style.d.ts +1 -1
- package/dist/types/components/sidebar/use-sidebar.d.ts +9 -9
- package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
- package/dist/types/components/skeleton/skeleton.d.ts +2 -2
- package/dist/types/components/slide/slide.d.ts +2 -2
- package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
- package/dist/types/components/slider/slider.d.ts +2 -2
- package/dist/types/components/slider/use-slider.d.ts +2 -2
- package/dist/types/components/stack/h-stack.d.ts +2 -2
- package/dist/types/components/stack/stack.d.ts +2 -2
- package/dist/types/components/stack/v-stack.d.ts +2 -2
- package/dist/types/components/stack/z-stack.d.ts +2 -2
- package/dist/types/components/stat/stat.d.ts +2 -2
- package/dist/types/components/status/status.d.ts +2 -2
- package/dist/types/components/status/status.style.d.ts +2 -2
- package/dist/types/components/steps/steps.d.ts +2 -2
- package/dist/types/components/steps/steps.style.d.ts +1 -1
- package/dist/types/components/steps/use-steps.d.ts +10 -10
- package/dist/types/components/switch/switch.d.ts +2 -2
- package/dist/types/components/table/table.d.ts +2 -2
- package/dist/types/components/tabs/tabs.d.ts +2 -2
- package/dist/types/components/tabs/use-tabs.d.ts +16 -16
- package/dist/types/components/tag/tag.d.ts +2 -2
- package/dist/types/components/tag/tag.style.d.ts +1 -1
- package/dist/types/components/text/text.d.ts +2 -2
- package/dist/types/components/textarea/textarea.d.ts +2 -2
- package/dist/types/components/textarea/use-autosize.d.ts +2 -2
- package/dist/types/components/timeline/timeline.d.ts +5 -5
- package/dist/types/components/timeline/timeline.style.d.ts +1 -1
- package/dist/types/components/toggle/toggle.d.ts +5 -5
- package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
- package/dist/types/components/toggle/use-toggle.d.ts +2 -2
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/components/tree/tree.d.ts +2 -2
- package/dist/types/components/tree/tree.style.d.ts +1 -1
- package/dist/types/components/tree/use-tree.d.ts +182 -182
- package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
- package/dist/types/components/wrap/wrap.d.ts +2 -2
- package/dist/types/core/components/create-component.d.ts +7 -7
- package/dist/types/core/css/index.d.ts +2 -2
- package/dist/types/core/css/index.types.d.ts +2 -1
- package/dist/types/core/css/styles.d.ts +44 -44
- package/dist/types/core/generated-theme-tokens.types.d.ts +17 -17
- package/dist/types/core/index.d.ts +2 -2
- package/dist/types/core/system/color-mode-provider.d.ts +2 -2
- package/dist/types/core/system/storage-script.d.ts +3 -3
- package/dist/types/core/system/styled.d.ts +2 -2
- package/dist/types/core/system/system-provider.d.ts +2 -2
- package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
- package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
- package/dist/types/hooks/use-combobox/index.d.ts +12 -12
- package/dist/types/hooks/use-counter/index.d.ts +2 -2
- package/dist/types/hooks/use-descendants/index.d.ts +2 -2
- package/dist/types/hooks/use-field-sizing/index.d.ts +2 -2
- package/dist/types/hooks/use-hover/index.d.ts +2 -2
- package/dist/types/hooks/use-popper/index.d.ts +2 -2
- package/dist/types/hooks/use-resize-observer/index.d.ts +3 -3
- package/dist/types/index.d.ts +3 -3
- package/dist/types/providers/i18n-provider/i18n-provider.d.ts +2 -2
- package/dist/types/providers/ui-provider/ui-provider.d.ts +2 -2
- package/dist/types/utils/children.d.ts +2 -2
- package/package.json +8 -8
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { varAttr } from "../../core/system/var.js";
|
|
2
|
+
import "../../core/index.js";
|
|
1
3
|
import { useMemo } from "react";
|
|
2
4
|
|
|
3
5
|
//#region src/components/input/use-input-border.ts
|
|
4
6
|
const useInputBorder = ({ errorBorderColor, focusBorderColor } = {}) => {
|
|
5
7
|
return useMemo(() => ({
|
|
6
|
-
"--error-border-color": errorBorderColor
|
|
7
|
-
"--focus-border-color": focusBorderColor
|
|
8
|
+
"--error-border-color": varAttr(errorBorderColor, "colors"),
|
|
9
|
+
"--focus-border-color": varAttr(focusBorderColor, "colors")
|
|
8
10
|
}), [errorBorderColor, focusBorderColor]);
|
|
9
11
|
};
|
|
10
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-input-border.js","names":[],"sources":["../../../../src/components/input/use-input-border.ts"],"sourcesContent":["import type { CSSProps } from \"../../core\"\nimport { useMemo } from \"react\"\n\nexport interface UseInputBorderProps {\n /**\n * The border color when the input is invalid.\n */\n errorBorderColor?: CSSProps[\"borderColor\"]\n /**\n * The border color when the input is focused.\n */\n focusBorderColor?: CSSProps[\"borderColor\"]\n}\n\nexport const useInputBorder = ({\n errorBorderColor,\n focusBorderColor,\n}: UseInputBorderProps = {}) => {\n return useMemo(\n () => ({\n \"--error-border-color\": errorBorderColor\
|
|
1
|
+
{"version":3,"file":"use-input-border.js","names":[],"sources":["../../../../src/components/input/use-input-border.ts"],"sourcesContent":["import type { CSSProps, CSSVariableProps } from \"../../core\"\nimport { useMemo } from \"react\"\nimport { varAttr } from \"../../core\"\n\nexport interface UseInputBorderProps {\n /**\n * The border color when the input is invalid.\n */\n errorBorderColor?: CSSProps[\"borderColor\"]\n /**\n * The border color when the input is focused.\n */\n focusBorderColor?: CSSProps[\"borderColor\"]\n}\n\nexport const useInputBorder = ({\n errorBorderColor,\n focusBorderColor,\n}: UseInputBorderProps = {}) => {\n return useMemo<CSSVariableProps>(\n () => ({\n \"--error-border-color\": varAttr(errorBorderColor, \"colors\"),\n \"--focus-border-color\": varAttr(focusBorderColor, \"colors\"),\n }),\n [errorBorderColor, focusBorderColor],\n )\n}\n\nexport type UseInputBorderReturn = ReturnType<typeof useInputBorder>\n"],"mappings":";;;;;AAeA,MAAa,kBAAkB,EAC7B,kBACA,qBACuB,EAAE,KAAK;AAC9B,QAAO,eACE;EACL,wBAAwB,QAAQ,kBAAkB,SAAS;EAC3D,wBAAwB,QAAQ,kBAAkB,SAAS;EAC5D,GACD,CAAC,kBAAkB,iBAAiB,CACrC"}
|
|
@@ -36,7 +36,7 @@ const NativeSelectRoot = withProvider((props) => {
|
|
|
36
36
|
css,
|
|
37
37
|
colorScheme
|
|
38
38
|
}, getRootProps(groupItemProps), rootProps)(),
|
|
39
|
-
children: [/* @__PURE__ */ jsx(NativeSelectField, { ...getFieldProps(varProps) }), /* @__PURE__ */ jsx(InputElement, {
|
|
39
|
+
children: [/* @__PURE__ */ jsx(NativeSelectField, { ...getFieldProps({ ...varProps }) }), /* @__PURE__ */ jsx(InputElement, {
|
|
40
40
|
...elementProps,
|
|
41
41
|
children: /* @__PURE__ */ jsx(NativeSelectIcon, {
|
|
42
42
|
icon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-select.js","names":["InputGroup.Root","InputGroup.Element"],"sources":["../../../../src/components/native-select/native-select.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { NativeSelectStyle } from \"./native-select.style\"\nimport type { UseNativeSelectProps } from \"./use-native-select\"\nimport { createSlotComponent, mergeProps } from \"../../core\"\nimport { useGroupItemProps } from \"../group\"\nimport { ChevronDownIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { nativeSelectStyle } from \"./native-select.style\"\nimport { useNativeSelect } from \"./use-native-select\"\n\nexport interface NativeSelectRootProps\n extends\n Omit<HTMLStyledProps<\"select\">, \"size\">,\n UseNativeSelectProps,\n ThemeProps<NativeSelectStyle>,\n FieldProps,\n UseInputBorderProps {\n /**\n * The icon to be used in the select.\n */\n icon?: ReactNode\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for icon element.\n */\n iconProps?: NativeSelectIconProps\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n component,\n PropsContext: NativeSelectPropsContext,\n usePropsContext: useNativeSelectPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<NativeSelectRootProps, NativeSelectStyle>(\n \"native-select\",\n nativeSelectStyle,\n)\n\nexport { NativeSelectPropsContext, useNativeSelectPropsContext }\n\n/**\n * `NativeSelect` is a component used for allowing users to select one option from a list. It displays a native dropdown list provided by the browser (user agent).\n *\n * @see https://yamada-ui.com/docs/components/native-select\n */\nexport const NativeSelectRoot = withProvider<\"select\", NativeSelectRootProps>(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n errorBorderColor,\n focusBorderColor,\n icon,\n elementProps,\n iconProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const { getFieldProps, getIconProps, getRootProps } = useNativeSelect(rest)\n const varProps = useInputBorder({\n errorBorderColor,\n focusBorderColor,\n })\n\n return (\n <InputGroup.Root\n {...mergeProps(\n { className, css, colorScheme },\n getRootProps(groupItemProps),\n rootProps,\n )()}\n >\n <NativeSelectField {...getFieldProps(varProps)} />\n\n <InputGroup.Element {...elementProps}>\n <NativeSelectIcon icon={icon} {...getIconProps(iconProps)} />\n </InputGroup.Element>\n </InputGroup.Root>\n )\n },\n \"root\",\n)((props) => {\n const context = useInputPropsContext()\n\n return mergeProps(context, props)()\n})\n\ninterface NativeSelectFieldProps extends HTMLStyledProps<\"select\"> {}\n\nconst NativeSelectField = withContext<\"select\", NativeSelectFieldProps>(\n \"select\",\n \"field\",\n)({ \"data-group-propagate\": \"\" })\n\ninterface NativeSelectIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst NativeSelectIcon = withContext<\"div\", NativeSelectIconProps>(\n \"div\",\n \"icon\",\n)(undefined, ({ children, icon, ...rest }) => ({\n children: icon || children || <ChevronDownIcon />,\n ...rest,\n}))\n\nexport interface NativeSelectGroupProps extends HTMLProps<\"optgroup\"> {}\n\nexport const NativeSelectGroup = component<\"optgroup\", NativeSelectGroupProps>(\n \"optgroup\",\n \"group\",\n)()\n\nexport interface NativeSelectOptionProps extends HTMLProps<\"option\"> {}\n\nexport const NativeSelectOption = component<\"option\", NativeSelectOptionProps>(\n \"option\",\n \"option\",\n)()\n\nexport interface NativeSelectSeparatorProps extends HTMLProps<\"hr\"> {}\n\nexport const NativeSelectSeparator = component<\n \"hr\",\n NativeSelectSeparatorProps\n>(\"hr\", \"separator\")()\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAwCA,MAAM,EACJ,WACA,cAAc,0BACd,iBAAiB,6BACjB,aACA,iBACE,oBACF,iBACA,kBACD;;;;;;AASD,MAAa,mBAAmB,cAC7B,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,kBACA,kBACA,MACA,cACA,WACA,WACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,EAAE,eAAe,cAAc,iBAAiB,gBAAgB,KAAK;CAC3E,MAAM,WAAW,eAAe;EAC9B;EACA;EACD,CAAC;AAEF,QACE,qBAACA;EACC,GAAI,WACF;GAAE;GAAW;GAAK;GAAa,EAC/B,aAAa,eAAe,EAC5B,UACD,EAAE;aAEH,oBAAC,qBAAkB,GAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"native-select.js","names":["InputGroup.Root","InputGroup.Element"],"sources":["../../../../src/components/native-select/native-select.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { NativeSelectStyle } from \"./native-select.style\"\nimport type { UseNativeSelectProps } from \"./use-native-select\"\nimport { createSlotComponent, mergeProps } from \"../../core\"\nimport { useGroupItemProps } from \"../group\"\nimport { ChevronDownIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { nativeSelectStyle } from \"./native-select.style\"\nimport { useNativeSelect } from \"./use-native-select\"\n\nexport interface NativeSelectRootProps\n extends\n Omit<HTMLStyledProps<\"select\">, \"size\">,\n UseNativeSelectProps,\n ThemeProps<NativeSelectStyle>,\n FieldProps,\n UseInputBorderProps {\n /**\n * The icon to be used in the select.\n */\n icon?: ReactNode\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for icon element.\n */\n iconProps?: NativeSelectIconProps\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n component,\n PropsContext: NativeSelectPropsContext,\n usePropsContext: useNativeSelectPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<NativeSelectRootProps, NativeSelectStyle>(\n \"native-select\",\n nativeSelectStyle,\n)\n\nexport { NativeSelectPropsContext, useNativeSelectPropsContext }\n\n/**\n * `NativeSelect` is a component used for allowing users to select one option from a list. It displays a native dropdown list provided by the browser (user agent).\n *\n * @see https://yamada-ui.com/docs/components/native-select\n */\nexport const NativeSelectRoot = withProvider<\"select\", NativeSelectRootProps>(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n errorBorderColor,\n focusBorderColor,\n icon,\n elementProps,\n iconProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const { getFieldProps, getIconProps, getRootProps } = useNativeSelect(rest)\n const varProps = useInputBorder({\n errorBorderColor,\n focusBorderColor,\n })\n\n return (\n <InputGroup.Root\n {...mergeProps(\n { className, css, colorScheme },\n getRootProps(groupItemProps),\n rootProps,\n )()}\n >\n <NativeSelectField {...getFieldProps({ ...varProps })} />\n\n <InputGroup.Element {...elementProps}>\n <NativeSelectIcon icon={icon} {...getIconProps(iconProps)} />\n </InputGroup.Element>\n </InputGroup.Root>\n )\n },\n \"root\",\n)((props) => {\n const context = useInputPropsContext()\n\n return mergeProps(context, props)()\n})\n\ninterface NativeSelectFieldProps extends HTMLStyledProps<\"select\"> {}\n\nconst NativeSelectField = withContext<\"select\", NativeSelectFieldProps>(\n \"select\",\n \"field\",\n)({ \"data-group-propagate\": \"\" })\n\ninterface NativeSelectIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst NativeSelectIcon = withContext<\"div\", NativeSelectIconProps>(\n \"div\",\n \"icon\",\n)(undefined, ({ children, icon, ...rest }) => ({\n children: icon || children || <ChevronDownIcon />,\n ...rest,\n}))\n\nexport interface NativeSelectGroupProps extends HTMLProps<\"optgroup\"> {}\n\nexport const NativeSelectGroup = component<\"optgroup\", NativeSelectGroupProps>(\n \"optgroup\",\n \"group\",\n)()\n\nexport interface NativeSelectOptionProps extends HTMLProps<\"option\"> {}\n\nexport const NativeSelectOption = component<\"option\", NativeSelectOptionProps>(\n \"option\",\n \"option\",\n)()\n\nexport interface NativeSelectSeparatorProps extends HTMLProps<\"hr\"> {}\n\nexport const NativeSelectSeparator = component<\n \"hr\",\n NativeSelectSeparatorProps\n>(\"hr\", \"separator\")()\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAwCA,MAAM,EACJ,WACA,cAAc,0BACd,iBAAiB,6BACjB,aACA,iBACE,oBACF,iBACA,kBACD;;;;;;AASD,MAAa,mBAAmB,cAC7B,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,kBACA,kBACA,MACA,cACA,WACA,WACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,EAAE,eAAe,cAAc,iBAAiB,gBAAgB,KAAK;CAC3E,MAAM,WAAW,eAAe;EAC9B;EACA;EACD,CAAC;AAEF,QACE,qBAACA;EACC,GAAI,WACF;GAAE;GAAW;GAAK;GAAa,EAC/B,aAAa,eAAe,EAC5B,UACD,EAAE;aAEH,oBAAC,qBAAkB,GAAI,cAAc,EAAE,GAAG,UAAU,CAAC,GAAI,EAEzD,oBAACC;GAAmB,GAAI;aACtB,oBAAC;IAAuB;IAAM,GAAI,aAAa,UAAU;KAAI;IAC1C;GACL;GAGtB,OACD,EAAE,UAAU;AAGX,QAAO,WAFS,sBAAsB,EAEX,MAAM,EAAE;EACnC;AAIF,MAAM,oBAAoB,YACxB,UACA,QACD,CAAC,EAAE,wBAAwB,IAAI,CAAC;AAMjC,MAAM,mBAAmB,YACvB,OACA,OACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,YAAY;CAC7C,UAAU,QAAQ,YAAY,oBAAC,oBAAkB;CACjD,GAAG;CACJ,EAAE;AAIH,MAAa,oBAAoB,UAC/B,YACA,QACD,EAAE;AAIH,MAAa,qBAAqB,UAChC,UACA,SACD,EAAE;AAIH,MAAa,wBAAwB,UAGnC,MAAM,YAAY,EAAE"}
|
|
@@ -16,7 +16,7 @@ const useNativeSelect = (props = {}) => {
|
|
|
16
16
|
if (children) computedChildren$1 = children;
|
|
17
17
|
else if (items.length) computedChildren$1 = items.map((item, index) => {
|
|
18
18
|
if ("items" in item) {
|
|
19
|
-
const { items: items$1
|
|
19
|
+
const { items: items$1, label, ...rest$1 } = item;
|
|
20
20
|
return cloneElement(/* @__PURE__ */ jsx("optgroup", {}), {
|
|
21
21
|
key: index,
|
|
22
22
|
children: items$1.map(({ label: label$1, ...rest$2 }, index$1) => cloneElement(/* @__PURE__ */ jsx("option", {}), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-native-select.js","names":["computedChildren: ReactNode","rest","items","index","label","computedChildren","getRootProps: PropGetter","props"],"sources":["../../../../src/components/native-select/use-native-select.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { cloneElement, useCallback, useMemo } from \"react\"\nimport { ariaAttr, handlerAll, mergeRefs } from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface NativeSelectSharedItem extends Omit<\n HTMLProps<\"option\">,\n \"children\" | \"label\" | \"value\"\n> {\n label: string\n}\n\ninterface NativeSelectItemWithValue extends NativeSelectSharedItem {\n value?: HTMLProps<\"option\">[\"value\"]\n}\n\ninterface NativeSelectItemWithItems extends NativeSelectSharedItem {\n items: NativeSelectItemWithValue[]\n}\n\nexport type NativeSelectItem =\n | NativeSelectItemWithItems\n | NativeSelectItemWithValue\n\nexport interface UseNativeSelectProps extends HTMLProps<\"select\">, FieldProps {\n /**\n * If `true`, include placeholder in options.\n *\n * @default true\n */\n includePlaceholder?: boolean\n /**\n * If provided, generate options based on items.\n *\n * @default []\n */\n items?: NativeSelectItem[]\n /**\n * The placeholder for select.\n */\n placeholder?: string\n}\n\nexport const useNativeSelect = (props: UseNativeSelectProps = {}) => {\n const {\n props: {\n children,\n disabled,\n includePlaceholder = true,\n items = [],\n placeholder,\n readOnly,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n\n const computedChildren = useMemo(() => {\n let computedChildren: ReactNode = null\n\n if (children) {\n computedChildren = children\n } else if (items.length) {\n computedChildren = items.map((item, index) => {\n if (\"items\" in item) {\n const { items
|
|
1
|
+
{"version":3,"file":"use-native-select.js","names":["computedChildren: ReactNode","rest","items","index","label","computedChildren","getRootProps: PropGetter","props"],"sources":["../../../../src/components/native-select/use-native-select.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { cloneElement, useCallback, useMemo } from \"react\"\nimport { ariaAttr, handlerAll, mergeRefs } from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface NativeSelectSharedItem extends Omit<\n HTMLProps<\"option\">,\n \"children\" | \"label\" | \"value\"\n> {\n label: string\n}\n\ninterface NativeSelectItemWithValue extends NativeSelectSharedItem {\n value?: HTMLProps<\"option\">[\"value\"]\n}\n\ninterface NativeSelectItemWithItems extends NativeSelectSharedItem {\n items: NativeSelectItemWithValue[]\n}\n\nexport type NativeSelectItem =\n | NativeSelectItemWithItems\n | NativeSelectItemWithValue\n\nexport interface UseNativeSelectProps extends HTMLProps<\"select\">, FieldProps {\n /**\n * If `true`, include placeholder in options.\n *\n * @default true\n */\n includePlaceholder?: boolean\n /**\n * If provided, generate options based on items.\n *\n * @default []\n */\n items?: NativeSelectItem[]\n /**\n * The placeholder for select.\n */\n placeholder?: string\n}\n\nexport const useNativeSelect = (props: UseNativeSelectProps = {}) => {\n const {\n props: {\n children,\n disabled,\n includePlaceholder = true,\n items = [],\n placeholder,\n readOnly,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n\n const computedChildren = useMemo(() => {\n let computedChildren: ReactNode = null\n\n if (children) {\n computedChildren = children\n } else if (items.length) {\n computedChildren = items.map((item, index) => {\n if (\"items\" in item) {\n const { items, label, ...rest } = item\n\n return cloneElement(<optgroup />, {\n key: index,\n children: items.map(({ label, ...rest }, index) =>\n cloneElement(<option />, {\n key: index,\n children: label,\n ...rest,\n }),\n ),\n label,\n ...rest,\n })\n } else {\n const { label, ...rest } = item\n\n return cloneElement(<option />, {\n key: index,\n children: label,\n ...rest,\n })\n }\n })\n }\n\n return (\n <>\n {placeholder ? (\n <option hidden={!includePlaceholder} value=\"\">\n {placeholder}\n </option>\n ) : null}\n\n {computedChildren}\n </>\n )\n }, [children, items, placeholder, includePlaceholder])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({ ...dataProps, ...props }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter<\"select\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n disabled,\n readOnly,\n tabIndex: interactive ? undefined : -1,\n ...ariaProps,\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": placeholder,\n ...rest,\n ...props,\n ref: mergeRefs(ref, rest.ref),\n children: props.children ?? computedChildren,\n onBlur: handlerAll(eventProps.onBlur, props.onBlur),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus),\n }),\n [\n interactive,\n ariaProps,\n computedChildren,\n dataProps,\n eventProps,\n rest,\n placeholder,\n disabled,\n readOnly,\n ],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props) => ({ ...dataProps, ...props }),\n [dataProps],\n )\n\n return { getFieldProps, getIconProps, getRootProps }\n}\n\nexport type UseNativeSelectReturn = ReturnType<typeof useNativeSelect>\n"],"mappings":";;;;;;;;;;AA+CA,MAAa,mBAAmB,QAA8B,EAAE,KAAK;CACnE,MAAM,EACJ,OAAO,EACL,UACA,UACA,qBAAqB,MACrB,QAAQ,EAAE,EACV,aACA,UACA,GAAG,QAEL,WACA,WACA,eACE,cAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAElC,MAAM,mBAAmB,cAAc;EACrC,IAAIA,qBAA8B;AAElC,MAAI,SACF,sBAAmB;WACV,MAAM,OACf,sBAAmB,MAAM,KAAK,MAAM,UAAU;AAC5C,OAAI,WAAW,MAAM;IACnB,MAAM,EAAE,gBAAO,OAAO,GAAGC,WAAS;AAElC,WAAO,aAAa,oBAAC,eAAW,EAAE;KAChC,KAAK;KACL,UAAUC,QAAM,KAAK,EAAE,gBAAO,GAAGD,UAAQ,YACvC,aAAa,oBAAC,aAAS,EAAE;MACvB,KAAKE;MACL,UAAUC;MACV,GAAGH;MACJ,CAAC,CACH;KACD;KACA,GAAGA;KACJ,CAAC;UACG;IACL,MAAM,EAAE,OAAO,GAAGA,WAAS;AAE3B,WAAO,aAAa,oBAAC,aAAS,EAAE;KAC9B,KAAK;KACL,UAAU;KACV,GAAGA;KACJ,CAAC;;IAEJ;AAGJ,SACE,8CACG,cACC,oBAAC;GAAO,QAAQ,CAAC;GAAoB,OAAM;aACxC;IACM,GACP,MAEHI,sBACA;IAEJ;EAAC;EAAU;EAAO;EAAa;EAAmB,CAAC;CAEtD,MAAMC,eAA2B,aAC9B,aAAW;EAAE,GAAG;EAAW,GAAGC;EAAO,GACtC,CAAC,UAAU,CACZ;AAoCD,QAAO;EAAE,eAlCmC,aACzC,EAAE,KAAK,GAAGA,YAAU,EAAE,MAAM;GAC3B;GACA;GACA,UAAU,cAAc,SAAY;GACpC,GAAG;GACH,GAAG;GACH,6CAA0B,CAAC,YAAY;GACvC,cAAc;GACd,GAAG;GACH,GAAGA;GACH,KAAK,UAAU,KAAK,KAAK,IAAI;GAC7B,UAAUA,QAAM,YAAY;GAC5B,sCAAmB,WAAW,QAAQA,QAAM,OAAO;GACnD,uCAAoB,WAAW,SAASA,QAAM,QAAQ;GACvD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAOuB,cALS,aAC9B,aAAW;GAAE,GAAG;GAAW,GAAGA;GAAO,GACtC,CAAC,UAAU,CACZ;EAEqC;EAAc"}
|
|
@@ -85,7 +85,7 @@ const numberInputStyle = defineComponentSlotStyle({
|
|
|
85
85
|
fontSize: inputStyle.sizes?.["2xl"].fontSize
|
|
86
86
|
},
|
|
87
87
|
field: inputStyle.sizes?.["2xl"],
|
|
88
|
-
root: getInputHeightStyle(inputStyle.sizes?.["2xl"]
|
|
88
|
+
root: getInputHeightStyle(inputStyle.sizes?.["2xl"].minH, "& > input")
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
91
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-input.style.js","names":[],"sources":["../../../../src/components/number-input/number-input.style.ts"],"sourcesContent":["import { defineComponentSlotStyle } from \"../../core\"\nimport { buttonStyle } from \"../button\"\nimport {\n getInputHeightStyle,\n getInputPaddingStartResetStyle,\n inputStyle,\n} from \"../input\"\n\nexport const numberInputStyle = defineComponentSlotStyle({\n base: {\n button: {\n ...buttonStyle.base,\n flex: \"1\",\n lineHeight: \"1\",\n rounded: \"l1\",\n },\n control: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n decrement: {},\n field: inputStyle.base,\n increment: {},\n root: {},\n },\n\n variants: {\n base: {\n button: {\n layerStyle: \"ghost\",\n focusVisibleRing: \"none\",\n _hover: {\n layerStyle: \"ghost.hover\",\n },\n _focusVisible: {\n layerStyle: \"ghost.hover\",\n },\n },\n },\n\n filled: {\n field: inputStyle.variants?.filled,\n },\n flushed: {\n field: inputStyle.variants?.flushed,\n root: getInputPaddingStartResetStyle(\"& > input\"),\n },\n outline: {\n field: inputStyle.variants?.outline,\n },\n plain: {\n field: inputStyle.variants?.plain,\n },\n },\n\n sizes: {\n xs: {\n control: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.xs.fontSize,\n },\n field: inputStyle.sizes?.xs,\n root: getInputHeightStyle(inputStyle.sizes?.xs.minH, \"& > input\"),\n },\n sm: {\n control: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.sm.fontSize,\n },\n field: inputStyle.sizes?.sm,\n root: getInputHeightStyle(inputStyle.sizes?.sm.minH, \"& > input\"),\n },\n md: {\n control: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.md.fontSize,\n },\n field: inputStyle.sizes?.md,\n root: getInputHeightStyle(inputStyle.sizes?.md.minH, \"& > input\"),\n },\n lg: {\n control: {\n boxSize: `calc({--height} - {spaces.2.5})`,\n fontSize: inputStyle.sizes?.lg.fontSize,\n },\n field: inputStyle.sizes?.lg,\n root: getInputHeightStyle(inputStyle.sizes?.lg.minH, \"& > input\"),\n },\n xl: {\n control: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.xl.fontSize,\n },\n field: inputStyle.sizes?.xl,\n root: getInputHeightStyle(inputStyle.sizes?.xl.minH, \"& > input\"),\n },\n \"2xl\": {\n control: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.[\"2xl\"].fontSize,\n },\n field: inputStyle.sizes?.[\"2xl\"],\n root: getInputHeightStyle(inputStyle.sizes?.[\"2xl\"]
|
|
1
|
+
{"version":3,"file":"number-input.style.js","names":[],"sources":["../../../../src/components/number-input/number-input.style.ts"],"sourcesContent":["import { defineComponentSlotStyle } from \"../../core\"\nimport { buttonStyle } from \"../button\"\nimport {\n getInputHeightStyle,\n getInputPaddingStartResetStyle,\n inputStyle,\n} from \"../input\"\n\nexport const numberInputStyle = defineComponentSlotStyle({\n base: {\n button: {\n ...buttonStyle.base,\n flex: \"1\",\n lineHeight: \"1\",\n rounded: \"l1\",\n },\n control: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n decrement: {},\n field: inputStyle.base,\n increment: {},\n root: {},\n },\n\n variants: {\n base: {\n button: {\n layerStyle: \"ghost\",\n focusVisibleRing: \"none\",\n _hover: {\n layerStyle: \"ghost.hover\",\n },\n _focusVisible: {\n layerStyle: \"ghost.hover\",\n },\n },\n },\n\n filled: {\n field: inputStyle.variants?.filled,\n },\n flushed: {\n field: inputStyle.variants?.flushed,\n root: getInputPaddingStartResetStyle(\"& > input\"),\n },\n outline: {\n field: inputStyle.variants?.outline,\n },\n plain: {\n field: inputStyle.variants?.plain,\n },\n },\n\n sizes: {\n xs: {\n control: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.xs.fontSize,\n },\n field: inputStyle.sizes?.xs,\n root: getInputHeightStyle(inputStyle.sizes?.xs.minH, \"& > input\"),\n },\n sm: {\n control: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.sm.fontSize,\n },\n field: inputStyle.sizes?.sm,\n root: getInputHeightStyle(inputStyle.sizes?.sm.minH, \"& > input\"),\n },\n md: {\n control: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.md.fontSize,\n },\n field: inputStyle.sizes?.md,\n root: getInputHeightStyle(inputStyle.sizes?.md.minH, \"& > input\"),\n },\n lg: {\n control: {\n boxSize: `calc({--height} - {spaces.2.5})`,\n fontSize: inputStyle.sizes?.lg.fontSize,\n },\n field: inputStyle.sizes?.lg,\n root: getInputHeightStyle(inputStyle.sizes?.lg.minH, \"& > input\"),\n },\n xl: {\n control: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.xl.fontSize,\n },\n field: inputStyle.sizes?.xl,\n root: getInputHeightStyle(inputStyle.sizes?.xl.minH, \"& > input\"),\n },\n \"2xl\": {\n control: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.[\"2xl\"].fontSize,\n },\n field: inputStyle.sizes?.[\"2xl\"],\n root: getInputHeightStyle(inputStyle.sizes?.[\"2xl\"].minH, \"& > input\"),\n },\n },\n\n defaultProps: {\n size: \"md\",\n variant: \"outline\",\n },\n})\n\nexport type NumberInputStyle = typeof numberInputStyle\n"],"mappings":";;;;;;;;AAQA,MAAa,mBAAmB,yBAAyB;CACvD,MAAM;EACJ,QAAQ;GACN,GAAG,YAAY;GACf,MAAM;GACN,YAAY;GACZ,SAAS;GACV;EACD,SAAS;GACP,SAAS;GACT,eAAe;GAChB;EACD,WAAW,EAAE;EACb,OAAO,WAAW;EAClB,WAAW,EAAE;EACb,MAAM,EAAE;EACT;CAED,UAAU;EACR,MAAM,EACJ,QAAQ;GACN,YAAY;GACZ,kBAAkB;GAClB,QAAQ,EACN,YAAY,eACb;GACD,eAAe,EACb,YAAY,eACb;GACF,EACF;EAED,QAAQ,EACN,OAAO,WAAW,UAAU,QAC7B;EACD,SAAS;GACP,OAAO,WAAW,UAAU;GAC5B,MAAM,+BAA+B,YAAY;GAClD;EACD,SAAS,EACP,OAAO,WAAW,UAAU,SAC7B;EACD,OAAO,EACL,OAAO,WAAW,UAAU,OAC7B;EACF;CAED,OAAO;EACL,IAAI;GACF,SAAS;IACP,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,SAAS;IACP,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,SAAS;IACP,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,SAAS;IACP,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,SAAS;IACP,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,OAAO;GACL,SAAS;IACP,SAAS;IACT,UAAU,WAAW,QAAQ,OAAO;IACrC;GACD,OAAO,WAAW,QAAQ;GAC1B,MAAM,oBAAoB,WAAW,QAAQ,OAAO,MAAM,YAAY;GACvE;EACF;CAED,cAAc;EACZ,MAAM;EACN,SAAS;EACV;CACF,CAAC"}
|
|
@@ -78,7 +78,7 @@ const passwordInputStyle = defineComponentSlotStyle({
|
|
|
78
78
|
fontSize: inputStyle.sizes?.["2xl"].fontSize
|
|
79
79
|
},
|
|
80
80
|
field: inputStyle.sizes?.["2xl"],
|
|
81
|
-
root: getInputHeightStyle(inputStyle.sizes?.["2xl"]
|
|
81
|
+
root: getInputHeightStyle(inputStyle.sizes?.["2xl"].minH, "& > input")
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-input.style.js","names":[],"sources":["../../../../src/components/password-input/password-input.style.ts"],"sourcesContent":["import { defineComponentSlotStyle } from \"../../core\"\nimport { buttonStyle } from \"../button\"\nimport {\n getInputHeightStyle,\n getInputPaddingStartResetStyle,\n inputStyle,\n} from \"../input\"\n\nexport const passwordInputStyle = defineComponentSlotStyle({\n base: {\n button: {\n ...buttonStyle.base,\n rounded: \"l1\",\n _readOnly: { cursor: \"pointer\" },\n },\n field: inputStyle.base,\n root: {},\n },\n\n variants: {\n base: {\n button: {\n layerStyle: \"ghost\",\n focusVisibleRing: \"none\",\n _hover: {\n layerStyle: \"ghost.hover\",\n },\n _focusVisible: {\n layerStyle: \"ghost.hover\",\n },\n },\n },\n\n filled: {\n field: inputStyle.variants?.filled,\n },\n flushed: {\n field: inputStyle.variants?.flushed,\n root: getInputPaddingStartResetStyle(\"& > input\"),\n },\n outline: {\n field: inputStyle.variants?.outline,\n },\n plain: {\n field: inputStyle.variants?.plain,\n },\n },\n\n sizes: {\n xs: {\n button: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.xs.fontSize,\n },\n field: inputStyle.sizes?.xs,\n root: getInputHeightStyle(inputStyle.sizes?.xs.minH, \"& > input\"),\n },\n sm: {\n button: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.sm.fontSize,\n },\n field: inputStyle.sizes?.sm,\n root: getInputHeightStyle(inputStyle.sizes?.sm.minH, \"& > input\"),\n },\n md: {\n button: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.md.fontSize,\n },\n field: inputStyle.sizes?.md,\n root: getInputHeightStyle(inputStyle.sizes?.md.minH, \"& > input\"),\n },\n lg: {\n button: {\n boxSize: `calc({--height} - {spaces.2.5})`,\n fontSize: inputStyle.sizes?.lg.fontSize,\n },\n field: inputStyle.sizes?.lg,\n root: getInputHeightStyle(inputStyle.sizes?.lg.minH, \"& > input\"),\n },\n xl: {\n button: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.xl.fontSize,\n },\n field: inputStyle.sizes?.xl,\n root: getInputHeightStyle(inputStyle.sizes?.xl.minH, \"& > input\"),\n },\n \"2xl\": {\n button: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.[\"2xl\"].fontSize,\n },\n field: inputStyle.sizes?.[\"2xl\"],\n root: getInputHeightStyle(inputStyle.sizes?.[\"2xl\"]
|
|
1
|
+
{"version":3,"file":"password-input.style.js","names":[],"sources":["../../../../src/components/password-input/password-input.style.ts"],"sourcesContent":["import { defineComponentSlotStyle } from \"../../core\"\nimport { buttonStyle } from \"../button\"\nimport {\n getInputHeightStyle,\n getInputPaddingStartResetStyle,\n inputStyle,\n} from \"../input\"\n\nexport const passwordInputStyle = defineComponentSlotStyle({\n base: {\n button: {\n ...buttonStyle.base,\n rounded: \"l1\",\n _readOnly: { cursor: \"pointer\" },\n },\n field: inputStyle.base,\n root: {},\n },\n\n variants: {\n base: {\n button: {\n layerStyle: \"ghost\",\n focusVisibleRing: \"none\",\n _hover: {\n layerStyle: \"ghost.hover\",\n },\n _focusVisible: {\n layerStyle: \"ghost.hover\",\n },\n },\n },\n\n filled: {\n field: inputStyle.variants?.filled,\n },\n flushed: {\n field: inputStyle.variants?.flushed,\n root: getInputPaddingStartResetStyle(\"& > input\"),\n },\n outline: {\n field: inputStyle.variants?.outline,\n },\n plain: {\n field: inputStyle.variants?.plain,\n },\n },\n\n sizes: {\n xs: {\n button: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.xs.fontSize,\n },\n field: inputStyle.sizes?.xs,\n root: getInputHeightStyle(inputStyle.sizes?.xs.minH, \"& > input\"),\n },\n sm: {\n button: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.sm.fontSize,\n },\n field: inputStyle.sizes?.sm,\n root: getInputHeightStyle(inputStyle.sizes?.sm.minH, \"& > input\"),\n },\n md: {\n button: {\n boxSize: `calc({--height} - {spaces.2})`,\n fontSize: inputStyle.sizes?.md.fontSize,\n },\n field: inputStyle.sizes?.md,\n root: getInputHeightStyle(inputStyle.sizes?.md.minH, \"& > input\"),\n },\n lg: {\n button: {\n boxSize: `calc({--height} - {spaces.2.5})`,\n fontSize: inputStyle.sizes?.lg.fontSize,\n },\n field: inputStyle.sizes?.lg,\n root: getInputHeightStyle(inputStyle.sizes?.lg.minH, \"& > input\"),\n },\n xl: {\n button: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.xl.fontSize,\n },\n field: inputStyle.sizes?.xl,\n root: getInputHeightStyle(inputStyle.sizes?.xl.minH, \"& > input\"),\n },\n \"2xl\": {\n button: {\n boxSize: `calc({--height} - {spaces.3})`,\n fontSize: inputStyle.sizes?.[\"2xl\"].fontSize,\n },\n field: inputStyle.sizes?.[\"2xl\"],\n root: getInputHeightStyle(inputStyle.sizes?.[\"2xl\"].minH, \"& > input\"),\n },\n },\n\n defaultProps: {\n size: \"md\",\n variant: \"outline\",\n },\n})\n\nexport type PasswordInputStyle = typeof passwordInputStyle\n"],"mappings":";;;;;;;;AAQA,MAAa,qBAAqB,yBAAyB;CACzD,MAAM;EACJ,QAAQ;GACN,GAAG,YAAY;GACf,SAAS;GACT,WAAW,EAAE,QAAQ,WAAW;GACjC;EACD,OAAO,WAAW;EAClB,MAAM,EAAE;EACT;CAED,UAAU;EACR,MAAM,EACJ,QAAQ;GACN,YAAY;GACZ,kBAAkB;GAClB,QAAQ,EACN,YAAY,eACb;GACD,eAAe,EACb,YAAY,eACb;GACF,EACF;EAED,QAAQ,EACN,OAAO,WAAW,UAAU,QAC7B;EACD,SAAS;GACP,OAAO,WAAW,UAAU;GAC5B,MAAM,+BAA+B,YAAY;GAClD;EACD,SAAS,EACP,OAAO,WAAW,UAAU,SAC7B;EACD,OAAO,EACL,OAAO,WAAW,UAAU,OAC7B;EACF;CAED,OAAO;EACL,IAAI;GACF,QAAQ;IACN,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,QAAQ;IACN,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,QAAQ;IACN,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,QAAQ;IACN,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,IAAI;GACF,QAAQ;IACN,SAAS;IACT,UAAU,WAAW,OAAO,GAAG;IAChC;GACD,OAAO,WAAW,OAAO;GACzB,MAAM,oBAAoB,WAAW,OAAO,GAAG,MAAM,YAAY;GAClE;EACD,OAAO;GACL,QAAQ;IACN,SAAS;IACT,UAAU,WAAW,QAAQ,OAAO;IACrC;GACD,OAAO,WAAW,QAAQ;GAC1B,MAAM,oBAAoB,WAAW,QAAQ,OAAO,MAAM,YAAY;GACvE;EACF;CAED,cAAc;EACZ,MAAM;EACN,SAAS;EACV;CACF,CAAC"}
|
|
@@ -124,7 +124,7 @@ const SelectRoot = withProvider((props) => {
|
|
|
124
124
|
css,
|
|
125
125
|
colorScheme
|
|
126
126
|
}, getRootProps(groupItemProps), rootProps)(),
|
|
127
|
-
children: [/* @__PURE__ */ jsx(PopoverTrigger, { children: /* @__PURE__ */ jsx(SelectField, { ...getFieldProps(varProps) }) }), /* @__PURE__ */ jsx(InputElement, {
|
|
127
|
+
children: [/* @__PURE__ */ jsx(PopoverTrigger, { children: /* @__PURE__ */ jsx(SelectField, { ...getFieldProps({ ...varProps }) }) }), /* @__PURE__ */ jsx(InputElement, {
|
|
128
128
|
clickable: clearable && hasValue,
|
|
129
129
|
...elementProps,
|
|
130
130
|
children: clearable && hasValue ? /* @__PURE__ */ jsx(SelectIcon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["Popover.Root","InputGroup.Root","Popover.Trigger","InputGroup.Element","Popover.Content"],"sources":["../../../../src/components/select/select.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type {\n ComboboxItem,\n UseComboboxGroupProps,\n} from \"../../hooks/use-combobox\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { SelectStyle } from \"./select.style\"\nimport type {\n UseSelectOptionProps,\n UseSelectProps,\n UseSelectReturn,\n} from \"./use-select\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, mergeProps, styled } from \"../../core\"\nimport {\n ComboboxContext,\n ComboboxDescendantsContext,\n ComboboxGroupContext,\n createComboboxChildren,\n createComboboxItem,\n useComboboxGroup,\n useComboboxGroupContext,\n} from \"../../hooks/use-combobox\"\nimport { cast, isArray } from \"../../utils\"\nimport { useGroupItemProps } from \"../group\"\nimport { CheckIcon, ChevronDownIcon, XIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { selectStyle } from \"./select.style\"\nimport { SelectContext, useSelect, useSelectOption } from \"./use-select\"\n\ninterface ComponentContext\n extends\n Pick<UseSelectReturn, \"getSeparatorProps\">,\n Pick<SelectRootProps, \"groupProps\" | \"optionProps\"> {}\n\nexport interface SelectRootProps<Multiple extends boolean = false>\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"value\">,\n Merge<UseSelectProps<Multiple>, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n ThemeProps<SelectStyle>,\n UseInputBorderProps {\n /**\n * If `true`, display the clear icon.\n *\n * @default false\n */\n clearable?: boolean\n /**\n * The icon to be used in the clear button.\n */\n clearIcon?: ReactNode\n /**\n * The icon to be used in the select.\n */\n icon?: ReactNode\n /**\n * Props for content element.\n */\n contentProps?: SelectContentProps\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for group element.\n */\n groupProps?: Omit<SelectGroupProps, \"children\" | \"label\">\n /**\n * Props for icon element.\n */\n iconProps?: SelectIconProps\n /**\n * Props for option element.\n */\n optionProps?: Omit<SelectOptionProps, \"children\" | \"value\">\n /**\n * Props for placeholder element.\n */\n placeholderProps?: Omit<SelectOptionProps, \"children\" | \"value\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n ComponentContext,\n PropsContext: SelectPropsContext,\n useComponentContext,\n usePropsContext: useSelectPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SelectRootProps, SelectStyle, ComponentContext>(\n \"select\",\n selectStyle,\n)\n\nexport { SelectPropsContext, useSelectPropsContext }\n\n/**\n * `Select` is a component used for allowing a user to choose one option from a list.\n *\n * @see https://yamada-ui.com/docs/components/select\n */\nexport const SelectRoot = withProvider<\"div\", SelectRootProps>(\n <Multiple extends boolean = false>(props: SelectRootProps<Multiple>) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n animationScheme = \"block-start\",\n children,\n clearable,\n clearIcon = <XIcon />,\n duration,\n errorBorderColor,\n focusBorderColor,\n icon,\n items: itemsProp,\n contentProps,\n elementProps,\n groupProps,\n iconProps,\n optionProps,\n placeholderProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const items = useMemo<ComboboxItem[]>(() => {\n if (itemsProp) return itemsProp\n\n return createComboboxItem(children, {\n Group: SelectGroup,\n Label: SelectLabel,\n Option: SelectOption,\n })\n }, [itemsProp, children])\n const {\n descendants,\n includePlaceholder,\n items: computedItems,\n max,\n placeholder,\n value,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n getSeparatorProps,\n popoverProps,\n onActiveDescendant,\n onChange,\n onClose,\n onSelect,\n } = useSelect({ items, ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const computedChildren = useMemo(() => {\n if (children)\n return (\n <>\n {placeholder ? (\n <SelectOption\n {...placeholderProps}\n hidden={!includePlaceholder}\n value=\"\"\n >\n {placeholder}\n </SelectOption>\n ) : null}\n\n {children}\n </>\n )\n\n return createComboboxChildren(computedItems, {\n Group: SelectGroup,\n Option: SelectOption,\n })\n }, [\n children,\n computedItems,\n placeholder,\n includePlaceholder,\n placeholderProps,\n ])\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const comboboxContext = useMemo(\n () => ({ max, value, onActiveDescendant, onChange, onClose, onSelect }),\n [max, onActiveDescendant, onChange, onClose, onSelect, value],\n )\n const selectContext = useMemo(() => ({ max, value }), [max, value])\n const componentContext = useMemo(\n () => ({ getSeparatorProps, groupProps, optionProps }),\n [getSeparatorProps, groupProps, optionProps],\n )\n const hasValue = isArray(value) ? !!value.length : !!value\n\n return (\n <ComboboxDescendantsContext value={descendants}>\n <ComboboxContext value={comboboxContext}>\n <SelectContext value={selectContext}>\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <styled.input {...getInputProps()} />\n\n <InputGroup.Root\n {...mergeProps(\n { className, css, colorScheme },\n getRootProps(groupItemProps),\n rootProps,\n )()}\n >\n <Popover.Trigger>\n <SelectField {...getFieldProps(varProps)} />\n </Popover.Trigger>\n\n <InputGroup.Element\n {...{ clickable: clearable && hasValue, ...elementProps }}\n >\n {clearable && hasValue ? (\n <SelectIcon\n icon={clearIcon}\n {...getClearIconProps(iconProps)}\n />\n ) : (\n <SelectIcon icon={icon} {...getIconProps(iconProps)} />\n )}\n </InputGroup.Element>\n </InputGroup.Root>\n\n <SelectContent\n {...cast<SelectContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n {computedChildren}\n </SelectContent>\n </Popover.Root>\n </ComponentContext>\n </SelectContext>\n </ComboboxContext>\n </ComboboxDescendantsContext>\n )\n },\n \"root\",\n)((props) => {\n const context = useInputPropsContext()\n\n return mergeProps(context, props)()\n}) as GenericsComponent<{\n <Multiple extends boolean = false>(\n props: SelectRootProps<Multiple>,\n ): ReactElement\n}>\n\ninterface SelectFieldProps extends HTMLStyledProps {}\n\nconst SelectField = withContext<\"div\", SelectFieldProps>(\"div\", \"field\")(\n { \"data-group-propagate\": \"\" },\n ({ children, ...rest }) => ({\n ...rest,\n children: <SelectValueText>{children}</SelectValueText>,\n }),\n)\n\ninterface SelectIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst SelectIcon = withContext<\"div\", SelectIconProps>(\"div\", \"icon\")(\n undefined,\n ({ children, icon, ...rest }) => ({\n children: icon || children || <ChevronDownIcon />,\n ...rest,\n }),\n)\n\ninterface SelectValueTextProps extends HTMLProps<\"span\"> {}\n\nconst SelectValueText = withContext<\"span\", SelectValueTextProps>(\n \"span\",\n \"valueText\",\n)()\n\ninterface SelectContentProps extends Popover.ContentProps {}\n\nconst SelectContent = withContext<\"div\", SelectContentProps>(\n Popover.Content,\n \"content\",\n)()\n\nexport interface SelectLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SelectLabel = withContext<\"span\", SelectLabelProps>(\n \"span\",\n \"label\",\n)(undefined, (props) => {\n const { getLabelProps } = useComboboxGroupContext()\n\n return getLabelProps(props)\n})\n\nexport interface SelectGroupProps\n extends UseComboboxGroupProps, HTMLStyledProps {\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the label component.\n */\n labelProps?: SelectLabelProps\n}\n\nexport const SelectGroup = withContext<\"div\", SelectGroupProps>(\n ({ children, label, labelProps, ...rest }) => {\n const { groupProps } = useComponentContext()\n const { getGroupProps, getLabelProps } = useComboboxGroup(\n mergeProps(groupProps, rest)(),\n )\n const context = useMemo(() => ({ getLabelProps }), [getLabelProps])\n\n return (\n <ComboboxGroupContext value={context}>\n <styled.div {...getGroupProps()}>\n {label ? <SelectLabel {...labelProps}>{label}</SelectLabel> : null}\n {children}\n </styled.div>\n </ComboboxGroupContext>\n )\n },\n \"group\",\n)()\n\nexport interface SelectOptionProps\n extends UseSelectOptionProps, HTMLStyledProps {\n /**\n * The icon to be used in the select option.\n */\n icon?: ReactNode\n}\n\nexport const SelectOption = withContext<\"div\", SelectOptionProps>(\n ({ children, icon: iconProp, ...rest }) => {\n const { optionProps: { icon, ...optionProps } = {} } = useComponentContext()\n const { getIndicatorProps, getOptionProps } = useSelectOption(\n mergeProps(optionProps, rest)(),\n )\n\n return (\n <styled.div {...getOptionProps()}>\n <SelectIndicator {...getIndicatorProps()}>\n {iconProp ?? icon ?? <CheckIcon />}\n </SelectIndicator>\n {children}\n </styled.div>\n )\n },\n \"option\",\n)()\n\ninterface SelectIndicatorProps extends HTMLStyledProps {}\n\nconst SelectIndicator = withContext<\"div\", SelectIndicatorProps>(\n \"div\",\n \"indicator\",\n)()\n\nexport interface SelectSeparatorProps extends HTMLStyledProps<\"hr\"> {}\n\nexport const SelectSeparator = withContext<\"hr\", SelectSeparatorProps>(\n \"hr\",\n \"separator\",\n)(undefined, (props) => {\n const { getSeparatorProps } = useComponentContext()\n\n return getSeparatorProps(props)\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","names":["Popover.Root","InputGroup.Root","Popover.Trigger","InputGroup.Element","Popover.Content"],"sources":["../../../../src/components/select/select.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type {\n ComboboxItem,\n UseComboboxGroupProps,\n} from \"../../hooks/use-combobox\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { SelectStyle } from \"./select.style\"\nimport type {\n UseSelectOptionProps,\n UseSelectProps,\n UseSelectReturn,\n} from \"./use-select\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, mergeProps, styled } from \"../../core\"\nimport {\n ComboboxContext,\n ComboboxDescendantsContext,\n ComboboxGroupContext,\n createComboboxChildren,\n createComboboxItem,\n useComboboxGroup,\n useComboboxGroupContext,\n} from \"../../hooks/use-combobox\"\nimport { cast, isArray } from \"../../utils\"\nimport { useGroupItemProps } from \"../group\"\nimport { CheckIcon, ChevronDownIcon, XIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { selectStyle } from \"./select.style\"\nimport { SelectContext, useSelect, useSelectOption } from \"./use-select\"\n\ninterface ComponentContext\n extends\n Pick<UseSelectReturn, \"getSeparatorProps\">,\n Pick<SelectRootProps, \"groupProps\" | \"optionProps\"> {}\n\nexport interface SelectRootProps<Multiple extends boolean = false>\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"value\">,\n Merge<UseSelectProps<Multiple>, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n ThemeProps<SelectStyle>,\n UseInputBorderProps {\n /**\n * If `true`, display the clear icon.\n *\n * @default false\n */\n clearable?: boolean\n /**\n * The icon to be used in the clear button.\n */\n clearIcon?: ReactNode\n /**\n * The icon to be used in the select.\n */\n icon?: ReactNode\n /**\n * Props for content element.\n */\n contentProps?: SelectContentProps\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for group element.\n */\n groupProps?: Omit<SelectGroupProps, \"children\" | \"label\">\n /**\n * Props for icon element.\n */\n iconProps?: SelectIconProps\n /**\n * Props for option element.\n */\n optionProps?: Omit<SelectOptionProps, \"children\" | \"value\">\n /**\n * Props for placeholder element.\n */\n placeholderProps?: Omit<SelectOptionProps, \"children\" | \"value\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n ComponentContext,\n PropsContext: SelectPropsContext,\n useComponentContext,\n usePropsContext: useSelectPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SelectRootProps, SelectStyle, ComponentContext>(\n \"select\",\n selectStyle,\n)\n\nexport { SelectPropsContext, useSelectPropsContext }\n\n/**\n * `Select` is a component used for allowing a user to choose one option from a list.\n *\n * @see https://yamada-ui.com/docs/components/select\n */\nexport const SelectRoot = withProvider<\"div\", SelectRootProps>(\n <Multiple extends boolean = false>(props: SelectRootProps<Multiple>) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n animationScheme = \"block-start\",\n children,\n clearable,\n clearIcon = <XIcon />,\n duration,\n errorBorderColor,\n focusBorderColor,\n icon,\n items: itemsProp,\n contentProps,\n elementProps,\n groupProps,\n iconProps,\n optionProps,\n placeholderProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const items = useMemo<ComboboxItem[]>(() => {\n if (itemsProp) return itemsProp\n\n return createComboboxItem(children, {\n Group: SelectGroup,\n Label: SelectLabel,\n Option: SelectOption,\n })\n }, [itemsProp, children])\n const {\n descendants,\n includePlaceholder,\n items: computedItems,\n max,\n placeholder,\n value,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n getSeparatorProps,\n popoverProps,\n onActiveDescendant,\n onChange,\n onClose,\n onSelect,\n } = useSelect({ items, ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const computedChildren = useMemo(() => {\n if (children)\n return (\n <>\n {placeholder ? (\n <SelectOption\n {...placeholderProps}\n hidden={!includePlaceholder}\n value=\"\"\n >\n {placeholder}\n </SelectOption>\n ) : null}\n\n {children}\n </>\n )\n\n return createComboboxChildren(computedItems, {\n Group: SelectGroup,\n Option: SelectOption,\n })\n }, [\n children,\n computedItems,\n placeholder,\n includePlaceholder,\n placeholderProps,\n ])\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const comboboxContext = useMemo(\n () => ({ max, value, onActiveDescendant, onChange, onClose, onSelect }),\n [max, onActiveDescendant, onChange, onClose, onSelect, value],\n )\n const selectContext = useMemo(() => ({ max, value }), [max, value])\n const componentContext = useMemo(\n () => ({ getSeparatorProps, groupProps, optionProps }),\n [getSeparatorProps, groupProps, optionProps],\n )\n const hasValue = isArray(value) ? !!value.length : !!value\n\n return (\n <ComboboxDescendantsContext value={descendants}>\n <ComboboxContext value={comboboxContext}>\n <SelectContext value={selectContext}>\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <styled.input {...getInputProps()} />\n\n <InputGroup.Root\n {...mergeProps(\n { className, css, colorScheme },\n getRootProps(groupItemProps),\n rootProps,\n )()}\n >\n <Popover.Trigger>\n <SelectField {...getFieldProps({ ...varProps })} />\n </Popover.Trigger>\n\n <InputGroup.Element\n {...{ clickable: clearable && hasValue, ...elementProps }}\n >\n {clearable && hasValue ? (\n <SelectIcon\n icon={clearIcon}\n {...getClearIconProps(iconProps)}\n />\n ) : (\n <SelectIcon icon={icon} {...getIconProps(iconProps)} />\n )}\n </InputGroup.Element>\n </InputGroup.Root>\n\n <SelectContent\n {...cast<SelectContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n {computedChildren}\n </SelectContent>\n </Popover.Root>\n </ComponentContext>\n </SelectContext>\n </ComboboxContext>\n </ComboboxDescendantsContext>\n )\n },\n \"root\",\n)((props) => {\n const context = useInputPropsContext()\n\n return mergeProps(context, props)()\n}) as GenericsComponent<{\n <Multiple extends boolean = false>(\n props: SelectRootProps<Multiple>,\n ): ReactElement\n}>\n\ninterface SelectFieldProps extends HTMLStyledProps {}\n\nconst SelectField = withContext<\"div\", SelectFieldProps>(\"div\", \"field\")(\n { \"data-group-propagate\": \"\" },\n ({ children, ...rest }) => ({\n ...rest,\n children: <SelectValueText>{children}</SelectValueText>,\n }),\n)\n\ninterface SelectIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst SelectIcon = withContext<\"div\", SelectIconProps>(\"div\", \"icon\")(\n undefined,\n ({ children, icon, ...rest }) => ({\n children: icon || children || <ChevronDownIcon />,\n ...rest,\n }),\n)\n\ninterface SelectValueTextProps extends HTMLProps<\"span\"> {}\n\nconst SelectValueText = withContext<\"span\", SelectValueTextProps>(\n \"span\",\n \"valueText\",\n)()\n\ninterface SelectContentProps extends Popover.ContentProps {}\n\nconst SelectContent = withContext<\"div\", SelectContentProps>(\n Popover.Content,\n \"content\",\n)()\n\nexport interface SelectLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SelectLabel = withContext<\"span\", SelectLabelProps>(\n \"span\",\n \"label\",\n)(undefined, (props) => {\n const { getLabelProps } = useComboboxGroupContext()\n\n return getLabelProps(props)\n})\n\nexport interface SelectGroupProps\n extends UseComboboxGroupProps, HTMLStyledProps {\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the label component.\n */\n labelProps?: SelectLabelProps\n}\n\nexport const SelectGroup = withContext<\"div\", SelectGroupProps>(\n ({ children, label, labelProps, ...rest }) => {\n const { groupProps } = useComponentContext()\n const { getGroupProps, getLabelProps } = useComboboxGroup(\n mergeProps(groupProps, rest)(),\n )\n const context = useMemo(() => ({ getLabelProps }), [getLabelProps])\n\n return (\n <ComboboxGroupContext value={context}>\n <styled.div {...getGroupProps()}>\n {label ? <SelectLabel {...labelProps}>{label}</SelectLabel> : null}\n {children}\n </styled.div>\n </ComboboxGroupContext>\n )\n },\n \"group\",\n)()\n\nexport interface SelectOptionProps\n extends UseSelectOptionProps, HTMLStyledProps {\n /**\n * The icon to be used in the select option.\n */\n icon?: ReactNode\n}\n\nexport const SelectOption = withContext<\"div\", SelectOptionProps>(\n ({ children, icon: iconProp, ...rest }) => {\n const { optionProps: { icon, ...optionProps } = {} } = useComponentContext()\n const { getIndicatorProps, getOptionProps } = useSelectOption(\n mergeProps(optionProps, rest)(),\n )\n\n return (\n <styled.div {...getOptionProps()}>\n <SelectIndicator {...getIndicatorProps()}>\n {iconProp ?? icon ?? <CheckIcon />}\n </SelectIndicator>\n {children}\n </styled.div>\n )\n },\n \"option\",\n)()\n\ninterface SelectIndicatorProps extends HTMLStyledProps {}\n\nconst SelectIndicator = withContext<\"div\", SelectIndicatorProps>(\n \"div\",\n \"indicator\",\n)()\n\nexport interface SelectSeparatorProps extends HTMLStyledProps<\"hr\"> {}\n\nexport const SelectSeparator = withContext<\"hr\", SelectSeparatorProps>(\n \"hr\",\n \"separator\",\n)(undefined, (props) => {\n const { getSeparatorProps } = useComponentContext()\n\n return getSeparatorProps(props)\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGA,MAAM,EACJ,kBACA,cAAc,oBACd,qBACA,iBAAiB,uBACjB,aACA,iBACE,oBACF,UACA,YACD;;;;;;AASD,MAAa,aAAa,cACW,UAAqC;CACtE,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,kBAAkB,eAClB,UACA,WACA,YAAY,oBAAC,UAAQ,EACrB,UACA,kBACA,kBACA,MACA,OAAO,WACP,cACA,cACA,YACA,WACA,aACA,kBACA,WACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,oBAAoB,qBAAqB,KAAK;CAUpD,MAAM,EACJ,aACA,oBACA,OAAO,eACP,KACA,aACA,OACA,mBACA,iBACA,eACA,cACA,eACA,cACA,mBACA,cACA,oBACA,UACA,SACA,aACE,UAAU;EAAE,OA5BF,cAA8B;AAC1C,OAAI,UAAW,QAAO;AAEtB,UAAO,mBAAmB,UAAU;IAClC,OAAO;IACP,OAAO;IACP,QAAQ;IACT,CAAC;KACD,CAAC,WAAW,SAAS,CAAC;EAoBF,GAAG;EAAM,GAAG;EAAmB,CAAC;CACvD,MAAM,qBAAqB,eAClB;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,mBAAmB,cAAc;AACrC,MAAI,SACF,QACE,8CACG,cACC,oBAAC;GACC,GAAI;GACJ,QAAQ,CAAC;GACT,OAAM;aAEL;IACY,GACb,MAEH,YACA;AAGP,SAAO,uBAAuB,eAAe;GAC3C,OAAO;GACP,QAAQ;GACT,CAAC;IACD;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;CACF,MAAM,WAAW,eAAe;EAAE;EAAkB;EAAkB,CAAC;CACvE,MAAM,kBAAkB,eACf;EAAE;EAAK;EAAO;EAAoB;EAAU;EAAS;EAAU,GACtE;EAAC;EAAK;EAAoB;EAAU;EAAS;EAAU;EAAM,CAC9D;CACD,MAAM,gBAAgB,eAAe;EAAE;EAAK;EAAO,GAAG,CAAC,KAAK,MAAM,CAAC;CACnE,MAAM,mBAAmB,eAChB;EAAE;EAAmB;EAAY;EAAa,GACrD;EAAC;EAAmB;EAAY;EAAY,CAC7C;CACD,MAAM,sCAAmB,MAAM,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC;AAErD,QACE,oBAAC;EAA2B,OAAO;YACjC,oBAAC;GAAgB,OAAO;aACtB,oBAAC;IAAc,OAAO;cACpB,oBAAC;KAAiB,OAAO;eACvB,qBAACA;MAAa,GAAI;;OAChB,oBAAC,OAAO,SAAM,GAAI,eAAe,GAAI;OAErC,qBAACC;QACC,GAAI,WACF;SAAE;SAAW;SAAK;SAAa,EAC/B,aAAa,eAAe,EAC5B,UACD,EAAE;mBAEH,oBAACC,4BACC,oBAAC,eAAY,GAAI,cAAc,EAAE,GAAG,UAAU,CAAC,GAAI,GACnC,EAElB,oBAACC;SACO,WAAW,aAAa;SAAU,GAAG;mBAE1C,aAAa,WACZ,oBAAC;UACC,MAAM;UACN,GAAI,kBAAkB,UAAU;WAChC,GAEF,oBAAC;UAAiB;UAAM,GAAI,aAAa,UAAU;WAAI;UAEtC;SACL;OAElB,oBAAC;QACC,2BACE,wCAAgC,aAAa,CAAC,CAC/C;kBAEA;SACa;;OACH;MACE;KACL;IACA;GACS;GAGjC,OACD,EAAE,UAAU;AAGX,QAAO,WAFS,sBAAsB,EAEX,MAAM,EAAE;EACnC;AAQF,MAAM,cAAc,YAAqC,OAAO,QAAQ,CACtE,EAAE,wBAAwB,IAAI,GAC7B,EAAE,UAAU,GAAG,YAAY;CAC1B,GAAG;CACH,UAAU,oBAAC,mBAAiB,WAA2B;CACxD,EACF;AAMD,MAAM,aAAa,YAAoC,OAAO,OAAO,CACnE,SACC,EAAE,UAAU,MAAM,GAAG,YAAY;CAChC,UAAU,QAAQ,YAAY,oBAAC,oBAAkB;CACjD,GAAG;CACJ,EACF;AAID,MAAM,kBAAkB,YACtB,QACA,YACD,EAAE;AAIH,MAAM,gBAAgB,YACpBC,gBACA,UACD,EAAE;AAIH,MAAa,cAAc,YACzB,QACA,QACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,kBAAkB,yBAAyB;AAEnD,QAAO,cAAc,MAAM;EAC3B;AAcF,MAAa,cAAc,aACxB,EAAE,UAAU,OAAO,YAAY,GAAG,WAAW;CAC5C,MAAM,EAAE,eAAe,qBAAqB;CAC5C,MAAM,EAAE,eAAe,kBAAkB,iBACvC,WAAW,YAAY,KAAK,EAAE,CAC/B;AAGD,QACE,oBAAC;EAAqB,OAHR,eAAe,EAAE,eAAe,GAAG,CAAC,cAAc,CAAC;YAI/D,qBAAC,OAAO;GAAI,GAAI,eAAe;cAC5B,QAAQ,oBAAC;IAAY,GAAI;cAAa;KAAoB,GAAG,MAC7D;IACU;GACQ;GAG3B,QACD,EAAE;AAUH,MAAa,eAAe,aACzB,EAAE,UAAU,MAAM,UAAU,GAAG,WAAW;CACzC,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB,EAAE,KAAK,qBAAqB;CAC5E,MAAM,EAAE,mBAAmB,mBAAmB,gBAC5C,WAAW,aAAa,KAAK,EAAE,CAChC;AAED,QACE,qBAAC,OAAO;EAAI,GAAI,gBAAgB;aAC9B,oBAAC;GAAgB,GAAI,mBAAmB;aACrC,YAAY,QAAQ,oBAAC,cAAY;IAClB,EACjB;GACU;GAGjB,SACD,EAAE;AAIH,MAAM,kBAAkB,YACtB,OACA,YACD,EAAE;AAIH,MAAa,kBAAkB,YAC7B,MACA,YACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,sBAAsB,qBAAqB;AAEnD,QAAO,kBAAkB,MAAM;EAC/B"}
|
|
@@ -622,7 +622,7 @@ const SidebarItemLink = withContext((props) => {
|
|
|
622
622
|
return /* @__PURE__ */ jsx(SidebarItemTooltip, { children: /* @__PURE__ */ jsx(styled.a, { ...props }) });
|
|
623
623
|
}, "itemLink")();
|
|
624
624
|
const SidebarItemContent = withContext((props) => {
|
|
625
|
-
const { contentProps
|
|
625
|
+
const { contentProps } = useItemComponentContext();
|
|
626
626
|
return /* @__PURE__ */ jsx(Collapse, {
|
|
627
627
|
as: "ul",
|
|
628
628
|
...(0, utils_exports.cast)(mergeProps(contentProps, props)())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","names":["createContext","Drawer.Root","Drawer.Content","rest","children","SidebarItemTooltip: FC<SidebarItemTooltipProps>"],"sources":["../../../../src/components/sidebar/sidebar.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type {\n Breakpoint,\n ExtractStyleValue,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ReactNodeOrFunction } from \"../../utils\"\nimport type { CollapseProps } from \"../collapse\"\nimport type { Loading } from \"../loading\"\nimport type { WithTransitionProps } from \"../motion\"\nimport type {\n UseSidebarGroupProps,\n UseSidebarGroupReturn,\n UseSidebarItemProps,\n UseSidebarItemReturn,\n UseSidebarProps,\n UseSidebarReturn,\n} from \"./use-sidebar\"\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n} from \"react\"\nimport { createSlotComponent, mergeProps, styled } from \"../../core\"\nimport { useBreakpointValue } from \"../../hooks/use-breakpoint\"\nimport { useValue } from \"../../hooks/use-value\"\nimport {\n cast,\n createContext,\n dataAttr,\n isObject,\n isString,\n runIfFn,\n useIncludesChildren,\n useSplitChildren,\n useValidChildren,\n} from \"../../utils\"\nimport { Collapse } from \"../collapse\"\nimport { Drawer } from \"../drawer\"\nimport { ChevronRightIcon } from \"../icon\"\nimport { useLoadingComponent } from \"../loading\"\nimport { Tooltip, type TooltipProps } from \"../tooltip\"\nimport { sidebarStyle, type SidebarStyle } from \"./sidebar.style\"\nimport {\n SidebarContext,\n SidebarDescendantsContext,\n SidebarItemContext,\n useSidebar,\n useSidebarContext,\n useSidebarGroup,\n useSidebarItem,\n} from \"./use-sidebar\"\n\ninterface SidebarItemCallBackProps {\n disabled?: boolean\n expanded?: boolean\n}\n\ntype SidebarItemReactNode =\n | ReactNodeOrFunction<SidebarItemCallBackProps>\n | {\n group: ReactNodeOrFunction<SidebarItemCallBackProps>\n item?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n | {\n item: ReactNodeOrFunction<SidebarItemCallBackProps>\n group?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n\ninterface SidebarItemSharedRenderProps\n extends\n Pick<SidebarItemProps, \"label\">,\n Pick<\n UseSidebarItemReturn,\n | \"expanded\"\n | \"expandedValue\"\n | \"onExpandedChange\"\n | \"onSelectedChange\"\n | \"selected\"\n | \"selectedValue\"\n | \"value\"\n > {\n itemProps: HTMLStyledProps<\"li\">\n linkProps: HTMLStyledProps<\"a\">\n triggerProps: HTMLStyledProps<\"button\">\n endElement?: ReactNode\n startElement?: ReactNode\n}\n\ninterface SidebarItemRenderProps\n extends\n PropsWithChildren,\n Omit<SidebarItemSharedRenderProps, \"endElement\" | \"startElement\">,\n Pick<\n UseSidebarItemReturn,\n | \"group\"\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n endElement: { group?: ReactNode; item?: ReactNode }\n startElement: { group?: ReactNode; item?: ReactNode }\n indicator?: ReactNode\n link?: ReactNode\n trigger?: ReactNode\n}\n\ninterface SidebarItemLinkRenderProps extends Omit<\n SidebarItemSharedRenderProps,\n \"itemProps\" | \"triggerProps\"\n> {}\n\ninterface SidebarItemTriggerRenderProps\n extends\n Omit<SidebarItemSharedRenderProps, \"itemProps\" | \"linkProps\">,\n Pick<\n UseSidebarItemReturn,\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n indicator?: ReactNode\n}\n\ninterface SidebarItemRender {\n item?: ReactNodeOrFunction<SidebarItemRenderProps>\n link?: ReactNodeOrFunction<SidebarItemLinkRenderProps>\n trigger?: ReactNodeOrFunction<SidebarItemTriggerRenderProps>\n}\n\ninterface SidebarGroup extends Omit<SidebarGroupProps, \"children\" | \"value\"> {\n children: SidebarItemWithValue[]\n group: true\n}\n\nexport interface SidebarItemWithValue extends Omit<\n SidebarItemProps,\n \"children\"\n> {\n children?: SidebarItemWithValue[]\n}\n\nexport type SidebarItem = SidebarGroup | SidebarItemWithValue\n\nconst createKey = (props: SidebarItem, index: number) => {\n return \"value\" in props ? props.value || index : index\n}\n\nconst getReactNodeOrFunction = (\n type: \"group\" | \"item\",\n custom?: SidebarItemReactNode,\n root?: SidebarItemReactNode,\n): ReactNodeOrFunction<SidebarItemCallBackProps> => {\n if (isObject(custom) && (\"group\" in custom || \"item\" in custom)) {\n return custom[type]\n } else if (custom) {\n return custom\n } else if (isObject(root) && (\"group\" in root || \"item\" in root)) {\n return root[type]\n } else {\n return root\n }\n}\n\ninterface ComponentContext extends Pick<\n UseSidebarReturn,\n | \"getContentProps\"\n | \"getFooterProps\"\n | \"getHeaderProps\"\n | \"getSidePanelProps\"\n | \"getTriggerProps\"\n> {\n breakpoint: ExtractStyleValue<NonNullable<SidebarRootProps[\"breakpoint\"]>>\n mode: ExtractStyleValue<NonNullable<SidebarRootProps[\"mode\"]>>\n placement: ExtractStyleValue<NonNullable<SidebarRootProps[\"placement\"]>>\n}\n\ninterface GroupComponentContext\n extends\n Pick<SidebarGroupProps, \"contentProps\" | \"labelProps\">,\n Pick<UseSidebarGroupReturn, \"getContentProps\" | \"getLabelProps\"> {}\n\nconst [GroupComponentContext, useGroupComponentContext] =\n createContext<GroupComponentContext>({ name: \"GroupComponentContext\" })\n\ninterface ItemComponentContext {\n contentProps: SidebarItemContentProps\n endElementProps: SidebarItemEndElementProps\n indicatorProps: SidebarItemIndicatorProps\n labelProps: SidebarItemLabelProps\n startElementProps: SidebarItemStartElementProps\n tooltipProps: SidebarItemTooltipProps\n}\n\nconst [ItemComponentContext, useItemComponentContext] =\n createContext<ItemComponentContext>({ name: \"ItemComponentContext\" })\n\ninterface SidePanelComponentContext extends Pick<\n SidebarSidePanelProps,\n | \"animated\"\n | \"contentProps\"\n | \"endElement\"\n | \"endElementProps\"\n | \"footerProps\"\n | \"groupContentProps\"\n | \"groupProps\"\n | \"handleProps\"\n | \"headerProps\"\n | \"indicator\"\n | \"indicatorHidden\"\n | \"indicatorProps\"\n | \"itemContentProps\"\n | \"itemProps\"\n | \"items\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"menuProps\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n> {}\n\nconst [SidePanelComponentContext, useSidePanelComponentContext] =\n createContext<SidePanelComponentContext>({\n name: \"SidePanelComponentContext\",\n })\n\nexport interface SidebarRootProps\n extends\n HTMLStyledProps<\"div\">,\n ThemeProps<SidebarStyle>,\n Omit<UseSidebarProps, \"mobile\"> {\n /**\n * The breakpoint to use for the sidebar. If `false`, the sidebar will be always visible.\n *\n * @default 'md'\n */\n breakpoint?: Exclude<Breakpoint, \"base\"> | false\n}\n\nconst {\n ComponentContext,\n PropsContext: SidebarPropsContext,\n useComponentContext,\n usePropsContext: useSidebarPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SidebarRootProps, SidebarStyle, ComponentContext>(\n \"sidebar\",\n sidebarStyle,\n)\n\nexport { SidebarPropsContext, useSidebarPropsContext }\n\n/**\n * `Sidebar` is a component that is used to display a list of items in a sidebar.\n *\n * @see https://yamada-ui.com/docs/components/sidebar\n */\nexport const SidebarRoot = withProvider<\n \"div\",\n SidebarRootProps,\n \"mode\" | \"placement\"\n>(\n ({\n breakpoint = \"md\",\n mode: modeProp = \"offcanvas\",\n placement: placementProp = \"start\",\n ...rest\n }) => {\n const mobile =\n useBreakpointValue<boolean | undefined>(\n breakpoint ? { [breakpoint]: true } : { base: false },\n ) ?? false\n const mode = useValue(modeProp)\n const placement = useValue(placementProp)\n const {\n descendants,\n expandedValue,\n open,\n selectedValue,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getRootProps,\n getSidePanelProps,\n getTriggerProps,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n } = useSidebar({ mobile, ...rest })\n const context = useMemo(\n () => ({\n expandedValue,\n mobile,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n }),\n [\n mobile,\n expandedValue,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n ],\n )\n const componentContext = useMemo(\n () => ({\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n }),\n [\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n ],\n )\n\n return (\n <SidebarDescendantsContext value={descendants}>\n <SidebarContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div data-group {...getRootProps()} />\n </ComponentContext>\n </SidebarContext>\n </SidebarDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"mode\", \"placement\"] },\n)()\n\nexport interface SidebarMainPanelProps extends HTMLStyledProps {}\n\nexport const SidebarMainPanel = withContext<\"div\", SidebarMainPanelProps>(\n \"div\",\n \"mainPanel\",\n)()\n\nexport interface SidebarTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarTrigger = withContext<\"button\", SidebarTriggerProps>(\n \"button\",\n \"trigger\",\n)(undefined, (props) => {\n const { getTriggerProps } = useComponentContext()\n\n return { asChild: true, ...getTriggerProps(props) }\n})\n\nexport interface SidebarSidePanelProps\n extends\n Omit<HTMLStyledProps<\"aside\">, \"content\">,\n Pick<SidebarContentProps, \"items\">,\n Pick<\n SidebarItemProps,\n | \"animated\"\n | \"endElement\"\n | \"endElementProps\"\n | \"indicator\"\n | \"indicatorProps\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n > {\n /**\n * The content of the sidebar.\n */\n content?: ReactNode\n /**\n * The footer of the sidebar.\n */\n footer?: ReactNode\n /**\n * The header of the sidebar.\n */\n header?: ReactNode\n /**\n * If `true`, hide the tree indicator icon for all items.\n *\n * @default false\n */\n indicatorHidden?: boolean\n /**\n * If `true`, the sidebar will be rendered with a handle.\n *\n * @default true\n */\n withHandle?: boolean\n /**\n * Props for the content component.\n */\n contentProps?: SidebarContentProps\n /**\n * Props for the drawer component.\n */\n drawerProps?: Omit<\n Drawer.RootProps,\n | \"body\"\n | \"cancel\"\n | \"children\"\n | \"footer\"\n | \"header\"\n | \"middle\"\n | \"onCancel\"\n | \"onClose\"\n | \"onMiddle\"\n | \"onOpen\"\n | \"onSuccess\"\n | \"open\"\n | \"success\"\n | \"title\"\n | \"trigger\"\n >\n /**\n * Props for the footer component.\n */\n footerProps?: SidebarFooterProps\n /**\n * Props for the group content component.\n */\n groupContentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the group component.\n */\n groupProps?: Omit<SidebarGroupProps, \"children\" | \"label\" | \"value\">\n /**\n * Props for the handle component.\n */\n handleProps?: SidebarHandleProps\n /**\n * Props for the header component.\n */\n headerProps?: SidebarHeaderProps\n /**\n * Props for the item content component.\n */\n itemContentProps?: SidebarItemContentProps\n /**\n * Props for the item component.\n */\n itemProps?: Omit<\n SidebarItemProps,\n \"children\" | \"items\" | \"label\" | \"open\" | \"value\"\n >\n /**\n * Props for the menu component.\n *\n * @default 'md'\n */\n menuProps?: SidebarMenuProps\n}\n\nexport const SidebarSidePanel = withContext<\"aside\", SidebarSidePanelProps>(\n ({\n animated = true,\n children,\n content,\n endElement,\n footer,\n header,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n withHandle = true,\n contentProps,\n drawerProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mobile, open, onClose } = useSidebarContext()\n const { breakpoint, placement, getSidePanelProps } = useComponentContext()\n const [\n omittedChildren,\n customHeader,\n customContent,\n customFooter,\n customHandle,\n ] = useSplitChildren(\n children,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarHandle,\n )\n const context = useMemo(\n () => ({\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n }),\n [\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n render,\n loadingScheme,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ],\n )\n\n return (\n <SidePanelComponentContext value={context}>\n {mobile ? (\n <Drawer.Root\n size=\"sm\"\n autoFocus={false}\n duration={!animated ? 0 : undefined}\n open={open}\n placement={`inline-${placement}`}\n withCloseButton={false}\n portalProps={{ disabled: true }}\n onClose={onClose}\n {...drawerProps}\n >\n <Drawer.Content>\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n </Drawer.Content>\n </Drawer.Root>\n ) : (\n <>\n <SidebarGap\n data-animated={dataAttr(animated)}\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n />\n\n <styled.aside\n data-animated={dataAttr(animated)}\n data-group\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n {...getSidePanelProps(rest)}\n >\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n {customHandle ?? (withHandle ? <SidebarHandle /> : null)}\n\n {omittedChildren}\n </styled.aside>\n </>\n )}\n </SidePanelComponentContext>\n )\n },\n \"sidePanel\",\n)()\n\ninterface SidebarGapProps extends HTMLStyledProps<\"div\"> {}\n\nconst SidebarGap = withContext<\"div\", SidebarGapProps>(\"div\", \"gap\")()\n\nexport interface SidebarHeaderProps extends HTMLStyledProps<\"header\"> {}\n\nexport const SidebarHeader = withContext<\"header\", SidebarHeaderProps>(\n \"header\",\n \"header\",\n)(undefined, (props) => {\n const { getHeaderProps } = useComponentContext()\n const { headerProps } = useSidePanelComponentContext()\n\n return getHeaderProps(mergeProps(headerProps, props)())\n})\n\nexport interface SidebarFooterProps extends HTMLStyledProps<\"footer\"> {}\n\nexport const SidebarFooter = withContext<\"footer\", SidebarFooterProps>(\n \"footer\",\n \"footer\",\n)(undefined, (props) => {\n const { getFooterProps } = useComponentContext()\n const { footerProps } = useSidePanelComponentContext()\n\n return getFooterProps(mergeProps(footerProps, props)())\n})\n\nexport interface SidebarContentProps extends HTMLStyledProps<\"ul\"> {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItem[]\n}\n\nexport const SidebarContent = withContext<\"ul\", SidebarContentProps>(\n ({ children, items, ...rest }) => {\n const { getContentProps } = useComponentContext()\n const { items: rootItems, contentProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (items ?? rootItems)?.map((props, index) => {\n const key = createKey(props, index)\n\n if (\"group\" in props) {\n const { children, group: _, ...rest } = props\n\n return <SidebarGroup key={key} items={children} {...rest} />\n } else {\n const { children, ...rest } = props\n\n return <SidebarItem key={key} items={children} {...rest} />\n }\n })\n }, [children, items, rootItems])\n\n return (\n <styled.ul {...getContentProps(mergeProps(contentProps, rest)())}>\n {computedChildren}\n </styled.ul>\n )\n },\n \"content\",\n)()\n\nexport interface SidebarHandleProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarHandle = withContext<\"button\", SidebarHandleProps>(\n (props) => {\n const { handleProps } = useSidePanelComponentContext()\n\n return (\n <SidebarTrigger {...mergeProps(handleProps, props)()}>\n <styled.button tabIndex={-1} />\n </SidebarTrigger>\n )\n },\n \"handle\",\n)()\n\nexport interface SidebarGroupProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"content\" | \"value\">,\n UseSidebarGroupProps {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the label component.\n */\n labelProps?: HTMLStyledProps<\"span\">\n}\n\nexport const SidebarGroup = withContext<\"li\", SidebarGroupProps>(\n ({\n children,\n items,\n label,\n value: valueProp = isString(label) ? label : undefined,\n contentProps,\n labelProps,\n ...rest\n }) => {\n const { groupProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [children, items])\n const [omittedChildren, customLabel, customContent] = useSplitChildren(\n computedChildren,\n SidebarGroupLabel,\n SidebarGroupContent,\n )\n const { getContentProps, getLabelProps, getRootProps } = useSidebarGroup({\n ...mergeProps(groupProps, rest)(),\n value: valueProp,\n })\n const context = useMemo(\n () => ({ contentProps, getContentProps, getLabelProps, labelProps }),\n [getLabelProps, labelProps, getContentProps, contentProps],\n )\n\n return (\n <GroupComponentContext value={context}>\n <styled.li {...getRootProps()}>\n {customLabel ??\n (label ? <SidebarGroupLabel>{label}</SidebarGroupLabel> : null)}\n {customContent ?? (\n <SidebarGroupContent>{omittedChildren}</SidebarGroupContent>\n )}\n </styled.li>\n </GroupComponentContext>\n )\n },\n \"group\",\n)()\n\nexport interface SidebarGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarGroupLabel = withContext<\"span\", SidebarGroupLabelProps>(\n \"span\",\n \"groupLabel\",\n)(undefined, (props) => {\n const { getLabelProps, labelProps } = useGroupComponentContext()\n\n return getLabelProps(mergeProps(labelProps, props)())\n})\n\nexport interface SidebarGroupContentProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarGroupContent = withContext<\"div\", SidebarGroupContentProps>(\n \"div\",\n \"groupContent\",\n)(undefined, ({ children, ...rest }) => {\n const validChildren = useValidChildren(children)\n const list = useIncludesChildren(validChildren, SidebarItem)\n const { groupContentProps } = useSidePanelComponentContext()\n const { contentProps, getContentProps } = useGroupComponentContext()\n\n return {\n as: list ? \"ul\" : \"div\",\n children,\n ...getContentProps(mergeProps(groupContentProps, contentProps, rest)()),\n }\n})\n\nexport interface SidebarMenuProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarMenu = withContext<\"div\", SidebarMenuProps>(\"div\", \"menu\")(\n undefined,\n (props) => {\n const { menuProps } = useSidePanelComponentContext()\n\n return { \"data-menu\": \"\", ...mergeProps(menuProps, props)() }\n },\n)\n\nexport interface SidebarMenuButtonProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarMenuButton = withContext<\"button\", SidebarMenuButtonProps>(\n \"button\",\n [\"menu\", \"button\"],\n)(undefined, (props) => {\n const { open } = useSidebarContext()\n const { mode } = useComponentContext()\n const { menuProps } = useSidePanelComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const { disabled, ...rest } = mergeProps(menuProps, props)()\n\n return {\n \"data-menu\": \"\",\n disabled,\n ...rest,\n tabIndex: (!offcanvas || open) && !disabled ? 0 : -1,\n }\n})\n\nexport interface SidebarItemProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"value\">,\n Omit<UseSidebarItemProps, \"asyncChildren\"> {\n /**\n * The label to display in the item.\n */\n label: ReactNode\n /**\n * If `true`, the sidebar item will be animated.\n *\n * @default true\n */\n animated?: boolean\n /**\n * The element to display at the end of the item.\n */\n endElement?: SidebarItemReactNode\n /**\n * The sidebar item indicator icon to use.\n */\n indicator?: ReactNodeOrFunction<SidebarItemCallBackProps>\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The loading scheme.\n *\n * @default 'oval'\n */\n loadingScheme?: Loading.Scheme\n /**\n * If provided, the sidebar item will be rendered with custom components.\n */\n render?: SidebarItemRender\n /**\n * The element to display at the start of the item.\n */\n startElement?: SidebarItemReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarItemContentProps, \"children\">\n /**\n * Props for the end component.\n */\n endElementProps?: SidebarItemEndElementProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: SidebarItemIndicatorProps\n /**\n * Props for the label component.\n */\n labelProps?: SidebarItemLabelProps\n /**\n * Props for the link component.\n */\n linkProps?: SidebarItemLinkProps\n /**\n * Props for the start component.\n */\n startElementProps?: SidebarItemStartElementProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: Omit<SidebarItemTooltipProps, \"children\" | \"content\">\n /**\n * Props for the trigger component.\n */\n triggerProps?: SidebarItemTriggerProps\n /**\n * If provided, the sidebar item will be rendered as an async sidebar item.\n */\n asyncChildren?: () => Promise<SidebarItemWithValue[]>\n}\n\nexport const SidebarItem = withContext<\"li\", SidebarItemProps>(\n ({\n animated: animatedProp,\n asyncChildren: asyncChildrenProp,\n children: childrenProp,\n endElement,\n indicator: indicatorProp,\n items,\n label,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n indicatorProps,\n labelProps,\n linkProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mode } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const componentContext = useSidePanelComponentContext()\n const Loading = useLoadingComponent(\n loadingScheme ?? componentContext.loadingScheme ?? \"oval\",\n )\n const computedChildren = useMemo(() => {\n if (childrenProp) return childrenProp\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [childrenProp, items])\n const asyncChildren = useCallback(async () => {\n const items = await asyncChildrenProp?.()\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [asyncChildrenProp])\n const {\n branchOpen,\n children,\n disabled,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n open,\n selected,\n selectedValue,\n value,\n getContentProps,\n getIndicatorProps,\n getItemProps,\n getLabelProps,\n getLinkProps,\n getTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n } = useSidebarItem({\n ...componentContext.itemProps,\n ...rest,\n asyncChildren: asyncChildrenProp ? asyncChildren : undefined,\n children: computedChildren,\n })\n const animated = animatedProp ?? componentContext.animated ?? true\n const tabIndex = offcanvas\n ? open && expanded && !disabled\n ? 0\n : -1\n : expanded && !disabled\n ? 0\n : -1\n const callbackProps = useMemo(\n () => ({ disabled, expanded: groupOpen }),\n [disabled, groupOpen],\n )\n const mergedTriggerProps = useMemo(() => {\n return getTriggerProps({\n tabIndex,\n ...mergeProps(componentContext.triggerProps, triggerProps)(),\n }) as SidebarItemTriggerProps\n }, [getTriggerProps, tabIndex, componentContext.triggerProps, triggerProps])\n const mergedLinkProps = useMemo(() => {\n return getLinkProps({\n tabIndex,\n ...mergeProps(componentContext.linkProps, linkProps)(),\n }) as SidebarItemLinkProps\n }, [getLinkProps, tabIndex, componentContext.linkProps, linkProps])\n const indicator = useMemo<ReactNode>(\n () => runIfFn(indicatorProp ?? componentContext.indicator, callbackProps),\n [indicatorProp, componentContext.indicator, callbackProps],\n )\n const groupStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const groupEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const itemStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const itemEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const trigger = useMemo<ReactNode>(\n () =>\n runIfFn(render?.trigger ?? componentContext.render?.trigger, {\n endElement: groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n startElement: groupStartElement,\n value,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.trigger,\n componentContext.render?.trigger,\n groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n groupStartElement,\n value,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const link = useMemo<ReactNode>(\n () =>\n runIfFn(render?.link ?? componentContext.render?.link, {\n endElement: itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n startElement: itemStartElement,\n value,\n linkProps: mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n }),\n [\n render?.link,\n componentContext.render?.link,\n itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n itemStartElement,\n value,\n mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n ],\n )\n const item = useMemo<ReactNode>(\n () =>\n runIfFn(render?.item ?? componentContext.render?.item, {\n children,\n endElement: { group: groupEndElement, item: itemEndElement },\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n startElement: { group: groupStartElement, item: itemStartElement },\n trigger,\n value,\n itemProps: getItemProps() as HTMLStyledProps<\"li\">,\n linkProps: mergedLinkProps,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.item,\n componentContext.render?.item,\n children,\n groupEndElement,\n itemEndElement,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n groupStartElement,\n itemStartElement,\n trigger,\n value,\n getItemProps,\n mergedLinkProps,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const context = useMemo(\n () => ({ branchOpen, groupOpen }),\n [branchOpen, groupOpen],\n )\n const itemComponentContext = useMemo(\n () => ({\n contentProps: {\n duration: !animated ? 0 : undefined,\n open: groupOpen,\n ...getContentProps(\n mergeProps(componentContext.itemContentProps, contentProps)(),\n ),\n },\n endElementProps: mergeProps(\n componentContext.endElementProps,\n endElementProps,\n )(),\n indicatorProps: getIndicatorProps({\n \"data-animated\": dataAttr(animated),\n ...mergeProps(componentContext.indicatorProps, indicatorProps)(),\n }) as SidebarItemIndicatorProps,\n labelProps: getLabelProps(\n mergeProps(componentContext.labelProps, labelProps)(),\n ) as SidebarItemLabelProps,\n startElementProps: mergeProps(\n componentContext.startElementProps,\n startElementProps,\n )(),\n tooltipProps: {\n content: label,\n disabled: open,\n ...mergeProps(componentContext.tooltipProps, tooltipProps)(),\n },\n }),\n [\n animated,\n componentContext.endElementProps,\n componentContext.indicatorProps,\n componentContext.itemContentProps,\n componentContext.labelProps,\n componentContext.startElementProps,\n componentContext.tooltipProps,\n contentProps,\n endElementProps,\n getContentProps,\n getIndicatorProps,\n getLabelProps,\n groupOpen,\n indicatorProps,\n label,\n labelProps,\n open,\n startElementProps,\n tooltipProps,\n ],\n )\n\n return (\n <SidebarItemContext value={context}>\n <ItemComponentContext value={itemComponentContext}>\n {item ?? (\n <styled.li {...getItemProps()}>\n {group ? (\n <>\n {trigger ?? (\n <SidebarItemTrigger {...mergedTriggerProps}>\n {groupStartElement ? (\n <SidebarItemStartElement>\n {groupStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {groupEndElement ? (\n <SidebarItemEndElement>\n {groupEndElement}\n </SidebarItemEndElement>\n ) : null}\n <SidebarItemIndicator>\n {groupLoading ? (\n <Loading />\n ) : (\n runIfFn(indicator, callbackProps)\n )}\n </SidebarItemIndicator>\n </SidebarItemTrigger>\n )}\n\n <SidebarItemContent>{children}</SidebarItemContent>\n </>\n ) : (\n (link ?? (\n <SidebarItemLink {...mergedLinkProps}>\n {itemStartElement ? (\n <SidebarItemStartElement>\n {itemStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {itemEndElement ? (\n <SidebarItemEndElement>\n {itemEndElement}\n </SidebarItemEndElement>\n ) : null}\n </SidebarItemLink>\n ))\n )}\n </styled.li>\n )}\n </ItemComponentContext>\n </SidebarItemContext>\n )\n },\n \"item\",\n)()\n\ninterface SidebarItemTooltipProps extends TooltipProps {}\n\nconst SidebarItemTooltip: FC<SidebarItemTooltipProps> = (props) => {\n const { tooltipProps } = useItemComponentContext()\n const { children, disabled, ...rest } = { ...tooltipProps, ...props }\n const { mode, placement } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n\n if (offcanvas || disabled) {\n return children\n } else {\n return (\n <Tooltip\n closeOnClick={false}\n gutter={16}\n placement={`center-${placement === \"start\" ? \"end\" : \"start\"}`}\n {...rest}\n >\n {children}\n </Tooltip>\n )\n }\n}\n\nexport interface SidebarItemTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarItemTrigger = withContext<\n \"button\",\n SidebarItemTriggerProps\n>((props) => {\n return (\n <SidebarItemTooltip>\n <styled.button {...props} />\n </SidebarItemTooltip>\n )\n}, \"itemTrigger\")()\n\nexport interface SidebarItemLinkProps extends HTMLStyledProps<\"a\"> {}\n\nexport const SidebarItemLink = withContext<\"a\", SidebarItemLinkProps>(\n (props) => {\n return (\n <SidebarItemTooltip>\n <styled.a {...props} />\n </SidebarItemTooltip>\n )\n },\n \"itemLink\",\n)()\n\nexport interface SidebarItemContentProps\n extends\n Omit<HTMLStyledProps<\"ul\">, \"transition\">,\n Pick<CollapseProps, \"animationOpacity\" | keyof WithTransitionProps> {}\n\nexport const SidebarItemContent = withContext<\"ul\", SidebarItemContentProps>(\n (props) => {\n const { contentProps = {} } = useItemComponentContext()\n\n return (\n <Collapse\n as=\"ul\"\n {...cast<CollapseProps>(mergeProps(contentProps, props)())}\n />\n )\n },\n \"itemContent\",\n)()\n\nexport interface SidebarItemIndicatorProps extends HTMLStyledProps<\"svg\"> {}\n\nexport const SidebarItemIndicator = withContext<\n \"svg\",\n SidebarItemIndicatorProps\n>(({ children = <ChevronRightIcon />, ...rest }) => {\n const { indicatorHidden } = useSidePanelComponentContext()\n\n if (indicatorHidden) return null\n\n if (isValidElement<HTMLProps<\"svg\">>(children))\n return cloneElement(children, { ...rest, ...children.props })\n\n return Children.count(children) > 1 ? Children.only(null) : null\n}, \"itemIndicator\")(undefined, (props) => {\n const { indicatorProps } = useItemComponentContext()\n\n return mergeProps(indicatorProps, props)()\n})\n\nexport interface SidebarItemStartElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemStartElement = withContext<\n \"div\",\n SidebarItemStartElementProps\n>(\"div\", {\n name: \"ItemStartElement\",\n slot: [\"itemElement\", \"start\"],\n})(undefined, (props) => {\n const { startElementProps } = useItemComponentContext()\n\n return mergeProps(startElementProps, props)()\n})\n\nexport interface SidebarItemEndElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemEndElement = withContext<\n \"div\",\n SidebarItemEndElementProps\n>(\"div\", {\n name: \"ItemEndElement\",\n slot: [\"itemElement\", \"end\"],\n})(undefined, (props) => {\n const { endElementProps } = useItemComponentContext()\n\n return mergeProps(endElementProps, props)()\n})\n\nexport interface SidebarItemLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarItemLabel = withContext<\"span\", SidebarItemLabelProps>(\n \"span\",\n \"itemLabel\",\n)(undefined, (props) => {\n const { labelProps } = useItemComponentContext()\n\n return mergeProps(labelProps, props)()\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA,MAAM,aAAa,OAAoB,UAAkB;AACvD,QAAO,WAAW,QAAQ,MAAM,SAAS,QAAQ;;AAGnD,MAAM,0BACJ,MACA,QACA,SACkD;AAClD,iCAAa,OAAO,KAAK,WAAW,UAAU,UAAU,QACtD,QAAO,OAAO;UACL,OACT,QAAO;sCACW,KAAK,KAAK,WAAW,QAAQ,UAAU,MACzD,QAAO,KAAK;KAEZ,QAAO;;AAsBX,MAAM,CAAC,uBAAuB,4BAC5BA,gBAAqC,EAAE,MAAM,yBAAyB,CAAC;AAWzE,MAAM,CAAC,sBAAsB,2BAC3BA,gBAAoC,EAAE,MAAM,wBAAwB,CAAC;AA8BvE,MAAM,CAAC,2BAA2B,gCAChCA,gBAAyC,EACvC,MAAM,6BACP,CAAC;AAeJ,MAAM,EACJ,kBACA,cAAc,qBACd,qBACA,iBAAiB,wBACjB,aACA,iBACE,oBACF,WACA,aACD;;;;;;AASD,MAAa,cAAc,cAKxB,EACC,aAAa,MACb,MAAM,WAAW,aACjB,WAAW,gBAAgB,SAC3B,GAAG,WACC;CACJ,MAAM,SACJ,mBACE,aAAa,GAAG,aAAa,MAAM,GAAG,EAAE,MAAM,OAAO,CACtD,IAAI;CACP,MAAM,OAAO,SAAS,SAAS;CAC/B,MAAM,YAAY,SAAS,cAAc;CACzC,MAAM,EACJ,aACA,eACA,MACA,eACA,iBACA,gBACA,gBACA,cACA,mBACA,iBACA,SACA,kBACA,QACA,kBACA,aACE,WAAW;EAAE;EAAQ,GAAG;EAAM,CAAC;AAgDnC,QACE,oBAAC;EAA0B,OAAO;YAChC,oBAAC;GAAe,OAjDJ,eACP;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,GACD;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,CACF;aA2BK,oBAAC;IAAiB,OA1BC,eAChB;KACL;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,GACD;KACE;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,CACF;cAMO,oBAAC,OAAO;KAAI;KAAW,GAAI,cAAc;MAAI;KAC5B;IACJ;GACS;GAGhC,QACA,EAAE,eAAe,CAAC,QAAQ,YAAY,EAAE,CACzC,EAAE;AAIH,MAAa,mBAAmB,YAC9B,OACA,YACD,EAAE;AAIH,MAAa,iBAAiB,YAC5B,UACA,UACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,oBAAoB,qBAAqB;AAEjD,QAAO;EAAE,SAAS;EAAM,GAAG,gBAAgB,MAAM;EAAE;EACnD;AA8GF,MAAa,mBAAmB,aAC7B,EACC,WAAW,MACX,UACA,SACA,YACA,QACA,QACA,WACA,iBACA,OACA,eACA,QACA,cACA,aAAa,MACb,cACA,aACA,iBACA,aACA,mBACA,YACA,aACA,aACA,gBACA,kBACA,WACA,YACA,WACA,WACA,mBACA,cACA,cACA,GAAG,WACC;CACJ,MAAM,EAAE,QAAQ,MAAM,YAAY,mBAAmB;CACrD,MAAM,EAAE,YAAY,WAAW,sBAAsB,qBAAqB;CAC1E,MAAM,CACJ,iBACA,cACA,eACA,cACA,gBACE,iBACF,UACA,eACA,gBACA,eACA,cACD;AAwDD,QACE,oBAAC;EAA0B,OAxDb,eACP;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;YAII,SACC,oBAACC;GACC,MAAK;GACL,WAAW;GACX,UAAU,CAAC,WAAW,IAAI;GACpB;GACN,WAAW,UAAU;GACrB,iBAAiB;GACjB,aAAa,EAAE,UAAU,MAAM;GACtB;GACT,GAAI;aAEJ,qBAACC;IACE,iBACE,SAAS,oBAAC,2BAAe,SAAuB,GAAG;IAErD,kBACE,WAAW,QACV,oBAAC,4BAAgB,UAAyB,GACxC;IAEL,iBACE,SAAS,oBAAC,2BAAe,SAAuB,GAAG;OACvC;IACL,GAEd,8CACE,oBAAC;GACC,6CAAwB,SAAS;GACjC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,yCAEJ,QAAQ,WAAW,iBAAiB,QAAQ,SAAS;EAC3D,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;EACD,CAAC,EACJ;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CACD,MAAM,OAAO,yCAED,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,WAAW;EACX;EACA;EACD,CAAC,EACJ;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CACD,MAAM,OAAO,yCAED,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD;EACA,YAAY;GAAE,OAAO;GAAiB,MAAM;GAAgB;EAC5D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;GAAE,OAAO;GAAmB,MAAM;GAAkB;EAClE;EACA;EACA,WAAW,cAAc;EACzB,WAAW;EACX,cAAc;EACd;EACA;EACA;EACA;EACA;EACD,CAAC,EACJ;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA0DD,QACE,oBAAC;EAAmB,OA1DN,eACP;GAAE;GAAY;GAAW,GAChC,CAAC,YAAY,UAAU,CACxB;YAwDG,oBAAC;GAAqB,OAvDG,eACpB;IACL,cAAc;KACZ,UAAU,CAAC,WAAW,IAAI;KAC1B,MAAM;KACN,GAAG,gBACD,WAAW,iBAAiB,kBAAkB,aAAa,EAAE,CAC9D;KACF;IACD,iBAAiB,WACf,iBAAiB,iBACjB,gBACD,EAAE;IACH,gBAAgB,kBAAkB;KA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"}
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":["createContext","Drawer.Root","Drawer.Content","rest","children","SidebarItemTooltip: FC<SidebarItemTooltipProps>"],"sources":["../../../../src/components/sidebar/sidebar.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type {\n Breakpoint,\n ExtractStyleValue,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ReactNodeOrFunction } from \"../../utils\"\nimport type { CollapseProps } from \"../collapse\"\nimport type { Loading } from \"../loading\"\nimport type { WithTransitionProps } from \"../motion\"\nimport type {\n UseSidebarGroupProps,\n UseSidebarGroupReturn,\n UseSidebarItemProps,\n UseSidebarItemReturn,\n UseSidebarProps,\n UseSidebarReturn,\n} from \"./use-sidebar\"\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n} from \"react\"\nimport { createSlotComponent, mergeProps, styled } from \"../../core\"\nimport { useBreakpointValue } from \"../../hooks/use-breakpoint\"\nimport { useValue } from \"../../hooks/use-value\"\nimport {\n cast,\n createContext,\n dataAttr,\n isObject,\n isString,\n runIfFn,\n useIncludesChildren,\n useSplitChildren,\n useValidChildren,\n} from \"../../utils\"\nimport { Collapse } from \"../collapse\"\nimport { Drawer } from \"../drawer\"\nimport { ChevronRightIcon } from \"../icon\"\nimport { useLoadingComponent } from \"../loading\"\nimport { Tooltip, type TooltipProps } from \"../tooltip\"\nimport { sidebarStyle, type SidebarStyle } from \"./sidebar.style\"\nimport {\n SidebarContext,\n SidebarDescendantsContext,\n SidebarItemContext,\n useSidebar,\n useSidebarContext,\n useSidebarGroup,\n useSidebarItem,\n} from \"./use-sidebar\"\n\ninterface SidebarItemCallBackProps {\n disabled?: boolean\n expanded?: boolean\n}\n\ntype SidebarItemReactNode =\n | ReactNodeOrFunction<SidebarItemCallBackProps>\n | {\n group: ReactNodeOrFunction<SidebarItemCallBackProps>\n item?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n | {\n item: ReactNodeOrFunction<SidebarItemCallBackProps>\n group?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n\ninterface SidebarItemSharedRenderProps\n extends\n Pick<SidebarItemProps, \"label\">,\n Pick<\n UseSidebarItemReturn,\n | \"expanded\"\n | \"expandedValue\"\n | \"onExpandedChange\"\n | \"onSelectedChange\"\n | \"selected\"\n | \"selectedValue\"\n | \"value\"\n > {\n itemProps: HTMLStyledProps<\"li\">\n linkProps: HTMLStyledProps<\"a\">\n triggerProps: HTMLStyledProps<\"button\">\n endElement?: ReactNode\n startElement?: ReactNode\n}\n\ninterface SidebarItemRenderProps\n extends\n PropsWithChildren,\n Omit<SidebarItemSharedRenderProps, \"endElement\" | \"startElement\">,\n Pick<\n UseSidebarItemReturn,\n | \"group\"\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n endElement: { group?: ReactNode; item?: ReactNode }\n startElement: { group?: ReactNode; item?: ReactNode }\n indicator?: ReactNode\n link?: ReactNode\n trigger?: ReactNode\n}\n\ninterface SidebarItemLinkRenderProps extends Omit<\n SidebarItemSharedRenderProps,\n \"itemProps\" | \"triggerProps\"\n> {}\n\ninterface SidebarItemTriggerRenderProps\n extends\n Omit<SidebarItemSharedRenderProps, \"itemProps\" | \"linkProps\">,\n Pick<\n UseSidebarItemReturn,\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n indicator?: ReactNode\n}\n\ninterface SidebarItemRender {\n item?: ReactNodeOrFunction<SidebarItemRenderProps>\n link?: ReactNodeOrFunction<SidebarItemLinkRenderProps>\n trigger?: ReactNodeOrFunction<SidebarItemTriggerRenderProps>\n}\n\ninterface SidebarGroup extends Omit<SidebarGroupProps, \"children\" | \"value\"> {\n children: SidebarItemWithValue[]\n group: true\n}\n\nexport interface SidebarItemWithValue extends Omit<\n SidebarItemProps,\n \"children\"\n> {\n children?: SidebarItemWithValue[]\n}\n\nexport type SidebarItem = SidebarGroup | SidebarItemWithValue\n\nconst createKey = (props: SidebarItem, index: number) => {\n return \"value\" in props ? props.value || index : index\n}\n\nconst getReactNodeOrFunction = (\n type: \"group\" | \"item\",\n custom?: SidebarItemReactNode,\n root?: SidebarItemReactNode,\n): ReactNodeOrFunction<SidebarItemCallBackProps> => {\n if (isObject(custom) && (\"group\" in custom || \"item\" in custom)) {\n return custom[type]\n } else if (custom) {\n return custom\n } else if (isObject(root) && (\"group\" in root || \"item\" in root)) {\n return root[type]\n } else {\n return root\n }\n}\n\ninterface ComponentContext extends Pick<\n UseSidebarReturn,\n | \"getContentProps\"\n | \"getFooterProps\"\n | \"getHeaderProps\"\n | \"getSidePanelProps\"\n | \"getTriggerProps\"\n> {\n breakpoint: ExtractStyleValue<NonNullable<SidebarRootProps[\"breakpoint\"]>>\n mode: ExtractStyleValue<NonNullable<SidebarRootProps[\"mode\"]>>\n placement: ExtractStyleValue<NonNullable<SidebarRootProps[\"placement\"]>>\n}\n\ninterface GroupComponentContext\n extends\n Pick<SidebarGroupProps, \"contentProps\" | \"labelProps\">,\n Pick<UseSidebarGroupReturn, \"getContentProps\" | \"getLabelProps\"> {}\n\nconst [GroupComponentContext, useGroupComponentContext] =\n createContext<GroupComponentContext>({ name: \"GroupComponentContext\" })\n\ninterface ItemComponentContext {\n contentProps: SidebarItemContentProps\n endElementProps: SidebarItemEndElementProps\n indicatorProps: SidebarItemIndicatorProps\n labelProps: SidebarItemLabelProps\n startElementProps: SidebarItemStartElementProps\n tooltipProps: SidebarItemTooltipProps\n}\n\nconst [ItemComponentContext, useItemComponentContext] =\n createContext<ItemComponentContext>({ name: \"ItemComponentContext\" })\n\ninterface SidePanelComponentContext extends Pick<\n SidebarSidePanelProps,\n | \"animated\"\n | \"contentProps\"\n | \"endElement\"\n | \"endElementProps\"\n | \"footerProps\"\n | \"groupContentProps\"\n | \"groupProps\"\n | \"handleProps\"\n | \"headerProps\"\n | \"indicator\"\n | \"indicatorHidden\"\n | \"indicatorProps\"\n | \"itemContentProps\"\n | \"itemProps\"\n | \"items\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"menuProps\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n> {}\n\nconst [SidePanelComponentContext, useSidePanelComponentContext] =\n createContext<SidePanelComponentContext>({\n name: \"SidePanelComponentContext\",\n })\n\nexport interface SidebarRootProps\n extends\n HTMLStyledProps<\"div\">,\n ThemeProps<SidebarStyle>,\n Omit<UseSidebarProps, \"mobile\"> {\n /**\n * The breakpoint to use for the sidebar. If `false`, the sidebar will be always visible.\n *\n * @default 'md'\n */\n breakpoint?: Exclude<Breakpoint, \"base\"> | false\n}\n\nconst {\n ComponentContext,\n PropsContext: SidebarPropsContext,\n useComponentContext,\n usePropsContext: useSidebarPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SidebarRootProps, SidebarStyle, ComponentContext>(\n \"sidebar\",\n sidebarStyle,\n)\n\nexport { SidebarPropsContext, useSidebarPropsContext }\n\n/**\n * `Sidebar` is a component that is used to display a list of items in a sidebar.\n *\n * @see https://yamada-ui.com/docs/components/sidebar\n */\nexport const SidebarRoot = withProvider<\n \"div\",\n SidebarRootProps,\n \"mode\" | \"placement\"\n>(\n ({\n breakpoint = \"md\",\n mode: modeProp = \"offcanvas\",\n placement: placementProp = \"start\",\n ...rest\n }) => {\n const mobile =\n useBreakpointValue<boolean | undefined>(\n breakpoint ? { [breakpoint]: true } : { base: false },\n ) ?? false\n const mode = useValue(modeProp)\n const placement = useValue(placementProp)\n const {\n descendants,\n expandedValue,\n open,\n selectedValue,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getRootProps,\n getSidePanelProps,\n getTriggerProps,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n } = useSidebar({ mobile, ...rest })\n const context = useMemo(\n () => ({\n expandedValue,\n mobile,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n }),\n [\n mobile,\n expandedValue,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n ],\n )\n const componentContext = useMemo(\n () => ({\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n }),\n [\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n ],\n )\n\n return (\n <SidebarDescendantsContext value={descendants}>\n <SidebarContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div data-group {...getRootProps()} />\n </ComponentContext>\n </SidebarContext>\n </SidebarDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"mode\", \"placement\"] },\n)()\n\nexport interface SidebarMainPanelProps extends HTMLStyledProps {}\n\nexport const SidebarMainPanel = withContext<\"div\", SidebarMainPanelProps>(\n \"div\",\n \"mainPanel\",\n)()\n\nexport interface SidebarTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarTrigger = withContext<\"button\", SidebarTriggerProps>(\n \"button\",\n \"trigger\",\n)(undefined, (props) => {\n const { getTriggerProps } = useComponentContext()\n\n return { asChild: true, ...getTriggerProps(props) }\n})\n\nexport interface SidebarSidePanelProps\n extends\n Omit<HTMLStyledProps<\"aside\">, \"content\">,\n Pick<SidebarContentProps, \"items\">,\n Pick<\n SidebarItemProps,\n | \"animated\"\n | \"endElement\"\n | \"endElementProps\"\n | \"indicator\"\n | \"indicatorProps\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n > {\n /**\n * The content of the sidebar.\n */\n content?: ReactNode\n /**\n * The footer of the sidebar.\n */\n footer?: ReactNode\n /**\n * The header of the sidebar.\n */\n header?: ReactNode\n /**\n * If `true`, hide the tree indicator icon for all items.\n *\n * @default false\n */\n indicatorHidden?: boolean\n /**\n * If `true`, the sidebar will be rendered with a handle.\n *\n * @default true\n */\n withHandle?: boolean\n /**\n * Props for the content component.\n */\n contentProps?: SidebarContentProps\n /**\n * Props for the drawer component.\n */\n drawerProps?: Omit<\n Drawer.RootProps,\n | \"body\"\n | \"cancel\"\n | \"children\"\n | \"footer\"\n | \"header\"\n | \"middle\"\n | \"onCancel\"\n | \"onClose\"\n | \"onMiddle\"\n | \"onOpen\"\n | \"onSuccess\"\n | \"open\"\n | \"success\"\n | \"title\"\n | \"trigger\"\n >\n /**\n * Props for the footer component.\n */\n footerProps?: SidebarFooterProps\n /**\n * Props for the group content component.\n */\n groupContentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the group component.\n */\n groupProps?: Omit<SidebarGroupProps, \"children\" | \"label\" | \"value\">\n /**\n * Props for the handle component.\n */\n handleProps?: SidebarHandleProps\n /**\n * Props for the header component.\n */\n headerProps?: SidebarHeaderProps\n /**\n * Props for the item content component.\n */\n itemContentProps?: SidebarItemContentProps\n /**\n * Props for the item component.\n */\n itemProps?: Omit<\n SidebarItemProps,\n \"children\" | \"items\" | \"label\" | \"open\" | \"value\"\n >\n /**\n * Props for the menu component.\n *\n * @default 'md'\n */\n menuProps?: SidebarMenuProps\n}\n\nexport const SidebarSidePanel = withContext<\"aside\", SidebarSidePanelProps>(\n ({\n animated = true,\n children,\n content,\n endElement,\n footer,\n header,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n withHandle = true,\n contentProps,\n drawerProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mobile, open, onClose } = useSidebarContext()\n const { breakpoint, placement, getSidePanelProps } = useComponentContext()\n const [\n omittedChildren,\n customHeader,\n customContent,\n customFooter,\n customHandle,\n ] = useSplitChildren(\n children,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarHandle,\n )\n const context = useMemo(\n () => ({\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n }),\n [\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n render,\n loadingScheme,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ],\n )\n\n return (\n <SidePanelComponentContext value={context}>\n {mobile ? (\n <Drawer.Root\n size=\"sm\"\n autoFocus={false}\n duration={!animated ? 0 : undefined}\n open={open}\n placement={`inline-${placement}`}\n withCloseButton={false}\n portalProps={{ disabled: true }}\n onClose={onClose}\n {...drawerProps}\n >\n <Drawer.Content>\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n </Drawer.Content>\n </Drawer.Root>\n ) : (\n <>\n <SidebarGap\n data-animated={dataAttr(animated)}\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n />\n\n <styled.aside\n data-animated={dataAttr(animated)}\n data-group\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n {...getSidePanelProps(rest)}\n >\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n {customHandle ?? (withHandle ? <SidebarHandle /> : null)}\n\n {omittedChildren}\n </styled.aside>\n </>\n )}\n </SidePanelComponentContext>\n )\n },\n \"sidePanel\",\n)()\n\ninterface SidebarGapProps extends HTMLStyledProps<\"div\"> {}\n\nconst SidebarGap = withContext<\"div\", SidebarGapProps>(\"div\", \"gap\")()\n\nexport interface SidebarHeaderProps extends HTMLStyledProps<\"header\"> {}\n\nexport const SidebarHeader = withContext<\"header\", SidebarHeaderProps>(\n \"header\",\n \"header\",\n)(undefined, (props) => {\n const { getHeaderProps } = useComponentContext()\n const { headerProps } = useSidePanelComponentContext()\n\n return getHeaderProps(mergeProps(headerProps, props)())\n})\n\nexport interface SidebarFooterProps extends HTMLStyledProps<\"footer\"> {}\n\nexport const SidebarFooter = withContext<\"footer\", SidebarFooterProps>(\n \"footer\",\n \"footer\",\n)(undefined, (props) => {\n const { getFooterProps } = useComponentContext()\n const { footerProps } = useSidePanelComponentContext()\n\n return getFooterProps(mergeProps(footerProps, props)())\n})\n\nexport interface SidebarContentProps extends HTMLStyledProps<\"ul\"> {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItem[]\n}\n\nexport const SidebarContent = withContext<\"ul\", SidebarContentProps>(\n ({ children, items, ...rest }) => {\n const { getContentProps } = useComponentContext()\n const { items: rootItems, contentProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (items ?? rootItems)?.map((props, index) => {\n const key = createKey(props, index)\n\n if (\"group\" in props) {\n const { children, group: _, ...rest } = props\n\n return <SidebarGroup key={key} items={children} {...rest} />\n } else {\n const { children, ...rest } = props\n\n return <SidebarItem key={key} items={children} {...rest} />\n }\n })\n }, [children, items, rootItems])\n\n return (\n <styled.ul {...getContentProps(mergeProps(contentProps, rest)())}>\n {computedChildren}\n </styled.ul>\n )\n },\n \"content\",\n)()\n\nexport interface SidebarHandleProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarHandle = withContext<\"button\", SidebarHandleProps>(\n (props) => {\n const { handleProps } = useSidePanelComponentContext()\n\n return (\n <SidebarTrigger {...mergeProps(handleProps, props)()}>\n <styled.button tabIndex={-1} />\n </SidebarTrigger>\n )\n },\n \"handle\",\n)()\n\nexport interface SidebarGroupProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"content\" | \"value\">,\n UseSidebarGroupProps {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the label component.\n */\n labelProps?: HTMLStyledProps<\"span\">\n}\n\nexport const SidebarGroup = withContext<\"li\", SidebarGroupProps>(\n ({\n children,\n items,\n label,\n value: valueProp = isString(label) ? label : undefined,\n contentProps,\n labelProps,\n ...rest\n }) => {\n const { groupProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [children, items])\n const [omittedChildren, customLabel, customContent] = useSplitChildren(\n computedChildren,\n SidebarGroupLabel,\n SidebarGroupContent,\n )\n const { getContentProps, getLabelProps, getRootProps } = useSidebarGroup({\n ...mergeProps(groupProps, rest)(),\n value: valueProp,\n })\n const context = useMemo(\n () => ({ contentProps, getContentProps, getLabelProps, labelProps }),\n [getLabelProps, labelProps, getContentProps, contentProps],\n )\n\n return (\n <GroupComponentContext value={context}>\n <styled.li {...getRootProps()}>\n {customLabel ??\n (label ? <SidebarGroupLabel>{label}</SidebarGroupLabel> : null)}\n {customContent ?? (\n <SidebarGroupContent>{omittedChildren}</SidebarGroupContent>\n )}\n </styled.li>\n </GroupComponentContext>\n )\n },\n \"group\",\n)()\n\nexport interface SidebarGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarGroupLabel = withContext<\"span\", SidebarGroupLabelProps>(\n \"span\",\n \"groupLabel\",\n)(undefined, (props) => {\n const { getLabelProps, labelProps } = useGroupComponentContext()\n\n return getLabelProps(mergeProps(labelProps, props)())\n})\n\nexport interface SidebarGroupContentProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarGroupContent = withContext<\"div\", SidebarGroupContentProps>(\n \"div\",\n \"groupContent\",\n)(undefined, ({ children, ...rest }) => {\n const validChildren = useValidChildren(children)\n const list = useIncludesChildren(validChildren, SidebarItem)\n const { groupContentProps } = useSidePanelComponentContext()\n const { contentProps, getContentProps } = useGroupComponentContext()\n\n return {\n as: list ? \"ul\" : \"div\",\n children,\n ...getContentProps(mergeProps(groupContentProps, contentProps, rest)()),\n }\n})\n\nexport interface SidebarMenuProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarMenu = withContext<\"div\", SidebarMenuProps>(\"div\", \"menu\")(\n undefined,\n (props) => {\n const { menuProps } = useSidePanelComponentContext()\n\n return { \"data-menu\": \"\", ...mergeProps(menuProps, props)() }\n },\n)\n\nexport interface SidebarMenuButtonProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarMenuButton = withContext<\"button\", SidebarMenuButtonProps>(\n \"button\",\n [\"menu\", \"button\"],\n)(undefined, (props) => {\n const { open } = useSidebarContext()\n const { mode } = useComponentContext()\n const { menuProps } = useSidePanelComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const { disabled, ...rest } = mergeProps(menuProps, props)()\n\n return {\n \"data-menu\": \"\",\n disabled,\n ...rest,\n tabIndex: (!offcanvas || open) && !disabled ? 0 : -1,\n }\n})\n\nexport interface SidebarItemProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"value\">,\n Omit<UseSidebarItemProps, \"asyncChildren\"> {\n /**\n * The label to display in the item.\n */\n label: ReactNode\n /**\n * If `true`, the sidebar item will be animated.\n *\n * @default true\n */\n animated?: boolean\n /**\n * The element to display at the end of the item.\n */\n endElement?: SidebarItemReactNode\n /**\n * The sidebar item indicator icon to use.\n */\n indicator?: ReactNodeOrFunction<SidebarItemCallBackProps>\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The loading scheme.\n *\n * @default 'oval'\n */\n loadingScheme?: Loading.Scheme\n /**\n * If provided, the sidebar item will be rendered with custom components.\n */\n render?: SidebarItemRender\n /**\n * The element to display at the start of the item.\n */\n startElement?: SidebarItemReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarItemContentProps, \"children\">\n /**\n * Props for the end component.\n */\n endElementProps?: SidebarItemEndElementProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: SidebarItemIndicatorProps\n /**\n * Props for the label component.\n */\n labelProps?: SidebarItemLabelProps\n /**\n * Props for the link component.\n */\n linkProps?: SidebarItemLinkProps\n /**\n * Props for the start component.\n */\n startElementProps?: SidebarItemStartElementProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: Omit<SidebarItemTooltipProps, \"children\" | \"content\">\n /**\n * Props for the trigger component.\n */\n triggerProps?: SidebarItemTriggerProps\n /**\n * If provided, the sidebar item will be rendered as an async sidebar item.\n */\n asyncChildren?: () => Promise<SidebarItemWithValue[]>\n}\n\nexport const SidebarItem = withContext<\"li\", SidebarItemProps>(\n ({\n animated: animatedProp,\n asyncChildren: asyncChildrenProp,\n children: childrenProp,\n endElement,\n indicator: indicatorProp,\n items,\n label,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n indicatorProps,\n labelProps,\n linkProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mode } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const componentContext = useSidePanelComponentContext()\n const Loading = useLoadingComponent(\n loadingScheme ?? componentContext.loadingScheme ?? \"oval\",\n )\n const computedChildren = useMemo(() => {\n if (childrenProp) return childrenProp\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [childrenProp, items])\n const asyncChildren = useCallback(async () => {\n const items = await asyncChildrenProp?.()\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [asyncChildrenProp])\n const {\n branchOpen,\n children,\n disabled,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n open,\n selected,\n selectedValue,\n value,\n getContentProps,\n getIndicatorProps,\n getItemProps,\n getLabelProps,\n getLinkProps,\n getTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n } = useSidebarItem({\n ...componentContext.itemProps,\n ...rest,\n asyncChildren: asyncChildrenProp ? asyncChildren : undefined,\n children: computedChildren,\n })\n const animated = animatedProp ?? componentContext.animated ?? true\n const tabIndex = offcanvas\n ? open && expanded && !disabled\n ? 0\n : -1\n : expanded && !disabled\n ? 0\n : -1\n const callbackProps = useMemo(\n () => ({ disabled, expanded: groupOpen }),\n [disabled, groupOpen],\n )\n const mergedTriggerProps = useMemo(() => {\n return getTriggerProps({\n tabIndex,\n ...mergeProps(componentContext.triggerProps, triggerProps)(),\n }) as SidebarItemTriggerProps\n }, [getTriggerProps, tabIndex, componentContext.triggerProps, triggerProps])\n const mergedLinkProps = useMemo(() => {\n return getLinkProps({\n tabIndex,\n ...mergeProps(componentContext.linkProps, linkProps)(),\n }) as SidebarItemLinkProps\n }, [getLinkProps, tabIndex, componentContext.linkProps, linkProps])\n const indicator = useMemo<ReactNode>(\n () => runIfFn(indicatorProp ?? componentContext.indicator, callbackProps),\n [indicatorProp, componentContext.indicator, callbackProps],\n )\n const groupStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const groupEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const itemStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const itemEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const trigger = useMemo<ReactNode>(\n () =>\n runIfFn(render?.trigger ?? componentContext.render?.trigger, {\n endElement: groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n startElement: groupStartElement,\n value,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.trigger,\n componentContext.render?.trigger,\n groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n groupStartElement,\n value,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const link = useMemo<ReactNode>(\n () =>\n runIfFn(render?.link ?? componentContext.render?.link, {\n endElement: itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n startElement: itemStartElement,\n value,\n linkProps: mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n }),\n [\n render?.link,\n componentContext.render?.link,\n itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n itemStartElement,\n value,\n mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n ],\n )\n const item = useMemo<ReactNode>(\n () =>\n runIfFn(render?.item ?? componentContext.render?.item, {\n children,\n endElement: { group: groupEndElement, item: itemEndElement },\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n startElement: { group: groupStartElement, item: itemStartElement },\n trigger,\n value,\n itemProps: getItemProps() as HTMLStyledProps<\"li\">,\n linkProps: mergedLinkProps,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.item,\n componentContext.render?.item,\n children,\n groupEndElement,\n itemEndElement,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n groupStartElement,\n itemStartElement,\n trigger,\n value,\n getItemProps,\n mergedLinkProps,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const context = useMemo(\n () => ({ branchOpen, groupOpen }),\n [branchOpen, groupOpen],\n )\n const itemComponentContext = useMemo(\n () => ({\n contentProps: {\n duration: !animated ? 0 : undefined,\n open: groupOpen,\n ...getContentProps(\n mergeProps(componentContext.itemContentProps, contentProps)(),\n ),\n },\n endElementProps: mergeProps(\n componentContext.endElementProps,\n endElementProps,\n )(),\n indicatorProps: getIndicatorProps({\n \"data-animated\": dataAttr(animated),\n ...mergeProps(componentContext.indicatorProps, indicatorProps)(),\n }) as SidebarItemIndicatorProps,\n labelProps: getLabelProps(\n mergeProps(componentContext.labelProps, labelProps)(),\n ) as SidebarItemLabelProps,\n startElementProps: mergeProps(\n componentContext.startElementProps,\n startElementProps,\n )(),\n tooltipProps: {\n content: label,\n disabled: open,\n ...mergeProps(componentContext.tooltipProps, tooltipProps)(),\n },\n }),\n [\n animated,\n componentContext.endElementProps,\n componentContext.indicatorProps,\n componentContext.itemContentProps,\n componentContext.labelProps,\n componentContext.startElementProps,\n componentContext.tooltipProps,\n contentProps,\n endElementProps,\n getContentProps,\n getIndicatorProps,\n getLabelProps,\n groupOpen,\n indicatorProps,\n label,\n labelProps,\n open,\n startElementProps,\n tooltipProps,\n ],\n )\n\n return (\n <SidebarItemContext value={context}>\n <ItemComponentContext value={itemComponentContext}>\n {item ?? (\n <styled.li {...getItemProps()}>\n {group ? (\n <>\n {trigger ?? (\n <SidebarItemTrigger {...mergedTriggerProps}>\n {groupStartElement ? (\n <SidebarItemStartElement>\n {groupStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {groupEndElement ? (\n <SidebarItemEndElement>\n {groupEndElement}\n </SidebarItemEndElement>\n ) : null}\n <SidebarItemIndicator>\n {groupLoading ? (\n <Loading />\n ) : (\n runIfFn(indicator, callbackProps)\n )}\n </SidebarItemIndicator>\n </SidebarItemTrigger>\n )}\n\n <SidebarItemContent>{children}</SidebarItemContent>\n </>\n ) : (\n (link ?? (\n <SidebarItemLink {...mergedLinkProps}>\n {itemStartElement ? (\n <SidebarItemStartElement>\n {itemStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {itemEndElement ? (\n <SidebarItemEndElement>\n {itemEndElement}\n </SidebarItemEndElement>\n ) : null}\n </SidebarItemLink>\n ))\n )}\n </styled.li>\n )}\n </ItemComponentContext>\n </SidebarItemContext>\n )\n },\n \"item\",\n)()\n\ninterface SidebarItemTooltipProps extends TooltipProps {}\n\nconst SidebarItemTooltip: FC<SidebarItemTooltipProps> = (props) => {\n const { tooltipProps } = useItemComponentContext()\n const { children, disabled, ...rest } = { ...tooltipProps, ...props }\n const { mode, placement } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n\n if (offcanvas || disabled) {\n return children\n } else {\n return (\n <Tooltip\n closeOnClick={false}\n gutter={16}\n placement={`center-${placement === \"start\" ? \"end\" : \"start\"}`}\n {...rest}\n >\n {children}\n </Tooltip>\n )\n }\n}\n\nexport interface SidebarItemTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarItemTrigger = withContext<\n \"button\",\n SidebarItemTriggerProps\n>((props) => {\n return (\n <SidebarItemTooltip>\n <styled.button {...props} />\n </SidebarItemTooltip>\n )\n}, \"itemTrigger\")()\n\nexport interface SidebarItemLinkProps extends HTMLStyledProps<\"a\"> {}\n\nexport const SidebarItemLink = withContext<\"a\", SidebarItemLinkProps>(\n (props) => {\n return (\n <SidebarItemTooltip>\n <styled.a {...props} />\n </SidebarItemTooltip>\n )\n },\n \"itemLink\",\n)()\n\nexport interface SidebarItemContentProps\n extends\n Omit<HTMLStyledProps<\"ul\">, \"transition\">,\n Pick<CollapseProps, \"animationOpacity\" | keyof WithTransitionProps> {}\n\nexport const SidebarItemContent = withContext<\"ul\", SidebarItemContentProps>(\n (props) => {\n const { contentProps } = useItemComponentContext()\n\n return (\n <Collapse\n as=\"ul\"\n {...cast<CollapseProps>(mergeProps(contentProps, props)())}\n />\n )\n },\n \"itemContent\",\n)()\n\nexport interface SidebarItemIndicatorProps extends HTMLStyledProps<\"svg\"> {}\n\nexport const SidebarItemIndicator = withContext<\n \"svg\",\n SidebarItemIndicatorProps\n>(({ children = <ChevronRightIcon />, ...rest }) => {\n const { indicatorHidden } = useSidePanelComponentContext()\n\n if (indicatorHidden) return null\n\n if (isValidElement<HTMLProps<\"svg\">>(children))\n return cloneElement(children, { ...rest, ...children.props })\n\n return Children.count(children) > 1 ? Children.only(null) : null\n}, \"itemIndicator\")(undefined, (props) => {\n const { indicatorProps } = useItemComponentContext()\n\n return mergeProps(indicatorProps, props)()\n})\n\nexport interface SidebarItemStartElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemStartElement = withContext<\n \"div\",\n SidebarItemStartElementProps\n>(\"div\", {\n name: \"ItemStartElement\",\n slot: [\"itemElement\", \"start\"],\n})(undefined, (props) => {\n const { startElementProps } = useItemComponentContext()\n\n return mergeProps(startElementProps, props)()\n})\n\nexport interface SidebarItemEndElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemEndElement = withContext<\n \"div\",\n SidebarItemEndElementProps\n>(\"div\", {\n name: \"ItemEndElement\",\n slot: [\"itemElement\", \"end\"],\n})(undefined, (props) => {\n const { endElementProps } = useItemComponentContext()\n\n return mergeProps(endElementProps, props)()\n})\n\nexport interface SidebarItemLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarItemLabel = withContext<\"span\", SidebarItemLabelProps>(\n \"span\",\n \"itemLabel\",\n)(undefined, (props) => {\n const { labelProps } = useItemComponentContext()\n\n return mergeProps(labelProps, props)()\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA,MAAM,aAAa,OAAoB,UAAkB;AACvD,QAAO,WAAW,QAAQ,MAAM,SAAS,QAAQ;;AAGnD,MAAM,0BACJ,MACA,QACA,SACkD;AAClD,iCAAa,OAAO,KAAK,WAAW,UAAU,UAAU,QACtD,QAAO,OAAO;UACL,OACT,QAAO;sCACW,KAAK,KAAK,WAAW,QAAQ,UAAU,MACzD,QAAO,KAAK;KAEZ,QAAO;;AAsBX,MAAM,CAAC,uBAAuB,4BAC5BA,gBAAqC,EAAE,MAAM,yBAAyB,CAAC;AAWzE,MAAM,CAAC,sBAAsB,2BAC3BA,gBAAoC,EAAE,MAAM,wBAAwB,CAAC;AA8BvE,MAAM,CAAC,2BAA2B,gCAChCA,gBAAyC,EACvC,MAAM,6BACP,CAAC;AAeJ,MAAM,EACJ,kBACA,cAAc,qBACd,qBACA,iBAAiB,wBACjB,aACA,iBACE,oBACF,WACA,aACD;;;;;;AASD,MAAa,cAAc,cAKxB,EACC,aAAa,MACb,MAAM,WAAW,aACjB,WAAW,gBAAgB,SAC3B,GAAG,WACC;CACJ,MAAM,SACJ,mBACE,aAAa,GAAG,aAAa,MAAM,GAAG,EAAE,MAAM,OAAO,CACtD,IAAI;CACP,MAAM,OAAO,SAAS,SAAS;CAC/B,MAAM,YAAY,SAAS,cAAc;CACzC,MAAM,EACJ,aACA,eACA,MACA,eACA,iBACA,gBACA,gBACA,cACA,mBACA,iBACA,SACA,kBACA,QACA,kBACA,aACE,WAAW;EAAE;EAAQ,GAAG;EAAM,CAAC;AAgDnC,QACE,oBAAC;EAA0B,OAAO;YAChC,oBAAC;GAAe,OAjDJ,eACP;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,GACD;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,CACF;aA2BK,oBAAC;IAAiB,OA1BC,eAChB;KACL;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,GACD;KACE;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,CACF;cAMO,oBAAC,OAAO;KAAI;KAAW,GAAI,cAAc;MAAI;KAC5B;IACJ;GACS;GAGhC,QACA,EAAE,eAAe,CAAC,QAAQ,YAAY,EAAE,CACzC,EAAE;AAIH,MAAa,mBAAmB,YAC9B,OACA,YACD,EAAE;AAIH,MAAa,iBAAiB,YAC5B,UACA,UACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,oBAAoB,qBAAqB;AAEjD,QAAO;EAAE,SAAS;EAAM,GAAG,gBAAgB,MAAM;EAAE;EACnD;AA8GF,MAAa,mBAAmB,aAC7B,EACC,WAAW,MACX,UACA,SACA,YACA,QACA,QACA,WACA,iBACA,OACA,eACA,QACA,cACA,aAAa,MACb,cACA,aACA,iBACA,aACA,mBACA,YACA,aACA,aACA,gBACA,kBACA,WACA,YACA,WACA,WACA,mBACA,cACA,cACA,GAAG,WACC;CACJ,MAAM,EAAE,QAAQ,MAAM,YAAY,mBAAmB;CACrD,MAAM,EAAE,YAAY,WAAW,sBAAsB,qBAAqB;CAC1E,MAAM,CACJ,iBACA,cACA,eACA,cACA,gBACE,iBACF,UACA,eACA,gBACA,eACA,cACD;AAwDD,QACE,oBAAC;EAA0B,OAxDb,eACP;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;YAII,SACC,oBAACC;GACC,MAAK;GACL,WAAW;GACX,UAAU,CAAC,WAAW,IAAI;GACpB;GACN,WAAW,UAAU;GACrB,iBAAiB;GACjB,aAAa,EAAE,UAAU,MAAM;GACtB;GACT,GAAI;aAEJ,qBAACC;IACE,iBACE,SAAS,oBAAC,2BAAe,SAAuB,GAAG;IAErD,kBACE,WAAW,QACV,oBAAC,4BAAgB,UAAyB,GACxC;IAEL,iBACE,SAAS,oBAAC,2BAAe,SAAuB,GAAG;OACvC;IACL,GAEd,8CACE,oBAAC;GACC,6CAAwB,SAAS;GACjC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,yCAEJ,QAAQ,WAAW,iBAAiB,QAAQ,SAAS;EAC3D,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;EACD,CAAC,EACJ;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CACD,MAAM,OAAO,yCAED,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,WAAW;EACX;EACA;EACD,CAAC,EACJ;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CACD,MAAM,OAAO,yCAED,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD;EACA,YAAY;GAAE,OAAO;GAAiB,MAAM;GAAgB;EAC5D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;GAAE,OAAO;GAAmB,MAAM;GAAkB;EAClE;EACA;EACA,WAAW,cAAc;EACzB,WAAW;EACX,cAAc;EACd;EACA;EACA;EACA;EACA;EACD,CAAC,EACJ;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA0DD,QACE,oBAAC;EAAmB,OA1DN,eACP;GAAE;GAAY;GAAW,GAChC,CAAC,YAAY,UAAU,CACxB;YAwDG,oBAAC;GAAqB,OAvDG,eACpB;IACL,cAAc;KACZ,UAAU,CAAC,WAAW,IAAI;KAC1B,MAAM;KACN,GAAG,gBACD,WAAW,iBAAiB,kBAAkB,aAAa,EAAE,CAC9D;KACF;IACD,iBAAiB,WACf,iBAAiB,iBACjB,gBACD,EAAE;IACH,gBAAgB,kBAAkB;KA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"}
|
|
@@ -350,7 +350,6 @@ const Table = withContext(({ className, colorScheme, size, variant, columnFilter
|
|
|
350
350
|
}, tableProps ?? {})(),
|
|
351
351
|
children: [
|
|
352
352
|
/* @__PURE__ */ jsx(Thead, {
|
|
353
|
-
role: "rowgroup",
|
|
354
353
|
...theadProps,
|
|
355
354
|
children: mergedHeaderGroups.map((headerGroup, rowIndex) => {
|
|
356
355
|
let placeholderCount = 0;
|
|
@@ -408,7 +407,6 @@ const Table = withContext(({ className, colorScheme, size, variant, columnFilter
|
|
|
408
407
|
})
|
|
409
408
|
}),
|
|
410
409
|
/* @__PURE__ */ jsx(Tbody, {
|
|
411
|
-
role: "rowgroup",
|
|
412
410
|
...tbodyProps,
|
|
413
411
|
children: rows.map((row, rowIndex) => {
|
|
414
412
|
rowIndex += headerGroupCount;
|
|
@@ -451,7 +449,6 @@ const Table = withContext(({ className, colorScheme, size, variant, columnFilter
|
|
|
451
449
|
})
|
|
452
450
|
}),
|
|
453
451
|
withFooterGroups ? /* @__PURE__ */ jsx(Tfoot, {
|
|
454
|
-
role: "rowgroup",
|
|
455
452
|
...tfootProps,
|
|
456
453
|
children: mergedFooterGroups.map((footerGroup, rowIndex) => {
|
|
457
454
|
rowIndex += headerGroupCount + rowCount;
|