xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 5.31 kB
Source Map (JSON)
{"version":3,"file":"color-picker.mjs","sources":["../../src/color-picker/color-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs } from 'vue';\nimport useVModel from '../hooks/useVModel';\nimport { renderTNodeJSXDefault } from '../utils/render-tnode';\nimport props from './props';\nimport { Popup as TPopup } from '../popup';\nimport ColorPanel from './panel';\nimport DefaultTrigger from './trigger';\nimport { TdColorContext } from './interfaces';\nimport { useBaseClassName } from './hooks';\n\nexport default defineComponent({\n name: 'XColorPicker',\n props: {\n ...props,\n },\n setup(props) {\n const baseClassName = useBaseClassName();\n const visible = ref(false);\n const setVisible = (value: boolean) => (visible.value = value);\n\n const { value: inputValue, modelValue } = toRefs(props);\n const [innerValue, setInnerValue] = useVModel(inputValue, modelValue, props.defaultValue, props.onChange);\n\n const refTrigger = ref<HTMLElement>();\n\n const renderPopupContent = () => {\n if (props.disabled) {\n return null;\n }\n const newProps = { ...props };\n delete newProps.onChange;\n return (\n <ColorPanel\n {...newProps}\n disabled={props.disabled}\n value={innerValue.value}\n togglePopup={setVisible}\n onChange={(value: string, context: TdColorContext) => setInnerValue(value, context)}\n />\n );\n };\n\n return {\n baseClassName,\n innerValue,\n visible,\n refTrigger,\n renderPopupContent,\n setVisible,\n setInnerValue,\n };\n },\n render() {\n const { popupProps, baseClassName } = this;\n const popProps = {\n placement: 'bottom-left',\n ...((popupProps as any) || {}),\n trigger: 'click',\n attach: 'body',\n overlayClassName: [baseClassName],\n visible: this.visible,\n overlayInnerStyle: {\n padding: 0,\n },\n onVisibleChange: (\n visible: boolean,\n context: {\n trigger: string;\n },\n ) => {\n if (context.trigger === 'document') {\n this.setVisible(false);\n }\n },\n };\n return (\n <TPopup {...popProps} content={this.renderPopupContent}>\n <div class={`${baseClassName}__trigger`} onClick={() => this.setVisible(!this.visible)} ref=\"refTrigger\">\n {renderTNodeJSXDefault(\n this,\n 'default',\n <DefaultTrigger\n color={this.innerValue}\n disabled={this.disabled}\n clearable={this.clearable}\n input-props={this.inputProps}\n onTriggerChange={this.setInnerValue}\n size={this.size}\n />,\n )}\n </div>\n </TPopup>\n );\n },\n});\n"],"names":["name","props","innerValue","setInnerValue","_createVNode","_mergeProps","baseClassName","visible","refTrigger","renderPopupContent","setVisible","placement","trigger","attach","overlayInnerStyle","padding","onVisibleChange","_this","TPopup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,mBAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,cAAAA;AACAC,EAAAA,KAAAA,EAAAA,aAAAA,CAAAA,EAAAA,EAAAA,KAAAA,CAAAA;;AAIE,IAAA,IAAA,aAAA,GAAA,gBAAA,EAAA,CAAA;AACM,IAAA,IAAA,OAAA,GAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AACN,IAAA,IAAA,UAAA,GAAA,SAAA,UAAA,CAAA,KAAA,EAAA;AAAwC,MAAA,OAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAgB,KAAA,CAAA;AAExD,IAAA,IAAA,OAAA,GAAA,MAAA,CAAA,MAAA,CAAA;;;AACM,IAAA,IAAA,UAAA,GAAA,SAAA,CAAA,UAAA,EAAA,UAAA,EAAA,MAAA,CAAA,YAAA,EAAA,MAAA,CAAA,QAAA,CAAA;;AAACC,MAAAA,UAAAA,GAAAA,WAAAA,CAAAA,CAAAA,CAAAA;AAAYC,MAAAA,aAAAA,GAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAEnB,IAAA,IAAA,UAAA,GAAA,GAAA,EAAA,CAAA;AAEA,IAAA,IAAA,kBAAA,GAAA,SAAA,kBAAA,GAAA;;AAEW,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AACM,MAAA,IAAA,QAAA,GAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA;;AAEN,MAAA,OAAAC,WAAA,CAAA,UAAA,EAAAC,UAAA,CAAA,QAAA,EAAA;;;AAIsB,QAAA,aAAA,EAAA,UAAA;AACL,QAAA,UAAA,EAAA,SAAA,QAAA,CAAA,KAAA,EAAA,OAAA,EAAA;;AAEf,SAAA;AAAA,OAAA,CAAA,EAAA,IAAA,CAAA,CAAA;;;AAKFC,MAAAA,aAAAA,EAAAA,aAAAA;AACAJ,MAAAA,UAAAA,EAAAA,UAAAA;AACAK,MAAAA,OAAAA,EAAAA,OAAAA;AACAC,MAAAA,UAAAA,EAAAA,UAAAA;AACAC,MAAAA,kBAAAA,EAAAA,kBAAAA;AACAC,MAAAA,UAAAA,EAAAA,UAAAA;AACAP,MAAAA,aAAAA,EAAAA,aAAAA;;;;AAGK,IAAA,IAAA,KAAA,GAAA,IAAA,CAAA;AACD,IAAA,IAAA,UAAA,GAAA,IAAA,CAAA,UAAA;;AACN,IAAA,IAAA,QAAA,GAAA,aAAA,CAAA,aAAA,CAAA;AACEQ,MAAAA,SAAAA,EAAAA,aAAAA;;AAEAC,MAAAA,OAAAA,EAAAA,OAAAA;AACAC,MAAAA,MAAAA,EAAAA,MAAAA;;;AAGAC,MAAAA,iBAAAA,EAAAA;AACEC,QAAAA,OAAAA,EAAAA,CAAAA;;AAEFC,MAAAA,eAAAA,EAAAA,SAAAA,eAAAA,CAAAA,OAAAA,EAAAA,OAAAA,EAAAA;AAMM,QAAA,IAAA,OAAA,CAAA,OAAA,KAAA,UAAA,EAAA;AACFC,UAAAA,KAAAA,CAAAA,UAAAA,CAAAA,KAAAA,CAAAA,CAAAA;AACF,SAAA;AACF,OAAA;;AAGA,IAAA,OAAAb,WAAA,CAAAc,KAAA,EAAAb,UAAA,CAAA,QAAA,EAAA;AAAsB,MAAA,SAAA,EAAA,IAAA,CAAA,kBAAA;AACpB,KAAA,CAAA,EAAA;AAAA,MAAA,SAAA,EAAA,SAAA,QAAA,GAAA;AAAA,QAAA,OAAA,CAAAD,WAAA,CAAA,KAAA,EAAA;;;;AAAqF,WAAA;;;;;;;;AAU/E,UAAA,MAAA,EAAA,KAAA,CAAA,IAAA;AACF,SAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,OAAA;AAAA,KAAA,CAAA,CAAA;AAIR,GAAA;AACF,CAAA,CAAA;;;;"}