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
@@ -0,0 +1,174 @@
1
+ // Function to loop through a SCSS map ($map) and set the map's key values to a
2
+ // specific CSS attribute ($target) each time creating a new :nth-of-type rule at
3
+ // the key's index.
4
+ // For example see "loading" element. (BhLoading.scss)
5
+ @mixin enumerate($map, $target, $prop, $val) {
6
+ $keys: map-keys($map);
7
+ @each $item in $keys {
8
+ $idx: index($keys, $item);
9
+ //@debug $idx;
10
+ //@debug $item;
11
+ @if $prop == 'map-val' {
12
+ &:nth-of-type(#{$idx}) {
13
+ #{$target}: map-get($map, $item);
14
+ }
15
+ }
16
+
17
+ @if $target == 'transform' {
18
+ &:nth-of-type(#{$idx}) {
19
+ #{$target}: #{'#{$prop}(#{$val * $idx})'};
20
+ }
21
+ }
22
+ }
23
+ }
24
+
25
+ // Animation Delay Function - multiplies $base-speed by key index;
26
+ @mixin delay($map, $base-speed) {
27
+ $keys: map-keys($map);
28
+ @each $item in $keys {
29
+ $idx: index($keys, $item);
30
+
31
+ &:nth-of-type(#{$idx}) {
32
+ animation-delay: $base-speed * $idx;
33
+ }
34
+ }
35
+ }
36
+
37
+ // FULL Animation Delay Function - multiplies $base-speed by key index;
38
+ @mixin animationMapDelay(
39
+ $map,
40
+ $animation-name,
41
+ $animation-duration,
42
+ $animation-timing-function,
43
+ $delay-base-speed,
44
+ $animation-direction,
45
+ $animation-iterate-count,
46
+ $animation-fill-mode,
47
+ $animation-play-state
48
+ ) {
49
+ $keys: map-keys($map);
50
+ @each $item in $keys {
51
+ $idx: index($keys, $item);
52
+
53
+ &:nth-of-type(#{$idx}) {
54
+ animation: $animation-name
55
+ $animation-duration
56
+ $animation-timing-function
57
+ ($delay-base-speed * $idx)
58
+ $animation-direction
59
+ $animation-iterate-count
60
+ $animation-fill-mode
61
+ $animation-play-state;
62
+ animation-name: $animation-name;
63
+ animation-duration: $animation-duration;
64
+ animation-timing-function: $animation-timing-function;
65
+ animation-delay: $delay-base-speed * $idx;
66
+ animation-direction: $animation-direction;
67
+ animation-iteration-count: $animation-iterate-count;
68
+ animation-fill-mode: $animation-fill-mode;
69
+ animation-play-state: $animation-play-state;
70
+ }
71
+ }
72
+ }
73
+
74
+ @mixin novo-elevation($zValue, $color: black) {
75
+ @if type-of($zValue) != number or not unitless($zValue) {
76
+ @error '$zValue must be a unitless number';
77
+ }
78
+ @if $zValue < 0 or $zValue > 24 {
79
+ @error '$zValue must be between 0 and 24';
80
+ }
81
+
82
+ box-shadow: #{map-get(_get-umbra-map($color), $zValue)}, #{map-get(_get-penumbra-map($color), $zValue)},
83
+ #{map-get(_get-ambient-map($color), $zValue)};
84
+ }
85
+
86
+ @function _get-umbra-map($color) {
87
+ @return (
88
+ 0: '0px 0px 0px 0px #{rgba($color, 0.2)}',
89
+ 1: '0px 2px 1px -1px #{rgba($color, 0.2)}',
90
+ 2: '0px 3px 1px -2px #{rgba($color, 0.2)}',
91
+ 3: '0px 3px 3px -2px #{rgba($color, 0.2)}',
92
+ 4: '0px 2px 4px -1px #{rgba($color, 0.2)}',
93
+ 5: '0px 3px 5px -1px #{rgba($color, 0.2)}',
94
+ 6: '0px 3px 5px -1px #{rgba($color, 0.2)}',
95
+ 7: '0px 4px 5px -2px #{rgba($color, 0.2)}',
96
+ 8: '0px 5px 5px -3px #{rgba($color, 0.2)}',
97
+ 9: '0px 5px 6px -3px #{rgba($color, 0.2)}',
98
+ 10: '0px 6px 6px -3px #{rgba($color, 0.2)}',
99
+ 11: '0px 6px 7px -4px #{rgba($color, 0.2)}',
100
+ 12: '0px 7px 8px -4px #{rgba($color, 0.2)}',
101
+ 13: '0px 7px 8px -4px #{rgba($color, 0.2)}',
102
+ 14: '0px 7px 9px -4px #{rgba($color, 0.2)}',
103
+ 15: '0px 8px 9px -5px #{rgba($color, 0.2)}',
104
+ 16: '0px 8px 10px -5px #{rgba($color, 0.2)}',
105
+ 17: '0px 8px 11px -5px #{rgba($color, 0.2)}',
106
+ 18: '0px 9px 11px -5px #{rgba($color, 0.2)}',
107
+ 19: '0px 9px 12px -6px #{rgba($color, 0.2)}',
108
+ 20: '0px 10px 13px -6px #{rgba($color, 0.2)}',
109
+ 21: '0px 10px 13px -6px #{rgba($color, 0.2)}',
110
+ 22: '0px 10px 14px -6px #{rgba($color, 0.2)}',
111
+ 23: '0px 11px 14px -7px #{rgba($color, 0.2)}',
112
+ 24: '0px 11px 15px -7px #{rgba($color, 0.2)}'
113
+ );
114
+ }
115
+
116
+ @function _get-penumbra-map($color) {
117
+ @return (
118
+ 0: '0px 0px 0px 0px #{rgba($color, 0.14)}',
119
+ 1: '0px 1px 1px 0px #{rgba($color, 0.14)}',
120
+ 2: '0px 2px 2px 0px #{rgba($color, 0.14)}',
121
+ 3: '0px 3px 4px 0px #{rgba($color, 0.14)}',
122
+ 4: '0px 4px 5px 0px #{rgba($color, 0.14)}',
123
+ 5: '0px 5px 8px 0px #{rgba($color, 0.14)}',
124
+ 6: '0px 6px 10px 0px #{rgba($color, 0.14)}',
125
+ 7: '0px 7px 10px 1px #{rgba($color, 0.14)}',
126
+ 8: '0px 8px 10px 1px #{rgba($color, 0.14)}',
127
+ 9: '0px 9px 12px 1px #{rgba($color, 0.14)}',
128
+ 10: '0px 10px 14px 1px #{rgba($color, 0.14)}',
129
+ 11: '0px 11px 15px 1px #{rgba($color, 0.14)}',
130
+ 12: '0px 12px 17px 2px #{rgba($color, 0.14)}',
131
+ 13: '0px 13px 19px 2px #{rgba($color, 0.14)}',
132
+ 14: '0px 14px 21px 2px #{rgba($color, 0.14)}',
133
+ 15: '0px 15px 22px 2px #{rgba($color, 0.14)}',
134
+ 16: '0px 16px 24px 2px #{rgba($color, 0.14)}',
135
+ 17: '0px 17px 26px 2px #{rgba($color, 0.14)}',
136
+ 18: '0px 18px 28px 2px #{rgba($color, 0.14)}',
137
+ 19: '0px 19px 29px 2px #{rgba($color, 0.14)}',
138
+ 20: '0px 20px 31px 3px #{rgba($color, 0.14)}',
139
+ 21: '0px 21px 33px 3px #{rgba($color, 0.14)}',
140
+ 22: '0px 22px 35px 3px #{rgba($color, 0.14)}',
141
+ 23: '0px 23px 36px 3px #{rgba($color, 0.14)}',
142
+ 24: '0px 24px 38px 3px #{rgba($color, 0.14)}'
143
+ );
144
+ }
145
+
146
+ @function _get-ambient-map($color) {
147
+ @return (
148
+ 0: '0px 0px 0px 0px #{rgba($color, 0.12)}',
149
+ 1: '0px 1px 3px 0px #{rgba($color, 0.12)}',
150
+ 2: '0px 1px 5px 0px #{rgba($color, 0.12)}',
151
+ 3: '0px 1px 8px 0px #{rgba($color, 0.12)}',
152
+ 4: '0px 1px 10px 0px #{rgba($color, 0.12)}',
153
+ 5: '0px 1px 14px 0px #{rgba($color, 0.12)}',
154
+ 6: '0px 1px 18px 0px #{rgba($color, 0.12)}',
155
+ 7: '0px 2px 16px 1px #{rgba($color, 0.12)}',
156
+ 8: '0px 3px 14px 2px #{rgba($color, 0.12)}',
157
+ 9: '0px 3px 16px 2px #{rgba($color, 0.12)}',
158
+ 10: '0px 4px 18px 3px #{rgba($color, 0.12)}',
159
+ 11: '0px 4px 20px 3px #{rgba($color, 0.12)}',
160
+ 12: '0px 5px 22px 4px #{rgba($color, 0.12)}',
161
+ 13: '0px 5px 24px 4px #{rgba($color, 0.12)}',
162
+ 14: '0px 5px 26px 4px #{rgba($color, 0.12)}',
163
+ 15: '0px 6px 28px 5px #{rgba($color, 0.12)}',
164
+ 16: '0px 6px 30px 5px #{rgba($color, 0.12)}',
165
+ 17: '0px 6px 32px 5px #{rgba($color, 0.12)}',
166
+ 18: '0px 7px 34px 6px #{rgba($color, 0.12)}',
167
+ 19: '0px 7px 36px 6px #{rgba($color, 0.12)}',
168
+ 20: '0px 8px 38px 7px #{rgba($color, 0.12)}',
169
+ 21: '0px 8px 40px 7px #{rgba($color, 0.12)}',
170
+ 22: '0px 8px 42px 7px #{rgba($color, 0.12)}',
171
+ 23: '0px 9px 44px 8px #{rgba($color, 0.12)}',
172
+ 24: '0px 9px 46px 8px #{rgba($color, 0.12)}'
173
+ );
174
+ }
@@ -0,0 +1,578 @@
1
+ @charset 'UTF-8';
2
+
3
+ // _ _ _ _ _
4
+ // (_) | | | | | (_)
5
+ // _ _ __ ___| |_ _ __| | ___ _ __ ___ ___ __| |_ __ _
6
+ // | | '_ \ / __| | | | |/ _` |/ _ \ | '_ ` _ \ / _ \/ _` | |/ _` |
7
+ // | | | | | (__| | |_| | (_| | __/ | | | | | | __/ (_| | | (_| |
8
+ // |_|_| |_|\___|_|\__,_|\__,_|\___| |_| |_| |_|\___|\__,_|_|\__,_|
9
+ //
10
+ // Simple, elegant and maintainable media queries in Sass
11
+ // v1.4.2
12
+ //
13
+ // http://include-media.com
14
+ //
15
+ // Authors: Eduardo Boucas (@eduardoboucas)
16
+ // Hugo Giraudel (@hugogiraudel)
17
+ //
18
+ // This project is licensed under the terms of the MIT license
19
+
20
+ ////
21
+ /// include-media library public configuration
22
+ /// @author Eduardo Boucas
23
+ /// @access public
24
+ ////
25
+
26
+ ///
27
+ /// Creates a list of global breakpoints
28
+ ///
29
+ /// @example scss - Creates a single breakpoint with the label `phone`
30
+ /// $breakpoints: ('phone': 320px);
31
+ ///
32
+
33
+ $breakpoints: (
34
+ 'nill': 0px,
35
+ 'phone': 320px,
36
+ 'tween': 500px,
37
+ 'tablet': 768px,
38
+ 'desktop': 1024px,
39
+ ) !default;
40
+
41
+ ///
42
+ /// Creates a list of static expressions or media types
43
+ ///
44
+ /// @example scss - Creates a single media type (screen)
45
+ /// $media-expressions: ('screen': 'screen');
46
+ ///
47
+ /// @example scss - Creates a static expression with logical disjunction (OR operator)
48
+ /// $media-expressions: (
49
+ /// 'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)'
50
+ /// );
51
+ ///
52
+ $media-expressions: (
53
+ 'screen': 'screen',
54
+ 'print': 'print',
55
+ 'handheld': 'handheld',
56
+ 'landscape': '(orientation: landscape)',
57
+ 'portrait': '(orientation: portrait)',
58
+ 'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)',
59
+ 'retina3x': '(-webkit-min-device-pixel-ratio: 3), (min-resolution: 350dpi)',
60
+ ) !default;
61
+
62
+ ///
63
+ /// Defines a number to be added or subtracted from each unit when declaring breakpoints with exclusive intervals
64
+ ///
65
+ /// @example scss - Interval for pixels is defined as `1` by default
66
+ /// @include media('>128px') {}
67
+ ///
68
+ /// /* Generates: */
69
+ /// @media (min-width: 129px) {}
70
+ ///
71
+ /// @example scss - Interval for ems is defined as `0.01` by default
72
+ /// @include media('>20em') {}
73
+ ///
74
+ /// /* Generates: */
75
+ /// @media (min-width: 20.01em) {}
76
+ ///
77
+ /// @example scss - Interval for rems is defined as `0.1` by default, to be used with `font-size: 62.5%;`
78
+ /// @include media('>2.0rem') {}
79
+ ///
80
+ /// /* Generates: */
81
+ /// @media (min-width: 2.1rem) {}
82
+ ///
83
+ $unit-intervals: (
84
+ 'px': 1,
85
+ 'em': 0.01,
86
+ 'rem': 0.1,
87
+ ) !default;
88
+
89
+ ///
90
+ /// Defines whether support for media queries is available, useful for creating separate stylesheets
91
+ /// for browsers that don't support media queries.
92
+ ///
93
+ /// @example scss - Disables support for media queries
94
+ /// $im-media-support: false;
95
+ /// @include media('>=tablet') {
96
+ /// .foo {
97
+ /// color: tomato;
98
+ /// }
99
+ /// }
100
+ ///
101
+ /// /* Generates: */
102
+ /// .foo {
103
+ /// color: tomato;
104
+ /// }
105
+ ///
106
+ $im-media-support: true !default;
107
+
108
+ ///
109
+ /// Selects which breakpoint to emulate when support for media queries is disabled. Media queries that start at or
110
+ /// intercept the breakpoint will be displayed, any others will be ignored.
111
+ ///
112
+ /// @example scss - This media query will show because it intercepts the static breakpoint
113
+ /// $im-media-support: false;
114
+ /// $im-no-media-breakpoint: 'desktop';
115
+ /// @include media('>=tablet') {
116
+ /// .foo {
117
+ /// color: tomato;
118
+ /// }
119
+ /// }
120
+ ///
121
+ /// /* Generates: */
122
+ /// .foo {
123
+ /// color: tomato;
124
+ /// }
125
+ ///
126
+ /// @example scss - This media query will NOT show because it does not intercept the desktop breakpoint
127
+ /// $im-media-support: false;
128
+ /// $im-no-media-breakpoint: 'tablet';
129
+ /// @include media('>=desktop') {
130
+ /// .foo {
131
+ /// color: tomato;
132
+ /// }
133
+ /// }
134
+ ///
135
+ /// /* No output */
136
+ ///
137
+ $im-no-media-breakpoint: 'desktop' !default;
138
+
139
+ ///
140
+ /// Selects which media expressions are allowed in an expression for it to be used when media queries
141
+ /// are not supported.
142
+ ///
143
+ /// @example scss - This media query will show because it intercepts the static breakpoint and contains only accepted media expressions
144
+ /// $im-media-support: false;
145
+ /// $im-no-media-breakpoint: 'desktop';
146
+ /// $im-no-media-expressions: ('screen');
147
+ /// @include media('>=tablet', 'screen') {
148
+ /// .foo {
149
+ /// color: tomato;
150
+ /// }
151
+ /// }
152
+ ///
153
+ /// /* Generates: */
154
+ /// .foo {
155
+ /// color: tomato;
156
+ /// }
157
+ ///
158
+ /// @example scss - This media query will NOT show because it intercepts the static breakpoint but contains a media expression that is not accepted
159
+ /// $im-media-support: false;
160
+ /// $im-no-media-breakpoint: 'desktop';
161
+ /// $im-no-media-expressions: ('screen');
162
+ /// @include media('>=tablet', 'retina2x') {
163
+ /// .foo {
164
+ /// color: tomato;
165
+ /// }
166
+ /// }
167
+ ///
168
+ /// /* No output */
169
+ ///
170
+ $im-no-media-expressions: ('screen', 'portrait', 'landscape') !default;
171
+
172
+ ////
173
+ /// Cross-engine logging engine
174
+ /// @author Hugo Giraudel
175
+ /// @access private
176
+ ////
177
+
178
+ ///
179
+ /// Log a message either with `@error` if supported
180
+ /// else with `@warn`, using `feature-exists('at-error')`
181
+ /// to detect support.
182
+ ///
183
+ /// @param {String} $message - Message to log
184
+ ///
185
+ @function log($message) {
186
+ @if feature-exists('at-error') {
187
+ @error $message;
188
+ } @else {
189
+ @warn $message;
190
+ $_: noop();
191
+ }
192
+
193
+ @return $message;
194
+ }
195
+
196
+ ///
197
+ /// Wrapper mixin for the log function so it can be used with a more friendly
198
+ /// API than `@if log('..') {}` or `$_: log('..')`. Basically, use the function
199
+ /// within functions because it is not possible to include a mixin in a function
200
+ /// and use the mixin everywhere else because it's much more elegant.
201
+ ///
202
+ /// @param {String} $message - Message to log
203
+ ///
204
+ @mixin log($message) {
205
+ @if log($message) {
206
+ }
207
+ }
208
+
209
+ ///
210
+ /// Function with no `@return` called next to `@warn` in Sass 3.3
211
+ /// to trigger a compiling error and stop the process.
212
+ ///
213
+ @function noop() {
214
+ }
215
+
216
+ ///
217
+ /// Determines whether a list of conditions is intercepted by the static breakpoint.
218
+ ///
219
+ /// @param {Arglist} $conditions - Media query conditions
220
+ ///
221
+ /// @return {Boolean} - Returns true if the conditions are intercepted by the static breakpoint
222
+ ///
223
+ @function im-intercepts-static-breakpoint($conditions...) {
224
+ $no-media-breakpoint-value: map-get($breakpoints, $im-no-media-breakpoint);
225
+
226
+ @if not $no-media-breakpoint-value {
227
+ @if log('`#{$im-no-media-breakpoint}` is not a valid breakpoint.') {
228
+ }
229
+ }
230
+
231
+ @each $condition in $conditions {
232
+ @if not map-has-key($media-expressions, $condition) {
233
+ $operator: get-expression-operator($condition);
234
+ $prefix: get-expression-prefix($operator);
235
+ $value: get-expression-value($condition, $operator);
236
+
237
+ // scss-lint:disable SpaceAroundOperator
238
+ @if ($prefix == 'max' and $value <= $no-media-breakpoint-value) or ($prefix == 'min' and $value > $no-media-breakpoint-value) {
239
+ @return false;
240
+ }
241
+ } @else if not index($im-no-media-expressions, $condition) {
242
+ @return false;
243
+ }
244
+ }
245
+
246
+ @return true;
247
+ }
248
+
249
+ ////
250
+ /// Parsing engine
251
+ /// @author Hugo Giraudel
252
+ /// @access private
253
+ ////
254
+
255
+ ///
256
+ /// Get operator of an expression
257
+ ///
258
+ /// @param {String} $expression - Expression to extract operator from
259
+ ///
260
+ /// @return {String} - Any of `>=`, `>`, `<=`, `<`, `≥`, `≤`
261
+ ///
262
+ @function get-expression-operator($expression) {
263
+ @each $operator in ('>=', '>', '<=', '<', '≥', '≤') {
264
+ @if str-index($expression, $operator) {
265
+ @return $operator;
266
+ }
267
+ }
268
+
269
+ // It is not possible to include a mixin inside a function, so we have to
270
+ // rely on the `log(..)` function rather than the `log(..)` mixin. Because
271
+ // functions cannot be called anywhere in Sass, we need to hack the call in
272
+ // a dummy variable, such as `$_`. If anybody ever raise a scoping issue with
273
+ // Sass 3.3, change this line in `@if log(..) {}` instead.
274
+ $_: log('No operator found in `#{$expression}`.');
275
+ }
276
+
277
+ ///
278
+ /// Get dimension of an expression, based on a found operator
279
+ ///
280
+ /// @param {String} $expression - Expression to extract dimension from
281
+ /// @param {String} $operator - Operator from `$expression`
282
+ ///
283
+ /// @return {String} - `width` or `height` (or potentially anything else)
284
+ ///
285
+ @function get-expression-dimension($expression, $operator) {
286
+ $operator-index: str-index($expression, $operator);
287
+ $parsed-dimension: str-slice($expression, 0, $operator-index - 1);
288
+ $dimension: 'width';
289
+
290
+ @if str-length($parsed-dimension) > 0 {
291
+ $dimension: $parsed-dimension;
292
+ }
293
+
294
+ @return $dimension;
295
+ }
296
+
297
+ ///
298
+ /// Get dimension prefix based on an operator
299
+ ///
300
+ /// @param {String} $operator - Operator
301
+ ///
302
+ /// @return {String} - `min` or `max`
303
+ ///
304
+ @function get-expression-prefix($operator) {
305
+ @return if(index(('<', '<=', '≤'), $operator), 'max', 'min');
306
+ }
307
+
308
+ ///
309
+ /// Get value of an expression, based on a found operator
310
+ ///
311
+ /// @param {String} $expression - Expression to extract value from
312
+ /// @param {String} $operator - Operator from `$expression`
313
+ ///
314
+ /// @return {Number} - A numeric value
315
+ ///
316
+ @function get-expression-value($expression, $operator) {
317
+ $operator-index: str-index($expression, $operator);
318
+ $value: str-slice($expression, $operator-index + str-length($operator));
319
+
320
+ @if map-has-key($breakpoints, $value) {
321
+ $value: map-get($breakpoints, $value);
322
+ } @else {
323
+ $value: to-number($value);
324
+ }
325
+
326
+ $interval: map-get($unit-intervals, unit($value));
327
+
328
+ @if not $interval {
329
+ // It is not possible to include a mixin inside a function, so we have to
330
+ // rely on the `log(..)` function rather than the `log(..)` mixin. Because
331
+ // functions cannot be called anywhere in Sass, we need to hack the call in
332
+ // a dummy variable, such as `$_`. If anybody ever raise a scoping issue with
333
+ // Sass 3.3, change this line in `@if log(..) {}` instead.
334
+ $_: log('Unknown unit `#{unit($value)}`.');
335
+ }
336
+
337
+ @if $operator == '>' {
338
+ $value: $value + $interval;
339
+ } @else if $operator == '<' {
340
+ $value: $value - $interval;
341
+ }
342
+
343
+ @return $value;
344
+ }
345
+
346
+ ///
347
+ /// Parse an expression to return a valid media-query expression
348
+ ///
349
+ /// @param {String} $expression - Expression to parse
350
+ ///
351
+ /// @return {String} - Valid media query
352
+ ///
353
+ @function parse-expression($expression) {
354
+ // If it is part of $media-expressions, it has no operator
355
+ // then there is no need to go any further, just return the value
356
+ @if map-has-key($media-expressions, $expression) {
357
+ @return map-get($media-expressions, $expression);
358
+ }
359
+
360
+ $operator: get-expression-operator($expression);
361
+ $dimension: get-expression-dimension($expression, $operator);
362
+ $prefix: get-expression-prefix($operator);
363
+ $value: get-expression-value($expression, $operator);
364
+
365
+ @return '(#{$prefix}-#{$dimension}: #{$value})';
366
+ }
367
+
368
+ ///
369
+ /// Slice `$list` between `$start` and `$end` indexes
370
+ ///
371
+ /// @access private
372
+ ///
373
+ /// @param {List} $list - List to slice
374
+ /// @param {Number} $start [1] - Start index
375
+ /// @param {Number} $end [length($list)] - End index
376
+ ///
377
+ /// @return {List} Sliced list
378
+ ///
379
+ @function slice($list, $start: 1, $end: length($list)) {
380
+ @if length($list) < 1 or $start > $end {
381
+ @return ();
382
+ }
383
+
384
+ $result: ();
385
+
386
+ @for $i from $start through $end {
387
+ $result: append($result, nth($list, $i));
388
+ }
389
+
390
+ @return $result;
391
+ }
392
+
393
+ ////
394
+ /// String to number converter
395
+ /// @author Hugo Giraudel
396
+ /// @access private
397
+ ////
398
+
399
+ ///
400
+ /// Casts a string into a number
401
+ ///
402
+ /// @param {String | Number} $value - Value to be parsed
403
+ ///
404
+ /// @return {Number}
405
+ ///
406
+ @function to-number($value) {
407
+ @if type-of($value) == 'number' {
408
+ @return $value;
409
+ } @else if type-of($value) != 'string' {
410
+ $_: log('Value for `to-number` should be a number or a string.');
411
+ }
412
+
413
+ $result: 0;
414
+ $digits: 0;
415
+ $minus: str-slice($value, 1, 1) == '-';
416
+ $numbers: (
417
+ '0': 0,
418
+ '1': 1,
419
+ '2': 2,
420
+ '3': 3,
421
+ '4': 4,
422
+ '5': 5,
423
+ '6': 6,
424
+ '7': 7,
425
+ '8': 8,
426
+ '9': 9,
427
+ );
428
+
429
+ @for $i from if($minus, 2, 1) through str-length($value) {
430
+ $character: str-slice($value, $i, $i);
431
+
432
+ @if not(index(map-keys($numbers), $character) or $character == '.') {
433
+ @return to-length(if($minus, -$result, $result), str-slice($value, $i));
434
+ }
435
+
436
+ @if $character == '.' {
437
+ $digits: 1;
438
+ } @else if $digits == 0 {
439
+ $result: $result * 10 + map-get($numbers, $character);
440
+ } @else {
441
+ $digits: $digits * 10;
442
+ $result: $result + map-get($numbers, $character) / $digits;
443
+ }
444
+ }
445
+
446
+ @return if($minus, -$result, $result);
447
+ }
448
+
449
+ ///
450
+ /// Add `$unit` to `$value`
451
+ ///
452
+ /// @param {Number} $value - Value to add unit to
453
+ /// @param {String} $unit - String representation of the unit
454
+ ///
455
+ /// @return {Number} - `$value` expressed in `$unit`
456
+ ///
457
+ @function to-length($value, $unit) {
458
+ $units: (
459
+ 'px': 1px,
460
+ 'cm': 1cm,
461
+ 'mm': 1mm,
462
+ '%': 1%,
463
+ 'ch': 1ch,
464
+ 'pc': 1pc,
465
+ 'in': 1in,
466
+ 'em': 1em,
467
+ 'rem': 1rem,
468
+ 'pt': 1pt,
469
+ 'ex': 1ex,
470
+ 'vw': 1vw,
471
+ 'vh': 1vh,
472
+ 'vmin': 1vmin,
473
+ 'vmax': 1vmax,
474
+ );
475
+
476
+ @if not index(map-keys($units), $unit) {
477
+ $_: log('Invalid unit `#{$unit}`.');
478
+ }
479
+
480
+ @return $value * map-get($units, $unit);
481
+ }
482
+
483
+ ///
484
+ /// This mixin aims at redefining the configuration just for the scope of
485
+ /// the call. It is helpful when having a component needing an extended
486
+ /// configuration such as custom breakpoints (referred to as tweakpoints)
487
+ /// for instance.
488
+ ///
489
+ /// @author Hugo Giraudel
490
+ ///
491
+ /// @param {Map} $tweakpoints [()] - Map of tweakpoints to be merged with `$breakpoints`
492
+ /// @param {Map} $tweak-media-expressions [()] - Map of tweaked media expressions to be merged with `$media-expression`
493
+ ///
494
+ /// @example scss - Extend the global breakpoints with a tweakpoint
495
+ /// @include media-context(('custom': 678px)) {
496
+ /// .foo {
497
+ /// @include media('>phone', '<=custom') {
498
+ /// // ...
499
+ /// }
500
+ /// }
501
+ /// }
502
+ ///
503
+ /// @example scss - Extend the global media expressions with a custom one
504
+ /// @include media-context($tweak-media-expressions: ('all': 'all')) {
505
+ /// .foo {
506
+ /// @include media('all', '>phone') {
507
+ /// // ...
508
+ /// }
509
+ /// }
510
+ /// }
511
+ ///
512
+ /// @example scss - Extend both configuration maps
513
+ /// @include media-context(('custom': 678px), ('all': 'all')) {
514
+ /// .foo {
515
+ /// @include media('all', '>phone', '<=custom') {
516
+ /// // ...
517
+ /// }
518
+ /// }
519
+ /// }
520
+ ///
521
+ @mixin media-context($tweakpoints: (), $tweak-media-expressions: ()) {
522
+ // Save global configuration
523
+ $global-breakpoints: $breakpoints;
524
+ $global-media-expressions: $media-expressions;
525
+
526
+ // Update global configuration
527
+ $breakpoints: map-merge($breakpoints, $tweakpoints) !global;
528
+ $media-expressions: map-merge($media-expressions, $tweak-media-expressions) !global;
529
+
530
+ @content;
531
+
532
+ // Restore global configuration
533
+ $breakpoints: $global-breakpoints !global;
534
+ $media-expressions: $global-media-expressions !global;
535
+ }
536
+
537
+ ////
538
+ /// include-media public exposed API
539
+ /// @author Eduardo Boucas
540
+ /// @access public
541
+ ////
542
+
543
+ ///
544
+ /// Generates a media query based on a list of conditions
545
+ ///
546
+ /// @param {Arglist} $conditions - Media query conditions
547
+ ///
548
+ /// @example scss - With a single set breakpoint
549
+ /// @include media('>phone') { }
550
+ ///
551
+ /// @example scss - With two set breakpoints
552
+ /// @include media('>phone', '<=tablet') { }
553
+ ///
554
+ /// @example scss - With custom values
555
+ /// @include media('>=358px', '<850px') { }
556
+ ///
557
+ /// @example scss - With set breakpoints with custom values
558
+ /// @include media('>desktop', '<=1350px') { }
559
+ ///
560
+ /// @example scss - With a static expression
561
+ /// @include media('retina2x') { }
562
+ ///
563
+ /// @example scss - Mixing everything
564
+ /// @include media('>=350px', '<tablet', 'retina3x') { }
565
+ ///
566
+ @mixin media($conditions...) {
567
+ // scss-lint:disable SpaceAroundOperator
568
+ @if ($im-media-support and length($conditions) == 0) or (not $im-media-support and im-intercepts-static-breakpoint($conditions...)) {
569
+ @content;
570
+ } @else if ($im-media-support and length($conditions) > 0) {
571
+ @media #{unquote(parse-expression(nth($conditions, 1)))} {
572
+ // Recursive call
573
+ @include media(slice($conditions, 2) ...) {
574
+ @content;
575
+ }
576
+ }
577
+ }
578
+ }