@commercetools/nimbus 0.0.0-canary-20250826164027 → 0.0.0-canary-20250828113330
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/chunks/{alert-BxQlH4k1.es.js → alert-BSP6Q3el.es.js} +2 -2
- package/dist/chunks/{alert-BxQlH4k1.es.js.map → alert-BSP6Q3el.es.js.map} +1 -1
- package/dist/chunks/{alert-BZUgI30X.cjs.js → alert-C88EdygK.cjs.js} +2 -2
- package/dist/chunks/{alert-BZUgI30X.cjs.js.map → alert-C88EdygK.cjs.js.map} +1 -1
- package/dist/chunks/button-B9biGn83.es.js +59 -0
- package/dist/chunks/{button-B4HX0fM_.es.js.map → button-B9biGn83.es.js.map} +1 -1
- package/dist/chunks/button-BCrCWnMd.cjs.js +2 -0
- package/dist/chunks/{button-qv44IWcR.cjs.js.map → button-BCrCWnMd.cjs.js.map} +1 -1
- package/dist/chunks/{calendar-DABzfMco.es.js → calendar-B9IgFF4u.es.js} +2 -2
- package/dist/chunks/{calendar-DABzfMco.es.js.map → calendar-B9IgFF4u.es.js.map} +1 -1
- package/dist/chunks/{calendar-v3st4EyG.cjs.js → calendar-BU_04xoY.cjs.js} +2 -2
- package/dist/chunks/{calendar-v3st4EyG.cjs.js.map → calendar-BU_04xoY.cjs.js.map} +1 -1
- package/dist/chunks/{combobox-Ah0GQqSW.cjs.js → combobox-BvfBQq9k.cjs.js} +2 -2
- package/dist/chunks/{combobox-Ah0GQqSW.cjs.js.map → combobox-BvfBQq9k.cjs.js.map} +1 -1
- package/dist/chunks/{combobox-D_IGHRck.es.js → combobox-ClhyR7hp.es.js} +3 -3
- package/dist/chunks/{combobox-D_IGHRck.es.js.map → combobox-ClhyR7hp.es.js.map} +1 -1
- package/dist/chunks/data-table-BZdQfaxu.cjs.js +2 -0
- package/dist/chunks/data-table-BZdQfaxu.cjs.js.map +1 -0
- package/dist/chunks/{data-table-BVhKXSXO.es.js → data-table-WHEWdh5f.es.js} +1720 -1580
- package/dist/chunks/data-table-WHEWdh5f.es.js.map +1 -0
- package/dist/chunks/{date-picker-Bpi1PgR2.es.js → date-picker--1p1znhu.es.js} +3 -3
- package/dist/chunks/{date-picker-Bpi1PgR2.es.js.map → date-picker--1p1znhu.es.js.map} +1 -1
- package/dist/chunks/{date-picker-DNROhe7B.cjs.js → date-picker-BAf5yyGT.cjs.js} +2 -2
- package/dist/chunks/{date-picker-DNROhe7B.cjs.js.map → date-picker-BAf5yyGT.cjs.js.map} +1 -1
- package/dist/chunks/{date-range-picker-CXKG84tw.es.js → date-range-picker-J-FqEMGo.es.js} +3 -3
- package/dist/chunks/{date-range-picker-CXKG84tw.es.js.map → date-range-picker-J-FqEMGo.es.js.map} +1 -1
- package/dist/chunks/{date-range-picker-tyjYdQx1.cjs.js → date-range-picker-zxwhdmlC.cjs.js} +2 -2
- package/dist/chunks/{date-range-picker-tyjYdQx1.cjs.js.map → date-range-picker-zxwhdmlC.cjs.js.map} +1 -1
- package/dist/chunks/{form-field-JpzG70WX.cjs.js → form-field-B9PncHWr.cjs.js} +2 -2
- package/dist/chunks/{form-field-JpzG70WX.cjs.js.map → form-field-B9PncHWr.cjs.js.map} +1 -1
- package/dist/chunks/{form-field-DePRnFqm.es.js → form-field-wK_anzOw.es.js} +2 -2
- package/dist/chunks/{form-field-DePRnFqm.es.js.map → form-field-wK_anzOw.es.js.map} +1 -1
- package/dist/chunks/{icon-button-CCrfnUUB.cjs.js → icon-button-BPQdpTPZ.cjs.js} +2 -2
- package/dist/chunks/{icon-button-CCrfnUUB.cjs.js.map → icon-button-BPQdpTPZ.cjs.js.map} +1 -1
- package/dist/chunks/{icon-button-O_dSWgZr.es.js → icon-button-a3WVC7IH.es.js} +2 -2
- package/dist/chunks/{icon-button-O_dSWgZr.es.js.map → icon-button-a3WVC7IH.es.js.map} +1 -1
- package/dist/chunks/{password-input-BtbZYHE8.es.js → password-input-BWFYKcBT.es.js} +2 -2
- package/dist/chunks/{password-input-BtbZYHE8.es.js.map → password-input-BWFYKcBT.es.js.map} +1 -1
- package/dist/chunks/{password-input-CGsQktks.cjs.js → password-input-D8R9Y9Ro.cjs.js} +2 -2
- package/dist/chunks/{password-input-CGsQktks.cjs.js.map → password-input-D8R9Y9Ro.cjs.js.map} +1 -1
- package/dist/chunks/{range-calendar-BNAIdxfK.es.js → range-calendar-B7-Z0ksl.es.js} +2 -2
- package/dist/chunks/{range-calendar-BNAIdxfK.es.js.map → range-calendar-B7-Z0ksl.es.js.map} +1 -1
- package/dist/chunks/{range-calendar-BW4gqU35.cjs.js → range-calendar-CswayeNh.cjs.js} +2 -2
- package/dist/chunks/{range-calendar-BW4gqU35.cjs.js.map → range-calendar-CswayeNh.cjs.js.map} +1 -1
- package/dist/chunks/{rich-text-input-D3xrDvLR.es.js → rich-text-input-Bty0WhBM.es.js} +2 -2
- package/dist/chunks/{rich-text-input-D3xrDvLR.es.js.map → rich-text-input-Bty0WhBM.es.js.map} +1 -1
- package/dist/chunks/{rich-text-input-iDEygf74.cjs.js → rich-text-input-Cvcywluc.cjs.js} +2 -2
- package/dist/chunks/{rich-text-input-iDEygf74.cjs.js.map → rich-text-input-Cvcywluc.cjs.js.map} +1 -1
- package/dist/chunks/{select-wby2GRxc.es.js → select-BwGMCDw8.es.js} +2 -2
- package/dist/chunks/{select-wby2GRxc.es.js.map → select-BwGMCDw8.es.js.map} +1 -1
- package/dist/chunks/{select-DihySN1w.cjs.js → select-DnmavfXh.cjs.js} +2 -2
- package/dist/chunks/{select-DihySN1w.cjs.js.map → select-DnmavfXh.cjs.js.map} +1 -1
- package/dist/chunks/{split-button-RydlGh27.cjs.js → split-button-BMpznhkI.cjs.js} +2 -2
- package/dist/chunks/{split-button-RydlGh27.cjs.js.map → split-button-BMpznhkI.cjs.js.map} +1 -1
- package/dist/chunks/{split-button-CcVa5yVH.es.js → split-button-a7my5Dc8.es.js} +3 -3
- package/dist/chunks/{split-button-CcVa5yVH.es.js.map → split-button-a7my5Dc8.es.js.map} +1 -1
- package/dist/chunks/{tag-group-Cwcr_VDp.cjs.js → tag-group-3YoW3lJr.cjs.js} +2 -2
- package/dist/chunks/{tag-group-Cwcr_VDp.cjs.js.map → tag-group-3YoW3lJr.cjs.js.map} +1 -1
- package/dist/chunks/{tag-group-DQ0jVbpR.es.js → tag-group-BBldLRQt.es.js} +2 -2
- package/dist/chunks/{tag-group-DQ0jVbpR.es.js.map → tag-group-BBldLRQt.es.js.map} +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.es.js +1 -1
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.es.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.es.js +1 -1
- package/dist/components/combobox.cjs +1 -1
- package/dist/components/combobox.es.js +1 -1
- package/dist/components/components.cjs +1 -1
- package/dist/components/components.es.js +15 -15
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.es.js +1 -1
- package/dist/components/date-picker.cjs +1 -1
- package/dist/components/date-picker.es.js +1 -1
- package/dist/components/date-range-picker.cjs +1 -1
- package/dist/components/date-range-picker.es.js +1 -1
- package/dist/components/form-field.cjs +1 -1
- package/dist/components/form-field.es.js +1 -1
- package/dist/components/icon-button.cjs +1 -1
- package/dist/components/icon-button.es.js +1 -1
- package/dist/components/password-input.cjs +1 -1
- package/dist/components/password-input.es.js +1 -1
- package/dist/components/range-calendar.cjs +1 -1
- package/dist/components/range-calendar.es.js +1 -1
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/rich-text-input.es.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.es.js +1 -1
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/split-button.es.js +1 -1
- package/dist/components/tag-group.cjs +1 -1
- package/dist/components/tag-group.es.js +1 -1
- package/dist/components.d.ts +83 -37
- package/dist/data-table.d.ts +85 -37
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +86 -40
- package/dist/index.es.js +15 -15
- package/package.json +5 -5
- package/dist/chunks/button-B4HX0fM_.es.js +0 -57
- package/dist/chunks/button-qv44IWcR.cjs.js +0 -2
- package/dist/chunks/data-table-BVhKXSXO.es.js.map +0 -1
- package/dist/chunks/data-table-_iKOsqf2.cjs.js +0 -2
- package/dist/chunks/data-table-_iKOsqf2.cjs.js.map +0 -1
package/dist/chunks/{rich-text-input-iDEygf74.cjs.js.map → rich-text-input-Cvcywluc.cjs.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-input-iDEygf74.cjs.js","sources":["../../src/components/rich-text-input/rich-text-input.recipe.tsx","../../src/components/rich-text-input/rich-text-input.slots.tsx","../../../../node_modules/.pnpm/slate-history@0.113.1_slate@0.75.0/node_modules/slate-history/dist/index.es.js","../../src/components/rich-text-input/components/rich-text-editor.tsx","../../src/components/rich-text-input/components/formatting-menu.tsx","../../src/components/rich-text-input/components/rich-text-toolbar.tsx","../../src/components/rich-text-input/rich-text-input.tsx"],"sourcesContent":["import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const richTextInputRecipe = defineSlotRecipe({\n slots: [\"root\", \"toolbar\", \"editable\"],\n className: \"nimbus-rich-text-input\",\n base: {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n width: \"full\",\n borderRadius: \"200\",\n borderWidth: \"{sizes.25}\",\n colorPalette: \"slate\",\n borderColor: \"colorPalette.7\",\n backgroundColor: \"colorPalette.contrast\",\n\n // Invalid state styling\n \"&[data-invalid='true']\": {\n borderWidth: \"{sizes.50}\",\n borderColor: \"critical.7\",\n },\n },\n toolbar: {\n boxShadow: \"1\",\n\n // Disabled state styling for toolbar\n \"[data-disabled='true'] &\": {\n opacity: \"0.5\",\n },\n },\n editable: {\n padding: \"400\",\n minHeight: \"inherit\",\n outline: \"none\",\n\n // Disabled state styling for editable\n \"[data-disabled='true'] &\": {\n cursor: \"not-allowed\",\n opacity: \"0.5\",\n },\n\n // Styling for user-facing editor text\n \"& p\": {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n \"& h1\": {\n textStyle: \"2xl\",\n fontWeight: \"500\",\n },\n \"& h2\": {\n textStyle: \"xl\",\n fontWeight: \"500\",\n },\n \"& h3\": {\n textStyle: \"lg\",\n fontWeight: \"500\",\n },\n \"& h4\": {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n \"& h5\": {\n textStyle: \"xs\",\n fontWeight: \"500\",\n },\n \"& blockquote\": {\n textStyle: \"md\",\n fontWeight: \"400\",\n borderLeftWidth: \"{sizes.100}\",\n paddingLeft: \"400\",\n },\n \"& ul\": {\n paddingLeft: \"600\",\n listStyleType: \"disc\",\n },\n \"& ol\": {\n paddingLeft: \"600\",\n listStyleType: \"decimal\",\n },\n \"& code\": {\n padding: \"100\",\n fontFamily: \"mono\",\n },\n \"& pre\": {\n padding: \"300\",\n borderRadius: \"200\",\n overflow: \"auto\",\n \"& code\": {\n padding: \"0\",\n },\n },\n \"& a\": {\n color: \"primary.11\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n _hover: {\n textDecoration: \"none\",\n },\n },\n \"& strong\": {\n fontWeight: \"700\",\n },\n \"& em\": {\n fontStyle: \"italic\",\n },\n \"& u\": {\n textDecoration: \"underline\",\n },\n \"& del\": {\n textDecoration: \"line-through\",\n },\n \"& sup\": {\n fontSize: \"75%\",\n verticalAlign: \"super\",\n lineHeight: \"0\",\n },\n \"& sub\": {\n fontSize: \"75%\",\n verticalAlign: \"sub\",\n lineHeight: \"0\",\n },\n },\n },\n variants: {},\n});\n","import {\n type HTMLChakraProps,\n type RecipeVariantProps,\n type UnstyledProp,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport { richTextInputRecipe } from \"./rich-text-input.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: richTextInputRecipe,\n});\n\n// Root slot\nexport type RichTextInputRootSlotProps = HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof richTextInputRecipe> & UnstyledProp\n>;\n\nexport const RichTextInputRootSlot = withProvider<\n HTMLDivElement,\n RichTextInputRootSlotProps\n>(\"div\", \"root\");\n\n// Toolbar slot\nexport type RichTextInputToolbarSlotProps = HTMLChakraProps<\"div\">;\n\nexport const RichTextInputToolbarSlot = withContext<\n HTMLDivElement,\n RichTextInputToolbarSlotProps\n>(\"div\", \"toolbar\");\n\n// Editable slot\nexport type RichTextInputEditableSlotProps = HTMLChakraProps<\"div\">;\nexport const RichTextInputEditableSlot = withContext<\n HTMLDivElement,\n RichTextInputEditableSlotProps\n>(\"div\", \"editable\");\n","import { isPlainObject } from 'is-plain-object';\nimport { Operation, Editor, Transforms, Path } from 'slate';\n\n// eslint-disable-next-line no-redeclare\nvar History = {\n /**\n * Check if a value is a `History` object.\n */\n isHistory(value) {\n return isPlainObject(value) && Array.isArray(value.redos) && Array.isArray(value.undos) && (value.redos.length === 0 || Operation.isOperationList(value.redos[0].operations)) && (value.undos.length === 0 || Operation.isOperationList(value.undos[0].operations));\n }\n};\n\n/**\n * Weakmaps for attaching state to the editor.\n */\nvar HISTORY = new WeakMap();\nvar SAVING = new WeakMap();\nvar MERGING = new WeakMap();\nvar SPLITTING_ONCE = new WeakMap();\n// eslint-disable-next-line no-redeclare\nvar HistoryEditor = {\n /**\n * Check if a value is a `HistoryEditor` object.\n */\n isHistoryEditor(value) {\n return History.isHistory(value.history) && Editor.isEditor(value);\n },\n /**\n * Get the merge flag's current value.\n */\n isMerging(editor) {\n return MERGING.get(editor);\n },\n /**\n * Get the splitting once flag's current value.\n */\n isSplittingOnce(editor) {\n return SPLITTING_ONCE.get(editor);\n },\n setSplittingOnce(editor, value) {\n SPLITTING_ONCE.set(editor, value);\n },\n /**\n * Get the saving flag's current value.\n */\n isSaving(editor) {\n return SAVING.get(editor);\n },\n /**\n * Redo to the previous saved state.\n */\n redo(editor) {\n editor.redo();\n },\n /**\n * Undo to the previous saved state.\n */\n undo(editor) {\n editor.undo();\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, These operations will\n * be merged into the previous history.\n */\n withMerging(editor, fn) {\n var prev = HistoryEditor.isMerging(editor);\n MERGING.set(editor, true);\n fn();\n MERGING.set(editor, prev);\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, ensuring that the first\n * operation starts a new batch in the history. Subsequent operations will be\n * merged as usual.\n */\n withNewBatch(editor, fn) {\n var prev = HistoryEditor.isMerging(editor);\n MERGING.set(editor, true);\n SPLITTING_ONCE.set(editor, true);\n fn();\n MERGING.set(editor, prev);\n SPLITTING_ONCE.delete(editor);\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, without merging any of\n * the new operations into previous save point in the history.\n */\n withoutMerging(editor, fn) {\n var prev = HistoryEditor.isMerging(editor);\n MERGING.set(editor, false);\n fn();\n MERGING.set(editor, prev);\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, without saving any of\n * their operations into the history.\n */\n withoutSaving(editor, fn) {\n var prev = HistoryEditor.isSaving(editor);\n SAVING.set(editor, false);\n try {\n fn();\n } finally {\n SAVING.set(editor, prev);\n }\n }\n};\n\n/**\n * The `withHistory` plugin keeps track of the operation history of a Slate\n * editor as operations are applied to it, using undo and redo stacks.\n *\n * If you are using TypeScript, you must extend Slate's CustomTypes to use\n * this plugin.\n *\n * See https://docs.slatejs.org/concepts/11-typescript to learn how.\n */\nvar withHistory = editor => {\n var e = editor;\n var {\n apply\n } = e;\n e.history = {\n undos: [],\n redos: []\n };\n e.redo = () => {\n var {\n history\n } = e;\n var {\n redos\n } = history;\n if (redos.length > 0) {\n var batch = redos[redos.length - 1];\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n for (var op of batch.operations) {\n e.apply(op);\n }\n });\n });\n history.redos.pop();\n e.writeHistory('undos', batch);\n }\n };\n e.undo = () => {\n var {\n history\n } = e;\n var {\n undos\n } = history;\n if (undos.length > 0) {\n var batch = undos[undos.length - 1];\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n var inverseOps = batch.operations.map(Operation.inverse).reverse();\n for (var op of inverseOps) {\n e.apply(op);\n }\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n });\n });\n e.writeHistory('redos', batch);\n history.undos.pop();\n }\n };\n e.apply = op => {\n var {\n operations,\n history\n } = e;\n var {\n undos\n } = history;\n var lastBatch = undos[undos.length - 1];\n var lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];\n var save = HistoryEditor.isSaving(e);\n var merge = HistoryEditor.isMerging(e);\n if (save == null) {\n save = shouldSave(op);\n }\n if (save) {\n if (merge == null) {\n if (lastBatch == null) {\n merge = false;\n } else if (operations.length !== 0) {\n merge = true;\n } else {\n merge = shouldMerge(op, lastOp);\n }\n }\n if (HistoryEditor.isSplittingOnce(e)) {\n merge = false;\n HistoryEditor.setSplittingOnce(e, undefined);\n }\n if (lastBatch && merge) {\n lastBatch.operations.push(op);\n } else {\n var batch = {\n operations: [op],\n selectionBefore: e.selection\n };\n e.writeHistory('undos', batch);\n }\n while (undos.length > 100) {\n undos.shift();\n }\n history.redos = [];\n }\n apply(op);\n };\n e.writeHistory = (stack, batch) => {\n e.history[stack].push(batch);\n };\n return e;\n};\n/**\n * Check whether to merge an operation into the previous operation.\n */\nvar shouldMerge = (op, prev) => {\n if (prev && op.type === 'insert_text' && prev.type === 'insert_text' && op.offset === prev.offset + prev.text.length && Path.equals(op.path, prev.path)) {\n return true;\n }\n if (prev && op.type === 'remove_text' && prev.type === 'remove_text' && op.offset + op.text.length === prev.offset && Path.equals(op.path, prev.path)) {\n return true;\n }\n return false;\n};\n/**\n * Check whether an operation needs to be saved to the history.\n */\nvar shouldSave = (op, prev) => {\n if (op.type === 'set_selection') {\n return false;\n }\n return true;\n};\n\nexport { HISTORY, History, HistoryEditor, MERGING, SAVING, SPLITTING_ONCE, withHistory };\n//# sourceMappingURL=index.es.js.map\n","import {\n useMemo,\n useCallback,\n useImperativeHandle,\n forwardRef,\n type ForwardedRef,\n type FocusEventHandler,\n type ReactNode,\n} from \"react\";\nimport { createEditor, type Descendant } from \"slate\";\nimport { Slate, Editable, withReact } from \"slate-react\";\nimport { withHistory } from \"slate-history\";\nimport {\n RichTextInputEditableSlot,\n RichTextInputToolbarSlot,\n} from \"../rich-text-input.slots\";\nimport {\n Element,\n Leaf,\n withLinks,\n focusEditor,\n resetEditor,\n} from \"../utils/slate-helpers\";\nimport { createEmptyValue } from \"../utils/html-serialization\";\nimport { useKeyboardShortcuts } from \"../hooks/use-keyboard-shortcuts\";\nimport { EDITOR_DEFAULTS } from \"../constants\";\n\nexport interface RichTextEditorProps {\n value?: Descendant[];\n onChange: (value: Descendant[]) => void;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n placeholder?: string;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n autoFocus?: boolean;\n toolbar?: ReactNode;\n}\n\nexport interface RichTextEditorRef {\n focus: () => void;\n resetValue: (html: string) => void;\n}\n\nexport const RichTextEditor = forwardRef<\n RichTextEditorRef,\n RichTextEditorProps\n>((props, forwardedRef: ForwardedRef<RichTextEditorRef>) => {\n const {\n value,\n onChange,\n onFocus,\n onBlur,\n placeholder = EDITOR_DEFAULTS.placeholder,\n isDisabled = EDITOR_DEFAULTS.isDisabled,\n isReadOnly = EDITOR_DEFAULTS.isReadOnly,\n autoFocus = EDITOR_DEFAULTS.autoFocus,\n toolbar,\n } = props;\n\n // Create editor with plugins\n const editor = useMemo(() => {\n const baseEditor = createEditor();\n return withLinks(withHistory(withReact(baseEditor)));\n }, []);\n\n // Handle keyboard shortcuts using hook\n const { handleKeyDown } = useKeyboardShortcuts({ editor });\n\n // Handle focus\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus]\n );\n\n // Handle blur\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur]\n );\n\n // Expose methods through ref\n useImperativeHandle(\n forwardedRef,\n () => ({\n focus: () => focusEditor(editor),\n resetValue: (html: string) => resetEditor(editor, html),\n }),\n [editor]\n );\n\n // Render element\n const renderElement = useCallback(\n (props: Parameters<typeof Element>[0]) => <Element {...props} />,\n []\n );\n\n // Render leaf\n const renderLeaf = useCallback(\n (props: Parameters<typeof Leaf>[0]) => <Leaf {...props} />,\n []\n );\n\n // Ensure we always have a valid value\n const defaultValue = createEmptyValue();\n const safeInitialValue =\n Array.isArray(value) && value.length > 0 ? value : defaultValue;\n\n return (\n <Slate editor={editor} value={safeInitialValue} onChange={onChange}>\n {toolbar && (\n <RichTextInputToolbarSlot>{toolbar}</RichTextInputToolbarSlot>\n )}\n <RichTextInputEditableSlot asChild>\n <Editable\n renderElement={renderElement}\n renderLeaf={renderLeaf}\n placeholder={placeholder}\n autoFocus={autoFocus}\n readOnly={isReadOnly || isDisabled}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-label=\"Rich text editor\"\n role=\"textbox\"\n aria-multiline=\"true\"\n />\n </RichTextInputEditableSlot>\n </Slate>\n );\n});\n\nRichTextEditor.displayName = \"RichTextEditor\";\n","import { useSlate } from \"slate-react\";\nimport { Menu, IconButton, Text, Box, Tooltip } from \"@/components\";\nimport {\n MoreHoriz,\n FormatStrikethrough,\n Code,\n} from \"@commercetools/nimbus-icons\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useFormattingState } from \"../hooks/use-formatting-state\";\n\nexport interface FormattingMenuProps {\n isDisabled?: boolean;\n}\n\nexport const FormattingMenu = ({ isDisabled = false }: FormattingMenuProps) => {\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Use the formatting state hook for all state management\n const { allSelectedKeys, handleAllSelectionChange } = useFormattingState({\n withPreservedSelection,\n });\n\n return (\n <Menu.Root\n selectionMode=\"multiple\"\n selectedKeys={allSelectedKeys}\n onSelectionChange={handleAllSelectionChange}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <Menu.Trigger asChild>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"More formatting options\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <MoreHoriz />\n </IconButton>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">More styles</Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n <Menu.Item id=\"strikethrough\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <FormatStrikethrough />\n <Text textStyle=\"sm\">Strikethrough</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"code\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Code />\n <Text textStyle=\"sm\">Code</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"superscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X²</Text>\n <Text textStyle=\"sm\">Superscript</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"subscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X₂</Text>\n <Text textStyle=\"sm\">Subscript</Text>\n </Box>\n </Menu.Item>\n </Menu.Content>\n </Menu.Root>\n );\n};\n","import { useSlate } from \"slate-react\";\nimport {\n Toolbar,\n Menu,\n VisuallyHidden,\n Divider,\n ToggleButtonGroup,\n IconToggleButton,\n IconButton,\n Text,\n Box,\n Tooltip,\n} from \"@/components\";\nimport { Group } from \"@/components/group\";\nimport {\n FormatBold,\n FormatItalic,\n FormatUnderlined,\n FormatListBulleted,\n FormatListNumbered,\n KeyboardArrowDown,\n Undo,\n Redo,\n} from \"@commercetools/nimbus-icons\";\nimport { toggleMark } from \"../utils/slate-helpers\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useToolbarState } from \"../hooks/use-toolbar-state\";\nimport { textStyles } from \"../constants\";\nimport { FormattingMenu } from \"./formatting-menu\";\n\nexport interface RichTextToolbarProps {\n isDisabled?: boolean;\n}\n\nexport const RichTextToolbar = ({\n isDisabled = false,\n}: RichTextToolbarProps) => {\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Use the toolbar state hook for all state management\n const {\n currentTextStyle,\n selectedTextStyleLabel,\n handleTextStyleChange,\n handleListToggle,\n selectedFormatKeys,\n selectedListKeys,\n hasUndos,\n hasRedos,\n } = useToolbarState({ withPreservedSelection });\n\n return (\n <Toolbar\n orientation=\"horizontal\"\n aria-label=\"Text formatting\"\n width=\"full\"\n overflow=\"hidden\"\n size=\"xs\"\n >\n {/* Text Style Menu */}\n <Group>\n <Menu.Root\n onAction={(styleId) => handleTextStyleChange(String(styleId))}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n {/* Menu trigger styles mimic the Select component */}\n <Menu.Trigger\n height=\"800\"\n width=\"4000\"\n bg=\"primary.1\"\n borderRadius=\"200\"\n _hover={{ bg: \"primary.2\" }}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n aria-label=\"Text style menu\"\n >\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" px=\"200\">\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" flexGrow=\"1\">\n <Text my=\"auto\" textStyle=\"sm\" fontWeight=\"500\">\n {selectedTextStyleLabel}\n </Text>\n </Box>\n <KeyboardArrowDown />\n </Box>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">Text style</Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n {textStyles.map((style) => (\n <Menu.Item\n key={style.id}\n id={style.id}\n {...(currentTextStyle === style.id && {\n \"data-state\": \"checked\",\n })}\n >\n <Text {...style.props}>{style.label}</Text>\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Group>\n\n <Divider orientation=\"vertical\" />\n\n {/* Text Formatting Toggles */}\n <ToggleButtonGroup.Root\n selectionMode=\"multiple\"\n selectedKeys={selectedFormatKeys}\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bold\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Bold\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"bold\"))}\n >\n <FormatBold />\n <VisuallyHidden>Bold</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Bold</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"italic\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Italic\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"italic\"))}\n >\n <FormatItalic />\n <VisuallyHidden>Italic</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Italic</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"underline\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Underline\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() =>\n toggleMark(editor, \"underline\")\n )}\n >\n <FormatUnderlined />\n <VisuallyHidden>Underline</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Underline</Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Formatting Menu for additional options */}\n <FormattingMenu isDisabled={isDisabled} />\n\n <Divider orientation=\"vertical\" />\n\n {/* Lists & Indentation */}\n <ToggleButtonGroup.Root\n selectionMode=\"single\"\n selectedKeys={selectedListKeys}\n onSelectionChange={handleListToggle}\n aria-label=\"List formatting\"\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bulleted-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Bulleted List\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListBulleted />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Bulleted list</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"numbered-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Numbered List\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListNumbered />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Numbered list</Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Spacer to push undo/redo buttons to the right */}\n <Box flexGrow=\"1\" />\n\n <Group>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Undo\"\n isDisabled={!hasUndos || isDisabled}\n onPress={withPreservedSelection(() => editor.undo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Undo />\n <VisuallyHidden>Undo</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">Undo</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Redo\"\n isDisabled={!hasRedos || isDisabled}\n onPress={withPreservedSelection(() => editor.redo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Redo />\n <VisuallyHidden>Redo</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">Redo</Tooltip.Content>\n </Tooltip.Root>\n </Group>\n </Toolbar>\n );\n};\n\nRichTextToolbar.displayName = \"RichTextToolbar\";\n","import { useState, useCallback, useRef, useEffect } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { RichTextInputRootSlot } from \"./rich-text-input.slots\";\nimport {\n RichTextEditor,\n type RichTextEditorRef,\n} from \"./components/rich-text-editor\";\nimport { RichTextToolbar } from \"./components/rich-text-toolbar\";\nimport type { RichTextInputProps } from \"./rich-text-input.types\";\nimport {\n toHTML,\n fromHTML,\n createEmptyValue,\n validSlateStateAdapter,\n} from \"./utils\";\nimport { richTextInputRecipe } from \"./rich-text-input.recipe\";\n\n/**\n RichTextInput - A rich text input component with formatting capabilities.\n */\nexport const RichTextInput = (props: RichTextInputProps) => {\n const {\n ref: forwardedRef,\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n placeholder = \"\",\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n autoFocus = false,\n ...restProps\n } = props;\n\n const recipe = useSlotRecipe({ recipe: richTextInputRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n // Only semantic variants go here (none currently defined)\n ...restProps,\n });\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Data attributes for state-based styling\n const dataAttributes = {\n \"data-disabled\": isDisabled ? \"true\" : undefined,\n \"data-invalid\": isInvalid ? \"true\" : undefined,\n \"data-readonly\": isReadOnly ? \"true\" : undefined,\n };\n\n // Internal state management\n const [internalValue, setInternalValue] = useState(() => {\n const initialHtml = value ?? defaultValue ?? \"\";\n try {\n return initialHtml ? fromHTML(initialHtml) : createEmptyValue();\n } catch (error) {\n console.warn(\"Failed to parse initial HTML, using empty value:\", error);\n return createEmptyValue();\n }\n });\n\n const [serializedValue, setSerializedValue] = useState(() => {\n return value ?? defaultValue ?? \"\";\n });\n\n const editorRef = useRef<RichTextEditorRef>(null);\n\n // Handle controlled value changes\n useEffect(() => {\n if (value !== undefined && value !== serializedValue) {\n const newSlateValue = value ? fromHTML(value) : createEmptyValue();\n setInternalValue(newSlateValue);\n setSerializedValue(value);\n }\n }, [value, serializedValue]);\n\n const handleChange = useCallback(\n (slateValue: ReturnType<typeof createEmptyValue>) => {\n const newHtml = toHTML(slateValue);\n const hasSerializedValueChanged = newHtml !== serializedValue;\n\n setInternalValue(slateValue);\n setSerializedValue(newHtml);\n\n // Only call onChange if the serialized HTML actually changed\n if (hasSerializedValueChanged && onChange) {\n onChange(newHtml);\n }\n },\n [serializedValue, onChange]\n );\n\n const currentValue = internalValue;\n\n // Safety check: ensure we always have a valid Slate value\n const safeValue = validSlateStateAdapter(currentValue);\n\n return (\n <RichTextInputRootSlot\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n {...dataAttributes}\n ref={forwardedRef}\n >\n <RichTextEditor\n ref={editorRef}\n value={safeValue}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n autoFocus={autoFocus}\n toolbar={\n !isReadOnly ? <RichTextToolbar isDisabled={isDisabled} /> : null\n }\n />\n </RichTextInputRootSlot>\n );\n};\n\nRichTextInput.displayName = \"RichTextInput\";\n"],"names":["richTextInputRecipe","defineSlotRecipe","withProvider","withContext","createSlotRecipeContext","RichTextInputRootSlot","RichTextInputToolbarSlot","RichTextInputEditableSlot","History","value","isPlainObject","Operation","SAVING","MERGING","SPLITTING_ONCE","HistoryEditor","Editor","editor","fn","prev","withHistory","e","apply","history","redos","batch","Transforms","op","undos","inverseOps","operations","lastBatch","lastOp","save","merge","shouldSave","shouldMerge","stack","Path","RichTextEditor","forwardRef","props","forwardedRef","onChange","onFocus","onBlur","placeholder","EDITOR_DEFAULTS","isDisabled","isReadOnly","autoFocus","toolbar","useMemo","baseEditor","createEditor","withLinks","withReact","handleKeyDown","useKeyboardShortcuts","handleFocus","useCallback","event","handleBlur","useImperativeHandle","focusEditor","html","resetEditor","renderElement","jsx","Element","renderLeaf","Leaf","defaultValue","createEmptyValue","safeInitialValue","jsxs","Slate","Editable","FormattingMenu","useSlate","withPreservedSelection","usePreservedSelection","allSelectedKeys","handleAllSelectionChange","useFormattingState","Menu","Tooltip","IconButton","MoreHoriz","Box","FormatStrikethrough","Text","Code","RichTextToolbar","currentTextStyle","selectedTextStyleLabel","handleTextStyleChange","handleListToggle","selectedFormatKeys","selectedListKeys","hasUndos","hasRedos","useToolbarState","Toolbar","Group","styleId","KeyboardArrowDown","textStyles","style","Divider","ToggleButtonGroup","IconToggleButton","toggleMark","FormatBold","VisuallyHidden","FormatItalic","FormatUnderlined","FormatListBulleted","FormatListNumbered","Undo","Redo","RichTextInput","isInvalid","restProps","recipe","useSlotRecipe","recipeProps","remainingProps","styleProps","functionalProps","extractStyleProps","dataAttributes","internalValue","setInternalValue","useState","initialHtml","fromHTML","error","serializedValue","setSerializedValue","editorRef","useRef","useEffect","newSlateValue","handleChange","slateValue","newHtml","toHTML","hasSerializedValueChanged","currentValue","safeValue","validSlateStateAdapter"],"mappings":"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","x_google_ignoreList":[2]}
|
|
1
|
+
{"version":3,"file":"rich-text-input-Cvcywluc.cjs.js","sources":["../../src/components/rich-text-input/rich-text-input.recipe.tsx","../../src/components/rich-text-input/rich-text-input.slots.tsx","../../../../node_modules/.pnpm/slate-history@0.113.1_slate@0.75.0/node_modules/slate-history/dist/index.es.js","../../src/components/rich-text-input/components/rich-text-editor.tsx","../../src/components/rich-text-input/components/formatting-menu.tsx","../../src/components/rich-text-input/components/rich-text-toolbar.tsx","../../src/components/rich-text-input/rich-text-input.tsx"],"sourcesContent":["import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const richTextInputRecipe = defineSlotRecipe({\n slots: [\"root\", \"toolbar\", \"editable\"],\n className: \"nimbus-rich-text-input\",\n base: {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n width: \"full\",\n borderRadius: \"200\",\n borderWidth: \"{sizes.25}\",\n colorPalette: \"slate\",\n borderColor: \"colorPalette.7\",\n backgroundColor: \"colorPalette.contrast\",\n\n // Invalid state styling\n \"&[data-invalid='true']\": {\n borderWidth: \"{sizes.50}\",\n borderColor: \"critical.7\",\n },\n },\n toolbar: {\n boxShadow: \"1\",\n\n // Disabled state styling for toolbar\n \"[data-disabled='true'] &\": {\n opacity: \"0.5\",\n },\n },\n editable: {\n padding: \"400\",\n minHeight: \"inherit\",\n outline: \"none\",\n\n // Disabled state styling for editable\n \"[data-disabled='true'] &\": {\n cursor: \"not-allowed\",\n opacity: \"0.5\",\n },\n\n // Styling for user-facing editor text\n \"& p\": {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n \"& h1\": {\n textStyle: \"2xl\",\n fontWeight: \"500\",\n },\n \"& h2\": {\n textStyle: \"xl\",\n fontWeight: \"500\",\n },\n \"& h3\": {\n textStyle: \"lg\",\n fontWeight: \"500\",\n },\n \"& h4\": {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n \"& h5\": {\n textStyle: \"xs\",\n fontWeight: \"500\",\n },\n \"& blockquote\": {\n textStyle: \"md\",\n fontWeight: \"400\",\n borderLeftWidth: \"{sizes.100}\",\n paddingLeft: \"400\",\n },\n \"& ul\": {\n paddingLeft: \"600\",\n listStyleType: \"disc\",\n },\n \"& ol\": {\n paddingLeft: \"600\",\n listStyleType: \"decimal\",\n },\n \"& code\": {\n padding: \"100\",\n fontFamily: \"mono\",\n },\n \"& pre\": {\n padding: \"300\",\n borderRadius: \"200\",\n overflow: \"auto\",\n \"& code\": {\n padding: \"0\",\n },\n },\n \"& a\": {\n color: \"primary.11\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n _hover: {\n textDecoration: \"none\",\n },\n },\n \"& strong\": {\n fontWeight: \"700\",\n },\n \"& em\": {\n fontStyle: \"italic\",\n },\n \"& u\": {\n textDecoration: \"underline\",\n },\n \"& del\": {\n textDecoration: \"line-through\",\n },\n \"& sup\": {\n fontSize: \"75%\",\n verticalAlign: \"super\",\n lineHeight: \"0\",\n },\n \"& sub\": {\n fontSize: \"75%\",\n verticalAlign: \"sub\",\n lineHeight: \"0\",\n },\n },\n },\n variants: {},\n});\n","import {\n type HTMLChakraProps,\n type RecipeVariantProps,\n type UnstyledProp,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport { richTextInputRecipe } from \"./rich-text-input.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: richTextInputRecipe,\n});\n\n// Root slot\nexport type RichTextInputRootSlotProps = HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof richTextInputRecipe> & UnstyledProp\n>;\n\nexport const RichTextInputRootSlot = withProvider<\n HTMLDivElement,\n RichTextInputRootSlotProps\n>(\"div\", \"root\");\n\n// Toolbar slot\nexport type RichTextInputToolbarSlotProps = HTMLChakraProps<\"div\">;\n\nexport const RichTextInputToolbarSlot = withContext<\n HTMLDivElement,\n RichTextInputToolbarSlotProps\n>(\"div\", \"toolbar\");\n\n// Editable slot\nexport type RichTextInputEditableSlotProps = HTMLChakraProps<\"div\">;\nexport const RichTextInputEditableSlot = withContext<\n HTMLDivElement,\n RichTextInputEditableSlotProps\n>(\"div\", \"editable\");\n","import { isPlainObject } from 'is-plain-object';\nimport { Operation, Editor, Transforms, Path } from 'slate';\n\n// eslint-disable-next-line no-redeclare\nvar History = {\n /**\n * Check if a value is a `History` object.\n */\n isHistory(value) {\n return isPlainObject(value) && Array.isArray(value.redos) && Array.isArray(value.undos) && (value.redos.length === 0 || Operation.isOperationList(value.redos[0].operations)) && (value.undos.length === 0 || Operation.isOperationList(value.undos[0].operations));\n }\n};\n\n/**\n * Weakmaps for attaching state to the editor.\n */\nvar HISTORY = new WeakMap();\nvar SAVING = new WeakMap();\nvar MERGING = new WeakMap();\nvar SPLITTING_ONCE = new WeakMap();\n// eslint-disable-next-line no-redeclare\nvar HistoryEditor = {\n /**\n * Check if a value is a `HistoryEditor` object.\n */\n isHistoryEditor(value) {\n return History.isHistory(value.history) && Editor.isEditor(value);\n },\n /**\n * Get the merge flag's current value.\n */\n isMerging(editor) {\n return MERGING.get(editor);\n },\n /**\n * Get the splitting once flag's current value.\n */\n isSplittingOnce(editor) {\n return SPLITTING_ONCE.get(editor);\n },\n setSplittingOnce(editor, value) {\n SPLITTING_ONCE.set(editor, value);\n },\n /**\n * Get the saving flag's current value.\n */\n isSaving(editor) {\n return SAVING.get(editor);\n },\n /**\n * Redo to the previous saved state.\n */\n redo(editor) {\n editor.redo();\n },\n /**\n * Undo to the previous saved state.\n */\n undo(editor) {\n editor.undo();\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, These operations will\n * be merged into the previous history.\n */\n withMerging(editor, fn) {\n var prev = HistoryEditor.isMerging(editor);\n MERGING.set(editor, true);\n fn();\n MERGING.set(editor, prev);\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, ensuring that the first\n * operation starts a new batch in the history. Subsequent operations will be\n * merged as usual.\n */\n withNewBatch(editor, fn) {\n var prev = HistoryEditor.isMerging(editor);\n MERGING.set(editor, true);\n SPLITTING_ONCE.set(editor, true);\n fn();\n MERGING.set(editor, prev);\n SPLITTING_ONCE.delete(editor);\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, without merging any of\n * the new operations into previous save point in the history.\n */\n withoutMerging(editor, fn) {\n var prev = HistoryEditor.isMerging(editor);\n MERGING.set(editor, false);\n fn();\n MERGING.set(editor, prev);\n },\n /**\n * Apply a series of changes inside a synchronous `fn`, without saving any of\n * their operations into the history.\n */\n withoutSaving(editor, fn) {\n var prev = HistoryEditor.isSaving(editor);\n SAVING.set(editor, false);\n try {\n fn();\n } finally {\n SAVING.set(editor, prev);\n }\n }\n};\n\n/**\n * The `withHistory` plugin keeps track of the operation history of a Slate\n * editor as operations are applied to it, using undo and redo stacks.\n *\n * If you are using TypeScript, you must extend Slate's CustomTypes to use\n * this plugin.\n *\n * See https://docs.slatejs.org/concepts/11-typescript to learn how.\n */\nvar withHistory = editor => {\n var e = editor;\n var {\n apply\n } = e;\n e.history = {\n undos: [],\n redos: []\n };\n e.redo = () => {\n var {\n history\n } = e;\n var {\n redos\n } = history;\n if (redos.length > 0) {\n var batch = redos[redos.length - 1];\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n for (var op of batch.operations) {\n e.apply(op);\n }\n });\n });\n history.redos.pop();\n e.writeHistory('undos', batch);\n }\n };\n e.undo = () => {\n var {\n history\n } = e;\n var {\n undos\n } = history;\n if (undos.length > 0) {\n var batch = undos[undos.length - 1];\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n var inverseOps = batch.operations.map(Operation.inverse).reverse();\n for (var op of inverseOps) {\n e.apply(op);\n }\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n });\n });\n e.writeHistory('redos', batch);\n history.undos.pop();\n }\n };\n e.apply = op => {\n var {\n operations,\n history\n } = e;\n var {\n undos\n } = history;\n var lastBatch = undos[undos.length - 1];\n var lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];\n var save = HistoryEditor.isSaving(e);\n var merge = HistoryEditor.isMerging(e);\n if (save == null) {\n save = shouldSave(op);\n }\n if (save) {\n if (merge == null) {\n if (lastBatch == null) {\n merge = false;\n } else if (operations.length !== 0) {\n merge = true;\n } else {\n merge = shouldMerge(op, lastOp);\n }\n }\n if (HistoryEditor.isSplittingOnce(e)) {\n merge = false;\n HistoryEditor.setSplittingOnce(e, undefined);\n }\n if (lastBatch && merge) {\n lastBatch.operations.push(op);\n } else {\n var batch = {\n operations: [op],\n selectionBefore: e.selection\n };\n e.writeHistory('undos', batch);\n }\n while (undos.length > 100) {\n undos.shift();\n }\n history.redos = [];\n }\n apply(op);\n };\n e.writeHistory = (stack, batch) => {\n e.history[stack].push(batch);\n };\n return e;\n};\n/**\n * Check whether to merge an operation into the previous operation.\n */\nvar shouldMerge = (op, prev) => {\n if (prev && op.type === 'insert_text' && prev.type === 'insert_text' && op.offset === prev.offset + prev.text.length && Path.equals(op.path, prev.path)) {\n return true;\n }\n if (prev && op.type === 'remove_text' && prev.type === 'remove_text' && op.offset + op.text.length === prev.offset && Path.equals(op.path, prev.path)) {\n return true;\n }\n return false;\n};\n/**\n * Check whether an operation needs to be saved to the history.\n */\nvar shouldSave = (op, prev) => {\n if (op.type === 'set_selection') {\n return false;\n }\n return true;\n};\n\nexport { HISTORY, History, HistoryEditor, MERGING, SAVING, SPLITTING_ONCE, withHistory };\n//# sourceMappingURL=index.es.js.map\n","import {\n useMemo,\n useCallback,\n useImperativeHandle,\n forwardRef,\n type ForwardedRef,\n type FocusEventHandler,\n type ReactNode,\n} from \"react\";\nimport { createEditor, type Descendant } from \"slate\";\nimport { Slate, Editable, withReact } from \"slate-react\";\nimport { withHistory } from \"slate-history\";\nimport {\n RichTextInputEditableSlot,\n RichTextInputToolbarSlot,\n} from \"../rich-text-input.slots\";\nimport {\n Element,\n Leaf,\n withLinks,\n focusEditor,\n resetEditor,\n} from \"../utils/slate-helpers\";\nimport { createEmptyValue } from \"../utils/html-serialization\";\nimport { useKeyboardShortcuts } from \"../hooks/use-keyboard-shortcuts\";\nimport { EDITOR_DEFAULTS } from \"../constants\";\n\nexport interface RichTextEditorProps {\n value?: Descendant[];\n onChange: (value: Descendant[]) => void;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n placeholder?: string;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n autoFocus?: boolean;\n toolbar?: ReactNode;\n}\n\nexport interface RichTextEditorRef {\n focus: () => void;\n resetValue: (html: string) => void;\n}\n\nexport const RichTextEditor = forwardRef<\n RichTextEditorRef,\n RichTextEditorProps\n>((props, forwardedRef: ForwardedRef<RichTextEditorRef>) => {\n const {\n value,\n onChange,\n onFocus,\n onBlur,\n placeholder = EDITOR_DEFAULTS.placeholder,\n isDisabled = EDITOR_DEFAULTS.isDisabled,\n isReadOnly = EDITOR_DEFAULTS.isReadOnly,\n autoFocus = EDITOR_DEFAULTS.autoFocus,\n toolbar,\n } = props;\n\n // Create editor with plugins\n const editor = useMemo(() => {\n const baseEditor = createEditor();\n return withLinks(withHistory(withReact(baseEditor)));\n }, []);\n\n // Handle keyboard shortcuts using hook\n const { handleKeyDown } = useKeyboardShortcuts({ editor });\n\n // Handle focus\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus]\n );\n\n // Handle blur\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur]\n );\n\n // Expose methods through ref\n useImperativeHandle(\n forwardedRef,\n () => ({\n focus: () => focusEditor(editor),\n resetValue: (html: string) => resetEditor(editor, html),\n }),\n [editor]\n );\n\n // Render element\n const renderElement = useCallback(\n (props: Parameters<typeof Element>[0]) => <Element {...props} />,\n []\n );\n\n // Render leaf\n const renderLeaf = useCallback(\n (props: Parameters<typeof Leaf>[0]) => <Leaf {...props} />,\n []\n );\n\n // Ensure we always have a valid value\n const defaultValue = createEmptyValue();\n const safeInitialValue =\n Array.isArray(value) && value.length > 0 ? value : defaultValue;\n\n return (\n <Slate editor={editor} value={safeInitialValue} onChange={onChange}>\n {toolbar && (\n <RichTextInputToolbarSlot>{toolbar}</RichTextInputToolbarSlot>\n )}\n <RichTextInputEditableSlot asChild>\n <Editable\n renderElement={renderElement}\n renderLeaf={renderLeaf}\n placeholder={placeholder}\n autoFocus={autoFocus}\n readOnly={isReadOnly || isDisabled}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-label=\"Rich text editor\"\n role=\"textbox\"\n aria-multiline=\"true\"\n />\n </RichTextInputEditableSlot>\n </Slate>\n );\n});\n\nRichTextEditor.displayName = \"RichTextEditor\";\n","import { useSlate } from \"slate-react\";\nimport { Menu, IconButton, Text, Box, Tooltip } from \"@/components\";\nimport {\n MoreHoriz,\n FormatStrikethrough,\n Code,\n} from \"@commercetools/nimbus-icons\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useFormattingState } from \"../hooks/use-formatting-state\";\n\nexport interface FormattingMenuProps {\n isDisabled?: boolean;\n}\n\nexport const FormattingMenu = ({ isDisabled = false }: FormattingMenuProps) => {\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Use the formatting state hook for all state management\n const { allSelectedKeys, handleAllSelectionChange } = useFormattingState({\n withPreservedSelection,\n });\n\n return (\n <Menu.Root\n selectionMode=\"multiple\"\n selectedKeys={allSelectedKeys}\n onSelectionChange={handleAllSelectionChange}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <Menu.Trigger asChild>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"More formatting options\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <MoreHoriz />\n </IconButton>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">More styles</Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n <Menu.Item id=\"strikethrough\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <FormatStrikethrough />\n <Text textStyle=\"sm\">Strikethrough</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"code\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Code />\n <Text textStyle=\"sm\">Code</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"superscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X²</Text>\n <Text textStyle=\"sm\">Superscript</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"subscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X₂</Text>\n <Text textStyle=\"sm\">Subscript</Text>\n </Box>\n </Menu.Item>\n </Menu.Content>\n </Menu.Root>\n );\n};\n","import { useSlate } from \"slate-react\";\nimport {\n Toolbar,\n Menu,\n VisuallyHidden,\n Divider,\n ToggleButtonGroup,\n IconToggleButton,\n IconButton,\n Text,\n Box,\n Tooltip,\n} from \"@/components\";\nimport { Group } from \"@/components/group\";\nimport {\n FormatBold,\n FormatItalic,\n FormatUnderlined,\n FormatListBulleted,\n FormatListNumbered,\n KeyboardArrowDown,\n Undo,\n Redo,\n} from \"@commercetools/nimbus-icons\";\nimport { toggleMark } from \"../utils/slate-helpers\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useToolbarState } from \"../hooks/use-toolbar-state\";\nimport { textStyles } from \"../constants\";\nimport { FormattingMenu } from \"./formatting-menu\";\n\nexport interface RichTextToolbarProps {\n isDisabled?: boolean;\n}\n\nexport const RichTextToolbar = ({\n isDisabled = false,\n}: RichTextToolbarProps) => {\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Use the toolbar state hook for all state management\n const {\n currentTextStyle,\n selectedTextStyleLabel,\n handleTextStyleChange,\n handleListToggle,\n selectedFormatKeys,\n selectedListKeys,\n hasUndos,\n hasRedos,\n } = useToolbarState({ withPreservedSelection });\n\n return (\n <Toolbar\n orientation=\"horizontal\"\n aria-label=\"Text formatting\"\n width=\"full\"\n overflow=\"hidden\"\n size=\"xs\"\n >\n {/* Text Style Menu */}\n <Group>\n <Menu.Root\n onAction={(styleId) => handleTextStyleChange(String(styleId))}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n {/* Menu trigger styles mimic the Select component */}\n <Menu.Trigger\n height=\"800\"\n width=\"4000\"\n bg=\"primary.1\"\n borderRadius=\"200\"\n _hover={{ bg: \"primary.2\" }}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n aria-label=\"Text style menu\"\n >\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" px=\"200\">\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" flexGrow=\"1\">\n <Text my=\"auto\" textStyle=\"sm\" fontWeight=\"500\">\n {selectedTextStyleLabel}\n </Text>\n </Box>\n <KeyboardArrowDown />\n </Box>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">Text style</Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n {textStyles.map((style) => (\n <Menu.Item\n key={style.id}\n id={style.id}\n {...(currentTextStyle === style.id && {\n \"data-state\": \"checked\",\n })}\n >\n <Text {...style.props}>{style.label}</Text>\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Group>\n\n <Divider orientation=\"vertical\" />\n\n {/* Text Formatting Toggles */}\n <ToggleButtonGroup.Root\n selectionMode=\"multiple\"\n selectedKeys={selectedFormatKeys}\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bold\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Bold\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"bold\"))}\n >\n <FormatBold />\n <VisuallyHidden>Bold</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Bold</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"italic\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Italic\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"italic\"))}\n >\n <FormatItalic />\n <VisuallyHidden>Italic</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Italic</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"underline\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Underline\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() =>\n toggleMark(editor, \"underline\")\n )}\n >\n <FormatUnderlined />\n <VisuallyHidden>Underline</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Underline</Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Formatting Menu for additional options */}\n <FormattingMenu isDisabled={isDisabled} />\n\n <Divider orientation=\"vertical\" />\n\n {/* Lists & Indentation */}\n <ToggleButtonGroup.Root\n selectionMode=\"single\"\n selectedKeys={selectedListKeys}\n onSelectionChange={handleListToggle}\n aria-label=\"List formatting\"\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bulleted-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Bulleted List\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListBulleted />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Bulleted list</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"numbered-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Numbered List\"\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListNumbered />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">Numbered list</Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Spacer to push undo/redo buttons to the right */}\n <Box flexGrow=\"1\" />\n\n <Group>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Undo\"\n isDisabled={!hasUndos || isDisabled}\n onPress={withPreservedSelection(() => editor.undo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Undo />\n <VisuallyHidden>Undo</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">Undo</Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label=\"Redo\"\n isDisabled={!hasRedos || isDisabled}\n onPress={withPreservedSelection(() => editor.redo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Redo />\n <VisuallyHidden>Redo</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">Redo</Tooltip.Content>\n </Tooltip.Root>\n </Group>\n </Toolbar>\n );\n};\n\nRichTextToolbar.displayName = \"RichTextToolbar\";\n","import { useState, useCallback, useRef, useEffect } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { RichTextInputRootSlot } from \"./rich-text-input.slots\";\nimport {\n RichTextEditor,\n type RichTextEditorRef,\n} from \"./components/rich-text-editor\";\nimport { RichTextToolbar } from \"./components/rich-text-toolbar\";\nimport type { RichTextInputProps } from \"./rich-text-input.types\";\nimport {\n toHTML,\n fromHTML,\n createEmptyValue,\n validSlateStateAdapter,\n} from \"./utils\";\nimport { richTextInputRecipe } from \"./rich-text-input.recipe\";\n\n/**\n RichTextInput - A rich text input component with formatting capabilities.\n */\nexport const RichTextInput = (props: RichTextInputProps) => {\n const {\n ref: forwardedRef,\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n placeholder = \"\",\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n autoFocus = false,\n ...restProps\n } = props;\n\n const recipe = useSlotRecipe({ recipe: richTextInputRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n // Only semantic variants go here (none currently defined)\n ...restProps,\n });\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Data attributes for state-based styling\n const dataAttributes = {\n \"data-disabled\": isDisabled ? \"true\" : undefined,\n \"data-invalid\": isInvalid ? \"true\" : undefined,\n \"data-readonly\": isReadOnly ? \"true\" : undefined,\n };\n\n // Internal state management\n const [internalValue, setInternalValue] = useState(() => {\n const initialHtml = value ?? defaultValue ?? \"\";\n try {\n return initialHtml ? fromHTML(initialHtml) : createEmptyValue();\n } catch (error) {\n console.warn(\"Failed to parse initial HTML, using empty value:\", error);\n return createEmptyValue();\n }\n });\n\n const [serializedValue, setSerializedValue] = useState(() => {\n return value ?? defaultValue ?? \"\";\n });\n\n const editorRef = useRef<RichTextEditorRef>(null);\n\n // Handle controlled value changes\n useEffect(() => {\n if (value !== undefined && value !== serializedValue) {\n const newSlateValue = value ? fromHTML(value) : createEmptyValue();\n setInternalValue(newSlateValue);\n setSerializedValue(value);\n }\n }, [value, serializedValue]);\n\n const handleChange = useCallback(\n (slateValue: ReturnType<typeof createEmptyValue>) => {\n const newHtml = toHTML(slateValue);\n const hasSerializedValueChanged = newHtml !== serializedValue;\n\n setInternalValue(slateValue);\n setSerializedValue(newHtml);\n\n // Only call onChange if the serialized HTML actually changed\n if (hasSerializedValueChanged && onChange) {\n onChange(newHtml);\n }\n },\n [serializedValue, onChange]\n );\n\n const currentValue = internalValue;\n\n // Safety check: ensure we always have a valid Slate value\n const safeValue = validSlateStateAdapter(currentValue);\n\n return (\n <RichTextInputRootSlot\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n {...dataAttributes}\n ref={forwardedRef}\n >\n <RichTextEditor\n ref={editorRef}\n value={safeValue}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n autoFocus={autoFocus}\n toolbar={\n !isReadOnly ? <RichTextToolbar isDisabled={isDisabled} /> : null\n }\n />\n </RichTextInputRootSlot>\n );\n};\n\nRichTextInput.displayName = \"RichTextInput\";\n"],"names":["richTextInputRecipe","defineSlotRecipe","withProvider","withContext","createSlotRecipeContext","RichTextInputRootSlot","RichTextInputToolbarSlot","RichTextInputEditableSlot","History","value","isPlainObject","Operation","SAVING","MERGING","SPLITTING_ONCE","HistoryEditor","Editor","editor","fn","prev","withHistory","e","apply","history","redos","batch","Transforms","op","undos","inverseOps","operations","lastBatch","lastOp","save","merge","shouldSave","shouldMerge","stack","Path","RichTextEditor","forwardRef","props","forwardedRef","onChange","onFocus","onBlur","placeholder","EDITOR_DEFAULTS","isDisabled","isReadOnly","autoFocus","toolbar","useMemo","baseEditor","createEditor","withLinks","withReact","handleKeyDown","useKeyboardShortcuts","handleFocus","useCallback","event","handleBlur","useImperativeHandle","focusEditor","html","resetEditor","renderElement","jsx","Element","renderLeaf","Leaf","defaultValue","createEmptyValue","safeInitialValue","jsxs","Slate","Editable","FormattingMenu","useSlate","withPreservedSelection","usePreservedSelection","allSelectedKeys","handleAllSelectionChange","useFormattingState","Menu","Tooltip","IconButton","MoreHoriz","Box","FormatStrikethrough","Text","Code","RichTextToolbar","currentTextStyle","selectedTextStyleLabel","handleTextStyleChange","handleListToggle","selectedFormatKeys","selectedListKeys","hasUndos","hasRedos","useToolbarState","Toolbar","Group","styleId","KeyboardArrowDown","textStyles","style","Divider","ToggleButtonGroup","IconToggleButton","toggleMark","FormatBold","VisuallyHidden","FormatItalic","FormatUnderlined","FormatListBulleted","FormatListNumbered","Undo","Redo","RichTextInput","isInvalid","restProps","recipe","useSlotRecipe","recipeProps","remainingProps","styleProps","functionalProps","extractStyleProps","dataAttributes","internalValue","setInternalValue","useState","initialHtml","fromHTML","error","serializedValue","setSerializedValue","editorRef","useRef","useEffect","newSlateValue","handleChange","slateValue","newHtml","toHTML","hasSerializedValueChanged","currentValue","safeValue","validSlateStateAdapter"],"mappings":"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","x_google_ignoreList":[2]}
|
|
@@ -25,7 +25,7 @@ import { $ as We } from "./useField-Ce9zQxmx.es.js";
|
|
|
25
25
|
import { $ as He } from "./useFormReset-DurgUJL-.es.js";
|
|
26
26
|
import { a as Le } from "./VisuallyHidden-C38kRNm0.es.js";
|
|
27
27
|
import { c as Ae, u as Ue } from "./create-slot-recipe-context-DBNItnlK.es.js";
|
|
28
|
-
import { I as Xe } from "./icon-button-
|
|
28
|
+
import { I as Xe } from "./icon-button-a3WVC7IH.es.js";
|
|
29
29
|
import { j as _e } from "./index-DRWeBbu8.es.js";
|
|
30
30
|
import { e as te } from "./extractStyleProps-DX5GBd9K.es.js";
|
|
31
31
|
import { c as Je } from "./factory-BpxiKxSs.es.js";
|
|
@@ -556,4 +556,4 @@ export {
|
|
|
556
556
|
re as c,
|
|
557
557
|
ne as d
|
|
558
558
|
};
|
|
559
|
-
//# sourceMappingURL=select-
|
|
559
|
+
//# sourceMappingURL=select-BwGMCDw8.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-wby2GRxc.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+select@3.16.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/select/dist/useSelect.mjs","../../../../node_modules/.pnpm/@react-aria+select@3.16.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/select/dist/HiddenSelect.mjs","../../../../node_modules/.pnpm/@react-stately+select@3.7.0_react@19.1.0/node_modules/@react-stately/select/dist/useSelectState.mjs","../../../../node_modules/.pnpm/react-aria-components@1.11.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/Select.mjs","../../src/components/select/select.slots.tsx","../../src/components/select/components/select.clear-button.tsx","../../src/components/select/components/select.root.tsx","../../src/components/select/components/select.options.tsx","../../src/components/select/components/select.option.tsx","../../src/components/select/components/select.option-group.tsx","../../src/components/select/select.tsx"],"sourcesContent":["import {filterDOMProps as $aUnai$filterDOMProps, mergeProps as $aUnai$mergeProps, useId as $aUnai$useId, chain as $aUnai$chain} from \"@react-aria/utils\";\nimport {useMemo as $aUnai$useMemo} from \"react\";\nimport {ListKeyboardDelegate as $aUnai$ListKeyboardDelegate, useTypeSelect as $aUnai$useTypeSelect} from \"@react-aria/selection\";\nimport {setInteractionModality as $aUnai$setInteractionModality} from \"@react-aria/interactions\";\nimport {useCollator as $aUnai$useCollator} from \"@react-aria/i18n\";\nimport {useField as $aUnai$useField} from \"@react-aria/label\";\nimport {useMenuTrigger as $aUnai$useMenuTrigger} from \"@react-aria/menu\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $58aed456727eb0f3$export$703601b7e90536f8 = new WeakMap();\nfunction $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {\n let { keyboardDelegate: keyboardDelegate, isDisabled: isDisabled, isRequired: isRequired, name: name, form: form, validationBehavior: validationBehavior = 'aria' } = props;\n // By default, a KeyboardDelegate is provided which uses the DOM to query layout information (e.g. for page up/page down).\n // When virtualized, the layout object will be passed in as a prop and override this.\n let collator = (0, $aUnai$useCollator)({\n usage: 'search',\n sensitivity: 'base'\n });\n let delegate = (0, $aUnai$useMemo)(()=>keyboardDelegate || new (0, $aUnai$ListKeyboardDelegate)(state.collection, state.disabledKeys, ref, collator), [\n keyboardDelegate,\n state.collection,\n state.disabledKeys,\n collator,\n ref\n ]);\n let { menuTriggerProps: menuTriggerProps, menuProps: menuProps } = (0, $aUnai$useMenuTrigger)({\n isDisabled: isDisabled,\n type: 'listbox'\n }, state, ref);\n let onKeyDown = (e)=>{\n switch(e.key){\n case 'ArrowLeft':\n {\n var _delegate_getKeyAbove, _delegate_getFirstKey;\n // prevent scrolling containers\n e.preventDefault();\n let key = state.selectedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, state.selectedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);\n if (key) state.setSelectedKey(key);\n break;\n }\n case 'ArrowRight':\n {\n var _delegate_getKeyBelow, _delegate_getFirstKey1;\n // prevent scrolling containers\n e.preventDefault();\n let key = state.selectedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, state.selectedKey) : (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate);\n if (key) state.setSelectedKey(key);\n break;\n }\n }\n };\n let { typeSelectProps: typeSelectProps } = (0, $aUnai$useTypeSelect)({\n keyboardDelegate: delegate,\n selectionManager: state.selectionManager,\n onTypeSelect (key) {\n state.setSelectedKey(key);\n }\n });\n let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = state.displayValidation;\n let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = (0, $aUnai$useField)({\n ...props,\n labelElementType: 'span',\n isInvalid: isInvalid,\n errorMessage: props.errorMessage || validationErrors\n });\n typeSelectProps.onKeyDown = typeSelectProps.onKeyDownCapture;\n delete typeSelectProps.onKeyDownCapture;\n let domProps = (0, $aUnai$filterDOMProps)(props, {\n labelable: true\n });\n let triggerProps = (0, $aUnai$mergeProps)(typeSelectProps, menuTriggerProps, fieldProps);\n let valueId = (0, $aUnai$useId)();\n $58aed456727eb0f3$export$703601b7e90536f8.set(state, {\n isDisabled: isDisabled,\n isRequired: isRequired,\n name: name,\n form: form,\n validationBehavior: validationBehavior\n });\n return {\n labelProps: {\n ...labelProps,\n onClick: ()=>{\n if (!props.isDisabled) {\n var _ref_current;\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n // Show the focus ring so the user knows where focus went\n (0, $aUnai$setInteractionModality)('keyboard');\n }\n }\n },\n triggerProps: (0, $aUnai$mergeProps)(domProps, {\n ...triggerProps,\n isDisabled: isDisabled,\n onKeyDown: (0, $aUnai$chain)(triggerProps.onKeyDown, onKeyDown, props.onKeyDown),\n onKeyUp: props.onKeyUp,\n 'aria-labelledby': [\n valueId,\n triggerProps['aria-labelledby'],\n triggerProps['aria-label'] && !triggerProps['aria-labelledby'] ? triggerProps.id : null\n ].filter(Boolean).join(' '),\n onFocus (e) {\n if (state.isFocused) return;\n if (props.onFocus) props.onFocus(e);\n if (props.onFocusChange) props.onFocusChange(true);\n state.setFocused(true);\n },\n onBlur (e) {\n if (state.isOpen) return;\n if (props.onBlur) props.onBlur(e);\n if (props.onFocusChange) props.onFocusChange(false);\n state.setFocused(false);\n }\n }),\n valueProps: {\n id: valueId\n },\n menuProps: {\n ...menuProps,\n autoFocus: state.focusStrategy || true,\n shouldSelectOnPressUp: true,\n shouldFocusOnHover: true,\n disallowEmptySelection: true,\n linkBehavior: 'selection',\n onBlur: (e)=>{\n if (e.currentTarget.contains(e.relatedTarget)) return;\n if (props.onBlur) props.onBlur(e);\n if (props.onFocusChange) props.onFocusChange(false);\n state.setFocused(false);\n },\n 'aria-labelledby': [\n fieldProps['aria-labelledby'],\n triggerProps['aria-label'] && !fieldProps['aria-labelledby'] ? triggerProps.id : null\n ].filter(Boolean).join(' ')\n },\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails,\n hiddenSelectProps: {\n isDisabled: isDisabled,\n name: name,\n label: props.label,\n state: state,\n triggerRef: ref,\n form: form\n }\n };\n}\n\n\nexport {$58aed456727eb0f3$export$703601b7e90536f8 as selectData, $58aed456727eb0f3$export$e64b2f635402ca43 as useSelect};\n//# sourceMappingURL=useSelect.module.js.map\n","import {selectData as $58aed456727eb0f3$export$703601b7e90536f8} from \"./useSelect.mjs\";\nimport $8BE50$react, {useCallback as $8BE50$useCallback, useRef as $8BE50$useRef} from \"react\";\nimport {useFormReset as $8BE50$useFormReset} from \"@react-aria/utils\";\nimport {useFormValidation as $8BE50$useFormValidation} from \"@react-aria/form\";\nimport {useVisuallyHidden as $8BE50$useVisuallyHidden} from \"@react-aria/visually-hidden\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {\n let data = (0, $58aed456727eb0f3$export$703601b7e90536f8).get(state) || {};\n let { autoComplete: autoComplete, name: name = data.name, form: form = data.form, isDisabled: isDisabled = data.isDisabled } = props;\n let { validationBehavior: validationBehavior, isRequired: isRequired } = data;\n let { visuallyHiddenProps: visuallyHiddenProps } = (0, $8BE50$useVisuallyHidden)({\n style: {\n // Prevent page scrolling.\n position: 'fixed',\n top: 0,\n left: 0\n }\n });\n (0, $8BE50$useFormReset)(props.selectRef, state.defaultSelectedKey, state.setSelectedKey);\n (0, $8BE50$useFormValidation)({\n validationBehavior: validationBehavior,\n focus: ()=>{\n var _triggerRef_current;\n return (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n }\n }, state, props.selectRef);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n let onChange = (0, $8BE50$useCallback)((e)=>state.setSelectedKey(e.currentTarget.value), [\n state.setSelectedKey\n ]);\n var _state_selectedKey;\n // In Safari, the <select> cannot have `display: none` or `hidden` for autofill to work.\n // In Firefox, there must be a <label> to identify the <select> whereas other browsers\n // seem to identify it just by surrounding text.\n // The solution is to use <VisuallyHidden> to hide the elements, which clips the elements to a\n // 1px rectangle. In addition, we hide from screen readers with aria-hidden, and make the <select>\n // non tabbable with tabIndex={-1}.\n return {\n containerProps: {\n ...visuallyHiddenProps,\n 'aria-hidden': true,\n // @ts-ignore\n ['data-react-aria-prevent-focus']: true,\n // @ts-ignore\n ['data-a11y-ignore']: 'aria-hidden-focus'\n },\n inputProps: {\n style: {\n display: 'none'\n }\n },\n selectProps: {\n tabIndex: -1,\n autoComplete: autoComplete,\n disabled: isDisabled,\n required: validationBehavior === 'native' && isRequired,\n name: name,\n form: form,\n value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : '',\n onChange: onChange,\n onInput: onChange\n }\n };\n}\nfunction $bdd25dc72710631f$export$cbd84cdb2e668835(props) {\n let { state: state, triggerRef: triggerRef, label: label, name: name, form: form, isDisabled: isDisabled } = props;\n let selectRef = (0, $8BE50$useRef)(null);\n let inputRef = (0, $8BE50$useRef)(null);\n let { containerProps: containerProps, selectProps: selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({\n ...props,\n selectRef: state.collection.size <= 300 ? selectRef : inputRef\n }, state, triggerRef);\n // If used in a <form>, use a hidden input so the value can be submitted to a server.\n // If the collection isn't too big, use a hidden <select> element for this so that browser\n // autofill will work. Otherwise, use an <input type=\"hidden\">.\n if (state.collection.size <= 300) return /*#__PURE__*/ (0, $8BE50$react).createElement(\"div\", {\n ...containerProps,\n \"data-testid\": \"hidden-select-container\"\n }, /*#__PURE__*/ (0, $8BE50$react).createElement(\"label\", null, label, /*#__PURE__*/ (0, $8BE50$react).createElement(\"select\", {\n ...selectProps,\n ref: selectRef\n }, /*#__PURE__*/ (0, $8BE50$react).createElement(\"option\", null), [\n ...state.collection.getKeys()\n ].map((key)=>{\n let item = state.collection.getItem(key);\n if (item && item.type === 'item') return /*#__PURE__*/ (0, $8BE50$react).createElement(\"option\", {\n key: item.key,\n value: item.key\n }, item.textValue);\n }))));\n else if (name) {\n let data = (0, $58aed456727eb0f3$export$703601b7e90536f8).get(state) || {};\n let { validationBehavior: validationBehavior } = data;\n var _state_selectedKey;\n let inputProps = {\n type: 'hidden',\n autoComplete: selectProps.autoComplete,\n name: name,\n form: form,\n disabled: isDisabled,\n value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : ''\n };\n if (validationBehavior === 'native') // Use a hidden <input type=\"text\"> rather than <input type=\"hidden\">\n // so that an empty value blocks HTML form submission when the field is required.\n return /*#__PURE__*/ (0, $8BE50$react).createElement(\"input\", {\n ...inputProps,\n ref: inputRef,\n style: {\n display: 'none'\n },\n type: \"text\",\n required: selectProps.required,\n onChange: ()=>{}\n });\n return /*#__PURE__*/ (0, $8BE50$react).createElement(\"input\", {\n ...inputProps,\n ref: inputRef\n });\n }\n return null;\n}\n\n\nexport {$bdd25dc72710631f$export$f809e80f58e251d1 as useHiddenSelect, $bdd25dc72710631f$export$cbd84cdb2e668835 as HiddenSelect};\n//# sourceMappingURL=HiddenSelect.module.js.map\n","import {useFormValidationState as $6FfNf$useFormValidationState} from \"@react-stately/form\";\nimport {useOverlayTriggerState as $6FfNf$useOverlayTriggerState} from \"@react-stately/overlays\";\nimport {useSingleSelectListState as $6FfNf$useSingleSelectListState} from \"@react-stately/list\";\nimport {useState as $6FfNf$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $2bc3a590c5373a4e$export$5159ec8b34d4ec12(props) {\n let triggerState = (0, $6FfNf$useOverlayTriggerState)(props);\n let [focusStrategy, setFocusStrategy] = (0, $6FfNf$useState)(null);\n let listState = (0, $6FfNf$useSingleSelectListState)({\n ...props,\n onSelectionChange: (key)=>{\n if (props.onSelectionChange != null) props.onSelectionChange(key);\n triggerState.close();\n validationState.commitValidation();\n }\n });\n let validationState = (0, $6FfNf$useFormValidationState)({\n ...props,\n value: listState.selectedKey\n });\n let [isFocused, setFocused] = (0, $6FfNf$useState)(false);\n let [initialSelectedKey] = (0, $6FfNf$useState)(listState.selectedKey);\n var _props_defaultSelectedKey;\n return {\n ...validationState,\n ...listState,\n ...triggerState,\n defaultSelectedKey: (_props_defaultSelectedKey = props.defaultSelectedKey) !== null && _props_defaultSelectedKey !== void 0 ? _props_defaultSelectedKey : initialSelectedKey,\n focusStrategy: focusStrategy,\n open (focusStrategy = null) {\n // Don't open if the collection is empty.\n if (listState.collection.size !== 0) {\n setFocusStrategy(focusStrategy);\n triggerState.open();\n }\n },\n toggle (focusStrategy = null) {\n if (listState.collection.size !== 0) {\n setFocusStrategy(focusStrategy);\n triggerState.toggle();\n }\n },\n isFocused: isFocused,\n setFocused: setFocused\n };\n}\n\n\nexport {$2bc3a590c5373a4e$export$5159ec8b34d4ec12 as useSelectState};\n//# sourceMappingURL=useSelectState.module.js.map\n","import {ButtonContext as $d2b4bc8c273e7be6$export$24d547caef80ccd1} from \"./Button.mjs\";\nimport {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, removeDataAttributes as $64fa3d84918910a7$export$ef03459518577ad4, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, useSlottedContext as $64fa3d84918910a7$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $ee014567cb39d3f0$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FormContext as $d3e0e05bdfcf66bd$export$c24727297075ec6a} from \"./Form.mjs\";\nimport $akiWb$intlStringsmodulejs from \"./intlStrings.mjs\";\nimport {LabelContext as $01b77f81d0f07f68$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {ListBoxContext as $eed445e0843c11d0$export$7ff8f37d2d81a48d, ListStateContext as $eed445e0843c11d0$export$7c5906fe4f1f2af2} from \"./ListBox.mjs\";\nimport {OverlayTriggerStateContext as $de32f1b87079253c$export$d2f961adcb0afbe} from \"./Dialog.mjs\";\nimport {PopoverContext as $07b14b47974efb58$export$9b9a0cd73afb7ca4} from \"./Popover.mjs\";\nimport {TextContext as $514c0188e459b4c0$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useFocusRing as $akiWb$useFocusRing, useSelect as $akiWb$useSelect, HiddenSelect as $akiWb$HiddenSelect, useLocalizedStringFormatter as $akiWb$useLocalizedStringFormatter} from \"react-aria\";\nimport {useSelectState as $akiWb$useSelectState} from \"react-stately\";\nimport {CollectionBuilder as $akiWb$CollectionBuilder} from \"@react-aria/collections\";\nimport {useResizeObserver as $akiWb$useResizeObserver, filterDOMProps as $akiWb$filterDOMProps, mergeProps as $akiWb$mergeProps} from \"@react-aria/utils\";\nimport $akiWb$react, {createContext as $akiWb$createContext, forwardRef as $akiWb$forwardRef, useMemo as $akiWb$useMemo, useRef as $akiWb$useRef, useState as $akiWb$useState, useCallback as $akiWb$useCallback, useContext as $akiWb$useContext} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $82d7e5349645de74$export$7540cee5be7dc19b = /*#__PURE__*/ (0, $akiWb$createContext)(null);\nconst $82d7e5349645de74$export$ef445b55be0601bd = /*#__PURE__*/ (0, $akiWb$createContext)(null);\nconst $82d7e5349645de74$export$ef9b1a59e592288f = /*#__PURE__*/ (0, $akiWb$forwardRef)(function Select(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $82d7e5349645de74$export$7540cee5be7dc19b);\n let { children: children, isDisabled: isDisabled = false, isInvalid: isInvalid = false, isRequired: isRequired = false } = props;\n let content = (0, $akiWb$useMemo)(()=>typeof children === 'function' ? children({\n isOpen: false,\n isDisabled: isDisabled,\n isInvalid: isInvalid,\n isRequired: isRequired,\n isFocused: false,\n isFocusVisible: false,\n defaultChildren: null\n }) : children, [\n children,\n isDisabled,\n isInvalid,\n isRequired\n ]);\n return /*#__PURE__*/ (0, $akiWb$react).createElement((0, $akiWb$CollectionBuilder), {\n content: content\n }, (collection)=>/*#__PURE__*/ (0, $akiWb$react).createElement($82d7e5349645de74$var$SelectInner, {\n props: props,\n collection: collection,\n selectRef: ref\n }));\n});\n// Contexts to clear inside the popover.\nconst $82d7e5349645de74$var$CLEAR_CONTEXTS = [\n (0, $01b77f81d0f07f68$export$75b6ee27786ba447),\n (0, $d2b4bc8c273e7be6$export$24d547caef80ccd1),\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea)\n];\nfunction $82d7e5349645de74$var$SelectInner({ props: props, selectRef: ref, collection: collection }) {\n let { validationBehavior: formValidationBehavior } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)((0, $d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};\n var _props_validationBehavior, _ref;\n let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : 'native';\n let state = (0, $akiWb$useSelectState)({\n ...props,\n collection: collection,\n children: undefined,\n validationBehavior: validationBehavior\n });\n let { isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $akiWb$useFocusRing)({\n within: true\n });\n // Get props for child elements from useSelect\n let buttonRef = (0, $akiWb$useRef)(null);\n let [labelRef, label] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { labelProps: labelProps, triggerProps: triggerProps, valueProps: valueProps, menuProps: menuProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, hiddenSelectProps: hiddenSelectProps, ...validation } = (0, $akiWb$useSelect)({\n ...(0, $64fa3d84918910a7$export$ef03459518577ad4)(props),\n label: label,\n validationBehavior: validationBehavior\n }, state, buttonRef);\n // Make menu width match input + button\n let [buttonWidth, setButtonWidth] = (0, $akiWb$useState)(null);\n let onResize = (0, $akiWb$useCallback)(()=>{\n if (buttonRef.current) setButtonWidth(buttonRef.current.offsetWidth + 'px');\n }, [\n buttonRef\n ]);\n (0, $akiWb$useResizeObserver)({\n ref: buttonRef,\n onResize: onResize\n });\n // Only expose a subset of state to renderProps function to avoid infinite render loop\n let renderPropsState = (0, $akiWb$useMemo)(()=>({\n isOpen: state.isOpen,\n isFocused: state.isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: validation.isInvalid || false,\n isRequired: props.isRequired || false\n }), [\n state.isOpen,\n state.isFocused,\n isFocusVisible,\n props.isDisabled,\n validation.isInvalid,\n props.isRequired\n ]);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n values: renderPropsState,\n defaultClassName: 'react-aria-Select'\n });\n let DOMProps = (0, $akiWb$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n let scrollRef = (0, $akiWb$useRef)(null);\n return /*#__PURE__*/ (0, $akiWb$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $82d7e5349645de74$export$7540cee5be7dc19b,\n props\n ],\n [\n $82d7e5349645de74$export$ef445b55be0601bd,\n state\n ],\n [\n $82d7e5349645de74$export$f8f745c04421623f,\n valueProps\n ],\n [\n (0, $01b77f81d0f07f68$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n ],\n [\n (0, $d2b4bc8c273e7be6$export$24d547caef80ccd1),\n {\n ...triggerProps,\n ref: buttonRef,\n isPressed: state.isOpen,\n autoFocus: props.autoFocus\n }\n ],\n [\n (0, $de32f1b87079253c$export$d2f961adcb0afbe),\n state\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n trigger: 'Select',\n triggerRef: buttonRef,\n scrollRef: scrollRef,\n placement: 'bottom start',\n style: {\n '--trigger-width': buttonWidth\n },\n 'aria-labelledby': menuProps['aria-labelledby'],\n clearContexts: $82d7e5349645de74$var$CLEAR_CONTEXTS\n }\n ],\n [\n (0, $eed445e0843c11d0$export$7ff8f37d2d81a48d),\n {\n ...menuProps,\n ref: scrollRef\n }\n ],\n [\n (0, $eed445e0843c11d0$export$7c5906fe4f1f2af2),\n state\n ],\n [\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $ee014567cb39d3f0$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, /*#__PURE__*/ (0, $akiWb$react).createElement(\"div\", {\n ...(0, $akiWb$mergeProps)(DOMProps, renderProps, focusProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-focused\": state.isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-open\": state.isOpen || undefined,\n \"data-disabled\": props.isDisabled || undefined,\n \"data-invalid\": validation.isInvalid || undefined,\n \"data-required\": props.isRequired || undefined\n }, renderProps.children, /*#__PURE__*/ (0, $akiWb$react).createElement((0, $akiWb$HiddenSelect), {\n ...hiddenSelectProps,\n autoComplete: props.autoComplete\n })));\n}\nconst $82d7e5349645de74$export$f8f745c04421623f = /*#__PURE__*/ (0, $akiWb$createContext)(null);\nconst $82d7e5349645de74$export$e288731fd71264f0 = /*#__PURE__*/ (0, $akiWb$forwardRef)(function SelectValue(props, ref) {\n var _state_selectedItem, _state_selectedItem1;\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $82d7e5349645de74$export$f8f745c04421623f);\n let state = (0, $akiWb$useContext)($82d7e5349645de74$export$ef445b55be0601bd);\n let { placeholder: placeholder } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)($82d7e5349645de74$export$7540cee5be7dc19b);\n let selectedItem = state.selectedKey != null ? state.collection.getItem(state.selectedKey) : null;\n let rendered = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.props.children;\n if (typeof rendered === 'function') {\n // If the selected item has a function as a child, we need to call it to render to React.JSX.\n let fn = rendered;\n rendered = fn({\n isHovered: false,\n isPressed: false,\n isSelected: false,\n isFocused: false,\n isFocusVisible: false,\n isDisabled: false,\n selectionMode: 'single',\n selectionBehavior: 'toggle'\n });\n }\n let stringFormatter = (0, $akiWb$useLocalizedStringFormatter)((0, ($parcel$interopDefault($akiWb$intlStringsmodulejs))), 'react-aria-components');\n var _ref, _state_selectedItem_value, _state_selectedItem_textValue;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultChildren: (_ref = rendered !== null && rendered !== void 0 ? rendered : placeholder) !== null && _ref !== void 0 ? _ref : stringFormatter.format('selectPlaceholder'),\n defaultClassName: 'react-aria-SelectValue',\n values: {\n selectedItem: (_state_selectedItem_value = (_state_selectedItem = state.selectedItem) === null || _state_selectedItem === void 0 ? void 0 : _state_selectedItem.value) !== null && _state_selectedItem_value !== void 0 ? _state_selectedItem_value : null,\n selectedText: (_state_selectedItem_textValue = (_state_selectedItem1 = state.selectedItem) === null || _state_selectedItem1 === void 0 ? void 0 : _state_selectedItem1.textValue) !== null && _state_selectedItem_textValue !== void 0 ? _state_selectedItem_textValue : null,\n isPlaceholder: !selectedItem\n }\n });\n let DOMProps = (0, $akiWb$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $akiWb$react).createElement(\"span\", {\n ref: ref,\n ...DOMProps,\n ...renderProps,\n \"data-placeholder\": !selectedItem || undefined\n }, /*#__PURE__*/ (0, $akiWb$react).createElement((0, $514c0188e459b4c0$export$9afb8bc826b033ea).Provider, {\n value: undefined\n }, renderProps.children));\n});\n\n\nexport {$82d7e5349645de74$export$7540cee5be7dc19b as SelectContext, $82d7e5349645de74$export$ef445b55be0601bd as SelectStateContext, $82d7e5349645de74$export$ef9b1a59e592288f as Select, $82d7e5349645de74$export$f8f745c04421623f as SelectValueContext, $82d7e5349645de74$export$e288731fd71264f0 as SelectValue};\n//# sourceMappingURL=Select.module.js.map\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { selectSlotRecipe } from \"./select.recipe\";\nimport { type SelectProps as RaSelectProps } from \"react-aria-components\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"select\",\n});\n\n// Select\nexport interface SelectRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof selectSlotRecipe> & RaSelectProps<object>\n > {}\nexport const SelectRootSlot = withProvider<HTMLDivElement, SelectRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger Button\nexport interface SelectTriggerSlotProps extends HTMLChakraProps<\"button\"> {}\nexport const SelectTriggerSlot = withContext<\n HTMLButtonElement,\n SelectTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Trigger Button Label\nexport interface SelectTriggerLabelSlotProps extends HTMLChakraProps<\"span\"> {}\nexport const SelectTriggerLabelSlot = withContext<\n HTMLButtonElement,\n SelectTriggerLabelSlotProps\n>(\"span\", \"triggerLabel\");\n\n// ListBox\nexport interface SelectOptionsSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionsSlot = withContext<\n HTMLDivElement,\n SelectOptionsSlotProps\n>(\"div\", \"options\");\n\n// ListBoxItem\nexport interface SelectOptionSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionSlot = withContext<\n HTMLDivElement,\n SelectOptionSlotProps\n>(\"div\", \"option\");\n\n// OptionGroup\nexport interface SelectOptionGroupSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionGroupSlot = withContext<\n HTMLDivElement,\n SelectOptionGroupSlotProps\n>(\"div\", \"optionGroup\");\n","import { useContext } from \"react\";\nimport { Close as CloseIcon } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"@/components\";\nimport { SelectStateContext } from \"react-aria-components\";\nimport { ClearPressResponder } from \"@react-aria/interactions\";\n\nexport const SelectClearButton = () => {\n const state = useContext(SelectStateContext);\n\n if (!state?.selectedKey) {\n return null;\n }\n\n const onPressRequest = () => {\n state?.setSelectedKey(null);\n };\n\n return (\n <ClearPressResponder>\n <IconButton\n pointerEvents=\"all\"\n size=\"2xs\"\n variant=\"ghost\"\n tone=\"primary\"\n aria-label=\"Clear Selection\"\n onPress={onPressRequest}\n >\n <CloseIcon />\n </IconButton>\n </ClearPressResponder>\n );\n};\n\nSelectClearButton.displayName = \"Select.ClearButton\";\n","import { forwardRef } from \"react\";\nimport { chakra, useSlotRecipe } from \"@chakra-ui/react/styled-system\";\n\nimport {\n KeyboardArrowDown as DropdownIndicatorIcon,\n Loop as SpinnerIcon,\n} from \"@commercetools/nimbus-icons\";\n\nimport { Flex, Box } from \"@/components\";\nimport {\n Button as RaButton,\n Popover as RaPopover,\n Select as RaSelect,\n SelectValue as RaSelectValue,\n} from \"react-aria-components\";\nimport {\n SelectRootSlot,\n SelectTriggerSlot,\n SelectTriggerLabelSlot,\n} from \"./../select.slots\";\nimport { SelectClearButton } from \"./select.clear-button\";\nimport { type SelectRootProps } from \"./../select.types\";\nimport { selectSlotRecipe } from \"../select.recipe\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\n/**\n * # Select\n *\n * displays a collapsible list of options and allows a user to select one of them.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/select}\n */\nexport const SelectRoot = forwardRef<HTMLDivElement, SelectRootProps>(\n ({ children, isLoading, isDisabled, ...props }, ref) => {\n const recipe = useSlotRecipe({ recipe: selectSlotRecipe });\n const [recipeProps, restRecipeProps] = recipe.splitVariantProps(props);\n const [styleProps, restProps] = extractStyleProps(restRecipeProps);\n\n const raSelectProps = {\n ...restProps,\n isDisabled: isLoading || isDisabled,\n };\n\n return (\n <SelectRootSlot asChild ref={ref} {...recipeProps} {...styleProps}>\n <RaSelect {...raSelectProps}>\n <chakra.div position=\"relative\">\n <SelectTriggerSlot zIndex={0} asChild>\n <RaButton>\n <SelectTriggerLabelSlot asChild>\n <RaSelectValue />\n </SelectTriggerLabelSlot>\n </RaButton>\n </SelectTriggerSlot>\n <Flex\n position=\"absolute\"\n top=\"0\"\n bottom=\"0\"\n zIndex={1}\n right=\"400\"\n pointerEvents=\"none\"\n >\n <Flex width=\"600\" my=\"auto\">\n <SelectClearButton />\n </Flex>\n\n <Flex my=\"auto\" w=\"600\" h=\"600\" pointerEvents=\"none\">\n <Box color=\"neutral.9\" asChild m=\"auto\" w=\"400\" h=\"400\">\n {isLoading ? (\n <Box asChild animation=\"spin\" animationDuration=\"slowest\">\n <SpinnerIcon />\n </Box>\n ) : (\n <DropdownIndicatorIcon />\n )}\n </Box>\n </Flex>\n </Flex>\n </chakra.div>\n\n <RaPopover>{children}</RaPopover>\n </RaSelect>\n </SelectRootSlot>\n );\n }\n);\n\nSelectRoot.displayName = \"Select.Root\";\n","import { ListBox as RaListBox } from \"react-aria-components\";\nimport { SelectOptionsSlot } from \"./../select.slots\";\nimport type { SelectOptionsProps } from \"../select.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nexport const SelectOptions = <T extends object>(\n props: SelectOptionsProps<T> & { ref?: React.Ref<HTMLDivElement> }\n) => {\n const { ref, ...restProps } = props;\n const [styleProps, rest] = extractStyleProps(restProps);\n return (\n <SelectOptionsSlot asChild {...styleProps}>\n <RaListBox ref={ref} {...rest} />\n </SelectOptionsSlot>\n );\n};\n\nSelectOptions.displayName = \"Select.Options\";\n","import { ListBoxItem as RaListBoxItem } from \"react-aria-components\";\nimport { SelectOptionSlot } from \"./../select.slots\";\nimport type { SelectOptionProps } from \"../select.types\";\n\nexport const SelectOption = <T extends object>({\n ref,\n ...restProps\n}: SelectOptionProps<T> & { ref?: React.Ref<HTMLDivElement> }) => {\n return (\n <SelectOptionSlot asChild ref={ref}>\n <RaListBoxItem {...restProps} />\n </SelectOptionSlot>\n );\n};\n\nSelectOption.displayName = \"Select.Option\";\n","import { type ReactNode } from \"react\";\n\nimport {\n ListBoxSection as RaListBoxSection,\n Header as RaHeader,\n Collection,\n} from \"react-aria-components\";\nimport { SelectOptionGroupSlot } from \"./../select.slots\";\nimport type { SelectOptionGroupProps } from \"../select.types\";\n\nexport const SelectOptionGroup = <T extends object>(\n props: SelectOptionGroupProps<T> & { ref?: React.Ref<HTMLDivElement> }\n) => {\n const { ref, label, items, children, ...restProps } = props;\n\n // Validate that children is a function when items is provided\n if (items && typeof children !== \"function\") {\n throw new Error(\n 'SelectOptionGroup: When \"items\" is provided, \"children\" must be a function'\n );\n }\n\n return (\n <RaListBoxSection ref={ref} {...restProps}>\n <SelectOptionGroupSlot asChild>\n <RaHeader>{label}</RaHeader>\n </SelectOptionGroupSlot>\n\n {items ? (\n <Collection items={items}>\n {(item: T) => {\n if (typeof children === \"function\") {\n return children(item);\n }\n return null;\n }}\n </Collection>\n ) : (\n (children as ReactNode)\n )}\n </RaListBoxSection>\n );\n};\n\nSelectOptionGroup.displayName = \"Select.OptionGroup\";\n","import { SelectRoot as _SelectRoot } from \"./components/select.root\";\nimport { SelectOptions as _SelectOptions } from \"./components/select.options\";\nimport { SelectOption as _SelectOption } from \"./components/select.option\";\nimport { SelectOptionGroup as _SelectOptionGroup } from \"./components/select.option-group\";\n\nexport const Select = {\n Root: _SelectRoot,\n Options: _SelectOptions,\n Option: _SelectOption,\n OptionGroup: _SelectOptionGroup,\n};\n\n/**\n * todo: get rid of this, this is needed for the react-docgen-typescript script\n * that is parsing the typescript types for our documentation. The _ underscores\n * serve as a reminder that this exports are awkward and should not be used.\n */\nexport { _SelectRoot, _SelectOptions, _SelectOption, _SelectOptionGroup };\n"],"names":["$58aed456727eb0f3$export$703601b7e90536f8","$58aed456727eb0f3$export$e64b2f635402ca43","props","state","ref","keyboardDelegate","isDisabled","isRequired","name","form","validationBehavior","collator","$aUnai$useCollator","delegate","$aUnai$useMemo","$aUnai$ListKeyboardDelegate","menuTriggerProps","menuProps","$aUnai$useMenuTrigger","onKeyDown","e","_delegate_getKeyAbove","_delegate_getFirstKey","key","_delegate_getKeyBelow","_delegate_getFirstKey1","typeSelectProps","$aUnai$useTypeSelect","isInvalid","validationErrors","validationDetails","labelProps","fieldProps","descriptionProps","errorMessageProps","$aUnai$useField","domProps","$aUnai$filterDOMProps","triggerProps","$aUnai$mergeProps","valueId","$aUnai$useId","_ref_current","$aUnai$setInteractionModality","$aUnai$chain","$bdd25dc72710631f$export$f809e80f58e251d1","triggerRef","data","autoComplete","visuallyHiddenProps","$8BE50$useVisuallyHidden","$8BE50$useFormReset","$8BE50$useFormValidation","_triggerRef_current","onChange","$8BE50$useCallback","_state_selectedKey","$bdd25dc72710631f$export$cbd84cdb2e668835","label","selectRef","$8BE50$useRef","inputRef","containerProps","selectProps","$8BE50$react","item","inputProps","$2bc3a590c5373a4e$export$5159ec8b34d4ec12","triggerState","$6FfNf$useOverlayTriggerState","focusStrategy","setFocusStrategy","$6FfNf$useState","listState","$6FfNf$useSingleSelectListState","validationState","$6FfNf$useFormValidationState","isFocused","setFocused","initialSelectedKey","_props_defaultSelectedKey","$parcel$interopDefault","a","$82d7e5349645de74$export$7540cee5be7dc19b","$akiWb$createContext","$82d7e5349645de74$export$ef445b55be0601bd","$82d7e5349645de74$export$ef9b1a59e592288f","$akiWb$forwardRef","$64fa3d84918910a7$export$29f1550f4b0d4415","children","content","$akiWb$useMemo","$akiWb$react","$akiWb$CollectionBuilder","collection","$82d7e5349645de74$var$SelectInner","$82d7e5349645de74$var$CLEAR_CONTEXTS","$01b77f81d0f07f68$export$75b6ee27786ba447","$d2b4bc8c273e7be6$export$24d547caef80ccd1","$514c0188e459b4c0$export$9afb8bc826b033ea","formValidationBehavior","$64fa3d84918910a7$export$fabf2dc03a41866e","$d3e0e05bdfcf66bd$export$c24727297075ec6a","_props_validationBehavior","_ref","$akiWb$useSelectState","isFocusVisible","focusProps","$akiWb$useFocusRing","buttonRef","$akiWb$useRef","labelRef","$64fa3d84918910a7$export$9d4c57ee4c6ffdd8","valueProps","hiddenSelectProps","validation","$akiWb$useSelect","$64fa3d84918910a7$export$ef03459518577ad4","buttonWidth","setButtonWidth","$akiWb$useState","onResize","$akiWb$useCallback","$akiWb$useResizeObserver","renderPropsState","renderProps","$64fa3d84918910a7$export$4d86445c2cf5e3","DOMProps","$akiWb$filterDOMProps","scrollRef","$64fa3d84918910a7$export$2881499e37b75b9a","$82d7e5349645de74$export$f8f745c04421623f","$de32f1b87079253c$export$d2f961adcb0afbe","$07b14b47974efb58$export$9b9a0cd73afb7ca4","$eed445e0843c11d0$export$7ff8f37d2d81a48d","$eed445e0843c11d0$export$7c5906fe4f1f2af2","$ee014567cb39d3f0$export$ff05c3ac10437e03","$akiWb$mergeProps","$akiWb$HiddenSelect","$82d7e5349645de74$export$e288731fd71264f0","_state_selectedItem","_state_selectedItem1","$akiWb$useContext","placeholder","selectedItem","rendered","stringFormatter","$akiWb$useLocalizedStringFormatter","$akiWb$intlStringsmodulejs","_state_selectedItem_value","_state_selectedItem_textValue","withProvider","withContext","createSlotRecipeContext","SelectRootSlot","SelectTriggerSlot","SelectTriggerLabelSlot","SelectOptionsSlot","SelectOptionSlot","SelectOptionGroupSlot","SelectClearButton","useContext","SelectStateContext","ClearPressResponder","jsx","IconButton","CloseIcon","SelectRoot","forwardRef","isLoading","recipe","useSlotRecipe","selectSlotRecipe","recipeProps","restRecipeProps","styleProps","restProps","extractStyleProps","raSelectProps","jsxs","RaSelect","chakra","RaButton","RaSelectValue","Flex","Box","SpinnerIcon","DropdownIndicatorIcon","RaPopover","SelectOptions","rest","RaListBox","SelectOption","RaListBoxItem","SelectOptionGroup","items","RaListBoxSection","RaHeader","Collection","Select","_SelectRoot","_SelectOptions","_SelectOption","_SelectOptionGroup"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"select-BwGMCDw8.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+select@3.16.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/select/dist/useSelect.mjs","../../../../node_modules/.pnpm/@react-aria+select@3.16.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/select/dist/HiddenSelect.mjs","../../../../node_modules/.pnpm/@react-stately+select@3.7.0_react@19.1.0/node_modules/@react-stately/select/dist/useSelectState.mjs","../../../../node_modules/.pnpm/react-aria-components@1.11.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/Select.mjs","../../src/components/select/select.slots.tsx","../../src/components/select/components/select.clear-button.tsx","../../src/components/select/components/select.root.tsx","../../src/components/select/components/select.options.tsx","../../src/components/select/components/select.option.tsx","../../src/components/select/components/select.option-group.tsx","../../src/components/select/select.tsx"],"sourcesContent":["import {filterDOMProps as $aUnai$filterDOMProps, mergeProps as $aUnai$mergeProps, useId as $aUnai$useId, chain as $aUnai$chain} from \"@react-aria/utils\";\nimport {useMemo as $aUnai$useMemo} from \"react\";\nimport {ListKeyboardDelegate as $aUnai$ListKeyboardDelegate, useTypeSelect as $aUnai$useTypeSelect} from \"@react-aria/selection\";\nimport {setInteractionModality as $aUnai$setInteractionModality} from \"@react-aria/interactions\";\nimport {useCollator as $aUnai$useCollator} from \"@react-aria/i18n\";\nimport {useField as $aUnai$useField} from \"@react-aria/label\";\nimport {useMenuTrigger as $aUnai$useMenuTrigger} from \"@react-aria/menu\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $58aed456727eb0f3$export$703601b7e90536f8 = new WeakMap();\nfunction $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {\n let { keyboardDelegate: keyboardDelegate, isDisabled: isDisabled, isRequired: isRequired, name: name, form: form, validationBehavior: validationBehavior = 'aria' } = props;\n // By default, a KeyboardDelegate is provided which uses the DOM to query layout information (e.g. for page up/page down).\n // When virtualized, the layout object will be passed in as a prop and override this.\n let collator = (0, $aUnai$useCollator)({\n usage: 'search',\n sensitivity: 'base'\n });\n let delegate = (0, $aUnai$useMemo)(()=>keyboardDelegate || new (0, $aUnai$ListKeyboardDelegate)(state.collection, state.disabledKeys, ref, collator), [\n keyboardDelegate,\n state.collection,\n state.disabledKeys,\n collator,\n ref\n ]);\n let { menuTriggerProps: menuTriggerProps, menuProps: menuProps } = (0, $aUnai$useMenuTrigger)({\n isDisabled: isDisabled,\n type: 'listbox'\n }, state, ref);\n let onKeyDown = (e)=>{\n switch(e.key){\n case 'ArrowLeft':\n {\n var _delegate_getKeyAbove, _delegate_getFirstKey;\n // prevent scrolling containers\n e.preventDefault();\n let key = state.selectedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, state.selectedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);\n if (key) state.setSelectedKey(key);\n break;\n }\n case 'ArrowRight':\n {\n var _delegate_getKeyBelow, _delegate_getFirstKey1;\n // prevent scrolling containers\n e.preventDefault();\n let key = state.selectedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, state.selectedKey) : (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate);\n if (key) state.setSelectedKey(key);\n break;\n }\n }\n };\n let { typeSelectProps: typeSelectProps } = (0, $aUnai$useTypeSelect)({\n keyboardDelegate: delegate,\n selectionManager: state.selectionManager,\n onTypeSelect (key) {\n state.setSelectedKey(key);\n }\n });\n let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = state.displayValidation;\n let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = (0, $aUnai$useField)({\n ...props,\n labelElementType: 'span',\n isInvalid: isInvalid,\n errorMessage: props.errorMessage || validationErrors\n });\n typeSelectProps.onKeyDown = typeSelectProps.onKeyDownCapture;\n delete typeSelectProps.onKeyDownCapture;\n let domProps = (0, $aUnai$filterDOMProps)(props, {\n labelable: true\n });\n let triggerProps = (0, $aUnai$mergeProps)(typeSelectProps, menuTriggerProps, fieldProps);\n let valueId = (0, $aUnai$useId)();\n $58aed456727eb0f3$export$703601b7e90536f8.set(state, {\n isDisabled: isDisabled,\n isRequired: isRequired,\n name: name,\n form: form,\n validationBehavior: validationBehavior\n });\n return {\n labelProps: {\n ...labelProps,\n onClick: ()=>{\n if (!props.isDisabled) {\n var _ref_current;\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n // Show the focus ring so the user knows where focus went\n (0, $aUnai$setInteractionModality)('keyboard');\n }\n }\n },\n triggerProps: (0, $aUnai$mergeProps)(domProps, {\n ...triggerProps,\n isDisabled: isDisabled,\n onKeyDown: (0, $aUnai$chain)(triggerProps.onKeyDown, onKeyDown, props.onKeyDown),\n onKeyUp: props.onKeyUp,\n 'aria-labelledby': [\n valueId,\n triggerProps['aria-labelledby'],\n triggerProps['aria-label'] && !triggerProps['aria-labelledby'] ? triggerProps.id : null\n ].filter(Boolean).join(' '),\n onFocus (e) {\n if (state.isFocused) return;\n if (props.onFocus) props.onFocus(e);\n if (props.onFocusChange) props.onFocusChange(true);\n state.setFocused(true);\n },\n onBlur (e) {\n if (state.isOpen) return;\n if (props.onBlur) props.onBlur(e);\n if (props.onFocusChange) props.onFocusChange(false);\n state.setFocused(false);\n }\n }),\n valueProps: {\n id: valueId\n },\n menuProps: {\n ...menuProps,\n autoFocus: state.focusStrategy || true,\n shouldSelectOnPressUp: true,\n shouldFocusOnHover: true,\n disallowEmptySelection: true,\n linkBehavior: 'selection',\n onBlur: (e)=>{\n if (e.currentTarget.contains(e.relatedTarget)) return;\n if (props.onBlur) props.onBlur(e);\n if (props.onFocusChange) props.onFocusChange(false);\n state.setFocused(false);\n },\n 'aria-labelledby': [\n fieldProps['aria-labelledby'],\n triggerProps['aria-label'] && !fieldProps['aria-labelledby'] ? triggerProps.id : null\n ].filter(Boolean).join(' ')\n },\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails,\n hiddenSelectProps: {\n isDisabled: isDisabled,\n name: name,\n label: props.label,\n state: state,\n triggerRef: ref,\n form: form\n }\n };\n}\n\n\nexport {$58aed456727eb0f3$export$703601b7e90536f8 as selectData, $58aed456727eb0f3$export$e64b2f635402ca43 as useSelect};\n//# sourceMappingURL=useSelect.module.js.map\n","import {selectData as $58aed456727eb0f3$export$703601b7e90536f8} from \"./useSelect.mjs\";\nimport $8BE50$react, {useCallback as $8BE50$useCallback, useRef as $8BE50$useRef} from \"react\";\nimport {useFormReset as $8BE50$useFormReset} from \"@react-aria/utils\";\nimport {useFormValidation as $8BE50$useFormValidation} from \"@react-aria/form\";\nimport {useVisuallyHidden as $8BE50$useVisuallyHidden} from \"@react-aria/visually-hidden\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {\n let data = (0, $58aed456727eb0f3$export$703601b7e90536f8).get(state) || {};\n let { autoComplete: autoComplete, name: name = data.name, form: form = data.form, isDisabled: isDisabled = data.isDisabled } = props;\n let { validationBehavior: validationBehavior, isRequired: isRequired } = data;\n let { visuallyHiddenProps: visuallyHiddenProps } = (0, $8BE50$useVisuallyHidden)({\n style: {\n // Prevent page scrolling.\n position: 'fixed',\n top: 0,\n left: 0\n }\n });\n (0, $8BE50$useFormReset)(props.selectRef, state.defaultSelectedKey, state.setSelectedKey);\n (0, $8BE50$useFormValidation)({\n validationBehavior: validationBehavior,\n focus: ()=>{\n var _triggerRef_current;\n return (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n }\n }, state, props.selectRef);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n let onChange = (0, $8BE50$useCallback)((e)=>state.setSelectedKey(e.currentTarget.value), [\n state.setSelectedKey\n ]);\n var _state_selectedKey;\n // In Safari, the <select> cannot have `display: none` or `hidden` for autofill to work.\n // In Firefox, there must be a <label> to identify the <select> whereas other browsers\n // seem to identify it just by surrounding text.\n // The solution is to use <VisuallyHidden> to hide the elements, which clips the elements to a\n // 1px rectangle. In addition, we hide from screen readers with aria-hidden, and make the <select>\n // non tabbable with tabIndex={-1}.\n return {\n containerProps: {\n ...visuallyHiddenProps,\n 'aria-hidden': true,\n // @ts-ignore\n ['data-react-aria-prevent-focus']: true,\n // @ts-ignore\n ['data-a11y-ignore']: 'aria-hidden-focus'\n },\n inputProps: {\n style: {\n display: 'none'\n }\n },\n selectProps: {\n tabIndex: -1,\n autoComplete: autoComplete,\n disabled: isDisabled,\n required: validationBehavior === 'native' && isRequired,\n name: name,\n form: form,\n value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : '',\n onChange: onChange,\n onInput: onChange\n }\n };\n}\nfunction $bdd25dc72710631f$export$cbd84cdb2e668835(props) {\n let { state: state, triggerRef: triggerRef, label: label, name: name, form: form, isDisabled: isDisabled } = props;\n let selectRef = (0, $8BE50$useRef)(null);\n let inputRef = (0, $8BE50$useRef)(null);\n let { containerProps: containerProps, selectProps: selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({\n ...props,\n selectRef: state.collection.size <= 300 ? selectRef : inputRef\n }, state, triggerRef);\n // If used in a <form>, use a hidden input so the value can be submitted to a server.\n // If the collection isn't too big, use a hidden <select> element for this so that browser\n // autofill will work. Otherwise, use an <input type=\"hidden\">.\n if (state.collection.size <= 300) return /*#__PURE__*/ (0, $8BE50$react).createElement(\"div\", {\n ...containerProps,\n \"data-testid\": \"hidden-select-container\"\n }, /*#__PURE__*/ (0, $8BE50$react).createElement(\"label\", null, label, /*#__PURE__*/ (0, $8BE50$react).createElement(\"select\", {\n ...selectProps,\n ref: selectRef\n }, /*#__PURE__*/ (0, $8BE50$react).createElement(\"option\", null), [\n ...state.collection.getKeys()\n ].map((key)=>{\n let item = state.collection.getItem(key);\n if (item && item.type === 'item') return /*#__PURE__*/ (0, $8BE50$react).createElement(\"option\", {\n key: item.key,\n value: item.key\n }, item.textValue);\n }))));\n else if (name) {\n let data = (0, $58aed456727eb0f3$export$703601b7e90536f8).get(state) || {};\n let { validationBehavior: validationBehavior } = data;\n var _state_selectedKey;\n let inputProps = {\n type: 'hidden',\n autoComplete: selectProps.autoComplete,\n name: name,\n form: form,\n disabled: isDisabled,\n value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : ''\n };\n if (validationBehavior === 'native') // Use a hidden <input type=\"text\"> rather than <input type=\"hidden\">\n // so that an empty value blocks HTML form submission when the field is required.\n return /*#__PURE__*/ (0, $8BE50$react).createElement(\"input\", {\n ...inputProps,\n ref: inputRef,\n style: {\n display: 'none'\n },\n type: \"text\",\n required: selectProps.required,\n onChange: ()=>{}\n });\n return /*#__PURE__*/ (0, $8BE50$react).createElement(\"input\", {\n ...inputProps,\n ref: inputRef\n });\n }\n return null;\n}\n\n\nexport {$bdd25dc72710631f$export$f809e80f58e251d1 as useHiddenSelect, $bdd25dc72710631f$export$cbd84cdb2e668835 as HiddenSelect};\n//# sourceMappingURL=HiddenSelect.module.js.map\n","import {useFormValidationState as $6FfNf$useFormValidationState} from \"@react-stately/form\";\nimport {useOverlayTriggerState as $6FfNf$useOverlayTriggerState} from \"@react-stately/overlays\";\nimport {useSingleSelectListState as $6FfNf$useSingleSelectListState} from \"@react-stately/list\";\nimport {useState as $6FfNf$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $2bc3a590c5373a4e$export$5159ec8b34d4ec12(props) {\n let triggerState = (0, $6FfNf$useOverlayTriggerState)(props);\n let [focusStrategy, setFocusStrategy] = (0, $6FfNf$useState)(null);\n let listState = (0, $6FfNf$useSingleSelectListState)({\n ...props,\n onSelectionChange: (key)=>{\n if (props.onSelectionChange != null) props.onSelectionChange(key);\n triggerState.close();\n validationState.commitValidation();\n }\n });\n let validationState = (0, $6FfNf$useFormValidationState)({\n ...props,\n value: listState.selectedKey\n });\n let [isFocused, setFocused] = (0, $6FfNf$useState)(false);\n let [initialSelectedKey] = (0, $6FfNf$useState)(listState.selectedKey);\n var _props_defaultSelectedKey;\n return {\n ...validationState,\n ...listState,\n ...triggerState,\n defaultSelectedKey: (_props_defaultSelectedKey = props.defaultSelectedKey) !== null && _props_defaultSelectedKey !== void 0 ? _props_defaultSelectedKey : initialSelectedKey,\n focusStrategy: focusStrategy,\n open (focusStrategy = null) {\n // Don't open if the collection is empty.\n if (listState.collection.size !== 0) {\n setFocusStrategy(focusStrategy);\n triggerState.open();\n }\n },\n toggle (focusStrategy = null) {\n if (listState.collection.size !== 0) {\n setFocusStrategy(focusStrategy);\n triggerState.toggle();\n }\n },\n isFocused: isFocused,\n setFocused: setFocused\n };\n}\n\n\nexport {$2bc3a590c5373a4e$export$5159ec8b34d4ec12 as useSelectState};\n//# sourceMappingURL=useSelectState.module.js.map\n","import {ButtonContext as $d2b4bc8c273e7be6$export$24d547caef80ccd1} from \"./Button.mjs\";\nimport {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, removeDataAttributes as $64fa3d84918910a7$export$ef03459518577ad4, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, useSlottedContext as $64fa3d84918910a7$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $ee014567cb39d3f0$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FormContext as $d3e0e05bdfcf66bd$export$c24727297075ec6a} from \"./Form.mjs\";\nimport $akiWb$intlStringsmodulejs from \"./intlStrings.mjs\";\nimport {LabelContext as $01b77f81d0f07f68$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {ListBoxContext as $eed445e0843c11d0$export$7ff8f37d2d81a48d, ListStateContext as $eed445e0843c11d0$export$7c5906fe4f1f2af2} from \"./ListBox.mjs\";\nimport {OverlayTriggerStateContext as $de32f1b87079253c$export$d2f961adcb0afbe} from \"./Dialog.mjs\";\nimport {PopoverContext as $07b14b47974efb58$export$9b9a0cd73afb7ca4} from \"./Popover.mjs\";\nimport {TextContext as $514c0188e459b4c0$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useFocusRing as $akiWb$useFocusRing, useSelect as $akiWb$useSelect, HiddenSelect as $akiWb$HiddenSelect, useLocalizedStringFormatter as $akiWb$useLocalizedStringFormatter} from \"react-aria\";\nimport {useSelectState as $akiWb$useSelectState} from \"react-stately\";\nimport {CollectionBuilder as $akiWb$CollectionBuilder} from \"@react-aria/collections\";\nimport {useResizeObserver as $akiWb$useResizeObserver, filterDOMProps as $akiWb$filterDOMProps, mergeProps as $akiWb$mergeProps} from \"@react-aria/utils\";\nimport $akiWb$react, {createContext as $akiWb$createContext, forwardRef as $akiWb$forwardRef, useMemo as $akiWb$useMemo, useRef as $akiWb$useRef, useState as $akiWb$useState, useCallback as $akiWb$useCallback, useContext as $akiWb$useContext} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $82d7e5349645de74$export$7540cee5be7dc19b = /*#__PURE__*/ (0, $akiWb$createContext)(null);\nconst $82d7e5349645de74$export$ef445b55be0601bd = /*#__PURE__*/ (0, $akiWb$createContext)(null);\nconst $82d7e5349645de74$export$ef9b1a59e592288f = /*#__PURE__*/ (0, $akiWb$forwardRef)(function Select(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $82d7e5349645de74$export$7540cee5be7dc19b);\n let { children: children, isDisabled: isDisabled = false, isInvalid: isInvalid = false, isRequired: isRequired = false } = props;\n let content = (0, $akiWb$useMemo)(()=>typeof children === 'function' ? children({\n isOpen: false,\n isDisabled: isDisabled,\n isInvalid: isInvalid,\n isRequired: isRequired,\n isFocused: false,\n isFocusVisible: false,\n defaultChildren: null\n }) : children, [\n children,\n isDisabled,\n isInvalid,\n isRequired\n ]);\n return /*#__PURE__*/ (0, $akiWb$react).createElement((0, $akiWb$CollectionBuilder), {\n content: content\n }, (collection)=>/*#__PURE__*/ (0, $akiWb$react).createElement($82d7e5349645de74$var$SelectInner, {\n props: props,\n collection: collection,\n selectRef: ref\n }));\n});\n// Contexts to clear inside the popover.\nconst $82d7e5349645de74$var$CLEAR_CONTEXTS = [\n (0, $01b77f81d0f07f68$export$75b6ee27786ba447),\n (0, $d2b4bc8c273e7be6$export$24d547caef80ccd1),\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea)\n];\nfunction $82d7e5349645de74$var$SelectInner({ props: props, selectRef: ref, collection: collection }) {\n let { validationBehavior: formValidationBehavior } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)((0, $d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};\n var _props_validationBehavior, _ref;\n let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : 'native';\n let state = (0, $akiWb$useSelectState)({\n ...props,\n collection: collection,\n children: undefined,\n validationBehavior: validationBehavior\n });\n let { isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $akiWb$useFocusRing)({\n within: true\n });\n // Get props for child elements from useSelect\n let buttonRef = (0, $akiWb$useRef)(null);\n let [labelRef, label] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { labelProps: labelProps, triggerProps: triggerProps, valueProps: valueProps, menuProps: menuProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, hiddenSelectProps: hiddenSelectProps, ...validation } = (0, $akiWb$useSelect)({\n ...(0, $64fa3d84918910a7$export$ef03459518577ad4)(props),\n label: label,\n validationBehavior: validationBehavior\n }, state, buttonRef);\n // Make menu width match input + button\n let [buttonWidth, setButtonWidth] = (0, $akiWb$useState)(null);\n let onResize = (0, $akiWb$useCallback)(()=>{\n if (buttonRef.current) setButtonWidth(buttonRef.current.offsetWidth + 'px');\n }, [\n buttonRef\n ]);\n (0, $akiWb$useResizeObserver)({\n ref: buttonRef,\n onResize: onResize\n });\n // Only expose a subset of state to renderProps function to avoid infinite render loop\n let renderPropsState = (0, $akiWb$useMemo)(()=>({\n isOpen: state.isOpen,\n isFocused: state.isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: validation.isInvalid || false,\n isRequired: props.isRequired || false\n }), [\n state.isOpen,\n state.isFocused,\n isFocusVisible,\n props.isDisabled,\n validation.isInvalid,\n props.isRequired\n ]);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n values: renderPropsState,\n defaultClassName: 'react-aria-Select'\n });\n let DOMProps = (0, $akiWb$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n let scrollRef = (0, $akiWb$useRef)(null);\n return /*#__PURE__*/ (0, $akiWb$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $82d7e5349645de74$export$7540cee5be7dc19b,\n props\n ],\n [\n $82d7e5349645de74$export$ef445b55be0601bd,\n state\n ],\n [\n $82d7e5349645de74$export$f8f745c04421623f,\n valueProps\n ],\n [\n (0, $01b77f81d0f07f68$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n ],\n [\n (0, $d2b4bc8c273e7be6$export$24d547caef80ccd1),\n {\n ...triggerProps,\n ref: buttonRef,\n isPressed: state.isOpen,\n autoFocus: props.autoFocus\n }\n ],\n [\n (0, $de32f1b87079253c$export$d2f961adcb0afbe),\n state\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n trigger: 'Select',\n triggerRef: buttonRef,\n scrollRef: scrollRef,\n placement: 'bottom start',\n style: {\n '--trigger-width': buttonWidth\n },\n 'aria-labelledby': menuProps['aria-labelledby'],\n clearContexts: $82d7e5349645de74$var$CLEAR_CONTEXTS\n }\n ],\n [\n (0, $eed445e0843c11d0$export$7ff8f37d2d81a48d),\n {\n ...menuProps,\n ref: scrollRef\n }\n ],\n [\n (0, $eed445e0843c11d0$export$7c5906fe4f1f2af2),\n state\n ],\n [\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $ee014567cb39d3f0$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, /*#__PURE__*/ (0, $akiWb$react).createElement(\"div\", {\n ...(0, $akiWb$mergeProps)(DOMProps, renderProps, focusProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-focused\": state.isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-open\": state.isOpen || undefined,\n \"data-disabled\": props.isDisabled || undefined,\n \"data-invalid\": validation.isInvalid || undefined,\n \"data-required\": props.isRequired || undefined\n }, renderProps.children, /*#__PURE__*/ (0, $akiWb$react).createElement((0, $akiWb$HiddenSelect), {\n ...hiddenSelectProps,\n autoComplete: props.autoComplete\n })));\n}\nconst $82d7e5349645de74$export$f8f745c04421623f = /*#__PURE__*/ (0, $akiWb$createContext)(null);\nconst $82d7e5349645de74$export$e288731fd71264f0 = /*#__PURE__*/ (0, $akiWb$forwardRef)(function SelectValue(props, ref) {\n var _state_selectedItem, _state_selectedItem1;\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $82d7e5349645de74$export$f8f745c04421623f);\n let state = (0, $akiWb$useContext)($82d7e5349645de74$export$ef445b55be0601bd);\n let { placeholder: placeholder } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)($82d7e5349645de74$export$7540cee5be7dc19b);\n let selectedItem = state.selectedKey != null ? state.collection.getItem(state.selectedKey) : null;\n let rendered = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.props.children;\n if (typeof rendered === 'function') {\n // If the selected item has a function as a child, we need to call it to render to React.JSX.\n let fn = rendered;\n rendered = fn({\n isHovered: false,\n isPressed: false,\n isSelected: false,\n isFocused: false,\n isFocusVisible: false,\n isDisabled: false,\n selectionMode: 'single',\n selectionBehavior: 'toggle'\n });\n }\n let stringFormatter = (0, $akiWb$useLocalizedStringFormatter)((0, ($parcel$interopDefault($akiWb$intlStringsmodulejs))), 'react-aria-components');\n var _ref, _state_selectedItem_value, _state_selectedItem_textValue;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultChildren: (_ref = rendered !== null && rendered !== void 0 ? rendered : placeholder) !== null && _ref !== void 0 ? _ref : stringFormatter.format('selectPlaceholder'),\n defaultClassName: 'react-aria-SelectValue',\n values: {\n selectedItem: (_state_selectedItem_value = (_state_selectedItem = state.selectedItem) === null || _state_selectedItem === void 0 ? void 0 : _state_selectedItem.value) !== null && _state_selectedItem_value !== void 0 ? _state_selectedItem_value : null,\n selectedText: (_state_selectedItem_textValue = (_state_selectedItem1 = state.selectedItem) === null || _state_selectedItem1 === void 0 ? void 0 : _state_selectedItem1.textValue) !== null && _state_selectedItem_textValue !== void 0 ? _state_selectedItem_textValue : null,\n isPlaceholder: !selectedItem\n }\n });\n let DOMProps = (0, $akiWb$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $akiWb$react).createElement(\"span\", {\n ref: ref,\n ...DOMProps,\n ...renderProps,\n \"data-placeholder\": !selectedItem || undefined\n }, /*#__PURE__*/ (0, $akiWb$react).createElement((0, $514c0188e459b4c0$export$9afb8bc826b033ea).Provider, {\n value: undefined\n }, renderProps.children));\n});\n\n\nexport {$82d7e5349645de74$export$7540cee5be7dc19b as SelectContext, $82d7e5349645de74$export$ef445b55be0601bd as SelectStateContext, $82d7e5349645de74$export$ef9b1a59e592288f as Select, $82d7e5349645de74$export$f8f745c04421623f as SelectValueContext, $82d7e5349645de74$export$e288731fd71264f0 as SelectValue};\n//# sourceMappingURL=Select.module.js.map\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { selectSlotRecipe } from \"./select.recipe\";\nimport { type SelectProps as RaSelectProps } from \"react-aria-components\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"select\",\n});\n\n// Select\nexport interface SelectRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof selectSlotRecipe> & RaSelectProps<object>\n > {}\nexport const SelectRootSlot = withProvider<HTMLDivElement, SelectRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger Button\nexport interface SelectTriggerSlotProps extends HTMLChakraProps<\"button\"> {}\nexport const SelectTriggerSlot = withContext<\n HTMLButtonElement,\n SelectTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Trigger Button Label\nexport interface SelectTriggerLabelSlotProps extends HTMLChakraProps<\"span\"> {}\nexport const SelectTriggerLabelSlot = withContext<\n HTMLButtonElement,\n SelectTriggerLabelSlotProps\n>(\"span\", \"triggerLabel\");\n\n// ListBox\nexport interface SelectOptionsSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionsSlot = withContext<\n HTMLDivElement,\n SelectOptionsSlotProps\n>(\"div\", \"options\");\n\n// ListBoxItem\nexport interface SelectOptionSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionSlot = withContext<\n HTMLDivElement,\n SelectOptionSlotProps\n>(\"div\", \"option\");\n\n// OptionGroup\nexport interface SelectOptionGroupSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionGroupSlot = withContext<\n HTMLDivElement,\n SelectOptionGroupSlotProps\n>(\"div\", \"optionGroup\");\n","import { useContext } from \"react\";\nimport { Close as CloseIcon } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"@/components\";\nimport { SelectStateContext } from \"react-aria-components\";\nimport { ClearPressResponder } from \"@react-aria/interactions\";\n\nexport const SelectClearButton = () => {\n const state = useContext(SelectStateContext);\n\n if (!state?.selectedKey) {\n return null;\n }\n\n const onPressRequest = () => {\n state?.setSelectedKey(null);\n };\n\n return (\n <ClearPressResponder>\n <IconButton\n pointerEvents=\"all\"\n size=\"2xs\"\n variant=\"ghost\"\n tone=\"primary\"\n aria-label=\"Clear Selection\"\n onPress={onPressRequest}\n >\n <CloseIcon />\n </IconButton>\n </ClearPressResponder>\n );\n};\n\nSelectClearButton.displayName = \"Select.ClearButton\";\n","import { forwardRef } from \"react\";\nimport { chakra, useSlotRecipe } from \"@chakra-ui/react/styled-system\";\n\nimport {\n KeyboardArrowDown as DropdownIndicatorIcon,\n Loop as SpinnerIcon,\n} from \"@commercetools/nimbus-icons\";\n\nimport { Flex, Box } from \"@/components\";\nimport {\n Button as RaButton,\n Popover as RaPopover,\n Select as RaSelect,\n SelectValue as RaSelectValue,\n} from \"react-aria-components\";\nimport {\n SelectRootSlot,\n SelectTriggerSlot,\n SelectTriggerLabelSlot,\n} from \"./../select.slots\";\nimport { SelectClearButton } from \"./select.clear-button\";\nimport { type SelectRootProps } from \"./../select.types\";\nimport { selectSlotRecipe } from \"../select.recipe\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\n/**\n * # Select\n *\n * displays a collapsible list of options and allows a user to select one of them.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/select}\n */\nexport const SelectRoot = forwardRef<HTMLDivElement, SelectRootProps>(\n ({ children, isLoading, isDisabled, ...props }, ref) => {\n const recipe = useSlotRecipe({ recipe: selectSlotRecipe });\n const [recipeProps, restRecipeProps] = recipe.splitVariantProps(props);\n const [styleProps, restProps] = extractStyleProps(restRecipeProps);\n\n const raSelectProps = {\n ...restProps,\n isDisabled: isLoading || isDisabled,\n };\n\n return (\n <SelectRootSlot asChild ref={ref} {...recipeProps} {...styleProps}>\n <RaSelect {...raSelectProps}>\n <chakra.div position=\"relative\">\n <SelectTriggerSlot zIndex={0} asChild>\n <RaButton>\n <SelectTriggerLabelSlot asChild>\n <RaSelectValue />\n </SelectTriggerLabelSlot>\n </RaButton>\n </SelectTriggerSlot>\n <Flex\n position=\"absolute\"\n top=\"0\"\n bottom=\"0\"\n zIndex={1}\n right=\"400\"\n pointerEvents=\"none\"\n >\n <Flex width=\"600\" my=\"auto\">\n <SelectClearButton />\n </Flex>\n\n <Flex my=\"auto\" w=\"600\" h=\"600\" pointerEvents=\"none\">\n <Box color=\"neutral.9\" asChild m=\"auto\" w=\"400\" h=\"400\">\n {isLoading ? (\n <Box asChild animation=\"spin\" animationDuration=\"slowest\">\n <SpinnerIcon />\n </Box>\n ) : (\n <DropdownIndicatorIcon />\n )}\n </Box>\n </Flex>\n </Flex>\n </chakra.div>\n\n <RaPopover>{children}</RaPopover>\n </RaSelect>\n </SelectRootSlot>\n );\n }\n);\n\nSelectRoot.displayName = \"Select.Root\";\n","import { ListBox as RaListBox } from \"react-aria-components\";\nimport { SelectOptionsSlot } from \"./../select.slots\";\nimport type { SelectOptionsProps } from \"../select.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nexport const SelectOptions = <T extends object>(\n props: SelectOptionsProps<T> & { ref?: React.Ref<HTMLDivElement> }\n) => {\n const { ref, ...restProps } = props;\n const [styleProps, rest] = extractStyleProps(restProps);\n return (\n <SelectOptionsSlot asChild {...styleProps}>\n <RaListBox ref={ref} {...rest} />\n </SelectOptionsSlot>\n );\n};\n\nSelectOptions.displayName = \"Select.Options\";\n","import { ListBoxItem as RaListBoxItem } from \"react-aria-components\";\nimport { SelectOptionSlot } from \"./../select.slots\";\nimport type { SelectOptionProps } from \"../select.types\";\n\nexport const SelectOption = <T extends object>({\n ref,\n ...restProps\n}: SelectOptionProps<T> & { ref?: React.Ref<HTMLDivElement> }) => {\n return (\n <SelectOptionSlot asChild ref={ref}>\n <RaListBoxItem {...restProps} />\n </SelectOptionSlot>\n );\n};\n\nSelectOption.displayName = \"Select.Option\";\n","import { type ReactNode } from \"react\";\n\nimport {\n ListBoxSection as RaListBoxSection,\n Header as RaHeader,\n Collection,\n} from \"react-aria-components\";\nimport { SelectOptionGroupSlot } from \"./../select.slots\";\nimport type { SelectOptionGroupProps } from \"../select.types\";\n\nexport const SelectOptionGroup = <T extends object>(\n props: SelectOptionGroupProps<T> & { ref?: React.Ref<HTMLDivElement> }\n) => {\n const { ref, label, items, children, ...restProps } = props;\n\n // Validate that children is a function when items is provided\n if (items && typeof children !== \"function\") {\n throw new Error(\n 'SelectOptionGroup: When \"items\" is provided, \"children\" must be a function'\n );\n }\n\n return (\n <RaListBoxSection ref={ref} {...restProps}>\n <SelectOptionGroupSlot asChild>\n <RaHeader>{label}</RaHeader>\n </SelectOptionGroupSlot>\n\n {items ? (\n <Collection items={items}>\n {(item: T) => {\n if (typeof children === \"function\") {\n return children(item);\n }\n return null;\n }}\n </Collection>\n ) : (\n (children as ReactNode)\n )}\n </RaListBoxSection>\n );\n};\n\nSelectOptionGroup.displayName = \"Select.OptionGroup\";\n","import { SelectRoot as _SelectRoot } from \"./components/select.root\";\nimport { SelectOptions as _SelectOptions } from \"./components/select.options\";\nimport { SelectOption as _SelectOption } from \"./components/select.option\";\nimport { SelectOptionGroup as _SelectOptionGroup } from \"./components/select.option-group\";\n\nexport const Select = {\n Root: _SelectRoot,\n Options: _SelectOptions,\n Option: _SelectOption,\n OptionGroup: _SelectOptionGroup,\n};\n\n/**\n * todo: get rid of this, this is needed for the react-docgen-typescript script\n * that is parsing the typescript types for our documentation. The _ underscores\n * serve as a reminder that this exports are awkward and should not be used.\n */\nexport { _SelectRoot, _SelectOptions, _SelectOption, _SelectOptionGroup };\n"],"names":["$58aed456727eb0f3$export$703601b7e90536f8","$58aed456727eb0f3$export$e64b2f635402ca43","props","state","ref","keyboardDelegate","isDisabled","isRequired","name","form","validationBehavior","collator","$aUnai$useCollator","delegate","$aUnai$useMemo","$aUnai$ListKeyboardDelegate","menuTriggerProps","menuProps","$aUnai$useMenuTrigger","onKeyDown","e","_delegate_getKeyAbove","_delegate_getFirstKey","key","_delegate_getKeyBelow","_delegate_getFirstKey1","typeSelectProps","$aUnai$useTypeSelect","isInvalid","validationErrors","validationDetails","labelProps","fieldProps","descriptionProps","errorMessageProps","$aUnai$useField","domProps","$aUnai$filterDOMProps","triggerProps","$aUnai$mergeProps","valueId","$aUnai$useId","_ref_current","$aUnai$setInteractionModality","$aUnai$chain","$bdd25dc72710631f$export$f809e80f58e251d1","triggerRef","data","autoComplete","visuallyHiddenProps","$8BE50$useVisuallyHidden","$8BE50$useFormReset","$8BE50$useFormValidation","_triggerRef_current","onChange","$8BE50$useCallback","_state_selectedKey","$bdd25dc72710631f$export$cbd84cdb2e668835","label","selectRef","$8BE50$useRef","inputRef","containerProps","selectProps","$8BE50$react","item","inputProps","$2bc3a590c5373a4e$export$5159ec8b34d4ec12","triggerState","$6FfNf$useOverlayTriggerState","focusStrategy","setFocusStrategy","$6FfNf$useState","listState","$6FfNf$useSingleSelectListState","validationState","$6FfNf$useFormValidationState","isFocused","setFocused","initialSelectedKey","_props_defaultSelectedKey","$parcel$interopDefault","a","$82d7e5349645de74$export$7540cee5be7dc19b","$akiWb$createContext","$82d7e5349645de74$export$ef445b55be0601bd","$82d7e5349645de74$export$ef9b1a59e592288f","$akiWb$forwardRef","$64fa3d84918910a7$export$29f1550f4b0d4415","children","content","$akiWb$useMemo","$akiWb$react","$akiWb$CollectionBuilder","collection","$82d7e5349645de74$var$SelectInner","$82d7e5349645de74$var$CLEAR_CONTEXTS","$01b77f81d0f07f68$export$75b6ee27786ba447","$d2b4bc8c273e7be6$export$24d547caef80ccd1","$514c0188e459b4c0$export$9afb8bc826b033ea","formValidationBehavior","$64fa3d84918910a7$export$fabf2dc03a41866e","$d3e0e05bdfcf66bd$export$c24727297075ec6a","_props_validationBehavior","_ref","$akiWb$useSelectState","isFocusVisible","focusProps","$akiWb$useFocusRing","buttonRef","$akiWb$useRef","labelRef","$64fa3d84918910a7$export$9d4c57ee4c6ffdd8","valueProps","hiddenSelectProps","validation","$akiWb$useSelect","$64fa3d84918910a7$export$ef03459518577ad4","buttonWidth","setButtonWidth","$akiWb$useState","onResize","$akiWb$useCallback","$akiWb$useResizeObserver","renderPropsState","renderProps","$64fa3d84918910a7$export$4d86445c2cf5e3","DOMProps","$akiWb$filterDOMProps","scrollRef","$64fa3d84918910a7$export$2881499e37b75b9a","$82d7e5349645de74$export$f8f745c04421623f","$de32f1b87079253c$export$d2f961adcb0afbe","$07b14b47974efb58$export$9b9a0cd73afb7ca4","$eed445e0843c11d0$export$7ff8f37d2d81a48d","$eed445e0843c11d0$export$7c5906fe4f1f2af2","$ee014567cb39d3f0$export$ff05c3ac10437e03","$akiWb$mergeProps","$akiWb$HiddenSelect","$82d7e5349645de74$export$e288731fd71264f0","_state_selectedItem","_state_selectedItem1","$akiWb$useContext","placeholder","selectedItem","rendered","stringFormatter","$akiWb$useLocalizedStringFormatter","$akiWb$intlStringsmodulejs","_state_selectedItem_value","_state_selectedItem_textValue","withProvider","withContext","createSlotRecipeContext","SelectRootSlot","SelectTriggerSlot","SelectTriggerLabelSlot","SelectOptionsSlot","SelectOptionSlot","SelectOptionGroupSlot","SelectClearButton","useContext","SelectStateContext","ClearPressResponder","jsx","IconButton","CloseIcon","SelectRoot","forwardRef","isLoading","recipe","useSlotRecipe","selectSlotRecipe","recipeProps","restRecipeProps","styleProps","restProps","extractStyleProps","raSelectProps","jsxs","RaSelect","chakra","RaButton","RaSelectValue","Flex","Box","SpinnerIcon","DropdownIndicatorIcon","RaPopover","SelectOptions","rest","RaListBox","SelectOption","RaListBoxItem","SelectOptionGroup","items","RaListBoxSection","RaHeader","Collection","Select","_SelectRoot","_SelectOptions","_SelectOption","_SelectOptionGroup"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|