novo-elements 5.1.1 → 5.2.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.
Files changed (576) hide show
  1. package/README.md +7 -7
  2. package/bundles/novo-elements.umd.js +42693 -42665
  3. package/bundles/novo-elements.umd.js.map +1 -1
  4. package/bundles/novo-elements.umd.min.js +2 -2
  5. package/bundles/novo-elements.umd.min.js.map +1 -1
  6. package/elements/ace-editor/AceEditor.d.ts +37 -37
  7. package/elements/ace-editor/AceEditor.module.d.ts +2 -2
  8. package/elements/ace-editor/AceEditor.scss +5 -0
  9. package/elements/button/Button.d.ts +9 -9
  10. package/elements/button/Button.module.d.ts +2 -2
  11. package/elements/button/Button.scss +397 -0
  12. package/elements/calendar/Calendar.module.d.ts +2 -2
  13. package/elements/calendar/common/CalendarDateChange.d.ts +25 -25
  14. package/elements/calendar/common/CalendarDateChange.scss +23 -0
  15. package/elements/calendar/common/EventTypeLegend.d.ts +7 -7
  16. package/elements/calendar/day/CalendarAllDayEvent.d.ts +7 -7
  17. package/elements/calendar/day/CalendarDayEvent.d.ts +8 -8
  18. package/elements/calendar/day/CalendarDayView.d.ts +148 -148
  19. package/elements/calendar/day/CalendarDayView.scss +97 -0
  20. package/elements/calendar/day/CalendarHourSegment.d.ts +7 -7
  21. package/elements/calendar/month/CalendarMonthDay.d.ts +14 -14
  22. package/elements/calendar/month/CalendarMonthHeader.d.ts +14 -14
  23. package/elements/calendar/month/CalendarMonthView.d.ts +110 -110
  24. package/elements/calendar/month/CalendarMonthView.scss +169 -0
  25. package/elements/calendar/pipe/DayOfMonth.pipe.d.ts +6 -6
  26. package/elements/calendar/pipe/EndOfWeekDisplayPipe.pipe.d.ts +6 -6
  27. package/elements/calendar/pipe/Hours.pipe.d.ts +6 -6
  28. package/elements/calendar/pipe/Month.pipe.d.ts +6 -6
  29. package/elements/calendar/pipe/MonthDay.pipe.d.ts +6 -6
  30. package/elements/calendar/pipe/Weekday.pipe.d.ts +6 -6
  31. package/elements/calendar/pipe/Year.pipe.d.ts +6 -6
  32. package/elements/calendar/week/CalendarWeekEvent.d.ts +8 -8
  33. package/elements/calendar/week/CalendarWeekHeader.d.ts +14 -14
  34. package/elements/calendar/week/CalendarWeekView.d.ts +156 -156
  35. package/elements/calendar/week/CalendarWeekView.scss +86 -0
  36. package/elements/card/Card.d.ts +28 -28
  37. package/elements/card/Card.module.d.ts +2 -2
  38. package/elements/card/Card.scss +104 -0
  39. package/elements/category-dropdown/CategoryDropdown.d.ts +29 -29
  40. package/elements/category-dropdown/CategoryDropdown.module.d.ts +2 -2
  41. package/elements/category-dropdown/CategoryDropdown.scss +157 -0
  42. package/elements/chips/Chips.d.ts +78 -78
  43. package/elements/chips/Chips.module.d.ts +2 -2
  44. package/elements/chips/Chips.scss +373 -0
  45. package/elements/chips/RowChips.d.ts +12 -12
  46. package/elements/ckeditor/CKEditor.d.ts +44 -44
  47. package/elements/ckeditor/CKEditor.module.d.ts +2 -2
  48. package/elements/ckeditor/CKEditor.scss +37 -0
  49. package/elements/common/common.module.d.ts +2 -2
  50. package/elements/common/novo-template/novo-template.directive.d.ts +8 -8
  51. package/elements/data-table/ListInteractionTypes.d.ts +10 -10
  52. package/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.d.ts +15 -15
  53. package/elements/data-table/cell-headers/data-table-expand-header-cell.component.d.ts +13 -13
  54. package/elements/data-table/cell-headers/data-table-header-cell.component.d.ts +81 -81
  55. package/elements/data-table/cell-headers/data-table-header-cell.directive.d.ts +11 -11
  56. package/elements/data-table/cells/data-table-cell.component.d.ts +17 -17
  57. package/elements/data-table/cells/data-table-checkbox-cell.component.d.ts +17 -17
  58. package/elements/data-table/cells/data-table-expand-cell.component.d.ts +16 -16
  59. package/elements/data-table/data-table-clear-button.component.d.ts +15 -15
  60. package/elements/data-table/data-table-expand.directive.d.ts +18 -18
  61. package/elements/data-table/data-table.component.d.ts +99 -99
  62. package/elements/data-table/data-table.component.scss +753 -0
  63. package/elements/data-table/data-table.module.d.ts +2 -2
  64. package/elements/data-table/data-table.pipes.d.ts +37 -37
  65. package/elements/data-table/data-table.source.d.ts +22 -22
  66. package/elements/data-table/interfaces.d.ts +128 -128
  67. package/elements/data-table/pagination/data-table-pagination.component.d.ts +52 -52
  68. package/elements/data-table/rows/data-table-header-row.component.d.ts +6 -6
  69. package/elements/data-table/rows/data-table-row.component.d.ts +7 -7
  70. package/elements/data-table/services/data-table-filter-utils.d.ts +3 -3
  71. package/elements/data-table/services/remote-data-table.service.d.ts +8 -8
  72. package/elements/data-table/services/static-data-table.service.d.ts +12 -12
  73. package/elements/data-table/sort-filter/sort-filter.directive.d.ts +8 -8
  74. package/elements/data-table/state/data-table-state.service.d.ts +32 -32
  75. package/elements/date-picker/DatePicker.d.ts +79 -79
  76. package/elements/date-picker/DatePicker.module.d.ts +2 -2
  77. package/elements/date-picker/DatePicker.scss +414 -0
  78. package/elements/date-picker/DatePickerInput.d.ts +66 -66
  79. package/elements/date-time-picker/DateTimePicker.d.ts +45 -45
  80. package/elements/date-time-picker/DateTimePicker.module.d.ts +2 -2
  81. package/elements/date-time-picker/DateTimePickerInput.d.ts +46 -46
  82. package/elements/date-time-picker/_DateTimePicker.scss +93 -0
  83. package/elements/dragula/Dragula.d.ts +13 -13
  84. package/elements/dragula/Dragula.module.d.ts +2 -2
  85. package/elements/dragula/Dragula.scss +18 -0
  86. package/elements/dragula/DragulaService.d.ts +23 -23
  87. package/elements/dropdown/Dropdown.d.ts +55 -55
  88. package/elements/dropdown/Dropdown.module.d.ts +2 -2
  89. package/elements/dropdown/Dropdown.scss +94 -0
  90. package/elements/expansion/_expansion-theme.scss +50 -0
  91. package/elements/expansion/accordion.d.ts +21 -21
  92. package/elements/expansion/expansion-animations.d.ts +9 -9
  93. package/elements/expansion/expansion-panel-content.d.ts +9 -9
  94. package/elements/expansion/expansion-panel-header.d.ts +45 -45
  95. package/elements/expansion/expansion-panel-header.scss +58 -0
  96. package/elements/expansion/expansion-panel.d.ts +54 -54
  97. package/elements/expansion/expansion-panel.scss +68 -0
  98. package/elements/expansion/expansion.module.d.ts +2 -2
  99. package/elements/form/Control.d.ts +107 -107
  100. package/elements/form/ControlGroup.d.ts +89 -83
  101. package/elements/form/ControlGroup.scss +147 -0
  102. package/elements/form/ControlTemplates.d.ts +9 -9
  103. package/elements/form/DynamicForm.d.ts +46 -46
  104. package/elements/form/FieldInteractionApi.d.ts +160 -160
  105. package/elements/form/FieldInteractionApiTypes.d.ts +29 -29
  106. package/elements/form/FieldInteractionModals.d.ts +16 -16
  107. package/elements/form/Form.d.ts +21 -21
  108. package/elements/form/Form.module.d.ts +2 -2
  109. package/elements/form/Form.scss +857 -0
  110. package/elements/form/FormControls.d.ts +22 -22
  111. package/elements/form/FormInterfaces.d.ts +36 -36
  112. package/elements/form/FormValidators.d.ts +22 -22
  113. package/elements/form/NovoFormControl.d.ts +100 -100
  114. package/elements/form/NovoFormGroup.d.ts +17 -17
  115. package/elements/form/controls/BaseControl.d.ts +106 -106
  116. package/elements/form/controls/ControlFactory.d.ts +4 -4
  117. package/elements/form/controls/ace-editor/AceEditorControl.d.ts +5 -5
  118. package/elements/form/controls/address/AddressControl.d.ts +5 -5
  119. package/elements/form/controls/check-list/CheckListControl.d.ts +5 -5
  120. package/elements/form/controls/checkbox/CheckboxControl.d.ts +5 -5
  121. package/elements/form/controls/custom/CustomControl.d.ts +5 -5
  122. package/elements/form/controls/date/DateControl.d.ts +5 -5
  123. package/elements/form/controls/date-time/DateTimeControl.d.ts +5 -5
  124. package/elements/form/controls/editor/EditorControl.d.ts +6 -6
  125. package/elements/form/controls/file/FileControl.d.ts +5 -5
  126. package/elements/form/controls/grouped/GroupedControl.d.ts +6 -6
  127. package/elements/form/controls/index.d.ts +19 -19
  128. package/elements/form/controls/native-select/NativeSelectControl.d.ts +6 -6
  129. package/elements/form/controls/picker/PickerControl.d.ts +9 -9
  130. package/elements/form/controls/quick-note/QuickNoteControl.d.ts +6 -6
  131. package/elements/form/controls/radio/RadioControl.d.ts +6 -6
  132. package/elements/form/controls/read-only/ReadOnlyControl.d.ts +5 -5
  133. package/elements/form/controls/select/SelectControl.d.ts +6 -6
  134. package/elements/form/controls/text-area/TextAreaControl.d.ts +5 -5
  135. package/elements/form/controls/textbox/TextBoxControl.d.ts +9 -9
  136. package/elements/form/controls/tiles/TilesControl.d.ts +6 -6
  137. package/elements/form/controls/time/TimeControl.d.ts +5 -5
  138. package/elements/form/extras/FormExtras.module.d.ts +2 -2
  139. package/elements/form/extras/address/Address.d.ts +65 -65
  140. package/elements/form/extras/address/Address.scss +152 -0
  141. package/elements/form/extras/checkbox/CheckList.d.ts +20 -20
  142. package/elements/form/extras/checkbox/Checkbox.d.ts +24 -24
  143. package/elements/form/extras/checkbox/Checkbox.scss +87 -0
  144. package/elements/form/extras/file/FileInput.d.ts +72 -72
  145. package/elements/form/extras/file/FileInput.scss +118 -0
  146. package/elements/form/extras/file/extras/file/File.d.ts +22 -22
  147. package/elements/header/Header.d.ts +22 -22
  148. package/elements/header/Header.module.d.ts +2 -2
  149. package/elements/header/Header.scss +96 -0
  150. package/elements/icon/Icon.d.ts +18 -18
  151. package/elements/icon/Icon.module.d.ts +2 -2
  152. package/elements/icon/Icon.scss +82 -0
  153. package/elements/list/List.d.ts +31 -31
  154. package/elements/list/List.module.d.ts +2 -2
  155. package/elements/list/List.scss +134 -0
  156. package/elements/loading/Loading.d.ts +26 -26
  157. package/elements/loading/Loading.module.d.ts +2 -2
  158. package/elements/loading/Loading.scss +56 -0
  159. package/elements/loading/NovoSpinner.scss +172 -0
  160. package/elements/modal/Modal.d.ts +45 -45
  161. package/elements/modal/Modal.module.d.ts +2 -2
  162. package/elements/modal/Modal.scss +207 -0
  163. package/elements/modal/ModalService.d.ts +10 -10
  164. package/elements/multi-picker/MultiPicker.d.ts +107 -107
  165. package/elements/multi-picker/MultiPicker.module.d.ts +2 -2
  166. package/elements/multi-picker/_MultiPicker.scss +74 -0
  167. package/elements/overlay/Overlay.d.ts +57 -57
  168. package/elements/overlay/Overlay.module.d.ts +2 -2
  169. package/elements/picker/Picker.d.ts +69 -69
  170. package/elements/picker/Picker.module.d.ts +2 -2
  171. package/elements/picker/Picker.scss +438 -0
  172. package/elements/picker/extras/base-picker-results/BasePickerResults.d.ts +91 -91
  173. package/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.d.ts +21 -21
  174. package/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.d.ts +13 -13
  175. package/elements/picker/extras/entity-picker-results/EntityPickerResults.d.ts +29 -29
  176. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.d.ts +42 -42
  177. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +136 -0
  178. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.d.ts +43 -43
  179. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +156 -0
  180. package/elements/picker/extras/picker-results/PickerResults.d.ts +11 -11
  181. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.d.ts +21 -21
  182. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +65 -0
  183. package/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.d.ts +13 -13
  184. package/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.scss +0 -0
  185. package/elements/places/places.component.d.ts +71 -71
  186. package/elements/places/places.component.scss +26 -0
  187. package/elements/places/places.module.d.ts +2 -2
  188. package/elements/places/places.service.d.ts +22 -22
  189. package/elements/popover/PopOver.d.ts +30 -30
  190. package/elements/popover/PopOver.module.d.ts +2 -2
  191. package/elements/popover/PopOver.scss +179 -0
  192. package/elements/popover/PopOverContent.d.ts +45 -45
  193. package/elements/quick-note/QuickNote.d.ts +139 -139
  194. package/elements/quick-note/QuickNote.module.d.ts +2 -2
  195. package/elements/quick-note/QuickNote.scss +52 -0
  196. package/elements/quick-note/extras/quick-note-results/QuickNoteResults.d.ts +30 -30
  197. package/elements/radio/Radio.d.ts +26 -26
  198. package/elements/radio/Radio.module.d.ts +2 -2
  199. package/elements/radio/Radio.scss +94 -0
  200. package/elements/search/SearchBox.d.ts +59 -59
  201. package/elements/search/SearchBox.module.d.ts +2 -2
  202. package/elements/search/SearchBox.scss +67 -0
  203. package/elements/select/Select.d.ts +62 -62
  204. package/elements/select/Select.module.d.ts +2 -2
  205. package/elements/select/Select.scss +226 -0
  206. package/elements/simple-table/activity-table-renderers.d.ts +4 -4
  207. package/elements/simple-table/cell-header.d.ts +62 -62
  208. package/elements/simple-table/cell.d.ts +73 -73
  209. package/elements/simple-table/interfaces.d.ts +81 -81
  210. package/elements/simple-table/pagination.d.ts +37 -37
  211. package/elements/simple-table/row.d.ts +20 -20
  212. package/elements/simple-table/simple-table.module.d.ts +2 -2
  213. package/elements/simple-table/sort.d.ts +20 -20
  214. package/elements/simple-table/state.d.ts +22 -22
  215. package/elements/simple-table/table-source.d.ts +62 -62
  216. package/elements/simple-table/table.d.ts +59 -59
  217. package/elements/simple-table/table.scss +344 -0
  218. package/elements/slider/Slider.d.ts +18 -18
  219. package/elements/slider/Slider.module.d.ts +2 -2
  220. package/elements/slider/Slider.scss +89 -0
  221. package/elements/stepper/step-header.component.d.ts +45 -45
  222. package/elements/stepper/step-header.component.scss +78 -0
  223. package/elements/stepper/step-label.component.d.ts +5 -5
  224. package/elements/stepper/step-status.component.d.ts +6 -6
  225. package/elements/stepper/stepper.animations.d.ts +6 -6
  226. package/elements/stepper/stepper.component.d.ts +39 -39
  227. package/elements/stepper/stepper.component.scss +200 -0
  228. package/elements/stepper/stepper.module.d.ts +2 -2
  229. package/elements/switch/Switch.d.ts +19 -19
  230. package/elements/switch/Switch.module.d.ts +2 -2
  231. package/elements/switch/Switch.scss +143 -0
  232. package/elements/tabbed-group-picker/TabbedGroupPicker.d.ts +122 -122
  233. package/elements/tabbed-group-picker/TabbedGroupPicker.module.d.ts +2 -2
  234. package/elements/tabbed-group-picker/TabbedGroupPicker.scss +186 -0
  235. package/elements/table/Table.d.ts +184 -184
  236. package/elements/table/Table.module.d.ts +2 -2
  237. package/elements/table/Table.scss +585 -0
  238. package/elements/table/extras/TableExtras.module.d.ts +2 -2
  239. package/elements/table/extras/base-renderer/BaseRenderer.d.ts +5 -5
  240. package/elements/table/extras/date-cell/DateCell.d.ts +8 -8
  241. package/elements/table/extras/dropdown-cell/DropdownCell.d.ts +17 -17
  242. package/elements/table/extras/dropdown-cell/DropdownCell.scss +58 -0
  243. package/elements/table/extras/keep-filter-focus/KeepFilterFocus.d.ts +6 -6
  244. package/elements/table/extras/pagination/Pagination.d.ts +39 -39
  245. package/elements/table/extras/pagination/Pagination.scss +62 -0
  246. package/elements/table/extras/percentage-cell/PercentageCell.d.ts +3 -3
  247. package/elements/table/extras/row-details/RowDetails.d.ts +12 -12
  248. package/elements/table/extras/table-actions/TableActions.d.ts +2 -2
  249. package/elements/table/extras/table-cell/TableCell.d.ts +18 -18
  250. package/elements/table/extras/table-filter/TableFilter.d.ts +13 -13
  251. package/elements/table/extras/table-footer/TableFooter.d.ts +2 -2
  252. package/elements/table/extras/table-header/TableHeader.d.ts +2 -2
  253. package/elements/table/extras/th-orderable/ThOrderable.d.ts +30 -30
  254. package/elements/table/extras/th-sortable/ThSortable.d.ts +7 -7
  255. package/elements/tabs/Tabs.d.ts +49 -49
  256. package/elements/tabs/Tabs.module.d.ts +2 -2
  257. package/elements/tabs/Tabs.scss +287 -0
  258. package/elements/tiles/Tiles.d.ts +30 -30
  259. package/elements/tiles/Tiles.module.d.ts +2 -2
  260. package/elements/tiles/Tiles.scss +68 -0
  261. package/elements/time-picker/TimePicker.d.ts +38 -38
  262. package/elements/time-picker/TimePicker.module.d.ts +2 -2
  263. package/elements/time-picker/TimePicker.scss +388 -0
  264. package/elements/time-picker/TimePickerInput.d.ts +52 -52
  265. package/elements/tip-well/TipWell.d.ts +23 -23
  266. package/elements/tip-well/TipWell.module.d.ts +2 -2
  267. package/elements/tip-well/TipWell.scss +31 -0
  268. package/elements/toast/Toast.d.ts +28 -28
  269. package/elements/toast/Toast.module.d.ts +2 -2
  270. package/elements/toast/Toast.scss +413 -0
  271. package/elements/toast/ToastService.d.ts +40 -40
  272. package/elements/tooltip/Tooltip.component.d.ts +12 -11
  273. package/elements/tooltip/Tooltip.directive.d.ts +35 -34
  274. package/elements/tooltip/Tooltip.module.d.ts +2 -2
  275. package/elements/tooltip/Tooltip.scss +216 -0
  276. package/elements/unless/Unless.d.ts +12 -12
  277. package/elements/unless/Unless.module.d.ts +2 -2
  278. package/elements/value/EntityList.d.ts +13 -13
  279. package/elements/value/Render.d.ts +66 -66
  280. package/elements/value/Value.d.ts +40 -40
  281. package/elements/value/Value.module.d.ts +2 -2
  282. package/elements/value/Value.scss +57 -0
  283. package/elements/value/Values.scss +57 -0
  284. package/esm2015/elements/ace-editor/AceEditor.js +126 -126
  285. package/esm2015/elements/ace-editor/AceEditor.module.js +15 -15
  286. package/esm2015/elements/button/Button.js +74 -74
  287. package/esm2015/elements/button/Button.module.js +15 -15
  288. package/esm2015/elements/calendar/Calendar.module.js +81 -81
  289. package/esm2015/elements/calendar/common/CalendarDateChange.js +60 -60
  290. package/esm2015/elements/calendar/common/EventTypeLegend.js +32 -32
  291. package/esm2015/elements/calendar/day/CalendarAllDayEvent.js +40 -40
  292. package/esm2015/elements/calendar/day/CalendarDayEvent.js +41 -41
  293. package/esm2015/elements/calendar/day/CalendarDayView.js +302 -302
  294. package/esm2015/elements/calendar/day/CalendarHourSegment.js +34 -34
  295. package/esm2015/elements/calendar/month/CalendarMonthDay.js +87 -87
  296. package/esm2015/elements/calendar/month/CalendarMonthHeader.js +55 -55
  297. package/esm2015/elements/calendar/month/CalendarMonthView.js +171 -171
  298. package/esm2015/elements/calendar/pipe/DayOfMonth.pipe.js +16 -16
  299. package/esm2015/elements/calendar/pipe/EndOfWeekDisplayPipe.pipe.js +19 -19
  300. package/esm2015/elements/calendar/pipe/Hours.pipe.js +16 -16
  301. package/esm2015/elements/calendar/pipe/Month.pipe.js +16 -16
  302. package/esm2015/elements/calendar/pipe/MonthDay.pipe.js +16 -16
  303. package/esm2015/elements/calendar/pipe/Weekday.pipe.js +16 -16
  304. package/esm2015/elements/calendar/pipe/Year.pipe.js +16 -16
  305. package/esm2015/elements/calendar/week/CalendarWeekEvent.js +38 -38
  306. package/esm2015/elements/calendar/week/CalendarWeekHeader.js +46 -46
  307. package/esm2015/elements/calendar/week/CalendarWeekView.js +311 -311
  308. package/esm2015/elements/card/Card.js +104 -104
  309. package/esm2015/elements/card/Card.module.js +18 -18
  310. package/esm2015/elements/category-dropdown/CategoryDropdown.js +159 -159
  311. package/esm2015/elements/category-dropdown/CategoryDropdown.module.js +17 -17
  312. package/esm2015/elements/chips/Chips.js +356 -356
  313. package/esm2015/elements/chips/Chips.module.js +18 -18
  314. package/esm2015/elements/chips/RowChips.js +86 -86
  315. package/esm2015/elements/ckeditor/CKEditor.js +237 -237
  316. package/esm2015/elements/ckeditor/CKEditor.module.js +16 -16
  317. package/esm2015/elements/common/common.module.js +13 -13
  318. package/esm2015/elements/common/novo-template/novo-template.directive.js +22 -22
  319. package/esm2015/elements/data-table/ListInteractionTypes.js +1 -1
  320. package/esm2015/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.js +73 -73
  321. package/esm2015/elements/data-table/cell-headers/data-table-expand-header-cell.component.js +47 -47
  322. package/esm2015/elements/data-table/cell-headers/data-table-header-cell.component.js +501 -501
  323. package/esm2015/elements/data-table/cell-headers/data-table-header-cell.directive.js +35 -35
  324. package/esm2015/elements/data-table/cells/data-table-cell.component.js +62 -62
  325. package/esm2015/elements/data-table/cells/data-table-checkbox-cell.component.js +65 -65
  326. package/esm2015/elements/data-table/cells/data-table-expand-cell.component.js +52 -52
  327. package/esm2015/elements/data-table/data-table-clear-button.component.js +54 -54
  328. package/esm2015/elements/data-table/data-table-expand.directive.js +57 -57
  329. package/esm2015/elements/data-table/data-table.component.js +665 -665
  330. package/esm2015/elements/data-table/data-table.module.js +87 -87
  331. package/esm2015/elements/data-table/data-table.pipes.js +150 -150
  332. package/esm2015/elements/data-table/data-table.source.js +62 -62
  333. package/esm2015/elements/data-table/interfaces.js +1 -1
  334. package/esm2015/elements/data-table/pagination/data-table-pagination.component.js +249 -249
  335. package/esm2015/elements/data-table/rows/data-table-header-row.component.js +23 -23
  336. package/esm2015/elements/data-table/rows/data-table-row.component.js +23 -23
  337. package/esm2015/elements/data-table/services/data-table-filter-utils.js +35 -35
  338. package/esm2015/elements/data-table/services/remote-data-table.service.js +3 -3
  339. package/esm2015/elements/data-table/services/static-data-table.service.js +48 -48
  340. package/esm2015/elements/data-table/sort-filter/sort-filter.directive.js +57 -57
  341. package/esm2015/elements/data-table/state/data-table-state.service.js +116 -116
  342. package/esm2015/elements/date-picker/DatePicker.js +493 -493
  343. package/esm2015/elements/date-picker/DatePicker.module.js +20 -20
  344. package/esm2015/elements/date-picker/DatePickerInput.js +255 -255
  345. package/esm2015/elements/date-time-picker/DateTimePicker.js +195 -195
  346. package/esm2015/elements/date-time-picker/DateTimePicker.module.js +22 -22
  347. package/esm2015/elements/date-time-picker/DateTimePickerInput.js +151 -151
  348. package/esm2015/elements/dragula/Dragula.js +66 -66
  349. package/esm2015/elements/dragula/Dragula.module.js +13 -13
  350. package/esm2015/elements/dragula/DragulaService.js +117 -117
  351. package/esm2015/elements/dropdown/Dropdown.js +284 -284
  352. package/esm2015/elements/dropdown/Dropdown.module.js +15 -15
  353. package/esm2015/elements/expansion/accordion.js +42 -42
  354. package/esm2015/elements/expansion/expansion-animations.js +33 -33
  355. package/esm2015/elements/expansion/expansion-panel-content.js +19 -19
  356. package/esm2015/elements/expansion/expansion-panel-header.js +131 -131
  357. package/esm2015/elements/expansion/expansion-panel.js +141 -141
  358. package/esm2015/elements/expansion/expansion.module.js +34 -34
  359. package/esm2015/elements/form/Control.js +645 -645
  360. package/esm2015/elements/form/ControlGroup.js +264 -247
  361. package/esm2015/elements/form/ControlTemplates.js +162 -161
  362. package/esm2015/elements/form/DynamicForm.js +221 -221
  363. package/esm2015/elements/form/FieldInteractionApi.js +680 -680
  364. package/esm2015/elements/form/FieldInteractionApiTypes.js +1 -1
  365. package/esm2015/elements/form/FieldInteractionModals.js +63 -63
  366. package/esm2015/elements/form/Form.js +93 -93
  367. package/esm2015/elements/form/Form.module.js +86 -86
  368. package/esm2015/elements/form/FormControls.js +23 -23
  369. package/esm2015/elements/form/FormInterfaces.js +1 -1
  370. package/esm2015/elements/form/FormValidators.js +115 -115
  371. package/esm2015/elements/form/NovoFormControl.js +154 -154
  372. package/esm2015/elements/form/NovoFormGroup.js +32 -32
  373. package/esm2015/elements/form/controls/BaseControl.js +101 -101
  374. package/esm2015/elements/form/controls/ControlFactory.js +47 -47
  375. package/esm2015/elements/form/controls/ace-editor/AceEditorControl.js +9 -9
  376. package/esm2015/elements/form/controls/address/AddressControl.js +11 -11
  377. package/esm2015/elements/form/controls/check-list/CheckListControl.js +10 -10
  378. package/esm2015/elements/form/controls/checkbox/CheckboxControl.js +9 -9
  379. package/esm2015/elements/form/controls/custom/CustomControl.js +10 -10
  380. package/esm2015/elements/form/controls/date/DateControl.js +9 -9
  381. package/esm2015/elements/form/controls/date-time/DateTimeControl.js +9 -9
  382. package/esm2015/elements/form/controls/editor/EditorControl.js +10 -10
  383. package/esm2015/elements/form/controls/file/FileControl.js +12 -12
  384. package/esm2015/elements/form/controls/grouped/GroupedControl.js +7 -7
  385. package/esm2015/elements/form/controls/index.js +20 -20
  386. package/esm2015/elements/form/controls/native-select/NativeSelectControl.js +11 -11
  387. package/esm2015/elements/form/controls/picker/PickerControl.js +17 -17
  388. package/esm2015/elements/form/controls/quick-note/QuickNoteControl.js +11 -11
  389. package/esm2015/elements/form/controls/radio/RadioControl.js +11 -11
  390. package/esm2015/elements/form/controls/read-only/ReadOnlyControl.js +10 -10
  391. package/esm2015/elements/form/controls/select/SelectControl.js +12 -12
  392. package/esm2015/elements/form/controls/text-area/TextAreaControl.js +9 -9
  393. package/esm2015/elements/form/controls/textbox/TextBoxControl.js +44 -44
  394. package/esm2015/elements/form/controls/tiles/TilesControl.js +11 -11
  395. package/esm2015/elements/form/controls/time/TimeControl.js +9 -9
  396. package/esm2015/elements/form/extras/FormExtras.module.js +36 -36
  397. package/esm2015/elements/form/extras/address/Address.js +512 -512
  398. package/esm2015/elements/form/extras/checkbox/CheckList.js +107 -107
  399. package/esm2015/elements/form/extras/checkbox/Checkbox.js +80 -80
  400. package/esm2015/elements/form/extras/file/FileInput.js +320 -320
  401. package/esm2015/elements/form/extras/file/extras/file/File.js +40 -40
  402. package/esm2015/elements/header/Header.js +96 -96
  403. package/esm2015/elements/header/Header.module.js +14 -14
  404. package/esm2015/elements/icon/Icon.js +53 -53
  405. package/esm2015/elements/icon/Icon.module.js +11 -11
  406. package/esm2015/elements/list/List.js +132 -132
  407. package/esm2015/elements/list/List.module.js +33 -33
  408. package/esm2015/elements/loading/Loading.js +174 -174
  409. package/esm2015/elements/loading/Loading.module.js +15 -15
  410. package/esm2015/elements/modal/Modal.js +138 -138
  411. package/esm2015/elements/modal/Modal.module.js +16 -16
  412. package/esm2015/elements/modal/ModalService.js +31 -31
  413. package/esm2015/elements/multi-picker/MultiPicker.js +600 -600
  414. package/esm2015/elements/multi-picker/MultiPicker.module.js +18 -18
  415. package/esm2015/elements/overlay/Overlay.js +238 -238
  416. package/esm2015/elements/overlay/Overlay.module.js +18 -18
  417. package/esm2015/elements/picker/Picker.js +343 -343
  418. package/esm2015/elements/picker/Picker.module.js +50 -50
  419. package/esm2015/elements/picker/extras/base-picker-results/BasePickerResults.js +353 -353
  420. package/esm2015/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.js +127 -127
  421. package/esm2015/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.js +63 -63
  422. package/esm2015/elements/picker/extras/entity-picker-results/EntityPickerResults.js +221 -221
  423. package/esm2015/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.js +264 -264
  424. package/esm2015/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.js +193 -193
  425. package/esm2015/elements/picker/extras/picker-results/PickerResults.js +60 -60
  426. package/esm2015/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.js +79 -79
  427. package/esm2015/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.js +79 -79
  428. package/esm2015/elements/places/places.component.js +369 -369
  429. package/esm2015/elements/places/places.module.js +18 -18
  430. package/esm2015/elements/places/places.service.js +248 -248
  431. package/esm2015/elements/popover/PopOver.js +144 -144
  432. package/esm2015/elements/popover/PopOver.module.js +14 -14
  433. package/esm2015/elements/popover/PopOverContent.js +198 -198
  434. package/esm2015/elements/quick-note/QuickNote.js +572 -572
  435. package/esm2015/elements/quick-note/QuickNote.module.js +19 -19
  436. package/esm2015/elements/quick-note/extras/quick-note-results/QuickNoteResults.js +138 -138
  437. package/esm2015/elements/radio/Radio.js +89 -89
  438. package/esm2015/elements/radio/Radio.module.js +16 -16
  439. package/esm2015/elements/search/SearchBox.js +193 -193
  440. package/esm2015/elements/search/SearchBox.module.js +19 -19
  441. package/esm2015/elements/select/Select.js +363 -358
  442. package/esm2015/elements/select/Select.module.js +19 -18
  443. package/esm2015/elements/simple-table/activity-table-renderers.js +16 -16
  444. package/esm2015/elements/simple-table/cell-header.js +278 -278
  445. package/esm2015/elements/simple-table/cell.js +291 -291
  446. package/esm2015/elements/simple-table/interfaces.js +1 -1
  447. package/esm2015/elements/simple-table/pagination.js +175 -175
  448. package/esm2015/elements/simple-table/row.js +66 -66
  449. package/esm2015/elements/simple-table/simple-table.module.js +92 -92
  450. package/esm2015/elements/simple-table/sort.js +87 -87
  451. package/esm2015/elements/simple-table/state.js +38 -38
  452. package/esm2015/elements/simple-table/table-source.js +70 -70
  453. package/esm2015/elements/simple-table/table.js +238 -238
  454. package/esm2015/elements/slider/Slider.js +81 -81
  455. package/esm2015/elements/slider/Slider.module.js +16 -16
  456. package/esm2015/elements/stepper/step-header.component.js +90 -90
  457. package/esm2015/elements/stepper/step-label.component.js +16 -16
  458. package/esm2015/elements/stepper/step-status.component.js +26 -26
  459. package/esm2015/elements/stepper/stepper.animations.js +19 -19
  460. package/esm2015/elements/stepper/stepper.component.js +139 -139
  461. package/esm2015/elements/stepper/stepper.module.js +21 -21
  462. package/esm2015/elements/switch/Switch.js +88 -88
  463. package/esm2015/elements/switch/Switch.module.js +16 -16
  464. package/esm2015/elements/tabbed-group-picker/TabbedGroupPicker.js +261 -261
  465. package/esm2015/elements/tabbed-group-picker/TabbedGroupPicker.module.js +33 -33
  466. package/esm2015/elements/table/Table.js +940 -940
  467. package/esm2015/elements/table/Table.module.js +40 -40
  468. package/esm2015/elements/table/extras/TableExtras.module.js +59 -59
  469. package/esm2015/elements/table/extras/base-renderer/BaseRenderer.js +8 -8
  470. package/esm2015/elements/table/extras/date-cell/DateCell.js +31 -31
  471. package/esm2015/elements/table/extras/dropdown-cell/DropdownCell.js +44 -44
  472. package/esm2015/elements/table/extras/keep-filter-focus/KeepFilterFocus.js +19 -19
  473. package/esm2015/elements/table/extras/pagination/Pagination.js +125 -125
  474. package/esm2015/elements/table/extras/percentage-cell/PercentageCell.js +15 -15
  475. package/esm2015/elements/table/extras/row-details/RowDetails.js +44 -44
  476. package/esm2015/elements/table/extras/table-actions/TableActions.js +11 -11
  477. package/esm2015/elements/table/extras/table-cell/TableCell.js +82 -82
  478. package/esm2015/elements/table/extras/table-filter/TableFilter.js +59 -59
  479. package/esm2015/elements/table/extras/table-footer/TableFooter.js +11 -11
  480. package/esm2015/elements/table/extras/table-header/TableHeader.js +11 -11
  481. package/esm2015/elements/table/extras/th-orderable/ThOrderable.js +125 -125
  482. package/esm2015/elements/table/extras/th-sortable/ThSortable.js +37 -37
  483. package/esm2015/elements/tabs/Tabs.js +253 -253
  484. package/esm2015/elements/tabs/Tabs.module.js +31 -31
  485. package/esm2015/elements/tiles/Tiles.js +154 -154
  486. package/esm2015/elements/tiles/Tiles.module.js +16 -16
  487. package/esm2015/elements/time-picker/TimePicker.js +201 -201
  488. package/esm2015/elements/time-picker/TimePicker.module.js +21 -21
  489. package/esm2015/elements/time-picker/TimePickerInput.js +202 -202
  490. package/esm2015/elements/tip-well/TipWell.js +94 -94
  491. package/esm2015/elements/tip-well/TipWell.module.js +16 -16
  492. package/esm2015/elements/toast/Toast.js +111 -111
  493. package/esm2015/elements/toast/Toast.module.js +15 -15
  494. package/esm2015/elements/toast/ToastService.js +92 -92
  495. package/esm2015/elements/tooltip/Tooltip.component.js +37 -34
  496. package/esm2015/elements/tooltip/Tooltip.directive.js +189 -187
  497. package/esm2015/elements/tooltip/Tooltip.module.js +16 -16
  498. package/esm2015/elements/unless/Unless.js +56 -56
  499. package/esm2015/elements/unless/Unless.module.js +15 -15
  500. package/esm2015/elements/value/EntityList.js +84 -84
  501. package/esm2015/elements/value/Render.js +415 -415
  502. package/esm2015/elements/value/Value.js +160 -160
  503. package/esm2015/elements/value/Value.module.js +17 -17
  504. package/esm2015/index.js +221 -221
  505. package/esm2015/novo-elements.js +25 -25
  506. package/esm2015/novo-elements.module.js +128 -128
  507. package/esm2015/novo-elements.providers.js +50 -50
  508. package/esm2015/pipes/Pipes.module.js +15 -15
  509. package/esm2015/pipes/decode-uri/DecodeURI.js +18 -18
  510. package/esm2015/pipes/group-by/GroupBy.js +24 -24
  511. package/esm2015/pipes/plural/Plural.js +349 -349
  512. package/esm2015/services/data-provider/ArrayCollection.js +301 -301
  513. package/esm2015/services/data-provider/Collection.js +1 -1
  514. package/esm2015/services/data-provider/CollectionEvent.js +21 -21
  515. package/esm2015/services/data-provider/PagedArrayCollection.js +78 -78
  516. package/esm2015/services/data-provider/PagedCollection.js +1 -1
  517. package/esm2015/services/date-format/DateFormat.js +189 -189
  518. package/esm2015/services/global/global.service.js +18 -18
  519. package/esm2015/services/novo-label-service.js +279 -279
  520. package/esm2015/services/options/OptionsService.js +26 -26
  521. package/esm2015/services/security/Security.js +67 -67
  522. package/esm2015/services/storage/storage.service.js +16 -16
  523. package/esm2015/services/template/NovoTemplateService.js +33 -33
  524. package/esm2015/utils/Helpers.js +395 -395
  525. package/esm2015/utils/app-bridge/AppBridge.js +710 -710
  526. package/esm2015/utils/calendar-utils/CalendarUtils.js +321 -321
  527. package/esm2015/utils/component-utils/ComponentUtils.js +20 -20
  528. package/esm2015/utils/countries/Countries.js +17538 -17538
  529. package/esm2015/utils/deferred/Deferred.js +14 -14
  530. package/esm2015/utils/form-utils/FormUtils.js +793 -788
  531. package/esm2015/utils/key-codes/KeyCodes.js +95 -95
  532. package/esm2015/utils/notifier/notifier.util.js +10 -10
  533. package/esm2015/utils/outside-click/OutsideClick.js +60 -60
  534. package/fesm2015/novo-elements.js +43328 -43295
  535. package/fesm2015/novo-elements.js.map +1 -1
  536. package/index.d.ts +225 -225
  537. package/novo-elements.d.ts +24 -24
  538. package/novo-elements.metadata.json +1 -1
  539. package/novo-elements.module.d.ts +2 -2
  540. package/novo-elements.providers.d.ts +5 -5
  541. package/novo-elements.scss +110 -0
  542. package/package.json +1 -1
  543. package/pipes/Pipes.module.d.ts +2 -2
  544. package/pipes/decode-uri/DecodeURI.d.ts +4 -4
  545. package/pipes/group-by/GroupBy.d.ts +4 -4
  546. package/pipes/plural/Plural.d.ts +4 -4
  547. package/services/data-provider/ArrayCollection.d.ts +178 -178
  548. package/services/data-provider/Collection.d.ts +93 -93
  549. package/services/data-provider/CollectionEvent.d.ts +17 -17
  550. package/services/data-provider/PagedArrayCollection.d.ts +18 -18
  551. package/services/data-provider/PagedCollection.d.ts +15 -15
  552. package/services/date-format/DateFormat.d.ts +13 -13
  553. package/services/global/global.service.d.ts +11 -11
  554. package/services/novo-label-service.d.ts +142 -142
  555. package/services/options/OptionsService.d.ts +9 -9
  556. package/services/security/Security.d.ts +19 -19
  557. package/services/storage/storage.service.d.ts +5 -5
  558. package/services/template/NovoTemplateService.d.ts +7 -7
  559. package/styles/content/typography.scss +200 -0
  560. package/styles/global/cdk.scss +106 -0
  561. package/styles/global/flex-grid.scss +156 -0
  562. package/styles/global/functions.scss +174 -0
  563. package/styles/global/include-media.scss +578 -0
  564. package/styles/global/layout.scss +3 -0
  565. package/styles/global/reset.scss +451 -0
  566. package/styles/global/variables.scss +324 -0
  567. package/utils/Helpers.d.ts +68 -68
  568. package/utils/app-bridge/AppBridge.d.ts +178 -178
  569. package/utils/calendar-utils/CalendarUtils.d.ts +150 -150
  570. package/utils/component-utils/ComponentUtils.d.ts +6 -6
  571. package/utils/countries/Countries.d.ts +51 -51
  572. package/utils/deferred/Deferred.d.ts +4 -4
  573. package/utils/form-utils/FormUtils.d.ts +77 -77
  574. package/utils/key-codes/KeyCodes.d.ts +93 -93
  575. package/utils/notifier/notifier.util.d.ts +1 -1
  576. package/utils/outside-click/OutsideClick.d.ts +24 -24
@@ -1,184 +1,184 @@
1
- import { DoCheck, ElementRef, EventEmitter, QueryList } from '@angular/core';
2
- import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
3
- import { PagedArrayCollection } from '../../services/data-provider/PagedArrayCollection';
4
- import { NovoLabelService } from '../../services/novo-label-service';
5
- import { FormUtils } from '../../utils/form-utils/FormUtils';
6
- export interface NovoTableConfig {
7
- paging?: {
8
- current: number;
9
- itemsPerPage: number;
10
- onPageChange: Function;
11
- rowOptions?: {
12
- value: number;
13
- label: string;
14
- }[];
15
- disablePageSelection?: boolean;
16
- };
17
- footers?: Array<{
18
- columns: Array<string>;
19
- method: string;
20
- labelColumn: string;
21
- label: string;
22
- }>;
23
- filtering?: boolean | any;
24
- sorting?: boolean | any;
25
- ordering?: boolean | Function;
26
- resizing?: boolean | Function;
27
- rowSelectionStyle?: string;
28
- rowSelect?: boolean;
29
- hasDetails?: boolean;
30
- detailsRenderer?: any;
31
- expandAll?: boolean;
32
- selectAllEnabled?: boolean;
33
- }
34
- export declare enum NovoTableMode {
35
- VIEW = 1,
36
- EDIT = 2
37
- }
38
- export declare class NovoTableElement implements DoCheck {
39
- labels: NovoLabelService;
40
- private formUtils;
41
- private builder;
42
- filterInputs: QueryList<ElementRef>;
43
- config: NovoTableConfig;
44
- columns: Array<any>;
45
- theme: string;
46
- skipSortAndFilterClear: boolean;
47
- mode: NovoTableMode;
48
- editable: boolean;
49
- rowIdentifier: string;
50
- name: string;
51
- onRowClick: EventEmitter<any>;
52
- onRowSelect: EventEmitter<any>;
53
- onTableChange: EventEmitter<any>;
54
- _dataProvider: PagedArrayCollection<any>;
55
- _rows: Array<any>;
56
- selected: Array<any>;
57
- activeId: number;
58
- master: boolean;
59
- expandAll: boolean;
60
- indeterminate: boolean;
61
- lastPage: number;
62
- selectedPageCount: number;
63
- showSelectAllMessage: boolean;
64
- currentSortColumn: any;
65
- pagedData: Array<any>;
66
- pageSelected: any;
67
- toggledDropdownMap: any;
68
- NovoTableMode: typeof NovoTableMode;
69
- tableForm: FormGroup;
70
- toast: {
71
- theme: string;
72
- icon: string;
73
- message: string;
74
- };
75
- footers: any[];
76
- grossFlagToAvoidTheTableFromBeingUglyWhenHidingTheToast: boolean;
77
- loading: boolean;
78
- set rows(rows: Array<any>);
79
- get rows(): Array<any>;
80
- set dataProvider(dp: any);
81
- get dataProvider(): any;
82
- get editing(): boolean;
83
- get formValue(): any;
84
- constructor(labels: NovoLabelService, formUtils: FormUtils, builder: FormBuilder);
85
- onDropdownToggled(event: any, column: any): void;
86
- focusInput(): void;
87
- onPageChange(event: any): void;
88
- getOptionDataAutomationId(option: any): any;
89
- setupColumnDefaults(): void;
90
- ngDoCheck(): void;
91
- getPageStart(): number;
92
- getPageEnd(): number;
93
- getRowControlForm(i: any): AbstractControl;
94
- onFilterClick(column: any, filter: any): void;
95
- onFilterClear(column: any): void;
96
- clearAllSortAndFilters(): void;
97
- /**
98
- * @description This method updates the row data to reflect the active filters.
99
- */
100
- onFilterChange(event?: Event): void;
101
- escapeCharacters(filter: any): any;
102
- isFilterActive(column: any, filter: any): boolean;
103
- onSortChange(column: any): void;
104
- fireTableChangeEvent(): void;
105
- findColumnIndex(value: any): number;
106
- onOrderChange(event: any): void;
107
- expandAllOnPage(expanded: any): void;
108
- selectPage(data?: any): void;
109
- selectAll(value: any): void;
110
- rowSelectHandler(data?: any): void;
111
- emitSelected(selected: any): void;
112
- rowClickHandler(row: any): void;
113
- getDefaultOptions(column: any): any[];
114
- onCalenderSelect(column: any, event: any): void;
115
- onFilterKeywords(config: any): void;
116
- /**
117
- * @description Sets the Table into EDIT mode, based on the row/column passed you can enter in a few states
118
- * (1) setTableEdit() - don't pass any to put the FULL table into edit mode
119
- * (2) setTableEdit(1) - pass only row to put that FULL row of the table into edit mode
120
- * (3) setTableEdit(1, 1) - pass row and column to put that column of the row of the table into edit mode
121
- * @memberOf NovoTableElement
122
- */
123
- setTableEdit(rowNumber?: number, columnNumber?: number): void;
124
- /**
125
- * @description Leaves edit mode for the Table and puts everything back to VIEW only
126
- * @memberOf NovoTableElement
127
- * @param cancel - whether or not to save data or undo
128
- */
129
- private leaveEditMode;
130
- /**
131
- * @description Adds a new row into the table to be edited, can be called from a local reference of the table in your template
132
- * @memberOf NovoTableElement
133
- */
134
- addEditableRow(defaultValue?: any): void;
135
- /**
136
- * @description Validates the Form inside of the Table, if there are errors it will display/return the errors for each row.
137
- * If there are no errors, then it will return ONLY the changed data for each row, the data returned will be in the form:
138
- * { id: ID_OF_RECORD, key: value } -- data that was updated
139
- * { id: undefined, key: value } -- data that was added
140
- * @memberOf NovoTableElement
141
- */
142
- validateAndGetUpdatedData(): {
143
- changed?: any[];
144
- errors?: {
145
- errors: any;
146
- row: any;
147
- index: number;
148
- }[];
149
- };
150
- /**
151
- * @description Refresh the data provider and leave edit mode
152
- * @memberOf NovoTableElement
153
- */
154
- cancelEditing(): void;
155
- /**
156
- * @description Refresh the data provider and leave edit mode
157
- * @memberOf NovoTableElement
158
- */
159
- saveChanges(): void;
160
- /**
161
- * @description Displays a toast message inside of the table
162
- * @memberOf NovoTableElement
163
- */
164
- displayToastMessage(toast: {
165
- icon: string;
166
- theme: string;
167
- message: string;
168
- }, hideDelay?: number): void;
169
- /**
170
- * @description Force hide the toast message
171
- * @memberOf NovoTableElement
172
- */
173
- hideToastMessage(): void;
174
- /**
175
- * @description display the loading overlay on the table
176
- * @memberOf NovoTableElement
177
- */
178
- toggleLoading(show: boolean): void;
179
- /**
180
- * @description hide a column in edit or view mode
181
- * @memberOf NovoTableElement
182
- */
183
- isColumnHidden(column: any): boolean;
184
- }
1
+ import { DoCheck, ElementRef, EventEmitter, QueryList } from '@angular/core';
2
+ import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
3
+ import { PagedArrayCollection } from '../../services/data-provider/PagedArrayCollection';
4
+ import { NovoLabelService } from '../../services/novo-label-service';
5
+ import { FormUtils } from '../../utils/form-utils/FormUtils';
6
+ export interface NovoTableConfig {
7
+ paging?: {
8
+ current: number;
9
+ itemsPerPage: number;
10
+ onPageChange: Function;
11
+ rowOptions?: {
12
+ value: number;
13
+ label: string;
14
+ }[];
15
+ disablePageSelection?: boolean;
16
+ };
17
+ footers?: Array<{
18
+ columns: Array<string>;
19
+ method: string;
20
+ labelColumn: string;
21
+ label: string;
22
+ }>;
23
+ filtering?: boolean | any;
24
+ sorting?: boolean | any;
25
+ ordering?: boolean | Function;
26
+ resizing?: boolean | Function;
27
+ rowSelectionStyle?: string;
28
+ rowSelect?: boolean;
29
+ hasDetails?: boolean;
30
+ detailsRenderer?: any;
31
+ expandAll?: boolean;
32
+ selectAllEnabled?: boolean;
33
+ }
34
+ export declare enum NovoTableMode {
35
+ VIEW = 1,
36
+ EDIT = 2
37
+ }
38
+ export declare class NovoTableElement implements DoCheck {
39
+ labels: NovoLabelService;
40
+ private formUtils;
41
+ private builder;
42
+ filterInputs: QueryList<ElementRef>;
43
+ config: NovoTableConfig;
44
+ columns: Array<any>;
45
+ theme: string;
46
+ skipSortAndFilterClear: boolean;
47
+ mode: NovoTableMode;
48
+ editable: boolean;
49
+ rowIdentifier: string;
50
+ name: string;
51
+ onRowClick: EventEmitter<any>;
52
+ onRowSelect: EventEmitter<any>;
53
+ onTableChange: EventEmitter<any>;
54
+ _dataProvider: PagedArrayCollection<any>;
55
+ _rows: Array<any>;
56
+ selected: Array<any>;
57
+ activeId: number;
58
+ master: boolean;
59
+ expandAll: boolean;
60
+ indeterminate: boolean;
61
+ lastPage: number;
62
+ selectedPageCount: number;
63
+ showSelectAllMessage: boolean;
64
+ currentSortColumn: any;
65
+ pagedData: Array<any>;
66
+ pageSelected: any;
67
+ toggledDropdownMap: any;
68
+ NovoTableMode: typeof NovoTableMode;
69
+ tableForm: FormGroup;
70
+ toast: {
71
+ theme: string;
72
+ icon: string;
73
+ message: string;
74
+ };
75
+ footers: any[];
76
+ grossFlagToAvoidTheTableFromBeingUglyWhenHidingTheToast: boolean;
77
+ loading: boolean;
78
+ set rows(rows: Array<any>);
79
+ get rows(): Array<any>;
80
+ set dataProvider(dp: any);
81
+ get dataProvider(): any;
82
+ get editing(): boolean;
83
+ get formValue(): any;
84
+ constructor(labels: NovoLabelService, formUtils: FormUtils, builder: FormBuilder);
85
+ onDropdownToggled(event: any, column: any): void;
86
+ focusInput(): void;
87
+ onPageChange(event: any): void;
88
+ getOptionDataAutomationId(option: any): any;
89
+ setupColumnDefaults(): void;
90
+ ngDoCheck(): void;
91
+ getPageStart(): number;
92
+ getPageEnd(): number;
93
+ getRowControlForm(i: any): AbstractControl;
94
+ onFilterClick(column: any, filter: any): void;
95
+ onFilterClear(column: any): void;
96
+ clearAllSortAndFilters(): void;
97
+ /**
98
+ * @description This method updates the row data to reflect the active filters.
99
+ */
100
+ onFilterChange(event?: Event): void;
101
+ escapeCharacters(filter: any): any;
102
+ isFilterActive(column: any, filter: any): boolean;
103
+ onSortChange(column: any): void;
104
+ fireTableChangeEvent(): void;
105
+ findColumnIndex(value: any): number;
106
+ onOrderChange(event: any): void;
107
+ expandAllOnPage(expanded: any): void;
108
+ selectPage(data?: any): void;
109
+ selectAll(value: any): void;
110
+ rowSelectHandler(data?: any): void;
111
+ emitSelected(selected: any): void;
112
+ rowClickHandler(row: any): void;
113
+ getDefaultOptions(column: any): any[];
114
+ onCalenderSelect(column: any, event: any): void;
115
+ onFilterKeywords(config: any): void;
116
+ /**
117
+ * @description Sets the Table into EDIT mode, based on the row/column passed you can enter in a few states
118
+ * (1) setTableEdit() - don't pass any to put the FULL table into edit mode
119
+ * (2) setTableEdit(1) - pass only row to put that FULL row of the table into edit mode
120
+ * (3) setTableEdit(1, 1) - pass row and column to put that column of the row of the table into edit mode
121
+ * @memberOf NovoTableElement
122
+ */
123
+ setTableEdit(rowNumber?: number, columnNumber?: number): void;
124
+ /**
125
+ * @description Leaves edit mode for the Table and puts everything back to VIEW only
126
+ * @memberOf NovoTableElement
127
+ * @param cancel - whether or not to save data or undo
128
+ */
129
+ private leaveEditMode;
130
+ /**
131
+ * @description Adds a new row into the table to be edited, can be called from a local reference of the table in your template
132
+ * @memberOf NovoTableElement
133
+ */
134
+ addEditableRow(defaultValue?: any): void;
135
+ /**
136
+ * @description Validates the Form inside of the Table, if there are errors it will display/return the errors for each row.
137
+ * If there are no errors, then it will return ONLY the changed data for each row, the data returned will be in the form:
138
+ * { id: ID_OF_RECORD, key: value } -- data that was updated
139
+ * { id: undefined, key: value } -- data that was added
140
+ * @memberOf NovoTableElement
141
+ */
142
+ validateAndGetUpdatedData(): {
143
+ changed?: any[];
144
+ errors?: {
145
+ errors: any;
146
+ row: any;
147
+ index: number;
148
+ }[];
149
+ };
150
+ /**
151
+ * @description Refresh the data provider and leave edit mode
152
+ * @memberOf NovoTableElement
153
+ */
154
+ cancelEditing(): void;
155
+ /**
156
+ * @description Refresh the data provider and leave edit mode
157
+ * @memberOf NovoTableElement
158
+ */
159
+ saveChanges(): void;
160
+ /**
161
+ * @description Displays a toast message inside of the table
162
+ * @memberOf NovoTableElement
163
+ */
164
+ displayToastMessage(toast: {
165
+ icon: string;
166
+ theme: string;
167
+ message: string;
168
+ }, hideDelay?: number): void;
169
+ /**
170
+ * @description Force hide the toast message
171
+ * @memberOf NovoTableElement
172
+ */
173
+ hideToastMessage(): void;
174
+ /**
175
+ * @description display the loading overlay on the table
176
+ * @memberOf NovoTableElement
177
+ */
178
+ toggleLoading(show: boolean): void;
179
+ /**
180
+ * @description hide a column in edit or view mode
181
+ * @memberOf NovoTableElement
182
+ */
183
+ isColumnHidden(column: any): boolean;
184
+ }
@@ -1,2 +1,2 @@
1
- export declare class NovoTableModule {
2
- }
1
+ export declare class NovoTableModule {
2
+ }
@@ -0,0 +1,585 @@
1
+ $table-header-font-weight: 400;
2
+ $table-header-font-color: #757575;
3
+ $table-cell-padding: 1.2rem;
4
+ $table-condensed-cell-padding: $table-cell-padding/2;
5
+ $table-bg: #fff;
6
+ $table-bg-accent: #f4f4f4;
7
+ $table-bg-hover: rgba(0, 0, 0, 0.12);
8
+ $table-bg-active: $table-bg-hover;
9
+ $table-border-color: #f5f5f5;
10
+ novo-table {
11
+ width: 100%;
12
+ display: block;
13
+ > header {
14
+ novo-table-header {
15
+ padding: 10px;
16
+ button {
17
+ height: 39px;
18
+ margin-right: 10px;
19
+ &:last-child {
20
+ margin-right: 0;
21
+ }
22
+ }
23
+ }
24
+ div.header-actions {
25
+ display: flex;
26
+ align-items: center;
27
+ > novo-pagination {
28
+ flex: 1;
29
+ > h5 {
30
+ margin-left: 0;
31
+ }
32
+ novo-select {
33
+ .novo-select-list {
34
+ transform: translateY(5%) !important;
35
+ }
36
+ }
37
+ }
38
+ > novo-table-actions {
39
+ padding: 10px;
40
+ display: flex;
41
+ align-items: center;
42
+ > * {
43
+ margin-right: 10px;
44
+ &:last-child {
45
+ margin-right: 0;
46
+ }
47
+ }
48
+ > button {
49
+ height: 39px;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ > .table-container {
55
+ overflow-x: auto;
56
+ overflow-y: hidden;
57
+ width: 100%;
58
+ display: block;
59
+ }
60
+ novo-table-footer {
61
+ display: flex;
62
+ }
63
+ tfoot.novo-table-total-footer {
64
+ td {
65
+ padding: $table-cell-padding;
66
+ }
67
+ }
68
+ &.editing {
69
+ th .th-title,
70
+ th novo-dropdown,
71
+ novo-pagination h5,
72
+ novo-pagination novo-select,
73
+ novo-pagination ul.pager {
74
+ pointer-events: none;
75
+ opacity: 0.7;
76
+ }
77
+ novo-control {
78
+ margin-top: 0 !important;
79
+ }
80
+ }
81
+ &.novo-table-loading {
82
+ position: relative;
83
+ }
84
+ div.novo-table-loading-overlay {
85
+ position: absolute;
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ top: 0;
90
+ left: 0;
91
+ right: 0;
92
+ bottom: 0;
93
+ background: rgba(0, 0, 0, 0.07);
94
+ z-index: 9999;
95
+ }
96
+ novo-form {
97
+ max-width: inherit;
98
+ td.novo-form-row {
99
+ width: inherit !important;
100
+ }
101
+ }
102
+ }
103
+
104
+ // Baseline styles
105
+ .table {
106
+ width: 100%;
107
+ max-width: 100%;
108
+ background-color: $table-bg;
109
+ > tbody,
110
+ > thead {
111
+ > tr {
112
+ > td,
113
+ > th {
114
+ position: relative;
115
+ text-align: left;
116
+ padding: $table-condensed-cell-padding;
117
+ button {
118
+ padding: 5px !important;
119
+ width: inherit !important;
120
+ height: inherit !important;
121
+ }
122
+ .th-title {
123
+ padding: 5px 5px 5px 0;
124
+ }
125
+ vertical-align: middle;
126
+ &.checkbox {
127
+ text-align: center;
128
+ padding-bottom: 15px;
129
+ > novo-checkbox {
130
+ justify-content: center;
131
+ }
132
+ }
133
+ }
134
+ &.table-selection-row,
135
+ &.active {
136
+ background-color: lighten($positive, 30%) !important;
137
+ }
138
+ }
139
+ }
140
+ > thead > tr > th {
141
+ &.sorted {
142
+ background: rgba($positive, 0.2);
143
+ }
144
+ }
145
+ > thead > tr > th {
146
+ font-weight: $table-header-font-weight;
147
+ color: $table-header-font-color;
148
+ vertical-align: bottom;
149
+ border-bottom: 1px solid #f4f4f4;
150
+ border-top: 1px solid #f4f4f4;
151
+ border-right: 1px solid #f4f4f4;
152
+ padding: 0.75rem;
153
+ &.over {
154
+ background: #eee;
155
+ border-right: 2px double #000 !important;
156
+ * {
157
+ pointer-events: none;
158
+ }
159
+ }
160
+ .th-group {
161
+ display: flex;
162
+ flex-direction: row;
163
+ align-items: center;
164
+ novo-dropdown.column-filters {
165
+ button.filtered {
166
+ i {
167
+ color: $positive;
168
+ }
169
+ }
170
+ }
171
+ .th-title {
172
+ display: flex;
173
+ flex-direction: row;
174
+ align-items: center;
175
+ padding: 10px 10px 10px 5px;
176
+ border-radius: 3px;
177
+ font-weight: $table-header-font-weight;
178
+ &.sortable {
179
+ cursor: pointer;
180
+ label {
181
+ cursor: pointer; // chrome user agent style will override this unless explicitly set on the element
182
+ margin-right: 10px;
183
+ }
184
+ }
185
+ &:hover {
186
+ .table-sort-icons {
187
+ opacity: 1;
188
+ i {
189
+ &.bhi-arrow-down {
190
+ color: lighten(#757575, 15%);
191
+ }
192
+ &.bhi-arrow-up {
193
+ color: darken(#757575, 10%);
194
+ }
195
+ }
196
+ }
197
+ }
198
+ .table-sort-icons {
199
+ display: flex;
200
+ flex-direction: row;
201
+ opacity: 0.3;
202
+ transition: all 200ms ease-in-out;
203
+ i {
204
+ font-size: 0.8em;
205
+ margin: 0;
206
+ &.bhi-arrow-down {
207
+ padding-top: 5px;
208
+ }
209
+ }
210
+ &.asc {
211
+ opacity: 1;
212
+ i {
213
+ &.bhi-arrow-down {
214
+ color: lighten(#757575, 15%);
215
+ }
216
+ &.bhi-arrow-up {
217
+ color: $positive;
218
+ }
219
+ }
220
+ }
221
+ &.desc {
222
+ opacity: 1;
223
+ i {
224
+ &.bhi-arrow-down {
225
+ color: $positive;
226
+ }
227
+ &.bhi-arrow-up {
228
+ color: lighten(#757575, 15%);
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
236
+ > tbody + tbody {
237
+ border-top: 1px solid rgba(0, 0, 0, 0.12);
238
+ }
239
+ .table-message {
240
+ tr,
241
+ td {
242
+ background-color: $white !important;
243
+ }
244
+ }
245
+ .table {
246
+ background-color: $table-bg;
247
+ }
248
+ .row-action {
249
+ padding: 0.3rem !important;
250
+ }
251
+ tr.details-row {
252
+ td {
253
+ padding-top: 0 !important;
254
+ }
255
+ }
256
+ .no-border {
257
+ border: 0;
258
+ }
259
+ .table-message,
260
+ .no-matching-records,
261
+ .table-empty-message {
262
+ color: $grey;
263
+ margin: 40px 0;
264
+ vertical-align: middle;
265
+ }
266
+ .table-error-message {
267
+ color: $grey;
268
+ margin: 40px 0;
269
+ vertical-align: middle;
270
+ }
271
+ .table-loading {
272
+ display: flex;
273
+ vertical-align: middle;
274
+ align-items: center;
275
+ justify-content: center;
276
+ background: $white;
277
+ }
278
+ novo-checkbox {
279
+ .check-box-group {
280
+ color: $grey;
281
+ margin-right: 0;
282
+ &.checked {
283
+ color: $positive;
284
+ }
285
+ .bhi-checkbox-indeterminate {
286
+ color: $positive;
287
+ }
288
+ }
289
+ }
290
+ }
291
+
292
+ .dropdown-container.table-dropdown {
293
+ right: -15px;
294
+ min-width: 230px;
295
+ max-width: 230px;
296
+ max-height: 500px;
297
+ overflow-x: hidden;
298
+ overflow-y: auto;
299
+ button[theme][theme='dialogue'][icon] i {
300
+ padding: inherit;
301
+ padding-left: 5px;
302
+ height: inherit;
303
+ width: inherit;
304
+ display: inline-block;
305
+ line-height: inherit;
306
+ }
307
+ list {
308
+ item.filter-search {
309
+ padding: 10px 0;
310
+ width: 100%;
311
+ height: auto;
312
+ flex-direction: column;
313
+ align-items: flex-start;
314
+ cursor: initial;
315
+ &:hover {
316
+ background: transparent;
317
+ }
318
+ .header {
319
+ display: flex;
320
+ align-items: center;
321
+ justify-content: space-between;
322
+ width: 90%;
323
+ font-size: 0.9em;
324
+ margin: 0 auto;
325
+ span {
326
+ text-transform: uppercase;
327
+ font-weight: $table-header-font-weight;
328
+ }
329
+ button {
330
+ padding: 0 5px;
331
+ i {
332
+ height: auto !important;
333
+ width: auto !important;
334
+ font-size: 0.9em;
335
+ }
336
+ }
337
+ }
338
+ input {
339
+ border: none;
340
+ border-bottom: 2px solid #bebebe;
341
+ width: 90%;
342
+ margin: 0 auto;
343
+ background: transparent;
344
+ &:focus {
345
+ outline: none;
346
+ border-bottom: 2px solid $ocean;
347
+ }
348
+ }
349
+ }
350
+ item > span {
351
+ display: inline-block;
352
+ max-width: calc(100% - 20px);
353
+ white-space: nowrap;
354
+ overflow: hidden;
355
+ text-overflow: ellipsis;
356
+ }
357
+ }
358
+ .calendar-container {
359
+ height: 100%;
360
+ min-height: 200px;
361
+ width: 100%;
362
+ background: #fff;
363
+ > div {
364
+ color: $positive;
365
+ line-height: 3em;
366
+ font-size: 0.9em;
367
+ padding-left: 5px;
368
+ cursor: pointer;
369
+ }
370
+ novo-date-picker {
371
+ .calendar {
372
+ width: 100%;
373
+ height: 100%;
374
+ box-shadow: none;
375
+ padding: 0 5px 10px;
376
+ .calendar-top {
377
+ display: none;
378
+ }
379
+ }
380
+ }
381
+ }
382
+ }
383
+
384
+ // Bordered version
385
+ // Add horizontal borders between columns.
386
+ .table-bordered {
387
+ tbody,
388
+ thead,
389
+ tfoot {
390
+ tr {
391
+ td,
392
+ th {
393
+ border-bottom: 1px solid $table-border-color;
394
+ }
395
+ }
396
+ }
397
+ > thead > tr {
398
+ > td,
399
+ > th {
400
+ border-bottom-width: 2px;
401
+ }
402
+ }
403
+ }
404
+
405
+ // Zebra-striping
406
+ // Default zebra-stripe styles (alternating gray and transparent backgrounds)
407
+ .table-striped:not(.table-details) {
408
+ > tbody tr:nth-of-type(odd):not(.table-selection-row) {
409
+ background-color: $table-bg-accent;
410
+ td {
411
+ background-color: $table-bg-accent;
412
+ }
413
+ }
414
+ }
415
+
416
+ .table-striped.table-details {
417
+ > tbody tr:nth-of-type(4n + 2),
418
+ > tbody tr:nth-of-type(4n + 1) {
419
+ background-color: $table-bg-accent;
420
+ }
421
+ }
422
+
423
+ // Hover effect
424
+ .table-hover {
425
+ > tbody > tr:hover {
426
+ background-color: $table-bg-hover;
427
+ }
428
+ }
429
+
430
+ .handle {
431
+ display: block;
432
+ position: absolute;
433
+ right: 0;
434
+ top: 0;
435
+ bottom: 0;
436
+ width: 6px;
437
+ cursor: col-resize;
438
+ }
439
+
440
+ novo-table {
441
+ &[dark] {
442
+ .table > thead > tr > th {
443
+ border-right: 1px solid rgba(#f4f4f4, 0.04);
444
+ }
445
+ .table-striped:not(.table-details) {
446
+ > tbody tr:nth-of-type(odd) {
447
+ background-color: rgba($table-bg-accent, 0.04);
448
+ td {
449
+ background-color: transparent;
450
+ }
451
+ }
452
+ }
453
+ .table-striped.table-details {
454
+ > tbody tr:nth-of-type(4n + 2),
455
+ > tbody tr:nth-of-type(4n + 1) {
456
+ background-color: rgba($table-bg-accent, 0.04);
457
+ }
458
+ }
459
+ }
460
+ @each $analytics, $color in $analytics-colors {
461
+ &[theme='#{$analytics}'] {
462
+ > header {
463
+ background: $color;
464
+ color: #fff;
465
+ novo-pagination {
466
+ background: rgba(0, 0, 0, 0.15);
467
+ > * {
468
+ color: $white;
469
+ opacity: 1;
470
+ }
471
+ .page {
472
+ color: $white;
473
+ }
474
+ h5.rows {
475
+ opacity: 0.75;
476
+ }
477
+ novo-select {
478
+ div[type='button'] {
479
+ color: $white;
480
+ border-bottom: 1px solid rgba(255, 255, 255, 0.15);
481
+ i {
482
+ color: $white !important;
483
+ }
484
+ }
485
+ }
486
+ }
487
+ }
488
+ }
489
+ }
490
+ @each $entity, $color in $entity-colors {
491
+ &[theme='#{$entity}'] {
492
+ > header {
493
+ background: $color;
494
+ color: #fff;
495
+ novo-pagination {
496
+ background: rgba(0, 0, 0, 0.15);
497
+ > * {
498
+ color: $white;
499
+ opacity: 1;
500
+ }
501
+ .page {
502
+ color: $white;
503
+ }
504
+ h5.rows {
505
+ opacity: 0.75;
506
+ }
507
+ novo-select {
508
+ div[type='button'] {
509
+ color: $white;
510
+ border-bottom: 1px solid rgba(255, 255, 255, 0.15);
511
+ i {
512
+ color: $white !important;
513
+ }
514
+ }
515
+ }
516
+ }
517
+ }
518
+ }
519
+ }
520
+ @each $basic, $color in $app-colors {
521
+ &[theme='#{$basic}'] {
522
+ > header {
523
+ background: $color;
524
+ color: #fff;
525
+ novo-pagination {
526
+ background: rgba(0, 0, 0, 0.15);
527
+ > * {
528
+ color: $white;
529
+ opacity: 1;
530
+ }
531
+ .page {
532
+ color: $white;
533
+ }
534
+ h5.rows {
535
+ opacity: 0.75;
536
+ }
537
+ novo-select {
538
+ div[type='button'] {
539
+ color: $white;
540
+ border-bottom: 1px solid rgba(255, 255, 255, 0.15);
541
+ i {
542
+ color: $white !important;
543
+ }
544
+ }
545
+ }
546
+ }
547
+ }
548
+ }
549
+ }
550
+ &[dark] {
551
+ > header {
552
+ color: #fff;
553
+ novo-pagination {
554
+ background: rgba(0, 0, 0, 0.15);
555
+ > * {
556
+ color: $white;
557
+ opacity: 1;
558
+ }
559
+ .page {
560
+ color: $white;
561
+ &.active {
562
+ color: #fff;
563
+ background: rgba(0, 0, 0, 0.15);
564
+ }
565
+ }
566
+ h5.rows {
567
+ opacity: 0.75;
568
+ }
569
+ novo-select {
570
+ div[type='button'] {
571
+ color: $white;
572
+ border-bottom: 1px solid rgba(255, 255, 255, 0.15);
573
+ i {
574
+ color: $white !important;
575
+ }
576
+ }
577
+ }
578
+ }
579
+ }
580
+ }
581
+ }
582
+
583
+ th.dragging {
584
+ opacity: 0.4;
585
+ }