@charcoal-ui/react 5.0.0-beta.0 → 5.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +11 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +432 -220
- package/dist/index.css.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/layered.css +433 -221
- package/dist/layered.css.map +1 -1
- package/package.json +14 -12
- package/dist/index.cjs.js +0 -1624
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.esm.js +0 -1550
- package/dist/index.esm.js.map +0 -1
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Button/index.css","../src/components/Clickable/index.css","../src/components/IconButton/index.css","../src/components/Radio/index.css","../src/components/Radio/RadioInput/index.css","../src/components/Radio/RadioGroup/index.css","../src/components/MultiSelect/index.css","../src/components/Switch/index.css","../src/components/Switch/SwitchInput/index.css","../src/components/TextField/index.css","../src/components/FieldLabel/index.css","../src/components/TextField/AssistiveText/index.css","../src/components/TextArea/index.css","../src/components/Modal/Dialog/index.css","../src/components/Modal/index.css","../src/components/Modal/ModalPlumbing.css","../src/components/LoadingSpinner/index.css","../src/components/DropdownSelector/index.css","../src/components/DropdownSelector/Popover/index.css","../src/components/DropdownSelector/MenuList/index.css","../src/components/DropdownSelector/DropdownMenuItem/index.css","../src/components/DropdownSelector/ListItem/index.css","../src/components/DropdownSelector/MenuItemGroup/index.css","../src/components/SegmentedControl/index.css","../src/components/Checkbox/index.css","../src/components/Checkbox/CheckboxInput/index.css","../src/components/TagItem/index.css","../src/components/HintText/index.css"],"sourcesContent":[".charcoal-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: transparent;\n box-sizing: border-box;\n padding: 0 24px;\n border-style: none;\n outline: none;\n text-rendering: inherit;\n letter-spacing: inherit;\n word-spacing: inherit;\n text-decoration: none;\n font: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n width: -moz-min-content;\n width: min-content;\n display: inline-grid;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: nowrap;\n border-radius: 999999px;\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n color: var(--charcoal-text2);\n background-color: var(--charcoal-surface3);\n transition: 0.2s color, 0.2s background-color, 0.2s box-shadow;\n height: 40px;\n}\n\n.charcoal-button:disabled,\n.charcoal-button[aria-disabled]:not([aria-disabled='false']) {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-button:not(:disabled):not([aria-disabled]):focus-visible,\n.charcoal-button[aria-disabled='false']:focus-visible {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-button:not(:disabled):not([aria-disabled]):hover,\n.charcoal-button[aria-disabled='false']:hover {\n color: var(--charcoal-text2-hover);\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-button:not(:disabled):not([aria-disabled]):active,\n.charcoal-button[aria-disabled='false']:active,\n.charcoal-button[data-active='true'] {\n color: var(--charcoal-text2-press);\n background-color: var(--charcoal-surface3-press);\n}\n\n.charcoal-button[data-variant='Primary'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-button[data-variant='Primary']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Primary']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-button[data-variant='Primary']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Primary']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Primary'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-button[data-variant='Overlay'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-surface4);\n}\n\n.charcoal-button[data-variant='Overlay']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Overlay']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-surface4-hover);\n}\n\n.charcoal-button[data-variant='Overlay']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Overlay']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Overlay'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface4-press);\n}\n\n.charcoal-button[data-variant='Navigation'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-surface6);\n}\n\n.charcoal-button[data-variant='Navigation']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Navigation']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-surface6-hover);\n}\n\n.charcoal-button[data-variant='Navigation']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Navigation']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Navigation'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface6-press);\n}\n\n.charcoal-button[data-variant='Danger'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-assertive);\n}\n.charcoal-button[data-variant='Danger']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Danger']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-assertive-hover);\n}\n\n.charcoal-button[data-variant='Danger']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Danger']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Danger'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-assertive-press);\n}\n\n.charcoal-button[data-size='S'] {\n padding: 0 16px;\n height: 32px;\n}\n\n.charcoal-button[data-full-width='true'] {\n width: 100%;\n}\n",".charcoal-clickable {\n cursor: pointer;\n\n /* Reset button appearance */\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: transparent;\n padding: 0;\n border-style: none;\n outline: none;\n color: inherit;\n text-rendering: inherit;\n letter-spacing: inherit;\n word-spacing: inherit;\n text-decoration: none;\n\n /* Change the font styles in all browsers. */\n font: inherit;\n\n /* Remove the margin in Firefox and Safari. */\n margin: 0;\n\n /* Show the overflow in Edge. */\n overflow: visible;\n\n /* Remove the inheritance of text transform in Firefox. */\n text-transform: none;\n}\n\n.charcoal-clickable:disabled,\n.charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {\n cursor: default;\n}\n\n.charcoal-clickable:focus {\n outline: none;\n}\n\n.charcoal-clickable::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n",".charcoal-icon-button {\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: transparent;\n padding: 0;\n border-style: none;\n outline: none;\n color: inherit;\n text-rendering: inherit;\n letter-spacing: inherit;\n word-spacing: inherit;\n text-decoration: none;\n font: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n\n -webkit-user-select: none;\n\n -moz-user-select: none;\n\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 999999px;\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-icon-button:disabled,\n.charcoal-icon-button[aria-disabled]:not([aria-disabled='false']) {\n cursor: default;\n opacity: 0.32;\n}\n.charcoal-icon-button:focus {\n outline: none;\n}\n.charcoal-icon-button::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n.charcoal-icon-button[data-size='XS'] {\n width: 20px;\n height: 20px;\n}\n.charcoal-icon-button[data-size='S'] {\n width: 32px;\n height: 32px;\n}\n.charcoal-icon-button[data-size='M'] {\n width: 40px;\n height: 40px;\n}\n\n.charcoal-icon-button[data-variant='Default'] {\n color: var(--charcoal-text3);\n background-color: var(--charcoal-transparent);\n}\n.charcoal-icon-button[data-variant='Default'][data-active='true']:not(\n :disabled\n ):not([aria-disabled]),\n.charcoal-icon-button[data-variant='Default'][data-active='true'][aria-disabled='false'] {\n color: var(--charcoal-text3-press);\n background-color: var(--charcoal-transparent-press);\n}\n.charcoal-icon-button[data-variant='Default'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):hover,\n.charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:hover {\n color: var(--charcoal-text3-hover);\n background-color: var(--charcoal-transparent-hover);\n}\n.charcoal-icon-button[data-variant='Default'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):active,\n.charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:active {\n color: var(--charcoal-text3-press);\n background-color: var(--charcoal-transparent-press);\n}\n\n.charcoal-icon-button[data-variant='Overlay'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-surface4);\n}\n.charcoal-icon-button[data-variant='Overlay'][data-active='true']:not(\n :disabled\n ):not([aria-disabled]),\n.charcoal-icon-button[data-variant='Overlay'][data-active='true'][aria-disabled='false'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface4-press);\n}\n.charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):hover,\n.charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:hover {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-surface4-hover);\n}\n.charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):active,\n.charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:active {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface4-press);\n}\n\n.charcoal-icon-button:not(:disabled):not([aria-disabled]):focus,\n.charcoal-icon-button[aria-disabled='false']:focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-icon-button:not(:disabled):not([aria-disabled]):focus-visible,\n.charcoal-icon-button[aria-disabled='false']:focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-icon-button:not(:disabled):not([aria-disabled]):focus:not(\n :focus-visible\n ),\n.charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {\n box-shadow: none;\n}\n",".charcoal-radio__label {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 4px;\n align-items: center;\n cursor: pointer;\n}\n\n.charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-radio__label_div {\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n}\n",".charcoal-radio-input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n box-sizing: border-box;\n\n margin: 0;\n padding: 6px;\n\n width: 20px;\n height: 20px;\n cursor: pointer;\n border-radius: 999999px;\n background-color: var(--charcoal-surface1);\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-radio-input:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-radio-input:checked::after {\n content: '';\n display: block;\n width: 8px;\n height: 8px;\n pointer-events: none;\n background-color: var(--charcoal-text5);\n border-radius: 999999px;\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-radio-input:not(:checked) {\n border-width: 2px;\n border-style: solid;\n border-color: var(--charcoal-text3);\n}\n\n.charcoal-radio-input:disabled {\n cursor: default;\n}\n\n.charcoal-radio-input:not(:disabled):hover {\n background-color: var(--charcoal-surface1-hover);\n}\n\n.charcoal-radio-input:not(:disabled):active {\n background-color: var(--charcoal-surface1-press);\n}\n\n.charcoal-radio-input:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-radio-input:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-radio-input:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-radio-input:not(:disabled)[aria-invalid='true'],\n.charcoal-radio-input:not(:disabled)[aria-invalid='true']:focus {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-radio-input:checked:not(:disabled):hover {\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-radio-input:checked:not(:disabled):hover::after {\n background-color: var(--charcoal-text5-hover);\n}\n\n.charcoal-radio-input:checked:not(:disabled):active {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-radio-input:checked:not(:disabled):active::after {\n background-color: var(--charcoal-text5-press);\n}\n",".charcoal-radio-group {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 8px;\n}\n",".charcoal-multi-select {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n position: relative;\n cursor: pointer;\n gap: 4px;\n}\n\n.charcoal-multi-select:disabled,\n.charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-multi-select-label {\n display: flow-root;\n align-items: center;\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n}\n\n.charcoal-multi-select-label::before {\n display: block;\n width: 0;\n height: 0;\n content: '';\n margin-top: -4px;\n}\n\n.charcoal-multi-select-label::after {\n display: block;\n width: 0;\n height: 0;\n content: '';\n margin-bottom: -4px;\n}\n\n.charcoal-multi-select-input[type='checkbox'] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n width: 20px;\n height: 20px;\n margin: 0;\n background-color: var(--charcoal-text3);\n border-radius: 999999px;\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-multi-select-input[type='checkbox']:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-multi-select-input[type='checkbox']:focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-multi-select-input[type='checkbox']:focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {\n background-color: var(--charcoal-text3-hover);\n}\n\n.charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {\n background-color: var(--charcoal-text3-press);\n}\n\n.charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-multi-select-input[aria-invalid='true'][data-overlay='false']:not(\n :disabled\n ):not([aria-disabled]) {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-input[aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-input[data-overlay='true'] {\n background-color: var(--charcoal-surface4);\n}\n\n.charcoal-multi-select-overlay {\n position: absolute;\n top: -2px;\n left: -2px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: 999999px;\n color: var(--charcoal-text5);\n transition: 0.2s box-shadow;\n}\n\n.charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(\n :disabled\n ):not([aria-disabled]) {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-overlay[data-overlay='true'] {\n border-color: var(--charcoal-text5);\n border-width: 2px;\n border-style: solid;\n}\n",".charcoal-switch__label {\n display: inline-grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n cursor: pointer;\n outline: 0;\n gap: 4px;\n}\n\n.charcoal-switch__label[aria-disabled='true'] {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-switch__label[aria-disabled='true'] > input {\n opacity: 1;\n}\n\n.charcoal-switch__label_div {\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n}\n",".charcoal-switch-input {\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: inline-flex;\n position: relative;\n box-sizing: border-box;\n width: 28px;\n border: 2px solid transparent;\n\n transition-property: background-color, box-shadow;\n transition-duration: 0.2s;\n\n outline: none;\n border-radius: 16px;\n height: 16px;\n margin: 0;\n background-color: var(--charcoal-text4);\n}\n\n.charcoal-switch-input:disabled,\n.charcoal-switch-input[readonly] {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-switch-input::after {\n content: '';\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 12px;\n height: 12px;\n transform: translateX(0);\n transition: transform 0.2s;\n border-radius: 1024px;\n background-color: var(--charcoal-text5);\n}\n\n.charcoal-switch-input:checked::after {\n transform: translateX(12px);\n transition: transform 0.2s;\n}\n\n.charcoal-switch-input:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-switch-input:not(:disabled):hover {\n background-color: var(--charcoal-text4-hover);\n}\n\n.charcoal-switch-input:not(:disabled):active {\n background-color: var(--charcoal-text4-press);\n}\n\n.charcoal-switch-input:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-switch-input:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-switch-input:not(:disabled)::after:hover {\n background-color: var(--charcoal-text5-hover);\n}\n\n.charcoal-switch-input:not(:disabled)::after:active {\n background-color: var(--charcoal-text5-press);\n}\n\n.charcoal-switch-input:not(:disabled):checked:hover {\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-switch-input:not(:disabled):checked:active {\n background-color: var(--charcoal-brand-press);\n}\n",".charcoal-text-field-root {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 4px;\n}\n\n.charcoal-text-field-root[aria-disabled='true'] {\n opacity: 0.32;\n}\n\n.charcoal-text-field-container {\n display: flex;\n height: 40px;\n transition: 0.2s background-color, 0.2s box-shadow;\n color: var(--charcoal-text2);\n background-color: var(--charcoal-surface3);\n border-radius: 4px;\n padding: 0 8px;\n line-height: 22px;\n font-size: 14px;\n}\n\n.charcoal-text-field-container[data-invalid='true'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-field-container:not([aria-disabled='true']):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-text-field-container:not([aria-disabled='true']):focus-within {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-text-field-container:not(\n [aria-disabled='true']\n )[data-invalid='true']:focus-within {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-field-prefix {\n display: flex;\n align-items: center;\n margin-right: 4px;\n}\n\n.charcoal-text-field-suffix {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: 4px;\n}\n\n.charcoal-text-field-input {\n border: none;\n box-sizing: border-box;\n outline: none;\n font-family: inherit;\n\n /* Prevent zooming for iOS Safari */\n transform-origin: top left;\n transform: scale(0.875);\n width: calc(100% / 0.875);\n height: calc(100% / 0.875);\n font-size: calc(14px / 0.875);\n line-height: calc(22px / 0.875);\n padding-left: 0;\n padding-right: 0;\n border-radius: calc(4px / 0.875);\n\n /* Display box-shadow for iOS Safari */\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: transparent;\n\n color: var(--charcoal-text2);\n}\n\n.charcoal-text-field-input::-moz-placeholder {\n color: var(--charcoal-text3);\n}\n\n.charcoal-text-field-input::placeholder {\n color: var(--charcoal-text3);\n}\n\n.charcoal-text-field-line-counter {\n line-height: 22px;\n font-size: 14px;\n color: var(--charcoal-text3);\n}\n",".charcoal-field-label {\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n display: flow-root;\n color: var(--charcoal-text1);\n}\n\n.charcoal-field-label-required-text {\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n color: var(--charcoal-text2);\n}\n\n.charcoal-field-label-sub-label {\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n color: var(--charcoal-text3);\n transition: 0.2s color, 0.2s box-shadow;\n}\n\n.charcoal-field-label-root {\n display: inline-flex;\n align-items: center;\n}\n\n.charcoal-field-label-root > .charcoal-field-label-required-text {\n margin-left: 4px;\n}\n\n.charcoal-field-label-root > .charcoal-field-label-sub-label {\n margin-left: auto;\n}\n",".charcoal-text-field-assistive-text {\n font-size: 14px;\n line-height: 22px;\n margin: 0;\n color: var(--charcoal-text2);\n}\n\n.charcoal-text-field-assistive-text[data-invalid='true'] {\n color: var(--charcoal-assertive);\n}\n",".charcoal-text-area-root {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 4px;\n}\n\n.charcoal-text-area-root[aria-disabled='true'] {\n opacity: 0.32;\n}\n\n.charcoal-text-area-container {\n position: relative;\n overflow: hidden;\n\n color: var(--charcoal-text2);\n background-color: var(--charcoal-surface3);\n border-radius: 4px;\n transition: 0.2s background-color, 0.2s box-shadow;\n height: calc(22px * var(--charcoal-text-area-rows) + 18px);\n}\n\n.charcoal-text-area-container[aria-invalid='true'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-area-container:focus-within {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-text-area-container:not([aria-disabled='true']):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-text-area-container[aria-invalid='true']:focus-within {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-area-textarea {\n border: none;\n outline: none;\n resize: none;\n font-family: inherit;\n color: inherit;\n box-sizing: border-box;\n\n /* Prevent zooming for iOS Safari */\n transform-origin: top left;\n transform: scale(0.875);\n width: calc(100% / 0.875);\n font-size: calc(14px / 0.875);\n line-height: calc(22px / 0.875);\n padding: calc(9px / 0.875) calc(8px / 0.875);\n height: calc(22px / 0.875 * var(--charcoal-text-area-rows) + 20px);\n\n /* Display box-shadow for iOS Safari */\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n\n background: none;\n}\n.charcoal-text-area-textarea[data-no-bottom-padding='true'] {\n padding: calc(9px / 0.875) calc(8px / 0.875) 0;\n height: calc(22px / 0.875 * (var(--charcoal-text-area-rows) - 1) + 9px);\n}\n\n.charcoal-text-area-textarea::-moz-placeholder {\n color: var(--charcoal-text3);\n}\n\n.charcoal-text-area-textarea::placeholder {\n color: var(--charcoal-text3);\n}\n\n.charcoal-text-area-counter {\n position: absolute;\n bottom: 9px;\n right: 8px;\n\n line-height: 22px;\n font-size: 14px;\n color: var(--charcoal-text3);\n}\n",".charcoal-modal-dialog {\n margin: auto;\n position: relative;\n height: -moz-fit-content;\n height: fit-content;\n width: 440px;\n\n background-color: var(--charcoal-surface1);\n border-radius: 24px;\n}\n\n.charcoal-modal-dialog[data-size='S'] {\n width: 336px;\n}\n\n.charcoal-modal-dialog[data-size='M'] {\n width: 440px;\n}\n\n.charcoal-modal-dialog[data-size='L'] {\n width: 648px;\n}\n\n@media (max-width: 743px) {\n .charcoal-modal-dialog {\n max-width: 440px;\n width: calc(100% - 48px);\n }\n\n .charcoal-modal-dialog[data-bottom-sheet='true'],\n .charcoal-modal-dialog[data-bottom-sheet='full'] {\n max-width: unset;\n width: 100%;\n border-radius: 0;\n margin: auto 0 0 0;\n }\n\n .charcoal-modal-dialog[data-bottom-sheet='full'] {\n min-height: 100%;\n }\n}\n\n.charcoal-modal-dialog:focus {\n outline: none;\n}\n",".charcoal-modal-background {\n overflow: auto;\n display: flex;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n justify-content: center;\n padding: 40px 0;\n box-sizing: border-box;\n\n background-color: var(--charcoal-surface4);\n}\n\n@media (max-width: 743px) {\n .charcoal-modal-background[data-bottom-sheet='true'],\n .charcoal-modal-background[data-bottom-sheet='full'] {\n padding: 0;\n }\n}\n\n.charcoal-modal-close-button {\n position: absolute;\n top: 8px;\n right: 8px;\n\n color: var(--charcoal-text3);\n transition: 0.2s color;\n}\n\n.charcoal-modal-title {\n margin: 0;\n font-weight: inherit;\n font-size: inherit;\n}\n",".charcoal-modal-header-root {\n height: 64px;\n display: grid;\n align-content: center;\n justify-content: center;\n}\n\n@media (max-width: 743px) {\n .charcoal-modal-header-root[data-bottom-sheet='true'],\n .charcoal-modal-header-root[data-bottom-sheet='full'] {\n height: 48px;\n }\n}\n\n.charcoal-modal-header-title {\n color: var(--charcoal-text1);\n font-size: 16px;\n line-height: 24px;\n font-weight: bold;\n display: flow-root;\n}\n\n.charcoal-modal-align {\n padding-left: 16px;\n padding-right: 16px;\n}\n\n.charcoal-modal-body {\n padding-bottom: 40px;\n}\n\n.charcoal-modal-buttons {\n display: grid;\n grid-auto-flow: row;\n grid-row-gap: 8px;\n\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n}\n",".charcoal-loading-spinner {\n box-sizing: content-box;\n margin: auto;\n padding: var(--charcoal-loading-spinner-padding);\n border-radius: 8px;\n font-size: var(--charcoal-loading-spinner-size);\n width: var(--charcoal-loading-spinner-size);\n height: var(--charcoal-loading-spinner-size);\n opacity: 0.84;\n color: var(--charcoal-text4);\n background-color: var(--charcoal-background1);\n}\n.charcoal-loading-spinner[data-transparent='true'] {\n background-color: var(--charcoal-transparent);\n}\n\n@keyframes charcoal-loading-spinner-icon-scale-out {\n from {\n transform: scale(0);\n opacity: 1;\n }\n to {\n transform: scale(1);\n opacity: 0;\n }\n}\n\n.charcoal-loading-spinner-icon {\n width: 1em;\n height: 1em;\n border-radius: 1em;\n background-color: currentColor;\n animation: charcoal-loading-spinner-icon-scale-out 1s both ease-out;\n animation-iteration-count: infinite;\n}\n\n.charcoal-loading-spinner-icon[data-reset-animation] {\n animation: none;\n}\n.charcoal-loading-spinner-icon[data-once='true'] {\n animation-iteration-count: 1;\n}\n",".charcoal-dropdown-selector-root {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 4px;\n width: 100%;\n}\n\n.charcoal-dropdown-selector-root[aria-disabled='true'] {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-dropdown-selector-button {\n display: grid;\n grid-template-columns: 1fr auto;\n justify-content: space-between;\n align-items: center;\n\n height: 40px;\n width: 100%;\n box-sizing: border-box;\n border: none;\n cursor: pointer;\n gap: 4px;\n\n padding-right: 8px;\n padding-left: 8px;\n background-color: var(--charcoal-surface3);\n border-radius: 4px;\n\n transition: 0.2s box-shadow, 0.2s background-color;\n}\n\n.charcoal-dropdown-selector-button:disabled {\n cursor: default;\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],\n.charcoal-dropdown-selector-button:not(:disabled):active {\n background-color: var(--charcoal-surface3-press);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-dropdown-selector-button[aria-invalid='true'],\n.charcoal-dropdown-selector-button:not(\n :disabled\n )[aria-invalid='true']:focus:not(:focus-visible) {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-ui-dropdown-selector-text {\n text-align: left;\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n color: var(--charcoal-text2);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.charcoal-ui-dropdown-selector-text[data-placeholder='true'] {\n color: var(--charcoal-text3);\n}\n\n.charcoal-ui-dropdown-selector-icon {\n color: var(--charcoal-text2);\n}\n",".charcoal-popover {\n margin: 4px 0;\n list-style: none;\n overflow: auto;\n max-height: inherit;\n background-color: var(--charcoal-background1);\n border: solid 1px var(--charcoal-border-default);\n border-radius: 8px;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n",".charcoal-menu-list {\n padding: 0;\n margin: 0;\n}\n",".charcoal-dropdown-selector-menu-item {\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n padding: 9px 0;\n\n display: flex;\n align-items: center;\n width: 100%;\n margin-left: 20px;\n}\n\n.charcoal-dropdown-selector-menu-item[data-selected='true'] {\n margin-left: 0px;\n}\n\n.charcoal-dropdown-selector-menu-item-icon {\n color: var(--charcoal-text2);\n padding-right: 4px;\n}\n",".charcoal-list-item {\n list-style: none;\n display: flex;\n align-items: center;\n min-height: 40px;\n cursor: pointer;\n outline: none;\n\n padding-right: 16px;\n padding-left: 16px;\n\n transition: background-color 0.2s;\n}\n\n.charcoal-list-item:not([aria-disabled='true']):hover,\n.charcoal-list-item:not([aria-disabled='true']):focus,\n.charcoal-list-item:not([aria-disabled='true']):focus-within {\n background-color: var(--charcoal-surface3);\n}\n\n.charcoal-list-item[aria-disabled='true'] {\n opacity: 0.32;\n cursor: default;\n}\n",".charcoal-menu-item-group {\n display: block;\n}\n\n.charcoal-menu-item-group > span {\n display: block;\n color: var(--charcoal-text3);\n font-size: 12px;\n font-weight: bold;\n padding: 12px 0 8px 16px;\n}\n\n.charcoal-menu-item-group > ul {\n padding-left: 0;\n margin: 0;\n box-sizing: border-box;\n list-style: none;\n overflow: hidden;\n}\n",".charcoal-segmented-control {\n display: inline-flex;\n align-items: center;\n\n background-color: var(--charcoal-surface3);\n border-radius: 16px;\n}\n\n.charcoal-segmented-control-radio__label {\n position: relative;\n display: flex;\n align-items: center;\n cursor: pointer;\n height: 32px;\n\n padding-right: 16px;\n padding-left: 16px;\n border-radius: 16px;\n color: var(--charcoal-text2);\n\n font-size: 14px;\n line-height: 22px;\n}\n\n.charcoal-segmented-control-radio__label[aria-disabled]:not(\n [aria-disabled='false']\n ) {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-segmented-control-radio__label[data-checked='true'] {\n background-color: var(--charcoal-brand);\n color: var(--charcoal-text5);\n}\n\n.charcoal-segmented-control-radio__input {\n position: absolute;\n\n height: 0px;\n width: 0px;\n padding: 0;\n margin: 0;\n\n -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n box-sizing: border-box;\n overflow: hidden;\n white-space: nowrap;\n opacity: 0;\n}\n",".charcoal-checkbox__label {\n position: relative;\n cursor: pointer;\n display: flex;\n gap: 4px;\n}\n\n.charcoal-checkbox__label[aria-disabled='true'] {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-checkbox__label[aria-disabled='true'] > input {\n opacity: 1;\n}\n\n.charcoal-checkbox__label_div {\n color: var(--charcoal-text2);\n font-size: 14px;\n line-height: 20px;\n}\n",".charcoal-checkbox-input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: flex;\n cursor: pointer;\n margin: 0;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n transition: 0.2s box-shadow, 0.2s background-color;\n position: relative;\n box-sizing: border-box;\n}\n\n.charcoal-checkbox-input:disabled,\n.charcoal-checkbox-input[readonly] {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-checkbox-input:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-checkbox-input:checked::after {\n content: '';\n background-color: white;\n display: flex;\n margin: auto;\n width: 16px;\n height: 16px;\n clip-path: path(\n 'M10.6 5a1.3 1.3 0 0 1 1.8 1.9l-5.7 5.6-3-2.9a1.3 1.3 0 1 1 2-1.9l1 1z'\n );\n}\n\n.charcoal-checkbox-input:not(:checked) {\n border-width: 2px;\n border-style: solid;\n border-color: var(--charcoal-text4);\n}\n\n.charcoal-checkbox-input:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-checkbox-input:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-checkbox-input:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-checkbox-input:checked:not(:disabled):hover {\n background-color: var(--charcoal-brand-hover);\n}\n.charcoal-checkbox-input:checked:not(:disabled):active {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-checkbox-input[aria-invalid='true'],\n.charcoal-checkbox-input[aria-invalid='true']:not(:disabled):focus {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-checkbox-input[data-rounded='true'] {\n border-radius: 10px;\n background-color: var(--charcoal-surface3);\n border: 2px solid transparent;\n}\n\n.charcoal-checkbox-input[data-rounded='true']:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-checkbox-input[data-rounded='true']:not(:disabled):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n.charcoal-checkbox-input[data-rounded='true']:not(:disabled):active {\n background-color: var(--charcoal-surface3-press);\n}\n\n.charcoal-checkbox-input[data-rounded='true']:not(:disabled):focus-visible {\n box-shadow: 0 0 0 6px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):hover {\n background-color: var(--charcoal-brand-hover);\n}\n.charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):active {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-checkbox-input[data-rounded='true'][aria-invalid='true'],\n.charcoal-checkbox-input[data-rounded='true'][aria-invalid='true']:not(\n :disabled\n ):focus {\n box-shadow: 0 0 0 6px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-checkbox-input[data-rounded='true']::before {\n content: '';\n width: 24px;\n height: 24px;\n position: absolute;\n top: -4px;\n left: -4px;\n border-radius: 12px;\n border: 2px solid #fff;\n box-sizing: border-box;\n}\n",".charcoal-tag-item {\n --charcoal-tag-item-color: var(--charcoal-text5);\n --charcoal-tag-item-size: 40px;\n --charcoal-tag-item-padding-left: 24px;\n --charcoal-tag-item-padding-right: 24px;\n\n isolation: isolate;\n position: relative;\n\n -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n outline: none;\n border-style: none;\n\n display: inline-flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n\n color: var(--charcoal-tag-item-color);\n height: var(--charcoal-tag-item-size);\n padding-top: 4px;\n padding-bottom: 4px;\n padding-left: var(--charcoal-tag-item-padding-left);\n padding-right: var(--charcoal-tag-item-padding-right);\n box-sizing: border-box;\n border-radius: 4px;\n\n transition: 0.2s box-shadow;\n}\n\n.charcoal-tag-item[data-size='M'] {\n --charcoal-tag-item-size: 40px;\n --charcoal-tag-item-padding-left: 24px;\n --charcoal-tag-item-padding-right: 24px;\n}\n.charcoal-tag-item[data-size='S'] {\n --charcoal-tag-item-size: 32px;\n --charcoal-tag-item-padding-left: 16px;\n --charcoal-tag-item-padding-right: 16px;\n}\n.charcoal-tag-item[data-state='inactive'] {\n --charcoal-tag-item-color: var(--charcoal-text2);\n}\n.charcoal-tag-item[data-state='active'] {\n --charcoal-tag-item-padding-left: 16px;\n --charcoal-tag-item-padding-right: 8px;\n}\n\n.charcoal-tag-item:disabled,\n.charcoal-tag-item[aria-disabled]:not([aria-disabled='false']) {\n opacity: 0.32;\n cursor: default;\n}\n.charcoal-tag-item:not(:disabled):not([aria-disabled]):focus-visible,\n.charcoal-tag-item[aria-disabled='false']:focus-visible {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-tag-item:not(:disabled):not([aria-disabled]):focus,\n.charcoal-tag-item[aria-disabled='false']:focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-tag-item:not(:disabled):not([aria-disabled]):focus:not(\n :focus-visible\n ),\n.charcoal-tag-item[aria-disabled='false']:focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-tag-item__bg {\n background-color: var(--charcoal-tag-item-bg);\n}\n\n.charcoal-tag-item__bg[data-bg-variant='image'] {\n background-color: var(--charcoal-surface4);\n}\n\n.charcoal-tag-item__bg[data-bg-variant='image']::before {\n content: '';\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-position: center;\n background-size: cover;\n background-image: var(--charcoal-tag-item-bg);\n mix-blend-mode: overlay;\n}\n\n.charcoal-tag-item__bg[data-state='inactive'] {\n background-color: var(--charcoal-surface3);\n}\n\n.charcoal-tag-item__label {\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n.charcoal-tag-item__label[data-has-translate='true'] {\n justify-content: space-between;\n}\n\n.charcoal-tag-item__label__translated {\n --charcoal-tag-item-text-font-size: 12px;\n --charcoal-tag-item-text-line-height: 20px;\n font-weight: bold;\n}\n.charcoal-tag-item__label__translated::before {\n display: none;\n}\n\n.charcoal-tag-item__label__text {\n --charcoal-tag-item-text-font-size: 14px;\n --charcoal-tag-item-text-line-height: 22px;\n\n max-width: 152px;\n overflow: hidden;\n font-weight: bold;\n\n color: inherit;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.charcoal-tag-item__label__text[data-has-translate='true'] {\n --charcoal-tag-item-text-font-size: 10px;\n --charcoal-tag-item-text-line-height: 14px;\n font-weight: normal;\n}\n.charcoal-tag-item__labe__text[data-has-translate='true']::after {\n display: none;\n}\n",".charcoal-hint-text {\n background-color: var(--charcoal-surface3);\n border-radius: 8px;\n padding: 12px 16px;\n display: flex;\n align-items: flex-start;\n}\n\n.charcoal-hint-text[data-context='page'] {\n justify-content: center;\n}\n\n@media (min-width: 744px) {\n .charcoal-hint-text[data-context='page'] {\n padding: 20px 40px;\n }\n}\n\n.charcoal-hint-text-icon {\n display: flex;\n align-items: center;\n color: var(--charcoal-text3);\n height: 22px;\n margin: 0 4px 0 0;\n}\n\n.charcoal-hint-text-message {\n color: var(--charcoal-text2);\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n margin: 0;\n min-width: 0;\n overflow-wrap: break-word;\n}\n"],"mappings":";AAAA;AACE;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAGF;AAAA;AAAA;AAGE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAIE;AACA;AAAA;AAGF;AAAA;AAAA;AAKE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAIE;AACA;AAAA;AAGF;AAAA;AAAA;AAKE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAIE;AACA;AAAA;AAGF;AAAA;AAAA;AAKE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAGF;AAAA;AAAA;AAKE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;;;AC3JF;AACE;AAGA;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAGA;AAGA;AAGA;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;;;ACzCF;AACE;AACA;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEG;AAEK;AACR;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAEF;AAAA;AAIE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AAAA;AAEF;AAAA;AAIE;AAAA;;;AC1HF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;AChBF;AACE;AACG;AACK;AACR;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;AClFF;AACE;AACA;AACA;AAAA;;;ACHF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAIE;AAAA;AAGF;AAAA;AAIE;AAAA;AAGF;AAAA;AAIE;AAAA;AAGF;AAAA;AAIE;AAAA;AAGF;AAGE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAGE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;AC3IF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;ACrBF;AACE;AACA;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;AClFF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAGE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACG;AACK;AACR;AAEA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;AC3FF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;ACjCF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;ACRF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACG;AACK;AAER;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAEA;AACA;AACA;AAAA;;;AClFF;AACE;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAAA;AAIJ;AACE;AAAA;;;AC3CF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGF;AACE;AAAA;AAEE;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AAEA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;AClCF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEE;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAEA;AACA;AACA;AAAA;;;ACtCF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;;;ACxCF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAIE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;AClFF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACTF;AACE;AACA;AAAA;;;ACFF;AACE;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;;;AClBF;AACE;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAGF;AAAA;AAAA;AAGE;AAAA;AAGF;AACE;AACA;AAAA;;;ACtBF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;;;ACjBF;AACE;AACA;AAEA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGF;AAGE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAEA;AACA;AACA;AACA;AAEA;AAEG;AAEK;AACR;AACA;AACA;AACA;AAAA;;;ACpDF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;ACnBF;AACE;AACG;AACK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAKF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AAAA;AAIE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC9GF;AACE;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEG;AAEK;AACR;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAEE;AACA;AAAA;AAEF;AAAA;AAIE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AAAA;;;AC9IF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"file":"index.css","names":[],"sources":["../src/components/Button/index.css","../src/components/Clickable/index.css","../src/components/IconButton/index.css","../src/components/Radio/index.css","../src/components/Radio/RadioInput/index.css","../src/components/Radio/RadioGroup/index.css","../src/components/MultiSelect/index.css","../src/components/Switch/index.css","../src/components/Switch/SwitchInput/index.css","../src/components/TextField/index.css","../src/components/FieldLabel/index.css","../src/components/TextField/AssistiveText/index.css","../src/components/TextArea/index.css","../src/components/Modal/Dialog/index.css","../src/components/Modal/index.css","../src/components/Modal/ModalPlumbing.css","../src/components/LoadingSpinner/index.css","../src/components/DropdownSelector/index.css","../src/components/DropdownSelector/Popover/index.css","../src/components/DropdownSelector/MenuList/index.css","../src/components/DropdownSelector/DropdownMenuItem/index.css","../src/components/DropdownSelector/ListItem/index.css","../src/components/DropdownSelector/MenuItemGroup/index.css","../src/components/SegmentedControl/index.css","../src/components/Checkbox/index.css","../src/components/Checkbox/CheckboxInput/index.css","../src/components/TagItem/index.css","../src/components/HintText/index.css"],"sourcesContent":[".charcoal-button {\n appearance: none;\n background: transparent;\n box-sizing: border-box;\n padding: 0 24px;\n border-style: none;\n outline: none;\n text-rendering: inherit;\n letter-spacing: inherit;\n word-spacing: inherit;\n text-decoration: none;\n font: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n width: min-content;\n display: inline-grid;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n border-radius: 999999px;\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n color: var(--charcoal-text2);\n background-color: var(--charcoal-surface3);\n transition: 0.2s color, 0.2s background-color, 0.2s box-shadow;\n height: 40px;\n}\n\n.charcoal-button:disabled,\n.charcoal-button[aria-disabled]:not([aria-disabled='false']) {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-button:not(:disabled):not([aria-disabled]):focus-visible,\n.charcoal-button[aria-disabled='false']:focus-visible {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-button:not(:disabled):not([aria-disabled]):hover,\n.charcoal-button[aria-disabled='false']:hover {\n color: var(--charcoal-text2-hover);\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-button:not(:disabled):not([aria-disabled]):active,\n.charcoal-button[aria-disabled='false']:active,\n.charcoal-button[data-active='true'] {\n color: var(--charcoal-text2-press);\n background-color: var(--charcoal-surface3-press);\n}\n\n.charcoal-button[data-variant='Primary'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-button[data-variant='Primary']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Primary']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-button[data-variant='Primary']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Primary']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Primary'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-button[data-variant='Overlay'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-surface4);\n}\n\n.charcoal-button[data-variant='Overlay']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Overlay']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-surface4-hover);\n}\n\n.charcoal-button[data-variant='Overlay']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Overlay']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Overlay'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface4-press);\n}\n\n.charcoal-button[data-variant='Navigation'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-surface6);\n}\n\n.charcoal-button[data-variant='Navigation']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Navigation']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-surface6-hover);\n}\n\n.charcoal-button[data-variant='Navigation']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Navigation']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Navigation'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface6-press);\n}\n\n.charcoal-button[data-variant='Danger'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-assertive);\n}\n.charcoal-button[data-variant='Danger']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Danger']:hover[aria-disabled='false'] {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-assertive-hover);\n}\n\n.charcoal-button[data-variant='Danger']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-button[data-variant='Danger']:active[aria-disabled='false'],\n.charcoal-button[data-variant='Danger'][data-active='true'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-assertive-press);\n}\n\n.charcoal-button[data-size='S'] {\n padding: 0 16px;\n height: 32px;\n}\n\n.charcoal-button[data-full-width='true'] {\n width: 100%;\n}\n",".charcoal-clickable {\n cursor: pointer;\n\n /* Reset button appearance */\n appearance: none;\n background: transparent;\n padding: 0;\n border-style: none;\n outline: none;\n color: inherit;\n text-rendering: inherit;\n letter-spacing: inherit;\n word-spacing: inherit;\n text-decoration: none;\n\n /* Change the font styles in all browsers. */\n font: inherit;\n\n /* Remove the margin in Firefox and Safari. */\n margin: 0;\n\n /* Show the overflow in Edge. */\n overflow: visible;\n\n /* Remove the inheritance of text transform in Firefox. */\n text-transform: none;\n}\n\n.charcoal-clickable:disabled,\n.charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {\n cursor: default;\n}\n\n.charcoal-clickable:focus {\n outline: none;\n}\n\n.charcoal-clickable::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n",".charcoal-icon-button {\n cursor: pointer;\n appearance: none;\n background: transparent;\n padding: 0;\n border-style: none;\n outline: none;\n color: inherit;\n text-rendering: inherit;\n letter-spacing: inherit;\n word-spacing: inherit;\n text-decoration: none;\n font: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 999999px;\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-icon-button:disabled,\n.charcoal-icon-button[aria-disabled]:not([aria-disabled='false']) {\n cursor: default;\n opacity: 0.32;\n}\n.charcoal-icon-button:focus {\n outline: none;\n}\n.charcoal-icon-button::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n.charcoal-icon-button[data-size='XS'] {\n width: 20px;\n height: 20px;\n}\n.charcoal-icon-button[data-size='S'] {\n width: 32px;\n height: 32px;\n}\n.charcoal-icon-button[data-size='M'] {\n width: 40px;\n height: 40px;\n}\n\n.charcoal-icon-button[data-variant='Default'] {\n color: var(--charcoal-text3);\n background-color: var(--charcoal-transparent);\n}\n.charcoal-icon-button[data-variant='Default'][data-active='true']:not(\n :disabled\n ):not([aria-disabled]),\n.charcoal-icon-button[data-variant='Default'][data-active='true'][aria-disabled='false'] {\n color: var(--charcoal-text3-press);\n background-color: var(--charcoal-transparent-press);\n}\n.charcoal-icon-button[data-variant='Default'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):hover,\n.charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:hover {\n color: var(--charcoal-text3-hover);\n background-color: var(--charcoal-transparent-hover);\n}\n.charcoal-icon-button[data-variant='Default'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):active,\n.charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:active {\n color: var(--charcoal-text3-press);\n background-color: var(--charcoal-transparent-press);\n}\n\n.charcoal-icon-button[data-variant='Overlay'] {\n color: var(--charcoal-text5);\n background-color: var(--charcoal-surface4);\n}\n.charcoal-icon-button[data-variant='Overlay'][data-active='true']:not(\n :disabled\n ):not([aria-disabled]),\n.charcoal-icon-button[data-variant='Overlay'][data-active='true'][aria-disabled='false'] {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface4-press);\n}\n.charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):hover,\n.charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:hover {\n color: var(--charcoal-text5-hover);\n background-color: var(--charcoal-surface4-hover);\n}\n.charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(\n :disabled\n ):not([aria-disabled]):active,\n.charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:active {\n color: var(--charcoal-text5-press);\n background-color: var(--charcoal-surface4-press);\n}\n\n.charcoal-icon-button:not(:disabled):not([aria-disabled]):focus,\n.charcoal-icon-button[aria-disabled='false']:focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-icon-button:not(:disabled):not([aria-disabled]):focus-visible,\n.charcoal-icon-button[aria-disabled='false']:focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-icon-button:not(:disabled):not([aria-disabled]):focus:not(\n :focus-visible\n ),\n.charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {\n box-shadow: none;\n}\n",".charcoal-radio__label {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 4px;\n align-items: center;\n cursor: pointer;\n}\n\n.charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-radio__label_div {\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n}\n",".charcoal-radio-input {\n appearance: none;\n display: block;\n box-sizing: border-box;\n\n margin: 0;\n padding: 6px;\n\n width: 20px;\n height: 20px;\n cursor: pointer;\n border-radius: 999999px;\n background-color: var(--charcoal-surface1);\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-radio-input:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-radio-input:checked::after {\n content: '';\n display: block;\n width: 8px;\n height: 8px;\n pointer-events: none;\n background-color: var(--charcoal-text5);\n border-radius: 999999px;\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-radio-input:not(:checked) {\n border-width: 2px;\n border-style: solid;\n border-color: var(--charcoal-text3);\n}\n\n.charcoal-radio-input:disabled {\n cursor: default;\n}\n\n.charcoal-radio-input:not(:disabled):hover {\n background-color: var(--charcoal-surface1-hover);\n}\n\n.charcoal-radio-input:not(:disabled):active {\n background-color: var(--charcoal-surface1-press);\n}\n\n.charcoal-radio-input:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-radio-input:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-radio-input:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-radio-input:not(:disabled)[aria-invalid='true'],\n.charcoal-radio-input:not(:disabled)[aria-invalid='true']:focus {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-radio-input:checked:not(:disabled):hover {\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-radio-input:checked:not(:disabled):hover::after {\n background-color: var(--charcoal-text5-hover);\n}\n\n.charcoal-radio-input:checked:not(:disabled):active {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-radio-input:checked:not(:disabled):active::after {\n background-color: var(--charcoal-text5-press);\n}\n",".charcoal-radio-group {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 8px;\n}\n",".charcoal-multi-select {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n position: relative;\n cursor: pointer;\n gap: 4px;\n}\n\n.charcoal-multi-select:disabled,\n.charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-multi-select-label {\n display: flow-root;\n align-items: center;\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n}\n\n.charcoal-multi-select-label::before {\n display: block;\n width: 0;\n height: 0;\n content: '';\n margin-top: -4px;\n}\n\n.charcoal-multi-select-label::after {\n display: block;\n width: 0;\n height: 0;\n content: '';\n margin-bottom: -4px;\n}\n\n.charcoal-multi-select-input[type='checkbox'] {\n appearance: none;\n display: block;\n width: 20px;\n height: 20px;\n margin: 0;\n background-color: var(--charcoal-text3);\n border-radius: 999999px;\n transition: 0.2s background-color, 0.2s box-shadow;\n}\n\n.charcoal-multi-select-input[type='checkbox']:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-multi-select-input[type='checkbox']:focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-multi-select-input[type='checkbox']:focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {\n background-color: var(--charcoal-text3-hover);\n}\n\n.charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {\n background-color: var(--charcoal-text3-press);\n}\n\n.charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not(\n [aria-disabled]\n ),\n.charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-multi-select-input[aria-invalid='true'][data-overlay='false']:not(\n :disabled\n ):not([aria-disabled]) {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-input[aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-input[data-overlay='true'] {\n background-color: var(--charcoal-surface4);\n}\n\n.charcoal-multi-select-overlay {\n position: absolute;\n top: -2px;\n left: -2px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: 999999px;\n color: var(--charcoal-text5);\n transition: 0.2s box-shadow;\n}\n\n.charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(\n :disabled\n ):not([aria-disabled]) {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-multi-select-overlay[data-overlay='true'] {\n border-color: var(--charcoal-text5);\n border-width: 2px;\n border-style: solid;\n}\n",".charcoal-switch__label {\n display: inline-grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n cursor: pointer;\n outline: 0;\n gap: 4px;\n}\n\n.charcoal-switch__label[aria-disabled='true'] {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-switch__label[aria-disabled='true'] > input {\n opacity: 1;\n}\n\n.charcoal-switch__label_div {\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n}\n",".charcoal-switch-input {\n cursor: pointer;\n appearance: none;\n display: inline-flex;\n position: relative;\n box-sizing: border-box;\n width: 28px;\n border: 2px solid transparent;\n\n transition-property: background-color, box-shadow;\n transition-duration: 0.2s;\n\n outline: none;\n border-radius: 16px;\n height: 16px;\n margin: 0;\n background-color: var(--charcoal-text4);\n}\n\n.charcoal-switch-input:disabled,\n.charcoal-switch-input[readonly] {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-switch-input::after {\n content: '';\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 12px;\n height: 12px;\n transform: translateX(0);\n transition: transform 0.2s;\n border-radius: 1024px;\n background-color: var(--charcoal-text5);\n}\n\n.charcoal-switch-input:checked::after {\n transform: translateX(12px);\n transition: transform 0.2s;\n}\n\n.charcoal-switch-input:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-switch-input:not(:disabled):hover {\n background-color: var(--charcoal-text4-hover);\n}\n\n.charcoal-switch-input:not(:disabled):active {\n background-color: var(--charcoal-text4-press);\n}\n\n.charcoal-switch-input:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-switch-input:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-switch-input:not(:disabled)::after:hover {\n background-color: var(--charcoal-text5-hover);\n}\n\n.charcoal-switch-input:not(:disabled)::after:active {\n background-color: var(--charcoal-text5-press);\n}\n\n.charcoal-switch-input:not(:disabled):checked:hover {\n background-color: var(--charcoal-brand-hover);\n}\n\n.charcoal-switch-input:not(:disabled):checked:active {\n background-color: var(--charcoal-brand-press);\n}\n",".charcoal-text-field-root {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 4px;\n}\n\n.charcoal-text-field-root[aria-disabled='true'] {\n opacity: 0.32;\n}\n\n.charcoal-text-field-container {\n display: flex;\n height: 40px;\n transition: 0.2s background-color, 0.2s box-shadow;\n color: var(--charcoal-text2);\n background-color: var(--charcoal-surface3);\n border-radius: 4px;\n padding: 0 8px;\n line-height: 22px;\n font-size: 14px;\n}\n\n.charcoal-text-field-container[data-invalid='true'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-field-container:not([aria-disabled='true']):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-text-field-container:not([aria-disabled='true']):focus-within {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-text-field-container:not(\n [aria-disabled='true']\n )[data-invalid='true']:focus-within {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-field-prefix {\n display: flex;\n align-items: center;\n margin-right: 4px;\n}\n\n.charcoal-text-field-suffix {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: 4px;\n}\n\n.charcoal-text-field-input {\n border: none;\n box-sizing: border-box;\n outline: none;\n font-family: inherit;\n\n /* Prevent zooming for iOS Safari */\n transform-origin: top left;\n transform: scale(0.875);\n width: calc(100% / 0.875);\n height: calc(100% / 0.875);\n font-size: calc(14px / 0.875);\n line-height: calc(22px / 0.875);\n padding-left: 0;\n padding-right: 0;\n border-radius: calc(4px / 0.875);\n\n /* Display box-shadow for iOS Safari */\n appearance: none;\n background: transparent;\n\n color: var(--charcoal-text2);\n}\n\n.charcoal-text-field-input::placeholder {\n color: var(--charcoal-text3);\n}\n\n.charcoal-text-field-line-counter {\n line-height: 22px;\n font-size: 14px;\n color: var(--charcoal-text3);\n}\n",".charcoal-field-label {\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n display: flow-root;\n color: var(--charcoal-text1);\n}\n\n.charcoal-field-label-required-text {\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n color: var(--charcoal-text2);\n}\n\n.charcoal-field-label-sub-label {\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n color: var(--charcoal-text3);\n transition: 0.2s color, 0.2s box-shadow;\n}\n\n.charcoal-field-label-root {\n display: inline-flex;\n align-items: center;\n}\n\n.charcoal-field-label-root > .charcoal-field-label-required-text {\n margin-left: 4px;\n}\n\n.charcoal-field-label-root > .charcoal-field-label-sub-label {\n margin-left: auto;\n}\n",".charcoal-text-field-assistive-text {\n font-size: 14px;\n line-height: 22px;\n margin: 0;\n color: var(--charcoal-text2);\n}\n\n.charcoal-text-field-assistive-text[data-invalid='true'] {\n color: var(--charcoal-assertive);\n}\n",".charcoal-text-area-root {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 4px;\n}\n\n.charcoal-text-area-root[aria-disabled='true'] {\n opacity: 0.32;\n}\n\n.charcoal-text-area-container {\n position: relative;\n overflow: hidden;\n\n color: var(--charcoal-text2);\n background-color: var(--charcoal-surface3);\n border-radius: 4px;\n transition: 0.2s background-color, 0.2s box-shadow;\n height: calc(22px * var(--charcoal-text-area-rows) + 18px);\n}\n\n.charcoal-text-area-container[aria-invalid='true'] {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-area-container:focus-within {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-text-area-container:not([aria-disabled='true']):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-text-area-container[aria-invalid='true']:focus-within {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-text-area-textarea {\n border: none;\n outline: none;\n resize: none;\n font-family: inherit;\n color: inherit;\n box-sizing: border-box;\n\n /* Prevent zooming for iOS Safari */\n transform-origin: top left;\n transform: scale(0.875);\n width: calc(100% / 0.875);\n font-size: calc(14px / 0.875);\n line-height: calc(22px / 0.875);\n padding: calc(9px / 0.875) calc(8px / 0.875);\n height: calc(22px / 0.875 * var(--charcoal-text-area-rows) + 20px);\n\n /* Display box-shadow for iOS Safari */\n appearance: none;\n\n background: none;\n}\n.charcoal-text-area-textarea[data-no-bottom-padding='true'] {\n padding: calc(9px / 0.875) calc(8px / 0.875) 0;\n height: calc(22px / 0.875 * (var(--charcoal-text-area-rows) - 1) + 9px);\n}\n\n.charcoal-text-area-textarea::placeholder {\n color: var(--charcoal-text3);\n}\n\n.charcoal-text-area-counter {\n position: absolute;\n bottom: 9px;\n right: 8px;\n\n line-height: 22px;\n font-size: 14px;\n color: var(--charcoal-text3);\n}\n",".charcoal-modal-dialog {\n margin: auto;\n position: relative;\n height: fit-content;\n width: 440px;\n\n background-color: var(--charcoal-surface1);\n border-radius: 24px;\n}\n\n.charcoal-modal-dialog[data-size='S'] {\n width: 336px;\n}\n\n.charcoal-modal-dialog[data-size='M'] {\n width: 440px;\n}\n\n.charcoal-modal-dialog[data-size='L'] {\n width: 648px;\n}\n\n@media (max-width: 743px) {\n .charcoal-modal-dialog {\n max-width: 440px;\n width: calc(100% - 48px);\n }\n\n .charcoal-modal-dialog[data-bottom-sheet='true'],\n .charcoal-modal-dialog[data-bottom-sheet='full'] {\n max-width: unset;\n width: 100%;\n border-radius: 0;\n margin: auto 0 0 0;\n }\n\n .charcoal-modal-dialog[data-bottom-sheet='full'] {\n min-height: 100%;\n }\n}\n\n.charcoal-modal-dialog:focus {\n outline: none;\n}\n",".charcoal-modal-background {\n overflow: auto;\n display: flex;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n justify-content: center;\n padding: 40px 0;\n box-sizing: border-box;\n\n background-color: var(--charcoal-surface4);\n}\n\n@media (max-width: 743px) {\n .charcoal-modal-background[data-bottom-sheet='true'],\n .charcoal-modal-background[data-bottom-sheet='full'] {\n padding: 0;\n }\n}\n\n.charcoal-modal-close-button {\n position: absolute;\n top: 8px;\n right: 8px;\n\n color: var(--charcoal-text3);\n transition: 0.2s color;\n}\n\n.charcoal-modal-title {\n margin: 0;\n font-weight: inherit;\n font-size: inherit;\n}\n",".charcoal-modal-header-root {\n height: 64px;\n display: grid;\n align-content: center;\n justify-content: center;\n}\n\n@media (max-width: 743px) {\n .charcoal-modal-header-root[data-bottom-sheet='true'],\n .charcoal-modal-header-root[data-bottom-sheet='full'] {\n height: 48px;\n }\n}\n\n.charcoal-modal-header-title {\n color: var(--charcoal-text1);\n font-size: 16px;\n line-height: 24px;\n font-weight: bold;\n display: flow-root;\n}\n\n.charcoal-modal-align {\n padding-left: 16px;\n padding-right: 16px;\n}\n\n.charcoal-modal-body {\n padding-bottom: 40px;\n}\n\n.charcoal-modal-buttons {\n display: grid;\n grid-auto-flow: row;\n grid-row-gap: 8px;\n\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n}\n",".charcoal-loading-spinner {\n box-sizing: content-box;\n margin: auto;\n padding: var(--charcoal-loading-spinner-padding);\n border-radius: 8px;\n font-size: var(--charcoal-loading-spinner-size);\n width: var(--charcoal-loading-spinner-size);\n height: var(--charcoal-loading-spinner-size);\n opacity: 0.84;\n color: var(--charcoal-text4);\n background-color: var(--charcoal-background1);\n}\n.charcoal-loading-spinner[data-transparent='true'] {\n background-color: var(--charcoal-transparent);\n}\n\n@keyframes charcoal-loading-spinner-icon-scale-out {\n from {\n transform: scale(0);\n opacity: 1;\n }\n to {\n transform: scale(1);\n opacity: 0;\n }\n}\n\n.charcoal-loading-spinner-icon {\n width: 1em;\n height: 1em;\n border-radius: 1em;\n background-color: currentColor;\n animation: charcoal-loading-spinner-icon-scale-out 1s both ease-out;\n animation-iteration-count: infinite;\n}\n\n.charcoal-loading-spinner-icon[data-reset-animation] {\n animation: none;\n}\n.charcoal-loading-spinner-icon[data-once='true'] {\n animation-iteration-count: 1;\n}\n",".charcoal-dropdown-selector-root {\n display: grid;\n grid-template-columns: 1fr;\n grid-gap: 4px;\n width: 100%;\n}\n\n.charcoal-dropdown-selector-root[aria-disabled='true'] {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-dropdown-selector-button {\n display: grid;\n grid-template-columns: 1fr auto;\n justify-content: space-between;\n align-items: center;\n\n height: 40px;\n width: 100%;\n box-sizing: border-box;\n border: none;\n cursor: pointer;\n gap: 4px;\n\n padding-right: 8px;\n padding-left: 8px;\n background-color: var(--charcoal-surface3);\n border-radius: 4px;\n\n transition: 0.2s box-shadow, 0.2s background-color;\n}\n\n.charcoal-dropdown-selector-button:disabled {\n cursor: default;\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],\n.charcoal-dropdown-selector-button:not(:disabled):active {\n background-color: var(--charcoal-surface3-press);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n\n.charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-dropdown-selector-button[aria-invalid='true'],\n.charcoal-dropdown-selector-button:not(\n :disabled\n )[aria-invalid='true']:focus:not(:focus-visible) {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-ui-dropdown-selector-text {\n text-align: left;\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n color: var(--charcoal-text2);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.charcoal-ui-dropdown-selector-text[data-placeholder='true'] {\n color: var(--charcoal-text3);\n}\n\n.charcoal-ui-dropdown-selector-icon {\n color: var(--charcoal-text2);\n}\n",".charcoal-popover {\n margin: 4px 0;\n list-style: none;\n overflow: auto;\n max-height: inherit;\n background-color: var(--charcoal-background1);\n border: solid 1px var(--charcoal-border-default);\n border-radius: 8px;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n",".charcoal-menu-list {\n padding: 0;\n margin: 0;\n}\n",".charcoal-dropdown-selector-menu-item {\n font-size: 14px;\n line-height: 22px;\n color: var(--charcoal-text2);\n padding: 9px 0;\n\n display: flex;\n align-items: center;\n width: 100%;\n margin-left: 20px;\n}\n\n.charcoal-dropdown-selector-menu-item[data-selected='true'] {\n margin-left: 0px;\n}\n\n.charcoal-dropdown-selector-menu-item-icon {\n color: var(--charcoal-text2);\n padding-right: 4px;\n}\n",".charcoal-list-item {\n list-style: none;\n display: flex;\n align-items: center;\n min-height: 40px;\n cursor: pointer;\n outline: none;\n\n padding-right: 16px;\n padding-left: 16px;\n\n transition: background-color 0.2s;\n}\n\n.charcoal-list-item:not([aria-disabled='true']):hover,\n.charcoal-list-item:not([aria-disabled='true']):focus,\n.charcoal-list-item:not([aria-disabled='true']):focus-within {\n background-color: var(--charcoal-surface3);\n}\n\n.charcoal-list-item[aria-disabled='true'] {\n opacity: 0.32;\n cursor: default;\n}\n",".charcoal-menu-item-group {\n display: block;\n}\n\n.charcoal-menu-item-group > span {\n display: block;\n color: var(--charcoal-text3);\n font-size: 12px;\n font-weight: bold;\n padding: 12px 0 8px 16px;\n}\n\n.charcoal-menu-item-group > ul {\n padding-left: 0;\n margin: 0;\n box-sizing: border-box;\n list-style: none;\n overflow: hidden;\n}\n",".charcoal-segmented-control {\n display: inline-flex;\n align-items: center;\n\n background-color: var(--charcoal-surface3);\n border-radius: 16px;\n}\n\n.charcoal-segmented-control-radio__label {\n position: relative;\n display: flex;\n align-items: center;\n cursor: pointer;\n height: 32px;\n\n padding-right: 16px;\n padding-left: 16px;\n border-radius: 16px;\n color: var(--charcoal-text2);\n\n font-size: 14px;\n line-height: 22px;\n}\n\n.charcoal-segmented-control-radio__label[aria-disabled]:not(\n [aria-disabled='false']\n ) {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-segmented-control-radio__label[data-checked='true'] {\n background-color: var(--charcoal-brand);\n color: var(--charcoal-text5);\n}\n\n.charcoal-segmented-control-radio__input {\n position: absolute;\n\n height: 0px;\n width: 0px;\n padding: 0;\n margin: 0;\n\n appearance: none;\n box-sizing: border-box;\n overflow: hidden;\n white-space: nowrap;\n opacity: 0;\n}\n",".charcoal-checkbox__label {\n position: relative;\n cursor: pointer;\n display: flex;\n gap: 4px;\n}\n\n.charcoal-checkbox__label[aria-disabled='true'] {\n cursor: default;\n opacity: 0.32;\n}\n\n.charcoal-checkbox__label[aria-disabled='true'] > input {\n opacity: 1;\n}\n\n.charcoal-checkbox__label_div {\n color: var(--charcoal-text2);\n font-size: 14px;\n line-height: 20px;\n}\n",".charcoal-checkbox-input {\n appearance: none;\n display: flex;\n cursor: pointer;\n margin: 0;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n transition: 0.2s box-shadow, 0.2s background-color;\n position: relative;\n box-sizing: border-box;\n}\n\n.charcoal-checkbox-input:disabled,\n.charcoal-checkbox-input[readonly] {\n opacity: 0.32;\n cursor: default;\n}\n\n.charcoal-checkbox-input:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-checkbox-input:checked::after {\n content: '';\n background-color: white;\n display: flex;\n margin: auto;\n width: 16px;\n height: 16px;\n clip-path: path(\n 'M10.6 5a1.3 1.3 0 0 1 1.8 1.9l-5.7 5.6-3-2.9a1.3 1.3 0 1 1 2-1.9l1 1z'\n );\n}\n\n.charcoal-checkbox-input:not(:checked) {\n border-width: 2px;\n border-style: solid;\n border-color: var(--charcoal-text4);\n}\n\n.charcoal-checkbox-input:not(:disabled):focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-checkbox-input:not(:disabled):focus-visible {\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-checkbox-input:not(:disabled):focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-checkbox-input:checked:not(:disabled):hover {\n background-color: var(--charcoal-brand-hover);\n}\n.charcoal-checkbox-input:checked:not(:disabled):active {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-checkbox-input[aria-invalid='true'],\n.charcoal-checkbox-input[aria-invalid='true']:not(:disabled):focus {\n box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-checkbox-input[data-rounded='true'] {\n border-radius: 10px;\n background-color: var(--charcoal-surface3);\n border: 2px solid transparent;\n}\n\n.charcoal-checkbox-input[data-rounded='true']:checked {\n background-color: var(--charcoal-brand);\n}\n\n.charcoal-checkbox-input[data-rounded='true']:not(:disabled):hover {\n background-color: var(--charcoal-surface3-hover);\n}\n.charcoal-checkbox-input[data-rounded='true']:not(:disabled):active {\n background-color: var(--charcoal-surface3-press);\n}\n\n.charcoal-checkbox-input[data-rounded='true']:not(:disabled):focus-visible {\n box-shadow: 0 0 0 6px rgba(0, 150, 250, 0.32);\n}\n\n.charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):hover {\n background-color: var(--charcoal-brand-hover);\n}\n.charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):active {\n background-color: var(--charcoal-brand-press);\n}\n\n.charcoal-checkbox-input[data-rounded='true'][aria-invalid='true'],\n.charcoal-checkbox-input[data-rounded='true'][aria-invalid='true']:not(\n :disabled\n ):focus {\n box-shadow: 0 0 0 6px rgba(255, 43, 0, 0.32);\n}\n\n.charcoal-checkbox-input[data-rounded='true']::before {\n content: '';\n width: 24px;\n height: 24px;\n position: absolute;\n top: -4px;\n left: -4px;\n border-radius: 12px;\n border: 2px solid #fff;\n box-sizing: border-box;\n}\n",".charcoal-tag-item {\n --charcoal-tag-item-color: var(--charcoal-text5);\n --charcoal-tag-item-size: 40px;\n --charcoal-tag-item-padding-left: 24px;\n --charcoal-tag-item-padding-right: 24px;\n\n isolation: isolate;\n position: relative;\n\n appearance: none;\n outline: none;\n border-style: none;\n\n display: inline-flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n\n color: var(--charcoal-tag-item-color);\n height: var(--charcoal-tag-item-size);\n padding-top: 4px;\n padding-bottom: 4px;\n padding-left: var(--charcoal-tag-item-padding-left);\n padding-right: var(--charcoal-tag-item-padding-right);\n box-sizing: border-box;\n border-radius: 4px;\n\n transition: 0.2s box-shadow;\n}\n\n.charcoal-tag-item[data-size='M'] {\n --charcoal-tag-item-size: 40px;\n --charcoal-tag-item-padding-left: 24px;\n --charcoal-tag-item-padding-right: 24px;\n}\n.charcoal-tag-item[data-size='S'] {\n --charcoal-tag-item-size: 32px;\n --charcoal-tag-item-padding-left: 16px;\n --charcoal-tag-item-padding-right: 16px;\n}\n.charcoal-tag-item[data-state='inactive'] {\n --charcoal-tag-item-color: var(--charcoal-text2);\n}\n.charcoal-tag-item[data-state='active'] {\n --charcoal-tag-item-padding-left: 16px;\n --charcoal-tag-item-padding-right: 8px;\n}\n\n.charcoal-tag-item:disabled,\n.charcoal-tag-item[aria-disabled]:not([aria-disabled='false']) {\n opacity: 0.32;\n cursor: default;\n}\n.charcoal-tag-item:not(:disabled):not([aria-disabled]):focus-visible,\n.charcoal-tag-item[aria-disabled='false']:focus-visible {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-tag-item:not(:disabled):not([aria-disabled]):focus,\n.charcoal-tag-item[aria-disabled='false']:focus {\n outline: none;\n box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);\n}\n.charcoal-tag-item:not(:disabled):not([aria-disabled]):focus:not(\n :focus-visible\n ),\n.charcoal-tag-item[aria-disabled='false']:focus:not(:focus-visible) {\n box-shadow: none;\n}\n\n.charcoal-tag-item__bg {\n background-color: var(--charcoal-tag-item-bg);\n}\n\n.charcoal-tag-item__bg[data-bg-variant='image'] {\n background-color: var(--charcoal-surface4);\n}\n\n.charcoal-tag-item__bg[data-bg-variant='image']::before {\n content: '';\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-position: center;\n background-size: cover;\n background-image: var(--charcoal-tag-item-bg);\n mix-blend-mode: overlay;\n}\n\n.charcoal-tag-item__bg[data-state='inactive'] {\n background-color: var(--charcoal-surface3);\n}\n\n.charcoal-tag-item__label {\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n.charcoal-tag-item__label[data-has-translate='true'] {\n justify-content: space-between;\n}\n\n.charcoal-tag-item__label__translated {\n --charcoal-tag-item-text-font-size: 12px;\n --charcoal-tag-item-text-line-height: 20px;\n font-weight: bold;\n}\n.charcoal-tag-item__label__translated::before {\n display: none;\n}\n\n.charcoal-tag-item__label__text {\n --charcoal-tag-item-text-font-size: 14px;\n --charcoal-tag-item-text-line-height: 22px;\n\n max-width: 152px;\n overflow: hidden;\n font-weight: bold;\n\n color: inherit;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.charcoal-tag-item__label__text[data-has-translate='true'] {\n --charcoal-tag-item-text-font-size: 10px;\n --charcoal-tag-item-text-line-height: 14px;\n font-weight: normal;\n}\n.charcoal-tag-item__labe__text[data-has-translate='true']::after {\n display: none;\n}\n",".charcoal-hint-text {\n background-color: var(--charcoal-surface3);\n border-radius: 8px;\n padding: 12px 16px;\n display: flex;\n align-items: flex-start;\n}\n\n.charcoal-hint-text[data-context='page'] {\n justify-content: center;\n}\n\n@media (min-width: 744px) {\n .charcoal-hint-text[data-context='page'] {\n padding: 20px 40px;\n }\n}\n\n.charcoal-hint-text-icon {\n display: flex;\n align-items: center;\n color: var(--charcoal-text3);\n height: 22px;\n margin: 0 4px 0 0;\n}\n\n.charcoal-hint-text-message {\n color: var(--charcoal-text2);\n font-size: 14px;\n line-height: 22px;\n display: flow-root;\n margin: 0;\n min-width: 0;\n overflow-wrap: break-word;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;ACvJA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AC1IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;ACvBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";import{SSRProvider as e}from"@react-aria/ssr";import*as t from"react";import n,{Fragment as r,createContext as i,forwardRef as a,memo as o,useCallback as s,useContext as c,useEffect as l,useImperativeHandle as u,useMemo as d,useRef as f,useState as p,version as m}from"react";import{DismissButton as h,Overlay as g,OverlayProvider as _,ariaHideOutside as v,useOverlay as y,useOverlayFocusContain as b,usePopover as x}from"@react-aria/overlays";import{jsx as S,jsxs as C}from"react/jsx-runtime";import w from"warning";import"@charcoal-ui/icons";import{mergeRefs as T,useId as E,useObjectRef as D}from"@react-aria/utils";import{useVisuallyHidden as O}from"@react-aria/visually-hidden";import{animated as k,easings as A,useTransition as j}from"react-spring";import{useDialog as M}from"@react-aria/dialog";import{useRadioGroupState as N}from"@react-stately/radio";import{useRadio as P,useRadioGroup as F}from"@react-aria/radio";function I(e){let t=parseInt(m.split(`.`)[0],10);return Number.isFinite(t)?t>=e:!1}const L=I(18)?r:e;function R({children:e}){return S(L,{children:S(_,{children:e})})}const z=`charcoal-theme`,B=`theme`,ee=new RegExp(/^(\w|-)+$/);function V(e){if(!ee.test(e))throw Error(`Unexpected key :${e}, expect: /^(\\w|-)+$/`)}const te=(e=B)=>t=>{V(e),t===void 0?delete document.documentElement.dataset[e]:document.documentElement.dataset[e]=t};function ne(e,t){return`:root[data-${t??B}='${e}']`}function re(e){return`@media (prefers-color-scheme: ${e})`}function ie({key:e=z,setter:t=te()}={}){let[n,,r]=oe(e);l(()=>{n!==void 0&&t(r?void 0:n)},[t,r,n])}function ae(e=z){return localStorage.getItem(e)}const oe=(e=z)=>{V(e);let t=H(`(prefers-color-scheme: dark)`),n=t===void 0?void 0:t?`dark`:`light`,[r,i,a]=se(e);return[!a||n===void 0?void 0:r??n,i,r===void 0]};function se(e,t){let[n,r]=p(!1),[i,a]=p(),o=d(()=>t?.(),[t]);l(()=>(c(),window.addEventListener(`storage`,s),()=>{window.removeEventListener(`storage`,s)}));let s=t=>{t.storageArea===localStorage&&t.key===e&&c()},c=()=>{let t=localStorage.getItem(e);a((t===null?null:ce(t))??o),r(!0)};return[i??o,t=>{if(t===void 0)localStorage.removeItem(e);else{let n=le(t);localStorage.setItem(e,n)}let n=new StorageEvent(`storage`,{bubbles:!0,cancelable:!1,key:e,url:location.href,storageArea:localStorage});dispatchEvent(n)},n]}function ce(e){try{return JSON.parse(e)}catch{return e}}function le(e){return typeof e==`string`?e:JSON.stringify(e)}function H(e){let[t,n]=p();return l(()=>{let t=window.matchMedia(e),r=()=>{n(t.matches)};return t.addEventListener(`change`,r),n(t.matches),()=>{t.removeEventListener(`change`,r)}},[e]),t}function ue({localStorageKey:e=U.localStorageKey,rootAttribute:t=U.rootAttribute}=U){return V(e),V(t),`'use strict';
|
|
2
|
+
(function () {
|
|
3
|
+
var localStorageKey = '${e}'
|
|
4
|
+
var rootAttribute = '${t}'
|
|
5
|
+
var currentTheme = localStorage.getItem(localStorageKey);
|
|
6
|
+
if (currentTheme) {
|
|
7
|
+
document.documentElement.dataset[rootAttribute] = currentTheme;
|
|
8
|
+
}
|
|
9
|
+
})();
|
|
10
|
+
`}function de({localStorageKey:e=U.localStorageKey,rootAttribute:t=U.rootAttribute}){let n=ue({localStorageKey:e,rootAttribute:t});return S(`script`,{dangerouslySetInnerHTML:{__html:n}})}const U={localStorageKey:z,rootAttribute:B};function W(...e){return d(()=>e.filter(e=>e).join(` `),[e])}var fe=a(function({variant:e,fullWidth:t,size:n,className:r,component:i,isActive:a,...o},s){let c=d(()=>i??`button`,[i]),l=W(`charcoal-button`,r);return S(c,{...o,className:l,"data-variant":e,"data-size":n,"data-full-width":t,"data-active":a,ref:s})}),pe=a(function({component:e,...t},n){let r=W(`charcoal-clickable`,t.className),i=d(()=>e??`button`,[e]);return S(i,{...t,ref:n,className:r})}),me=a(function({variant:e=`Default`,size:t=`M`,icon:n,isActive:r=!1,component:i,...a},o){he(t,n);let s=d(()=>i??`button`,[i]),c=W(`charcoal-icon-button`,a.className);return S(s,{...a,ref:o,className:c,"data-size":t,"data-active":r,"data-variant":e,children:S(`pixiv-icon`,{name:n})})});function he(e,t){let n;switch(e){case`XS`:n=`16`;break;case`S`:case`M`:n=`24`;break}let r=/^\d*/u.exec(t);if(r==null)throw Error(`Invalid icon name`);let[i]=r;i!==n&&console.warn(`IconButton with size "${e}" expect icon size "${n}, but got "${i}"`)}const ge=t.createContext({name:void 0,selected:void 0,disabled:!1,readonly:!1,invalid:!1,onChange(){throw Error(`Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?`)}}),_e=a(function({onChange:e,invalid:t,className:n,...r},i){let a=s(t=>{let n=t.currentTarget;e?.(n.value)},[e]),o=W(`charcoal-radio-input`,n);return S(`input`,{className:o,ref:i,type:`radio`,onChange:a,"aria-invalid":t,...r})});var ve=o(_e);const ye=a(function({value:e,disabled:t=!1,children:n,...r},i){let{name:a,selected:o,disabled:s,readonly:l,invalid:u,onChange:d}=c(ge),f=W(`charcoal-radio__label`,r.className);w(a!==void 0,`"name" is not Provided for <Radio>. Perhaps you forgot to wrap with <RadioGroup> ?`);let p=e===o,m=t||s,h=l&&!p;return C(`label`,{"aria-disabled":m||h,className:f,children:[S(ve,{name:a,value:e,checked:p,"aria-invalid":u,onChange:d,disabled:m||h,ref:i}),n!=null&&S(`div`,{className:`charcoal-radio__label_div`,children:n})]})});var be=o(ye);const xe=a(function({value:e,label:t,name:n,onChange:r,disabled:i,readonly:a,invalid:o,children:c,"aria-orientation":l=`vertical`,...u},f){let p=W(`charcoal-radio-group`,u.className),m=s(e=>{r(e)},[r]),h=d(()=>({name:n,selected:e,disabled:i??!1,readonly:a??!1,invalid:o??!1,onChange:m}),[i,m,o,n,a,e]);return S(ge.Provider,{value:h,children:S(`div`,{role:`radiogroup`,"aria-disabled":i,"aria-invalid":o,"aria-label":t,"aria-labelledby":u[`aria-labelledby`],"aria-orientation":l,className:p,ref:f,children:c})})}),Se=i({name:void 0,selected:[],disabled:!1,readonly:!1,invalid:!1,onChange(){throw Error("Cannot find `onChange()` handler. Perhaps you forgot to wrap it with `<MultiSelectGroup />` ?")}});var G=t.forwardRef(function({name:e,scale:t,unsafeNonGuidelineScale:n,className:r,...i},a){return S(`pixiv-icon`,{ref:a,name:e,scale:t,"unsafe-non-guideline-scale":n,class:r,...i})});const Ce=a(function({value:e,disabled:t=!1,onChange:n,variant:r=`default`,className:i,children:a},o){let{name:l,selected:u,disabled:d,readonly:f,invalid:p,onChange:m}=c(Se);w(l!==void 0,`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`);let h=u.includes(e),g=t||d||f,_=s(t=>{t.currentTarget instanceof HTMLInputElement&&(n&&n({value:e,selected:t.currentTarget.checked}),m({value:e,selected:t.currentTarget.checked}))},[n,m,e]),v=W(`charcoal-multi-select`,i);return C(`label`,{"aria-disabled":g,className:v,children:[S(`input`,{className:`charcoal-multi-select-input`,name:l,value:e,type:`checkbox`,checked:h,disabled:g,onChange:_,"data-overlay":r===`overlay`,"aria-invalid":p,ref:o}),S(`div`,{className:`charcoal-multi-select-overlay`,"data-overlay":r===`overlay`,"aria-invalid":p,"aria-hidden":!0,children:S(G,{name:`24/Check`,"unsafe-non-guideline-scale":16/24})}),!!a&&S(`div`,{className:`charcoal-multi-select-label`,children:a})]})});var we=o(Ce);function Te({className:e,style:t,name:n,label:r,selected:i,onChange:a,disabled:o=!1,readonly:c=!1,invalid:l=!1,children:u}){let d=s(e=>{let t=i.indexOf(e.value);e.selected?t<0&&a([...i,e.value]):t>=0&&a([...i.slice(0,t),...i.slice(t+1)])},[a,i]);return S(Se.Provider,{value:{name:n,selected:Array.from(new Set(i)),disabled:o,readonly:c,invalid:l,onChange:d},children:S(`div`,{className:e,style:t,"aria-label":r,"data-testid":`SelectGroup`,children:u})})}var Ee=a(function({onChange:e,className:t,...n},r){let i=s(t=>{let n=t.currentTarget;e?.(n.checked)},[e]),a=W(`charcoal-switch-input`,t);return S(`input`,{ref:r,className:a,type:`checkbox`,onChange:i,...n})});const De=t.memo(function({children:e,className:t,disabled:n,id:r,input:i}){let a=W(`charcoal-switch__label`,t);return C(`label`,{htmlFor:r,className:a,"aria-disabled":n,children:[i,S(`div`,{className:`charcoal-switch__label_div`,children:e})]})}),Oe=a(function({children:e,onChange:t,disabled:n,className:r,id:i,...a},o){let s=E(i),c=e===void 0,l=S(Ee,{...a,disabled:n,className:c?r:void 0,id:s,onChange:t,ref:o,role:`switch`,type:`checkbox`});return c?l:S(De,{className:r,disabled:n,id:s,input:l,children:e})});var ke=o(Oe),K=t.forwardRef(function({style:e,className:t,label:n,required:r=!1,requiredText:i,subLabel:a,...o},s){let c=W(`charcoal-field-label-root`,t);return C(`div`,{style:e,className:c,children:[S(`label`,{ref:s,className:`charcoal-field-label`,...o,children:n}),r&&S(`div`,{className:`charcoal-field-label-required-text`,children:i}),S(`div`,{className:`charcoal-field-label-sub-label`,children:S(`span`,{children:a})})]})});function Ae(...e){return t=>{for(let n of e)typeof n==`function`?n(t):n!==null&&(n.current=t)}}function q(e){return Array.from(e).length}function je(e,t){l(()=>{let n=e.current;if(n){let e=e=>{e.target!==t.current&&t.current?.focus()};return n.addEventListener(`click`,e),()=>{n.removeEventListener(`click`,e)}}})}function J(e){return a(function({className:t,...n},r){let i=W(e,t);return S(`div`,{className:i,ref:r,...n})})}const Y=J(`charcoal-text-field-assistive-text`);var Me=t.forwardRef(function({assistiveText:e,className:t,disabled:n=!1,label:r=``,maxLength:i,onChange:a,prefix:o=null,required:c,requiredText:u,showCount:d=!1,showLabel:m=!1,subLabel:h,suffix:g=null,type:_=`text`,invalid:v,value:y,getCount:b=q,...x},w){let D=f(null),{visuallyHiddenProps:k}=O(),[A,j]=p(b(y??``)),M=s(e=>{let t=e.target.value,n=b(t);i!==void 0&&n>i||(j(n),a?.(t))},[b,i,a]);l(()=>{j(b(y??``))},[b,y]);let N=f(null);je(N,D);let P=E(x.id),F=E(),I=E(),L=e!=null&&e.length!==0,R=W(`charcoal-text-field-root`,t);return C(`div`,{className:R,"aria-disabled":n,children:[S(K,{htmlFor:P,id:I,label:r,required:c,requiredText:u,subLabel:h,...m?{}:k}),C(`div`,{className:`charcoal-text-field-container`,"aria-disabled":n===!0?!0:void 0,"data-invalid":v===!0,ref:N,children:[o&&S(`div`,{className:`charcoal-text-field-prefix`,children:o}),S(`input`,{className:`charcoal-text-field-input`,"aria-describedby":L?F:void 0,"aria-invalid":v,"aria-labelledby":I,id:P,"data-invalid":v===!0,maxLength:i,onChange:M,disabled:n,ref:T(w,D),type:_,value:y,...x}),(g||d)&&C(`div`,{className:`charcoal-text-field-suffix`,children:[g,d&&S(`span`,{className:`charcoal-text-field-line-counter`,children:i===void 0?A:`${A}/${i}`})]})]}),L&&S(Y,{"data-invalid":v===!0,id:F,children:e})]})}),Ne=a(function({onChange:e,className:t,value:n,showCount:r=!1,showLabel:i=!1,label:a=``,requiredText:o,subLabel:c,disabled:u=!1,required:d,assistiveText:m,maxLength:h,autoHeight:g=!1,rows:_=4,invalid:v,getCount:y=q,...b},x){let{visuallyHiddenProps:w}=O(),T=f(null),[D,k]=p(y(n??``)),[A,j]=p(_),M=s(e=>{let t=(`${e.value}\n`.match(/\n/gu)?.length??0)||1;j(_<=t?t:_)},[_]),N=n===void 0,P=s(t=>{let n=t.target.value,r=y(n);h!==void 0&&r>h||(N&&k(r),g&&T.current!==null&&M(T.current),e?.(n))},[g,y,h,N,e,M]);l(()=>{k(y(n??``))},[y,n]),l(()=>{g&&T.current!==null&&M(T.current)},[g,M]);let F=f(null);je(F,T);let I=E(b.id),L=E(),R=E(),z=W(`charcoal-text-area-root`,t),B=m!=null&&m.length!==0;return C(`div`,{className:z,"aria-disabled":u,children:[S(K,{htmlFor:I,id:R,label:a,required:d,requiredText:o,subLabel:c,...i?{}:w}),C(`div`,{className:`charcoal-text-area-container`,"aria-disabled":u===!0?`true`:void 0,"aria-invalid":v===!0,ref:F,style:{"--charcoal-text-area-rows":`${r?A+1:A}`},children:[S(`textarea`,{className:`charcoal-text-area-textarea`,"aria-describedby":B?L:void 0,"aria-invalid":v,"aria-labelledby":R,id:I,maxLength:h,"data-no-bottom-padding":r,onChange:P,ref:Ae(x,T),rows:A,value:n,disabled:u,...b}),r&&S(`span`,{className:`charcoal-text-area-counter`,children:h===void 0?D:`${D}/${h}`})]}),B&&S(Y,{"data-invalid":v===!0,id:L,children:m})]})});function Pe(e){let n=t.useRef(null);return t.useEffect(()=>{e&&(typeof e==`function`?e(n.current):e.current=n.current)}),n}const Fe=a(function({size:e,bottomSheet:t,className:n,...r},i){let a=Pe(i),{dialogProps:o}=M({role:`dialog`},a),s=W(`charcoal-modal-dialog`,n);return S(`div`,{className:s,role:o.role,"data-bottom-sheet":t,tabIndex:o.tabIndex,"aria-labelledby":o[`aria-labelledby`],onBlur:o.onBlur,"data-size":e,ref:a,...r})}),Ie=t.createContext(null);function Le(e,t,n=!1){l(()=>{if(t&&e){let t=e.style.paddingRight,r=e.style.overflow;return e.style.paddingRight=`${window.innerWidth-e.clientWidth}px`,e.style.overflow=n?`clip`:`hidden`,()=>{e.style.paddingRight=t,e.style.overflow=r}}},[e,t,n])}function Re(e,n,r){let{overlayProps:i,underlayProps:a}=y({...e,isOpen:n.isOpen,onClose:n.onClose,shouldCloseOnInteractOutside:()=>!1},r);return Le(typeof document<`u`?document.body:null,n.isOpen,e.overflowClip),b(),t.useEffect(()=>{if(n.isOpen&&r.current)return v([r.current])},[n.isOpen,r]),{modalProps:i,underlayProps:a}}function ze(){return typeof window<`u`}function Be(){let[e,n]=t.useState(ze()?window.innerWidth:null);return t.useEffect(()=>{let e=()=>{n(window.innerWidth)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}}),e}const Ve=a(function({children:e,zIndex:n=10,portalContainer:r,...i},a){let{title:o,size:s=`M`,bottomSheet:c=!1,isDismissable:l,onClose:u,className:d,isOpen:f=!1,closeButtonAriaLabel:p=`Close`}=i,m=D(a),{modalProps:h,underlayProps:_}=Re({...i,isKeyboardDismissDisabled:l===void 0||l===!1},{onClose:u,isOpen:f},m),v=(Be()??1/0)<744,y=v&&c!==!1,b=!v||c!==!0,x=j(f,{from:{transform:`translateY(100%)`,backgroundColor:`rgba(0, 0, 0, 0)`,overflow:`hidden`},enter:{transform:`translateY(0%)`,backgroundColor:`rgba(0, 0, 0, 0.4)`},update:{overflow:`auto`},leave:{transform:`translateY(100%)`,backgroundColor:`rgba(0, 0, 0, 0)`,overflow:`hidden`},config:y?{duration:400,easing:A.easeOutQuart}:{duration:0}}),w=t.useRef(null),T=t.useCallback(e=>{e.currentTarget===e.target&&u()},[u]);return x(({backgroundColor:t,overflow:i,transform:a},f)=>f&&S(g,{portalContainer:r,children:S(k.div,{className:`charcoal-modal-background`,ref:w,..._,style:y?{backgroundColor:t,overflow:i,zIndex:n}:{zIndex:n},"data-bottom-sheet":c,onClick:T,children:S(Ie.Provider,{value:w.current,children:S(He,{ref:m,...h,style:y?{transform:a}:{},size:s,bottomSheet:c,className:d,children:C(We.Provider,{value:{titleProps:{},title:o,close:u,showDismiss:b,bottomSheet:c},children:[e,l===!0&&S(Ge,{"aria-label":p,onClick:u})]})})})})}))}),He=k(Fe);var Ue=o(Ve);const We=t.createContext({titleProps:{},title:``,close:void 0,showDismiss:!0,bottomSheet:!1});function Ge(e){return S(me,{className:`charcoal-modal-close-button`,size:`S`,icon:`24/Close`,type:`button`,...e})}function Ke(){let e=c(We);return S(`div`,{className:`charcoal-modal-header-root`,"data-bottom-sheet":e.bottomSheet,children:S(`div`,{className:`charcoal-modal-header-title`,children:e.title})})}const qe=J(`charcoal-modal-align`),Je=J(`charcoal-modal-body`),Ye=J(`charcoal-modal-buttons`),Xe=a(function({size:e=48,padding:t=16,transparent:n=!1,...r},i){let a=W(`charcoal-loading-spinner`,r.className);return S(`div`,{role:`progressbar`,style:{"--charcoal-loading-spinner-size":`${e}px`,"--charcoal-loading-spinner-padding":`${t}px`},"data-transparent":n,className:a,ref:i,children:S(X,{})})});var Ze=o(Xe);const X=a(function({once:e=!1},t){let n=f(null);return u(t,()=>({restart:()=>{n.current&&(n.current.dataset.resetAnimation=`true`,n.current.offsetWidth,delete n.current.dataset.resetAnimation)}})),S(`div`,{role:`presentation`,ref:n,"data-once":e,className:`charcoal-loading-spinner-icon`})}),Z=()=>null;function Qe(e){let t=f(null),n=e.popoverRef===void 0?t:e.popoverRef,{popoverProps:r,underlayProps:i}=x({triggerRef:e.triggerRef,popoverRef:n,containerPadding:16},{close:e.onClose,isOpen:e.isOpen,open:Z,setOpen:Z,toggle:Z}),a=c(Ie);return Le(a,e.isOpen),e.isOpen?C(g,{portalContainer:document.body,children:[S(`div`,{...i,style:{position:`fixed`,zIndex:typeof r.style?.zIndex==`number`?r.style.zIndex-1:99999,inset:0}}),C(`div`,{...r,ref:n,className:`charcoal-popover`,children:[S(h,{onDismiss:()=>e.onClose()}),S(`div`,{tabIndex:0,onFocus:e.onClose}),e.children,S(`div`,{tabIndex:0,onFocus:e.onClose}),S(h,{onDismiss:()=>e.onClose()})]})]}):null}function $e({children:e,...t}){let n=f(null);return l(()=>{t.isOpen&&n.current&&t.triggerRef.current&&(n.current.style.width=`${t.triggerRef.current.clientWidth}px`)},[t.triggerRef,t.isOpen]),l(()=>{if(t.isOpen)if(t.value!==void 0&&t.value!==``){let e=window.scrollY,n=window.scrollX;document.querySelector(`[data-key="${t.value.toString()}"]`)?.focus(),window.scrollTo(n,e)}else{let e=n.current?.querySelector(`[role='option']`);e instanceof HTMLElement&&e.focus()}},[t.value,t.isOpen]),S(Qe,{isOpen:t.isOpen,onClose:t.onClose,popoverRef:n,triggerRef:t.triggerRef,children:e})}function et(e,n){let r=t.Children.toArray(e);for(let e=0;e<r.length;e++){let i=r[e];if(t.isValidElement(i)){if(`value`in i.props&&i.props.value===n&&`children`in i.props)return i.props.children;if(`children`in i.props){let e=et(i.props.children,n);if(e!==void 0)return e}}}}const Q=i({root:void 0,value:``,propsArray:[],setValue:e=>{}});function $(e){let n=t.Children.toArray(e),r=[];for(let e=0;e<n.length;e++){let i=n[e];if(t.isValidElement(i)){let e=i.props;`value`in e&&typeof e.value==`string`&&r.push({disabled:e.disabled,value:e.value}),`children`in e&&e.children&&r.push(...$(e.children))}}return r}function tt(e){let t=f(null),n=d(()=>$(e.children),[e.children]);return S(`ul`,{className:`charcoal-menu-list`,ref:t,children:S(Q.Provider,{value:{value:e.value??``,root:t,propsArray:n,setValue:t=>{e.onChange?.(t)}},children:e.children})})}function nt({onChange:e,showLabel:t=!1,...n}){let r=f(null),[i,a]=p(!1),o=et(n.children,n.value),c=d(()=>n.placeholder!==void 0&&o===void 0,[o,n.placeholder]),l=$(n.children),{visuallyHiddenProps:u}=O(),m=s(t=>{e(t.target.value)},[e]),h=E(),g=E(),_=W(`charcoal-dropdown-selector-root`,n.className);return C(`div`,{className:_,"aria-disabled":n.disabled,children:[S(K,{id:h,label:n.label,required:n.required,requiredText:n.requiredText,subLabel:n.subLabel,...t?{}:u}),S(`div`,{...u,"aria-hidden":`true`,children:S(`select`,{name:n.name,value:n.value,onChange:m,tabIndex:-1,children:l.map(e=>S(`option`,{value:e.value,disabled:e.disabled,children:e.value},e.value))})}),C(`button`,{className:`charcoal-dropdown-selector-button`,"aria-labelledby":h,"aria-invalid":n.invalid,"aria-describedby":n.assistiveText===void 0?void 0:g,disabled:n.disabled,onClick:()=>{n.disabled!==!0&&a(!0)},ref:r,type:`button`,"data-active":i,children:[S(`span`,{className:`charcoal-ui-dropdown-selector-text`,"data-placeholder":c,children:c?n.placeholder:o}),S(G,{className:`charcoal-ui-dropdown-selector-icon`,name:`16/Menu`})]}),i&&S($e,{isOpen:i,onClose:()=>a(!1),triggerRef:r,value:n.value,children:S(tt,{value:n.value,onChange:t=>{e(t),a(!1)},children:n.children})}),n.assistiveText!==void 0&&S(Y,{"data-invalid":n.invalid===!0,id:g,children:n.assistiveText})]})}var rt=a(function({as:e,className:t,...n},r){let i=d(()=>e??`li`,[e]),a=W(`charcoal-list-item`,t);return S(i,{className:a,ref:r,...n})});function it(e,t){if(t.scrollHeight>t.clientHeight){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();n.bottom>r.bottom?t.scrollTo({top:t.scrollTop+n.bottom-r.bottom}):n.top<r.top&&t.scrollTo({top:t.scrollTop-(r.top-n.top)})}else at(e)}function at(e){let t=e.getBoundingClientRect();t.top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||e.scrollIntoView({block:`nearest`})}function ot(e){let{setValue:t,root:n,propsArray:r}=c(Q),i=s(()=>{e!==void 0&&t(e)},[e,t]);return[s(t=>{if(t.key===`Enter`)i();else if(t.key===`ArrowUp`||t.key===`ArrowDown`){let i=t.key===`ArrowDown`;if(t.preventDefault(),!r||e===void 0)return;let a=r.map(e=>e.value).filter(e=>e),o=a.indexOf(e);if(o===-1)return;for(let e=0;e<a.length;e++){let e=i?o+1>=a.length?a[0]:a[o+1]:o-1<0?a[a.length-1]:a[o-1],t=n?.current?.querySelector(`[data-key='${e}']`);if(t instanceof HTMLElement){if(t.ariaDisabled===`true`){o+=i?1:-1;continue}t.focus({preventScroll:!0}),n?.current?.parentElement&&it(t,n.current.parentElement);break}}}},[i,r,e,n]),i]}var st=a(function({className:e,value:t,disabled:n,...r},i){let[a,o]=ot(t);return S(rt,{...r,ref:i,"data-key":t,onKeyDown:a,onClick:n===!0?void 0:o,tabIndex:-1,"aria-disabled":n,role:`option`,children:r.children})});function ct(e){let{value:t}=c(Q),n=e.value===t,{children:r,...i}=e;return C(st,{...i,"aria-selected":n,children:[n&&S(G,{className:`charcoal-dropdown-selector-menu-item-icon`,name:`16/Check`}),S(`span`,{className:`charcoal-dropdown-selector-menu-item`,"data-selected":n,children:e.children})]})}function lt(e){return C(`li`,{className:`charcoal-menu-item-group`,role:`presentation`,children:[S(`span`,{children:e.text}),S(`ul`,{role:`group`,children:e.children})]})}const ut=i(null),dt=({value:e,children:t})=>S(ut.Provider,{value:e,children:t}),ft=()=>{let e=c(ut);if(e===null)throw Error("`<RadioProvider>` is not likely mounted.");return e},pt=a(function(e,t){let n=W(`charcoal-segmented-control`,e.className),r=d(()=>({...e,isDisabled:e.disabled,isReadOnly:e.readonly,isRequired:e.required,"aria-label":e.name}),[e]),i=N(r),{radioGroupProps:a}=F(r,i),o=d(()=>e.data.map(e=>typeof e==`string`?{value:e,label:e}:e),[e.data]);return S(`div`,{ref:t,...a,className:n,children:S(dt,{value:i,children:o.map(e=>S(ht,{value:e.value,disabled:e.disabled,children:e.label},e.value))})})});var mt=o(pt);const ht=e=>{let t=ft(),n=f(null),r=d(()=>({value:e.value,isDisabled:e.disabled,children:e.children}),[e]),{inputProps:i,isDisabled:a,isSelected:o}=P(r,t,n);return C(`label`,{className:`charcoal-segmented-control-radio__label`,"aria-disabled":a||t.isReadOnly,"data-checked":o,children:[S(`input`,{className:`charcoal-segmented-control-radio__input`,...i,ref:n}),e.children]})},gt=a(function({onChange:e,checked:t,invalid:n,className:r,rounded:i,...a},o){let c=s(t=>{let n=t.currentTarget;e?.(n.checked)},[e]),l=W(`charcoal-checkbox-input`,r);return S(`input`,{className:l,ref:o,type:`checkbox`,onChange:c,"aria-invalid":n,checked:t,"data-rounded":i,...a})});var _t=o(gt);const vt=n.memo(function({className:e,children:t,input:n,id:r,disabled:i}){let a=W(`charcoal-checkbox__label`,e);return C(`label`,{htmlFor:r,"aria-disabled":i,className:a,children:[n,S(`div`,{className:`charcoal-checkbox__label_div`,children:t})]})}),yt=a(function({disabled:e,className:t,id:n,children:r,...i},a){let o=E(n),s=r===void 0,c=S(_t,{...i,className:s?t:void 0,disabled:e,id:o,ref:a});return s?c:S(vt,{className:t,disabled:e,id:o,input:c,children:r})});var bt=o(yt);const xt=a(function({component:e,label:t,translatedLabel:n,bgColor:r=`#7ACCB1`,bgImage:i,size:a=`M`,status:o=`default`,...s},c){let l=D(c),u=n!==void 0&&n.length>0,f=W(`charcoal-tag-item`,`charcoal-tag-item__bg`,s.className),p=i!==void 0&&i.length>0?`image`:`color`,m=p===`color`?r:`url(${i??``})`,h=d(()=>e??`button`,[e]);return C(h,{...s,ref:l,className:f,"data-state":o,"data-bg-variant":p,"data-size":u?`M`:a,style:{"--charcoal-tag-item-bg":m},children:[C(`div`,{className:`charcoal-tag-item__label`,"data-has-translate":u,children:[u&&S(`span`,{className:`charcoal-tag-item__label__translated`,children:n}),S(`span`,{className:`charcoal-tag-item__label__text`,"data-has-translate":u,children:t})]}),o===`active`&&S(G,{name:`16/Remove`})]})});var St=o(xt);function Ct({children:e,context:t=`section`,className:n}){let r=W(`charcoal-hint-text`,n);return C(`div`,{className:r,"data-context":t,children:[S(`div`,{className:`charcoal-hint-text-icon`,children:S(G,{name:`16/Info`})}),S(`p`,{className:`charcoal-hint-text-message`,children:e})]})}export{fe as Button,R as CharcoalProvider,bt as Checkbox,pe as Clickable,ct as DropdownMenuItem,nt as DropdownSelector,Ct as HintText,G as Icon,me as IconButton,Ze as LoadingSpinner,X as LoadingSpinnerIcon,lt as MenuItemGroup,Ue as Modal,qe as ModalAlign,Je as ModalBody,Ye as ModalButtons,Ge as ModalCloseButton,Ke as ModalHeader,we as MultiSelect,Te as MultiSelectGroup,_ as OverlayProvider,be as Radio,xe as RadioGroup,L as SSRProvider,mt as SegmentedControl,de as SetThemeScript,ke as Switch,St as TagItem,Ne as TextArea,Me as TextField,ae as getThemeSync,ue as makeSetThemeScriptCode,re as prefersColorScheme,ne as themeSelector,te as themeSetter,se as useLocalStorage,H as useMedia,oe as useTheme,ie as useThemeSetter};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["OriginSSRProvider","defaultProps: Props","Button","Clickable","requiredIconSize: string","React","RadioInput","RadioInput","React","Icon","SwitchInput","React","SwitchWithLabel","Switch","SwitchInput","React","FieldLabel","mergeRefs","React","value","count","FieldLabel","forwardRef","rows","value","count","FieldLabel","mergeRefs","forwardRef","React","Dialog","forwardRef","React","React","React","IconButton","LoadingSpinnerIcon","React","children","React","propsArray: DropdownMenuItemProps[]","FieldLabel","Icon","ListItem","MenuItem","ListItem","MenuItem","Icon","RadioProvider: React.FC<RadioProviderProps>","CheckboxInput","CheckboxWithLabel","Checkbox","CheckboxInput","Icon","Icon"],"sources":["../src/core/SSRProvider.tsx","../src/core/CharcoalProvider.tsx","../src/core/themeHelper.ts","../src/core/SetThemeScript.tsx","../src/_lib/useClassNames.ts","../src/components/Button/index.tsx","../src/components/Clickable/index.tsx","../src/components/IconButton/index.tsx","../src/components/Radio/RadioGroupContext.ts","../src/components/Radio/RadioInput/index.tsx","../src/components/Radio/index.tsx","../src/components/Radio/RadioGroup/index.tsx","../src/components/MultiSelect/context.ts","../src/components/Icon/index.tsx","../src/components/MultiSelect/index.tsx","../src/components/Switch/SwitchInput/index.tsx","../src/components/Switch/SwitchWithLabel.tsx","../src/components/Switch/index.tsx","../src/components/FieldLabel/index.tsx","../src/_lib/index.ts","../src/components/TextField/useFocusWithClick.tsx","../src/_lib/createDivComponent.tsx","../src/components/TextField/AssistiveText/index.tsx","../src/components/TextField/index.tsx","../src/components/TextArea/index.tsx","../src/_lib/useForwardedRef.tsx","../src/components/Modal/Dialog/index.tsx","../src/components/Modal/ModalBackgroundContext.tsx","../src/components/DropdownSelector/Popover/usePreventScroll.tsx","../src/components/Modal/useCustomModalOverlay.tsx","../src/components/Modal/index.tsx","../src/components/Modal/ModalPlumbing.tsx","../src/components/LoadingSpinner/index.tsx","../src/components/DropdownSelector/Popover/index.tsx","../src/components/DropdownSelector/DropdownPopover.tsx","../src/components/DropdownSelector/utils/findPreviewRecursive.tsx","../src/components/DropdownSelector/MenuList/MenuListContext.ts","../src/components/DropdownSelector/MenuList/internals/getValuesRecursive.tsx","../src/components/DropdownSelector/MenuList/index.tsx","../src/components/DropdownSelector/index.tsx","../src/components/DropdownSelector/ListItem/index.tsx","../src/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.tsx","../src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx","../src/components/DropdownSelector/MenuItem/index.tsx","../src/components/DropdownSelector/DropdownMenuItem/index.tsx","../src/components/DropdownSelector/MenuItemGroup/index.tsx","../src/components/SegmentedControl/RadioGroupContext.tsx","../src/components/SegmentedControl/index.tsx","../src/components/Checkbox/CheckboxInput/index.tsx","../src/components/Checkbox/CheckboxWithLabel.tsx","../src/components/Checkbox/index.tsx","../src/components/TagItem/index.tsx","../src/components/HintText/index.tsx"],"sourcesContent":["import { SSRProvider as OriginSSRProvider } from '@react-aria/ssr'\nimport { version, Fragment } from 'react'\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","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","import { 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/**\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 = themeSetter(),\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 useEffect(() => {\n fetch()\n window.addEventListener('storage', handleStorage)\n return () => {\n window.removeEventListener('storage', handleStorage)\n }\n })\n\n const handleStorage = (e: StorageEvent) => {\n if (e.storageArea !== localStorage) {\n return\n }\n if (e.key !== key) {\n return\n }\n fetch()\n }\n\n const fetch = () => {\n const raw = localStorage.getItem(key)\n setState((raw !== null ? deserialize(raw) : null) ?? defaultValueMemo)\n setReady(true)\n }\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","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","import { useMemo } from 'react'\n\n/**\n * Join some class names if propsClassName is defined.\n */\nexport function useClassNames(...classNames: (string | undefined)[]) {\n return useMemo(() => classNames.filter((v) => v).join(' '), [classNames])\n}\n","import './index.css'\n\nimport React, {\n ForwardedRef,\n ReactNode,\n forwardRef,\n useMemo,\n type JSX,\n} from 'react'\n\nimport { useClassNames } from '../../_lib/useClassNames'\n\ntype Variant = 'Primary' | 'Default' | 'Overlay' | 'Danger' | 'Navigation'\n\ntype Size = 'S' | 'M'\n\nexport type ButtonProps<T extends React.ElementType = 'button'> = {\n children?: ReactNode\n variant?: Variant\n size?: Size\n fullWidth?: boolean\n isActive?: boolean\n /**\n * The component used for root element.\n * @type T extends React.ElementType = 'button'\n */\n component?: T\n} & Omit<React.ComponentPropsWithRef<T>, 'children'>\n\nconst Button = forwardRef(function Button<T extends React.ElementType>(\n {\n variant,\n fullWidth,\n size,\n className,\n component,\n isActive,\n ...props\n }: ButtonProps<T>,\n ref: ForwardedRef<HTMLButtonElement>\n) {\n const Component = useMemo(() => component ?? 'button', [component])\n const classNames = useClassNames('charcoal-button', className)\n return (\n <Component\n {...props}\n className={classNames}\n data-variant={variant}\n data-size={size}\n data-full-width={fullWidth}\n data-active={isActive}\n ref={ref}\n />\n )\n}) as <T extends React.ElementType = 'button'>(\n p: 'button' extends T\n ? ButtonProps<'button'>\n : ButtonProps<T> & {\n component: T // required\n }\n) => JSX.Element\nexport default Button\n","import React, { useMemo, forwardRef, ReactNode, type JSX } from 'react'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport './index.css'\n\nexport type ClickableProps<T extends React.ElementType = 'button'> = {\n children?: ReactNode\n /**\n * The component used for root element.\n * @type T extends React.ElementType = 'button'\n */\n component?: T\n} & Omit<React.ComponentPropsWithRef<T>, 'children'>\n\nconst Clickable = forwardRef(function Clickable<T extends React.ElementType>(\n { component, ...props }: ClickableProps<T>,\n ref: React.ForwardedRef<HTMLButtonElement>\n) {\n const className = useClassNames('charcoal-clickable', props.className)\n\n const Component = useMemo(() => component ?? 'button', [component])\n\n return <Component {...props} ref={ref} className={className} />\n}) as <T extends React.ElementType = 'button'>(\n p: ClickableProps<T>\n) => JSX.Element\nexport default Clickable\n\n/**\n * @deprecated\n * remained for v3 compatibility and will be removed in the future\n */\nexport type ClickableElement = HTMLButtonElement & HTMLAnchorElement\n","import React, { ForwardedRef, forwardRef, useMemo, type JSX } from 'react'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport type { KnownIconType } from '@charcoal-ui/icons'\n\nimport './index.css'\n\ntype Variant = 'Default' | 'Overlay'\ntype Size = 'XS' | 'S' | 'M'\n\nexport type IconButtonProps<T extends React.ElementType = 'button'> = {\n readonly variant?: Variant\n readonly size?: Size\n readonly icon: keyof KnownIconType\n readonly isActive?: boolean\n component?: T\n} & Omit<React.ComponentPropsWithRef<T>, 'children' | 'as'>\n\nconst IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButtonInner<T extends React.ElementType>(\n {\n variant = 'Default',\n size = 'M',\n icon,\n isActive = false,\n component,\n ...rest\n }: IconButtonProps<T>,\n ref: ForwardedRef<HTMLButtonElement>\n ) {\n validateIconSize(size, icon)\n const Component = useMemo(() => component ?? 'button', [component])\n const classNames = useClassNames('charcoal-icon-button', rest.className)\n\n return (\n <Component\n {...rest}\n ref={ref}\n className={classNames}\n data-size={size}\n data-active={isActive}\n data-variant={variant}\n >\n <pixiv-icon name={icon} />\n </Component>\n )\n }\n) as <T extends React.ElementType = 'button'>(\n p: IconButtonProps<T>\n) => JSX.Element\n\nexport default IconButton\n\n/**\n * validates matches of size and icon\n */\nfunction validateIconSize(size: Size, icon: keyof KnownIconType) {\n let requiredIconSize: string\n switch (size) {\n case 'XS':\n requiredIconSize = '16'\n break\n case 'S':\n case 'M':\n requiredIconSize = '24'\n break\n }\n // アイコン名は サイズ/名前\n const result = /^\\d*/u.exec(icon)\n if (result == null) {\n throw new Error('Invalid icon name')\n }\n const [iconSize] = result\n if (iconSize !== requiredIconSize) {\n // eslint-disable-next-line no-console\n console.warn(\n `IconButton with size \"${size}\" expect icon size \"${requiredIconSize}, but got \"${iconSize}\"`\n )\n }\n}\n","import * as React from 'react'\n\nexport interface RadioGroupContext {\n name: string\n selected?: string\n disabled: boolean\n readonly: boolean\n invalid: boolean\n onChange: (next: string) => void\n}\n\nexport const RadioGroupContext = React.createContext<RadioGroupContext>({\n name: undefined as never,\n selected: undefined,\n disabled: false,\n readonly: false,\n invalid: false,\n onChange() {\n throw new Error(\n 'Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?'\n )\n },\n})\n","import './index.css'\n\nimport { forwardRef, memo, useCallback } from 'react'\nimport { useClassNames } from '../../../_lib/useClassNames'\n\ntype CharcoalRadioInputProps = {\n invalid?: boolean\n onChange?: (value: string) => void\n}\n\ntype InputProps = React.HTMLProps<HTMLInputElement>\n\nexport type RadioInputProps = CharcoalRadioInputProps &\n Omit<InputProps, keyof CharcoalRadioInputProps | 'ref'>\n\nconst RadioInput = forwardRef<HTMLInputElement, RadioInputProps>(\n function RadioInput({ onChange, invalid, className, ...props }, ref) {\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const el = e.currentTarget\n onChange?.(el.value)\n },\n [onChange]\n )\n\n const classNames = useClassNames('charcoal-radio-input', className)\n\n return (\n <input\n className={classNames}\n ref={ref}\n type=\"radio\"\n onChange={handleChange}\n aria-invalid={invalid}\n {...props}\n />\n )\n }\n)\n\nexport default memo(RadioInput)\n","import './index.css'\n\nimport { memo, forwardRef, useContext } from 'react'\nimport * as React from 'react'\nimport warning from 'warning'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nimport { RadioGroupContext } from './RadioGroupContext'\nimport RadioInput from './RadioInput'\n\nexport type RadioProps = React.PropsWithChildren<{\n value: string\n disabled?: boolean\n className?: string\n}>\n\nconst Radio = forwardRef<HTMLInputElement, RadioProps>(function RadioInner(\n { value, disabled = false, children, ...props },\n ref\n) {\n const {\n name,\n selected,\n disabled: isParentDisabled,\n readonly,\n invalid,\n onChange,\n } = useContext(RadioGroupContext)\n\n const classNames = useClassNames('charcoal-radio__label', props.className)\n\n warning(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n name !== undefined,\n `\"name\" is not Provided for <Radio>. Perhaps you forgot to wrap with <RadioGroup> ?`\n )\n\n const isSelected = value === selected\n const isDisabled = disabled || isParentDisabled\n const isReadonly = readonly && !isSelected\n\n return (\n <label aria-disabled={isDisabled || isReadonly} className={classNames}>\n <RadioInput\n name={name}\n value={value}\n checked={isSelected}\n aria-invalid={invalid}\n onChange={onChange}\n disabled={isDisabled || isReadonly}\n ref={ref}\n />\n {children != null && (\n <div className=\"charcoal-radio__label_div\">{children}</div>\n )}\n </label>\n )\n})\n\nexport default memo(Radio)\n","import './index.css'\n\nimport { forwardRef, useCallback, useMemo, type JSX } from 'react'\nimport * as React from 'react'\nimport { useClassNames } from '../../../_lib/useClassNames'\nimport { RadioGroupContext } from '../RadioGroupContext'\n\nexport type RadioGroupProps<Value extends string = string> =\n React.PropsWithChildren<{\n className?: string\n value?: Value\n /**\n * aria-label of RadioGroup\n */\n label?: string\n name: string\n onChange(next: Value): void\n disabled?: boolean\n readonly?: boolean\n invalid?: boolean\n ref?: React.Ref<HTMLDivElement>\n 'aria-labelledby'?: React.ComponentProps<'div'>['aria-labelledby']\n 'aria-orientation'?: React.ComponentProps<'div'>['aria-orientation']\n }>\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps<string>>(\n function RadioGroupInner(\n {\n value,\n label,\n name,\n onChange,\n disabled,\n readonly,\n invalid,\n children,\n 'aria-orientation': ariaOrientation = 'vertical',\n ...props\n },\n ref\n ) {\n const classNames = useClassNames('charcoal-radio-group', props.className)\n\n const handleChange = useCallback(\n (next: string) => {\n onChange(next)\n },\n [onChange]\n )\n\n const contextValue = useMemo(\n () => ({\n name,\n selected: value,\n disabled: disabled ?? false,\n readonly: readonly ?? false,\n invalid: invalid ?? false,\n onChange: handleChange,\n }),\n [disabled, handleChange, invalid, name, readonly, value]\n )\n\n return (\n <RadioGroupContext.Provider value={contextValue}>\n <div\n role=\"radiogroup\"\n aria-disabled={disabled}\n aria-invalid={invalid}\n aria-label={label}\n aria-labelledby={props['aria-labelledby']}\n aria-orientation={ariaOrientation}\n className={classNames}\n ref={ref}\n >\n {children}\n </div>\n </RadioGroupContext.Provider>\n )\n }\n) as <Value extends string>(props: RadioGroupProps<Value>) => JSX.Element\n","import { createContext } from 'react'\n\ntype MultiSelectGroupContext = {\n name: string\n selected: string[]\n disabled: boolean\n readonly: boolean\n invalid: boolean\n onChange: ({ value, selected }: { value: string; selected: boolean }) => void\n}\n\nexport const MultiSelectGroupContext = createContext<MultiSelectGroupContext>({\n name: undefined as never,\n selected: [],\n disabled: false,\n readonly: false,\n invalid: false,\n onChange() {\n throw new Error(\n 'Cannot find `onChange()` handler. Perhaps you forgot to wrap it with `<MultiSelectGroup />` ?'\n )\n },\n})\n","import * as React from 'react'\n\nimport '@charcoal-ui/icons'\nimport type { PixivIcon, Props } from '@charcoal-ui/icons'\n\nexport interface OwnProps {\n unsafeNonGuidelineScale?: number\n className?: string\n}\n\nexport interface IconProps\n extends OwnProps,\n React.PropsWithoutRef<\n Omit<Props, 'class' | 'unsafe-non-guideline-scale' | 'css'>\n > {}\n\nconst Icon = React.forwardRef<PixivIcon, IconProps>(function IconInner(\n { name, scale, unsafeNonGuidelineScale, className, ...rest },\n ref\n) {\n return (\n <pixiv-icon\n ref={ref}\n name={name}\n scale={scale}\n unsafe-non-guideline-scale={unsafeNonGuidelineScale}\n class={className}\n {...rest}\n />\n )\n})\n\nexport default Icon\n","import { ChangeEvent, useCallback, useContext, forwardRef, memo } from 'react'\nimport * as React from 'react'\nimport warning from 'warning'\n\nimport { MultiSelectGroupContext } from './context'\nimport Icon from '../Icon'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport './index.css'\n\nexport type MultiSelectProps = React.PropsWithChildren<{\n value: string\n disabled?: boolean\n variant?: 'default' | 'overlay'\n className?: string\n onChange?: (payload: { value: string; selected: boolean }) => void\n}>\n\nconst MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n function MultiSelectInner(\n {\n value,\n disabled = false,\n onChange,\n variant = 'default',\n className,\n children,\n },\n ref\n ) {\n const {\n name,\n selected,\n disabled: parentDisabled,\n readonly,\n invalid,\n onChange: parentOnChange,\n } = useContext(MultiSelectGroupContext)\n\n warning(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n name !== undefined,\n `\"name\" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`\n )\n\n const isSelected = selected.includes(value)\n const isDisabled = disabled || parentDisabled || readonly\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n if (!(event.currentTarget instanceof HTMLInputElement)) {\n return\n }\n if (onChange) onChange({ value, selected: event.currentTarget.checked })\n parentOnChange({ value, selected: event.currentTarget.checked })\n },\n [onChange, parentOnChange, value]\n )\n const classNames = useClassNames('charcoal-multi-select', className)\n return (\n <label aria-disabled={isDisabled} className={classNames}>\n <input\n className=\"charcoal-multi-select-input\"\n name={name}\n value={value}\n type=\"checkbox\"\n checked={isSelected}\n disabled={isDisabled}\n onChange={handleChange}\n data-overlay={variant === 'overlay'}\n aria-invalid={invalid}\n ref={ref}\n />\n <div\n className=\"charcoal-multi-select-overlay\"\n data-overlay={variant === 'overlay'}\n aria-invalid={invalid}\n aria-hidden={true}\n >\n <Icon name=\"24/Check\" unsafe-non-guideline-scale={16 / 24} />\n </div>\n {Boolean(children) && (\n <div className=\"charcoal-multi-select-label\">{children}</div>\n )}\n </label>\n )\n }\n)\n\nexport default memo(MultiSelect)\n\nexport type MultiSelectGroupProps = React.PropsWithChildren<{\n className?: string\n style?: React.CSSProperties\n name: string\n label: string\n selected: string[]\n onChange: (selected: string[]) => void\n disabled?: boolean\n readonly?: boolean\n invalid?: boolean\n}>\n\nexport function MultiSelectGroup({\n className,\n style,\n name,\n label,\n selected,\n onChange,\n disabled = false,\n readonly = false,\n invalid = false,\n children,\n}: MultiSelectGroupProps) {\n const handleChange = useCallback(\n (payload: { value: string; selected: boolean }) => {\n const index = selected.indexOf(payload.value)\n\n if (payload.selected) {\n if (index < 0) {\n onChange([...selected, payload.value])\n }\n } else {\n if (index >= 0) {\n onChange([...selected.slice(0, index), ...selected.slice(index + 1)])\n }\n }\n },\n [onChange, selected]\n )\n\n return (\n <MultiSelectGroupContext.Provider\n value={{\n name,\n selected: Array.from(new Set(selected)),\n disabled,\n readonly,\n invalid,\n onChange: handleChange,\n }}\n >\n <div\n className={className}\n style={style}\n aria-label={label}\n data-testid=\"SelectGroup\"\n >\n {children}\n </div>\n </MultiSelectGroupContext.Provider>\n )\n}\n","import './index.css'\n\nimport { forwardRef, useCallback } from 'react'\nimport { useClassNames } from '../../../_lib/useClassNames'\n\nexport type CharcoalSwitchProps = {\n onChange?: (checked: boolean) => void\n}\n\ntype InputProps = React.HTMLProps<HTMLInputElement>\n\nexport type SwitchInputProps = CharcoalSwitchProps &\n Omit<InputProps, keyof CharcoalSwitchProps | 'ref'>\n\nconst SwitchInput = forwardRef<\n HTMLInputElement,\n Omit<SwitchInputProps, 'children'>\n>(function SwitchInput({ onChange, className, ...props }, ref) {\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const el = e.currentTarget\n onChange?.(el.checked)\n },\n [onChange]\n )\n\n const classNames = useClassNames('charcoal-switch-input', className)\n return (\n <input\n ref={ref}\n className={classNames}\n type=\"checkbox\"\n onChange={handleChange}\n {...props}\n />\n )\n})\n\nexport default SwitchInput\n","import * as React from 'react'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nexport const SwitchWithLabel = React.memo(function SwitchWithLabel({\n children,\n className,\n disabled,\n id,\n input,\n}: {\n children: React.ReactNode\n className?: string\n disabled?: boolean\n id?: string\n input: React.ReactNode\n}) {\n const classNames = useClassNames('charcoal-switch__label', className)\n return (\n <label htmlFor={id} className={classNames} aria-disabled={disabled}>\n {input}\n <div className=\"charcoal-switch__label_div\">{children}</div>\n </label>\n )\n})\n","import './index.css'\n\nimport { memo, forwardRef } from 'react'\nimport { useId } from '@react-aria/utils'\nimport SwitchInput, { type SwitchInputProps } from './SwitchInput'\nimport { SwitchWithLabel } from './SwitchWithLabel'\n\nexport type SwitchProps = SwitchInputProps\n\nconst Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n { children, onChange, disabled, className, id, ...props },\n ref\n) {\n const htmlId = useId(id)\n const noChildren = children === undefined\n const input = (\n <SwitchInput\n {...props}\n disabled={disabled}\n className={noChildren ? className : undefined}\n id={htmlId}\n onChange={onChange}\n ref={ref}\n role=\"switch\"\n type=\"checkbox\"\n />\n )\n\n if (noChildren) {\n return input\n }\n\n return (\n <SwitchWithLabel\n className={className}\n disabled={disabled}\n id={htmlId}\n input={input}\n >\n {children}\n </SwitchWithLabel>\n )\n})\n\nexport default memo(Switch)\n","import * as React from 'react'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nimport './index.css'\n\nexport interface FieldLabelProps\n extends React.LabelHTMLAttributes<HTMLLabelElement> {\n readonly className?: string\n readonly label: string\n readonly subLabel?: React.ReactNode\n readonly required?: boolean\n // TODO: 翻訳用のContextで注入する\n readonly requiredText?: string\n}\n\nconst FieldLabel = React.forwardRef<HTMLLabelElement, FieldLabelProps>(\n function FieldLabel(\n {\n style,\n className,\n label,\n required = false,\n requiredText,\n subLabel,\n ...labelProps\n },\n ref\n ) {\n const classNames = useClassNames('charcoal-field-label-root', className)\n return (\n <div style={style} className={classNames}>\n <label ref={ref} className=\"charcoal-field-label\" {...labelProps}>\n {label}\n </label>\n {required && (\n <div className=\"charcoal-field-label-required-text\">\n {requiredText}\n </div>\n )}\n <div className=\"charcoal-field-label-sub-label\">\n <span>{subLabel}</span>\n </div>\n </div>\n )\n }\n)\n\nexport default FieldLabel\n","/**\n * 今後ポートされる予定の汎用的な関数群\n */\n\n/**\n * Function used to assert a given code path is unreachable\n */\nexport function unreachable(): never\n/**\n * Function used to assert a given code path is unreachable.\n * Very useful for ensuring switches are exhaustive:\n *\n * ```ts\n * switch (a.type) {\n * case Types.A:\n * case Types.B:\n * break\n * default:\n * unreachable(a) // will cause a build error if there was\n * // a Types.C that was not checked\n * }\n * ```\n *\n * @param value Value to be asserted as unreachable\n */\n// NOTE: Uses separate overloads, _not_ `value?: never`, to not allow `undefined` to be passed\n\nexport function unreachable(value: never): never\nexport function unreachable(value?: never): never {\n throw new Error(\n arguments.length === 0\n ? 'unreachable'\n : `unreachable (${JSON.stringify(value)})`\n )\n}\n\n/**\n * 複数のrefをマージする。\n *\n * forwardRefで受け取ったrefと、コンポーネント内で定義したrefを同じ要素につけたいケースなどで使う\n */\nexport function mergeRefs<T>(...refs: React.Ref<T>[]): React.RefCallback<T> {\n return (value) => {\n for (const ref of refs) {\n if (typeof ref === 'function') {\n ref(value)\n } else if (ref !== null) {\n // TODO: use RefObject\n // https://react.dev/blog/2024/04/25/react-19-upgrade-guide#:~:text=%3D%201%3B-,MutableRef,-is%20now%20deprecated\n ;(ref as React.MutableRefObject<T | null>).current = value\n }\n }\n }\n}\n\nexport function countCodePointsInString(string: string) {\n // [...string] とするとproduction buildで動かなくなる\n // cf. https://twitter.com/f_subal/status/1497214727511891972\n return Array.from(string).length\n}\n","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","import { forwardRef } from 'react'\nimport { useClassNames } from './useClassNames'\n\nexport function createDivComponent(mainClassName: string) {\n return forwardRef<HTMLDivElement, React.ComponentPropsWithRef<'div'>>(\n function DivComponent({ className, ...props }, ref) {\n const classNames = useClassNames(mainClassName, className)\n return <div className={classNames} ref={ref} {...props} />\n }\n )\n}\n","import { createDivComponent } from '../../../_lib/createDivComponent'\nimport './index.css'\n\nexport const AssistiveText = createDivComponent(\n 'charcoal-text-field-assistive-text'\n)\n","import './index.css'\n\nimport { useVisuallyHidden } from '@react-aria/visually-hidden'\nimport { ReactNode, useCallback, useEffect, useRef, useState } from 'react'\nimport * as React from 'react'\nimport FieldLabel from '../FieldLabel'\nimport { countCodePointsInString } from '../../_lib'\nimport { useFocusWithClick } from './useFocusWithClick'\nimport { mergeRefs, useId } from '@react-aria/utils'\nimport { AssistiveText } from './AssistiveText'\nimport { useClassNames } from '../../_lib/useClassNames'\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 <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 {(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","import './index.css'\n\nimport { useVisuallyHidden } from '@react-aria/visually-hidden'\nimport { forwardRef, useCallback, useEffect, useRef, useState } from 'react'\nimport FieldLabel from '../FieldLabel'\nimport { countCodePointsInString, mergeRefs } from '../../_lib'\nimport { useFocusWithClick } from '../TextField/useFocusWithClick'\nimport { useId } from '@react-aria/utils'\nimport { AssistiveText } from '../TextField/AssistiveText'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nexport type TextAreaProps = {\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 autoHeight?: boolean\n\n getCount?: (value: string) => number\n} & Omit<React.ComponentPropsWithoutRef<'textarea'>, 'onChange'>\n\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextAreaInner(\n {\n onChange,\n className,\n value,\n showCount = false,\n showLabel = false,\n label = '',\n requiredText,\n subLabel,\n disabled = false,\n required,\n assistiveText,\n maxLength,\n autoHeight = false,\n rows: initialRows = 4,\n invalid,\n getCount = countCodePointsInString,\n ...props\n },\n forwardRef\n ) {\n const { visuallyHiddenProps } = useVisuallyHidden()\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n const [count, setCount] = useState(getCount(value ?? ''))\n const [rows, setRows] = useState(initialRows)\n\n const syncHeight = useCallback(\n (textarea: HTMLTextAreaElement) => {\n const rows = (`${textarea.value}\\n`.match(/\\n/gu)?.length ?? 0) || 1\n setRows(initialRows <= rows ? rows : initialRows)\n },\n [initialRows]\n )\n\n const nonControlled = value === undefined\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const value = e.target.value\n const count = getCount(value)\n if (maxLength !== undefined && count > maxLength) {\n return\n }\n if (nonControlled) {\n setCount(count)\n }\n if (autoHeight && textareaRef.current !== null) {\n syncHeight(textareaRef.current)\n }\n onChange?.(value)\n },\n [autoHeight, getCount, maxLength, nonControlled, onChange, syncHeight]\n )\n\n useEffect(() => {\n setCount(getCount(value ?? ''))\n }, [getCount, value])\n\n useEffect(() => {\n if (autoHeight && textareaRef.current !== null) {\n syncHeight(textareaRef.current)\n }\n }, [autoHeight, syncHeight])\n\n const containerRef = useRef(null)\n\n useFocusWithClick(containerRef, textareaRef)\n\n const textAreaId = useId(props.id)\n const describedbyId = useId()\n const labelledbyId = useId()\n\n const classNames = useClassNames('charcoal-text-area-root', className)\n\n const showAssistiveText =\n assistiveText != null && assistiveText.length !== 0\n\n return (\n <div className={classNames} aria-disabled={disabled}>\n <FieldLabel\n htmlFor={textAreaId}\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-area-container\"\n aria-disabled={disabled === true ? 'true' : undefined}\n aria-invalid={invalid === true}\n ref={containerRef}\n style={{\n '--charcoal-text-area-rows': `${showCount ? rows + 1 : rows}`,\n }}\n >\n <textarea\n className=\"charcoal-text-area-textarea\"\n aria-describedby={showAssistiveText ? describedbyId : undefined}\n aria-invalid={invalid}\n aria-labelledby={labelledbyId}\n id={textAreaId}\n maxLength={maxLength}\n data-no-bottom-padding={showCount}\n onChange={handleChange}\n ref={mergeRefs(forwardRef, textareaRef)}\n rows={rows}\n value={value}\n disabled={disabled}\n {...props}\n />\n {showCount && (\n <span className=\"charcoal-text-area-counter\">\n {maxLength !== undefined ? `${count}/${maxLength}` : count}\n </span>\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 TextArea\n","import * as React from 'react'\n\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>) {\n const innerRef = React.useRef<T>(null)\n\n React.useEffect(() => {\n if (!ref) return\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\n}\n","import { forwardRef } from 'react'\nimport * as React from 'react'\nimport { useDialog } from '@react-aria/dialog'\nimport { useForwardedRef } from '../../../_lib/useForwardedRef'\nimport { Size, BottomSheet } from '..'\n\nimport './index.css'\nimport { useClassNames } from '../../../_lib/useClassNames'\n\nexport const Dialog = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'> & {\n size: Size\n bottomSheet: BottomSheet\n }\n>(function Dialog({ size, bottomSheet, className, ...props }, forwardRef) {\n const ref = useForwardedRef(forwardRef)\n const { dialogProps } = useDialog(\n {\n role: 'dialog',\n },\n ref\n )\n\n const classNames = useClassNames('charcoal-modal-dialog', className)\n return (\n <div\n className={classNames}\n role={dialogProps.role}\n data-bottom-sheet={bottomSheet}\n tabIndex={dialogProps.tabIndex}\n aria-labelledby={dialogProps['aria-labelledby']}\n onBlur={dialogProps.onBlur}\n data-size={size}\n ref={ref}\n {...props}\n />\n )\n})\n","import * as React from 'react'\n\n/**\n * ModalBackgroundのElementが入ったコンテキスト\n */\nexport const ModalBackgroundContext = React.createContext<HTMLElement | null>(\n null\n)\n","import { useEffect } from 'react'\n\nexport function usePreventScroll(\n element: HTMLElement | null,\n isOpen: boolean,\n useClip = false\n) {\n useEffect(() => {\n if (isOpen && element) {\n const defaultPaddingRight = element.style.paddingRight\n const defaultOverflow = element.style.overflow\n element.style.paddingRight = `${\n window.innerWidth - element.clientWidth\n }px`\n element.style.overflow = useClip ? 'clip' : 'hidden'\n return () => {\n element.style.paddingRight = defaultPaddingRight\n element.style.overflow = defaultOverflow\n }\n }\n }, [element, isOpen, useClip])\n}\n","import * as React from 'react'\nimport {\n AriaModalOverlayProps,\n ModalOverlayAria,\n ariaHideOutside,\n useOverlay,\n useOverlayFocusContain,\n} from '@react-aria/overlays'\nimport { usePreventScroll } from '../DropdownSelector/Popover/usePreventScroll'\n\n/**\n * We want to enable scrolling on the modal background,\n * but `useModalOverlay` (specifically, `useOverlay` within it) detects pointer events on the scrollbar.\n * Therefore, to prevent this issue, we need to override `shouldCloseOnInteractOutside` in `useModalOverlay`.\n */\nexport type CharcoalModalOverlayProps = AriaModalOverlayProps & {\n overflowClip?: boolean\n}\nexport function useCharcoalModalOverlay(\n props: CharcoalModalOverlayProps,\n state: { isOpen: boolean; onClose: () => void },\n ref: React.RefObject<HTMLElement | null>\n): ModalOverlayAria {\n const { overlayProps, underlayProps } = useOverlay(\n {\n ...props,\n isOpen: state.isOpen,\n onClose: state.onClose,\n shouldCloseOnInteractOutside: () => false,\n },\n ref\n )\n\n usePreventScroll(\n typeof document !== 'undefined' ? document.body : null,\n state.isOpen,\n props.overflowClip\n )\n\n useOverlayFocusContain()\n\n React.useEffect(() => {\n if (state.isOpen && ref.current) {\n return ariaHideOutside([ref.current])\n }\n }, [state.isOpen, ref])\n\n return {\n modalProps: overlayProps,\n underlayProps,\n }\n}\n\nfunction isWindowDefined() {\n return typeof window !== 'undefined'\n}\n\nexport function useWindowWidth() {\n const [width, setWidth] = React.useState(\n isWindowDefined() ? window.innerWidth : null\n )\n React.useEffect(() => {\n const handleResize = () => {\n setWidth(window.innerWidth)\n }\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n })\n return width\n}\n","import { useContext, forwardRef, memo } from 'react'\nimport * as React from 'react'\nimport { Overlay } from '@react-aria/overlays'\nimport type { AriaDialogProps } from '@react-types/dialog'\nimport { animated, useTransition, easings } from 'react-spring'\nimport Button, { ButtonProps } from '../Button'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport { useObjectRef } from '@react-aria/utils'\nimport { Dialog } from './Dialog'\nimport { ModalBackgroundContext } from './ModalBackgroundContext'\nimport {\n CharcoalModalOverlayProps,\n useCharcoalModalOverlay,\n useWindowWidth,\n} from './useCustomModalOverlay'\n\nimport './index.css'\n\nexport type BottomSheet = boolean | 'full'\nexport type Size = 'S' | 'M' | 'L'\n\nexport type ModalProps = CharcoalModalOverlayProps &\n AriaDialogProps & {\n children: React.ReactNode\n zIndex?: number\n title: string\n size?: Size\n bottomSheet?: BottomSheet\n isOpen: boolean\n onClose: () => void\n className?: string\n closeButtonAriaLabel?: string\n\n /**\n * https://github.com/adobe/react-spectrum/issues/3787\n * Next.jsで使用する際に発生するエラーの一時的な回避策でdocument.bodyを指定する必要がある\n */\n portalContainer?: HTMLElement\n }\n\nconst DEFAULT_Z_INDEX = 10\n\n/**\n * モーダルコンポーネント。\n *\n * @example アプリケーションルートで `<OverlayProvider>` ないし `<CharcoalProvider>` で囲った上で利用する\n * ```tsx\n * import {\n * OverlayProvider,\n * Modal,\n * ModalHeader,\n * ModalBody,\n * ModalButtons\n * } from '@charcoal-ui/react'\n *\n * <OverlayProvider>\n * <App>\n * <Modal title=\"Title\" isOpen={state.isOpen} onClose={() => state.close()} isDismissable>\n * <ModalHeader />\n * <ModalBody>\n * ...\n * <ModalButtons>...</ModalButtons>\n * </ModalBody>\n * </Modal>\n * </App>\n * </OverlayProvider>\n * ```\n */\nconst Modal = forwardRef<HTMLDivElement, ModalProps>(function ModalInner(\n { children, zIndex = DEFAULT_Z_INDEX, portalContainer, ...props },\n external\n) {\n const {\n title,\n size = 'M',\n bottomSheet = false,\n isDismissable,\n onClose,\n className,\n isOpen = false,\n closeButtonAriaLabel = 'Close',\n } = props\n\n const ref = useObjectRef<HTMLDivElement>(external)\n\n const { modalProps, underlayProps } = useCharcoalModalOverlay(\n {\n ...props,\n isKeyboardDismissDisabled:\n isDismissable === undefined || isDismissable === false,\n },\n {\n onClose,\n isOpen,\n },\n ref\n )\n\n const isMobile = (useWindowWidth() ?? Infinity) < 744\n const transitionEnabled = isMobile && bottomSheet !== false\n const showDismiss = !isMobile || bottomSheet !== true\n\n const transition = useTransition(isOpen, {\n from: {\n transform: 'translateY(100%)',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n overflow: 'hidden',\n },\n enter: {\n transform: 'translateY(0%)',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n },\n update: {\n overflow: 'auto',\n },\n leave: {\n transform: 'translateY(100%)',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n overflow: 'hidden',\n },\n config: transitionEnabled\n ? { duration: 400, easing: easings.easeOutQuart }\n : { duration: 0 },\n })\n\n const bgRef = React.useRef<HTMLDivElement>(null)\n\n const handleClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (e.currentTarget === e.target) {\n onClose()\n }\n },\n [onClose]\n )\n\n return transition(\n ({ backgroundColor, overflow, transform }, item) =>\n item && (\n <Overlay portalContainer={portalContainer}>\n {/* https://github.com/pmndrs/react-spring/issues/1515 */}\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <animated.div\n className=\"charcoal-modal-background\"\n ref={bgRef}\n {...underlayProps}\n style={\n transitionEnabled\n ? { backgroundColor, overflow, zIndex }\n : { zIndex }\n }\n data-bottom-sheet={bottomSheet}\n onClick={handleClick}\n >\n <ModalBackgroundContext.Provider value={bgRef.current}>\n {/* https://github.com/pmndrs/react-spring/issues/1515 */}\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <AnimatedDialog\n ref={ref}\n {...modalProps}\n style={transitionEnabled ? { transform } : {}}\n size={size}\n bottomSheet={bottomSheet}\n className={className}\n >\n <ModalContext.Provider\n value={{\n titleProps: {},\n title,\n close: onClose,\n showDismiss,\n bottomSheet,\n }}\n >\n {children}\n {isDismissable === true && (\n <ModalCloseButton\n aria-label={closeButtonAriaLabel}\n onClick={onClose}\n />\n )}\n </ModalContext.Provider>\n </AnimatedDialog>\n </ModalBackgroundContext.Provider>\n </animated.div>\n </Overlay>\n )\n )\n})\n\nconst AnimatedDialog = animated(Dialog)\n\nexport default memo(Modal)\n\nexport const ModalContext = React.createContext<{\n /**\n * @deprecated\n */\n titleProps: React.HTMLAttributes<HTMLElement>\n title: string\n close?: () => void\n showDismiss: boolean\n bottomSheet: BottomSheet\n}>({\n titleProps: {},\n title: '',\n close: undefined,\n showDismiss: true,\n bottomSheet: false,\n})\n\nexport function ModalCloseButton(props: Omit<IconButtonProps, 'icon'>) {\n return (\n <IconButton\n className=\"charcoal-modal-close-button\"\n size=\"S\"\n icon=\"24/Close\"\n type=\"button\"\n {...props}\n />\n )\n}\n\nexport function ModalDismissButton({ children, ...props }: ButtonProps) {\n const { close, showDismiss } = useContext(ModalContext)\n\n if (!showDismiss) {\n return null\n }\n\n return (\n <Button {...props} onClick={close} fullWidth>\n {children}\n </Button>\n )\n}\n","import { ModalContext } from '.'\nimport { useContext } from 'react'\n\nimport './ModalPlumbing.css'\nimport { createDivComponent } from '../../_lib/createDivComponent'\n\nexport function ModalHeader() {\n const modalCtx = useContext(ModalContext)\n return (\n <div\n className=\"charcoal-modal-header-root\"\n data-bottom-sheet={modalCtx.bottomSheet}\n >\n <div className=\"charcoal-modal-header-title\">{modalCtx.title}</div>\n </div>\n )\n}\n\nexport const ModalAlign = createDivComponent('charcoal-modal-align')\n\nexport const ModalBody = createDivComponent('charcoal-modal-body')\n\nexport const ModalButtons = createDivComponent('charcoal-modal-buttons')\n","import { forwardRef, useImperativeHandle, useRef, memo } from 'react'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nimport './index.css'\n\nexport type LoadingSpinnerProps = {\n readonly size?: number\n readonly padding?: number\n readonly transparent?: boolean\n readonly className?: string\n}\n\nconst LoadingSpinner = forwardRef<HTMLDivElement, LoadingSpinnerProps>(\n function LoadingSpinnerInner(\n { size = 48, padding = 16, transparent = false, ...props },\n ref\n ) {\n const classNames = useClassNames(\n 'charcoal-loading-spinner',\n props.className\n )\n\n return (\n <div\n role=\"progressbar\"\n style={{\n '--charcoal-loading-spinner-size': `${size}px`,\n '--charcoal-loading-spinner-padding': `${padding}px`,\n }}\n data-transparent={transparent}\n className={classNames}\n ref={ref}\n >\n <LoadingSpinnerIcon />\n </div>\n )\n }\n)\n\nexport default memo(LoadingSpinner)\n\ntype Props = {\n once?: boolean\n}\n\nexport interface LoadingSpinnerIconHandler {\n restart(): void\n}\n\nexport const LoadingSpinnerIcon = forwardRef<LoadingSpinnerIconHandler, Props>(\n function LoadingSpinnerIcon({ once = false }, ref) {\n const iconRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(ref, () => ({\n restart: () => {\n if (!iconRef.current) {\n return\n }\n iconRef.current.dataset.resetAnimation = 'true'\n // Force reflow hack!\n void iconRef.current.offsetWidth\n delete iconRef.current.dataset.resetAnimation\n },\n }))\n\n return (\n <div\n role=\"presentation\"\n ref={iconRef}\n data-once={once}\n className=\"charcoal-loading-spinner-icon\"\n />\n )\n }\n)\n","import './index.css'\n\nimport { RefObject, useContext, useRef, ReactNode } from 'react'\nimport { DismissButton, Overlay, usePopover } from '@react-aria/overlays'\nimport { ModalBackgroundContext } from '../../Modal/ModalBackgroundContext'\nimport { usePreventScroll } from './usePreventScroll'\n\nexport type PopoverProps = {\n isOpen: boolean\n onClose: () => void\n children: ReactNode\n triggerRef: RefObject<Element | null>\n popoverRef?: RefObject<HTMLDivElement | null>\n}\n\nconst _empty = () => null\n\n/**\n * 画面の全面に動的に開くことができるコンテナ要素\n * 外の要素をクリックしたり、内部からフォーカスを移動した場合に自動的に閉じる\n *\n * triggerRefの付近に画面内に収まるように表示される\n */\nexport default function Popover(props: PopoverProps) {\n const defaultPopoverRef = useRef<HTMLDivElement>(null)\n const finalPopoverRef =\n props.popoverRef === undefined ? defaultPopoverRef : props.popoverRef\n const { popoverProps, underlayProps } = usePopover(\n {\n triggerRef: props.triggerRef,\n popoverRef: finalPopoverRef,\n containerPadding: 16,\n },\n {\n close: props.onClose,\n isOpen: props.isOpen,\n // never used\n open: _empty,\n setOpen: _empty,\n toggle: _empty,\n }\n )\n\n const modalBackground = useContext(ModalBackgroundContext)\n usePreventScroll(modalBackground, props.isOpen)\n\n if (!props.isOpen) return null\n\n return (\n <Overlay portalContainer={document.body}>\n <div\n {...underlayProps}\n style={{\n position: 'fixed',\n zIndex:\n typeof popoverProps.style?.zIndex === 'number'\n ? popoverProps.style.zIndex - 1\n : 99999,\n inset: 0,\n }}\n />\n {/* @ts-expect-error react types we use does not support react 19 types yet */}\n <div {...popoverProps} ref={finalPopoverRef} className=\"charcoal-popover\">\n <DismissButton onDismiss={() => props.onClose()} />\n <div tabIndex={0} onFocus={props.onClose} />\n {props.children}\n <div tabIndex={0} onFocus={props.onClose} />\n <DismissButton onDismiss={() => props.onClose()} />\n </div>\n </Overlay>\n )\n}\n","import { Key, useEffect, useRef } from 'react'\nimport Popover, { PopoverProps } from './Popover'\n\ntype DropdownPopoverProps = PopoverProps & {\n value?: Key\n}\n\n/**\n * DropdownSelectorの選択肢をを表示するためのPopover\n * triggerRefの要素と同じ幅になる\n * 表示の際にvalueが等しいDropdownMenuItemを中央に表示する\n */\nexport function DropdownPopover({ children, ...props }: DropdownPopoverProps) {\n const ref = useRef<HTMLDivElement>(null)\n useEffect(() => {\n if (props.isOpen && ref.current && props.triggerRef.current) {\n ref.current.style.width = `${props.triggerRef.current.clientWidth}px`\n }\n }, [props.triggerRef, props.isOpen])\n\n useEffect(() => {\n if (props.isOpen) {\n if (props.value !== undefined && props.value !== '') {\n // windowのスクロールを維持したまま選択肢をPopoverの中心に表示する\n const windowScrollY = window.scrollY\n const windowScrollX = window.scrollX\n const selectedElement = document.querySelector(\n `[data-key=\"${props.value.toString()}\"]`\n ) as HTMLElement | undefined\n selectedElement?.focus()\n window.scrollTo(windowScrollX, windowScrollY)\n } else {\n const el = ref.current?.querySelector(\"[role='option']\")\n if (el instanceof HTMLElement) {\n el.focus()\n }\n }\n }\n }, [props.value, props.isOpen])\n\n return (\n <Popover\n isOpen={props.isOpen}\n onClose={props.onClose}\n popoverRef={ref}\n triggerRef={props.triggerRef}\n >\n {children}\n </Popover>\n )\n}\n","import { ReactNode } from 'react'\nimport * as React from 'react'\n\n/**\n * DropdownSelectorの選択中の要素をレンダリングするため、\n * 選択中のMenuItemを再帰的に探索しReactNodeを返す。\n *\n * @param children\n * @param value\n * @param values\n * @returns\n */\nexport function findPreviewRecursive(\n children: ReactNode,\n value: string\n): ReactNode | undefined {\n const childArray = React.Children.toArray(children)\n for (let i = 0; i < childArray.length; i++) {\n const child = childArray[i]\n if (React.isValidElement(child)) {\n if ('value' in child.props) {\n const childValue = (child.props as { value: string }).value\n if (childValue === value && 'children' in child.props) {\n const children = (child.props as { children: ReactNode }).children\n return children\n }\n }\n if ('children' in child.props) {\n const children = findPreviewRecursive(\n (child.props as { children: ReactNode }).children,\n value\n )\n if (children !== undefined) {\n return children\n }\n }\n }\n }\n}\n","import { RefObject, createContext } from 'react'\nimport { DropdownMenuItemProps } from '../DropdownMenuItem'\n\ntype MenuListContextType = {\n root?: RefObject<HTMLUListElement | null>\n value?: string\n propsArray?: DropdownMenuItemProps[]\n setValue: (v: string) => void\n}\n\nexport const MenuListContext = createContext<MenuListContextType>({\n root: undefined,\n value: '',\n propsArray: [],\n setValue: (_v: string) => {\n // empty\n },\n})\n","import * as React from 'react'\nimport MenuItem from '../../MenuItem'\nimport { MenuListChildren } from '..'\nimport MenuItemGroup from '../../MenuItemGroup'\nimport { DropdownMenuItemProps } from '../../DropdownMenuItem'\n\n/**\n * valueというpropsを持つ子要素の値を再起的に探索して配列にする\n *\n * @param children\n * @param value\n * @param values\n * @returns\n */\nexport function getValuesRecursive(children: MenuListChildren) {\n const childArray = React.Children.toArray(children)\n const propsArray: DropdownMenuItemProps[] = []\n for (let i = 0; i < childArray.length; i++) {\n const child = childArray[i]\n if (React.isValidElement(child)) {\n const props = child.props as {\n value?: string\n disabled?: boolean\n children?: React.ReactElement<typeof MenuItem | typeof MenuItemGroup>[]\n }\n if ('value' in props && typeof props.value === 'string') {\n propsArray.push({\n disabled: props.disabled,\n value: props.value,\n })\n }\n if ('children' in props && props.children) {\n propsArray.push(...getValuesRecursive(props.children))\n }\n }\n }\n return propsArray\n}\n","import './index.css'\n\nimport { useMemo, useRef } from 'react'\nimport { MenuListContext } from './MenuListContext'\nimport { getValuesRecursive } from './internals/getValuesRecursive'\nimport MenuItem from '../MenuItem'\nimport { Divider } from '../Divider'\nimport MenuItemGroup from '../MenuItemGroup'\n\ntype MenuListChild = React.ReactElement<\n typeof MenuItem | typeof MenuItemGroup | typeof Divider\n>\n\nexport type MenuListChildren = MenuListChild | MenuListChild[]\n\nexport type MenuListProps = {\n children: MenuListChildren\n value?: string\n onChange?: (v: string) => void\n}\n\nexport default function MenuList(props: MenuListProps) {\n const root = useRef(null)\n const propsArray = useMemo(\n () => getValuesRecursive(props.children),\n [props.children]\n )\n\n return (\n <ul className=\"charcoal-menu-list\" ref={root}>\n <MenuListContext.Provider\n value={{\n value: props.value ?? '',\n root,\n propsArray,\n setValue: (v) => {\n props.onChange?.(v)\n },\n }}\n >\n {props.children}\n </MenuListContext.Provider>\n </ul>\n )\n}\n","import './index.css'\n\nimport React, { ReactNode, useState, useRef, useMemo, useCallback } from 'react'\nimport Icon from '../Icon'\nimport FieldLabel from '../FieldLabel'\nimport { DropdownPopover } from './DropdownPopover'\nimport { findPreviewRecursive } from './utils/findPreviewRecursive'\nimport MenuList, { MenuListChildren } from './MenuList'\nimport { getValuesRecursive } from './MenuList/internals/getValuesRecursive'\nimport { useVisuallyHidden } from '@react-aria/visually-hidden'\nimport { AssistiveText } from '../TextField/AssistiveText'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport { useId } from '@react-aria/utils'\n\nexport type DropdownSelectorProps = {\n label: string\n value: string\n disabled?: boolean\n placeholder?: string\n showLabel?: boolean\n invalid?: boolean\n assistiveText?: string\n required?: boolean\n requiredText?: string\n subLabel?: ReactNode\n /**\n * the name of hidden `<select />`\n */\n name?: string\n children: MenuListChildren\n onChange: (value: string) => void\n className?: string\n}\n\nexport default function DropdownSelector({\n onChange,\n showLabel = false,\n ...props\n}: DropdownSelectorProps) {\n const triggerRef = useRef<HTMLButtonElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n const preview = findPreviewRecursive(props.children, props.value)\n\n const isPlaceholder = useMemo(\n () => props.placeholder !== undefined && preview === undefined,\n [preview, props.placeholder]\n )\n\n const propsArray = getValuesRecursive(props.children)\n\n const { visuallyHiddenProps } = useVisuallyHidden()\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLSelectElement>) => {\n onChange(e.target.value)\n },\n [onChange]\n )\n\n const labelId = useId()\n const describedbyId = useId()\n\n const classNames = useClassNames(\n 'charcoal-dropdown-selector-root',\n props.className\n )\n\n return (\n <div className={classNames} aria-disabled={props.disabled}>\n <FieldLabel\n id={labelId}\n label={props.label}\n required={props.required}\n requiredText={props.requiredText}\n subLabel={props.subLabel}\n {...(!showLabel ? visuallyHiddenProps : {})}\n />\n <div {...visuallyHiddenProps} aria-hidden=\"true\">\n <select\n name={props.name}\n value={props.value}\n onChange={handleChange}\n tabIndex={-1}\n >\n {propsArray.map((itemProps) => {\n return (\n <option\n key={itemProps.value}\n value={itemProps.value}\n disabled={itemProps.disabled}\n >\n {itemProps.value}\n </option>\n )\n })}\n </select>\n </div>\n <button\n className=\"charcoal-dropdown-selector-button\"\n aria-labelledby={labelId}\n aria-invalid={props.invalid}\n aria-describedby={\n props.assistiveText !== undefined ? describedbyId : undefined\n }\n disabled={props.disabled}\n onClick={() => {\n if (props.disabled === true) return\n setIsOpen(true)\n }}\n ref={triggerRef}\n type=\"button\"\n data-active={isOpen}\n >\n <span\n className=\"charcoal-ui-dropdown-selector-text\"\n data-placeholder={isPlaceholder}\n >\n {isPlaceholder ? props.placeholder : preview}\n </span>\n <Icon className=\"charcoal-ui-dropdown-selector-icon\" name=\"16/Menu\" />\n </button>\n {isOpen && (\n <DropdownPopover\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n triggerRef={triggerRef}\n value={props.value}\n >\n <MenuList\n value={props.value}\n onChange={(v) => {\n onChange(v)\n setIsOpen(false)\n }}\n >\n {props.children}\n </MenuList>\n </DropdownPopover>\n )}\n {props.assistiveText !== undefined && (\n <AssistiveText data-invalid={props.invalid === true} id={describedbyId}>\n {props.assistiveText}\n </AssistiveText>\n )}\n </div>\n )\n}\n","import './index.css'\n\nimport { ForwardedRef, forwardRef, ReactNode, useMemo, type JSX } from 'react'\nimport { useClassNames } from '../../../_lib/useClassNames'\n\nexport type CustomJSXElement =\n | keyof JSX.IntrinsicElements\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | React.JSXElementConstructor<any>\n\nexport type ListItemProps<T extends React.ElementType = 'li'> = {\n children?: ReactNode\n as?: T\n} & Omit<React.ComponentPropsWithRef<T>, 'children' | 'as'>\n\nconst ListItem = forwardRef(function ListItem<T extends React.ElementType>(\n { as, className, ...props }: ListItemProps<T>,\n ref: ForwardedRef<HTMLLIElement>\n) {\n const Component = useMemo(() => as ?? 'li', [as])\n const classNames = useClassNames('charcoal-list-item', className)\n return <Component className={classNames} ref={ref} {...props}></Component>\n}) as <T extends React.ElementType = 'li'>(p: ListItemProps<T>) => JSX.Element\n\nexport default ListItem\n","/**\n * elementをparentのスクロールビューに入るようにスクロールする\n * parentがスクロール可能でなければelementが見えるようにスクロールする\n *\n * @param element\n * @param parent\n */\nexport function handleFocusByKeyBoard(element: Element, parent: HTMLElement) {\n const isScrollable = parent.scrollHeight > parent.clientHeight\n if (isScrollable) {\n const rect = element.getBoundingClientRect()\n const parentRect = parent.getBoundingClientRect()\n if (rect.bottom > parentRect.bottom) {\n parent.scrollTo({\n top: parent.scrollTop + rect.bottom - parentRect.bottom,\n })\n } else if (rect.top < parentRect.top) {\n parent.scrollTo({\n top: parent.scrollTop - (parentRect.top - rect.top),\n })\n }\n } else {\n scrollIfNeeded(element)\n }\n}\n\n/**\n * 要素が画面外にあればスクロールする、画面内にあればスクロールしない\n * @param element\n */\nfunction scrollIfNeeded(element: Element) {\n const elementRect = element.getBoundingClientRect()\n const isVisible =\n elementRect.top >= 0 &&\n elementRect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight)\n\n if (!isVisible) {\n element.scrollIntoView({\n block: 'nearest',\n })\n }\n}\n","import { useCallback, useContext } from 'react'\nimport { handleFocusByKeyBoard } from './handleFocusByKeyBoard'\nimport { MenuListContext } from '../../MenuList/MenuListContext'\n\n/**\n * MenuListContextに含まれるvalue間で上下キーでfocusを移動できる\n * EnterキーでMenuListContextに値を設定する\n * 上記2つの処理を含む処理(handleKeyDown)と、Enterキーを押下した処理(setContextValue)を配列で返す\n * @param value\n * @returns\n */\nexport function useMenuItemHandleKeyDown(\n value?: string\n): [(e: React.KeyboardEvent<HTMLElement>) => void, () => void] {\n const { setValue, root, propsArray } = useContext(MenuListContext)\n const setContextValue = useCallback(() => {\n if (value !== undefined) setValue(value)\n }, [value, setValue])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n setContextValue()\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n const isForward = e.key === 'ArrowDown'\n // prevent scroll\n e.preventDefault()\n if (!propsArray || value === undefined) return\n const values = propsArray\n .map((props) => props.value)\n .filter((v) => v) as string[]\n let index = values.indexOf(value)\n if (index === -1) return\n\n for (let n = 0; n < values.length; n++) {\n const focusValue = isForward\n ? // prev or last\n index + 1 >= values.length\n ? values[0]\n : values[index + 1]\n : // next or first\n index - 1 < 0\n ? values[values.length - 1]\n : values[index - 1]\n const next = root?.current?.querySelector(\n `[data-key='${focusValue}']`\n )\n\n if (next instanceof HTMLElement) {\n if (next.ariaDisabled === 'true') {\n index += isForward ? 1 : -1\n continue\n }\n next.focus({ preventScroll: true })\n if (root?.current?.parentElement) {\n handleFocusByKeyBoard(next, root.current.parentElement)\n }\n break\n }\n }\n }\n },\n [setContextValue, propsArray, value, root]\n )\n return [handleKeyDown, setContextValue]\n}\n","import { ForwardedRef, forwardRef } from 'react'\nimport ListItem, { ListItemProps } from '../ListItem'\nimport { useMenuItemHandleKeyDown } from './internals/useMenuItemHandleKeyDown'\n\nexport type MenuItemProps<T extends React.ElementType = 'li'> = {\n value?: string\n disabled?: boolean\n} & ListItemProps<T>\n\n/**\n * 上下キーでフォーカス移動でき、エンターキーで選択できるリストの項目\n * 基本的に`<MenuList>`, `<MenuGroup>`と合わせて使用する\n */\nconst MenuItem = forwardRef(function MenuItem<\n T extends React.ElementType = 'li'\n>(\n { className, value, disabled, ...props }: MenuItemProps<T>,\n ref: ForwardedRef<HTMLLIElement>\n) {\n const [handleKeyDown, setContextValue] = useMenuItemHandleKeyDown(value)\n return (\n <ListItem\n {...props}\n ref={ref}\n data-key={value}\n onKeyDown={handleKeyDown}\n onClick={disabled === true ? undefined : setContextValue}\n tabIndex={-1}\n aria-disabled={disabled}\n role=\"option\"\n >\n {props.children}\n </ListItem>\n )\n})\nexport default MenuItem\n","import './index.css'\n\nimport MenuItem, { MenuItemProps } from '../MenuItem'\nimport { MenuListContext } from '../MenuList/MenuListContext'\nimport { useContext } from 'react'\nimport Icon from '../../Icon'\n\nexport type DropdownMenuItemProps = Omit<MenuItemProps, 'as'>\n\n/**\n * DropdownSelectorの選択肢として使うMenuItem\n */\nexport default function DropdownMenuItem(props: DropdownMenuItemProps) {\n const { value: ctxValue } = useContext(MenuListContext)\n const isSelected = props.value === ctxValue\n const { children, ...rest } = props\n\n return (\n <MenuItem {...rest} aria-selected={isSelected}>\n {isSelected && (\n <Icon\n className=\"charcoal-dropdown-selector-menu-item-icon\"\n name=\"16/Check\"\n />\n )}\n <span\n className=\"charcoal-dropdown-selector-menu-item\"\n data-selected={isSelected}\n >\n {props.children}\n </span>\n </MenuItem>\n )\n}\n","import './index.css'\n\nimport MenuItem from '../MenuItem'\nimport { Divider } from '../Divider'\n\ntype MenuItemGroupChild = React.ReactElement<typeof MenuItem | typeof Divider>\n\nexport type MenuItemGroupProps = {\n text: string\n children: MenuItemGroupChild | MenuItemGroupChild[]\n}\n\nexport default function MenuItemGroup(props: MenuItemGroupProps) {\n return (\n <li className=\"charcoal-menu-item-group\" role=\"presentation\">\n <span>{props.text}</span>\n <ul role=\"group\">{props.children}</ul>\n </li>\n )\n}\n","import { createContext, useContext } from 'react'\nimport * as React from 'react'\nimport type { RadioGroupState } from '@react-stately/radio'\n\nconst RadioContext = createContext<RadioGroupState | null>(null)\n\ntype RadioProviderProps = React.PropsWithChildren<{\n value: RadioGroupState\n}>\nexport const RadioProvider: React.FC<RadioProviderProps> = ({\n value,\n children,\n}) => {\n return <RadioContext.Provider value={value}>{children}</RadioContext.Provider>\n}\nexport const useRadioContext = () => {\n const state = useContext(RadioContext)\n\n if (state === null)\n throw new Error('`<RadioProvider>` is not likely mounted.')\n\n return state\n}\n","import { ReactNode, forwardRef, memo, useMemo, useRef } from 'react'\nimport * as React from 'react'\nimport { useRadioGroupState } from '@react-stately/radio'\nimport {\n AriaRadioGroupProps,\n AriaRadioProps,\n useRadio,\n useRadioGroup,\n} from '@react-aria/radio'\nimport { RadioProvider, useRadioContext } from './RadioGroupContext'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nimport './index.css'\n\ntype SegmentedControlItem = {\n label: React.ReactNode\n value: string\n disabled?: boolean\n}\n\nexport type SegmentedControlProps = {\n readonly id?: string\n readonly name?: string\n readonly disabled?: boolean\n readonly readonly?: boolean\n readonly required?: boolean\n readonly className?: string\n\n readonly value?: string\n readonly defaultValue?: string\n\n readonly data: string[] | SegmentedControlItem[]\n\n readonly onChange?: (value: string) => void\n}\n\nconst SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>(\n function SegmentedControlInner(props, ref) {\n const className = useClassNames(\n 'charcoal-segmented-control',\n props.className\n )\n\n const ariaRadioGroupProps = useMemo<AriaRadioGroupProps>(\n () => ({\n ...props,\n isDisabled: props.disabled,\n isReadOnly: props.readonly,\n isRequired: props.required,\n 'aria-label': props.name,\n }),\n [props]\n )\n const state = useRadioGroupState(ariaRadioGroupProps)\n const { radioGroupProps } = useRadioGroup(ariaRadioGroupProps, state)\n const segmentedControlItems = useMemo<SegmentedControlItem[]>(() => {\n return props.data.map((d) =>\n typeof d === 'string' ? { value: d, label: d } : d\n )\n }, [props.data])\n\n return (\n <div ref={ref} {...radioGroupProps} className={className}>\n <RadioProvider value={state}>\n {segmentedControlItems.map((item) => (\n <Segmented\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n >\n {item.label}\n </Segmented>\n ))}\n </RadioProvider>\n </div>\n )\n }\n)\n\nexport default memo(SegmentedControl)\n\ntype RadioProps = {\n value: string\n disabled?: boolean\n children?: ReactNode\n}\n\nconst Segmented = (props: RadioProps) => {\n const state = useRadioContext()\n const ref = useRef<HTMLInputElement>(null)\n const ariaRadioProps = useMemo<AriaRadioProps>(\n () => ({\n value: props.value,\n isDisabled: props.disabled,\n children: props.children,\n }),\n [props]\n )\n\n const { inputProps, isDisabled, isSelected } = useRadio(\n ariaRadioProps,\n state,\n ref\n )\n\n return (\n <label\n className=\"charcoal-segmented-control-radio__label\"\n aria-disabled={isDisabled || state.isReadOnly}\n data-checked={isSelected}\n >\n <input\n className=\"charcoal-segmented-control-radio__input\"\n {...inputProps}\n ref={ref}\n />\n {props.children}\n </label>\n )\n}\n","import './index.css'\n\nimport { forwardRef, memo, useCallback } from 'react'\nimport { useClassNames } from '../../../_lib/useClassNames'\n\ntype CharcoalCheckboxInputProps = {\n invalid?: boolean\n onChange?: (checked: boolean) => void\n rounded?: boolean\n}\n\ntype InputProps = React.HTMLProps<HTMLInputElement>\n\nexport type CheckboxInputProps = CharcoalCheckboxInputProps &\n Omit<InputProps, keyof CharcoalCheckboxInputProps | 'ref'>\n\nconst CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n function CheckboxInput(\n { onChange, checked, invalid, className, rounded, ...props },\n ref\n ) {\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const el = e.currentTarget\n onChange?.(el.checked)\n },\n [onChange]\n )\n\n const classNames = useClassNames('charcoal-checkbox-input', className)\n\n return (\n <input\n className={classNames}\n ref={ref}\n type=\"checkbox\"\n onChange={handleChange}\n aria-invalid={invalid}\n checked={checked}\n data-rounded={rounded}\n {...props}\n />\n )\n }\n)\n\nexport default memo(CheckboxInput)\n","import React from 'react'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nexport const CheckboxWithLabel = React.memo(function CheckboxWithLabel({\n className,\n children,\n input,\n id,\n disabled,\n}: {\n children: React.ReactNode\n input: React.ReactNode\n disabled?: boolean\n className?: string\n id?: string\n}) {\n const classNames = useClassNames('charcoal-checkbox__label', className)\n return (\n <label htmlFor={id} aria-disabled={disabled} className={classNames}>\n {input}\n <div className=\"charcoal-checkbox__label_div\">{children}</div>\n </label>\n )\n})\n","import './index.css'\n\nimport { forwardRef, memo } from 'react'\nimport { useId } from '@react-aria/utils'\nimport CheckboxInput, { CheckboxInputProps } from './CheckboxInput'\nimport { CheckboxWithLabel } from './CheckboxWithLabel'\n\nexport type CheckboxProps = CheckboxInputProps\n\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxInputProps>(\n function Checkbox({ disabled, className, id, children, ...props }, ref) {\n const htmlId = useId(id)\n const noChildren = children === undefined\n const input = (\n <CheckboxInput\n {...props}\n className={noChildren ? className : undefined}\n disabled={disabled}\n id={htmlId}\n ref={ref}\n />\n )\n if (noChildren) {\n return input\n }\n return (\n <CheckboxWithLabel\n className={className}\n disabled={disabled}\n id={htmlId}\n input={input}\n >\n {children}\n </CheckboxWithLabel>\n )\n }\n)\n\nexport default memo(Checkbox)\n","import React, { forwardRef, memo, useMemo, ForwardedRef, type JSX } from 'react'\nimport { useObjectRef } from '@react-aria/utils'\nimport Icon from '../Icon'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nimport './index.css'\n\nconst sizeMap = {\n S: 32,\n M: 40,\n}\n\nexport type TagItemProps<T extends React.ElementType = 'button'> = {\n label: string\n translatedLabel?: string\n bgColor?: string\n bgImage?: string\n status?: 'default' | 'active' | 'inactive'\n size?: keyof typeof sizeMap\n /**\n * The component used for root element.\n * @type T extends React.ElementType = 'button'\n */\n component?: T\n} & Omit<React.ComponentPropsWithRef<T>, 'children'>\n\nconst TagItem = forwardRef<HTMLButtonElement, TagItemProps>(\n function TagItemInner<T extends React.ElementType>(\n {\n component,\n label,\n translatedLabel,\n bgColor = '#7ACCB1',\n bgImage,\n size = 'M',\n status = 'default',\n ...props\n }: TagItemProps<T>,\n _ref: ForwardedRef<HTMLButtonElement>\n ) {\n const ref = useObjectRef(_ref)\n\n const hasTranslatedLabel =\n translatedLabel !== undefined && translatedLabel.length > 0\n const className = useClassNames(\n 'charcoal-tag-item',\n 'charcoal-tag-item__bg',\n props.className\n )\n\n const bgVariant =\n bgImage !== undefined && bgImage.length > 0 ? 'image' : 'color'\n const bg = bgVariant === 'color' ? bgColor : `url(${bgImage ?? ''})`\n\n const Component = useMemo(() => component ?? 'button', [component])\n\n return (\n <Component\n {...props}\n ref={ref}\n className={className}\n data-state={status}\n data-bg-variant={bgVariant}\n data-size={hasTranslatedLabel ? 'M' : size}\n style={{ '--charcoal-tag-item-bg': bg }}\n >\n <div\n className=\"charcoal-tag-item__label\"\n data-has-translate={hasTranslatedLabel}\n >\n {hasTranslatedLabel && (\n <span className=\"charcoal-tag-item__label__translated\">\n {translatedLabel}\n </span>\n )}\n <span\n className=\"charcoal-tag-item__label__text\"\n data-has-translate={hasTranslatedLabel}\n >\n {label}\n </span>\n </div>\n {status === 'active' && <Icon name=\"16/Remove\" />}\n </Component>\n )\n }\n) as <T extends React.ElementType = 'button'>(p: TagItemProps<T>) => JSX.Element\n\nexport default memo(TagItem)\n","import { ReactNode } from 'react'\nimport Icon from '../Icon'\n\nimport './index.css'\nimport { useClassNames } from '../../_lib/useClassNames'\n\nexport type HintTextContext = 'page' | 'section'\nexport interface HintTextProps {\n children: ReactNode\n context?: HintTextContext\n className?: string\n}\n\nexport default function HintText({\n children,\n context = 'section',\n className,\n}: HintTextProps) {\n const classNames = useClassNames('charcoal-hint-text', className)\n\n return (\n <div className={classNames} data-context={context}>\n <div className=\"charcoal-hint-text-icon\">\n <Icon name=\"16/Info\" />\n </div>\n <p className=\"charcoal-hint-text-message\">{children}</p>\n </div>\n )\n}\n"],"mappings":"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"}
|