@useloops/design-system 1.4.725 → 1.4.727

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.
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o,Fragment as r}from"react/jsx-runtime";import{useTheme as t,Box as i}from"@mui/material";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import a from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.js";import"../../WebCore/utils/typography.util.js";import"../../BrandCore/textures.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/SelectItem/SelectItem.js";import"../../WebCore/Accordion/Accordion.js";import"../../WebCore/Animations/FadeIn.js";import{Text as s}from"../../WebCore/Text/Text.js";import"@mui/icons-material";import"react";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js";import"merge-sx";import"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import p from"../../WebCore/EmojiWrapper/EmojiWrapper.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormBuilder/FormBuilder.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import l from"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KbdGroup/Kbd.js";import"../../WebCore/KbdGroup/KbdGroup.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.js";import"../../WebCore/Label/Label.js";import"../../WebCore/Likert/LikertContainer.js";import"../../WebCore/Likert/LikertLabel.js";import"../../WebCore/Likert/LikertRadio.js";import"../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import"material-ui-popup-state/hooks";import"../../WebCore/Surface/Surface.js";import"../../WebCore/Menu/MenuItem.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/NavigationButton/NavigationButton.js";import"../../WebCore/Nudge/NudgeButton.js";import"../../WebCore/NumberField/NumberField.js";import"../../WebCore/Progress/Progress.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.js";import"../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../WebCore/Select/StyledSelect.js";import"../../WebCore/RankItem/_partials/LayoutComponents/LayoutComponents.js";import"../../WebCore/RankItem/_partials/RankItemLabel/RankItemLabel.js";import"../../WebCore/SortableList/SortableList.js";import"../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../WebCore/RichTextField/StyledRichTextEditor.js";import m from"../../WebCore/Skeleton/Skeleton.js";import"../../WebCore/Slider/StyledSlider.js";import"../../WebCore/StarRating/StarRating.js";import"../../WebCore/Switch/StyledSwitch.js";import"../../WebCore/Textarea/Textarea.js";import"../../WebCore/TrialCard/TrialCardContainers.js";import"../../WebCore/TrialCard/TrialPill.js";import"../../WebCore/UserMenu/UserMenuButton.js";import"../../WebCore/VideoModal/VideoModal.js";import"../../WebCore/TintedSurface/TintedSurface.js";import{StyledSurface as n}from"./_partials/StyledSurface.js";const d=({dragHandle:d=!1,disabled:b,loading:c,onDelete:C,primaryAction:u,icon:j,label:W,slotProps:B,...g})=>{const h=t();return e(n,{borderradius:"md",variation:"default",disabled:b,sx:{p:h.custom.padding.sm,...B?.surface?.sx},...B?.surface,...g,children:[d&&o(i,{sx:{display:"flex",alignItems:"center"},className:"emoji-list-item-drag-handle-container",children:o(l,{disabled:b,sizing:"xs",icon:o(a,{name:"drag-handle",color:h.custom.palette.icon.secondary}),...B?.dragHandle})}),e(i,{sx:{display:"flex",alignItems:"center",gap:h.spacing(h.custom.margin.sm),flex:"1 0 0",px:h.spacing(h.custom.padding.sm)},className:"emoji-list-item-content-container",children:[j&&o(r,{children:c?o(m,{width:24,height:24,sx:{borderRadius:"50%"}}):o(p,{disabled:b,checked:!0,...B?.icon,children:j})}),W&&o(i,{sx:{height:24,flexGrow:1,display:"flex",alignItems:"center",gap:h.spacing(h.custom.margin.sm)},className:"emoji-list-item-label-container",children:c?o(m,{width:100,height:24}):o(s,{size:"md",disabled:b,...B?.label,children:W})})]}),(u||C)&&e(i,{sx:{display:"flex",alignItems:"center",gap:h.spacing(h.custom.margin.xs)},className:"emoji-list-item-actions-container",children:[u&&o(r,{children:c?o(m,{width:24,height:24}):u}),C&&o(r,{children:c?o(m,{width:24,height:24}):o(l,{sizing:"xs",disabled:b,icon:o(a,{name:"delete",color:h.custom.palette.icon.secondary}),onClick:e=>{e.stopPropagation(),C&&C()},...B?.deleteAction})})]})]})};export{d as default};
1
+ import{jsxs as e,jsx as o,Fragment as r}from"react/jsx-runtime";import{useTheme as t,Box as i}from"@mui/material";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import a from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.js";import"../../WebCore/utils/typography.util.js";import"../../BrandCore/textures.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/SelectItem/SelectItem.js";import"../../WebCore/Accordion/Accordion.js";import"../../WebCore/Animations/FadeIn.js";import{Text as s}from"../../WebCore/Text/Text.js";import"@mui/icons-material";import"react";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js";import"merge-sx";import"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import p from"../../WebCore/EmojiWrapper/EmojiWrapper.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormBuilder/FormBuilder.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import m from"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KbdGroup/Kbd.js";import"../../WebCore/KbdGroup/KbdGroup.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.js";import"../../WebCore/Label/Label.js";import"../../WebCore/Likert/LikertContainer.js";import"../../WebCore/Likert/LikertLabel.js";import"../../WebCore/Likert/LikertRadio.js";import"../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import"material-ui-popup-state/hooks";import"../../WebCore/Surface/Surface.js";import"../../WebCore/Menu/MenuItem.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/NavigationButton/NavigationButton.js";import"../../WebCore/Nudge/NudgeButton.js";import"../../WebCore/NumberField/NumberField.js";import"../../WebCore/Progress/Progress.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.js";import"../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../WebCore/Select/StyledSelect.js";import"../../WebCore/RankItem/_partials/LayoutComponents/LayoutComponents.js";import"../../WebCore/RankItem/_partials/RankItemLabel/RankItemLabel.js";import"../../WebCore/SortableList/SortableList.js";import"../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../WebCore/RichTextField/StyledRichTextEditor.js";import l from"../../WebCore/Skeleton/Skeleton.js";import"../../WebCore/Slider/StyledSlider.js";import"../../WebCore/StarRating/StarRating.js";import"../../WebCore/Switch/StyledSwitch.js";import"../../WebCore/Textarea/Textarea.js";import"../../WebCore/TrialCard/TrialCardContainers.js";import"../../WebCore/TrialCard/TrialPill.js";import"../../WebCore/UserMenu/UserMenuButton.js";import"../../WebCore/VideoModal/VideoModal.js";import"../../WebCore/TintedSurface/TintedSurface.js";import{StyledSurface as n}from"./_partials/StyledSurface.js";const d=({dragHandle:d=!1,disabled:b,loading:c,onDelete:C,primaryAction:u,icon:j,label:W,slotProps:g,...B})=>{const h=t();return e(n,{borderradius:"md",variation:"default",disabled:b,sx:{p:h.custom.padding.sm,...g?.surface?.sx},...g?.surface,...B,children:[d&&o(i,{sx:{display:"flex",alignItems:"center",mr:h.spacing(h.custom.margin.sm)},className:"emoji-list-item-drag-handle-container",children:o(m,{disabled:b,sizing:"xs",icon:o(a,{name:"drag-handle-dots",color:h.custom.palette.icon.secondary}),...g?.dragHandle})}),e(i,{sx:{display:"flex",alignItems:"center",gap:h.spacing(h.custom.margin.sm),flex:"1 0 0",px:h.spacing(h.custom.padding.sm)},className:"emoji-list-item-content-container",children:[j&&o(r,{children:c?o(l,{width:24,height:24,sx:{borderRadius:"50%"}}):o(p,{disabled:b,checked:!0,...g?.icon,children:j})}),W&&o(i,{sx:{height:24,flexGrow:1,display:"flex",alignItems:"center",gap:h.spacing(h.custom.margin.sm)},className:"emoji-list-item-label-container",children:c?o(l,{width:100,height:24}):o(s,{size:"md",disabled:b,...g?.label,children:W})})]}),(u||C)&&e(i,{sx:{display:"flex",alignItems:"center",gap:h.spacing(h.custom.margin.xs)},className:"emoji-list-item-actions-container",children:[u&&o(r,{children:c?o(l,{width:24,height:24}):u}),C&&o(r,{children:c?o(l,{width:24,height:24}):o(m,{sizing:"xs",disabled:b,icon:o(a,{name:"delete",color:h.custom.palette.icon.secondary}),onClick:e=>{e.stopPropagation(),C&&C()},...g?.deleteAction})})]})]})};export{d as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import{Stack as o,Collapse as t,Box as i}from"@mui/material";import{useState as n,useRef as a}from"react";import{useFieldArray as m,useFormState as d,Controller as s}from"react-hook-form";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import l from"../../BrandCore/Icon/Icon.js";import c from"../Button/Button.js";import p from"../IconButton/IconButton.js";import{CollapseMessage as u}from"./FieldMessage.js";import{getFieldDefinition as f,splitFieldProps as g}from"./fieldRegistry.js";const x=({field:x,control:h})=>{const{fields:v,append:j,remove:B}=m({control:h,name:x.name}),{errors:C}=d({control:h,name:x.name}),[I,b]=n(new Set),y=a(v);y.current=v;const M=a(!0),S=!M.current;M.current=!1;const w=v.length-I.size,F=w<=(x.minItems??0),R=void 0!==x.maxItems&&w>=x.maxItems,k=C?.[x.name],z=k?.root?.message??k?.message,A=e=>b(r=>new Set(r).add(e)),E=e=>j({value:e??x.defaultItem??""});return e(o,{children:[v.map((n,a)=>{const m=I.has(n.id),d=((e,r)=>"function"==typeof x.itemField?x.itemField(e,r):x.itemField)(a,{index:a,remove:()=>A(n.id),atMinimum:F,atMaximum:R}),c=f(d.fieldType);if(!c)return null;const v=c.component,j=g(d),C="none"===x.removeAction?{}:{endAdornment:r(p,{"aria-label":"Remove item",sizing:"xs",disabled:F||m,icon:r(l,{name:"delete"}),onClick:()=>A(n.id)})};return r(t,{in:!m,appear:S,timeout:"auto",onExited:()=>(e=>{const r=y.current.findIndex(r=>r.id===e);r>=0&&B(r),b(r=>{const o=new Set(r);return o.delete(e),o})})(n.id),children:r(i,{sx:{paddingBottom:"8px"},children:r(s,{name:`${x.name}.${a}.value`,control:h,render:({field:{ref:t,...i},fieldState:n})=>e(o,{children:[r(v,{fullWidth:!0,...C,...j,...i,inputRef:t,"aria-invalid":!!n.error||void 0}),r(u,{errorMessage:x.hideError||m?void 0:n.error?.message})]})})})},n.id)}),r(u,{errorMessage:x.hideError?void 0:z,edge:"bottom",gap:8,showicon:!0}),x.actions?x.actions({append:E,count:w,atMaximum:R}):r(c,{variation:"outlined",sizing:"sm",disabled:R,onClick:()=>E(),sx:{alignSelf:"flex-start"},children:x.addLabel??"Add"})]})};export{x as default};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useSensors as o,useSensor as t,MouseSensor as i,TouchSensor as n,KeyboardSensor as a,DndContext as d,MeasuringStrategy as s}from"@dnd-kit/core";import{sortableKeyboardCoordinates as m,SortableContext as l,verticalListSortingStrategy as c,useSortable as p}from"@dnd-kit/sortable";import{CSS as u}from"@dnd-kit/utilities";import{Stack as f,useTheme as g,Collapse as x,Box as v}from"@mui/material";import{useState as b,useRef as I}from"react";import{useFieldArray as h,useFormState as y,Controller as A}from"react-hook-form";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import j from"../../BrandCore/Icon/Icon.js";import B from"../Button/Button.js";import w from"../IconButton/IconButton.js";import{CollapseMessage as C}from"./FieldMessage.js";import{getFieldDefinition as M,splitFieldProps as R}from"./fieldRegistry.js";const E=({rowId:o,index:t,field:i,control:n,item:a,isExiting:d,appear:s,atMinimum:m,reorderable:l,onRemove:c,onExited:b})=>{const{custom:I}=g(),{attributes:h,listeners:y,setNodeRef:B,setActivatorNodeRef:E,transform:S,transition:k,isDragging:T}=p({id:o,disabled:!l}),z=M(a.fieldType);if(!z)return null;const F=z.component,D=R(a),N="none"===i.removeAction?{}:{endAdornment:e(w,{"aria-label":"Remove item",sizing:"xs",disabled:m||d,icon:e(j,{name:"delete"}),onClick:c,tabIndex:i.rowActionsTabIndex})},$={ref:E,...h,...y,...void 0!==i.rowActionsTabIndex?{tabIndex:i.rowActionsTabIndex}:{},style:{touchAction:"none",cursor:T?"grabbing":"grab"}},G=l?"own"===a.dragAction?{dragHandleProps:$}:{startAdornment:e(w,{...$,"aria-label":"Reorder item",sizing:"xs",icon:e(j,{name:"drag-handle-dots",color:I.palette.icon.secondary})})}:{};return e(x,{in:!d,appear:s,timeout:"auto",onExited:b,children:e(v,{ref:B,sx:{paddingBottom:"8px",position:"relative",transform:u.Translate.toString(S),transition:k,zIndex:T?1:void 0},children:e(A,{name:`${i.name}.${t}.value`,control:n,render:({field:{ref:o,...t},fieldState:n})=>r(f,{children:[e(F,{fullWidth:!0,...G,...N,...D,...t,inputRef:o,"aria-invalid":!!n.error||void 0}),e(C,{errorMessage:i.hideError||d?void 0:n.error?.message})]})})})})},S=({field:p,control:u})=>{const{fields:g,append:x,remove:v,move:A}=h({control:u,name:p.name}),{errors:j}=y({control:u,name:p.name}),[w,M]=b(new Set),R=I(g);R.current=g;const S=Boolean(p.reorderable),k=o(t(i,{activationConstraint:{distance:2}}),t(n,{activationConstraint:{distance:2}}),t(a,{coordinateGetter:m})),T=I(!0),z=!T.current;T.current=!1;const F=g.length-w.size,D=F<=(p.minItems??0),N=void 0!==p.maxItems&&F>=p.maxItems,$=j?.[p.name],G=$?.root?.message??$?.message,H=(e,r)=>"function"==typeof p.itemField?p.itemField(e,r):p.itemField,L=e=>M(r=>new Set(r).add(e)),P=e=>x((e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"value"in e)(e)?e:{value:e??p.defaultItem??""});return e(d,{sensors:k,measuring:{droppable:{strategy:s.Always}},onDragEnd:({active:e,over:r})=>{if(!r||e.id===r.id)return;const o=R.current.findIndex(r=>r.id===e.id),t=R.current.findIndex(e=>e.id===r.id);o>=0&&t>=0&&A(o,t)},children:e(l,{items:g.map(e=>e.id),strategy:c,disabled:!S,children:r(f,{children:[g.map((r,o)=>{const t=w.has(r.id),i={index:o,remove:()=>L(r.id),atMinimum:D,atMaximum:N};return e(E,{rowId:r.id,index:o,field:p,control:u,item:H(o,i),isExiting:t,appear:z,atMinimum:D,reorderable:S,onRemove:()=>L(r.id),onExited:()=>(e=>{const r=R.current.findIndex(r=>r.id===e);r>=0&&v(r),M(r=>{const o=new Set(r);return o.delete(e),o})})(r.id)},r.id)}),e(C,{errorMessage:p.hideError?void 0:G,edge:"bottom",gap:8,showicon:!0}),p.actions?p.actions({append:P,count:F,atMaximum:N}):e(B,{variation:"outlined",sizing:"sm",disabled:N,onClick:()=>P(),sx:{alignSelf:"flex-start"},children:p.addLabel??"Add"})]})})})};export{S as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import{useTheme as t}from"@mui/material";import{memo as n,useRef as i,useEffect as l}from"react";import{useWatch as a,Controller as s}from"react-hook-form";import{space as c}from"../../BrandCore/primitiveVariables.js";import d from"../Html/Html.js";import f from"../InputLabel/InputLabel.js";import p from"./ArrayFieldRows.js";import u from"./components/StrengthIndicator/StrengthIndicator.js";import m from"./FieldCollapse.js";import h,{CollapseMessage as g}from"./FieldMessage.js";import{extractNoneOfThese as v,splitFieldProps as y,getFieldDefinition as b}from"./fieldRegistry.js";const j=n(({field:n,fieldRef:j,control:x,appear:R=!1})=>{const{custom:B}=t(),I=n,{fieldType:S,name:F,label:L,labelProps:T,helperText:k,helpTextProps:w,content:P,styleOverrides:C,strengthIndicator:H,hidden:M,visibleWhen:O,deriveProps:$,hideError:z,focusOnReveal:A}=I,E=v(y(I)),V=Boolean(O)||Boolean($)||"function"==typeof L,W=a({control:x,disabled:!V}),q=Boolean(M)||!!O&&!O(W??{}),D=i(null),G=i(q),J=G.current&&!q;l(()=>{G.current=q});const K=Boolean(E.autoFocus)||Boolean(A)&&J;l(()=>{if(!K)return;const e=D.current;if(e&&"function"==typeof e.focus&&(e.focus(),"string"==typeof e.value&&"function"==typeof e.setSelectionRange))try{e.setSelectionRange(e.value.length,e.value.length)}catch{}},[K]);const N=$?$(W??{}):void 0,Q="function"==typeof L?L:void 0,U=Q?Q(W??{}):L,X=a({control:x,name:F,disabled:!H}),Y="checkbox"===S?`${"lg"===E.sizing?c[600]:c[500]}px`:void 0,Z=`${F}-error`;return e(m,{hidden:q,appear:R,sx:C?.sxInputStack,children:["switch"!==S?U&&r(f,{...T,children:U}):null,(()=>{if("html"===S)return P?r(d,{children:P}):null;if("array"===S)return r(p,{field:I,control:x});const t=b(S);if(!t)return null;const n=t.component;return r(s,{name:F,control:x,render:({field:{ref:i,...l},fieldState:a})=>e(o,{children:[r(n,{...E,...N,...l,...t.adapt?.({...I,label:U},l)??{},autoFocus:K,"aria-invalid":!!a.error||void 0,"aria-describedby":a.error?Z:void 0,inputRef:e=>{i(e),((e,r)=>{"function"==typeof e?e(r):e&&(e.current=r)})(j,e),D.current=e}}),H&&r(u,{value:X}),r(g,{id:Z,errorMessage:z?void 0:a.error?.message,paddingLeft:Y,showicon:!0})]})})})(),k?r(h,{helperText:k,paddingLeft:Y,...w}):null]})});export{j as default};
1
+ import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import{useTheme as t}from"@mui/material";import{memo as n,useRef as i,useEffect as l}from"react";import{useWatch as a,Controller as c}from"react-hook-form";import{space as s}from"../../BrandCore/primitiveVariables.js";import d from"../Html/Html.js";import f from"../InputLabel/InputLabel.js";import p from"./ArrayFieldRows.js";import u from"./components/StrengthIndicator/StrengthIndicator.js";import m from"./FieldCollapse.js";import h,{CollapseMessage as v}from"./FieldMessage.js";import{extractNoneOfThese as g,splitFieldProps as y,getFieldDefinition as b}from"./fieldRegistry.js";const x=n(({field:n,fieldRef:x,control:j,appear:R=!1})=>{const{custom:S}=t(),B=n,{fieldType:I,name:F,label:T,labelProps:L,helperText:k,helpTextProps:w,content:P,styleOverrides:C,strengthIndicator:H,hidden:M,visibleWhen:O,deriveProps:$,hideError:z,focusOnReveal:A}=B,E=g(y(B)),V=Boolean(O)||Boolean($)||"function"==typeof T,W=a({control:j,disabled:!V}),q=Boolean(M)||!!O&&!O(W??{}),D=i(null),G=i(q),J=G.current&&!q;l(()=>{G.current=q});const K=Boolean(A)&&J,N=Boolean(E.autoFocus)||K&&"richTextfield"===I;l(()=>{if(!N&&!K)return;const e=D.current;if(e&&"function"==typeof e.focus&&(e.focus({preventScroll:!0}),"string"==typeof e.value&&"function"==typeof e.setSelectionRange))try{e.setSelectionRange(e.value.length,e.value.length)}catch{}},[N,K]);const Q=$?$(W??{}):void 0,U="function"==typeof T?T:void 0,X=U?U(W??{}):T,Y=a({control:j,name:F,disabled:!H}),Z="checkbox"===I?`${"lg"===E.sizing?s[600]:s[500]}px`:void 0,_=`${F}-error`;return e(m,{hidden:q,appear:R,sx:C?.sxInputStack,children:["switch"!==I?X&&r(f,{...L,children:X}):null,(()=>{if("html"===I)return P?r(d,{children:P}):null;if("array"===I)return r(p,{field:B,control:j});const t=b(I);if(!t)return null;const n=t.component;return r(c,{name:F,control:j,render:({field:{ref:i,...l},fieldState:a})=>e(o,{children:[r(n,{...E,...Q,...l,...t.adapt?.({...B,label:X},l)??{},autoFocus:N,"aria-invalid":!!a.error||void 0,"aria-describedby":a.error?_:void 0,inputRef:e=>{i(e),((e,r)=>{"function"==typeof e?e(r):e&&(e.current=r)})(x,e),D.current=e}}),H&&r(u,{value:Y}),r(v,{id:_,errorMessage:z?void 0:a.error?.message,paddingLeft:Z,showicon:!0})]})})})(),k?r(h,{helperText:k,paddingLeft:Z,...w}):null]})});export{x as default};
@@ -1 +1 @@
1
- import e from"../AutocompleteField/AutocompleteField.js";import t from"../Checkbox/Checkbox.js";import"../Checkbox/StyledCheckbox.js";import o from"../CheckboxGroup/CheckboxGroup.js";import a from"../CreatableAutocomplete/CreatableAutocomplete.js";import l from"../CustomField/CustomField.js";import r from"../Differential/Differential.js";import n from"../Likert/Likert.js";import i from"../NumberField/NumberField.js";import u from"../RadioGroup/RadioGroup.js";import f from"../Rank/Rank.js";import m from"../RichTextField/RichTextField.js";import"../SelectItem/SelectItem.js";import d from"../Select/Select.js";import p from"../Slider/Slider.js";import c from"../StarRating/StarRating.js";import s from"../Switch/Switch.js";import h from"../Textarea/Textarea.js";import g from"../TextField/TextField.js";const b={textfield:{component:g,getDefault:e=>e.defaultValue??""},numberfield:{component:i,getDefault:e=>e.defaultValue??0},textarea:{component:h,getDefault:e=>e.defaultValue??""},creatableautocomplete:{component:a,getDefault:e=>e.defaultValue??""},select:{component:d,getDefault:e=>e.defaultValue??""},autocomplete:{component:e,getDefault:e=>e.defaultValue,adapt:(e,t)=>({onChange:(e,o)=>t.onChange(o)})},checkbox:{component:t,getDefault:e=>e.defaultValue??!1},checkboxGroup:{component:o,getDefault:e=>e.defaultValue??[]},switch:{component:s,getDefault:e=>e.defaultValue??!1,adapt:e=>({label:e.label})},slider:{component:p,getDefault:e=>Array.isArray(e.defaultValue)?e.defaultValue:e.defaultValue??e.min??0,adapt:(e,t)=>({onChange:(e,o)=>t.onChange(o)})},starRating:{component:c,getDefault:e=>e.defaultValue??0,adapt:(e,t)=>({onChange:(e,o)=>t.onChange(o)})},differential:{component:r,getDefault:e=>e.defaultValue??""},likert:{component:n,getDefault:e=>e.defaultValue??""},radioGroup:{component:u,getDefault:e=>e.defaultValue??""},ranking:{component:f,getDefault:e=>e.defaultValue?e.defaultValue.map(t=>e.options.find(e=>e.id===t)):e.options},richTextfield:{component:m,getDefault:e=>e.defaultValue??""},customfield:{component:l,getDefault:e=>e.defaultValue??""}},x=e=>b[e],V=e=>{if("html"!==e.fieldType)return"array"===e.fieldType?e.defaultValue??[]:b[e.fieldType].getDefault(e)},j=e=>e.reduce((e,t)=>("html"!==t.fieldType&&(e[t.name]=V(t)),e),{}),D=["fieldType","name","ref","label","labelProps","helperText","helpTextProps","content","styleOverrides","strengthIndicator","defaultValue","hidden","visibleWhen","hideError","focusOnReveal","itemField","minItems","maxItems","addLabel","defaultItem","removeAction","actions","deriveProps"],C=e=>{const t={};for(const o of Object.keys(e))D.includes(o)||(t[o]=e[o]);return t},T=e=>{if(e.noneOfThese)return!0;return(e.name||e.value||"").replace(/-/g,"_").includes("none_of_these")},k=e=>{if(!e.other?.enabled||!Array.isArray(e.options))return e;const t=e.options,o=t.findIndex(T);return-1===o?e:{...e,options:t.filter((e,t)=>t!==o),noneOfTheseOption:t[o]}};export{b as FIELD_REGISTRY,k as extractNoneOfThese,j as getDefaultValues,V as getFieldDefault,x as getFieldDefinition,C as splitFieldProps};
1
+ import e from"../AutocompleteField/AutocompleteField.js";import t from"../Checkbox/Checkbox.js";import"../Checkbox/StyledCheckbox.js";import o from"../CheckboxGroup/CheckboxGroup.js";import a from"../CreatableAutocomplete/CreatableAutocomplete.js";import l from"../CustomField/CustomField.js";import r from"../Differential/Differential.js";import n from"../Likert/Likert.js";import i from"../NumberField/NumberField.js";import u from"../RadioGroup/RadioGroup.js";import f from"../Rank/Rank.js";import m from"../RichTextField/RichTextField.js";import"../SelectItem/SelectItem.js";import d from"../Select/Select.js";import p from"../Slider/Slider.js";import c from"../StarRating/StarRating.js";import s from"../Switch/Switch.js";import h from"../Textarea/Textarea.js";import g from"../TextField/TextField.js";const b={textfield:{component:g,getDefault:e=>e.defaultValue??""},numberfield:{component:i,getDefault:e=>e.defaultValue??0},textarea:{component:h,getDefault:e=>e.defaultValue??""},creatableautocomplete:{component:a,getDefault:e=>e.defaultValue??""},select:{component:d,getDefault:e=>e.defaultValue??""},autocomplete:{component:e,getDefault:e=>e.defaultValue,adapt:(e,t)=>({onChange:(e,o)=>t.onChange(o)})},checkbox:{component:t,getDefault:e=>e.defaultValue??!1},checkboxGroup:{component:o,getDefault:e=>e.defaultValue??[]},switch:{component:s,getDefault:e=>e.defaultValue??!1,adapt:e=>({label:e.label})},slider:{component:p,getDefault:e=>Array.isArray(e.defaultValue)?e.defaultValue:e.defaultValue??e.min??0,adapt:(e,t)=>({onChange:(e,o)=>t.onChange(o)})},starRating:{component:c,getDefault:e=>e.defaultValue??0,adapt:(e,t)=>({onChange:(e,o)=>t.onChange(o)})},differential:{component:r,getDefault:e=>e.defaultValue??""},likert:{component:n,getDefault:e=>e.defaultValue??""},radioGroup:{component:u,getDefault:e=>e.defaultValue??""},ranking:{component:f,getDefault:e=>e.defaultValue?e.defaultValue.map(t=>e.options.find(e=>e.id===t)):e.options},richTextfield:{component:m,getDefault:e=>e.defaultValue??""},customfield:{component:l,getDefault:e=>e.defaultValue??""}},x=e=>b[e],V=e=>{if("html"!==e.fieldType)return"array"===e.fieldType?e.defaultValue??[]:b[e.fieldType].getDefault(e)},j=e=>e.reduce((e,t)=>("html"!==t.fieldType&&(e[t.name]=V(t)),e),{}),D=["fieldType","name","ref","label","labelProps","helperText","helpTextProps","content","styleOverrides","strengthIndicator","defaultValue","hidden","visibleWhen","hideError","focusOnReveal","itemField","minItems","maxItems","addLabel","defaultItem","removeAction","rowActionsTabIndex","reorderable","dragAction","actions","deriveProps"],T=e=>{const t={};for(const o of Object.keys(e))D.includes(o)||(t[o]=e[o]);return t},C=e=>{if(e.noneOfThese)return!0;return(e.name||e.value||"").replace(/-/g,"_").includes("none_of_these")},k=e=>{if(!e.other?.enabled||!Array.isArray(e.options))return e;const t=e.options,o=t.findIndex(C);return-1===o?e:{...e,options:t.filter((e,t)=>t!==o),noneOfTheseOption:t[o]}};export{b as FIELD_REGISTRY,k as extractNoneOfThese,j as getDefaultValues,V as getFieldDefault,x as getFieldDefinition,T as splitFieldProps};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useTheme as o,Stack as i}from"@mui/material";import{Placeholder as r}from"@tiptap/extension-placeholder";import{StarterKit as n}from"@tiptap/starter-kit";import{MenuButtonBold as l,MenuButtonItalic as a,MenuButtonUnderline as m,MenuButtonBulletedList as d,MenuButtonOrderedList as s}from"mui-tiptap";import{useRef as c}from"react";import u from"./StyledRichTextEditor.js";const p=({onChange:p,value:h,internalChange:f,minWidth:g=100,minHeight:x=100,maxHeight:b,placeholder:H,options:L={},autoFocus:k=!1})=>{const C=c(null);o();const{bold:R=!0,italic:j=!0,underline:v=!0,bulletList:w=!1,orderedList:I=!1}=L;return t(u,{sx:{"& .ProseMirror":{overflowY:"auto",minHeight:x,minWidth:g,maxHeight:b}},ref:C,autofocus:!!k&&"end",onUpdate:({editor:t})=>{p&&p(t.getHTML()),f&&f()},enableInputRules:!1,extensions:[n.configure({strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,codeBlock:!1,bold:!!R&&{},italic:!!j&&{},listItem:!(!w&&!I)&&{},bulletList:!!w&&{},orderedList:!!I&&{}}),r.configure({placeholder:H})],content:h,renderControls:()=>e(i,{direction:"row",children:[R&&t(l,{}),j&&t(a,{}),v&&t(m,{}),w&&t(d,{}),I&&t(s,{})]})})};export{p as default};
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useTheme as o,Stack as i}from"@mui/material";import{Placeholder as r}from"@tiptap/extension-placeholder";import{StarterKit as n}from"@tiptap/starter-kit";import{MenuButtonBold as a,MenuButtonItalic as l,MenuButtonUnderline as d,MenuButtonBulletedList as m,MenuButtonOrderedList as s}from"mui-tiptap";import{useRef as c}from"react";import u from"./StyledRichTextEditor.js";const p=({onChange:p,value:h,internalChange:x,minWidth:b=100,minHeight:f=100,maxHeight:g,placeholder:I,options:H={},autoFocus:L=!1,toolbarTabIndex:k})=>{const C=c(null);o();const{bold:R=!0,italic:T=!0,underline:j=!0,bulletList:v=!1,orderedList:w=!1}=H;return t(u,{sx:{"& .ProseMirror":{overflowY:"auto",minHeight:f,minWidth:b,maxHeight:g}},ref:C,autofocus:!!L&&"end",onUpdate:({editor:t})=>{p&&p(t.getHTML()),x&&x()},enableInputRules:!1,extensions:[n.configure({strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,codeBlock:!1,bold:!!R&&{},italic:!!T&&{},listItem:!(!v&&!w)&&{},bulletList:!!v&&{},orderedList:!!w&&{}}),r.configure({placeholder:I})],content:h,renderControls:()=>e(i,{direction:"row",children:[R&&t(a,{tabIndex:k}),T&&t(l,{tabIndex:k}),j&&t(d,{tabIndex:k}),v&&t(m,{tabIndex:k}),w&&t(s,{tabIndex:k})]})})};export{p as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{mergeSx as l}from"merge-sx";import t from"../FormControlLabel/FormControlLabel.js";import o from"./StyledSwitch.js";const r=({sizing:r="sm",sx:a,inputRef:n,value:i,label:m,labelPlacement:s="start",fullWidth:b,onChange:c,internalChange:f,...h})=>e(t,{inputRef:n,checked:i,label:m,labelPlacement:s,control:e(o,{sizing:r}),onChange:(e,l)=>{c&&c(e,l),f&&f()},sx:l(b?{"& .MuiFormControlLabel-label":{width:"100%"}}:{},a),...h});export{r as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{mergeSx as t}from"merge-sx";import l from"../FormControlLabel/FormControlLabel.js";import o from"./StyledSwitch.js";const a=({sizing:a="sm",sx:n,inputRef:r,value:i,label:m,labelPlacement:s="start",fullWidth:b,tabIndex:c,onChange:f,internalChange:d,...h})=>e(l,{inputRef:r,checked:i,label:m,labelPlacement:s,control:e(o,{sizing:a,tabIndex:c}),onChange:(e,t)=>{f&&f(e,t),d&&d()},sx:t(b?{"& .MuiFormControlLabel-label":{width:"100%"}}:{},n),...h});export{a as default};
@@ -18,9 +18,9 @@ interface EmojiQuestionEditorOptionProps {
18
18
  slotProps?: {
19
19
  surface?: SurfaceProps;
20
20
  icon?: EmojiWrapperProps;
21
- dragHandle?: IconButtonProps;
21
+ dragHandle?: Partial<IconButtonProps>;
22
22
  label?: TextProps;
23
- deleteAction?: IconButtonProps;
23
+ deleteAction?: Partial<IconButtonProps>;
24
24
  primaryAction?: IconButtonProps;
25
25
  };
26
26
  }
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var i=require("../../BrandCore/Icon/Icon.js");require("../../../utils/formValidation/misc.js"),require("../../WebCore/utils/typography.util.js"),require("../../BrandCore/textures.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/SelectItem/SelectItem.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Animations/FadeIn.js");var o=require("../../WebCore/Text/Text.js");require("@mui/icons-material"),require("react"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js"),require("merge-sx"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../WebCore/Button/Button.js"),require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../WebCore/Differential/DifferentialContainer.js"),require("../../WebCore/Differential/DifferentialRadio.js"),require("../../WebCore/DropdownMenu/StyledMenu.js");var t=require("../../WebCore/EmojiWrapper/EmojiWrapper.js");require("../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../WebCore/FormBuilder/FormBuilder.js"),require("../../WebCore/FormGenerator/FormGenerator.js"),require("../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser");var a=require("../../WebCore/IconButton/IconButton.js");require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js"),require("../../WebCore/KbdGroup/Kbd.js"),require("../../WebCore/KbdGroup/KbdGroup.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../WebCore/Label/Label.js"),require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js"),require("../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx"),require("material-ui-popup-state/hooks"),require("../../WebCore/Surface/Surface.js"),require("../../WebCore/Menu/MenuItem.js"),require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../WebCore/Progress/Progress.js"),require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.js"),require("../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../WebCore/Select/StyledSelect.js"),require("../../WebCore/RankItem/_partials/LayoutComponents/LayoutComponents.js"),require("../../WebCore/RankItem/_partials/RankItemLabel/RankItemLabel.js"),require("../../WebCore/SortableList/SortableList.js"),require("../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../WebCore/RichTextField/StyledRichTextEditor.js");var s=require("../../WebCore/Skeleton/Skeleton.js");require("../../WebCore/Slider/StyledSlider.js"),require("../../WebCore/StarRating/StarRating.js"),require("../../WebCore/Switch/StyledSwitch.js"),require("../../WebCore/Textarea/Textarea.js"),require("../../WebCore/TrialCard/TrialCardContainers.js"),require("../../WebCore/TrialCard/TrialPill.js"),require("../../WebCore/UserMenu/UserMenuButton.js"),require("../../WebCore/VideoModal/VideoModal.js"),require("../../WebCore/TintedSurface/TintedSurface.js");var l=require("./_partials/StyledSurface.js");module.exports=({dragHandle:u=!1,disabled:n,loading:d,onDelete:b,primaryAction:c,icon:j,label:p,slotProps:C,...m})=>{const q=r.useTheme();return e.jsxs(l.StyledSurface,{borderradius:"md",variation:"default",disabled:n,sx:{p:q.custom.padding.sm,...C?.surface?.sx},...C?.surface,...m,children:[u&&e.jsx(r.Box,{sx:{display:"flex",alignItems:"center"},className:"emoji-list-item-drag-handle-container",children:e.jsx(a,{disabled:n,sizing:"xs",icon:e.jsx(i.default,{name:"drag-handle",color:q.custom.palette.icon.secondary}),...C?.dragHandle})}),e.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:q.spacing(q.custom.margin.sm),flex:"1 0 0",px:q.spacing(q.custom.padding.sm)},className:"emoji-list-item-content-container",children:[j&&e.jsx(e.Fragment,{children:d?e.jsx(s,{width:24,height:24,sx:{borderRadius:"50%"}}):e.jsx(t,{disabled:n,checked:!0,...C?.icon,children:j})}),p&&e.jsx(r.Box,{sx:{height:24,flexGrow:1,display:"flex",alignItems:"center",gap:q.spacing(q.custom.margin.sm)},className:"emoji-list-item-label-container",children:d?e.jsx(s,{width:100,height:24}):e.jsx(o.Text,{size:"md",disabled:n,...C?.label,children:p})})]}),(c||b)&&e.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:q.spacing(q.custom.margin.xs)},className:"emoji-list-item-actions-container",children:[c&&e.jsx(e.Fragment,{children:d?e.jsx(s,{width:24,height:24}):c}),b&&e.jsx(e.Fragment,{children:d?e.jsx(s,{width:24,height:24}):e.jsx(a,{sizing:"xs",disabled:n,icon:e.jsx(i.default,{name:"delete",color:q.custom.palette.icon.secondary}),onClick:e=>{e.stopPropagation(),b&&b()},...C?.deleteAction})})]})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var i=require("../../BrandCore/Icon/Icon.js");require("../../../utils/formValidation/misc.js"),require("../../WebCore/utils/typography.util.js"),require("../../BrandCore/textures.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/SelectItem/SelectItem.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Animations/FadeIn.js");var o=require("../../WebCore/Text/Text.js");require("@mui/icons-material"),require("react"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js"),require("merge-sx"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../WebCore/Button/Button.js"),require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../WebCore/Differential/DifferentialContainer.js"),require("../../WebCore/Differential/DifferentialRadio.js"),require("../../WebCore/DropdownMenu/StyledMenu.js");var t=require("../../WebCore/EmojiWrapper/EmojiWrapper.js");require("../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../WebCore/FormBuilder/FormBuilder.js"),require("../../WebCore/FormGenerator/FormGenerator.js"),require("../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser");var a=require("../../WebCore/IconButton/IconButton.js");require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js"),require("../../WebCore/KbdGroup/Kbd.js"),require("../../WebCore/KbdGroup/KbdGroup.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../WebCore/Label/Label.js"),require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js"),require("../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx"),require("material-ui-popup-state/hooks"),require("../../WebCore/Surface/Surface.js"),require("../../WebCore/Menu/MenuItem.js"),require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../WebCore/Progress/Progress.js"),require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.js"),require("../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../WebCore/Select/StyledSelect.js"),require("../../WebCore/RankItem/_partials/LayoutComponents/LayoutComponents.js"),require("../../WebCore/RankItem/_partials/RankItemLabel/RankItemLabel.js"),require("../../WebCore/SortableList/SortableList.js"),require("../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../WebCore/RichTextField/StyledRichTextEditor.js");var s=require("../../WebCore/Skeleton/Skeleton.js");require("../../WebCore/Slider/StyledSlider.js"),require("../../WebCore/StarRating/StarRating.js"),require("../../WebCore/Switch/StyledSwitch.js"),require("../../WebCore/Textarea/Textarea.js"),require("../../WebCore/TrialCard/TrialCardContainers.js"),require("../../WebCore/TrialCard/TrialPill.js"),require("../../WebCore/UserMenu/UserMenuButton.js"),require("../../WebCore/VideoModal/VideoModal.js"),require("../../WebCore/TintedSurface/TintedSurface.js");var u=require("./_partials/StyledSurface.js");module.exports=({dragHandle:l=!1,disabled:n,loading:d,onDelete:b,primaryAction:c,icon:j,label:p,slotProps:m,...C})=>{const q=r.useTheme();return e.jsxs(u.StyledSurface,{borderradius:"md",variation:"default",disabled:n,sx:{p:q.custom.padding.sm,...m?.surface?.sx},...m?.surface,...C,children:[l&&e.jsx(r.Box,{sx:{display:"flex",alignItems:"center",mr:q.spacing(q.custom.margin.sm)},className:"emoji-list-item-drag-handle-container",children:e.jsx(a,{disabled:n,sizing:"xs",icon:e.jsx(i.default,{name:"drag-handle-dots",color:q.custom.palette.icon.secondary}),...m?.dragHandle})}),e.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:q.spacing(q.custom.margin.sm),flex:"1 0 0",px:q.spacing(q.custom.padding.sm)},className:"emoji-list-item-content-container",children:[j&&e.jsx(e.Fragment,{children:d?e.jsx(s,{width:24,height:24,sx:{borderRadius:"50%"}}):e.jsx(t,{disabled:n,checked:!0,...m?.icon,children:j})}),p&&e.jsx(r.Box,{sx:{height:24,flexGrow:1,display:"flex",alignItems:"center",gap:q.spacing(q.custom.margin.sm)},className:"emoji-list-item-label-container",children:d?e.jsx(s,{width:100,height:24}):e.jsx(o.Text,{size:"md",disabled:n,...m?.label,children:p})})]}),(c||b)&&e.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:q.spacing(q.custom.margin.xs)},className:"emoji-list-item-actions-container",children:[c&&e.jsx(e.Fragment,{children:d?e.jsx(s,{width:24,height:24}):c}),b&&e.jsx(e.Fragment,{children:d?e.jsx(s,{width:24,height:24}):e.jsx(a,{sizing:"xs",disabled:n,icon:e.jsx(i.default,{name:"delete",color:q.custom.palette.icon.secondary}),onClick:e=>{e.stopPropagation(),b&&b()},...m?.deleteAction})})]})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),i=require("react"),t=require("react-hook-form");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var n=require("../../BrandCore/Icon/Icon.js"),o=require("../Button/Button.js"),s=require("../IconButton/IconButton.js"),a=require("./FieldMessage.js"),d=require("./fieldRegistry.js");module.exports=({field:l,control:u})=>{const{fields:m,append:c,remove:x}=t.useFieldArray({control:u,name:l.name}),{errors:p}=t.useFormState({control:u,name:l.name}),[j,f]=i.useState(new Set),g=i.useRef(m);g.current=m;const v=i.useRef(!0),q=!v.current;v.current=!1;const h=m.length-j.size,C=h<=(l.minItems??0),B=void 0!==l.maxItems&&h>=l.maxItems,I=p?.[l.name],S=I?.root?.message??I?.message,F=e=>f(r=>new Set(r).add(e)),M=e=>c({value:e??l.defaultItem??""});return e.jsxs(r.Stack,{children:[m.map((i,o)=>{const m=j.has(i.id),c=((e,r)=>"function"==typeof l.itemField?l.itemField(e,r):l.itemField)(o,{index:o,remove:()=>F(i.id),atMinimum:C,atMaximum:B}),p=d.getFieldDefinition(c.fieldType);if(!p)return null;const v=p.component,h=d.splitFieldProps(c),I="none"===l.removeAction?{}:{endAdornment:e.jsx(s,{"aria-label":"Remove item",sizing:"xs",disabled:C||m,icon:e.jsx(n.default,{name:"delete"}),onClick:()=>F(i.id)})};return e.jsx(r.Collapse,{in:!m,appear:q,timeout:"auto",onExited:()=>(e=>{const r=g.current.findIndex(r=>r.id===e);r>=0&&x(r),f(r=>{const i=new Set(r);return i.delete(e),i})})(i.id),children:e.jsx(r.Box,{sx:{paddingBottom:"8px"},children:e.jsx(t.Controller,{name:`${l.name}.${o}.value`,control:u,render:({field:{ref:i,...t},fieldState:n})=>e.jsxs(r.Stack,{children:[e.jsx(v,{fullWidth:!0,...I,...h,...t,inputRef:i,"aria-invalid":!!n.error||void 0}),e.jsx(a.CollapseMessage,{errorMessage:l.hideError||m?void 0:n.error?.message})]})})})},i.id)}),e.jsx(a.CollapseMessage,{errorMessage:l.hideError?void 0:S,edge:"bottom",gap:8,showicon:!0}),l.actions?l.actions({append:M,count:h,atMaximum:B}):e.jsx(o,{variation:"outlined",sizing:"sm",disabled:B,onClick:()=>M(),sx:{alignSelf:"flex-start"},children:l.addLabel??"Add"})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@dnd-kit/core"),t=require("@dnd-kit/sortable"),i=require("@dnd-kit/utilities"),n=require("@mui/material"),o=require("react"),s=require("react-hook-form");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var a=require("../../BrandCore/Icon/Icon.js"),d=require("../Button/Button.js"),l=require("../IconButton/IconButton.js"),u=require("./FieldMessage.js"),c=require("./fieldRegistry.js");const m=({rowId:r,index:o,field:d,control:m,item:x,isExiting:g,appear:p,atMinimum:f,reorderable:b,onRemove:j,onExited:v})=>{const{custom:S}=n.useTheme(),{attributes:h,listeners:y,setNodeRef:C,setActivatorNodeRef:I,transform:q,transition:A,isDragging:B}=t.useSortable({id:r,disabled:!b}),M=c.getFieldDefinition(x.fieldType);if(!M)return null;const w=M.component,R=c.splitFieldProps(x),k="none"===d.removeAction?{}:{endAdornment:e.jsx(l,{"aria-label":"Remove item",sizing:"xs",disabled:f||g,icon:e.jsx(a.default,{name:"delete"}),onClick:j,tabIndex:d.rowActionsTabIndex})},E={ref:I,...h,...y,...void 0!==d.rowActionsTabIndex?{tabIndex:d.rowActionsTabIndex}:{},style:{touchAction:"none",cursor:B?"grabbing":"grab"}},F=b?"own"===x.dragAction?{dragHandleProps:E}:{startAdornment:e.jsx(l,{...E,"aria-label":"Reorder item",sizing:"xs",icon:e.jsx(a.default,{name:"drag-handle-dots",color:S.palette.icon.secondary})})}:{};return e.jsx(n.Collapse,{in:!g,appear:p,timeout:"auto",onExited:v,children:e.jsx(n.Box,{ref:C,sx:{paddingBottom:"8px",position:"relative",transform:i.CSS.Translate.toString(q),transition:A,zIndex:B?1:void 0},children:e.jsx(s.Controller,{name:`${d.name}.${o}.value`,control:m,render:({field:{ref:r,...t},fieldState:i})=>e.jsxs(n.Stack,{children:[e.jsx(w,{fullWidth:!0,...F,...k,...R,...t,inputRef:r,"aria-invalid":!!i.error||void 0}),e.jsx(u.CollapseMessage,{errorMessage:d.hideError||g?void 0:i.error?.message})]})})})})};module.exports=({field:i,control:a})=>{const{fields:l,append:c,remove:x,move:g}=s.useFieldArray({control:a,name:i.name}),{errors:p}=s.useFormState({control:a,name:i.name}),[f,b]=o.useState(new Set),j=o.useRef(l);j.current=l;const v=Boolean(i.reorderable),S=r.useSensors(r.useSensor(r.MouseSensor,{activationConstraint:{distance:2}}),r.useSensor(r.TouchSensor,{activationConstraint:{distance:2}}),r.useSensor(r.KeyboardSensor,{coordinateGetter:t.sortableKeyboardCoordinates})),h=o.useRef(!0),y=!h.current;h.current=!1;const C=l.length-f.size,I=C<=(i.minItems??0),q=void 0!==i.maxItems&&C>=i.maxItems,A=p?.[i.name],B=A?.root?.message??A?.message,M=(e,r)=>"function"==typeof i.itemField?i.itemField(e,r):i.itemField,w=e=>b(r=>new Set(r).add(e)),R=e=>c((e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"value"in e)(e)?e:{value:e??i.defaultItem??""});return e.jsx(r.DndContext,{sensors:S,measuring:{droppable:{strategy:r.MeasuringStrategy.Always}},onDragEnd:({active:e,over:r})=>{if(!r||e.id===r.id)return;const t=j.current.findIndex(r=>r.id===e.id),i=j.current.findIndex(e=>e.id===r.id);t>=0&&i>=0&&g(t,i)},children:e.jsx(t.SortableContext,{items:l.map(e=>e.id),strategy:t.verticalListSortingStrategy,disabled:!v,children:e.jsxs(n.Stack,{children:[l.map((r,t)=>{const n=f.has(r.id),o={index:t,remove:()=>w(r.id),atMinimum:I,atMaximum:q};return e.jsx(m,{rowId:r.id,index:t,field:i,control:a,item:M(t,o),isExiting:n,appear:y,atMinimum:I,reorderable:v,onRemove:()=>w(r.id),onExited:()=>(e=>{const r=j.current.findIndex(r=>r.id===e);r>=0&&x(r),b(r=>{const t=new Set(r);return t.delete(e),t})})(r.id)},r.id)}),e.jsx(u.CollapseMessage,{errorMessage:i.hideError?void 0:B,edge:"bottom",gap:8,showicon:!0}),i.actions?i.actions({append:R,count:C,atMaximum:q}):e.jsx(d,{variation:"outlined",sizing:"sm",disabled:q,onClick:()=>R(),sx:{alignSelf:"flex-start"},children:i.addLabel??"Add"})]})})})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("react"),n=require("react-hook-form"),o=require("../../BrandCore/primitiveVariables.js"),i=require("../Html/Html.js"),s=require("../InputLabel/InputLabel.js"),l=require("./ArrayFieldRows.js"),a=require("./components/StrengthIndicator/StrengthIndicator.js"),u=require("./FieldCollapse.js"),c=require("./FieldMessage.js"),d=require("./fieldRegistry.js");var f=t.memo(({field:f,fieldRef:p,control:h,appear:m=!1})=>{const{custom:x}=r.useTheme(),g=f,{fieldType:j,name:v,label:y,labelProps:b,helperText:q,helpTextProps:R,content:F,styleOverrides:B,strengthIndicator:I,hidden:S,visibleWhen:T,deriveProps:C,hideError:L,focusOnReveal:P}=g,k=d.extractNoneOfThese(d.splitFieldProps(g)),w=Boolean(T)||Boolean(C)||"function"==typeof y,E=n.useWatch({control:h,disabled:!w}),M=Boolean(S)||!!T&&!T(E??{}),O=t.useRef(null),W=t.useRef(M),H=W.current&&!M;t.useEffect(()=>{W.current=M});const $=Boolean(k.autoFocus)||Boolean(P)&&H;t.useEffect(()=>{if(!$)return;const e=O.current;if(e&&"function"==typeof e.focus&&(e.focus(),"string"==typeof e.value&&"function"==typeof e.setSelectionRange))try{e.setSelectionRange(e.value.length,e.value.length)}catch{}},[$]);const z=C?C(E??{}):void 0,A="function"==typeof y?y:void 0,D=A?A(E??{}):y,N=n.useWatch({control:h,name:v,disabled:!I}),V="checkbox"===j?`${"lg"===k.sizing?o.space[600]:o.space[500]}px`:void 0,G=`${v}-error`;return e.jsxs(u,{hidden:M,appear:m,sx:B?.sxInputStack,children:["switch"!==j?D&&e.jsx(s,{...b,children:D}):null,(()=>{if("html"===j)return F?e.jsx(i,{children:F}):null;if("array"===j)return e.jsx(l,{field:g,control:h});const r=d.getFieldDefinition(j);if(!r)return null;const t=r.component;return e.jsx(n.Controller,{name:v,control:h,render:({field:{ref:n,...o},fieldState:i})=>e.jsxs(e.Fragment,{children:[e.jsx(t,{...k,...z,...o,...r.adapt?.({...g,label:D},o)??{},autoFocus:$,"aria-invalid":!!i.error||void 0,"aria-describedby":i.error?G:void 0,inputRef:e=>{n(e),((e,r)=>{"function"==typeof e?e(r):e&&(e.current=r)})(p,e),O.current=e}}),I&&e.jsx(a,{value:N}),e.jsx(c.CollapseMessage,{id:G,errorMessage:L?void 0:i.error?.message,paddingLeft:V,showicon:!0})]})})})(),q?e.jsx(c.default,{helperText:q,paddingLeft:V,...R}):null]})});module.exports=f;
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("react"),n=require("react-hook-form"),o=require("../../BrandCore/primitiveVariables.js"),i=require("../Html/Html.js"),s=require("../InputLabel/InputLabel.js"),l=require("./ArrayFieldRows.js"),a=require("./components/StrengthIndicator/StrengthIndicator.js"),u=require("./FieldCollapse.js"),c=require("./FieldMessage.js"),d=require("./fieldRegistry.js");var f=t.memo(({field:f,fieldRef:p,control:h,appear:x=!1})=>{const{custom:m}=r.useTheme(),g=f,{fieldType:j,name:v,label:y,labelProps:b,helperText:q,helpTextProps:R,content:F,styleOverrides:S,strengthIndicator:T,hidden:B,visibleWhen:I,deriveProps:C,hideError:L,focusOnReveal:P}=g,k=d.extractNoneOfThese(d.splitFieldProps(g)),w=Boolean(I)||Boolean(C)||"function"==typeof y,E=n.useWatch({control:h,disabled:!w}),M=Boolean(B)||!!I&&!I(E??{}),O=t.useRef(null),W=t.useRef(M),H=W.current&&!M;t.useEffect(()=>{W.current=M});const $=Boolean(P)&&H,z=Boolean(k.autoFocus)||$&&"richTextfield"===j;t.useEffect(()=>{if(!z&&!$)return;const e=O.current;if(e&&"function"==typeof e.focus&&(e.focus({preventScroll:!0}),"string"==typeof e.value&&"function"==typeof e.setSelectionRange))try{e.setSelectionRange(e.value.length,e.value.length)}catch{}},[z,$]);const A=C?C(E??{}):void 0,D="function"==typeof y?y:void 0,N=D?D(E??{}):y,V=n.useWatch({control:h,name:v,disabled:!T}),G="checkbox"===j?`${"lg"===k.sizing?o.space[600]:o.space[500]}px`:void 0,J=`${v}-error`;return e.jsxs(u,{hidden:M,appear:x,sx:S?.sxInputStack,children:["switch"!==j?N&&e.jsx(s,{...b,children:N}):null,(()=>{if("html"===j)return F?e.jsx(i,{children:F}):null;if("array"===j)return e.jsx(l,{field:g,control:h});const r=d.getFieldDefinition(j);if(!r)return null;const t=r.component;return e.jsx(n.Controller,{name:v,control:h,render:({field:{ref:n,...o},fieldState:i})=>e.jsxs(e.Fragment,{children:[e.jsx(t,{...k,...A,...o,...r.adapt?.({...g,label:N},o)??{},autoFocus:z,"aria-invalid":!!i.error||void 0,"aria-describedby":i.error?J:void 0,inputRef:e=>{n(e),((e,r)=>{"function"==typeof e?e(r):e&&(e.current=r)})(p,e),O.current=e}}),T&&e.jsx(a,{value:V}),e.jsx(c.CollapseMessage,{id:J,errorMessage:L?void 0:i.error?.message,paddingLeft:G,showicon:!0})]})})})(),q?e.jsx(c.default,{helperText:q,paddingLeft:G,...R}):null]})});module.exports=f;
@@ -172,9 +172,14 @@ type HtmlField<TValues extends FieldValues = FieldValues> = Omit<BaseField<TValu
172
172
  fieldType: 'html';
173
173
  content: ReactElement;
174
174
  };
175
- /** Per-row control config for an `ArrayField` — any registry control, minus the row-managed keys. */
175
+ /**
176
+ * Per-row control config for an `ArrayField` — any registry control, minus the row-managed keys.
177
+ * On a `reorderable` array, `dragAction: 'own'` hands the row a `dragHandleProps` prop (spread it onto
178
+ * your own handle element) instead of the injected `startAdornment` handle.
179
+ */
176
180
  type ArrayItemField = {
177
181
  fieldType: DynamicFieldType;
182
+ dragAction?: 'startAdornment' | 'own';
178
183
  } & Record<string, unknown>;
179
184
  /** Handed to an `itemField` function so custom rows can own their remove action. */
180
185
  interface ArrayRowApi {
@@ -186,7 +191,10 @@ interface ArrayRowApi {
186
191
  }
187
192
  /** Handed to the `actions` slot so custom footers can append rows (e.g. an import button). */
188
193
  interface ArrayActionsApi {
189
- /** Append a row holding `value` (falls back to `defaultItem`, then `''`). */
194
+ /**
195
+ * Append a row. A plain value becomes `{ value }` (falling back to `defaultItem`, then `''`); an
196
+ * object with a `value` key is appended as-is, so extra row keys (e.g. a persisted identity) ride along.
197
+ */
190
198
  append: (value?: unknown) => void;
191
199
  count: number;
192
200
  atMaximum: boolean;
@@ -212,6 +220,17 @@ type ArrayField<TValues extends FieldValues = FieldValues> = Omit<BaseField<TVal
212
220
  defaultItem?: unknown;
213
221
  /** `'none'` skips injecting the delete `endAdornment` — for rows that render their own actions. */
214
222
  removeAction?: 'endAdornment' | 'none';
223
+ /**
224
+ * tabIndex for the row chrome (drag handle + delete button) — `-1` keeps the tab flow on the row
225
+ * inputs themselves. Note `-1` also takes the handle out of keyboard-drag reach.
226
+ */
227
+ rowActionsTabIndex?: number;
228
+ /**
229
+ * Rows get a drag handle (`startAdornment`, or `dragHandleProps` for `dragAction: 'own'` rows) and
230
+ * can be dragged to reorder — the array value follows the new order. Rows keep their
231
+ * react-hook-form identity, so extra row keys move with them.
232
+ */
233
+ reorderable?: boolean;
215
234
  /** Replaces the default append button — e.g. Add + Import side by side. */
216
235
  actions?: (api: ArrayActionsApi) => ReactNode;
217
236
  };
@@ -1 +1 @@
1
- "use strict";var e=require("../AutocompleteField/AutocompleteField.js"),t=require("../Checkbox/Checkbox.js");require("../Checkbox/StyledCheckbox.js");var a=require("../CheckboxGroup/CheckboxGroup.js"),l=require("../CreatableAutocomplete/CreatableAutocomplete.js"),r=require("../CustomField/CustomField.js"),u=require("../Differential/Differential.js"),o=require("../Likert/Likert.js"),n=require("../NumberField/NumberField.js"),i=require("../RadioGroup/RadioGroup.js"),d=require("../Rank/Rank.js"),f=require("../RichTextField/RichTextField.js");require("../SelectItem/SelectItem.js");var s=require("../Select/Select.js"),c=require("../Slider/Slider.js"),p=require("../StarRating/StarRating.js"),m=require("../Switch/Switch.js"),g=require("../Textarea/Textarea.js");const h={textfield:{component:require("../TextField/TextField.js"),getDefault:e=>e.defaultValue??""},numberfield:{component:n.default,getDefault:e=>e.defaultValue??0},textarea:{component:g,getDefault:e=>e.defaultValue??""},creatableautocomplete:{component:l,getDefault:e=>e.defaultValue??""},select:{component:s,getDefault:e=>e.defaultValue??""},autocomplete:{component:e,getDefault:e=>e.defaultValue,adapt:(e,t)=>({onChange:(e,a)=>t.onChange(a)})},checkbox:{component:t,getDefault:e=>e.defaultValue??!1},checkboxGroup:{component:a,getDefault:e=>e.defaultValue??[]},switch:{component:m,getDefault:e=>e.defaultValue??!1,adapt:e=>({label:e.label})},slider:{component:c,getDefault:e=>Array.isArray(e.defaultValue)?e.defaultValue:e.defaultValue??e.min??0,adapt:(e,t)=>({onChange:(e,a)=>t.onChange(a)})},starRating:{component:p,getDefault:e=>e.defaultValue??0,adapt:(e,t)=>({onChange:(e,a)=>t.onChange(a)})},differential:{component:u,getDefault:e=>e.defaultValue??""},likert:{component:o,getDefault:e=>e.defaultValue??""},radioGroup:{component:i,getDefault:e=>e.defaultValue??""},ranking:{component:d,getDefault:e=>e.defaultValue?e.defaultValue.map(t=>e.options.find(e=>e.id===t)):e.options},richTextfield:{component:f,getDefault:e=>e.defaultValue??""},customfield:{component:r,getDefault:e=>e.defaultValue??""}},x=e=>{if("html"!==e.fieldType)return"array"===e.fieldType?e.defaultValue??[]:h[e.fieldType].getDefault(e)},D=["fieldType","name","ref","label","labelProps","helperText","helpTextProps","content","styleOverrides","strengthIndicator","defaultValue","hidden","visibleWhen","hideError","focusOnReveal","itemField","minItems","maxItems","addLabel","defaultItem","removeAction","actions","deriveProps"],V=e=>{if(e.noneOfThese)return!0;return(e.name||e.value||"").replace(/-/g,"_").includes("none_of_these")};exports.FIELD_REGISTRY=h,exports.extractNoneOfThese=e=>{if(!e.other?.enabled||!Array.isArray(e.options))return e;const t=e.options,a=t.findIndex(V);return-1===a?e:{...e,options:t.filter((e,t)=>t!==a),noneOfTheseOption:t[a]}},exports.getDefaultValues=e=>e.reduce((e,t)=>("html"!==t.fieldType&&(e[t.name]=x(t)),e),{}),exports.getFieldDefault=x,exports.getFieldDefinition=e=>h[e],exports.splitFieldProps=e=>{const t={};for(const a of Object.keys(e))D.includes(a)||(t[a]=e[a]);return t};
1
+ "use strict";var e=require("../AutocompleteField/AutocompleteField.js"),t=require("../Checkbox/Checkbox.js");require("../Checkbox/StyledCheckbox.js");var a=require("../CheckboxGroup/CheckboxGroup.js"),l=require("../CreatableAutocomplete/CreatableAutocomplete.js"),r=require("../CustomField/CustomField.js"),o=require("../Differential/Differential.js"),u=require("../Likert/Likert.js"),n=require("../NumberField/NumberField.js"),i=require("../RadioGroup/RadioGroup.js"),d=require("../Rank/Rank.js"),f=require("../RichTextField/RichTextField.js");require("../SelectItem/SelectItem.js");var s=require("../Select/Select.js"),c=require("../Slider/Slider.js"),p=require("../StarRating/StarRating.js"),m=require("../Switch/Switch.js"),g=require("../Textarea/Textarea.js");const h={textfield:{component:require("../TextField/TextField.js"),getDefault:e=>e.defaultValue??""},numberfield:{component:n.default,getDefault:e=>e.defaultValue??0},textarea:{component:g,getDefault:e=>e.defaultValue??""},creatableautocomplete:{component:l,getDefault:e=>e.defaultValue??""},select:{component:s,getDefault:e=>e.defaultValue??""},autocomplete:{component:e,getDefault:e=>e.defaultValue,adapt:(e,t)=>({onChange:(e,a)=>t.onChange(a)})},checkbox:{component:t,getDefault:e=>e.defaultValue??!1},checkboxGroup:{component:a,getDefault:e=>e.defaultValue??[]},switch:{component:m,getDefault:e=>e.defaultValue??!1,adapt:e=>({label:e.label})},slider:{component:c,getDefault:e=>Array.isArray(e.defaultValue)?e.defaultValue:e.defaultValue??e.min??0,adapt:(e,t)=>({onChange:(e,a)=>t.onChange(a)})},starRating:{component:p,getDefault:e=>e.defaultValue??0,adapt:(e,t)=>({onChange:(e,a)=>t.onChange(a)})},differential:{component:o,getDefault:e=>e.defaultValue??""},likert:{component:u,getDefault:e=>e.defaultValue??""},radioGroup:{component:i,getDefault:e=>e.defaultValue??""},ranking:{component:d,getDefault:e=>e.defaultValue?e.defaultValue.map(t=>e.options.find(e=>e.id===t)):e.options},richTextfield:{component:f,getDefault:e=>e.defaultValue??""},customfield:{component:r,getDefault:e=>e.defaultValue??""}},x=e=>{if("html"!==e.fieldType)return"array"===e.fieldType?e.defaultValue??[]:h[e.fieldType].getDefault(e)},b=["fieldType","name","ref","label","labelProps","helperText","helpTextProps","content","styleOverrides","strengthIndicator","defaultValue","hidden","visibleWhen","hideError","focusOnReveal","itemField","minItems","maxItems","addLabel","defaultItem","removeAction","rowActionsTabIndex","reorderable","dragAction","actions","deriveProps"],D=e=>{if(e.noneOfThese)return!0;return(e.name||e.value||"").replace(/-/g,"_").includes("none_of_these")};exports.FIELD_REGISTRY=h,exports.extractNoneOfThese=e=>{if(!e.other?.enabled||!Array.isArray(e.options))return e;const t=e.options,a=t.findIndex(D);return-1===a?e:{...e,options:t.filter((e,t)=>t!==a),noneOfTheseOption:t[a]}},exports.getDefaultValues=e=>e.reduce((e,t)=>("html"!==t.fieldType&&(e[t.name]=x(t)),e),{}),exports.getFieldDefault=x,exports.getFieldDefinition=e=>h[e],exports.splitFieldProps=e=>{const t={};for(const a of Object.keys(e))b.includes(a)||(t[a]=e[a]);return t};
@@ -18,6 +18,11 @@ type RichTextFieldProps = Omit<InputFieldBaseProps, 'value' | 'onChange'> & {
18
18
  options?: RichTextFieldOptions;
19
19
  /** Focus the editor on mount, with the caret at the end of the content. */
20
20
  autoFocus?: boolean;
21
+ /**
22
+ * tabIndex for the toolbar buttons — `-1` keeps the tab flow on the content itself (formatting
23
+ * stays reachable through the keyboard shortcuts shown in the button tooltips).
24
+ */
25
+ toolbarTabIndex?: number;
21
26
  };
22
27
  declare const RichTextField: FunctionComponent<RichTextFieldProps>;
23
28
 
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("@mui/material"),r=require("@tiptap/extension-placeholder"),i=require("@tiptap/starter-kit"),o=require("mui-tiptap"),n=require("react"),u=require("./StyledRichTextEditor.js");module.exports=({onChange:l,value:s,internalChange:a,minWidth:d=100,minHeight:c=100,maxHeight:h,placeholder:x,options:m={},autoFocus:p=!1})=>{const g=n.useRef(null);t.useTheme();const{bold:j=!0,italic:q=!0,underline:B=!0,bulletList:L=!1,orderedList:M=!1}=m;return e.jsx(u,{sx:{"& .ProseMirror":{overflowY:"auto",minHeight:c,minWidth:d,maxHeight:h}},ref:g,autofocus:!!p&&"end",onUpdate:({editor:e})=>{l&&l(e.getHTML()),a&&a()},enableInputRules:!1,extensions:[i.StarterKit.configure({strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,codeBlock:!1,bold:!!j&&{},italic:!!q&&{},listItem:!(!L&&!M)&&{},bulletList:!!L&&{},orderedList:!!M&&{}}),r.Placeholder.configure({placeholder:x})],content:s,renderControls:()=>e.jsxs(t.Stack,{direction:"row",children:[j&&e.jsx(o.MenuButtonBold,{}),q&&e.jsx(o.MenuButtonItalic,{}),B&&e.jsx(o.MenuButtonUnderline,{}),L&&e.jsx(o.MenuButtonBulletedList,{}),M&&e.jsx(o.MenuButtonOrderedList,{})]})})};
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("@mui/material"),r=require("@tiptap/extension-placeholder"),i=require("@tiptap/starter-kit"),n=require("mui-tiptap"),o=require("react"),u=require("./StyledRichTextEditor.js");module.exports=({onChange:l,value:a,internalChange:d,minWidth:s=100,minHeight:c=100,maxHeight:x,placeholder:h,options:b={},autoFocus:m=!1,toolbarTabIndex:p})=>{const g=o.useRef(null);t.useTheme();const{bold:j=!0,italic:I=!0,underline:q=!0,bulletList:B=!1,orderedList:L=!1}=b;return e.jsx(u,{sx:{"& .ProseMirror":{overflowY:"auto",minHeight:c,minWidth:s,maxHeight:x}},ref:g,autofocus:!!m&&"end",onUpdate:({editor:e})=>{l&&l(e.getHTML()),d&&d()},enableInputRules:!1,extensions:[i.StarterKit.configure({strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,codeBlock:!1,bold:!!j&&{},italic:!!I&&{},listItem:!(!B&&!L)&&{},bulletList:!!B&&{},orderedList:!!L&&{}}),r.Placeholder.configure({placeholder:h})],content:a,renderControls:()=>e.jsxs(t.Stack,{direction:"row",children:[j&&e.jsx(n.MenuButtonBold,{tabIndex:p}),I&&e.jsx(n.MenuButtonItalic,{tabIndex:p}),q&&e.jsx(n.MenuButtonUnderline,{tabIndex:p}),B&&e.jsx(n.MenuButtonBulletedList,{tabIndex:p}),L&&e.jsx(n.MenuButtonOrderedList,{tabIndex:p})]})})};
@@ -9,6 +9,7 @@ interface SwitchProps extends Omit<StyledSwitchProps, 'inputProps'> {
9
9
  labelPlacement?: Exclude<FormControlLabelProps['labelPlacement'], 'top' | 'bottom'>;
10
10
  inputRef?: FormControlLabelProps['inputRef'];
11
11
  fullWidth?: boolean;
12
+ tabIndex?: number;
12
13
  onChange?: (event: React.SyntheticEvent<Element, Event>, checked: boolean) => void;
13
14
  internalChange?: () => void;
14
15
  }
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),l=require("merge-sx"),r=require("../FormControlLabel/FormControlLabel.js"),t=require("./StyledSwitch.js");module.exports=({sizing:a="sm",sx:n,inputRef:i,value:o,label:s,labelPlacement:u="start",fullWidth:m,onChange:b,internalChange:c,...x})=>e.jsx(r,{inputRef:i,checked:o,label:s,labelPlacement:u,control:e.jsx(t,{sizing:a}),onChange:(e,l)=>{b&&b(e,l),c&&c()},sx:l.mergeSx(m?{"& .MuiFormControlLabel-label":{width:"100%"}}:{},n),...x});
1
+ "use strict";var e=require("react/jsx-runtime"),l=require("merge-sx"),r=require("../FormControlLabel/FormControlLabel.js"),t=require("./StyledSwitch.js");module.exports=({sizing:a="sm",sx:n,inputRef:i,value:o,label:s,labelPlacement:u="start",fullWidth:b,tabIndex:m,onChange:x,internalChange:c,...d})=>e.jsx(r,{inputRef:i,checked:o,label:s,labelPlacement:u,control:e.jsx(t,{sizing:a,tabIndex:m}),onChange:(e,l)=>{x&&x(e,l),c&&c()},sx:l.mergeSx(b?{"& .MuiFormControlLabel-label":{width:"100%"}}:{},n),...d});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useloops/design-system",
3
- "version": "1.4.725",
3
+ "version": "1.4.727",
4
4
  "description": "The official React based Loops design system",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",