Jelajahi Sumber

[stdf]@v0.3.0 Add NumKeyboard

dufu1991 3 tahun lalu
induk
melakukan
6e1043cdd6
69 mengubah file dengan 357 tambahan dan 1 penghapusan
  1. 2 0
      packages/stdf/components/index.js
  2. 288 0
      packages/stdf/components/numKeyboard/NumKeyboard.svelte
  3. 1 0
      packages/stdf/lang/ar_EG.js
  4. 1 0
      packages/stdf/lang/az_AZ.js
  5. 1 0
      packages/stdf/lang/bg_BG.js
  6. 1 0
      packages/stdf/lang/bn_BD.js
  7. 1 0
      packages/stdf/lang/ca_ES.js
  8. 1 0
      packages/stdf/lang/cs_CZ.js
  9. 1 0
      packages/stdf/lang/da_DK.js
  10. 1 0
      packages/stdf/lang/de_DE.js
  11. 1 0
      packages/stdf/lang/el_GR.js
  12. 1 0
      packages/stdf/lang/en_GB.js
  13. 1 0
      packages/stdf/lang/en_US.js
  14. 1 0
      packages/stdf/lang/es_ES.js
  15. 1 0
      packages/stdf/lang/et_EE.js
  16. 1 0
      packages/stdf/lang/eu_ES.js
  17. 1 0
      packages/stdf/lang/fa_IR.js
  18. 1 0
      packages/stdf/lang/fi_FI.js
  19. 1 0
      packages/stdf/lang/fr_BE.js
  20. 1 0
      packages/stdf/lang/fr_CA.js
  21. 1 0
      packages/stdf/lang/fr_FR.js
  22. 1 0
      packages/stdf/lang/ga_IE.js
  23. 1 0
      packages/stdf/lang/gl_ES.js
  24. 1 0
      packages/stdf/lang/he_IL.js
  25. 1 0
      packages/stdf/lang/hi_IN.js
  26. 1 0
      packages/stdf/lang/hr_HR.js
  27. 1 0
      packages/stdf/lang/hu_HU.js
  28. 1 0
      packages/stdf/lang/hy_AM.js
  29. 1 0
      packages/stdf/lang/id_ID.js
  30. 1 0
      packages/stdf/lang/is_IS.js
  31. 1 0
      packages/stdf/lang/it_IT.js
  32. 1 0
      packages/stdf/lang/ja_JP.js
  33. 1 0
      packages/stdf/lang/ka_GE.js
  34. 1 0
      packages/stdf/lang/kk_KZ.js
  35. 1 0
      packages/stdf/lang/km_KH.js
  36. 1 0
      packages/stdf/lang/kmr_IQ.js
  37. 1 0
      packages/stdf/lang/kn_IN.js
  38. 1 0
      packages/stdf/lang/ko_KR.js
  39. 1 0
      packages/stdf/lang/lt_LT.js
  40. 1 0
      packages/stdf/lang/lv_LV.js
  41. 1 0
      packages/stdf/lang/mk_MK.js
  42. 1 0
      packages/stdf/lang/ml_IN.js
  43. 1 0
      packages/stdf/lang/mn_MN.js
  44. 1 0
      packages/stdf/lang/ms_MY.js
  45. 1 0
      packages/stdf/lang/nb_NO.js
  46. 1 0
      packages/stdf/lang/ne_NP.js
  47. 1 0
      packages/stdf/lang/nl_BE.js
  48. 1 0
      packages/stdf/lang/nl_NL.js
  49. 1 0
      packages/stdf/lang/pl_PL.js
  50. 1 0
      packages/stdf/lang/pt_BR.js
  51. 1 0
      packages/stdf/lang/pt_PT.js
  52. 1 0
      packages/stdf/lang/ro_RO.js
  53. 1 0
      packages/stdf/lang/ru_RU.js
  54. 1 0
      packages/stdf/lang/si_LK.js
  55. 1 0
      packages/stdf/lang/sk_SK.js
  56. 1 0
      packages/stdf/lang/sl_SI.js
  57. 1 0
      packages/stdf/lang/sr_RS.js
  58. 1 0
      packages/stdf/lang/sv_SE.js
  59. 1 0
      packages/stdf/lang/ta_IN.js
  60. 1 0
      packages/stdf/lang/th_TH.js
  61. 1 0
      packages/stdf/lang/tk_TK.js
  62. 1 0
      packages/stdf/lang/tr_TR.js
  63. 1 0
      packages/stdf/lang/uk_UA.js
  64. 1 0
      packages/stdf/lang/ur_PK.js
  65. 1 0
      packages/stdf/lang/vi_VN.js
  66. 1 0
      packages/stdf/lang/zh_CN.js
  67. 1 0
      packages/stdf/lang/zh_HK.js
  68. 1 0
      packages/stdf/lang/zh_TW.js
  69. 1 1
      packages/stdf/package.json

+ 2 - 0
packages/stdf/components/index.js

@@ -41,6 +41,7 @@ import AsyncPicker from './asyncPicker/AsyncPicker.svelte';
 import TimePicker from './timePicker/TimePicker.svelte';
 import Calendar from './calendar/Calendar.svelte';
 import Pagination from './pagination/Pagination.svelte';
+import NumKeyboard from './numKeyboard/NumKeyboard.svelte';
 
 export {
 	Button,
@@ -86,4 +87,5 @@ export {
 	TimePicker,
 	Calendar,
 	Pagination,
+	NumKeyboard,
 };

+ 288 - 0
packages/stdf/components/numKeyboard/NumKeyboard.svelte

@@ -0,0 +1,288 @@
+<script>
+	import { createEventDispatcher, getContext } from 'svelte';
+	import Popup from '../popup/Popup.svelte';
+	import Icon from '../icon/Icon.svelte';
+	import zh_CN from '../../lang/zh_CN';
+
+	// 定义事件派发器
+	// Define event dispatcher
+	const dispatch = createEventDispatcher();
+
+	// 当前语言
+	// current language
+	const currentLang = getContext('STDF_lang') || zh_CN;
+	const commonLang = currentLang.common;
+
+	// 键盘样式类型,按钮式或块式
+	// Keyboard style type, button or block
+	export let type = 'button';
+
+	// 是否显示
+	// Whether to show
+	export let visible = true;
+
+	// 每一个按键的高度
+	// Height of each key
+	export let height = '12';
+
+	// 间距
+	// the spacing
+	export let gap = '2';
+
+	// 键盘内边距
+	// Keyboard padding
+	export let p = '2';
+
+	// 数字键盘上下反向
+	// Number keyboard up and down reverse
+	export let reverse = false;
+
+	// 是否显示完成按钮
+	// Whether to show the done button
+	export let done = true;
+
+	// 显示小数点
+	// Show decimal point
+	export let dot = true;
+
+	// 显示关闭按钮
+	// Show close button
+	export let close = false;
+
+	// 完成按钮文本
+	// Done button text
+	export let doneText = commonLang.done;
+
+	// 完成按钮是否禁用
+	// Whether the done button is disabled
+	export let doneDisabled = false;
+
+	// 按钮圆角
+	// Button rounded corners
+	export let radius = 'base';
+
+	// 键盘面板注入 class
+	// Keyboard panel injection class
+	export let panelClass = '';
+
+	// 按键注入 class
+	// Key injection class
+	export let keyClass = '';
+
+	// 完成按键注入 class
+	// Done key injection class
+	export let doneClass = '';
+
+	// popup 参数
+	// popup parameter
+	export let popup = {};
+
+	// 高度 class
+	// Height class
+	const heightClass = {
+		'8': 'h-8',
+		'10': 'h-10',
+		'12': 'h-12',
+		'14': 'h-14',
+		'16': 'h-16',
+		'20': 'h-20',
+	};
+
+	// 根据高度动态数字大小
+	// Dynamic number size based on height
+	const fontSizeClass = {
+		'8': 'text-sm',
+		'10': 'text-base',
+		'12': 'text-xl',
+		'14': 'text-2xl',
+		'16': 'text-2xl',
+		'20': 'text-2xl',
+	};
+
+	// 间距 class
+	// spacing class
+	const gapClass = {
+		'0': 'gap-0',
+		'1': 'gap-1',
+		'2': 'gap-2',
+		'3': 'gap-3',
+		'4': 'gap-4',
+	};
+
+	// 内边距 class
+	// padding class
+	const pClass = {
+		'0': 'p-0',
+		'1': 'p-1',
+		'2': 'p-2',
+		'3': 'p-3',
+		'4': 'p-4',
+	};
+
+	// 圆角 class
+	// radius class
+	const radiusClass = {
+		none: 'rounded-none',
+		base: 'rounded',
+		md: 'rounded-md',
+		lg: 'rounded-lg',
+		xl: 'rounded-xl',
+		'2xl': 'rounded-2xl',
+		'3xl': 'rounded-3xl',
+		full: 'rounded-full',
+	};
+
+	// 根据 p、gap、height 计算出键盘高度
+	// Calculate the keyboard height based on p, gap, height
+	const keyboardHeight = () => {
+		const pNum = parseInt(p);
+		const gapNum = type === 'button' ? parseInt(gap) : 0;
+		const heightNum = parseInt(height);
+		return (pNum * 2 + gapNum * 3 + heightNum * 4) * 4 + (type === 'block' ? 4 : 0);
+	};
+
+	// 按钮式 class
+	// Button type class
+	const buttonClass = `flex flex-col justify-center shadow-sm font-bold cursor-pointer active:scale-95 transition-all duration-100 ${
+		heightClass[height] || 'h-12'
+	} ${fontSizeClass[height] || 'text-base'} ${radiusClass[radius] || 'rounded'}${keyClass ? ' ' + keyClass : ''}`;
+
+	// 块式 class
+	// Block type class
+	const blockClass = `flex flex-col justify-center font-bold cursor-pointer active:opacity-40 transition-all duration-100 ${
+		heightClass[height] || 'h-12'
+	} ${fontSizeClass[height] || 'text-base'}${keyClass ? ' ' + keyClass : ''}`;
+
+	// 根据 type 类型,生成不同的基础样式
+	// Generate different basic styles based on type type
+	const baseClassFunc = key => {
+		if (type === 'button') {
+			return key === 'done' ? buttonClass : 'bg-white dark:bg-gray4 ' + buttonClass;
+		} else {
+			return key === 'done' ? blockClass : 'bg-white dark:bg-gray4 ' + blockClass;
+		}
+	};
+
+	// 处理 0 占据的格数
+	// Handle the number of grids occupied by 0
+	const zeroColFunc = () => {
+		// 不显示完成,右下角显示删除按钮,0 最多占 2 格
+		// If you don't show it, the delete button will be displayed in the lower right corner, and 0 will occupy up to 2 grids
+		if (!done) {
+			return dot || close ? 'col-span-1' : 'col-span-2';
+		} else {
+			return dot && close ? 'col-span-1' : dot || close ? 'col-span-2' : 'col-span-3';
+		}
+	};
+
+	// 输入的数字字符
+	// Input number character
+	let numStr = '';
+
+	// 点击按键事件
+	// Click the button event
+	const clickFunc = key => {
+		// 当 key 不是 close 或 done 时,拼接字符串,是删除时,删除最后一个字符
+		// When key is not close or done, splice the string, delete the last character when it is deleted
+		if (key !== 'close' && key !== 'done') {
+			if (key === 'delete') {
+				numStr = numStr.slice(0, numStr.length - 1);
+			} else {
+				numStr += key;
+			}
+		}
+		// 如果 key 是数字处理为字符串
+		// If key is a number, process it as a string
+		const keyStr = typeof key === 'number' ? key.toString() : key;
+		// close 和 done 事件都回关闭
+		// Both close and done events will be closed
+		if (keyStr === 'close' || (keyStr === 'done' && !doneDisabled)) {
+			visible = false;
+		}
+		// 派发事件,传递出两个参数,输入的数字字符串和本次点击的类型
+		// Dispatch events, pass out two parameters, the input number string and the type of this click
+		dispatch('click', { numStr, key: keyStr });
+	};
+
+	// 激活与关闭键盘事件
+	// Activate and close the keyboard event
+	$: {
+		if (visible) {
+			dispatch('open', { keyboardHeight: keyboardHeight() });
+		} else {
+			dispatch('close');
+		}
+	}
+</script>
+
+<Popup bind:visible size={0} mask={{ opacity: 0 }} transitionDistance={keyboardHeight()} {...popup}>
+	<div
+		class="bg-gray8 dark:bg-gray1 text-center {type === 'block' ? 'border-t border-gray8 dark:border-gray1' : ''} {pClass[p] ||
+			'p-2'}{panelClass ? ' ' + panelClass : ''}"
+	>
+		<div class="grid {type === 'button' ? gapClass[gap] || 'gap-2' : 'gap-px'} {done ? 'grid-cols-4' : 'grid-cols-3'}">
+			{#each reverse ? [7, 8, 9] : [1, 2, 3] as item}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc(item)} on:click={() => clickFunc(item)}>
+					{item}
+				</div>
+			{/each}
+			{#if done}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc('delete')} on:click={() => clickFunc('delete')}>
+					<Icon name="ri-delete-back-2-line" size={height * 2} />
+				</div>
+			{/if}
+			{#each [4, 5, 6] as item}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc(item)} on:click={() => clickFunc(item)}>
+					{item}
+				</div>
+			{/each}
+			{#if done}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div
+					class="{baseClassFunc('done')} h-full row-span-3 bg-primary dark:bg-dark text-white dark:text-black {doneDisabled
+						? 'active:!scale-100 transition-none !opacity-50'
+						: ''}{doneClass ? '' + doneClass : ''}"
+					on:click={() => clickFunc('done')}
+				>
+					{doneText}
+				</div>
+			{/if}
+			{#each reverse ? [1, 2, 3] : [7, 8, 9] as item}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc(item)} on:click={() => clickFunc(item)}>
+					{item}
+				</div>
+			{/each}
+			{#if dot}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc('.')} on:click={() => clickFunc('.')}>.</div>
+			{/if}
+			{#if done ? close : !dot && close}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc('close')} on:click={() => clickFunc('close')}>
+					<Icon name="ri-skip-down-line" size={height * 2} />
+				</div>
+			{/if}
+			<!-- svelte-ignore a11y-click-events-have-key-events -->
+			<!-- svelte-ignore a11y-no-static-element-interactions -->
+			<div class={baseClassFunc('0') + ' ' + zeroColFunc()} on:click={() => clickFunc('0')}>0</div>
+			{#if !done}
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<div class={baseClassFunc('delete')} on:click={() => clickFunc('delete')}>
+					<Icon name="ri-delete-back-2-line" size={height * 2} />
+				</div>
+			{/if}
+		</div>
+	</div>
+</Popup>

+ 1 - 0
packages/stdf/lang/ar_EG.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'جار التحميل ...',
 		noData: 'لا يوجد بيانات',
 		noMoreData: 'لا توجد بيانات إضافية',
+		done: 'تم',
 	},
 	actionSheet: {
 		cancelText: 'إلغاء',

+ 1 - 0
packages/stdf/lang/az_AZ.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Yüklənir...',
 		noData: 'Məlumat yoxdur',
 		noMoreData: 'Artıq məlumat yoxdur',
+		done: 'Hazır',
 	},
 	actionSheet: {
 		cancelText: 'Ləğv et',

+ 1 - 0
packages/stdf/lang/bg_BG.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Зареждане...',
 		noData: 'Няма данни',
 		noMoreData: 'Няма повече данни',
+		done: 'Готово',
 	},
 	actionSheet: {
 		cancelText: 'Отказ',

+ 1 - 0
packages/stdf/lang/bn_BD.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'লোড হচ্ছে ...',
 		noData: 'কোন তথ্য নেই',
 		noMoreData: 'আর কোন তথ্য নেই',
+		done: 'সম্পন্ন',
 	},
 	actionSheet: {
 		cancelText: 'বাতিল',

+ 1 - 0
packages/stdf/lang/ca_ES.js

@@ -4,6 +4,7 @@ export default {
 		loading: "S'està carregant ...",
 		noData: 'No hi ha dades disponibles',
 		noMoreData: 'No hi ha més dades',
+		done: 'Fet',
 	},
 	actionSheet: {
 		cancelText: 'Cancel·lar',

+ 1 - 0
packages/stdf/lang/cs_CZ.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Načítání...',
 		noData: 'Žádná data',
 		noMoreData: 'Žádná další data',
+		done: 'Hotovo',
 	},
 	actionSheet: {
 		cancelText: 'Zrušit',

+ 1 - 0
packages/stdf/lang/da_DK.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Indlæser...',
 		noData: 'Ingen data',
 		noMoreData: 'Ingen flere data',
+		done: 'Færdig',
 	},
 	actionSheet: {
 		cancelText: 'Annuller',

+ 1 - 0
packages/stdf/lang/de_DE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Laden...',
 		noData: 'Keine Daten',
 		noMoreData: 'Keine weiteren Daten',
+		done: 'Fertig',
 	},
 	actionSheet: {
 		cancelText: 'Abbrechen',

+ 1 - 0
packages/stdf/lang/el_GR.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Φόρτωση...',
 		noData: 'Δεν υπάρχουν δεδομένα',
 		noMoreData: 'Δεν υπάρχουν άλλα δεδομένα',
+		done: 'Έγινε',
 	},
 	actionSheet: {
 		cancelText: 'Ακύρωση',

+ 1 - 0
packages/stdf/lang/en_GB.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Loading...',
 		noData: 'No data',
 		noMoreData: 'No more data',
+		done: 'Done',
 	},
 	actionSheet: {
 		cancelText: 'Cancel',

+ 1 - 0
packages/stdf/lang/en_US.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Loading...',
 		noData: 'No data',
 		noMoreData: 'No more data',
+		done: 'Done',
 	},
 	actionSheet: {
 		cancelText: 'Cancel',

+ 1 - 0
packages/stdf/lang/es_ES.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Cargando...',
 		noData: 'Sin datos',
 		noMoreData: 'No hay más datos',
+		done: 'Hecho',
 	},
 	actionSheet: {
 		cancelText: 'Cancelar',

+ 1 - 0
packages/stdf/lang/et_EE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Laadimine...',
 		noData: 'Andmeid pole',
 		noMoreData: 'Rohkem andmeid pole',
+		done: 'Valmis',
 	},
 	actionSheet: {
 		cancelText: 'Tühista',

+ 1 - 0
packages/stdf/lang/eu_ES.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Kargatzen...',
 		noData: 'Datu gabe',
 		noMoreData: 'Ez dago gehio datu',
+		done: 'Eginda',
 	},
 	actionSheet: {
 		cancelText: 'Utzi',

+ 1 - 0
packages/stdf/lang/fa_IR.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'در حال بارگذاری...',
 		noData: 'هیچ داده‌ای موجود نیست',
 		noMoreData: 'دیگر داده‌ای موجود نیست',
+		done: 'انجام شد',
 	},
 	actionSheet: {
 		cancelText: 'لغو',

+ 1 - 0
packages/stdf/lang/fi_FI.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Ladataan...',
 		noData: 'Ei dataa',
 		noMoreData: 'Ei enempää tietoja',
+		done: 'Valmis',
 	},
 	actionSheet: {
 		cancelText: 'Peruuta',

+ 1 - 0
packages/stdf/lang/fr_BE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Chargement en cours...',
 		noData: 'Aucune donnée',
 		noMoreData: 'Plus de données',
+		done: 'Terminé',
 	},
 	actionSheet: {
 		cancelText: 'Annuler',

+ 1 - 0
packages/stdf/lang/fr_CA.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Chargement en cours...',
 		noData: 'Aucune donnée',
 		noMoreData: 'Plus de données',
+		done: 'Terminé',
 	},
 	actionSheet: {
 		cancelText: 'Annuler',

+ 1 - 0
packages/stdf/lang/fr_FR.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Chargement en cours...',
 		noData: 'Aucune donnée',
 		noMoreData: 'Plus de données',
+		done: 'Terminé',
 	},
 	actionSheet: {
 		cancelText: 'Annuler',

+ 1 - 0
packages/stdf/lang/ga_IE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Lodáil i gceist...',
 		noData: 'Níl aon sonraí ann',
 		noMoreData: 'Níl tuilleadh sonraí',
+		done: 'Déanta',
 	},
 	actionSheet: {
 		cancelText: 'Cealaigh',

+ 1 - 0
packages/stdf/lang/gl_ES.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Cargando...',
 		noData: 'Ningún dato',
 		noMoreData: 'No hay más datos',
+		done: 'Hecho',
 	},
 	actionSheet: {
 		cancelText: 'Cancelar',

+ 1 - 0
packages/stdf/lang/he_IL.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'טוען...',
 		noData: 'אין נתונים',
 		noMoreData: 'אין יותר נתונים',
+		done: 'סיום',
 	},
 	actionSheet: {
 		cancelText: 'בטל',

+ 1 - 0
packages/stdf/lang/hi_IN.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'लोड हो रहा है...',
 		noData: 'कोई डेटा नहीं',
 		noMoreData: 'और डेटा नहीं',
+		done: 'पूरा कर लिया',
 	},
 	actionSheet: {
 		cancelText: 'रद्द करें',

+ 1 - 0
packages/stdf/lang/hr_HR.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Učitavanje...',
 		noData: 'Nema dostupnih podataka',
 		noMoreData: 'Nema više podataka',
+		done: 'Gotovo',
 	},
 	actionSheet: {
 		cancelText: 'Otkaži',

+ 1 - 0
packages/stdf/lang/hu_HU.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Betöltés...',
 		noData: 'Nincsenek adatok',
 		noMoreData: 'Nincs több adat',
+		done: 'Kész',
 	},
 	actionSheet: {
 		cancelText: 'Mégsem',

+ 1 - 0
packages/stdf/lang/hy_AM.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Բեռնում...',
 		noData: 'Ոչ մի տվյալ',
 		noMoreData: 'Տվյալները ավելի չկան',
+		done: 'Ավարտված',
 	},
 	actionSheet: {
 		cancelText: 'Չեղարկել',

+ 1 - 0
packages/stdf/lang/id_ID.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Sedang memuat...',
 		noData: 'Tidak ada data',
 		noMoreData: 'Tidak ada lagi data',
+		done: 'Selesai',
 	},
 	actionSheet: {
 		cancelText: 'Batal',

+ 1 - 0
packages/stdf/lang/is_IS.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Hleður...',
 		noData: 'Engin gögn',
 		noMoreData: 'Engin fleiri gögn',
+		done: 'Lokið',
 	},
 	actionSheet: {
 		cancelText: 'Hætta við',

+ 1 - 0
packages/stdf/lang/it_IT.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Caricamento...',
 		noData: 'Nessun dato',
 		noMoreData: 'Non ci sono più dati',
+		done: 'Fatto',
 	},
 	actionSheet: {
 		cancelText: 'Annulla',

+ 1 - 0
packages/stdf/lang/ja_JP.js

@@ -4,6 +4,7 @@ export default {
 		loading: '読み込み中...',
 		noData: 'データがありません',
 		noMoreData: 'これ以上のデータはありません',
+		done: '完了',
 	},
 	actionSheet: {
 		cancelText: 'キャンセル',

+ 1 - 0
packages/stdf/lang/ka_GE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'იტვირთება...',
 		noData: 'მონაცემები არ არის',
 		noMoreData: 'არ არის უფრო მეტი მონაცემი',
+		done: 'დასრულებულია',
 	},
 	actionSheet: {
 		cancelText: 'გაუქმება',

+ 1 - 0
packages/stdf/lang/kk_KZ.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Жүктеу...',
 		noData: 'Деректер жоқ',
 		noMoreData: 'Көбірек деректер жоқ',
+		done: 'Аяқталды',
 	},
 	actionSheet: {
 		cancelText: 'Болдырмау',

+ 1 - 0
packages/stdf/lang/km_KH.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'កំពុងផ្ទុកទិន្នន័យ ...',
 		noData: 'គ្មានទិន្នន័យទេ',
 		noMoreData: 'គ្មានទិន្នន័យផ្សេងទៀតទេ',
+		done: 'ធ្វើរួចរាល់',
 	},
 	actionSheet: {
 		cancelText: 'បោះបង់',

+ 1 - 0
packages/stdf/lang/kmr_IQ.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Daxistin...',
 		noData: 'Agahî tune',
 		noMoreData: 'Agahî din tune',
+		done: 'Têkildar',
 	},
 	actionSheet: {
 		cancelText: 'Betalke',

+ 1 - 0
packages/stdf/lang/kn_IN.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'ಲೋಡ್ ಆಗುತ್ತಿದೆ...',
 		noData: 'ಡೇಟಾ ಇಲ್ಲ',
 		noMoreData: 'ಹೆಚ್ಚು ಡೇಟಾ ಇಲ್ಲ',
+		done: 'ಮುಗಿದಿದೆ',
 	},
 	actionSheet: {
 		cancelText: 'ರದ್ದುಮಾಡಿ',

+ 1 - 0
packages/stdf/lang/ko_KR.js

@@ -4,6 +4,7 @@ export default {
 		loading: '로딩 중...',
 		noData: '데이터가 없습니다',
 		noMoreData: '데이터가 더 이상 없습니다',
+		done: '완료',
 	},
 	actionSheet: {
 		cancelText: '취소',

+ 1 - 0
packages/stdf/lang/lt_LT.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Įkeliama...',
 		noData: 'Nėra duomenų',
 		noMoreData: 'Daugiau duomenų nėra',
+		done: 'Atlikta',
 	},
 	actionSheet: {
 		cancelText: 'Atšaukti',

+ 1 - 0
packages/stdf/lang/lv_LV.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Ielādē...',
 		noData: 'Nav datu',
 		noMoreData: 'Nav vairāk datu',
+		done: 'Pabeigts',
 	},
 	actionSheet: {
 		cancelText: 'Atcelt',

+ 1 - 0
packages/stdf/lang/mk_MK.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Вчитување...',
 		noData: 'Нема податоци',
 		noMoreData: 'Нема повеќе податоци',
+		done: 'Завршено',
 	},
 	actionSheet: {
 		cancelText: 'Откажи',

+ 1 - 0
packages/stdf/lang/ml_IN.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'ലോഡുചെയ്യുന്നു...',
 		noData: 'ഡാറ്റായില്ല',
 		noMoreData: 'കൂടുതൽ ഡാറ്റാ ഇല്ല',
+		done: 'ചെയ്തു',
 	},
 	actionSheet: {
 		cancelText: 'റദ്ദാക്കുക',

+ 1 - 0
packages/stdf/lang/mn_MN.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Уншиж байна ...',
 		noData: 'Өгөгдөл байхгүй байна',
 		noMoreData: 'Дараагийн өгөгдөл байхгүй байна',
+		done: 'Дууссан',
 	},
 	actionSheet: {
 		cancelText: 'Цуцлах',

+ 1 - 0
packages/stdf/lang/ms_MY.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Membaca ...',
 		noData: 'Tiada data',
 		noMoreData: 'Tiada lagi data',
+		done: 'Selesai',
 	},
 	actionSheet: {
 		cancelText: 'Batal',

+ 1 - 0
packages/stdf/lang/nb_NO.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Laster...',
 		noData: 'Ingen data',
 		noMoreData: 'Ingen flere data',
+		done: 'Ferdig',
 	},
 	actionSheet: {
 		cancelText: 'Avbryt',

+ 1 - 0
packages/stdf/lang/ne_NP.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'लोड हुदैछ...',
 		noData: 'कुनै डाटा छैन',
 		noMoreData: 'अझै डेटा छैन',
+		done: 'गरियो',
 	},
 	actionSheet: {
 		cancelText: 'रद्द गर्नुहोस्',

+ 1 - 0
packages/stdf/lang/nl_BE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Bezig met laden...',
 		noData: 'Geen gegevens',
 		noMoreData: 'Geen extra gegevens',
+		done: 'Gedaan',
 	},
 	actionSheet: {
 		cancelText: 'Annuleren',

+ 1 - 0
packages/stdf/lang/nl_NL.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Laden...',
 		noData: 'Geen data',
 		noMoreData: 'Geen extra data',
+		done: 'Gedaan',
 	},
 	actionSheet: {
 		cancelText: 'Annuleren',

+ 1 - 0
packages/stdf/lang/pl_PL.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Wczytywanie...',
 		noData: 'Brak danych',
 		noMoreData: 'Brak dalszych danych',
+		done: 'Gotowe',
 	},
 	actionSheet: {
 		cancelText: 'Anuluj',

+ 1 - 0
packages/stdf/lang/pt_BR.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Carregando...',
 		noData: 'Sem dados',
 		noMoreData: 'Não há mais dados',
+		done: 'Feito',
 	},
 	actionSheet: {
 		cancelText: 'Cancelar',

+ 1 - 0
packages/stdf/lang/pt_PT.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'A carregar...',
 		noData: 'Sem dados',
 		noMoreData: 'Não há mais dados',
+		done: 'Feito',
 	},
 	actionSheet: {
 		cancelText: 'Cancelar',

+ 1 - 0
packages/stdf/lang/ro_RO.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Se încarcă...',
 		noData: 'Fără date',
 		noMoreData: 'Nu mai există date',
+		done: 'Gata',
 	},
 	actionSheet: {
 		cancelText: 'Anulează',

+ 1 - 0
packages/stdf/lang/ru_RU.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Загрузка...',
 		noData: 'Нет данных',
 		noMoreData: 'Больше нет данных',
+		done: 'Готово',
 	},
 	actionSheet: {
 		cancelText: 'Отмена',

+ 1 - 0
packages/stdf/lang/si_LK.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'පූරණය වෙමින්...',
 		noData: 'දත්ත නැත',
 		noMoreData: 'තවත් දත්ත නැත',
+		done: 'ක්‍රියාත්මක කරන ලදි',
 	},
 	actionSheet: {
 		cancelText: 'එපා',

+ 1 - 0
packages/stdf/lang/sk_SK.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Načítavam...',
 		noData: 'Žiadne dáta',
 		noMoreData: 'Žiadne ďalšie dáta',
+		done: 'Hotovo',
 	},
 	actionSheet: {
 		cancelText: 'Zrušiť',

+ 1 - 0
packages/stdf/lang/sl_SI.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Nalaganje ...',
 		noData: 'Ni podatkov',
 		noMoreData: 'Ni več podatkov',
+		done: 'Končano',
 	},
 	actionSheet: {
 		cancelText: 'Prekliči',

+ 1 - 0
packages/stdf/lang/sr_RS.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Učitavam...',
 		noData: 'Nema podataka',
 		noMoreData: 'Nema više podataka',
+		done: 'Gotovo',
 	},
 	actionSheet: {
 		cancelText: 'Otkaži',

+ 1 - 0
packages/stdf/lang/sv_SE.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Laddar...',
 		noData: 'Inga data',
 		noMoreData: 'Ingen mer data',
+		done: 'Klar',
 	},
 	actionSheet: {
 		cancelText: 'Avbryt',

+ 1 - 0
packages/stdf/lang/ta_IN.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'ஏற்றுகிறது...',
 		noData: 'தரவு இல்லை',
 		noMoreData: 'மேலும் தரவு இல்லை',
+		done: 'முடிந்தது',
 	},
 	actionSheet: {
 		cancelText: 'ரத்துசெய்',

+ 1 - 0
packages/stdf/lang/th_TH.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'กำลังโหลด...',
 		noData: 'ไม่มีข้อมูล',
 		noMoreData: 'ไม่มีข้อมูลเพิ่มเติม',
+		done: 'เสร็จสิ้น',
 	},
 	actionSheet: {
 		cancelText: 'ยกเลิก',

+ 1 - 0
packages/stdf/lang/tk_TK.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Ýüklenýär...',
 		noData: 'Maglumat ýok',
 		noMoreData: 'Köp maglumat ýok',
+		done: 'Tamam',
 	},
 	actionSheet: {
 		cancelText: 'Gurnama',

+ 1 - 0
packages/stdf/lang/tr_TR.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Yükleniyor...',
 		noData: 'Veri yok',
 		noMoreData: 'Daha fazla veri yok',
+		done: 'Tamam',
 	},
 	actionSheet: {
 		cancelText: 'İptal',

+ 1 - 0
packages/stdf/lang/uk_UA.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Завантаження...',
 		noData: 'Немає даних',
 		noMoreData: 'Немає більше даних',
+		done: 'Готово',
 	},
 	actionSheet: {
 		cancelText: 'Скасувати',

+ 1 - 0
packages/stdf/lang/ur_PK.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'لوڈ ہو رہا ہے ...',
 		noData: 'کوئی ڈیٹا نہیں',
 		noMoreData: 'کوئی زیادہ ڈیٹا نہیں',
+		done: 'تمام',
 	},
 	actionSheet: {
 		cancelText: 'منسوخ',

+ 1 - 0
packages/stdf/lang/vi_VN.js

@@ -4,6 +4,7 @@ export default {
 		loading: 'Đang tải...',
 		noData: 'Không có dữ liệu',
 		noMoreData: 'Không còn dữ liệu',
+		done: 'Xong',
 	},
 	actionSheet: {
 		cancelText: 'Hủy',

+ 1 - 0
packages/stdf/lang/zh_CN.js

@@ -4,6 +4,7 @@ export default {
 		loading: '加载中...',
 		noData: '暂无数据',
 		noMoreData: '没有更多数据了',
+		done: '完成',
 	},
 	actionSheet: {
 		cancelText: '取消',

+ 1 - 0
packages/stdf/lang/zh_HK.js

@@ -4,6 +4,7 @@ export default {
 		loading: '載入中...',
 		noData: '暫無數據',
 		noMoreData: '沒有更多數據了',
+		done: '完成',
 	},
 	actionSheet: {
 		cancelText: '取消',

+ 1 - 0
packages/stdf/lang/zh_TW.js

@@ -4,6 +4,7 @@ export default {
 		loading: '載入中...',
 		noData: '暫無數據',
 		noMoreData: '沒有更多數據了',
+		done: '完成',
 	},
 	actionSheet: {
 		cancelText: '取消',

+ 1 - 1
packages/stdf/package.json

@@ -1,6 +1,6 @@
 {
 	"name": "stdf",
-	"version": "0.2.11",
+	"version": "0.3.0",
 	"description": "Mobile web component library based on Svelte and Tailwind",
 	"main": "./components/index.js",
 	"svelte": "./components/index.js",