@ultraviolet/ui 3.17.0 → 3.18.0

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.
Files changed (71) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.130.0/helpers/extends.js +17 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.130.0/helpers/objectDestructuringEmpty.js +11 -0
  3. package/dist/components/Checkbox/styles.css.js +0 -2
  4. package/dist/components/FileInput/__mock__/mockFile.d.ts +3 -0
  5. package/dist/components/FileInput/__mock__/mockFile.d.ts.map +1 -0
  6. package/dist/components/FileInput/components/List.d.ts.map +1 -1
  7. package/dist/components/FileInput/components/List.js +9 -10
  8. package/dist/components/FileInput/helpers.js +1 -1
  9. package/dist/components/FileInput/index.d.ts.map +1 -1
  10. package/dist/components/FileInput/index.js +8 -9
  11. package/dist/components/FileInput/types.d.ts +2 -6
  12. package/dist/components/FileInput/types.d.ts.map +1 -1
  13. package/dist/components/Modal/ModalContent.d.ts +1 -1
  14. package/dist/components/Modal/ModalContent.d.ts.map +1 -1
  15. package/dist/components/Modal/ModalContent.js +2 -2
  16. package/dist/components/Modal/index.d.ts +9 -1
  17. package/dist/components/Modal/index.d.ts.map +1 -1
  18. package/dist/components/Modal/index.js +5 -26
  19. package/dist/components/Modal/styles.css.d.ts.map +1 -1
  20. package/dist/components/NumberInput/index.d.ts.map +1 -1
  21. package/dist/components/NumberInput/index.js +0 -1
  22. package/dist/components/PhoneInput/PhoneInput.d.ts.map +1 -1
  23. package/dist/components/PhoneInput/PhoneInput.js +0 -1
  24. package/dist/components/Popup/styles.css.js +2 -4
  25. package/dist/components/SelectInput/index.d.ts.map +1 -1
  26. package/dist/components/SelectInput/index.js +0 -1
  27. package/dist/components/SelectableCard/styles.css.js +2 -0
  28. package/dist/components/SelectableCardOptionGroup/SelectableCardOptionGroup.js +1 -2
  29. package/dist/components/TagInput/index.d.ts.map +1 -1
  30. package/dist/components/TagInput/index.js +1 -2
  31. package/dist/components/Text/style.css.js +2 -0
  32. package/dist/components/TextInput/index.d.ts.map +1 -1
  33. package/dist/components/TextInput/index.js +0 -1
  34. package/dist/components/TimeInput/index.js +0 -1
  35. package/dist/components/Toaster/components/Button.js +34 -0
  36. package/dist/components/Toaster/components/Link.js +26 -0
  37. package/dist/components/Toaster/index.js +12 -2
  38. package/dist/components/Toggle/index.d.ts.map +1 -1
  39. package/dist/components/Toggle/index.js +1 -2
  40. package/dist/components/UnitInput/index.d.ts.map +1 -1
  41. package/dist/components/UnitInput/index.js +0 -1
  42. package/dist/components/index.d.ts +1 -1
  43. package/dist/components/index.d.ts.map +1 -1
  44. package/dist/components/index.js +1 -1
  45. package/dist/composition.js +3 -1
  46. package/dist/compositions/CodeEditor/styles.css.d.ts.map +1 -1
  47. package/dist/compositions/OfferList/components/Row.js +1 -1
  48. package/dist/compositions/OptionSelector/index.d.ts.map +1 -1
  49. package/dist/compositions/OptionSelector/index.js +0 -2
  50. package/dist/compositions/RichTextInput/Toolbar.d.ts +9 -0
  51. package/dist/compositions/RichTextInput/Toolbar.d.ts.map +1 -0
  52. package/dist/compositions/RichTextInput/Toolbar.js +142 -0
  53. package/dist/compositions/RichTextInput/editorCore.d.ts +11 -0
  54. package/dist/compositions/RichTextInput/editorCore.d.ts.map +1 -0
  55. package/dist/compositions/RichTextInput/editorCore.js +64 -0
  56. package/dist/compositions/RichTextInput/helpers.d.ts +6 -0
  57. package/dist/compositions/RichTextInput/helpers.d.ts.map +1 -0
  58. package/dist/compositions/RichTextInput/helpers.js +21 -0
  59. package/dist/compositions/RichTextInput/index.d.ts +28 -0
  60. package/dist/compositions/RichTextInput/index.d.ts.map +1 -0
  61. package/dist/compositions/RichTextInput/index.js +129 -0
  62. package/dist/compositions/RichTextInput/styles.css.d.ts +69 -0
  63. package/dist/compositions/RichTextInput/styles.css.d.ts.map +1 -0
  64. package/dist/compositions/RichTextInput/styles.css.js +67 -0
  65. package/dist/compositions/RichTextInput/styles.css.ts.vanilla.js +8 -0
  66. package/dist/compositions/index.d.ts +1 -0
  67. package/dist/compositions/index.d.ts.map +1 -1
  68. package/dist/compositions/index.js +2 -0
  69. package/dist/index.js +2 -1
  70. package/dist/ui.css +1 -1
  71. package/package.json +12 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UnitInput/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAI1F,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItD,KAAK,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,KAAK,cAAc,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,KAAK,IAAI,CAAA;IACxD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACpC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC,eAAe,CAAC,CAAA;IACnE,eAAe,CAAC,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAA;CAChE,GAAG,IAAI,CACN,mBAAmB,CAAC,gBAAgB,CAAC,EACnC,SAAS,GACT,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,aAAa,GACb,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,OAAO,GACP,kBAAkB,CACrB,CAAA;AAED,eAAO,MAAM,SAAS,oZAoCnB,cAAc,4CAkHhB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UnitInput/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAI1F,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItD,KAAK,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,KAAK,cAAc,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,KAAK,IAAI,CAAA;IACxD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACpC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC,eAAe,CAAC,CAAA;IACnE,eAAe,CAAC,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAA;CAChE,GAAG,IAAI,CACN,mBAAmB,CAAC,gBAAgB,CAAC,EACnC,SAAS,GACT,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,aAAa,GACb,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,OAAO,GACP,kBAAkB,CACrB,CAAA;AAED,eAAO,MAAM,SAAS,oZAoCnB,cAAc,4CAiHhB,CAAA"}
@@ -131,7 +131,6 @@ var init_UnitInput = __esmMin(() => {
131
131
  error,
132
132
  success,
133
133
  disabled,
134
- size,
135
134
  id: ariaDescribedBy !== null && ariaDescribedBy !== void 0 ? ariaDescribedBy : helperId
136
135
  })
137
136
  ]
@@ -68,7 +68,7 @@ export { Text } from './Text';
68
68
  export { TextArea } from './TextArea';
69
69
  export { TextInput } from './TextInput';
70
70
  export { type Time, TimeInput } from './TimeInput';
71
- export { ToastContainer, toast } from './Toaster';
71
+ export { ToastContainer, toast, Toast } from './Toaster';
72
72
  export { Toggle } from './Toggle';
73
73
  export { ToggleGroup } from './ToggleGroup';
74
74
  export { Tooltip } from './Tooltip';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,7 @@ import { TextArea, init_TextArea } from "./TextArea/index.js";
80
80
  import { TimeInput, init_TimeInput } from "./TimeInput/index.js";
81
81
  import { toast } from "./Toaster/Toaster.js";
82
82
  import { ToastContainer } from "./Toaster/ToasterContainer.js";
83
- import { init_Toaster } from "./Toaster/index.js";
83
+ import { Toast, init_Toaster } from "./Toaster/index.js";
84
84
  import { ToggleGroup, init_ToggleGroup } from "./ToggleGroup/index.js";
85
85
  import { TreeMapChart, init_TreeMapChart } from "./TreeMapChart/index.js";
86
86
  import { VerificationCode, init_VerificationCode } from "./VerificationCode/index.js";
@@ -51,6 +51,7 @@ import { Radio } from "./components/Radio/index.js";
51
51
  import { OfferList } from "./compositions/OfferList/index.js";
52
52
  import { optionSelectorStyle } from "./compositions/OptionSelector/styles.css.js";
53
53
  import { OptionSelector } from "./compositions/OptionSelector/index.js";
54
+ import { RichTextInput } from "./compositions/RichTextInput/index.js";
54
55
  import { orderSummaryStyle } from "./compositions/OrderSummary/styles.css.js";
55
56
  import { OrderSummary } from "./compositions/OrderSummary/index.js";
56
57
  import { Popover } from "./components/Popover/index.js";
@@ -108,6 +109,7 @@ import { TextArea } from "./components/TextArea/index.js";
108
109
  import { TimeInput } from "./components/TimeInput/index.js";
109
110
  import { toast } from "./components/Toaster/Toaster.js";
110
111
  import { ToastContainer } from "./components/Toaster/ToasterContainer.js";
112
+ import { Toast } from "./components/Toaster/index.js";
111
113
  import { ToggleGroup } from "./components/ToggleGroup/index.js";
112
114
  import { TreeMapChart } from "./components/TreeMapChart/index.js";
113
115
  import { VerificationCode } from "./components/VerificationCode/index.js";
@@ -122,4 +124,4 @@ var init_composition = __esmMin(() => {
122
124
 
123
125
  //#endregion
124
126
  init_composition();
125
- export { ActionBar, Alert, Avatar, Badge, Banner, BarChart, BarStack, Breadcrumbs, Bullet, Button, Card, Carousel, Checkbox, CheckboxGroup, CheckboxGroupCheckbox, Chip, CodeEditor, ContentCard, ContentCardGroup, Conversation, CopyButton, CustomerSatisfaction, DateInput, Dialog, Drawer, EmptyState, EstimateCost, Expandable, ExpandableCard, FAQ, FileInput, GlobalAlert, InfiniteScroll, InfoTable, Key, Label, LineChart, Link, List, Loader, Menu, Meter, Modal, Navigation, NavigationProvider, Notice, NotificationContainer, NumberInput, OfferList, OptionSelector, OrderSummary, Pagination, PasswordCheck, PhoneInput, PieChart, Plans, Popover, Popup, ProgressBar, Radio, RadioGroup, Row, SearchInput, SelectInput, SelectableCard, SelectableCardGroup, SelectableCardOptionGroup, Separator, Skeleton, Slider, Snippet, Stack, Status, StepList, SteppedListCard, Stepper, SwitchButton, Table, Tabs, Tag, TagInput, TagList, Text, TextArea, TextInput, TimeInput, ToastContainer, Toggle, ToggleGroup, Tooltip, TreeMapChart, UnitInput, VerificationCode, codeEditorStyle, contentCardGroupStyle, contentCardStyle, conversationStyle, customerSatisfactionStyle, en_default as estimateCostDefaultLocales, estimateCostStyle, faqStyle, infoTableStyle, navigationStyle, notification, offerListStyle, optionSelectorStyle, orderSummaryStyle, plansStyle, steppedListCardStyle, toast, useNavigation };
127
+ export { ActionBar, Alert, Avatar, Badge, Banner, BarChart, BarStack, Breadcrumbs, Bullet, Button, Card, Carousel, Checkbox, CheckboxGroup, CheckboxGroupCheckbox, Chip, CodeEditor, ContentCard, ContentCardGroup, Conversation, CopyButton, CustomerSatisfaction, DateInput, Dialog, Drawer, EmptyState, EstimateCost, Expandable, ExpandableCard, FAQ, FileInput, GlobalAlert, InfiniteScroll, InfoTable, Key, Label, LineChart, Link, List, Loader, Menu, Meter, Modal, Navigation, NavigationProvider, Notice, NotificationContainer, NumberInput, OfferList, OptionSelector, OrderSummary, Pagination, PasswordCheck, PhoneInput, PieChart, Plans, Popover, Popup, ProgressBar, Radio, RadioGroup, RichTextInput, Row, SearchInput, SelectInput, SelectableCard, SelectableCardGroup, SelectableCardOptionGroup, Separator, Skeleton, Slider, Snippet, Stack, Status, StepList, SteppedListCard, Stepper, SwitchButton, Table, Tabs, Tag, TagInput, TagList, Text, TextArea, TextInput, TimeInput, Toast, ToastContainer, Toggle, ToggleGroup, Tooltip, TreeMapChart, UnitInput, VerificationCode, codeEditorStyle, contentCardGroupStyle, contentCardStyle, conversationStyle, customerSatisfactionStyle, en_default as estimateCostDefaultLocales, estimateCostStyle, faqStyle, infoTableStyle, navigationStyle, notification, offerListStyle, optionSelectorStyle, orderSummaryStyle, plansStyle, steppedListCardStyle, toast, useNavigation };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/compositions/CodeEditor/styles.css.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,oBAAc,CAAA;AACvC,eAAO,MAAM,aAAa,QAAmC,CAAA;AAkK7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAQ3B,CAAA"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/compositions/CodeEditor/styles.css.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,oBAAc,CAAA;AACvC,eAAO,MAAM,aAAa,QAAmC,CAAA;AAyK7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAQ3B,CAAA"}
@@ -130,7 +130,7 @@ var init_Row = __esmMin(() => {
130
130
  children: /* @__PURE__ */ jsx(Button, {
131
131
  "aria-label": "expand",
132
132
  "data-testid": "list-expand-button",
133
- disabled: (disabled !== null && disabled !== void 0 ? disabled : !expandable) || loading,
133
+ disabled: (disabled !== null && disabled !== void 0 ? disabled : !expandableContent) || loading,
134
134
  onClick: (event) => {
135
135
  event.stopPropagation();
136
136
  toggleRowExpand();
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compositions/OptionSelector/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAA;AAyBlE;;;GAGG;AACH,eAAO,MAAM,cAAc,yMAiBxB,mBAAmB,4CAwIrB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compositions/OptionSelector/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAA;AAyBlE;;;GAGG;AACH,eAAO,MAAM,cAAc,yMAiBxB,mBAAmB,4CAsIrB,CAAA"}
@@ -155,7 +155,6 @@ var init_OptionSelector = __esmMin(() => {
155
155
  error: firstSelector.error,
156
156
  helper: firstSelector.helper,
157
157
  id: firstSelectorHelperId,
158
- size,
159
158
  disabled: firstSelector.disabled || disabled,
160
159
  className: optionSelectorStyle.errorFirstSelector
161
160
  }) : null,
@@ -163,7 +162,6 @@ var init_OptionSelector = __esmMin(() => {
163
162
  error: secondSelector.error,
164
163
  helper: secondSelector.helper,
165
164
  id: secondSelectorHelperId,
166
- size,
167
165
  disabled: secondSelector.disabled || disabled,
168
166
  className: optionSelectorStyle.errorSecondSelector
169
167
  }) : null
@@ -0,0 +1,9 @@
1
+ type ToolbarProps = {
2
+ disabled?: boolean;
3
+ showList: boolean;
4
+ showMarks: boolean;
5
+ size: 'large' | 'medium' | 'small';
6
+ };
7
+ export declare const Toolbar: ({ disabled, showList, showMarks, size }: ToolbarProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/compositions/RichTextInput/Toolbar.tsx"],"names":[],"mappings":"AAUA,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CACnC,CAAA;AAmBD,eAAO,MAAM,OAAO,4CAA6C,YAAY,4CAiI5E,CAAA"}
@@ -0,0 +1,142 @@
1
+ import { __esmMin, __name } from "../../_virtual/_rolldown/runtime.js";
2
+ import { Stack, init_Stack } from "../../components/Stack/index.js";
3
+ import { Button, init_Button } from "../../components/Button/index.js";
4
+ import { init_helpers, isSelectionInNodeType } from "./helpers.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { useEditorEventCallback, useEditorState } from "@handlewithcare/react-prosemirror";
7
+ import { BoldIcon, ItalicIcon, ListBulletIcon, ListNumberIcon, UnderlineIcon } from "@ultraviolet/icons";
8
+ import { toggleMark } from "prosemirror-commands";
9
+ import { liftListItem, wrapInList } from "prosemirror-schema-list";
10
+
11
+ //#region src/compositions/RichTextInput/Toolbar.tsx
12
+ var isMarkActive, Toolbar;
13
+ var init_Toolbar = __esmMin(() => {
14
+ init_Button();
15
+ init_Stack();
16
+ init_helpers();
17
+ isMarkActive = (state, markType) => {
18
+ if (!markType) return false;
19
+ const { from, $from, to, empty } = state.selection;
20
+ if (empty) {
21
+ var _state$storedMarks;
22
+ const marks = (_state$storedMarks = state.storedMarks) !== null && _state$storedMarks !== void 0 ? _state$storedMarks : $from.marks();
23
+ return Boolean(markType.isInSet(marks));
24
+ }
25
+ return state.doc.rangeHasMark(from, to, markType);
26
+ };
27
+ Toolbar = ({ disabled, showList, showMarks, size }) => {
28
+ const editorState = useEditorState();
29
+ const runCommand = useEditorEventCallback((view, command) => {
30
+ command(view.state, view.dispatch);
31
+ });
32
+ const runCommandOnEnter = (event, command) => {
33
+ if (event.key !== "Enter") return;
34
+ event.preventDefault();
35
+ runCommand(command);
36
+ };
37
+ const strongMark = editorState.schema.marks["strong"];
38
+ const emMark = editorState.schema.marks["em"];
39
+ const underlineMark = editorState.schema.marks["underline"];
40
+ const bulletList = editorState.schema.nodes["bullet_list"];
41
+ const orderedList = editorState.schema.nodes["ordered_list"];
42
+ const listItem = editorState.schema.nodes["list_item"];
43
+ const isInBulletList = isSelectionInNodeType(editorState, bulletList);
44
+ const isInOrderedList = isSelectionInNodeType(editorState, orderedList);
45
+ const buttonSize = size === "small" ? "xsmall" : "small";
46
+ return /* @__PURE__ */ jsxs(Stack, {
47
+ alignItems: "center",
48
+ direction: "row",
49
+ gap: 1,
50
+ role: "toolbar",
51
+ children: [showMarks ? /* @__PURE__ */ jsxs(Stack, {
52
+ alignItems: "center",
53
+ direction: "row",
54
+ gap: 1,
55
+ children: [
56
+ /* @__PURE__ */ jsx(Button, {
57
+ "aria-label": "Bold",
58
+ disabled,
59
+ size: buttonSize,
60
+ variant: isMarkActive(editorState, strongMark) ? "filled" : "ghost",
61
+ sentiment: "neutral",
62
+ onMouseDown: (event) => {
63
+ event.preventDefault();
64
+ if (strongMark) runCommand(toggleMark(strongMark));
65
+ },
66
+ onKeyDown: (event) => {
67
+ if (strongMark) runCommandOnEnter(event, toggleMark(strongMark));
68
+ },
69
+ children: /* @__PURE__ */ jsx(BoldIcon, {})
70
+ }),
71
+ /* @__PURE__ */ jsx(Button, {
72
+ "aria-label": "Italic",
73
+ disabled,
74
+ size: buttonSize,
75
+ variant: isMarkActive(editorState, emMark) ? "filled" : "ghost",
76
+ sentiment: "neutral",
77
+ onMouseDown: (event) => {
78
+ event.preventDefault();
79
+ if (emMark) runCommand(toggleMark(emMark));
80
+ },
81
+ onKeyDown: (event) => {
82
+ if (emMark) runCommandOnEnter(event, toggleMark(emMark));
83
+ },
84
+ children: /* @__PURE__ */ jsx(ItalicIcon, {})
85
+ }),
86
+ /* @__PURE__ */ jsx(Button, {
87
+ "aria-label": "Underline",
88
+ disabled,
89
+ size: buttonSize,
90
+ variant: isMarkActive(editorState, underlineMark) ? "filled" : "ghost",
91
+ sentiment: "neutral",
92
+ onMouseDown: (event) => {
93
+ event.preventDefault();
94
+ if (underlineMark) runCommand(toggleMark(underlineMark));
95
+ },
96
+ onKeyDown: (event) => {
97
+ if (underlineMark) runCommandOnEnter(event, toggleMark(underlineMark));
98
+ },
99
+ children: /* @__PURE__ */ jsx(UnderlineIcon, {})
100
+ })
101
+ ]
102
+ }) : null, showList ? /* @__PURE__ */ jsxs(Stack, {
103
+ alignItems: "center",
104
+ direction: "row",
105
+ gap: 1,
106
+ children: [/* @__PURE__ */ jsx(Button, {
107
+ "aria-label": "Bullet List",
108
+ disabled: disabled || isInOrderedList,
109
+ size: buttonSize,
110
+ variant: isInBulletList ? "filled" : "ghost",
111
+ sentiment: "neutral",
112
+ onMouseDown: (event) => {
113
+ event.preventDefault();
114
+ runCommand(isInBulletList ? liftListItem(listItem) : wrapInList(bulletList));
115
+ },
116
+ onKeyDown: (event) => {
117
+ runCommandOnEnter(event, isInBulletList ? liftListItem(listItem) : wrapInList(bulletList));
118
+ },
119
+ children: /* @__PURE__ */ jsx(ListBulletIcon, {})
120
+ }), /* @__PURE__ */ jsx(Button, {
121
+ "aria-label": "Ordered List",
122
+ disabled: disabled || isInBulletList,
123
+ size: buttonSize,
124
+ variant: isInOrderedList ? "filled" : "ghost",
125
+ sentiment: "neutral",
126
+ onMouseDown: (event) => {
127
+ event.preventDefault();
128
+ runCommand(isInOrderedList ? liftListItem(listItem) : wrapInList(orderedList));
129
+ },
130
+ onKeyDown: (event) => {
131
+ runCommandOnEnter(event, isInOrderedList ? liftListItem(listItem) : wrapInList(orderedList));
132
+ },
133
+ children: /* @__PURE__ */ jsx(ListNumberIcon, {})
134
+ })]
135
+ }) : null]
136
+ });
137
+ };
138
+ });
139
+
140
+ //#endregion
141
+ init_Toolbar();
142
+ export { Toolbar, init_Toolbar };
@@ -0,0 +1,11 @@
1
+ import { Schema } from 'prosemirror-model';
2
+ import type { Node } from 'prosemirror-model';
3
+ import { EditorState } from 'prosemirror-state';
4
+ import type { Plugin } from 'prosemirror-state';
5
+ export declare const editorSchema: Schema;
6
+ export declare const listItemNode: import("prosemirror-model").NodeType;
7
+ export declare const createPlugins: () => Plugin<any>[];
8
+ export declare const createEditorState: (doc: Node) => EditorState;
9
+ export declare const docFromHtml: (html: string | undefined, schema?: Schema) => Node;
10
+ export declare const editorDocToHtml: (doc: Node, schema?: Schema) => string;
11
+ //# sourceMappingURL=editorCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorCore.d.ts","sourceRoot":"","sources":["../../../src/compositions/RichTextInput/editorCore.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK/C,eAAO,MAAM,YAAY,EAAE,MAYzB,CAAA;AAEF,eAAO,MAAM,YAAY,sCAAkC,CAAA;AAI3D,eAAO,MAAM,aAAa,qBAgCzB,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,IAAI,gBAKvC,CAAA;AAEJ,eAAO,MAAM,WAAW,SAAU,MAAM,GAAG,SAAS,WAAU,MAAM,KAAkB,IAerF,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,IAAI,WAAU,MAAM,KAAkB,MAU1E,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { __esmMin, __name } from "../../_virtual/_rolldown/runtime.js";
2
+ import { createToggleListCommand, escapeHtml, init_helpers } from "./helpers.js";
3
+ import { reactKeys } from "@handlewithcare/react-prosemirror";
4
+ import { baseKeymap, toggleMark } from "prosemirror-commands";
5
+ import { keymap } from "prosemirror-keymap";
6
+ import { DOMParser, DOMSerializer, Schema } from "prosemirror-model";
7
+ import { schema } from "prosemirror-schema-basic";
8
+ import { addListNodes, splitListItem } from "prosemirror-schema-list";
9
+ import { EditorState } from "prosemirror-state";
10
+
11
+ //#region src/compositions/RichTextInput/editorCore.ts
12
+ var nodesWithLists, editorSchema, listItemNode, bulletListNode, orderedListNode, createPlugins, createEditorState, docFromHtml, editorDocToHtml;
13
+ var init_editorCore = __esmMin(() => {
14
+ init_helpers();
15
+ nodesWithLists = addListNodes(schema.spec.nodes.remove("image"), "paragraph block*", "block");
16
+ editorSchema = new Schema({
17
+ nodes: nodesWithLists,
18
+ marks: schema.spec.marks.addToEnd("underline", {
19
+ parseDOM: [{ tag: "u" }, {
20
+ style: "text-decoration",
21
+ getAttrs: (value) => value === "underline" ? null : false
22
+ }],
23
+ toDOM: () => ["u", 0]
24
+ })
25
+ });
26
+ listItemNode = editorSchema.nodes["list_item"];
27
+ bulletListNode = editorSchema.nodes["bullet_list"];
28
+ orderedListNode = editorSchema.nodes["ordered_list"];
29
+ createPlugins = () => {
30
+ const plugins = [reactKeys()];
31
+ if (editorSchema.marks["strong"]) plugins.push(keymap({ "Mod-b": toggleMark(editorSchema.marks["strong"]) }));
32
+ if (editorSchema.marks["em"]) plugins.push(keymap({ "Mod-i": toggleMark(editorSchema.marks["em"]) }));
33
+ if (editorSchema.marks["underline"]) plugins.push(keymap({ "Mod-u": toggleMark(editorSchema.marks["underline"]) }));
34
+ if (bulletListNode) plugins.push(keymap({ "Mod-Shift-8": createToggleListCommand(listItemNode, bulletListNode) }));
35
+ if (orderedListNode) plugins.push(keymap({ "Mod-Shift-9": createToggleListCommand(listItemNode, orderedListNode) }));
36
+ if (listItemNode) plugins.push(keymap({ Enter: splitListItem(listItemNode) }));
37
+ plugins.push(keymap(baseKeymap));
38
+ return plugins;
39
+ };
40
+ createEditorState = (doc) => EditorState.create({
41
+ schema: editorSchema,
42
+ doc,
43
+ plugins: createPlugins()
44
+ });
45
+ docFromHtml = (html, schema = editorSchema) => {
46
+ const normalizedHtml = html !== null && html !== void 0 ? html : "";
47
+ if (normalizedHtml.trim() === "") return schema.nodes["doc"].createAndFill();
48
+ if (typeof document === "undefined") return schema.nodes["doc"].createAndFill();
49
+ const container = document.createElement("div");
50
+ container.innerHTML = normalizedHtml.includes("<") ? normalizedHtml : `<p>${escapeHtml(normalizedHtml)}</p>`;
51
+ return DOMParser.fromSchema(schema).parse(container);
52
+ };
53
+ editorDocToHtml = (doc, schema = editorSchema) => {
54
+ if (typeof document === "undefined") return "";
55
+ const serializer = DOMSerializer.fromSchema(schema);
56
+ const wrap = document.createElement("div");
57
+ wrap.appendChild(serializer.serializeFragment(doc.content));
58
+ return wrap.innerHTML;
59
+ };
60
+ });
61
+
62
+ //#endregion
63
+ init_editorCore();
64
+ export { createEditorState, docFromHtml, editorDocToHtml, editorSchema, init_editorCore };
@@ -0,0 +1,6 @@
1
+ import type { NodeType } from 'prosemirror-model';
2
+ import type { EditorState, Transaction } from 'prosemirror-state';
3
+ export declare const escapeHtml: (text: string) => string;
4
+ export declare const isSelectionInNodeType: (state: EditorState, nodeType: NodeType) => boolean;
5
+ export declare const createToggleListCommand: (listItemType: NodeType, listType: NodeType) => (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean;
6
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/compositions/RichTextInput/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEjE,eAAO,MAAM,UAAU,SAAU,MAAM,WAMT,CAAA;AAE9B,eAAO,MAAM,qBAAqB,UAAW,WAAW,YAAY,QAAQ,YAU3E,CAAA;AAED,eAAO,MAAM,uBAAuB,iBACnB,QAAQ,YAAY,QAAQ,aAAa,WAAW,aAAa,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,YAKxG,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { __esmMin, __name } from "../../_virtual/_rolldown/runtime.js";
2
+ import { liftListItem, wrapInList } from "prosemirror-schema-list";
3
+
4
+ //#region src/compositions/RichTextInput/helpers.ts
5
+ var escapeHtml, isSelectionInNodeType, createToggleListCommand;
6
+ var init_helpers = __esmMin(() => {
7
+ escapeHtml = (text) => text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("'", "&#039;");
8
+ isSelectionInNodeType = (state, nodeType) => {
9
+ const { $from } = state.selection;
10
+ for (let d = $from.depth; d > 0; d -= 1) if ($from.node(d).type === nodeType) return true;
11
+ return false;
12
+ };
13
+ createToggleListCommand = (listItemType, listType) => (state, dispatch) => {
14
+ const isInListItem = isSelectionInNodeType(state, listItemType);
15
+ return (isSelectionInNodeType(state, listType) && isInListItem ? liftListItem(listItemType) : wrapInList(listType))(state, dispatch);
16
+ };
17
+ });
18
+
19
+ //#endregion
20
+ init_helpers();
21
+ export { createToggleListCommand, escapeHtml, init_helpers, isSelectionInNodeType };
@@ -0,0 +1,28 @@
1
+ import type { CSSProperties, DOMAttributes, ReactNode } from 'react';
2
+ export type RichTextInputProps = {
3
+ 'aria-label'?: string;
4
+ 'aria-describedby'?: string;
5
+ className?: string;
6
+ 'data-testid'?: string;
7
+ disabled?: boolean;
8
+ readOnly?: boolean;
9
+ error?: string;
10
+ helper?: ReactNode;
11
+ label?: string;
12
+ labelDescription?: ReactNode;
13
+ id?: string;
14
+ rows?: number;
15
+ size?: 'large' | 'medium' | 'small';
16
+ maxRows?: number;
17
+ required?: boolean;
18
+ onBlur?: DOMAttributes<HTMLElement>['onBlur'];
19
+ onChange?: (value: string) => void;
20
+ onFocus?: DOMAttributes<HTMLElement>['onFocus'];
21
+ style?: CSSProperties;
22
+ success?: string;
23
+ value?: string;
24
+ showList?: boolean;
25
+ showMarks?: boolean;
26
+ };
27
+ export declare const RichTextInput: ({ value, onChange, onBlur, onFocus, disabled, readOnly, error, helper, success, className, style, size, label, labelDescription, rows, maxRows, id, 'data-testid': dataTestId, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, showMarks, showList, required, }: RichTextInputProps) => import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compositions/RichTextInput/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAWpE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,aAAa,kRAwBvB,kBAAkB,4CAoFpB,CAAA"}
@@ -0,0 +1,129 @@
1
+ 'use client';
2
+ import { __esmMin, __name } from "../../_virtual/_rolldown/runtime.js";
3
+ import { _objectSpread2, init_objectSpread2 } from "../../_virtual/_@oxc-project_runtime@0.130.0/helpers/objectSpread2.js";
4
+ import { Stack, init_Stack } from "../../components/Stack/index.js";
5
+ import { hasHelperText, init_hasHelperText } from "../../helpers/hasHelperText.js";
6
+ import { Description, init_Description } from "../../components/Description/index.js";
7
+ import { Label, init_Label } from "../../components/Label/index.js";
8
+ import { createEditorState, docFromHtml, editorDocToHtml, editorSchema, init_editorCore } from "./editorCore.js";
9
+ import { Toolbar, init_Toolbar } from "./Toolbar.js";
10
+ import { docRegionMaxHeightVar, docRegionMinHeightVar, init_styles_css, richTextInputStyle } from "./styles.css.js";
11
+ import { useId, useState } from "react";
12
+ import { theme } from "@ultraviolet/themes";
13
+ import { cn } from "@ultraviolet/utils";
14
+ import { assignInlineVars } from "@vanilla-extract/dynamic";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ import { ProseMirror, ProseMirrorDoc } from "@handlewithcare/react-prosemirror";
17
+ import { AlertCircleIcon, CheckCircleIcon } from "@ultraviolet/icons";
18
+
19
+ //#region src/compositions/RichTextInput/index.tsx
20
+ var RICH_TEXT_EDITOR_LINE_HEIGHT_EM, RichTextInput;
21
+ var init_RichTextInput = __esmMin(() => {
22
+ init_Description();
23
+ init_Label();
24
+ init_Stack();
25
+ init_hasHelperText();
26
+ init_editorCore();
27
+ init_Toolbar();
28
+ init_styles_css();
29
+ init_objectSpread2();
30
+ RICH_TEXT_EDITOR_LINE_HEIGHT_EM = 1.5;
31
+ RichTextInput = ({ value = "", onChange, onBlur, onFocus, disabled = false, readOnly = false, error, helper, success, className, style, size = "large", label, labelDescription, rows = 5, maxRows = 10, id, "data-testid": dataTestId, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, showMarks = true, showList = true, required = false }) => {
32
+ const localId = useId();
33
+ const inputId = id !== null && id !== void 0 ? id : `rich-text-input-${localId}`;
34
+ const descriptionId = `${inputId}-description`;
35
+ const labelId = `${inputId}-label`;
36
+ const isEditable = !disabled && !readOnly;
37
+ const lineHeightEm = RICH_TEXT_EDITOR_LINE_HEIGHT_EM;
38
+ const padding = theme.space[1];
39
+ const minHeight = `calc(${lineHeightEm}em * ${rows} + 2 * ${padding})`;
40
+ const maxHeight = typeof maxRows === "number" ? `calc(${lineHeightEm}em * ${maxRows} + 2 * ${padding})` : "none";
41
+ const [editorState, setEditorState] = useState(() => createEditorState(docFromHtml(value, editorSchema)));
42
+ return /* @__PURE__ */ jsxs(Stack, {
43
+ gap: "0.5",
44
+ children: [
45
+ label ? /* @__PURE__ */ jsx(Label, {
46
+ htmlFor: inputId,
47
+ id: labelId,
48
+ required,
49
+ labelDescription,
50
+ children: label
51
+ }) : null,
52
+ /* @__PURE__ */ jsx(Stack, {
53
+ className: cn(richTextInputStyle.editorSurface({
54
+ disabled,
55
+ readonly: readOnly,
56
+ error: !!error && !disabled,
57
+ success: !!success && !error && !disabled
58
+ }), className),
59
+ style,
60
+ children: /* @__PURE__ */ jsxs(ProseMirror, {
61
+ dispatchTransaction: (transaction) => {
62
+ if (!isEditable) return;
63
+ setEditorState((prev) => {
64
+ const next = prev.apply(transaction);
65
+ if (!prev.doc.eq(next.doc)) {
66
+ const isEmpty = next.doc.textContent.trim() === "";
67
+ onChange === null || onChange === void 0 || onChange(isEmpty ? "" : editorDocToHtml(next.doc, editorSchema));
68
+ }
69
+ return next;
70
+ });
71
+ },
72
+ state: editorState,
73
+ static: !isEditable,
74
+ children: [/* @__PURE__ */ jsx("div", {
75
+ className: richTextInputStyle.toolbarRow,
76
+ children: /* @__PURE__ */ jsx(Toolbar, {
77
+ showList,
78
+ showMarks,
79
+ disabled: disabled || readOnly,
80
+ size
81
+ })
82
+ }), /* @__PURE__ */ jsxs("div", {
83
+ className: richTextInputStyle.wrapper,
84
+ children: [
85
+ /* @__PURE__ */ jsx(ProseMirrorDoc, {
86
+ "aria-labelledby": labelId,
87
+ "aria-describedby": ariaDescribedBy || (hasHelperText(helper, error, success) ? descriptionId : void 0),
88
+ "aria-invalid": error ? "true" : void 0,
89
+ "aria-disabled": disabled ? "true" : void 0,
90
+ "aria-readonly": readOnly ? "true" : void 0,
91
+ "aria-label": ariaLabel,
92
+ className: richTextInputStyle.docRegion,
93
+ "data-testid": dataTestId,
94
+ id: inputId,
95
+ role: "textbox",
96
+ style: _objectSpread2({}, assignInlineVars({
97
+ [docRegionMaxHeightVar]: maxHeight !== null && maxHeight !== void 0 ? maxHeight : "none",
98
+ [docRegionMinHeightVar]: minHeight
99
+ })),
100
+ onBlur,
101
+ onFocus
102
+ }),
103
+ error ? /* @__PURE__ */ jsx(AlertCircleIcon, {
104
+ className: richTextInputStyle.statusIcon,
105
+ sentiment: "danger"
106
+ }) : null,
107
+ success ? /* @__PURE__ */ jsx(CheckCircleIcon, {
108
+ className: richTextInputStyle.statusIcon,
109
+ sentiment: "success"
110
+ }) : null
111
+ ]
112
+ })]
113
+ })
114
+ }),
115
+ /* @__PURE__ */ jsx(Description, {
116
+ id: descriptionId,
117
+ error,
118
+ success,
119
+ disabled,
120
+ helper
121
+ })
122
+ ]
123
+ });
124
+ };
125
+ });
126
+
127
+ //#endregion
128
+ init_RichTextInput();
129
+ export { RichTextInput, init_RichTextInput };
@@ -0,0 +1,69 @@
1
+ export declare const docRegionMaxHeightVar: `var(--${string})`;
2
+ export declare const docRegionMinHeightVar: `var(--${string})`;
3
+ export declare const wrapper: string;
4
+ export declare const statusIcon: string;
5
+ export declare const toolbarRow: string;
6
+ export declare const docRegion: string;
7
+ export declare const editorSurface: import("@vanilla-extract/recipes").RuntimeFn<{
8
+ disabled: {
9
+ true: {
10
+ background: `var(--${string})`;
11
+ borderColor: `var(--${string})`;
12
+ color: `var(--${string})`;
13
+ };
14
+ false: {};
15
+ };
16
+ readonly: {
17
+ true: {
18
+ vars: {
19
+ [x: string]: `var(--${string})`;
20
+ };
21
+ };
22
+ false: {};
23
+ };
24
+ error: {
25
+ true: {
26
+ borderColor: `var(--${string})`;
27
+ };
28
+ };
29
+ success: {
30
+ true: {
31
+ borderColor: `var(--${string})`;
32
+ };
33
+ };
34
+ }>;
35
+ export declare const richTextInputStyle: {
36
+ docRegion: string;
37
+ editorSurface: import("@vanilla-extract/recipes").RuntimeFn<{
38
+ disabled: {
39
+ true: {
40
+ background: `var(--${string})`;
41
+ borderColor: `var(--${string})`;
42
+ color: `var(--${string})`;
43
+ };
44
+ false: {};
45
+ };
46
+ readonly: {
47
+ true: {
48
+ vars: {
49
+ [x: string]: `var(--${string})`;
50
+ };
51
+ };
52
+ false: {};
53
+ };
54
+ error: {
55
+ true: {
56
+ borderColor: `var(--${string})`;
57
+ };
58
+ };
59
+ success: {
60
+ true: {
61
+ borderColor: `var(--${string})`;
62
+ };
63
+ };
64
+ }>;
65
+ statusIcon: string;
66
+ wrapper: string;
67
+ toolbarRow: string;
68
+ };
69
+ //# sourceMappingURL=styles.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/compositions/RichTextInput/styles.css.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,oBAAc,CAAA;AAChD,eAAO,MAAM,qBAAqB,oBAAc,CAAA;AAGhD,eAAO,MAAM,OAAO,QAGlB,CAAA;AAEF,eAAO,MAAM,UAAU,QAIrB,CAAA;AAEF,eAAO,MAAM,UAAU,QAIrB,CAAA;AAEF,eAAO,MAAM,SAAS,QAepB,CAAA;AAEF,eAAO,MAAM,aAAa;;QAepB,IAAI;YACF,UAAU;YACV,WAAW;YACX,KAAK;;QAEP,KAAK;;;;;;;;;;;QAWL,IAAI;YACF,WAAW;;;;QAIb,IAAI;YACF,WAAW;;;EAwBjB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;YAhDzB,IAAI;gBACF,UAAU;gBACV,WAAW;gBACX,KAAK;;YAEP,KAAK;;;;;;;;;;;YAWL,IAAI;gBACF,WAAW;;;;YAIb,IAAI;gBACF,WAAW;;;;;;;CAgClB,CAAA"}