playbook_ui_docs 15.7.0.pre.alpha.PLAY2675dropdownquickpickcustomquickpickdates13330 → 15.7.0.pre.alpha.play2607setheightofeditor13370

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 (24) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -2
  3. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -2
  4. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.jsx +71 -0
  5. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.md +1 -0
  6. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_heigh.md +1 -0
  7. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx +71 -0
  8. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
  9. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +3 -1
  10. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.html.erb +7 -0
  11. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.jsx +24 -0
  12. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.md +2 -0
  13. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +2 -0
  14. data/app/pb_kits/playbook/pb_text_input/docs/index.js +1 -0
  15. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.html.erb +5 -0
  16. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.jsx +24 -0
  17. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.md +1 -0
  18. data/app/pb_kits/playbook/pb_textarea/docs/example.yml +2 -0
  19. data/app/pb_kits/playbook/pb_textarea/docs/index.js +1 -0
  20. metadata +12 -6
  21. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom.jsx +0 -56
  22. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom.md +0 -10
  23. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom_rails.html.erb +0 -64
  24. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom_rails.md +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9413b5db7a69e4a0eea6552adc99acb08ecfd88437298aebd4b44d81bc9da222
4
- data.tar.gz: c6d4be0cee23406114597f73c231763e747467c03dacd73157f4a3cbc642fc9b
3
+ metadata.gz: c9e0cc872bb6ce11bc5820a0dc1a3516adcd0dd0eda9bd4ed0e1bf0c0b1d1e11
4
+ data.tar.gz: 398e66530da3b3e15adb21a58a731e0c4b6e9eafc3b8631a9fcd23e1b5d4f0e0
5
5
  SHA512:
6
- metadata.gz: d4479f2205e53d256bd30d5acf0af85c4fc7e57c3f3286acb0a6ae9dce15f0c488f7065adb85e9ffdd3767d8f87621c0921c792b6708371266617c29ea6f565f
7
- data.tar.gz: f1f8da450a0ace228ee00fc0ded896afc2a95da5eb7f336b95fb8b76c5f737e3ff1186be1f9f18b0f5b7733556da1e94ac73c5d5d182233430ca7334e71c46b2
6
+ metadata.gz: 6eb32223f0baf7f673e997fd32545d163e3f44e28a82cc9275c9b140737f7be800ff6ba3379958af43603c406c2d9e2a2b5ec134fc70896799022317d44c690d
7
+ data.tar.gz: 396a761f7d60ced387ba2a3c89f3265860cc3dded8489b96f5b300831d4de559d7046d2bbc76cf6db9cf65800676589824939995175d941fd0ebce7b643bf681
@@ -25,7 +25,6 @@ examples:
25
25
  - dropdown_quickpick_rails: Quick Pick Variant
26
26
  - dropdown_quickpick_range_end_rails: Quick Pick Variant (Range Ends Today)
27
27
  - dropdown_quickpick_default_dates: Quick Pick Variant (Default Dates)
28
- - dropdown_quickpick_custom_rails: Quick Pick Variant (Custom Quick Pick Dates)
29
28
  - dropdown_quickpick_with_date_pickers_rails: Quick Pick with Date Pickers
30
29
  - dropdown_quickpick_with_date_pickers_default_rails: Quick Pick with Date Pickers (Default Value)
31
30
 
@@ -58,7 +57,6 @@ examples:
58
57
  - dropdown_quickpick: Quick Pick Variant
59
58
  - dropdown_quickpick_range_end: Quick Pick Variant (Range Ends Today)
60
59
  - dropdown_quickpick_default_dates: Quick Pick Variant (Default Dates)
61
- - dropdown_quickpick_custom: Quick Pick Variant (Custom Quick Pick Dates)
62
60
  - dropdown_quickpick_with_date_pickers: Quick Pick Variant with Date Pickers
63
61
 
64
62
 
@@ -26,5 +26,4 @@ export {default as DropdownWithCustomActiveStyleOptions} from './_dropdown_with_
26
26
  export { default as DropdownQuickpick } from './_dropdown_quickpick.jsx'
27
27
  export { default as DropdownQuickpickRangeEnd } from './_dropdown_quickpick_range_end.jsx'
28
28
  export { default as DropdownQuickpickDefaultDates } from './_dropdown_quickpick_default_dates.jsx'
29
- export { default as DropdownQuickpickWithDatePickers } from './_dropdown_quickpick_with_date_pickers.jsx'
30
- export { default as DropdownQuickpickCustom } from './_dropdown_quickpick_custom.jsx'
29
+ export { default as DropdownQuickpickWithDatePickers } from './_dropdown_quickpick_with_date_pickers.jsx'
@@ -0,0 +1,71 @@
1
+ import React from 'react'
2
+ import RichTextEditor from '../_rich_text_editor'
3
+ import { useEditor, EditorContent } from "@tiptap/react"
4
+ import StarterKit from "@tiptap/starter-kit"
5
+ import Link from '@tiptap/extension-link'
6
+ import { Caption } from "playbook-ui"
7
+
8
+
9
+ const RichTextEditorAdvancedHeight = (props) => {
10
+
11
+ const editor = useEditor({
12
+ extensions: [
13
+ StarterKit,
14
+ Link
15
+ ],
16
+ content: "Add your text here. You can format your text, add links, quotes, and bullets."
17
+ })
18
+
19
+ const editor2 = useEditor({
20
+ extensions: [
21
+ StarterKit,
22
+ Link
23
+ ],
24
+ content: "Add your text here. You can format your text, add links, quotes, and bullets."
25
+ })
26
+
27
+ const editor3 = useEditor({
28
+ extensions: [
29
+ StarterKit,
30
+ Link
31
+ ],
32
+ content: "Add your text here. You can format your text, add links, quotes, and bullets."
33
+ })
34
+
35
+ return (
36
+ <div>
37
+ <Caption>sm</Caption>
38
+ <RichTextEditor
39
+ advancedEditor={editor}
40
+ inputHeight="sm"
41
+ {...props}
42
+ >
43
+ <EditorContent editor={editor} />
44
+ </RichTextEditor>
45
+
46
+ <br />
47
+
48
+ <Caption>md</Caption>
49
+ <RichTextEditor
50
+ advancedEditor={editor2}
51
+ inputHeight="md"
52
+ {...props}
53
+ >
54
+ <EditorContent editor={editor2} />
55
+ </RichTextEditor>
56
+
57
+ <br />
58
+
59
+ <Caption>lg</Caption>
60
+ <RichTextEditor
61
+ advancedEditor={editor3}
62
+ inputHeight="lg"
63
+ {...props}
64
+ >
65
+ <EditorContent editor={editor3} />
66
+ </RichTextEditor>
67
+ </div>
68
+ )
69
+ }
70
+
71
+ export default RichTextEditorAdvancedHeight
@@ -0,0 +1 @@
1
+ Use the `inputHeight` prop to keep the text area a specific height. If the text exceeds the text area, it will automatically add a scrollbar to maintain the fixed height.
@@ -0,0 +1 @@
1
+ Use the inputMinHeight prop to render the text area with a minimum height. If the text exceeds the text area, the text area will grow to accommodate it.
@@ -0,0 +1,71 @@
1
+ import React from 'react'
2
+ import RichTextEditor from '../_rich_text_editor'
3
+ import { useEditor, EditorContent } from "@tiptap/react"
4
+ import StarterKit from "@tiptap/starter-kit"
5
+ import Link from '@tiptap/extension-link'
6
+ import { Caption } from "playbook-ui"
7
+
8
+
9
+ const RichTextEditorAdvancedMinHeight = (props) => {
10
+
11
+ const editor1 = useEditor({
12
+ extensions: [
13
+ StarterKit,
14
+ Link
15
+ ],
16
+ content: "Add your text here. You can format your text, add links, quotes, and bullets."
17
+ })
18
+
19
+ const editor2 = useEditor({
20
+ extensions: [
21
+ StarterKit,
22
+ Link
23
+ ],
24
+ content: "Add your text here. You can format your text, add links, quotes, and bullets."
25
+ })
26
+
27
+ const editor3 = useEditor({
28
+ extensions: [
29
+ StarterKit,
30
+ Link
31
+ ],
32
+ content: "Add your text here. You can format your text, add links, quotes, and bullets."
33
+ })
34
+
35
+ return (
36
+ <div>
37
+ <Caption>sm</Caption>
38
+ <RichTextEditor
39
+ advancedEditor={editor1}
40
+ inputMinHeight="sm"
41
+ {...props}
42
+ >
43
+ <EditorContent editor={editor1} />
44
+ </RichTextEditor>
45
+
46
+ <br />
47
+
48
+ <Caption>md</Caption>
49
+ <RichTextEditor
50
+ advancedEditor={editor2}
51
+ inputMinHeight="md"
52
+ {...props}
53
+ >
54
+ <EditorContent editor={editor2} />
55
+ </RichTextEditor>
56
+
57
+ <br />
58
+
59
+ <Caption>lg</Caption>
60
+ <RichTextEditor
61
+ advancedEditor={editor3}
62
+ inputMinHeight="lg"
63
+ {...props}
64
+ >
65
+ <EditorContent editor={editor3} />
66
+ </RichTextEditor>
67
+ </div>
68
+ )
69
+ }
70
+
71
+ export default RichTextEditorAdvancedMinHeight
@@ -29,5 +29,7 @@ examples:
29
29
  # - rich_text_editor_toolbar_bottom: Toolbar Bottom
30
30
  - rich_text_editor_inline: Inline
31
31
  - rich_text_editor_advanced_inline: Advanced (Inline)
32
+ - rich_text_editor_advanced_height: Advanced Height
33
+ - rich_text_editor_advanced_min_height: Advanced Min Height
32
34
  - rich_text_editor_preview: Preview
33
35
  - rich_text_editor_advanced_preview: Advanced Preview
@@ -16,4 +16,6 @@ export { default as RichTextEditorAdvancedFocus } from './_rich_text_editor_adva
16
16
  export { default as RichTextEditorAdvancedTemplates } from './_rich_text_editor_advanced_templates.jsx'
17
17
  export { default as RichTextEditorAdvancedAttributes } from './_rich_text_editor_advanced_attributes.jsx'
18
18
  export { default as RichTextEditorAdvancedSticky } from './_rich_text_editor_advanced_sticky.jsx'
19
- export { default as RichTextEditorAdvancedInline } from './_rich_text_editor_advanced_inline.jsx'
19
+ export { default as RichTextEditorAdvancedInline } from './_rich_text_editor_advanced_inline.jsx'
20
+ export { default as RichTextEditorAdvancedHeight } from './_rich_text_editor_advanced_height.jsx'
21
+ export { default as RichTextEditorAdvancedMinHeight } from './_rich_text_editor_advanced_min_height.jsx'
@@ -0,0 +1,7 @@
1
+ <%= pb_rails("text_input", props: {
2
+ emoji_mask: true,
3
+ label: "Emoji Mask",
4
+ placeholder: "Try typing or pasting emojis...",
5
+ }) %>
6
+
7
+
@@ -0,0 +1,24 @@
1
+ import React, { useState } from 'react'
2
+
3
+ import TextInput from '../../pb_text_input/_text_input'
4
+
5
+ const TextInputEmojiMask = (props) => {
6
+ const [basicValue, setBasicValue] = useState('')
7
+
8
+ return (
9
+ <div>
10
+ <TextInput
11
+ emojiMask
12
+ label="Emoji Mask"
13
+ onChange={({ target }) => setBasicValue(target.value)}
14
+ placeholder="Try typing or pasting emojis..."
15
+ value={basicValue}
16
+ {...props}
17
+ />
18
+ </div>
19
+ )
20
+ }
21
+
22
+ export default TextInputEmojiMask
23
+
24
+
@@ -0,0 +1,2 @@
1
+ Use the `emojiMask` / `emoji_mask` prop to prevent users from entering emoji characters (🐸 🐈 🏄‍♂️) in typed or pasted content. It allows accented characters and other non-ASCII letters (é, ü, 文).
2
+
@@ -11,6 +11,7 @@ examples:
11
11
  - text_input_mask: Mask
12
12
  - text_input_autocomplete: Autocomplete
13
13
  - text_input_required_indicator: Required Indicator
14
+ - text_input_emoji_mask: Emoji Mask
14
15
 
15
16
 
16
17
  react:
@@ -25,6 +26,7 @@ examples:
25
26
  - text_input_sanitize: Sanitized Masked Input
26
27
  - text_input_autocomplete: Autocomplete
27
28
  - text_input_required_indicator: Required Indicator
29
+ - text_input_emoji_mask: Emoji Mask
28
30
 
29
31
 
30
32
  swift:
@@ -9,3 +9,4 @@ export { default as TextInputMask } from './_text_input_mask.jsx'
9
9
  export { default as TextInputSanitize } from './_text_input_sanitize.jsx'
10
10
  export { default as TextInputAutocomplete } from './_text_input_autocomplete.jsx'
11
11
  export { default as TextInputRequiredIndicator } from './_text_input_required_indicator.jsx'
12
+ export { default as TextInputEmojiMask } from './_text_input_emoji_mask.jsx'
@@ -0,0 +1,5 @@
1
+ <%= pb_rails("textarea", props: {
2
+ emoji_mask: true,
3
+ label: "Emoji Mask",
4
+ placeholder: "Try typing or pasting emojis...",
5
+ }) %>
@@ -0,0 +1,24 @@
1
+ import React, { useState } from 'react'
2
+
3
+ import Textarea from '../../pb_textarea/_textarea'
4
+
5
+ const TextareaEmojiMask = (props) => {
6
+ const [basicValue, setBasicValue] = useState('')
7
+
8
+ return (
9
+ <div>
10
+ <Textarea
11
+ emojiMask
12
+ label="Emoji Mask"
13
+ onChange={({ target }) => setBasicValue(target.value)}
14
+ placeholder="Try typing or pasting emojis..."
15
+ value={basicValue}
16
+ {...props}
17
+ />
18
+ </div>
19
+ )
20
+ }
21
+
22
+ export default TextareaEmojiMask
23
+
24
+
@@ -0,0 +1 @@
1
+ Use the `emojiMask` / `emoji_mask` prop to prevent users from entering emoji characters (🐸 🐈 🏄‍♂️) in typed or pasted content. It allows accented characters and other non-ASCII letters (é, ü, 文).
@@ -7,6 +7,7 @@ examples:
7
7
  - textarea_error: Textarea w/ Error
8
8
  - textarea_character_counter: Character Counter
9
9
  - textarea_inline: Inline
10
+ - textarea_emoji_mask: Emoji Mask
10
11
 
11
12
  react:
12
13
  - textarea_default: Default
@@ -15,6 +16,7 @@ examples:
15
16
  - textarea_error: Textarea w/ Error
16
17
  - textarea_character_counter: Character Counter
17
18
  - textarea_inline: Inline
19
+ - textarea_emoji_mask: Emoji Mask
18
20
 
19
21
  swift:
20
22
  - textarea_default_swift: Default
@@ -4,3 +4,4 @@ export { default as TextareaCustom } from './_textarea_custom.jsx'
4
4
  export { default as TextareaError } from './_textarea_error.jsx'
5
5
  export { default as TextareaCharacterCounter } from './_textarea_character_counter.jsx'
6
6
  export { default as TextareaInline } from './_textarea_inline.jsx'
7
+ export { default as TextareaEmojiMask } from './_textarea_emoji_mask.jsx'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui_docs
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.7.0.pre.alpha.PLAY2675dropdownquickpickcustomquickpickdates13330
4
+ version: 15.7.0.pre.alpha.play2607setheightofeditor13370
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: 2026-01-06 00:00:00.000000000 Z
12
+ date: 2026-01-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: playbook_ui
@@ -924,10 +924,6 @@ files:
924
924
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx
925
925
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.jsx
926
926
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.md
927
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom.jsx
928
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom.md
929
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom_rails.html.erb
930
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom_rails.md
931
927
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.html.erb
932
928
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.jsx
933
929
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.md
@@ -2007,8 +2003,12 @@ files:
2007
2003
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_default.md
2008
2004
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_focus.jsx
2009
2005
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_focus.md
2006
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.jsx
2007
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.md
2010
2008
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_inline.jsx
2011
2009
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_inline.md
2010
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_heigh.md
2011
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx
2012
2012
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_preview.jsx
2013
2013
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_simple.jsx
2014
2014
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_sticky.jsx
@@ -2384,6 +2384,9 @@ files:
2384
2384
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled.html.erb
2385
2385
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled.jsx
2386
2386
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled_swift.md
2387
+ - app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.html.erb
2388
+ - app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.jsx
2389
+ - app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.md
2387
2390
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_error.html.erb
2388
2391
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_error.jsx
2389
2392
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_error.md
@@ -2413,6 +2416,9 @@ files:
2413
2416
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb
2414
2417
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx
2415
2418
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default_swift.md
2419
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.html.erb
2420
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.jsx
2421
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.md
2416
2422
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_error.html.erb
2417
2423
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_error.jsx
2418
2424
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_error.md
@@ -1,56 +0,0 @@
1
- import React from "react"
2
- import Dropdown from "../_dropdown"
3
-
4
- const DropdownQuickpickCustom = (props) => (
5
- <div>
6
- <Dropdown
7
- customQuickPickDates={{
8
- dates: [
9
- // Allow Playbook to handle the logic...
10
- {
11
- label: "Last 15 months",
12
- value: {
13
- timePeriod: "months",
14
- amount: 15,
15
- },
16
- },
17
- // Or, be explicit with an exact date range for more control...
18
- {
19
- label: "First Week of June 2022",
20
- value: ["06/01/2022", "06/07/2022"],
21
- },
22
- ],
23
- }}
24
- label="Date Range"
25
- marginBottom="sm"
26
- onSelect={(selectedItem) => console.log(selectedItem)}
27
- variant="quickpick"
28
- {...props}
29
- />
30
- <Dropdown
31
- customQuickPickDates={{
32
- dates: [
33
- {
34
- label: "Last 15 months",
35
- value: {
36
- timePeriod: "months",
37
- amount: 15,
38
- },
39
- },
40
- {
41
- label: "First Week of June 2022",
42
- value: ["06/01/2022", "06/07/2022"],
43
- },
44
- ],
45
- override: false,
46
- }}
47
- label="Date Range - Append to Defaults"
48
- onSelect={(selectedItem) => console.log(selectedItem)}
49
- variant="quickpick"
50
- {...props}
51
- />
52
- </div>
53
- )
54
-
55
- export default DropdownQuickpickCustom
56
-
@@ -1,10 +0,0 @@
1
- The `customQuickPickDates` prop allows for defining custom quick pick date options for the dropdown. The prop accepts an object with two properties: `dates` and `override`.
2
-
3
- **The `dates` property** accepts an array of objects. Each object has `label` and `value` properties. The `label` is what will be displayed in the dropdown menu. The `value` property defines the date range that will be selected, and can be:
4
- - An array of two date strings representing a specific range (e.g., `["06/01/2022", "06/07/2022"]`)
5
- - An object with `timePeriod` and `amount` properties for dynamic date calculations:
6
- - The `timePeriod` property accepts `"days"`, `"weeks"`, `"months"`, `"quarters"`, or `"years"`, representing past time periods calculated from today.
7
- - The `amount` property accepts any number.
8
-
9
- **The `override` property** is a boolean that controls whether custom dates replace or append to the default quick pick options. Default is `true` (replaces defaults). Set to `false` to append your custom dates to the default quick pick options.
10
-
@@ -1,64 +0,0 @@
1
- <%= pb_rails("dropdown", props: {
2
- custom_quick_pick_dates: {
3
- dates: [
4
- # Allow Playbook to handle the logic...
5
- {
6
- label: "Last 15 months",
7
- value: {
8
- time_period: "months",
9
- amount: 15
10
- }
11
- },
12
- # Or, be explicit with an exact date range for more control...
13
- {
14
- label: "First Week of June 2022",
15
- value: ["06/01/2022", "06/07/2022"]
16
- }
17
- ]
18
- },
19
- id: "date-range-quickpick-custom",
20
- label: "Date Range",
21
- margin_bottom: "sm",
22
- variant: "quickpick"
23
- }) %>
24
-
25
- <%= pb_rails("dropdown", props: {
26
- custom_quick_pick_dates: {
27
- override: false,
28
- dates: [
29
- {
30
- label: "Last 15 months",
31
- value: {
32
- time_period: "months",
33
- amount: 15
34
- }
35
- },
36
- {
37
- label: "First Week of June 2022",
38
- value: ["06/01/2022", "06/07/2022"]
39
- }
40
- ]
41
- },
42
- id: "date-range-quickpick-custom-append-to-defaults",
43
- label: "Date Range - Append to Defaults",
44
- variant: "quickpick"
45
- }) %>
46
-
47
- <script>
48
- const dropdown1 = document.getElementById("date-range-quickpick-custom");
49
- if (dropdown1) {
50
- dropdown1.addEventListener("pb:dropdown:selected", (e) => {
51
- const option = e.detail;
52
- console.log("Selected option:", option);
53
- });
54
- }
55
-
56
- const dropdown2 = document.getElementById("date-range-quickpick-custom-append-to-defaults");
57
- if (dropdown2) {
58
- dropdown2.addEventListener("pb:dropdown:selected", (e) => {
59
- const option = e.detail;
60
- console.log("Selected option:", option);
61
- });
62
- }
63
- </script>
64
-
@@ -1,10 +0,0 @@
1
- The `custom_quick_pick_dates` prop allows for defining custom quick pick date options for the dropdown. The prop accepts an object with two properties: `dates` and `override`.
2
-
3
- **The `dates` property** accepts an array of objects. Each object has `label` and `value` properties. The `label` is what will be displayed in the dropdown menu. The `value` property defines the date range that will be selected, and can be:
4
- - An array of two date strings representing a specific range (e.g., `["06/01/2022", "06/07/2022"]`)
5
- - An object with `time_period` and `amount` properties for dynamic date calculations:
6
- - The `time_period` property accepts `"days"`, `"weeks"`, `"months"`, `"quarters"`, or `"years"`, representing past time periods calculated from today.
7
- - The `amount` property accepts any number.
8
-
9
- **The `override` property** is a boolean that controls whether custom dates replace or append to the default quick pick options. Default is `true` (replaces defaults). Set to `false` to append your custom dates to the default quick pick options.
10
-