playbook_ui 14.19.0.pre.alpha.PLAY21377811 → 14.19.0.pre.alpha.borderfixadvancedtable7816
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +16 -8
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +9 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.html.erb +137 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.html.erb +40 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/index.js +355 -52
- data/app/pb_kits/playbook/pb_advanced_table/table_action_bar.html.erb +23 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_action_bar.rb +19 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +4 -0
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +19 -77
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.html.erb +10 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +1 -11
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +0 -5
- data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +2 -16
- data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +13 -34
- data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +1 -3
- data/app/pb_kits/playbook/pb_dropdown/hooks/useHandleOnKeydown.tsx +6 -0
- data/app/pb_kits/playbook/pb_dropdown/index.js +41 -334
- data/app/pb_kits/playbook/pb_dropdown/keyboard_accessibility.js +12 -39
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +12 -16
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +12 -78
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +0 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +0 -1
- data/dist/chunks/_typeahead-B9-s4j4U.js +22 -0
- data/dist/chunks/_weekday_stacked-CvzpmXD5.js +45 -0
- data/dist/chunks/{lib-BB_ZEriO.js → lib-B20MXZcW.js} +2 -2
- data/dist/chunks/{pb_form_validation-C0la9CZR.js → pb_form_validation-WWvUXPKD.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +12 -23
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.html.erb +0 -31
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.md +0 -5
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.jsx +0 -56
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.md +0 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.jsx +0 -58
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.md +0 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.html.erb +0 -20
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.html.erb +0 -19
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.md +0 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.html.erb +0 -20
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.jsx +0 -57
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.html.erb +0 -50
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.jsx +0 -105
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.html.erb +0 -22
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx +0 -67
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/MultiSelectTriggerDisplay.tsx +0 -58
- data/dist/chunks/_typeahead-CLGxsWj4.js +0 -22
- data/dist/chunks/_weekday_stacked-BrJMDrKs.js +0 -45
@@ -10,7 +10,6 @@ import { globalProps } from "../../utilities/globalProps";
|
|
10
10
|
import { useHandleOnKeyDown } from "../hooks/useHandleOnKeydown";
|
11
11
|
|
12
12
|
import DropdownContext from "../context";
|
13
|
-
import MultiSelectTriggerDisplay from "./MultiSelectTriggerDisplay";
|
14
13
|
|
15
14
|
import Body from "../../pb_body/_body";
|
16
15
|
import Icon from "../../pb_icon/_icon";
|
@@ -45,14 +44,12 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
45
44
|
const {
|
46
45
|
autocomplete,
|
47
46
|
filterItem,
|
48
|
-
handleBackspace,
|
49
47
|
handleChange,
|
50
48
|
handleWrapperClick,
|
51
49
|
inputRef,
|
52
50
|
inputWrapperRef,
|
53
51
|
isDropDownClosed,
|
54
52
|
isInputFocused,
|
55
|
-
multiSelect,
|
56
53
|
selected,
|
57
54
|
setIsInputFocused,
|
58
55
|
toggleDropdown,
|
@@ -72,19 +69,9 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
72
69
|
const triggerWrapperClasses = buildCss(
|
73
70
|
"dropdown_trigger_wrapper",
|
74
71
|
isInputFocused && "focus",
|
75
|
-
!autocomplete &&
|
72
|
+
!autocomplete && "select_only"
|
76
73
|
);
|
77
74
|
|
78
|
-
const selectedArray = Array.isArray(selected)
|
79
|
-
? selected
|
80
|
-
: selected && Object.keys(selected).length
|
81
|
-
? [selected]
|
82
|
-
: [];
|
83
|
-
|
84
|
-
const joinedLabels = multiSelect
|
85
|
-
? ""
|
86
|
-
: selectedArray.map((option) => option.label).join(", ");
|
87
|
-
|
88
75
|
const customDisplayPlaceholder = selected?.label ? (
|
89
76
|
""
|
90
77
|
) : autocomplete ? (
|
@@ -95,8 +82,8 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
95
82
|
"Select..."
|
96
83
|
);
|
97
84
|
|
98
|
-
const defaultDisplayPlaceholder =
|
99
|
-
?
|
85
|
+
const defaultDisplayPlaceholder = selected?.label
|
86
|
+
? selected.label
|
100
87
|
: autocomplete
|
101
88
|
? ""
|
102
89
|
: placeholder
|
@@ -138,60 +125,23 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
138
125
|
paddingX="sm"
|
139
126
|
paddingY="xs"
|
140
127
|
>
|
141
|
-
<FlexItem
|
142
|
-
<Flex align="center"
|
143
|
-
wrap
|
144
|
-
>
|
128
|
+
<FlexItem>
|
129
|
+
<Flex align="center">
|
145
130
|
{customDisplay ? (
|
146
131
|
<Flex align="center">
|
147
132
|
{customDisplay}
|
148
133
|
<Body dark={dark}
|
149
|
-
paddingLeft={`${
|
134
|
+
paddingLeft={`${selected.label ? "xs" : "none"}`}
|
150
135
|
>
|
151
136
|
{customDisplayPlaceholder}
|
152
137
|
</Body>
|
153
138
|
</Flex>
|
154
139
|
) : (
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
autocomplete={autocomplete}
|
159
|
-
dark={dark}
|
160
|
-
placeholder={placeholder}
|
161
|
-
selected={selectedArray}
|
162
|
-
/>
|
163
|
-
{autocomplete && (
|
164
|
-
<input
|
165
|
-
className="dropdown_input"
|
166
|
-
onChange={handleChange}
|
167
|
-
onClick={(e) => {
|
168
|
-
e.stopPropagation();// keep the wrapper’s handler from firing
|
169
|
-
toggleDropdown();
|
170
|
-
}}
|
171
|
-
onFocus={() => setIsInputFocused(true)}
|
172
|
-
onKeyDown={(e) => {
|
173
|
-
handleKeyDown(e);
|
174
|
-
e.stopPropagation(); //Fixes issue with keyboard accessibility
|
175
|
-
}}
|
176
|
-
placeholder={
|
177
|
-
joinedLabels
|
178
|
-
? ""
|
179
|
-
: placeholder
|
180
|
-
? placeholder
|
181
|
-
: "Select..."
|
182
|
-
}
|
183
|
-
ref={inputRef}
|
184
|
-
value={filterItem}
|
185
|
-
/>
|
186
|
-
)}
|
187
|
-
</>
|
188
|
-
) : (
|
189
|
-
<Body dark={dark}
|
190
|
-
text={defaultDisplayPlaceholder}
|
191
|
-
/>
|
192
|
-
)
|
140
|
+
<Body dark={dark}
|
141
|
+
text={defaultDisplayPlaceholder}
|
142
|
+
/>
|
193
143
|
)}
|
194
|
-
{autocomplete &&
|
144
|
+
{autocomplete && (
|
195
145
|
<input
|
196
146
|
className="dropdown_input"
|
197
147
|
onChange={handleChange}
|
@@ -202,7 +152,7 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
202
152
|
onFocus={() => setIsInputFocused(true)}
|
203
153
|
onKeyDown={handleKeyDown}
|
204
154
|
placeholder={
|
205
|
-
|
155
|
+
selected.label
|
206
156
|
? ""
|
207
157
|
: placeholder
|
208
158
|
? placeholder
|
@@ -214,29 +164,14 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
214
164
|
)}
|
215
165
|
</Flex>
|
216
166
|
</FlexItem>
|
217
|
-
<FlexItem>
|
218
167
|
<Body
|
219
|
-
alignItems="center"
|
220
168
|
dark={dark}
|
221
169
|
display="flex"
|
222
170
|
htmlOptions={{
|
223
171
|
onClick: (e: Event) => {e.stopPropagation();handleWrapperClick()}
|
224
172
|
}}
|
225
173
|
key={`${isDropDownClosed ? "chevron-down" : "chevron-up"}`}
|
226
|
-
>
|
227
|
-
{
|
228
|
-
selectedArray.length > 0 && (
|
229
|
-
<div onClick={(e)=>{e.stopPropagation();handleBackspace()}}>
|
230
|
-
<Icon
|
231
|
-
cursor="pointer"
|
232
|
-
dark={dark}
|
233
|
-
icon="times"
|
234
|
-
paddingRight="xs"
|
235
|
-
size="sm"
|
236
|
-
/>
|
237
|
-
</div>
|
238
|
-
)
|
239
|
-
}
|
174
|
+
>
|
240
175
|
<Icon
|
241
176
|
cursor="pointer"
|
242
177
|
dark={dark}
|
@@ -244,7 +179,6 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
|
|
244
179
|
size="sm"
|
245
180
|
/>
|
246
181
|
</Body>
|
247
|
-
</FlexItem>
|
248
182
|
</Flex>
|
249
183
|
</>
|
250
184
|
)
|
@@ -99,7 +99,6 @@
|
|
99
99
|
<%= form.url_field :example_url_field, props: { label: true } %>
|
100
100
|
<%= form.text_area :example_text_area, props: { label: true } %>
|
101
101
|
<%= form.dropdown_field :example_dropdown, props: { label: true, options: example_dropdown_options } %>
|
102
|
-
<%= form.dropdown_field :example_dropdown_multi, props: { label: true, options: example_dropdown_options, multi_select: true } %>
|
103
102
|
<%= form.select :example_select, [ ["Yes", 1], ["No", 2] ], props: { label: true } %>
|
104
103
|
<%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
|
105
104
|
<%= form.check_box :example_checkbox,
|
@@ -98,7 +98,6 @@
|
|
98
98
|
<%= form.url_field :example_url_field_validation, props: { label: true, required: true } %>
|
99
99
|
<%= form.text_area :example_text_area_validation, props: { label: true, required: true } %>
|
100
100
|
<%= form.dropdown_field :example_dropdown_validation, props: { label: true, options: example_dropdown_options, required: true } %>
|
101
|
-
<%= form.dropdown_field :example_dropdown_validation_multi, props: { label: true, options: example_dropdown_options, multi_select: true, required: true } %>
|
102
101
|
<%= form.select :example_select_validation, [ ["Yes", 1], ["No", 2] ], props: { label: true, blank_selection: "Select One...", required: true, validation_message: "Please, select an option." } %>
|
103
102
|
<%= form.collection_select :example_collection_select_validation, example_collection, :value, :name, props: { label: true, blank_selection: "Select One...", required: true } %>
|
104
103
|
<%= form.check_box :example_checkbox, props: { text: "Example Checkbox", label: true, required: true } %>
|