yuyeon 0.0.43 → 0.0.44
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.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +2389 -2309
- package/dist/yuyeon.umd.cjs +6 -6
- package/lib/components/badge/YBadge.mjs +66 -4
- package/lib/components/badge/YBadge.mjs.map +1 -1
- package/lib/components/badge/YBadge.scss +76 -0
- package/lib/components/button/YButton.mjs +2 -2
- package/lib/components/button/YButton.mjs.map +1 -1
- package/lib/components/card/YCard.mjs +5 -3
- package/lib/components/card/YCard.mjs.map +1 -1
- package/lib/components/card/YCard.scss +7 -0
- package/lib/components/card/YCardBody.mjs +2 -2
- package/lib/components/card/YCardBody.mjs.map +1 -1
- package/lib/components/card/YCardFooter.mjs +2 -2
- package/lib/components/card/YCardFooter.mjs.map +1 -1
- package/lib/components/card/YCardHeader.mjs +2 -2
- package/lib/components/card/YCardHeader.mjs.map +1 -1
- package/lib/components/card/index.mjs +4 -5
- package/lib/components/card/index.mjs.map +1 -1
- package/lib/components/checkbox/YCheckbox.mjs +1 -1
- package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/index.mjs +1 -2
- package/lib/components/checkbox/index.mjs.map +1 -1
- package/lib/components/chip/YChip.mjs +2 -2
- package/lib/components/chip/YChip.mjs.map +1 -1
- package/lib/components/chip/index.mjs +1 -2
- package/lib/components/chip/index.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/form/YForm.mjs +2 -2
- package/lib/components/form/YForm.mjs.map +1 -1
- package/lib/components/form/index.mjs +1 -3
- package/lib/components/form/index.mjs.map +1 -1
- package/lib/components/index.mjs +1 -0
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
- package/lib/components/menu/YMenu.mjs +4 -4
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/pagination/YPagination.mjs.map +1 -1
- package/lib/components/panel/YDividePanel.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.mjs +3 -2
- package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.scss +6 -2
- package/lib/components/select/YSelect.mjs +10 -6
- package/lib/components/select/YSelect.mjs.map +1 -1
- package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
- package/lib/components/switch/YSwitch.mjs.map +1 -1
- package/lib/components/tab/YTab.mjs.map +1 -1
- package/lib/components/table/YDataTableCell.mjs.map +1 -1
- package/lib/components/table/YDataTableHead.mjs.map +1 -1
- package/lib/components/table/YDataTableRow.mjs.map +1 -1
- package/lib/components/table/YTable.mjs.map +1 -1
- package/lib/components/table/types/index.mjs.map +1 -1
- package/lib/components/text-highlighter/YTextHighlighter.mjs +1 -1
- package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
- package/lib/components/text-highlighter/index.mjs +1 -2
- package/lib/components/text-highlighter/index.mjs.map +1 -1
- package/lib/components/tooltip/YTooltip.mjs.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.mjs +1 -1
- package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
- package/lib/composables/i18n/index.mjs.map +1 -1
- package/lib/locales/en.mjs +2 -1
- package/lib/locales/en.mjs.map +1 -1
- package/lib/locales/ko.mjs +2 -1
- package/lib/locales/ko.mjs.map +1 -1
- package/package.json +1 -1
- package/types/components/badge/YBadge.d.ts +141 -0
- package/types/components/badge/index.d.ts +1 -0
- package/types/components/card/YCard.d.ts +2 -2
- package/types/components/card/YCardBody.d.ts +2 -2
- package/types/components/card/YCardFooter.d.ts +2 -2
- package/types/components/card/YCardHeader.d.ts +2 -2
- package/types/components/card/index.d.ts +4 -5
- package/types/components/checkbox/YCheckbox.d.ts +2 -2
- package/types/components/checkbox/index.d.ts +1 -2
- package/types/components/chip/YChip.d.ts +2 -2
- package/types/components/chip/index.d.ts +1 -2
- package/types/components/form/YForm.d.ts +2 -2
- package/types/components/form/index.d.ts +1 -3
- package/types/components/index.d.ts +1 -0
- package/types/components/loading/YSpinnerRing.d.ts +1 -0
- package/types/components/menu/YMenu.d.ts +15 -0
- package/types/components/pagination/YPagination.d.ts +1 -0
- package/types/components/panel/YDividePanel.d.ts +1 -0
- package/types/components/progress-bar/YProgressBar.d.ts +1 -0
- package/types/components/select/YSelect.d.ts +1 -0
- package/types/components/snackbar/YSnackbar.d.ts +1 -0
- package/types/components/switch/YSwitch.d.ts +1 -0
- package/types/components/tab/YTab.d.ts +1 -0
- package/types/components/table/YTable.d.ts +1 -0
- package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -2
- package/types/components/tooltip/YTooltip.d.ts +1 -0
- package/types/locales/en.d.ts +1 -0
- package/types/shims.d.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSwitch.mjs","names":["defineComponent","withModifiers","uidCounter","YSwitch","name","model","prop","event","props","input","type","Boolean","Array","default","value","String","Number","Object","max","loading","disabled","stickOut","stateLabel","color","labelOn","labelOff","data","innerValue","counterId","focused","created","iid","toString","isArray","inputByValue","computed","isMultipleInput","multipleInputIndex","findIndex","inp","inputId","id","trackStyles","backgroundColor","classes","methods","found","find","undefined","changeMultipleInput","checked","multipleInput","slice","length","$emit","nextChange","push","splice","$nextTick","onClick","$event","changeInput","onFocus","onBlur","onKeydown","onChange","$checkbox","target","watch","render","$slots","_createVNode","label"],"sources":["../../../src/components/switch/YSwitch.tsx"],"sourcesContent":["import { PropType, defineComponent, withModifiers } from 'vue';\r\n\r\nimport './YSwitch.scss';\r\n\r\nlet uidCounter = 0;\r\n\r\nexport const YSwitch = defineComponent({\r\n name: 'YSwitch',\r\n model: {\r\n prop: 'input',\r\n event: 'change',\r\n },\r\n props: {\r\n input: {\r\n type: [Boolean, Array] as PropType<boolean | any[]>,\r\n default: false,\r\n },\r\n value: {\r\n type: [String, Number, Object] as PropType<any>,\r\n },\r\n max: {\r\n type: Number,\r\n },\r\n loading: {\r\n type: Boolean,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n },\r\n stickOut: {\r\n type: Boolean,\r\n },\r\n stateLabel: {\r\n type: Boolean,\r\n },\r\n color: {\r\n type: String,\r\n },\r\n labelOn: {\r\n type: String,\r\n default: 'ON',\r\n },\r\n labelOff: {\r\n type: String,\r\n default: 'OFF',\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: false,\r\n counterId: '',\r\n focused: false,\r\n };\r\n },\r\n created() {\r\n const iid = uidCounter.toString();\r\n uidCounter += 1;\r\n this.counterId = iid;\r\n if (Array.isArray(this.input)) {\r\n this.inputByValue();\r\n } else {\r\n this.innerValue = this.input;\r\n }\r\n },\r\n computed: {\r\n isMultipleInput() {\r\n return Array.isArray(this.input);\r\n },\r\n multipleInputIndex() {\r\n if (!Array.isArray(this.input)) {\r\n return -1;\r\n }\r\n return this.input.findIndex((inp) => {\r\n return inp === this.value;\r\n });\r\n },\r\n inputId() {\r\n const id = this.counterId;\r\n return `y-switch--${id}`;\r\n },\r\n trackStyles() {\r\n return {\r\n backgroundColor: this.color,\r\n };\r\n },\r\n classes() {\r\n return {\r\n 'y-switch--disabled': this.disabled,\r\n 'y-switch--loading': this.loading,\r\n 'y-switch--active': this.innerValue,\r\n 'y-switch--stick-out': this.stickOut,\r\n 'y-switch--focused': this.focused,\r\n };\r\n },\r\n },\r\n methods: {\r\n inputByValue() {\r\n if (Array.isArray(this.input)) {\r\n const found = this.input.find((inp: any) => {\r\n return inp === this.value;\r\n });\r\n\r\n if (found !== undefined) {\r\n this.innerValue = true;\r\n } else {\r\n this.innerValue = false;\r\n }\r\n } else if (typeof this.input === 'boolean') {\r\n this.innerValue = this.input;\r\n }\r\n },\r\n changeMultipleInput(checked: boolean) {\r\n if (Array.isArray(this.input)) {\r\n const multipleInput = this.input.slice();\r\n if (\r\n checked &&\r\n this.max !== undefined &&\r\n multipleInput.length >= this.max\r\n ) {\r\n this.$emit('overmax');\r\n this.nextChange(false, multipleInput);\r\n return;\r\n }\r\n if (checked && this.multipleInputIndex < 0) {\r\n multipleInput.push(this.value);\r\n } else if (this.multipleInputIndex > -1) {\r\n multipleInput.splice(this.multipleInputIndex, 1);\r\n }\r\n this.$emit('change', multipleInput);\r\n }\r\n },\r\n nextChange(checked: boolean, value: any) {\r\n this.$nextTick(() => {\r\n this.innerValue = checked;\r\n });\r\n },\r\n onClick($event: Event) {\r\n if (this.disabled || this.loading) return;\r\n this.changeInput(!this.innerValue, $event);\r\n },\r\n onFocus() {\r\n this.focused = true;\r\n },\r\n onBlur() {\r\n this.focused = false;\r\n },\r\n onKeydown($event: KeyboardEvent) {\r\n // nothing\r\n },\r\n onChange($event: Event) {\r\n const $checkbox = $event.target as HTMLInputElement;\r\n const { checked } = $checkbox;\r\n this.changeInput(checked, $event);\r\n },\r\n changeInput(checked: boolean, event?: Event) {\r\n this.innerValue = checked;\r\n if (this.isMultipleInput) {\r\n this.changeMultipleInput(checked);\r\n } else {\r\n this.$emit('change', checked);\r\n }\r\n },\r\n },\r\n watch: {\r\n input() {\r\n this.inputByValue();\r\n },\r\n },\r\n render() {\r\n const {\r\n $slots,\r\n classes,\r\n onClick,\r\n onKeydown,\r\n onFocus,\r\n onBlur,\r\n onChange,\r\n inputId,\r\n innerValue,\r\n disabled,\r\n trackStyles,\r\n stateLabel,\r\n labelOn,\r\n labelOff,\r\n loading,\r\n } = this;\r\n return (\r\n <div class={{ 'y-switch': true, ...classes }}>\r\n <div class=\"y-switch__slot\">\r\n <div\r\n class=\"y-switch__input\"\r\n onClick={withModifiers(onClick, ['capture'])}\r\n onKeydown={onKeydown}\r\n >\r\n <input\r\n id={inputId}\r\n aria-checked={innerValue}\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n onChange={onChange}\r\n disabled={disabled}\r\n checked={innerValue}\r\n ref=\"checkbox\"\r\n />\r\n <div class=\"y-switch__track\" style={trackStyles}>\r\n {stateLabel && (\r\n <div class=\"y-switch__state\">\r\n <span class=\"y-switch__state-label y-switch__state-label--on\">\r\n {{ labelOn }}\r\n </span>\r\n <span class=\"y-switch__state-label y-switch__state-label--off\">\r\n {{ labelOff }}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"y-switch__thumb\">\r\n {loading && <div class=\"y-switch__spinner\"></div>}\r\n </div>\r\n </div>\r\n <label for={inputId} class=\"y-switch__label\">\r\n {$slots.label?.()}\r\n <input hidden />\r\n </label>\r\n </div>\r\n </div>\r\n );\r\n },\r\n});\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YSwitch.mjs","names":["defineComponent","withModifiers","uidCounter","YSwitch","name","model","prop","event","props","input","type","Boolean","Array","default","value","String","Number","Object","max","loading","disabled","stickOut","stateLabel","color","labelOn","labelOff","data","innerValue","counterId","focused","created","iid","toString","isArray","inputByValue","computed","isMultipleInput","multipleInputIndex","findIndex","inp","inputId","id","trackStyles","backgroundColor","classes","methods","found","find","undefined","changeMultipleInput","checked","multipleInput","slice","length","$emit","nextChange","push","splice","$nextTick","onClick","$event","changeInput","onFocus","onBlur","onKeydown","onChange","$checkbox","target","watch","render","$slots","_createVNode","label"],"sources":["../../../src/components/switch/YSwitch.tsx"],"sourcesContent":["import { PropType, defineComponent, withModifiers } from 'vue';\r\n\r\nimport './YSwitch.scss';\r\n\r\nlet uidCounter = 0;\r\n\r\nexport const YSwitch = defineComponent({\r\n name: 'YSwitch',\r\n model: {\r\n prop: 'input',\r\n event: 'change',\r\n },\r\n props: {\r\n input: {\r\n type: [Boolean, Array] as PropType<boolean | any[]>,\r\n default: false,\r\n },\r\n value: {\r\n type: [String, Number, Object] as PropType<any>,\r\n },\r\n max: {\r\n type: Number,\r\n },\r\n loading: {\r\n type: Boolean,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n },\r\n stickOut: {\r\n type: Boolean,\r\n },\r\n stateLabel: {\r\n type: Boolean,\r\n },\r\n color: {\r\n type: String,\r\n },\r\n labelOn: {\r\n type: String,\r\n default: 'ON',\r\n },\r\n labelOff: {\r\n type: String,\r\n default: 'OFF',\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: false,\r\n counterId: '',\r\n focused: false,\r\n };\r\n },\r\n created() {\r\n const iid = uidCounter.toString();\r\n uidCounter += 1;\r\n this.counterId = iid;\r\n if (Array.isArray(this.input)) {\r\n this.inputByValue();\r\n } else {\r\n this.innerValue = this.input;\r\n }\r\n },\r\n computed: {\r\n isMultipleInput() {\r\n return Array.isArray(this.input);\r\n },\r\n multipleInputIndex() {\r\n if (!Array.isArray(this.input)) {\r\n return -1;\r\n }\r\n return this.input.findIndex((inp) => {\r\n return inp === this.value;\r\n });\r\n },\r\n inputId() {\r\n const id = this.counterId;\r\n return `y-switch--${id}`;\r\n },\r\n trackStyles() {\r\n return {\r\n backgroundColor: this.color,\r\n };\r\n },\r\n classes() {\r\n return {\r\n 'y-switch--disabled': this.disabled,\r\n 'y-switch--loading': this.loading,\r\n 'y-switch--active': this.innerValue,\r\n 'y-switch--stick-out': this.stickOut,\r\n 'y-switch--focused': this.focused,\r\n };\r\n },\r\n },\r\n methods: {\r\n inputByValue() {\r\n if (Array.isArray(this.input)) {\r\n const found = this.input.find((inp: any) => {\r\n return inp === this.value;\r\n });\r\n\r\n if (found !== undefined) {\r\n this.innerValue = true;\r\n } else {\r\n this.innerValue = false;\r\n }\r\n } else if (typeof this.input === 'boolean') {\r\n this.innerValue = this.input;\r\n }\r\n },\r\n changeMultipleInput(checked: boolean) {\r\n if (Array.isArray(this.input)) {\r\n const multipleInput = this.input.slice();\r\n if (\r\n checked &&\r\n this.max !== undefined &&\r\n multipleInput.length >= this.max\r\n ) {\r\n this.$emit('overmax');\r\n this.nextChange(false, multipleInput);\r\n return;\r\n }\r\n if (checked && this.multipleInputIndex < 0) {\r\n multipleInput.push(this.value);\r\n } else if (this.multipleInputIndex > -1) {\r\n multipleInput.splice(this.multipleInputIndex, 1);\r\n }\r\n this.$emit('change', multipleInput);\r\n }\r\n },\r\n nextChange(checked: boolean, value: any) {\r\n this.$nextTick(() => {\r\n this.innerValue = checked;\r\n });\r\n },\r\n onClick($event: Event) {\r\n if (this.disabled || this.loading) return;\r\n this.changeInput(!this.innerValue, $event);\r\n },\r\n onFocus() {\r\n this.focused = true;\r\n },\r\n onBlur() {\r\n this.focused = false;\r\n },\r\n onKeydown($event: KeyboardEvent) {\r\n // nothing\r\n },\r\n onChange($event: Event) {\r\n const $checkbox = $event.target as HTMLInputElement;\r\n const { checked } = $checkbox;\r\n this.changeInput(checked, $event);\r\n },\r\n changeInput(checked: boolean, event?: Event) {\r\n this.innerValue = checked;\r\n if (this.isMultipleInput) {\r\n this.changeMultipleInput(checked);\r\n } else {\r\n this.$emit('change', checked);\r\n }\r\n },\r\n },\r\n watch: {\r\n input() {\r\n this.inputByValue();\r\n },\r\n },\r\n render() {\r\n const {\r\n $slots,\r\n classes,\r\n onClick,\r\n onKeydown,\r\n onFocus,\r\n onBlur,\r\n onChange,\r\n inputId,\r\n innerValue,\r\n disabled,\r\n trackStyles,\r\n stateLabel,\r\n labelOn,\r\n labelOff,\r\n loading,\r\n } = this;\r\n return (\r\n <div class={{ 'y-switch': true, ...classes }}>\r\n <div class=\"y-switch__slot\">\r\n <div\r\n class=\"y-switch__input\"\r\n onClick={withModifiers(onClick, ['capture'])}\r\n onKeydown={onKeydown}\r\n >\r\n <input\r\n id={inputId}\r\n aria-checked={innerValue}\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n onChange={onChange}\r\n disabled={disabled}\r\n checked={innerValue}\r\n ref=\"checkbox\"\r\n />\r\n <div class=\"y-switch__track\" style={trackStyles}>\r\n {stateLabel && (\r\n <div class=\"y-switch__state\">\r\n <span class=\"y-switch__state-label y-switch__state-label--on\">\r\n {{ labelOn }}\r\n </span>\r\n <span class=\"y-switch__state-label y-switch__state-label--off\">\r\n {{ labelOff }}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"y-switch__thumb\">\r\n {loading && <div class=\"y-switch__spinner\"></div>}\r\n </div>\r\n </div>\r\n <label for={inputId} class=\"y-switch__label\">\r\n {$slots.label?.()}\r\n <input hidden />\r\n </label>\r\n </div>\r\n </div>\r\n );\r\n },\r\n});\r\n\r\nexport type YSwitch = InstanceType<typeof YSwitch>;\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTab.mjs","names":["shallowRef","computed","defineComponent","ref","useRender","chooseProps","propsFactory","YButton","pressYButtonProps","Y_TABS_KEY","pressYTabPropsOptions","text","String","hideIndicator","Boolean","indicatorColor","selectedClass","noWave","YTab","name","props","slots","Object","setup","_ref","attrs","selected","indicator$","indicatorStyles","attrsProps","role","value","tabindex","onChoice","_ref2","yButtonProps","_createVNode","_Fragment","_mergeProps","default","append"],"sources":["../../../src/components/tab/YTab.tsx"],"sourcesContent":["import { shallowRef } from '@vue/runtime-core';\r\nimport { PropType, SlotsType, computed, defineComponent, ref } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { chooseProps, propsFactory } from '../../util';\r\nimport { YButton, pressYButtonProps } from '../button';\r\nimport { Y_TABS_KEY } from './shared';\r\n\r\nimport './YTab.scss';\r\n\r\nexport const pressYTabPropsOptions = propsFactory(\r\n {\r\n text: String as PropType<string>,\r\n hideIndicator: Boolean as PropType<boolean>,\r\n indicatorColor: String as PropType<string>,\r\n ...pressYButtonProps({\r\n selectedClass: 'y-tab--selected',\r\n noWave: true,\r\n }),\r\n },\r\n 'YTab',\r\n);\r\n\r\nexport const YTab = defineComponent({\r\n name: 'YTab',\r\n props: pressYTabPropsOptions(),\r\n slots: Object as SlotsType<{\r\n default?: any;\r\n }>,\r\n setup(props, { slots, attrs }) {\r\n const selected = shallowRef(false);\r\n\r\n const indicator$ = ref();\r\n const indicatorStyles = computed(() => {\r\n return {};\r\n });\r\n const attrsProps = computed(() => {\r\n return {\r\n role: 'tab',\r\n 'aria-selected': `${String(selected.value)}`,\r\n tabindex: selected.value ? 0 : -1,\r\n };\r\n });\r\n\r\n function onChoice({ value }: { value: boolean }) {\r\n selected.value = value;\r\n }\r\n\r\n useRender(() => {\r\n const yButtonProps = chooseProps(props, YButton.props);\r\n return (\r\n <>\r\n <YButton\r\n class={['y-tab']}\r\n active={false}\r\n {...attrsProps.value}\r\n {...attrs}\r\n {...yButtonProps}\r\n injectSymbol={Y_TABS_KEY}\r\n onChoice:selected={onChoice}\r\n >\r\n {{\r\n default: () => slots.default?.() ?? props.text,\r\n append: () =>\r\n !props.hideIndicator && (\r\n <div\r\n ref={indicator$}\r\n class={['y-tab__indicator']}\r\n style={indicatorStyles.value}\r\n ></div>\r\n ),\r\n }}\r\n </YButton>\r\n </>\r\n );\r\n });\r\n\r\n return {};\r\n },\r\n});\r\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAA8BC,QAAQ,EAAEC,eAAe,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAEjEC,SAAS;AAAA,SACTC,WAAW,EAAEC,YAAY;AAAA,SACzBC,OAAO,EAAEC,iBAAiB;AAAA,SAC1BC,UAAU;AAEnB;AAEA,OAAO,MAAMC,qBAAqB,GAAGJ,YAAY,CAC/C;EACEK,IAAI,EAAEC,MAA0B;EAChCC,aAAa,EAAEC,OAA4B;EAC3CC,cAAc,EAAEH,MAA0B;EAC1C,GAAGJ,iBAAiB,CAAC;IACnBQ,aAAa,EAAE,iBAAiB;IAChCC,MAAM,EAAE;EACV,CAAC;AACH,CAAC,EACD,MACF,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGhB,eAAe,CAAC;EAClCiB,IAAI,EAAE,MAAM;EACZC,KAAK,EAAEV,qBAAqB,CAAC,CAAC;EAC9BW,KAAK,EAAEC,MAEL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEH,KAAK;MAAEI;IAAM,CAAC,GAAAD,IAAA;IAC3B,MAAME,QAAQ,GAAG1B,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM2B,UAAU,GAAGxB,GAAG,CAAC,CAAC;IACxB,MAAMyB,eAAe,GAAG3B,QAAQ,CAAC,MAAM;MACrC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM4B,UAAU,GAAG5B,QAAQ,CAAC,MAAM;MAChC,OAAO;QACL6B,IAAI,EAAE,KAAK;QACX,eAAe,EAAG,GAAElB,MAAM,CAACc,QAAQ,CAACK,KAAK,CAAE,EAAC;QAC5CC,QAAQ,EAAEN,QAAQ,CAACK,KAAK,GAAG,CAAC,GAAG,CAAC;MAClC,CAAC;IACH,CAAC,CAAC;IAEF,SAASE,QAAQA,CAAAC,KAAA,EAAgC;MAAA,IAA/B;QAAEH;MAA0B,CAAC,GAAAG,KAAA;MAC7CR,QAAQ,CAACK,KAAK,GAAGA,KAAK;IACxB;IAEA3B,SAAS,CAAC,MAAM;MACd,MAAM+B,YAAY,GAAG9B,WAAW,CAACe,KAAK,EAAEb,OAAO,CAACa,KAAK,CAAC;MACtD,OAAAgB,YAAA,CAAAC,SAAA,SAAAD,YAAA,CAAA7B,OAAA,EAAA+B,WAAA;QAAA,SAGa,CAAC,OAAO,CAAC;QAAA,UACR;MAAK,GACTT,UAAU,CAACE,KAAK,EAChBN,KAAK,EACLU,YAAY;QAAA,gBACF1B,UAAU;QAAA,qBACLwB;MAAQ;QAGzBM,OAAO,EAAEA,CAAA,KAAMlB,KAAK,CAACkB,OAAO,GAAG,CAAC,IAAInB,KAAK,CAACT,IAAI;QAC9C6B,MAAM,EAAEA,CAAA,KACN,CAACpB,KAAK,CAACP,aAAa,IAAAuB,YAAA;UAAA,OAEXT,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpBC,eAAe,CAACG;QAAK;MAE/B;IAKb,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"YTab.mjs","names":["shallowRef","computed","defineComponent","ref","useRender","chooseProps","propsFactory","YButton","pressYButtonProps","Y_TABS_KEY","pressYTabPropsOptions","text","String","hideIndicator","Boolean","indicatorColor","selectedClass","noWave","YTab","name","props","slots","Object","setup","_ref","attrs","selected","indicator$","indicatorStyles","attrsProps","role","value","tabindex","onChoice","_ref2","yButtonProps","_createVNode","_Fragment","_mergeProps","default","append"],"sources":["../../../src/components/tab/YTab.tsx"],"sourcesContent":["import { shallowRef } from '@vue/runtime-core';\r\nimport { PropType, SlotsType, computed, defineComponent, ref } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { chooseProps, propsFactory } from '../../util';\r\nimport { YButton, pressYButtonProps } from '../button';\r\nimport { Y_TABS_KEY } from './shared';\r\n\r\nimport './YTab.scss';\r\n\r\nexport const pressYTabPropsOptions = propsFactory(\r\n {\r\n text: String as PropType<string>,\r\n hideIndicator: Boolean as PropType<boolean>,\r\n indicatorColor: String as PropType<string>,\r\n ...pressYButtonProps({\r\n selectedClass: 'y-tab--selected',\r\n noWave: true,\r\n }),\r\n },\r\n 'YTab',\r\n);\r\n\r\nexport const YTab = defineComponent({\r\n name: 'YTab',\r\n props: pressYTabPropsOptions(),\r\n slots: Object as SlotsType<{\r\n default?: any;\r\n }>,\r\n setup(props, { slots, attrs }) {\r\n const selected = shallowRef(false);\r\n\r\n const indicator$ = ref();\r\n const indicatorStyles = computed(() => {\r\n return {};\r\n });\r\n const attrsProps = computed(() => {\r\n return {\r\n role: 'tab',\r\n 'aria-selected': `${String(selected.value)}`,\r\n tabindex: selected.value ? 0 : -1,\r\n };\r\n });\r\n\r\n function onChoice({ value }: { value: boolean }) {\r\n selected.value = value;\r\n }\r\n\r\n useRender(() => {\r\n const yButtonProps = chooseProps(props, YButton.props);\r\n return (\r\n <>\r\n <YButton\r\n class={['y-tab']}\r\n active={false}\r\n {...attrsProps.value}\r\n {...attrs}\r\n {...yButtonProps}\r\n injectSymbol={Y_TABS_KEY}\r\n onChoice:selected={onChoice}\r\n >\r\n {{\r\n default: () => slots.default?.() ?? props.text,\r\n append: () =>\r\n !props.hideIndicator && (\r\n <div\r\n ref={indicator$}\r\n class={['y-tab__indicator']}\r\n style={indicatorStyles.value}\r\n ></div>\r\n ),\r\n }}\r\n </YButton>\r\n </>\r\n );\r\n });\r\n\r\n return {};\r\n },\r\n});\r\n\r\nexport type YTab = InstanceType<typeof YTab>;\r\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAA8BC,QAAQ,EAAEC,eAAe,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAEjEC,SAAS;AAAA,SACTC,WAAW,EAAEC,YAAY;AAAA,SACzBC,OAAO,EAAEC,iBAAiB;AAAA,SAC1BC,UAAU;AAEnB;AAEA,OAAO,MAAMC,qBAAqB,GAAGJ,YAAY,CAC/C;EACEK,IAAI,EAAEC,MAA0B;EAChCC,aAAa,EAAEC,OAA4B;EAC3CC,cAAc,EAAEH,MAA0B;EAC1C,GAAGJ,iBAAiB,CAAC;IACnBQ,aAAa,EAAE,iBAAiB;IAChCC,MAAM,EAAE;EACV,CAAC;AACH,CAAC,EACD,MACF,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGhB,eAAe,CAAC;EAClCiB,IAAI,EAAE,MAAM;EACZC,KAAK,EAAEV,qBAAqB,CAAC,CAAC;EAC9BW,KAAK,EAAEC,MAEL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEH,KAAK;MAAEI;IAAM,CAAC,GAAAD,IAAA;IAC3B,MAAME,QAAQ,GAAG1B,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM2B,UAAU,GAAGxB,GAAG,CAAC,CAAC;IACxB,MAAMyB,eAAe,GAAG3B,QAAQ,CAAC,MAAM;MACrC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM4B,UAAU,GAAG5B,QAAQ,CAAC,MAAM;MAChC,OAAO;QACL6B,IAAI,EAAE,KAAK;QACX,eAAe,EAAG,GAAElB,MAAM,CAACc,QAAQ,CAACK,KAAK,CAAE,EAAC;QAC5CC,QAAQ,EAAEN,QAAQ,CAACK,KAAK,GAAG,CAAC,GAAG,CAAC;MAClC,CAAC;IACH,CAAC,CAAC;IAEF,SAASE,QAAQA,CAAAC,KAAA,EAAgC;MAAA,IAA/B;QAAEH;MAA0B,CAAC,GAAAG,KAAA;MAC7CR,QAAQ,CAACK,KAAK,GAAGA,KAAK;IACxB;IAEA3B,SAAS,CAAC,MAAM;MACd,MAAM+B,YAAY,GAAG9B,WAAW,CAACe,KAAK,EAAEb,OAAO,CAACa,KAAK,CAAC;MACtD,OAAAgB,YAAA,CAAAC,SAAA,SAAAD,YAAA,CAAA7B,OAAA,EAAA+B,WAAA;QAAA,SAGa,CAAC,OAAO,CAAC;QAAA,UACR;MAAK,GACTT,UAAU,CAACE,KAAK,EAChBN,KAAK,EACLU,YAAY;QAAA,gBACF1B,UAAU;QAAA,qBACLwB;MAAQ;QAGzBM,OAAO,EAAEA,CAAA,KAAMlB,KAAK,CAACkB,OAAO,GAAG,CAAC,IAAInB,KAAK,CAACT,IAAI;QAC9C6B,MAAM,EAAEA,CAAA,KACN,CAACpB,KAAK,CAACP,aAAa,IAAAuB,YAAA;UAAA,OAEXT,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpBC,eAAe,CAACG;QAAK;MAE/B;IAKb,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDataTableCell.mjs","names":["computed","defineComponent","useRender","toStyleSizeValue","YDataTableCell","name","functional","props","type","String","default","fixed","fixedOffset","Number","width","maxWidth","height","align","emits","setup","_ref","slots","emit","attrs","offsetStyle","ret","undefined","ElTag","_createVNode","_mergeProps","value","e"],"sources":["../../../src/components/table/YDataTableCell.tsx"],"sourcesContent":["import { CSSProperties, PropType, computed, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { toStyleSizeValue } from '../../util/ui';\n\nexport const YDataTableCell = defineComponent({\n name: 'YDataTableCell',\n functional: true,\n props: {\n type: {\n type: String as PropType<'head' | 'data'>,\n default: 'data',\n },\n fixed: {\n type: String as PropType<'lead' | 'trail'>,\n },\n fixedOffset: {\n type: Number as PropType<number>,\n },\n width: {\n type: [Number, String] as PropType<string | number>,\n },\n maxWidth: {\n type: [Number, String] as PropType<string | number>,\n },\n height: {\n type: [Number, String] as PropType<string | number>,\n },\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n },\n emits: ['click'],\n setup(props, { slots, emit, attrs }) {\n const offsetStyle = computed(() => {\n const ret: CSSProperties = {};\n if (props.fixed && props.fixedOffset !== undefined) {\n if (props.fixed === 'lead') {\n ret['left'] = toStyleSizeValue(props.fixedOffset);\n } else if (props.fixed === 'trail') {\n ret['right'] = toStyleSizeValue(props.fixedOffset);\n }\n }\n return ret;\n });\n\n useRender(() => {\n const ElTag = props.type === 'head' ? 'th' : 'td';\n return (\n <ElTag\n class={[\n `y-data-table__${ElTag}`,\n 'y-data-table-cell',\n {\n 'y-data-table-cell--fixed': props.fixed,\n [`y-data-table-cell--fixed-${props.fixed}`]: props.fixed,\n [`y-data-table-cell--align-${props.align}`]: props.align,\n },\n ]}\n style={{\n width: toStyleSizeValue(props.width),\n height: toStyleSizeValue(props.height),\n maxWidth: toStyleSizeValue(props.maxWidth),\n ...offsetStyle.value,\n }}\n {...attrs}\n onClick={(e) => emit('click', e)}\n >\n {slots.default?.()}\n </ElTag>\n );\n });\n },\n});\n\nexport type YDataTableCell = InstanceType<typeof YDataTableCell>;\n"],"mappings":";AAAA,SAAkCA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEhEC,SAAS;AAAA,SACTC,gBAAgB;AAEzB,OAAO,MAAMC,cAAc,GAAGH,eAAe,CAAC;EAC5CI,IAAI,EAAE,gBAAgB;EACtBC,UAAU,EAAE,IAAI;EAChBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAmC;MACzCC,OAAO,EAAE;IACX,CAAC;IACDC,KAAK,EAAE;MACLH,IAAI,EAAEC;IACR,CAAC;IACDG,WAAW,EAAE;MACXJ,IAAI,EAAEK;IACR,CAAC;IACDC,KAAK,EAAE;MACLN,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDM,QAAQ,EAAE;MACRP,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDO,MAAM,EAAE;MACNR,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDQ,KAAK,EAAE;MACLT,IAAI,EAAEC,MAA8C;MACpDC,OAAO,EAAE;IACX;EACF,CAAC;EACDQ,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,KAAKA,CAACZ,KAAK,EAAAa,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IACjC,MAAMI,WAAW,GAAGxB,QAAQ,CAAC,MAAM;MACjC,MAAMyB,GAAkB,GAAG,CAAC,CAAC;MAC7B,IAAIlB,KAAK,CAACI,KAAK,IAAIJ,KAAK,CAACK,WAAW,KAAKc,SAAS,EAAE;QAClD,IAAInB,KAAK,CAACI,KAAK,KAAK,MAAM,EAAE;UAC1Bc,GAAG,CAAC,MAAM,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACnD,CAAC,MAAM,IAAIL,KAAK,CAACI,KAAK,KAAK,OAAO,EAAE;UAClCc,GAAG,CAAC,OAAO,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACpD;MACF;MACA,OAAOa,GAAG;IACZ,CAAC,CAAC;IAEFvB,SAAS,CAAC,MAAM;MACd,MAAMyB,KAAK,GAAGpB,KAAK,CAACC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI;MACjD,OAAAoB,YAAA,CAAAD,KAAA,EAAAE,WAAA;QAAA,SAEW,CACJ,iBAAgBF,KAAM,EAAC,EACxB,mBAAmB,EACnB;UACE,0BAA0B,EAAEpB,KAAK,CAACI,KAAK;UACvC,CAAE,4BAA2BJ,KAAK,CAACI,KAAM,EAAC,GAAGJ,KAAK,CAACI,KAAK;UACxD,CAAE,4BAA2BJ,KAAK,CAACU,KAAM,EAAC,GAAGV,KAAK,CAACU;QACrD,CAAC,CACF;QAAA,SACM;UACLH,KAAK,EAAEX,gBAAgB,CAACI,KAAK,CAACO,KAAK,CAAC;UACpCE,MAAM,EAAEb,gBAAgB,CAACI,KAAK,CAACS,MAAM,CAAC;UACtCD,QAAQ,EAAEZ,gBAAgB,CAACI,KAAK,CAACQ,QAAQ,CAAC;UAC1C,GAAGS,WAAW,CAACM;QACjB;MAAC,GACGP,KAAK;QAAA,WACCQ,CAAC,IAAKT,IAAI,CAAC,OAAO,EAAES,CAAC;MAAC;QAAArB,OAAA,EAAAA,CAAA,MAE/BW,KAAK,CAACX,OAAO,GAAG,CAAC;MAAA;IAGxB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"YDataTableCell.mjs","names":["computed","defineComponent","useRender","toStyleSizeValue","YDataTableCell","name","functional","props","type","String","default","fixed","fixedOffset","Number","width","maxWidth","height","align","emits","setup","_ref","slots","emit","attrs","offsetStyle","ret","undefined","ElTag","_createVNode","_mergeProps","value","e"],"sources":["../../../src/components/table/YDataTableCell.tsx"],"sourcesContent":["import { CSSProperties, PropType, computed, defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { toStyleSizeValue } from '../../util/ui';\r\n\r\nexport const YDataTableCell = defineComponent({\r\n name: 'YDataTableCell',\r\n functional: true,\r\n props: {\r\n type: {\r\n type: String as PropType<'head' | 'data'>,\r\n default: 'data',\r\n },\r\n fixed: {\r\n type: String as PropType<'lead' | 'trail'>,\r\n },\r\n fixedOffset: {\r\n type: Number as PropType<number>,\r\n },\r\n width: {\r\n type: [Number, String] as PropType<string | number>,\r\n },\r\n maxWidth: {\r\n type: [Number, String] as PropType<string | number>,\r\n },\r\n height: {\r\n type: [Number, String] as PropType<string | number>,\r\n },\r\n align: {\r\n type: String as PropType<'start' | 'center' | 'end'>,\r\n default: 'start',\r\n },\r\n },\r\n emits: ['click'],\r\n setup(props, { slots, emit, attrs }) {\r\n const offsetStyle = computed(() => {\r\n const ret: CSSProperties = {};\r\n if (props.fixed && props.fixedOffset !== undefined) {\r\n if (props.fixed === 'lead') {\r\n ret['left'] = toStyleSizeValue(props.fixedOffset);\r\n } else if (props.fixed === 'trail') {\r\n ret['right'] = toStyleSizeValue(props.fixedOffset);\r\n }\r\n }\r\n return ret;\r\n });\r\n\r\n useRender(() => {\r\n const ElTag = props.type === 'head' ? 'th' : 'td';\r\n return (\r\n <ElTag\r\n class={[\r\n `y-data-table__${ElTag}`,\r\n 'y-data-table-cell',\r\n {\r\n 'y-data-table-cell--fixed': props.fixed,\r\n [`y-data-table-cell--fixed-${props.fixed}`]: props.fixed,\r\n [`y-data-table-cell--align-${props.align}`]: props.align,\r\n },\r\n ]}\r\n style={{\r\n width: toStyleSizeValue(props.width),\r\n height: toStyleSizeValue(props.height),\r\n maxWidth: toStyleSizeValue(props.maxWidth),\r\n ...offsetStyle.value,\r\n }}\r\n {...attrs}\r\n onClick={(e) => emit('click', e)}\r\n >\r\n {slots.default?.()}\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableCell = InstanceType<typeof YDataTableCell>;\r\n"],"mappings":";AAAA,SAAkCA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEhEC,SAAS;AAAA,SACTC,gBAAgB;AAEzB,OAAO,MAAMC,cAAc,GAAGH,eAAe,CAAC;EAC5CI,IAAI,EAAE,gBAAgB;EACtBC,UAAU,EAAE,IAAI;EAChBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAmC;MACzCC,OAAO,EAAE;IACX,CAAC;IACDC,KAAK,EAAE;MACLH,IAAI,EAAEC;IACR,CAAC;IACDG,WAAW,EAAE;MACXJ,IAAI,EAAEK;IACR,CAAC;IACDC,KAAK,EAAE;MACLN,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDM,QAAQ,EAAE;MACRP,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDO,MAAM,EAAE;MACNR,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDQ,KAAK,EAAE;MACLT,IAAI,EAAEC,MAA8C;MACpDC,OAAO,EAAE;IACX;EACF,CAAC;EACDQ,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,KAAKA,CAACZ,KAAK,EAAAa,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IACjC,MAAMI,WAAW,GAAGxB,QAAQ,CAAC,MAAM;MACjC,MAAMyB,GAAkB,GAAG,CAAC,CAAC;MAC7B,IAAIlB,KAAK,CAACI,KAAK,IAAIJ,KAAK,CAACK,WAAW,KAAKc,SAAS,EAAE;QAClD,IAAInB,KAAK,CAACI,KAAK,KAAK,MAAM,EAAE;UAC1Bc,GAAG,CAAC,MAAM,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACnD,CAAC,MAAM,IAAIL,KAAK,CAACI,KAAK,KAAK,OAAO,EAAE;UAClCc,GAAG,CAAC,OAAO,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACpD;MACF;MACA,OAAOa,GAAG;IACZ,CAAC,CAAC;IAEFvB,SAAS,CAAC,MAAM;MACd,MAAMyB,KAAK,GAAGpB,KAAK,CAACC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI;MACjD,OAAAoB,YAAA,CAAAD,KAAA,EAAAE,WAAA;QAAA,SAEW,CACJ,iBAAgBF,KAAM,EAAC,EACxB,mBAAmB,EACnB;UACE,0BAA0B,EAAEpB,KAAK,CAACI,KAAK;UACvC,CAAE,4BAA2BJ,KAAK,CAACI,KAAM,EAAC,GAAGJ,KAAK,CAACI,KAAK;UACxD,CAAE,4BAA2BJ,KAAK,CAACU,KAAM,EAAC,GAAGV,KAAK,CAACU;QACrD,CAAC,CACF;QAAA,SACM;UACLH,KAAK,EAAEX,gBAAgB,CAACI,KAAK,CAACO,KAAK,CAAC;UACpCE,MAAM,EAAEb,gBAAgB,CAACI,KAAK,CAACS,MAAM,CAAC;UACtCD,QAAQ,EAAEZ,gBAAgB,CAACI,KAAK,CAACQ,QAAQ,CAAC;UAC1C,GAAGS,WAAW,CAACM;QACjB;MAAC,GACGP,KAAK;QAAA,WACCQ,CAAC,IAAKT,IAAI,CAAC,OAAO,EAAES,CAAC;MAAC;QAAArB,OAAA,EAAAA,CAAA,MAE/BW,KAAK,CAACX,OAAO,GAAG,CAAC;MAAA;IAGxB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDataTableHead.mjs","names":["defineComponent","useRender","toStyleSizeValue","propsFactory","YIconSort","YDataTableCell","useHeader","useSelection","useSorting","YIconCheckbox","pressYDataTableHeadProps","multiSort","Boolean","sortAscIcon","type","String","default","sortDescIcon","dualSortIcon","sticky","YDataTableHead","name","components","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","selectables","columns","headers","getFixedStyles","column","y","fixed","undefined","position","zIndex","left","fixedOffset","top","onClick","e","getSortDirection","found","value","find","by","key","order","YDataTableTh","_ref2","x","_createVNode","_mergeProps","align","lastFixed","sortable","width","minWidth","maxWidth","rowspan","colspan","headerSlotName","headerSlotProps","length","stopPropagation","text","_Fragment","head","map","row"],"sources":["../../../src/components/table/YDataTableHead.tsx"],"sourcesContent":["import { CSSProperties, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { toStyleSizeValue } from '../../util/ui';\nimport { propsFactory } from '../../util/vue-component';\nimport { YIconSort } from '../icons/YIconSort';\nimport { YDataTableCell } from './YDataTableCell';\nimport { useHeader } from './composibles/header';\nimport { useSelection } from './composibles/selection';\nimport { useSorting } from './composibles/sorting';\n\nimport { YIconCheckbox } from '../icons';\nimport { InternalDataTableHeader } from './types';\n\nexport const pressYDataTableHeadProps = propsFactory(\n {\n multiSort: Boolean,\n sortAscIcon: {\n type: String,\n default: '@sortAsc',\n },\n sortDescIcon: {\n type: String,\n default: '@sortDesc',\n },\n dualSortIcon: Boolean,\n sticky: Boolean,\n },\n 'YDataTableHead',\n);\n\nexport const YDataTableHead = defineComponent({\n name: 'YDataTableHead',\n components: {\n YDataTableCell,\n },\n props: {\n ...pressYDataTableHeadProps(),\n },\n setup(props, { slots }) {\n const { toggleSort, sortBy, isSorted } = useSorting();\n const { someSelected, allSelected, selectAll, showSelectAll, selectables } =\n useSelection();\n const { columns, headers } = useHeader();\n\n const getFixedStyles = (\n column: InternalDataTableHeader,\n y: number,\n ): CSSProperties | undefined => {\n if (!props.sticky && !column.fixed) return undefined;\n\n return {\n position: 'sticky',\n zIndex: column.fixed ? 4 : props.sticky ? 3 : undefined,\n left: column.fixed ? toStyleSizeValue(column.fixedOffset) : undefined,\n top: props.sticky\n ? `calc(var(--v-table-header-height) * ${y})`\n : undefined,\n };\n };\n\n function onClick(e: Event) {\n //\n }\n\n function getSortDirection(column: InternalDataTableHeader) {\n const found = sortBy.value.find((by) => by.key === column.key);\n if (!found) {\n return undefined;\n }\n if (found.order === 'asc') {\n return 'asc';\n }\n if (found.order === 'desc') {\n return 'desc';\n }\n }\n\n const YDataTableTh = ({\n column,\n x,\n y,\n }: {\n column: InternalDataTableHeader;\n x: number;\n y: number;\n }) => {\n return (\n <YDataTableCell\n type=\"head\"\n align={column.align}\n fixed={\n column.fixed ? (column.lastFixed ? 'trail' : 'lead') : undefined\n }\n class={[\n 'y-data-table-header',\n {\n 'y-data-table-header--sortable': column.sortable,\n 'y-data-table-header--sorted': isSorted(column),\n 'y-data-table-header--select': column.key === 'data-table-select',\n },\n ]}\n style={{\n width: toStyleSizeValue(column.width),\n minWidth: toStyleSizeValue(column.width),\n maxWidth: toStyleSizeValue(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n {...{ rowspan: column.rowspan, colspan: column.colspan }}\n onClick={onClick}\n >\n {{\n default: () => {\n const headerSlotName = `header.${column.key}` as const;\n const headerSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectables: selectables.value,\n getSortDirection,\n };\n\n if (slots[headerSlotName]) {\n return slots[headerSlotName]?.(headerSlotProps);\n }\n\n if (column.key === 'data-table-select') {\n return (\n slots['header.data-table-select']?.(headerSlotProps) ??\n (showSelectAll && (\n <YIconCheckbox\n checked={allSelected.value}\n indeterminate={!allSelected.value && someSelected.value}\n disabled={selectables.value.length < 1}\n {...{\n onClick: (e: MouseEvent) => {\n e.stopPropagation();\n selectAll(!allSelected.value);\n },\n }}\n ></YIconCheckbox>\n ))\n );\n }\n\n return (\n <div class=\"y-data-table-header__content\">\n <span class=\"y-data-table-header__text\">{column.text}</span>\n <span\n class={[\n 'y-data-table-header__sorting-icon',\n {\n 'y-data-table-header__sorting-icon--disabled':\n !column.sortable,\n },\n ]}\n onClick={\n column.sortable\n ? (e) => {\n e.stopPropagation();\n toggleSort(column);\n }\n : undefined\n }\n >\n <YIconSort\n disabled={!column.sortable}\n direction={getSortDirection(column)}\n ></YIconSort>\n </span>\n </div>\n );\n },\n }}\n </YDataTableCell>\n );\n };\n\n useRender(() => {\n return (\n <>\n {slots.head\n ? slots.head?.(props)\n : headers.value.map((row, y) => (\n <tr>\n {row.map((column, x) => (\n <YDataTableTh column={column} x={x} y={y} />\n ))}\n </tr>\n ))}\n </>\n );\n });\n },\n});\n\nexport type YDataTableHead = InstanceType<typeof YDataTableHead>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YDataTableHead.mjs","names":["defineComponent","useRender","toStyleSizeValue","propsFactory","YIconSort","YDataTableCell","useHeader","useSelection","useSorting","YIconCheckbox","pressYDataTableHeadProps","multiSort","Boolean","sortAscIcon","type","String","default","sortDescIcon","dualSortIcon","sticky","YDataTableHead","name","components","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","selectables","columns","headers","getFixedStyles","column","y","fixed","undefined","position","zIndex","left","fixedOffset","top","onClick","e","getSortDirection","found","value","find","by","key","order","YDataTableTh","_ref2","x","_createVNode","_mergeProps","align","lastFixed","sortable","width","minWidth","maxWidth","rowspan","colspan","headerSlotName","headerSlotProps","length","stopPropagation","text","_Fragment","head","map","row"],"sources":["../../../src/components/table/YDataTableHead.tsx"],"sourcesContent":["import { CSSProperties, defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { toStyleSizeValue } from '../../util/ui';\r\nimport { propsFactory } from '../../util/vue-component';\r\nimport { YIconSort } from '../icons/YIconSort';\r\nimport { YDataTableCell } from './YDataTableCell';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { useSorting } from './composibles/sorting';\r\n\r\nimport { YIconCheckbox } from '../icons';\r\nimport { InternalDataTableHeader } from './types';\r\n\r\nexport const pressYDataTableHeadProps = propsFactory(\r\n {\r\n multiSort: Boolean,\r\n sortAscIcon: {\r\n type: String,\r\n default: '@sortAsc',\r\n },\r\n sortDescIcon: {\r\n type: String,\r\n default: '@sortDesc',\r\n },\r\n dualSortIcon: Boolean,\r\n sticky: Boolean,\r\n },\r\n 'YDataTableHead',\r\n);\r\n\r\nexport const YDataTableHead = defineComponent({\r\n name: 'YDataTableHead',\r\n components: {\r\n YDataTableCell,\r\n },\r\n props: {\r\n ...pressYDataTableHeadProps(),\r\n },\r\n setup(props, { slots }) {\r\n const { toggleSort, sortBy, isSorted } = useSorting();\r\n const { someSelected, allSelected, selectAll, showSelectAll, selectables } =\r\n useSelection();\r\n const { columns, headers } = useHeader();\r\n\r\n const getFixedStyles = (\r\n column: InternalDataTableHeader,\r\n y: number,\r\n ): CSSProperties | undefined => {\r\n if (!props.sticky && !column.fixed) return undefined;\r\n\r\n return {\r\n position: 'sticky',\r\n zIndex: column.fixed ? 4 : props.sticky ? 3 : undefined,\r\n left: column.fixed ? toStyleSizeValue(column.fixedOffset) : undefined,\r\n top: props.sticky\r\n ? `calc(var(--v-table-header-height) * ${y})`\r\n : undefined,\r\n };\r\n };\r\n\r\n function onClick(e: Event) {\r\n //\r\n }\r\n\r\n function getSortDirection(column: InternalDataTableHeader) {\r\n const found = sortBy.value.find((by) => by.key === column.key);\r\n if (!found) {\r\n return undefined;\r\n }\r\n if (found.order === 'asc') {\r\n return 'asc';\r\n }\r\n if (found.order === 'desc') {\r\n return 'desc';\r\n }\r\n }\r\n\r\n const YDataTableTh = ({\r\n column,\r\n x,\r\n y,\r\n }: {\r\n column: InternalDataTableHeader;\r\n x: number;\r\n y: number;\r\n }) => {\r\n return (\r\n <YDataTableCell\r\n type=\"head\"\r\n align={column.align}\r\n fixed={\r\n column.fixed ? (column.lastFixed ? 'trail' : 'lead') : undefined\r\n }\r\n class={[\r\n 'y-data-table-header',\r\n {\r\n 'y-data-table-header--sortable': column.sortable,\r\n 'y-data-table-header--sorted': isSorted(column),\r\n 'y-data-table-header--select': column.key === 'data-table-select',\r\n },\r\n ]}\r\n style={{\r\n width: toStyleSizeValue(column.width),\r\n minWidth: toStyleSizeValue(column.width),\r\n maxWidth: toStyleSizeValue(column.maxWidth),\r\n ...getFixedStyles(column, y),\r\n }}\r\n {...{ rowspan: column.rowspan, colspan: column.colspan }}\r\n onClick={onClick}\r\n >\r\n {{\r\n default: () => {\r\n const headerSlotName = `header.${column.key}` as const;\r\n const headerSlotProps = {\r\n column,\r\n selectAll,\r\n isSorted,\r\n toggleSort,\r\n sortBy: sortBy.value,\r\n someSelected: someSelected.value,\r\n allSelected: allSelected.value,\r\n selectables: selectables.value,\r\n getSortDirection,\r\n };\r\n\r\n if (slots[headerSlotName]) {\r\n return slots[headerSlotName]?.(headerSlotProps);\r\n }\r\n\r\n if (column.key === 'data-table-select') {\r\n return (\r\n slots['header.data-table-select']?.(headerSlotProps) ??\r\n (showSelectAll && (\r\n <YIconCheckbox\r\n checked={allSelected.value}\r\n indeterminate={!allSelected.value && someSelected.value}\r\n disabled={selectables.value.length < 1}\r\n {...{\r\n onClick: (e: MouseEvent) => {\r\n e.stopPropagation();\r\n selectAll(!allSelected.value);\r\n },\r\n }}\r\n ></YIconCheckbox>\r\n ))\r\n );\r\n }\r\n\r\n return (\r\n <div class=\"y-data-table-header__content\">\r\n <span class=\"y-data-table-header__text\">{column.text}</span>\r\n <span\r\n class={[\r\n 'y-data-table-header__sorting-icon',\r\n {\r\n 'y-data-table-header__sorting-icon--disabled':\r\n !column.sortable,\r\n },\r\n ]}\r\n onClick={\r\n column.sortable\r\n ? (e) => {\r\n e.stopPropagation();\r\n toggleSort(column);\r\n }\r\n : undefined\r\n }\r\n >\r\n <YIconSort\r\n disabled={!column.sortable}\r\n direction={getSortDirection(column)}\r\n ></YIconSort>\r\n </span>\r\n </div>\r\n );\r\n },\r\n }}\r\n </YDataTableCell>\r\n );\r\n };\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n {slots.head\r\n ? slots.head?.(props)\r\n : headers.value.map((row, y) => (\r\n <tr>\r\n {row.map((column, x) => (\r\n <YDataTableTh column={column} x={x} y={y} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableHead = InstanceType<typeof YDataTableHead>;\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDataTableRow.mjs","names":["defineComponent","computed","useRender","getPropertyFromItem","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onClick","Function","YDataTableRow","name","props","item","Object","cellProps","setup","_ref","emit","slots","isSelected","toggleSelect","columns","_createVNode","e","value","map","column","colIndex","slotProps","raw","internalItem","key","selected","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","width","maxWidth","default","slotName","selectable","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import {PropType, defineComponent, computed} from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { getPropertyFromItem } from '../../util/common';\nimport { propsFactory } from '../../util/vue-component';\nimport { YIconCheckbox } from '../icons';\nimport { YDataTableCell } from './YDataTableCell';\nimport { useHeader } from './composibles/header';\nimport { useSelection } from './composibles/selection';\nimport { CellProps, DataTableItem } from './types';\n\nexport const pressYDataTableRowProps = propsFactory(\n {\n index: Number as PropType<number>,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n },\n 'YDataTableRow',\n);\n\nexport const YDataTableRow = defineComponent({\n name: 'YDataTableRow',\n props: {\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps>,\n ...pressYDataTableRowProps(),\n },\n setup(props, { emit, slots }) {\n const { isSelected, toggleSelect } = useSelection();\n const { columns } = useHeader();\n\n useRender(() => {\n return (\n <tr class={['y-data-table__row']} onClick={(e) => emit('click:row', e)}>\n {props.item &&\n columns.value.map((column, colIndex) => {\n const item = props.item!;\n const slotProps = {\n index: props.index!,\n item: props.item!.raw,\n internalItem: props.item!,\n columns: columns.value,\n value: getPropertyFromItem(item.columns, column.key),\n selected: computed(() => isSelected(item)).value,\n toggleSelect,\n };\n\n const cellProps =\n typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n column,\n internalItem: slotProps.internalItem,\n item: slotProps.item,\n value: slotProps.value,\n selected: slotProps.selected,\n })\n : props.cellProps;\n\n return (\n <YDataTableCell\n align={column.align}\n fixed={\n column.fixed\n ? column.lastFixed\n ? 'trail'\n : 'lead'\n : undefined\n }\n fixedOffset={column.fixedOffset}\n width={column.width}\n maxWidth={column.maxWidth}\n class={[\n 'y-data-table-data',\n {\n 'y-data-table-data--select':\n column.key === 'data-table-select',\n },\n ]}\n {...cellProps}\n >\n {{\n default: () => {\n const slotName = `item.${column.key}`;\n\n if (slots[slotName]) {\n return slots[slotName]?.(slotProps);\n }\n\n if (column.key === 'data-table-select') {\n return (\n slots['item.data-table-select']?.(slotProps) ?? (\n <YIconCheckbox\n checked={isSelected(item)}\n disabled={!item.selectable}\n {...{\n onClick: (e: MouseEvent) => {\n e.stopPropagation();\n toggleSelect(item);\n },\n }}\n ></YIconCheckbox>\n )\n );\n }\n\n return slotProps.value;\n },\n }}\n </YDataTableCell>\n );\n })}\n </tr>\n );\n });\n },\n});\n\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YDataTableRow.mjs","names":["defineComponent","computed","useRender","getPropertyFromItem","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onClick","Function","YDataTableRow","name","props","item","Object","cellProps","setup","_ref","emit","slots","isSelected","toggleSelect","columns","_createVNode","e","value","map","column","colIndex","slotProps","raw","internalItem","key","selected","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","width","maxWidth","default","slotName","selectable","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import {PropType, defineComponent, computed} from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { getPropertyFromItem } from '../../util/common';\r\nimport { propsFactory } from '../../util/vue-component';\r\nimport { YIconCheckbox } from '../icons';\r\nimport { YDataTableCell } from './YDataTableCell';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { CellProps, DataTableItem } from './types';\r\n\r\nexport const pressYDataTableRowProps = propsFactory(\r\n {\r\n index: Number as PropType<number>,\r\n onClick: Function as PropType<(e: MouseEvent) => void>,\r\n },\r\n 'YDataTableRow',\r\n);\r\n\r\nexport const YDataTableRow = defineComponent({\r\n name: 'YDataTableRow',\r\n props: {\r\n item: Object as PropType<DataTableItem>,\r\n cellProps: [Object, Function] as PropType<CellProps>,\r\n ...pressYDataTableRowProps(),\r\n },\r\n setup(props, { emit, slots }) {\r\n const { isSelected, toggleSelect } = useSelection();\r\n const { columns } = useHeader();\r\n\r\n useRender(() => {\r\n return (\r\n <tr class={['y-data-table__row']} onClick={(e) => emit('click:row', e)}>\r\n {props.item &&\r\n columns.value.map((column, colIndex) => {\r\n const item = props.item!;\r\n const slotProps = {\r\n index: props.index!,\r\n item: props.item!.raw,\r\n internalItem: props.item!,\r\n columns: columns.value,\r\n value: getPropertyFromItem(item.columns, column.key),\r\n selected: computed(() => isSelected(item)).value,\r\n toggleSelect,\r\n };\r\n\r\n const cellProps =\r\n typeof props.cellProps === 'function'\r\n ? props.cellProps({\r\n index: slotProps.index,\r\n column,\r\n internalItem: slotProps.internalItem,\r\n item: slotProps.item,\r\n value: slotProps.value,\r\n selected: slotProps.selected,\r\n })\r\n : props.cellProps;\r\n\r\n return (\r\n <YDataTableCell\r\n align={column.align}\r\n fixed={\r\n column.fixed\r\n ? column.lastFixed\r\n ? 'trail'\r\n : 'lead'\r\n : undefined\r\n }\r\n fixedOffset={column.fixedOffset}\r\n width={column.width}\r\n maxWidth={column.maxWidth}\r\n class={[\r\n 'y-data-table-data',\r\n {\r\n 'y-data-table-data--select':\r\n column.key === 'data-table-select',\r\n },\r\n ]}\r\n {...cellProps}\r\n >\r\n {{\r\n default: () => {\r\n const slotName = `item.${column.key}`;\r\n\r\n if (slots[slotName]) {\r\n return slots[slotName]?.(slotProps);\r\n }\r\n\r\n if (column.key === 'data-table-select') {\r\n return (\r\n slots['item.data-table-select']?.(slotProps) ?? (\r\n <YIconCheckbox\r\n checked={isSelected(item)}\r\n disabled={!item.selectable}\r\n {...{\r\n onClick: (e: MouseEvent) => {\r\n e.stopPropagation();\r\n toggleSelect(item);\r\n },\r\n }}\r\n ></YIconCheckbox>\r\n )\r\n );\r\n }\r\n\r\n return slotProps.value;\r\n },\r\n }}\r\n </YDataTableCell>\r\n );\r\n })}\r\n </tr>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTable.mjs","names":["defineComponent","provide","useRender","useResizeObserver","toStyleSizeValue","propsFactory","pressYTableProps","tag","type","String","default","fixedHead","Boolean","height","Number","flexHeight","YTable","name","props","setup","_ref","slots","resizeObservedRef","contentRect","wrapperRef","wrapperRect","tableRef","tableRect","containerRect","ElTag","containerHeight","value","_createVNode","width","top","leading","trailing","container","bottom"],"sources":["../../../src/components/table/YTable.tsx"],"sourcesContent":["import { PropType, defineComponent, provide } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { useResizeObserver } from '../../composables/resize-observer';\nimport { toStyleSizeValue } from '../../util/ui';\nimport { propsFactory } from '../../util/vue-component';\n\nimport './YTable.scss';\n\nexport const pressYTableProps = propsFactory(\n {\n tag: {\n type: String as PropType<string>,\n default: 'div',\n },\n fixedHead: {\n type: Boolean as PropType<boolean>,\n },\n height: {\n type: [Number, String] as PropType<number | string>,\n },\n flexHeight: {\n type: Boolean as PropType<boolean>,\n },\n },\n 'YTable',\n);\n\nexport const YTable = defineComponent({\n name: 'YTable',\n props: {\n ...pressYTableProps(),\n },\n setup(props, { slots }) {\n const { resizeObservedRef, contentRect } = useResizeObserver();\n const { resizeObservedRef: wrapperRef, contentRect: wrapperRect } =\n useResizeObserver();\n const { resizeObservedRef: tableRef, contentRect: tableRect } =\n useResizeObserver();\n provide('YTable', { containerRect: contentRect });\n useRender(() => {\n const ElTag = (props.tag as keyof HTMLElementTagNameMap) ?? 'div';\n const containerHeight = props.flexHeight\n ? contentRect.value?.height ?? props.height\n : props.height;\n return (\n <ElTag\n class={[\n 'y-table',\n {\n 'y-table--fixed-head': props.fixedHead,\n 'y-table--fixed-height': props.flexHeight || props.height,\n 'y-table--flex-height': props.flexHeight,\n },\n ]}\n style={{\n '--y-table-container-width': toStyleSizeValue(\n contentRect.value?.width,\n ),\n '--y-table-wrapper-width': toStyleSizeValue(\n wrapperRect.value?.width,\n ),\n }}\n >\n {slots.top?.()}\n {slots.default ? (\n <div ref={resizeObservedRef} class={['y-table__container']}>\n {slots.leading?.()}\n <div\n ref={wrapperRef}\n class={['y-table__wrapper']}\n style={{\n height: toStyleSizeValue(containerHeight),\n }}\n >\n <table ref={tableRef}>{slots.default()}</table>\n </div>\n {slots.trailing?.()}\n </div>\n ) : (\n slots.container?.(resizeObservedRef, contentRect)\n )}\n {slots.bottom?.()}\n </ElTag>\n );\n });\n },\n});\n"],"mappings":";AAAA,SAAmBA,eAAe,EAAEC,OAAO,QAAQ,KAAK;AAAC,SAEhDC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,gBAAgB;AAAA,SAChBC,YAAY;AAErB;AAEA,OAAO,MAAMC,gBAAgB,GAAGD,YAAY,CAC1C;EACEE,GAAG,EAAE;IACHC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAEI;EACR,CAAC;EACDC,MAAM,EAAE;IACNL,IAAI,EAAE,CAACM,MAAM,EAAEL,MAAM;EACvB,CAAC;EACDM,UAAU,EAAE;IACVP,IAAI,EAAEI;EACR;AACF,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMI,MAAM,GAAGhB,eAAe,CAAC;EACpCiB,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACL,GAAGZ,gBAAgB,CAAC;EACtB,CAAC;EACDa,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAM;MAAEE,iBAAiB;MAAEC;IAAY,CAAC,GAAGpB,iBAAiB,CAAC,CAAC;IAC9D,MAAM;MAAEmB,iBAAiB,EAAEE,UAAU;MAAED,WAAW,EAAEE;IAAY,CAAC,GAC/DtB,iBAAiB,CAAC,CAAC;IACrB,MAAM;MAAEmB,iBAAiB,EAAEI,QAAQ;MAAEH,WAAW,EAAEI;IAAU,CAAC,GAC3DxB,iBAAiB,CAAC,CAAC;IACrBF,OAAO,CAAC,QAAQ,EAAE;MAAE2B,aAAa,EAAEL;IAAY,CAAC,CAAC;IACjDrB,SAAS,CAAC,MAAM;MACd,MAAM2B,KAAK,GAAIX,KAAK,CAACX,GAAG,IAAoC,KAAK;MACjE,MAAMuB,eAAe,GAAGZ,KAAK,CAACH,UAAU,GACpCQ,WAAW,CAACQ,KAAK,EAAElB,MAAM,IAAIK,KAAK,CAACL,MAAM,GACzCK,KAAK,CAACL,MAAM;MAChB,OAAAmB,YAAA,CAAAH,KAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,qBAAqB,EAAEX,KAAK,CAACP,SAAS;UACtC,uBAAuB,EAAEO,KAAK,CAACH,UAAU,IAAIG,KAAK,CAACL,MAAM;UACzD,sBAAsB,EAAEK,KAAK,CAACH;QAChC,CAAC,CACF;QAAA,SACM;UACL,2BAA2B,EAAEX,gBAAgB,CAC3CmB,WAAW,CAACQ,KAAK,EAAEE,KACrB,CAAC;UACD,yBAAyB,EAAE7B,gBAAgB,CACzCqB,WAAW,CAACM,KAAK,EAAEE,KACrB;QACF;MAAC;QAAAvB,OAAA,EAAAA,CAAA,MAEAW,KAAK,CAACa,GAAG,GAAG,CAAC,EACbb,KAAK,CAACX,OAAO,GAAAsB,YAAA;UAAA,OACFV,iBAAiB;UAAA,SAAS,CAAC,oBAAoB;QAAC,IACvDD,KAAK,CAACc,OAAO,GAAG,CAAC,EAAAH,YAAA;UAAA,OAEXR,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpB;YACLX,MAAM,EAAET,gBAAgB,CAAC0B,eAAe;UAC1C;QAAC,IAAAE,YAAA;UAAA,OAEWN;QAAQ,IAAGL,KAAK,CAACX,OAAO,CAAC,CAAC,MAEvCW,KAAK,CAACe,QAAQ,GAAG,CAAC,KAGrBf,KAAK,CAACgB,SAAS,GAAGf,iBAAiB,EAAEC,WAAW,CACjD,EACAF,KAAK,CAACiB,MAAM,GAAG,CAAC;MAAA;IAGvB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"YTable.mjs","names":["defineComponent","provide","useRender","useResizeObserver","toStyleSizeValue","propsFactory","pressYTableProps","tag","type","String","default","fixedHead","Boolean","height","Number","flexHeight","YTable","name","props","setup","_ref","slots","resizeObservedRef","contentRect","wrapperRef","wrapperRect","tableRef","tableRect","containerRect","ElTag","containerHeight","value","_createVNode","width","top","leading","trailing","container","bottom"],"sources":["../../../src/components/table/YTable.tsx"],"sourcesContent":["import { PropType, defineComponent, provide } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { useResizeObserver } from '../../composables/resize-observer';\nimport { toStyleSizeValue } from '../../util/ui';\nimport { propsFactory } from '../../util/vue-component';\n\nimport './YTable.scss';\n\nexport const pressYTableProps = propsFactory(\n {\n tag: {\n type: String as PropType<string>,\n default: 'div',\n },\n fixedHead: {\n type: Boolean as PropType<boolean>,\n },\n height: {\n type: [Number, String] as PropType<number | string>,\n },\n flexHeight: {\n type: Boolean as PropType<boolean>,\n },\n },\n 'YTable',\n);\n\nexport const YTable = defineComponent({\n name: 'YTable',\n props: {\n ...pressYTableProps(),\n },\n setup(props, { slots }) {\n const { resizeObservedRef, contentRect } = useResizeObserver();\n const { resizeObservedRef: wrapperRef, contentRect: wrapperRect } =\n useResizeObserver();\n const { resizeObservedRef: tableRef, contentRect: tableRect } =\n useResizeObserver();\n provide('YTable', { containerRect: contentRect });\n useRender(() => {\n const ElTag = (props.tag as keyof HTMLElementTagNameMap) ?? 'div';\n const containerHeight = props.flexHeight\n ? contentRect.value?.height ?? props.height\n : props.height;\n return (\n <ElTag\n class={[\n 'y-table',\n {\n 'y-table--fixed-head': props.fixedHead,\n 'y-table--fixed-height': props.flexHeight || props.height,\n 'y-table--flex-height': props.flexHeight,\n },\n ]}\n style={{\n '--y-table-container-width': toStyleSizeValue(\n contentRect.value?.width,\n ),\n '--y-table-wrapper-width': toStyleSizeValue(\n wrapperRect.value?.width,\n ),\n }}\n >\n {slots.top?.()}\n {slots.default ? (\n <div ref={resizeObservedRef} class={['y-table__container']}>\n {slots.leading?.()}\n <div\n ref={wrapperRef}\n class={['y-table__wrapper']}\n style={{\n height: toStyleSizeValue(containerHeight),\n }}\n >\n <table ref={tableRef}>{slots.default()}</table>\n </div>\n {slots.trailing?.()}\n </div>\n ) : (\n slots.container?.(resizeObservedRef, contentRect)\n )}\n {slots.bottom?.()}\n </ElTag>\n );\n });\n },\n});\n\nexport type YTable = InstanceType<typeof YTable>;\n"],"mappings":";AAAA,SAAmBA,eAAe,EAAEC,OAAO,QAAQ,KAAK;AAAC,SAEhDC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,gBAAgB;AAAA,SAChBC,YAAY;AAErB;AAEA,OAAO,MAAMC,gBAAgB,GAAGD,YAAY,CAC1C;EACEE,GAAG,EAAE;IACHC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAEI;EACR,CAAC;EACDC,MAAM,EAAE;IACNL,IAAI,EAAE,CAACM,MAAM,EAAEL,MAAM;EACvB,CAAC;EACDM,UAAU,EAAE;IACVP,IAAI,EAAEI;EACR;AACF,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMI,MAAM,GAAGhB,eAAe,CAAC;EACpCiB,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACL,GAAGZ,gBAAgB,CAAC;EACtB,CAAC;EACDa,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAM;MAAEE,iBAAiB;MAAEC;IAAY,CAAC,GAAGpB,iBAAiB,CAAC,CAAC;IAC9D,MAAM;MAAEmB,iBAAiB,EAAEE,UAAU;MAAED,WAAW,EAAEE;IAAY,CAAC,GAC/DtB,iBAAiB,CAAC,CAAC;IACrB,MAAM;MAAEmB,iBAAiB,EAAEI,QAAQ;MAAEH,WAAW,EAAEI;IAAU,CAAC,GAC3DxB,iBAAiB,CAAC,CAAC;IACrBF,OAAO,CAAC,QAAQ,EAAE;MAAE2B,aAAa,EAAEL;IAAY,CAAC,CAAC;IACjDrB,SAAS,CAAC,MAAM;MACd,MAAM2B,KAAK,GAAIX,KAAK,CAACX,GAAG,IAAoC,KAAK;MACjE,MAAMuB,eAAe,GAAGZ,KAAK,CAACH,UAAU,GACpCQ,WAAW,CAACQ,KAAK,EAAElB,MAAM,IAAIK,KAAK,CAACL,MAAM,GACzCK,KAAK,CAACL,MAAM;MAChB,OAAAmB,YAAA,CAAAH,KAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,qBAAqB,EAAEX,KAAK,CAACP,SAAS;UACtC,uBAAuB,EAAEO,KAAK,CAACH,UAAU,IAAIG,KAAK,CAACL,MAAM;UACzD,sBAAsB,EAAEK,KAAK,CAACH;QAChC,CAAC,CACF;QAAA,SACM;UACL,2BAA2B,EAAEX,gBAAgB,CAC3CmB,WAAW,CAACQ,KAAK,EAAEE,KACrB,CAAC;UACD,yBAAyB,EAAE7B,gBAAgB,CACzCqB,WAAW,CAACM,KAAK,EAAEE,KACrB;QACF;MAAC;QAAAvB,OAAA,EAAAA,CAAA,MAEAW,KAAK,CAACa,GAAG,GAAG,CAAC,EACbb,KAAK,CAACX,OAAO,GAAAsB,YAAA;UAAA,OACFV,iBAAiB;UAAA,SAAS,CAAC,oBAAoB;QAAC,IACvDD,KAAK,CAACc,OAAO,GAAG,CAAC,EAAAH,YAAA;UAAA,OAEXR,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpB;YACLX,MAAM,EAAET,gBAAgB,CAAC0B,eAAe;UAC1C;QAAC,IAAAE,YAAA;UAAA,OAEWN;QAAQ,IAAGL,KAAK,CAACX,OAAO,CAAC,CAAC,MAEvCW,KAAK,CAACe,QAAQ,GAAG,CAAC,KAGrBf,KAAK,CAACgB,SAAS,GAAGf,iBAAiB,EAAEC,WAAW,CACjD,EACAF,KAAK,CAACiB,MAAM,GAAG,CAAC;MAAA;IAGvB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/table/types/index.ts"],"sourcesContent":["import { ComputedRef, Ref, UnwrapRef } from 'vue';\n\nimport { SelectableItem, provideSelection } from '../composibles/selection';\n\nexport type DataTableCompareFn<T = any> = (a: T, b: T) => number;\n\nexport type DataTableHeader = {\n key: string;\n text: string;\n value?: any;\n\n colspan?: number;\n rowspan?: number;\n fixed?: boolean;\n\n classes?: string | string[];\n align?: 'start' | 'end' | 'center';\n width?: number | string;\n minWidth?: string;\n maxWidth?: string;\n sortable?: boolean;\n sort?: DataTableCompareFn;\n mustSort?: boolean;\n};\n\nexport type InternalDataTableHeader = DataTableHeader & {\n sortable: boolean;\n fixedOffset?: number;\n lastFixed?: boolean;\n};\n\nexport interface DataTableItem<T = any> extends SelectableItem {\n index: number;\n columns: Record<string, any>;\n raw: T;\n}\n\nexport type SortOption = { key: string; order?: boolean | 'asc' | 'desc' };\n\nexport type DataTableProvideSortingData = {\n sortBy: Ref<readonly SortOption[]>;\n toggleSort: (column: InternalDataTableHeader) => void;\n isSorted: (column: InternalDataTableHeader) => boolean;\n};\n\nexport interface DataTableProvidePaginationData {\n page: Ref<number>;\n pageSize: Ref<number>;\n startIndex: ComputedRef<number>;\n endIndex: ComputedRef<number>;\n pageLength: ComputedRef<number>;\n total: Ref<number>;\n nextPage: () => void;\n prevPage: () => void;\n setPage: (value: number) => void;\n setPageSize: (value: number) => void;\n}\n\nexport interface DataTableProvideSelectionData {\n toggleSelect: (item: SelectableItem) => void;\n select: (items: SelectableItem[], value: boolean) => void;\n selectAll: (value: boolean) => void;\n isSelected: (items: SelectableItem | SelectableItem[]) => any;\n isSomeSelected: (items: SelectableItem | SelectableItem[]) => any;\n someSelected: ComputedRef<boolean>;\n allSelected: ComputedRef<any>;\n showSelectAll: boolean;\n selectables: ComputedRef<SelectableItem[]>;\n}\n\nexport type YDataTableSlotProps = {\n // pagination\n page: number;\n pageSize: number;\n pageLength: number;\n setPageSize: DataTableProvidePaginationData['setPageSize'];\n // sorting\n sortBy: UnwrapRef<DataTableProvideSortingData['sortBy']>;\n toggleSort: DataTableProvideSortingData['toggleSort'];\n // selection\n someSelected: boolean;\n allSelected: boolean;\n isSelected: DataTableProvideSelectionData['isSelected'];\n select: DataTableProvideSelectionData['select'];\n selectAll: DataTableProvideSelectionData['selectAll'];\n toggleSelect: DataTableProvideSelectionData['toggleSelect'];\n //\n items: readonly DataTableItem[];\n columns: InternalDataTableHeader[];\n headers: InternalDataTableHeader[][];\n};\n\ntype ItemSlotBase<T> = {\n index: number;\n item: T;\n internalItem: DataTableItem<T>;\n selected: boolean;\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\n};\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any;\n column: InternalDataTableHeader;\n};\n\nexport type CellProps<T = any> =\n | Record<string, any>\n | ((\n data: Pick<\n ItemKeySlot<T>,\n 'index' | 'item' | 'internalItem' | 'value' | 'column' | 'selected'\n >,\n ) => Record<string, any>);\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/table/types/index.ts"],"sourcesContent":["import { ComputedRef, Ref, UnwrapRef } from 'vue';\r\n\r\nimport { SelectableItem, provideSelection } from '../composibles/selection';\r\n\r\nexport type DataTableCompareFn<T = any> = (a: T, b: T) => number;\r\n\r\nexport type DataTableHeader = {\r\n key: string;\r\n text: string;\r\n value?: any;\r\n\r\n colspan?: number;\r\n rowspan?: number;\r\n fixed?: boolean;\r\n\r\n classes?: string | string[];\r\n align?: 'start' | 'end' | 'center';\r\n width?: number | string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n sortable?: boolean;\r\n sort?: DataTableCompareFn;\r\n mustSort?: boolean;\r\n};\r\n\r\nexport type InternalDataTableHeader = DataTableHeader & {\r\n sortable: boolean;\r\n fixedOffset?: number;\r\n lastFixed?: boolean;\r\n};\r\n\r\nexport interface DataTableItem<T = any> extends SelectableItem {\r\n index: number;\r\n columns: Record<string, any>;\r\n raw: T;\r\n}\r\n\r\nexport type SortOption = { key: string; order?: boolean | 'asc' | 'desc' };\r\n\r\nexport type DataTableProvideSortingData = {\r\n sortBy: Ref<readonly SortOption[]>;\r\n toggleSort: (column: InternalDataTableHeader) => void;\r\n isSorted: (column: InternalDataTableHeader) => boolean;\r\n};\r\n\r\nexport interface DataTableProvidePaginationData {\r\n page: Ref<number>;\r\n pageSize: Ref<number>;\r\n startIndex: ComputedRef<number>;\r\n endIndex: ComputedRef<number>;\r\n pageLength: ComputedRef<number>;\r\n total: Ref<number>;\r\n nextPage: () => void;\r\n prevPage: () => void;\r\n setPage: (value: number) => void;\r\n setPageSize: (value: number) => void;\r\n}\r\n\r\nexport interface DataTableProvideSelectionData {\r\n toggleSelect: (item: SelectableItem) => void;\r\n select: (items: SelectableItem[], value: boolean) => void;\r\n selectAll: (value: boolean) => void;\r\n isSelected: (items: SelectableItem | SelectableItem[]) => any;\r\n isSomeSelected: (items: SelectableItem | SelectableItem[]) => any;\r\n someSelected: ComputedRef<boolean>;\r\n allSelected: ComputedRef<any>;\r\n showSelectAll: boolean;\r\n selectables: ComputedRef<SelectableItem[]>;\r\n}\r\n\r\nexport type YDataTableSlotProps = {\r\n // pagination\r\n page: number;\r\n pageSize: number;\r\n pageLength: number;\r\n setPageSize: DataTableProvidePaginationData['setPageSize'];\r\n // sorting\r\n sortBy: UnwrapRef<DataTableProvideSortingData['sortBy']>;\r\n toggleSort: DataTableProvideSortingData['toggleSort'];\r\n // selection\r\n someSelected: boolean;\r\n allSelected: boolean;\r\n isSelected: DataTableProvideSelectionData['isSelected'];\r\n select: DataTableProvideSelectionData['select'];\r\n selectAll: DataTableProvideSelectionData['selectAll'];\r\n toggleSelect: DataTableProvideSelectionData['toggleSelect'];\r\n //\r\n items: readonly DataTableItem[];\r\n columns: InternalDataTableHeader[];\r\n headers: InternalDataTableHeader[][];\r\n};\r\n\r\ntype ItemSlotBase<T> = {\r\n index: number;\r\n item: T;\r\n internalItem: DataTableItem<T>;\r\n selected: boolean;\r\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\r\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\r\n};\r\n\r\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\r\n value: any;\r\n column: InternalDataTableHeader;\r\n};\r\n\r\nexport type CellProps<T = any> =\r\n | Record<string, any>\r\n | ((\r\n data: Pick<\r\n ItemKeySlot<T>,\r\n 'index' | 'item' | 'internalItem' | 'value' | 'column' | 'selected'\r\n >,\r\n ) => Record<string, any>);\r\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTextHighlighter.mjs","names":["defineComponent","h","name","props","text","type","String","keyword","color","sensitive","Boolean","computed","splitText","split","stack","keyExp","RegExp","length","index","search","push","isKeyword","substring","methods","createItem","staticClass","createHighlightKeywordItem","class","style","backgroundColor","createSplitTexts","map","splitItem","render","children"],"sources":["../../../src/components/text-highlighter/YTextHighlighter.ts"],"sourcesContent":["import { VNode, defineComponent, h } from 'vue';\n\nimport './YTextHighlighter.scss';\n\nexport
|
|
1
|
+
{"version":3,"file":"YTextHighlighter.mjs","names":["defineComponent","h","YTextHighlighter","name","props","text","type","String","keyword","color","sensitive","Boolean","computed","splitText","split","stack","keyExp","RegExp","length","index","search","push","isKeyword","substring","methods","createItem","staticClass","createHighlightKeywordItem","class","style","backgroundColor","createSplitTexts","map","splitItem","render","children"],"sources":["../../../src/components/text-highlighter/YTextHighlighter.ts"],"sourcesContent":["import { VNode, defineComponent, h } from 'vue';\n\nimport './YTextHighlighter.scss';\n\nexport const YTextHighlighter = defineComponent({\n name: 'YTextHighlighter',\n props: {\n text: {\n type: String,\n },\n keyword: {\n type: String,\n },\n color: {\n type: String,\n },\n sensitive: {\n type: Boolean,\n },\n },\n computed: {\n splitText(): { text: string; isKeyword: boolean }[] {\n const { keyword, text } = this;\n if (keyword && text) {\n const split: { text: string; isKeyword: boolean }[] = [];\n let stack = text;\n const keyExp = new RegExp(keyword, this.sensitive ? '' : 'i');\n while (stack.length > 0) {\n const index = stack.search(keyExp);\n if (index < 0) {\n split.push({ text: stack, isKeyword: false });\n stack = '';\n } else if (index < 1) {\n split.push({\n text: stack.substring(0, keyword.length),\n isKeyword: true,\n });\n stack = stack.substring(keyword.length, stack.length);\n } else {\n split.push({ text: stack.substring(0, index), isKeyword: false });\n split.push({\n text: stack.substring(index, index + keyword.length),\n isKeyword: true,\n });\n stack = stack.substring(index + keyword.length, stack.length);\n }\n }\n return split;\n }\n return [{ text: this.text || '', isKeyword: false }];\n },\n },\n methods: {\n createItem(text: string): VNode {\n return h(\n 'span',\n {\n staticClass: 'y-text-highlighter__item',\n },\n [text],\n );\n },\n createHighlightKeywordItem(text: string): VNode {\n return h(\n 'span',\n {\n staticClass: 'y-text-highlighter__item',\n class: 'y-text-highlighter__item--highlight',\n style: {\n backgroundColor: this.color,\n },\n },\n [text],\n );\n },\n createSplitTexts(): VNode[] {\n return this.splitText.map((splitItem) => {\n if (splitItem.isKeyword) {\n return this.createHighlightKeywordItem(splitItem.text);\n }\n return this.createItem(splitItem.text);\n });\n },\n },\n render(): VNode {\n const children = this.createSplitTexts();\n return h('span', { staticClass: 'y-text-highlighter' }, children);\n },\n});\n\nexport type YTextHighlighter = InstanceType<typeof YTextHighlighter>;\n"],"mappings":"AAAA,SAAgBA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAE/C;AAEA,OAAO,MAAMC,gBAAgB,GAAGF,eAAe,CAAC;EAC9CG,IAAI,EAAE,kBAAkB;EACxBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC;IACR,CAAC;IACDC,OAAO,EAAE;MACPF,IAAI,EAAEC;IACR,CAAC;IACDE,KAAK,EAAE;MACLH,IAAI,EAAEC;IACR,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAEK;IACR;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,SAASA,CAAA,EAA2C;MAClD,MAAM;QAAEL,OAAO;QAAEH;MAAK,CAAC,GAAG,IAAI;MAC9B,IAAIG,OAAO,IAAIH,IAAI,EAAE;QACnB,MAAMS,KAA6C,GAAG,EAAE;QACxD,IAAIC,KAAK,GAAGV,IAAI;QAChB,MAAMW,MAAM,GAAG,IAAIC,MAAM,CAACT,OAAO,EAAE,IAAI,CAACE,SAAS,GAAG,EAAE,GAAG,GAAG,CAAC;QAC7D,OAAOK,KAAK,CAACG,MAAM,GAAG,CAAC,EAAE;UACvB,MAAMC,KAAK,GAAGJ,KAAK,CAACK,MAAM,CAACJ,MAAM,CAAC;UAClC,IAAIG,KAAK,GAAG,CAAC,EAAE;YACbL,KAAK,CAACO,IAAI,CAAC;cAAEhB,IAAI,EAAEU,KAAK;cAAEO,SAAS,EAAE;YAAM,CAAC,CAAC;YAC7CP,KAAK,GAAG,EAAE;UACZ,CAAC,MAAM,IAAII,KAAK,GAAG,CAAC,EAAE;YACpBL,KAAK,CAACO,IAAI,CAAC;cACThB,IAAI,EAAEU,KAAK,CAACQ,SAAS,CAAC,CAAC,EAAEf,OAAO,CAACU,MAAM,CAAC;cACxCI,SAAS,EAAE;YACb,CAAC,CAAC;YACFP,KAAK,GAAGA,KAAK,CAACQ,SAAS,CAACf,OAAO,CAACU,MAAM,EAAEH,KAAK,CAACG,MAAM,CAAC;UACvD,CAAC,MAAM;YACLJ,KAAK,CAACO,IAAI,CAAC;cAAEhB,IAAI,EAAEU,KAAK,CAACQ,SAAS,CAAC,CAAC,EAAEJ,KAAK,CAAC;cAAEG,SAAS,EAAE;YAAM,CAAC,CAAC;YACjER,KAAK,CAACO,IAAI,CAAC;cACThB,IAAI,EAAEU,KAAK,CAACQ,SAAS,CAACJ,KAAK,EAAEA,KAAK,GAAGX,OAAO,CAACU,MAAM,CAAC;cACpDI,SAAS,EAAE;YACb,CAAC,CAAC;YACFP,KAAK,GAAGA,KAAK,CAACQ,SAAS,CAACJ,KAAK,GAAGX,OAAO,CAACU,MAAM,EAAEH,KAAK,CAACG,MAAM,CAAC;UAC/D;QACF;QACA,OAAOJ,KAAK;MACd;MACA,OAAO,CAAC;QAAET,IAAI,EAAE,IAAI,CAACA,IAAI,IAAI,EAAE;QAAEiB,SAAS,EAAE;MAAM,CAAC,CAAC;IACtD;EACF,CAAC;EACDE,OAAO,EAAE;IACPC,UAAUA,CAACpB,IAAY,EAAS;MAC9B,OAAOJ,CAAC,CACN,MAAM,EACN;QACEyB,WAAW,EAAE;MACf,CAAC,EACD,CAACrB,IAAI,CACP,CAAC;IACH,CAAC;IACDsB,0BAA0BA,CAACtB,IAAY,EAAS;MAC9C,OAAOJ,CAAC,CACN,MAAM,EACN;QACEyB,WAAW,EAAE,0BAA0B;QACvCE,KAAK,EAAE,qCAAqC;QAC5CC,KAAK,EAAE;UACLC,eAAe,EAAE,IAAI,CAACrB;QACxB;MACF,CAAC,EACD,CAACJ,IAAI,CACP,CAAC;IACH,CAAC;IACD0B,gBAAgBA,CAAA,EAAY;MAC1B,OAAO,IAAI,CAAClB,SAAS,CAACmB,GAAG,CAAEC,SAAS,IAAK;QACvC,IAAIA,SAAS,CAACX,SAAS,EAAE;UACvB,OAAO,IAAI,CAACK,0BAA0B,CAACM,SAAS,CAAC5B,IAAI,CAAC;QACxD;QACA,OAAO,IAAI,CAACoB,UAAU,CAACQ,SAAS,CAAC5B,IAAI,CAAC;MACxC,CAAC,CAAC;IACJ;EACF,CAAC;EACD6B,MAAMA,CAAA,EAAU;IACd,MAAMC,QAAQ,GAAG,IAAI,CAACJ,gBAAgB,CAAC,CAAC;IACxC,OAAO9B,CAAC,CAAC,MAAM,EAAE;MAAEyB,WAAW,EAAE;IAAqB,CAAC,EAAES,QAAQ,CAAC;EACnE;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/text-highlighter/index.ts"],"sourcesContent":["export * from './YTextHighlighter';\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTooltip.mjs","names":["computed","defineComponent","nextTick","ref","watch","watchEffect","useModelDuplex","useRender","polyTransitionPropOptions","omit","bindClasses","chooseProps","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","YTooltip","name","props","coordinateStrategy","openOnHover","align","offset","transition","emits","setup","_ref","slots","emit","expose","layer$","base$","baseSlot","baseEl","contentEl","classes","boundClasses","model","active","get","value","set","v","disabled","hovered","baseFromSlotEl","el","nodeType","base","$el","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","addEventListener","unbindHover","removeEventListener","old","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","length","args","_key","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import type { PropType } from 'vue';\r\nimport {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n ref,\r\n watch,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { polyTransitionPropOptions } from '../../composables/transition';\r\nimport { omit } from '../../util';\r\nimport { bindClasses, chooseProps } from '../../util/vue-component';\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { useDelay } from '../layer/active-delay';\r\nimport { YPlate } from '../plate';\r\n\r\nimport './YTooltip.scss';\r\n\r\nconst NAME = 'YTooltip';\r\n\r\nconst YTooltipPropOptions = {\r\n tooltipClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n preventClip: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n};\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YTooltip = defineComponent({\r\n name: NAME,\r\n props: {\r\n ...YTooltipPropOptions,\r\n ...pressYLayerProps({\r\n coordinateStrategy: 'levitation',\r\n openOnHover: true,\r\n align: 'center',\r\n offset: 8,\r\n }),\r\n transition: {\r\n ...polyTransitionPropOptions.transition,\r\n default: 'fade',\r\n },\r\n },\r\n emits: ['update:modelValue'],\r\n setup(props, { slots, emit, expose }) {\r\n const layer$ = ref<typeof YLayer>();\r\n const base$ = ref();\r\n const baseSlot = ref();\r\n const baseEl = ref<HTMLElement>();\r\n const contentEl = ref<HTMLElement>();\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.tooltipClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-tooltip': true,\r\n };\r\n });\r\n\r\n const model = useModelDuplex(props);\r\n\r\n const active = computed({\r\n get: (): boolean => {\r\n return !!model.value;\r\n },\r\n set: (v: boolean) => {\r\n if (!(v && props.disabled)) model.value = v;\r\n },\r\n });\r\n\r\n const hovered = computed(() => !!layer$.value?.hovered);\r\n\r\n const baseFromSlotEl = computed(() => {\r\n return baseSlot.value?.[0]?.el;\r\n });\r\n\r\n watchEffect(() => {\r\n if (!base$.value) {\r\n if (baseFromSlotEl.value?.nodeType !== 3) {\r\n baseEl.value = baseFromSlotEl.value;\r\n }\r\n return;\r\n }\r\n const base = base$.value;\r\n baseEl.value = base$.value?.$el ? base$.value?.$el : base;\r\n });\r\n\r\n watch(active, (neo) => {\r\n if (neo) {\r\n nextTick(() => {\r\n const $content = layer$.value?.content$;\r\n contentEl.value = $content;\r\n });\r\n }\r\n });\r\n\r\n const { startOpenDelay, startCloseDelay } = useDelay(\r\n props,\r\n (changeActive) => {\r\n if (!changeActive && props.openOnHover && !hovered.value) {\r\n active.value = false;\r\n } else if (changeActive) {\r\n active.value = true;\r\n }\r\n },\r\n );\r\n\r\n function onMouseenter(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startOpenDelay();\r\n }\r\n }\r\n\r\n function onMouseleave(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startCloseDelay();\r\n }\r\n }\r\n\r\n watch(hovered, (value) => {\r\n if (!value) {\r\n startCloseDelay();\r\n }\r\n });\r\n\r\n function bindHover(el: HTMLElement) {\r\n el.addEventListener('mouseenter', onMouseenter);\r\n el.addEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n function unbindHover(el: HTMLElement) {\r\n el.removeEventListener('mouseenter', onMouseenter);\r\n el.removeEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n watch(\r\n () => layer$.value?.baseEl,\r\n (neo, old) => {\r\n if (neo) {\r\n bindHover(neo);\r\n } else if (old) {\r\n unbindHover(old);\r\n }\r\n },\r\n );\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <YLayer\r\n ref={layer$}\r\n {...omit(chooseProps(props, YLayer.props), ['scrim'])}\r\n classes={classes.value}\r\n scrim={false}\r\n transition={props.transition}\r\n v-model={active.value}\r\n >\r\n {{\r\n default: (...args: any) => {\r\n return (\r\n <>\r\n <YPlate></YPlate>\r\n <div class=\"y-tooltip__content\">\r\n {slots.default?.(...args) ?? ''}\r\n </div>\r\n </>\r\n );\r\n },\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n base$,\r\n el$: layer$,\r\n baseEl,\r\n baseSlot,\r\n active,\r\n };\r\n },\r\n});\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YTooltip.mjs","names":["computed","defineComponent","nextTick","ref","watch","watchEffect","useModelDuplex","useRender","polyTransitionPropOptions","omit","bindClasses","chooseProps","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","YTooltip","name","props","coordinateStrategy","openOnHover","align","offset","transition","emits","setup","_ref","slots","emit","expose","layer$","base$","baseSlot","baseEl","contentEl","classes","boundClasses","model","active","get","value","set","v","disabled","hovered","baseFromSlotEl","el","nodeType","base","$el","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","addEventListener","unbindHover","removeEventListener","old","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","length","args","_key","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import type { PropType } from 'vue';\r\nimport {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n ref,\r\n watch,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { polyTransitionPropOptions } from '../../composables/transition';\r\nimport { omit } from '../../util';\r\nimport { bindClasses, chooseProps } from '../../util/vue-component';\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { useDelay } from '../layer/active-delay';\r\nimport { YPlate } from '../plate';\r\n\r\nimport './YTooltip.scss';\r\n\r\nconst NAME = 'YTooltip';\r\n\r\nconst YTooltipPropOptions = {\r\n tooltipClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n preventClip: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n};\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YTooltip = defineComponent({\r\n name: NAME,\r\n props: {\r\n ...YTooltipPropOptions,\r\n ...pressYLayerProps({\r\n coordinateStrategy: 'levitation',\r\n openOnHover: true,\r\n align: 'center',\r\n offset: 8,\r\n }),\r\n transition: {\r\n ...polyTransitionPropOptions.transition,\r\n default: 'fade',\r\n },\r\n },\r\n emits: ['update:modelValue'],\r\n setup(props, { slots, emit, expose }) {\r\n const layer$ = ref<typeof YLayer>();\r\n const base$ = ref();\r\n const baseSlot = ref();\r\n const baseEl = ref<HTMLElement>();\r\n const contentEl = ref<HTMLElement>();\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.tooltipClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-tooltip': true,\r\n };\r\n });\r\n\r\n const model = useModelDuplex(props);\r\n\r\n const active = computed({\r\n get: (): boolean => {\r\n return !!model.value;\r\n },\r\n set: (v: boolean) => {\r\n if (!(v && props.disabled)) model.value = v;\r\n },\r\n });\r\n\r\n const hovered = computed(() => !!layer$.value?.hovered);\r\n\r\n const baseFromSlotEl = computed(() => {\r\n return baseSlot.value?.[0]?.el;\r\n });\r\n\r\n watchEffect(() => {\r\n if (!base$.value) {\r\n if (baseFromSlotEl.value?.nodeType !== 3) {\r\n baseEl.value = baseFromSlotEl.value;\r\n }\r\n return;\r\n }\r\n const base = base$.value;\r\n baseEl.value = base$.value?.$el ? base$.value?.$el : base;\r\n });\r\n\r\n watch(active, (neo) => {\r\n if (neo) {\r\n nextTick(() => {\r\n const $content = layer$.value?.content$;\r\n contentEl.value = $content;\r\n });\r\n }\r\n });\r\n\r\n const { startOpenDelay, startCloseDelay } = useDelay(\r\n props,\r\n (changeActive) => {\r\n if (!changeActive && props.openOnHover && !hovered.value) {\r\n active.value = false;\r\n } else if (changeActive) {\r\n active.value = true;\r\n }\r\n },\r\n );\r\n\r\n function onMouseenter(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startOpenDelay();\r\n }\r\n }\r\n\r\n function onMouseleave(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startCloseDelay();\r\n }\r\n }\r\n\r\n watch(hovered, (value) => {\r\n if (!value) {\r\n startCloseDelay();\r\n }\r\n });\r\n\r\n function bindHover(el: HTMLElement) {\r\n el.addEventListener('mouseenter', onMouseenter);\r\n el.addEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n function unbindHover(el: HTMLElement) {\r\n el.removeEventListener('mouseenter', onMouseenter);\r\n el.removeEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n watch(\r\n () => layer$.value?.baseEl,\r\n (neo, old) => {\r\n if (neo) {\r\n bindHover(neo);\r\n } else if (old) {\r\n unbindHover(old);\r\n }\r\n },\r\n );\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <YLayer\r\n ref={layer$}\r\n {...omit(chooseProps(props, YLayer.props), ['scrim'])}\r\n classes={classes.value}\r\n scrim={false}\r\n transition={props.transition}\r\n v-model={active.value}\r\n >\r\n {{\r\n default: (...args: any) => {\r\n return (\r\n <>\r\n <YPlate></YPlate>\r\n <div class=\"y-tooltip__content\">\r\n {slots.default?.(...args) ?? ''}\r\n </div>\r\n </>\r\n );\r\n },\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n base$,\r\n el$: layer$,\r\n baseEl,\r\n baseSlot,\r\n active,\r\n };\r\n },\r\n});\r\n\r\nexport type YTooltip = InstanceType<typeof YTooltip>;\r\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { propsFactory } from "../../util/vue-component.mjs";
|
|
|
6
6
|
import { YButton } from "../button/index.mjs";
|
|
7
7
|
import { YIconCheckbox, YIconExpand } from "../icons/index.mjs";
|
|
8
8
|
import { YPlate } from "../plate/index.mjs";
|
|
9
|
-
import YTextHighlighter from "../text-highlighter/YTextHighlighter.mjs";
|
|
9
|
+
import { YTextHighlighter } from "../text-highlighter/YTextHighlighter.mjs";
|
|
10
10
|
import { YExpandVTransition } from "../transitions/index.mjs";
|
|
11
11
|
export const pressYTreeViewNodeProps = propsFactory({
|
|
12
12
|
search: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTreeViewNode.mjs","names":["computed","defineComponent","h","inject","ref","pressItemsPropsOptions","useRender","getObjectValueByPath","propsFactory","YButton","YIconCheckbox","YIconExpand","YPlate","YTextHighlighter","YExpandVTransition","pressYTreeViewNodeProps","search","String","disableTransition","Boolean","enableActive","activeClass","Array","activeSingleModifier","requiredActive","activeColor","type","default","enableSelect","itemKey","YTreeViewNode","name","components","props","item","Object","level","Number","setup","_ref","slots","expose","treeView","expanded","active","selected","immediate","onClick","e","to","value","updateActive","myKey","emitActive","onClickExpand","stopPropagation","updateExpanded","emitExpanded","onClickSelect","updateSelected","emitSelected","children","itemChildren","imLeaf","length","classes","styles","contentText","itemText","slotProps","searchLoading","leaves","filter","leaf","isExcluded","map","key","indentSpacer","i","push","class","style","variation","checked","leading","text","keyword","trailing","disabled","role","undefined","created","register"],"sources":["../../../src/components/tree-view/YTreeViewNode.ts"],"sourcesContent":["import {\r\n PropType,\r\n VNodeArrayChildren,\r\n computed,\r\n defineComponent,\r\n h,\r\n inject,\r\n ref,\r\n} from 'vue';\r\n\r\nimport { pressItemsPropsOptions } from '../../abstract/items';\r\nimport { useRender } from '../../composables/component';\r\nimport { getObjectValueByPath } from '../../util/common';\r\nimport { propsFactory } from '../../util/vue-component';\r\nimport { YButton } from '../button';\r\nimport { YIconCheckbox, YIconExpand } from '../icons';\r\nimport { YPlate } from '../plate';\r\nimport YTextHighlighter from '../text-highlighter/YTextHighlighter';\r\nimport { YExpandVTransition } from '../transitions';\r\n\r\nexport const pressYTreeViewNodeProps = propsFactory(\r\n {\r\n search: String,\r\n disableTransition: Boolean,\r\n enableActive: Boolean,\r\n activeClass: [String, Array],\r\n activeSingleModifier: String,\r\n requiredActive: Boolean,\r\n activeColor: {\r\n type: String,\r\n default: 'primary',\r\n },\r\n enableSelect: Boolean,\r\n ...pressItemsPropsOptions({\r\n itemKey: 'id',\r\n }),\r\n },\r\n 'YTreeViewNode',\r\n);\r\n\r\nexport const YTreeViewNode = defineComponent({\r\n name: 'YTreeNode',\r\n components: {\r\n YButton,\r\n YIconExpand,\r\n YPlate,\r\n YIconCheckbox,\r\n },\r\n props: {\r\n item: {\r\n type: Object as PropType<any>,\r\n },\r\n level: {\r\n type: Number as PropType<number>,\r\n default: 0,\r\n },\r\n ...pressYTreeViewNodeProps(),\r\n },\r\n setup(props, { slots, expose }) {\r\n const treeView = inject<any>('tree-view');\r\n\r\n const expanded = ref(false);\r\n const active = ref(false);\r\n const selected = ref(false);\r\n const immediate = ref(false);\r\n\r\n function onClick(e: MouseEvent) {\r\n const to = !active.value;\r\n active.value = to;\r\n treeView.updateActive(myKey.value, to, e);\r\n treeView.emitActive();\r\n }\r\n\r\n function onClickExpand(e: MouseEvent) {\r\n e.stopPropagation();\r\n const to = !expanded.value;\r\n expanded.value = to;\r\n treeView.updateExpanded(myKey.value, to);\r\n treeView.emitExpanded();\r\n }\r\n\r\n function onClickSelect(e: MouseEvent) {\r\n e.stopPropagation();\r\n const to = !selected.value;\r\n selected.value = to;\r\n treeView.updateSelected(myKey.value, to);\r\n treeView.emitSelected();\r\n }\r\n\r\n const children = computed(() => {\r\n return props.item?.[props.itemChildren as string] ?? [];\r\n });\r\n\r\n const imLeaf = computed(() => children.value.length < 1);\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-tree-view-node': true,\r\n 'y-tree-view-node--leaf': imLeaf.value,\r\n 'y-tree-view-node--expanded': expanded.value,\r\n 'y-tree-view-node--active': active.value,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n return {\r\n '--tree-view-node--level': props.level,\r\n };\r\n });\r\n\r\n const contentText = computed(() => {\r\n return getObjectValueByPath(props.item, props.itemText) ?? '';\r\n });\r\n\r\n const slotProps = computed(() => {\r\n return {\r\n level: props.level,\r\n imLeaf: imLeaf.value,\r\n };\r\n });\r\n\r\n const searchLoading = computed(() => {\r\n return treeView.searchLoading.value;\r\n });\r\n\r\n useRender(() => {\r\n const leaves = children.value\r\n .filter((leaf: any) => {\r\n return !treeView.isExcluded(\r\n getObjectValueByPath(leaf, props.itemKey),\r\n );\r\n })\r\n .map((item: any) => {\r\n return h(\r\n YTreeViewNode,\r\n {\r\n ...props,\r\n level: (props.level ?? 0) + 1,\r\n item,\r\n key: getObjectValueByPath(item, props.itemKey),\r\n },\r\n slots,\r\n );\r\n });\r\n const indentSpacer: VNodeArrayChildren = [];\r\n for (let i = 0; i < props.level; i += 1) {\r\n indentSpacer.push(\r\n h('div', { class: 'y-tree-view-node__indent-spacer' }),\r\n );\r\n }\r\n return h(\r\n 'div',\r\n {\r\n class: classes.value,\r\n style: styles.value,\r\n '.role': 'treeitem',\r\n 'data-level': props.level,\r\n },\r\n [\r\n h(\r\n 'div',\r\n {\r\n class: 'y-tree-view-node__container',\r\n onClick: (e: MouseEvent) =>\r\n props.enableActive ? onClick(e) : void 0,\r\n },\r\n [\r\n h(YPlate),\r\n h('div', { class: 'y-tree-view-node__indents' }, indentSpacer),\r\n /* EXPAND */\r\n !imLeaf.value && leaves.length > 0\r\n ? h(\r\n YButton,\r\n {\r\n class: 'y-tree-view-node__expand-icon',\r\n variation: 'icon',\r\n onClick: (e: MouseEvent) => onClickExpand(e),\r\n },\r\n () => [\r\n slots['expand-icon']\r\n ? slots['expand-icon']()\r\n : h(YIconExpand),\r\n ],\r\n )\r\n : h('i', { class: 'y-tree-view-node__no-expand-icon' }),\r\n props.enableSelect &&\r\n h(\r\n 'div',\r\n {\r\n class: ['y-tree-view-node__select'],\r\n onClick: (e: MouseEvent) => onClickSelect(e),\r\n },\r\n [h(YIconCheckbox, { checked: selected.value })],\r\n ),\r\n /* CONTENT */\r\n h('div', { class: 'y-tree-view-node__content' }, [\r\n slots.leading &&\r\n h(\r\n 'div',\r\n { class: 'y-tree-view-node__leading' },\r\n slots.leading(slotProps.value),\r\n ),\r\n h(\r\n 'div',\r\n { class: 'y-tree-view-node__text' },\r\n slots.default\r\n ? slots.default?.({\r\n text: contentText.value,\r\n item: props.item,\r\n ...slotProps.value,\r\n })\r\n : props.search && !searchLoading.value\r\n ? h(YTextHighlighter, {\r\n text: contentText.value,\r\n keyword: props.search,\r\n })\r\n : contentText.value,\r\n ),\r\n slots.trailing &&\r\n h(\r\n 'div',\r\n { class: 'y-tree-view-node__trailing' },\r\n slots.trailing(),\r\n ),\r\n ]),\r\n ],\r\n ),\r\n /* CHILDREN */\r\n children.value.length > 0\r\n ? h(\r\n YExpandVTransition,\r\n { disabled: props.disableTransition },\r\n expanded.value\r\n ? () =>\r\n h(\r\n 'div',\r\n {\r\n class: { 'y-tree-view-node__leaves': true },\r\n role: 'tree',\r\n },\r\n leaves,\r\n )\r\n : undefined,\r\n )\r\n : undefined,\r\n ],\r\n );\r\n });\r\n\r\n const myKey = computed(() => {\r\n return getObjectValueByPath(props.item, props.itemKey);\r\n });\r\n\r\n expose({\r\n myKey,\r\n expanded,\r\n active,\r\n selected,\r\n immediate,\r\n });\r\n\r\n return {\r\n treeView,\r\n myKey,\r\n expanded,\r\n active,\r\n selected,\r\n immediate,\r\n };\r\n },\r\n created() {\r\n this.treeView?.register?.(this.myKey, this);\r\n },\r\n});\r\n\r\nexport type YTreeNode = InstanceType<typeof YTreeViewNode>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YTreeViewNode.mjs","names":["computed","defineComponent","h","inject","ref","pressItemsPropsOptions","useRender","getObjectValueByPath","propsFactory","YButton","YIconCheckbox","YIconExpand","YPlate","YTextHighlighter","YExpandVTransition","pressYTreeViewNodeProps","search","String","disableTransition","Boolean","enableActive","activeClass","Array","activeSingleModifier","requiredActive","activeColor","type","default","enableSelect","itemKey","YTreeViewNode","name","components","props","item","Object","level","Number","setup","_ref","slots","expose","treeView","expanded","active","selected","immediate","onClick","e","to","value","updateActive","myKey","emitActive","onClickExpand","stopPropagation","updateExpanded","emitExpanded","onClickSelect","updateSelected","emitSelected","children","itemChildren","imLeaf","length","classes","styles","contentText","itemText","slotProps","searchLoading","leaves","filter","leaf","isExcluded","map","key","indentSpacer","i","push","class","style","variation","checked","leading","text","keyword","trailing","disabled","role","undefined","created","register"],"sources":["../../../src/components/tree-view/YTreeViewNode.ts"],"sourcesContent":["import {\n PropType,\n VNodeArrayChildren,\n computed,\n defineComponent,\n h,\n inject,\n ref,\n} from 'vue';\n\nimport { pressItemsPropsOptions } from '../../abstract/items';\nimport { useRender } from '../../composables/component';\nimport { getObjectValueByPath } from '../../util/common';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\nimport { YIconCheckbox, YIconExpand } from '../icons';\nimport { YPlate } from '../plate';\nimport { YTextHighlighter } from '../text-highlighter/YTextHighlighter';\nimport { YExpandVTransition } from '../transitions';\n\nexport const pressYTreeViewNodeProps = propsFactory(\n {\n search: String,\n disableTransition: Boolean,\n enableActive: Boolean,\n activeClass: [String, Array],\n activeSingleModifier: String,\n requiredActive: Boolean,\n activeColor: {\n type: String,\n default: 'primary',\n },\n enableSelect: Boolean,\n ...pressItemsPropsOptions({\n itemKey: 'id',\n }),\n },\n 'YTreeViewNode',\n);\n\nexport const YTreeViewNode = defineComponent({\n name: 'YTreeNode',\n components: {\n YButton,\n YIconExpand,\n YPlate,\n YIconCheckbox,\n },\n props: {\n item: {\n type: Object as PropType<any>,\n },\n level: {\n type: Number as PropType<number>,\n default: 0,\n },\n ...pressYTreeViewNodeProps(),\n },\n setup(props, { slots, expose }) {\n const treeView = inject<any>('tree-view');\n\n const expanded = ref(false);\n const active = ref(false);\n const selected = ref(false);\n const immediate = ref(false);\n\n function onClick(e: MouseEvent) {\n const to = !active.value;\n active.value = to;\n treeView.updateActive(myKey.value, to, e);\n treeView.emitActive();\n }\n\n function onClickExpand(e: MouseEvent) {\n e.stopPropagation();\n const to = !expanded.value;\n expanded.value = to;\n treeView.updateExpanded(myKey.value, to);\n treeView.emitExpanded();\n }\n\n function onClickSelect(e: MouseEvent) {\n e.stopPropagation();\n const to = !selected.value;\n selected.value = to;\n treeView.updateSelected(myKey.value, to);\n treeView.emitSelected();\n }\n\n const children = computed(() => {\n return props.item?.[props.itemChildren as string] ?? [];\n });\n\n const imLeaf = computed(() => children.value.length < 1);\n\n const classes = computed(() => {\n return {\n 'y-tree-view-node': true,\n 'y-tree-view-node--leaf': imLeaf.value,\n 'y-tree-view-node--expanded': expanded.value,\n 'y-tree-view-node--active': active.value,\n };\n });\n\n const styles = computed(() => {\n return {\n '--tree-view-node--level': props.level,\n };\n });\n\n const contentText = computed(() => {\n return getObjectValueByPath(props.item, props.itemText) ?? '';\n });\n\n const slotProps = computed(() => {\n return {\n level: props.level,\n imLeaf: imLeaf.value,\n };\n });\n\n const searchLoading = computed(() => {\n return treeView.searchLoading.value;\n });\n\n useRender(() => {\n const leaves = children.value\n .filter((leaf: any) => {\n return !treeView.isExcluded(\n getObjectValueByPath(leaf, props.itemKey),\n );\n })\n .map((item: any) => {\n return h(\n YTreeViewNode,\n {\n ...props,\n level: (props.level ?? 0) + 1,\n item,\n key: getObjectValueByPath(item, props.itemKey),\n },\n slots,\n );\n });\n const indentSpacer: VNodeArrayChildren = [];\n for (let i = 0; i < props.level; i += 1) {\n indentSpacer.push(\n h('div', { class: 'y-tree-view-node__indent-spacer' }),\n );\n }\n return h(\n 'div',\n {\n class: classes.value,\n style: styles.value,\n '.role': 'treeitem',\n 'data-level': props.level,\n },\n [\n h(\n 'div',\n {\n class: 'y-tree-view-node__container',\n onClick: (e: MouseEvent) =>\n props.enableActive ? onClick(e) : void 0,\n },\n [\n h(YPlate),\n h('div', { class: 'y-tree-view-node__indents' }, indentSpacer),\n /* EXPAND */\n !imLeaf.value && leaves.length > 0\n ? h(\n YButton,\n {\n class: 'y-tree-view-node__expand-icon',\n variation: 'icon',\n onClick: (e: MouseEvent) => onClickExpand(e),\n },\n () => [\n slots['expand-icon']\n ? slots['expand-icon']()\n : h(YIconExpand),\n ],\n )\n : h('i', { class: 'y-tree-view-node__no-expand-icon' }),\n props.enableSelect &&\n h(\n 'div',\n {\n class: ['y-tree-view-node__select'],\n onClick: (e: MouseEvent) => onClickSelect(e),\n },\n [h(YIconCheckbox, { checked: selected.value })],\n ),\n /* CONTENT */\n h('div', { class: 'y-tree-view-node__content' }, [\n slots.leading &&\n h(\n 'div',\n { class: 'y-tree-view-node__leading' },\n slots.leading(slotProps.value),\n ),\n h(\n 'div',\n { class: 'y-tree-view-node__text' },\n slots.default\n ? slots.default?.({\n text: contentText.value,\n item: props.item,\n ...slotProps.value,\n })\n : props.search && !searchLoading.value\n ? h(YTextHighlighter, {\n text: contentText.value,\n keyword: props.search,\n })\n : contentText.value,\n ),\n slots.trailing &&\n h(\n 'div',\n { class: 'y-tree-view-node__trailing' },\n slots.trailing(),\n ),\n ]),\n ],\n ),\n /* CHILDREN */\n children.value.length > 0\n ? h(\n YExpandVTransition,\n { disabled: props.disableTransition },\n expanded.value\n ? () =>\n h(\n 'div',\n {\n class: { 'y-tree-view-node__leaves': true },\n role: 'tree',\n },\n leaves,\n )\n : undefined,\n )\n : undefined,\n ],\n );\n });\n\n const myKey = computed(() => {\n return getObjectValueByPath(props.item, props.itemKey);\n });\n\n expose({\n myKey,\n expanded,\n active,\n selected,\n immediate,\n });\n\n return {\n treeView,\n myKey,\n expanded,\n active,\n selected,\n immediate,\n };\n },\n created() {\n this.treeView?.register?.(this.myKey, this);\n },\n});\n\nexport type YTreeNode = InstanceType<typeof YTreeViewNode>;\n"],"mappings":"AAAA,SAGEA,QAAQ,EACRC,eAAe,EACfC,CAAC,EACDC,MAAM,EACNC,GAAG,QACE,KAAK;AAAC,SAEJC,sBAAsB;AAAA,SACtBC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,aAAa,EAAEC,WAAW;AAAA,SAC1BC,MAAM;AAAA,SACNC,gBAAgB;AAAA,SAChBC,kBAAkB;AAE3B,OAAO,MAAMC,uBAAuB,GAAGP,YAAY,CACjD;EACEQ,MAAM,EAAEC,MAAM;EACdC,iBAAiB,EAAEC,OAAO;EAC1BC,YAAY,EAAED,OAAO;EACrBE,WAAW,EAAE,CAACJ,MAAM,EAAEK,KAAK,CAAC;EAC5BC,oBAAoB,EAAEN,MAAM;EAC5BO,cAAc,EAAEL,OAAO;EACvBM,WAAW,EAAE;IACXC,IAAI,EAAET,MAAM;IACZU,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAET,OAAO;EACrB,GAAGd,sBAAsB,CAAC;IACxBwB,OAAO,EAAE;EACX,CAAC;AACH,CAAC,EACD,eACF,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG7B,eAAe,CAAC;EAC3C8B,IAAI,EAAE,WAAW;EACjBC,UAAU,EAAE;IACVvB,OAAO;IACPE,WAAW;IACXC,MAAM;IACNF;EACF,CAAC;EACDuB,KAAK,EAAE;IACLC,IAAI,EAAE;MACJR,IAAI,EAAES;IACR,CAAC;IACDC,KAAK,EAAE;MACLV,IAAI,EAAEW,MAA0B;MAChCV,OAAO,EAAE;IACX,CAAC;IACD,GAAGZ,uBAAuB,CAAC;EAC7B,CAAC;EACDuB,KAAKA,CAACL,KAAK,EAAAM,IAAA,EAAqB;IAAA,IAAnB;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAAF,IAAA;IAC5B,MAAMG,QAAQ,GAAGvC,MAAM,CAAM,WAAW,CAAC;IAEzC,MAAMwC,QAAQ,GAAGvC,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAMwC,MAAM,GAAGxC,GAAG,CAAC,KAAK,CAAC;IACzB,MAAMyC,QAAQ,GAAGzC,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM0C,SAAS,GAAG1C,GAAG,CAAC,KAAK,CAAC;IAE5B,SAAS2C,OAAOA,CAACC,CAAa,EAAE;MAC9B,MAAMC,EAAE,GAAG,CAACL,MAAM,CAACM,KAAK;MACxBN,MAAM,CAACM,KAAK,GAAGD,EAAE;MACjBP,QAAQ,CAACS,YAAY,CAACC,KAAK,CAACF,KAAK,EAAED,EAAE,EAAED,CAAC,CAAC;MACzCN,QAAQ,CAACW,UAAU,CAAC,CAAC;IACvB;IAEA,SAASC,aAAaA,CAACN,CAAa,EAAE;MACpCA,CAAC,CAACO,eAAe,CAAC,CAAC;MACnB,MAAMN,EAAE,GAAG,CAACN,QAAQ,CAACO,KAAK;MAC1BP,QAAQ,CAACO,KAAK,GAAGD,EAAE;MACnBP,QAAQ,CAACc,cAAc,CAACJ,KAAK,CAACF,KAAK,EAAED,EAAE,CAAC;MACxCP,QAAQ,CAACe,YAAY,CAAC,CAAC;IACzB;IAEA,SAASC,aAAaA,CAACV,CAAa,EAAE;MACpCA,CAAC,CAACO,eAAe,CAAC,CAAC;MACnB,MAAMN,EAAE,GAAG,CAACJ,QAAQ,CAACK,KAAK;MAC1BL,QAAQ,CAACK,KAAK,GAAGD,EAAE;MACnBP,QAAQ,CAACiB,cAAc,CAACP,KAAK,CAACF,KAAK,EAAED,EAAE,CAAC;MACxCP,QAAQ,CAACkB,YAAY,CAAC,CAAC;IACzB;IAEA,MAAMC,QAAQ,GAAG7D,QAAQ,CAAC,MAAM;MAC9B,OAAOiC,KAAK,CAACC,IAAI,GAAGD,KAAK,CAAC6B,YAAY,CAAW,IAAI,EAAE;IACzD,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAG/D,QAAQ,CAAC,MAAM6D,QAAQ,CAACX,KAAK,CAACc,MAAM,GAAG,CAAC,CAAC;IAExD,MAAMC,OAAO,GAAGjE,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAE+D,MAAM,CAACb,KAAK;QACtC,4BAA4B,EAAEP,QAAQ,CAACO,KAAK;QAC5C,0BAA0B,EAAEN,MAAM,CAACM;MACrC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMgB,MAAM,GAAGlE,QAAQ,CAAC,MAAM;MAC5B,OAAO;QACL,yBAAyB,EAAEiC,KAAK,CAACG;MACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM+B,WAAW,GAAGnE,QAAQ,CAAC,MAAM;MACjC,OAAOO,oBAAoB,CAAC0B,KAAK,CAACC,IAAI,EAAED,KAAK,CAACmC,QAAQ,CAAC,IAAI,EAAE;IAC/D,CAAC,CAAC;IAEF,MAAMC,SAAS,GAAGrE,QAAQ,CAAC,MAAM;MAC/B,OAAO;QACLoC,KAAK,EAAEH,KAAK,CAACG,KAAK;QAClB2B,MAAM,EAAEA,MAAM,CAACb;MACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMoB,aAAa,GAAGtE,QAAQ,CAAC,MAAM;MACnC,OAAO0C,QAAQ,CAAC4B,aAAa,CAACpB,KAAK;IACrC,CAAC,CAAC;IAEF5C,SAAS,CAAC,MAAM;MACd,MAAMiE,MAAM,GAAGV,QAAQ,CAACX,KAAK,CAC1BsB,MAAM,CAAEC,IAAS,IAAK;QACrB,OAAO,CAAC/B,QAAQ,CAACgC,UAAU,CACzBnE,oBAAoB,CAACkE,IAAI,EAAExC,KAAK,CAACJ,OAAO,CAC1C,CAAC;MACH,CAAC,CAAC,CACD8C,GAAG,CAAEzC,IAAS,IAAK;QAClB,OAAOhC,CAAC,CACN4B,aAAa,EACb;UACE,GAAGG,KAAK;UACRG,KAAK,EAAE,CAACH,KAAK,CAACG,KAAK,IAAI,CAAC,IAAI,CAAC;UAC7BF,IAAI;UACJ0C,GAAG,EAAErE,oBAAoB,CAAC2B,IAAI,EAAED,KAAK,CAACJ,OAAO;QAC/C,CAAC,EACDW,KACF,CAAC;MACH,CAAC,CAAC;MACJ,MAAMqC,YAAgC,GAAG,EAAE;MAC3C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG7C,KAAK,CAACG,KAAK,EAAE0C,CAAC,IAAI,CAAC,EAAE;QACvCD,YAAY,CAACE,IAAI,CACf7E,CAAC,CAAC,KAAK,EAAE;UAAE8E,KAAK,EAAE;QAAkC,CAAC,CACvD,CAAC;MACH;MACA,OAAO9E,CAAC,CACN,KAAK,EACL;QACE8E,KAAK,EAAEf,OAAO,CAACf,KAAK;QACpB+B,KAAK,EAAEf,MAAM,CAAChB,KAAK;QACnB,OAAO,EAAE,UAAU;QACnB,YAAY,EAAEjB,KAAK,CAACG;MACtB,CAAC,EACD,CACElC,CAAC,CACC,KAAK,EACL;QACE8E,KAAK,EAAE,6BAA6B;QACpCjC,OAAO,EAAGC,CAAa,IACrBf,KAAK,CAACb,YAAY,GAAG2B,OAAO,CAACC,CAAC,CAAC,GAAG,KAAK;MAC3C,CAAC,EACD,CACE9C,CAAC,CAACU,MAAM,CAAC,EACTV,CAAC,CAAC,KAAK,EAAE;QAAE8E,KAAK,EAAE;MAA4B,CAAC,EAAEH,YAAY,CAAC,EAC9D;MACA,CAACd,MAAM,CAACb,KAAK,IAAIqB,MAAM,CAACP,MAAM,GAAG,CAAC,GAC9B9D,CAAC,CACCO,OAAO,EACP;QACEuE,KAAK,EAAE,+BAA+B;QACtCE,SAAS,EAAE,MAAM;QACjBnC,OAAO,EAAGC,CAAa,IAAKM,aAAa,CAACN,CAAC;MAC7C,CAAC,EACD,MAAM,CACJR,KAAK,CAAC,aAAa,CAAC,GAChBA,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GACtBtC,CAAC,CAACS,WAAW,CAAC,CAEtB,CAAC,GACDT,CAAC,CAAC,GAAG,EAAE;QAAE8E,KAAK,EAAE;MAAmC,CAAC,CAAC,EACzD/C,KAAK,CAACL,YAAY,IAChB1B,CAAC,CACC,KAAK,EACL;QACE8E,KAAK,EAAE,CAAC,0BAA0B,CAAC;QACnCjC,OAAO,EAAGC,CAAa,IAAKU,aAAa,CAACV,CAAC;MAC7C,CAAC,EACD,CAAC9C,CAAC,CAACQ,aAAa,EAAE;QAAEyE,OAAO,EAAEtC,QAAQ,CAACK;MAAM,CAAC,CAAC,CAChD,CAAC,EACH;MACAhD,CAAC,CAAC,KAAK,EAAE;QAAE8E,KAAK,EAAE;MAA4B,CAAC,EAAE,CAC/CxC,KAAK,CAAC4C,OAAO,IACXlF,CAAC,CACC,KAAK,EACL;QAAE8E,KAAK,EAAE;MAA4B,CAAC,EACtCxC,KAAK,CAAC4C,OAAO,CAACf,SAAS,CAACnB,KAAK,CAC/B,CAAC,EACHhD,CAAC,CACC,KAAK,EACL;QAAE8E,KAAK,EAAE;MAAyB,CAAC,EACnCxC,KAAK,CAACb,OAAO,GACTa,KAAK,CAACb,OAAO,GAAG;QACd0D,IAAI,EAAElB,WAAW,CAACjB,KAAK;QACvBhB,IAAI,EAAED,KAAK,CAACC,IAAI;QAChB,GAAGmC,SAAS,CAACnB;MACf,CAAC,CAAC,GACFjB,KAAK,CAACjB,MAAM,IAAI,CAACsD,aAAa,CAACpB,KAAK,GACpChD,CAAC,CAACW,gBAAgB,EAAE;QAClBwE,IAAI,EAAElB,WAAW,CAACjB,KAAK;QACvBoC,OAAO,EAAErD,KAAK,CAACjB;MACjB,CAAC,CAAC,GACFmD,WAAW,CAACjB,KAClB,CAAC,EACDV,KAAK,CAAC+C,QAAQ,IACZrF,CAAC,CACC,KAAK,EACL;QAAE8E,KAAK,EAAE;MAA6B,CAAC,EACvCxC,KAAK,CAAC+C,QAAQ,CAAC,CACjB,CAAC,CACJ,CAAC,CAEN,CAAC,EACD;MACA1B,QAAQ,CAACX,KAAK,CAACc,MAAM,GAAG,CAAC,GACrB9D,CAAC,CACCY,kBAAkB,EAClB;QAAE0E,QAAQ,EAAEvD,KAAK,CAACf;MAAkB,CAAC,EACrCyB,QAAQ,CAACO,KAAK,GACV,MACEhD,CAAC,CACC,KAAK,EACL;QACE8E,KAAK,EAAE;UAAE,0BAA0B,EAAE;QAAK,CAAC;QAC3CS,IAAI,EAAE;MACR,CAAC,EACDlB,MACF,CAAC,GACHmB,SACN,CAAC,GACDA,SAAS,CAEjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMtC,KAAK,GAAGpD,QAAQ,CAAC,MAAM;MAC3B,OAAOO,oBAAoB,CAAC0B,KAAK,CAACC,IAAI,EAAED,KAAK,CAACJ,OAAO,CAAC;IACxD,CAAC,CAAC;IAEFY,MAAM,CAAC;MACLW,KAAK;MACLT,QAAQ;MACRC,MAAM;MACNC,QAAQ;MACRC;IACF,CAAC,CAAC;IAEF,OAAO;MACLJ,QAAQ;MACRU,KAAK;MACLT,QAAQ;MACRC,MAAM;MACNC,QAAQ;MACRC;IACF,CAAC;EACH,CAAC;EACD6C,OAAOA,CAAA,EAAG;IACR,IAAI,CAACjD,QAAQ,EAAEkD,QAAQ,GAAG,IAAI,CAACxC,KAAK,EAAE,IAAI,CAAC;EAC7C;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["inject","provide","createLocaleModule","createRtlModule","createRtlProvideValue","YUYEON_I18N_KEY","createI18nModule","options","localeModule","rtlModule","useI18n","i18n","Error","provideI18n","props","locale","getContext","rtl","state"],"sources":["../../../src/composables/i18n/index.ts"],"sourcesContent":["import {inject, provide} from 'vue';\r\n\r\nimport { LocaleModule, LocaleOptions } from '../../i18n/types';\r\nimport { createLocaleModule } from './locale';\r\nimport {\r\n RtlModule,\r\n RtlOptions,\r\n RtlProps,\r\n createRtlModule,\r\n createRtlProvideValue,\r\n} from './rtl';\r\nimport { YUYEON_I18N_KEY } from './share';\r\n\r\nexport function createI18nModule(options?: LocaleOptions & RtlOptions) {\r\n const localeModule = createLocaleModule(options);\r\n const rtlModule = createRtlModule(localeModule, options);\r\n\r\n return {\r\n localeModule,\r\n rtlModule,\r\n };\r\n}\r\n\r\nexport function useI18n(): LocaleModule & RtlModule {\r\n const i18n = inject<any>(YUYEON_I18N_KEY);\r\n if (!i18n) throw new Error('Not found provided \"I18nModule\"');\r\n
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["inject","provide","createLocaleModule","createRtlModule","createRtlProvideValue","YUYEON_I18N_KEY","createI18nModule","options","localeModule","rtlModule","useI18n","i18n","Error","provideI18n","props","locale","getContext","rtl","state"],"sources":["../../../src/composables/i18n/index.ts"],"sourcesContent":["import {inject, provide} from 'vue';\r\n\r\nimport { LocaleModule, LocaleOptions } from '../../i18n/types';\r\nimport { createLocaleModule } from './locale';\r\nimport {\r\n RtlModule,\r\n RtlOptions,\r\n RtlProps,\r\n createRtlModule,\r\n createRtlProvideValue,\r\n} from './rtl';\r\nimport { YUYEON_I18N_KEY } from './share';\r\n\r\nexport function createI18nModule(options?: LocaleOptions & RtlOptions) {\r\n const localeModule = createLocaleModule(options);\r\n const rtlModule = createRtlModule(localeModule, options);\r\n\r\n return {\r\n localeModule,\r\n rtlModule,\r\n };\r\n}\r\n\r\nexport function useI18n(): LocaleModule & RtlModule {\r\n const i18n = inject<any>(YUYEON_I18N_KEY);\r\n if (!i18n) throw new Error('Not found provided \"I18nModule\"');\r\n return i18n;\r\n}\r\n\r\nexport function provideI18n(props: LocaleOptions & RtlProps) {\r\n const i18n = inject<any>(YUYEON_I18N_KEY);\r\n if (!i18n) throw new Error('Not found provided \"I18nModule\"');\r\n\r\n const locale = i18n.getContext(props);\r\n const rtl = createRtlProvideValue(locale, i18n.rtl, props);\r\n\r\n const state = {\r\n ...locale,\r\n ...rtl,\r\n };\r\n provide(YUYEON_I18N_KEY, state);\r\n\r\n return state;\r\n}\r\n"],"mappings":"AAAA,SAAQA,MAAM,EAAEC,OAAO,QAAO,KAAK;AAAC,SAG3BC,kBAAkB;AAAA,SAKzBC,eAAe,EACfC,qBAAqB;AAAA,SAEdC,eAAe;AAExB,OAAO,SAASC,gBAAgBA,CAACC,OAAoC,EAAE;EACrE,MAAMC,YAAY,GAAGN,kBAAkB,CAACK,OAAO,CAAC;EAChD,MAAME,SAAS,GAAGN,eAAe,CAACK,YAAY,EAAED,OAAO,CAAC;EAExD,OAAO;IACLC,YAAY;IACZC;EACF,CAAC;AACH;AAEA,OAAO,SAASC,OAAOA,CAAA,EAA6B;EAClD,MAAMC,IAAI,GAAGX,MAAM,CAAMK,eAAe,CAAC;EACzC,IAAI,CAACM,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;EAC7D,OAAOD,IAAI;AACb;AAEA,OAAO,SAASE,WAAWA,CAACC,KAA+B,EAAE;EAC3D,MAAMH,IAAI,GAAGX,MAAM,CAAMK,eAAe,CAAC;EACzC,IAAI,CAACM,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;EAE7D,MAAMG,MAAM,GAAGJ,IAAI,CAACK,UAAU,CAACF,KAAK,CAAC;EACrC,MAAMG,GAAG,GAAGb,qBAAqB,CAACW,MAAM,EAAEJ,IAAI,CAACM,GAAG,EAAEH,KAAK,CAAC;EAE1D,MAAMI,KAAK,GAAG;IACZ,GAAGH,MAAM;IACT,GAAGE;EACL,CAAC;EACDhB,OAAO,CAACI,eAAe,EAAEa,KAAK,CAAC;EAE/B,OAAOA,KAAK;AACd"}
|
package/lib/locales/en.mjs
CHANGED
package/lib/locales/en.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.mjs","names":["search"],"sources":["../../src/locales/en.ts"],"sourcesContent":["export default {\r\n search: 'search',\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"en.mjs","names":["search","noItems"],"sources":["../../src/locales/en.ts"],"sourcesContent":["export default {\r\n search: 'search',\r\n noItems: 'No Options'\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;AACX,CAAC"}
|
package/lib/locales/ko.mjs
CHANGED
package/lib/locales/ko.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ko.mjs","names":["search"],"sources":["../../src/locales/ko.ts"],"sourcesContent":["export default {\r\n search: '검색',\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ko.mjs","names":["search","noItems"],"sources":["../../src/locales/ko.ts"],"sourcesContent":["export default {\r\n search: '검색',\r\n noItems: '항목이 없습니다.'\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;AACX,CAAC"}
|