@g1cloud/open-bluesea-core 1.0.0-alpha.1 → 1.0.0-alpha.3

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/css/bluesea.css CHANGED
@@ -1,95 +1,5 @@
1
1
  @import '../dist/open-bluesea-core.css';
2
2
 
3
- :root {
4
- --white: #ffffff;
5
- --black: #000000;
6
- --gray-100: #FAFAFA;
7
- --gray-200: #EAEAEA;
8
- --gray-300: #CCCCCC;
9
- --gray-400: #A9A9A9;
10
- --gray-500: #666666;
11
- --gray-600: #555555;
12
- --gray-700: #444444;
13
- --gray-800: #292929;
14
- --primary-100: #EAF1FE;
15
- --primary-200: #DDEEFF;
16
- --primary-300: #B7D2FA;
17
- --primary-400: #A4B4FF;
18
- --primary-500: #5672EF;
19
- --primary-600: #232E8F;
20
- --blue: #5672EF;
21
- --blue-bg: #DDEEFF;
22
- --red: #EB0000;
23
- --red-bg: #FFE3E2;
24
- --orange: #F99341;
25
- --orange-bg: #FFF8DE;
26
- --green: #2FA04D;
27
- --green-bg: #E9FEE7;
28
- --purple: #945BD9;
29
- --purple-bg: #EAD8FF;
30
- --gray-bg: #EAEAEA;
31
- --color-text: #555555;
32
- --color-text-light: #A9A9A9;
33
- --color-gray: #666666;
34
- --color-gray-border: #CCCCCC;
35
- --color-icon-light: #D5D5D5;
36
- --border: #CCCCCC;
37
- --border-light: #EAEAEA;
38
- --color-hover: #E8EEFC;
39
- --color-focus: #5672EF;
40
- --color-error: #EB0000;
41
- --primary: #5672EF;
42
- --secondary: #F99341;
43
- --success: #2FA04D;
44
- --info: #5672EF;
45
- --warning: #F99341;
46
- --danger: #EB0000;
47
- --light: #FAFAFA;
48
- --dark: #444444;
49
- --gray: #A9A9A9;
50
- --border-width: 1px;
51
- --border-radius: 0.25rem;
52
- --border-radius-lg: 0.3rem;
53
- --border-radius-sm: 0.2rem;
54
- --rounded-pill: 50rem;
55
- --rounded-circle: 50%;
56
- --border-input: 0.8px solid #EAEAEA;
57
- --icon-font-family: Material Symbols Outlined, monospace;
58
- }
59
-
60
- :root {
61
- --header-bg: #5672EF;
62
- --header-text: #ffffff;
63
- --body-bg: #ffffff;
64
- --body-text: #000000;
65
- --button-default-bg: #ffffff;
66
- --button-default-text: #555555;
67
- --header-tab-bg: #A4B4FF;
68
- --header-tab-selected: #ffffff;
69
- --header-tab-text: #555555;
70
- --border: #CCCCCC;
71
- --border-light: #EAEAEA;
72
- --border-hover: #000000;
73
- --color-hover: #E8EEFC;
74
- --colored-bg: #EAF1FE;
75
- --radio-group: #A9A9A9;
76
- --gray-100: #FAFAFA;
77
- --gray-200: #EAEAEA;
78
- --gray-400: #A9A9A9;
79
- --gray-500: #666666;
80
- --primary-100: #EAF1FE;
81
- --primary-200: #DDEEFF;
82
- --primary-300: #B7D2FA;
83
- }
84
-
85
3
  .font-icon {
86
4
  font-family: var(--icon-font-family);
87
5
  }
88
-
89
- .bs-ml-4 {
90
- margin-left: 4px;
91
- }
92
-
93
- .bs-mr-4 {
94
- margin-right: 4px;
95
- }
@@ -4,8 +4,13 @@ export type PopupComponentConfig = {
4
4
  container?: string | HTMLElement;
5
5
  hideOnScroll?: boolean;
6
6
  };
7
+ export type CalendarComponentConfig = {
8
+ startYear?: string;
9
+ endYear?: string;
10
+ };
7
11
  export type ComponentConfig = {
8
12
  popup?: PopupComponentConfig;
13
+ calendar?: CalendarComponentConfig;
9
14
  };
10
15
  export declare class BlueseaConfig {
11
16
  dateFormat: string;
@@ -14,6 +19,7 @@ export declare class BlueseaConfig {
14
19
  dateFormatSecond: string;
15
20
  minDateValue: string;
16
21
  maxDateValue: string;
22
+ timeZone: string;
17
23
  componentConfig: ComponentConfig;
18
24
  constructor(config?: BlueseaConfigRaw);
19
25
  resolveDisplayDateFormat(format?: string | DisplayDateResolution): string;
@@ -25,6 +31,7 @@ export type BlueseaConfigRaw = {
25
31
  dateFormatSecond?: string;
26
32
  minDateValue?: string;
27
33
  maxDateValue?: string;
34
+ timeZone?: string;
28
35
  componentConfig?: ComponentConfig;
29
36
  };
30
37
  export declare const BlueseaConfigKey: InjectionKey<BlueseaConfig>;
@@ -0,0 +1,26 @@
1
+ import type { DateResolution, TimeZone } from "@/model/CommonTypes";
2
+ /**
3
+ * Resolution 에 해당하는 날짜 입력 포맷.
4
+ * 예를 들어 'YYYYMMDD', 'YYYYMMDDHH', 'YYYYMMDDHHmm'
5
+ * @param resolution
6
+ */
7
+ export declare const dateInputFormatByResolution: (resolution: DateResolution) => string;
8
+ /**
9
+ * 입력받은 YYYYMMDDHHmm 형식의 input string 을 ISO8601 형식의 string 으로 변환한다.
10
+ *
11
+ * 입력값(str) 은 blueseaConfig.minDateValue 와 blueseaConfig.maxDateValue 사이 값이어야 한다.
12
+ * 그렇지 않으면 이 사이 값으로 변경되어 처리된다.
13
+ *
14
+ * @param str 변환할 입력 값. (ex: YYYYMMDDHHmm 형식)
15
+ * @param inputFormat
16
+ * @param endTime
17
+ * @param resolution
18
+ * @param inputTimeZone
19
+ * @param minDateValue 최소시각. 없으면 blueseaConfig.minDateValue 사용.
20
+ * @param maxDateValue 최대시각. 없으면 blueseaConfig.maxDateValue 사용.
21
+ * @return ISO8601 형식의 값. (ex: 2024-04-01T12:30:00.000+09:00)
22
+ */
23
+ export declare const convertInputToDateString: (str: string | undefined, inputFormat: string, endTime: boolean, resolution: DateResolution, inputTimeZone: TimeZone, minDateValue: string, maxDateValue: string) => string;
24
+ export declare const convertDateToInputString: (date: string, inputFormat: string, inputTimeZone: string) => string;
25
+ export declare const checkDateMinMaxValue: (value: string | undefined, inputFormat: string, endTime: boolean, resolution: DateResolution, inputTimeZone: TimeZone, minDateValue: string, maxDateValue: string) => string | undefined;
26
+ export declare const normalizeDateInput: (value: string) => string;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import '@/styles/tailwind.css';
1
2
  export { BlueseaPlugin } from '@/blueseaPlugin';
2
3
  export type * from '@/blueseaPlugin';
3
4
  export { default as BSButton } from '@/component/basic/BSButton.vue';
@@ -5,6 +6,8 @@ export { default as BSPageNavigation } from '@/component/basic/BSPageNavigation.
5
6
  export { default as BSLoadingIcon } from '@/component/basic/BSLoadingIcon.vue';
6
7
  export { default as BSPopup } from '@/component/basic/BSPopup.vue';
7
8
  export { default as BSTooltip } from '@/component/basic/BSTooltip.vue';
9
+ export { default as BSCalendar } from '@/component/basic/BSCalendar.vue';
10
+ export { default as BSCalendarRange } from '@/component/basic/BSCalendarRange.vue';
8
11
  export { default as BSTextInput } from '@/component/input/BSTextInput.vue';
9
12
  export { default as BSNumberInput } from '@/component/input/BSNumberInput.vue';
10
13
  export { default as BSTextArea } from '@/component/input/BSTextArea.vue';
@@ -14,6 +17,10 @@ export { default as BSRadioButton } from '@/component/input/BSRadioButton.vue';
14
17
  export { default as BSRadioButtonGroup } from '@/component/input/BSRadioButtonGroup.vue';
15
18
  export { default as BSSelect } from '@/component/input/BSSelect.vue';
16
19
  export { default as BSMultiSelect } from '@/component/input/BSMultiSelect.vue';
20
+ export { default as BSDateInput } from '@/component/input/BSDateInput.vue';
21
+ export { default as BSDateInputPopup } from '@/component/input/BSDateInputPopup.vue';
22
+ export { default as BSDateRange } from '@/component/input/BSDateRange.vue';
23
+ export { default as BSDateRangeInputPopup } from '@/component/input/BSDateRangeInputPopup.vue';
17
24
  export { default as BSCardLayout } from '@/component/layout/BSCardLayout.vue';
18
25
  export { default as BSNotificationContainer } from '@/notification/BSNotificationContainer.vue';
19
26
  export { default as BSContextMenuContainer } from '@/contextmenu/BSContextMenuContainer.vue';
@@ -1,4 +1,4 @@
1
- import type { LocaleName } from "@/model/CommonTypes.ts";
1
+ import type { LocaleName } from "@/model/CommonTypes";
2
2
  export type IterationContext<T> = {
3
3
  componentName: string;
4
4
  record: T;