playbook_ui 14.15.0.pre.alpha.play1949lodashremoval3of36758 → 14.15.0.pre.alpha.play1952fixhorizontalnavcursorstyle6795

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
  3. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +1 -0
  4. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.tsx +4 -3
  5. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +3 -2
  6. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +2 -2
  7. data/app/pb_kits/playbook/pb_form/pb_form_validation.js +1 -1
  8. data/app/pb_kits/playbook/pb_icon/_icon.scss +8 -1
  9. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.html.erb +10 -4
  10. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.jsx +49 -24
  11. data/app/pb_kits/playbook/pb_lightbox/hooks/useVisibility.js +1 -1
  12. data/app/pb_kits/playbook/pb_multi_level_select/_helper_functions.tsx +5 -1
  13. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +15 -6
  14. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.html.erb +1 -1
  15. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.html.erb +76 -0
  16. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.jsx +94 -0
  17. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.md +1 -0
  18. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.html.erb +75 -0
  19. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.jsx +93 -0
  20. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.md +3 -0
  21. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.html.erb +75 -0
  22. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.jsx +93 -0
  23. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.md +3 -0
  24. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.html.erb +74 -0
  25. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.jsx +92 -0
  26. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.md +3 -0
  27. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +10 -2
  28. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +4 -0
  29. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select_options.tsx +1 -0
  30. data/app/pb_kits/playbook/pb_nav/_nav.scss +5 -0
  31. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +4 -0
  32. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +3 -0
  33. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_disabled.html.erb +19 -0
  34. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_disabled.jsx +23 -0
  35. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
  36. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
  37. data/app/pb_kits/playbook/pb_typeahead/index.ts +2 -2
  38. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -0
  39. data/app/pb_kits/playbook/pb_user/_user.tsx +78 -13
  40. data/app/pb_kits/playbook/pb_user/docs/_user_font_options.html.erb +22 -0
  41. data/app/pb_kits/playbook/pb_user/docs/_user_font_options.jsx +40 -0
  42. data/app/pb_kits/playbook/pb_user/docs/_user_font_options_rails.md +5 -0
  43. data/app/pb_kits/playbook/pb_user/docs/_user_font_options_react.md +5 -0
  44. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  45. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  46. data/app/pb_kits/playbook/pb_user/user.html.erb +27 -6
  47. data/app/pb_kits/playbook/pb_user/user.rb +17 -1
  48. data/app/pb_kits/playbook/pb_user/user.test.js +182 -1
  49. data/app/pb_kits/playbook/tokens/_colors.scss +1 -4
  50. data/app/pb_kits/playbook/utilities/globalProps.ts +1 -1
  51. data/app/pb_kits/playbook/utilities/object.test.js +1 -149
  52. data/app/pb_kits/playbook/utilities/object.ts +42 -124
  53. data/dist/chunks/_typeahead-CVryXNui.js +22 -0
  54. data/dist/chunks/_weekday_stacked-BGcc0MlV.js +45 -0
  55. data/dist/chunks/{lib-DpO_YjaF.js → lib-Co5y3V4K.js} +3 -3
  56. data/dist/chunks/{pb_form_validation-C3rQtNR-.js → pb_form_validation-DMajaRt3.js} +1 -1
  57. data/dist/chunks/vendor.js +1 -1
  58. data/dist/playbook-doc.js +1 -1
  59. data/dist/playbook-rails-react-bindings.js +1 -1
  60. data/dist/playbook-rails.js +1 -1
  61. data/dist/playbook.css +1 -1
  62. data/lib/playbook/version.rb +1 -1
  63. metadata +24 -6
  64. data/dist/chunks/_typeahead-tLz4QFO8.js +0 -22
  65. data/dist/chunks/_weekday_stacked-DLFmBReC.js +0 -45
@@ -1,7 +1,6 @@
1
1
  /* 🛠️ Any commonly used lodash functions can be added here. 🤙 */
2
2
 
3
- export const isEmpty = (obj: any) =>
4
- [Object, Array].includes((obj || {}).constructor) && !Object.entries((obj || {})).length
3
+ export const isEmpty = (obj: any) => [Object, Array].includes((obj || {}).constructor) && !Object.entries((obj || {})).length;
5
4
 
6
5
  export const get = <T, R = any>(obj: T, path: string, defaultValue?: R): R | any => {
7
6
  const travel = (regexp: RegExp): any =>
@@ -25,175 +24,94 @@ export const omitBy = (obj: Record<string, any>, predicate: (value: any, key: st
25
24
  if (obj === null || typeof obj !== 'object') return {}
26
25
  return Object.keys(obj).reduce((result: Record<string, any>, key: string) => {
27
26
  if (!predicate(obj[key], key)) {
28
- result[key] = obj[key]
27
+ result[key] = obj[key];
29
28
  }
30
- return result
29
+ return result;
31
30
  }, {})
32
31
  }
33
32
 
34
- export const omit = (
35
- obj: Record<string, any>,
36
- ...paths: (string | string[])[]
37
- ): Record<string, any> => {
38
- if (obj === null || typeof obj !== 'object') return {}
39
- const keysToOmit = new Set<string>()
40
- paths.forEach(p => {
41
- if (Array.isArray(p)) {
42
- p.forEach(key => keysToOmit.add(key))
43
- } else {
44
- keysToOmit.add(p)
45
- }
46
- })
47
- const result: Record<string, any> = {}
48
- for (const key in obj) {
49
- if (!keysToOmit.has(key)) {
50
- result[key] = obj[key]
51
- }
52
- }
53
- return result
54
- }
55
-
56
33
  export const noop = (): void => {
57
34
  // empty
58
- }
59
-
60
- export const cloneDeep = (value: any): any => {
61
- if (value === null || typeof value !== 'object') {
62
- return value
63
- }
64
- if (Array.isArray(value)) {
65
- return value.map(cloneDeep)
66
- }
67
- if (value instanceof Date) {
68
- return new Date(value.getTime())
69
- }
70
- if (value instanceof RegExp) {
71
- return new RegExp(value.source, value.flags)
72
- }
73
- const clonedObj: any = {}
74
- for (const key in value) {
75
- if (Object.prototype.hasOwnProperty.call(value, key)) {
76
- clonedObj[key] = cloneDeep(value[key])
77
- }
78
- }
79
- return clonedObj
80
- }
35
+ };
81
36
 
82
37
  export function merge(
83
38
  ...objects: Array<Record<string, unknown> | null | undefined>
84
39
  ): Record<string, unknown> {
85
40
  const isPlainObject = (obj: unknown): obj is Record<string, unknown> =>
86
- !!obj && typeof obj === 'object' && !Array.isArray(obj)
41
+ !!obj && typeof obj === 'object' && !Array.isArray(obj);
87
42
 
88
- const result: Record<string, unknown> = {}
43
+ const result: Record<string, unknown> = {};
89
44
 
90
45
  for (const obj of objects) {
91
- if (!obj || typeof obj !== 'object') continue
46
+ if (!obj || typeof obj !== 'object') continue;
92
47
 
93
48
  for (const key of Object.keys(obj)) {
94
- const oldVal = result[key]
95
- const newVal = (obj as Record<string, unknown>)[key]
49
+ const oldVal = result[key];
50
+ const newVal = (obj as Record<string, unknown>)[key];
96
51
 
97
52
  if (Array.isArray(oldVal) && Array.isArray(newVal)) {
98
- result[key] = newVal
53
+ result[key] = newVal;
99
54
  } else if (isPlainObject(oldVal) && isPlainObject(newVal)) {
100
- result[key] = merge(oldVal, newVal)
55
+ result[key] = merge(oldVal, newVal);
101
56
  } else if (Array.isArray(oldVal) && isPlainObject(newVal)) {
102
- result[key] = oldVal
57
+ result[key] = oldVal;
103
58
  } else if (isPlainObject(oldVal) && Array.isArray(newVal)) {
104
- result[key] = oldVal
59
+ result[key] = oldVal;
105
60
  } else {
106
- result[key] = newVal
61
+ result[key] = newVal;
107
62
  }
108
63
  }
109
64
  }
110
- return result
65
+ return result;
111
66
  }
112
67
 
113
68
  const createIteratee = (predicate: any) => {
114
69
  if (typeof predicate === 'function') {
115
- return predicate
70
+ return predicate;
116
71
  }
117
72
  if (typeof predicate === 'string') {
118
- return (obj: any) => obj[predicate]
73
+ return (obj: any) => obj[predicate];
119
74
  }
120
75
  if (Array.isArray(predicate)) {
121
- const [key, value] = predicate
122
- return (obj: any) => obj[key] === value
76
+ const [key, value] = predicate;
77
+ return (obj: any) => obj[key] === value;
123
78
  }
124
79
  if (typeof predicate === 'object' && predicate !== null) {
125
80
  return (obj: any) => {
126
81
  for (const key in predicate) {
127
82
  if (Object.prototype.hasOwnProperty.call(predicate, key)) {
128
- if (obj[key] !== predicate[key]) return false
83
+ if (obj[key] !== predicate[key]) return false;
129
84
  }
130
85
  }
131
- return true
132
- }
86
+ return true;
87
+ };
133
88
  }
134
- return () => false
135
- }
89
+ return () => false;
90
+ };
136
91
 
137
92
  export const filter = <T>(array: T[], predicate: any): T[] => {
138
- const iteratee = createIteratee(predicate)
139
- return array.filter(iteratee)
140
- }
93
+ const iteratee = createIteratee(predicate);
94
+ return array.filter(iteratee);
95
+ };
141
96
 
142
97
  export const find = <T>(array: T[], predicate: any): T | undefined => {
143
- const iteratee = createIteratee(predicate)
144
- return array.find(iteratee)
145
- }
98
+ const iteratee = createIteratee(predicate);
99
+ return array.find(iteratee);
100
+ };
146
101
 
147
- export const partial = <F extends (...args: any[]) => any>(
102
+ export const partial = <F extends (...args: unknown[]) => unknown>(
148
103
  fn: F,
149
- ...partials: any[]
150
- ): ((...args: any[]) => ReturnType<F>) => {
151
- const placeholder = partial.placeholder
152
- return (...args: any[]): ReturnType<F> => {
153
- let argIndex = 0
104
+ ...partials: unknown[]
105
+ ): ((...args: unknown[]) => ReturnType<F>) => {
106
+ const placeholder = partial.placeholder;
107
+ return (...args: unknown[]): ReturnType<F> => {
108
+ let argIndex = 0;
154
109
  const finalArgs = partials.map(arg =>
155
110
  arg === placeholder ? args[argIndex++] : arg
156
- )
157
- return fn(...(finalArgs.concat(args.slice(argIndex)) as Parameters<F>)) as ReturnType<F>
158
- }
159
- }
160
-
161
- partial.placeholder = Symbol()
162
- export const _ = partial.placeholder
163
-
164
- export const map = <T, U>(
165
- collection: T[] | Record<string, T>,
166
- iteratee?: ((value: T, index: number | string, collection: T[] | Record<string, T>) => U) | string
167
- ): U[] => {
168
- const fn =
169
- typeof iteratee === "function"
170
- ? iteratee
171
- : typeof iteratee === "string"
172
- ? (item: T) => (item as any)[iteratee]
173
- : (item: T) => item as unknown as U
174
-
175
- if (Array.isArray(collection)) {
176
- return collection.map((value, index) => fn(value, index, collection))
177
- }
178
- return Object.keys(collection).map(key => fn(collection[key], key, collection))
179
- }
180
-
181
- export function debounce<F extends (...args: any[]) => any>(
182
- func: F,
183
- wait: number,
184
- immediate?: boolean
185
- ): (...args: Parameters<F>) => void {
186
- let timeout: ReturnType<typeof setTimeout> | null;
187
- return function(this: any, ...args: any[]) {
188
- if (timeout) clearTimeout(timeout);
189
- if (immediate && !timeout) {
190
- func.apply(this, args);
191
- }
192
- timeout = setTimeout(() => {
193
- timeout = null;
194
- if (!immediate) {
195
- func.apply(this, args);
196
- }
197
- }, wait);
111
+ );
112
+ return fn(...(finalArgs.concat(args.slice(argIndex)) as Parameters<F>)) as ReturnType<F>;
198
113
  };
199
- }
114
+ };
115
+
116
+ partial.placeholder = Symbol();
117
+ export const _ = partial.placeholder;