@anikitenko/bp5-rjsf-theme
Version:
BlueprintJS 5 theme for React JSON Schema Form
2 lines • 17 kB
JavaScript
/*! For license information please see index.js.LICENSE.txt */
import*as e from"react";import*as t from"@rjsf/core";import*as r from"@blueprintjs/core";import*as i from"@rjsf/utils";import*as n from"@blueprintjs/select";var a={16:(e,t,r)=>{r.d(t,{A:()=>s});var i=r(601),n=r.n(i),a=r(314),l=r.n(a)()(n());l.push([e.id,".bp5-rjsf-selectWrapper {\n display: flex;\n}\n\n.bp5-rjsf-selectWrapper > select {\n flex: 1;\n}\n",""]);const s=l},20:(e,t,r)=>{var i=r(649),n=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),l=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(e,t,r){var i,o={},d=null,u=null;for(i in void 0!==r&&(d=""+r),void 0!==t.key&&(d=""+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,i)&&!s.hasOwnProperty(i)&&(o[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===o[i]&&(o[i]=t[i]);return{$$typeof:n,type:e,key:d,ref:u,props:o,_owner:l.current}}t.jsx=o,t.jsxs=o},56:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},72:e=>{var t=[];function r(e){for(var r=-1,i=0;i<t.length;i++)if(t[i].identifier===e){r=i;break}return r}function i(e,i){for(var a={},l=[],s=0;s<e.length;s++){var o=e[s],d=i.base?o[0]+i.base:o[0],u=a[d]||0,c="".concat(d," ").concat(u);a[d]=u+1;var p=r(c),m={css:o[1],media:o[2],sourceMap:o[3],supports:o[4],layer:o[5]};if(-1!==p)t[p].references++,t[p].updater(m);else{var h=n(m,i);i.byIndex=s,t.splice(s,0,{identifier:c,updater:h,references:1})}l.push(c)}return l}function n(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,n){var a=i(e=e||[],n=n||{});return function(e){e=e||[];for(var l=0;l<a.length;l++){var s=r(a[l]);t[s].references--}for(var o=i(e,n),d=0;d<a.length;d++){var u=r(a[d]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}a=o}}},113:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},314:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",i=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),i&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),i&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,i,n,a){"string"==typeof e&&(e=[[null,e,void 0]]);var l={};if(i)for(var s=0;s<this.length;s++){var o=this[s][0];null!=o&&(l[o]=!0)}for(var d=0;d<e.length;d++){var u=[].concat(e[d]);i&&l[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),n&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=n):u[4]="".concat(n)),t.push(u))}},t}},540:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},601:e=>{e.exports=function(e){return e[1]}},649:t=>{t.exports=e},659:e=>{var t={};e.exports=function(e,r){var i=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(r)}},825:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var i="";r.supports&&(i+="@supports (".concat(r.supports,") {")),r.media&&(i+="@media ".concat(r.media," {"));var n=void 0!==r.layer;n&&(i+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),i+=r.css,n&&(i+="}"),r.media&&(i+="}"),r.supports&&(i+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},848:(e,t,r)=>{e.exports=r(20)}},l={};function s(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={id:e,exports:{}};return a[e](r,r.exports,s),r.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.nc=void 0;var o={};s.d(o,{p:()=>$});const d=(u={getDefaultRegistry:()=>t.getDefaultRegistry},c={},s.d(c,u),c);var u,c,p=s(848);const m=(e=>{var t={};return s.d(t,e),t})({Button:()=>r.Button,ButtonGroup:()=>r.ButtonGroup,Callout:()=>r.Callout,Card:()=>r.Card,Checkbox:()=>r.Checkbox,FormGroup:()=>r.FormGroup,H5:()=>r.H5,HTMLSelect:()=>r.HTMLSelect,InputGroup:()=>r.InputGroup,Intent:()=>r.Intent,MenuItem:()=>r.MenuItem,NumericInput:()=>r.NumericInput});var h=s(649);const f=(e=>{var t={};return s.d(t,e),t})({ADDITIONAL_PROPERTY_FLAG:()=>i.ADDITIONAL_PROPERTY_FLAG,TranslatableString:()=>i.TranslatableString,ariaDescribedByIds:()=>i.ariaDescribedByIds,canExpand:()=>i.canExpand,enumOptionsDeselectValue:()=>i.enumOptionsDeselectValue,enumOptionsIsSelected:()=>i.enumOptionsIsSelected,enumOptionsSelectValue:()=>i.enumOptionsSelectValue,enumOptionsValueForIndex:()=>i.enumOptionsValueForIndex,getSubmitButtonOptions:()=>i.getSubmitButtonOptions,getTemplate:()=>i.getTemplate,getUiOptions:()=>i.getUiOptions,schemaRequiresTrueValue:()=>i.schemaRequiresTrueValue}),v=(e=>{var t={};return s.d(t,e),t})({MultiSelect:()=>n.MultiSelect}),b=e=>{const{options:t,value:r=[],disabled:i,onChange:n,placeholder:a,registry:l}=e,s=t.enumOptions||[],{translateString:o}=l,d=s.map((e=>({label:o(f.TranslatableString.OptionPrefix,[e.value]),value:e.value}))),u=d.filter((e=>r.includes(e.value)));return(0,p.jsx)(v.MultiSelect,{items:d,itemRenderer:(e,{handleClick:t,modifiers:r})=>{const i=u.some((t=>t.value===e.value));return(0,p.jsx)(m.MenuItem,{text:e.label,active:r.active,onClick:t,shouldDismissPopover:!1,icon:i?"tick":"blank"},e.value)},itemPredicate:(e,t,r,i)=>{const n=t.label?.toLowerCase().includes(e.toLowerCase());return n||!1},onItemSelect:e=>{r.includes(e.value)||n([...r,e.value])},onRemove:e=>{n(r.filter((t=>t!==e.value)))},selectedItems:u,tagRenderer:e=>e.label,tagInputProps:{disabled:i,placeholder:a},popoverProps:{minimal:!0},fill:!0,resetOnSelect:!0})},g={CheckboxWidget:e=>{const{schema:t,id:r,value:i,disabled:n,readonly:a,label:l,autofocus:s,onBlur:o,onFocus:d,onChange:u,uiSchema:c}=e,h=(0,f.schemaRequiresTrueValue)(t),v=(0,f.getUiOptions)(c),b=v["ui:help"]||t.description,g=v["ui:title"]||t.title||l;return(0,p.jsx)(m.FormGroup,{disabled:n,helperText:b,label:g,labelFor:r,labelInfo:(l||v["ui:title"]||t.title)&&h?"(required)":null,children:(0,p.jsx)(m.Checkbox,{id:r,checked:void 0!==i&&i,required:h,disabled:n||a,autoFocus:s,type:"checkbox",onChange:e=>u(e.target.checked),onBlur:o&&(e=>o(r,e.target.checked)),onFocus:d&&(e=>d(r,e.target.checked)),children:"Should we?"})})},CheckboxesWidget:({id:e,disabled:t,options:{inline:r=!1,enumOptions:i,enumDisabled:n,emptyValue:a},value:l,autofocus:s=!1,readonly:o,onChange:d,onBlur:u,onFocus:c,uiSchema:v,schema:b,label:g,required:y})=>{const x=Array.isArray(l)?l:[l],S=(0,h.useCallback)((({target:t})=>u(e,(0,f.enumOptionsValueForIndex)(t&&t.value,i,a))),[u,e]),j=(0,h.useCallback)((({target:t})=>c(e,(0,f.enumOptionsValueForIndex)(t&&t.value,i,a))),[c,e]),T=(0,f.getUiOptions)(v),C=T["ui:description"]||b.description,O=T["ui:title"]||b.title||g;return(0,p.jsx)(m.FormGroup,{disabled:t,helperText:C,label:O,labelInfo:(g||T["ui:title"]||b.title)&&y?"(required)":null,children:Array.isArray(i)&&i.map(((a,l)=>{const u=(0,f.enumOptionsIsSelected)(a.value,x),c=Array.isArray(n)&&-1!==n.indexOf(a.value);return(0,p.jsx)(m.Checkbox,{id:`${e}_${l}`,label:a.label,required:y,inline:r,checked:u,autoFocus:s&&0===l,onChange:e=>{e.target.checked?d((0,f.enumOptionsSelectValue)(l,x,i)):d((0,f.enumOptionsDeselectValue)(l,x,i))},onBlur:S,onFocus:j,disabled:t||c||o,"aria-describedby":(0,f.ariaDescribedByIds)(e)},l+1)}))})},TextWidget:e=>{const{id:t,placeholder:r,required:i,readonly:n,disabled:a,label:l,value:s,onChange:o,onBlur:d,onFocus:u,autofocus:c,options:v,schema:b,uiSchema:g}=e,[y,x]=(0,h.useState)(s||""),S=(0,f.getUiOptions)(g),j=S["ui:description"]||b.description,T=S["ui:title"]||b.title||l;return(0,p.jsx)(m.FormGroup,{disabled:a,helperText:j,fill:!0,label:T,labelFor:t,labelInfo:(l||S["ui:title"]||b.title)&&i?"(required)":null,children:(0,p.jsx)(m.InputGroup,{id:t,fill:!0,placeholder:r,disabled:a,readOnly:n,autoFocus:c,onChange:({target:{value:e}})=>{const t=v.emptyValue||" ";x(""===e?t:e)},onBlur:e=>{const r=e.target.value,i=v.emptyValue||" ";o(""===r?i:r),d(t,""===r?i:r)},onFocus:({target:{value:e}})=>{const r=v.emptyValue||" ";u(t,""===e?r:e)},value:y})})},UpDownWidget:e=>{const{id:t,required:r,readonly:i,disabled:n,label:a,value:l,onChange:s,onBlur:o,onFocus:d,autofocus:u,schema:c,uiSchema:h,placeholder:v}=e,b=e=>{s(e)},g=(0,f.getUiOptions)(h),y=g["ui:description"]||c.description,x=g["ui:title"]||c.title||a;return(0,p.jsx)(m.FormGroup,{disabled:n,helperText:y,label:x,labelFor:t,labelInfo:(a||g["ui:title"]||c.title)&&r?"(required)":null,children:(0,p.jsx)(m.NumericInput,{placeholder:v,onValueChange:b,disabled:n,readOnly:i,autoFocus:u,onChange:b,onBlur:({target:{value:e}})=>o(t,e),onFocus:({target:{value:e}})=>d(t,e),value:l,fill:!0})})},SelectWidget:e=>{const{schema:t,id:r,options:i,value:n,required:a,disabled:l,multiple:s=!1,autofocus:o=!1,onChange:u,onBlur:c,onFocus:v,placeholder:g,uiSchema:y,label:x}=e,{enumOptions:S,enumDisabled:j,emptyValue:T}=i,C=s?[]:"",O=(0,d.getDefaultRegistry)(),I=(0,f.getUiOptions)(y),F=I["ui:help"]||t.description,k=I["ui:title"]||t.title||x,{translateString:A}=O,B=[];if(s||B.push({value:"",label:g&&""!==g?g:"Select option",disabled:!0}),Array.isArray(S))for(const e of S)B.push({value:e.value,label:A(f.TranslatableString.OptionPrefix,[e.value]),disabled:j&&-1!==j.indexOf(e.value)});const D=(0,h.useCallback)((e=>v(r,(0,f.enumOptionsValueForIndex)(e.currentTarget.value,S,T))),[v,r,t,S,T]),_=(0,h.useCallback)((e=>c(r,(0,f.enumOptionsValueForIndex)(e.currentTarget.value,S,T))),[c,r,t,S,T]),R=(0,h.useCallback)((e=>u((0,f.enumOptionsValueForIndex)(e.currentTarget.value,S,T))),[u,t]);return(0,p.jsx)(m.FormGroup,{disabled:l,helperText:F,label:k,labelFor:r,labelInfo:(x||I["ui:title"]||t.title)&&a?"(required)":null,children:s?(0,p.jsx)(b,{...e}):(0,p.jsx)(m.HTMLSelect,{id:r,fill:!0,className:"bp5-rjsf-selectWrapper",disabled:l,required:a,autoFocus:o,onBlur:_,value:void 0===n?C:n,onFocus:D,onChange:R,"aria-describedby":(0,f.ariaDescribedByIds)(r),options:B})})}},y=g,x=({children:e,key:t})=>(0,p.jsx)("div",{children:e},t),S=({idSchema:e,title:t,uiSchema:r,required:i,schema:n,registry:a})=>{if(!t)return null;const l=(0,f.getUiOptions)(r),s=(0,f.getTemplate)("TitleFieldTemplate",a,l),o=`${e.$id}__title`;return(0,p.jsx)(s,{id:o,title:t,uiSchema:r,required:i,schema:n,registry:a})},j=({idSchema:e,description:t,uiSchema:r,registry:i,schema:n})=>{if(!t)return null;const a=(0,f.getUiOptions)(r),l=(0,f.getTemplate)("DescriptionFieldTemplate",i,a),s=`${e.$id}__description`;return(0,p.jsx)(l,{id:s,description:t,schema:n,registry:i})},T=e=>(0,p.jsx)("div",{children:(0,p.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,p.jsx)("div",{style:{flex:1},children:e.children}),(0,p.jsx)("div",{children:e.hasToolbar&&(0,p.jsxs)(m.ButtonGroup,{variant:"minimal",style:{verticalAlign:"middle"},children:[(e.hasMoveUp||e.hasMoveDown)&&(0,p.jsx)(m.Button,{icon:"arrow-up",tabIndex:-1,disabled:e.disabled||e.readonly||!e.hasMoveUp,onClick:e.onReorderClick(e.index,e.index-1)}),(e.hasMoveUp||e.hasMoveDown)&&(0,p.jsx)(m.Button,{icon:"arrow-down",tabIndex:-1,disabled:e.disabled||e.readonly||!e.hasMoveDown,onClick:e.onReorderClick(e.index,e.index+1)}),e.hasRemove&&(0,p.jsx)(m.Button,{icon:"trash",tabIndex:-1,disabled:e.disabled||e.readonly,onClick:e.onDropIndexClick(e.index)})]})})]})},e.key),C=({props:e})=>{const t=e.items,r=(0,f.getUiOptions)(e.uiSchema),{title:i}=e,n=r["ui:title"]||i,a=r["ui:description"]||e.schema.description;return(0,p.jsxs)("div",{className:e.className,children:[(0,p.jsx)(S,{idSchema:e.idSchema,title:n,uiSchema:r,required:e.required,schema:e.schema,registry:e.registry}),(r["ui:description"]||e.schema.description)&&(0,p.jsx)("div",{className:"field-description",children:a},`field-description-${e.idSchema.$id}`),(0,p.jsx)("div",{className:"row array-item-list",children:t?.map(T)},`array-item-list-${e.idSchema.$id}`),e.canAdd&&(0,p.jsx)(m.Button,{fill:!0,icon:"plus",className:"array-item-add",onClick:e.onAddClick,disabled:e.disabled||e.readonly,style:{margin:"5px"}})]})},O=({props:e})=>{const t=e.items,r=(0,f.getUiOptions)(e.uiSchema),i=r["ui:title"]||e.title,n=r["ui:description"]||e.schema.description;return(0,p.jsxs)("div",{children:[(0,p.jsx)(S,{idSchema:e.idSchema,title:i,uiSchema:r,required:e.required,schema:e.schema,registry:e.registry}),(r["ui:description"]||e.schema.description)&&(0,p.jsx)(j,{idSchema:e.idSchema,description:n,schema:e.schema,registry:e.registry,uiSchema:r}),(0,p.jsxs)("div",{children:[t?.map(T),e.canAdd&&(0,p.jsx)(m.Button,{fill:!0,icon:"plus",className:"array-item-add",onClick:e.onAddClick,disabled:e.disabled||e.readonly,style:{margin:"5px"}})]},`array-item-list-${e.idSchema.$id}`)]})},I={ObjectFieldTemplate:e=>{const{description:t,disabled:r,formData:i,idSchema:n,onAddClick:a,properties:l,readonly:s,schema:o,title:d,uiSchema:u,registry:c,required:h}=e,v=(0,f.getUiOptions)(u),b=v["ui:title"]||d,g=(0,f.getTemplate)("TitleFieldTemplate",c,v),y=(0,f.getTemplate)("DescriptionFieldTemplate",c,v);return(0,p.jsxs)(m.Card,{style:{marginBottom:20},children:[(v["ui:title"]||d)&&(0,p.jsx)(g,{id:`${n.$id}-title`,title:b,required:h,schema:o,uiSchema:u,registry:c}),t&&(0,p.jsx)(y,{id:`${n.$id}-description`,description:t,schema:o,uiSchema:u,registry:c}),l.map(((e,t)=>(0,p.jsx)("div",{style:{display:e.hidden?"none":"block"},children:e.content},t+1))),(0,f.canExpand)(o,u,i)?(0,p.jsx)(m.Button,{fill:!0,icon:"plus",onClick:a(o),disabled:r||s,className:"object-property-expand",style:{margin:"5px"}}):null]})},FieldTemplate:e=>{const{children:t,errors:r,help:i,registry:n,uiSchema:a}=e,l=(0,f.getUiOptions)(a),s=(0,f.getTemplate)("WrapIfAdditionalTemplate",n,l);return(0,p.jsxs)(s,{...e,children:[t,r,i]})},ErrorListTemplate:({errors:e,registry:t})=>{const{translateString:r}=t;return(0,p.jsx)(m.Callout,{title:r(f.TranslatableString.ErrorsLabel),intent:m.Intent.DANGER,style:{marginBottom:10},children:e.map(((e,t)=>(0,p.jsx)(x,{children:e.stack},t+1)))})},ArrayFieldTemplate:e=>{let{schema:t,registry:r}=e;return r||(r=(0,d.getDefaultRegistry)()),r.schemaUtils.isMultiSelect(t)?(0,p.jsx)(C,{props:e}):(0,p.jsx)(O,{props:e})},TitleFieldTemplate:e=>{const{id:t,title:r,uiSchema:i,required:n}=e;return(0,p.jsxs)(m.H5,{id:t,children:[i&&i["ui:title"]||r,n&&(0,p.jsx)("span",{className:"bp5-intent-danger",children:" *"})]})},DescriptionFieldTemplate:e=>{const{id:t,description:r}=e;return r?(0,p.jsx)(m.Callout,{id:t,style:{marginBottom:"1em"},children:r}):null},WrapIfAdditionalTemplate:e=>{const{children:t,id:r,disabled:i,label:n,onKeyChange:a,onDropPropertyClick:l,readonly:s,required:o,schema:d,classNames:u,style:c}=e;return f.ADDITIONAL_PROPERTY_FLAG in d?(0,p.jsxs)(m.Card,{style:{display:"flex",alignItems:"center",gap:"5px",marginBottom:"5px"},children:[(0,p.jsxs)("div",{style:{flex:1},children:[(0,p.jsx)(m.FormGroup,{children:(0,p.jsx)(m.InputGroup,{required:o,disabled:i||s,id:`${r}-key`,onBlur:s?void 0:({target:e})=>a(e.value),defaultValue:n,size:"small"})}),h.default.Children.toArray(t)]}),(0,p.jsx)("div",{style:{alignSelf:"center"},children:(0,p.jsx)(m.Button,{intent:"danger",variant:"minimal",icon:"remove",tabIndex:-1,disabled:i||s,onClick:l(n)})})]}):(0,p.jsx)("div",{className:u,style:c,children:h.default.Children.toArray(t)})},ButtonTemplates:{SubmitButton:e=>{const{uiSchema:t}=e,{norender:r,submitText:i,props:n}=(0,f.getSubmitButtonOptions)(t);return(0,p.jsx)("div",{children:!r&&(0,p.jsx)(m.Button,{type:"submit",...n,children:i})})}}},F=I;var k=s(72),A=s.n(k),B=s(825),D=s.n(B),_=s(659),R=s.n(_),q=s(56),N=s.n(q),w=s(540),M=s.n(w),V=s(113),U=s.n(V),E=s(16),P={};P.styleTagTransform=U(),P.setAttributes=N(),P.insert=R().bind(null,"head"),P.domAPI=D(),P.insertStyleElement=M(),A()(E.A,P),E.A&&E.A.locals&&E.A.locals;const{fields:G,widgets:L}=(0,d.getDefaultRegistry)(),$={widgets:{...L,...y},fields:{...G},templates:F};var W=o.p;export{W as Bp5Theme};