@steroidsjs/bootstrap 3.0.0-beta.8 → 3.0.0-beta.81

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 (330) hide show
  1. package/README.md +1 -2
  2. package/content/Accordion/AccordionItemView.d.ts +2 -0
  3. package/content/{Collapse/CollapseItemView.js → Accordion/AccordionItemView.js} +47 -22
  4. package/content/Accordion/AccordionItemView.scss +252 -0
  5. package/content/Accordion/AccordionView.d.ts +2 -0
  6. package/content/{Collapse/CollapseView.js → Accordion/AccordionView.js} +3 -3
  7. package/content/Accordion/AccordionView.scss +28 -0
  8. package/content/Alert/AlertView.js +3 -2
  9. package/content/Alert/AlertView.scss +65 -20
  10. package/content/Avatar/AvatarView.js +2 -3
  11. package/content/Avatar/AvatarView.scss +32 -39
  12. package/content/Badge/BadgeView.d.ts +2 -0
  13. package/content/Badge/BadgeView.js +24 -0
  14. package/content/Badge/BadgeView.scss +139 -0
  15. package/content/Calendar/CalendarView.js +1 -1
  16. package/content/Calendar/CalendarView.scss +244 -161
  17. package/content/Calendar/CaptionElement.js +23 -15
  18. package/content/Calendar/CaptionElement.scss +164 -106
  19. package/content/Card/CardView.js +37 -14
  20. package/content/Card/CardView.scss +137 -108
  21. package/content/CopyToClipboard/CopyToClipboardView.d.ts +3 -0
  22. package/content/CopyToClipboard/CopyToClipboardView.js +19 -0
  23. package/content/CopyToClipboard/CopyToClipboardView.scss +41 -0
  24. package/content/Detail/DetailView.scss +72 -52
  25. package/content/DropDown/DropDownView.d.ts +0 -1
  26. package/content/DropDown/DropDownView.js +7 -4
  27. package/content/DropDown/DropDownView.scss +206 -27
  28. package/content/Icon/IconView.d.ts +1 -2
  29. package/content/Icon/IconView.js +2 -2
  30. package/content/Icon/IconView.scss +1 -23
  31. package/content/Menu/MenuItemView.d.ts +2 -0
  32. package/content/Menu/MenuItemView.js +15 -0
  33. package/content/Menu/MenuItemView.scss +63 -0
  34. package/content/Menu/MenuView.d.ts +2 -0
  35. package/content/Menu/MenuView.js +30 -0
  36. package/content/Menu/MenuView.scss +43 -0
  37. package/content/Slider/SliderView.d.ts +2 -0
  38. package/content/Slider/SliderView.js +18 -0
  39. package/content/Slider/SliderView.scss +5 -0
  40. package/form/AutoCompleteField/AutoCompleteFieldView.d.ts +1 -3
  41. package/form/AutoCompleteField/AutoCompleteFieldView.js +62 -9
  42. package/form/AutoCompleteField/AutoCompleteFieldView.scss +196 -142
  43. package/form/Button/ButtonView.d.ts +1 -2
  44. package/form/Button/ButtonView.js +13 -9
  45. package/form/Button/ButtonView.scss +174 -68
  46. package/form/CheckboxField/CheckboxFieldView.d.ts +1 -2
  47. package/form/CheckboxField/CheckboxFieldView.js +6 -4
  48. package/form/CheckboxField/CheckboxFieldView.scss +195 -36
  49. package/form/CheckboxListField/CheckboxListFieldView.d.ts +1 -2
  50. package/form/CheckboxListField/CheckboxListFieldView.js +18 -15
  51. package/form/CheckboxListField/CheckboxListFieldView.scss +7 -41
  52. package/form/DateField/DateFieldView.js +7 -6
  53. package/form/DateField/DateFieldView.scss +12 -71
  54. package/form/DateRangeField/DateRangeFieldView.js +10 -13
  55. package/form/DateRangeField/DateRangeFieldView.scss +32 -77
  56. package/form/DateTimeField/DateTimeFieldView.d.ts +1 -2
  57. package/form/DateTimeField/DateTimeFieldView.js +6 -6
  58. package/form/DateTimeField/DateTimeFieldView.scss +10 -107
  59. package/form/DateTimeRangeField/DateTimeRangeFieldView.js +10 -8
  60. package/form/DateTimeRangeField/DateTimeRangeFieldView.scss +28 -88
  61. package/form/DropDownField/DropDownFieldView.js +35 -47
  62. package/form/DropDownField/DropDownFieldView.scss +381 -182
  63. package/form/DropDownField/utils.d.ts +2 -0
  64. package/form/DropDownField/utils.js +15 -0
  65. package/form/DropDownFieldItem/DropDownFieldItemView.d.ts +2 -0
  66. package/form/DropDownFieldItem/DropDownFieldItemView.js +81 -0
  67. package/form/DropDownFieldItem/DropDownFieldItemView.scss +218 -0
  68. package/form/FieldLayout/FieldLayoutView.d.ts +1 -2
  69. package/form/FieldLayout/FieldLayoutView.js +13 -9
  70. package/form/FieldLayout/FieldLayoutView.scss +114 -19
  71. package/form/FieldList/FieldListItemView.js +6 -4
  72. package/form/FieldList/FieldListItemView.scss +17 -39
  73. package/form/FieldList/FieldListView.js +9 -8
  74. package/form/FieldList/FieldListView.scss +72 -24
  75. package/form/FieldSet/FieldSetView.js +4 -2
  76. package/form/FieldSet/FieldSetView.scss +39 -0
  77. package/form/FileField/FileFieldItemView.d.ts +1 -2
  78. package/form/FileField/FileFieldItemView.js +31 -6
  79. package/form/FileField/FileFieldItemView.scss +254 -13
  80. package/form/FileField/FileFieldView.d.ts +1 -2
  81. package/form/FileField/FileFieldView.js +6 -8
  82. package/form/FileField/FileFieldView.scss +43 -13
  83. package/form/Form/FormView.js +1 -4
  84. package/form/Form/FormView.scss +1 -14
  85. package/form/HtmlField/HtmlFieldView.d.ts +1 -2
  86. package/form/HtmlField/HtmlFieldView.scss +6 -3
  87. package/form/ImageField/ImageFieldView.js +15 -3
  88. package/form/ImageField/ImageFieldView.scss +7 -24
  89. package/form/InputField/InputFieldView.d.ts +1 -2
  90. package/form/InputField/InputFieldView.js +33 -14
  91. package/form/InputField/InputFieldView.scss +265 -99
  92. package/form/NumberField/NumberFieldView.d.ts +1 -2
  93. package/form/NumberField/NumberFieldView.js +19 -13
  94. package/form/NumberField/NumberFieldView.scss +195 -89
  95. package/form/PasswordField/PasswordFieldView.d.ts +1 -2
  96. package/form/PasswordField/PasswordFieldView.js +11 -9
  97. package/form/PasswordField/PasswordFieldView.scss +236 -63
  98. package/form/RadioField/RadioFieldView.d.ts +2 -0
  99. package/form/RadioField/RadioFieldView.js +57 -0
  100. package/form/RadioField/RadioFieldView.scss +226 -0
  101. package/form/RadioListField/RadioListFieldView.d.ts +1 -2
  102. package/form/RadioListField/RadioListFieldView.js +20 -16
  103. package/form/RadioListField/RadioListFieldView.scss +11 -1
  104. package/form/RateField/RateFieldView.js +17 -10
  105. package/form/RateField/RateFieldView.scss +115 -40
  106. package/form/ReCaptchaField/ReCaptchaFieldView.d.ts +1 -2
  107. package/form/ReCaptchaField/ReCaptchaFieldView.js +18 -9
  108. package/form/ReCaptchaField/ReCaptchaFieldView.scss +1 -5
  109. package/form/SliderField/SliderFieldView.d.ts +1 -2
  110. package/form/SliderField/SliderFieldView.js +1 -1
  111. package/form/SliderField/SliderFieldView.scss +336 -299
  112. package/form/SwitcherField/SwitcherFieldView.d.ts +1 -2
  113. package/form/SwitcherField/SwitcherFieldView.js +12 -7
  114. package/form/SwitcherField/SwitcherFieldView.scss +188 -1
  115. package/form/TextField/TextFieldView.d.ts +1 -2
  116. package/form/TextField/TextFieldView.js +10 -2
  117. package/form/TextField/TextFieldView.scss +144 -2
  118. package/form/TimeField/TimeFieldView.d.ts +1 -2
  119. package/form/TimeField/TimeFieldView.js +16 -14
  120. package/form/TimeField/TimeFieldView.scss +19 -68
  121. package/form/TimeField/TimePanelView.scss +62 -68
  122. package/form/TimeRangeField/TimeRangeFieldView.d.ts +2 -0
  123. package/form/TimeRangeField/TimeRangeFieldView.js +67 -0
  124. package/form/TimeRangeField/TimeRangeFieldView.scss +77 -0
  125. package/icons/index.d.ts +2 -0
  126. package/icons/index.js +103 -0
  127. package/icons/svgs/add.svg +4 -0
  128. package/icons/svgs/add_square.svg +5 -0
  129. package/icons/svgs/arrow_down_18x18.svg +4 -0
  130. package/icons/svgs/arrow_down_24x24.svg +4 -0
  131. package/icons/svgs/arrow_drop_down_10x10.svg +3 -0
  132. package/icons/svgs/arrow_left_18x18.svg +4 -0
  133. package/icons/svgs/arrow_left_24x24.svg +4 -0
  134. package/icons/svgs/arrow_right_18x18.svg +4 -0
  135. package/icons/svgs/arrow_right_24x24.svg +4 -0
  136. package/icons/svgs/arrow_up_18x18.svg +4 -0
  137. package/icons/svgs/arrow_up_24x24.svg +4 -0
  138. package/icons/svgs/blank.svg +4 -0
  139. package/icons/svgs/calendar_check.svg +5 -0
  140. package/icons/svgs/calendar_range.svg +8 -0
  141. package/icons/svgs/cancel_ellips.svg +4 -0
  142. package/icons/svgs/chart.svg +6 -0
  143. package/icons/svgs/checkmark_12x12.svg +4 -0
  144. package/icons/svgs/checkmark_8x8.svg +4 -0
  145. package/icons/svgs/circle_cross_12x12.svg +4 -0
  146. package/icons/svgs/circle_cross_16x16.svg +4 -0
  147. package/icons/svgs/circle_cross_18x18.svg +4 -0
  148. package/icons/svgs/clip.svg +3 -0
  149. package/icons/svgs/copy.svg +5 -0
  150. package/icons/svgs/cross_12x12.svg +4 -0
  151. package/icons/svgs/cross_4x4.svg +3 -0
  152. package/icons/svgs/cross_8x8.svg +4 -0
  153. package/icons/svgs/cut.svg +3 -0
  154. package/icons/svgs/date_range.svg +8 -0
  155. package/icons/svgs/default_16x16.svg +4 -0
  156. package/icons/svgs/default_24x24.svg +11 -0
  157. package/icons/svgs/double_arrow_down.svg +5 -0
  158. package/icons/svgs/double_arrow_left.svg +5 -0
  159. package/icons/svgs/double_arrow_right.svg +5 -0
  160. package/icons/svgs/double_arrow_up.svg +5 -0
  161. package/icons/svgs/doughnut_chart.svg +5 -0
  162. package/icons/svgs/edit.svg +4 -0
  163. package/icons/svgs/error_16x16.svg +5 -0
  164. package/icons/svgs/error_24x24.svg +12 -0
  165. package/icons/svgs/expand_down.svg +3 -0
  166. package/icons/svgs/expand_left.svg +3 -0
  167. package/icons/svgs/expand_left_double.svg +4 -0
  168. package/icons/svgs/expand_right.svg +3 -0
  169. package/icons/svgs/expand_right_double.svg +4 -0
  170. package/icons/svgs/expand_up.svg +3 -0
  171. package/icons/svgs/file_dock.svg +6 -0
  172. package/icons/svgs/filter.svg +3 -0
  173. package/icons/svgs/fluid.svg +4 -0
  174. package/icons/svgs/folder.svg +3 -0
  175. package/icons/svgs/group.svg +8 -0
  176. package/icons/svgs/home.svg +4 -0
  177. package/icons/svgs/img_box.svg +5 -0
  178. package/icons/svgs/import.svg +4 -0
  179. package/icons/svgs/info_16x16.svg +5 -0
  180. package/icons/svgs/info_24x24.svg +12 -0
  181. package/icons/svgs/left_12x12.svg +3 -0
  182. package/icons/svgs/loading_default.svg +3 -0
  183. package/icons/svgs/loading_icon_thick.svg +3 -0
  184. package/icons/svgs/loading_purple.svg +9 -0
  185. package/icons/svgs/map.svg +7 -0
  186. package/icons/svgs/menu_dots.svg +5 -0
  187. package/icons/svgs/menu_left.svg +5 -0
  188. package/icons/svgs/minis_sq.svg +4 -0
  189. package/icons/svgs/paste.svg +8 -0
  190. package/icons/svgs/pie_chart.svg +5 -0
  191. package/icons/svgs/pin.svg +4 -0
  192. package/icons/svgs/sad.svg +6 -0
  193. package/icons/svgs/search.svg +4 -0
  194. package/icons/svgs/setting_line.svg +3 -0
  195. package/icons/svgs/share.svg +7 -0
  196. package/icons/svgs/star.svg +3 -0
  197. package/icons/svgs/success_16x16.svg +4 -0
  198. package/icons/svgs/success_24x24.svg +11 -0
  199. package/icons/svgs/support.svg +3 -0
  200. package/icons/svgs/trash.svg +6 -0
  201. package/icons/svgs/upload.svg +4 -0
  202. package/icons/svgs/user.svg +4 -0
  203. package/icons/svgs/view.svg +4 -0
  204. package/icons/svgs/view_hide.svg +5 -0
  205. package/icons/svgs/warning_16x16.svg +5 -0
  206. package/icons/svgs/warning_24x24.svg +12 -0
  207. package/index.d.ts +38 -2
  208. package/index.js +40 -4
  209. package/index.scss +24 -3
  210. package/layout/Header/HeaderView.js +1 -1
  211. package/layout/Header/HeaderView.scss +10 -5
  212. package/layout/Loader/LoaderView.d.ts +2 -2
  213. package/layout/Loader/LoaderView.js +6 -2
  214. package/layout/Loader/LoaderView.scss +67 -22
  215. package/layout/Notifications/NotificationsItemView.d.ts +1 -2
  216. package/layout/Notifications/NotificationsItemView.js +9 -8
  217. package/layout/Notifications/NotificationsItemView.scss +1 -39
  218. package/layout/Notifications/NotificationsView.d.ts +1 -2
  219. package/layout/Notifications/NotificationsView.scss +3 -0
  220. package/layout/ProgressBar/CircleProgressBarView.d.ts +1 -2
  221. package/layout/ProgressBar/LineProgressBarView.d.ts +1 -2
  222. package/layout/ProgressBar/LineProgressBarView.scss +1 -1
  223. package/layout/Tooltip/TooltipView.d.ts +1 -2
  224. package/layout/Tooltip/TooltipView.js +6 -6
  225. package/layout/Tooltip/TooltipView.scss +45 -37
  226. package/list/CheckboxColumn/CheckboxColumnView.d.ts +1 -2
  227. package/list/CheckboxColumn/CheckboxColumnView.js +2 -1
  228. package/list/ControlsColumnView/ControlsColumnView.d.ts +1 -2
  229. package/list/ControlsColumnView/ControlsColumnView.scss +7 -1
  230. package/list/Empty/EmptyView.js +1 -1
  231. package/list/Empty/EmptyView.scss +4 -1
  232. package/list/FlexGrid/FlexGridView.d.ts +2 -0
  233. package/list/FlexGrid/FlexGridView.js +71 -0
  234. package/list/FlexGrid/FlexGridView.scss +57 -0
  235. package/list/Grid/GridView.js +10 -4
  236. package/list/Grid/GridView.scss +151 -37
  237. package/list/Grid/views/ContentColumnView/ContentColumnView.d.ts +2 -0
  238. package/list/Grid/views/ContentColumnView/ContentColumnView.js +50 -0
  239. package/list/Grid/views/ContentColumnView/ContentColumnView.scss +86 -0
  240. package/list/Grid/views/ContentColumnView/index.d.ts +2 -0
  241. package/list/Grid/views/ContentColumnView/index.js +7 -0
  242. package/list/Grid/views/DiagramColumnView/DiagramColumnView.d.ts +3 -0
  243. package/list/Grid/views/DiagramColumnView/DiagramColumnView.js +60 -0
  244. package/list/Grid/views/DiagramColumnView/DiagramColumnView.scss +170 -0
  245. package/list/Grid/views/DiagramColumnView/index.d.ts +2 -0
  246. package/list/Grid/views/DiagramColumnView/index.js +7 -0
  247. package/list/List/ListItemView.d.ts +1 -2
  248. package/list/List/ListView.js +5 -7
  249. package/list/List/ListView.scss +26 -1
  250. package/list/Pagination/PaginationButtonView.js +34 -5
  251. package/list/Pagination/PaginationButtonView.scss +263 -1
  252. package/list/Pagination/PaginationMoreView.js +1 -1
  253. package/list/Pagination/PaginationMoreView.scss +4 -1
  254. package/list/PaginationSize/PaginationSizeView.js +5 -5
  255. package/list/PaginationSize/PaginationSizeView.scss +0 -8
  256. package/modal/Modal/ModalView.d.ts +1 -2
  257. package/modal/Modal/ModalView.js +5 -8
  258. package/modal/Modal/ModalView.scss +138 -93
  259. package/modal/TwoFactorModal/TwoFactorModalView.d.ts +1 -3
  260. package/modal/TwoFactorModal/TwoFactorModalView.js +0 -1
  261. package/modal/TwoFactorModal/TwoFactorModalView.scss +0 -2
  262. package/nav/Breadcrubms/BreadcrumbsView.js +9 -1
  263. package/nav/Breadcrubms/BreadcrumbsView.scss +49 -0
  264. package/nav/ButtonGroup/ButtonGroupView.d.ts +2 -0
  265. package/nav/ButtonGroup/ButtonGroupView.js +33 -0
  266. package/nav/ButtonGroup/ButtonGroupView.scss +81 -0
  267. package/nav/Controls/ControlsView.d.ts +1 -2
  268. package/nav/Controls/ControlsView.scss +17 -3
  269. package/nav/Nav/NavBarView.d.ts +1 -2
  270. package/nav/Nav/NavBarView.js +9 -4
  271. package/nav/Nav/NavBarView.scss +32 -1
  272. package/nav/Nav/NavButtonView.d.ts +1 -2
  273. package/nav/Nav/NavButtonView.js +8 -2
  274. package/nav/Nav/NavButtonView.scss +6 -5
  275. package/nav/Nav/NavIconView.d.ts +1 -2
  276. package/nav/Nav/NavIconView.js +7 -2
  277. package/nav/Nav/NavIconView.scss +25 -6
  278. package/nav/Nav/NavLinkView.d.ts +1 -2
  279. package/nav/Nav/NavLinkView.js +8 -2
  280. package/nav/Nav/NavLinkView.scss +14 -5
  281. package/nav/Nav/NavListView.d.ts +1 -2
  282. package/nav/Nav/NavListView.js +11 -7
  283. package/nav/Nav/NavListView.scss +11 -10
  284. package/nav/Nav/NavTabsView.d.ts +1 -2
  285. package/nav/Nav/NavTabsView.js +9 -4
  286. package/nav/Nav/NavTabsView.scss +47 -1
  287. package/nav/Tree/TreeView.d.ts +1 -2
  288. package/nav/Tree/TreeView.scss +58 -51
  289. package/package.json +58 -56
  290. package/scss/animations/index.scss +1 -0
  291. package/scss/animations/loading.scss +13 -0
  292. package/scss/fonts.scss +6 -0
  293. package/scss/mixins/button.scss +80 -24
  294. package/scss/mixins/customMixins.scss +5 -0
  295. package/scss/mixins/date.scss +422 -0
  296. package/scss/mixins/index.scss +5 -1
  297. package/scss/mixins/navs.scss +39 -0
  298. package/scss/mixins/scroll.scss +31 -0
  299. package/scss/mixins/typography.scss +26 -0
  300. package/scss/normalize.scss +25 -0
  301. package/scss/variables/common/colors.scss +189 -82
  302. package/scss/variables/common/media.scss +3 -0
  303. package/scss/variables/common/typography.scss +96 -28
  304. package/scss/variables/common/variables.scss +1 -0
  305. package/scss/variables/components/calendar.scss +0 -1
  306. package/scss/variables/components/input.scss +7 -6
  307. package/scss/variables/index.scss +2 -2
  308. package/typography/Text/TextView.d.ts +3 -0
  309. package/typography/Text/TextView.js +46 -0
  310. package/typography/Text/TextView.scss +16 -0
  311. package/typography/Title/TitleView.d.ts +3 -0
  312. package/typography/Title/TitleView.js +50 -0
  313. package/typography/Title/TitleView.scss +16 -0
  314. package/utils/renderIcon.d.ts +9 -0
  315. package/utils/renderIcon.js +27 -0
  316. package/content/Collapse/CollapseItemView.d.ts +0 -2
  317. package/content/Collapse/CollapseItemView.scss +0 -88
  318. package/content/Collapse/CollapseView.d.ts +0 -2
  319. package/content/Collapse/CollapseView.scss +0 -15
  320. package/icons/close.svg +0 -3
  321. package/icons/default.svg +0 -11
  322. package/icons/error.svg +0 -12
  323. package/icons/fontawesome.d.ts +0 -2
  324. package/icons/fontawesome.js +0 -254
  325. package/icons/info.svg +0 -12
  326. package/icons/success.svg +0 -4
  327. package/icons/warning.svg +0 -12
  328. package/list/List/ListItemView.scss +0 -3
  329. package/scss/mixins/card.scss +0 -26
  330. package/scss/variables/components/card.scss +0 -20
@@ -0,0 +1,5 @@
1
+ .SliderView {
2
+ .splide__slide {
3
+ width: fit-content;
4
+ }
5
+ }
@@ -1,4 +1,2 @@
1
- import { IBemHocOutput } from '@steroidsjs/core/hoc/bem';
2
1
  import { IAutoCompleteFieldViewProps } from '@steroidsjs/core/ui/form/AutoCompleteField/AutoCompleteField';
3
- import './AutoCompleteFieldView.scss';
4
- export default function AutoCompleteFieldView(props: IAutoCompleteFieldViewProps & IBemHocOutput): JSX.Element;
2
+ export default function AutoCompleteFieldView(props: IAutoCompleteFieldViewProps): JSX.Element;
@@ -33,23 +33,76 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  __setModuleDefault(result, mod);
34
34
  return result;
35
35
  };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
36
39
  exports.__esModule = true;
37
40
  var React = __importStar(require("react"));
38
41
  var hooks_1 = require("@steroidsjs/core/hooks");
39
- require("./AutoCompleteFieldView.scss");
42
+ var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
43
+ var Text_1 = __importDefault(require("@steroidsjs/core/ui/typography/Text/Text"));
44
+ var content_1 = require("@steroidsjs/core/ui/content");
45
+ var normalizeItems = function (items) {
46
+ var categories = {};
47
+ var itemsWithoutCategory = [];
48
+ items.forEach(function (item) {
49
+ if (item.category) {
50
+ if (categories[item.category]) {
51
+ categories[item.category].push(item);
52
+ return;
53
+ }
54
+ categories[item.category] = [item];
55
+ return;
56
+ }
57
+ itemsWithoutCategory.push(item);
58
+ });
59
+ return {
60
+ categories: categories,
61
+ itemsWithoutCategory: itemsWithoutCategory
62
+ };
63
+ };
64
+ var renderItem = function (item, props, bem) {
65
+ var _a, _b, _c;
66
+ var hasAdditionalIcon = !!((_a = item.additional) === null || _a === void 0 ? void 0 : _a.icon);
67
+ var hasAdditionalText = !!((_b = item.additional) === null || _b === void 0 ? void 0 : _b.text);
68
+ var hasSomeAdditional = hasAdditionalText || hasAdditionalIcon;
69
+ var uniqId = item[props.primaryKey];
70
+ return (React.createElement("button", { key: String(uniqId), className: bem.element('item', {
71
+ hover: props.hoveredId === uniqId,
72
+ select: props.selectedIds.includes(uniqId)
73
+ }), onClick: function () { return props.onItemSelect(uniqId); }, onFocus: function () { return props.onItemHover(uniqId); }, onMouseOver: function () { return props.onItemHover(uniqId); } },
74
+ React.createElement("span", { className: bem.element('item-label') }, item.label),
75
+ hasSomeAdditional && (React.createElement("div", { className: bem.element('item-additional') },
76
+ hasAdditionalIcon && (React.createElement(content_1.Icon, { name: (_c = item.additional) === null || _c === void 0 ? void 0 : _c.icon, className: bem.element('item-additional-icon') })),
77
+ hasAdditionalText && (React.createElement("span", { className: bem.element('item-additional-text') }, item.additional.text))))));
78
+ };
40
79
  function AutoCompleteFieldView(props) {
41
80
  var bem = (0, hooks_1.useBem)('AutoCompleteFieldView');
42
- return (React.createElement("div", { ref: props.forwardedRef, className: bem.block({ size: props.size }) },
43
- React.createElement("input", __assign({}, props.inputProps, { className: bem(bem.block({
44
- size: props.size
45
- }), 'form-control', 'form-control-' + props.size, !!props.errors && 'is-invalid', props.inputProps.className, props.className), onClick: function (e) {
81
+ var renderItems = React.useCallback(function () {
82
+ if (!(0, isEmpty_1["default"])(props.categories)) {
83
+ var _a = normalizeItems(props.items), categories = _a.categories, itemsWithoutCategory = _a.itemsWithoutCategory;
84
+ return (React.createElement(React.Fragment, null,
85
+ Object.entries(categories).map(function (_a) {
86
+ var category = _a[0], categoryItems = _a[1];
87
+ return (React.createElement("div", { key: category, className: bem.element('category') },
88
+ React.createElement("span", { className: bem.element('category__label') }, category),
89
+ React.createElement("div", { className: bem.element('category__content') }, categoryItems.map(function (item) { return renderItem(item, props, bem); }))));
90
+ }),
91
+ itemsWithoutCategory.map(function (item) { return renderItem(item, props, bem); })));
92
+ }
93
+ return (React.createElement(React.Fragment, null, props.items.map(function (item) { return renderItem(item, props, bem); })));
94
+ }, [bem, props]);
95
+ return (React.createElement("div", { ref: props.forwardedRef, className: bem(bem.block({
96
+ size: props.size,
97
+ opened: props.isOpened
98
+ }), props.className), style: props.style },
99
+ React.createElement("input", __assign({}, props.inputProps, { className: bem(bem.element('input'), props.inputProps.className), onClick: function (e) {
46
100
  e.preventDefault();
47
101
  props.onOpen();
48
102
  }, onChange: function (e) { return props.inputProps.onChange(e.target.value); }, placeholder: props.placeholder, disabled: props.disabled, required: props.required })),
49
103
  props.isOpened && (React.createElement("div", { className: bem.element('drop-down') },
50
- React.createElement("div", { className: bem.element('drop-down-list') }, props.items.map(function (item) { return (React.createElement("button", { key: String(item[props.primaryKey]), className: bem.element('drop-down-item', {
51
- hover: props.hoveredId === item[props.primaryKey],
52
- select: props.selectedIds.includes(item[props.primaryKey])
53
- }), onClick: function () { return props.onItemSelect(item[props.primaryKey]); }, onFocus: function () { return props.onItemHover(item[props.primaryKey]); }, onMouseOver: function () { return props.onItemHover(item[props.primaryKey]); } }, item.label)); }))))));
104
+ React.createElement("div", { className: bem.element('list') }, !(0, isEmpty_1["default"])(props.items)
105
+ ? renderItems()
106
+ : (React.createElement(Text_1["default"], { type: 'textSm', content: __('Nothing was found'), className: bem.element('nothing') })))))));
54
107
  }
55
108
  exports["default"] = AutoCompleteFieldView;
@@ -1,157 +1,211 @@
1
+ :root {
2
+ --autocomplete-hover-color: #f1f5f7;
3
+ --autocomplete-selected-color: #dbe2e6;
4
+ --autocomplete-icon-color: #313131;
5
+ }
6
+
7
+ html[data-theme="dark"] {
8
+ --autocomplete-hover-color: #4e4f57;
9
+ --autocomplete-selected-color: #5b5c6b;
10
+ --autocomplete-icon-color: #ffffff;
11
+ }
12
+
13
+ $autocomplete-hover-color: var(--autocomplete-hover-color);
14
+ $autocomplete-selected-color: var(--autocomplete-selected-color);
15
+ $autocomplete-icon-color: var(--autocomplete-icon-color);
16
+
1
17
  .AutoCompleteFieldView {
2
- position: relative;
3
-
4
- font-size: 1rem;
5
- &_size_sm {
6
- font-size: 0.7875rem;
7
- }
8
- &_size_lg {
9
- font-size: 1.25rem;
10
- }
11
-
12
- &__selected-items {
13
- padding: 0.375rem 1.75rem 0.375rem 0.75rem;
14
- min-width: 100px;
15
- //height: 38px;
16
- cursor: pointer;
17
- background-color: black; //changed
18
- background-clip: blue; //changed
19
- border: 1px solid red; //changed
20
- border-radius: 0.25rem;
21
- line-height: 1.5;
22
- color: red; //changed
23
- white-space: nowrap;
24
- overflow: hidden;
25
- text-overflow: ellipsis;
26
-
27
- &::after {
28
- content: '';
29
- position: absolute;
30
- top: 50%;
31
- right: 10px;
32
- transform: translateY(-50%);
33
- display: inline-block;
34
- width: 0;
35
- height: 0;
36
- border-top: 0.3em solid;
37
- border-right: 0.3em solid transparent;
38
- border-bottom: 0;
39
- border-left: 0.3em solid transparent;
18
+ $root: &;
19
+
20
+ position: relative;
21
+
22
+ &__input {
23
+ width: 100%;
24
+ border: 1px solid $element-border-color;
25
+ background-color: $element-field-background-color;
26
+ color: $text-color;
27
+ transition: border-color 150ms ease-in-out;
28
+ font-size: inherit;
29
+ line-height: inherit;
40
30
  }
41
31
 
42
- &_reset {
43
- padding-right: 3rem;
32
+ &_opened {
33
+ #{$root}__input {
34
+ border-color: $primary;
35
+ }
44
36
  }
45
37
 
46
- &_is-invalid {
47
- border-color: black; //changed
48
- }
49
- }
50
- &_size_sm &__selected-items {
51
- padding: 0.25rem 0.5rem;
52
- line-height: 1.5;
53
- border-radius: 0.2rem;
54
- //height: 31px;
55
- }
56
- &_size_lg &__selected-items {
57
- padding: 0.5rem 1rem;
58
- line-height: 1.5;
59
- border-radius: 0.3rem;
60
- //height: 48px;
61
- }
62
-
63
- &__reset {
64
- display: block;
65
- position: absolute;
66
- top: 0;
67
- right: 20px;
68
- width: 30px;
69
- height: 100%;
70
- cursor: pointer;
71
-
72
- &::before,
73
- &::after
74
- {
75
- display: block;
76
- position: absolute;
77
- top: 50%;
78
- margin-top: -5px;
79
- left: 50%;
80
- width: 1px;
81
- height: 10px;
82
- background-color: yellow; //
83
- content: '';
38
+ &__drop-down {
39
+ width: 100%;
40
+ top: 100%;
41
+ left: 0;
42
+ position: absolute;
43
+ z-index: 9999;
44
+ margin-top: 8px;
45
+ border-radius: $radius-large;
46
+ background-color: $element-background-color;
47
+ border: 1px solid $element-border-color;
48
+ overflow: hidden;
84
49
  }
85
50
 
86
- &::before {
87
- transform: rotate(45deg);
51
+ &__list {
52
+ display: flex;
53
+ flex-flow: column nowrap;
54
+ @include scrollWrapper(240px, 0, $scroll-thumb-color, $scroll-track-color);
88
55
  }
89
56
 
90
- &::after {
91
- transform: rotate(-45deg);
57
+ &__item {
58
+ width: 100%;
59
+ background-color: $element-background-color;
60
+ outline: none;
61
+ border: none;
62
+ text-align: left;
63
+
64
+ color: $text-color;
65
+ cursor: pointer;
66
+
67
+ font-size: inherit;
68
+ line-height: inherit;
69
+
70
+ display: flex;
71
+ flex-flow: row nowrap;
72
+ justify-content: space-between;
73
+
74
+ &-label {
75
+ display: inline-block;
76
+ }
77
+
78
+ &_hover {
79
+ background-color: $autocomplete-hover-color;
80
+ }
81
+
82
+ &_select {
83
+ background-color: $autocomplete-selected-color;
84
+ }
85
+
86
+ &-additional {
87
+ display: flex;
88
+ align-items: center;
89
+ column-gap: 4px;
90
+
91
+ &-icon {
92
+ display: inline-block;
93
+ width: 24px;
94
+ height: 24px;
95
+
96
+ path,
97
+ circle {
98
+ stroke: $autocomplete-icon-color;
99
+ }
100
+ }
101
+ }
92
102
  }
93
- }
94
-
95
- &__drop-down {
96
- position: absolute;
97
- top: calc(100% + 8px);
98
- left: 0;
99
- width: 100%;
100
- z-index: 10; //changed
101
- background-color: #fff; //changed
102
- line-height: 1.5;
103
- padding: 5.5px 0;
104
- border: 1px solid #CCCCCC;
105
- filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.1));
106
- border-radius: 10px;
107
- }
108
-
109
- &__drop-down-list {
110
- display: flex;
111
- flex-direction: column;
112
- max-height: 273px;
113
- overflow: auto;
114
- }
115
-
116
- &__search {
117
- padding: 0.25rem 0.5rem;
118
-
119
- > .form-control {
120
- width: 100%;
103
+
104
+ &__category {
105
+ background-color: $element-background-color;
106
+ width: 100%;
107
+
108
+ &__label {
109
+ display: block;
110
+ padding: 12px 8px;
111
+ color: $element-placeholder-color;
112
+ }
113
+ &__content {
114
+ width: 100%;
115
+ }
116
+
117
+ &_hidden {
118
+ display: none;
119
+ }
121
120
  }
122
- }
123
- &_size_sm &__search {
124
- padding: 0.1rem 0.2rem;
125
- }
126
-
127
- &__drop-down-item {
128
- display: flex;
129
- justify-content: flex-start;
130
- padding: 10px 34px;
131
- cursor: pointer;
132
- border: unset;
133
- background-color: #fff;
134
- font-size: 14px;
135
- line-height: 140%;
136
- &_hover {
137
- background-color: #F8F8F8; //
121
+
122
+ &__nothing {
123
+ color: $element-placeholder-color;
124
+ width: 100%;
125
+ margin-bottom: 48px;
126
+ padding: 8px 12px;
127
+ font-size: $font-size-xs;
128
+ line-height: $line-height-xs;
138
129
  }
139
130
 
140
- &_select {
141
- background-color: #F8F8F8; //
142
- color: #152536; //
131
+ &_size {
132
+ &_lg {
133
+ font-size: $font-size-lg;
134
+ line-height: $line-height-lg;
135
+
136
+ #{$root}__input {
137
+ padding: 16px 8px;
138
+ height: $input-height-lg;
139
+ border-radius: $radius-large;
140
+ }
141
+
142
+ #{$root}__item {
143
+ padding: 16px;
144
+ }
145
+
146
+ #{$root}__category {
147
+ #{$root}__item {
148
+ padding: 16px 24px;
149
+ }
150
+
151
+
152
+ &__label {
153
+ font-size: $font-size-base;
154
+ line-height: $line-height-base;
155
+ }
156
+ }
157
+ }
158
+
159
+ &_md {
160
+ font-size: $font-size-base;
161
+ line-height: $line-height-lg;
162
+
163
+ #{$root}__input {
164
+ padding: 11px 8px;
165
+ height: $input-height-md;
166
+ border-radius: $radius-large;
167
+ }
168
+
169
+ #{$root}__item {
170
+ padding: 12px;
171
+ }
172
+
173
+ #{$root}__category {
174
+ #{$root}__item {
175
+ padding: 12px 20px;
176
+ }
177
+
178
+ &__label {
179
+ font-size: $font-size-sm;
180
+ line-height: $line-height-sm;
181
+ }
182
+ }
183
+ }
184
+
185
+ &_sm {
186
+ font-size: $font-size-sm;
187
+ line-height: $line-height-lg;
188
+
189
+ #{$root}__input {
190
+ padding: 5px 8px;
191
+ height: $input-height-sm;
192
+ border-radius: $radius-small;
193
+ }
194
+
195
+ #{$root}__item {
196
+ padding: 8px;
197
+ }
198
+
199
+ #{$root}__category {
200
+ #{$root}__item {
201
+ padding: 8px 16px;
202
+ }
203
+
204
+ &__label {
205
+ font-size: $font-size-xs;
206
+ line-height: $line-height-xs;
207
+ }
208
+ }
209
+ }
143
210
  }
144
- }
145
- &_size_sm &__drop-down-item {
146
- padding: 0.25rem 0.5rem;
147
- }
148
- &_size_lg &__drop-down-item {
149
- padding: 0.5rem 1rem;
150
- }
151
211
  }
152
-
153
- .form-control:focus{
154
- box-shadow: unset;
155
- border: 4px solid #A7EFFF;
156
- border-radius: 4px;
157
- }
@@ -1,3 +1,2 @@
1
1
  import { IButtonViewProps } from '@steroidsjs/core/ui/form/Button/Button';
2
- import { IBemHocOutput } from '@steroidsjs/core/hoc/bem';
3
- export default function ButtonView(props: IButtonViewProps & IBemHocOutput): JSX.Element;
2
+ export default function ButtonView(props: IButtonViewProps): JSX.Element;
@@ -38,17 +38,19 @@ function ButtonView(props) {
38
38
  ? props.label
39
39
  : (props.hint || null);
40
40
  return (React.createElement(React.Fragment, null,
41
- props.isLoading && (React.createElement("div", { className: bem.element('preloader') },
42
- React.createElement("span", { className: 'spinner-border spinner-border-sm', role: 'status', "aria-hidden": 'true' }))),
43
- (props.showLabelOnLoading || !props.isLoading) && (React.createElement("span", { className: bem.element('label') },
41
+ props.isLoading && (React.createElement(Icon_1["default"], { className: bem.element('loader'), name: 'loading_icon_thick', tabIndex: -1 })),
42
+ !props.isLoading && (React.createElement("span", { title: props.hint, className: bem.element(props.link ? 'link' : 'label') },
44
43
  props.icon && (React.createElement(Icon_1["default"], { name: props.icon, title: title, className: bem.element('icon', !props.label && 'without-label') })),
45
- props.children))));
44
+ React.createElement("span", { className: bem.element('text') }, props.children)))));
46
45
  };
47
46
  var renderBadge = function () {
48
- if (!props.badge.enable) {
47
+ var _a;
48
+ if (!props.badge || !props.badge.enable) {
49
49
  return null;
50
50
  }
51
- return (React.createElement("span", { className: bem('badge', props.badge.color && "badge-".concat(props.badge.color), bem.element('badge'), props.badge.className) }, props.badge.value));
51
+ return (React.createElement("span", { className: bem(bem.element('badge', (_a = {},
52
+ _a["".concat(props.badge.color)] = !!props.badge.color,
53
+ _a)), props.badge.className) }, props.badge.value));
52
54
  };
53
55
  var className = bem(bem.block((_a = {
54
56
  button: !props.link
@@ -61,14 +63,16 @@ function ButtonView(props) {
61
63
  _a.submitting = props.submitting,
62
64
  _a.loading = props.isLoading,
63
65
  _a.failed = props.isFailed,
64
- _a.link = props.tag === 'a',
65
- _a)), props.block && 'btn-block', props.link && 'btn-link', props.className);
66
+ _a.link = props.link,
67
+ _a.block = props.block,
68
+ _a["tag-".concat(props.tag)] = !!props.tag,
69
+ _a)), props.className);
66
70
  if (props.tag === 'a') {
67
71
  return (React.createElement("a", { className: className, href: props.url, onClick: props.onClick, style: props.style, target: props.target },
68
72
  renderLabel(),
69
73
  renderBadge()));
70
74
  }
71
- return (React.createElement("button", { title: props.hint, type: props.type, disabled: props.disabled, onClick: props.onClick, style: props.style, className: className },
75
+ return (React.createElement("button", { title: props.hint, type: props.type, disabled: props.disabled || props.isLoading, onClick: props.onClick, style: props.style, className: className },
72
76
  renderLabel(),
73
77
  renderBadge()));
74
78
  }