tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 6.21 kB
Source Map (JSON)
{"version":3,"file":"color-picker.mjs","sources":["../../../components/color-picker/color-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs } from 'vue';\nimport useVModel from '../hooks/useVModel';\nimport { useTNodeDefault } from '../hooks/tnode';\nimport props from './props';\nimport { Popup as TPopup } from '../popup';\nimport ColorPanel from './components/panel';\nimport DefaultTrigger from './components/trigger';\nimport { TdColorContext } from './types';\nimport { useBaseClassName } from './hooks';\n\nexport default defineComponent({\n name: 'TColorPicker',\n props,\n setup(props) {\n const baseClassName = useBaseClassName();\n const renderTNodeJSXDefault = useTNodeDefault();\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 const popProps = {\n placement: 'bottom-left',\n ...((props.popupProps as any) || {}),\n trigger: 'click',\n attach: 'body',\n overlayClassName: [baseClassName.value],\n visible: visible.value,\n overlayInnerStyle: {\n padding: 0,\n },\n onVisibleChange: (\n visible: boolean,\n context: {\n trigger: string;\n },\n ) => {\n if (context.trigger === 'document') {\n setVisible(false);\n }\n },\n };\n return (\n <TPopup {...popProps} content={renderPopupContent}>\n <div class={`${baseClassName.value}__trigger`} onClick={() => setVisible(!visible.value)} ref={refTrigger}>\n {renderTNodeJSXDefault(\n 'default',\n <DefaultTrigger\n borderless={props.borderless}\n color={innerValue.value}\n disabled={props.disabled}\n clearable={props.clearable}\n input-props={props.inputProps}\n onTriggerChange={setInnerValue}\n size={props.size}\n />,\n )}\n </div>\n </TPopup>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","baseClassName","useBaseClassName","renderTNodeJSXDefault","useTNodeDefault","visible","ref","setVisible","value","_toRefs","toRefs","inputValue","modelValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","refTrigger","renderPopupContent","disabled","newProps","_objectSpread","_createVNode","ColorPanel","_mergeProps","context","popProps","placement","popupProps","trigger","attach","overlayClassName","overlayInnerStyle","padding","onVisibleChange","TPopup","_default","concat","onClick","DefaultTrigger","borderless","clearable","inputProps","size"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,mBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,cAAA;AACNC,EAAAA,KAAA,EAAAA,KAAA;AACAC,EAAAA,OAAAA,SAAAA,MAAMD,MAAO,EAAA;AACX,IAAA,IAAME,gBAAgBC,gBAAiB,EAAA,CAAA;AACvC,IAAA,IAAMC,wBAAwBC,eAAgB,EAAA,CAAA;AACxC,IAAA,IAAAC,OAAA,GAAUC,IAAI,KAAK,CAAA,CAAA;AACzB,IAAA,IAAMC,UAAa,GAAA,SAAbA,UAAaA,CAACC,KAAoB,EAAA;AAAA,MAAA,OAAAH,OAAA,CAAQG,KAAQ,GAAAA,KAAA,CAAA;AAAA,KAAA,CAAA;AAExD,IAAA,IAAAC,OAAA,GAA0CC,OAAOX,MAAK,CAAA;MAAvCY,UAAA,GAAAF,OAAA,CAAPD,KAAO;MAAYI,UAAW,GAAAH,OAAA,CAAXG,UAAW,CAAA;AAChC,IAAA,IAAAC,UAAA,GAA8BC,SAAA,CAAUH,YAAYC,UAAYb,EAAAA,MAAAA,CAAMgB,YAAchB,EAAAA,MAAAA,CAAMiB,QAAQ,CAAA;MAAAC,WAAA,GAAAC,cAAA,CAAAL,UAAA,EAAA,CAAA,CAAA;AAAjGM,MAAAA,UAAY,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAAG,MAAAA,aAAa,GAAAH,WAAA,CAAA,CAAA,CAAA,CAAA;AAEhC,IAAA,IAAMI,aAAaf,GAAiB,EAAA,CAAA;AAEpC,IAAA,IAAMgB,qBAAqB,SAArBA,qBAA2B;MAC/B,IAAIvB,OAAMwB,QAAU,EAAA;AACX,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AACM,MAAA,IAAAC,QAAA,GAAAC,aAAA,CAAA,EAAA,EAAgB1B,MAAM,CAAA,CAAA;MAC5B,OAAOyB,QAAS,CAAAR,QAAA,CAAA;AAChB,MAAA,OAAAU,WAAA,CAAAC,UAAA,EAAAC,UAAA,CAEQJ,QAAA,EAAA;QAAA,UACMzB,EAAAA,MAAM,CAAAwB,QAAA;QAAA,OACTJ,EAAAA,UAAW,CAAAX,KAAA;AAAA,QAAA,aAAA,EACLD,UAAA;AAAA,QAAA,UAAA,EACH,SAAAS,QAAAA,CAACR,KAAA,EAAeqB;iBAA4BT,aAAc,CAAAZ,KAAA,EAAOqB,OAAO,CACpF,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,EAAA,IAAA,CAAA,CAAA;KAEJ,CAAA;AAEA,IAAA,OAAO,YAAM;AACX,MAAA,IAAMC,QAAW,GAAAL,aAAA,CAAAA,aAAA,CAAA;AACfM,QAAAA,SAAW,EAAA,aAAA;AAAA,OAAA,EACNhC,MAAM,CAAAiC,UAAA,IAAsB,EAAC,CAAA,EAAA,EAAA,EAAA;AAClCC,QAAAA,OAAS,EAAA,OAAA;AACTC,QAAAA,MAAQ,EAAA,MAAA;AACRC,QAAAA,gBAAA,EAAkB,CAAClC,aAAA,CAAcO,KAAK,CAAA;QACtCH,SAASA,OAAQ,CAAAG,KAAA;AACjB4B,QAAAA,iBAAmB,EAAA;AACjBC,UAAAA,OAAS,EAAA,CAAA;SACX;AACAC,QAAAA,eAAA,EAAiB,SAAjBA,eAAAA,CACEjC,QAAAA,EACAwB,OAGG,EAAA;AACC,UAAA,IAAAA,OAAA,CAAQI,YAAY,UAAY,EAAA;YAClC1B,UAAA,CAAW,KAAK,CAAA,CAAA;AAClB,WAAA;AACF,SAAA;OACF,CAAA,CAAA;AACA,MAAA,OAAAmB,WAAA,CAAAa,KAAA,EAAAX,UAAA,CACcE,QAAA,EAAA;QAAA,SAAmBR,EAAAA,kBAAAA;AAC7B,OAAA,CAAA,EAAA;AAAA,QAAA,SAAA,EAAA,SAAAkB,QAAA,GAAA;AAAA,UAAA,OAAA,CAAAd,WAAA,CAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,EAAA,CAAAe,MAAA,CAAexC,cAAcO,KAAkB,EAAA,WAAA,CAAA;AAAA,YAAA,SAAA,EAAS,SAAAkC,OAAA,GAAA;AAAA,cAAA,OAAMnC,UAAW,CAAA,CAACF,QAAQG,KAAK,CAAA,CAAA;AAAA,aAAA;YAAA,KAAQa,EAAAA,UAAAA;AAC5F,WAAA,EAAA,CAAAlB,qBAAA,CACC,SAAA,EAAAuB,WAAA,CAAAiB,cAAA,EAAA;YAAA,YAEc5C,EAAAA,MAAAA,CAAM6C;mBACXzB,EAAAA,UAAA,CAAWX;sBACRT,EAAAA,MAAAA,CAAMwB;uBACLxB,EAAAA,MAAAA,CAAM8C;yBACJ9C,EAAAA,MAAAA,CAAM+C;+BACF1B,aAAA;AAAA,YAAA,MAAA,EACXrB,MAAAA,CAAMgD,IAAAA;AACd,WAAA,EAAA,IAAA,CACF,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;KAIR,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}