@policystudio/policy-studio-ui-vue 1.1.89 → 1.1.90-beta.10

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 (134) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +74 -67
  3. package/.github/workflows/deploy-storybook.yml +1 -1
  4. package/.storybook/PolicyStudio.ts +11 -0
  5. package/.storybook/eventBus.ts +26 -0
  6. package/.storybook/main.ts +21 -0
  7. package/.storybook/manager.ts +7 -0
  8. package/dist/css/psui_styles.css +4028 -110346
  9. package/package.json +50 -34
  10. package/postcss.config.js +1 -1
  11. package/scripts/kill-port.sh +12 -0
  12. package/src/App.vue +30 -0
  13. package/src/assets/scss/base.scss +27 -23
  14. package/src/assets/scss/components/PsAccordion.scss +1 -1
  15. package/src/assets/scss/components/PsChips.scss +3 -3
  16. package/src/assets/scss/components/PsCostEffectBar.scss +4 -4
  17. package/src/assets/scss/components/PsProgressBar.scss +4 -4
  18. package/src/assets/scss/components/PsTabHeader.scss +1 -1
  19. package/src/assets/scss/components/PsTableResults.scss +2 -63
  20. package/src/assets/scss/components/PsTestimonialCard.scss +1 -1
  21. package/src/components/accordion/PsAccordion.vue +20 -21
  22. package/src/components/accordion/PsAccordionItem.vue +30 -8
  23. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +8 -4
  24. package/src/components/badges-and-tags/PsCardInfos.vue +3 -1
  25. package/src/components/badges-and-tags/PsChartLegend.vue +19 -5
  26. package/src/components/badges-and-tags/PsCostEffectBar.vue +4 -5
  27. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +1 -1
  28. package/src/components/badges-and-tags/PsProgressBar.vue +1 -1
  29. package/src/components/badges-and-tags/PsTestimonialCard.vue +6 -4
  30. package/src/components/buttons/PsButton.vue +85 -88
  31. package/src/components/chips/PsChips.vue +5 -2
  32. package/src/components/controls/PsCheckbox.vue +5 -2
  33. package/src/components/controls/PsCheckboxSimple.vue +4 -4
  34. package/src/components/controls/PsDraggable.vue +70 -67
  35. package/src/components/controls/PsInlineSelector.vue +13 -14
  36. package/src/components/controls/PsRadioButton.vue +10 -5
  37. package/src/components/controls/PsRadioButtonSimple.vue +3 -3
  38. package/src/components/controls/PsSlider.vue +6 -6
  39. package/src/components/controls/PsSwitch.vue +13 -3
  40. package/src/components/controls/PsToggle.vue +14 -11
  41. package/src/components/data-graphics/PsBarChart.vue +4 -2
  42. package/src/components/datatable/PsDataTable.vue +14 -5
  43. package/src/components/datatable/PsDataTableItem.vue +17 -4
  44. package/src/components/forms/PsDropdown.vue +8 -5
  45. package/src/components/forms/PsDropdownList.vue +1 -1
  46. package/src/components/forms/PsInput.vue +30 -14
  47. package/src/components/forms/PsInputSelect.vue +33 -11
  48. package/src/components/forms/PsInputTextArea.vue +15 -4
  49. package/src/components/navigations/PsBreadcrumb.vue +1 -1
  50. package/src/components/notifications/PsDialog.vue +11 -5
  51. package/src/components/notifications/PsSimpleAlert.vue +22 -10
  52. package/src/components/notifications/PsToast.vue +8 -3
  53. package/src/components/playground/PsScrollBar.vue +122 -50
  54. package/src/components/table-results/PsTableResults.vue +67 -51
  55. package/src/components/table-results/PsTableResultsBody.vue +3 -1
  56. package/src/components/table-results/PsTableResultsHead.vue +27 -8
  57. package/src/components/table-results/PsTableResultsHeadComparison.vue +24 -8
  58. package/src/components/table-results/PsTableResultsHeadFlexible.vue +18 -6
  59. package/src/components/table-results/PsTableResultsRow.vue +6 -2
  60. package/src/components/tabs/PsTabHeader.vue +19 -16
  61. package/src/components/tooltip/PsDialogTooltip.vue +18 -8
  62. package/src/components/tooltip/PsRichTooltip.vue +12 -5
  63. package/src/components/tooltip/PsTooltip.vue +17 -9
  64. package/src/components/ui/PsDotLoader.vue +5 -5
  65. package/src/components/ui/PsIcon.vue +6 -2
  66. package/src/{index.js → index.ts} +4 -5
  67. package/src/shims-vue.d.ts +11 -0
  68. package/src/stories/{Accordion.stories.js → Accordion.stories.ts} +2 -2
  69. package/src/stories/{BadgeWithIcon.stories.js → BadgeWithIcon.stories.ts} +1 -1
  70. package/src/stories/{BarChart.stories.js → BarChart.stories.ts} +1 -1
  71. package/src/stories/{Breadcrumb.stories.js → Breadcrumb.stories.ts} +1 -4
  72. package/src/stories/Button.stories.ts +48 -0
  73. package/src/stories/Button.vue +59 -0
  74. package/src/stories/{CardInfos.stories.js → CardInfos.stories.ts} +1 -2
  75. package/src/stories/{ChartLegend.stories.js → ChartLegend.stories.ts} +1 -2
  76. package/src/stories/{Checkbox.stories.js → Checkbox.stories.ts} +1 -1
  77. package/src/stories/{CheckboxSimple.stories.js → CheckboxSimple.stories.ts} +1 -1
  78. package/src/stories/{Chips.stories.js → Chips.stories.ts} +24 -22
  79. package/src/stories/ClimateZoneBadge.stories.ts +28 -0
  80. package/src/stories/CostEffectBar.stories.ts +26 -0
  81. package/src/stories/{Datatable.stories.js → Datatable.stories.ts} +5 -2
  82. package/src/stories/{DateCardInfo.stories.js → DateCardInfo.stories.ts} +1 -5
  83. package/src/stories/{Dialog.stories.js → Dialog.stories.ts} +1 -1
  84. package/src/stories/Draggable.stories.ts +32 -0
  85. package/src/stories/{Dropdown.stories.js → Dropdown.stories.ts} +1 -11
  86. package/src/stories/{DropdownList.stories.js → DropdownList.stories.ts} +3 -1
  87. package/src/stories/{ElevationSystem.stories.mdx → ElevationSystem.mdx} +1 -1
  88. package/src/stories/Header.stories.ts +42 -0
  89. package/src/stories/Header.vue +77 -0
  90. package/src/stories/{HighlightRippleDot.stories.js → HighlightRippleDot.stories.ts} +2 -1
  91. package/src/stories/{Icon.stories.js → Icon.stories.ts} +2 -1
  92. package/src/stories/{InlineSelector.stories.js → InlineSelector.stories.ts} +1 -1
  93. package/src/stories/{Input.stories.js → Input.stories.ts} +6 -2
  94. package/src/stories/{InputSelect.stories.js → InputSelect.stories.ts} +2 -1
  95. package/src/stories/{InputTextArea.stories.js → InputTextArea.stories.ts} +1 -1
  96. package/src/stories/{Introduction.stories.mdx → Introduction.mdx} +101 -101
  97. package/src/stories/{MiniTag.stories.js → MiniTag.stories.ts} +8 -1
  98. package/src/stories/{Playground.stories.js → Playground.stories.ts} +1 -1
  99. package/src/stories/{ProgressBar.stories.js → ProgressBar.stories.ts} +2 -1
  100. package/src/stories/{RadioButton.stories.js → RadioButton.stories.ts} +1 -0
  101. package/src/stories/{RadioButtonSimple.stories.js → RadioButtonSimple.stories.ts} +1 -1
  102. package/src/stories/{SimpleAlert.stories.js → SimpleAlert.stories.ts} +2 -1
  103. package/src/stories/{Slider.stories.js → Slider.stories.ts} +5 -1
  104. package/src/stories/{Switch.stories.js → Switch.stories.ts} +1 -1
  105. package/src/stories/{TabHeader.stories.js → TabHeader.stories.ts} +4 -0
  106. package/src/stories/{TableResults.stories.js → TableResults.stories.ts} +5 -1
  107. package/src/stories/{TagScope.stories.js → TagScope.stories.ts} +1 -1
  108. package/src/stories/{TestimonialCard.stories.js → TestimonialCard.stories.ts} +2 -2
  109. package/src/stories/{Toast.stories.js → Toast.stories.ts} +1 -1
  110. package/src/stories/{Toggle.stories.js → Toggle.stories.ts} +6 -3
  111. package/src/stories/{Tooltip.stories.js → Tooltip.stories.ts} +3 -3
  112. package/src/stories/{Typography.stories.mdx → Typography.mdx} +107 -105
  113. package/src/stories/button.css +30 -0
  114. package/src/stories/header.css +32 -0
  115. package/src/util/{GeneralFunctions.js → GeneralFunctions.ts} +7 -7
  116. package/src/util/{imageLoader.js → imageLoader.ts} +15 -9
  117. package/tailwind.config.js +11 -2
  118. package/tsconfig.json +47 -0
  119. package/webpack.config.js +36 -0
  120. package/.storybook/PolicyStudio.js +0 -10
  121. package/.storybook/eventBus.js +0 -3
  122. package/.storybook/main.js +0 -25
  123. package/.storybook/manager.js +0 -6
  124. package/babel.config.js +0 -3
  125. package/backup-package-lock.json +0 -37194
  126. package/src/stories/Button.stories.js +0 -130
  127. package/src/stories/ClimateZoneBadge.stories.js +0 -17
  128. package/src/stories/CostEffectBar.stories.js +0 -23
  129. package/src/stories/Draggable.stories.js +0 -22
  130. /package/.storybook/{preview.js → preview.ts} +0 -0
  131. /package/src/contents/{ComparisonData.js → ComparisonData.ts} +0 -0
  132. /package/src/contents/{FlexibleData.js → FlexibleData.ts} +0 -0
  133. /package/src/contents/{ResultsData.js → ResultsData.ts} +0 -0
  134. /package/src/stories/{Colors.stories.mdx → Colors.mdx} +0 -0
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <table :class='cssAlign' class="psui-el-table psui-table">
2
+ <table
3
+ :class="cssAlign"
4
+ class="psui-el-table psui-table"
5
+ >
3
6
  <thead v-if="header">
4
7
  <th
5
8
  v-for="head in header"
@@ -9,18 +12,24 @@
9
12
  </th>
10
13
  </thead>
11
14
  <tbody v-if="type === 'simple'">
12
- <tr v-for="(dt, index) in data" :key="index">
13
- <td v-for="(head, cellRow) in header" :key="cellRow">
15
+ <tr
16
+ v-for="(dt, index) in data"
17
+ :key="index"
18
+ >
19
+ <td
20
+ v-for="(head, cellRow) in header"
21
+ :key="cellRow"
22
+ >
14
23
  {{ data[index][head] }}
15
24
  </td>
16
25
  </tr>
17
26
  </tbody>
18
- <slot v-else></slot>
27
+ <slot v-else />
19
28
  <tfoot v-if="footer">
20
29
  <th
21
30
  v-for="ft in footer"
22
31
  :key="ft"
23
- class='psui-bg-gray-10 psui-text-gray-80 psui-font-normal'
32
+ class="psui-bg-gray-10 psui-text-gray-80 psui-font-normal"
24
33
  >
25
34
  {{ ft }}
26
35
  </th>
@@ -1,7 +1,14 @@
1
1
  <template>
2
2
  <tbody v-if="data">
3
- <tr v-for="(dt, index) in data" :key="index" >
4
- <td v-for="(el, elIndex) in dt" :key="elIndex" class="psui-px-4 psui-py-2">
3
+ <tr
4
+ v-for="(dt, index) in data"
5
+ :key="index"
6
+ >
7
+ <td
8
+ v-for="(el, elIndex) in dt"
9
+ :key="elIndex"
10
+ class="psui-px-4 psui-py-2"
11
+ >
5
12
  <div class="psui-flex psui-gap-1 psui-items-center">
6
13
  <span class="psui-text-gray-80">
7
14
  {{ el[Object.keys(el)[1]].toFixed(3) }}
@@ -14,8 +21,14 @@
14
21
  : 'psui-text-red-70'
15
22
  "
16
23
  >
17
- <i v-if="el[Object.keys(el)[1]] >= 0" class="material-icons">arrow_upward</i>
18
- <i v-else class="material-icons">arrow_downward</i>
24
+ <i
25
+ v-if="el[Object.keys(el)[1]] >= 0"
26
+ class="material-icons"
27
+ >arrow_upward</i>
28
+ <i
29
+ v-else
30
+ class="material-icons"
31
+ >arrow_downward</i>
19
32
  <span>
20
33
  {{
21
34
  (
@@ -10,7 +10,7 @@
10
10
  v-if="$slots.dropdownTrigger"
11
11
  @click="show && !toggleWhenActive ? '' : toggle()"
12
12
  >
13
- <slot name="dropdownTrigger"></slot>
13
+ <slot name="dropdownTrigger" />
14
14
  </div>
15
15
 
16
16
  <button
@@ -25,8 +25,11 @@
25
25
  <slot
26
26
  v-if="show && $slots.buttonLabelOnShow"
27
27
  name="buttonLabelOnShow"
28
- ></slot>
29
- <slot v-else name="buttonLabel"></slot>
28
+ />
29
+ <slot
30
+ v-else
31
+ name="buttonLabel"
32
+ />
30
33
  </button>
31
34
  <div
32
35
  ref="PSDropdownDialog"
@@ -37,7 +40,7 @@
37
40
  :style="{ minWidth: minWidthDropDown }"
38
41
  >
39
42
  <div class="psui-el-dropdown-menu-dialog">
40
- <slot name="items"></slot>
43
+ <slot name="items" />
41
44
  </div>
42
45
  </div>
43
46
  </div>
@@ -104,7 +107,7 @@ export default {
104
107
  return document.documentElement.clientWidth - bounds['left'] - 30
105
108
  },
106
109
  },
107
- beforeDestroy() {
110
+ beforeUnmount() {
108
111
  this.unwatchParentScrolling()
109
112
  },
110
113
  methods: {
@@ -29,7 +29,7 @@
29
29
  size="20"
30
30
  class="psui-text-blue-60 psui-opacity-0 psui-transition psui-leading-none psui-cursor-pointer psui-ml-1"
31
31
  :display="item.key == getItems.key || isHovering == index ? 'flex' : 'none'"
32
- @click.native.stop="$eventBus.$emit('openDescriptionModal', { type: item.hasHelper.type, id: item.hasHelper.id, slug: item.hasHelper.slug })"
32
+ @click.stop="$eventBus.$emit('openDescriptionModal', { type: item.hasHelper.type, id: item.hasHelper.id, slug: item.hasHelper.slug })"
33
33
  />
34
34
  </div>
35
35
 
@@ -1,6 +1,8 @@
1
1
  <template>
2
- <div class="psui-el-input" :class="[getComponentClass, `layout-${layout}`]" >
3
-
2
+ <div
3
+ class="psui-el-input"
4
+ :class="[getComponentClass, `layout-${layout}`]"
5
+ >
4
6
  <label v-if="label"> {{ label }} </label>
5
7
 
6
8
  <div
@@ -8,15 +10,18 @@
8
10
  @mouseenter="$emit('mouseenter',$event)"
9
11
  @mouseleave="$emit('mouseleave',$event)"
10
12
  >
11
- <div v-if="$slots.prepend" class="psui-el-input-prepend">
12
- <slot name="prepend"></slot>
13
+ <div
14
+ v-if="$slots.prepend"
15
+ class="psui-el-input-prepend"
16
+ >
17
+ <slot name="prepend" />
13
18
  </div>
14
19
  <PsRichTooltip
15
20
  class="psui-w-full"
16
21
  css-class="psui-w-48"
17
22
  :ignore-dialog="!showTooltip"
18
23
  >
19
- <template v-slot:trigger>
24
+ <template #trigger>
20
25
  <input
21
26
  :title="title"
22
27
  :type="type"
@@ -33,25 +38,36 @@
33
38
  @change="$emit('change', $event)"
34
39
  v-bind="getAttrs"
35
40
  :class="{ 'focus': isFocus }"
36
- />
41
+ >
37
42
  </template>
38
- <template v-slot:content>
43
+ <template #content>
39
44
  <div class="text-left">
40
45
  {{ tooltipText }}
41
46
  </div>
42
47
  </template>
43
48
  </PsRichTooltip>
44
- <div v-if="$slots.append || hasError" class="psui-el-input-append">
45
- <span v-if="hasError" class="material-icons psui-text-red-20 material-icons-sharp">error</span>
46
- <slot v-else name="append"></slot>
49
+ <div
50
+ v-if="$slots.append || hasError"
51
+ class="psui-el-input-append"
52
+ >
53
+ <span
54
+ v-if="hasError"
55
+ class="material-icons psui-text-red-20 material-icons-sharp"
56
+ >error</span>
57
+ <slot
58
+ v-else
59
+ name="append"
60
+ />
47
61
  </div>
48
62
  </div>
49
63
 
50
- <p v-if="hint || (hasError && typeof hasError === 'string')" class="psui-el-input-hint">
64
+ <p
65
+ v-if="hint || (hasError && typeof hasError === 'string')"
66
+ class="psui-el-input-hint"
67
+ >
51
68
  {{ typeof hasError === 'string' ? hasError : hint }}
52
- </p>
53
-
54
- </div>
69
+ </p>
70
+ </div>
55
71
  </template>
56
72
 
57
73
  <script>
@@ -1,17 +1,39 @@
1
1
  <template>
2
- <div class="psui-el-input-select" :class="[getComponentClass, {'selected':selectedClass}, {'disabled':disabled}]">
3
- <label :for='label' v-if="label" >{{ label }}</label>
2
+ <div
3
+ class="psui-el-input-select"
4
+ :class="[getComponentClass, {'selected':selectedClass}, {'disabled':disabled}]"
5
+ >
6
+ <label
7
+ :for="label"
8
+ v-if="label"
9
+ >{{ label }}</label>
4
10
  <div class="psui-el-input-select-wrapper">
5
- <select
6
- :name="label"
7
- :id="label"
8
- v-model="childValue"
9
- >
10
- <option value='' disabled>Select</option>
11
- <option v-for="item in getItems" :value="item[keyValue]" :key="item[keyValue]">{{ item[keyLabel] }}</option>
12
- </select>
11
+ <select
12
+ :name="label"
13
+ :id="label"
14
+ v-model="childValue"
15
+ >
16
+ <option
17
+ value=""
18
+ disabled
19
+ >
20
+ Select
21
+ </option>
22
+ <option
23
+ v-for="item in getItems"
24
+ :value="item[keyValue]"
25
+ :key="item[keyValue]"
26
+ >
27
+ {{ item[keyLabel] }}
28
+ </option>
29
+ </select>
13
30
  </div>
14
- <p v-if="optionalLabel && !disabled && layout !== 'mini'" class="psui-el-input-helper">{{ optionalLabel }}</p>
31
+ <p
32
+ v-if="optionalLabel && !disabled && layout !== 'mini'"
33
+ class="psui-el-input-helper"
34
+ >
35
+ {{ optionalLabel }}
36
+ </p>
15
37
  </div>
16
38
  </template>
17
39
 
@@ -1,7 +1,13 @@
1
1
  <template>
2
- <div class="psui-el-input-textarea" :class="[{'disabled':disabled}]">
2
+ <div
3
+ class="psui-el-input-textarea"
4
+ :class="[{'disabled':disabled}]"
5
+ >
3
6
  <div class="psui-el-input-textarea-wrapper">
4
- <label :for="label" v-if="label">{{label}}</label>
7
+ <label
8
+ :for="label"
9
+ v-if="label"
10
+ >{{ label }}</label>
5
11
  <textarea
6
12
  :id="label"
7
13
  :autocapitalize="autocapitalize"
@@ -13,10 +19,15 @@
13
19
  @change="$emit('change', $event)"
14
20
  :rows="rows"
15
21
  :placeholder="placeholder"
16
- :readonly='disabled'
22
+ :readonly="disabled"
17
23
  />
18
24
  </div>
19
- <p class="psui-el-input-textarea-message" v-if="optionalLabel && !disabled">{{optionalLabel}}</p>
25
+ <p
26
+ class="psui-el-input-textarea-message"
27
+ v-if="optionalLabel && !disabled"
28
+ >
29
+ {{ optionalLabel }}
30
+ </p>
20
31
  </div>
21
32
  </template>
22
33
 
@@ -13,7 +13,7 @@
13
13
  <router-link
14
14
  v-if="item.route && !item.isReset"
15
15
  :to="item.route"
16
- @click.native="onNavigate(item)"
16
+ @click="onNavigate(item)"
17
17
  >
18
18
  {{ item.title }}
19
19
  </router-link>
@@ -1,22 +1,28 @@
1
1
  <template>
2
- <div class="psui-el-dialog" :class="getComponentClass">
2
+ <div
3
+ class="psui-el-dialog"
4
+ :class="getComponentClass"
5
+ >
3
6
  <div class="psui-el-dialog-icon">
4
- <i class="material-icons-round">{{icon}}</i>
7
+ <i class="material-icons-round">{{ icon }}</i>
5
8
  </div>
6
9
  <div class="psui-el-dialog-wrapper">
7
10
  <div class="psui-el-dialog-default">
8
11
  <slot>
9
- <p class="psui-el-dialog-message">{{ message }}</p>
12
+ <p class="psui-el-dialog-message">
13
+ {{ message }}
14
+ </p>
10
15
  </slot>
11
16
  </div>
12
17
  <div class="psui-el-dialog-action">
13
- <slot name="action"></slot>
18
+ <slot name="action" />
14
19
  </div>
15
20
  </div>
16
21
  <button
17
22
  class="psui-el-dialog-close"
18
23
  v-if="hasClose"
19
- @click="onClose">
24
+ @click="onClose"
25
+ >
20
26
  <i class="material-icons-round">close</i>
21
27
  </button>
22
28
  </div>
@@ -1,13 +1,25 @@
1
- <template >
2
- <div class="psui-el-simple-alert" v-bind="$attrs" @click.stop="$emit('click')">
3
- <PsIcon
4
- :icon="icon"
5
- :icon-classes="iconClass"
6
- :size="iconSize"
7
- />
8
- <p class="psui-el-simple-alert-message">{{ message }}</p>
9
- <button class="psui-el-simple-alert-button" :class="buttonClass" @click.stop="$emit('close')">close</button>
10
- </div>
1
+ <template>
2
+ <div
3
+ class="psui-el-simple-alert"
4
+ v-bind="$attrs"
5
+ @click.stop="$emit('click')"
6
+ >
7
+ <PsIcon
8
+ :icon="icon"
9
+ :icon-classes="iconClass"
10
+ :size="iconSize"
11
+ />
12
+ <p class="psui-el-simple-alert-message">
13
+ {{ message }}
14
+ </p>
15
+ <button
16
+ class="psui-el-simple-alert-button"
17
+ :class="buttonClass"
18
+ @click.stop="$emit('close')"
19
+ >
20
+ close
21
+ </button>
22
+ </div>
11
23
  </template>
12
24
 
13
25
  <script>
@@ -1,9 +1,14 @@
1
1
  <template>
2
- <div class='psui-el-toast' :class="getComponentClass">
2
+ <div
3
+ class="psui-el-toast"
4
+ :class="getComponentClass"
5
+ >
3
6
  <i class="material-icons-round psui-el-toast-icon">{{ icon }}</i>
4
- <p class="psui-el-toast-message">{{ message }}</p>
7
+ <p class="psui-el-toast-message">
8
+ {{ message }}
9
+ </p>
5
10
  <div class="psui-el-toast-actions">
6
- <slot></slot>
11
+ <slot />
7
12
  </div>
8
13
  </div>
9
14
  </template>
@@ -4,97 +4,169 @@
4
4
  class="visible-scrollbar psui-flex psui-flex-col psui-h-full psui-w-56 psui-bg-gray-30 psui-p-2"
5
5
  @click="onClick"
6
6
  >
7
- <h2 class="psui-font-bold">Scrollbar Playground (click over here to copy the computed style to clipboard)</h2>
8
- <p >Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
9
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
10
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
11
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
12
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
13
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
14
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
15
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
16
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
17
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
18
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
19
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
20
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
21
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
22
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
23
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
24
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
25
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
26
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
27
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
28
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
29
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
30
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
31
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
32
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
7
+ <h2 class="psui-font-bold">
8
+ Scrollbar Playground (click over here to copy the computed style to clipboard)
9
+ </h2>
10
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
11
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
12
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
13
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
14
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
15
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
16
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
17
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
18
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
19
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
20
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
21
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
22
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
23
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
24
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
25
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
26
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
27
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
28
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
29
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
30
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
31
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
32
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
33
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
34
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
33
35
  </div>
34
36
  <div class="psui-flex psui-bg-gray-60 psui-p-2 psui-gap-4">
35
37
  <div class="psui-flex psui-flex-col">
36
38
  <div class="psui-flex psui-flex-col psui-w-48">
37
39
  <label for="width">Scroll Width (px)</label>
38
- <input type="text" id="width" name="width" @change="onChange">
40
+ <input
41
+ type="text"
42
+ id="width"
43
+ name="width"
44
+ @change="onChange"
45
+ >
39
46
  </div>
40
47
  <div class="psui-flex psui-flex-col psui-w-48">
41
48
  <label for="width">Scroll Height (px)</label>
42
- <input type="text" id="height" name="height" @change="onChange">
49
+ <input
50
+ type="text"
51
+ id="height"
52
+ name="height"
53
+ @change="onChange"
54
+ >
43
55
  </div>
44
56
  <div class="psui-flex psui-flex-col psui-w-48">
45
57
  <label for="width">ScrollTrack Color</label>
46
- <input type="text" id="track" name="track" @change="onChange">
58
+ <input
59
+ type="text"
60
+ id="track"
61
+ name="track"
62
+ @change="onChange"
63
+ >
47
64
  </div>
48
65
  <div class="psui-flex psui-flex-col psui-w-48">
49
66
  <label for="width">Thumb Color</label>
50
- <input type="text" id="thumb" name="thumb" @change="onChange">
67
+ <input
68
+ type="text"
69
+ id="thumb"
70
+ name="thumb"
71
+ @change="onChange"
72
+ >
51
73
  </div>
52
74
  <div class="psui-flex psui-flex-col psui-w-48">
53
75
  <label for="width">Thumb Border-Radius (px)</label>
54
- <input type="text" id="thumb-radius" name="thumb-radius" @change="onChange">
76
+ <input
77
+ type="text"
78
+ id="thumb-radius"
79
+ name="thumb-radius"
80
+ @change="onChange"
81
+ >
55
82
  </div>
56
83
  <div class="psui-flex psui-flex-col psui-w-48">
57
84
  <label for="width">Thumb Border Size(px)</label>
58
- <input type="text" id="thumb-border" name="thumb-border" @change="onChange">
85
+ <input
86
+ type="text"
87
+ id="thumb-border"
88
+ name="thumb-border"
89
+ @change="onChange"
90
+ >
59
91
  </div>
60
92
  <div class="psui-flex psui-flex-col psui-w-48">
61
93
  <label for="width">Thumb Border Color</label>
62
- <input type="text" id="thumb-border-color" name="thumb-border-color" @change="onChange">
94
+ <input
95
+ type="text"
96
+ id="thumb-border-color"
97
+ name="thumb-border-color"
98
+ @change="onChange"
99
+ >
63
100
  </div>
64
101
  <div class="psui-flex psui-flex-col psui-w-48">
65
102
  <label for="width">Thumb Border Style</label>
66
- <select id="thumb-border-style" name="thumb-border-style" v-model="selectedStyle">
67
- <option value="" hidden selected></option>
68
- <option
69
- v-for="(style, index) in borderStyle"
70
- :value="style"
71
- :key="index"
72
- >{{style}}</option>
103
+ <select
104
+ id="thumb-border-style"
105
+ name="thumb-border-style"
106
+ v-model="selectedStyle"
107
+ >
108
+ <option
109
+ value=""
110
+ hidden
111
+ selected
112
+ />
113
+ <option
114
+ v-for="(style, index) in borderStyle"
115
+ :value="style"
116
+ :key="index"
117
+ >
118
+ {{ style }}
119
+ </option>
73
120
  </select>
74
121
  </div>
75
122
  </div>
76
123
  <div class="psui-flex psui-flex-col">
77
124
  <div class="psui-flex psui-flex-col psui-w-48">
78
125
  <label for="width">Thumb Hover Color</label>
79
- <input type="text" id="thumb-hover-color" name="thumb-hover-color" @change="onChange">
126
+ <input
127
+ type="text"
128
+ id="thumb-hover-color"
129
+ name="thumb-hover-color"
130
+ @change="onChange"
131
+ >
80
132
  </div>
81
133
  <div class="psui-flex psui-flex-col psui-w-48">
82
134
  <label for="width">Thumb Hover Border Size</label>
83
- <input type="text" id="thumb-hover-border-size" name="thumb-hover-border-size" @change="onChange">
135
+ <input
136
+ type="text"
137
+ id="thumb-hover-border-size"
138
+ name="thumb-hover-border-size"
139
+ @change="onChange"
140
+ >
84
141
  </div>
85
142
  <div class="psui-flex psui-flex-col psui-w-48">
86
143
  <label for="width">Thumb Hover Border Color</label>
87
- <input type="text" id="thumb-hover-border-color" name="thumb-hover-border-color" @change="onChange">
144
+ <input
145
+ type="text"
146
+ id="thumb-hover-border-color"
147
+ name="thumb-hover-border-color"
148
+ @change="onChange"
149
+ >
88
150
  </div>
89
151
  <div class="psui-flex psui-flex-col psui-w-48">
90
152
  <label for="width">Thumb Border Style</label>
91
- <select id="thumb-border-style" name="thumb-border-style" v-model="selectedHoverStyle">
92
- <option value="" hidden selected></option>
93
- <option
94
- v-for="(style, index) in borderStyle"
95
- :value="style"
96
- :key="index"
97
- >{{style}}</option>
153
+ <select
154
+ id="thumb-border-style"
155
+ name="thumb-border-style"
156
+ v-model="selectedHoverStyle"
157
+ >
158
+ <option
159
+ value=""
160
+ hidden
161
+ selected
162
+ />
163
+ <option
164
+ v-for="(style, index) in borderStyle"
165
+ :value="style"
166
+ :key="index"
167
+ >
168
+ {{ style }}
169
+ </option>
98
170
  </select>
99
171
  </div>
100
172
  </div>