playbook_ui 5.5.0 → 5.5.1.pre.alpha1
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/_playbook.scss +1 -0
- data/app/pb_kits/playbook/data/menu.yml +1 -0
- data/app/pb_kits/playbook/index.js +2 -0
- data/app/pb_kits/playbook/packs/examples.js +2 -0
- data/app/pb_kits/playbook/pb_body/_body.jsx +2 -2
- data/app/pb_kits/playbook/pb_button/_button.jsx +2 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +36 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +98 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +59 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +38 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +91 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +23 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +8 -0
- data/app/pb_kits/playbook/pb_date_picker/index.js +11 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -1
- data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -0
- data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +15 -0
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.html.erb +2 -2
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +24 -10
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +3 -1
- data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +6 -0
- data/app/pb_kits/playbook/vendor.js +4 -0
- data/lib/playbook/version.rb +1 -1
- metadata +29 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa66f8cfafaeec93584b7752d2346a2254f856a2994681b09b50d11af8c3ec80
|
|
4
|
+
data.tar.gz: bd0dc3b635736355aa8a08e6d5dd27cca89a5cc550852d248eac2603684b58f2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13b87a0f669639bb1921b01688146fcea0e13aa08f1b6c94b214a80d3448a9220081b8df7b9e6610f5820dc4a8e591728d789678caca7ac637f719a0a86b0766
|
|
7
|
+
data.tar.gz: 4f213af2da0881139ed2689d9cd384757e34fb8a7780963dd139fbcb1b9a5562ba2eeff4fdda10750a4d95eca7694936887fdcddff65a983b09171594df19ed5
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
@import 'pb_currency/currency';
|
|
15
15
|
@import 'pb_dashboard_value/dashboard_value';
|
|
16
16
|
@import 'pb_date/date';
|
|
17
|
+
@import 'pb_date_picker/date_picker';
|
|
17
18
|
@import 'pb_date_range_inline/date_range_inline';
|
|
18
19
|
@import 'pb_date_range_stacked/date_range_stacked';
|
|
19
20
|
@import 'pb_date_stacked/date_stacked';
|
|
@@ -13,6 +13,7 @@ export Contact from './pb_contact/_contact.jsx'
|
|
|
13
13
|
export Currency from './pb_currency/_currency.jsx'
|
|
14
14
|
export DashboardValue from './pb_dashboard_value/_dashboard_value.jsx'
|
|
15
15
|
export Date from './pb_date/_date.jsx'
|
|
16
|
+
export DatePicker from 'pb_date_picker/_date_picker.jsx'
|
|
16
17
|
export DateRangeInline from './pb_date_range_inline/_date_range_inline.jsx'
|
|
17
18
|
export DateRangeStacked from './pb_date_range_stacked/_date_range_stacked.jsx'
|
|
18
19
|
export DateStacked from './pb_date_stacked/_date_stacked.jsx'
|
|
@@ -90,6 +91,7 @@ export dashboardValueSettings from './pb_dashboard_value/dashboardValueSettings'
|
|
|
90
91
|
|
|
91
92
|
// Other JS/Plugins
|
|
92
93
|
export pbChart from './plugins/pb_chart.js'
|
|
94
|
+
export datePickerHelper from './pb_date_picker/date_picker_helper.js'
|
|
93
95
|
export PbTypeahead from './pb_typeahead'
|
|
94
96
|
export PbPopover from './pb_popover'
|
|
95
97
|
export PbTable from './pb_table'
|
|
@@ -27,6 +27,7 @@ import * as Contact from 'pb_contact/docs'
|
|
|
27
27
|
import * as Currency from 'pb_currency/docs'
|
|
28
28
|
import * as DashboardValue from 'pb_dashboard_value/docs'
|
|
29
29
|
import * as Date from 'pb_date/docs'
|
|
30
|
+
import * as DatePicker from 'pb_date_picker/docs'
|
|
30
31
|
import * as DateRangeInline from 'pb_date_range_inline/docs'
|
|
31
32
|
import * as DateRangeStacked from 'pb_date_range_stacked/docs'
|
|
32
33
|
import * as DateStacked from 'pb_date_stacked/docs'
|
|
@@ -107,6 +108,7 @@ WebpackerReact.setup({
|
|
|
107
108
|
...Currency,
|
|
108
109
|
...DashboardValue,
|
|
109
110
|
...Date,
|
|
111
|
+
...DatePicker,
|
|
110
112
|
...DateRangeInline,
|
|
111
113
|
...DateRangeStacked,
|
|
112
114
|
...DateStacked,
|
|
@@ -40,11 +40,11 @@ const Body = (props: BodyProps) => {
|
|
|
40
40
|
const ariaProps = buildAriaProps(aria)
|
|
41
41
|
const dataProps = buildDataProps(data)
|
|
42
42
|
const classes = classnames(
|
|
43
|
-
className,
|
|
44
43
|
buildCss('pb_body_kit', color, status, {
|
|
45
44
|
dark: dark,
|
|
46
45
|
}),
|
|
47
|
-
spacing(props)
|
|
46
|
+
spacing(props),
|
|
47
|
+
className
|
|
48
48
|
)
|
|
49
49
|
const Tag = `${tag}`
|
|
50
50
|
|
|
@@ -72,6 +72,7 @@ const Button = (props: ButtonPropTypes) => {
|
|
|
72
72
|
const {
|
|
73
73
|
children,
|
|
74
74
|
className,
|
|
75
|
+
disabled,
|
|
75
76
|
icon = null,
|
|
76
77
|
id,
|
|
77
78
|
loading = false,
|
|
@@ -120,6 +121,7 @@ const Button = (props: ButtonPropTypes) => {
|
|
|
120
121
|
<button
|
|
121
122
|
{...buttonAria}
|
|
122
123
|
className={css}
|
|
124
|
+
disabled={disabled}
|
|
123
125
|
id={id}
|
|
124
126
|
onClick={onClick}
|
|
125
127
|
type={htmlType}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<%= content_tag(:div,
|
|
2
|
+
aria: object.aria,
|
|
3
|
+
class: object.classname + " " + object.error_class,
|
|
4
|
+
data: object.data,
|
|
5
|
+
id: object.id) do %>
|
|
6
|
+
<%= pb_rails("caption", props: { text: object.label }) %>
|
|
7
|
+
<div class="input_wrapper">
|
|
8
|
+
<input
|
|
9
|
+
autocomplete="off"
|
|
10
|
+
id="<%= object.picker_id %>"
|
|
11
|
+
/>
|
|
12
|
+
<% if object.error %>
|
|
13
|
+
<%= pb_rails("body", props: {
|
|
14
|
+
status: "negative",
|
|
15
|
+
text: object.error
|
|
16
|
+
}) %>
|
|
17
|
+
<% end %>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<%= javascript_tag do %>
|
|
21
|
+
document.addEventListener("DOMContentLoaded", () => {
|
|
22
|
+
datePickerHelper({
|
|
23
|
+
defaultDate: "<%= object.default_date %>",
|
|
24
|
+
disableDate: <%=raw object.disable_date %>,
|
|
25
|
+
disableRange: <%=raw object.disable_range.to_json %>,
|
|
26
|
+
disableWeekdays: <%=raw object.disable_weekdays %>,
|
|
27
|
+
format: "<%= object.format %>",
|
|
28
|
+
maxDate: "<%= object.max_date %>",
|
|
29
|
+
minDate: "<%= object.min_date %>",
|
|
30
|
+
mode: "<%= object.mode %>",
|
|
31
|
+
pickerId: "<%= object.picker_id %>",
|
|
32
|
+
propModel: "rails"
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
<% end %>
|
|
36
|
+
<% end %>
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/* @flow */
|
|
2
|
+
|
|
3
|
+
import React, { useEffect } from 'react'
|
|
4
|
+
import classnames from 'classnames'
|
|
5
|
+
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
|
6
|
+
import { spacing } from '../utilities/spacing.js'
|
|
7
|
+
import flatpickr from 'flatpickr'
|
|
8
|
+
import { Body, Caption } from '../'
|
|
9
|
+
import datePickerHelper from './date_picker_helper.js'
|
|
10
|
+
|
|
11
|
+
type DatePickerProps = {
|
|
12
|
+
aria?: object,
|
|
13
|
+
className?: String,
|
|
14
|
+
data?: object,
|
|
15
|
+
defaultDate?: String,
|
|
16
|
+
disableDate?: Array,
|
|
17
|
+
disableRange?: Array,
|
|
18
|
+
disableWeekdays?: Array,
|
|
19
|
+
error?: String,
|
|
20
|
+
format?: String,
|
|
21
|
+
id?: String,
|
|
22
|
+
label?: String,
|
|
23
|
+
maxDate: String,
|
|
24
|
+
minDate: String,
|
|
25
|
+
mode?: String,
|
|
26
|
+
pickerId?: String,
|
|
27
|
+
}
|
|
28
|
+
const DatePicker = (props: DatePickerProps) => {
|
|
29
|
+
const {
|
|
30
|
+
aria = {},
|
|
31
|
+
className,
|
|
32
|
+
data = {},
|
|
33
|
+
defaultDate = '',
|
|
34
|
+
disableDate = null,
|
|
35
|
+
disableRange = null,
|
|
36
|
+
disableWeekdays = null,
|
|
37
|
+
error,
|
|
38
|
+
format = 'm/d/Y',
|
|
39
|
+
id,
|
|
40
|
+
label = 'Date Picker',
|
|
41
|
+
maxDate,
|
|
42
|
+
minDate,
|
|
43
|
+
mode = 'single',
|
|
44
|
+
pickerId,
|
|
45
|
+
} = props
|
|
46
|
+
|
|
47
|
+
const ariaProps = buildAriaProps(aria)
|
|
48
|
+
const dataProps = buildDataProps(data)
|
|
49
|
+
const classes = classnames(
|
|
50
|
+
buildCss('pb_date_picker'),
|
|
51
|
+
className,
|
|
52
|
+
spacing(props),
|
|
53
|
+
error ? 'error' : null,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
datePickerHelper({
|
|
58
|
+
defaultDate: defaultDate,
|
|
59
|
+
disableDate: disableDate,
|
|
60
|
+
disableRange: disableRange,
|
|
61
|
+
disableWeekdays: disableWeekdays,
|
|
62
|
+
format: format,
|
|
63
|
+
maxDate: maxDate,
|
|
64
|
+
minDate: minDate,
|
|
65
|
+
mode: mode,
|
|
66
|
+
pickerId: pickerId,
|
|
67
|
+
propModel: 'React',
|
|
68
|
+
})
|
|
69
|
+
}, [])
|
|
70
|
+
|
|
71
|
+
return (
|
|
72
|
+
<div
|
|
73
|
+
{...ariaProps}
|
|
74
|
+
{...dataProps}
|
|
75
|
+
className={classes}
|
|
76
|
+
id={id}
|
|
77
|
+
>
|
|
78
|
+
{className}
|
|
79
|
+
<Caption
|
|
80
|
+
text={label}
|
|
81
|
+
/>
|
|
82
|
+
<div className="input_wrapper">
|
|
83
|
+
<input
|
|
84
|
+
autoComplete="off"
|
|
85
|
+
id={pickerId}
|
|
86
|
+
/>
|
|
87
|
+
<If condition={error}>
|
|
88
|
+
<Body
|
|
89
|
+
status="negative"
|
|
90
|
+
text={error}
|
|
91
|
+
/>
|
|
92
|
+
</If>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export default DatePicker
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
@import "../../../../node_modules/flatpickr/dist/flatpickr.min.css";
|
|
2
|
+
@import "../pb_textarea/textarea_mixin";
|
|
3
|
+
@import "../pb_title/title_mixin";
|
|
4
|
+
@import "../tokens/colors";
|
|
5
|
+
@import "../pb_caption/caption_mixin";
|
|
6
|
+
|
|
7
|
+
[class^=pb_date_picker] {
|
|
8
|
+
// input styles
|
|
9
|
+
[class^=pb_caption_kit] {
|
|
10
|
+
margin-bottom: $space_xs;
|
|
11
|
+
display: block;
|
|
12
|
+
}
|
|
13
|
+
.input_wrapper {
|
|
14
|
+
margin-bottom: $space_sm;
|
|
15
|
+
|
|
16
|
+
.flatpickr-wrapper {
|
|
17
|
+
display: block;
|
|
18
|
+
input::placeholder {
|
|
19
|
+
@include pb_body_light;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
> input:first-child {
|
|
23
|
+
@include pb_textarea_light;
|
|
24
|
+
@include pb_title_4;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
input:focus, input:-webkit-autofill:focus {
|
|
29
|
+
@include pb_textarea_focus;
|
|
30
|
+
-webkit-box-shadow: 0 0 0px 1000px $focus_input_light inset;
|
|
31
|
+
transition: background-color 5000s ease-in-out 0s;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&.error {
|
|
37
|
+
[class^=pb_body_kit] {
|
|
38
|
+
margin-top: $space_xs / 2;
|
|
39
|
+
}
|
|
40
|
+
.flatpickr-wrapper {
|
|
41
|
+
> input:first-child {
|
|
42
|
+
border-color: $error;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// date-picker styles
|
|
49
|
+
|
|
50
|
+
div.flatpickr-weekdays {
|
|
51
|
+
margin-top: 5px;
|
|
52
|
+
}
|
|
53
|
+
span.flatpickr-weekday {
|
|
54
|
+
@include caption;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.pb_popover_body {
|
|
58
|
+
overflow: visible !important;
|
|
59
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Playbook
|
|
4
|
+
module PbDatePicker
|
|
5
|
+
class DatePicker
|
|
6
|
+
include Playbook::Props
|
|
7
|
+
|
|
8
|
+
partial "pb_date_picker/date_picker"
|
|
9
|
+
|
|
10
|
+
prop :default_date, type: Playbook::Props::String,
|
|
11
|
+
default: ""
|
|
12
|
+
prop :disable_date, type: Playbook::Props::Array,
|
|
13
|
+
default: []
|
|
14
|
+
prop :disable_range, type: Playbook::Props::Array,
|
|
15
|
+
default: []
|
|
16
|
+
prop :disable_weekdays, type: Playbook::Props::Array,
|
|
17
|
+
default: []
|
|
18
|
+
prop :error, type: Playbook::Props::String
|
|
19
|
+
prop :format, type: Playbook::Props::String,
|
|
20
|
+
default: "m/d/Y"
|
|
21
|
+
prop :label, type: Playbook::Props::String,
|
|
22
|
+
default: "Date Picker"
|
|
23
|
+
prop :max_date, type: Playbook::Props::String
|
|
24
|
+
prop :min_date, type: Playbook::Props::String
|
|
25
|
+
prop :mode, type: Playbook::Props::String,
|
|
26
|
+
default: "single"
|
|
27
|
+
prop :picker_id, type: Playbook::Props::String
|
|
28
|
+
|
|
29
|
+
def classname
|
|
30
|
+
generate_classname("pb_date_picker")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def error_class
|
|
34
|
+
error ? "error" : ""
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import flatpickr from 'flatpickr'
|
|
2
|
+
|
|
3
|
+
const datePickerHelper = (config) => {
|
|
4
|
+
const {
|
|
5
|
+
defaultDate,
|
|
6
|
+
disableDate,
|
|
7
|
+
disableRange,
|
|
8
|
+
disableWeekdays,
|
|
9
|
+
format,
|
|
10
|
+
maxDate,
|
|
11
|
+
minDate,
|
|
12
|
+
mode,
|
|
13
|
+
pickerId,
|
|
14
|
+
propModel,
|
|
15
|
+
} = config
|
|
16
|
+
|
|
17
|
+
const defaultDateGetter = () => {
|
|
18
|
+
if (defaultDate !== '') {
|
|
19
|
+
if (propModel === 'rails' && defaultDate.includes('[') == true) {
|
|
20
|
+
return JSON.parse(defaultDate.replace(/"/g, '"'))
|
|
21
|
+
} else if (defaultDate === 'blank') {
|
|
22
|
+
return ''
|
|
23
|
+
} else {
|
|
24
|
+
return defaultDate
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (mode === 'single' && defaultDate === '') {
|
|
28
|
+
return new Date()
|
|
29
|
+
} else if (mode === 'range' && defaultDate === '') {
|
|
30
|
+
const today = new Date()
|
|
31
|
+
const tomorrow = new Date(today)
|
|
32
|
+
tomorrow.setDate(tomorrow.getDate() + 1)
|
|
33
|
+
return [today, tomorrow]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const disabledParser = () => {
|
|
37
|
+
if (disableDate && disableDate.length > 0) {
|
|
38
|
+
return disableDate
|
|
39
|
+
} else if (disableRange && disableRange.length > 0) {
|
|
40
|
+
return disableRange
|
|
41
|
+
} else {
|
|
42
|
+
return []
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
flatpickr(`#${pickerId}`, {
|
|
47
|
+
allowInput: true,
|
|
48
|
+
dateFormat: format,
|
|
49
|
+
defaultDate: defaultDateGetter(),
|
|
50
|
+
disable: disableWeekdays && disableWeekdays.length > 0 ? [
|
|
51
|
+
(date) => {
|
|
52
|
+
const weekdayObj = {
|
|
53
|
+
Sunday: 0,
|
|
54
|
+
Monday: 1,
|
|
55
|
+
Tuesday: 2,
|
|
56
|
+
Wednesday: 3,
|
|
57
|
+
Thursday: 4,
|
|
58
|
+
Friday: 5,
|
|
59
|
+
Saturday: 6,
|
|
60
|
+
}
|
|
61
|
+
return (
|
|
62
|
+
// try to refactor with for loop
|
|
63
|
+
date.getDay() === weekdayObj[disableWeekdays[0]] ||
|
|
64
|
+
date.getDay() === weekdayObj[disableWeekdays[1]] ||
|
|
65
|
+
date.getDay() === weekdayObj[disableWeekdays[2]] ||
|
|
66
|
+
date.getDay() === weekdayObj[disableWeekdays[3]] ||
|
|
67
|
+
date.getDay() === weekdayObj[disableWeekdays[4]] ||
|
|
68
|
+
date.getDay() === weekdayObj[disableWeekdays[5]] ||
|
|
69
|
+
date.getDay() === weekdayObj[disableWeekdays[6]]
|
|
70
|
+
)
|
|
71
|
+
},
|
|
72
|
+
] : disabledParser(),
|
|
73
|
+
maxDate: maxDate,
|
|
74
|
+
minDate: minDate,
|
|
75
|
+
mode: mode,
|
|
76
|
+
static: true,
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
document.querySelector(`#${pickerId}`).addEventListener('input', (e) => {
|
|
80
|
+
const picker = document.querySelector(`#${pickerId}`)._flatpickr
|
|
81
|
+
picker.input.setAttribute('value', e.target.value)
|
|
82
|
+
const variant = picker.config.mode
|
|
83
|
+
if (variant === 'single' && e.target.value.split('').length === 10) {
|
|
84
|
+
picker.setDate(e.target.value)
|
|
85
|
+
} else if (variant === 'range' && e.target.value.split('').length === 24) {
|
|
86
|
+
picker.setDate(e.target.value)
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export default datePickerHelper
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= pb_rails("date_picker", props: { picker_id: "date-picker-default" }) %>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<%= pb_rails("date_picker", props: {
|
|
2
|
+
default_date: "07/31/2020",
|
|
3
|
+
label: "Default Date String",
|
|
4
|
+
picker_id: "date-picker-default-date1"
|
|
5
|
+
}) %>
|
|
6
|
+
|
|
7
|
+
<%= pb_rails("date_picker", props: {
|
|
8
|
+
default_date: (Date.today + 2).httpdate,
|
|
9
|
+
label: "Default Date Dynamic",
|
|
10
|
+
picker_id: "date-picker-default-date2"
|
|
11
|
+
}) %>
|
|
12
|
+
|
|
13
|
+
<%= pb_rails("date_picker", props: {
|
|
14
|
+
default_date: [(Date.today).httpdate, (Date.today + 7).httpdate],
|
|
15
|
+
label: "Default Date Range",
|
|
16
|
+
mode: "range",
|
|
17
|
+
picker_id: "date-picker-default-date3"
|
|
18
|
+
}) %>
|
|
19
|
+
|
|
20
|
+
<%= pb_rails("date_picker", props: {
|
|
21
|
+
default_date: "blank",
|
|
22
|
+
label: "Blank",
|
|
23
|
+
picker_id: "date-picker-default-date4"
|
|
24
|
+
}) %>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { DatePicker } from '../../'
|
|
3
|
+
|
|
4
|
+
const DatePickerDefaultDate = () => (
|
|
5
|
+
<div>
|
|
6
|
+
<DatePicker
|
|
7
|
+
defaultDate="07/31/2020"
|
|
8
|
+
label="Default Date String"
|
|
9
|
+
pickerId="date-picker-default-date1"
|
|
10
|
+
/>
|
|
11
|
+
<DatePicker
|
|
12
|
+
defaultDate={new Date().fp_incr(1)}
|
|
13
|
+
label="Default Date Dynamic"
|
|
14
|
+
pickerId="date-picker-default-date2"
|
|
15
|
+
/>
|
|
16
|
+
<DatePicker
|
|
17
|
+
defaultDate={[new Date().fp_incr(1), new Date().fp_incr(3)]}
|
|
18
|
+
label="Default Date Range"
|
|
19
|
+
mode="range"
|
|
20
|
+
pickerId="date-picker-default-date3"
|
|
21
|
+
/>
|
|
22
|
+
<DatePicker
|
|
23
|
+
defaultDate="blank"
|
|
24
|
+
label="Blank"
|
|
25
|
+
pickerId="date-picker-default-date4"
|
|
26
|
+
/>
|
|
27
|
+
</div>
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
export default DatePickerDefaultDate
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<%= pb_rails("date_picker", props: {
|
|
2
|
+
disable_date: [(Date.today + 1).httpdate],
|
|
3
|
+
label: "Disable Single Date",
|
|
4
|
+
picker_id: "single-disabled-date"
|
|
5
|
+
}) %>
|
|
6
|
+
|
|
7
|
+
<%= pb_rails("date_picker", props: {
|
|
8
|
+
disable_date: [(Date.today + 1).httpdate, (Date.today + 3).httpdate],
|
|
9
|
+
label: "Disable Multiple Dates",
|
|
10
|
+
picker_id: "multiple-disabled-dates"
|
|
11
|
+
}) %>
|
|
12
|
+
|
|
13
|
+
<%= pb_rails("date_picker", props: {
|
|
14
|
+
disable_range: [
|
|
15
|
+
{
|
|
16
|
+
from: (Date.today + 1).httpdate,
|
|
17
|
+
to: (Date.today + 7).httpdate,
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
label: "Disable Single Range",
|
|
21
|
+
picker_id: "single-date-range"
|
|
22
|
+
}) %>
|
|
23
|
+
|
|
24
|
+
<%= pb_rails("date_picker", props: {
|
|
25
|
+
disable_range: [
|
|
26
|
+
{
|
|
27
|
+
from: (Date.today + 1).httpdate,
|
|
28
|
+
to: (Date.today + 3).httpdate,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
from: (Date.today + 7).httpdate,
|
|
32
|
+
to: (Date.today + 14).httpdate,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
label: "Disable Multiple Ranges",
|
|
36
|
+
picker_id: "multiple-date-ranges"
|
|
37
|
+
}) %>
|
|
38
|
+
|
|
39
|
+
<%= pb_rails("date_picker", props: {
|
|
40
|
+
disable_weekdays: ['Sunday', 'Saturday'],
|
|
41
|
+
label: "Disable Weekdays",
|
|
42
|
+
picker_id: "disabled-weekdays"
|
|
43
|
+
}) %>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { DatePicker } from '../../'
|
|
3
|
+
|
|
4
|
+
const DatePickerDisabled = () => (
|
|
5
|
+
<div>
|
|
6
|
+
<DatePicker
|
|
7
|
+
disableDate={[new Date().fp_incr(1)]}
|
|
8
|
+
label="Disable Single Date"
|
|
9
|
+
pickerId="single-disabled-date"
|
|
10
|
+
/>
|
|
11
|
+
<DatePicker
|
|
12
|
+
disableDate={[new Date().fp_incr(1), new Date().fp_incr(3)]}
|
|
13
|
+
label="Disable Multiple Dates"
|
|
14
|
+
pickerId="multiple-disabled-dates"
|
|
15
|
+
/>
|
|
16
|
+
<DatePicker
|
|
17
|
+
disableRange={[
|
|
18
|
+
{
|
|
19
|
+
from: new Date().fp_incr(1),
|
|
20
|
+
to: new Date().fp_incr(7),
|
|
21
|
+
},
|
|
22
|
+
]}
|
|
23
|
+
label="Disable Single Range"
|
|
24
|
+
pickerId="single-date-range"
|
|
25
|
+
/>
|
|
26
|
+
<DatePicker
|
|
27
|
+
disableRange={[
|
|
28
|
+
{
|
|
29
|
+
from: new Date().fp_incr(1),
|
|
30
|
+
to: new Date().fp_incr(3),
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
from: new Date().fp_incr(7),
|
|
34
|
+
to: new Date().fp_incr(14),
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
label="Disable Multiple Ranges"
|
|
38
|
+
pickerId="multiple-date-ranges"
|
|
39
|
+
/>
|
|
40
|
+
<DatePicker
|
|
41
|
+
disableWeekdays={['Sunday', 'Saturday']}
|
|
42
|
+
label="Disable Weekdays"
|
|
43
|
+
pickerId="disabled-weekdays"
|
|
44
|
+
/>
|
|
45
|
+
</div>
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
export default DatePickerDisabled
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { DatePicker } from '../../'
|
|
3
|
+
|
|
4
|
+
const DatePickerError = () => (
|
|
5
|
+
<div>
|
|
6
|
+
<DatePicker
|
|
7
|
+
error="Invalid date. Please pick a valid date."
|
|
8
|
+
pickerId="date-picker-error"
|
|
9
|
+
/>
|
|
10
|
+
</div>
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
export default DatePickerError
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<%= pb_rails("date_picker", props: {
|
|
2
|
+
format: "m-d-Y",
|
|
3
|
+
picker_id: "date-picker-format1"
|
|
4
|
+
}) %>
|
|
5
|
+
|
|
6
|
+
<%= pb_rails("date_picker", props: {
|
|
7
|
+
format: "m/d/y",
|
|
8
|
+
picker_id: "date-picker-format2"
|
|
9
|
+
}) %>
|
|
10
|
+
|
|
11
|
+
<%= pb_rails("date_picker", props: {
|
|
12
|
+
format: "n-j-y",
|
|
13
|
+
picker_id: "date-picker-format3"
|
|
14
|
+
}) %>
|
|
15
|
+
|
|
16
|
+
<%= pb_rails("date_picker", props: {
|
|
17
|
+
format: "Y-d-m",
|
|
18
|
+
picker_id: "date-picker-format4"
|
|
19
|
+
}) %>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { DatePicker } from '../../'
|
|
3
|
+
|
|
4
|
+
const DatePickerFormat = () => (
|
|
5
|
+
<div>
|
|
6
|
+
<DatePicker
|
|
7
|
+
format="m-d-Y"
|
|
8
|
+
pickerId="date-picker-format1"
|
|
9
|
+
/>
|
|
10
|
+
<DatePicker
|
|
11
|
+
format="m/d/y"
|
|
12
|
+
pickerId="date-picker-format2"
|
|
13
|
+
/>
|
|
14
|
+
<DatePicker
|
|
15
|
+
format="n-j-y"
|
|
16
|
+
pickerId="date-picker-format3"
|
|
17
|
+
/>
|
|
18
|
+
<DatePicker
|
|
19
|
+
format="Y-d-m"
|
|
20
|
+
pickerId="date-picker-format4"
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
export default DatePickerFormat
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%= pb_rails("date_picker", props: {
|
|
2
|
+
label: "Dynamic dates.",
|
|
3
|
+
max_date: (Date.today + 3).httpdate,
|
|
4
|
+
min_date: (Date.today - 3).httpdate,
|
|
5
|
+
picker_id: "date-picker-min-max1"
|
|
6
|
+
}) %>
|
|
7
|
+
|
|
8
|
+
<%= pb_rails("date_picker", props: {
|
|
9
|
+
format: "m/d/Y",
|
|
10
|
+
label: "Absolute formatted dates.",
|
|
11
|
+
max_date: "10/20/2020",
|
|
12
|
+
min_date: "10/10/2020",
|
|
13
|
+
picker_id: "date-picker-min-max2"
|
|
14
|
+
}) %>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { DatePicker } from '../../'
|
|
3
|
+
|
|
4
|
+
const DatePickerMinMax = () => (
|
|
5
|
+
<div>
|
|
6
|
+
<DatePicker
|
|
7
|
+
label="Dynamic dates using flatpickr increment function."
|
|
8
|
+
maxDate={new Date().fp_incr(3)}
|
|
9
|
+
minDate={new Date().fp_incr(-3)}
|
|
10
|
+
pickerId="date-picker-min-max1"
|
|
11
|
+
/>
|
|
12
|
+
<DatePicker
|
|
13
|
+
format="m/d/Y"
|
|
14
|
+
label="Absolute formatted dates."
|
|
15
|
+
maxDate="10/20/2020"
|
|
16
|
+
minDate="10/10/2020"
|
|
17
|
+
pickerId="date-picker-min-max2"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
export default DatePickerMinMax
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
examples:
|
|
2
|
+
|
|
3
|
+
rails:
|
|
4
|
+
- date_picker_default: Default
|
|
5
|
+
- date_picker_default_date: Default Date
|
|
6
|
+
- date_picker_label: Label
|
|
7
|
+
- date_picker_range: Range
|
|
8
|
+
- date_picker_format: Format
|
|
9
|
+
- date_picker_disabled: Disabled Dates
|
|
10
|
+
- date_picker_min_max: Min Max
|
|
11
|
+
- date_picker_error: Error
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
react:
|
|
15
|
+
- date_picker_default: Default
|
|
16
|
+
- date_picker_default_date: Default Date
|
|
17
|
+
- date_picker_label: Label
|
|
18
|
+
- date_picker_range: Range
|
|
19
|
+
- date_picker_format: Format
|
|
20
|
+
- date_picker_disabled: Disabled Dates
|
|
21
|
+
- date_picker_min_max: Min Max
|
|
22
|
+
- date_picker_error: Error
|
|
23
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as DatePickerDefault } from './_date_picker_default.jsx'
|
|
2
|
+
export { default as DatePickerDefaultDate } from './_date_picker_default_date.jsx'
|
|
3
|
+
export { default as DatePickerLabel } from './_date_picker_label.jsx'
|
|
4
|
+
export { default as DatePickerRange } from './_date_picker_range.jsx'
|
|
5
|
+
export { default as DatePickerFormat } from './_date_picker_format.jsx'
|
|
6
|
+
export { default as DatePickerDisabled } from './_date_picker_disabled.jsx'
|
|
7
|
+
export { default as DatePickerMinMax } from './_date_picker_min_max.jsx'
|
|
8
|
+
export { default as DatePickerError } from './_date_picker_error.jsx'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import PbEnhancedElement from '../pb_enhanced_element'
|
|
2
|
+
|
|
3
|
+
export default class PbDatePicker extends PbEnhancedElement {
|
|
4
|
+
static get selector() {
|
|
5
|
+
return '[data-pb-date-picker-kit]'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
connect() {
|
|
9
|
+
this.element.addEventListener('keydown', (event) => this.handleKeydown(event))
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
<%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
|
|
31
31
|
<%= form.text_field :example_text_field, props: { label: true } %>
|
|
32
32
|
<%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
|
|
33
|
+
<%= form.date_picker :example_date_picker %>
|
|
33
34
|
|
|
34
35
|
<%= form.actions do |action| %>
|
|
35
36
|
<%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
<%= form.text_area :example_text_area, props: { label: true } %>
|
|
25
25
|
<%= form.select :example_select, [ ["Yes", 1], ["No", 2] ], props: { label: true } %>
|
|
26
26
|
<%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
|
|
27
|
+
<%= form.date_picker :example_date_picker, props: { picker_id: 'date-picker', default_date: 'blank' } %>
|
|
27
28
|
|
|
28
29
|
<%= form.actions do |action| %>
|
|
29
30
|
<%= action.submit %>
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
:example_url_field,
|
|
14
14
|
:example_text_area,
|
|
15
15
|
:example_select_field,
|
|
16
|
-
:example_collection_select_field
|
|
16
|
+
:example_collection_select_field,
|
|
17
|
+
:example_date_picker
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
def self.model_name
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
<%= form.input :example_text_area, as: :text %>
|
|
50
51
|
<%= form.select :example_select_field, [["Yes", 1], ["No", 2]], props: { label: true } %>
|
|
51
52
|
<%= form.collection_select :example_collection_select_field, example_collection, :value, :name, props: { label: true } %>
|
|
53
|
+
<%= form.date_picker :example_date_picker, props: { picker_id: 'date-picker', default_date: 'blank' } %>
|
|
52
54
|
|
|
53
55
|
<%= form.actions do |action| %>
|
|
54
56
|
<%= action.submit %>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Playbook
|
|
4
|
+
module PbForm
|
|
5
|
+
module FormBuilder
|
|
6
|
+
module DatePickerField
|
|
7
|
+
def date_picker(name, props: {})
|
|
8
|
+
props[:name] = name
|
|
9
|
+
|
|
10
|
+
@template.pb_rails("date_picker", props: props)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
class: object.classname) do %>
|
|
5
5
|
<div class="pb_time_range_inline_wrapper">
|
|
6
6
|
<% if object.icon == true %>
|
|
7
|
-
<%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, text: pb_rails("icon", props: { icon: "clock", dark: object.dark, classname:"pb_time_range_inline_icon", fixed_width: true, size: object.size }) }) %>
|
|
7
|
+
<%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, color: object.icon_color, text: pb_rails("icon", props: { icon: "clock", dark: object.dark, classname:"pb_time_range_inline_icon", fixed_width: true, size: object.size }) }) %>
|
|
8
8
|
<% end %>
|
|
9
9
|
<%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, text: object.format_start_time_string }) %>
|
|
10
|
-
<%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, classname:"
|
|
10
|
+
<%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, color: object.icon_color, classname:"pb_time_range_inline_arrow", text: pb_rails("icon", props: { icon: "long-arrow-right", fixed_width: true, classname:"pb_time_range_inline_arrow"}) }) %>
|
|
11
11
|
<%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, text: object.format_end_time_string }) %>
|
|
12
12
|
<% if object.timezone == true %>
|
|
13
13
|
<%= pb_rails(object.text_kit, props: { tag: "span", color: object.text_timezone_color, classname:"pb_time_range_inline_timezone", text: object.pb_date_end_time.to_timezone.upcase }) %>
|
|
@@ -45,19 +45,33 @@ const TimeRangeInline = (props: TimeRangeInlineProps) => {
|
|
|
45
45
|
startTime,
|
|
46
46
|
endTime,
|
|
47
47
|
} = props
|
|
48
|
-
const separator =
|
|
48
|
+
const separator = (
|
|
49
|
+
<Body color="light">
|
|
50
|
+
<Icon
|
|
51
|
+
className="pb_time_range_inline_arrow"
|
|
52
|
+
dark={dark}
|
|
53
|
+
fixedWidth
|
|
54
|
+
icon="long-arrow-right"
|
|
55
|
+
/>
|
|
56
|
+
</Body>
|
|
57
|
+
)
|
|
49
58
|
|
|
50
59
|
const iconContent = () => {
|
|
51
60
|
return (
|
|
52
61
|
<If condition={icon}>
|
|
53
|
-
<
|
|
54
|
-
|
|
55
|
-
dark={dark}
|
|
56
|
-
fixedWidth
|
|
57
|
-
icon="clock"
|
|
58
|
-
size={size}
|
|
62
|
+
<Body
|
|
63
|
+
color="light"
|
|
59
64
|
tag="span"
|
|
60
|
-
|
|
65
|
+
>
|
|
66
|
+
<Icon
|
|
67
|
+
className="pb_time_range_inline_icon"
|
|
68
|
+
dark={dark}
|
|
69
|
+
fixedWidth
|
|
70
|
+
icon="clock"
|
|
71
|
+
size={size}
|
|
72
|
+
tag="span"
|
|
73
|
+
/>
|
|
74
|
+
</Body>
|
|
61
75
|
</If>
|
|
62
76
|
)
|
|
63
77
|
}
|
|
@@ -80,7 +94,7 @@ const TimeRangeInline = (props: TimeRangeInlineProps) => {
|
|
|
80
94
|
</time>
|
|
81
95
|
</Caption>
|
|
82
96
|
<Caption
|
|
83
|
-
className="
|
|
97
|
+
className="pb_time_range_inline_arrow"
|
|
84
98
|
dark={dark}
|
|
85
99
|
tag="span"
|
|
86
100
|
>
|
|
@@ -119,7 +133,7 @@ const TimeRangeInline = (props: TimeRangeInlineProps) => {
|
|
|
119
133
|
</time>
|
|
120
134
|
</Body>
|
|
121
135
|
<Body
|
|
122
|
-
className="
|
|
136
|
+
className="pb_time_range_inline_arrow"
|
|
123
137
|
dark={dark}
|
|
124
138
|
tag="span"
|
|
125
139
|
>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
[class^=pb_time_range_inline_kit] {
|
|
2
3
|
&[class*=_center] {
|
|
3
4
|
& > [class^=pb_caption],
|
|
@@ -19,7 +20,8 @@
|
|
|
19
20
|
}
|
|
20
21
|
[class^=pb_time_range_inline_wrapper] {
|
|
21
22
|
display: flex;
|
|
22
|
-
|
|
23
|
+
align-items: center;
|
|
24
|
+
[class*=pb_time_range_inline_arrow] {
|
|
23
25
|
margin-left: 4px;
|
|
24
26
|
margin-right: 4px;
|
|
25
27
|
}
|
|
@@ -5,6 +5,10 @@ window.pbChart = pbChart
|
|
|
5
5
|
// Forms
|
|
6
6
|
import './pb_form/pb_form_validation'
|
|
7
7
|
|
|
8
|
+
// Date Picker
|
|
9
|
+
import datePickerHelper from './pb_date_picker/date_picker_helper.js'
|
|
10
|
+
window.datePickerHelper = datePickerHelper
|
|
11
|
+
|
|
8
12
|
// Lazy image loading
|
|
9
13
|
import 'lazysizes'
|
|
10
14
|
|
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: playbook_ui
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.5.
|
|
4
|
+
version: 5.5.1.pre.alpha1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Power UX
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2020-07-
|
|
12
|
+
date: 2020-07-30 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: actionpack
|
|
@@ -662,6 +662,30 @@ files:
|
|
|
662
662
|
- app/pb_kits/playbook/pb_date/docs/_description.md
|
|
663
663
|
- app/pb_kits/playbook/pb_date/docs/example.yml
|
|
664
664
|
- app/pb_kits/playbook/pb_date/docs/index.js
|
|
665
|
+
- app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb
|
|
666
|
+
- app/pb_kits/playbook/pb_date_picker/_date_picker.jsx
|
|
667
|
+
- app/pb_kits/playbook/pb_date_picker/_date_picker.scss
|
|
668
|
+
- app/pb_kits/playbook/pb_date_picker/date_picker.rb
|
|
669
|
+
- app/pb_kits/playbook/pb_date_picker/date_picker_helper.js
|
|
670
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb
|
|
671
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx
|
|
672
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb
|
|
673
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx
|
|
674
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb
|
|
675
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx
|
|
676
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb
|
|
677
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx
|
|
678
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb
|
|
679
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx
|
|
680
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb
|
|
681
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx
|
|
682
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb
|
|
683
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx
|
|
684
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb
|
|
685
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx
|
|
686
|
+
- app/pb_kits/playbook/pb_date_picker/docs/example.yml
|
|
687
|
+
- app/pb_kits/playbook/pb_date_picker/docs/index.js
|
|
688
|
+
- app/pb_kits/playbook/pb_date_picker/index.js
|
|
665
689
|
- app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.html.erb
|
|
666
690
|
- app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx
|
|
667
691
|
- app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss
|
|
@@ -827,6 +851,7 @@ files:
|
|
|
827
851
|
- app/pb_kits/playbook/pb_form/form_builder.rb
|
|
828
852
|
- app/pb_kits/playbook/pb_form/form_builder/action_area.rb
|
|
829
853
|
- app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb
|
|
854
|
+
- app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb
|
|
830
855
|
- app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
|
|
831
856
|
- app/pb_kits/playbook/pb_form/form_builder/form_with_form_builder.rb
|
|
832
857
|
- app/pb_kits/playbook/pb_form/form_builder/select_field.rb
|
|
@@ -1816,9 +1841,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1816
1841
|
version: '0'
|
|
1817
1842
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1818
1843
|
requirements:
|
|
1819
|
-
- - "
|
|
1844
|
+
- - ">"
|
|
1820
1845
|
- !ruby/object:Gem::Version
|
|
1821
|
-
version:
|
|
1846
|
+
version: 1.3.1
|
|
1822
1847
|
requirements: []
|
|
1823
1848
|
rubyforge_project:
|
|
1824
1849
|
rubygems_version: 2.7.3
|