playbook_ui_docs 16.7.0 → 16.8.0.pre.alpha.PLAY2935formbuilderrequiredindicatorbug16780

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.jsx +1 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md +6 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width.jsx +57 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width.md +66 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_enable_toggle_expansion_rails.html.erb +62 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_enable_toggle_expansion_rails.md +7 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.jsx +12 -4
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.md +4 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.html.erb +16 -2
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.md +4 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_scroll_limitation.jsx +68 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_scroll_limitation.md +7 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.html.erb +16 -2
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.jsx +12 -5
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +4 -0
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +5 -3
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +180 -5839
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.overrides.json +5 -30
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_styling.json +4 -1
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -0
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -0
  23. data/app/pb_kits/playbook/pb_date/docs/_playground.json +13 -17
  24. data/app/pb_kits/playbook/pb_date/docs/_playground.overrides.json +13 -16
  25. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dialog_submission.jsx +2 -2
  26. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.html.erb +0 -2
  27. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.jsx +0 -2
  28. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +136 -42
  29. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.overrides.json +113 -45
  30. data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +48 -6
  31. data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.overrides.json +57 -0
  32. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.json +28 -5
  33. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.overrides.json +38 -0
  34. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.json +1 -1
  35. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.overrides.json +1 -1
  36. data/app/pb_kits/playbook/pb_date_time/docs/_playground.json +16 -3
  37. data/app/pb_kits/playbook/pb_date_time/docs/_playground.overrides.json +16 -3
  38. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +11 -15
  39. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.overrides.json +11 -15
  40. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.json +4 -4
  41. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.overrides.json +4 -4
  42. data/app/pb_kits/playbook/pb_detail/docs/_playground.json +12 -18
  43. data/app/pb_kits/playbook/pb_detail/docs/_playground.overrides.json +13 -12
  44. data/app/pb_kits/playbook/pb_dialog/docs/_playground.json +108 -42
  45. data/app/pb_kits/playbook/pb_dialog/docs/_playground.overrides.json +88 -40
  46. data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.json +65 -7
  47. data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.overrides.json +45 -0
  48. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.md +2 -0
  49. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_react.md +1 -0
  50. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_rails.md +2 -0
  51. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_react.md +3 -1
  52. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_rails.md +3 -1
  53. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_react.md +3 -1
  54. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.json +318 -21
  55. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.overrides.json +192 -19
  56. data/app/pb_kits/playbook/pb_empty_state/docs/_playground.json +77 -12
  57. data/app/pb_kits/playbook/pb_empty_state/docs/_playground.overrides.json +79 -0
  58. data/app/pb_kits/playbook/pb_file_upload/docs/_playground.json +98 -13
  59. data/app/pb_kits/playbook/pb_file_upload/docs/_playground.overrides.json +99 -0
  60. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +20 -19
  61. data/app/pb_kits/playbook/pb_icon/docs/example.yml +0 -2
  62. data/app/pb_kits/playbook/pb_icon/docs/index.js +0 -1
  63. data/app/pb_kits/playbook/pb_link/docs/_playground.json +81 -40
  64. data/app/pb_kits/playbook/pb_link/docs/_playground.overrides.json +88 -30
  65. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_centered_data.html.erb +90 -0
  66. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_centered_data.jsx +100 -0
  67. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_centered_data.md +1 -0
  68. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx +1 -1
  69. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/example.yml +2 -0
  70. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/index.js +2 -1
  71. data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +4 -2
  72. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.html.erb +1 -0
  73. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.md +12 -0
  74. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.html.erb +9 -0
  75. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.md +8 -0
  76. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
  77. data/app/pb_kits/playbook/pb_table/docs/_table_sticky.html.erb +85 -83
  78. data/app/pb_kits/playbook/pb_table/docs/_table_sticky.jsx +88 -86
  79. data/app/pb_kits/playbook/pb_table/docs/_table_sticky.md +3 -1
  80. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_external_filter_rails.md +1 -1
  81. data/app/pb_kits/playbook/pb_title/docs/_playground.json +72 -23
  82. data/app/pb_kits/playbook/pb_title/docs/_playground.overrides.json +80 -16
  83. metadata +21 -6
  84. data/app/pb_kits/playbook/pb_icon/docs/_icon_fa_kit.html.erb +0 -1
  85. data/app/pb_kits/playbook/pb_icon/docs/_icon_fa_kit.jsx +0 -21
  86. data/app/pb_kits/playbook/pb_icon/docs/_icon_fa_kit.md +0 -7
@@ -34,11 +34,6 @@
34
34
  "columnDefinitionsFile": "advanced_table_column_definitions_standard.json",
35
35
  "tableDataFile": "advanced_table_mock_data_no_subrows.json"
36
36
  },
37
- "pagination": {
38
- "label": "Pagination Example",
39
- "columnDefinitionsFile": "advanced_table_column_definitions_standard.json",
40
- "tableDataFile": "advanced_table_pagination_mock_data.json"
41
- },
42
37
  "with_ids": {
43
38
  "label": "Data with row IDs",
44
39
  "columnDefinitionsFile": "advanced_table_column_definitions_standard.json",
@@ -80,15 +75,15 @@
80
75
  "sortControl",
81
76
  "fullScreenControl",
82
77
  "expandedControl",
83
- "allowFullScreen"
78
+ "allowFullScreen",
79
+ "pagination",
80
+ "paginationProps"
84
81
  ],
85
82
  "requiredProps": {
86
83
  "columnDefinitionsFile": "advanced_table_column_definitions_standard.json",
87
84
  "tableDataFile": "advanced_table_mock_data.json"
88
85
  },
89
86
  "propSyncOnEnable": {
90
- "pagination": { "dataPreset": "pagination" },
91
- "paginationProps": { "dataPreset": "pagination" },
92
87
  "inlineRowLoading": { "dataPreset": "inline_loading" },
93
88
  "selectableRows": { "dataPreset": "with_ids" },
94
89
  "onRowSelectionChange": { "dataPreset": "with_ids" },
@@ -144,10 +139,8 @@
144
139
  ]
145
140
  },
146
141
  {
147
- "name": "Pagination & Loading",
142
+ "name": "Loading",
148
143
  "props": [
149
- "pagination",
150
- "paginationProps",
151
144
  "loading",
152
145
  "inlineRowLoading",
153
146
  "initialLoadingRowsCount"
@@ -215,12 +208,6 @@
215
208
  "enableSorting": true
216
209
  }
217
210
  },
218
- {
219
- "name": "With Pagination",
220
- "props": {
221
- "pagination": true
222
- }
223
- },
224
211
  {
225
212
  "name": "Selectable Rows",
226
213
  "props": {
@@ -260,11 +247,6 @@
260
247
  }
261
248
  ],
262
249
  "conditionals": {
263
- "paginationProps": {
264
- "requires": {
265
- "pagination": true
266
- }
267
- },
268
250
  "initialLoadingRowsCount": {
269
251
  "requires": {
270
252
  "loading": true
@@ -350,13 +332,6 @@
350
332
  "message": "Header sorting UI is only applied in \"Subcomponent Structure\" mode (explicit Header and Body). For sorting by column, pass columnDefinitions with enableSort: true to the columnDefinitions array. Click 'sorting by column' to see an example.",
351
333
  "type": "info"
352
334
  },
353
- "pagination_info": {
354
- "when": {
355
- "pagination": true
356
- },
357
- "message": "Use paginationProps to customize page size and appearance.",
358
- "type": "info"
359
- },
360
335
  "selectable_info": {
361
336
  "when": {
362
337
  "selectableRows": true
@@ -396,7 +371,7 @@
396
371
  },
397
372
  "column_styling_info": {
398
373
  "presetName": "Column Styling",
399
- "message": "This sample uses columnStyling on column definitions. You can style headers and cells for the whole table or per column.",
374
+ "message": "This sample uses columnStyling on column definitions. Year uses width for a fixed hierarchy column; other columns show background colors. See the Column Styling Width doc for minWidth and min/pref/max bands.",
400
375
  "type": "info"
401
376
  }
402
377
  }
@@ -2,7 +2,10 @@
2
2
  {
3
3
  "accessor": "year",
4
4
  "label": "Year",
5
- "cellAccessors": ["quarter", "month", "day"]
5
+ "cellAccessors": ["quarter", "month", "day"],
6
+ "columnStyling": {
7
+ "width": 124
8
+ }
6
9
  },
7
10
  {
8
11
  "accessor": "newEnrollments",
@@ -3,6 +3,7 @@ examples:
3
3
  - advanced_table_beta: Default (Required Props)
4
4
  - advanced_table_loading: Loading State
5
5
  - advanced_table_beta_subrow_headers: SubRow Headers
6
+ - advanced_table_enable_toggle_expansion_rails: Enable Toggle Expansion
6
7
  - advanced_table_collapsible_trail_rails: Collapsible Trail
7
8
  - advanced_table_table_props: Table Props
8
9
  - advanced_table_sticky_header_rails: Sticky Header
@@ -52,6 +53,7 @@ examples:
52
53
  - advanced_table_table_props_sticky_header: Sticky Header for Responsive Table
53
54
  - advanced_table_sticky_columns: Sticky Columns
54
55
  - advanced_table_sticky_columns_and_header: Sticky Columns with Sticky Header
56
+ - advanced_table_sticky_scroll_limitation: Sticky Header and Column Scroll Limitation
55
57
  - advanced_table_responsive: Responsive Tables
56
58
  - advanced_table_custom_cell: Custom Components for Cells
57
59
  - advanced_table_with_custom_header: Custom Header Cell
@@ -80,6 +82,7 @@ examples:
80
82
  - advanced_table_row_styling: Row Styling
81
83
  - advanced_table_padding_control_per_row: Padding Control using Row Styling
82
84
  - advanced_table_column_styling: Column Styling
85
+ - advanced_table_column_styling_width: Column Styling Width
83
86
  - advanced_table_column_styling_column_headers: Column Styling with Multiple Headers
84
87
  - advanced_table_column_styling_background: Column Styling Background Color
85
88
  - advanced_table_column_styling_background_custom: Column Styling Background Color (Custom)
@@ -27,6 +27,7 @@ export { default as AdvancedTableFullscreen } from './_advanced_table_fullscreen
27
27
  export { default as AdvancedTableStickyColumns } from './_advanced_table_sticky_columns.jsx'
28
28
  export { default as AdvancedTableStickyHeader } from './_advanced_table_sticky_header.jsx'
29
29
  export { default as AdvancedTableStickyColumnsAndHeader } from './_advanced_table_sticky_columns_and_header.jsx'
30
+ export { default as AdvancedTableStickyScrollLimitation } from './_advanced_table_sticky_scroll_limitation.jsx'
30
31
  export { default as AdvancedTableExpandByDepth } from './_advanced_table_expand_by_depth.jsx'
31
32
  export { default as AdvancedTableColumnBorderColor} from './_advanced_table_column_border_color.jsx'
32
33
  export { default as AdvancedTableColumnVisibility } from './_advanced_table_column_visibility.jsx'
@@ -37,6 +38,7 @@ export { default as AdvancedTablePinnedRows } from './_advanced_table_pinned_row
37
38
  export { default as AdvancedTableScrollbarNone} from './_advanced_table_scrollbar_none.jsx'
38
39
  export { default as AdvancedTableRowStyling } from './_advanced_table_row_styling.jsx'
39
40
  export { default as AdvancedTableColumnStyling } from './_advanced_table_column_styling.jsx'
41
+ export { default as AdvancedTableColumnStylingWidth } from './_advanced_table_column_styling_width.jsx'
40
42
  export { default as AdvancedTableColumnStylingColumnHeaders } from './_advanced_table_column_styling_column_headers.jsx'
41
43
  export { default as AdvancedTableInfiniteScroll} from './_advanced_table_infinite_scroll.jsx'
42
44
  export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
@@ -1,5 +1,5 @@
1
1
  {
2
- "template": "<Date{{props}} />",
2
+ "template": "<FormattedDate{{props}} />",
3
3
  "propTargets": {},
4
4
  "defaults": {
5
5
  "alignment": "left",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "groups": [
13
13
  {
14
- "name": "Content",
14
+ "name": "Date Config",
15
15
  "props": [
16
16
  "value",
17
17
  "showDayOfWeek",
@@ -32,21 +32,20 @@
32
32
  {
33
33
  "name": "Default",
34
34
  "props": {
35
- "value": "2026-04-09T15:30:00.000Z"
35
+ "value": "2026-04-09"
36
36
  }
37
37
  },
38
38
  {
39
- "name": "Large & centered",
39
+ "name": "centered",
40
40
  "props": {
41
- "value": "2026-04-09T15:30:00.000Z",
42
- "size": "lg",
41
+ "value": "2026-04-09",
43
42
  "alignment": "center"
44
43
  }
45
44
  },
46
45
  {
47
46
  "name": "Small with weekday",
48
47
  "props": {
49
- "value": "2026-06-18T10:00:00.000Z",
48
+ "value": "2026-06-18",
50
49
  "size": "sm",
51
50
  "showDayOfWeek": true
52
51
  }
@@ -54,20 +53,17 @@
54
53
  {
55
54
  "name": "With icon & year",
56
55
  "props": {
57
- "value": "2024-11-02T09:00:00.000Z",
56
+ "value": "2024-11-02",
58
57
  "showIcon": true,
59
58
  "showCurrentYear": true
60
59
  }
61
- },
62
- {
63
- "name": "Unstyled",
64
- "props": {
65
- "value": "2026-04-09T15:30:00.000Z",
66
- "unstyled": true,
67
- "showDayOfWeek": true
68
- }
69
60
  }
70
61
  ],
71
62
  "conditionals": {},
72
- "hints": {}
63
+ "hints": {
64
+ "default": {
65
+ "message": "Use as FormattedDate to avoid naming collisions with global Date object",
66
+ "type": "info"
67
+ }
68
+ }
73
69
  }
@@ -1,7 +1,8 @@
1
1
  {
2
+ "template": "<FormattedDate{{props}} />",
2
3
  "groups": [
3
4
  {
4
- "name": "Content",
5
+ "name": "Date Config",
5
6
  "props": ["value", "showDayOfWeek", "showCurrentYear", "showIcon"]
6
7
  },
7
8
  {
@@ -13,21 +14,20 @@
13
14
  {
14
15
  "name": "Default",
15
16
  "props": {
16
- "value": "2026-04-09T15:30:00.000Z"
17
+ "value": "2026-04-09"
17
18
  }
18
19
  },
19
20
  {
20
- "name": "Large & centered",
21
+ "name": "centered",
21
22
  "props": {
22
- "value": "2026-04-09T15:30:00.000Z",
23
- "size": "lg",
23
+ "value": "2026-04-09",
24
24
  "alignment": "center"
25
25
  }
26
26
  },
27
27
  {
28
28
  "name": "Small with weekday",
29
29
  "props": {
30
- "value": "2026-06-18T10:00:00.000Z",
30
+ "value": "2026-06-18",
31
31
  "size": "sm",
32
32
  "showDayOfWeek": true
33
33
  }
@@ -35,20 +35,17 @@
35
35
  {
36
36
  "name": "With icon & year",
37
37
  "props": {
38
- "value": "2024-11-02T09:00:00.000Z",
38
+ "value": "2024-11-02",
39
39
  "showIcon": true,
40
40
  "showCurrentYear": true
41
41
  }
42
- },
43
- {
44
- "name": "Unstyled",
45
- "props": {
46
- "value": "2026-04-09T15:30:00.000Z",
47
- "unstyled": true,
48
- "showDayOfWeek": true
49
- }
50
42
  }
51
43
  ],
52
44
  "conditionals": {},
53
- "hints": {}
45
+ "hints": {
46
+ "default": {
47
+ "message": "Use as FormattedDate to avoid naming collisions with global Date object",
48
+ "type": "info"
49
+ }
50
+ }
54
51
  }
@@ -36,10 +36,10 @@ const DatePickerDialogSubmission = () => {
36
36
  <Dialog.Body>
37
37
  <DatePicker
38
38
  defaultDate={dateFixed || undefined}
39
- key={`fixed-${pickerInstance}`}
39
+ key={"fixed-" + pickerInstance}
40
40
  label="Date"
41
41
  onChange={(dateStr) => setDateFixed(dateStr || "")}
42
- pickerId={`datePickerFixed-${pickerInstance}`}
42
+ pickerId={"datePickerFixed-" + pickerInstance}
43
43
  staticPosition={false}
44
44
  />
45
45
  </Dialog.Body>
@@ -1,6 +1,4 @@
1
1
  <%= pb_rails("date_picker", props: {
2
- classname: "inline-date-picker",
3
- hide_icon: true,
4
2
  inline: true,
5
3
  picker_id: "date-picker-inline"
6
4
  }) %>
@@ -6,8 +6,6 @@ const DatePickerInline = (props) => {
6
6
  return (
7
7
  <div>
8
8
  <DatePicker
9
- className="inline-date-picker"
10
- hideIcon
11
9
  inLine
12
10
  pickerId="date-picker-inline"
13
11
  {...props}
@@ -1,5 +1,5 @@
1
1
  {
2
- "template": "<DatePicker{{props}} />",
2
+ "template": "<DatePicker {{props}} />",
3
3
  "propTargets": {},
4
4
  "defaults": {
5
5
  "allowInput": false,
@@ -19,11 +19,23 @@
19
19
  "controlsStartId": "",
20
20
  "controlsEndId": "",
21
21
  "syncStartWith": "",
22
- "syncEndWith": ""
22
+ "syncEndWith": "",
23
+ "customQuickPickDates": {
24
+ "override": false,
25
+ "dates": []
26
+ },
27
+ "pickerId": "playground-date-picker",
28
+ "disableDate": [],
29
+ "disableRange": [],
30
+ "disableWeekdays": [],
31
+ "yearRange": [
32
+ 1900,
33
+ 2100
34
+ ]
23
35
  },
24
36
  "groups": [
25
37
  {
26
- "name": "Content",
38
+ "name": "Date Picker Config",
27
39
  "props": [
28
40
  "label",
29
41
  "placeholder",
@@ -36,11 +48,18 @@
36
48
  {
37
49
  "name": "Appearance",
38
50
  "props": [
51
+ "dark",
39
52
  "hideIcon",
40
53
  "hideLabel",
41
- "inLine",
42
- "staticPosition",
43
- "selectionType"
54
+ "inLine"
55
+ ]
56
+ },
57
+ {
58
+ "name": "Quick pick",
59
+ "props": [
60
+ "selectionType",
61
+ "customQuickPickDates",
62
+ "thisRangesEndToday"
44
63
  ]
45
64
  },
46
65
  {
@@ -69,20 +88,12 @@
69
88
  {
70
89
  "name": "Advanced",
71
90
  "props": [
72
- "customQuickPickDates",
73
- "positionElement",
74
- "scrollContainer",
75
91
  "inputValue",
76
92
  "inputOnChange",
77
93
  "inputAria",
78
94
  "inputData",
79
95
  "type",
80
- "timeFormat",
81
- "thisRangesEndToday",
82
- "controlsStartId",
83
- "controlsEndId",
84
- "syncStartWith",
85
- "syncEndWith"
96
+ "timeFormat"
86
97
  ]
87
98
  }
88
99
  ],
@@ -93,20 +104,57 @@
93
104
  "name": "event_date",
94
105
  "pickerId": "playground-date-picker",
95
106
  "label": "Event date",
96
- "placeholder": "Select date",
97
- "defaultDate": "04/09/2026",
98
- "format": "m/d/Y"
107
+ "placeholder": "Select date"
99
108
  }
100
109
  },
101
110
  {
102
- "name": "Inline calendar",
111
+ "name": "Inline",
103
112
  "props": {
104
113
  "name": "inline_date",
105
114
  "pickerId": "playground-date-inline",
106
115
  "label": "Inline",
107
- "defaultDate": "04/09/2026",
108
- "inLine": true,
109
- "staticPosition": true
116
+ "inLine": true
117
+ }
118
+ },
119
+ {
120
+ "name": "Quick pick",
121
+ "props": {
122
+ "name": "quickpick_range",
123
+ "pickerId": "playground-quickpick",
124
+ "label": "Date range",
125
+ "placeholder": "mm/dd/yyyy to mm/dd/yyyy",
126
+ "allowInput": true,
127
+ "selectionType": "quickpick"
128
+ }
129
+ },
130
+ {
131
+ "name": "Quick pick with Custom Dates",
132
+ "props": {
133
+ "name": "quickpick_range",
134
+ "pickerId": "playground-quickpick",
135
+ "label": "Date range",
136
+ "placeholder": "mm/dd/yyyy to mm/dd/yyyy",
137
+ "allowInput": true,
138
+ "selectionType": "quickpick",
139
+ "customQuickPickDates": {
140
+ "override": false,
141
+ "dates": [
142
+ {
143
+ "label": "Last 15 months",
144
+ "value": {
145
+ "timePeriod": "months",
146
+ "amount": 15
147
+ }
148
+ },
149
+ {
150
+ "label": "First week of June 2022",
151
+ "value": [
152
+ "06/01/2022",
153
+ "06/07/2022"
154
+ ]
155
+ }
156
+ ]
157
+ }
110
158
  }
111
159
  },
112
160
  {
@@ -115,7 +163,6 @@
115
163
  "name": "starts_at",
116
164
  "pickerId": "playground-datetime",
117
165
  "label": "Starts at",
118
- "defaultDate": "04/09/2026",
119
166
  "enableTime": true,
120
167
  "format": "m/d/Y H:i"
121
168
  }
@@ -126,8 +173,7 @@
126
173
  "name": "typed_date",
127
174
  "pickerId": "playground-allow-input",
128
175
  "label": "Start date",
129
- "allowInput": true,
130
- "defaultDate": "04/09/2026"
176
+ "allowInput": true
131
177
  }
132
178
  },
133
179
  {
@@ -136,8 +182,25 @@
136
182
  "name": "month_only",
137
183
  "pickerId": "playground-month",
138
184
  "label": "Month",
139
- "selectionType": "month",
140
- "defaultDate": "04/01/2026"
185
+ "selectionType": "month"
186
+ }
187
+ },
188
+ {
189
+ "name": "Week picker",
190
+ "props": {
191
+ "name": "week_only",
192
+ "pickerId": "playground-week",
193
+ "label": "Week",
194
+ "selectionType": "week"
195
+ }
196
+ },
197
+ {
198
+ "name": "Dark",
199
+ "props": {
200
+ "name": "dark_picker",
201
+ "pickerId": "playground-dark",
202
+ "label": "Event date",
203
+ "dark": true
141
204
  }
142
205
  },
143
206
  {
@@ -146,7 +209,6 @@
146
209
  "name": "bounded",
147
210
  "pickerId": "playground-bounded",
148
211
  "label": "Within range",
149
- "defaultDate": "04/09/2026",
150
212
  "minDate": "01/01/2026",
151
213
  "maxDate": "12/31/2026"
152
214
  }
@@ -157,22 +219,54 @@
157
219
  "name": "invalid_date",
158
220
  "pickerId": "playground-error",
159
221
  "label": "Due date",
160
- "error": "Please choose a valid date",
161
- "defaultDate": ""
222
+ "error": "Please choose a valid date"
223
+ }
224
+ }
225
+ ],
226
+ "conditionals": {
227
+ "customQuickPickDates": {
228
+ "requires": {
229
+ "selectionType": "quickpick"
162
230
  }
163
231
  },
164
- {
165
- "name": "Minimal chrome",
166
- "props": {
167
- "name": "compact_date",
168
- "pickerId": "playground-minimal",
169
- "label": "",
170
- "hideLabel": true,
171
- "hideIcon": true,
172
- "defaultDate": "04/09/2026"
232
+ "thisRangesEndToday": {
233
+ "requires": {
234
+ "selectionType": "quickpick"
173
235
  }
174
236
  }
175
- ],
176
- "conditionals": {},
177
- "hints": {}
237
+ },
238
+ "hints": {
239
+ "pickerId": {
240
+ "message": "The pickerId is used to identify the date picker in the DOM. It is required and must be unique.",
241
+ "type": "info"
242
+ },
243
+ "defaultDate": {
244
+ "when": {
245
+ "defaultDate": "04/09/2026"
246
+ },
247
+ "message": "The default date is the date that will be selected when the date picker is first rendered. It is required and must be a valid date.",
248
+ "type": "info"
249
+ },
250
+ "quickPick": {
251
+ "when": {
252
+ "selectionType": "quickpick"
253
+ },
254
+ "message": "Quick pick shows preset ranges (relative periods or explicit date pairs). Use thisRangesEndToday when the plugin should treat ranges as ending today.",
255
+ "type": "info"
256
+ },
257
+ "customQuickPickDates": {
258
+ "presetName": "Quick pick with Custom Dates",
259
+ "message": "Custom quick pick dates are used to override the default quick pick dates. It must be an object with a dates array.",
260
+ "type": "info"
261
+ }
262
+ },
263
+ "hiddenProps": [
264
+ "staticPosition",
265
+ "scrollContainer",
266
+ "controlsStartId",
267
+ "controlsEndId",
268
+ "syncStartWith",
269
+ "syncEndWith",
270
+ "positionElement"
271
+ ]
178
272
  }