@commercetools/nimbus 0.0.12-rc2 → 0.0.12-rc3
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-DF3J6Yj7.cjs.js → alert-CsJON6h-.cjs.js} +2 -2
- package/dist/chunks/{alert-DF3J6Yj7.cjs.js.map → alert-CsJON6h-.cjs.js.map} +1 -1
- package/dist/chunks/{button-BfmWlfwH.cjs.js → button-CihUSHJo.cjs.js} +2 -2
- package/dist/chunks/{button-BfmWlfwH.cjs.js.map → button-CihUSHJo.cjs.js.map} +1 -1
- package/dist/chunks/{calendar-BgHBd6Dh.cjs.js → calendar-C-YasyPe.cjs.js} +2 -2
- package/dist/chunks/{calendar-BgHBd6Dh.cjs.js.map → calendar-C-YasyPe.cjs.js.map} +1 -1
- package/dist/chunks/{checkbox-BbdENF1i.cjs.js → checkbox-6DkVAh4W.cjs.js} +2 -2
- package/dist/chunks/{checkbox-BbdENF1i.cjs.js.map → checkbox-6DkVAh4W.cjs.js.map} +1 -1
- package/dist/chunks/{combobox-DIKvq4tw.cjs.js → combobox-CLGVlx_7.cjs.js} +2 -2
- package/dist/chunks/{combobox-DIKvq4tw.cjs.js.map → combobox-CLGVlx_7.cjs.js.map} +1 -1
- package/dist/chunks/{data-table-Cenvhz5D.cjs.js → data-table-B8hn0UVI.cjs.js} +2 -2
- package/dist/chunks/{data-table-Cenvhz5D.cjs.js.map → data-table-B8hn0UVI.cjs.js.map} +1 -1
- package/dist/chunks/{data-table-CWSmm1Cq.es.js → data-table-BmhYF5gH.es.js} +1 -2
- package/dist/chunks/{data-table-CWSmm1Cq.es.js.map → data-table-BmhYF5gH.es.js.map} +1 -1
- package/dist/chunks/{date-input-CKu2_a2x.cjs.js → date-input-VXO92NPV.cjs.js} +2 -2
- package/dist/chunks/{date-input-CKu2_a2x.cjs.js.map → date-input-VXO92NPV.cjs.js.map} +1 -1
- package/dist/chunks/{date-picker-DQ6_2mzc.cjs.js → date-picker-DNaxpmgh.cjs.js} +2 -2
- package/dist/chunks/{date-picker-DQ6_2mzc.cjs.js.map → date-picker-DNaxpmgh.cjs.js.map} +1 -1
- package/dist/chunks/{date-range-picker-i33UHqUE.cjs.js → date-range-picker-B5s-AFSY.cjs.js} +2 -2
- package/dist/chunks/{date-range-picker-i33UHqUE.cjs.js.map → date-range-picker-B5s-AFSY.cjs.js.map} +1 -1
- package/dist/chunks/{extractStyleProps-BFdEZDYW.cjs.js → extractStyleProps-BsLft3q1.cjs.js} +2 -2
- package/dist/chunks/{extractStyleProps-BFdEZDYW.cjs.js.map → extractStyleProps-BsLft3q1.cjs.js.map} +1 -1
- package/dist/chunks/{form-field-SFG0Jvp7.cjs.js → form-field-BjT4m4AE.cjs.js} +2 -2
- package/dist/chunks/{form-field-SFG0Jvp7.cjs.js.map → form-field-BjT4m4AE.cjs.js.map} +1 -1
- package/dist/chunks/{icon-button-D0NyGafI.cjs.js → icon-button-DOo2GUqd.cjs.js} +2 -2
- package/dist/chunks/{icon-button-D0NyGafI.cjs.js.map → icon-button-DOo2GUqd.cjs.js.map} +1 -1
- package/dist/chunks/{icon-toggle-button-yeQuEUBY.cjs.js → icon-toggle-button-DmYB27yi.cjs.js} +2 -2
- package/dist/chunks/{icon-toggle-button-yeQuEUBY.cjs.js.map → icon-toggle-button-DmYB27yi.cjs.js.map} +1 -1
- package/dist/chunks/{index-sFOzzmTG.cjs.js → index-BsmdMT4w.cjs.js} +2 -2
- package/dist/chunks/{index-sFOzzmTG.cjs.js.map → index-BsmdMT4w.cjs.js.map} +1 -1
- package/dist/chunks/index-Dvel3Oj5.es.js.map +1 -1
- package/dist/chunks/{menu-CImIQ6uJ.cjs.js → menu-C8il9--K.cjs.js} +2 -2
- package/dist/chunks/{menu-CImIQ6uJ.cjs.js.map → menu-C8il9--K.cjs.js.map} +1 -1
- package/dist/chunks/{multiline-text-input-jdvlKAq1.cjs.js → multiline-text-input-D28clI-o.cjs.js} +2 -2
- package/dist/chunks/{multiline-text-input-jdvlKAq1.cjs.js.map → multiline-text-input-D28clI-o.cjs.js.map} +1 -1
- package/dist/chunks/{nimbus-provider-CBZCiFEH.cjs.js → nimbus-provider-BlfO5_bi.cjs.js} +2 -2
- package/dist/chunks/{nimbus-provider-CBZCiFEH.cjs.js.map → nimbus-provider-BlfO5_bi.cjs.js.map} +1 -1
- package/dist/chunks/{number-input-CnOvkmap.cjs.js → number-input-CCEiz-4P.cjs.js} +2 -2
- package/dist/chunks/{number-input-CnOvkmap.cjs.js.map → number-input-CCEiz-4P.cjs.js.map} +1 -1
- package/dist/chunks/{password-input-DSeCpNT-.cjs.js → password-input-DY4slQHQ.cjs.js} +2 -2
- package/dist/chunks/{password-input-DSeCpNT-.cjs.js.map → password-input-DY4slQHQ.cjs.js.map} +1 -1
- package/dist/chunks/{progress-bar-CByPgKbP.cjs.js → progress-bar-0RRIR4ef.cjs.js} +2 -2
- package/dist/chunks/{progress-bar-CByPgKbP.cjs.js.map → progress-bar-0RRIR4ef.cjs.js.map} +1 -1
- package/dist/chunks/{radio-input-VMfD6a_K.cjs.js → radio-input-B40xSi6r.cjs.js} +2 -2
- package/dist/chunks/{radio-input-VMfD6a_K.cjs.js.map → radio-input-B40xSi6r.cjs.js.map} +1 -1
- package/dist/chunks/{range-calendar-CnaQY0pH.cjs.js → range-calendar-BiNek1C7.cjs.js} +2 -2
- package/dist/chunks/{range-calendar-CnaQY0pH.cjs.js.map → range-calendar-BiNek1C7.cjs.js.map} +1 -1
- package/dist/chunks/{rich-text-input-DmwKaXzi.cjs.js → rich-text-input-gNWvLb4m.cjs.js} +2 -2
- package/dist/chunks/{rich-text-input-DmwKaXzi.cjs.js.map → rich-text-input-gNWvLb4m.cjs.js.map} +1 -1
- package/dist/chunks/{select-DT9EbJgb.cjs.js → select-BuXA5VgT.cjs.js} +2 -2
- package/dist/chunks/{select-DT9EbJgb.cjs.js.map → select-BuXA5VgT.cjs.js.map} +1 -1
- package/dist/chunks/{split-button-i2Ezbf3P.cjs.js → split-button-CgQYMeH7.cjs.js} +2 -2
- package/dist/chunks/{split-button-i2Ezbf3P.cjs.js.map → split-button-CgQYMeH7.cjs.js.map} +1 -1
- package/dist/chunks/{switch-kNksAQM3.cjs.js → switch-BQXiI02l.cjs.js} +2 -2
- package/dist/chunks/{switch-kNksAQM3.cjs.js.map → switch-BQXiI02l.cjs.js.map} +1 -1
- package/dist/chunks/{tag-group-iRBYcxt6.cjs.js → tag-group-DwTq8DeA.cjs.js} +2 -2
- package/dist/chunks/{tag-group-iRBYcxt6.cjs.js.map → tag-group-DwTq8DeA.cjs.js.map} +1 -1
- package/dist/chunks/{text-input-D7SdSWpG.cjs.js → text-input-DJUpcp3k.cjs.js} +2 -2
- package/dist/chunks/{text-input-D7SdSWpG.cjs.js.map → text-input-DJUpcp3k.cjs.js.map} +1 -1
- package/dist/chunks/{time-input-BqTsxXMD.cjs.js → time-input-B5oRiIpu.cjs.js} +2 -2
- package/dist/chunks/{time-input-BqTsxXMD.cjs.js.map → time-input-B5oRiIpu.cjs.js.map} +1 -1
- package/dist/chunks/{toggle-button-CsVyAh8N.cjs.js → toggle-button-C_7Evcn3.cjs.js} +2 -2
- package/dist/chunks/{toggle-button-CsVyAh8N.cjs.js.map → toggle-button-C_7Evcn3.cjs.js.map} +1 -1
- package/dist/chunks/{toolbar-DcUEC_uE.cjs.js → toolbar-BUYkQMPz.cjs.js} +2 -2
- package/dist/chunks/{toolbar-DcUEC_uE.cjs.js.map → toolbar-BUYkQMPz.cjs.js.map} +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/button.cjs +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/checkbox.cjs +1 -1
- package/dist/components/combobox.cjs +1 -1
- package/dist/components/components.cjs +1 -1
- package/dist/components/components.es.js +1 -1
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.es.js +1 -1
- package/dist/components/date-input.cjs +1 -1
- package/dist/components/date-picker.cjs +1 -1
- package/dist/components/date-range-picker.cjs +1 -1
- package/dist/components/form-field.cjs +1 -1
- package/dist/components/icon-button.cjs +1 -1
- package/dist/components/icon-toggle-button.cjs +1 -1
- package/dist/components/multiline-text-input.cjs +1 -1
- package/dist/components/nimbus-provider.cjs +1 -1
- package/dist/components/number-input.cjs +1 -1
- package/dist/components/password-input.cjs +1 -1
- package/dist/components/progress-bar.cjs +1 -1
- package/dist/components/radio-input.cjs +1 -1
- package/dist/components/range-calendar.cjs +1 -1
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/switch.cjs +1 -1
- package/dist/components/tag-group.cjs +1 -1
- package/dist/components/text-input.cjs +1 -1
- package/dist/components/time-input.cjs +1 -1
- package/dist/components/toggle-button.cjs +1 -1
- package/dist/components/toolbar.cjs +1 -1
- package/dist/components.d.ts +35 -35
- package/dist/data-table.d.ts +35 -35
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +35 -35
- package/dist/index.es.js +1 -1
- package/package.json +3 -3
package/dist/chunks/{rich-text-input-DmwKaXzi.cjs.js.map → rich-text-input-gNWvLb4m.cjs.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-input-DmwKaXzi.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-gNWvLb4m.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,2 +1,2 @@
|
|
|
1
|
-
"use strict";const s=require("react/jsx-runtime"),r=require("react"),z=require("@commercetools/nimbus-icons"),Y=require("./box-BwCVnAwb.cjs.js"),L=require("./Button-BtJHe9xY.cjs.js"),F=require("./Dialog-CYa26HlL.cjs.js"),h=require("./utils-BHdR5Nww.cjs.js"),ie=require("./FieldError-DyGFfqST.cjs.js"),ae=require("./Form-BuOomA4T.cjs.js"),ne=require("./intlStrings-ClBuC6xN.cjs.js"),Z=require("./Label-BgrYyYXn.cjs.js"),B=require("./ListBox-CikEmFBx.cjs.js"),N=require("./Text-BWSfeB9p.cjs.js"),O=require("./SelectionManager-Mrwf4SFv.cjs.js"),D=require("./mergeProps-BA5Cwf5w.cjs.js"),G=require("./filterDOMProps-WUskt27c.cjs.js"),_=require("./OverlayArrow-CYjyBtg8.cjs.js"),se=require("./useLocalizedStringFormatter-sB0mFYtL.cjs.js"),ee=require("./useFormValidation-BEaCuNx1.cjs.js"),de=require("./useSingleSelectListState-F2WkLZRg.cjs.js"),ce=require("./useFocusRing-CzFer4bD.cjs.js"),ue=require("./useFocusVisible-Co0C61s7.cjs.js"),fe=require("./useCollator-YVJAe1GI.cjs.js"),be=require("./useField-DmqO9k7a.cjs.js"),$e=require("./useFormReset--wPlnEOl.cjs.js"),pe=require("./VisuallyHidden-Bv_AJXZ7.cjs.js"),te=require("./create-slot-recipe-context-CimocFDH.cjs.js"),ve=require("./icon-button-D0NyGafI.cjs.js"),xe=require("./index-sFOzzmTG.cjs.js"),le=require("./extractStyleProps-BFdEZDYW.cjs.js"),me=require("./factory-CVGqU9CD.cjs.js"),T=require("./flex-yqydM5z_.cjs.js"),he=require("./Separator-CAOg-vqY.cjs.js"),H=new WeakMap;function ye(e,t,n){let{keyboardDelegate:i,isDisabled:l,isRequired:d,name:u,form:a,validationBehavior:c="aria"}=e,$=fe.$325a3faab7a68acd$export$a16aca283550c30d({usage:"search",sensitivity:"base"}),o=r.useMemo(()=>i||new O.$2a25aae57d74318e$export$a05409b8bb224a5a(t.collection,t.disabledKeys,n,$),[i,t.collection,t.disabledKeys,$,n]),{menuTriggerProps:v,menuProps:p}=F.$168583247155ddda$export$dc9c12ed27dd1b49({isDisabled:l,type:"listbox"},t,n),f=b=>{switch(b.key){case"ArrowLeft":{var S,g;b.preventDefault();let q=t.selectedKey!=null?(S=o.getKeyAbove)===null||S===void 0?void 0:S.call(o,t.selectedKey):(g=o.getFirstKey)===null||g===void 0?void 0:g.call(o);q&&t.setSelectedKey(q);break}case"ArrowRight":{var k,V;b.preventDefault();let q=t.selectedKey!=null?(k=o.getKeyBelow)===null||k===void 0?void 0:k.call(o,t.selectedKey):(V=o.getFirstKey)===null||V===void 0?void 0:V.call(o);q&&t.setSelectedKey(q);break}}},{typeSelectProps:x}=O.$fb3050f43d946246$export$e32c88dfddc6e1d8({keyboardDelegate:o,selectionManager:t.selectionManager,onTypeSelect(b){t.setSelectedKey(b)}}),{isInvalid:P,validationErrors:R,validationDetails:I}=t.displayValidation,{labelProps:w,fieldProps:C,descriptionProps:y,errorMessageProps:E}=be.$2baaea4c71418dea$export$294aa081a6c6f55d({...e,labelElementType:"span",isInvalid:P,errorMessage:e.errorMessage||R});x.onKeyDown=x.onKeyDownCapture,delete x.onKeyDownCapture;let M=G.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(e,{labelable:!0}),m=D.$3ef42575df84b30b$export$9d1611c77c2fe928(x,v,C),j=D.$bdb11010cef70236$export$f680877a34711e37();return H.set(t,{isDisabled:l,isRequired:d,name:u,form:a,validationBehavior:c}),{labelProps:{...w,onClick:()=>{if(!e.isDisabled){var b;(b=n.current)===null||b===void 0||b.focus(),ue.$507fabe10e71c6fb$export$8397ddfc504fdb9a("keyboard")}}},triggerProps:D.$3ef42575df84b30b$export$9d1611c77c2fe928(M,{...m,isDisabled:l,onKeyDown:D.$ff5963eb1fccf552$export$e08e3b67e392101e(m.onKeyDown,f,e.onKeyDown),onKeyUp:e.onKeyUp,"aria-labelledby":[j,m["aria-labelledby"],m["aria-label"]&&!m["aria-labelledby"]?m.id:null].filter(Boolean).join(" "),onFocus(b){t.isFocused||(e.onFocus&&e.onFocus(b),e.onFocusChange&&e.onFocusChange(!0),t.setFocused(!0))},onBlur(b){t.isOpen||(e.onBlur&&e.onBlur(b),e.onFocusChange&&e.onFocusChange(!1),t.setFocused(!1))}}),valueProps:{id:j},menuProps:{...p,autoFocus:t.focusStrategy||!0,shouldSelectOnPressUp:!0,shouldFocusOnHover:!0,disallowEmptySelection:!0,linkBehavior:"selection",onBlur:b=>{b.currentTarget.contains(b.relatedTarget)||(e.onBlur&&e.onBlur(b),e.onFocusChange&&e.onFocusChange(!1),t.setFocused(!1))},"aria-labelledby":[C["aria-labelledby"],m["aria-label"]&&!C["aria-labelledby"]?m.id:null].filter(Boolean).join(" ")},descriptionProps:y,errorMessageProps:E,isInvalid:P,validationErrors:R,validationDetails:I,hiddenSelectProps:{isDisabled:l,name:u,label:e.label,state:t,triggerRef:n,form:a}}}function Se(e,t,n){let i=H.get(t)||{},{autoComplete:l,name:d=i.name,form:u=i.form,isDisabled:a=i.isDisabled}=e,{validationBehavior:c,isRequired:$}=i,{visuallyHiddenProps:o}=pe.$5c3e21d68f1c4674$export$a966af930f325cab({style:{position:"fixed",top:0,left:0}});$e.$99facab73266f662$export$5add1d006293d136(e.selectRef,t.defaultSelectedKey,t.setSelectedKey),ee.$e93e671b31057976$export$b8473d3665f3a75a({validationBehavior:c,focus:()=>{var f;return(f=n.current)===null||f===void 0?void 0:f.focus()}},t,e.selectRef);let v=r.useCallback(f=>t.setSelectedKey(f.currentTarget.value),[t.setSelectedKey]);var p;return{containerProps:{...o,"aria-hidden":!0,"data-react-aria-prevent-focus":!0,"data-a11y-ignore":"aria-hidden-focus"},inputProps:{style:{display:"none"}},selectProps:{tabIndex:-1,autoComplete:l,disabled:a,required:c==="native"&&$,name:d,form:u,value:(p=t.selectedKey)!==null&&p!==void 0?p:"",onChange:v,onInput:v}}}function ge(e){let{state:t,triggerRef:n,label:i,name:l,form:d,isDisabled:u}=e,a=r.useRef(null),c=r.useRef(null),{containerProps:$,selectProps:o}=Se({...e,selectRef:t.collection.size<=300?a:c},t,n);if(t.collection.size<=300)return r.createElement("div",{...$,"data-testid":"hidden-select-container"},r.createElement("label",null,i,r.createElement("select",{...o,ref:a},r.createElement("option",null),[...t.collection.getKeys()].map(p=>{let f=t.collection.getItem(p);if(f&&f.type==="item")return r.createElement("option",{key:f.key,value:f.key},f.textValue)}))));if(l){let p=H.get(t)||{},{validationBehavior:f}=p;var v;let x={type:"hidden",autoComplete:o.autoComplete,name:l,form:d,disabled:u,value:(v=t.selectedKey)!==null&&v!==void 0?v:""};return f==="native"?r.createElement("input",{...x,ref:c,style:{display:"none"},type:"text",required:o.required,onChange:()=>{}}):r.createElement("input",{...x,ref:c})}return null}function Pe(e){let t=_.$fc909762b330b746$export$61c6a8c84e605fb6(e),[n,i]=r.useState(null),l=de.$a0d645289fe9b86b$export$e7f05e985daf4b5f({...e,onSelectionChange:o=>{e.onSelectionChange!=null&&e.onSelectionChange(o),t.close(),d.commitValidation()}}),d=ee.$e5be200c675c3b3a$export$fc1a364ae1f3ff10({...e,value:l.selectedKey}),[u,a]=r.useState(!1),[c]=r.useState(l.selectedKey);var $;return{...d,...l,...t,defaultSelectedKey:($=e.defaultSelectedKey)!==null&&$!==void 0?$:c,focusStrategy:n,open(o=null){l.collection.size!==0&&(i(o),t.open())},toggle(o=null){l.collection.size!==0&&(i(o),t.toggle())},isFocused:u,setFocused:a}}function Re(e){return e&&e.__esModule?e.default:e}const W=r.createContext(null),A=r.createContext(null),Ce=r.forwardRef(function(t,n){[t,n]=h.$64fa3d84918910a7$export$29f1550f4b0d4415(t,n,W);let{children:i,isDisabled:l=!1,isInvalid:d=!1,isRequired:u=!1}=t,a=r.useMemo(()=>typeof i=="function"?i({isOpen:!1,isDisabled:l,isInvalid:d,isRequired:u,isFocused:!1,isFocusVisible:!1,defaultChildren:null}):i,[i,l,d,u]);return r.createElement(O.$e1995378a142960e$export$bf788dd355e3a401,{content:a},c=>r.createElement(De,{props:t,collection:c,selectRef:n}))}),qe=[Z.$01b77f81d0f07f68$export$75b6ee27786ba447,L.$d2b4bc8c273e7be6$export$24d547caef80ccd1,N.$514c0188e459b4c0$export$9afb8bc826b033ea];function De({props:e,selectRef:t,collection:n}){let{validationBehavior:i}=h.$64fa3d84918910a7$export$fabf2dc03a41866e(ae.$d3e0e05bdfcf66bd$export$c24727297075ec6a)||{};var l,d;let u=(d=(l=e.validationBehavior)!==null&&l!==void 0?l:i)!==null&&d!==void 0?d:"native",a=Pe({...e,collection:n,children:void 0,validationBehavior:u}),{isFocusVisible:c,focusProps:$}=ce.$f7dceffc5ad7768b$export$4e328f61c538687f({within:!0}),o=r.useRef(null),[v,p]=h.$64fa3d84918910a7$export$9d4c57ee4c6ffdd8(!e["aria-label"]&&!e["aria-labelledby"]),{labelProps:f,triggerProps:x,valueProps:P,menuProps:R,descriptionProps:I,errorMessageProps:w,hiddenSelectProps:C,...y}=ye({...h.$64fa3d84918910a7$export$ef03459518577ad4(e),label:p,validationBehavior:u},a,o),[E,M]=r.useState(null),m=r.useCallback(()=>{o.current&&M(o.current.offsetWidth+"px")},[o]);_.$9daab02d461809db$export$683480f191c0e3ea({ref:o,onResize:m});let j=r.useMemo(()=>({isOpen:a.isOpen,isFocused:a.isFocused,isFocusVisible:c,isDisabled:e.isDisabled||!1,isInvalid:y.isInvalid||!1,isRequired:e.isRequired||!1}),[a.isOpen,a.isFocused,c,e.isDisabled,y.isInvalid,e.isRequired]),b=h.$64fa3d84918910a7$export$4d86445c2cf5e3({...e,values:j,defaultClassName:"react-aria-Select"}),S=G.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(e,{global:!0});delete S.id;let g=r.useRef(null);return r.createElement(h.$64fa3d84918910a7$export$2881499e37b75b9a,{values:[[W,e],[A,a],[oe,P],[Z.$01b77f81d0f07f68$export$75b6ee27786ba447,{...f,ref:v,elementType:"span"}],[L.$d2b4bc8c273e7be6$export$24d547caef80ccd1,{...x,ref:o,isPressed:a.isOpen,autoFocus:e.autoFocus}],[F.$de32f1b87079253c$export$d2f961adcb0afbe,a],[F.$07b14b47974efb58$export$9b9a0cd73afb7ca4,{trigger:"Select",triggerRef:o,scrollRef:g,placement:"bottom start",style:{"--trigger-width":E},"aria-labelledby":R["aria-labelledby"],clearContexts:qe}],[B.$eed445e0843c11d0$export$7ff8f37d2d81a48d,{...R,ref:g}],[B.$eed445e0843c11d0$export$7c5906fe4f1f2af2,a],[N.$514c0188e459b4c0$export$9afb8bc826b033ea,{slots:{description:I,errorMessage:w}}],[ie.$ee014567cb39d3f0$export$ff05c3ac10437e03,y]]},r.createElement("div",{...D.$3ef42575df84b30b$export$9d1611c77c2fe928(S,b,$),ref:t,slot:e.slot||void 0,"data-focused":a.isFocused||void 0,"data-focus-visible":c||void 0,"data-open":a.isOpen||void 0,"data-disabled":e.isDisabled||void 0,"data-invalid":y.isInvalid||void 0,"data-required":e.isRequired||void 0},b.children,r.createElement(ge,{...C,autoComplete:e.autoComplete})))}const oe=r.createContext(null),Fe=r.forwardRef(function(t,n){var i,l;[t,n]=h.$64fa3d84918910a7$export$29f1550f4b0d4415(t,n,oe);let d=r.useContext(A),{placeholder:u}=h.$64fa3d84918910a7$export$fabf2dc03a41866e(W),a=d.selectedKey!=null?d.collection.getItem(d.selectedKey):null,c=a?.props.children;typeof c=="function"&&(c=c({isHovered:!1,isPressed:!1,isSelected:!1,isFocused:!1,isFocusVisible:!1,isDisabled:!1,selectionMode:"single",selectionBehavior:"toggle"}));let $=se.$fca6afa0e843324b$export$f12b703ca79dfbb1(Re(ne.$df39c1238ae2b5f3$exports),"react-aria-components");var o,v,p;let f=h.$64fa3d84918910a7$export$4d86445c2cf5e3({...t,defaultChildren:(o=c??u)!==null&&o!==void 0?o:$.format("selectPlaceholder"),defaultClassName:"react-aria-SelectValue",values:{selectedItem:(v=(i=d.selectedItem)===null||i===void 0?void 0:i.value)!==null&&v!==void 0?v:null,selectedText:(p=(l=d.selectedItem)===null||l===void 0?void 0:l.textValue)!==null&&p!==void 0?p:null,isPlaceholder:!a}}),x=G.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(t,{global:!0});return r.createElement("span",{ref:n,...x,...f,"data-placeholder":!a||void 0},r.createElement(N.$514c0188e459b4c0$export$9afb8bc826b033ea.Provider,{value:void 0},f.children))}),{withProvider:Be,withContext:K}=te.createSlotRecipeContext({key:"select"}),Ke=Be("div","root"),je=K("button","trigger"),Oe=K("span","triggerLabel"),Ie=K("div","options"),we=K("div","option"),Ee=K("div","optionGroup"),re=()=>{const e=r.useContext(A);if(!e?.selectedKey)return null;const t=()=>{e?.setSelectedKey(null)};return s.jsx(F.$f1ab8c75478c6f73$export$cf75428e0b9ed1ea,{children:s.jsx(ve.IconButton,{pointerEvents:"all",size:"2xs",variant:"ghost",tone:"primary","aria-label":"Clear Selection",onPress:t,children:s.jsx(z.Close,{})})})};re.displayName="Select.ClearButton";const U=r.forwardRef(({children:e,isLoading:t,isDisabled:n,...i},l)=>{const d=te.useSlotRecipe({recipe:xe.selectSlotRecipe}),[u,a]=d.splitVariantProps(i),[c,$]=le.extractStyleProps(a),o={...$,isDisabled:t||n};return s.jsx(Ke,{asChild:!0,ref:l,...u,...c,children:s.jsxs(Ce,{...o,children:[s.jsxs(me.chakra.div,{position:"relative",children:[s.jsx(je,{zIndex:0,asChild:!0,children:s.jsx(L.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{children:s.jsx(Oe,{asChild:!0,children:s.jsx(Fe,{})})})}),s.jsxs(T.Flex,{position:"absolute",top:"0",bottom:"0",zIndex:1,right:"400",pointerEvents:"none",children:[s.jsx(T.Flex,{width:"600",my:"auto",children:s.jsx(re,{})}),s.jsx(T.Flex,{my:"auto",w:"600",h:"600",pointerEvents:"none",children:s.jsx(Y.Box,{color:"neutral.9",asChild:!0,m:"auto",w:"400",h:"400",children:t?s.jsx(Y.Box,{asChild:!0,animation:"spin",animationDuration:"slowest",children:s.jsx(z.Loop,{})}):s.jsx(z.KeyboardArrowDown,{})})})]})]}),s.jsx(F.$07b14b47974efb58$export$5b6b19405a83ff9d,{children:e})]})})});U.displayName="Select.Root";const X=e=>{const{ref:t,...n}=e,[i,l]=le.extractStyleProps(n);return s.jsx(Ie,{asChild:!0,...i,children:s.jsx(B.$eed445e0843c11d0$export$41f133550aa26f48,{ref:t,...l})})};X.displayName="Select.Options";const J=({ref:e,...t})=>s.jsx(we,{asChild:!0,ref:e,children:s.jsx(B.$eed445e0843c11d0$export$a11e76429ed99b4,{...t})});J.displayName="Select.Option";const Q=e=>{const{ref:t,label:n,items:i,children:l,...d}=e;if(i&&typeof l!="function")throw new Error('SelectOptionGroup: When "items" is provided, "children" must be a function');return s.jsxs(B.$eed445e0843c11d0$export$dca12b0bb56e4fc,{ref:t,...d,children:[s.jsx(Ee,{asChild:!0,children:s.jsx(he.$72a5793c14baf454$export$8b251419efc915eb,{children:n})}),i?s.jsx(O.$e1995378a142960e$export$fb8073518f34e6ec,{items:i,children:u=>typeof l=="function"?l(u):null}):l]})};Q.displayName="Select.OptionGroup";const Me={Root:U,Options:X,Option:J,OptionGroup:Q};exports.Select=Me;exports.SelectOption=J;exports.SelectOptionGroup=Q;exports.SelectOptions=X;exports.SelectRoot=U;
|
|
2
|
-
//# sourceMappingURL=select-
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),r=require("react"),z=require("@commercetools/nimbus-icons"),Y=require("./box-BwCVnAwb.cjs.js"),L=require("./Button-BtJHe9xY.cjs.js"),F=require("./Dialog-CYa26HlL.cjs.js"),h=require("./utils-BHdR5Nww.cjs.js"),ie=require("./FieldError-DyGFfqST.cjs.js"),ae=require("./Form-BuOomA4T.cjs.js"),ne=require("./intlStrings-ClBuC6xN.cjs.js"),Z=require("./Label-BgrYyYXn.cjs.js"),B=require("./ListBox-CikEmFBx.cjs.js"),N=require("./Text-BWSfeB9p.cjs.js"),O=require("./SelectionManager-Mrwf4SFv.cjs.js"),D=require("./mergeProps-BA5Cwf5w.cjs.js"),G=require("./filterDOMProps-WUskt27c.cjs.js"),_=require("./OverlayArrow-CYjyBtg8.cjs.js"),se=require("./useLocalizedStringFormatter-sB0mFYtL.cjs.js"),ee=require("./useFormValidation-BEaCuNx1.cjs.js"),de=require("./useSingleSelectListState-F2WkLZRg.cjs.js"),ce=require("./useFocusRing-CzFer4bD.cjs.js"),ue=require("./useFocusVisible-Co0C61s7.cjs.js"),fe=require("./useCollator-YVJAe1GI.cjs.js"),be=require("./useField-DmqO9k7a.cjs.js"),$e=require("./useFormReset--wPlnEOl.cjs.js"),pe=require("./VisuallyHidden-Bv_AJXZ7.cjs.js"),te=require("./create-slot-recipe-context-CimocFDH.cjs.js"),ve=require("./icon-button-DOo2GUqd.cjs.js"),xe=require("./index-BsmdMT4w.cjs.js"),le=require("./extractStyleProps-BsLft3q1.cjs.js"),me=require("./factory-CVGqU9CD.cjs.js"),T=require("./flex-yqydM5z_.cjs.js"),he=require("./Separator-CAOg-vqY.cjs.js"),H=new WeakMap;function ye(e,t,n){let{keyboardDelegate:i,isDisabled:l,isRequired:d,name:u,form:a,validationBehavior:c="aria"}=e,$=fe.$325a3faab7a68acd$export$a16aca283550c30d({usage:"search",sensitivity:"base"}),o=r.useMemo(()=>i||new O.$2a25aae57d74318e$export$a05409b8bb224a5a(t.collection,t.disabledKeys,n,$),[i,t.collection,t.disabledKeys,$,n]),{menuTriggerProps:v,menuProps:p}=F.$168583247155ddda$export$dc9c12ed27dd1b49({isDisabled:l,type:"listbox"},t,n),f=b=>{switch(b.key){case"ArrowLeft":{var S,g;b.preventDefault();let q=t.selectedKey!=null?(S=o.getKeyAbove)===null||S===void 0?void 0:S.call(o,t.selectedKey):(g=o.getFirstKey)===null||g===void 0?void 0:g.call(o);q&&t.setSelectedKey(q);break}case"ArrowRight":{var k,V;b.preventDefault();let q=t.selectedKey!=null?(k=o.getKeyBelow)===null||k===void 0?void 0:k.call(o,t.selectedKey):(V=o.getFirstKey)===null||V===void 0?void 0:V.call(o);q&&t.setSelectedKey(q);break}}},{typeSelectProps:x}=O.$fb3050f43d946246$export$e32c88dfddc6e1d8({keyboardDelegate:o,selectionManager:t.selectionManager,onTypeSelect(b){t.setSelectedKey(b)}}),{isInvalid:P,validationErrors:R,validationDetails:I}=t.displayValidation,{labelProps:w,fieldProps:C,descriptionProps:y,errorMessageProps:E}=be.$2baaea4c71418dea$export$294aa081a6c6f55d({...e,labelElementType:"span",isInvalid:P,errorMessage:e.errorMessage||R});x.onKeyDown=x.onKeyDownCapture,delete x.onKeyDownCapture;let M=G.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(e,{labelable:!0}),m=D.$3ef42575df84b30b$export$9d1611c77c2fe928(x,v,C),j=D.$bdb11010cef70236$export$f680877a34711e37();return H.set(t,{isDisabled:l,isRequired:d,name:u,form:a,validationBehavior:c}),{labelProps:{...w,onClick:()=>{if(!e.isDisabled){var b;(b=n.current)===null||b===void 0||b.focus(),ue.$507fabe10e71c6fb$export$8397ddfc504fdb9a("keyboard")}}},triggerProps:D.$3ef42575df84b30b$export$9d1611c77c2fe928(M,{...m,isDisabled:l,onKeyDown:D.$ff5963eb1fccf552$export$e08e3b67e392101e(m.onKeyDown,f,e.onKeyDown),onKeyUp:e.onKeyUp,"aria-labelledby":[j,m["aria-labelledby"],m["aria-label"]&&!m["aria-labelledby"]?m.id:null].filter(Boolean).join(" "),onFocus(b){t.isFocused||(e.onFocus&&e.onFocus(b),e.onFocusChange&&e.onFocusChange(!0),t.setFocused(!0))},onBlur(b){t.isOpen||(e.onBlur&&e.onBlur(b),e.onFocusChange&&e.onFocusChange(!1),t.setFocused(!1))}}),valueProps:{id:j},menuProps:{...p,autoFocus:t.focusStrategy||!0,shouldSelectOnPressUp:!0,shouldFocusOnHover:!0,disallowEmptySelection:!0,linkBehavior:"selection",onBlur:b=>{b.currentTarget.contains(b.relatedTarget)||(e.onBlur&&e.onBlur(b),e.onFocusChange&&e.onFocusChange(!1),t.setFocused(!1))},"aria-labelledby":[C["aria-labelledby"],m["aria-label"]&&!C["aria-labelledby"]?m.id:null].filter(Boolean).join(" ")},descriptionProps:y,errorMessageProps:E,isInvalid:P,validationErrors:R,validationDetails:I,hiddenSelectProps:{isDisabled:l,name:u,label:e.label,state:t,triggerRef:n,form:a}}}function Se(e,t,n){let i=H.get(t)||{},{autoComplete:l,name:d=i.name,form:u=i.form,isDisabled:a=i.isDisabled}=e,{validationBehavior:c,isRequired:$}=i,{visuallyHiddenProps:o}=pe.$5c3e21d68f1c4674$export$a966af930f325cab({style:{position:"fixed",top:0,left:0}});$e.$99facab73266f662$export$5add1d006293d136(e.selectRef,t.defaultSelectedKey,t.setSelectedKey),ee.$e93e671b31057976$export$b8473d3665f3a75a({validationBehavior:c,focus:()=>{var f;return(f=n.current)===null||f===void 0?void 0:f.focus()}},t,e.selectRef);let v=r.useCallback(f=>t.setSelectedKey(f.currentTarget.value),[t.setSelectedKey]);var p;return{containerProps:{...o,"aria-hidden":!0,"data-react-aria-prevent-focus":!0,"data-a11y-ignore":"aria-hidden-focus"},inputProps:{style:{display:"none"}},selectProps:{tabIndex:-1,autoComplete:l,disabled:a,required:c==="native"&&$,name:d,form:u,value:(p=t.selectedKey)!==null&&p!==void 0?p:"",onChange:v,onInput:v}}}function ge(e){let{state:t,triggerRef:n,label:i,name:l,form:d,isDisabled:u}=e,a=r.useRef(null),c=r.useRef(null),{containerProps:$,selectProps:o}=Se({...e,selectRef:t.collection.size<=300?a:c},t,n);if(t.collection.size<=300)return r.createElement("div",{...$,"data-testid":"hidden-select-container"},r.createElement("label",null,i,r.createElement("select",{...o,ref:a},r.createElement("option",null),[...t.collection.getKeys()].map(p=>{let f=t.collection.getItem(p);if(f&&f.type==="item")return r.createElement("option",{key:f.key,value:f.key},f.textValue)}))));if(l){let p=H.get(t)||{},{validationBehavior:f}=p;var v;let x={type:"hidden",autoComplete:o.autoComplete,name:l,form:d,disabled:u,value:(v=t.selectedKey)!==null&&v!==void 0?v:""};return f==="native"?r.createElement("input",{...x,ref:c,style:{display:"none"},type:"text",required:o.required,onChange:()=>{}}):r.createElement("input",{...x,ref:c})}return null}function Pe(e){let t=_.$fc909762b330b746$export$61c6a8c84e605fb6(e),[n,i]=r.useState(null),l=de.$a0d645289fe9b86b$export$e7f05e985daf4b5f({...e,onSelectionChange:o=>{e.onSelectionChange!=null&&e.onSelectionChange(o),t.close(),d.commitValidation()}}),d=ee.$e5be200c675c3b3a$export$fc1a364ae1f3ff10({...e,value:l.selectedKey}),[u,a]=r.useState(!1),[c]=r.useState(l.selectedKey);var $;return{...d,...l,...t,defaultSelectedKey:($=e.defaultSelectedKey)!==null&&$!==void 0?$:c,focusStrategy:n,open(o=null){l.collection.size!==0&&(i(o),t.open())},toggle(o=null){l.collection.size!==0&&(i(o),t.toggle())},isFocused:u,setFocused:a}}function Re(e){return e&&e.__esModule?e.default:e}const W=r.createContext(null),A=r.createContext(null),Ce=r.forwardRef(function(t,n){[t,n]=h.$64fa3d84918910a7$export$29f1550f4b0d4415(t,n,W);let{children:i,isDisabled:l=!1,isInvalid:d=!1,isRequired:u=!1}=t,a=r.useMemo(()=>typeof i=="function"?i({isOpen:!1,isDisabled:l,isInvalid:d,isRequired:u,isFocused:!1,isFocusVisible:!1,defaultChildren:null}):i,[i,l,d,u]);return r.createElement(O.$e1995378a142960e$export$bf788dd355e3a401,{content:a},c=>r.createElement(De,{props:t,collection:c,selectRef:n}))}),qe=[Z.$01b77f81d0f07f68$export$75b6ee27786ba447,L.$d2b4bc8c273e7be6$export$24d547caef80ccd1,N.$514c0188e459b4c0$export$9afb8bc826b033ea];function De({props:e,selectRef:t,collection:n}){let{validationBehavior:i}=h.$64fa3d84918910a7$export$fabf2dc03a41866e(ae.$d3e0e05bdfcf66bd$export$c24727297075ec6a)||{};var l,d;let u=(d=(l=e.validationBehavior)!==null&&l!==void 0?l:i)!==null&&d!==void 0?d:"native",a=Pe({...e,collection:n,children:void 0,validationBehavior:u}),{isFocusVisible:c,focusProps:$}=ce.$f7dceffc5ad7768b$export$4e328f61c538687f({within:!0}),o=r.useRef(null),[v,p]=h.$64fa3d84918910a7$export$9d4c57ee4c6ffdd8(!e["aria-label"]&&!e["aria-labelledby"]),{labelProps:f,triggerProps:x,valueProps:P,menuProps:R,descriptionProps:I,errorMessageProps:w,hiddenSelectProps:C,...y}=ye({...h.$64fa3d84918910a7$export$ef03459518577ad4(e),label:p,validationBehavior:u},a,o),[E,M]=r.useState(null),m=r.useCallback(()=>{o.current&&M(o.current.offsetWidth+"px")},[o]);_.$9daab02d461809db$export$683480f191c0e3ea({ref:o,onResize:m});let j=r.useMemo(()=>({isOpen:a.isOpen,isFocused:a.isFocused,isFocusVisible:c,isDisabled:e.isDisabled||!1,isInvalid:y.isInvalid||!1,isRequired:e.isRequired||!1}),[a.isOpen,a.isFocused,c,e.isDisabled,y.isInvalid,e.isRequired]),b=h.$64fa3d84918910a7$export$4d86445c2cf5e3({...e,values:j,defaultClassName:"react-aria-Select"}),S=G.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(e,{global:!0});delete S.id;let g=r.useRef(null);return r.createElement(h.$64fa3d84918910a7$export$2881499e37b75b9a,{values:[[W,e],[A,a],[oe,P],[Z.$01b77f81d0f07f68$export$75b6ee27786ba447,{...f,ref:v,elementType:"span"}],[L.$d2b4bc8c273e7be6$export$24d547caef80ccd1,{...x,ref:o,isPressed:a.isOpen,autoFocus:e.autoFocus}],[F.$de32f1b87079253c$export$d2f961adcb0afbe,a],[F.$07b14b47974efb58$export$9b9a0cd73afb7ca4,{trigger:"Select",triggerRef:o,scrollRef:g,placement:"bottom start",style:{"--trigger-width":E},"aria-labelledby":R["aria-labelledby"],clearContexts:qe}],[B.$eed445e0843c11d0$export$7ff8f37d2d81a48d,{...R,ref:g}],[B.$eed445e0843c11d0$export$7c5906fe4f1f2af2,a],[N.$514c0188e459b4c0$export$9afb8bc826b033ea,{slots:{description:I,errorMessage:w}}],[ie.$ee014567cb39d3f0$export$ff05c3ac10437e03,y]]},r.createElement("div",{...D.$3ef42575df84b30b$export$9d1611c77c2fe928(S,b,$),ref:t,slot:e.slot||void 0,"data-focused":a.isFocused||void 0,"data-focus-visible":c||void 0,"data-open":a.isOpen||void 0,"data-disabled":e.isDisabled||void 0,"data-invalid":y.isInvalid||void 0,"data-required":e.isRequired||void 0},b.children,r.createElement(ge,{...C,autoComplete:e.autoComplete})))}const oe=r.createContext(null),Fe=r.forwardRef(function(t,n){var i,l;[t,n]=h.$64fa3d84918910a7$export$29f1550f4b0d4415(t,n,oe);let d=r.useContext(A),{placeholder:u}=h.$64fa3d84918910a7$export$fabf2dc03a41866e(W),a=d.selectedKey!=null?d.collection.getItem(d.selectedKey):null,c=a?.props.children;typeof c=="function"&&(c=c({isHovered:!1,isPressed:!1,isSelected:!1,isFocused:!1,isFocusVisible:!1,isDisabled:!1,selectionMode:"single",selectionBehavior:"toggle"}));let $=se.$fca6afa0e843324b$export$f12b703ca79dfbb1(Re(ne.$df39c1238ae2b5f3$exports),"react-aria-components");var o,v,p;let f=h.$64fa3d84918910a7$export$4d86445c2cf5e3({...t,defaultChildren:(o=c??u)!==null&&o!==void 0?o:$.format("selectPlaceholder"),defaultClassName:"react-aria-SelectValue",values:{selectedItem:(v=(i=d.selectedItem)===null||i===void 0?void 0:i.value)!==null&&v!==void 0?v:null,selectedText:(p=(l=d.selectedItem)===null||l===void 0?void 0:l.textValue)!==null&&p!==void 0?p:null,isPlaceholder:!a}}),x=G.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(t,{global:!0});return r.createElement("span",{ref:n,...x,...f,"data-placeholder":!a||void 0},r.createElement(N.$514c0188e459b4c0$export$9afb8bc826b033ea.Provider,{value:void 0},f.children))}),{withProvider:Be,withContext:K}=te.createSlotRecipeContext({key:"select"}),Ke=Be("div","root"),je=K("button","trigger"),Oe=K("span","triggerLabel"),Ie=K("div","options"),we=K("div","option"),Ee=K("div","optionGroup"),re=()=>{const e=r.useContext(A);if(!e?.selectedKey)return null;const t=()=>{e?.setSelectedKey(null)};return s.jsx(F.$f1ab8c75478c6f73$export$cf75428e0b9ed1ea,{children:s.jsx(ve.IconButton,{pointerEvents:"all",size:"2xs",variant:"ghost",tone:"primary","aria-label":"Clear Selection",onPress:t,children:s.jsx(z.Close,{})})})};re.displayName="Select.ClearButton";const U=r.forwardRef(({children:e,isLoading:t,isDisabled:n,...i},l)=>{const d=te.useSlotRecipe({recipe:xe.selectSlotRecipe}),[u,a]=d.splitVariantProps(i),[c,$]=le.extractStyleProps(a),o={...$,isDisabled:t||n};return s.jsx(Ke,{asChild:!0,ref:l,...u,...c,children:s.jsxs(Ce,{...o,children:[s.jsxs(me.chakra.div,{position:"relative",children:[s.jsx(je,{zIndex:0,asChild:!0,children:s.jsx(L.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{children:s.jsx(Oe,{asChild:!0,children:s.jsx(Fe,{})})})}),s.jsxs(T.Flex,{position:"absolute",top:"0",bottom:"0",zIndex:1,right:"400",pointerEvents:"none",children:[s.jsx(T.Flex,{width:"600",my:"auto",children:s.jsx(re,{})}),s.jsx(T.Flex,{my:"auto",w:"600",h:"600",pointerEvents:"none",children:s.jsx(Y.Box,{color:"neutral.9",asChild:!0,m:"auto",w:"400",h:"400",children:t?s.jsx(Y.Box,{asChild:!0,animation:"spin",animationDuration:"slowest",children:s.jsx(z.Loop,{})}):s.jsx(z.KeyboardArrowDown,{})})})]})]}),s.jsx(F.$07b14b47974efb58$export$5b6b19405a83ff9d,{children:e})]})})});U.displayName="Select.Root";const X=e=>{const{ref:t,...n}=e,[i,l]=le.extractStyleProps(n);return s.jsx(Ie,{asChild:!0,...i,children:s.jsx(B.$eed445e0843c11d0$export$41f133550aa26f48,{ref:t,...l})})};X.displayName="Select.Options";const J=({ref:e,...t})=>s.jsx(we,{asChild:!0,ref:e,children:s.jsx(B.$eed445e0843c11d0$export$a11e76429ed99b4,{...t})});J.displayName="Select.Option";const Q=e=>{const{ref:t,label:n,items:i,children:l,...d}=e;if(i&&typeof l!="function")throw new Error('SelectOptionGroup: When "items" is provided, "children" must be a function');return s.jsxs(B.$eed445e0843c11d0$export$dca12b0bb56e4fc,{ref:t,...d,children:[s.jsx(Ee,{asChild:!0,children:s.jsx(he.$72a5793c14baf454$export$8b251419efc915eb,{children:n})}),i?s.jsx(O.$e1995378a142960e$export$fb8073518f34e6ec,{items:i,children:u=>typeof l=="function"?l(u):null}):l]})};Q.displayName="Select.OptionGroup";const Me={Root:U,Options:X,Option:J,OptionGroup:Q};exports.Select=Me;exports.SelectOption=J;exports.SelectOptionGroup=Q;exports.SelectOptions=X;exports.SelectRoot=U;
|
|
2
|
+
//# sourceMappingURL=select-BuXA5VgT.cjs.js.map
|