@g1cloud/bluesea 5.0.0-alpha.1 → 5.0.0-alpha.100

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.
Files changed (228) hide show
  1. package/css/bluesea-base.scss +2 -1
  2. package/css/bluesea.scss +2 -0
  3. package/css/component.scss +359 -15
  4. package/css/font.scss +1 -1
  5. package/css/frame/default.scss +167 -29
  6. package/css/layout.scss +83 -5
  7. package/css/reset.scss +11 -1
  8. package/css/transition.scss +108 -0
  9. package/css/user-text.scss +134 -0
  10. package/css/utility.scss +625 -40
  11. package/css/variable.scss +373 -10
  12. package/dist/BSAlertModal-BwWDdMVX.js +52 -0
  13. package/dist/BSGridColumnSettingModal-COXCN4Eh.js +149 -0
  14. package/dist/BSYesNoModal-D6QbCMQx.js +57 -0
  15. package/dist/BSYoutubeInputModal-CvjMN3Ax.js +76 -0
  16. package/dist/ImageInsertModal-DN5qgU55.js +106 -0
  17. package/dist/ImageProperties.vue_vue_type_script_setup_true_lang-B-Z6ukDn.js +180 -0
  18. package/dist/ImagePropertiesModal-BInqAa06.js +98 -0
  19. package/dist/LinkPropertiesModal-Ds71tK88.js +119 -0
  20. package/dist/TableInsertModal-D6aetYAf.js +74 -0
  21. package/dist/VideoInsertModal-258Fme0u.js +106 -0
  22. package/dist/VideoProperties.vue_vue_type_script_setup_true_lang-DF7UyAzj.js +194 -0
  23. package/dist/VideoPropertiesModal-DkaQzFmg.js +98 -0
  24. package/dist/YoutubeInsertModal-DiGK1TBO.js +84 -0
  25. package/dist/YoutubeProperties.vue_vue_type_script_setup_true_lang-Cj2CI1Tv.js +181 -0
  26. package/dist/YoutubePropertiesModal-y5VoXQsr.js +102 -0
  27. package/dist/bluesea.js +212 -2463
  28. package/dist/bluesea.umd.cjs +70045 -2092
  29. package/dist/component/basic/BSButton.vue.d.ts +50 -0
  30. package/dist/component/basic/BSCalendar.vue.d.ts +58 -0
  31. package/dist/component/basic/BSCalendarRange.vue.d.ts +53 -0
  32. package/dist/component/basic/BSConsole.vue.d.ts +36 -0
  33. package/dist/component/basic/BSDate.vue.d.ts +19 -0
  34. package/dist/component/basic/BSFormLabel.vue.d.ts +19 -0
  35. package/dist/component/basic/BSImage.vue.d.ts +44 -0
  36. package/dist/component/basic/BSLink.vue.d.ts +21 -0
  37. package/dist/component/basic/BSLoadingIcon.vue.d.ts +2 -0
  38. package/dist/component/{grid/BSGridPageNavigation.vue.d.ts → basic/BSPageNavigation.vue.d.ts} +9 -8
  39. package/dist/component/basic/BSPopup.vue.d.ts +62 -1
  40. package/dist/component/basic/BSPopupButton.vue.d.ts +41 -0
  41. package/dist/component/basic/BSProgressBar.vue.d.ts +33 -0
  42. package/dist/component/basic/BSTooltip.vue.d.ts +38 -0
  43. package/dist/component/global/AddressSearchButton.vue.d.ts +36 -0
  44. package/dist/component/global/AddressSearchList.gen.d.ts +4 -0
  45. package/dist/component/global/BSAddressInput.vue.d.ts +67 -0
  46. package/dist/component/global/BSLocaleSelect.vue.d.ts +35 -0
  47. package/dist/component/global/BSNameInput.vue.d.ts +75 -0
  48. package/dist/component/global/BSTelInput.vue.d.ts +70 -0
  49. package/dist/component/grid/BSDateRangeFilter.vue.d.ts +21 -19
  50. package/dist/component/grid/BSDateRangeFilters.vue.d.ts +32 -7
  51. package/dist/component/grid/BSGrid.vue.d.ts +123 -26
  52. package/dist/component/grid/BSGridCell.vue.d.ts +58 -20
  53. package/dist/component/grid/BSGridCellCheckbox.vue.d.ts +21 -0
  54. package/dist/component/grid/BSGridCellDragHandle.vue.d.ts +15 -0
  55. package/dist/component/grid/BSGridCellEdit.vue.d.ts +21 -0
  56. package/dist/component/grid/BSGridCellSerialNo.vue.d.ts +15 -0
  57. package/dist/component/grid/BSGridColumnSettingModal.vue.d.ts +25 -0
  58. package/dist/component/grid/BSGridControl.vue.d.ts +36 -11
  59. package/dist/component/grid/BSGridHeaderCell.vue.d.ts +35 -10
  60. package/dist/component/grid/{BSGridCheckboxHeaderCell.vue.d.ts → BSGridHeaderCellCheckbox.vue.d.ts} +5 -5
  61. package/dist/component/grid/BSGridHeaderCellResizeHandle.vue.d.ts +21 -0
  62. package/dist/component/grid/BSGridHeaderCellSerialNo.vue.d.ts +2 -0
  63. package/dist/component/grid/BSGridLookup.vue.d.ts +45 -9
  64. package/dist/component/grid/BSGridRow.vue.d.ts +140 -0
  65. package/dist/component/grid/BSTextFilter.vue.d.ts +20 -19
  66. package/dist/component/grid/GridExtension.d.ts +17 -0
  67. package/dist/component/grid/GridLib.d.ts +19 -1
  68. package/dist/component/grid/GridModel.d.ts +361 -7
  69. package/dist/component/grid/extension/gridExcelDownloadExtension.d.ts +22 -0
  70. package/dist/component/grid/vDndSupport.d.ts +18 -0
  71. package/dist/component/input/BSCheckbox.vue.d.ts +21 -8
  72. package/dist/component/input/BSCheckboxGroup.vue.d.ts +46 -10
  73. package/dist/component/input/BSCodeEditor.vue.d.ts +73 -0
  74. package/dist/component/input/BSColorInput.vue.d.ts +68 -0
  75. package/dist/component/input/BSDateInput.vue.d.ts +45 -19
  76. package/dist/component/input/BSDateInputPopup.vue.d.ts +37 -0
  77. package/dist/component/input/BSDateRange.vue.d.ts +103 -0
  78. package/dist/component/input/BSDateRangeInputPopup.vue.d.ts +41 -0
  79. package/dist/component/input/BSDateRangePresets.vue.d.ts +40 -0
  80. package/dist/component/input/BSHtmlEditor.vue.d.ts +64 -0
  81. package/dist/component/input/BSImageUpload.vue.d.ts +118 -0
  82. package/dist/component/input/BSMediaPreview.vue.d.ts +55 -0
  83. package/dist/component/input/BSMultiImageUpload.vue.d.ts +108 -0
  84. package/dist/component/input/BSMultiSelect.vue.d.ts +61 -16
  85. package/dist/component/input/BSNumberInput.vue.d.ts +52 -10
  86. package/dist/component/input/BSPopupSelect.vue.d.ts +54 -0
  87. package/dist/component/input/BSPositionedImageUpload.vue.d.ts +97 -0
  88. package/dist/component/input/BSPriceInput.vue.d.ts +91 -0
  89. package/dist/component/input/BSRadioButton.vue.d.ts +30 -19
  90. package/dist/component/input/BSRadioButtonGroup.vue.d.ts +56 -13
  91. package/dist/component/input/BSSelect.vue.d.ts +65 -16
  92. package/dist/component/input/BSSelectPopup.vue.d.ts +61 -29
  93. package/dist/component/input/BSTextArea.vue.d.ts +44 -10
  94. package/dist/component/input/BSTextInput.vue.d.ts +60 -14
  95. package/dist/component/input/BSTreeMultiSelect.vue.d.ts +89 -0
  96. package/dist/component/input/BSTreeSelect.vue.d.ts +63 -16
  97. package/dist/component/input/BSYesNoGroup.vue.d.ts +55 -0
  98. package/dist/component/input/BSYesNoSelect.vue.d.ts +51 -0
  99. package/dist/component/input/BSYoutubeInputModal.vue.d.ts +6 -0
  100. package/dist/component/input/DateInputLib.d.ts +19 -0
  101. package/dist/component/input/DateRangePresetModel.d.ts +14 -0
  102. package/dist/component/input/HtmlEditorModel.d.ts +5 -0
  103. package/dist/component/input/ImageUploadLib.d.ts +22 -0
  104. package/dist/component/input/ImageUploadModel.d.ts +12 -0
  105. package/dist/component/input/ValidationErrors.vue.d.ts +19 -0
  106. package/dist/component/input/vDragAndDropSupport.d.ts +10 -0
  107. package/dist/component/layout/BSCardLayout.vue.d.ts +41 -0
  108. package/dist/component/layout/BSHorizontalLayoutResizer.vue.d.ts +6 -0
  109. package/dist/component/layout/BSListControl.vue.d.ts +52 -0
  110. package/dist/component/layout/BSListLayout.vue.d.ts +85 -0
  111. package/dist/component/layout/BSListLayoutItem.vue.d.ts +82 -0
  112. package/dist/component/layout/BSTabSheet.vue.d.ts +26 -5
  113. package/dist/component/layout/BSVerticalLayoutResizer.vue.d.ts +6 -0
  114. package/dist/component/layout/SlideDownTransition.vue.d.ts +9 -0
  115. package/dist/component/layout/TabSheetModel.d.ts +45 -1
  116. package/dist/component/multilang/BSMultiLangExpandButton.vue.d.ts +2 -0
  117. package/dist/component/multilang/BSMultiLangHtmlEditor.vue.d.ts +84 -0
  118. package/dist/component/multilang/BSMultiLangImageUpload.vue.d.ts +81 -0
  119. package/dist/component/multilang/BSMultiLangRichText.vue.d.ts +93 -0
  120. package/dist/component/multilang/BSMultiLangTextArea.vue.d.ts +91 -0
  121. package/dist/component/multilang/BSMultiLangTextInput.vue.d.ts +91 -0
  122. package/dist/component/multilang/multiLangLib.d.ts +6 -0
  123. package/dist/component/richtext/BSRichText.vue.d.ts +80 -0
  124. package/dist/component/richtext/RichTextLib.d.ts +15 -0
  125. package/dist/component/richtext/RichTextModel.d.ts +3 -0
  126. package/dist/component/richtext/RichTextToolbar.vue.d.ts +34 -0
  127. package/dist/component/richtext/image/ImageInsertModal.vue.d.ts +22 -0
  128. package/dist/component/richtext/image/ImageProperties.vue.d.ts +19 -0
  129. package/dist/component/richtext/image/ImagePropertiesModal.vue.d.ts +17 -0
  130. package/dist/component/richtext/image/RichTextImage.d.ts +7 -0
  131. package/dist/component/richtext/image/RichTextImageLib.d.ts +13 -0
  132. package/dist/component/richtext/image/ToolButtonImage.vue.d.ts +19 -0
  133. package/dist/component/richtext/link/LinkPropertiesModal.vue.d.ts +17 -0
  134. package/dist/component/richtext/link/ToolButtonLink.vue.d.ts +19 -0
  135. package/dist/component/richtext/richTextUtil.d.ts +17 -0
  136. package/dist/component/richtext/table/RichTextTable.d.ts +8 -0
  137. package/dist/component/richtext/table/RichTextTableLib.d.ts +14 -0
  138. package/dist/component/richtext/table/RichTextTableView.d.ts +18 -0
  139. package/dist/component/richtext/table/TableInsertModal.vue.d.ts +17 -0
  140. package/dist/component/richtext/table/TablePropertiesModal.vue.d.ts +17 -0
  141. package/dist/component/richtext/table/ToolButtonTable.vue.d.ts +19 -0
  142. package/dist/component/richtext/tool/ToolButtonFontColor.vue.d.ts +19 -0
  143. package/dist/component/richtext/tool/ToolButtonFontSize.vue.d.ts +19 -0
  144. package/dist/component/richtext/tool/ToolButtonFontStyle.vue.d.ts +19 -0
  145. package/dist/component/richtext/tool/ToolButtonHeading.vue.d.ts +19 -0
  146. package/dist/component/richtext/tool/ToolButtonListItem.vue.d.ts +19 -0
  147. package/dist/component/richtext/tool/ToolButtonMaximize.vue.d.ts +6 -0
  148. package/dist/component/richtext/tool/ToolButtonTextAlign.vue.d.ts +19 -0
  149. package/dist/component/richtext/video/RichTextVideo.d.ts +29 -0
  150. package/dist/component/richtext/video/RichTextVideoLib.d.ts +16 -0
  151. package/dist/component/richtext/video/ToolButtonVideo.vue.d.ts +19 -0
  152. package/dist/component/richtext/video/VideoInsertModal.vue.d.ts +22 -0
  153. package/dist/component/richtext/video/VideoProperties.vue.d.ts +19 -0
  154. package/dist/component/richtext/video/VideoPropertiesModal.vue.d.ts +17 -0
  155. package/dist/component/richtext/youtube/RichTextYoutube.d.ts +8 -0
  156. package/dist/component/richtext/youtube/RichTextYoutubeLib.d.ts +14 -0
  157. package/dist/component/richtext/youtube/ToolButtonYoutube.vue.d.ts +19 -0
  158. package/dist/component/richtext/youtube/YoutubeInsertModal.vue.d.ts +17 -0
  159. package/dist/component/richtext/youtube/YoutubeProperties.vue.d.ts +19 -0
  160. package/dist/component/richtext/youtube/YoutubePropertiesModal.vue.d.ts +17 -0
  161. package/dist/component/tree/BSTree.vue.d.ts +59 -21
  162. package/dist/component/tree/BSTreeControl.vue.d.ts +90 -0
  163. package/dist/component/tree/BSTreeRow.vue.d.ts +56 -21
  164. package/dist/component/tree/TreeLib.d.ts +8 -2
  165. package/dist/component/tree/TreeModel.d.ts +159 -1
  166. package/dist/component/tree/vTreeDndSupport.d.ts +10 -0
  167. package/dist/config/config.d.ts +130 -0
  168. package/dist/contextmenu/BSContextMenu.vue.d.ts +43 -0
  169. package/dist/contextmenu/BSContextMenuContainer.vue.d.ts +2 -0
  170. package/dist/contextmenu/contextMenuPlugin.d.ts +34 -0
  171. package/dist/directive/vClickOutside.d.ts +16 -6
  172. package/dist/directive/vFocusJump.d.ts +19 -0
  173. package/dist/directive/vFocusLoop.d.ts +25 -0
  174. package/dist/directive/vFocusOnLoad.d.ts +4 -0
  175. package/dist/directive/vT.d.ts +10 -0
  176. package/dist/directive/vTooltip.d.ts +9 -0
  177. package/dist/frame/FrameModel.d.ts +63 -6
  178. package/dist/frame/ShortcutKeyHandler.d.ts +37 -0
  179. package/dist/frame/default/DefaultBody.vue.d.ts +1 -1
  180. package/dist/frame/default/DefaultFrameModel.d.ts +82 -10
  181. package/dist/frame/default/DefaultHeader.vue.d.ts +22 -1
  182. package/dist/frame/default/HeaderTab.vue.d.ts +5 -4
  183. package/dist/frame/default/HeaderTabListButton.vue.d.ts +2 -0
  184. package/dist/frame/default/HeaderTabs.vue.d.ts +14 -1
  185. package/dist/frame/default/SidebarMenu.vue.d.ts +1 -1
  186. package/dist/frame/default/SidebarMenuItem.vue.d.ts +15 -6
  187. package/dist/frame/default/SidebarMenuLink.vue.d.ts +19 -10
  188. package/dist/frame/default/SidebarMenuSearch.vue.d.ts +28 -0
  189. package/dist/index-BSjXqslG.js +68784 -0
  190. package/dist/index.d.ts +129 -34
  191. package/dist/modal/BSAlertModal.vue.d.ts +23 -0
  192. package/dist/modal/BSModalContainer.vue.d.ts +2 -0
  193. package/dist/modal/BSModalFrame.vue.d.ts +37 -0
  194. package/dist/modal/BSModalWrapper.vue.d.ts +17 -0
  195. package/dist/modal/BSYesNoModal.vue.d.ts +25 -0
  196. package/dist/modal/modalPlugin.d.ts +70 -0
  197. package/dist/model/CommonTypes.d.ts +95 -8
  198. package/dist/model/DefaultImpl.d.ts +8 -0
  199. package/dist/model/FieldContext.d.ts +15 -0
  200. package/dist/model/FilterModel.d.ts +46 -19
  201. package/dist/model/PaginatedList.d.ts +29 -0
  202. package/dist/model/SearchModel.d.ts +13 -7
  203. package/dist/notification/BSAlarmFrame.vue.d.ts +26 -0
  204. package/dist/notification/BSNotificationContainer.vue.d.ts +2 -0
  205. package/dist/notification/notificationPlugin.d.ts +33 -0
  206. package/dist/savepoint/SavePoint.d.ts +47 -0
  207. package/dist/style.css +45109 -1565
  208. package/dist/text/i18n.d.ts +28 -0
  209. package/dist/util/alertUtil.d.ts +1 -0
  210. package/dist/util/componentUtil.d.ts +56 -0
  211. package/dist/util/debounceUtil.d.ts +16 -0
  212. package/dist/util/elementUtil.d.ts +58 -0
  213. package/dist/util/formatUtil.d.ts +23 -14
  214. package/dist/util/langUtil.d.ts +3 -0
  215. package/dist/util/multiLangUtil.d.ts +27 -0
  216. package/dist/util/routeUtil.d.ts +2 -1
  217. package/dist/validator/FieldValidator.d.ts +45 -0
  218. package/dist/validator/FormValidator.d.ts +35 -0
  219. package/package.json +46 -18
  220. package/text/bluesea_text_en.json +932 -0
  221. package/text/bluesea_text_ja.json +932 -0
  222. package/text/bluesea_text_ko.json +932 -0
  223. package/text/bluesea_text_zh.json +932 -0
  224. package/dist/component/BSButton.vue.d.ts +0 -15
  225. package/dist/component/grid/BSGridCheckboxCell.vue.d.ts +0 -19
  226. package/dist/component/input/BSSelectModel.d.ts +0 -0
  227. package/dist/component/input/InternalDateInput.vue.d.ts +0 -36
  228. package/dist/frame/default/HeaderLogo.vue.d.ts +0 -2
@@ -2,5 +2,6 @@
2
2
  @import "./font";
3
3
  @import "./utility";
4
4
  @import "./layout";
5
+ @import "./transition";
5
6
  @import "./frame/default";
6
- @import "../dist/style";
7
+ @import "./user-text";
@@ -0,0 +1,2 @@
1
+ @import "./bluesea-base";
2
+ @import "../dist/style.css";
@@ -14,51 +14,196 @@
14
14
  }
15
15
 
16
16
  .bs-box-component-base {
17
- border: 1px solid $color-border-light;
18
- border-radius: 4px;
19
- height: 28px;
17
+ height: 26px;
20
18
  display: inline-flex;
21
19
  align-items: center;
22
20
  justify-content: left;
21
+ background-color: $color-body-bg;
23
22
  }
24
23
 
25
24
  // input component
26
25
  .bs-input-wrap {
27
- @extend .bs-box-component-wrap
26
+ @extend .bs-box-component-wrap;
27
+
28
+ .suffix,
29
+ .prefix {
30
+ font-size: 0.9em;
31
+ margin-right: 4px;
32
+ margin-left: 4px;
33
+ background-color: $color-gray-200;
34
+ color: $color-body-text;
35
+ padding: 2px 4px;
36
+ border-radius: 2px;
37
+ line-height: 1;
38
+ white-space: nowrap;
39
+
40
+ &:first-child {
41
+ margin-left: 4px;
42
+ }
43
+
44
+ .font-icon {
45
+ font-size: 0.9em;
46
+ }
47
+
48
+ img {
49
+ width: 0.9em;
50
+ height: 0.9em;
51
+ }
52
+ }
53
+ }
54
+
55
+ [data-theme="dark"] {
56
+ .bs-input-wrap {
57
+ .suffix,
58
+ .prefix {
59
+ img {
60
+ filter: invert(1);
61
+ }
62
+ }
63
+ }
28
64
  }
29
65
 
30
66
  .bs-input-base {
31
67
  @extend .bs-box-component-base;
68
+ border: 1px solid $color-border;
69
+ border-radius: 2px;
70
+ background-color: $color-body-bg;
32
71
 
33
- input {
72
+ > input {
34
73
  border: 0;
74
+ border-radius: 0;
35
75
  outline: 0;
36
76
  align-self: stretch;
37
77
  flex-grow: 1;
38
- padding: 0 8px;
78
+ flex-basis: 1em;
79
+ padding: 0 6px;
39
80
  background-color: transparent;
81
+ width: 100%;
82
+ color: $color-body-text;
40
83
  }
41
84
 
42
- textarea {
85
+ > textarea {
43
86
  border: 0;
44
87
  border-radius: 4px;
45
88
  outline: 0;
46
89
  align-self: stretch;
47
90
  flex-grow: 1;
48
- padding: 8px;
91
+ padding: 6px;
49
92
  line-height: 1.4;
50
93
  font-family: sans-serif;
94
+ background-color: $color-body-bg;
95
+ color: $color-body-text;
96
+ }
97
+
98
+ &:hover {
99
+ border-color: $color-border-hover;
51
100
  }
52
101
 
53
102
  &:has(:focus) {
54
103
  border-color: $color-focus;
104
+ border-width: 1px;
105
+ }
106
+ }
107
+
108
+ .bs-text-input,
109
+ .bs-number-input,
110
+ .bs-price-input,
111
+ .bs-date-input,
112
+ .bs-date-range,
113
+ .bs-multi-lang-text-input,
114
+ .bs-multi-lang-text-area,
115
+ .bs-multi-lang-rich-text,
116
+ .bs-text-area,
117
+ .bs-rich-text {
118
+
119
+ &.modified {
120
+ > .input-area {
121
+ border-color: $purple !important;
122
+ }
123
+ }
124
+
125
+ &.error {
126
+ > .input-area {
127
+ border-color: $danger !important;
128
+
129
+ > input {
130
+ color: $danger !important;
131
+ }
132
+ }
133
+ }
134
+
135
+ &.disabled {
136
+ > .input-area {
137
+ border-color: $color-border !important;
138
+ background-color: $color-gray-100 !important;
139
+ color: $color-gray-400 !important;
140
+
141
+ > input {
142
+ color: $color-gray-400 !important;
143
+ background-color: $color-gray-100 !important;
144
+ }
145
+
146
+ > textarea {
147
+ background-color: $color-gray-100 !important;
148
+ }
149
+ }
150
+ }
151
+ }
152
+
153
+ // date
154
+ .bs-date-input,
155
+ .bs-date-range {
156
+
157
+ .view-mode {
158
+ white-space: nowrap;
159
+ display: flex;
160
+ align-items: center;
161
+ gap: 4px;
162
+
163
+ &::before {
164
+ content: 'calendar_month';
165
+ width: 1em;
166
+ font-family: $icon-font-family;
167
+ }
168
+ }
169
+ }
170
+
171
+ .bs-date-input,
172
+ .bs-date-range,
173
+ .bs-calendar,
174
+ .bs-calendar-range {
175
+ .extra-dates {
176
+ color: $color-body-text;
177
+ margin-top: 4px;
178
+
179
+ .extra-date {
180
+ white-space: nowrap;
181
+ display: flex;
182
+ align-items: center;
183
+ gap: 4px;
184
+ font-size: .8125rem;
185
+
186
+ &::before {
187
+ content: 'globe';
188
+ width: 1em;
189
+ font-family: $icon-font-family;
190
+ }
191
+ }
192
+ }
193
+ }
194
+
195
+ .bs-calendar,
196
+ .bs-calendar-range {
197
+ .extra-dates {
198
+ padding-top: 8px;
199
+ border-top: 1px solid $color-border;
55
200
  }
56
201
  }
57
202
 
58
203
  // checkbox, radio-button component
59
204
  .bs-checkbox-base {
60
205
  display: inline-block;
61
- color: $color-text;
206
+ color: $color-body-text;
62
207
 
63
208
  input {
64
209
  appearance: none;
@@ -70,12 +215,55 @@
70
215
  font-size: 20px;
71
216
  vertical-align: middle;
72
217
  cursor: pointer;
73
- color: $color-text;
218
+ color: $color-body-text;
219
+ }
220
+
221
+ &:hover {
222
+ color: $color-gray-500;
223
+
224
+ & ~ label {
225
+ color: $color-gray-500;
226
+ }
74
227
  }
75
228
 
76
229
  &:focus::before {
77
230
  color: $color-focus;
78
231
  }
232
+
233
+ &:focus ~ label {
234
+ color: $color-focus;
235
+ }
236
+
237
+ }
238
+
239
+ &.modified {
240
+ & input::before {
241
+ color: $purple !important;
242
+ }
243
+
244
+ & input ~ label {
245
+ color: $purple !important;
246
+ }
247
+ }
248
+
249
+ &.error {
250
+ & input::before {
251
+ color: $danger !important;
252
+ }
253
+
254
+ & input ~ label {
255
+ color: $danger !important;
256
+ }
257
+ }
258
+
259
+ &.disabled {
260
+ & input::before {
261
+ color: $color-gray-400 !important;
262
+ }
263
+
264
+ & input ~ label {
265
+ color: $color-gray-400 !important;
266
+ }
79
267
  }
80
268
 
81
269
  label {
@@ -86,26 +274,76 @@
86
274
  }
87
275
  }
88
276
 
277
+ .bs-checkbox-group,
278
+ .bs-radio-button-group {
279
+ &.modified {
280
+ input::before {
281
+ color: $purple !important;
282
+ }
283
+
284
+ input ~ label {
285
+ color: $purple !important;
286
+ }
287
+ }
288
+
289
+ &.disabled {
290
+ & input::before {
291
+ color: $color-gray-400 !important;
292
+ }
293
+
294
+ & input ~ label {
295
+ color: $color-gray-400 !important;
296
+ }
297
+ }
298
+
299
+ &.error {
300
+ input::before {
301
+ color: $danger !important;
302
+ }
303
+
304
+ input ~ label {
305
+ color: $danger !important;
306
+ }
307
+ }
308
+ }
309
+
89
310
  // select, multi-select, tree-select
90
311
  .bs-select-wrap {
91
312
  @extend .bs-box-component-wrap;
92
313
  position: relative;
93
314
  outline: 0;
315
+ background-color: $color-body-bg;
316
+ color: $color-body-text;
317
+ min-width: 64px;
318
+
319
+ &:hover > .selected {
320
+ border-color: $color-border-hover;
321
+ }
94
322
 
95
323
  &:focus > .selected {
96
324
  border-color: $color-focus;
97
325
  }
98
326
 
99
- .selected {
327
+ > .selected {
100
328
  @extend .bs-box-component-base;
101
- padding: 0 8px;
102
- min-width: 50px;
329
+ border: 1px solid $color-border;
330
+ border-radius: 2px;
331
+ padding: 0 6px;
332
+ min-width: 100%;
103
333
  cursor: pointer;
104
334
  display: flex;
105
335
 
106
336
  .label {
107
337
  flex-grow: 1;
108
338
  white-space: nowrap;
339
+ overflow: hidden;
340
+ text-overflow: ellipsis;
341
+ }
342
+
343
+ .placeholder {
344
+ color: $gray-400;
345
+ overflow: hidden;
346
+ text-overflow: ellipsis;
109
347
  }
110
348
 
111
349
  .dropdown-btn {
@@ -120,6 +358,38 @@
120
358
  &.popup-open .dropdown-btn {
121
359
  transform: rotate(180deg);
122
360
  }
361
+
362
+ &.modified > .selected {
363
+ border-color: $purple !important;
364
+ }
365
+
366
+ &.error > .selected {
367
+ border-color: $danger !important;
368
+ color: $danger !important;
369
+ }
370
+
371
+ &.disabled > .selected {
372
+ border-color: $color-border !important;
373
+ background-color: $color-gray-100 !important;
374
+ color: $color-gray-500 !important;
375
+ }
376
+
377
+ .small-progress {
378
+ font-family: $icon-font-family;
379
+ font-size: 0.9em;
380
+ position: absolute;
381
+ left: 100%;
382
+ top: 0;
383
+ padding: 0 2px;
384
+ color: $gray-400;
385
+ animation: spin 1s linear infinite;
386
+ }
387
+ }
388
+
389
+ // field error
390
+ .bs-field-error {
391
+ color: $color-error;
392
+ margin-top: 4px;
123
393
  }
124
394
 
125
395
  // button style
@@ -142,16 +412,26 @@
142
412
 
143
413
  // utility
144
414
  .component-shadow-base {
145
- box-shadow: 2px 2px 8px #eee;
415
+ box-shadow: 2px 2px 8px rgba(0, 0, 0, .1);
416
+ }
417
+
418
+ [data-theme="dark"] {
419
+ .component-shadow-base {
420
+ box-shadow: 2px 2px 8px rgba(255, 255, 255, .1);
421
+ }
146
422
  }
147
423
 
148
424
  .font-icon {
149
425
  font-family: $icon-font-family;
150
426
  font-size: 1rem;
427
+ max-width: 1em;
428
+
429
+ &.filled {
430
+ font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 48;
431
+ }
151
432
  }
152
433
 
153
434
  // transition
154
-
155
435
  .fade-enter-active,
156
436
  .fade-leave-active {
157
437
  transition: opacity .3s;
@@ -162,3 +442,67 @@
162
442
  opacity: 0;
163
443
  }
164
444
 
445
+ // text-description
446
+ .text-description {
447
+ margin-top: 2px;
448
+ color: $gray-400;
449
+ font-size: 0.923em;
450
+ }
451
+
452
+ // drag and drop
453
+ .bs-drop-position {
454
+ position: absolute;
455
+ border: 1px solid $primary;
456
+ border-radius: 2px;
457
+ background-color: $primary-400;
458
+ opacity: 0.7;
459
+ z-index: 100;
460
+
461
+ &.vertical {
462
+ left: 0;
463
+ width: 100%;
464
+ height: 8px;
465
+
466
+ &.before {
467
+ top: -4px;
468
+ }
469
+
470
+ &.after {
471
+ bottom: -4px;
472
+ }
473
+ }
474
+
475
+ &.horizontal {
476
+ left: 0;
477
+ width: 8px;
478
+ height: 100%;
479
+
480
+ &.before {
481
+ left: -4px;
482
+ }
483
+
484
+ &.after {
485
+ right: -4px;
486
+ }
487
+ }
488
+ }
489
+
490
+ .bs-droppable-horizontal {
491
+ transition: transform 0.3s ease;
492
+
493
+ &.bs-dropping-before,
494
+ &.bs-dropping-after-following {
495
+ transform: translateX(12px);
496
+ z-index: 1;
497
+ }
498
+
499
+ &.bs-dropping-after,
500
+ &.bs-dropping-before-preceding {
501
+ transform: translateX(-12px);
502
+ z-index: 1;
503
+ }
504
+ }
505
+
506
+ .bs-dragging-source {
507
+ opacity: 0.5;
508
+ }
package/css/font.scss CHANGED
@@ -1,3 +1,3 @@
1
- body, input, textarea {
1
+ body, input, textarea, button {
2
2
  font-family: 'Noto Sans', 'Noto Sans KR', 'Noto Sans JP', 'Arial', sans-serif;
3
3
  }