playbook_ui 14.9.0.pre.alpha.pbntr700newresettodefaultprop4736 → 14.9.0.pre.alpha.play1742globalheightfixes4766
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.tsx +61 -17
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx +50 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +57 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md +5 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_pagination_mock_data.json +5600 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -5
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +0 -10
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +2 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -2
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +30 -11
- data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +2 -2
- data/dist/chunks/{_typeahead-DU1QgR52.js → _typeahead-B8fkIeXA.js} +1 -1
- data/dist/chunks/{_weekday_stacked-BLOmRNnB.js → _weekday_stacked-DjRTXEi-.js} +3 -3
- data/dist/chunks/{lib-Ce7MLbJk.js → lib-SyD3buPZ.js} +1 -1
- data/dist/chunks/{pb_form_validation-kPWA1Z2g.js → pb_form_validation-Dt8UJgrJ.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/lib/playbook/version.rb +1 -1
- metadata +11 -6
@@ -18,3 +18,5 @@ examples:
|
|
18
18
|
- advanced_table_inline_row_loading: Inline Row Loading
|
19
19
|
- advanced_table_responsive: Responsive Tables
|
20
20
|
- advanced_table_custom_cell: Custom Components for Cells
|
21
|
+
- advanced_table_pagination: Pagination
|
22
|
+
- advanced_table_pagination_with_props: Pagination Props
|
@@ -10,3 +10,5 @@ export { default as AdvancedTableTableProps } from './_advanced_table_table_prop
|
|
10
10
|
export { default as AdvancedTableInlineRowLoading } from './_advanced_table_inline_row_loading.jsx'
|
11
11
|
export { default as AdvancedTableResponsive } from './_advanced_table_responsive.jsx'
|
12
12
|
export { default as AdvancedTableCustomCell } from './_advanced_table_custom_cell.jsx'
|
13
|
+
export { default as AdvancedTablePagination } from './_advanced_table_pagination.jsx'
|
14
|
+
export { default as AdvancedTablePaginationWithProps } from './_advanced_table_pagination_with_props.jsx'
|
@@ -40,8 +40,6 @@ module Playbook
|
|
40
40
|
default: {}
|
41
41
|
prop :input_data, type: Playbook::Props::HashProp,
|
42
42
|
default: {}
|
43
|
-
prop :input_options, type: Playbook::Props::HashProp,
|
44
|
-
default: {}
|
45
43
|
prop :max_date, type: Playbook::Props::String
|
46
44
|
prop :min_date, type: Playbook::Props::String
|
47
45
|
prop :name, type: Playbook::Props::String
|
@@ -57,8 +55,6 @@ module Playbook
|
|
57
55
|
prop :position, type: Playbook::Props::String,
|
58
56
|
default: "auto"
|
59
57
|
prop :position_element, type: Playbook::Props::String
|
60
|
-
prop :reset_to_default, type: Playbook::Props::Boolean,
|
61
|
-
default: false
|
62
58
|
prop :scroll_container, type: Playbook::Props::String
|
63
59
|
prop :selection_type, type: Playbook::Props::Enum,
|
64
60
|
values: %w[week month quickpick none],
|
@@ -102,7 +98,6 @@ module Playbook
|
|
102
98
|
plugins: plugins,
|
103
99
|
position: position,
|
104
100
|
positionElement: position_element,
|
105
|
-
resetToDefault: reset_to_default,
|
106
101
|
required: required,
|
107
102
|
selectionType: selection_type,
|
108
103
|
showTimezone: show_timezone,
|
@@ -24,11 +24,9 @@ type DatePickerConfig = {
|
|
24
24
|
required: boolean,
|
25
25
|
hideIcon?: boolean;
|
26
26
|
inLine?: boolean,
|
27
|
-
inputValue: string,
|
28
27
|
onChange: (dateStr: string, selectedDates: Date[]) => void,
|
29
28
|
selectionType?: "month" | "week" | "quickpick" | "",
|
30
29
|
onClose: (dateStr: Date[] | string, selectedDates: Date[] | string) => void,
|
31
|
-
resetToDefault?: boolean,
|
32
30
|
showTimezone?: boolean,
|
33
31
|
staticPosition: boolean,
|
34
32
|
thisRangesEndToday?: boolean,
|
@@ -52,7 +50,6 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
|
|
52
50
|
disableWeekdays,
|
53
51
|
enableTime,
|
54
52
|
format,
|
55
|
-
inputValue,
|
56
53
|
maxDate,
|
57
54
|
minDate,
|
58
55
|
mode,
|
@@ -62,7 +59,6 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
|
|
62
59
|
plugins,
|
63
60
|
position = "auto",
|
64
61
|
positionElement,
|
65
|
-
resetToDefault,
|
66
62
|
required,
|
67
63
|
selectionType,
|
68
64
|
showTimezone,
|
@@ -246,12 +242,6 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
|
|
246
242
|
picker.changeYear(Number(e.target.value))
|
247
243
|
})
|
248
244
|
|
249
|
-
// add data atrribute for reset to default
|
250
|
-
const element = document.querySelector(`#${pickerId}`);
|
251
|
-
if (resetToDefault && defaultDate && element) {
|
252
|
-
element.setAttribute("data-pb-date-picker", defaultDate?.toString());
|
253
|
-
}
|
254
|
-
|
255
245
|
// Reverse month and year dropdown reset on form.reset()
|
256
246
|
if (picker.input.form) {
|
257
247
|
picker.input.form.addEventListener('reset', () => {
|
@@ -287,7 +287,6 @@ const Drawer = (props: DrawerProps): React.ReactElement => {
|
|
287
287
|
{...ariaProps}
|
288
288
|
{...dataProps}
|
289
289
|
{...htmlProps}
|
290
|
-
style={dynamicInlineProps}
|
291
290
|
className={classnames(drawerClassNames.base, {
|
292
291
|
[drawerClassNames.afterOpen]:
|
293
292
|
animationState === "afterOpen",
|
@@ -296,6 +295,7 @@ const Drawer = (props: DrawerProps): React.ReactElement => {
|
|
296
295
|
})}
|
297
296
|
id={id}
|
298
297
|
onClick={(e) => e.stopPropagation()}
|
298
|
+
style={dynamicInlineProps}
|
299
299
|
>
|
300
300
|
{children}
|
301
301
|
</div>
|
@@ -306,7 +306,6 @@ const Drawer = (props: DrawerProps): React.ReactElement => {
|
|
306
306
|
{...dataProps}
|
307
307
|
{...htmlProps}
|
308
308
|
className={classes}
|
309
|
-
style={dynamicInlineProps}
|
310
309
|
>
|
311
310
|
{isModalVisible && (
|
312
311
|
<div
|
@@ -327,6 +326,7 @@ const Drawer = (props: DrawerProps): React.ReactElement => {
|
|
327
326
|
animationState === "beforeClose",
|
328
327
|
})}
|
329
328
|
onClick={(e) => e.stopPropagation()}
|
329
|
+
style={dynamicInlineProps}
|
330
330
|
>
|
331
331
|
{children}
|
332
332
|
</div>
|
@@ -45,12 +45,11 @@
|
|
45
45
|
class: "checkbox-class"
|
46
46
|
%>
|
47
47
|
<%= form.date_picker :example_date_picker_1, props: { label: true } %>
|
48
|
-
<%= form.date_picker :example_date_picker_2, props: { label: true, reset_to_default: true, default_date: "06/09/1994" } %>
|
49
48
|
<%= form.star_rating_field :example_star_rating, props: { variant: "interactive", label: true } %>
|
50
49
|
|
51
50
|
<%= form.actions do |action| %>
|
52
51
|
<%= action.submit %>
|
53
|
-
<%= action.button props: { type: "reset", text: "Cancel", variant: "secondary"
|
52
|
+
<%= action.button props: { type: "reset", text: "Cancel", variant: "secondary" } %>
|
54
53
|
<% end %>
|
55
54
|
<% end %>
|
56
55
|
|
@@ -24,34 +24,37 @@ type LayoutPropTypes = {
|
|
24
24
|
type LayoutSideProps = {
|
25
25
|
children: React.ReactNode[] | React.ReactNode,
|
26
26
|
className?: string,
|
27
|
-
}
|
27
|
+
} & GlobalProps
|
28
28
|
|
29
29
|
type LayoutBodyProps = {
|
30
30
|
children: React.ReactNode[] | React.ReactNode,
|
31
31
|
className?: string,
|
32
|
-
}
|
32
|
+
} & GlobalProps
|
33
33
|
|
34
34
|
type LayoutItemProps = {
|
35
35
|
children: React.ReactNode[] | React.ReactNode,
|
36
36
|
className?: string,
|
37
37
|
size?: "sm" | "md" | "lg"
|
38
|
-
}
|
38
|
+
} & GlobalProps
|
39
39
|
|
40
40
|
type LayoutHeaderProps = {
|
41
41
|
children: React.ReactNode[] | React.ReactNode,
|
42
42
|
className?: string,
|
43
|
-
}
|
43
|
+
} & GlobalProps
|
44
44
|
|
45
45
|
type LayoutFooterProps = {
|
46
46
|
children: React.ReactNode[] | React.ReactNode,
|
47
47
|
className?: string,
|
48
|
-
}
|
48
|
+
} & GlobalProps
|
49
49
|
|
50
|
-
// Side component
|
51
50
|
const Side = (props: LayoutSideProps) => {
|
52
51
|
const { children, className } = props
|
52
|
+
const dynamicInlineProps = globalInlineProps(props)
|
53
53
|
return (
|
54
|
-
<div
|
54
|
+
<div
|
55
|
+
className={classnames('layout_sidebar', globalProps(props), className)}
|
56
|
+
style={dynamicInlineProps}
|
57
|
+
>
|
55
58
|
{children}
|
56
59
|
</div>
|
57
60
|
)
|
@@ -60,8 +63,12 @@ const Side = (props: LayoutSideProps) => {
|
|
60
63
|
// Body component
|
61
64
|
const Body = (props: LayoutBodyProps) => {
|
62
65
|
const { children, className } = props
|
66
|
+
const dynamicInlineProps = globalInlineProps(props)
|
63
67
|
return (
|
64
|
-
<div
|
68
|
+
<div
|
69
|
+
className={classnames('layout_body', globalProps(props), className)}
|
70
|
+
style={dynamicInlineProps}
|
71
|
+
>
|
65
72
|
{children}
|
66
73
|
</div>
|
67
74
|
)
|
@@ -71,8 +78,12 @@ const Body = (props: LayoutBodyProps) => {
|
|
71
78
|
const Item = (props: LayoutItemProps) => {
|
72
79
|
const { children, className, size = 'sm' } = props
|
73
80
|
const sizeClass = `size_${size}`
|
81
|
+
const dynamicInlineProps = globalInlineProps(props)
|
74
82
|
return (
|
75
|
-
<div
|
83
|
+
<div
|
84
|
+
className={classnames('layout_item', sizeClass, globalProps(props), className)}
|
85
|
+
style={dynamicInlineProps}
|
86
|
+
>
|
76
87
|
{children}
|
77
88
|
</div>
|
78
89
|
)
|
@@ -81,8 +92,12 @@ const Item = (props: LayoutItemProps) => {
|
|
81
92
|
// Header component
|
82
93
|
const Header = (props: LayoutHeaderProps) => {
|
83
94
|
const { children, className } = props
|
95
|
+
const dynamicInlineProps = globalInlineProps(props)
|
84
96
|
return (
|
85
|
-
<div
|
97
|
+
<div
|
98
|
+
className={classnames('layout_header', globalProps(props), className)}
|
99
|
+
style={dynamicInlineProps}
|
100
|
+
>
|
86
101
|
{children}
|
87
102
|
</div>
|
88
103
|
)
|
@@ -91,8 +106,12 @@ const Header = (props: LayoutHeaderProps) => {
|
|
91
106
|
// Footer component
|
92
107
|
const Footer = (props: LayoutFooterProps) => {
|
93
108
|
const { children, className } = props
|
109
|
+
const dynamicInlineProps = globalInlineProps(props)
|
94
110
|
return (
|
95
|
-
<div
|
111
|
+
<div
|
112
|
+
className={classnames('layout_footer', globalProps(props), className)}
|
113
|
+
style={dynamicInlineProps}
|
114
|
+
>
|
96
115
|
{children}
|
97
116
|
</div>
|
98
117
|
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
2
|
import classnames from 'classnames'
|
3
|
-
import { globalProps } from '../utilities/globalProps'
|
3
|
+
import { GlobalProps, globalProps } from '../utilities/globalProps'
|
4
4
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
import Icon from '../pb_icon/_icon';
|
6
6
|
|
@@ -14,7 +14,7 @@ type PaginationProps = {
|
|
14
14
|
onChange?: (pageNumber: number) => void;
|
15
15
|
range?: number;
|
16
16
|
total?: number;
|
17
|
-
};
|
17
|
+
} & GlobalProps;
|
18
18
|
|
19
19
|
const Pagination = ( props: PaginationProps) => {
|
20
20
|
const {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import{jsx as jsx$1,Fragment,jsxs}from"react/jsx-runtime";import*as React from"react";import React__default,{createContext,useReducer,useEffect,useMemo,useContext,createElement,useState,useRef,forwardRef,useLayoutEffect,useCallback,useImperativeHandle,Component,Fragment as Fragment$1}from"react";import{q as getDefaultExportFromCjs,w as filter,x as omit,j as getAllIcons,y as get,n as commonjsGlobal,v as colors$1,s as highchartsTheme,z as merge,r as highchartsDarkTheme,A as useCollapsible,B as getAugmentedNamespace,C as createPopper,E as uniqueId,F as typography,G as cloneDeep,H as isString}from"./lib-
|
1
|
+
import{jsx as jsx$1,Fragment,jsxs}from"react/jsx-runtime";import*as React from"react";import React__default,{createContext,useReducer,useEffect,useMemo,useContext,createElement,useState,useRef,forwardRef,useLayoutEffect,useCallback,useImperativeHandle,Component,Fragment as Fragment$1}from"react";import{q as getDefaultExportFromCjs,w as filter,x as omit,j as getAllIcons,y as get,n as commonjsGlobal,v as colors$1,s as highchartsTheme,z as merge,r as highchartsDarkTheme,A as useCollapsible,B as getAugmentedNamespace,C as createPopper,E as uniqueId,F as typography,G as cloneDeep,H as isString}from"./lib-SyD3buPZ.js";import*as ReactDOM from"react-dom";import ReactDOM__default,{createPortal}from"react-dom";import{TrixEditor}from"react-trix";import Trix from"trix";import require$$0 from"react-is";const initialState={items:[],dragData:{id:"",initialGroup:""},isDragging:"",activeContainer:""};const reducer=(state,action)=>{switch(action.type){case"SET_ITEMS":return Object.assign(Object.assign({},state),{items:action.payload});case"SET_DRAG_DATA":return Object.assign(Object.assign({},state),{dragData:action.payload});case"SET_IS_DRAGGING":return Object.assign(Object.assign({},state),{isDragging:action.payload});case"SET_ACTIVE_CONTAINER":return Object.assign(Object.assign({},state),{activeContainer:action.payload});case"CHANGE_CATEGORY":return Object.assign(Object.assign({},state),{items:state.items.map((item=>item.id===action.payload.itemId?Object.assign(Object.assign({},item),{container:action.payload.container}):item))});case"REORDER_ITEMS":{const{dragId:dragId,targetId:targetId}=action.payload;const newItems=[...state.items];const draggedItem=newItems.find((item=>item.id===dragId));const draggedIndex=newItems.indexOf(draggedItem);const targetIndex=newItems.findIndex((item=>item.id===targetId));newItems.splice(draggedIndex,1);newItems.splice(targetIndex,0,draggedItem);return Object.assign(Object.assign({},state),{items:newItems})}default:return state}};const DragContext=createContext({});const DraggableContext=()=>useContext(DragContext);const DraggableProvider=({children:children,initialItems:initialItems,onReorder:onReorder,onDragStart:onDragStart,onDragEnter:onDragEnter,onDragEnd:onDragEnd,onDrop:onDrop,onDragOver:onDragOver})=>{const[state,dispatch]=useReducer(reducer,initialState);useEffect((()=>{dispatch({type:"SET_ITEMS",payload:initialItems})}),[initialItems]);useEffect((()=>{onReorder(state.items)}),[state.items]);const handleDragStart=(id,container)=>{dispatch({type:"SET_DRAG_DATA",payload:{id:id,initialGroup:container}});dispatch({type:"SET_IS_DRAGGING",payload:id});if(onDragStart)onDragStart(id,container)};const handleDragEnter=(id,container)=>{if(state.dragData.id!==id){dispatch({type:"REORDER_ITEMS",payload:{dragId:state.dragData.id,targetId:id}});dispatch({type:"SET_DRAG_DATA",payload:{id:state.dragData.id,initialGroup:container}})}if(onDragEnter)onDragEnter(id,container)};const handleDragEnd=()=>{dispatch({type:"SET_IS_DRAGGING",payload:""});dispatch({type:"SET_ACTIVE_CONTAINER",payload:""});if(onDragEnd)onDragEnd()};const changeCategory=(itemId,container)=>{dispatch({type:"CHANGE_CATEGORY",payload:{itemId:itemId,container:container}})};const handleDrop=container=>{dispatch({type:"SET_IS_DRAGGING",payload:""});dispatch({type:"SET_ACTIVE_CONTAINER",payload:""});changeCategory(state.dragData.id,container);if(onDrop)onDrop(container)};const handleDragOver=(e,container)=>{e.preventDefault();dispatch({type:"SET_ACTIVE_CONTAINER",payload:container});if(onDragOver)onDragOver(e,container)};const contextValue=useMemo((()=>({items:state.items,dragData:state.dragData,isDragging:state.isDragging,activeContainer:state.activeContainer,handleDragStart:handleDragStart,handleDragEnter:handleDragEnter,handleDragEnd:handleDragEnd,handleDrop:handleDrop,handleDragOver:handleDragOver})),[state]);return jsx$1(DragContext.Provider,Object.assign({value:contextValue},{children:children}),void 0)};var classnames$1={exports:{}};
|
2
2
|
/*!
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
4
4
|
Licensed under the MIT License (MIT), see
|