playbook_ui 2.9.2 → 2.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/pb.logo.svg +28 -0
  3. data/app/helpers/playbook/pb_doc_helper.rb +9 -12
  4. data/app/helpers/playbook/pb_kit_helper.rb +12 -30
  5. data/app/pb_kits/playbook/_playbook.scss +50 -0
  6. data/app/pb_kits/playbook/index.js +10 -9
  7. data/app/pb_kits/playbook/kits/pb_contact.js +4 -0
  8. data/app/pb_kits/playbook/kits/pb_person.js +4 -0
  9. data/app/pb_kits/playbook/kits/pb_person_contact.js +4 -0
  10. data/app/pb_kits/playbook/packs/application.js +3 -3
  11. data/app/pb_kits/playbook/packs/examples.js +85 -127
  12. data/app/pb_kits/playbook/packs/kits.js +36 -36
  13. data/app/pb_kits/playbook/packs/main.scss +1 -1
  14. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +7 -0
  15. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +1 -1
  16. data/app/pb_kits/playbook/pb_button/_button.jsx +48 -49
  17. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +8 -2
  18. data/app/pb_kits/playbook/pb_card/_card.html.erb +2 -2
  19. data/app/pb_kits/playbook/pb_card/child_kits/_card_body.html.erb +1 -1
  20. data/app/pb_kits/playbook/pb_contact/_contact.html.erb +6 -0
  21. data/app/pb_kits/playbook/pb_contact/_contact.jsx +72 -0
  22. data/app/pb_kits/playbook/{pb_phone/_phone.scss → pb_contact/_contact.scss} +0 -0
  23. data/app/pb_kits/playbook/pb_contact/contact.rb +78 -0
  24. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +18 -0
  25. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +26 -0
  26. data/app/pb_kits/playbook/pb_contact/docs/example.yml +8 -0
  27. data/app/pb_kits/playbook/pb_contact/docs/index.js +1 -0
  28. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +16 -13
  29. data/app/pb_kits/playbook/pb_hashtag/_hashtag.html.erb +2 -2
  30. data/app/pb_kits/playbook/pb_hashtag/hashtag.rb +20 -59
  31. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.html.erb +3 -3
  32. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +18 -61
  33. data/app/pb_kits/playbook/pb_input/_input.html.erb +1 -1
  34. data/app/pb_kits/playbook/pb_input/_input.jsx +2 -2
  35. data/app/pb_kits/playbook/pb_input/_input.scss +1 -1
  36. data/app/pb_kits/playbook/pb_input/input.rb +10 -79
  37. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +1 -1
  38. data/app/pb_kits/playbook/{pb_owner/_owner.html.erb → pb_person/_person.html.erb} +1 -1
  39. data/app/pb_kits/playbook/pb_person/_person.jsx +36 -0
  40. data/app/pb_kits/playbook/{pb_owner/_owner.scss → pb_person/_person.scss} +2 -2
  41. data/app/pb_kits/playbook/pb_person/docs/_person_default.html.erb +1 -0
  42. data/app/pb_kits/playbook/pb_person/docs/_person_default.jsx +13 -0
  43. data/app/pb_kits/playbook/pb_person/docs/example.yml +9 -0
  44. data/app/pb_kits/playbook/pb_person/docs/index.js +1 -0
  45. data/app/pb_kits/playbook/{pb_owner/owner.rb → pb_person/person.rb} +18 -14
  46. data/app/pb_kits/playbook/pb_person_contact/_person_contact.html.erb +12 -0
  47. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +49 -0
  48. data/app/pb_kits/playbook/{pb_owner_phone/_owner_phone.scss → pb_person_contact/_person_contact.scss} +3 -3
  49. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_default.html.erb +21 -0
  50. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_default.jsx +34 -0
  51. data/app/pb_kits/playbook/pb_person_contact/docs/example.yml +8 -0
  52. data/app/pb_kits/playbook/pb_person_contact/docs/index.js +1 -0
  53. data/app/pb_kits/playbook/pb_person_contact/person_contact.rb +55 -0
  54. data/app/pb_kits/playbook/props.rb +4 -4
  55. data/app/pb_kits/playbook/props/base.rb +7 -3
  56. data/app/pb_kits/playbook/props/number.rb +11 -0
  57. data/app/pb_kits/playbook/props/proc.rb +11 -0
  58. data/app/pb_kits/playbook/tokens/_colors.scss +12 -8
  59. data/app/views/layouts/playbook/_nav.html.slim +2 -2
  60. data/app/views/playbook/pages/principles.html.slim +0 -2
  61. data/fonts/fontawesome.min.js +5 -0
  62. data/fonts/regular.min.js +5 -0
  63. data/lib/generators/kit/kit_generator.rb +2 -2
  64. data/lib/playbook/version.rb +1 -1
  65. metadata +35 -32
  66. data/app/pb_kits/playbook/kits/pb_owner.js +0 -4
  67. data/app/pb_kits/playbook/kits/pb_owner_phone.js +0 -4
  68. data/app/pb_kits/playbook/kits/pb_phone.js +0 -4
  69. data/app/pb_kits/playbook/packs/site_styles/_kit_style_index.scss +0 -50
  70. data/app/pb_kits/playbook/pb_owner/_owner.jsx +0 -21
  71. data/app/pb_kits/playbook/pb_owner/docs/_owner_default.html.erb +0 -1
  72. data/app/pb_kits/playbook/pb_owner/docs/_owner_default.jsx +0 -10
  73. data/app/pb_kits/playbook/pb_owner/docs/example.yml +0 -9
  74. data/app/pb_kits/playbook/pb_owner/docs/index.js +0 -1
  75. data/app/pb_kits/playbook/pb_owner_phone/_owner_phone.html.erb +0 -7
  76. data/app/pb_kits/playbook/pb_owner_phone/_owner_phone.jsx +0 -21
  77. data/app/pb_kits/playbook/pb_owner_phone/docs/_owner_phone_default.html.erb +0 -6
  78. data/app/pb_kits/playbook/pb_owner_phone/docs/_owner_phone_default.jsx +0 -10
  79. data/app/pb_kits/playbook/pb_owner_phone/docs/example.yml +0 -9
  80. data/app/pb_kits/playbook/pb_owner_phone/docs/index.js +0 -1
  81. data/app/pb_kits/playbook/pb_owner_phone/owner_phone.rb +0 -62
  82. data/app/pb_kits/playbook/pb_phone/_phone.html.erb +0 -6
  83. data/app/pb_kits/playbook/pb_phone/_phone.jsx +0 -21
  84. data/app/pb_kits/playbook/pb_phone/docs/_phone_default.html.erb +0 -4
  85. data/app/pb_kits/playbook/pb_phone/docs/_phone_default.jsx +0 -10
  86. data/app/pb_kits/playbook/pb_phone/docs/example.yml +0 -9
  87. data/app/pb_kits/playbook/pb_phone/docs/index.js +0 -1
  88. data/app/pb_kits/playbook/pb_phone/phone.rb +0 -70
  89. data/fonts/fontawesome.js +0 -1978
  90. data/fonts/regular.js +0 -1217
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13114319173900990299c2a53d4a0766cabefab09e99383dec2fe307586d87eb
4
- data.tar.gz: 5d12440ba5da9bedc49e4690cb060a5b15a9d51c30285689d89c925e8e7ac186
3
+ metadata.gz: 83bfef20c888012751cbe3ff287d6850546328ff1f8916c1d3fb66afb80e7575
4
+ data.tar.gz: e7fdc38479036276b05a245ac437f6de3261189d563371741b8171eb0da18947
5
5
  SHA512:
6
- metadata.gz: b644819666a2f8e2ff94af2d908f39d84773bfb68782331eb05f2b7632bd62ad28b8f62e317a8c5e486e099509e636f9c503ab996635612813426737a4c6fb83
7
- data.tar.gz: 27f374447a529bbfe8be2d94e03629dea7eaa8bd3179c09a59a75dc1fcdf4a8c7de41eac62087658a3db6f6b0480bf540d472a3f6627e2b46ceed508dd0130d8
6
+ metadata.gz: 98f925395f71c5f1528940d90726ed404b9651838ee20f21150653d7c62b3d19f354048b194a969116e294c89efd89b340c92d7406fb2646ff805066d1d5065a
7
+ data.tar.gz: b3971889b97ffdb28929751dd5b17ce64f6b15dd35dfec1bc98bc07c32d019bd019f28c6ae6bbf42c0a46c4ce9412c3222fefdf82c38ff3249d9da762a2a307b
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="141px" height="39px" viewBox="0 0 141 39" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 58 (84663) - https://sketch.com -->
4
+ <title>Page 1</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <polygon id="path-1" points="31.27995 38.3709677 6.29032258e-05 38.3709677 6.29032258e-05 0.0894483871 31.27995 0.0894483871 31.27995 38.3709677"></polygon>
8
+ </defs>
9
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="Artboard" transform="translate(-26.000000, -96.000000)">
11
+ <g id="Page-1" transform="translate(26.000000, 96.000000)">
12
+ <path d="M38.900986,25.7250725 L38.900986,20.0998494 L42.9692278,20.0998494 C46.7361183,20.0998494 48.7953517,17.5634764 48.7953517,14.5499641 C48.7953517,11.5113391 46.7361183,8.97496614 42.9692278,8.97496614 L34.5816183,8.97496614 L34.5816183,25.7250725 L38.900986,25.7250725 Z M42.3163001,16.3329589 L38.900986,16.3329589 L38.900986,12.7418566 L42.3163001,12.7418566 C43.4714798,12.7418566 44.4006462,13.3947843 44.4006462,14.5499641 C44.4006462,15.6800312 43.4714798,16.3329589 42.3163001,16.3329589 Z M54.4896223,25.7250725 L54.4896223,8.97496614 L50.6222814,8.97496614 L50.6222814,25.7250725 L54.4896223,25.7250725 Z M68.3203764,25.7250725 L68.3203764,18.1410663 C68.3203764,14.3741758 65.5831026,13.2943339 62.6700407,13.2943339 C60.811708,13.2943339 58.7273619,13.8468112 57.1703805,15.1777791 L58.6017989,17.8648277 C59.5811905,17.0361118 60.7865954,16.5589723 61.9920004,16.5589723 C63.5489818,16.5589723 64.4530355,17.2872378 64.4530355,18.3419671 L64.4530355,19.5473721 C63.72477,18.6433184 62.2933516,18.1159537 60.686145,18.1159537 L60.5385458,18.1180063 C58.7078145,18.1688571 56.5174529,19.1726656 56.5174529,22.0335198 C56.5174529,24.745681 58.8278124,26.0264237 60.686145,26.0264237 C62.2431264,26.0264237 63.6996574,25.4237213 64.4530355,24.5196675 L64.4530355,25.7250725 L68.3203764,25.7250725 Z M62.2933516,23.4900508 C61.2888475,23.4900508 60.3596812,23.0380239 60.3596812,22.083745 C60.3596812,21.1294661 61.2888475,20.6774392 62.2933516,20.6774392 C63.1471801,20.6774392 64.0512338,20.9536779 64.4530355,21.5312678 L64.4530355,22.6111097 C64.0512338,23.1886996 63.1471801,23.4900508 62.2933516,23.4900508 Z M70.8755716,30.4462419 C71.2773732,30.5718049 72.181427,30.6471427 72.5330034,30.6471427 L72.7503997,30.6408447 C74.9447008,30.5602028 76.6513638,29.9591284 77.6094597,27.5764643 L83.130522,13.5956851 L79.0371676,13.5956851 L76.2998939,21.2801417 L73.5375075,13.5956851 L69.4692658,13.5956851 L74.3159982,25.9008607 L74.0397596,26.5537884 C73.8137462,27.0560405 73.2612689,27.2318287 72.3823278,27.2318287 C72.0809765,27.2318287 71.7042875,27.1564909 71.4280489,27.0058153 L70.8755716,30.4462419 Z M88.1467523,21.5312678 L88.1467523,17.8146025 C88.6238917,17.1616748 89.6283959,16.7096479 90.4571118,16.7096479 C91.9889806,16.7096479 93.1441603,17.8397151 93.1441603,19.6478225 C93.1441603,21.4810425 91.9889806,22.6111097 90.4571118,22.6111097 C89.6283959,22.6111097 88.6238917,22.1841954 88.1467523,21.5312678 Z M88.1467523,25.7250725 L88.1467523,24.3187667 C89.1512564,25.4739465 90.381774,26.0264237 91.7378545,26.0264237 C94.7262543,26.0264237 97.086839,23.7662894 97.086839,19.6478225 C97.086839,15.6800312 94.7764795,13.2943339 91.7378545,13.2943339 C90.4068866,13.2943339 89.1010312,13.8216986 88.1467523,15.0271035 L88.1467523,8.97496614 L84.2794114,8.97496614 L84.2794114,25.7250725 L88.1467523,25.7250725 Z M104.915681,26.0264237 C109.084373,26.0264237 111.545408,23.0631366 111.545408,19.6478225 C111.545408,16.2325085 109.084373,13.2943339 104.915681,13.2943339 C100.797214,13.2943339 98.3361789,16.2325085 98.3361789,19.6478225 C98.3361789,23.0631366 100.797214,26.0264237 104.915681,26.0264237 Z M104.915681,22.6111097 C103.258249,22.6111097 102.30397,21.2801417 102.30397,19.6478225 C102.30397,18.0406159 103.258249,16.7096479 104.915681,16.7096479 C106.623338,16.7096479 107.577617,18.0406159 107.577617,19.6478225 C107.577617,21.2801417 106.623338,22.6111097 104.915681,22.6111097 Z M119.37425,26.0264237 C123.542942,26.0264237 126.003977,23.0631366 126.003977,19.6478225 C126.003977,16.2325085 123.542942,13.2943339 119.37425,13.2943339 C115.255783,13.2943339 112.794748,16.2325085 112.794748,19.6478225 C112.794748,23.0631366 115.255783,26.0264237 119.37425,26.0264237 Z M119.37425,22.6111097 C117.716818,22.6111097 116.762539,21.2801417 116.762539,19.6478225 C116.762539,18.0406159 117.716818,16.7096479 119.37425,16.7096479 C121.081907,16.7096479 122.036186,18.0406159 122.036186,19.6478225 C122.036186,21.2801417 121.081907,22.6111097 119.37425,22.6111097 Z M140.487659,25.7250725 L135.716264,25.7250725 L133.054328,21.4308173 L131.899149,22.8120105 L131.899149,25.7250725 L128.031808,25.7250725 L128.031808,8.97496614 L131.899149,8.97496614 L131.899149,18.4424176 L135.590701,13.5956851 L140.261646,13.5956851 L135.791602,19.1204578 L140.487659,25.7250725 Z" id="Playbook" fill="#064DFF" fill-rule="nonzero"></path>
13
+ <g id="Group-10" transform="translate(0.000000, 0.225194)">
14
+ <g id="Group-3">
15
+ <mask id="mask-2" fill="white">
16
+ <use xlink:href="#path-1"></use>
17
+ </mask>
18
+ <g id="Clip-2"></g>
19
+ <path d="M16.0020145,0.0894483871 C14.7618774,0.0894483871 13.7532242,1.1037629 13.7532242,2.35019032 L13.7532242,5.51862581 L0.999595161,14.8644726 L0.987329032,14.8735935 L0.975377419,14.8824 L0.968458065,14.8877468 C0.361441935,15.340021 6.29032258e-05,16.06215 6.29032258e-05,16.8235935 L6.29032258e-05,26.4795532 C6.29032258e-05,27.2479161 0.363958065,27.9722468 0.974748387,28.424521 L0.986070968,28.4326984 L0.992675806,28.4377306 L0.999595161,28.4427629 L13.9551435,37.9364323 C14.3423129,38.2204403 14.7999339,38.3710935 15.2779984,38.3710935 C16.51845,38.3710935 17.5274177,37.3564645 17.5274177,36.1097226 L17.5274177,32.9419161 L30.2804177,23.5957548 L30.2929984,23.5869484 L30.30495,23.5778274 L30.3109258,23.5731097 C30.9182565,23.1208355 31.27995,22.3983919 31.27995,21.6366339 L31.27995,11.9809887 C31.27995,11.2110532 30.9154258,10.4864081 30.3036919,10.0347629 L30.2929984,10.0269 L30.2870226,10.0221823 L30.2804177,10.0174645 L17.3248694,0.523795161 C16.9380145,0.240101613 16.4803935,0.0894483871 16.0020145,0.0894483871 M16.0020145,1.97654516 C16.0724661,1.97654516 16.1441758,1.99793226 16.2092806,2.04605323 L29.1651435,11.5397226 L29.1805548,11.5510452 C29.3139097,11.6485452 29.3928532,11.8073758 29.3928532,11.9759565 L29.3928532,11.9809887 L29.3928532,21.6331742 L29.3928532,21.6366339 C29.3928532,21.8064726 29.3132806,21.9649887 29.1796113,22.0628032 L29.1651435,22.0734968 L15.640321,31.9851581 L15.640321,36.1097226 C15.640321,36.3305129 15.46545,36.4839968 15.2779984,36.4839968 C15.2078613,36.4839968 15.1358371,36.4619806 15.0704177,36.4141742 L2.11518387,26.9208194 L2.09977258,26.9091823 C1.96610323,26.8113677 1.88715968,26.6531661 1.88715968,26.4845855 L1.88715968,26.4795532 L1.88715968,16.8273677 L1.88715968,16.8235935 C1.88715968,16.6540694 1.96673226,16.4952387 2.10040161,16.3977387 L2.11518387,16.3864161 L15.640321,6.47506935 L15.640321,2.35019032 C15.640321,2.13002903 15.8145629,1.97654516 16.0020145,1.97654516" id="Fill-1" fill="#064DFF" mask="url(#mask-2)"></path>
20
+ </g>
21
+ <polygon id="Fill-4" fill="#064DFF" points="11.4547403 17.0330927 10.5942242 16.1725766 8.31272419 18.4540766 6.03122419 16.1725766 5.17070806 17.0330927 7.45189355 19.3145927 5.17070806 21.5964073 6.03122419 22.4569234 8.31272419 20.1751089 10.5942242 22.4569234 11.4547403 21.5964073 9.17324032 19.3145927"></polygon>
22
+ <path d="M22.805596,15.6235887 C20.7672169,15.6235887 19.1144347,17.2760565 19.1144347,19.3144355 C19.1144347,21.3534435 20.7672169,23.0059113 22.805596,23.0059113 C24.843975,23.0059113 26.4964427,21.3534435 26.4964427,19.3144355 C26.4964427,17.2760565 24.843975,15.6235887 22.805596,15.6235887 M22.805596,16.8407661 C24.1696524,16.8407661 25.2792653,17.950379 25.2792653,19.3144355 C25.2792653,20.6788065 24.1696524,21.7887339 22.805596,21.7887339 C21.441225,21.7887339 20.3316121,20.6788065 20.3316121,19.3144355 C20.3316121,17.950379 21.441225,16.8407661 22.805596,16.8407661" id="Fill-6" fill="#064DFF"></path>
23
+ <path d="M18.8099516,17.7868306 L15.2804516,13.9664032 L11.759129,17.7868306 L12.6212177,18.5897903 L14.6907339,16.3293629 L14.6907339,22.8977177 C14.6907339,23.2229274 14.9542984,23.4864919 15.2791935,23.4864919 C15.6047177,23.4864919 15.8679677,23.2229274 15.8679677,22.8977177 L15.8679677,16.3271613 L17.9478629,18.5897903 L18.8099516,17.7868306 Z" id="Fill-8" fill="#064DFF"></path>
24
+ </g>
25
+ </g>
26
+ </g>
27
+ </g>
28
+ </svg>
@@ -9,9 +9,9 @@ module Playbook
9
9
  def has_kit_type?(kit, type)
10
10
  type ||= "rails"
11
11
  if type == "rails"
12
- return Dir["playbook/pb_#{kit}/*.html.erb"].empty?
12
+ Dir["playbook/pb_#{kit}/*.html.erb"].empty?
13
13
  elsif type == "react"
14
- return Dir["playbook/pb_#{kit}/*.jsx"].empty?
14
+ Dir["playbook/pb_#{kit}/*.jsx"].empty?
15
15
  end
16
16
  end
17
17
 
@@ -33,7 +33,7 @@ module Playbook
33
33
  end
34
34
 
35
35
  def pb_kit_api(kit)
36
- kit_class_obj = get_class_name(kit)
36
+ kit_class_obj = get_class_name(kit.to_s)
37
37
  @kit_api = if kit_class_obj < Playbook::PbKit::Base
38
38
  kit_class_obj.instance_method(:initialize).parameters.map(&:last)
39
39
  else
@@ -49,20 +49,17 @@ module Playbook
49
49
  "app", "pb_kits", "playbook", "pb_#{kit}", "docs", "example.yml")
50
50
  if File.exist? example_file
51
51
  examples_list = YAML.load_file(example_file)
52
- examples_list = examples_list.inject({}) { |item, (k, v)| item[k.to_sym] = v; item }
53
- all_kit_examples = {}
54
- all_kit_examples[:kit] = kit
55
- all_kit_examples[:examples] = examples_list[:examples][type]
56
- return all_kit_examples
52
+ .inject({}) { |item, (k, v)| item[k.to_sym] = v; item }
53
+ { kit: kit, examples: examples_list[:examples][type] }
57
54
  else
58
- return {}
55
+ {}
59
56
  end
60
57
  end
61
58
 
62
59
  def get_class_name(kit)
63
- folder = is_subkit?(kit) ? pb_camelize(kit.split("/")[0]) : pb_camelize(kit)
64
- item = is_subkit?(kit) ? pb_camelize(kit.split("/")[-1]) : pb_camelize(kit)
65
- "Playbook::Pb#{folder}::#{item}".safe_constantize
60
+ folder = is_subkit?(kit) ? kit.split("/")[0] : kit
61
+ item = is_subkit?(kit) ? kit.split("/")[-1] : kit
62
+ "Playbook::Pb#{folder.camelize}::#{item.camelize}".safe_constantize
66
63
  end
67
64
 
68
65
  def render_clickable_title(kit)
@@ -7,47 +7,29 @@ require "webpacker/react/component"
7
7
  module Playbook
8
8
  module PbKitHelper
9
9
  def pb_rails(kit, props: {}, &block)
10
- render_rails(kit, props, &block)
10
+ previous = prefix_partial_path_with_controller_namespace
11
+ self.prefix_partial_path_with_controller_namespace = false
12
+ kit = build_view_model(kit.to_s, props, &block)
13
+ render(partial: kit, as: :object)
14
+ ensure
15
+ self.prefix_partial_path_with_controller_namespace = previous
11
16
  end
12
17
 
13
18
  def pb_react(kit, props: {}, options: {})
14
- render_react(kit, props, options)
19
+ ::Webpacker::React::Component.new(kit.camelize).render(props, options)
15
20
  end
16
21
 
17
22
  private
18
23
 
19
- def render_rails(kit, props, &block)
20
- props = defined?(props) && !props.nil? ? props : {}
21
- kit_class_obj = get_class_name(kit)
22
- original_value = ActionView::Base.prefix_partial_path_with_controller_namespace
23
- ActionView::Base.prefix_partial_path_with_controller_namespace = true
24
- render(partial: kit_class_obj.new(**props, &block), as: :object)
25
- rescue ActionView::MissingTemplate
26
- ActionView::Base.prefix_partial_path_with_controller_namespace = false
27
- render(partial: kit_class_obj.new(**props, &block), as: :object)
28
- ensure
29
- ActionView::Base.prefix_partial_path_with_controller_namespace = original_value
30
- end
31
-
32
- def render_react(kit, props, options)
33
- if defined?(props[:props]) && !props[:props].nil?
34
- props = props[:props] if props.keys[0] === :props
35
- end
36
- ::Webpacker::React::Component.new(kit.camelize).render(props, options)
37
- end
38
-
39
24
  def is_subkit?(kit)
40
25
  kit.match(%r{[/\\]})
41
26
  end
42
27
 
43
- def pb_camelize(string)
44
- string.to_s.tr(" ", "_").camelize
45
- end
46
-
47
- def get_class_name(kit)
48
- folder = is_subkit?(kit) ? pb_camelize(kit.split("/")[0]) : pb_camelize(kit)
49
- item = is_subkit?(kit) ? pb_camelize(kit.split("/")[-1]) : pb_camelize(kit)
50
- "Playbook::Pb#{folder}::#{item}".safe_constantize
28
+ def build_view_model(kit, props, &block)
29
+ folder = is_subkit?(kit) ? kit.split("/")[0] : kit
30
+ item = is_subkit?(kit) ? kit.split("/")[-1] : kit
31
+ class_name = "Playbook::Pb#{folder.camelize}::#{item.camelize}"
32
+ class_name.safe_constantize.new(props, &block)
51
33
  end
52
34
  end
53
35
  end
@@ -0,0 +1,50 @@
1
+ @import "pb_body/body";
2
+ @import "pb_button/button";
3
+ @import "pb_caption/caption";
4
+ @import "pb_card/card";
5
+ @import "pb_title/title";
6
+ @import "pb_vertical_nav/vertical_nav";
7
+ @import 'pb_avatar/avatar';
8
+ @import 'pb_badge/badge';
9
+ @import 'pb_bar_graph/bar_graph';
10
+ @import 'pb_checkbox/checkbox';
11
+ @import 'pb_contact/contact';
12
+ @import 'pb_currency/currency';
13
+ @import 'pb_dashboard_value/dashboard_value';
14
+ @import 'pb_date/date';
15
+ @import 'pb_date_range_inline/date_range_inline';
16
+ @import 'pb_date_year_stacked/date_year_stacked';
17
+ @import 'pb_distribution_bar/distribution_bar';
18
+ @import 'pb_fixed_confirmation_toast/fixed_confirmation_toast';
19
+ @import 'pb_hashtag/hashtag';
20
+ @import 'pb_home_address_street/home_address_street';
21
+ @import 'pb_icon/icon';
22
+ @import 'pb_icon_circle/icon_circle';
23
+ @import 'pb_icon_value/icon_value';
24
+ @import 'pb_image/image';
25
+ @import 'pb_input/input';
26
+ @import 'pb_label_pill/label_pill';
27
+ @import 'pb_label_value/label_value';
28
+ @import 'pb_layout/layout';
29
+ @import 'pb_line_graph/line_graph';
30
+ @import 'pb_list/list';
31
+ @import 'pb_loading_inline/loading_inline';
32
+ @import 'pb_message/message';
33
+ @import 'pb_online_status/online_status';
34
+ @import 'pb_person/person';
35
+ @import 'pb_person_contact/person_contact';
36
+ @import 'pb_pill/pill';
37
+ @import 'pb_progress_simple/progress_simple';
38
+ @import 'pb_section_separator/section_separator';
39
+ @import 'pb_source/source';
40
+ @import 'pb_star_rating/star_rating';
41
+ @import 'pb_stat_change/stat_change';
42
+ @import 'pb_stat_value/stat_value';
43
+ @import 'pb_table/table';
44
+ @import 'pb_time/time';
45
+ @import 'pb_timestamp/timestamp';
46
+ @import 'pb_title_count/title_count';
47
+ @import 'pb_title_detail/title_detail';
48
+ @import 'pb_toggle/toggle';
49
+ @import 'pb_user/user';
50
+ @import 'pb_user_badge/user_badge';
@@ -7,6 +7,7 @@ import Button from "./pb_button/_button.jsx"
7
7
  import Caption from "./pb_caption/_caption.jsx"
8
8
  import Card from "./pb_card/_card.jsx"
9
9
  import Checkbox from "./pb_checkbox/_checkbox.jsx"
10
+ import Contact from "./pb_contact/_contact.jsx"
10
11
  import Currency from "./pb_currency/_currency.jsx"
11
12
  import DashboardValue from "./pb_dashboard_value/_dashboard_value.jsx"
12
13
  import DateRangeInline from "./pb_date_range_inline/_date_range_inline.jsx"
@@ -29,9 +30,8 @@ import ListItem from "./pb_list/_list_item.jsx"
29
30
  import LoadingInline from "./pb_loading_inline/_loading_inline.jsx"
30
31
  import Message from "./pb_message/_message.jsx"
31
32
  import OnlineStatus from "./pb_online_status/_online_status.jsx"
32
- import Owner from "./pb_owner/_owner.jsx"
33
- import OwnerPhone from "./pb_owner_phone/_owner_phone.jsx"
34
- import Phone from "./pb_phone/_phone.jsx"
33
+ import Person from "./pb_person/_person.jsx"
34
+ import PersonContact from "./pb_person_contact/_person_contact.jsx"
35
35
  import Pill from "./pb_pill/_pill.jsx"
36
36
  import ProgressSimple from "./pb_progress_simple/_progress_simple.jsx"
37
37
  import SectionSeparator from "./pb_section_separator/_section_separator.jsx"
@@ -49,7 +49,7 @@ import UserBadge from "./pb_user_badge/_user_badge.jsx"
49
49
  import VerticalNav from "./pb_vertical_nav/_vertical_nav.jsx"
50
50
 
51
51
  // Dashboard Settings
52
- import commonSettings from "./pb_dashboard/commonSettings"
52
+ import { commonSettings, dataColors } from "./pb_dashboard/commonSettings"
53
53
  import lineGraphSettings from "./pb_line_graph/lineGraphSettings"
54
54
  import barGraphSettings from "./pb_bar_graph/barGraphSettings"
55
55
  import dashboardValueSettings from "./pb_dashboard_value/dashboardValueSettings"
@@ -67,6 +67,7 @@ export {
67
67
  Caption,
68
68
  Card,
69
69
  Checkbox,
70
+ Contact,
70
71
  Currency,
71
72
  DashboardValue,
72
73
  DateRangeInline,
@@ -89,9 +90,8 @@ export {
89
90
  LoadingInline,
90
91
  Message,
91
92
  OnlineStatus,
92
- Owner,
93
- OwnerPhone,
94
- Phone,
93
+ Person,
94
+ PersonContact,
95
95
  Pill,
96
96
  ProgressSimple,
97
97
  SectionSeparator,
@@ -107,9 +107,10 @@ export {
107
107
  User,
108
108
  UserBadge,
109
109
  VerticalNav,
110
- commonSettings,
111
- lineGraphSettings,
112
110
  barGraphSettings,
111
+ commonSettings,
113
112
  dashboardValueSettings,
113
+ dataColors,
114
+ lineGraphSettings,
114
115
  pbChart,
115
116
  }
@@ -0,0 +1,4 @@
1
+ import Contact from "../pb_contact/_contact.jsx";
2
+
3
+ import WebpackerReact from "webpacker-react";
4
+ WebpackerReact.setup({ Contact });
@@ -0,0 +1,4 @@
1
+ import Person from "../pb_person/_person.jsx";
2
+
3
+ import WebpackerReact from "webpacker-react";
4
+ WebpackerReact.setup({ Person });
@@ -0,0 +1,4 @@
1
+ import PersonContact from "../pb_person_contact/_person_contact.jsx";
2
+
3
+ import WebpackerReact from "webpacker-react";
4
+ WebpackerReact.setup({ PersonContact });
@@ -1,5 +1,5 @@
1
- import "../../../../fonts/fontawesome.js"
2
- import "../../../../fonts/regular.js"
1
+ import "../../../../fonts/fontawesome.min.js"
2
+ import "../../../../fonts/regular.min.js"
3
3
  import "./main.scss"
4
4
  import "./kits.js"
5
5
  import "../vendor.js"
@@ -11,4 +11,4 @@ $(document).on("click", "[data-toggle]", function(e) {
11
11
  var toggle_target = $(this).data('toggle')
12
12
  $(kit_container).find('[data-action="toggle"]').hide()
13
13
  $(kit_container).find('[data-togglable="'+toggle_target+'"]').show()
14
- })
14
+ })
@@ -6,152 +6,110 @@
6
6
 
7
7
  import WebpackerReact from "webpacker-react";
8
8
 
9
- import * as body from "pb_body/docs";
10
- WebpackerReact.setup (body);
9
+ //
10
+ // ===========================================
11
+ // ===========================================
12
+ // Generated file from kit generator.
13
+ // KIT EXAMPLES
11
14
 
15
+ import * as avatar from "pb_avatar/docs";
16
+ import * as Badge from "pb_badge/docs";
17
+ import * as BarGraph from "pb_bar_graph/docs";
18
+ import * as body from "pb_body/docs";
12
19
  import * as button from "pb_button/docs";
13
- WebpackerReact.setup (button);
14
-
15
20
  import * as caption from "pb_caption/docs";
16
- WebpackerReact.setup (caption);
17
-
18
21
  import * as card from "pb_card/docs";
19
- WebpackerReact.setup (card);
20
-
22
+ import * as Checkbox from "pb_checkbox/docs";
23
+ import * as Contact from "pb_contact/docs";
24
+ import * as Currency from "pb_currency/docs";
25
+ import * as DashboardValue from "pb_dashboard_value/docs";
26
+ import * as Date from "pb_date/docs";
27
+ import * as DateRangeInline from "pb_date_range_inline/docs";
28
+ import * as DateYearStacked from "pb_date_year_stacked/docs";
29
+ import * as DistributionBar from "pb_distribution_bar/docs";
30
+ import * as FixedConfirmationToast from "pb_fixed_confirmation_toast/docs";
31
+ import * as Hashtag from "pb_hashtag/docs";
32
+ import * as HomeAddressStreet from "pb_home_address_street/docs";
33
+ import * as Icon from "pb_icon/docs";
34
+ import * as IconCircle from "pb_icon_circle/docs";
35
+ import * as IconValue from "pb_icon_value/docs";
21
36
  import * as image from "pb_image/docs";
22
- WebpackerReact.setup (image);
23
-
37
+ import * as input from "pb_input/docs";
38
+ import * as LabelPill from "pb_label_pill/docs";
39
+ import * as LabelValue from "pb_label_value/docs";
24
40
  import * as layout from "pb_layout/docs";
25
- WebpackerReact.setup (layout);
26
-
41
+ import * as LineGraph from "pb_line_graph/docs";
27
42
  import * as list from "pb_list/docs";
28
- WebpackerReact.setup (list);
29
-
43
+ import * as LoadingInline from "pb_loading_inline/docs";
44
+ import * as Message from "pb_message/docs";
45
+ import * as OnlineStatus from "pb_online_status/docs";
46
+ import * as Person from "pb_person/docs";
47
+ import * as PersonContact from "pb_person_contact/docs";
48
+ import * as Pill from "pb_pill/docs";
49
+ import * as ProgressSimple from "pb_progress_simple/docs";
50
+ import * as SectionSeparator from "pb_section_separator/docs";
51
+ import * as Source from "pb_source/docs";
52
+ import * as StarRating from "pb_star_rating/docs";
53
+ import * as StatChange from "pb_stat_change/docs";
54
+ import * as StatValue from "pb_stat_value/docs";
30
55
  import * as table from "pb_table/docs";
31
- WebpackerReact.setup (table);
32
-
56
+ import * as Time from "pb_time/docs";
57
+ import * as Timestamp from "pb_timestamp/docs";
33
58
  import * as title from "pb_title/docs";
34
- WebpackerReact.setup (title);
35
-
59
+ import * as TitleCount from "pb_title_count/docs";
60
+ import * as TitleDetail from "pb_title_detail/docs";
61
+ import * as Toggle from "pb_toggle/docs";
62
+ import * as User from "pb_user/docs";
63
+ import * as UserBadge from "pb_user_badge/docs";
36
64
  import * as vertical_nav from "pb_vertical_nav/docs";
37
- WebpackerReact.setup (vertical_nav);
38
65
 
39
- import * as avatar from "pb_avatar/docs";
40
66
  WebpackerReact.setup (avatar);
41
-
42
- import * as input from "pb_input/docs";
43
- WebpackerReact.setup (input);
44
-
45
- import * as BarGraph from "pb_bar_graph/docs";
67
+ WebpackerReact.setup (Badge);
46
68
  WebpackerReact.setup (BarGraph);
47
-
48
- import * as LineGraph from "pb_line_graph/docs";
49
- WebpackerReact.setup (LineGraph);
50
-
51
- import * as Icon from "pb_icon/docs";
52
- WebpackerReact.setup (Icon);
53
-
54
- import * as DashboardValue from "pb_dashboard_value/docs";
69
+ WebpackerReact.setup (body);
70
+ WebpackerReact.setup (button);
71
+ WebpackerReact.setup (caption);
72
+ WebpackerReact.setup (card);
73
+ WebpackerReact.setup (Checkbox);
74
+ WebpackerReact.setup (Contact);
75
+ WebpackerReact.setup (Currency);
55
76
  WebpackerReact.setup (DashboardValue);
56
-
57
- import * as Time from "pb_time/docs";
58
- WebpackerReact.setup (Time);
59
-
60
- import * as Pill from "pb_pill/docs";
61
- WebpackerReact.setup (Pill);
62
-
63
- import * as UserBadge from "pb_user_badge/docs";
64
- WebpackerReact.setup (UserBadge);
65
-
66
- import * as Date from "pb_date/docs";
67
77
  WebpackerReact.setup (Date);
68
-
69
- import * as TitleDetail from "pb_title_detail/docs";
70
- WebpackerReact.setup (TitleDetail);
71
-
72
- import * as IconCircle from "pb_icon_circle/docs";
78
+ WebpackerReact.setup (DateRangeInline);
79
+ WebpackerReact.setup (DateYearStacked);
80
+ WebpackerReact.setup (DistributionBar);
81
+ WebpackerReact.setup (FixedConfirmationToast);
82
+ WebpackerReact.setup (Hashtag);
83
+ WebpackerReact.setup (HomeAddressStreet);
84
+ WebpackerReact.setup (Icon);
73
85
  WebpackerReact.setup (IconCircle);
74
-
75
- import * as IconValue from "pb_icon_value/docs";
76
86
  WebpackerReact.setup (IconValue);
77
-
78
- import * as StarRating from "pb_star_rating/docs";
79
- WebpackerReact.setup (StarRating);
80
-
81
- import * as ProgressSimple from "pb_progress_simple/docs";
82
- WebpackerReact.setup (ProgressSimple);
83
-
84
- import * as TitleCount from "pb_title_count/docs";
85
- WebpackerReact.setup (TitleCount);
86
-
87
- import * as User from "pb_user/docs";
88
- WebpackerReact.setup (User);
89
-
90
- import * as LabelValue from "pb_label_value/docs";
87
+ WebpackerReact.setup (image);
88
+ WebpackerReact.setup (input);
89
+ WebpackerReact.setup (LabelPill);
91
90
  WebpackerReact.setup (LabelValue);
92
-
93
- import * as Message from "pb_message/docs";
91
+ WebpackerReact.setup (layout);
92
+ WebpackerReact.setup (LineGraph);
93
+ WebpackerReact.setup (list);
94
+ WebpackerReact.setup (LoadingInline);
94
95
  WebpackerReact.setup (Message);
95
-
96
- import * as Timestamp from "pb_timestamp/docs";
97
- WebpackerReact.setup (Timestamp);
98
-
99
- import * as OnlineStatus from "pb_online_status/docs";
100
96
  WebpackerReact.setup (OnlineStatus);
101
-
102
- import * as Source from "pb_source/docs";
97
+ WebpackerReact.setup (Person);
98
+ WebpackerReact.setup (PersonContact);
99
+ WebpackerReact.setup (Pill);
100
+ WebpackerReact.setup (ProgressSimple);
101
+ WebpackerReact.setup (SectionSeparator);
103
102
  WebpackerReact.setup (Source);
104
-
105
- import * as LabelPill from "pb_label_pill/docs";
106
- WebpackerReact.setup (LabelPill);
107
-
108
- import * as Phone from "pb_phone/docs";
109
- WebpackerReact.setup (Phone);
110
-
111
- import * as OwnerPhone from "pb_owner_phone/docs";
112
- WebpackerReact.setup (OwnerPhone);
113
-
114
- import * as Owner from "pb_owner/docs";
115
- WebpackerReact.setup (Owner);
116
-
117
- import * as Toggle from "pb_toggle/docs";
118
- WebpackerReact.setup (Toggle);
119
-
120
- import * as StatValue from "pb_stat_value/docs";
121
- WebpackerReact.setup (StatValue);
122
-
123
- import * as StatChange from "pb_stat_change/docs";
103
+ WebpackerReact.setup (StarRating);
124
104
  WebpackerReact.setup (StatChange);
125
-
126
- import * as SectionSeparator from "pb_section_separator/docs";
127
- WebpackerReact.setup (SectionSeparator);
128
-
129
- import * as Currency from "pb_currency/docs";
130
- WebpackerReact.setup (Currency);
131
-
132
- import * as FixedConfirmationToast from "pb_fixed_confirmation_toast/docs";
133
- WebpackerReact.setup (FixedConfirmationToast);
134
-
135
- import * as LoadingInline from "pb_loading_inline/docs";
136
- WebpackerReact.setup (LoadingInline);
137
-
138
- import * as Checkbox from "pb_checkbox/docs";
139
- WebpackerReact.setup (Checkbox);
140
-
141
- import * as HomeAddressStreet from "pb_home_address_street/docs";
142
- WebpackerReact.setup (HomeAddressStreet);
143
-
144
- import * as Badge from "pb_badge/docs";
145
- WebpackerReact.setup (Badge);
146
-
147
- import * as DateYearStacked from "pb_date_year_stacked/docs";
148
- WebpackerReact.setup (DateYearStacked);
149
-
150
- import * as DateRangeInline from "pb_date_range_inline/docs";
151
- WebpackerReact.setup (DateRangeInline);
152
-
153
- import * as DistributionBar from "pb_distribution_bar/docs";
154
- WebpackerReact.setup (DistributionBar);
155
-
156
- import * as Hashtag from "pb_hashtag/docs";
157
- WebpackerReact.setup (Hashtag);
105
+ WebpackerReact.setup (StatValue);
106
+ WebpackerReact.setup (table);
107
+ WebpackerReact.setup (Time);
108
+ WebpackerReact.setup (Timestamp);
109
+ WebpackerReact.setup (title);
110
+ WebpackerReact.setup (TitleCount);
111
+ WebpackerReact.setup (TitleDetail);
112
+ WebpackerReact.setup (Toggle);
113
+ WebpackerReact.setup (User);
114
+ WebpackerReact.setup (UserBadge);
115
+ WebpackerReact.setup (vertical_nav);