playbook_ui_docs 16.1.0.pre.rc.2 → 16.1.0.pre.rc.3

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_background/docs/_background_responsive.jsx +30 -0
  3. data/app/pb_kits/playbook/pb_background/docs/_background_responsive.md +1 -0
  4. data/app/pb_kits/playbook/pb_background/docs/example.yml +1 -0
  5. data/app/pb_kits/playbook/pb_background/docs/index.js +1 -0
  6. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +3 -1
  7. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb +74 -0
  8. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.jsx +87 -0
  9. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md +3 -0
  10. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +35 -33
  11. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx +35 -0
  13. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md +3 -0
  14. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +10 -0
  15. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +21 -0
  16. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +3 -0
  17. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +3 -0
  18. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -0
  19. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.html.erb +5 -0
  20. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.jsx +25 -0
  21. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.md +3 -0
  22. data/app/pb_kits/playbook/pb_textarea/docs/example.yml +3 -1
  23. data/app/pb_kits/playbook/pb_textarea/docs/index.js +1 -0
  24. metadata +15 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f6578b2cbd0e94e90f8efda54cfd3347914067e53691d26c9b4da7765eef24c
4
- data.tar.gz: d7d4bdc62bf4ef56b5a7f9eb4dda617631f81e9552257dfb7d8d6d7b97b32df3
3
+ metadata.gz: eb0f6f8b1652e7b3dfb535e822b360aa6da63afbc1c1d5010acb10fe5b4393fd
4
+ data.tar.gz: 4fcca8d1dd74137e3bfc5cb2ebb28d1cd21c306182977b0da80859f0eba6cd44
5
5
  SHA512:
6
- metadata.gz: 1b1fef0d9354421a9dfa86953b5995ee5ec721691fc6c1f34f3dfda54f4bc3db18af7e9f87aab9af8718584cfe87f1b09cdaf8c05631522d2c6f8b7a60a5347b
7
- data.tar.gz: 0d4d55993908fc59ccbef1a9f02581149449c44228c3efebd273e93bc7db2f88468a5023ba17a5a1831ad3b87f094323cbe109bafe258a4e6165d3e32a2af8b3
6
+ metadata.gz: 80ded4340647a05d50d00670c2351135e16181447a0f0b56c3b62504cbae8fd2d7c3a78b498cc9341d7797698f32a44bc32aab929da963ccfce89a4d047c59e9
7
+ data.tar.gz: f974c0bd984250bc036b1a5a7539a3cd5fb2c14caedf7223989dc0e5def5b5a29d578132d4cf32090a7a515fc1050eb09e8e5cdd38c7936467d21ff1ce4ded57
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import Background from '../../pb_background/_background'
3
+
4
+ const BackgroundResponsive = (props) => (
5
+ <>
6
+ <Background
7
+ alt="colorful background"
8
+ backgroundColor={{ xs: "primary", sm: "warning", md: "success", lg: "error", xl: "category_1" }}
9
+ className="background lazyload"
10
+ padding="xl"
11
+ {...props}
12
+ />
13
+ <br/>
14
+ <Background
15
+ alt="colorful background"
16
+ className="background lazyload"
17
+ imageUrl={{
18
+ xs: "https://unsplash.it/500/400/?image=633",
19
+ sm: "https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80",
20
+ md: "https://unsplash.it/500/400/?image=633",
21
+ lg: "https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80",
22
+ xl: "https://unsplash.it/500/400/?image=633"
23
+ }}
24
+ padding="xl"
25
+ {...props}
26
+ />
27
+ </>
28
+ )
29
+
30
+ export default BackgroundResponsive
@@ -0,0 +1 @@
1
+ The `backgroundColor`, `backgroundSize`, `backgroundPosition`, `backgroundRepeat`, and `imageUrl` props support responsive sizes. To use them, pass an object to the prop containing your values relative to responsive break points. To test this here, resize your browser window to responsively change these Backgrounds' `backgroundColor` and `imageUrl`.
@@ -20,3 +20,4 @@ examples:
20
20
  - background_category: Category
21
21
  - background_size: Size
22
22
  - background_overlay: Overlay
23
+ - background_responsive: Responsive
@@ -7,3 +7,4 @@ export { default as BackgroundStatusSubtle } from './_background_status_subtle.j
7
7
  export { default as BackgroundCategory } from './_background_category.jsx'
8
8
  export { default as BackgroundSize } from './_background_size.jsx'
9
9
  export { default as BackgroundOverlay } from './_background_overlay.jsx'
10
+ export { default as BackgroundResponsive } from './_background_responsive.jsx'
@@ -1,6 +1,8 @@
1
1
  <%= pb_form_with(scope: :example, url: "", method: :get, validate: true) do |form| %>
2
2
  <%= form.text_field :example_text_field, props: { label: true, required: true, required_indicator: true } %>
3
3
  <%= form.text_field :example_text_field_2, props: { label: "Text Field Custom Label", required: true, required_indicator: true } %>
4
+ <%= form.text_area :example_text_area, props: { label: true, required: true, required_indicator: true } %>
5
+ <%= form.text_area :example_text_area_2, props: { label: "Textarea Custom Label", required: true, required_indicator: true } %>
4
6
  <%= form.email_field :example_email_field, props: { label: true, required: true, required_indicator: true } %>
5
7
  <%= form.number_field :example_number_field, props: { label: true, required: true, required_indicator: true } %>
6
8
  <%= form.search_field :example_search_field, props: { label: true, required: true, required_indicator: true } %>
@@ -11,4 +13,4 @@
11
13
  <%= action.submit %>
12
14
  <%= action.button props: { type: "reset", text: "Cancel", variant: "secondary" } %>
13
15
  <% end %>
14
- <% end %>
16
+ <% end %>
@@ -0,0 +1,74 @@
1
+ <% treeData = [{
2
+ label: "Power Home Remodeling",
3
+ value: "powerHomeRemodeling",
4
+ id: "100",
5
+ expanded: true,
6
+ children: [
7
+ {
8
+ label: "People",
9
+ value: "people",
10
+ id: "101",
11
+ expanded: true,
12
+ children: [
13
+ {
14
+ label: "Talent Acquisition",
15
+ value: "talentAcquisition",
16
+ id: "102",
17
+ },
18
+ {
19
+ label: "Business Affairs",
20
+ value: "businessAffairs",
21
+ id: "103",
22
+ children: [
23
+ {
24
+ label: "Initiatives",
25
+ value: "initiatives",
26
+ id: "104",
27
+ },
28
+ {
29
+ label: "Learning & Development",
30
+ value: "learningAndDevelopment",
31
+ id: "105",
32
+ },
33
+ ],
34
+ },
35
+ {
36
+ label: "People Experience",
37
+ value: "peopleExperience",
38
+ id: "106",
39
+ },
40
+ ],
41
+ },
42
+ {
43
+ label: "Contact Center",
44
+ value: "contactCenter",
45
+ id: "107",
46
+ children: [
47
+ {
48
+ label: "Appointment Management",
49
+ value: "appointmentManagement",
50
+ id: "108",
51
+ },
52
+ {
53
+ label: "Customer Service",
54
+ value: "customerService",
55
+ id: "109",
56
+ },
57
+ {
58
+ label: "Energy",
59
+ value: "energy",
60
+ id: "110",
61
+ },
62
+ ],
63
+ },
64
+ ],
65
+ }] %>
66
+
67
+ <%= pb_rails("multi_level_select", props: {
68
+ id: "multi-level-select-input-display-none",
69
+ name: :foo,
70
+ tree_data: treeData,
71
+ input_display: "none",
72
+ return_all_selected: true,
73
+ })
74
+ %>
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ import MultiLevelSelect from "../_multi_level_select";
3
+
4
+ const treeData = [
5
+ {
6
+ label: "Power Home Remodeling",
7
+ value: "powerHomeRemodeling",
8
+ id: "powerhome1",
9
+ expanded: true,
10
+ children: [
11
+ {
12
+ label: "People",
13
+ value: "people",
14
+ id: "people1",
15
+ expanded: true,
16
+ children: [
17
+ {
18
+ label: "Talent Acquisition",
19
+ value: "talentAcquisition",
20
+ id: "talent1",
21
+ },
22
+ {
23
+ label: "Business Affairs",
24
+ value: "businessAffairs",
25
+ id: "business1",
26
+ children: [
27
+ {
28
+ label: "Initiatives",
29
+ value: "initiatives",
30
+ id: "initiative1",
31
+ },
32
+ {
33
+ label: "Learning & Development",
34
+ value: "learningAndDevelopment",
35
+ id: "development1",
36
+ },
37
+ ],
38
+ },
39
+ {
40
+ label: "People Experience",
41
+ value: "peopleExperience",
42
+ id: "experience1",
43
+ },
44
+ ],
45
+ },
46
+ {
47
+ label: "Contact Center",
48
+ value: "contactCenter",
49
+ id: "contact1",
50
+ children: [
51
+ {
52
+ label: "Appointment Management",
53
+ value: "appointmentManagement",
54
+ id: "appointment1",
55
+ },
56
+ {
57
+ label: "Customer Service",
58
+ value: "customerService",
59
+ id: "customer1",
60
+ },
61
+ {
62
+ label: "Energy",
63
+ value: "energy",
64
+ id: "energy1",
65
+ },
66
+ ],
67
+ },
68
+ ],
69
+ },
70
+ ];
71
+
72
+ const MultiLevelSelectInputDisplay = (props) => {
73
+ return (
74
+ <MultiLevelSelect
75
+ id="multi-level-select-input-display-none"
76
+ inputDisplay="none"
77
+ onSelect={(selectedNodes) =>
78
+ console.log("Selected Items", selectedNodes)
79
+ }
80
+ returnAllSelected
81
+ treeData={treeData}
82
+ {...props}
83
+ />
84
+ );
85
+ };
86
+
87
+ export default MultiLevelSelectInputDisplay;
@@ -0,0 +1,3 @@
1
+ Use the `inputDisplay`/`input_display` prop to optionally display only the count in the display as opposed to multiple pills. This prop is set to 'pills' by default.
2
+
3
+ **NOTE**: `inputDisplay`/`input_display` is particularly useful for larger trees that may return many pill selections, helping to keep the input field clean and compact. This prop should not be used with the Single Select variant.
@@ -1,37 +1,39 @@
1
1
  examples:
2
2
  rails:
3
- - multi_level_select_default: Default
4
- - multi_level_select_single: Single Select
5
- - multi_level_select_single_children_only: Single Select w/ Hidden Radios
6
- - multi_level_select_return_all_selected: Return All Selected
7
- - multi_level_select_selected_ids: Selected Ids
8
- - multi_level_select_with_form: With Form
9
- - multi_level_select_color: With Pills (Custom Color)
10
- - multi_level_select_reset: Reset Selection
11
- - multi_level_select_label: With Label
12
- - multi_level_select_error: Error
13
- - multi_level_select_disabled: Disabled Input
14
- - multi_level_select_disabled_options_default: Disabled Options (Default)
15
- - multi_level_select_disabled_options: Disabled Options (Return All Selected)
16
- - multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
17
- - multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
18
- - multi_level_select_single_disabled: Disabled Options (Single Select)
3
+ - multi_level_select_default: Default
4
+ - multi_level_select_single: Single Select
5
+ - multi_level_select_single_children_only: Single Select w/ Hidden Radios
6
+ - multi_level_select_return_all_selected: Return All Selected
7
+ - multi_level_select_input_display: With Input Display None
8
+ - multi_level_select_selected_ids: Selected Ids
9
+ - multi_level_select_with_form: With Form
10
+ - multi_level_select_color: With Pills (Custom Color)
11
+ - multi_level_select_reset: Reset Selection
12
+ - multi_level_select_label: With Label
13
+ - multi_level_select_error: Error
14
+ - multi_level_select_disabled: Disabled Input
15
+ - multi_level_select_disabled_options_default: Disabled Options (Default)
16
+ - multi_level_select_disabled_options: Disabled Options (Return All Selected)
17
+ - multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
18
+ - multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
19
+ - multi_level_select_single_disabled: Disabled Options (Single Select)
19
20
 
20
21
  react:
21
- - multi_level_select_default: Default
22
- - multi_level_select_react_hook: React Hook
23
- - multi_level_select_single: Single Select
24
- - multi_level_select_single_children_only: Single Select w/ Hidden Radios
25
- - multi_level_select_return_all_selected: Return All Selected
26
- - multi_level_select_selected_ids_react: Selected Ids
27
- - multi_level_select_color: With Pills (Custom Color)
28
- - multi_level_select_with_children: Checkboxes With Children
29
- - multi_level_select_with_children_with_radios: Single Select With Children
30
- - multi_level_select_label: With Label
31
- - multi_level_select_error: Error
32
- - multi_level_select_disabled: Disabled Input
33
- - multi_level_select_disabled_options_default: Disabled Options (Default)
34
- - multi_level_select_disabled_options: Disabled Options (Return All Selected)
35
- - multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
36
- - multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
37
- - multi_level_select_single_disabled: Disabled Options (Single Select)
22
+ - multi_level_select_default: Default
23
+ - multi_level_select_react_hook: React Hook
24
+ - multi_level_select_single: Single Select
25
+ - multi_level_select_single_children_only: Single Select w/ Hidden Radios
26
+ - multi_level_select_return_all_selected: Return All Selected
27
+ - multi_level_select_input_display: With Input Display None
28
+ - multi_level_select_selected_ids_react: Selected Ids
29
+ - multi_level_select_color: With Pills (Custom Color)
30
+ - multi_level_select_with_children: Checkboxes With Children
31
+ - multi_level_select_with_children_with_radios: Single Select With Children
32
+ - multi_level_select_label: With Label
33
+ - multi_level_select_error: Error
34
+ - multi_level_select_disabled: Disabled Input
35
+ - multi_level_select_disabled_options_default: Disabled Options (Default)
36
+ - multi_level_select_disabled_options: Disabled Options (Return All Selected)
37
+ - multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
38
+ - multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
39
+ - multi_level_select_single_disabled: Disabled Options (Single Select)
@@ -4,6 +4,7 @@ export { default as MultiLevelSelectSingleChildrenOnly } from './_multi_level_se
4
4
  export { default as MultiLevelSelectReturnAllSelected } from './_multi_level_select_return_all_selected.jsx'
5
5
  export { default as MultiLevelSelectSelectedIdsReact } from "./_multi_level_select_selected_ids_react.jsx"
6
6
  export { default as MultiLevelSelectColor } from './_multi_level_select_color.jsx'
7
+ export { default as MultiLevelSelectInputDisplay } from './_multi_level_select_input_display.jsx'
7
8
  export { default as MultiLevelSelectWithChildren } from './_multi_level_select_with_children.jsx'
8
9
  export { default as MultiLevelSelectWithChildrenWithRadios } from './_multi_level_select_with_children_with_radios.jsx'
9
10
  export { default as MultiLevelSelectDisabled } from './_multi_level_select_disabled.jsx'
@@ -0,0 +1,35 @@
1
+ import React from 'react'
2
+ import RichTextEditor from '../../pb_rich_text_editor/_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
+
7
+
8
+ const RichTextEditorAdvancedRequiredIndicator = (props) => {
9
+
10
+ const editor = useEditor({
11
+ extensions: [
12
+ StarterKit,
13
+ Link
14
+ ],
15
+ content:"Add your text here. You can format your text, add links, quotes, and bullets."
16
+ })
17
+ if (!editor) {
18
+ return null
19
+ }
20
+
21
+ return (
22
+ <div>
23
+ <RichTextEditor
24
+ advancedEditor={editor}
25
+ label="Label"
26
+ requiredIndicator
27
+ {...props}
28
+ >
29
+ <EditorContent editor={editor}/>
30
+ </RichTextEditor>
31
+ </div>
32
+ )
33
+ }
34
+
35
+ export default RichTextEditorAdvancedRequiredIndicator
@@ -0,0 +1,3 @@
1
+ The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
2
+
3
+ You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
@@ -0,0 +1,10 @@
1
+ <%= pb_rails("rich_text_editor", props: {
2
+ id: "required-indicator",
3
+ input_options: {
4
+ id: 'hidden_input_id',
5
+ name: "hidden_input_name"
6
+ },
7
+ label: "Label",
8
+ required_indicator: true,
9
+ value: "Add your text here. You can format your text, add links, quotes, and bullets."
10
+ }) %>
@@ -0,0 +1,21 @@
1
+ import React, { useState } from 'react'
2
+ import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+
4
+ const RichTextEditorRequiredIndicator = (props) => {
5
+ const [value, setValue] = useState('Add your text here. You can format your text, add links, quotes, and bullets.'),
6
+ handleOnChange = (html) => setValue(html)
7
+
8
+ return (
9
+ <div>
10
+ <RichTextEditor
11
+ label="Label"
12
+ onChange={handleOnChange}
13
+ requiredIndicator
14
+ value={value}
15
+ {...props}
16
+ />
17
+ </div>
18
+ )
19
+ }
20
+
21
+ export default RichTextEditorRequiredIndicator
@@ -0,0 +1,3 @@
1
+ The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
2
+
3
+ You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
@@ -9,6 +9,7 @@ examples:
9
9
  - rich_text_editor_templates: Templates
10
10
  # - rich_text_editor_toolbar_bottom: Toolbar Bottom
11
11
  - rich_text_editor_inline: Inline
12
+ - rich_text_editor_required_indicator: Required Indicator
12
13
  - rich_text_editor_preview: Preview
13
14
 
14
15
  react:
@@ -31,5 +32,7 @@ examples:
31
32
  - rich_text_editor_advanced_inline: Advanced (Inline)
32
33
  - rich_text_editor_advanced_height: Advanced Height
33
34
  - rich_text_editor_advanced_min_height: Advanced Min Height
35
+ - rich_text_editor_required_indicator: Required Indicator
36
+ - rich_text_editor_advanced_required_indicator: Advanced Required Indicator
34
37
  - rich_text_editor_preview: Preview
35
38
  - rich_text_editor_advanced_preview: Advanced Preview
@@ -19,3 +19,5 @@ export { default as RichTextEditorAdvancedSticky } from './_rich_text_editor_adv
19
19
  export { default as RichTextEditorAdvancedInline } from './_rich_text_editor_advanced_inline.jsx'
20
20
  export { default as RichTextEditorAdvancedHeight } from './_rich_text_editor_advanced_height.jsx'
21
21
  export { default as RichTextEditorAdvancedMinHeight } from './_rich_text_editor_advanced_min_height.jsx'
22
+ export { default as RichTextEditorRequiredIndicator } from './_rich_text_editor_required_indicator.jsx'
23
+ export { default as RichTextEditorAdvancedRequiredIndicator } from './_rich_text_editor_advanced_required_indicator.jsx'
@@ -0,0 +1,5 @@
1
+ <%= pb_rails("textarea", props: {
2
+ label: "Label",
3
+ placeholder: "Placeholder text",
4
+ required_indicator: true
5
+ }) %>
@@ -0,0 +1,25 @@
1
+ import React, {useState} from 'react'
2
+
3
+ import Textarea from '../_textarea'
4
+
5
+ const TextareaRequiredIndicator = (props) => {
6
+ const [value, setValue] = useState('Default value text')
7
+ const handleChange = (event) => {
8
+ setValue(event.target.value)
9
+ }
10
+ return (
11
+ <div>
12
+ <Textarea
13
+ label="Label"
14
+ name="comment"
15
+ onChange={(e) => handleChange(e)}
16
+ placeholder="Placeholder text"
17
+ requiredIndicator
18
+ value={value}
19
+ {...props}
20
+ />
21
+ </div>
22
+ )
23
+ }
24
+
25
+ export default TextareaRequiredIndicator
@@ -0,0 +1,3 @@
1
+ The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
2
+
3
+ You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
@@ -8,6 +8,7 @@ examples:
8
8
  - textarea_character_counter: Character Counter
9
9
  - textarea_inline: Inline
10
10
  - textarea_emoji_mask: Emoji Mask
11
+ - textarea_required_indicator: Required Indicator
11
12
  - textarea_input_options: Input Options
12
13
 
13
14
  react:
@@ -18,8 +19,9 @@ examples:
18
19
  - textarea_character_counter: Character Counter
19
20
  - textarea_inline: Inline
20
21
  - textarea_emoji_mask: Emoji Mask
22
+ - textarea_required_indicator: Required Indicator
21
23
 
22
24
  swift:
23
25
  - textarea_default_swift: Default
24
26
  - textarea_error_swift: Textarea w/ Error
25
- - textarea_props_swift: ""
27
+ - textarea_props_swift: ""
@@ -5,3 +5,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
7
  export { default as TextareaEmojiMask } from './_textarea_emoji_mask.jsx'
8
+ export { default as TextareaRequiredIndicator } from './_textarea_required_indicator.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: 16.1.0.pre.rc.2
4
+ version: 16.1.0.pre.rc.3
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-20 00:00:00.000000000 Z
12
+ date: 2026-01-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: playbook_ui
@@ -231,6 +231,8 @@ files:
231
231
  - app/pb_kits/playbook/pb_background/docs/_background_light.md
232
232
  - app/pb_kits/playbook/pb_background/docs/_background_overlay.jsx
233
233
  - app/pb_kits/playbook/pb_background/docs/_background_overlay.md
234
+ - app/pb_kits/playbook/pb_background/docs/_background_responsive.jsx
235
+ - app/pb_kits/playbook/pb_background/docs/_background_responsive.md
234
236
  - app/pb_kits/playbook/pb_background/docs/_background_size.html.erb
235
237
  - app/pb_kits/playbook/pb_background/docs/_background_size.jsx
236
238
  - app/pb_kits/playbook/pb_background/docs/_background_size.md
@@ -1409,6 +1411,9 @@ files:
1409
1411
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.md
1410
1412
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb
1411
1413
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx
1414
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb
1415
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.jsx
1416
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md
1412
1417
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb
1413
1418
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx
1414
1419
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
@@ -1909,6 +1914,8 @@ files:
1909
1914
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx
1910
1915
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.md
1911
1916
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_preview.jsx
1917
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx
1918
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md
1912
1919
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_simple.jsx
1913
1920
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_sticky.jsx
1914
1921
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_sticky.md
@@ -1926,6 +1933,9 @@ files:
1926
1933
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.md
1927
1934
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb
1928
1935
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx
1936
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb
1937
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx
1938
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md
1929
1939
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb
1930
1940
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx
1931
1941
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb
@@ -2328,6 +2338,9 @@ files:
2328
2338
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.html.erb
2329
2339
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.md
2330
2340
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_props_swift.md
2341
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.html.erb
2342
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.jsx
2343
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.md
2331
2344
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.html.erb
2332
2345
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.jsx
2333
2346
  - app/pb_kits/playbook/pb_textarea/docs/example.yml