playbook_ui 14.16.0.pre.rc.6 → 14.17.0.pre.rc.0

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +34 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +86 -84
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +2 -2
  5. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +10 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx +0 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.html.erb +39 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.html.erb +33 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows_rails.md +1 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_rails.md +6 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/index.js +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +4 -2
  14. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +19 -9
  15. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +38 -1
  16. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +49 -37
  17. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +39 -0
  18. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +1 -1
  19. data/app/pb_kits/playbook/pb_button/_button.scss +5 -5
  20. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +1 -1
  21. data/app/pb_kits/playbook/pb_draggable/_draggable.scss +115 -5
  22. data/app/pb_kits/playbook/pb_draggable/_draggable.tsx +6 -4
  23. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +35 -9
  24. data/app/pb_kits/playbook/pb_draggable/context/types.ts +35 -28
  25. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.jsx +184 -0
  26. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.md +5 -0
  27. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.jsx +97 -0
  28. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.md +1 -0
  29. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +11 -2
  30. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +65 -6
  31. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
  32. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +1 -0
  33. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +2 -1
  34. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +2 -2
  35. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +67 -0
  36. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +67 -0
  37. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +1 -1
  38. data/app/pb_kits/playbook/pb_icon/_icon.scss +8 -1
  39. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.html.erb +10 -4
  40. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.jsx +49 -24
  41. data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +4 -1
  42. data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_click.jsx +13 -0
  43. data/app/pb_kits/playbook/pb_icon_button/docs/example.yml +1 -0
  44. data/app/pb_kits/playbook/pb_icon_button/docs/index.js +1 -0
  45. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slide.tsx +1 -1
  46. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slides.tsx +1 -1
  47. data/app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnails.tsx +1 -1
  48. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +1 -1
  49. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +23 -0
  50. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +26 -0
  51. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb +72 -0
  52. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx +97 -0
  53. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +71 -0
  54. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +91 -0
  55. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +4 -0
  56. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +3 -1
  57. data/app/pb_kits/playbook/pb_multi_level_select/index.js +105 -0
  58. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +10 -0
  59. data/app/pb_kits/playbook/pb_nav/_nav.scss +5 -0
  60. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +29 -11
  61. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +1 -1
  62. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.html.erb +4 -4
  63. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +2 -0
  64. data/app/pb_kits/playbook/pb_table/_table.tsx +4 -0
  65. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.jsx +50 -0
  66. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless_react.md +1 -0
  67. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating.jsx +59 -0
  68. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating_react.md +1 -0
  69. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  70. data/app/pb_kits/playbook/pb_table/docs/index.js +2 -0
  71. data/app/pb_kits/playbook/pb_table/styles/_headers.scss +76 -0
  72. data/app/pb_kits/playbook/pb_table/subcomponents/_table_head.tsx +11 -1
  73. data/app/pb_kits/playbook/pb_table/subcomponents/_table_header.tsx +11 -1
  74. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +5 -0
  75. data/app/pb_kits/playbook/pb_table/table.test.js +17 -0
  76. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +1 -1
  77. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +4 -0
  78. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +3 -0
  79. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_disabled.html.erb +19 -0
  80. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_disabled.jsx +23 -0
  81. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
  82. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
  83. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -0
  84. data/app/pb_kits/playbook/pb_user/_user.tsx +78 -13
  85. data/app/pb_kits/playbook/pb_user/docs/_user_font_options.html.erb +22 -0
  86. data/app/pb_kits/playbook/pb_user/docs/_user_font_options.jsx +40 -0
  87. data/app/pb_kits/playbook/pb_user/docs/_user_font_options_rails.md +5 -0
  88. data/app/pb_kits/playbook/pb_user/docs/_user_font_options_react.md +5 -0
  89. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  90. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  91. data/app/pb_kits/playbook/pb_user/user.html.erb +27 -6
  92. data/app/pb_kits/playbook/pb_user/user.rb +17 -1
  93. data/app/pb_kits/playbook/pb_user/user.test.js +182 -1
  94. data/app/pb_kits/playbook/tokens/_colors.scss +1 -4
  95. data/app/pb_kits/playbook/utilities/object.test.js +139 -1
  96. data/app/pb_kits/playbook/utilities/object.ts +86 -0
  97. data/app/pb_kits/playbook/utilities/text.ts +1 -1
  98. data/dist/chunks/_typeahead-N-EFroAX.js +22 -0
  99. data/dist/chunks/_weekday_stacked-Db780bKR.js +45 -0
  100. data/dist/chunks/{lib-BeKPJYlk.js → lib-Co5y3V4K.js} +2 -2
  101. data/dist/chunks/{pb_form_validation-BvDxpfs-.js → pb_form_validation-DMajaRt3.js} +1 -1
  102. data/dist/chunks/vendor.js +1 -1
  103. data/dist/playbook-doc.js +1 -1
  104. data/dist/playbook-rails-react-bindings.js +1 -1
  105. data/dist/playbook-rails.js +1 -1
  106. data/dist/playbook.css +1 -1
  107. data/lib/playbook/forms/builder/multi_level_select_field.rb +2 -0
  108. data/lib/playbook/version.rb +2 -2
  109. metadata +32 -8
  110. data/dist/chunks/_typeahead-CRAPc8k-.js +0 -22
  111. data/dist/chunks/_weekday_stacked-T0kFfioG.js +0 -45
  112. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.md → _advanced_table_selectable_rows_no_subrows_react.md} +0 -0
  113. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows.md → _advanced_table_selectable_rows_react.md} +0 -0
@@ -29,3 +29,89 @@ export const omitBy = (obj: Record<string, any>, predicate: (value: any, key: st
29
29
  return result;
30
30
  }, {})
31
31
  }
32
+
33
+ export const noop = (): void => {
34
+ // empty
35
+ };
36
+
37
+ export function merge(
38
+ ...objects: Array<Record<string, unknown> | null | undefined>
39
+ ): Record<string, unknown> {
40
+ const isPlainObject = (obj: unknown): obj is Record<string, unknown> =>
41
+ !!obj && typeof obj === 'object' && !Array.isArray(obj);
42
+
43
+ const result: Record<string, unknown> = {};
44
+
45
+ for (const obj of objects) {
46
+ if (!obj || typeof obj !== 'object') continue;
47
+
48
+ for (const key of Object.keys(obj)) {
49
+ const oldVal = result[key];
50
+ const newVal = (obj as Record<string, unknown>)[key];
51
+
52
+ if (Array.isArray(oldVal) && Array.isArray(newVal)) {
53
+ result[key] = newVal;
54
+ } else if (isPlainObject(oldVal) && isPlainObject(newVal)) {
55
+ result[key] = merge(oldVal, newVal);
56
+ } else if (Array.isArray(oldVal) && isPlainObject(newVal)) {
57
+ result[key] = oldVal;
58
+ } else if (isPlainObject(oldVal) && Array.isArray(newVal)) {
59
+ result[key] = oldVal;
60
+ } else {
61
+ result[key] = newVal;
62
+ }
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+
68
+ const createIteratee = (predicate: any) => {
69
+ if (typeof predicate === 'function') {
70
+ return predicate;
71
+ }
72
+ if (typeof predicate === 'string') {
73
+ return (obj: any) => obj[predicate];
74
+ }
75
+ if (Array.isArray(predicate)) {
76
+ const [key, value] = predicate;
77
+ return (obj: any) => obj[key] === value;
78
+ }
79
+ if (typeof predicate === 'object' && predicate !== null) {
80
+ return (obj: any) => {
81
+ for (const key in predicate) {
82
+ if (Object.prototype.hasOwnProperty.call(predicate, key)) {
83
+ if (obj[key] !== predicate[key]) return false;
84
+ }
85
+ }
86
+ return true;
87
+ };
88
+ }
89
+ return () => false;
90
+ };
91
+
92
+ export const filter = <T>(array: T[], predicate: any): T[] => {
93
+ const iteratee = createIteratee(predicate);
94
+ return array.filter(iteratee);
95
+ };
96
+
97
+ export const find = <T>(array: T[], predicate: any): T | undefined => {
98
+ const iteratee = createIteratee(predicate);
99
+ return array.find(iteratee);
100
+ };
101
+
102
+ export const partial = <F extends (...args: unknown[]) => unknown>(
103
+ fn: F,
104
+ ...partials: unknown[]
105
+ ): ((...args: unknown[]) => ReturnType<F>) => {
106
+ const placeholder = partial.placeholder;
107
+ return (...args: unknown[]): ReturnType<F> => {
108
+ let argIndex = 0;
109
+ const finalArgs = partials.map(arg =>
110
+ arg === placeholder ? args[argIndex++] : arg
111
+ );
112
+ return fn(...(finalArgs.concat(args.slice(argIndex)) as Parameters<F>)) as ReturnType<F>;
113
+ };
114
+ };
115
+
116
+ partial.placeholder = Symbol();
117
+ export const _ = partial.placeholder;
@@ -1,4 +1,4 @@
1
- import { filter } from 'lodash'
1
+ import { filter } from './object'
2
2
 
3
3
  const isEmpty = (value: string | unknown): boolean => !value || value == ''
4
4