@charcoal-ui/react 6.0.0-rc.9 → 6.0.1
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/_lib/compat.d.ts.map +1 -1
- package/dist/_lib/createDivComponent.cjs +0 -1
- package/dist/_lib/createDivComponent.cjs.map +1 -1
- package/dist/_lib/createDivComponent.d.ts +1 -1
- package/dist/_lib/createDivComponent.js.map +1 -1
- package/dist/_lib/index.cjs.map +1 -1
- package/dist/_lib/index.js.map +1 -1
- package/dist/_lib/useClassNames.cjs +0 -1
- package/dist/_lib/useClassNames.cjs.map +1 -1
- package/dist/_lib/useClassNames.js.map +1 -1
- package/dist/_lib/useForwardedRef.cjs +1 -1
- package/dist/_lib/useForwardedRef.cjs.map +1 -1
- package/dist/_lib/useForwardedRef.js.map +1 -1
- package/dist/_lib/useIsomorphicLayoutEffect.cjs +0 -1
- package/dist/_lib/useIsomorphicLayoutEffect.cjs.map +1 -1
- package/dist/_lib/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/_lib/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/_lib/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index2.cjs +1 -1
- package/dist/components/Button/index2.cjs.map +1 -1
- package/dist/components/Button/index2.js.map +1 -1
- package/dist/components/Carousel/CarouselItem.cjs +0 -1
- package/dist/components/Carousel/CarouselItem.cjs.map +1 -1
- package/dist/components/Carousel/CarouselItem.d.ts.map +1 -1
- package/dist/components/Carousel/CarouselItem.js.map +1 -1
- package/dist/components/Carousel/carouselStore.cjs.map +1 -1
- package/dist/components/Carousel/carouselStore.js.map +1 -1
- package/dist/components/Carousel/index.d.ts +1 -1
- package/dist/components/Carousel/index.d.ts.map +1 -1
- package/dist/components/Carousel/index2.cjs +0 -1
- package/dist/components/Carousel/index2.cjs.map +1 -1
- package/dist/components/Carousel/index2.js.map +1 -1
- package/dist/components/Carousel/intersectionObserver.cjs.map +1 -1
- package/dist/components/Carousel/intersectionObserver.js.map +1 -1
- package/dist/components/Carousel/resizeObserver.cjs.map +1 -1
- package/dist/components/Carousel/resizeObserver.js.map +1 -1
- package/dist/components/Carousel/store.cjs.map +1 -1
- package/dist/components/Carousel/store.js.map +1 -1
- package/dist/components/Carousel/useCarouselScroller.cjs +0 -1
- package/dist/components/Carousel/useCarouselScroller.cjs.map +1 -1
- package/dist/components/Carousel/useCarouselScroller.js.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/index.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/index2.cjs +0 -1
- package/dist/components/Checkbox/CheckboxInput/index2.cjs.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/index2.js.map +1 -1
- package/dist/components/Checkbox/CheckboxWithLabel.cjs +1 -1
- package/dist/components/Checkbox/CheckboxWithLabel.cjs.map +1 -1
- package/dist/components/Checkbox/CheckboxWithLabel.d.ts +2 -2
- package/dist/components/Checkbox/CheckboxWithLabel.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxWithLabel.js.map +1 -1
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index2.cjs +0 -1
- package/dist/components/Checkbox/index2.cjs.map +1 -1
- package/dist/components/Checkbox/index2.js.map +1 -1
- package/dist/components/Clickable/index.d.ts +1 -1
- package/dist/components/Clickable/index.d.ts.map +1 -1
- package/dist/components/Clickable/index2.cjs +1 -1
- package/dist/components/Clickable/index2.cjs.map +1 -1
- package/dist/components/Clickable/index2.js.map +1 -1
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs +0 -1
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs.map +1 -1
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.js.map +1 -1
- package/dist/components/DropdownSelector/DropdownPopover.cjs +0 -1
- package/dist/components/DropdownSelector/DropdownPopover.cjs.map +1 -1
- package/dist/components/DropdownSelector/DropdownPopover.js.map +1 -1
- package/dist/components/DropdownSelector/ListItem/index.d.ts +1 -1
- package/dist/components/DropdownSelector/ListItem/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/ListItem/index2.cjs +0 -1
- package/dist/components/DropdownSelector/ListItem/index2.cjs.map +1 -1
- package/dist/components/DropdownSelector/ListItem/index2.js.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/index.cjs +29 -2
- package/dist/components/DropdownSelector/MenuItem/index.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/index.js +30 -2
- package/dist/components/DropdownSelector/MenuItem/index.js.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs +0 -1
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js.map +1 -1
- package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs +0 -1
- package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuItemGroup/index2.js.map +1 -1
- package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs +0 -1
- package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuList/MenuListContext.js.map +1 -1
- package/dist/components/DropdownSelector/MenuList/index2.cjs +0 -1
- package/dist/components/DropdownSelector/MenuList/index2.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuList/index2.js.map +1 -1
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs +1 -1
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs.map +1 -1
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js.map +1 -1
- package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/Popover/index2.cjs +18 -1
- package/dist/components/DropdownSelector/Popover/index2.cjs.map +1 -1
- package/dist/components/DropdownSelector/Popover/index2.js +19 -1
- package/dist/components/DropdownSelector/Popover/index2.js.map +1 -1
- package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs +0 -1
- package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs.map +1 -1
- package/dist/components/DropdownSelector/Popover/usePreventScroll.js.map +1 -1
- package/dist/components/DropdownSelector/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/index2.cjs +27 -10
- package/dist/components/DropdownSelector/index2.cjs.map +1 -1
- package/dist/components/DropdownSelector/index2.js +26 -9
- package/dist/components/DropdownSelector/index2.js.map +1 -1
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs +1 -1
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs.map +1 -1
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.js.map +1 -1
- package/dist/components/FieldLabel/index.d.ts.map +1 -1
- package/dist/components/FieldLabel/index2.cjs +1 -1
- package/dist/components/FieldLabel/index2.cjs.map +1 -1
- package/dist/components/FieldLabel/index2.js.map +1 -1
- package/dist/components/HintText/index2.cjs +0 -1
- package/dist/components/HintText/index2.cjs.map +1 -1
- package/dist/components/HintText/index2.js.map +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.cjs.map +1 -1
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/IconButton/index.d.ts +1 -1
- package/dist/components/IconButton/index.d.ts.map +1 -1
- package/dist/components/IconButton/index2.cjs +1 -1
- package/dist/components/IconButton/index2.cjs.map +1 -1
- package/dist/components/IconButton/index2.js.map +1 -1
- package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
- package/dist/components/LoadingSpinner/index2.cjs +0 -1
- package/dist/components/LoadingSpinner/index2.cjs.map +1 -1
- package/dist/components/LoadingSpinner/index2.js.map +1 -1
- package/dist/components/Modal/Dialog/index2.cjs +1 -1
- package/dist/components/Modal/Dialog/index2.cjs.map +1 -1
- package/dist/components/Modal/Dialog/index2.js.map +1 -1
- package/dist/components/Modal/ModalBackgroundContext.cjs +1 -1
- package/dist/components/Modal/ModalBackgroundContext.cjs.map +1 -1
- package/dist/components/Modal/ModalBackgroundContext.js.map +1 -1
- package/dist/components/Modal/ModalPlumbing.d.ts +3 -3
- package/dist/components/Modal/ModalPlumbing2.cjs +0 -1
- package/dist/components/Modal/ModalPlumbing2.cjs.map +1 -1
- package/dist/components/Modal/ModalPlumbing2.js.map +1 -1
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/index2.cjs +1 -1
- package/dist/components/Modal/index2.cjs.map +1 -1
- package/dist/components/Modal/index2.js.map +1 -1
- package/dist/components/Modal/useCustomModalOverlay.cjs +1 -1
- package/dist/components/Modal/useCustomModalOverlay.cjs.map +1 -1
- package/dist/components/Modal/useCustomModalOverlay.js.map +1 -1
- package/dist/components/Modal/useTransitionPresence.cjs +1 -3
- package/dist/components/Modal/useTransitionPresence.cjs.map +1 -1
- package/dist/components/Modal/useTransitionPresence.js +1 -2
- package/dist/components/Modal/useTransitionPresence.js.map +1 -1
- package/dist/components/MultiSelect/context.cjs +0 -1
- package/dist/components/MultiSelect/context.cjs.map +1 -1
- package/dist/components/MultiSelect/context.js.map +1 -1
- package/dist/components/MultiSelect/index.d.ts +1 -1
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index2.cjs +2 -2
- package/dist/components/MultiSelect/index2.cjs.map +1 -1
- package/dist/components/MultiSelect/index2.js.map +1 -1
- package/dist/components/Pagination/PaginationContext.cjs +0 -1
- package/dist/components/Pagination/PaginationContext.cjs.map +1 -1
- package/dist/components/Pagination/PaginationContext.js.map +1 -1
- package/dist/components/Pagination/helper.cjs.map +1 -1
- package/dist/components/Pagination/helper.js.map +1 -1
- package/dist/components/Pagination/index2.cjs +26 -135
- package/dist/components/Pagination/index2.cjs.map +1 -1
- package/dist/components/Pagination/index2.js +86 -182
- package/dist/components/Pagination/index2.js.map +1 -1
- package/dist/components/Radio/RadioGroup/index2.cjs +1 -1
- package/dist/components/Radio/RadioGroup/index2.cjs.map +1 -1
- package/dist/components/Radio/RadioGroup/index2.js.map +1 -1
- package/dist/components/Radio/RadioGroupContext.cjs.map +1 -1
- package/dist/components/Radio/RadioGroupContext.js.map +1 -1
- package/dist/components/Radio/RadioInput/index.d.ts.map +1 -1
- package/dist/components/Radio/RadioInput/index2.cjs +0 -1
- package/dist/components/Radio/RadioInput/index2.cjs.map +1 -1
- package/dist/components/Radio/RadioInput/index2.js.map +1 -1
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/Radio/index2.cjs +2 -2
- package/dist/components/Radio/index2.cjs.map +1 -1
- package/dist/components/Radio/index2.js.map +1 -1
- package/dist/components/SegmentedControl/RadioGroupContext.cjs +1 -1
- package/dist/components/SegmentedControl/RadioGroupContext.cjs.map +1 -1
- package/dist/components/SegmentedControl/RadioGroupContext.js.map +1 -1
- package/dist/components/SegmentedControl/index.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index2.cjs +1 -1
- package/dist/components/SegmentedControl/index2.cjs.map +1 -1
- package/dist/components/SegmentedControl/index2.js.map +1 -1
- package/dist/components/Switch/SwitchInput/index.d.ts.map +1 -1
- package/dist/components/Switch/SwitchInput/index2.cjs +0 -1
- package/dist/components/Switch/SwitchInput/index2.cjs.map +1 -1
- package/dist/components/Switch/SwitchInput/index2.js.map +1 -1
- package/dist/components/Switch/SwitchWithLabel.cjs +1 -1
- package/dist/components/Switch/SwitchWithLabel.cjs.map +1 -1
- package/dist/components/Switch/SwitchWithLabel.d.ts +2 -2
- package/dist/components/Switch/SwitchWithLabel.d.ts.map +1 -1
- package/dist/components/Switch/SwitchWithLabel.js.map +1 -1
- package/dist/components/Switch/index.d.ts +1 -1
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index2.cjs +0 -1
- package/dist/components/Switch/index2.cjs.map +1 -1
- package/dist/components/Switch/index2.js.map +1 -1
- package/dist/components/TagItem/index.d.ts +1 -1
- package/dist/components/TagItem/index.d.ts.map +1 -1
- package/dist/components/TagItem/index2.cjs +1 -1
- package/dist/components/TagItem/index2.cjs.map +1 -1
- package/dist/components/TagItem/index2.js.map +1 -1
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextArea/index2.cjs +0 -1
- package/dist/components/TextArea/index2.cjs.map +1 -1
- package/dist/components/TextArea/index2.js.map +1 -1
- package/dist/components/TextEllipsis/helper.cjs +2 -1
- package/dist/components/TextEllipsis/helper.cjs.map +1 -1
- package/dist/components/TextEllipsis/helper.d.ts.map +1 -1
- package/dist/components/TextEllipsis/helper.js +1 -1
- package/dist/components/TextEllipsis/helper.js.map +1 -1
- package/dist/components/TextEllipsis/index2.cjs +14 -98
- package/dist/components/TextEllipsis/index2.cjs.map +1 -1
- package/dist/components/TextEllipsis/index2.js +14 -93
- package/dist/components/TextEllipsis/index2.js.map +1 -1
- package/dist/components/TextField/AssistiveText/index.d.ts +1 -1
- package/dist/components/TextField/AssistiveText/index2.cjs.map +1 -1
- package/dist/components/TextField/AssistiveText/index2.js.map +1 -1
- package/dist/components/TextField/index.d.ts +1 -1
- package/dist/components/TextField/index.d.ts.map +1 -1
- package/dist/components/TextField/index2.cjs +1 -1
- package/dist/components/TextField/index2.cjs.map +1 -1
- package/dist/components/TextField/index2.js.map +1 -1
- package/dist/components/TextField/useFocusWithClick.cjs +0 -1
- package/dist/components/TextField/useFocusWithClick.cjs.map +1 -1
- package/dist/components/TextField/useFocusWithClick.js.map +1 -1
- package/dist/core/CharcoalProvider.cjs +1 -1
- package/dist/core/CharcoalProvider.cjs.map +1 -1
- package/dist/core/CharcoalProvider.js.map +1 -1
- package/dist/core/SSRProvider.cjs +1 -1
- package/dist/core/SSRProvider.cjs.map +1 -1
- package/dist/core/SSRProvider.js +1 -1
- package/dist/core/SSRProvider.js.map +1 -1
- package/dist/core/SetThemeScript.cjs +0 -1
- package/dist/core/SetThemeScript.cjs.map +1 -1
- package/dist/core/SetThemeScript.js.map +1 -1
- package/dist/core/themeHelper.cjs +0 -1
- package/dist/core/themeHelper.cjs.map +1 -1
- package/dist/core/themeHelper.d.ts +2 -2
- package/dist/core/themeHelper.d.ts.map +1 -1
- package/dist/core/themeHelper.js.map +1 -1
- package/dist/index.cjs +22 -23
- package/dist/index.css +1422 -1422
- package/dist/layered.css +1422 -1422
- package/dist/layered.css.map +1 -1
- package/package.json +10 -10
- package/src/_lib/compat.ts +1 -7
- package/src/components/Carousel/index.browser.test.tsx +1 -1
- package/src/components/Carousel/intersectionObserver.test.ts +12 -12
- package/src/components/Carousel/resizeObserver.test.ts +1 -1
- package/src/components/DropdownSelector/MenuItem/index.tsx +40 -2
- package/src/components/DropdownSelector/Popover/index.tsx +20 -1
- package/src/components/DropdownSelector/index.browser.test.tsx +94 -0
- package/src/components/DropdownSelector/index.test.tsx +57 -2
- package/src/components/DropdownSelector/index.tsx +37 -12
- package/src/components/FieldLabel/index.tsx +1 -2
- package/src/components/Icon/index.tsx +2 -1
- package/src/components/LoadingSpinner/__snapshots__/index.css.snap +1 -1
- package/src/components/LoadingSpinner/index.css +1 -1
- package/src/components/Modal/__snapshots__/index.css.snap +1 -0
- package/src/components/Pagination/__snapshots__/index.css.snap +1 -1
- package/src/components/Pagination/index.css +1 -1
- package/src/components/TextEllipsis/TextEllipsis.story.tsx +1 -1
- package/src/css.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","names":[
|
|
1
|
+
{"version":3,"file":"index2.js","names":[],"sources":["../../../src/components/TextField/index.tsx"],"sourcesContent":["import './index.css'\n\nimport { ReactNode, useCallback, useEffect, useRef, useState } from 'react'\nimport * as React from 'react'\nimport FieldLabel from '../FieldLabel'\nimport { countCodePointsInString, mergeRefs } from '../../_lib'\nimport { useFocusWithClick } from './useFocusWithClick'\nimport { AssistiveText } from './AssistiveText'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport { useVisuallyHidden } from 'react-aria/VisuallyHidden'\nimport { useId } from 'react-aria/useId'\n\nexport type TextFieldProps = {\n prefix?: ReactNode\n suffix?: ReactNode\n\n value?: string\n onChange?: (value: string) => void\n\n showCount?: boolean\n showLabel?: boolean\n assistiveText?: string\n invalid?: boolean\n\n label?: string\n requiredText?: string\n disabled?: boolean\n subLabel?: React.ReactNode\n rdfaPrefix?: string\n\n getCount?: (value: string) => number\n} & Omit<React.ComponentPropsWithoutRef<'input'>, 'prefix' | 'onChange'>\n\nconst TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(\n function SingleLineTextFieldInner(\n {\n assistiveText,\n className,\n disabled = false,\n label = '',\n maxLength,\n onChange,\n prefix = null,\n required,\n requiredText,\n showCount = false,\n showLabel = false,\n subLabel,\n suffix = null,\n type = 'text',\n invalid,\n value,\n getCount = countCodePointsInString,\n ...props\n },\n forwardRef,\n ) {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { visuallyHiddenProps } = useVisuallyHidden()\n\n const [count, setCount] = useState(getCount(value ?? ''))\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value\n const count = getCount(value)\n if (maxLength !== undefined && count > maxLength) {\n return\n }\n setCount(count)\n onChange?.(value)\n },\n [getCount, maxLength, onChange],\n )\n\n useEffect(() => {\n setCount(getCount(value ?? ''))\n }, [getCount, value])\n\n const containerRef = useRef(null)\n\n useFocusWithClick(containerRef, inputRef)\n\n const inputId = useId(props.id)\n const describedbyId = useId()\n const labelledbyId = useId()\n\n const showAssistiveText =\n assistiveText != null && assistiveText.length !== 0\n\n const classNames = useClassNames('charcoal-text-field-root', className)\n\n return (\n <div className={classNames} aria-disabled={disabled}>\n <FieldLabel\n htmlFor={inputId}\n id={labelledbyId}\n label={label}\n required={required}\n requiredText={requiredText}\n subLabel={subLabel}\n {...(!showLabel ? visuallyHiddenProps : {})}\n />\n <div\n className=\"charcoal-text-field-container\"\n aria-disabled={disabled === true ? true : undefined}\n data-invalid={invalid === true}\n ref={containerRef}\n >\n {prefix && <div className=\"charcoal-text-field-prefix\">{prefix}</div>}\n <div className=\"charcoal-text-field-input-root\">\n <input\n className=\"charcoal-text-field-input\"\n aria-describedby={showAssistiveText ? describedbyId : undefined}\n aria-invalid={invalid}\n aria-labelledby={labelledbyId}\n id={inputId}\n data-invalid={invalid === true}\n maxLength={maxLength}\n onChange={handleChange}\n disabled={disabled}\n ref={mergeRefs(forwardRef, inputRef)}\n type={type}\n value={value}\n {...props}\n />\n </div>\n {(suffix || showCount) && (\n <div className=\"charcoal-text-field-suffix\">\n {suffix}\n {showCount && (\n <span className=\"charcoal-text-field-line-counter\">\n {maxLength !== undefined ? `${count}/${maxLength}` : count}\n </span>\n )}\n </div>\n )}\n </div>\n {showAssistiveText && (\n <AssistiveText data-invalid={invalid === true} id={describedbyId}>\n {assistiveText}\n </AssistiveText>\n )}\n </div>\n )\n },\n)\n\nexport default TextField\n"],"mappings":";;;;;;;;;;;;;;AAiCA,MAAM,YAAY,QAAM,WACtB,SAAS,yBACP,EACE,eACA,WACA,WAAW,OACX,QAAQ,IACR,WACA,UACA,SAAS,MACT,UACA,cACA,YAAY,OACZ,YAAY,OACZ,UACA,SAAS,MACT,OAAO,QACP,SACA,OACA,WAAW,yBACX,GAAG,SAEL,YACA;CACA,MAAM,WAAW,OAAyB,IAAI;CAE9C,MAAM,EAAE,wBAAwB,kBAAkB;CAElD,MAAM,CAAC,OAAO,YAAY,SAAS,SAAS,SAAS,EAAE,CAAC;CAExD,MAAM,eAAe,aAClB,MAA2C;EAC1C,MAAM,QAAQ,EAAE,OAAO;EACvB,MAAM,QAAQ,SAAS,KAAK;EAC5B,IAAI,cAAc,UAAa,QAAQ,WACrC;EAEF,SAAS,KAAK;EACd,WAAW,KAAK;CAClB,GACA;EAAC;EAAU;EAAW;CAAQ,CAChC;CAEA,gBAAgB;EACd,SAAS,SAAS,SAAS,EAAE,CAAC;CAChC,GAAG,CAAC,UAAU,KAAK,CAAC;CAEpB,MAAM,eAAe,OAAO,IAAI;CAEhC,kBAAkB,cAAc,QAAQ;CAExC,MAAM,UAAU,MAAM,MAAM,EAAE;CAC9B,MAAM,gBAAgB,MAAM;CAC5B,MAAM,eAAe,MAAM;CAE3B,MAAM,oBACJ,iBAAiB,QAAQ,cAAc,WAAW;CAIpD,OACE,qBAAC,OAAD;EAAK,WAHY,cAAc,4BAA4B,SAG3C;EAAY,iBAAe;YAA3C;GACE,oBAAC,YAAD;IACE,SAAS;IACT,IAAI;IACG;IACG;IACI;IACJ;IACV,GAAK,CAAC,YAAY,sBAAsB,CAAC;GAAG;GAE9C,qBAAC,OAAD;IACE,WAAU;IACV,iBAAe,aAAa,OAAO,OAAO;IAC1C,gBAAc,YAAY;IAC1B,KAAK;cAJP;KAMG,UAAU,oBAAC,OAAD;MAAK,WAAU;gBAA8B;KAAY;KACpE,oBAAC,OAAD;MAAK,WAAU;gBACb,oBAAC,SAAD;OACE,WAAU;OACV,oBAAkB,oBAAoB,gBAAgB;OACtD,gBAAc;OACd,mBAAiB;OACjB,IAAI;OACJ,gBAAc,YAAY;OACf;OACX,UAAU;OACA;OACV,KAAK,UAAU,YAAY,QAAQ;OAC7B;OACC;OACP,GAAI;MAAM;KAET;MACH,UAAU,cACV,qBAAC,OAAD;MAAK,WAAU;gBAAf,CACG,QACA,aACC,oBAAC,QAAD;OAAM,WAAU;iBACb,cAAc,SAAY,GAAG,MAAK,GAAI,cAAc;MACjD,EAEL;;IAEJ;;GACJ,qBACC,oBAAC,eAAD;IAAe,gBAAc,YAAY;IAAM,IAAI;cAChD;GACY;EAEd;;AAET,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocusWithClick.cjs","names":[
|
|
1
|
+
{"version":3,"file":"useFocusWithClick.cjs","names":[],"sources":["../../../src/components/TextField/useFocusWithClick.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport * as React from 'react'\n\nexport function useFocusWithClick(\n containerRef: React.RefObject<HTMLDivElement | null>,\n inputRef: React.RefObject<HTMLInputElement | HTMLTextAreaElement | null>,\n) {\n useEffect(() => {\n const el = containerRef.current\n if (el) {\n const handleDown = (e: MouseEvent) => {\n if (e.target !== inputRef.current) {\n inputRef.current?.focus()\n }\n }\n el.addEventListener('click', handleDown)\n return () => {\n el.removeEventListener('click', handleDown)\n }\n }\n })\n}\n"],"mappings":";;;;AAGA,SAAgB,kBACd,cACA,UACA;CACA,2BAAgB;EACd,MAAM,KAAK,aAAa;EACxB,IAAI,IAAI;GACN,MAAM,cAAc,MAAkB;IACpC,IAAI,EAAE,WAAW,SAAS,SACxB,SAAS,SAAS,MAAM;GAE5B;GACA,GAAG,iBAAiB,SAAS,UAAU;GACvC,aAAa;IACX,GAAG,oBAAoB,SAAS,UAAU;GAC5C;EACF;CACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocusWithClick.js","names":[
|
|
1
|
+
{"version":3,"file":"useFocusWithClick.js","names":[],"sources":["../../../src/components/TextField/useFocusWithClick.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport * as React from 'react'\n\nexport function useFocusWithClick(\n containerRef: React.RefObject<HTMLDivElement | null>,\n inputRef: React.RefObject<HTMLInputElement | HTMLTextAreaElement | null>,\n) {\n useEffect(() => {\n const el = containerRef.current\n if (el) {\n const handleDown = (e: MouseEvent) => {\n if (e.target !== inputRef.current) {\n inputRef.current?.focus()\n }\n }\n el.addEventListener('click', handleDown)\n return () => {\n el.removeEventListener('click', handleDown)\n }\n }\n })\n}\n"],"mappings":";;;;AAGA,SAAgB,kBACd,cACA,UACA;CACA,gBAAgB;EACd,MAAM,KAAK,aAAa;EACxB,IAAI,IAAI;GACN,MAAM,cAAc,MAAkB;IACpC,IAAI,EAAE,WAAW,SAAS,SACxB,SAAS,SAAS,MAAM;GAE5B;GACA,GAAG,iBAAiB,SAAS,UAAU;GACvC,aAAa;IACX,GAAG,oBAAoB,SAAS,UAAU;GAC5C;EACF;CACF,CAAC;AACH"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
3
|
const require_SSRProvider = require('./SSRProvider.cjs');
|
|
4
4
|
let react = require("react");
|
|
5
|
-
react = require_runtime.__toESM(react);
|
|
5
|
+
react = require_runtime.__toESM(react, 1);
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let react_aria_private_overlays_useModal = require("react-aria/private/overlays/useModal");
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharcoalProvider.cjs","names":[
|
|
1
|
+
{"version":3,"file":"CharcoalProvider.cjs","names":[],"sources":["../../src/core/CharcoalProvider.tsx"],"sourcesContent":["import * as React from 'react'\nimport { OverlayProvider } from './OverlayProvider'\nimport { SSRProvider } from './SSRProvider'\n\nexport type CharcoalProviderProps = {\n children: React.ReactNode\n}\n\nexport function CharcoalProvider({ children }: CharcoalProviderProps) {\n return (\n <SSRProvider>\n <OverlayProvider>{children}</OverlayProvider>\n </SSRProvider>\n )\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,iBAAiB,EAAE,YAAmC;CACpE,OACE,2CAAC,iCAAD,YACE,2CAAC,sDAAD,EAAkB,SAA0B,GACjC;AAEjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharcoalProvider.js","names":[
|
|
1
|
+
{"version":3,"file":"CharcoalProvider.js","names":[],"sources":["../../src/core/CharcoalProvider.tsx"],"sourcesContent":["import * as React from 'react'\nimport { OverlayProvider } from './OverlayProvider'\nimport { SSRProvider } from './SSRProvider'\n\nexport type CharcoalProviderProps = {\n children: React.ReactNode\n}\n\nexport function CharcoalProvider({ children }: CharcoalProviderProps) {\n return (\n <SSRProvider>\n <OverlayProvider>{children}</OverlayProvider>\n </SSRProvider>\n )\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,iBAAiB,EAAE,YAAmC;CACpE,OACE,oBAAC,aAAD,YACE,oBAAC,iBAAD,EAAkB,SAA0B,GACjC;AAEjB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
2
|
let react = require("react");
|
|
4
3
|
let react_aria_SSRProvider = require("react-aria/SSRProvider");
|
|
5
4
|
|
|
@@ -12,4 +11,5 @@ const SSRProvider = isReactVersionOver(18) ? react.Fragment : react_aria_SSRProv
|
|
|
12
11
|
|
|
13
12
|
//#endregion
|
|
14
13
|
exports.SSRProvider = SSRProvider;
|
|
14
|
+
exports.isReactVersionOver = isReactVersionOver;
|
|
15
15
|
//# sourceMappingURL=SSRProvider.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SSRProvider.cjs","names":[
|
|
1
|
+
{"version":3,"file":"SSRProvider.cjs","names":[],"sources":["../../src/core/SSRProvider.tsx"],"sourcesContent":["import { version, Fragment } from 'react'\nimport { SSRProvider as OriginSSRProvider } from 'react-aria/SSRProvider'\n\nexport function isReactVersionOver(minVersion: number): boolean {\n // version history on the react side: https://github.com/facebook/react/commits/main/packages/shared/ReactVersion.js\n const reactMajorVersion = parseInt(version.split('.')[0], 10)\n return Number.isFinite(reactMajorVersion)\n ? reactMajorVersion >= minVersion\n : false\n}\n\nexport const SSRProvider = isReactVersionOver(18) ? Fragment : OriginSSRProvider\n"],"mappings":";;;;;AAGA,SAAgB,mBAAmB,YAA6B;CAE9D,MAAM,oBAAoB,SAAS,cAAQ,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;CAC5D,OAAO,OAAO,SAAS,iBAAiB,IACpC,qBAAqB,aACrB;AACN;AAEA,MAAa,cAAc,mBAAmB,EAAE,IAAI,iBAAW"}
|
package/dist/core/SSRProvider.js
CHANGED
|
@@ -10,5 +10,5 @@ function isReactVersionOver(minVersion) {
|
|
|
10
10
|
const SSRProvider$1 = isReactVersionOver(18) ? Fragment : SSRProvider;
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
|
-
export { SSRProvider$1 as SSRProvider };
|
|
13
|
+
export { SSRProvider$1 as SSRProvider, isReactVersionOver };
|
|
14
14
|
//# sourceMappingURL=SSRProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SSRProvider.js","names":[
|
|
1
|
+
{"version":3,"file":"SSRProvider.js","names":[],"sources":["../../src/core/SSRProvider.tsx"],"sourcesContent":["import { version, Fragment } from 'react'\nimport { SSRProvider as OriginSSRProvider } from 'react-aria/SSRProvider'\n\nexport function isReactVersionOver(minVersion: number): boolean {\n // version history on the react side: https://github.com/facebook/react/commits/main/packages/shared/ReactVersion.js\n const reactMajorVersion = parseInt(version.split('.')[0], 10)\n return Number.isFinite(reactMajorVersion)\n ? reactMajorVersion >= minVersion\n : false\n}\n\nexport const SSRProvider = isReactVersionOver(18) ? Fragment : OriginSSRProvider\n"],"mappings":";;;;;AAGA,SAAgB,mBAAmB,YAA6B;CAE9D,MAAM,oBAAoB,SAAS,QAAQ,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;CAC5D,OAAO,OAAO,SAAS,iBAAiB,IACpC,qBAAqB,aACrB;AACN;AAEA,MAAa,gBAAc,mBAAmB,EAAE,IAAI,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetThemeScript.cjs","names":[
|
|
1
|
+
{"version":3,"file":"SetThemeScript.cjs","names":[],"sources":["../../src/core/SetThemeScript.tsx"],"sourcesContent":["import {\n assertKeyString,\n DEFAULT_ROOT_ATTRIBUTE,\n LOCAL_STORAGE_KEY,\n} from './themeHelper'\n\ninterface Props {\n localStorageKey: string\n rootAttribute: string\n}\n\n/**\n * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するコードを取得する\n * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト\n * @returns ソースコードの文字列\n */\nexport function makeSetThemeScriptCode({\n localStorageKey = defaultProps.localStorageKey,\n rootAttribute = defaultProps.rootAttribute,\n}: Partial<Props> = defaultProps) {\n assertKeyString(localStorageKey)\n assertKeyString(rootAttribute)\n return `'use strict';\n(function () {\n var localStorageKey = '${localStorageKey}'\n var rootAttribute = '${rootAttribute}'\n var currentTheme = localStorage.getItem(localStorageKey);\n if (currentTheme) {\n document.documentElement.dataset[rootAttribute] = currentTheme;\n }\n})();\n`\n}\n\n/**\n * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するスクリプトタグ\n * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト\n * @returns\n */\nexport function SetThemeScript({\n localStorageKey = defaultProps.localStorageKey,\n rootAttribute = defaultProps.rootAttribute,\n}: Props) {\n const src = makeSetThemeScriptCode({ localStorageKey, rootAttribute })\n return (\n <script\n dangerouslySetInnerHTML={{\n __html: src,\n }}\n />\n )\n}\n\nconst defaultProps: Props = {\n localStorageKey: LOCAL_STORAGE_KEY,\n rootAttribute: DEFAULT_ROOT_ATTRIBUTE,\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,uBAAuB,EACrC,kBAAkB,aAAa,iBAC/B,gBAAgB,aAAa,kBACX,cAAc;CAChC,oCAAgB,eAAe;CAC/B,oCAAgB,aAAa;CAC7B,OAAO;;6BAEoB,gBAAe;2BACjB,cAAa;;;;;;;AAOxC;;;;;;AAOA,SAAgB,eAAe,EAC7B,kBAAkB,aAAa,iBAC/B,gBAAgB,aAAa,iBACrB;CAER,OACE,2CAAC,UAAD,EACE,yBAAyB,EACvB,QAJM,uBAAuB;EAAE;EAAiB;CAAc,CAItD,EACV,EAAE;AAGR;AAEA,MAAM,eAAsB;CAC1B,iBAAiB;CACjB,eAAe;AACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetThemeScript.js","names":[
|
|
1
|
+
{"version":3,"file":"SetThemeScript.js","names":[],"sources":["../../src/core/SetThemeScript.tsx"],"sourcesContent":["import {\n assertKeyString,\n DEFAULT_ROOT_ATTRIBUTE,\n LOCAL_STORAGE_KEY,\n} from './themeHelper'\n\ninterface Props {\n localStorageKey: string\n rootAttribute: string\n}\n\n/**\n * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するコードを取得する\n * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト\n * @returns ソースコードの文字列\n */\nexport function makeSetThemeScriptCode({\n localStorageKey = defaultProps.localStorageKey,\n rootAttribute = defaultProps.rootAttribute,\n}: Partial<Props> = defaultProps) {\n assertKeyString(localStorageKey)\n assertKeyString(rootAttribute)\n return `'use strict';\n(function () {\n var localStorageKey = '${localStorageKey}'\n var rootAttribute = '${rootAttribute}'\n var currentTheme = localStorage.getItem(localStorageKey);\n if (currentTheme) {\n document.documentElement.dataset[rootAttribute] = currentTheme;\n }\n})();\n`\n}\n\n/**\n * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するスクリプトタグ\n * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト\n * @returns\n */\nexport function SetThemeScript({\n localStorageKey = defaultProps.localStorageKey,\n rootAttribute = defaultProps.rootAttribute,\n}: Props) {\n const src = makeSetThemeScriptCode({ localStorageKey, rootAttribute })\n return (\n <script\n dangerouslySetInnerHTML={{\n __html: src,\n }}\n />\n )\n}\n\nconst defaultProps: Props = {\n localStorageKey: LOCAL_STORAGE_KEY,\n rootAttribute: DEFAULT_ROOT_ATTRIBUTE,\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,uBAAuB,EACrC,kBAAkB,aAAa,iBAC/B,gBAAgB,aAAa,kBACX,cAAc;CAChC,gBAAgB,eAAe;CAC/B,gBAAgB,aAAa;CAC7B,OAAO;;6BAEoB,gBAAe;2BACjB,cAAa;;;;;;;AAOxC;;;;;;AAOA,SAAgB,eAAe,EAC7B,kBAAkB,aAAa,iBAC/B,gBAAgB,aAAa,iBACrB;CAER,OACE,oBAAC,UAAD,EACE,yBAAyB,EACvB,QAJM,uBAAuB;EAAE;EAAiB;CAAc,CAItD,EACV,EAAE;AAGR;AAEA,MAAM,eAAsB;CAC1B,iBAAiB;CACjB,eAAe;AACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeHelper.cjs","names":[
|
|
1
|
+
{"version":3,"file":"themeHelper.cjs","names":[],"sources":["../../src/core/themeHelper.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react'\n\nexport const LOCAL_STORAGE_KEY = 'charcoal-theme'\nexport const DEFAULT_ROOT_ATTRIBUTE = 'theme'\n\nconst keyStringRegExp = new RegExp(/^(\\w|-)+$/)\n\n/**\n * 文字列が英数字_-のみで構成されているか検証する。不正な文字列ならエラーを投げる\n * @param key 検証するキー\n */\nexport function assertKeyString(key: string) {\n if (!keyStringRegExp.test(key)) {\n throw new Error(`Unexpected key :${key}, expect: /^(\\\\w|-)+$/`)\n }\n}\n\n/**\n * `<html data-theme=\"dark\">` のような設定を行うデフォルトのセッター\n */\nexport const themeSetter =\n (attr: string = DEFAULT_ROOT_ATTRIBUTE) =>\n (theme: string | undefined) => {\n assertKeyString(attr)\n if (theme !== undefined) {\n document.documentElement.dataset[attr] = theme\n } else {\n delete document.documentElement.dataset[attr]\n }\n }\n\n// デフォルト引数で生成すると毎レンダー新しい関数になり、effect が再実行される\nconst defaultThemeSetter = themeSetter()\n\n/**\n * `<html data-theme=\"dark\">` にマッチするセレクタを生成する\n */\nexport function themeSelector<\n T extends string,\n S extends string = typeof DEFAULT_ROOT_ATTRIBUTE,\n>(theme: T, attr?: S) {\n return `:root[data-${attr ?? DEFAULT_ROOT_ATTRIBUTE}='${theme}']` as const\n}\n\n/**\n * prefers-color-scheme を利用する media クエリを生成する\n */\nexport function prefersColorScheme<T extends 'light' | 'dark'>(theme: T) {\n return `@media (prefers-color-scheme: ${theme})` as const\n}\n\n/**\n * LocalStorageからテーマの情報を取得して、変化時にテーマをセットするhooks\n */\nexport function useThemeSetter({\n key = LOCAL_STORAGE_KEY,\n setter = defaultThemeSetter,\n}: { key?: string; setter?: (theme: string | undefined) => void } = {}) {\n const [theme, , system] = useTheme(key)\n\n useEffect(() => {\n if (theme === undefined) {\n return\n }\n // prefers-color-scheme から値を取っている場合にはcssのみで処理したいのでアンセットする\n setter(system ? undefined : theme)\n }, [setter, system, theme])\n}\n\n/**\n * 同期的にLocalStorageからテーマを取得するヘルパ\n */\nexport function getThemeSync(key: string = LOCAL_STORAGE_KEY) {\n const theme = localStorage.getItem(key)\n return theme\n}\n\n/**\n * LocalStorage, prefers-color-scheme からテーマの情報を取得して、現在のテーマを返すhooks\n *\n * `dark` `light` という名前だけは特別扱いされていて、prefers-color-schemeにマッチした場合に返ります\n */\nexport const useTheme = (localStorageKey: string = LOCAL_STORAGE_KEY) => {\n assertKeyString(localStorageKey)\n const isDark = useMedia('(prefers-color-scheme: dark)')\n const media = isDark !== undefined ? (isDark ? 'dark' : 'light') : undefined\n const [local, setTheme, ready] =\n useLocalStorage<typeof media>(localStorageKey)\n const theme = !ready || media === undefined ? undefined : (local ?? media)\n const system = local === undefined\n return [theme, setTheme, system] as const\n}\n\nexport function useLocalStorage<T>(key: string, defaultValue?: () => T) {\n const [ready, setReady] = useState(false)\n const [state, setState] = useState<T>()\n const defaultValueMemo = useMemo(() => defaultValue?.(), [defaultValue])\n\n const fetch = useCallback(() => {\n const raw = localStorage.getItem(key)\n setState((raw !== null ? deserialize(raw) : null) ?? defaultValueMemo)\n setReady(true)\n }, [defaultValueMemo, key])\n\n const handleStorage = useCallback(\n (e: StorageEvent) => {\n if (e.storageArea !== localStorage) {\n return\n }\n if (e.key !== key) {\n return\n }\n fetch()\n },\n [fetch, key],\n )\n\n // JSON は deserialize のたびに新しい object になるため、入力変更時だけ再取得する\n useEffect(() => {\n fetch()\n window.addEventListener('storage', handleStorage)\n return () => {\n window.removeEventListener('storage', handleStorage)\n }\n }, [fetch, handleStorage])\n\n const set = (value: T | undefined) => {\n if (value === undefined) {\n // undefinedがセットされる場合にはkeyごと削除\n localStorage.removeItem(key)\n } else {\n const raw = serialize(value)\n localStorage.setItem(key, raw)\n }\n\n // 同一ウィンドウではstorageイベントが発火しないので、手動で発火させる\n const event = new StorageEvent('storage', {\n bubbles: true,\n cancelable: false,\n key,\n url: location.href,\n storageArea: localStorage,\n })\n dispatchEvent(event)\n }\n\n return [state ?? defaultValueMemo, set, ready] as const\n}\n\nfunction deserialize<T>(raw: string): T {\n try {\n return JSON.parse(raw) as T\n } catch {\n // syntax error はすべて文字列として扱う\n return raw as unknown as T\n }\n}\n\nfunction serialize(value: unknown): string {\n if (typeof value === 'string') {\n return value\n } else {\n return JSON.stringify(value)\n }\n}\n\nexport function useMedia(query: string) {\n const [match, setState] = useState<boolean>()\n\n useEffect(() => {\n const matcher = window.matchMedia(query)\n\n const onChange = () => {\n setState(matcher.matches)\n }\n\n matcher.addEventListener('change', onChange)\n\n setState(matcher.matches)\n\n return () => {\n matcher.removeEventListener('change', onChange)\n }\n }, [query])\n\n return match\n}\n"],"mappings":";;;;AAEA,MAAa,oBAAoB;AACjC,MAAa,yBAAyB;AAEtC,MAAM,kCAAkB,IAAI,OAAO,WAAW;;;;;AAM9C,SAAgB,gBAAgB,KAAa;CAC3C,IAAI,CAAC,gBAAgB,KAAK,GAAG,GAC3B,MAAM,IAAI,MAAM,mBAAmB,IAAG,uBAAwB;AAElE;;;;AAKA,MAAa,eACV,OAAe,4BACf,UAA8B;CAC7B,gBAAgB,IAAI;CACpB,IAAI,UAAU,QACZ,SAAS,gBAAgB,QAAQ,QAAQ;MAEzC,OAAO,SAAS,gBAAgB,QAAQ;AAE5C;AAGF,MAAM,qBAAqB,YAAY;;;;AAKvC,SAAgB,cAGd,OAAU,MAAU;CACpB,OAAO,cAAc,gBAA8B,IAAK,MAAK;AAC/D;;;;AAKA,SAAgB,mBAA+C,OAAU;CACvE,OAAO,iCAAiC,MAAK;AAC/C;;;;AAKA,SAAgB,eAAe,EAC7B,MAAM,mBACN,SAAS,uBACyD,CAAC,GAAG;CACtE,MAAM,CAAC,SAAS,UAAU,SAAS,GAAG;CAEtC,2BAAgB;EACd,IAAI,UAAU,QACZ;EAGF,OAAO,SAAS,SAAY,KAAK;CACnC,GAAG;EAAC;EAAQ;EAAQ;CAAK,CAAC;AAC5B;;;;AAKA,SAAgB,aAAa,MAAc,mBAAmB;CAE5D,OADc,aAAa,QAAQ,GAC5B;AACT;;;;;;AAOA,MAAa,YAAY,kBAA0B,sBAAsB;CACvE,gBAAgB,eAAe;CAC/B,MAAM,SAAS,SAAS,8BAA8B;CACtD,MAAM,QAAQ,WAAW,SAAa,SAAS,SAAS,UAAW;CACnE,MAAM,CAAC,OAAO,UAAU,SACtB,gBAA8B,eAAe;CAG/C,OAAO;EAFO,CAAC,SAAS,UAAU,SAAY,SAAa,SAAS;EAErD;EADA,UAAU;CACM;AACjC;AAEA,SAAgB,gBAAmB,KAAa,cAAwB;CACtE,MAAM,CAAC,OAAO,gCAAqB,KAAK;CACxC,MAAM,CAAC,OAAO,gCAAwB;CACtC,MAAM,4CAAiC,eAAe,GAAG,CAAC,YAAY,CAAC;CAEvE,MAAM,qCAA0B;EAC9B,MAAM,MAAM,aAAa,QAAQ,GAAG;EACpC,UAAU,QAAQ,OAAO,YAAY,GAAG,IAAI,SAAS,gBAAgB;EACrE,SAAS,IAAI;CACf,GAAG,CAAC,kBAAkB,GAAG,CAAC;CAE1B,MAAM,wCACH,MAAoB;EACnB,IAAI,EAAE,gBAAgB,cACpB;EAEF,IAAI,EAAE,QAAQ,KACZ;EAEF,MAAM;CACR,GACA,CAAC,OAAO,GAAG,CACb;CAGA,2BAAgB;EACd,MAAM;EACN,OAAO,iBAAiB,WAAW,aAAa;EAChD,aAAa;GACX,OAAO,oBAAoB,WAAW,aAAa;EACrD;CACF,GAAG,CAAC,OAAO,aAAa,CAAC;CAEzB,MAAM,OAAO,UAAyB;EACpC,IAAI,UAAU,QAEZ,aAAa,WAAW,GAAG;OACtB;GACL,MAAM,MAAM,UAAU,KAAK;GAC3B,aAAa,QAAQ,KAAK,GAAG;EAC/B;EAGA,MAAM,QAAQ,IAAI,aAAa,WAAW;GACxC,SAAS;GACT,YAAY;GACZ;GACA,KAAK,SAAS;GACd,aAAa;EACf,CAAC;EACD,cAAc,KAAK;CACrB;CAEA,OAAO;EAAC,SAAS;EAAkB;EAAK;CAAK;AAC/C;AAEA,SAAS,YAAe,KAAgB;CACtC,IAAI;EACF,OAAO,KAAK,MAAM,GAAG;CACvB,QAAQ;EAEN,OAAO;CACT;AACF;AAEA,SAAS,UAAU,OAAwB;CACzC,IAAI,OAAO,UAAU,UACnB,OAAO;MAEP,OAAO,KAAK,UAAU,KAAK;AAE/B;AAEA,SAAgB,SAAS,OAAe;CACtC,MAAM,CAAC,OAAO,gCAA8B;CAE5C,2BAAgB;EACd,MAAM,UAAU,OAAO,WAAW,KAAK;EAEvC,MAAM,iBAAiB;GACrB,SAAS,QAAQ,OAAO;EAC1B;EAEA,QAAQ,iBAAiB,UAAU,QAAQ;EAE3C,SAAS,QAAQ,OAAO;EAExB,aAAa;GACX,QAAQ,oBAAoB,UAAU,QAAQ;EAChD;CACF,GAAG,CAAC,KAAK,CAAC;CAEV,OAAO;AACT"}
|
|
@@ -12,7 +12,7 @@ export declare const themeSetter: (attr?: string) => (theme: string | undefined)
|
|
|
12
12
|
/**
|
|
13
13
|
* `<html data-theme="dark">` にマッチするセレクタを生成する
|
|
14
14
|
*/
|
|
15
|
-
export declare function themeSelector<T extends string, S extends string = typeof DEFAULT_ROOT_ATTRIBUTE>(theme: T, attr?: S): `:root[data
|
|
15
|
+
export declare function themeSelector<T extends string, S extends string = typeof DEFAULT_ROOT_ATTRIBUTE>(theme: T, attr?: S): `:root[data-${S}='${T}']` | `:root[data-theme='${T}']`;
|
|
16
16
|
/**
|
|
17
17
|
* prefers-color-scheme を利用する media クエリを生成する
|
|
18
18
|
*/
|
|
@@ -33,7 +33,7 @@ export declare function getThemeSync(key?: string): string | null;
|
|
|
33
33
|
*
|
|
34
34
|
* `dark` `light` という名前だけは特別扱いされていて、prefers-color-schemeにマッチした場合に返ります
|
|
35
35
|
*/
|
|
36
|
-
export declare const useTheme: (localStorageKey?: string) => readonly ["
|
|
36
|
+
export declare const useTheme: (localStorageKey?: string) => readonly ["dark" | "light" | undefined, (value: "dark" | "light" | undefined) => void, boolean];
|
|
37
37
|
export declare function useLocalStorage<T>(key: string, defaultValue?: () => T): readonly [T | undefined, (value: T | undefined) => void, boolean];
|
|
38
38
|
export declare function useMedia(query: string): boolean | undefined;
|
|
39
39
|
//# sourceMappingURL=themeHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeHelper.d.ts","sourceRoot":"","sources":["../../src/core/themeHelper.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,mBAAmB,CAAA;AACjD,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAI7C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,QAI1C;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"themeHelper.d.ts","sourceRoot":"","sources":["../../src/core/themeHelper.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,mBAAmB,CAAA;AACjD,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAI7C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,QAI1C;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,UACf,MAAM,aACL,MAAM,GAAG,SAAS,SAOzB,CAAA;AAKH;;GAEG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,GAAG,OAAO,sBAAsB,EAChD,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,0DAEnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,yCAEtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAuB,EACvB,MAA2B,GAC5B,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;CAAO,QAUrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAA0B,iBAG3D;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,qBAAqB,MAAM,oGAS/C,CAAA;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,oCAiChD,CAAC,GAAG,SAAS,oBAqBlC;AAmBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,uBAoBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeHelper.js","names":[
|
|
1
|
+
{"version":3,"file":"themeHelper.js","names":[],"sources":["../../src/core/themeHelper.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react'\n\nexport const LOCAL_STORAGE_KEY = 'charcoal-theme'\nexport const DEFAULT_ROOT_ATTRIBUTE = 'theme'\n\nconst keyStringRegExp = new RegExp(/^(\\w|-)+$/)\n\n/**\n * 文字列が英数字_-のみで構成されているか検証する。不正な文字列ならエラーを投げる\n * @param key 検証するキー\n */\nexport function assertKeyString(key: string) {\n if (!keyStringRegExp.test(key)) {\n throw new Error(`Unexpected key :${key}, expect: /^(\\\\w|-)+$/`)\n }\n}\n\n/**\n * `<html data-theme=\"dark\">` のような設定を行うデフォルトのセッター\n */\nexport const themeSetter =\n (attr: string = DEFAULT_ROOT_ATTRIBUTE) =>\n (theme: string | undefined) => {\n assertKeyString(attr)\n if (theme !== undefined) {\n document.documentElement.dataset[attr] = theme\n } else {\n delete document.documentElement.dataset[attr]\n }\n }\n\n// デフォルト引数で生成すると毎レンダー新しい関数になり、effect が再実行される\nconst defaultThemeSetter = themeSetter()\n\n/**\n * `<html data-theme=\"dark\">` にマッチするセレクタを生成する\n */\nexport function themeSelector<\n T extends string,\n S extends string = typeof DEFAULT_ROOT_ATTRIBUTE,\n>(theme: T, attr?: S) {\n return `:root[data-${attr ?? DEFAULT_ROOT_ATTRIBUTE}='${theme}']` as const\n}\n\n/**\n * prefers-color-scheme を利用する media クエリを生成する\n */\nexport function prefersColorScheme<T extends 'light' | 'dark'>(theme: T) {\n return `@media (prefers-color-scheme: ${theme})` as const\n}\n\n/**\n * LocalStorageからテーマの情報を取得して、変化時にテーマをセットするhooks\n */\nexport function useThemeSetter({\n key = LOCAL_STORAGE_KEY,\n setter = defaultThemeSetter,\n}: { key?: string; setter?: (theme: string | undefined) => void } = {}) {\n const [theme, , system] = useTheme(key)\n\n useEffect(() => {\n if (theme === undefined) {\n return\n }\n // prefers-color-scheme から値を取っている場合にはcssのみで処理したいのでアンセットする\n setter(system ? undefined : theme)\n }, [setter, system, theme])\n}\n\n/**\n * 同期的にLocalStorageからテーマを取得するヘルパ\n */\nexport function getThemeSync(key: string = LOCAL_STORAGE_KEY) {\n const theme = localStorage.getItem(key)\n return theme\n}\n\n/**\n * LocalStorage, prefers-color-scheme からテーマの情報を取得して、現在のテーマを返すhooks\n *\n * `dark` `light` という名前だけは特別扱いされていて、prefers-color-schemeにマッチした場合に返ります\n */\nexport const useTheme = (localStorageKey: string = LOCAL_STORAGE_KEY) => {\n assertKeyString(localStorageKey)\n const isDark = useMedia('(prefers-color-scheme: dark)')\n const media = isDark !== undefined ? (isDark ? 'dark' : 'light') : undefined\n const [local, setTheme, ready] =\n useLocalStorage<typeof media>(localStorageKey)\n const theme = !ready || media === undefined ? undefined : (local ?? media)\n const system = local === undefined\n return [theme, setTheme, system] as const\n}\n\nexport function useLocalStorage<T>(key: string, defaultValue?: () => T) {\n const [ready, setReady] = useState(false)\n const [state, setState] = useState<T>()\n const defaultValueMemo = useMemo(() => defaultValue?.(), [defaultValue])\n\n const fetch = useCallback(() => {\n const raw = localStorage.getItem(key)\n setState((raw !== null ? deserialize(raw) : null) ?? defaultValueMemo)\n setReady(true)\n }, [defaultValueMemo, key])\n\n const handleStorage = useCallback(\n (e: StorageEvent) => {\n if (e.storageArea !== localStorage) {\n return\n }\n if (e.key !== key) {\n return\n }\n fetch()\n },\n [fetch, key],\n )\n\n // JSON は deserialize のたびに新しい object になるため、入力変更時だけ再取得する\n useEffect(() => {\n fetch()\n window.addEventListener('storage', handleStorage)\n return () => {\n window.removeEventListener('storage', handleStorage)\n }\n }, [fetch, handleStorage])\n\n const set = (value: T | undefined) => {\n if (value === undefined) {\n // undefinedがセットされる場合にはkeyごと削除\n localStorage.removeItem(key)\n } else {\n const raw = serialize(value)\n localStorage.setItem(key, raw)\n }\n\n // 同一ウィンドウではstorageイベントが発火しないので、手動で発火させる\n const event = new StorageEvent('storage', {\n bubbles: true,\n cancelable: false,\n key,\n url: location.href,\n storageArea: localStorage,\n })\n dispatchEvent(event)\n }\n\n return [state ?? defaultValueMemo, set, ready] as const\n}\n\nfunction deserialize<T>(raw: string): T {\n try {\n return JSON.parse(raw) as T\n } catch {\n // syntax error はすべて文字列として扱う\n return raw as unknown as T\n }\n}\n\nfunction serialize(value: unknown): string {\n if (typeof value === 'string') {\n return value\n } else {\n return JSON.stringify(value)\n }\n}\n\nexport function useMedia(query: string) {\n const [match, setState] = useState<boolean>()\n\n useEffect(() => {\n const matcher = window.matchMedia(query)\n\n const onChange = () => {\n setState(matcher.matches)\n }\n\n matcher.addEventListener('change', onChange)\n\n setState(matcher.matches)\n\n return () => {\n matcher.removeEventListener('change', onChange)\n }\n }, [query])\n\n return match\n}\n"],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
3
2
|
const require_SSRProvider = require('./core/SSRProvider.cjs');
|
|
4
3
|
const require_CharcoalProvider = require('./core/CharcoalProvider.cjs');
|
|
5
4
|
const require_themeHelper = require('./core/themeHelper.cjs');
|
|
@@ -31,27 +30,27 @@ const require_index$22 = require('./components/Carousel/index2.cjs');
|
|
|
31
30
|
require('./components/FocusRing/index.cjs');
|
|
32
31
|
let react_aria_private_overlays_useModal = require("react-aria/private/overlays/useModal");
|
|
33
32
|
|
|
34
|
-
exports.Button = require_index;
|
|
35
|
-
exports.Carousel = require_index$22;
|
|
33
|
+
exports.Button = require_index.default;
|
|
34
|
+
exports.Carousel = require_index$22.default;
|
|
36
35
|
exports.CharcoalProvider = require_CharcoalProvider.CharcoalProvider;
|
|
37
|
-
exports.Checkbox = require_index$17;
|
|
38
|
-
exports.Clickable = require_index$1;
|
|
39
|
-
exports.DropdownMenuItem = require_index$14;
|
|
40
|
-
exports.DropdownSelector = require_index$12;
|
|
41
|
-
exports.HintText = require_index$19;
|
|
42
|
-
exports.Icon = require_index$5;
|
|
43
|
-
exports.IconButton = require_index$2;
|
|
44
|
-
exports.LoadingSpinner = require_index$11;
|
|
36
|
+
exports.Checkbox = require_index$17.default;
|
|
37
|
+
exports.Clickable = require_index$1.default;
|
|
38
|
+
exports.DropdownMenuItem = require_index$14.default;
|
|
39
|
+
exports.DropdownSelector = require_index$12.default;
|
|
40
|
+
exports.HintText = require_index$19.default;
|
|
41
|
+
exports.Icon = require_index$5.default;
|
|
42
|
+
exports.IconButton = require_index$2.default;
|
|
43
|
+
exports.LoadingSpinner = require_index$11.default;
|
|
45
44
|
exports.LoadingSpinnerIcon = require_index$11.LoadingSpinnerIcon;
|
|
46
|
-
exports.MenuItem = require_index$13;
|
|
47
|
-
exports.MenuItemGroup = require_index$15;
|
|
48
|
-
exports.Modal = require_index$10;
|
|
45
|
+
exports.MenuItem = require_index$13.default;
|
|
46
|
+
exports.MenuItemGroup = require_index$15.default;
|
|
47
|
+
exports.Modal = require_index$10.default;
|
|
49
48
|
exports.ModalAlign = require_ModalPlumbing.ModalAlign;
|
|
50
49
|
exports.ModalBody = require_ModalPlumbing.ModalBody;
|
|
51
50
|
exports.ModalButtons = require_ModalPlumbing.ModalButtons;
|
|
52
51
|
exports.ModalCloseButton = require_index$10.ModalCloseButton;
|
|
53
52
|
exports.ModalHeader = require_ModalPlumbing.ModalHeader;
|
|
54
|
-
exports.MultiSelect = require_index$6;
|
|
53
|
+
exports.MultiSelect = require_index$6.default;
|
|
55
54
|
exports.MultiSelectGroup = require_index$6.MultiSelectGroup;
|
|
56
55
|
Object.defineProperty(exports, 'OverlayProvider', {
|
|
57
56
|
enumerable: true,
|
|
@@ -59,17 +58,17 @@ Object.defineProperty(exports, 'OverlayProvider', {
|
|
|
59
58
|
return react_aria_private_overlays_useModal.OverlayProvider;
|
|
60
59
|
}
|
|
61
60
|
});
|
|
62
|
-
exports.Pagination = require_index$21;
|
|
63
|
-
exports.Radio = require_index$3;
|
|
61
|
+
exports.Pagination = require_index$21.default;
|
|
62
|
+
exports.Radio = require_index$3.default;
|
|
64
63
|
exports.RadioGroup = require_index$4.RadioGroup;
|
|
65
64
|
exports.SSRProvider = require_SSRProvider.SSRProvider;
|
|
66
|
-
exports.SegmentedControl = require_index$16;
|
|
65
|
+
exports.SegmentedControl = require_index$16.default;
|
|
67
66
|
exports.SetThemeScript = require_SetThemeScript.SetThemeScript;
|
|
68
|
-
exports.Switch = require_index$7;
|
|
69
|
-
exports.TagItem = require_index$18;
|
|
70
|
-
exports.TextArea = require_index$9;
|
|
71
|
-
exports.TextEllipsis = require_index$20;
|
|
72
|
-
exports.TextField = require_index$8;
|
|
67
|
+
exports.Switch = require_index$7.default;
|
|
68
|
+
exports.TagItem = require_index$18.default;
|
|
69
|
+
exports.TextArea = require_index$9.default;
|
|
70
|
+
exports.TextEllipsis = require_index$20.default;
|
|
71
|
+
exports.TextField = require_index$8.default;
|
|
73
72
|
exports.getThemeSync = require_themeHelper.getThemeSync;
|
|
74
73
|
exports.makeSetThemeScriptCode = require_SetThemeScript.makeSetThemeScriptCode;
|
|
75
74
|
exports.prefersColorScheme = require_themeHelper.prefersColorScheme;
|