yuyeon 0.1.0-rc.20 → 0.1.0-rc.21

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.
@@ -33,4 +33,5 @@ export * from "./badge/index.mjs";
33
33
  export * from "./text-ellipsis/index.mjs";
34
34
  export * from "./ip-field/index.mjs";
35
35
  export * from "./hover/index.mjs";
36
+ export * from "./text-interpolation/index.mjs";
36
37
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\nexport * from './button';\nexport * from './input';\nexport * from './field-input';\nexport * from './textarea';\nexport * from './form';\nexport * from './progress-bar';\nexport * from './card';\nexport * from './chip';\nexport * from './switch';\nexport * from './layer';\nexport * from './dialog';\nexport * from './snackbar';\nexport * from './tooltip';\nexport * from './transitions';\nexport * from './panel';\nexport * from './tree-view';\nexport * from './list';\nexport * from './icons';\nexport * from './table';\nexport * from './menu';\nexport * from './checkbox';\nexport * from './pagination';\nexport * from './loading';\nexport * from './dropdown';\nexport * from './select';\nexport * from './tab';\nexport * from './alert';\nexport * from './divider';\nexport * from './date-picker';\nexport * from './icon';\nexport * from './badge';\nexport * from './text-ellipsis';\nexport * from './ip-field';\nexport * from './hover';\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\nexport * from './button';\nexport * from './input';\nexport * from './field-input';\nexport * from './textarea';\nexport * from './form';\nexport * from './progress-bar';\nexport * from './card';\nexport * from './chip';\nexport * from './switch';\nexport * from './layer';\nexport * from './dialog';\nexport * from './snackbar';\nexport * from './tooltip';\nexport * from './transitions';\nexport * from './panel';\nexport * from './tree-view';\nexport * from './list';\nexport * from './icons';\nexport * from './table';\nexport * from './menu';\nexport * from './checkbox';\nexport * from './pagination';\nexport * from './loading';\nexport * from './dropdown';\nexport * from './select';\nexport * from './tab';\nexport * from './alert';\nexport * from './divider';\nexport * from './date-picker';\nexport * from './icon';\nexport * from './badge';\nexport * from './text-ellipsis';\nexport * from './ip-field';\nexport * from './hover';\nexport * from './text-interpolation';\n"],"mappings":""}
@@ -22,7 +22,7 @@ $side-padding: 16px !default;
22
22
  right: 0;
23
23
  bottom: 4px;
24
24
  height: 1px;
25
- background: #eee;
25
+ background: var(--y-theme-outline);
26
26
  }
27
27
 
28
28
  &:hover {
@@ -33,6 +33,7 @@ export const YDataTableRow = defineComponent({
33
33
  const {
34
34
  columns
35
35
  } = useHeader();
36
+ const selected = computed(() => props.item && isSelected(props.item));
36
37
  function arrayClasses(classes) {
37
38
  const ret = [];
38
39
  if (typeof classes === 'string') {
@@ -47,7 +48,9 @@ export const YDataTableRow = defineComponent({
47
48
  }
48
49
  useRender(() => {
49
50
  return _createVNode("tr", {
50
- "class": ['y-data-table__row'],
51
+ "class": ['y-data-table__row', {
52
+ 'y-data-table__row--selected': selected.value
53
+ }],
51
54
  "onClick": props.onClick,
52
55
  "onContextmenu": props.onContextmenu,
53
56
  "onDblclick": props.onDblclick
@@ -59,7 +62,7 @@ export const YDataTableRow = defineComponent({
59
62
  internalItem: props.item,
60
63
  columns: columns.value,
61
64
  value: getPropertyFromItem(item.columns, column.key),
62
- selected: computed(() => isSelected(item)).value,
65
+ selected: selected.value,
63
66
  toggleSelect
64
67
  };
65
68
  const classes = computed(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableRow.mjs","names":["computed","defineComponent","useRender","getPropertyFromItem","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onClick","Function","onContextmenu","onDblclick","onHover","YDataTableRow","name","props","item","Object","cellProps","setup","_ref","emit","slots","isSelected","toggleSelect","columns","arrayClasses","classes","ret","push","Array","isArray","forEach","c","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","selected","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { getPropertyFromItem } from '../../util/common';\nimport { propsFactory, bindClasses } 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<(...args: any[]) => void>,\n onContextmenu: Function as PropType<(...args: any[]) => void>,\n onDblclick: Function as PropType<(...args: any[]) => void>,\n onHover: Function as PropType<(...args: any[]) => 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 function arrayClasses(classes: string | string[]) {\n const ret: string[] = [];\n if (typeof classes === 'string') {\n ret.push(classes);\n }\n if (Array.isArray(classes)) {\n classes.forEach((c) => {\n if (typeof c === 'string') ret.push(c);\n });\n }\n return ret;\n }\n\n useRender(() => {\n return (\n <tr\n class={['y-data-table__row']}\n onClick={props.onClick as any}\n onContextmenu={props.onContextmenu as any}\n onDblclick={props.onDblclick as any}\n >\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 classes = computed(() => {\n const ret: string[] = [];\n if (typeof column.classes === 'function') {\n const result = column.classes.call(null, slotProps.item, slotProps.index, column);\n if (result) {\n ret.push(...arrayClasses(result));\n }\n } else if (column.classes) {\n ret.push(...arrayClasses(column.classes))\n }\n \n return ret;\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 ? 'last'\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 ...classes.value\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":["computed","defineComponent","useRender","getPropertyFromItem","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onClick","Function","onContextmenu","onDblclick","onHover","YDataTableRow","name","props","item","Object","cellProps","setup","_ref","emit","slots","isSelected","toggleSelect","columns","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { getPropertyFromItem } from '../../util/common';\nimport { bindClasses, 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<(...args: any[]) => void>,\n onContextmenu: Function as PropType<(...args: any[]) => void>,\n onDblclick: Function as PropType<(...args: any[]) => void>,\n onHover: Function as PropType<(...args: any[]) => 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 const selected = computed(() => props.item && isSelected(props.item));\n\n function arrayClasses(classes: string | string[]) {\n const ret: string[] = [];\n if (typeof classes === 'string') {\n ret.push(classes);\n }\n if (Array.isArray(classes)) {\n classes.forEach((c) => {\n if (typeof c === 'string') ret.push(c);\n });\n }\n return ret;\n }\n\n useRender(() => {\n return (\n <tr\n class={[\n 'y-data-table__row',\n { 'y-data-table__row--selected': selected.value },\n ]}\n onClick={props.onClick as any}\n onContextmenu={props.onContextmenu as any}\n onDblclick={props.onDblclick as any}\n >\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: selected.value,\n toggleSelect,\n };\n\n const classes = computed(() => {\n const ret: string[] = [];\n if (typeof column.classes === 'function') {\n const result = column.classes.call(\n null,\n slotProps.item,\n slotProps.index,\n column,\n );\n if (result) {\n ret.push(...arrayClasses(result));\n }\n } else if (column.classes) {\n ret.push(...arrayClasses(column.classes));\n }\n\n return ret;\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 ? 'last'\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 ...classes.value,\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":";AAAA,SAAmBA,QAAQ,EAAEC,eAAe,QAAa,KAAK;AAAC,SAEtDC,SAAS;AAAA,SACTC,mBAAmB;AAAA,SACNC,YAAY;AAAA,SACzBC,aAAa;AAAA,SACbC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,YAAY;AAGrB,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CACjD;EACEM,KAAK,EAAEC,MAA0B;EACjCC,OAAO,EAAEC,QAA8C;EACvDC,aAAa,EAAED,QAA8C;EAC7DE,UAAU,EAAEF,QAA8C;EAC1DG,OAAO,EAAEH;AACX,CAAC,EACD,eACF,CAAC;AAED,OAAO,MAAMI,aAAa,GAAGhB,eAAe,CAAC;EAC3CiB,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAiC;IACvCC,SAAS,EAAE,CAACD,MAAM,EAAER,QAAQ,CAAwB;IACpD,GAAGJ,uBAAuB,CAAC;EAC7B,CAAC;EACDc,KAAKA,CAACJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC1B,MAAM;MAAEG,UAAU;MAAEC;IAAa,CAAC,GAAGpB,YAAY,CAAC,CAAC;IACnD,MAAM;MAAEqB;IAAQ,CAAC,GAAGtB,SAAS,CAAC,CAAC;IAE/B,MAAMuB,QAAQ,GAAG9B,QAAQ,CAAC,MAAMmB,KAAK,CAACC,IAAI,IAAIO,UAAU,CAACR,KAAK,CAACC,IAAI,CAAC,CAAC;IAErE,SAASW,YAAYA,CAACC,OAA0B,EAAE;MAChD,MAAMC,GAAa,GAAG,EAAE;MACxB,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;QAC/BC,GAAG,CAACC,IAAI,CAACF,OAAO,CAAC;MACnB;MACA,IAAIG,KAAK,CAACC,OAAO,CAACJ,OAAO,CAAC,EAAE;QAC1BA,OAAO,CAACK,OAAO,CAAEC,CAAC,IAAK;UACrB,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAEL,GAAG,CAACC,IAAI,CAACI,CAAC,CAAC;QACxC,CAAC,CAAC;MACJ;MACA,OAAOL,GAAG;IACZ;IAEA/B,SAAS,CAAC,MAAM;MACd,OAAAqC,YAAA;QAAA,SAEW,CACL,mBAAmB,EACnB;UAAE,6BAA6B,EAAET,QAAQ,CAACU;QAAM,CAAC,CAClD;QAAA,WACQrB,KAAK,CAACP,OAAO;QAAA,iBACPO,KAAK,CAACL,aAAa;QAAA,cACtBK,KAAK,CAACJ;MAAU,IAE3BI,KAAK,CAACC,IAAI,IACTS,OAAO,CAACW,KAAK,CAACC,GAAG,CAAC,CAACC,MAAM,EAAEC,QAAQ,KAAK;QACtC,MAAMvB,IAAI,GAAGD,KAAK,CAACC,IAAK;QACxB,MAAMwB,SAAS,GAAG;UAChBlC,KAAK,EAAES,KAAK,CAACT,KAAM;UACnBU,IAAI,EAAED,KAAK,CAACC,IAAI,CAAEyB,GAAG;UACrBC,YAAY,EAAE3B,KAAK,CAACC,IAAK;UACzBS,OAAO,EAAEA,OAAO,CAACW,KAAK;UACtBA,KAAK,EAAErC,mBAAmB,CAACiB,IAAI,CAACS,OAAO,EAAEa,MAAM,CAACK,GAAG,CAAC;UACpDjB,QAAQ,EAAEA,QAAQ,CAACU,KAAK;UACxBZ;QACF,CAAC;QAED,MAAMI,OAAO,GAAGhC,QAAQ,CAAC,MAAM;UAC7B,MAAMiC,GAAa,GAAG,EAAE;UACxB,IAAI,OAAOS,MAAM,CAACV,OAAO,KAAK,UAAU,EAAE;YACxC,MAAMgB,MAAM,GAAGN,MAAM,CAACV,OAAO,CAACiB,IAAI,CAChC,IAAI,EACJL,SAAS,CAACxB,IAAI,EACdwB,SAAS,CAAClC,KAAK,EACfgC,MACF,CAAC;YACD,IAAIM,MAAM,EAAE;cACVf,GAAG,CAACC,IAAI,CAAC,GAAGH,YAAY,CAACiB,MAAM,CAAC,CAAC;YACnC;UACF,CAAC,MAAM,IAAIN,MAAM,CAACV,OAAO,EAAE;YACzBC,GAAG,CAACC,IAAI,CAAC,GAAGH,YAAY,CAACW,MAAM,CAACV,OAAO,CAAC,CAAC;UAC3C;UAEA,OAAOC,GAAG;QACZ,CAAC,CAAC;QAEF,MAAMX,SAAS,GACb,OAAOH,KAAK,CAACG,SAAS,KAAK,UAAU,GACjCH,KAAK,CAACG,SAAS,CAAC;UACdZ,KAAK,EAAEkC,SAAS,CAAClC,KAAK;UACtBgC,MAAM;UACNI,YAAY,EAAEF,SAAS,CAACE,YAAY;UACpC1B,IAAI,EAAEwB,SAAS,CAACxB,IAAI;UACpBoB,KAAK,EAAEI,SAAS,CAACJ,KAAK;UACtBV,QAAQ,EAAEc,SAAS,CAACd;QACtB,CAAC,CAAC,GACFX,KAAK,CAACG,SAAS;QAErB,OAAAiB,YAAA,CAAAjC,cAAA,EAAA4C,WAAA;UAAA,SAEWR,MAAM,CAACS,KAAK;UAAA,SAEjBT,MAAM,CAACU,KAAK,GACRV,MAAM,CAACW,SAAS,GACd,MAAM,GACN,MAAM,GACRC,SAAS;UAAA,eAEFZ,MAAM,CAACa,WAAW;UAAA,SACxBb,MAAM,CAACc,KAAK;UAAA,YACTd,MAAM,CAACe,QAAQ;UAAA,SAClB,CACL,mBAAmB,EACnB;YACE,2BAA2B,EACzBf,MAAM,CAACK,GAAG,KAAK;UACnB,CAAC,EACD,GAAGf,OAAO,CAACQ,KAAK;QACjB,GACGlB,SAAS;UAGXoC,OAAO,EAAEA,CAAA,KAAM;YACb,MAAMC,QAAQ,GAAI,QAAOjB,MAAM,CAACK,GAAI,EAAC;YAErC,IAAIrB,KAAK,CAACiC,QAAQ,CAAC,EAAE;cACnB,OAAOjC,KAAK,CAACiC,QAAQ,CAAC,GAAGf,SAAS,CAAC;YACrC;YAEA,IAAIF,MAAM,CAACK,GAAG,KAAK,mBAAmB,EAAE;cACtC,OACErB,KAAK,CAAC,wBAAwB,CAAC,GAAGkB,SAAS,CAAC,IAAAL,YAAA,CAAAlC,aAAA,EAAA6C,WAAA;gBAAA,WAE/BvB,UAAU,CAACP,IAAI,CAAC;gBAAA,YACf,CAACA,IAAI,CAACwC;cAAU;gBAExBhD,OAAO,EAAGiD,CAAa,IAAK;kBAC1BA,CAAC,CAACC,eAAe,CAAC,CAAC;kBACnBlC,YAAY,CAACR,IAAI,CAAC;gBACpB;cAAC,SAGN;YAEL;YAEA,OAAOwB,SAAS,CAACJ,KAAK;UACxB;QAAC;MAIT,CAAC,CAAC;IAGV,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.mjs","names":["inject","provide","ref","watchEffect","getRangeArr","propsFactory","pressDataTableHeader","headers","type","Array","default","Y_DATA_TABLE_HEADER_KEY","Symbol","for","createHeader","props","options","columns","rows","length","isArray","flat","flatMap","row","index","map","column","rowIndex","rowCount","defaultHeader","text","sortable","defaultActionHeader","width","enableSelect","value","foundIndex","findIndex","_ref","key","unshift","rowspan","splice","fixedRows","fixedOffsets","fill","forEach","_ref2","i","push","fixedOffset","Number","fixed","lastFixed","seen","Set","filtered","has","add","at","data","useHeader","Error","description"],"sources":["../../../../src/components/table/composibles/header.ts"],"sourcesContent":["import {\n DeepReadonly,\n InjectionKey,\n PropType,\n Ref,\n inject,\n provide,\n ref,\n watchEffect,\n} from 'vue';\n\nimport { getRangeArr } from '../../../util/common';\nimport { propsFactory } from '../../../util/vue-component';\nimport { DataTableHeader, InternalDataTableHeader } from '../types';\n\nexport const pressDataTableHeader = propsFactory(\n {\n headers: {\n type: Array as PropType<DataTableHeader[] | DataTableHeader[][]>,\n default: () => [],\n },\n },\n 'YDataTable--header',\n);\n\nexport const Y_DATA_TABLE_HEADER_KEY: InjectionKey<{\n headers: Ref<InternalDataTableHeader[][]>;\n columns: Ref<InternalDataTableHeader[]>;\n}> = Symbol.for('yuyeon.data-table.header');\n\ntype HeaderProps = {\n headers: DeepReadonly<DataTableHeader[] | DataTableHeader[][]>;\n};\n\nexport function createHeader(\n props: HeaderProps,\n options?: {\n enableSelect?: Ref<boolean>;\n },\n) {\n const headers = ref<InternalDataTableHeader[][]>([]);\n const columns = ref<InternalDataTableHeader[]>([]);\n\n watchEffect(() => {\n const rows =\n props.headers.length > 0\n ? Array.isArray(props.headers[0])\n ? (props.headers as DataTableHeader[][])\n : [props.headers as DataTableHeader[]]\n : [];\n const flat = rows.flatMap((row, index) =>\n row.map((column) => ({ column, rowIndex: index })),\n );\n const rowCount = rows.length;\n const defaultHeader = { text: '', sortable: false };\n const defaultActionHeader = { ...defaultHeader, width: 48 };\n\n if (options?.enableSelect?.value) {\n const foundIndex = flat.findIndex(\n ({ column }) => column.key === 'data-table-select',\n );\n if (foundIndex < 0) {\n flat.unshift({\n column: {\n ...defaultActionHeader,\n key: 'data-table-select',\n rowspan: rowCount,\n },\n rowIndex: 0,\n });\n } else {\n flat.splice(foundIndex, 1, {\n column: {\n ...defaultActionHeader,\n ...flat[foundIndex].column,\n },\n rowIndex: flat[foundIndex].rowIndex,\n });\n }\n }\n\n const fixedRows: InternalDataTableHeader[][] = getRangeArr(rowCount).map(\n () => [],\n );\n const fixedOffsets = getRangeArr(rowCount).fill(0);\n\n flat.forEach(({ column, rowIndex }) => {\n const { key } = column;\n for (\n let i = rowIndex;\n i <= rowIndex + (column.rowspan ?? 1) - 1;\n i += 1\n ) {\n fixedRows[i].push({\n ...column,\n key,\n fixedOffset: fixedOffsets[i],\n sortable: column.sortable ?? !!key,\n });\n fixedOffsets[i] += Number(column.width ?? 0);\n }\n });\n\n fixedRows.forEach((row) => {\n for (let i = row.length; (i -= 1); i >= 0) {\n if (row[i].fixed) {\n row[i].lastFixed = true;\n return;\n }\n }\n });\n\n const seen = new Set();\n headers.value = fixedRows.map((row) => {\n const filtered = [];\n for (const column of row) {\n if (!seen.has(column.key)) {\n seen.add(column.key);\n filtered.push(column);\n }\n }\n return filtered;\n });\n\n columns.value = fixedRows.at(-1) ?? [];\n });\n\n const data = { headers, columns };\n\n provide(Y_DATA_TABLE_HEADER_KEY, data);\n\n return data;\n}\n\nexport function useHeader() {\n const data = inject(Y_DATA_TABLE_HEADER_KEY);\n if (!data) {\n throw new Error(`Not provided: ${Y_DATA_TABLE_HEADER_KEY.description}`);\n }\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"header.mjs","names":["inject","provide","ref","watchEffect","getRangeArr","propsFactory","pressDataTableHeader","headers","type","Array","default","Y_DATA_TABLE_HEADER_KEY","Symbol","for","createHeader","props","options","columns","rows","length","isArray","flat","flatMap","row","index","map","column","rowIndex","rowCount","defaultHeader","text","sortable","defaultActionHeader","width","enableSelect","value","foundIndex","findIndex","_ref","key","unshift","rowspan","splice","fixedRows","fixedOffsets","fill","forEach","_ref2","i","push","fixedOffset","Number","fixed","lastFixed","seen","Set","filtered","has","add","at","data","useHeader","Error","description"],"sources":["../../../../src/components/table/composibles/header.ts"],"sourcesContent":["import {\n DeepReadonly,\n InjectionKey,\n PropType,\n Ref,\n inject,\n provide,\n ref,\n watchEffect,\n} from 'vue';\n\nimport { getRangeArr } from '../../../util/common';\nimport { propsFactory } from '../../../util/vue-component';\nimport { DataTableHeader, InternalDataTableHeader } from '../types';\n\nexport const pressDataTableHeader = propsFactory(\n {\n headers: {\n type: Array as PropType<(DataTableHeader[] | DataTableHeader[][])>,\n default: () => [],\n },\n },\n 'YDataTable--header',\n);\n\nexport const Y_DATA_TABLE_HEADER_KEY: InjectionKey<{\n headers: Ref<InternalDataTableHeader[][]>;\n columns: Ref<InternalDataTableHeader[]>;\n}> = Symbol.for('yuyeon.data-table.header');\n\ntype HeaderProps = {\n headers: DeepReadonly<DataTableHeader[] | DataTableHeader[][]>;\n};\n\nexport function createHeader(\n props: HeaderProps,\n options?: {\n enableSelect?: Ref<boolean>;\n },\n) {\n const headers = ref<InternalDataTableHeader[][]>([]);\n const columns = ref<InternalDataTableHeader[]>([]);\n\n watchEffect(() => {\n const rows =\n props.headers.length > 0\n ? Array.isArray(props.headers[0])\n ? (props.headers as DataTableHeader[][])\n : [props.headers as DataTableHeader[]]\n : [];\n const flat = rows.flatMap((row, index) =>\n row.map((column) => ({ column, rowIndex: index })),\n );\n const rowCount = rows.length;\n const defaultHeader = { text: '', sortable: false };\n const defaultActionHeader = { ...defaultHeader, width: 48 };\n\n if (options?.enableSelect?.value) {\n const foundIndex = flat.findIndex(\n ({ column }) => column.key === 'data-table-select',\n );\n if (foundIndex < 0) {\n flat.unshift({\n column: {\n ...defaultActionHeader,\n key: 'data-table-select',\n rowspan: rowCount,\n },\n rowIndex: 0,\n });\n } else {\n flat.splice(foundIndex, 1, {\n column: {\n ...defaultActionHeader,\n ...flat[foundIndex].column,\n },\n rowIndex: flat[foundIndex].rowIndex,\n });\n }\n }\n\n const fixedRows: InternalDataTableHeader[][] = getRangeArr(rowCount).map(\n () => [],\n );\n const fixedOffsets = getRangeArr(rowCount).fill(0);\n\n flat.forEach(({ column, rowIndex }) => {\n const { key } = column;\n for (\n let i = rowIndex;\n i <= rowIndex + (column.rowspan ?? 1) - 1;\n i += 1\n ) {\n fixedRows[i].push({\n ...column,\n key,\n fixedOffset: fixedOffsets[i],\n sortable: column.sortable ?? !!key,\n });\n fixedOffsets[i] += Number(column.width ?? 0);\n }\n });\n\n fixedRows.forEach((row) => {\n for (let i = row.length; (i -= 1); i >= 0) {\n if (row[i].fixed) {\n row[i].lastFixed = true;\n return;\n }\n }\n });\n\n const seen = new Set();\n headers.value = fixedRows.map((row) => {\n const filtered = [];\n for (const column of row) {\n if (!seen.has(column.key)) {\n seen.add(column.key);\n filtered.push(column);\n }\n }\n return filtered;\n });\n\n columns.value = fixedRows.at(-1) ?? [];\n });\n\n const data = { headers, columns };\n\n provide(Y_DATA_TABLE_HEADER_KEY, data);\n\n return data;\n}\n\nexport function useHeader() {\n const data = inject(Y_DATA_TABLE_HEADER_KEY);\n if (!data) {\n throw new Error(`Not provided: ${Y_DATA_TABLE_HEADER_KEY.description}`);\n }\n return data;\n}\n"],"mappings":"AAAA,SAKEA,MAAM,EACNC,OAAO,EACPC,GAAG,EACHC,WAAW,QACN,KAAK;AAAC,SAEJC,WAAW;AAAA,SACXC,YAAY;AAGrB,OAAO,MAAMC,oBAAoB,GAAGD,YAAY,CAC9C;EACEE,OAAO,EAAE;IACPC,IAAI,EAAEC,KAA4D;IAClEC,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC,EACD,oBACF,CAAC;AAED,OAAO,MAAMC,uBAGX,GAAGC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAM3C,OAAO,SAASC,YAAYA,CAC1BC,KAAkB,EAClBC,OAEC,EACD;EACA,MAAMT,OAAO,GAAGL,GAAG,CAA8B,EAAE,CAAC;EACpD,MAAMe,OAAO,GAAGf,GAAG,CAA4B,EAAE,CAAC;EAElDC,WAAW,CAAC,MAAM;IAChB,MAAMe,IAAI,GACRH,KAAK,CAACR,OAAO,CAACY,MAAM,GAAG,CAAC,GACpBV,KAAK,CAACW,OAAO,CAACL,KAAK,CAACR,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5BQ,KAAK,CAACR,OAAO,GACd,CAACQ,KAAK,CAACR,OAAO,CAAsB,GACtC,EAAE;IACR,MAAMc,IAAI,GAAGH,IAAI,CAACI,OAAO,CAAC,CAACC,GAAG,EAAEC,KAAK,KACnCD,GAAG,CAACE,GAAG,CAAEC,MAAM,KAAM;MAAEA,MAAM;MAAEC,QAAQ,EAAEH;IAAM,CAAC,CAAC,CACnD,CAAC;IACD,MAAMI,QAAQ,GAAGV,IAAI,CAACC,MAAM;IAC5B,MAAMU,aAAa,GAAG;MAAEC,IAAI,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAM,CAAC;IACnD,MAAMC,mBAAmB,GAAG;MAAE,GAAGH,aAAa;MAAEI,KAAK,EAAE;IAAG,CAAC;IAE3D,IAAIjB,OAAO,EAAEkB,YAAY,EAAEC,KAAK,EAAE;MAChC,MAAMC,UAAU,GAAGf,IAAI,CAACgB,SAAS,CAC/BC,IAAA;QAAA,IAAC;UAAEZ;QAAO,CAAC,GAAAY,IAAA;QAAA,OAAKZ,MAAM,CAACa,GAAG,KAAK,mBAAmB;MAAA,CACpD,CAAC;MACD,IAAIH,UAAU,GAAG,CAAC,EAAE;QAClBf,IAAI,CAACmB,OAAO,CAAC;UACXd,MAAM,EAAE;YACN,GAAGM,mBAAmB;YACtBO,GAAG,EAAE,mBAAmB;YACxBE,OAAO,EAAEb;UACX,CAAC;UACDD,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ,CAAC,MAAM;QACLN,IAAI,CAACqB,MAAM,CAACN,UAAU,EAAE,CAAC,EAAE;UACzBV,MAAM,EAAE;YACN,GAAGM,mBAAmB;YACtB,GAAGX,IAAI,CAACe,UAAU,CAAC,CAACV;UACtB,CAAC;UACDC,QAAQ,EAAEN,IAAI,CAACe,UAAU,CAAC,CAACT;QAC7B,CAAC,CAAC;MACJ;IACF;IAEA,MAAMgB,SAAsC,GAAGvC,WAAW,CAACwB,QAAQ,CAAC,CAACH,GAAG,CACtE,MAAM,EACR,CAAC;IACD,MAAMmB,YAAY,GAAGxC,WAAW,CAACwB,QAAQ,CAAC,CAACiB,IAAI,CAAC,CAAC,CAAC;IAElDxB,IAAI,CAACyB,OAAO,CAACC,KAAA,IAA0B;MAAA,IAAzB;QAAErB,MAAM;QAAEC;MAAS,CAAC,GAAAoB,KAAA;MAChC,MAAM;QAAER;MAAI,CAAC,GAAGb,MAAM;MACtB,KACE,IAAIsB,CAAC,GAAGrB,QAAQ,EAChBqB,CAAC,IAAIrB,QAAQ,IAAID,MAAM,CAACe,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EACzCO,CAAC,IAAI,CAAC,EACN;QACAL,SAAS,CAACK,CAAC,CAAC,CAACC,IAAI,CAAC;UAChB,GAAGvB,MAAM;UACTa,GAAG;UACHW,WAAW,EAAEN,YAAY,CAACI,CAAC,CAAC;UAC5BjB,QAAQ,EAAEL,MAAM,CAACK,QAAQ,IAAI,CAAC,CAACQ;QACjC,CAAC,CAAC;QACFK,YAAY,CAACI,CAAC,CAAC,IAAIG,MAAM,CAACzB,MAAM,CAACO,KAAK,IAAI,CAAC,CAAC;MAC9C;IACF,CAAC,CAAC;IAEFU,SAAS,CAACG,OAAO,CAAEvB,GAAG,IAAK;MACzB,KAAK,IAAIyB,CAAC,GAAGzB,GAAG,CAACJ,MAAM,EAAG6B,CAAC,IAAI,CAAC,EAAGA,CAAC,IAAI,CAAC,EAAE;QACzC,IAAIzB,GAAG,CAACyB,CAAC,CAAC,CAACI,KAAK,EAAE;UAChB7B,GAAG,CAACyB,CAAC,CAAC,CAACK,SAAS,GAAG,IAAI;UACvB;QACF;MACF;IACF,CAAC,CAAC;IAEF,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;IACtBhD,OAAO,CAAC4B,KAAK,GAAGQ,SAAS,CAAClB,GAAG,CAAEF,GAAG,IAAK;MACrC,MAAMiC,QAAQ,GAAG,EAAE;MACnB,KAAK,MAAM9B,MAAM,IAAIH,GAAG,EAAE;QACxB,IAAI,CAAC+B,IAAI,CAACG,GAAG,CAAC/B,MAAM,CAACa,GAAG,CAAC,EAAE;UACzBe,IAAI,CAACI,GAAG,CAAChC,MAAM,CAACa,GAAG,CAAC;UACpBiB,QAAQ,CAACP,IAAI,CAACvB,MAAM,CAAC;QACvB;MACF;MACA,OAAO8B,QAAQ;IACjB,CAAC,CAAC;IAEFvC,OAAO,CAACkB,KAAK,GAAGQ,SAAS,CAACgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;EACxC,CAAC,CAAC;EAEF,MAAMC,IAAI,GAAG;IAAErD,OAAO;IAAEU;EAAQ,CAAC;EAEjChB,OAAO,CAACU,uBAAuB,EAAEiD,IAAI,CAAC;EAEtC,OAAOA,IAAI;AACb;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMD,IAAI,GAAG5D,MAAM,CAACW,uBAAuB,CAAC;EAC5C,IAAI,CAACiD,IAAI,EAAE;IACT,MAAM,IAAIE,KAAK,CAAE,iBAAgBnD,uBAAuB,CAACoD,WAAY,EAAC,CAAC;EACzE;EACA,OAAOH,IAAI;AACb"}
@@ -0,0 +1,46 @@
1
+ import { createVNode as _createVNode } from "vue";
2
+ import { computed, defineComponent } from 'vue';
3
+ import { useRender } from "../../composables/component.mjs";
4
+ import { getObjectValueByPath } from "../../util/common.mjs";
5
+ import { simpleBraceParse } from "../../util/string.mjs";
6
+ export const YTi = defineComponent({
7
+ name: 'YTi',
8
+ props: {
9
+ text: String,
10
+ item: Object,
11
+ tag: {
12
+ type: String,
13
+ default: 'span'
14
+ }
15
+ },
16
+ setup(props, _ref) {
17
+ let {
18
+ slots
19
+ } = _ref;
20
+ const parsed = computed(() => {
21
+ return simpleBraceParse(props.text ?? '');
22
+ });
23
+ function getValue(key) {
24
+ return getObjectValueByPath(props.item, key);
25
+ }
26
+ useRender(() => {
27
+ const ElTag = props.tag;
28
+ return _createVNode(ElTag, null, {
29
+ default: () => [slots.default ? slots.default?.({
30
+ nodes: parsed.value
31
+ }) : parsed.value.map(frag => {
32
+ if (frag.type === 'text') {
33
+ return frag.content;
34
+ }
35
+ if (frag.type === 'variable') {
36
+ return slots?.[frag.content] ? slots[frag.content]?.({
37
+ key: frag.content,
38
+ value: getValue(frag.content)
39
+ }) : getValue(frag.content);
40
+ }
41
+ })]
42
+ });
43
+ });
44
+ }
45
+ });
46
+ //# sourceMappingURL=YTi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YTi.mjs","names":["computed","defineComponent","useRender","getObjectValueByPath","simpleBraceParse","YTi","name","props","text","String","item","Object","tag","type","default","setup","_ref","slots","parsed","getValue","key","ElTag","_createVNode","nodes","value","map","frag","content"],"sources":["../../../src/components/text-interpolation/YTi.tsx"],"sourcesContent":["import { PropType, computed, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { getObjectValueByPath } from '../../util/common';\nimport { simpleBraceParse } from '../../util/string';\n\nexport const YTi = defineComponent({\n name: 'YTi',\n props: {\n text: String,\n item: Object,\n tag: {\n type: String as PropType<keyof HTMLElementTagNameMap>,\n default: 'span',\n },\n },\n setup(props, { slots }) {\n const parsed = computed(() => {\n return simpleBraceParse(props.text ?? '');\n });\n\n function getValue(key: string) {\n return getObjectValueByPath(props.item, key);\n }\n\n useRender(() => {\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\n return (\n <ElTag>\n {slots.default\n ? slots.default?.({ nodes: parsed.value })\n : parsed.value.map((frag) => {\n if (frag.type === 'text') {\n return frag.content;\n }\n if (frag.type === 'variable') {\n return slots?.[frag.content]\n ? slots[frag.content]?.({\n key: frag.content,\n value: getValue(frag.content),\n })\n : getValue(frag.content);\n }\n })}\n </ElTag>\n );\n });\n },\n});\n\nexport type YTi = InstanceType<typeof YTi>;\n"],"mappings":";AAAA,SAAmBA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEjDC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,gBAAgB;AAEzB,OAAO,MAAMC,GAAG,GAAGJ,eAAe,CAAC;EACjCK,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAM;IACZC,IAAI,EAAEC,MAAM;IACZC,GAAG,EAAE;MACHC,IAAI,EAAEJ,MAA+C;MACrDK,OAAO,EAAE;IACX;EACF,CAAC;EACDC,KAAKA,CAACR,KAAK,EAAAS,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,MAAM,GAAGlB,QAAQ,CAAC,MAAM;MAC5B,OAAOI,gBAAgB,CAACG,KAAK,CAACC,IAAI,IAAI,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEF,SAASW,QAAQA,CAACC,GAAW,EAAE;MAC7B,OAAOjB,oBAAoB,CAACI,KAAK,CAACG,IAAI,EAAEU,GAAG,CAAC;IAC9C;IAEAlB,SAAS,CAAC,MAAM;MACd,MAAMmB,KAAK,GAAGd,KAAK,CAACK,GAAkC;MACtD,OAAAU,YAAA,CAAAD,KAAA;QAAAP,OAAA,EAAAA,CAAA,MAEKG,KAAK,CAACH,OAAO,GACVG,KAAK,CAACH,OAAO,GAAG;UAAES,KAAK,EAAEL,MAAM,CAACM;QAAM,CAAC,CAAC,GACxCN,MAAM,CAACM,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAK;UACzB,IAAIA,IAAI,CAACb,IAAI,KAAK,MAAM,EAAE;YACxB,OAAOa,IAAI,CAACC,OAAO;UACrB;UACA,IAAID,IAAI,CAACb,IAAI,KAAK,UAAU,EAAE;YAC5B,OAAOI,KAAK,GAAGS,IAAI,CAACC,OAAO,CAAC,GACxBV,KAAK,CAACS,IAAI,CAACC,OAAO,CAAC,GAAG;cACpBP,GAAG,EAAEM,IAAI,CAACC,OAAO;cACjBH,KAAK,EAAEL,QAAQ,CAACO,IAAI,CAACC,OAAO;YAC9B,CAAC,CAAC,GACFR,QAAQ,CAACO,IAAI,CAACC,OAAO,CAAC;UAC5B;QACF,CAAC,CAAC;MAAA;IAGZ,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./YTi.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/text-interpolation/index.ts"],"sourcesContent":["export * from './YTi';\r\n"],"mappings":""}
@@ -0,0 +1,31 @@
1
+ export function simpleBraceParse(input) {
2
+ const pattern = /\{([^{}]+)\}/g;
3
+ const results = [];
4
+ let match;
5
+ let pointer = 0;
6
+ while ((match = pattern.exec(input)) !== null) {
7
+ const variable = match[1];
8
+ const start = match.index;
9
+ const end = pattern.lastIndex;
10
+ if (start > 0) {
11
+ const prevText = input.substring(pointer, start);
12
+ results.push({
13
+ type: 'text',
14
+ content: prevText
15
+ });
16
+ }
17
+ if (variable.trim()) {
18
+ results.push({
19
+ type: 'variable',
20
+ content: variable.trim()
21
+ });
22
+ }
23
+ pointer = end;
24
+ }
25
+ results.push({
26
+ type: 'text',
27
+ content: input.substring(pointer, input.length)
28
+ });
29
+ return results;
30
+ }
31
+ //# sourceMappingURL=parser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.mjs","names":["simpleBraceParse","input","pattern","results","match","pointer","exec","variable","start","index","end","lastIndex","prevText","substring","push","type","content","trim","length"],"sources":["../../src/util/parser.ts"],"sourcesContent":["export function simpleBraceParse(input: string) {\r\n const pattern = /\\{([^{}]+)\\}/g;\r\n const results = [];\r\n let match;\r\n let pointer = 0;\r\n\r\n while ((match = pattern.exec(input)) !== null) {\r\n const variable = match[1];\r\n const start = match.index;\r\n const end = pattern.lastIndex;\r\n if (start > 0) {\r\n const prevText = input.substring(pointer, start);\r\n results.push({\r\n type: 'text',\r\n content: prevText,\r\n });\r\n }\r\n if (variable.trim()) {\r\n results.push({\r\n type: 'variable',\r\n content: variable.trim(),\r\n });\r\n }\r\n\r\n pointer = end;\r\n }\r\n\r\n results.push({\r\n type: 'text',\r\n content: input.substring(pointer, input.length),\r\n });\r\n\r\n return results;\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,gBAAgBA,CAACC,KAAa,EAAE;EAC9C,MAAMC,OAAO,GAAG,eAAe;EAC/B,MAAMC,OAAO,GAAG,EAAE;EAClB,IAAIC,KAAK;EACT,IAAIC,OAAO,GAAG,CAAC;EAEf,OAAO,CAACD,KAAK,GAAGF,OAAO,CAACI,IAAI,CAACL,KAAK,CAAC,MAAM,IAAI,EAAE;IAC7C,MAAMM,QAAQ,GAAGH,KAAK,CAAC,CAAC,CAAC;IACzB,MAAMI,KAAK,GAAGJ,KAAK,CAACK,KAAK;IACzB,MAAMC,GAAG,GAAGR,OAAO,CAACS,SAAS;IAC7B,IAAIH,KAAK,GAAG,CAAC,EAAE;MACb,MAAMI,QAAQ,GAAGX,KAAK,CAACY,SAAS,CAACR,OAAO,EAAEG,KAAK,CAAC;MAChDL,OAAO,CAACW,IAAI,CAAC;QACXC,IAAI,EAAE,MAAM;QACZC,OAAO,EAAEJ;MACX,CAAC,CAAC;IACJ;IACA,IAAIL,QAAQ,CAACU,IAAI,CAAC,CAAC,EAAE;MACnBd,OAAO,CAACW,IAAI,CAAC;QACXC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAET,QAAQ,CAACU,IAAI,CAAC;MACzB,CAAC,CAAC;IACJ;IAEAZ,OAAO,GAAGK,GAAG;EACf;EAEAP,OAAO,CAACW,IAAI,CAAC;IACXC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAEf,KAAK,CAACY,SAAS,CAACR,OAAO,EAAEJ,KAAK,CAACiB,MAAM;EAChD,CAAC,CAAC;EAEF,OAAOf,OAAO;AAChB"}
@@ -36,4 +36,34 @@ export function randomCharOne(str) {
36
36
  }
37
37
  return '';
38
38
  }
39
+ export function simpleBraceParse(input) {
40
+ const pattern = /\{([^{}]+)\}/g;
41
+ const results = [];
42
+ let match;
43
+ let pointer = 0;
44
+ while ((match = pattern.exec(input)) !== null) {
45
+ const variable = match[1];
46
+ const start = match.index;
47
+ const end = pattern.lastIndex;
48
+ if (start > 0) {
49
+ const prevText = input.substring(pointer, start);
50
+ results.push({
51
+ type: 'text',
52
+ content: prevText
53
+ });
54
+ }
55
+ if (variable.trim()) {
56
+ results.push({
57
+ type: 'variable',
58
+ content: variable.trim()
59
+ });
60
+ }
61
+ pointer = end;
62
+ }
63
+ results.push({
64
+ type: 'text',
65
+ content: input.substring(pointer, input.length)
66
+ });
67
+ return results;
68
+ }
39
69
  //# sourceMappingURL=string.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.mjs","names":["camelToPascal","str","charAt","toUpperCase","slice","toKebabCase","from","arguments","length","undefined","res","index","char","charCode","charCodeAt","toLowerCase","kebabToCamel","randomCharOne","Math","floor","random"],"sources":["../../src/util/string.ts"],"sourcesContent":["\n\nexport function camelToPascal(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function toKebabCase(str: string, from: 'camel' | 'pascal' = 'camel') {\n let res = '';\n for (let index = 0; index < str.length; index += 1) {\n const char = str[index];\n const charCode = char.charCodeAt(0);\n if (charCode >= 65 && charCode <= 90) {\n res += `${\n index === 0 && from === 'camel' ? '' : '-'\n }${char.toLowerCase()}`;\n } else {\n res += char;\n }\n }\n return res;\n}\n\nexport function kebabToCamel(str: string) {\n let res = '';\n let index = 0;\n while (index < str.length) {\n const char = str[index];\n if (char === '-') {\n index += 1;\n res += str[index].toUpperCase();\n } else {\n res += char;\n }\n index += 1;\n }\n return res;\n}\n\nexport function randomCharOne(str: string) {\n if (str) {\n return str.charAt(Math.floor(Math.random() * str.length));\n }\n return '';\n}\n"],"mappings":"AAEA,OAAO,SAASA,aAAaA,CAACC,GAAW,EAAE;EACzC,OAAOA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,CAAC;AACnD;AAEA,OAAO,SAASC,WAAWA,CAACJ,GAAW,EAAsC;EAAA,IAApCK,IAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EACzE,IAAIG,GAAG,GAAG,EAAE;EACZ,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGV,GAAG,CAACO,MAAM,EAAEG,KAAK,IAAI,CAAC,EAAE;IAClD,MAAMC,IAAI,GAAGX,GAAG,CAACU,KAAK,CAAC;IACvB,MAAME,QAAQ,GAAGD,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC;IACnC,IAAID,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,EAAE;MACpCH,GAAG,IAAK,GACNC,KAAK,KAAK,CAAC,IAAIL,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,GACxC,GAAEM,IAAI,CAACG,WAAW,CAAC,CAAE,EAAC;IACzB,CAAC,MAAM;MACLL,GAAG,IAAIE,IAAI;IACb;EACF;EACA,OAAOF,GAAG;AACZ;AAEA,OAAO,SAASM,YAAYA,CAACf,GAAW,EAAE;EACxC,IAAIS,GAAG,GAAG,EAAE;EACZ,IAAIC,KAAK,GAAG,CAAC;EACb,OAAOA,KAAK,GAAGV,GAAG,CAACO,MAAM,EAAE;IACzB,MAAMI,IAAI,GAAGX,GAAG,CAACU,KAAK,CAAC;IACvB,IAAIC,IAAI,KAAK,GAAG,EAAE;MAChBD,KAAK,IAAI,CAAC;MACVD,GAAG,IAAIT,GAAG,CAACU,KAAK,CAAC,CAACR,WAAW,CAAC,CAAC;IACjC,CAAC,MAAM;MACLO,GAAG,IAAIE,IAAI;IACb;IACAD,KAAK,IAAI,CAAC;EACZ;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASO,aAAaA,CAAChB,GAAW,EAAE;EACzC,IAAIA,GAAG,EAAE;IACP,OAAOA,GAAG,CAACC,MAAM,CAACgB,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGnB,GAAG,CAACO,MAAM,CAAC,CAAC;EAC3D;EACA,OAAO,EAAE;AACX"}
1
+ {"version":3,"file":"string.mjs","names":["camelToPascal","str","charAt","toUpperCase","slice","toKebabCase","from","arguments","length","undefined","res","index","char","charCode","charCodeAt","toLowerCase","kebabToCamel","randomCharOne","Math","floor","random","simpleBraceParse","input","pattern","results","match","pointer","exec","variable","start","end","lastIndex","prevText","substring","push","type","content","trim"],"sources":["../../src/util/string.ts"],"sourcesContent":["export function camelToPascal(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function toKebabCase(str: string, from: 'camel' | 'pascal' = 'camel') {\n let res = '';\n for (let index = 0; index < str.length; index += 1) {\n const char = str[index];\n const charCode = char.charCodeAt(0);\n if (charCode >= 65 && charCode <= 90) {\n res += `${\n index === 0 && from === 'camel' ? '' : '-'\n }${char.toLowerCase()}`;\n } else {\n res += char;\n }\n }\n return res;\n}\n\nexport function kebabToCamel(str: string) {\n let res = '';\n let index = 0;\n while (index < str.length) {\n const char = str[index];\n if (char === '-') {\n index += 1;\n res += str[index].toUpperCase();\n } else {\n res += char;\n }\n index += 1;\n }\n return res;\n}\n\nexport function randomCharOne(str: string) {\n if (str) {\n return str.charAt(Math.floor(Math.random() * str.length));\n }\n return '';\n}\n\nexport function simpleBraceParse(input: string) {\n const pattern = /\\{([^{}]+)\\}/g;\n const results = [];\n let match;\n let pointer = 0;\n\n while ((match = pattern.exec(input)) !== null) {\n const variable = match[1];\n const start = match.index;\n const end = pattern.lastIndex;\n if (start > 0) {\n const prevText = input.substring(pointer, start);\n results.push({\n type: 'text',\n content: prevText,\n });\n }\n if (variable.trim()) {\n results.push({\n type: 'variable',\n content: variable.trim(),\n });\n }\n\n pointer = end;\n }\n\n results.push({\n type: 'text',\n content: input.substring(pointer, input.length),\n });\n\n return results;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.1.0-rc.20",
3
+ "version": "0.1.0-rc.21",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"
@@ -42,6 +42,7 @@
42
42
  "module": "./lib/util/index.mjs"
43
43
  },
44
44
  "./components/*": "./lib/components/*/index.mjs",
45
+ "./shims": "./types/shims.d.ts",
45
46
  "./types/*": "./types/*",
46
47
  "./*": "./*"
47
48
  },
@@ -33,3 +33,4 @@ export * from './badge';
33
33
  export * from './text-ellipsis';
34
34
  export * from './ip-field';
35
35
  export * from './hover';
36
+ export * from './text-interpolation';
@@ -0,0 +1,20 @@
1
+ import { PropType } from 'vue';
2
+
3
+ export declare const YTi: import('vue').DefineComponent<{
4
+ text: StringConstructor;
5
+ item: ObjectConstructor;
6
+ tag: {
7
+ type: PropType<keyof HTMLElementTagNameMap>;
8
+ default: string;
9
+ };
10
+ }, void, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
+ text: StringConstructor;
12
+ item: ObjectConstructor;
13
+ tag: {
14
+ type: PropType<keyof HTMLElementTagNameMap>;
15
+ default: string;
16
+ };
17
+ }>>, {
18
+ tag: keyof HTMLElementTagNameMap;
19
+ }, {}>;
20
+ export type YTi = InstanceType<typeof YTi>;
@@ -0,0 +1 @@
1
+ export * from './YTi';
package/types/shims.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { YAlert, YApp, YBadge, YButton, YCard, YCardBody, YCardFooter, YCardHeader, YCheckbox, YChip, YDataTable, YDataTableServer, YDateCalendar, YDatePicker, YDialog, YDividePanel, YDivider, YDropdown, YExpandHTransition, YExpandVTransition, YFieldInput, YForm, YHover, YIcon, YInput, YInputCheckbox, YIpv4Field, YLayer, YList, YListItem, YMenu, YMonthPicker, YPagination, YProgressBar, YSelect, YSnackbar, YSpinnerRing, YSwitch, YTab, YTable, YTabs, YTextarea, YTooltip, YTreeView, YTreeViewNode } from 'yuyeon/components';
1
+ import { YAlert, YApp, YBadge, YButton, YCard, YCardBody, YCardFooter, YCardHeader, YCheckbox, YChip, YDataTable, YDataTableServer, YDateCalendar, YDatePicker, YDialog, YDividePanel, YDivider, YDropdown, YExpandHTransition, YExpandVTransition, YFieldInput, YForm, YHover, YIcon, YInput, YInputCheckbox, YIpv4Field, YLayer, YList, YListItem, YMenu, YMonthPicker, YPagination, YProgressBar, YSelect, YSnackbar, YSpinnerRing, YSwitch, YTab, YTable, YTabs, YTextarea, YTooltip, YTreeView, YTreeViewNode, YTi } from 'yuyeon/components';
2
2
 
3
3
 
4
4
  declare module '@vue/runtime-core' {
@@ -49,5 +49,6 @@ declare module '@vue/runtime-core' {
49
49
  YBadge: typeof YBadge;
50
50
  YIpv4Field: typeof YIpv4Field;
51
51
  YHover: typeof YHover;
52
+ YTi: typeof YTi;
52
53
  }
53
54
  }
@@ -0,0 +1,4 @@
1
+ export declare function simpleBraceParse(input: string): {
2
+ type: string;
3
+ content: string;
4
+ }[];
@@ -2,3 +2,7 @@ export declare function camelToPascal(str: string): string;
2
2
  export declare function toKebabCase(str: string, from?: 'camel' | 'pascal'): string;
3
3
  export declare function kebabToCamel(str: string): string;
4
4
  export declare function randomCharOne(str: string): string;
5
+ export declare function simpleBraceParse(input: string): {
6
+ type: string;
7
+ content: string;
8
+ }[];